X-Git-Url: https://jxself.org/git/?a=blobdiff_plain;f=guix.scm;h=49f91c13e6fdf26bde136b2e004bd504daf9a105;hb=38afa0b278e17953b64764d800beaaa6368f70be;hp=f956bf016121a5e5341ac3c22a564c5273571000;hpb=da67b8a0e87da03379fd054dc3c8610d883767e7;p=8sync.git diff --git a/guix.scm b/guix.scm index f956bf0..49f91c1 100644 --- a/guix.scm +++ b/guix.scm @@ -1,20 +1,24 @@ ;;; 8sync --- Asynchronous programming for Guile ;;; Copyright (C) 2016 Jan Nieuwenhuizen +;;; Copyright (C) 2017 Christopher Allan Webber ;;; ;;; This file is part of 8sync. +;;; However, unlike most of 8sync, which is under the LGPLv3+, this +;;; file in particular is licensed under GPLv3+. +;;; Guix is also licensed under GPLv3+. ;;; -;;; 8sync is free software: you can redistribute it and/or modify it -;;; under the terms of the GNU Lesser General Public License as -;;; published by the Free Software Foundation, either version 3 of the -;;; License, or (at your option) any later version. +;;; This program is free software: you can redistribute it and/or modify +;;; it under the terms of the GNU General Public License as published by +;;; the Free Software Foundation, either version 3 of the License, or +;;; (at your option) any later version. ;;; -;;; 8sync is distributed in the hope that it will be useful, +;;; This program is distributed in the hope that it will be useful, ;;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -;;; GNU Lesser General Public License for more details. -;;; -;;; You should have received a copy of the GNU Lesser General Public -;;; License along with 8sync. If not, see . +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with this program. If not, see . ;;; Commentary: ;; @@ -32,34 +36,71 @@ ;; ;;; Code: -(use-modules (guix packages) +(use-modules (srfi srfi-1) + (srfi srfi-26) + (ice-9 popen) + (ice-9 match) + (ice-9 rdelim) + (guix packages) (guix licenses) + (guix gexp) (guix git-download) (guix build-system gnu) + ((guix build utils) #:select (with-directory-excursion)) (gnu packages) (gnu packages autotools) + (gnu packages gettext) (gnu packages guile) (gnu packages pkg-config) (gnu packages texinfo)) -(package - (name "8sync") - (version "0.4.0") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnu/guile/8sync-" version - ".tar.gz")) - ;; This will be wrong by time of release. - ;; Oh well... a better guix.scm at next release :) +(define %source-dir (dirname (current-filename))) + +(define guile-fibers-git + (package + (inherit guile-fibers) + (name "guile-fibers") + (version "git") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/wingo/fibers.git") + (commit "0fa1fd6adf9980229a46956503a6bf36e8154a78"))) (sha256 (base32 - "08w163k8qv28d8zixbl0rh98d4b3hk0ksh8nlr4xaj58291aijlh")))) + "0a782aa0v2d115427h1h57jkxy04axklan60dzgnsry4axw9iq8r")))) + (arguments + `(#:phases (modify-phases %standard-phases + (add-before 'configure 'bootstrap + (lambda _ + (zero? (system* "./autogen.sh")))) + (add-before 'configure 'setenv + (lambda _ + (setenv "GUILE_AUTO_COMPILE" "0")))) + ;; We wouldn't want this in the upstream fibers package, but gosh + ;; running tests takes forever and is painful + #:tests? #f)) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("libtool" ,libtool) + ("texinfo" ,texinfo) + ("gettext" ,gettext-minimal) + ,@(package-native-inputs guile-2.2))))) + +(package + (name "guile-8sync") + (version "git") + (source (local-file %source-dir + #:recursive? #t + #:select? (git-predicate %source-dir))) (build-system gnu-build-system) (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) - ("guile" ,guile-next) + ("guile" ,guile-2.2) ("pkg-config" ,pkg-config) ("texinfo" ,texinfo))) + (propagated-inputs `(("guile-fibers" ,guile-fibers-git))) (arguments `(#:phases (modify-phases %standard-phases (add-before 'configure 'bootstrap