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 # Copyright © 2017 Mathieu Othacehe # Copyright © 2017 Gábor Boskovits +# Copyright © 2018 Amirouche Boubekki # # 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 @@ (define-public guile2.2-commonmark (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 - )