forked from tribes/guix
Compare commits
395 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 5d6dbd299e | |||
| d862bf0fe9 | |||
| 68ad877c6b | |||
| 9afb63bb7f | |||
| 22dd04383d | |||
| 5c0f184536 | |||
| c61a5b4a6d | |||
| 0b7e8e9d49 | |||
| 4a8c5617f9 | |||
| a043ac04d9 | |||
| 3141a8bdb3 | |||
| dfb74e50b7 | |||
| e67253dbe2 | |||
| 4af2447e37 | |||
| 4f62d8d6c7 | |||
| 78ed003811 | |||
| 13ce0e3aa7 | |||
| 033adfe7e0 | |||
| 593c3fe600 | |||
| f7faff88b7 | |||
| 7b81406a4f | |||
| f852114ed6 | |||
| d42daec07b | |||
| 846972ebe5 | |||
| 3adf588805 | |||
| d0bb5f77e9 | |||
| 6e8cf5c9e0 | |||
| 800de8da3b | |||
| daee66fc2e | |||
| ad871fc600 | |||
| 374a9a8520 | |||
| 09a8778f73 | |||
| 56aa03b0c2 | |||
| 15974e6358 | |||
| 9200c11009 | |||
| 97ac64284d | |||
| 201180e481 | |||
| 9b0ac80258 | |||
| 677078b48f | |||
| a3eb919fb4 | |||
| e7444ee273 | |||
| 77874f970e | |||
| 3f41e6b310 | |||
| b3d18aff2f | |||
| 91318a9e19 | |||
| e426106bd1 | |||
| 24b3c0533d | |||
| fea5ebb106 | |||
| ae2aa18dba | |||
| 8ec0d3fbcf | |||
| c9ea41ffd2 | |||
| 7339fbe279 | |||
| f7d6fafaa2 | |||
| f0387dd167 | |||
| 18fb40e414 | |||
| 25ed6edb6c | |||
| a348b09ea9 | |||
| 0b8a376b68 | |||
| dc47b181da | |||
| a2e520afbf | |||
| 1385ba4fd1 | |||
| 703d18e252 | |||
| 5642cecdde | |||
| 2c4e4d2597 | |||
| c01f767843 | |||
| 14f550c31c | |||
| 76dcc993f7 | |||
| de1355f186 | |||
| e7de5ac0d5 | |||
| 49d294e5c8 | |||
| f4badde3fa | |||
| dd1a5a152c | |||
| 7b63fa8d15 | |||
| 279fef2e45 | |||
| e060ec3eb0 | |||
| b0a552e30b | |||
| 595801e2f4 | |||
| deed349b4a | |||
| 799dcdc48f | |||
| 4095b41308 | |||
| 136b008fe7 | |||
| 97aed46fa3 | |||
| addfc3fc02 | |||
| 889a87f08c | |||
| 7af8a9b7ba | |||
| 901eee2c4c | |||
| 4d5f0bae3e | |||
| f5a345adeb | |||
| 2941448ea8 | |||
| 0af626ff0f | |||
| e6a5ce8e67 | |||
| 95d439b24c | |||
| 79c311b81c | |||
| e6a9aa366e | |||
| 1681cd4a24 | |||
| 977f03ffd3 | |||
| b4f0bb1771 | |||
| b455a11868 | |||
| c1897890ea | |||
| d02196a7b3 | |||
| 079fd3ec63 | |||
| df8a09c708 | |||
| de6792699e | |||
| 0edfdb8924 | |||
| a8300ef9fd | |||
| 07cec9a5b9 | |||
| c079848873 | |||
| 4aa0891cd2 | |||
| 5fd7f3e015 | |||
| 2e1f5bcac1 | |||
| aad560a56f | |||
| 840f71cdfc | |||
| 0ed873f3f6 | |||
| b874f305e5 | |||
| 53c85e97dc | |||
| c320011da5 | |||
| cd143df018 | |||
| 2e838890ff | |||
| 4942d42a94 | |||
| 558a5122fa | |||
| ff1cbb9538 | |||
| 248c06454e | |||
| 0ece707470 | |||
| 5cf3bcd4fb | |||
| 023fef7d94 | |||
| 3cc2067523 | |||
| d321bf4c27 | |||
| a2b154d7cb | |||
| edae5b3d50 | |||
| 1dba64079c | |||
| e3aaefe71b | |||
| 5dfd5b82c2 | |||
| 953ab5030f | |||
| 8bf8d7c78f | |||
| 8d9865df14 | |||
| 4cec7feeee | |||
| c3af0bf243 | |||
| 1635658d69 | |||
| 6f0856ba80 | |||
| 740c24dffc | |||
| 5ab48b08f0 | |||
| 257f56017e | |||
| 30e457501d | |||
| d03bb6532c | |||
| a2543006f8 | |||
| 0b8749b7bd | |||
| ac5de156ae | |||
| e900c5031f | |||
| f392980041 | |||
| c42a4b76c4 | |||
| a7bf595fff | |||
| 0129c94832 | |||
| 65d3b7c31d | |||
| 9ca8b5ac55 | |||
| 13990c7343 | |||
| 127ed6a9dd | |||
| 8db351e338 | |||
| c6061db21e | |||
| 0621349858 | |||
| c509bf8c87 | |||
| a716e36de9 | |||
| f80594cc41 | |||
| 9336e5b5e7 | |||
| e387ab7c10 | |||
| 56b943de6e | |||
| be0f611208 | |||
| f3463cafce | |||
| bf4211523b | |||
| eddd4077a5 | |||
| 08184ebf16 | |||
| 206a52089a | |||
| a6c116c703 | |||
| d277bdeab9 | |||
| 9ed08d1fd4 | |||
| 50dc48922c | |||
| 7db9608d52 | |||
| 6a9957545c | |||
| f9cc897105 | |||
| 18f2887bff | |||
| b5385b528c | |||
| da95c8170a | |||
| 35ef363300 | |||
| 01e82af55f | |||
| bde2d9cf8d | |||
| 7a78cc7af2 | |||
| 2ebab8e909 | |||
| f57ff219ad | |||
| c5916538fd | |||
| fdbd19ea6b | |||
| dd863f1f39 | |||
| 46acd05401 | |||
| bcd94e192a | |||
| 1475a351f6 | |||
| b20441f228 | |||
| 1602fcea18 | |||
| bf2cc1e5d1 | |||
| 2c1ceeacdf | |||
| b8c3527828 | |||
| 64a967cc9c | |||
| 69f777d14c | |||
| c9323eac74 | |||
| a18e58336c | |||
| 55a5674f21 | |||
| 08928e5752 | |||
| 13ed095c50 | |||
| 45b418d634 | |||
| 1b5ba6b1e9 | |||
| a20787706c | |||
| 537630c5a7 | |||
| 2876b98925 | |||
| cc4ecc2d88 | |||
| fdd6c72683 | |||
| 798e4f42b3 | |||
| 1670c70a03 | |||
| 39efcc9b3a | |||
| 9ae7cee342 | |||
| 67f6491bce | |||
| ff8061b591 | |||
| b645425f71 | |||
| cdbca518ca | |||
| 215b643150 | |||
| dce1722739 | |||
| 4e9b38ebf7 | |||
| cedf081abb | |||
| 477d30d0d8 | |||
| 1fcc3ba309 | |||
| c065c443a0 | |||
| d0dc4907d6 | |||
| d595e456c1 | |||
| f067fc3e77 | |||
| edac884624 | |||
| f506ed920c | |||
| 94f48f98f0 | |||
| d46d8794a1 | |||
| 2a8417ac44 | |||
| cb558fcd9c | |||
| 72e25e35a5 | |||
| 011b18c332 | |||
| 7587041028 | |||
| 3220c2f41e | |||
| fdf3cb4cc0 | |||
| 5f6265298e | |||
| c3c516ea00 | |||
| fa58ca4376 | |||
| b357faace7 | |||
| 13fbda90d9 | |||
| e50805251a | |||
| 89059aa193 | |||
| b92eee75b1 | |||
| d038cac12a | |||
| 02c72d1671 | |||
| a433c52593 | |||
| 93a3d8f609 | |||
| 96e424672a | |||
| 9167f8e6f9 | |||
| 515e68782f | |||
| 7df7a74e23 | |||
| ed41d48ef1 | |||
| 63760b5bab | |||
| f1352766fa | |||
| 8f557fc8b7 | |||
| 418e82b507 | |||
| eeb70957e8 | |||
| d911258976 | |||
| dfb52abbd6 | |||
| 59fbeb8cae | |||
| 70a9c72028 | |||
| b2ba65c897 | |||
| 3c1d9799b8 | |||
| 15e82fb2c0 | |||
| 749b90a519 | |||
| c1354b90e9 | |||
| 8db824ba31 | |||
| cc20a22a09 | |||
| 178f77b2d2 | |||
| 973d9f1d1c | |||
| e78fd4ca63 | |||
| 6eac909b45 | |||
| 487da56570 | |||
| a58a7c926b | |||
| 52af657aee | |||
| ab5d72ad2b | |||
| 8ab00475fb | |||
| b646c3dd37 | |||
| b421cebd6a | |||
| 0ad7da1e90 | |||
| d8907ac43f | |||
| 39e9f95d05 | |||
| f854a8c133 | |||
| 1e9ed0e3dc | |||
| 5151c2e1f4 | |||
| 1a75f8d939 | |||
| f349fa02de | |||
| 9fb0bc1572 | |||
| 7e2b10a53f | |||
| de80b5045b | |||
| 5fbeb4e6e1 | |||
| 1d9bc45925 | |||
| cdecf77501 | |||
| fb6c2fa82e | |||
| b49632e793 | |||
| 66fb2d23a3 | |||
| ef0cf53e3f | |||
| 1ea44d1128 | |||
| 39fa8f6c73 | |||
| c5cc50061f | |||
| d4f1ce4da0 | |||
| 4e45e35266 | |||
| a22dc0c49a | |||
| 668d48a684 | |||
| 129f9e1173 | |||
| 470d08ffcc | |||
| 01eafd38fb | |||
| ac10e0e17e | |||
| b332e3664e | |||
| 6666350320 | |||
| dd8abc295f | |||
| 5d388c7c3f | |||
| 17b293a09c | |||
| ae0c12023d | |||
| 74067e1aeb | |||
| 9a6a9dae6f | |||
| 524e1df65d | |||
| 09d5c1661c | |||
| a2270ce260 | |||
| 43824910f2 | |||
| a5a7d374a1 | |||
| 6ac6a6b99e | |||
| daca86660f | |||
| 5ccca0044e | |||
| cfc8261c72 | |||
| 09767fb5d3 | |||
| c762e82e5d | |||
| e0029b745a | |||
| de73a8781e | |||
| 37bfb4488d | |||
| 37e6cdcdd7 | |||
| bd677c2dba | |||
| 1fd96c6a94 | |||
| f5bf403c72 | |||
| dfba405510 | |||
| 458b2a7658 | |||
| 6ff104d537 | |||
| 94c4a58a0a | |||
| aeb7ec5c9a | |||
| d9f0a23704 | |||
| b860f38244 | |||
| c8957c77d6 | |||
| 85f5dc1952 | |||
| bef4dd92e4 | |||
| 7d3f36518d | |||
| 27477d2de0 | |||
| 535dc6cf95 | |||
| 22e32e6938 | |||
| 1369442be9 | |||
| f922fc4280 | |||
| 9000d5567c | |||
| 90ed6291df | |||
| bad312e37d | |||
| d9c1a22b12 | |||
| afc75310d7 | |||
| 0e11254000 | |||
| 8b0275b644 | |||
| 1c8362a89e | |||
| 8b79a5472d | |||
| fca300c8ea | |||
| 5fda4784f8 | |||
| 3b8e434794 | |||
| f3fb92e555 | |||
| a459697e0e | |||
| d274f499a3 | |||
| 9ceb630c58 | |||
| ecfb69938a | |||
| 0a5a1db2d4 | |||
| 29a2ccd384 | |||
| ab4fab1938 | |||
| ed5f49ff0c | |||
| 8b2fe7853d | |||
| 832e64bdda | |||
| 7dac2f2e3e | |||
| 2aa76ee14a | |||
| 9546640ecc | |||
| 02d8d9c887 | |||
| 8e70e6d276 | |||
| e0d2d05284 | |||
| 34d02e6d11 | |||
| 8c9a63f1ad | |||
| dc26f0c9ce | |||
| 55f0336630 | |||
| d6f10ca3fe | |||
| b16b7a0666 | |||
| 09d80ed583 | |||
| 07ef14afc9 | |||
| f887601ac8 | |||
| 867e3c5553 |
+11
-2
@@ -13,10 +13,19 @@
|
||||
(eval . (put 'lambda* 'scheme-indent-function 1))
|
||||
(eval . (put 'substitute* 'scheme-indent-function 1))
|
||||
(eval . (put 'with-directory-excursion 'scheme-indent-function 1))
|
||||
(eval . (put 'package 'scheme-indent-function 1))
|
||||
(eval . (put 'package 'scheme-indent-function 0))
|
||||
(eval . (put 'origin 'scheme-indent-function 0))
|
||||
(eval . (put 'manifest-entry 'scheme-indent-function 0))
|
||||
(eval . (put 'manifest-pattern 'scheme-indent-function 0))
|
||||
(eval . (put 'substitute-keyword-arguments 'scheme-indent-function 1))
|
||||
(eval . (put 'with-error-handling 'scheme-indent-function 0))
|
||||
(eval . (put 'with-mutex 'scheme-indent-function 1))))
|
||||
(eval . (put 'with-mutex 'scheme-indent-function 1))
|
||||
|
||||
(eval . (put 'syntax-parameterize 'scheme-indent-function 1))
|
||||
(eval . (put 'with-monad 'scheme-indent-function 1))
|
||||
(eval . (put 'mlet* 'scheme-indent-function 2))
|
||||
(eval . (put 'mlet 'scheme-indent-function 2))
|
||||
(eval . (put 'run-with-store 'scheme-indent-function 1))))
|
||||
(emacs-lisp-mode . ((indent-tabs-mode . nil)))
|
||||
(texinfo-mode . ((indent-tabs-mode . nil)
|
||||
(fill-column . 72))))
|
||||
|
||||
@@ -35,6 +35,8 @@ config.cache
|
||||
/po/remove-potcdate.sin
|
||||
/po/stamp-po
|
||||
/po/guix.pot
|
||||
/po/*.mo
|
||||
/po/*.gmo
|
||||
/tests/*.trs
|
||||
/INSTALL
|
||||
/m4/*
|
||||
@@ -46,6 +48,7 @@ config.cache
|
||||
/doc/version.texi
|
||||
/gnu/packages/bootstrap/x86_64-linux/guile-2.0.7.tar.xz
|
||||
/gnu/packages/bootstrap/i686-linux/guile-2.0.7.tar.xz
|
||||
/gnu/packages/bootstrap/mips64el-linux/guile-2.0.9.tar.xz
|
||||
/guix/config.scm
|
||||
/nix/nix-daemon/nix-daemon.cc
|
||||
/nix/config.h
|
||||
@@ -77,3 +80,7 @@ stamp-h[0-9]
|
||||
/doc/images/bootstrap-graph.png
|
||||
/doc/images/bootstrap-graph.eps
|
||||
/guix-register
|
||||
GPATH
|
||||
GRTAGS
|
||||
GTAGS
|
||||
/nix-setuid-helper
|
||||
|
||||
@@ -5,11 +5,17 @@ build daemon whose code comes from Nix (see the manual for details.)
|
||||
Nix was initially written by Eelco Dolstra; other people have been
|
||||
contributing to it. See `nix/AUTHORS' for details.
|
||||
|
||||
GNU Guix was initiated by Ludovic Courtès <ludo@gnu.org>, but it would
|
||||
not be what it is without the contributions of the following people (in
|
||||
The fine people listed below have contributed code to GNU Guix (in
|
||||
alphabetical order):
|
||||
|
||||
Andreas Enge <andreas@enge.fr>
|
||||
Nikita Karetnikov <nikita@karetnikov.org>
|
||||
Cyril Roelandt <tipecaml@gmail.com>
|
||||
Mark H. Weaver <mhw@netris.org>
|
||||
Eric Bavier <bavier@member.fsf.org>
|
||||
Ludovic Courtès <ludo@gnu.org>
|
||||
John Darrington <john@darrington.wattle.id.au>
|
||||
Andreas Enge <andreas@enge.fr>
|
||||
Guy Grant <gzg@riseup.net>
|
||||
Nikita Karetnikov <nikita@karetnikov.org>
|
||||
Aljosha Papsch <misc@rpapsch.de>
|
||||
Cyril Roelandt <tipecaml@gmail.com>
|
||||
Alex Sassmannshausen <alex.sassmannshausen@gmail.com>
|
||||
David Thompson <dthompson2@worcester.edu>
|
||||
Mark H. Weaver <mhw@netris.org>
|
||||
|
||||
@@ -30,9 +30,9 @@ you didn’t run it, you may get the following error:
|
||||
make: *** No rule to make target `nix/libstore/schema.sql', needed by
|
||||
`nix/libstore/schema.sql.hh'
|
||||
|
||||
Then, as always, run ‘./configure’. If you get an error like this one:
|
||||
If you get an error like this one:
|
||||
|
||||
./configure: line 6755: `PKG_CHECK_MODULES(GUILE, guile-2.0 >= 2.0.5)'
|
||||
configure.ac:46: error: possibly undefined macro: PKG_CHECK_MODULES
|
||||
|
||||
it probably means that Autoconf couldn’t find ‘pkg.m4’, which is provided by
|
||||
pkg-config. Make sure that ‘pkg.m4’ is available. For instance, if you
|
||||
@@ -43,6 +43,8 @@ installed Automake in ‘/usr/local’, it wouldn’t look for ‘.m4’ files i
|
||||
|
||||
See “info '(automake) Macro Search Path'” for more information.
|
||||
|
||||
Then, run ‘./configure’ as usual.
|
||||
|
||||
Finally, you have to invoke ‘make check’ to run tests. If anything fails,
|
||||
take a look at “info '(guix) Installation'” or send a message to
|
||||
<guix-devel@gnu.org>.
|
||||
|
||||
+25
-16
@@ -27,23 +27,16 @@ nodist_noinst_SCRIPTS = \
|
||||
include gnu-system.am
|
||||
|
||||
MODULES = \
|
||||
guix/scripts/build.scm \
|
||||
guix/scripts/download.scm \
|
||||
guix/scripts/import.scm \
|
||||
guix/scripts/package.scm \
|
||||
guix/scripts/gc.scm \
|
||||
guix/scripts/hash.scm \
|
||||
guix/scripts/pull.scm \
|
||||
guix/scripts/substitute-binary.scm \
|
||||
guix/scripts/refresh.scm \
|
||||
guix/base32.scm \
|
||||
guix/records.scm \
|
||||
guix/hash.scm \
|
||||
guix/utils.scm \
|
||||
guix/download.scm \
|
||||
guix/monads.scm \
|
||||
guix/profiles.scm \
|
||||
guix/serialization.scm \
|
||||
guix/nar.scm \
|
||||
guix/derivations.scm \
|
||||
guix/download.scm \
|
||||
guix/gnu-maintenance.scm \
|
||||
guix/licenses.scm \
|
||||
guix/build-system.scm \
|
||||
@@ -69,12 +62,22 @@ MODULES = \
|
||||
guix/build/rpath.scm \
|
||||
guix/packages.scm \
|
||||
guix/snix.scm \
|
||||
guix/scripts/download.scm \
|
||||
guix/scripts/build.scm \
|
||||
guix/scripts/import.scm \
|
||||
guix/scripts/package.scm \
|
||||
guix/scripts/gc.scm \
|
||||
guix/scripts/hash.scm \
|
||||
guix/scripts/pull.scm \
|
||||
guix/scripts/substitute-binary.scm \
|
||||
guix/scripts/refresh.scm \
|
||||
guix.scm \
|
||||
$(GNU_SYSTEM_MODULES)
|
||||
|
||||
# Because of the autoload hack in (guix build download), we must build it
|
||||
# first to avoid errors on systems where (gnutls) is unavailable.
|
||||
guix/scripts/download.go: guix/build/download.go
|
||||
guix/download.go: guix/build/download.go
|
||||
|
||||
|
||||
GOBJECTS = $(MODULES:%.scm=%.go) guix/config.go
|
||||
@@ -94,6 +97,10 @@ srfi/srfi-37.scm: srfi/srfi-37.scm.in
|
||||
|
||||
endif INSTALL_SRFI_37
|
||||
|
||||
# Handy way to remove the .go files without removing all the rest.
|
||||
clean-go:
|
||||
-$(RM) -f $(GOBJECTS)
|
||||
|
||||
|
||||
SCM_TESTS = \
|
||||
tests/base32.scm \
|
||||
@@ -107,8 +114,10 @@ SCM_TESTS = \
|
||||
tests/packages.scm \
|
||||
tests/snix.scm \
|
||||
tests/store.scm \
|
||||
tests/monads.scm \
|
||||
tests/nar.scm \
|
||||
tests/union.scm
|
||||
tests/union.scm \
|
||||
tests/profiles.scm
|
||||
|
||||
SH_TESTS = \
|
||||
tests/guix-build.sh \
|
||||
@@ -154,7 +163,7 @@ EXTRA_DIST = \
|
||||
build-aux/check-available-binaries.scm \
|
||||
build-aux/download.scm \
|
||||
build-aux/list-packages.scm \
|
||||
build-aux/sync-synopses.scm \
|
||||
build-aux/sync-descriptions.scm \
|
||||
srfi/srfi-37.scm.in \
|
||||
srfi/srfi-64.scm \
|
||||
srfi/srfi-64.upstream.scm \
|
||||
@@ -209,12 +218,12 @@ AM_DISTCHECK_CONFIGURE_FLAGS = \
|
||||
--with-nix-prefix="$(NIX_PREFIX)" \
|
||||
--enable-daemon
|
||||
|
||||
dist-hook: sync-synopses gen-ChangeLog assert-no-store-file-names
|
||||
dist-hook: sync-descriptions gen-ChangeLog assert-no-store-file-names
|
||||
distcheck-hook: assert-binaries-available
|
||||
|
||||
sync-synopses:
|
||||
sync-descriptions:
|
||||
-$(top_builddir)/pre-inst-env $(GUILE) \
|
||||
$(top_srcdir)/build-aux/sync-synopses.scm
|
||||
$(top_srcdir)/build-aux/sync-descriptions.scm
|
||||
|
||||
gen-ChangeLog:
|
||||
if test -d .git; then \
|
||||
@@ -238,5 +247,5 @@ assert-binaries-available:
|
||||
$(top_builddir)/pre-inst-env "$(GUILE)" \
|
||||
"$(top_srcdir)/build-aux/check-available-binaries.scm"
|
||||
|
||||
.PHONY: sync-synopses gen-ChangeLog
|
||||
.PHONY: sync-descriptions gen-ChangeLog clean-go
|
||||
.PHONY: assert-no-store-file-names assert-binaries-available
|
||||
|
||||
@@ -10,6 +10,108 @@ Copyright © 2013 Ludovic Courtès <ludo@gnu.org>
|
||||
|
||||
Please send Guix bug reports to bug-guix@gnu.org.
|
||||
|
||||
* Changes in 0.5 (since 0.4)
|
||||
** Package management
|
||||
*** GNU package descriptions synchronized with the ‘gnumaint’ repository
|
||||
|
||||
In addition to synopses, descriptions of GNU packages are now kept in sync
|
||||
with the ‘gnumaint’ repository, which is the canonical place for GNU package
|
||||
meta-data.
|
||||
|
||||
** Programming interfaces
|
||||
*** Patches are now listed as part of ‘origin’
|
||||
|
||||
The ‘origin’ form supports two new fields: ‘patches’ (list of patches), and
|
||||
‘snippet’ (code snippet to modify the source.) These are applied when running
|
||||
‘guix build --source’. See “Defining Packages” in the manual.
|
||||
|
||||
*** New (guix monads) monadic interface to operate on the store
|
||||
|
||||
See “The Store Monad” in the manual. The (gnu system …) modules have been
|
||||
rewritten to use this monadic interface.
|
||||
|
||||
*** New (guix profiles) module
|
||||
|
||||
It provides an API for dealing with profiles, as with the ‘guix package’
|
||||
command.
|
||||
|
||||
*** New (gnu system) module
|
||||
|
||||
This module provides a generic way to describe the system’s configuration,
|
||||
and to instantiate it, regardless of the final medium (QEMU image, etc.)
|
||||
See “System Configuration” in the manual.
|
||||
|
||||
This is work in progress. Send feedback to guix-devel@gnu.org!
|
||||
|
||||
*** ‘build-expression->derivation’ uses more parameters
|
||||
|
||||
Some positional parameters have been changed to keyword parameters.
|
||||
See “Derivations” in the manual.
|
||||
|
||||
** GNU distribution
|
||||
*** New port to the Loongson MIPS64 processors, n32 ABI (‘mips64el-linux’)
|
||||
|
||||
Bootstrap binaries have been built for that architecture, and several
|
||||
Loongson-specific patches not yet available upstream have been applied to core
|
||||
packages. See “GNU Distribution” and “Porting” in the manual.
|
||||
|
||||
Pre-built binaries are not yet available via hydra.gnu.org, so Guix will
|
||||
build from source on this platform.
|
||||
|
||||
*** 110 new packages
|
||||
|
||||
acct, alive, alsa-utils, apl, at-spi2-atk, at-spi2-core, atkmm, autogen,
|
||||
automoc4, brasero, bridge-utils, cairomm, catkin, complexity, evince, ffmpeg,
|
||||
fftw, ftgl, gcc-objc, gcc-objc++, gccgo, gcl, gfortran, glibmm, glpk,
|
||||
gnome-icon-theme, gnu-pw-mgr, gp2c, gpgme, gsettings-desktop-schemas, gtkmm,
|
||||
gtksourceview, guile-ssh, guile-wm, gvpe, hicolor-icon-theme, httpd, icecat,
|
||||
icon-naming-utils, json-c, lapack, libcanberra, libcap, libgnome-keyring,
|
||||
libmikmod, libnl, libnotify, libsamplerate, libsigc++, libsndfile, libssh,
|
||||
libtheora, libxkbcommon, mercurial, mtools, netcat, pangomm, parallel,
|
||||
pavucontrol, pciutils, pem, perl-encode-locale, perl-file-list,
|
||||
perl-file-listing, perl-html-parser, perl-html-tagset, perl-http-cookies,
|
||||
perl-http-daemon, perl-http-date, perl-http-message, perl-http-negotiate,
|
||||
perl-io-html, perl-libwww, perl-libxml, perl-lwp-mediatypes, perl-net-http,
|
||||
perl-uri, perl-www-robotrules, perl-xml-dom, perl-xml-regexp, perl-xml-simple,
|
||||
phonon, powertop, pulseaudio, python2-dogtail, python2-empy, qemu-headless,
|
||||
qt, qt, raptor2, scons, sdl, sdl-gfx, sdl-image, sdl-mixer, sdl-net, sdl-ttf,
|
||||
sdl2, serveez, shared-mime-info, sharutils, skribilo, slim, soprano, swig,
|
||||
xcb-util, xcb-util-image, xcb-util-keysyms, xcb-util-renderutil, xcb-util-wm
|
||||
|
||||
*** 47 package updates
|
||||
|
||||
atk 2.10.0, bison 3.0.2, cmake 2.8.12, dmd 0.1, freeipmi 1.3.3, gcc 4.8.2,
|
||||
gcc 4.8.2, gcc-cross-mips64el-linux-gnuabi64 4.8.2, gcc-stripped-tarball 4.8.2,
|
||||
gdb 7.6.2, gettext 0.18.3.1, glib 2.38.0, global 6.2.9, gmp 5.1.3,
|
||||
gnupg 2.0.22, gobject-introspection 1.38.0, grep 2.15, gsl 1.16,
|
||||
gtk+ 2.24.21, gtk+ 3.10.1, guile 2.0.9, guile 2.0.9, guile-xcb 1.2,
|
||||
harfbuzz 0.9.22, hello 2.9, iproute2 3.12.0, libdrm 2.4.46,
|
||||
libextractor 1.2, libjpeg 9, libmicrohttpd 0.9.32, lightning 2.0.2,
|
||||
linux-libre 3.12, lzip 1.15, make 4.0, mit-krb5 1.11.3, pari-gp 2.5.5,
|
||||
pixman 0.32.4, python 3.3.2, qemu 1.6.1,
|
||||
qemu-with-multiple-smb-shares 1.6.1, rcs 5.9.2, recutils 1.6, rsync 3.1.0,
|
||||
tar 1.27.1, texinfo 5.2, units 2.02, xorriso 1.3.2
|
||||
|
||||
*** Packages are now built with GCC 4.8.2 by default (was 4.7.3)
|
||||
|
||||
** Native language support
|
||||
*** New ‘sr’ (Serbian) translation
|
||||
*** New ‘vi’ (Vietnamese) translation
|
||||
*** Updated ‘pt_BR’ (Brazilian Portuguese) translation
|
||||
** Bugs fixed
|
||||
*** ‘guix pull’ compiles Guix deterministically and correctly
|
||||
|
||||
Previously, the build environment was not cleared in between ‘compile-file’
|
||||
calls, leading to build errors due to Guile bug http://bugs.gnu.org/15602 .
|
||||
|
||||
*** ‘guix package’ allows removal of a specific package output
|
||||
(http://bugs.gnu.org/15756)
|
||||
*** ‘guix-daemon’ always sets umask to 022
|
||||
(http://lists.gnu.org/archive/html/bug-guix/2013-07/msg00033.html)
|
||||
*** Files referenced by environment variables are protected from GC
|
||||
*** Yet unbuilt packages get correctly installed (http://bugs.gnu.org/15283)
|
||||
*** ‘bootstrap-graph.{png,eps,pdf}’ built in srcdir (http://bugs.gnu.org/15640)
|
||||
|
||||
* Changes in 0.4 (since 0.3)
|
||||
|
||||
** Package management
|
||||
|
||||
@@ -50,26 +50,16 @@ You can re-build and re-install Guix using a system that already runs Guix.
|
||||
To do so:
|
||||
|
||||
- Install the dependencies (see 'Requirements' above) and build tools using
|
||||
Guix. You should have the following packages installed in your user
|
||||
profile:
|
||||
Guix:
|
||||
|
||||
- autoconf
|
||||
- automake
|
||||
- bzip2
|
||||
- gcc
|
||||
- gettext
|
||||
- glibc
|
||||
- guile
|
||||
- ld-wrapper
|
||||
- libgcrypt
|
||||
- pkg-config
|
||||
- sqlite
|
||||
guix package --install={autoconf,automake,bzip2,gcc,binutils,ld-wrapper,glibc,gettext,guile,libgcrypt,pkg-config,sqlite}
|
||||
|
||||
- set the environment variables that Guix recommends you to set during the
|
||||
package installation process:
|
||||
ACLOCAL, CPATH, LIBRARY_PATH, PATH, PKG_CONFIG_PATH
|
||||
In addition, set
|
||||
GUIX_LD_WRAPPER_ALLOW_IMPURITIES=yes
|
||||
ACLOCAL_PATH, CPATH, LIBRARY_PATH, PKG_CONFIG_PATH
|
||||
|
||||
- set the PATH environment variable to refer to the profile:
|
||||
PATH=$HOME/.guix-profile/bin:$PATH
|
||||
|
||||
- re-run the configure script passing it the option
|
||||
`--with-libgcrypt-prefix=$HOME/.guix-profile/'
|
||||
|
||||
@@ -14,9 +14,9 @@ infrastructure help:
|
||||
John Darrington <john@cellform.com>
|
||||
Rafael Ferreira <rafael.f.f1@gmail.com>
|
||||
Christian Grothoff <christian@grothoff.org>
|
||||
Jeffrin Jose <ahiliation@yahoo.co.in>
|
||||
Matthew Lien <bluet@bluet.org>
|
||||
Yutaka Niibe <gniibe@fsij.org>
|
||||
Alex Sassmannshausen <alex.sassmannshausen@gmail.com>
|
||||
Cyrill Schenkel <cyrill.schenkel@gmail.com>
|
||||
Jason Self <jself@gnu.org>
|
||||
Alen Skondro <askondro@gmail.com>
|
||||
|
||||
@@ -28,11 +28,13 @@ Ideally, extend .nix-cache-info to include the server's public key, and also
|
||||
reply to requests for .narinfo.sig.
|
||||
Optionally, use Guile-Avahi to publish the service.
|
||||
|
||||
** MAYBE Add a substituter that uses the GNUnet DHT
|
||||
** MAYBE Add a substituter that uses the GNUnet DHT or [[http://libswift.org][libswift]]
|
||||
|
||||
Would be neat if binaries could be pushed to and pulled from the GNUnet
|
||||
DHT. Guix users would sign their binaries, and define which binaries
|
||||
they trust.
|
||||
Would be neat if binaries could be pushed to and pulled from the GNUnet DHT or
|
||||
rather libswift (since DHTs aren’t suited for large payloads). Guix users
|
||||
would sign their binaries, and define which binaries they trust.
|
||||
|
||||
Use UPnP and similar to traverse NAT, like ‘filegive’ does.
|
||||
|
||||
** Add a remote build hook
|
||||
|
||||
@@ -71,8 +73,6 @@ This should specify builder code to be run when building a user
|
||||
environment with ‘guix-package’. For instance, Texinfo’s hook would
|
||||
create a new ‘dir’.
|
||||
|
||||
** add ‘patches’ there
|
||||
|
||||
** extend ‘propagated-build-inputs’ with support for multiple outputs
|
||||
|
||||
#+BEGIN_SRC scheme
|
||||
|
||||
@@ -45,7 +45,7 @@
|
||||
(match (string-tokenize file (char-set-complement (char-set #\/)))
|
||||
((_ ... system basename)
|
||||
(string->uri (string-append %url-base "/" system
|
||||
"/20130105/" basename)))))
|
||||
"/20131110/" basename)))))
|
||||
|
||||
(match (command-line)
|
||||
((_ file expected-hash)
|
||||
|
||||
@@ -45,6 +45,7 @@
|
||||
(gnu packages gawk)
|
||||
(gnu packages guile)
|
||||
(gnu packages gettext)
|
||||
(gnu packages compression)
|
||||
(gnu packages multiprecision)
|
||||
(gnu packages make-bootstrap)
|
||||
(srfi srfi-1)
|
||||
@@ -83,7 +84,7 @@ SYSTEM."
|
||||
|
||||
(define %core-packages
|
||||
(list gmp mpfr mpc coreutils findutils diffutils patch sed grep
|
||||
gawk gettext hello guile-2.0
|
||||
gawk gnu-gettext hello guile-2.0 zlib gzip xz
|
||||
%bootstrap-binaries-tarball
|
||||
%binutils-bootstrap-tarball
|
||||
%glibc-bootstrap-tarball
|
||||
|
||||
@@ -49,6 +49,21 @@ exec guile -l "$0" \
|
||||
(equal? (gnu-package-name package) name))
|
||||
gnu))))
|
||||
|
||||
(define (list-join lst item)
|
||||
"Join the items in LST by inserting ITEM between each pair of elements."
|
||||
(let loop ((lst lst)
|
||||
(result '()))
|
||||
(match lst
|
||||
(()
|
||||
(match (reverse result)
|
||||
(()
|
||||
'())
|
||||
((_ rest ...)
|
||||
rest)))
|
||||
((head tail ...)
|
||||
(loop tail
|
||||
(cons* head item result))))))
|
||||
|
||||
(define (package->sxml package previous description-ids remaining)
|
||||
"Return 3 values: the HTML-as-SXML for PACKAGE added to all previously
|
||||
collected package output in PREVIOUS, a list of DESCRIPTION-IDS and the number
|
||||
@@ -56,12 +71,14 @@ of packages still to be processed in REMAINING. Also Introduces a call to the
|
||||
JavaScript prep_pkg_descs function as part of the output of PACKAGE, every
|
||||
time the length of DESCRIPTION-IDS, increasing, is 15 or when REMAINING,
|
||||
decreasing, is 1."
|
||||
(define (location-url loc)
|
||||
(string-append "http://git.savannah.gnu.org/cgit/guix.git/tree/"
|
||||
(location-file loc) "#n"
|
||||
(number->string (location-line loc))))
|
||||
|
||||
(define (source-url package)
|
||||
(let ((loc (package-location package)))
|
||||
(and loc
|
||||
(string-append "http://git.savannah.gnu.org/cgit/guix.git/tree/"
|
||||
(location-file loc) "#n"
|
||||
(number->string (location-line loc))))))
|
||||
(and loc (location-url loc))))
|
||||
|
||||
(define (license package)
|
||||
(define ->sxml
|
||||
@@ -82,6 +99,45 @@ decreasing, is 1."
|
||||
|
||||
(->sxml (package-license package)))
|
||||
|
||||
(define (patches package)
|
||||
(define (patch-url patch)
|
||||
(string-append
|
||||
"http://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/patches/"
|
||||
(basename patch)))
|
||||
|
||||
(define (snippet-link snippet)
|
||||
(let ((loc (or (package-field-location package 'source)
|
||||
(package-location package))))
|
||||
`(a (@ (href ,(location-url loc))
|
||||
(title "Link to patch snippet"))
|
||||
"snippet")))
|
||||
|
||||
(and (origin? (package-source package))
|
||||
(let ((patches (origin-patches (package-source package)))
|
||||
(snippet (origin-snippet (package-source package))))
|
||||
(and (or (pair? patches) snippet)
|
||||
`(div "patches: "
|
||||
,(let loop ((patches patches)
|
||||
(number 1)
|
||||
(links '()))
|
||||
(match patches
|
||||
(()
|
||||
(let* ((additional (and snippet
|
||||
(snippet-link snippet)))
|
||||
(links (if additional
|
||||
(cons additional links)
|
||||
links)))
|
||||
(list-join (reverse links) ", ")))
|
||||
((patch rest ...)
|
||||
(loop rest
|
||||
(+ 1 number)
|
||||
(cons `(a (@ (href ,(patch-url patch))
|
||||
(title ,(string-append
|
||||
"Link to "
|
||||
(basename patch))))
|
||||
,(number->string number))
|
||||
links))))))))))
|
||||
|
||||
(define (status package)
|
||||
(define (url system)
|
||||
`(a (@ (href ,(string-append "http://hydra.gnu.org/job/gnu/master/"
|
||||
@@ -133,6 +189,7 @@ description-ids as formal parameters."
|
||||
(title "Link to the package's website"))
|
||||
,(package-home-page package))
|
||||
,(status package)
|
||||
,(patches package)
|
||||
,(if js?
|
||||
(insert-js-call description-ids)
|
||||
""))))))
|
||||
|
||||
@@ -17,7 +17,8 @@
|
||||
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
;;;
|
||||
;;; Report synopses that defer from those found in the GNU Womb.
|
||||
;;; Report package synopses and descriptions that defer from those found in
|
||||
;;; the GNU Womb.
|
||||
;;;
|
||||
|
||||
(use-modules (guix gnu-maintenance)
|
||||
@@ -58,5 +59,17 @@
|
||||
(format (guix-warning-port)
|
||||
"~a: ~a: proposed synopsis: ~s~%"
|
||||
(location->string loc) (package-name package)
|
||||
upstream)))))
|
||||
upstream)))
|
||||
|
||||
(let ((upstream (gnu-package-doc-description descriptor))
|
||||
(downstream (package-description package))
|
||||
(loc (or (package-field-location package 'description)
|
||||
(package-location package))))
|
||||
(when (and upstream
|
||||
(not (string=? (fill-paragraph upstream 100)
|
||||
(fill-paragraph downstream 100))))
|
||||
(format (guix-warning-port)
|
||||
"~a: ~a: proposed description:~% ~a~%"
|
||||
(location->string loc) (package-name package)
|
||||
(fill-paragraph upstream 77 7))))))
|
||||
gnus)
|
||||
+5
-1
@@ -2,7 +2,7 @@
|
||||
# Process this file with autoconf to produce a configure script.
|
||||
|
||||
AC_PREREQ(2.68)
|
||||
AC_INIT([GNU Guix], [0.4], [bug-guix@gnu.org], [guix],
|
||||
AC_INIT([GNU Guix], [0.5], [bug-guix@gnu.org], [guix],
|
||||
[http://www.gnu.org/software/guix/])
|
||||
AC_CONFIG_AUX_DIR([build-aux])
|
||||
|
||||
@@ -41,6 +41,10 @@ AC_ARG_ENABLE([daemon],
|
||||
guix_localstatedir="`eval echo $localstatedir | sed -e "s|NONE|/usr/local|g"`"
|
||||
AC_SUBST([guix_localstatedir])
|
||||
|
||||
dnl We require the pkg.m4 set of macros from pkg-config.
|
||||
dnl Make sure it's available.
|
||||
m4_pattern_forbid([PKG_CHECK_MODULES])
|
||||
|
||||
PKG_CHECK_MODULES([GUILE], [guile-2.0 >= 2.0.5])
|
||||
AC_PATH_PROG([GUILE], [guile])
|
||||
AC_PATH_PROG([GUILD], [guild])
|
||||
|
||||
@@ -21,7 +21,8 @@ info_TEXINFOS = doc/guix.texi
|
||||
EXTRA_DIST += \
|
||||
doc/fdl-1.3.texi \
|
||||
doc/images/bootstrap-graph.dot \
|
||||
doc/images/bootstrap-graph.eps
|
||||
doc/images/bootstrap-graph.eps \
|
||||
doc/images/bootstrap-graph.pdf
|
||||
|
||||
infoimagedir = $(infodir)/images
|
||||
dist_infoimage_DATA = doc/images/bootstrap-graph.png
|
||||
@@ -47,6 +48,6 @@ DOT_OPTIONS = \
|
||||
# We cannot add new dependencies to `doc/guix.pdf' & co. (info "(automake)
|
||||
# Extending"). Using the `-local' rules is imperfect, because they may be
|
||||
# triggered after the main rule. Oh, well.
|
||||
pdf-local: doc/images/bootstrap-graph.pdf
|
||||
info-local: doc/images/bootstrap-graph.png
|
||||
ps-local: doc/images/bootstrap-graph.eps
|
||||
pdf-local: $(top_srcdir)/doc/images/bootstrap-graph.pdf
|
||||
info-local: $(top_srcdir)/doc/images/bootstrap-graph.png
|
||||
ps-local: $(top_srcdir)/doc/images/bootstrap-graph.eps
|
||||
|
||||
+473
-57
@@ -8,7 +8,19 @@
|
||||
@c %**end of header
|
||||
|
||||
@include version.texi
|
||||
@set YEARS 2012, 2013
|
||||
|
||||
@copying
|
||||
Copyright @copyright{} 2012, 2013 Ludovic Courtès@*
|
||||
Copyright @copyright{} 2013 Andreas Enge@*
|
||||
Copyright @copyright{} 2013 Nikita Karetnikov
|
||||
|
||||
Permission is granted to copy, distribute and/or modify this document
|
||||
under the terms of the GNU Free Documentation License, Version 1.3 or
|
||||
any later version published by the Free Software Foundation; with no
|
||||
Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A
|
||||
copy of the license is included in the section entitled ``GNU Free
|
||||
Documentation License''.
|
||||
@end copying
|
||||
|
||||
@dircategory Package management
|
||||
@direntry
|
||||
@@ -31,34 +43,9 @@
|
||||
Edition @value{EDITION} @*
|
||||
@value{UPDATED} @*
|
||||
|
||||
Copyright @copyright{} @value{YEARS} Ludovic Court@`es, Andreas Enge, Nikita Karetnikov
|
||||
|
||||
@ifinfo
|
||||
@quotation
|
||||
Permission is granted to copy, distribute and/or modify this document
|
||||
under the terms of the GNU Free Documentation License, Version 1.3 or
|
||||
any later version published by the Free Software Foundation; with no
|
||||
Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A
|
||||
copy of the license is included in the section entitled ``GNU Free
|
||||
Documentation License''.
|
||||
@end quotation
|
||||
@end ifinfo
|
||||
|
||||
@insertcopying
|
||||
@end titlepage
|
||||
|
||||
@copying
|
||||
This manual documents GNU Guix version @value{VERSION}.
|
||||
|
||||
Copyright @copyright{} @value{YEARS} Ludovic Courtès
|
||||
|
||||
Permission is granted to copy, distribute and/or modify this document
|
||||
under the terms of the GNU Free Documentation License, Version 1.3 or
|
||||
any later version published by the Free Software Foundation; with no
|
||||
Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A
|
||||
copy of the license is included in the section entitled ``GNU Free
|
||||
Documentation License.''
|
||||
@end copying
|
||||
|
||||
@contents
|
||||
|
||||
@c *********************************************************************
|
||||
@@ -68,18 +55,6 @@ Documentation License.''
|
||||
This document describes GNU Guix version @value{VERSION}, a functional
|
||||
package management tool written for the GNU system.
|
||||
|
||||
|
||||
@quotation
|
||||
Copyright @copyright{} @value{YEARS} Ludovic Courtès, Andreas Enge, Nikita Karetnikov
|
||||
|
||||
Permission is granted to copy, distribute and/or modify this document
|
||||
under the terms of the GNU Free Documentation License, Version 1.3 or
|
||||
any later version published by the Free Software Foundation; with no
|
||||
Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A
|
||||
copy of the license is included in the section entitled ``GNU Free
|
||||
Documentation License.''
|
||||
@end quotation
|
||||
|
||||
@menu
|
||||
* Introduction:: What is Guix about?
|
||||
* Installation:: Installing Guix.
|
||||
@@ -120,7 +95,7 @@ always produces the same result when passed a given set of inputs. It
|
||||
cannot alter the system's environment in
|
||||
any way; for instance, it cannot create, modify, or delete files outside
|
||||
of its build and installation directories. This is achieved by running
|
||||
build processes in isolated environments (or @dfn{chroots}), where only their
|
||||
build processes in isolated environments (or @dfn{containers}), where only their
|
||||
explicit inputs are visible.
|
||||
|
||||
@cindex store
|
||||
@@ -249,6 +224,7 @@ The @code{guix-daemon} program may then be run as @code{root} with:
|
||||
# guix-daemon --build-users-group=guix-builder
|
||||
@end example
|
||||
|
||||
@cindex chroot
|
||||
@noindent
|
||||
This way, the daemon starts build processes in a chroot, under one of
|
||||
the @code{guix-builder} users. On GNU/Linux, by default, the chroot
|
||||
@@ -296,6 +272,10 @@ is normally run as @code{root} like this:
|
||||
@noindent
|
||||
For details on how to set it up, @ref{Setting Up the Daemon}.
|
||||
|
||||
@cindex chroot
|
||||
@cindex container, build environment
|
||||
@cindex build environment
|
||||
@cindex reproducible builds
|
||||
By default, @command{guix-daemon} launches build processes under
|
||||
different UIDs, taken from the build group specified with
|
||||
@code{--build-users-group}. In addition, each build process is run in a
|
||||
@@ -303,7 +283,10 @@ chroot environment that only contains the subset of the store that the
|
||||
build process depends on, as specified by its derivation
|
||||
(@pxref{Programming Interface, derivation}), plus a set of specific
|
||||
system directories. By default, the latter contains @file{/dev} and
|
||||
@file{/dev/pts}.
|
||||
@file{/dev/pts}. Furthermore, on GNU/Linux, the build environment is a
|
||||
@dfn{container}: in addition to having its own file system tree, it has
|
||||
a separate mount name space, its own PID name space, network name space,
|
||||
etc. This helps achieve reproducible builds (@pxref{Features}).
|
||||
|
||||
The following command-line options are supported:
|
||||
|
||||
@@ -313,9 +296,18 @@ Take users from @var{group} to run build processes (@pxref{Setting Up
|
||||
the Daemon, build users}).
|
||||
|
||||
@item --no-substitutes
|
||||
@cindex substitutes
|
||||
Do not use substitutes for build products. That is, always build things
|
||||
locally instead of allowing downloads of pre-built binaries.
|
||||
|
||||
By default substitutes are used, unless the client---such as the
|
||||
@command{guix package} command---is explicitly invoked with
|
||||
@code{--no-substitutes}.
|
||||
|
||||
When the daemon runs with @code{--no-substitutes}, clients can still
|
||||
explicitly enable substitution @i{via} the @code{set-build-options}
|
||||
remote procedure call (@pxref{The Store}).
|
||||
|
||||
@item --cache-failures
|
||||
Cache build failures. By default, only successful builds are cached.
|
||||
|
||||
@@ -454,7 +446,9 @@ profile remains in its previous state, and remains usable.
|
||||
In addition, any package transaction may be @emph{rolled back}. So, if,
|
||||
for example, an upgrade installs a new version of a package that turns
|
||||
out to have a serious bug, users may roll back to the previous instance
|
||||
of their profile, which was known to work well.
|
||||
of their profile, which was known to work well. Similarly, the global
|
||||
system configuration is subject to transactional upgrades and roll-back
|
||||
(@pxref{Using the Configuration System}).
|
||||
|
||||
All those packages in the package store may be @emph{garbage-collected}.
|
||||
Guix can determine which packages are still referenced by the user
|
||||
@@ -463,18 +457,31 @@ profiles, and remove those that are provably no longer referenced
|
||||
generations of their profile so that the packages they refer to can be
|
||||
collected.
|
||||
|
||||
@cindex reproducibility
|
||||
@cindex reproducible builds
|
||||
Finally, Guix takes a @dfn{purely functional} approach to package
|
||||
management, as described in the introduction (@pxref{Introduction}).
|
||||
Each @file{/nix/store} package directory name contains a hash of all the
|
||||
inputs that were used to build that package---compiler, libraries, build
|
||||
scripts, etc. This direct correspondence allows users to make sure a
|
||||
given package installation matches the current state of their
|
||||
distribution, and helps maximize @dfn{reproducibility}.
|
||||
distribution. It also helps maximize @dfn{build reproducibility}:
|
||||
thanks to the isolated build environments that are used, a given build
|
||||
is likely to yield bit-identical files when performed on different
|
||||
machines (@pxref{Invoking guix-daemon, container}).
|
||||
|
||||
@cindex substitute
|
||||
This foundation allows Guix to support @dfn{transparent binary/source
|
||||
deployment}. When a pre-built binary for a @file{/nix/store} path is
|
||||
available from an external source, Guix just downloads it; otherwise, it
|
||||
builds the package from source, locally.
|
||||
available from an external source---a @dfn{substitute}, Guix just
|
||||
downloads it@footnote{@c XXX: Remove me when outdated.
|
||||
As of version @value{VERSION}, substitutes are downloaded from
|
||||
@url{http://hydra.gnu.org/} but are @emph{not} authenticated---i.e.,
|
||||
Guix cannot tell whether binaries it downloaded have been tampered with,
|
||||
nor whether they come from the genuine @code{gnu.org} build farm. This
|
||||
will be fixed in future versions. In the meantime, concerned users can
|
||||
opt for @code{--no-substitutes} (@pxref{Invoking guix-daemon}).};
|
||||
otherwise, it builds the package from source, locally.
|
||||
|
||||
@node Invoking guix package
|
||||
@section Invoking @command{guix package}
|
||||
@@ -565,6 +572,11 @@ multiple-output package.
|
||||
@itemx -r @var{package}
|
||||
Remove @var{package}.
|
||||
|
||||
As for @code{--install}, @var{package} may specify a version number
|
||||
and/or output name in addition to the package name. For instance,
|
||||
@code{-r glibc:debug} would remove the @code{debug} output of
|
||||
@code{glibc}.
|
||||
|
||||
@item --upgrade[=@var{regexp}]
|
||||
@itemx -u [@var{regexp}]
|
||||
Upgrade all the installed packages. When @var{regexp} is specified, upgrade
|
||||
@@ -618,7 +630,10 @@ When substituting a pre-built binary fails, fall back to building
|
||||
packages locally.
|
||||
|
||||
@item --no-substitutes
|
||||
@itemx --max-silent-time=@var{seconds}
|
||||
Do not use substitutes for build products. That is, always build things
|
||||
locally instead of allowing downloads of pre-built binaries.
|
||||
|
||||
@item --max-silent-time=@var{seconds}
|
||||
Same as for @command{guix build} (@pxref{Invoking guix build}).
|
||||
|
||||
@item --verbose
|
||||
@@ -880,6 +895,12 @@ but it supports the following options:
|
||||
@item --verbose
|
||||
Produce verbose output, writing build logs to the standard error output.
|
||||
|
||||
@item --url=@var{url}
|
||||
Download the source tarball of Guix from @var{url}.
|
||||
|
||||
By default, the tarball is taken from its canonical address at
|
||||
@code{gnu.org}, for the stable branch of Guix.
|
||||
|
||||
@item --bootstrap
|
||||
Use the bootstrap Guile to build the latest Guix. This option is only
|
||||
useful to Guix developers.
|
||||
@@ -914,9 +935,10 @@ This chapter describes all these APIs in turn, starting from high-level
|
||||
package definitions.
|
||||
|
||||
@menu
|
||||
* Defining Packages:: Defining new packages.
|
||||
* The Store:: Manipulating the package store.
|
||||
* Derivations:: Low-level interface to package derivations.
|
||||
* Defining Packages:: Defining new packages.
|
||||
* The Store:: Manipulating the package store.
|
||||
* Derivations:: Low-level interface to package derivations.
|
||||
* The Store Monad:: Purely functional interface to the store.
|
||||
@end menu
|
||||
|
||||
@node Defining Packages
|
||||
@@ -978,6 +1000,11 @@ base32 representation of the hash. You can obtain this information with
|
||||
@code{guix download} (@pxref{Invoking guix download}) and @code{guix
|
||||
hash} (@pxref{Invoking guix hash}).
|
||||
|
||||
@cindex patches
|
||||
When needed, the @code{origin} form can also have a @code{patches} field
|
||||
listing patches to be applied, and a @code{snippet} field giving a
|
||||
Scheme expression to modify the source code.
|
||||
|
||||
@item
|
||||
@cindex GNU Build System
|
||||
The @code{build-system} field is set to @var{gnu-build-system}. The
|
||||
@@ -1133,6 +1160,11 @@ derivation paths), and return when the worker is done building them.
|
||||
Return @code{#t} on success.
|
||||
@end deffn
|
||||
|
||||
Note that the @code{(guix monads)} module provides a monad as well as
|
||||
monadic versions of the above procedures, with the goal of making it
|
||||
more convenient to work with code that accesses the store (@pxref{The
|
||||
Store Monad}).
|
||||
|
||||
@c FIXME
|
||||
@i{This section is currently incomplete.}
|
||||
|
||||
@@ -1216,7 +1248,12 @@ As can be guessed, this primitive is cumbersome to use directly. An
|
||||
improved variant is @code{build-expression->derivation}, which allows
|
||||
the caller to directly pass a Guile expression as the build script:
|
||||
|
||||
@deffn {Scheme Procedure} build-expression->derivation @var{store} @var{name} @var{system} @var{exp} @var{inputs} [#:outputs '("out")] [#:hash #f] [#:hash-algo #f] [#:env-vars '()] [#:modules '()] [#:references-graphs #f] [#:guile-for-build #f]
|
||||
@deffn {Scheme Procedure} build-expression->derivation @var{store} @
|
||||
@var{name} @var{exp} @
|
||||
[#:system (%current-system)] [#:inputs '()] @
|
||||
[#:outputs '("out")] [#:hash #f] [#:hash-algo #f] @
|
||||
[#:env-vars '()] [#:modules '()] @
|
||||
[#:references-graphs #f] [#:guile-for-build #f]
|
||||
Return a derivation that executes Scheme expression @var{exp} as a
|
||||
builder for derivation @var{name}. @var{inputs} must be a list of
|
||||
@code{(name drv-path sub-drv)} tuples; when @var{sub-drv} is omitted,
|
||||
@@ -1251,8 +1288,7 @@ containing one file:
|
||||
(call-with-output-file (string-append out "/test")
|
||||
(lambda (p)
|
||||
(display '(hello guix) p))))))
|
||||
(build-expression->derivation store "goo" (%current-system)
|
||||
builder '()))
|
||||
(build-expression->derivation store "goo" builder))
|
||||
|
||||
@result{} #<derivation /nix/store/@dots{}-goo.drv => @dots{}>
|
||||
@end lisp
|
||||
@@ -1272,6 +1308,144 @@ Packages}). For this reason, Guix modules that are meant to be used in
|
||||
the build stratum are kept in the @code{(guix build @dots{})} name
|
||||
space.
|
||||
|
||||
@node The Store Monad
|
||||
@section The Store Monad
|
||||
|
||||
@cindex monad
|
||||
|
||||
The procedures that operate on the store described in the previous
|
||||
sections all take an open connection to the build daemon as their first
|
||||
argument. Although the underlying model is functional, they either have
|
||||
side effects or depend on the current state of the store.
|
||||
|
||||
The former is inconvenient: the connection to the build daemon has to be
|
||||
carried around in all those functions, making it impossible to compose
|
||||
functions that do not take that parameter with functions that do. The
|
||||
latter can be problematic: since store operations have side effects
|
||||
and/or depend on external state, they have to be properly sequenced.
|
||||
|
||||
@cindex monadic values
|
||||
@cindex monadic functions
|
||||
This is where the @code{(guix monads)} module comes in. This module
|
||||
provides a framework for working with @dfn{monads}, and a particularly
|
||||
useful monad for our uses, the @dfn{store monad}. Monads are a
|
||||
construct that allows two things: associating ``context'' with values
|
||||
(in our case, the context is the store), and building sequences of
|
||||
computations (here computations includes accesses to the store.) Values
|
||||
in a monad---values that carry this additional context---are called
|
||||
@dfn{monadic values}; procedures that return such values are called
|
||||
@dfn{monadic procedures}.
|
||||
|
||||
Consider this ``normal'' procedure:
|
||||
|
||||
@example
|
||||
(define (profile.sh store)
|
||||
;; Return the name of a shell script in the store that
|
||||
;; initializes the 'PATH' environment variable.
|
||||
(let* ((drv (package-derivation store coreutils))
|
||||
(out (derivation->output-path drv)))
|
||||
(add-text-to-store store "profile.sh"
|
||||
(format #f "export PATH=~a/bin" out))))
|
||||
@end example
|
||||
|
||||
Using @code{(guix monads)}, it may be rewritten as a monadic function:
|
||||
|
||||
@example
|
||||
(define (profile.sh)
|
||||
;; Same, but return a monadic value.
|
||||
(mlet %store-monad ((bin (package-file coreutils "bin")))
|
||||
(text-file "profile.sh"
|
||||
(string-append "export PATH=" bin))))
|
||||
@end example
|
||||
|
||||
There are two things to note in the second version: the @code{store}
|
||||
parameter is now implicit, and the monadic value returned by
|
||||
@code{package-file}---a wrapper around @code{package-derivation} and
|
||||
@code{derivation->output-path}---is @dfn{bound} using @code{mlet}
|
||||
instead of plain @code{let}.
|
||||
|
||||
Calling the monadic @code{profile.sh} has no effect. To get the desired
|
||||
effect, one must use @code{run-with-store}:
|
||||
|
||||
@example
|
||||
(run-with-store (open-connection) (profile.sh))
|
||||
@result{} /nix/store/...-profile.sh
|
||||
@end example
|
||||
|
||||
The main syntactic forms to deal with monads in general are described
|
||||
below.
|
||||
|
||||
@deffn {Scheme Syntax} with-monad @var{monad} @var{body} ...
|
||||
Evaluate any @code{>>=} or @code{return} forms in @var{body} as being
|
||||
in @var{monad}.
|
||||
@end deffn
|
||||
|
||||
@deffn {Scheme Syntax} return @var{val}
|
||||
Return a monadic value that encapsulates @var{val}.
|
||||
@end deffn
|
||||
|
||||
@deffn {Scheme Syntax} >>= @var{mval} @var{mproc}
|
||||
@dfn{Bind} monadic value @var{mval}, passing its ``contents'' to monadic
|
||||
procedure @var{mproc}@footnote{This operation is commonly referred to as
|
||||
``bind'', but that name denotes an unrelated procedure in Guile. Thus
|
||||
we use this somewhat cryptic symbol inherited from the Haskell
|
||||
language.}.
|
||||
@end deffn
|
||||
|
||||
@deffn {Scheme Syntax} mlet @var{monad} ((@var{var} @var{mval}) ...) @
|
||||
@var{body} ...
|
||||
@deffnx {Scheme Syntax} mlet* @var{monad} ((@var{var} @var{mval}) ...) @
|
||||
@var{body} ...
|
||||
Bind the variables @var{var} to the monadic values @var{mval} in
|
||||
@var{body}. The form (@var{var} -> @var{val}) binds @var{var} to the
|
||||
``normal'' value @var{val}, as per @code{let}.
|
||||
|
||||
@code{mlet*} is to @code{mlet} what @code{let*} is to @code{let}
|
||||
(@pxref{Local Bindings,,, guile, GNU Guile Reference Manual}).
|
||||
@end deffn
|
||||
|
||||
The interface to the store monad provided by @code{(guix monads)} is as
|
||||
follows.
|
||||
|
||||
@defvr {Scheme Variable} %store-monad
|
||||
The store monad. Values in the store monad encapsulate accesses to the
|
||||
store. When its effect is needed, a value of the store monad must be
|
||||
``evaluated'' by passing it to the @code{run-with-store} procedure (see
|
||||
below.)
|
||||
@end defvr
|
||||
|
||||
@deffn {Scheme Procedure} run-with-store @var{store} @var{mval} [#:guile-for-build] [#:system (%current-system)]
|
||||
Run @var{mval}, a monadic value in the store monad, in @var{store}, an
|
||||
open store connection.
|
||||
@end deffn
|
||||
|
||||
@deffn {Monadic Procedure} text-file @var{name} @var{text}
|
||||
Return as a monadic value the absolute file name in the store of the file
|
||||
containing @var{text}.
|
||||
@end deffn
|
||||
|
||||
@deffn {Monadic Procedure} package-file @var{package} [@var{file}] @
|
||||
[#:system (%current-system)] [#:output "out"] Return as a monadic
|
||||
value in the absolute file name of @var{file} within the @var{output}
|
||||
directory of @var{package}. When @var{file} is omitted, return the name
|
||||
of the @var{output} directory of @var{package}.
|
||||
@end deffn
|
||||
|
||||
@deffn {Monadic Procedure} derivation-expression @var{name} @var{exp} @
|
||||
[#:system (%current-system)] [#:inputs '()] @
|
||||
[#:outputs '("out")] [#:hash #f] @
|
||||
[#:hash-algo #f] [#:env-vars '()] [#:modules '()] @
|
||||
[#:references-graphs #f] [#:guile-for-build #f]
|
||||
Monadic version of @code{build-expression->derivation}
|
||||
(@pxref{Derivations}).
|
||||
@end deffn
|
||||
|
||||
@deffn {Monadic Procedure} package->derivation @var{package} [@var{system}]
|
||||
Monadic version of @code{package-derivation} (@pxref{Defining
|
||||
Packages}).
|
||||
@end deffn
|
||||
|
||||
|
||||
@c *********************************************************************
|
||||
@node Utilities
|
||||
@chapter Utilities
|
||||
@@ -1316,12 +1490,16 @@ The @var{options} may be zero or more of the following:
|
||||
|
||||
@item --expression=@var{expr}
|
||||
@itemx -e @var{expr}
|
||||
Build the package @var{expr} evaluates to.
|
||||
Build the package or derivation @var{expr} evaluates to.
|
||||
|
||||
For example, @var{expr} may be @code{(@@ (gnu packages guile)
|
||||
guile-1.8)}, which unambiguously designates this specific variant of
|
||||
version 1.8 of Guile.
|
||||
|
||||
Alternately, @var{expr} may refer to a zero-argument monadic procedure
|
||||
(@pxref{The Store Monad}). The procedure must return a derivation as a
|
||||
monadic value, which is then passed through @code{run-with-store}.
|
||||
|
||||
@item --source
|
||||
@itemx -S
|
||||
Build the packages' source derivations, rather than the packages
|
||||
@@ -1330,6 +1508,10 @@ themselves.
|
||||
For instance, @code{guix build -S gcc} returns something like
|
||||
@file{/nix/store/@dots{}-gcc-4.7.2.tar.bz2}, which is GCC's source tarball.
|
||||
|
||||
The returned source tarball is the result of applying any patches and
|
||||
code snippets specified in the package's @code{origin} (@pxref{Defining
|
||||
Packages}).
|
||||
|
||||
@item --system=@var{system}
|
||||
@itemx -s @var{system}
|
||||
Attempt to build for @var{system}---e.g., @code{i686-linux}---instead of
|
||||
@@ -1366,7 +1548,8 @@ When substituting a pre-built binary fails, fall back to building
|
||||
packages locally.
|
||||
|
||||
@item --no-substitutes
|
||||
Build instead of resorting to pre-built substitutes.
|
||||
Do not use substitutes for build products. That is, always build things
|
||||
locally instead of allowing downloads of pre-built binaries.
|
||||
|
||||
@item --max-silent-time=@var{seconds}
|
||||
When the build or substitution process remains silent for more than
|
||||
@@ -1387,6 +1570,22 @@ Use the given verbosity level. @var{level} must be an integer between 0
|
||||
and 5; higher means more verbose output. Setting a level of 4 or more
|
||||
may be helpful when debugging setup issues with the build daemon.
|
||||
|
||||
@item --log-file
|
||||
Return the build log file names for the given
|
||||
@var{package-or-derivation}s, or raise an error if build logs are
|
||||
missing.
|
||||
|
||||
This works regardless of how packages or derivations are specified. For
|
||||
instance, the following invocations are equivalent:
|
||||
|
||||
@example
|
||||
guix build --log-file `guix build -d guile`
|
||||
guix build --log-file `guix build guile`
|
||||
guix build --log-file guile
|
||||
guix build --log-file -e '(@@ (gnu packages guile) guile-2.0)'
|
||||
@end example
|
||||
|
||||
|
||||
@end table
|
||||
|
||||
Behind the scenes, @command{guix build} is essentially an interface to
|
||||
@@ -1546,11 +1745,12 @@ for in @code{$PATH}.
|
||||
Guix comes with a distribution of free software@footnote{The term
|
||||
``free'' here refers to the
|
||||
@url{http://www.gnu.org/philosophy/free-sw.html,freedom provided to
|
||||
users of that software}.} that form the basis of the GNU system. This
|
||||
users of that software}.} that forms the basis of the GNU system. This
|
||||
includes core GNU packages such as GNU libc, GCC, and Binutils, as well
|
||||
as many GNU and non-GNU applications. The complete list of available
|
||||
packages can be seen by running @command{guix package} (@pxref{Invoking
|
||||
guix package}):
|
||||
packages can be browsed
|
||||
@url{http://www.gnu.org/software/guix/package-list.html,on-line} or by
|
||||
running @command{guix package} (@pxref{Invoking guix package}):
|
||||
|
||||
@example
|
||||
guix package --list-available
|
||||
@@ -1561,12 +1761,33 @@ Linux-based and other variants of GNU, with a focus on the promotion and
|
||||
tight integration of GNU components, and an emphasis on programs and
|
||||
tools that help users exert that freedom.
|
||||
|
||||
The GNU distribution is currently available on the following platforms:
|
||||
|
||||
@table @code
|
||||
|
||||
@item x86_64-linux
|
||||
Intel/AMD @code{x86_64} architecture, Linux-Libre kernel;
|
||||
|
||||
@item i686-linux
|
||||
Intel 32-bit architecture (IA32), Linux-Libre kernel;
|
||||
|
||||
@item mips64el-linux
|
||||
little-endian 64-bit MIPS processors, specifically the Loongson series,
|
||||
n32 application binary interface (ABI), and Linux-Libre kernel.
|
||||
|
||||
@end table
|
||||
|
||||
@noindent
|
||||
For information on porting to other architectures or kernels,
|
||||
@xref{Porting}.
|
||||
|
||||
@menu
|
||||
* Installing Debugging Files:: Feeding the debugger.
|
||||
* Package Modules:: Packages from the programmer's viewpoint.
|
||||
* Packaging Guidelines:: Growing the distribution.
|
||||
* Bootstrapping:: GNU/Linux built from scratch.
|
||||
* Porting:: Targeting another platform or kernel.
|
||||
* System Configuration:: Configuring a GNU system.
|
||||
@end menu
|
||||
|
||||
Building this distribution is a cooperative effort, and you are invited
|
||||
@@ -1728,6 +1949,14 @@ software distribution guidelines}. Among other things, these guidelines
|
||||
reject non-free firmware, recommendations of non-free software, and
|
||||
discuss ways to deal with trademarks and patents.
|
||||
|
||||
Some packages contain a small and optional subset that violates the
|
||||
above guidelines, for instance because this subset is itself non-free
|
||||
code. When that happens, the offending items are removed with
|
||||
appropriate patches or code snippets in the package definition's
|
||||
@code{origin} form (@pxref{Defining Packages}). That way, @code{guix
|
||||
build --source} returns the ``freed'' source rather than the unmodified
|
||||
upstream source.
|
||||
|
||||
|
||||
@node Package Naming
|
||||
@subsection Package Naming
|
||||
@@ -1962,6 +2191,13 @@ one:
|
||||
guix build --target=armv5tel-linux-gnueabi bootstrap-tarballs
|
||||
@end example
|
||||
|
||||
Once these are built, the @code{(gnu packages bootstrap)} module needs
|
||||
to be updated to refer to these binaries on the target platform. In
|
||||
addition, the @code{glibc-dynamic-linker} procedure in that module must
|
||||
be augmented to return the right file name for libc's dynamic linker on
|
||||
that platform; likewise, @code{system->linux-architecture} in @code{(gnu
|
||||
packages linux)} must be taught about the new platform.
|
||||
|
||||
In practice, there may be some complications. First, it may be that the
|
||||
extended GNU triplet that specifies an ABI (like the @code{eabi} suffix
|
||||
above) is not recognized by all the GNU tools. Typically, glibc
|
||||
@@ -1972,6 +2208,186 @@ platform. Lastly, the generated binaries could be broken for some
|
||||
reason.
|
||||
|
||||
|
||||
@node System Configuration
|
||||
@section System Configuration
|
||||
|
||||
@emph{This section documents work-in-progress. As such it may be
|
||||
incomplete, outdated, or open to discussions. Please discuss it on
|
||||
@email{guix-devel@@gnu.org}.}
|
||||
|
||||
@cindex system configuration
|
||||
The GNU system supports a consistent whole-system configuration
|
||||
mechanism. By that we mean that all aspects of the global system
|
||||
configuration---such as the available system services, timezone and
|
||||
locale settings, user accounts---are declared in a single place. Such
|
||||
a @dfn{system configuration} can be @dfn{instantiated}---i.e., effected.
|
||||
|
||||
One of the advantages of putting all the system configuration under the
|
||||
control of Guix is that it supports transactional system upgrades, and
|
||||
makes it possible to roll-back to a previous system instantiation,
|
||||
should something go wrong with the new one (@pxref{Features}). Another
|
||||
one is that it makes it easy to replicate the exact same configuration
|
||||
across different machines, or at different points in time, without
|
||||
having to resort to additional administration tools layered on top of
|
||||
the system's own tools.
|
||||
@c Yes, we're talking of Puppet, Chef, & co. here. ↑
|
||||
|
||||
This section describes this mechanism. First we focus on the system
|
||||
administrator's viewpoint---explaining how the system is configured and
|
||||
instantiated. Then we show how this mechanism can be extended, for
|
||||
instance to support new system services.
|
||||
|
||||
@menu
|
||||
* Using the Configuration System:: Customizing your GNU system.
|
||||
* Defining Services:: Adding new service definitions.
|
||||
@end menu
|
||||
|
||||
@node Using the Configuration System
|
||||
@subsection Using the Configuration System
|
||||
|
||||
The operating system is configured by filling in an
|
||||
@code{operating-system} structure, as defined by the @code{(gnu system)}
|
||||
module. A simple setup, with the default system services, the default
|
||||
Linux-Libre kernel, initial RAM disk, and boot loader looks like this:
|
||||
|
||||
@findex operating-system
|
||||
@lisp
|
||||
(use-modules (gnu system)
|
||||
(gnu system shadow) ; for 'user-account'
|
||||
(gnu system service) ; for 'lsh-service'
|
||||
(gnu packages base) ; Coreutils, grep, etc.
|
||||
(gnu packages bash) ; Bash
|
||||
(gnu packages system) ; dmd, Inetutils
|
||||
(gnu packages zile) ; Zile
|
||||
(gnu packages less) ; less
|
||||
(gnu packages guile) ; Guile
|
||||
(gnu packages linux)) ; procps, psmisc
|
||||
|
||||
(define komputilo
|
||||
(operating-system
|
||||
(host-name "komputilo")
|
||||
(timezone "Europe/Paris")
|
||||
(locale "fr_FR.UTF-8")
|
||||
(users (list (user-account
|
||||
(name "alice")
|
||||
(password "")
|
||||
(uid 1000) (gid 100)
|
||||
(comment "Bob's sister")
|
||||
(home-directory "/home/alice"))))
|
||||
(packages (list coreutils bash guile-2.0
|
||||
guix dmd
|
||||
inetutils
|
||||
findutils grep sed
|
||||
procps psmisc
|
||||
zile less))
|
||||
(services (cons (lsh-service #:port 2222 #:allow-root-login? #t)
|
||||
%standard-services))))
|
||||
@end lisp
|
||||
|
||||
This example should be self-describing. The @code{packages} field lists
|
||||
packages provided by the various @code{(gnu packages ...)} modules above
|
||||
(@pxref{Package Modules}). These are the packages that will be globally
|
||||
visible on the system, for all user accounts---i.e., in every user's
|
||||
@code{PATH} environment variable---in addition to the per-user profiles
|
||||
(@pxref{Invoking guix package}).
|
||||
|
||||
The @code{services} field lists @dfn{system services} to be made
|
||||
available when the system starts. The @var{%standard-services} list,
|
||||
from the @code{(gnu system)} module, provides the basic services one
|
||||
would expect from a GNU system: a login service (mingetty) on each tty,
|
||||
syslogd, libc's name service cache daemon (nscd), etc.
|
||||
|
||||
The @code{operating-system} declaration above specifies that, in
|
||||
addition to those services, we want the @command{lshd} secure shell
|
||||
daemon listening on port 2222, and allowing remote @code{root} logins
|
||||
(@pxref{Invoking lshd,,, lsh, GNU lsh Manual}). Under the hood,
|
||||
@code{lsh-service} arranges so that @code{lshd} is started with the
|
||||
right command-line options, possibly with supporting configuration files
|
||||
generated as needed (@pxref{Defining Services}).
|
||||
|
||||
@c TODO: update when that command exists
|
||||
Assuming the above snippet is stored in the @file{my-system-config.scm}
|
||||
file, the (yet unwritten!) @command{guix system --boot
|
||||
my-system-config.scm} command instantiates that configuration, and makes
|
||||
it the default GRUB boot entry. The normal way to change the system's
|
||||
configuration is by updating this file and re-running the @command{guix
|
||||
system} command.
|
||||
|
||||
At the Scheme level, the bulk of an @code{operating-system} declaration
|
||||
is instantiated with the following monadic procedure (@pxref{The Store
|
||||
Monad}):
|
||||
|
||||
@deffn {Monadic Procedure} operating-system-derivation os
|
||||
Return a derivation that builds @var{os}, an @code{operating-system}
|
||||
object (@pxref{Derivations}).
|
||||
|
||||
The output of the derivation is a single directory that refers to all
|
||||
the packages, configuration files, and other supporting files needed to
|
||||
instantiate @var{os}.
|
||||
@end deffn
|
||||
|
||||
|
||||
@node Defining Services
|
||||
@subsection Defining Services
|
||||
|
||||
The @code{(gnu system dmd)} module defines several procedures that allow
|
||||
users to declare the operating system's services (@pxref{Using the
|
||||
Configuration System}). These procedures are @emph{monadic
|
||||
procedures}---i.e., procedures that return a monadic value in the store
|
||||
monad (@pxref{The Store Monad}). Examples of such procedures include:
|
||||
|
||||
@table @code
|
||||
@item mingetty-service
|
||||
return the definition of a service that runs @command{mingetty} to
|
||||
offer a login service on the given console tty;
|
||||
|
||||
@item nscd-service
|
||||
return a definition for libc's name service cache daemon (nscd);
|
||||
|
||||
@item guix-service
|
||||
return a definition for a service that runs @command{guix-daemon}
|
||||
(@pxref{Invoking guix-daemon}).
|
||||
@end table
|
||||
|
||||
@cindex service definition
|
||||
The monadic value returned by those procedures is a @dfn{service
|
||||
definition}---a structure as returned by the @code{service} form.
|
||||
Service definitions specifies the inputs the service depends on, and an
|
||||
expression to start and stop the service. Behind the scenes, service
|
||||
definitions are ``translated'' into the form suitable for the
|
||||
configuration file of dmd, the init system (@pxref{Services,,, dmd, GNU
|
||||
dmd Manual}).
|
||||
|
||||
As an example, here is what the @code{nscd-service} procedure looks
|
||||
like:
|
||||
|
||||
@lisp
|
||||
(define (nscd-service)
|
||||
(mlet %store-monad ((nscd (package-file glibc "sbin/nscd")))
|
||||
(return (service
|
||||
(documentation "Run libc's name service cache daemon.")
|
||||
(provision '(nscd))
|
||||
(start `(make-forkexec-constructor ,nscd "-f" "/dev/null"
|
||||
"--foreground"))
|
||||
(stop `(make-kill-destructor))
|
||||
|
||||
(respawn? #f)
|
||||
(inputs `(("glibc" ,glibc)))))))
|
||||
@end lisp
|
||||
|
||||
@noindent
|
||||
The @code{inputs} field specifies that this service depends on the
|
||||
@var{glibc} package---the package that contains the @command{nscd}
|
||||
program. The @code{start} and @code{stop} fields are expressions that
|
||||
make use of dmd's facilities to start and stop processes (@pxref{Service
|
||||
De- and Constructors,,, dmd, GNU dmd Manual}). The @code{provision}
|
||||
field specifies the name under which this service is known to dmd, and
|
||||
@code{documentation} specifies on-line documentation. Thus, the
|
||||
commands @command{deco start ncsd}, @command{deco stop nscd}, and
|
||||
@command{deco doc nscd} will do what you would expect (@pxref{Invoking
|
||||
deco,,, dmd, GNU dmd Manual}).
|
||||
|
||||
|
||||
@c *********************************************************************
|
||||
@node Contributing
|
||||
@chapter Contributing
|
||||
|
||||
+68
-9
@@ -1,6 +1,7 @@
|
||||
# GNU Guix --- Functional package management for GNU
|
||||
# Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org>
|
||||
# Copyright © 2013 Andreas Enge <andreas@enge.fr>
|
||||
# Copyright © 2013 Mark H Weaver <mhw@netris.org>
|
||||
#
|
||||
# This file is part of GNU Guix.
|
||||
#
|
||||
@@ -22,11 +23,14 @@
|
||||
|
||||
GNU_SYSTEM_MODULES = \
|
||||
gnu/packages.scm \
|
||||
gnu/packages/acct.scm \
|
||||
gnu/packages/acl.scm \
|
||||
gnu/packages/algebra.scm \
|
||||
gnu/packages/apl.scm \
|
||||
gnu/packages/apr.scm \
|
||||
gnu/packages/aspell.scm \
|
||||
gnu/packages/attr.scm \
|
||||
gnu/packages/autogen.scm \
|
||||
gnu/packages/autotools.scm \
|
||||
gnu/packages/avahi.scm \
|
||||
gnu/packages/base.scm \
|
||||
@@ -40,6 +44,7 @@ GNU_SYSTEM_MODULES = \
|
||||
gnu/packages/check.scm \
|
||||
gnu/packages/cmake.scm \
|
||||
gnu/packages/compression.scm \
|
||||
gnu/packages/complexity.scm \
|
||||
gnu/packages/cpio.scm \
|
||||
gnu/packages/cppi.scm \
|
||||
gnu/packages/cross-base.scm \
|
||||
@@ -67,12 +72,15 @@ GNU_SYSTEM_MODULES = \
|
||||
gnu/packages/gettext.scm \
|
||||
gnu/packages/ghostscript.scm \
|
||||
gnu/packages/gkrellm.scm \
|
||||
gnu/packages/gl.scm \
|
||||
gnu/packages/glib.scm \
|
||||
gnu/packages/global.scm \
|
||||
gnu/packages/gnome.scm \
|
||||
gnu/packages/gnunet.scm \
|
||||
gnu/packages/gnupg.scm \
|
||||
gnu/packages/gnutls.scm \
|
||||
gnu/packages/gnuzilla.scm \
|
||||
gnu/packages/gnu-pw-mgr.scm \
|
||||
gnu/packages/gperf.scm \
|
||||
gnu/packages/gprolog.scm \
|
||||
gnu/packages/graphviz.scm \
|
||||
@@ -83,6 +91,7 @@ GNU_SYSTEM_MODULES = \
|
||||
gnu/packages/gstreamer.scm \
|
||||
gnu/packages/gtk.scm \
|
||||
gnu/packages/guile.scm \
|
||||
gnu/packages/guile-wm.scm \
|
||||
gnu/packages/gv.scm \
|
||||
gnu/packages/help2man.scm \
|
||||
gnu/packages/hugs.scm \
|
||||
@@ -91,9 +100,11 @@ GNU_SYSTEM_MODULES = \
|
||||
gnu/packages/imagemagick.scm \
|
||||
gnu/packages/indent.scm \
|
||||
gnu/packages/irssi.scm \
|
||||
gnu/packages/kde.scm \
|
||||
gnu/packages/ld-wrapper.scm \
|
||||
gnu/packages/less.scm \
|
||||
gnu/packages/lesstif.scm \
|
||||
gnu/packages/libcanberra.scm \
|
||||
gnu/packages/libdaemon.scm \
|
||||
gnu/packages/libevent.scm \
|
||||
gnu/packages/libffi.scm \
|
||||
@@ -121,6 +132,7 @@ GNU_SYSTEM_MODULES = \
|
||||
gnu/packages/mit-krb5.scm \
|
||||
gnu/packages/mp3.scm \
|
||||
gnu/packages/multiprecision.scm \
|
||||
gnu/packages/mtools.scm \
|
||||
gnu/packages/mysql.scm \
|
||||
gnu/packages/nano.scm \
|
||||
gnu/packages/ncurses.scm \
|
||||
@@ -133,18 +145,23 @@ GNU_SYSTEM_MODULES = \
|
||||
gnu/packages/openldap.scm \
|
||||
gnu/packages/openssl.scm \
|
||||
gnu/packages/package-management.scm \
|
||||
gnu/packages/parallel.scm \
|
||||
gnu/packages/parted.scm \
|
||||
gnu/packages/patchelf.scm \
|
||||
gnu/packages/pcre.scm \
|
||||
gnu/packages/pdf.scm \
|
||||
gnu/packages/pem.scm \
|
||||
gnu/packages/perl.scm \
|
||||
gnu/packages/pkg-config.scm \
|
||||
gnu/packages/plotutils.scm \
|
||||
gnu/packages/popt.scm \
|
||||
gnu/packages/pth.scm \
|
||||
gnu/packages/pulseaudio.scm \
|
||||
gnu/packages/python.scm \
|
||||
gnu/packages/qemu.scm \
|
||||
gnu/packages/qt.scm \
|
||||
gnu/packages/ratpoison.scm \
|
||||
gnu/packages/rdf.scm \
|
||||
gnu/packages/readline.scm \
|
||||
gnu/packages/recutils.scm \
|
||||
gnu/packages/rsync.scm \
|
||||
@@ -152,10 +169,15 @@ GNU_SYSTEM_MODULES = \
|
||||
gnu/packages/samba.scm \
|
||||
gnu/packages/scheme.scm \
|
||||
gnu/packages/screen.scm \
|
||||
gnu/packages/sdl.scm \
|
||||
gnu/packages/serveez.scm \
|
||||
gnu/packages/shishi.scm \
|
||||
gnu/packages/skribilo.scm \
|
||||
gnu/packages/slim.scm \
|
||||
gnu/packages/smalltalk.scm \
|
||||
gnu/packages/sqlite.scm \
|
||||
gnu/packages/ssh.scm \
|
||||
gnu/packages/swig.scm \
|
||||
gnu/packages/system.scm \
|
||||
gnu/packages/tcl.scm \
|
||||
gnu/packages/tcsh.scm \
|
||||
@@ -167,10 +189,12 @@ GNU_SYSTEM_MODULES = \
|
||||
gnu/packages/unrtf.scm \
|
||||
gnu/packages/valgrind.scm \
|
||||
gnu/packages/version-control.scm \
|
||||
gnu/packages/video.scm \
|
||||
gnu/packages/vim.scm \
|
||||
gnu/packages/vpn.scm \
|
||||
gnu/packages/w3m.scm \
|
||||
gnu/packages/wdiff.scm \
|
||||
gnu/packages/web.scm \
|
||||
gnu/packages/wget.scm \
|
||||
gnu/packages/which.scm \
|
||||
gnu/packages/wordnet.scm \
|
||||
@@ -182,6 +206,7 @@ GNU_SYSTEM_MODULES = \
|
||||
gnu/packages/zile.scm \
|
||||
gnu/packages/zip.scm \
|
||||
\
|
||||
gnu/system.scm \
|
||||
gnu/system/dmd.scm \
|
||||
gnu/system/grub.scm \
|
||||
gnu/system/linux.scm \
|
||||
@@ -190,59 +215,81 @@ GNU_SYSTEM_MODULES = \
|
||||
|
||||
patchdir = $(guilemoduledir)/gnu/packages/patches
|
||||
dist_patch_DATA = \
|
||||
gnu/packages/patches/alsa-lib-mips-atomic-fix.patch \
|
||||
gnu/packages/patches/apr-skip-getservbyname-test.patch \
|
||||
gnu/packages/patches/automake-skip-amhello-tests.patch \
|
||||
gnu/packages/patches/avahi-localstatedir.patch \
|
||||
gnu/packages/patches/bigloo-gc-shebangs.patch \
|
||||
gnu/packages/patches/binutils-ld-new-dtags.patch \
|
||||
gnu/packages/patches/binutils-loongson-madd-fix.patch \
|
||||
gnu/packages/patches/binutils-loongson-workaround.patch \
|
||||
gnu/packages/patches/cdparanoia-fpic.patch \
|
||||
gnu/packages/patches/cmake-fix-tests.patch \
|
||||
gnu/packages/patches/cpio-gets-undeclared.patch \
|
||||
gnu/packages/patches/dbus-localstatedir.patch \
|
||||
gnu/packages/patches/diffutils-gets-undeclared.patch \
|
||||
gnu/packages/patches/dmd-getpw.patch \
|
||||
gnu/packages/patches/emacs-configure-sh.patch \
|
||||
gnu/packages/patches/ffmpeg-check.patch \
|
||||
gnu/packages/patches/findutils-absolute-paths.patch \
|
||||
gnu/packages/patches/flac-fix-memcmp-not-declared.patch \
|
||||
gnu/packages/patches/flex-bison-tests.patch \
|
||||
gnu/packages/patches/gawk-shell.patch \
|
||||
gnu/packages/patches/gcc-cross-environment-variables.patch \
|
||||
gnu/packages/patches/gd-mips64-deplibs-fix.patch \
|
||||
gnu/packages/patches/gdb-loongson-madd-fix.patch \
|
||||
gnu/packages/patches/glib-tests-desktop.patch \
|
||||
gnu/packages/patches/glib-tests-homedir.patch \
|
||||
gnu/packages/patches/glib-tests-newnet.patch \
|
||||
gnu/packages/patches/glib-tests-prlimit.patch \
|
||||
gnu/packages/patches/glibc-bootstrap-system.patch \
|
||||
gnu/packages/patches/glibc-ldd-x86_64.patch \
|
||||
gnu/packages/patches/glibc-no-ld-so-cache.patch \
|
||||
gnu/packages/patches/glibc-make-4.0.patch \
|
||||
gnu/packages/patches/grub-gets-undeclared.patch \
|
||||
gnu/packages/patches/gstreamer-0.10-bison3.patch \
|
||||
gnu/packages/patches/gstreamer-0.10-silly-test.patch \
|
||||
gnu/packages/patches/guile-1.8-cpp-4.5.patch \
|
||||
gnu/packages/patches/guile-default-utf8.patch \
|
||||
gnu/packages/patches/guile-linux-syscalls.patch \
|
||||
gnu/packages/patches/guile-relocatable.patch \
|
||||
gnu/packages/patches/hop-bigloo-4.0b.patch \
|
||||
gnu/packages/patches/libevent-dns-tests.patch \
|
||||
gnu/packages/patches/libffi-mips-n32-fix.patch \
|
||||
gnu/packages/patches/liboop-mips64-deplibs-fix.patch \
|
||||
gnu/packages/patches/libmad-mips-newgcc.patch \
|
||||
gnu/packages/patches/libtheora-config-guess.patch \
|
||||
gnu/packages/patches/libtool-skip-tests.patch \
|
||||
gnu/packages/patches/libtool-skip-tests-for-mips.patch \
|
||||
gnu/packages/patches/luit-posix.patch \
|
||||
gnu/packages/patches/m4-gets-undeclared.patch \
|
||||
gnu/packages/patches/m4-readlink-EINVAL.patch \
|
||||
gnu/packages/patches/make-impure-dirs.patch \
|
||||
gnu/packages/patches/mcron-install.patch \
|
||||
gnu/packages/patches/mit-krb5-init-fix.patch \
|
||||
gnu/packages/patches/perl-no-sys-dirs.patch \
|
||||
gnu/packages/patches/plotutils-libpng-jmpbuf.patch \
|
||||
gnu/packages/patches/procps-make-3.82.patch \
|
||||
gnu/packages/patches/pspp-tests.patch \
|
||||
gnu/packages/patches/pulseaudio-test-timeouts.patch \
|
||||
gnu/packages/patches/python-fix-dbm.patch \
|
||||
gnu/packages/patches/qemu-make-4.0.patch \
|
||||
gnu/packages/patches/qemu-multiple-smb-shares.patch \
|
||||
gnu/packages/patches/qt4-tests.patch \
|
||||
gnu/packages/patches/readline-link-ncurses.patch \
|
||||
gnu/packages/patches/ripperx-libm.patch \
|
||||
gnu/packages/patches/scheme48-tests.patch \
|
||||
gnu/packages/patches/tar-gets-undeclared.patch \
|
||||
gnu/packages/patches/tcsh-fix-autotest.patch \
|
||||
gnu/packages/patches/teckit-cstdio.patch \
|
||||
gnu/packages/patches/valgrind-glibc.patch \
|
||||
gnu/packages/patches/vpnc-script.patch \
|
||||
gnu/packages/patches/w3m-fix-compile.patch \
|
||||
gnu/packages/patches/xmodmap-asprintf.patch \
|
||||
gnu/packages/patches/xpdf-constchar.patch
|
||||
|
||||
bootstrapdir = $(guilemoduledir)/gnu/packages/bootstrap
|
||||
bootstrap_x86_64_linuxdir = $(bootstrapdir)/x86_64-linux
|
||||
bootstrap_i686_linuxdir = $(bootstrapdir)/i686-linux
|
||||
bootstrap_mips64el_linuxdir = $(bootstrapdir)/mips64el-linux
|
||||
|
||||
dist_bootstrap_x86_64_linux_DATA = \
|
||||
gnu/packages/bootstrap/x86_64-linux/bash \
|
||||
@@ -256,12 +303,20 @@ dist_bootstrap_i686_linux_DATA = \
|
||||
gnu/packages/bootstrap/i686-linux/tar \
|
||||
gnu/packages/bootstrap/i686-linux/xz
|
||||
|
||||
dist_bootstrap_mips64el_linux_DATA = \
|
||||
gnu/packages/bootstrap/mips64el-linux/bash \
|
||||
gnu/packages/bootstrap/mips64el-linux/mkdir \
|
||||
gnu/packages/bootstrap/mips64el-linux/tar \
|
||||
gnu/packages/bootstrap/mips64el-linux/xz
|
||||
|
||||
# Big bootstrap binaries are not included in the tarball. Instead, they
|
||||
# are downloaded.
|
||||
nodist_bootstrap_x86_64_linux_DATA = \
|
||||
gnu/packages/bootstrap/x86_64-linux/guile-2.0.7.tar.xz
|
||||
gnu/packages/bootstrap/x86_64-linux/guile-2.0.9.tar.xz
|
||||
nodist_bootstrap_i686_linux_DATA = \
|
||||
gnu/packages/bootstrap/i686-linux/guile-2.0.7.tar.xz
|
||||
gnu/packages/bootstrap/i686-linux/guile-2.0.9.tar.xz
|
||||
nodist_bootstrap_mips64el_linux_DATA = \
|
||||
gnu/packages/bootstrap/mips64el-linux/guile-2.0.9.tar.xz
|
||||
|
||||
# Those files must remain executable, so they remain executable once
|
||||
# imported into the store.
|
||||
@@ -270,7 +325,8 @@ install-data-hook:
|
||||
|
||||
DISTCLEANFILES = \
|
||||
$(nodist_bootstrap_x86_64_linux_DATA) \
|
||||
$(nodist_bootstrap_i686_linux_DATA)
|
||||
$(nodist_bootstrap_i686_linux_DATA) \
|
||||
$(nodist_bootstrap_mips64el_linux_DATA)
|
||||
|
||||
# Method to download a file from an external source.
|
||||
DOWNLOAD_FILE = \
|
||||
@@ -278,9 +334,12 @@ DOWNLOAD_FILE = \
|
||||
$(GUILE) --no-auto-compile -L "$(top_builddir)" -L "$(top_srcdir)" \
|
||||
"$(top_srcdir)/build-aux/download.scm"
|
||||
|
||||
gnu/packages/bootstrap/x86_64-linux/guile-2.0.7.tar.xz:
|
||||
gnu/packages/bootstrap/x86_64-linux/guile-2.0.9.tar.xz:
|
||||
$(MKDIR_P) `dirname "$@"`
|
||||
$(DOWNLOAD_FILE) "$@" "bc43210dcd146d242bef4d354b0aeac12c4ef3118c07502d17ffa8d49e15aa2c"
|
||||
gnu/packages/bootstrap/i686-linux/guile-2.0.7.tar.xz:
|
||||
$(DOWNLOAD_FILE) "$@" "037b103522a2d0d7d69c7ffd8de683dfe5bb4b59c1fafd70b4ffd397fd2f57f0"
|
||||
gnu/packages/bootstrap/i686-linux/guile-2.0.9.tar.xz:
|
||||
$(MKDIR_P) `dirname "$@"`
|
||||
$(DOWNLOAD_FILE) "$@" "f9a7c6f4c556eaafa2a69bcf07d4ffbb6682ea831d4c9da9ba095aca3ccd217c"
|
||||
$(DOWNLOAD_FILE) "$@" "b757cd46bf13ecac83fb8e955fb50096ac2d17bb610ca8eb816f29302a00a846"
|
||||
gnu/packages/bootstrap/mips64el-linux/guile-2.0.9.tar.xz:
|
||||
$(MKDIR_P) `dirname "$@"`
|
||||
$(DOWNLOAD_FILE) "$@" "994680f0001346864aa2c2cc5110f380ee7518dcd701c614291682b8e948f73b"
|
||||
|
||||
@@ -0,0 +1,44 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
|
||||
;;;
|
||||
;;; 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 acct)
|
||||
#:use-module (guix licenses)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix build-system gnu))
|
||||
|
||||
(define-public acct
|
||||
(package
|
||||
(name "acct")
|
||||
(version "6.6.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/acct/acct-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1jzz601cavml7894fjalw661gz28ia35002inw990agr3rhiaiam"))))
|
||||
(build-system gnu-build-system)
|
||||
(home-page "https://gnu.org/software/acct/")
|
||||
(synopsis "Standard login and process accounting utilities")
|
||||
(description
|
||||
"GNU acct provides a means for system administrators to determine
|
||||
system usage patterns. It provides information on, for example, connections,
|
||||
programs executed, and system resources used.")
|
||||
(license gpl3+)))
|
||||
@@ -20,8 +20,7 @@
|
||||
#:use-module (guix licenses)
|
||||
#:use-module (gnu packages attr)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module ((gnu packages gettext)
|
||||
#:renamer (symbol-prefix-proc 'guix:))
|
||||
#:use-module (gnu packages gettext)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix build-system gnu))
|
||||
@@ -62,7 +61,7 @@
|
||||
'()
|
||||
`(("perl" ,perl)))))
|
||||
(native-inputs
|
||||
`(("gettext" ,guix:gettext)))
|
||||
`(("gettext" ,gnu-gettext)))
|
||||
|
||||
(home-page
|
||||
"http://savannah.nongnu.org/projects/acl")
|
||||
|
||||
+71
-11
@@ -81,14 +81,14 @@ solve the shortest vector problem.")
|
||||
(define-public pari-gp
|
||||
(package
|
||||
(name "pari-gp")
|
||||
(version "2.5.4")
|
||||
(version "2.5.5")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"http://pari.math.u-bordeaux.fr/pub/pari/unix/pari-"
|
||||
version ".tar.gz"))
|
||||
(sha256 (base32
|
||||
"0gpsj5n8d1gyl7nq2y915sscs3d334ryrv8qgjdwqf3cr95f2dwz"))))
|
||||
"058nw1fhggy7idii4f124ami521lv3izvngs9idfz964aks8cvvn"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs `(("gmp" ,gmp)
|
||||
("perl" ,perl)
|
||||
@@ -125,6 +125,38 @@ PARI is also available as a C library to allow for faster computations.")
|
||||
(license gpl2+)
|
||||
(home-page "http://pari.math.u-bordeaux.fr/")))
|
||||
|
||||
(define-public gp2c
|
||||
(package
|
||||
(name "gp2c")
|
||||
(version "0.0.8")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"http://pari.math.u-bordeaux.fr/pub/pari/GP2C/gp2c-"
|
||||
version ".tar.gz"))
|
||||
(sha256 (base32
|
||||
"03fgiwy2si264g3zfgw2yi6i2l8szl5m106zgwk77sddshk20b34"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs `(("pari-gp" ,pari-gp)))
|
||||
(arguments
|
||||
'(#:configure-flags
|
||||
(list (string-append "--with-paricfg="
|
||||
(assoc-ref %build-inputs "pari-gp")
|
||||
"/lib/pari/pari.cfg"))))
|
||||
(synopsis "PARI/GP, a computer algebra system for number theory")
|
||||
(description
|
||||
"PARI/GP is a widely used computer algebra system designed for fast
|
||||
computations in number theory (factorisations, algebraic number theory,
|
||||
elliptic curves...), but it also contains a large number of other useful
|
||||
functions to compute with mathematical entities such as matrices,
|
||||
polynomials, power series, algebraic numbers, etc., and a lot of
|
||||
transcendental functions.
|
||||
PARI is also available as a C library to allow for faster computations.
|
||||
|
||||
GP2C, the GP to C compiler, translates GP scripts to PARI programs.")
|
||||
(license gpl2)
|
||||
(home-page "http://pari.math.u-bordeaux.fr/")))
|
||||
|
||||
(define-public bc
|
||||
(package
|
||||
(name "bc")
|
||||
@@ -153,14 +185,42 @@ PARI is also available as a C library to allow for faster computations.")
|
||||
(home-page "http://www.gnu.org/software/bc/")
|
||||
(synopsis "Arbitrary precision numeric processing language")
|
||||
(description
|
||||
"bc is an arbitrary precision numeric processing language. Syntax
|
||||
is similar to C, but differs in many substantial areas. It supports
|
||||
interactive execution of statements. bc is a utility included in the
|
||||
POSIX P1003.2/D11 draft standard.
|
||||
"bc is an arbitrary precision numeric processing language. It includes
|
||||
an interactive environment for evaluating mathematical statements. Its
|
||||
syntax is similar to that of C, so basic usage is familiar. It also includes
|
||||
\"dc\", a reverse-polish calculator.")
|
||||
(license gpl2+)))
|
||||
|
||||
Since the POSIX document does not specify how bc must be implemented,
|
||||
this version does not use the historical method of having bc be a
|
||||
compiler for the dc calculator. This version has a single executable
|
||||
that both compiles the language and runs the resulting `byte code'. The
|
||||
byte code is not the dc language.")
|
||||
(define-public fftw
|
||||
(package
|
||||
(name "fftw")
|
||||
(version "3.3.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "ftp://ftp.fftw.org/pub/fftw/fftw-"
|
||||
version".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1wwp9b2va7vkq3ay7a9jk22nr4x5q6m37rzqy2j8y3d11c5grkc5"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:configure-flags '("--enable-shared" "--enable-openmp")
|
||||
#:phases (alist-cons-before
|
||||
'build 'no-native
|
||||
(lambda _
|
||||
;; By default '-mtune=native' is used. However, that may
|
||||
;; cause the use of ISA extensions (SSE2, etc.) that are
|
||||
;; not necessarily available on the user's machine when
|
||||
;; that package is built on a different machine.
|
||||
(substitute* (find-files "." "Makefile$")
|
||||
(("-mtune=native") "")))
|
||||
%standard-phases)))
|
||||
(native-inputs `(("perl" ,perl)))
|
||||
(home-page "http://fftw.org")
|
||||
(synopsis "Computing the discrete Fourier transform")
|
||||
(description
|
||||
"FFTW is a C subroutine library for computing the discrete Fourier
|
||||
transform (DFT) in one or more dimensions, of arbitrary input size, and of
|
||||
both real and complex data (as well as of even/odd data---i.e. the discrete
|
||||
cosine/ sine transforms or DCT/DST).")
|
||||
(license gpl2+)))
|
||||
|
||||
@@ -0,0 +1,49 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
|
||||
;;;
|
||||
;;; 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 apl)
|
||||
#:use-module (guix licenses)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (gnu packages gettext)
|
||||
#:use-module (gnu packages maths)
|
||||
#:use-module (gnu packages readline))
|
||||
|
||||
(define-public apl
|
||||
(package
|
||||
(name "apl")
|
||||
(version "1.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/apl/apl-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1myinxa0m3y4fanpxflfakfk3m1s8641wdlbwbs0vg5yp10xm0m3"))))
|
||||
(build-system gnu-build-system)
|
||||
(home-page "http://www.gnu.org/software/apl/")
|
||||
(inputs
|
||||
`(("gettext" ,gnu-gettext)
|
||||
("lapack" ,lapack)
|
||||
("readline" ,readline)))
|
||||
(synopsis "APL interpreter")
|
||||
(description
|
||||
"GNU APL is a free interpreter for the programming language APL. It is
|
||||
an implementation of the ISO standard 13751.")
|
||||
(license gpl3+)))
|
||||
@@ -35,16 +35,13 @@
|
||||
version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"0884csfk3f530yscak0jlr6w929s3ys0n7fpwdg3dii1sgwd5f31"))))
|
||||
"0884csfk3f530yscak0jlr6w929s3ys0n7fpwdg3dii1sgwd5f31"))
|
||||
(patches
|
||||
(list (search-patch "apr-skip-getservbyname-test.patch")))
|
||||
(patch-flags '("-p0"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:patches (list (assoc-ref %build-inputs
|
||||
"patch/skip-test"))
|
||||
#:patch-flags '("-p0")))
|
||||
(inputs `(("perl" ,perl)
|
||||
("libtool" ,libtool)
|
||||
("patch/skip-test"
|
||||
,(search-patch "apr-skip-getservbyname-test.patch"))))
|
||||
("libtool" ,libtool)))
|
||||
(home-page "http://apr.apache.org/")
|
||||
(synopsis "The Apache Portable Runtime Library")
|
||||
(description
|
||||
|
||||
+4
-10
@@ -40,14 +40,8 @@
|
||||
(home-page "http://aspell.net/")
|
||||
(synopsis "Spell checker")
|
||||
(description
|
||||
"GNU Aspell is a free spell checker designed to eventually replace
|
||||
Ispell. It can either be used as a library or as an independent spell
|
||||
checker. Its main feature is that it does a superior job of suggesting
|
||||
possible replacements for a misspelled word than just about any other
|
||||
spell checker out there for the English language. Unlike Ispell, Aspell
|
||||
can also easily check documents in UTF-8 without having to use a special
|
||||
dictionary. Aspell will also do its best to respect the current locale
|
||||
setting. Other advantages over Ispell include support for using
|
||||
multiple dictionaries at once and intelligently handling personal
|
||||
dictionaries when more than one Aspell process is open at once.")
|
||||
"Aspell is a spell-checker which can be used either as a library or as
|
||||
a standalone program. Notable features of Aspell include its full support of
|
||||
documents written in the UTF-8 encoding and its ability to use multiple
|
||||
dictionaries, including personal ones.")
|
||||
(license lgpl2.1+)))
|
||||
|
||||
@@ -20,8 +20,7 @@
|
||||
(define-module (gnu packages attr)
|
||||
#:use-module (guix licenses)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module ((gnu packages gettext)
|
||||
#:renamer (symbol-prefix-proc 'guix:))
|
||||
#:use-module (gnu packages gettext)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix build-system gnu))
|
||||
@@ -75,7 +74,7 @@
|
||||
'()
|
||||
`(("perl" ,perl))))
|
||||
(native-inputs
|
||||
`(("gettext" ,guix:gettext)))
|
||||
`(("gettext" ,gnu-gettext)))
|
||||
|
||||
(home-page "http://savannah.nongnu.org/projects/attr/")
|
||||
(synopsis "Library and tools for manipulating extended attributes")
|
||||
|
||||
@@ -0,0 +1,63 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2013 Eric Bavier <bavier@member.fsf.org>
|
||||
;;;
|
||||
;;; 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 autogen)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix licenses)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages which)
|
||||
#:use-module (gnu packages guile))
|
||||
|
||||
(define-public autogen
|
||||
(package
|
||||
(name "autogen")
|
||||
(version "5.18.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/autogen/rel"
|
||||
version "/autogen-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0s2021bwpq6h199cbbranz96hhm5s7v66lc68h8v198vqbg049yc"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs `(("which" ,which)
|
||||
("guile" ,guile-2.0)))
|
||||
(arguments
|
||||
'(#:phases (alist-cons-before
|
||||
'patch-source-shebangs 'patch-test-scripts
|
||||
(lambda _
|
||||
(let ((sh (which "sh")))
|
||||
(substitute*
|
||||
(append (find-files "agen5/test" "\\.test$")
|
||||
(find-files "autoopts/test" "\\.(test|in)$"))
|
||||
(("/bin/sh") sh)
|
||||
(("/usr/bin/tr") "tr"))))
|
||||
%standard-phases)))
|
||||
(home-page "http://www.gnu.org/software/autogen/")
|
||||
(synopsis "Automated program generator")
|
||||
(description
|
||||
"AutoGen is a program to ease the maintenance of programs that contain
|
||||
large amounts of repetitive text. It automates the construction of these
|
||||
sections of the code, simplifying the task of keeping the text in sync. It
|
||||
also includes an add-on package called AutoOpts, which is specialized for the
|
||||
maintenance and documentation of program options.")
|
||||
(license gpl3+)))
|
||||
+44
-49
@@ -52,13 +52,11 @@
|
||||
"http://www.gnu.org/software/autoconf/")
|
||||
(synopsis "Create source code configuration scripts")
|
||||
(description
|
||||
"GNU Autoconf is an extensible package of M4 macros that produce
|
||||
shell scripts to automatically configure software source code
|
||||
packages. These scripts can adapt the packages to many kinds of
|
||||
UNIX-like systems without manual user intervention. Autoconf
|
||||
creates a configuration script for a package from a template
|
||||
file that lists the operating system features that the package
|
||||
can use, in the form of M4 macro calls.")
|
||||
"Autoconf offers the developer a robust set of M4 macros which expand
|
||||
into shell code to test the features of Unix-like systems and to adapt
|
||||
automatically their software package to these systems. The resulting shell
|
||||
scripts are self-contained and portable, freeing the user from needing to
|
||||
know anything about Autoconf or M4.")
|
||||
(license gpl3+))) ; some files are under GPLv2+
|
||||
|
||||
(define-public autoconf-wrapper
|
||||
@@ -141,20 +139,19 @@ exec ~a --no-auto-compile \"$0\" \"$@\"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0nc0zqq8j336kamizzd86wb19vhbwywv5avcjh3cyx230xfqy671"))))
|
||||
"0nc0zqq8j336kamizzd86wb19vhbwywv5avcjh3cyx230xfqy671"))
|
||||
(patches
|
||||
(list (search-patch "automake-skip-amhello-tests.patch")))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("autoconf" ,autoconf-wrapper)
|
||||
("perl" ,perl)
|
||||
("patch/skip-amhello"
|
||||
,(search-patch "automake-skip-amhello-tests.patch"))))
|
||||
("perl" ,perl)))
|
||||
(native-search-paths
|
||||
(list (search-path-specification
|
||||
(variable "ACLOCAL_PATH")
|
||||
(directories '("share/aclocal")))))
|
||||
(arguments
|
||||
'(#:patches (list (assoc-ref %build-inputs "patch/skip-amhello"))
|
||||
#:modules ((guix build gnu-build-system)
|
||||
'(#:modules ((guix build gnu-build-system)
|
||||
(guix build utils)
|
||||
(srfi srfi-1)
|
||||
(srfi srfi-26)
|
||||
@@ -203,9 +200,10 @@ exec ~a --no-auto-compile \"$0\" \"$@\"
|
||||
(home-page "http://www.gnu.org/software/automake/")
|
||||
(synopsis "Making GNU standards-compliant Makefiles")
|
||||
(description
|
||||
"GNU Automake is a tool for automatically generating
|
||||
`Makefile.in' files compliant with the GNU Coding
|
||||
Standards. Automake requires the use of Autoconf.")
|
||||
"Automake the part of the GNU build system for producing
|
||||
standards-compliant Makefiles. Build requirements are entered in an
|
||||
intuitive format and then Automake works with Autoconf to produce a robust
|
||||
Makefile, simplifying the entire process for the developer.")
|
||||
(license gpl2+))) ; some files are under GPLv3+
|
||||
|
||||
(define-public libtool
|
||||
@@ -218,7 +216,10 @@ Standards. Automake requires the use of Autoconf.")
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0649qfpzkswgcj9vqkkr9rn4nlcx80faxpyqscy2k1x9c94f93dk"))))
|
||||
"0649qfpzkswgcj9vqkkr9rn4nlcx80faxpyqscy2k1x9c94f93dk"))
|
||||
(patches
|
||||
(list (search-patch "libtool-skip-tests.patch")
|
||||
(search-patch "libtool-skip-tests-for-mips.patch")))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs `(("m4" ,m4)
|
||||
("perl" ,perl)))
|
||||
@@ -230,40 +231,34 @@ Standards. Automake requires the use of Autoconf.")
|
||||
"out")) ; libltdl.so, ltdl.h, etc.
|
||||
|
||||
(arguments
|
||||
`(#:patches (list (assoc-ref %build-inputs "patch/skip-tests"))
|
||||
,@(if (%current-target-system)
|
||||
'() ; no `check' phase when cross-building
|
||||
'(#:phases (alist-cons-before
|
||||
'check 'pre-check
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
;; Run the test suite in parallel, if possible.
|
||||
(let ((ncores
|
||||
(cond
|
||||
((getenv "NIX_BUILD_CORES")
|
||||
=>
|
||||
(lambda (n)
|
||||
(if (zero? (string->number n))
|
||||
(number->string (current-processor-count))
|
||||
n)))
|
||||
(else "1"))))
|
||||
(setenv "TESTSUITEFLAGS"
|
||||
(string-append "-j" ncores)))
|
||||
(if (%current-target-system)
|
||||
'() ; no `check' phase when cross-building
|
||||
'(#:phases (alist-cons-before
|
||||
'check 'pre-check
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
;; Run the test suite in parallel, if possible.
|
||||
(let ((ncores
|
||||
(cond
|
||||
((getenv "NIX_BUILD_CORES")
|
||||
=>
|
||||
(lambda (n)
|
||||
(if (zero? (string->number n))
|
||||
(number->string (current-processor-count))
|
||||
n)))
|
||||
(else "1"))))
|
||||
(setenv "TESTSUITEFLAGS"
|
||||
(string-append "-j" ncores)))
|
||||
|
||||
;; Path references to /bin/sh.
|
||||
(let ((bash (assoc-ref inputs "bash")))
|
||||
(substitute* "tests/testsuite"
|
||||
(("/bin/sh")
|
||||
(string-append bash "/bin/bash")))))
|
||||
%standard-phases)))))
|
||||
(inputs `(("patch/skip-tests"
|
||||
,(search-patch "libtool-skip-tests.patch"))))
|
||||
;; Path references to /bin/sh.
|
||||
(let ((bash (assoc-ref inputs "bash")))
|
||||
(substitute* "tests/testsuite"
|
||||
(("/bin/sh")
|
||||
(string-append bash "/bin/bash")))))
|
||||
%standard-phases))))
|
||||
(synopsis "Generic shared library support tools")
|
||||
(description
|
||||
"GNU libtool is a generic library support script. Libtool hides the
|
||||
complexity of using shared libraries behind a consistent, portable interface.
|
||||
|
||||
To use libtool, add the new generic library building commands to your
|
||||
Makefile, Makefile.in, or Makefile.am. See the documentation for
|
||||
details.")
|
||||
"GNU Libtool helps in the creation and use of shared libraries, by
|
||||
presenting a single consistent, portable interface that hides the usual
|
||||
complexity of working with shared libraries across platforms.")
|
||||
(license gpl3+)
|
||||
(home-page "http://www.gnu.org/software/libtool/")))
|
||||
|
||||
@@ -39,7 +39,8 @@
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0j5b5ld6bjyh3qhd2nw0jb84znq0wqai7fsrdzg7bpg24jdp2wl3"))))
|
||||
"0j5b5ld6bjyh3qhd2nw0jb84znq0wqai7fsrdzg7bpg24jdp2wl3"))
|
||||
(patches (list (search-patch "avahi-localstatedir.patch")))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:configure-flags '("--with-distro=none"
|
||||
@@ -50,8 +51,7 @@
|
||||
"--disable-xmltoman"
|
||||
"--enable-tests"
|
||||
"--disable-qt3" "--disable-qt4"
|
||||
"--disable-gtk" "--disable-gtk3")
|
||||
#:patches (list (assoc-ref %build-inputs "patch/localstatedir"))))
|
||||
"--disable-gtk" "--disable-gtk3")))
|
||||
(inputs
|
||||
`(("expat" ,expat)
|
||||
("glib" ,glib)
|
||||
@@ -59,10 +59,7 @@
|
||||
("libdaemon" ,libdaemon)
|
||||
("intltool" ,intltool)
|
||||
("pkg-config" ,pkg-config)
|
||||
("gdbm" ,gdbm)
|
||||
|
||||
("patch/localstatedir"
|
||||
,(search-patch "avahi-localstatedir.patch"))))
|
||||
("gdbm" ,gdbm)))
|
||||
(synopsis "Avahi, an mDNS/DNS-SD implementation")
|
||||
(description
|
||||
"Avahi is a system which facilitates service discovery on a local
|
||||
|
||||
+196
-164
@@ -49,41 +49,43 @@
|
||||
(define-public hello
|
||||
(package
|
||||
(name "hello")
|
||||
(version "2.8")
|
||||
(version "2.9")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/hello/hello-" version
|
||||
".tar.gz"))
|
||||
(sha256
|
||||
(base32 "0wqd8sjmxfskrflaxywc7gqw7sfawrfvdxd9skxawzfgyy0pzdz6"))))
|
||||
(base32 "19qy37gkasc4csb1d3bdiz9snn8mir2p3aj0jgzmfv0r2hi7mfzc"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments '(#:configure-flags
|
||||
`("--disable-dependency-tracking"
|
||||
,(string-append "--with-gawk=" ; for illustration purposes
|
||||
(assoc-ref %build-inputs "gawk")))))
|
||||
(inputs `(("gawk" ,gawk)))
|
||||
(synopsis "Hello, GNU world: An example GNU package")
|
||||
(description "Yeah...")
|
||||
(description
|
||||
"GNU Hello prints the message \"Hello, world!\" and then exits. It
|
||||
serves as an example of standard GNU coding practices. As such, it supports
|
||||
command-line arguments, multiple languages, and so on.")
|
||||
(home-page "http://www.gnu.org/software/hello/")
|
||||
(license gpl3+)))
|
||||
|
||||
(define-public grep
|
||||
(package
|
||||
(name "grep")
|
||||
(version "2.14")
|
||||
(version "2.15")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/grep/grep-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1qbjb1l7f9blckc5pqy8jlf6482hpx4awn2acmhyf5mv9wfq03p7"))))
|
||||
"052kjsafg2x7n2zpy3iw4pzwf8fdfng5pcvi9v3chx3rb1786nmz"))))
|
||||
(build-system gnu-build-system)
|
||||
(synopsis "Print lines matching a pattern")
|
||||
(description
|
||||
"The grep command searches one or more input files for lines containing a
|
||||
match to a specified pattern. By default, grep prints the matching
|
||||
lines.")
|
||||
"grep is a tool for finding text inside files. Text is found by
|
||||
matching a pattern provided by the user in one or many files. The pattern
|
||||
may be provided as a basic or extended regular expression, or as fixed
|
||||
strings. By default, the matching text is simply printed to the screen,
|
||||
however the output can be greatly customized to include, for example, line
|
||||
numbers. GNU grep offers many extensions over the standard utility,
|
||||
including, for example, recursive directory searching.")
|
||||
(license gpl3+)
|
||||
(home-page "http://www.gnu.org/software/grep/")))
|
||||
|
||||
@@ -114,41 +116,34 @@ lines.")
|
||||
(string-append bash "/bin/bash")))))
|
||||
%standard-phases))))
|
||||
(description
|
||||
"Sed (stream editor) isn't really a true text editor or text processor.
|
||||
Instead, it is used to filter text, i.e., it takes text input and performs
|
||||
some operation (or set of operations) on it and outputs the modified text.
|
||||
Sed is typically used for extracting part of a file using pattern matching or
|
||||
substituting multiple occurrences of a string within a file.")
|
||||
"Sed is a non-interactive, text stream editor. It receives a text
|
||||
input from a file or from standard input and it then applies a series of text
|
||||
editing commands to the stream and prints its output to standard output. It
|
||||
is often used for substituting text patterns in a stream. The GNU
|
||||
implementation offers several extensions over the standard utility.")
|
||||
(license gpl3+)
|
||||
(home-page "http://www.gnu.org/software/sed/")))
|
||||
|
||||
(define-public tar
|
||||
(package
|
||||
(name "tar")
|
||||
(version "1.26")
|
||||
(version "1.27.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/tar/tar-"
|
||||
version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"0hbdkzmchq9ycr2x1pxqdcgdbaxksh8c6ac0jf75jajhcks6jlss"))))
|
||||
"1iip0fk0wqhxb0jcwphz43r4fxkx1y7mznnhmlvr618jhp7b63wv"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs `(("patch/gets" ,(search-patch "tar-gets-undeclared.patch"))))
|
||||
(arguments
|
||||
`(#:patches (list (assoc-ref %build-inputs "patch/gets"))))
|
||||
(synopsis "Managing tar archives")
|
||||
(description
|
||||
"The Tar program provides the ability to create tar archives, as well as
|
||||
various other kinds of manipulation. For example, you can use Tar on
|
||||
previously created archives to extract files, to store additional files, or
|
||||
to update or list files which were already stored.
|
||||
|
||||
Initially, tar archives were used to store files conveniently on magnetic
|
||||
tape. The name \"Tar\" comes from this use; it stands for tape archiver.
|
||||
Despite the utility's name, Tar can direct its output to available devices,
|
||||
files, or other programs (using pipes), it can even access remote devices or
|
||||
files (as archives).")
|
||||
"Tar provides the ability to create tar archives, as well as the
|
||||
ability to extract, update or list files in an existing archive. It is
|
||||
useful for combining many files into one larger file, while maintaining
|
||||
directory structure and file information such as permissions and
|
||||
creation/modification dates. GNU tar offers many extensions over the
|
||||
standard utility.")
|
||||
(license gpl3+)
|
||||
(home-page "http://www.gnu.org/software/tar/")))
|
||||
|
||||
@@ -172,9 +167,11 @@ files (as archives).")
|
||||
)
|
||||
(synopsis "Apply differences to originals, with optional backups")
|
||||
(description
|
||||
"GNU Patch takes a patch file containing a difference listing produced by
|
||||
the diff program and applies those differences to one or more original files,
|
||||
producing patched versions.")
|
||||
"Patch is a program that applies changes to files based on differences
|
||||
laid out as by the program \"diff\". The changes may be applied to one or more
|
||||
files depending on the contents of the diff file. It accepts several
|
||||
different diff formats. It may also be used to revert previously applied
|
||||
differences.")
|
||||
(license gpl3+)
|
||||
(home-page "http://savannah.gnu.org/projects/patch/")))
|
||||
|
||||
@@ -192,31 +189,11 @@ producing patched versions.")
|
||||
(build-system gnu-build-system)
|
||||
(synopsis "Comparing and merging files")
|
||||
(description
|
||||
"GNU Diffutils is a package of several programs related to finding
|
||||
differences between files.
|
||||
|
||||
Computer users often find occasion to ask how two files differ. Perhaps one
|
||||
file is a newer version of the other file. Or maybe the two files started out
|
||||
as identical copies but were changed by different people.
|
||||
|
||||
You can use the diff command to show differences between two files, or each
|
||||
corresponding file in two directories. diff outputs differences between files
|
||||
line by line in any of several formats, selectable by command line
|
||||
options. This set of differences is often called a ‘diff’ or ‘patch’. For
|
||||
files that are identical, diff normally produces no output; for
|
||||
binary (non-text) files, diff normally reports only that they are different.
|
||||
|
||||
You can use the cmp command to show the offsets and line numbers where two
|
||||
files differ. cmp can also show all the characters that differ between the
|
||||
two files, side by side.
|
||||
|
||||
You can use the diff3 command to show differences among three files. When two
|
||||
people have made independent changes to a common original, diff3 can report
|
||||
the differences between the original and the two changed versions, and can
|
||||
produce a merged file that contains both persons' changes together with
|
||||
warnings about conflicts.
|
||||
|
||||
You can use the sdiff command to merge two files interactively.")
|
||||
"GNU Diffutils is a package containing tools for finding the
|
||||
differences between files. The \"diff\" command is used to show how two files
|
||||
differ, while \"cmp\" shows the offsets and line numbers where they differ.
|
||||
\"diff3\" allows you to compare three files. Finally, \"sdiff\" offers an
|
||||
interactive means to merge two files.")
|
||||
(license gpl3+)
|
||||
(home-page "http://www.gnu.org/software/diffutils/")))
|
||||
|
||||
@@ -230,33 +207,23 @@ You can use the sdiff command to merge two files interactively.")
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0amn0bbwqvsvvsh6drfwz20ydc2czk374lzw5kksbh6bf78k4ks3"))))
|
||||
"0amn0bbwqvsvvsh6drfwz20ydc2czk374lzw5kksbh6bf78k4ks3"))
|
||||
(patches (list (search-patch "findutils-absolute-paths.patch")))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("patch/absolute-paths"
|
||||
,(search-patch "findutils-absolute-paths.patch"))))
|
||||
(arguments
|
||||
`(#:patches (list (assoc-ref %build-inputs "patch/absolute-paths"))
|
||||
|
||||
;; Work around cross-compilation failure.
|
||||
;; See <http://savannah.gnu.org/bugs/?27299#comment1>.
|
||||
,@(if (%current-target-system)
|
||||
'(#:configure-flags '("gl_cv_func_wcwidth_works=yes"))
|
||||
'())))
|
||||
;; Work around cross-compilation failure.
|
||||
;; See <http://savannah.gnu.org/bugs/?27299#comment1>.
|
||||
(if (%current-target-system)
|
||||
'(#:configure-flags '("gl_cv_func_wcwidth_works=yes"))
|
||||
'()))
|
||||
(synopsis "Operating on files matching given criteria")
|
||||
(description
|
||||
"The GNU Find Utilities are the basic directory searching utilities of
|
||||
the GNU operating system. These programs are typically used in conjunction
|
||||
with other programs to provide modular and powerful directory search and file
|
||||
locating capabilities to other commands.
|
||||
|
||||
The tools supplied with this package are:
|
||||
|
||||
* find - search for files in a directory hierarchy;
|
||||
* locate - list files in databases that match a pattern;
|
||||
* updatedb - update a file name database;
|
||||
* xargs - build and execute command lines from standard input.
|
||||
")
|
||||
"Findutils supplies the basic file directory searching utilities of the
|
||||
GNU system. It consists of two primary searching utilities: \"find\"
|
||||
recursively searches for files in a directory according to given criteria and
|
||||
\"locate\" lists files in a database that match a query. Two auxiliary tools
|
||||
are included: \"updatedb\" updates the file name database and \"xargs\" may be
|
||||
used to apply commands with arbitrarily long arguments.")
|
||||
(license gpl3+)
|
||||
(home-page "http://www.gnu.org/software/findutils/")))
|
||||
|
||||
@@ -297,30 +264,30 @@ The tools supplied with this package are:
|
||||
%standard-phases)))
|
||||
(synopsis "Core GNU utilities (file, text, shell)")
|
||||
(description
|
||||
"The GNU Core Utilities are the basic file, shell and text manipulation
|
||||
utilities of the GNU operating system. These are the core utilities which
|
||||
are expected to exist on every operating system.")
|
||||
"GNU Coreutils includes all of the basic command-line tools that are
|
||||
expected in a POSIX system. These provide the basic file, shell and text
|
||||
manipulation functions of the GNU system. Most of these tools offer extended
|
||||
functionality beyond that which is outlined in the POSIX standard.")
|
||||
(license gpl3+)
|
||||
(home-page "http://www.gnu.org/software/coreutils/")))
|
||||
|
||||
(define-public gnu-make
|
||||
(package
|
||||
(name "make")
|
||||
(version "3.82")
|
||||
(version "4.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/make/make-" version
|
||||
".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"0ri98385hsd7li6rh4l5afcq92v8l2lgiaz85wgcfh4w2wzsghg2"))))
|
||||
"1nyvn8mknw0mf7727lprva3lisl1y0n03lvar342rrpdmz3qc1p6"))
|
||||
(patches (list (search-patch "make-impure-dirs.patch")))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("patch/impure-dirs" ,(search-patch "make-impure-dirs.patch"))))
|
||||
(inputs `(("guile" ,guile-2.0)))
|
||||
(outputs '("out" "debug"))
|
||||
(arguments
|
||||
'(#:patches (list (assoc-ref %build-inputs "patch/impure-dirs"))
|
||||
#:phases (alist-cons-before
|
||||
'(#:phases (alist-cons-before
|
||||
'build 'set-default-shell
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
;; Change the default shell from /bin/sh.
|
||||
@@ -332,13 +299,12 @@ are expected to exist on every operating system.")
|
||||
%standard-phases)))
|
||||
(synopsis "Remake files automatically")
|
||||
(description
|
||||
"Make is a tool which controls the generation of executables and other
|
||||
non-source files of a program from the program's source files.
|
||||
|
||||
Make gets its knowledge of how to build your program from a file called the
|
||||
makefile, which lists each of the non-source files and how to compute it from
|
||||
other files. When you write a program, you should write a makefile for it, so
|
||||
that it is possible to use Make to build and install the program.")
|
||||
"Make is a program that is used to control the production of
|
||||
executables or other files from their source files. The process is
|
||||
controlled from a Makefile, in which the developer specifies how each file is
|
||||
generated from its source. It has powerful dependency resolution and the
|
||||
ability to determine when files have to be regenerated after their sources
|
||||
change. GNU make offers many powerful extensions over the standard utility.")
|
||||
(license gpl3+)
|
||||
(home-page "http://www.gnu.org/software/make/")))
|
||||
|
||||
@@ -352,7 +318,10 @@ that it is possible to use Make to build and install the program.")
|
||||
version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"15qhbkz3r266xaa52slh857qn3abw7rb2x2jnhpfrafpzrb4x4gy"))))
|
||||
"15qhbkz3r266xaa52slh857qn3abw7rb2x2jnhpfrafpzrb4x4gy"))
|
||||
(patches (list (search-patch "binutils-ld-new-dtags.patch")
|
||||
(search-patch "binutils-loongson-workaround.patch")
|
||||
(search-patch "binutils-loongson-madd-fix.patch")))))
|
||||
(build-system gnu-build-system)
|
||||
|
||||
;; Split Binutils in several outputs, mostly to avoid collisions in
|
||||
@@ -361,11 +330,8 @@ that it is possible to use Make to build and install the program.")
|
||||
"lib")) ; libbfd.a, bfd.h, etc.
|
||||
|
||||
;; TODO: Add dependency on zlib + those for Gold.
|
||||
(native-inputs
|
||||
`(("patch/new-dtags" ,(search-patch "binutils-ld-new-dtags.patch"))))
|
||||
(arguments
|
||||
`(#:patches (list (assoc-ref %build-inputs "patch/new-dtags"))
|
||||
#:configure-flags '(;; Add `-static-libgcc' to not retain a dependency
|
||||
`(#:configure-flags '(;; Add `-static-libgcc' to not retain a dependency
|
||||
;; on GCC when bootstrapping.
|
||||
"LDFLAGS=-static-libgcc"
|
||||
|
||||
@@ -378,9 +344,11 @@ that it is possible to use Make to build and install the program.")
|
||||
|
||||
(synopsis "Binary utilities: bfd gas gprof ld")
|
||||
(description
|
||||
"The GNU Binutils are a collection of binary tools. The main ones are
|
||||
`ld' (the GNU linker) and `as' (the GNU assembler). They also include the
|
||||
BFD (Binary File Descriptor) library, `gprof', `nm', `strip', etc.")
|
||||
"GNU Binutils is a collection of tools for working with binary files.
|
||||
Perhaps the most notable are \"ld\", a linker, and \"as\", an assembler. Other
|
||||
tools include programs to display binary profiling information, list the
|
||||
strings in a binary file, and utilities for working with archives. The \"bfd\"
|
||||
library for working with executable and object formats is also included.")
|
||||
(license gpl3+)
|
||||
(home-page "http://www.gnu.org/software/binutils/")))
|
||||
|
||||
@@ -394,7 +362,19 @@ BFD (Binary File Descriptor) library, `gprof', `nm', `strip', etc.")
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"18spla703zav8dq9fw7rbzkyv9qfisxb26p7amg1x3wjh7iy3d1c"))))
|
||||
"18spla703zav8dq9fw7rbzkyv9qfisxb26p7amg1x3wjh7iy3d1c"))
|
||||
(snippet
|
||||
;; Disable 'ldconfig' and /etc/ld.so.cache. The latter is
|
||||
;; required on LFS distros to avoid loading the distro's libc.so
|
||||
;; instead of ours.
|
||||
'(substitute* "sysdeps/unix/sysv/linux/configure"
|
||||
(("use_ldconfig=yes")
|
||||
"use_ldconfig=no")))
|
||||
(modules '((guix build utils)))
|
||||
(imported-modules modules)
|
||||
(patches (map search-patch
|
||||
'("glibc-ldd-x86_64.patch"
|
||||
"glibc-make-4.0.patch")))))
|
||||
(build-system gnu-build-system)
|
||||
|
||||
;; Glibc's <limits.h> refers to <linux/limit.h>, for instance, so glibc
|
||||
@@ -409,8 +389,6 @@ BFD (Binary File Descriptor) library, `gprof', `nm', `strip', etc.")
|
||||
|
||||
(arguments
|
||||
`(#:out-of-source? #t
|
||||
#:patches (list (assoc-ref %build-inputs "patch/ld.so.cache")
|
||||
(assoc-ref %build-inputs "patch/ldd"))
|
||||
#:configure-flags
|
||||
(list "--enable-add-ons"
|
||||
"--sysconfdir=/etc"
|
||||
@@ -494,11 +472,7 @@ BFD (Binary File Descriptor) library, `gprof', `nm', `strip', etc.")
|
||||
(zero? (system* "make" "localedata/install-locales")))
|
||||
%standard-phases))))
|
||||
|
||||
(inputs `(("patch/ld.so.cache"
|
||||
,(search-patch "glibc-no-ld-so-cache.patch"))
|
||||
("patch/ldd"
|
||||
,(search-patch "glibc-ldd-x86_64.patch"))
|
||||
("static-bash" ,(static-package bash-light))))
|
||||
(inputs `(("static-bash" ,(static-package bash-light))))
|
||||
(synopsis "The GNU C Library")
|
||||
(description
|
||||
"Any Unix-like operating system needs a C library: the library which
|
||||
@@ -596,6 +570,10 @@ and daylight-saving rules.")
|
||||
((#:phases phases)
|
||||
`(alist-replace
|
||||
'build (lambda _
|
||||
;; Don't attempt to build 'guile.c' since we don't
|
||||
;; have Guile here.
|
||||
(substitute* "build.sh"
|
||||
(("guile\\.\\$\\{OBJEXT\\}") ""))
|
||||
(zero? (system* "./build.sh")))
|
||||
(alist-replace
|
||||
'install (lambda* (#:key outputs #:allow-other-keys)
|
||||
@@ -672,7 +650,7 @@ identifier SYSTEM."
|
||||
|
||||
(define gcc-boot0
|
||||
(package-with-bootstrap-guile
|
||||
(package (inherit gcc-4.7)
|
||||
(package (inherit gcc-4.8)
|
||||
(name "gcc-cross-boot0")
|
||||
(arguments
|
||||
`(#:guile ,%bootstrap-guile
|
||||
@@ -682,7 +660,7 @@ identifier SYSTEM."
|
||||
(ice-9 regex)
|
||||
(srfi srfi-1)
|
||||
(srfi srfi-26))
|
||||
,@(substitute-keyword-arguments (package-arguments gcc-4.7)
|
||||
,@(substitute-keyword-arguments (package-arguments gcc-4.8)
|
||||
((#:configure-flags flags)
|
||||
`(append (list ,(string-append "--target=" (boot-triplet))
|
||||
|
||||
@@ -691,8 +669,18 @@ identifier SYSTEM."
|
||||
|
||||
;; Disable features not needed at this stage.
|
||||
"--disable-shared"
|
||||
"--enable-languages=c"
|
||||
"--enable-languages=c,c++"
|
||||
|
||||
;; libstdc++ cannot be built at this stage
|
||||
;; ("Link tests are not allowed after
|
||||
;; GCC_NO_EXECUTABLES.").
|
||||
"--disable-libstdc++-v3"
|
||||
|
||||
"--disable-threads"
|
||||
"--disable-libmudflap"
|
||||
"--disable-libatomic"
|
||||
"--disable-libsanitizer"
|
||||
"--disable-libitm"
|
||||
"--disable-libgomp"
|
||||
"--disable-libssp"
|
||||
"--disable-libquadmath"
|
||||
@@ -719,24 +707,7 @@ identifier SYSTEM."
|
||||
,@(map (lambda (lib)
|
||||
`(symlink ,(package-full-name lib)
|
||||
,(package-name lib)))
|
||||
(list gmp mpfr mpc))
|
||||
|
||||
;; MPFR headers/lib are found under $(MPFR)/src, but
|
||||
;; `configure' wrongfully tells MPC too look under
|
||||
;; $(MPFR), so fix that.
|
||||
(substitute* "configure"
|
||||
(("extra_mpc_mpfr_configure_flags(.+)--with-mpfr-include=([^/]+)/mpfr(.*)--with-mpfr-lib=([^ ]+)/mpfr"
|
||||
_ equals include middle lib)
|
||||
(string-append "extra_mpc_mpfr_configure_flags" equals
|
||||
"--with-mpfr-include=" include
|
||||
"/mpfr/src" middle
|
||||
"--with-mpfr-lib=" lib
|
||||
"/mpfr/src"))
|
||||
(("gmpinc='-I([^ ]+)/mpfr -I([^ ]+)/mpfr" _ a b)
|
||||
(string-append "gmpinc='-I" a "/mpfr/src "
|
||||
"-I" b "/mpfr/src"))
|
||||
(("gmplibs='-L([^ ]+)/mpfr" _ a)
|
||||
(string-append "gmplibs='-L" a "/mpfr/src")))))
|
||||
(list gmp mpfr mpc))))
|
||||
(alist-cons-after
|
||||
'install 'symlink-libgcc_eh
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
@@ -746,7 +717,7 @@ identifier SYSTEM."
|
||||
(with-directory-excursion
|
||||
(string-append out "/lib/gcc/"
|
||||
,(boot-triplet)
|
||||
"/" ,(package-version gcc-4.7))
|
||||
"/" ,(package-version gcc-4.8))
|
||||
(symlink "libgcc.a" "libgcc_eh.a"))))
|
||||
,phases))))))
|
||||
|
||||
@@ -762,9 +733,12 @@ identifier SYSTEM."
|
||||
|
||||
;; No need for Texinfo at this stage.
|
||||
(native-inputs (alist-delete "texinfo"
|
||||
(package-native-inputs gcc-4.7))))))
|
||||
(package-native-inputs gcc-4.8))))))
|
||||
|
||||
(define linux-libre-headers-boot0
|
||||
(define (linux-libre-headers-boot0)
|
||||
"Return Linux-Libre header files for the bootstrap environment."
|
||||
;; Note: this is wrapped in a thunk to nicely handle circular dependencies
|
||||
;; between (gnu packages linux) and this module.
|
||||
(package-with-bootstrap-guile
|
||||
(package (inherit linux-libre-headers)
|
||||
(arguments `(#:guile ,%bootstrap-guile
|
||||
@@ -809,7 +783,7 @@ identifier SYSTEM."
|
||||
;; install rpc/*.h.
|
||||
"--enable-obsolete-rpc")
|
||||
,flags)))))
|
||||
(propagated-inputs `(("linux-headers" ,linux-libre-headers-boot0)))
|
||||
(propagated-inputs `(("linux-headers" ,(linux-libre-headers-boot0))))
|
||||
(inputs
|
||||
`( ;; A native GCC is needed to build `cross-rpcgen'.
|
||||
("native-gcc" ,@(assoc-ref %boot0-inputs "gcc"))
|
||||
@@ -825,7 +799,7 @@ identifier SYSTEM."
|
||||
(define (cross-gcc-wrapper gcc binutils glibc bash)
|
||||
"Return a wrapper for the pseudo-cross toolchain GCC/BINUTILS/GLIBC
|
||||
that makes it available under the native tool names."
|
||||
(package (inherit gcc-4.7)
|
||||
(package (inherit gcc-4.8)
|
||||
(name (string-append (package-name gcc) "-wrapped"))
|
||||
(source #f)
|
||||
(build-system trivial-build-system)
|
||||
@@ -842,6 +816,21 @@ that makes it available under the native tool names."
|
||||
(out (assoc-ref %outputs "out"))
|
||||
(bindir (string-append out "/bin"))
|
||||
(triplet ,(boot-triplet)))
|
||||
(define (wrap-program program)
|
||||
;; GCC-BOOT0 is a libc-less cross-compiler, so it
|
||||
;; needs to be told where to find the crt files and
|
||||
;; the dynamic linker.
|
||||
(call-with-output-file program
|
||||
(lambda (p)
|
||||
(format p "#!~a/bin/bash
|
||||
exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
|
||||
bash
|
||||
gcc triplet program
|
||||
libc libc
|
||||
,(glibc-dynamic-linker))))
|
||||
|
||||
(chmod program #o555))
|
||||
|
||||
(mkdir-p bindir)
|
||||
(with-directory-excursion bindir
|
||||
(for-each (lambda (tool)
|
||||
@@ -849,20 +838,7 @@ that makes it available under the native tool names."
|
||||
triplet "-" tool)
|
||||
tool))
|
||||
'("ar" "ranlib"))
|
||||
|
||||
;; GCC-BOOT0 is a libc-less cross-compiler, so it
|
||||
;; needs to be told where to find the crt files and
|
||||
;; the dynamic linker.
|
||||
(call-with-output-file "gcc"
|
||||
(lambda (p)
|
||||
(format p "#!~a/bin/bash
|
||||
exec ~a/bin/~a-gcc -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
|
||||
bash
|
||||
gcc triplet
|
||||
libc libc
|
||||
,(glibc-dynamic-linker))))
|
||||
|
||||
(chmod "gcc" #o555))))))
|
||||
(for-each wrap-program '("gcc" "g++")))))))
|
||||
(native-inputs
|
||||
`(("binutils" ,binutils)
|
||||
("gcc" ,gcc)
|
||||
@@ -909,7 +885,7 @@ exec ~a/bin/~a-gcc -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
|
||||
("gcc" ,gcc-boot0-wrapped)
|
||||
,@(fold alist-delete %boot1-inputs '("libc" "gcc"))))
|
||||
|
||||
(define-public binutils-final
|
||||
(define binutils-final
|
||||
(package-with-bootstrap-guile
|
||||
(package (inherit binutils)
|
||||
(arguments
|
||||
@@ -918,6 +894,36 @@ exec ~a/bin/~a-gcc -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
|
||||
,@(package-arguments binutils)))
|
||||
(inputs %boot2-inputs))))
|
||||
|
||||
(define libstdc++
|
||||
;; Intermediate libstdc++ that will allow us to build the final GCC
|
||||
;; (remember that GCC-BOOT0 cannot build libstdc++.)
|
||||
(package-with-bootstrap-guile
|
||||
(package (inherit gcc-4.8)
|
||||
(name "libstdc++")
|
||||
(arguments
|
||||
`(#:guile ,%bootstrap-guile
|
||||
#:implicit-inputs? #f
|
||||
|
||||
#:out-of-source? #t
|
||||
#:phases (alist-cons-before
|
||||
'configure 'chdir
|
||||
(lambda _
|
||||
(chdir "libstdc++-v3"))
|
||||
%standard-phases)
|
||||
#:configure-flags `("--disable-shared"
|
||||
"--disable-libstdcxx-threads"
|
||||
"--disable-libstdcxx-pch"
|
||||
,(string-append "--with-gxx-include-dir="
|
||||
(assoc-ref %outputs "out")
|
||||
"/include"
|
||||
;; "/include/c++/"
|
||||
;; ,(package-version gcc-4.8)
|
||||
))))
|
||||
(inputs %boot2-inputs)
|
||||
(native-inputs '())
|
||||
(propagated-inputs '())
|
||||
(synopsis "GNU C++ standard library (intermediate)"))))
|
||||
|
||||
(define-public gcc-final
|
||||
;; The final GCC.
|
||||
(package (inherit gcc-boot0)
|
||||
@@ -931,12 +937,25 @@ exec ~a/bin/~a-gcc -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
|
||||
;; doesn't honor $LIBRARY_PATH, which breaks `gnu-build-system'.)
|
||||
,@(substitute-keyword-arguments (package-arguments gcc-boot0)
|
||||
((#:configure-flags boot-flags)
|
||||
(let loop ((args (package-arguments gcc-4.7)))
|
||||
(let loop ((args (package-arguments gcc-4.8)))
|
||||
(match args
|
||||
((#:configure-flags normal-flags _ ...)
|
||||
normal-flags)
|
||||
((_ rest ...)
|
||||
(loop rest)))))
|
||||
((#:make-flags flags)
|
||||
;; Since $LIBRARY_PATH and $CPATH are not honored, add the
|
||||
;; relevant flags.
|
||||
`(cons (string-append "CPPFLAGS=-I"
|
||||
(assoc-ref %build-inputs "libstdc++")
|
||||
"/include")
|
||||
(map (lambda (flag)
|
||||
(if (string-prefix? "LDFLAGS=" flag)
|
||||
(string-append flag " -L"
|
||||
(assoc-ref %build-inputs "libstdc++")
|
||||
"/lib")
|
||||
flag))
|
||||
,flags)))
|
||||
((#:phases phases)
|
||||
`(alist-delete 'symlink-libgcc_eh ,phases)))))
|
||||
|
||||
@@ -944,6 +963,7 @@ exec ~a/bin/~a-gcc -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
|
||||
("mpfr-source" ,(package-source mpfr))
|
||||
("mpc-source" ,(package-source mpc))
|
||||
("binutils" ,binutils-final)
|
||||
("libstdc++" ,libstdc++)
|
||||
,@%boot2-inputs))))
|
||||
|
||||
(define ld-wrapper-boot3
|
||||
@@ -1003,7 +1023,7 @@ store.")
|
||||
("ld-wrapper" ,ld-wrapper-boot3)
|
||||
,@(alist-delete "gcc" %boot2-inputs)))
|
||||
|
||||
(define-public bash-final
|
||||
(define bash-final
|
||||
;; Link with `-static-libgcc' to make sure we don't retain a reference
|
||||
;; to the bootstrap GCC.
|
||||
(package-with-bootstrap-guile
|
||||
@@ -1024,6 +1044,14 @@ store.")
|
||||
(current-source-location)
|
||||
#:guile %bootstrap-guile)))
|
||||
|
||||
(define gnu-make-final
|
||||
;; The final GNU Make, which uses the final Guile.
|
||||
(package-with-bootstrap-guile
|
||||
(package-with-explicit-inputs gnu-make
|
||||
`(("guile" ,guile-final)
|
||||
,@%boot4-inputs)
|
||||
(current-source-location))))
|
||||
|
||||
(define-public ld-wrapper
|
||||
;; The final `ld' wrapper, which uses the final Guile.
|
||||
(package (inherit ld-wrapper-boot3)
|
||||
@@ -1034,9 +1062,13 @@ store.")
|
||||
'("guile" "bash"))))))
|
||||
|
||||
(define-public %final-inputs
|
||||
;; Final derivations used as implicit inputs by `gnu-build-system'.
|
||||
(let ((finalize (cut package-with-explicit-inputs <> %boot4-inputs
|
||||
(current-source-location))))
|
||||
;; Final derivations used as implicit inputs by 'gnu-build-system'. We
|
||||
;; still use 'package-with-bootstrap-guile' so that the bootstrap tools are
|
||||
;; used for origins that have patches, thereby avoiding circular
|
||||
;; dependencies.
|
||||
(let ((finalize (compose package-with-bootstrap-guile
|
||||
(cut package-with-explicit-inputs <> %boot4-inputs
|
||||
(current-source-location)))))
|
||||
`(,@(map (match-lambda
|
||||
((name package)
|
||||
(list name (finalize package))))
|
||||
@@ -1050,8 +1082,8 @@ store.")
|
||||
("sed" ,sed)
|
||||
("grep" ,grep)
|
||||
("findutils" ,findutils)
|
||||
("gawk" ,gawk)
|
||||
("make" ,gnu-make)))
|
||||
("gawk" ,gawk)))
|
||||
("make" ,gnu-make-final)
|
||||
("bash" ,bash-final)
|
||||
("ld-wrapper" ,ld-wrapper)
|
||||
("binutils" ,binutils-final)
|
||||
|
||||
@@ -85,13 +85,12 @@
|
||||
%standard-phases)))
|
||||
(synopsis "The GNU Bourne-Again SHell")
|
||||
(description
|
||||
"Bash is the shell, or command language interpreter, that will appear in
|
||||
the GNU operating system. Bash is an sh-compatible shell that incorporates
|
||||
useful features from the Korn shell (ksh) and C shell (csh). It is intended
|
||||
to conform to the IEEE POSIX P1003.2/ISO 9945.2 Shell and Tools standard. It
|
||||
offers functional improvements over sh for both programming and interactive
|
||||
use. In addition, most sh scripts can be run by Bash without
|
||||
modification.")
|
||||
"Bash is the shell, or command-line interpreter, of the GNU system. It
|
||||
is compatible with the Bourne Shell, but it also integrates useful features
|
||||
from the Korn Shell and the C Shell and new improvements of its own. It
|
||||
allows command-line editing, unlimited command history, shell functions and
|
||||
aliases, and job control while still allowing most sh scripts to be run
|
||||
without modification.")
|
||||
(license gpl3+)
|
||||
(home-page "http://www.gnu.org/software/bash/"))))
|
||||
|
||||
|
||||
+14
-17
@@ -1,5 +1,5 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2012 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -22,12 +22,15 @@
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (gnu packages m4)
|
||||
#:use-module (gnu packages perl))
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages flex)
|
||||
#:use-module (srfi srfi-1)
|
||||
#:export (bison))
|
||||
|
||||
(define-public bison
|
||||
(define bison
|
||||
(package
|
||||
(name "bison")
|
||||
(version "2.7.1")
|
||||
(version "3.0.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
@@ -35,22 +38,16 @@
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1yx7isx67sdmyijvihgyra1f59fwdz7sqriginvavfj5yb5ss2dl"))))
|
||||
"0g4gjan477lac18m51kv4xzcsp6wjfsfwvd2dxymcl6vid9fihx2"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs `(("perl" ,perl)))
|
||||
(native-inputs `(("perl" ,perl)))
|
||||
(inputs `(("flex" ,flex)))
|
||||
(propagated-inputs `(("m4" ,m4)))
|
||||
(home-page "http://www.gnu.org/software/bison/")
|
||||
(synopsis "Parser generator")
|
||||
(description
|
||||
"Bison is a general-purpose parser generator that converts an
|
||||
annotated context-free grammar into an LALR(1) or GLR parser for
|
||||
that grammar. Once you are proficient with Bison, you can use
|
||||
it to develop a wide range of language parsers, from those used
|
||||
in simple desk calculators to complex programming languages.
|
||||
|
||||
Bison is upward compatible with Yacc: all properly-written Yacc
|
||||
grammars ought to work with Bison with no change. Anyone
|
||||
familiar with Yacc should be able to use Bison with little
|
||||
trouble. You need to be fluent in C or C++ programming in order
|
||||
to use Bison.")
|
||||
"GNU Bison is a general-purpose parser generator. It can build a
|
||||
deterministic or generalized LR parser from an annotated, context-free
|
||||
grammar. It is versatile enough to have many applications, from parsers for
|
||||
simple tools through complex programming languages.")
|
||||
(license gpl3+)))
|
||||
|
||||
+43
-21
@@ -64,20 +64,29 @@
|
||||
#:guile %bootstrap-guile
|
||||
#:system system)))
|
||||
|
||||
(define %bootstrap-patch-inputs
|
||||
;; Packages used when an <origin> has a non-empty 'patches' field.
|
||||
`(("tar" ,%bootstrap-coreutils&co)
|
||||
("xz" ,%bootstrap-coreutils&co)
|
||||
("bzip2" ,%bootstrap-coreutils&co)
|
||||
("gzip" ,%bootstrap-coreutils&co)
|
||||
("patch" ,%bootstrap-coreutils&co)))
|
||||
|
||||
(let ((orig-method (origin-method source)))
|
||||
(origin (inherit source)
|
||||
(method (cond ((eq? orig-method url-fetch)
|
||||
(boot url-fetch))
|
||||
(else orig-method))))))
|
||||
(else orig-method)))
|
||||
(patch-guile %bootstrap-guile)
|
||||
(patch-inputs %bootstrap-patch-inputs))))
|
||||
|
||||
(define (package-from-tarball name* source* program-to-test description*)
|
||||
"Return a package that correspond to the extraction of SOURCE*.
|
||||
PROGRAM-TO-TEST is a program to run after extraction of SOURCE*, to
|
||||
(define (package-from-tarball name source program-to-test description)
|
||||
"Return a package that correspond to the extraction of SOURCE.
|
||||
PROGRAM-TO-TEST is a program to run after extraction of SOURCE, to
|
||||
check whether everything is alright."
|
||||
(package
|
||||
(name name*)
|
||||
(name name)
|
||||
(version "0")
|
||||
(source #f)
|
||||
(build-system trivial-build-system)
|
||||
(arguments
|
||||
`(#:guile ,%bootstrap-guile
|
||||
@@ -101,8 +110,9 @@ check whether everything is alright."
|
||||
(inputs
|
||||
`(("tar" ,(search-bootstrap-binary "tar" (%current-system)))
|
||||
("xz" ,(search-bootstrap-binary "xz" (%current-system)))
|
||||
("tarball" ,(bootstrap-origin (source* (%current-system))))))
|
||||
(synopsis description*)
|
||||
("tarball" ,(bootstrap-origin (source (%current-system))))))
|
||||
(source #f)
|
||||
(synopsis description)
|
||||
(description #f)
|
||||
(home-page #f)
|
||||
(license #f)))
|
||||
@@ -170,7 +180,7 @@ check whether everything is alright."
|
||||
(xz (->store "xz"))
|
||||
(mkdir (->store "mkdir"))
|
||||
(bash (->store "bash"))
|
||||
(guile (->store "guile-2.0.7.tar.xz"))
|
||||
(guile (->store "guile-2.0.9.tar.xz"))
|
||||
(builder
|
||||
(add-text-to-store store
|
||||
"build-bootstrap-guile.sh"
|
||||
@@ -209,16 +219,19 @@ $out/bin/guile --version~%"
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (map (cut string-append <> "/" system
|
||||
"/20130105/static-binaries.tar.xz")
|
||||
"/20131110/static-binaries.tar.xz")
|
||||
%bootstrap-base-urls))
|
||||
(sha256
|
||||
(match system
|
||||
("x86_64-linux"
|
||||
(base32
|
||||
"0md23alzy6nc5f16pric7mkagczdzr8xbh074sb3rjzrls06j1ls"))
|
||||
"0c533p9dhczzcsa1117gmfq3pc8w362g4mx84ik36srpr7cx2bg4"))
|
||||
("i686-linux"
|
||||
(base32
|
||||
"0nzj1lmm9b94g7k737cr4w1dv282w5nmhb53238ikax9r6pkc0yb"))))))
|
||||
"0s5b3jb315n13m1k8095l0a5hfrsz8g0fv1b6riyc5hnxqyphlak"))
|
||||
("mips64el-linux"
|
||||
(base32
|
||||
"072y4wyfsj1bs80r6vbybbafy8ya4vfy7qj25dklwk97m6g71753"))))))
|
||||
"true" ; the program to test
|
||||
"Bootstrap binaries of Coreutils, Awk, etc."))
|
||||
|
||||
@@ -228,16 +241,19 @@ $out/bin/guile --version~%"
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (map (cut string-append <> "/" system
|
||||
"/20130105/binutils-2.22.tar.xz")
|
||||
"/20131110/binutils-2.23.2.tar.xz")
|
||||
%bootstrap-base-urls))
|
||||
(sha256
|
||||
(match system
|
||||
("x86_64-linux"
|
||||
(base32
|
||||
"1ffmk2yy2pxvkqgzrkzp3s4jpn4qaaksyk3b5nsc5cjwfm7qkgzh"))
|
||||
"1j5yivz7zkjqfsfmxzrrrffwyayjqyfxgpi89df0w4qziqs2dg20"))
|
||||
("i686-linux"
|
||||
(base32
|
||||
"1rafk6aq4sayvv3r3d2khn93nkyzf002xzh0xadlyci4mznr6b0a"))))))
|
||||
"14jgwf9gscd7l2pnz610b1zia06dvcm2qyzvni31b8zpgmcai2v9"))
|
||||
("mips64el-linux"
|
||||
(base32
|
||||
"1x8kkhcxmfyzg1ddpz2pxs6fbdl6412r7x0nzbmi5n7mj8zw2gy7"))))))
|
||||
"ld" ; the program to test
|
||||
"Bootstrap binaries of the GNU Binutils"))
|
||||
|
||||
@@ -279,16 +295,19 @@ $out/bin/guile --version~%"
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (map (cut string-append <> "/" (%current-system)
|
||||
"/20130105/glibc-2.17.tar.xz")
|
||||
"/20131110/glibc-2.18.tar.xz")
|
||||
%bootstrap-base-urls))
|
||||
(sha256
|
||||
(match (%current-system)
|
||||
("x86_64-linux"
|
||||
(base32
|
||||
"18kv1z9d8dr1j3hm9w7663kchqw9p6rsx11n1m143jgba2jz6jy3"))
|
||||
"0jlqrgavvnplj1b083s20jj9iddr4lzfvwybw5xrcis9spbfzk7v"))
|
||||
("i686-linux"
|
||||
(base32
|
||||
"08hv8i0axwnihrcgbz19x0a7s6zyv3yx38x8r29liwl8h82x9g88")))))))))
|
||||
"1hgrccw1zqdc7lvgivwa54d9l3zsim5pqm0dykxg0z522h6gr05w"))
|
||||
("mips64el-linux"
|
||||
(base32
|
||||
"0k97a3whzx3apsi9n2cbsrr79ad6lh00klxph9hw4fqyp1abkdsg")))))))))
|
||||
(synopsis "Bootstrap binaries and headers of the GNU C Library")
|
||||
(description #f)
|
||||
(home-page #f)
|
||||
@@ -347,16 +366,19 @@ exec ~a/bin/.gcc-wrapped -B~a/lib \
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (map (cut string-append <> "/" (%current-system)
|
||||
"/20130105/gcc-4.7.2.tar.xz")
|
||||
"/20131110/gcc-4.8.2.tar.xz")
|
||||
%bootstrap-base-urls))
|
||||
(sha256
|
||||
(match (%current-system)
|
||||
("x86_64-linux"
|
||||
(base32
|
||||
"1x1p7han5crnbw906iwdifykr6grzm0w27dy9gz75j0q1b32i4px"))
|
||||
"17ga4m6195n4fnbzdkmik834znkhs53nkypp6557pl1ps7dgqbls"))
|
||||
("i686-linux"
|
||||
(base32
|
||||
"06wqs0xxnpw3hn0xjb4c9cs0899p1xwkcysa2rvzhvpra0c5vsg2")))))))))
|
||||
"150c1arrf2k8vfy6dpxh59vcgs4p1bgiz2av5m19dynpks7rjnyw"))
|
||||
("mips64el-linux"
|
||||
(base32
|
||||
"1m5miqkyng45l745n0sfafdpjkqv9225xf44jqkygwsipj2cv9ks")))))))))
|
||||
(native-search-paths
|
||||
(list (search-path-specification
|
||||
(variable "CPATH")
|
||||
|
||||
Executable
BIN
Binary file not shown.
Executable
BIN
Binary file not shown.
Executable
BIN
Binary file not shown.
Executable
BIN
Binary file not shown.
+42
-19
@@ -25,12 +25,13 @@
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages acl)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module ((gnu packages gettext) #:renamer (symbol-prefix-proc 'gnu:))
|
||||
#:use-module (gnu packages gettext)
|
||||
#:use-module (gnu packages gtk)
|
||||
#:use-module (gnu packages readline)
|
||||
#:use-module (gnu packages ncurses)
|
||||
#:use-module (gnu packages help2man)
|
||||
#:use-module (gnu packages ncurses)
|
||||
#:use-module (gnu packages patchelf)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages readline)
|
||||
#:use-module (gnu packages which))
|
||||
|
||||
(define-public libcddb
|
||||
@@ -84,22 +85,26 @@ caching facility provided by the library.")
|
||||
(home-page "http://www.gnu.org/software/libcdio/")
|
||||
(synopsis "CD Input and Control library")
|
||||
(description
|
||||
"GNU libcdio is a library for OS-idependent CD-ROM and CD image access.
|
||||
It includes a library for working with ISO-9660 filesystems (libiso9660), as
|
||||
well as utility programs such as an audio CD player and an extractor.")
|
||||
"The GNU Compact Disc Input and Control Library (libcdio) is a library
|
||||
for CD-ROM and CD image file access. It allows the developer to add CD
|
||||
access to an application without having to worry about the OS- and
|
||||
device-dependent properties of CD-ROM or the specific details of CD image
|
||||
formats. It includes pycdio, a Python interface to libcdio, and
|
||||
libcdio-paranoia, a library providing jitter-free and error-free audio
|
||||
extraction from CDs.")
|
||||
(license gpl3+)))
|
||||
|
||||
(define-public xorriso
|
||||
(package
|
||||
(name "xorriso")
|
||||
(version "1.3.0")
|
||||
(version "1.3.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/xorriso/xorriso-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1gvyf1ppq764hsk8iyffip7h1dnz2b9k2cchf7himnns03aadavn"))))
|
||||
"1z04580nkkziy2flbxjjx0q6vp9p7vcp7yp0agx2aqz3l1vjcwhf"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("acl" ,acl)
|
||||
@@ -110,12 +115,12 @@ well as utility programs such as an audio CD player and an extractor.")
|
||||
(home-page "http://www.gnu.org/software/xorriso/")
|
||||
(synopsis "Create, manipulate, burn ISO-9660 filesystems")
|
||||
(description
|
||||
"GNU xorriso copies file objects from POSIX compliant filesystems into
|
||||
Rock Ridge enhanced ISO 9660 filesystems and allows session-wise manipulation
|
||||
of such filesystems. It can load the management information of existing ISO
|
||||
images and it writes the session results to optical media or to filesystem
|
||||
objects. Vice versa xorriso is able to copy file objects out of ISO 9660
|
||||
filesystems.")
|
||||
"GNU Xorriso is a tool for copying files to and from ISO 9660 Rock
|
||||
Ridge, a.k.a. Compact Disc File System, filesystems and it allows
|
||||
session-wise manipulation of them. It features a formatter and burner for
|
||||
CD, DVD and BD. It can operate on existing ISO images or it can create new
|
||||
ones. xorriso can then be used to copy files directly into or out of ISO
|
||||
files.")
|
||||
(license gpl3+)))
|
||||
|
||||
(define-public cdparanoia
|
||||
@@ -128,13 +133,31 @@ filesystems.")
|
||||
version ".src.tgz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1pv4zrajm46za0f6lv162iqffih57a8ly4pc69f7y0gfyigb8p80"))))
|
||||
"1pv4zrajm46za0f6lv162iqffih57a8ly4pc69f7y0gfyigb8p80"))
|
||||
(patches (list (search-patch "cdparanoia-fpic.patch")))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("patch/fpic" ,(search-patch "cdparanoia-fpic.patch"))))
|
||||
`(("patchelf" ,patchelf)))
|
||||
(arguments
|
||||
`(#:tests? #f ; there is no check target
|
||||
#:patches (list (assoc-ref %build-inputs "patch/fpic"))))
|
||||
#:modules ((guix build gnu-build-system)
|
||||
(guix build utils)
|
||||
(guix build rpath)
|
||||
(srfi srfi-26))
|
||||
#:imported-modules ((guix build gnu-build-system)
|
||||
(guix build utils)
|
||||
(guix build rpath))
|
||||
#:phases
|
||||
(alist-cons-after
|
||||
'strip 'add-lib-to-runpath
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(lib (string-append out "/lib")))
|
||||
;; Add LIB to the RUNPATH of all the executables.
|
||||
(with-directory-excursion out
|
||||
(for-each (cut augment-rpath <> lib)
|
||||
(find-files "bin" ".*")))))
|
||||
%standard-phases)))
|
||||
(home-page "http://www.xiph.org/paranoia/")
|
||||
(synopsis "audio CD reading utility which includes extra data verification features")
|
||||
(description "Cdparanoia retrieves audio tracks from CDDA capable CDROM
|
||||
@@ -159,8 +182,8 @@ reconstruction capability.")
|
||||
"0pm039a78h7m9vvjmmjfkl05ii6qdmfhvbypxjbc7j5w82y66is4"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("gettext" ,gnu:gettext)
|
||||
("gtk+" ,gtk+)
|
||||
`(("gettext" ,gnu-gettext)
|
||||
("gtk+" ,gtk+-2)
|
||||
("pkg-config" ,pkg-config)
|
||||
("which" ,which)))
|
||||
(arguments
|
||||
|
||||
+8
-10
@@ -35,17 +35,15 @@
|
||||
(base32
|
||||
"1jkbq97ajcf834z68hbn3xfhiz921zhn39gklml1racf0kb3jzh3"))))
|
||||
(build-system gnu-build-system)
|
||||
|
||||
;; Needed to have cflow-mode.el installed.
|
||||
(native-inputs `(("emacs" ,emacs)))
|
||||
|
||||
(home-page "http://www.gnu.org/software/cflow/")
|
||||
(synopsis "Create a graph of control flow within a program")
|
||||
(description
|
||||
"GNU cflow analyzes a collection of C source files and prints a
|
||||
graph, charting control flow within the program.
|
||||
|
||||
GNU cflow is able to produce both direct and inverted flowgraphs
|
||||
for C sources. Optionally a cross-reference listing can be
|
||||
generated. Two output formats are implemented: POSIX and GNU
|
||||
(extended).
|
||||
|
||||
The package also provides Emacs major mode for examining the
|
||||
produced flowcharts in Emacs.")
|
||||
"GNU cflow analyzes C source files and produces a graph charting the
|
||||
control flow of the program. It can output the graph in several styles and
|
||||
in either the POSIX format or in an extended GNU format. cflow also includes
|
||||
a major mode for Emacs for examining the flowcharts that it produces.")
|
||||
(license gpl3+)))
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
(define-public cmake
|
||||
(package
|
||||
(name "cmake")
|
||||
(version "2.8.10.2")
|
||||
(version "2.8.12")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
@@ -36,12 +36,11 @@
|
||||
(string-index version #\. (+ 1 (string-index version #\.))))
|
||||
"/cmake-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "1c8fj6i2x9sb39wc9av2ighj415mw33cxfrlfpafcvm0knrlylnf"))))
|
||||
(base32 "11q21vyrr6c6smyjy81k2k07zmn96ggjia9im9cxwvj0n88bm1fq"))
|
||||
(patches (list (search-patch "cmake-fix-tests.patch")))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:test-target "test"
|
||||
#:patches (list (assoc-ref %build-inputs "fix-tests"))
|
||||
#:patch-flags '("-p0")
|
||||
#:phases (alist-replace
|
||||
'configure
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
@@ -66,10 +65,9 @@
|
||||
(string-append "--prefix=" out)))))
|
||||
%standard-phases)))
|
||||
(inputs
|
||||
`(("file" ,file)
|
||||
("fix-tests" ,(search-patch "cmake-fix-tests.patch"))))
|
||||
`(("file" ,file)))
|
||||
(home-page "http://www.cmake.org/")
|
||||
(synopsis "A cross-platform, open-source build system")
|
||||
(synopsis "Cross-platform build system")
|
||||
(description
|
||||
"CMake is a family of tools designed to build, test and package software.
|
||||
CMake is used to control the software compilation process using simple platform
|
||||
|
||||
@@ -0,0 +1,49 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org>
|
||||
;;;
|
||||
;;; 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 complexity)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix licenses)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (gnu packages texinfo)
|
||||
#:use-module (gnu packages autogen))
|
||||
|
||||
(define-public complexity
|
||||
(package
|
||||
(name "complexity")
|
||||
(version "1.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/complexity/complexity-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1aad7n35ymxbj5dlpvm64dcd71b6i7hbmps0g7nkf47vj53l6y2j"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("texinfo" ,texinfo)
|
||||
("autogen" ,autogen)))
|
||||
(home-page "http://www.gnu.org/software/complexity/")
|
||||
(synopsis "Analyze complexity of C functions")
|
||||
(description
|
||||
"GNU complexity provides tools for finding procedures that are
|
||||
convoluted, overly long or otherwise difficult to understand. This
|
||||
may help in learning or reviewing unfamiliar code or perhaps
|
||||
highlighting your own code that seemed comprehensible when you wrote it.")
|
||||
(license gpl3+)))
|
||||
@@ -1,5 +1,6 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -21,7 +22,8 @@
|
||||
#:renamer (symbol-prefix-proc 'license:))
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix build-system gnu))
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (gnu packages which))
|
||||
|
||||
(define-public zlib
|
||||
(package
|
||||
@@ -42,12 +44,17 @@
|
||||
`(#:phases (alist-replace
|
||||
'configure
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
;; Zlib's home-made `configure' doesn't fails when passed
|
||||
;; Zlib's home-made `configure' fails when passed
|
||||
;; extra flags like `--enable-fast-install', so we need to
|
||||
;; invoke it with just what it understand.
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(zero? (system* "./configure"
|
||||
(string-append "--prefix=" out)))))
|
||||
;; 'configure' doesn't understand '--host'.
|
||||
,@(if (%current-target-system)
|
||||
`((setenv "CHOST" ,(%current-target-system)))
|
||||
'())
|
||||
(zero?
|
||||
(system* "./configure"
|
||||
(string-append "--prefix=" out)))))
|
||||
%standard-phases)))
|
||||
(home-page "http://zlib.net/")
|
||||
(synopsis "The zlib compression library")
|
||||
@@ -80,13 +87,10 @@ in compression.")
|
||||
;; FIXME: The test suite wants `less', and optionally Perl.
|
||||
'(#:tests? #f))
|
||||
(description
|
||||
"gzip (GNU zip) is a popular data compression program written by Jean-loup
|
||||
Gailly for the GNU project. Mark Adler wrote the decompression part.
|
||||
|
||||
We developed this program as a replacement for compress because of the Unisys
|
||||
and IBM patents covering the LZW algorithm used by compress. These patents
|
||||
made it impossible for us to use compress, and we needed a replacement. The
|
||||
superior compression ratio of gzip is just a bonus.")
|
||||
"GNU Gzip provides data compression and decompression utilities; the
|
||||
typical extension is \".gz\". Unlike the \"zip\" format, it compresses a single
|
||||
file; as a result, it is often used in conjunction with \"tar\", resulting in
|
||||
\".tar.gz\" or \".tgz\", etc.")
|
||||
(license license:gpl3+)
|
||||
(home-page "http://www.gnu.org/software/gzip/")))
|
||||
|
||||
@@ -112,7 +116,19 @@ superior compression ratio of gzip is just a bonus.")
|
||||
base libdir)
|
||||
(copy-file file
|
||||
(string-append libdir "/" base))))
|
||||
(find-files "." "^libbz2\\.so"))))))
|
||||
(find-files "." "^libbz2\\.so")))))
|
||||
(set-cross-environment
|
||||
'(lambda* (#:key target #:allow-other-keys)
|
||||
(substitute* (find-files "." "Makefile")
|
||||
(("CC=.*$")
|
||||
(string-append "CC = " target "-gcc\n"))
|
||||
(("AR=.*$")
|
||||
(string-append "AR = " target "-ar\n"))
|
||||
(("RANLIB=.*$")
|
||||
(string-append "RANLIB = " target "-ranlib\n"))
|
||||
(("^all:(.*)test" _ prerequisites)
|
||||
;; Remove 'all' -> 'test' dependency.
|
||||
(string-append "all:" prerequisites "\n"))))))
|
||||
(package
|
||||
(name "bzip2")
|
||||
(version "1.0.6")
|
||||
@@ -129,15 +145,34 @@ superior compression ratio of gzip is just a bonus.")
|
||||
(guix build utils)
|
||||
(srfi srfi-1))
|
||||
#:phases
|
||||
(alist-cons-before
|
||||
'build 'build-shared-lib ,build-shared-lib
|
||||
(alist-cons-after
|
||||
'install 'fix-man-dir ,fix-man-dir
|
||||
(alist-cons-after
|
||||
'install 'install-shared-lib ,install-shared-lib
|
||||
(alist-delete 'configure %standard-phases))))
|
||||
,(if (%current-target-system)
|
||||
|
||||
;; Cross-compilation: use the cross tools.
|
||||
`(alist-cons-before
|
||||
'build 'build-shared-lib ,build-shared-lib
|
||||
(alist-cons-after
|
||||
'install 'fix-man-dir ,fix-man-dir
|
||||
(alist-cons-after
|
||||
'install 'install-shared-lib ,install-shared-lib
|
||||
(alist-replace 'configure ,set-cross-environment
|
||||
%standard-phases))))
|
||||
|
||||
;; Native compilation: build the shared library.
|
||||
`(alist-cons-before
|
||||
'build 'build-shared-lib ,build-shared-lib
|
||||
(alist-cons-after
|
||||
'install 'fix-man-dir ,fix-man-dir
|
||||
(alist-cons-after
|
||||
'install 'install-shared-lib ,install-shared-lib
|
||||
(alist-delete 'configure %standard-phases)))))
|
||||
|
||||
#:make-flags (list (string-append "PREFIX="
|
||||
(assoc-ref %outputs "out")))))
|
||||
(assoc-ref %outputs "out")))
|
||||
|
||||
;; Don't attempt to run the tests when cross-compiling.
|
||||
,@(if (%current-target-system)
|
||||
'(#:tests? #f)
|
||||
'())))
|
||||
(synopsis "high-quality data compression program")
|
||||
(description
|
||||
"bzip2 is a freely available, patent free (see below), high-quality data
|
||||
@@ -205,14 +240,14 @@ format are designed to be portable across platforms.")
|
||||
(define-public lzip
|
||||
(package
|
||||
(name "lzip")
|
||||
(version "1.14")
|
||||
(version "1.15")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://savannah/lzip/lzip-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1rybhk2pxpfh2789ck9mrkdv3bpx7b7miwndlshb5vb02m9crxbz"))))
|
||||
"1dh5vmj5apizfawnsm50y7z064yx7cz3313przph16gwd3dgrlvw"))))
|
||||
(build-system gnu-build-system)
|
||||
(home-page "http://www.nongnu.org/lzip/lzip.html")
|
||||
(synopsis "Lossless data compressor based on the LZMA algorithm")
|
||||
@@ -222,3 +257,37 @@ one of gzip or bzip2. Lzip decompresses almost as fast as gzip and compresses
|
||||
more than bzip2, which makes it well suited for software distribution and data
|
||||
archiving. Lzip is a clean implementation of the LZMA algorithm.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public sharutils
|
||||
(package
|
||||
(name "sharutils")
|
||||
(version "4.14")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/sharutils/sharutils-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"033sq1v0cp0bi1mp320xaqwd4fhakqc5747hh6qa1asjrzpqiqza"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("which" ,which)))
|
||||
(arguments
|
||||
`(#:phases
|
||||
(alist-cons-after
|
||||
'patch-source-shebangs 'unpatch-source-shebang
|
||||
;; revert the patch-shebang phase on a script which is
|
||||
;; in fact test data
|
||||
(lambda* (#:key #:allow-other-keys)
|
||||
(substitute* "tests/shar-1.ok"
|
||||
(((which "sh")) "/bin/sh")))
|
||||
%standard-phases)))
|
||||
(home-page "http://www.gnu.org/software/sharutils/")
|
||||
(synopsis "Archives in shell scripts, uuencode/uudecode")
|
||||
(description
|
||||
"GNU sharutils is a package for creating and manipulating shell
|
||||
archives that can be readily emailed. A shell archive is a file that can be
|
||||
processed by a Bourne-type shell to unpack the original collection of files.
|
||||
This package is mostly for compatibility and historical interest.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
+13
-23
@@ -27,31 +27,21 @@
|
||||
(package
|
||||
(name "cpio")
|
||||
(version "2.11")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/cpio/cpio-"
|
||||
version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"1gavgpzqwgkpagjxw72xgxz52y1ifgz0ckqh8g7cckz7jvyhp0mv"))))
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/cpio/cpio-"
|
||||
version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"1gavgpzqwgkpagjxw72xgxz52y1ifgz0ckqh8g7cckz7jvyhp0mv"))
|
||||
(patches (list (search-patch "cpio-gets-undeclared.patch")))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:patches (list (assoc-ref %build-inputs
|
||||
"patch/gets"))))
|
||||
(inputs
|
||||
`(("patch/gets" ,(search-patch "cpio-gets-undeclared.patch"))))
|
||||
(home-page "https://www.gnu.org/software/cpio/")
|
||||
(synopsis "Manage cpio and tar file archives")
|
||||
(description
|
||||
"GNU Cpio copies files into or out of a cpio or tar archive. The
|
||||
archive can be another file on the disk, a magnetic tape, or a pipe.
|
||||
|
||||
GNU Cpio supports the following archive formats: binary, old ASCII, new
|
||||
ASCII, crc, HPUX binary, HPUX old ASCII, old tar, and POSIX.1 tar. The
|
||||
tar format is provided for compatability with the tar program. By
|
||||
default, cpio creates binary format archives, for compatibility with
|
||||
older cpio programs. When extracting from archives, cpio automatically
|
||||
recognizes which kind of archive it is reading and can read archives
|
||||
created on machines with a different byte-order.")
|
||||
"GNU cpio copies files into or out of cpio or tar archives. Indeed,
|
||||
many formats are supported, including legacy formats. The format is
|
||||
determined automatically by the program and is handled appropriately.
|
||||
Furthermore, the location of the archive is not important. It can be another
|
||||
file on the drive, a tape, or data on a pipe.")
|
||||
(license gpl3+)))
|
||||
|
||||
@@ -37,9 +37,8 @@
|
||||
(home-page "http://www.gnu.org/software/cppi/")
|
||||
(synopsis "Indent C preprocessor directives to reflect nesting and more")
|
||||
(description
|
||||
"GNU cppi indents C preprocessor directives to reflect their nesting and
|
||||
ensure that there is exactly one space character between each #if, #elif,
|
||||
#define directive and the following token. The number of spaces between the
|
||||
`#' and the following directive must correspond to the level of nesting of
|
||||
that directive.")
|
||||
"GNU Cppi processes C source code files to properly indent the
|
||||
preprocessor directives to reflect their nesting. It also performs other
|
||||
standardizations, such as correcting the number of spaces between directives
|
||||
and the text following them.")
|
||||
(license gpl3+)))
|
||||
|
||||
@@ -70,10 +70,13 @@
|
||||
"Return a cross-compiler for TARGET, where TARGET is a GNU triplet. Use
|
||||
XBINUTILS as the associated cross-Binutils. If LIBC is false, then build a
|
||||
GCC that does not target a libc; otherwise, target that libc."
|
||||
(package (inherit gcc-4.7)
|
||||
(package (inherit gcc-4.8)
|
||||
(name (string-append "gcc-cross-"
|
||||
(if libc "" "sans-libc-")
|
||||
target))
|
||||
(source (origin (inherit (package-source gcc-4.8))
|
||||
(patches
|
||||
(list (search-patch "gcc-cross-environment-variables.patch")))))
|
||||
(arguments
|
||||
`(#:implicit-inputs? #f
|
||||
#:modules ((guix build gnu-build-system)
|
||||
@@ -81,9 +84,8 @@ GCC that does not target a libc; otherwise, target that libc."
|
||||
(ice-9 regex)
|
||||
(srfi srfi-1)
|
||||
(srfi srfi-26))
|
||||
#:patches (list (assoc-ref %build-inputs "patch/cross-env-vars"))
|
||||
|
||||
,@(substitute-keyword-arguments (package-arguments gcc-4.7)
|
||||
,@(substitute-keyword-arguments (package-arguments gcc-4.8)
|
||||
((#:configure-flags flags)
|
||||
`(append (list ,(string-append "--target=" target)
|
||||
,@(gcc-configure-flags-for-triplet target)
|
||||
@@ -99,6 +101,7 @@ GCC that does not target a libc; otherwise, target that libc."
|
||||
"--enable-languages=c"
|
||||
|
||||
"--disable-threads" ; libgcc, would need libc
|
||||
"--disable-libatomic"
|
||||
"--disable-libmudflap"
|
||||
"--disable-libgomp"
|
||||
"--disable-libssp"
|
||||
@@ -177,17 +180,14 @@ GCC that does not target a libc; otherwise, target that libc."
|
||||
#f))))
|
||||
|
||||
(native-inputs
|
||||
`(("patch/cross-env-vars"
|
||||
,(search-patch "gcc-cross-environment-variables.patch"))
|
||||
|
||||
("binutils-cross" ,xbinutils)
|
||||
`(("binutils-cross" ,xbinutils)
|
||||
|
||||
;; Call it differently so that the builder can check whether the "libc"
|
||||
;; input is #f.
|
||||
("libc-native" ,@(assoc-ref %final-inputs "libc"))
|
||||
|
||||
;; Remaining inputs.
|
||||
,@(let ((inputs (append (package-inputs gcc-4.7)
|
||||
,@(let ((inputs (append (package-inputs gcc-4.8)
|
||||
(alist-delete "libc" %final-inputs))))
|
||||
(if libc
|
||||
`(("libc" ,libc)
|
||||
|
||||
@@ -40,19 +40,8 @@
|
||||
(synopsis "Data recovery utility")
|
||||
(native-inputs `(("lzip" ,lzip)))
|
||||
(description
|
||||
"GNU Ddrescue is a data recovery tool. It copies data from one
|
||||
file or block device (e.g., hard disk, CD-ROM) to another, trying hard to
|
||||
rescue data in case of read errors.
|
||||
|
||||
The basic operation of Ddrescue is fully automatic. That is, you don't
|
||||
have to wait for an error, stop the program, read the log, run it in
|
||||
reverse mode, etc.
|
||||
|
||||
If you use the logfile feature of Ddrescue, the data is rescued very
|
||||
efficiently (only the needed blocks are read). Also, you can interrupt
|
||||
the rescue at any time and resume it later at the same point.
|
||||
|
||||
Automatic merging of backups: If you have two or more damaged copies of
|
||||
a file and run Ddrescue on all of them, one at a time, with the same
|
||||
output file, you will probably obtain a complete and error-free file.")
|
||||
"GNU ddrescue is a fully automated data recovery tool. It copies data
|
||||
from one file to another, working to rescue data in case of read errors. The
|
||||
program also includes a tool for manipulating its log files, which are used
|
||||
to recover data more efficiently by only reading the necessary blocks.")
|
||||
(license gpl3+)))
|
||||
|
||||
@@ -77,12 +77,7 @@
|
||||
"http://www.gnu.org/software/dejagnu/")
|
||||
(synopsis "GNU software testing framework")
|
||||
(description
|
||||
"DejaGnu is a framework for testing other programs. Its purpose
|
||||
is to provide a single front end for all tests. Think of it as a
|
||||
custom library of Tcl procedures crafted to support writing a
|
||||
test harness. A test harness is the testing infrastructure that
|
||||
is created to support a specific program or tool. Each program
|
||||
can have multiple testsuites, all supported by a single test
|
||||
harness. DejaGnu is written in Expect, which in turn uses Tcl --
|
||||
Tool command language.")
|
||||
"DejaGnu is a framework for testing software. In effect, it serves as
|
||||
a front-end for all tests written for a program. Thus, each program can have
|
||||
multiple test suites, which are then all managed by a single harness.")
|
||||
(license gpl2+)))
|
||||
|
||||
+5
-8
@@ -45,12 +45,9 @@
|
||||
(home-page "http://www.gnu.org/software/ed/")
|
||||
(synopsis "Line-oriented text editor")
|
||||
(description
|
||||
"GNU ed is a line-oriented text editor. It is used to create,
|
||||
display, modify and otherwise manipulate text files, both
|
||||
interactively and via shell scripts. A restricted version of ed,
|
||||
red, can only edit files in the current directory and cannot
|
||||
execute shell commands. Ed is the \"standard\" text editor in the
|
||||
sense that it is the original editor for Unix, and thus widely
|
||||
available. For most purposes, however, it is superseded by
|
||||
full-screen editors such as GNU Emacs or GNU Moe.")
|
||||
"Ed is a line-oriented text editor: rather than offering an overview of
|
||||
a document, ed performs editing one line at a time. It can be executed both
|
||||
interactively and via shell scripts. Its method of command input allows
|
||||
complex tasks to be performed in an automated way. GNU ed offers several
|
||||
extensions over the standard utility.")
|
||||
(license gpl3+)))
|
||||
|
||||
+12
-21
@@ -48,14 +48,14 @@
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1385qzs3bsa52s5rcncbrkxlydkw0ajzrvfxgv8rws5fx512kakh"))))
|
||||
"1385qzs3bsa52s5rcncbrkxlydkw0ajzrvfxgv8rws5fx512kakh"))
|
||||
(patches (list (search-patch "emacs-configure-sh.patch")))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:configure-flags
|
||||
(list (string-append "--with-crt-dir=" (assoc-ref %build-inputs "libc")
|
||||
"/lib")
|
||||
"--with-gif=no") ; XXX: add libungif
|
||||
#:patches (list (assoc-ref %build-inputs "patch/epaths"))
|
||||
#:phases (alist-cons-before
|
||||
'configure 'fix-/bin/pwd
|
||||
(lambda _
|
||||
@@ -72,7 +72,7 @@
|
||||
|
||||
;; TODO: Add the optional dependencies.
|
||||
("xlibs" ,libx11)
|
||||
("gtk+" ,gtk+)
|
||||
("gtk+" ,gtk+-2)
|
||||
("libXft" ,libxft)
|
||||
("libtiff" ,libtiff)
|
||||
;; ("libungif" ,libungif)
|
||||
@@ -85,27 +85,18 @@
|
||||
|
||||
("libXpm" ,libxpm)
|
||||
("libxml2" ,libxml2)
|
||||
("dbus" ,dbus)
|
||||
|
||||
("patch/epaths" ,(search-patch "emacs-configure-sh.patch"))
|
||||
))
|
||||
("dbus" ,dbus)))
|
||||
(home-page "http://www.gnu.org/software/emacs/")
|
||||
(synopsis "The extensible, customizable, self-documenting text editor")
|
||||
(description
|
||||
"GNU Emacs is an extensible, customizable text editor—and more. At its
|
||||
core is an interpreter for Emacs Lisp, a dialect of the Lisp
|
||||
programming language with extensions to support text editing.
|
||||
|
||||
The features of GNU Emacs include: content-sensitive editing modes,
|
||||
including syntax coloring, for a wide variety of file types including
|
||||
plain text, source code, and HTML; complete built-in documentation,
|
||||
including a tutorial for new users; full Unicode support for nearly all
|
||||
human languages and their scripts; highly customizable, using Emacs
|
||||
Lisp code or a graphical interface; a large number of extensions that
|
||||
add other functionality, including a project planner, mail and news
|
||||
reader, debugger interface, calendar, and more. Many of these
|
||||
extensions are distributed with GNU Emacs; others are available
|
||||
separately.")
|
||||
"GNU Emacs is an extensible and highly customizable text editor. It is
|
||||
based on an Emacs Lisp interpreter with extensions for text editing. Emacs
|
||||
has been extended in essentially all areas of computing, giving rise to a
|
||||
vast array of packages supporting, e.g., email, IRC and XMPP messaging,
|
||||
spreadsheets, remote server editing, and much more. Emacs includes extensive
|
||||
documentation on all aspects of the system, from basic editing to writing
|
||||
large Lisp programs. It has full Unicode support for nearly all human
|
||||
languages.")
|
||||
(license gpl3+)))
|
||||
|
||||
|
||||
|
||||
@@ -18,8 +18,7 @@
|
||||
|
||||
(define-module (gnu packages fdisk)
|
||||
#:use-module ((guix licenses) #:select (gpl3+))
|
||||
#:use-module ((gnu packages gettext)
|
||||
#:renamer (symbol-prefix-proc 'guix:))
|
||||
#:use-module (gnu packages gettext)
|
||||
#:use-module (gnu packages guile)
|
||||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu packages parted)
|
||||
@@ -41,13 +40,14 @@
|
||||
"04nd7civ561x2lwcmxhsqbprml3178jfc58fy1v7hzqg5k4nbhy3"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("gettext" ,guix:gettext)
|
||||
`(("gettext" ,gnu-gettext)
|
||||
("guile" ,guile-1.8)
|
||||
("util-linux" ,util-linux)
|
||||
("parted" ,parted)))
|
||||
(home-page "https://www.gnu.org/software/fdisk/")
|
||||
(synopsis "Low-level disk partitioning and formatting")
|
||||
(description
|
||||
"GNU Fdisk provides alternatives to util-linux fdisk and util-linux
|
||||
cfdisk. It uses GNU Parted.")
|
||||
"GNU fdisk provides a GNU version of the common disk partitioning tool
|
||||
fdisk. fdisk is used for the creation and manipulation of disk partition
|
||||
tables, and it understands a variety of different formats.")
|
||||
(license gpl3+)))
|
||||
|
||||
+26
-9
@@ -1,5 +1,5 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2012 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -24,9 +24,11 @@
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages m4)
|
||||
#:use-module (gnu packages bison)
|
||||
#:use-module (gnu packages indent))
|
||||
#:use-module (gnu packages indent)
|
||||
#:use-module (srfi srfi-1)
|
||||
#:export (flex))
|
||||
|
||||
(define-public flex
|
||||
(define flex
|
||||
(package
|
||||
(name "flex")
|
||||
(version "2.5.37")
|
||||
@@ -36,13 +38,28 @@
|
||||
version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"0ah5mi4j62b85a9rllv1004mzjb5cd0mn4glvz13p88rpx77pahp"))))
|
||||
"0ah5mi4j62b85a9rllv1004mzjb5cd0mn4glvz13p88rpx77pahp"))
|
||||
(patches (list (search-patch "flex-bison-tests.patch")))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:patches (list (assoc-ref %build-inputs "patch/bison-tests"))))
|
||||
(inputs `(("patch/bison-tests" ,(search-patch "flex-bison-tests.patch"))
|
||||
("bison" ,bison)
|
||||
("indent" ,indent)))
|
||||
(inputs
|
||||
(let ((bison-for-tests
|
||||
;; Work around an incompatibility with Bison 3.0:
|
||||
;; <http://lists.gnu.org/archive/html/bug-bison/2013-09/msg00014.html>.
|
||||
(package (inherit bison)
|
||||
(version "2.7.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/bison/bison-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1yx7isx67sdmyijvihgyra1f59fwdz7sqriginvavfj5yb5ss2dl"))))
|
||||
|
||||
;; Unlike Bison 3.0, this version did not need Flex for its
|
||||
;; tests, so it allows us to break the cycle.
|
||||
(inputs (alist-delete "flex" (package-inputs bison))))))
|
||||
`(("bison" ,bison-for-tests)
|
||||
("indent" ,indent))))
|
||||
(propagated-inputs `(("m4" ,m4)))
|
||||
(home-page "http://flex.sourceforge.net/")
|
||||
(synopsis "A fast lexical analyser generator")
|
||||
|
||||
@@ -141,12 +141,10 @@ X11-system or any other graphical user interface. ")
|
||||
(string-map (lambda (x) (if (char=? x #\.) #\_ x)) version)
|
||||
".tar.gz"))
|
||||
(sha256 (base32
|
||||
"0fjiwvic8mdxpkyccfp7zh26y9xnvkp0skqbyfkrjiacd191k82r"))))
|
||||
"0fjiwvic8mdxpkyccfp7zh26y9xnvkp0skqbyfkrjiacd191k82r"))
|
||||
(patches (list (search-patch "teckit-cstdio.patch")))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs `(("patch/teckit" ,(search-patch "teckit-cstdio.patch"))
|
||||
("zlib" ,zlib)))
|
||||
(arguments
|
||||
`(#:patches (list (assoc-ref %build-inputs "patch/teckit"))))
|
||||
(inputs `(("zlib" ,zlib)))
|
||||
(synopsis "TECkit, a toolkit for encoding conversions")
|
||||
(description
|
||||
"TECkit is a low-level toolkit intended to be used by other applications
|
||||
|
||||
@@ -27,27 +27,23 @@
|
||||
(define-public freeipmi
|
||||
(package
|
||||
(name "freeipmi")
|
||||
(version "1.2.8")
|
||||
(version "1.3.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/freeipmi/freeipmi-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0aqbjlqv8nh5nnfx5icyvcvws87xnwqjqsfszjx0jqb539snrc58"))))
|
||||
"0pmgr66k4cx0gdwzfby6643m15bb4q2yx2g5r2jr3qidrfyxhi3j"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("readline" ,readline) ("libgcrypt" ,libgcrypt)))
|
||||
(home-page "http://www.gnu.org/software/freeipmi/")
|
||||
(synopsis "Platform management, including sensor and power monitoring")
|
||||
(description
|
||||
"GNU FreeIPMI provides in-band and out-of-band IPMI software based on the
|
||||
IPMI v1.5/2.0 specification. The IPMI specification defines a set of
|
||||
interfaces for platform management and is implemented by a number vendors for
|
||||
system management. The features of IPMI that most users will be interested in
|
||||
are sensor monitoring, system event monitoring, power control, and
|
||||
serial-over-LAN (SOL). The FreeIPMI tools and libraries listed below should
|
||||
provide users with the ability to access and utilize these and many other
|
||||
features. A number of useful features for large HPC or cluster environments
|
||||
have also been implemented into FreeIPMI.")
|
||||
"GNU FreeIPMI is a collection of in-band and out-of-band IPMI software
|
||||
in accordance with the IPMI v1.5/2.0 specification. These programs provide a
|
||||
set of interfaces for platform management. Common functionality includes
|
||||
sensor monitoring, system event monitoring, power control and
|
||||
serial-over-LAN.")
|
||||
(license gpl3+)))
|
||||
|
||||
+4
-10
@@ -65,14 +65,8 @@
|
||||
(home-page "http://www.gnu.org/software/gawk/")
|
||||
(synopsis "A text scanning and processing language")
|
||||
(description
|
||||
"Many computer users need to manipulate text files: extract and then
|
||||
operate on data from parts of certain lines while discarding the rest, make
|
||||
changes in various text files wherever certain patterns appear, and so on.
|
||||
To write a program to do these things in a language such as C or Pascal is a
|
||||
time-consuming inconvenience that may take many lines of code. The job is
|
||||
easy with awk, especially the GNU implementation: Gawk.
|
||||
|
||||
The awk utility interprets a special-purpose programming language that makes
|
||||
it possible to handle many data-reformatting jobs with just a few lines of
|
||||
code.")
|
||||
"Gawk is the GNU implementation of Awk, a specialized programming
|
||||
language for the easy manipulation of formatted text, such as tables of data.
|
||||
Gawk features many extensions beyond the traditional implementation,
|
||||
including network access, sorting, and large libraries.")
|
||||
(license gpl3+)))
|
||||
|
||||
@@ -37,13 +37,11 @@
|
||||
(home-page "http://www.gnu.org/software/gcal")
|
||||
(synopsis "Calculating and printing a wide variety of calendars")
|
||||
(description
|
||||
"Gcal is a program for calculating and printing calendars. Gcal displays
|
||||
hybrid and proleptic Julian and Gregorian calendar sheets,respectively for one
|
||||
month, three months, or a whole year. It also displays eternal holiday lists
|
||||
for many countries around the globe, and features a very powerful creation of
|
||||
fixed date lists that can be used for reminding purposes. Gcal can calculate
|
||||
various astronomical data and times of the Sun and the Moon for pleasure at
|
||||
any location, precisely enough for most civil purposes. Gcal supports some
|
||||
other calendar systems, for example, the Chinese and Japanese calendars, the
|
||||
Hebrew calendar, and the civil Islamic calendar, too.")
|
||||
"Gcal is a program to calculate and print calendars on the
|
||||
command-line. Calendars can be printed in 1-month, 3-month or whole-year
|
||||
views. In addition, eternal holiday lists can be generated for many
|
||||
countries, which can be complemented by user-made lists of fixed dates to
|
||||
make an agenda. Gcal can also calculate astronomical data, such as the
|
||||
phases of the moon, and supports alternative calendar formats: Julian,
|
||||
Gregorian, Islamic, Chinese and more.")
|
||||
(license gpl3+)))
|
||||
|
||||
+59
-18
@@ -27,6 +27,7 @@
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (ice-9 regex))
|
||||
|
||||
(define %gcc-infrastructure
|
||||
@@ -72,6 +73,9 @@ where the OS part is overloaded to denote a specific ABI---into GCC
|
||||
"--enable-languages=c,c++"
|
||||
"--disable-multilib"
|
||||
|
||||
;; No pre-compiled libstdc++ headers, to save space.
|
||||
"--disable-libstdcxx-pch"
|
||||
|
||||
"--with-local-prefix=/no-gcc-local-prefix"
|
||||
|
||||
,(let ((libc (assoc-ref %build-inputs "libc")))
|
||||
@@ -114,7 +118,9 @@ where the OS part is overloaded to denote a specific ABI---into GCC
|
||||
#:strip-binaries? ,stripped?
|
||||
#:configure-flags ,(configure-flags)
|
||||
#:make-flags
|
||||
(let ((libc (assoc-ref %build-inputs "libc")))
|
||||
(let* ((libc (assoc-ref %build-inputs "libc"))
|
||||
(libc-native (or (assoc-ref %build-inputs "libc-native")
|
||||
libc)))
|
||||
`(,@(if libc
|
||||
(list (string-append "LDFLAGS_FOR_TARGET="
|
||||
"-B" libc "/lib "
|
||||
@@ -122,6 +128,12 @@ where the OS part is overloaded to denote a specific ABI---into GCC
|
||||
"-Wl," libc
|
||||
,(glibc-dynamic-linker)))
|
||||
'())
|
||||
|
||||
;; Native programs like 'genhooks' also need that right.
|
||||
,(string-append "LDFLAGS="
|
||||
"-Wl,-rpath=" libc-native "/lib "
|
||||
"-Wl,-dynamic-linker "
|
||||
"-Wl," libc-native ,(glibc-dynamic-linker))
|
||||
,(string-append "BOOT_CFLAGS=-O2 "
|
||||
,(if stripped? "-g0" "-g"))))
|
||||
|
||||
@@ -147,18 +159,21 @@ where the OS part is overloaded to denote a specific ABI---into GCC
|
||||
;; Tell where to find libstdc++, libc, and `?crt*.o', except
|
||||
;; `crt{begin,end}.o', which come with GCC.
|
||||
(substitute* (find-files "gcc/config"
|
||||
"^(gnu-user(64)?|linux-elf)\\.h$")
|
||||
(("#define LIB_SPEC (.*)$" _ suffix)
|
||||
;; Note that with this "lib" spec, we may still add a
|
||||
;; RUNPATH to GCC even when `libgcc_s' is not NEEDED.
|
||||
;; There's not much that can be done to avoid it, though.
|
||||
(format #f "#define LIB_SPEC \"-L~a/lib %{!static:-rpath=~a/lib \
|
||||
%{!static-libgcc:-rpath=~a/lib64 -rpath=~a/lib}} \" ~a"
|
||||
"^gnu-user.*\\.h$")
|
||||
(("#define GNU_USER_TARGET_LIB_SPEC (.*)$" _ suffix)
|
||||
;; Help libgcc_s.so be found (see also below.) Always use
|
||||
;; '-lgcc_s' so that libgcc_s.so is always found by those
|
||||
;; programs that use 'pthread_cancel' (glibc dlopens
|
||||
;; libgcc_s.so when pthread_cancel support is needed, but
|
||||
;; having it in the application's RUNPATH isn't enough; see
|
||||
;; <http://sourceware.org/ml/libc-help/2013-11/msg00023.html>.)
|
||||
(format #f "#define GNU_USER_TARGET_LIB_SPEC \
|
||||
\"-L~a/lib %{!static:-rpath=~a/lib %{!static-libgcc:-rpath=~a/lib64 -rpath=~a/lib -lgcc_s}} \" ~a"
|
||||
libc libc out out suffix))
|
||||
(("#define STARTFILE_SPEC.*$" line)
|
||||
(("#define GNU_USER_TARGET_STARTFILE_SPEC.*$" line)
|
||||
(format #f "#define STANDARD_STARTFILE_PREFIX_1 \"~a/lib\"
|
||||
#define STANDARD_STARTFILE_PREFIX_2 \"\"
|
||||
~a~%"
|
||||
~a"
|
||||
libc line))))
|
||||
|
||||
;; Don't retain a dependency on the build-time sed.
|
||||
@@ -194,25 +209,51 @@ where the OS part is overloaded to denote a specific ABI---into GCC
|
||||
(properties `((gcc-libc . ,(assoc-ref inputs "libc"))))
|
||||
(synopsis "GNU Compiler Collection")
|
||||
(description
|
||||
"The GNU Compiler Collection includes compiler front ends for C, C++,
|
||||
Objective-C, Fortran, OpenMP for C/C++/Fortran, Java, and Ada, as well as
|
||||
libraries for these languages (libstdc++, libgcj, libgomp,...).
|
||||
|
||||
GCC development is a part of the GNU Project, aiming to improve the compiler
|
||||
used in the GNU system including the GNU/Linux variant.")
|
||||
"GCC is the GNU Compiler Collection. It provides compiler front-ends
|
||||
for several languages, including C, C++, Objective-C, Fortran, Java, Ada, and
|
||||
Go. It also includes runtime support libraries for these languages.")
|
||||
(license gpl3+)
|
||||
(home-page "http://gcc.gnu.org/"))))
|
||||
|
||||
(define-public gcc-4.8
|
||||
(package (inherit gcc-4.7)
|
||||
(version "4.8.1")
|
||||
(version "4.8.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/gcc/gcc-"
|
||||
version "/gcc-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"04sqn0ds17ys8l6zn7vyyvjz1a7hsk4zb0381vlw9wnr7az48nsl"))))))
|
||||
"1j6dwgby4g3p3lz7zkss32ghr45zpdidrg8xvazvn91lqxv25p09"))))))
|
||||
|
||||
(define (custom-gcc gcc name languages)
|
||||
"Return a custom version of GCC that supports LANGUAGES."
|
||||
(package (inherit gcc)
|
||||
(name name)
|
||||
(arguments
|
||||
(substitute-keyword-arguments `(#:modules ((guix build gnu-build-system)
|
||||
(guix build utils)
|
||||
(ice-9 regex)
|
||||
(srfi srfi-1)
|
||||
(srfi srfi-26))
|
||||
,@(package-arguments gcc))
|
||||
((#:configure-flags flags)
|
||||
`(cons (string-append "--enable-languages="
|
||||
,(string-join languages ","))
|
||||
(remove (cut string-match "--enable-languages.*" <>)
|
||||
,flags)))))))
|
||||
|
||||
(define-public gfortran-4.8
|
||||
(custom-gcc gcc-4.8 "gfortran" '("fortran")))
|
||||
|
||||
(define-public gccgo-4.8
|
||||
(custom-gcc gcc-4.8 "gccgo" '("go")))
|
||||
|
||||
(define-public gcc-objc-4.8
|
||||
(custom-gcc gcc-4.8 "gcc-objc" '("objc")))
|
||||
|
||||
(define-public gcc-objc++-4.8
|
||||
(custom-gcc gcc-4.8 "gcc-objc++" '("obj-c++")))
|
||||
|
||||
(define-public isl
|
||||
(package
|
||||
|
||||
+4
-1
@@ -20,6 +20,7 @@
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix download)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages libpng)
|
||||
#:use-module (gnu packages libjpeg)
|
||||
#:use-module (gnu packages fontutils)
|
||||
@@ -40,7 +41,9 @@
|
||||
(uri "https://bitbucket.org/libgd/gd-libgd/get/GD_2_0_33.tar.gz")
|
||||
(sha256
|
||||
(base32
|
||||
"0yrbx8mj9pykyzm0zl1q86xlkdvkajcsf5jmg688vhw9yc5wmbbw"))))
|
||||
"0yrbx8mj9pykyzm0zl1q86xlkdvkajcsf5jmg688vhw9yc5wmbbw"))
|
||||
(patches
|
||||
(list (search-patch "gd-mips64-deplibs-fix.patch")))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:phases (alist-cons-after
|
||||
|
||||
+11
-6
@@ -17,6 +17,7 @@
|
||||
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu packages gdb)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages ncurses)
|
||||
#:use-module (gnu packages readline)
|
||||
#:use-module (gnu packages dejagnu)
|
||||
@@ -32,20 +33,22 @@
|
||||
(define-public gdb
|
||||
(package
|
||||
(name "gdb")
|
||||
(version "7.6")
|
||||
(version "7.6.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/gdb/gdb-"
|
||||
version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"06yzggy97qka6fs1vdz4q0d2fgrpm3iaj7dzvf1ww377bvryh454"))))
|
||||
"1s6hjqmq7xz10hqx45dgrpfh5mla578shn3zxgnrsv66w4n0wsig"))
|
||||
(patches (list (search-patch "gdb-loongson-madd-fix.patch")))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:phases (alist-cons-after
|
||||
'configure 'post-configure
|
||||
(lambda _
|
||||
(patch-makefile-SHELL "gdb/gdbserver/Makefile.in"))
|
||||
(for-each patch-makefile-SHELL
|
||||
(find-files "." "Makefile\\.in")))
|
||||
%standard-phases)))
|
||||
(inputs
|
||||
`(("expat" ,expat)
|
||||
@@ -59,7 +62,9 @@
|
||||
(home-page "http://www.gnu.org/software/gdb/")
|
||||
(synopsis "The GNU debugger")
|
||||
(description
|
||||
"GDB, the GNU Project debugger, allows you to see what is going
|
||||
on `inside' another program while it executes -- or what another
|
||||
program was doing at the moment it crashed.")
|
||||
"GDB is the GNU debugger. With it, you can monitor what a program is
|
||||
doing while it runs or what it was doing just before a crash. It allows you
|
||||
to specify the runtime conditions, to define breakpoints, and to change how
|
||||
the program is running to try to fix bugs. It can be used to debug programs
|
||||
written in C, C++, Ada, Objective-C, Pascal and more.")
|
||||
(license gpl3+)))
|
||||
|
||||
+3
-15
@@ -40,19 +40,7 @@
|
||||
(synopsis
|
||||
"Hash library of database functions compatible with traditional dbm")
|
||||
(description
|
||||
"GNU dbm (or GDBM, for short) is a library of database functions
|
||||
that use extensible hashing and work similar to the standard UNIX dbm.
|
||||
These routines are provided to a programmer needing to create and
|
||||
manipulate a hashed database.
|
||||
|
||||
The basic use of GDBM is to store key/data pairs in a data file. Each
|
||||
key must be unique and each key is paired with only one data item.
|
||||
|
||||
The library provides primitives for storing key/data pairs, searching
|
||||
and retrieving the data by its key and deleting a key along with its
|
||||
data. It also support sequential iteration over all key/data pairs in a
|
||||
database.
|
||||
|
||||
For compatibility with programs using old UNIX dbm function, the package
|
||||
also provides traditional dbm and ndbm interfaces.")
|
||||
"GDBM is a library for manipulating hashed databases. It is used to
|
||||
store key/value pairs in a file in a manner similar to the Unix dbm library
|
||||
and provides interfaces to the traditional file format.")
|
||||
(license gpl3+)))
|
||||
|
||||
@@ -76,7 +76,7 @@ and XMP metadata of images in various formats.")
|
||||
("lcms" ,lcms)
|
||||
("exiv2" ,exiv2)
|
||||
("libpng" ,libpng)
|
||||
("gtk+" ,gtk+)
|
||||
("gtk+" ,gtk+-2)
|
||||
("pkg-config" ,pkg-config)))
|
||||
(home-page "http://geeqie.sourceforge.net")
|
||||
(synopsis "Lightweight GTK+ based image viewer")
|
||||
|
||||
+27
-22
@@ -17,26 +17,42 @@
|
||||
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu packages gettext)
|
||||
#:use-module (guix licenses)
|
||||
#:use-module ((guix licenses) #:select (gpl3))
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix build-system gnu))
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (gnu packages xml))
|
||||
|
||||
(define-public gettext
|
||||
;; Use that name to avoid clashes with Guile's 'gettext' procedure.
|
||||
;;
|
||||
;; We used to resort to #:renamer on the user side, but that prevented
|
||||
;; circular dependencies involving (gnu packages gettext). This is because
|
||||
;; 'resolve-interface' (as of Guile 2.0.9) iterates eagerly over the used
|
||||
;; module when there's a #:renamer, and that module may be empty at that point
|
||||
;; in case or circular dependencies.
|
||||
(define-public gnu-gettext
|
||||
(package
|
||||
(name "gettext")
|
||||
(version "0.18.3")
|
||||
(version "0.18.3.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/gettext/gettext-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0j7rp56c61j4k1bz1xdc041hzv7186yyzhbp95fmc0zq7l2c3wrn"))))
|
||||
"0p940zmmw1lndvdhck2vrazikjhr02affwy47mmpfxqvacrrm3qd"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("expat" ,expat)))
|
||||
(arguments
|
||||
`(#:phases (alist-cons-before
|
||||
'configure 'link-expat
|
||||
(lambda _
|
||||
(substitute* "gettext-tools/configure"
|
||||
(("LIBEXPAT=\"-ldl\"") "LIBEXPAT=\"-ldl -lexpat\"")
|
||||
(("LTLIBEXPAT=\"-ldl\"") "LTLIBEXPAT=\"-ldl -lexpat\"")))
|
||||
(alist-cons-before
|
||||
'check 'patch-tests
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let ((bash (which "sh")))
|
||||
@@ -48,24 +64,13 @@
|
||||
"posix_spawn")
|
||||
(("/bin/sh")
|
||||
bash))))
|
||||
%standard-phases)))
|
||||
%standard-phases))))
|
||||
(home-page "http://www.gnu.org/software/gettext/")
|
||||
(synopsis "Tools and documentation for translation")
|
||||
(description
|
||||
"Usually, programs are written and documented in English, and use
|
||||
English at execution time for interacting with users. Using a common
|
||||
language is quite handy for communication between developers,
|
||||
maintainers and users from all countries. On the other hand, most
|
||||
people are less comfortable with English than with their own native
|
||||
language, and would rather be using their mother tongue for day to
|
||||
day's work, as far as possible. Many would simply love seeing their
|
||||
computer screen showing a lot less of English, and far more of their
|
||||
own language.
|
||||
|
||||
GNU `gettext' is an important step for the GNU Translation Project, as
|
||||
bit is an asset on which we may build many other steps. This package
|
||||
offers to programmers, translators, and even users, a well integrated
|
||||
set of tools and documentation. Specifically, the GNU `gettext'
|
||||
utilities are a set of tools that provides a framework to help other
|
||||
GNU packages produce multi-lingual messages.")
|
||||
"GNU Gettext is a package providing a framework for translating the
|
||||
textual output of programs into multiple languages. It provides translators
|
||||
with the means to create message catalogs, as well as an Emacs mode to work
|
||||
with them, and a runtime library to load translated messages from the
|
||||
catalogs. Nearly all GNU packages use Gettext.")
|
||||
(license gpl3))) ; some files are under GPLv2+
|
||||
|
||||
@@ -165,10 +165,10 @@ printing, and psresize, for adjusting page sizes.")
|
||||
%standard-phases)))))
|
||||
(synopsis "PostScript and PDF interpreter")
|
||||
(description
|
||||
"GNU Ghostscript is an interpreter for PostScript and Portable Document
|
||||
Format (PDF) files.
|
||||
It consists of a PostScript interpreter layer, and a graphics
|
||||
library.")
|
||||
"Ghostscript is an interpreter for the PostScript language and the PDF
|
||||
file format. It also includes a C library that implements the graphics
|
||||
capabilities of the PostScript language. It supports a wide variety of
|
||||
output file formats and printers.")
|
||||
(license license:gpl3+)
|
||||
(home-page "http://www.gnu.org/software/ghostscript/")))
|
||||
|
||||
|
||||
@@ -22,8 +22,7 @@
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module ((gnu packages gettext)
|
||||
#:renamer (symbol-prefix-proc 'gnu:))
|
||||
#:use-module (gnu packages gettext)
|
||||
#:use-module (gnu packages gtk)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages xorg))
|
||||
@@ -42,8 +41,8 @@
|
||||
"12rc6zaa7kb60b9744lbrlfkxxfniprm6x0mispv63h4kh75navh"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("gettext" ,gnu:gettext)
|
||||
("gtk+" ,gtk+)
|
||||
`(("gettext" ,gnu-gettext)
|
||||
("gtk+" ,gtk+-2)
|
||||
("libice" ,libice)
|
||||
("libsm" ,libsm)))
|
||||
(native-inputs
|
||||
|
||||
@@ -0,0 +1,112 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2013 Guy Grant <gzg@riseup.net>
|
||||
;;;
|
||||
;;; 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 gl)
|
||||
#:use-module ((guix licenses)
|
||||
#:renamer (symbol-prefix-proc 'l:))
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (gnu packages xorg)
|
||||
#:use-module (gnu packages fontutils))
|
||||
|
||||
(define-public glu
|
||||
(package
|
||||
(name "glu")
|
||||
(version "9.0.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "ftp://ftp.freedesktop.org/pub/mesa/glu/glu-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "0r72yyhj09x3krn3kn629jqbwyq50ji8w5ri2pn6zwrk35m4g1s3"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs `(("mesa" ,mesa)))
|
||||
(home-page "http://www.opengl.org/archives/resources/faq/technical/glu.htm")
|
||||
(synopsis "Mesa OpenGL Utility library")
|
||||
(description
|
||||
"GLU, or OpenGL Utility Library provides some higher-level functionality
|
||||
not provided by just OpenGL itself. Some of GLU's Features
|
||||
include: Scaling of 2D images and creation of mipmap pyramids,
|
||||
Transformation of object coordinates into device coordinates and
|
||||
vice versa, Support for NURBS surfaces, Support for tessellation
|
||||
of concave or bow tie polygonal primitives, Specialty transformation
|
||||
matrices for creating perspective and orthographic projections,
|
||||
positioning a camera, and selection/picking, Rendering of disk,
|
||||
cylinder, and sphere primitives, Interpreting OpenGL error values
|
||||
as ASCII text.")
|
||||
(license (l:x11-style "http://directory.fsf.org/wiki/License:SGIFreeBv2"))))
|
||||
|
||||
(define-public freeglut
|
||||
(package
|
||||
(name "freeglut")
|
||||
(version "2.8.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/project/freeglut/freeglut/"
|
||||
version "/freeglut-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "16lrxxxd9ps9l69y3zsw6iy0drwjsp6m26d1937xj71alqk6dr6x"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs `(("mesa" ,mesa)
|
||||
("libx11" ,libx11)
|
||||
("libxi" ,libxi)
|
||||
("libxrandr" ,libxrandr)
|
||||
("libxxf86vm" ,libxxf86vm)
|
||||
("inputproto" ,inputproto)
|
||||
("xinput" ,xinput)
|
||||
("glu" ,glu)))
|
||||
(home-page "http://freeglut.sourceforge.net/")
|
||||
(synopsis "Alternative to the OpenGL Utility Toolkit (GLUT)")
|
||||
(description
|
||||
"Freeglut is a completely Free/OpenSourced alternative to
|
||||
the OpenGL Utility Toolkit (GLUT) library. GLUT was originally
|
||||
written by Mark Kilgard to support the sample programs in the
|
||||
second edition OpenGL 'RedBook'. Since then, GLUT has been used
|
||||
in a wide variety of practical applications because it is simple,
|
||||
widely available and highly portable.
|
||||
|
||||
GLUT (and hence freeglut) allows the user to create and manage windows
|
||||
containing OpenGL contexts on a wide range of platforms and also read
|
||||
the mouse, keyboard and joystick functions. freeglut is released under
|
||||
the X-Consortium license.")
|
||||
(license l:x11)))
|
||||
|
||||
(define-public ftgl
|
||||
(package
|
||||
(name "ftgl")
|
||||
(version "2.1.3-rc5")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/project/ftgl/FTGL%20Source/2.1.3~rc5/ftgl-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "0nsn4s6vnv5xcgxcw6q031amvh2zfj2smy1r5mbnjj2548hxcn2l"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs `(("freetype" ,freetype)
|
||||
("libx11" ,libx11)
|
||||
("mesa" ,mesa)
|
||||
("glu" ,glu)))
|
||||
(home-page "http://ftgl.sourceforge.net")
|
||||
(synopsis "Font rendering library for OpenGL applications")
|
||||
(description
|
||||
"FTGL is a font rendering library for OpenGL applications. Supported
|
||||
rendering modes are: Bitmaps, Anti-aliased pixmaps, Texture maps, Outlines,
|
||||
Polygon meshes, and Extruded polygon meshes")
|
||||
(license l:x11)))
|
||||
+136
-31
@@ -26,9 +26,11 @@
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages bison)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module ((gnu packages gettext)
|
||||
#:renamer (symbol-prefix-proc 'guix:))
|
||||
#:use-module (gnu packages flex)
|
||||
#:use-module (gnu packages gettext)
|
||||
#:use-module (gnu packages gtk)
|
||||
#:use-module (gnu packages libffi)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
@@ -37,14 +39,18 @@
|
||||
#:use-module (gnu packages bash)
|
||||
#:use-module (gnu packages file)
|
||||
#:use-module (gnu packages xorg)
|
||||
#:use-module (gnu packages m4)
|
||||
|
||||
;; Export variables up-front to allow circular dependency with the 'xorg'
|
||||
;; module.
|
||||
#:export (dbus
|
||||
glib
|
||||
gobject-introspection
|
||||
dbus-glib
|
||||
intltool
|
||||
itstool))
|
||||
itstool
|
||||
libsigc++
|
||||
glibmm))
|
||||
|
||||
(define dbus
|
||||
(package
|
||||
@@ -57,7 +63,8 @@
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1wacqyfkcpayg7f8rvx9awqg275n5pksxq5q7y21lxjx85x6pfjz"))))
|
||||
"1wacqyfkcpayg7f8rvx9awqg275n5pksxq5q7y21lxjx85x6pfjz"))
|
||||
(patches (list (search-patch "dbus-localstatedir.patch")))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:configure-flags (list ;; Install the system bus socket under /var.
|
||||
@@ -67,13 +74,10 @@
|
||||
;; config.
|
||||
;; "--sysconfdir=/etc"
|
||||
|
||||
"--with-session-socket-dir=/tmp")
|
||||
#:patches (list (assoc-ref %build-inputs "patch/localstatedir"))))
|
||||
"--with-session-socket-dir=/tmp")))
|
||||
(inputs
|
||||
`(("expat" ,expat)
|
||||
("pkg-config" ,pkg-config)
|
||||
("patch/localstatedir"
|
||||
,(search-patch "dbus-localstatedir.patch"))
|
||||
|
||||
;; Add a dependency on libx11 so that 'dbus-launch' has support for
|
||||
;; '--autolaunch'.
|
||||
@@ -102,20 +106,24 @@ shared NFS home directories.")
|
||||
(define glib
|
||||
(package
|
||||
(name "glib")
|
||||
(version "2.37.1")
|
||||
(version "2.38.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnome/sources/"
|
||||
name "/2.37/"
|
||||
name "/" (string-take version 4) "/"
|
||||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32 "1lp705q0g9jlfj24x8fpgjh7awmmara5iyj9kz5lhd49sr9s813k"))))
|
||||
(base32 "0cpzqadqk6z6bmb79p04pykxc8x57rvshh33414cnk41bvgaf4vm"))
|
||||
(patches (list (search-patch "glib-tests-homedir.patch")
|
||||
(search-patch "glib-tests-desktop.patch")
|
||||
(search-patch "glib-tests-prlimit.patch")
|
||||
(search-patch "glib-tests-newnet.patch")))))
|
||||
(build-system gnu-build-system)
|
||||
(outputs '("out" ; everything
|
||||
"doc")) ; 20 MiB of GTK-Doc reference
|
||||
(inputs
|
||||
`(("coreutils" ,coreutils)
|
||||
("gettext" ,guix:gettext)
|
||||
("gettext" ,gnu-gettext)
|
||||
("libffi" ,libffi)
|
||||
("pkg-config" ,pkg-config)
|
||||
("python" ,python-wrapper)
|
||||
@@ -124,18 +132,9 @@ shared NFS home directories.")
|
||||
("dbus" ,dbus) ; for GDBus tests
|
||||
("bash" ,bash)
|
||||
("tzdata" ,tzdata) ; for tests/gdatetime.c
|
||||
|
||||
("patch/tests-homedir"
|
||||
,(search-patch "glib-tests-homedir.patch"))
|
||||
("patch/tests-desktop"
|
||||
,(search-patch "glib-tests-desktop.patch"))
|
||||
("patch/tests-prlimit"
|
||||
,(search-patch "glib-tests-prlimit.patch"))))
|
||||
))
|
||||
(arguments
|
||||
'(#:patches (list (assoc-ref %build-inputs "patch/tests-homedir")
|
||||
(assoc-ref %build-inputs "patch/tests-desktop")
|
||||
(assoc-ref %build-inputs "patch/tests-prlimit"))
|
||||
#:phases (alist-cons-before
|
||||
'(#:phases (alist-cons-before
|
||||
'build 'pre-build
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
;; For tests/gdatetime.c.
|
||||
@@ -150,13 +149,7 @@ shared NFS home directories.")
|
||||
"glib/tests/utils.c"
|
||||
"tests/spawn-test.c")
|
||||
(("/bin/sh")
|
||||
(string-append (assoc-ref inputs "bash") "/bin/sh")))
|
||||
|
||||
;; Honor $(TESTS_ENVIRONMENT).
|
||||
(substitute* (find-files "." "^Makefile(\\.in)?$")
|
||||
(("^GTESTER[[:blank:]]*=(.*)$" _ rest)
|
||||
(string-append "GTESTER = $(TESTS_ENVIRONMENT) "
|
||||
rest))))
|
||||
(string-append (assoc-ref inputs "bash") "/bin/sh"))))
|
||||
%standard-phases)
|
||||
|
||||
;; Note: `--docdir' and `--htmldir' are not honored, so work around it.
|
||||
@@ -171,6 +164,49 @@ dynamic loading, and an object system.")
|
||||
(home-page "http://developer.gnome.org/glib/")
|
||||
(license license:lgpl2.0+))) ; some files are under lgpl2.1+
|
||||
|
||||
(define gobject-introspection
|
||||
(package
|
||||
(name "gobject-introspection")
|
||||
(version "1.38.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://ftp.gnome.org/pub/GNOME/sources/"
|
||||
"gobject-introspection/"
|
||||
(substring version 0 (string-rindex version #\.))
|
||||
"/gobject-introspection-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32 "0wvxyvgajmms2bb6k3pf1rdpnd79xdxamykzvxzmcyn1ag9yax9m"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("bison" ,bison)
|
||||
("cairo" ,cairo)
|
||||
("flex" ,flex)
|
||||
("glib" ,glib)
|
||||
("libffi" ,libffi)
|
||||
("pkg-config" ,pkg-config)
|
||||
("python-2" ,python-2)))
|
||||
(arguments
|
||||
`(#:phases
|
||||
(alist-replace
|
||||
'configure
|
||||
(lambda* (#:key #:allow-other-keys #:rest args)
|
||||
(let ((configure (assoc-ref %standard-phases 'configure)))
|
||||
;; giscanner/sourcescanner.py looks for 'CC', let's set it here.
|
||||
(setenv "CC" "gcc")
|
||||
(apply configure args)))
|
||||
%standard-phases)))
|
||||
(home-page "https://wiki.gnome.org/GObjectIntrospection")
|
||||
(synopsis "Generate interface introspection data for GObject libraries")
|
||||
(description
|
||||
"GObject introspection is a middleware layer between C libraries (using
|
||||
GObject) and language bindings. The C library can be scanned at compile time
|
||||
and generate a metadata file, in addition to the actual native C library. Then
|
||||
at runtime, language bindings can read this metadata and automatically provide
|
||||
bindings to call into the C library.")
|
||||
; Some bits are distributed under the LGPL2+, others under the GPL2+
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define intltool
|
||||
(package
|
||||
(name "intltool")
|
||||
@@ -187,7 +223,7 @@ dynamic loading, and an object system.")
|
||||
(propagated-inputs
|
||||
`(;; Propagate gettext because users expect it to be there, and so does
|
||||
;; the `intltool-update' script.
|
||||
("gettext" ,guix:gettext)
|
||||
("gettext" ,gnu-gettext)
|
||||
|
||||
;; `file' is used by `intltool-update' too.
|
||||
("file" ,file)
|
||||
@@ -224,6 +260,9 @@ The intltool collection can be used to do these things:
|
||||
(base32
|
||||
"1akq75aflihm3y7js8biy7b5mw2g11vl8yq90gydnwlwp0zxdzj6"))))
|
||||
(build-system gnu-build-system)
|
||||
(propagated-inputs
|
||||
`(("libxml2" ,libxml2)
|
||||
("python-2" ,python-2)))
|
||||
(home-page "http://www.itstool.org")
|
||||
(synopsis "Tool to translate XML documents with PO files")
|
||||
(description
|
||||
@@ -270,3 +309,69 @@ translated.")
|
||||
"GLib bindings for D-Bus. The package is obsolete and superseded
|
||||
by GDBus included in Glib.")
|
||||
(license license:gpl2))) ; or Academic Free License 2.1
|
||||
|
||||
(define libsigc++
|
||||
(package
|
||||
(name "libsigc++")
|
||||
(version "2.3.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnome/sources/libsigc++/2.3/libsigc++-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"14q3sq6d43f6wfcmwhw4v1aal4ba0h5x9v6wkxy2dnqznd95il37"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs `(("pkg-config" ,pkg-config)))
|
||||
(native-inputs `(("m4" ,m4)))
|
||||
(home-page "http://libsigc.sourceforge.net/")
|
||||
(synopsis "Type-safe callback system for standard C++")
|
||||
(description
|
||||
"libsigc++ implements a type-safe callback system for standard C++. It
|
||||
allows you to define signals and to connect those signals to any callback
|
||||
function, either global or a member function, regardless of whether it is
|
||||
static or virtual.
|
||||
|
||||
It also contains adaptor classes for connection of dissimilar callbacks and
|
||||
has an ease of use unmatched by other C++ callback libraries.")
|
||||
(license license:lgpl2.1+)))
|
||||
|
||||
(define glibmm
|
||||
(package
|
||||
(name "glibmm")
|
||||
(version "2.37.7")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnome/sources/glibmm/2.37/glibmm-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0mms4yl5izsya1135772z4jkb184ss86x0wlg6dm7yvwxvb6bjlw"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:phases (alist-cons-before
|
||||
'build 'pre-build
|
||||
(lambda _
|
||||
;; This test uses /etc/fstab as an example file to read
|
||||
;; from; choose a better example.
|
||||
(substitute* "tests/giomm_simple/main.cc"
|
||||
(("/etc/fstab")
|
||||
(string-append (getcwd)
|
||||
"/tests/giomm_simple/main.cc")))
|
||||
|
||||
;; This test does a DNS lookup, and then expects to be able
|
||||
;; to open a TLS session; just skip it.
|
||||
(substitute* "tests/giomm_tls_client/main.cc"
|
||||
(("Gio::init.*$")
|
||||
"return 77;\n")))
|
||||
%standard-phases)))
|
||||
(inputs `(("pkg-config" ,pkg-config)))
|
||||
(propagated-inputs
|
||||
`(("libsigc++" ,libsigc++)
|
||||
("glib" ,glib)))
|
||||
(home-page "http://gtkmm.org/")
|
||||
(synopsis "C++ interface to the GLib library")
|
||||
(description
|
||||
"glibmm provides a C++ programming interface to the part of GLib that are
|
||||
useful for C++.")
|
||||
(license license:lgpl2.1+)))
|
||||
|
||||
+6
-10
@@ -28,14 +28,14 @@
|
||||
(define-public global ; a global variable
|
||||
(package
|
||||
(name "global")
|
||||
(version "6.2.8")
|
||||
(version "6.2.9")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/global/global-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1l6g51kff5010gwmw08jbks1mssgddz7wggjvfsky3g000jkpvf1"))))
|
||||
"00y38kp0zbpjl9c9phldy7j2ihqc54qn4cdgk0azbjdsv75k3n6q"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs `(("ncurses" ,ncurses)
|
||||
("libtool" ,libtool)))
|
||||
@@ -46,12 +46,8 @@
|
||||
(home-page "http://www.gnu.org/software/global/")
|
||||
(synopsis "Cross-environment source code tag system")
|
||||
(description
|
||||
"GNU GLOBAL is a source code tagging system that works the same way
|
||||
across diverse environments (Emacs, vi, less, Bash, web browser, etc).
|
||||
You can locate specified objects in source files and move there easily.
|
||||
It is useful for hacking a large project containing many
|
||||
subdirectories, many #ifdef and many main() functions. It is similar
|
||||
to ctags or etags but is different from them at the point of
|
||||
independence of any editor. It runs on a UNIX (POSIX) compatible
|
||||
operating system like GNU and BSD.")
|
||||
"GLOBAL is a source code tagging system that functions in the same way
|
||||
across a wide array of environments, such as different text editors, shells
|
||||
and web browsers. The resulting tags are useful for quickly moving around in
|
||||
a large, deeply nested project.")
|
||||
(license gpl3+)))
|
||||
|
||||
+302
-2
@@ -17,14 +17,58 @@
|
||||
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu packages gnome)
|
||||
#:use-module ((guix licenses) #:select (gpl2+))
|
||||
#:use-module ((guix licenses) #:select (gpl2 gpl2+ lgpl2.0+ lgpl2.1+ lgpl3))
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (gnu packages glib)
|
||||
#:use-module (gnu packages gnupg)
|
||||
#:use-module (gnu packages gstreamer)
|
||||
#:use-module (gnu packages gtk)
|
||||
#:use-module (gnu packages pdf)
|
||||
#:use-module (gnu packages ghostscript)
|
||||
#:use-module (gnu packages libcanberra)
|
||||
#:use-module (gnu packages libpng)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages xml))
|
||||
#:use-module (gnu packages xml)
|
||||
#:use-module (gnu packages xorg))
|
||||
|
||||
(define-public brasero
|
||||
(package
|
||||
(name "brasero")
|
||||
(version "3.8.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnome/sources/brasero/3.8/brasero-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1r5wjsrm47amdaf862ymkdlwlb636c45wg14x20hdr99c653d2nr"))))
|
||||
(build-system gnu-build-system)
|
||||
(propagated-inputs
|
||||
`(("hicolor-icon-theme" ,hicolor-icon-theme)))
|
||||
(inputs
|
||||
`(("glib" ,glib)
|
||||
("gnome-doc-utils" ,gnome-doc-utils)
|
||||
("gstreamer" ,gstreamer)
|
||||
("gst-plugins-base" ,gst-plugins-base)
|
||||
("gtk+" ,gtk+)
|
||||
("intltool" ,intltool)
|
||||
("itstool" ,itstool)
|
||||
("libcanberra" ,libcanberra)
|
||||
("libice" ,libice)
|
||||
("libnotify" ,libnotify)
|
||||
("libsm" ,libsm)
|
||||
("libxml2" ,libxml2)
|
||||
("pkg-config" ,pkg-config)))
|
||||
(home-page "https://projects.gnome.org/brasero/")
|
||||
(synopsis "CD/DVD burning tool for Gnome")
|
||||
(description "Brasero is an application to burn CD/DVD for the Gnome
|
||||
Desktop. It is designed to be as simple as possible and has some unique
|
||||
features to enable users to create their discs easily and quickly.")
|
||||
(license gpl2+)))
|
||||
|
||||
(define-public gnome-doc-utils
|
||||
(package
|
||||
@@ -55,3 +99,259 @@
|
||||
Gnome project. It includes xml2po tool which makes it easier to translate
|
||||
and keep up to date translations of documentation.")
|
||||
(license gpl2+))) ; xslt under lgpl
|
||||
|
||||
(define-public libgnome-keyring
|
||||
(package
|
||||
(name "libgnome-keyring")
|
||||
(version "3.6.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"mirror://gnome/sources/libgnome-keyring/3.6/libgnome-keyring-"
|
||||
version
|
||||
".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0c4qrjpmv1hqga3xv6wsq2z10x2n78qgw7q3k3s01y1pggxkgjkd"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("intltool" ,intltool)))
|
||||
(inputs
|
||||
`(("pkg-config" ,pkg-config)
|
||||
("libgcrypt" ,libgcrypt)
|
||||
("dbus" ,dbus)))
|
||||
(propagated-inputs
|
||||
;; Referred to in .h files and .pc.
|
||||
`(("glib" ,glib)))
|
||||
(home-page "http://www.gnome.org")
|
||||
(synopsis "Accessing passwords from the GNOME keyring")
|
||||
(description
|
||||
"Client library to access passwords from the GNOME keyring.")
|
||||
|
||||
;; Though a couple of files are LGPLv2.1+.
|
||||
(license lgpl2.0+)))
|
||||
|
||||
(define-public evince
|
||||
(package
|
||||
(name "evince")
|
||||
(version "3.6.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnome/sources/evince/3.6/evince-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1da1pij030dh8mb0pr0jnyszgsbjnh8lc17rj5ii52j3kmbv51qv"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags '("--disable-nautilus")
|
||||
|
||||
;; FIXME: Tests fail with:
|
||||
;; ImportError: No module named gi.repository
|
||||
;; Where should that module come from?
|
||||
#:tests? #f
|
||||
|
||||
#:phases (alist-cons-after
|
||||
'install 'set-mime-search-path
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
;; Wrap 'evince' so that it knows where MIME info is.
|
||||
(let ((out (assoc-ref outputs "out"))
|
||||
(mime (assoc-ref inputs "shared-mime-info")))
|
||||
(wrap-program (string-append out "/bin/evince")
|
||||
`("XDG_DATA_DIRS" ":" prefix
|
||||
,(list (string-append mime "/share")
|
||||
(string-append out "/share"))))))
|
||||
%standard-phases)))
|
||||
(inputs
|
||||
`(("libspectre" ,libspectre)
|
||||
;; ("djvulibre" ,djvulibre)
|
||||
("ghostscript" ,ghostscript)
|
||||
("poppler" ,poppler)
|
||||
("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
|
||||
("libgnome-keyring" ,libgnome-keyring)
|
||||
("gnome-icon-theme" ,gnome-icon-theme)
|
||||
("itstool" ,itstool)
|
||||
("gdk-pixbuf" ,gdk-pixbuf)
|
||||
("atk" ,atk)
|
||||
("pango" ,pango)
|
||||
("gtk+" ,gtk+)
|
||||
("glib" ,glib)
|
||||
("libxml2" ,libxml2)
|
||||
("pkg-config" ,pkg-config)
|
||||
("libsm" ,libsm)
|
||||
("libice" ,libice)
|
||||
("shared-mime-info" ,shared-mime-info)
|
||||
|
||||
;; For tests.
|
||||
("dogtail" ,python2-dogtail)))
|
||||
(native-inputs
|
||||
`(("intltool" ,intltool)))
|
||||
(home-page
|
||||
"http://www.gnome.org/projects/evince/")
|
||||
(synopsis "GNOME's document viewer")
|
||||
(description
|
||||
"Evince is a document viewer for multiple document formats. It
|
||||
currently supports PDF, PostScript, DjVu, TIFF and DVI. The goal
|
||||
of Evince is to replace the multiple document viewers that exist
|
||||
on the GNOME Desktop with a single simple application.")
|
||||
(license gpl2+)))
|
||||
|
||||
(define-public gsettings-desktop-schemas
|
||||
(package
|
||||
(name "gsettings-desktop-schemas")
|
||||
(version "3.10.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnome/sources/" name "/"
|
||||
(string-copy version 0 (string-rindex version #\.)) "/"
|
||||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1km8qxwrzvravmg8j680qv64bwnwbdgrmy8bqmhs0dgxn2b1as6a"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("glib" ,glib)
|
||||
("intltool" ,intltool)
|
||||
("pkg-config" ,pkg-config)))
|
||||
(home-page "https://launchpad.net/gsettings-desktop-schemas")
|
||||
(synopsis
|
||||
"GNOME settings for various desktop components")
|
||||
(description
|
||||
"Gsettings-desktop-schemas contains a collection of GSettings schemas
|
||||
for settings shared by various components of the GNOME desktop.")
|
||||
(license lgpl2.1+)))
|
||||
|
||||
(define-public icon-naming-utils
|
||||
(package
|
||||
(name "icon-naming-utils")
|
||||
(version "0.8.90")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://tango.freedesktop.org/releases/icon-naming-utils-"
|
||||
version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"1mc3v28fdfqanx3lqx233vcr4glb4c2376k0kx2v91a4vxwqcdxi"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("perl" ,perl)
|
||||
("perl-xml-simple" ,perl-xml-simple)))
|
||||
(home-page "http://tango.freedesktop.org/Standard_Icon_Naming_Specification")
|
||||
(synopsis
|
||||
"Utility to implement the Freedesktop Icon Naming Specification")
|
||||
(description
|
||||
"To help with the transition to the Freedesktop Icon Naming
|
||||
Specification, the icon naming utility maps the icon names used by the
|
||||
GNOME and KDE desktops to the icon names proposed in the specification.")
|
||||
(license lgpl2.1+)))
|
||||
|
||||
(define-public gnome-icon-theme
|
||||
(package
|
||||
(name "gnome-icon-theme")
|
||||
(version "3.10.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnome/sources/" name "/"
|
||||
(string-copy version 0 (string-rindex version #\.)) "/"
|
||||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1xinbgkkvlhazj887ajcl13i7kdc1wcca02jwxzvjrvchjsp4m66"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("gtk+" ,gtk+)
|
||||
("icon-naming-utils" ,icon-naming-utils)
|
||||
("intltool" ,intltool)
|
||||
("pkg-config" ,pkg-config)))
|
||||
(home-page "http://art.gnome.org/")
|
||||
(synopsis
|
||||
"GNOME icon theme")
|
||||
(description
|
||||
"Icons for the GNOME desktop.")
|
||||
(license lgpl3))) ; or Creative Commons BY-SA 3.0
|
||||
|
||||
(define-public shared-mime-info
|
||||
(package
|
||||
(name "shared-mime-info")
|
||||
(version "1.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://freedesktop.org/~hadess/shared-mime-info-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0y5vi0vr6rbhvfzcfg57cfskn362bpvcpca9cy598nmr87i6lld5"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
;; The build system appears not to be parallel-safe.
|
||||
'(#:parallel-build? #f))
|
||||
(inputs
|
||||
`(("glib" ,glib)
|
||||
("libxml2" ,libxml2)
|
||||
("pkg-config" ,pkg-config)))
|
||||
(native-inputs
|
||||
`(("intltool" ,intltool)))
|
||||
(home-page "http://freedesktop.org/wiki/Software/shared-mime-info")
|
||||
(synopsis "Database of common MIME types")
|
||||
(description
|
||||
"The shared-mime-info package contains the core database of common types
|
||||
and the update-mime-database command used to extend it. It requires glib2 to
|
||||
be installed for building the update command. Additionally, it uses intltool
|
||||
for translations, though this is only a dependency for the maintainers. This
|
||||
database is translated at Transifex.")
|
||||
(license gpl2+)))
|
||||
|
||||
(define-public hicolor-icon-theme
|
||||
(package
|
||||
(name "hicolor-icon-theme")
|
||||
(version "0.12")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://icon-theme.freedesktop.org/releases/hicolor-icon-theme-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0wzc7g4ldb2l8zc0x2785ck808c03i857jji942ikakyc68adp4y"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f)) ; no check target
|
||||
(home-page "http://icon-theme.freedesktop.org/releases/")
|
||||
(synopsis
|
||||
"Freedesktop icon theme")
|
||||
(description
|
||||
"Freedesktop icon theme.")
|
||||
(license gpl2)))
|
||||
|
||||
(define-public libnotify
|
||||
(package
|
||||
(name "libnotify")
|
||||
(version "0.7.6")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnome/sources/" name "/"
|
||||
(string-copy version 0 (string-rindex version #\.)) "/"
|
||||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0dyq8zgjnnzcah31axnx6afb21kl7bks1gvrg4hjh3nk02j1rxhf"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("gdk-pixbuf" ,gdk-pixbuf)
|
||||
("glib" ,glib)
|
||||
("gtk+" ,gtk+)
|
||||
("libpng" ,libpng)
|
||||
("pkg-config" ,pkg-config)))
|
||||
(home-page "https://developer-next.gnome.org/libnotify/")
|
||||
(synopsis
|
||||
"GNOME desktop notification library")
|
||||
(description
|
||||
"Libnotify is a library that sends desktop notifications to a
|
||||
notification daemon, as defined in the Desktop Notifications spec. These
|
||||
notifications can be used to inform the user about an event or display
|
||||
some form of information without getting in the user's way.")
|
||||
(license lgpl2.1+)))
|
||||
|
||||
@@ -0,0 +1,49 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2013 Eric Bavier <bavier@member.fsf.org>
|
||||
;;;
|
||||
;;; 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 gnu-pw-mgr)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix licenses)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages which))
|
||||
|
||||
(define-public gnu-pw-mgr
|
||||
(package
|
||||
(name "gnu-pw-mgr")
|
||||
(version "1.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/gnu-pw-mgr/gnu-pw-mgr-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0sn9gzngqkrv74iwxzn5ldqx3w73w9paldcdh8rsv9yvgarv2bm4"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs `(("which" ,which)))
|
||||
(home-page "http://www.gnu.org/software/gnu-pw-mgr/")
|
||||
(synopsis "Retrieve login credentials without recording passwords")
|
||||
(description
|
||||
"This program is designed to make it easy to reconstruct difficult
|
||||
passwords when they are needed while limiting the risk of attack. The
|
||||
user of this program inputs a self-defined transformation of a web
|
||||
site URL and obtains the password and user name hint for that web
|
||||
site.")
|
||||
(license gpl3+)))
|
||||
+27
-41
@@ -20,16 +20,18 @@
|
||||
#:use-module (gnu packages autotools)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages curl)
|
||||
#:use-module ((gnu packages gettext)
|
||||
#:renamer (symbol-prefix-proc 'gnu:))
|
||||
#:use-module (gnu packages geeqie)
|
||||
#:use-module (gnu packages gettext)
|
||||
#:use-module (gnu packages glib)
|
||||
#:use-module (gnu packages gnupg)
|
||||
#:use-module (gnu packages gnutls)
|
||||
#:use-module (gnu packages gstreamer)
|
||||
#:use-module (gnu packages libjpeg)
|
||||
#:use-module (gnu packages libtiff)
|
||||
#:use-module (gnu packages oggvorbis)
|
||||
#:use-module (gnu packages openssl)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages video)
|
||||
#:use-module ((guix licenses)
|
||||
#:renamer (symbol-prefix-proc 'license:))
|
||||
#:use-module (guix packages)
|
||||
@@ -39,14 +41,14 @@
|
||||
(define-public libextractor
|
||||
(package
|
||||
(name "libextractor")
|
||||
(version "1.1")
|
||||
(version "1.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/libextractor/libextractor-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1zvj64ig456c9ya3r8ib48ms42cnli9y7ig5p04xqm16z7vw5dyb"))))
|
||||
"1n7z6s5ils6xmf6b0z1xda41maxj94c1n6wlyyxmacs5lrkh2a96"))))
|
||||
(build-system gnu-build-system)
|
||||
;; WARNING: Checks require /dev/shm to be in the build chroot, especially
|
||||
;; not to be a symbolic link to /run/shm.
|
||||
@@ -54,13 +56,10 @@
|
||||
;; The following dependencies are all optional, but should be
|
||||
;; available for maximum coverage:
|
||||
;; * libarchive
|
||||
;; * libavutil / libavformat / libavcodec / libswscale (ffmpeg)
|
||||
;; * libexiv2
|
||||
;; * libgif (giflib)
|
||||
;; * libgtk+ >= 3.0.0 (may probably drop glib then as a propagated input of
|
||||
;; gtk)
|
||||
;; * libgsf
|
||||
;; * libgstreamer
|
||||
;; * libmagic (file)
|
||||
;; * libmpeg2
|
||||
;; * libmp4v2
|
||||
@@ -68,9 +67,13 @@
|
||||
;; * libsmf
|
||||
;; * libtidy
|
||||
(inputs
|
||||
`(("gettext" ,gnu:gettext)
|
||||
`(("exiv2" ,exiv2)
|
||||
("flac" ,flac)
|
||||
("ffmpeg" ,ffmpeg)
|
||||
("gettext" ,gnu-gettext)
|
||||
("glib" ,glib)
|
||||
("gstreamer" ,gstreamer)
|
||||
("gst-plugins-base" ,gst-plugins-base)
|
||||
("libjpeg" ,libjpeg)
|
||||
("libogg" ,libogg)
|
||||
("libtiff" ,libtiff)
|
||||
@@ -80,35 +83,25 @@
|
||||
("zlib" ,zlib)))
|
||||
(synopsis "Library to extract meta-data from media files")
|
||||
(description
|
||||
"GNU Libextractor is a library used to extract meta data from files.
|
||||
The goal is to provide developers of file-sharing networks, browsers or
|
||||
WWW-indexing bots with a universal library to obtain simple keywords and
|
||||
meta data to match against queries and to show to users instead of only
|
||||
relying on filenames. libextractor contains the shell command extract that,
|
||||
similar to the well-known file command, can extract meta data from a file
|
||||
and print the results to stdout.
|
||||
|
||||
Currently, libextractor supports the following formats: HTML, MAN, PS, DVI,
|
||||
OLE2 (DOC, XLS, PPT), OpenOffice (sxw), StarOffice (sdw), FLAC,
|
||||
MP3 (ID3v1 and ID3v2), OGG, WAV, S3M (Scream Tracker 3), XM (eXtended Module),
|
||||
IT (Impulse Tracker), NSF(E) (NES music), SID (C64 music), EXIV2, JPEG, GIF,
|
||||
PNG, TIFF, DEB, RPM, TAR(.GZ), LZH, LHA, RAR, ZIP, CAB, 7-ZIP, AR, MTREE,
|
||||
PAX, CPIO, ISO9660, SHAR, RAW, XAR FLV, REAL, RIFF (AVI), MPEG, QT and ASF.
|
||||
Also, various additional MIME types are detected.")
|
||||
"GNU libextractor is a library for extracting metadata from files. It
|
||||
supports a very large number of file formats, including audio files, document
|
||||
files, and archive files. Each file format is implemented as a plugin, so
|
||||
new formats can be added easily. The package also contains a command-line
|
||||
tool to extract metadata from a file and print the results.")
|
||||
(license license:gpl3+)
|
||||
(home-page "http://www.gnu.org/software/libextractor/")))
|
||||
|
||||
(define-public libmicrohttpd
|
||||
(package
|
||||
(name "libmicrohttpd")
|
||||
(version "0.9.29")
|
||||
(version "0.9.32")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/libmicrohttpd/libmicrohttpd-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"169qpbmqprm296kicym63njxqf3qnjkk16qar73b813l7mj4jn8s"))))
|
||||
"176qf3xhpq1wa3fd9h8b6996bjf83yna1b30lhb6ccrv67hvhm75"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("curl" ,curl)
|
||||
@@ -116,23 +109,16 @@ Also, various additional MIME types are detected.")
|
||||
("libgcrypt" ,libgcrypt)
|
||||
("openssl" ,openssl)
|
||||
("zlib" ,zlib)))
|
||||
(arguments
|
||||
`(#:parallel-tests? #f))
|
||||
(synopsis "C library implementing an HTTP 1.1 server")
|
||||
(description
|
||||
"GNU libmicrohttpd is a small C library that is supposed to make it
|
||||
easy to run an HTTP server as part of another application. Key features
|
||||
that distinguish GNU Libmicrohttpd from other projects are:
|
||||
C library is fast and small;
|
||||
API is simple, expressive and fully reentrant;
|
||||
implementation is HTTP 1.1 compliant;
|
||||
HTTP server can listen on multiple ports;
|
||||
four different threading models (select, poll, pthread, thread pool);
|
||||
supported platforms include GNU/Linux, FreeBSD, OpenBSD, NetBSD, Android,
|
||||
OS X, W32, Symbian and z/OS;
|
||||
support for IPv6;
|
||||
support for SHOUTcast;
|
||||
support for incremental processing of POST data (optional);
|
||||
support for basic and digest authentication (optional);
|
||||
support for SSL3 and TLS (requires libgcrypt and libgnutls, optional);
|
||||
binary is only about 32k (without TLS/SSL support and other optional features).")
|
||||
"GNU libmicrohttpd is a small, embeddable HTTP server implemented as a
|
||||
C library. It makes it easy to run an HTTP server as part of another
|
||||
application. The library is fully HTTP 1.1 compliant. It can listen on
|
||||
multiple ports, supports four different threading models, and supports
|
||||
IPv6. It
|
||||
also features security features such as basic and digest authentication
|
||||
and support for SSL3 and TLS.")
|
||||
(license license:lgpl2.1+)
|
||||
(home-page "http://www.gnu.org/software/libmicrohttpd/")))
|
||||
|
||||
+43
-16
@@ -71,11 +71,10 @@ Daemon and possibly more in the future.")
|
||||
(home-page "http://gnupg.org/")
|
||||
(synopsis "Cryptographic function library")
|
||||
(description
|
||||
"GNU Libgcrypt is a general purpose cryptographic library based on
|
||||
the code from GnuPG. It provides functions for all
|
||||
cryptographic building blocks: symmetric ciphers, hash
|
||||
algorithms, MACs, public key algorithms, large integer
|
||||
functions, random numbers and a lot of supporting functions.")
|
||||
"Libgcrypt is a general-purpose cryptographic library. It provides the
|
||||
standard cryptographic building blocks such as symmetric ciphers, hash
|
||||
algorithms, public key algorithms, large integer functions and random number
|
||||
generation.")
|
||||
(license lgpl2.0+)))
|
||||
|
||||
(define-public libassuan
|
||||
@@ -131,7 +130,7 @@ specifications are building blocks of S/MIME and TLS.")
|
||||
(define-public gnupg
|
||||
(package
|
||||
(name "gnupg")
|
||||
(version "2.0.21")
|
||||
(version "2.0.22")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
@@ -139,7 +138,7 @@ specifications are building blocks of S/MIME and TLS.")
|
||||
".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"1xgf1q1phdawk6y66haaqcvfnlsqk12jmjin1m2d5x6fqw18kpq0"))))
|
||||
"0lg210acj2rxq291q4cwamg9gx6gh2prb1xa93y5jhw5b6r0lza3"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("bzip2" ,guix:bzip2)
|
||||
@@ -165,17 +164,45 @@ specifications are building blocks of S/MIME and TLS.")
|
||||
(home-page "http://gnupg.org/")
|
||||
(synopsis "GNU Privacy Guard")
|
||||
(description
|
||||
"GnuPG is the GNU project's complete and free implementation of
|
||||
the OpenPGP standard as defined by RFC4880. GnuPG allows to
|
||||
encrypt and sign your data and communication, features a
|
||||
versatile key managment system as well as access modules for all
|
||||
kind of public key directories. GnuPG, also known as GPG, is a
|
||||
command line tool with features for easy integration with other
|
||||
applications. A wealth of frontend applications and libraries
|
||||
are available. Version 2 of GnuPG also provides support for
|
||||
S/MIME.")
|
||||
"The GNU Privacy Guard is a complete implementation of the OpenPGP
|
||||
standard. It is used to encrypt and sign data and communication. It
|
||||
features powerful key management and the ability to access public key
|
||||
servers. It includes several libraries: libassuan (IPC between GnuPG
|
||||
components), libgpg-error (centralized GnuPG error values), and libskba
|
||||
(working with X.509 certificates and CMS data).")
|
||||
(license gpl3+)))
|
||||
|
||||
(define-public gpgme
|
||||
(package
|
||||
(name "gpgme")
|
||||
(version "1.4.3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnupg/gpgme/gpgme-" version
|
||||
".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"15h429h6pd67iiv580bjmwbkadpxsdppw0xrqpcm4dvm24jc271d"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("gnupg" ,gnupg)
|
||||
("libassuan" ,libassuan)
|
||||
("libgpg-error" ,libgpg-error)))
|
||||
(home-page "http://www.gnupg.org/related_software/gpgme/")
|
||||
(synopsis "library providing simplified access to GnuPG functionality")
|
||||
(description
|
||||
"GnuPG Made Easy (GPGME) is a library designed to make access to GnuPG
|
||||
easier for applications. It provides a High-Level Crypto API for encryption,
|
||||
decryption, signing, signature verification and key management. Currently
|
||||
it uses GnuPG as its backend but the API isn't restricted to this engine.
|
||||
|
||||
Because the direct use of GnuPG from an application can be a complicated
|
||||
programming task, it is suggested that all software should try to use GPGME
|
||||
instead. This way bug fixes or improvements can be done at a central place
|
||||
and every application benefits from this.")
|
||||
(license lgpl2.1+)))
|
||||
|
||||
(define-public pius
|
||||
(package
|
||||
(name "pius")
|
||||
|
||||
+8
-14
@@ -46,9 +46,10 @@
|
||||
(home-page "http://www.gnu.org/software/libtasn1/")
|
||||
(synopsis "ASN.1 library")
|
||||
(description
|
||||
"Libtasn1 is the ASN.1 library used by GnuTLS, GNU Shishi and some
|
||||
other packages. The goal of this implementation is to be highly
|
||||
portable, and only require an ANSI C89 platform.")
|
||||
"GNU libtasn1 is a library implementing the ASN.1 notation. It is used
|
||||
for transmitting machine-neutral encodings of data objects in computer
|
||||
networking, allowing for formal validation of data according to some
|
||||
specifications.")
|
||||
(license lgpl2.0+)))
|
||||
|
||||
(define-public gnutls
|
||||
@@ -79,15 +80,8 @@ portable, and only require an ANSI C89 platform.")
|
||||
(home-page "http://www.gnu.org/software/gnutls/")
|
||||
(synopsis "Transport layer security library")
|
||||
(description
|
||||
"GnuTLS is a project that aims to develop a library which provides
|
||||
a secure layer, over a reliable transport layer. Currently the GnuTLS
|
||||
library implements the proposed standards by the IETF's TLS working
|
||||
group.
|
||||
|
||||
Quoting from the TLS protocol specification:
|
||||
|
||||
\"The TLS protocol provides communications privacy over the
|
||||
Internet. The protocol allows client/server applications to communicate
|
||||
in a way that is designed to prevent eavesdropping, tampering, or
|
||||
message forgery.\"")
|
||||
"GnuTLS is a secure communications library implementing the SSL, TLS
|
||||
and DTLS protocols. It is provided in the form of a C library to support the
|
||||
protocols, as well as to parse and write X.5009, PKCS 12, OpenPGP and other
|
||||
required structures.")
|
||||
(license lgpl2.1+)))
|
||||
|
||||
@@ -0,0 +1,97 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
|
||||
;;;
|
||||
;;; 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 gnuzilla)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module ((guix licenses)
|
||||
#:renamer (symbol-prefix-proc 'license:))
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (gnu packages glib)
|
||||
#:use-module (gnu packages gstreamer)
|
||||
#:use-module (gnu packages gtk)
|
||||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages xorg)
|
||||
#:use-module (gnu packages yasm)
|
||||
#:use-module (gnu packages zip))
|
||||
|
||||
(define-public icecat
|
||||
(package
|
||||
(name "icecat")
|
||||
(version "24.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/gnuzilla/"
|
||||
(substring version 0 (string-index version #\.))
|
||||
"/icecat-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1vxzjwmhad6yxx4sk9zvapjgv5salcv10id061q0991ii3dycy9a"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("alsa-lib" ,alsa-lib)
|
||||
("dbus" ,dbus)
|
||||
("dbus-glib" ,dbus-glib)
|
||||
("glib" ,glib)
|
||||
("gstreamer" ,gstreamer-0.10)
|
||||
("gst-plugins-base" ,gst-plugins-base-0.10)
|
||||
("gtk+" ,gtk+-2)
|
||||
("libxt" ,libxt)
|
||||
("mesa" ,mesa)
|
||||
("perl" ,perl)
|
||||
("pkg-config" ,pkg-config)
|
||||
("python" ,python-2) ; Python 3 not supported
|
||||
("python2-pysqlite" ,python2-pysqlite)
|
||||
("unzip" ,unzip)
|
||||
("yasm" ,yasm)
|
||||
("zip" ,zip)))
|
||||
(arguments
|
||||
`(#:tests? #f ; no check target
|
||||
#:phases
|
||||
(alist-cons-before
|
||||
'patch-source-shebangs 'sanitise
|
||||
(lambda _
|
||||
;; delete dangling symlinks
|
||||
(delete-file "browser/base/content/.#aboutDialog.xul")
|
||||
(delete-file "browser/base/content/abouthome/.#aboutHome.xhtml")
|
||||
(delete-file "browser/branding/unofficial/content/.#aboutHome.xhtml")
|
||||
(delete-file "toolkit/crashreporter/google-breakpad/autotools/compile"))
|
||||
(alist-replace
|
||||
'configure
|
||||
;; configure does not work followed by both "SHELL=..." and
|
||||
;; "CONFIG_SHELL=..."; set environment variables instead
|
||||
(lambda* (#:key outputs configure-flags #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(setenv "SHELL" (which "bash"))
|
||||
(setenv "CONFIG_SHELL" (which "bash"))
|
||||
(zero? (system* "./configure"
|
||||
(string-append "--prefix=" out)
|
||||
"--disable-webrtc")))) ; webrtc creates an error
|
||||
%standard-phases))))
|
||||
(home-page "http://www.gnu.org/software/gnuzilla/")
|
||||
(synopsis "Entirely free browser derived from Mozilla Firefox")
|
||||
(description
|
||||
"IceCat is the GNU version of the Firefox browser. It is entirely free
|
||||
software, which does not recommend non-free plugins and addons. It also
|
||||
features built-in privacy-protecting features.")
|
||||
(license license:mpl2.0))) ; and others, see toolkit/content/license.html
|
||||
+4
-11
@@ -39,15 +39,8 @@
|
||||
(home-page "http://www.gnu.org/software/gperf/")
|
||||
(synopsis "Perfect hash function generator")
|
||||
(description
|
||||
"GNU gperf is a perfect hash function generator. For a given
|
||||
list of strings, it produces a hash function and hash table, in
|
||||
form of C or C++ code, for looking up a value depending on the
|
||||
input string. The hash function is perfect, which means that
|
||||
the hash table has no collisions, and the hash table lookup
|
||||
needs a single string comparison only.
|
||||
|
||||
GNU gperf is highly customizable. There are options for
|
||||
generating C or C++ code, for emitting switch statements or
|
||||
nested ifs instead of a hash table, and for tuning the algorithm
|
||||
employed by gperf.")
|
||||
"gperf is a perfect hash function generator. For a given list of strings,
|
||||
it produces a hash function and hash table in C or C++ code. That the hash
|
||||
function is perfect means that no collisions can exist and that look-ups can be
|
||||
made by single string comparisons.")
|
||||
(license gpl3+)))
|
||||
|
||||
@@ -48,24 +48,8 @@
|
||||
(home-page "https://www.gnu.org/software/gprolog/")
|
||||
(synopsis "Prolog compiler")
|
||||
(description
|
||||
"GNU Prolog is a free Prolog compiler with constraint solving over
|
||||
finite domains developed by Daniel Diaz.
|
||||
|
||||
GNU Prolog accepts Prolog+constraint programs and produces native
|
||||
binaries (like gcc does from a C source). The obtained executable is
|
||||
then stand-alone. The size of this executable can be quite small since
|
||||
GNU Prolog can avoid to link the code of most unused built-in
|
||||
predicates. The performances of GNU Prolog are very
|
||||
encouraging (comparable to commercial systems).
|
||||
|
||||
Beside the native-code compilation, GNU Prolog offers a classical
|
||||
interactive interpreter (top-level) with a debugger.
|
||||
|
||||
The Prolog part conforms to the ISO standard for Prolog with many
|
||||
extensions very useful in practice (e.g., global variables, OS
|
||||
interface, sockets).
|
||||
|
||||
GNU Prolog also includes an efficient constraint solver over finite domains.
|
||||
This opens contraint logic programming to the user combining the power of
|
||||
constraint programming to the declarativity of logic programming.")
|
||||
"GNU Prolog is a standards-compliant Prolog compiler with constraint
|
||||
solving over finite domains. It accepts Prolog+ constraint programs and
|
||||
produces a compiled, native binary which can function in a stand-alone
|
||||
manner. It also features an interactive interpreter.")
|
||||
(license (list gpl2+ lgpl3+))))
|
||||
|
||||
@@ -47,7 +47,8 @@
|
||||
("texinfo" ,texinfo)))
|
||||
(synopsis "Typesetting from plain text mixed with formatting commands")
|
||||
(description
|
||||
"GNU Troff (Groff) is a software typesetting package which reads plain
|
||||
text mixed with formatting commands and produces formatted output.")
|
||||
"Groff is a typesetting package that reads plain text and produces
|
||||
formatted output based on formatting commands contained within the text. It
|
||||
is usually the formatter of \"man\" documentation pages.")
|
||||
(license gpl3+)
|
||||
(home-page "http://www.gnu.org/software/groff/")))
|
||||
|
||||
+14
-18
@@ -24,7 +24,7 @@
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages flex)
|
||||
#:use-module (gnu packages bison)
|
||||
#:use-module ((gnu packages gettext) #:renamer (symbol-prefix-proc 'gnu:))
|
||||
#:use-module (gnu packages gettext)
|
||||
#:use-module (gnu packages fontutils)
|
||||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu packages qemu)
|
||||
@@ -38,7 +38,7 @@
|
||||
;; <https://bugs.launchpad.net/bugs/947597> and fixed at
|
||||
;; <http://bzr.savannah.gnu.org/lh/grub/trunk/grub/revision/4828>.
|
||||
;; Work around it by using an older QEMU.
|
||||
(package (inherit qemu)
|
||||
(package (inherit qemu-headless)
|
||||
(version "1.3.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
@@ -67,11 +67,11 @@
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0n64hpmsccvicagvr0c6v0kgp2yw0kgnd3jvsyd26cnwgs7c6kkq"))))
|
||||
"0n64hpmsccvicagvr0c6v0kgp2yw0kgnd3jvsyd26cnwgs7c6kkq"))
|
||||
(patches (list (search-patch "grub-gets-undeclared.patch")))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:patches (list (assoc-ref %build-inputs "patch/gets"))
|
||||
#:configure-flags '("--disable-werror")
|
||||
'(#:configure-flags '("--disable-werror")
|
||||
#:phases (alist-cons-before
|
||||
'patch-source-shebangs 'patch-stuff
|
||||
(lambda _
|
||||
@@ -84,12 +84,10 @@
|
||||
%standard-phases)))
|
||||
(inputs
|
||||
`(;; ("lvm2" ,lvm2)
|
||||
("gettext" ,gnu:gettext)
|
||||
("gettext" ,gnu-gettext)
|
||||
("freetype" ,freetype)
|
||||
;; ("libusb" ,libusb)
|
||||
("ncurses" ,ncurses)
|
||||
|
||||
("patch/gets" ,(search-patch "grub-gets-undeclared.patch"))))
|
||||
("ncurses" ,ncurses)))
|
||||
(native-inputs
|
||||
`(("bison" ,bison)
|
||||
("flex" ,flex)
|
||||
@@ -99,14 +97,12 @@
|
||||
("qemu" ,qemu-for-tests)
|
||||
("xorriso" ,xorriso)))
|
||||
(home-page "http://www.gnu.org/software/grub/")
|
||||
(synopsis "GRand unified boot loader")
|
||||
(synopsis "GRand Unified Boot loader")
|
||||
(description
|
||||
"GNU GRUB is a Multiboot boot loader. It was derived from GRUB, GRand
|
||||
Unified Bootloader, which was originally designed and implemented by Erich
|
||||
Stefan Boleyn.
|
||||
|
||||
Briefly, the boot loader is the first software program that runs when a
|
||||
computer starts. It is responsible for loading and transferring control to
|
||||
the operating system kernel software (such as the Hurd or the Linux). The
|
||||
kernel, in turn, initializes the rest of the operating system (e.g., GNU).")
|
||||
"GRUB is a multiboot bootloader. It is used for initially loading the
|
||||
kernel of an operating system and then transferring control to it. The kernel
|
||||
then goes on to load the rest of the operating system. As a multiboot boot
|
||||
loader, GRUB handles the presence of multiple operating systems installed on
|
||||
the same computer; upon booting the computer, the user is presented with a
|
||||
menu to select one of the installed operating systems.")
|
||||
(license gpl3+)))
|
||||
|
||||
+10
-24
@@ -63,10 +63,12 @@
|
||||
))
|
||||
(synopsis "Generic Security Service library")
|
||||
(description
|
||||
"GNU GSS is an implementation of the Generic Security Service Application
|
||||
Program Interface (GSS-API). GSS-API is used by network servers to provide
|
||||
security services, e.g., to authenticate SMTP/IMAP clients against
|
||||
SMTP/IMAP servers. GSS consists of a library and a manual.")
|
||||
"The GNU Generic Security Service provides a free implementation of the
|
||||
GSS-API specification. It provides a generic application programming
|
||||
interface for programs to access security services. Security services present
|
||||
a generic, GSS interface, with which the calling application interacts via
|
||||
this library, freeing the application developer from needing to know about
|
||||
the underlying security implementation.")
|
||||
(license gpl3+)
|
||||
(home-page "http://www.gnu.org/software/gss/")))
|
||||
|
||||
@@ -91,25 +93,9 @@ SMTP/IMAP servers. GSS consists of a library and a manual.")
|
||||
`(("gnutls" ,gnutls)))
|
||||
(synopsis "Simple Authentication and Security Layer library")
|
||||
(description
|
||||
"GNU SASL is an implementation of the Simple Authentication and Security
|
||||
Layer framework and a few common SASL mechanisms. SASL is used by network
|
||||
servers (e.g., IMAP, SMTP) to request authentication from clients, and in
|
||||
clients to authenticate against servers.
|
||||
|
||||
GNU SASL consists of a library (libgsasl), a command line utility (gsasl)
|
||||
to access the library from the shell, and a manual. The library includes
|
||||
support for the framework (with authentication functions and application
|
||||
data privacy and integrity functions) and at least partial support for the
|
||||
CRAM-MD5, EXTERNAL, GSSAPI, ANONYMOUS, PLAIN, SECURID, DIGEST-MD5,
|
||||
SCRAM-SHA-1, SCRAM-SHA-1-PLUS, LOGIN, and NTLM mechanisms.
|
||||
|
||||
The library is portable because it does not do network communication by
|
||||
itself, but rather leaves it up to the calling application. The library is
|
||||
flexible with regards to the authorization infrastructure used, as it
|
||||
utilises callbacks into the application to decide whether an user is
|
||||
authorised or not.
|
||||
|
||||
The gsasl package distribution includes the library part as well,
|
||||
so there is no need to install two packages.")
|
||||
"GNU SASL is an implementation of the Simple Authentication and
|
||||
Security Layer framework. On network servers such as IMAP or SMTP servers,
|
||||
SASL is used to handle client/server authentication. This package contains
|
||||
both a library and a command-line tool to access the library.")
|
||||
(license gpl3+)
|
||||
(home-page "http://www.gnu.org/software/gsasl/")))
|
||||
|
||||
@@ -21,12 +21,14 @@
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages bison)
|
||||
#:use-module (gnu packages flex)
|
||||
#:use-module (gnu packages glib)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages python))
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages xml))
|
||||
|
||||
(define-public gstreamer
|
||||
(package
|
||||
@@ -64,6 +66,30 @@ simple plugin with a clean, generic interface.
|
||||
This package provides the core library and elements.")
|
||||
(license lgpl2.0+)))
|
||||
|
||||
(define-public gstreamer-0.10
|
||||
(package (inherit gstreamer)
|
||||
(version "0.10.36")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1nkid1n2l3rrlmq5qrf5yy06grrkwjh3yxl5g0w58w0pih8allci"))
|
||||
(patches
|
||||
(list (search-patch "gstreamer-0.10-bison3.patch")
|
||||
(search-patch "gstreamer-0.10-silly-test.patch")))))
|
||||
(propagated-inputs
|
||||
`(("libxml2" ,libxml2)))
|
||||
(inputs
|
||||
`(("bison" ,bison)
|
||||
("flex" ,flex)
|
||||
("glib" ,glib)
|
||||
("perl" ,perl)
|
||||
("pkg-config" ,pkg-config)
|
||||
("python" ,python-2)))))
|
||||
|
||||
(define-public gst-plugins-base
|
||||
(package
|
||||
(name "gst-plugins-base")
|
||||
@@ -107,3 +133,20 @@ simple plugin with a clean, generic interface.
|
||||
|
||||
This package provides an essential exemplary set of elements.")
|
||||
(license lgpl2.0+)))
|
||||
|
||||
(define-public gst-plugins-base-0.10
|
||||
(package (inherit gst-plugins-base)
|
||||
(version "0.10.36")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0jp6hjlra98cnkal4n6bdmr577q8mcyp3c08s3a02c4hjhw5rr0z"))))
|
||||
(inputs
|
||||
`(("glib" ,glib)
|
||||
("gstreamer" ,gstreamer-0.10)
|
||||
("pkg-config" ,pkg-config)
|
||||
("python" ,python-2)))))
|
||||
|
||||
+340
-12
@@ -1,5 +1,6 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
|
||||
;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -26,30 +27,35 @@
|
||||
#:use-module (gnu packages fontutils)
|
||||
#:use-module (gnu packages ghostscript)
|
||||
#:use-module (gnu packages glib)
|
||||
#:use-module (gnu packages gnome)
|
||||
#:use-module (gnu packages icu4c)
|
||||
#:use-module (gnu packages libjpeg)
|
||||
#:use-module (gnu packages libpng)
|
||||
#:use-module (gnu packages libtiff)
|
||||
#:use-module (gnu packages pdf)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages guile)
|
||||
#:use-module (gnu packages xml)
|
||||
#:use-module (gnu packages xorg))
|
||||
|
||||
(define-public atk
|
||||
(package
|
||||
(name "atk")
|
||||
(version "2.8.0")
|
||||
(version "2.10.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnome/sources/atk/2.8/atk-"
|
||||
(uri (string-append "mirror://gnome/sources/" name "/"
|
||||
(string-take version 4) "/" name "-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1x3dd3hg9l1j9dq70xwph13vxdp6a9wbfcnryryf1wr6c8bij9dj"))))
|
||||
"1c2hbg66wfvibsz2ia0ri48yr62751fn950i97c53j3b0fjifsb3"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs `(("glib" ,glib)
|
||||
("pkg-config" ,pkg-config)))
|
||||
(synopsis "GNOME accessability toolkit")
|
||||
(synopsis "GNOME accessibility toolkit")
|
||||
(description
|
||||
"ATK provides the set of accessibility interfaces that are implemented
|
||||
by other toolkits and applications. Using the ATK interfaces, accessibility
|
||||
@@ -110,14 +116,14 @@ affine transformation (scale, rotation, shear, etc.)")
|
||||
(define-public harfbuzz
|
||||
(package
|
||||
(name "harfbuzz")
|
||||
(version "0.9.21")
|
||||
(version "0.9.22")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://www.freedesktop.org/software/harfbuzz/release/harfbuzz-"
|
||||
version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"1s6sffgf6ndy12fyln2bdnkn3cb1qfkch0rakdgkgwlq7n46zlx0"))))
|
||||
"1nkimwadri6v2kzrmz8y0crmy59gw0kg4i4f6cc786bngs0815lq"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("cairo" ,cairo)
|
||||
@@ -157,6 +163,60 @@ used throughout the world.")
|
||||
(license license:lgpl2.0+)
|
||||
(home-page "https://developer.gnome.org/pango/")))
|
||||
|
||||
|
||||
(define-public gtksourceview
|
||||
(package
|
||||
(name "gtksourceview")
|
||||
(version "2.10.5") ; This is the last version which builds against gtk+2
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnome/sources/gtksourceview/"
|
||||
(string-take version 4) "/gtksourceview-"
|
||||
version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"07hrabhpl6n8ajz10s0d960jdwndxs87szxyn428mpxi8cvpg1f5"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("intltool" ,intltool)
|
||||
("pkg-config" ,pkg-config)
|
||||
("gtk" ,gtk+-2)
|
||||
("libxml2" ,libxml2)
|
||||
|
||||
;; These two are needed only to allow the tests to run successfully.
|
||||
("xorg-server" ,xorg-server)
|
||||
("shared-mime-info" ,shared-mime-info)))
|
||||
(arguments
|
||||
`(#:phases
|
||||
;; Unfortunately, some of the tests in "make check" are highly dependent
|
||||
;; on the environment therefore, some black magic is required.
|
||||
(alist-cons-before
|
||||
'check 'start-xserver
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let ((xorg-server (assoc-ref inputs "xorg-server"))
|
||||
(mime (assoc-ref inputs "shared-mime-info")))
|
||||
|
||||
;; There must be a running X server and make check doesn't start one.
|
||||
;; Therefore we must do it.
|
||||
(system (format #f "~a/bin/Xvfb :1 &" xorg-server))
|
||||
(setenv "DISPLAY" ":1")
|
||||
|
||||
;; The .lang files must be found in $XDG_DATA_HOME/gtksourceview-2.0
|
||||
(system "ln -s gtksourceview gtksourceview-2.0")
|
||||
(setenv "XDG_DATA_HOME" (getcwd))
|
||||
|
||||
;; Finally, the mimetypes must be available.
|
||||
(setenv "XDG_DATA_DIRS" (string-append mime "/share/")) ))
|
||||
%standard-phases)))
|
||||
(synopsis "Widget that extends the standard GTK+ 2.x 'GtkTextView' widget")
|
||||
(description
|
||||
"GtkSourceView is a portable C library that extends the standard GTK+
|
||||
framework for multiline text editing with support for configurable syntax
|
||||
highlighting, unlimited undo/redo, search and replace, a completion framework,
|
||||
printing and other features typical of a source code editor.")
|
||||
(license license:lgpl2.0+)
|
||||
(home-page "https://developer.gnome.org/gtksourceview/")))
|
||||
|
||||
(define-public gdk-pixbuf
|
||||
(package
|
||||
(name "gdk-pixbuf")
|
||||
@@ -182,24 +242,84 @@ in the GNOME project.")
|
||||
(license license:lgpl2.0+)
|
||||
(home-page "https://developer.gnome.org/gdk-pixbuf/")))
|
||||
|
||||
(define-public gtk+
|
||||
(define-public at-spi2-core
|
||||
(package
|
||||
(name "gtk+")
|
||||
(version "2.24.20")
|
||||
(name "at-spi2-core")
|
||||
(version "2.10.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnome/sources/gtk+/2.24/gtk+-"
|
||||
(uri (string-append "mirror://gnome/sources/" name "/"
|
||||
(string-take version 4) "/" name "-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"18qdvb7nxi25hfnpmcy01p3majw9jnx83ikm263dk9rrjazvqrnc"))))
|
||||
"1ns44yibdgcwzwri7sr075hfs5rh5lgxkh71247a0822az3mahcn"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs `(("dbus" ,dbus)
|
||||
("glib" ,glib)
|
||||
("intltool" ,intltool)
|
||||
("libxi" ,libxi)
|
||||
("libxtst" ,libxtst)
|
||||
("pkg-config" ,pkg-config)))
|
||||
(arguments
|
||||
`(#:tests? #f)) ; FIXME: dbind/dbtest fails; one should disable tests in
|
||||
; a more fine-grained way.
|
||||
(synopsis "Assistive Technology Service Provider Interface, core components")
|
||||
(description
|
||||
"The Assistive Technology Service Provider Interface, core components,
|
||||
is part of the GNOME accessibility project.")
|
||||
(license license:lgpl2.0+)
|
||||
(home-page "https://projects.gnome.org/accessibility/")))
|
||||
|
||||
(define-public at-spi2-atk
|
||||
(package
|
||||
(name "at-spi2-atk")
|
||||
(version "2.10.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnome/sources/" name "/"
|
||||
(string-take version 4) "/" name "-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"150sqc21difazqd53llwfdaqnwfy73bic9hia41xpfy9kcpzz9yy"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs `(("atk" ,atk)
|
||||
("at-spi2-core" ,at-spi2-core)
|
||||
("dbus" ,dbus)
|
||||
("glib" ,glib)
|
||||
("pkg-config" ,pkg-config)))
|
||||
(arguments
|
||||
`(#:tests? #f)) ; FIXME: droute/droute-test fails; one should disable
|
||||
; tests in a more fine-grained way.
|
||||
(synopsis "Assistive Technology Service Provider Interface, ATK bindings")
|
||||
(description
|
||||
"The Assistive Technology Service Provider Interface
|
||||
is part of the GNOME accessibility project.")
|
||||
(license license:lgpl2.0+)
|
||||
(home-page "https://projects.gnome.org/accessibility/")))
|
||||
|
||||
(define-public gtk+-2
|
||||
(package
|
||||
(name "gtk+")
|
||||
(version "2.24.21")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnome/sources/" name "/"
|
||||
(string-take version 4) "/" name "-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1qyw73pr9ryqhir2h1kbx3vm70km4dg2fxrgkrdlpv0rvlb94bih"))))
|
||||
(build-system gnu-build-system)
|
||||
(propagated-inputs
|
||||
`(("atk" ,atk)
|
||||
("gdk-pixbuf" ,gdk-pixbuf)
|
||||
("pango" ,pango)))
|
||||
(inputs
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
`(("perl" ,perl)
|
||||
("pkg-config" ,pkg-config)
|
||||
("python-wrapper" ,python-wrapper)))
|
||||
(arguments
|
||||
`(#:phases
|
||||
(alist-replace
|
||||
@@ -219,3 +339,211 @@ suitable for projects ranging from small one-off tools to complete
|
||||
application suites.")
|
||||
(license license:lgpl2.0+)
|
||||
(home-page "http://www.gtk.org/")))
|
||||
|
||||
(define-public gtk+
|
||||
(package (inherit gtk+-2)
|
||||
(version "3.10.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnome/sources/gtk+/"
|
||||
(string-take version 4) "/gtk+-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1f3a7r3z7i9xh5imlfpfcgyydzkj2fnd0v6ylvqxij0yzfbnhbn1"))))
|
||||
(propagated-inputs
|
||||
`(("at-spi2-atk" ,at-spi2-atk)
|
||||
("atk" ,atk)
|
||||
("gdk-pixbuf" ,gdk-pixbuf)
|
||||
("libxi" ,libxi)
|
||||
("libxinerama" ,libxinerama)
|
||||
("pango" ,pango)))
|
||||
(inputs
|
||||
`(("libxml2" ,libxml2)
|
||||
("perl" ,perl)
|
||||
("pkg-config" ,pkg-config)
|
||||
("python-wrapper" ,python-wrapper)
|
||||
("xorg-server" ,xorg-server)))
|
||||
(arguments
|
||||
`(#:phases
|
||||
(alist-replace
|
||||
'configure
|
||||
(lambda* (#:key #:allow-other-keys #:rest args)
|
||||
(let ((configure (assoc-ref %standard-phases 'configure)))
|
||||
;; Disable most tests, failing in the chroot with the message:
|
||||
;; D-Bus library appears to be incorrectly set up; failed to read
|
||||
;; machine uuid: Failed to open "/etc/machine-id": No such file or
|
||||
;; directory.
|
||||
;; See the manual page for dbus-uuidgen to correct this issue.
|
||||
(substitute* "testsuite/Makefile.in"
|
||||
(("SUBDIRS = gdk gtk a11y css reftests") "SUBDIRS = gdk"))
|
||||
(apply configure args)))
|
||||
%standard-phases)))))
|
||||
|
||||
;;;
|
||||
;;; Guile bindings.
|
||||
;;;
|
||||
|
||||
(define-public guile-cairo
|
||||
(package
|
||||
(name "guile-cairo")
|
||||
(version "1.4.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"http://download.gna.org/guile-cairo/guile-cairo-"
|
||||
version
|
||||
".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1f5nd9n46n6cwfl1byjml02q3y2hgn7nkx98km1czgwarxl7ws3x"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:phases (alist-cons-before
|
||||
'configure 'set-module-directory
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
;; Install modules under $out/share/guile/site/2.0.
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(substitute* "Makefile.in"
|
||||
(("scmdir = ([[:graph:]]+).*" _ value)
|
||||
(string-append "scmdir = " value "/2.0\n")))
|
||||
(substitute* "cairo/Makefile.in"
|
||||
(("moduledir = ([[:graph:]]+).*" _ value)
|
||||
(string-append "moduledir = "
|
||||
"$(prefix)/share/guile/site/2.0/cairo\n'")))))
|
||||
(alist-cons-after
|
||||
'install 'install-missing-file
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
;; By default 'vector-types.scm' is not installed, so do
|
||||
;; it here.
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(copy-file "cairo/vector-types.scm"
|
||||
(string-append out "/share/guile/site/2.0"
|
||||
"/cairo/vector-types.scm"))))
|
||||
%standard-phases))))
|
||||
(inputs
|
||||
`(("guile-lib" ,guile-lib)
|
||||
("expat" ,expat)
|
||||
("cairo" ,cairo)
|
||||
("pkg-config" ,pkg-config)
|
||||
("guile" ,guile-2.0)))
|
||||
(home-page "http://www.nongnu.org/guile-cairo/")
|
||||
(synopsis "Cairo bindings for GNU Guile")
|
||||
(description
|
||||
"Guile-Cairo wraps the Cairo graphics library for Guile Scheme.
|
||||
Guile-Cairo is complete, wrapping almost all of the Cairo API. It is API
|
||||
stable, providing a firm base on which to do graphics work. Finally, and
|
||||
importantly, it is pleasant to use. You get a powerful and well-maintained
|
||||
graphics library with all of the benefits of Scheme: memory management,
|
||||
exceptions, macros, and a dynamic programming environment.")
|
||||
(license license:lgpl3+)))
|
||||
|
||||
|
||||
;;;
|
||||
;;; C++ bindings.
|
||||
;;;
|
||||
|
||||
(define-public cairomm
|
||||
(package
|
||||
(name "cairomm")
|
||||
(version "1.10.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://cairographics.org/releases/cairomm-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"13rrp96px95m6xnvmsaqb0wcqsnizg3bz334k0yhlyxf7v29d386"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
;; The examples lack -lcairo.
|
||||
'(#:make-flags '("LDFLAGS=-lcairo")))
|
||||
(inputs `(("pkg-config" ,pkg-config)))
|
||||
(propagated-inputs
|
||||
`(("libsigc++" ,libsigc++)
|
||||
("freetype" ,freetype)
|
||||
("fontconfig" ,fontconfig)
|
||||
("cairo" ,cairo)))
|
||||
(home-page "http://cairographics.org/")
|
||||
(synopsis "C++ bindings to the Cairo 2D graphics library")
|
||||
(description
|
||||
"Cairomm provides a C++ programming interface to the Cairo 2D graphics
|
||||
library.")
|
||||
(license license:lgpl2.0+)))
|
||||
|
||||
(define-public pangomm
|
||||
(package
|
||||
(name "pangomm")
|
||||
(version "2.34.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnome/sources/pangomm/2.34/pangomm-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0hcyvv7c5zmivprdam6cp111i6hn2y5jsxzk00m6j9pncbzvp0hf"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs `(("pkg-config" ,pkg-config)))
|
||||
(propagated-inputs
|
||||
`(("cairo" ,cairo)
|
||||
("cairomm" ,cairomm)
|
||||
("glibmm" ,glibmm)
|
||||
("pango" ,pango)))
|
||||
(home-page "http://www.pango.org/")
|
||||
(synopsis "C++ interface to the Pango text rendering library")
|
||||
(description
|
||||
"Pangomm provides a C++ programming interface to the Pango text rendering
|
||||
library.")
|
||||
(license license:lgpl2.1+)))
|
||||
|
||||
(define-public atkmm
|
||||
(package
|
||||
(name "atkmm")
|
||||
(version "2.22.7")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnome/sources/atkmm/2.22/atkmm-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"06zrf2ymml2dzp53sss0d4ch4dk9v09jm8rglnrmwk4v81mq9gxz"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs `(("pkg-config" ,pkg-config)))
|
||||
(propagated-inputs
|
||||
`(("glibmm" ,glibmm) ("atk" ,atk)))
|
||||
(home-page "http://www.gtkmm.org")
|
||||
(synopsis "C++ interface to the ATK accessibility library")
|
||||
(description
|
||||
"ATKmm provides a C++ programming interface to the ATK accessibility
|
||||
toolkit.")
|
||||
(license license:lgpl2.1+)))
|
||||
|
||||
(define-public gtkmm
|
||||
(package
|
||||
(name "gtkmm")
|
||||
(version "3.9.16")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnome/sources/gtkmm/3.9/gtkmm-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0yf8wwv4w02p70nrxsbs0nhm0w4gkn2wggdjygd8vif062anf1rs"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs `(("pkg-config" ,pkg-config)))
|
||||
(propagated-inputs
|
||||
`(("pangomm" ,pangomm)
|
||||
("cairomm" ,cairomm)
|
||||
("atkmm" ,atkmm)
|
||||
("gtk+" ,gtk+)
|
||||
("glibmm" ,glibmm)))
|
||||
(home-page "http://gtkmm.org/")
|
||||
(synopsis
|
||||
"C++ interface to the GTK+ graphical user interface library")
|
||||
(description
|
||||
"gtkmm is the official C++ interface for the popular GUI library GTK+.
|
||||
Highlights include typesafe callbacks, and a comprehensive set of widgets that
|
||||
are easily extensible via inheritance. You can create user interfaces either
|
||||
in code or with the Glade User Interface designer, using libglademm. There's
|
||||
extensive documentation, including API reference and a tutorial.")
|
||||
(license license:lgpl2.1+)))
|
||||
|
||||
@@ -0,0 +1,128 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org>
|
||||
;;;
|
||||
;;; 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 guile-wm)
|
||||
#:use-module (guix licenses)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages xorg)
|
||||
#:use-module (gnu packages guile)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix build-system gnu))
|
||||
|
||||
(define-public guile-xcb
|
||||
(package
|
||||
(name "guile-xcb")
|
||||
(version "1.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://www.markwitmer.com/dist/guile-xcb-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"009qrw46ay74z3mw8gz7jqvn90z9ilyhy00801w5vpyias02730y"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments '(;; Parallel builds fail.
|
||||
#:parallel-build? #f
|
||||
|
||||
;; The '.scm' files go to $(datadir), so set that to the
|
||||
;; standard value.
|
||||
#:configure-flags (list (string-append
|
||||
"--datadir="
|
||||
(assoc-ref %outputs "out")
|
||||
"/share/guile/site/2.0"))
|
||||
#:phases (alist-cons-before
|
||||
'configure 'set-go-directory
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
;; The makefile sets the .go directory to Guile's
|
||||
;; own .go site directory, which is read-only.
|
||||
;; Change it to point to $out/share/guile/site/2.0.
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(substitute* "Makefile.in"
|
||||
(("^godir = .*$")
|
||||
(string-append "godir = " out
|
||||
"/share/guile/site/2.0\n")))))
|
||||
%standard-phases)))
|
||||
(native-inputs `(("pkg-config" ,pkg-config)))
|
||||
(inputs `(("guile" ,guile-2.0)
|
||||
("xcb" ,xcb-proto)))
|
||||
(home-page "http://www.markwitmer.com/guile-xcb/guile-xcb.html")
|
||||
(synopsis "XCB bindings for Guile")
|
||||
(description
|
||||
"Guile-XCB implements the XCB protocol and provides all the tools
|
||||
necessary to write X client code in Guile Scheme without any external
|
||||
dependencies.")
|
||||
(license gpl3+)))
|
||||
|
||||
(define-public guile-wm
|
||||
(package
|
||||
(name "guile-wm")
|
||||
(version "0.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://www.markwitmer.com/dist/guile-wm-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0vv6avpkl6lgrhy2a16z470fqjhvzi4r93qwl87xw9v5dvldf08p"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments '(;; The '.scm' files go to $(datadir), so set that to the
|
||||
;; standard value.
|
||||
#:configure-flags (list (string-append "--datadir="
|
||||
(assoc-ref %outputs "out")
|
||||
"/share/guile/site/2.0"))
|
||||
#:phases (alist-cons-before
|
||||
'configure 'set-go-directory
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
;; Install .go files to $out/share/guile/site/2.0.
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(substitute* "module/Makefile.in"
|
||||
(("^wmdir = .*$")
|
||||
(string-append "wmdir = " out
|
||||
"/share/guile/site/2.0\n")))))
|
||||
(alist-cons-after
|
||||
'install 'set-load-path
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
;; Put Guile-XCB's and Guile-WM's modules in the
|
||||
;; search path of PROG.
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(prog (string-append out "/bin/guile-wm"))
|
||||
(mods (string-append
|
||||
out "/share/guile/site/2.0"))
|
||||
(xcb (string-append
|
||||
(assoc-ref inputs "guile-xcb")
|
||||
"/share/guile/site/2.0")))
|
||||
(wrap-program
|
||||
prog
|
||||
`("GUILE_LOAD_PATH" ":" prefix (,mods ,xcb))
|
||||
`("GUILE_LOAD_COMPILED_PATH" ":" prefix
|
||||
(,mods ,xcb)))))
|
||||
%standard-phases))))
|
||||
(native-inputs `(("pkg-config" ,pkg-config)))
|
||||
(inputs `(("guile" ,guile-2.0)
|
||||
("guile-xcb" ,guile-xcb)))
|
||||
(home-page "http://www.markwitmer.com/guile-xcb/guile-wm.html")
|
||||
(synopsis "X11 window manager toolkit in Scheme")
|
||||
(description
|
||||
"Guile-WM is a simple window manager that's completely customizable—you
|
||||
have total control of what it does by choosing which modules to include.
|
||||
Included with it are a few modules that provide basic TinyWM-like window
|
||||
management, some window record-keeping, multi-monitor support, and emacs-like
|
||||
keymaps and minibuffer. At this point, it's just enough to get you started.")
|
||||
(license gpl3+)))
|
||||
+22
-27
@@ -53,10 +53,10 @@
|
||||
".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0l200a0v7h8bh0cwz6v7hc13ds39cgqsmfrks55b1rbj5vniyiy3"))))
|
||||
"0l200a0v7h8bh0cwz6v7hc13ds39cgqsmfrks55b1rbj5vniyiy3"))
|
||||
(patches (list (search-patch "guile-1.8-cpp-4.5.patch")))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments '(#:configure-flags '("--disable-error-on-warning")
|
||||
#:patches (list (assoc-ref %build-inputs "patch/snarf"))
|
||||
|
||||
;; Insert a phase before `configure' to patch things up.
|
||||
#:phases (alist-cons-before
|
||||
@@ -77,8 +77,7 @@
|
||||
(substitute* "ice-9/popen.scm"
|
||||
(("/bin/sh") (which "sh"))))
|
||||
%standard-phases)))
|
||||
(inputs `(("patch/snarf" ,(search-patch "guile-1.8-cpp-4.5.patch"))
|
||||
("gawk" ,gawk)
|
||||
(inputs `(("gawk" ,gawk)
|
||||
("readline" ,readline)))
|
||||
|
||||
;; Since `guile-1.8.pc' has "Libs: ... -lgmp -lltdl", these must be
|
||||
@@ -96,9 +95,11 @@
|
||||
|
||||
(synopsis "Scheme implementation intended especially for extensions")
|
||||
(description
|
||||
"GNU Guile 1.8 is an interpreter for the Scheme programming language,
|
||||
packaged as a library that can be embedded into programs to make them
|
||||
extensible. It supports many SRFIs.")
|
||||
"Guile is the GNU Ubiquitous Intelligent Language for Extensions, the
|
||||
official extension language of the GNU system. It is an implementation of
|
||||
the Scheme language which can be easily embedded in other applications to
|
||||
provide a convenient means of extending the functionality of the application
|
||||
without requiring the source code to be rewritten.")
|
||||
(home-page "http://www.gnu.org/software/guile/")
|
||||
(license lgpl2.0+)))
|
||||
|
||||
@@ -165,12 +166,11 @@ extensible. It supports many SRFIs.")
|
||||
|
||||
(synopsis "Scheme implementation intended especially for extensions")
|
||||
(description
|
||||
"GNU Guile is an implementation of the Scheme programming language, with
|
||||
support for many SRFIs, packaged for use in a wide variety of environments.
|
||||
In addition to implementing the R5RS Scheme standard and a large subset of
|
||||
R6RS, Guile includes a module system, full access to POSIX system calls,
|
||||
networking support, multiple threads, dynamic linking, a foreign function
|
||||
call interface, and powerful string processing.")
|
||||
"Guile is the GNU Ubiquitous Intelligent Language for Extensions, the
|
||||
official extension language of the GNU system. It is an implementation of
|
||||
the Scheme language which can be easily embedded in other applications to
|
||||
provide a convenient means of extending the functionality of the application
|
||||
without requiring the source code to be rewritten.")
|
||||
(home-page "http://www.gnu.org/software/guile/")
|
||||
(license lgpl3+)))
|
||||
|
||||
@@ -265,10 +265,8 @@ many readers as needed).")
|
||||
(home-page "http://www.gnu.org/software/guile-ncurses/")
|
||||
(synopsis "Guile bindings to ncurses")
|
||||
(description
|
||||
"GNU Guile-Ncurses is a library for the Guile Scheme interpreter that
|
||||
provides functions for creating text user interfaces. The text user interface
|
||||
functionality is built on the ncurses libraries: curses, form, panel, and
|
||||
menu.")
|
||||
"guile-ncurses provides Guile language bindings for the ncurses
|
||||
library.")
|
||||
(license lgpl3+)))
|
||||
|
||||
(define-public mcron
|
||||
@@ -281,21 +279,18 @@ menu.")
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0yvrfzzdy2m7fbqkr61fw01wd9r2jpnbyabxhcsfivgxywknl0fy"))))
|
||||
"0yvrfzzdy2m7fbqkr61fw01wd9r2jpnbyabxhcsfivgxywknl0fy"))
|
||||
(patches (list (search-patch "mcron-install.patch")))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:patches (list (assoc-ref %build-inputs "patch/install"))))
|
||||
(inputs
|
||||
`(("ed" ,ed) ("which" ,which) ("guile" ,guile-1.8)
|
||||
("patch/install" ,(search-patch "mcron-install.patch"))))
|
||||
`(("ed" ,ed) ("which" ,which) ("guile" ,guile-1.8)))
|
||||
(home-page "http://www.gnu.org/software/mcron/")
|
||||
(synopsis "Run jobs at scheduled times")
|
||||
(description
|
||||
"The GNU package mcron (Mellor's cron) is a 100% compatible replacement
|
||||
for Vixie cron. It is written in pure Guile, and allows configuration files
|
||||
to be written in scheme (as well as Vixie's original format) for infinite
|
||||
flexibility in specifying when jobs should be run. Mcron was written by Dale
|
||||
Mellor.")
|
||||
"GNU Mcron is a complete replacement for Vixie cron. It is used to run
|
||||
tasks on a schedule, such as every hour or every Monday. Mcron is written in
|
||||
Guile, so its configuration can be written in Scheme; the original cron
|
||||
format is also supported.")
|
||||
(license gpl3+)))
|
||||
|
||||
(define-public guile-lib
|
||||
|
||||
+3
-3
@@ -55,8 +55,8 @@
|
||||
("zlib" ,zlib)))
|
||||
(synopsis "PostScript and PDF viewer using Ghostscript as a back-end")
|
||||
(description
|
||||
"GNU gv allows to view and navigate through PostScript and PDF documents
|
||||
on an X display by providing a graphical user interface for the Ghostscript
|
||||
interpreter.")
|
||||
"GNU GV is a graphical user interface to the Ghostscript interpreter.
|
||||
With it, one can view and navigate through PostScript and PDF documents in X
|
||||
Windows.")
|
||||
(license license:gpl3+)
|
||||
(home-page "http://www.gnu.org/software/gv/")))
|
||||
|
||||
@@ -47,6 +47,7 @@
|
||||
(home-page "http://www.gnu.org/software/help2man/")
|
||||
(synopsis "Automatically generate man pages from program --help")
|
||||
(description
|
||||
"help2man produces simple manual pages from the ‘--help’ and
|
||||
‘--version’ output of other commands.")
|
||||
"GNU help2man is a program that converts the output of standard
|
||||
\"--help\" and \"--version\" command-line arguments into a manual page
|
||||
automatically.")
|
||||
(license gpl3+)))
|
||||
|
||||
+22
-3
@@ -18,6 +18,7 @@
|
||||
|
||||
(define-module (gnu packages icu4c)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages patchelf)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (guix licenses)
|
||||
#:use-module (guix packages)
|
||||
@@ -38,9 +39,18 @@
|
||||
(sha256 (base32
|
||||
"13yz0kk6zsgj94idnlr3vbg8iph5z4ly4b4xrd5wfja7q3ijdx56"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs `(("perl" ,perl)))
|
||||
(inputs
|
||||
`(("patchelf" ,patchelf)
|
||||
("perl" ,perl)))
|
||||
(arguments
|
||||
`(#:phases
|
||||
`(#:modules ((guix build gnu-build-system)
|
||||
(guix build utils)
|
||||
(guix build rpath)
|
||||
(srfi srfi-26))
|
||||
#:imported-modules ((guix build gnu-build-system)
|
||||
(guix build utils)
|
||||
(guix build rpath))
|
||||
#:phases
|
||||
(alist-replace
|
||||
'unpack
|
||||
(lambda* (#:key source #:allow-other-keys)
|
||||
@@ -56,7 +66,16 @@
|
||||
(("`/bin/sh")
|
||||
(string-append "`" (which "bash"))))
|
||||
(apply configure args)))
|
||||
%standard-phases))))
|
||||
(alist-cons-after
|
||||
'strip 'add-lib-to-runpath
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(lib (string-append out "/lib")))
|
||||
;; Add LIB to the RUNPATH of all the libraries.
|
||||
(with-directory-excursion out
|
||||
(for-each (cut augment-rpath <> lib)
|
||||
(find-files "lib" ".*")))))
|
||||
%standard-phases)))))
|
||||
(synopsis "ICU, International Components for Unicode")
|
||||
(description
|
||||
"ICU is a set of C/C++ and Java libraries providing Unicode and
|
||||
|
||||
+16
-30
@@ -1,5 +1,5 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2012 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -27,39 +27,25 @@
|
||||
(package
|
||||
(name "idutils")
|
||||
(version "4.6")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/idutils/idutils-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1hmai3422iaqnp34kkzxdnywl7n7pvlxp11vrw66ybxn9wxg90c1"))))
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/idutils/idutils-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1hmai3422iaqnp34kkzxdnywl7n7pvlxp11vrw66ybxn9wxg90c1"))
|
||||
(patches (list
|
||||
(search-patch "diffutils-gets-undeclared.patch")))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs `(;; TODO: Add Emacs as an input for byte-compilation.
|
||||
;; ("emacs" ,emacs)
|
||||
("patch/gets"
|
||||
,(search-patch "diffutils-gets-undeclared.patch"))))
|
||||
(arguments `(#:patches (list (assoc-ref %build-inputs "patch/gets"))))
|
||||
))
|
||||
(home-page "http://www.gnu.org/software/idutils/")
|
||||
(synopsis "Identifier database utilities")
|
||||
(description
|
||||
"An \"ID database\" is a binary file containing a list of file
|
||||
names, a list of tokens, and a sparse matrix indicating which
|
||||
tokens appear in which files.
|
||||
|
||||
With this database and some tools to query it, many
|
||||
text-searching tasks become simpler and faster. For example,
|
||||
you can list all files that reference a particular `\\#include'
|
||||
file throughout a huge source hierarchy, search for all the
|
||||
memos containing references to a project, or automatically
|
||||
invoke an editor on all files containing references to some
|
||||
function or variable. Anyone with a large software project to
|
||||
maintain, or a large set of text files to organize, can benefit
|
||||
from the ID utilities.
|
||||
|
||||
Although the name `ID' is short for `identifier', the ID
|
||||
utilities handle more than just identifiers; they also treat
|
||||
other kinds of tokens, most notably numeric constants, and the
|
||||
contents of certain character strings.")
|
||||
"The GNU idutils package includes tools to create an index of textual
|
||||
tokens used in a list of file names and then to query that index. Thus, it
|
||||
allows the user to, for example, find all the uses of a particular function
|
||||
in a large programming project. In addition to handling textual tokens, it
|
||||
can also handle numeric constants and the contents of character strings.")
|
||||
(license gpl3+)))
|
||||
|
||||
@@ -37,9 +37,10 @@
|
||||
(build-system gnu-build-system)
|
||||
(synopsis "Code reformatter")
|
||||
(description
|
||||
"GNU Indent can be used to make code easier to read. It can also convert
|
||||
from one style of writing C to another. Indent understands a substantial
|
||||
amount about the syntax of C, but it also attempts to cope with incomplete
|
||||
and misformed syntax. The GNU style of indenting is the default.")
|
||||
"Indent is a program that makes source code easier to read by
|
||||
reformatting it in a consistent style. It can change the style to one of
|
||||
several different styles such as GNU, BSD or K&R. It has some flexibility to
|
||||
deal with incomplete or malformed syntax. GNU indent offers several
|
||||
extensions over the standard utility.")
|
||||
(license license:gpl3+)
|
||||
(home-page "http://www.gnu.org/software/indent/")))
|
||||
|
||||
@@ -0,0 +1,79 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
|
||||
;;;
|
||||
;;; 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 kde)
|
||||
#:use-module ((guix licenses) #:select (bsd-2 lgpl2.1+))
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (gnu packages glib)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages pulseaudio)
|
||||
#:use-module (gnu packages qt)
|
||||
#:use-module (gnu packages xorg))
|
||||
|
||||
(define-public automoc4
|
||||
(package
|
||||
(name "automoc4")
|
||||
(version "0.9.88")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://download.kde.org/stable/" name
|
||||
"/" version "/" name "-"
|
||||
version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"0jackvg0bdjg797qlbbyf9syylm0qjs55mllhn11vqjsq3s1ch93"))))
|
||||
(build-system cmake-build-system)
|
||||
(inputs
|
||||
`(("qt" ,qt-4)))
|
||||
(arguments
|
||||
`(#:tests? #f)) ; no check target
|
||||
(home-page "http://techbase.kde.org/Development/Tools/Automoc4")
|
||||
(synopsis "build tool for KDE")
|
||||
(description "KDE desktop environment")
|
||||
(license bsd-2)))
|
||||
|
||||
(define-public phonon
|
||||
(package
|
||||
(name "phonon")
|
||||
(version "4.7.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://download.kde.org/stable/" name
|
||||
"/" version "/"
|
||||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1sxrnwm16dxy32xmrqf26762wmbqing1zx8i4vlvzgzvd9xy39ac"))))
|
||||
(build-system cmake-build-system)
|
||||
;; FIXME: Add interpreter ruby once available.
|
||||
;; Add optional input libqtzeitgeist.
|
||||
(inputs
|
||||
`(("automoc4" ,automoc4)
|
||||
("glib" ,glib)
|
||||
("libx11" ,libx11)
|
||||
("pkg-config" ,pkg-config)
|
||||
("pulseaudio" ,pulseaudio)
|
||||
("qt" ,qt-4)))
|
||||
(arguments
|
||||
`(#:tests? #f)) ; no test target
|
||||
(home-page "http://phonon.kde.org/")
|
||||
(synopsis "Qt 4 multimedia API")
|
||||
(description "KDE desktop environment")
|
||||
(license lgpl2.1+)))
|
||||
@@ -40,10 +40,9 @@
|
||||
(home-page "https://www.gnu.org/software/less/")
|
||||
(synopsis "Paginator for terminals")
|
||||
(description
|
||||
"GNU less is a program similar to more, but which allows backward
|
||||
movement in the file as well as forward movement. Also, less does not
|
||||
have to read the entire input file before starting, so with large input
|
||||
files it starts up faster than text editors like vi. Less uses
|
||||
termcap (or terminfo on some systems), so it can run on a variety of
|
||||
terminals. There is even limited support for hardcopy terminals.")
|
||||
"GNU less is a pager, a program that allows you to view large amounts
|
||||
of text in page-sized chunks. Unlike traditional pagers, it allows both
|
||||
backwards and forwards movement through the document. It also does not have
|
||||
to read the entire input file before starting, so it starts faster than most
|
||||
text editors.")
|
||||
(license gpl3+))) ; some files are under GPLv2+
|
||||
|
||||
@@ -0,0 +1,60 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
|
||||
;;;
|
||||
;;; 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 libcanberra)
|
||||
#:use-module ((guix licenses) #:select (lgpl2.1+))
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (gnu packages autotools)
|
||||
#:use-module (gnu packages gstreamer)
|
||||
#:use-module (gnu packages gtk)
|
||||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu packages oggvorbis)
|
||||
#:use-module (gnu packages pkg-config))
|
||||
|
||||
(define-public libcanberra
|
||||
(package
|
||||
(name "libcanberra")
|
||||
(version "0.30")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://0pointer.de/lennart/projects/libcanberra/libcanberra-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0wps39h8rx2b00vyvkia5j40fkak3dpipp1kzilqla0cgvk73dn2"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
;; FIXME: Add optional inputs udev and pulse.
|
||||
`(("alsa-lib" ,alsa-lib)
|
||||
("gstreamer" ,gstreamer)
|
||||
("gtk+" ,gtk+)
|
||||
("libtool" ,libtool)
|
||||
("libvorbis" ,libvorbis)
|
||||
("pkg-config" ,pkg-config)))
|
||||
(home-page "http://0pointer.de/lennart/projects/libcanberra/")
|
||||
(synopsis
|
||||
"Implementation of the XDG Sound Theme and Name Specifications")
|
||||
(description
|
||||
"Libcanberra is an implementation of the XDG Sound Theme and Name
|
||||
Specifications, for generating event sounds on free desktops, such as
|
||||
GNOME. It comes with several backends (ALSA, PulseAudio, OSS, GStreamer,
|
||||
null) and is designed to be portable.")
|
||||
(license lgpl2.1+)))
|
||||
@@ -37,16 +37,13 @@
|
||||
"-stable.tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1xblymln9vihdmf1aqkp8chwvnhpdch3786bh30bj75slnl31992"))))
|
||||
"1xblymln9vihdmf1aqkp8chwvnhpdch3786bh30bj75slnl31992"))
|
||||
(patches (list (search-patch "libevent-dns-tests.patch")))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("patch/dns-tests" ,(search-patch "libevent-dns-tests.patch"))
|
||||
|
||||
;; Dependencies used for the tests and for `event_rpcgen.py'.
|
||||
`(;; Dependencies used for the tests and for `event_rpcgen.py'.
|
||||
("which" ,which)
|
||||
("python" ,python-wrapper)))
|
||||
(arguments
|
||||
'(#:patches (list (assoc-ref %build-inputs "patch/dns-tests"))))
|
||||
(home-page "http://libevent.org/")
|
||||
(synopsis
|
||||
"libevent, an event notification library")
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu packages libffi)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (guix licenses)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
@@ -46,7 +47,8 @@
|
||||
name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"077ibkf84bvcd6rw1m6jb107br63i2pp301rkmsbgg6300adxp8x"))))
|
||||
"077ibkf84bvcd6rw1m6jb107br63i2pp301rkmsbgg6300adxp8x"))
|
||||
(patches (list (search-patch "libffi-mips-n32-fix.patch")))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments `(#:modules ((guix build utils) (guix build gnu-build-system)
|
||||
(ice-9 ftw) (srfi srfi-26))
|
||||
|
||||
+3
-10
@@ -37,15 +37,8 @@
|
||||
;; FIXME: No Java and C# libraries are currently built.
|
||||
(synopsis "Internationalized string processing library")
|
||||
(description
|
||||
"GNU Libidn is a fully documented implementation of the Stringprep,
|
||||
Punycode and IDNA specifications. Libidn's purpose is to encode and decode
|
||||
internationalised domain names.
|
||||
|
||||
The library contains a generic Stringprep implementation. Profiles for
|
||||
Nameprep, iSCSI, SASL, XMPP and Kerberos V5 are included. Punycode and
|
||||
ASCII Compatible Encoding (ACE) via IDNA are supported. A mechanism to
|
||||
define Top-Level Domain (TLD) specific validation tables, and to compare
|
||||
strings against those tables, is included.
|
||||
Default tables for some TLDs are also included.")
|
||||
"libidn is a library implementing of the Stringprep, Punycode and IDNA
|
||||
specifications. These are used to encode and decode internationalized domain
|
||||
names. It includes native C, C# and Java libraries.")
|
||||
(license lgpl2.1+)
|
||||
(home-page "http://www.gnu.org/software/libidn/")))
|
||||
|
||||
@@ -52,10 +52,8 @@
|
||||
%standard-phases))
|
||||
'()))
|
||||
(description
|
||||
"GNU libsigsegv is a library for handling page faults in user mode. A page
|
||||
fault occurs when a program tries to access to a region of memory that is
|
||||
currently not available. Catching and handling a page fault is a useful
|
||||
technique for implementing pageable virtual memory, memory-mapped access to
|
||||
persistent databases, generational garbage collectors, stack overflow
|
||||
handlers, distributed shared memory, and more.")
|
||||
"GNU libsigsegv is a library to handle page faults, which occur when a
|
||||
program tries to access an unavailable region of memory, in user mode. By
|
||||
catching and handling page faults, the program can implement pageable virtual
|
||||
memory, stack overflow handlers, and so on.")
|
||||
(license gpl2+)))
|
||||
|
||||
@@ -38,20 +38,8 @@
|
||||
(build-system gnu-build-system)
|
||||
(synopsis "C library for manipulating Unicode strings")
|
||||
(description
|
||||
"This library provides functions for manipulating Unicode strings and for
|
||||
manipulating C strings according to the Unicode standard.
|
||||
|
||||
GNU libunistring is for you if your application involves non-trivial text
|
||||
processing, such as upper/lower case conversions, line breaking, operations
|
||||
on words, or more advanced analysis of text. Text provided by the user can,
|
||||
in general, contain characters of all kinds of scripts. The text processing
|
||||
functions provided by this library handle all scripts and all languages.
|
||||
|
||||
libunistring is for you if your application already uses the ISO C / POSIX
|
||||
<ctype.h>, <wctype.h> functions and the text it operates on is provided by
|
||||
the user and can be in any language.
|
||||
|
||||
libunistring is also for you if your application uses Unicode strings as
|
||||
internal in-memory representation.")
|
||||
"GNU libunistring is a library providing functions to manipulate
|
||||
Unicode strings and for manipulating C strings according to the Unicode
|
||||
standard.")
|
||||
(home-page "http://www.gnu.org/software/libunistring/")
|
||||
(license lgpl3+)))
|
||||
|
||||
@@ -25,20 +25,20 @@
|
||||
(define-public lightning
|
||||
(package
|
||||
(name "lightning")
|
||||
(version "2.0.0")
|
||||
(version "2.0.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/lightning/lightning-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0m0hc9aqw72wsg2sq2hx8zwhfvz814rfr7rz9qcyn3n4qv2kc5z4"))))
|
||||
"100ya7dx12403gimif7p2q7ahd8vxqrxpxqzqr1zqci825nb0b43"))))
|
||||
(build-system gnu-build-system)
|
||||
(synopsis "Library for generating assembly code at runtime")
|
||||
(description
|
||||
"GNU lightning is a library that generates assembly language code at
|
||||
run-time; it is very fast, making it ideal for Just-In-Time compilers, and it
|
||||
abstracts over the target CPU, as it exposes to the clients a standardized
|
||||
RISC instruction set inspired by the MIPS and SPARC chips.")
|
||||
"GNU Lightning is a library that generates assembly language code at
|
||||
run-time. Thus, it is useful in creating Just-In-Time compilers. It
|
||||
abstracts over the target CPU by exposing a standardized RISC instruction set
|
||||
to the clients.")
|
||||
(home-page "http://www.gnu.org/software/lightning/")
|
||||
(license gpl3+)))
|
||||
|
||||
@@ -212,28 +212,27 @@ list of Guile module names to be embedded in the initrd."
|
||||
(and (zero? (system* gzip "--best" "initrd"))
|
||||
(rename-file "initrd.gz" "initrd")))))))))
|
||||
|
||||
(let ((name* name))
|
||||
(package
|
||||
(name name*)
|
||||
(version "0")
|
||||
(source #f)
|
||||
(build-system trivial-build-system)
|
||||
(arguments `(#:modules ((guix build utils))
|
||||
#:builder ,builder))
|
||||
(inputs `(("guile" ,guile)
|
||||
("cpio" ,cpio)
|
||||
("gzip" ,gzip)
|
||||
("modules" ,(module-package modules))
|
||||
("modules/compiled" ,(compiled-module-package modules))
|
||||
,@(if linux
|
||||
`(("linux" ,linux))
|
||||
'())))
|
||||
(synopsis "An initial RAM disk (initrd) for the Linux kernel")
|
||||
(description
|
||||
"An initial RAM disk (initrd), really a gzipped cpio archive, for use by
|
||||
(package
|
||||
(name name)
|
||||
(version "0")
|
||||
(source #f)
|
||||
(build-system trivial-build-system)
|
||||
(arguments `(#:modules ((guix build utils))
|
||||
#:builder ,builder))
|
||||
(inputs `(("guile" ,guile)
|
||||
("cpio" ,cpio)
|
||||
("gzip" ,gzip)
|
||||
("modules" ,(module-package modules))
|
||||
("modules/compiled" ,(compiled-module-package modules))
|
||||
,@(if linux
|
||||
`(("linux" ,linux))
|
||||
'())))
|
||||
(synopsis "An initial RAM disk (initrd) for the Linux kernel")
|
||||
(description
|
||||
"An initial RAM disk (initrd), really a gzipped cpio archive, for use by
|
||||
the Linux kernel.")
|
||||
(license gpl3+)
|
||||
(home-page "http://www.gnu.org/software/guix/"))))
|
||||
(license gpl3+)
|
||||
(home-page "http://www.gnu.org/software/guix/")))
|
||||
|
||||
(define-public qemu-initrd
|
||||
(expression->initrd
|
||||
|
||||
+198
-22
@@ -18,7 +18,8 @@
|
||||
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu packages linux)
|
||||
#:use-module (guix licenses)
|
||||
#:use-module ((guix licenses)
|
||||
#:hide (zlib))
|
||||
#:use-module (gnu packages)
|
||||
#:use-module ((gnu packages compression)
|
||||
#:renamer (symbol-prefix-proc 'guix:))
|
||||
@@ -30,8 +31,11 @@
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages algebra)
|
||||
#:use-module ((gnu packages gettext)
|
||||
#:renamer (symbol-prefix-proc 'g:))
|
||||
#:use-module (gnu packages gettext)
|
||||
#:use-module (gnu packages pulseaudio)
|
||||
#:use-module (gnu packages attr)
|
||||
#:use-module (gnu packages xml)
|
||||
#:use-module (gnu packages autotools)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix build-system gnu))
|
||||
@@ -62,7 +66,7 @@
|
||||
version "-gnu.tar.xz")))
|
||||
|
||||
(define-public linux-libre-headers
|
||||
(let* ((version* "3.3.8")
|
||||
(let* ((version "3.3.8")
|
||||
(build-phase
|
||||
(lambda (arch)
|
||||
`(lambda _
|
||||
@@ -82,10 +86,10 @@
|
||||
(string-append out
|
||||
"/include/config/kernel.release")
|
||||
(lambda (p)
|
||||
(format p "~a-default~%" ,version*))))))))
|
||||
(format p "~a-default~%" ,version))))))))
|
||||
(package
|
||||
(name "linux-libre-headers")
|
||||
(version version*)
|
||||
(version version)
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (linux-libre-urls version))
|
||||
@@ -99,7 +103,8 @@
|
||||
(guix build utils)
|
||||
(srfi srfi-1))
|
||||
#:phases (alist-replace
|
||||
'build ,(build-phase (%current-system))
|
||||
'build ,(build-phase (or (%current-target-system)
|
||||
(%current-system)))
|
||||
(alist-replace
|
||||
'install ,install-phase
|
||||
(alist-delete 'configure %standard-phases)))
|
||||
@@ -141,7 +146,7 @@
|
||||
(license gpl2+)))
|
||||
|
||||
(define-public linux-libre
|
||||
(let* ((version* "3.11")
|
||||
(let* ((version "3.12")
|
||||
(build-phase
|
||||
'(lambda* (#:key system #:allow-other-keys #:rest args)
|
||||
(let ((arch (car (string-split system #\-))))
|
||||
@@ -181,13 +186,13 @@
|
||||
"modules_install"))))))
|
||||
(package
|
||||
(name "linux-libre")
|
||||
(version version*)
|
||||
(version version)
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (linux-libre-urls version))
|
||||
(sha256
|
||||
(base32
|
||||
"1vlk04xkvyy1kc9zz556md173rn1qzlnvhz7c9sljv4bpk3mdspl"))))
|
||||
"0drjxm9h2k9bik2mhrqqqi6cm5rn2db647wf0zvb58xldj0zmhb6"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs `(("perl" ,perl)
|
||||
("bc" ,bc)
|
||||
@@ -204,7 +209,9 @@
|
||||
(alist-delete 'configure %standard-phases)))
|
||||
#:tests? #f))
|
||||
(synopsis "100% free redistribution of a cleaned Linux kernel")
|
||||
(description "Linux-Libre operating system kernel.")
|
||||
(description
|
||||
"GNU Linux-Libre is a free (as in freedom) variant of the Linux kernel.
|
||||
It has been modified to remove all non-free binary blobs.")
|
||||
(license gpl2)
|
||||
(home-page "http://www.gnu.org/software/linux-libre/"))))
|
||||
|
||||
@@ -330,13 +337,12 @@ providing the system administrator with some help in common tasks.")
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0d8mki0q4yamnkk4533kx8mc0jd879573srxhg6r2fs3lkc6iv8i"))))
|
||||
"0d8mki0q4yamnkk4533kx8mc0jd879573srxhg6r2fs3lkc6iv8i"))
|
||||
(patches (list (search-patch "procps-make-3.82.patch")))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs `(("ncurses" ,ncurses)
|
||||
("patch/make-3.82" ,(search-patch "procps-make-3.82.patch"))))
|
||||
(inputs `(("ncurses" ,ncurses)))
|
||||
(arguments
|
||||
'(#:patches (list (assoc-ref %build-inputs "patch/make-3.82"))
|
||||
#:phases (alist-replace
|
||||
'(#:phases (alist-replace
|
||||
'configure
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
;; No `configure', just a single Makefile.
|
||||
@@ -467,7 +473,8 @@ trace of all the system calls made by a another process/program.")
|
||||
version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"0fx057746dj7rjdi0jnvx2m9b0y1lgdkh1hks87d8w32xyihf3k9"))))
|
||||
"0fx057746dj7rjdi0jnvx2m9b0y1lgdkh1hks87d8w32xyihf3k9"))
|
||||
(patches (list (search-patch "alsa-lib-mips-atomic-fix.patch")))))
|
||||
(build-system gnu-build-system)
|
||||
(home-page "http://www.alsa-project.org/")
|
||||
(synopsis "The Advanced Linux Sound Architecture libraries")
|
||||
@@ -476,6 +483,48 @@ trace of all the system calls made by a another process/program.")
|
||||
MIDI functionality to the Linux-based operating system.")
|
||||
(license lgpl2.1+)))
|
||||
|
||||
(define-public alsa-utils
|
||||
(package
|
||||
(name "alsa-utils")
|
||||
(version "1.0.27.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "ftp://ftp.alsa-project.org/pub/utils/alsa-utils-"
|
||||
version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"1sjjngnq50jv5ilwsb4zys6smifni3bd6fn28gbnhfrg14wsrgq2"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
;; XXX: Disable man page creation until we have DocBook.
|
||||
'(#:configure-flags (list "--disable-xmlto"
|
||||
(string-append "--with-udev-rules-dir="
|
||||
(assoc-ref %outputs "out")
|
||||
"/lib/udev/rules.d"))
|
||||
#:phases (alist-cons-before
|
||||
'install 'pre-install
|
||||
(lambda _
|
||||
;; Don't try to mkdir /var/lib/alsa.
|
||||
(substitute* "Makefile"
|
||||
(("\\$\\(MKDIR_P\\) .*ASOUND_STATE_DIR.*")
|
||||
"true\n")))
|
||||
%standard-phases)))
|
||||
(inputs
|
||||
`(("libsamplerate" ,libsamplerate)
|
||||
("ncurses" ,ncurses)
|
||||
("alsa-lib" ,alsa-lib)
|
||||
("xmlto" ,xmlto)
|
||||
("gettext" ,gnu-gettext)))
|
||||
(home-page "http://www.alsa-project.org/")
|
||||
(synopsis "Utilities for the Advanced Linux Sound Architecture (ALSA)")
|
||||
(description
|
||||
"The Advanced Linux Sound Architecture (ALSA) provides audio and
|
||||
MIDI functionality to the Linux-based operating system.")
|
||||
|
||||
;; This is mostly GPLv2+ but a few files such as 'alsactl.c' are
|
||||
;; GPLv2-only.
|
||||
(license gpl2)))
|
||||
|
||||
(define-public iptables
|
||||
(package
|
||||
(name "iptables")
|
||||
@@ -504,7 +553,7 @@ packet filter.")
|
||||
(define-public iproute
|
||||
(package
|
||||
(name "iproute2")
|
||||
(version "3.8.0")
|
||||
(version "3.12.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
@@ -512,7 +561,7 @@ packet filter.")
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0kqy30wz2krbg4y7750hjq5218hgy2vj9pm5qzkn1bqskxs4b4ap"))))
|
||||
"04gi11gh087bg2nlxhj0lxrk8l9qxkpr88nsiil23917bm3h1xj4"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; no test suite
|
||||
@@ -578,8 +627,8 @@ manpages.")
|
||||
"0yvxrzk0mzmspr7sa34hm1anw6sif39gyn85w4c5ywfn8inxvr3s"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:phases (alist-replace
|
||||
'patch
|
||||
'(#:phases (alist-cons-after
|
||||
'unpack 'patch
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(define (apply-patch file)
|
||||
(zero? (system* "patch" "-p1" "--batch"
|
||||
@@ -628,7 +677,7 @@ manpages.")
|
||||
(sha256
|
||||
(base32
|
||||
"0p93lsqx23v5fv4hpbrydmfvw1ha2rgqpn2zqbs2jhxkzhjc030p"))))))
|
||||
(native-inputs `(("gettext" ,g:gettext)))
|
||||
(native-inputs `(("gettext" ,gnu-gettext)))
|
||||
|
||||
(synopsis "Tools for controlling the network subsystem in Linux")
|
||||
(description
|
||||
@@ -638,3 +687,130 @@ netstat, rarp and route. Additionally, this package contains utilities
|
||||
relating to particular network hardware types (plipconfig, slattach) and
|
||||
advanced aspects of IP configuration (iptunnel, ipmaddr).")
|
||||
(license gpl2+)))
|
||||
|
||||
(define-public libcap
|
||||
(package
|
||||
(name "libcap")
|
||||
(version "2.22")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
|
||||
;; Tarballs used to be available from
|
||||
;; <https://www.kernel.org/pub/linux/libs/security/linux-privs/>
|
||||
;; but they never came back after kernel.org was compromised.
|
||||
(uri (string-append
|
||||
"mirror://debian/pool/main/libc/libcap2/libcap2_"
|
||||
version ".orig.tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"07vjhkznm82p8dm4w6j8mmg7h5c70lp5s9bwwfdmgwpbixfydjp1"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments '(#:phases (alist-delete 'configure %standard-phases)
|
||||
#:tests? #f ; no 'check' target
|
||||
#:make-flags (list "lib=lib"
|
||||
(string-append "prefix="
|
||||
(assoc-ref %outputs "out"))
|
||||
"RAISE_SETFCAP=no")))
|
||||
(native-inputs `(("perl" ,perl)))
|
||||
(inputs `(("attr" ,attr)))
|
||||
(home-page "https://sites.google.com/site/fullycapable/")
|
||||
(synopsis "Library for working with POSIX capabilities")
|
||||
(description
|
||||
"libcap2 provides a programming interface to POSIX capabilities on
|
||||
Linux-based operating systems.")
|
||||
|
||||
;; License is BSD-3 or GPLv2, at the user's choice.
|
||||
(license gpl2)))
|
||||
|
||||
(define-public bridge-utils
|
||||
(package
|
||||
(name "bridge-utils")
|
||||
(version "1.5")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/bridge/bridge-utils-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"12367cwqmi0yqphi6j8rkx97q8hw52yq2fx4k0xfclkcizxybya2"))))
|
||||
(build-system gnu-build-system)
|
||||
|
||||
;; The tarball lacks all the generated files.
|
||||
(native-inputs `(("autoconf" ,autoconf)
|
||||
("automake" ,automake)))
|
||||
(arguments
|
||||
'(#:phases (alist-cons-before
|
||||
'configure 'bootstrap
|
||||
(lambda _
|
||||
(zero? (system* "autoreconf" "-vf")))
|
||||
%standard-phases)
|
||||
#:tests? #f)) ; no 'check' target
|
||||
|
||||
(home-page
|
||||
"http://www.linuxfoundation.org/collaborate/workgroups/networking/bridge")
|
||||
(synopsis "Manipulate Ethernet bridges")
|
||||
(description
|
||||
"Utilities for Linux's Ethernet bridging facilities. A bridge is a way
|
||||
to connect two Ethernet segments together in a protocol independent way.
|
||||
Packets are forwarded based on Ethernet address, rather than IP address (like
|
||||
a router). Since forwarding is done at Layer 2, all protocols can go
|
||||
transparently through a bridge.")
|
||||
(license gpl2+)))
|
||||
|
||||
(define-public libnl
|
||||
(package
|
||||
(name "libnl")
|
||||
(version "3.2.13")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"http://www.infradead.org/~tgr/libnl/files/libnl-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1ydw42lsd572qwrfgws97n76hyvjdpanwrxm03lysnhfxkna1ssd"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs `(("flex" ,flex) ("bison" ,bison)))
|
||||
(home-page "http://www.infradead.org/~tgr/libnl/")
|
||||
(synopsis "NetLink protocol library suite")
|
||||
(description
|
||||
"The libnl suite is a collection of libraries providing APIs to netlink
|
||||
protocol based Linux kernel interfaces. Netlink is an IPC mechanism primarly
|
||||
between the kernel and user space processes. It was designed to be a more
|
||||
flexible successor to ioctl to provide mainly networking related kernel
|
||||
configuration and monitoring interfaces.")
|
||||
|
||||
;; Most files are LGPLv2.1-only, but some are GPLv2-only (like
|
||||
;; 'nl-addr-add.c'), so the result is GPLv2-only.
|
||||
(license gpl2)))
|
||||
|
||||
(define-public powertop
|
||||
(package
|
||||
(name "powertop")
|
||||
(version "2.5")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://01.org/powertop/sites/default/files/downloads/powertop-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"02rwqbpasdayl201v0549gbp2f82rd0hqiv3i111r7npanjhhb4b"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
;; TODO: Add pciutils.
|
||||
`(("zlib" ,guix:zlib)
|
||||
("pkg-config" ,pkg-config)
|
||||
;; ("pciutils" ,pciutils)
|
||||
("ncurses" ,ncurses)
|
||||
("libnl" ,libnl)))
|
||||
(home-page "https://01.org/powertop/")
|
||||
(synopsis "Analyze power consumption on Intel-based laptops")
|
||||
(description
|
||||
"PowerTOP is a Linux tool to diagnose issues with power consumption and
|
||||
power management. In addition to being a diagnostic tool, PowerTOP also has
|
||||
an interactive mode where the user can experiment various power management
|
||||
settings for cases where the operating system has not enabled these
|
||||
settings.")
|
||||
(license gpl2)))
|
||||
|
||||
@@ -43,7 +43,8 @@
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0z6rlalhvfca64jpvksppc9bdhs7jwhiw4y35g5ibvh91xp3rn1l"))))
|
||||
"0z6rlalhvfca64jpvksppc9bdhs7jwhiw4y35g5ibvh91xp3rn1l"))
|
||||
(patches (list (search-patch "liboop-mips64-deplibs-fix.patch")))))
|
||||
(build-system gnu-build-system)
|
||||
(home-page "http://www.lysator.liu.se/liboop/")
|
||||
(synopsis "Event loop library")
|
||||
@@ -119,7 +120,9 @@ basis for almost any application.")
|
||||
(home-page "http://www.lysator.liu.se/~nisse/lsh/")
|
||||
(synopsis "GNU implementation of the Secure Shell (ssh) protocols")
|
||||
(description
|
||||
"lsh is a free implementation (in the GNU sense) of the ssh
|
||||
version 2 protocol, currently being standardised by the IETF
|
||||
SECSH working group.")
|
||||
"GNU lsh is a free implementation of the SSH version 2 protocol. It is
|
||||
used to create a secure line of communication between two computers,
|
||||
providing shell access to the server system from the client. It provides
|
||||
both the server daemon and the client application, as well as tools for
|
||||
manipulating key files.")
|
||||
(license gpl2+)))
|
||||
|
||||
+7
-18
@@ -33,7 +33,8 @@
|
||||
version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"0w0da1chh12mczxa5lnwzjk9czi3dq6gnnndbpa6w4rj76b1yklf"))))
|
||||
"0w0da1chh12mczxa5lnwzjk9czi3dq6gnnndbpa6w4rj76b1yklf"))
|
||||
(patches (list (search-patch "m4-readlink-EINVAL.patch")))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
;; XXX: Disable tests on those platforms with know issues.
|
||||
@@ -41,8 +42,6 @@
|
||||
'("x86_64-darwin"
|
||||
"i686-cygwin"
|
||||
"i686-sunos")))
|
||||
#:patches (list (assoc-ref %build-inputs
|
||||
"patch/readlink-EINVAL"))
|
||||
#:phases (alist-cons-before
|
||||
'check 'pre-check
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
@@ -55,22 +54,12 @@
|
||||
(("/bin/sh")
|
||||
(format #f "~a/bin/bash" bash)))))
|
||||
%standard-phases)))
|
||||
(inputs `(("patch/readlink-EINVAL"
|
||||
,(search-patch "m4-readlink-EINVAL.patch"))))
|
||||
(synopsis "Macro processor")
|
||||
(description
|
||||
"GNU M4 is an implementation of the traditional Unix macro processor. It
|
||||
is mostly SVR4 compatible although it has some extensions (for example,
|
||||
handling more than 9 positional parameters to macros). GNU M4 also has
|
||||
built-in functions for including files, running shell commands, doing
|
||||
arithmetic, etc.
|
||||
|
||||
GNU M4 is a macro processor in the sense that it copies its input to the
|
||||
output expanding macros as it goes. Macros are either builtin or
|
||||
user-defined and can take any number of arguments. Besides just doing macro
|
||||
expansion, m4 has builtin functions for including named files, running UNIX
|
||||
commands, doing integer arithmetic, manipulating text in various ways,
|
||||
recursion etc... m4 can be used either as a front-end to a compiler or as a
|
||||
macro processor in its own right.")
|
||||
"GNU M4 is an implementation of the M4 macro language, which features
|
||||
some extensions over other implementations, some of which are required by GNU
|
||||
Autoconf. It is used as a macro processor, which means it processes text,
|
||||
expanding macros as it encounters them. It also has some built-in functions,
|
||||
for example to run shell commands or to do arithmetic.")
|
||||
(license gpl3+)
|
||||
(home-page "http://www.gnu.org/software/m4/")))
|
||||
|
||||
+11
-23
@@ -22,6 +22,7 @@
|
||||
#:use-module (gnu packages cyrus-sasl)
|
||||
#:use-module (gnu packages dejagnu)
|
||||
#:use-module (gnu packages gdbm)
|
||||
#:use-module (gnu packages gnupg)
|
||||
#:use-module (gnu packages gnutls)
|
||||
#:use-module (gnu packages guile)
|
||||
#:use-module (gnu packages linux)
|
||||
@@ -48,12 +49,11 @@
|
||||
version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"0szbqa12zqzldqyw97lxqax3ja2adis83i7brdfsxmrfw68iaf65"))))
|
||||
"0szbqa12zqzldqyw97lxqax3ja2adis83i7brdfsxmrfw68iaf65"))
|
||||
(patches (list (search-patch "m4-gets-undeclared.patch")))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(;; TODO: Add `--with-sql'.
|
||||
#:patches (list (assoc-ref %build-inputs
|
||||
"patch/gets-undeclared"))
|
||||
#:phases (alist-cons-before
|
||||
'build 'pre-build
|
||||
(lambda _
|
||||
@@ -82,29 +82,15 @@
|
||||
("readline" ,readline)
|
||||
("linux-pam" ,linux-pam)
|
||||
("libtool" ,libtool)
|
||||
("gdbm" ,gdbm)
|
||||
("patch/gets-undeclared"
|
||||
,(search-patch "m4-gets-undeclared.patch"))))
|
||||
("gdbm" ,gdbm)))
|
||||
(home-page "http://www.gnu.org/software/mailutils/")
|
||||
(synopsis "Utilities and library for reading and serving mail")
|
||||
(description
|
||||
"GNU Mailutils is a rich and powerful protocol-independent mail
|
||||
framework. It contains a series of useful mail libraries, clients, and
|
||||
servers. These are the primary mail utilities for the GNU system. The
|
||||
central library is capable of handling electronic mail in various
|
||||
mailbox formats and protocols, both local and remote. Specifically,
|
||||
this project contains a POP3 server, an IMAP4 server, and a Sieve mail
|
||||
filter. It also provides a POSIX `mailx' client, and a collection of
|
||||
other handy tools.
|
||||
|
||||
The GNU Mailutils libraries supply an ample set of primitives for
|
||||
handling electronic mail in programs written in C, C++, Python or
|
||||
Scheme.
|
||||
|
||||
The utilities provided by Mailutils include imap4d and pop3d mail
|
||||
servers, mail reporting utility comsatd, general-purpose mail delivery
|
||||
agent maidag, mail filtering program sieve, and an implementation of MH
|
||||
message handling system.")
|
||||
"GNU Mailutils is a collection of programs for managing, viewing and
|
||||
processing electronic mail. It contains both utilities and server daemons
|
||||
and all operate in a protocol-agnostic way. The underlying libraries are
|
||||
also available, simplifying the addition of mail capabilities to new
|
||||
software.")
|
||||
(license
|
||||
;; Libraries are under LGPLv3+, and programs under GPLv3+.
|
||||
(list gpl3+ lgpl3+))))
|
||||
@@ -156,6 +142,7 @@ aliasing facilities to work just as they would on normal mail.")
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("cyrus-sasl" ,cyrus-sasl)
|
||||
("gpgme" ,gpgme)
|
||||
("ncurses" ,ncurses)
|
||||
("openssl" ,openssl)
|
||||
("perl" ,perl)))
|
||||
@@ -163,6 +150,7 @@ aliasing facilities to work just as they would on normal mail.")
|
||||
`(#:configure-flags '("--enable-smtp"
|
||||
"--enable-imap"
|
||||
"--enable-pop"
|
||||
"--enable-gpgme"
|
||||
"--with-ssl"
|
||||
"--with-sasl"
|
||||
;; so that mutt does not check whether the path
|
||||
|
||||
@@ -54,19 +54,23 @@
|
||||
"Return a libc deriving from BASE whose `system' and `popen' functions looks
|
||||
for `sh' in $PATH, and without nscd, and with static NSS modules."
|
||||
(package (inherit base)
|
||||
(source (origin (inherit (package-source base))
|
||||
(patches (cons (search-patch "glibc-bootstrap-system.patch")
|
||||
(origin-patches (package-source base))))))
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments base)
|
||||
((#:patches patches)
|
||||
`(cons (assoc-ref %build-inputs "patch/system") ,patches))
|
||||
((#:configure-flags flags)
|
||||
;; Arrange so that getaddrinfo & co. do not contact the nscd,
|
||||
;; and can use statically-linked NSS modules.
|
||||
`(cons* "--disable-nscd" "--disable-build-nscd"
|
||||
"--enable-static-nss"
|
||||
,flags))))
|
||||
(inputs
|
||||
`(("patch/system" ,(search-patch "glibc-bootstrap-system.patch"))
|
||||
,@(package-inputs base)))))
|
||||
|
||||
;; Remove the 'debug' output to allow bit-reproducible builds (when the
|
||||
;; 'debug' output is used, ELF files end up with a .gnu_debuglink, which
|
||||
;; includes a CRC of the corresponding debugging symbols; those symbols
|
||||
;; contain store file names, so the CRC changes at every rebuild.)
|
||||
(outputs (delete "debug" (package-outputs base)))))
|
||||
|
||||
(define (package-with-relocatable-glibc p)
|
||||
"Return a variant of P that uses the libc as defined by
|
||||
@@ -96,10 +100,10 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
|
||||
("cross-binutils" ,(cross-binutils target))
|
||||
,@%final-inputs))
|
||||
`(("libc" ,(glibc-for-bootstrap))
|
||||
("gcc" ,(package (inherit gcc-4.7)
|
||||
("gcc" ,(package (inherit gcc-4.8)
|
||||
(inputs
|
||||
`(("libc",(glibc-for-bootstrap))
|
||||
,@(package-inputs gcc-4.7)))))
|
||||
,@(package-inputs gcc-4.8)))))
|
||||
,@(fold alist-delete %final-inputs '("libc" "gcc")))))
|
||||
|
||||
(package-with-explicit-inputs p inputs
|
||||
@@ -129,7 +133,7 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
|
||||
(#f '())
|
||||
(x (list x))))
|
||||
|
||||
;; Remove the `debug' output.
|
||||
;; Remove the 'debug' output (see above for the reason.)
|
||||
(outputs '("out"))))
|
||||
(bzip2 (package (inherit bzip2)
|
||||
(arguments
|
||||
@@ -154,10 +158,12 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
|
||||
"xz_LDADD = -all-static")))
|
||||
%standard-phases)))))
|
||||
(gawk (package (inherit gawk)
|
||||
(source (origin (inherit (package-source gawk))
|
||||
(patches (cons (search-patch "gawk-shell.patch")
|
||||
(origin-patches
|
||||
(package-source gawk))))))
|
||||
(arguments
|
||||
`(#:patches (list (assoc-ref %build-inputs "patch/sh"))
|
||||
|
||||
;; Starting from gawk 4.1.0, some of the tests for the
|
||||
`(;; Starting from gawk 4.1.0, some of the tests for the
|
||||
;; plug-in mechanism just fail on static builds:
|
||||
;;
|
||||
;; ./fts.awk:1: error: can't open shared library `filefuncs' for reading (No such file or directory)
|
||||
@@ -173,10 +179,9 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
|
||||
(substitute* "configure"
|
||||
(("-export-dynamic") "")))
|
||||
,phases)))))
|
||||
(inputs `(("patch/sh" ,(search-patch "gawk-shell.patch"))
|
||||
,@(if (%current-target-system)
|
||||
`(("bash" ,%bash-static))
|
||||
'())))))
|
||||
(inputs (if (%current-target-system)
|
||||
`(("bash" ,%bash-static))
|
||||
'()))))
|
||||
(finalize (compose static-package
|
||||
package-with-relocatable-glibc)))
|
||||
`(,@(map (match-lambda
|
||||
@@ -364,6 +369,11 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
|
||||
(string-append incdir "/asm"))
|
||||
(copy-recursively (string-append linux "/include/asm-generic")
|
||||
(string-append incdir "/asm-generic"))
|
||||
|
||||
;; Remove the '.install' and '..install.cmd' files; the latter
|
||||
;; contains store paths, which prevents bit reproducibility.
|
||||
(for-each delete-file (find-files incdir "\\.install"))
|
||||
|
||||
#t))))
|
||||
(inputs `(("libc" ,(let ((target (%current-target-system)))
|
||||
(if target
|
||||
@@ -379,7 +389,7 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
|
||||
(define %gcc-static
|
||||
;; A statically-linked GCC, with stripped-down functionality.
|
||||
(package-with-relocatable-glibc
|
||||
(package (inherit gcc-4.7)
|
||||
(package (inherit gcc-4.8)
|
||||
(name "gcc-static")
|
||||
(arguments
|
||||
`(#:modules ((guix build utils)
|
||||
@@ -387,7 +397,7 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
|
||||
(srfi srfi-1)
|
||||
(srfi srfi-26)
|
||||
(ice-9 regex))
|
||||
,@(substitute-keyword-arguments (package-arguments gcc-4.7)
|
||||
,@(substitute-keyword-arguments (package-arguments gcc-4.8)
|
||||
((#:guile _) #f)
|
||||
((#:implicit-inputs? _) #t)
|
||||
((#:configure-flags flags)
|
||||
@@ -396,6 +406,9 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
|
||||
"--disable-plugin"
|
||||
"--enable-languages=c"
|
||||
"--disable-libmudflap"
|
||||
"--disable-libatomic"
|
||||
"--disable-libsanitizer"
|
||||
"--disable-libitm"
|
||||
"--disable-libgomp"
|
||||
"--disable-libssp"
|
||||
"--disable-libquadmath"
|
||||
@@ -406,15 +419,24 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
|
||||
(if (%current-target-system)
|
||||
`(cons "LDFLAGS=-static" ,flags)
|
||||
`(cons "BOOT_LDFLAGS=-static" ,flags))))))
|
||||
(inputs `(("gmp-source" ,(package-source gmp))
|
||||
("mpfr-source" ,(package-source mpfr))
|
||||
("mpc-source" ,(package-source mpc))
|
||||
("binutils" ,binutils)
|
||||
,@(package-inputs gcc-4.7))))))
|
||||
(native-inputs
|
||||
(if (%current-target-system)
|
||||
`(;; When doing a Canadian cross, we need GMP/MPFR/MPC both
|
||||
;; as target inputs and as native inputs; the latter is
|
||||
;; needed when building build-time tools ('genconstants',
|
||||
;; etc.) Failing to do that leads to misdetections of
|
||||
;; declarations by 'gcc/configure', and eventually to
|
||||
;; duplicate declarations as reported in
|
||||
;; <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59217>.
|
||||
("gmp-native" ,gmp)
|
||||
("mpfr-native" ,mpfr)
|
||||
("mpc-native" ,mpc)
|
||||
,@(package-native-inputs gcc-4.8))
|
||||
(package-native-inputs gcc-4.8))))))
|
||||
|
||||
(define %gcc-stripped
|
||||
;; The subset of GCC files needed for bootstrap.
|
||||
(package (inherit gcc-4.7)
|
||||
(package (inherit gcc-4.8)
|
||||
(name "gcc-stripped")
|
||||
(build-system trivial-build-system)
|
||||
(source #f)
|
||||
@@ -430,6 +452,7 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
|
||||
(let* ((out (assoc-ref %outputs "out"))
|
||||
(bindir (string-append out "/bin"))
|
||||
(libdir (string-append out "/lib"))
|
||||
(includedir (string-append out "/include"))
|
||||
(libexecdir (string-append out "/libexec"))
|
||||
(gcc (assoc-ref %build-inputs "gcc")))
|
||||
(copy-recursively (string-append gcc "/bin") bindir)
|
||||
@@ -445,6 +468,11 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
|
||||
libexecdir)
|
||||
(for-each remove-store-references
|
||||
(find-files libexecdir ".*"))
|
||||
|
||||
;; Starting from GCC 4.8, helper programs built natively
|
||||
;; (‘genchecksum’, ‘gcc-nm’, etc.) rely on C++ headers.
|
||||
(copy-recursively (string-append gcc "/include/c++")
|
||||
(string-append includedir "/c++"))
|
||||
#t))))
|
||||
(inputs `(("gcc" ,%gcc-static)))))
|
||||
|
||||
@@ -452,17 +480,20 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
|
||||
;; A statically-linked Guile that is relocatable--i.e., it can search
|
||||
;; .scm and .go files relative to its installation directory, rather
|
||||
;; than in hard-coded configure-time paths.
|
||||
(let* ((guile (package (inherit guile-2.0)
|
||||
(let* ((patches (cons* (search-patch "guile-relocatable.patch")
|
||||
(search-patch "guile-default-utf8.patch")
|
||||
(search-patch "guile-linux-syscalls.patch")
|
||||
(origin-patches (package-source guile-2.0))))
|
||||
(source (origin (inherit (package-source guile-2.0))
|
||||
(patches patches)))
|
||||
(guile (package (inherit guile-2.0)
|
||||
(name (string-append (package-name guile-2.0) "-static"))
|
||||
(source source)
|
||||
(synopsis "Statically-linked and relocatable Guile")
|
||||
(inputs
|
||||
`(("patch/relocatable"
|
||||
,(search-patch "guile-relocatable.patch"))
|
||||
("patch/utf8"
|
||||
,(search-patch "guile-default-utf8.patch"))
|
||||
("patch/syscalls"
|
||||
,(search-patch "guile-linux-syscalls.patch"))
|
||||
,@(package-inputs guile-2.0)))
|
||||
|
||||
;; Remove the 'debug' output (see above for the reason.)
|
||||
(outputs (delete "debug" (package-outputs guile-2.0)))
|
||||
|
||||
(propagated-inputs
|
||||
`(("bdw-gc" ,libgc)
|
||||
,@(alist-delete "bdw-gc"
|
||||
@@ -492,13 +523,6 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
|
||||
" -ldl\n"))))
|
||||
%standard-phases)
|
||||
|
||||
;; Allow Guile to be relocated, as is needed during
|
||||
;; bootstrap.
|
||||
#:patches
|
||||
(list (assoc-ref %build-inputs "patch/relocatable")
|
||||
(assoc-ref %build-inputs "patch/utf8")
|
||||
(assoc-ref %build-inputs "patch/syscalls"))
|
||||
|
||||
;; There are uses of `dynamic-link' in
|
||||
;; {foreign,coverage}.test that don't fly here.
|
||||
#:tests? #f)))))
|
||||
|
||||
+107
-48
@@ -1,5 +1,6 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
|
||||
;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -22,54 +23,45 @@
|
||||
#:renamer (symbol-prefix-proc 'license:))
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module ((gnu packages gettext)
|
||||
#:renamer (symbol-prefix-proc 'gnu:))
|
||||
#:use-module (gnu packages fontutils)
|
||||
#:use-module (gnu packages gettext)
|
||||
#:use-module (gnu packages gcc)
|
||||
#:use-module (gnu packages gtk)
|
||||
#:use-module (gnu packages multiprecision)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages readline)
|
||||
#:use-module (gnu packages xml))
|
||||
|
||||
(define-public units
|
||||
(package
|
||||
(name "units")
|
||||
(version "2.01")
|
||||
(version "2.02")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/units/units-" version
|
||||
".tar.gz"))
|
||||
(sha256 (base32
|
||||
"1wl8kaxgk4l5jgc1f71mx1rwa6ib84krjmzyzn2f987z1g3i52qk"))))
|
||||
"16jfji9g1zc99agd5dcinajinhcxr4dgq2lrbc9md69ir5qgld1b"))))
|
||||
(build-system gnu-build-system)
|
||||
(synopsis "Conversion between thousands of scales")
|
||||
(description
|
||||
"GNU Units converts quantities expressed in various systems of
|
||||
measurement to their equivalents in other systems of measurement. Like
|
||||
many similar programs, it can handle multiplicative scale changes. It can
|
||||
also handle nonlinear conversions such as Fahrenheit to Celsius or wire
|
||||
gauge, and it can convert from and to sums of units, such as converting
|
||||
between meters and feet plus inches.
|
||||
|
||||
Beyond simple unit conversions, GNU Units can be used as a general-purpose
|
||||
scientific calculator that keeps track of units in its calculations. You
|
||||
can form arbitrary complex mathematical expressions of dimensions including
|
||||
sums, products, quotients, powers, and even roots of dimensions. Thus you
|
||||
can ensure accuracy and dimensional consistency when working with long
|
||||
expressions that involve many different units that may combine in complex
|
||||
ways.
|
||||
|
||||
The units are defined in an external data file. You can use the extensive
|
||||
data file that comes with this program, or you can provide your own data
|
||||
file to suit your needs. You can also use your own data file to supplement
|
||||
the standard data file.")
|
||||
"GNU Units converts between measured quantities between units of
|
||||
measure. It can handle scale changes through adaptive usage of standard
|
||||
scale prefixes (micro-, kilo-, etc.). It can also handle nonlinear
|
||||
conversions such as Fahrenheit to Celsius. Its interpreter is powerful
|
||||
enough to be used effectively as a scientific calculator.")
|
||||
(license license:gpl3+)
|
||||
(home-page "http://www.gnu.org/software/units/")))
|
||||
|
||||
(define-public gsl
|
||||
(package
|
||||
(name "gsl")
|
||||
(version "1.15")
|
||||
(version "1.16")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
@@ -77,10 +69,11 @@ the standard data file.")
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"18qf6jzz1r3mzb5qynywv4xx3z9g61hgkbpkdrhbgqh2g7jhgfc5"))))
|
||||
"0lrgipi0z6559jqh82yx8n4xgnxkhzj46v96dl77hahdp58jzg3k"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
`(#:parallel-tests? #f
|
||||
#:phases
|
||||
(alist-replace
|
||||
'configure
|
||||
(lambda* (#:key target system outputs #:allow-other-keys #:rest args)
|
||||
@@ -95,14 +88,38 @@ the standard data file.")
|
||||
(home-page "http://www.gnu.org/software/gsl/")
|
||||
(synopsis "Numerical library for C and C++")
|
||||
(description
|
||||
"The GNU Scientific Library (GSL) is a numerical library for C
|
||||
and C++ programmers. It is free software under the GNU General
|
||||
Public License.
|
||||
"The GNU Scientific Library is a library for numerical analysis in C
|
||||
and C++. It includes a wide range of mathematical routines, with over 1000
|
||||
functions in total. Subject areas covered by the library include:
|
||||
differential equations, linear algebra, Fast Fourier Transforms and random
|
||||
numbers.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
The library provides a wide range of mathematical routines such
|
||||
as random number generators, special functions and least-squares
|
||||
fitting. There are over 1000 functions in total with an
|
||||
extensive test suite.")
|
||||
(define-public glpk
|
||||
(package
|
||||
(name "glpk")
|
||||
(version "4.52.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/glpk/glpk-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0nz9ngmx23c8gbjr8l8ygnfaanxj2mwbl8awpg630bgrkxdnhc9j"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("gmp" ,gmp)))
|
||||
(arguments
|
||||
`(#:configure-flags '("--with-gmp")))
|
||||
(home-page "http://www.gnu.org/software/glpk/")
|
||||
(synopsis "GNU Linear Programming Kit, supporting the MathProg language")
|
||||
(description
|
||||
"GLPK is a C library for solving large-scale linear programming (LP),
|
||||
mixed integer programming (MIP), and other related problems. It supports the
|
||||
GNU MathProg modeling language, a subset of the AMPL language, and features a
|
||||
translator for the language. In addition to the C library, a stand-alone
|
||||
LP/MIP solver is included in the package.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public pspp
|
||||
@@ -116,31 +133,73 @@ extensive test suite.")
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0qhxsdbwxd3cn1shc13wxvx2lg32lp4z6sz24kv3jz7p5xfi8j7x"))))
|
||||
"0qhxsdbwxd3cn1shc13wxvx2lg32lp4z6sz24kv3jz7p5xfi8j7x"))
|
||||
(patches (list (search-patch "pspp-tests.patch")))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("gettext" ,gnu:gettext)
|
||||
`(("cairo" ,cairo)
|
||||
("fontconfig" ,fontconfig)
|
||||
("gettext" ,gnu-gettext)
|
||||
("gsl" ,gsl)
|
||||
("libxml2" ,libxml2)
|
||||
("pango" ,pango)
|
||||
("readline" ,readline)
|
||||
("gtk" ,gtk+-2)
|
||||
("gtksourceview" ,gtksourceview)
|
||||
("zlib" ,zlib)))
|
||||
(native-inputs
|
||||
`(("perl" ,perl)
|
||||
("pkg-config" ,pkg-config)))
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
`("--without-cairo" ; FIXME: tests currently fail for lack of font
|
||||
"--without-gui"))) ; FIXME: package missing dependencies
|
||||
(home-page "http://www.gnu.org/software/pspp/")
|
||||
(synopsis "Statistical analysis")
|
||||
(description
|
||||
"PSPP is a program for statistical analysis of sampled data. It is a
|
||||
free replacement for the proprietary program SPSS, and appears very similar
|
||||
to it.
|
||||
|
||||
PSPP can perform descriptive statistics, T-tests, anova, linear and logistic
|
||||
regression, cluster analysis, factor analysis, non-parametric tests and
|
||||
more. Its backend is designed to perform its analyses as fast as possible,
|
||||
regardless of the size of the input data. You can use PSPP with its
|
||||
graphical interface or the more traditional syntax commands.")
|
||||
"GNU PSPP is a statistical analysis program. It can perform
|
||||
descriptive statistics, T-tests, linear regression and non-parametric tests.
|
||||
It features both a graphical interface as well as command-line input. PSPP is
|
||||
designed to interoperate with Gnumeric, LibreOffice and OpenOffice. Data can
|
||||
be imported from spreadsheets, text files and database sources and it can be
|
||||
output in text, PostScript, PDF or HTML.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public lapack
|
||||
(package
|
||||
(name "lapack")
|
||||
(version "3.4.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://www.netlib.org/lapack/lapack-"
|
||||
version ".tgz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1w7sf8888m7fi2kyx1fzgbm22193l8c2d53m8q1ibhvfy6m5v9k0"))
|
||||
(snippet
|
||||
;; Remove non-free files.
|
||||
;; See <http://icl.cs.utk.edu/lapack-forum/archives/lapack/msg01383.html>.
|
||||
'(for-each (lambda (file)
|
||||
(format #t "removing '~a'~%" file)
|
||||
(delete-file file))
|
||||
'("lapacke/example/example_DGESV_rowmajor.c"
|
||||
"lapacke/example/example_ZGESV_rowmajor.c"
|
||||
"DOCS/psfig.tex")))))
|
||||
(build-system cmake-build-system)
|
||||
(home-page "http://www.netlib.org/lapack/")
|
||||
(inputs `(("fortran" ,gfortran-4.8)
|
||||
("python" ,python-2)))
|
||||
(arguments
|
||||
`(#:modules ((guix build cmake-build-system)
|
||||
(guix build utils)
|
||||
(srfi srfi-1))
|
||||
#:phases (alist-cons-before
|
||||
'check 'patch-python
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let ((python (assoc-ref inputs "python")))
|
||||
(substitute* "lapack_testing.py"
|
||||
(("/usr/bin/env python") python))))
|
||||
%standard-phases)))
|
||||
(synopsis "Library for numerical linear algebra")
|
||||
(description
|
||||
"LAPACK is a Fortran 90 library for solving the most commonly occurring
|
||||
problems in numerical linear algebra.")
|
||||
(license (license:bsd-style "file://LICENSE"
|
||||
"See LICENSE in the distribution."))))
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user