2013-08-24 11:23:17 -04:00
|
|
|
|
;;; GNU Guix --- Functional package management for GNU
|
2021-01-14 03:10:55 -05:00
|
|
|
|
;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org>
|
2021-02-02 16:39:11 -05:00
|
|
|
|
;;; Copyright © 2015, 2017, 2020, 2021 Ricardo Wurmus <rekado@elephly.net>
|
2017-07-18 04:37:07 -04:00
|
|
|
|
;;; Copyright © 2017 Muriithi Frederick Muriuki <fredmanglis@gmail.com>
|
2018-06-29 23:05:56 -04:00
|
|
|
|
;;; Copyright © 2017, 2018 Oleg Pykhalov <go.wigust@gmail.com>
|
2017-10-27 05:17:43 -04:00
|
|
|
|
;;; Copyright © 2017 Roel Janssen <roel@gnu.org>
|
2021-01-03 02:35:41 -05:00
|
|
|
|
;;; Copyright © 2017–2021 Tobias Geerinckx-Rice <me@tobias.gr>
|
2018-03-02 17:11:46 -05:00
|
|
|
|
;;; Copyright © 2018 Julien Lepiller <julien@lepiller.eu>
|
2019-02-07 08:44:44 -05:00
|
|
|
|
;;; Copyright © 2018, 2019 Rutger Helling <rhelling@mykolab.com>
|
2018-06-09 06:59:37 -04:00
|
|
|
|
;;; Copyright © 2018 Sou Bunnbu <iyzsong@member.fsf.org>
|
2019-06-28 23:45:48 -04:00
|
|
|
|
;;; Copyright © 2018, 2019 Eric Bavier <bavier@member.fsf.org>
|
2021-01-24 06:11:03 -05:00
|
|
|
|
;;; Copyright © 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
|
2019-04-24 06:03:21 -04:00
|
|
|
|
;;; Copyright © 2019 Jonathan Brielmaier <jonathan.brielmaier@web.de>
|
2020-03-06 07:49:40 -05:00
|
|
|
|
;;; Copyright © 2020 Mathieu Othacehe <m.othacehe@gmail.com>
|
2020-03-17 13:27:23 -04:00
|
|
|
|
;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
2020-05-05 16:53:18 -04:00
|
|
|
|
;;; Copyright © 2020 Giacomo Leidi <goodoldpaul@autistici.org>
|
2020-07-16 01:08:36 -04:00
|
|
|
|
;;; Copyright © 2020 Jesse Gibbons <jgibbons2357+guix@gmail.com>
|
2020-08-23 14:21:18 -04:00
|
|
|
|
;;; Copyright © 2020 Martin Becze <mjbecze@riseup.net>
|
2020-12-27 11:58:26 -05:00
|
|
|
|
;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
|
2021-07-21 08:27:38 -04:00
|
|
|
|
;;; Copyright © 2021 Ivan Gankevich <i.gankevich@spbu.ru>
|
2013-08-24 11:23:17 -04:00
|
|
|
|
;;;
|
|
|
|
|
;;; 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 <http://www.gnu.org/licenses/>.
|
|
|
|
|
|
|
|
|
|
(define-module (gnu packages package-management)
|
2013-12-11 07:55:17 -05:00
|
|
|
|
#:use-module (gnu packages)
|
2018-01-17 15:49:48 -05:00
|
|
|
|
#:use-module (gnu packages acl)
|
2018-06-09 06:59:37 -04:00
|
|
|
|
#:use-module (gnu packages attr)
|
|
|
|
|
#:use-module (gnu packages avahi)
|
2018-01-17 15:49:48 -05:00
|
|
|
|
#:use-module (gnu packages autotools)
|
2015-10-25 19:13:03 -04:00
|
|
|
|
#:use-module (gnu packages backup)
|
2019-02-14 17:07:42 -05:00
|
|
|
|
#:use-module (gnu packages base)
|
2020-04-08 03:43:51 -04:00
|
|
|
|
#:use-module (gnu packages bash)
|
2018-01-17 15:49:48 -05:00
|
|
|
|
#:use-module (gnu packages bdw-gc)
|
2018-06-09 06:59:37 -04:00
|
|
|
|
#:use-module (gnu packages bison)
|
2020-05-05 16:53:18 -04:00
|
|
|
|
#:use-module (gnu packages boost)
|
2017-07-27 10:41:42 -04:00
|
|
|
|
#:use-module (gnu packages bootstrap) ;for 'bootstrap-guile-origin'
|
gnu: Move testing packages from python.scm to check.scm.
* gnu/packages/python.scm (python-behave-web-api, python2-behave-web-api,
python-mock, python2-mock, python-mock-2, python-nose, python2-nose,
python-nose2, python2-nose2, python-unittest2, python2-unittest2,
python-pytest, python2-pytest, python-pytest-3.0, python2-pytest-3.0,
python-pytest-cov, python2-pytest-cov, python-pytest-runner,
python2-pytest-runner, python-pytest-mock, python2-pytest-mock,
python-pytest-xdist, python2-pytest-xdist, python-scripttest,
python2-scripttest, python-testtools, python2-testtools, python-testscenarios,
python2-testscenarios, python-testresources, python2-testresources,
python-subunit, python2-subunit, python-fixtures, python2-fixtures,
python-testrepository, python2-testrepository, python-coverage,
python2-coverage, python-cov-core, python2-cov-core, python-testpath,
python2-testpath, python-testlib, python2-testlib, python-pytest-cache,
python2-pytest-cache, python-pytest-localserver, python-pytest-xprocess,
python-pytest-subtesthack, python2-pytest-subtesthack, python-hypothesis,
python2-hypothesis, python-lit, python2-lit, python-pytest-pep8,
python2-pytest-pep8, python-pytest-flakes, python2-pytest-flakes,
python2-coverage-test-runner, python-pylint, python2-pylint,
python-paramunittest, python2-python-paramunittest, python-pytest-warnings,
python2-pytest-warnings, python-pytest-capturelog, python2-pytest-capturelog,
python-pytest-catchlog, python2-pytest-catchlog, python-nosexcover,
python2-nosexcover, python-discover, python2-discover, behave, python-rednose,
python2-rednose, python-nose-randomly, python2-nose-randomly,
python-nose-timer, python2-nose-timer): Move from here...
* gnu/packages/check.scm: ...to here.
* gnu/packages/admin.scm,
gnu/packages/android.scm,
gnu/packages/backup.scm,
gnu/packages/bioinformatics.scm,
gnu/packages/calendar.scm,
gnu/packages/dav.scm,
gnu/packages/django.scm,
gnu/packages/freedesktop.scm,
gnu/packages/haskell.scm,
gnu/packages/image.scm,
gnu/packages/irc.scm,
gnu/packages/jrnl.scm,
gnu/packages/ldc.scm,
gnu/packages/libffi.scm,
gnu/packages/mail.scm,
gnu/packages/mpd.scm,
gnu/packages/openstack.scm,
gnu/packages/package-management.scm,
gnu/packages/password-utils.scm,
gnu/packages/python-crypto.scm,
gnu/packages/python-web.scm,
gnu/packages/rdf.scm,
gnu/packages/statistics.scm,
gnu/packages/storage.scm,
gnu/packages/time.scm,
gnu/packages/tls.scm,
gnu/packages/tor.scm,
gnu/packages/tryton.scm: Adjust accordingly.
2017-11-17 15:42:23 -05:00
|
|
|
|
#:use-module (gnu packages check)
|
2015-04-20 09:50:59 -04:00
|
|
|
|
#:use-module (gnu packages compression)
|
2018-01-17 15:49:48 -05:00
|
|
|
|
#:use-module (gnu packages cpio)
|
2018-06-10 09:29:04 -04:00
|
|
|
|
#:use-module (gnu packages crypto)
|
2018-01-17 15:49:48 -05:00
|
|
|
|
#:use-module (gnu packages curl)
|
2020-09-16 14:43:39 -04:00
|
|
|
|
#:use-module (gnu packages databases)
|
2021-07-21 08:27:38 -04:00
|
|
|
|
#:use-module (gnu packages dejagnu)
|
gnu: Move dbm databases to new module.
* gnu/packages/databases.scm (gdbm, bdb, bdb-5.3): Move from here...
* gnu/packages/dbm.scm: ...to this new module.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
* gnu/packages/audio.scm,
gnu/packages/avahi.scm,
gnu/packages/backup.scm,
gnu/packages/cobol.scm,
gnu/packages/cyrus-sasl.scm,
gnu/packages/databases.scm,
gnu/packages/finance.scm,
gnu/packages/game-development.scm,
gnu/packages/gnome.scm,
gnu/packages/guile.scm,
gnu/packages/ibus.scm,
gnu/packages/kerberos.scm,
gnu/packages/linux.scm,
gnu/packages/mail.scm,
gnu/packages/man.scm,
gnu/packages/nvi.scm,
gnu/packages/openldap.scm,
gnu/packages/package-management.scm,
gnu/packages/php.scm,
gnu/packages/pulseaudio.scm,
gnu/packages/python.scm,
gnu/packages/rdf.scm,
gnu/packages/ruby.scm,
gnu/packages/sawfish.scm: Update module references.
2019-01-16 08:48:47 -05:00
|
|
|
|
#:use-module (gnu packages dbm)
|
2018-06-09 06:59:37 -04:00
|
|
|
|
#:use-module (gnu packages docbook)
|
2018-01-17 15:49:48 -05:00
|
|
|
|
#:use-module (gnu packages file)
|
2014-06-27 17:06:55 -04:00
|
|
|
|
#:use-module (gnu packages gettext)
|
2018-01-18 20:52:22 -05:00
|
|
|
|
#:use-module (gnu packages glib)
|
2018-01-18 20:52:23 -05:00
|
|
|
|
#:use-module (gnu packages gnome)
|
2018-01-17 15:49:48 -05:00
|
|
|
|
#:use-module (gnu packages gnupg)
|
|
|
|
|
#:use-module (gnu packages graphviz)
|
2018-12-20 02:04:41 -05:00
|
|
|
|
#:use-module (gnu packages gtk)
|
2018-01-17 15:49:48 -05:00
|
|
|
|
#:use-module (gnu packages guile)
|
gnu: Move most packages from guile.scm to new module.
* gnu/packages/guile.scm (artanis, guildhall, guile-aspell, guile-bash,
guile-8sync, guile-daemon, guile-dsv, guile-fibers, guile-syntax-highlight,
guile-sjson, guile-colorized, guile-pfds, guile-aa-tree, guile-simple-zmq,
jupyter-guile-kernel, guile-sparql, guile-debbugs, guile-email,
guile-debbugs-next, guile-newt, guile-mastodon, guile-parted, guile-xosd,
guile-dbi, guile-dbd-sqlite3, guile-config, guile-hall, guile-ics, guile-wisp,
guile-sly, g-wrap, guile-miniadapton, guile-reader, guile2.2-reader,
guile-ncurses, guile-ncurses/gpm, guile-lib, guile2.0-lib, guile2.2-lib,
guile-minikanren, guile2.0-minikanren, guile2.2-minikanren, guile-irregex,
guile2.0-irregex, guile2.2-irregex, haunt, guile2.0-haunt, guile2.2-haunt,
guile-redis, guile2.0-redis, guile2.2-redis, guile-commonmark,
guile2.0-commonmark, guile2.2-commonmark, mcron, mcron2): Move these variables
from here...
* gnu/packages/guile-xyz.scm: ...to this new file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
* gnu/installer.scm,
gnu/packages/bioinformatics.scm,
gnu/packages/ci.scm,
gnu/packages/gtk.scm,
gnu/packages/guile.scm,
gnu/packages/mail.scm,
gnu/packages/package-management.scm,
gnu/packages/skribilo.scm,
gnu/packages/web.scm,
gnu/services/mcron.scm: Update module references.
2019-01-28 08:57:10 -05:00
|
|
|
|
#:use-module (gnu packages guile-xyz)
|
2020-04-07 02:07:02 -04:00
|
|
|
|
#:use-module (gnu packages hurd)
|
2021-07-21 08:27:38 -04:00
|
|
|
|
#:use-module (gnu packages less)
|
2020-05-05 16:53:18 -04:00
|
|
|
|
#:use-module (gnu packages libedit)
|
2018-01-18 20:52:23 -05:00
|
|
|
|
#:use-module (gnu packages linux)
|
2017-10-27 05:17:43 -04:00
|
|
|
|
#:use-module (gnu packages lisp)
|
2018-01-17 15:49:48 -05:00
|
|
|
|
#:use-module (gnu packages man)
|
2015-10-25 19:13:03 -04:00
|
|
|
|
#:use-module (gnu packages nettle)
|
2020-05-11 11:17:07 -04:00
|
|
|
|
#:use-module (gnu packages networking)
|
gnu: Move nss & co. to nss.scm.
* gnu/packages/gnuzilla.scm (nspr, nss): Move to...
* gnu/packages/nss.scm: ... here. New file.
* gnu/packages/chromium.scm, gnu/packages/disk.scm,
gnu/packages/freedesktop.scm, gnu/packages/gnome.scm,
gnu/packages/gnunet.scm, gnu/packages/java.scm,
gnu/packages/libreoffice.scm, gnu/packages/linux.scm,
gnu/packages/mate.scm, gnu/packages/openldap.scm,
gnu/packages/package-management.scm, gnu/packages/password-utils.scm,
gnu/packages/polkit.scm, gnu/packages/qt.scm,
gnu/packages/sssd.scm, gnu/packages/storage.scm,
gnu/packages/vpn.scm, gnu/packages/web.scm, gnu/packages/xml.scm: Adjust
accordingly.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add nss.scm.
2019-04-04 09:14:57 -04:00
|
|
|
|
#:use-module (gnu packages nss)
|
2018-01-17 15:49:48 -05:00
|
|
|
|
#:use-module (gnu packages patchutils)
|
2014-09-27 19:04:18 -04:00
|
|
|
|
#:use-module (gnu packages perl)
|
gnu: Move test packages from perl to perl-check.
* gnu/packages/perl.scm (perl-test2-bundle-extended,
perl-test2-plugin-nowarnings, perl-test-base, perl-test-class,
perl-test-class-most, perl-test-cleannamespaces, perl-test-command,
perl-test-cpan-meta, perl-test-cpan-meta-json, perl-test-deep,
perl-test-differences, perl-test-directory, perl-test-eol,
perl-test-exception, perl-test-fatal, perl-test-file-sharedir-dist,
perl-test-files, perl-test-harness, perl-test-leaktrace,
perl-test-longstring, perl-test-manifest, perl-test-memory-cycle,
perl-test-mockobject, perl-test-mocktime, perl-test-most, perl-test-needs,
perl-test-notabs, perl-test-nowarnings, perl-test-number-delta,
perl-test-output, perl-test-pod, perl-test-pod-coverage, perl-test-requires,
perl-test-script, perl-test-sharedfork, perl-test-simple, perl-test-taint,
perl-test-tester, perl-test-trap, perl-test-utf8, perl-test-warn,
perl-test-warnings, perl-test-without-module, perl-test-writevariants,
perl-test-yaml, perl-test-trailingspace): Move variables to ...
* gnu/packages/perl-check.scm: ... this new file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
* gnu/packages/admin.scm,
gnu/packages/bioinformatics.scm,
gnu/packages/crypto.scm,
gnu/packages/databases.scm,
gnu/packages/glib.scm,
gnu/packages/gnupg.scm,
gnu/packages/image-viewers.scm,
gnu/packages/language.scm,
gnu/packages/networking.scm,
gnu/packages/package-management.scm,
gnu/packages/perl.scm,
gnu/packages/terminals.scm,
gnu/packages/tex.scm,
gnu/packages/version-control.scm,
gnu/packages/web.scm,
gnu/packages/xml.scm,
gnu/packages/xorg.scm: Use perl-check module.
2017-11-13 17:03:01 -05:00
|
|
|
|
#:use-module (gnu packages perl-check)
|
2018-01-17 15:49:48 -05:00
|
|
|
|
#:use-module (gnu packages pkg-config)
|
|
|
|
|
#:use-module (gnu packages popt)
|
2015-10-25 19:13:03 -04:00
|
|
|
|
#:use-module (gnu packages python)
|
2021-07-05 09:02:46 -04:00
|
|
|
|
#:use-module (gnu packages python-check)
|
gnu: Move web packages from python to python-web.
This is in part to address <https://bugs.gnu.org/27284>.
* gnu/packages/python.scm (python-httplib2, python2-httplib2)
(python-sockjs-tornado, python2-sockjs-tornado)
(python-flask-babel, python2-flask-babel)
(python-html5lib, python2-html5lib)
(python-html5lib-0.9, python2-html5lib-0.9)
(python-html5-parser, python2-html5-parser)
(python-webencodings, python2-webencodings)
(python-openid, python2-openid, python-cssutils, python2-cssutils)
(python-cssselect, python2-cssutils)
(python-openid-cla, python2-openid-cla)
(python-openid-teams, python2-openid-teams)
(python-tornado, python2-tornado)
(python-tornado-http-auth, python-terminado, python2-terminado)
(python-webob, python2-webob, python-zope-event, python2-zope-event)
(python-zope-interface, python2-zope-interface)
(python-zope-exceptions, python2-zope-exceptions)
(python-zope-testing, python2-zope-testing)
(python-zope-testrunner, python2-zope-testrunner)
(python-zope-i18nmessageid, python2-zope-i18nmessageid)
(python-zope-schema, python2-zope-schema)
(python-zope-configuration, python2-zope-configuration)
(python-zope-proxy, python2-zope-proxy)
(python-zope-location, python2-zope-location)
(python-zope-security, python2-zope-security)
(python-zope-component, python2-zope-component)
(python-ndg-httpsclient, python2-ndg-httpsclient)
(python-websocket-client, python2-websocket-client)
(python-requests-toolbelt, python2-requests-toolbelt)
(python-rauth, python2-rauth, python-urllib3, python2-urllib3)
(awscli, python-wsgiproxy2, python2-wsgiproxy2)
(python-pastedeploy, python2-pastedeploy)
(python-webtest, python2-webtest, python-flask, python2-flask)
(python-flast-wtf, python2-flask-wtf)
(python-flask-multistatic, python2-flask-multistatic)
(python-cookies, python2-cookies)
(python-responses, python2-responses)
(python-geventhttpclient, python2-geventhttpclient)
(python-requests-oauthlib, python2-requests-oauthlib)
(python-url, python2-url, python-cachecontrol, python2-cachecontrol)
(python-betamax, python2-betamax)
(python-betamax-matchers, python2-betamax-matchers)
(python-s3transfer, python2-s3transfer)
(python-flask-restful, python-flask-basicauth)
(python-flask-sqlalchemy, python-flask-restplus)
(python-flask-restful-swagger, python-htmlmin, python2-htmlmin)
(python-flask-htmlmin, python2-flask-htmlmin)
(python-flask-login, python2-flask-login)
(python-oauth2client, python-flask-oidc)
(python-webassets, python-cssmin, python2-cssmin)
(python-elasticsearch, python2-elasticsearch)
(python-flask-script, python2-flask-script)
(python-flask-migrate, python2-flask-migrate)
(python-genshi, python2-genshi)
(python-flask-principal, python2-flask-principal)
(python-flask-httpauth, python2-flask-httpauth)
(python-uritemplate, python2-uritemplate): Move to...
* gnu/packages/python-web.scm: ... here. New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
* gnu/packages/admin.scm, gnu/packages/backup.scm,
gnu/packages/dav.scm, gnu/packages/django.scm,
gnu/packages/docker.scm, gnu/packages/ebook.scm,
gnu/packages/logging.scm, gnu/packages/mail.scm,
gnu/packages/music.scm, gnu/packages/openstack.scm,
gnu/packages/package-management.scm, gnu/packages/rdf.scm,
gnu/packages/tls.scm, gnu/packages/tor.scm,
gnu/packages/tryton.scm, gnu/packages/version-control.scm,
gnu/packages/web-browsers.scm,
gnu/packages/web.scm: Adjust accordingly.
2017-11-13 17:24:11 -05:00
|
|
|
|
#:use-module (gnu packages python-web)
|
gnu: Separate Python core packages from the rest.
* gnu/packages/python.scm: Move hundreds of package definitions from here...
* gnu/packages/python-xyz.scm: ...to this new module.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
* gnu/packages/ada.scm,
gnu/packages/admin.scm,
gnu/packages/android.scm,
gnu/packages/audio.scm,
gnu/packages/backup.scm,
gnu/packages/benchmark.scm,
gnu/packages/bioinformatics.scm,
gnu/packages/bittorrent.scm,
gnu/packages/calendar.scm,
gnu/packages/check.scm,
gnu/packages/chemistry.scm,
gnu/packages/cluster.scm,
gnu/packages/compression.scm,
gnu/packages/connman.scm,
gnu/packages/crypto.scm,
gnu/packages/cups.scm,
gnu/packages/databases.scm,
gnu/packages/dav.scm,
gnu/packages/direct-connect.scm,
gnu/packages/disk.scm,
gnu/packages/django.scm,
gnu/packages/dlang.scm,
gnu/packages/docker.scm,
gnu/packages/ebook.scm,
gnu/packages/elf.scm,
gnu/packages/emacs.scm,
gnu/packages/emulators.scm,
gnu/packages/engineering.scm,
gnu/packages/enlightenment.scm,
gnu/packages/finance.scm,
gnu/packages/fltk.scm,
gnu/packages/fontutils.scm,
gnu/packages/freedesktop.scm,
gnu/packages/game-development.scm,
gnu/packages/games.scm,
gnu/packages/geo.scm,
gnu/packages/gl.scm,
gnu/packages/glib.scm,
gnu/packages/gnome.scm,
gnu/packages/gnupg.scm,
gnu/packages/gnuzilla.scm,
gnu/packages/graph.scm,
gnu/packages/graphics.scm,
gnu/packages/graphviz.scm,
gnu/packages/gtk.scm,
gnu/packages/ham-radio.scm,
gnu/packages/image-processing.scm,
gnu/packages/image-viewers.scm,
gnu/packages/image.scm,
gnu/packages/irc.scm,
gnu/packages/jrnl.scm,
gnu/packages/julia.scm,
gnu/packages/kde-frameworks.scm,
gnu/packages/key-mon.scm,
gnu/packages/libffi.scm,
gnu/packages/libreoffice.scm,
gnu/packages/libusb.scm,
gnu/packages/lirc.scm,
gnu/packages/logging.scm,
gnu/packages/machine-learning.scm,
gnu/packages/mail.scm,
gnu/packages/mate.scm,
gnu/packages/maths.scm,
gnu/packages/medical.scm,
gnu/packages/messaging.scm,
gnu/packages/monitoring.scm,
gnu/packages/mp3.scm,
gnu/packages/mpd.scm,
gnu/packages/music.scm,
gnu/packages/networking.scm,
gnu/packages/nutrition.scm,
gnu/packages/openldap.scm,
gnu/packages/openstack.scm,
gnu/packages/package-management.scm,
gnu/packages/password-utils.scm,
gnu/packages/patchutils.scm,
gnu/packages/pdf.scm,
gnu/packages/photo.scm,
gnu/packages/polkit.scm,
gnu/packages/protobuf.scm,
gnu/packages/python-crypto.scm,
gnu/packages/python-web.scm,
gnu/packages/qt.scm,
gnu/packages/rdf.scm,
gnu/packages/ruby.scm,
gnu/packages/search.scm,
gnu/packages/selinux.scm,
gnu/packages/serialization.scm,
gnu/packages/shells.scm,
gnu/packages/simulation.scm,
gnu/packages/ssh.scm,
gnu/packages/statistics.scm,
gnu/packages/storage.scm,
gnu/packages/sync.scm,
gnu/packages/terminals.scm,
gnu/packages/textutils.scm,
gnu/packages/time.scm,
gnu/packages/tls.scm,
gnu/packages/tor.scm,
gnu/packages/tryton.scm,
gnu/packages/version-control.scm,
gnu/packages/video.scm,
gnu/packages/virtualization.scm,
gnu/packages/vpn.scm,
gnu/packages/web-browsers.scm,
gnu/packages/web.scm,
gnu/packages/wicd.scm,
gnu/packages/xdisorg.scm,
gnu/packages/xorg.scm: Update module references.
2019-01-15 08:21:30 -05:00
|
|
|
|
#:use-module (gnu packages python-xyz)
|
2018-01-17 15:49:48 -05:00
|
|
|
|
#:use-module (gnu packages serialization)
|
gnu: Move sqlite to separate module.
* gnu/packages/databases.scm (sqlite, sqlite-3.26.0, sqlite-with-fts5,
sqlite-with-column-metadata): Move variables from here...
* gnu/packages/sqlite.scm: ...to this new module.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
* gnu/packages/apl.scm,
gnu/packages/bittorrent.scm,
gnu/packages/calendar.scm,
gnu/packages/code.scm,
gnu/packages/crypto.scm,
gnu/packages/databases.scm,
gnu/packages/dc.scm,
gnu/packages/disk.scm,
gnu/packages/ebook.scm,
gnu/packages/education.scm,
gnu/packages/emacs.scm,
gnu/packages/emulators.scm,
gnu/packages/file-systems.scm,
gnu/packages/freedesktop.scm,
gnu/packages/ftp.scm,
gnu/packages/games.scm,
gnu/packages/geo.scm,
gnu/packages/gnome.scm,
gnu/packages/gnunet.scm,
gnu/packages/gnupg.scm,
gnu/packages/gnuzilla.scm,
gnu/packages/gps.scm,
gnu/packages/guile.scm,
gnu/packages/ibus.scm,
gnu/packages/kerberos.scm,
gnu/packages/kodi.scm,
gnu/packages/lisp.scm,
gnu/packages/mail.scm,
gnu/packages/messaging.scm,
gnu/packages/mpd.scm,
gnu/packages/music.scm,
gnu/packages/networking.scm,
gnu/packages/nfs.scm,
gnu/packages/ocaml.scm,
gnu/packages/package-management.scm,
gnu/packages/pdf.scm,
gnu/packages/photo.scm,
gnu/packages/php.scm,
gnu/packages/python.scm,
gnu/packages/qt.scm,
gnu/packages/ruby.scm,
gnu/packages/scheme.scm,
gnu/packages/sync.scm,
gnu/packages/syndication.scm,
gnu/packages/version-control.scm,
gnu/packages/video.scm,
gnu/packages/web-browsers.scm,
gnu/packages/webkit.scm: Adjust module references.
2019-01-15 15:47:05 -05:00
|
|
|
|
#:use-module (gnu packages sqlite)
|
2018-01-17 15:49:48 -05:00
|
|
|
|
#:use-module (gnu packages ssh)
|
2021-07-21 08:27:38 -04:00
|
|
|
|
#:use-module (gnu packages tcl)
|
2018-01-17 15:49:48 -05:00
|
|
|
|
#:use-module (gnu packages texinfo)
|
gnu: Move date/time packages from python.scm to time.scm.
* gnu/packages/python.scm (python-pytz, python2-pytz, python-dateutil,
python2-dateutil, python-parsedatetime, python2-parsedatetime,
python-tzlocal, python-isodate, python2-isodate, python-iso8601,
python2-iso8601, python-monotonic, python2-monotonic, python-pyrfc3339,
python2-pyrfc3339, python-arrow, python2-arrow, python-aniso8601,
python2-aniso8601): Move from here...
* gnu/packages/time.scm: ...to here.
* gnu/packages/calendar.scm,
gnu/packages/check.scm,
gnu/packages/django.scm,
gnu/packages/ebook.scm,
gnu/packages/gnome.scm,
gnu/packages/irc.scm,
gnu/packages/jrnl.scm,
gnu/packages/mail.scm,
gnu/packages/openstack.scm,
gnu/packages/package-management.scm,
gnu/packages/python-crypto.scm,
gnu/packages/python-web.scm,
gnu/packages/rdf.scm,
gnu/packages/statistics.scm,
gnu/packages/tls.scm,
gnu/packages/tryton.scm,
gnu/packages/version-control.scm: Adjust accordingly.
2017-11-18 05:58:44 -05:00
|
|
|
|
#:use-module (gnu packages time)
|
2016-06-19 16:26:59 -04:00
|
|
|
|
#:use-module (gnu packages tls)
|
2017-01-01 04:42:46 -05:00
|
|
|
|
#:use-module (gnu packages vim)
|
2018-12-20 02:04:41 -05:00
|
|
|
|
#:use-module (gnu packages virtualization)
|
2018-01-17 15:49:48 -05:00
|
|
|
|
#:use-module (gnu packages web)
|
2018-01-18 20:52:23 -05:00
|
|
|
|
#:use-module (gnu packages xml)
|
2018-12-20 02:04:41 -05:00
|
|
|
|
#:use-module (gnu packages xorg)
|
2019-03-24 17:26:50 -04:00
|
|
|
|
#:use-module (guix build-system glib-or-gtk)
|
2018-01-17 15:49:48 -05:00
|
|
|
|
#:use-module (guix build-system gnu)
|
2018-01-25 19:51:59 -05:00
|
|
|
|
#:use-module (guix build-system meson)
|
2018-01-17 15:49:48 -05:00
|
|
|
|
#:use-module (guix build-system python)
|
|
|
|
|
#:use-module (guix download)
|
|
|
|
|
#:use-module (guix gexp)
|
|
|
|
|
#:use-module (guix git-download)
|
2018-01-17 16:03:57 -05:00
|
|
|
|
#:use-module ((guix licenses) #:prefix license:)
|
2018-01-17 15:49:48 -05:00
|
|
|
|
#:use-module (guix packages)
|
|
|
|
|
#:use-module (guix utils)
|
|
|
|
|
#:use-module (ice-9 match)
|
|
|
|
|
#:use-module (srfi srfi-1))
|
2013-08-24 11:23:17 -04:00
|
|
|
|
|
2015-01-27 04:17:28 -05:00
|
|
|
|
(define (boot-guile-uri arch)
|
|
|
|
|
"Return the URI for the bootstrap Guile tarball for ARCH."
|
2017-03-30 17:04:03 -04:00
|
|
|
|
(cond ((string=? "armhf" arch)
|
|
|
|
|
(string-append "http://alpha.gnu.org/gnu/guix/bootstrap/"
|
|
|
|
|
arch "-linux"
|
|
|
|
|
"/20150101/guile-2.0.11.tar.xz"))
|
|
|
|
|
((string=? "aarch64" arch)
|
2017-04-14 12:16:32 -04:00
|
|
|
|
(string-append "http://alpha.gnu.org/gnu/guix/bootstrap/"
|
|
|
|
|
arch "-linux/20170217/guile-2.0.14.tar.xz"))
|
2017-03-30 17:04:03 -04:00
|
|
|
|
(else
|
|
|
|
|
(string-append "http://alpha.gnu.org/gnu/guix/bootstrap/"
|
|
|
|
|
arch "-linux"
|
|
|
|
|
"/20131110/guile-2.0.9.tar.xz"))))
|
2015-01-27 04:17:28 -05:00
|
|
|
|
|
2020-08-26 17:15:59 -04:00
|
|
|
|
;; NOTE: The commit IDs used here form a linked list threaded through the git
|
|
|
|
|
;; history. In a phenomenon known as boot-stripping, not only the head of this
|
|
|
|
|
;; list is used, but also a few older versions, when a guix from this package is
|
|
|
|
|
;; used to build something also depending on guix.
|
|
|
|
|
;;
|
|
|
|
|
;; Therefore, if, by accident, you set this package to a non-existent commit ID,
|
|
|
|
|
;; it is insufficient to simply correct it with the latest commit.
|
|
|
|
|
;; Instead, please push one commit that rolls back Guix to before the mistake,
|
|
|
|
|
;; and then another that points to the first one. That way, the faulty commit
|
|
|
|
|
;; won't appear on the linked list.
|
2017-05-05 18:25:00 -04:00
|
|
|
|
(define-public guix
|
|
|
|
|
;; Latest version of Guix, which may or may not correspond to a release.
|
2017-05-06 16:59:05 -04:00
|
|
|
|
;; Note: the 'update-guix-package.scm' script expects this definition to
|
|
|
|
|
;; start precisely like this.
|
2021-05-11 14:15:04 -04:00
|
|
|
|
(let ((version "1.3.0")
|
2021-07-02 20:00:11 -04:00
|
|
|
|
(commit "6243ad3812f8c689599a19f0e8b9719ba14461f2")
|
|
|
|
|
(revision 5))
|
2017-05-05 18:25:00 -04:00
|
|
|
|
(package
|
|
|
|
|
(name "guix")
|
2017-04-22 12:53:47 -04:00
|
|
|
|
|
2017-05-05 18:25:00 -04:00
|
|
|
|
(version (if (zero? revision)
|
|
|
|
|
version
|
|
|
|
|
(string-append version "-"
|
|
|
|
|
(number->string revision)
|
2017-05-07 18:22:30 -04:00
|
|
|
|
"." (string-take commit 7))))
|
2017-05-05 18:25:00 -04:00
|
|
|
|
(source (origin
|
|
|
|
|
(method git-fetch)
|
|
|
|
|
(uri (git-reference
|
2020-10-14 04:16:41 -04:00
|
|
|
|
(url "https://git.savannah.gnu.org/git/guix.git")
|
2017-05-05 18:25:00 -04:00
|
|
|
|
(commit commit)))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
2021-07-02 20:00:11 -04:00
|
|
|
|
"0i3sgk2w2yjy9ip47vk0h17afk16yl5ih3p3q75083kgjzyjdm3d"))
|
2017-05-05 18:25:00 -04:00
|
|
|
|
(file-name (string-append "guix-" version "-checkout"))))
|
|
|
|
|
(build-system gnu-build-system)
|
|
|
|
|
(arguments
|
|
|
|
|
`(#:configure-flags (list
|
2021-01-27 16:38:25 -05:00
|
|
|
|
|
|
|
|
|
;; Provide channel metadata for 'guix describe'.
|
|
|
|
|
;; Don't pass '--with-channel-url' and
|
|
|
|
|
;; '--with-channel-introduction' and instead use
|
|
|
|
|
;; the defaults.
|
|
|
|
|
,(string-append "--with-channel-commit=" commit)
|
|
|
|
|
|
2017-05-05 18:25:00 -04:00
|
|
|
|
"--localstatedir=/var"
|
|
|
|
|
"--sysconfdir=/etc"
|
|
|
|
|
(string-append "--with-bash-completion-dir="
|
|
|
|
|
(assoc-ref %outputs "out")
|
|
|
|
|
"/etc/bash_completion.d")
|
|
|
|
|
|
|
|
|
|
;; Set 'DOT_USER_PROGRAM' to the empty string so
|
|
|
|
|
;; we don't keep a reference to Graphviz, whose
|
2019-03-13 11:44:02 -04:00
|
|
|
|
;; closure is pretty big (too big for the Guix
|
|
|
|
|
;; system installation image.)
|
2017-05-07 18:22:30 -04:00
|
|
|
|
"ac_cv_path_DOT_USER_PROGRAM=dot"
|
|
|
|
|
|
|
|
|
|
;; To avoid problems with the length of shebangs,
|
|
|
|
|
;; choose a fixed-width and short directory name
|
|
|
|
|
;; for tests.
|
2020-04-07 02:07:02 -04:00
|
|
|
|
"ac_cv_guix_test_root=/tmp/guix-tests"
|
|
|
|
|
,@(if (hurd-target?) '("--with-courage") '()))
|
2017-05-05 18:25:00 -04:00
|
|
|
|
#:parallel-tests? #f ;work around <http://bugs.gnu.org/21097>
|
|
|
|
|
|
|
|
|
|
#:modules ((guix build gnu-build-system)
|
|
|
|
|
(guix build utils)
|
2017-07-30 15:36:18 -04:00
|
|
|
|
(srfi srfi-26)
|
2017-05-05 18:25:00 -04:00
|
|
|
|
(ice-9 popen)
|
|
|
|
|
(ice-9 rdelim))
|
|
|
|
|
|
|
|
|
|
#:phases (modify-phases %standard-phases
|
2018-03-11 16:46:30 -04:00
|
|
|
|
(replace 'bootstrap
|
2017-05-05 18:25:00 -04:00
|
|
|
|
(lambda _
|
|
|
|
|
;; Make sure 'msgmerge' can modify the PO files.
|
|
|
|
|
(for-each (lambda (po)
|
|
|
|
|
(chmod po #o666))
|
|
|
|
|
(find-files "." "\\.po$"))
|
2017-04-22 12:53:47 -04:00
|
|
|
|
|
2017-11-30 05:14:34 -05:00
|
|
|
|
(patch-shebang "build-aux/git-version-gen")
|
|
|
|
|
|
2017-11-28 07:25:04 -05:00
|
|
|
|
(call-with-output-file ".tarball-version"
|
|
|
|
|
(lambda (port)
|
|
|
|
|
(display ,version port)))
|
|
|
|
|
|
2020-03-20 18:12:36 -04:00
|
|
|
|
;; Install SysV init files to $(prefix)/etc rather
|
|
|
|
|
;; than to /etc.
|
|
|
|
|
(substitute* "nix/local.mk"
|
|
|
|
|
(("^sysvinitservicedir = .*$")
|
|
|
|
|
(string-append "sysvinitservicedir = \
|
|
|
|
|
$(prefix)/etc/init.d\n")))
|
|
|
|
|
|
2020-10-02 08:10:15 -04:00
|
|
|
|
;; Install OpenRC init files to $(prefix)/etc rather
|
|
|
|
|
;; than to /etc.
|
|
|
|
|
(substitute* "nix/local.mk"
|
|
|
|
|
(("^openrcservicedir = .*$")
|
|
|
|
|
(string-append "openrcservicedir = \
|
2021-03-26 04:05:15 -04:00
|
|
|
|
$(prefix)/etc/openrc\n")))
|
2020-10-02 08:10:15 -04:00
|
|
|
|
|
2018-03-23 02:40:21 -04:00
|
|
|
|
(invoke "sh" "bootstrap")))
|
2020-04-10 15:24:19 -04:00
|
|
|
|
(add-before 'build 'use-host-compressors
|
|
|
|
|
(lambda* (#:key inputs target #:allow-other-keys)
|
|
|
|
|
(when target
|
|
|
|
|
;; Use host compressors.
|
|
|
|
|
(let ((bzip2 (assoc-ref inputs "bzip2"))
|
|
|
|
|
(gzip (assoc-ref inputs "gzip"))
|
|
|
|
|
(xz (assoc-ref inputs "xz")))
|
|
|
|
|
(substitute* "guix/config.scm"
|
|
|
|
|
(("\"[^\"]*/bin/bzip2")
|
|
|
|
|
(string-append "\"" bzip2 "/bin/bzip2"))
|
|
|
|
|
(("\"[^\"]*/bin/gzip") gzip
|
|
|
|
|
(string-append "\"" gzip "/bin/gzip"))
|
|
|
|
|
(("\"[^\"]*/bin//xz")
|
|
|
|
|
(string-append "\"" xz "/bin/xz")))))
|
|
|
|
|
#t))
|
2018-02-18 18:06:23 -05:00
|
|
|
|
(add-before 'check 'copy-bootstrap-guile
|
2020-04-24 02:54:43 -04:00
|
|
|
|
(lambda* (#:key system target inputs #:allow-other-keys)
|
2020-04-10 15:24:19 -04:00
|
|
|
|
;; Copy the bootstrap guile tarball in the store
|
|
|
|
|
;; used by the test suite.
|
|
|
|
|
(define (intern file recursive?)
|
|
|
|
|
;; Note: don't use 'guix download' here because we
|
|
|
|
|
;; need to set the 'recursive?' argument.
|
|
|
|
|
(define base
|
|
|
|
|
(strip-store-file-name file))
|
2020-04-24 02:54:43 -04:00
|
|
|
|
|
2020-04-10 15:24:19 -04:00
|
|
|
|
(define code
|
|
|
|
|
`(begin
|
|
|
|
|
(use-modules (guix))
|
|
|
|
|
(with-store store
|
|
|
|
|
(let* ((item (add-to-store store ,base
|
|
|
|
|
,recursive?
|
|
|
|
|
"sha256" ,file))
|
|
|
|
|
(root (string-append "/tmp/gc-root-"
|
|
|
|
|
(basename item))))
|
|
|
|
|
;; Register a root so that the GC tests
|
|
|
|
|
;; don't delete those.
|
|
|
|
|
(symlink item root)
|
|
|
|
|
(add-indirect-root store root)))))
|
2020-04-24 02:54:43 -04:00
|
|
|
|
|
2020-04-10 15:24:19 -04:00
|
|
|
|
(invoke "./test-env" "guile" "-c"
|
|
|
|
|
(object->string code)))
|
2020-04-24 02:54:43 -04:00
|
|
|
|
|
2020-04-10 15:24:19 -04:00
|
|
|
|
(unless target
|
|
|
|
|
(intern (assoc-ref inputs "boot-guile") #f)
|
2020-04-24 02:54:43 -04:00
|
|
|
|
|
2020-04-10 15:24:19 -04:00
|
|
|
|
;; On x86_64 some tests need the i686 Guile.
|
2021-05-04 09:17:45 -04:00
|
|
|
|
(when (and (not target)
|
|
|
|
|
(string=? system "x86_64-linux"))
|
|
|
|
|
(intern (assoc-ref inputs "boot-guile/i686") #f))
|
2020-04-24 02:54:43 -04:00
|
|
|
|
|
2020-04-10 15:24:19 -04:00
|
|
|
|
;; Copy the bootstrap executables.
|
|
|
|
|
(for-each (lambda (input)
|
|
|
|
|
(intern (assoc-ref inputs input) #t))
|
|
|
|
|
'("bootstrap/bash" "bootstrap/mkdir"
|
|
|
|
|
"bootstrap/tar" "bootstrap/xz")))
|
2017-05-05 18:25:00 -04:00
|
|
|
|
#t))
|
2017-11-20 18:27:08 -05:00
|
|
|
|
(add-after 'unpack 'disable-failing-tests
|
2017-05-05 18:25:00 -04:00
|
|
|
|
;; XXX FIXME: These tests fail within the build container.
|
|
|
|
|
(lambda _
|
|
|
|
|
(substitute* "tests/syscalls.scm"
|
|
|
|
|
(("^\\(test-(assert|equal) \"(clone|setns|pivot-root)\"" all)
|
|
|
|
|
(string-append "(test-skip 1)\n" all)))
|
|
|
|
|
(substitute* "tests/containers.scm"
|
|
|
|
|
(("^\\(test-(assert|equal)" all)
|
|
|
|
|
(string-append "(test-skip 1)\n" all)))
|
|
|
|
|
(when (file-exists? "tests/guix-environment-container.sh")
|
|
|
|
|
(substitute* "tests/guix-environment-container.sh"
|
|
|
|
|
(("guix environment --version")
|
|
|
|
|
"exit 77\n")))
|
|
|
|
|
#t))
|
|
|
|
|
(add-before 'check 'set-SHELL
|
|
|
|
|
(lambda _
|
|
|
|
|
;; 'guix environment' tests rely on 'SHELL' having a
|
|
|
|
|
;; correct value, so set it.
|
|
|
|
|
(setenv "SHELL" (which "sh"))
|
|
|
|
|
#t))
|
|
|
|
|
(add-after 'install 'wrap-program
|
2020-04-08 03:43:51 -04:00
|
|
|
|
(lambda* (#:key inputs native-inputs outputs target
|
|
|
|
|
#:allow-other-keys)
|
2017-11-28 07:29:47 -05:00
|
|
|
|
;; Make sure the 'guix' command finds GnuTLS,
|
|
|
|
|
;; Guile-JSON, and Guile-Git automatically.
|
2017-05-05 18:25:00 -04:00
|
|
|
|
(let* ((out (assoc-ref outputs "out"))
|
2021-05-04 09:17:45 -04:00
|
|
|
|
(guile (assoc-ref (or native-inputs inputs)
|
|
|
|
|
"guile"))
|
2020-11-22 09:12:17 -05:00
|
|
|
|
(avahi (assoc-ref inputs "guile-avahi"))
|
Switch to Guile-Gcrypt.
This removes (guix hash) and (guix pk-crypto), which now live as part of
Guile-Gcrypt (version 0.1.0.)
* guix/gcrypt.scm, guix/hash.scm, guix/pk-crypto.scm,
tests/hash.scm, tests/pk-crypto.scm: Remove.
* configure.ac: Test for Guile-Gcrypt. Remove LIBGCRYPT and
LIBGCRYPT_LIBDIR assignments.
* m4/guix.m4 (GUIX_ASSERT_LIBGCRYPT_USABLE): Remove.
* README: Add Guile-Gcrypt to the dependencies; move libgcrypt as
"required unless --disable-daemon".
* doc/guix.texi (Requirements): Likewise.
* gnu/packages/bash.scm, guix/derivations.scm, guix/docker.scm,
guix/git.scm, guix/http-client.scm, guix/import/cpan.scm,
guix/import/cran.scm, guix/import/crate.scm, guix/import/elpa.scm,
guix/import/gnu.scm, guix/import/hackage.scm,
guix/import/texlive.scm, guix/import/utils.scm, guix/nar.scm,
guix/pki.scm, guix/scripts/archive.scm,
guix/scripts/authenticate.scm, guix/scripts/download.scm,
guix/scripts/hash.scm, guix/scripts/pack.scm,
guix/scripts/publish.scm, guix/scripts/refresh.scm,
guix/scripts/substitute.scm, guix/store.scm,
guix/store/deduplication.scm, guix/tests.scm, tests/base32.scm,
tests/builders.scm, tests/challenge.scm, tests/cpan.scm,
tests/crate.scm, tests/derivations.scm, tests/gem.scm,
tests/nar.scm, tests/opam.scm, tests/pki.scm,
tests/publish.scm, tests/pypi.scm, tests/store-deduplication.scm,
tests/store.scm, tests/substitute.scm: Adjust imports.
* gnu/system/vm.scm: Likewise.
(guile-sqlite3&co): Rename to...
(gcrypt-sqlite3&co): ... this. Add GUILE-GCRYPT.
(expression->derivation-in-linux-vm)[config]: Remove.
(iso9660-image)[config]: Remove.
(qemu-image)[config]: Remove.
(system-docker-image)[config]: Remove.
* guix/scripts/pack.scm: Adjust imports.
(guile-sqlite3&co): Rename to...
(gcrypt-sqlite3&co): ... this. Add GUILE-GCRYPT.
(self-contained-tarball)[build]: Call 'make-config.scm' without
#:libgcrypt argument.
(squashfs-image)[libgcrypt]: Remove.
[build]: Call 'make-config.scm' without #:libgcrypt.
(docker-image)[config, json]: Remove.
[build]: Add GUILE-GCRYPT to the extensions Remove (guix config) from
the imported modules.
* guix/self.scm (specification->package): Remove "libgcrypt", add
"guile-gcrypt".
(compiled-guix): Remove #:libgcrypt.
[guile-gcrypt]: New variable.
[dependencies]: Add it.
[*core-modules*]: Remove #:libgcrypt from 'make-config.scm' call.
Add #:extensions.
[*config*]: Remove #:libgcrypt from 'make-config.scm' call.
(%dependency-variables): Remove %libgcrypt.
(make-config.scm): Remove #:libgcrypt.
* build-aux/build-self.scm (guile-gcrypt): New variable.
(make-config.scm): Remove #:libgcrypt.
(build-program)[fake-gcrypt-hash]: New variable.
Add (gcrypt hash) to the imported modules. Adjust load path
assignments.
* gnu/packages/package-management.scm (guix)[propagated-inputs]: Add
GUILE-GCRYPT.
[arguments]: In 'wrap-program' phase, add GUILE-GCRYPT to the search
path.
2018-08-31 11:07:07 -04:00
|
|
|
|
(gcrypt (assoc-ref inputs "guile-gcrypt"))
|
2020-10-22 20:40:17 -04:00
|
|
|
|
(guile-lib (assoc-ref inputs "guile-lib"))
|
2017-05-05 18:25:00 -04:00
|
|
|
|
(json (assoc-ref inputs "guile-json"))
|
2018-06-04 16:31:48 -04:00
|
|
|
|
(sqlite (assoc-ref inputs "guile-sqlite3"))
|
Use "guile-zlib" and "guile-lzlib" instead of (guix config).
* Makefile.am (MODULES): Remove guix/zlib.scm and guix/lzlib.scm,
(SCM_TESTS): remove tests/zlib.scm, tests/lzlib.scm.
* build-aux/build-self.scm (make-config.scm): Remove unused %libz variable.
* configure.ac: Remove LIBZ and LIBLZ variables and check instead for
Guile-zlib and Guile-lzlib.
* doc/guix.texi ("Requirements"): Remove zlib requirement and add Guile-zlib
and Guile-lzlib instead.
* gnu/packages/package-management.scm (guix)[native-inputs]: Add "guile-zlib"
and "guile-lzlib",
[inputs]: remove "zlib" and "lzlib",
[propagated-inputs]: ditto,
[arguments]: add "guile-zlib" and "guile-lzlib" to Guile load path.
* guix/config.scm.in (%libz, %liblz): Remove them.
* guix/lzlib.scm: Remove it.
* guix/man-db.scm: Use (zlib) instead of (guix zlib).
* guix/profiles.scm (manual-database): Do not stub (guix config) in imported
modules list, instead add "guile-zlib" to the extension list.
* guix/scripts/publish.scm: Use (zlib) instead of (guix zlib) and (lzlib)
instead of (guix lzlib),
(string->compression-type, effective-compression): do not check for zlib and
lzlib availability.
* guix/scripts/substitute.scm (%compression-methods): Do not check for lzlib
availability.
* guix/self.scm (specification->package): Add "guile-zlib" and "guile-lzlib"
and remove "zlib" and "lzlib",
(compiled-guix): remove "zlib" and "lzlib" arguments and add guile-zlib and
guile-lzlib to the dependencies, also do not pass "zlib" and "lzlib" to
"make-config.scm" procedure,
(make-config.scm): remove "zlib" and "lzlib" arguments as well as %libz and
%liblz variables.
* guix/utils.scm (lzip-port): Use (lzlib) instead of (guix lzlib) and do not
check for lzlib availability.
* guix/zlib.scm: Remove it.
* m4/guix.m4 (GUIX_LIBZ_LIBDIR, GUIX_LIBLZ_FILE_NAME): Remove them.
* tests/lzlib.scm: Use (zlib) instead of (guix zlib) and (lzlib)
instead of (guix lzlib), and do not check for zlib and lzlib availability.
* tests/publish.scm: Ditto.
* tests/substitute.scm: Do not check for lzlib availability.
* tests/utils.scm: Ditto.
* tests/zlib.scm: Remove it.
2020-07-27 10:36:39 -04:00
|
|
|
|
(zlib (assoc-ref inputs "guile-zlib"))
|
|
|
|
|
(lzlib (assoc-ref inputs "guile-lzlib"))
|
2021-01-14 03:10:55 -05:00
|
|
|
|
(zstd (assoc-ref inputs "guile-zstd"))
|
2017-07-28 11:52:21 -04:00
|
|
|
|
(git (assoc-ref inputs "guile-git"))
|
2017-11-28 07:29:47 -05:00
|
|
|
|
(bs (assoc-ref inputs
|
|
|
|
|
"guile-bytestructures"))
|
2017-05-05 18:25:00 -04:00
|
|
|
|
(ssh (assoc-ref inputs "guile-ssh"))
|
|
|
|
|
(gnutls (assoc-ref inputs "gnutls"))
|
2021-05-14 16:50:53 -04:00
|
|
|
|
(disarchive (assoc-ref inputs "disarchive"))
|
2019-02-14 17:07:42 -05:00
|
|
|
|
(locales (assoc-ref inputs "glibc-utf8-locales"))
|
2020-11-29 11:46:55 -05:00
|
|
|
|
(deps (list gcrypt json sqlite gnutls git
|
2021-05-14 16:50:53 -04:00
|
|
|
|
bs ssh zlib lzlib zstd guile-lib
|
|
|
|
|
disarchive))
|
2021-05-04 09:17:45 -04:00
|
|
|
|
(deps* (if avahi (cons avahi deps) deps))
|
2017-05-05 18:25:00 -04:00
|
|
|
|
(effective
|
|
|
|
|
(read-line
|
|
|
|
|
(open-pipe* OPEN_READ
|
|
|
|
|
(string-append guile "/bin/guile")
|
|
|
|
|
"-c" "(display (effective-version))")))
|
2021-05-04 08:35:31 -04:00
|
|
|
|
(path (map (cut string-append <>
|
|
|
|
|
"/share/guile/site/"
|
|
|
|
|
effective)
|
|
|
|
|
(delete #f deps*)))
|
|
|
|
|
(gopath (map (cut string-append <>
|
|
|
|
|
"/lib/guile/" effective
|
|
|
|
|
"/site-ccache")
|
|
|
|
|
(delete #f deps*)))
|
2019-02-14 17:07:42 -05:00
|
|
|
|
(locpath (string-append locales "/lib/locale")))
|
2016-03-29 16:11:59 -04:00
|
|
|
|
|
2021-05-04 08:35:31 -04:00
|
|
|
|
;; Modify 'guix' directly instead of using
|
|
|
|
|
;; 'wrap-program'. This avoids the indirection
|
|
|
|
|
;; through Bash, which in turn avoids getting Bash's
|
|
|
|
|
;; own locale warnings.
|
|
|
|
|
(substitute* (string-append out "/bin/guix")
|
|
|
|
|
(("!#")
|
|
|
|
|
(string-append
|
|
|
|
|
"!#\n\n"
|
|
|
|
|
(object->string
|
|
|
|
|
`(set! %load-path (append ',path %load-path)))
|
|
|
|
|
"\n"
|
|
|
|
|
(object->string
|
|
|
|
|
`(set! %load-compiled-path
|
|
|
|
|
(append ',gopath %load-compiled-path)))
|
|
|
|
|
"\n"
|
|
|
|
|
(object->string
|
|
|
|
|
`(let ((path (getenv "GUIX_LOCPATH")))
|
|
|
|
|
(setenv "GUIX_LOCPATH"
|
|
|
|
|
(if path
|
|
|
|
|
(string-append path ":" ,locpath)
|
|
|
|
|
,locpath))))
|
|
|
|
|
"\n\n"))))))
|
2020-11-16 17:05:49 -05:00
|
|
|
|
|
2020-11-17 03:18:04 -05:00
|
|
|
|
;; The 'guix' executable has 'OUT/libexec/guix/guile' as
|
2020-11-16 17:05:49 -05:00
|
|
|
|
;; its shebang; that should remain unchanged, thus remove
|
|
|
|
|
;; the 'patch-shebangs' phase, which would otherwise
|
|
|
|
|
;; change it to 'GUILE/bin/guile'.
|
|
|
|
|
(delete 'patch-shebangs))))
|
2017-05-05 18:25:00 -04:00
|
|
|
|
(native-inputs `(("pkg-config" ,pkg-config)
|
2016-10-30 18:06:06 -04:00
|
|
|
|
|
2020-03-06 07:49:40 -05:00
|
|
|
|
;; Guile libraries are needed here for
|
|
|
|
|
;; cross-compilation.
|
2020-06-23 19:02:33 -04:00
|
|
|
|
("guile" ,guile-3.0-latest) ;for faster builds
|
2020-03-06 07:49:40 -05:00
|
|
|
|
("gnutls" ,gnutls)
|
2020-11-29 11:46:55 -05:00
|
|
|
|
,@(if (%current-target-system)
|
|
|
|
|
'()
|
|
|
|
|
`(("guile-avahi" ,guile-avahi)))
|
2020-03-06 07:49:40 -05:00
|
|
|
|
("guile-gcrypt" ,guile-gcrypt)
|
2020-06-02 12:27:49 -04:00
|
|
|
|
("guile-json" ,guile-json-4)
|
2020-10-22 20:40:17 -04:00
|
|
|
|
("guile-lib" ,guile-lib)
|
2020-03-06 07:49:40 -05:00
|
|
|
|
("guile-sqlite3" ,guile-sqlite3)
|
Use "guile-zlib" and "guile-lzlib" instead of (guix config).
* Makefile.am (MODULES): Remove guix/zlib.scm and guix/lzlib.scm,
(SCM_TESTS): remove tests/zlib.scm, tests/lzlib.scm.
* build-aux/build-self.scm (make-config.scm): Remove unused %libz variable.
* configure.ac: Remove LIBZ and LIBLZ variables and check instead for
Guile-zlib and Guile-lzlib.
* doc/guix.texi ("Requirements"): Remove zlib requirement and add Guile-zlib
and Guile-lzlib instead.
* gnu/packages/package-management.scm (guix)[native-inputs]: Add "guile-zlib"
and "guile-lzlib",
[inputs]: remove "zlib" and "lzlib",
[propagated-inputs]: ditto,
[arguments]: add "guile-zlib" and "guile-lzlib" to Guile load path.
* guix/config.scm.in (%libz, %liblz): Remove them.
* guix/lzlib.scm: Remove it.
* guix/man-db.scm: Use (zlib) instead of (guix zlib).
* guix/profiles.scm (manual-database): Do not stub (guix config) in imported
modules list, instead add "guile-zlib" to the extension list.
* guix/scripts/publish.scm: Use (zlib) instead of (guix zlib) and (lzlib)
instead of (guix lzlib),
(string->compression-type, effective-compression): do not check for zlib and
lzlib availability.
* guix/scripts/substitute.scm (%compression-methods): Do not check for lzlib
availability.
* guix/self.scm (specification->package): Add "guile-zlib" and "guile-lzlib"
and remove "zlib" and "lzlib",
(compiled-guix): remove "zlib" and "lzlib" arguments and add guile-zlib and
guile-lzlib to the dependencies, also do not pass "zlib" and "lzlib" to
"make-config.scm" procedure,
(make-config.scm): remove "zlib" and "lzlib" arguments as well as %libz and
%liblz variables.
* guix/utils.scm (lzip-port): Use (lzlib) instead of (guix lzlib) and do not
check for lzlib availability.
* guix/zlib.scm: Remove it.
* m4/guix.m4 (GUIX_LIBZ_LIBDIR, GUIX_LIBLZ_FILE_NAME): Remove them.
* tests/lzlib.scm: Use (zlib) instead of (guix zlib) and (lzlib)
instead of (guix lzlib), and do not check for zlib and lzlib availability.
* tests/publish.scm: Ditto.
* tests/substitute.scm: Do not check for lzlib availability.
* tests/utils.scm: Ditto.
* tests/zlib.scm: Remove it.
2020-07-27 10:36:39 -04:00
|
|
|
|
("guile-zlib" ,guile-zlib)
|
|
|
|
|
("guile-lzlib" ,guile-lzlib)
|
2021-01-14 03:10:55 -05:00
|
|
|
|
("guile-zstd" ,guile-zstd)
|
2020-03-06 07:49:40 -05:00
|
|
|
|
("guile-ssh" ,guile-ssh)
|
|
|
|
|
("guile-git" ,guile-git)
|
|
|
|
|
|
2017-05-05 18:25:00 -04:00
|
|
|
|
;; XXX: Keep the development inputs here even though
|
|
|
|
|
;; they're unnecessary, just so that 'guix environment
|
|
|
|
|
;; guix' always contains them.
|
2021-02-22 10:43:10 -05:00
|
|
|
|
("autoconf" ,autoconf)
|
2017-05-05 18:25:00 -04:00
|
|
|
|
("automake" ,automake)
|
|
|
|
|
("gettext" ,gettext-minimal)
|
|
|
|
|
("texinfo" ,texinfo)
|
|
|
|
|
("graphviz" ,graphviz)
|
2018-03-02 17:11:46 -05:00
|
|
|
|
("help2man" ,help2man)
|
|
|
|
|
("po4a" ,po4a)))
|
2017-05-05 18:25:00 -04:00
|
|
|
|
(inputs
|
2017-07-27 10:41:42 -04:00
|
|
|
|
`(("bzip2" ,bzip2)
|
|
|
|
|
("gzip" ,gzip)
|
|
|
|
|
("sqlite" ,sqlite)
|
|
|
|
|
("libgcrypt" ,libgcrypt)
|
2018-07-17 06:17:46 -04:00
|
|
|
|
|
2020-06-23 19:02:33 -04:00
|
|
|
|
("guile" ,guile-3.0-latest)
|
2013-08-24 11:23:17 -04:00
|
|
|
|
|
2019-10-10 11:25:21 -04:00
|
|
|
|
;; Some of the tests use "unshare" when it is available.
|
|
|
|
|
("util-linux" ,util-linux)
|
|
|
|
|
|
2018-02-18 18:06:23 -05:00
|
|
|
|
;; Many tests rely on the 'guile-bootstrap' package, which is why we
|
|
|
|
|
;; have it here.
|
|
|
|
|
("boot-guile" ,(bootstrap-guile-origin (%current-system)))
|
|
|
|
|
,@(if (and (not (%current-target-system))
|
|
|
|
|
(string=? (%current-system) "x86_64-linux"))
|
|
|
|
|
`(("boot-guile/i686" ,(bootstrap-guile-origin "i686-linux")))
|
2019-02-14 17:07:42 -05:00
|
|
|
|
'())
|
2020-04-10 15:24:19 -04:00
|
|
|
|
,@(if (%current-target-system)
|
2021-05-04 08:35:31 -04:00
|
|
|
|
`(("xz" ,xz))
|
2020-04-10 15:24:19 -04:00
|
|
|
|
'())
|
2019-02-14 17:07:42 -05:00
|
|
|
|
|
2019-10-10 11:25:21 -04:00
|
|
|
|
;; Tests also rely on these bootstrap executables.
|
|
|
|
|
("bootstrap/bash" ,(bootstrap-executable "bash" (%current-system)))
|
|
|
|
|
("bootstrap/mkdir" ,(bootstrap-executable "mkdir" (%current-system)))
|
|
|
|
|
("bootstrap/tar" ,(bootstrap-executable "tar" (%current-system)))
|
|
|
|
|
("bootstrap/xz" ,(bootstrap-executable "xz" (%current-system)))
|
|
|
|
|
|
2021-05-14 16:50:53 -04:00
|
|
|
|
("disarchive" ,disarchive) ;for 'guix perform-download'
|
|
|
|
|
|
2019-02-14 17:07:42 -05:00
|
|
|
|
("glibc-utf8-locales" ,glibc-utf8-locales)))
|
2017-05-05 18:25:00 -04:00
|
|
|
|
(propagated-inputs
|
2020-12-08 05:12:14 -05:00
|
|
|
|
`(("gnutls" ,gnutls)
|
2020-11-29 11:46:55 -05:00
|
|
|
|
;; Avahi requires "glib" which doesn't cross-compile yet.
|
|
|
|
|
,@(if (%current-target-system)
|
|
|
|
|
'()
|
|
|
|
|
`(("guile-avahi" ,guile-avahi)))
|
Switch to Guile-Gcrypt.
This removes (guix hash) and (guix pk-crypto), which now live as part of
Guile-Gcrypt (version 0.1.0.)
* guix/gcrypt.scm, guix/hash.scm, guix/pk-crypto.scm,
tests/hash.scm, tests/pk-crypto.scm: Remove.
* configure.ac: Test for Guile-Gcrypt. Remove LIBGCRYPT and
LIBGCRYPT_LIBDIR assignments.
* m4/guix.m4 (GUIX_ASSERT_LIBGCRYPT_USABLE): Remove.
* README: Add Guile-Gcrypt to the dependencies; move libgcrypt as
"required unless --disable-daemon".
* doc/guix.texi (Requirements): Likewise.
* gnu/packages/bash.scm, guix/derivations.scm, guix/docker.scm,
guix/git.scm, guix/http-client.scm, guix/import/cpan.scm,
guix/import/cran.scm, guix/import/crate.scm, guix/import/elpa.scm,
guix/import/gnu.scm, guix/import/hackage.scm,
guix/import/texlive.scm, guix/import/utils.scm, guix/nar.scm,
guix/pki.scm, guix/scripts/archive.scm,
guix/scripts/authenticate.scm, guix/scripts/download.scm,
guix/scripts/hash.scm, guix/scripts/pack.scm,
guix/scripts/publish.scm, guix/scripts/refresh.scm,
guix/scripts/substitute.scm, guix/store.scm,
guix/store/deduplication.scm, guix/tests.scm, tests/base32.scm,
tests/builders.scm, tests/challenge.scm, tests/cpan.scm,
tests/crate.scm, tests/derivations.scm, tests/gem.scm,
tests/nar.scm, tests/opam.scm, tests/pki.scm,
tests/publish.scm, tests/pypi.scm, tests/store-deduplication.scm,
tests/store.scm, tests/substitute.scm: Adjust imports.
* gnu/system/vm.scm: Likewise.
(guile-sqlite3&co): Rename to...
(gcrypt-sqlite3&co): ... this. Add GUILE-GCRYPT.
(expression->derivation-in-linux-vm)[config]: Remove.
(iso9660-image)[config]: Remove.
(qemu-image)[config]: Remove.
(system-docker-image)[config]: Remove.
* guix/scripts/pack.scm: Adjust imports.
(guile-sqlite3&co): Rename to...
(gcrypt-sqlite3&co): ... this. Add GUILE-GCRYPT.
(self-contained-tarball)[build]: Call 'make-config.scm' without
#:libgcrypt argument.
(squashfs-image)[libgcrypt]: Remove.
[build]: Call 'make-config.scm' without #:libgcrypt.
(docker-image)[config, json]: Remove.
[build]: Add GUILE-GCRYPT to the extensions Remove (guix config) from
the imported modules.
* guix/self.scm (specification->package): Remove "libgcrypt", add
"guile-gcrypt".
(compiled-guix): Remove #:libgcrypt.
[guile-gcrypt]: New variable.
[dependencies]: Add it.
[*core-modules*]: Remove #:libgcrypt from 'make-config.scm' call.
Add #:extensions.
[*config*]: Remove #:libgcrypt from 'make-config.scm' call.
(%dependency-variables): Remove %libgcrypt.
(make-config.scm): Remove #:libgcrypt.
* build-aux/build-self.scm (guile-gcrypt): New variable.
(make-config.scm): Remove #:libgcrypt.
(build-program)[fake-gcrypt-hash]: New variable.
Add (gcrypt hash) to the imported modules. Adjust load path
assignments.
* gnu/packages/package-management.scm (guix)[propagated-inputs]: Add
GUILE-GCRYPT.
[arguments]: In 'wrap-program' phase, add GUILE-GCRYPT to the search
path.
2018-08-31 11:07:07 -04:00
|
|
|
|
("guile-gcrypt" ,guile-gcrypt)
|
2020-06-02 12:27:49 -04:00
|
|
|
|
("guile-json" ,guile-json-4)
|
2020-10-22 20:40:17 -04:00
|
|
|
|
("guile-lib" ,guile-lib)
|
2018-06-04 16:31:48 -04:00
|
|
|
|
("guile-sqlite3" ,guile-sqlite3)
|
2017-07-28 11:52:21 -04:00
|
|
|
|
("guile-ssh" ,guile-ssh)
|
Use "guile-zlib" and "guile-lzlib" instead of (guix config).
* Makefile.am (MODULES): Remove guix/zlib.scm and guix/lzlib.scm,
(SCM_TESTS): remove tests/zlib.scm, tests/lzlib.scm.
* build-aux/build-self.scm (make-config.scm): Remove unused %libz variable.
* configure.ac: Remove LIBZ and LIBLZ variables and check instead for
Guile-zlib and Guile-lzlib.
* doc/guix.texi ("Requirements"): Remove zlib requirement and add Guile-zlib
and Guile-lzlib instead.
* gnu/packages/package-management.scm (guix)[native-inputs]: Add "guile-zlib"
and "guile-lzlib",
[inputs]: remove "zlib" and "lzlib",
[propagated-inputs]: ditto,
[arguments]: add "guile-zlib" and "guile-lzlib" to Guile load path.
* guix/config.scm.in (%libz, %liblz): Remove them.
* guix/lzlib.scm: Remove it.
* guix/man-db.scm: Use (zlib) instead of (guix zlib).
* guix/profiles.scm (manual-database): Do not stub (guix config) in imported
modules list, instead add "guile-zlib" to the extension list.
* guix/scripts/publish.scm: Use (zlib) instead of (guix zlib) and (lzlib)
instead of (guix lzlib),
(string->compression-type, effective-compression): do not check for zlib and
lzlib availability.
* guix/scripts/substitute.scm (%compression-methods): Do not check for lzlib
availability.
* guix/self.scm (specification->package): Add "guile-zlib" and "guile-lzlib"
and remove "zlib" and "lzlib",
(compiled-guix): remove "zlib" and "lzlib" arguments and add guile-zlib and
guile-lzlib to the dependencies, also do not pass "zlib" and "lzlib" to
"make-config.scm" procedure,
(make-config.scm): remove "zlib" and "lzlib" arguments as well as %libz and
%liblz variables.
* guix/utils.scm (lzip-port): Use (lzlib) instead of (guix lzlib) and do not
check for lzlib availability.
* guix/zlib.scm: Remove it.
* m4/guix.m4 (GUIX_LIBZ_LIBDIR, GUIX_LIBLZ_FILE_NAME): Remove them.
* tests/lzlib.scm: Use (zlib) instead of (guix zlib) and (lzlib)
instead of (guix lzlib), and do not check for zlib and lzlib availability.
* tests/publish.scm: Ditto.
* tests/substitute.scm: Do not check for lzlib availability.
* tests/utils.scm: Ditto.
* tests/zlib.scm: Remove it.
2020-07-27 10:36:39 -04:00
|
|
|
|
("guile-git" ,guile-git)
|
|
|
|
|
("guile-zlib" ,guile-zlib)
|
2021-01-14 03:10:55 -05:00
|
|
|
|
("guile-lzlib" ,guile-lzlib)
|
|
|
|
|
("guile-zstd" ,guile-zstd)))
|
2021-01-06 04:03:23 -05:00
|
|
|
|
(native-search-paths
|
|
|
|
|
(list (search-path-specification
|
|
|
|
|
(variable "GUIX_EXTENSIONS_PATH")
|
2021-01-22 02:35:29 -05:00
|
|
|
|
(files '("share/guix/extensions")))
|
|
|
|
|
|
|
|
|
|
;; (guix git) and (guix build download) honor this variable whose
|
|
|
|
|
;; name comes from OpenSSL.
|
|
|
|
|
(search-path-specification
|
|
|
|
|
(variable "SSL_CERT_DIR")
|
|
|
|
|
(separator #f) ;single entry
|
|
|
|
|
(files '("etc/ssl/certs")))))
|
2015-01-28 17:36:58 -05:00
|
|
|
|
|
2017-05-05 18:25:00 -04:00
|
|
|
|
(home-page "https://www.gnu.org/software/guix/")
|
|
|
|
|
(synopsis "Functional package manager for installed software packages and versions")
|
|
|
|
|
(description
|
|
|
|
|
"GNU Guix is a functional package manager for the GNU system, and is
|
2014-09-13 09:31:31 -04:00
|
|
|
|
also a distribution thereof. It includes a virtual machine image. Besides
|
2013-12-01 16:33:23 -05:00
|
|
|
|
the usual package management features, it also supports transactional
|
2014-09-13 09:31:31 -04:00
|
|
|
|
upgrades and roll-backs, per-user profiles, and much more. It is based on
|
|
|
|
|
the Nix package manager.")
|
2018-01-17 16:03:57 -05:00
|
|
|
|
(license license:gpl3+)
|
2017-05-05 18:25:00 -04:00
|
|
|
|
(properties '((ftp-server . "alpha.gnu.org"))))))
|
2014-10-12 18:29:09 -04:00
|
|
|
|
|
2018-06-14 15:59:23 -04:00
|
|
|
|
(define-public guix-daemon
|
|
|
|
|
;; This package is for internal consumption: it allows us to quickly build
|
|
|
|
|
;; the 'guix-daemon' program and use that in (guix self), used by 'guix
|
|
|
|
|
;; pull'.
|
|
|
|
|
(package
|
|
|
|
|
(inherit guix)
|
|
|
|
|
(properties `((hidden? . #t)))
|
|
|
|
|
(name "guix-daemon")
|
|
|
|
|
|
|
|
|
|
;; Use a minimum set of dependencies.
|
|
|
|
|
(native-inputs
|
|
|
|
|
(fold alist-delete (package-native-inputs guix)
|
|
|
|
|
'("po4a" "graphviz" "help2man")))
|
|
|
|
|
(inputs
|
2020-09-25 13:02:13 -04:00
|
|
|
|
`(("gnutls" ,gnutls)
|
2018-06-14 15:59:23 -04:00
|
|
|
|
("guile-git" ,guile-git)
|
2019-08-17 13:13:15 -04:00
|
|
|
|
("guile-json" ,guile-json-3)
|
2018-09-05 09:48:04 -04:00
|
|
|
|
("guile-gcrypt" ,guile-gcrypt)
|
2018-06-19 09:29:21 -04:00
|
|
|
|
,@(fold alist-delete (package-inputs guix)
|
|
|
|
|
'("boot-guile" "boot-guile/i686" "util-linux"))))
|
|
|
|
|
|
2018-06-14 15:59:23 -04:00
|
|
|
|
(propagated-inputs '())
|
|
|
|
|
|
|
|
|
|
(arguments
|
|
|
|
|
(substitute-keyword-arguments (package-arguments guix)
|
2018-06-19 09:29:21 -04:00
|
|
|
|
((#:configure-flags flags '())
|
|
|
|
|
;; Pretend we have those libraries; we don't actually need them.
|
|
|
|
|
`(append ,flags
|
|
|
|
|
'("guix_cv_have_recent_guile_sqlite3=yes"
|
|
|
|
|
"guix_cv_have_recent_guile_ssh=yes")))
|
2018-06-14 15:59:23 -04:00
|
|
|
|
((#:tests? #f #f)
|
|
|
|
|
#f)
|
|
|
|
|
((#:phases phases '%standard-phases)
|
|
|
|
|
`(modify-phases ,phases
|
2019-09-08 08:04:50 -04:00
|
|
|
|
(add-after 'unpack 'change-default-guix
|
|
|
|
|
(lambda _
|
|
|
|
|
;; We need to tell 'guix-daemon' which 'guix' command to use.
|
|
|
|
|
;; Here we use a questionable hack where we hard-code root's
|
|
|
|
|
;; current guix, which could be wrong (XXX). Note that scripts
|
|
|
|
|
;; like 'guix perform-download' do not run as root so we assume
|
|
|
|
|
;; that they have access to /var/guix/profiles/per-user/root.
|
|
|
|
|
(substitute* "nix/libstore/globals.cc"
|
|
|
|
|
(("guixProgram = (.*)nixBinDir + \"/guix\"" _ before)
|
|
|
|
|
(string-append "guixProgram = " before
|
|
|
|
|
"/var/guix/profiles/per-user/root\
|
|
|
|
|
/current-guix/bin/guix")))
|
|
|
|
|
#t))
|
2018-06-14 15:59:23 -04:00
|
|
|
|
(replace 'build
|
|
|
|
|
(lambda _
|
|
|
|
|
(invoke "make" "nix/libstore/schema.sql.hh")
|
|
|
|
|
(invoke "make" "-j" (number->string
|
|
|
|
|
(parallel-job-count))
|
|
|
|
|
"guix-daemon")))
|
|
|
|
|
(delete 'copy-bootstrap-guile)
|
|
|
|
|
(replace 'install
|
|
|
|
|
(lambda* (#:key outputs #:allow-other-keys)
|
2019-09-08 08:04:50 -04:00
|
|
|
|
(invoke "make" "install-binPROGRAMS")))
|
2018-06-14 15:59:23 -04:00
|
|
|
|
(delete 'wrap-program)))))))
|
|
|
|
|
|
2020-02-22 18:20:30 -05:00
|
|
|
|
(define-public guile3.0-guix
|
|
|
|
|
(deprecated-package "guile3.0-guix" guix))
|
2020-01-17 15:59:03 -05:00
|
|
|
|
|
2020-07-02 06:01:45 -04:00
|
|
|
|
(define-public guix-minimal
|
|
|
|
|
;; A version of Guix which is built with the minimal set of dependencies, as
|
|
|
|
|
;; outlined in the README "Requirements" section. Intended as a CI job, so
|
|
|
|
|
;; marked as hidden.
|
|
|
|
|
(hidden-package
|
|
|
|
|
(package
|
|
|
|
|
(inherit guix)
|
|
|
|
|
(name "guix-minimal")
|
|
|
|
|
(native-inputs
|
|
|
|
|
(fold alist-delete
|
|
|
|
|
(package-native-inputs guix)
|
|
|
|
|
'("guile-ssh")))
|
|
|
|
|
(propagated-inputs
|
|
|
|
|
(fold alist-delete
|
|
|
|
|
(package-propagated-inputs guix)
|
|
|
|
|
'("guile-ssh"))))))
|
|
|
|
|
|
2016-06-19 16:26:59 -04:00
|
|
|
|
(define (source-file? file stat)
|
|
|
|
|
"Return true if FILE is likely a source file, false if it is a typical
|
|
|
|
|
generated file."
|
|
|
|
|
(define (wrong-extension? file)
|
|
|
|
|
(or (string-suffix? "~" file)
|
|
|
|
|
(member (file-extension file)
|
|
|
|
|
'("o" "a" "lo" "so" "go"))))
|
|
|
|
|
|
|
|
|
|
(match (basename file)
|
|
|
|
|
((or ".git" "autom4te.cache" "configure" "Makefile" "Makefile.in" ".libs")
|
|
|
|
|
#f)
|
|
|
|
|
((? wrong-extension?)
|
|
|
|
|
#f)
|
|
|
|
|
(_
|
|
|
|
|
#t)))
|
|
|
|
|
|
2019-01-19 18:20:34 -05:00
|
|
|
|
(define-public current-guix-package
|
|
|
|
|
;; This parameter allows callers to override the package that 'current-guix'
|
|
|
|
|
;; returns. This is useful when 'current-guix' cannot compute it by itself,
|
|
|
|
|
;; for instance because it's not running from a source code checkout.
|
|
|
|
|
(make-parameter #f))
|
|
|
|
|
|
2016-06-19 16:26:59 -04:00
|
|
|
|
(define-public current-guix
|
2019-03-26 06:06:16 -04:00
|
|
|
|
(let* ((repository-root (delay (canonicalize-path
|
|
|
|
|
(string-append (current-source-directory)
|
|
|
|
|
"/../.."))))
|
|
|
|
|
(select? (delay (or (git-predicate (force repository-root))
|
2017-08-29 02:41:30 -04:00
|
|
|
|
source-file?))))
|
2016-06-19 16:26:59 -04:00
|
|
|
|
(lambda ()
|
|
|
|
|
"Return a package representing Guix built from the current source tree.
|
|
|
|
|
This works by adding the current source tree to the store (after filtering it
|
|
|
|
|
out) and returning a package that uses that as its 'source'."
|
2019-01-19 18:20:34 -05:00
|
|
|
|
(or (current-guix-package)
|
|
|
|
|
(package
|
|
|
|
|
(inherit guix)
|
|
|
|
|
(version (string-append (package-version guix) "+"))
|
2019-03-26 06:06:16 -04:00
|
|
|
|
(source (local-file (force repository-root) "guix-current"
|
2019-01-19 18:20:34 -05:00
|
|
|
|
#:recursive? #t
|
|
|
|
|
#:select? (force select?))))))))
|
2016-06-19 16:26:59 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
;;;
|
|
|
|
|
;;; Other tools.
|
|
|
|
|
;;;
|
|
|
|
|
|
2014-09-27 19:04:18 -04:00
|
|
|
|
(define-public nix
|
|
|
|
|
(package
|
|
|
|
|
(name "nix")
|
2021-06-24 17:59:44 -04:00
|
|
|
|
(version "2.3.13")
|
2014-09-27 19:04:18 -04:00
|
|
|
|
(source (origin
|
|
|
|
|
(method url-fetch)
|
2021-06-25 09:13:55 -04:00
|
|
|
|
(uri (string-append "https://releases.nixos.org/nix/nix-"
|
2014-09-27 19:04:18 -04:00
|
|
|
|
version "/nix-" version ".tar.xz"))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
2021-06-24 17:59:44 -04:00
|
|
|
|
"0631qk2lgd76y6g2z45wy6lcpv647r2a08jd2dagzzpwniy68d3h"))))
|
2014-09-27 19:04:18 -04:00
|
|
|
|
(build-system gnu-build-system)
|
2020-06-16 07:17:40 -04:00
|
|
|
|
(arguments
|
2020-09-03 22:31:40 -04:00
|
|
|
|
`(#:configure-flags '("--sysconfdir=/etc" "--enable-gc")
|
2020-06-16 07:17:40 -04:00
|
|
|
|
#:phases
|
|
|
|
|
(modify-phases %standard-phases
|
|
|
|
|
(replace 'install
|
|
|
|
|
;; Don't try & fail to create subdirectories in /etc, but keep them
|
|
|
|
|
;; in the output as examples.
|
|
|
|
|
(lambda* (#:key (make-flags '()) outputs #:allow-other-keys)
|
|
|
|
|
(let* ((out (assoc-ref outputs "out"))
|
|
|
|
|
(etc (string-append out "/etc")))
|
|
|
|
|
(apply invoke "make" "install"
|
|
|
|
|
(string-append "sysconfdir=" etc)
|
|
|
|
|
(string-append "profiledir=" etc "/profile.d")
|
|
|
|
|
make-flags)))))))
|
2018-06-10 09:29:04 -04:00
|
|
|
|
(native-inputs `(("pkg-config" ,pkg-config)))
|
2020-05-05 16:53:18 -04:00
|
|
|
|
(inputs `(("boost" ,boost)
|
|
|
|
|
("brotli" ,brotli)
|
2018-06-10 09:29:04 -04:00
|
|
|
|
("bzip2" ,bzip2)
|
2020-05-05 16:53:18 -04:00
|
|
|
|
("curl" ,curl)
|
|
|
|
|
("editline" ,editline)
|
2014-09-27 19:04:18 -04:00
|
|
|
|
("libgc" ,libgc)
|
2018-06-10 09:29:04 -04:00
|
|
|
|
("libseccomp" ,libseccomp)
|
|
|
|
|
("libsodium" ,libsodium)
|
|
|
|
|
("openssl" ,openssl)
|
2014-09-27 19:04:18 -04:00
|
|
|
|
("sqlite" ,sqlite)
|
2018-06-10 09:29:04 -04:00
|
|
|
|
("xz" ,xz)))
|
2018-02-19 23:01:22 -05:00
|
|
|
|
(home-page "https://nixos.org/nix/")
|
2014-09-27 19:04:18 -04:00
|
|
|
|
(synopsis "The Nix package manager")
|
|
|
|
|
(description
|
|
|
|
|
"Nix is a purely functional package manager. This means that it treats
|
|
|
|
|
packages like values in purely functional programming languages such as
|
|
|
|
|
Haskell—they are built by functions that don't have side-effects, and they
|
|
|
|
|
never change after they have been built. Nix stores packages in the Nix
|
|
|
|
|
store, usually the directory /nix/store, where each package has its own unique
|
|
|
|
|
sub-directory.")
|
2018-01-17 16:03:57 -05:00
|
|
|
|
(license license:lgpl2.1+)))
|
2017-08-25 15:43:23 -04:00
|
|
|
|
|
2015-02-21 13:59:08 -05:00
|
|
|
|
(define-public stow
|
|
|
|
|
(package
|
|
|
|
|
(name "stow")
|
2019-08-29 04:09:19 -04:00
|
|
|
|
(version "2.3.1")
|
2015-02-21 13:59:08 -05:00
|
|
|
|
(source (origin
|
|
|
|
|
(method url-fetch)
|
|
|
|
|
(uri (string-append "mirror://gnu/stow/stow-"
|
|
|
|
|
version ".tar.gz"))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
2019-08-29 04:09:19 -04:00
|
|
|
|
"0jrxy12ywn7smdzdnvwzjw77l6knx6jkj2rckgykg1dpf6bdkm89"))))
|
2015-02-21 13:59:08 -05:00
|
|
|
|
(build-system gnu-build-system)
|
|
|
|
|
(inputs
|
2019-08-29 04:09:19 -04:00
|
|
|
|
`(("perl" ,perl)))
|
2015-02-21 13:59:08 -05:00
|
|
|
|
(native-inputs
|
|
|
|
|
`(("perl-test-simple" ,perl-test-simple)
|
|
|
|
|
("perl-test-output" ,perl-test-output)
|
2015-11-11 17:45:29 -05:00
|
|
|
|
("perl-capture-tiny" ,perl-capture-tiny)
|
|
|
|
|
("perl-io-stringy" ,perl-io-stringy)))
|
2015-02-21 13:59:08 -05:00
|
|
|
|
(home-page "https://www.gnu.org/software/stow/")
|
|
|
|
|
(synopsis "Managing installed software packages")
|
|
|
|
|
(description
|
|
|
|
|
"GNU Stow is a symlink manager. It generates symlinks to directories
|
|
|
|
|
of data and makes them appear to be merged into the same directory. It is
|
|
|
|
|
typically used for managing software packages installed from source, by
|
|
|
|
|
letting you install them apart in distinct directories and then create
|
|
|
|
|
symlinks to the files in a common directory such as /usr/local.")
|
2019-06-29 14:18:50 -04:00
|
|
|
|
(license license:gpl3+)))
|
2015-10-25 19:13:03 -04:00
|
|
|
|
|
2020-07-25 22:21:41 -04:00
|
|
|
|
(define-public xstow
|
|
|
|
|
(package
|
|
|
|
|
(name "xstow")
|
|
|
|
|
(version "1.0.2")
|
|
|
|
|
(source (origin
|
|
|
|
|
(method url-fetch)
|
|
|
|
|
(uri (string-append "mirror://sourceforge/xstow/xstow-"
|
|
|
|
|
version ".tar.bz2"))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
|
|
|
|
"1vy6lcswpkixh7h5mvsmq2wbcih6lpsmcva3m7v6f5npllciy13g"))))
|
|
|
|
|
(build-system gnu-build-system)
|
|
|
|
|
(synopsis "Replacement of GNU Stow written in C++")
|
|
|
|
|
(description
|
|
|
|
|
"XStow is a replacement of GNU Stow written in C++. It supports all
|
|
|
|
|
features of Stow with some extensions.")
|
|
|
|
|
(home-page "http://xstow.sourceforge.net/")
|
|
|
|
|
(license license:gpl2)))
|
|
|
|
|
|
2015-10-25 19:13:03 -04:00
|
|
|
|
(define-public rpm
|
|
|
|
|
(package
|
|
|
|
|
(name "rpm")
|
2021-03-23 08:09:54 -04:00
|
|
|
|
(version "4.16.1.3")
|
2015-10-25 19:13:03 -04:00
|
|
|
|
(source (origin
|
|
|
|
|
(method url-fetch)
|
2017-08-17 22:34:37 -04:00
|
|
|
|
(uri (string-append "http://ftp.rpm.org/releases/rpm-"
|
|
|
|
|
(version-major+minor version) ".x/rpm-"
|
2015-10-25 19:13:03 -04:00
|
|
|
|
version ".tar.bz2"))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
2021-03-23 08:09:54 -04:00
|
|
|
|
"07g2g0adgjm29wqy94iqhpp5dk0hacfw1yf7kzycrrxnfbwwfgai"))))
|
2015-10-25 19:13:03 -04:00
|
|
|
|
(build-system gnu-build-system)
|
|
|
|
|
(arguments
|
|
|
|
|
'(#:configure-flags '("--with-external-db" ;use the system's bdb
|
|
|
|
|
"--enable-python"
|
|
|
|
|
"--without-lua")
|
|
|
|
|
#:phases (modify-phases %standard-phases
|
2018-10-04 00:25:53 -04:00
|
|
|
|
(add-before 'configure 'set-nss-library-path
|
2015-10-25 19:13:03 -04:00
|
|
|
|
(lambda* (#:key inputs #:allow-other-keys)
|
2018-10-04 00:25:53 -04:00
|
|
|
|
(let ((nss (assoc-ref inputs "nss")))
|
2015-10-25 19:13:03 -04:00
|
|
|
|
(setenv "LIBRARY_PATH"
|
|
|
|
|
(string-append (getenv "LIBRARY_PATH") ":"
|
|
|
|
|
nss "/lib/nss"))
|
2018-10-04 00:25:53 -04:00
|
|
|
|
#t))))))
|
2015-10-25 19:13:03 -04:00
|
|
|
|
(native-inputs
|
|
|
|
|
`(("pkg-config" ,pkg-config)))
|
|
|
|
|
(inputs
|
2019-04-24 06:03:21 -04:00
|
|
|
|
`(("python" ,python)
|
2015-10-25 19:13:03 -04:00
|
|
|
|
("xz" ,xz)
|
|
|
|
|
("bdb" ,bdb)
|
|
|
|
|
("popt" ,popt)
|
|
|
|
|
("nss" ,nss)
|
|
|
|
|
("nspr" ,nspr)
|
|
|
|
|
("libarchive" ,libarchive)
|
2020-12-27 11:58:26 -05:00
|
|
|
|
("libgcrypt" ,libgcrypt)
|
2015-10-25 19:13:03 -04:00
|
|
|
|
("file" ,file)
|
|
|
|
|
("bzip2" ,bzip2)
|
|
|
|
|
("zlib" ,zlib)
|
|
|
|
|
("cpio" ,cpio)))
|
2019-04-24 06:03:21 -04:00
|
|
|
|
(home-page "https://rpm.org/")
|
2015-10-25 19:13:03 -04:00
|
|
|
|
(synopsis "The RPM Package Manager")
|
|
|
|
|
(description
|
|
|
|
|
"The RPM Package Manager (RPM) is a command-line driven package
|
|
|
|
|
management system capable of installing, uninstalling, verifying, querying,
|
|
|
|
|
and updating computer software packages. Each software package consists of an
|
|
|
|
|
archive of files along with information about the package like its version, a
|
|
|
|
|
description. There is also a library permitting developers to manage such
|
|
|
|
|
transactions from C or Python.")
|
|
|
|
|
|
|
|
|
|
;; The whole is GPLv2+; librpm itself is dual-licensed LGPLv2+ | GPLv2+.
|
2018-01-17 16:03:57 -05:00
|
|
|
|
(license license:gpl2+)))
|
2015-10-25 19:13:03 -04:00
|
|
|
|
|
2017-07-18 04:37:07 -04:00
|
|
|
|
(define-public python-anaconda-client
|
|
|
|
|
(package
|
|
|
|
|
(name "python-anaconda-client")
|
2021-07-05 09:02:46 -04:00
|
|
|
|
(version "1.8.0")
|
2017-07-18 04:37:07 -04:00
|
|
|
|
(source
|
|
|
|
|
(origin
|
2020-01-06 05:17:47 -05:00
|
|
|
|
(method git-fetch)
|
|
|
|
|
(uri (git-reference
|
|
|
|
|
(url "https://github.com/Anaconda-Platform/anaconda-client")
|
|
|
|
|
(commit version)))
|
|
|
|
|
(file-name (git-file-name name version))
|
2017-07-18 04:37:07 -04:00
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
2021-07-05 09:02:46 -04:00
|
|
|
|
"1vyk0g0gci4z9psisb8h50zi3j1nwfdg1jw3j76cxv0brln0v3fw"))))
|
2017-07-18 04:37:07 -04:00
|
|
|
|
(build-system python-build-system)
|
|
|
|
|
(propagated-inputs
|
2021-07-05 09:02:46 -04:00
|
|
|
|
`(("python-clyent" ,python-clyent)
|
|
|
|
|
("python-nbformat" ,python-nbformat)
|
|
|
|
|
("python-pyyaml" ,python-pyyaml)
|
|
|
|
|
("python-requests" ,python-requests)))
|
2017-07-18 04:37:07 -04:00
|
|
|
|
(native-inputs
|
2021-07-05 09:02:46 -04:00
|
|
|
|
`(("python-coverage" ,python-coverage)
|
2017-07-18 04:37:07 -04:00
|
|
|
|
("python-dateutil" ,python-dateutil)
|
2021-07-05 09:02:46 -04:00
|
|
|
|
("python-freezegun" ,python-freezegun)
|
2017-07-18 04:37:07 -04:00
|
|
|
|
("python-mock" ,python-mock)
|
2021-07-05 09:02:46 -04:00
|
|
|
|
("python-pillow" ,python-pillow)
|
|
|
|
|
("python-pytz" ,python-pytz)))
|
2017-07-18 04:37:07 -04:00
|
|
|
|
(arguments
|
|
|
|
|
`(#:phases
|
|
|
|
|
(modify-phases %standard-phases
|
|
|
|
|
;; This is needed for some tests.
|
|
|
|
|
(add-before 'check 'set-up-home
|
|
|
|
|
(lambda* _ (setenv "HOME" "/tmp") #t))
|
|
|
|
|
(add-before 'check 'remove-network-tests
|
|
|
|
|
(lambda* _
|
|
|
|
|
;; Remove tests requiring a network connection
|
|
|
|
|
(let ((network-tests '("tests/test_upload.py"
|
|
|
|
|
"tests/test_authorizations.py"
|
|
|
|
|
"tests/test_login.py"
|
|
|
|
|
"tests/test_whoami.py"
|
|
|
|
|
"utils/notebook/tests/test_data_uri.py"
|
|
|
|
|
"utils/notebook/tests/test_base.py"
|
|
|
|
|
"utils/notebook/tests/test_downloader.py"
|
|
|
|
|
"inspect_package/tests/test_conda.py")))
|
|
|
|
|
(with-directory-excursion "binstar_client"
|
|
|
|
|
(for-each delete-file network-tests)))
|
|
|
|
|
#t)))))
|
|
|
|
|
(home-page "https://github.com/Anaconda-Platform/anaconda-client")
|
|
|
|
|
(synopsis "Anaconda Cloud command line client library")
|
|
|
|
|
(description
|
|
|
|
|
"Anaconda Cloud command line client library provides an interface to
|
|
|
|
|
Anaconda Cloud. Anaconda Cloud is useful for sharing packages, notebooks and
|
|
|
|
|
environments.")
|
2018-01-17 16:03:57 -05:00
|
|
|
|
(license license:bsd-3)))
|
2017-07-18 04:37:07 -04:00
|
|
|
|
|
2020-08-12 15:50:42 -04:00
|
|
|
|
(define-public python-conda-package-handling
|
|
|
|
|
(package
|
|
|
|
|
(name "python-conda-package-handling")
|
2021-07-05 09:03:39 -04:00
|
|
|
|
(version "1.7.3")
|
2020-08-12 15:50:42 -04:00
|
|
|
|
(source
|
|
|
|
|
(origin
|
|
|
|
|
(method git-fetch)
|
|
|
|
|
(uri (git-reference
|
|
|
|
|
(url "https://github.com/conda/conda-package-handling/")
|
|
|
|
|
(commit version)))
|
|
|
|
|
(file-name (git-file-name name version))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
2021-07-05 09:03:39 -04:00
|
|
|
|
"1dq6f5ks3cinb355x712bls9bvv6bli6x3c43sdkqvawdw8xgv9j"))))
|
2020-08-12 15:50:42 -04:00
|
|
|
|
(build-system python-build-system)
|
|
|
|
|
(arguments
|
|
|
|
|
`(#:phases
|
|
|
|
|
(modify-phases %standard-phases
|
|
|
|
|
(add-after 'unpack 'use-unmodified-libarchive
|
|
|
|
|
(lambda _
|
|
|
|
|
(substitute* "setup.py"
|
2021-07-05 09:03:39 -04:00
|
|
|
|
(("archive_and_deps") "archive"))))
|
2020-08-12 15:50:42 -04:00
|
|
|
|
(replace 'check
|
|
|
|
|
(lambda* (#:key inputs outputs #:allow-other-keys)
|
|
|
|
|
(add-installed-pythonpath inputs outputs)
|
2021-07-05 09:03:39 -04:00
|
|
|
|
(invoke "pytest" "-vv" "tests"))))))
|
2020-08-12 15:50:42 -04:00
|
|
|
|
(propagated-inputs
|
|
|
|
|
`(("python-six" ,python-six)
|
|
|
|
|
("python-tqdm" ,python-tqdm)))
|
|
|
|
|
(inputs
|
|
|
|
|
`(("libarchive" ,libarchive)))
|
|
|
|
|
(native-inputs
|
|
|
|
|
`(("python-cython" ,python-cython)
|
|
|
|
|
("python-pytest" ,python-pytest)
|
|
|
|
|
("python-pytest-cov" ,python-pytest-cov)
|
2021-07-05 09:03:39 -04:00
|
|
|
|
("python-pytest-mock" ,python-pytest-mock)
|
2020-08-12 15:50:42 -04:00
|
|
|
|
("python-mock" ,python-mock)))
|
|
|
|
|
(home-page "https://conda.io")
|
|
|
|
|
(synopsis "Create and extract conda packages of various formats")
|
|
|
|
|
(description
|
|
|
|
|
"This library is an abstraction of Conda package handling and a tool for
|
|
|
|
|
extracting, creating, and converting between formats.")
|
|
|
|
|
(license license:bsd-3)))
|
|
|
|
|
|
2020-08-12 18:00:54 -04:00
|
|
|
|
(define-public conda
|
2017-07-18 04:37:08 -04:00
|
|
|
|
(package
|
2020-08-12 18:00:54 -04:00
|
|
|
|
(name "conda")
|
2021-07-05 09:04:16 -04:00
|
|
|
|
(version "4.10.3")
|
2017-07-18 04:37:08 -04:00
|
|
|
|
(source
|
|
|
|
|
(origin
|
2020-01-06 05:15:04 -05:00
|
|
|
|
(method git-fetch)
|
|
|
|
|
(uri (git-reference
|
|
|
|
|
(url "https://github.com/conda/conda")
|
|
|
|
|
(commit version)))
|
|
|
|
|
(file-name (git-file-name name version))
|
2017-07-18 04:37:08 -04:00
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
2021-07-05 09:04:16 -04:00
|
|
|
|
"1w4yy62bsvkybjvcm5fspck4ns5j16nplzpbx6bxv7zhx69pcp4n"))))
|
2017-07-18 04:37:08 -04:00
|
|
|
|
(build-system python-build-system)
|
|
|
|
|
(arguments
|
|
|
|
|
`(#:phases
|
|
|
|
|
(modify-phases %standard-phases
|
2020-08-12 18:00:54 -04:00
|
|
|
|
(add-after 'unpack 'fix-permissions
|
|
|
|
|
(lambda _
|
|
|
|
|
;; This file is no longer writable after downloading with
|
|
|
|
|
;; 'git-fetch'
|
|
|
|
|
(make-file-writable
|
2021-07-05 09:04:16 -04:00
|
|
|
|
"tests/conda_env/support/saved-env/environment.yml")))
|
|
|
|
|
(add-after 'unpack 'fix-ruamel-yaml-dependency
|
|
|
|
|
(lambda _
|
|
|
|
|
(substitute* "setup.py"
|
|
|
|
|
(("ruamel_yaml_conda") "ruamel.yaml"))))
|
2020-08-12 18:00:54 -04:00
|
|
|
|
(add-after 'unpack 'correct-python-executable-name
|
|
|
|
|
(lambda* (#:key inputs #:allow-other-keys)
|
|
|
|
|
(let ((python (assoc-ref inputs "python-wrapper")))
|
|
|
|
|
#;
|
|
|
|
|
(substitute* "conda/common/path.py"
|
|
|
|
|
(("python_version or ''")
|
|
|
|
|
"python_version or '3'"))
|
|
|
|
|
(substitute* "conda/core/initialize.py"
|
|
|
|
|
(("python_exe = join")
|
|
|
|
|
(format #f "python_exe = \"~a/bin/python\" #"
|
|
|
|
|
python))))
|
|
|
|
|
#t))
|
|
|
|
|
(add-after 'unpack 'do-not-use-python-root-as-prefix
|
|
|
|
|
(lambda* (#:key inputs outputs #:allow-other-keys)
|
|
|
|
|
(let ((out (assoc-ref outputs "out"))
|
|
|
|
|
(python (assoc-ref inputs "python-wrapper")))
|
|
|
|
|
(substitute* "tests/core/test_initialize.py"
|
|
|
|
|
(("\"\"\"\\) % conda_prefix")
|
|
|
|
|
(format #f "\"\"\") % \"~a\"" python))
|
|
|
|
|
(("CONDA_PYTHON_EXE \"%s\"' % join\\(conda_prefix")
|
|
|
|
|
(format #f "CONDA_PYTHON_EXE \"%s\"' % join(\"~a\""
|
|
|
|
|
python))
|
|
|
|
|
(("conda_prefix = abspath\\(sys.prefix\\)")
|
|
|
|
|
(format #f "conda_prefix = abspath(\"~a\")" out)))
|
|
|
|
|
(substitute* "conda/base/context.py"
|
|
|
|
|
(("os.chdir\\(sys.prefix\\)")
|
|
|
|
|
(format #f "os.chdir(\"~a\")" out))
|
|
|
|
|
(("sys.prefix, '.condarc'")
|
|
|
|
|
(format #f "\"~a\", '.condarc'" out))
|
|
|
|
|
(("return abspath\\(sys.prefix\\)")
|
|
|
|
|
(format #f "return abspath(\"~a\")" out))
|
|
|
|
|
(("os.path.join\\(sys.prefix, bin_dir, exe\\)")
|
|
|
|
|
(format #f "\"~a/bin/conda\"" out))
|
|
|
|
|
(("'CONDA_EXE', sys.executable")
|
|
|
|
|
(format #f "'CONDA_EXE', \"~a/bin/conda\"" out))))
|
|
|
|
|
#t))
|
2017-07-18 04:37:08 -04:00
|
|
|
|
(add-before 'build 'create-version-file
|
|
|
|
|
(lambda _
|
|
|
|
|
(with-output-to-file "conda/.version"
|
|
|
|
|
(lambda () (display ,version)))
|
|
|
|
|
#t))
|
|
|
|
|
(replace 'check
|
|
|
|
|
(lambda _
|
|
|
|
|
(setenv "HOME" "/tmp")
|
2020-08-12 18:00:54 -04:00
|
|
|
|
(invoke "py.test" "-vv"
|
|
|
|
|
"-k"
|
|
|
|
|
(string-append
|
|
|
|
|
"not integration"
|
|
|
|
|
;; This one reports a newer version of conda than
|
|
|
|
|
;; expected.
|
|
|
|
|
" and not test_auto_update_conda"
|
|
|
|
|
;; This fails because the output directory is not a
|
|
|
|
|
;; Conda environment.
|
|
|
|
|
" and not test_list"
|
|
|
|
|
;; This fails because we patched the default root
|
|
|
|
|
;; prefix.
|
|
|
|
|
" and not test_default_target_is_root_prefix"
|
2021-07-05 09:04:16 -04:00
|
|
|
|
|
|
|
|
|
;; These fail because ...
|
|
|
|
|
;; TODO: conda patches its own shebang to
|
|
|
|
|
;; $conda-prefix/bin/python, which is obviously wrong.
|
|
|
|
|
" and not test_run_returns_int"
|
|
|
|
|
" and not test_run_returns_zero_errorlevel"
|
|
|
|
|
" and not test_run_returns_nonzero_errorlevel"
|
|
|
|
|
|
2020-08-12 18:00:54 -04:00
|
|
|
|
;; TODO: I don't understand what this failure means
|
|
|
|
|
" and not test_PrefixData_return_value_contract"
|
|
|
|
|
;; TODO: same here
|
|
|
|
|
" and not test_install_1"
|
|
|
|
|
;; Not sure if this is really wrong. This fails because
|
|
|
|
|
;; /gnu/store/...python-conda-4.8.3/bin/python
|
|
|
|
|
;; is not /gnu/store/...python-wrapper-3.8.2/bin/python
|
|
|
|
|
" and not test_make_entry_point"))))
|
|
|
|
|
(add-after 'install 'init
|
|
|
|
|
;; This writes a whole bunch of shell initialization files to the
|
|
|
|
|
;; prefix directory. Many features of conda can only be used after
|
|
|
|
|
;; running "conda init".
|
|
|
|
|
(lambda* (#:key inputs outputs #:allow-other-keys)
|
|
|
|
|
(add-installed-pythonpath inputs outputs)
|
|
|
|
|
(setenv "HOME" "/tmp")
|
|
|
|
|
(invoke (string-append (assoc-ref outputs "out")
|
|
|
|
|
"/bin/conda")
|
|
|
|
|
"init"))))))
|
|
|
|
|
(inputs
|
|
|
|
|
`(("python-wrapper" ,python-wrapper)))
|
|
|
|
|
(propagated-inputs
|
|
|
|
|
`(("python-anaconda-client" ,python-anaconda-client)
|
|
|
|
|
("python-conda-package-handling" ,python-conda-package-handling)
|
|
|
|
|
("python-cytoolz" ,python-cytoolz)
|
2017-07-18 04:37:08 -04:00
|
|
|
|
("python-pycosat" ,python-pycosat)
|
|
|
|
|
("python-pytest" ,python-pytest)
|
|
|
|
|
("python-pyyaml" ,python-pyyaml)
|
2020-08-12 18:00:54 -04:00
|
|
|
|
("python-requests" ,python-requests)
|
|
|
|
|
("python-responses" ,python-responses)
|
|
|
|
|
("python-ruamel.yaml" ,python-ruamel.yaml)
|
|
|
|
|
("python-tqdm" ,python-tqdm)
|
|
|
|
|
;; XXX: This is dragged in by libarchive and is needed at runtime.
|
|
|
|
|
("zstd" ,zstd)))
|
2021-07-05 09:04:16 -04:00
|
|
|
|
(native-inputs
|
|
|
|
|
`(("python-pytest-timeout" ,python-pytest-timeout)))
|
2017-07-18 04:37:08 -04:00
|
|
|
|
(home-page "https://github.com/conda/conda")
|
|
|
|
|
(synopsis "Cross-platform, OS-agnostic, system-level binary package manager")
|
|
|
|
|
(description
|
|
|
|
|
"Conda is a cross-platform, Python-agnostic binary package manager. It
|
|
|
|
|
is the package manager used by Anaconda installations, but it may be used for
|
|
|
|
|
other systems as well. Conda makes environments first-class citizens, making
|
|
|
|
|
it easy to create independent environments even for C libraries. Conda is
|
2020-08-12 18:00:54 -04:00
|
|
|
|
written entirely in Python.")
|
2018-01-17 16:03:57 -05:00
|
|
|
|
(license license:bsd-3)))
|
2017-07-18 04:37:08 -04:00
|
|
|
|
|
2020-08-12 18:00:54 -04:00
|
|
|
|
(define-public python-conda
|
|
|
|
|
(deprecated-package "python-conda" conda))
|
2017-10-27 05:17:43 -04:00
|
|
|
|
|
|
|
|
|
(define-public gwl
|
|
|
|
|
(package
|
|
|
|
|
(name "gwl")
|
2021-02-06 15:42:21 -05:00
|
|
|
|
(version "0.3.0")
|
2017-10-27 05:17:43 -04:00
|
|
|
|
(source (origin
|
|
|
|
|
(method url-fetch)
|
2020-02-16 08:03:59 -05:00
|
|
|
|
(uri (string-append "mirror://gnu/gwl/gwl-" version ".tar.gz"))
|
2017-10-27 05:17:43 -04:00
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
2021-02-06 15:42:21 -05:00
|
|
|
|
"1lqif00mq7fsaknbc2gvvcv1j89k311sm44jp9jklbrv0v2lc83n"))))
|
2017-10-27 05:17:43 -04:00
|
|
|
|
(build-system gnu-build-system)
|
2020-03-01 16:56:45 -05:00
|
|
|
|
(arguments
|
2021-02-06 15:42:21 -05:00
|
|
|
|
`(#:parallel-build? #false ; for reproducibility
|
|
|
|
|
#:make-flags
|
|
|
|
|
'("GUILE_AUTO_COMPILE=0")))
|
2017-10-27 05:17:43 -04:00
|
|
|
|
(native-inputs
|
|
|
|
|
`(("autoconf" ,autoconf)
|
|
|
|
|
("automake" ,automake)
|
2020-02-16 08:03:59 -05:00
|
|
|
|
("pkg-config" ,pkg-config)
|
|
|
|
|
("texinfo" ,texinfo)
|
|
|
|
|
("graphviz" ,graphviz)))
|
2017-10-27 05:17:43 -04:00
|
|
|
|
(inputs
|
2021-02-06 15:42:21 -05:00
|
|
|
|
(let ((p (package-input-rewriting
|
|
|
|
|
`((,guile-3.0 . ,guile-3.0-latest))
|
|
|
|
|
#:deep? #false)))
|
|
|
|
|
`(("guix" ,guix)
|
|
|
|
|
("guile" ,guile-3.0-latest)
|
|
|
|
|
("guile-commonmark" ,(p guile-commonmark))
|
|
|
|
|
("guile-config" ,(p guile-config))
|
|
|
|
|
("guile-gcrypt" ,(p guile-gcrypt))
|
|
|
|
|
("guile-pfds" ,(p guile-pfds))
|
|
|
|
|
("guile-syntax-highlight" ,(p guile-syntax-highlight))
|
|
|
|
|
("guile-wisp" ,(p guile-wisp)))))
|
2020-02-16 08:03:59 -05:00
|
|
|
|
(home-page "https://workflows.guix.info")
|
2017-10-27 05:17:43 -04:00
|
|
|
|
(synopsis "Workflow management extension for GNU Guix")
|
2020-02-16 08:03:59 -05:00
|
|
|
|
(description "The @dfn{Guix Workflow Language} (GWL) provides an
|
|
|
|
|
extension to GNU Guix's declarative language for package management to
|
|
|
|
|
automate the execution of programs in scientific workflows. The GWL
|
|
|
|
|
can use process engines to integrate with various computing
|
|
|
|
|
environments.")
|
2017-10-27 05:17:43 -04:00
|
|
|
|
;; The Scheme modules in guix/ and gnu/ are licensed GPL3+,
|
|
|
|
|
;; the web interface modules in gwl/ are licensed AGPL3+,
|
|
|
|
|
;; and the fonts included in this package are licensed OFL1.1.
|
2018-01-17 16:03:57 -05:00
|
|
|
|
(license (list license:gpl3+ license:agpl3+ license:silofl1.1))))
|
2018-01-18 20:52:22 -05:00
|
|
|
|
|
2020-09-16 14:43:39 -04:00
|
|
|
|
(define-public guix-build-coordinator
|
2021-07-02 05:28:10 -04:00
|
|
|
|
(let ((commit "c2f0c5b36f8294bb4c699806f9e8c576ae9b9f90")
|
|
|
|
|
(revision "33"))
|
2020-09-16 14:43:39 -04:00
|
|
|
|
(package
|
2020-10-23 10:01:15 -04:00
|
|
|
|
(name "guix-build-coordinator")
|
|
|
|
|
(version (git-version "0" revision commit))
|
|
|
|
|
(source (origin
|
|
|
|
|
(method git-fetch)
|
|
|
|
|
(uri (git-reference
|
|
|
|
|
(url "https://git.cbaines.net/git/guix/build-coordinator")
|
|
|
|
|
(commit commit)))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
2021-07-02 05:28:10 -04:00
|
|
|
|
"0nlh1cyvpbsfy9pk22xmgx0vb625j7qgv79y527q91c9fjn7g37v"))
|
2020-10-23 10:01:15 -04:00
|
|
|
|
(file-name (string-append name "-" version "-checkout"))))
|
|
|
|
|
(build-system gnu-build-system)
|
|
|
|
|
(arguments
|
|
|
|
|
`(#:modules (((guix build guile-build-system)
|
|
|
|
|
#:select (target-guile-effective-version))
|
|
|
|
|
,@%gnu-build-system-modules)
|
|
|
|
|
#:imported-modules ((guix build guile-build-system)
|
|
|
|
|
,@%gnu-build-system-modules)
|
|
|
|
|
#:phases
|
|
|
|
|
(modify-phases %standard-phases
|
|
|
|
|
(add-before 'build 'set-GUILE_AUTO_COMPILE
|
|
|
|
|
(lambda _
|
|
|
|
|
;; To avoid warnings relating to 'guild'.
|
|
|
|
|
(setenv "GUILE_AUTO_COMPILE" "0")
|
|
|
|
|
#t))
|
|
|
|
|
(add-after 'install 'wrap-executable
|
2021-02-23 15:19:16 -05:00
|
|
|
|
(lambda* (#:key inputs outputs target #:allow-other-keys)
|
2020-10-23 10:01:15 -04:00
|
|
|
|
(let* ((out (assoc-ref outputs "out"))
|
|
|
|
|
(bin (string-append out "/bin"))
|
|
|
|
|
(guile (assoc-ref inputs "guile"))
|
|
|
|
|
(version (target-guile-effective-version))
|
|
|
|
|
(scm (string-append out "/share/guile/site/" version))
|
|
|
|
|
(go (string-append out "/lib/guile/" version "/site-ccache")))
|
|
|
|
|
(for-each
|
|
|
|
|
(lambda (file)
|
|
|
|
|
(simple-format (current-error-port) "wrapping: ~A\n" file)
|
2021-04-09 05:08:57 -04:00
|
|
|
|
(let ((guile-inputs (list
|
|
|
|
|
"guile-json"
|
|
|
|
|
"guile-gcrypt"
|
|
|
|
|
"guix"
|
|
|
|
|
"guile-prometheus"
|
|
|
|
|
"guile-lib"
|
|
|
|
|
"guile-lzlib"
|
|
|
|
|
"guile-zlib"
|
2021-04-23 05:59:38 -04:00
|
|
|
|
"guile-sqlite3"
|
2021-04-09 05:08:57 -04:00
|
|
|
|
"gnutls"
|
|
|
|
|
,@(if (hurd-target?)
|
|
|
|
|
'()
|
|
|
|
|
'("guile-fibers")))))
|
2021-02-23 15:19:16 -05:00
|
|
|
|
(wrap-program file
|
|
|
|
|
`("PATH" ":" prefix
|
|
|
|
|
(,bin
|
|
|
|
|
;; Support building without sqitch as an input, as it
|
|
|
|
|
;; can't be cross-compiled yet
|
|
|
|
|
,@(or (and=> (assoc-ref inputs "sqitch")
|
|
|
|
|
list)
|
|
|
|
|
'())))
|
|
|
|
|
`("GUILE_LOAD_PATH" ":" prefix
|
|
|
|
|
(,scm ,(string-join
|
|
|
|
|
(map (lambda (input)
|
|
|
|
|
(simple-format
|
|
|
|
|
#f "~A/share/guile/site/~A"
|
|
|
|
|
(assoc-ref inputs input)
|
|
|
|
|
version))
|
|
|
|
|
guile-inputs)
|
|
|
|
|
":")))
|
|
|
|
|
`("GUILE_LOAD_COMPILED_PATH" ":" prefix
|
|
|
|
|
(,go ,(string-join
|
|
|
|
|
(map (lambda (input)
|
|
|
|
|
(simple-format
|
|
|
|
|
#f "~A/lib/guile/~A/site-ccache"
|
|
|
|
|
(assoc-ref inputs input)
|
|
|
|
|
version))
|
|
|
|
|
guile-inputs)
|
|
|
|
|
":"))))
|
|
|
|
|
(when target
|
|
|
|
|
;; XXX work around wrap-program picking bash for the
|
|
|
|
|
;; host rather than target
|
|
|
|
|
(let ((bash (assoc-ref inputs "bash")))
|
|
|
|
|
(substitute* file
|
|
|
|
|
(("^#!.*/bash")
|
|
|
|
|
(string-append "#! " bash "/bin/bash")))))))
|
2020-10-23 10:01:15 -04:00
|
|
|
|
(find-files bin)))
|
|
|
|
|
#t))
|
|
|
|
|
(delete 'strip)))) ; As the .go files aren't compatible
|
|
|
|
|
(native-inputs
|
|
|
|
|
`(("pkg-config" ,pkg-config)
|
|
|
|
|
("autoconf" ,autoconf)
|
|
|
|
|
("automake" ,automake)
|
|
|
|
|
("gnutls" ,gnutls)
|
2020-09-16 14:43:39 -04:00
|
|
|
|
|
2020-10-23 10:01:15 -04:00
|
|
|
|
;; Guile libraries are needed here for cross-compilation.
|
2020-11-29 05:19:56 -05:00
|
|
|
|
("guile-json" ,guile-json-4)
|
2020-10-23 10:01:15 -04:00
|
|
|
|
("guile-gcrypt" ,guile-gcrypt)
|
|
|
|
|
("guix" ,guix)
|
|
|
|
|
("guile-prometheus" ,guile-prometheus)
|
|
|
|
|
("guile-fibers" ,guile-fibers)
|
2020-11-07 07:22:20 -05:00
|
|
|
|
("guile-lib" ,guile-lib)
|
2020-10-23 10:01:15 -04:00
|
|
|
|
("guile" ,@(assoc-ref (package-native-inputs guix) "guile"))))
|
|
|
|
|
(inputs
|
|
|
|
|
`(("guile" ,@(assoc-ref (package-native-inputs guix) "guile"))
|
2021-02-23 15:19:16 -05:00
|
|
|
|
,@(if (%current-target-system)
|
|
|
|
|
`(("bash" ,bash-minimal))
|
|
|
|
|
'())
|
2020-10-23 10:01:15 -04:00
|
|
|
|
("sqlite" ,sqlite)
|
2020-12-06 16:03:17 -05:00
|
|
|
|
,@(if (hurd-target?)
|
|
|
|
|
'()
|
|
|
|
|
`(("sqitch" ,sqitch)))))
|
2020-10-23 10:01:15 -04:00
|
|
|
|
(propagated-inputs
|
2020-12-06 16:03:17 -05:00
|
|
|
|
`(,@(if (hurd-target?)
|
|
|
|
|
'()
|
|
|
|
|
`(("guile-fibers" ,guile-fibers)))
|
2020-10-23 10:01:15 -04:00
|
|
|
|
("guile-prometheus" ,guile-prometheus)
|
|
|
|
|
("guile-gcrypt" ,guile-gcrypt)
|
2020-10-23 10:06:41 -04:00
|
|
|
|
("guile-json" ,guile-json-4)
|
2020-11-07 07:22:20 -05:00
|
|
|
|
("guile-lib" ,guile-lib)
|
2020-10-23 10:01:15 -04:00
|
|
|
|
("guile-lzlib" ,guile-lzlib)
|
|
|
|
|
("guile-zlib" ,guile-zlib)
|
|
|
|
|
("guile-sqlite3" ,guile-sqlite3)
|
|
|
|
|
("guix" ,guix)
|
|
|
|
|
("gnutls" ,gnutls)))
|
|
|
|
|
(home-page "https://git.cbaines.net/guix/build-coordinator/")
|
|
|
|
|
(synopsis "Tool to help build derivations")
|
|
|
|
|
(description
|
|
|
|
|
"The Guix Build Coordinator helps with performing lots of builds across
|
2020-09-16 14:43:39 -04:00
|
|
|
|
potentially many machines, and with doing something with the results and
|
|
|
|
|
outputs of those builds.")
|
2020-10-23 10:01:15 -04:00
|
|
|
|
(license license:gpl3+))))
|
2020-09-16 14:43:39 -04:00
|
|
|
|
|
2019-10-10 05:21:00 -04:00
|
|
|
|
(define-public guix-jupyter
|
|
|
|
|
(package
|
|
|
|
|
(name "guix-jupyter")
|
2021-07-26 12:40:55 -04:00
|
|
|
|
(version "0.2.2")
|
2019-10-10 05:21:00 -04:00
|
|
|
|
(home-page "https://gitlab.inria.fr/guix-hpc/guix-kernel")
|
|
|
|
|
(source (origin
|
|
|
|
|
(method git-fetch)
|
|
|
|
|
(uri (git-reference (url home-page)
|
|
|
|
|
(commit (string-append "v" version))))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
2021-07-26 12:40:55 -04:00
|
|
|
|
"17m6970wnvwlbarq4gxz5bakhzyhq5ch8qd8jw55ydccpv6473kq"))
|
2019-10-10 05:21:00 -04:00
|
|
|
|
(file-name (string-append "guix-jupyter-" version "-checkout"))))
|
|
|
|
|
(build-system gnu-build-system)
|
|
|
|
|
(arguments
|
|
|
|
|
`(#:modules ((srfi srfi-26)
|
|
|
|
|
(ice-9 match)
|
|
|
|
|
(ice-9 popen)
|
|
|
|
|
(ice-9 rdelim)
|
|
|
|
|
(guix build utils)
|
|
|
|
|
(guix build gnu-build-system))
|
|
|
|
|
#:phases
|
|
|
|
|
(modify-phases %standard-phases
|
|
|
|
|
(add-after 'install 'sed-kernel-json
|
|
|
|
|
(lambda* (#:key inputs outputs #:allow-other-keys)
|
|
|
|
|
(let* ((out (assoc-ref outputs "out"))
|
|
|
|
|
(guix (assoc-ref inputs "guix"))
|
|
|
|
|
(guile (assoc-ref inputs "guile"))
|
|
|
|
|
(json (assoc-ref inputs "guile-json"))
|
|
|
|
|
(git (assoc-ref inputs "guile-git"))
|
|
|
|
|
(bs (assoc-ref inputs "guile-bytestructures"))
|
|
|
|
|
(s-zmq (assoc-ref inputs "guile-simple-zmq"))
|
|
|
|
|
(gcrypt (assoc-ref inputs "guile-gcrypt"))
|
|
|
|
|
(deps (list out s-zmq guix json git bs gcrypt))
|
|
|
|
|
(effective
|
|
|
|
|
(read-line
|
|
|
|
|
(open-pipe* OPEN_READ
|
|
|
|
|
(string-append guile "/bin/guile")
|
|
|
|
|
"-c" "(display (effective-version))")))
|
|
|
|
|
(path (map (cut string-append "-L\", \"" <>
|
|
|
|
|
"/share/guile/site/"
|
|
|
|
|
effective)
|
|
|
|
|
deps))
|
|
|
|
|
(gopath (map (cut string-append "-C\", \"" <>
|
|
|
|
|
"/lib/guile/" effective
|
|
|
|
|
"/site-ccache")
|
|
|
|
|
deps))
|
|
|
|
|
(kernel-dir (string-append out "/share/jupyter/kernels/guix/")))
|
|
|
|
|
(substitute* (string-append kernel-dir "kernel.json")
|
|
|
|
|
(("-s")
|
|
|
|
|
(string-join
|
|
|
|
|
(list (string-join path "\",\n\t\t\"")
|
|
|
|
|
(string-join gopath "\",\n\t\t\"")
|
|
|
|
|
"-s")
|
|
|
|
|
"\",\n\t\t\""))
|
|
|
|
|
(("guix-jupyter-kernel.scm")
|
2020-07-16 01:08:36 -04:00
|
|
|
|
(string-append out "/share/guile/site/3.0/"
|
2019-10-10 05:21:00 -04:00
|
|
|
|
"guix-jupyter-kernel.scm")))
|
|
|
|
|
#t))))))
|
|
|
|
|
(native-inputs
|
|
|
|
|
`(("autoconf" ,autoconf)
|
|
|
|
|
("automake" ,automake)
|
|
|
|
|
("pkg-config" ,pkg-config)
|
|
|
|
|
|
|
|
|
|
;; For testing.
|
2019-10-10 11:24:21 -04:00
|
|
|
|
("jupyter" ,jupyter)
|
|
|
|
|
("python-ipython" ,python-ipython)
|
|
|
|
|
("python-ipykernel" ,python-ipykernel)))
|
2019-10-10 05:21:00 -04:00
|
|
|
|
(inputs
|
|
|
|
|
`(("guix" ,guix)
|
2020-06-23 19:02:33 -04:00
|
|
|
|
("guile" ,@(assoc-ref (package-native-inputs guix) "guile"))))
|
2019-10-10 05:21:00 -04:00
|
|
|
|
(propagated-inputs
|
2020-06-02 12:27:49 -04:00
|
|
|
|
`(("guile-json" ,guile-json-4)
|
2019-10-10 05:21:00 -04:00
|
|
|
|
("guile-simple-zmq" ,guile-simple-zmq)
|
|
|
|
|
("guile-gcrypt" ,guile-gcrypt)))
|
|
|
|
|
(synopsis "Guix kernel for Jupyter")
|
|
|
|
|
(description
|
|
|
|
|
"Guix-Jupyter is a Jupyter kernel. It allows you to annotate notebooks
|
|
|
|
|
with information about their software dependencies, such that code is executed
|
|
|
|
|
in the right software environment. Guix-Jupyter spawns the actual kernels
|
|
|
|
|
such as @code{python-ipykernel} on behalf of the notebook user and runs them
|
|
|
|
|
in an isolated environment, in separate namespaces.")
|
|
|
|
|
(license license:gpl3+)))
|
|
|
|
|
|
2018-01-18 20:52:22 -05:00
|
|
|
|
(define-public gcab
|
|
|
|
|
(package
|
|
|
|
|
(name "gcab")
|
2020-08-27 23:20:20 -04:00
|
|
|
|
(version "1.4")
|
2018-01-18 20:52:22 -05:00
|
|
|
|
(source (origin
|
|
|
|
|
(method url-fetch)
|
2019-02-08 15:19:35 -05:00
|
|
|
|
(uri (string-append "mirror://gnome/sources/gcab/"
|
|
|
|
|
version "/gcab-" version ".tar.xz"))
|
2018-01-18 20:52:22 -05:00
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
2020-08-27 23:20:20 -04:00
|
|
|
|
"13q43iqld4l50yra45lhvkd376pn6qpk7rkx374zn8y9wsdzm9b7"))))
|
2018-01-25 19:51:59 -05:00
|
|
|
|
(build-system meson-build-system)
|
2018-01-18 20:52:22 -05:00
|
|
|
|
(native-inputs
|
2018-01-25 19:51:59 -05:00
|
|
|
|
`(("glib:bin" ,glib "bin") ; for glib-mkenums
|
|
|
|
|
("intltool" ,intltool)
|
|
|
|
|
("pkg-config" ,pkg-config)
|
|
|
|
|
("vala" ,vala)))
|
2018-01-18 20:52:22 -05:00
|
|
|
|
(inputs
|
|
|
|
|
`(("glib" ,glib)
|
|
|
|
|
("zlib" ,zlib)))
|
2018-01-25 19:51:59 -05:00
|
|
|
|
(arguments
|
|
|
|
|
`(#:configure-flags
|
|
|
|
|
;; XXX This ‘documentation’ is for developers, and fails informatively:
|
|
|
|
|
;; Error in gtkdoc helper script: 'gtkdoc-mkhtml' failed with status 5
|
|
|
|
|
(list "-Ddocs=false"
|
|
|
|
|
"-Dintrospection=false")))
|
2018-01-18 20:52:22 -05:00
|
|
|
|
(home-page "https://wiki.gnome.org/msitools") ; no dedicated home page
|
|
|
|
|
(synopsis "Microsoft Cabinet file manipulation library")
|
|
|
|
|
(description
|
|
|
|
|
"The libgcab library provides GObject functions to read, write, and modify
|
|
|
|
|
Microsoft cabinet (.@dfn{CAB}) files.")
|
|
|
|
|
(license (list license:gpl2+ ; tests/testsuite.at
|
|
|
|
|
license:lgpl2.1+)))) ; the rest
|
2018-01-18 20:52:23 -05:00
|
|
|
|
|
|
|
|
|
(define-public msitools
|
|
|
|
|
(package
|
|
|
|
|
(name "msitools")
|
2019-11-14 11:47:03 -05:00
|
|
|
|
(version "0.100")
|
2018-01-18 20:52:23 -05:00
|
|
|
|
(source (origin
|
|
|
|
|
(method url-fetch)
|
2019-02-17 13:22:39 -05:00
|
|
|
|
(uri (string-append "mirror://gnome/sources/msitools/"
|
|
|
|
|
version "/msitools-" version ".tar.xz"))
|
2018-01-18 20:52:23 -05:00
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
2019-11-14 11:47:03 -05:00
|
|
|
|
"1skq17qr2ic4qr3779j49byfm8rncwbsq9rj1a33ncn2m7isdwdv"))))
|
2018-01-18 20:52:23 -05:00
|
|
|
|
(build-system gnu-build-system)
|
|
|
|
|
(native-inputs
|
2019-02-17 13:22:28 -05:00
|
|
|
|
`(("bison" ,bison)
|
|
|
|
|
("pkg-config" ,pkg-config)))
|
2018-01-18 20:52:23 -05:00
|
|
|
|
(inputs
|
|
|
|
|
`(("gcab" ,gcab)
|
|
|
|
|
("glib" ,glib)
|
|
|
|
|
("libgsf" ,libgsf)
|
|
|
|
|
("libxml2" ,libxml2)
|
gnu: util-linux: Move libraries to separate output.
Fixes <https://bugs.gnu.org/37732>.
Reported by Diego Nicola Barbato <dnbarbato@posteo.de>.
* gnu/packages/linux.scm (util-linux)[outputs]: Add "lib".
[arguments]: Update #:configure-flags and the "move-static-libraries" phase
accordingly. Add phases "patch-build-scripts" and "adjust-pkg-config-files".
(e2fsprogs, psm, mtd-utils, f2fs-tools, f2fs-tools-1.7, eudev,
xfsprogs)[inputs]: Change to the "lib" output of UTIL-LINUX.
(btrfs-progs)[inputs]: Remove duplicate UTIL-LINUX inputs and change to use
the "lib" output.
* gnu/packages/admin.scm (pam-mount)[inputs]: Add UTIL-LINUX:LIB.
(testdisk)[inputs]: Change to the "lib" output of UTIL-LINUX.
* gnu/packages/android.scm (abootimg)[inputs]: Likewise.
* gnu/packages/audio.scm (jack-1)[propagated-inputs]: Likewise.
* gnu/packages/bootloaders.scm (syslinux, vboot-utils)[inputs]: Likewise.
* gnu/packages/chez.scm (chez-scheme)[inputs]: Likewise.
* gnu/packages/cryptsetup.scm (cryptsetup, cryptsetup-static)[inputs]: Likewise.
* gnu/packages/databases.scm (postgresql, 4store)[inputs]: Likewise.
* gnu/packages/disk.scm (ndctl, gptfdisk, fdisk, gparted, rmlint,
volume-key)[inputs]: Likewise.
(parted)[inputs]: Likewise.
[native-inputs]: Add UTIL-LINUX.
* gnu/packages/efi.scm (sbsigntools)[inputs]: Add UTIL-LINUX:LIB.
* gnu/packages/engineering.scm (lib3mf)[inputs]: Change to the "lib" output of
UTIL-LINUX.
* gnu/packages/enlightenment.scm (efl)[propagated-inputs]: Likewise.
* gnu/packages/file-systems.scm (glusterfs, jfsutils, zfs)[inputs]: Likewise.
* gnu/packages/firmware.scm (ovmf)[inputs]: Likewise.
* gnu/packages/fontutils.scm (fontconfig)[propagated-inputs]: Likewise.
* gnu/packages/freedesktop.scm (localed)[inputs]: Likewise.
* gnu/packages/glib.scm (glib, appstream-glib)[propagated-inputs]: Likewise.
* gnu/packages/gnome.scm (tracker, gnome-terminal)[inputs]: Likewise.
* gnu/packages/jupyter.scm (xeus)[inputs]: Likewise.
* gnu/packages/kde.scm (kpmcore)[inputs]: Likewise.
* gnu/packages/kodi.scm (crossguid)[inputs]: Likewise.
* gnu/packages/lighting.scm (ola)[inputs]: Likewise.
* gnu/packages/music.scm (libgig)[inputs]: Likewise.
* gnu/packages/nfs.scm (nfs-utils)[inputs]: Likewise.
* gnu/packages/opencog.scm (opencog)[inputs]: Likewise.
* gnu/packages/package-management.scm (msitools)[inputs]: Change to the "lib"
output of UTIL-LINUX.
* gnu/packages/password-utils.scm (pwsafe)[inputs]: Likewise.
* gnu/packages/telephony.scm (pjproject)[propagated-inputs]: Likewise.
* gnu/packages/rdf.scm (rasqal)[inputs]: Likewise.
* gnu/packages/search.scm (xapian)[inputs]: Likewise.
* gnu/packages/sssd.scm (sssd)[native-inputs]: Likewise.
* gnu/packages/storage.scm (ceph)[inputs]: Add UTIL-LINUX:LIB.
* gnu/packages/task-management.scm (taskwarrior)[inputs]: Change to the "lib"
output of UTIL-LINUX.
* gnu/packages/virtualization.scm (libvirt, xen)[inputs]: Likewise.
* gnu/packages/xorg.scm (libsm)[inputs]: Likewise.
2020-01-14 18:24:28 -05:00
|
|
|
|
("uuid" ,util-linux "lib")))
|
2018-01-18 20:52:23 -05:00
|
|
|
|
(home-page "https://wiki.gnome.org/msitools")
|
|
|
|
|
(synopsis "Windows Installer file manipulation tool")
|
|
|
|
|
(description
|
|
|
|
|
"msitools is a collection of command-line tools to inspect, extract, build,
|
|
|
|
|
and sign Windows@tie{}Installer (.@dfn{MSI}) files. It aims to be a solution
|
|
|
|
|
for packaging and deployment of cross-compiled Windows applications.")
|
|
|
|
|
(license license:lgpl2.1+)))
|
2018-06-09 06:59:37 -04:00
|
|
|
|
|
|
|
|
|
(define-public libostree
|
|
|
|
|
(package
|
|
|
|
|
(name "libostree")
|
2021-05-01 21:00:00 -04:00
|
|
|
|
(version "2021.2")
|
2020-09-11 09:20:32 -04:00
|
|
|
|
(source
|
|
|
|
|
(origin
|
|
|
|
|
(method url-fetch)
|
|
|
|
|
(uri (string-append
|
|
|
|
|
"https://github.com/ostreedev/ostree/releases/download/v"
|
|
|
|
|
(version-major+minor version) "/libostree-" version ".tar.xz"))
|
|
|
|
|
(sha256
|
2021-05-01 21:00:00 -04:00
|
|
|
|
(base32 "0z2x9krnd6nblwq0nz99igzhh3yv022rn3hgcyrzci0xqzkhhh45"))))
|
2018-06-09 06:59:37 -04:00
|
|
|
|
(build-system gnu-build-system)
|
|
|
|
|
(arguments
|
|
|
|
|
'(#:phases
|
|
|
|
|
(modify-phases %standard-phases
|
|
|
|
|
(add-before 'check 'pre-check
|
|
|
|
|
(lambda _
|
|
|
|
|
;; Don't try to use the non-existing '/var/tmp' as test
|
|
|
|
|
;; directory.
|
|
|
|
|
(setenv "TEST_TMPDIR" (getenv "TMPDIR"))
|
|
|
|
|
#t)))
|
|
|
|
|
;; XXX: fails with:
|
2019-09-01 14:26:38 -04:00
|
|
|
|
;; tap-driver.sh: missing test plan
|
2018-06-09 06:59:37 -04:00
|
|
|
|
;; tap-driver.sh: internal error getting exit status
|
|
|
|
|
;; tap-driver.sh: fatal: I/O or internal error
|
|
|
|
|
#:tests? #f))
|
|
|
|
|
(native-inputs
|
|
|
|
|
`(("attr" ,attr) ; for tests
|
|
|
|
|
("bison" ,bison)
|
2019-09-01 14:26:38 -04:00
|
|
|
|
("glib:bin" ,glib "bin") ; for 'glib-mkenums'
|
2018-06-09 06:59:37 -04:00
|
|
|
|
("gobject-introspection" ,gobject-introspection)
|
|
|
|
|
("pkg-config" ,pkg-config)
|
|
|
|
|
("xsltproc" ,libxslt)))
|
|
|
|
|
(inputs
|
|
|
|
|
`(("avahi" ,avahi)
|
|
|
|
|
("docbook-xml" ,docbook-xml-4.2)
|
|
|
|
|
("docbook-xsl" ,docbook-xsl)
|
|
|
|
|
("e2fsprogs" ,e2fsprogs)
|
|
|
|
|
("fuse" ,fuse)
|
|
|
|
|
("glib" ,glib)
|
|
|
|
|
("gpgme" ,gpgme)
|
|
|
|
|
("libarchive" ,libarchive)
|
|
|
|
|
("libsoup" ,libsoup)
|
|
|
|
|
("util-linux" ,util-linux)))
|
|
|
|
|
(home-page "https://ostree.readthedocs.io/en/latest/")
|
|
|
|
|
(synopsis "Operating system and container binary deployment and upgrades")
|
|
|
|
|
(description
|
|
|
|
|
"@code{libostree} is both a shared library and suite of command line
|
|
|
|
|
tools that combines a \"git-like\" model for committing and downloading
|
2019-04-24 13:31:39 -04:00
|
|
|
|
bootable file system trees, along with a layer for deploying them and managing
|
|
|
|
|
the boot loader configuration.")
|
2018-06-09 06:59:37 -04:00
|
|
|
|
(license license:lgpl2.0+)))
|
2018-12-20 02:04:41 -05:00
|
|
|
|
|
|
|
|
|
(define-public flatpak
|
|
|
|
|
(package
|
2018-12-20 06:50:07 -05:00
|
|
|
|
(name "flatpak")
|
2021-03-11 16:58:05 -05:00
|
|
|
|
(version "1.10.2")
|
2018-12-20 06:50:07 -05:00
|
|
|
|
(source
|
|
|
|
|
(origin
|
|
|
|
|
(method url-fetch)
|
|
|
|
|
(uri (string-append "https://github.com/flatpak/flatpak/releases/download/"
|
|
|
|
|
version "/flatpak-" version ".tar.xz"))
|
|
|
|
|
(sha256
|
2021-03-11 16:58:05 -05:00
|
|
|
|
(base32 "1r6xw7r3ir2vaa30n3mily6m7d51cf4qv22fkqlzzy3js0wjf5fv"))))
|
2019-03-24 17:26:50 -04:00
|
|
|
|
|
|
|
|
|
;; Wrap 'flatpak' so that GIO_EXTRA_MODULES is set, thereby allowing GIO to
|
|
|
|
|
;; find the TLS backend in glib-networking.
|
|
|
|
|
(build-system glib-or-gtk-build-system)
|
|
|
|
|
|
2018-12-20 06:50:07 -05:00
|
|
|
|
(arguments
|
2020-05-11 11:17:07 -04:00
|
|
|
|
'(#:configure-flags
|
|
|
|
|
(list
|
|
|
|
|
"--enable-documentation=no" ;; FIXME
|
|
|
|
|
"--enable-system-helper=no"
|
|
|
|
|
"--localstatedir=/var"
|
|
|
|
|
(string-append "--with-system-bubblewrap="
|
|
|
|
|
(assoc-ref %build-inputs "bubblewrap")
|
|
|
|
|
"/bin/bwrap")
|
2020-06-23 11:17:07 -04:00
|
|
|
|
(string-append "--with-system-dbus-proxy="
|
|
|
|
|
(assoc-ref %build-inputs "xdg-dbus-proxy")
|
|
|
|
|
"/bin/xdg-dbus-proxy"))
|
2020-05-11 11:17:07 -04:00
|
|
|
|
#:phases
|
|
|
|
|
(modify-phases %standard-phases
|
|
|
|
|
(add-after 'unpack 'fix-tests
|
|
|
|
|
(lambda* (#:key inputs #:allow-other-keys)
|
|
|
|
|
(copy-recursively
|
2021-07-16 09:53:12 -04:00
|
|
|
|
(search-input-directory inputs "lib/locale")
|
|
|
|
|
"/tmp/locale")
|
2020-05-11 11:17:07 -04:00
|
|
|
|
(for-each make-file-writable (find-files "/tmp"))
|
|
|
|
|
(substitute* "tests/make-test-runtime.sh"
|
|
|
|
|
(("cp `which.*") "echo guix\n")
|
|
|
|
|
(("cp -r /usr/lib/locale/C\\.\\*")
|
|
|
|
|
(string-append "mkdir ${DIR}/usr/lib/locale/en_US; \
|
|
|
|
|
cp -r /tmp/locale/*/en_US.*")))
|
|
|
|
|
(substitute* "tests/libtest.sh"
|
|
|
|
|
(("/bin/kill") (which "kill"))
|
|
|
|
|
(("/usr/bin/python3") (which "python3")))
|
|
|
|
|
#t))
|
|
|
|
|
;; Many tests fail for unknown reasons, so we just run a few basic
|
2020-08-26 14:36:29 -04:00
|
|
|
|
;; tests.
|
2020-05-11 11:17:07 -04:00
|
|
|
|
(replace 'check
|
|
|
|
|
(lambda _
|
|
|
|
|
(setenv "HOME" "/tmp")
|
|
|
|
|
(invoke "make" "check"
|
|
|
|
|
"TESTS=tests/test-basic.sh tests/test-config.sh testcommon"))))))
|
|
|
|
|
(native-inputs
|
|
|
|
|
`(("bison" ,bison)
|
|
|
|
|
("dbus" ,dbus) ; for dbus-daemon
|
|
|
|
|
("gettext" ,gettext-minimal)
|
|
|
|
|
("glib:bin" ,glib "bin") ; for glib-mkenums + gdbus-codegen
|
|
|
|
|
("glibc-utf8-locales" ,glibc-utf8-locales)
|
|
|
|
|
("gobject-introspection" ,gobject-introspection)
|
|
|
|
|
("libcap" ,libcap)
|
|
|
|
|
("pkg-config" ,pkg-config)
|
|
|
|
|
("python" ,python)
|
2020-07-02 05:25:07 -04:00
|
|
|
|
("python-pyparsing" ,python-pyparsing)
|
2020-05-11 11:17:07 -04:00
|
|
|
|
("socat" ,socat)
|
|
|
|
|
("which" ,which)))
|
2019-03-08 05:48:18 -05:00
|
|
|
|
(propagated-inputs `(("glib-networking" ,glib-networking)
|
|
|
|
|
("gnupg" ,gnupg)
|
|
|
|
|
("gsettings-desktop-schemas"
|
|
|
|
|
,gsettings-desktop-schemas)))
|
2020-05-11 11:17:07 -04:00
|
|
|
|
(inputs
|
|
|
|
|
`(("appstream-glib" ,appstream-glib)
|
|
|
|
|
("bubblewrap" ,bubblewrap)
|
|
|
|
|
("dconf" ,dconf)
|
|
|
|
|
("fuse" ,fuse)
|
|
|
|
|
("gdk-pixbuf" ,gdk-pixbuf)
|
|
|
|
|
("gpgme" ,gpgme)
|
|
|
|
|
("json-glib" ,json-glib)
|
|
|
|
|
("libarchive" ,libarchive)
|
|
|
|
|
("libostree" ,libostree)
|
|
|
|
|
("libseccomp" ,libseccomp)
|
|
|
|
|
("libsoup" ,libsoup)
|
|
|
|
|
("libxau" ,libxau)
|
|
|
|
|
("libxml2" ,libxml2)
|
|
|
|
|
("util-linux" ,util-linux)
|
|
|
|
|
("xdg-dbus-proxy" ,xdg-dbus-proxy)))
|
2018-12-20 06:50:07 -05:00
|
|
|
|
(home-page "https://flatpak.org")
|
|
|
|
|
(synopsis "System for building, distributing, and running sandboxed desktop
|
2018-12-20 02:04:41 -05:00
|
|
|
|
applications")
|
2018-12-20 06:50:07 -05:00
|
|
|
|
(description "Flatpak is a system for building, distributing, and running
|
2018-12-20 02:04:41 -05:00
|
|
|
|
sandboxed desktop applications on GNU/Linux.")
|
2018-12-20 06:50:07 -05:00
|
|
|
|
(license license:lgpl2.1+)))
|
2020-08-23 14:21:18 -04:00
|
|
|
|
|
|
|
|
|
(define-public akku
|
|
|
|
|
(package
|
|
|
|
|
(name "akku")
|
|
|
|
|
(version "1.0.1")
|
|
|
|
|
(source (origin
|
|
|
|
|
(method git-fetch)
|
|
|
|
|
(uri (git-reference
|
|
|
|
|
(url "https://gitlab.com/akkuscm/akku.git")
|
|
|
|
|
(commit (string-append "v" version))))
|
|
|
|
|
(file-name (git-file-name name version))
|
|
|
|
|
(sha256 (base32 "1dm32ws3nshnnscd7k75zswxxs1pp25y2q4k8j5ms241hz47by3c"))))
|
|
|
|
|
(build-system gnu-build-system)
|
|
|
|
|
(arguments
|
|
|
|
|
'(#:phases (modify-phases %standard-phases
|
|
|
|
|
(replace 'bootstrap
|
|
|
|
|
(lambda* (#:key outputs #:allow-other-keys)
|
|
|
|
|
(for-each patch-shebang
|
|
|
|
|
'("bootstrap"
|
|
|
|
|
".akku/env"))
|
|
|
|
|
(let* ((home "/tmp")
|
|
|
|
|
(datadir (string-append home "/.local/share/akku/")))
|
|
|
|
|
(mkdir-p datadir)
|
|
|
|
|
(invoke "touch" (string-append datadir "index.db"))
|
|
|
|
|
(setenv "HOME" home))
|
|
|
|
|
(invoke "./bootstrap")
|
|
|
|
|
#t))
|
|
|
|
|
(add-after 'install 'wrap-executables
|
|
|
|
|
(lambda* (#:key outputs inputs #:allow-other-keys)
|
|
|
|
|
(let ((out (assoc-ref outputs "out"))
|
|
|
|
|
(curl (assoc-ref inputs "curl")))
|
|
|
|
|
(wrap-program (string-append out "/bin/akku")
|
|
|
|
|
`("LD_LIBRARY_PATH" ":" prefix (,(string-append curl "/lib"))))
|
|
|
|
|
#t))))))
|
|
|
|
|
(native-inputs
|
|
|
|
|
`(("which" ,which)
|
|
|
|
|
("autoconf" ,autoconf)
|
|
|
|
|
("automake" ,automake)
|
|
|
|
|
("pkg-config" ,pkg-config)))
|
|
|
|
|
(inputs
|
|
|
|
|
`(("guile" ,guile-3.0)
|
|
|
|
|
("curl" ,curl)))
|
|
|
|
|
(home-page "https://akkuscm.org/")
|
|
|
|
|
(synopsis "Language package manager for Scheme")
|
|
|
|
|
(description
|
|
|
|
|
"Akku.scm is a project-based language package manager for R6RS and R7RS Scheme.
|
|
|
|
|
It is mainly meant for programmers who develop portable programs or libraries in Scheme,
|
|
|
|
|
but could potentially work for end-users of those programs. It also has a translator
|
|
|
|
|
from R7RS, which allows most R7RS code to run on R6RS implementations.")
|
|
|
|
|
(license license:gpl3+)))
|
2021-07-21 08:27:38 -04:00
|
|
|
|
|
|
|
|
|
(define-public modules
|
|
|
|
|
(package
|
|
|
|
|
(name "modules")
|
|
|
|
|
(version "4.8.0")
|
|
|
|
|
(source
|
|
|
|
|
(origin
|
|
|
|
|
(method url-fetch)
|
|
|
|
|
(uri (string-append "mirror://sourceforge/modules/Modules/modules-"
|
|
|
|
|
version "/modules-" version ".tar.bz2"))
|
|
|
|
|
(sha256 (base32 "1amz8qdqbvfdc8jv0j4720vywbz2gi7l3sr1lh37ilfbxy9lq9g9"))))
|
|
|
|
|
(build-system gnu-build-system)
|
|
|
|
|
(arguments
|
|
|
|
|
`(#:configure-flags
|
|
|
|
|
(list (string-append "--with-bin-search-path="
|
|
|
|
|
(assoc-ref %build-inputs "tcl") "/bin" ":"
|
|
|
|
|
(assoc-ref %build-inputs "procps") "/bin" ":"
|
|
|
|
|
(assoc-ref %build-inputs "less") "/bin" ":"
|
|
|
|
|
(assoc-ref %build-inputs "coreutils") "/bin")
|
|
|
|
|
(string-append "--with-tcl=" (assoc-ref %build-inputs "tcl") "/lib")
|
|
|
|
|
"--disable-compat-version")
|
|
|
|
|
#:test-target "test"
|
|
|
|
|
#:phases
|
|
|
|
|
(modify-phases %standard-phases
|
2021-07-23 11:01:38 -04:00
|
|
|
|
(add-before 'configure 'patch-add-modules
|
|
|
|
|
(lambda* (#:key inputs #:allow-other-keys)
|
|
|
|
|
(let ((coreutils (assoc-ref inputs "coreutils")))
|
|
|
|
|
(substitute* "script/add.modules.in"
|
|
|
|
|
(("/bin/(cat|cp|rm)" _ command)
|
|
|
|
|
(string-append coreutils "/bin/" command))
|
|
|
|
|
(("/bin/echo")
|
|
|
|
|
"echo")))))
|
2021-07-21 08:27:38 -04:00
|
|
|
|
(add-before 'configure 'patch-scripts-for-python-3
|
|
|
|
|
(lambda _
|
|
|
|
|
;; Patch the script for python-3.
|
|
|
|
|
(substitute* "script/createmodule.py.in"
|
|
|
|
|
(("pathkeys.sort\\(\\)") "pathkeys = sorted(pathkeys)")
|
|
|
|
|
(("print\\(\"\\\\t\"\\*") "print(\"\\t\"*int")
|
|
|
|
|
(("@PYTHON@") (which "python3")))))
|
|
|
|
|
(add-before 'check 'patch-/bin/sh-and-nixbld-groups-in-tests
|
|
|
|
|
(lambda _
|
|
|
|
|
(use-modules (srfi srfi-1))
|
|
|
|
|
(let* ((groups-file (string-append (getcwd) "/nixbld-groups"))
|
|
|
|
|
(groups-file-z (string-append groups-file "-z"))
|
|
|
|
|
(nixbld-groups
|
|
|
|
|
(fold
|
|
|
|
|
(lambda (id prev)
|
|
|
|
|
(catch #t
|
|
|
|
|
(lambda () (cons (group:name (getgrnam id)) prev))
|
|
|
|
|
(lambda _ prev)))
|
|
|
|
|
'()
|
|
|
|
|
(vector->list (getgroups)))))
|
|
|
|
|
;; Simulate "id -G -n" command output.
|
|
|
|
|
(call-with-output-file groups-file
|
|
|
|
|
(lambda (port)
|
|
|
|
|
(display (string-join nixbld-groups " ") port)
|
|
|
|
|
(display #\newline port)))
|
|
|
|
|
;; Simulate "id -G -n -z" command output.
|
|
|
|
|
(call-with-output-file groups-file-z
|
|
|
|
|
(lambda (port)
|
|
|
|
|
(for-each
|
|
|
|
|
(lambda (group-name)
|
|
|
|
|
(display group-name port)
|
|
|
|
|
(display #\null port))
|
|
|
|
|
nixbld-groups)))
|
|
|
|
|
;; Generate "modulecmd-test.tcl" before running "make test".
|
|
|
|
|
(invoke "make" "modulecmd-test.tcl")
|
|
|
|
|
;; Substitute shell.
|
|
|
|
|
(substitute*
|
|
|
|
|
'("modulecmd-test.tcl"
|
|
|
|
|
"modulecmd.tcl"
|
|
|
|
|
"testsuite/modules.70-maint/380-edit.exp"
|
|
|
|
|
"compat/init/filter")
|
|
|
|
|
(("/bin/sh") (which "sh")))
|
|
|
|
|
;; Skip tests that use supplementary groups.
|
|
|
|
|
(for-each
|
|
|
|
|
delete-file
|
|
|
|
|
'("testsuite/modules.20-locate/112-hide-user-group.exp"
|
|
|
|
|
"testsuite/modules.20-locate/117-forbid-user-group.exp"
|
|
|
|
|
"testsuite/modules.20-locate/119-hide-cascading.exp"
|
|
|
|
|
"testsuite/modules.50-cmds/140-system.exp"
|
|
|
|
|
"testsuite/modules.50-cmds/287-info-usergroups.exp"
|
|
|
|
|
"testsuite/modules.50-cmds/440-module-tag.exp"
|
|
|
|
|
"testsuite/modules.70-maint/220-config.exp"))
|
|
|
|
|
(for-each
|
|
|
|
|
(lambda (file)
|
|
|
|
|
(substitute* file
|
|
|
|
|
(("/bin/sh") (which "bash"))
|
|
|
|
|
;; For some reason "kvm" group cannot be resolved for
|
|
|
|
|
;; "nixbld" user. We replace "id ..." commands with
|
|
|
|
|
;; "cat ..." that simulates them.
|
|
|
|
|
(("exec id -G -n -z") (string-append "exec cat " groups-file-z))
|
|
|
|
|
(("exec id -G -n") (string-append "exec cat " groups-file))))
|
|
|
|
|
'("testsuite/modules.00-init/005-init_ts.exp"
|
|
|
|
|
"testsuite/install.00-init/005-init_ts.exp"
|
|
|
|
|
"modulecmd-test.tcl"))))))))
|
|
|
|
|
(native-inputs
|
|
|
|
|
`(("dejagnu" ,dejagnu)
|
|
|
|
|
("autoconf" ,autoconf)
|
|
|
|
|
("which" ,which)))
|
|
|
|
|
(inputs
|
|
|
|
|
`(("tcl" ,tcl)
|
|
|
|
|
("less" ,less)
|
|
|
|
|
("procps" ,procps)
|
|
|
|
|
("coreutils" ,coreutils)
|
|
|
|
|
("python" ,python-3)))
|
|
|
|
|
(home-page "http://modules.sourceforge.net/")
|
|
|
|
|
(synopsis "Shell environment variables and aliases management")
|
|
|
|
|
(description "Modules simplify shell initialization and let users
|
|
|
|
|
modify their environment during the session with modulefiles. Modules are
|
|
|
|
|
used on high-performance clusters to dynamically add and remove paths
|
|
|
|
|
to specific versions of applications.")
|
|
|
|
|
(license license:gpl2+)))
|