;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2021 GNUnet e.V. ;;; ;;; This file is part of GNU Guix. ;;; ;;; GNU Guix 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. ;;; ;;; GNU Guix 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 General Public License for more details. ;;; ;;; You should have received a copy of the GNU General Public License ;;; along with GNU Guix. If not, see . ;;; ;;; SPDX-License-Identifier: GPL-3.0-or-later (use-modules (gnu packages guile) (gnu packages guile-xyz) (gnu packages autotools) (gnu packages gettext) (gnu packages pkg-config) (gnu packages xorg) (gnu packages text-editors) (guix packages) (guix gexp) (guix git) (guix git-download) (guix download) (guix build-system gnu) ((guix licenses) #:prefix license:)) (define guile-3.0/fixed (package (inherit guile-3.0-latest) (source (origin (inherit (package-source guile-3.0-latest)) (patches (list (local-file "0001-Fix-non-revealed-port-is-closed-ports.test.patch") (local-file "0001-ice-9-read-Parse-properly.patch"))))))) ;; This has some I/O patches (wait-until-port-readable-operation), ;; see . (define-public guile-fibers/patched (package (inherit guile-fibers) (source (origin (method git-fetch) (uri (git-reference (url "https://notabug.org/maximed/fibers") (commit "4658b62b402e7d4920ab528da1b42835cea03429"))) (sha256 (base32 "1956rz411p3yf7a75z2k1hii88kmn25y2p32bw6w45yy8pynm1rg")))) (native-inputs `(("autoconf" ,autoconf) ("gettext" ,gettext-minimal) ("libtool" ,libtool) ("automake" ,automake) ,@(package-native-inputs guile-fibers))))) (define %source-dir (dirname (current-filename))) (define-public scheme-gnunet (package (name "scheme-gnunet") (version "0.1") (source (local-file %source-dir #:recursive? #t #:select? (git-predicate %source-dir))) (build-system gnu-build-system) (arguments '(#:configure-flags (list "--with-guile-site-dir=$(datarootdir)/guile/site/$(GUILE_EFFECTIVE_VERSION)" "--with-guile-site-ccache-dir=$(libdir)/guile/site/$(GUILE_EFFECTIVE_VERSION)/site-ccache"))) (propagated-inputs `(("guile-zlib" ,guile-zlib) ("guile-bytestructures" ,guile-bytestructures) ("guile-fibers" ,guile-fibers/patched) ("guile-json" ,guile-json-4) ("guile-pfds" ,guile-pfds))) (native-inputs `(("guile" ,guile-3.0/fixed) ("guile-json-4" ,guile-json-4) ("guile-pfds" ,guile-pfds) ("automake" ,automake) ;; Only used for testing. ("guile-quickcheck" ,guile-quickcheck) ;; Gettext brings 'AC_LIB_LINKFLAGS_FROM_LIBS'. ("gettext" ,gettext-minimal) ("pkg-config" ,pkg-config) ("autoconf" ,autoconf-wrapper) ("texmacs" ,texmacs) ("xvfb-run" ,xvfb-run))) (inputs `(("guile" ,guile-3.0/fixed))) (synopsis "partial Scheme port of GNUnet") (license license:agpl3+) (description #f) (home-page #f))) scheme-gnunet