Github messages for voidlinux
 help / color / mirror / Atom feed
* [PR PATCH] [WIP] New package: stumpwm-23.11
@ 2024-03-21 17:11 MIvanchev
  2024-03-21 17:19 ` [PR PATCH] [Updated] " MIvanchev
                   ` (36 more replies)
  0 siblings, 37 replies; 38+ messages in thread
From: MIvanchev @ 2024-03-21 17:11 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 671 bytes --]

There is a new pull request by MIvanchev against master on the void-packages repository

https://github.com/MIvanchev/void-packages stumpwm
https://github.com/void-linux/void-packages/pull/49434

[WIP] New package: stumpwm-23.11
#### Testing the changes
- I tested the changes in this PR: **YES**

#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**

#### Local build testing
- I built this PR locally for my native architecture, (X86_64-GLIBC)


A patch file from https://github.com/void-linux/void-packages/pull/49434.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-stumpwm-49434.patch --]
[-- Type: text/x-diff, Size: 2571 bytes --]

From 83a191c771c1ce8a9ccd98172d17567344af7bfc Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
Date: Thu, 21 Mar 2024 15:40:54 +0100
Subject: [PATCH] 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 <contact@ivanchev.net>"
+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
+}

^ permalink raw reply	[flat|nested] 38+ messages in thread

* Re: [PR PATCH] [Updated] [WIP] New package: stumpwm-23.11
  2024-03-21 17:11 [PR PATCH] [WIP] New package: stumpwm-23.11 MIvanchev
@ 2024-03-21 17:19 ` MIvanchev
  2024-03-21 17:35 ` MIvanchev
                   ` (35 subsequent siblings)
  36 siblings, 0 replies; 38+ messages in thread
From: MIvanchev @ 2024-03-21 17:19 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 676 bytes --]

There is an updated pull request by MIvanchev against master on the void-packages repository

https://github.com/MIvanchev/void-packages stumpwm
https://github.com/void-linux/void-packages/pull/49434

[WIP] New package: stumpwm-23.11
#### Testing the changes
- I tested the changes in this PR: **YES**

#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**

#### Local build testing
- I built this PR locally for my native architecture, (X86_64-GLIBC)


A patch file from https://github.com/void-linux/void-packages/pull/49434.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-stumpwm-49434.patch --]
[-- Type: text/x-diff, Size: 5333 bytes --]

From 83a191c771c1ce8a9ccd98172d17567344af7bfc Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
Date: Thu, 21 Mar 2024 15:40:54 +0100
Subject: [PATCH 1/2] 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 <contact@ivanchev.net>"
+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 288bea3e13d78edf6c78fdfbb77ac254e771b0a5 Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
Date: Thu, 21 Mar 2024 18:18:58 +0100
Subject: [PATCH 2/2] New package:
 cl-trivial-gray-streams-20240217.a7ead683666849762ea657dac9137d693c5a492a9

---
 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..cf8a64ad4e34f9
--- /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 a date and the commit hash.
+# 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
+#
+# 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=${_src_date}.r${_src_hash}
+version=20240217.a7ead683666849762ea657dac9137d693c5a4929
+revision=1
+checkdepends="sbcl"
+short_desc="Portability library for CL gray streams"
+maintainer="Mihail Ivanchev <contact@ivanchev.net>"
+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}.${_src_hash}" ]; 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/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
+}

^ permalink raw reply	[flat|nested] 38+ messages in thread

* Re: [PR PATCH] [Updated] [WIP] New package: stumpwm-23.11
  2024-03-21 17:11 [PR PATCH] [WIP] New package: stumpwm-23.11 MIvanchev
  2024-03-21 17:19 ` [PR PATCH] [Updated] " MIvanchev
@ 2024-03-21 17:35 ` MIvanchev
  2024-03-21 17:37 ` MIvanchev
                   ` (34 subsequent siblings)
  36 siblings, 0 replies; 38+ messages in thread
From: MIvanchev @ 2024-03-21 17:35 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 676 bytes --]

There is an updated pull request by MIvanchev against master on the void-packages repository

https://github.com/MIvanchev/void-packages stumpwm
https://github.com/void-linux/void-packages/pull/49434

[WIP] New package: stumpwm-23.11
#### Testing the changes
- I tested the changes in this PR: **YES**

#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**

#### Local build testing
- I built this PR locally for my native architecture, (X86_64-GLIBC)


A patch file from https://github.com/void-linux/void-packages/pull/49434.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-stumpwm-49434.patch --]
[-- Type: text/x-diff, Size: 5118 bytes --]

From 83a191c771c1ce8a9ccd98172d17567344af7bfc Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
Date: Thu, 21 Mar 2024 15:40:54 +0100
Subject: [PATCH 1/2] 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 <contact@ivanchev.net>"
+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 ce0cf53a7afaebffac463e52c6acb7ff062927b4 Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
Date: Thu, 21 Mar 2024 18:18:58 +0100
Subject: [PATCH 2/2] New package:
 cl-trivial-gray-streams-20240217.a7ead683666849762ea657dac9137d693c5a492a9

---
 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 <contact@ivanchev.net>"
+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
+}

^ permalink raw reply	[flat|nested] 38+ messages in thread

* Re: [PR PATCH] [Updated] [WIP] New package: stumpwm-23.11
  2024-03-21 17:11 [PR PATCH] [WIP] New package: stumpwm-23.11 MIvanchev
  2024-03-21 17:19 ` [PR PATCH] [Updated] " MIvanchev
  2024-03-21 17:35 ` MIvanchev
@ 2024-03-21 17:37 ` MIvanchev
  2024-03-21 17:47 ` MIvanchev
                   ` (33 subsequent siblings)
  36 siblings, 0 replies; 38+ messages in thread
From: MIvanchev @ 2024-03-21 17:37 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 676 bytes --]

There is an updated pull request by MIvanchev against master on the void-packages repository

https://github.com/MIvanchev/void-packages stumpwm
https://github.com/void-linux/void-packages/pull/49434

[WIP] New package: stumpwm-23.11
#### Testing the changes
- I tested the changes in this PR: **YES**

#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**

#### Local build testing
- I built this PR locally for my native architecture, (X86_64-GLIBC)


A patch file from https://github.com/void-linux/void-packages/pull/49434.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-stumpwm-49434.patch --]
[-- Type: text/x-diff, Size: 5075 bytes --]

From 83a191c771c1ce8a9ccd98172d17567344af7bfc Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
Date: Thu, 21 Mar 2024 15:40:54 +0100
Subject: [PATCH 1/2] 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 <contact@ivanchev.net>"
+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 <contact@ivanchev.net>
Date: Thu, 21 Mar 2024 18:18:58 +0100
Subject: [PATCH 2/2] 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 <contact@ivanchev.net>"
+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
+}

^ permalink raw reply	[flat|nested] 38+ messages in thread

* Re: [PR PATCH] [Updated] [WIP] New package: stumpwm-23.11
  2024-03-21 17:11 [PR PATCH] [WIP] New package: stumpwm-23.11 MIvanchev
                   ` (2 preceding siblings ...)
  2024-03-21 17:37 ` MIvanchev
@ 2024-03-21 17:47 ` MIvanchev
  2024-03-21 18:03 ` MIvanchev
                   ` (32 subsequent siblings)
  36 siblings, 0 replies; 38+ messages in thread
From: MIvanchev @ 2024-03-21 17:47 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 676 bytes --]

There is an updated pull request by MIvanchev against master on the void-packages repository

https://github.com/MIvanchev/void-packages stumpwm
https://github.com/void-linux/void-packages/pull/49434

[WIP] New package: stumpwm-23.11
#### Testing the changes
- I tested the changes in this PR: **YES**

#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**

#### Local build testing
- I built this PR locally for my native architecture, (X86_64-GLIBC)


A patch file from https://github.com/void-linux/void-packages/pull/49434.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-stumpwm-49434.patch --]
[-- Type: text/x-diff, Size: 7410 bytes --]

From 83a191c771c1ce8a9ccd98172d17567344af7bfc Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
Date: Thu, 21 Mar 2024 15:40:54 +0100
Subject: [PATCH 1/3] 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 <contact@ivanchev.net>"
+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 <contact@ivanchev.net>
Date: Thu, 21 Mar 2024 18:18:58 +0100
Subject: [PATCH 2/3] 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 <contact@ivanchev.net>"
+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 <contact@ivanchev.net>
Date: Thu, 21 Mar 2024 18:47:29 +0100
Subject: [PATCH 3/3] 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 <contact@ivanchev.net>"
+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
+}

^ permalink raw reply	[flat|nested] 38+ messages in thread

* Re: [PR PATCH] [Updated] [WIP] New package: stumpwm-23.11
  2024-03-21 17:11 [PR PATCH] [WIP] New package: stumpwm-23.11 MIvanchev
                   ` (3 preceding siblings ...)
  2024-03-21 17:47 ` MIvanchev
@ 2024-03-21 18:03 ` MIvanchev
  2024-03-22 16:04 ` MIvanchev
                   ` (31 subsequent siblings)
  36 siblings, 0 replies; 38+ messages in thread
From: MIvanchev @ 2024-03-21 18:03 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 676 bytes --]

There is an updated pull request by MIvanchev against master on the void-packages repository

https://github.com/MIvanchev/void-packages stumpwm
https://github.com/void-linux/void-packages/pull/49434

[WIP] New package: stumpwm-23.11
#### Testing the changes
- I tested the changes in this PR: **YES**

#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**

#### Local build testing
- I built this PR locally for my native architecture, (X86_64-GLIBC)


A patch file from https://github.com/void-linux/void-packages/pull/49434.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-stumpwm-49434.patch --]
[-- Type: text/x-diff, Size: 9222 bytes --]

From 83a191c771c1ce8a9ccd98172d17567344af7bfc Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
Date: Thu, 21 Mar 2024 15:40:54 +0100
Subject: [PATCH 1/4] 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 <contact@ivanchev.net>"
+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 <contact@ivanchev.net>
Date: Thu, 21 Mar 2024 18:18:58 +0100
Subject: [PATCH 2/4] 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 <contact@ivanchev.net>"
+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 <contact@ivanchev.net>
Date: Thu, 21 Mar 2024 18:47:29 +0100
Subject: [PATCH 3/4] 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 <contact@ivanchev.net>"
+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 1c6a01fb2846ede729d232248ee8f58c3a90fd41 Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
Date: Thu, 21 Mar 2024 19:02:59 +0100
Subject: [PATCH 4/4] New package: cl-flexi-streams-1.0.19

---
 srcpkgs/cl-flexi-streams/template | 34 +++++++++++++++++++++++++++++++
 1 file changed, 34 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..58a1541cd980c2
--- /dev/null
+++ b/srcpkgs/cl-flexi-streams/template
@@ -0,0 +1,34 @@
+# 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 <contact@ivanchev.net>"
+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!
+	head -n 28 ascii.lisp | tail -n 25 | cut -c 5- > COPYING
+	vlicense COPYING
+}

^ permalink raw reply	[flat|nested] 38+ messages in thread

* Re: [PR PATCH] [Updated] [WIP] New package: stumpwm-23.11
  2024-03-21 17:11 [PR PATCH] [WIP] New package: stumpwm-23.11 MIvanchev
                   ` (4 preceding siblings ...)
  2024-03-21 18:03 ` MIvanchev
@ 2024-03-22 16:04 ` MIvanchev
  2024-03-22 16:08 ` MIvanchev
                   ` (30 subsequent siblings)
  36 siblings, 0 replies; 38+ messages in thread
From: MIvanchev @ 2024-03-22 16:04 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 676 bytes --]

There is an updated pull request by MIvanchev against master on the void-packages repository

https://github.com/MIvanchev/void-packages stumpwm
https://github.com/void-linux/void-packages/pull/49434

[WIP] New package: stumpwm-23.11
#### Testing the changes
- I tested the changes in this PR: **YES**

#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**

#### Local build testing
- I built this PR locally for my native architecture, (X86_64-GLIBC)


A patch file from https://github.com/void-linux/void-packages/pull/49434.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-stumpwm-49434.patch --]
[-- Type: text/x-diff, Size: 13938 bytes --]

From 83a191c771c1ce8a9ccd98172d17567344af7bfc Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
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 <contact@ivanchev.net>"
+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 <contact@ivanchev.net>
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 <contact@ivanchev.net>"
+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 <contact@ivanchev.net>
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 <contact@ivanchev.net>"
+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 <contact@ivanchev.net>
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 <contact@ivanchev.net>"
+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 7a852d27552e0e5419cb1c18623e649461736a4c Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
Date: Fri, 22 Mar 2024 16:59:31 +0100
Subject: [PATCH 5/6] New package: cl-ppcre-2.1.1

---
 srcpkgs/cl-ppcre/template | 51 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 51 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..a00959bd1e2c67
--- /dev/null
+++ b/srcpkgs/cl-ppcre/template
@@ -0,0 +1,51 @@
+# Template file for 'cl-ppcre'
+pkgname=cl-ppcre
+version=2.1.1
+revision=1
+depends="cl-flexi-streams cl-unicode"
+checkdepends="sbcl cl-flexi-streams"
+short_desc="Common Lisp regular expression library"
+maintainer="Mihail Ivanchev <contact@ivanchev.net>"
+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. A solution
+	# would be to split the packages in cl-ppcre and cl-ppcre-unicode but
+	# this is currently hard.
+	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 cl-ppcre-unicode $_LIBRARY_DIR
+	vcopy test $_LIBRARY_DIR
+	vcopy *.lisp $_LIBRARY_DIR
+	vcopy *.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 590061b98653a2532320fde2b7bb16ea764251ec Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
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..e11460a1f29dd4
--- /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
+depends="cl-ppcre"
+makedepends="sbcl cl-flexi-streams cl-ppcre"
+short_desc="Portable Unicode library for Common Lisp"
+maintainer="Mihail Ivanchev <contact@ivanchev.net>"
+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
+}

^ permalink raw reply	[flat|nested] 38+ messages in thread

* Re: [PR PATCH] [Updated] [WIP] New package: stumpwm-23.11
  2024-03-21 17:11 [PR PATCH] [WIP] New package: stumpwm-23.11 MIvanchev
                   ` (5 preceding siblings ...)
  2024-03-22 16:04 ` MIvanchev
@ 2024-03-22 16:08 ` MIvanchev
  2024-03-22 21:34 ` MIvanchev
                   ` (29 subsequent siblings)
  36 siblings, 0 replies; 38+ messages in thread
From: MIvanchev @ 2024-03-22 16:08 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 676 bytes --]

There is an updated pull request by MIvanchev against master on the void-packages repository

https://github.com/MIvanchev/void-packages stumpwm
https://github.com/void-linux/void-packages/pull/49434

[WIP] New package: stumpwm-23.11
#### Testing the changes
- I tested the changes in this PR: **YES**

#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**

#### Local build testing
- I built this PR locally for my native architecture, (X86_64-GLIBC)


A patch file from https://github.com/void-linux/void-packages/pull/49434.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-stumpwm-49434.patch --]
[-- Type: text/x-diff, Size: 13938 bytes --]

From 83a191c771c1ce8a9ccd98172d17567344af7bfc Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
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 <contact@ivanchev.net>"
+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 <contact@ivanchev.net>
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 <contact@ivanchev.net>"
+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 <contact@ivanchev.net>
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 <contact@ivanchev.net>"
+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 <contact@ivanchev.net>
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 <contact@ivanchev.net>"
+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 7a852d27552e0e5419cb1c18623e649461736a4c Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
Date: Fri, 22 Mar 2024 16:59:31 +0100
Subject: [PATCH 5/6] New package: cl-ppcre-2.1.1

---
 srcpkgs/cl-ppcre/template | 51 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 51 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..a00959bd1e2c67
--- /dev/null
+++ b/srcpkgs/cl-ppcre/template
@@ -0,0 +1,51 @@
+# Template file for 'cl-ppcre'
+pkgname=cl-ppcre
+version=2.1.1
+revision=1
+depends="cl-flexi-streams cl-unicode"
+checkdepends="sbcl cl-flexi-streams"
+short_desc="Common Lisp regular expression library"
+maintainer="Mihail Ivanchev <contact@ivanchev.net>"
+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. A solution
+	# would be to split the packages in cl-ppcre and cl-ppcre-unicode but
+	# this is currently hard.
+	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 cl-ppcre-unicode $_LIBRARY_DIR
+	vcopy test $_LIBRARY_DIR
+	vcopy *.lisp $_LIBRARY_DIR
+	vcopy *.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 3c0aba86d25d06d521ccc0dc1238f8c766ed87a9 Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
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 <contact@ivanchev.net>"
+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
+}

^ permalink raw reply	[flat|nested] 38+ messages in thread

* Re: [PR PATCH] [Updated] [WIP] New package: stumpwm-23.11
  2024-03-21 17:11 [PR PATCH] [WIP] New package: stumpwm-23.11 MIvanchev
                   ` (6 preceding siblings ...)
  2024-03-22 16:08 ` MIvanchev
@ 2024-03-22 21:34 ` MIvanchev
  2024-03-22 21:38 ` MIvanchev
                   ` (28 subsequent siblings)
  36 siblings, 0 replies; 38+ messages in thread
From: MIvanchev @ 2024-03-22 21:34 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 676 bytes --]

There is an updated pull request by MIvanchev against master on the void-packages repository

https://github.com/MIvanchev/void-packages stumpwm
https://github.com/void-linux/void-packages/pull/49434

[WIP] New package: stumpwm-23.11
#### Testing the changes
- I tested the changes in this PR: **YES**

#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**

#### Local build testing
- I built this PR locally for my native architecture, (X86_64-GLIBC)


A patch file from https://github.com/void-linux/void-packages/pull/49434.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-stumpwm-49434.patch --]
[-- Type: text/x-diff, Size: 14359 bytes --]

From 83a191c771c1ce8a9ccd98172d17567344af7bfc Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
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 <contact@ivanchev.net>"
+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 <contact@ivanchev.net>
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 <contact@ivanchev.net>"
+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 <contact@ivanchev.net>
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 <contact@ivanchev.net>"
+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 <contact@ivanchev.net>
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 <contact@ivanchev.net>"
+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 <contact@ivanchev.net>
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 <contact@ivanchev.net>"
+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 <contact@ivanchev.net>
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 <contact@ivanchev.net>"
+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
+}

^ permalink raw reply	[flat|nested] 38+ messages in thread

* Re: [PR PATCH] [Updated] [WIP] New package: stumpwm-23.11
  2024-03-21 17:11 [PR PATCH] [WIP] New package: stumpwm-23.11 MIvanchev
                   ` (7 preceding siblings ...)
  2024-03-22 21:34 ` MIvanchev
@ 2024-03-22 21:38 ` MIvanchev
  2024-03-23  8:46 ` MIvanchev
                   ` (27 subsequent siblings)
  36 siblings, 0 replies; 38+ messages in thread
From: MIvanchev @ 2024-03-22 21:38 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 676 bytes --]

There is an updated pull request by MIvanchev against master on the void-packages repository

https://github.com/MIvanchev/void-packages stumpwm
https://github.com/void-linux/void-packages/pull/49434

[WIP] New package: stumpwm-23.11
#### Testing the changes
- I tested the changes in this PR: **YES**

#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**

#### Local build testing
- I built this PR locally for my native architecture, (X86_64-GLIBC)


A patch file from https://github.com/void-linux/void-packages/pull/49434.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-stumpwm-49434.patch --]
[-- Type: text/x-diff, Size: 14659 bytes --]

From 83a191c771c1ce8a9ccd98172d17567344af7bfc Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
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 <contact@ivanchev.net>"
+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 <contact@ivanchev.net>
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 <contact@ivanchev.net>"
+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 <contact@ivanchev.net>
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 <contact@ivanchev.net>"
+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 <contact@ivanchev.net>
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 <contact@ivanchev.net>"
+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 c21ba54c7c5548d803e3e05bce7345075c1ad491 Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
Date: Fri, 22 Mar 2024 16:59:31 +0100
Subject: [PATCH 5/6] New package: cl-ppcre-2.1.1

---
 srcpkgs/cl-ppcre-unicode  |  1 +
 srcpkgs/cl-ppcre/template | 68 +++++++++++++++++++++++++++++++++++++++
 2 files changed, 69 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..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 <contact@ivanchev.net>"
+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 4e57c8de4ee6acc97ab60f8a5da517214197d169 Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
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 <contact@ivanchev.net>"
+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
+}

^ permalink raw reply	[flat|nested] 38+ messages in thread

* Re: [PR PATCH] [Updated] [WIP] New package: stumpwm-23.11
  2024-03-21 17:11 [PR PATCH] [WIP] New package: stumpwm-23.11 MIvanchev
                   ` (8 preceding siblings ...)
  2024-03-22 21:38 ` MIvanchev
@ 2024-03-23  8:46 ` MIvanchev
  2024-03-23  8:54 ` MIvanchev
                   ` (26 subsequent siblings)
  36 siblings, 0 replies; 38+ messages in thread
From: MIvanchev @ 2024-03-23  8:46 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 676 bytes --]

There is an updated pull request by MIvanchev against master on the void-packages repository

https://github.com/MIvanchev/void-packages stumpwm
https://github.com/void-linux/void-packages/pull/49434

[WIP] New package: stumpwm-23.11
#### Testing the changes
- I tested the changes in this PR: **YES**

#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**

#### Local build testing
- I built this PR locally for my native architecture, (X86_64-GLIBC)


A patch file from https://github.com/void-linux/void-packages/pull/49434.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-stumpwm-49434.patch --]
[-- Type: text/x-diff, Size: 17104 bytes --]

From 83a191c771c1ce8a9ccd98172d17567344af7bfc Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
Date: Thu, 21 Mar 2024 15:40:54 +0100
Subject: [PATCH 1/7] 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 <contact@ivanchev.net>"
+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 <contact@ivanchev.net>
Date: Thu, 21 Mar 2024 18:18:58 +0100
Subject: [PATCH 2/7] 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 <contact@ivanchev.net>"
+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 <contact@ivanchev.net>
Date: Thu, 21 Mar 2024 18:47:29 +0100
Subject: [PATCH 3/7] 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 <contact@ivanchev.net>"
+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 <contact@ivanchev.net>
Date: Thu, 21 Mar 2024 19:02:59 +0100
Subject: [PATCH 4/7] 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 <contact@ivanchev.net>"
+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 95ee700208d48b50a3eade2c6cd3ab8f0513bae4 Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
Date: Fri, 22 Mar 2024 16:59:31 +0100
Subject: [PATCH 5/7] New package: cl-ppcre-2.1.1

---
 srcpkgs/cl-ppcre-unicode  |  1 +
 srcpkgs/cl-ppcre/template | 58 +++++++++++++++++++++++++++++++++++++++
 2 files changed, 59 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..a0ce55d9010973
--- /dev/null
+++ b/srcpkgs/cl-ppcre/template
@@ -0,0 +1,58 @@
+# 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 <contact@ivanchev.net>"
+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 007b44d34b8d96e6dfca1b1e60384e5c90f195a8 Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
Date: Sat, 23 Mar 2024 09:39:00 +0100
Subject: [PATCH 6/7] New package: cl-ppcre-unicode-2.1.1

---
 srcpkgs/cl-ppcre-unicode          |  1 -
 srcpkgs/cl-ppcre-unicode/template | 57 +++++++++++++++++++++++++++++++
 2 files changed, 57 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..9a575e75aa7a60
--- /dev/null
+++ b/srcpkgs/cl-ppcre-unicode/template
@@ -0,0 +1,57 @@
+# 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 character property support)"
+maintainer="Mihail Ivanchev <contact@ivanchev.net>"
+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 0349c8d75dd36f15002751693843b813c883089c Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
Date: Sat, 23 Mar 2024 09:46:43 +0100
Subject: [PATCH 7/7] 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 <contact@ivanchev.net>"
+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
+}

^ permalink raw reply	[flat|nested] 38+ messages in thread

* Re: [PR PATCH] [Updated] [WIP] New package: stumpwm-23.11
  2024-03-21 17:11 [PR PATCH] [WIP] New package: stumpwm-23.11 MIvanchev
                   ` (9 preceding siblings ...)
  2024-03-23  8:46 ` MIvanchev
@ 2024-03-23  8:54 ` MIvanchev
  2024-03-23  8:57 ` MIvanchev
                   ` (25 subsequent siblings)
  36 siblings, 0 replies; 38+ messages in thread
From: MIvanchev @ 2024-03-23  8:54 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 676 bytes --]

There is an updated pull request by MIvanchev against master on the void-packages repository

https://github.com/MIvanchev/void-packages stumpwm
https://github.com/void-linux/void-packages/pull/49434

[WIP] New package: stumpwm-23.11
#### Testing the changes
- I tested the changes in this PR: **YES**

#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**

#### Local build testing
- I built this PR locally for my native architecture, (X86_64-GLIBC)


A patch file from https://github.com/void-linux/void-packages/pull/49434.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-stumpwm-49434.patch --]
[-- Type: text/x-diff, Size: 17092 bytes --]

From 83a191c771c1ce8a9ccd98172d17567344af7bfc Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
Date: Thu, 21 Mar 2024 15:40:54 +0100
Subject: [PATCH 1/7] 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 <contact@ivanchev.net>"
+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 <contact@ivanchev.net>
Date: Thu, 21 Mar 2024 18:18:58 +0100
Subject: [PATCH 2/7] 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 <contact@ivanchev.net>"
+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 <contact@ivanchev.net>
Date: Thu, 21 Mar 2024 18:47:29 +0100
Subject: [PATCH 3/7] 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 <contact@ivanchev.net>"
+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 <contact@ivanchev.net>
Date: Thu, 21 Mar 2024 19:02:59 +0100
Subject: [PATCH 4/7] 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 <contact@ivanchev.net>"
+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 7e705b62d0a16ffdef1523847ade0a94c3c9e1b0 Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
Date: Fri, 22 Mar 2024 16:59:31 +0100
Subject: [PATCH 5/7] 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..435433a10a0e7b
--- /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 cl-flexi-streams"
+short_desc="Common Lisp regular expression library"
+maintainer="Mihail Ivanchev <contact@ivanchev.net>"
+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 b133412675b41dd81cbb7e74697e1b01f3d791aa Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
Date: Sat, 23 Mar 2024 09:39:00 +0100
Subject: [PATCH 6/7] New package: cl-ppcre-unicode-2.1.1

---
 srcpkgs/cl-ppcre-unicode          |  1 -
 srcpkgs/cl-ppcre-unicode/template | 57 +++++++++++++++++++++++++++++++
 2 files changed, 57 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..99dc371f0ecbc1
--- /dev/null
+++ b/srcpkgs/cl-ppcre-unicode/template
@@ -0,0 +1,57 @@
+# 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 <contact@ivanchev.net>"
+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 30ab8573d26acbdb3e6adb53378254061eae0ec2 Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
Date: Sat, 23 Mar 2024 09:46:43 +0100
Subject: [PATCH 7/7] 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 <contact@ivanchev.net>"
+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
+}

^ permalink raw reply	[flat|nested] 38+ messages in thread

* Re: [PR PATCH] [Updated] [WIP] New package: stumpwm-23.11
  2024-03-21 17:11 [PR PATCH] [WIP] New package: stumpwm-23.11 MIvanchev
                   ` (10 preceding siblings ...)
  2024-03-23  8:54 ` MIvanchev
@ 2024-03-23  8:57 ` MIvanchev
  2024-03-23  9:04 ` MIvanchev
                   ` (24 subsequent siblings)
  36 siblings, 0 replies; 38+ messages in thread
From: MIvanchev @ 2024-03-23  8:57 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 676 bytes --]

There is an updated pull request by MIvanchev against master on the void-packages repository

https://github.com/MIvanchev/void-packages stumpwm
https://github.com/void-linux/void-packages/pull/49434

[WIP] New package: stumpwm-23.11
#### Testing the changes
- I tested the changes in this PR: **YES**

#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**

#### Local build testing
- I built this PR locally for my native architecture, (X86_64-GLIBC)


A patch file from https://github.com/void-linux/void-packages/pull/49434.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-stumpwm-49434.patch --]
[-- Type: text/x-diff, Size: 17090 bytes --]

From 83a191c771c1ce8a9ccd98172d17567344af7bfc Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
Date: Thu, 21 Mar 2024 15:40:54 +0100
Subject: [PATCH 1/7] 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 <contact@ivanchev.net>"
+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 <contact@ivanchev.net>
Date: Thu, 21 Mar 2024 18:18:58 +0100
Subject: [PATCH 2/7] 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 <contact@ivanchev.net>"
+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 <contact@ivanchev.net>
Date: Thu, 21 Mar 2024 18:47:29 +0100
Subject: [PATCH 3/7] 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 <contact@ivanchev.net>"
+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 <contact@ivanchev.net>
Date: Thu, 21 Mar 2024 19:02:59 +0100
Subject: [PATCH 4/7] 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 <contact@ivanchev.net>"
+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 7e705b62d0a16ffdef1523847ade0a94c3c9e1b0 Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
Date: Fri, 22 Mar 2024 16:59:31 +0100
Subject: [PATCH 5/7] 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..435433a10a0e7b
--- /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 cl-flexi-streams"
+short_desc="Common Lisp regular expression library"
+maintainer="Mihail Ivanchev <contact@ivanchev.net>"
+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 8bc54d10a33fcaa8b260b12642346c7a0e73ee6d Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
Date: Sat, 23 Mar 2024 09:39:00 +0100
Subject: [PATCH 6/7] 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 <contact@ivanchev.net>"
+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 221b55a38edef2ce4ae71be28e34edcc2573cc4e Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
Date: Sat, 23 Mar 2024 09:46:43 +0100
Subject: [PATCH 7/7] 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 <contact@ivanchev.net>"
+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
+}

^ permalink raw reply	[flat|nested] 38+ messages in thread

* Re: [PR PATCH] [Updated] [WIP] New package: stumpwm-23.11
  2024-03-21 17:11 [PR PATCH] [WIP] New package: stumpwm-23.11 MIvanchev
                   ` (11 preceding siblings ...)
  2024-03-23  8:57 ` MIvanchev
@ 2024-03-23  9:04 ` MIvanchev
  2024-03-23  9:09 ` MIvanchev
                   ` (23 subsequent siblings)
  36 siblings, 0 replies; 38+ messages in thread
From: MIvanchev @ 2024-03-23  9:04 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 676 bytes --]

There is an updated pull request by MIvanchev against master on the void-packages repository

https://github.com/MIvanchev/void-packages stumpwm
https://github.com/void-linux/void-packages/pull/49434

[WIP] New package: stumpwm-23.11
#### Testing the changes
- I tested the changes in this PR: **YES**

#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**

#### Local build testing
- I built this PR locally for my native architecture, (X86_64-GLIBC)


A patch file from https://github.com/void-linux/void-packages/pull/49434.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-stumpwm-49434.patch --]
[-- Type: text/x-diff, Size: 23001 bytes --]

From 83a191c771c1ce8a9ccd98172d17567344af7bfc Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
Date: Thu, 21 Mar 2024 15:40:54 +0100
Subject: [PATCH 1/8] 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 <contact@ivanchev.net>"
+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 <contact@ivanchev.net>
Date: Thu, 21 Mar 2024 18:18:58 +0100
Subject: [PATCH 2/8] 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 <contact@ivanchev.net>"
+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 <contact@ivanchev.net>
Date: Thu, 21 Mar 2024 18:47:29 +0100
Subject: [PATCH 3/8] 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 <contact@ivanchev.net>"
+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 <contact@ivanchev.net>
Date: Thu, 21 Mar 2024 19:02:59 +0100
Subject: [PATCH 4/8] 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 <contact@ivanchev.net>"
+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 7e705b62d0a16ffdef1523847ade0a94c3c9e1b0 Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
Date: Fri, 22 Mar 2024 16:59:31 +0100
Subject: [PATCH 5/8] 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..435433a10a0e7b
--- /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 cl-flexi-streams"
+short_desc="Common Lisp regular expression library"
+maintainer="Mihail Ivanchev <contact@ivanchev.net>"
+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 8bc54d10a33fcaa8b260b12642346c7a0e73ee6d Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
Date: Sat, 23 Mar 2024 09:39:00 +0100
Subject: [PATCH 6/8] 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 <contact@ivanchev.net>"
+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 221b55a38edef2ce4ae71be28e34edcc2573cc4e Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
Date: Sat, 23 Mar 2024 09:46:43 +0100
Subject: [PATCH 7/8] 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 <contact@ivanchev.net>"
+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 50496ce0c1b0765596ea39f3706d6335ec00922f Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
Date: Sat, 23 Mar 2024 10:04:41 +0100
Subject: [PATCH 8/8] New package: cl-clx-0.7.5

---
 srcpkgs/cl-clx/template | 127 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 127 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..9d5318c72a0543
--- /dev/null
+++ b/srcpkgs/cl-clx/template
@@ -0,0 +1,127 @@
+# Template file for 'common-lisp-clx'
+pkgname=cl-clx
+version=0.7.5
+revision=1
+checkdepends="xvfb-run sbcl cl-fiasco"
+short_desc="X11 client for Common Lisp"
+maintainer="Mihail Ivanchev <contact@ivanchev.net>"
+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="94114bc91e3f24054f0aa96f0c98bb500aa505f84fdaeb66ed41baaa39f9e053"
+
+_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_install() {
+	vmkdir $_LIBRARY_DIR
+	vcopy extensions $_LIBRARY_DIR
+	vcopy manual $_LIBRARY_DIR
+	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
+
+        # 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
+}

^ permalink raw reply	[flat|nested] 38+ messages in thread

* Re: [PR PATCH] [Updated] [WIP] New package: stumpwm-23.11
  2024-03-21 17:11 [PR PATCH] [WIP] New package: stumpwm-23.11 MIvanchev
                   ` (12 preceding siblings ...)
  2024-03-23  9:04 ` MIvanchev
@ 2024-03-23  9:09 ` MIvanchev
  2024-03-23  9:21 ` MIvanchev
                   ` (22 subsequent siblings)
  36 siblings, 0 replies; 38+ messages in thread
From: MIvanchev @ 2024-03-23  9:09 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 676 bytes --]

There is an updated pull request by MIvanchev against master on the void-packages repository

https://github.com/MIvanchev/void-packages stumpwm
https://github.com/void-linux/void-packages/pull/49434

[WIP] New package: stumpwm-23.11
#### Testing the changes
- I tested the changes in this PR: **YES**

#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**

#### Local build testing
- I built this PR locally for my native architecture, (X86_64-GLIBC)


A patch file from https://github.com/void-linux/void-packages/pull/49434.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-stumpwm-49434.patch --]
[-- Type: text/x-diff, Size: 23141 bytes --]

From 83a191c771c1ce8a9ccd98172d17567344af7bfc Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
Date: Thu, 21 Mar 2024 15:40:54 +0100
Subject: [PATCH 1/8] 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 <contact@ivanchev.net>"
+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 <contact@ivanchev.net>
Date: Thu, 21 Mar 2024 18:18:58 +0100
Subject: [PATCH 2/8] 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 <contact@ivanchev.net>"
+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 <contact@ivanchev.net>
Date: Thu, 21 Mar 2024 18:47:29 +0100
Subject: [PATCH 3/8] 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 <contact@ivanchev.net>"
+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 <contact@ivanchev.net>
Date: Thu, 21 Mar 2024 19:02:59 +0100
Subject: [PATCH 4/8] 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 <contact@ivanchev.net>"
+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 7e705b62d0a16ffdef1523847ade0a94c3c9e1b0 Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
Date: Fri, 22 Mar 2024 16:59:31 +0100
Subject: [PATCH 5/8] 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..435433a10a0e7b
--- /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 cl-flexi-streams"
+short_desc="Common Lisp regular expression library"
+maintainer="Mihail Ivanchev <contact@ivanchev.net>"
+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 8bc54d10a33fcaa8b260b12642346c7a0e73ee6d Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
Date: Sat, 23 Mar 2024 09:39:00 +0100
Subject: [PATCH 6/8] 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 <contact@ivanchev.net>"
+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 221b55a38edef2ce4ae71be28e34edcc2573cc4e Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
Date: Sat, 23 Mar 2024 09:46:43 +0100
Subject: [PATCH 7/8] 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 <contact@ivanchev.net>"
+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 cc6d13b4f45b614d32216e3b8fea169313e7f409 Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
Date: Sat, 23 Mar 2024 10:04:41 +0100
Subject: [PATCH 8/8] New package: cl-clx-0.7.5

---
 srcpkgs/cl-clx/template | 134 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 134 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..a7d1b83b10cd0c
--- /dev/null
+++ b/srcpkgs/cl-clx/template
@@ -0,0 +1,134 @@
+# Template file for 'common-lisp-clx'
+pkgname=cl-clx
+version=0.7.5
+revision=1
+makedepends="texinfo"
+checkdepends="xvfb-run sbcl cl-fiasco"
+short_desc="X11 client for Common Lisp"
+maintainer="Mihail Ivanchev <contact@ivanchev.net>"
+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="94114bc91e3f24054f0aa96f0c98bb500aa505f84fdaeb66ed41baaa39f9e053"
+
+_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 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
+	vdoc manual/clx.texinfo
+
+        # 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
+}

^ permalink raw reply	[flat|nested] 38+ messages in thread

* Re: [PR PATCH] [Updated] [WIP] New package: stumpwm-23.11
  2024-03-21 17:11 [PR PATCH] [WIP] New package: stumpwm-23.11 MIvanchev
                   ` (13 preceding siblings ...)
  2024-03-23  9:09 ` MIvanchev
@ 2024-03-23  9:21 ` MIvanchev
  2024-03-23  9:27 ` MIvanchev
                   ` (21 subsequent siblings)
  36 siblings, 0 replies; 38+ messages in thread
From: MIvanchev @ 2024-03-23  9:21 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 676 bytes --]

There is an updated pull request by MIvanchev against master on the void-packages repository

https://github.com/MIvanchev/void-packages stumpwm
https://github.com/void-linux/void-packages/pull/49434

[WIP] New package: stumpwm-23.11
#### Testing the changes
- I tested the changes in this PR: **YES**

#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**

#### Local build testing
- I built this PR locally for my native architecture, (X86_64-GLIBC)


A patch file from https://github.com/void-linux/void-packages/pull/49434.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-stumpwm-49434.patch --]
[-- Type: text/x-diff, Size: 23141 bytes --]

From 83a191c771c1ce8a9ccd98172d17567344af7bfc Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
Date: Thu, 21 Mar 2024 15:40:54 +0100
Subject: [PATCH 1/8] 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 <contact@ivanchev.net>"
+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 <contact@ivanchev.net>
Date: Thu, 21 Mar 2024 18:18:58 +0100
Subject: [PATCH 2/8] 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 <contact@ivanchev.net>"
+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 <contact@ivanchev.net>
Date: Thu, 21 Mar 2024 18:47:29 +0100
Subject: [PATCH 3/8] 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 <contact@ivanchev.net>"
+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 <contact@ivanchev.net>
Date: Thu, 21 Mar 2024 19:02:59 +0100
Subject: [PATCH 4/8] 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 <contact@ivanchev.net>"
+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 7e705b62d0a16ffdef1523847ade0a94c3c9e1b0 Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
Date: Fri, 22 Mar 2024 16:59:31 +0100
Subject: [PATCH 5/8] 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..435433a10a0e7b
--- /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 cl-flexi-streams"
+short_desc="Common Lisp regular expression library"
+maintainer="Mihail Ivanchev <contact@ivanchev.net>"
+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 8bc54d10a33fcaa8b260b12642346c7a0e73ee6d Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
Date: Sat, 23 Mar 2024 09:39:00 +0100
Subject: [PATCH 6/8] 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 <contact@ivanchev.net>"
+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 221b55a38edef2ce4ae71be28e34edcc2573cc4e Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
Date: Sat, 23 Mar 2024 09:46:43 +0100
Subject: [PATCH 7/8] 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 <contact@ivanchev.net>"
+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 58c9f2f904260af780e2eb9fc3be59c292054427 Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
Date: Sat, 23 Mar 2024 10:04:41 +0100
Subject: [PATCH 8/8] New package: cl-clx-0.7.5

---
 srcpkgs/cl-clx/template | 134 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 134 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..eb8f54b5ccee2e
--- /dev/null
+++ b/srcpkgs/cl-clx/template
@@ -0,0 +1,134 @@
+# Template file for 'cl-clx'
+pkgname=cl-clx
+version=0.7.5
+revision=1
+makedepends="texinfo"
+checkdepends="xvfb-run sbcl cl-fiasco"
+short_desc="X11 client for Common Lisp"
+maintainer="Mihail Ivanchev <contact@ivanchev.net>"
+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="94114bc91e3f24054f0aa96f0c98bb500aa505f84fdaeb66ed41baaa39f9e053"
+
+_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 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
+	vdoc manual/clx.texinfo
+
+	# 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
+}

^ permalink raw reply	[flat|nested] 38+ messages in thread

* Re: [PR PATCH] [Updated] [WIP] New package: stumpwm-23.11
  2024-03-21 17:11 [PR PATCH] [WIP] New package: stumpwm-23.11 MIvanchev
                   ` (14 preceding siblings ...)
  2024-03-23  9:21 ` MIvanchev
@ 2024-03-23  9:27 ` MIvanchev
  2024-03-23  9:27 ` MIvanchev
                   ` (20 subsequent siblings)
  36 siblings, 0 replies; 38+ messages in thread
From: MIvanchev @ 2024-03-23  9:27 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 676 bytes --]

There is an updated pull request by MIvanchev against master on the void-packages repository

https://github.com/MIvanchev/void-packages stumpwm
https://github.com/void-linux/void-packages/pull/49434

[WIP] New package: stumpwm-23.11
#### Testing the changes
- I tested the changes in this PR: **YES**

#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**

#### Local build testing
- I built this PR locally for my native architecture, (X86_64-GLIBC)


A patch file from https://github.com/void-linux/void-packages/pull/49434.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-stumpwm-49434.patch --]
[-- Type: text/x-diff, Size: 23148 bytes --]

From 83a191c771c1ce8a9ccd98172d17567344af7bfc Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
Date: Thu, 21 Mar 2024 15:40:54 +0100
Subject: [PATCH 1/8] 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 <contact@ivanchev.net>"
+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 <contact@ivanchev.net>
Date: Thu, 21 Mar 2024 18:18:58 +0100
Subject: [PATCH 2/8] 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 <contact@ivanchev.net>"
+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 <contact@ivanchev.net>
Date: Thu, 21 Mar 2024 18:47:29 +0100
Subject: [PATCH 3/8] 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 <contact@ivanchev.net>"
+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 <contact@ivanchev.net>
Date: Thu, 21 Mar 2024 19:02:59 +0100
Subject: [PATCH 4/8] 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 <contact@ivanchev.net>"
+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 7e705b62d0a16ffdef1523847ade0a94c3c9e1b0 Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
Date: Fri, 22 Mar 2024 16:59:31 +0100
Subject: [PATCH 5/8] 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..435433a10a0e7b
--- /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 cl-flexi-streams"
+short_desc="Common Lisp regular expression library"
+maintainer="Mihail Ivanchev <contact@ivanchev.net>"
+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 8bc54d10a33fcaa8b260b12642346c7a0e73ee6d Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
Date: Sat, 23 Mar 2024 09:39:00 +0100
Subject: [PATCH 6/8] 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 <contact@ivanchev.net>"
+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 221b55a38edef2ce4ae71be28e34edcc2573cc4e Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
Date: Sat, 23 Mar 2024 09:46:43 +0100
Subject: [PATCH 7/8] 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 <contact@ivanchev.net>"
+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 d3a040c820229228311b26ddf544da755b74a9eb Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
Date: Sat, 23 Mar 2024 10:04:41 +0100
Subject: [PATCH 8/8] New package: cl-clx-0.7.5

---
 srcpkgs/cl-clx/template | 134 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 134 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..ef3accd8c7e05c
--- /dev/null
+++ b/srcpkgs/cl-clx/template
@@ -0,0 +1,134 @@
+# Template file for 'cl-clx'
+pkgname=cl-clx
+version=0.7.5
+revision=1
+makedepends="texinfo"
+checkdepends="xvfb-run sbcl cl-fiasco"
+short_desc="X11 client for Common Lisp"
+maintainer="Mihail Ivanchev <contact@ivanchev.net>"
+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="94114bc91e3f24054f0aa96f0c98bb500aa505f84fdaeb66ed41baaa39f9e053"
+
+_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
+	vdoc manual/clx.texinfo
+
+	# 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
+}

^ permalink raw reply	[flat|nested] 38+ messages in thread

* Re: [PR PATCH] [Updated] [WIP] New package: stumpwm-23.11
  2024-03-21 17:11 [PR PATCH] [WIP] New package: stumpwm-23.11 MIvanchev
                   ` (15 preceding siblings ...)
  2024-03-23  9:27 ` MIvanchev
@ 2024-03-23  9:27 ` MIvanchev
  2024-03-23  9:45 ` MIvanchev
                   ` (19 subsequent siblings)
  36 siblings, 0 replies; 38+ messages in thread
From: MIvanchev @ 2024-03-23  9:27 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 676 bytes --]

There is an updated pull request by MIvanchev against master on the void-packages repository

https://github.com/MIvanchev/void-packages stumpwm
https://github.com/void-linux/void-packages/pull/49434

[WIP] New package: stumpwm-23.11
#### Testing the changes
- I tested the changes in this PR: **YES**

#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**

#### Local build testing
- I built this PR locally for my native architecture, (X86_64-GLIBC)


A patch file from https://github.com/void-linux/void-packages/pull/49434.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-stumpwm-49434.patch --]
[-- Type: text/x-diff, Size: 23152 bytes --]

From 83a191c771c1ce8a9ccd98172d17567344af7bfc Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
Date: Thu, 21 Mar 2024 15:40:54 +0100
Subject: [PATCH 1/8] 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 <contact@ivanchev.net>"
+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 <contact@ivanchev.net>
Date: Thu, 21 Mar 2024 18:18:58 +0100
Subject: [PATCH 2/8] 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 <contact@ivanchev.net>"
+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 <contact@ivanchev.net>
Date: Thu, 21 Mar 2024 18:47:29 +0100
Subject: [PATCH 3/8] 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 <contact@ivanchev.net>"
+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 <contact@ivanchev.net>
Date: Thu, 21 Mar 2024 19:02:59 +0100
Subject: [PATCH 4/8] 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 <contact@ivanchev.net>"
+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 7e705b62d0a16ffdef1523847ade0a94c3c9e1b0 Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
Date: Fri, 22 Mar 2024 16:59:31 +0100
Subject: [PATCH 5/8] 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..435433a10a0e7b
--- /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 cl-flexi-streams"
+short_desc="Common Lisp regular expression library"
+maintainer="Mihail Ivanchev <contact@ivanchev.net>"
+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 8bc54d10a33fcaa8b260b12642346c7a0e73ee6d Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
Date: Sat, 23 Mar 2024 09:39:00 +0100
Subject: [PATCH 6/8] 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 <contact@ivanchev.net>"
+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 221b55a38edef2ce4ae71be28e34edcc2573cc4e Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
Date: Sat, 23 Mar 2024 09:46:43 +0100
Subject: [PATCH 7/8] 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 <contact@ivanchev.net>"
+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 98e76b917ee098846737b7a1634fcae1f8af475a Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
Date: Sat, 23 Mar 2024 10:04:41 +0100
Subject: [PATCH 8/8] New package: cl-clx-0.7.5

---
 srcpkgs/cl-clx/template | 134 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 134 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..380f8d7744bdd7
--- /dev/null
+++ b/srcpkgs/cl-clx/template
@@ -0,0 +1,134 @@
+# Template file for 'cl-clx'
+pkgname=cl-clx
+version=0.7.5
+revision=1
+hostmakedepends="texinfo"
+checkdepends="xvfb-run sbcl cl-fiasco"
+short_desc="X11 client for Common Lisp"
+maintainer="Mihail Ivanchev <contact@ivanchev.net>"
+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="94114bc91e3f24054f0aa96f0c98bb500aa505f84fdaeb66ed41baaa39f9e053"
+
+_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
+	vdoc manual/clx.texinfo
+
+	# 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
+}

^ permalink raw reply	[flat|nested] 38+ messages in thread

* Re: [PR PATCH] [Updated] [WIP] New package: stumpwm-23.11
  2024-03-21 17:11 [PR PATCH] [WIP] New package: stumpwm-23.11 MIvanchev
                   ` (16 preceding siblings ...)
  2024-03-23  9:27 ` MIvanchev
@ 2024-03-23  9:45 ` MIvanchev
  2024-03-23  9:57 ` MIvanchev
                   ` (18 subsequent siblings)
  36 siblings, 0 replies; 38+ messages in thread
From: MIvanchev @ 2024-03-23  9:45 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 676 bytes --]

There is an updated pull request by MIvanchev against master on the void-packages repository

https://github.com/MIvanchev/void-packages stumpwm
https://github.com/void-linux/void-packages/pull/49434

[WIP] New package: stumpwm-23.11
#### Testing the changes
- I tested the changes in this PR: **YES**

#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**

#### Local build testing
- I built this PR locally for my native architecture, (X86_64-GLIBC)


A patch file from https://github.com/void-linux/void-packages/pull/49434.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-stumpwm-49434.patch --]
[-- Type: text/x-diff, Size: 23174 bytes --]

From 48f6e7da2e96db0d9faa2e75c9dfb79e933abbd7 Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
Date: Thu, 21 Mar 2024 15:40:54 +0100
Subject: [PATCH 1/8] 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 <contact@ivanchev.net>"
+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 a0281e6417ebab4fda21bff706bcbb5f9a029e19 Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
Date: Thu, 21 Mar 2024 18:18:58 +0100
Subject: [PATCH 2/8] 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 <contact@ivanchev.net>"
+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 d11ba8bd3fa3cc24b28e7c884dc9a62e24b0e61e Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
Date: Thu, 21 Mar 2024 18:47:29 +0100
Subject: [PATCH 3/8] 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 <contact@ivanchev.net>"
+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 2977194847cd3afd3a4b348d1d7ed15a5eff25e0 Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
Date: Thu, 21 Mar 2024 19:02:59 +0100
Subject: [PATCH 4/8] 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 <contact@ivanchev.net>"
+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 1967780a15b7c4c81a7328412c9a72a21c0a997f Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
Date: Fri, 22 Mar 2024 16:59:31 +0100
Subject: [PATCH 5/8] 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..435433a10a0e7b
--- /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 cl-flexi-streams"
+short_desc="Common Lisp regular expression library"
+maintainer="Mihail Ivanchev <contact@ivanchev.net>"
+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 514c7f5f1f8ef00bfa9c4e06072fbaf8167c98fc Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
Date: Sat, 23 Mar 2024 09:39:00 +0100
Subject: [PATCH 6/8] 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 <contact@ivanchev.net>"
+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 7f93f801e924c7fab2984718da4fd0629b7f783e Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
Date: Sat, 23 Mar 2024 09:46:43 +0100
Subject: [PATCH 7/8] 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 <contact@ivanchev.net>"
+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 35c59502f4fa64a78e24f80dbea0f34d9aa16a8b Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
Date: Sat, 23 Mar 2024 10:04:41 +0100
Subject: [PATCH 8/8] New package: cl-clx-0.7.5

---
 srcpkgs/cl-clx/template | 134 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 134 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..2393d88ab2e0e4
--- /dev/null
+++ b/srcpkgs/cl-clx/template
@@ -0,0 +1,134 @@
+# Template file for 'cl-clx'
+pkgname=cl-clx
+version=0.7.5
+revision=1
+hostmakedepends="texinfo"
+checkdepends="xvfb-run sbcl cl-fiasco"
+short_desc="X11 client for Common Lisp"
+maintainer="Mihail Ivanchev <contact@ivanchev.net>"
+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="94114bc91e3f24054f0aa96f0c98bb500aa505f84fdaeb66ed41baaa39f9e053"
+
+_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
+}

^ permalink raw reply	[flat|nested] 38+ messages in thread

* Re: [PR PATCH] [Updated] [WIP] New package: stumpwm-23.11
  2024-03-21 17:11 [PR PATCH] [WIP] New package: stumpwm-23.11 MIvanchev
                   ` (17 preceding siblings ...)
  2024-03-23  9:45 ` MIvanchev
@ 2024-03-23  9:57 ` MIvanchev
  2024-03-23 10:05 ` MIvanchev
                   ` (17 subsequent siblings)
  36 siblings, 0 replies; 38+ messages in thread
From: MIvanchev @ 2024-03-23  9:57 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 676 bytes --]

There is an updated pull request by MIvanchev against master on the void-packages repository

https://github.com/MIvanchev/void-packages stumpwm
https://github.com/void-linux/void-packages/pull/49434

[WIP] New package: stumpwm-23.11
#### Testing the changes
- I tested the changes in this PR: **YES**

#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**

#### Local build testing
- I built this PR locally for my native architecture, (X86_64-GLIBC)


A patch file from https://github.com/void-linux/void-packages/pull/49434.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-stumpwm-49434.patch --]
[-- Type: text/x-diff, Size: 27020 bytes --]

From 48f6e7da2e96db0d9faa2e75c9dfb79e933abbd7 Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
Date: Thu, 21 Mar 2024 15:40:54 +0100
Subject: [PATCH 1/9] 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 <contact@ivanchev.net>"
+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 a0281e6417ebab4fda21bff706bcbb5f9a029e19 Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
Date: Thu, 21 Mar 2024 18:18:58 +0100
Subject: [PATCH 2/9] 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 <contact@ivanchev.net>"
+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 d11ba8bd3fa3cc24b28e7c884dc9a62e24b0e61e Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
Date: Thu, 21 Mar 2024 18:47:29 +0100
Subject: [PATCH 3/9] 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 <contact@ivanchev.net>"
+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 2977194847cd3afd3a4b348d1d7ed15a5eff25e0 Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
Date: Thu, 21 Mar 2024 19:02:59 +0100
Subject: [PATCH 4/9] 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 <contact@ivanchev.net>"
+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 1967780a15b7c4c81a7328412c9a72a21c0a997f Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
Date: Fri, 22 Mar 2024 16:59:31 +0100
Subject: [PATCH 5/9] 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..435433a10a0e7b
--- /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 cl-flexi-streams"
+short_desc="Common Lisp regular expression library"
+maintainer="Mihail Ivanchev <contact@ivanchev.net>"
+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 514c7f5f1f8ef00bfa9c4e06072fbaf8167c98fc Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
Date: Sat, 23 Mar 2024 09:39:00 +0100
Subject: [PATCH 6/9] 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 <contact@ivanchev.net>"
+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 7f93f801e924c7fab2984718da4fd0629b7f783e Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
Date: Sat, 23 Mar 2024 09:46:43 +0100
Subject: [PATCH 7/9] 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 <contact@ivanchev.net>"
+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 35c59502f4fa64a78e24f80dbea0f34d9aa16a8b Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
Date: Sat, 23 Mar 2024 10:04:41 +0100
Subject: [PATCH 8/9] New package: cl-clx-0.7.5

---
 srcpkgs/cl-clx/template | 134 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 134 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..2393d88ab2e0e4
--- /dev/null
+++ b/srcpkgs/cl-clx/template
@@ -0,0 +1,134 @@
+# Template file for 'cl-clx'
+pkgname=cl-clx
+version=0.7.5
+revision=1
+hostmakedepends="texinfo"
+checkdepends="xvfb-run sbcl cl-fiasco"
+short_desc="X11 client for Common Lisp"
+maintainer="Mihail Ivanchev <contact@ivanchev.net>"
+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="94114bc91e3f24054f0aa96f0c98bb500aa505f84fdaeb66ed41baaa39f9e053"
+
+_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
+}

From 6ce8631f6035034492fd2c59cf2a8b313e261392 Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
Date: Sat, 23 Mar 2024 10:57:28 +0100
Subject: [PATCH 9/9] New package: stumpwm-23.11

---
 srcpkgs/stumpwm/INSTALL.msg                |  9 ++++++
 srcpkgs/stumpwm/patches/require-asdf.patch | 17 ++++++++++
 srcpkgs/stumpwm/template                   | 37 ++++++++++++++++++++++
 3 files changed, 63 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..b545889cc097bb
--- /dev/null
+++ b/srcpkgs/stumpwm/INSTALL.msg
@@ -0,0 +1,9 @@
+*** 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
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..1d3368fb84fde6
--- /dev/null
+++ b/srcpkgs/stumpwm/template
@@ -0,0 +1,37 @@
+# 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="cl-ppcre cl-alexandria cl-clx"
+short_desc="Stump Window Manager"
+maintainer="Mihail Ivanchev (contact@ivanchev.net)"
+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"
+}
+
+do_build() {
+	make
+}
+
+do_check() {
+	make test
+}
+
+do_install() {
+	make install
+}

^ permalink raw reply	[flat|nested] 38+ messages in thread

* Re: [PR PATCH] [Updated] [WIP] New package: stumpwm-23.11
  2024-03-21 17:11 [PR PATCH] [WIP] New package: stumpwm-23.11 MIvanchev
                   ` (18 preceding siblings ...)
  2024-03-23  9:57 ` MIvanchev
@ 2024-03-23 10:05 ` MIvanchev
  2024-03-23 16:12 ` MIvanchev
                   ` (16 subsequent siblings)
  36 siblings, 0 replies; 38+ messages in thread
From: MIvanchev @ 2024-03-23 10:05 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 676 bytes --]

There is an updated pull request by MIvanchev against master on the void-packages repository

https://github.com/MIvanchev/void-packages stumpwm
https://github.com/void-linux/void-packages/pull/49434

[WIP] New package: stumpwm-23.11
#### Testing the changes
- I tested the changes in this PR: **YES**

#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**

#### Local build testing
- I built this PR locally for my native architecture, (X86_64-GLIBC)


A patch file from https://github.com/void-linux/void-packages/pull/49434.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-stumpwm-49434.patch --]
[-- Type: text/x-diff, Size: 27045 bytes --]

From 48f6e7da2e96db0d9faa2e75c9dfb79e933abbd7 Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
Date: Thu, 21 Mar 2024 15:40:54 +0100
Subject: [PATCH 1/9] 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 <contact@ivanchev.net>"
+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 a0281e6417ebab4fda21bff706bcbb5f9a029e19 Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
Date: Thu, 21 Mar 2024 18:18:58 +0100
Subject: [PATCH 2/9] 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 <contact@ivanchev.net>"
+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 d11ba8bd3fa3cc24b28e7c884dc9a62e24b0e61e Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
Date: Thu, 21 Mar 2024 18:47:29 +0100
Subject: [PATCH 3/9] 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 <contact@ivanchev.net>"
+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 2977194847cd3afd3a4b348d1d7ed15a5eff25e0 Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
Date: Thu, 21 Mar 2024 19:02:59 +0100
Subject: [PATCH 4/9] 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 <contact@ivanchev.net>"
+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 1967780a15b7c4c81a7328412c9a72a21c0a997f Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
Date: Fri, 22 Mar 2024 16:59:31 +0100
Subject: [PATCH 5/9] 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..435433a10a0e7b
--- /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 cl-flexi-streams"
+short_desc="Common Lisp regular expression library"
+maintainer="Mihail Ivanchev <contact@ivanchev.net>"
+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 514c7f5f1f8ef00bfa9c4e06072fbaf8167c98fc Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
Date: Sat, 23 Mar 2024 09:39:00 +0100
Subject: [PATCH 6/9] 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 <contact@ivanchev.net>"
+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 7f93f801e924c7fab2984718da4fd0629b7f783e Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
Date: Sat, 23 Mar 2024 09:46:43 +0100
Subject: [PATCH 7/9] 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 <contact@ivanchev.net>"
+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 35c59502f4fa64a78e24f80dbea0f34d9aa16a8b Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
Date: Sat, 23 Mar 2024 10:04:41 +0100
Subject: [PATCH 8/9] New package: cl-clx-0.7.5

---
 srcpkgs/cl-clx/template | 134 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 134 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..2393d88ab2e0e4
--- /dev/null
+++ b/srcpkgs/cl-clx/template
@@ -0,0 +1,134 @@
+# Template file for 'cl-clx'
+pkgname=cl-clx
+version=0.7.5
+revision=1
+hostmakedepends="texinfo"
+checkdepends="xvfb-run sbcl cl-fiasco"
+short_desc="X11 client for Common Lisp"
+maintainer="Mihail Ivanchev <contact@ivanchev.net>"
+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="94114bc91e3f24054f0aa96f0c98bb500aa505f84fdaeb66ed41baaa39f9e053"
+
+_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
+}

From cc0488bbebdd4fff41cf6ddb8ee430ec166c6c65 Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
Date: Sat, 23 Mar 2024 10:57:28 +0100
Subject: [PATCH 9/9] New package: stumpwm-23.11

---
 srcpkgs/stumpwm/INSTALL.msg                |  9 +++++
 srcpkgs/stumpwm/patches/require-asdf.patch | 17 ++++++++++
 srcpkgs/stumpwm/template                   | 38 ++++++++++++++++++++++
 3 files changed, 64 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..b545889cc097bb
--- /dev/null
+++ b/srcpkgs/stumpwm/INSTALL.msg
@@ -0,0 +1,9 @@
+*** 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
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..4b8836796715ae
--- /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="cl-ppcre cl-alexandria cl-clx"
+checkdepends="cl-fiasco"
+short_desc="Stump Window Manager"
+maintainer="Mihail Ivanchev <contact@ivanchev.net>"
+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"
+}
+
+do_build() {
+	make
+}
+
+do_check() {
+	make test
+}
+
+do_install() {
+	make install
+}

^ permalink raw reply	[flat|nested] 38+ messages in thread

* Re: [PR PATCH] [Updated] [WIP] New package: stumpwm-23.11
  2024-03-21 17:11 [PR PATCH] [WIP] New package: stumpwm-23.11 MIvanchev
                   ` (19 preceding siblings ...)
  2024-03-23 10:05 ` MIvanchev
@ 2024-03-23 16:12 ` MIvanchev
  2024-03-23 18:32 ` MIvanchev
                   ` (15 subsequent siblings)
  36 siblings, 0 replies; 38+ messages in thread
From: MIvanchev @ 2024-03-23 16:12 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 676 bytes --]

There is an updated pull request by MIvanchev against master on the void-packages repository

https://github.com/MIvanchev/void-packages stumpwm
https://github.com/void-linux/void-packages/pull/49434

[WIP] New package: stumpwm-23.11
#### Testing the changes
- I tested the changes in this PR: **YES**

#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**

#### Local build testing
- I built this PR locally for my native architecture, (X86_64-GLIBC)


A patch file from https://github.com/void-linux/void-packages/pull/49434.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-stumpwm-49434.patch --]
[-- Type: text/x-diff, Size: 28290 bytes --]

From 48f6e7da2e96db0d9faa2e75c9dfb79e933abbd7 Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
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 <contact@ivanchev.net>"
+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 a0281e6417ebab4fda21bff706bcbb5f9a029e19 Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
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 <contact@ivanchev.net>"
+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 d11ba8bd3fa3cc24b28e7c884dc9a62e24b0e61e Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
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..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 <contact@ivanchev.net>"
+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 2977194847cd3afd3a4b348d1d7ed15a5eff25e0 Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
Date: Thu, 21 Mar 2024 19:02:59 +0100
Subject: [PATCH 04/10] 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 <contact@ivanchev.net>"
+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 1967780a15b7c4c81a7328412c9a72a21c0a997f Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
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..435433a10a0e7b
--- /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 cl-flexi-streams"
+short_desc="Common Lisp regular expression library"
+maintainer="Mihail Ivanchev <contact@ivanchev.net>"
+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 514c7f5f1f8ef00bfa9c4e06072fbaf8167c98fc Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
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 <contact@ivanchev.net>"
+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 7f93f801e924c7fab2984718da4fd0629b7f783e Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
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 <contact@ivanchev.net>"
+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 35c59502f4fa64a78e24f80dbea0f34d9aa16a8b Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
Date: Sat, 23 Mar 2024 10:04:41 +0100
Subject: [PATCH 08/10] New package: cl-clx-0.7.5

---
 srcpkgs/cl-clx/template | 134 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 134 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..2393d88ab2e0e4
--- /dev/null
+++ b/srcpkgs/cl-clx/template
@@ -0,0 +1,134 @@
+# Template file for 'cl-clx'
+pkgname=cl-clx
+version=0.7.5
+revision=1
+hostmakedepends="texinfo"
+checkdepends="xvfb-run sbcl cl-fiasco"
+short_desc="X11 client for Common Lisp"
+maintainer="Mihail Ivanchev <contact@ivanchev.net>"
+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="94114bc91e3f24054f0aa96f0c98bb500aa505f84fdaeb66ed41baaa39f9e053"
+
+_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
+}

From 0d5ebd23de9e8254f85736958f2474949d872c4a Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
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 <contact@ivanchev.net>"
+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 7ab42e9f07c281a32f264e64078503137e14266c Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
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 f6487b4c3051ef..51f1da37e371bd 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.2
 revision=1
 # make sure the sbcl option in maxima is enabled for the same archs

^ permalink raw reply	[flat|nested] 38+ messages in thread

* Re: New package: stumpwm-23.11
  2024-03-21 17:11 [PR PATCH] [WIP] New package: stumpwm-23.11 MIvanchev
                   ` (20 preceding siblings ...)
  2024-03-23 16:12 ` MIvanchev
@ 2024-03-23 18:32 ` MIvanchev
  2024-05-12 16:50 ` [PR PATCH] [Updated] " MIvanchev
                   ` (14 subsequent siblings)
  36 siblings, 0 replies; 38+ messages in thread
From: MIvanchev @ 2024-03-23 18:32 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 243 bytes --]

New comment by MIvanchev on void-packages repository

https://github.com/void-linux/void-packages/pull/49434#issuecomment-2016570079

Comment:
Resolves #31523. Based on @funk443 work in #43563. stumpwm-contrib to be released as a separate PR.

^ permalink raw reply	[flat|nested] 38+ messages in thread

* Re: [PR PATCH] [Updated] New package: stumpwm-23.11
  2024-03-21 17:11 [PR PATCH] [WIP] New package: stumpwm-23.11 MIvanchev
                   ` (21 preceding siblings ...)
  2024-03-23 18:32 ` MIvanchev
@ 2024-05-12 16:50 ` MIvanchev
  2024-05-12 16:52 ` MIvanchev
                   ` (13 subsequent siblings)
  36 siblings, 0 replies; 38+ messages in thread
From: MIvanchev @ 2024-05-12 16:50 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 670 bytes --]

There is an updated pull request by MIvanchev against master on the void-packages repository

https://github.com/MIvanchev/void-packages stumpwm
https://github.com/void-linux/void-packages/pull/49434

New package: stumpwm-23.11
#### Testing the changes
- I tested the changes in this PR: **YES**

#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**

#### Local build testing
- I built this PR locally for my native architecture, (X86_64-GLIBC)


A patch file from https://github.com/void-linux/void-packages/pull/49434.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-stumpwm-49434.patch --]
[-- Type: text/x-diff, Size: 28393 bytes --]

From 6abb0331c3dd234108c02e905764aae62ea156c1 Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
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 <contact@ivanchev.net>"
+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 <contact@ivanchev.net>
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 <contact@ivanchev.net>"
+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 4ca8433bce826de3caada2c82a2e56d0c2f9e632 Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
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..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 <contact@ivanchev.net>"
+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 017b2913d3563f8dfc415d2e6a536d2ad0f26065 Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
Date: Thu, 21 Mar 2024 19:02:59 +0100
Subject: [PATCH 04/10] 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 <contact@ivanchev.net>"
+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 86e195c2bdfddd1a71755e0fe7bd468e2522d0ca Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
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..435433a10a0e7b
--- /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 cl-flexi-streams"
+short_desc="Common Lisp regular expression library"
+maintainer="Mihail Ivanchev <contact@ivanchev.net>"
+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 6ebf3cf074920547543af84a0db54c94bc19092d Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
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 <contact@ivanchev.net>"
+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 90cb89d38387066268b354b6c538d3e9519544bf Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
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 <contact@ivanchev.net>"
+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 9706324b9e114b310cda9de062a8e4b66be1dd78 Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
Date: Sat, 23 Mar 2024 10:04:41 +0100
Subject: [PATCH 08/10] New package: cl-clx-0.7.5

---
 srcpkgs/cl-clx/template | 134 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 134 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..2393d88ab2e0e4
--- /dev/null
+++ b/srcpkgs/cl-clx/template
@@ -0,0 +1,134 @@
+# Template file for 'cl-clx'
+pkgname=cl-clx
+version=0.7.5
+revision=1
+hostmakedepends="texinfo"
+checkdepends="xvfb-run sbcl cl-fiasco"
+short_desc="X11 client for Common Lisp"
+maintainer="Mihail Ivanchev <contact@ivanchev.net>"
+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="94114bc91e3f24054f0aa96f0c98bb500aa505f84fdaeb66ed41baaa39f9e053"
+
+_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
+}

From 36f363946e7cc9b2478e14a595a1b57e7174bd54 Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
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 <contact@ivanchev.net>"
+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 79e64e003adf65e37f3ff19484e44c875b46426e Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
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 | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/sbcl/template b/srcpkgs/sbcl/template
index acdb5f8c27ba88..dd74408401eaa9 100644
--- a/srcpkgs/sbcl/template
+++ b/srcpkgs/sbcl/template
@@ -1,7 +1,16 @@
 # 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
+revision=2
 # make sure the sbcl option in maxima is enabled for the same archs
 archs="i686 x86_64* armv7l aarch64 ppc64le*"
 create_wrksrc="required"

^ permalink raw reply	[flat|nested] 38+ messages in thread

* Re: [PR PATCH] [Updated] New package: stumpwm-23.11
  2024-03-21 17:11 [PR PATCH] [WIP] New package: stumpwm-23.11 MIvanchev
                   ` (22 preceding siblings ...)
  2024-05-12 16:50 ` [PR PATCH] [Updated] " MIvanchev
@ 2024-05-12 16:52 ` MIvanchev
  2024-05-12 17:08 ` MIvanchev
                   ` (12 subsequent siblings)
  36 siblings, 0 replies; 38+ messages in thread
From: MIvanchev @ 2024-05-12 16:52 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 670 bytes --]

There is an updated pull request by MIvanchev against master on the void-packages repository

https://github.com/MIvanchev/void-packages stumpwm
https://github.com/void-linux/void-packages/pull/49434

New package: stumpwm-23.11
#### Testing the changes
- I tested the changes in this PR: **YES**

#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**

#### Local build testing
- I built this PR locally for my native architecture, (X86_64-GLIBC)


A patch file from https://github.com/void-linux/void-packages/pull/49434.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-stumpwm-49434.patch --]
[-- Type: text/x-diff, Size: 28290 bytes --]

From 6abb0331c3dd234108c02e905764aae62ea156c1 Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
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 <contact@ivanchev.net>"
+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 <contact@ivanchev.net>
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 <contact@ivanchev.net>"
+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 4ca8433bce826de3caada2c82a2e56d0c2f9e632 Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
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..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 <contact@ivanchev.net>"
+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 017b2913d3563f8dfc415d2e6a536d2ad0f26065 Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
Date: Thu, 21 Mar 2024 19:02:59 +0100
Subject: [PATCH 04/10] 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 <contact@ivanchev.net>"
+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 86e195c2bdfddd1a71755e0fe7bd468e2522d0ca Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
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..435433a10a0e7b
--- /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 cl-flexi-streams"
+short_desc="Common Lisp regular expression library"
+maintainer="Mihail Ivanchev <contact@ivanchev.net>"
+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 6ebf3cf074920547543af84a0db54c94bc19092d Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
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 <contact@ivanchev.net>"
+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 90cb89d38387066268b354b6c538d3e9519544bf Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
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 <contact@ivanchev.net>"
+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 9706324b9e114b310cda9de062a8e4b66be1dd78 Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
Date: Sat, 23 Mar 2024 10:04:41 +0100
Subject: [PATCH 08/10] New package: cl-clx-0.7.5

---
 srcpkgs/cl-clx/template | 134 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 134 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..2393d88ab2e0e4
--- /dev/null
+++ b/srcpkgs/cl-clx/template
@@ -0,0 +1,134 @@
+# Template file for 'cl-clx'
+pkgname=cl-clx
+version=0.7.5
+revision=1
+hostmakedepends="texinfo"
+checkdepends="xvfb-run sbcl cl-fiasco"
+short_desc="X11 client for Common Lisp"
+maintainer="Mihail Ivanchev <contact@ivanchev.net>"
+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="94114bc91e3f24054f0aa96f0c98bb500aa505f84fdaeb66ed41baaa39f9e053"
+
+_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
+}

From 36f363946e7cc9b2478e14a595a1b57e7174bd54 Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
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 <contact@ivanchev.net>"
+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 fa250b9c17603f133ea7375d27d217b9419a656a Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
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

^ permalink raw reply	[flat|nested] 38+ messages in thread

* Re: [PR PATCH] [Updated] New package: stumpwm-23.11
  2024-03-21 17:11 [PR PATCH] [WIP] New package: stumpwm-23.11 MIvanchev
                   ` (23 preceding siblings ...)
  2024-05-12 16:52 ` MIvanchev
@ 2024-05-12 17:08 ` MIvanchev
  2024-05-13 11:33 ` MIvanchev
                   ` (11 subsequent siblings)
  36 siblings, 0 replies; 38+ messages in thread
From: MIvanchev @ 2024-05-12 17:08 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 670 bytes --]

There is an updated pull request by MIvanchev against master on the void-packages repository

https://github.com/MIvanchev/void-packages stumpwm
https://github.com/void-linux/void-packages/pull/49434

New package: stumpwm-23.11
#### Testing the changes
- I tested the changes in this PR: **YES**

#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**

#### Local build testing
- I built this PR locally for my native architecture, (X86_64-GLIBC)


A patch file from https://github.com/void-linux/void-packages/pull/49434.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-stumpwm-49434.patch --]
[-- Type: text/x-diff, Size: 28290 bytes --]

From 6abb0331c3dd234108c02e905764aae62ea156c1 Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
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 <contact@ivanchev.net>"
+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 <contact@ivanchev.net>
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 <contact@ivanchev.net>"
+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 4ca8433bce826de3caada2c82a2e56d0c2f9e632 Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
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..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 <contact@ivanchev.net>"
+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 a6fb1482229ab4673a340aea0e834891a158394e Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
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..caceb8bf8aef00
--- /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 cl-trivial-gray-streams"
+short_desc="Flexible bivalent streams for Common Lisp"
+maintainer="Mihail Ivanchev <contact@ivanchev.net>"
+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 0485bd80ea891ec99477ae486ae92eaf05645536 Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
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..435433a10a0e7b
--- /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 cl-flexi-streams"
+short_desc="Common Lisp regular expression library"
+maintainer="Mihail Ivanchev <contact@ivanchev.net>"
+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 d6e86d4d26f0858ca0be87bdba81a746335bc1e3 Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
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 <contact@ivanchev.net>"
+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 057c477cae2afd32da8277b1d1dfbfbff0a01785 Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
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 <contact@ivanchev.net>"
+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 59fc9bb0d2f2975cb4ebd3a7e0bce75495dae96e Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
Date: Sat, 23 Mar 2024 10:04:41 +0100
Subject: [PATCH 08/10] New package: cl-clx-0.7.5

---
 srcpkgs/cl-clx/template | 134 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 134 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..2393d88ab2e0e4
--- /dev/null
+++ b/srcpkgs/cl-clx/template
@@ -0,0 +1,134 @@
+# Template file for 'cl-clx'
+pkgname=cl-clx
+version=0.7.5
+revision=1
+hostmakedepends="texinfo"
+checkdepends="xvfb-run sbcl cl-fiasco"
+short_desc="X11 client for Common Lisp"
+maintainer="Mihail Ivanchev <contact@ivanchev.net>"
+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="94114bc91e3f24054f0aa96f0c98bb500aa505f84fdaeb66ed41baaa39f9e053"
+
+_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
+}

From 31b8863a71cd9014575d86b7ff0045509b7cc818 Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
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 <contact@ivanchev.net>"
+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 fbe6b87e736dcb26e5d47d86eb289b16c9c0ff18 Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
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

^ permalink raw reply	[flat|nested] 38+ messages in thread

* Re: [PR PATCH] [Updated] New package: stumpwm-23.11
  2024-03-21 17:11 [PR PATCH] [WIP] New package: stumpwm-23.11 MIvanchev
                   ` (24 preceding siblings ...)
  2024-05-12 17:08 ` MIvanchev
@ 2024-05-13 11:33 ` MIvanchev
  2024-05-13 11:38 ` MIvanchev
                   ` (10 subsequent siblings)
  36 siblings, 0 replies; 38+ messages in thread
From: MIvanchev @ 2024-05-13 11:33 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 670 bytes --]

There is an updated pull request by MIvanchev against master on the void-packages repository

https://github.com/MIvanchev/void-packages stumpwm
https://github.com/void-linux/void-packages/pull/49434

New package: stumpwm-23.11
#### Testing the changes
- I tested the changes in this PR: **YES**

#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**

#### Local build testing
- I built this PR locally for my native architecture, (X86_64-GLIBC)


A patch file from https://github.com/void-linux/void-packages/pull/49434.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-stumpwm-49434.patch --]
[-- Type: text/x-diff, Size: 28261 bytes --]

From 6abb0331c3dd234108c02e905764aae62ea156c1 Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
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 <contact@ivanchev.net>"
+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 <contact@ivanchev.net>
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 <contact@ivanchev.net>"
+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 <contact@ivanchev.net>
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 <contact@ivanchev.net>"
+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 <contact@ivanchev.net>
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 <contact@ivanchev.net>"
+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 <contact@ivanchev.net>
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 <contact@ivanchev.net>"
+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 <contact@ivanchev.net>
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 <contact@ivanchev.net>"
+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 <contact@ivanchev.net>
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 <contact@ivanchev.net>"
+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 <contact@ivanchev.net>
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 <contact@ivanchev.net>"
+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 <contact@ivanchev.net>
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 <contact@ivanchev.net>"
+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 <contact@ivanchev.net>
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

^ permalink raw reply	[flat|nested] 38+ messages in thread

* Re: [PR PATCH] [Updated] New package: stumpwm-23.11
  2024-03-21 17:11 [PR PATCH] [WIP] New package: stumpwm-23.11 MIvanchev
                   ` (25 preceding siblings ...)
  2024-05-13 11:33 ` MIvanchev
@ 2024-05-13 11:38 ` MIvanchev
  2024-05-14 10:03 ` MIvanchev
                   ` (9 subsequent siblings)
  36 siblings, 0 replies; 38+ messages in thread
From: MIvanchev @ 2024-05-13 11:38 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 670 bytes --]

There is an updated pull request by MIvanchev against master on the void-packages repository

https://github.com/MIvanchev/void-packages stumpwm
https://github.com/void-linux/void-packages/pull/49434

New package: stumpwm-23.11
#### Testing the changes
- I tested the changes in this PR: **YES**

#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**

#### Local build testing
- I built this PR locally for my native architecture, (X86_64-GLIBC)


A patch file from https://github.com/void-linux/void-packages/pull/49434.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-stumpwm-49434.patch --]
[-- Type: text/x-diff, Size: 28252 bytes --]

From 6abb0331c3dd234108c02e905764aae62ea156c1 Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
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 <contact@ivanchev.net>"
+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 <contact@ivanchev.net>
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 <contact@ivanchev.net>"
+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 <contact@ivanchev.net>
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 <contact@ivanchev.net>"
+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 <contact@ivanchev.net>
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 <contact@ivanchev.net>"
+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 <contact@ivanchev.net>
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 <contact@ivanchev.net>"
+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 14980f7b7f3cc8ad8c991e740a30dd1a6603dbb2 Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
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..2b6738d35c2855
--- /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 ${depends}"
+short_desc="Common Lisp regular expression library (Unicode property support)"
+maintainer="Mihail Ivanchev <contact@ivanchev.net>"
+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 d344b9ef1270435e96f1602b9d092eab4d9fe752 Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
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 <contact@ivanchev.net>"
+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 e7cc2fff5b5db059514a7898386462a03f26b883 Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
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 <contact@ivanchev.net>"
+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 a0aeed395edf1b838998898bb9235d49b0883d56 Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
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 <contact@ivanchev.net>"
+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 3fb8d4466a6df07d4c064e94cb52451172ca9466 Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
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

^ permalink raw reply	[flat|nested] 38+ messages in thread

* Re: [PR PATCH] [Updated] New package: stumpwm-23.11
  2024-03-21 17:11 [PR PATCH] [WIP] New package: stumpwm-23.11 MIvanchev
                   ` (26 preceding siblings ...)
  2024-05-13 11:38 ` MIvanchev
@ 2024-05-14 10:03 ` MIvanchev
  2024-05-14 10:32 ` MIvanchev
                   ` (8 subsequent siblings)
  36 siblings, 0 replies; 38+ messages in thread
From: MIvanchev @ 2024-05-14 10:03 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 670 bytes --]

There is an updated pull request by MIvanchev against master on the void-packages repository

https://github.com/MIvanchev/void-packages stumpwm
https://github.com/void-linux/void-packages/pull/49434

New package: stumpwm-23.11
#### Testing the changes
- I tested the changes in this PR: **YES**

#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**

#### Local build testing
- I built this PR locally for my native architecture, (X86_64-GLIBC)


A patch file from https://github.com/void-linux/void-packages/pull/49434.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-stumpwm-49434.patch --]
[-- Type: text/x-diff, Size: 28763 bytes --]

From 6abb0331c3dd234108c02e905764aae62ea156c1 Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
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 <contact@ivanchev.net>"
+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 <contact@ivanchev.net>
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 <contact@ivanchev.net>"
+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 <contact@ivanchev.net>
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 <contact@ivanchev.net>"
+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 <contact@ivanchev.net>
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 <contact@ivanchev.net>"
+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 <contact@ivanchev.net>
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 <contact@ivanchev.net>"
+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 14980f7b7f3cc8ad8c991e740a30dd1a6603dbb2 Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
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..2b6738d35c2855
--- /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 ${depends}"
+short_desc="Common Lisp regular expression library (Unicode property support)"
+maintainer="Mihail Ivanchev <contact@ivanchev.net>"
+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 d344b9ef1270435e96f1602b9d092eab4d9fe752 Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
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 <contact@ivanchev.net>"
+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 792e7de5553f33be0f63eb1ef0ed0bf816a45a1b Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
Date: Sat, 23 Mar 2024 10:04:41 +0100
Subject: [PATCH 08/10] New package: cl-clx-0.7.6

---
 srcpkgs/cl-clx/template | 142 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 142 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..b3b43c2164d571
--- /dev/null
+++ b/srcpkgs/cl-clx/template
@@ -0,0 +1,142 @@
+# 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 <contact@ivanchev.net>"
+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
+
+	vlicense LICENSE
+
+	# The provided license file doesn't include all license info spread
+	# around in the package so we gather it all in an extended license
+	# file
+
+	_license_file=LICENSE.ext
+
+	# 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- > ${_license_ext}
+	echo "===============================================================" >> ${_license_ext}
+
+	# Copyright (C) 1987 Texas Instruments Incorporated.
+	sed -n '5,19p' demo/zoid.lisp | cut -c 5- >> ${_license_ext}
+	echo "===============================================================" >> ${_license_ext}
+
+	# Copyright (C) 1987, 1989 Massachussetts Institute of Technology
+	sed -n "5,14p" sockcl.lisp | cut -c 5- >> ${_license_ext}
+	echo "===============================================================" >> ${_license_ext}
+
+	# Copyright (C) Digital Equipment Corporation, 1996
+	sed -n "6,14p" extensions/dpms.lisp | cut -c 7- >> ${_license_ext}
+	echo "===============================================================" >> ${_license_ext}
+
+	# Copyright (c) 2004, Christophe Rhodes
+	sed -n "40,60p" demo/clipboard.lisp | cut -c 5- >> ${_license_ext}
+	echo "===============================================================" >> ${_license_ext}
+
+	# (c) copyright 2014 by Johannes Martinez
+	sed -n "7,18p" extensions/randr.lisp | cut -c 5- >> ${_license_ext}
+	echo "===============================================================" >> ${_license_ext}
+
+	# (c) copyright 1999 by Gilbert Baumann
+	sed -n "7,18p" extensions/shape.lisp | cut -c 5- >> ${_license_ext}
+	echo "===============================================================" >> ${_license_ext}
+
+	# Copyright (c) 1987, 1988, 1989 Franz Inc, Berkeley, Ca.
+	sed -n "4,14p" excldep.lisp | cut -c 5- >> ${_license_ext}
+	echo "===============================================================" >> ${_license_ext}
+
+	# Copyright (C) 2008, Julian Stecklina
+	sed -n "2,9p" extensions/xinerama.lisp | cut -c 5- >> ${_license_ext}
+	echo "===============================================================" >> ${_license_ext}
+
+	# Copyright (C) 1990 Symbolics, Inc.
+	sed -n "3,11p" generalock.lisp | cut -c 5- >> ${_license_ext}
+	echo "===============================================================" >> ${_license_ext}
+
+	# (c) copyright 2002, 2003 by Gilbert Baumann
+	# (c) copyright 2002 by Christian Sunesson
+	sed -n "8,20p" extensions/xrender.lisp | cut -c 5- >> ${_license_ext}
+	echo "===============================================================" >> ${_license_ext}
+
+	# (c) copyright 2005 by Istvan Marko
+	sed -n "7,18p" extensions/screensaver.lisp | cut -c 5- >> ${_license_ext}
+	echo "===============================================================" >> ${_license_ext}
+
+	# (c) copyright 2006 Richard Kreuter
+	# (c) copyright 2007 by Christophe Rhodes
+	sed -n "3,13p" extensions/big-requests.lisp | cut -c 5- >> ${_license_ext}
+	echo "===============================================================" >> ${_license_ext}
+
+	# Copyright    Massachusetts Institute of Technology    1988
+	head -n 1 socket.c >> ${_license_ext}
+	echo "===============================================================" >> ${_license_ext}
+
+	# (c) copyright 2003 by Iban Hatchondo
+	sed -n "7,18p" extensions/xvidmode.lisp | cut -c 5- >> ${_license_ext}
+	echo "===============================================================" >> ${_license_ext}
+
+	# Copyright (C) 1988 Michael O. Newton (newton@csvax.caltech.edu)
+	sed -n "827,832p" demo/clx-demos.lisp | cut -c 5- >> ${_license_ext}
+	echo "===============================================================" >> ${_license_ext}
+
+	# Copyright 1990 Massachusetts Institute of Technology, Cambridge,
+	sed -n "3,12p" package.lisp | cut -c 5- >> ${_license_ext}
+	echo "===============================================================" >> ${_license_ext}
+
+	# Copyright (C) 1988 Texas Instruments Incorporated.
+	sed -n "3,17p" demo/menu.lisp | cut -c 5- >> ${_license_ext}
+	echo "===============================================================" >> ${_license_ext}
+
+	# Public domain: Scott Fahlman
+	sed -n "4,7p" cmudep.lisp | cut -c 5- >> ${_license_ext}
+	echo "===============================================================" >> ${_license_ext}
+
+	# Public domain: Lionel Flandrin
+	sed -n "6,7p" extensions/xtest.lisp | cut -c 5- >> ${_license_ext}
+
+	# Print concatenated copyright notices to for visual inspection
+	# in the build jobs.
+	cat ${_license_ext}
+
+	vlicense ${_license_ext}
+}

From 028577cf65bb173209f288501bb26b152aa19f97 Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
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 <contact@ivanchev.net>"
+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 ecc40f147b9fcffca74eedf6177c13156284706c Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
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

^ permalink raw reply	[flat|nested] 38+ messages in thread

* Re: [PR PATCH] [Updated] New package: stumpwm-23.11
  2024-03-21 17:11 [PR PATCH] [WIP] New package: stumpwm-23.11 MIvanchev
                   ` (27 preceding siblings ...)
  2024-05-14 10:03 ` MIvanchev
@ 2024-05-14 10:32 ` MIvanchev
  2024-05-14 10:38 ` MIvanchev
                   ` (7 subsequent siblings)
  36 siblings, 0 replies; 38+ messages in thread
From: MIvanchev @ 2024-05-14 10:32 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 670 bytes --]

There is an updated pull request by MIvanchev against master on the void-packages repository

https://github.com/MIvanchev/void-packages stumpwm
https://github.com/void-linux/void-packages/pull/49434

New package: stumpwm-23.11
#### Testing the changes
- I tested the changes in this PR: **YES**

#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**

#### Local build testing
- I built this PR locally for my native architecture, (X86_64-GLIBC)


A patch file from https://github.com/void-linux/void-packages/pull/49434.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-stumpwm-49434.patch --]
[-- Type: text/x-diff, Size: 28841 bytes --]

From 6abb0331c3dd234108c02e905764aae62ea156c1 Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
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 <contact@ivanchev.net>"
+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 <contact@ivanchev.net>
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 <contact@ivanchev.net>"
+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 <contact@ivanchev.net>
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 <contact@ivanchev.net>"
+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 <contact@ivanchev.net>
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 <contact@ivanchev.net>"
+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 <contact@ivanchev.net>
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 <contact@ivanchev.net>"
+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 14980f7b7f3cc8ad8c991e740a30dd1a6603dbb2 Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
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..2b6738d35c2855
--- /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 ${depends}"
+short_desc="Common Lisp regular expression library (Unicode property support)"
+maintainer="Mihail Ivanchev <contact@ivanchev.net>"
+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 d344b9ef1270435e96f1602b9d092eab4d9fe752 Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
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 <contact@ivanchev.net>"
+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 2cf8e526ecd03a68611f91b4db76d2de2496e498 Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
Date: Sat, 23 Mar 2024 10:04:41 +0100
Subject: [PATCH 08/10] New package: cl-clx-0.7.6

---
 srcpkgs/cl-clx/template | 142 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 142 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..2fe455b95e8177
--- /dev/null
+++ b/srcpkgs/cl-clx/template
@@ -0,0 +1,142 @@
+# 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 <contact@ivanchev.net>"
+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
+
+	vlicense LICENSE
+
+	# The provided license file doesn't include all license info spread
+	# around in the package so we gather it all in an extended license
+	# file
+
+	_license_file=LICENSE.ext
+
+	# 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- > "${_license_ext}"
+	echo "===============================================================" >> "${_license_ext}"
+
+	# Copyright (C) 1987 Texas Instruments Incorporated.
+	sed -n '5,19p' demo/zoid.lisp | cut -c 5- >> "${_license_ext}"
+	echo "===============================================================" >> "${_license_ext}"
+
+	# Copyright (C) 1987, 1989 Massachussetts Institute of Technology
+	sed -n "5,14p" sockcl.lisp | cut -c 5- >> "${_license_ext}"
+	echo "===============================================================" >> "${_license_ext}"
+
+	# Copyright (C) Digital Equipment Corporation, 1996
+	sed -n "6,14p" extensions/dpms.lisp | cut -c 7- >> "${_license_ext}"
+	echo "===============================================================" >> "${_license_ext}"
+
+	# Copyright (c) 2004, Christophe Rhodes
+	sed -n "40,60p" demo/clipboard.lisp | cut -c 5- >> "${_license_ext}"
+	echo "===============================================================" >> "${_license_ext}"
+
+	# (c) copyright 2014 by Johannes Martinez
+	sed -n "7,18p" extensions/randr.lisp | cut -c 5- >> "${_license_ext}"
+	echo "===============================================================" >> "${_license_ext}"
+
+	# (c) copyright 1999 by Gilbert Baumann
+	sed -n "7,18p" extensions/shape.lisp | cut -c 5- >> "${_license_ext}"
+	echo "===============================================================" >> "${_license_ext}"
+
+	# Copyright (c) 1987, 1988, 1989 Franz Inc, Berkeley, Ca.
+	sed -n "4,14p" excldep.lisp | cut -c 5- >> "${_license_ext}"
+	echo "===============================================================" >> "${_license_ext}"
+
+	# Copyright (C) 2008, Julian Stecklina
+	sed -n "2,9p" extensions/xinerama.lisp | cut -c 5- >> "${_license_ext}"
+	echo "===============================================================" >> "${_license_ext}"
+
+	# Copyright (C) 1990 Symbolics, Inc.
+	sed -n "3,11p" generalock.lisp | cut -c 5- >> "${_license_ext}"
+	echo "===============================================================" >> "${_license_ext}"
+
+	# (c) copyright 2002, 2003 by Gilbert Baumann
+	# (c) copyright 2002 by Christian Sunesson
+	sed -n "8,20p" extensions/xrender.lisp | cut -c 5- >> "${_license_ext}"
+	echo "===============================================================" >> "${_license_ext}"
+
+	# (c) copyright 2005 by Istvan Marko
+	sed -n "7,18p" extensions/screensaver.lisp | cut -c 5- >> "${_license_ext}"
+	echo "===============================================================" >> "${_license_ext}"
+
+	# (c) copyright 2006 Richard Kreuter
+	# (c) copyright 2007 by Christophe Rhodes
+	sed -n "3,13p" extensions/big-requests.lisp | cut -c 5- >> "${_license_ext}"
+	echo "===============================================================" >> "${_license_ext}"
+
+	# Copyright    Massachusetts Institute of Technology    1988
+	head -n 1 socket.c >> "${_license_ext}"
+	echo "===============================================================" >> "${_license_ext}"
+
+	# (c) copyright 2003 by Iban Hatchondo
+	sed -n "7,18p" extensions/xvidmode.lisp | cut -c 5- >> "${_license_ext}"
+	echo "===============================================================" >> "${_license_ext}"
+
+	# Copyright (C) 1988 Michael O. Newton (newton@csvax.caltech.edu)
+	sed -n "827,832p" demo/clx-demos.lisp | cut -c 5- >> "${_license_ext}"
+	echo "===============================================================" >> "${_license_ext}"
+
+	# Copyright 1990 Massachusetts Institute of Technology, Cambridge,
+	sed -n "3,12p" package.lisp | cut -c 5- >> "${_license_ext}"
+	echo "===============================================================" >> "${_license_ext}"
+
+	# Copyright (C) 1988 Texas Instruments Incorporated.
+	sed -n "3,17p" demo/menu.lisp | cut -c 5- >> "${_license_ext}"
+	echo "===============================================================" >> "${_license_ext}"
+
+	# Public domain: Scott Fahlman
+	sed -n "4,7p" cmudep.lisp | cut -c 5- >> "${_license_ext}"
+	echo "===============================================================" >> "${_license_ext}"
+
+	# Public domain: Lionel Flandrin
+	sed -n "6,7p" extensions/xtest.lisp | cut -c 5- >> "${_license_ext}"
+
+	# Print concatenated copyright notices to for visual inspection
+	# in the build jobs.
+	cat ${_license_ext}
+
+	vlicense ${_license_ext}
+}

From 8f9312acd3f42af2afec661720089cbd0f3ba3cb Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
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 <contact@ivanchev.net>"
+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 f5cc0e5a73ccf767d05b5c700c665bec6768a20b Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
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

^ permalink raw reply	[flat|nested] 38+ messages in thread

* Re: [PR PATCH] [Updated] New package: stumpwm-23.11
  2024-03-21 17:11 [PR PATCH] [WIP] New package: stumpwm-23.11 MIvanchev
                   ` (28 preceding siblings ...)
  2024-05-14 10:32 ` MIvanchev
@ 2024-05-14 10:38 ` MIvanchev
  2024-05-14 15:22 ` MIvanchev
                   ` (6 subsequent siblings)
  36 siblings, 0 replies; 38+ messages in thread
From: MIvanchev @ 2024-05-14 10:38 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 670 bytes --]

There is an updated pull request by MIvanchev against master on the void-packages repository

https://github.com/MIvanchev/void-packages stumpwm
https://github.com/void-linux/void-packages/pull/49434

New package: stumpwm-23.11
#### Testing the changes
- I tested the changes in this PR: **YES**

#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**

#### Local build testing
- I built this PR locally for my native architecture, (X86_64-GLIBC)


A patch file from https://github.com/void-linux/void-packages/pull/49434.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-stumpwm-49434.patch --]
[-- Type: text/x-diff, Size: 28882 bytes --]

From 6abb0331c3dd234108c02e905764aae62ea156c1 Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
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 <contact@ivanchev.net>"
+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 <contact@ivanchev.net>
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 <contact@ivanchev.net>"
+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 <contact@ivanchev.net>
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 <contact@ivanchev.net>"
+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 <contact@ivanchev.net>
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 <contact@ivanchev.net>"
+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 <contact@ivanchev.net>
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 <contact@ivanchev.net>"
+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 14980f7b7f3cc8ad8c991e740a30dd1a6603dbb2 Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
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..2b6738d35c2855
--- /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 ${depends}"
+short_desc="Common Lisp regular expression library (Unicode property support)"
+maintainer="Mihail Ivanchev <contact@ivanchev.net>"
+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 d344b9ef1270435e96f1602b9d092eab4d9fe752 Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
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 <contact@ivanchev.net>"
+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 e17a3c1398a4873713368297e8e2125b0e0a30a3 Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
Date: Sat, 23 Mar 2024 10:04:41 +0100
Subject: [PATCH 08/10] New package: cl-clx-0.7.6

---
 srcpkgs/cl-clx/template | 142 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 142 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..f525cab05af25a
--- /dev/null
+++ b/srcpkgs/cl-clx/template
@@ -0,0 +1,142 @@
+# 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 <contact@ivanchev.net>"
+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
+
+	vlicense LICENSE
+
+	# The provided license file doesn't include all license info spread
+	# around in the package so we gather it all in an extended license
+	# file
+
+	_license_file=LICENSE.ext
+
+	# 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- > "${_license_file}"
+	echo "===============================================================" >> "${_license_file}"
+
+	# Copyright (C) 1987 Texas Instruments Incorporated.
+	sed -n '5,19p' demo/zoid.lisp | cut -c 5- >> "${_license_file}"
+	echo "===============================================================" >> "${_license_file}"
+
+	# Copyright (C) 1987, 1989 Massachussetts Institute of Technology
+	sed -n "5,14p" sockcl.lisp | cut -c 5- >> "${_license_file}"
+	echo "===============================================================" >> "${_license_file}"
+
+	# Copyright (C) Digital Equipment Corporation, 1996
+	sed -n "6,14p" extensions/dpms.lisp | cut -c 7- >> "${_license_file}"
+	echo "===============================================================" >> "${_license_file}"
+
+	# Copyright (c) 2004, Christophe Rhodes
+	sed -n "40,60p" demo/clipboard.lisp | cut -c 5- >> "${_license_file}"
+	echo "===============================================================" >> "${_license_file}"
+
+	# (c) copyright 2014 by Johannes Martinez
+	sed -n "7,18p" extensions/randr.lisp | cut -c 5- >> "${_license_file}"
+	echo "===============================================================" >> "${_license_file}"
+
+	# (c) copyright 1999 by Gilbert Baumann
+	sed -n "7,18p" extensions/shape.lisp | cut -c 5- >> "${_license_file}"
+	echo "===============================================================" >> "${_license_file}"
+
+	# Copyright (c) 1987, 1988, 1989 Franz Inc, Berkeley, Ca.
+	sed -n "4,14p" excldep.lisp | cut -c 5- >> "${_license_file}"
+	echo "===============================================================" >> "${_license_file}"
+
+	# Copyright (C) 2008, Julian Stecklina
+	sed -n "2,9p" extensions/xinerama.lisp | cut -c 5- >> "${_license_file}"
+	echo "===============================================================" >> "${_license_file}"
+
+	# Copyright (C) 1990 Symbolics, Inc.
+	sed -n "3,11p" generalock.lisp | cut -c 5- >> "${_license_file}"
+	echo "===============================================================" >> "${_license_file}"
+
+	# (c) copyright 2002, 2003 by Gilbert Baumann
+	# (c) copyright 2002 by Christian Sunesson
+	sed -n "8,20p" extensions/xrender.lisp | cut -c 5- >> "${_license_file}"
+	echo "===============================================================" >> "${_license_file}"
+
+	# (c) copyright 2005 by Istvan Marko
+	sed -n "7,18p" extensions/screensaver.lisp | cut -c 5- >> "${_license_file}"
+	echo "===============================================================" >> "${_license_file}"
+
+	# (c) copyright 2006 Richard Kreuter
+	# (c) copyright 2007 by Christophe Rhodes
+	sed -n "3,13p" extensions/big-requests.lisp | cut -c 5- >> "${_license_file}"
+	echo "===============================================================" >> "${_license_file}"
+
+	# Copyright    Massachusetts Institute of Technology    1988
+	head -n 1 socket.c >> "${_license_file}"
+	echo "===============================================================" >> "${_license_file}"
+
+	# (c) copyright 2003 by Iban Hatchondo
+	sed -n "7,18p" extensions/xvidmode.lisp | cut -c 5- >> "${_license_file}"
+	echo "===============================================================" >> "${_license_file}"
+
+	# Copyright (C) 1988 Michael O. Newton (newton@csvax.caltech.edu)
+	sed -n "827,832p" demo/clx-demos.lisp | cut -c 5- >> "${_license_file}"
+	echo "===============================================================" >> "${_license_file}"
+
+	# Copyright 1990 Massachusetts Institute of Technology, Cambridge,
+	sed -n "3,12p" package.lisp | cut -c 5- >> "${_license_file}"
+	echo "===============================================================" >> "${_license_file}"
+
+	# Copyright (C) 1988 Texas Instruments Incorporated.
+	sed -n "3,17p" demo/menu.lisp | cut -c 5- >> "${_license_file}"
+	echo "===============================================================" >> "${_license_file}"
+
+	# Public domain: Scott Fahlman
+	sed -n "4,7p" cmudep.lisp | cut -c 5- >> "${_license_file}"
+	echo "===============================================================" >> "${_license_file}"
+
+	# Public domain: Lionel Flandrin
+	sed -n "6,7p" extensions/xtest.lisp | cut -c 5- >> "${_license_file}"
+
+	# Print concatenated copyright notices to for visual inspection
+	# in the build jobs.
+	cat ${_license_file}
+
+	vlicense ${_license_file}
+}

From aa86c6ce6ec6cc193b3360e169cabd4341cb786d Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
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 <contact@ivanchev.net>"
+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 969cf36a119abb3565a828959bd9927c6af35fdb Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
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

^ permalink raw reply	[flat|nested] 38+ messages in thread

* Re: New package: stumpwm-23.11
  2024-03-21 17:11 [PR PATCH] [WIP] New package: stumpwm-23.11 MIvanchev
                   ` (29 preceding siblings ...)
  2024-05-14 10:38 ` MIvanchev
@ 2024-05-14 15:22 ` MIvanchev
  2024-06-03 21:52 ` [PR PATCH] [Updated] " MIvanchev
                   ` (5 subsequent siblings)
  36 siblings, 0 replies; 38+ messages in thread
From: MIvanchev @ 2024-05-14 15:22 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 245 bytes --]

New comment by MIvanchev on void-packages repository

https://github.com/void-linux/void-packages/pull/49434#issuecomment-2110520441

Comment:
The tests are currently failing because of a bug in SBCL 2.4.4. We should wait until SBCL is updated.

^ permalink raw reply	[flat|nested] 38+ messages in thread

* Re: [PR PATCH] [Updated] New package: stumpwm-23.11
  2024-03-21 17:11 [PR PATCH] [WIP] New package: stumpwm-23.11 MIvanchev
                   ` (30 preceding siblings ...)
  2024-05-14 15:22 ` MIvanchev
@ 2024-06-03 21:52 ` MIvanchev
  2024-06-15 10:26 ` MIvanchev
                   ` (4 subsequent siblings)
  36 siblings, 0 replies; 38+ messages in thread
From: MIvanchev @ 2024-06-03 21:52 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 670 bytes --]

There is an updated pull request by MIvanchev against master on the void-packages repository

https://github.com/MIvanchev/void-packages stumpwm
https://github.com/void-linux/void-packages/pull/49434

New package: stumpwm-23.11
#### Testing the changes
- I tested the changes in this PR: **YES**

#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**

#### Local build testing
- I built this PR locally for my native architecture, (X86_64-GLIBC)


A patch file from https://github.com/void-linux/void-packages/pull/49434.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-stumpwm-49434.patch --]
[-- Type: text/x-diff, Size: 28882 bytes --]

From e066ba8c0bf0cce4d63ff5806635282182017a69 Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
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 <contact@ivanchev.net>"
+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 72455b61d1acc18954b2139e4cc278c2cba18e84 Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
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 <contact@ivanchev.net>"
+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 499df2461d09679767806874e711857d2d1be1ae Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
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 <contact@ivanchev.net>"
+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 f9ca469a2c7bc54f70c3dacb7b86d79f60b873f5 Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
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 <contact@ivanchev.net>"
+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 3cd4192f59a569874fa7f3a962c7735ad2dee684 Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
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 <contact@ivanchev.net>"
+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 93e1618f39d0b1c312e66d26eb236b47b4e03308 Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
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..2b6738d35c2855
--- /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 ${depends}"
+short_desc="Common Lisp regular expression library (Unicode property support)"
+maintainer="Mihail Ivanchev <contact@ivanchev.net>"
+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 2f168953f8c197b1969a4fc7fbc7cf34ecc6c545 Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
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 <contact@ivanchev.net>"
+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 af5988dd9c8d0b3c24676d620ae6c7c37663fc4a Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
Date: Sat, 23 Mar 2024 10:04:41 +0100
Subject: [PATCH 08/10] New package: cl-clx-0.7.6

---
 srcpkgs/cl-clx/template | 142 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 142 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..f525cab05af25a
--- /dev/null
+++ b/srcpkgs/cl-clx/template
@@ -0,0 +1,142 @@
+# 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 <contact@ivanchev.net>"
+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
+
+	vlicense LICENSE
+
+	# The provided license file doesn't include all license info spread
+	# around in the package so we gather it all in an extended license
+	# file
+
+	_license_file=LICENSE.ext
+
+	# 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- > "${_license_file}"
+	echo "===============================================================" >> "${_license_file}"
+
+	# Copyright (C) 1987 Texas Instruments Incorporated.
+	sed -n '5,19p' demo/zoid.lisp | cut -c 5- >> "${_license_file}"
+	echo "===============================================================" >> "${_license_file}"
+
+	# Copyright (C) 1987, 1989 Massachussetts Institute of Technology
+	sed -n "5,14p" sockcl.lisp | cut -c 5- >> "${_license_file}"
+	echo "===============================================================" >> "${_license_file}"
+
+	# Copyright (C) Digital Equipment Corporation, 1996
+	sed -n "6,14p" extensions/dpms.lisp | cut -c 7- >> "${_license_file}"
+	echo "===============================================================" >> "${_license_file}"
+
+	# Copyright (c) 2004, Christophe Rhodes
+	sed -n "40,60p" demo/clipboard.lisp | cut -c 5- >> "${_license_file}"
+	echo "===============================================================" >> "${_license_file}"
+
+	# (c) copyright 2014 by Johannes Martinez
+	sed -n "7,18p" extensions/randr.lisp | cut -c 5- >> "${_license_file}"
+	echo "===============================================================" >> "${_license_file}"
+
+	# (c) copyright 1999 by Gilbert Baumann
+	sed -n "7,18p" extensions/shape.lisp | cut -c 5- >> "${_license_file}"
+	echo "===============================================================" >> "${_license_file}"
+
+	# Copyright (c) 1987, 1988, 1989 Franz Inc, Berkeley, Ca.
+	sed -n "4,14p" excldep.lisp | cut -c 5- >> "${_license_file}"
+	echo "===============================================================" >> "${_license_file}"
+
+	# Copyright (C) 2008, Julian Stecklina
+	sed -n "2,9p" extensions/xinerama.lisp | cut -c 5- >> "${_license_file}"
+	echo "===============================================================" >> "${_license_file}"
+
+	# Copyright (C) 1990 Symbolics, Inc.
+	sed -n "3,11p" generalock.lisp | cut -c 5- >> "${_license_file}"
+	echo "===============================================================" >> "${_license_file}"
+
+	# (c) copyright 2002, 2003 by Gilbert Baumann
+	# (c) copyright 2002 by Christian Sunesson
+	sed -n "8,20p" extensions/xrender.lisp | cut -c 5- >> "${_license_file}"
+	echo "===============================================================" >> "${_license_file}"
+
+	# (c) copyright 2005 by Istvan Marko
+	sed -n "7,18p" extensions/screensaver.lisp | cut -c 5- >> "${_license_file}"
+	echo "===============================================================" >> "${_license_file}"
+
+	# (c) copyright 2006 Richard Kreuter
+	# (c) copyright 2007 by Christophe Rhodes
+	sed -n "3,13p" extensions/big-requests.lisp | cut -c 5- >> "${_license_file}"
+	echo "===============================================================" >> "${_license_file}"
+
+	# Copyright    Massachusetts Institute of Technology    1988
+	head -n 1 socket.c >> "${_license_file}"
+	echo "===============================================================" >> "${_license_file}"
+
+	# (c) copyright 2003 by Iban Hatchondo
+	sed -n "7,18p" extensions/xvidmode.lisp | cut -c 5- >> "${_license_file}"
+	echo "===============================================================" >> "${_license_file}"
+
+	# Copyright (C) 1988 Michael O. Newton (newton@csvax.caltech.edu)
+	sed -n "827,832p" demo/clx-demos.lisp | cut -c 5- >> "${_license_file}"
+	echo "===============================================================" >> "${_license_file}"
+
+	# Copyright 1990 Massachusetts Institute of Technology, Cambridge,
+	sed -n "3,12p" package.lisp | cut -c 5- >> "${_license_file}"
+	echo "===============================================================" >> "${_license_file}"
+
+	# Copyright (C) 1988 Texas Instruments Incorporated.
+	sed -n "3,17p" demo/menu.lisp | cut -c 5- >> "${_license_file}"
+	echo "===============================================================" >> "${_license_file}"
+
+	# Public domain: Scott Fahlman
+	sed -n "4,7p" cmudep.lisp | cut -c 5- >> "${_license_file}"
+	echo "===============================================================" >> "${_license_file}"
+
+	# Public domain: Lionel Flandrin
+	sed -n "6,7p" extensions/xtest.lisp | cut -c 5- >> "${_license_file}"
+
+	# Print concatenated copyright notices to for visual inspection
+	# in the build jobs.
+	cat ${_license_file}
+
+	vlicense ${_license_file}
+}

From 1b623e9a192831105312ba9d032214b9c2b86195 Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
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 <contact@ivanchev.net>"
+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 2def224c71492583381e0770cdc7f0ce7272f5b6 Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
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 9d514ffbcbe891..a5cf1db2438b65 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.5
 revision=1
 # make sure the sbcl option in maxima is enabled for the same archs

^ permalink raw reply	[flat|nested] 38+ messages in thread

* Re: [PR PATCH] [Updated] New package: stumpwm-23.11
  2024-03-21 17:11 [PR PATCH] [WIP] New package: stumpwm-23.11 MIvanchev
                   ` (31 preceding siblings ...)
  2024-06-03 21:52 ` [PR PATCH] [Updated] " MIvanchev
@ 2024-06-15 10:26 ` MIvanchev
  2024-09-14  1:55 ` github-actions
                   ` (3 subsequent siblings)
  36 siblings, 0 replies; 38+ messages in thread
From: MIvanchev @ 2024-06-15 10:26 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 670 bytes --]

There is an updated pull request by MIvanchev against master on the void-packages repository

https://github.com/MIvanchev/void-packages stumpwm
https://github.com/void-linux/void-packages/pull/49434

New package: stumpwm-23.11
#### Testing the changes
- I tested the changes in this PR: **YES**

#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**

#### Local build testing
- I built this PR locally for my native architecture, (X86_64-GLIBC)


A patch file from https://github.com/void-linux/void-packages/pull/49434.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-stumpwm-49434.patch --]
[-- Type: text/x-diff, Size: 30340 bytes --]

From 1e03822935bafd46bbc56cfbc5181820e61a6e93 Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
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 <contact@ivanchev.net>"
+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 ef2a48e3bba9d41bccf5222ce55c8762e996c3de Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
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 <contact@ivanchev.net>"
+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 efe78f1eca118592d61c94f9a25ea95175008726 Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
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 <contact@ivanchev.net>"
+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 f902493cfa9fcdab394cf5c1346a37ee3f49a3ec Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
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 <contact@ivanchev.net>"
+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 1e352effd8ffa163c2f5a89d9a7a4f4876ff57fc Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
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 <contact@ivanchev.net>"
+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 15692ecf9bf99128112765a0865bdf3e28d46b15 Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
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..2b6738d35c2855
--- /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 ${depends}"
+short_desc="Common Lisp regular expression library (Unicode property support)"
+maintainer="Mihail Ivanchev <contact@ivanchev.net>"
+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 0ed283ac7d39d44d367e7f00bd6559d24a6af0b6 Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
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 <contact@ivanchev.net>"
+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 31c40cb402548884cf8ee232c28cfa2f0747bed7 Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
Date: Sat, 23 Mar 2024 10:04:41 +0100
Subject: [PATCH 08/10] New package: cl-clx-0.7.6

---
 srcpkgs/cl-clx/patches/test-fix.patch |  25 +++++
 srcpkgs/cl-clx/template               | 142 ++++++++++++++++++++++++++
 2 files changed, 167 insertions(+)
 create mode 100644 srcpkgs/cl-clx/patches/test-fix.patch
 create mode 100644 srcpkgs/cl-clx/template

diff --git a/srcpkgs/cl-clx/patches/test-fix.patch b/srcpkgs/cl-clx/patches/test-fix.patch
new file mode 100644
index 00000000000000..080a8ef35ae731
--- /dev/null
+++ b/srcpkgs/cl-clx/patches/test-fix.patch
@@ -0,0 +1,25 @@
+diff --git a/gcontext.lisp b/gcontext.lisp
+index 259bee6..3176c76 100644
+--- a/gcontext.lisp
++++ b/gcontext.lisp
+@@ -226,7 +226,7 @@
+ (def-gc-accessor foreground card32)
+ (def-gc-accessor background card32)
+ (def-gc-accessor line-width card16)
+-(def-gc-accessor line-style (member :solid :dash :double-dash))
++(def-gc-accessor line-style (member :solid :on-off-dash :double-dash))
+ (def-gc-accessor cap-style (member :not-last :butt :round :projecting))
+ (def-gc-accessor join-style (member :miter :round :bevel))
+ (def-gc-accessor fill-style (member :solid :tiled :stippled :opaque-stippled))
+diff --git a/tests/core-protocol.lisp b/tests/core-protocol.lisp
+index a49cc24..5f4501f 100644
+--- a/tests/core-protocol.lisp
++++ b/tests/core-protocol.lisp
+@@ -254,7 +254,6 @@
+            (finishes (setf (xlib:window-priority child-window) priority)))
+       (finishes (setf (xlib:window-save-under child-window) :on))
+ 
+-      (is (= (xlib:drawable-width child-window) 100))
+       (sleep 2)
+       (is (= (xlib:drawable-width child-window) 120))
+       (is (= (xlib:drawable-height child-window) 120))
diff --git a/srcpkgs/cl-clx/template b/srcpkgs/cl-clx/template
new file mode 100644
index 00000000000000..f525cab05af25a
--- /dev/null
+++ b/srcpkgs/cl-clx/template
@@ -0,0 +1,142 @@
+# 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 <contact@ivanchev.net>"
+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
+
+	vlicense LICENSE
+
+	# The provided license file doesn't include all license info spread
+	# around in the package so we gather it all in an extended license
+	# file
+
+	_license_file=LICENSE.ext
+
+	# 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- > "${_license_file}"
+	echo "===============================================================" >> "${_license_file}"
+
+	# Copyright (C) 1987 Texas Instruments Incorporated.
+	sed -n '5,19p' demo/zoid.lisp | cut -c 5- >> "${_license_file}"
+	echo "===============================================================" >> "${_license_file}"
+
+	# Copyright (C) 1987, 1989 Massachussetts Institute of Technology
+	sed -n "5,14p" sockcl.lisp | cut -c 5- >> "${_license_file}"
+	echo "===============================================================" >> "${_license_file}"
+
+	# Copyright (C) Digital Equipment Corporation, 1996
+	sed -n "6,14p" extensions/dpms.lisp | cut -c 7- >> "${_license_file}"
+	echo "===============================================================" >> "${_license_file}"
+
+	# Copyright (c) 2004, Christophe Rhodes
+	sed -n "40,60p" demo/clipboard.lisp | cut -c 5- >> "${_license_file}"
+	echo "===============================================================" >> "${_license_file}"
+
+	# (c) copyright 2014 by Johannes Martinez
+	sed -n "7,18p" extensions/randr.lisp | cut -c 5- >> "${_license_file}"
+	echo "===============================================================" >> "${_license_file}"
+
+	# (c) copyright 1999 by Gilbert Baumann
+	sed -n "7,18p" extensions/shape.lisp | cut -c 5- >> "${_license_file}"
+	echo "===============================================================" >> "${_license_file}"
+
+	# Copyright (c) 1987, 1988, 1989 Franz Inc, Berkeley, Ca.
+	sed -n "4,14p" excldep.lisp | cut -c 5- >> "${_license_file}"
+	echo "===============================================================" >> "${_license_file}"
+
+	# Copyright (C) 2008, Julian Stecklina
+	sed -n "2,9p" extensions/xinerama.lisp | cut -c 5- >> "${_license_file}"
+	echo "===============================================================" >> "${_license_file}"
+
+	# Copyright (C) 1990 Symbolics, Inc.
+	sed -n "3,11p" generalock.lisp | cut -c 5- >> "${_license_file}"
+	echo "===============================================================" >> "${_license_file}"
+
+	# (c) copyright 2002, 2003 by Gilbert Baumann
+	# (c) copyright 2002 by Christian Sunesson
+	sed -n "8,20p" extensions/xrender.lisp | cut -c 5- >> "${_license_file}"
+	echo "===============================================================" >> "${_license_file}"
+
+	# (c) copyright 2005 by Istvan Marko
+	sed -n "7,18p" extensions/screensaver.lisp | cut -c 5- >> "${_license_file}"
+	echo "===============================================================" >> "${_license_file}"
+
+	# (c) copyright 2006 Richard Kreuter
+	# (c) copyright 2007 by Christophe Rhodes
+	sed -n "3,13p" extensions/big-requests.lisp | cut -c 5- >> "${_license_file}"
+	echo "===============================================================" >> "${_license_file}"
+
+	# Copyright    Massachusetts Institute of Technology    1988
+	head -n 1 socket.c >> "${_license_file}"
+	echo "===============================================================" >> "${_license_file}"
+
+	# (c) copyright 2003 by Iban Hatchondo
+	sed -n "7,18p" extensions/xvidmode.lisp | cut -c 5- >> "${_license_file}"
+	echo "===============================================================" >> "${_license_file}"
+
+	# Copyright (C) 1988 Michael O. Newton (newton@csvax.caltech.edu)
+	sed -n "827,832p" demo/clx-demos.lisp | cut -c 5- >> "${_license_file}"
+	echo "===============================================================" >> "${_license_file}"
+
+	# Copyright 1990 Massachusetts Institute of Technology, Cambridge,
+	sed -n "3,12p" package.lisp | cut -c 5- >> "${_license_file}"
+	echo "===============================================================" >> "${_license_file}"
+
+	# Copyright (C) 1988 Texas Instruments Incorporated.
+	sed -n "3,17p" demo/menu.lisp | cut -c 5- >> "${_license_file}"
+	echo "===============================================================" >> "${_license_file}"
+
+	# Public domain: Scott Fahlman
+	sed -n "4,7p" cmudep.lisp | cut -c 5- >> "${_license_file}"
+	echo "===============================================================" >> "${_license_file}"
+
+	# Public domain: Lionel Flandrin
+	sed -n "6,7p" extensions/xtest.lisp | cut -c 5- >> "${_license_file}"
+
+	# Print concatenated copyright notices to for visual inspection
+	# in the build jobs.
+	cat ${_license_file}
+
+	vlicense ${_license_file}
+}

From 8eb31b7fa07b3be4e58cc9a7ee23b918dc09654e Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
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 <contact@ivanchev.net>"
+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 6b5f5387ef170e700f3f55ace81fca2e04dfe9aa Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
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 9d514ffbcbe891..a5cf1db2438b65 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.5
 revision=1
 # make sure the sbcl option in maxima is enabled for the same archs

^ permalink raw reply	[flat|nested] 38+ messages in thread

* Re: New package: stumpwm-23.11
  2024-03-21 17:11 [PR PATCH] [WIP] New package: stumpwm-23.11 MIvanchev
                   ` (32 preceding siblings ...)
  2024-06-15 10:26 ` MIvanchev
@ 2024-09-14  1:55 ` github-actions
  2024-09-14  8:52 ` MIvanchev
                   ` (2 subsequent siblings)
  36 siblings, 0 replies; 38+ messages in thread
From: github-actions @ 2024-09-14  1:55 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 305 bytes --]

New comment by github-actions[bot] on void-packages repository

https://github.com/void-linux/void-packages/pull/49434#issuecomment-2350778021

Comment:
Pull Requests become stale 90 days after last activity and are closed 14 days after that.  If this pull request is still relevant bump it or assign it.

^ permalink raw reply	[flat|nested] 38+ messages in thread

* Re: New package: stumpwm-23.11
  2024-03-21 17:11 [PR PATCH] [WIP] New package: stumpwm-23.11 MIvanchev
                   ` (33 preceding siblings ...)
  2024-09-14  1:55 ` github-actions
@ 2024-09-14  8:52 ` MIvanchev
  2024-10-20 10:37 ` atisharma
  2024-10-20 16:52 ` MIvanchev
  36 siblings, 0 replies; 38+ messages in thread
From: MIvanchev @ 2024-09-14  8:52 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 149 bytes --]

New comment by MIvanchev on void-packages repository

https://github.com/void-linux/void-packages/pull/49434#issuecomment-2350918504

Comment:
Bump.

^ permalink raw reply	[flat|nested] 38+ messages in thread

* Re: New package: stumpwm-23.11
  2024-03-21 17:11 [PR PATCH] [WIP] New package: stumpwm-23.11 MIvanchev
                   ` (34 preceding siblings ...)
  2024-09-14  8:52 ` MIvanchev
@ 2024-10-20 10:37 ` atisharma
  2024-10-20 16:52 ` MIvanchev
  36 siblings, 0 replies; 38+ messages in thread
From: atisharma @ 2024-10-20 10:37 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 162 bytes --]

New comment by atisharma on void-packages repository

https://github.com/void-linux/void-packages/pull/49434#issuecomment-2424830287

Comment:
SBCL is now 2.4.9.

^ permalink raw reply	[flat|nested] 38+ messages in thread

* Re: New package: stumpwm-23.11
  2024-03-21 17:11 [PR PATCH] [WIP] New package: stumpwm-23.11 MIvanchev
                   ` (35 preceding siblings ...)
  2024-10-20 10:37 ` atisharma
@ 2024-10-20 16:52 ` MIvanchev
  36 siblings, 0 replies; 38+ messages in thread
From: MIvanchev @ 2024-10-20 16:52 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 277 bytes --]

New comment by MIvanchev on void-packages repository

https://github.com/void-linux/void-packages/pull/49434#issuecomment-2425116136

Comment:
@atisharma I'm not updating because there is an issue with CPU activity on SBCL 2.4.9: https://github.com/stumpwm/stumpwm/issues/1204

^ permalink raw reply	[flat|nested] 38+ messages in thread

end of thread, other threads:[~2024-10-20 16:52 UTC | newest]

Thread overview: 38+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-03-21 17:11 [PR PATCH] [WIP] New package: stumpwm-23.11 MIvanchev
2024-03-21 17:19 ` [PR PATCH] [Updated] " MIvanchev
2024-03-21 17:35 ` MIvanchev
2024-03-21 17:37 ` MIvanchev
2024-03-21 17:47 ` MIvanchev
2024-03-21 18:03 ` MIvanchev
2024-03-22 16:04 ` MIvanchev
2024-03-22 16:08 ` MIvanchev
2024-03-22 21:34 ` MIvanchev
2024-03-22 21:38 ` MIvanchev
2024-03-23  8:46 ` MIvanchev
2024-03-23  8:54 ` MIvanchev
2024-03-23  8:57 ` MIvanchev
2024-03-23  9:04 ` MIvanchev
2024-03-23  9:09 ` MIvanchev
2024-03-23  9:21 ` MIvanchev
2024-03-23  9:27 ` MIvanchev
2024-03-23  9:27 ` MIvanchev
2024-03-23  9:45 ` MIvanchev
2024-03-23  9:57 ` MIvanchev
2024-03-23 10:05 ` MIvanchev
2024-03-23 16:12 ` MIvanchev
2024-03-23 18:32 ` MIvanchev
2024-05-12 16:50 ` [PR PATCH] [Updated] " MIvanchev
2024-05-12 16:52 ` MIvanchev
2024-05-12 17:08 ` MIvanchev
2024-05-13 11:33 ` MIvanchev
2024-05-13 11:38 ` MIvanchev
2024-05-14 10:03 ` MIvanchev
2024-05-14 10:32 ` MIvanchev
2024-05-14 10:38 ` MIvanchev
2024-05-14 15:22 ` MIvanchev
2024-06-03 21:52 ` [PR PATCH] [Updated] " MIvanchev
2024-06-15 10:26 ` MIvanchev
2024-09-14  1:55 ` github-actions
2024-09-14  8:52 ` MIvanchev
2024-10-20 10:37 ` atisharma
2024-10-20 16:52 ` MIvanchev

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).