From 83a191c771c1ce8a9ccd98172d17567344af7bfc Mon Sep 17 00:00:00 2001 From: Mihail Ivanchev Date: Thu, 21 Mar 2024 15:40:54 +0100 Subject: [PATCH 1/6] 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..6cf89e11fa7476 --- /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 36219d27e6ec45acc0215c5b0cd3e573d8d48b15 Mon Sep 17 00:00:00 2001 From: Mihail Ivanchev Date: Thu, 21 Mar 2024 18:18:58 +0100 Subject: [PATCH 2/6] 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 79bb4f49683a4df7e0995f3ce95143dd605441a9 Mon Sep 17 00:00:00 2001 From: Mihail Ivanchev Date: Thu, 21 Mar 2024 18:47:29 +0100 Subject: [PATCH 3/6] 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..5408855c641aa7 --- /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 cl-alexandria cl-trivial-gray-streams" +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 6297bc11ffe16ba26c9429c6493352113ceff7c4 Mon Sep 17 00:00:00 2001 From: Mihail Ivanchev Date: Thu, 21 Mar 2024 19:02:59 +0100 Subject: [PATCH 4/6] New package: cl-flexi-streams-1.0.19 --- 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..6495a40d89548a --- /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.19 +revision=1 +depends="cl-trivial-gray-streams" +checkdepends="sbcl cl-trivial-gray-streams" +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=5e0d4cfa66496ec0ddd501de1d4c19c1d99232ee601d82dce9ef4585f2b47b29 + +_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 9b57b861f006cf66e1c4e0c36c928fa65a1cf215 Mon Sep 17 00:00:00 2001 From: Mihail Ivanchev Date: Fri, 22 Mar 2024 16:59:31 +0100 Subject: [PATCH 5/6] New package: cl-ppcre-2.1.1 --- srcpkgs/cl-ppcre/template | 68 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 srcpkgs/cl-ppcre/template diff --git a/srcpkgs/cl-ppcre/template b/srcpkgs/cl-ppcre/template new file mode 100644 index 00000000000000..a317dbf2eaaf43 --- /dev/null +++ b/srcpkgs/cl-ppcre/template @@ -0,0 +1,68 @@ +# Template file for 'cl-ppcre' +pkgname=cl-ppcre +version=2.1.1 +revision=1 +depends="cl-flexi-streams" +checkdepends="sbcl cl-flexi-streams" +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" + +_LIBRARY_DIR=usr/share/common-lisp/source/cl-ppcre + +do_check() { + # We can't really run the tests of cl-ppcre-unicode-test because + # that would introduce a circular dependency on cl-unicode. It's + # also the reason while cl-ppcre-unicode is a subpackage. + 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 +} + +cl-ppcre-unicode_package() { + _LIBRARY_DIR=usr/share/common-lisp/source/cl-ppcre-unicode + descript+=" (Unicode)" + depends="cl-ppcre cl-unicode" + pkg_install() { + vmkdir $_LIBRARY_DIR + vcopy cl-ppcre-unicode $_LIBRARY_DIR + vcopy cl-ppcre-unicode.asd $_LIBRARY_DIR + vdoc docs/index.html + if [ ! -f LICENSE ]; then + 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 2dbcce52492dbebfd221b8d87d6a9885a7a2fdb6 Mon Sep 17 00:00:00 2001 From: Mihail Ivanchev Date: Fri, 22 Mar 2024 17:01:13 +0100 Subject: [PATCH 6/6] 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 +}