From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:470:142:3::10]:56806) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1hvjVR-000849-VQ for guix-patches@gnu.org; Thu, 08 Aug 2019 10:35:08 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hvjVP-0004XW-47 for guix-patches@gnu.org; Thu, 08 Aug 2019 10:35:05 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:60974) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hvjVO-0004X3-AF for guix-patches@gnu.org; Thu, 08 Aug 2019 10:35:03 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1hvjVO-0002YX-5u for guix-patches@gnu.org; Thu, 08 Aug 2019 10:35:02 -0400 Subject: [bug#36467] [PATCH v2] gnu: Add some Common Lisp libraries Resent-Message-ID: References: <20190701222716.12254-1-glv@posteo.net> From: Guillaume Le Vaillant In-reply-to: Date: Thu, 08 Aug 2019 16:33:42 +0200 Message-ID: <87imr7rak9.fsf@yamatai> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org Sender: "Guix-patches" To: 36467@debbugs.gnu.org --=-=-= Content-Type: text/plain Updated and rebased patches attached. I also reordered them, which should reduce the number of merge conflicts if the 'lisp.scm' file changes before they are applied. --=-=-= Content-Type: text/x-diff Content-Disposition: attachment; filename=0001-gnu-Add-series.patch >From f965092d2e0e2bdd2e5d73cc46f9aaad7db4de0c Mon Sep 17 00:00:00 2001 From: Guillaume LE VAILLANT Date: Mon, 1 Jul 2019 18:40:19 +0200 Subject: [PATCH 01/12] gnu: Add series. * gnu/packages/lisp.scm (sbcl-series, cl-series): New variables. --- gnu/packages/lisp.scm | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index d2bed231bd..951bcc1ef0 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -6650,3 +6650,38 @@ discoverable library instead of many; consistency and composability, where @code{s} is always the last argument, which makes it easier to feed pipes and arrows.") (license license:expat)))) + +(define-public sbcl-series + (let ((commit "da9061b336119d1e5214aff9117171d494d5a58a") + (revision "1")) + (package + (name "sbcl-series") + (version (git-version "2.2.11" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "git://git.code.sf.net/p/series/series") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "07hk2lhfx42zk018pxqvn4gs77vd4n4g8m4xxbqaxgca76mifwfw")))) + (build-system asdf-build-system/sbcl) + (arguments + ;; Disable the tests, they are apparently buggy and I didn't find + ;; a simple way to make them run and pass. + '(#:tests? #f)) + (synopsis "Series data structure for Common Lisp") + (description + "This Common Lisp library provides a series data structure much like +a sequence, with similar kinds of operations. The difference is that in many +situations, operations on series may be composed functionally and yet execute +iteratively, without the need to construct intermediate series values +explicitly. In this manner, series provide both the clarity of a functional +programming style and the efficiency of an iterative programming style.") + (home-page "http://series.sourceforge.net/") + (license license:expat)))) + +(define-public cl-series + (sbcl-package->cl-source-package sbcl-series)) -- 2.22.0 --=-=-= Content-Type: text/x-diff Content-Disposition: attachment; filename=0002-gnu-Add-periods.patch >From 63728e695b1c817be0fadd26530cc521204b8a2a Mon Sep 17 00:00:00 2001 From: Guillaume LE VAILLANT Date: Mon, 1 Jul 2019 18:56:15 +0200 Subject: [PATCH 02/12] gnu: Add periods. * gnu/packages/lisp.scm (sbcl-periods, cl-periods): New variables. --- gnu/packages/lisp.scm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index 951bcc1ef0..71be272fe8 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -6685,3 +6685,33 @@ programming style and the efficiency of an iterative programming style.") (define-public cl-series (sbcl-package->cl-source-package sbcl-series)) + +(define-public sbcl-periods + (let ((commit "983d4a57325db3c8def942f163133cec5391ec28") + (revision "1")) + (package + (name "sbcl-periods") + (version (git-version "0.0.2" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/jwiegley/periods.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0z30jr3lxz3cmi019fsl4lgcgwf0yqpn95v9zkkkwgymdrkd4lga")))) + (build-system asdf-build-system/sbcl) + (inputs + `(("local-time" ,sbcl-local-time))) + (synopsis "Common Lisp library for manipulating date/time objects") + (description + "Periods is a Common Lisp library providing a set of utilities for +manipulating times, distances between times, and both contiguous and +discontiguous ranges of time.") + (home-page "https://github.com/jwiegley/periods") + (license license:bsd-3)))) + +(define-public cl-periods + (sbcl-package->cl-source-package sbcl-periods)) -- 2.22.0 --=-=-= Content-Type: text/x-diff Content-Disposition: attachment; filename=0003-gnu-Add-periods-series.patch >From f8fd0a2edf794a3c4f4be8b2cbc24b4be4a2593c Mon Sep 17 00:00:00 2001 From: Guillaume LE VAILLANT Date: Mon, 1 Jul 2019 19:16:48 +0200 Subject: [PATCH 03/12] gnu: Add periods-series * gnu/packages/lisp.scm (sbcl-periods-series, cl-periods-series): New variables. --- gnu/packages/lisp.scm | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index 71be272fe8..c4a291fa72 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -6715,3 +6715,20 @@ discontiguous ranges of time.") (define-public cl-periods (sbcl-package->cl-source-package sbcl-periods)) + +(define-public sbcl-periods-series + (package + (inherit sbcl-periods) + (name "sbcl-periods-series") + (inputs + `(("periods" ,sbcl-periods) + ("series" ,sbcl-series))) + (arguments + '(#:asd-file "periods-series.asd" + #:asd-system-name "periods-series")) + (description + "Periods-series is an extension of the periods Common Lisp library +providing functions compatible with the series Common Lisp library."))) + +(define-public cl-periods-series + (sbcl-package->cl-source-package sbcl-periods-series)) -- 2.22.0 --=-=-= Content-Type: text/x-diff Content-Disposition: attachment; filename=0004-gnu-Add-metatilities-base.patch >From 7cd8ab17c461d50fc403ef5c44db78e550a25431 Mon Sep 17 00:00:00 2001 From: Guillaume LE VAILLANT Date: Mon, 1 Jul 2019 20:16:38 +0200 Subject: [PATCH 04/12] gnu: Add metatilities-base * gnu/packages/lisp.scm (sbcl-metatilities-base, cl-metatilities-base): 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 c4a291fa72..3efe4ee2bf 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -6732,3 +6732,32 @@ providing functions compatible with the series Common Lisp library."))) (define-public cl-periods-series (sbcl-package->cl-source-package sbcl-periods-series)) + +(define-public sbcl-metatilities-base + (let ((commit "6eaa9e3ff0939a93a92109dd0fcd218de85417d5") + (revision "1")) + (package + (name "sbcl-metatilities-base") + (version (git-version "0.6.6" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/gwkkwg/metatilities-base.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0xpa86pdzlnf4v5g64j3ifaplx71sx2ha8b7vvakswi652679ma0")))) + (build-system asdf-build-system/sbcl) + (native-inputs + `(("lift" ,sbcl-lift))) + (synopsis "Core of the metatilities Common Lisp library") + (description + "Metatilities-base is the core of the metatilities Common Lisp library +which implements a set of utilities.") + (home-page "https://common-lisp.net/project/metatilities-base/") + (license license:expat)))) + +(define-public cl-metatilities-base + (sbcl-package->cl-source-package sbcl-metatilities-base)) -- 2.22.0 --=-=-= Content-Type: text/x-diff Content-Disposition: attachment; filename=0005-gnu-Add-cl-containers.patch >From 2c2067806ab48fc376912d5566c2d87a0189a374 Mon Sep 17 00:00:00 2001 From: Guillaume LE VAILLANT Date: Mon, 1 Jul 2019 20:56:50 +0200 Subject: [PATCH 05/12] gnu: Add cl-containers * gnu/packages/lisp.scm (sbcl-cl-containers, cl-containers): New variables. --- gnu/packages/lisp.scm | 48 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index 3efe4ee2bf..e315b663ea 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -6761,3 +6761,51 @@ which implements a set of utilities.") (define-public cl-metatilities-base (sbcl-package->cl-source-package sbcl-metatilities-base)) + +(define-public sbcl-cl-containers + (let ((commit "810927e19d933bcf38ffeb7a23ce521efc432d45") + (revision "1")) + (package + (name "sbcl-cl-containers") + (version (git-version "0.12.1" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/gwkkwg/cl-containers.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1s9faxw7svhbjpkhfrz2qxgjm3cvyjb8wpyb4m8dx4i5g7vvprkv")))) + (build-system asdf-build-system/sbcl) + (native-inputs + `(("lift" ,sbcl-lift))) + (inputs + `(("metatilities-base" ,sbcl-metatilities-base))) + (arguments + '(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'relax-version-checks + (lambda _ + (substitute* "cl-containers.asd" + (("\\(:version \"metatilities-base\" \"0\\.6\\.6\"\\)") + "\"metatilities-base\"")) + (substitute* "cl-containers-test.asd" + (("\\(:version \"lift\" \"1\\.7\\.0\"\\)") + "\"lift\"")) + #t))))) + (synopsis "Containers Library for Common Lisp") + (description + "Common Lisp ships with a set of powerful built in data structures +including the venerable list, full featured arrays, and hash-tables. +CL-containers enhances and builds on these structures by adding containers +that are not available in native Lisp (for example: binary search trees, +red-black trees, sparse arrays and so on), and by providing a standard +interface so that they are simpler to use and so that changing design +decisions becomes significantly easier.") + (home-page "https://common-lisp.net/project/cl-containers/") + (license license:expat)))) + +(define-public cl-containers + (sbcl-package->cl-source-package sbcl-cl-containers)) -- 2.22.0 --=-=-= Content-Type: text/x-diff Content-Disposition: attachment; filename=0006-gnu-Add-xlunit.patch >From 6e735c9f977b252ef016da11ad7a6fe802d848c5 Mon Sep 17 00:00:00 2001 From: Guillaume LE VAILLANT Date: Mon, 1 Jul 2019 21:32:46 +0200 Subject: [PATCH 06/12] gnu: Add xlunit * gnu/packages/lisp.scm (sbcl-xlunit, cl-xlunit): New variables. --- gnu/packages/lisp.scm | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index e315b663ea..7f0308066b 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -6809,3 +6809,38 @@ decisions becomes significantly easier.") (define-public cl-containers (sbcl-package->cl-source-package sbcl-cl-containers)) + +(define-public sbcl-xlunit + (let ((commit "3805d34b1d8dc77f7e0ee527a2490194292dd0fc") + (revision "1")) + (package + (name "sbcl-xlunit") + (version (git-version "0.6.3" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "http://git.kpe.io/xlunit.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0argfmp9nghs4sihyj3f8ch9qfib2b7ll07v5m9ziajgzsfl5xw3")))) + (build-system asdf-build-system/sbcl) + (arguments + '(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-tests + (lambda _ + (substitute* "xlunit.asd" + ((" :force t") "")) + #t))))) + (synopsis "Unit testing package for Common Lisp") + (description + "The XLUnit package is a toolkit for building test suites. It is based +on the XPTest package by Craig Brozensky and the JUnit package by Kent Beck.") + (home-page "http://quickdocs.org/xlunit/") + (license license:bsd-3)))) + +(define-public cl-xlunit + (sbcl-package->cl-source-package sbcl-xlunit)) -- 2.22.0 --=-=-= Content-Type: text/x-diff Content-Disposition: attachment; filename=0007-gnu-Add-fprog.patch >From 83dfdfb91db9688d206f475292f3ff22c5177d89 Mon Sep 17 00:00:00 2001 From: Guillaume LE VAILLANT Date: Mon, 1 Jul 2019 17:31:19 +0200 Subject: [PATCH 07/12] gnu: Add fprog. * gnu/packages/lisp.scm (sbcl-fprog, cl-fprog): New variables. --- gnu/packages/lisp.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index 7f0308066b..ca407613fa 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -6844,3 +6844,30 @@ on the XPTest package by Craig Brozensky and the JUnit package by Kent Beck.") (define-public cl-xlunit (sbcl-package->cl-source-package sbcl-xlunit)) + +(define-public sbcl-fprog + (let ((commit "7016d1a98215f82605d1c158e7a16504ca1f4636") + (revision "1")) + (package + (name "sbcl-fprog") + (version (git-version "1.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/jwiegley/cambl.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "103mry04j2k9vznsxm7wcvccgxkil92cdrv52miwcmxl8daa4jiz")))) + (build-system asdf-build-system/sbcl) + (synopsis "Functional programming utilities for Common Lisp") + (description + "fprog is a Common Lisp library allowing iteration over immutable lists +sharing identical sublists.") + (home-page "https://github.com/jwiegley/cambl") + (license license:bsd-3)))) + +(define-public cl-fprog + (sbcl-package->cl-source-package sbcl-fprog)) -- 2.22.0 --=-=-= Content-Type: text/x-diff Content-Disposition: attachment; filename=0008-gnu-Add-cambl.patch >From fe89a3b37bee254072bd3fe2e14c7eca271c8946 Mon Sep 17 00:00:00 2001 From: Guillaume LE VAILLANT Date: Mon, 1 Jul 2019 21:46:50 +0200 Subject: [PATCH 08/12] gnu: Add cambl. * gnu/packages/lisp.scm (sbcl-cambl, cl-cambl): New variables. --- gnu/packages/lisp.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index ca407613fa..1a2ffd269c 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -6871,3 +6871,28 @@ sharing identical sublists.") (define-public cl-fprog (sbcl-package->cl-source-package sbcl-fprog)) + +(define-public sbcl-cambl + (let ((commit "7016d1a98215f82605d1c158e7a16504ca1f4636") + (revision "1")) + (package + (inherit sbcl-fprog) + (name "sbcl-cambl") + (version (git-version "4.0.0" revision commit)) + (native-inputs + `(("xlunit" ,sbcl-xlunit))) + (inputs + `(("alexandria" ,sbcl-alexandria) + ("cl-containers" ,sbcl-cl-containers) + ("local-time" ,sbcl-local-time) + ("periods" ,sbcl-periods) + ("fprog" ,sbcl-fprog))) + (synopsis "Commoditized amounts and balances for Common Lisp") + (description + "Cambl is a Common Lisp library providing a convenient facility for +working with commoditized values. It does not allow compound units (and so is +not suited for scientific operations) but does work rather nicely for the +purpose of financial calculations.")))) + +(define-public cl-cambl + (sbcl-package->cl-source-package sbcl-cambl)) -- 2.22.0 --=-=-= Content-Type: text/x-diff Content-Disposition: attachment; filename=0009-gnu-Add-cl-ledger.patch >From 22f57385c7cd2014a56bd749a7494e9feaa85b57 Mon Sep 17 00:00:00 2001 From: Guillaume LE VAILLANT Date: Thu, 8 Aug 2019 15:54:46 +0200 Subject: [PATCH 09/12] gnu: Add cl-ledger. * gnu/packages/lisp.scm (sbcl-cl-ledger, cl-ledger): New variables. --- gnu/packages/lisp.scm | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index 1a2ffd269c..2e6b79dab3 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -6896,3 +6896,45 @@ purpose of financial calculations.")))) (define-public cl-cambl (sbcl-package->cl-source-package sbcl-cambl)) + +(define-public sbcl-cl-ledger + (let ((commit "08e0be41795e804cd36142e51756ad0b1caa377b") + (revision "1")) + (package + (name "sbcl-cl-ledger") + (version (git-version "4.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ledger/cl-ledger.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1via0qf6wjcyxnfbmfxjvms0ik9j8rqbifgpmnhrzvkhrq9pv8h1")))) + (build-system asdf-build-system/sbcl) + (inputs + `(("cambl" ,sbcl-cambl) + ("cl-ppcre" ,sbcl-cl-ppcre) + ("local-time" ,sbcl-local-time) + ("periods-series" ,sbcl-periods-series))) + (arguments + '(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-system-definition + (lambda _ + (substitute* "cl-ledger.asd" + ((" :build-operation program-op") "") + ((" :build-pathname \"cl-ledger\"") "") + ((" :entry-point \"ledger::main\"") "")) + #t))))) + (synopsis "Common Lisp port of the Ledger accounting system") + (description + "CL-Ledger is a Common Lisp port of the Ledger double-entry accounting +system.") + (home-page "https://github.com/ledger/cl-ledger") + (license license:bsd-3)))) + +(define-public cl-ledger + (sbcl-package->cl-source-package sbcl-cl-ledger)) -- 2.22.0 --=-=-= Content-Type: text/x-diff Content-Disposition: attachment; filename=0010-gnu-Add-bst.patch >From da174b2df063da4c3fa981c68039bfca2aba0ac6 Mon Sep 17 00:00:00 2001 From: Guillaume LE VAILLANT Date: Thu, 8 Aug 2019 16:00:15 +0200 Subject: [PATCH 10/12] gnu: Add bst. * gnu/packages/lisp.scm (sbcl-bst, cl-bst): New variables. --- gnu/packages/lisp.scm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index 2e6b79dab3..6f516f673b 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -6938,3 +6938,33 @@ system.") (define-public cl-ledger (sbcl-package->cl-source-package sbcl-cl-ledger)) + +(define-public sbcl-bst + (let ((commit "34f9c7e8e0a9f2c952fe310ab36cb630d5d9c15a") + (revision "1")) + (package + (name "sbcl-bst") + (version (git-version "1.1" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/glv2/bst.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1amxns7hvvh4arwbh8ciwfzplg127vh37dnbamv1m1kmmnmihfc8")))) + (build-system asdf-build-system/sbcl) + (native-inputs + `(("alexandria" ,sbcl-alexandria) + ("fiveam" ,sbcl-fiveam))) + (synopsis "Binary search tree for Common Lisp") + (description + "BST is a Common Lisp library for working with binary search trees that +can contain any kind of values.") + (home-page "https://github.com/glv2/bst") + (license license:gpl3)))) + +(define-public cl-bst + (sbcl-package->cl-source-package sbcl-bst)) -- 2.22.0 --=-=-= Content-Type: text/x-diff Content-Disposition: attachment; filename=0011-gnu-Add-cl-octet-streams.patch >From f045c2af1b5aa24c1038dc50348b24b3b6eff7a0 Mon Sep 17 00:00:00 2001 From: Guillaume LE VAILLANT Date: Mon, 1 Jul 2019 22:50:23 +0200 Subject: [PATCH 11/12] gnu: Add cl-octet-streams * gnu/packages/lisp.scm (sbcl-cl-octet-streams, cl-octet-streams): New variables. --- gnu/packages/lisp.scm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index 6f516f673b..d4858245ec 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -6968,3 +6968,33 @@ can contain any kind of values.") (define-public cl-bst (sbcl-package->cl-source-package sbcl-bst)) + +(define-public sbcl-cl-octet-streams + (package + (name "sbcl-cl-octet-streams") + (version "1.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/glv2/cl-octet-streams.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1d7mn6ydv0j2x4r7clpc9ijjwrnfpxmvhifv8n5j7jh7s744sf8d")))) + (build-system asdf-build-system/sbcl) + (native-inputs + `(("fiveam" ,sbcl-fiveam))) + (inputs + `(("trivial-gray-streams" ,sbcl-trivial-gray-streams))) + (synopsis "In-memory octet streams for Common Lisp") + (description + "cl-octet-streams is a library implementing in-memory octet streams for +Common Lisp. It was inspired by the trivial-octet-streams and cl-plumbing +libraries.") + (home-page "https://github.com/glv2/cl-octet-streams") + (license license:gpl3+))) + +(define-public cl-octet-streams + (sbcl-package->cl-source-package sbcl-cl-octet-streams)) -- 2.22.0 --=-=-= Content-Type: text/x-diff Content-Disposition: attachment; filename=0012-gnu-Add-cl-lzlib.patch >From c5fde4eb376cfa75127418ef68bc755ada2c3e0d Mon Sep 17 00:00:00 2001 From: Guillaume LE VAILLANT Date: Mon, 1 Jul 2019 23:23:22 +0200 Subject: [PATCH 12/12] gnu: Add cl-lzlib * gnu/packages/lisp.scm (sbcl-lzlib, cl-lzlib): New variables. --- gnu/packages/lisp.scm | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index d4858245ec..385aa35002 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -6998,3 +6998,45 @@ libraries.") (define-public cl-octet-streams (sbcl-package->cl-source-package sbcl-cl-octet-streams)) + +(define-public sbcl-lzlib + (let ((commit "0de1db7129fef9a58a059d35a2fa2ecfc5b47b47") + (revision "1")) + (package + (name "sbcl-lzlib") + (version (git-version "1.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/glv2/cl-lzlib.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "12ny7vj52fgnd8hb8fc8mry92vq4c1x72x2350191m4476j95clz")))) + (build-system asdf-build-system/sbcl) + (native-inputs + `(("fiveam" ,sbcl-fiveam))) + (inputs + `(("cffi" ,sbcl-cffi) + ("cl-octet-streams" ,sbcl-cl-octet-streams) + ("lzlib" ,lzlib))) + (arguments + '(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-paths + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "src/lzlib.lisp" + (("liblz\\.so") + (string-append (assoc-ref inputs "lzlib") "/lib/liblz.so"))) + #t))))) + (synopsis "Common Lisp library for lzip (de)compression") + (description + "This Common Lisp library provides functions for lzip (LZMA) +compression/decompression using bindings to the lzlib C library.") + (home-page "https://github.com/glv2/cl-lzlib") + (license license:gpl3+)))) + +(define-public cl-lzlib + (sbcl-package->cl-source-package sbcl-lzlib)) -- 2.22.0 --=-=-=--