aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gnu/local.mk2
-rw-r--r--gnu/packages/guile.scm88
-rw-r--r--gnu/packages/patches/guile-bytestructures-name-clash.patch31
3 files changed, 9 insertions, 112 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 0a1fe337fd..8c397d9256 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -16,6 +16,7 @@
# Copyright © 2017 Clément Lassieur <clement@lassieur.org>
# Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
# Copyright © 2017 Gábor Boskovits <boskovits@gmail.com>
+# Copyright © 2018 Amirouche Boubekki <amirouche@hypermove.net>
#
# This file is part of GNU Guix.
#
@@ -721,7 +722,6 @@ dist_patch_DATA = \
%D%/packages/patches/gspell-dash-test.patch \
%D%/packages/patches/guile-1.8-cpp-4.5.patch \
%D%/packages/patches/guile-2.2-default-utf8.patch \
- %D%/packages/patches/guile-bytestructures-name-clash.patch \
%D%/packages/patches/guile-default-utf8.patch \
%D%/packages/patches/guile-linux-syscalls.patch \
%D%/packages/patches/guile-present-coding.patch \
diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm
index 887e360a35..a778bbf458 100644
--- a/gnu/packages/guile.scm
+++ b/gnu/packages/guile.scm
@@ -1658,90 +1658,18 @@ is no support for parsing block and inline level HTML.")
(define-public guile-bytestructures
(package
(name "guile-bytestructures")
- (version "20170402.91d042e")
+ (version "1.0.1")
(source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/TaylanUB/scheme-bytestructures")
- (commit "91d042e3427e1d7740b604b6296c616cf2eec13d")))
- (file-name (string-append name "-" version "-checkout"))
+ (method url-fetch)
+ (uri (string-append "https://github.com/TaylanUB/scheme-bytestructures"
+ "/releases/download/v" version
+ "/bytestructures-" version ".tar.gz"))
(sha256
(base32
- "04lgh0nk6ddnwgh20hnz4pyhczaik0xbd50kikjsxcwcl46shavb"))
- (patches (search-patches "guile-bytestructures-name-clash.patch"))))
- (build-system trivial-build-system)
- (arguments
- `(#:modules ((guix build utils))
- #:builder
- (begin
- (use-modules (guix build utils)
- (ice-9 ftw)
- (ice-9 match)
- (ice-9 popen)
- (ice-9 rdelim))
- ;; Unpack.
- (setenv "PATH"
- (string-join (list (assoc-ref %build-inputs "tar")
- (assoc-ref %build-inputs "xz"))
- "/bin:" 'suffix))
- (system* "tar" "xf" (assoc-ref %build-inputs "source"))
- (match (scandir ".")
- (("." ".." directory)
- (chdir directory)))
-
- (let* ((out (assoc-ref %outputs "out"))
- (guile (assoc-ref %build-inputs "guile"))
- (effective (read-line
- (open-pipe* OPEN_READ
- (string-append guile "/bin/guile")
- "-c" "(display (effective-version))")))
- (module-dir (string-append out "/share/guile/site/"
- effective))
- (object-dir (string-append out "/lib/guile/" effective
- "/site-ccache"))
- (source (getcwd))
- (doc (string-append out "/share/doc/scheme-bytestructures"))
- (sld-files (with-directory-excursion source
- (find-files "bytestructures/r7" "\\.exports.sld$")))
- (scm-files (filter (lambda (path)
- (not (string-prefix? "bytestructures/r7" path)))
- (with-directory-excursion source
- (find-files "bytestructures" "\\.scm$"))))
- (guild (string-append (assoc-ref %build-inputs "guile")
- "/bin/guild")))
- ;; Make installation directories.
- (mkdir-p doc)
-
- ;; Compile .scm files and install.
- (chdir source)
- (setenv "GUILE_AUTO_COMPILE" "0")
- (for-each (lambda (file)
- (let* ((dest-file (string-append module-dir "/"
- file))
- (go-file (string-append object-dir "/"
- (substring file 0
- (string-rindex file #\.))
- ".go")))
- ;; Install source module.
- (mkdir-p (dirname dest-file))
- (copy-file file dest-file)
-
- ;; Install compiled module.
- (mkdir-p (dirname go-file))
- (unless (zero? (system* guild "compile"
- "-L" source
- "-o" go-file
- file))
- (error (format #f "Failed to compile ~s to ~s!"
- file go-file)))))
- (append sld-files scm-files))
-
- ;; Also copy over the README.
- (install-file "README.md" doc)
- #t))))
+ "1lnfcy65mqj823lamy2n2vaghdz0g7mj011bgnhmd6hwpnaidnh2"))))
+ (build-system gnu-build-system)
(native-inputs
- `(("tar" ,tar)
- ("xz" ,xz)))
+ `(("pkg-config" ,pkg-config)))
(inputs
`(("guile" ,guile-2.2)))
(home-page "https://github.com/TaylanUB/scheme-bytestructures")
diff --git a/gnu/packages/patches/guile-bytestructures-name-clash.patch b/gnu/packages/patches/guile-bytestructures-name-clash.patch
deleted file mode 100644
index ac834dd504..0000000000
--- a/gnu/packages/patches/guile-bytestructures-name-clash.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-This patch works around a name clash between the 'cstring-pointer' module and
-the 'cstring-module' variable that occurs in Guile 2.0:
-
- ice-9/boot-9.scm:109:20: re-exporting local variable: cstring-pointer
-
---- guile-bytestructures-20170402.91d042e-checkout/bytestructures/guile.scm 2017-07-25 17:04:32.858289986 +0200
-+++ guile-bytestructures-20170402.91d042e-checkout/bytestructures/guile.scm 2017-07-25 17:04:41.130244725 +0200
-@@ -1,6 +1,6 @@
- (define-module (bytestructures guile))
-
--(import
-+(use-modules
- (bytestructures guile base)
- (bytestructures guile vector)
- (bytestructures guile struct)
-@@ -8,7 +8,7 @@
- (bytestructures guile pointer)
- (bytestructures guile numeric)
- (bytestructures guile string)
-- (bytestructures guile cstring-pointer))
-+ ((bytestructures guile cstring-pointer) #:prefix cstr:))
- (re-export
- make-bytestructure-descriptor
- bytestructure-descriptor?
-@@ -75,5 +75,5 @@
-
- bs:string
-
-- cstring-pointer
-+ cstr:cstring-pointer
- )