From 6abb0331c3dd234108c02e905764aae62ea156c1 Mon Sep 17 00:00:00 2001 From: Mihail Ivanchev Date: Thu, 21 Mar 2024 15:40:54 +0100 Subject: [PATCH 01/10] New package: cl-alexandria-1.4 --- srcpkgs/cl-alexandria/patches/run-tests.patch | 13 +++++++ srcpkgs/cl-alexandria/template | 35 +++++++++++++++++++ 2 files changed, 48 insertions(+) create mode 100644 srcpkgs/cl-alexandria/patches/run-tests.patch create mode 100644 srcpkgs/cl-alexandria/template diff --git a/srcpkgs/cl-alexandria/patches/run-tests.patch b/srcpkgs/cl-alexandria/patches/run-tests.patch new file mode 100644 index 00000000000000..65299e3fc44b49 --- /dev/null +++ b/srcpkgs/cl-alexandria/patches/run-tests.patch @@ -0,0 +1,13 @@ +diff --git a/alexandria-tests.asd b/alexandria-tests.asd +index 6b785d3..fa0bb88 100644 +--- a/alexandria-tests.asd ++++ b/alexandria-tests.asd +@@ -8,5 +8,6 @@ + :perform (test-op (o c) + (flet ((run-tests (&rest args) + (apply (intern (string '#:run-tests) '#:alexandria-tests) args))) +- (run-tests :compiled nil) +- (run-tests :compiled t)))) ++ (unless (and (run-tests :compiled nil) ++ (run-tests :compiled t)) ++ (error "Some tests failed."))))) diff --git a/srcpkgs/cl-alexandria/template b/srcpkgs/cl-alexandria/template new file mode 100644 index 00000000000000..a1784d4a4345d4 --- /dev/null +++ b/srcpkgs/cl-alexandria/template @@ -0,0 +1,35 @@ +# Template file for 'cl-alexandria' +pkgname=cl-alexandria +version=1.4 +revision=1 +makedepends="texlive texinfo sbcl tar" +short_desc="Common Lisp utility library" +maintainer="Mihail Ivanchev " +license="Public Domain" +homepage="https://alexandria.common-lisp.dev/" +distfiles="https://gitlab.common-lisp.net/alexandria/alexandria/-/archive/v${version}/alexandria-v${version}.tar.gz" +checksum=0512aec38d054a20daa66e9983cf8a98151582d7e2307e49e8c1b4a61bbb779a + +_LIBRARY_DIR=usr/share/common-lisp/source/alexandria + +do_check() { + sbcl --non-interactive \ + --eval '(require "asdf")' \ + --eval "(push #p\"${wrksrc}/\" asdf:*central-registry*)" \ + --eval '(asdf:test-system "alexandria-tests")' +} + +do_build() { + make -C doc html info pdf +} + +do_install() { + vmkdir $_LIBRARY_DIR + vcopy alexandria-1 $_LIBRARY_DIR + vcopy alexandria-2 $_LIBRARY_DIR + vcopy alexandria.asd $_LIBRARY_DIR + vinstall doc/alexandria.info 644 usr/share/info + vdoc doc/alexandria.pdf + vdoc doc/alexandria.html + vlicense LICENCE +} From bee4c9c7a5f06416137cc43801ba719fc3802055 Mon Sep 17 00:00:00 2001 From: Mihail Ivanchev Date: Thu, 21 Mar 2024 18:18:58 +0100 Subject: [PATCH 02/10] New package: cl-trivial-gray-streams-20240217 --- srcpkgs/cl-trivial-gray-streams/template | 52 ++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 srcpkgs/cl-trivial-gray-streams/template diff --git a/srcpkgs/cl-trivial-gray-streams/template b/srcpkgs/cl-trivial-gray-streams/template new file mode 100644 index 00000000000000..a95c0f73691f4f --- /dev/null +++ b/srcpkgs/cl-trivial-gray-streams/template @@ -0,0 +1,52 @@ +# Template file for 'cl-trivial-gray-streams' +pkgname=cl-trivial-gray-streams +# +# NOTE: trivial-gray-streams doesn't tag versions so we use the date as a +# version and the last commit for that date UTC. +# +# According to this discsion: +# +# https://github.com/trivial-gray-streams/trivial-gray-streams/issues/15 +# +# every push to master is a release. +# +_src_date=20240217 +_src_hash=a7ead683666849762ea657dac9137d693c5a4929 +version=20240217 +revision=1 +checkdepends="sbcl" +short_desc="Portability library for CL gray streams" +maintainer="Mihail Ivanchev " +license="MIT" +homepage="https://github.com/trivial-gray-streams/trivial-gray-streams.git" +distfiles="https://github.com/trivial-gray-streams/trivial-gray-streams/archive/${_src_hash}.tar.gz" +checksum=0b3734561620a27f42e7960312282d732ff6313278db18aa376450a15a8ce8e6 + +if [ "$version" != "${_src_date}" ]; then + echo "Version not equal to ${_src_date}, must be " 2>&1 + echo "updated manually." 2>&1 + exit 1 +fi + +_LIBRARY_DIR=usr/share/common-lisp/source/trivial-gray-streams + +do_check() { + # According to the author, the failure in stream-advance-to-column + # currently happens across all LISP implementations and is expected. + # See: https://github.com/trivial-gray-streams/trivial-gray-streams/issues/16 + sbcl --non-interactive \ + --eval '(require "asdf")' \ + --eval "(push #p\"${wrksrc}/\" asdf:*central-registry*)" \ + --eval '(asdf:load-system "trivial-gray-streams-test")' \ + --eval '(in-package :trivial-gray-streams-test)' \ + --eval '(when (not (equal (list "stream-advance-to-column") + (failed-test-names (run-tests)))) + (uiop:quit 1))' +} + +do_install() { + vmkdir $_LIBRARY_DIR + vcopy *.lisp $_LIBRARY_DIR + vcopy trivial-gray-streams.asd $_LIBRARY_DIR + vlicense COPYING +} From 8cd457b39040c3a15ae4209f091070c451330514 Mon Sep 17 00:00:00 2001 From: Mihail Ivanchev Date: Thu, 21 Mar 2024 18:47:29 +0100 Subject: [PATCH 03/10] New package: cl-fiasco-20200514 --- srcpkgs/cl-fiasco/template | 53 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 srcpkgs/cl-fiasco/template diff --git a/srcpkgs/cl-fiasco/template b/srcpkgs/cl-fiasco/template new file mode 100644 index 00000000000000..bd78bf218550a6 --- /dev/null +++ b/srcpkgs/cl-fiasco/template @@ -0,0 +1,53 @@ +# Template file for 'cl-fiasco' +pkgname=cl-fiasco +# +# NOTE: fiasco doesn't tag versions so we use the date as a +# version and the last commit for that date UTC. +# +_src_date=20200514 +_src_hash=bb47d2fef4eb24cc16badc1c9a73d73c3a7e18f5 +# +# The version of value should be dynamically computed but this is rejected by +# the linter so instead we set it manually and later check for equality. +# +version=20200514 +revision=1 +depends="cl-alexandria cl-trivial-gray-streams" +checkdepends="sbcl ${depends}" +short_desc="Test framework for Common Lisp" +maintainer="Mihail Ivanchev " +license="Public Domain" +homepage="https://github.com/joaotavora/fiasco.git" +distfiles="https://github.com/joaotavora/fiasco/archive/${_src_hash}.tar.gz" +checksum=070879b496f78b1048d4533b05a6e13dc1f6711da55f2f35e5d56e1cec92220c + +if [ "$version" != "${_src_date}" ]; then + echo "Version not equal to ${_src_date}.${_src_hash}, must be " 2>&1 + echo "updated manually." 2>&1 + exit 1 +fi + +_LIBRARY_DIR=usr/share/common-lisp/source/fiasco + +do_check() { + # Taken out of .travis.yml + sbcl --non-interactive \ + --eval '(require "asdf")' \ + --eval "(push #p\"${wrksrc}/\" asdf:*central-registry*)" \ + --eval '(asdf:load-system "fiasco")' \ + --eval '(asdf:load-system "fiasco-self-tests")' \ + --eval "(unless (fiasco:run-tests + (quote (:fiasco-basic-self-tests + :fiasco-intro-example + :fiasco-suite-tests + ))) + (uiop:quit 1))" +} + +do_install() { + vmkdir $_LIBRARY_DIR + vcopy src $_LIBRARY_DIR + vcopy test $_LIBRARY_DIR + vcopy fiasco.asd $_LIBRARY_DIR + vlicense LICENCE +} From 7d9bfe79b0f3ae40f4bc523f628572ca5262f95b Mon Sep 17 00:00:00 2001 From: Mihail Ivanchev Date: Thu, 21 Mar 2024 19:02:59 +0100 Subject: [PATCH 04/10] New package: cl-flexi-streams-1.0.20 --- srcpkgs/cl-flexi-streams/template | 37 +++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 srcpkgs/cl-flexi-streams/template diff --git a/srcpkgs/cl-flexi-streams/template b/srcpkgs/cl-flexi-streams/template new file mode 100644 index 00000000000000..198d7969cf54b4 --- /dev/null +++ b/srcpkgs/cl-flexi-streams/template @@ -0,0 +1,37 @@ +# Template file for 'cl-flexi-streams' +pkgname=cl-flexi-streams +version=1.0.20 +revision=1 +depends="cl-trivial-gray-streams" +checkdepends="sbcl ${depends}" +short_desc="Flexible bivalent streams for Common Lisp" +maintainer="Mihail Ivanchev " +license="BSD-2-Clause" +homepage="https://github.com/edicl/flexi-streams.git" +distfiles="https://github.com/edicl/flexi-streams/archive/refs/tags/v${version}.tar.gz" +checksum=8ebb0226e3748529564bc564e4012912b7dc2326d73c06eb41b5d0d07a60b538 + +_LIBRARY_DIR=usr/share/common-lisp/source/flexi-streams + +do_check() { + sbcl --non-interactive \ + --eval '(require "asdf")' \ + --eval "(push #p\"${wrksrc}/\" asdf:*central-registry*)" \ + --eval '(asdf:find-system "flexi-streams")' \ + --eval '(asdf:load-system "flexi-streams-test")' \ + --eval '(unless (flexi-streams-test:run-all-tests) + (uiop:quit 1))' +} + +do_install() { + vmkdir $_LIBRARY_DIR + vcopy *.lisp $_LIBRARY_DIR + vcopy flexi-streams.asd $_LIBRARY_DIR + vdoc docs/index.html + # NOTE: Manually check license after this before submitting an update! + sed -n "4,28p" ascii.lisp | cut -c 5- > COPYING + # Print copyright notice to stdout for visual inspection + # in the build jobs. + cat COPYING + vlicense COPYING +} From 08c16836ea8c0f9dec1ee448118596855b2d28e8 Mon Sep 17 00:00:00 2001 From: Mihail Ivanchev Date: Fri, 22 Mar 2024 16:59:31 +0100 Subject: [PATCH 05/10] New package: cl-ppcre-2.1.1 --- srcpkgs/cl-ppcre-unicode | 1 + srcpkgs/cl-ppcre/template | 57 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 58 insertions(+) create mode 120000 srcpkgs/cl-ppcre-unicode create mode 100644 srcpkgs/cl-ppcre/template diff --git a/srcpkgs/cl-ppcre-unicode b/srcpkgs/cl-ppcre-unicode new file mode 120000 index 00000000000000..ca696f5b7df03e --- /dev/null +++ b/srcpkgs/cl-ppcre-unicode @@ -0,0 +1 @@ +cl-ppcre \ No newline at end of file diff --git a/srcpkgs/cl-ppcre/template b/srcpkgs/cl-ppcre/template new file mode 100644 index 00000000000000..b48cac1b50d584 --- /dev/null +++ b/srcpkgs/cl-ppcre/template @@ -0,0 +1,57 @@ +# Template file for 'cl-ppcre' +pkgname=cl-ppcre +version=2.1.1 +revision=1 +depends="cl-flexi-streams" +checkdepends="sbcl ${depends}" +short_desc="Common Lisp regular expression library" +maintainer="Mihail Ivanchev " +license="BSD-2-Clause" +homepage="https://edicl.github.io/cl-ppcre/" +distfiles=" https://github.com/edicl/cl-ppcre/archive/refs/tags/v${version}.tar.gz" +checksum="89631179b71648d9e6c565a928f6896a9d5742aa2083b9c1b705fe0b45d85def" + +# NOTE: +# +# cl-ppcre-unicode is maintained as a separate package due to a circular +# dependency on cl-unicode. +# + +_LIBRARY_DIR=usr/share/common-lisp/source/cl-ppcre + +post_extract() { + rm "${wrksrc}/test/unicodetestdata" + rm "${wrksrc}/test/unicode-tests.lisp" +} + +do_check() { + sbcl --non-interactive \ + --eval '(require "asdf")' \ + --eval "(push #p\"${wrksrc}/\" asdf:*central-registry*)" \ + --eval '(asdf:find-system "cl-ppcre")' \ + --eval '(asdf:load-system "cl-ppcre-test")' \ + --eval "(unless (cl-ppcre-test:run-all-tests) + (uiop:quit 1))" +} + +do_install() { + vmkdir $_LIBRARY_DIR + vcopy test $_LIBRARY_DIR + vcopy *.lisp $_LIBRARY_DIR + vcopy cl-ppcre.asd $_LIBRARY_DIR + vdoc docs/index.html + # NOTE: Manually check license after this before submitting an update! + # Also, the master branch includes a LICENSE file so it'd + # probably end up in an upcoming release. + if [ ! -f LICENSE ]; then + sed -n "6,30p" api.lisp | cut -c 5- > COPYING + # Print copyright info to stdout for visual inspection + # in the build jobs. + cat COPYING + vlicense COPYING + else + echo -n "This if statement is no longer necessary because " 1>&2 + echo "a LICENSE file is present and can be used." 1>&2 + exit 1 + fi +} From 2d4430f678d7352b0f35eecd0292663b796e5b9d Mon Sep 17 00:00:00 2001 From: Mihail Ivanchev Date: Sat, 23 Mar 2024 09:39:00 +0100 Subject: [PATCH 06/10] New package: cl-ppcre-unicode-2.1.1 --- srcpkgs/cl-ppcre-unicode | 1 - srcpkgs/cl-ppcre-unicode/template | 56 +++++++++++++++++++++++++++++++ 2 files changed, 56 insertions(+), 1 deletion(-) delete mode 120000 srcpkgs/cl-ppcre-unicode create mode 100644 srcpkgs/cl-ppcre-unicode/template diff --git a/srcpkgs/cl-ppcre-unicode b/srcpkgs/cl-ppcre-unicode deleted file mode 120000 index ca696f5b7df03e..00000000000000 --- a/srcpkgs/cl-ppcre-unicode +++ /dev/null @@ -1 +0,0 @@ -cl-ppcre \ No newline at end of file diff --git a/srcpkgs/cl-ppcre-unicode/template b/srcpkgs/cl-ppcre-unicode/template new file mode 100644 index 00000000000000..d347cd7223ce04 --- /dev/null +++ b/srcpkgs/cl-ppcre-unicode/template @@ -0,0 +1,56 @@ +# Template file for 'cl-ppcre-unicode' +pkgname=cl-ppcre-unicode +version=2.1.1 +revision=1 +depends="cl-ppcre cl-unicode" +checkdepends="sbcl cl-ppcre cl-unicode" +short_desc="Common Lisp regular expression library (Unicode property support)" +maintainer="Mihail Ivanchev " +license="BSD-2-Clause" +homepage="https://edicl.github.io/cl-ppcre/" +distfiles=" https://github.com/edicl/cl-ppcre/archive/refs/tags/v${version}.tar.gz" +checksum=89631179b71648d9e6c565a928f6896a9d5742aa2083b9c1b705fe0b45d85def + +# NOTE: +# +# This is a separate package from cl-ppcre due to a circular dependency on +# cl-unicode. +# + +_LIBRARY_DIR=usr/share/common-lisp/source/cl-ppcre-unicode + +do_check() { + sbcl --non-interactive \ + --eval '(require "asdf")' \ + --eval "(push #p\"${wrksrc}/\" asdf:*central-registry*)" \ + --eval '(asdf:find-system "cl-ppcre")' \ + --eval '(asdf:load-system "cl-ppcre-test")' \ + --eval '(asdf:find-system "cl-ppcre-unicode")' \ + --eval '(asdf:load-system "cl-ppcre-unicode-test")' \ + --eval "(unless (cl-ppcre-test:run-all-tests :more-tests 'cl-ppcre-test:unicode-test) + (uiop:quit 1))" +} + +do_install() { + vmkdir $_LIBRARY_DIR + vmkdir $_LIBRARY_DIR/test + vcopy test/unicode-tests.lisp $_LIBRARY_DIR/test + vcopy test/unicodetestdata $_LIBRARY_DIR/test + vcopy cl-ppcre-unicode $_LIBRARY_DIR + vcopy cl-ppcre-unicode.asd $_LIBRARY_DIR + vdoc docs/index.html + # NOTE: Manually check license after this before submitting an update! + # Also, the master branch includes a LICENSE file so it'd + # probably end up in an upcoming release. + if [ ! -f LICENSE ]; then + sed -n "6,30p" api.lisp | cut -c 5- > COPYING + # Print copyright info to stdout for visual inspection + # in the build jobs. + cat COPYING + vlicense COPYING + else + echo -n "This if statement is no longer necessary because " 1>&2 + echo "a LICENSE file is present and can be used." 1>&2 + exit 1 + fi +} From 1256e1f341d82b8dc2e6f0af670d558dd58b0e09 Mon Sep 17 00:00:00 2001 From: Mihail Ivanchev Date: Sat, 23 Mar 2024 09:46:43 +0100 Subject: [PATCH 07/10] New package: cl-unicode-0.1.6 --- srcpkgs/cl-unicode/template | 50 +++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 srcpkgs/cl-unicode/template diff --git a/srcpkgs/cl-unicode/template b/srcpkgs/cl-unicode/template new file mode 100644 index 00000000000000..ec170f197a6641 --- /dev/null +++ b/srcpkgs/cl-unicode/template @@ -0,0 +1,50 @@ +# Template file for 'cl-unicode' +pkgname=cl-unicode +version=0.1.6 +revision=1 +makedepends="sbcl cl-flexi-streams cl-ppcre" +depends="cl-ppcre" +short_desc="Portable Unicode library for Common Lisp" +maintainer="Mihail Ivanchev " +license="BSD-2-Clause" +homepage="https://github.com/edicl/cl-unicode.git" +distfiles="https://github.com/edicl/cl-unicode/archive/refs/tags/v${version}.tar.gz" +checksum=97166b51a4e1e4251393df1c7bea80cde783d1771fb6f7aa2a69665ce37fbbfd + +_LIBRARY_DIR=usr/share/common-lisp/source/cl-unicode + +# do_check() { + # Taken out of .travis.yml + # + # Sadly in 0.1.6 the tests are expected to fail because of missing + # properties. This is fixed on master so uncomment this ocde + # once a new version is released. + # + # sbcl --non-interactive \ + # --eval '(require "asdf")' \ + # --eval "(push #p\"${wrksrc}/\" asdf:*central-registry*)" \ + # --eval '(asdf:load-system "cl-unicode/test")' \ + # --eval '(uiop:quit (if (cl-unicode-test:run-all-tests) + # 0 1))' +# } + +do_build() { + sbcl --non-interactive \ + --eval '(require "asdf")' \ + --eval "(push #p\"${wrksrc}/\" asdf:*central-registry*)" \ + --eval '(asdf:load-system "cl-unicode/build")' +} + +do_install() { + vmkdir $_LIBRARY_DIR + vcopy test $_LIBRARY_DIR + vcopy *.lisp $_LIBRARY_DIR + vcopy cl-unicode.asd $_LIBRARY_DIR + vdoc docs/index.html + # NOTE: Manually check license after this before submitting an update! + sed -n "4,28p" alias.lisp | cut -c 5- > COPYING + # Print conatenated copyright notices to stdout to inspect visually + # in the build jobs. + cat COPYING + vlicense COPYING +} From a933c7ba884dc6422ba9c1046ef9cdac877e2fdb Mon Sep 17 00:00:00 2001 From: Mihail Ivanchev Date: Sat, 23 Mar 2024 10:04:41 +0100 Subject: [PATCH 08/10] New package: cl-clx-0.7.5 --- srcpkgs/cl-clx/template | 135 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 135 insertions(+) create mode 100644 srcpkgs/cl-clx/template diff --git a/srcpkgs/cl-clx/template b/srcpkgs/cl-clx/template new file mode 100644 index 00000000000000..4c9af9ac221e4e --- /dev/null +++ b/srcpkgs/cl-clx/template @@ -0,0 +1,135 @@ +# Template file for 'cl-clx' +pkgname=cl-clx +version=0.7.6 +revision=1 +hostmakedepends="texinfo" +checkdepends="xvfb-run sbcl cl-fiasco" +short_desc="X11 client for Common Lisp" +maintainer="Mihail Ivanchev " +license="MIT, Public Domain, custom:COFFEEWARE" +homepage="https://github.com/sharplispers/clx" +distfiles="https://github.com/sharplispers/clx/archive/refs/tags/${version}.tar.gz" +checksum=bcc9cd736e7e28ec2b8085ce1c9686e02ffbee9257e1072f5c4fc393e33467e8 + +_LIBRARY_DIR=usr/share/common-lisp/source/clx + +do_check() { + xvfb-run sbcl --non-interactive \ + --eval '(require "asdf")' \ + --eval "(push #p\"${wrksrc}/\" asdf:*central-registry*)" \ + --eval '(asdf:load-system "clx/test")' \ + --eval '(unless (uiop:symbol-call :fiasco :run-tests :xlib-test) + (uiop:quit 1))' +} + +do_build() { + makeinfo manual/clx.texinfo +} + +do_install() { + vmkdir $_LIBRARY_DIR + vmkdir $_LIBRARY_DIR/manual + vcopy extensions $_LIBRARY_DIR + vcopy manual/clx.texinfo $_LIBRARY_DIR/manual + vcopy debug $_LIBRARY_DIR + vcopy demo $_LIBRARY_DIR + vcopy tests $_LIBRARY_DIR + vcopy *.asd $_LIBRARY_DIR + vcopy *.lisp $_LIBRARY_DIR + vcopy *.c $_LIBRARY_DIR + vcopy CHANGES $_LIBRARY_DIR + vcopy README.md $_LIBRARY_DIR + vcopy README-R5 $_LIBRARY_DIR + vcopy exclMakefile $_LIBRARY_DIR + vcopy exclREADME $_LIBRARY_DIR + vinstall manual/clx.texinfo 644 usr/share/info + + # Portions Copyright (C) 1987 Texas Instruments Incorporated. + # Portions Copyright (C) 1988, 1989 Franz Inc, Berkeley, Ca. + sed -n "5,21p" clx.asd | cut -c 5- > COPYING + echo "===============================================================" >> COPYING + + # Copyright (C) 1987 Texas Instruments Incorporated. + sed -n '5,19p' demo/zoid.lisp | cut -c 5- >> COPYING + echo "===============================================================" >> COPYING + + # Copyright (C) 1987, 1989 Massachussetts Institute of Technology + sed -n "5,14p" sockcl.lisp | cut -c 5- >> COPYING + echo "===============================================================" >> COPYING + + # Copyright (C) Digital Equipment Corporation, 1996 + sed -n "6,14p" extensions/dpms.lisp | cut -c 7- >> COPYING + echo "===============================================================" >> COPYING + + # Copyright (c) 2004, Christophe Rhodes + sed -n "40,60p" demo/clipboard.lisp | cut -c 5- >> COPYING + echo "===============================================================" >> COPYING + + # (c) copyright 2014 by Johannes Martinez + sed -n "7,18p" extensions/randr.lisp | cut -c 5- >> COPYING + echo "===============================================================" >> COPYING + + # (c) copyright 1999 by Gilbert Baumann + sed -n "7,18p" extensions/shape.lisp | cut -c 5- >> COPYING + echo "===============================================================" >> COPYING + + # Copyright (c) 1987, 1988, 1989 Franz Inc, Berkeley, Ca. + sed -n "4,14p" excldep.lisp | cut -c 5- >> COPYING + echo "===============================================================" >> COPYING + + # Copyright (C) 2008, Julian Stecklina + sed -n "2,9p" extensions/xinerama.lisp | cut -c 5- >> COPYING + echo "===============================================================" >> COPYING + + # Copyright (C) 1990 Symbolics, Inc. + sed -n "3,11p" generalock.lisp | cut -c 5- >> COPYING + echo "===============================================================" >> COPYING + + # (c) copyright 2002, 2003 by Gilbert Baumann + # (c) copyright 2002 by Christian Sunesson + sed -n "8,20p" extensions/xrender.lisp | cut -c 5- >> COPYING + echo "===============================================================" >> COPYING + + # (c) copyright 2005 by Istvan Marko + sed -n "7,18p" extensions/screensaver.lisp | cut -c 5- >> COPYING + echo "===============================================================" >> COPYING + + # (c) copyright 2006 Richard Kreuter + # (c) copyright 2007 by Christophe Rhodes + sed -n "3,13p" extensions/big-requests.lisp | cut -c 5- >> COPYING + echo "===============================================================" >> COPYING + + # Copyright Massachusetts Institute of Technology 1988 + head -n 1 socket.c >> COPYING + echo "===============================================================" >> COPYING + + # (c) copyright 2003 by Iban Hatchondo + sed -n "7,18p" extensions/xvidmode.lisp | cut -c 5- >> COPYING + echo "===============================================================" >> COPYING + + # Copyright (C) 1988 Michael O. Newton (newton@csvax.caltech.edu) + sed -n "827,832p" demo/clx-demos.lisp | cut -c 5- >> COPYING + echo "===============================================================" >> COPYING + + # Copyright 1990 Massachusetts Institute of Technology, Cambridge, + sed -n "3,12p" package.lisp | cut -c 5- >> COPYING + echo "===============================================================" >> COPYING + + # Copyright (C) 1988 Texas Instruments Incorporated. + sed -n "3,17p" demo/menu.lisp | cut -c 5- >> COPYING + echo "===============================================================" >> COPYING + + # Public domain: Scott Fahlman + sed -n "4,7p" cmudep.lisp | cut -c 5- >> COPYING + echo "===============================================================" >> COPYING + + # Public domain: Lionel Flandrin + sed -n "6,7p" extensions/xtest.lisp | cut -c 5- >> COPYING + + # Print conatenated copyright notices to for visual inspection + # in the build jobs. + cat COPYING + + vlicense COPYING + vlicense LICENSE +} From a12f3d45baddc106107c7cbeca4d7d552ff0d4c7 Mon Sep 17 00:00:00 2001 From: Mihail Ivanchev Date: Sat, 23 Mar 2024 10:57:28 +0100 Subject: [PATCH 09/10] New package: stumpwm-23.11 --- srcpkgs/stumpwm/INSTALL.msg | 15 +++++++++ srcpkgs/stumpwm/patches/require-asdf.patch | 17 ++++++++++ srcpkgs/stumpwm/template | 38 ++++++++++++++++++++++ 3 files changed, 70 insertions(+) create mode 100644 srcpkgs/stumpwm/INSTALL.msg create mode 100644 srcpkgs/stumpwm/patches/require-asdf.patch create mode 100644 srcpkgs/stumpwm/template diff --git a/srcpkgs/stumpwm/INSTALL.msg b/srcpkgs/stumpwm/INSTALL.msg new file mode 100644 index 00000000000000..f5b14779279a85 --- /dev/null +++ b/srcpkgs/stumpwm/INSTALL.msg @@ -0,0 +1,15 @@ +*** IMPORTANT *** + +You most likely need to export SBCL_HOME before running StumpWM. +See https://github.com/stumpwm/stumpwm/issues/760 for more info. +In most cases when using Bash it will suffice to execute: + +export SBCL_HOME=/usr/lib/sbcl/ + +before running /usr/bin/stumpwm. + +*** EVEN MORE IMPORTANT *** + +Should you update SBCL you MUST also update StumpWM because of compiled +code compatibility. Updating SBCL without updating StumpWM will lead to +strange errors when you start StumpWM. diff --git a/srcpkgs/stumpwm/patches/require-asdf.patch b/srcpkgs/stumpwm/patches/require-asdf.patch new file mode 100644 index 00000000000000..b6ffd2c27859d0 --- /dev/null +++ b/srcpkgs/stumpwm/patches/require-asdf.patch @@ -0,0 +1,17 @@ +diff --git a/Makefile.in b/Makefile.in +index ff09b91..56b2c86 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -1,9 +1,9 @@ + LISP=@LISP_PROGRAM@ + MAKEINFO=@MAKEINFO@ + +-sbcl_BUILDOPTS=--non-interactive --eval "(setf sb-impl::*default-external-format* :UTF-8)" --load ./make-image.lisp +-sbcl_INFOOPTS=--non-interactive --eval "(setf sb-impl::*default-external-format* :UTF-8)" --eval "(progn (load \"load-stumpwm.lisp\") (load \"manual.lisp\"))" --eval "(progn (stumpwm::generate-manual) (sb-ext:quit))" +-sbcl_TESTOPTS=--non-interactive --eval "(setf sb-impl::*default-external-format* :UTF-8)" --eval "(progn (load \"load-stumpwm.lisp\") (asdf:load-system :stumpwm-tests))" --eval "(if (fiasco:all-tests) (uiop:quit 0) (uiop:quit 1))" ++sbcl_BUILDOPTS=--non-interactive --eval "(require 'asdf)" --eval "(setf sb-impl::*default-external-format* :UTF-8)" --load ./make-image.lisp ++sbcl_INFOOPTS=--non-interactive --eval "(require 'asdf)" --eval "(setf sb-impl::*default-external-format* :UTF-8)" --eval "(progn (load \"load-stumpwm.lisp\") (load \"manual.lisp\"))" --eval "(progn (stumpwm::generate-manual) (sb-ext:quit))" ++sbcl_TESTOPTS=--non-interactive --eval "(require 'asdf)" --eval "(setf sb-impl::*default-external-format* :UTF-8)" --eval "(progn (load \"load-stumpwm.lisp\") (asdf:load-system :stumpwm-tests))" --eval "(if (fiasco:all-tests) (uiop:quit 0) (uiop:quit 1))" + + datarootdir = @datarootdir@ + prefix=@prefix@ diff --git a/srcpkgs/stumpwm/template b/srcpkgs/stumpwm/template new file mode 100644 index 00000000000000..430feaf1368f35 --- /dev/null +++ b/srcpkgs/stumpwm/template @@ -0,0 +1,38 @@ +# Template file for 'stumpwm' +pkgname=stumpwm +# WARNING !!! WARHNING !!! WARNING !!! +# +# This package MUST be rebuilt for EVERY SBCL update because compiled FASL +# files (and thus the executable) are ONLY compatible with specific versions. +# +version=23.11 +revision=1 +makedepends="autoconf sbcl cl-ppcre cl-alexandria cl-clx texinfo" +depends="sbcl>=2.4.2_1 cl-ppcre cl-alexandria cl-clx" +checkdepends="sbcl cl-fiasco" +short_desc="Stump Window Manager" +maintainer="Mihail Ivanchev " +license="GPL-2.0-only" +homepage="https://github.com/stumpwm/stumpwm" +distfiles="https://github.com/stumpwm/stumpwm/archive/refs/tags/${version}.tar.gz" +checksum=01e5fa4ec6466b8d5817d8105e41f9f1628e898c8770bbeb6377fadb23ee4817 +nostrip=yes + +export SBCL_HOME=/usr/lib/sbcl + +do_configure() { + ./autogen.sh + ./configure --prefix="${DESTDIR}/usr" --with-module-dir=/usr/share/stumpwm/contrib +} + +do_build() { + make +} + +do_check() { + make test +} + +do_install() { + make install +} From 9ef6ed66575ede7f6d8caf984925aeea760edbf6 Mon Sep 17 00:00:00 2001 From: Mihail Ivanchev Date: Sat, 23 Mar 2024 17:11:58 +0100 Subject: [PATCH 10/10] sbcl: warnings regarding StumpWM and compiled code in general. --- srcpkgs/sbcl/template | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/srcpkgs/sbcl/template b/srcpkgs/sbcl/template index acdb5f8c27ba88..04db3c628a8f4a 100644 --- a/srcpkgs/sbcl/template +++ b/srcpkgs/sbcl/template @@ -1,5 +1,14 @@ # Template file for 'sbcl' pkgname=sbcl +# WARNING !!! WARHNING !!! WARNING !!! +# +# When updating this package, all compiled SBCL executables needs to be +# rebuilt and released because compiled code (FASL) is only compatible +# to the compiler version it was generated with. This currently includes +# the following packages: +# +# stumpwm +# version=2.4.4 revision=1 # make sure the sbcl option in maxima is enabled for the same archs