unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#35991] [PATCH 0/9] Packaging sbcl-iolib (and dbus)
@ 2019-05-29 13:29 Pierre Neidhardt
  2019-05-29 13:29 ` [bug#35985] [PATCH 1/9] gnu: Add idna Pierre Neidhardt
                   ` (2 more replies)
  0 siblings, 3 replies; 21+ messages in thread
From: Pierre Neidhardt @ 2019-05-29 13:29 UTC (permalink / raw)
  To: 35991; +Cc: Katherine Cox-Buday

I can build iolib but the dbus package fails to use it because
iolib-multiplex, a subsystem, cannot be found.

Indeed, the sbcl package only exposes iolib while the .asd in the source exposes a dozen of subsystems, including
:iolib/multiplex.

See https://github.com/sionescu/iolib/blob/master/iolib.asd.

Do we support multi-system .asd files?

Pierre Neidhardt (9):
  gnu: Add idna.
  gnu: Add swap-bytes.
  gnu: Add sbcl-iolib.asdf.
  gnu: Add sbcl-iolib.conf.
  gnu: Add sbcl-iolib.common-lisp.
  gnu: Add sbcl-iolib.base.
  gnu: Add sbcl-iolib.grovel.
  gnu: Add sbcl-iolib.
  gnu: Add sbcl-dbus.

 gnu/packages/lisp.scm | 212 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 212 insertions(+)

--
2.21.0

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

* [bug#35985] [PATCH 1/9] gnu: Add idna.
  2019-05-29 13:29 [bug#35991] [PATCH 0/9] Packaging sbcl-iolib (and dbus) Pierre Neidhardt
@ 2019-05-29 13:29 ` Pierre Neidhardt
  2019-05-29 13:29   ` [bug#35984] [PATCH 2/9] gnu: Add swap-bytes Pierre Neidhardt
                     ` (7 more replies)
  2019-05-29 14:07 ` [bug#35991] [PATCH 1/9] gnu: Add idna Pierre Neidhardt
  2019-06-04 12:50 ` [bug#35991] [PATCH 0/9] Packaging sbcl-iolib (and dbus) Katherine Cox-Buday
  2 siblings, 8 replies; 21+ messages in thread
From: Pierre Neidhardt @ 2019-05-29 13:29 UTC (permalink / raw)
  To: 35985

* gnu/packages/lisp.scm (cl-idna, ecl-idna, sbcl-idna): New variables.
---
 gnu/packages/lisp.scm | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index 167c4433b1..27a868c559 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -5321,3 +5321,32 @@ port within a range.")
 
 (define-public ecl-find-port
   (sbcl-package->ecl-package sbcl-find-port))
+
+(define-public sbcl-idna
+  (package
+    (name "sbcl-idna")
+    (build-system asdf-build-system/sbcl)
+    (version "0.2.2")
+    (home-page "https://github.com/antifuchs/idna")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url home-page)
+             (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "00nbr3mffxhlq14gg9d16pa6691s4qh35inyw76v906s77khm5a2"))))
+    (inputs
+     `(("split-sequence" ,sbcl-split-sequence)))
+    (synopsis "IDNA string encoding and decoding routines for Common Lisp")
+    (description "This Common Lisp library provides string encoding and
+decoding routines for IDNA, the International Domain Names in Applications.")
+    (license license:expat)))
+
+(define-public cl-idna
+  (sbcl-package->cl-source-package sbcl-idna))
+
+(define-public ecl-idna
+  (sbcl-package->ecl-package sbcl-idna))
-- 
2.21.0

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

* [bug#35984] [PATCH 2/9] gnu: Add swap-bytes.
  2019-05-29 13:29 ` [bug#35985] [PATCH 1/9] gnu: Add idna Pierre Neidhardt
@ 2019-05-29 13:29   ` Pierre Neidhardt
  2019-05-29 13:29   ` [bug#35989] [PATCH 3/9] gnu: Add sbcl-iolib.asdf Pierre Neidhardt
                     ` (6 subsequent siblings)
  7 siblings, 0 replies; 21+ messages in thread
From: Pierre Neidhardt @ 2019-05-29 13:29 UTC (permalink / raw)
  To: 35984

* gnu/packages/lisp.scm (cl-swap-bytes, ecl-swap-bytes, sbcl-swap-bytes): New variables.
---
 gnu/packages/lisp.scm | 36 ++++++++++++++++++++++++++++++++++++
 1 file changed, 36 insertions(+)

diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index 27a868c559..537150dd61 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -5350,3 +5350,39 @@ decoding routines for IDNA, the International Domain Names in Applications.")
 
 (define-public ecl-idna
   (sbcl-package->ecl-package sbcl-idna))
+
+(define-public sbcl-swap-bytes
+  (package
+    (name "sbcl-swap-bytes")
+    (build-system asdf-build-system/sbcl)
+    (version "1.1")
+    (home-page "https://github.com/sionescu/swap-bytes")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url home-page)
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "1qysbv0jngdfkv53y874qjhcxc4qi8ixaqq6j8bzxh5z0931wv55"))))
+    (inputs
+     `(("trivial-features" ,sbcl-trivial-features)))
+    (native-inputs
+     `(("fiveam" ,sbcl-fiveam)))
+    (arguments
+     ;; TODO: Tests fail, why?
+     `(#:tests? #f))
+    (synopsis "Efficient endianness conversion for Common Lisp")
+    (description "This Common Lisp library provides optimized byte-swapping
+primitives.  The library can change endianness of unsigned integers of length
+1/2/4/8.  Very useful in implementing various network protocols and file
+formats.")
+    (license license:expat)))
+
+(define-public cl-swap-bytes
+  (sbcl-package->cl-source-package sbcl-swap-bytes))
+
+(define-public ecl-swap-bytes
+  (sbcl-package->ecl-package sbcl-swap-bytes))
-- 
2.21.0

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

* [bug#35989] [PATCH 3/9] gnu: Add sbcl-iolib.asdf.
  2019-05-29 13:29 ` [bug#35985] [PATCH 1/9] gnu: Add idna Pierre Neidhardt
  2019-05-29 13:29   ` [bug#35984] [PATCH 2/9] gnu: Add swap-bytes Pierre Neidhardt
@ 2019-05-29 13:29   ` Pierre Neidhardt
  2019-05-29 13:29   ` [bug#35986] [PATCH 4/9] gnu: Add sbcl-iolib.conf Pierre Neidhardt
                     ` (5 subsequent siblings)
  7 siblings, 0 replies; 21+ messages in thread
From: Pierre Neidhardt @ 2019-05-29 13:29 UTC (permalink / raw)
  To: 35989

* gnu/packages/lisp.scm (sbcl-iolib.asdf): New variable.
---
 gnu/packages/lisp.scm | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index 537150dd61..697bdbd257 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -5386,3 +5386,33 @@ formats.")
 
 (define-public ecl-swap-bytes
   (sbcl-package->ecl-package sbcl-swap-bytes))
+
+(define-public sbcl-iolib.asdf
+  ;; Latest release is from June 2017.
+  (let ((commit "81e20614c0d27f9605bf9766214e236fd31b99b4")
+        (revision "1"))
+    (package
+      (name "sbcl-iolib.asdf")
+      (build-system asdf-build-system/sbcl)
+      (version "0.8.3")
+      (home-page "https://github.com/sionescu/iolib")
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url home-page)
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32
+           "1j81r0wm7nfbwl991f26s4npcy7kybzybd3m47rbxy31h0cfcmdm"))))
+      (inputs
+       `(("alexandria" ,sbcl-alexandria)))
+      (arguments
+       '(#:asd-file "iolib.asdf.asd"))
+      (synopsis "ASDF component classes for IOLib, a Common Lisp I/O library")
+      (description "IOlib is to be a better and more modern I/O library than
+the standard Common Lisp library.  It contains a socket library, a DNS
+resolver, an I/O multiplexer(which supports @code{select(2)}, @code{epoll(4)}
+and @code{kqueue(2)}), a pathname library and file-system utilities.")
+      (license license:expat))))
-- 
2.21.0

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

* [bug#35986] [PATCH 4/9] gnu: Add sbcl-iolib.conf.
  2019-05-29 13:29 ` [bug#35985] [PATCH 1/9] gnu: Add idna Pierre Neidhardt
  2019-05-29 13:29   ` [bug#35984] [PATCH 2/9] gnu: Add swap-bytes Pierre Neidhardt
  2019-05-29 13:29   ` [bug#35989] [PATCH 3/9] gnu: Add sbcl-iolib.asdf Pierre Neidhardt
@ 2019-05-29 13:29   ` Pierre Neidhardt
  2019-05-29 13:29   ` [bug#35988] [PATCH 5/9] gnu: Add sbcl-iolib.common-lisp Pierre Neidhardt
                     ` (4 subsequent siblings)
  7 siblings, 0 replies; 21+ messages in thread
From: Pierre Neidhardt @ 2019-05-29 13:29 UTC (permalink / raw)
  To: 35986

* gnu/packages/lisp.scm (sbcl-iolib.conf): New variable.
---
 gnu/packages/lisp.scm | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index 697bdbd257..db405af8d9 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -5416,3 +5416,13 @@ the standard Common Lisp library.  It contains a socket library, a DNS
 resolver, an I/O multiplexer(which supports @code{select(2)}, @code{epoll(4)}
 and @code{kqueue(2)}), a pathname library and file-system utilities.")
       (license license:expat))))
+
+(define-public sbcl-iolib.conf
+  (package
+    (inherit sbcl-iolib.asdf)
+    (name "sbcl-iolib.conf")
+    (inputs
+     `(("iolib.asdf" ,sbcl-iolib.asdf)))
+    (arguments
+     '(#:asd-file "iolib.conf.asd"))
+    (synopsis "Compile-time configuration for IOLib, a Common Lisp I/O library")))
-- 
2.21.0

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

* [bug#35988] [PATCH 5/9] gnu: Add sbcl-iolib.common-lisp.
  2019-05-29 13:29 ` [bug#35985] [PATCH 1/9] gnu: Add idna Pierre Neidhardt
                     ` (2 preceding siblings ...)
  2019-05-29 13:29   ` [bug#35986] [PATCH 4/9] gnu: Add sbcl-iolib.conf Pierre Neidhardt
@ 2019-05-29 13:29   ` Pierre Neidhardt
  2019-05-29 13:29   ` [bug#35987] [PATCH 6/9] gnu: Add sbcl-iolib.base Pierre Neidhardt
                     ` (3 subsequent siblings)
  7 siblings, 0 replies; 21+ messages in thread
From: Pierre Neidhardt @ 2019-05-29 13:29 UTC (permalink / raw)
  To: 35988

* gnu/packages/lisp.scm (sbcl-iolib.common-lisp): New variable.
---
 gnu/packages/lisp.scm | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index db405af8d9..c4a9d9bd78 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -5426,3 +5426,14 @@ and @code{kqueue(2)}), a pathname library and file-system utilities.")
     (arguments
      '(#:asd-file "iolib.conf.asd"))
     (synopsis "Compile-time configuration for IOLib, a Common Lisp I/O library")))
+
+(define-public sbcl-iolib.common-lisp
+  (package
+    (inherit sbcl-iolib.asdf)
+    (name "sbcl-iolib.common-lisp")
+    (inputs
+     `(("iolib.asdf" ,sbcl-iolib.asdf)
+       ("iolib.conf" ,sbcl-iolib.conf)))
+    (arguments
+     '(#:asd-file "iolib.common-lisp.asd"))
+    (synopsis "Slightly modified Common Lisp for IOLib, a Common Lisp I/O library")))
-- 
2.21.0

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

* [bug#35987] [PATCH 6/9] gnu: Add sbcl-iolib.base.
  2019-05-29 13:29 ` [bug#35985] [PATCH 1/9] gnu: Add idna Pierre Neidhardt
                     ` (3 preceding siblings ...)
  2019-05-29 13:29   ` [bug#35988] [PATCH 5/9] gnu: Add sbcl-iolib.common-lisp Pierre Neidhardt
@ 2019-05-29 13:29   ` Pierre Neidhardt
  2019-05-29 13:29   ` [bug#35983] [PATCH 7/9] gnu: Add sbcl-iolib.grovel Pierre Neidhardt
                     ` (2 subsequent siblings)
  7 siblings, 0 replies; 21+ messages in thread
From: Pierre Neidhardt @ 2019-05-29 13:29 UTC (permalink / raw)
  To: 35987

* gnu/packages/lisp.scm (sbcl-iolib.base): New variable.
---
 gnu/packages/lisp.scm | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index c4a9d9bd78..fb15edd52d 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -5437,3 +5437,16 @@ and @code{kqueue(2)}), a pathname library and file-system utilities.")
     (arguments
      '(#:asd-file "iolib.common-lisp.asd"))
     (synopsis "Slightly modified Common Lisp for IOLib, a Common Lisp I/O library")))
+
+(define-public sbcl-iolib.base
+  (package
+    (inherit sbcl-iolib.asdf)
+    (name "sbcl-iolib.base")
+    (inputs
+     `(("iolib.asdf" ,sbcl-iolib.asdf)
+       ("iolib.conf" ,sbcl-iolib.conf)
+       ("iolib.common-lisp" ,sbcl-iolib.common-lisp)
+       ("split-sequence" ,sbcl-split-sequence)))
+    (arguments
+     '(#:asd-file "iolib.base.asd"))
+    (synopsis "Base package for IOLib, a Common Lisp I/O library")))
-- 
2.21.0

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

* [bug#35983] [PATCH 7/9] gnu: Add sbcl-iolib.grovel.
  2019-05-29 13:29 ` [bug#35985] [PATCH 1/9] gnu: Add idna Pierre Neidhardt
                     ` (4 preceding siblings ...)
  2019-05-29 13:29   ` [bug#35987] [PATCH 6/9] gnu: Add sbcl-iolib.base Pierre Neidhardt
@ 2019-05-29 13:29   ` Pierre Neidhardt
  2019-05-29 13:29   ` [bug#35982] [PATCH 8/9] gnu: Add sbcl-iolib Pierre Neidhardt
  2019-05-29 13:29   ` [bug#35990] [PATCH 9/9] gnu: Add sbcl-dbus Pierre Neidhardt
  7 siblings, 0 replies; 21+ messages in thread
From: Pierre Neidhardt @ 2019-05-29 13:29 UTC (permalink / raw)
  To: 35983

* gnu/packages/lisp.scm (sbcl-iolib.grovel): New variable.
---
 gnu/packages/lisp.scm | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index fb15edd52d..34bd0ce0cd 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -5450,3 +5450,24 @@ and @code{kqueue(2)}), a pathname library and file-system utilities.")
     (arguments
      '(#:asd-file "iolib.base.asd"))
     (synopsis "Base package for IOLib, a Common Lisp I/O library")))
+
+(define-public sbcl-iolib.grovel
+  (package
+    (inherit sbcl-iolib.asdf)
+    (name "sbcl-iolib.grovel")
+    (inputs
+     `(("iolib.asdf" ,sbcl-iolib.asdf)
+       ("iolib.conf" ,sbcl-iolib.conf)
+       ("iolib.base", sbcl-iolib.base)
+       ("cffi", sbcl-cffi)))
+    (arguments
+     '(#:asd-file "iolib.grovel.asd"
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'install 'install-header
+           (lambda* (#:key outputs #:allow-other-keys)
+             ;; This header is required by sbcl-iolib.
+             (install-file "src/grovel/grovel-common.h"
+                           (string-append (assoc-ref outputs "out")
+                                          "/lib/sbcl")))))))
+    (synopsis "CFFI Groveller for IOLib, a Common Lisp I/O library")))
-- 
2.21.0

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

* [bug#35982] [PATCH 8/9] gnu: Add sbcl-iolib.
  2019-05-29 13:29 ` [bug#35985] [PATCH 1/9] gnu: Add idna Pierre Neidhardt
                     ` (5 preceding siblings ...)
  2019-05-29 13:29   ` [bug#35983] [PATCH 7/9] gnu: Add sbcl-iolib.grovel Pierre Neidhardt
@ 2019-05-29 13:29   ` Pierre Neidhardt
  2019-05-29 13:29   ` [bug#35990] [PATCH 9/9] gnu: Add sbcl-dbus Pierre Neidhardt
  7 siblings, 0 replies; 21+ messages in thread
From: Pierre Neidhardt @ 2019-05-29 13:29 UTC (permalink / raw)
  To: 35982

* gnu/packages/lisp.scm (sbcl-iolib): New variable.
---
 gnu/packages/lisp.scm | 34 ++++++++++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)

diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index 34bd0ce0cd..31d2e8d550 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -45,6 +45,7 @@
   #:use-module (gnu packages admin)
   #:use-module (gnu packages base)
   #:use-module (gnu packages bdw-gc)
+  #:use-module (gnu packages c)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages ed)
   #:use-module (gnu packages fontutils)
@@ -5471,3 +5472,36 @@ and @code{kqueue(2)}), a pathname library and file-system utilities.")
                            (string-append (assoc-ref outputs "out")
                                           "/lib/sbcl")))))))
     (synopsis "CFFI Groveller for IOLib, a Common Lisp I/O library")))
+
+(define-public sbcl-iolib
+  (package
+    (inherit sbcl-iolib.asdf)
+    (name "sbcl-iolib")
+    (inputs
+     `(("iolib.asdf" ,sbcl-iolib.asdf)
+       ("iolib.conf" ,sbcl-iolib.conf)
+       ("iolib.grovel" ,sbcl-iolib.grovel)
+       ("iolib.base", sbcl-iolib.base)
+       ("bordeaux-threads", sbcl-bordeaux-threads)
+       ("idna", sbcl-idna)
+       ("swap-bytes", sbcl-swap-bytes)
+       ("libfixposix", libfixposix)))
+    (native-inputs
+     `(("fiveam" ,sbcl-fiveam)))
+    (arguments
+     '(#:asd-file "iolib.asd"
+       #:test-asd-file "iolib.tests.asd"
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'fix-paths
+           (lambda* (#:key inputs #:allow-other-keys)
+             (substitute* "src/syscalls/ffi-functions-unix.lisp"
+               (("\\(:default \"libfixposix\"\\)")
+                (string-append
+                 "(:default \""
+                 (assoc-ref inputs "libfixposix") "/lib/libfixposix\")")))
+             ;; Socket tests need Internet access, disable them.
+             (substitute* "iolib.tests.asd"
+               (("\\(:file \"sockets\" :depends-on \\(\"pkgdcl\" \"defsuites\"\\)\\)")
+                "")))))))
+    (synopsis "Common Lisp I/O library")))
-- 
2.21.0

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

* [bug#35990] [PATCH 9/9] gnu: Add sbcl-dbus.
  2019-05-29 13:29 ` [bug#35985] [PATCH 1/9] gnu: Add idna Pierre Neidhardt
                     ` (6 preceding siblings ...)
  2019-05-29 13:29   ` [bug#35982] [PATCH 8/9] gnu: Add sbcl-iolib Pierre Neidhardt
@ 2019-05-29 13:29   ` Pierre Neidhardt
  7 siblings, 0 replies; 21+ messages in thread
From: Pierre Neidhardt @ 2019-05-29 13:29 UTC (permalink / raw)
  To: 35990

* gnu/packages/lisp.scm (sbcl-dbus): New variable.
---
 gnu/packages/lisp.scm | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index 31d2e8d550..2aa73aaa38 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -5505,3 +5505,31 @@ and @code{kqueue(2)}), a pathname library and file-system utilities.")
                (("\\(:file \"sockets\" :depends-on \\(\"pkgdcl\" \"defsuites\"\\)\\)")
                 "")))))))
     (synopsis "Common Lisp I/O library")))
+
+(define-public sbcl-dbus
+  (let ((commit "24b452df3a45ca5dc95015500f34baad175c981a")
+        (revision "1"))
+    (package
+      (name "sbcl-dbus")
+      (build-system asdf-build-system/sbcl)
+      (version (git-version "20190408" revision commit))
+      (home-page "https://github.com/death/dbus")
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url home-page)
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32
+           "0fw2q866yddbf23nk9pxphm9gsasx35vjyss82xzvndnjmzlqfl5"))))
+      (inputs
+       `(("alexandria" ,sbcl-alexandria)
+         ("trivial-garbage" ,sbcl-trivial-garbage)
+         ("babel" ,sbcl-babel)
+         ("sbcl-iolib" ,sbcl-iolib)))   ; TODO: Fails because iolib-multiplex cannot be found.
+      (synopsis "D-BUS client library for Common Lisp")
+      (description "This is a Common Lisp library that allows to publish D-Bus
+objects as well as send and notify other objects connected to a bus.")
+      (license license:bsd-2))))
-- 
2.21.0

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

* [bug#35991] [PATCH 1/9] gnu: Add idna.
  2019-05-29 13:29 [bug#35991] [PATCH 0/9] Packaging sbcl-iolib (and dbus) Pierre Neidhardt
  2019-05-29 13:29 ` [bug#35985] [PATCH 1/9] gnu: Add idna Pierre Neidhardt
@ 2019-05-29 14:07 ` Pierre Neidhardt
  2019-05-29 14:07   ` [bug#35991] [PATCH 2/9] gnu: Add swap-bytes Pierre Neidhardt
                     ` (7 more replies)
  2019-06-04 12:50 ` [bug#35991] [PATCH 0/9] Packaging sbcl-iolib (and dbus) Katherine Cox-Buday
  2 siblings, 8 replies; 21+ messages in thread
From: Pierre Neidhardt @ 2019-05-29 14:07 UTC (permalink / raw)
  To: 35991

* gnu/packages/lisp.scm (cl-idna, ecl-idna, sbcl-idna): New variables.
---
 gnu/packages/lisp.scm | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index 167c4433b1..27a868c559 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -5321,3 +5321,32 @@ port within a range.")
 
 (define-public ecl-find-port
   (sbcl-package->ecl-package sbcl-find-port))
+
+(define-public sbcl-idna
+  (package
+    (name "sbcl-idna")
+    (build-system asdf-build-system/sbcl)
+    (version "0.2.2")
+    (home-page "https://github.com/antifuchs/idna")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url home-page)
+             (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "00nbr3mffxhlq14gg9d16pa6691s4qh35inyw76v906s77khm5a2"))))
+    (inputs
+     `(("split-sequence" ,sbcl-split-sequence)))
+    (synopsis "IDNA string encoding and decoding routines for Common Lisp")
+    (description "This Common Lisp library provides string encoding and
+decoding routines for IDNA, the International Domain Names in Applications.")
+    (license license:expat)))
+
+(define-public cl-idna
+  (sbcl-package->cl-source-package sbcl-idna))
+
+(define-public ecl-idna
+  (sbcl-package->ecl-package sbcl-idna))
-- 
2.21.0

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

* [bug#35991] [PATCH 2/9] gnu: Add swap-bytes.
  2019-05-29 14:07 ` [bug#35991] [PATCH 1/9] gnu: Add idna Pierre Neidhardt
@ 2019-05-29 14:07   ` Pierre Neidhardt
  2019-05-29 14:07   ` [bug#35991] [PATCH 3/9] gnu: Add sbcl-iolib.asdf Pierre Neidhardt
                     ` (6 subsequent siblings)
  7 siblings, 0 replies; 21+ messages in thread
From: Pierre Neidhardt @ 2019-05-29 14:07 UTC (permalink / raw)
  To: 35991

* gnu/packages/lisp.scm (cl-swap-bytes, ecl-swap-bytes, sbcl-swap-bytes): New variables.
---
 gnu/packages/lisp.scm | 36 ++++++++++++++++++++++++++++++++++++
 1 file changed, 36 insertions(+)

diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index 27a868c559..537150dd61 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -5350,3 +5350,39 @@ decoding routines for IDNA, the International Domain Names in Applications.")
 
 (define-public ecl-idna
   (sbcl-package->ecl-package sbcl-idna))
+
+(define-public sbcl-swap-bytes
+  (package
+    (name "sbcl-swap-bytes")
+    (build-system asdf-build-system/sbcl)
+    (version "1.1")
+    (home-page "https://github.com/sionescu/swap-bytes")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url home-page)
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "1qysbv0jngdfkv53y874qjhcxc4qi8ixaqq6j8bzxh5z0931wv55"))))
+    (inputs
+     `(("trivial-features" ,sbcl-trivial-features)))
+    (native-inputs
+     `(("fiveam" ,sbcl-fiveam)))
+    (arguments
+     ;; TODO: Tests fail, why?
+     `(#:tests? #f))
+    (synopsis "Efficient endianness conversion for Common Lisp")
+    (description "This Common Lisp library provides optimized byte-swapping
+primitives.  The library can change endianness of unsigned integers of length
+1/2/4/8.  Very useful in implementing various network protocols and file
+formats.")
+    (license license:expat)))
+
+(define-public cl-swap-bytes
+  (sbcl-package->cl-source-package sbcl-swap-bytes))
+
+(define-public ecl-swap-bytes
+  (sbcl-package->ecl-package sbcl-swap-bytes))
-- 
2.21.0

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

* [bug#35991] [PATCH 3/9] gnu: Add sbcl-iolib.asdf.
  2019-05-29 14:07 ` [bug#35991] [PATCH 1/9] gnu: Add idna Pierre Neidhardt
  2019-05-29 14:07   ` [bug#35991] [PATCH 2/9] gnu: Add swap-bytes Pierre Neidhardt
@ 2019-05-29 14:07   ` Pierre Neidhardt
  2019-05-29 14:07   ` [bug#35991] [PATCH 4/9] gnu: Add sbcl-iolib.conf Pierre Neidhardt
                     ` (5 subsequent siblings)
  7 siblings, 0 replies; 21+ messages in thread
From: Pierre Neidhardt @ 2019-05-29 14:07 UTC (permalink / raw)
  To: 35991

* gnu/packages/lisp.scm (sbcl-iolib.asdf): New variable.
---
 gnu/packages/lisp.scm | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index 537150dd61..697bdbd257 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -5386,3 +5386,33 @@ formats.")
 
 (define-public ecl-swap-bytes
   (sbcl-package->ecl-package sbcl-swap-bytes))
+
+(define-public sbcl-iolib.asdf
+  ;; Latest release is from June 2017.
+  (let ((commit "81e20614c0d27f9605bf9766214e236fd31b99b4")
+        (revision "1"))
+    (package
+      (name "sbcl-iolib.asdf")
+      (build-system asdf-build-system/sbcl)
+      (version "0.8.3")
+      (home-page "https://github.com/sionescu/iolib")
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url home-page)
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32
+           "1j81r0wm7nfbwl991f26s4npcy7kybzybd3m47rbxy31h0cfcmdm"))))
+      (inputs
+       `(("alexandria" ,sbcl-alexandria)))
+      (arguments
+       '(#:asd-file "iolib.asdf.asd"))
+      (synopsis "ASDF component classes for IOLib, a Common Lisp I/O library")
+      (description "IOlib is to be a better and more modern I/O library than
+the standard Common Lisp library.  It contains a socket library, a DNS
+resolver, an I/O multiplexer(which supports @code{select(2)}, @code{epoll(4)}
+and @code{kqueue(2)}), a pathname library and file-system utilities.")
+      (license license:expat))))
-- 
2.21.0

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

* [bug#35991] [PATCH 4/9] gnu: Add sbcl-iolib.conf.
  2019-05-29 14:07 ` [bug#35991] [PATCH 1/9] gnu: Add idna Pierre Neidhardt
  2019-05-29 14:07   ` [bug#35991] [PATCH 2/9] gnu: Add swap-bytes Pierre Neidhardt
  2019-05-29 14:07   ` [bug#35991] [PATCH 3/9] gnu: Add sbcl-iolib.asdf Pierre Neidhardt
@ 2019-05-29 14:07   ` Pierre Neidhardt
  2019-05-29 14:07   ` [bug#35991] [PATCH 5/9] gnu: Add sbcl-iolib.common-lisp Pierre Neidhardt
                     ` (4 subsequent siblings)
  7 siblings, 0 replies; 21+ messages in thread
From: Pierre Neidhardt @ 2019-05-29 14:07 UTC (permalink / raw)
  To: 35991

* gnu/packages/lisp.scm (sbcl-iolib.conf): New variable.
---
 gnu/packages/lisp.scm | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index 697bdbd257..db405af8d9 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -5416,3 +5416,13 @@ the standard Common Lisp library.  It contains a socket library, a DNS
 resolver, an I/O multiplexer(which supports @code{select(2)}, @code{epoll(4)}
 and @code{kqueue(2)}), a pathname library and file-system utilities.")
       (license license:expat))))
+
+(define-public sbcl-iolib.conf
+  (package
+    (inherit sbcl-iolib.asdf)
+    (name "sbcl-iolib.conf")
+    (inputs
+     `(("iolib.asdf" ,sbcl-iolib.asdf)))
+    (arguments
+     '(#:asd-file "iolib.conf.asd"))
+    (synopsis "Compile-time configuration for IOLib, a Common Lisp I/O library")))
-- 
2.21.0

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

* [bug#35991] [PATCH 5/9] gnu: Add sbcl-iolib.common-lisp.
  2019-05-29 14:07 ` [bug#35991] [PATCH 1/9] gnu: Add idna Pierre Neidhardt
                     ` (2 preceding siblings ...)
  2019-05-29 14:07   ` [bug#35991] [PATCH 4/9] gnu: Add sbcl-iolib.conf Pierre Neidhardt
@ 2019-05-29 14:07   ` Pierre Neidhardt
  2019-05-29 14:07   ` [bug#35991] [PATCH 6/9] gnu: Add sbcl-iolib.base Pierre Neidhardt
                     ` (3 subsequent siblings)
  7 siblings, 0 replies; 21+ messages in thread
From: Pierre Neidhardt @ 2019-05-29 14:07 UTC (permalink / raw)
  To: 35991

* gnu/packages/lisp.scm (sbcl-iolib.common-lisp): New variable.
---
 gnu/packages/lisp.scm | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index db405af8d9..c4a9d9bd78 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -5426,3 +5426,14 @@ and @code{kqueue(2)}), a pathname library and file-system utilities.")
     (arguments
      '(#:asd-file "iolib.conf.asd"))
     (synopsis "Compile-time configuration for IOLib, a Common Lisp I/O library")))
+
+(define-public sbcl-iolib.common-lisp
+  (package
+    (inherit sbcl-iolib.asdf)
+    (name "sbcl-iolib.common-lisp")
+    (inputs
+     `(("iolib.asdf" ,sbcl-iolib.asdf)
+       ("iolib.conf" ,sbcl-iolib.conf)))
+    (arguments
+     '(#:asd-file "iolib.common-lisp.asd"))
+    (synopsis "Slightly modified Common Lisp for IOLib, a Common Lisp I/O library")))
-- 
2.21.0

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

* [bug#35991] [PATCH 6/9] gnu: Add sbcl-iolib.base.
  2019-05-29 14:07 ` [bug#35991] [PATCH 1/9] gnu: Add idna Pierre Neidhardt
                     ` (3 preceding siblings ...)
  2019-05-29 14:07   ` [bug#35991] [PATCH 5/9] gnu: Add sbcl-iolib.common-lisp Pierre Neidhardt
@ 2019-05-29 14:07   ` Pierre Neidhardt
  2019-05-29 14:07   ` [bug#35991] [PATCH 7/9] gnu: Add sbcl-iolib.grovel Pierre Neidhardt
                     ` (2 subsequent siblings)
  7 siblings, 0 replies; 21+ messages in thread
From: Pierre Neidhardt @ 2019-05-29 14:07 UTC (permalink / raw)
  To: 35991

* gnu/packages/lisp.scm (sbcl-iolib.base): New variable.
---
 gnu/packages/lisp.scm | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index c4a9d9bd78..fb15edd52d 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -5437,3 +5437,16 @@ and @code{kqueue(2)}), a pathname library and file-system utilities.")
     (arguments
      '(#:asd-file "iolib.common-lisp.asd"))
     (synopsis "Slightly modified Common Lisp for IOLib, a Common Lisp I/O library")))
+
+(define-public sbcl-iolib.base
+  (package
+    (inherit sbcl-iolib.asdf)
+    (name "sbcl-iolib.base")
+    (inputs
+     `(("iolib.asdf" ,sbcl-iolib.asdf)
+       ("iolib.conf" ,sbcl-iolib.conf)
+       ("iolib.common-lisp" ,sbcl-iolib.common-lisp)
+       ("split-sequence" ,sbcl-split-sequence)))
+    (arguments
+     '(#:asd-file "iolib.base.asd"))
+    (synopsis "Base package for IOLib, a Common Lisp I/O library")))
-- 
2.21.0

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

* [bug#35991] [PATCH 7/9] gnu: Add sbcl-iolib.grovel.
  2019-05-29 14:07 ` [bug#35991] [PATCH 1/9] gnu: Add idna Pierre Neidhardt
                     ` (4 preceding siblings ...)
  2019-05-29 14:07   ` [bug#35991] [PATCH 6/9] gnu: Add sbcl-iolib.base Pierre Neidhardt
@ 2019-05-29 14:07   ` Pierre Neidhardt
  2019-05-29 14:07   ` [bug#35991] [PATCH 8/9] gnu: Add sbcl-iolib Pierre Neidhardt
  2019-05-29 14:07   ` [bug#35991] [PATCH 9/9] gnu: Add sbcl-dbus Pierre Neidhardt
  7 siblings, 0 replies; 21+ messages in thread
From: Pierre Neidhardt @ 2019-05-29 14:07 UTC (permalink / raw)
  To: 35991

* gnu/packages/lisp.scm (sbcl-iolib.grovel): New variable.
---
 gnu/packages/lisp.scm | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index fb15edd52d..34bd0ce0cd 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -5450,3 +5450,24 @@ and @code{kqueue(2)}), a pathname library and file-system utilities.")
     (arguments
      '(#:asd-file "iolib.base.asd"))
     (synopsis "Base package for IOLib, a Common Lisp I/O library")))
+
+(define-public sbcl-iolib.grovel
+  (package
+    (inherit sbcl-iolib.asdf)
+    (name "sbcl-iolib.grovel")
+    (inputs
+     `(("iolib.asdf" ,sbcl-iolib.asdf)
+       ("iolib.conf" ,sbcl-iolib.conf)
+       ("iolib.base", sbcl-iolib.base)
+       ("cffi", sbcl-cffi)))
+    (arguments
+     '(#:asd-file "iolib.grovel.asd"
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'install 'install-header
+           (lambda* (#:key outputs #:allow-other-keys)
+             ;; This header is required by sbcl-iolib.
+             (install-file "src/grovel/grovel-common.h"
+                           (string-append (assoc-ref outputs "out")
+                                          "/lib/sbcl")))))))
+    (synopsis "CFFI Groveller for IOLib, a Common Lisp I/O library")))
-- 
2.21.0

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

* [bug#35991] [PATCH 8/9] gnu: Add sbcl-iolib.
  2019-05-29 14:07 ` [bug#35991] [PATCH 1/9] gnu: Add idna Pierre Neidhardt
                     ` (5 preceding siblings ...)
  2019-05-29 14:07   ` [bug#35991] [PATCH 7/9] gnu: Add sbcl-iolib.grovel Pierre Neidhardt
@ 2019-05-29 14:07   ` Pierre Neidhardt
  2019-05-29 14:07   ` [bug#35991] [PATCH 9/9] gnu: Add sbcl-dbus Pierre Neidhardt
  7 siblings, 0 replies; 21+ messages in thread
From: Pierre Neidhardt @ 2019-05-29 14:07 UTC (permalink / raw)
  To: 35991

* gnu/packages/lisp.scm (sbcl-iolib): New variable.
---
 gnu/packages/lisp.scm | 34 ++++++++++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)

diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index 34bd0ce0cd..31d2e8d550 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -45,6 +45,7 @@
   #:use-module (gnu packages admin)
   #:use-module (gnu packages base)
   #:use-module (gnu packages bdw-gc)
+  #:use-module (gnu packages c)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages ed)
   #:use-module (gnu packages fontutils)
@@ -5471,3 +5472,36 @@ and @code{kqueue(2)}), a pathname library and file-system utilities.")
                            (string-append (assoc-ref outputs "out")
                                           "/lib/sbcl")))))))
     (synopsis "CFFI Groveller for IOLib, a Common Lisp I/O library")))
+
+(define-public sbcl-iolib
+  (package
+    (inherit sbcl-iolib.asdf)
+    (name "sbcl-iolib")
+    (inputs
+     `(("iolib.asdf" ,sbcl-iolib.asdf)
+       ("iolib.conf" ,sbcl-iolib.conf)
+       ("iolib.grovel" ,sbcl-iolib.grovel)
+       ("iolib.base", sbcl-iolib.base)
+       ("bordeaux-threads", sbcl-bordeaux-threads)
+       ("idna", sbcl-idna)
+       ("swap-bytes", sbcl-swap-bytes)
+       ("libfixposix", libfixposix)))
+    (native-inputs
+     `(("fiveam" ,sbcl-fiveam)))
+    (arguments
+     '(#:asd-file "iolib.asd"
+       #:test-asd-file "iolib.tests.asd"
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'fix-paths
+           (lambda* (#:key inputs #:allow-other-keys)
+             (substitute* "src/syscalls/ffi-functions-unix.lisp"
+               (("\\(:default \"libfixposix\"\\)")
+                (string-append
+                 "(:default \""
+                 (assoc-ref inputs "libfixposix") "/lib/libfixposix\")")))
+             ;; Socket tests need Internet access, disable them.
+             (substitute* "iolib.tests.asd"
+               (("\\(:file \"sockets\" :depends-on \\(\"pkgdcl\" \"defsuites\"\\)\\)")
+                "")))))))
+    (synopsis "Common Lisp I/O library")))
-- 
2.21.0

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

* [bug#35991] [PATCH 9/9] gnu: Add sbcl-dbus.
  2019-05-29 14:07 ` [bug#35991] [PATCH 1/9] gnu: Add idna Pierre Neidhardt
                     ` (6 preceding siblings ...)
  2019-05-29 14:07   ` [bug#35991] [PATCH 8/9] gnu: Add sbcl-iolib Pierre Neidhardt
@ 2019-05-29 14:07   ` Pierre Neidhardt
  7 siblings, 0 replies; 21+ messages in thread
From: Pierre Neidhardt @ 2019-05-29 14:07 UTC (permalink / raw)
  To: 35991

* gnu/packages/lisp.scm (sbcl-dbus): New variable.
---
 gnu/packages/lisp.scm | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index 31d2e8d550..2aa73aaa38 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -5505,3 +5505,31 @@ and @code{kqueue(2)}), a pathname library and file-system utilities.")
                (("\\(:file \"sockets\" :depends-on \\(\"pkgdcl\" \"defsuites\"\\)\\)")
                 "")))))))
     (synopsis "Common Lisp I/O library")))
+
+(define-public sbcl-dbus
+  (let ((commit "24b452df3a45ca5dc95015500f34baad175c981a")
+        (revision "1"))
+    (package
+      (name "sbcl-dbus")
+      (build-system asdf-build-system/sbcl)
+      (version (git-version "20190408" revision commit))
+      (home-page "https://github.com/death/dbus")
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url home-page)
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32
+           "0fw2q866yddbf23nk9pxphm9gsasx35vjyss82xzvndnjmzlqfl5"))))
+      (inputs
+       `(("alexandria" ,sbcl-alexandria)
+         ("trivial-garbage" ,sbcl-trivial-garbage)
+         ("babel" ,sbcl-babel)
+         ("sbcl-iolib" ,sbcl-iolib)))   ; TODO: Fails because iolib-multiplex cannot be found.
+      (synopsis "D-BUS client library for Common Lisp")
+      (description "This is a Common Lisp library that allows to publish D-Bus
+objects as well as send and notify other objects connected to a bus.")
+      (license license:bsd-2))))
-- 
2.21.0

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

* [bug#35991] [PATCH 0/9] Packaging sbcl-iolib (and dbus)
  2019-05-29 13:29 [bug#35991] [PATCH 0/9] Packaging sbcl-iolib (and dbus) Pierre Neidhardt
  2019-05-29 13:29 ` [bug#35985] [PATCH 1/9] gnu: Add idna Pierre Neidhardt
  2019-05-29 14:07 ` [bug#35991] [PATCH 1/9] gnu: Add idna Pierre Neidhardt
@ 2019-06-04 12:50 ` Katherine Cox-Buday
  2019-06-26  8:30   ` Pierre Neidhardt
  2 siblings, 1 reply; 21+ messages in thread
From: Katherine Cox-Buday @ 2019-06-04 12:50 UTC (permalink / raw)
  To: Pierre Neidhardt; +Cc: 35991

Pierre Neidhardt <mail@ambrevar.xyz> writes:

> I can build iolib but the dbus package fails to use it because
> iolib-multiplex, a subsystem, cannot be found.
>
> Indeed, the sbcl package only exposes iolib while the .asd in the source exposes a dozen of subsystems, including
> :iolib/multiplex.
>
> See https://github.com/sionescu/iolib/blob/master/iolib.asd.
>
> Do we support multi-system .asd files?

Hey Pierre, I apologize for taking a bit to get back.

As far as I'm aware, we don't automatically support multiple systems in
a single asd file. With ASDF now supporting package-inferred systems,
which introduces the concept of "inferred" systems which are not even
declared in an asd file, I believe we need to shore up how Guix handles
CL systems. Unfortunately I haven't had the time to check my math on my
proposal and submit it to the list. Ironically I have done more
packaging of CL systems instead (I needed them!).

However, I think this case can still be handled with our current setup.
What I would try is to define your base package, and then define all the
subsequent packages as having inherited from the base package, but
exposing the correct ASDF system. I don't think this will cause any
unecessary compilation as the ASDF systems declare which files are
required.

I'll be interested to know if this works.

-- 
Katherine

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

* [bug#35991] [PATCH 0/9] Packaging sbcl-iolib (and dbus)
  2019-06-04 12:50 ` [bug#35991] [PATCH 0/9] Packaging sbcl-iolib (and dbus) Katherine Cox-Buday
@ 2019-06-26  8:30   ` Pierre Neidhardt
  0 siblings, 0 replies; 21+ messages in thread
From: Pierre Neidhardt @ 2019-06-26  8:30 UTC (permalink / raw)
  To: Katherine Cox-Buday; +Cc: 35991

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

Hi Katherine,

No need for apologized, you were much faster than me to actually get
down to it!

So your suggestion worked, I created separate packages for all
subsystems this way:

--8<---------------cut here---------------start------------->8---
(define sbcl-iolib+sockets
  (package
    (inherit sbcl-iolib)
    (name "sbcl-iolib+sockets")
    (arguments
     (substitute-keyword-arguments (package-arguments sbcl-iolib)
       ((#:asd-system-name _) "iolib/sockets")))))
--8<---------------cut here---------------end--------------->8---

I guess that'll do.

Now I'm stuck with cxml, another dependency for the dbus CL library.

Its .asd is weird, it ends with something like this:

--8<---------------cut here---------------start------------->8---
(asdf:defsystem :cxml-klacks
		:default-component-class closure-source-file
		:pathname #+asdf2 "klacks/"
							#-asdf2 (merge-pathnames
					 "klacks/"
					 (make-pathname :name nil :type nil :defaults *load-truename*))
		:serial t
		:components
		((:file "package")
		 (:file "klacks")
		 (:file "klacks-impl")
		 (:file "tap-source"))
		:depends-on (:cxml-xml))

(asdf:defsystem :cxml
		:components ()
		:depends-on (:cxml-dom :cxml-klacks #-allegro :cxml-test))
--8<---------------cut here---------------end--------------->8---

- The "cxml-klacks" subsystem should be named "cxml/klacks", and the
  compiler prints warnings about this.
- The "cxml" system contains nothing.

As a result, no cxml--system.fasl gets compiled, which leads to a
useless Guix-generated .asd.

Any idea?

-- 
Pierre Neidhardt
https://ambrevar.xyz/

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]

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

end of thread, other threads:[~2019-06-26  8:31 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-05-29 13:29 [bug#35991] [PATCH 0/9] Packaging sbcl-iolib (and dbus) Pierre Neidhardt
2019-05-29 13:29 ` [bug#35985] [PATCH 1/9] gnu: Add idna Pierre Neidhardt
2019-05-29 13:29   ` [bug#35984] [PATCH 2/9] gnu: Add swap-bytes Pierre Neidhardt
2019-05-29 13:29   ` [bug#35989] [PATCH 3/9] gnu: Add sbcl-iolib.asdf Pierre Neidhardt
2019-05-29 13:29   ` [bug#35986] [PATCH 4/9] gnu: Add sbcl-iolib.conf Pierre Neidhardt
2019-05-29 13:29   ` [bug#35988] [PATCH 5/9] gnu: Add sbcl-iolib.common-lisp Pierre Neidhardt
2019-05-29 13:29   ` [bug#35987] [PATCH 6/9] gnu: Add sbcl-iolib.base Pierre Neidhardt
2019-05-29 13:29   ` [bug#35983] [PATCH 7/9] gnu: Add sbcl-iolib.grovel Pierre Neidhardt
2019-05-29 13:29   ` [bug#35982] [PATCH 8/9] gnu: Add sbcl-iolib Pierre Neidhardt
2019-05-29 13:29   ` [bug#35990] [PATCH 9/9] gnu: Add sbcl-dbus Pierre Neidhardt
2019-05-29 14:07 ` [bug#35991] [PATCH 1/9] gnu: Add idna Pierre Neidhardt
2019-05-29 14:07   ` [bug#35991] [PATCH 2/9] gnu: Add swap-bytes Pierre Neidhardt
2019-05-29 14:07   ` [bug#35991] [PATCH 3/9] gnu: Add sbcl-iolib.asdf Pierre Neidhardt
2019-05-29 14:07   ` [bug#35991] [PATCH 4/9] gnu: Add sbcl-iolib.conf Pierre Neidhardt
2019-05-29 14:07   ` [bug#35991] [PATCH 5/9] gnu: Add sbcl-iolib.common-lisp Pierre Neidhardt
2019-05-29 14:07   ` [bug#35991] [PATCH 6/9] gnu: Add sbcl-iolib.base Pierre Neidhardt
2019-05-29 14:07   ` [bug#35991] [PATCH 7/9] gnu: Add sbcl-iolib.grovel Pierre Neidhardt
2019-05-29 14:07   ` [bug#35991] [PATCH 8/9] gnu: Add sbcl-iolib Pierre Neidhardt
2019-05-29 14:07   ` [bug#35991] [PATCH 9/9] gnu: Add sbcl-dbus Pierre Neidhardt
2019-06-04 12:50 ` [bug#35991] [PATCH 0/9] Packaging sbcl-iolib (and dbus) Katherine Cox-Buday
2019-06-26  8:30   ` Pierre Neidhardt

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

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 read-only IMAP folder(s) and NNTP newsgroup(s).