1
0
forked from tribes/guix

Compare commits

..

949 Commits

Author SHA1 Message Date
Ludovic Courtès 5d6dbd299e Update 'NEWS'. 2013-12-11 13:06:19 +01:00
Ludovic Courtès d862bf0fe9 build: Remove '..' from srcdir/builddir in 'pre-inst-env'.
* pre-inst-env.in (abs_top_srcdir, abs_top_builddir): New variables.
  Use them instead of @abs_top_srcdir@ and @abs_top_builddir@.
  This fixes the "package-field-location, relative file name" test in
  'make distcheck'.
2013-12-11 11:58:54 +01:00
Ludovic Courtès 68ad877c6b doc: Slightly improve the "System Configuration" node.
* doc/guix.texi (System Configuration): Add paragraph on upgrades and
  rollback, moved from "Using the Configuration System".
  (Using the Configuration System): Change variable name to
  'komputilo'.  Add xref to "Package Modules".
2013-12-11 10:47:55 +01:00
Ludovic Courtès 9afb63bb7f gnu: gdb: Upgrade to 7.6.2.
* gnu/packages/gdb.scm (gdb): Update to 7.6.2.
2013-12-11 01:25:39 +01:00
Ludovic Courtès 22dd04383d gnu: vm: Increase size of VM image.
* gnu/system/vm.scm (system-qemu-image): Add 'disk-image-size'
  parameter; increase it.
2013-12-11 01:10:41 +01:00
Ludovic Courtès 5c0f184536 store: Optimize 'store-path-package-name' and 'store-path-hash-part'.
* guix/store.scm (store-regexp*): New procedure.
  (store-path-package-name, store-path-hash-part): Use it.
2013-12-11 00:19:27 +01:00
Ludovic Courtès c61a5b4a6d store: Add tests for 'store-path-package-name'.
* tests/store.scm ("store-path-package-name", "store-path-package-name
  #f"): New tests.
2013-12-11 00:18:14 +01:00
Ludovic Courtès 0b7e8e9d49 Update '.po' files. 2013-12-10 23:06:29 +01:00
Andreas Enge 4a8c5617f9 NEWS: Small changes.
NEWS: Typos and very minor changes.
2013-12-10 22:14:23 +01:00
Ludovic Courtès a043ac04d9 Update 'NEWS'. 2013-12-10 21:53:59 +01:00
Ludovic Courtès 3141a8bdb3 gnu: Honor the operating system's locale and timezone.
* gnu/system.scm (etc-directory): Add 'locale' and 'timezone'
  parameters.  Set 'LC_ALL', 'TZ', and 'TZDIR' in /etc/profile.
  (operating-system-derivation): Adjust call accordingly.
* gnu/system/vm.scm (%demo-operating-system): Change locale to
  'en_US.UTF-8'.  Add TZDATA to 'packages'.
2013-12-10 21:46:59 +01:00
Ludovic Courtès dfb74e50b7 hydra: Add zlib, gzip, and xz to the core package set.
* build-aux/hydra/gnu-system.scm (%core-packages): Add zlib, gzip, and xz.
2013-12-10 13:56:26 +01:00
John Darrington e67253dbe2 gnu: compression: Fix cross-compilation of zlib.
* gnu/packages/compression.scm : Zlib uses a non-standard
  way of configuring for cross-compilation.  Thanks to Ludovic
  for showing me the correct way to fix this.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2013-12-10 13:55:35 +01:00
Ludovic Courtès 4af2447e37 doc: First stab at documenting whole-system configuration.
* doc/guix.texi (Features): Add xref to "Using the Configuration
  System".
  (System Configuration, Using the Configuration System, Defining
  Services): New nodes.
2013-12-10 00:24:02 +01:00
Ludovic Courtès 4f62d8d6c7 gnu: Allow a plain list of packages in 'operating-system'.
* gnu/system.scm (union): Allow (PACKAGE OUTPUT), (PACKAGE), and
  PACKAGE.
  (<operating-system>)[packages]: Make the default a list of package?
  objects.
* gnu/system/vm.scm (%demo-operating-system): Likewise.  Add a few
  packages.
2013-12-10 00:24:02 +01:00
Ludovic Courtès 78ed003811 gnu: Add 'inputs' field to <user-account>; make 'shell' a monadic value.
* gnu/system/shadow.scm (<user-account>)[inputs]: New field.
  (passwd-file): Bind the 'shell' field of each account.
* gnu/system/vm.scm (%demo-operating-system): Remove 'shell' field.
* gnu/system/dmd.scm (guix-build-accounts): Store a monadic value in
  'shell'.  Add 'inputs' field.
* gnu/system.scm (operating-system-derivation): Remove 'shell' field for
  'root' account.  Add all the 'user-account-inputs' to EXTRAS.
2013-12-10 00:24:02 +01:00
Ludovic Courtès 13ce0e3aa7 gnu: dmd: Avoid "already exists" error on startup.
* gnu/system/dmd.scm (dmd-configuration-file)[config]: Remove
  "/var/nix/gcroots/etc-directory" before trying to recreate it.
2013-12-10 00:24:02 +01:00
Ludovic Courtès 033adfe7e0 gnu: Add (gnu system).
* gnu/system/vm.scm (lower-inputs): Move to monads.scm.
  (qemu-image): Don't add GRUB-CONFIGURATION to the INPUTS-TO-COPY.
  (union, file-union, etc-directory): Move to gnu/system.scm.
  (%demo-operating-system): New variable.
  (system-qemu-image): Add 'os' parameter.  Rewrite in terms of
  'operating-system-derivation'.
* guix/monads.scm (lower-inputs): New procedure.
* gnu/system/grub.scm (grub-configuration-file): Change 'entries' to be
  a plain list instead of a list of monadic values.
* gnu/system.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
2013-12-10 00:24:02 +01:00
Ludovic Courtès 593c3fe600 monads: Fix 'anym'.
* guix/monads.scm (anym): Fix successful case.
* tests/monads.scm ("anym"): New test.
2013-12-10 00:24:01 +01:00
Andreas Enge f7faff88b7 gnu: perl-xml-dom: Propagate inputs.
* gnu/packages/xml.scm (perl-xml-dom): Drop inputs that are obtained through
    propagation, propagate the other inputs.
2013-12-10 00:17:04 +01:00
Andreas Enge 7b81406a4f gnu: perl-libxml: Propagate input.
* gnu/packages/xml.scm (perl-libxml): Propagate input perl-xml-parser.
2013-12-10 00:13:08 +01:00
Andreas Enge f852114ed6 gnu: perl-http-message: Propagate input perl-http-date.
* gnu/packages/web.scm (perl-http-message): Propagate input perl-http-date.
* gnu/packages/web.scm (perl-http-cookies, perl-http-daemon): Drop input perl-http-date.
2013-12-10 00:06:02 +01:00
Andreas Enge d42daec07b gnu: perl-libwww: Propagate all inputs.
* gnu/packages/web.scm (perl-libwww): Drop inputs that appear through
    propagation, and propagate all others.
2013-12-09 23:59:11 +01:00
Andreas Enge 846972ebe5 gnu: perl-file-listing: Propagate input.
* gnu/packages/web.scm (perl-file-listing): Propagate input perl-http-date.
2013-12-09 23:49:22 +01:00
Andreas Enge 3adf588805 gnu: perl-www-robotrules: Propagate input.
* gnu/packages/web.scm (perl-www-robotrules): Propagate input perl-uri.
2013-12-09 23:47:00 +01:00
Andreas Enge d0bb5f77e9 gnu: perl-http-negotiate: Propagate input.
* gnu/packages/web.scm (perl-http-negotiate): Propagate input
    perl-http-message, drop input perl-uri (propagated by perl-http-message).
2013-12-09 23:45:02 +01:00
Andreas Enge 6e8cf5c9e0 gnu: perl-http-daemon: Propagate inputs.
* gnu/packages/web.scm (perl-http-daemon): Propagate inputs perl-http-date,
    perl-http-message and perl-lwp-mediatypes; drop input perl-uri
    (propagated by perl-http-message).
2013-12-09 23:42:25 +01:00
Andreas Enge 800de8da3b gnu: perl-http-cookies: Propagate inputs.
* gnu/packages/web.scm (perl-http-cookies): Propagate inputs perl-http-date
    and perl-http-message; drop input perl-uri (itself propagated from
    perl-http-message).
2013-12-09 23:38:10 +01:00
Andreas Enge daee66fc2e gnu: perl-http-message: Propagate input perl-uri.
* gnu/packages/web.scm (perl-http-message): Propagate input perl-uri,
    since "perl -MHTTP::Message" complains that it is missing.
2013-12-09 23:34:18 +01:00
Andreas Enge ad871fc600 gnu: Add perl-xml-dom.
* gnu/packages/xml.scm (perl-xml-dom): New variable.
2013-12-09 22:37:28 +01:00
Andreas Enge 374a9a8520 gnu: Add perl-libwww.
* gnu/packages/web.scm (perl-libwww): New variable.
2013-12-09 22:23:47 +01:00
Andreas Enge 09a8778f73 gnu: Add perl-encode-locale.
* gnu/packages/web.scm (perl-encode-locale): New variable.
2013-12-09 22:21:27 +01:00
Andreas Enge 56aa03b0c2 gnu: Add perl-file-listing.
* gnu/packages/web.scm (perl-file-listing): New variable.
2013-12-09 22:16:30 +01:00
Andreas Enge 15974e6358 gnu: Add perl-file-list.
* gnu/packages/perl.scm (perl-file-list): New variable.
2013-12-09 15:45:25 +01:00
Andreas Enge 9200c11009 build-system/perl: Honour phases argument in perl build system.
* guix/build-system/perl.scm (perl-build): Propagate phases argument to
    builder.
2013-12-09 13:50:58 +01:00
Andreas Enge 97ac64284d gnu: rcs: Update to 5.9.2.
* gnu/packages/version-control.scm (rcs): Update to 5.9.2.
2013-12-08 23:04:42 +01:00
Andreas Enge 201180e481 gnu: parallel: Update to 20131122.
* gnu/packages/parallel.scm (parallel): Update to 20131122.
2013-12-08 22:58:25 +01:00
Ludovic Courtès 9b0ac80258 gnu: Populate /etc upon startup.
* gnu/packages/patches/dmd-getpw.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/system.scm (dmd): Use it.
* gnu/system/vm.scm (system-qemu-image): Don't explicitly populate /etc;
  don't add ETC to the GC roots.
* gnu/system/dmd.scm (dmd-configuration-file): Add 'etc' parameter.
  [config]: Populate /etc from there.
2013-12-08 22:43:56 +01:00
Andreas Enge 677078b48f gnu: Add perl-net-http.
* gnu/packages/web.scm (perl-net-http): New variable.
2013-12-08 22:24:21 +01:00
Andreas Enge a3eb919fb4 gnu: Add perl-www-robotrules.
* gnu/packages/web.scm (perl-www-robotrules): New variable.
2013-12-08 22:18:58 +01:00
Andreas Enge e7444ee273 gnu: Add perl-http-negotiate.
* gnu/packages/web.scm (perl-http-negotiate): New variable.
2013-12-08 22:03:50 +01:00
Andreas Enge 77874f970e gnu: bison: Update to 3.0.2.
* gnu/packages/bison.scm (bison): Update to 3.0.2.
2013-12-08 21:54:49 +01:00
Andreas Enge 3f41e6b310 gnu: Add perl-http-daemon.
* gnu/packages/web.scm (perl-http-daemon): New variable.
2013-12-08 21:53:12 +01:00
Andreas Enge b3d18aff2f gnu: Add perl-http-cookies.
* gnu/packages/web.scm (perl-http-cookies): New variable.
2013-12-07 22:52:29 +01:00
Andreas Enge 91318a9e19 gnu: Add perl-http-message.
* gnu/packages/web.scm (perl-http-message): New variable.
2013-12-07 22:49:07 +01:00
Andreas Enge e426106bd1 gnu: Add perl-io-html.
* gnu/packages/web.scm (perl-io-html): New variable.
2013-12-07 22:47:40 +01:00
Andreas Enge 24b3c0533d gnu: Add perl-lwp-mediatypes.
* gnu/packages/web.scm (perl-lwp-mediatypes): New variable.
2013-12-07 22:42:18 +01:00
Andreas Enge fea5ebb106 gnu: Add perl-uri.
* gnu/packages/web.scm (perl-uri): New variable.
2013-12-07 22:36:02 +01:00
Andreas Enge ae2aa18dba gnu: Add perl-http-date.
* gnu/packages/web.scm (perl-http-date): New variable.
2013-12-07 22:24:53 +01:00
Andreas Enge 8ec0d3fbcf gnu: Add perl-html-parser.
* gnu/packages/web.scm (perl-html-parser): New variable.
2013-12-07 22:20:53 +01:00
Andreas Enge c9ea41ffd2 gnu: Add perl-html-tagset.
* gnu/packages/web.scm (perl-html-tagset): New variable.
2013-12-07 22:16:05 +01:00
Andreas Enge 7339fbe279 gnu: Rename perl-xml-parser-perlsax to perl-libxml.
* gnu/packages/xml.scm (perl-libxml): Rename from perl-xml-parser-perlsax.
2013-12-07 21:28:54 +01:00
Ludovic Courtès f7d6fafaa2 gnu: dmd: Add 'pam-services' field to <service>.
* gnu/system/dmd.scm (<service>)[pam-services]: New field.
  (mingetty-service): Add #:motd and #:allow-empty-passwords?
  parameters.  Add MOTD to 'inputs' field; add 'pam-services' field.
* gnu/system/vm.scm (system-qemu-image): Aggregate PAM entries from
  SERVICES.
2013-12-07 16:18:51 +01:00
Ludovic Courtès f0387dd167 gnu: vm: Fix inputs in 'file-union'.
* gnu/system/vm.scm (file-union): Filter out members of FILES that are
  outputs of INPUTS.
2013-12-07 16:16:01 +01:00
Ludovic Courtès 18fb40e414 gnu: dmd: Add 'user-accounts' and 'user-groups' fields to <service>.
* gnu/system/shadow.scm (guix-build-accounts): Move to...
* gnu/system/dmd.scm (guix-build-accounts): ... here.
  (<service>)[user-accounts, user-groups]: New fields.
  (guix-service): New #:build-user-id and #:build-accounts parameters.
  Use 'guix-build-accounts' and set the 'user-accounts' and
  'user-groups' fields accordingly.
* gnu/system/vm.scm (system-qemu-image): Remove use of
  'guix-build-accounts'.  Augment ACCOUNTS and GROUPS from what SERVICES
  demand.
2013-12-07 15:01:40 +01:00
Ludovic Courtès 25ed6edb6c doc: Adjust "Building from Git" instructions.
* HACKING (Building from Git): As a follow-up to ff1cbb9, update the
  error reported when pkg.m4 is missing.  Suggested by
  John Darrington <john@darrington.wattle.id.au>.
2013-12-07 12:12:41 +01:00
Ludovic Courtès a348b09ea9 gnu: Move /etc/resolv.conf handling to the networking service.
* gnu/system/vm.scm (etc-directory): Remove 'resolv.conf'.
  (system-qemu-image): Use 'static-networking-service' with
  #:name-servers.  Don't populate the image with /etc/resolv.conf.
* gnu/system/dmd.scm (static-networking-service): Add #:name-servers
  parameter.  Use it to populate /etc/resolv.conf.
2013-12-07 00:01:06 +01:00
Ludovic Courtès 0b8a376b68 gnu: vm: Factorize /etc creation.
* gnu/system/vm.scm (expression->derivation-in-linux-vm)[lower-inputs]:
  Move to top-level...
  (lower-inputs): ... here.  New variable.
  (file-union, etc-directory): New procedures.
  (system-qemu-image): Use 'etc-directory'; remove redundant code, and
  register the result of 'etc-directory' as a GC root.
2013-12-07 00:01:06 +01:00
Andreas Enge dc47b181da gnu: pulseaudio: Disable tests on mips64el.
* gnu/packages/pulseaudio.scm (pulseaudio): Drop tests also on mips64el.
2013-12-06 23:17:40 +01:00
Andreas Enge a2e520afbf gnu: Add perl-xml-regexp.
* gnu/packages/xml.scm (perl-xml-regexp): New variable.
2013-12-06 22:54:44 +01:00
Andreas Enge 1385ba4fd1 gnu: Add perl-xml-parser-perlsax.
* gnu/packages/xml.scm (perl-xml-parser-perlsax): New variable.
2013-12-06 22:50:12 +01:00
Andreas Enge 703d18e252 gnu: libmicrohttpd: Upgrade to 0.9.32.
* gnu/packages/gnunet.scm (libmicrohttpd): Upgrade to 0.9.32.
2013-12-06 00:29:53 +01:00
Andreas Enge 5642cecdde gnu: soprano: Add input raptor2.
* gnu/packages/rdf.scm (soprano): Add input raptor2.
2013-12-06 00:07:59 +01:00
Andreas Enge 2c4e4d2597 gnu: Add raptor2.
* gnu/packages/rdf.scm (raptor2): New variable.
2013-12-06 00:05:13 +01:00
Ludovic Courtès c01f767843 gnu: pulseaudio: Fix typo introduced in 76dcc99.
* gnu/packages/pulseaudio.scm (pulseaudio): Disable tests on i686.
  (pavucontrol): Remove 'arguments'.
2013-12-05 23:07:23 +01:00
Ludovic Courtès 14f550c31c monads: Remove erroneous comment.
* guix/monads.scm (sequence): Remove erroneous comment.
2013-12-05 23:05:13 +01:00
Ludovic Courtès 76dcc993f7 gnu: pulseaudio: Disable tests on i686.
* gnu/packages/pulseaudio.scm (pavucontrol): New 'arguments' field.
2013-12-05 22:50:38 +01:00
Ludovic Courtès de1355f186 build: Work around build problem on systems that lack (gnutls).
Reported at <https://lists.gnu.org/archive/html/guix-devel/2013-12/msg00002.html>.

* Makefile.am (MODULES): Shuffle modules to work around build failure
  on systems that lack the (gnutls) module.
2013-12-05 22:50:38 +01:00
Andreas Enge e7de5ac0d5 gnu: ffmpeg: Enable tests.
* gnu/packages/video.scm (ffmpeg): Add upstream patch and re-enable tests.
* gnu/packages/patches/ffmpeg-check.patch: New file.
* gnu-system.am (dist_patch_DATA): Register patch.
2013-12-05 21:43:41 +01:00
Ludovic Courtès 49d294e5c8 gnu: Move 'guile-ssh' to (gnu packages ssh).
Reported by John Darrington <john@darrington.wattle.id.au>.

* gnu/packages/guile.scm (guile-ssh): Move to...
* gnu/packages/ssh.scm (guile-ssh): ... here.  New variable.
  This fixes a circular dependency issue, as reported at
  <https://lists.gnu.org/archive/html/guix-devel/2013-12/msg00024.html>.
2013-12-04 22:24:28 +01:00
Ludovic Courtès f4badde3fa build-system/gnu: Fix reference to Gettext in 'dist-package'.
* guix/build-system/gnu.scm (dist-package): Change 'gettext' to
  'gnu-gettext'.
2013-12-04 21:43:55 +01:00
Ludovic Courtès dd1a5a152c derivations: Use more keyword parameters for 'build-expression->derivation'.
* guix/derivations.scm (build-expression->derivation): Turn 'system' and
  'inputs' into keyword parameters.
  Adjust callers accordingly.
* gnu/system/linux.scm, gnu/system/vm.scm, guix/build-system/cmake.scm,
  guix/build-system/gnu.scm, guix/build-system/perl.scm,
  guix/build-system/python.scm, guix/build-system/trivial.scm,
  guix/download.scm, guix/packages.scm, guix/profiles.scm,
  guix/scripts/pull.scm, tests/derivations.scm, tests/guix-build.sh,
  tests/monads.scm, tests/store.scm, tests/union.scm: Adjust users of
  'build-expression->derivation' and 'derivation-expression'
  accordingly.
* doc/guix.texi (Derivations): Adjust 'build-expression->derivation'
  documentation accordingly.
  (The Store Monad): Likewise for 'derivation-expression'.
2013-12-04 16:07:53 +01:00
Ludovic Courtès 7b63fa8d15 Augment 'gitignore'. 2013-12-04 16:07:53 +01:00
Ludovic Courtès 279fef2e45 nls: Add Vietnamese translation.
* po/vi.po: New file.
* po/LINGUAS: Add 'vi'.
2013-12-04 16:07:53 +01:00
Ludovic Courtès e060ec3eb0 Update 'eo.po'. 2013-12-04 16:07:53 +01:00
Andreas Enge b0a552e30b gnu: ffmpeg: Disable tests.
* gnu/packages/video.scm (ffmpeg): Disable tests, see
    https://trac.ffmpeg.org/ticket/3177 .
2013-12-04 08:15:31 +01:00
Ludovic Courtès 595801e2f4 gnu: Add Guile-SSH.
* gnu/packages/guile.scm (guile-ssh): New variable.
2013-12-04 00:30:08 +01:00
Ludovic Courtès deed349b4a gnu: libssh: Add $libdir to RUNPATH of libssh_threads.so.
* gnu/packages/ssh.scm (libssh)[arguments]: Add #:phases, #:modules, and
  #:imported-modules.
  [native-inputs]: New field.
2013-12-04 00:29:19 +01:00
Ludovic Courtès 799dcdc48f gnu: Improve synopses in vpn.scm.
* gnu/packages/vpn.scm (vpnc): Shorten synopsis, and fix spelling.
  (openconnect): Fix synopsis spelling.
2013-12-04 00:00:19 +01:00
Ludovic Courtès 4095b41308 gnu: Add missing copyright line.
* gnu/packages/vpn.scm: Add copyright line lost in commit 7af8a9b.
2013-12-03 23:59:22 +01:00
Ludovic Courtès 136b008fe7 gnu: patchelf: Shorten synopsis.
* gnu/packages/patchelf.scm (patchelf): Shorten synopsis.
2013-12-03 23:57:48 +01:00
Eric Bavier 97aed46fa3 Add GNU Serveez
* gnu/packages/serveez.scm: New file
* gnu-system.am (GNU_SYSTEM_MODULES): Add it

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2013-12-03 23:47:32 +01:00
John Darrington addfc3fc02 gnu: Add mtools.
* gnu/packages/mtools.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2013-12-03 23:33:00 +01:00
Eric Bavier 889a87f08c gnu: Add gnu-pw-mgr
* gnu/packages/gnu-pw-mgr.scm: New file
* gnu-system.am (GNU_SYSTEM_MODULES): Add it

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2013-12-03 22:07:23 +01:00
Ludovic Courtès 7af8a9b7ba gnu: Move GVPE to vpn.scm.
* gnu/packages/vpn.scm (gvpe): New variable, moved from...
* gnu/packages/gvpe.scm: ... here.  Remove.
* gnu-system.am (GNU_SYSTEM_MODULES): Remove 'gvpe.scm'.
2013-12-03 22:07:00 +01:00
Ludovic Courtès 901eee2c4c gnu: Add Guile-WM.
* gnu/packages/guile-wm.scm (guile-wm): New variable.
2013-12-03 22:05:13 +01:00
Ludovic Courtès 4d5f0bae3e gnu-maintenance: Ignore "redirect" blurbs.
* guix/gnu-maintenance.scm (official-gnu-packages)[official-description]:
  Return #f for blurbs that start with "redirect ".
2013-12-03 21:33:55 +01:00
Ludovic Courtès f5a345adeb gnu: dmd: Update start/stop of standard service definitions.
* gnu/system/dmd.scm (mingetty-service): Add 'stop' field.
  (nscd-service): Run with '--foreground'.  Change 'stop' to use
  'make-kill-destructor'.
  (syslog-service): Run with '--no-detach'; change 'stop' similarly.
  (guix-service): Likewise for 'stop'.
  (static-networking-service): Remove 'sleep' call from 'start'.  Change
  'stop' to return #f when networking was actually stopped.
2013-12-02 23:38:49 +01:00
Ludovic Courtès 2941448ea8 gnu: dmd: Upgrade to 0.1.
* gnu/packages/system.scm (dmd): Upgrade to 0.1.  Move PKG-CONFIG to
  'native-inputs'.
2013-12-02 23:35:12 +01:00
Ludovic Courtès 0af626ff0f gnu: Add Guile-XCB.
* gnu/packages/guile-wm.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
2013-12-02 23:25:59 +01:00
John Darrington e6a5ce8e67 gnu: pspp: Enabled build of the gui
* gnu/packages/math.scm (pspp): Removed the --without-gui flag
and added the necessary inputs to build it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2013-12-02 13:51:02 +01:00
John Darrington 95d439b24c gnu: Add GtkSourceView.
* gnu/packages/gtk.scm (gtksourceview): New variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2013-12-02 13:50:43 +01:00
Ludovic Courtès 79c311b81c gnu: Synchronize descriptions with 'gnumaint'. 2013-12-01 22:33:23 +01:00
gzg e6a9aa366e Update references from Guy's old name 2013-11-29 14:21:36 +01:00
Ludovic Courtès 1681cd4a24 gnu: Add libssh.
* gnu/packages/ssh.scm (libssh): New variable.
2013-11-28 00:15:07 +01:00
Ludovic Courtès 977f03ffd3 build-system/cmake: Build out of source tree by default.
* guix/build-system/cmake.scm (cmake-build): Change 'out-of-source?' to
  default to #t.
* guix/build/cmake-build-system.scm (configure): Add 'out-of-source?'
  keyword parameter and honor it.
2013-11-28 00:15:07 +01:00
Ludovic Courtès b4f0bb1771 gnu: dmd: Add service documentation.
* gnu/system/dmd.scm (<service>): Add 'documentation' field.
  (host-name-service, mingetty-service, nscd-service, syslog-service,
  static-networking-service): Provide a 'documentation' value.
  (dmd-configuration-file): Use it.
2013-11-28 00:15:07 +01:00
Ludovic Courtès b455a11868 gnu: qemu/smb-shares: Keep the original patches.
* gnu/packages/qemu.scm (qemu/smb-shares): Keep the patches from
  QEMU-HEADLESS.
2013-11-28 00:15:07 +01:00
Andreas Enge c1897890ea gnu: luit: Accomodate stricter warnings of gcc-4.8.
* gnu/packages/patches/luit-posix.patch: New file.
* gnu-system.am (dist_patch_DATA): Register patch.
* gnu/packages/xorg.scm (luit): Apply patch.
2013-11-27 22:52:42 +01:00
Andreas Enge d02196a7b3 gnu: ffmpeg: Update to 2.1.1.
* gnu/packages/video.scm (ffmpeg): Update to 2.1.1.
2013-11-27 22:37:29 +01:00
Ludovic Courtès 079fd3ec63 gnu: qemu: Upgrade to 1.6.1.
* gnu/packages/patches/qemu-make-4.0.patch: New file.
* gnu/packages/qemu.scm (qemu-headless): Use it.  Upgrade to 1.6.1.
* gnu-system.am (dist_patch_DATA): Add it.
2013-11-26 23:55:04 +01:00
Ludovic Courtès df8a09c708 gnu: mit-krb5: Build with GCC 4.7.
* gnu/packages/mit-krb5.scm (mit-krb5): Make BISON and PERL native
  inputs.  Add GCC-4.7 as a native input.
2013-11-26 22:31:22 +01:00
Ludovic Courtès de6792699e substitute-binary: Work around Guile 2.0.5's broken 'n-par-map'.
* guix/scripts/substitute-binary.scm (n-par-map*): New procedure.
  (guix-substitute-binary): Use it instead of 'n-par-map'.
  Reported by Nikita Karetnikov and Eric Bavier.
2013-11-26 22:20:39 +01:00
Ludovic Courtès 0edfdb8924 Add Guy to 'AUTHORS'. 2013-11-26 22:12:43 +01:00
Ludovic Courtès a8300ef9fd gnu: xmodmap: Add patch to allow builds with GCC 4.8.
* gnu/packages/patches/xmodmap-asprintf.patch: New file.
* gnu/packages/xorg.scm (xmodmap): Use it.
* gnu-system.am (dist_patch_DATA): Add it.
2013-11-26 00:20:58 +01:00
Andreas Enge 07cec9a5b9 gnu: Correct typo in previous commit.
* gnu/packages/rdf.scm: Name module rdf.
2013-11-25 23:14:07 +01:00
Andreas Enge c079848873 gnu: Add soprano.
* gnu/packages/rdf.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add module.
2013-11-25 23:10:30 +01:00
gzg 4aa0891cd2 gnu: Add SLiM.
* gnu/packages/slim.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2013-11-25 22:54:32 +01:00
Ludovic Courtès 5fd7f3e015 gnu: iproute2: Upgrade to 3.12.0.
* gnu/packages/linux.scm (iproute): Upgrade to 3.12.0.
2013-11-25 18:51:24 +01:00
Ludovic Courtès 2e1f5bcac1 gnu: {binutils,bash,gnu-make}-final are private.
* gnu/packages/base.scm (binutils-final, bash-final, gnu-make-final):
  Use 'define', not 'define-public'.
2013-11-24 23:01:33 +01:00
Ludovic Courtès aad560a56f list-packages: Make 'snippet-link' more tolerant.
* build-aux/list-packages.scm (package->sxml)[snippet-link]: If
  'package-field-location' returns #f, use 'package-location.
2013-11-24 22:57:06 +01:00
Ludovic Courtès 840f71cdfc Add John to 'AUTHORS'. 2013-11-24 18:32:55 +01:00
John Darrington 0ed873f3f6 gnu: pixman: Upgrade to 0.32.4.
* gnu/packages/xorg.scm (pixman): Upgrade to 0.32.4.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2013-11-24 18:32:05 +01:00
Ludovic Courtès b874f305e5 guix package: Honor the current output when upgrading.
* guix/scripts/package.scm (specification->package+output): Pass OUTPUT
  to 'package-specification->name+version+output'.
2013-11-24 15:30:06 +01:00
Ludovic Courtès 53c85e97dc Merge branch 'core-updates'
Conflicts:
	gnu/packages/gnunet.scm
2013-11-23 22:30:10 +01:00
Ludovic Courtès c320011da5 doc: List the supported platforms.
* doc/guix.texi (GNU Distribution): List the supported platforms.
2013-11-23 22:26:13 +01:00
Ludovic Courtès cd143df018 gnu: net-tools: Adjust to removal of the 'patch' phase.
* gnu/packages/linux.scm (net-tools): Adjust to removal of the 'patch'
  phase.  Reported by Mark H. Weaver <mhw@netris.org>.
2013-11-23 22:17:48 +01:00
Andreas Enge 2e838890ff gnu: libextractor: Add input.
* gnu/packages/gnunet.scm (libextractor): Add input exiv2.
2013-11-23 18:30:07 +01:00
Ludovic Courtès 4942d42a94 gnu: qemu: Add GUI version.
* gnu/packages/qemu.scm (qemu): Rename to...
  (qemu-headless): ... this.
  (qemu/smb-shares): Inherit from it.
  (qemu): New variable.
* gnu/packages/grub.scm (qemu-for-tests): Inherit from QEMU-HEADLESS.
2013-11-23 18:21:44 +01:00
Ludovic Courtès 558a5122fa gnu: sdl: Propagate libx11.
* gnu/packages/sdl.scm (sdl): Propagate LIBX11.
  (sdl-gfx, sdl-ttf): Remove LIBX11 from 'inputs'.
2013-11-23 18:21:44 +01:00
Ludovic Courtès ff1cbb9538 build: Make sure pkg.m4 is present.
Suggested by John Darrington <john@darrington.wattle.id.au>.

* configure.ac: Forbid occurrences of 'PKG_CHECK_MODULES' in the
  output.
2013-11-23 18:21:44 +01:00
Andreas Enge 248c06454e gnu: libextractor: Add optional inputs.
* gnu/packages/gnunet.scm (libextractor): Add inputs ffmpeg and gstreamer.
2013-11-23 18:16:03 +01:00
Ludovic Courtès 0ece707470 gnu: make-bootstrap: Add missing inputs for Canadian cross of '%gcc-static'.
* gnu/packages/make-bootstrap.scm (%gcc-static): Add 'native-inputs'
  field.
2013-11-23 16:07:29 +01:00
David Thompson 5cf3bcd4fb gnu: Add SDL extension libraries.
* gnu/packages/sdl.scm (sdl-gfx, sdl-image, sdl-mixer, sdl-net, sdl-ttf): New
  variables.
2013-11-23 08:50:30 -05:00
Ludovic Courtès 023fef7d94 gnu: Add PowerTOP.
* gnu/packages/linux.scm (powertop): New variable.
2013-11-22 22:55:06 +01:00
Ludovic Courtès 3cc2067523 gnu: Add libnl.
* gnu/packages/linux.scm (libnl): New variable.
2013-11-22 22:50:17 +01:00
Ludovic Courtès d321bf4c27 gnu: apl: Adjust to gettext renaming.
* gnu/packages/apl.scm (apl): Use GNU-GETTEXT.
2013-11-21 00:21:12 +01:00
Ludovic Courtès a2b154d7cb hydra: Adjust to gettext package rename.
* build-aux/hydra/gnu-system.scm (%core-packages): Change 'gettext' to
  'gnu-gettext'.
2013-11-20 23:55:38 +01:00
Ludovic Courtès edae5b3d50 Merge branch 'master' into core-updates
Conflicts:
	guix/packages.scm
2013-11-20 23:51:26 +01:00
Ludovic Courtès 1dba64079c gnu: gettext: Rename binding to 'gnu-gettext'.
* gnu/packages/gettext.scm (gettext): Rename to...
  (gnu-gettext): ... this.  This is used to work around the circular
  dependency introduced in commit c42a4b7, which users with a #:renamer
  cannot cope with.
* gnu/packages/acl.scm, gnu/packages/attr.scm, gnu/packages/cdrom.scm,
  gnu/packages/fdisk.scm, gnu/packages/gkrellm.scm, gnu/packages/glib.scm,
  gnu/packages/gnunet.scm, gnu/packages/grub.scm, gnu/packages/linux.scm,
  gnu/packages/maths.scm, gnu/packages/nano.scm, gnu/packages/parted.scm,
  gnu/packages/system.scm, gnu/packages/version-control.scm,
  gnu/packages/vpn.scm, gnu/packages/w3m.scm, gnu/packages/wget.scm:
  Adjust accordingly.
2013-11-20 22:12:49 +01:00
Eric Bavier e3aaefe71b gnu: Add GNU Parallel.
* gnu/packages/parallel.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2013-11-20 19:03:46 +01:00
Ludovic Courtès 5dfd5b82c2 build-system/python: Add #:test-target parameter.
* guix/build-system/python.scm (python-build): Add #:test-target
  parameter.  Reported by Eric Bavier <ericbavier@gmail.com>.
2013-11-20 19:03:26 +01:00
Ludovic Courtès 953ab5030f gnu: make-bootstrap: Simplify '%gcc-static'.
* gnu/packages/make-bootstrap.scm (%gcc-static): Add a bunch of
  --disable configure flags.  Remove useless 'inputs' field.
2013-11-20 19:01:27 +01:00
David Thompson 8bf8d7c78f gnu: Add SDL and SDL2.
* gnu/packages/sdl.scm (sdl, sdl2): New variables.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2013-11-20 12:08:34 +01:00
Ludovic Courtès 8d9865df14 gnu: autogen: Upgrade to 5.18.2.
* gnu/packages/autogen.scm (autogen): Upgrade to 5.18.2.
2013-11-19 23:47:04 +01:00
Ludovic Courtès 4cec7feeee gnu: bison: Upgrade to 3.0.1.
* gnu/packages/bison.scm (bison): Upgrade to 3.0.1.
2013-11-19 23:46:35 +01:00
Ludovic Courtès c3af0bf243 gnu: hello: Upgrade to 2.9.
* gnu/packages/base.scm (hello): Upgrade to 2.9.  Remove 'arguments' and
  'inputs' fields, which were never needed.
2013-11-19 23:25:35 +01:00
Ludovic Courtès 1635658d69 gnu: libextractor: Upgrade to 1.2.
* gnu/packages/gnunet.scm (libextractor): Upgrade to 1.2.
2013-11-19 23:24:40 +01:00
Ludovic Courtès 6f0856ba80 gnu: freeipmi: Upgrade to 1.3.3.
* gnu/packages/freeipmi.scm (freeipmi): Upgrade to 1.3.3.
2013-11-19 23:23:12 +01:00
Ludovic Courtès 740c24dffc gnu: rcs: Upgrade to 5.9.1.
* gnu/packages/version-control.scm (rcs): Upgrade to 5.9.1.  Add ed as
  an input.
2013-11-19 23:22:03 +01:00
Ludovic Courtès 5ab48b08f0 gnu: lightning: Upgrade to 2.0.2.
* gnu/packages/lightning.scm (lightning): Upgrade to 2.0.2.
2013-11-19 23:20:26 +01:00
Ludovic Courtès 257f56017e gnu: linux-libre: Upgrade to 3.12.
* gnu/packages/linux.scm (linux-libre): Upgrade to 3.12.
2013-11-19 22:39:12 +01:00
Ludovic Courtès 30e457501d gnu: vm: Really create a QCOW2-format image.
* gnu/system/vm.scm (expression->derivation-in-linux-vm): Pass "-f
  qcow2" to 'qemu-img create'.
2013-11-19 00:03:29 +01:00
Ludovic Courtès d03bb6532c doc: Link to package-list.html.
* doc/guix.texi (GNU Distribution): Add link to package-list.html.
2013-11-19 00:02:41 +01:00
Ludovic Courtès a2543006f8 list-packages: Produce link to the origin snippet, if any.
* build-aux/list-packages.scm (package->sxml)[patches](snippet-link):
  New procedure.
  Use it to produce a link to the 'origin-snippet', if any.
2013-11-19 00:01:46 +01:00
Ludovic Courtès 0b8749b7bd packages: 'package-field-location' returns a relative file name.
* guix/packages.scm (package-field-location): Set
  %FILE-PORT-NAME-CANONICALIZATION.
* tests/packages.scm ("package-field-location, relative file name"): New
  test.
2013-11-18 23:56:07 +01:00
Ludovic Courtès ac5de156ae guix build: '-e' can be passed a monadic thunk.
* guix/ui.scm (read/eval): New procedure.
  (read/eval-package-expression): Use it.
* guix/scripts/build.scm (derivations-from-package-expressions): Rename to...
  (derivation-from-expression): ... this.  Accept procedures, under the
  assumption that they are monadic thunk.
  (show-help): Adjust accordingly.
  (guix-build): Ditto.
* tests/guix-build.sh: Add test.
* doc/guix.texi (Invoking guix build): Augment description of '-e'.
2013-11-18 23:08:20 +01:00
Ludovic Courtès e900c5031f doc: Mention Linux containers; emphasize reproducible builds.
* doc/guix.texi (Introduction): Use "containers" instead of "chroots".
  (Invoking guix-daemon): Add @cindex entries.  Mention the Linux
  container features.
  (Features): Add sentence on build reproducibility.
2013-11-18 22:07:29 +01:00
Andreas Enge f392980041 gnu: pspp: Add input cairo.
* gnu/packages/maths.scm (pspp): Add cairo and further necessary inputs.
* gnu/packages/patches/pspp-tests.patch: New file, thanks to
  John Darrington <john@darrington.wattle.id.au>.
* gnu-system.am (dist_patch_DATA): Register patch.
2013-11-18 21:12:27 +01:00
Andreas Enge c42a4b76c4 gnu: gettext: Enable "xgettext --language=glade".
* gnu/packages/gettext.scm (gettext): Add input expat, explicitly link with it.
2013-11-18 21:11:49 +01:00
Ludovic Courtès a7bf595fff gnu: gcc: Really always link against libgcc_s.so.
* gnu/packages/gcc.scm (gcc-4.7): Add snippet to add -lgcc_s to the
  "lib" spec.  Remove --as-needed trick from 65d3b7c: it had no effect
  in cases where we have !static-libgcc && !shared-libgcc.
2013-11-18 14:06:47 +01:00
Ludovic Courtès 0129c94832 gnu: gettext: Upgrade to 0.18.3.1.
* gnu/packages/gettext.scm (gettext): Upgrade to 0.18.3.1.
2013-11-18 00:20:56 +01:00
Ludovic Courtès 65d3b7c31d gnu: gcc: Always link against libgcc_s.so.
* gnu/packages/gcc.scm (gcc-4.7)[pre-configure]: Add snippet to #undef
  USE_LD_AS_NEEDED.
2013-11-18 00:09:45 +01:00
Ludovic Courtès 9ca8b5ac55 gnu: tar: Upgrade to 1.27.1.
* gnu/packages/base.scm (tar): Upgrade to 1.27.1.
2013-11-18 00:07:35 +01:00
Ludovic Courtès 13990c7343 gnu: glibc: Really disable 'ldconfig' and /etc/ld.so.cache.
* gnu/packages/base.scm (glibc): Add 'snippet' to set use_ldconfig=no.
  Remove "glibc-no-ld-so-cache.patch"; that patch would still build
  'ldconfig', and ld.so would still contain ld.so.cache-related code,
  and would look for info in /etc/etc/ld.so.cache (sic).
* gnu/packages/patches/glibc-no-ld-so-cache.patch: Remove.
* gnu-system.am (dist_patch_DATA): Adjust accordingly.
2013-11-16 23:14:28 +01:00
Ludovic Courtès 127ed6a9dd tests: Adjust to bootstrap tarball updates.
Reported by Mark H. Weaver <mhw@netris.org>.

* tests/packages.scm ("package-source-derivation, snippet"): Change to
  "guile-2.0.9.tar.xz".
* tests/union.scm ("union-build"): Check or include/c++ being a symlink.
2013-11-16 22:10:03 +01:00
Ludovic Courtès 8db351e338 doc: Improve "Installing Guix from Guix" section.
Reported by Mark H. Weaver <mhw@netris.org>.

* README (Installing Guix from Guix): Explicitly mention $PATH
  separately.  Mention $ACLOCAL_PATH, not $ACLOCAL.  Give the exact
  command to install the dependencies.  Remove mention of
  $GUIX_LD_WRAPPER_ALLOW_IMPURITIES, which is no longer needed.
2013-11-16 21:56:44 +01:00
Ludovic Courtès c6061db21e gnu: cflow: Install Emacs mode.
* gnu/packages/cflow.scm (cflow): Add Emacs as an input.
2013-11-16 21:56:41 +01:00
Ludovic Courtès 0621349858 gnu: Switch to GCC 4.8 as the default compiler.
* build-aux/download.scm (file-name->uri): Update URL to /20131110.
* gnu-system.am (nodist_bootstrap_x86_64_linux_DATA,
  nodist_bootstrap_i686_linux_DATA): Change base name to
  'guile-2.0.9.tar.xz'.
  (gnu/packages/bootstrap/x86_64-linux/guile-2.0.9.tar.xz,
  gnu/packages/bootstrap/i686-linux/guile-2.0.9.tar.xz): New targets.
  (gnu/packages/bootstrap/x86_64-linux/guile-2.0.7.tar.xz,
  gnu/packages/bootstrap/i686-linux/guile-2.0.7.tar.xz): Remove.
  (gnu/packages/bootstrap/mips64el-linux/guile-2.0.9.tar.xz): Update
  hash.
* gnu/packages/base.scm (gcc-boot0): Base upon GCC-4.8.  Enable C++, and
  add a few --disable flags.  Remove MPFR workaround.
  (cross-gcc-wrapper): Base upon GCC-4.8.  Wrap both 'gcc' and 'g++'.
  (libstdc++): New variable.
  (gcc-final): Add it as an input; pass corresponding -I and -L flags.
* gnu/packages/bootstrap.scm (%bootstrap-guile): Always use
  "guile-2.0.9.tar.xz.
  (%bootstrap-coreutils&co): Update hashes.
  (%bootstrap-binutils): Update URL and hashes.
  (%bootstrap-glibc): Likewise.
  (%bootstrap-gcc): Likewise.
* gnu/packages/gcc.scm (gcc-4.7): Add LDFLAGS.
  Add --disable-libstdcxx-pch.
  Modify the GNU_USER*_SPEC macros from gnu-user*.h instead of the raw
  _SPEC macros.
2013-11-16 00:48:31 +01:00
Ludovic Courtès c509bf8c87 substitute-binary: Adjust timeout handling for Guile > 2.0.9.
* guix/scripts/substitute-binary.scm (with-timeout): Update comment to
  mention the fix's commit ID.
  (fetch): In the 'with-timeout' handler, close PORT only one Guile
  versions < 2.0.9.39.  Before that, on Guile >= 2.0.9.39, the HTTP
  client would end up trying to read from a closed file descriptor.
2013-11-14 01:09:07 +01:00
Ludovic Courtès a716e36de9 derivations: Allow 'map-derivations' to replace sources.
* guix/derivations.scm (map-derivation)[input->output-paths]: Allow
  non-derivation inputs.
  Allow replacements to be store files.  Replace in SOURCES too.
* tests/derivations.scm ("map-derivation, sources"): New test.
2013-11-13 11:22:07 +01:00
Ludovic Courtès f80594cc41 packages: Suitably cope with indirect store paths as package sources.
* guix/packages.scm (package-source-derivation): Don't let indirect
  store paths pass through.
* tests/packages.scm ("package-source-derivation, indirect store path"):
  New test.
2013-11-13 00:29:05 +01:00
Ludovic Courtès 9336e5b5e7 store: Make 'direct-store-path?' public.
* guix/store.scm (direct-store-path?): New procedure.
* guix/derivations.scm (derivation)[direct-store-path?]: Remove.
* tests/store.scm ("direct-store-path?"): New test.
2013-11-13 00:29:05 +01:00
Ludovic Courtès e387ab7c10 derivations: Add 'map-derivation'.
* guix/derivations.scm (map-derivation): New procedure.
* tests/derivations.scm ("map-derivation"): New test.
2013-11-13 00:29:05 +01:00
Ludovic Courtès 56b943de6e utils: Add 'string-replace-substring'.
* guix/utils.scm (string-replace-substring): New procedure.  Based on
  code by Mark H. Weaver.
* tests/utils.scm ("string-replace-substring"): New test.
2013-11-13 00:29:05 +01:00
Andreas Enge be0f611208 gnu: Add IceCat.
* gnu/packages/gnuzilla.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
2013-11-12 22:17:45 +01:00
Nikita Karetnikov f3463cafce gnu: Add GNU APL.
* gnu/packages/apl.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
2013-11-12 01:30:07 +00:00
Ludovic Courtès bf4211523b guix build: Add '--log-file'.
* guix/scripts/build.scm (show-help): Add '--log-file'.
  (%options): Likewise.
  (guix-build): Set %FILE-PORT-NAME-CANONICALIZATION.  Honor '--log-file'.
* tests/guix-build.sh: Add '--log-file' tests.
* doc/guix.texi (Invoking guix build): Document '--log-file'.
2013-11-12 01:06:45 +01:00
Ludovic Courtès eddd4077a5 store: Add 'log-file' procedure.
* guix/store.scm (log-file): New procedure.
* tests/store.scm ("log-file, derivation", "log-file, output file
  name"): New tests.
2013-11-12 01:06:45 +01:00
Andreas Enge 08184ebf16 gnu: Add phonon.
* gnu/packages/kde.scm (phonon): New variable.
2013-11-11 21:56:07 +01:00
Andreas Enge 206a52089a gnu: qt: Enable SIMD instructions available on x86_64.
* gnu/packages/qt.scm (qt, qt-4): Enable mmx, 3dnow, sse and sse2 on x86_64.
2013-11-11 19:16:03 +01:00
Ludovic Courtès a6c116c703 gnu: Add GVPE.
* gnu/packages/gvpe.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
2013-11-11 01:28:10 +01:00
Ludovic Courtès d277bdeab9 gnu: Add GNU complexity.
* gnu/packages/complexity.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
2013-11-11 00:29:09 +01:00
Ludovic Courtès 9ed08d1fd4 nls: Add Serbian translation.
* po/sr.po: New file.
* po/LINGUAS: Add 'sr'.
2013-11-09 18:00:03 +01:00
Ludovic Courtès 50dc48922c substitute-binary: Increase lookup concurrency to reduce latency.
* guix/scripts/substitute-binary.scm (%lookup-threads): New variable.
  (guix-substitute-binary): Use 'n-par-map' instead of 'par-map' for
  batch 'lookup-narinfo' calls.
2013-11-08 22:47:02 +01:00
Ludovic Courtès 7db9608d52 Merge branch 'master' into core-updates
Conflicts:
	guix/packages.scm
2013-11-08 21:58:09 +01:00
Ludovic Courtès 6a9957545c gnu: lapack: Use origin snippet to remove the non-free files.
* gnu/packages/maths.scm (lapack): Add 'snippet' field with contents of
  former 'remove-non-free-files' phase; remove that phase.
2013-11-07 23:07:45 +01:00
Ludovic Courtès f9cc897105 packages: Add a 'snippet' field to <origin>.
* guix/packages.scm (<origin>): Add 'snippet', 'modules', and
  'imported-modules' fields.
  (patch-and-repack): Make 'inputs' a keyword parameter.  Add 'snippet',
  'modules', and 'imported-modules' parameters.  Accept SOURCE as a raw
  file name.  Insert SNIPPET in BUILDER.  Pass IMPORTED-MODULES to
  'build-expression->derivation'.
  (package-source-derivation): Pass the extra arguments to
  'patch-and-repack'.
* tests/packages.scm ("package-source-derivation, snippet"): New test.
* doc/guix.texi (Defining Packages): Mention the 'patches' and 'snippet'
  fields.
  (Invoking guix build): Tell that --source has patches and snippets
  applied.
  (Software Freedom): Mention packages that contain non-free code.
2013-11-07 22:57:30 +01:00
Ludovic Courtès 18f2887bff doc: Document current security issue with substitutes.
Suggested by Mark H. Weaver <mhw@netris.org>.

* doc/guix.texi (Features): Add note about unauthenticated binaries.
2013-11-07 22:18:24 +01:00
Ludovic Courtès b5385b528c doc: Improve documentation of '--no-substitutes'.
Suggested by Mark H. Weaver <mhw@netris.org>.

* doc/guix.texi (Invoking guix package): Spell out the --no-substitutes
  documentation.
  (Invoking guix build): Use the more complete --no-substitutes
  documentation.
  (Invoking guix-daemon): Explain the interaction with what clients ask
  for.
2013-11-07 22:17:15 +01:00
Nikita Karetnikov da95c8170a gnu: Add LAPACK.
* gnu/packages/maths.scm (lapack): New variable.
2013-11-07 08:20:11 +00:00
Ludovic Courtès 35ef363300 Add indentation rule for 'origin'. 2013-11-07 00:18:20 +01:00
Ludovic Courtès 01e82af55f tests: Fix max-silent-time test.
* tests/derivations.scm ("build-expression->derivation and
  max-silent-time"): Use STORE instead of %STORE.  Change BUILDER to
  succeed by default.  Return #f when no exception is raised.
2013-11-04 23:41:33 +01:00
Ludovic Courtès bde2d9cf8d tests: Add the builder as an input to raw derivations.
* tests/derivations.scm ("build derivation with 1 source",
  "derivation with local file as input",
  "derivation with a fixed-output input",
  "multiple-output derivation",
  "multiple-output derivation, non-alphabetic order",
  "user of multiple-output derivation"): Add %BASH as an input, needed
  in chroot builds.
2013-11-04 23:06:13 +01:00
Mark H Weaver 7a78cc7af2 gnu: mit-krb5: don't assume arguments are evaluated right-to-left.
* gnu/packages/patches/mit-krb5-init-fix.patch: New file.
* gnu/packages/mit-krb5.scm (mit-krb5): Apply patch at the end of the custom
  unpack phase.
* gnu-system.am (dist_patch_DATA): Add patch.
2013-11-04 13:38:06 -05:00
Mark H Weaver 2ebab8e909 Add mips64el-linux to the list of supported systems.
* m4/guix.m4 (GUIX_ASSERT_SUPPORTED_SYSTEM): Add mips64el-linux to the list of
  supported systems.
2013-11-03 23:26:58 -05:00
Mark H Weaver f57ff219ad gnu: add bootstrap support for mips64el-linux using the MIPS N32 ABI.
* .gitignore: Add entry for bootstrap/mips64el-linux/guile-2.0.9.tar.xz.

* gnu-system.am (bootstrap_mips64el_linuxdir,
  dist_bootstrap_mips64el_linux_DATA, nodist_bootstrap_mips64el_linux_DATA):
  New variables.
  (DISTCLEANFILES): Add $(nodist_bootstrap_mips64el_linux_DATA).
  (gnu/packages/bootstrap/mips64el-linux/guile-2.0.9.tar.xz): New target.

* build-aux/download.scm (file-name->uri): Adapt to the newer mips64el-linux
  bootstrap tarballs.

* gnu/packages/bootstrap.scm (%bootstrap-guile, %bootstrap-coreutils&co,
  %bootstrap-binutils, %bootstrap-glibc, %bootstrap-gcc): Adapt to the newer
  mips64el-linux bootstrap tarballs.

* gnu/packages/bootstrap/mips64el-linux/bash:
* gnu/packages/bootstrap/mips64el-linux/mkdir:
* gnu/packages/bootstrap/mips64el-linux/tar:
* gnu/packages/bootstrap/mips64el-linux/xz: New files.
2013-11-03 23:26:53 -05:00
Mark H Weaver c5916538fd gnu: liboop: fix deplibs check method for mips64.
* gnu/packages/patches/liboop-mips64-deplibs-fix.patch: New file.
* gnu/packages/lsh.scm (liboop): Add patch.
* gnu-system.am (dist_patch_DATA): Add patch.
2013-11-03 23:26:42 -05:00
Mark H Weaver fdbd19ea6b gnu: gd: fix deplibs check method for mips64.
* gnu/packages/patches/gd-mips64-deplibs-fix.patch: New file.
* gnu/packages/gd.scm (gd): Add patch.
* gnu-system.am (dist_patch_DATA): Add patch.
2013-11-03 23:26:37 -05:00
Mark H Weaver dd863f1f39 gnu: libmad: Fix MIPS assembler code to work with new GCC.
* gnu/packages/patches/libmad-mips-newgcc.patch: New file.
* gnu/packages/mp3.scm (libmad): Add patch.
* gnu-system.am (dist_patch_DATA): Add patch.
2013-11-03 23:26:32 -05:00
Mark H Weaver 46acd05401 gnu: libtheora: patch ancient config.guess to support mips64.
* gnu/packages/patches/libtheora-config-guess.patch: New file.
* gnu/packages/oggvorbis.scm (libtheora): Add patch.
* gnu-system.am (dist_patch_DATA): Add patch.
2013-11-03 23:26:27 -05:00
Mark H Weaver bcd94e192a gnu: alsa-lib: fix atomic op declarations for MIPS.
* gnu/packages/patches/alsa-lib-mips-atomic-fix.patch: New file.
* gnu/packages/linux.scm (alsa-lib): Add patch.
* gnu-system.am (dist_patch_DATA): Add patch.
2013-11-03 23:26:22 -05:00
Mark H Weaver 1475a351f6 gnu: gdb: patch-makefile-SHELL for all Makefile.in files.
* gnu/packages/gdb.scm (gdb): patch-makefile-SHELL for all Makefile.in files
  after configure.
2013-11-03 23:26:17 -05:00
Mark H Weaver b20441f228 gnu: gdb: Fix opcode table for Loongson fused multiply-add.
* gnu/packages/patches/gdb-loongson-madd-fix.patch: New file.
* gnu/packages/gdb.scm (gdb): Add patch.
* gnu-system.am (dist_patch_DATA): Add patch.
2013-11-03 23:26:12 -05:00
Mark H Weaver 1602fcea18 gnu: libffi: fix handling of uint32_t arguments on MIPS N32.
* gnu/packages/patches/libffi-mips-n32-fix.patch: New file.
* gnu/packages/libffi.scm (libffi): Add patch.
* gnu-system.am (dist_patch_DATA): Add patch.
2013-11-03 23:26:04 -05:00
Mark H Weaver bf2cc1e5d1 gnu: libtool: skip a test that fails on MIPS N32.
* gnu/packages/patches/libtool-skip-tests-for-mips.patch: New file.
* gnu/packages/autotools.scm (libtool): Add patch.
* gnu-system.am (dist_patch_DATA): Add patch.
2013-11-03 23:25:59 -05:00
Mark H Weaver 2c1ceeacdf gnu: binutils: apply fixes and workarounds for Loongson 2F CPUs.
* gnu/packages/patches/binutils-loongson-madd-fix.patch: New file.
* gnu/packages/patches/binutils-loongson-workaround.patch: New file.
* gnu/packages/base.scm (binutils): Add patches.
* gnu-system.am (dist_patch_DATA): Add patches.
2013-11-03 23:25:54 -05:00
Ludovic Courtès b8c3527828 gnu: recutils: Upgrade to 1.6.
* gnu/packages/recutils.scm (recutils): Upgrade to 1.6.  Add cURL and
  libgcrypt as inputs.
2013-11-03 23:24:16 +01:00
Ludovic Courtès 64a967cc9c ui: Make '--version' output GCS-compliant.
* guix/ui.scm (show-version-and-exit): Display copyright year, license,
  and LACK OF WARRANTY.
2013-11-03 23:09:30 +01:00
Ludovic Courtès 69f777d14c gnu: make-bootstrap: Build libc and Guile without a .gnu_debuglink.
* gnu/packages/make-bootstrap.scm (glibc-for-bootstrap, %guile-static):
  Add 'outputs' field.
2013-11-03 22:35:17 +01:00
Ludovic Courtès c9323eac74 gnu: make-bootstrap: Allow bit-reproducibility for 'glibc-stripped'.
* gnu/packages/make-bootstrap.scm (%glibc-stripped): Remove '.install'
  and '..install.cmd' files.
2013-11-02 22:28:30 +01:00
Cyril Roelandt a18e58336c gnu: cmake: Bump to 2.8.12
* gnu/packages/cmake.scm: bump to 2.8.12
2013-11-02 22:17:08 +01:00
Ludovic Courtès 55a5674f21 gnu: make-bootstrap: Add C++ header files to the bootstrap GCC.
* gnu/packages/make-bootstrap.scm (%gcc-stripped): Add $gcc/include/c++.
2013-11-02 15:17:08 +01:00
Ludovic Courtès 08928e5752 gnu: cross-gcc: Fix build of 'gcc-cross-sans-libc'.
* gnu/packages/cross-base.scm (cross-gcc): Add "--disable-libatomic".
2013-11-02 12:58:52 +01:00
Ludovic Courtès 13ed095c50 doc: Document the syntax of the '--remove' argument.
* doc/guix.texi (Invoking guix package): Document the syntax of
  '--remove' patterns.
2013-11-02 00:01:35 +01:00
Ludovic Courtès 45b418d634 guix package: Show the output name of what's being removed.
* guix/scripts/package.scm (show-what-to-remove/install): Show the
  output name of packages being removed.
2013-11-01 23:59:25 +01:00
Ludovic Courtès 1b5ba6b1e9 guix package: Fix indentation of "will be removed" messages.
* guix/scripts/package.scm (show-what-to-remove/install): Remove extra
  indentation from the removal sentences.
2013-11-01 23:21:01 +01:00
Ludovic Courtès a20787706c guix package: Allow removal of a specific package output.
Fixes <http://bugs.gnu.org/15756>.

* guix/profiles.scm (<manifest-pattern>): New record type.
  (remove-manifest-entry): Remove.
  (entry-predicate, manifest-matching-entries): New procedures.
  (manifest-remove): Accept a list of <manifest-pattern>.
  (manifest-installed?): Replace 'name' parameter by 'pattern', a
  <manifest-pattern>.
* guix/scripts/package.scm (options->removable): Return a list of
  <manifest-pattern>.
  (guix-package)[process-action]: Use 'manifest-matching-entries' to
  compute the list of packages to remove.
* tests/profiles.scm: New file.
* Makefile.am (SCM_TESTS): Add it.
2013-11-01 23:21:01 +01:00
Ludovic Courtès 537630c5a7 guix package: Separate '--remove' option processing.
* guix/scripts/package.scm (options->removable): New procedure.
  (guix-package)[process-actions]: Use it.  Rename 'remove*' to 'remove'
  and 'install*' to 'install'.
2013-11-01 23:21:00 +01:00
Ludovic Courtès 2876b98925 ui: Factorize package specification parsing.
* guix/ui.scm (package-specification->name+version+output): New
  procedure.
* guix/scripts/package.scm (specification->package+output): Use it.
* tests/ui.scm ("package-specification->name+version+output"): New test.
2013-11-01 23:21:00 +01:00
Ludovic Courtès cc4ecc2d88 Add (guix profiles).
* guix/scripts/package.scm (show-what-to-remove/install): New procedure,
  moved from...
  (guix-package): ... here.
  (<manifest>, make-manifest, <manifest-entry>,
  profile-manifest, manifest->sexp, sexp->manifest, read-manifest,
  write-manifest, remove-manifest-entry, manifest-remove,
  manifest-installed?, manifest=?, profile-regexp, generation-numbers,
  previous-generation-number, profile-derivation, generation-number,
  generation-file-name, generation-time, lower-input): Move to...
* guix/profiles.scm: ... here.  New file.
* Makefile.am (MODULES): Add it.
2013-11-01 23:21:00 +01:00
Nikita Karetnikov fdd6c72683 gnu: Add GCC front ends for Fortran, Go, Objective C, and Objective C++.
* gnu/packages/gcc.scm (custom-gcc, gfortran-4.8, gccgo-4.8)
  (gcc-objc-4.8, gcc-objc++-4.8): New variables.
2013-11-01 20:50:02 +00:00
Andreas Enge 798e4f42b3 gnu: ffmpeg: Fix typo in configure flags.
* gnu/packages/video.scm (ffmpeg): Add "d" in "3d" in configure flags.
2013-11-01 21:08:26 +01:00
Ludovic Courtès 1670c70a03 gnu: Revert to GCC 4.7 as the default compiler.
GCC 4.8 relies on C++ headers (<cstring>, <iosfwd>, etc.) that are
missing from the current bootstrap GCC.

* gnu/packages/base.scm (gcc-boot0, cross-gcc-wrapper, gcc-final): Base
  on GCC-4.7.  This reverts part of commit 9ae7cee.
2013-11-01 15:31:16 +01:00
Andreas Enge 39efcc9b3a gnu: Add ffmpeg.
* gnu/packages/video.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add module.
2013-11-01 14:01:05 +01:00
Ludovic Courtès 9ae7cee342 gnu: Switch to GCC 4.8 as the default compiler.
* gnu/packages/base.scm (gcc-boot0, cross-gcc-wrapper, gcc-final): Base
  on GCC-4.8.
* gnu/packages/cross-base.scm (cross-gcc): Likewise.
* gnu/packages/make-bootstrap.scm (package-with-relocatable-glibc,
  %gcc-static, %gcc-stripped): Likewise.
2013-11-01 13:04:38 +01:00
Ludovic Courtès 67f6491bce gnu: grep: Update to 2.15.
* gnu/packages/base.scm (grep): Update to 2.15.
2013-11-01 13:01:20 +01:00
Ludovic Courtès ff8061b591 Merge branch 'master' into core-updates 2013-11-01 12:59:31 +01:00
Mark H Weaver b645425f71 gnu: pulseaudio: increase timeout of thread test.
* gnu/packages/patches/pulseaudio-test-timeouts.patch: New file.
* gnu/packages/pulseaudio.scm (pulseaudio): Add patch.
* gnu-system.am (dist_patch_DATA): Add patch.
2013-11-01 12:48:25 +01:00
Ludovic Courtès cdbca518ca union: Do not warn when identical files collide.
* guix/build/union.scm (file=?): New procedure.
  (union-build)[resolve-collision]: Do not warn when identical files
  collide.
2013-10-31 23:38:58 +01:00
Ludovic Courtès 215b643150 gnu: Add bridge-utils.
* gnu/packages/linux.scm (bridge-utils): New variable.
2013-10-31 23:38:58 +01:00
Andreas Enge dce1722739 gnu: libmicrohttpd: Update to 0.9.31.
* gnu/packages/gnunet.scm (libmicrohttpd): Update to 0.9.31,
    synchronise the description with GNU SRC.
2013-10-30 23:12:45 +01:00
Andreas Enge 4e9b38ebf7 gnu: Add gst-plugins-base-0.10.
* gnu/packages/gstreamer.scm (gst-plugins-base-0.10): New variable.
2013-10-30 22:58:39 +01:00
Andreas Enge cedf081abb gnu: gstreamer-0.10: Propagate input libxml2.
* gnu/packages/gstreamer.scm (gstreamer-0.10): Propagate input libxml2.
2013-10-30 22:57:52 +01:00
Ludovic Courtès 477d30d0d8 guix package: Factorize generation file name computation.
* guix/scripts/package.scm (generation-file-name): New procedure.
  Change all occurrences of (format #f "~a-~a-link" profile number) to
  use it.
2013-10-30 22:09:33 +01:00
Ludovic Courtès 1fcc3ba309 guix package: Specify inputs for each manifest entry.
* guix/scripts/package.scm (<manifest-entry>): Add 'inputs' field.
  (manifest=?, lower-input): New procedure.
  (profile-derivation)[builder]: Add #:log-port argument to
  'union-build'.
  [ensure-valid-input]: Remove.
  Add each entry's inputs to the input list.
  (options->installable): Return just the list of entries.
  [package->manifest-entry]: Set 'inputs' field.
  [canonicalize-deps]: Rename to...
  [deduplicate]: ... this.  Remove input fiddling.
  (guix-package)[process-actions]: Use 'manifest=?' to compare the new
  and old manifests.  Pass directly PROF-DRV to 'show-what-to-build'.
  Pass #:print-build-trace #f to 'set-build-options'.
2013-10-30 22:09:33 +01:00
Ludovic Courtès c065c443a0 union: Make the log port a parameter.
* guix/build/union.scm (union-build): Add 'log-port' keyword parameter;
  use it.
2013-10-30 22:09:32 +01:00
Ludovic Courtès d0dc4907d6 derivations: 'derivation-path->output-path' honors the 'output' parameter.
* guix/derivations.scm (derivation-path->output-path): Pass OUTPUT.
* tests/derivations.scm ("multiple-output derivation,
  derivation-path->output-path"): New test.
2013-10-30 22:09:32 +01:00
Ludovic Courtès d595e456c1 guix package: Always use the term "profile", not "user environment".
* guix/scripts/package.scm (%user-environment-directory): Rename to...
  (%user-profile-directory): ... this.  Update users accordingly.
  (profile-derivation): Use the term "profile" instead of "user
  environment", and use "profile" as the derivation name.
2013-10-30 22:09:32 +01:00
Ludovic Courtès f067fc3e77 guix package: Introduce <manifest> and <manifest-entry> types.
* guix/scripts/package.scm (<manifest>, <manifest-entry>): New record
  types.
  (make-manifest, read-manifest, manifest->sexp, sexp->manifest,
  read-manifest, write-manifest, remove-manifest-entry, manifest-remove,
  manifest-installed?): New procedures.
  (profile-derivation): Take a manifest as the second parameter.  Use
  'manifest->sexp'.  Expect <manifest-entry> objects instead of
  "tuples".  Adjust callers accordingly.
  (search-path-environment-variables): Changes 'packages' parameter to
  'entries'.  Rename 'package-in-manifest->package' to
  'manifest-entry->package'; expect <manifest-entry> objects.
  (display-search-paths): Rename 'packages' to 'entries'.
  (options->installable): Change 'installed' to 'manifest'.  Have
  'canonicalize-deps' return name/path tuples instead of raw packages.
  Rename 'package->tuple' to 'package->manifest-entry'.  Use
  <manifest-entry> objects instead of tuples.
  (guix-package)[process-actions]: Likewise.  Rename 'packages' to
  'entries'.
  [process-query]: Use 'manifest-entries' instead of
  'manifest-packages'.
2013-10-30 22:09:32 +01:00
Ludovic Courtès edac884624 guix package: Better separate option processing.
* guix/scripts/package.scm (find-package): Rename to...
  (specification->package+output): ... this.  Rename 'name' parmameter
  to 'spec'.  Return a package and output name instead of a tuple.
  (options->installable): New procedure
  (guix-package)[process-actions]: Use it, and remove corresponding
  code.
2013-10-30 22:09:32 +01:00
Andreas Enge f506ed920c gnu: Add gstreamer-0.10.
* gnu/packages/gstreamer.scm (gstreamer-0.10): New variable.
* gnu/packages/patches/gstreamer-0.10-bison3.patch,
  gnu/packages/patches/gstreamer-0.10-silly-test.patch: New files.
* gnu-system.am (dist_patch_DATA): Add patches.
2013-10-30 22:06:57 +01:00
Andreas Enge 94f48f98f0 gnu: mit-krb5: Update to 1.11.3.
* gnu/packages/mit-krb5.scm (mit-krb5): Update to 1.11.3.
2013-10-29 23:46:10 +01:00
Ludovic Courtès d46d8794a1 guix package: Declutter the entry point.
* guix/scripts/package.scm (newest-available-packages,
  find-best-packages-by-name, find-package, upgradeable?): New
  procedures, moved from...
  (guix-package): ... here.
2013-10-29 22:03:02 +01:00
Mark H Weaver 2a8417ac44 Change indentation rule for 'package' for the common case.
* .dir-locals.el: Change the indentation rule for 'package' to do the right
  thing for packages without an inherit clause.
2013-10-29 12:19:44 -04:00
Ludovic Courtès cb558fcd9c list-runtime-roots: List files referenced by environment variables.
Inspired by <https://github.com/NixOS/nix/compare/772b70952f75...4ddd077bfa9a>.

* nix/scripts/list-runtime-roots.in (%store-directory): New variable.
  (proc-environ-roots): New procedure.
  (<top-level>): Use it.
2013-10-29 00:08:44 +01:00
Ludovic Courtès 72e25e35a5 doc: Augment the "Porting" section.
Reported by Andreas Enge <andreas@enge.fr>.

* doc/guix.texi (Porting): Document needed changes to (gnu packages
  bootstrap) and (gnu packages linux).
2013-10-29 00:08:44 +01:00
Ludovic Courtès 011b18c332 gnu: Add python2-empy.
* gnu/packages/python.scm (python2-empy): New variable.
2013-10-29 00:08:44 +01:00
Ludovic Courtès 7587041028 build-system/{cmake,perl}: Don't use (guix build gnu-build-system).
Previously references to '%standard-phases' in builder-side code would
refer to the wrong one.

* guix/build-system/cmake.scm (cmake-build): Remove (guix build
  gnu-build-system) from the default MODULES value.
* guix/build-system/perl.scm (perl-build): Likewise.
2013-10-29 00:08:44 +01:00
Nikita Karetnikov 3220c2f41e gnu: gcc-4.8: Upgrade to 4.8.2.
* gnu/packages/gcc.scm (gcc-4.8): Upgrade to 4.8.2.
2013-10-28 18:42:09 +00:00
Andreas Enge fdf3cb4cc0 gnu: mesa: Update URI.
* gnu/packages/xorg.scm (mesa): Update URI.
2013-10-26 15:09:42 +02:00
Andreas Enge 5f6265298e gnu: lzip: Update to 1.15.
* gnu/packages/compression.scm (lzip): Update to 1.15.
2013-10-26 15:03:27 +02:00
David Thompson c3c516ea00 gnu: Add libmikmod.
* gnu/packages/sdl.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.

Signed-off-by: Andreas Enge <andreas@enge.fr>
2013-10-26 14:15:45 +02:00
Eric Bavier fa58ca4376 gnu: Add Pem.
* gnu/packages/pem.scm: New file.
 * gnu-system.am (GNU_SYSTEM_MODULES): Add it.

Signed-off-by: Andreas Enge <andreas@enge.fr>
2013-10-26 01:23:00 +02:00
Andreas Enge b357faace7 gnu: Add sharutils.
* gnu/packages/compression.scm (sharutils): New variable.
2013-10-26 00:28:32 +02:00
Andreas Enge 13fbda90d9 gnu: rsync: Update to 3.1.0.
* gnu/packages/rsync.scm (rsync): Update to 3.1.0.
2013-10-25 22:44:51 +02:00
Andreas Enge e50805251a gnu: gmp: Update to 5.1.3.
* gnu/packages/multiprecision.scm (gmp): Update to 5.1.3.
2013-10-24 17:54:16 +02:00
Andreas Enge 89059aa193 gnu: qt: Correct source uri.
* gnu/packages/qt.scm (qt-4): Correct source uri (reported by
    Cyril Roelandt <tipecaml@gmail.com>).
2013-10-23 23:33:36 +02:00
Andreas Enge b92eee75b1 gnu: Add GLPK.
* gnu/packages/maths.scm (glpk): New variable.
2013-10-22 20:24:33 +02:00
Ludovic Courtès d038cac12a gnu: Add GNU Alive.
* gnu/packages/system.scm (alive): New variable.
2013-10-19 00:07:28 +02:00
Ludovic Courtès 02c72d1671 build: Build the bootstrap-graph.{png,eps,pdf} under $(top_srcdir).
Fixes <http://bugs.gnu.org/15640>.
Reported by Eric Bavier <ericbavier@gmail.com>.

* doc.am (EXTRA_DIST): Add doc/images/bootstrap-graph.pdf to the
  distribution.
  (pdf-local, info-local, ps-local): Prepend $(top_srcdir) to the image
  file names.
2013-10-18 22:05:39 +02:00
Ludovic Courtès a433c52593 gnu: dfc: Add missing input.
* gnu/packages/system.scm (dfc): Add 'native-inputs' field.
2013-10-18 00:25:06 +02:00
Ludovic Courtès 93a3d8f609 gnu: glib: Work around test failure in 'gio/tests/network-address.c'.
* gnu/packages/patches/glib-tests-newnet.patch: New file.
* gnu/packages/glib.scm (glib): Use it.
* gnu-system.am (dist_patch_DATA): Add it.
2013-10-17 23:50:32 +02:00
Ludovic Courtès 96e424672a gnu: evince: Set search path for MIME info.
* gnu/packages/gnome.scm (evince): Add #:phases argument.  Remove "perl"
  and "perl-xml-parser" inputs since they are not directly needed; move
  "intltool" to 'native-inputs'.
2013-10-17 23:50:31 +02:00
Ludovic Courtès 9167f8e6f9 gnu: Add shared-mime-info.
* gnu/packages/gnome.scm (shared-mime-info): New variable.
2013-10-17 23:50:31 +02:00
Ludovic Courtès 515e68782f gnu: Add SCons.
* gnu/packages/python.scm (scons): New variable.
2013-10-17 23:50:31 +02:00
Nikita Karetnikov 7df7a74e23 doc: Improve the copyright notice. 2013-10-17 13:21:10 +00:00
Ludovic Courtès ed41d48ef1 gnu: make: Update to 4.0, with Guile support.
* gnu/packages/base.scm (gnu-make): Update to 4.0.  Add Guile as an input.
  (gnu-make-boot0): Patch 'build.sh' so it does not attempt to build 'guile.c'.
  (gnu-make-final): New variable.
  (%final-inputs): Use it.
  (glibc): Add 'glibc-make-4.0.patch'.
* gnu/packages/patches/glibc-make-4.0.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
2013-10-16 17:36:19 +02:00
Ludovic Courtès 63760b5bab gnu: base: Fix circular dependency between %final-outputs and <origin> inputs.
* gnu/packages/base.scm (%final-inputs): Add
  'package-with-bootstrap-guile' to 'finalize'.
2013-10-16 16:15:07 +02:00
Ludovic Courtès f1352766fa utils: 'find-files' always returns a proper list.
Reported at <http://bugs.gnu.org/15608>.

* guix/build/utils.scm (find-files): Change the 'error' procedure to
  return RESULT.  Before we would end up with an improper list.
2013-10-16 15:53:59 +02:00
Ludovic Courtès 8f557fc8b7 gnu: readline: Turn 'patches' into a list.
* gnu/packages/readline.scm (readline): Turn 'patches' into a list.
2013-10-16 15:51:43 +02:00
Andreas Enge 418e82b507 gnu: harfbuzz: Update to 0.9.22.
* gnu/packages/gtk.scm (harfbuzz): Update to 0.9.22; should solve the test
    problems on i686.
2013-10-16 10:44:56 +02:00
Ludovic Courtès eeb70957e8 Update 'AUTHORS'. 2013-10-16 00:13:40 +02:00
Eric Bavier d911258976 gnu: Add autogen package
* gnu/package/autogen.scm: New file
* gnu-system.am: Add it

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2013-10-16 00:12:27 +02:00
Ludovic Courtès dfb52abbd6 Remove weirdnesses caused by 'letrec*' behavior of record field initializers.
* gnu/packages/bootstrap.scm (package-from-tarball): Remove '*' from
  parameter names.  Adjust accordingly.
* gnu/packages/linux-initrd.scm (expression->initrd): Use 'name'
  directly, removing the 'name*' alias.
* gnu/packages/linux.scm (linux-libre-headers, linux-libre): Rename
  'version*' to 'version'.
2013-10-15 23:42:58 +02:00
Ludovic Courtès 59fbeb8cae records: define-record-type*: Field bindings are bound with 'let*'.
* guix/records.scm (define-record-type*): Wrap field bindings in a
  'let*', not in a 'letrec*', which turned out to be pointlessly
  inconvenient.
* tests/records.scm: Adjust test names accordingly.
2013-10-15 23:31:22 +02:00
Ludovic Courtès 70a9c72028 build: Add 'clean-go' target.
* Makefile.am (clean-go): New phony target.
2013-10-15 23:25:08 +02:00
Ludovic Courtès b2ba65c897 guix package: '--search' matches against package names.
* guix/scripts/package.scm (find-packages-by-description): Return
  packages whose name matches RX.
2013-10-15 22:59:50 +02:00
Ludovic Courtès 3c1d9799b8 Thank Jeffrin and David. 2013-10-14 23:18:54 +02:00
David Thompson 15e82fb2c0 gnu: Add libtheora.
* gnu/packages/oggvorbis.scm (libtheora): New variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2013-10-14 23:17:38 +02:00
Ludovic Courtès 749b90a519 gnu: subversion, cmake: Clean up descriptions.
* gnu/packages/cmake.scm (cmake): Simplify the synopsis.
* gnu/packages/version-control.scm (subversion): Remove "open-source"
  from the description.
2013-10-14 09:48:52 +02:00
Ludovic Courtès c1354b90e9 gnu: Add libgnome-keyring and Evince.
* gnu/packages/gnome.scm (libgnome-keyring, evince): New variables.
2013-10-13 22:50:11 +02:00
Ludovic Courtès 8db824ba31 gnu: poppler: Build the poppler-glib bindings.
* gnu/packages/pdf.scm (poppler): Add Cairo and GLib as inputs.
2013-10-13 22:50:11 +02:00
Ludovic Courtès cc20a22a09 gnu: Add dogtail.
* gnu/packages/python.scm (python2-dogtail): New variable.
2013-10-13 22:50:11 +02:00
Ludovic Courtès 178f77b2d2 pull: Compile modules correctly regardless of the compilation order.
* guix/scripts/pull.scm (unpack)[builder]: Work around
  <http://bugs.gnu.org/15602>.
2013-10-13 22:50:11 +02:00
Andreas Enge 973d9f1d1c gnu: kde: Add module and automoc4 package.
* gnu/packages/kde.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
2013-10-13 18:18:57 +02:00
Andreas Enge e78fd4ca63 guix: Make cmake build system aware of usual paths.
*  guix/build/cmake-build-system.scm (configure): Set CMAKE_LIBRARY_PATH to
     LIBRARY_PATH and CMAKE_INCLUDE_PATH to CPATH.
2013-10-13 18:02:49 +02:00
Andreas Enge 6eac909b45 gnu: cmake: Update patch to work with new system.
* gnu/packages/patches/cmake-fix-tests.patch: Update to work with -p1.
* gnu/packages/cmake.scm (cmake): Drop patch flag -p0.
2013-10-13 17:00:18 +02:00
Andreas Enge 487da56570 gnu: gsl: Update to 1.16.
* gnu/packages/maths.scm (gsl): Update to 1.16, disable parallel tests
    leading to a failure in vector.
2013-10-13 16:26:12 +02:00
Andreas Enge a58a7c926b gnu: gtk+: Update to 3.10.1.
* gnu/packages/gtk.scm (gtk+): Update to 3.10.1, drop no longer needed
    configure flag.
2013-10-13 13:03:09 +02:00
Ludovic Courtès 52af657aee pull: Simplify the builder.
* guix/scripts/pull.scm (unpack)[builder]: Use 'copy-recursively' and
  'copy-file' instead of 'file-system-fold'.
2013-10-13 01:14:21 +02:00
Ludovic Courtès ab5d72ad2b doc: Document "guix pull --url".
* doc/guix.texi (Invoking guix pull): Add --url.
2013-10-13 01:14:21 +02:00
Andreas Enge 8ab00475fb gnu: qt: Add patch to distribution.
* gnu-system.am (dist_patch_DATA): Add qt patch.
2013-10-12 23:34:22 +02:00
Ludovic Courtès b646c3dd37 gnu: qemu-with-multiple-smb-shares: Fix typo.
* gnu/packages/qemu.scm (qemu/smb-shares): Turn 'patches' into a list.
2013-10-12 22:29:32 +02:00
Ludovic Courtès b421cebd6a build-system/perl: Lazily resolve (gnu packages perl).
* guix/build-system/perl.scm (default-perl): New procedure.
  (perl-build): Use it.
2013-10-12 22:29:32 +02:00
Ludovic Courtès 0ad7da1e90 pull: Add '--url' option.
* guix/scripts/pull.scm (%default-options): Add 'tarball-url' pair.
  (%options, show-help): Add '--url'.
  (guix-pull): Honor it.
2013-10-12 22:29:32 +02:00
Ludovic Courtès d8907ac43f download: Support 'file://' URLs.
* guix/download.scm (download-to-store): When URL has a 'file' scheme or
  no scheme, use 'add-to-store' directly.
2013-10-12 22:29:31 +02:00
Ludovic Courtès 39e9f95d05 guix: Add missing call to 'bindtextdomain'.
* scripts/guix.in (config-lookup): Add "localedir" entry.
  (run-guix-main): Add call to 'bindtextdomain'.
* guix/ui.scm (initialize-guix): Use %GETTEXT-DOMAIN instead of a
  literal.
2013-10-12 22:29:31 +02:00
Andreas Enge f854a8c133 gnu: Add gp2c.
* gnu/packages/algebra.scm (gp2c): New variable.
2013-10-12 19:46:14 +02:00
Andreas Enge 1e9ed0e3dc gnu: Add Qt 4.8.5.
* gnu/packages/qt.scm (qt-4): New variable.
* gnu/packages/patches/qt4-tests.patch: New file, patch dropping tests
    requiring a running X server.
2013-10-12 14:50:14 +02:00
Arne Babenhauserheide 5151c2e1f4 gnu: Add Mercurial.
* gnu/packages/version-control.scm (mercurial): New variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2013-10-11 22:18:47 +02:00
Ludovic Courtès 1a75f8d939 gnu-maintenance: Adjust URL of package description file.
* guix/gnu-maintenance.scm (%package-description-url): Adjust to the
  new URL.
2013-10-11 22:18:47 +02:00
Nikita Karetnikov f349fa02de gnu: Add GNU acct.
* gnu/packages/acct.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
2013-10-11 12:18:28 +00:00
Cyril Roelandt 9fb0bc1572 gnu: Valgrind: make it work with glibc 2.18.
* gnu/packages/patches/valgrind-glibc.patch: update it.
2013-10-11 00:22:57 +02:00
Ludovic Courtès 7e2b10a53f build-system/{gnu,cmake}: Remove #:patches and #:patch-flags parameters.
* guix/build/gnu-build-system.scm (patch): Remove.
  (%standard-phases): Remove 'patch'.
* guix/build-system/gnu.scm (gnu-build, gnu-cross-build): Remove
  #:patches and #:patch-flags parameters.
* guix/build-system/cmake.scm (cmake-build): Likewise.
* guix/build-system/python.scm (package-with-explicit-python): Update
  comment.
2013-10-10 23:15:57 +02:00
Ludovic Courtès de80b5045b gnu: Use the 'patches' field of <origin>.
* gnu/packages/autotools.scm (libtool): Add 'patches' field to the
  origin.  Remove 'inputs' field.
* gnu/packages/base.scm (findutils, gnu-make, binutils, glibc):
  Likewise.
* gnu/packages/m4.scm (m4): Likewise.
* gnu/packages/perl.scm (perl): Likewise.
* gnu/packages/readline.scm (readline): Likewise.
2013-10-10 23:05:28 +02:00
Ludovic Courtès 5fbeb4e6e1 gnu: bootstrap: Use the bootstrap tools for <origin> patching.
* gnu/packages/bootstrap.scm (bootstrap-origin): Override the
  'patch-guile' and 'patch-inputs' fields of SOURCE.
2013-10-10 23:02:33 +02:00
Ludovic Courtès 1d9bc45925 packages: The 'patch-guile' field of <origin> is now a package.
* guix/packages.scm (default-guile): Return a package instead of a
  derivation.
  (package-source-derivation): Adjust accordingly.
2013-10-10 23:00:47 +02:00
Ludovic Courtès cdecf77501 gnu: tar: Update to 1.17.
* gnu/packages/base.scm (tar): Update to 1.17.  Remove 'arguments' and
  'inputs'.
* gnu/packages/patches/tar-gets-undeclared.patch: Remove.
* gnu-system.am (dist_patch_DATA): Remove 'tar-gets-undeclared.patch'.
2013-10-10 22:16:58 +02:00
Ludovic Courtès fb6c2fa82e gnu: linux-libre-headers: Support cross-compilation.
* gnu/packages/linux.scm (linux-libre-headers):
  When (%current-target-system) is true, pass it as the argument to
  'build-phase'.  This fixes cross-compilation.
  Reported by Mark H. Weaver <mhw@netris.org>.
2013-10-10 21:43:14 +02:00
Ludovic Courtès b49632e793 daemon: Set the umask to 022 when starting.
* nix/nix-daemon/guix-daemon.cc (main): Add 'umask' call.
* test-env.in: Remove use of 'umask'.
2013-10-10 21:43:14 +02:00
Ludovic Courtès 66fb2d23a3 gnu: Add pavucontrol.
* gnu/packages/pulseaudio.scm (pavucontrol): New variable.
2013-10-10 21:43:14 +02:00
Andreas Enge ef0cf53e3f gnu: qt: Propagate input mesa.
* gnu/packages/qt.scm (qt): Propagate input mesa.
2013-10-10 20:54:25 +02:00
Andreas Enge 1ea44d1128 gnu: qt: Do not use special SSE etc. instructions.
* gnu/packages/qt.scm (qt): Add configure flags to disable machine specific
    instructions.
2013-10-10 20:04:53 +02:00
Andreas Enge 39fa8f6c73 gnu: qt: Add input pulseaudio.
* gnu/packages/qt.scm (qt): Add input pulseaudio.
2013-10-10 14:35:55 +02:00
Ludovic Courtès c5cc50061f gnu: Add Pangomm, ATKmm, and GTKmm.
* gnu/packages/gtk.scm (atk)[synopsis]: Fix typo.
  (pangomm, atkmm, gtkmm): New variables.
2013-10-09 23:32:27 +02:00
Ludovic Courtès d4f1ce4da0 list-packages: Show a list of patches for each package.
* build-aux/list-packages.scm (list-join): New procedure.
  (package->sxml)[patch-url]: New procedure.
  Use it.
2013-10-09 21:52:22 +02:00
Ludovic Courtès 4e45e35266 snix: Prefer descriptions from the Womb rather than from Nixpkgs.
* guix/snix.scm (snix-derivation->guix-package): Use
  'gnu-package-doc-description' as the description for GNU packages.
2013-10-09 16:18:23 +02:00
Ludovic Courtès a22dc0c49a Synchronize package descriptions with the Womb.
* gnu/packages/algebra.scm,
  gnu/packages/aspell.scm,
  gnu/packages/autotools.scm,
  gnu/packages/base.scm,
  gnu/packages/bash.scm,
  gnu/packages/bison.scm,
  gnu/packages/cdrom.scm,
  gnu/packages/cflow.scm,
  gnu/packages/compression.scm,
  gnu/packages/cpio.scm,
  gnu/packages/cppi.scm,
  gnu/packages/ddrescue.scm,
  gnu/packages/dejagnu.scm,
  gnu/packages/ed.scm,
  gnu/packages/emacs.scm,
  gnu/packages/fdisk.scm,
  gnu/packages/freeipmi.scm,
  gnu/packages/gawk.scm,
  gnu/packages/gcal.scm,
  gnu/packages/gcc.scm,
  gnu/packages/gdb.scm,
  gnu/packages/gdbm.scm,
  gnu/packages/gettext.scm,
  gnu/packages/ghostscript.scm,
  gnu/packages/global.scm,
  gnu/packages/gnunet.scm,
  gnu/packages/gnupg.scm,
  gnu/packages/gnutls.scm,
  gnu/packages/gperf.scm,
  gnu/packages/gprolog.scm,
  gnu/packages/groff.scm,
  gnu/packages/grub.scm,
  gnu/packages/gsasl.scm,
  gnu/packages/guile.scm,
  gnu/packages/gv.scm,
  gnu/packages/help2man.scm,
  gnu/packages/idutils.scm,
  gnu/packages/indent.scm,
  gnu/packages/less.scm,
  gnu/packages/libidn.scm,
  gnu/packages/libsigsegv.scm,
  gnu/packages/libunistring.scm,
  gnu/packages/lightning.scm,
  gnu/packages/linux.scm,
  gnu/packages/lsh.scm,
  gnu/packages/m4.scm,
  gnu/packages/mail.scm,
  gnu/packages/maths.scm,
  gnu/packages/multiprecision.scm,
  gnu/packages/nano.scm,
  gnu/packages/ncurses.scm,
  gnu/packages/nettle.scm,
  gnu/packages/ocrad.scm,
  gnu/packages/oggvorbis.scm,
  gnu/packages/parted.scm,
  gnu/packages/plotutils.scm,
  gnu/packages/pth.scm,
  gnu/packages/readline.scm,
  gnu/packages/recutils.scm,
  gnu/packages/rush.scm,
  gnu/packages/scheme.scm,
  gnu/packages/screen.scm,
  gnu/packages/shishi.scm,
  gnu/packages/smalltalk.scm,
  gnu/packages/system.scm,
  gnu/packages/texinfo.scm,
  gnu/packages/time.scm,
  gnu/packages/unrtf.scm,
  gnu/packages/version-control.scm,
  gnu/packages/wdiff.scm,
  gnu/packages/wget.scm,
  gnu/packages/which.scm,
  gnu/packages/xnee.scm,
  gnu/packages/zile.scm: Change value of the 'description' field to that
  of the Womb.
2013-10-09 16:14:23 +02:00
Ludovic Courtès 668d48a684 build: 'sync-descriptions' now compares GNU package descriptions.
* build-aux/sync-synopses.scm: Rename to...
* build-aux/sync-descriptions.scm: ... this.  Compare the value of
  'gnu-package-doc-description' and 'package-description' and report any
  mismatch.
* Makefile.am (EXTRA_DIST): Adjust accordingly.
  (sync-synopses): Rename to...
  (sync-descriptions): ... this.
2013-10-09 16:13:02 +02:00
Ludovic Courtès 129f9e1173 gnu-maintenance: Get descriptions from 'gnumaint/pkgdescr.txt'.
* guix/gnu-maintenance.scm (%gnumaint-base-url): New variable.
  (%package-list-url): Use it.
  (%gsrc-package-list-url): Remove.
  (%package-description-url): New variable.
  (official-gnu-packages): Change to use %PACKAGE-DESCRIPTION-URL
  instead of %GSRC-PACKAGE-LIST-URL.  Adjust recutils field names
  accordingly.
2013-10-09 13:00:00 +02:00
Ludovic Courtès 470d08ffcc Update 'TODO'. 2013-10-09 00:12:46 +02:00
Ludovic Courtès 01eafd38fb gnu: Use the 'patches' field of <origin>.
* gnu/packages/apr.scm,
  gnu/packages/autotools.scm,
  gnu/packages/avahi.scm,
  gnu/packages/cdrom.scm,
  gnu/packages/cmake.scm,
  gnu/packages/cpio.scm,
  gnu/packages/cross-base.scm,
  gnu/packages/emacs.scm,
  gnu/packages/flex.scm,
  gnu/packages/fontutils.scm,
  gnu/packages/glib.scm,
  gnu/packages/grub.scm,
  gnu/packages/guile.scm,
  gnu/packages/idutils.scm,
  gnu/packages/libevent.scm,
  gnu/packages/linux.scm,
  gnu/packages/mail.scm,
  gnu/packages/make-bootstrap.scm,
  gnu/packages/mp3.scm,
  gnu/packages/oggvorbis.scm,
  gnu/packages/pdf.scm,
  gnu/packages/plotutils.scm,
  gnu/packages/qemu.scm,
  gnu/packages/recutils.scm,
  gnu/packages/rush.scm,
  gnu/packages/scheme.scm,
  gnu/packages/system.scm,
  gnu/packages/tcsh.scm,
  gnu/packages/valgrind.scm,
  gnu/packages/vpn.scm,
  gnu/packages/w3m: Use the 'patches' field of <origin> instead of
  adding a patch as input plus using #:patches.
2013-10-09 00:11:34 +02:00
Ludovic Courtès ac10e0e17e packages: Add 'patches' and related fields to <origin>.
See <https://lists.gnu.org/archive/html/guix-devel/2013-09/msg00137.html>
for the rationale.

* guix/packages.scm (<origin>)[patches, patch-flags, patch-inputs,
  patch-guile]: New fields.
  (%standard-patch-inputs, default-guile, patch-and-repack): New
  procedures.
  (package-source-derivation): When 'patches' is non-empty, call
  'patch-and-repack'.
* guix/utils.scm (file-sans-extension): New procedure.
2013-10-09 00:11:34 +02:00
Andreas Enge b332e3664e gnu: Add Qt 5.1.1.
* gnu/packages/qt.scm (qt): New variable.
2013-10-08 20:49:58 +02:00
Ludovic Courtès 6666350320 gnu: Add Cairomm.
* gnu/packages/gtk.scm (cairomm): New variable.
2013-10-07 23:45:55 +02:00
Ludovic Courtès dd8abc295f Update 'AUTHORS'.
* AUTHORS: Add Alex, Joshua, and Aljosha.
2013-10-06 22:57:06 +02:00
Ludovic Courtès 5d388c7c3f Augment 'TODO'. 2013-10-06 22:55:36 +02:00
Ludovic Courtès 17b293a09c gnu: Add alsa-utils.
* gnu/packages/linux.scm (alsa-utils): New variable.
2013-10-06 22:36:43 +02:00
Ludovic Courtès ae0c12023d gnu: xmlto: Keep references to libxml2, libxslt, and util-linux programs.
* gnu/packages/xml.scm (xmlto): Add 'arguments' field.
  [inputs]: Add libxml2 and libxslt.
2013-10-06 22:36:43 +02:00
Ludovic Courtès 74067e1aeb gnu: Gracefully handle circular dependencies between 'base' and 'linux'.
* gnu/packages/base.scm (linux-libre-headers-boot0): Turn into a thunk.
  User updated.
2013-10-06 22:36:43 +02:00
Andreas Enge 9a6a9dae6f gnu: pari-gp: Update to 2.5.5.
* gnu/packages/algebra.scm (pari-gp): Update to 2.5.5.
2013-10-06 15:40:37 +02:00
Andreas Enge 524e1df65d gnu: mutt: Add input gpgme.
* gnu/packages/mail.scm (mutt): Add input gpgme.
2013-10-06 13:31:02 +02:00
Andreas Enge 09d5c1661c gnu: Add gpgme.
* gnu/packages/gnupg.scm (gpgme): New variable.
2013-10-06 12:16:30 +02:00
Andreas Enge a2270ce260 gnu: icu4c: Patch RUNPATH of libraries.
* gnu/packages/icu4c.scm (icu4c): Elf-patch RUNPATH of libraries, for instance
    of libicuuc.so.
2013-10-06 11:54:46 +02:00
Andreas Enge 43824910f2 gnu: cdparanoia: Fix links of internal libraries into binary.
* gnu/packages/cdrom.scm (cdparanoia): Use patchelf to link internal libraries
    into binary.
2013-10-06 10:01:02 +02:00
Ludovic Courtès a5a7d374a1 gnu: Add libsigc++ and glibmm.
* gnu/packages/glib.scm (libsigc++, glibmm): New variable.
2013-10-06 00:24:06 +02:00
Ludovic Courtès 6ac6a6b99e gnu: gobject-introspection: Export via #:export.
* gnu/packages/glib.scm: Export 'gobject-instrospection' via the
  #:export clause.
2013-10-05 23:45:35 +02:00
Joshua S. Grant daca86660f gnu: Add freeglut, glu, and FTGL.
* gnu/packages/gl.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2013-10-05 23:21:57 +02:00
Ludovic Courtès 5ccca0044e gnu: ao: Build PulseAudio back-end.
* gnu/packages/oggvorbis.scm (ao): Add PulseAudio as an input.
2013-10-05 17:14:29 +02:00
Ludovic Courtès cfc8261c72 gnu: oggvorbis: Use #:export clause.
* gnu/packages/oggvorbis.scm: Use #:export clause instead of
  'define-public'.
2013-10-05 17:03:48 +02:00
Ludovic Courtès 09767fb5d3 gnu: pulseaudio: Add dependency on libcap.
* gnu/packages/pulseaudio.scm (pulseaudio): Add dependency on libcap.
2013-10-05 16:52:20 +02:00
Ludovic Courtès c762e82e5d gnu: Add libcap.
* gnu/packages/linux.scm (libcap): New variable.
2013-10-05 16:47:12 +02:00
Ludovic Courtès e0029b745a download: Add Debian mirrors.
* guix/download.scm (%mirrors)[debian]: New set of mirrors.
2013-10-05 16:45:39 +02:00
Ludovic Courtès de73a8781e gnu: gnupg: Upgrade to 2.0.22.
* gnu/packages/gnupg.scm (gnupg): Update to 2.0.22. This release fixes
  security issue CVE-2013-4402 in the OpenPGP packet parser.
2013-10-05 16:02:09 +02:00
Ludovic Courtès 37bfb4488d gnu: Add PulseAudio and related libraries.
* gnu/packages/pulseaudio.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
2013-10-04 22:46:09 +02:00
Ludovic Courtès 37e6cdcdd7 gnu: Add FFTW.
* gnu/packages/algebra.scm (fftw): New variable.
2013-10-04 22:46:09 +02:00
Andreas Enge bd677c2dba gnu: Add libxkbcommon.
* gnu/packages/qt.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
2013-10-04 19:10:29 +02:00
Andreas Enge 1fd96c6a94 gnu: xorg: Add xcb-util-renderutil.
* gnu/packages/xorg.scm (xcb-util-renderutil): New variable.
2013-10-04 00:36:50 +02:00
Andreas Enge f5bf403c72 gnu: xorg: Add xcb-util-keysyms.
* gnu/packages/xorg.scm (xcb-util-keysyms): New variable.
2013-10-04 00:17:07 +02:00
Andreas Enge dfba405510 gnu: xorg: Add xcb-util-image.
* gnu/packages/xorg.scm (xcb-util-image): New variable.
2013-10-04 00:11:06 +02:00
Andreas Enge 458b2a7658 gnu: xorg: Add xcb-util.
* gnu/packages/xorg.scm (xcb-util): New variable.
* gnu/packages/xorg.scm (xcb-util-wm): Expand the description.
2013-10-04 00:02:02 +02:00
Andreas Enge 6ff104d537 gnu: xorg: Add xcb-util-wm.
* gnu/packages/xorg.scm (xcb-util-wm): New variable.
2013-10-03 23:25:04 +02:00
Ludovic Courtès 94c4a58a0a gnu: Add Netcat.
* gnu/packages/system.scm (netcat): New variable.
2013-10-03 23:12:20 +02:00
Ludovic Courtès aeb7ec5c9a monads: Allow resolution of a monad's bind/return at expansion time.
* guix/monads.scm (<monad>): Turn in a raw SRFI-9 record type.
  (define-monad): New macro.
  (with-monad): Add a case for when MONAD is a macro.
  (identity-return, identity-bind, store-return, store-bind): Inline.
  (%identity-monad, %store-monad): Use 'define-monad'.
* tests/monads.scm ("monad?"): New test.
2013-10-03 23:12:20 +02:00
Ludovic Courtès d9f0a23704 gnu: vm: Rewrite helper functions as monadic functions.
* gnu/system/dmd.scm (host-name-service, nscd-service, mingetty-service,
  syslog-service, guix-service, static-networking-service): Rewrite as
  monadic functions.
  (dmd-configuration-file): Use 'text-file' instead of
  'add-text-to-store'.
* gnu/system/grub.scm (grub-configuration-file): Rewrite as a monadic
  function.
* gnu/system/linux.scm (pam-services->directory): Likewise.
* gnu/system/shadow.scm (group-file, passwd-file, guix-build-accounts):
  Likewise.
* gnu/system/vm.scm (expression->derivation-in-linux-vm, qemu-image,
  union, system-qemu-image): Likewise.
2013-10-03 23:12:20 +02:00
Ludovic Courtès b860f38244 Add (guix monads).
* guix/monads.scm: New file.
* tests/monads.scm: New file.
* Makefile.am (MODULES): Add guix/monads.scm.
  (SCM_TESTS): Add tests/monads.scm.
* doc/guix.texi (The Store Monad): New node.
  (The Store): Reference it.
2013-10-03 23:12:20 +02:00
Andreas Enge c8957c77d6 gnu: libxcb: Enable xcb-xkb.
* gnu/packages/xorg.scm (libxcb): Add configure flag "--enable-xkb".
2013-10-03 22:46:54 +02:00
Andreas Enge 85f5dc1952 gnu: gnome: Add brasero.
* gnu/packages/gnome.scm (brasero): New variable; not totally usable due to
    lacking inputs.
2013-10-03 14:51:49 +02:00
Andreas Enge bef4dd92e4 gnu: Add hicolor-icon-theme.
* gnu/packages/gnome.scm (hicolor-icon-theme): New variable.
2013-10-02 22:44:02 +02:00
Andreas Enge 7d3f36518d gnu: gnome: Add gnome-icon-theme.
* gnu/packages/gnome.scm (gnome-icon-theme): New variable.
2013-10-02 22:22:21 +02:00
Andreas Enge 27477d2de0 gnu: Add icon-naming-utils.
* gnu/packages/gnome.scm (icon-naming-utils): New variable.
2013-10-02 22:15:00 +02:00
Andreas Enge 535dc6cf95 gnu: Add perl-xml-simple.
* gnu/packages/xml.scm (perl-xml-simple): New variable.
2013-10-02 21:46:44 +02:00
Andreas Enge 22e32e6938 gnu: gnome: Add gsettings-desktop-schemas.
* gnu/packages/gnome.scm (gsettings-desktop-schemas): New variable.
2013-10-02 19:44:55 +02:00
Andreas Enge 1369442be9 gnu: xnee: Drop input gtk+.
* gnu/packages/xnee.scm (xnee): Drop unused input gtk+.
2013-10-02 15:21:17 +02:00
Andreas Enge f922fc4280 gnu: itstool: Really push the modification announced in 9000d556.
* gnu/packages/glib.scm (itstool): Do as announced in 9000d556.
2013-10-02 14:33:48 +02:00
Andreas Enge 9000d5567c gnu: itstool: Add propagated inputs python-2 and libxml2.
* gnu/packages/glib.scm (itstool): Add propagated input python-2; it is needed
    to rewrite the shebang in the output python script and must be propagated
    so that PYTHONPATH gets set when using itstool; and libxml2, imported as a
    module by the script.
2013-10-02 14:19:44 +02:00
Andreas Enge 90ed6291df gnu: Add libcanberra.
* gnu/packages/libcanberra.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
2013-10-02 13:39:17 +02:00
Andreas Enge bad312e37d gnu: libvorbis: Propagate input libogg.
* gnu/packages/oggvorbis.scm (libvorbis): Propagate input libogg, as
    stipulated by the pkg-config files.
2013-10-02 13:34:03 +02:00
Andreas Enge d9c1a22b12 gnu: gnome: Add libnotify.
* gnu/packages/gnome.scm (libnotify): New variable.
2013-10-02 13:19:21 +02:00
Andreas Enge afc75310d7 gnu: racket: Revert input from gtk+-3 to gtk+-2.
* gnu/packages/scheme.scm (racket): Revert input from gtk+-3 to gtk+-2.
2013-10-02 13:03:29 +02:00
Andreas Enge 0e11254000 gnu: gtk+: Propagate inputs.
* gnu/packages/gtk.scm (gtk+): Propagate inputs at-spi2-atk, libxi and
    libxinerama.
2013-10-01 23:00:03 +02:00
Andreas Enge 8b0275b644 gnu: Revert inputs from gtk+-3 to gtk+-2.
* gnu/packages/cdrom.scm (dvdisaster): Replace input gtk+ by gtk+-2.
* gnu/packages/emacs.scm (emacs): Replace input gtk+ by gtk+-2.
* gnu/packages/geeqie.scm (geeqie): Replace input gtk+ by gtk+-2.
* gnu/packages/gkrellm.scm (gkrellm): Replace input gtk+ by gtk+-2.
* gnu/packages/mp3.scm (ripperx): Replace input gtk+ by gtk+-2.
* gnu/packages/scheme.scm: Drop duplicate inclusion of module gtk.
2013-10-01 21:27:26 +02:00
Andreas Enge 1c8362a89e gnu: gtk+-2: Update to 2.24.21.
* gnu/packages/gtk.scm (gtk+-2): Update to 2.24.21, add inputs perl and
    python.
2013-10-01 20:25:30 +02:00
Andreas Enge 8b79a5472d gnu: Add Gtk+ 3.
* gnu/packages/gtk.scm (gtk+): Switch to version 3.10.0.
* gnu/packages/gtk.scm (gtk+-2): New name for version 2.24.20.
2013-10-01 19:46:45 +02:00
Andreas Enge fca300c8ea gnu: Drop gtk+-3, erroneously pushed in the previous commit.
* gnu/packages/gtk.scm (gtk+-3): Delete variable.
2013-10-01 00:29:42 +02:00
Andreas Enge 5fda4784f8 gnu: Add at-spi2-atk.
* gnu/packages/gtk.scm (at-spi2-atk): New variable.
2013-10-01 00:26:54 +02:00
Andreas Enge 3b8e434794 gnu: atk: Update to 2.10.0.
* gnu/packages/gtk.scm (atk): Update to 2.10.0.
2013-10-01 00:23:43 +02:00
Andreas Enge f3fb92e555 gnu: Add at-spi2-core.
* gnu/packages/gtk.scm (at-spi2-core): New variable.
2013-10-01 00:08:45 +02:00
Andreas Enge a459697e0e gnu: libxi: Propagate inputs inputproto and libx11.
* gnu/packages/xorg.scm (libxi): Propagate inputs inputproto and libx11,
    as stipulated by xi.pc.
2013-09-30 23:35:01 +02:00
Andreas Enge d274f499a3 gnu: glib: Update to 2.38.0.
* gnu/packages/glib.scm (glib): Update to 2.38.0 and drop rewriting of GTESTER.
* gnu/packages/patches/glib-tests-homedir.patch: Update patch for 2.38.0.
* gnu/packages/patches/glib-tests-desktop.patch: Update patch for 2.38.0 and
    drop test dbus-appinfo.
2013-09-30 22:19:35 +02:00
Cyril Roelandt 9ceb630c58 gnu: Add gobject-introspection.
* gnu/packages/glib.scm (gobject-introspection): New variable.
2013-09-29 23:22:42 +02:00
Ludovic Courtès ecfb69938a gnu: git: Add graphical tools to the "gui" output.
* gnu/packages/version-control.scm (git): Add "gui" output.  Add Tcl/Tk
  as inputs.  Add #:configure-flags.  Augment 'split' phase to handle
  graphical user interfaces.
2013-09-29 21:55:41 +02:00
Ludovic Courtès 0a5a1db2d4 gnu: git: Do not retain reference from "out" to Subversion.
* gnu/packages/version-control.scm (git): Wrap 'git-svn', not 'git', for
  PERL5LIB and LD_LIBRARY_PATH.
2013-09-29 21:18:53 +02:00
Aljosha Papsch 29a2ccd384 Add httpd
* gnu/packages/web.scm (httpd): New variable
* gnu-system.am (GNU_SYSTEM_MODULES): Add it

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2013-09-29 21:04:59 +02:00
Ludovic Courtès ab4fab1938 gnu: bzip2: Allow cross-compilation.
Reported by Nikita Karetnikov <nikita@karetnikov.org>.

* gnu/packages/compression.scm (bzip2): Add 'set-cross-environment'
  phase for cross-compilation.
2013-09-29 17:30:48 +02:00
Ludovic Courtès ed5f49ff0c gnu: git: Add "svn" output for 'git-svn'.
* gnu/packages/version-control.scm (git): Add SUBVERSION as an input.
  Add 'split' phase.
2013-09-29 17:30:41 +02:00
Ludovic Courtès 8b2fe7853d gnu: subversion: Install Perl bindings.
* gnu/packages/version-control.scm (subversion): Add
  'install-perl-bindings' phase.
2013-09-29 17:30:30 +02:00
Ludovic Courtès 832e64bdda gnu: Add SWIG.
* gnu/packages/swig.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
2013-09-29 17:30:24 +02:00
Ludovic Courtès 7dac2f2e3e gnu: libmicrohttpd: Update to 0.9.30.
* gnu/packages/gnunet.scm (libmicrohttpd): Update to 0.9.30.
2013-09-29 14:46:20 +02:00
Ludovic Courtès 2aa76ee14a gnu: flex: Use Bison 2.7 for tests.
* gnu/packages/bison.scm (bison): Move FLEX to 'inputs', and remove the
  hack that turned off its test suite.
* gnu/packages/flex.scm (flex): Add 'bison-for-tests' in 'inputs', and
  use that to run the tests.
2013-09-29 12:44:25 +02:00
Ludovic Courtès 9546640ecc Update 'pt_BR.po'. 2013-09-29 11:29:27 +02:00
Ludovic Courtès 02d8d9c887 gnu: Add Skribilo.
* gnu/packages/skribilo.scm (skribilo): New variable.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
2013-09-28 22:43:48 +02:00
Ludovic Courtès 8e70e6d276 gnu: Add Guile-Cairo.
* gnu/packages/gtk.scm (guile-cairo): New variable.
2013-09-28 21:42:02 +02:00
Ludovic Courtès e0d2d05284 gnu: xorriso: Update to 1.3.2.
* gnu/packages/cdrom.scm (xorriso): Update to 1.3.2.
2013-09-28 16:36:39 +02:00
Ludovic Courtès 34d02e6d11 gnu: lightning: Update to 2.0.1.
* gnu/packages/lightning.scm (lightning): Update to 2.0.1.
2013-09-28 16:35:11 +02:00
Ludovic Courtès 8c9a63f1ad gnu: freeipmi: Update to 1.3.2.
* gnu/packages/freeipmi.scm (freeipmi): Update to 1.3.2.
2013-09-28 16:30:20 +02:00
Ludovic Courtès dc26f0c9ce gnu: gdb: Update to 7.6.1.
* gnu/packages/gdb.scm (gdb): Update to 7.6.1.
2013-09-28 16:29:52 +02:00
Ludovic Courtès 55f0336630 gnu: bison: Update to 3.0.
* gnu/packages/bison.scm (bison): Update to 3.0.  Make Perl a native
  input.  Add a variant of Flex as a native input.  Use #:export instead
  of 'define-public'.
* gnu/packages/flex.scm (flex): Use #:export instead of 'define-public'.
2013-09-27 22:06:38 +02:00
Ludovic Courtès d6f10ca3fe gnu: units: Update to 2.02.
* gnu/packages/maths.scm (units): Update to 2.02.
2013-09-27 22:05:08 +02:00
Ludovic Courtès b16b7a0666 gnu: texinfo: Update to 5.2.
* gnu/packages/texinfo.scm (texinfo): Update to 5.2.
2013-09-27 22:02:50 +02:00
Ludovic Courtès 09d80ed583 gnu: global: Update to 6.2.9.
* gnu/packages/global.scm (global): Update to 6.2.9.
2013-09-27 22:00:30 +02:00
Ludovic Courtès 07ef14afc9 build: Bump version to 0.5.
* configure.ac: Switch to 0.5.
2013-09-27 21:10:20 +02:00
Ludovic Courtès f887601ac8 gnu: guix: Update to 0.4.
* gnu/packages/package-management.scm (guix): Update to 0.4.
  (guix-0.4): Remove.
* gnu/system/vm.scm (qemu-image, system-qemu-image): Use GUIX instead of
  GUIX-0.4.
2013-09-27 21:09:02 +02:00
Ludovic Courtès 867e3c5553 gnu: vm: Remove erroneous store reference.
* gnu/system/vm.scm (system-qemu-image): Remove reference from BOOT to
  MINGETTY since MINGETTY may not be valid yet.
2013-09-27 21:06:35 +02:00
Ludovic Courtès 81bb9b6665 Update '.po' files. 2013-09-27 14:32:16 +02:00
Ludovic Courtès 9f84f12fde gnu: vm: Add more packages to the profile.
* gnu/system/vm.scm (system-qemu-image): Add grep, sed, and Findutils to
  the profile.
2013-09-27 13:50:15 +02:00
Nikita Karetnikov ba7ea5ce33 doc: Fix typos.
* doc/guix.texi: Fix typos.
2013-09-27 08:22:02 +00:00
Ludovic Courtès bb5f01c55d Update 'NEWS'. 2013-09-27 08:44:55 +02:00
Ludovic Courtès 5c413a9cbc gnu: module-init-tools: Remove reference to unavailable man page tarball.
Fixes <http://bugs.gnu.org/15187>.
Reported by Mark H. Weaver <mhw@netris.org>.

* gnu/packages/linux.scm (module-init-tools): Remove reference to
  Gentoo's pre-built man pages and 'unpack-man-pages' phase.  Add
  'fake-docbook' phases.
2013-09-27 08:41:19 +02:00
Ludovic Courtès 6bf3e5f72d Update 'NEWS'. 2013-09-27 01:50:59 +02:00
Ludovic Courtès f312d5430e gnu: guix: Remove warning about 0.4 hack.
* gnu/packages/package-management.scm (guix-0.4): Remove warning.
2013-09-27 01:39:52 +02:00
Ludovic Courtès 2442257f2d Merge branch 'core-updates' 2013-09-27 01:30:57 +02:00
Ludovic Courtès 1bb9900a2a doc: Link from "guix gc" to '--delete-generations'.
* doc/guix.texi (Invoking guix package): Mention that deleting
  generations prevents roll-back.
  (Invoking guix gc): Link to '--delete-generations'.
2013-09-27 01:26:26 +02:00
Ludovic Courtès d7ddb257c9 guix package: '--delete-generations' deletes generations older than specified.
* guix/scripts/package.scm (matching-generations): Add
  'duration-relation' keyword parameter.
  (guix-package)[process-action](delete-generations): Pass
  #:duration-relation >.
* tests/guix-package.sh: Add test.
* doc/guix.texi (Invoking guix package): Clarify the meaning of
  durations for '--list-durations' and '--delete-durations'.
2013-09-27 01:23:59 +02:00
Ludovic Courtès 03f4ef28b1 tests: Fix typo.
* tests/guix-package.sh: Add missing "-p" option.
2013-09-27 01:07:37 +02:00
Ludovic Courtès 5b16ff0985 gnu: vm: Add a few packages to the default profile.
* gnu/system/vm.scm (system-qemu-image): Add procps, psmisc, and Zile to
  the default profile.  Increase the image size to 550 MiB.
2013-09-27 00:46:18 +02:00
Ludovic Courtès 87eb734d38 gnu: dmd: Make the 'networking' service slightly more robust.
* gnu/system/dmd.scm (static-networking-service)[start]: Sleep before
  running 'route', to leave time for the interface to come up.
  [stop]: Run "route del -net default".
2013-09-27 00:46:18 +02:00
Ludovic Courtès 17886b3022 gnu: vm: Set the right permissions and ownership on directories.
* gnu/system/vm.scm (qemu-image): Change the store's mode to #o1775.
  Support 'populate' clauses that specify a UID and GID.
  (system-qemu-image): Make sure /nix/store has owner 'root' and group
  'guixbuild'.  Set the right owner for /home/guest.  Create
  /var/nix/profiles/per-user/{root,guest}.
2013-09-27 00:46:18 +02:00
Ludovic Courtès fbd1c3e95b gnu: linux-initrd: Mount /tmp as a tmpfs.
* gnu/packages/linux-initrd.scm (gnu-system-initrd): Make sure /root/tmp
  exists; mount it as a tmpfs.
2013-09-27 00:46:17 +02:00
Ludovic Courtès d0c66871b1 gnu: vm: Add build users.
* gnu/system/shadow.scm (guix-build-accounts): New procedure.
* gnu/system/vm.scm (system-qemu-image): Use it.  Add the "guixbuild"
  group.
* gnu/system/dmd.scm (guix-service): Add 'builder-group' parameter.
  Pass 'guix-daemon' the '--build-users-group' option.
2013-09-27 00:46:17 +02:00
Ludovic Courtès 3abf9b440b gnu: vm: Add /etc/{services,protocols,rpc} to the image.
* gnu/system/vm.scm (system-qemu-image): Link
  /etc/{services,protocols,rpc}.  Add net-base as an input.
2013-09-27 00:46:17 +02:00
Ludovic Courtès dadee6cd6e Run 'guix' with '--no-auto-compile'.
* scripts/guix.in: Change '-s' to '--no-auto-compile'.  This avoids
  annoying messages about auto-compilation, and avoids permission denied
  issues when running without write access in the usual places.
2013-09-27 00:46:17 +02:00
Ludovic Courtès 8bc755c08c gnu: vm: Add a 'guest' account.
* gnu/system/vm.scm (system-qemu-image): Add a "guest" user and a
  "users" user group.  Make /home/guest.  Add /etc/group.  Update
  /etc/issue to mention it.
2013-09-27 00:46:17 +02:00
Ludovic Courtès 16a0e9dc34 gnu: shadow: Add record type for user groups.
* gnu/system/shadow.scm (<user-group>): New record type.
  (group-file): New procedure.
* gnu/system/vm.scm (system-qemu-image): Use it.
2013-09-27 00:46:17 +02:00
Ludovic Courtès bacadb026c gnu: shadow: Add record type for user accounts.
* gnu/system/shadow.scm (<user-account>): New record type.
  (passwd-file): Use it.
* gnu/system/vm.scm (system-qemu-image): Adjust accordingly.
2013-09-27 00:46:17 +02:00
Ludovic Courtès c773aba870 gnu: Add net-base.
* gnu/packages/system.scm (net-base): New variable.
2013-09-27 00:46:17 +02:00
Ludovic Courtès 03761a4465 build-system/trivial: Take the 'source' field into account.
* guix/build-system/trivial.scm (trivial-build): When SOURCE is true,
  add it to INPUTS.
  (trivial-cross-build): Likewise.
* tests/packages.scm ("trivial with source"): New test.
2013-09-27 00:46:17 +02:00
Ludovic Courtès 59c5c4dee1 gnu: vm: Set the default networking route.
* gnu/system/dmd.scm (static-networking-service): Add #:gateway
  parameter and honor it.
* gnu/system/vm.scm (system-qemu-image): Pass #:gateway to
  'static-networking-service'.
2013-09-27 00:46:17 +02:00
Ludovic Courtès 85e0dc6a6b gnu: Add net-tools.
* gnu/packages/linux.scm (net-tools): New variable.
2013-09-27 00:46:16 +02:00
Ludovic Courtès d08213980c gnu: dmd: Download from alpha.gnu.org.
* gnu/packages/system.scm (dmd): Use the alpha.gnu.org URL.
2013-09-27 00:46:16 +02:00
Andreas Enge b2f0005aad gnu: harfbuzz: Update to 0.9.21.
* gnu/packages/gtk.scm (harfbuzz): Update to 0.9.21.
2013-09-26 18:44:31 +02:00
Andreas Enge c1cab15a54 gnu: Add dvdisaster.
* gnu/packages/cdrom.scm (dvdisaster): New variable.
2013-09-26 18:26:44 +02:00
Nikita Karetnikov b7884ca3ca guix package: Add '--delete-generations'.
* guix/scripts/package.scm (switch-to-previous-generation): New function.
  (roll-back): Use the new function instead of 'switch-link'.
  (show-help): Add '--delete-generations'.
  (%options): Likewise.
  (guix-package)[process-actions]: Add 'current-generation-number',
  'display-and-delete', and 'delete-generation'.  Add support for
  '--delete-generations', and reindent the code.
* tests/guix-package.sh: Test '--delete-generations'.
* doc/guix.texi (Invoking guix-package): Document '--delete-generations'.
2013-09-26 15:41:43 +00:00
Nikita Karetnikov 64d2e973fb guix package: Add 'link-to-empty-profile'.
* guix/scripts/package.scm (link-to-empty-profile): New function.
  (roll-back): Use it.
2013-09-26 15:41:43 +00:00
Nikita Karetnikov 4658b2c47b guix package: Exit with 0 when there is nothing to list.
* guix/scripts/package.scm (guix-package)[process-query]: Exit with 0
  when there are no generations containing packages or no profiles.
2013-09-26 15:41:43 +00:00
Andreas Enge c9cb0825c9 gnu: xf86-input-joystick: Fix installation path.
* gnu/packages/xorg.scm (xf86-input-joystick): Fix installation path.
2013-09-26 17:33:33 +02:00
Andreas Enge 36c0d43000 gnu: xf86-input-vmmouse: Fix installation path.
* gnu/packages/xorg.scm (xf86-input-vmmouse): Fix installation path.
2013-09-26 16:29:28 +02:00
Andreas Enge de9c504697 gnu: xf86-input-synaptics: Fix installation paths.
* gnu/packages/xorg.scm (xf86-input-synaptics): Fix installation paths.
2013-09-26 16:23:36 +02:00
Ludovic Courtès 7facbf2b58 Merge branch 'master' into core-updates 2013-09-26 00:20:11 +02:00
Ludovic Courtès 834b5c8076 gnu: zile: Fix references to /bin/sh.
* gnu/packages/zile.scm (zile): Add 'patch-/bin/sh' phase.  Move Perl
  and help2man to 'native-inputs'.
2013-09-26 00:15:51 +02:00
Ludovic Courtès 349746dfcd gnu: vm: Add nscd service.
* gnu/system/dmd.scm (nscd-service): New procedure.
* gnu/system/vm.scm (system-qemu-image): Use it.  Make /var/run/nscd.
2013-09-26 00:07:42 +02:00
Ludovic Courtès de8bcdaeb5 packages: Make the 'output' parameter of 'package-output' optional.
* guix/packages.scm (package-output): Make the 'output' parameter
  optional.
2013-09-25 23:26:42 +02:00
Ludovic Courtès f83e943fe7 gnu: vm: Add 'networking' service.
* gnu/system/vm.scm (system-qemu-image): Use
  'static-networking-service'.  Add /etc/resolv.conf.  Add Inetutils to
  the profile.
* gnu/system/dmd.scm (static-networking-service): New procedure.
2013-09-25 23:26:08 +02:00
Ludovic Courtès 27cab84c6d gnu: vm: Register the profile as a GC root.
* gnu/system/vm.scm (system-qemu-image): Register PROFILE as a GC root.
2013-09-25 23:05:33 +02:00
Ludovic Courtès ba47851fac gnu: vm: Add 'host-name' service.
* gnu/system/dmd.scm (host-name-service): New procedure.
  (mingetty-service): Require the 'host-name' service.
* gnu/system/vm.scm (system-qemu-image): Add the 'host-name' service.
  Set PS1 in /etc/bashrc to something sensible.
2013-09-25 21:49:22 +02:00
Ludovic Courtès 43a2779876 gnu: vm: Add /etc/issue and a motd.
* gnu/system/vm.scm (system-qemu-image): Build a 'motd' and an 'issue'
  file.  Pass 'unix-pam-service' that motd.  Have /etc/issue point to
  the 'issue' file.
2013-09-25 21:47:10 +02:00
Ludovic Courtès d09cb44967 Update 'eo.po'. 2013-09-25 21:25:47 +02:00
Ludovic Courtès d5d0f286a2 gnu: vm: Change #:populate to a list of directives.
* gnu/system/vm.scm (qemu-image): Change 'populate' parameter to be a
  list of directives.
  (system-qemu-image): Adjust accordingly.
2013-09-25 18:58:25 +02:00
Ludovic Courtès 25eb16bf3b gnu: vm: Add more ttys.
* gnu/system/vm.scm (system-qemu-image): Add more ttys.
2013-09-25 18:58:25 +02:00
Ludovic Courtès 65d195e140 gnu: vm: Change GRUB label.
* gnu/system/vm.scm (system-qemu-image): Change GRUB label.
2013-09-25 18:58:25 +02:00
Ludovic Courtès 0b86a82dc7 gnu: vm: Make a union of the visible packages; add /etc/profile.
* gnu/system/vm.scm (qemu-image): Add Guix as an input when
  INITIALIZE-STORE?.
  (union): New procedure.
  (system-qemu-image): Use it.  Build /etc/profile.  Pass PROFILE among
  #:inputs-to-copy instead of listing all the individual profiles.
  Remove explicit 'build-derivations' call.
2013-09-25 18:58:25 +02:00
Ludovic Courtès 37c58656eb gnu: vm: Support derivation objects as inputs.
* gnu/system/vm.scm (expression->derivation-in-linux-vm)[input-alist]:
  Add case for derivation? objects.
  Same for #:inputs values.
  (qemu-image)[input->name+derivation]: Likewise.
2013-09-25 18:58:25 +02:00
Ludovic Courtès 8f37bf6200 Update 'NEWS'. 2013-09-25 18:58:25 +02:00
Nikita Karetnikov 9ac9360d6e guix package: Show which generation is the current one.
* guix/scripts/package.scm (guix-package)[process-query]: Show that a
  generation is the current one if the profile points to it.
* tests/guix-package.sh: Test it.
2013-09-25 16:10:40 +00:00
Nikita Karetnikov aad5af9f40 tests: Use 'test -z' to check that a string equals zero. 2013-09-25 16:09:50 +00:00
Nikita Karetnikov 4b2bc804d8 guix package: Do not list the zeroth generation.
* guix/scripts/package.scm (guix-package)[process-query]: Change
  'list-generation' to not list the zeroth generation.
* tests/guix-package.sh: Test it.
* doc/guix.texi (Invoking guix package): Document it, and use the
  right term when talking about generations.
2013-09-25 16:08:39 +00:00
Nikita Karetnikov 0ab212b946 guix package: Exit with 1 when a generation cannot be listed.
* guix/scripts/package.scm (guix-package)[process-query]: Exit with 1
  when a generation does not exist or the profile points to the zeroth
  generation.
* tests/guix-package.sh: Test the former case.
2013-09-25 16:07:50 +00:00
Andreas Enge 98fbd7ceeb gnu: libksba: Update to 1.3.0.
* gnu/packages/gnupg.scm (libksba): Update to 1.3.0.
2013-09-25 13:46:34 +02:00
Andreas Enge 24f3e788d0 gnu: libgcrypt: Update to 1.5.3
* gnu/packages/gnupg.scm (libgcrypt): Update to 1.5.3.
2013-09-25 13:43:20 +02:00
Andreas Enge f1be806183 gnu: gnupg: Update to 2.0.21.
* gnu/packages/gnupg.scm (gnupg): Update to 2.0.21.
2013-09-25 11:52:33 +02:00
Andreas Enge 78c7e3449f gnu: pspp: Update to 0.8.1.
* gnu/packages/maths.scm (pspp): Update to 0.8.1.
2013-09-25 11:08:16 +02:00
Andreas Enge b972db7275 gnu: fontconfig: Add and register gs-fonts.
* gnu/packages/fontutils.scm (fontconfig): Add gs-fonts as an input and
    register it in the configuration file; so any porgram using fontconfig
    should at least have the gs-fonts at its disposal.
2013-09-25 09:48:13 +02:00
Ludovic Courtès 1fa49a2c46 gnu: m4: Upgrade to 1.4.17.
* gnu/packages/m4.scm (m4): Upgrade to 1.4.17.  Remove
  'm4-s_isdir.patch' and 'm4-gets-undeclared.patch'.
* gnu/packages/patches/m4-s_isdir.patch: Remove.
* gnu-system.am (dist_patch_DATA): Adjust accordingly.
2013-09-25 00:39:19 +02:00
Ludovic Courtès f1dfb7c47c gnu: guix: Rework 0.4 hack to gracefully handle lack of tarball.
* gnu/packages/package-management.scm (guix-0.4): Fall back to the
  source of GIUX when the tarball doesn't exist.
2013-09-25 00:13:06 +02:00
Ludovic Courtès 9fcc355529 gnu: vm: Add a service for the Guix daemon.
* gnu/system/dmd.scm (guix-service): New procedure.
* gnu/system/vm.scm (system-qemu-image): Use it.
2013-09-24 23:40:50 +02:00
Ludovic Courtès 30f25b033c gnu: vm: Initialize the image's store.
* gnu/system/vm.scm (qemu-image): Add 'initialize-store?' keyword
  parameter.  Use 'guix-register' when INITIALIZE-STORE? is true.
  (system-qemu-image): Pass #:initialize-store? #t.
2013-09-24 23:40:50 +02:00
Ludovic Courtès 2d195e6775 gnu: guix: Set $localstatedir; add gzip as input.
* gnu/packages/package-management.scm (guix): Add "--localstatedir=/var".
  Add GZIP as an explicit input, to avoid referring to the final gzip.
2013-09-24 23:40:50 +02:00
Ludovic Courtès 923206f79b guix-register: Allow the initial directory creation to proceed.
This fixes a bug whereby 'guix-register' would bail out when trying to
create NIX_STORE_DIR/.links when NIX_STORE_DIR is read-only.

* nix/guix-register/guix-register.cc (parse_opt): Initialize
  'settings.nixStore' to PREFIX + NIX_STORE_DIR.
  (main): Change 'settings.nixStore' once the 'LocalStore' has been
  instantiated.
2013-09-24 23:40:49 +02:00
Ludovic Courtès 9d3c4daed3 gnu: racket: Add dependency on GTK+.
* gnu/packages/scheme.scm (racket): Add dependency on GTK+ and
  gdk-pixbuf.
2013-09-24 23:40:49 +02:00
Andreas Enge 2365338b18 gnu: xorg: Fix xorg-server.
* gnu/packages/xorg.scm (xkbcomp-intermediate): New variable, serves as
    input to xkeyboard-config.
* gnu/packages/xorg.scm (xkeyboard-config): Add input xkbcomp-intermediate.
* gnu/packages/xorg.scm (xkbcomp): Add input xkeyboard-config.
* gnu/packages/xorg.scm (xorg-server): Adapt xkb paths and replace references
    to /bin/sh (with Ludovic Courtès <ludo@gnu.org>).
2013-09-24 21:56:33 +02:00
Ludovic Courtès caf96debc2 guix-register: Expect closures to refer to the original store.
* nix/guix-register/guix-register.cc (prefix): New variable.
  (parse_opt): Use it.
  (register_validity): Change 'info.path' to the final store name.
  Hash the final under its real path.
* tests/guix-register.sh: Adjust the contents of $closure accordingly.
  Rename 'NIX_LOCALSTATE_DIR' to 'NIX_STATE_DIR'.  Don't try to call
  'valid-path?'.  Add test using 'sqlite3'.
2013-09-23 23:56:35 +02:00
Alex Sassmannshausen a4141d6d53 list-packages: Progressive Enhancement approach to JS.
* build-aux/list-packages.scm (package->sxml): Add parameters previous,
  description-ids and remaining, update docstring accordingly. Introduce logic
  for fold-values process.
  (insert-tr): Moved sxml package table-row generation to new function; remove
  <a> elements and JS function calls. These are created through JS
  (prep_pkg_descs). Add insert-js-call for every 15th package, and the last.
  (insert-js-call): New function.
  (packages->sxml): Change map to fold values; add init params.
  (insert-js): show_hide: add compatibility check, introduce, use thingLink
               prep: new JS function.
               bulk_show_hide: new JS function.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2013-09-23 17:49:39 +02:00
Andreas Enge 4fd6bf5337 gnu: mutt: Add SASL for authenticated SMTP.
* gnu/packages/mail.scm (mutt): Add input cyrus-sasl.
2013-09-23 12:50:59 +02:00
Ludovic Courtès 5608847c6f Merge branch 'master' into core-updates 2013-09-23 00:35:17 +02:00
Ludovic Courtès f59e9eaac8 build: check-available-binaries: Adjust to derivation API change.
* build-aux/check-available-binaries.scm: Use 'derivation->output-path'
  instead of 'derivation-path->output-path'.
2013-09-23 00:33:50 +02:00
Ludovic Courtès 48e488eb2c nar: Fix file descriptor leak when writing a Nar.
* guix/nar.scm (write-contents)[call-with-binary-input-file]: Always
  close PORT.
2013-09-23 00:33:50 +02:00
Ludovic Courtès f566d765a1 doc: Document '--list-generations' among the query options.
* doc/guix.texi (Invoking guix package): Move '--list-generations' below
  "In addition to these actions".
2013-09-23 00:33:50 +02:00
Ludovic Courtès bd9bde1cba guix package: Show most recently installed packages last.
Suggested by Andreas Enge <andreas@enge.fr>.

* guix/scripts/package.scm (guix-package)[list-generations,
  list-installed]: Reverse the result of 'manifest-packages'.
* doc/guix.texi (Invoking guix package): Document the order of packages
  for '--list-generations' and '--list-installed'.
2013-09-23 00:33:50 +02:00
Ludovic Courtès a7a4e6a4f7 Add 'guix-register'.
* nix/guix-register/guix-register.cc, tests/guix-register.sh: New
  files.
* Makefile.am (SH_TESTS)[BUILD_DAEMON]: Add tests/guix-register.sh.
* daemon.am (sbin_PROGRAMS, guix_register_SOURCES,
  guix_register_CPPFLAGS, guix_register_LDADD): New variables.
* test-env.in: Export 'storedir', 'prefix', 'datarootdir', 'datadir',
  and 'localstatedir'.
2013-09-23 00:33:50 +02:00
Ludovic Courtès 996ed6acd5 build: Build the daemon with -Wall.
* daemon.am (AM_CXXFLAGS): New variable.
2013-09-23 00:33:50 +02:00
Andreas Enge 13f04f48d0 gnu: Add mutt.
* gnu/packages/mail.scm (mutt): New variable.
2013-09-22 22:30:18 +02:00
Andreas Enge d983a14f81 gnu: Add fetchmail.
* gnu/packages/mail.scm (fetchmail): New variable.
2013-09-22 21:56:36 +02:00
Andreas Enge 1fdd3ee2a6 gnu: Rename module mailutils to mail.
* gnu/packages/mail.scm: Rename from gnu/packages/mailutils.scm.
* gnu-system.am: Rename the module.
2013-09-22 21:01:40 +02:00
Andreas Enge 995b726131 gnu: Add gnome-doc-utils.
* gnu/packages/gnome.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add module.
2013-09-22 17:53:01 +02:00
Andreas Enge 477c91ce73 gnu: Add gst-plugins-base.
* gnu/packages/gstreamer.scm (gst-plugins-base): New variable.
2013-09-22 17:25:12 +02:00
Andreas Enge 144f9f251d gnu: gstreamer: Depend on python-wrapper.
* gnu/packages/gstreamer.scm (gstreamer): Replace input python by
    python-wrapper.
2013-09-22 16:41:29 +02:00
Andreas Enge 22885fb845 gnu: Add gstreamer.
* gnu/packages/gstreamer.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add module.
2013-09-22 16:22:00 +02:00
Andreas Enge 93be8dc4c9 gnu: xcursor-themes: Install data into package output directory.
* gnu/packages/xorg.scm (xcursor-themes): Install icons into output directory
    instead of libxcursor.
2013-09-22 11:16:08 +02:00
Andreas Enge 421a80a2b2 gnu: Add python2-pyicu.
* gnu/packages/python.scm (python2-pyicu): New variable.
2013-09-22 09:44:49 +02:00
Ludovic Courtès 99882c613c guix package: Sort the list of generation numbers in '--list-generations'.
* guix/scripts/package.scm (generation-numbers): Sort the result.
2013-09-21 22:35:14 +02:00
Ludovic Courtès 4d497632ce guix package: Internationalize "Generation" string.
* guix/scripts/package.scm (guix-package): Internationalize generation
  listing.
2013-09-21 22:32:20 +02:00
Ludovic Courtès 35aee909f7 Thank Cyrill. 2013-09-21 22:16:26 +02:00
Ludovic Courtès 3b627eac48 pull: Adjust to 'derivation' API change.
Fixes <http://bugs.gnu.org/15428>.
Reported by Cyrill Schenkel <cyrill.schenkel@gmail.com>.

* guix/scripts/pull.scm (guix-pull): 'unpack' returns a single value.
2013-09-21 22:16:26 +02:00
Andreas Enge 0352532e6a gnu: Add python-simplejson, python2-simplejson.
* gnu/packages/python.scm (python-simplejson, python2-simplejson):
    New variables.
2013-09-21 21:14:19 +02:00
Ludovic Courtès ed0cdf837d gnu: python2-pysqlite: Fix 'license'.
* gnu/packages/python.scm (python2-pysqlite): Refer to (@ (guix
  licenses) zlib), not to the same-named package.
2013-09-21 01:59:46 +02:00
Ludovic Courtès 4646e30a7a gnu: QEMU images boots into dmd.
* gnu/system/dmd.scm: New file.
* gnu/system/vm.scm (system-qemu-image): Define dmd services.
  [populate]: Make var/log and etc/group.
  [boot]: Execute dmd directly.
  Add dmd and etc-group as inputs; add the inputs of dmd services.
* gnu-system.am (GNU_SYSTEM_MODULES): Add gnu/system/dmd.scm.
2013-09-21 01:09:06 +02:00
Ludovic Courtès f15164e791 gnu: Add GNU dmd.
* gnu/packages/system.scm (dmd): New variable.
2013-09-21 01:09:06 +02:00
Nikita Karetnikov 2cd09108c9 guix package: Add '--list-generations'.
* guix/scripts/package.scm: Import (srfi srfi-19).
  (generation-time, matching-generations): New functions.
  (show-help): Add '--list-generations'.
  (%options): Likewise.
  (guix-package)[process-query]: Add support for '--list-generations'.
* guix/ui.scm: Import (srfi srfi-19) and (ice-9 regex).
  (string->generations, string->duration): New functions.
* tests/guix-package.sh: Test '--list-generations'.
* tests/ui.scm: Import (srfi srfi-19).
  Test 'string->generations' and 'string->duration'.
* doc/guix.texi (Invoking guix-package): Document '--list-generations'.
2013-09-19 11:22:31 +00:00
Andreas Enge 0c456db45b gnu: isl: Update urls.
* gnu/packages/gcc.scm (isl): Update source and home page url.
2013-09-19 09:14:23 +02:00
Ludovic Courtès 72d9148fbf hydra: Pass the directory name of the Nix checkout.
* build-aux/hydra/guix.scm (hydra-jobs): Extract the 'file-name' item
  from NIX-CHECKOUT, and pass that to 'tarball-package'.
2013-09-18 23:07:45 +02:00
Ludovic Courtès 1210c32ecc hydra: Fix typo.
* build-aux/hydra/guix.scm (tarball-package): Unquote 'nix-checkout'.
2013-09-18 20:58:49 +02:00
Ludovic Courtès 97d010b7f8 hydra: Add missing import.
* build-aux/hydra/gnu-system.scm, build-aux/hydra/guix.scm: Use (guix
  derivations).
2013-09-18 20:49:47 +02:00
Ludovic Courtès 3301f17970 hydra: Return the .drv file names, not the <derivation> objects.
* build-aux/hydra/gnu-system.scm (package->alist): Call
  'derivation-file-name' on the result of 'package-derivation'.
* build-aux/hydra/guix.scm (package->alist): Likewise.
2013-09-18 19:37:50 +02:00
Ludovic Courtès 37c0ce3d27 hydra: Point the Git submodule to our local copy.
* build-aux/hydra/guix.scm (tarball-package): Add 'nix-checkout'
  parameter.  Replace 'patch-bootstrap-script' phase by
  'set-nix-module'.
  (hydra-jobs): Get the 'nix' value from ARGUMENTS, and pass it to
  'tarball-package'.
2013-09-18 19:00:13 +02:00
Ludovic Courtès 59688fc4b5 derivations: 'derivation' and related procedures return a single value.
* guix/derivations.scm (derivation->output-path,
  derivation->output-paths): New procedures.
  (derivation-path->output-path): Use 'derivation->output-path'.
  (derivation-path->output-paths): Use 'derivation->output-paths'.
  (derivation): Accept 'derivation?' objects as inputs.  Return a single
  value.
  (build-derivations): New procedure.
  (compiled-modules): Use 'derivation->output-paths'.
  (build-expression->derivation)[source-path]: Add case for when the
  input matches 'derivation?'.
  [prologue]: Accept 'derivation?' objects in INPUTS.
  [mod-dir, go-dir]: Use 'derivation->output-path'.
* guix/download.scm (url-fetch): Adjust to the single-value return.
* guix/packages.scm (package-output): Use 'derivation->output-path'.
* guix/scripts/build.scm (guix-build): When the argument is
  'derivation-path?', pass it through 'read-derivation'.
  Use 'derivation-file-name' to print out the .drv file names, and to
  register them.  Use 'derivation->output-path' instead of
  'derivation-path->output-path'.
* guix/scripts/package.scm (roll-back): Adjust to the single-value
  return.
  (guix-package): Use 'derivation->output-path'.
* guix/ui.scm (show-what-to-build): Adjust to deal with 'derivation?'
  objects instead of .drv file names.
* gnu/system/grub.scm (grub-configuration-file): Use
  'derivation->output-path' instead of 'derivation-path->output-path'.
* gnu/system/vm.scm (qemu-image, system-qemu-image): Likewise.
* tests/builders.scm, tests/derivations.scm, tests/packages.scm,
  tests/store.scm, tests/union.scm: Adjust to the new calling
  convention.
* doc/guix.texi (Defining Packages, The Store, Derivations): Adjust
  accordingly.
2013-09-18 18:49:53 +02:00
Ludovic Courtès 81b66f8567 tests: Clarify filtering of the "debug" output.
* tests/guix-package.sh: Clearly filter out the "debug" output of
  'gnu-make-boot0'.
2013-09-18 16:42:51 +02:00
Ludovic Courtès 07c86312ca derivations: Add a nicer printer.
* guix/derivations.scm (<derivation>): Add a printer.
2013-09-18 11:10:02 +02:00
Ludovic Courtès 6a446d5680 derivations: Keep the .drv file name in <derivation> objects.
* guix/derivations.scm (<derivation>): Add 'file-name' field.
  (%read-derivation): Use (port-filename DRV-PORT) as the file name for
  the result.
  (derivation): Set the 'file-name' field in the result.
* tests/derivations.scm ("build derivation with 1 source"): Assert that
  'derivation-file-name' returns the right thing.
2013-09-17 23:02:13 +02:00
Ludovic Courtès 803704418c gnu: dbus: Add dependency on libX11.
* gnu/packages/glib.scm: Use #:export instead of 'define-public'.
  (dbus): Add LIBX11 as an input.
2013-09-16 21:39:07 +02:00
Ludovic Courtès 692b93408f gnu: glibc: Fix 'ldd' on x86_64.
Reported by Cyril Roelandt at
<https://lists.gnu.org/archive/html/guix-devel/2013-09/msg00136.html>.

* gnu/packages/patches/glibc-ldd-x86_64.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/base.scm (glibc): Use it.
2013-09-15 23:37:32 +02:00
Ludovic Courtès 66018f1c33 utils: 'find-files' returns a sorted list.
* guix/build/utils.scm (find-files): Sort the result lexicographically.
* guix/scripts/pull.scm (unpack): Don't sort the result of 'find-files'.
2013-09-15 23:21:30 +02:00
Andreas Enge aae4ead814 Merge branch 'python' 2013-09-14 10:45:01 +02:00
Ludovic Courtès 29479de565 substitute-binary: Add '--help'.
Reported by Nikita Karetnikov <nikita@karetnikov.org>.

* guix/scripts/substitute-binary.scm (show-help): New procedure.
  (guix-substitute-binary): Add '--help'.
2013-09-13 23:42:36 +02:00
Ludovic Courtès 0cb9b45674 gnu: gnutls: Upgrade to 3.2.4.
* gnu/packages/gnutls.scm (gnutls): Update to 3.2.4; remove 'arguments'
  field, remove "patch/fix-tests" from the inputs.
* gnu/packages/patches/gnutls-fix-tests-on-32-bits-system.patch: Remove.
* gnu-system.am (dist_patch_DATA): Adjust accordingly.
2013-09-13 16:26:59 +02:00
Andreas Enge 2875caf5b5 gnu: Add python2-mechanize.
* gnu/packages/python.scm (python2-mechanize): New variable.
2013-09-13 14:25:53 +02:00
Nikita Karetnikov 1b0a8212d1 guix package: Rename generation-related procedures.
* guix/scripts/package.scm (profile-numbers): Rename to 'generation-numbers'.
  (previous-profile-number): Rename to 'previous-generation-number'.
  (profile-number): Rename to 'generation-number'.
  (roll-back): Rename 'previous-profile' to 'previous-generation'.
2013-09-13 07:07:01 +00:00
Andreas Enge 1d08c01fcf gnu: Add python2-sqlite.
* gnu/packages/python.scm (python2-sqlite): New variable.
2013-09-12 15:31:45 +02:00
Ludovic Courtès 7763c538ad Thank Matthias and Yutaka. 2013-09-12 14:11:15 +02:00
Ludovic Courtès ea16738085 daemon: Use 'int' instead of the internal 'gcry_md_algo_t' type.
Fixes compilation with the forthcoming libgcrypt 1.6.x.
Reported by Matthias Wachs <wachs@net.in.tum.de>
and NIIBE Yutaka <gniibe@fsij.org>.

* nix/libutil/gcrypt-hash.cc (guix_hash_init, guix_hash_final): Use
  'int' as the type of the 'algo' parameter.
* nix/libutil/gcrypt-hash.hh: Update declarations accordingly.
2013-09-12 14:09:29 +02:00
Ludovic Courtès 8eaa8a3bf0 gnu: avahi, dbus: Use /var as $localstatedir.
* gnu/packages/avahi.scm (avahi): Pass '--localstatedir'; add
  'patch/localstatedir'.
* gnu/packages/glib.scm (dbus): Pass '--localstatedir' and
  '--with-session-socket-dir'; add 'patch/localstatedir'.
* gnu/packages/patches/avahi-localstatedir.patch,
  gnu/packages/patches/dbus-localstatedir.patch: New files.
* gnu-system.am (dist_patch_DATA): Add them.
2013-09-11 23:37:57 +02:00
Andreas Enge e1804763d0 gnu: Update python-babel, python2-babel to 1.3.
* gnu/packages/python.scm (python-babel, python2-babel): Update to 1.3.
2013-09-11 22:56:52 +02:00
Ludovic Courtès 0ded70f37d gnu: Move helper code to (gnu system …) modules.
* gnu/packages/grub.scm (<menu-entry>, grub-configuration-file): Move
  to...
* gnu/system/grub.scm: ... here.  New file.
* gnu/packages/linux.scm (<pam-service>, <pam-entry>,
  pam-service->configuration, pam-service->directory,
  %pam-other-services, unix-pam-service): Move to...
* gnu/system/linux.scm: ... here.  New file.
* gnu/system/vm.scm (passwd-file): Move to...
* gnu/system/shadow.scm: ... here.  New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add
  gnu/system/{grub,linux,shadow}.scm.
2013-09-11 22:36:50 +02:00
Ludovic Courtès aedb72fbe0 gnu: vm: Remove potluck hacks.
* gnu/system/vm.scm (example1): Remove.
  (example2): Rename to...
  (system-qemu-image): ... this.  Add 'store' parameter, and remove call
  to 'open-connection'.
2013-09-11 20:27:36 +02:00
Andreas Enge fc50e9c694 gnu: Add python-dateutil, python2-dateutil.
* gnu/packages/python.scm (python-dateutil, python2-dateutil): New variables.
2013-09-11 15:51:13 +02:00
Andreas Enge 824af8cadc guix: python: Create module installation path and add it to PYTHONPATH during
the installation phase.

* guix/build/python-build-system.scm (get-python-version): New procedure.
* guix/build/python-build-system.scm (install): Create and add path.
* gnu/packages/python.scm (python-setuptools): Drop path creation code.
2013-09-11 15:47:34 +02:00
Ludovic Courtès a843fe2222 gnu: vm: Setup PAM.
* gnu/system/vm.scm (example2): Use 'pam-services->directory'.  Change
  POPULATE to create /etc/pam.d, /etc/login.defs, and /var/run.  Change
  BOOT to spawn syslogd; boot to Bash.  Add inputs.
2013-09-11 01:07:50 +02:00
Ludovic Courtès 3b07625ad6 gnu: vm: Create shadow files with the right format.
* gnu/system/vm.scm (passwd-file): When SHADOW? is true, use the right
  shadow(5) format.  Always add a trailing newline.
2013-09-11 01:07:50 +02:00
Ludovic Courtès 37c825eb79 linux-initrd: Create /dev/klog and /dev/kmsg.
* guix/build/linux-initrd.scm (make-essential-device-nodes): Make
  /dev/klog and /dev/kmsg.
2013-09-11 01:07:50 +02:00
Ludovic Courtès e0ba5fe5ab gnu: linux-initrd: Fix typo.
* gnu/packages/linux-initrd.scm (gnu-system-initrd): Add missing
  argument to 'format' call.
2013-09-11 01:07:50 +02:00
Ludovic Courtès c84d0eca05 gnu: linux-pam: Add declarative PAM service interface.
* gnu/packages/linux.scm (<pam-service>, <pam-entry>): New record
  types.
  (pam-service->configuration, pam-services->directory,
  unix-pam-service): New procedures.
  (%pam-other-services): New variable.
2013-09-11 01:07:50 +02:00
Ludovic Courtès cfbf916045 store: The 'references' parameter of 'add-text-to-store' is now optional.
* guix/store.scm (add-text-to-store): Make 'references' optional.
* tests/store.scm ("dead-paths", "references"): Use 'add-text-to-store'
  with no optional argument.
* doc/guix.texi (The Store): Adjust accordingly.
2013-09-11 01:07:49 +02:00
Andreas Enge 73adf22037 gnu: Add python-setuptools, python2-setuptools.
* gnu/packages/python.scm (python-setuptools, python2-setuptools):
    New variables.
2013-09-10 21:08:12 +02:00
Andreas Enge e1a264f6fa guix: python: Do not import %standard-phases from gnu-build-system.
* guix/build-system/python.scm (python-build): Drop module gnu-build-system.
    Thanks to Ludovic Courtès <ludo@gnu.org>.
2013-09-10 20:32:50 +02:00
Andreas Enge 590a4904d2 gnu: isl: Update urls.
* gnu/packages/gcc.scm (isl): Update source and home page url.
2013-09-10 19:05:43 +02:00
Andreas Enge 1d1f939798 guix: python: Add parameter #:phases to build system.
* guix/build-system/python.scm (python-build): Use parameter #:phases.
2013-09-10 11:58:02 +02:00
Ludovic Courtès d34c0ac6e9 gnu: vm: Copy /etc/shadow to the guest.
* gnu/system/vm.scm (example2): Add SHADOW to #:inputs-to-copy.
2013-09-09 21:52:14 +02:00
Ludovic Courtès 98aeb06b41 gnu: vm: Create valid /etc/shadow and /etc/passwd.
* gnu/system/vm.scm (/etc/passwd): Rename to...
  (passwd-file): ... this. Add 'shadow?' keyword parameter.  Change
  format of ACCOUNTS, and fix CONTENTS.
  (example2): Adjust accordingly.  Create both /etc/shadow and
  /etc/passwd, the latter being used by getpwnam(3) & co. when nscd is
  not running.
2013-09-08 23:52:03 +02:00
Ludovic Courtès 8ab73e91d6 gnu: vm: Clear timestamps on the imported files, like in the store.
* gnu/system/vm.scm (qemu-image): Clear timestamps on the copied files.
2013-09-08 23:30:12 +02:00
Andreas Enge 11bb85a10d guix: python: Add package-with-python2, a procedure rewriting a package
to compile with Python 2 instead of the default Python 3.

* guix/build-system/python.scm (default-python2, package-with-explicit-python,
    package-with-python2): New procedures.
* guix/build-system/python.scm (python2-pytz, python2-babel): Use
    package-with-python2.
2013-09-08 16:57:37 +02:00
Ludovic Courtès 8ce3104e0e Merge branch 'master' into core-updates 2013-09-08 12:11:32 +02:00
Ludovic Courtès 6bf25b7b05 hydra: Support a 'subset' argument.
* build-aux/hydra/gnu-system.scm (%core-packages): New variable.
  (%packages-to-cross-build): Make an alias for %CORE-PACKAGES.
  (hydra-jobs): Check for the 'subset' argument, and honor it for values
  "all" and "core".
2013-09-08 12:10:25 +02:00
Ludovic Courtès 3409bc0188 gnu: glibc: Upgrade to 2.18.
* gnu/packages/base.scm (glibc): Upgrade to 2.18.
2013-09-08 12:01:33 +02:00
Ludovic Courtès e7b385008c gnu: linux-libre: Upgrade to 3.11.
* gnu/packages/linux.scm (linux-libre): Upgrade to 3.11.  Add bc as an
  input.
2013-09-08 01:30:54 +02:00
Ludovic Courtès 0e2ddecd8e gnu: grub: Add support for building configuration files.
* gnu/packages/grub.scm (<menu-entry>): New record type.
  (grub-configuration-file): New procedure.
* gnu/system/vm.scm (qemu-image): Remove parameters 'linux',
  'linux-arguments', and 'initrd'.  Add 'grub-configuration' parameter.
  Honor them, and remove grub.cfg generation code accordingly.
  (example2): Use `grub-configuration-file', and adjust accordingly.
2013-09-07 17:23:23 +02:00
Ludovic Courtès 2df74ac117 doc: Add "Data Types and Pattern Matching" to the Coding Style.
* HACKING (Data Types and Pattern Matching): New section.
2013-09-07 15:51:29 +02:00
Nikita Karetnikov a129e0d877 gnu: Add the 'license:' prefix.
* gnu/packages/glib.scm (itstool): Change 'gpl3+' to 'license:gpl3+'.
2013-09-07 07:47:24 +00:00
Cyril Roelandt 20a26ff546 gnu: Add itstool.
* gnu/packages/glib.scm (itstool): New variable.
2013-09-06 20:59:55 +02:00
Ludovic Courtès 785859d306 gnu: vm: Add /etc/shadow in the QEMU image.
* gnu/system/vm.scm (qemu-image): Add 'populate' keyword parameter and
  honor it; make it an input.
  (/etc/shadow): New procedure.
  (example2): Call it; build 'populate' script, and pass it to
  'qemu-image'.
2013-09-05 23:57:40 +02:00
Ludovic Courtès 002e5ba887 gnu: vm: Remove unused 'qemu-image' argument.
* gnu/system/vm.scm (qemu-image): Remove 'boot-expression' parameter,
  superseded by 'linux-arguments'.
2013-09-05 22:14:21 +02:00
Andreas Enge b191f88ee3 guix: python: Add build phase and factor out calls to setup.py.
* guix/build/python-build-system.scm (call-setuppy): New procedure.
* guix/build/python-build-system.scm (build): New procedure.
* guix/build/python-build-system.scm (check, install): Use call-setuppy.
* guix/build/python-build-system.scm (%standard-phases): Add call to build.
2013-09-05 20:25:08 +02:00
Andreas Enge 49b90a7539 gnu: python: Disable tests in python2-pytz and python2-babel.
* gnu/packages/python.scm (python2-pytz, python2-babel): Disable tests.
2013-09-05 19:07:28 +02:00
Andreas Enge 8498b8cfac gnu: python: Disable tests in pytz and babel.
* gnu/packages/python.scm (python-pytz, python-babel): Disable tests.
2013-09-05 18:55:27 +02:00
Andreas Enge 7b96bf82da gnu: python: Honour #:tests? and #:test-target in build system.
* guix/build/python-build-system.scm (check): Use named parameters tests?
    and test-target (default now: "test" instead of "check").
2013-09-05 18:43:18 +02:00
Andreas Enge d1f30e9943 gnu: git: Switch back to Python 2.
* gnu/packages/version-control.scm (git): Switch back to Python 2.
2013-09-05 18:13:23 +02:00
Ludovic Courtès 1b89a66e1b gnu: vm: First stab at building a populated QEMU image.
* gnu/packages/linux-initrd.scm (gnu-system-initrd): New variable.
* gnu/system/vm.scm (qemu-image): Add #:linux-arguments parameter.
  [input->name+derivation]: Add case for 'store-path?' items.
  Remove LOADER from `inputs'.
2013-09-05 00:46:09 +02:00
Ludovic Courtès 29804e6eb2 gnu: linux-initrd: Fix creation of /dev/tty nodes.
* guix/build/linux-initrd.scm (make-essential-device-nodes): Make
  /dev/tty.  Change from 'block-special' to 'char-special' for /dev/tty*
  nodes.
2013-09-05 00:46:09 +02:00
Ludovic Courtès 7c1d8146a7 gnu: vm: 'qemu-image' populates /dev on the target root file system.
* gnu/system/vm.scm (qemu-image): Use (guix build linux-initrd).  Remove
  'mknod' calls; use 'make-essential-device-nodes' to populate /dev on
  the target image.
* gnu/packages/linux-initrd.scm (qemu-initrd): When /root/dev exists,
  don't call 'make-essential-device-nodes'.
2013-09-05 00:46:09 +02:00
Andreas Enge 89114f39e4 gnu: python: Implement the python naming scheme for pytz and babel.
* gnu/packages/python.scm (pytz): Rename this ...
* gnu/packages/python.scm (python-pytz): ... to this
* gnu/packages/python.scm (python2-pytz): New variable, input python-2.
* gnu/packages/python.scm (babel): Rename this ...
* gnu/packages/python.scm (python-babel): ... to this
* gnu/packages/python.scm (python2-babel): New variable, input python-2.
2013-09-04 22:12:33 +02:00
Andreas Enge aa9e22efa3 gnu: subversion: Switch back to Python 2.
* gnu/packages/version-control.scm (subversion): Switch back to Python 2.
2013-09-04 19:17:19 +02:00
Andreas Enge 66ed0c3146 gnu: qemu: Switch back to Python 2.
* gnu/packages/qemu.scm (qemu): Switch back to Python 2.
2013-09-04 19:13:41 +02:00
Andreas Enge 78fed0648f gnu: texlive: Switch back to Python 2.
* gnu/packages/texlive.scm (texlive): Switch back to Python 2.
2013-09-04 19:09:39 +02:00
Andreas Enge 9bee5d6c18 gnu: rubber: Switch back to Python 2.
* gnu/packages/texlive.scm (rubber): Switch back to Python 2.
2013-09-04 19:06:51 +02:00
Andreas Enge 98e4829c4b gnu: mesa: Switch back to Python 2.
* gnu/packages/xorg.scm (mesa): Switch back to Python 2.
2013-09-04 19:03:14 +02:00
Andreas Enge f82cfaac71 gnu: libxml2: Switch back to Python 2.
* gnu/packages/xml.scm (libxml2): Switch back to Python 2.
2013-09-04 18:54:53 +02:00
Andreas Enge 91da9ab009 gnu: zziplib: Switch back to Python 2.
* gnu/packages/zip.scm (zziplib): Switch back to Python 2.
2013-09-04 18:40:54 +02:00
Andreas Enge 1611eccd10 gnu: bazaar: Switch back to Python 2.
* gnu/packages/version-control.scm (bazaar): Switch back to Python 2.
2013-09-04 18:35:49 +02:00
Andreas Enge 3df47231e6 guix: python: Switch to python-wrapper as the default version for the python
build system (switches to Python 3) and compute python-version instead of
  passing it as a parameter.

* guix/build-system/python.scm (default-python): Switch to python-wrapper.
* guix/build-system/python.scm (python-build): Drop parameter #:python-version.
* guix/build/python-build-system.scm (wrap): Compute python version from input.
2013-09-04 18:07:55 +02:00
Andreas Enge e911470857 gnu: xorg: Update comment for mesa.
* gnu/packages/xorg.scm (mesa): New compilation trial with 9.2.
2013-09-04 18:02:58 +02:00
Andreas Enge 6c76c45145 gnu: libdrm: Update to 2.4.46.
* gnu/packages/xorg.scm (libdrm): Update to 2.4.46.
2013-09-04 11:16:22 +02:00
Ludovic Courtès 0280ef2203 hydra: Add Graphviz as an input to the "tarball" job.
* build-aux/hydra/guix.scm (tarball-package): Add GRAPHVIZ to
  `native-inputs'.
2013-09-03 22:21:48 +02:00
Andreas Enge ee3e314bb7 gnu: python: Replace input python by python-wrapper.
* gnu/packages/{gdb.scm (gdb), cryptsetup.scm (cryptsetup),
  ghostscript.scm (ghostscript), glib.scm (glib), gnupg.scm (pius),
  gtk.scm (cairo, harfbuzz), libevent.scm (libevent), netpbm.scm (netpbm),
  oggvorbis.scm (libkate), qemu.scm (qemu), samba.scm (samba),
  texlive.scm (rubber, texlive), version-control.scm (subversion),
  xml.scm (libxml2, libxslt), xorg.scm (libxcb, mesa, xcb-proto, xorg-server),
  yasm.scm (yasm), zip.scm (zziplib)}:
  Replace input python by python-wrapper.
2013-09-03 22:18:39 +02:00
Ludovic Courtès 7eed1d0438 hydra: Add Git as an input to the "tarball" job.
* build-aux/hydra/guix.scm (tarball-package): Add `native-inputs' field.
2013-09-03 22:07:21 +02:00
Andreas Enge 898238b9f5 gnu: python: Add package python-wrapper.
* gnu/packages/python.scm (python-wrapper): New variable.
2013-09-03 21:27:40 +02:00
Ludovic Courtès bda44eed93 pull: Compile files in the lexicographic order.
* guix/scripts/pull.scm (unpack): Print the name of the file being
  compiled.  Sort the names of files to compile.
2013-09-03 10:48:52 +02:00
Ludovic Courtès 8badfc5558 build-system/cmake: Fix typo.
* guix/build-system/cmake.scm (default-cmake): Add missing quote.
2013-09-03 10:20:59 +02:00
Ludovic Courtès 0a2873e515 build-system/gnu: Delay resolution of (@ (gnu packages cmake) cmake).
* guix/build-system/cmake.scm (default-cmake): New procedure.
  (cmake-build): Use it.
2013-09-03 10:18:38 +02:00
Ludovic Courtès 00554b2a0f substitute-binary: Show the Nar size, when available.
* guix/scripts/substitute-binary.scm (guix-substitute-binary)["--substitute"]:
  Show the Nar size, when available.
* guix/ui.scm (show-what-to-build): Add 'TODO'.
2013-09-02 23:33:13 +02:00
Ludovic Courtès 43dd92024a union: Don't traverse sub-directories only found in one element of the union.
This significantly reduces I/O when building profiles, especially with
lots of package-specific sub-directories (such as 'share/emacs/24.3',
'texmf', etc.)

* guix/build/union.scm (union-build)[file-tree](others-have-it?): New
  procedure.  Use it in the 'enter?' parameter of 'file-system-fold';
  change 'skip' parameter accordingly.
* tests/union.scm ("union-build"): Ensure that 'include' is a symlink
  and 'bin' is a directory.
2013-09-02 23:04:25 +02:00
Ludovic Courtès 165fd9d5e6 gnu: lzo: Build the shared library.
* gnu/packages/compression.scm (lzo): Build the shared library.
2013-09-02 23:04:25 +02:00
Andreas Enge b24d1cfc85 gnu: python: Revert 77c7f8f4 and make Python 3 the default.
* gnu/packages/python.scm (python-3): Rename this to...
* gnu/packages/python.scm (python): ...this, rename this to...
* gnu/packages/python.scm (python-2): ...this.
2013-09-02 21:48:50 +02:00
Cyril Roelandt fbc1a58f40 gnu: Add dfc.
* gnu/packages/system.scm (dfc): New variable.
2013-09-02 19:47:36 +02:00
Cyril Roelandt 340c7033a8 gnu: Add htop.
* gnu/packages/system.scm (htop): New variable.
2013-09-02 19:47:36 +02:00
Ludovic Courtès 1e151896d4 gnu: Add mingetty.
* gnu/packages/system.scm (mingetty): New variable.
2013-09-02 00:20:14 +02:00
Ludovic Courtès bf8e7fc502 store: Add a printer for <nix-server>.
* guix/store.scm (<nix-server>): Set a printer.
2013-09-02 00:20:14 +02:00
Ludovic Courtès d91712ee89 gnu: linux-initrd: Factorize device node creation.
* guix/build/linux-initrd.scm (make-essential-device-nodes): New
  procedure.
* gnu/packages/linux-initrd.scm (qemu-initrd): Use it.
2013-09-02 00:20:14 +02:00
Andreas Enge d9ff410fb2 gnu: Add git.
* gnu/packages/version-control.scm (git): New variable.
2013-09-01 21:56:57 +02:00
Andreas Enge c3f3e150c4 gnu: cairo: Update to 1.12.16.
* gnu/packages/gtk.scm (cairo): Update to 1.12.16.
2013-09-01 18:21:08 +02:00
Andreas Enge abac80c0fd gnu: Update harfbuzz to 0.9.20.
* gnu/packages/gtk.scm (harfbuzz): Update to 0.9.20.
2013-09-01 18:13:48 +02:00
Andreas Enge 77c7f8f41b gnu: python: Temporarily make python 2 the default.
* gnu/packages/python.scm (python-2): Rename this to...
* gnu/packages/python.scm (python): ...this, rename this to...
* gnu/packages/python.scm (python-3): ...this. Reverts to version 2 as the
  default input for packages requiring Python.
2013-09-01 17:46:49 +02:00
Ludovic Courtès 93d44bd8de gnu: vm: `qemu-image' can copy store closures into the target image.
* gnu/system/vm.scm (qemu-image): Add #:inputs-to-copy and
  #:boot-expression parameters.  Honor them.  Append INPUTS-TO-COPY to
  the #:inputs argument for `expression->derivation-in-linux-vm'.
  (example2): Add #:boot-expression and #:inputs-to-copy arguments.
2013-08-31 23:02:18 +02:00
Ludovic Courtès 4c0f0673b2 gnu: `expression->derivation-in-linux-vm' accepts files as inputs.
* gnu/system/vm.scm (expression->derivation-in-linux-vm): Accept items
  in INPUTS that refer to a file instead of a package.
2013-08-31 23:02:18 +02:00
Ludovic Courtès ca85d7bcc6 gnu: `expression->derivation-in-linux-vm' export references graphs.
* gnu/system/vm.scm (expression->derivation-in-linux-vm): Add
  #:reference-graphs parameter.  Honor it.  Delete duplicates in
  #:modules argument.
2013-08-31 23:02:18 +02:00
Ludovic Courtès b48d21b246 gnu: linux-initrd: Make device nodes for QEMU's hard disk.
* gnu/packages/linux-initrd.scm (qemu-initrd): Make /dev/vda*.
2013-08-31 23:02:18 +02:00
Ludovic Courtès 89bf140b10 gnu: linux-initrd: Make Guile modules accessible in the chroot.
* gnu/packages/linux-initrd.scm (qemu-initrd): Add (guix build utils) to
  #:modules, and use it.  Copy .scm and .go files to /root.
* guix/build/linux-initrd.scm (bind-mount): New procedure.
2013-08-31 23:02:18 +02:00
Andreas Enge 1aebc0cb2c gnu: python: Adapt native-search-paths for Python 3.3.
* gnu/packages/python.scm (python): Modify native-search-paths.
2013-08-31 18:43:17 +02:00
Andreas Enge f26a77ffbc gnu: Add Python 3.
*  gnu/packages/python.scm (python-2): Rename from python for version 2.
*  gnu/packages/python.scm (python): New variable for version 3.
2013-08-31 14:52:24 +02:00
Andreas Enge 91dcbafab9 gnu: Add yasm.
* gnu/packages/yasm.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add module.
2013-08-31 14:12:24 +02:00
Andreas Enge 37f9ff639e gnu: Add xmlto.
* gnu/packages/xml.scm (xmlto): New variable.
2013-08-31 13:47:46 +02:00
Andreas Enge 24b5c463f3 gnu: Add dbus-glib.
* gnu/packages/glib.scm (dbus-glib): New variable.
2013-08-31 12:46:08 +02:00
Andreas Enge d9c4b6e944 gnu: pari-gp: Update to 2.5.4.
* gnu/packages/algebra.scm (pari-gp): Update to 2.5.4.
2013-08-31 12:20:55 +02:00
Andreas Enge 71e0f28856 gnu: gsl: Disable numerically unstable test on i686.
* gnu/packages/maths.scm (gsl): Disable test.
2013-08-31 12:18:53 +02:00
Andreas Enge c8c871d184 doc: Stylistic changes to "Packaging Guidelines" 2013-08-31 00:02:00 +02:00
Ludovic Courtès 1a2e649561 doc: Add note about .dir-locals.el.
* HACKING (Coding Style): Mention special indentation rules and
  .dir-locals.el.
2013-08-30 23:53:13 +02:00
Ludovic Courtès e1c5a8357a doc: Add a "Coding Style" section in 'HACKING'.
* HACKING (Coding Style): New section.
2013-08-30 23:47:23 +02:00
Ludovic Courtès 67b1dd8dea doc: Remove "Adding new packages" from `HACKING'.
* HACKING (Adding new packages): Remove since it's now in the manual.
2013-08-30 23:47:22 +02:00
Nikita Karetnikov a827c623ca doc: Remove an extra space after @ref. 2013-08-30 16:35:32 +00:00
Ludovic Courtès ffc1074f86 gnu: hop: Allow compilation with Bigloo 4.0b.
Fixes <http://bugs.gnu.org/15194>.
Reported by Mark H Weaver <mhw@netris.org>.

* gnu/packages/patches/hop-bigloo-4.0b.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/scheme.scm (hop): Use it.
2013-08-30 14:18:51 +02:00
Andreas Enge 46cb9da285 doc: Add duplicate copyright notice again.
* doc/guix.texi: Add second copyright notice again inside @ifinfo, needed
  since the first one does not appear in the info output.
  Partially undoes commit da7cabd.
2013-08-29 22:36:23 +02:00
Ludovic Courtès 29f66ddd7b doc: Fix the image size in PDF/PS/DVI output.
* doc/guix.texi (Bootstrapping): Specify an image width for the TeX
  output.  Before that, the image would be much wider than the US Letter
  page width.
2013-08-29 21:58:53 +02:00
Ludovic Courtès 54461ce7eb build: Have `pdf' depend on the PDF image.
* doc.am (DOT_OPTIONS): Remove `-Tpng'.
  (.dot.pdf): New rule.
  (pdf-local): Depend on the .pdf.
2013-08-29 21:58:53 +02:00
Ludovic Courtès cb9e50f618 build: Use missing' for dot'.
* configure.ac: Substitute `DOT'.
* doc.am (.dot.png, .dot.eps): Use $(DOT).
2013-08-29 21:58:53 +02:00
Ludovic Courtès a9424c0887 build: Build docs from the top-level Makefile.
This undoes commit 575ed8d ("doc: Create own Makefile.am in subdirectory."),
and fixes a bug whereby "make pdf" or "make ps" wouldn't do anything.

* doc/Makefile.am: Remove.
* doc.am: New file.  Use `-local' rules to build the image.
* Makefile.am: Include it.
* configure.ac: Use `-Woverride' to avoid undesired overridding of
  Automake rules.
2013-08-29 21:58:52 +02:00
Andreas Enge 88bd1804a2 gnu: gsl: Move from module algebra to maths.
* gnu/packages/algebra.scm (gsl): Move variable from here...
* gnu/packages/maths.scm (gsl): ...to here.
2013-08-29 15:42:52 +02:00
Ludovic Courtès 88840f0246 gnu: linux-initrd: Add (guix build linux-initrd) and use it.
* gnu/packages/linux-initrd.scm (qemu-initrd): Add #:modules argument.
  Factorize and move some of the code to...
* guix/build/linux-initrd.scm: ... here.  New file.
* Makefile.am (MODULES): Add it.
2013-08-29 00:05:03 +02:00
Ludovic Courtès e47185a4a7 gnu: make-bootstrap: Remove the `debug' output from the static Coreutils.
* gnu/packages/make-bootstrap.scm (%static-inputs)[coreutils]: Add
  `outputs' field.
2013-08-29 00:05:03 +02:00
Ludovic Courtès f989fa392f gnu: linux-initrd: Allow Guile modules to be embedded in the initrd.
* gnu/packages/linux-initrd.scm (raw-build-system): New macro.
  (module-package, compiled-module-package): New procedures.
  (expression->initrd): Add `modules' keyword parameter.
  Add "modules" and "modules/compiled" inputs; copy them onto the
  initrd.
* guix/derivations.scm (imported-modules, compiled-modules): Publicize.
2013-08-29 00:05:03 +02:00
Andreas Enge f02b5474f1 gnu: imagemagick: Update to 6.8.6-9.
* gnu/packages/imagemagick.scm (imagemagick): Update to 6.8.6-9.
2013-08-28 23:33:24 +02:00
Andreas Enge ee85f3dbe9 doc: Add package guidelines for names and numbers.
* doc/guix.texi: Three new subsections.
2013-08-28 22:51:20 +02:00
Andreas Enge da7cabd46b doc: Shuffle some text around.
* doc/guix.texi: Drop duplicate copyright notice, start section
    "Packaging Guidelines" with existant text.
2013-08-28 22:04:52 +02:00
Andreas Enge 575ed8d5b3 doc: Create own Makefile.am in subdirectory.
* doc/Makefile.am: New file.
* Makefile.am: Reference subdirectory doc.
2013-08-28 21:44:14 +02:00
Alex Sassmannshausen 3d1b29a5c5 list-packages: Tidy CSS in preparation for split into external file.
* build-aux/list-packages.scm (insert-css): Tidy CSS alignment etc.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2013-08-28 14:18:29 +02:00
Ludovic Courtès 2455085a1e vm: Use more keyword parameters for `expression->derivation-in-linux-vm'.
* gnu/system/vm.scm (expression->derivation-in-linux-vm): Turn `system'
  and `inputs' into keyword parameters.
  (qemu-image, example1): Adjust accordingly.
2013-08-28 00:55:40 +02:00
Ludovic Courtès 858e92823f derivations: Rename #:dependency-graphs to #:references-graphs.
* guix/derivations.scm (derivation, build-expression->derivation):
  Rename #:dependency-graphs to #:references-graphs, for consistency in
  the terminology.
* tests/derivations.scm: Adjust accordingly.
2013-08-28 00:55:40 +02:00
Andreas Enge af807dea7f gnu: Update python to 2.7.5.
* gnu/packages/python.scm (python): Update to 2.7.5.
2013-08-27 10:49:43 +02:00
Ludovic Courtès 2d2ad98910 doc: Change `HACKING' to refer to guix-devel@gnu.org.
Reported by Alex Sassmannshausen <alex.sassmannshausen@gmail.com>.

* HACKING: Replace "bug-guix" by "guix-devel".
2013-08-26 22:23:53 +02:00
Ludovic Courtès 9c629a27a4 derivations: Add #:dependency-graphs to `build-expression->derivation'.
* guix/derivations.scm (build-expression->derivation): Add
  #:dependency-graphs keyword argument.  Pass it to `derivation'.
* tests/derivations.scm ("build-expression->derivation with
  #:dependency-graphs"): New test.
* doc/guix.texi (Derivations): Update `build-expression->derivation'
  description.
2013-08-26 22:20:58 +02:00
Ludovic Courtès 5b0c9d1635 derivations: Add #:dependency-graphs `derivation' parameter.
* guix/derivations.scm (derivation): Add `dependency-graphs' keyword
  parameter; honor it.
* tests/derivations.scm (bootstrap-binary): New procedure.
  (%bash): Use it.
  (%mkdir): New variable.
  (directory-contents): Add `slurp' optional parameter.
  ("derivation with #:dependency-graphs"): New test.
* doc/guix.texi (Derivations): Update accordingly.
2013-08-26 22:20:53 +02:00
Ludovic Courtès a987d2c025 derivations: Move 3 positional parameters into keyword parameters.
* guix/derivations.scm (derivation): Turn `system', `env-vars', and
  `inputs' into keyword parameters.
  (build-expression->derivation): Adjust accordingly.
* gnu/packages/bootstrap.scm (%bootstrap-guile): Likewise.
* tests/derivations.scm, tests/store.scm: Likewise.
* doc/guix.texi (Derivations): Likewise.
2013-08-26 22:20:27 +02:00
Ludovic Courtès 3e9066fcfc gnu: Add Guile-Lib.
* gnu/packages/guile.scm (guile-lib): New variable.
2013-08-26 16:04:15 +02:00
Ludovic Courtès 5d9cd70721 download: Add kernel.org mirrors.
Fixes <http://bugs.gnu.org/15182>.
Reported by Mark H Weaver <mhw@netris.org>.

* guix/download.scm (%mirrors)[kernel.org]: Add ftp.be.debian.org and
  mirror.linux.org.au.
2013-08-25 20:49:03 +02:00
Ludovic Courtès ef4eca529b hydra: Comment out all Git invocations in `bootstrap'.
* build-aux/hydra/guix.scm (tarball-package): Comment out all `git'
  invocations.
2013-08-25 20:37:59 +02:00
Ludovic Courtès d29aa3b5a3 hydra: Add missing import.
* build-aux/hydra/guix.scm: Use (srfi srfi-26).
2013-08-25 18:58:15 +02:00
Ludovic Courtès ef0677faa1 hydra: Add missing import.
* build-aux/hydra/guix.scm: Use (srfi srfi-26).
2013-08-25 17:53:49 +02:00
Ludovic Courtès 6ad507ae54 hydra: Return a symbol/thunk pair.
* build-aux/hydra/guix.scm (hydra-jobs): Return a symbol/thunk pair.
2013-08-25 16:48:10 +02:00
Ludovic Courtès 9eed6f9b88 gnu: pius: Use the right `gpg' binary.
* gnu/packages/gnupg.scm (pius): Add GnuPG as an input.  Patch the
  installed binaries to refer to the right GnuPG executable.  Fix
  synopsis.
2013-08-25 16:47:20 +02:00
Ludovic Courtès f29f066439 hydra: Extract the actual file name from the Guix checkout.
* build-aux/hydra/guix.scm (hydra-jobs): Extract the `file-name' part of
  CHECKOUT.
2013-08-24 18:24:17 +02:00
Ludovic Courtès 59e6ae6cf1 hydra: Add job to run "make distcheck" on Guix.
* build-aux/hydra/guix.scm: New file.
* Makefile.am (EXTRA_DIST): Add it.
2013-08-24 17:30:32 +02:00
Ludovic Courtès bbe8d8f028 gnu: Add Guix.
* gnu/packages/package-management.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
2013-08-24 17:30:31 +02:00
Ludovic Courtès fe12c3458c build-system/gnu: Add `dist-package'.
* guix/build/gnu-dist.scm: New file.
* Makefile.am (MODULES): Add it.
* guix/build-system/gnu.scm (%default-modules): New variable.
  (gnu-build): Use it.
  (dist-package): New procedure.
2013-08-24 17:30:31 +02:00
Ludovic Courtès 7357138bba packages: Allow file names as package sources.
* guix/packages.scm (package-source-derivation): Add cases for SOURCE as
  a store path or user file.
* tests/packages.scm ("package-source-derivation, file",
  "package-source-derivation, store path"): New tests.
2013-08-24 17:30:31 +02:00
Ludovic Courtès b095792f9b doc: Mention what's in the chroot, and add a caveat about /dev/shm.
* doc/guix.texi (Setting Up the Daemon): Document the default content of
  the chroot, and the /dev/shm caveat.
2013-08-24 17:30:31 +02:00
Andreas Enge c9dfa3c721 gnu: Add pspp.
* gnu/packages/maths.scm (pspp): New variable.
* THANKS: Thank John Darrington for help with debugging.
2013-08-24 15:11:02 +02:00
Andreas Enge 88065ec247 gnu: Add libmicrohttpd.
* gnu/packages/gnunet.scm (libmicrohttpd): New variable.
2013-08-24 11:40:57 +02:00
Andreas Enge 8f8b24512a gnu: Add units.
* gnu/packages/maths.scm: New module.
* gnu-system.am (GNU_SYSTEM_MODULES): Add module.
2013-08-24 10:51:56 +02:00
Andreas Enge eb4b2ab6a8 gnu: Add libextractor.
* gnu/packages/gnunet.scm: New module.
* gnu-system.am (GNU_SYSTEM_MODULES): Add module.
* THANKS: Thank Christian Grothoff for help with debugging.
2013-08-24 10:41:07 +02:00
Andreas Enge 212525967e gnu: Add gkrellm.
* gnu/packages/gkrellm.scm: New module.
* gnu/packages/gnu-system.am (GNU_SYSTEM_MODULES): Add module.
2013-08-24 10:25:18 +02:00
Ludovic Courtès e78a0ae514 gnu: Add Valgrind.
* gnu/packages/valgrind.scm, gnu/packages/patches/valgrind-glibc.patch:
  New files.
* gnu-system.am (GNU_SYSTEM_MODULES): Add valgrind.scm.
  (dist_patch_DATA): Add valgrind-glibc.patch.
2013-08-24 10:21:14 +02:00
Ludovic Courtès 39b0484582 gnu: Add GNU lightning.
* gnu/packages/lightning.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
2013-08-24 10:04:43 +02:00
Ludovic Courtès 853726dd36 gnu: tzdata: Fix hash of tzcode tarball.
Fixes <http://bugs.gnu.org/15153>.

* gnu/packages/base.scm (tzdata): Update tzcode hash, which was modified
  upstream.
2013-08-23 16:02:28 +02:00
Ludovic Courtès 7db3ff4a29 utils: Add `guile-version>?', and use it.
This fixes Guile version comparisons when (version) has a
vendor-specific suffix.

Reported by Andreas Enge <andreas@enge.fr>.

* guix/utils.scm (guile-version>?): New procedure.
* tests/utils.scm ("guile-version>? 1.8", "guile-version>? 10.5"): New
  tests.
* guix/scripts/substitute-binary.scm (fetch, progress-report-port): Use
  `guile-version>?' instead of `version>?'.
* guix/http-client.scm (when-guile<=2.0.5, http-fetch): Likewise.
2013-08-23 15:51:36 +02:00
Ludovic Courtès baed8816fc gnu: Have `qemu-image' explicitly reboot when done.
* gnu/system/vm.scm (qemu-image): Call `reboot' when we're done.  Change
  `menuentry' title.
2013-08-23 15:11:35 +02:00
Ludovic Courtès 290d437097 Add TODO item. 2013-08-23 11:37:10 +02:00
Ludovic Courtès b6952cad8d substitute-binary: Try hard to avoid port buffering.
* guix/scripts/substitute-binary.scm (fetch): In the `file' case, open
  with the `b' flag, so that the coding cookie reading thing doesn't
  lead to buffering some of the data (on 2.0.5).
* tests/utils.scm ("filtered-port, file"): Open with `r0b'.  Fixes a
  test failure with Guile 2.0.5 whereby the first byte of FILE would be
  missing from DECOMPRESSED.
2013-08-22 17:14:20 +02:00
Ludovic Courtès 3f69e393d3 gnu: guile-ncurses: Install modules under .../site/2.0.
* gnu/packages/guile.scm (guile-ncurses): Append /2.0 to `guilesitedir'.
2013-08-21 19:06:55 +02:00
Andreas Enge 911b1b9cb6 gnu: indent: Cosmetic change.
* gnu/packages/indent.scm (indent): Use #:renamer on licenses to be better
    suited as an example for packaging.
2013-08-21 12:05:18 +02:00
Ludovic Courtès 75ca2f4f47 gnu: make-bootstrap: Add a couple of synopses.
* gnu/packages/make-bootstrap.scm (%guile-static,
  %guile-static-stripped): Add synopsis.
2013-08-21 11:44:16 +02:00
Ludovic Courtès 3e8f16ba91 gnu: guile-static-stripped: Make sure the resulting binary works.
* gnu/packages/make-bootstrap.scm (%guile-static-stripped): When
  compiling natively, make sure the final binary works.
2013-08-21 11:38:51 +02:00
Ludovic Courtès 682cb00461 gnu: guile-static: Add missing hunk in guile-default-utf8.patch.
Before that, the ‘guile’ binary from ‘guile-static-stripped’ would abort
as it tries and fails to open an iconv descriptor for ISO-8859-1.

* gnu/packages/patches/guile-default-utf8.patch: Add missing hunk for
  Guile 2.0.9.
2013-08-21 11:33:27 +02:00
Ludovic Courtès db90b40dfd substitute-binary: Don't pretend to report download progress on Guile 2.0.5.
* guix/scripts/substitute-binary.scm (progress-report-port): On Guile
  2.0.5, return PORT directly and emit a warning.
2013-08-21 02:19:36 +02:00
Ludovic Courtès 6facbc7590 gnu: grub: Use older QEMU to run the test suite.
Fixes build failure <http://hydra.gnu.org/build/16064>.

* gnu/packages/grub.scm (qemu-for-tests): New variable.
  (grub): Use it.
2013-08-21 02:19:36 +02:00
Ludovic Courtès bbc08c7940 gnu: qemu: Install the Info manuals.
* gnu/packages/qemu.scm (qemu): Add `install-info' phase.  Add Texinfo
  as an input.
2013-08-21 02:19:36 +02:00
Andreas Enge 86f1537d3f gnu: Move non-X11 fonts from module xorg to fonts.
* gnu/packages/fonts.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add module fonts.
* gnu/packages/xorg.scm (font-bitstream-vera-ttf): Move this...
* gnu/packages/fonts.scm (ttf-bitstream-vera): ...to this.
* gnu/packages/xorg.scm (freefont-ttf): Move this...
* gnu/packages/fonts.scm (freefont-ttf): ...to this.
2013-08-20 15:03:10 +02:00
Andreas Enge 124b7f1e0f gnu: xorg: Shorten commented out packages.
* gnu/packages/xorg.scm: Shorten package definitions that are already
    commented out, keeping only the reason for not including them.
2013-08-20 14:35:38 +02:00
Andreas Enge 45f0ae8229 gnu: xorg: Remove non-free font font-bh-ttf/font-luxi-ttf.
* gnu/packages/xorg.scm (font-luxi-ttf): Comment out variable.
2013-08-20 14:27:43 +02:00
Ludovic Courtès 5aa601a37b gnu: glib: Add `file' as a propagated input.
* gnu/packages/glib.scm (intltool): Add FILE as an input.
2013-08-20 00:57:25 +02:00
Ludovic Courtès 7dca30734e gnu: Add exiv2 and Geeqie.
* gnu/packages/geeqie.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
2013-08-20 00:57:25 +02:00
Ludovic Courtès e858326a0f gnu: bigloo: Update to 4.0b.
* gnu/packages/scheme.scm (bigloo): Update to 4.0b.  Patch the
  `configure-gc' scripts.  Remove `patch-absolute-file-names' phase.
* gnu/packages/patches/bigloo-gc-shebangs.patch: Adjust to new version.
2013-08-20 00:57:24 +02:00
Cyril Roelandt ba95e7028f list-packages: properly specify the size of images.
* build-aux/list-packages.scm (package->sxml, packages->sxml): specify the size
  of images in pixels (see
  http://www.w3.org/TR/html5/embedded-content-0.html#attr-dim-height)
2013-08-19 01:29:56 +02:00
Ludovic Courtès f99f6fd6fa gnu: Add GNU Ocrad.
* gnu/packages/ocrad.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
2013-08-19 00:52:49 +02:00
Ludovic Courtès 482f8a07e3 gnu: freefont: Synchronize synopsis.
* gnu/packages/xorg.scm (freefont-ttf): Synchronize synopsis with the
  Womb.
2013-08-19 00:52:20 +02:00
Alex Sassmannshausen b866e4b379 list-packages: Add missing closing </div> after footer include.
* build-aux/list-packages.scm (list-packages): Add missing closing </div>
  after footer include.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2013-08-19 00:28:17 +02:00
Cyril Roelandt 251fbfddb7 list-packages: Remove a useless "colspan" attribute.
* build-aux/list-packages.scm (package->sxml): remove a useless "colspan"
  attribute.
2013-08-17 23:08:31 +02:00
Cyril Roelandt 0e5b0f78f6 list-packages: Add an "alt" attribute for the logos.
* build-aux/list-packages.scm (package->sxml): add an alternative text for the
  logos of the packages.
2013-08-17 20:05:48 +02:00
Ludovic Courtès 9a9e72d5ad gnu: Add Shadow.
* gnu/packages/system.scm (shadow): New variable.
2013-08-17 15:46:46 +02:00
Ludovic Courtès c134056a9b gnu: linux-pam: Install headers under $includedir/security.
* gnu/packages/linux.scm (linux-pam): Add `--includedir' configure flag.
2013-08-17 15:44:43 +02:00
Ludovic Courtès 10d3ab1073 gnu: Add GNU Freefont.
* gnu/packages/xorg.scm (freefont-ttf): New variable.
2013-08-17 00:07:40 +02:00
Ludovic Courtès 50731c51a4 gnu: Remove QEMU-KVM, which is no longer needed.
* gnu/packages/qemu.scm (qemu-kvm): Remove.
  (qemu): Incorporate parts of QEMU-KVM that used to be inherited.
  (qemu-kvm/smb-shares): Rename to...
  (qemu/smb-shares): ... this.
* gnu/system/vm.scm (expression->derivation-in-linux-vm): Adjust
  accordingly.
2013-08-16 23:55:51 +02:00
Ludovic Courtès e928da09c9 gnu: Add Bitstream Vera.
* gnu/packages/xorg.scm (font-bitstream-vera-ttf): New variable.
2013-08-15 23:51:52 +02:00
Ludovic Courtès 3b4f21bd1b gnu: Correct name and description of the Luxi font package.
* gnu/packages/xorg.scm (font-bitstream-type1): Rename to...
  (font-luxi-ttf): ... this.  Change name to "font-luxi-ttf".  Adjust
  synopsis and description.
2013-08-15 23:51:52 +02:00
Cyril Roelandt e12b3eb93e Make "guix -h" work as "guix --help".
* guix/ui.scm (guix-main): have the same behaviour for the "-h" and "--help"
  options.
2013-08-15 21:03:32 +02:00
Cyril Roelandt 1b50671ee1 list-packages: remove useless "language" attribute of "script" element
See http://www.w3.org/TR/html5-diff/#changed-attributes for more information.

* build-aux/list-packages.html (insert-js): remove "language" attribute, useless for the
  "script" element.
2013-08-15 19:30:21 +02:00
Cyril Roelandt 2ad6bfaba8 list-packages: remove deprecated "height" attribute on "td" element.
See http://www.w3.org/TR/html5-diff/#obsolete-attributes for more information.

* build-aux/list-packages.html(package-sxml)[description-id]: remove "height"
  attribute for "td" elements.
2013-08-15 17:19:34 +02:00
Alex Sassmannshausen 0938cd2731 list-packages: Tidying and refactoring in preparation for substantive changes.
* build-aux/list-packages.scm (package->sxml)[license, status]: Add
  title for <a> element.
  Add alt and title for gnu-logo <img> element.  Add title to package
  website <a> element.
  (packages->sxml): Wrap <div id="intro"> intro paragraph in <p> element.
  Add table header row to <table id="packages">
  Add <a> back to top of the page beneath table.
  (insert-css, insert-js): New procedures.
  (list-packages): Move JavaScript to 'insert-js', and CSS to 'insert-css'.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2013-08-15 16:42:29 +02:00
Alex Sassmannshausen 8bdf5241dc list-packages: Centralise CSS styling in <head>.
* build-aux/list-packages.scm (package-logo): Assign class of
  'package-description' to package synopsis div; 'package-logo'.  Move inline
  CSS where possible.
  (packages->sxml): Assign id of 'intro' to intro div, 'packages' to the
  table. Move inline CSS.
  (list-packages): Create new <style> section, containing all inline CSS.
  Move JavaScript <script> section to above banner include to place it in
  <head>.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2013-08-15 16:32:58 +02:00
Ludovic Courtès 1af63b797c Update `eo.po'. 2013-08-15 11:46:42 +02:00
Andreas Enge 25352fe106 gnu: Add ripperX.
* gnu/packages/mp3.scm (ripperx): New variable.
* gnu/packages/patches/ripperx-libm.patch: New file.
* gnu-system.am (dist_patch_DATA): Add patch.
2013-08-07 19:13:46 +02:00
Andreas Enge 6bfc16d93c gnu: Add cdparanoia.
* gnu/packages/cdrom.scm (cdparanoia): New variable.
* gnu/packages/patches/cdparanoia-fpic.patch: New file.
* gnu-system.am: Add patch.
2013-08-07 19:02:56 +02:00
Andreas Enge 2ae92cbcc1 gnu: Add lame.
* gnu/packages/mp3.scm (lame): New variable.
2013-08-07 18:07:21 +02:00
Andreas Enge fd89b36b5b gnu: texlive: Update to 2013.
* gnu/packages/texlive.scm (texlive): Update to 2013.
2013-08-07 15:57:14 +02:00
Andreas Enge 755693a42d gnu: xorg: Install fonts into package output instead of into font-util.
* gnu/packages/xorg.scm (font-adobe100dpi, font-adobe75dpi, font-misc-misc,
    font-schumacher-misc): Add configure flag to modify FONTROOTDIR.
2013-08-06 20:53:12 +02:00
Andreas Enge 9c2ecede41 gnu: fontconfig: Update to 2.10.93.
* gnu/packages/fontutils.scm (fontconfig): Update to 2.10.93.
2013-08-05 23:15:25 +02:00
Andreas Enge 2e77dc3027 gnu: harfbuzz: Update to 0.9.19.
* gnu/packages/gtk.scm (harfbuzz): Update to 0.9.19.
2013-08-05 23:08:50 +02:00
Andreas Enge 9c68798d98 gnu: mpfrcx: Update to 0.4.2.
* gnu/packages/algebra.scm (mpfrcx): Update to 0.4.2.
2013-08-05 22:14:44 +02:00
Andreas Enge 5a15ed5098 gnu: fplll: Update to 4.0.4.
* gnu/packages/algebra.scm (fplll): Update to 4.0.4.
2013-08-05 22:11:27 +02:00
Andreas Enge 7abe196529 gnu: emacs: Use gtk+.
* gnu/packages/emacs.scm (emacs): Enable input gtk+ instead of libXaw.
2013-08-05 21:59:56 +02:00
Andreas Enge 0ceea4f3ed gnu: fontconfig: Look for fonts in user profile.
* gnu/packages/fontutils.scm (fontconfig): Add configure flag.
2013-08-05 21:59:49 +02:00
Andreas Enge 0327ced235 gnu: gtk+: Synchronise description with GSRC.
* gnu/packages/gtk.scm (gtk+): Modify description.
2013-08-05 19:55:01 +02:00
Andreas Enge 2b24faa295 gnu: Rename "libapr" to "apr" and "libaprutil" to "apr-util".
* gnu/packages/apr.scm: Rename file from libapr.scm.
* gnu/packages/patches/apr-skip-getservbyname-test.patch: Rename file
    from libapr-skip-getservbyname-test.patch.
* gnu-system.am (GNU_SYSTEM_MODULES): Rename module libapr to apr.
* gnu-system.am (dist_patch_DATA): Rename patch file.
* gnu/packages/apr.scm (apr): Rename from libapr.
* gnu/packages/apr.scm (apr-util): Rename from libaprutil, change
    input name.
* gnu/packages/version-control.scm (subversion): Change input name.
2013-08-05 15:12:50 +02:00
Ludovic Courtès 75c6fd43ed gnu: Add Xnee.
* gnu/packages/xnee.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
2013-07-20 00:50:35 +02:00
Ludovic Courtès 7c80a8b618 gnu: ddrescue: Update to 1.17.
* gnu/packages/ddrescue.scm (ddrescue): Update to 1.17.  Add lzip as a
  native input.
2013-07-20 00:32:16 +02:00
Ludovic Courtès 0f323dad0e gnu: Add lzip.
* gnu/packages/compression.scm (lzip): New variable.
2013-07-20 00:24:17 +02:00
Ludovic Courtès 3dfd7cef0d Update `TODO'. 2013-07-19 23:22:59 +02:00
Ludovic Courtès 044498a0b9 build: Bump version to 0.4.
* configure.ac: Switch to 0.4.
2013-07-19 00:08:24 +02:00
Ludovic Courtès 8b2d9e5d44 doc: Improve build instructions in README and HACKING.
* README (Requirements): Remove Nixpkgs.  Remove mentions of building
  from Git.
  (Installation): Refer to the manual.
* HACKING: List requirements for when building from Git.
  Remove the `dot: Command not found' error.
2013-07-19 00:07:03 +02:00
Ludovic Courtès 3253830d46 Update NEWS. 2013-07-17 15:33:48 +02:00
Ludovic Courtès 6023cc7429 gnu: linux-libre: Add alternate URLs.
Fixes <http://bugs.gnu.org/14851>.
Reported by Andreas Enge <andreas@enge.fr>.

* gnu/packages/linux.scm (linux-libre-urls): New procedure.
  (linux-libre-headers, linux-libre): Use it.
2013-07-17 15:32:52 +02:00
Ludovic Courtès 1855577207 gnu: tzdata: Update hash.
Fixes <http://bugs.gnu.org/14890>.
Reported by Andreas Enge <andreas@enge.fr>.

* gnu/packages/base.scm (tzdata): Update hash.
2013-07-17 14:22:05 +02:00
Ludovic Courtès b81e194706 doc: Add "Adding New Packages".
* doc/guix.texi (Adding New Packages): New section.
  (Packaging Guidelines): Make a subsection thereof.
  (From the Source Tarball to the Package): New subsection.
  (Contributing): Link to "Adding New Packages".
  (Package Modules): Link to modules in Guile's manual.
2013-07-17 11:59:48 +02:00
Ludovic Courtès c71493c8b9 build: Check the availability of i686-linux binaries.
* build-aux/check-available-binaries.scm (%supported-systems): New
  variable.
  (native): Map over these.
2013-07-17 11:07:28 +02:00
Ludovic Courtès 1959fb04dc build: Provide a replacement (srfi srfi-37) when the user's one is broken.
* srfi/srfi-37.scm.in: New file, taken from Guile 2.0.9.
* m4/guix.m4: New macro.
* configure.ac: Use it.  Define Automake conditional `INSTALL_SRFI_37'.
* Makefile.am (nobase_nodist_guilemodule_DATA)[INSTALL_SRFI_37]: Add
  srfi/srfi-37.scm.
  (GOBJECTS)[INSTALL_SRFI_37]: Add srfi/srfi-37.go.
  (srfi/srfi-37.scm)[INSTALL_SRFI_37]: New target.
  (EXTRA_DIST): Add srfi/srfi-37.scm.in.
2013-07-17 11:05:19 +02:00
Ludovic Courtès 4a328f7342 doc: Mark 2.0.5 as being the minimum Guile version.
* doc/guix.texi (Requirements): Require Guile 2.0.5+.
* README: Ditto.
2013-07-17 11:01:42 +02:00
Ludovic Courtès 88ebd5e699 Update .po files. 2013-07-17 11:00:28 +02:00
Ludovic Courtès 5939006b9b Update NEWS. 2013-07-16 23:46:01 +02:00
Ludovic Courtès 63f6004b95 doc: Refer to guix-devel@gnu.org.
* doc/guix.texi (Contributing): Refer to guix-devel@gnu.org.
2013-07-16 23:13:04 +02:00
Ludovic Courtès e23dc82c29 gnu: subversion: Fetch over plain HTTP.
* gnu/packages/version-control.scm (subversion): Use the http:// URL
  to work around <http://bugs.gnu.org/14884>.  Reported by Mark Weaver
  and Andreas Enge.
2013-07-16 23:12:38 +02:00
Ludovic Courtès 73d9f3c5b6 list-packages: Add links to hydra.gnu.org.
* build-aux/list-packages.scm (package->sxml)[status]: New procedure.
  Use it at the end of each description.
  (packages->sxml): Add link to hydra.gnu.org.
2013-07-16 22:28:06 +02:00
Ludovic Courtès c5a1902ae4 gnu: libphidget: Add "debug" output.
* gnu/packages/libphidget.scm (libphidget): Add `outputs' field.
2013-07-16 22:15:23 +02:00
Ludovic Courtès 4ec09bb410 hydra: Fix typo.
* build-aux/hydra/gnu-system.scm (hydra-jobs): Use `cons', not `append'.
2013-07-16 15:27:15 +02:00
Ludovic Courtès 77bed84246 hydra: Build for all the specified systems.
* build-aux/hydra/gnu-system.scm (hydra-jobs): Pick all the `system'
  keys in ARGUMENTS.
  [cross-jobs]: Turn into a procedure, with a `system' parameter.
  Build packages for all of SYSTEMS and %CROSS-TARGETS.
2013-07-16 13:42:34 +02:00
Ludovic Courtès 195e81aa52 hydra: Distinguish between jobs for different system types.
* build-aux/hydra/gnu-system.scm (package-job, package-cross-job):
  Append `.SYSTEM' to the job name.
2013-07-16 09:59:25 +02:00
Ludovic Courtès 4b7f3407e9 hydra: Honor the `system' argument.
* build-aux/hydra/gnu-system.scm (hydra-jobs): Really look up the
  `system' symbol in ARGUMENTS.
2013-07-16 09:47:48 +02:00
Andreas Enge d409c8ab88 gnu: libapr, libaprutil: Upgrade.
* gnu/packages/libapr.scm (libapr): Upgrade to 1.4.8.
* gnu/packages/libapr.scm (libaprutil): Upgrade to 1.5.2.
2013-07-16 07:50:34 +02:00
Ludovic Courtès 079d127391 guix package: Allow separate install of several outputs of the same package.
* guix/scripts/package.scm (guix-package)[process-actions](same-package?):
  New procedure.  Use it instead of `alist-delete' when filtering out
  duplicate packages from the profile.
2013-07-15 23:51:28 +02:00
Ludovic Courtès 56fbf2629f build: Check for the availability of binaries upon "distcheck".
* build-aux/check-available-binaries.scm: New file.
* Makefile.am (EXTRA_DIST): Add it.
  (distcheck-hook, assert-binaries-available): New target.
2013-07-15 23:51:28 +02:00
Ludovic Courtès 50af57901a Thank the translators. 2013-07-15 23:51:27 +02:00
Ludovic Courtès a0daf4a04e Add `pt_BR' translation. 2013-07-15 23:51:27 +02:00
Andreas Enge 4169a4bcb5 gnu: pango, gtk+: Propagate inputs.
* gnu/packages/gtk.scm (pango): Propagate input cairo.
* gnu/packages/gtk.scm (gtk+): Propagate inputs atk, gdk-pixbuf and pango;
    drop input cairo, propagated through pango.
2013-07-15 23:15:45 +02:00
Andreas Enge cf2135ff48 Add gtk+.
* gnu/packages/gtk.scm (pango): Propagate input harfbuzz.
* gnu/packages/gtk.scm (gtk+): New variable.
2013-07-15 22:41:19 +02:00
Ludovic Courtès ffd2093440 gnu: make-bootstrap: Skip tests for the statically-linked gawk.
* gnu/packages/make-bootstrap.scm (%static-inputs)[gawk]: Add #:tests? #f.
2013-07-14 16:58:43 +02:00
Ludovic Courtès 614bdaffbf Update `eo.po'. 2013-07-14 16:44:15 +02:00
Ludovic Courtès 3b8258c569 Rename (guix web) to (guix http-client).
* guix/web.scm: Rename to...
* guix/http-client.scm: ... this.
* guix/gnu-maintenance.scm, guix/scripts/substitute-binary.scm,
  Makefile.am, po/POTFILES.in: Update accordingly.
2013-07-14 16:44:15 +02:00
Nikita Karetnikov 84dbbc7651 doc: Add "Building from Git" to 'HACKING'. 2013-07-13 21:35:14 +00:00
Ludovic Courtès 2096b516e0 guix package: Fix handling of `-e'.
This fixes a bug whereby a command like

  guix package -e '(@@ (gnu packages base) gnu-make-boot0)'

would only succeed when the outputs of that package are available, and
otherwise fail with "/nix/store/... is not valid".

* guix/scripts/package.scm (guix-package)[process-action](package->tuple):
  Leave P as is in the result.  Move `package->tuple' call from INSTALL*
  to INSTALL.
2013-07-12 23:27:35 +02:00
Ludovic Courtès e14c39291b ui: Ignore SIGPIPE and catch `system-error' exceptions.
* guix/ui.scm (initialize-guix): Call `sigaction'.
  (call-with-error-handling): Wrap `thunk' in a (catch 'system-error ...).
2013-07-12 23:01:18 +02:00
Ludovic Courtès e3ccdf9e96 guix package: Reuse FTP connections for subsequent `latest-release' calls.
* guix/gnu-maintenance.scm (latest-release): Add `ftp-close' and
  `ftp-open' keyword parameters.
* guix/scripts/package.scm (ftp-open*): New variable.
  (check-package-freshness): Call `latest-release' with `ftp-open*' and
  a no-op procedure.
2013-07-12 22:59:33 +02:00
Ludovic Courtès 1f495e04c1 gnu-maintenance: `latest-release' closes its connection.
* guix/gnu-maintenance.scm (latest-release): Close CONN before
  returning.
2013-07-12 22:26:24 +02:00
Ludovic Courtès 8e5e7299d1 gnu: plotutils: Allow compilation with newer libpng.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/patches/plotutils-libpng-jmpbuf.patch: New file.
* gnu/packages/plotutils.scm (plotutils): Add
  `plotutils-libpng-jmpbuf.patch' as an input, and apply it.
2013-07-12 22:25:30 +02:00
Ludovic Courtès f50ad3e777 gnu: freeipmi: Upgrade to 1.2.8.
* gnu/packages/freeipmi.scm (freeipmi): Upgrade to 1.2.8.
2013-07-12 01:05:27 +02:00
Ludovic Courtès d4781e8c23 gnu: libidn: Upgrade to 1.28.
* gnu/packages/libidn.scm (libidn): Upgrade to 1.28.
2013-07-12 01:05:06 +02:00
Ludovic Courtès e0bb2e6be1 gnu: gnupg: Upgrade support libraries.
* gnu/packages/gnupg.scm (libgpg-error): Upgrade to 1.12.
  (libassuan): Upgrade to 2.1.1.
2013-07-12 01:04:32 +02:00
Ludovic Courtès ce689ccf18 substitute-binary: Directly replace the global `regexp-exec'.
* guix/scripts/substitute-binary.scm (%regexp-exec-mutex, string->uri):
  Remove.
  (regexp-exec): Replace this global binding by a thread-safety wrapper.
  (fields->alist): Remove `with-mutex', and directly alias `recutils->alist'.
2013-07-11 22:42:41 +02:00
Ludovic Courtès 6a012c5f51 gnu: help2man: Upgrade to 1.43.3.
* gnu/packages/help2man.scm (help2man): Upgrade to 1.43.3.
2013-07-11 22:30:46 +02:00
Ludovic Courtès d934fd65af gnu: xorriso: Upgrade to 1.3.0.
* gnu/packages/cdrom.scm (xorriso): Upgrade to 1.3.0.
2013-07-11 22:30:13 +02:00
Ludovic Courtès 8b79e2e641 substitute-binary: Increase the default timeout.
* guix/scripts/substitute-binary.scm (%fetch-timeout): Set to 5 seconds.
2013-07-11 22:22:22 +02:00
Ludovic Courtès 35935b8a1d gnu: automake: Upgrade to 1.14.
* gnu/packages/autotools.scm (automake): Upgrade to 1.14.
2013-07-11 22:21:47 +02:00
Ludovic Courtès 560d4787f4 guix refresh: Keep only the newest versions of packages as upgrade candidates.
* guix/scripts/refresh.scm (guix-refresh)[keep-newest]: New procedure.
  Use it to keep only once copy of each package.
2013-07-11 19:56:30 +02:00
Ludovic Courtès d04434c067 list-packages: Show the package logo, when available.
* build-aux/list-packages.scm (lookup-gnu-package): New procedure.
  (package->sxml): Add the package logo, when available, next to the
  description.
2013-07-10 23:16:07 +02:00
Ludovic Courtès 6a3380dfbf Update eo.po. 2013-07-10 22:34:05 +02:00
Ludovic Courtès c4ca9411f9 gnu-maintenance: Add `doc-description' field to <gnu-package-descriptor>.
* guix/gnu-maintenance.scm (%gsrc-package-list-url): New variable.
  (<gnu-package-descriptor>): Add `doc-description' field.
  (official-gnu-packages)[group-package-fields]: Rename to...
  [read-records]: ... this.  Reverse the result.
  [gsrc-description]: New procedure.
  Add the "description" field to the alist passed to `alist->record'.
2013-07-10 22:34:03 +02:00
Ludovic Courtès 836d10f154 records: recutils->alist' recognizes lines starting with a +'.
* guix/records.scm (%recutils-plus-rx): New variable.
  (recutils->alist): Use it to read + lines.
* tests/records.scm ("recutils->alist with + lines"): New test.
2013-07-10 21:53:29 +02:00
Ludovic Courtès b0efe83a8f gnu-maintenance: Use `recutils->alist'.
* guix/gnu-maintenance.scm (official-gnu-packages)[group-package-fields]:
  Rewrite in terms of `recutils->alist'.  Remove `state' parameter.
  Specify "doc-url" and "language" as multiple-value keys in the
  `alist->record' call.
2013-07-10 21:52:55 +02:00
Ludovic Courtès c8772a7a21 records: `alist->record' supports multiple-field occurrences.
* guix/records.scm (alist->record): Add `multiple-value-keys'
  parameter.  Update docstring, and honor it.
* tests/records.scm ("alist->record"): New record.
2013-07-10 21:52:51 +02:00
Ludovic Courtès b7b8828801 records: `recutils->alist' recognizes comments.
* guix/records.scm (%recutils-comment-rx): New variable.
  (recutils->alist): Match comments.
* tests/records.scm ("recutils->alist"): Add comments.
2013-07-10 18:01:12 +02:00
Ludovic Courtès fdc1bf659d records: Add `recutils->alist' for public consumption.
* guix/records.scm (%recutils-field-rx): New variable.
  (recutils->alist): New procedure, formerly known as `fields->alist'.
* guix/scripts/substitute-binary.scm (fields->alist): Use it.
* tests/records.scm ("recutils->alist"): New test.
2013-07-10 17:01:08 +02:00
Ludovic Courtès c0edcc3c19 gnu: libpng: Upgrade to 1.5.17.
* gnu/packages/libpng.scm (libpng): Upgrade to 1.5.17.
2013-07-10 15:55:39 +02:00
Ludovic Courtès edd258fd6b list-packages: Write out the HTML page as UTF-8.
* build-aux/list-packages.scm (list-packages): Install the "C" locale.
  Write out as UTF-8.
2013-07-10 11:52:35 +02:00
Ludovic Courtès 03aedf8d7a tests: Fix guix-package.sh in the presence of multiple-output `make'.
* tests/guix-package.sh: For $boot_make_drv, take only the "out" output.
  Reported by Nikita Karetnikov <nikita@karetnikov.org>.
2013-07-10 01:00:19 +02:00
Ludovic Courtès b592f7113e Add `build-aux/list-packages.scm'.
* build-aux/list-packages.scm: New file.
* Makefile.am (EXTRA_DIST): Add it.
2013-07-10 00:27:53 +02:00
Ludovic Courtès c769406010 Merge branch 'core-updates' 2013-07-09 22:17:18 +02:00
Ludovic Courtès 91ef73d464 doc: Add "Installing Debugging Files".
* doc/guix.texi (Installing Debugging Files): New node.
  (Packages with Multiple Outputs): Add cross-reference.
2013-07-09 00:24:54 +02:00
Ludovic Courtès 6e721c4d02 doc: Add "Packages with Multiple Outputs" section.
* doc/guix.texi (Packages with Multiple Outputs): New node.
  (Invoking guix package): Refer to it.
2013-07-08 23:49:43 +02:00
Ludovic Courtès ee48b283fa tests: Adjust `package-field-location' test for Guile <= 2.0.6.
* tests/packages.scm ("package-field-location"): Check the result of
  `read-at' against both VALUE and (FIELD VALUE).
  Reported by Matthew Lien - 練喆明" <bluet@bluet.org>.
2013-07-08 22:53:31 +02:00
Ludovic Courtès caddc24fa4 build: Set the umask to 0022 before running the daemon for tests.
* test-env.in: Run "umask 0022" before running the daemon.
  Reported by Matthew Lien - 練喆明 <bluet@bluet.org>
2013-07-08 22:43:53 +02:00
Ludovic Courtès 4ca0cefd1b build: Set the umask to 0022 before running the daemon for tests.
* test-env.in: Run "umask 0022" before running the daemon.
  Reported by Matthew Lien - 練喆明 <bluet@bluet.org>
2013-07-08 22:37:02 +02:00
Ludovic Courtès 2c9143a1f3 gnu: gettext: Upgrade to 0.18.3.
* gnu/packages/gettext.scm (gettext): Upgrade to 0.18.3.
  Remove patch.  Change `patch-tests' phase to use (which "sh'); keep it
  regardless of whether we're cross compiling.
2013-07-08 00:13:15 +02:00
Ludovic Courtès acf428dd0b gnu: tzdata: Upgrade to 2013d.
* gnu/packages/base.scm (tzdata): Upgrade to 2013d.
2013-07-07 23:40:36 +02:00
Ludovic Courtès b208a00501 doc: Move the packaging guidelines to the manual.
* HACKING (Packaging Guidelines): Remove.
* doc/guix.texi (Packaging Guidelines): New node.
2013-07-07 23:26:31 +02:00
Ludovic Courtès 8b315a6dd5 doc: Add a "Porting" section.
* HACKING (Porting the Guix distro on a new platform): Remove.
* doc/guix.texi (Porting): New node.  Describe cross-compilation as the
  only approach.
2013-07-07 01:03:03 +02:00
Ludovic Courtès 401c53c469 doc: Add a "Boostrapping" section.
* doc/guix.texi (Package Modules): New node, with material formerly
  under "GNU Distribution".
  (Bootstrapping): New node.
* Makefile.am (EXTRA_DIST): Add doc/images/bootstrap-graph.dot and
  doc/images/bootstrap-graph.eps.
  (infoimagedir, dist_infoimage_DATA, DOT_OPTIONS): New variable.
  (.dot.png, .dot.eps, doc/guix.pdf, doc/guix.info, doc/guix.ps): New
  targets.
* doc/images/bootstrap-graph.dot: New file.
2013-07-07 00:29:50 +02:00
Ludovic Courtès c8ebc82187 gnu: gcc: Add Texinfo to the native inputs.
* gnu/packages/gcc.scm (gcc-4.7): Add `native-inputs' field.
  (gcc-4.8): Remove outdated comment.
* gnu/packages/base.scm (gcc-boot0): Add `native-inputs' field.
2013-07-06 18:08:29 +02:00
Ludovic Courtès b97556d75c build: Bail out on unsupported platforms; add `--with-courage'.
* m4/guix.m4 (GUIX_ASSERT_SUPPORTED_SYSTEM): New macro.
* configure.ac: Use it.
2013-07-05 21:54:52 +02:00
Ludovic Courtès 3a4ebc1124 gnu: make-bootstrap: guile-static-stripped has no "debug" output.
* gnu/packages/make-bootstrap.scm (%guile-static-stripped): Add
  `outputs' field.
2013-07-05 14:39:47 +02:00
Ludovic Courtès eb25a30a42 build: Correctly determine the system type for non-Linux systems.
* m4/guix.m4 (GUIX_SYSTEM_TYPE): Find `sed'.  Fix sed pattern in the
  non-Linux case.
2013-07-05 14:14:21 +02:00
Ludovic Courtès 8c95b27ce6 store: Deal with unsupported `setsockopt' operation on GNU/Hurd.
* guix/store.scm (open-connection): Silently ignore ENOPROTOOPT on
  `setsockopt' calls, for the sake of GNU/Hurd.
  Reported by Matthew Lien <bluet@bluet.org> at
  <http://lists.gnu.org/archive/html/bug-guix/2013-07/msg00020.html>.
2013-07-04 22:49:00 +02:00
Ludovic Courtès 5363abb776 daemon: Make argp usage compatible with libc on GNU/Hurd.
* nix/nix-daemon/guix-daemon.cc (parse_opt): Cast return value to
  `error_t' for the sake of GNU/Hurd.
  Reported by Matthew Lien <bluet@bluet.org> at
  <http://lists.gnu.org/archive/html/bug-guix/2013-07/msg00002.html>.
2013-07-04 22:46:26 +02:00
Ludovic Courtès a1c39ede7d Import (guix hash) in build-aux/download.scm.
* build-aux/download.scm: Import (guix hash).
  Reported by Matthew Lien <bluet@bluet.org>.
2013-07-04 13:44:24 +02:00
Ludovic Courtès 82f9b17687 build-system/gnu: Remove the "debug" output when `strip-binaries?' is #f.
* guix/build-system/gnu.scm (gnu-build, gnu-cross-build): Delete "debug"
  from OUTPUTS when STRIP-BINARIES? is false.
* gnu/packages/cross-base.scm (cross-libc): Leave `outputs' unchanged.
  This reverts commit a4627d4.
2013-07-04 13:26:35 +02:00
Ludovic Courtès a4627d498a gnu: cross-libc: Remove the "debug" output.
* gnu/packages/cross-base.scm (cross-libc): Remove "debug" from the
  `outputs' field.
2013-07-04 11:08:28 +02:00
Ludovic Courtès 9bf62d9b1d gnu: Add a "debug" output for some packages.
* gnu/packages/base.scm (coreutils, gnu-make, glibc): Add a "debug" output.
* gnu/packages/bdw-gc.scm (libgc): Likewise.
* gnu/packages/guile.scm (guile-2.0): Likewise.
* gnu/packages/libffi.scm (libffi): Likewise.
* gnu/packages/multiprecision.scm (gmp, mpfr, mpc): Likewise.
2013-07-03 23:55:04 +02:00
Ludovic Courtès be58d01a7e build-system/gnu: Write debug files to the "debug" sub-derivation, if any.
* guix/build/gnu-build-system.scm (strip): Add `objcopy-command' keyword
  parameter.
  [debug-output, debug-file-extension]: New variables.
  [debug-file, make-debug-file, add-debug-link]: New procedures.
  [strip-dir]: Use them.
2013-07-03 23:53:31 +02:00
Ludovic Courtès d475b25953 utils: Re-export alist-cons' and alist-delete'.
* guix/build/utils.scm: Re-export `alist-cons' and `alist-delete'.
2013-07-03 23:08:41 +02:00
Ludovic Courtès 6d73e17bb4 gnu: Add noweb.
* gnu/packages/noweb.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
2013-07-03 15:10:34 +02:00
Ludovic Courtès 2b2fdd45bb gnu: qemu: Upgrade to 1.5.1.
* gnu/packages/qemu.scm (qemu-kvm): Add `--cc' configure option.
  Add PIXMAN and ALSA-LIB as inputs.
  (qemu): Upgrade to 1.5.1  Remove autotool hack for pixman.  Patch
  tests/libqtest.c.  Remove Autoconf, Automake, and Libtool from the
  inputs.  Fix `home-page'.
2013-07-03 01:18:28 +02:00
Ludovic Courtès 423002544d Update NEWS' and TODO'. 2013-07-03 01:18:28 +02:00
Ludovic Courtès b0fad8a2d4 Use port-sha256' and open-sha256-port'.
* guix/derivations.scm (derivation-hash): Add comment as to why we keep
  the plain `sha256' call.
* guix/scripts/download.scm (guix-download): Use `port-sha256' instead
  of (compose sha256 get-bytevector-all).
* guix/scripts/refresh.scm (update-package): Likewise.
2013-07-03 01:18:24 +02:00
Ludovic Courtès 69927e78de hash: Add `open-sha256-port'.
* guix/hash.scm (GCRY_MD_SHA256): New macro.
  (sha256): Use it.
  (open-sha256-md, md-write, md-read, md-close, open-sha256-port,
  port-sha256): New procedures.
* tests/hash.scm: New file.
* Makefile.am (SCM_TESTS): Add it.
2013-07-02 22:38:03 +02:00
Ludovic Courtès 72626a71a9 Move `sha256' to (guix hash).
* guix/utils.scm (sha256): Move to...
* guix/hash.scm: ... here.  New file.
* Makefile.am (MODULES): Add it.
* guix/derivations.scm, guix/scripts/download.scm,
  guix/scripts/hash.scm, guix/scripts/refresh.scm, tests/base32.scm,
  tests/derivations.scm, tests/store.scm: Use (guix hash).
2013-07-01 23:28:21 +02:00
Ludovic Courtès 82323a8085 gnu: liboop: Fix & improve meta-data.
* gnu/packages/lsh.scm (liboop): Fix home page.  Improve `synopsis' and
  `description'.  Thanks to carl hansen <carlhansen1234@gmail.com>, who
  raised it on bug-gsrc@gnu.org.
2013-07-01 11:43:23 +02:00
Ludovic Courtès 1a8b783470 ui: Don't make substituter-related RPCs at all when substitutes are disabled.
Reported by Nikita Karetnikov and Cyril Roelandt.

* guix/ui.scm (show-what-to-build): Call `substitutable-path-info'
  only when USE-SUBSTITUTES? is true.
2013-07-01 00:30:44 +02:00
Ludovic Courtès a4572a1720 gnu: Add GNU vc-dwim.
* gnu/packages/version-control.scm (vc-dwim): New variable.
2013-07-01 00:18:36 +02:00
Ludovic Courtès d3066a0d13 gnu: Add GNU Rush.
* gnu/packages/rush.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
2013-06-29 22:20:25 +02:00
Ludovic Courtès bb7dcaea57 substitute-binary: Avoid dangling connections to the server.
* guix/web.scm (open-socket-for-uri): New procedure.
  (http-fetch): Add `port' keyword parameter; use it.
* guix/scripts/substitute-binary.scm (%random-state): New variable.
  (with-timeout): Wait a little before retrying.
  (fetch): Use `open-socket-for-uri', and keep a copy of the socket in
  variable `port'.  Close PORT upon timeout.
2013-06-29 22:20:25 +02:00
Cyril Roelandt 013ce67b19 gnutls: fix the test-suite for 32 bits systems.
* gnu/packages/patches/gnutls-fix-tests-on-32-bits-system.patch: New file.
* gnu-system.am: Add it here...
* gnu/packages/gnutls.scm (gnutls): ... and use it here.

Thanks to Nikos Mavrogiannopoulos for providing this patch:
http://permalink.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/6778
2013-06-28 17:26:49 +02:00
Ludovic Courtès 88a0b7b051 gnu: lout: Upgrade to 3.40.
* gnu/packages/lout.scm (lout): Upgrade to 3.40.
2013-06-27 22:36:41 +02:00
Ludovic Courtès 3bba7b0a8f download: Add Savannah's master site.
* guix/download.scm (%mirrors): Add the "-noredirect" version of
  Savannah.
2013-06-27 22:36:23 +02:00
Ludovic Courtès 96a8259a9d gnu: lsh: Upgrade to 2.1.
* gnu/packages/lsh.scm (lsh): Upgrade to 2.1.  Add Nettle as an input.
  Remove now unneeded patches.
* gnu/packages/patches/lsh-guile-compat.patch,
  gnu/packages/patches/lsh-no-root-login.patch,
  gnu/packages/patches/lsh-pam-service-name.patch: Remove.
* gnu-system.am (dist_patch_DATA): Remove them.
2013-06-27 22:27:26 +02:00
Ludovic Courtès ca16cb9606 gnu: gcc: Use `gcc-configure-flags-for-triplet' when cross-compiling GCC.
* gnu/packages/cross-base.scm (gcc-configure-flags-for-triplet): Move to...
* gnu/packages/gcc.scm (gcc-configure-flags-for-triplet): ... here.  New
  procedure.
  (gcc-4.7): Use it when (%current-target-system) is true.
2013-06-26 23:02:49 +02:00
Ludovic Courtès 58ab9f9b8e build: Add "mips64el-linux-gnuabi64" as a cross build target.
* build-aux/hydra/gnu-system.scm (%packages-to-cross-build): Add
  %bootstrap-tarballs.
  (%cross-targets): Add "mips64el-linux-gnuabi64".
2013-06-26 22:41:09 +02:00
Ludovic Courtès beda99e882 gnu: cross-base: Add support for `mips64el-linux-gnu-gnuabi64' (N64 ABI).
* gnu/packages/cross-base.scm (gcc-configure-flags-for-triplet): New
  procedure.
  (cross-gcc): Use it.
  (xgcc-mips64el): Use *-gnuabi64 instead of the N32 ABI.
2013-06-26 22:39:21 +02:00
Ludovic Courtès 5708485357 gnu: make-bootstrap: Fix cross compilation of binutils-static.
* gnu/packages/make-bootstrap.scm (%binutils-static): Inherit configure
  flags from BINUTILS.
2013-06-26 17:23:56 +02:00
Ludovic Courtès 11acdf1747 gnu: make-bootstrap: Have %gcc-static actually static when cross building.
* gnu/packages/make-bootstrap.scm (%gcc-static): Pass `-static' through
  `LDFLAGS' when cross-compiling.
2013-06-26 17:01:10 +02:00
Ludovic Courtès de1d41f980 gnu: gcc: Allow cross-compilation of GCC itself.
* gnu/packages/gcc.scm (gcc-4.7): Define `CC_FOR_TARGET',
  `AR_FOR_TARGET', etc. when cross-compiling.
2013-06-26 16:51:39 +02:00
Ludovic Courtès e7133c7680 gnu: cross-base: Make `glibc-dynamic-linker' do the right thing.
* gnu/packages/bootstrap.scm (glibc-dynamic-linker): Determine SYSTEM
  based on (%current-target-system) when it's true.
* gnu/packages/cross-base.scm (cross-gcc): Directly call
  (package-arguments gcc-4.7) from the body of `arguments'.
2013-06-26 16:27:51 +02:00
Ludovic Courtès c8fa51f2d6 gnu: cross-base: Build Binutils with `--with-sysroot=/'.
* gnu/packages/cross-base.scm (cross-binutils): Use `--with-sysroot=/'.
2013-06-26 14:31:24 +02:00
Ludovic Courtès 9306d350b2 build: Build the bootstrap tarballs on Hydra.
* build-aux/hydra/gnu-system.scm (%packages-to-cross-build): Uncomment
  the bootstrap tarball packages.
2013-06-25 23:45:34 +02:00
Ludovic Courtès a410a0105d gnu: make-bootstrap: Allow cross-compilation of the bootstrap tarballs.
* gnu/packages/make-bootstrap.scm (package-with-relocatable-glibc): Turn
  `inputs' into a thunk.  Add `native-inputs', and pass it to
  `package-with-explicit-inputs'.
  (%static-inputs): Add %BASH-STATIC as an input to gawk when cross
  building.
  (%glibc-stripped): When cross compiling,
  use (glibc-for-bootstrap (cross-libc)) as the basis.
  (%gcc-static): Base on GCC-4.7, not GCC-FINAL.
  (tarball-package): TAR and XZ are native inputs.  Choose the tarball
  file name based on (%current-target-system) too.
2013-06-25 23:39:14 +02:00
Ludovic Courtès a3cff41dd1 build-system/gnu: `package-with-explicit-inputs' skips non-GBS packages.
* guix/build-system/gnu.scm (package-with-explicit-inputs)[rewritten-input]:
  Leave P unchanged if its build system is not GNU-BUILD-SYSTEM.
2013-06-25 23:04:32 +02:00
Ludovic Courtès 0de71c233c gnu: cross-base: Make the cross tools native inputs.
* gnu/packages/cross-base.scm (cross-gcc): Change `inputs' to
  `native-inputs', and set `inputs' to the empty list.
  (cross-libc): Likewise.
2013-06-25 20:57:14 +02:00
Ludovic Courtès 7e873a6708 build-system/gnu: Augment `package-with-explicit-inputs' for cross builds.
* guix/build-system/gnu.scm (package-with-explicit-inputs): Add
  `native-inputs' keyword parameter.  Allow INPUTS and NATIVE-INPUTS to
  be thunks.
2013-06-25 20:54:56 +02:00
Ludovic Courtès 6e1c4093d2 gnu: bigloo: Explicitly link libbigloopthread against libgc.
* gnu/packages/scheme.scm (bigloo): In `configure' phase, change
  api/thread/src/Makefile to explicitly link against libgc.
2013-06-25 20:31:10 +02:00
Ludovic Courtès ac5c1cec86 build-system/trivial: Don't bind `%target' in the builder.
* guix/build-system/trivial.scm (trivial-cross-build): Don't bind
  `%target' here since this causes problem when BUILDER
  contains (use-modules ...) clauses, and can be achieved differently
  anyway.
2013-06-25 00:06:31 +02:00
Ludovic Courtès 1e4310f1f2 gnu: gawk: Allow cross-compilation.
* gnu/packages/gawk.scm (gawk)[arguments]: Annihilate the
  `check-for-shared-lib-support' target when cross-compiling.
2013-06-25 00:00:09 +02:00
Ludovic Courtès f7c3429073 build-system/gnu: Disable test suite when cross building.
* guix/build-system/gnu.scm (gnu-cross-build): Change #:tests? to
  default to #f.
2013-06-24 23:26:50 +02:00
Andreas Enge 527e796125 gnu: Add gdk-pixbuf.
* gnu/packages/gtk.scm (gdk-pixbuf): New variable.
2013-06-23 22:03:57 +02:00
Ludovic Courtès ea2ddd3334 gnu: ed: Upgrade to 1.9.
* gnu/packages/ed.scm (ed): Upgrade to 1.9.
2013-06-22 19:03:35 +02:00
Ludovic Courtès 2c034e1bd0 gnu: gcc-4.8: Upgrade to 4.8.1.
* gnu/packages/gcc.scm (gcc-4.8): Upgrade to 4.8.1.
2013-06-22 19:03:10 +02:00
Ludovic Courtès a62b83d52f gnu: libffi: Upgrade to 3.0.13.
* gnu/packages/libffi.scm (libffi): Upgrade to 3.0.13.
2013-06-22 16:47:09 +02:00
Ludovic Courtès b15669f37d utils: set-path-environment-variable' calls unsetenv' for empty values.
* guix/build/utils.scm (set-path-environment-variable): When VALUE is
  the empty string, call `unsetenv' instead of `setenv'.
* gnu/packages/guile.scm (guile-2.0)[arguments]: Remove `unsetenv'
  trick.
2013-06-22 16:42:46 +02:00
Ludovic Courtès ee26820636 gnu: acl, attr: Make `gettext' a native input.
* gnu/packages/acl.scm (acl): Make `gettext' a native input, always.
* gnu/packages/attr.scm (attr): Likewise.
2013-06-22 16:32:30 +02:00
Ludovic Courtès 8572bf5e0c gnu: gmp: Upgrade to 5.1.2.
* gnu/packages/multiprecision.scm (gmp): Update to 5.1.2.
2013-06-22 16:29:40 +02:00
Ludovic Courtès d16368cf41 gnu: gawk: Upgrade to 4.1.0.
* gnu/packages/gawk.scm (gawk): Update to 4.1.0.  Remove wrong-headed
  comments.
2013-06-22 16:29:19 +02:00
Ludovic Courtès 2a511f7a1a gnu: gzip: Upgrade to 1.6.
* gnu/packages/compression.scm (gzip): Upgrade.
2013-06-22 16:27:13 +02:00
Ludovic Courtès 2f41f51c40 build-system/gnu: Set #:tests? to #f when cross-compiling.
* guix/build/gnu-build-system.scm (check): Add `target' formal
  parameter.  Change `tests?' to default to (not target).
2013-06-22 16:15:23 +02:00
Ludovic Courtès 91a7fde456 download: Don't fail when abbreviating `file://' URIs.
* guix/build/download.scm (uri-abbreviation)[elide-path]: Handle the
  case where URI has no `host' part.
2013-06-22 16:10:25 +02:00
Ludovic Courtès 4ca968eb95 build-system/gnu: Save `environment-variables' after each phase.
* guix/build/gnu-build-system.scm (set-paths): Move `system' call to...
  (gnu-build): ... here.
2013-06-21 00:32:07 +02:00
Ludovic Courtès 56c092ce94 build-system/gnu: Unify with (guix build-system gnu-cross-build).
* guix/build/gnu-build-system.scm (set-paths): Add `native-inputs' and
  `native-search-paths' keyword parameters.  Honor them.
  (configure): Add `target' and `native-inputs' keyword parameters.
  Look for Bash in NATIVE-INPUTS or INPUTS.  Pass `--host' when TARGET
  is true.
  (strip): Add `strip-command' keyword parameter.  Use it.
* guix/build/gnu-cross-build.scm: Remove.
* Makefile.am (MODULES): Adjust accordingly.
* gnu/packages/acl.scm, gnu/packages/attr.scm, gnu/packages/base.scm,
  gnu/packages/bash.scm, gnu/packages/gawk.scm,
  gnu/packages/gettext.scm, gnu/packages/guile.scm,
  gnu/packages/libffi.scm, gnu/packages/libsigsegv.scm,
  gnu/packages/linux.scm, gnu/packages/ncurses.scm,
  gnu/packages/readline.scm, guix/build-system/gnu.scm: Replace
  `%standard-cross-phases' by `%standard-phases'.  Remove references
  to (guix build gnu-cross-build).
2013-06-21 00:25:54 +02:00
Ludovic Courtès d501fad11c Merge branch 'master' into core-updates
Conflicts:
	gnu/packages/make-bootstrap.scm
2013-06-20 23:51:00 +02:00
Ludovic Courtès 4db00e4210 gnu: libgc: Always build with -DUSE_LIBC_PRIVATES.
* gnu/packages/bdw-gc.scm (libgc): Add `arguments' field.
* gnu/packages/make-bootstrap.scm (%guile-static): Remove local `libgc'.
2013-06-20 23:47:22 +02:00
Ludovic Courtès fba96c4885 gnu: libgc: Switch to 7.2d.
* gnu/packages/bdw-gc.scm (libgc): Upgrade to 7.2d.
  (libgc-7.2): Remove.
2013-06-20 23:45:41 +02:00
Ludovic Courtès f3211ef386 build: Move Hydra recipe to build-aux/hydra.
* hydra.scm: Rename to...
* build-aux/hydra/gnu-system.scm: ... this.
* Makefile.am (EXTRA_DIST): Adjust accordingly.
2013-06-20 23:41:31 +02:00
Ludovic Courtès fe1818e26a package: Fix i18n of the number of packages message.
* guix/scripts/package.scm (guix-package)[process-actions]: Use `N_' for
  i18n of the number of packages message.
2013-06-20 23:41:31 +02:00
Ludovic Courtès a85060efec substitute-binary: Report progress while downloading.
* guix/scripts/substitute-binary.scm (decompressed-port): Improve docstring.
  (progress-report-port): New procedure.
  (guix-substitute-binary)["--substitute"]: Use it to report progress.
* guix/build/download.scm: Export `progress-proc' and `uri-abbreviation'.
2013-06-20 23:41:28 +02:00
Ludovic Courtès e3f6f8b448 Update eo.po. 2013-06-19 23:19:35 +02:00
Ludovic Courtès d516736c58 build: Split Makefile.am into two parts.
* Makefile.am (MODULES): Move gnu/* to gnu-system.am.
  (patchdir, dist_patch_DATA, bootstrapdir,
  bootstrap_x86_64_linuxdir, bootstrap_i686_linuxdir,
  dist_bootstrap_x86_64_linux_DATA, dist_bootstrap_i686_linux_DATA,
  nodist_bootstrap_x86_64_linux_DATA, nodist_bootstrap_i686_linux_DATA,
  install-data-hook, DISTCLEANFILES, DOWNLOAD_FILE,
  gnu/packages/bootstrap/x86_64-linux/guile-2.0.7.tar.xz,
  gnu/packages/bootstrap/i686-linux/guile-2.0.7.tar.xz): Move to...
* gnu-system.am: ... here.  New file.
2013-06-19 23:19:03 +02:00
Ludovic Courtès 9af05aa29d package: Display the number of installed packages upon completion.
* guix/scripts/package.scm (guix-package)[process-actions]: Display the
  number of packages in the profile upon completion.
2013-06-19 22:42:03 +02:00
Ludovic Courtès c7c834a998 Add `substitute-binary.scm' to POTFILES.in.
* po/POTFILES.in: Add guix/scripts/substitute-binary.scm.
2013-06-19 19:27:53 +02:00
Ludovic Courtès 7fa37abca0 gnu: Add ImageMagick.
* gnu/packages/imagemagick.scm: New file.
* Makefile.am (MODULES): Add it.
* guix/download.scm (%mirrors): Add `imagemagick' entry.
2013-06-19 19:27:23 +02:00
Ludovic Courtès 2207f73156 substitute-binary: Provide feedback when the server is unresponsive.
* guix/scripts/substitute-binary.scm (%fetch-timeout): New variable.
  (with-timeout): New macro.
  (fetch): Add `timeout?' keyword parameter.  Enclose `http-fetch' call
  in `with-timeout'.
  (guix-substitute-binary): Call `fetch' with #:timeout? #f.
2013-06-18 00:12:22 +02:00
Ludovic Courtès 8cf13c1f70 build: Fix `sync-with-upstream'.
* nix/sync-with-upstream: Remove schema.sql.hh.
2013-06-18 00:12:22 +02:00
Ludovic Courtès 90a0048f5e gnu: Add Linux iproute2.
* gnu/packages/bdb.scm (bdb): Add `--enable-compat185'.
* gnu/packages/linux.scm (iproute): New variable.
2013-06-18 00:12:22 +02:00
Ludovic Courtès 10afdf5061 gnu: Add iptables.
* gnu/packages/linux.scm (iptables): New variable.
2013-06-18 00:12:22 +02:00
Ludovic Courtès 30ac136d6d gnu: graphviz: Fix typo.
* gnu/packages/graphviz.scm (graphviz): Fix typo in description.
2013-06-18 00:12:22 +02:00
Cyril Roelandt cf3fe3b071 gnu: Move subversion with the other version control systems.
* gnu/packages/subversion.scm: Remove file.
* gnu/packages/version-control.scm (subversion): New variable.
* Makefile.am (MODULES): remove subversion.scm.
2013-06-17 19:33:53 +02:00
Ludovic Courtès 5686807ee9 build: Remove non-existent git.scm from Makefile.am.
* Makefile.am (MODULES): Remove git.scm.
2013-06-17 01:18:09 +02:00
Ludovic Courtès b1b07d72c7 gnu: Add Graphviz.
* gnu/packages/graphviz.scm: New file.
* Makefile.am (MODULES): Add it.
2013-06-17 01:17:05 +02:00
Ludovic Courtès 7997c4bf76 gnu: libpng: Propagate zlib.
* gnu/packages/libpng.scm (libpng): Propagate zlib.
2013-06-17 01:17:04 +02:00
Ludovic Courtès d517142b8e gnu: Add GD.
* gnu/packages/gd.scm: New file.
* Makefile.am (MODULES): Add it.
2013-06-16 23:57:34 +02:00
Ludovic Courtès 30645251d1 gnu: Add Racket.
* gnu/packages/scheme.scm (racket): New variable.
2013-06-16 20:43:29 +02:00
Ludovic Courtès 9c71a2aec4 build-system/trivial: Fix introduction of `%target' when cross-building.
* guix/build-system/trivial.scm (trivial-cross-build): Wrap BUILDER in a
  `let' rather than in `begin'.
2013-06-15 23:39:32 +02:00
Ludovic Courtès 934488ccd3 gnu: linux-libre-headers: Allow cross-compilation.
* gnu/packages/linux.scm (linux-libre-headers): Use (guix build
  gnu-cross-build) and %standard-cross-phases when cross-compiling.
2013-06-15 23:39:32 +02:00
Ludovic Courtès 82c865c41a gnu: pkg-config: Export package definition.
* gnu/packages/pkg-config.scm (%pkg-config): Make public.
  Reported by Andreas Enge <andreas@enge.fr>.
2013-06-15 23:39:32 +02:00
Andreas Enge 4b9adff901 gnu: Add pango.
* gnu/packages/gtk.scm (pango): New variable.
2013-06-14 23:33:17 +02:00
Andreas Enge a2609b41b9 gnu: Add harfbuzz.
* gnu/packages/gtk.scm (harfbuzz): New variable.
2013-06-14 23:28:58 +02:00
Andreas Enge 6131c43d45 gnu: Add cairo.
* gnu/packages/gtk.scm (cairo): New variable.
2013-06-14 21:43:04 +02:00
Andreas Enge 7cf2a2a1e2 gnu: Add libspectre.
* gnu/packages/ghostscript.scm (libspectre): New variable.
2013-06-14 20:58:18 +02:00
Ludovic Courtès 3e5980de47 Update `TODO'. 2013-06-14 17:05:49 +02:00
Ludovic Courtès 16357e8c71 Update upstream Nix sub-module.
* nix-upstream: Update.
* NEWS: Mention multiple-derivation output bug.
2013-06-14 17:05:32 +02:00
Ludovic Courtès 0bd31a2188 derivations: Micro-optimize `derivation-hash'.
* guix/derivations.scm (derivation-hash): Use a UTF-8-encoded string
  output port.  This makes things deterministic, and slightly faster.
2013-06-14 15:48:29 +02:00
Ludovic Courtès 62751a5ddd gnu: make-bootstrap: Abstract things with `package-with-relocatable-glibc'.
* gnu/packages/make-bootstrap.scm (%glibc-for-bootstrap): Replace with...
  (glibc-for-bootstrap): ... this.  New procedure.
  (%standard-inputs-with-relocatable-glibc): Replace with...
  (package-with-relocatable-glibc): ... this.  New procedure.
  (%static-inputs, %gcc-static, %guile-static): Use it.
2013-06-14 15:29:08 +02:00
Ludovic Courtès af5cb60fec gnu: make-bootstrap: Keep Perl as an input only when needed.
* gnu/packages/make-bootstrap.scm (%static-inputs)[coreutils]: Keep Perl
  as an input only if it's an input of COREUTILS.
2013-06-14 14:50:33 +02:00
Ludovic Courtès 8e59fdd53b guix gc: Add `--requisites'.
* guix/scripts/gc.scm (show-help, %options): Add `--requisites'.
  (guix-gc): Handle it.
* doc/guix.texi (Invoking guix gc): Document `--requisites'.
* NEWS: Update.
2013-06-13 22:15:41 +02:00
Ludovic Courtès 3f1e69395c store: Add `requisites'.
* guix/store.scm (fold-path, requisites): New procedures.
* tests/store.scm ("requisites"): New test.
2013-06-13 22:03:42 +02:00
Ludovic Courtès cfbf7877a6 ld-wrapper: Unless in a build env., allow files that symlink to the store.
* gnu/packages/ld-wrapper.scm (pure-file-name?): As a last resort, when
  %BUILD-DIRECTORY is false, check whether FILE is a symlink, and loop
  over it to check whether its target is in the store.
2013-06-12 09:39:31 +02:00
Konrad Hinsen d4c7486079 doc: Describe the build procedure in more detail.
* README (Requirements): Replace "autoreconf" by "bootstrap".
  (Installing Guix from Guix): Augment and update.
2013-06-12 09:16:54 +02:00
Ludovic Courtès cbe62e89d0 gnu: Add GNU gcal.
* gnu/packages/gcal.scm: New file.
* Makefile.am (MODULES): Add it.
2013-06-12 00:39:00 +02:00
Konrad Hinsen 79b8914eaa Ignore /po/Makevars.template 2013-06-12 00:39:00 +02:00
Cyril Roelandt 16df248e4b Fix Guile version checking in the "web" code.
* guix/web.scm (http-fetch): fix Guile version checking. The previous version
would use features from Guile 2.0.9+ when using Guile 2.0.7.
2013-06-10 10:43:23 +02:00
Nikita Karetnikov 392b5d8cab guix refresh: Add '--key-download'.
* guix/gnu-maintenance.scm (download-tarball): Add a 'key-download'
  keyword argument and pass it to 'gnupg-verify*'.  Make
  'archive-type' a keyword argument.
  (package-update): Add a 'key-download' keyword argument.  Pass
  'archive-type' and 'key-download' keyword arguments to
  'download-tarball'.

* guix/gnupg.scm: Import (ice-9 i18n) and (guix ui).
  (gnupg-verify*): Add a 'key-download' keyword argument and adjust
  'gnupg-verify*' to use it.  Make 'server' a keyword argument.

* guix/scripts/refresh.scm (show-help, %options): Add and document
  '--key-download'.
  (update-package): Add a 'key-download' keyword argument and pass it
  to 'package-update'.
  (guix-refresh): Pass 'key-download' to 'update-package'.  Limit
  lines to a maximum of 79 characters.
2013-06-10 08:15:17 +00:00
Ludovic Courtès e20ec9cc51 doc: Mention copyright/license auditing in `HACKING'. 2013-06-10 00:00:33 +02:00
Ludovic Courtès 0a56fadb60 gnu: Add mpg321.
* gnu/packages/mp3.scm (mpg321): New variable.
2013-06-09 23:57:52 +02:00
Ludovic Courtès ba04571a83 gnu: Add ALSA-lib; use it.
* gnu/packages/linux.scm (alsa-lib): New variable.
* gnu/packages/oggvorbis.scm (ao): Add ALSA-lib as an input.
2013-06-09 23:54:55 +02:00
Ludovic Courtès f88aeb6aa8 gnu: glib: Fix URL.
* gnu/packages/glib.scm (glib): Fix URL.
2013-06-09 23:52:22 +02:00
Ludovic Courtès e0b2737583 doc: Update bootstrap-related info in `HACKING'. 2013-06-09 15:24:24 +02:00
Ludovic Courtès 7bc5cc2b96 gnu: glib: Update to 2.37.1.
* gnu/packages/glib.scm (glib): Update to 2.37.1.  Add Bash and tzdata
  as inputs.  Remove `glib-tests-timezone.patch'.  Augment `pre-build'
  phase to set `TZDIR', `XDG_CACHE_HOME', and to modify makefiles to
  honor $(TESTS_ENVIRONMENT).
* gnu/packages/patches/glib-tests-desktop.patch,
  gnu/packages/patches/glib-tests-homedir.patch: Update.
* gnu/packages/patches/glib-tests-timezone.patch: Remove.
* Makefile.am (dist_patch_DATA): Update accordingly.
2013-06-08 18:41:44 +02:00
Mark H Weaver 0d62efbe5a gnu: subversion: Download from apache archive site.
* gnu/packages/subversion.scm (subversion): Download from archive.apache.org,
  where versions are kept for a longer period of time.  Previously, we
  downloaded from the mirrors, which keep only the most recent versions.
2013-06-08 12:38:28 -04:00
Ludovic Courtès fa6141ecaa gnu: plotutils: Add X client libraries as inputs.
* gnu/packages/plotutils.scm (plotutils): Add libx11, libxt, and libxaw
  as inputs.
2013-06-07 22:31:54 +02:00
Ludovic Courtès b2e3dd9480 gnu: Add Privoxy.
* gnu/packages/tor.scm (privoxy): New variable.
2013-06-07 00:02:48 +02:00
Ludovic Courtès 9d97a1b3d6 packages: Make the `propagated-inputs' field thunked.
* guix/packages.scm (<package>): Make `propagated-inputs' thunked.
2013-06-06 00:04:11 +02:00
Ludovic Courtès 0e999137e9 gnu: bash-light: Allow cross-compilation.
* gnu/packages/bash.scm (bash-light): Add (guix build gnu-cross-build)
  to #:modules when (%current-target-system) is true.
  Add `bash_cv_job_control_missing=no' to #:configure-flags
  when (%current-target-system) is true.
2013-06-05 17:40:57 +02:00
Ludovic Courtès a3e69bb892 gnu: Fix `static-package' arguments overriding.
* guix/build-system/gnu.scm (static-package): Call `package-arguments'
  from within the `arguments' field, so it see the
  right (%current-target-system).
2013-06-05 16:39:58 +02:00
Ludovic Courtès a1db097535 gnu: gnutls: Update to 3.2.1.
* gnu/packages/gnutls.scm (gnutls): Update to 3.2.1.
2013-06-05 10:38:27 +02:00
Ludovic Courtès b17fd5e0c8 gnu: nettle: Update to 2.7.1.
* gnu/packages/nettle.scm (nettle): Update to 2.7.1.
2013-06-05 10:26:17 +02:00
Ludovic Courtès 76ced7741b gnu: automake: Update to 1.13.3.
* gnu/packages/autotools.scm (automake): Update to 1.13.3.
2013-06-05 10:17:26 +02:00
Ludovic Courtès 7f4e4b77ee gnu: Add WordNet.
* gnu/packages/wordnet.scm: New file.
* Makefile.am (MODULES): Add it.
2013-06-04 16:51:06 +02:00
Ludovic Courtès 765904ceb6 gnu: Add Tk.
* gnu/packages/tcl.scm (tk): New variable.
2013-06-04 16:49:34 +02:00
Ludovic Courtès 9bf3c1a77d doc: Write about patch submission and packaging guidelines.
* HACKING: Update the command names from `guix-build' to `guix build' & co.
  (Submitting Patches, Packaging Guidelines): New sections.
* doc/guix.texi (Contributing): New section.
2013-06-04 10:29:57 +02:00
Ludovic Courtès ae3b6bb0f4 substitute-binary: Don't cache .narinfo lookups when lacking networking.
* guix/scripts/substitute-binary.scm (lookup-narinfo): Don't cache
  NARINFO when CACHE is #f.
2013-06-04 09:43:38 +02:00
Ludovic Courtès bdbb6fbb19 Update `NEWS'. 2013-06-04 00:45:57 +02:00
Nikita Karetnikov 94e4ddd508 gnu: Add Grue Hunter.
* gnu/packages/grue-hunter.scm: New file.
* Makefile.am (MODULES): Add it.
2013-06-03 11:55:43 +00:00
Nikita Karetnikov ef7cf2917a licenses: Add 'agpl3' and 'agpl3+'.
* guix/licenses.scm (agpl3, agpl3+): New variables.
2013-06-03 11:39:38 +00:00
Cyril Roelandt 5ace6e2fa8 gnu: Add Babel.
* gnu/packages/babel.scm (babel): New package.
2013-06-01 01:50:34 +02:00
Ludovic Courtès 1890a149cc gnu: Add XLockMore.
* gnu/packages/xlockmore.scm: New file.
* Makefile.am (MODULES): Add it.
2013-06-01 00:14:13 +02:00
Ludovic Courtès 63c0c19a64 gnu: gawk: Refer to the target Bash in io.c.
* gnu/packages/gawk.scm (gawk): Add Bash as an input
  when (%current-target-system) is true.
2013-06-01 00:07:26 +02:00
Ludovic Courtès 8caa6152d0 Fix name of Alexandru. 2013-06-01 00:06:30 +02:00
Ludovic Courtès 231eae53c2 gnu: Add Rubber.
* gnu/packages/texlive.scm (rubber): New variable.
2013-05-30 21:15:45 +02:00
Ludovic Courtès 44fbbf4c5f Thanks, Cojocaru. 2013-05-30 21:15:22 +02:00
Ludovic Courtès 89d02b98f9 ui: define-diagnostic: Don't mark _' and N_' as literals.
* guix/ui.scm (define-diagnostic): Use `free-identifier=?' to compare
  the user's input with `_' and `N-".  This should fix builds with Guile 2.1.
  Reported by Cojocaru Alexandru <xojoc@gmx.com>.
2013-05-30 00:49:34 +02:00
Ludovic Courtès 5282181d51 build-system/python: Avoid circular dependency.
This fixes a circular dependency introduced in commit acc26ff ("gnu: Add
pytz.").

* guix/build-system/python.scm (default-python): New procedure.
  (python-build): Use it.
2013-05-30 00:47:34 +02:00
Ludovic Courtès cf5d2ca329 substitute-binary: Gracefully exit upon networking errors.
Suggested by Andreas Enge <andreas@enge.fr>.

* guix/scripts/substitute-binary.scm (with-networking): New macro.
  (guix-substitute-binary): Wrap the body in `with-networking'.
2013-05-29 23:22:05 +02:00
Ludovic Courtès 56b1f4b780 build, package: Add `--fallback' option.
* guix/scripts/build.scm (%options, show-help): Add `--fallback'.
  (guix-build): Call `set-build-options' with #:fallback?.
* guix/scripts/package.scm (%options, show-help): Add `--fallback'.
  (guix-package): Call `set-build-options' with #:fallback?.
* doc/guix.texi (Invoking guix package, Invoking guix build): Document
  `--fallback'.
2013-05-29 23:22:05 +02:00
Ludovic Courtès c3eb878f0b store: Test the `fallback?' store option.
* guix/store.scm (set-build-options): Rename #:try-fallback? to #:fallback?.
* tests/store.scm ("substitute --fallback"): New test.
2013-05-29 23:22:05 +02:00
Cyril Roelandt acc26ff148 gnu: Add pytz.
* gnu/packages/python.scm (pytz): New package.
2013-05-29 01:47:16 +02:00
Ludovic Courtès 4f7e152b34 gnu: Add torsocks.
* gnu/packages/tor.scm (torsocks): New variable.
2013-05-29 00:03:12 +02:00
Cyril Roelandt 842ded334f python-build-system: add a check phase.
* guix/build/python-build-system.scm (check): New procedure.
  (%standard-phases): Use it.
2013-05-28 22:53:35 +02:00
Ludovic Courtès 9b222abe03 packages: Raise an error condition a cross builder is needed but unavailable.
* guix/packages.scm (&package-cross-build-system-error): New condition type.
  (package-cross-derivation): Raise &package-cross-build-system-error
  when the build system doesn't support cross builds.
* guix/ui.scm (call-with-error-handling): Add
  package-cross-build-system-error? case.
* tests/packages.scm ("package-cross-derivation, no cross builder"): New test.
2013-05-27 23:43:00 +02:00
Ludovic Courtès ea84ec7711 build-system/gnu: Fix typo in `gnu-cross-build'.
* guix/build-system/gnu.scm (gnu-cross-build)[builder]: When
  IMPLICIT-TARGET-INPUTS is #f, default to '().
2013-05-27 23:43:00 +02:00
Ludovic Courtès 58b4e8e877 gnu: guile: More cross-compilation tweaks.
* gnu/packages/guile.scm (guile-2.0): When cross-compiling, unset
  GUILE_LOAD_PATH and GUILE_LOAD_COMPILED_PATH, and set
  CC_FOR_BUILD=gcc.
2013-05-27 23:43:00 +02:00
Ludovic Courtès d581acee5b gnu: pkg-config: Provide a cross-build-friendly wrapper.
* gnu/packages/pkg-config.scm (pkg-config): Rename to...
  (%pkg-config): ... this.  Make private.
  (cross-pkg-config, pkg-config-for-target): New procedures.
  (pkg-config): New macro.
2013-05-27 23:43:00 +02:00
Ludovic Courtès 47e74d6e9d gnu: cross-binutils: Build with `--with-sysroot'.
This fixes resolution of DT_NEEDED entries in cross-built libraries.
For instance, if ltdl.so needs libdl.so and has it in its RUNPATH, then
libdl.so is searched for in the right place.

* gnu/packages/cross-base.scm (cross-binutils): Pass
  `--with-sysroot=/no-such-path'.
2013-05-27 23:43:00 +02:00
Nikita Karetnikov 4bfc4ea349 doc: Improve wording and fix typos in "Introduction" and "Requirements".
* doc/guix.texi (Introduction, Requirements): Rephrase and fix typos.
2013-05-26 23:25:01 +00:00
Ludovic Courtès 9c782445fb gnu: guile: Add Bash as an input, to permit cross-compilation.
* gnu/packages/guile.scm (guile-2.0): Add Bash as an input
  when (%current-target-system) is true.  Use %standard-cross-phases as
  a basis when (%current-target-system) is true.
2013-05-26 23:46:11 +02:00
Ludovic Courtès 9a97b8144d gnu: bash: Fix cross-compilation.
* gnu/packages/bash.scm (bash): Pass "bash_cv_job_control_missing=no"
  when (%current-target-system) is true.
2013-05-26 23:46:11 +02:00
Ludovic Courtès aa289a3e82 build: `hydra.scm' really cross-builds Gettext.
* hydra.scm: Import (gnu packages gettext).
2013-05-26 23:46:10 +02:00
Cyril Roelandt a67f97fea1 zlib: Add a sourceforge mirror.
This is especially useful since the tarball is deleted from zlib.net as soon as
a new version of zlib is released.
2013-05-25 23:17:53 +02:00
Ludovic Courtès 923fbae1f0 build: Add missing import in `hydra.scm'.
* hydra.scm: Import (gnu packages gawk).
2013-05-25 23:24:51 +02:00
Ludovic Courtès 598608c7ee build: `hydra.scm' cross-builds a few more packages.
* hydra.scm (%packages-to-cross-build): Add a few packages.
2013-05-25 22:39:51 +02:00
Ludovic Courtès f755aa3f7a gnu: ncurses, readline: Allow cross-compilation.
* gnu/packages/ncurses.scm (ncurses): Add `cross-pre-install-phase'.
  Use different phases when (%current-target-system) is true.
* gnu/packages/readline.scm (readline): Use %standard-cross-phases as
  the base when (%current-target-system) is true.
2013-05-25 20:16:45 +02:00
Ludovic Courtès 089b06348e gnu: libffi: Allow cross-compilation.
* gnu/packages/libffi.scm (libffi): Use %standard-cross-phases as the
  base when cross-compiling.  Add (guix build gnu-cross-build) to the
  #:modules when cross-compiling.  Improve synopsis.
2013-05-25 18:03:52 +02:00
Ludovic Courtès 1984b43895 gnu: libtool: Allow cross-compilation.
* gnu/packages/autotools.scm (libtool)[arguments]: Use #:phases argument
  only when building natively.
2013-05-25 18:00:01 +02:00
Ludovic Courtès 3871c9f500 gnu: gawk: Allow cross-compilation.
* gnu/packages/gawk.scm (gawk)[arguments]: Use `set-shell-file-name'
  phase that works when cross-compiling; use `%standard-cross-phases' as
  the base when (%current-target-system) is true.
2013-05-25 17:54:27 +02:00
Ludovic Courtès 9aa949a4b6 gnu: libsigsegv: Fix mips64el-linux-gnu (cross-)builds.
* gnu/packages/libsigsegv.scm (libsigsegv): New `arguments' field.
2013-05-25 16:56:22 +02:00
Ludovic Courtès cf9fd501ea gnu: findutils: Fix cross-compilation.
* gnu/packages/base.scm (findutils): Reinstate cross-compilation
  #:configure-flags.
2013-05-25 16:36:11 +02:00
Ludovic Courtès c8c6bba5a7 gnu: sed: Allow cross-compilation.
* gnu/packages/base.scm (sed): Keep the default phases
  when (%current-target-system) is true.
2013-05-25 16:26:16 +02:00
Ludovic Courtès de59af4d6d gnu: coreutils: Allow cross-compilation.
* gnu/packages/base.scm (coreutils): Remove Perl input
  when (%current-target-system) is true.  Use %standard-cross-phases as
  the base when (%current-target-system) is true.
2013-05-25 16:24:21 +02:00
Ludovic Courtès 2a552f1177 gnu: gettext, attr, acl: Disable `check' phase twiddling when cross building.
* gnu/packages/gettext.scm (gettext)[arguments]: Disable `check' phase
  manipulations when (%current-target-system) is true.
* gnu/packages/attr.scm (attr)[arguments]: Likewise.
* gnu/packages/acl.scm (acl)[arguments]: Likewise.
2013-05-25 16:19:06 +02:00
Ludovic Courtès a7dc055bb5 packages: Make `native-inputs' thunked.
* guix/packages.scm (<package>): Make `native-inputs' thunked.
2013-05-25 16:14:57 +02:00
Ludovic Courtès cd52703ace packages: Re-export `%current-target-system'.
* guix/packages.scm: Re-export `%current-target-system'.
2013-05-25 16:14:37 +02:00
Ludovic Courtès ee4d736881 build-system/gnu: Make sure build input variables contain pairs.
* guix/build-system/gnu.scm (gnu-cross-build)[builder]: Make sure
  %build-host-inputs and %build-target-inputs always contain pairs, not
  lists.
2013-05-25 15:35:36 +02:00
Ludovic Courtès 2ee5f56b4d build: `hydra.scm' cross-builds simpler packages.
* hydra.scm (%packages-to-cross-build): Remove things from
  make-bootstrap for now.
2013-05-25 00:03:28 +02:00
Ludovic Courtès 5dce82180b build-system/trivial: Implement the cross-build protocol.
* guix/build-system/trivial.scm (guile-for-build): New procedure.
  (trivial-build): Use it.
  (trivial-cross-build): New procedure.
  (trivial-build-system): Use it.
2013-05-24 23:53:06 +02:00
Ludovic Courtès cba363bea8 package: Fix default profile ownership check when it's just been created.
* guix/scripts/package.scm (guix-package)[ensure-default-profile]: Check
  whether S is true before checking its owner.  Fixes the case where we
  built %PROFILE-DIRECTORY just above.
2013-05-24 23:14:19 +02:00
Ludovic Courtès 929c0f69de build: `hydra.scm' adds cross-build jobs.
* hydra.scm (package->alist): Add `package-derivation' argument.
  (package-cross-job): New procedure.
  (%packages-to-cross-build, %cross-targets): New variables.
  (hydra-jobs): Add cross jobs.
2013-05-24 23:12:56 +02:00
Ludovic Courtès e55ec43d8b build: Add `--target' option.
* guix/scripts/build.scm (derivations-from-package-expressions): Add
  `package-derivation' parameter.
  (show-help, %options): Add `--target'.
  (guix-build): Use `package-cross-derivation' when `--target' is
  passed.
* tests/guix-build.sh: Add dry-run test with `--target'.
* doc/guix.texi (Invoking guix build): Document `--target'.
2013-05-24 22:52:52 +02:00
Ludovic Courtès 264218a47e build-system/gnu: Implement cross build.
* guix/build-system/gnu.scm (inputs-search-paths): New procedure.
  (standard-search-paths): Use it.
  (expand-inputs): New procedure.
  (standard-inputs): Use it.
  (standard-cross-packages, standard-cross-inputs,
  standard-cross-search-paths, gnu-cross-build): New procedures.
  (gnu-build-system): Set `cross-build' field to `gnu-cross-build'.
* gnu/packages/cross-base.scm: Export `cross-gcc', `cross-binutils', and
  `cross-libc'.
* guix/build/gnu-cross-build.scm: New file.
* Makefile.am (MODULES): Add it.
2013-05-24 22:44:15 +02:00
Ludovic Courtès 9c1edabd8b packages: Implement `package-cross-derivation'.
* guix/packages.scm (package-transitive-target-inputs,
  package-transitive-native-inputs): New procedures.
  (package-derivation): Parametrize `%current-target-system'.
  (package-cross-derivation): Implement.
* guix/utils.scm (%current-target-system): New variable.
* tests/packages.scm ("package-cross-derivation"): New test.
* doc/guix.texi (Defining Packages): Document
  `package-cross-derivation'.
2013-05-24 22:30:58 +02:00
Ludovic Courtès 17bb886ff4 gnu: cross-gcc: Set the right search paths.
* gnu/packages/cross-base.scm (cross-gcc): Override `search-paths' and
  `native-search-paths'.
2013-05-24 21:55:52 +02:00
Ludovic Courtès 248d08ebf0 gnu: cross-gcc: Change patch so that `CROSS_LIBRARY_PATH' is honored.
* gnu/packages/patches/gcc-cross-environment-variables.patch: Add two
  hunks, most notably one that changes GCC to honor LIBRARY_PATH_ENV
  when cross-compiling.
2013-05-24 21:54:44 +02:00
Ludovic Courtès a63062b55a packages: Factorize things common to `package-{,cross-}derivation'.
* guix/packages.scm (expand-input): New procedure, moved out of...
  (package-derivation): ... here.  Adjust accordingly.
  (package-cross-derivation): Add `cross-system' and `system'
  parameters.
2013-05-24 08:58:52 +02:00
Ludovic Courtès 7046c48d72 nls: Add Esperanto translation.
* po/eo.po, po/LINGUAS: New files.
2013-05-24 00:22:57 +02:00
Ludovic Courtès 3ec7ad8e0f gnu: Add UnRTF.
* gnu/packages/unrtf.scm: New file.
* Makefile.am (MODULES): Add it.
2013-05-24 00:03:57 +02:00
Ludovic Courtès a10f6f7bf7 gnu: libgc: Add 7.2d.
* gnu/packages/bdw-gc.scm (libgc-7.2): New variable.
2013-05-23 00:11:38 +02:00
Ludovic Courtès bb3fe7fcfe gnu: Add GNU Plotutils.
* gnu/packages/plotutils.scm: New file.
* Makefile.am (MODULES): Add it.
2013-05-22 00:33:14 +02:00
Ludovic Courtès d149583162 Update `NEWS'. 2013-05-20 18:30:55 +02:00
Ludovic Courtès 1972fed4df gnu: Add CVS.
* gnu/packages/version-control.scm (cvs): New variable.
2013-05-20 18:29:43 +02:00
Ludovic Courtès 969e678ed9 Add --max-silent-time' to guix build' and `guix package'.
* guix/scripts/build.scm (%default-options): Add default
  `max-silent-time' value.
  (show-help, %options):  Add `--max-silent-time'.
  (guix-build): Pass `max-silent-time' to `set-build-options'.
* guix/scripts/package.scm (%default-options): Add default
  `max-silent-time' value.
  (show-help, %options):  Add `--max-silent-time'.
  (guix-package): Pass `max-silent-time' to `set-build-options'.
* guix/ui.scm (string->number*): New procedure.
* tests/derivations.scm ("build-expression->derivation and
  max-silent-time"): New test.
* doc/guix.texi (Invoking guix package, Invoking guix build): Document
  `--max-silent-time'.
2013-05-20 18:29:26 +02:00
Ludovic Courtès d8482ad0d6 gnu: Add strace.
* gnu/packages/linux.scm (strace): New variable.
2013-05-18 23:31:14 +02:00
Ludovic Courtès 35ec07c758 gnu: Improve synopses for Linux-related packages.
* gnu/packages/linux.scm (util-linux, procps, e2fsprogs): Clarify and
  shrink synopses.
2013-05-18 23:02:25 +02:00
Ludovic Courtès 4bc3fcc771 build: Switch to 0.3.
* configure.ac: Bump to 0.3.  Use the full URL.
2013-05-18 23:01:28 +02:00
Ludovic Courtès 499b8d1f84 Update `TODO'. 2013-05-17 23:15:49 +02:00
Ludovic Courtès f11617d8a6 gnu: automake: Update to 1.13.2.
* gnu/packages/autotools.scm (autoconf-wrapper): Wrap `configure' files
  regardless of the exit code of `autoconf'.  Triggered by Automake's
  `t/am-prog-cc-stdc.sh'.
  (automake): Update to 1.13.2.
2013-05-17 23:10:47 +02:00
Ludovic Courtès 70c4329172 package: Make sure the profile directory is owned by the user.
* guix/scripts/package.scm (guix-package)[ensure-default-profile]: Check
  the owner of %PROFILE-DIRECTORY.  Report an error when the owner is
  not the current user.  Add `rtfm' procedure.
* doc/guix.texi (Invoking guix package): Mention the ownership test.
2013-05-16 20:04:13 +02:00
Ludovic Courtès 101d9f3fd4 substitute-binary: Pass `filtered-port' an unbuffered port.
This fixes a bug whereby `read-response' would read more than just the
response, with the extra data going into the port's buffer; the
"bzip2 -dc" process spawned by `filtered-port' would not see the those
buffered data, which are definitely lost, and would bail out with
"bzip2: (stdin) is not a bzip2 file."

* guix/utils.scm (filtered-port): Document that INPUT must be
  unbuffered.
* guix/web.scm (http-fetch): Add `buffered?' parameter.  Call
  `open-socket-for-uri' explicitly, and call `setvbuf' when BUFFERED? is
  false.  Pass the port to `http-get'.  Close it upon 301/302.
* guix/scripts/substitute-binary.scm (fetch): Add `buffered?'
  parameter.  Pass it to `http-fetch'; honor it for `file' URIs.
  (guix-substitute-binary): Call `fetch' with #:buffered? #f for port RAW.
* tests/utils.scm ("filtered-port, file"): Open FILE as unbuffered.
2013-05-15 23:40:09 +02:00
Ludovic Courtès 3d6b71e87e gnu: texinfo: Don't propagate Perl.
* gnu/packages/texinfo.scm (texinfo): Don't propagate Perl.
2013-05-15 00:15:25 +02:00
Ludovic Courtès 0332386251 substitute-binary: Work around thread-unsafe `regexp-exec'.
* guix/scripts/substitute-binary.scm (%regexp-exec-mutex): New variable.
  (string->uri): New procedure.
  (fields->alist): Wrap `regexp-exec' call in `with-mutex'.
2013-05-14 23:53:38 +02:00
Ludovic Courtès 90a1e4b303 package: Always clear the SIGINT handler.
* guix/scripts/package.scm (call-with-sigint-handler): Wrap THUNK in
  `dynamic-wind' so that the SIGINT handler is always cleared.
2013-05-14 23:52:13 +02:00
Ludovic Courtès 91fe0e20c7 ftp-client: Let callers handle `ftp-open' exceptions.
* guix/ftp-client.scm (ftp-open): Let exceptions through.
* guix/scripts/package.scm (waiting): Wrap EXP in a `dynamic-wind', so
  the line is always cleared.
2013-05-14 23:51:36 +02:00
Ludovic Courtès b30b13dc3d Sort commands alphabetically in "guix --help".
* guix/ui.scm (show-guix-help): Sort commands.
2013-05-14 13:37:53 +02:00
Ludovic Courtès 2b8cf44fd9 Fix "guix --help" on Guile 2.0.5.
Reported at <http://linuxfr.org/news/sortie-de-gnu-guix-0-2>.

* guix/ui.scm (command-files): Filter the result of `scandir' to make
  sure only `.scm' files are present.
2013-05-14 13:37:21 +02:00
307 changed files with 27739 additions and 5421 deletions
+12 -2
View File
@@ -13,9 +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-error-handling 'scheme-indent-function 0))
(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))))
+11
View File
@@ -24,6 +24,7 @@ config.cache
/m4/progtest.m4
/po/ChangeLog
/po/Makefile.in.in
/po/Makevars.template
/po/POTFILES
/po/Rules-quot
/po/boldquot.sed
@@ -34,6 +35,8 @@ config.cache
/po/remove-potcdate.sin
/po/stamp-po
/po/guix.pot
/po/*.mo
/po/*.gmo
/tests/*.trs
/INSTALL
/m4/*
@@ -45,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
@@ -73,3 +77,10 @@ stamp-h[0-9]
/doc/guix.vr
/doc/guix.vrs
/nix/scripts/substitute-binary
/doc/images/bootstrap-graph.png
/doc/images/bootstrap-graph.eps
/guix-register
GPATH
GRTAGS
GTAGS
/nix-setuid-helper
+12 -6
View File
@@ -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>
+110 -147
View File
@@ -3,18 +3,58 @@
#+TITLE: Hacking GNU Guix and Its Incredible Distro
Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org>
Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.
* Building from Git
When building Guix from a checkout, the following packages are required in
addition to those mentioned in the installation instructions:
- [[http://www.gnu.org/software/autoconf/][GNU Autoconf]]
- [[http://www.gnu.org/software/automake/][GNU Automake]]
- [[http://www.gnu.org/software/gettext/][GNU Gettext]]
- [[http://www.graphviz.org/][Graphviz]]
Run ./bootstrap to download the Nix daemon source code and to generate the
build system infrastructure using autoconf. It reports an error if an
inappropriate version of the above packages is being used.
The bootstrap script, among other things, invokes git submodule update; if
you didnt 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'
If you get an error like this one:
configure.ac:46: error: possibly undefined macro: PKG_CHECK_MODULES
it probably means that Autoconf couldnt find pkg.m4, which is provided by
pkg-config. Make sure that pkg.m4 is available. For instance, if you
installed Automake in /usr/local, it wouldnt look for .m4 files in
/usr/share. So you have to invoke the following command in that case
$ export ACLOCAL_PATH=/usr/share/aclocal
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>.
* Running Guix before it is installed
Command-line tools can be used even if you have not run "make install".
To do that, prefix each command with ./pre-inst-env, as in:
./pre-inst-env guix-build --help
./pre-inst-env guix build --help
Similarly, for a Guile session using the Guix modules:
@@ -40,162 +80,85 @@ addition to that, you must not miss [[http://www.emacswiki.org/emacs/ParEdit][Pa
directly operate on the syntax tree, such as raising an s-expression or
wrapping it, swallowing or rejecting the following s-expression, etc.
* Adding new packages
Package recipes in Guix look like this:
#+BEGIN_SRC scheme
(package
(name "nettle")
(version "2.5")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://gnu/nettle/nettle-"
version ".tar.gz"))
(sha256
(base32
"0wicr7amx01l03rm0pzgr1qvw3f9blaw17vjsy1301dh13ll58aa"))))
(build-system gnu-build-system)
(inputs `(("m4" ,m4)))
(propagated-inputs `(("gmp" ,gmp)))
(home-page
"http://www.lysator.liu.se/~nisse/nettle/")
(synopsis "GNU Nettle, a cryptographic library")
(description
"Nettle is a cryptographic library...")
(license gpl2+))
#+END_SRC
Such a recipe can be written by hand, and then tested by running
./pre-inst-env guix-build nettle.
When writing the recipe, the base32-encoded SHA256 hash of the source
code tarball, which can be seen in the example above, can be obtained by
running:
guix-download http://ftp.gnu.org/gnu/nettle/nettle-2.5.tar.gz
Alternatively, it is possible to semi-automatically import recipes from
the [[http://nixos.org/nixpkgs/][Nixpkgs]] software distribution using this command:
guix-import /path/to/nixpkgs/checkout nettle
The command automatically fetches and converts to Guix the “Nix
expression” of Nettle.
* Porting the Guix distro on a new platform
** Introduction
Unlike Make or similar build tools, Guix requires absolutely /all/ the
dependencies of a build process to be specified.
For a user-land software distribution, that means that the process that
builds GCC (then used to build all other programs) must itself be
specified; and the process to build the C library to build that GCC; and
the process to build the GCC to build that library; and... See the
problem? Chicken-and-egg.
To break that cycle, the distro starts from a set of pre-built
binariesusually referred to as “bootstrap binaries.” These include
statically-linked versions of Guile, GCC, Coreutils, Make, Grep, sed,
etc., and the GNU C Library.
This section describes how to build those bootstrap binaries when
porting to a new platform.
** When the platform is supported by Nixpkgs
In that case, the easiest thing is to bootstrap the distro using
binaries from Nixpkgs.
To do that, you need to comment out the definitions of
%bootstrap-guile and %bootstrap-inputs in distro/packages/bootstrap.scm
to force the use of Nixpkgs derivations. For instance, when porting to
i686-linux, you should redefine these variables along these lines:
#+BEGIN_SRC scheme
(define %bootstrap-guile
(nixpkgs-derivation "guile" "i686-linux"))
(define %bootstrap-inputs
(compile-time-value
`(("libc" ,(nixpkgs-derivation "glibc" "i686-linux"))
,@(map (lambda (name)
(list name (nixpkgs-derivation name "i686-linux")))
'("gnutar" "gzip" "bzip2" "xz" "patch"
"coreutils" "gnused" "gnugrep" "bash"
"gawk" ; used by `config.status'
"gcc" "binutils")))))
#+END_SRC
That should allow the distro to be bootstrapped.
Then, the tarballs containing the initial binaries of Guile, Coreutils,
GCC, libc, etc. need to be built. To that end, run the following
commands:
#+BEGIN_SRC sh
./pre-inst-env guix-build -K \
-e '(@ (gnu packages make-bootstrap) %bootstrap-tarballs)' \
--system=i686-linux
#+END_SRC
These should build tarballs containing statically-linked tools usable on
that system.
In the source tree, you need to install binaries for mkdir, bash,
tar, and xz under distro/packages/bootstrap/i686-linux. These
binaries can be extracted from the static-binaries tarball built above.
A rule for distro/packages/bootstrap/i686-linux/guile-2.0.7.tar.xz
needs to be added in Makefile.am, with the appropriate hexadecimal
vrepresentation of its SHA256 hash.
You may then revert your changes to bootstrap.scm. For the variables
%bootstrap-coreutils&co, %bootstrap-binutils, %bootstrap-glibc,
and %bootstrap-gcc, the expected SHA256 of the corresponding tarballs
for i686-linux (built above) must be added.
This should be enough to bootstrap the distro without resorting to
Nixpkgs.
** When the platform is *not* supported by Nixpkgs
In that case, the bootstrap binaries should be built using whatever
tools are available on the target platform. That is, the tarballs and
binaries show above must first be built manually, using the available
tools.
They should have the same properties as those built by the Guix recipes
shown above. For example, all the binaries (except for glibc) must be
statically-linked; the bootstrap Guile must be relocatable (see patch in
the Guix distro); the static-binaries tarball must contain the same
programs (Coreutils, Grep, sed, Awk, etc.); and so on.
* Commit Access
* Submitting Patches
Development is done using the Git distributed version control system. Thus,
access to the repository is not strictly necessary. We welcome contributions
in the form of patches as produced by git format-patch sent to
bug-guix@gnu.org.
guix-devel@gnu.org. Please write commit logs in the [[http://www.gnu.org/prep/standards/html_node/Change-Logs.html#Change-Logs][GNU ChangeLog format]].
However, for frequent contributors, having write access to the repository is
convenient. When you get commit access, please make sure to follow the policy
below (discussions of the policy can take place on bug-guix@gnu.org.)
As you become a regular contributor, you may find it convenient to have write
access to the repository (see below.)
Non-trivial patches should always be posted to bug-guix@gnu.org (trivial
* Coding Style
In general our code follows the [[info:standards][GNU Coding Standards]] (GCS). However, the GCS
do not say much about Scheme, so here are some additional rules.
** Programming Paradigm
Scheme code in Guix is written in a purely functional style. One exception is
code that involves input/output, and procedures that implement low-level
concepts, such as the memoize procedure.
** Modules
Guile modules that are meant to be used on the builder side must live in the
(guix build …) name space. They must not refer to other Guix or GNU modules.
However, it is OK for a “host-side” module to use a build-side module.
Modules that deal with the broader GNU system should be in the (gnu …) name
space rather than (guix …).
** Data Types and Pattern Matching
The tendency in classical Lisp is to use lists to represent everything, and
then to browse them “by hand” using car, cdr, cadr, and co. There are
several problems with that style, notably the fact that it is hard to read,
error-prone, and a hindrance to proper type error reports.
Guix code should define appropriate data types (for instance, using
define-record-type*) rather than abuse lists. In addition, it should use
pattern matching, via Guiles (ice-9 match) module, especially when matching
lists.
** Formatting Code
When writing Scheme code, we follow common wisdom among Scheme programmers.
In general, we follow the [[http://mumble.net/~campbell/scheme/style.txt][Riastradh's Lisp Style Rules]]. This document happens
to describe the conventions mostly used in Guiles code too. It is very
thoughtful and well written, so please do read it.
Some special forms introduced in Guix, such as the substitute* macro, have
special indentation rules. These are defined in the .dir-locals.el file,
which Emacs automatically uses. If you do not use Emacs, please make sure to
let your editor know the rules.
We require all top-level procedures to carry a docstring. This requirement
can be relaxed for simple private procedures in the (guix build …) name space,
though.
Procedures should not have more than four positional parameters. Use keyword
parameters for procedures that take more than four parameters.
* Commit Access
For frequent contributors, having write access to the repository is
convenient. When you deem it necessary, feel free to ask for it on the
mailing list. When you get commit access, please make sure to follow the
policy below (discussions of the policy can take place on guix-devel@gnu.org.)
Non-trivial patches should always be posted to guix-devel@gnu.org (trivial
patches include fixing typos, etc.)
For patches that just add a new package, and a simple one, its OK to commit,
if youre confident (which means you successfully built it in a chroot setup.)
Likewise for package upgrades. We have a mailing list for commit
notifications (guix-commits@gnu.org), so people can notice. Before pushing
your changes, make sure to run git pull --rebase.
if youre confident (which means you successfully built it in a chroot setup,
and have done a reasonable copyright and license auditing.) Likewise for
package upgrades. We have a mailing list for commit notifications
(guix-commits@gnu.org), so people can notice. Before pushing your changes,
make sure to run git pull --rebase.
For anything else, please post to bug-guix@gnu.org and leave time for a
For anything else, please post to guix-devel@gnu.org and leave time for a
review, without committing anything. If you didnt receive any reply
after two weeks, and if youre confident, its OK to commit.
+67 -254
View File
@@ -24,23 +24,19 @@ nodist_noinst_SCRIPTS = \
pre-inst-env \
test-env
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 \
@@ -50,13 +46,15 @@ MODULES = \
guix/build-system/python.scm \
guix/build-system/trivial.scm \
guix/ftp-client.scm \
guix/web.scm \
guix/http-client.scm \
guix/gnupg.scm \
guix/store.scm \
guix/ui.scm \
guix/build/download.scm \
guix/build/cmake-build-system.scm \
guix/build/gnu-build-system.scm \
guix/build/gnu-dist.scm \
guix/build/linux-initrd.scm \
guix/build/perl-build-system.scm \
guix/build/python-build-system.scm \
guix/build/utils.scm \
@@ -64,253 +62,49 @@ 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/packages.scm \
gnu/packages/acl.scm \
gnu/packages/algebra.scm \
gnu/packages/aspell.scm \
gnu/packages/attr.scm \
gnu/packages/autotools.scm \
gnu/packages/avahi.scm \
gnu/packages/base.scm \
gnu/packages/bash.scm \
gnu/packages/bdb.scm \
gnu/packages/bdw-gc.scm \
gnu/packages/bison.scm \
gnu/packages/bootstrap.scm \
gnu/packages/cdrom.scm \
gnu/packages/cflow.scm \
gnu/packages/check.scm \
gnu/packages/cmake.scm \
gnu/packages/compression.scm \
gnu/packages/cpio.scm \
gnu/packages/cppi.scm \
gnu/packages/cross-base.scm \
gnu/packages/cryptsetup.scm \
gnu/packages/curl.scm \
gnu/packages/cyrus-sasl.scm \
gnu/packages/dejagnu.scm \
gnu/packages/ddrescue.scm \
gnu/packages/dwm.scm \
gnu/packages/ed.scm \
gnu/packages/emacs.scm \
gnu/packages/fdisk.scm \
gnu/packages/file.scm \
gnu/packages/flex.scm \
gnu/packages/fontutils.scm \
gnu/packages/freeipmi.scm \
gnu/packages/gawk.scm \
gnu/packages/gcc.scm \
gnu/packages/gdb.scm \
gnu/packages/gdbm.scm \
gnu/packages/gettext.scm \
gnu/packages/ghostscript.scm \
gnu/packages/glib.scm \
gnu/packages/global.scm \
gnu/packages/gnupg.scm \
gnu/packages/gnutls.scm \
gnu/packages/gperf.scm \
gnu/packages/gprolog.scm \
gnu/packages/groff.scm \
gnu/packages/grub.scm \
gnu/packages/gsasl.scm \
gnu/packages/gtk.scm \
gnu/packages/guile.scm \
gnu/packages/gv.scm \
gnu/packages/help2man.scm \
gnu/packages/hugs.scm \
gnu/packages/icu4c.scm \
gnu/packages/idutils.scm \
gnu/packages/indent.scm \
gnu/packages/irssi.scm \
gnu/packages/ld-wrapper.scm \
gnu/packages/less.scm \
gnu/packages/lesstif.scm \
gnu/packages/libapr.scm \
gnu/packages/libdaemon.scm \
gnu/packages/libevent.scm \
gnu/packages/libffi.scm \
gnu/packages/libidn.scm \
gnu/packages/libjpeg.scm \
gnu/packages/libphidget.scm \
gnu/packages/libpng.scm \
gnu/packages/libsigsegv.scm \
gnu/packages/libtiff.scm \
gnu/packages/libunistring.scm \
gnu/packages/libusb.scm \
gnu/packages/libunwind.scm \
gnu/packages/linux.scm \
gnu/packages/linux-initrd.scm \
gnu/packages/lout.scm \
gnu/packages/lsh.scm \
gnu/packages/lsof.scm \
gnu/packages/lua.scm \
gnu/packages/lvm.scm \
gnu/packages/m4.scm \
gnu/packages/mailutils.scm \
gnu/packages/make-bootstrap.scm \
gnu/packages/mit-krb5.scm \
gnu/packages/mp3.scm \
gnu/packages/multiprecision.scm \
gnu/packages/mysql.scm \
gnu/packages/nano.scm \
gnu/packages/ncurses.scm \
gnu/packages/netpbm.scm \
gnu/packages/nettle.scm \
gnu/packages/ocaml.scm \
gnu/packages/oggvorbis.scm \
gnu/packages/openldap.scm \
gnu/packages/openssl.scm \
gnu/packages/parted.scm \
gnu/packages/patchelf.scm \
gnu/packages/pcre.scm \
gnu/packages/pdf.scm \
gnu/packages/perl.scm \
gnu/packages/pkg-config.scm \
gnu/packages/popt.scm \
gnu/packages/pth.scm \
gnu/packages/python.scm \
gnu/packages/qemu.scm \
gnu/packages/ratpoison.scm \
gnu/packages/readline.scm \
gnu/packages/recutils.scm \
gnu/packages/rsync.scm \
gnu/packages/samba.scm \
gnu/packages/scheme.scm \
gnu/packages/screen.scm \
gnu/packages/shishi.scm \
gnu/packages/smalltalk.scm \
gnu/packages/sqlite.scm \
gnu/packages/ssh.scm \
gnu/packages/subversion.scm \
gnu/packages/system.scm \
gnu/packages/tcl.scm \
gnu/packages/tcsh.scm \
gnu/packages/texinfo.scm \
gnu/packages/texlive.scm \
gnu/packages/time.scm \
gnu/packages/tmux.scm \
gnu/packages/tor.scm \
gnu/packages/version-control.scm \
gnu/packages/vim.scm \
gnu/packages/vpn.scm \
gnu/packages/w3m.scm \
gnu/packages/wdiff.scm \
gnu/packages/wget.scm \
gnu/packages/which.scm \
gnu/packages/xml.scm \
gnu/packages/xorg.scm \
gnu/packages/zile.scm \
gnu/packages/zip.scm \
gnu/system/vm.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
nobase_dist_guilemodule_DATA = $(MODULES)
patchdir = $(guilemoduledir)/gnu/packages/patches
dist_patch_DATA = \
gnu/packages/patches/automake-skip-amhello-tests.patch \
gnu/packages/patches/bigloo-gc-shebangs.patch \
gnu/packages/patches/binutils-ld-new-dtags.patch \
gnu/packages/patches/cmake-fix-tests.patch \
gnu/packages/patches/cpio-gets-undeclared.patch \
gnu/packages/patches/diffutils-gets-undeclared.patch \
gnu/packages/patches/emacs-configure-sh.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/gettext-gets-undeclared.patch \
gnu/packages/patches/glib-tests-desktop.patch \
gnu/packages/patches/glib-tests-homedir.patch \
gnu/packages/patches/glib-tests-prlimit.patch \
gnu/packages/patches/glib-tests-timezone.patch \
gnu/packages/patches/glibc-bootstrap-system.patch \
gnu/packages/patches/glibc-no-ld-so-cache.patch \
gnu/packages/patches/grub-gets-undeclared.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/libapr-skip-getservbyname-test.patch \
gnu/packages/patches/libevent-dns-tests.patch \
gnu/packages/patches/libtool-skip-tests.patch \
gnu/packages/patches/lsh-guile-compat.patch \
gnu/packages/patches/lsh-no-root-login.patch \
gnu/packages/patches/lsh-pam-service-name.patch \
gnu/packages/patches/m4-gets-undeclared.patch \
gnu/packages/patches/m4-readlink-EINVAL.patch \
gnu/packages/patches/m4-s_isdir.patch \
gnu/packages/patches/make-impure-dirs.patch \
gnu/packages/patches/mcron-install.patch \
gnu/packages/patches/perl-no-sys-dirs.patch \
gnu/packages/patches/python-fix-dbm.patch \
gnu/packages/patches/procps-make-3.82.patch \
gnu/packages/patches/qemu-multiple-smb-shares.patch \
gnu/packages/patches/readline-link-ncurses.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/vpnc-script.patch \
gnu/packages/patches/w3m-fix-compile.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
dist_bootstrap_x86_64_linux_DATA = \
gnu/packages/bootstrap/x86_64-linux/bash \
gnu/packages/bootstrap/x86_64-linux/mkdir \
gnu/packages/bootstrap/x86_64-linux/tar \
gnu/packages/bootstrap/x86_64-linux/xz
dist_bootstrap_i686_linux_DATA = \
gnu/packages/bootstrap/i686-linux/bash \
gnu/packages/bootstrap/i686-linux/mkdir \
gnu/packages/bootstrap/i686-linux/tar \
gnu/packages/bootstrap/i686-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
nodist_bootstrap_i686_linux_DATA = \
gnu/packages/bootstrap/i686-linux/guile-2.0.7.tar.xz
# Those files must remain executable, so they remain executable once
# imported into the store.
install-data-hook:
chmod +x $(DESTDIR)$(bootstrapdir)/*/{bash,mkdir,tar,xz}
DISTCLEANFILES = \
$(nodist_bootstrap_x86_64_linux_DATA) \
$(nodist_bootstrap_i686_linux_DATA)
# Method to download a file from an external source.
DOWNLOAD_FILE = \
GUILE_LOAD_COMPILED_PATH="$(top_builddir):$$GUILE_LOAD_COMPILED_PATH" \
$(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:
$(MKDIR_P) `dirname "$@"`
$(DOWNLOAD_FILE) "$@" "bc43210dcd146d242bef4d354b0aeac12c4ef3118c07502d17ffa8d49e15aa2c"
gnu/packages/bootstrap/i686-linux/guile-2.0.7.tar.xz:
$(MKDIR_P) `dirname "$@"`
$(DOWNLOAD_FILE) "$@" "f9a7c6f4c556eaafa2a69bcf07d4ffbb6682ea831d4c9da9ba095aca3ccd217c"
nobase_nodist_guilemodule_DATA = $(GOBJECTS) guix/config.scm
# Do we need to provide our own non-broken (srfi srfi-37) module?
if INSTALL_SRFI_37
nobase_nodist_guilemodule_DATA += srfi/srfi-37.scm
GOBJECTS += srfi/srfi-37.go
srfi/srfi-37.scm: srfi/srfi-37.scm.in
$(MKDIR_P) srfi
cp "$<" "$@"
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 \
tests/hash.scm \
tests/builders.scm \
tests/derivations.scm \
tests/ui.scm \
@@ -320,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 \
@@ -330,6 +126,13 @@ SH_TESTS = \
tests/guix-hash.sh \
tests/guix-package.sh
if BUILD_DAEMON
SH_TESTS += tests/guix-register.sh
endif BUILD_DAEMON
TESTS = $(SCM_TESTS) $(SH_TESTS)
TEST_EXTENSIONS = .scm .sh
@@ -355,9 +158,13 @@ EXTRA_DIST = \
ROADMAP \
TODO \
.dir-locals.el \
hydra.scm \
build-aux/hydra/gnu-system.scm \
build-aux/hydra/guix.scm \
build-aux/check-available-binaries.scm \
build-aux/download.scm \
build-aux/sync-synopses.scm \
build-aux/list-packages.scm \
build-aux/sync-descriptions.scm \
srfi/srfi-37.scm.in \
srfi/srfi-64.scm \
srfi/srfi-64.upstream.scm \
tests/test.drv \
@@ -397,8 +204,7 @@ $(guix_install_go_files): install-nobase_dist_guilemoduleDATA
SUBDIRS = po
info_TEXINFOS = doc/guix.texi
EXTRA_DIST += doc/fdl-1.3.texi
include doc.am
if BUILD_DAEMON
@@ -412,11 +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 \
@@ -435,4 +242,10 @@ assert-no-store-file-names:
exit 1 ; \
fi
.PHONY: sync-synopses gen-ChangeLog assert-no-store-file-names
# Make sure hydra.gnu.org has the important binaries.
assert-binaries-available:
$(top_builddir)/pre-inst-env "$(GUILE)" \
"$(top_srcdir)/build-aux/check-available-binaries.scm"
.PHONY: sync-descriptions gen-ChangeLog clean-go
.PHONY: assert-no-store-file-names assert-binaries-available
+326
View File
@@ -10,6 +10,332 @@ 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 systems 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
*** New --list-generations and --delete-generations options
The guix package command has these two new options, which make it easier to
deal with a profiles generation. See “Invoking guix package” in the manual.
*** New guix-register program
This program allows the meta-data of a new store to be initialized, by
copying info from an existing store. It is mostly an internal tool.
** Programming interfaces
*** New API to bootstrap Autotools-based packages
The (guix build-system gnu) has a new dist-package procedure that takes a
package object and source directory, and returns a new package object that
runs ./bootstrap && make dist or anything similar.
*** derivation and related procedures have a #:references-graphs parameter
This parameter instructs the build daemon to populate the derivations build
tree with files containing the list of references of the given store files.
This is useful to write code that copies a packages and all its dependencies
to another storage device, such as a QEMU disk image.
*** Extended API to build a GNU system virtual machine image
The (gnu system vm) module has been augmented in many ways: the qemu-image
procedure can now populate and initialize the images store; the new
system-qemu-image procedure returns a QEMU image that runs dmd as its init
system, has login running on several consoles, has a set of installed
packages, and where Guix can be used.
New (gnu system …) modules have been added to handle the configuration of the
various parts of a GNU/Linux system. For instance, (gnu system dmd) provides
support for instantiating dmd services; (gnu system linux) helps with Linux
PAM configuration; and so on.
*** <derivation> objects supersede .drv file names in the API
derivation and similar procedures no longer return two values (a
<derivation> and a .drv file name); they now return a single value, which is
a <derivation> object. The <derivation> object embeds the corresponding .drv
file name. See “Derivations” in the manual for details.
** GNU distribution
*** 60 new packages
apr, apr-util, cdparanoia, dbus-glib, dfc, dmd, dvdisaster, exiv2, fetchmail,
freefont-ttf, freeglut, geeqie, git, gkrellm, glu, gnome-doc-utils,
gst-plugins-base, gstreamer, guile-cairo, guile-lib, guile-xcb, guix, htop,
itstool, lame, libextractor, libmicrohttpd, lightning, lzip, mingetty, mutt,
net-base, net-tools, ocrad, pspp, python-babel, python-dateutil, python-pytz,
python-setuptools, python-simplejson, python-wrapper, python2-babel,
python2-dateutil, python2-mechanize, python2-pyicu, python2-pysqlite,
python2-pytz, python2-setuptools, python2-simplejson, qemu-system-initrd,
qemu-with-multiple-smb-shares, ripperx, shadow, ttf-bitstream-vera, units,
valgrind, xmlto, xnee, yasm
*** 27 package updates
bigloo 4.0b, cairo 1.12.16, ddrescue 1.17, fontconfig 2.10.93, fplll 4.0.4,
gcc 4.7.3, gcc 4.7.3, glibc 2.18, glibc 2.18, glibc-stripped-tarball 2.18,
gnupg 2.0.21, gnutls 3.2.4, guile 2.0.9, guile 2.0.9, harfbuzz 0.9.21,
imagemagick 6.8.6-9, libdrm 2.4.46, libgcrypt 1.5.3, libjpeg 9, libksba 1.3.0,
linux-libre 3.11, m4 1.4.17, mpfrcx 0.4.2, pari-gp 2.5.4, python 2.7.5, python
3.3.2, texlive 2013
*** Fontconfig font search path made more convenient
Fontconfig, the library used by many graphical applications, such as those
based on GTK+, now knows where to find the default set of fonts. Additional
fonts installed in the user profile are automatically picked up.
*** More GUI applications
The emacs and racket packages are now linked against GTK+. New GTK+
applications have been added (see above.)
*** Packaging guidelines
The documentation of packaging guidelines has been augmented. See the manual
under “GNU Distribution”.
*** Support for Python 3 along with Python 2
Python 3 has been added to the distribution, and Python packages that support
it are now built for both Python 2 and Python 3. See the “Python Modules”
section of the manual for details.
** Internationalization
Updated translations: eo.
** Bugs fixed
*** Workarounds for Guile 2.0.5 now work on Debian derivatives
*** The dependency graph image has correct size in PDF output
*** 'ldd' now works correctly on x86_64
*** Xorg server test suite no longer fails (http://bugs.gnu.org/15392)
*** module-init-tools now builds (http://bugs.gnu.org/15182, http://bugs.gnu.org/15187)
*** Hop 2.4 builds with newer Bigloo (http://bugs.gnu.org/15194)
* Changes in 0.3 (since 0.2)
** Package management
*** Cross-compilation support
Guix can now cross-build packages. On the command-line, this is achieved with
the new --target command-line option of guix build. At the Scheme level,
the guts of this is the package-cross-derivation procedure. Core packages
of the distribution can already be cross-compiled. See the manual for
details.
*** New --max-silent-time option for “guix build” and “guix package”
See the manual for details.
*** New --fallback option for “guix build” and “guix package”
This option instructs to fall back to local builds when the substituter fails
to download a substitute.
*** New --requisites option for “guix gc”
See the manual for details.
*** New --key-download option for “guix refresh”
See the manual for details.
** Programming interfaces
*** New package-cross-derivation procedure in (guix derivations)
See the manual for details.
*** New %current-target-system SRFI-39 parameter
This parameter is like %current-system, but for cross-compilation. It
allows code in package definitions (such as in the arguments field) to know
whether it is being cross-compiled, and what the target system is.
*** New (guix hash) module; new open-sha256-port and sha256-port procedures
This improves performance of SHA256 computations.
** GNU distribution
*** 33 new packages
alsa-lib, babel, cairo, cvs, gcal, gcc-cross-mips64el-linux-gnuabi64, gd,
gdk-pixbuf, graphviz, grue-hunter, gtk+, gts, harfbuzz, imagemagick, iproute2,
iptables, libspectre, mpg321, noweb, pango, plotutils, privoxy, pytz, racket,
rubber, rush, strace, tk, torsocks, unrtf, vc-dwim, wordnet, xlockmore
*** 25 package updates
automake 1.14, ed 1.9, freeipmi 1.2.8, gawk 4.1.0, gcc 4.8.1, gettext 0.18.3,
glib 2.37.1, gmp 5.1.2, gnutls 3.2.1, gzip 1.6, help2man 1.43.3, libapr 1.4.8,
libaprutil 1.5.2, libassuan 2.1.1, libffi 3.0.13, libgc 7.2d, libgpg-error
1.12, libidn 1.28, libpng 1.5.17, lout 3.40, lsh 2.1, nettle 2.7.1, qemu
1.5.1, tzdata 2013d, xorriso 1.3.0
*** Binary packages now available for i686-linux
The build farm at http://hydra.gnu.org now provides 32-bit GNU/Linux binaries
(i686-linux), in addition to the x86_64-linux binaries. Both can be
transparently used as substitutes for local builds on these platforms.
*** Debug info packages
Some packages now have a “debug” output containing debugging information. The
“debug” output can be used by GDB, and can be installed separately from the
other outputs of the package. See “Installing Debugging Files” in the manual.
*** Bootstrap binaries can be cross-compiled
The distribution can now be ported to new architectures (currently
GNU/Linux-only) by cross-compiling the “bootstrap binaries”. See “Porting”
in the manual.
*** Bootstrapping documented
See “Bootstrapping” in the manual, for information on how the GNU
distribution builds “from scratch”.
** Internationalization
New translations: eo, pt_BR.
** Bugs fixed
*** “guix --help” now works when using Guile 2.0.5
*** Binary substituter multi-threading and pipe issues fixed
These could lead to random substituter crashes while substituting a binary.
See commits 0332386 and 101d9f3 for details.
*** Binary substituter gracefully handles lack of network connectivity
*** Daemon properly handles rebuilds of multiple-output derivations
Previously it would fail when rebuilding a multiple-output derivation when
some (but not all) of its outputs were already present. See
http://lists.gnu.org/archive/html/bug-guix/2013-06/msg00038.html and
https://github.com/NixOS/nix/issues/122 .
*** guix package -i foo:out no longer removes other outputs of foo
Previously only the out output of package foo would be kept in the
profile.
*** Replacement (srfi srfi-37) provided if the users one is broken
When the users (srfi srfi-37) is affected by http://bugs.gnu.org/13176 (Guile
< 2.0.9), a replacement with the bug fix is provided. This bug would affect
command-line argument processing in some cases.
* Changes in 0.2 (since 0.1)
+20 -15
View File
@@ -20,7 +20,7 @@ Guix is based on the [[http://nixos.org/nix/][Nix]] package manager.
GNU Guix currently depends on the following packages:
- [[http://gnu.org/software/guile/][GNU Guile 2.0.x]]
- [[http://gnu.org/software/guile/][GNU Guile 2.0.x]], version 2.0.5 or later
- [[http://gnupg.org/][GNU libgcrypt]]
Unless `--disable-daemon' was passed, the following packages are needed:
@@ -33,32 +33,37 @@ When `--disable-daemon' was passed, you instead need the following:
- [[http://nixos.org/nix/][Nix]]
Optionally, packages from Nixpkgs may be transparently reused from Guix.
For this to work, you need to have a checkout of the Nixpkgs repository;
the `--with-nixpkgs' option allows you to let `configure' know where the
Nixpkgs checkout is.
* Installation
- [[http://nixos.org/nixpkgs/][Nixpkgs]]
See the manual for the installation instructions, either by running
When building Guix from a checkout, the following packages are also
required:
info -f doc/guix.info "(guix) Installation"
- [[http://www.gnu.org/software/autoconf/][GNU Autoconf]]
- [[http://www.gnu.org/software/automake/][GNU Automake]]
- [[http://www.gnu.org/software/gettext/][GNU Gettext]]
or by checking the [[http://www.gnu.org/software/guix/manual/guix.html#Installation][web copy of the manual]].
The "autoreconf -vi" command can be used to generate the build system
infrastructure; it reports an error if an inappropriate version of the
above packages is being used.
For information on installation from a Git checkout, please see the HACKING
file.
* Installing Guix from Guix
You can re-build and re-install Guix using a system that already runs Guix.
To do so:
- install the dependencies (see 'Requirements' above) using Guix
- Install the dependencies (see 'Requirements' above) and build tools using
Guix:
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_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/'
- run "make" and "make install"
* How It Works
+12 -2
View File
@@ -3,11 +3,21 @@ Transposing functional programming discipline to package management
proved to be inspiring and fruitful.
Thanks to the following people who contributed to GNU Guix through
suggestions, bug reports, patches, or general infrastructure help:
suggestions, bug reports, patches, internationalization, or general
infrastructure help:
Lluís Batlle i Rossell <viric@viric.name>
Felipe Castro <fefcas@gmail.com>
Daniel Clark <dclark@pobox.com>
Alexandru Cojocaru <xojoc@gmx.com>
Aleix Conchillo Flaqué <aconchillo@gmail.com>
Alex Sassmannshausen <alex.sassmannshausen@gmail.com>
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>
Cyrill Schenkel <cyrill.schenkel@gmail.com>
Jason Self <jself@gnu.org>
Alen Skondro <askondro@gmail.com>
Matthias Wachs <wachs@net.in.tum.de>
+29 -26
View File
@@ -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 arent 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
@@ -41,8 +43,10 @@ Like scripts/build-remote.pl in Nix.
* user interface
** Add a package.el (Emacs) back-end
Unfortunately package.el is monolithic, so most likely wed have to
write a new one based on it, as opposed to actually using it.
package.el is quite monolithic, but we may be able to reuse/extend
package-menu-mode or at least tabulated-list-mode.
** add guile-ncurses interface
* extend <origin>
** add OpenPGP signatures:
@@ -57,14 +61,18 @@ write a new one based on it, as opposed to actually using it.
* extend <package>
** add recommends field
For instance, glibc, binutils, gcc, and ld-wrapper would recommend each other.
guix package -i could ask interactively (?), or allow users to follow all or
none of the recommendations.
** add a user-environment-hook
This should specify builder code to be run when building a user
environment with guix-package. For instance, Texinfos hook would
create a new dir.
** add patches there
** extend propagated-build-inputs with support for multiple outputs
#+BEGIN_SRC scheme
@@ -76,6 +84,7 @@ create a new dir.
("i3" ,p3)))
#+END_SRC
* synchronize package descriptions with GSRC and/or the [[http://directory.fsf.org][FSD]]
Meta-data for GNU packages, including descriptions and synopses, can be
@@ -83,11 +92,8 @@ dumped from the FSD:
http://directory.fsf.org/wiki?title=GNU/Export&action=purge .
We could periodically synchronize with that.
* support cross-compilation
Implement package-cross-derivation, and add the corresponding code in
gnu-build-system. Then, actually bootstrap a cross-compilation
environmente.g., a cross-GNU environment.
See http://lists.gnu.org/archive/html/bug-guix/2013-04/msg00120.html for info
on how to synchronize with GSRC's descriptions.
* add a guildhall build system
@@ -95,19 +101,6 @@ The Guildhall is Guiles packaging system. It should be easy to add a
guildhall-build-system that does the right thing based on guildhall
recipes.
* gnu-build-system: produce a debug derivation
Set a .gnu_debuglink in the main derivations to point to the sibling
file name (only the basename, to not retain a dependency on the debug
derivation.)
For /nix/store/xyz-foobar/bin/foo, we should have
/nix/store/abc-foobar-debug/lib/nix/store/xyz-foobar/bin/foo.debug (info
"(gdb) Separate Debug Files").
Users should have a default GDB setting with ~/.guix-profile/lib/debug
as their debug-file-directory.
* build-expression->derivation: define `%system' in the builder
Would allow build expressions to have system-dependent code, like
@@ -123,6 +116,16 @@ Support sophisticated collision handling when building a union: check
whether the colliding files are identical, honor per-package priorities,
etc.
* add GUIX_ALLOW_EXPENSIVE_TESTS
Tests that need to download stuff or otherwise take a long time would only be
run when that is defined.
* add "guix challenge"
Would download a substitute, and compare its contents against a (hopefully
locally-built) copy.
* guix package
** add --list-generations, and --delete-generations
+57
View File
@@ -0,0 +1,57 @@
;;; 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/>.
;;;
;;; Check whether important binaries are available at hydra.gnu.org.
;;;
(use-modules (guix store)
(guix packages)
(guix derivations)
(gnu packages emacs)
(gnu packages make-bootstrap)
(srfi srfi-1)
(srfi srfi-26))
(define %supported-systems
'("x86_64-linux" "i686-linux"))
(let* ((store (open-connection))
(native (append-map (lambda (system)
(map (cut package-derivation store <> system)
(list %bootstrap-tarballs emacs)))
%supported-systems))
(cross (map (cut package-cross-derivation store
%bootstrap-tarballs <>)
'("mips64el-linux-gnuabi64")))
(total (append native cross)))
(define (warn proc)
(lambda (drv)
(or (proc drv)
(begin
(format (current-error-port) "~a is not substitutable~%"
drv)
#f))))
(let ((result (every (compose (warn (cut has-substitutes? store <>))
derivation->output-path)
total)))
(when result
(format (current-error-port) "~a packages found substitutable~%"
(length total)))
(exit result)))
+3 -2
View File
@@ -25,7 +25,8 @@
(web client)
(rnrs io ports)
(srfi srfi-11)
(guix utils))
(guix utils)
(guix hash))
(define %url-base
"http://alpha.gnu.org/gnu/guix/bootstrap"
@@ -44,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)
+160
View File
@@ -0,0 +1,160 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 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/>.
;;;
;;; This file defines build jobs for the Hydra continuation integration
;;; tool.
;;;
;; Attempt to use our very own Guix modules.
(eval-when (compile load eval)
;; Ignore any available .go, and force recompilation. This is because our
;; checkout in the store has mtime set to the epoch, and thus .go files look
;; newer, even though they may not correspond.
(set! %fresh-auto-compile #t)
(and=> (assoc-ref (current-source-location) 'filename)
(lambda (file)
(let ((dir (string-append (dirname file) "/../..")))
(format (current-error-port) "prepending ~s to the load path~%"
dir)
(set! %load-path (cons dir %load-path))))))
(use-modules (guix store)
(guix packages)
(guix derivations)
((guix utils) #:select (%current-system))
(gnu packages)
(gnu packages base)
(gnu packages gawk)
(gnu packages guile)
(gnu packages gettext)
(gnu packages compression)
(gnu packages multiprecision)
(gnu packages make-bootstrap)
(srfi srfi-1)
(srfi srfi-26)
(ice-9 match))
;; XXX: Debugging hack: since `hydra-eval-guile-jobs' redirects the output
;; port to the bit bucket, let us write to the error port instead.
(setvbuf (current-error-port) _IOLBF)
(set-current-output-port (current-error-port))
(define* (package->alist store package system
#:optional (package-derivation package-derivation))
"Convert PACKAGE to an alist suitable for Hydra."
`((derivation . ,(derivation-file-name
(package-derivation store package system)))
(description . ,(package-synopsis package))
(long-description . ,(package-description package))
(license . ,(package-license package))
(home-page . ,(package-home-page package))
(maintainers . ("bug-guix@gnu.org"))))
(define (package-job store job-name package system)
"Return a job called JOB-NAME that builds PACKAGE on SYSTEM."
(let ((job-name (symbol-append job-name (string->symbol ".")
(string->symbol system))))
`(,job-name . ,(cut package->alist store package system))))
(define (package-cross-job store job-name package target system)
"Return a job called TARGET.JOB-NAME that cross-builds PACKAGE for TARGET on
SYSTEM."
`(,(symbol-append (string->symbol target) (string->symbol ".") job-name
(string->symbol ".") (string->symbol system)) .
,(cute package->alist store package system
(cut package-cross-derivation <> <> target <>))))
(define %core-packages
(list gmp mpfr mpc coreutils findutils diffutils patch sed grep
gawk gnu-gettext hello guile-2.0 zlib gzip xz
%bootstrap-binaries-tarball
%binutils-bootstrap-tarball
%glibc-bootstrap-tarball
%gcc-bootstrap-tarball
%guile-bootstrap-tarball
%bootstrap-tarballs))
(define %packages-to-cross-build
%core-packages)
(define %cross-targets
'("mips64el-linux-gnu"
"mips64el-linux-gnuabi64"))
(define (hydra-jobs store arguments)
"Return Hydra jobs."
(define systems
(match (filter-map (match-lambda
(('system . value)
value)
(_ #f))
arguments)
((lst ..1)
lst)
(_
(list (%current-system)))))
(define subset
(match (assoc-ref arguments 'subset)
("core" 'core) ; only build core packages
(_ 'all))) ; build everything
(define job-name
(compose string->symbol package-full-name))
(define (cross-jobs system)
(append-map (lambda (target)
(map (lambda (package)
(package-cross-job store (job-name package)
package target system))
%packages-to-cross-build))
%cross-targets))
;; Return one job for each package, except bootstrap packages.
(let ((base-packages (delete-duplicates
(append-map (match-lambda
((_ package _ ...)
(match (package-transitive-inputs
package)
(((_ inputs _ ...) ...)
inputs))))
%final-inputs))))
(append-map (lambda (system)
(case subset
((all)
;; Build everything.
(fold-packages (lambda (package result)
(if (member package base-packages)
result
(cons (package-job store (job-name package)
package system)
result)))
(cross-jobs system)))
((core)
;; Build core packages only.
(append (map (lambda (package)
(package-job store (job-name package)
package system))
%core-packages)
(cross-jobs system)))
(else
(error "unknown subset" subset))))
systems)))
+113
View File
@@ -0,0 +1,113 @@
;;; 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/>.
;;;
;;; This file defines build jobs of Guix itself for the Hydra continuation
;;; integration tool.
;;;
;; Attempt to use our very own Guix modules.
(eval-when (compile load eval)
;; Ignore any available .go, and force recompilation. This is because our
;; checkout in the store has mtime set to the epoch, and thus .go files look
;; newer, even though they may not correspond.
(set! %fresh-auto-compile #t)
(and=> (assoc-ref (current-source-location) 'filename)
(lambda (file)
(let ((dir (string-append (dirname file) "/../..")))
(format (current-error-port) "prepending ~s to the load path~%"
dir)
(set! %load-path (cons dir %load-path))))))
(use-modules (guix store)
(guix packages)
(guix utils)
(guix derivations)
(guix build-system gnu)
(gnu packages version-control)
(gnu packages package-management)
(gnu packages graphviz)
(srfi srfi-1)
(srfi srfi-26)
(ice-9 match))
;; XXX: Debugging hack: since `hydra-eval-guile-jobs' redirects the output
;; port to the bit bucket, let us write to the error port instead.
(setvbuf (current-error-port) _IOLBF)
(set-current-output-port (current-error-port))
(define* (package->alist store package system
#:optional (package-derivation package-derivation))
"Convert PACKAGE to an alist suitable for Hydra."
`((derivation . ,(derivation-file-name
(package-derivation store package system)))
(description . ,(package-synopsis package))
(long-description . ,(package-description package))
(license . ,(package-license package))
(home-page . ,(package-home-page package))
(maintainers . ("bug-guix@gnu.org"))))
(define (tarball-package checkout nix-checkout)
"Return a package that does `make distcheck' from CHECKOUT, a directory
containing a Git checkout of Guix."
(let ((dist (dist-package guix checkout)))
(package (inherit dist)
(location (source-properties->location (current-source-location)))
(arguments (substitute-keyword-arguments (package-arguments dist)
((#:phases p)
`(alist-cons-before
'autoreconf 'set-nix-submodule
(lambda _
;; Tell Git to use the Nix checkout that Hydra gave us.
(zero?
(system* "git" "config" "submodule.nix-upstream.url"
,nix-checkout)))
,p))))
(native-inputs `(("git" ,git)
("graphviz" ,graphviz)
,@(package-native-inputs dist))))))
(define (hydra-jobs store arguments)
"Return Hydra jobs."
(define systems
(match (filter-map (match-lambda
(('system . value)
value)
(_ #f))
arguments)
((lst ..1)
lst)
(_
(list (%current-system)))))
(define guix-checkout
(assq-ref arguments 'guix))
(define nix-checkout
(assq-ref arguments 'nix))
(format (current-error-port) "using checkout ~s (Nix: ~s)~%"
guix-checkout nix-checkout)
(let ((guix (assq-ref guix-checkout 'file-name))
(nix (assq-ref nix-checkout 'file-name)))
`((tarball . ,(cute package->alist store
(tarball-package guix nix)
(%current-system))))))
+427
View File
@@ -0,0 +1,427 @@
#!/bin/sh
exec guile -l "$0" \
-c '(apply (@ (list-packages) list-packages)
(cdr (command-line)))'
!#
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013 Alex Sassmannshausen <alex.sassmannshausen@gmail.com>
;;;
;;; 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 (list-packages)
#:use-module (guix utils)
#:use-module (guix packages)
#:use-module (guix licenses)
#:use-module (guix gnu-maintenance)
#:use-module (gnu packages)
#:use-module (sxml simple)
#:use-module (sxml fold)
#:use-module (web uri)
#:use-module (ice-9 match)
#:use-module (srfi srfi-1)
#:export (list-packages))
;;; Commentary:
;;;
;;; Emit an HTML representation of the packages available in GNU Guix.
;;;
;;; Code:
(define lookup-gnu-package
(let ((gnu (official-gnu-packages)))
(lambda (name)
"Return the package description for GNU package NAME, or #f."
(find (lambda (package)
(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
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 (location-url loc))))
(define (license package)
(define ->sxml
(match-lambda
((lst ...)
`(div ,(map ->sxml lst)))
((? license? license)
(let ((uri (license-uri license)))
(case (and=> (and uri (string->uri uri)) uri-scheme)
((http https)
`(div (a (@ (href ,uri)
(title "Link to the full license"))
,(license-name license))))
(else
`(div ,(license-name license) " ("
,(license-comment license) ")")))))
(#f "")))
(->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/"
(package-full-name package) "."
system))
(title "View the status of this architecture's build at Hydra"))
,system))
`(div "status: "
,(url "x86_64-linux") " "
,(url "i686-linux")))
(define (package-logo name)
(and=> (lookup-gnu-package name)
gnu-package-logo))
(define (insert-tr description-id js?)
(define (insert-js-call description-ids)
"Return an sxml call to prep_pkg_descs, with up to 15 elements of
description-ids as formal parameters."
`(script (@ (type "text/javascript"))
,(format #f "prep_pkg_descs(~a)"
(string-append "'"
(string-join description-ids "', '")
"'"))))
(let ((description-ids (cons description-id description-ids)))
`(tr (td ,(if (gnu-package? package)
`(img (@ (src "/graphics/gnu-head-mini.png")
(alt "Part of GNU")
(title "Part of GNU")))
""))
(td (a (@ (href ,(source-url package))
(title "Link to the Guix package source code"))
,(package-name package) " "
,(package-version package)))
(td (span ,(package-synopsis package))
(div (@ (id ,description-id))
,(match (package-logo (package-name package))
((? string? url)
`(img (@ (src ,url)
(height "35")
(class "package-logo")
(alt ("Logo of " ,(package-name package))))))
(_ #f))
(p ,(package-description package))
,(license package)
(a (@ (href ,(package-home-page package))
(title "Link to the package's website"))
,(package-home-page package))
,(status package)
,(patches package)
,(if js?
(insert-js-call description-ids)
""))))))
(let ((description-id (symbol->string
(gensym (package-name package)))))
(cond ((= remaining 1) ; Last package in packages
(values
(reverse ; Fold has reversed packages
(cons (insert-tr description-id 'js) ; Prefix final sxml
previous))
'() ; No more work to do
0)) ; End of the line
((= (length description-ids) 15) ; Time for a JS call
(values
(cons (insert-tr description-id 'js)
previous) ; Prefix new sxml
'() ; Reset description-ids
(1- remaining))) ; Reduce remaining
(else ; Insert another row, and build description-ids
(values
(cons (insert-tr description-id #f)
previous) ; Prefix new sxml
(cons description-id description-ids) ; Update description-ids
(1- remaining)))))) ; Reduce remaining
(define (packages->sxml packages)
"Return an HTML page as SXML describing PACKAGES."
`(div
(h2 "GNU Guix Package List")
(div (@ (id "intro"))
(div
(img (@ (src "graphics/guix-logo.small.png")
(alt "GNU Guix and the GNU System")
(height "83"))))
(p "This web page lists the packages currently provided by the "
(a (@ (href "manual/guix.html#GNU-Distribution"))
"GNU system distribution")
" of "
(a (@ (href "/software/guix/guix.html")) "GNU Guix") ". "
"Our " (a (@ (href "http://hydra.gnu.org/jobset/gnu/master"))
"continuous integration system")
" shows their current build status."))
(table (@ (id "packages"))
(tr (th "GNU?")
(th "Package version")
(th "Package details"))
,@(fold-values package->sxml packages '() '() (length packages)))
(a (@ (href "#intro")
(title "Back to top.")
(id "top"))
"^")))
(define (insert-css)
"Return the CSS for the list-packages page."
(format #t
"<style>
/* license: CC0 */
a {
transition: all 0.3s;
}
div#intro {
margin-bottom: 2em;
}
div#intro div, div#intro p {
padding:0.5em;
}
div#intro div {
float:left;
}
div#intro img {
float:left;
padding:0.75em;
}
table#packages, table#packages tr, table#packages tbody, table#packages td, table#packages th {
border: 0px solid black;
clear: both;
}
table#packages tr:nth-child(even) {
background-color: #FFF;
}
table#packages tr:nth-child(odd) {
background-color: #EEE;
}
table#packages tr:hover, table#packages tr:focus, table#packages tr:active {
background-color: #DDD;
}
table#packages tr:first-child, table#packages tr:first-child:hover, table#packages tr:first-child:focus, table#packages tr:first-child:active {
background-color: #333;
color: #fff;
}
table#packages td {
margin:0px;
padding:0.2em 0.5em;
}
table#packages td:first-child {
width:10%;
text-align:center;
}
table#packages td:nth-child(2) {
width:30%;
}
table#packages td:last-child {
width:60%;
}
img.package-logo {
float: left;
padding: 0.75em;
}
table#packages span {
font-weight: 700;
}
table#packages span a {
float: right;
font-weight: 500;
}
a#top {
position:fixed;
right:10px;
bottom:10px;
font-size:150%;
background-color:#EEE;
padding:10px 7.5px 0 7.5px;
text-decoration:none;
color:#000;
border-radius:5px;
}
a#top:hover, a#top:focus {
background-color:#333;
color:#fff;
}
</style>"))
(define (insert-js)
"Return the JavaScript for the list-packages page."
(format #t
"<script type=\"text/javascript\">
// license: CC0
function show_hide(idThing)
{
if(document.getElementById && document.createTextNode) {
var thing = document.getElementById(idThing);
/* Used to change the link text, depending on whether description is
collapsed or expanded */
var thingLink = thing.previousSibling.lastChild.firstChild;
if (thing) {
if (thing.style.display == \"none\") {
thing.style.display = \"\";
thingLink.data = 'Collapse';
} else {
thing.style.display = \"none\";
thingLink.data = 'Expand';
}
}
}
}
/* Add controllers used for collapse/expansion of package descriptions */
function prep(idThing)
{
var tdThing = document.getElementById(idThing).parentNode;
if (tdThing) {
var aThing = tdThing.firstChild.appendChild(document.createElement('a'));
aThing.setAttribute('href', 'javascript:void(0)');
aThing.setAttribute('title', 'show/hide package description');
aThing.appendChild(document.createTextNode('Expand'));
aThing.onclick=function(){show_hide(idThing);};
/* aThing.onkeypress=function(){show_hide(idThing);}; */
}
}
/* Take n element IDs, prepare them for javascript enhanced
display and hide the IDs by default. */
function prep_pkg_descs()
{
if(document.getElementById && document.createTextNode) {
for(var i=0; i<arguments.length; i++) {
prep(arguments[i])
show_hide(arguments[i]);
}
}
}
</script>"))
(define (list-packages . args)
"Return an HTML page listing all the packages found in the GNU distribution,
with gnu.org server-side include and all that."
;; Don't attempt to translate descriptions.
(setlocale LC_ALL "C")
;; Output the page as UTF-8 since that's what the gnu.org server-side
;; headers claim.
(set-port-encoding! (current-output-port) "UTF-8")
(let ((packages (sort (fold-packages cons '())
(lambda (p1 p2)
(string<? (package-name p1) (package-name p2))))))
(format #t "<!--#include virtual=\"/server/html5-header.html\" -->
<!-- Parent-Version: 1.70 $ -->
<title>GNU Guix - GNU Distribution - GNU Project</title>
")
(insert-css)
(insert-js)
(format #t "<!--#include virtual=\"/server/banner.html\" -->")
(sxml->xml (packages->sxml packages))
(format #t "</div>
<!--#include virtual=\"/server/footer.html\" -->
<div id=\"footer\">
<p>Please send general FSF &amp; GNU inquiries to
<a href=\"mailto:gnu@gnu.org\">&lt;gnu@gnu.org&gt;</a>.
There are also <a href=\"/contact/\">other ways to contact</a>
the FSF. Broken links and other corrections or suggestions can be sent
to <a href=\"mailto:bug-guix@gnu.org\">&lt;bug-guix@gnu.org&gt;</a>.</p>
<p>Copyright &copy; 2013 Free Software Foundation, Inc.</p>
<p>This page is licensed under a <a rel=\"license\"
href=\"http://creativecommons.org/licenses/by-nd/3.0/us/\">Creative
Commons Attribution-NoDerivs 3.0 United States License</a>.</p>
<p>Updated:
<!-- timestamp start -->
$Date$
<!-- timestamp end -->
</p>
</div>
</div>
</body>
</html>
"))
)
;;; list-packages.scm ends here
@@ -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)
+16 -3
View File
@@ -2,12 +2,12 @@
# Process this file with autoconf to produce a configure script.
AC_PREREQ(2.68)
AC_INIT([GNU Guix], [0.2], [bug-guix@gnu.org], [guix],
[http://gnu.org/software/guix/])
AC_INIT([GNU Guix], [0.5], [bug-guix@gnu.org], [guix],
[http://www.gnu.org/software/guix/])
AC_CONFIG_AUX_DIR([build-aux])
AM_INIT_AUTOMAKE([1.12 gnu silent-rules subdir-objects \
color-tests parallel-tests])
color-tests parallel-tests -Woverride])
AC_CONFIG_SRCDIR([guix.scm])
AC_CONFIG_MACRO_DIR([m4])
@@ -22,6 +22,7 @@ guilemoduledir="${datarootdir}/guile/site/2.0"
AC_SUBST([guilemoduledir])
GUIX_SYSTEM_TYPE
GUIX_ASSERT_SUPPORTED_SYSTEM
AC_ARG_WITH(store-dir,
AC_HELP_STRING([--with-store-dir=PATH],
@@ -40,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])
@@ -50,6 +55,10 @@ fi
dnl Make sure we have a full-fledged Guile.
GUIX_ASSERT_GUILE_FEATURES([regex posix socket net-db threads])
dnl Check whether (srfi srfi-37) works, and provide our own if it doesn't.
GUIX_CHECK_SRFI_37
AM_CONDITIONAL([INSTALL_SRFI_37], [test "x$ac_cv_guix_srfi_37_broken" = xyes])
AC_ARG_WITH([nix-prefix],
[AS_HELP_STRING([--with-nix-prefix=DIR], [search for Nix in DIR])],
[case "$withval" in
@@ -116,6 +125,10 @@ AC_CACHE_SAVE
m4_include([config-daemon.ac])
dnl `dot' (from the Graphviz package) is only needed for maintainers.
dnl See `HACKING' for more info.
AM_MISSING_PROG([DOT], [dot])
AC_CONFIG_FILES([Makefile
po/Makefile.in
guix/config.scm])
+18
View File
@@ -25,6 +25,8 @@ CLEANFILES += $(BUILT_SOURCES)
noinst_LIBRARIES = libformat.a libutil.a libstore.a
AM_CXXFLAGS = -Wall
libformat_a_SOURCES = \
nix/boost/format/free_funcs.cc \
nix/boost/format/parsing.cc \
@@ -119,6 +121,7 @@ libstore_a_CXXFLAGS = \
$(SQLITE3_CFLAGS) $(LIBGCRYPT_CFLAGS)
bin_PROGRAMS = guix-daemon
sbin_PROGRAMS = guix-register
guix_daemon_SOURCES = \
nix/nix-daemon/nix-daemon.cc \
@@ -135,6 +138,21 @@ guix_daemon_LDADD = \
guix_daemon_headers = \
nix/nix-daemon/shared.hh
guix_register_SOURCES = \
nix/guix-register/guix-register.cc
guix_register_CPPFLAGS = \
$(libutil_a_CPPFLAGS) \
$(libstore_a_CPPFLAGS) \
-I$(top_srcdir)/nix/libstore
# XXX: Should we start using shared libs?
guix_register_LDADD = \
libstore.a libutil.a libformat.a -lbz2 \
$(SQLITE3_LIBS) $(LIBGCRYPT_LIBS)
libexec_PROGRAMS = nix-setuid-helper
nix_setuid_helper_SOURCES = \
nix/nix-setuid-helper/nix-setuid-helper.cc
+53
View File
@@ -0,0 +1,53 @@
# 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.
#
# 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/>.
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.pdf
infoimagedir = $(infodir)/images
dist_infoimage_DATA = doc/images/bootstrap-graph.png
# Try hard to obtain an image size and aspect that's reasonable for inclusion
# in an Info or PDF document.
DOT_OPTIONS = \
-Gratio=.9 -Gnodesep=.005 -Granksep=.00005 \
-Nfontsize=9 -Nheight=.1 -Nwidth=.1
.dot.png:
$(DOT) -Tpng $(DOT_OPTIONS) < "$<" > "$@.tmp"
mv "$@.tmp" "$@"
.dot.pdf:
$(DOT) -Tpdf $(DOT_OPTIONS) < "$<" > "$@.tmp"
mv "$@.tmp" "$@"
.dot.eps:
$(DOT) -Teps $(DOT_OPTIONS) < "$<" > "$@.tmp"
mv "$@.tmp" "$@"
# 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: $(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
+1119 -122
View File
File diff suppressed because it is too large Load Diff
+83
View File
@@ -0,0 +1,83 @@
# Obtained by running "nix-store --graph" on the first GCC derivation.
digraph G {
"/nix/store/x60397za40lx0n88f51a2csfdq5xvb19-gcc-bootstrap-0.drv" [label = "gcc-bootstrap-0.drv", fontname = Helvetica, shape = box, style = filled, fillcolor = "#ffffff"];
"/nix/store/3iawic1z95112yfz5y9xdp66qbxxr8l1-tar" -> "/nix/store/x60397za40lx0n88f51a2csfdq5xvb19-gcc-bootstrap-0.drv" [color = "black"];
"/nix/store/4sv9xhcjap6byca130fzpzzjalb7iixv-glibc-bootstrap-0.drv" -> "/nix/store/x60397za40lx0n88f51a2csfdq5xvb19-gcc-bootstrap-0.drv" [color = "red"];
"/nix/store/8cc81w6m04csm52y247xj3gydrbz2niv-xz" -> "/nix/store/x60397za40lx0n88f51a2csfdq5xvb19-gcc-bootstrap-0.drv" [color = "green"];
"/nix/store/96yx6013dhggr3mpg5ayxv8dm9mv2ghv-module-import.drv" -> "/nix/store/x60397za40lx0n88f51a2csfdq5xvb19-gcc-bootstrap-0.drv" [color = "blue"];
"/nix/store/fl9cwcczfdv73vq5sr0c4rd5hqzrgvac-gcc-4.7.2.tar.xz.drv" -> "/nix/store/x60397za40lx0n88f51a2csfdq5xvb19-gcc-bootstrap-0.drv" [color = "magenta"];
"/nix/store/jaaqdl979wjirnbxz1jqsipg22nva5n4-bash" -> "/nix/store/x60397za40lx0n88f51a2csfdq5xvb19-gcc-bootstrap-0.drv" [color = "burlywood"];
"/nix/store/r3dsy5j2c16sv26raala6kahff7w18hb-gcc-bootstrap-0-guile-builder" -> "/nix/store/x60397za40lx0n88f51a2csfdq5xvb19-gcc-bootstrap-0.drv" [color = "black"];
"/nix/store/x9x1a86flhx15cams7235rfy5gc5cww1-guile-bootstrap-2.0.drv" -> "/nix/store/x60397za40lx0n88f51a2csfdq5xvb19-gcc-bootstrap-0.drv" [color = "red"];
"/nix/store/y4n7rzysx6qz3p0n91dw9qz5w93l6iqv-module-import-compiled.drv" -> "/nix/store/x60397za40lx0n88f51a2csfdq5xvb19-gcc-bootstrap-0.drv" [color = "green"];
"/nix/store/3iawic1z95112yfz5y9xdp66qbxxr8l1-tar" [label = "tar", fontname = Helvetica, shape = box, style = filled, fillcolor = "#ffffff"];
"/nix/store/4sv9xhcjap6byca130fzpzzjalb7iixv-glibc-bootstrap-0.drv" [label = "glibc-bootstrap-0.drv", fontname = Helvetica, shape = box, style = filled, fillcolor = "#ffffff"];
"/nix/store/3iawic1z95112yfz5y9xdp66qbxxr8l1-tar" -> "/nix/store/4sv9xhcjap6byca130fzpzzjalb7iixv-glibc-bootstrap-0.drv" [color = "blue"];
"/nix/store/8cc81w6m04csm52y247xj3gydrbz2niv-xz" -> "/nix/store/4sv9xhcjap6byca130fzpzzjalb7iixv-glibc-bootstrap-0.drv" [color = "magenta"];
"/nix/store/8iivk9hpnps21yrbq3zzsxgzv9ixbhgh-glibc-bootstrap-0-guile-builder" -> "/nix/store/4sv9xhcjap6byca130fzpzzjalb7iixv-glibc-bootstrap-0.drv" [color = "burlywood"];
"/nix/store/96yx6013dhggr3mpg5ayxv8dm9mv2ghv-module-import.drv" -> "/nix/store/4sv9xhcjap6byca130fzpzzjalb7iixv-glibc-bootstrap-0.drv" [color = "black"];
"/nix/store/wdwrkg02gn28bkpbxgdb2nv558v8s3ji-glibc-2.17.tar.xz.drv" -> "/nix/store/4sv9xhcjap6byca130fzpzzjalb7iixv-glibc-bootstrap-0.drv" [color = "red"];
"/nix/store/x9x1a86flhx15cams7235rfy5gc5cww1-guile-bootstrap-2.0.drv" -> "/nix/store/4sv9xhcjap6byca130fzpzzjalb7iixv-glibc-bootstrap-0.drv" [color = "green"];
"/nix/store/y4n7rzysx6qz3p0n91dw9qz5w93l6iqv-module-import-compiled.drv" -> "/nix/store/4sv9xhcjap6byca130fzpzzjalb7iixv-glibc-bootstrap-0.drv" [color = "blue"];
"/nix/store/8cc81w6m04csm52y247xj3gydrbz2niv-xz" [label = "xz", fontname = Helvetica, shape = box, style = filled, fillcolor = "#ffffff"];
"/nix/store/8iivk9hpnps21yrbq3zzsxgzv9ixbhgh-glibc-bootstrap-0-guile-builder" [label = "glibc-bootstrap-0-guile-builder", fontname = Helvetica, shape = box, style = filled, fillcolor = "#ffffff"];
"/nix/store/3iawic1z95112yfz5y9xdp66qbxxr8l1-tar" -> "/nix/store/8iivk9hpnps21yrbq3zzsxgzv9ixbhgh-glibc-bootstrap-0-guile-builder" [color = "magenta"];
"/nix/store/8cc81w6m04csm52y247xj3gydrbz2niv-xz" -> "/nix/store/8iivk9hpnps21yrbq3zzsxgzv9ixbhgh-glibc-bootstrap-0-guile-builder" [color = "burlywood"];
"/nix/store/96yx6013dhggr3mpg5ayxv8dm9mv2ghv-module-import.drv" [label = "module-import.drv", fontname = Helvetica, shape = box, style = filled, fillcolor = "#ffffff"];
"/nix/store/9zrdfvnrpljryr82an2n1mj6bh2przhn-module-import-guile-builder" -> "/nix/store/96yx6013dhggr3mpg5ayxv8dm9mv2ghv-module-import.drv" [color = "black"];
"/nix/store/mj7amprgvl2rgash1nr0v64apik8vc7f-utils.scm" -> "/nix/store/96yx6013dhggr3mpg5ayxv8dm9mv2ghv-module-import.drv" [color = "red"];
"/nix/store/x9x1a86flhx15cams7235rfy5gc5cww1-guile-bootstrap-2.0.drv" -> "/nix/store/96yx6013dhggr3mpg5ayxv8dm9mv2ghv-module-import.drv" [color = "green"];
"/nix/store/9zrdfvnrpljryr82an2n1mj6bh2przhn-module-import-guile-builder" [label = "module-import-guile-builder", fontname = Helvetica, shape = box, style = filled, fillcolor = "#ffffff"];
"/nix/store/mj7amprgvl2rgash1nr0v64apik8vc7f-utils.scm" -> "/nix/store/9zrdfvnrpljryr82an2n1mj6bh2przhn-module-import-guile-builder" [color = "blue"];
"/nix/store/fl9cwcczfdv73vq5sr0c4rd5hqzrgvac-gcc-4.7.2.tar.xz.drv" [label = "gcc-4.7.2.tar.xz.drv", fontname = Helvetica, shape = box, style = filled, fillcolor = "#ffffff"];
"/nix/store/6kslnirvm26fij7wpjqbw617ri4gf5x5-gcc-4.7.2.tar.xz-guile-builder" -> "/nix/store/fl9cwcczfdv73vq5sr0c4rd5hqzrgvac-gcc-4.7.2.tar.xz.drv" [color = "magenta"];
"/nix/store/kvk5wp8c9rzvvrmq5fv5r58l78q8i6ch-module-import.drv" -> "/nix/store/fl9cwcczfdv73vq5sr0c4rd5hqzrgvac-gcc-4.7.2.tar.xz.drv" [color = "burlywood"];
"/nix/store/pzv319p3q7raiad7nq7fcdw9rafzp14k-module-import-compiled.drv" -> "/nix/store/fl9cwcczfdv73vq5sr0c4rd5hqzrgvac-gcc-4.7.2.tar.xz.drv" [color = "black"];
"/nix/store/x9x1a86flhx15cams7235rfy5gc5cww1-guile-bootstrap-2.0.drv" -> "/nix/store/fl9cwcczfdv73vq5sr0c4rd5hqzrgvac-gcc-4.7.2.tar.xz.drv" [color = "red"];
"/nix/store/6kslnirvm26fij7wpjqbw617ri4gf5x5-gcc-4.7.2.tar.xz-guile-builder" [label = "gcc-4.7.2.tar.xz-guile-builder", fontname = Helvetica, shape = box, style = filled, fillcolor = "#ffffff"];
"/nix/store/jaaqdl979wjirnbxz1jqsipg22nva5n4-bash" [label = "bash", fontname = Helvetica, shape = box, style = filled, fillcolor = "#ffffff"];
"/nix/store/kvk5wp8c9rzvvrmq5fv5r58l78q8i6ch-module-import.drv" [label = "module-import.drv", fontname = Helvetica, shape = box, style = filled, fillcolor = "#ffffff"];
"/nix/store/abagrdbdndkd0y2dwk0nw1gw0g0rhl2z-ftp-client.scm" -> "/nix/store/kvk5wp8c9rzvvrmq5fv5r58l78q8i6ch-module-import.drv" [color = "green"];
"/nix/store/dwd2iwd1ban8a8rmx568dpgrbkkidfhw-download.scm" -> "/nix/store/kvk5wp8c9rzvvrmq5fv5r58l78q8i6ch-module-import.drv" [color = "blue"];
"/nix/store/mj7amprgvl2rgash1nr0v64apik8vc7f-utils.scm" -> "/nix/store/kvk5wp8c9rzvvrmq5fv5r58l78q8i6ch-module-import.drv" [color = "magenta"];
"/nix/store/x9x1a86flhx15cams7235rfy5gc5cww1-guile-bootstrap-2.0.drv" -> "/nix/store/kvk5wp8c9rzvvrmq5fv5r58l78q8i6ch-module-import.drv" [color = "burlywood"];
"/nix/store/yfixjx2gpvsi5dhkpdx5gj6gx0xdk1c8-module-import-guile-builder" -> "/nix/store/kvk5wp8c9rzvvrmq5fv5r58l78q8i6ch-module-import.drv" [color = "black"];
"/nix/store/abagrdbdndkd0y2dwk0nw1gw0g0rhl2z-ftp-client.scm" [label = "ftp-client.scm", fontname = Helvetica, shape = box, style = filled, fillcolor = "#ffffff"];
"/nix/store/dwd2iwd1ban8a8rmx568dpgrbkkidfhw-download.scm" [label = "download.scm", fontname = Helvetica, shape = box, style = filled, fillcolor = "#ffffff"];
"/nix/store/mj7amprgvl2rgash1nr0v64apik8vc7f-utils.scm" [label = "utils.scm", fontname = Helvetica, shape = box, style = filled, fillcolor = "#ffffff"];
"/nix/store/pzv319p3q7raiad7nq7fcdw9rafzp14k-module-import-compiled.drv" [label = "module-import-compiled.drv", fontname = Helvetica, shape = box, style = filled, fillcolor = "#ffffff"];
"/nix/store/98gzqlgpm4gxrpl5bzykpqbwrx8ckx8l-module-import-compiled-guile-builder" -> "/nix/store/pzv319p3q7raiad7nq7fcdw9rafzp14k-module-import-compiled.drv" [color = "red"];
"/nix/store/kvk5wp8c9rzvvrmq5fv5r58l78q8i6ch-module-import.drv" -> "/nix/store/pzv319p3q7raiad7nq7fcdw9rafzp14k-module-import-compiled.drv" [color = "green"];
"/nix/store/x9x1a86flhx15cams7235rfy5gc5cww1-guile-bootstrap-2.0.drv" -> "/nix/store/pzv319p3q7raiad7nq7fcdw9rafzp14k-module-import-compiled.drv" [color = "blue"];
"/nix/store/98gzqlgpm4gxrpl5bzykpqbwrx8ckx8l-module-import-compiled-guile-builder" [label = "module-import-compiled-guile-builder", fontname = Helvetica, shape = box, style = filled, fillcolor = "#ffffff"];
"/nix/store/r3dsy5j2c16sv26raala6kahff7w18hb-gcc-bootstrap-0-guile-builder" [label = "gcc-bootstrap-0-guile-builder", fontname = Helvetica, shape = box, style = filled, fillcolor = "#ffffff"];
"/nix/store/3iawic1z95112yfz5y9xdp66qbxxr8l1-tar" -> "/nix/store/r3dsy5j2c16sv26raala6kahff7w18hb-gcc-bootstrap-0-guile-builder" [color = "magenta"];
"/nix/store/8cc81w6m04csm52y247xj3gydrbz2niv-xz" -> "/nix/store/r3dsy5j2c16sv26raala6kahff7w18hb-gcc-bootstrap-0-guile-builder" [color = "burlywood"];
"/nix/store/jaaqdl979wjirnbxz1jqsipg22nva5n4-bash" -> "/nix/store/r3dsy5j2c16sv26raala6kahff7w18hb-gcc-bootstrap-0-guile-builder" [color = "black"];
"/nix/store/wdwrkg02gn28bkpbxgdb2nv558v8s3ji-glibc-2.17.tar.xz.drv" [label = "glibc-2.17.tar.xz.drv", fontname = Helvetica, shape = box, style = filled, fillcolor = "#ffffff"];
"/nix/store/kvk5wp8c9rzvvrmq5fv5r58l78q8i6ch-module-import.drv" -> "/nix/store/wdwrkg02gn28bkpbxgdb2nv558v8s3ji-glibc-2.17.tar.xz.drv" [color = "red"];
"/nix/store/pzv319p3q7raiad7nq7fcdw9rafzp14k-module-import-compiled.drv" -> "/nix/store/wdwrkg02gn28bkpbxgdb2nv558v8s3ji-glibc-2.17.tar.xz.drv" [color = "green"];
"/nix/store/q7as3jddipj4g6si8lawrdbkjg0zcjvg-glibc-2.17.tar.xz-guile-builder" -> "/nix/store/wdwrkg02gn28bkpbxgdb2nv558v8s3ji-glibc-2.17.tar.xz.drv" [color = "blue"];
"/nix/store/x9x1a86flhx15cams7235rfy5gc5cww1-guile-bootstrap-2.0.drv" -> "/nix/store/wdwrkg02gn28bkpbxgdb2nv558v8s3ji-glibc-2.17.tar.xz.drv" [color = "magenta"];
"/nix/store/q7as3jddipj4g6si8lawrdbkjg0zcjvg-glibc-2.17.tar.xz-guile-builder" [label = "glibc-2.17.tar.xz-guile-builder", fontname = Helvetica, shape = box, style = filled, fillcolor = "#ffffff"];
"/nix/store/x9x1a86flhx15cams7235rfy5gc5cww1-guile-bootstrap-2.0.drv" [label = "guile-bootstrap-2.0.drv", fontname = Helvetica, shape = box, style = filled, fillcolor = "#ffffff"];
"/nix/store/bplka3yqdg8prqq3zdxza6wxlkjdhr2g-build-bootstrap-guile.sh" -> "/nix/store/x9x1a86flhx15cams7235rfy5gc5cww1-guile-bootstrap-2.0.drv" [color = "burlywood"];
"/nix/store/jaaqdl979wjirnbxz1jqsipg22nva5n4-bash" -> "/nix/store/x9x1a86flhx15cams7235rfy5gc5cww1-guile-bootstrap-2.0.drv" [color = "black"];
"/nix/store/bplka3yqdg8prqq3zdxza6wxlkjdhr2g-build-bootstrap-guile.sh" [label = "build-bootstrap-guile.sh", fontname = Helvetica, shape = box, style = filled, fillcolor = "#ffffff"];
"/nix/store/3iawic1z95112yfz5y9xdp66qbxxr8l1-tar" -> "/nix/store/bplka3yqdg8prqq3zdxza6wxlkjdhr2g-build-bootstrap-guile.sh" [color = "red"];
"/nix/store/4xv2y0m6zr2lgi8x8pcb3zxjqxsz69kj-mkdir" -> "/nix/store/bplka3yqdg8prqq3zdxza6wxlkjdhr2g-build-bootstrap-guile.sh" [color = "green"];
"/nix/store/8cc81w6m04csm52y247xj3gydrbz2niv-xz" -> "/nix/store/bplka3yqdg8prqq3zdxza6wxlkjdhr2g-build-bootstrap-guile.sh" [color = "blue"];
"/nix/store/c450lqvaaz3ngx9pfiiiw55rqq6ssfda-guile-2.0.7.tar.xz" -> "/nix/store/bplka3yqdg8prqq3zdxza6wxlkjdhr2g-build-bootstrap-guile.sh" [color = "magenta"];
"/nix/store/4xv2y0m6zr2lgi8x8pcb3zxjqxsz69kj-mkdir" [label = "mkdir", fontname = Helvetica, shape = box, style = filled, fillcolor = "#ffffff"];
"/nix/store/c450lqvaaz3ngx9pfiiiw55rqq6ssfda-guile-2.0.7.tar.xz" [label = "guile-2.0.7.tar.xz", fontname = Helvetica, shape = box, style = filled, fillcolor = "#ffffff"];
"/nix/store/y4n7rzysx6qz3p0n91dw9qz5w93l6iqv-module-import-compiled.drv" [label = "module-import-compiled.drv", fontname = Helvetica, shape = box, style = filled, fillcolor = "#ffffff"];
"/nix/store/8jiqjlb6zxjys16ca7s6jvxcc620c71k-module-import-compiled-guile-builder" -> "/nix/store/y4n7rzysx6qz3p0n91dw9qz5w93l6iqv-module-import-compiled.drv" [color = "burlywood"];
"/nix/store/96yx6013dhggr3mpg5ayxv8dm9mv2ghv-module-import.drv" -> "/nix/store/y4n7rzysx6qz3p0n91dw9qz5w93l6iqv-module-import-compiled.drv" [color = "black"];
"/nix/store/x9x1a86flhx15cams7235rfy5gc5cww1-guile-bootstrap-2.0.drv" -> "/nix/store/y4n7rzysx6qz3p0n91dw9qz5w93l6iqv-module-import-compiled.drv" [color = "red"];
"/nix/store/8jiqjlb6zxjys16ca7s6jvxcc620c71k-module-import-compiled-guile-builder" [label = "module-import-compiled-guile-builder", fontname = Helvetica, shape = box, style = filled, fillcolor = "#ffffff"];
"/nix/store/yfixjx2gpvsi5dhkpdx5gj6gx0xdk1c8-module-import-guile-builder" [label = "module-import-guile-builder", fontname = Helvetica, shape = box, style = filled, fillcolor = "#ffffff"];
"/nix/store/abagrdbdndkd0y2dwk0nw1gw0g0rhl2z-ftp-client.scm" -> "/nix/store/yfixjx2gpvsi5dhkpdx5gj6gx0xdk1c8-module-import-guile-builder" [color = "green"];
"/nix/store/dwd2iwd1ban8a8rmx568dpgrbkkidfhw-download.scm" -> "/nix/store/yfixjx2gpvsi5dhkpdx5gj6gx0xdk1c8-module-import-guile-builder" [color = "blue"];
"/nix/store/mj7amprgvl2rgash1nr0v64apik8vc7f-utils.scm" -> "/nix/store/yfixjx2gpvsi5dhkpdx5gj6gx0xdk1c8-module-import-guile-builder" [color = "magenta"];
}
+345
View File
@@ -0,0 +1,345 @@
# 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.
#
# 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/>.
# Definitions for the GNU System: package modules, patches, bootstrap
# binaries.
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 \
gnu/packages/bash.scm \
gnu/packages/bdb.scm \
gnu/packages/bdw-gc.scm \
gnu/packages/bison.scm \
gnu/packages/bootstrap.scm \
gnu/packages/cdrom.scm \
gnu/packages/cflow.scm \
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 \
gnu/packages/cryptsetup.scm \
gnu/packages/curl.scm \
gnu/packages/cyrus-sasl.scm \
gnu/packages/dejagnu.scm \
gnu/packages/ddrescue.scm \
gnu/packages/dwm.scm \
gnu/packages/ed.scm \
gnu/packages/emacs.scm \
gnu/packages/fdisk.scm \
gnu/packages/file.scm \
gnu/packages/flex.scm \
gnu/packages/fonts.scm \
gnu/packages/fontutils.scm \
gnu/packages/freeipmi.scm \
gnu/packages/gawk.scm \
gnu/packages/gcal.scm \
gnu/packages/gcc.scm \
gnu/packages/gd.scm \
gnu/packages/gdb.scm \
gnu/packages/gdbm.scm \
gnu/packages/geeqie.scm \
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 \
gnu/packages/groff.scm \
gnu/packages/grub.scm \
gnu/packages/grue-hunter.scm \
gnu/packages/gsasl.scm \
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 \
gnu/packages/icu4c.scm \
gnu/packages/idutils.scm \
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 \
gnu/packages/libidn.scm \
gnu/packages/libjpeg.scm \
gnu/packages/libphidget.scm \
gnu/packages/libpng.scm \
gnu/packages/libsigsegv.scm \
gnu/packages/libtiff.scm \
gnu/packages/libunistring.scm \
gnu/packages/libusb.scm \
gnu/packages/libunwind.scm \
gnu/packages/lightning.scm \
gnu/packages/linux.scm \
gnu/packages/linux-initrd.scm \
gnu/packages/lout.scm \
gnu/packages/lsh.scm \
gnu/packages/lsof.scm \
gnu/packages/lua.scm \
gnu/packages/lvm.scm \
gnu/packages/m4.scm \
gnu/packages/mail.scm \
gnu/packages/make-bootstrap.scm \
gnu/packages/maths.scm \
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 \
gnu/packages/netpbm.scm \
gnu/packages/nettle.scm \
gnu/packages/noweb.scm \
gnu/packages/ocaml.scm \
gnu/packages/ocrad.scm \
gnu/packages/oggvorbis.scm \
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 \
gnu/packages/rush.scm \
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 \
gnu/packages/texinfo.scm \
gnu/packages/texlive.scm \
gnu/packages/time.scm \
gnu/packages/tmux.scm \
gnu/packages/tor.scm \
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 \
gnu/packages/xlockmore.scm \
gnu/packages/xml.scm \
gnu/packages/xnee.scm \
gnu/packages/xorg.scm \
gnu/packages/yasm.scm \
gnu/packages/zile.scm \
gnu/packages/zip.scm \
\
gnu/system.scm \
gnu/system/dmd.scm \
gnu/system/grub.scm \
gnu/system/linux.scm \
gnu/system/shadow.scm \
gnu/system/vm.scm
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-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/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 \
gnu/packages/bootstrap/x86_64-linux/mkdir \
gnu/packages/bootstrap/x86_64-linux/tar \
gnu/packages/bootstrap/x86_64-linux/xz
dist_bootstrap_i686_linux_DATA = \
gnu/packages/bootstrap/i686-linux/bash \
gnu/packages/bootstrap/i686-linux/mkdir \
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.9.tar.xz
nodist_bootstrap_i686_linux_DATA = \
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.
install-data-hook:
chmod +x $(DESTDIR)$(bootstrapdir)/*/{bash,mkdir,tar,xz}
DISTCLEANFILES = \
$(nodist_bootstrap_x86_64_linux_DATA) \
$(nodist_bootstrap_i686_linux_DATA) \
$(nodist_bootstrap_mips64el_linux_DATA)
# Method to download a file from an external source.
DOWNLOAD_FILE = \
GUILE_LOAD_COMPILED_PATH="$(top_builddir):$$GUILE_LOAD_COMPILED_PATH" \
$(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.9.tar.xz:
$(MKDIR_P) `dirname "$@"`
$(DOWNLOAD_FILE) "$@" "037b103522a2d0d7d69c7ffd8de683dfe5bb4b59c1fafd70b4ffd397fd2f57f0"
gnu/packages/bootstrap/i686-linux/guile-2.0.9.tar.xz:
$(MKDIR_P) `dirname "$@"`
$(DOWNLOAD_FILE) "$@" "b757cd46bf13ecac83fb8e955fb50096ac2d17bb610ca8eb816f29302a00a846"
gnu/packages/bootstrap/mips64el-linux/guile-2.0.9.tar.xz:
$(MKDIR_P) `dirname "$@"`
$(DOWNLOAD_FILE) "$@" "994680f0001346864aa2c2cc5110f380ee7518dcd701c614291682b8e948f73b"
+44
View File
@@ -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+)))
+18 -12
View File
@@ -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))
@@ -45,18 +44,25 @@
'configure 'patch-makefile-SHELL
(lambda _
(patch-makefile-SHELL "include/buildmacros"))
(alist-replace
'check
(lambda _
(system* "make" "tests" "-C" "test")
,(if (%current-target-system)
'%standard-phases
'(alist-replace 'check
(lambda _
(system* "make" "tests" "-C" "test")
;; XXX: Ignore the test result since this is
;; dependent on the underlying file system.
#t)
%standard-phases))))
;; XXX: Ignore the test result since this is
;; dependent on the underlying file system.
#t)
%standard-phases)))))
(inputs `(("attr" ,attr)
("gettext" ,guix:gettext)
("perl" ,perl)))
;; Perl is needed to run tests; remove it from cross builds.
,@(if (%current-target-system)
'()
`(("perl" ,perl)))))
(native-inputs
`(("gettext" ,gnu-gettext)))
(home-page
"http://savannah.nongnu.org/projects/acl")
(synopsis
+75 -41
View File
@@ -32,7 +32,7 @@
(define-public mpfrcx
(package
(name "mpfrcx")
(version "0.4.1")
(version "0.4.2")
(source (origin
(method url-fetch)
(uri (string-append
@@ -40,7 +40,7 @@
version ".tar.gz"))
(sha256
(base32
"1rrc75chxyicqjgg5mfhgbz7p9mx1fgh0qlx14a82m25vfhifnd1"))))
"0grw66b255r574lvll1bqccm5myj2m8ajzsjaygcyq9zjnnbnhhy"))))
(build-system gnu-build-system)
(inputs `(("gmp" ,gmp)
("mpfr" ,mpfr)
@@ -60,14 +60,14 @@ multiplication routines such as ToomCook and the FFT. ")
(define-public fplll
(package
(name "fplll")
(version "4.0.2")
(version "4.0.4")
(source (origin
(method url-fetch)
(uri (string-append
"http://perso.ens-lyon.fr/damien.stehle/fplll/libfplll-"
version ".tar.gz"))
(sha256 (base32
"0zkifm4s77cl2qib905lxpwvlwf6liy8q7bnmvfdfyz0fbgxl8z8"))))
"1cbiby7ykis4z84swclpysrljmqhfcllpkcbll1m08rzskgb1a6b"))))
(build-system gnu-build-system)
(inputs `(("gmp" ,gmp)
("mpfr" ,mpfr)))
@@ -78,43 +78,17 @@ solve the shortest vector problem.")
(license lgpl2.1+)
(home-page "http://perso.ens-lyon.fr/damien.stehle/fplll/")))
(define-public gsl
(package
(name "gsl")
(version "1.15")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://gnu/gsl/gsl-"
version ".tar.gz"))
(sha256
(base32
"18qf6jzz1r3mzb5qynywv4xx3z9g61hgkbpkdrhbgqh2g7jhgfc5"))))
(build-system gnu-build-system)
(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 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.")
(license gpl3+)))
(define-public pari-gp
(package
(name "pari-gp")
(version "2.5.3")
(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
"0zsjccnnv00kwj2gk3ww2v530kjin1rgj8p8hbl4pwcnwc7m68gl"))))
"058nw1fhggy7idii4f124ami521lv3izvngs9idfz964aks8cvvn"))))
(build-system gnu-build-system)
(inputs `(("gmp" ,gmp)
("perl" ,perl)
@@ -151,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")
@@ -179,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+)))
+49
View File
@@ -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+)))
@@ -16,7 +16,7 @@
;;; 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 libapr)
(define-module (gnu packages apr)
#:use-module (guix licenses)
#:use-module (guix packages)
#:use-module (guix download)
@@ -25,26 +25,23 @@
#:use-module (gnu packages perl)
#:use-module (gnu packages autotools))
(define-public libapr
(define-public apr
(package
(name "libapr")
(version "1.4.6")
(name "apr")
(version "1.4.8")
(source (origin
(method url-fetch)
(uri (string-append "mirror://apache/apr/apr-"
version ".tar.bz2"))
(sha256
(base32
"1g0w9396akmhhrmjzmcwddny5ms43zvj2mrpdkyfcqxizrh5wqwv"))))
"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 "libapr-skip-getservbyname-test.patch"))))
("libtool" ,libtool)))
(home-page "http://apr.apache.org/")
(synopsis "The Apache Portable Runtime Library")
(description
@@ -57,32 +54,32 @@ built, relieving them of the need to code special-case conditions to work
around or take advantage of platform-specific deficiencies or features.")
(license asl2.0)))
(define-public libaprutil
(define-public apr-util
(package
(name "libaprutil")
(version "1.5.1")
(name "apr-util")
(version "1.5.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://apache/apr/apr-util-"
version ".tar.bz2"))
(sha256
(base32
"0832cb90zd7zqhhdx0v3i8viw1rmn0d945qbk1zid3cnky9r0s19"))))
"19qjxpckb9p4j9pbk8kcirg6k5vqnjrqhnk9xx2c5m9964p3vkls"))))
(build-system gnu-build-system)
(inputs
`(("libapr" ,libapr)))
`(("apr" ,apr)))
(arguments
'(#:phases
(alist-replace
'configure
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
(libapr (assoc-ref inputs "libapr")))
(apr (assoc-ref inputs "apr")))
(setenv "CONFIG_SHELL" (which "bash"))
(zero?
(system* "./configure"
(string-append "--prefix=" out)
(string-append "--with-apr=" libapr)))))
(string-append "--with-apr=" apr)))))
%standard-phases)))
(home-page "http://apr.apache.org/")
(synopsis "One of the Apache Portable Runtime Library companions")
+4 -10
View File
@@ -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+)))
+26 -20
View File
@@ -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))
@@ -52,26 +51,33 @@
"install"
"install-lib"
"install-dev")))
(alist-replace
'check
(lambda _
;; Use the right shell.
(substitute* "test/run"
(("/bin/sh")
(which "bash")))
(system* "make" "tests" "-C" "test")
;; When building natively, adjust the test cases.
,(if (%current-target-system)
'%standard-phases
'(alist-replace 'check
(lambda _
;; Use the right shell.
(substitute* "test/run"
(("/bin/sh")
(which "bash")))
;; XXX: Ignore the test result since this is dependent on the
;; underlying file system.
#t)
%standard-phases)))))
(inputs `(("perl" ,perl)
("gettext" ,guix:gettext)))
(home-page
"http://savannah.nongnu.org/projects/attr/")
(synopsis
"Library and tools for manipulating extended attributes")
(system* "make" "tests" "-C" "test")
;; XXX: Ignore the test result since this is
;; dependent on the underlying file system.
#t)
%standard-phases))))))
(inputs
;; Perl is needed to run tests; remove it from cross builds.
(if (%current-target-system)
'()
`(("perl" ,perl))))
(native-inputs
`(("gettext" ,gnu-gettext)))
(home-page "http://savannah.nongnu.org/projects/attr/")
(synopsis "Library and tools for manipulating extended attributes")
(description
"Portable library and tools for manipulating extended attributes.")
(license (list gpl2+ lgpl2.1+))))
+63
View File
@@ -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+)))
+52 -55
View File
@@ -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
@@ -121,40 +119,39 @@ exec ~a --no-auto-compile \"$0\" \"$@\"
(use-modules (guix build utils))
(let ((result (apply system* ,autoconf
(cdr (command-line)))))
(if (and (zero? result)
(file-exists? "configure")
(not (file-exists? "/bin/sh")))
(begin
(patch-shebang "configure")
#t)
(exit (status:exit-val result)))))
(when (and (file-exists? "configure")
(not (file-exists? "/bin/sh")))
;; Patch regardless of RESULT, because `autoconf
;; -Werror' can both create a `configure' file and
;; return a non-zero exit code.
(patch-shebang "configure"))
(exit (status:exit-val result))))
port)))
(chmod (string-append bin "/autoconf") #o555)))))))
(define-public automake
(package
(name "automake")
(version "1.13.1")
(version "1.14")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/automake/automake-"
version ".tar.xz"))
(sha256
(base32
"12yi1bzkipi7qdmkdy77pazljsa9z7q66hi6c4rq73p7hbv6rkbf"))))
"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,38 +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"))
#: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/")))
+4 -1
View File
@@ -21,6 +21,7 @@
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu)
#:use-module (gnu packages)
#:use-module (gnu packages gdbm)
#:use-module (gnu packages libdaemon)
#:use-module (gnu packages pkg-config)
@@ -38,10 +39,12 @@
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"
"--localstatedir=/var" ; for the DBus socket
"--disable-python"
"--disable-mono"
"--disable-doxygen-doc"
+224 -178
View File
@@ -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/")))
@@ -101,52 +103,47 @@ lines.")
(build-system gnu-build-system)
(synopsis "Stream editor")
(arguments
`(#:phases (alist-cons-before
'patch-source-shebangs 'patch-test-suite
(lambda* (#:key inputs #:allow-other-keys)
(let ((bash (assoc-ref inputs "bash")))
(patch-makefile-SHELL "testsuite/Makefile.tests")
(substitute* '("testsuite/bsd.sh"
"testsuite/bug-regex9.c")
(("/bin/sh")
(string-append bash "/bin/bash")))))
%standard-phases)))
(if (%current-target-system)
'()
`(#:phases (alist-cons-before
'patch-source-shebangs 'patch-test-suite
(lambda* (#:key inputs #:allow-other-keys)
(let ((bash (assoc-ref inputs "bash")))
(patch-makefile-SHELL "testsuite/Makefile.tests")
(substitute* '("testsuite/bsd.sh"
"testsuite/bug-regex9.c")
(("/bin/sh")
(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/")))
@@ -170,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/")))
@@ -190,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/")))
@@ -228,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")))
;; TODO: Work around cross-compilation failure.
;; Work around cross-compilation failure.
;; See <http://savannah.gnu.org/bugs/?27299#comment1>.
;; `(#:configure-flags '("gl_cv_func_wcwidth_works=yes")
;; ,@(arguments cross-system))
)
(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/")))
@@ -270,9 +239,14 @@ The tools supplied with this package are:
(base32
"064f512185iysqqcvhnhaf3bfmzrvcgs7n405qsyp99zmfyl9amd"))))
(build-system gnu-build-system)
(inputs `(("acl" ,acl)
(inputs `(("acl" ,acl) ; TODO: add SELinux
("gmp" ,gmp)
("perl" ,perl))) ; TODO: add SELinux
;; Perl is needed to run tests; remove it from cross builds.
,@(if (%current-target-system)
'()
`(("perl" ,perl)))))
(outputs '("out" "debug"))
(arguments
`(#:parallel-build? #f ; help2man may be called too early
#:phases (alist-cons-before
@@ -290,29 +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.
@@ -324,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/")))
@@ -344,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
@@ -353,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"
@@ -370,23 +344,37 @@ 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/")))
(define-public glibc
(package
(name "glibc")
(version "2.17")
(version "2.18")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/glibc/glibc-"
version ".tar.xz"))
(sha256
(base32
"0gmjnn4kma9vgizccw1jv979xw55a8n1nkk94gg0l3hy80vy6539"))))
"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
@@ -397,11 +385,10 @@ BFD (Binary File Descriptor) library, `gprof', `nm', `strip', etc.")
;; reference to them anyway, so there's no space savings here.
;; TODO: Eventually we may want to add a $LOCALE_ARCHIVE search path like
;; Nixpkgs does.
(outputs '("out" "locales"))
(outputs '("out" "locales" "debug"))
(arguments
`(#:out-of-source? #t
#:patches (list (assoc-ref %build-inputs "patch/ld.so.cache"))
#:configure-flags
(list "--enable-add-ons"
"--sysconfdir=/etc"
@@ -414,7 +401,6 @@ BFD (Binary File Descriptor) library, `gprof', `nm', `strip', etc.")
(assoc-ref %outputs "locales")
"/share/locale")
(string-append "--with-headers="
(assoc-ref %build-inputs "linux-headers")
"/include")
@@ -486,9 +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"))
("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
@@ -503,7 +487,7 @@ with the Linux kernel.")
(define-public tzdata
(package
(name "tzdata")
(version "2013c")
(version "2013d")
(source (origin
(method url-fetch)
(uri (string-append
@@ -511,7 +495,7 @@ with the Linux kernel.")
version ".tar.gz"))
(sha256
(base32
"11swq6fg20m2dh520qcr8vb23gqhzbvqhizx8wifnmci4gmsg5z5"))))
"011v63ppr73vhjgxv00inkn5pc7z48i8lhbapkpdq3kfczq9c76d"))))
(build-system gnu-build-system)
(arguments
'(#:tests? #f
@@ -558,7 +542,7 @@ with the Linux kernel.")
version ".tar.gz"))
(sha256
(base32
"1w6nkdwhi6k9llshp4baac1yj43jqf3apdf6n66i0wvjj8qyjvp4"))))))
"1dh7nzmfxs8fps4bzcd2lz5fz24zxy2123a99avxsk34jh6bk7id"))))))
(home-page "http://www.iana.org/time-zones")
(synopsis "Database of current and historical time zones")
(description "The Time Zone Database (often called tz or zoneinfo)
@@ -586,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)
@@ -662,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
@@ -672,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))
@@ -681,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"
@@ -709,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)
@@ -736,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))))))
@@ -748,9 +729,16 @@ identifier SYSTEM."
;; Call it differently so that the builder can check whether
;; the "libc" input is #f.
("libc-native" ,@(assoc-ref %boot0-inputs "libc"))
,@(alist-delete "libc" %boot0-inputs))))))
,@(alist-delete "libc" %boot0-inputs)))
(define linux-libre-headers-boot0
;; No need for Texinfo at this stage.
(native-inputs (alist-delete "texinfo"
(package-native-inputs gcc-4.8))))))
(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
@@ -795,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"))
@@ -811,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)
@@ -828,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)
@@ -835,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)
@@ -895,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
@@ -904,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)
@@ -917,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)))))
@@ -930,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
@@ -989,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
@@ -1010,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)
@@ -1020,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))))
@@ -1036,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)
+42 -32
View File
@@ -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.
;;;
@@ -26,19 +26,29 @@
#:use-module (guix build-system gnu))
(define-public bash
(let ((cppflags (string-join '("-DSYS_BASHRC='\"/etc/bashrc\"'"
"-DSYS_BASH_LOGOUT='\"/etc/bash_logout\"'"
"-DDEFAULT_PATH_VALUE='\"/no-such-path\"'"
"-DSTANDARD_UTILS_PATH='\"/no-such-path\"'"
"-DNON_INTERACTIVE_LOGIN_SHELLS"
"-DSSH_SOURCE_BASHRC")
" "))
(post-install-phase
'(lambda* (#:key outputs #:allow-other-keys)
;; Add a `bash' -> `sh' link.
(let ((out (assoc-ref outputs "out")))
(with-directory-excursion (string-append out "/bin")
(symlink "bash" "sh"))))))
(let* ((cppflags (string-join '("-DSYS_BASHRC='\"/etc/bashrc\"'"
"-DSYS_BASH_LOGOUT='\"/etc/bash_logout\"'"
"-DDEFAULT_PATH_VALUE='\"/no-such-path\"'"
"-DSTANDARD_UTILS_PATH='\"/no-such-path\"'"
"-DNON_INTERACTIVE_LOGIN_SHELLS"
"-DSSH_SOURCE_BASHRC")
" "))
(configure-flags
``("--with-installed-readline"
,,(string-append "CPPFLAGS=" cppflags)
,(string-append
"LDFLAGS=-Wl,-rpath -Wl,"
(assoc-ref %build-inputs "readline")
"/lib"
" -Wl,-rpath -Wl,"
(assoc-ref %build-inputs "ncurses")
"/lib")))
(post-install-phase
'(lambda* (#:key outputs #:allow-other-keys)
;; Add a `bash' -> `sh' link.
(let ((out (assoc-ref outputs "out")))
(with-directory-excursion (string-append out "/bin")
(symlink "bash" "sh"))))))
(package
(name "bash")
(version "4.2")
@@ -53,15 +63,12 @@
(inputs `(("readline" ,readline)
("ncurses" ,ncurses))) ; TODO: add texinfo
(arguments
`(#:configure-flags `("--with-installed-readline"
,,(string-append "CPPFLAGS=" cppflags)
,(string-append
"LDFLAGS=-Wl,-rpath -Wl,"
(assoc-ref %build-inputs "readline")
"/lib"
" -Wl,-rpath -Wl,"
(assoc-ref %build-inputs "ncurses")
"/lib"))
`(;; When cross-compiling, `configure' incorrectly guesses that job
;; control is missing.
#:configure-flags ,(if (%current-target-system)
`(cons* "bash_cv_job_control_missing=no"
,configure-flags)
configure-flags)
;; Bash is reportedly not parallel-safe. See, for instance,
;; <http://patches.openembedded.org/patch/32745/> and
@@ -78,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/"))))
@@ -98,7 +104,7 @@ modification.")
(guix build utils)
(srfi srfi-1)
(srfi srfi-26))
,@(package-arguments bash))))
,@(package-arguments bash))))
(substitute-keyword-arguments args
((#:configure-flags flags)
`(list "--without-bash-malloc"
@@ -107,4 +113,8 @@ modification.")
"--disable-help-builtin"
"--disable-progcomp"
"--disable-net-redirections"
"--disable-nls")))))))
"--disable-nls"
,@(if (%current-target-system)
'("bash_cv_job_control_missing=no")
'()))))))))
+5 -1
View File
@@ -45,7 +45,11 @@
(system* "./dist/configure"
(string-append "--prefix=" out)
(string-append "CONFIG_SHELL=" (which "bash"))
(string-append "SHELL=" (which "bash"))))))
(string-append "SHELL=" (which "bash"))
;; The compatibility mode is needed by some packages,
;; notably iproute2.
"--enable-compat185"))))
%standard-phases)))
(synopsis "db, the Berkeley database")
(description
+7 -3
View File
@@ -25,7 +25,7 @@
(define-public libgc
(package
(name "libgc")
(version "7.2alpha6")
(version "7.2d")
(source (origin
(method url-fetch)
(uri (string-append
@@ -33,9 +33,13 @@
version ".tar.gz"))
(sha256
(base32
"05jwadjbrv8pr7z9cb4miskicxqpxm0pca4h2rg5cgbpajr2bx7b"))))
"0phwa5driahnpn79zqff14w9yc8sn3599cxz91m78hqdcpl0mznr"))))
(build-system gnu-build-system)
;; TODO: Build with -DUSE_LIBC_PRIVATES (see make-bootstrap.scm).
(arguments
;; Make it so that we don't rely on /proc. This is especially useful in
;; an initrd run before /proc is mounted.
'(#:configure-flags '("CPPFLAGS=-DUSE_LIBC_PRIVATES")))
(outputs '("out" "debug"))
(synopsis "The Boehm-Demers-Weiser conservative garbage collector
for C and C++")
(description
+14 -17
View File
@@ -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+)))
+51 -25
View File
@@ -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)))
@@ -131,7 +141,10 @@ check whether everything is alright."
(propagated-inputs (map rewritten-input
(package-propagated-inputs p)))))))
(define* (glibc-dynamic-linker #:optional (system (%current-system)))
(define* (glibc-dynamic-linker
#:optional (system (or (and=> (%current-target-system)
gnu-triplet->nix-system)
(%current-system))))
"Return the name of Glibc's dynamic linker for SYSTEM."
(cond ((string=? system "x86_64-linux") "/lib/ld-linux-x86-64.so.2")
((string=? system "i686-linux") "/lib/ld-linux.so.2")
@@ -167,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"
@@ -181,9 +194,10 @@ cd $out
$out/bin/guile --version~%"
mkdir xz guile tar)
(list mkdir xz guile tar))))
(derivation store name system
bash `(,builder) '()
`((,bash) (,builder)))))))))
(derivation store name
bash `(,builder)
#:system system
#:inputs `((,bash) (,builder)))))))))
(package
(name "guile-bootstrap")
(version "2.0")
@@ -205,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."))
@@ -224,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"))
@@ -275,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)
@@ -343,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")
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+107 -15
View File
@@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -19,15 +20,19 @@
(define-module (gnu packages cdrom)
#:use-module (guix download)
#:use-module (guix packages)
#:use-module ((guix licenses) #:select (lgpl2.1+ gpl3+))
#:use-module ((guix licenses) #:select (lgpl2.1+ gpl2 gpl2+ gpl3+))
#:use-module (guix build-system gnu)
#:use-module (gnu packages)
#:use-module (gnu packages acl)
#:use-module (gnu packages compression)
#:use-module (gnu packages readline)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages gettext)
#:use-module (gnu packages gtk)
#:use-module (gnu packages help2man)
#:use-module (gnu packages pkg-config))
#: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
(package
@@ -80,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.2.8")
(version "1.3.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/xorriso/xorriso-"
version ".tar.gz"))
(sha256
(base32
"1h3w9ymhsi0wghcnl7mmlml40rm4yill1c75g90xc7r1a2g8k1mn"))))
"1z04580nkkziy2flbxjjx0q6vp9p7vcp7yp0agx2aqz3l1vjcwhf"))))
(build-system gnu-build-system)
(inputs
`(("acl" ,acl)
@@ -106,10 +115,93 @@ 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
(package
(name "cdparanoia")
(version "10.2")
(source (origin
(method url-fetch)
(uri (string-append "http://downloads.xiph.org/releases/cdparanoia/cdparanoia-III-"
version ".src.tgz"))
(sha256
(base32
"1pv4zrajm46za0f6lv162iqffih57a8ly4pc69f7y0gfyigb8p80"))
(patches (list (search-patch "cdparanoia-fpic.patch")))))
(build-system gnu-build-system)
(inputs
`(("patchelf" ,patchelf)))
(arguments
`(#:tests? #f ; there is no check target
#: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
drives. The data can be saved to a file or directed to standard output
in WAV, AIFF, AIFF-C or raw format. Most ATAPI, SCSI and several
proprietary CDROM drive makes are supported; cdparanoia can determine if the
target drive is CDDA capable. In addition to simple reading, cdparanoia adds
extra-robust data verification, synchronization, error handling and scratch
reconstruction capability.")
(license gpl2))) ; libraries under lgpl2.1
(define-public dvdisaster
(package
(name "dvdisaster")
(version "0.72.4")
(source (origin
(method url-fetch)
(uri (string-append "http://dvdisaster.net/downloads/dvdisaster-"
version ".tar.bz2"))
(sha256
(base32
"0pm039a78h7m9vvjmmjfkl05ii6qdmfhvbypxjbc7j5w82y66is4"))))
(build-system gnu-build-system)
(inputs
`(("gettext" ,gnu-gettext)
("gtk+" ,gtk+-2)
("pkg-config" ,pkg-config)
("which" ,which)))
(arguments
`(#:tests? #f)) ; no check target
(home-page "http://dvdisaster.net/en/index.html")
(synopsis "error correcting codes for optical media images")
(description "Optical media (CD,DVD,BD) keep their data only for a
finite time (typically for many years). After that time, data loss develops
slowly with read errors growing from the outer media region towards the
inside.
Dvdisaster stores data on CD/DVD/BD (supported media) in a way that it is
fully recoverable even after some read errors have developed. This enables
you to rescue the complete data to a new medium.
Data loss is prevented by using error correcting codes. Error correction
data is either added to the medium or kept in separate error correction
files. Dvdisaster works at the image level so that the recovery does not
depend on the file system of the medium. The maximum error correction
capacity is user-selectable.")
(license gpl2+)))
+8 -10
View File
@@ -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+)))
+5 -7
View File
@@ -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
+49
View File
@@ -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+)))
+117 -24
View File
@@ -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
@@ -30,8 +32,10 @@
(source
(origin
(method url-fetch)
(uri (string-append "http://zlib.net/zlib-"
version ".tar.gz"))
(uri (list (string-append "http://zlib.net/zlib-"
version ".tar.gz")
(string-append "mirror://sourceforge/libpng/zlib-"
version ".tar.gz")))
(sha256
(base32
"1i96gsdvxqb6skp9a58bacf1wxamwi9m9pg4yn7cpf7g7239r77s"))))
@@ -40,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")
@@ -64,27 +73,24 @@ in compression.")
(define-public gzip
(package
(name "gzip")
(version "1.5")
(version "1.6")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/gzip/gzip-"
version ".tar.gz"))
(sha256
(base32
"18rm80kar7n016g8bsyy1a3zk50i2826xdgs874yh64rzj7nxmdm"))))
"0zlgdm4v3dndrbiz7b67mbbj25dpwqbmbzjiycssvrfrcfvq7swp"))))
(build-system gnu-build-system)
(synopsis "General file (de)compression (using lzw)")
(arguments
;; 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/")))
@@ -110,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")
@@ -127,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
@@ -187,6 +224,7 @@ than gzip and 15 % smaller output than bzip2.")
(base32
"0wryshs446s7cclrbjykyj766znhcpnr7s3cxy33ybfn6vwfcygz"))))
(build-system gnu-build-system)
(arguments '(#:configure-flags '("--enable-shared")))
(home-page "http://www.oberhumer.com/opensource/lzo")
(synopsis
"A data compresion library suitable for real-time data de-/compression")
@@ -198,3 +236,58 @@ compression ratio.
LZO is written in ANSI C. Both the source code and the compressed data
format are designed to be portable across platforms.")
(license license:gpl2+)))
(define-public lzip
(package
(name "lzip")
(version "1.15")
(source (origin
(method url-fetch)
(uri (string-append "mirror://savannah/lzip/lzip-"
version ".tar.gz"))
(sha256
(base32
"1dh5vmj5apizfawnsm50y7z064yx7cz3313przph16gwd3dgrlvw"))))
(build-system gnu-build-system)
(home-page "http://www.nongnu.org/lzip/lzip.html")
(synopsis "Lossless data compressor based on the LZMA algorithm")
(description
"Lzip is a lossless data compressor with a user interface similar to the
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
View File
@@ -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+)))
+4 -5
View File
@@ -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+)))
+55 -25
View File
@@ -29,7 +29,10 @@
#:use-module (guix build-system trivial)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-26)
#:use-module (ice-9 match))
#:use-module (ice-9 match)
#:export (cross-binutils
cross-libc
cross-gcc))
(define (cross p target)
(package (inherit p)
@@ -41,24 +44,39 @@
`(cons ,(string-append "--target=" target)
,flags))))))
(define cross-binutils
(cut cross binutils <>))
(define (cross-binutils target)
"Return a cross-Binutils for TARGET."
(let ((binutils (package (inherit binutils)
(arguments
(substitute-keyword-arguments (package-arguments
binutils)
((#:configure-flags flags)
;; Build with `--with-sysroot' so that ld honors
;; DT_RUNPATH entries when searching for a needed
;; library. This works because as a side effect
;; `genscripts.sh' sets `USE_LIBPATH=yes', which tells
;; elf32.em to use DT_RUNPATH in its search list.
;; See <http://sourceware.org/ml/binutils/2013-05/msg00312.html>.
;;
;; In theory choosing / as the sysroot could lead ld
;; to pick up native libs instead of target ones. In
;; practice the RUNPATH of target libs only refers to
;; target libs, not native libs, so this is safe.
`(cons "--with-sysroot=/" ,flags)))))))
(cross binutils target)))
(define* (cross-gcc target
#:optional (xbinutils (cross-binutils target)) libc)
"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."
(define args
;; Get the arguments as if we were building for TARGET. In particular, we
;; want `glibc-dynamic-linker' to return the right thing.
(parameterize ((%current-system (gnu-triplet->nix-system target)))
(package-arguments gcc-4.7)))
(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)
@@ -66,11 +84,11 @@ 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 args
,@(substitute-keyword-arguments (package-arguments gcc-4.8)
((#:configure-flags flags)
`(append (list ,(string-append "--target=" target)
,@(gcc-configure-flags-for-triplet target)
,@(if libc
'()
`( ;; Disable features not needed at this stage.
@@ -83,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"
@@ -159,23 +178,33 @@ GCC that does not target a libc; otherwise, target that libc."
;; <http://lists.fedoraproject.org/pipermail/arm/2010-August/000663.html>
;; for instance.
#f))))
(inputs
`(("patch/cross-env-vars"
,(search-patch "gcc-cross-environment-variables.patch"))
("binutils-cross" ,xbinutils)
(native-inputs
`(("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)
,@inputs)
inputs))))))
inputs))))
(inputs '())
;; Only search target inputs, not host inputs.
(search-paths
(list (search-path-specification
(variable "CROSS_CPATH")
(directories '("include")))
(search-path-specification
(variable "CROSS_LIBRARY_PATH")
(directories '("lib" "lib64")))))
(native-search-paths '())))
(define* (cross-libc target
#:optional
@@ -199,9 +228,9 @@ XBINUTILS and the cross tool chain."
(and (zero? (system* "make" "defconfig"))
(zero? (system* "make" "mrproper" "headers_check"))))
,phases))))
(inputs `(("cross-gcc" ,xgcc)
("cross-binutils" ,xbinutils)
,@(package-inputs linux-libre-headers)))))
(native-inputs `(("cross-gcc" ,xgcc)
("cross-binutils" ,xbinutils)
,@(package-native-inputs linux-libre-headers)))))
(package (inherit glibc)
(name (string-append "glibc-cross-" target))
@@ -221,10 +250,11 @@ XBINUTILS and the cross tool chain."
(string-append linux "/include"))
#t))
,phases))))
(propagated-inputs `(("cross-linux-headers" ,xlinux-headers)))
(inputs `(("cross-gcc" ,xgcc)
("cross-binutils" ,xbinutils)
,@(package-inputs glibc)))))
(native-inputs `(("cross-gcc" ,xgcc)
("cross-binutils" ,xbinutils)
,@(package-native-inputs glibc)))))
;;;
@@ -232,7 +262,7 @@ XBINUTILS and the cross tool chain."
;;;
(define-public xgcc-mips64el
(let ((triplet "mips64el-linux-gnu"))
(let ((triplet "mips64el-linux-gnuabi64")) ; N64 ABI
(cross-gcc triplet
(cross-binutils triplet)
(cross-libc triplet))))
+1 -1
View File
@@ -45,7 +45,7 @@
`(("libgcrypt" ,libgcrypt)
("lvm2" ,lvm2)
("popt" ,popt)
("python" ,python)
("python" ,python-wrapper)
("util-linux" ,util-linux)))
(synopsis "hard disk encryption tool")
(description
+11 -21
View File
@@ -20,38 +20,28 @@
#:use-module (guix licenses)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu))
#:use-module (guix build-system gnu)
#:use-module ((gnu packages compression) #:select (lzip)))
(define-public ddrescue
(package
(name "ddrescue")
(version "1.16")
(version "1.17")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://gnu/ddrescue/ddrescue-"
version ".tar.gz"))
version ".tar.lz"))
(sha256
(base32
"1rixya7p8c4jrn4p0flf6h5dqwybrilf3hrj4r7x41h3zgjz5cvn"))))
"0bvmsbzli2j4czwkabzs978n1y6vx31axh02kpgcf7033cc6rydy"))))
(build-system gnu-build-system)
(home-page
"http://www.gnu.org/software/ddrescue/ddrescue.html")
(home-page "http://www.gnu.org/software/ddrescue/ddrescue.html")
(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+)))
+3 -8
View File
@@ -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+)))
+7 -10
View File
@@ -26,14 +26,14 @@
(define-public ed
(package
(name "ed")
(version "1.8")
(version "1.9")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/ed/ed-"
version ".tar.gz"))
(sha256
(base32
"0wvj190ky5i0gm0pilx9k75l6alyc6h5s14fm3dbk90y7g9kihb4"))))
"122syihsx2hwzj75mkf5a9ssiky2xby748kp4cc00wzhmp7p5cym"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags '("CC=gcc")
@@ -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+)))
+13 -22
View File
@@ -22,6 +22,7 @@
#:use-module (guix download)
#:use-module (guix build-system gnu)
#:use-module (gnu packages)
#:use-module (gnu packages gtk)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages gnutls)
@@ -47,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 _
@@ -71,8 +72,7 @@
;; TODO: Add the optional dependencies.
("xlibs" ,libx11)
("libXaw" ,libxaw) ; XXX: eventually replace by GTK+
;; ("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+)))
+5 -5
View File
@@ -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
View File
@@ -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")
+133
View File
@@ -0,0 +1,133 @@
;;; 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 fonts)
#:use-module ((guix licenses)
#:renamer (symbol-prefix-proc 'license:))
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system trivial)
#:use-module ((gnu packages base)
#:select (tar))
#:use-module (gnu packages compression))
(define-public ttf-bitstream-vera
(package
(name "ttf-bitstream-vera")
(version "1.10")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/ttf-bitstream-vera/"
version "/ttf-bitstream-vera-"
version ".tar.bz2"))
(sha256
(base32
"1p3qs51x5327gnk71yq8cvmxc6wgx79sqxfvxcv80cdvgggjfnyv"))))
(build-system trivial-build-system)
(arguments
`(#:modules ((guix build utils))
#:builder (begin
(use-modules (guix build utils)
(srfi srfi-26))
(let ((tar (string-append (assoc-ref %build-inputs
"tar")
"/bin/tar"))
(PATH (string-append (assoc-ref %build-inputs
"bzip2")
"/bin"))
(font-dir (string-append %output
"/share/fonts/truetype"))
(doc-dir (string-append %output "/share/doc/"
,name "-" ,version)))
(setenv "PATH" PATH)
(system* tar "xvf" (assoc-ref %build-inputs "source"))
(mkdir-p font-dir)
(mkdir-p doc-dir)
(chdir (string-append "ttf-bitstream-vera-" ,version))
(for-each (lambda (ttf)
(copy-file ttf
(string-append font-dir "/" ttf)))
(find-files "." "\\.ttf$"))
(for-each (lambda (doc)
(copy-file doc
(string-append doc-dir "/" doc)))
(find-files "." "\\.TXT$"))))))
(native-inputs `(("source" ,source)
("tar" ,tar)
("bzip2" ,bzip2)))
(home-page "https://www-old.gnome.org/fonts/")
(synopsis "Bitstream Vera sans-serif typeface")
(description "Vera is a sans-serif typeface from Bitstream, Inc. This
package provides the TrueType (TTF) files.")
(license
(license:x11-style
"https://www-old.gnome.org/fonts/#Final_Bitstream_Vera_Fonts"))))
(define-public freefont-ttf
(package
(name "freefont-ttf")
(version "20100919")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/freefont/freefont-ttf-"
version ".tar.gz"))
(sha256
(base32
"1q3h5jp1mbdkinkwxy0lfd0a1q7azlbagraydlzaa2ng82836wg4"))))
(build-system trivial-build-system)
(arguments
`(#:modules ((guix build utils))
#:builder (begin
(use-modules (guix build utils)
(srfi srfi-26))
(let ((tar (string-append (assoc-ref %build-inputs
"tar")
"/bin/tar"))
(PATH (string-append (assoc-ref %build-inputs
"gzip")
"/bin"))
(font-dir (string-append %output
"/share/fonts/truetype"))
(doc-dir (string-append %output "/share/doc/"
,name "-" ,version)))
(setenv "PATH" PATH)
(system* tar "xvf" (assoc-ref %build-inputs "source"))
(mkdir-p font-dir)
(mkdir-p doc-dir)
(chdir (string-append "freefont-" ,version))
(for-each (lambda (file)
(let ((dir (if (string-suffix? "ttf" file)
font-dir
doc-dir)))
(copy-file file
(string-append dir "/" file))))
(find-files "." ""))))))
(native-inputs `(("source" ,source)
("tar" ,tar)
("gzip" ,gzip)))
(home-page "http://www.gnu.org/software/freefont/")
(synopsis "Unicode-encoded outline fonts")
(description
"The GNU Freefont project aims to provide a set of free outline
(PostScript Type0, TrueType, OpenType...) fonts covering the ISO
10646/Unicode UCS (Universal Character Set).")
(license license:gpl3+)))
+15 -7
View File
@@ -19,6 +19,7 @@
(define-module (gnu packages fontutils)
#:use-module (gnu packages)
#:use-module (gnu packages compression)
#:use-module (gnu packages ghostscript)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages xml)
#:use-module ((guix licenses) #:renamer (symbol-prefix-proc 'license:))
@@ -64,18 +65,27 @@ anti-aliased glyph bitmap generation with 256 gray levels.")
(define-public fontconfig
(package
(name "fontconfig")
(version "2.10.91")
(version "2.10.93")
(source (origin
(method url-fetch)
(uri (string-append
"http://www.freedesktop.org/software/fontconfig/release/fontconfig-"
version ".tar.bz2"))
(sha256 (base32
"1vk37q3zj8bjppj3l0pkby1psialpwl263jqf6pbih2hx5a7jwm4"))))
"172j5vsgx2xplsk5mrxrspbn5lrswq6gnxkxjgcrx0j8i0kiz47a"))))
(build-system gnu-build-system)
(inputs `(("expat" ,expat)
("freetype" ,freetype)
("gs-fonts" ,gs-fonts)
("pkg-config" ,pkg-config)))
(arguments
`(#:configure-flags
;; point to user profile instead of /usr/share/fonts in /etc/fonts.conf
(list "--with-default-fonts=~/.guix-profile/share/fonts"
;; register gs-fonts
(string-append "--with-add-fonts="
(assoc-ref %build-inputs "gs-fonts")
"/share/fonts"))))
(synopsis "Fontconfig, a library for configuring and customising font access.")
(description
"Fontconfig can discover new fonts when installed automatically;
@@ -131,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
+7 -11
View File
@@ -27,27 +27,23 @@
(define-public freeipmi
(package
(name "freeipmi")
(version "1.2.6")
(version "1.3.3")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/freeipmi/freeipmi-"
version ".tar.gz"))
(sha256
(base32
"0fjc9kr6x1k55a101qikl3rsc9y6fh4iqr84mj7kgzqgk7rwp5ij"))))
"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+)))
+23 -17
View File
@@ -18,6 +18,7 @@
(define-module (gnu packages gawk)
#:use-module (guix licenses)
#:use-module (gnu packages bash)
#:use-module (gnu packages libsigsegv)
#:use-module (guix packages)
#:use-module (guix download)
@@ -26,20 +27,17 @@
(define-public gawk
(package
(name "gawk")
(version "4.0.2")
(version "4.1.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/gawk/gawk-" version
".tar.xz"))
(sha256
(base32 "04vd0axif762mf781pj3days6ilv2333b9zi9c50y5mma66g5q91"))))
(base32 "0hin2hswbbd6kd6i4zzvgciwpl5fba8d2s524z8y5qagyz3x010q"))))
(build-system gnu-build-system)
(arguments
`(#:parallel-tests? #f ; test suite fails in parallel
;; Work around test failure on Cygwin.
#:tests? ,(not (string=? (%current-system) "i686-cygwin"))
#:phases (alist-cons-before
'configure 'set-shell-file-name
(lambda* (#:key inputs #:allow-other-keys)
@@ -47,20 +45,28 @@
(let ((bash (assoc-ref inputs "bash")))
(substitute* "io.c"
(("/bin/sh")
(string-append bash "/bin/bash")))))
(string-append bash "/bin/bash")))
;; When cross-compiling, remove dependencies on the
;; `check-for-shared-lib-support' target, which tries to
;; run the cross-built `gawk'.
,@(if (%current-target-system)
'((substitute* "extension/Makefile.in"
(("^.*: check-for-shared-lib-support" match)
(string-append "### " match))))
'())))
%standard-phases)))
(inputs `(("libsigsegv" ,libsigsegv)))
(inputs `(("libsigsegv" ,libsigsegv)
,@(if (%current-target-system)
`(("bash" ,bash))
'())))
(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+)))
+47
View File
@@ -0,0 +1,47 @@
;;; 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 gcal)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu)
#:use-module (guix licenses))
(define-public gcal
(package
(name "gcal")
(version "3.6.3")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/gcal/gcal-"
version ".tar.xz"))
(sha256
(base32
"06xkwkir9w4jd9i72m1izmf4rbry4slg8gkiml4w26h13lx92hk7"))))
(build-system gnu-build-system)
(home-page "http://www.gnu.org/software/gcal")
(synopsis "Calculating and printing a wide variety of calendars")
(description
"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+)))
+205 -118
View File
@@ -23,150 +23,237 @@
#:use-module (gnu packages bootstrap)
#:use-module (gnu packages compression)
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages texinfo)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu))
#:use-module (guix build-system gnu)
#:use-module (guix utils)
#:use-module (ice-9 regex))
(define %gcc-infrastructure
;; Base URL for GCC's infrastructure.
"ftp://gcc.gnu.org/pub/gcc/infrastructure/")
(define-public (gcc-configure-flags-for-triplet target)
"Return a list of additional GCC `configure' flags for TARGET, a GNU triplet.
The purpose of this procedure is to translate extended GNU triplets---e.g.,
where the OS part is overloaded to denote a specific ABI---into GCC
`configure' options. We take extended GNU triplets that glibc recognizes."
(cond ((string-match "^mips64el.*gnuabin?64$" target)
;; Triplets recognized by glibc as denoting the N64 ABI; see
;; ports/sysdeps/mips/preconfigure.
'("--with-abi=64"))
(else
;; TODO: Add `armel.*gnueabi', `hf', etc.
'())))
(define-public gcc-4.7
(let ((stripped? #t)) ; TODO: make this a parameter
(let* ((stripped? #t) ; TODO: make this a parameter
(maybe-target-tools
(lambda ()
;; Return the `_FOR_TARGET' variables that are needed when
;; cross-compiling GCC.
(let ((target (%current-target-system)))
(if target
(map (lambda (var tool)
(string-append (string-append var "_FOR_TARGET")
"=" target "-" tool))
'("CC" "CXX" "LD" "AR" "NM" "RANLIB" "STRIP")
'("gcc" "g++" "ld" "ar" "nm" "ranlib" "strip"))
'()))))
(configure-flags
(lambda ()
;; This is terrible. Since we have two levels of quasiquotation,
;; we have to do this convoluted thing just so we can insert the
;; contents of (maybe-target-tools).
(list 'quasiquote
(append
'("--enable-plugin"
"--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")))
(if libc
(string-append "--with-native-system-header-dir=" libc
"/include")
"--without-headers")))
;; When cross-compiling GCC, pass the right options for the
;; target triplet.
(or (and=> (%current-target-system)
gcc-configure-flags-for-triplet)
'())
(maybe-target-tools))))))
(package
(name "gcc")
(version "4.7.3")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/gcc/gcc-"
version "/gcc-" version ".tar.bz2"))
(sha256
(base32
"1hx9h64ivarlzi4hxvq42as5m9vlr5cyzaaq4gzj4i619zmkfz1g"))))
(build-system gnu-build-system)
(inputs `(("gmp" ,gmp)
("mpfr" ,mpfr)
("mpc" ,mpc)
("isl" ,isl)
("cloog" ,cloog)
("libelf" ,libelf)
("zlib" ,zlib)))
(arguments
`(#:out-of-source? #t
#:strip-binaries? ,stripped?
#:configure-flags
`("--enable-plugin"
"--enable-languages=c,c++"
"--disable-multilib"
(name "gcc")
(version "4.7.3")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/gcc/gcc-"
version "/gcc-" version ".tar.bz2"))
(sha256
(base32
"1hx9h64ivarlzi4hxvq42as5m9vlr5cyzaaq4gzj4i619zmkfz1g"))))
(build-system gnu-build-system)
(inputs `(("gmp" ,gmp)
("mpfr" ,mpfr)
("mpc" ,mpc)
("isl" ,isl)
("cloog" ,cloog)
("libelf" ,libelf)
("zlib" ,zlib)))
"--with-local-prefix=/no-gcc-local-prefix"
;; GCC is one of the few packages that doesn't ship .info files.
(native-inputs `(("texinfo" ,texinfo)))
,(let ((libc (assoc-ref %build-inputs "libc")))
(if libc
(string-append "--with-native-system-header-dir=" libc
"/include")
"--without-headers")))
#:make-flags
(let ((libc (assoc-ref %build-inputs "libc")))
`(,@(if libc
(list (string-append "LDFLAGS_FOR_TARGET="
"-B" libc "/lib "
"-Wl,-dynamic-linker "
"-Wl," libc
,(glibc-dynamic-linker)))
'())
,(string-append "BOOT_CFLAGS=-O2 "
,(if stripped? "-g0" "-g"))))
(arguments
`(#:out-of-source? #t
#:strip-binaries? ,stripped?
#:configure-flags ,(configure-flags)
#:make-flags
(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 "
"-Wl,-dynamic-linker "
"-Wl," libc
,(glibc-dynamic-linker)))
'())
#:tests? #f
#:phases
(alist-cons-before
'configure 'pre-configure
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
(libc (assoc-ref inputs "libc")))
(when libc
;; The following is not performed for `--without-headers'
;; cross-compiler builds.
;; 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"))))
;; Fix the dynamic linker's file name.
(substitute* (find-files "gcc/config"
"^linux(64|-elf)?\\.h$")
(("#define GLIBC_DYNAMIC_LINKER([^ ]*).*$" _ suffix)
(format #f "#define GLIBC_DYNAMIC_LINKER~a \"~a\"~%"
suffix
(string-append libc ,(glibc-dynamic-linker)))))
#:tests? #f
#:phases
(alist-cons-before
'configure 'pre-configure
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
(libc (assoc-ref inputs "libc")))
(when libc
;; The following is not performed for `--without-headers'
;; cross-compiler builds.
;; 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"
libc libc out out suffix))
(("#define STARTFILE_SPEC.*$" line)
(format #f "#define STANDARD_STARTFILE_PREFIX_1 \"~a/lib\"
;; Fix the dynamic linker's file name.
(substitute* (find-files "gcc/config"
"^linux(64|-elf)?\\.h$")
(("#define GLIBC_DYNAMIC_LINKER([^ ]*).*$" _ suffix)
(format #f "#define GLIBC_DYNAMIC_LINKER~a \"~a\"~%"
suffix
(string-append libc ,(glibc-dynamic-linker)))))
;; 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.*\\.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 GNU_USER_TARGET_STARTFILE_SPEC.*$" line)
(format #f "#define STANDARD_STARTFILE_PREFIX_1 \"~a/lib\"
#define STANDARD_STARTFILE_PREFIX_2 \"\"
~a~%"
libc line))))
~a"
libc line))))
;; Don't retain a dependency on the build-time sed.
(substitute* "fixincludes/fixincl.x"
(("static char const sed_cmd_z\\[\\] =.*;")
"static char const sed_cmd_z[] = \"sed\";"))))
;; Don't retain a dependency on the build-time sed.
(substitute* "fixincludes/fixincl.x"
(("static char const sed_cmd_z\\[\\] =.*;")
"static char const sed_cmd_z[] = \"sed\";"))))
(alist-cons-after
'configure 'post-configure
(lambda _
;; Don't store configure flags, to avoid retaining references to
;; build-time dependencies---e.g., `--with-ppl=/nix/store/xxx'.
(substitute* "Makefile"
(("^TOPLEVEL_CONFIGURE_ARGUMENTS=(.*)$" _ rest)
"TOPLEVEL_CONFIGURE_ARGUMENTS=\n")))
(alist-replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(zero?
(system* "make"
,(if stripped?
"install-strip"
"install"))))
%standard-phases)))))
(alist-cons-after
'configure 'post-configure
(lambda _
;; Don't store configure flags, to avoid retaining references to
;; build-time dependencies---e.g., `--with-ppl=/nix/store/xxx'.
(substitute* "Makefile"
(("^TOPLEVEL_CONFIGURE_ARGUMENTS=(.*)$" _ rest)
"TOPLEVEL_CONFIGURE_ARGUMENTS=\n")))
(alist-replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(zero?
(system* "make"
,(if stripped?
"install-strip"
"install"))))
%standard-phases)))))
(native-search-paths
(list (search-path-specification
(variable "CPATH")
(directories '("include")))
(search-path-specification
(variable "LIBRARY_PATH")
(directories '("lib" "lib64")))))
(native-search-paths
(list (search-path-specification
(variable "CPATH")
(directories '("include")))
(search-path-specification
(variable "LIBRARY_PATH")
(directories '("lib" "lib64")))))
(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.")
(license gpl3+)
(home-page "http://gcc.gnu.org/"))))
(properties `((gcc-libc . ,(assoc-ref inputs "libc"))))
(synopsis "GNU Compiler Collection")
(description
"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
;; FIXME: Move to gcc.scm when Binutils is updated.
(package (inherit gcc-4.7)
(version "4.8.0")
(version "4.8.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/gcc/gcc-"
version "/gcc-" version ".tar.bz2"))
(sha256
(base32
"0b6cp9d1sas3vq6dj3zrgd134p9b569fqhbixb9cl7mp698zwdxh"))))))
"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
@@ -175,7 +262,7 @@ used in the GNU system including the GNU/Linux variant.")
(source (origin
(method url-fetch)
(uri (list (string-append
"ftp://ftp.linux.student.kuleuven.be/pub/people/skimo/isl/isl-"
"http://isl.gforge.inria.fr/isl-"
version
".tar.bz2")
(string-append %gcc-infrastructure
@@ -185,7 +272,7 @@ used in the GNU system including the GNU/Linux variant.")
"13d9cqa5rzhbjq0xf0b2dyxag7pqa72xj9dhsa03m8ccr1a4npq9"))))
(build-system gnu-build-system)
(inputs `(("gmp" ,gmp)))
(home-page "http://www.kotnet.org/~skimo/isl/")
(home-page "http://isl.gforge.inria.fr/")
(synopsis
"A library for manipulating sets and relations of integer points bounded
by linear constraints")
+71
View File
@@ -0,0 +1,71 @@
;;; 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 gd)
#: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)
#:use-module (gnu packages compression)
#:use-module ((guix licenses) #:select (bsd-style)))
(define-public gd
(package
(name "gd")
;; Note: With libgd.org now pointing to bitbucket.org, genuine old
;; tarballs are no longer available. Notably, versions 2.0.34 and .35 are
;; missing.
(version "2.0.33")
(source (origin
(method url-fetch)
(uri "https://bitbucket.org/libgd/gd-libgd/get/GD_2_0_33.tar.gz")
(sha256
(base32
"0yrbx8mj9pykyzm0zl1q86xlkdvkajcsf5jmg688vhw9yc5wmbbw"))
(patches
(list (search-patch "gd-mips64-deplibs-fix.patch")))))
(build-system gnu-build-system)
(arguments
'(#:phases (alist-cons-after
'unpack 'chdir
(lambda _
(chdir "src"))
%standard-phases)))
(inputs
`(("freetype" ,freetype)
("libpng" ,libpng)
("zlib" ,zlib)))
(propagated-inputs
`(("fontconfig" ,fontconfig)
("libjpeg" ,libjpeg)))
(home-page "http://www.libgd.org/")
(synopsis "Library for the dynamic creation of images by programmers")
(description
"GD is a library for the dynamic creation of images by programmers. GD
is written in C, and \"wrappers\" are available for Perl, PHP and other
languages. GD creates PNG, JPEG, GIF, WebP, XPM, BMP images, among other
formats. GD is commonly used to generate charts, graphics, thumbnails, and
most anything else, on the fly. While not restricted to use on the web, the
most common applications of GD involve website development.")
(license (bsd-style "file://COPYING"
"See COPYING file in the distribution."))))
+12 -7
View File
@@ -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)
@@ -53,13 +56,15 @@
("gmp" ,gmp)
("readline" ,readline)
("ncurses" ,ncurses)
("python" ,python)
("python" ,python-wrapper)
("texinfo" ,texinfo)
("dejagnu" ,dejagnu)))
(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
View File
@@ -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+)))
+90
View File
@@ -0,0 +1,90 @@
;;; 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 geeqie)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module ((guix licenses)
#:renamer (symbol-prefix-proc 'l:))
#:use-module (guix build-system gnu)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages glib)
#:use-module (gnu packages gtk)
#:use-module (gnu packages libpng)
#:use-module ((gnu packages ghostscript)
#:select (lcms))
#:use-module (gnu packages compression)
#:use-module (gnu packages xml))
(define-public exiv2 ; XXX: move elsewhere?
(package
(name "exiv2")
(version "0.23")
(source (origin
(method url-fetch)
(uri (string-append "http://www.exiv2.org/exiv2-"
version ".tar.gz"))
(sha256
(base32
"04bbg2cg6mgcyz435zamx37sp5zw44n2alb59ki1daz71f851yl1"))))
(build-system gnu-build-system)
(arguments '(#:tests? #f)) ; no `check' target
(propagated-inputs
`(("expat" ,expat) ("zlib" ,zlib)))
(home-page "http://www.exiv2.org/")
(synopsis "Library and command-line utility to manage image metadata")
(description
"Exiv2 is a C++ library and a command line utility to manage image
metadata. It provides fast and easy read and write access to the Exif, IPTC
and XMP metadata of images in various formats.")
;; Files under `xmpsdk' are a copy of Adobe's XMP SDK, licensed under the
;; 3-clause BSD license: <http://www.adobe.com/devnet/xmp/sdk/eula.html>.
;; The core is GPLv2+: <https://launchpad.net/ubuntu/precise/+source/exiv2/+copyright>.
(license l:gpl2+)))
(define-public geeqie
(package
(name "geeqie")
(version "1.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/geeqie/geeqie-"
version ".tar.gz"))
(sha256
(base32
"1kzy39z9505xkayyx7rjj2wda76xy3ch1s5z35zn8yli54ffhi2m"))))
(build-system gnu-build-system)
(inputs
`(;; ("libchamplain" ,libchamplain)
("intltool" ,intltool)
("lcms" ,lcms)
("exiv2" ,exiv2)
("libpng" ,libpng)
("gtk+" ,gtk+-2)
("pkg-config" ,pkg-config)))
(home-page "http://geeqie.sourceforge.net")
(synopsis "Lightweight GTK+ based image viewer")
(description
"Geeqie is a lightweight GTK+ based image viewer for Unix like operating
systems. It features: EXIF, IPTC and XMP metadata browsing and editing
interoperability; easy integration with other software; geeqie works on files
and directories, there is no need to import images; fast preview for many raw
image formats; tools for image comparison, sorting and managing photo
collection. Geeqie was initially based on GQview.")
(license l:gpl2+)))
+38 -39
View File
@@ -17,61 +17,60 @@
;;; 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.1.1")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://gnu/gettext/gettext-"
version ".tar.gz"))
(sha256
(base32
"1sa3ch12qxa4h3ya6hkz119yclcccmincl9j20dhrdx5mykp3b4k"))))
(version "0.18.3.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/gettext/gettext-"
version ".tar.gz"))
(sha256
(base32
"0p940zmmw1lndvdhck2vrazikjhr02affwy47mmpfxqvacrrm3qd"))))
(build-system gnu-build-system)
(inputs
`(("expat" ,expat)))
(arguments
`(#:patches (list (assoc-ref %build-inputs "patch/gets"))
#:phases (alist-cons-before
`(#: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 (assoc-ref inputs "bash")))
(let ((bash (which "sh")))
(substitute* (find-files "gettext-tools/tests"
"^msgexec-[0-9]")
(("#![[:blank:]]/bin/sh")
(format #f "#!~a/bin/sh" bash)))
(format #f "#!~a" bash)))
(substitute* (find-files "gettext-tools/gnulib-tests"
"posix_spawn")
(("/bin/sh")
(format #f "~a/bin/bash" bash)))))
%standard-phases)))
(inputs
`(("patch/gets"
,(search-patch "gettext-gets-undeclared.patch"))))
(home-page
"http://www.gnu.org/software/gettext/")
bash))))
%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+
+25 -5
View File
@@ -136,7 +136,7 @@ printing, and psresize, for adjusting page sizes.")
("libtiff" ,libtiff)
("perl" ,perl)
("pkg-config" ,pkg-config) ; needed to find libtiff
("python" ,python)
("python" ,python-wrapper)
("tcl" ,tcl)
("zlib" ,zlib)))
(arguments
@@ -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/")))
@@ -214,3 +214,23 @@ Ghostscript. It currently includes the 35 standard PostScript fonts.")
(license license:gpl2)
(home-page "http://sourceforge.net/projects/gs-fonts/")))
(define-public libspectre
(package
(name "libspectre")
(version "0.2.7")
(source (origin
(method url-fetch)
(uri (string-append "http://libspectre.freedesktop.org/releases/libspectre-"
version ".tar.gz"))
(sha256 (base32
"1v63lqc6bhhxwkpa43qmz8phqs8ci4dhzizyy16d3vkb20m846z8"))))
(build-system gnu-build-system)
(inputs `(("ghostscript" ,ghostscript)
("pkg-config" ,pkg-config)))
(synopsis "postscript rendering library")
(description
"libspectre is a small library for rendering Postscript documents.
It provides a convenient easy to use API for handling and rendering
Postscript documents.")
(license license:gpl2+)
(home-page "http://www.freedesktop.org/wiki/Software/libspectre")))
+67
View File
@@ -0,0 +1,67 @@
;;; 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 gkrellm)
#: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 gettext)
#:use-module (gnu packages gtk)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages xorg))
(define-public gkrellm
(package
(name "gkrellm")
(version "2.3.5")
(source
(origin
(method url-fetch)
(uri (string-append "http://members.dslextreme.com/users/billw/gkrellm/gkrellm-"
version ".tar.bz2"))
(sha256
(base32
"12rc6zaa7kb60b9744lbrlfkxxfniprm6x0mispv63h4kh75navh"))))
(build-system gnu-build-system)
(inputs
`(("gettext" ,gnu-gettext)
("gtk+" ,gtk+-2)
("libice" ,libice)
("libsm" ,libsm)))
(native-inputs
`(("pkg-config" ,pkg-config)))
(arguments
`(#:tests? #f ; there is no check target
#:phases
(alist-delete
'configure
%standard-phases)
#:make-flags
(let ((out (assoc-ref %outputs "out")))
(list (string-append "INSTALLROOT=" out)
"CC=gcc"
"X11_LIBS = -lX11 -lSM -lICE -lgmodule-2.0"))))
(home-page "http://members.dslextreme.com/users/billw/gkrellm/gkrellm.html")
(synopsis "System monitors")
(description
"GKrellM is a single process stack of system monitors which supports
applying themes to match its appearance to your window manager, Gtk, or any
other theme.")
(license license:gpl3+)))
+112
View File
@@ -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)))
+238 -29
View File
@@ -26,16 +26,33 @@
#: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)
#:use-module (gnu packages python)
#:use-module (gnu packages xml))
#:use-module (gnu packages xml)
#:use-module (gnu packages bash)
#:use-module (gnu packages file)
#:use-module (gnu packages xorg)
#:use-module (gnu packages m4)
(define-public dbus
;; Export variables up-front to allow circular dependency with the 'xorg'
;; module.
#:export (dbus
glib
gobject-introspection
dbus-glib
intltool
itstool
libsigc++
glibmm))
(define dbus
(package
(name "dbus")
(version "1.6.4")
@@ -46,11 +63,26 @@
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.
"--localstatedir=/var"
;; XXX: Fix the following to allow system-wide
;; config.
;; "--sysconfdir=/etc"
"--with-session-socket-dir=/tmp")))
(inputs
`(("expat" ,expat)
("pkg-config" ,pkg-config)))
("pkg-config" ,pkg-config)
;; Add a dependency on libx11 so that 'dbus-launch' has support for
;; '--autolaunch'.
("libx11" ,libx11)))
(home-page "http://dbus.freedesktop.org/")
(synopsis "Message bus for inter-process communication (IPC)")
(description
@@ -71,50 +103,53 @@ or through unencrypted TCP/IP suitable for use behind a firewall with
shared NFS home directories.")
(license license:gpl2+))) ; or Academic Free License 2.1
(define-public glib
(define glib
(package
(name "glib")
(version "2.34.3")
(version "2.38.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/"
name "/2.34/"
name "/" (string-take version 4) "/"
name "-" version ".tar.xz"))
(sha256
(base32 "19sq4rhl2vr8ikjvl8qh51vr38yqfhbkb3imi2s6ac5rgkwcnpw5"))))
(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)
("python" ,python-wrapper)
("zlib" ,zlib)
("perl" ,perl) ; needed by GIO tests
("dbus" ,dbus) ; for GDBus tests
("patch/tests-tzdata"
,(search-patch "glib-tests-timezone.patch"))
("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"))))
("bash" ,bash)
("tzdata" ,tzdata) ; for tests/gdatetime.c
))
(arguments
'(#:patches (list (assoc-ref %build-inputs "patch/tests-tzdata")
(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.
(setenv "TZDIR"
(string-append (assoc-ref inputs "tzdata")
"/share/zoneinfo"))
;; Some tests want write access there.
(setenv "XDG_CACHE_HOME" (getcwd))
(substitute* '("glib/gspawn.c"
"glib/tests/utils.c"
"tests/spawn-test.c")
(("/bin/sh") (which "sh"))))
(("/bin/sh")
(string-append (assoc-ref inputs "bash") "/bin/sh"))))
%standard-phases)
;; Note: `--docdir' and `--htmldir' are not honored, so work around it.
@@ -129,7 +164,50 @@ dynamic loading, and an object system.")
(home-page "http://developer.gnome.org/glib/")
(license license:lgpl2.0+))) ; some files are under lgpl2.1+
(define-public intltool
(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")
(version "0.50.2")
@@ -145,7 +223,10 @@ 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)
("perl-xml-parser" ,perl-xml-parser)
("perl" ,perl)))
@@ -166,3 +247,131 @@ The intltool collection can be used to do these things:
Merge back the translations from .po files into .xml, .desktop and
oaf files. This merge step will happen at build resp. installation time.")
(license license:gpl2+)))
(define itstool
(package
(name "itstool")
(version "1.2.0")
(source (origin
(method url-fetch)
(uri (string-append "http://files.itstool.org/itstool/itstool-"
version ".tar.bz2"))
(sha256
(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
"ITS Tool allows you to translate your XML documents with PO files, using
rules from the W3C Internationalization Tag Set (ITS) to determine what to
translate and how to separate it into PO file messages.
PO files are the standard translation format for GNU and other Unix-like
systems. They present translatable information as discrete messages, allowing
each message to be translated independently. In contrast to whole-page
translation, translating with a message-based format like PO means you can
easily track changes to the source document down to the paragraph. When new
strings are added or existing strings are modified, you only need to update the
corresponding messages.
ITS Tool is designed to make XML documents translatable through PO files by
applying standard ITS rules, as well as extension rules specific to ITS Tool.
ITS also provides an industry standard way for authors to override translation
information in their documents, such as whether a particular element should be
translated.")
(license license:gpl3+)))
(define dbus-glib
(package
(name "dbus-glib")
(version "0.100.2")
(source (origin
(method url-fetch)
(uri
(string-append "http://dbus.freedesktop.org/releases/dbus-glib/dbus-glib-"
version ".tar.gz"))
(sha256
(base32
"1ibav91yg70f2l3l18cr0hf4mna1h9d4mrg0c60w4l8zjbd45fx5"))))
(build-system gnu-build-system)
(inputs
`(("dbus" ,dbus)
("expat" ,expat)
("glib" ,glib)
("pkg-config" ,pkg-config)))
(home-page "http://dbus.freedesktop.org/doc/dbus-glib/")
(synopsis "D-Bus GLib bindings")
(description
"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
View File
@@ -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+)))
+357
View File
@@ -0,0 +1,357 @@
;;; 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 gnome)
#: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 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
(name "gnome-doc-utils")
(version "0.20.10")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/0.20/"
name "-" version ".tar.xz"))
(sha256
(base32
"19n4x25ndzngaciiyd8dd6s2mf9gv6nv3wv27ggns2smm7zkj1nb"))))
(build-system gnu-build-system)
(inputs
`(("intltool" ,intltool)
("libxml2" ,libxml2)
("libxslt" ,libxslt)
("pkg-config" ,pkg-config)
("python-2" ,python-2)))
(arguments
`(#:tests? #f)) ; tries to load http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd
(home-page "https://wiki.gnome.org/GnomeDocUtils")
(synopsis
"Documentation utilities for the Gnome project")
(description
"Gnome-doc-utils is a collection of documentation utilities for the
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+)))
+49
View File
@@ -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+)))
+124
View File
@@ -0,0 +1,124 @@
;;; 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 gnunet)
#:use-module (gnu packages autotools)
#:use-module (gnu packages compression)
#:use-module (gnu packages curl)
#: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)
#:use-module (guix download)
#:use-module (guix build-system gnu))
(define-public libextractor
(package
(name "libextractor")
(version "1.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/libextractor/libextractor-"
version ".tar.gz"))
(sha256
(base32
"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.
;; FIXME:
;; The following dependencies are all optional, but should be
;; available for maximum coverage:
;; * libarchive
;; * libgif (giflib)
;; * libgtk+ >= 3.0.0 (may probably drop glib then as a propagated input of
;; gtk)
;; * libgsf
;; * libmagic (file)
;; * libmpeg2
;; * libmp4v2
;; * librpm
;; * libsmf
;; * libtidy
(inputs
`(("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)
("libtool" ,libtool)
("libvorbis" ,libvorbis)
("pkg-config" ,pkg-config)
("zlib" ,zlib)))
(synopsis "Library to extract meta-data from media files")
(description
"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.32")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/libmicrohttpd/libmicrohttpd-"
version ".tar.gz"))
(sha256
(base32
"176qf3xhpq1wa3fd9h8b6996bjf83yna1b30lhb6ccrv67hvhm75"))))
(build-system gnu-build-system)
(inputs
`(("curl" ,curl)
("gnutls" ,gnutls)
("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, 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/")))
+64 -35
View File
@@ -34,7 +34,7 @@
(define-public libgpg-error
(package
(name "libgpg-error")
(version "1.11")
(version "1.12")
(source
(origin
(method url-fetch)
@@ -42,7 +42,7 @@
version ".tar.bz2"))
(sha256
(base32
"1h0ql8j65ns2rmhj9wnc9035026crzkg226xg8614fq71947ccxf"))))
"0pz58vr12qihq2f0bypjxsb6cf6ajq5258fmfm8s6lvwm3b9xz6a"))))
(build-system gnu-build-system)
(home-page "http://gnupg.org")
(synopsis
@@ -57,31 +57,30 @@ Daemon and possibly more in the future.")
(define-public libgcrypt
(package
(name "libgcrypt")
(version "1.5.2")
(version "1.5.3")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnupg/libgcrypt/libgcrypt-"
version ".tar.bz2"))
(sha256
(base32
"0gwnzqd64cpwdmk93nll54nidsr74jpimxzj4p4z7502ylwl66p4"))))
"1lar8y3lh61zl5flljpz540d78g99h4d5idfwrfw8lm3gm737xdw"))))
(build-system gnu-build-system)
(propagated-inputs
`(("libgpg-error" ,libgpg-error)))
(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
(package
(name "libassuan")
(version "2.1.0")
(version "2.1.1")
(source
(origin
(method url-fetch)
@@ -89,7 +88,7 @@ functions, random numbers and a lot of supporting functions.")
version ".tar.bz2"))
(sha256
(base32
"0ry2078pafpx2prnhngqsj9bvqxaywakp2paqayfh9i71hxbvid4"))))
"1783nb0b6nr9yjhb5wfh8ykc5w89f4anppz1kz9913mqg5vxdqi3"))))
(build-system gnu-build-system)
(propagated-inputs
`(("libgpg-error" ,libgpg-error) ("pth" ,pth)))
@@ -106,7 +105,7 @@ provided.")
(define-public libksba
(package
(name "libksba")
(version "1.2.0")
(version "1.3.0")
(source
(origin
(method url-fetch)
@@ -115,7 +114,7 @@ provided.")
version ".tar.bz2"))
(sha256
(base32
"0jwk7hm3x3g4hd7l12z3d79dy7359x7lc88dq6z7q0ixn1jwxbq9"))))
"0w8rfb6yhcwkwzvjafrashcygy4hd9xwwmvlnkfd1m2h0paywqas"))))
(build-system gnu-build-system)
(propagated-inputs
`(("libgpg-error" ,libgpg-error)))
@@ -131,7 +130,7 @@ specifications are building blocks of S/MIME and TLS.")
(define-public gnupg
(package
(name "gnupg")
(version "2.0.20")
(version "2.0.22")
(source
(origin
(method url-fetch)
@@ -139,12 +138,10 @@ specifications are building blocks of S/MIME and TLS.")
".tar.bz2"))
(sha256
(base32
"16mp0j5inrcqcb3fxbn0b3aamascy3n923wiy0y8marc0rzrp53f"))))
"0lg210acj2rxq291q4cwamg9gx6gh2prb1xa93y5jhw5b6r0lza3"))))
(build-system gnu-build-system)
(inputs
`(;; TODO: Add missing optional dep libusb.
;; ("libusb" ,libusb)
("bzip2" ,guix:bzip2)
`(("bzip2" ,guix:bzip2)
("curl" ,curl)
("libassuan" ,libassuan)
("libgcrypt" ,libgcrypt)
@@ -167,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")
@@ -191,7 +216,8 @@ S/MIME.")
"1g1jly3wl4ks6h8ydkygyl2c4i7v3z91rg42005m6vm70y1d8b3d"))))
(build-system gnu-build-system)
(inputs `(("perl" ,perl)
("python" ,python)))
("python" ,python-wrapper)
("gpg" ,gnupg)))
(arguments
`(#:tests? #f
#:phases
@@ -203,16 +229,19 @@ S/MIME.")
(lambda* (#:key #:allow-other-keys) #t)
(alist-replace
'install
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(gpg (string-append (assoc-ref inputs "gpg")
"/bin/gpg2")))
(mkdir out)
(mkdir (string-append out "/bin"))
(for-each
(lambda (filename)
(copy-file filename (string-append out "/bin/" filename)))
'("pius" "pius-keyring-mgr" "pius-party-worksheet"))))
(for-each (lambda (file)
(substitute* file
(("/usr/bin/gpg") gpg))
(copy-file file (string-append out "/bin/" file)))
'("pius" "pius-keyring-mgr" "pius-party-worksheet"))))
%standard-phases)))))
(synopsis "programs to simplify gnupg key signing")
(synopsis "Programs to simplify GnuPG key signing")
(description
"Pius (PGP Individual UID Signer) helps attendees of PGP keysigning
parties. It is the main utility and makes it possible to quickly and easily
+16 -18
View File
@@ -23,10 +23,12 @@
#:use-module (guix build-system gnu)
#:use-module ((gnu packages compression)
#:renamer (symbol-prefix-proc 'guix:))
#:use-module (gnu packages)
#:use-module (gnu packages nettle)
#:use-module (gnu packages guile)
#:use-module (gnu packages perl)
#:use-module (gnu packages which))
#:use-module (gnu packages which)
#:use-module (gnu packages pkg-config))
(define-public libtasn1
(package
@@ -44,26 +46,29 @@
(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
(package
(name "gnutls")
(version "3.1.9.1")
(version "3.2.4")
(source (origin
(method url-fetch)
(uri
;; Note: Releases are no longer on ftp.gnu.org since the
;; schism (after version 3.1.5).
(string-append "mirror://gnupg/gnutls/v3.1/gnutls-"
(string-append "mirror://gnupg/gnutls/v3.2/gnutls-"
version ".tar.xz"))
(sha256
(base32
"0gkwhz7sypfy39jfj2yzrngbxq5j9l9smqc89mqlqsh25spc8009"))))
"0zvhzy87v9dfxfvmg1pl951kw55rp647cqdza8942fxq7spp158i"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs
`(("guile" ,guile-2.0)
("zlib" ,guix:zlib)
@@ -75,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+)))
+97
View File
@@ -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
View File
@@ -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+)))
+4 -20
View File
@@ -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+))))
+124
View File
@@ -0,0 +1,124 @@
;;; 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 graphviz)
#:use-module (guix packages)
#:use-module (guix build-system gnu)
#:use-module (guix download)
#:use-module (gnu packages xorg)
#:use-module (gnu packages gtk)
#:use-module (gnu packages xml)
#:use-module (gnu packages glib)
#:use-module (gnu packages bison)
#:use-module (gnu packages libpng)
#:use-module (gnu packages libjpeg)
#:use-module (gnu packages autotools)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages compression)
#:use-module (gnu packages gd)
#:use-module ((guix licenses) #:select (lgpl2.0+ epl1.0)))
(define-public graphviz
(package
(name "graphviz")
(version "2.28.0")
(source (origin
(method url-fetch)
(uri (string-append
"http://www.graphviz.org/pub/graphviz/ARCHIVE/graphviz-"
version
".tar.gz"))
(sha256
(base32
"0xpwg99cd8sp0c6r8klsmc66h1pday64kmnr4v6f9jkqqmrpkank"))))
(build-system gnu-build-system)
(arguments
;; FIXME: rtest/rtest.sh is a ksh script (!). Add ksh as an input.
'(#:tests? #f
#:phases (alist-cons-before
'build 'pre-build
(lambda _
;; Work around bogus makefile when using an external
;; libltdl. Failing to do so, one hits this error:
;; "No rule to make target `-lltdl', needed by `libgvc.la'."
(substitute* "lib/gvc/Makefile"
(("am__append_5 *=.*")
"am_append_5 =\n")))
%standard-phases)))
(inputs
`(("libXrender" ,libxrender)
("libX11" ,libx11)
("gts" ,gts)
("gd" ,gd) ; FIXME: Our GD is too old
("pango" ,pango)
("fontconfig" ,fontconfig)
("freetype" ,freetype)
("libltdl" ,libtool)
("bison" ,bison)
("libXaw" ,libxaw)
("expat" ,expat)
("libjpeg" ,libjpeg)
("libpng" ,libpng)
("pkg-config" ,pkg-config)))
(home-page "http://www.graphviz.org/")
(synopsis "Graph visualization software")
(description
"Graphviz is a graph visualization tool suite. Graph visualization is a
way of representing structural information as diagrams of abstract graphs and
networks. It has important applications in networking, bioinformatics,
software engineering, database and web design, machine learning, and in visual
interfaces for other technical domains.")
(license epl1.0)))
(define-public gts
(package
(name "gts")
(version "0.7.6")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/gts/gts-"
version ".tar.gz"))
(sha256
(base32
"07mqx09jxh8cv9753y2d2jsv7wp8vjmrd7zcfpbrddz3wc9kx705"))))
(build-system gnu-build-system)
(arguments
'(#:phases (alist-cons-before
'check 'pre-check
(lambda _
(chmod "test/boolean/test.sh" #o777))
%standard-phases)
;; Some data files used by the test suite are missing.
;; See <http://sourceforge.net/p/gts/bugs/41/>.
#:tests? #f))
(inputs
`(("pkg-config" ,pkg-config)))
(propagated-inputs
;; The gts.pc file has glib-2.0 as required.
`(("glib" ,glib)))
(home-page "http://gts.sourceforge.net/")
;; Note: Despite the name, this is not official GNU software.
(synopsis "Triangulated Surface Library")
(description
"Library intended to provide a set of useful functions to deal with
3D surfaces meshed with interconnected triangles.")
(license lgpl2.0+)))
+3 -2
View File
@@ -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/")))
+41 -19
View File
@@ -24,12 +24,38 @@
#: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)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages cdrom))
#:use-module (gnu packages cdrom)
#:use-module (srfi srfi-1))
(define qemu-for-tests
;; Newer QEMU versions, such as 1.5.1, no longer support the 'shutdown'
;; instruction. This leads to test hangs, as reported at
;; <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-headless)
(version "1.3.1")
(source (origin
(method url-fetch)
(uri (string-append "http://wiki.qemu-project.org/download/qemu-"
version ".tar.bz2"))
(sha256
(base32
"1bqfrb5dlsxm8gxhkksz8qzi5fhj3xqhxyfwbqcphhcv1kpyfwip"))))
;; With recent GLib versions, we get a test failure:
;; ERROR:tests/rtc-test.c:176:check_time: assertion failed (ABS(t - s) <= wiggle): (382597824 <= 2)
;; Simply disable the tests.
(arguments `(#:tests? #f
,@(package-arguments qemu)))
;; The manual fails to build with Texinfo 5.x.
(native-inputs (alist-delete "texinfo" (package-native-inputs qemu)))))
(define-public grub
(package
@@ -41,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 _
@@ -58,29 +84,25 @@
%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)
;; Dependencies for the test suite. The "real" QEMU is needed here,
;; because several targets are used.
("qemu" ,qemu)
("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+)))
+84
View File
@@ -0,0 +1,84 @@
;;; 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 grue-hunter)
#:use-module (guix licenses)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system trivial)
#:use-module (gnu packages base)
#:use-module (gnu packages compression)
#:use-module (gnu packages perl))
(define-public grue-hunter
(package
(name "grue-hunter")
(version "1.0")
(source
(origin
(method url-fetch)
(uri (string-append "http://jxself.org/" name ".tar.gz"))
(sha256
(base32
"1hjcpy5439qs3v2zykis7hsi0i17zjs62gks3zd8mnfw9ni4i2h3"))))
(build-system trivial-build-system) ; no Makefile.PL
(arguments `(#:modules ((guix build utils))
#:builder
(begin
(use-modules (guix build utils))
(use-modules (srfi srfi-1))
(let* ((tarball (assoc-ref %build-inputs "tarball"))
(perl (string-append (assoc-ref %build-inputs
"perl")
"/bin"))
(gunzip (string-append (assoc-ref %build-inputs
"gzip")
"/bin/gunzip"))
(tar (string-append (assoc-ref %build-inputs
"tar")
"/bin/tar"))
(out (assoc-ref %outputs "out"))
(bin (string-append out "/bin"))
(doc (string-append out "/share/doc")))
(begin
(mkdir out)
(copy-file tarball "grue-hunter.tar.gz")
(zero? (system* gunzip "grue-hunter.tar.gz"))
(zero? (system* tar "xvf" "grue-hunter.tar"))
(mkdir-p bin)
(copy-file "grue-hunter/gh.pl"
(string-append bin "/grue-hunter"))
(patch-shebang (string-append bin "/grue-hunter")
(list perl))
(mkdir-p doc)
(copy-file "grue-hunter/AGPLv3.txt"
(string-append doc "/grue-hunter")))))))
(inputs `(("perl" ,perl)
("tar" ,tar)
("gzip" ,gzip)
("tarball" ,source)))
(home-page "http://jxself.org/grue-hunter.shtml")
(synopsis "Text adventure game")
(description
"Grue Hunter is a text adventure game written in Perl. You must make
your way through an underground cave system in search of the Grue. Can you
capture it and get out alive?")
(license agpl3+)))
+10 -24
View File
@@ -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/")))
+152
View File
@@ -0,0 +1,152 @@
;;; 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 gstreamer)
#:use-module ((guix licenses) #:select (lgpl2.0+))
#: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 xml))
(define-public gstreamer
(package
(name "gstreamer")
(version "1.0.10")
(source
(origin
(method url-fetch)
(uri (string-append "http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-"
version ".tar.xz"))
(sha256
(base32
"0c0irk85jd2cihm5pmf4zxhlpg08qpxjcqv1l9qn2n3h2gsaj2lf"))))
(build-system gnu-build-system)
(inputs
`(("bison" ,bison)
("flex" ,flex)
("glib" ,glib)
("perl" ,perl)
("pkg-config" ,pkg-config)
("python-wrapper" ,python-wrapper)))
(home-page "http://gstreamer.freedesktop.org/")
(synopsis
"Multimedia library")
(description
"GStreamer is a library for constructing graphs of media-handling
components. The applications it supports range from simple Ogg/Vorbis
playback, audio/video streaming to complex audio (mixing) and video
(non-linear editing) processing.
Applications can take advantage of advances in codec and filter technology
transparently. Developers can add new codecs and filters by writing a
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")
(version "1.0.10")
(source
(origin
(method url-fetch)
(uri (string-append "http://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-"
version ".tar.xz"))
(sha256
(base32
"1s4pphbb5kpdh4rrmb8rala4sp499k4by59925k15xiz58xyhm4p"))))
(build-system gnu-build-system)
;; FIXME: Add more dependencies for further plugins.
(inputs
`(("glib" ,glib)
("gstreamer" ,gstreamer)
("pkg-config" ,pkg-config)
("python-wrapper" ,python-wrapper)))
(arguments
`(#:tests? #f))
;; All tests pass except for one:
;; Running suite(s): pbutils library
;; 85%: Checks: 7, Failures: 1, Errors: 0
;; libs/pbutils.c:522:F:general:test_pb_utils_install_plugins:0: gst_install_plugins_sync() failed ;; with unexpected ret 201, which is neither HELPER_MISSING nor 1
;; FAIL: libs/pbutils
;; According to the documentation, "gst_install_plugins_sync (...)
;; should almost never be used".
(home-page "http://gstreamer.freedesktop.org/")
(synopsis
"Plugins for the gstreamer multimedia library")
(description
"GStreamer is a library for constructing graphs of media-handling
components. The applications it supports range from simple Ogg/Vorbis
playback, audio/video streaming to complex audio (mixing) and video
(non-linear editing) processing.
Applications can take advantage of advances in codec and filter technology
transparently. Developers can add new codecs and filters by writing a
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)))))
+506 -5
View File
@@ -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.
;;;
@@ -22,27 +23,527 @@
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu)
#:use-module (gnu packages compression)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages ghostscript)
#:use-module (gnu packages glib)
#:use-module (gnu packages pkg-config))
#: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
tools have full access to view and control running applications.")
(license license:lgpl2.0+)
(home-page "https://developer.gnome.org/atk/")))
(define-public cairo
(package
(name "cairo")
(version "1.12.16")
(source (origin
(method url-fetch)
(uri (string-append "http://cairographics.org/releases/cairo-"
version ".tar.xz"))
(sha256
(base32
"0inqwsylqkrzcjivdirkjx5nhdgxbdc62fq284c3xppinfg9a195"))))
(build-system gnu-build-system)
(propagated-inputs
`(("fontconfig" ,fontconfig)
("freetype" ,freetype)
("glib" ,glib)
("libpng" ,libpng)
("libx11" ,libx11)
("libxext" ,libxext)
("libxrender" ,libxrender)
("pixman" ,pixman)))
(inputs
`(("ghostscript" ,ghostscript)
("libspectre" ,libspectre)
("pkg-config" ,pkg-config)
("poppler" ,poppler)
("python" ,python-wrapper)
("xextproto" ,xextproto)
("zlib" ,zlib)))
(arguments
`(#:tests? #f)) ; see http://lists.gnu.org/archive/html/bug-guix/2013-06/msg00085.html
(synopsis "2D graphics library")
(description
"Cairo is a 2D graphics library with support for multiple output devices.
Currently supported output targets include the X Window System (via both
Xlib and XCB), Quartz, Win32, image buffers, PostScript, PDF, and SVG file
output. Experimental backends include OpenGL, BeOS, OS/2, and DirectFB.
Cairo is designed to produce consistent output on all output media while
taking advantage of display hardware acceleration when available
eg. through the X Render Extension).
The cairo API provides operations similar to the drawing operators of
PostScript and PDF. Operations in cairo including stroking and filling cubic
Bézier splines, transforming and compositing translucent images, and
antialiased text rendering. All drawing operations can be transformed by any
affine transformation (scale, rotation, shear, etc.)")
(license license:lgpl2.1) ; or Mozilla Public License 1.1
(home-page "http://cairographics.org/")))
(define-public harfbuzz
(package
(name "harfbuzz")
(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
"1nkimwadri6v2kzrmz8y0crmy59gw0kg4i4f6cc786bngs0815lq"))))
(build-system gnu-build-system)
(inputs
`(("cairo" ,cairo)
("icu4c" ,icu4c)
("pkg-config" ,pkg-config)
("python" ,python-wrapper)))
(synopsis "opentype text shaping engine")
(description
"HarfBuzz is an OpenType text shaping engine.")
(license (license:x11-style "file://COPYING"
"See 'COPYING' in the distribution."))
(home-page "http://www.freedesktop.org/wiki/Software/HarfBuzz/")))
(define-public pango
(package
(name "pango")
(version "1.34.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/pango/1.34/pango-"
version ".tar.xz"))
(sha256
(base32
"0k7662qix7zzh7mf6ikdj594n8jpbfm25z8swz64zbm86kgk1shs"))))
(build-system gnu-build-system)
(propagated-inputs
`(("cairo" ,cairo)
("harfbuzz" ,harfbuzz)))
(inputs
`(("pkg-config" ,pkg-config)
("zlib" ,zlib)))
(synopsis "GNOME text and font handling library")
(description
"Pango is the core text and font handling library used in GNOME
applications. It has extensive support for the different writing systems
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")
(version "2.28.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/gdk-pixbuf/2.28/gdk-pixbuf-"
version ".tar.xz"))
(sha256
(base32
"05s6ksvy1yan6h6zny9n3bmvygcnzma6ljl6i0z9cci2xg116c8q"))))
(build-system gnu-build-system)
(inputs
`(("glib" ,glib)
("libjpeg" ,libjpeg)
("libpng" ,libpng)
("libtiff" ,libtiff)
("pkg-config" ,pkg-config)))
(synopsis "GNOME image loading and manipulation library")
(description
"GdkPixbuf is a library for image loading and manipulation developed
in the GNOME project.")
(license license:lgpl2.0+)
(home-page "https://developer.gnome.org/gdk-pixbuf/")))
(define-public at-spi2-core
(package
(name "at-spi2-core")
(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
"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
`(("perl" ,perl)
("pkg-config" ,pkg-config)
("python-wrapper" ,python-wrapper)))
(arguments
`(#:phases
(alist-replace
'configure
(lambda* (#:key #:allow-other-keys #:rest args)
(let ((configure (assoc-ref %standard-phases 'configure)))
;; FIXME: re-enable tests requiring an X server
(substitute* "gtk/Makefile.in"
(("SUBDIRS = theme-bits . tests") "SUBDIRS = theme-bits ."))
(apply configure args)))
%standard-phases)))
(synopsis "Cross-platform toolkit for creating graphical user interfaces")
(description
"GTK+, or the GIMP Toolkit, is a multi-platform toolkit for creating
graphical user interfaces. Offering a complete set of widgets, GTK+ is
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+)))
+128
View File
@@ -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+)))
+73 -31
View File
@@ -19,6 +19,7 @@
(define-module (gnu packages guile)
#:use-module (guix licenses)
#:use-module (gnu packages)
#:use-module (gnu packages bash)
#:use-module (gnu packages bdw-gc)
#:use-module (gnu packages gawk)
#:use-module (gnu packages gperf)
@@ -52,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
@@ -76,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
@@ -95,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+)))
@@ -115,7 +117,12 @@ extensible. It supports many SRFIs.")
(build-system gnu-build-system)
(native-inputs `(("pkgconfig" ,pkg-config)))
(inputs `(("libffi" ,libffi)
("readline" ,readline)))
("readline" ,readline)
;; TODO: On next core-updates, make Bash input unconditional.
,@(if (%current-target-system)
`(("bash" ,bash))
'())))
(propagated-inputs
`( ;; These ones aren't normally needed here, but since `libguile-2.0.la'
@@ -132,15 +139,22 @@ extensible. It supports many SRFIs.")
(self-native-input? #t)
(outputs '("out" "debug"))
(arguments
'(#:phases (alist-cons-before
`(#:phases (alist-cons-before
'configure 'pre-configure
(lambda* (#:key inputs #:allow-other-keys)
;; Tell (ice-9 popen) the file name of Bash.
(let ((bash (assoc-ref inputs "bash")))
(substitute* "module/ice-9/popen.scm"
(("/bin/sh")
(string-append bash "/bin/bash")))))
%standard-phases)))
%standard-phases)
,@(if (%current-target-system)
'(#:configure-flags '("CC_FOR_BUILD=gcc"))
'())))
(native-search-paths
(list (search-path-specification
@@ -152,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+)))
@@ -237,7 +250,7 @@ many readers as needed).")
(arguments
'(#:configure-flags (list (string-append "--with-guilesitedir="
(assoc-ref %outputs "out")
"/share/guile/site"))
"/share/guile/site/2.0"))
#:phases (alist-cons-after
'install 'post-install
(lambda* (#:key outputs #:allow-other-keys)
@@ -252,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
@@ -268,21 +279,52 @@ 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
(package
(name "guile-lib")
(version "0.2.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://savannah/guile-lib/guile-lib-"
version ".tar.gz"))
(sha256
(base32
"1f9n2b5b5r75lzjinyk6zp6g20g60msa0jpfrk5hhg4j8cy0ih4b"))))
(build-system gnu-build-system)
(arguments
'(#:phases (alist-cons-before
'configure 'patch-module-dir
(lambda _
(substitute* "src/Makefile.in"
(("^moddir[[:blank:]]*=[[:blank:]]*([[:graph:]]+)" _ rhs)
(string-append "moddir = " rhs "/2.0\n"))))
%standard-phases)))
(inputs `(("guile" ,guile-2.0)))
(home-page "http://www.nongnu.org/guile-lib/")
(synopsis "Collection of useful Guile Scheme modules")
(description
"guile-lib is intended as an accumulation place for pure-scheme Guile
modules, allowing for people to cooperate integrating their generic Guile
modules into a coherent library. Think \"a down-scaled, limited-scope CPAN
for Guile\".")
;; The whole is under GPLv3+, but some modules are under laxer
;; distribution terms such as LGPL and public domain. See `COPYING' for
;; details.
(license gpl3+)))
;;; guile.scm ends here
+3 -3
View File
@@ -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/")))
+5 -4
View File
@@ -26,7 +26,7 @@
(define-public help2man
(package
(name "help2man")
(version "1.41.2")
(version "1.43.3")
(source
(origin
(method url-fetch)
@@ -34,7 +34,7 @@
version ".tar.gz"))
(sha256
(base32
"1as014d8wxy7529fr8n2ihy61c2p5jzywzirkqggvz8lwg6r933a"))))
"00yk86rvvaavg7y6i5bvk5xhm417jl9dpr8bqvqdksw0i48qv5v7"))))
(build-system gnu-build-system)
(arguments `(;; There's no `check' target.
#:tests? #f))
@@ -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
View File
@@ -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
View File
@@ -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+)))
+92
View File
@@ -0,0 +1,92 @@
;;; 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 imagemagick)
#:use-module (guix packages)
#:use-module (guix build-system gnu)
#:use-module (guix download)
#:use-module ((guix licenses) #:select (fsf-free))
#:use-module (gnu packages libjpeg)
#:use-module (gnu packages compression)
#:use-module (gnu packages graphviz)
#:use-module (gnu packages xorg)
#:use-module (gnu packages xml)
#:use-module (gnu packages gtk)
#:use-module (gnu packages libpng)
#:use-module (gnu packages libtiff)
#:use-module (gnu packages libjpeg)
#:use-module (gnu packages ghostscript)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages pkg-config))
(define-public imagemagick
(package
(name "imagemagick")
(version "6.8.6-9")
(source (origin
(method url-fetch)
(uri (string-append "mirror://imagemagick/ImageMagick-"
version ".tar.xz"))
(sha256
(base32
"1bpj8676mph5cvyjsdgf27i6yg2iw9iskk5c69mvpxkyawgjw1vg"))))
(build-system gnu-build-system)
(arguments
`(#:phases (alist-cons-before
'build 'pre-build
(lambda* (#:key outputs #:allow-other-keys)
(substitute* "Makefile"
;; Clear the `LIBRARY_PATH' setting, which otherwise
;; interferes with our own use.
(("^LIBRARY_PATH[[:blank:]]*=.*$")
"")
;; Since the Makefile overrides $docdir, modify it to
;; refer to what we want.
(("^DOCUMENTATION_PATH[[:blank:]]*=.*$")
(let ((doc (assoc-ref outputs "doc")))
(string-append "DOCUMENTATION_PATH = "
doc "/share/doc/"
,name "-" ,version "\n")))))
%standard-phases)))
;; TODO: Add Jasper, LCMS, etc.
(inputs `(("graphviz" ,graphviz)
("ghostscript" ,ghostscript)
("libx11" ,libx11)
("zlib" ,zlib)
("libxml2" ,libxml2)
("libtiff" ,libtiff)
("libpng" ,libpng)
("libjpeg" ,libjpeg-8)
("pango" ,pango)
("freetype" ,freetype)
("bzip2" ,bzip2)
("xz" ,xz)
("pkg-config" ,pkg-config)))
(outputs '("out"
"doc")) ; 26 MiB of HTML documentation
(home-page "http://www.imagemagick.org/")
(synopsis "Create, edit, compose, or convert bitmap images")
(description
"ImageMagick® is a software suite to create, edit, compose, or convert
bitmap images. It can read and write images in a variety of formats (over 100)
including DPX, EXR, GIF, JPEG, JPEG-2000, PDF, PhotoCD, PNG, Postscript, SVG,
and TIFF. Use ImageMagick to resize, flip, mirror, rotate, distort, shear and
transform images, adjust image colors, apply various special effects, or draw
text, lines, polygons, ellipses and Bézier curves.")
(license (fsf-free "http://www.imagemagick.org/script/license.php"))))
+8 -6
View File
@@ -18,7 +18,8 @@
(define-module (gnu packages indent)
#:use-module (gnu packages)
#:use-module (guix licenses)
#:use-module ((guix licenses)
#:renamer (symbol-prefix-proc 'license:))
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu))
@@ -36,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.")
(license gpl3+)
"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/")))
+79
View File
@@ -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+)))
+21 -8
View File
@@ -11,7 +11,7 @@ main="(@ (gnu build-support ld-wrapper) ld-wrapper)"
exec @GUILE@ -c "(load-compiled \"$0.go\") (apply $main (cdr (command-line)))" "$@"
!#
;;; 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.
;;;
@@ -82,13 +82,26 @@ exec @GUILE@ -c "(load-compiled \"$0.go\") (apply $main (cdr (command-line)))" "
(getenv "GUIX_LD_WRAPPER_DEBUG"))
(define (pure-file-name? file)
;; Return #t when FILE is the name of a file either within the store or
;; within the build directory.
(or (not (string-prefix? "/" file))
(string-prefix? %store-directory file)
(string-prefix? %temporary-directory file)
(and %build-directory
(string-prefix? %build-directory file))))
;; Return #t when FILE is the name of a file either within the store
;; (possibly via a symlink) or within the build directory.
(define %max-symlink-depth 50)
(let loop ((file file)
(depth 0))
(or (not (string-prefix? "/" file))
(string-prefix? %store-directory file)
(string-prefix? %temporary-directory file)
(if %build-directory
(string-prefix? %build-directory file)
;; When used from a user environment, FILE may refer to
;; ~/.guix-profile/lib/libfoo.so, which is itself a symlink to the
;; store. Check whether this is the case.
(let ((s (false-if-exception (lstat file))))
(and s
(eq? 'symlink (stat:type s))
(< depth %max-symlink-depth)
(loop (readlink file) (+ 1 depth))))))))
(define (switch-arguments switch args)
;; Return the arguments passed for the occurrences of SWITCH--e.g.,
+5 -6
View File
@@ -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+
+60
View File
@@ -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+)))
+4 -7
View File
@@ -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)))
(arguments
'(#:patches (list (assoc-ref %build-inputs "patch/dns-tests"))))
("python" ,python-wrapper)))
(home-page "http://libevent.org/")
(synopsis
"libevent, an event notification library")

Some files were not shown because too many files have changed in this diff Show More