1
0
mirror of https://git.savannah.gnu.org/git/guix.git synced 2026-07-08 15:54:06 +02:00

Compare commits

..

1529 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
Ludovic Courtès e8b3afeb92 build: Use separate `AC_CONFIG_FILES' invocations for executable files.
* configure.ac: Use separate AC_CONFIG_FILES invocations for files that
  need to be made executable.
* config-daemon.ac: Likewise.
2013-05-12 23:26:46 +02:00
Ludovic Courtès f5ebf5c6ac build: Add `gitlog-to-changelog'.
* build-aux/gitlog-to-changelog: New file, from Gnulib.
2013-05-12 22:41:11 +02:00
Ludovic Courtès 0f241da212 Update `NEWS'. 2013-05-12 16:35:27 +02:00
Ludovic Courtès a463ffd9e8 build: Make sure the distribution doesn't embed store file names.
* Makefile.am (assert-no-store-file-names): New target.
  (dist-hook): Depend on it.
2013-05-12 16:35:18 +02:00
Ludovic Courtès e793178adb build: Generate a ChangeLog file upon "make dist".
* Makefile.am (sync-synopses): New rule, formerly `dist-hook.
  (gen-ChangeLog): New rule.
  (dist-hook): Depend on these two targets.
2013-05-12 16:35:17 +02:00
Ludovic Courtès c0cd1b3ea7 Move record utilities to (guix records).
* guix/utils.scm (define-record-type*): Move to...
* guix/records.scm: ... here.  New file.
* guix/build-system.scm, guix/packages.scm: Use it.
* guix/gnu-maintenance.scm: Likewise.
  (official-gnu-packages)[alist->record]: Remove.
* guix/scripts/substitute-binary.scm: Likewise.
  (alist->record, object->fields): Remove.
* tests/utils.scm ("define-record-type*", "define-record-type* with
  letrec* behavior", "define-record-type* & inherit",
  "define-record-type* & inherit & letrec* behavior",
  "define-record-type* & thunked", "define-record-type* & thunked &
  default", "define-record-type* & thunked & inherited"): Move to...
* tests/records.scm: ... here.  New file.
2013-05-12 15:46:16 +02:00
Ludovic Courtès 9b1ef2f323 release.nix: Revert back to before unchroot experiments.
* release.nix: Revert to commit 4050e5d6cf.
2013-05-12 15:18:17 +02:00
Ludovic Courtès 46614bba7c gnu: guile-reader: Install modules in the right place.
* gnu/packages/guile.scm (guile-reader): Add `arguments' field.
2013-05-12 12:37:21 +02:00
Ludovic Courtès 47d188109e Update `NEWS'. 2013-05-11 22:50:01 +02:00
Ludovic Courtès 1b1c335f5e gnu: Add GNU RCS.
* gnu/packages/bazaar.scm: Rename to...
* gnu/packages/version-control.scm: ... this.
  (rcs): New variable.
* Makefile.am (MODULES): Adjust accordingly.
2013-05-11 22:49:39 +02:00
Ludovic Courtès 9bff16b3f2 build: Really clean .log files from SRFI-64.
* Makefile.am (CLEANFILES): Really catch .log files from SRFI-64.
2013-05-11 22:42:38 +02:00
Ludovic Courtès 3a33730a86 build: Run `tests/guix-gc.sh' last to avoid test failures.
* Makefile.am (tests/guix-gc.log): New target.  This should fix failures
  that occurred with "make check -j" the first time.
2013-05-11 22:37:33 +02:00
Ludovic Courtès f7ce90e7b9 gnu: Add Scheme48.
* gnu/packages/scheme.scm (scheme48): New variable.
* gnu/packages/patches/scheme48-tests.patch: New file.
* Makefile.am (dist_patch_DATA): Add it.
2013-05-11 22:13:59 +02:00
Ludovic Courtès 35ff176877 gnu: gnupg: Update to 2.0.20.
* gnu/packages/gnupg.scm (gnupg): Update to 2.0.20.
2013-05-11 21:28:16 +02:00
Ludovic Courtès 2c4b49ed8d gnu: chicken: Clear description.
* gnu/packages/scheme.scm (chicken): Remove unneeded part of the
  description.
2013-05-11 20:00:48 +02:00
Ludovic Courtès 210cc92038 doc: Document "guix download".
* doc/guix.texi (Defining Packages): Linke to "Invoking guix download".
  (Utilities): Add an overview paragraph.
  (Invoking guix download): New node.
2013-05-11 16:18:15 +02:00
Ludovic Courtès 2c71cf66a5 gnu: Sync synopses with the Womb.
* gnu/packages/bazaar.scm (bazaar): Use synopsis from the Womb.
* gnu/packages/gv.scm (gv): Likewise.
2013-05-11 15:58:20 +02:00
Ludovic Courtès 410e38f814 tests: Fix out-of-source builds.
* tests/nar.scm (%test-dir): Compute relative to `pre-inst-env', which
  is in $top_builddir.
2013-05-11 15:43:33 +02:00
Ludovic Courtès ccbce84809 tests: Add `guix hash' test.
* guix/scripts/hash.scm (guix-hash)[eof->null]: New procedure.
  Use it to convert the EOF object to the empty bytevector.
* tests/guix-hash.sh: New file.
* Makefile.am (SH_TESTS): Add it.
2013-05-11 15:09:56 +02:00
Ludovic Courtès 438bb042ff Update Nix sub-module.
* nix-upstream: Update to 3a0cc43ac89ae8f778764c9f5e27b361e4986913
  (Nix ~1.5.2).
2013-05-11 14:49:12 +02:00
Ludovic Courtès f92300852f refresh: Add --key-server' and --gpg'.
* guix/scripts/refresh.scm (%options): Add `--key-server' and `--gpg'.
  (show-help): Update accordingly.
  (update-package): New procedure, formerly in `guix-refresh'.
  (guix-refresh): Use it.  Parameterize `%openpgp-key-server' and
  `%gpg-command'.
2013-05-11 14:36:58 +02:00
Ludovic Courtès 0ba91c945b gnupg: Turn the GPG command name and keyserver into parameters.
* guix/gnupg.scm (%gpg-command): Turn into a SRFI-39 parameter.
  (%openpgp-key-server): Likewise.  Default to pgp.mit.edu, as
  keys.gnupg.net is unreliable.
  Update users.
2013-05-11 14:32:20 +02:00
Ludovic Courtès 8cc9e7f9d8 gnu: Add CHICKEN.
* gnu/packages/scheme.scm (chicken): New variable.
2013-05-11 11:38:38 +02:00
Ludovic Courtès 25c936766e ui: Invite users to try `--help' in the error message.
* guix/ui.scm (show-guix-usage): Mention `guix --help'.
  Suggested by Mark H. Weaver.
  (run-guix-command): Invoke it when a command is not found.
  (guix-main): Adjust accordingly.
2013-05-10 23:14:26 +02:00
Ludovic Courtès e3729544f9 Update `NEWS'. 2013-05-10 23:05:00 +02:00
Ludovic Courtès 741c70c63e package: Store the output path of packages installed with `-e'.
* guix/scripts/package.scm (guix-package)[process-actions](package->tuple):
  Put the output path in the tuple, not the derivation path.
* tests/guix-package.sh: Add test.
2013-05-10 23:04:39 +02:00
Ludovic Courtès 94a4b3b9f2 package: Make sure the dependencies get built along with the manifest.
Before this, something like "guix package -i glibc" could fail because
glibc lists linux-libre-headers as a propagated input (which would be
added as a dependency in the manifest) but the linux-libre-headers
output could be unavailable, leading to an error like this:

  path `/nix/store/4v2bk8sx5cm166gks3fi3q7d9zchibnk-linux-libre-headers-3.3.8' is not valid

This patch adds such dependencies as inputs of the profile derivation.

* guix/scripts/package.scm (profile-derivation): Accept package objects
  in the `deps' field of an element of PACKAGES.  Convert them to their
  output path for BUILDER, and add them to the inputs of the
  `build-expression->derivation' call.
  (input->name+path): When INPUT doesn't contain a package object,
  return it as is.
  (guix-package)[process-actions](canonicalize-deps): Expect DEPS to
  contain package objects, and leave them as is.
2013-05-10 22:46:19 +02:00
Ludovic Courtès 8c247e1c47 Update `TODO'. 2013-05-10 21:08:01 +02:00
Ludovic Courtès fe3e603d14 refresh: Gracefully handle failure to download a tarball.
* guix/scripts/refresh.scm (guix-refresh): When updating a source file,
  gracefully handle the case where TARBALL is #f.
  Reported by Nikita Karetnikov <nikita@karetnikov.org>.
2013-05-10 15:07:00 +02:00
Ludovic Courtès e31ff8b8d0 ui: Implement `guix --help'.
* guix/ui.scm (command-files, commands, show-guix-help): New procedures.
  (guix-main): Invoke `show-guix-help' when passed `--help'.
2013-05-10 12:33:18 +02:00
Ludovic Courtès ec5d0a85eb ui: Gracefully report "command not found" errors.
* guix/ui.scm (run-guix-command): Can `resolve-interface' errors and
  report them with `leave'.  Parameterize `program-name' from here.
  (guix-main): Remove parameterization of `program-name'.
2013-05-10 12:14:01 +02:00
Ludovic Courtès a4007c9852 gnu-maintenance: Add GnuTLS FTP server.
* guix/gnu-maintenance.scm (ftp-server/directory)[quirks]: Add GnuTLS.
2013-05-10 01:15:04 +02:00
Ludovic Courtès dd9afe64b5 download: Fix premature socket close on TLS connections.
This would manifest when downloading a large file such as the Bazaar
tarball, leading to an "Error in the pull function" GnuTLS exception.

* guix/build/download.scm (add-weak-reference): New procedure.
  (tls-wrap): Add (add-weak-reference record port).
2013-05-10 01:14:25 +02:00
Ludovic Courtès a81bc5312b package: Use ~/.guix-profile as the default for --search-paths.
* guix/scripts/package.scm (search-path-environment-variables): Prefer
  %USER-ENVIRONMENT-DIRECTORY when it points to PROFILE.
  (display-search-paths): Use 3 spaces for indentation.
2013-05-10 00:36:00 +02:00
Ludovic Courtès 9c7dd33a48 build: Make sure the user's Guile has all the required features.
* m4/guix.m4 (GUIX_ASSERT_GUILE_FEATURES): New macro.
* configure.ac: Use it.
2013-05-10 00:36:00 +02:00
Ludovic Courtès cf8f58b2af gnu: geiser: Update to 0.4.
* gnu/packages/emacs.scm (geiser): Update to 0.4.
2013-05-10 00:36:00 +02:00
Nikita Karetnikov dcee3fc5a9 gnu: Add GNU Bazaar.
* gnu/packages/bazaar.scm: New file.
* Makefile.am (MODULES): Add it.
2013-05-08 22:46:21 +00:00
Nikita Karetnikov 40506d5d92 Add 'python-build-system'.
* guix/build-system/python.scm, guix/build/python-build-system.scm: New files.
* Makefile.am (MODULES): Add them.
2013-05-08 22:46:12 +00:00
Ludovic Courtès 3309e3a103 Add (guix build rpath).
* guix/build/rpath.scm: New file.
* Makefile.am (MODULES): Add it.
* gnu/packages/python.scm (python): Use it; remove local copy of
  the *rpath* procedures.
* gnu/packages/samba.scm (samba): Likewise.
2013-05-08 23:45:02 +02:00
Ludovic Courtès e789d9a80b gnu: Add tzdata.
* gnu/packages/base.scm (tzdata): New variable.
2013-05-08 23:45:01 +02:00
Andreas Enge e3c5f2934a gnu: Add cryptsetup.
* gnu/packages/cryptsetup.scm: New file.
* Makefile.am (MODULES): Add it.
2013-05-08 16:36:10 +02:00
Andreas Enge 88226a504f gnu: Add lvm2.
* gnu/packages/lvm.scm: New file.
* Makefile.am (MODULES): Add it.
2013-05-08 16:25:22 +02:00
Ludovic Courtès 06504acb78 doc: Update `NEWS'.
* NEWS: Update.
2013-05-08 16:08:25 +02:00
Ludovic Courtès 37166310c7 doc: Document `guix refresh'.
* doc/guix.texi (Defining Packages): Add cross-reference to "Invoking
  guix refresh".
  (Invoking guix refresh): New node.
2013-05-08 16:07:50 +02:00
Ludovic Courtès a2ed738989 package: Display the output of packages to be installed/removed.
* guix/scripts/package.scm (guix-package)[show-what-to-remove/install]:
  Display the output name.
2013-05-08 15:21:47 +02:00
Ludovic Courtès ce3b7a619d package: Preserve the installed package output when upgrading.
* guix/scripts/package.scm (guix-package)[find-package]: Add optional
  parameter `output'.  Use it.
  [process-actions]: When computing UPGRADE, pass OUTPUT to
  `find-package'.
2013-05-08 15:11:20 +02:00
Ludovic Courtès fd982732f4 gnu: python: Build the shared library.
* gnu/packages/python.scm (python): Add `--enable-shared'.  Add
  #:modules and #:phases.  Add PatchELF as an input.
2013-05-08 01:51:45 +02:00
Ludovic Courtès cc2792dada gnu: gsasl: Propagate GnuTLS.
* gnu/packages/gsasl.scm (gsasl): Move GnuTLS to `propagated-inputs'.
2013-05-08 01:51:44 +02:00
Nikita Karetnikov a6b4d213db gnu: Add Hugs.
* gnu/packages/hugs.scm: New file.
* Makefile.am (MODULES): Add it.
2013-05-07 20:42:10 +00:00
Ludovic Courtès 83e61a73c4 ui: Capitalize informative messages.
* guix/ui.scm (show-what-to-build): Capitalize user messages, as per the
  GCS (info "(standards) Errors").
2013-05-07 13:28:11 +02:00
Ludovic Courtès 15f67744fe package: Fix spacing in user messages.
* guix/scripts/package.scm (guix-package)[process-actions]: Fix spacing.
2013-05-07 13:23:30 +02:00
Ludovic Courtès 6ba3900934 gnu: help2man: Update to 1.41.2.
* gnu/packages/help2man.scm (help2man): Update to 1.41.2.
2013-05-07 00:21:18 +02:00
Ludovic Courtès 1d3991dc74 gnu: guile-ncurses: Update to 1.4.
* gnu/packages/guile.scm (guile-ncurses): Update to 1.4.
2013-05-07 00:13:28 +02:00
Ludovic Courtès 39b33961e9 gnu: Add GNU FreeIPMI.
* gnu/packages/freeipmi.scm: New file.
* Makefile.am (MODULES): Add it.
2013-05-07 00:12:18 +02:00
Ludovic Courtès 6d267f0a5b gnu: gv: Move to a separate file.
* gnu/packages/ghostscript.scm (ghostscript): Remove libxext and libxt
  as inputs.
  (gv): Move to...
* gnu/packages/gv.scm (gv): ... here.  New file.
  (ghostscript/x): Variant of GHOSTSCRIPT with libxt and libxext as
  inputs.
2013-05-06 23:50:30 +02:00
Ludovic Courtès 36ee486f1a gnu: freetype: Use mirror:// URL.
* gnu/packages/fontutils.scm (freetype): Use mirror://savannah URL.
2013-05-06 23:48:36 +02:00
Ludovic Courtès 313109e050 refresh: Change default to not update source files.
* guix/scripts/refresh.scm (%options): Change `--dry-run' to `--update'.
  (show-help): Adjust accordingly.
  (guix-refresh): Likewise.
2013-05-06 22:31:28 +02:00
Andreas Enge c5ea1201fb gnu: Add GNU gv.
* gnu/packages/ghostscript.scm (gv): New variable.
2013-05-05 11:23:13 +02:00
Andreas Enge e0eb886dce gnu: ghostscript: Add X support.
* gnu/packages/ghostscript.scm (ghostscript): Add X related inputs.
2013-05-05 11:19:26 +02:00
Andreas Enge dcc9053aff gnu: Add libxaw3d.
* gnu/packages/xorg.scm (libxaw3d): New variable.
2013-05-05 10:45:55 +02:00
Andreas Enge 3a08a41188 gnu: Add atk.
* gnu/packages/gtk.scm: New module.
* Makefile.am (MODULES): Add it.
2013-05-05 00:09:37 +02:00
Andreas Enge fbd8445704 gnu: Add id3lib.
* gnu/packages/mp3.scm (id3lib): New variable.
2013-05-04 23:13:22 +02:00
Andreas Enge 21e9fee042 gnu: Have python paths set automatically..
* gnu/packages/xorg.scm (meas): Drop special handling of python paths.
* gnu/packages/xml.scm (libxslt): Drop special handling of python paths.
2013-05-01 22:26:10 +02:00
Andreas Enge d515cb555c gnu: xorg: Have perl paths set automatically.
* gnu/packages/xorg.scm (xkeyboard-config): Drop special handling of perl paths.
2013-05-01 21:38:05 +02:00
Ludovic Courtès 0734a9a813 Merge branch 'core-updates' 2013-04-30 17:06:00 +02:00
Nikita Karetnikov 01155b1808 utils: Adjust 'wrap-program'.
* guix/build/utils.scm (wrap-program): Fix computation of PROG-REAL and
  PROG-TMP when PROG is an absolute file name.  Add "$@" in the
  generated script, and quote PROG-REAL.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2013-04-30 16:58:59 +02:00
Ludovic Courtès e0fbbc889d substitute-binary: Support decompression from non-file ports.
* guix/scripts/substitute-binary.scm (filtered-port): Move to utils.scm.
  (decompressed-port): Upon "none", return '() as the second value.
  (guix-substitute-binary): Expect `decompressed-port' to return a list
  of PIDs as its second value.
* guix/utils.scm (filtered-port): New procedure.  Add case for when
  INPUT is not `file-port?'.
* tests/utils.scm ("filtered-port, file", "filtered-port, non-file"):
  New tests.
2013-04-29 23:25:19 +02:00
Ludovic Courtès dab5d51be7 build: Add silent-rules machinery for `guild compile'.
* Makefile.am (AM_V_GUILEC, AM_V_GUILEC_, AM_V_GUILEC_0): New
  variables.
  (.scm.go): Use $(AM_V_GUILEC).
2013-04-29 22:00:24 +02:00
Ludovic Courtès 30dd831083 build: Replace *.log in `CLEANFILES' by the exact list of files.
* Makefile.am (SCM_TESTS, SH_TESTS): New variables.
  (TESTS): Use them.
  (CLEANFILES): Replace *.log by $(SCM_TESTS:%.scm=%.log).
2013-04-29 21:52:21 +02:00
Ludovic Courtès 867df0eeb6 gnu: make-bootstrap: Fix %glibc-stripped.
* gnu/packages/make-bootstrap.scm (%glibc-stripped): Add `outputs' field.
2013-04-29 00:28:36 +02:00
Ludovic Courtès 593987671a build-system/gnu: Fix default name for the "doc" output directory.
* guix/build/gnu-build-system.scm (configure)[package-name]: Drop the
  prefix corresponding to the hash part of OUT.
2013-04-28 23:39:28 +02:00
Ludovic Courtès 5924080dcc guix package: Add `--search-paths' & co.
* guix/scripts/package.scm (search-path-environment-variables,
  display-search-paths): New procedures.
  (show-help, %options): Add `--search-paths'.
  (guix-package)[process-actions]: Call `display-search-paths' once the
  profile is ready.
  [process-query]: Honor `search-paths'.
2013-04-28 23:19:03 +02:00
Ludovic Courtès 2bcfb9e065 utils: Add `string-tokenize*'.
* guix/utils.scm (string-tokenize*): New procedure.
* tests/utils.scm ("string-tokenize*"): New test.
2013-04-28 23:19:03 +02:00
Andreas Enge 19cb517012 gnu: xpdf: Use gs-fonts to provide standard postscript fonts.
* gnu/packages/pdf (xpdf): Add path to gs-fonts in xpdfrc.
2013-04-28 22:05:27 +02:00
Andreas Enge 1f7c6a1f53 gnu: Add gs-fonts.
* gnu/packages/ghostscript.scm (gs-fonts): New variable.
2013-04-28 21:12:55 +02:00
Ludovic Courtès 8e77f41ede packages: Work around compiler bug in Guile 2.0.5.
* guix/packages.scm (package-field-location): Work around compiler bug
  in 2.0.5.  Reported by Andreas Enge <andreas@enge.fr>.
2013-04-27 23:02:06 +02:00
Ludovic Courtès 89be37a5a3 web: Add workaround for <http://bugs.gnu.org/13095>.
* guix/web.scm: Add workaround for <http://bugs.gnu.org/13095>.
2013-04-27 23:00:51 +02:00
Ludovic Courtès 61ef22f432 web: Add 2.0.5 workaround for responses without content-length.
* guix/web.scm (read-response-body*)[when-guile<=2.0.5]: Support
  responses without content-length.
  Reported by Andreas Enge <andreas@enge.fr>.
2013-04-27 23:00:21 +02:00
Ludovic Courtès c4ca12c15b gnu-maintenance: Fix error message of `update-package-source'.
* guix/gnu-maintenance.scm (update-package-source): In the (not loc)
  case, pass the location first and convert it to a string.
2013-04-27 22:52:43 +02:00
Ludovic Courtès 4056b82882 doc: Update `NEWS'.
* NEWS: Populate.
2013-04-27 17:10:41 +02:00
Ludovic Courtès a5975cedf2 ui: Add `args-fold*' and use it.
* guix/ui.scm (args-fold*): New procedure.
* guix/scripts/build.scm, guix/scripts/download.scm,
  guix/scripts/gc.scm, guix/scripts/hash.scm, guix/scripts/import.scm,
  guix/scripts/package.scm, guix/scripts/pull.scm,
  guix/scripts/refresh.scm: Use `args-fold*' instead of `args-fold'.
2013-04-27 16:46:39 +02:00
Ludovic Courtès 14e2afa74b ui: Use consistent spacing in `show-what-to-build' messages.
* guix/ui.scm (show-what-to-build): Use consistent spacing in "the
  following..." messages.
2013-04-27 16:37:09 +02:00
Ludovic Courtès c3f0084ad3 gnu: Update libgpg-error and libassuan.
* gnu/packages/gnupg.scm (libgpg-error): Update to 1.11.
  (libassuan): Update to 2.1.0.
2013-04-27 16:30:01 +02:00
Ludovic Courtès 049b2f1d7b gnu-maintenance: Fix `latest-release' for GnuPG.
* guix/gnu-maintenance.scm (latest-release): Filter out directories
  whose name does not contain digits early in the process.  This fixes
  (latest-release "gnupg").
2013-04-27 16:26:48 +02:00
Ludovic Courtès 87dfd45594 ftp-client: `ftp-chdir' changes one step at a time.
* guix/ftp-client.scm (%char-set:not-slash): New variable.
  (ftp-chdir): Add docstring.  Change to DIR one step at a time.
  (ftp-retr): Fix indentation.
2013-04-27 16:25:54 +02:00
Ludovic Courtès accf7a373e gnu: bison: Update to 2.7.1.
* gnu/packages/bison.scm (bison): Update to 2.7.1.
2013-04-27 12:18:21 +02:00
Ludovic Courtès eaff9364d5 gnu: gprolog: Update to 1.4.4.
* gnu/packages/gprolog.scm (gprolog): Update to 1.4.4.
2013-04-27 12:13:21 +02:00
Ludovic Courtès 7f4b5efd2d gnu: gdb: Update to 7.6.
* gnu/packages/gdb.scm (gdb): Update to 7.6.
2013-04-27 12:11:54 +02:00
Ludovic Courtès 786944576c pull: Use `download-to-store'.
* guix/scripts/pull.scm (download-and-store): Remove.
  (unpack): Use `download-to-store' instead.
2013-04-27 11:40:18 +02:00
Ludovic Courtès 1424a96e25 web: Backport chunked encoding support for Guile <= 2.0.5.
* guix/web.scm (when-guile<=2.0.5): New macro.
  (read-chunk-header, read-chunk, read-chunk-body,
  make-chunked-input-port, read-response-body*)[when-guile<=2.0.5]: New
  procedures.
  (http-fetch): Clarify message when (not data).
2013-04-27 11:37:31 +02:00
Ludovic Courtès 56dbcb09d8 build: Explicitly require Guile >= 2.0.5.
* configure.ac: Require guile-2.0 >= 2.0.5.
2013-04-27 11:28:47 +02:00
Ludovic Courtès cecb712cce gnu: gawk: Update to 4.0.2.
* gnu/packages/gawk.scm (gawk): Update to 4.0.2.
2013-04-27 00:23:45 +02:00
Ludovic Courtès 9369a02bfc gnu: patch: Update to 2.7.1.
* gnu/packages/base.scm (patch): Update to 2.7.1.
2013-04-27 00:23:19 +02:00
Ludovic Courtès 3b401612d9 gnu: Binutils 2.23.2 and GCC 4.7.3.
* gnu/packages/base.scm (binutils): Update to 2.23.2.
  (binutils-2.23, ld-wrapper-2.23): Remove.
  (gcc-4.8): Move to...
* gnu/packages/gcc.scm (gcc-4.8): ... here.
  (gcc-4.7): Update to 4.7.3.  Add dependencies on ISL, CLooG, libelf,
  and zlib.
2013-04-26 22:51:07 +02:00
Ludovic Courtès 6aded2dd3f gnu: guile: Default to 2.0.9.
* gnu/packages/guile.scm (guile-2.0/fixed): Switch to `guile-2.0'.
2013-04-26 22:48:17 +02:00
Ludovic Courtès d83ae72401 gnu: diffutils: Update to 3.3.
* gnu/packages/base.scm (diffutils): Update to 3.3.
2013-04-26 22:13:14 +02:00
Ludovic Courtès a9db7d10b6 Merge branch 'master' into core-updates
Conflicts:
	Makefile.am
	gnu/packages/autotools.scm
	gnu/packages/guile.scm
	gnu/packages/python.scm
	gnu/packages/shishi.scm
	guix/gnu-maintenance.scm
	guix/scripts/build.scm
	guix/scripts/gc.scm
	guix/scripts/package.scm
	guix/scripts/substitute-binary.scm
	guix/ui.scm
	nix/nix-daemon/guix-daemon.cc
	test-env.in
	tests/nar.scm
	tests/store.scm
2013-04-26 16:43:08 +02:00
Ludovic Courtès 2b6bdf7eb3 gnu: libgcrypt: Update to 1.5.2.
* gnu/packages/gnupg.scm (libgcrypt): Update to 1.5.2.
2013-04-25 23:21:49 +02:00
Ludovic Courtès 777fabf096 gnu: dejagnu: Update to 1.5.1.
* gnu/packages/dejagnu.scm (dejagnu): Update to 1.5.1.
2013-04-25 23:19:52 +02:00
Ludovic Courtès acfc0df5ce gnu: nano: Update to 2.3.2.
* gnu/packages/nano.scm (nano): Update to 2.3.2.
2013-04-25 23:18:20 +02:00
Ludovic Courtès 6c211361fe gnu: ed: Update to 1.8.
* gnu/packages/ed.scm (ed): Update to 1.8.
2013-04-25 23:07:59 +02:00
Ludovic Courtès dfb43e45b5 gnu-maintenance: Add newline in warning messages.
* guix/gnu-maintenance.scm (download-tarball): Add newline in warning
  messages.
2013-04-25 23:07:24 +02:00
Ludovic Courtès 43d8f4904c doc: Add note on installing Guix from Guix.
* README (Installing Guix from Guix): New section.
  Suggested by Alex Sassmannshausen <alex.sassmannshausen@gmail.com>.
2013-04-25 23:01:05 +02:00
Ludovic Courtès 37a5340262 refresh: Add `--select'.
* guix/scripts/refresh.scm (%options): Add `--select'.
  (show-help): Likewise.  Augment initial help text.
  (guix-refresh)[core-package?]: New procedure.
  Use it when selecting packages.
2013-04-25 22:56:25 +02:00
Ludovic Courtès 1c9e7d65d4 web: Factorize `http-get' hackery.
This should fix `substitute-binary --query' on Guile 2.0.5.

* guix/web.scm: New file.
* Makefile.am (MODULES): Add it.
* po/POTFILES.in: Add it.
* guix/gnu-maintenance.scm (http-fetch): Remove.
  (%package-list-url): Turn into a URI.
  (official-gnu-packages): Add #:text? #t to `http-fetch' call.
* guix/scripts/substitute-binary.scm (fetch): Remove `http' case, and
  use `http-fetch' instead.
2013-04-25 22:14:51 +02:00
Ludovic Courtès 9e623d068d gnu: wdiff: Update to 1.2.1.
* gnu/packages/wdiff.scm (wdiff): Update to 1.2.1.  Add Texinfo as an input.
2013-04-25 00:13:56 +02:00
Ludovic Courtès f6f207b803 gnu: nettle: Update to 2.7.
* gnu/packages/nettle.scm (nettle): Update to 2.7.
2013-04-25 00:13:56 +02:00
Ludovic Courtès 825d0ebc5b gnu: libtasn1: Update to 3.3.
* gnu/packages/gnutls.scm (libtasn1): Update to 3.3.
2013-04-25 00:13:56 +02:00
Ludovic Courtès 65b96a0c10 gnu-maintenance: Optimize `gnu-package?'.
* guix/gnu-maintenance.scm (gnu-package?): Capture a memoizing version
  of `gnu-package?'.
2013-04-25 00:13:56 +02:00
Ludovic Courtès d55a99fed3 gnu-maintenance: Optimize `release-file'.
* guix/gnu-maintenance.scm (tarball-regexp): Remove.
  (%tarball-rx): New variable.
  (release-file): Adjust to use %TARBALL-RX.
2013-04-25 00:13:56 +02:00
Ludovic Courtès cac137aa84 gnu-maintenance: Optimize `latest-release'.
* guix/gnu-maintenance.scm (tarball-regexp, sans-extension,
  release-file): New procedures.
  (%alpha-tarball-rx): New variable.
  (releases): Use them instead of local copies.
  (latest-release): Rewrite to not do a recursive search of all
  versions and instead jump directly to the latest.
2013-04-25 00:13:56 +02:00
Ludovic Courtès 0fdd3bea58 Add `guix refresh' and related auto-update tools.
* guix/gnu-maintenance.scm (ftp-server/directory)[quirks]: Add glib.
  (package-update-path, download-tarball, package-update,
  update-package-source): New procedures.
* guix/gnupg.scm, guix/scripts/refresh.scm: New files.
* Makefile.am (MODULES): Add them.
* guix/utils.scm (file-extension): New procedure.
2013-04-25 00:13:56 +02:00
Ludovic Courtès f903dc056a packages: Use read' and source properties for package-field-location'.
* guix/packages.scm (package-field-location): Rewrite using `read' and
  source properties.  Change to return #f upon failure.
* tests/packages.scm ("package-field-location"): Check for #f upon failure.
* build-aux/sync-synopses.scm: Adjust accordingly.
2013-04-25 00:13:56 +02:00
Ludovic Courtès 5fe21fbeef utils: Fix column number returned by `source-properties->location'.
* guix/utils.scm (source-properties->location): Use COL, not COL + 1.
2013-04-25 00:13:56 +02:00
Mark H Weaver 867b14108d gnu: hop: Update hash to match hop-2.4.0.tar.gz, which was modified in place.
* gnu/packages/scheme.scm (hop): Update the hash.
2013-04-24 17:14:53 -04:00
Ludovic Courtès d66c70967f packages: Add `package-field-location'.
* guix/packages.scm (package-field-location): New procedure.
* build-aux/sync-synopses.scm: Use it instead of `package-location'.
* tests/packages.scm ("package-field-location"): New test.
2013-04-22 23:07:13 +02:00
Ludovic Courtès b2a886f6c7 ui: Move macro definitions before any use.
* guix/ui.scm (define-diagnostic, warning, report-error, leave): Move
  definitions before any use.  Reported by Nikita Karetnikov.
  (install-locale): Move back close to `initialize-guix'.
2013-04-22 13:24:39 +02:00
Mark H Weaver 19c9664d93 gnu: xorriso: Update to 1.2.8.
* gnu/packages/cdrom.scm (xorriso): Update to 1.2.8.
2013-04-21 22:59:30 -04:00
Mark H Weaver 693b57e41c gnu: smalltalk: Update to 3.2.5.
* gnu/packages/smalltalk.scm (smalltalk): Update to 3.2.5.
2013-04-21 22:59:28 -04:00
Mark H Weaver 2306f7ab4b gnu: groff: Update to 1.22.2.
* gnu/packages/groff.scm (groff): Update to 1.22.2.
2013-04-21 22:59:24 -04:00
Mark H Weaver 6ed80bed48 gnu: gprolog: Update to 1.4.3 and download from GNU mirrors
* gnu/packages/gprolog.scm (gprolog): Update to 1.4.3.
  Download from GNU mirrors.
2013-04-21 17:57:56 -04:00
Ludovic Courtès 861693f3e7 Factorize `download-and-store'.
* guix/download.scm (download-to-store): New procedure.
* guix/scripts/download.scm (fetch-and-store): Remove.
  (guix-download): Use `download-to-store' instead.
* guix/ui.scm (call-with-temporary-output-file): Move to...
* guix/utils.scm (call-with-temporary-output-file): ... here.
2013-04-21 22:40:40 +02:00
Nikita Karetnikov 6c365eca6d Add 'guix hash'.
* guix/scripts/hash.scm: New file.
* Makefile.am (MODULES): Add it.
* po/POTFILES.in: Add it.
* doc/guix.texi (Invoking guix hash): New node.
  (Defining Packages): Add a cross-reference to the 'Invoking guix
  hash' node.
2013-04-21 19:22:14 +00:00
Ludovic Courtès e33d9d6f09 gnu: intltool: Fix typo.
* gnu/packages/glib.scm (intltool): Fix typo.
2013-04-21 21:09:49 +02:00
Nikita Karetnikov bfda2997c8 guix download: Add supported formats to '--help'.
* guix/scripts/download.scm (show-help): Add supported formats.
2013-04-21 19:04:24 +00:00
Ludovic Courtès 238328c990 ui: Move definition of install-locale' after that of the warning' macro.
* guix/ui.scm (install-locale): Move definition after that of `warning'.
2013-04-21 11:53:06 +02:00
Ludovic Courtès fcdf58c46c gnu: guile: Update to 2.0.9.
* gnu/packages/guile.scm (guile-2.0): Update to 2.0.9.
  (guile-2.0/fixed): Keep at 2.0.7.
2013-04-21 11:43:23 +02:00
Ludovic Courtès 107b415e43 gnu: intltool: Propagate gettext.
* gnu/packages/glib.scm (intltool): Propagate gettext.
2013-04-21 11:27:37 +02:00
Nikita Karetnikov 98eb8cbe8d ui: Add a 'define-diagnostic' macro.
* guix/ui.scm (define-diagnostic): New macro, which is based on the
  previous version of 'warning'.
  (warning, leave): Redefine using 'define-diagnostic'.
  (report-error): New macro.
  (install-locale): Use 'warning' instead of 'format'.
  (call-with-error-handling): Adjust 'leave'.
* gnu/packages.scm (package-files): Use 'warning' instead of 'format'.
* guix/gnu-maintenance.scm (http-fetch): Use 'warning' and 'leave'.
* guix/scripts/build.scm (derivations-from-package-expressions, guix-build):
  Adjust 'leave'.
* guix/scripts/download.scm (guix-download): Adjust 'leave'.
* guix/scripts/gc.scm (size->number, %options): Adjust 'leave'.
* guix/scripts/package.scm (roll-back, guix-package): Adjust 'leave'.
* po/POTFILES.in: Add 'guix/gnu-maintenance.scm'.
2013-04-21 08:08:40 +00:00
Ludovic Courtès c6d7e299ae gnu: Add GCC 4.8.0 and Binutils 2.23.2.
* gnu/packages/base.scm (binutils-2.23, ld-wrapper-2.23, gcc-4.8): New
  variables.
2013-04-20 17:56:06 +02:00
Ludovic Courtès 4c7cacf117 substitute-binary: Remove expired cache entries once in a while.
* guix/scripts/substitute-binary.scm (%narinfo-expired-cache-entry-removal-delay):
  New variable.
  (obsolete?): New procedure, formerly in `lookup-narinfo'.
  (lookup-narinfo): Adjust accordingly.
  (remove-expired-cached-narinfos, maybe-remove-expired-cached-narinfo):
  New procedures.
  (guix-substitute-binary): Call `maybe-remove-expired-cached-narinfo'.
2013-04-20 15:12:24 +02:00
Ludovic Courtès f286f71634 snix: Prefer synopses from the Womb rather than from Nixpkgs.
* guix/snix.scm (snix-derivation->guix-package): When NAME is
  in (official-gnu-packages), use this synopsis instead of the one from
  Nixpkgs.
2013-04-20 11:52:50 +02:00
Ludovic Courtès f7758740ed gnu: gdbm, nano: Synchronize synopses.
* gnu/packages/gdbm.scm, gnu/packages/nano.scm: Synchronize synopses
  with the Womb.
2013-04-20 11:44:42 +02:00
Ludovic Courtès 0ff3e3aa9b daemon: Gracefully handle cases where the daemon does not return a status code.
* guix/store.scm (process-stderr): Check for EOF before doing (read-int p).
2013-04-20 10:53:31 +02:00
Andreas Enge d6b8cb5c4a gnu: Unify the two intltool packages.
* gnu/packages/xml.scm (intltool): Delete variable.
* gnu/packages/glib.scm (intltool): Update to version 0.50.2.
2013-04-19 19:51:49 +02:00
Ludovic Courtès 6858f9d132 daemon: Add `--no-substitutes'.
Suggested by Mark H. Weaver.

* nix/nix-daemon/guix-daemon.cc (GUIX_OPT_NO_SUBSTITUTES): New macro.
  (options): Add `--no-substitutes'.
  (parse_opt): Add `GUIX_OPT_NO_SUBSTITUTES' case.
  (main): Leave `settings.substituters' empty when
  `settings.useSubstitutes' is false.
2013-04-18 22:50:31 +02:00
Ludovic Courtès ea0ee755bd daemon: Really enable the substituter by default.
* nix/nix-daemon/guix-daemon.cc (main): Really enable the substituter by
  default.  Reported by Mark H. Weaver.
2013-04-18 22:50:31 +02:00
Ludovic Courtès 48febeb81a doc: Mention the home page.
* doc/guix.texi (Installation): Add a sentence pointing to the home
  page.  Suggested by Arne Babenhauserheide.
2013-04-18 22:50:31 +02:00
Nikita Karetnikov 6c1cd80d8f tests: Use a new synopsis of GNU Hello.
* tests/guix-package.sh: Use a new synopsis of GNU Hello, which was
  added in f50d2669e3.
2013-04-18 16:08:43 +00:00
Ludovic Courtès 3b78d1eab8 doc: Transparent binary deployment is implemented.
* doc/guix.texi (Features): Remove footnote saying that transparent
  binary deployment is not implemented.
2013-04-17 22:44:19 +02:00
Ludovic Courtès b52cb20d43 guix package: Allow the search of the latest release to be interrupted.
* guix/scripts/package.scm (%sigint-prompt): New variable.
  (call-with-sigint-handler): New procedure.
  (waiting): Use it.
2013-04-17 22:43:14 +02:00
Ludovic Courtès 0e993428ce build: Add `sync-synopses.scm'.
* build-aux/sync-synopses.scm: New file.
* Makefile.am (EXTRA_DIST): Add it.
  (dist-hook): New target.
2013-04-17 18:09:43 +02:00
Ludovic Courtès f50d2669e3 gnu: Use synopses from 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/gawk.scm,
  gnu/packages/gcc.scm,
packages/gcc.scm, b/gnu/packages/gcc.scm,
4b982 100644
s/gcc.scm,
s/gcc.scm,
@@
         %standard-phases)))))

 `((gcc-libc . ,(assoc-ref inputs "libc"))))
The GNU Compiler Collection")
GNU Compiler Collection")
n
ompiler Collection includes compiler front ends for C, C++,
tran, OpenMP for C/C++/Fortran, Java, and Ada, as well as
  gnu/packages/gdb.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/guile.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/linux.scm,
  gnu/packages/lsh.scm,
  gnu/packages/m4.scm,
  gnu/packages/mailutils.scm,
  gnu/packages/multiprecision.scm,
  gnu/packages/nano.scm,
  gnu/packages/ncurses.scm,
  gnu/packages/nettle.scm,
  gnu/packages/oggvorbis.scm,
  gnu/packages/parted.scm,
  gnu/packages/pth.scm,
  gnu/packages/readline.scm,
  gnu/packages/recutils.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/wdiff.scm,
  gnu/packages/wget.scm,
  gnu/packages/which.scm: Use synopses from the Womb.
2013-04-17 18:04:25 +02:00
Ludovic Courtès 801486fe46 ui: Fix format string in `warning'.
* guix/ui.scm (warning)[augmented-format-string]: Add missing ~*.
2013-04-17 18:02:48 +02:00
Ludovic Courtès f594028a9c gnu: Add missing import in (gnu packages cross-base).
* gnu/packages/cross-base.scm: Use (gnu packages gcc).
  Reported by Nikita Karetnikov <nikita@karetnikov.org>.
2013-04-17 14:59:19 +02:00
Ludovic Courtès dd36b51bf7 scripts: Report what will be substituted.
* guix/derivations.scm (derivation-input-output-paths): New procedure.
  (derivation-prerequisites-to-build): New `use-substitutes?' keyword
  argument.  Change two return the list of substitutable paths as a
  second argument.
* guix/ui.scm (show-what-to-build): Turn `dry-run?' into a keyword
  argument.  New `use-substitutes?' keyword argument.  Use `fold2' and
  adjust to use both return values of
  `derivation-prerequisites-to-build'.  Display what will/would be
  downloaded.
* guix/scripts/build.scm (guix-build): Adjust accordingly.
* guix/scripts/package.scm (guix-package): Likewise.
* tests/derivations.scm ("derivation-prerequisites-to-build and
  substitutes"): New test.
2013-04-17 00:08:21 +02:00
Cyril Roelandt acb6ba2567 package: allow users to upgrade the whole system by not providing a regexp.
* guix/scripts/packages.scm (guix-package) [process-actions]: When upgrading,
use "" when REGEXP is #f.
* doc/guix.texi: update the documentation accordingly.
2013-04-16 23:12:29 +02:00
Cyril Roelandt 0160536dcb gnu: Python: bump to version 2.7.4.
* gnu/packages/python.scm: bump to version 2.7.4, remove references to
python-fix-dbm.patch.
* Makefile.am: remove references to python-fix-dbm.patch
* gnu/packages/patches/python-fix-dbm.patch: remove it.
2013-04-16 23:12:29 +02:00
Ludovic Courtès 35ac56b63e build-system/{perl,cmake}: Keep the standard search paths of gnu-build-system.
Reported by Andreas Enge <andreas@enge.fr>.

* guix/build-system/gnu.scm (standard-search-paths): New procedure.
  (gnu-build): Use it.
* guix/build-system/perl.scm (perl-build):
  Append (standard-search-paths) to the search paths of PERL.
* guix/build-system/cmake.scm (cmake-build):
  Append (standard-search-paths) to SEARCH-PATHS.
2013-04-16 14:05:00 +02:00
Ludovic Courtès e967678ed1 substitute-binary: Skip servers that use a different store prefix.
* guix/scripts/substitute-binary.scm (fetch-narinfo): Return #f when
  CACHE uses a store directory different from (%store-prefix).
2013-04-15 23:43:13 +02:00
Ludovic Courtès 0c357a088b substitute-binary: Call `open-cache' only when needed.
* guix/scripts/substitute-binary.scm (lookup-narinfo): Force CACHE when
  passing it to `fetch-narinfo'.
  (guix-substitute-binary): Delay calls to `open-cache'.
2013-04-15 23:43:10 +02:00
Ludovic Courtès eba783b7b2 substitute-binary: Add a local cache.
* guix/scripts/substitute-binary.scm (%narinfo-cache-directory,
  %narinfo-ttl, %narinfo-negative-ttl): New variables.
  (with-atomic-file-output, object->fields, read-narinfo,
  write-narinfo, narinfo->string, string->narinfo, lookup-narinfo): New
  procedures.
  (fetch-narinfo): Adjust to use `read-narinfo'.
  (guix-substitute-binary): Ensure the existence of
  %NARINFO-CACHE-DIRECTORY.  Use `lookup-narinfo' instead of
  `fetch-narinfo'.
2013-04-15 23:42:55 +02:00
Ludovic Courtès 63b7c6c1f8 gnu: automake: Restore shebangs on files that end up in user tarballs.
* gnu/packages/autotools.scm (automake): Add `unpatch-shebangs' phase.
2013-04-14 22:34:48 +02:00
Ludovic Courtès 04fd96cac3 utils: Add `fold2'.
* gnu/packages.scm (fold2): Remove.
* guix/utils.scm (fold2): New procedure.  Generalization of the above to
  one and two lists.
* tests/utils.scm ("fold2, 1 list", "fold2, 2 lists"): New tests.
2013-04-14 16:56:08 +02:00
Ludovic Courtès 50efa79774 gnu: emacs: Build the GUI with libXaw.
* gnu/packages/emacs.scm (emacs): Add inputs: libX11, libXaw, libXt,
  libtiff, libjpeg, libpng, zlib, libXpm, libxml2, and D-Bus.
2013-04-13 22:08:09 +02:00
Ludovic Courtès baa0d82a8a gnu: libXaw: Propagate libXt.
* gnu/packages/xorg.scm (libxaw): Propagate libXt.
2013-04-13 22:06:47 +02:00
Ludovic Courtès c5c555b186 gnu: Add Ratpoison.
* gnu/packages/ratpoison.scm: New file.
* Makefile.am (MODULES): Add it.
2013-04-12 21:58:47 +02:00
Ludovic Courtès 841032d448 store: Remove unneeded and conflicting import.
* guix/store.scm: Remove unneeded (ice-9 rdelim) import.  In Guile 2.0.9
  that module exports `read-string', which conflicts with that of (guix
  serialization).
2013-04-12 21:58:47 +02:00
Ludovic Courtès d5d6db8918 package: Being at the empty profile is not an error.
* guix/scripts/package.scm (roll-back): Use `format', not `leave' when
  indicating "already at the empty profile".  Fixes a regression
  introduced in a2011be5df.  Reported by
  Nikita Karetnikov <nikita@karetnikov.org>.
2013-04-12 21:58:47 +02:00
Ludovic Courtès 0d2fe78f85 Update `TODO'. 2013-04-12 21:58:47 +02:00
Ludovic Courtès 581f9eb845 guix package: Add `--no-substitutes'.
* guix/scripts/package.scm (%default-options): Add `substitutes?'.
  (show-help, %options): Add and document `--no-substitutes'.
  (guix-package): Call `set-build-options' to honor `substitutes?'.
2013-04-12 21:58:47 +02:00
Ludovic Courtès cdf2022052 substitute-binary: Implement `--substitute'.
This allows build outputs to be transparently downloaded from
http://hydra.gnu.org, for example.

* config-daemon.ac: Check for `gzip', `bzip2', and `xz'.
* guix/config.scm.in (%gzip, %bzip2, %xz): New variable.
* guix/scripts/substitute-binary.scm (fetch): Return SIZE as a second value.
  (<narinfo>): Change `url' to `uri'.
  (make-narinfo): Rename to...
  (narinfo-maker): ... this.  Handle relative URLs.
  (fetch-narinfo): Adjust accordingly.
  (filtered-port, decompressed-port): New procedures.
  (guix-substitute-binary): Implement the `--substitute' case.
* tests/store.scm ("substitute query"): Use (%store-prefix) instead
  of (getenv "NIX_STORE_DIR").
  ("substitute"): New test.
2013-04-12 21:58:47 +02:00
Ludovic Courtès f03f0c9a86 substitute-binary: Correctly handle missing narinfos in `--query' mode.
* guix/scripts/substitute-binary.scm (guix-substitute-binary)["--query"]("have",
  "info"): Filter SUBSTITUTABLE through `narinfo?'.
2013-04-12 21:58:47 +02:00
Ludovic Courtès c7b62db614 nar: Add support for symlinks.
* guix/nar.scm (write-file): Add case for type `symlink'.
  (restore-file): Likewise.
* tests/nar.scm (random-file-size, make-file-tree, delete-file-tree,
  with-file-tree, file-tree-equal?, make-random-bytevector,
  populate-file): New procedures.
  (%test-dir): New variable.
  ("write-file + restore-file"): Use `%test-dir' and `file-tree-equal?'.
  ("write-file + restore-file with symlinks"): New test.
2013-04-12 21:58:47 +02:00
Ludovic Courtès 6f80c9d8f3 ui: Add a `warning' macro.
* guix/ui.scm (program-name, guix-warning-port): New variables.
  (warning): New macro.
  (guix-main): Parametrize PROGRAM-NAME.
* guix/scripts/build.scm, guix/scripts/download.scm,
  guix/scripts/gc.scm, guix/scripts/package.scm: Adjust to use `leave'
  and `warning' consistently.
2013-04-12 21:58:46 +02:00
Ludovic Courtès ca877f5a3a nar: Implement restoration from Nar.
* guix/nar.scm (&nar-error, &nar-read-error): New condition types.
  (dump): New procedure.
  (write-contents)[dump]: Remove.  Use the one above instead.
  (read-contents, write-file, restore-file): New procedures.
  (%archive-version-1): New variable.
2013-04-12 21:58:46 +02:00
Nikita Karetnikov 865c4ef33c gnu: shishi: Update to 1.0.2.
* gnu/packages/shishi.scm (shishi): Update to 1.0.2.
* gnu/packages/patches/shishi-gets-undeclared.patch: Remove it.
* Makefile.am (dist_patch_DATA): Adjust accordingly.
2013-04-12 21:58:46 +02:00
Cyril Roelandt 3fdc99da19 gnu: Python: fix the compilation of some modules from the standard library.
This commit enables the bz2, dbm, readline, ssl and zlib modules.

* gnu/packages/gdbm.scm: Enable the compatibility mode.
* gnu/packages/python.scm: Enable a few modules from the standard library.
* gnu/packages/patches/python-fix-dbm.patch: New file.
* Makefile.am: Add it.
2013-04-12 21:58:46 +02:00
Ludovic Courtès f0cd71f21e Add (guix nar) and (guix serialization).
* guix/store.scm (write-int, read-int, write-long-long, read-long-long,
  write-padding, write-string, read-string, read-latin1-string,
  write-string-list, read-string-list, write-store-path,
  read-store-path, write-store-path-list, read-store-path-list): Move to
  serialization.scm.
  (write-contents, write-file): Move to nar.scm.
* guix/nar.scm, guix/serialization.scm: New files.
* Makefile.am (MODULES): Add them.
2013-04-12 21:57:58 +02:00
Ludovic Courtès 7ce1f2160f substitute-binary: Fix communication of several store paths to the daemon.
* guix/scripts/substitute-binary.scm (guix-substitute-binary)["--query"]:
  Emit blank lines only after the complete list of store paths has been
  returned.
2013-04-12 21:57:58 +02:00
Ludovic Courtès 419fffa2e8 Add preliminary binary substituter.
* guix/scripts/substitute-binary.scm: New file.
* Makefile.am (MODULES): Add it.
* nix/scripts/substitute-binary.in: New file.
* config-daemon.ac: Produce nix/scripts/substitute-binary.
* daemon.am (nodist_pkglibexec_SCRIPTS): Add
  nix/scripts/substitute-binary.
* guix/store.scm (substitutable-path-info): Use the
  `query-substitutable-path-infos' RPC.
* nix/nix-daemon/guix-daemon.cc (main): Honor `NIX_SUBSTITUTERS'.
* pre-inst-env.in: Set `NIX_SUBSTITUTERS'.
* test-env.in: Leave `NIX_SUBSTITUTERS' unchanged.  Set
  `GUIX_BINARY_SUBSTITUTE_URL, and create
  $NIX_STATE_DIR/substituter-data.
  Run `guix-daemon' within `./pre-inst-env'.
* tests/store.scm ("substitute query"): New test.
2013-04-12 21:57:58 +02:00
Ludovic Courtès 04151253e3 gnu: bigloo: Add dependencies on Avahi and libphidget.
* gnu/packages/scheme.scm (bigloo): Add Avahi and libphidget as inputs,
  and pkg-config as a native input.
2013-04-12 21:57:58 +02:00
Ludovic Courtès f14d6b697e gnu: Add libphidget.
* gnu/packages/libphidget.scm: New file.
* Makefile.am (MODULES): Add it.
2013-04-12 21:57:57 +02:00
Ludovic Courtès afb49942e0 store: Add `store-path-hash-part'.
* guix/store.scm (store-path-hash-part): New procedure.
* tests/store.scm ("store-path-hash-part", "store-path-hash-part #f"):
  New tests.
2013-04-12 21:57:57 +02:00
Ludovic Courtès 5477e0342f gnu-maintenance: Adjust `http-fetch' to the various Guile versions.
* guix/gnu-maintenance.scm (http-fetch): Try #:streaming? #t, or
  'http-get*', or 'http-get' as a last resort.  Check whether DATA is
  #f, a string, or an input port.
2013-04-12 21:57:57 +02:00
Ludovic Courtès bdf06d8922 pull: Switch to the cgit URL.
* guix/scripts/pull.scm (%snapshot-url): Switch to the cgit URL, given
  that the Hydra one is not currently available.
2013-04-12 21:57:57 +02:00
Ludovic Courtès 77ffd691bf tests: Remove temporary directory created by nar.scm.
* tests/nar.scm ("write-file + restore-file with symlinks"): Add (rm-rf
  output).
2013-04-12 18:40:22 +02:00
Ludovic Courtès 9adb6934f4 store: Remove unneeded and conflicting import.
* guix/store.scm: Remove unneeded (ice-9 rdelim) import.  In Guile 2.0.9
  that module exports `read-string', which conflicts with that of (guix
  serialization).
2013-04-12 18:22:41 +02:00
Ludovic Courtès c31d1a7860 package: Being at the empty profile is not an error.
* guix/scripts/package.scm (roll-back): Use `format', not `leave' when
  indicating "already at the empty profile".  Fixes a regression
  introduced in a2011be5df.  Reported by
  Nikita Karetnikov <nikita@karetnikov.org>.
2013-04-12 18:07:17 +02:00
Ludovic Courtès 9297c90b69 Update `TODO'. 2013-04-12 17:31:05 +02:00
Ludovic Courtès 3b82460576 guix package: Add `--no-substitutes'.
* guix/scripts/package.scm (%default-options): Add `substitutes?'.
  (show-help, %options): Add and document `--no-substitutes'.
  (guix-package): Call `set-build-options' to honor `substitutes?'.
2013-04-12 17:31:05 +02:00
Ludovic Courtès fe0cff14f6 substitute-binary: Implement `--substitute'.
This allows build outputs to be transparently downloaded from
http://hydra.gnu.org, for example.

* config-daemon.ac: Check for `gzip', `bzip2', and `xz'.
* guix/config.scm.in (%gzip, %bzip2, %xz): New variable.
* guix/scripts/substitute-binary.scm (fetch): Return SIZE as a second value.
  (<narinfo>): Change `url' to `uri'.
  (make-narinfo): Rename to...
  (narinfo-maker): ... this.  Handle relative URLs.
  (fetch-narinfo): Adjust accordingly.
  (filtered-port, decompressed-port): New procedures.
  (guix-substitute-binary): Implement the `--substitute' case.
* tests/store.scm ("substitute query"): Use (%store-prefix) instead
  of (getenv "NIX_STORE_DIR").
  ("substitute"): New test.
2013-04-12 17:31:01 +02:00
Ludovic Courtès d7c5d27795 substitute-binary: Correctly handle missing narinfos in `--query' mode.
* guix/scripts/substitute-binary.scm (guix-substitute-binary)["--query"]("have",
  "info"): Filter SUBSTITUTABLE through `narinfo?'.
2013-04-12 17:30:47 +02:00
Ludovic Courtès 8f3114b7a4 nar: Add support for symlinks.
* guix/nar.scm (write-file): Add case for type `symlink'.
  (restore-file): Likewise.
* tests/nar.scm (random-file-size, make-file-tree, delete-file-tree,
  with-file-tree, file-tree-equal?, make-random-bytevector,
  populate-file): New procedures.
  (%test-dir): New variable.
  ("write-file + restore-file"): Use `%test-dir' and `file-tree-equal?'.
  ("write-file + restore-file with symlinks"): New test.
2013-04-12 14:42:56 +02:00
Ludovic Courtès 7a88ad6bff tests: Adjust `gnu-build' test to search path mechanism.
Fixes a regression introduced in a18eda2.
Reported by Nikita Karetnikov <nikita@karetnikov.org>.

* tests/builders.scm (%bootstrap-search-paths): New variable.
  ("gnu-build"): Pass #:search-paths.
2013-04-11 22:56:39 +02:00
Ludovic Courtès a2011be5df ui: Add a `warning' macro.
* guix/ui.scm (program-name, guix-warning-port): New variables.
  (warning): New macro.
  (guix-main): Parametrize PROGRAM-NAME.
* guix/scripts/build.scm, guix/scripts/download.scm,
  guix/scripts/gc.scm, guix/scripts/package.scm: Adjust to use `leave'
  and `warning' consistently.
2013-04-11 22:30:06 +02:00
Cyril Roelandt 1010e530d3 gnu: Add dwm.
* gnu/packages/dwm.scm: New file.
* Makefile.am: Add it.
2013-04-11 21:08:31 +02:00
Ludovic Courtès 068cdcd07c build-system/gnu: Fix search path computation with implicit inputs.
Reported by Andreas Enge <andreas@enge.fr>.

* guix/build-system/gnu.scm (standard-packages): New procedure.
  (standard-inputs): Use it instead of resolving things locally.
  (gnu-build)[implicit-search-paths]: Map over (standard-packages), not
  over STANDARD-INPUTS.
2013-04-09 19:01:21 +02:00
Ludovic Courtès 53c63ee937 nar: Implement restoration from Nar.
* guix/nar.scm (&nar-error, &nar-read-error): New condition types.
  (dump): New procedure.
  (write-contents)[dump]: Remove.  Use the one above instead.
  (read-contents, write-file, restore-file): New procedures.
  (%archive-version-1): New variable.
2013-04-08 23:21:38 +02:00
Ludovic Courtès 52e5910cdc build: Pass the appropriate flags when building `libstore.a'.
* daemon.am (libstore_a_CFLAGS): Rename to...
  (libstore_a_CXXFLAGS): ... this.
2013-04-08 23:21:38 +02:00
Nikita Karetnikov cbca6eb552 gnu: shishi: Update to 1.0.2.
* gnu/packages/shishi.scm (shishi): Update to 1.0.2.
* gnu/packages/patches/shishi-gets-undeclared.patch: Remove it.
* Makefile.am (dist_patch_DATA): Adjust accordingly.
2013-04-08 12:04:37 +00:00
Cyril Roelandt 4f7d8d7ee4 gnu: Python: fix the compilation of some modules from the standard library.
This commit enables the bz2, dbm, readline, ssl and zlib modules.

* gnu/packages/gdbm.scm: Enable the compatibility mode.
* gnu/packages/python.scm: Enable a few modules from the standard library.
* gnu/packages/patches/python-fix-dbm.patch: New file.
* Makefile.am: Add it.
2013-04-07 15:32:39 +02:00
Ludovic Courtès 0f41c26f9b Add (guix nar) and (guix serialization).
* guix/store.scm (write-int, read-int, write-long-long, read-long-long,
  write-padding, write-string, read-string, read-latin1-string,
  write-string-list, read-string-list, write-store-path,
  read-store-path, write-store-path-list, read-store-path-list): Move to
  serialization.scm.
  (write-contents, write-file): Move to nar.scm.
* guix/nar.scm, guix/serialization.scm: New files.
* Makefile.am (MODULES): Add them.
2013-04-04 22:29:08 +02:00
Ludovic Courtès 462f8e9f33 substitute-binary: Fix communication of several store paths to the daemon.
* guix/scripts/substitute-binary.scm (guix-substitute-binary)["--query"]:
  Emit blank lines only after the complete list of store paths has been
  returned.
2013-04-04 21:47:55 +02:00
Andreas Enge 6be960c7f7 Merge branch 'xorg' into core-updates 2013-04-04 18:49:28 +02:00
Ludovic Courtès f65cf81a3c Add preliminary binary substituter.
* guix/scripts/substitute-binary.scm: New file.
* Makefile.am (MODULES): Add it.
* nix/scripts/substitute-binary.in: New file.
* config-daemon.ac: Produce nix/scripts/substitute-binary.
* daemon.am (nodist_pkglibexec_SCRIPTS): Add
  nix/scripts/substitute-binary.
* guix/store.scm (substitutable-path-info): Use the
  `query-substitutable-path-infos' RPC.
* nix/nix-daemon/guix-daemon.cc (main): Honor `NIX_SUBSTITUTERS'.
* pre-inst-env.in: Set `NIX_SUBSTITUTERS'.
* test-env.in: Leave `NIX_SUBSTITUTERS' unchanged.  Set
  `GUIX_BINARY_SUBSTITUTE_URL, and create
  $NIX_STATE_DIR/substituter-data.
  Run `guix-daemon' within `./pre-inst-env'.
* tests/store.scm ("substitute query"): New test.
2013-04-03 22:44:39 +02:00
Ludovic Courtès cf53ecf514 gnu: bigloo: Add dependencies on Avahi and libphidget.
* gnu/packages/scheme.scm (bigloo): Add Avahi and libphidget as inputs,
  and pkg-config as a native input.
2013-04-03 14:58:49 +02:00
Andreas Enge 8dc5d0cf7e gnu: xorg: Re-enable tests for xorg-server.
* gnu/packages/xorg.scm (xorg-server): Re-enable (failing) tests.
2013-04-02 12:47:39 +02:00
Ludovic Courtès adb5f46940 gnu: Add libphidget.
* gnu/packages/libphidget.scm: New file.
* Makefile.am (MODULES): Add it.
2013-04-02 10:59:27 +02:00
Ludovic Courtès 2c6ab6ccd4 store: Add `store-path-hash-part'.
* guix/store.scm (store-path-hash-part): New procedure.
* tests/store.scm ("store-path-hash-part", "store-path-hash-part #f"):
  New tests.
2013-04-01 17:35:27 +02:00
Ludovic Courtès ef8c03407d gnu-maintenance: Adjust `http-fetch' to the various Guile versions.
* guix/gnu-maintenance.scm (http-fetch): Try #:streaming? #t, or
  'http-get*', or 'http-get' as a last resort.  Check whether DATA is
  #f, a string, or an input port.
2013-04-01 00:41:55 +02:00
Andreas Enge c7f9993146 gnu: xorg: Remove inputs already available through propagation.
* gnu/packages/xorg.scm: Remove inputs that are available through propagation.
2013-03-31 21:16:50 +02:00
Andreas Enge 14ecc0effc gnu: Add xpdf.
* gnu/packages/pdf.scm (xpdf): New variable.
* gnu/packages/patches/xpdf-constchar.patch: New file.
* Makefile.am (dist_patch_DATA): Add it.
2013-03-31 17:27:37 +02:00
Andreas Enge 141ccae8a7 gnu: lesstif: Make package usable by adding propagated input.
* gnu/packages/lesstif.scm (lesstif): Add propagated input printproto;
     include/Xm/Print.h from lesstif includes X11/extensions/Print.h from
     printproto.
2013-03-31 14:58:01 +02:00
Andreas Enge 0a92b5b30a gnu: freetype: Make include file ft2build.h work without changing the CPATH
of dependent packages.

* gnu/packages/fontutils.scm (freetype): Add link include/freetype to
     include/freetype2/freetype.
2013-03-31 14:50:10 +02:00
Andreas Enge bd8c5d5b02 gnu: xorg: Add libxp and printproto, not included in X11R7.7.
* gnu/packages/xorg.scm (libxp, printproto): New variables.
2013-03-31 14:33:33 +02:00
Ludovic Courtès fdfd3d5d9c pull: Switch to the cgit URL.
* guix/scripts/pull.scm (%snapshot-url): Switch to the cgit URL, given
  that the Hydra one is not currently available.
2013-03-31 12:46:28 +02:00
Ludovic Courtès 3ee5a7d86a gnu: perl-xml-parser: Fix URL.
* gnu/packages/xml.scm (perl-xml-parser): Fix URL.
2013-03-31 12:39:25 +02:00
Ludovic Courtès 9be8d7c8cb gnu: Define `native-search-paths' for Automake, Guile, and Python.
* gnu/packages/autotools.scm (automake)[native-search-paths]: New field.
* gnu/packages/guile.scm (guile-1.8)[native-search-paths]: New field.
  (guile-2.0)[native-search-paths]: New field.
* gnu/packages/python.scm (python)[native-search-paths]: New field.
2013-03-30 22:57:05 +01:00
Ludovic Courtès a18eda2747 packages: Add `native-search-paths' field and honor it.
* guix/packages.scm (<search-path-specification>): New record type.
  (search-path-specification->sexp): New procedure.
  (<package>)[native-search-paths]: New field.
  (package-derivation): Accumulate the search paths, and pass them
  as #:search-paths toe BUILDER.
* guix/build-system/gnu.scm (gnu-build): Add #:search-paths.  Compute
  `implicit-search-paths'.  Pass #:search-paths in BUILDER.
* guix/build-system/perl.scm (perl-build): Add #:search-paths, pass it
  to BUILDER with the search paths of PERL.
* guix/build-system/cmake.scm (cmake-build): Add #:search-paths, pass it
  to BUILDER.
* guix/build-system/trivial.scm (trivial-build): Add #:search-paths,
  ignore it.
* guix/build/gnu-build-system.scm (set-paths): Add #:search-paths.
  Remove explicit settings of CPATH, LIBRARY_PATH, and PKG_CONFIG_PATH.
  Instead, walk SEARCH-PATHS and call `set-path-environment-variable'
  for them.
* guix/build/perl-build-system.scm (perl-build): Remove PERL5LIB setting.
* tests/packages.scm ("search paths"): New test.
* gnu/packages/bootstrap.scm (%bootstrap-guile)[raw]: Add
  #:search-paths.
  (%bootstrap-gcc): Add `native-search-paths' field.
* gnu/packages/perl.scm (perl): Likewise.
* gnu/packages/pkg-config.scm (pkg-config): Likewise.
* gnu/packages/glib.scm (intltool): Remove `arguments'.
* gnu/packages/avahi.scm (avahi): Remove #:phases.
2013-03-30 22:57:03 +01:00
Ludovic Courtès 5cfdb4bcac build: Pass the appropriate flags when building `libstore.a'.
* daemon.am (libstore_a_CFLAGS): Rename to...
  (libstore_a_CXXFLAGS): ... this.
2013-03-30 21:49:17 +01:00
Ludovic Courtès a96748bb46 build-system/gnu: Remove #:path-exclusions parameter.
* guix/build/gnu-build-system.scm (set-paths): Remove `path-exclusions'
  parameter.  Replace `relevant-input-directories' by
  `input-directories'.
* guix/build-system/gnu.scm (gnu-build): Remove `path-exclusions'
  parameter; don't pass it in BUILDER.
* guix/build-system/cmake.scm (cmake-build): Likewise.
2013-03-30 21:46:59 +01:00
Andreas Enge bc3073c8e3 gnu: xorg: Make font-adobe75dpi and font-adobe100dpi compile (not install).
* gnu/packages/xorg/scm (font-adobe75dpi, font-adobe100dpi): Add inputs
     bdftopcf, font-util and mkfontdir.
2013-03-30 10:13:23 +01:00
Andreas Enge 84419dfd25 gnu: xorg: Add mtdev and make xf86-input-synaptics compile (not install).
* gnu/packages/xorg.scm (mtdev): New variable.
* gnu/packages/xorg.scm (xf86-input-synaptics): Add inputs libx11, libxi
     and mtdev.
* gnu/packages/xorg.scm (libxi): Propagate input libxext.
2013-03-30 10:05:08 +01:00
Andreas Enge 7e2ec42b1a gnu: xorg: Disable not compiling xf86-video-geode.
* gnu/packages/xorg.scm (xf86-video-geode): Comment out since not compiling
     (assembler errors).
2013-03-30 09:42:11 +01:00
Andreas Enge 3a5d958570 gnu: xorg: Fix compilation of xorg-server.
* gnu/packages/xorg.scm (mesa): Propagate input libxxf86vm.
2013-03-30 09:19:24 +01:00
Andreas Enge 1f44111f83 gnu: xorg: Disable xf86-video-glide.
* gnu/packages/xorg.scm (xf86-video-glide): Comment variable; driver for
     obsolete graphics cards, depends on libglide, last updated in 2003,
     and which does not compile out of the box any more.
2013-03-30 09:00:25 +01:00
Andreas Enge 6706269ed4 gnu: xorg: Disable xf86-video-wsfb.
* gnu/packages/xorg.scm (xf86-video-wsfb): Comment variable, only relevant
     for the frame buffer on BSD systems.
2013-03-30 08:54:53 +01:00
Andreas Enge 47038b76b2 gnu: xorg: Make xgamma compile.
* gnu/packages/xorg.scm (libxxf86vm): Propagate inputs libxext and
     xf86vidmodeproto.
2013-03-30 08:50:39 +01:00
Andreas Enge 979bc0f49b gnu: xorg: Make xvinfo compile.
* gnu/packages/xorg.scm (libxv): Propagate input videoproto.
2013-03-30 08:43:47 +01:00
Ludovic Courtès 4928e50033 Merge branch 'master' into core-updates
Conflicts:
	Makefile.am
	gnu/packages/base.scm
2013-03-29 21:44:31 +01:00
Andreas Enge 73274a8ae7 gnu: Really add lesstif.
* Makefile.am (MODULES): Commit the module addition.
2013-03-29 10:51:41 +01:00
Andreas Enge 13f5ea6f46 gnu: Add lesstif.
* gnu/packages/lesstif.scm: New file.
* Makefile.am (MODULES): Add it.
2013-03-29 10:49:30 +01:00
Ludovic Courtès 3f5a932eea snix: Adjust import to current Nixpkgs input attribute names.
* guix/snix.scm (snix-derivation->guix-package): Use the new names
  `nativeBuildInputs' and `propagatedNativeBuildInputs'.
2013-03-29 00:16:58 +01:00
Andreas Enge 917748dd6d gnu: xorg: Make most xserver related packages compile.
* gnu/packages/xorg.scm (xf86-*): Add input xorg-server.
* gnu/packages/xorg.scm (xf86-video-glint, xf86-video-neomagic,
     xf86-video-tga, xf86-video-trident, xf86-video-voodoo):
     Add input xf86dgaproto.
* gnu/packages/xorg.scm (xf86-video-ati, xf86-video-mach64,
     xf86-video-mga, xf86-video-r128, xf86-video-savage, xf86-video-tdfx):
     Add inputs mesa and xf86driproto.
* gnu/packages/xorg.scm (xf86-video-i128): Add inputs libdrm and libx11.
* gnu/packages/xorg.scm (xf86-video-openchrome): Add inputs libx11, libxext,
     libxvmc, mesa and xf86driproto.
* gnu/packages/xorg.scm (xf86-video-siliconmotion): Add inputs mesa,
     xf86dgaproto and xf86driproto.
* gnu/packages/xorg.scm (xf86-video-vmware): Add inputs libx11 and libxext.
* gnu/packages/xorg.scm (libxvmc): Propagate input libxv.
* gnu/packages/xorg.scm (mesa): Propagate input glproto.
* gnu/packages/xorg.scm (xf86-video-geode): Correct source hash.
2013-03-28 23:54:58 +01:00
Nikita Karetnikov f9bbf2a819 gnu-maintenance: Improve 'official-gnu-packages'; add related procedures.
* guix/gnu-maintenance.scm (http-fetch): Return an input port.
  (<gnu-package-descriptor>): Add it.
  (official-gnu-packages): Use <gnu-package-descriptor>.
  (find-packages): Add it.
  (gnu-package?): Adjust accordingly.
2013-03-28 22:00:10 +00:00
Cyril Roelandt c6bded8a29 Add (guix build-system cmake).
* guix/build/cmake-build-system.scm, guix/build-system/cmake.scm: New files.
* Makefile.am (MODULES): Add them.
2013-03-28 21:04:54 +01:00
Ludovic Courtès bb90ad83b1 build: Set %fresh-auto-compile' in hydra.scm'.
* hydra.scm: Set `%fresh-auto-compile' to #t.
2013-03-28 00:14:38 +01:00
Ludovic Courtès c415f14538 gnu: make-bootstrap: Import (gnu packages gcc).
* gnu/packages/make-bootstrap.scm: Import (gnu packages gcc).
2013-03-27 23:47:54 +01:00
Ludovic Courtès c9f94132ca download: Remove unreliable GNU mirror.
* guix/download.scm (%mirrors)[gnu]: Remove ftp.chg.ru.
2013-03-27 15:50:18 +01:00
Ludovic Courtès 5c126b645e gnu: Add libelf.
* gnu/packages/gcc.scm (libelf): New variable.
2013-03-27 15:47:48 +01:00
Ludovic Courtès 832abc7687 gnu: Add ISL and CLooG.
* gnu/packages/gcc.scm (%gcc-infrastructure, isl, cloog): New variables.
2013-03-27 15:37:27 +01:00
Ludovic Courtès e9c0b9446b gnu: Move GCC to its own module.
* gnu/packages/base.scm (gcc-4.7): Move to...
* gnu/packages/gcc.scm: ... here.  New file.
* Makefile.am (MODULES): Add it.
2013-03-27 15:13:25 +01:00
Ludovic Courtès 785db4d877 glib: Patch around prlimit(2) failure.
* gnu/packages/glib.scm (glib)[source]: Switch to mirror://gnome.
  [inputs]: Add `patch/tests-prlimit'.
  [arguments]: Add it.
* gnu/packages/patches/glib-tests-prlimit.patch: New file.
* Makefile.am (dist_patch_DATA): Add it.
2013-03-27 15:01:30 +01:00
Ludovic Courtès 0b5aa854a0 build: `hydra.scm' changes %load-path to refer to itself.
* hydra.scm: Add `eval-when' clause.
2013-03-27 00:24:54 +01:00
Ludovic Courtès da0a26d2a7 Update `TODO'. 2013-03-27 00:11:57 +01:00
Ludovic Courtès 7bf569186c gnu: Add GNU cflow.
* gnu/packages/cflow.scm: New file.
* Makefile.am (MODULES): Add it.
2013-03-26 22:43:41 +01:00
Ludovic Courtès 47a9cb950a gnu: Add GNU cppi.
* gnu/packages/cppi.scm: New file.
* Makefile.am (MODULES): Add it.
2013-03-26 22:32:18 +01:00
Cyril Roelandt a25fe6d620 gnu: add dependencies to poppler.
Add libpng and zlib to the inputs.
2013-03-24 20:23:15 +01:00
Ludovic Courtès 128663e4c8 store: Really disable file name canonicalization for derivation inputs.
* guix/store.scm (write-contents)[call-with-binary-input-file]: Set
  %FILE-PORT-NAME-CANONICALIZATION to #f.
* gnu/packages.scm (search-patch, search-bootstrap-binary): Leave
  %FILE-PORT-NAME-CANONICALIZATION unchanged.  This reverts 9776ebb.
2013-03-22 23:15:34 +01:00
Ludovic Courtès 238f739777 store: Use `sendfile' when available.
* guix/store.scm (write-contents)[call-with-binary-input-file]: New
  procedure.
  Use `sendfile' instead of `dump' when available.  Add `size'
  parameter.
  (write-file): Update caller.
2013-03-22 23:15:34 +01:00
Andreas Enge 14a3a67364 gnu: Update mpfr to 3.1.2.
* gnu/packages/multiprecision.scm (mpfr): Update to 3.1.2.
2013-03-22 13:04:41 +01:00
Cyril Roelandt b6a64843c6 gnu: Add cmake.
* gnu/packages/cmake.scm: New file.
* gnu/packages/patches/cmake-fix-tests.patch: New file.
* Makefile.am: Add them.
2013-03-21 19:53:29 +01:00
Ludovic Courtès 9776ebb2a5 gnu: Disable file name canonicalization in `search-*'.
* gnu/packages.scm (search-patch, search-bootstrap-binary): Make sure no
  canonicalization occurs.  This reduces the number of 'stat' system
  calls.
2013-03-21 00:32:26 +01:00
Cyril Roelandt 712e6e684c gnu: Add lua.
* gnu/packages/lua.scm: New file.
* Makefile.am: add it.
2013-03-19 23:27:04 +01:00
Ludovic Courtès 84a3e3b776 gnu: libgcrypt: Upgrade to 1.5.1.
* gnu/packages/gnupg.scm (libgcrypt): Upgrade to 1.5.1.
2013-03-19 17:54:00 +01:00
Ludovic Courtès 881a4cf13a Work around <http://bugs.gnu.org/13095> in build-aux/download.scm.
* build-aux/download.scm: Annihilate `shutdown' in (web client).
  Reported by Aljosha Papsch.
2013-03-19 16:57:46 +01:00
Ludovic Courtès ce41a4629c release.nix: Hack to unchroot more stuff.
* release.nix (unchrootedNixpkgs): New function.
  (jobs)[tarball, build, build_disable_daemon, distro): Use it.
  Should fix <http://hydra.gnu.org:3000/build/7279>.
2013-03-18 23:17:28 +01:00
Ludovic Courtès 9c3ac1b641 release.nix: Adjust to current Nixpkgs.
* release.nix: s/buildNativeInputs/nativeBuildInputs/.
2013-03-18 23:09:35 +01:00
Ludovic Courtès a4f08f9258 guix package: Report packages to be removed/installed.
* guix/scripts/package.scm (guix-package)[process-actions](show-what-to-remove/install):
  New procedure.
  Call it before `show-what-to-build'.
2013-03-18 23:04:07 +01:00
Andreas Enge d539646af4 gnu: xorg: Enable xdriinfo.
* gnu/packages/xorg.scm (xdriinfo): Enable input mesa.
2013-03-17 19:02:56 +01:00
Andreas Enge b04ac5a1e2 gnu: xorg: Arrange more inputs for x server related packages.
* gnu/packages/xorg.scm (xf86-input-evdev): Add input xorg-server.
* gnu/packages/xorg.scm (xorg-server): Propagate inputs and add normal and
     propagated inputs.
2013-03-17 18:59:21 +01:00
Andreas Enge c0589f7591 gnu: Add X.org as input to Texlive.
* gnu/packages/texlive.scm (texlive): Add x.org inputs.
2013-03-17 00:57:02 +01:00
Andreas Enge 71f4b81aa5 gnu: Add openconnect.
* gnu/packages/vpn.scm (openconnect): New variable.
2013-03-16 22:36:13 +01:00
Ludovic Courtès 0bb1aa9e05 derivations: Optimize `build-expression->derivation'.
This reduces the execution time of
"guix build -e '(@ (gnu packages emacs) emacs)' -d" by 6%, from
1.15s to 1.08s.

* guix/derivations.scm (build-expression->derivation): Write the builder
  as UTF-8.
2013-03-16 17:23:17 +01:00
Ludovic Courtès d80855999a derivations: Optimize `write-derivation'.
This reduces the execution time of
"guix build -e '(@ (gnu packages emacs) emacs)' -d" by 25%, from
1.54 s. to 1.15s.

* guix/derivations.scm (write-sequence, write-list, write-tuple): New
  procedures.
  (write-derivation)[list->string, write-list]: Remove.
  [write-string-list, write-output, write-input, write-env-var]: New helpers.
  Rewrite in terms of these new helpers.
2013-03-16 16:48:22 +01:00
Ludovic Courtès 993fb66dd2 guix package: Gracefully handle `official-gnu-packages' failure.
* guix/gnu-maintenance.scm (http-fetch): Error out when DATA is #f.
* guix/scripts/package.scm (check-package-freshness): Wrap
  `gnu-package?' call in `false-if-exception'.
  Reported by Cyril Roelandt <tipecaml@gmail.com>.
2013-03-16 00:59:19 +01:00
Andreas Enge 5ee12e217c gnu: xorg: Change download location for xcb related packages.
* gnu/packages/xorg.sm (libpthread-stubs, libxcb, xcb-proto): Replace broken
     xorg mirrors by url of the xcb project.
2013-03-15 20:52:48 +01:00
Ludovic Courtès 847e7725e9 gnu: coreutils, sed: Update.
* gnu/packages/base.scm (sed): Update to 4.2.2.
  (coreutils): Update to 8.21.
2013-03-15 18:38:47 +01:00
Ludovic Courtès 444c64b04e gnu: binutils: Update to 2.23.1.
* gnu/packages/base.scm (binutils): Update to 2.23.1.  Add
  `--disable-werror'.
  (binutils-boot0): Augment BINUTILS's configure flags.
2013-03-15 18:38:34 +01:00
Ludovic Courtès 3be9f724f5 gnu: emacs: Update to 24.3.
* gnu/packages/emacs.scm (emacs): Update to 24.3.  Use the .xz tarball.
* gnu/packages/patches/emacs-configure-sh.patch: Adjust.
2013-03-14 17:47:26 +01:00
Ludovic Courtès b5c56e628f gnu: texinfo: Update to 5.1.
* gnu/packages/texinfo.scm (texinfo): Update to 5.1.
2013-03-14 17:32:25 +01:00
Andreas Enge e45a608245 gnu: xorg: Add xeyes (for testing purposes).
* gnu/packages/xorg.scm (xeyes): New variable.
2013-03-10 13:42:40 +01:00
Andreas Enge 08dccdfd12 gnu: xorg: Make xorg-server compilable (tests still fail).
* gnu/packages/xorg.scm (mesa): Propagate inputs libdrm and libxdamage.
* gnu/packages/xorg.scm (xorg-server): Add input videoproto.
2013-03-10 13:31:03 +01:00
Andreas Enge 42ed9985b1 gnu: xorg: Make xkeyboard-config compile.
* gnu/packages/xorg.scm (xkeyboard-config): Add inputs gettext, intltool,
     perl-xml-parser.
2013-03-10 13:00:57 +01:00
Andreas Enge 2b8c5f547a gnu: Add intltool.
* gnu/packages/xml.scm (intltool): New variable.
* gnu/packages/xml.scm (perl-xml-parser): Fix download location.
2013-03-10 12:57:32 +01:00
Andreas Enge 68a3d0e8cd gnu: xorg: Add old versions of mesa and libdrm.
* gnu/packages/xorg.scm (mesa): New variable, only version 8.0.5 compiles.
* gnu/packages/xorg.scm (libdrm-2.4.33): New variable, required by mesa 8.0.5.
2013-03-09 22:29:49 +01:00
Andreas Enge 6f52fb63ae gnu: xorg: Propagate input.
* gnu/packages/xorg.scm (libxdamage): Propagate input damageproto.
2013-03-09 00:18:34 +01:00
Andreas Enge 11e3f10788 gnu: libxslt: Add zlib and libxml2 python module to inputs.
* gnu/packages/xml.scm (libxslt): Add input zlib and add libxml2 to PYTHONPATH.
2013-03-08 23:03:07 +01:00
Andreas Enge 322cbda7c5 gnu: libxml2: Add python support.
* gnu/packages/xml.scm (libxml2): Compile and install python module.
2013-03-08 22:47:01 +01:00
Ludovic Courtès ef86c39f27 ui: Gracefully report failures to connect to the daemon.
* guix/store.scm (&nix-connection-error): New condition type.
  (open-connection): Translate `system-error' during the `connect' call
  into `&nix-connection-error'.
* guix/ui.scm (call-with-error-handling): Add case for `nix-connection-error?'.
* guix/scripts/package.scm (guix-package): Move `open-connection' call
  within `with-error-handling'.
* guix/scripts/pull.scm (guix-pull): Likewise.
* guix/scripts/download.scm (guix-download): Move body within
  `with-error-handling'.
2013-03-07 19:44:14 +01:00
Nikita Karetnikov 30db6af1de utils: Add 'wrap-program'.
* guix/build/utils.scm (wrap-program): New procedure.
2013-03-07 00:46:23 +01:00
Ludovic Courtès 1fb78cb2c3 packages: Remove the default value for `license'.
* guix/packages.scm (<package>): Remove the default value for `license'.
* gnu/packages/bootstrap.scm (package-from-tarball,
  %bootstrap-glibc, %bootstrap-gcc): Initialize `license'.
* tests/packages.scm (dummy-package): Likewise.
2013-03-07 00:42:18 +01:00
Ludovic Courtès 6ba9dd813d Revert "utils: Add 'wrap-program'."
This reverts commit 02065130de.
2013-03-07 00:36:14 +01:00
Andreas Enge f8d3c99ba1 gnu: xorg: Add libdrm.
* gnu/packages/xorg.scm (libdrm): New variable.
2013-03-06 23:20:34 +01:00
Andreas Enge 5acf2910b8 gnu: xorg: Add pixman.
* gnu/packages/xorg.scm (pixman): New variable.
* gnu/packages/xorg.scm (xorg-server): Enable input pixman.
2013-03-06 22:40:03 +01:00
Andreas Enge d92083ad99 gnu: xorg: Comment applewmproto and libapplewm, compile only on macos.
* gnu/packages/xorg.scm (applewmproto,libapplewm): Remove variables.
2013-03-06 22:24:08 +01:00
Andreas Enge 6eb126c5f2 gnu: xorg: Add inputs and propagated-inputs, propagate some inputs.
Rename two packages to avoid clashes between package names and versions.

* gnu/packages/xorg.scm (font-adobe-100dpi): Rename to font-adobe100dpi.
* gnu/packages/xorg.scm (font-adobe-75dpi): Rename to font-adobe75dpi.
* gnu/packages/xorg.scm: Add pkg-xonfig as input to several packages.
* gnu/packages/xorg.scm (encodings): Add input mkfontscale.
* gnu/packages/xorg.scm (libx11): Add inputs inputprotoi, xextproto, xtrans.
* gnu/packages/xorg.scm (libxpm): Add input gettext.
* gnu/packages/xorg.scm (libxxf86dga): Add inputs libx11, libxext, xf86dgaproto.
* gnu/packages/xorg.scm (libxxf86vm): Add inputs libx11i, libxext, xf86vidmodeproto.
* gnu/packages/xorg.scm (x11perf): Add inputs libx11i, libxfti, libxmu, libxrender.
* gnu/packages/xorg.scm (xcursor-themes): Add input xcursorgen.
* gnu/packages/xorg.scm (xdpyinfo): Add input inputproto.
* gnu/packages/xorg.scm (font-xfree86-type1): Add input mkfontdir.
* gnu/packages/xorg.scm (libx11): Add propagated inputs kbproto, libxcb.
* gnu/packages/xorg.scm (mkfontdir): Add propagated input mkfontscale.
* gnu/packages/xorg.scm (fixesproto): Propagate input xextproto.
* gnu/packages/xorg.scm (libice): Propagate input xproto.
* gnu/packages/xorg.scm (libxau): Propagate input xproto.
* gnu/packages/xorg.scm (libxaw): Propagate inputs libxext, libxmu, libxpm.
* gnu/packages/xorg.scm (libxcb): Propagate inputs libpthread-stubs, libxaui, libxdmcp.
* gnu/packages/xorg.scm (libxcursor): Propagate inputs libx11, libxfixes, libxrender, xproto.
* gnu/packages/xorg.scm (libxext): Propagate input xextproto.
* gnu/packages/xorg.scm (libxfixes): Propagate input fixesproto.
* gnu/packages/xorg.scm (libxfont): Propagate inputs fontsproto, freetype, libfontenc, xproto.
* gnu/packages/xorg.scm (libxinerama): Propagate input xineramaproto.
* gnu/packages/xorg.scm (libxrandr): Propagate inputs libxext, randrproto.
* gnu/packages/xorg.scm (libxrender): Propagate input renderproto.
* gnu/packages/xorg.scm (libxt): Propagate inputs libx11, libice, libsm.
* gnu/packages/xorg.scm (libxtst): Propagate input recordproto.
* gnu/packages/xorg.scm (xbacklight): Propagate inputs libx11, libxrandr.
* gnu/packages/xorg.scm (xkeyboard-config): Propagate inputs libx11, xkbcomp.
* gnu/packages/xorg.scm (xproto): Propagate input util-macros.
2013-03-06 22:08:52 +01:00
Nikita Karetnikov 02065130de utils: Add 'wrap-program'.
* guix/build/utils.scm (wrap-program): New procedure.
2013-03-06 21:03:26 +00:00
Nikita Karetnikov 563e8b3920 gnu: Add GNU Fdisk.
* gnu/packages/fdisk.scm: New file.
* Makefile.am (MODULES): Add it.
2013-03-06 20:58:48 +00:00
Nikita Karetnikov bd5ecea637 gnu: Add w3m.
* gnu/packages/w3m.scm,
  gnu/packages/patches/w3m-fix-compile.patch: New files.
* Makefile.am (MODULES): Add 'w3m.scm'.
  (dist_patch_DATA): Add 'w3m-fix-compile.patch'.
2013-03-06 20:52:04 +00:00
Nikita Karetnikov bbd60260dd licenses: Add 'x11-style'.
* guix/licenses.scm (x11-style): New variable.
2013-03-06 20:40:11 +00:00
Andreas Enge 48ebc134f4 gnu: xorg: Correct typo in download location.
* gnu/packages/xorg.scm (xf86-video-glide): Correct typo.
2013-03-06 14:38:42 +01:00
Andreas Enge 9d12d38f38 gnu: xorg: Uncomment dependencies on libxcb.
* gnu/packages/xorg.scm (xbacklight, xdpyinfo, xlsatoms, xlsclients,
     xwininfo): Uncomment dependency on libxcb.
2013-03-06 13:28:01 +01:00
Andreas Enge 5223c82627 gnu: xorg: Add home-page, synopsis and description.
* gnu/packages/xorg.scm: Add home-page and (generic) synopsis and description.
2013-03-06 13:28:01 +01:00
Andreas Enge 0820a58b3c gnu: xorg: Fix http mirror and uncomment xcb packages.
* guix/download.scm (%mirrors): Fix main http mirror address.
* gnu/packages/xorg.scm (libpthread-stubs, libxcb, xcb-proto): Uncomment
     and add licenses.
2013-03-06 13:28:01 +01:00
Andreas Enge dd85efda47 gnu: xorg: Downgrade package versions to those present in X11R7.7
* gnu/packages/xorg.scm (dri2proto, libxcb, libxrandr, randrproto,
     xbacklight, xcb-proto, xorg-server):
     Use the versions present in X11R7.7.
2013-03-06 13:28:01 +01:00
Andreas Enge d385b8355d gnu: xorg: Add licenses.
Comment out packages with non-free license, without license, or
   not available on the ftp servers.
   Remove package not present in the distribution.

* gnu/packages/xorg.scm (*): Add licenses.
* gnu/packages/xorg.scm (libxp): Remove variable of package that is not
     present in the R7.7 distribution.
* gnu/packages/xorg.scm (libpthread, libxcb): Comment out variables, which
     are referenced, but not present on the ftp servers.
* gnu/packages/xorg.scm (font-adobe-utopia-100dpi, font-adobe-utopia-75dpi,
     font-adobe-utopia-type1, font-bh-100dpi, font-bh-75dpi,
     font-bh-lucidatypewriter-100dpi, font-bh-lucidatypewriter-75dpi,
     font-bh-type1, font-bitstream-100dpi, font-bitstream-75dpi,
     font-daewoo-misc, font-ibm-type1, font-jis-misc, font-misc-meltho,
     xf86-video-dummy):
     Comment out variables, packages have non-free licenses.
* gnu/packages/xorg.scm (font-cursor-misc, xf86-video-v4l, xorg-docs):
     Comment out variables, packages have no license.
2013-03-06 13:28:00 +01:00
Andreas Enge b49317cac3 gnu: xorg: Add missing hashes.
* gnu/packages/xorg.scm: Add hashes to all packages.
2013-03-06 13:28:00 +01:00
Andreas Enge 88ee93f917 gnu: xorg: Transform propagated into normal inputs.
* gnu/packages/xorg.scm: Transform propagated into normal inputs;
     allows to keep packages in alphabetical order.
2013-03-06 13:28:00 +01:00
Andreas Enge 5f1d0fb085 gnu: xorg: Add and remove packages to mirror X11R7.7/src/everything
* gnu/packages/xorg.scm: Remove packages not from
     ftp://ftp.freedesktop.org/pub/xorg/X11R7.7/src/everything/ .
     Add missing packages, for the time being with a 0 hash and
     without dependencies.
     Correct spelling (all lower case for package names).
2013-03-06 13:28:00 +01:00
Andreas Enge 9aea24b608 gnu: xorg: Initial import from nix.
* gnu/packages/xorg.scm: New module.
* Makefile.am: Add it.
2013-03-06 13:28:00 +01:00
Ludovic Courtès 6a917ef7e6 gnu-maintenance: Clarify `releases'.
* guix/gnu-maintenance.scm (releases): Change to use `match' and
  `match-lambda'.  Add `release-file' auxiliary function.
2013-03-05 22:31:19 +01:00
Ludovic Courtès 296540a6db gnu-maintenance: Fix gnu-package?' for packages lacking a source'.
* guix/gnu-maintenance.scm (gnu-package?): Support PACKAGE when its
  source is #f.
2013-03-05 22:25:40 +01:00
Ludovic Courtès 19777ae6ea guix package: Recover from freshness check transient errors.
* guix/scripts/package.scm (check-package-freshness): Ignore
  `getaddrinfo-error' and `ftp-error' exceptions.
2013-03-05 22:24:19 +01:00
Ludovic Courtès ef010c0f3d guix package: Inform about new upstream versions of GNU packages.
* guix/gnu-maintenance.scm (gnu-package?): New procedure.
* guix/scripts/package.scm (waiting): New macro.
  (check-package-freshness): New procedure.
  (guix-package)[process-actions]: Use it.
* doc/guix.texi (Invoking guix package): Mention the feature.
2013-03-05 20:35:47 +01:00
Ludovic Courtès c50cbfd61a gnu: Add Avahi.
* gnu/packages/avahi.scm: New file.
* Makefile.am (MODULES): Add it.
2013-03-05 20:26:24 +01:00
Ludovic Courtès ea7127b9b7 gnu: Update GnuTLS to 3.1.9.1.
* gnu/packages/gnutls.scm (gnutls): Update to 3.1.9.1.
2013-03-05 19:09:53 +01:00
Ludovic Courtès 71eb5c1067 gnu: Add intltool.
* guix/download.scm (%mirrors): Add `gnome' mirrors.
* gnu/packages/glib.scm (intltool): New variable.
2013-03-05 19:09:53 +01:00
Ludovic Courtès b16c5a5857 Update TODO. 2013-03-05 19:09:04 +01:00
Ludovic Courtès 12761f48ea utils: Add a #:follow-symlinks? parameter to `copy-recursively'.
* guix/build/utils.scm (copy-recursively): Turn `log' into a keyword
  parameter.  Add the `follow-symlinks?' parameter and honor it.
2013-03-05 19:03:39 +01:00
Ludovic Courtès e65df6a63a utils: Add `delete-file-recursively'.
* guix/build/utils.scm (delete-file-recursively): New procedure.
2013-03-05 18:53:53 +01:00
Ludovic Courtès 7f614e49e8 gnu: glibc: Install locale data.
* gnu/packages/base.scm (glibc): Add `outputs' field.  Pass
  `--localedir' and set `libc_cv_localedir'.  Add `install-locales'
  phase.
2013-03-05 18:38:05 +01:00
Andreas Enge 938081b9ce gnu: Add lsof.
* gnu/packages/lsof.scm: New file.
* Makefile.am (MODULES): Add it.
2013-03-05 00:14:44 +01:00
Ludovic Courtès 81eec00cb2 Merge branch 'master' into core-updates
Conflicts:
	Makefile.am
	guix/scripts/gc.scm
	guix/scripts/package.scm
	guix/ui.scm
	tests/guix-package.sh
2013-03-04 23:27:24 +01:00
Andreas Enge 8689a1908a guix: build: Add "share/pkgconfig" to PKG_CONFIG_PATH, as used by xorg.
* guix/build/gnu-build-system.scm (set-paths): Add "share/pkgconfig"
     to PKG_CONFIG_PATH.
2013-03-04 10:14:34 +01:00
Ludovic Courtès 2a1e82bb5c gnu: Add Perl XML::Parser.
* gnu/packages/xml.scm (perl-xml-parser): New variable.
2013-03-04 00:48:00 +01:00
Ludovic Courtès 08fd1ebefd Add (guix build-system perl).
* guix/build-system/perl.scm, guix/build/perl-build-system.scm: New files.
* Makefile.am (MODULES): Add them.
* guix/build-system/gnu.scm (standard-inputs): Make public.
2013-03-04 00:48:00 +01:00
Ludovic Courtès 6af3101999 download: Add CPAN mirrors.
* guix/download.scm (%mirrors)[cpan]: New URLs.
2013-03-04 00:48:00 +01:00
Andreas Enge 49f24f41e3 gnu: Add vpnc.
* gnu/packages/vpn.scm: New file.
* Makefile.am (MODULES): Add it.
* gnu/packages/patches/vpnc-script.patch: New file.
* Makefile.am (dist_patch_DATA): Add it.
2013-03-03 14:12:57 +01:00
Ludovic Courtès d688a2f0fd release.nix: Reduce the number of dependencies.
* release.nix (tarball): Use a minimal Git.
2013-03-02 22:56:30 +01:00
Ludovic Courtès 4cdbdd4439 gnu: Add libdaemon.
* gnu/packages/libdaemon.scm: New file.
* Makefile.am (MODULES): Add it.
2013-03-02 17:00:33 +01:00
Ludovic Courtès c86929e403 release.nix: Unchroot recursively.
* release.nix (unchroot): Operate recursively on build inputs.
2013-03-02 15:25:04 +01:00
Ludovic Courtès 11a7ceb9e8 release.nix: Build outside of a chroot.
* release.nix (unchroot): New function.
  (jobs)[tarball, build, build_disable_daemon]: Use it.
2013-03-02 15:14:22 +01:00
Ludovic Courtès eb0880e71d ui: Factorize `read/eval-package-expression'.
* guix/scripts/package.scm (read/eval-package-expression): Move to...
* guix/ui.scm (read/eval-package-expression): ... here.
* guix/scripts/build.scm (derivations-from-package-expressions): Use it.
2013-03-01 21:55:42 +01:00
Ludovic Courtès 5d4b411f8a guix package: Add `--install-from-expression'.
* guix/scripts/package.scm (read/eval-package-expression): New
  procedure.
  (show-help): Add `-e'.
  (%options): Likewise.
  (guix-package)[process-actions]: Handle ('install . p) pairs, where P
  is a package.
* tests/guix-package.sh: Add `boot_make_drv'.  Use `-i $boot_make_drv'
  once, and then use `-e $boot_make'.
* doc/guix.texi (Invoking guix package): Document `-e'.
2013-03-01 21:54:56 +01:00
Ludovic Courtès 431a35518f gnu: global: Update to 6.2.8.
* gnu/packages/global.scm (global): Update to 6.2.8.
2013-03-01 18:34:33 +01:00
Ludovic Courtès ba8b732d20 guix gc: Add --references' and --referrers'.
* guix/scripts/gc.scm (show-help): Update.
  (%options): Add `--references' and `--referrers'.
  (guix-gc)[symlink-target, store-directory]: New procedures.
  Handle the `list-references' and `list-referrers' actions.
* tests/guix-gc.sh: Add tests for `--references'.
* doc/guix.texi (Invoking guix gc): Document `--references' and
  `--referrers'.
2013-02-27 23:16:00 +01:00
Ludovic Courtès fae31edcec store: Add queries for references & co.
* guix/store.scm (operation-id)[query-valid-derivers]: New value.
  (references, referrers, valid-derivers, query-derivation-outputs): New
  procedures.
* tests/store.scm ("references", "derivers"): New tests.
2013-02-27 22:40:35 +01:00
Ludovic Courtès 827d28914a gnu: Add cross tool chain.
* gnu/packages/cross-base.scm: New file.
* gnu/packages/patches/gcc-cross-environment-variables.patch: New file.
* Makefile.am (MODULES): Add cross-base.scm.
  (dist_patch_DATA): Add gcc-cross-environment-variables.patch.
* gnu/packages/base.scm (gcc-4.7): Use `LDFLAGS_FOR_TARGET' instead of
  `LDFLAGS_FOR_BUILD', and use `-B' instead of `-L'.
* gnu/packages/bootstrap.scm (glibc-dynamic-linker): Add case for
  "mips64el-linux".
2013-02-27 20:55:42 +01:00
Ludovic Courtès aaf4cb20ad gnu: linux: Make `system->linux-architecture' public, and add ARM.
* gnu/packages/linux.scm (system->linux-architecture): Make public.  Add
  "arm".
2013-02-27 20:55:42 +01:00
Nikita Karetnikov 618cea694d gnu: linux-libre-headers: Set 'ARCH' to 'mips'.
* gnu/packages/linux.scm (system->linux-architecture): New procedure.
  (linux-libre-headers): Adjust accordingly.
2013-02-27 20:55:42 +01:00
Nikita Karetnikov 6ec8f7778f gnu: gcc: Remove extraneous newline in 'LIB_SPEC'.
* gnu/packages/base.scm (gcc-4.7): Remove trailing newline when patching
  'LIB_SPEC'.
2013-02-27 20:55:42 +01:00
Ludovic Courtès da9bf2efc5 pull: Distinguish "already up to date" from "updated".
* guix/ui.scm (show-what-to-build): Return (length req*).
* guix/scripts/pull.scm (guix-pull): Print an "already up to date"
  message when there's nothing to build.
2013-02-27 20:55:42 +01:00
Ludovic Courtès a1c1467756 pull: Build (guix build download) first, because of the (gnutls) autoload.
* guix/scripts/pull.scm (unpack): Build (guix build download) first, as
  done in 855a8ad71d.
  Reported by Andreas Enge <andreas@enge.fr>.
2013-02-27 20:55:42 +01:00
Ludovic Courtès 00fa3d1457 guix: Make sure UPDATES-DIR is valid.
* scripts/guix.in: Make sure UPDATES-DIR is not #f.
2013-02-27 20:55:42 +01:00
Ludovic Courtès 69ce1ffc7d Add "guix pull".
* guix/scripts/pull.scm: New file.
* Makefile.am (MODULES): Add it.
* doc/guix.texi (Invoking guix pull): New node.
  (Invoking guix package): Add cross-ref to it.
* guix/ui.scm (config-directory): New procedure.
* scripts/guix.in: When `GUIX_UNINSTALLED' is undefined, add
  $XDG_CONFIG_HOME/guix/latest to the search path.
* po/POTFILES.in: Add guix/scripts/pull.scm.
2013-02-27 20:55:42 +01:00
Ludovic Courtès 7650e148f6 ui: Factorize `show-what-to-build'.
* guix/scripts/package.scm (guix-package)[show-what-to-build]: Move to..
* guix/ui.scm (show-what-to-build): ... here.  Add a `store'
  parameter'.  Adjust callers.
* guix/scripts/build.scm (guix-build): Use it.  Remove `req' and `req*'
  variables.
2013-02-27 20:55:41 +01:00
Ludovic Courtès e51035f70a build: Adjust guix.texi to Texinfo 5.0.
* doc/guix.texi: Change @title and @subtitle syntax to please Texinfo 5.0.
2013-02-27 20:55:41 +01:00
Ludovic Courtès bdeee95a21 ui: Add temporary file handling and atomic symlink switch.
* guix/scripts/download.scm (call-with-temporary-output-file): Move to
  ui.scm.
* guix/scripts/package.scm (switch-symlinks): Likewise.
* guix/ui.scm (call-with-temporary-output-file, switch-symlinks): New
  procedures.
2013-02-27 20:55:41 +01:00
Ludovic Courtès cc68ccc5b0 download: Adjust to `http-get*' deprecation.
* guix/build/download.scm (http-fetch): Adjust to use #:streaming? when
  using Guile 2.0.8+.
2013-02-27 20:55:41 +01:00
Ludovic Courtès e95da44576 derivations: Add a search path parameter for module derivations.
* guix/derivations.scm (imported-modules, compiled-modules): Add a
  `module-path' parameter.  Use it instead of %LOAD-PATH.
2013-02-27 20:55:41 +01:00
Ludovic Courtès 3c81cdf19c gnu: texinfo: Make Perl a propagated input.
* gnu/packages/texinfo.scm (texinfo): Make PERL a propagated input.
2013-02-27 20:55:41 +01:00
Ludovic Courtès a8a0aa49f9 build: Add missing -I flag for the daemon.
* daemon.am (libstore_a_CPPFLAGS): Add missing -I, for schema.sql.hh.
2013-02-27 20:55:41 +01:00
Ludovic Courtès 353283bbe9 daemon: Add `--listen'.
* nix/nix-daemon/guix-daemon.cc (GUIX_OPT_LISTEN): New macro.
  (options): Add `--listen'.
  (parse_opt): Handle it.
* doc/guix.texi (Invoking guix-daemon): Mention it.
2013-02-27 20:55:41 +01:00
Ludovic Courtès 8faece2280 Update from upstream Nix. 2013-02-27 20:55:41 +01:00
Ludovic Courtès 05c0ac721e store: Add the `%daemon-socket-file' parameter.
* guix/store.scm (%daemon-socket-file): New variable.
  (open-connection): Use it as the default value for FILE.
2013-02-27 20:55:41 +01:00
Ludovic Courtès a1143ee3fa Add Mark to `AUTHORS'. 2013-02-27 20:55:41 +01:00
Ludovic Courtès 02d94dab8d build: Build guix/scripts/download.go after guix/build/download.go.
* Makefile.am (guix/scripts/download.go): Add dependency on
  `guix/build/download.go'.
  Reported by Nikita Karetnikov <nikita@karetnikov.org>.
2013-02-27 20:55:40 +01:00
Ludovic Courtès dc3f1809cf scripts: Remove hyphen in the command name shown by `--version'.
* guix/scripts/build.scm (%options): Remove hyphen from the name passed
  to `show-version-and-exit'.
* guix/scripts/download.scm (%options): Likewise.
* guix/scripts/gc.scm (%options): Likewise.
* guix/scripts/import.scm (%options): Likewise.
* guix/scripts/package.scm (%options): Likewise.
2013-02-27 20:55:40 +01:00
Mark H Weaver ba4bcae035 gnu: guile-reader: Rename packages to avoid version number confusion.
* gnu/packages/guile.scm (guile-reader): Change the character preceding the
  guile version number from '-' to '_' so that it will not be misinterpreted
  as the package version number.
2013-02-27 20:55:40 +01:00
Mark H Weaver 396e75e37c Update `TODO'. 2013-02-27 20:55:40 +01:00
Ludovic Courtès c07512179e scripts: Remove initialization now redundant with `initialize-guix'.
* guix/scripts/build.scm (guix-build): Remove calls to `install-locale',
  `textdomain', etc., now redundant with `initialize-guix'.
* guix/scripts/download.scm (guix-download): Likewise.
* guix/scripts/import.scm (guix-import): Likewise.
* guix/scripts/package.scm (guix-package): Likewise.
* guix/ui.scm: Remove export of `install-locale' and `initialize-guix'.
  (initialize-guix): Add docstring.
2013-02-27 20:55:40 +01:00
Ludovic Courtès ed407c8055 gnu: texinfo: Update to 5.0.
* gnu/packages/texinfo.scm (texinfo): Update to 5.0.
2013-02-27 20:55:40 +01:00
Mark H Weaver 868c923f13 Replace individual scripts with master 'guix' script.
* scripts/guix.in: New script.

* Makefile.am (bin_SCRIPTS): Add 'scripts/guix'.  Remove 'guix-build',
  'guix-download', 'guix-import', 'guix-package', and 'guix-gc'.

  (MODULES): Add 'guix/scripts/build.scm', 'guix/scripts/download.scm',
  'guix/scripts/import.scm', 'guix/scripts/package.scm', and
  'guix/scripts/gc.scm'.

* configure.ac (AC_CONFIG_FILES): Add 'scripts/guix'.  Remove 'guix-build',
  'guix-download', 'guix-import', 'guix-package', and 'guix-gc'.

* guix-build.in, guix-download.in, guix-gc.in, guix-import.in,
  guix-package.in: Remove shell script boilerplate.  Move to guix-COMMAND.in
  to guix/scripts/COMMAND.scm.  Rename module from (guix-COMMAND) to
  (guix scripts COMMAND).  Change "guix-COMMAND" to "guix COMMAND" in
  usage help string.

* pre-inst-env.in: Add "@abs_top_builddir@/scripts" to the front of $PATH.
  Export $GUIX_UNINSTALLED.

* tests/guix-build.sh, tests/guix-daemon.sh, tests/guix-download.sh,
  tests/guix-gc.sh, tests/guix-package.sh: Use "guix COMMAND" instead of
  "guix-COMMAND".

* doc/guix.texi: Replace all occurrences of "guix-COMMAND" with
  "guix COMMAND".

* po/POTFILES.in: Update.
2013-02-27 20:55:40 +01:00
Ludovic Courtès d2474c2620 Add (gnu system vm).
* gnu/system/vm.scm: New file.
* Makefile.am (MODULES): Add it.
2013-02-27 20:55:40 +01:00
Ludovic Courtès 3855e242a2 gnu: Add support for Guile in Linux initrd.
* gnu/packages/linux-initrd.scm: New file.
2013-02-27 20:55:40 +01:00
Ludovic Courtès 106ca9d0c1 gnu: qemu-kvm: Add patch to have multiple SMB shares.
* gnu/packages/qemu.scm (qemu-kvm/smb-shares): New variable.
* gnu/packages/patches/qemu-multiple-smb-shares.patch: New file.
* Makefile.am (dist_patch_DATA): Add it.
2013-02-27 20:55:40 +01:00
Ludovic Courtès 5f7c5a97ba packages: Add `package-output'.
* guix/packages.scm (package-output): New procedure.
* tests/packages.scm ("package-output"): New test.
2013-02-27 20:55:39 +01:00
Ludovic Courtès 99d90fc102 gnu: guile-static: Change `name' field.
* gnu/packages/make-bootstrap.scm (%guile-static): Add `name' field with
  `-static' suffix.
2013-02-27 20:55:39 +01:00
Ludovic Courtès 9322c6822f gnu: guile-static: Add bindings for `reboot'.
* gnu/packages/patches/guile-linux-syscalls.patch: Add `scm_reboot'.
2013-02-27 20:55:39 +01:00
Ludovic Courtès e7d2c60809 gnu: qemu: Add dependency on Samba.
* gnu/packages/qemu.scm (qemu-kvm): Add dependency on Samba; pass
  `--smbd' to ./configure.
2013-02-27 20:55:39 +01:00
Ludovic Courtès b7e9ee3327 gnu: samba: Augment the RUNPATH of executables to point to $out/lib.
* gnu/packages/samba.scm (samba): Add `add-lib-to-runpath' phase, and
  PatchELF as an input.
2013-02-27 20:55:39 +01:00
Nikita Karetnikov 52e6e2461f gnu: Add GNU Parted.
* gnu/packages/parted.scm: New file.
* Makefile.am (MODULES): Add it.
2013-02-27 20:55:39 +01:00
Ludovic Courtès e70a28b87e gnu: guile-static: Add bindings for low-level Linux syscalls.
* gnu/packages/make-bootstrap.scm (%guile-static): Add
  `guile-linux-syscalls.patch' as an input, and use it.
* gnu/packages/patches/guile-linux-syscalls.patch: New file.
* Makefile.am (dist_patch_DATA): Add it.
2013-02-27 20:55:39 +01:00
Ludovic Courtès 2e48455d27 gnu: linux-libre: Choose a config without debugging features.
* gnu/packages/linux.scm (linux-libre): Choose "defconfig" instead of
  "allmodconfig" since the latter enables all debugging features.  Add
  `CONFIG_CIFS=m'.
2013-02-27 20:55:39 +01:00
Cyril Roelandt f9c3648329 gnu: Add vim.
* gnu/packages/vim.scm: New file.
* Makefile.am (MODULES): Add it.
2013-02-27 20:55:39 +01:00
Mark H Weaver 854d627779 Build newest versions unless specified, and implement upgrades.
* gnu/packages.scm (find-newest-available-packages):
  New exported procedure.

* guix-build.in (newest-available-packages, find-best-packages-by-name):
  New procedures.
  (find-package): Use find-best-packages-by-name, to guarantee that
  if a version number is not specified, only the newest versions will
  be considered.

* guix-package.in (%options): Add --upgrade/-u option.
  (newest-available-packages, find-best-packages-by-name, upgradeable?):
  New procedures.
  (find-package): Use find-best-packages-by-name, to guarantee that
  if a version number is not specified, only the newest versions will
  be considered.
  (process-actions): Implement upgrade option.

* doc/guix.texi (Invoking guix-package): In the description of --install,
  mention that if no version number is specified, the newest available
  version will be selected.
2013-02-27 20:55:39 +01:00
Mark H Weaver 9ede36f0ed Inhibit duplicates in fold-packages.
* gnu/packages.scm (fold2): New procedure.
  (fold-packages): Rework to suppress duplicates.
2013-02-27 20:55:38 +01:00
Ludovic Courtès 790b8e0ebe build-system/gnu: Make the strip behavior of `static-package' configurable.
* guix/build-system/gnu.scm (static-package): Add #:strip-all? keyword
  parameter.
2013-02-27 20:55:38 +01:00
Ludovic Courtès ddff766e38 gnu: guile-static: Use libgc build with `USE_LIBC_PRIVATES'.
* gnu/packages/make-bootstrap.scm (%guile-static): Use libgc build with
  CPPFLAGS=-DUSE_LIBC_PRIVATES.
* gnu/packages/bdw-gc.scm (libgc): Add TODO to always do it.
2013-02-27 20:55:38 +01:00
Ludovic Courtès ab744c1af5 gnu: Add missing patch for mcron.
* gnu/packages/patches/mcron-install.patch: New file.
* Makefile.am (dist_patch_DATA): Add it.
2013-02-27 20:55:38 +01:00
Nikita Karetnikov 922f11ad22 gnu: Add GNU Wdiff.
* gnu/packages/wdiff.scm: New file.
* Makefile.am (MODULES): Add it.
2013-02-27 20:55:38 +01:00
Mark H Weaver 6c7b6a51a4 Add version-compare and version>? to utils.scm.
* guix/utils.scm (version-compare, version>?): New exported procedures,
  based on version-string>?, which was formerly in gnu-maintenance.scm.

* guix/gnu-maintenance.scm (version-string>?): Removed procedure.
  (latest-release): Use 'version>?' instead of 'version-string>?'.
2013-02-27 20:55:38 +01:00
Andreas Enge 76978d4062 gnu: Add signing-party.
* gnu/packages/gnupg.scm (signing-party): New variable.
2013-02-27 20:55:38 +01:00
Andreas Enge b6f5801e1c gnu: wget: Drop manual handling of /usr/bin/env.
* gnu/packages/wget.scm (wget): Drop patch-/usr/bin/env phase.
2013-02-24 18:07:50 +01:00
Andreas Enge b5c18c78c2 gnu: curl: Let patch-shebang handle /usr/bin/env.
* gnu/packages/curl.scm (curl): Drop manual rewriting of #!/usr/bin/env.
2013-02-24 17:54:51 +01:00
Andreas Enge c3f9761771 gnu: openldap: Disable tests, they fail too randomly probably due to
timeouts in the server.

* gnu/packages/openldap.scm (openldap): Drop all tests.
2013-02-24 16:41:27 +01:00
Andreas Enge ca8def6e6f Patch-shebang: Do not add space after interpreter without argument.
* guix/build/utils.scm (patch-shebang): Do not add a space after a command
  interpreter not followed by an argument; this made two tests of
  coreutils fail.
2013-02-23 23:27:46 +01:00
Andreas Enge 11996d85d3 Patch-shebang: Handle "#!/usr/bin/env command"
* guix/build/utils.scm (patch-shebang): Handle replacement of
   "#!.*/env CMD ARGS" by "#!/nix/store/path/.../to/CMD ARGS".
2013-02-23 20:32:03 +01:00
Andreas Enge 149acc2981 download: Add X.org mirrors.
* guix/download.scm (%mirrors): Add `xorg'.
2013-02-23 19:01:19 +01:00
Andreas Enge abc00dc492 gnu: screen: Use GNU mirror.
* gnu/packages/screen.scm (screen): Use GNU mirror.
2013-02-23 18:39:49 +01:00
Andreas Enge c9b940cd03 gnu: Update libpng to 1.5.14.
* gnu/packages/libpng.scm (libpng): Switch to version 1.5.14.
2013-02-23 16:32:41 +01:00
Ludovic Courtès 4d60610ad7 pull: Distinguish "already up to date" from "updated".
* guix/ui.scm (show-what-to-build): Return (length req*).
* guix/scripts/pull.scm (guix-pull): Print an "already up to date"
  message when there's nothing to build.
2013-02-22 21:08:06 +01:00
Ludovic Courtès 7b50c68455 pull: Build (guix build download) first, because of the (gnutls) autoload.
* guix/scripts/pull.scm (unpack): Build (guix build download) first, as
  done in 855a8ad71d.
  Reported by Andreas Enge <andreas@enge.fr>.
2013-02-22 20:01:29 +01:00
Ludovic Courtès 525ca3e912 guix: Make sure UPDATES-DIR is valid.
* scripts/guix.in: Make sure UPDATES-DIR is not #f.
2013-02-21 10:27:34 +01:00
Ludovic Courtès f651b477b7 Add "guix pull".
* guix/scripts/pull.scm: New file.
* Makefile.am (MODULES): Add it.
* doc/guix.texi (Invoking guix pull): New node.
  (Invoking guix package): Add cross-ref to it.
* guix/ui.scm (config-directory): New procedure.
* scripts/guix.in: When `GUIX_UNINSTALLED' is undefined, add
  $XDG_CONFIG_HOME/guix/latest to the search path.
* po/POTFILES.in: Add guix/scripts/pull.scm.
2013-02-20 23:47:16 +01:00
Ludovic Courtès 9bb2b96aab ui: Factorize `show-what-to-build'.
* guix/scripts/package.scm (guix-package)[show-what-to-build]: Move to..
* guix/ui.scm (show-what-to-build): ... here.  Add a `store'
  parameter'.  Adjust callers.
* guix/scripts/build.scm (guix-build): Use it.  Remove `req' and `req*'
  variables.
2013-02-20 23:46:57 +01:00
Ludovic Courtès 7730d112a2 build: Adjust guix.texi to Texinfo 5.0.
* doc/guix.texi: Change @title and @subtitle syntax to please Texinfo 5.0.
2013-02-20 23:46:52 +01:00
Ludovic Courtès c61b026e3a ui: Add temporary file handling and atomic symlink switch.
* guix/scripts/download.scm (call-with-temporary-output-file): Move to
  ui.scm.
* guix/scripts/package.scm (switch-symlinks): Likewise.
* guix/ui.scm (call-with-temporary-output-file, switch-symlinks): New
  procedures.
2013-02-20 23:03:24 +01:00
Ludovic Courtès 80736cdf20 download: Adjust to `http-get*' deprecation.
* guix/build/download.scm (http-fetch): Adjust to use #:streaming? when
  using Guile 2.0.8+.
2013-02-20 22:59:35 +01:00
Ludovic Courtès 8dcb0c55ab derivations: Add a search path parameter for module derivations.
* guix/derivations.scm (imported-modules, compiled-modules): Add a
  `module-path' parameter.  Use it instead of %LOAD-PATH.
2013-02-20 21:08:09 +01:00
Ludovic Courtès f6d7be1e47 gnu: texinfo: Make Perl a propagated input.
* gnu/packages/texinfo.scm (texinfo): Make PERL a propagated input.
2013-02-20 21:06:57 +01:00
Ludovic Courtès 0442d34595 build: Add missing -I flag for the daemon.
* daemon.am (libstore_a_CPPFLAGS): Add missing -I, for schema.sql.hh.
2013-02-19 22:58:56 +01:00
Ludovic Courtès b8d2aa264d daemon: Add `--listen'.
* nix/nix-daemon/guix-daemon.cc (GUIX_OPT_LISTEN): New macro.
  (options): Add `--listen'.
  (parse_opt): Handle it.
* doc/guix.texi (Invoking guix-daemon): Mention it.
2013-02-19 22:48:13 +01:00
Ludovic Courtès 15b673ebe8 Update from upstream Nix. 2013-02-19 22:43:07 +01:00
Ludovic Courtès 9fd72fb1ff store: Add the `%daemon-socket-file' parameter.
* guix/store.scm (%daemon-socket-file): New variable.
  (open-connection): Use it as the default value for FILE.
2013-02-18 21:53:59 +01:00
Ludovic Courtès 9c8ba706d0 Add Mark to `AUTHORS'. 2013-02-17 22:19:32 +01:00
Ludovic Courtès 855a8ad71d build: Build guix/scripts/download.go after guix/build/download.go.
* Makefile.am (guix/scripts/download.go): Add dependency on
  `guix/build/download.go'.
  Reported by Nikita Karetnikov <nikita@karetnikov.org>.
2013-02-17 22:19:32 +01:00
Ludovic Courtès fdca1c079b scripts: Remove hyphen in the command name shown by `--version'.
* guix/scripts/build.scm (%options): Remove hyphen from the name passed
  to `show-version-and-exit'.
* guix/scripts/download.scm (%options): Likewise.
* guix/scripts/gc.scm (%options): Likewise.
* guix/scripts/import.scm (%options): Likewise.
* guix/scripts/package.scm (%options): Likewise.
2013-02-17 22:19:32 +01:00
Mark H Weaver fd80c705b1 gnu: guile-reader: Rename packages to avoid version number confusion.
* gnu/packages/guile.scm (guile-reader): Change the character preceding the
  guile version number from '-' to '_' so that it will not be misinterpreted
  as the package version number.
2013-02-17 13:25:06 -05:00
Mark H Weaver d8f257f99e Update `TODO'. 2013-02-17 13:23:45 -05:00
Ludovic Courtès 633f045f62 scripts: Remove initialization now redundant with `initialize-guix'.
* guix/scripts/build.scm (guix-build): Remove calls to `install-locale',
  `textdomain', etc., now redundant with `initialize-guix'.
* guix/scripts/download.scm (guix-download): Likewise.
* guix/scripts/import.scm (guix-import): Likewise.
* guix/scripts/package.scm (guix-package): Likewise.
* guix/ui.scm: Remove export of `install-locale' and `initialize-guix'.
  (initialize-guix): Add docstring.
2013-02-17 15:38:02 +01:00
Ludovic Courtès a24b75d8e1 gnu: texinfo: Update to 5.0.
* gnu/packages/texinfo.scm (texinfo): Update to 5.0.
2013-02-17 15:03:06 +01:00
Mark H Weaver e49951eb3e Replace individual scripts with master 'guix' script.
* scripts/guix.in: New script.

* Makefile.am (bin_SCRIPTS): Add 'scripts/guix'.  Remove 'guix-build',
  'guix-download', 'guix-import', 'guix-package', and 'guix-gc'.

  (MODULES): Add 'guix/scripts/build.scm', 'guix/scripts/download.scm',
  'guix/scripts/import.scm', 'guix/scripts/package.scm', and
  'guix/scripts/gc.scm'.

* configure.ac (AC_CONFIG_FILES): Add 'scripts/guix'.  Remove 'guix-build',
  'guix-download', 'guix-import', 'guix-package', and 'guix-gc'.

* guix-build.in, guix-download.in, guix-gc.in, guix-import.in,
  guix-package.in: Remove shell script boilerplate.  Move to guix-COMMAND.in
  to guix/scripts/COMMAND.scm.  Rename module from (guix-COMMAND) to
  (guix scripts COMMAND).  Change "guix-COMMAND" to "guix COMMAND" in
  usage help string.

* pre-inst-env.in: Add "@abs_top_builddir@/scripts" to the front of $PATH.
  Export $GUIX_UNINSTALLED.

* tests/guix-build.sh, tests/guix-daemon.sh, tests/guix-download.sh,
  tests/guix-gc.sh, tests/guix-package.sh: Use "guix COMMAND" instead of
  "guix-COMMAND".

* doc/guix.texi: Replace all occurrences of "guix-COMMAND" with
  "guix COMMAND".

* po/POTFILES.in: Update.
2013-02-16 22:17:37 -05:00
Ludovic Courtès 040860152e Add (gnu system vm).
* gnu/system/vm.scm: New file.
* Makefile.am (MODULES): Add it.
2013-02-16 03:28:26 +01:00
Ludovic Courtès f09d925b16 gnu: Add support for Guile in Linux initrd.
* gnu/packages/linux-initrd.scm: New file.
2013-02-16 03:25:59 +01:00
Ludovic Courtès 161ed5476d gnu: qemu-kvm: Add patch to have multiple SMB shares.
* gnu/packages/qemu.scm (qemu-kvm/smb-shares): New variable.
* gnu/packages/patches/qemu-multiple-smb-shares.patch: New file.
* Makefile.am (dist_patch_DATA): Add it.
2013-02-16 02:09:10 +01:00
Ludovic Courtès d510ab4614 packages: Add `package-output'.
* guix/packages.scm (package-output): New procedure.
* tests/packages.scm ("package-output"): New test.
2013-02-16 01:37:26 +01:00
Ludovic Courtès 0228826262 gnu: guile-static: Change `name' field.
* gnu/packages/make-bootstrap.scm (%guile-static): Add `name' field with
  `-static' suffix.
2013-02-16 00:30:25 +01:00
Ludovic Courtès 3643957260 gnu: guile-static: Add bindings for `reboot'.
* gnu/packages/patches/guile-linux-syscalls.patch: Add `scm_reboot'.
2013-02-16 00:29:43 +01:00
Ludovic Courtès ffb1ee524d gnu: qemu: Add dependency on Samba.
* gnu/packages/qemu.scm (qemu-kvm): Add dependency on Samba; pass
  `--smbd' to ./configure.
2013-02-15 22:36:05 +01:00
Ludovic Courtès 3665b4dc60 gnu: samba: Augment the RUNPATH of executables to point to $out/lib.
* gnu/packages/samba.scm (samba): Add `add-lib-to-runpath' phase, and
  PatchELF as an input.
2013-02-15 22:04:51 +01:00
Nikita Karetnikov e04f30e023 gnu: Add GNU Parted.
* gnu/packages/parted.scm: New file.
* Makefile.am (MODULES): Add it.
2013-02-15 15:30:20 +01:00
Ludovic Courtès 6956067b04 gnu: guile-static: Add bindings for low-level Linux syscalls.
* gnu/packages/make-bootstrap.scm (%guile-static): Add
  `guile-linux-syscalls.patch' as an input, and use it.
* gnu/packages/patches/guile-linux-syscalls.patch: New file.
* Makefile.am (dist_patch_DATA): Add it.
2013-02-15 00:52:54 +01:00
Ludovic Courtès 1dee732b81 gnu: linux-libre: Choose a config without debugging features.
* gnu/packages/linux.scm (linux-libre): Choose "defconfig" instead of
  "allmodconfig" since the latter enables all debugging features.  Add
  `CONFIG_CIFS=m'.
2013-02-15 00:52:54 +01:00
Cyril Roelandt eb4908581c gnu: Add vim.
* gnu/packages/vim.scm: New file.
* Makefile.am (MODULES): Add it.
2013-02-14 11:26:04 +01:00
Mark H Weaver dc5669cd65 Build newest versions unless specified, and implement upgrades.
* gnu/packages.scm (find-newest-available-packages):
  New exported procedure.

* guix-build.in (newest-available-packages, find-best-packages-by-name):
  New procedures.
  (find-package): Use find-best-packages-by-name, to guarantee that
  if a version number is not specified, only the newest versions will
  be considered.

* guix-package.in (%options): Add --upgrade/-u option.
  (newest-available-packages, find-best-packages-by-name, upgradeable?):
  New procedures.
  (find-package): Use find-best-packages-by-name, to guarantee that
  if a version number is not specified, only the newest versions will
  be considered.
  (process-actions): Implement upgrade option.

* doc/guix.texi (Invoking guix-package): In the description of --install,
  mention that if no version number is specified, the newest available
  version will be selected.
2013-02-13 22:05:19 -05:00
Mark H Weaver c2868b1e0c Inhibit duplicates in fold-packages.
* gnu/packages.scm (fold2): New procedure.
  (fold-packages): Rework to suppress duplicates.
2013-02-13 20:56:52 -05:00
Ludovic Courtès 9011e97f8d build-system/gnu: Make the strip behavior of `static-package' configurable.
* guix/build-system/gnu.scm (static-package): Add #:strip-all? keyword
  parameter.
2013-02-14 01:12:24 +01:00
Ludovic Courtès e3b2cf4c7a gnu: guile-static: Use libgc build with `USE_LIBC_PRIVATES'.
* gnu/packages/make-bootstrap.scm (%guile-static): Use libgc build with
  CPPFLAGS=-DUSE_LIBC_PRIVATES.
* gnu/packages/bdw-gc.scm (libgc): Add TODO to always do it.
2013-02-14 01:12:24 +01:00
Ludovic Courtès 250b0404d7 gnu: Add missing patch for mcron.
* gnu/packages/patches/mcron-install.patch: New file.
* Makefile.am (dist_patch_DATA): Add it.
2013-02-14 01:12:24 +01:00
Nikita Karetnikov 8c3c896dbe gnu: Add GNU Wdiff.
* gnu/packages/wdiff.scm: New file.
* Makefile.am (MODULES): Add it.
2013-02-13 02:18:46 +00:00
Mark H Weaver 0d1e6ce4d2 Add version-compare and version>? to utils.scm.
* guix/utils.scm (version-compare, version>?): New exported procedures,
  based on version-string>?, which was formerly in gnu-maintenance.scm.

* guix/gnu-maintenance.scm (version-string>?): Removed procedure.
  (latest-release): Use 'version>?' instead of 'version-string>?'.
2013-02-12 20:34:25 -05:00
Andreas Enge 96be765ca5 gnu: Add signing-party.
* gnu/packages/gnupg.scm (signing-party): New variable.
2013-02-13 00:43:30 +01:00
Andreas Enge 93a6f5520c gnu: gmp: Update to version 5.1.1.
* gnu/packages/multiprecision.scm (gmp): Update to version 5.1.1.
2013-02-12 22:06:47 +01:00
Mark H Weaver 58867ae728 Add pre-inst-env and test-env to nodist_noinst_SCRIPTS in Makefile.am.
* Makefile.am: Add nodist_noinst_SCRIPTS = pre-inst-env test-env.
2013-02-12 13:37:25 -05:00
Ludovic Courtès a40f1543c0 gnu: Add Samba and iniparser.
* gnu/packages/samba.scm: New file.
* Makefile.am (MODULES): Add it.
2013-02-12 19:36:14 +01:00
Ludovic Courtès 0e7aac44da gnu: bigloo: Install Emacs modes.
* gnu/packages/scheme.scm (bigloo): Add `install-emacs-modes' phase.
2013-02-12 19:36:14 +01:00
Andreas Enge 01e11826bc gnu: gnupg: Add optional inputs curl and openldap.
* gnu/packages/gnupg.scm (gnupg): Add inputs.
2013-02-12 15:15:18 +01:00
Andreas Enge 30e9cbb44e gnu: gnupg: Patch out /bin/sh in generated file.
* gnu/packages/gnupg.scm (gnupg): Modify configure phase.
2013-02-12 13:47:50 +01:00
Andreas Enge a86177d61c gnu: Rename module 'freetype' to the more general 'fontutils'.
* gnu/packages/freetype.scm: Rename file to...
* gnu/packages/fontutils.scm: ...this.
* Makefile.am (MODULES): Rename module.
* gnu/packages/{ghostscript,grub,pdf,texlive}.scm: Rename dependency.
2013-02-12 13:19:26 +01:00
Ludovic Courtès f5fd436020 doc: Add the commit policy to HACKING.
* HACKING (Commit Access): New section.
2013-02-12 00:14:32 +01:00
Ludovic Courtès 151794bf5b build: Export NIX_ROOT_FINDER' and NIX_SETUID_HELPER' from `pre-inst-env'.
* pre-inst-env.in (NIX_ROOT_FINDER, NIX_SETUID_HELPER): New variables.
  Reported by Cyril Roelandt <tipecaml@gmail.com>.
2013-02-12 00:14:32 +01:00
Ludovic Courtès df77a46273 gnu: Add popt.
* gnu/packages/popt.scm (popt): New file.
* Makefile.am (MODULES): Add it.
2013-02-12 00:14:32 +01:00
Ludovic Courtès beacfcabe7 gnu: Add Linux-Libre.
* gnu/packages/linux.scm (linux-libre): New variable.
2013-02-12 00:14:32 +01:00
Ludovic Courtès 57f662ad30 gnu: Add libunwind.
* gnu/packages/libunwind.scm: New file.
* Makefile.am (MODULES): Add it.
2013-02-12 00:14:32 +01:00
Ludovic Courtès b4fcb735d5 gnu: Add Linux module-init-tools.
* gnu/packages/linux.scm (module-init-tools): New variable.
2013-02-12 00:14:32 +01:00
Andreas Enge ea4d96c6a5 gnu: Add pius.
* gnu/packages/gnupg.scm (pius): New variable.
2013-02-11 23:55:18 +01:00
Cyril Roelandt b1426f1785 gnu: Add tmux. licenses: add ISC.
* gnu/packages/tmux.scm: New file.
* Makefile.am (MODULES): Use it.
* guix/licenses.scm: add ISC.
2013-02-11 22:23:29 +01:00
Andreas Enge 95b6c70f6b gnu: texlive: Add input (t)csh.
* gnu/packages/texlive.scm (texlive): Add input tcsh.
2013-02-11 11:07:02 +01:00
Cyril Roelandt 16fd1db547 gnu: Add tcsh.
* gnu/packages/tcsh.scm: New file.
* gnu/packages/patches/tcsh-fix-autotest.patch: New file
* Makefile.am: Add them.
2013-02-10 23:43:46 +01:00
Ludovic Courtès 0750452a98 gnu: Add e2fsprogs.
* gnu/packages/linux.scm (e2fsprogs): New variable.
2013-02-10 23:48:41 +01:00
Ludovic Courtès 65d8b777c0 gnu: Add GNU GRUB.
* gnu/packages/grub.scm,
  gnu/packages/patches/grub-gets-undeclared.patch: New files.
* Makefile.am (MODULES): Add grub.scm.
  (dist_patch_DATA): Add grub-gets-undeclared.patch.
2013-02-10 18:48:23 +01:00
Ludovic Courtès 72b9eebf68 gnu: Add QEMU.
* gnu/packages/autotools.scm (autoconf-wrapper): Make public.
* gnu/packages/qemu.scm (qemu): New variable.
2013-02-10 18:28:00 +01:00
Ludovic Courtès cab249615d Re-export `%current-system' from (guix packages).
* guix/packages.scm: Re-export `%current-system'.
* gnu/packages/bdw-gc.scm, gnu/packages/gawk.scm,
  gnu/packages/gperf.scm, gnu/packages/libffi.scm,
  gnu/packages/libsigsegv.scm, gnu/packages/libunistring.scm,
  gnu/packages/lout.scm, gnu/packages/m4.scm,
  gnu/packages/multiprecision.scm, gnu/packages/ncurses.scm,
  gnu/packages/perl.scm, gnu/packages/pkg-config.scm,
  gnu/packages/readline.scm, gnu/packages/recutils.scm,
  gnu/packages/scheme.scm: Remove (guix utils) import.
2013-02-10 17:23:48 +01:00
Ludovic Courtès 2aee33cfc1 gnu: Add description and license for QEMU-KVM.
* gnu/packages/qemu.scm (qemu-kvm): Add description and license.
2013-02-10 17:01:47 +01:00
Ludovic Courtès 6064c4cdf0 gnu: Add libcddb, GNU libcdio, and GNU xorriso.
* gnu/packages/cdrom.scm: New file.
* Makefile.am (MODULES): Add it.
2013-02-10 16:51:46 +01:00
Ludovic Courtès b15fcf9ec2 gnu: Add QEMU-KVM.
* gnu/packages/qemu.scm: New file.
* Makefile.am (MODULES): Add it.
2013-02-09 23:21:00 +01:00
Ludovic Courtès a69b7ad2d6 build: Run `guild compile' under the C locale.
* Makefile.am (.scm.go): Set LC_ALL=C.
2013-02-09 23:21:00 +01:00
Nikita Karetnikov 54845460ee gnu: Add GNU Smalltalk.
* gnu/packages/smalltalk.scm: New file.
* Makefile.am (MODULES): Add it.
2013-02-09 12:05:01 +00:00
Ludovic Courtès a38f0ab0b9 build-system/gnu: Clarify docstring of `package-with-extra-configure-variable'.
* guix/build-system/gnu.scm (package-with-extra-configure-variable): Add
  "recursively" in the docstring.
2013-02-08 18:03:36 +01:00
Ludovic Courtès d8707db0f7 gnu: hop: Add `patch-rpath' phase.
* gnu/packages/scheme.scm (hop): Add `patch-rpath' phase.
2013-02-08 17:38:57 +01:00
Ludovic Courtès 2d73db7a05 gnu: Add PatchELF.
* gnu/packages/patchelf.scm: New file.
* Makefile.am (MODULES): Add it.
2013-02-08 15:44:24 +01:00
Ludovic Courtès e6e82f629c gnu: Add Hop.
* gnu/packages/scheme.scm (hop): New variable.
2013-02-08 14:41:25 +01:00
Ludovic Courtès 10879c4ea1 gnu: bigloo: Propagate GMP.
* gnu/packages/scheme.scm (bigloo): Propagate GMP.
2013-02-08 14:39:28 +01:00
Ludovic Courtès 87d836b2c9 gnu: Add GNU mcron.
* gnu/packages/guile.scm (mcron): New variable.
2013-02-08 00:15:48 +01:00
Ludovic Courtès 2f4fbe1cb3 gnu: guile-1.8: Patch `ice-9/popen.scm'.
* gnu/packages/guile.scm (guile-1.8): Rename `patch-loader-search-path'
  to `patch-stuff'; patch `ice-9/popen.scm'.
2013-02-08 00:15:26 +01:00
Ludovic Courtès 461572cca8 doc: Document installation of propagated inputs.
* doc/guix.texi (Invoking guix-package): Document installation behavior
  with propagated inputs.
2013-02-07 23:55:16 +01:00
Ludovic Courtès b39a48ad4b gnu: ed: Update to 1.6.
* gnu/packages/ed.scm (ed): Update to 1.6.
2013-02-07 23:47:32 +01:00
Ludovic Courtès 9589eecb40 gnu: ed: Patch /bin/sh in the test suite.
* gnu/packages/ed.scm (ed): Add `patch-test-suite' phase.
2013-02-07 23:47:21 +01:00
Ludovic Courtès 4dede022fd guix-package: Install propagated inputs.
* guix-package.in (profile-manifest): Return "version 1" manifests.
  (manifest-packages): Likewise.  When MANIFEST is "version 0", add
  '() as the list of "propagated inputs" of each package.
  (profile-derivation): Produce "version 1" manifests.  Pass each
  PACKAGES item's propagated inputs as an input for BUILDER.
  (input->name+path): New procedure.
  (guix-package)[find-package]: Add the transitive propagated inputs of
  each selected package as the last item of the tuple.
  [canonicalize-deps]: New procedure.
  [process-actions]: Adjust to support propagated inputs as the last item.
  [process-query]: Likewise.
2013-02-06 23:04:10 +01:00
Ludovic Courtès 1be77eac08 union: Don't warn when colliding leaves point to the same file.
* guix/build/union.scm (union-build)[resolve-collision]: Pass LEAVES
  through `delete-duplicates'; warn iff the result contains more than
  one item.
2013-02-06 23:04:10 +01:00
Ludovic Courtès 6211223021 union: Delete duplicates when passed the same input several times.
* guix/build/union.scm (union-build): Prepend "." to the result of
  `union-tree', to match the expectations of `delete-duplicate-leaves'.
  Don't do mkdir when SUBDIR is ".".
* tests/union.scm ("union-build"): Keep duplicates in %BOOTSTRAP-INPUTS.
2013-02-06 23:04:10 +01:00
Ludovic Courtès 44ce77ff52 guix-package: Test installation of packages by name.
* tests/guix-package.sh: Remove `boot_guile'.  Replace occurrences of
  $boot_guile by the `guile-bootstrap' package name.
2013-02-06 23:04:10 +01:00
Ludovic Courtès 8dc2ecfcd9 build: `chmod +x' scripts as they are generated.
* configure.ac: Add the `chmod +x' as a second argument to
  `AC_CONFIG_FILES'.  Remove `AC_CONFIG_COMMANDS' invocation.
2013-02-06 23:04:10 +01:00
Andreas Enge c23e9e48b7 gnu: Add libmp3splt and mp3splt.
* gnu/packages/mp3.scm (libmp3split, mp3splt): New variables.
2013-02-06 22:47:58 +01:00
Ludovic Courtès 431f35f051 gnu: make-bootstrap: Fix `%binutils-static-stripped'.
* gnu/packages/make-bootstrap.scm (%binutils-static-stripped): Add
  distinguishing `name' field.  Add `output' field to have a single
  "out" output (followup to 4873f8e).  Reported by Nikita.
2013-02-06 15:25:28 +01:00
Andreas Enge eb0119efde gnu: Add TeXLive.
* gnu/packages/texlive.scm: New file.
* Makefile.am (MODULES): Add it.
2013-02-06 00:01:44 +01:00
Andreas Enge 6d36a6f3b0 licenses: Add new meta-license fsf-free.
* guix/licenses.scm (fsf-free): New record with constructor.
2013-02-05 23:56:42 +01:00
Ludovic Courtès a6ef51e378 gnu: Have MPFR and MPC propagate their input.
* gnu/packages/multiprecision.scm (mpfr): Change GMP to a propagated input.
  (mpc): Likewise for GMP and MPFR.
  Reported by Andreas Enge <andreas@enge.fr>.
2013-02-05 23:51:44 +01:00
Andreas Enge 10d1822b8e gnu: Add PCRE (Perl Compatible Regular Expression).
* gnu/packages/pcre.scm: New file.
* Makefile.am (MODULES): Add it.
2013-02-05 23:41:38 +01:00
Ludovic Courtès fcdb4e8f8d Thank Lluís and Daniel. 2013-02-05 00:35:08 +01:00
Ludovic Courtès ef02e1e9b5 gnu: Add GNU Guile-Ncurses.
* gnu/packages/guile.scm (guile-ncurses): New variable.
2013-02-05 00:35:08 +01:00
Andreas Enge 8cc9c0dadd gnu: Add libid3tag.
* gnu/packages/mp3 (libid3tag): New variable.
2013-02-04 11:12:32 +01:00
Andreas Enge d464e72566 gnu: Add libmad.
* gnu/packages/mp3.scm: New file.
* Makefile.am (MODULES): Add it.
2013-02-04 11:12:32 +01:00
Ludovic Courtès 0f3d2504f7 store: Add substitute-related procedures.
* guix/store.scm (has-substitutes?, substitutable-paths,
  read-substitutable-path-list, substitutable-path-info): New
  procedures.
  (<substitutable>): New record type.
  (read-arg): Add `substitutable-path-info'.  Change `hash' pattern
  variable to `base16' literal.
* tests/store.scm ("no substitutes"): New test.
2013-02-04 08:58:48 +01:00
Ludovic Courtès 63193ebfdc store: Update to protocol 1.12.
* guix/store.scm (%protocol-version): Bump.
  (operation-id): Comment out `query-substitutable-path-info'.
  Rename `query-valid-paths' to `query-all-valid-paths'.  Add
  `query-path-from-hash-part', `query-substitutable-path-infos',
  `query-valid-paths', and `query-substitutable-paths'.
  (set-build-options): Add `binary-caches' keyword parameter.  When
  using a server >= 1.12, send the list of binary caches.
  (query-path-hash): Use the `store-path' type, for clarity.
2013-02-04 08:58:48 +01:00
Ludovic Courtès c5a855c481 SRFI-64: Make the log file's port line-buffered.
* srfi/srfi-64.upstream.scm (test-on-group-begin-simple): Make LOG-FILE
  line-buffered.
2013-02-04 08:58:48 +01:00
Ludovic Courtès bbb76f6f71 tests: Fix thinko in `derivation' test.
* tests/derivations.scm ("derivation with local file as input"): Return
  a Boolean instead of a bytevector.  Don't attempt to compare the
  content of the result with that of the input.
2013-02-04 08:58:48 +01:00
Ludovic Courtès 238e43b9fa store: Write string length as a 32-bit integer.
* guix/store.scm (write-string): Write L as a 32-bit integer.  Bug
  introduced in 82c38fe64c ("store:
  Micro-optimize `write-string'.")
2013-02-04 08:58:47 +01:00
Nikita Karetnikov 9c63fe6c1f gnu: Add GNU Prolog.
* gnu/packages/gprolog.scm: New file.
* Makefile.am (MODULES): Add it.
2013-02-02 12:48:58 +00:00
Andreas Enge 58cc3b385b gnu: Add libxslt.
* gnu/packages/xml.scm (libxslt): New variable.
2013-02-01 23:23:08 +01:00
Ludovic Courtès 38bbd61df1 gnu: Fix invalid `license' fields.
* gnu/packages/acl.scm (acl): Change `license' field to refer to the
  `license' objects.
* gnu/packages/attr.scm (attr): Likewise.
* gnu/packages/compression.scm (xz): Likewise.
* gnu/packages/global.scm (global): Likewise.
* gnu/packages/linux.scm (linux-libre-headers): Likewise.
2013-02-01 13:16:45 +01:00
Ludovic Courtès cb09fb24ee guix-package: Make `--search' queries case-insensitive.
* guix-package.in (guix-package)[process-query]: Use `regexp/icase' for
  the `search' regexp.
2013-02-01 13:16:45 +01:00
Ludovic Courtès 0bdba772ca Augment `.dir-locals.el'.
* .dir-locals.el: Add more Scheme settings.
* guix-build.in, tests/base32.scm, tests/build-utils.scm,
  tests/builders.scm, tests/derivations.scm, tests/packages.scm,
  tests/snix.scm, tests/store.scm, tests/union.scm, tests/utils.scm:
  Remove redundant Emacs local variable settings.
2013-02-01 13:16:45 +01:00
Ludovic Courtès 299112d36e guix-package: Report `--search' matches in recutils format.
* guix/ui.scm (fill-paragraph, string->recutils, package->recutils): New
  procedures.
* guix-package.in (guix-package)[process-query]: Use `package->recutils'
  to display package meta-data.
* tests/guix-package.sh: Adjust test.
* tests/ui.scm: New file.
* Makefile.am (TESTS): Add it.
* doc/guix.texi (Invoking guix-package): Adjust `--search'
  documentation, and give an example.
2013-02-01 13:16:41 +01:00
Ludovic Courtès aa92cf980c guix-package: Gracefully report non-existing outputs.
* guix-package.in (guix-package)[find-package](ensure-output): New
  procedure. Use it to validate SUB-DRV.
2013-02-01 09:17:59 +01:00
Ludovic Courtès 0f5378ebc4 guix-package: Reduce start-up time for queries.
* guix-package.in (guix-package): Call `open-connection' and
  `package-derivation' only after `process-query' has returned.
2013-01-31 23:24:40 +01:00
Andreas Enge dc2e4b0e16 gnu: Add libkate.
* gnu/packages/oggvorbis.scm (libkate): New variable.
* gnu/packages/oggvorbis.scm (vorbis-tools): Add input libkate.
2013-01-31 22:47:25 +01:00
Andreas Enge 9ae7865e97 gnu: Add flac.
* gnu/packages/oggvorbis.scm (flac): New variable.
* gnu/packages/oggvorbis.scm (vorbis-tools): Add flac input.
* gnu/packages/patches/flac-fix-memcmp-not-declared.patch: New file.
2013-01-31 22:19:56 +01:00
Ludovic Courtès f992ead284 gnu: bigloo: Update tarball's hash.
* gnu/packages/scheme.scm (bigloo): Change hash.  The tarball was
  recently modified in-place (!).
2013-01-31 17:49:54 +01:00
Ludovic Courtès bbdb3ffaf3 store: Don't expect build logs to be UTF-8-encoded.
* guix/store.scm (read-latin1-string): New procedure.
  (process-stderr): Use it instead of `read-string'.
  Reported by Andreas Enge <andreas@enge.fr>.
2013-01-31 17:49:54 +01:00
Andreas Enge 1f73d3b495 gnu: vorbis-tools: Enable ogg123.
* gnu/packages/oggvorbis.scm (vorbis-tools): Add inputs ao and curl.
2013-01-30 23:46:39 +01:00
Andreas Enge 76e38f0d78 gnu: Add libao.
* gnu/packages/oggvorbis.scm (ao): New variable.
2013-01-30 23:32:13 +01:00
Andreas Enge 6b9105e557 gnu: Add curl.
* gnu/packages/curl.scm: New file.
* Makefile.am (MODULES): Add it.
2013-01-30 23:07:13 +01:00
Andreas Enge fe0b8a789a gnu: Add openssh.
* gnu/packages/ssh.cm (openssh): New variable.
2013-01-30 23:03:48 +01:00
Ludovic Courtès 5cfdcd6a26 .dir-locals.el: Fill at 78 columns. 2013-01-30 18:59:12 +01:00
Ludovic Courtès d0840e4a23 derivations: Memoize `read-derivation'.
* guix/derivations.scm (read-derivation): Rename to...
  (%read-derivation): ... this.
  (read-derivation): New procedure.
  This reduces the execution of "guix-build gdb" from 2.5s to 1.7s.
2013-01-30 18:58:38 +01:00
Ludovic Courtès fce2394e7d store: Slightly improve memoization hashing.
* guix/store.scm (open-connection): Call `make-hash-table' with 100.
  (add-text-to-store): Move TEXT first in ARGS, for better `hash'
  results.
  (add-to-store): Likewise, move ST first.
2013-01-30 17:05:54 +01:00
Ludovic Courtès a9ebd9efd0 store: Remove the fixed?' parameter from add-to-store'.
* guix/store.scm (add-to-store): Remove the `fixed?' parameter from the
  public interface.
* gnu/packages/bootstrap.scm, guix-download.in, guix/derivations.scm,
  guix/packages.scm, tests/derivations.scm: Update all callers
  accordingly.
2013-01-30 16:30:49 +01:00
Ludovic Courtès fd060fd30d store: Avoid use of `set!'.
* guix/store.scm (operation): New macro.
  (define-operation): Define in terms of `operation'.
  (add-text-to-store): Define using `operation', and remove now
  unnecessary `set!'.
  (add-to-store): Likewise.
  (add-text-to-store/cached, add-to-store/cached): Remove.
2013-01-30 16:22:33 +01:00
Ludovic Courtès 82c38fe64c store: Micro-optimize `write-string'.
* guix/store.scm (write-string): Optimize to write the length, contents,
  and padding all at once.  This yields a 2% improvement on the
  execution time of "guix-build gdb".
2013-01-30 00:37:26 +01:00
Ludovic Courtès 473b03b3c6 Gracefully handle failure to install the current locale.
* guix/ui.scm (install-locale): New procedure.
* guix-build.in, guix-download.in, guix-gc.in, guix-import.in,
  guix-package.in: Use it instead of (setlocale LC_ALL "").
2013-01-30 00:09:32 +01:00
Ludovic Courtès bdcf35a6b2 store: Cache `add-text-to-store' results.
* guix/store.scm (<nix-server>)[atts-cache]: New field.
  (add-text-to-store/cached): New procedure.  Use it as a wrapper around
  `add-text-to-store'.
  When running "guix-build gdb", this reduces the number of RPCs from
  3048 to 289, and execution time from 4.7s to 2.6s.
2013-01-30 00:09:32 +01:00
Ludovic Courtès 2c3f47ee3a store: Make the `add-to-store' cache per-connection.
* guix/store.scm (<nix-server>)[ats-cache]: New field.
  (open-connection): Update accordingly.
  (add-to-store/cached): Use (nix-server-add-to-store-cache SERVER)
  instead of a weak hash table.
2013-01-30 00:09:32 +01:00
Andreas Enge 2fbf053b7b gnu: Add libssh2.
* gnu/packages/ssh.scm: New file.
* Makefile.am (MODULES): Add it.
2013-01-29 23:05:35 +01:00
Andreas Enge 2a75d4e664 gnu: Add openldap.
* gnu/packages/openldap.scm: New file.
* Makefile.am (MODULE): Add it.
2013-01-29 19:52:00 +01:00
Ludovic Courtès a7b6ffee68 store: Make `add-to-store' memoizing.
* guix/store.scm (add-to-store/cached): New variable.
  Use it as the new `add-to-store'.
  This reduces the number of RPCs when doing "guix-build gdb" from 5009
  to 3053, and the execution time from 7s to 3.9s.
2013-01-29 00:16:18 +01:00
Ludovic Courtès d7e8e288c5 gnu: gdb: Update to 7.5.1.
* gnu/packages/gdb.scm (gdb): Update to 7.5.1.
2013-01-28 22:48:15 +01:00
Ludovic Courtès 8aab64fca9 build: Require Automake 1.12 or later.
* configure.ac: Require Automake 1.12 or later.
2013-01-28 22:30:16 +01:00
Nikita Karetnikov 2289721c9c Update 'TODO'. 2013-01-28 07:16:11 +00:00
Nikita Karetnikov acc084669c guix-package: Add '--search'.
* guix-package.in (find-packages-by-description): New procedure.
  (show-help, %options): Add '--search'.
  (guix-package)[process-query]: Add support for '--search'.
* doc/guix.texi (Invoking guix-package): Document it.
* tests/guix-package.sh: Add tests.
2013-01-28 06:47:49 +00:00
Ludovic Courtès c9ee048595 gnu: automake: Update to 1.13.1.
* gnu/packages/autotools.scm (automake): Update to 1.13.1.
2013-01-27 22:52:21 +01:00
Ludovic Courtès 168030ea0c gnu: autoconf-wrapper: Fix "guile" input.
* gnu/packages/autotools.scm (autoconf-wrapper): Remove `lambda' for
  "guile" input..
2013-01-27 22:35:33 +01:00
Ludovic Courtès 82fe08ed20 guix-package: Always use the next number for new generations.
Suggested by Andreas Enge <andreas@enge.fr> at
<http://lists.gnu.org/archive/html/bug-guix/2013-01/msg00325.html>.

* guix-package.in (latest-profile-number): Remove.
  (switch-symlinks): New procedure.
  (roll-back)[switch-link]: Use it.
  (guix-package)[process-actions]: Always choose NUMBER + 1 for the new
  profile.  Use `switch-symlinks' instead of `symlink'.  Remove code to
  delete PROFILE when it exists since `switch-symlinks' has the same
  effect.
* tests/guix-package.sh: Adjust existing `--roll-back' tests.
* doc/guix.texi (Invoking guix-package): Document this `--roll-back'
  behavior.
2013-01-27 17:58:46 +01:00
Ludovic Courtès d9307267b3 guix-package: When rolling back to nothingness, point to the empty profile.
Suggested by Andreas Enge <andreas@enge.fr> at
<http://lists.gnu.org/archive/html/bug-guix/2013-01/msg00316.html>.

* guix-package.in (roll-back): Check whether PROFILE is valid using
  `file-exists?'.  When NUMBER is zero, just emit a notice.  When
  PREVIOUS-NUMBER is zero and PREVIOUS-PROFILE does not exist, build the
  empty profile, and link to it.
* tests/guix-package.sh: Add tests.
* doc/guix.texi (Invoking guix-package): Document the new behavior.
2013-01-27 17:18:55 +01:00
Ludovic Courtès 29767aaef6 Update `TODO'. 2013-01-27 00:59:04 +01:00
Ludovic Courtès 41d42f5061 Update AUTHORS' and THANKS'. 2013-01-27 00:55:51 +01:00
Ludovic Courtès 64858bc090 gnu: python: Remove unnecessary module import.
* gnu/packages/python.scm: Remove use of (gnu packages base).
2013-01-27 00:55:37 +01:00
Cyril Roelandt f1d2872c82 gnu: Add irssi.
* gnu/packages/irssi.scm: New file.
* Makefile.am (MODULES): Add it.
2013-01-26 23:40:43 +01:00
Andreas Enge b8d3511ad5 gnu: Add zip, unzip and zziplib.
* gnu/packages/zip.scm: New file.
* Makefile.am (MODULES): Add it.
2013-01-26 14:40:49 +01:00
Andreas Enge e5c0701f9c gnu: Add TECkit.
* gnu/packages/freetype.scm (teckit): New variable.
* gnu/packages/patches/teckit-cstdio.patch: New file.
* Makefile.am (dist_patch_DATA): Add patch.
2013-01-26 00:43:03 +01:00
Ludovic Courtès cc957c3c74 gnu: Use `mirror://apache' where applicable.
* gnu/packages/libapr.scm (libapr, libaprutil): Use `mirror://apache'.
* gnu/packages/subversion.scm (subversion): Likewise.
2013-01-25 21:52:08 +01:00
Ludovic Courtès 47f9db4128 download: Add Apache mirrors.
* guix/download.scm (%mirrors): Add `apache'.
2013-01-25 21:52:08 +01:00
Cyril Roelandt 59db01942b gnu: Add Subversion.
* gnu/packages/subversion.scm: New file.
* Makefile.am (MODULES): Add it.
2013-01-25 21:52:08 +01:00
Ludovic Courtès 97715602cb gnu: Add SQLite.
* gnu/packages/sqlite.scm: New file.
* Makefile.am (MODULES): Add it.
2013-01-25 21:52:08 +01:00
Ludovic Courtès 67158a4900 download: Follow HTTP redirection upon 301 "moved permanently".
* guix/build/download.scm (http-fetch): Follow redirections upon 301.
  This is what `downloads.sourceforge.net' returns, for instance.
2013-01-25 21:52:08 +01:00
Cyril Roelandt 695e671723 gnu: Add libaprutil.
* gnu/packages/libapr: new variable.
2013-01-25 21:52:08 +01:00
Cyril Roelandt df84950e44 gnu: Add libapr.
* gnu/packages/libapr.scm: New file.
* gnu/packages/patches/libapr-skip-getservbyname-test.patch: New file
* Makefile.am: Add them
2013-01-25 21:52:08 +01:00
Andreas Enge 12a5199a27 gnu: fplll: Update to version 4.0.2.
* gnu/packages/algebra.scm (fplll): Update to version 4.0.2.
2013-01-25 10:50:30 +01:00
Andreas Enge 135eb524b3 gnu: Add poppler.
* gnu/packages/pdf.scm: New file.
* Makefile.am (MODULES): Add it.
2013-01-24 23:51:41 +01:00
Ludovic Courtès dd6b9a3790 packages: Mark the `inputs' field of <package> as thunked.
* guix/packages.scm (<package>)[inputs]: Mark as thunked.
  (package-derivation)[expand-input]: Remove case where the input is a
  procedure.
* tests/packages.scm ("trivial with system-dependent input"): Remove
  `lambda', and use (%current-system).
* gnu/packages/bootstrap.scm (package-from-tarball): Likewise for `inputs'.
  (%bootstrap-glibc, %bootstrap-gcc): Likewise.
* gnu/packages/scheme.scm (mit-scheme): Likewise.
2013-01-24 23:33:51 +01:00
Ludovic Courtès 3b9c002088 guix-package: Error out when passed a non-option argument.
* guix-package.in (guix-package)[parse-options]: Call `leave' when
  passed a non-option argument.
  Reported by Andreas Enge <andreas@enge.fr>.
* tests/guix-package.sh: Add test.
2013-01-24 23:33:51 +01:00
Andreas Enge 313b901255 gnu: Add t1lib.
* gnu/packages/freetype.scm (t1lib): New variable.
2013-01-24 00:21:52 +01:00
Cyril Roelandt d192efae07 gnu: Add OCaml. licenses: Add QPL.
* gnu/packages/ocaml.scm: New file.
* Makefile.am (MODULES): Add it.
* guix/licenses.scm: New variable.
2013-01-24 00:03:43 +01:00
Ludovic Courtès 21c203a53a packages: Mark the `arguments' field of <package> as thunked.
* guix/packages.scm (<package>): Mark `arguments' as thunked.
  (package-derivation): Adjust accordingly.  Parameterize
  %CURRENT-SYSTEM to SYSTEM, so that arguments can refer to it.

* guix/build-system/gnu.scm (package-with-explicit-inputs): Expect
  `package-arguments' to always return a list, and return a list.
  (package-with-extra-configure-variable): Likewise.
  (static-package): Likewise.
* gnu/packages/base.scm (patch, findutils, gcc-4.7, binutils-boot0,
  gcc-boot0, glibc-final-with-bootstrap-bash, cross-gcc-wrapper,
  static-bash-for-glibc, binutils-final, gcc-final): Change `arguments'
  from a lambda to a list, and use (%current-system) as needed.
  (nix-system->gnu-triplet, boot-triplet): Have the first argument
  default to (%current-system).
* gnu/packages/bootstrap.scm (glibc-dynamic-linker): Have `system'
  default to (%current-system).
  (%bootstrap-gcc): Change `arguments' to a list.
* gnu/packages/gawk.scm (gawk): Likewise.
* gnu/packages/m4.scm (m4): Likewise.
* gnu/packages/make-bootstrap.scm (%glibc-for-bootstrap): Likewise, and
  expect `package-arguments' to return a list.
  (%static-inputs, %gcc-static, tarball-package): Likewise.
* gnu/packages/ncurses.scm (ncurses): Likewise.
2013-01-23 23:33:09 +01:00
Ludovic Courtès 9c9da07f4c guix-build: Fix typo.
* guix-build.in (guix-build)[find-package]: Use `x', not `_', to avoid
  confusion with `gettext'.
2013-01-23 23:33:09 +01:00
Ludovic Courtès 12abb19dfb gnu: Remove unnecessary closures around `arguments' value.
* gnu/packages/algebra.scm (pari-gp): Remove closure around the value of
  `arguments'.
* gnu/packages/bdb.scm (bdb): Likewise.
* gnu/packages/mit-krb5.scm (mit-krb5): Likewise.
* gnu/packages/openssl.scm (openssl): Likewise.
* gnu/packages/perl.scm (perl): Likewise.
2013-01-23 23:33:09 +01:00
Ludovic Courtès bbb7a00e9a define-record-type*: Add the `thunked' field definition keyword.
* guix/utils.scm (define-record-type*)[make-syntactic-constructor]: Add
  a `thunked' parameter.
  (thunked-field?, field-bindings): New procedures.  Use the latter when
  generating `letrec*' bindings.
  [thunked-field?, thunked-field-accessor-name, field-spec->srfi-9,
  thunked-field-accessor-name]: New procedures.
  Use them when generating the `define-record-type' form, and to
  generated thunk field accessors, along call to
  `make-syntactic-constructor' with the new argument.
* tests/utils.scm ("define-record-type* & thunked",
  "define-record-type* & thunked & default",
  "define-record-type* & thunked & inherited"): New tests.
2013-01-23 23:33:09 +01:00
Ludovic Courtès 6798a8e485 doc: Clarify that `guix-build' really is for developers.
* doc/guix.texi (Invoking guix-build): Make it clear that `guix-build'
  doesn't access the user's profile, and add cross-ref to `guix-package'.
  Suggested by Nikita Karetnikov <nikita@karetnikov.org>.
2013-01-23 23:33:09 +01:00
Andreas Enge 6e4da6ead1 gnu: Add fontconfig.
* gnu/packages/freetype.scm (fontconfig): New variable.
2013-01-23 21:51:42 +01:00
Andreas Enge 8dc8bf02c6 gnu: libjpeg: Correct name of libjpeg-8 package to allow installation.
* gnu/packages/libjpeg (libjpeg-8): Switch name field to "libjpeg".
2013-01-23 21:28:44 +01:00
Ludovic Courtès 4f1ee0c964 Update `THANKS'. 2013-01-23 15:40:14 +01:00
Ludovic Courtès 821b0015fa doc: Improve wording and fix typos in "Features".
* doc/guix.texi (Features): Fix typos, and rephrase according to the
  suggestions of Alex Sassmannshausen <alex.sassmannshausen@gmail.com>.
2013-01-23 15:40:13 +01:00
Andreas Enge 2b902c3c46 gnu: ghostscript: Build and install shared library and header files.
* gnu/packages/ghostscript (ghostscript): Extend build and install phases.
2013-01-22 23:48:08 +01:00
Ludovic Courtès 67668155c5 guix-package: Fix --roll-back' when --profile' is not passed.
* guix-package.in (roll-back): Fix file name of PREVIOUS-PROFILE, which
  could end up containing the dirname twice.
  Reported by Nikita and Andreas.
* tests/guix-package.sh: Add test.
2013-01-22 22:35:16 +01:00
Ludovic Courtès 5401dd7595 guix-build: Allow version-qualified package names.
* guix-build.in (guix-build)[find-package]: New procedure.
  Use it instead of using `find-packages-by-name' directly.
  Suggested by Andreas Enge <andreas@enge.fr>.
* tests/guix-build.sh: Add tests.
* doc/guix.texi (Invoking guix-build): Add `coreutils-8.20' as an
  example.  Fix guile-1.8 example.
2013-01-22 22:14:25 +01:00
Ludovic Courtès 476f8ea33c Update `ROADMAP'. 2013-01-22 00:17:42 +01:00
Ludovic Courtès 7cd1d7bd0c gnu: automake: Adjust test suite to lack of /bin/sh.
* gnu/packages/autotools.scm (autoconf-wrapper): New variable.
  (automake): Use AUTOCONF-WRAPPER instead of AUTOCONF.
  Add `automake-skip-amhello-tests.patch' as an input.
  Add #:patches and #:phases arguments.
* gnu/packages/patches/automake-skip-amhello-tests.patch: New file.
* Makefile.am (dist_patch_DATA): Add it.
2013-01-22 00:17:42 +01:00
Ludovic Courtès f153d89155 packages: Remove redundant test for inputs-as-procedures.
* guix/packages.scm (package-derivation)[expand-input]: Remove redundant
  test when the input is a procedure.
2013-01-22 00:17:42 +01:00
Ludovic Courtès c6dbd50594 doc: Add "The Perfect Setup" in 'HACKING'.
* HACKING (The Perfect Setup): New section.
2013-01-22 00:17:42 +01:00
Ludovic Courtès 4f028c8f95 gnu: Add Geiser.
* gnu/packages/emacs.scm (geiser): New variable.
2013-01-22 00:17:42 +01:00
Ludovic Courtès dc56970dde gnu: gnutls: Remove unneeded import.
* gnu/packages/gnutls.scm: Remove import of (gnu packages base).
2013-01-22 00:17:42 +01:00
Andreas Enge 23180bebff gnu: Add groff.
* gnu/packages/groff.scm: New file.
* Makefile.am (MODULES): Add it.
2013-01-21 23:23:02 +01:00
Andreas Enge 87ec7a7a5e gnu: Add psutils.
* gnu/packages/ghostscript.scm (psutils): New variable.
2013-01-21 23:18:46 +01:00
Andreas Enge 05bf6f8289 gnu: Add netpbm.
* gnu/packages/netpbm.scm: New file.
* Makefile.am (MODULES): Add it.
2013-01-21 21:46:46 +01:00
Ludovic Courtès eb39051936 gnu: Add missing libevent patch.
* gnu/packages/patches/libevent-dns-tests.patch: New file.
* Makefile.am (dist_patch_DATA): Add it.
2013-01-21 08:53:44 +01:00
Nikita Karetnikov e1f8f477de Update 'HACKING'.
* HACKING (When the platform is supported by Nixpkgs): Update the example.
2013-01-21 03:11:10 +00:00
Ludovic Courtès 7f08437bd8 gnu: Add Tor.
* gnu/packages/tor.scm: New file.
* Makefile.am (MODULES): Add it.
2013-01-20 23:21:04 +01:00
Ludovic Courtès 2e87ca8f52 Augment `.gitignore'. 2013-01-20 22:54:36 +01:00
Ludovic Courtès 85f3a05e4c Update `NEWS'.
* NEWS: Update.
2013-01-20 22:54:36 +01:00
Ludovic Courtès 6b32a64a4d gnu: Add libevent.
* gnu/packages/libevent.scm: New file.
* Makefile.am (MODULES): Add it.
2013-01-20 22:54:36 +01:00
Ludovic Courtès 483f11589e download: Add HTTPS support.
* guix/build/download.scm: Autoload (gnutls).
  (tls-wrap): New procedure.
  (open-connection-for-uri): Add support for `https'.  Wrap the socket
  with `tls-wrap' in that case.
  (url-fetch): Add `https'.
* guix/download.scm (gnutls-derivation): New procedure.
  (url-fetch)[need-gnutls?]: New variable.
  Call `gnutls-derivation' when NEED-GNUTLS? is true, and add its output
  to the `GUILE_LOAD_PATH' env. var. in that case.
2013-01-20 22:54:36 +01:00
Ludovic Courtès e509d1527d packages: Have `package-derivation' return a <derivation> as a second value.
* guix/packages.scm (cache): Change the `drv' argument to `thunk'.
  Memoize all the return values of THUNK.
  (cached-derivation): Remove.
  (cached): New macro.
  (package-derivation): Use `cached' instead of `(or (cached-derivation) …)'.
* doc/guix.texi (Defining Packages): Update accordingly.
2013-01-20 22:54:36 +01:00
Andreas Enge 079fca3be8 gnu: mit-krb5: Patch and enable tests.
* gnu/packages/mit-krb5.scm (mit-krb5): Enable patched tests.
2013-01-20 22:29:55 +01:00
Ludovic Courtès f6ab05509c Update `THANKS'. 2013-01-20 15:46:36 +01:00
Ludovic Courtès 091196b383 doc: Run `useradd -g guix-builder -G guix-builder'.
* doc/guix.texi (Setting Up the Daemon): Add `-G guix-builder' when
  invoking `useradd'.
  Suggested by Aleix Conchillo Flaqué <aconchillo@gmail.com>.
2013-01-20 15:46:36 +01:00
Andreas Enge c4854e76e2 gnu: screen: correct license to gpl2+
* gnu/packages/screen.scm (screen): correct license field
2013-01-20 12:29:09 +01:00
Cyril Roelandt 6c3a720481 Add GNU Screen.
* gnu/packages/screen.scm: New file.
* Makefile.am (MODULES): Add it.
2013-01-20 12:22:14 +01:00
Ludovic Courtès c217708f7b build: Use "nix-instantiate" as the default name for that program.
* configure.ac: Have `NIX_INSTANTIATE' default to `nix-instantiate'.
2013-01-19 23:09:36 +01:00
Ludovic Courtès 2ffa297ab8 gnu: lout: Add missing dependency on Ghostscript.
* gnu/packages/lout.scm (lout): Add GHOSTSCRIPT as an input.  Use a
  mirror:// URL.
2013-01-19 22:32:21 +01:00
Ludovic Courtès 79c398a20c gnu: freetype: Avoid license/package name clash.
* gnu/packages/freetype.scm: Use a renamer for (guix licenses), to avoid
  a name clash.
2013-01-19 22:31:17 +01:00
Ludovic Courtès 943f33a326 distro: glib: Run the test suite; add DBus.
* distro/packages/glib.scm: Rename to...
* gnu/packages/glib.scm: ... this.  Update module declaration
  accordingly.
  (dbus): New variable.
  (glib): Change version number to 2.34.3, and adjust URL accordingly.
  Add a "doc" output.  Add #:configure-flags, #:patches, and #:phases
  arguments. Add DBUS as an input, as well a three patches.
* Makefile.am (MODULES): Adjust to file renaming.
  (dist_patch_DATA): Add `glib-tests-timezone.patch',
  `glib-tests-homedir.patch', and `glib-tests-desktop.patch'.
2013-01-19 22:20:47 +01:00
Nikita Karetnikov 3889a82ef8 distro: Add GLib.
* distro/packages/glib.scm: New file.
* Makefile.am (MODULES): Add it.
2013-01-19 22:20:47 +01:00
Andreas Enge 11314eb68e gnu: libtiff: Add zlib support.
* gnu/packages/libtiff.scm (libtiff): Add input zlib.
2013-01-19 17:34:26 +01:00
Andreas Enge f0444eafe2 gnu: Add libxml2.
* gnu/packages/xml.scm (libxml2): New variable.
2013-01-19 15:17:28 +01:00
Andreas Enge bf4018fb15 gnu: Add GNU Ghostscript and its dependencies libpaper and lcms.
* gnu/packages/ghostscrip.scm: New file.
* Makefile.am (MODULES): Add it.
2013-01-19 13:44:42 +01:00
Andreas Enge b387a1c5b2 gnu: Add Freetype.
licenses: Add freetype license.

* gnu/packages/freetype.scm: New file.
* guix/licenses.scm (freetype): New variable.
* Makefile.am (MODULES): Add freetype.scm.
2013-01-19 12:28:55 +01:00
Nikita Karetnikov 8f86331a22 gnu: ddrescue: Fix 'synopsis' and 'description'.
* gnu/packages/ddrescue.scm (ddrescue): Fix 'synopsis' and 'description'.
2013-01-19 01:01:27 +00:00
Nikita Karetnikov 1f5ec939ca gnu: Add GNU Speex.
* gnu/packages/oggvorbis.scm (speex): Add it.
(vorbis-tools): Add 'speex' to 'inputs'.
2013-01-19 00:41:41 +00:00
Andreas Enge 23f339dd7f gnu: Amended previous patch.
* Makefile.am (MODULES): Add libpng.scm.
2013-01-18 23:55:07 +01:00
Andreas Enge 5752a7d77c gnu: Add libpng.
* gnu/packages/libpng.scm: New file.
* Makefile.am (MODULES): Add it.
2013-01-18 23:53:08 +01:00
Andreas Enge 99e6c1b18e licenses: Add 'vim'.
* guix/licenses.scm (vim): New variable.
2013-01-18 22:48:28 +01:00
Andreas Enge 6a06172b65 gnu: Add libogg, libvorbis and vorbis-tools.
* gnu/packages/oggvorbis.scm: New file.
* Makefile.am (MODULES): Add it.
2013-01-18 20:27:33 +01:00
Ludovic Courtès 3465eb03bd distro: tcl: Make a `tclsh' symlink.
* gnu/packages/tcl.scm (tcl): Add a `tclsh' symlink.
2013-01-18 18:22:48 +01:00
Ludovic Courtès 5fc5c2f340 build: Bump to version 0.2.
* configure.ac: Bump version number.
2013-01-18 16:59:02 +01:00
Ludovic Courtès 665991957c distro: bigloo: Update to 4.0a.
* gnu/packages/scheme.scm (bigloo): Update to 4.0a.
2013-01-18 16:57:23 +01:00
Ludovic Courtès c3d98cad5d distro: gnutls: Adjust to the latest version.
* gnu/packages/gnutls.scm (gnutls): Remove the #:parallel-build?
  argument, which is no longer needed.  Remove the commented-out LZO
  input, since GnuTLS no longer supports it since 3.0.0.
2013-01-18 16:56:59 +01:00
Ludovic Courtès d7d408d578 distro: gnutls: Use the GnuPG mirrors.
* gnu/packages/gnutls.scm (gnutls): Use the gnutls.org/GnuPG URL.
2013-01-18 16:54:41 +01:00
366 changed files with 46846 additions and 5607 deletions
+17 -3
View File
@@ -1,17 +1,31 @@
;; Per-directory local variables for GNU Emacs 23 and later.
((nil . ((fill-column . 72)
((nil . ((fill-column . 78)
(tab-width . 8)))
(c-mode . ((c-file-style . "gnu")))
(scheme-mode
.
((indent-tabs-mode . nil)
(eval . (put 'test-assert 'scheme-indent-function 1))
(eval . (put 'test-equal 'scheme-indent-function 1))
(eval . (put 'call-with-input-string 'scheme-indent-function 1))
(eval . (put 'guard 'scheme-indent-function 1))
(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))))
+24 -5
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,7 +35,8 @@ config.cache
/po/remove-potcdate.sin
/po/stamp-po
/po/guix.pot
/guix-build
/po/*.mo
/po/*.gmo
/tests/*.trs
/INSTALL
/m4/*
@@ -44,12 +46,10 @@ config.cache
/doc/guix.pdf
/doc/stamp-vti
/doc/version.texi
/guix-download
/gnu/packages/bootstrap/x86_64-linux/guile-2.0.7.tar.xz
/gnu/packages/bootstrap/i686-linux/guile-2.0.7.tar.xz
/guix-package
/gnu/packages/bootstrap/mips64el-linux/guile-2.0.9.tar.xz
/guix/config.scm
/guix-import
/nix/nix-daemon/nix-daemon.cc
/nix/config.h
/nix/config.h.in
@@ -64,4 +64,23 @@ stamp-h[0-9]
/nix/scripts/list-runtime-roots
/test-env
/nix/nix-setuid-helper/nix-setuid-helper.cc
/guix-gc
/scripts/guix
/doc/guix.aux
/doc/guix.cp
/doc/guix.cps
/doc/guix.fn
/doc/guix.fns
/doc/guix.ky
/doc/guix.pg
/doc/guix.toc
/doc/guix.tp
/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 -4
View File
@@ -5,9 +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>
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>
+4 -1
View File
@@ -1 +1,4 @@
Please see the Git commit log at <https://gitorious.org/guix>.
Normally a ChangeLog is generated at "make dist" time and available in
source tarballs.
If not, see the Git commit log at <http://git.sv.gnu.org/cgit/guix.git/>.
+115 -109
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:
@@ -23,138 +63,104 @@ Similarly, for a Guile session using the Guix modules:
The pre-inst-env script sets up all the environment variables
necessary to support this.
* Adding new packages
* The Perfect Setup
Package recipes in Guix look like this:
The Perfect Setup to hack on Guix is basically the perfect setup used
for Guile hacking (info "(guile) Using Guile in Emacs"). First, you
need more than an editor, you need [[http://www.gnu.org/software/emacs][Emacs]], empowered by the wonderful
[[http://nongnu.org/geiser/][Geiser]].
#+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
Geiser allows for interactive and incremental development from within
Emacs: code compilation and evaluation from within buffers, access to
on-line documentation (docstrings), context-sensitive completion, M-. to
jump to an object definition, a REPL to try out your code, and more.
Such a recipe can be written by hand, and then tested by running
./pre-inst-env guix-build nettle.
To actually edit the code, Emacs already has a neat Scheme mode. But in
addition to that, you must not miss [[http://www.emacswiki.org/emacs/ParEdit][Paredit]]. It provides facilities to
directly operate on the syntax tree, such as raising an s-expression or
wrapping it, swallowing or rejecting the following s-expression, etc.
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:
* Submitting Patches
guix-download http://ftp.gnu.org/gnu/nettle/nettle-2.5.tar.gz
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
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]].
Alternatively, it is possible to semi-automatically import recipes from
the [[http://nixos.org/nixpkgs/][Nixpkgs]] software distribution using this command:
As you become a regular contributor, you may find it convenient to have write
access to the repository (see below.)
guix-import /path/to/nixpkgs/checkout nettle
* Coding Style
The command automatically fetches and converts to Guix the “Nix
expression” of Nettle.
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.
* Porting the Guix distro on a new platform
** Programming Paradigm
** Introduction
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.
Unlike Make or similar build tools, Guix requires absolutely /all/ the
dependencies of a build process to be specified.
** Modules
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.
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.
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.
Modules that deal with the broader GNU system should be in the (gnu …) name
space rather than (guix …).
This section describes how to build those bootstrap binaries when
porting to a new platform.
** Data Types and Pattern Matching
** When the platform is supported by Nixpkgs
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.
In that case, the easiest thing is to bootstrap the distro using
binaries from Nixpkgs.
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.
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:
** Formatting Code
#+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
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.
That should allow the distro to be bootstrapped.
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.
Then, the tarballs containing the initial binaries of Guile, Coreutils,
GCC, libc, etc. need to be built. To that end, run the following
commands:
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.
#+BEGIN_SRC sh
./pre-inst-env guix-build \
-e '(@ (distro packages make-bootstrap) bootstrap-tarballs)' \
--system=i686-linux
Procedures should not have more than four positional parameters. Use keyword
parameters for procedures that take more than four parameters.
#+END_SRC
* Commit Access
These should build tarballs containing statically-linked tools usable on
that system.
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.)
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.
Non-trivial patches should always be posted to guix-devel@gnu.org (trivial
patches include fixing typos, etc.)
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.
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,
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.
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.
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.
That last part is subject to being adjusted, allowing individuals to commit
directly on non-controversial changes on parts theyre familiar with.
+134 -163
View File
@@ -18,205 +18,123 @@
# along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
bin_SCRIPTS = \
guix-build \
guix-download \
guix-import \
guix-package \
guix-gc
scripts/guix
nodist_noinst_SCRIPTS = \
pre-inst-env \
test-env
include gnu-system.am
MODULES = \
guix/base32.scm \
guix/records.scm \
guix/hash.scm \
guix/utils.scm \
guix/derivations.scm \
guix/download.scm \
guix/monads.scm \
guix/profiles.scm \
guix/serialization.scm \
guix/nar.scm \
guix/derivations.scm \
guix/gnu-maintenance.scm \
guix/licenses.scm \
guix/build-system.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/ftp-client.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 \
guix/build/union.scm \
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/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/check.scm \
gnu/packages/compression.scm \
gnu/packages/cpio.scm \
gnu/packages/cyrus-sasl.scm \
gnu/packages/dejagnu.scm \
gnu/packages/ddrescue.scm \
gnu/packages/ed.scm \
gnu/packages/emacs.scm \
gnu/packages/file.scm \
gnu/packages/flex.scm \
gnu/packages/gawk.scm \
gnu/packages/gdb.scm \
gnu/packages/gdbm.scm \
gnu/packages/gettext.scm \
gnu/packages/global.scm \
gnu/packages/gnupg.scm \
gnu/packages/gnutls.scm \
gnu/packages/gperf.scm \
gnu/packages/gsasl.scm \
gnu/packages/guile.scm \
gnu/packages/help2man.scm \
gnu/packages/icu4c.scm \
gnu/packages/idutils.scm \
gnu/packages/indent.scm \
gnu/packages/ld-wrapper.scm \
gnu/packages/less.scm \
gnu/packages/libffi.scm \
gnu/packages/libidn.scm \
gnu/packages/libjpeg.scm \
gnu/packages/libsigsegv.scm \
gnu/packages/libtiff.scm \
gnu/packages/libunistring.scm \
gnu/packages/libusb.scm \
gnu/packages/linux.scm \
gnu/packages/lout.scm \
gnu/packages/lsh.scm \
gnu/packages/m4.scm \
gnu/packages/mailutils.scm \
gnu/packages/make-bootstrap.scm \
gnu/packages/mit-krb5.scm \
gnu/packages/multiprecision.scm \
gnu/packages/mysql.scm \
gnu/packages/nano.scm \
gnu/packages/ncurses.scm \
gnu/packages/nettle.scm \
gnu/packages/openssl.scm \
gnu/packages/perl.scm \
gnu/packages/pkg-config.scm \
gnu/packages/pth.scm \
gnu/packages/python.scm \
gnu/packages/readline.scm \
gnu/packages/recutils.scm \
gnu/packages/rsync.scm \
gnu/packages/scheme.scm \
gnu/packages/shishi.scm \
gnu/packages/system.scm \
gnu/packages/tcl.scm \
gnu/packages/texinfo.scm \
gnu/packages/time.scm \
gnu/packages/wget.scm \
gnu/packages/which.scm \
gnu/packages/xml.scm \
gnu/packages/zile.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/bigloo-gc-shebangs.patch \
gnu/packages/patches/binutils-ld-new-dtags.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/flex-bison-tests.patch \
gnu/packages/patches/gawk-shell.patch \
gnu/packages/patches/gettext-gets-undeclared.patch \
gnu/packages/patches/glibc-bootstrap-system.patch \
gnu/packages/patches/glibc-no-ld-so-cache.patch \
gnu/packages/patches/guile-1.8-cpp-4.5.patch \
gnu/packages/patches/guile-default-utf8.patch \
gnu/packages/patches/guile-relocatable.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/findutils-absolute-paths.patch \
gnu/packages/patches/perl-no-sys-dirs.patch \
gnu/packages/patches/procps-make-3.82.patch \
gnu/packages/patches/readline-link-ncurses.patch \
gnu/packages/patches/shishi-gets-undeclared.patch \
gnu/packages/patches/tar-gets-undeclared.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
TESTS = \
# 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 \
tests/records.scm \
tests/utils.scm \
tests/build-utils.scm \
tests/packages.scm \
tests/snix.scm \
tests/store.scm \
tests/monads.scm \
tests/nar.scm \
tests/union.scm \
tests/profiles.scm
SH_TESTS = \
tests/guix-build.sh \
tests/guix-download.sh \
tests/guix-gc.sh \
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
AM_TESTS_ENVIRONMENT = abs_top_srcdir="$(abs_top_srcdir)"
@@ -227,13 +145,26 @@ AM_SCM_LOG_FLAGS = --no-auto-compile -L "$(top_srcdir)"
SH_LOG_COMPILER = $(top_builddir)/test-env $(SHELL)
AM_SH_LOG_FLAGS = -x -e
# Make sure `tests/guix-gc.sh' runs last, after all the others. Otherwise it
# could end up removing files from the store while they are being used by
# other instances of the daemon.
tests/guix-gc.log: \
$(patsubst %.sh,%.log,$(filter-out tests/guix-gc.sh,$(SH_TESTS))) \
$(SCM_TESTS:%.scm=%.log)
EXTRA_DIST = \
HACKING \
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/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 \
@@ -242,10 +173,19 @@ EXTRA_DIST = \
release.nix \
$(TESTS)
CLEANFILES = $(GOBJECTS) *.log
CLEANFILES = \
$(GOBJECTS) \
$(SCM_TESTS:tests/%.scm=%.log)
AM_V_GUILEC = $(AM_V_GUILEC_$(V))
AM_V_GUILEC_ = $(AM_V_GUILEC_$(AM_DEFAULT_VERBOSITY))
AM_V_GUILEC_0 = @echo " GUILEC" $@;
# XXX: Use the C locale for when Guile lacks
# <http://git.sv.gnu.org/cgit/guile.git/commit/?h=stable-2.0&id=e2c6bf3866d1186c60bacfbd4fe5037087ee5e3f>.
.scm.go:
$(MKDIR_P) `dirname "$@"`
$(AM_V_GUILEC)$(MKDIR_P) `dirname "$@"` ; \
LC_ALL=C \
$(top_builddir)/pre-inst-env \
$(GUILD) compile -L "$(top_builddir)" -L "$(top_srcdir)" \
-Wformat -Wunbound-variable -Warity-mismatch \
@@ -264,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
@@ -278,3 +217,35 @@ AM_DISTCHECK_CONFIGURE_FLAGS = \
--with-libgcrypt-prefix="$(LIBGCRYPT_PREFIX)" \
--with-nix-prefix="$(NIX_PREFIX)" \
--enable-daemon
dist-hook: sync-descriptions gen-ChangeLog assert-no-store-file-names
distcheck-hook: assert-binaries-available
sync-descriptions:
-$(top_builddir)/pre-inst-env $(GUILE) \
$(top_srcdir)/build-aux/sync-descriptions.scm
gen-ChangeLog:
if test -d .git; then \
$(top_srcdir)/build-aux/gitlog-to-changelog \
> $(distdir)/cl-t; \
rm -f $(distdir)/ChangeLog; \
mv $(distdir)/cl-t $(distdir)/ChangeLog; \
fi
# Make sure we're not shipping a file that embeds a local /nix/store file name.
assert-no-store-file-names:
if grep -r --exclude=*.texi --exclude=*.info \
"$(storedir)/[a-z0-9]{32}-" $(distdir) ; \
then \
echo "error: store file names embedded in the distribution" >&2 ; \
exit 1 ; \
fi
# 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
+452 -1
View File
@@ -1 +1,452 @@
No news yet.
-*- org -*-
#+TITLE: Guix NEWS history of user-visible changes
#+STARTUP: content hidestars
Copyright © 2013 Ludovic Courtès <ludo@gnu.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.
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)
** Package management
*** Guix commands are now sub-commands of the “guix” program
Instead of typing “guix-package”, one now has to type “guix package”, and so
on. This has allowed us to homogenize the user interface and initial program
setup, and to allow commands to be upgradable through “guix pull”.
*** New “guix package --upgrade” option
As the name implies, this option atomically upgrades all the packages
installed in a profile or the set of packages matching a given regexp.
See “Invoking guix package” in the manual.
*** New “guix package --search” option
Performs a full text search in package synopses and descriptions, and returns
the matching packages in recutils format. See “Invoking guix package” in the
manual, for details.
*** New “guix pull” command
The command pulls the latest version of Guixboth the package management
modules and the distribution. See the manual for details.
*** New binary substituter
The “substituter” mechanism allows pre-built binaries to be transparently
downloaded instead of performing a build locally. Currently binaries are
available for x86_64 Linux-based GNU systems from http://hydra.gnu.org. The
distribution is continuously built and binaries are made available from there.
See http://hydra.gnu.org/jobset/gnu/master under “Job status” for the list of
available binary packages.
*** New “guix refresh” command
The command is used by Guix maintainers. It automatically updates the
distribution to the latest upstream releases of GNU software.
*** New “guix hash” command
Convenience command to compute the hash of a file. See the manual for
details.
*** Nix daemon code updated
The daemon code from Nix, used by the guix-daemon command, has been updated
to current Nix master.
** Programming interfaces
*** (guix download) now supports HTTPS, using GnuTLS
It allows package source tarballs to be retrieved over HTTPS.
*** New native-search-path and search-path package fields
Packages can define in their native-search-path field environment variables
that define search paths and need to be set for proper functioning of the
package. For instance, GCC has CPATH and LIBRARY_PATH in its
native-search-path, Perl has PERL5LIB, Python has PYTHONPATH, etc.
These environment variables are automatically set when building a package that
uses one of these.
*** Package inputs can be a function of the target system type
The inputs field of a package can now be conditional on the value of
(%current-system). This is useful for packages that take system-dependent
tarballs as inputs, such as GNU/MIT Scheme.
*** New build systems
The perl-build-system, python-build-system, and cmake-build-system have
been added. They implement the standard build systems for Perl, Python, and
CMake packages.
*** Tools to build Linux initrds, QEMU images, and more
The (gnu packages linux-initrd) module provides a procedure to build a Linux
initrd (“initial RAM disk”). The initrd embeds Guile, which is used to
evaluate the given expression. The example below returns an initrd that
mounts the /proc file system and starts a REPL:
(expression->initrd
'(begin
(mkdir "/proc")
(mount "none" "/proc" "proc")
((@ (system repl repl) start-repl))))
More examples in the linux-initrd.scm file.
Experimental interfaces to produce and use QEMU images are provided by the
(gnu system vm) module. For instance, the
expression->derivation-in-linux-vm evaluates the given Scheme expression in
a QEMU virtual machine running the Linux kernel and Guile.
** GNU distribution
Many updates and additions have been made to the distribution. Here are the
highlights.
*** Major updates
GCC 4.7.3 (the default) and GCC 4.8.0, Binutils 2.23.2, Guile 2.0.9,
Coreutils 8.20, GDB 7.6, Texinfo 5.1.
*** Noteworthy new packages
TeXLive, Xorg, GNU GRUB, GNU Parted, QEMU and QEMU-KVM, Avahi, Bigloo,
CHICKEN, Scheme48, Hugs, Python, Lua, Samba.
+29 -14
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,23 +33,38 @@ 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) 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
+7 -2
View File
@@ -2,7 +2,7 @@
#+TITLE: Tentative GNU Guix Road Map
Copyright © 2012 Ludovic Courtès <ludo@gnu.org>
Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org>
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
@@ -20,7 +20,7 @@ The goals of the GNU Guix project are two-fold:
This documents lists tentative milestones toward these goals.
* GNU Guix 0.1: Dec. 2012
* GNU Guix 0.1: Jan. 2013 (was: Dec. 2012)
** basic package management facilities
@@ -41,6 +41,11 @@ Including install, upgrade, remove, roll-back, and search.
- sophisticated handling of collisions when building a union (package
priorities, etc.)
** [[file:TODO::*add%20guix-pull][guix-pull tool]] to quickly update Guix and GNU for normal users
** support for fetching pre-built binaries
- this is known as the "binary-cache substituter" in Nix parlance
** auto-update facility available for GNU packages
** more packages
+17 -2
View File
@@ -3,6 +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:
Jason Self <jself@gnu.org>
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>
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>
+47 -60
View File
@@ -1,5 +1,8 @@
-*- mode: org; coding: utf-8; -*-
#+TITLE: What's left to do?
#+STARTUP: content hidestars
Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org>
Copying and distribution of this file, with or without modification,
@@ -8,12 +11,6 @@ Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org>
* integrate needed Nix code
Guix uses Nixs daemon (nix-worker, later renamed to nix-daemon) to
actually perform builds, scheduling, substitution of pre-built binaries,
and GC-related tasks. The daemon mainly uses libstore from Nix.
Integrating it in Guix itself will make Guix self-contained, thereby
simplifying our users lives.
** Remove dependency on OpenSSL
The openssl command-line tool is used in libstore to sign store paths
@@ -23,39 +20,33 @@ X.509 SubjectPublicKeyInfo. These can be decoded with the [[http://lists.gnu.or
GnuTLS]], but not yet with its Guile bindings. Theres also
gnutls_privkey_sign_data to sign, and related functions.
** Add a binary cache substituter
Like scripts/download-from-binary-cache.pl in Nix, but written in
Scheme. Substituters allow pre-built binaries to be downloaded when
they are available from a trusted source.
** Add `guix publish' to publish the store using Guile's web server
** MAYBE Add a substituter that uses the GNUnet DHT
Generate narinfos and nars on the fly, upon HTTP GET requests.
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.
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.
** 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 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
Like scripts/build-remote.pl in Nix.
* infrastructure
** have a Hydra instance build Guix packages
[[http://nixos.org/hydra/][Hydra]] is a continuous integration tool based on Nix. It now has
[[https://github.com/NixOS/hydra/commit/f27ae1d5663680400cb99cfb898970f34d8d21be][Guile/Guix support]], which allows “build recipes” written in Guile using
Guix to be used directly on Hydra.
For a start, we may use the instance at hydra.nixos.org, generously
provided by TU Delft. However, in the future, we may want to setup our
own instance at gnu.org.
* 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:
@@ -70,11 +61,11 @@ write a new one based on it, as opposed to actually using it.
* extend <package>
** add support for search-paths
** add recommends field
This should be passed to the build system, to extend package-specific
search path environment variableslike GUILE_LOAD_PATH, PERL5LIB,
etc.
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
@@ -82,8 +73,6 @@ 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
@@ -95,11 +84,16 @@ create a new dir.
("i3" ,p3)))
#+END_SRC
* 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.
* synchronize package descriptions with GSRC and/or the [[http://directory.fsf.org][FSD]]
Meta-data for GNU packages, including descriptions and synopses, can be
dumped from the FSD:
http://directory.fsf.org/wiki?title=GNU/Export&action=purge .
We could periodically synchronize with that.
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
@@ -107,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
@@ -135,24 +116,30 @@ Support sophisticated collision handling when building a union: check
whether the colliding files are identical, honor per-package priorities,
etc.
* guix-package
* 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 --roll-back
** add --list-generations, and --delete-generations
** add --upgrade
** add --search
* guix build utils
** Add equivalent to "rm -rf"
** Add equivalent to Nixpkgs's wrapProgram
** Add equivalent to chrpath, possibly using [[https://gitorious.org/guile-dlhacks/guile-dlhacks/][guile-dlhacks]]
** MAYBE Change ld-wrapper to add RPATH for libs passed by file name
** Add a hash-rewriting thing for deep dependency replacement without rebuild
** MAYBE Add equivalent to chrpath that uses [[https://gitorious.org/guile-dlhacks/guile-dlhacks/][guile-dlhacks]]
** MAYBE Add a hash-rewriting thing for deep dependency replacement without rebuild
See [[https://github.com/NixOS/nixpkgs/commit/d1662d715514e6ef9d3dc29f132f1b3d8e608a18][Shea Levy's `replace-dependency' in Nixpkgs]].
* distro
** choose a name! (Jinn?)
** port to new GNU/Linux platforms, notably mipsel64-linux
** port to GNU/Hurd, aka. i686-gnu
+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)))
+8 -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"
@@ -34,12 +35,17 @@
;;"http://www.fdn.fr/~lcourtes/software/guix/packages"
)
;; XXX: Work around <http://bugs.gnu.org/13095>, present in Guile
;; up to 2.0.7.
(module-define! (resolve-module '(web client))
'shutdown (const #f))
(define (file-name->uri file)
"Return the URI for FILE."
(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)
+432
View File
@@ -0,0 +1,432 @@
eval '(exit $?0)' && eval 'exec perl -wS "$0" ${1+"$@"}'
& eval 'exec perl -wS "$0" $argv:q'
if 0;
# Convert git log output to ChangeLog format.
my $VERSION = '2012-07-29 06:11'; # UTC
# The definition above must lie within the first 8 lines in order
# for the Emacs time-stamp write hook (at end) to update it.
# If you change this file with Emacs, please let the write hook
# do its job. Otherwise, update this string manually.
# Copyright (C) 2008-2013 Free Software Foundation, Inc.
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# Written by Jim Meyering
use strict;
use warnings;
use Getopt::Long;
use POSIX qw(strftime);
(my $ME = $0) =~ s|.*/||;
# use File::Coda; # http://meyering.net/code/Coda/
END {
defined fileno STDOUT or return;
close STDOUT and return;
warn "$ME: failed to close standard output: $!\n";
$? ||= 1;
}
sub usage ($)
{
my ($exit_code) = @_;
my $STREAM = ($exit_code == 0 ? *STDOUT : *STDERR);
if ($exit_code != 0)
{
print $STREAM "Try '$ME --help' for more information.\n";
}
else
{
print $STREAM <<EOF;
Usage: $ME [OPTIONS] [ARGS]
Convert git log output to ChangeLog format. If present, any ARGS
are passed to "git log". To avoid ARGS being parsed as options to
$ME, they may be preceded by '--'.
OPTIONS:
--amend=FILE FILE maps from an SHA1 to perl code (i.e., s/old/new/) that
makes a change to SHA1's commit log text or metadata.
--append-dot append a dot to the first line of each commit message if
there is no other punctuation or blank at the end.
--no-cluster never cluster commit messages under the same date/author
header; the default is to cluster adjacent commit messages
if their headers are the same and neither commit message
contains multiple paragraphs.
--srcdir=DIR the root of the source tree, from which the .git/
directory can be derived.
--since=DATE convert only the logs since DATE;
the default is to convert all log entries.
--format=FMT set format string for commit subject and body;
see 'man git-log' for the list of format metacharacters;
the default is '%s%n%b%n'
--strip-tab remove one additional leading TAB from commit message lines.
--strip-cherry-pick remove data inserted by "git cherry-pick";
this includes the "cherry picked from commit ..." line,
and the possible final "Conflicts:" paragraph.
--help display this help and exit
--version output version information and exit
EXAMPLE:
$ME --since=2008-01-01 > ChangeLog
$ME -- -n 5 foo > last-5-commits-to-branch-foo
SPECIAL SYNTAX:
The following types of strings are interpreted specially when they appear
at the beginning of a log message line. They are not copied to the output.
Copyright-paperwork-exempt: Yes
Append the "(tiny change)" notation to the usual "date name email"
ChangeLog header to mark a change that does not require a copyright
assignment.
Co-authored-by: Joe User <user\@example.com>
List the specified name and email address on a second
ChangeLog header, denoting a co-author.
Signed-off-by: Joe User <user\@example.com>
These lines are simply elided.
In a FILE specified via --amend, comment lines (starting with "#") are ignored.
FILE must consist of <SHA,CODE+> pairs where SHA is a 40-byte SHA1 (alone on
a line) referring to a commit in the current project, and CODE refers to one
or more consecutive lines of Perl code. Pairs must be separated by one or
more blank line.
Here is sample input for use with --amend=FILE, from coreutils:
3a169f4c5d9159283548178668d2fae6fced3030
# fix typo in title:
s/all tile types/all file types/
1379ed974f1fa39b12e2ffab18b3f7a607082202
# Due to a bug in vc-dwim, I mis-attributed a patch by Paul to myself.
# Change the author to be Paul. Note the escaped "@":
s,Jim .*>,Paul Eggert <eggert\\\@cs.ucla.edu>,
EOF
}
exit $exit_code;
}
# If the string $S is a well-behaved file name, simply return it.
# If it contains white space, quotes, etc., quote it, and return the new string.
sub shell_quote($)
{
my ($s) = @_;
if ($s =~ m![^\w+/.,-]!)
{
# Convert each single quote to '\''
$s =~ s/\'/\'\\\'\'/g;
# Then single quote the string.
$s = "'$s'";
}
return $s;
}
sub quoted_cmd(@)
{
return join (' ', map {shell_quote $_} @_);
}
# Parse file F.
# Comment lines (starting with "#") are ignored.
# F must consist of <SHA,CODE+> pairs where SHA is a 40-byte SHA1
# (alone on a line) referring to a commit in the current project, and
# CODE refers to one or more consecutive lines of Perl code.
# Pairs must be separated by one or more blank line.
sub parse_amend_file($)
{
my ($f) = @_;
open F, '<', $f
or die "$ME: $f: failed to open for reading: $!\n";
my $fail;
my $h = {};
my $in_code = 0;
my $sha;
while (defined (my $line = <F>))
{
$line =~ /^\#/
and next;
chomp $line;
$line eq ''
and $in_code = 0, next;
if (!$in_code)
{
$line =~ /^([0-9a-fA-F]{40})$/
or (warn "$ME: $f:$.: invalid line; expected an SHA1\n"),
$fail = 1, next;
$sha = lc $1;
$in_code = 1;
exists $h->{$sha}
and (warn "$ME: $f:$.: duplicate SHA1\n"),
$fail = 1, next;
}
else
{
$h->{$sha} ||= '';
$h->{$sha} .= "$line\n";
}
}
close F;
$fail
and exit 1;
return $h;
}
# git_dir_option $SRCDIR
#
# From $SRCDIR, the --git-dir option to pass to git (none if $SRCDIR
# is undef). Return as a list (0 or 1 element).
sub git_dir_option($)
{
my ($srcdir) = @_;
my @res = ();
if (defined $srcdir)
{
my $qdir = shell_quote $srcdir;
my $cmd = "cd $qdir && git rev-parse --show-toplevel";
my $qcmd = shell_quote $cmd;
my $git_dir = qx($cmd);
defined $git_dir
or die "$ME: cannot run $qcmd: $!\n";
$? == 0
or die "$ME: $qcmd had unexpected exit code or signal ($?)\n";
chomp $git_dir;
push @res, "--git-dir=$git_dir/.git";
}
@res;
}
{
my $since_date;
my $format_string = '%s%n%b%n';
my $amend_file;
my $append_dot = 0;
my $cluster = 1;
my $strip_tab = 0;
my $strip_cherry_pick = 0;
my $srcdir;
GetOptions
(
help => sub { usage 0 },
version => sub { print "$ME version $VERSION\n"; exit },
'since=s' => \$since_date,
'format=s' => \$format_string,
'amend=s' => \$amend_file,
'append-dot' => \$append_dot,
'cluster!' => \$cluster,
'strip-tab' => \$strip_tab,
'strip-cherry-pick' => \$strip_cherry_pick,
'srcdir=s' => \$srcdir,
) or usage 1;
defined $since_date
and unshift @ARGV, "--since=$since_date";
# This is a hash that maps an SHA1 to perl code (i.e., s/old/new/)
# that makes a correction in the log or attribution of that commit.
my $amend_code = defined $amend_file ? parse_amend_file $amend_file : {};
my @cmd = ('git',
git_dir_option $srcdir,
qw(log --log-size),
'--pretty=format:%H:%ct %an <%ae>%n%n'.$format_string, @ARGV);
open PIPE, '-|', @cmd
or die ("$ME: failed to run '". quoted_cmd (@cmd) ."': $!\n"
. "(Is your Git too old? Version 1.5.1 or later is required.)\n");
my $prev_multi_paragraph;
my $prev_date_line = '';
my @prev_coauthors = ();
while (1)
{
defined (my $in = <PIPE>)
or last;
$in =~ /^log size (\d+)$/
or die "$ME:$.: Invalid line (expected log size):\n$in";
my $log_nbytes = $1;
my $log;
my $n_read = read PIPE, $log, $log_nbytes;
$n_read == $log_nbytes
or die "$ME:$.: unexpected EOF\n";
# Extract leading hash.
my ($sha, $rest) = split ':', $log, 2;
defined $sha
or die "$ME:$.: malformed log entry\n";
$sha =~ /^[0-9a-fA-F]{40}$/
or die "$ME:$.: invalid SHA1: $sha\n";
# If this commit's log requires any transformation, do it now.
my $code = $amend_code->{$sha};
if (defined $code)
{
eval 'use Safe';
my $s = new Safe;
# Put the unpreprocessed entry into "$_".
$_ = $rest;
# Let $code operate on it, safely.
my $r = $s->reval("$code")
or die "$ME:$.:$sha: failed to eval \"$code\":\n$@\n";
# Note that we've used this entry.
delete $amend_code->{$sha};
# Update $rest upon success.
$rest = $_;
}
# Remove lines inserted by "git cherry-pick".
if ($strip_cherry_pick)
{
$rest =~ s/^\s*Conflicts:\n.*//sm;
$rest =~ s/^\s*\(cherry picked from commit [\da-f]+\)\n//m;
}
my @line = split "\n", $rest;
my $author_line = shift @line;
defined $author_line
or die "$ME:$.: unexpected EOF\n";
$author_line =~ /^(\d+) (.*>)$/
or die "$ME:$.: Invalid line "
. "(expected date/author/email):\n$author_line\n";
# Format 'Copyright-paperwork-exempt: Yes' as a standard ChangeLog
# `(tiny change)' annotation.
my $tiny = (grep (/^Copyright-paperwork-exempt:\s+[Yy]es$/, @line)
? ' (tiny change)' : '');
my $date_line = sprintf "%s %s$tiny\n",
strftime ("%F", localtime ($1)), $2;
my @coauthors = grep /^Co-authored-by:.*$/, @line;
# Omit meta-data lines we've already interpreted.
@line = grep !/^(?:Signed-off-by:[ ].*>$
|Co-authored-by:[ ]
|Copyright-paperwork-exempt:[ ]
)/x, @line;
# Remove leading and trailing blank lines.
if (@line)
{
while ($line[0] =~ /^\s*$/) { shift @line; }
while ($line[$#line] =~ /^\s*$/) { pop @line; }
}
# Record whether there are two or more paragraphs.
my $multi_paragraph = grep /^\s*$/, @line;
# Format 'Co-authored-by: A U Thor <email@example.com>' lines in
# standard multi-author ChangeLog format.
for (@coauthors)
{
s/^Co-authored-by:\s*/\t /;
s/\s*</ </;
/<.*?@.*\..*>/
or warn "$ME: warning: missing email address for "
. substr ($_, 5) . "\n";
}
# If clustering of commit messages has been disabled, if this header
# would be different from the previous date/name/email/coauthors header,
# or if this or the previous entry consists of two or more paragraphs,
# then print the header.
if ( ! $cluster
|| $date_line ne $prev_date_line
|| "@coauthors" ne "@prev_coauthors"
|| $multi_paragraph
|| $prev_multi_paragraph)
{
$prev_date_line eq ''
or print "\n";
print $date_line;
@coauthors
and print join ("\n", @coauthors), "\n";
}
$prev_date_line = $date_line;
@prev_coauthors = @coauthors;
$prev_multi_paragraph = $multi_paragraph;
# If there were any lines
if (@line == 0)
{
warn "$ME: warning: empty commit message:\n $date_line\n";
}
else
{
if ($append_dot)
{
# If the first line of the message has enough room, then
if (length $line[0] < 72)
{
# append a dot if there is no other punctuation or blank
# at the end.
$line[0] =~ /[[:punct:]\s]$/
or $line[0] .= '.';
}
}
# Remove one additional leading TAB from each line.
$strip_tab
and map { s/^\t// } @line;
# Prefix each non-empty line with a TAB.
@line = map { length $_ ? "\t$_" : '' } @line;
print "\n", join ("\n", @line), "\n";
}
defined ($in = <PIPE>)
or last;
$in ne "\n"
and die "$ME:$.: unexpected line:\n$in";
}
close PIPE
or die "$ME: error closing pipe from " . quoted_cmd (@cmd) . "\n";
# FIXME-someday: include $PROCESS_STATUS in the diagnostic
# Complain about any unused entry in the --amend=F specified file.
my $fail = 0;
foreach my $sha (keys %$amend_code)
{
warn "$ME:$amend_file: unused entry: $sha\n";
$fail = 1;
}
exit $fail;
}
# Local Variables:
# mode: perl
# indent-tabs-mode: nil
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "my $VERSION = '"
# time-stamp-format: "%:y-%02m-%02d %02H:%02M"
# time-stamp-time-zone: "UTC"
# time-stamp-end: "'; # UTC"
# End:
+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
+75
View File
@@ -0,0 +1,75 @@
;;; 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/>.
;;;
;;; Report package synopses and descriptions that defer from those found in
;;; the GNU Womb.
;;;
(use-modules (guix gnu-maintenance)
(guix packages)
(guix utils)
(guix ui)
(gnu packages)
(srfi srfi-1)
(srfi srfi-26)
(ice-9 match))
(define official
;; GNU package descriptors from the Womb.
(official-gnu-packages))
(define gnus
;; GNU packages available in the distro.
(let ((lookup (lambda (p)
(find (lambda (descriptor)
(equal? (gnu-package-name descriptor)
(package-name p)))
official))))
(fold-packages (lambda (package result)
(or (and=> (lookup package)
(cut alist-cons package <> result))
result))
'())))
;; Iterate over GNU packages. Report those whose synopsis defers from that
;; found upstream.
(for-each (match-lambda
((package . descriptor)
(let ((upstream (gnu-package-doc-summary descriptor))
(downstream (package-synopsis package))
(loc (or (package-field-location package 'synopsis)
(package-location package))))
(unless (and upstream (string=? upstream downstream))
(format (guix-warning-port)
"~a: ~a: proposed synopsis: ~s~%"
(location->string loc) (package-name package)
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)
+10
View File
@@ -11,6 +11,14 @@ if test "x$guix_build_daemon" = "xyes"; then
AC_PROG_RANLIB
AC_CONFIG_HEADER([nix/config.h])
dnl Decompressors, for use by the substituter.
AC_PATH_PROG([GZIP], [gzip])
AC_PATH_PROG([BZIP2], [bzip2])
AC_PATH_PROG([XZ], [xz])
AC_SUBST([GZIP])
AC_SUBST([BZIP2])
AC_SUBST([XZ])
dnl Use 64-bit file system calls so that we can support files > 2 GiB.
AC_SYS_LARGEFILE
@@ -95,6 +103,8 @@ if test "x$guix_build_daemon" = "xyes"; then
AC_CONFIG_FILES([nix/scripts/list-runtime-roots],
[chmod +x nix/scripts/list-runtime-roots])
AC_CONFIG_FILES([nix/scripts/substitute-binary],
[chmod +x nix/scripts/substitute-binary])
fi
AM_CONDITIONAL([BUILD_DAEMON], [test "x$guix_build_daemon" = "xyes"])
+31 -16
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.1], [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.11 gnu silent-rules subdir-objects \
color-tests parallel-tests])
AM_INIT_AUTOMAKE([1.12 gnu silent-rules subdir-objects \
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,13 +41,24 @@ AC_ARG_ENABLE([daemon],
guix_localstatedir="`eval echo $localstatedir | sed -e "s|NONE|/usr/local|g"`"
AC_SUBST([guix_localstatedir])
PKG_CHECK_MODULES([GUILE], [guile-2.0])
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])
if test "x$GUILD" = "x"; then
AC_MSG_ERROR(['guild' binary not found; please check your guile-2.x installation.])
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
@@ -65,6 +77,12 @@ if test "x$guix_build_daemon$NIX_INSTANTIATE$NIX_HASH" = "xno"; then
AC_MSG_ERROR([Nix programs not found; please install Nix or use `--with-nix-prefix'.])
fi
if test "x$NIX_INSTANTIATE" = "x"; then
# This program is an optional dependency, so we just want it to be
# taken from $PATH if it's not available right now.
NIX_INSTANTIATE="nix-instantiate"
fi
AC_ARG_WITH([nixpkgs],
[AS_HELP_STRING([--with-nixpkgs=DIR], [search for Nixpkgs in DIR])],
[case "$withval" in
@@ -107,19 +125,16 @@ 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
guix-build
guix-download
guix-import
guix-package
guix-gc
pre-inst-env
test-env])
guix/config.scm])
AC_CONFIG_COMMANDS([commands-exec],
[chmod +x guix-build guix-download guix-import guix-package guix-gc \
pre-inst-env test-env])
AC_CONFIG_FILES([scripts/guix], [chmod +x scripts/guix])
AC_CONFIG_FILES([pre-inst-env], [chmod +x pre-inst-env])
AC_CONFIG_FILES([test-env], [chmod +x test-env])
AC_OUTPUT
+22 -2
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 \
@@ -105,6 +107,7 @@ libstore_headers = \
libstore_a_CPPFLAGS = \
$(libutil_a_CPPFLAGS) \
-I$(top_srcdir)/nix/libstore \
-I$(top_builddir)/nix/libstore \
-DNIX_STORE_DIR=\"$(storedir)\" \
-DNIX_DATA_DIR=\"$(datadir)\" \
-DNIX_STATE_DIR=\"$(localstatedir)/nix\" \
@@ -114,10 +117,11 @@ libstore_a_CPPFLAGS = \
-DNIX_BIN_DIR=\"$(bindir)\" \
-DOPENSSL_PATH="\"openssl\""
libstore_a_CFLAGS = \
libstore_a_CXXFLAGS = \
$(SQLITE3_CFLAGS) $(LIBGCRYPT_CFLAGS)
bin_PROGRAMS = guix-daemon
sbin_PROGRAMS = guix-register
guix_daemon_SOURCES = \
nix/nix-daemon/nix-daemon.cc \
@@ -134,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
@@ -158,7 +177,8 @@ nix/libstore/schema.sql.hh: nix/libstore/schema.sql
(write (get-string-all in) out)))))"
nodist_pkglibexec_SCRIPTS = \
nix/scripts/list-runtime-roots
nix/scripts/list-runtime-roots \
nix/scripts/substitute-binary
EXTRA_DIST += \
nix/sync-with-upstream \
+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
+1488 -190
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"
+48 -16
View File
@@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013 Mark H Weaver <mhw@netris.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -18,8 +19,11 @@
(define-module (gnu packages)
#:use-module (guix packages)
#:use-module (guix ui)
#:use-module (guix utils)
#:use-module (ice-9 ftw)
#:use-module (ice-9 vlist)
#:use-module (ice-9 match)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-26)
#:use-module (srfi srfi-39)
@@ -28,7 +32,8 @@
%patch-directory
%bootstrap-binaries-path
fold-packages
find-packages-by-name))
find-packages-by-name
find-newest-available-packages))
;;; Commentary:
;;;
@@ -86,9 +91,8 @@
result)
(const #f) ; skip
(lambda (path stat errno result)
(format (current-error-port)
(_ "warning: cannot access `~a': ~a~%")
path (strerror errno))
(warning (_ "cannot access `~a': ~a~%")
path (strerror errno))
result)
'()
%distro-module-directory
@@ -108,18 +112,24 @@
(define (fold-packages proc init)
"Call (PROC PACKAGE RESULT) for each available package, using INIT as
the initial value of RESULT."
(fold (lambda (module result)
(fold (lambda (var result)
(if (package? var)
(proc var result)
result))
result
(module-map (lambda (sym var)
(false-if-exception (variable-ref var)))
module)))
init
(package-modules)))
the initial value of RESULT. It is guaranteed to never traverse the
same package twice."
(identity ; discard second return value
(fold2 (lambda (module result seen)
(fold2 (lambda (var result seen)
(if (and (package? var)
(not (vhash-assq var seen)))
(values (proc var result)
(vhash-consq var #t seen))
(values result seen)))
result
seen
(module-map (lambda (sym var)
(false-if-exception (variable-ref var)))
module)))
init
vlist-null
(package-modules))))
(define* (find-packages-by-name name #:optional version)
"Return the list of packages with the given NAME. If VERSION is not #f,
@@ -137,3 +147,25 @@ then only return packages whose version is equal to VERSION."
(cons package result)
result))
'()))
(define (find-newest-available-packages)
"Return a vhash keyed by package names, and with
associated values of the form
(newest-version newest-package ...)
where the preferred package is listed first."
;; FIXME: Currently, the preferred package is whichever one
;; was found last by 'fold-packages'. Find a better solution.
(fold-packages (lambda (p r)
(let ((name (package-name p))
(version (package-version p)))
(match (vhash-assoc name r)
((_ newest-so-far . pkgs)
(case (version-compare version newest-so-far)
((>) (vhash-cons name `(,version ,p) r))
((=) (vhash-cons name `(,version ,p ,@pkgs) r))
((<) r)))
(#f (vhash-cons name `(,version ,p) r)))))
vlist-null))
+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+)))
+19 -13
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,22 +44,29 @@
'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
"Library and tools for manipulating access control lists")
(description
"Library and tools for manipulating access control lists.")
(license '(gpl2+ lgpl2.1+))))
(license (list gpl2+ lgpl2.1+))))
+95 -62
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.1")
(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
"122bpqdlikshhd7nmq0l5qfc0agyk7x21gvplv1l9hb77l8cy9rw"))))
"1cbiby7ykis4z84swclpysrljmqhfcllpkcbll1m08rzskgb1a6b"))))
(build-system gnu-build-system)
(inputs `(("gmp" ,gmp)
("mpfr" ,mpfr)))
@@ -78,68 +78,41 @@ 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 "The GNU Scientific Library, a large numerical library")
(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)
("readline" ,readline)))
(arguments
(lambda (system)
`(#:make-flags '("gp")
;; FIXME: building the documentation requires tex; once this is available,
;; replace "gp" by "all"
#:test-target "dobench"
#:phases
(alist-replace
'configure
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
(readline (assoc-ref inputs "readline"))
(gmp (assoc-ref inputs "gmp")))
(zero?
(system* "./Configure"
(string-append "--prefix=" out)
(string-append "--with-readline=" readline)
(string-append "--with-gmp=" gmp)))))
;; FIXME: readline and gmp will be detected automatically in the next
;; stable release
%standard-phases))))
'(#:make-flags '("gp")
;; FIXME: building the documentation requires tex; once this is available,
;; replace "gp" by "all"
#:test-target "dobench"
#:phases
(alist-replace
'configure
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
(readline (assoc-ref inputs "readline"))
(gmp (assoc-ref inputs "gmp")))
(zero?
(system* "./Configure"
(string-append "--prefix=" out)
(string-append "--with-readline=" readline)
(string-append "--with-gmp=" gmp)))))
;; FIXME: readline and gmp will be detected automatically in the next
;; stable release
%standard-phases)))
(synopsis "PARI/GP, a computer algebra system for number theory")
(description
"PARI/GP is a widely used computer algebra system designed for fast
@@ -152,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")
@@ -178,16 +183,44 @@ PARI is also available as a C library to allow for faster computations.")
(string-append "--prefix=" out)))))
%standard-phases)))
(home-page "http://www.gnu.org/software/bc/")
(synopsis "GNU software calculator")
(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+)))
+88
View File
@@ -0,0 +1,88 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 Cyril Roelandt <tipecaml@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 (gnu packages apr)
#:use-module (guix licenses)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu)
#:use-module (gnu packages)
#:use-module (gnu packages perl)
#:use-module (gnu packages autotools))
(define-public apr
(package
(name "apr")
(version "1.4.8")
(source (origin
(method url-fetch)
(uri (string-append "mirror://apache/apr/apr-"
version ".tar.bz2"))
(sha256
(base32
"0884csfk3f530yscak0jlr6w929s3ys0n7fpwdg3dii1sgwd5f31"))
(patches
(list (search-patch "apr-skip-getservbyname-test.patch")))
(patch-flags '("-p0"))))
(build-system gnu-build-system)
(inputs `(("perl" ,perl)
("libtool" ,libtool)))
(home-page "http://apr.apache.org/")
(synopsis "The Apache Portable Runtime Library")
(description
"The mission of the Apache Portable Runtime (APR) project is to create and
maintain software libraries that provide a predictable and consistent interface
to underlying platform-specific implementations. The primary goal is to provide
an API to which software developers may code and be assured of predictable if
not identical behaviour regardless of the platform on which their software is
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 apr-util
(package
(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
"19qjxpckb9p4j9pbk8kcirg6k5vqnjrqhnk9xx2c5m9964p3vkls"))))
(build-system gnu-build-system)
(inputs
`(("apr" ,apr)))
(arguments
'(#:phases
(alist-replace
'configure
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
(apr (assoc-ref inputs "apr")))
(setenv "CONFIG_SHELL" (which "bash"))
(zero?
(system* "./configure"
(string-append "--prefix=" out)
(string-append "--with-apr=" apr)))))
%standard-phases)))
(home-page "http://apr.apache.org/")
(synopsis "One of the Apache Portable Runtime Library companions")
(description
"APR-util provides a number of helpful abstractions on top of APR.")
(license asl2.0)))
+5 -12
View File
@@ -38,17 +38,10 @@
(build-system gnu-build-system)
(inputs `(("perl" ,perl)))
(home-page "http://aspell.net/")
(synopsis
"GNU Aspell, A spell checker for many languages")
(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+)))
+28 -22
View File
@@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
;;; Copyright © 2012 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -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 '(gpl2+ lgpl2.1+))))
(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+)))
+180 -60
View File
@@ -22,9 +22,12 @@
#:use-module (gnu packages)
#:use-module (gnu packages perl)
#:use-module (gnu packages m4)
#:use-module (gnu packages bash)
#:use-module (guix utils)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu))
#:use-module (guix build-system gnu)
#:use-module (guix build-system trivial))
(define-public autoconf
(package
@@ -47,43 +50,161 @@
(arguments `(#:tests? #f))
(home-page
"http://www.gnu.org/software/autoconf/")
(synopsis
"GNU Autoconf, a part of the GNU Build System")
(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
;; An Autoconf wrapper that generates `configure' scripts that use our
;; own Bash instead of /bin/sh in shebangs. For that reason, it
;; should only be used internally---users should not end up
;; distributing `configure' files with a system-specific shebang.
(package (inherit autoconf)
(location (source-properties->location (current-source-location)))
(name (string-append (package-name autoconf) "-wrapper"))
(build-system trivial-build-system)
(inputs `(("guile"
;; XXX: Kludge to hide the circular dependency.
,(module-ref (resolve-interface '(gnu packages guile))
'guile-2.0))
("autoconf" ,autoconf)
("bash" ,bash)))
(arguments
'(#:modules ((guix build utils))
#:builder
(begin
(use-modules (guix build utils))
(let* ((out (assoc-ref %outputs "out"))
(bin (string-append out "/bin"))
(autoconf (string-append
(assoc-ref %build-inputs "autoconf")
"/bin/autoconf"))
(guile (string-append
(assoc-ref %build-inputs "guile")
"/bin/guile"))
(sh (string-append
(assoc-ref %build-inputs "bash")
"/bin/sh"))
(modules ((compose dirname dirname dirname)
(search-path %load-path
"guix/build/utils.scm"))))
(mkdir-p bin)
;; Symlink all the binaries but `autoconf'.
(with-directory-excursion bin
(for-each (lambda (file)
(unless (string=? (basename file) "autoconf")
(symlink file (basename file))))
(find-files (dirname autoconf) ".*")))
;; Add an `autoconf' binary that wraps the real one.
(call-with-output-file (string-append bin "/autoconf")
(lambda (port)
;; Shamefully, Guile can be used in shebangs only if a
;; single argument is passed (-ds); otherwise it gets
;; them all as a single argument and fails to parse them.
(format port "#!~a
export GUILE_LOAD_PATH=\"~a\"
export GUILE_LOAD_COMPILED_PATH=\"~a\"
exec ~a --no-auto-compile \"$0\" \"$@\"
!#~%"
sh modules modules guile)
(write
`(begin
(use-modules (guix build utils))
(let ((result (apply system* ,autoconf
(cdr (command-line)))))
(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.12.6")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://gnu/automake/automake-"
version ".tar.xz"))
(sha256
(base32
"1ynvca8z4aqcwr94rf7j1bfiid2w9w250y9qhnyj9vmi8lhsnd7q"))))
(version "1.14")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/automake/automake-"
version ".tar.xz"))
(sha256
(base32
"0nc0zqq8j336kamizzd86wb19vhbwywv5avcjh3cyx230xfqy671"))
(patches
(list (search-patch "automake-skip-amhello-tests.patch")))))
(build-system gnu-build-system)
(inputs
`(("autoconf" ,autoconf)
`(("autoconf" ,autoconf-wrapper)
("perl" ,perl)))
(home-page
"http://www.gnu.org/software/automake/")
(synopsis
"GNU Automake, a GNU standard-compliant makefile generator")
(native-search-paths
(list (search-path-specification
(variable "ACLOCAL_PATH")
(directories '("share/aclocal")))))
(arguments
'(#:modules ((guix build gnu-build-system)
(guix build utils)
(srfi srfi-1)
(srfi srfi-26)
(rnrs io ports))
#:phases (alist-cons-before
'patch-source-shebangs 'patch-tests-shebangs
(lambda _
(let ((sh (which "sh")))
(substitute* (find-files "t" "\\.(sh|tap)$")
(("#![[:blank:]]?/bin/sh")
(string-append "#!" sh)))
;; Set these variables for all the `configure' runs
;; that occur during the test suite.
(setenv "SHELL" sh)
(setenv "CONFIG_SHELL" sh)))
;; Files like `install-sh', `mdate.sh', etc. must use
;; #!/bin/sh, otherwise users could leak erroneous shebangs
;; in the wild. See <http://bugs.gnu.org/14201> for an
;; example.
(alist-cons-after
'install 'unpatch-shebangs
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(dir (string-append out "/share")))
(define (starts-with-shebang? file)
(equal? (call-with-input-file file
(lambda (p)
(list (get-u8 p) (get-u8 p))))
(map char->integer '(#\# #\!))))
(for-each (lambda (file)
(when (and (starts-with-shebang? file)
(executable-file? file))
(format #t "restoring shebang on `~a'~%"
file)
(substitute* file
(("^#!.*/bin/sh")
"#!/bin/sh")
(("^#!.*/bin/env(.*)$" _ args)
(string-append "#!/usr/bin/env"
args)))))
(find-files dir ".*"))))
%standard-phases))))
(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.")
(license gpl2+))) ; some files are under GPLv3+
"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
(package
@@ -95,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)))
@@ -107,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"))))
(synopsis "GNU Libtool, a generic library support script")
;; 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/")))
+68
View File
@@ -0,0 +1,68 @@
;;; 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 avahi)
#: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)
#:use-module (gnu packages gdbm)
#:use-module (gnu packages libdaemon)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages glib)
#:use-module (gnu packages xml))
(define-public avahi
(package
(name "avahi")
(version "0.6.31")
(home-page "http://avahi.org")
(source (origin
(method url-fetch)
(uri (string-append home-page "/download/avahi-"
version ".tar.gz"))
(sha256
(base32
"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"
"--disable-xmltoman"
"--enable-tests"
"--disable-qt3" "--disable-qt4"
"--disable-gtk" "--disable-gtk3")))
(inputs
`(("expat" ,expat)
("glib" ,glib)
("dbus" ,dbus)
("libdaemon" ,libdaemon)
("intltool" ,intltool)
("pkg-config" ,pkg-config)
("gdbm" ,gdbm)))
(synopsis "Avahi, an mDNS/DNS-SD implementation")
(description
"Avahi is a system which facilitates service discovery on a local
network. It is an implementation of the mDNS (for \"Multicast DNS\") and
DNS-SD (for \"DNS-Based Service Discovery\") protocols.")
(license lgpl2.1+)))
+445 -434
View File
File diff suppressed because it is too large Load Diff
+43 -33
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
@@ -76,15 +83,14 @@
#:phases (alist-cons-after 'install 'post-install
,post-install-phase
%standard-phases)))
(synopsis "GNU Bourne-Again Shell")
(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")
'()))))))))
+16 -13
View File
@@ -35,19 +35,22 @@
"1f2g2612lf8djbwbwhxsvmffmf9d7693kh2l20195pqp0f9jmnfx"))))
(build-system gnu-build-system)
(arguments
(lambda (system)
`(#:tests? #f ; no check target available
#:phases
(alist-replace
'configure
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(zero?
(system* "./dist/configure"
(string-append "--prefix=" out)
(string-append "CONFIG_SHELL=" (which "bash"))
(string-append "SHELL=" (which "bash"))))))
%standard-phases))))
'(#:tests? #f ; no check target available
#:phases
(alist-replace
'configure
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(zero?
(system* "./dist/configure"
(string-append "--prefix=" out)
(string-append "CONFIG_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
"Berkeley DB is an embeddable database allowing developers the choice of
+8 -4
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.
;;;
@@ -20,13 +20,12 @@
#:use-module (guix licenses)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix utils)
#:use-module (guix build-system gnu))
(define-public libgc
(package
(name "libgc")
(version "7.2alpha6")
(version "7.2d")
(source (origin
(method url-fetch)
(uri (string-append
@@ -34,8 +33,13 @@
version ".tar.gz"))
(sha256
(base32
"05jwadjbrv8pr7z9cb4miskicxqpxm0pca4h2rg5cgbpajr2bx7b"))))
"0phwa5driahnpn79zqff14w9yc8sn3599cxz91m78hqdcpl0mznr"))))
(build-system gnu-build-system)
(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
+15 -19
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.6.1")
(version "3.0.2")
(source
(origin
(method url-fetch)
@@ -35,23 +38,16 @@
version ".tar.xz"))
(sha256
(base32
"0y9svfkbw8jc8yv280hqzilpvlwg60gayck83jj98djmzaxr1w86"))))
"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
"GNU Bison, a Yacc-compatible parser generator")
(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+)))
+126 -99
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
@@ -99,15 +108,14 @@ check whether everything is alright."
(zero? (system* (string-append "bin/" ,program-to-test)
"--version"))))))))
(inputs
`(("tar" ,(lambda (system)
(search-bootstrap-binary "tar" system)))
("xz" ,(lambda (system)
(search-bootstrap-binary "xz" system)))
("tarball" ,(lambda (system)
(bootstrap-origin (source* system))))))
(synopsis description*)
`(("tar" ,(search-bootstrap-binary "tar" (%current-system)))
("xz" ,(search-bootstrap-binary "xz" (%current-system)))
("tarball" ,(bootstrap-origin (source (%current-system))))))
(source #f)
(synopsis description)
(description #f)
(home-page #f)))
(home-page #f)
(license #f)))
(define package-with-bootstrap-guile
(memoize
@@ -133,10 +141,14 @@ check whether everything is alright."
(propagated-inputs (map rewritten-input
(package-propagated-inputs p)))))))
(define (glibc-dynamic-linker 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")
((string=? system "mips64el-linux") "/lib/ld.so.1")
(else (error "dynamic linker name not known for this system"
system))))
@@ -155,9 +167,10 @@ check whether everything is alright."
(let ((raw (build-system
(name "raw")
(description "Raw build system with direct store access")
(build (lambda* (store name source inputs #:key outputs system)
(build (lambda* (store name source inputs
#:key outputs system search-paths)
(define (->store file)
(add-to-store store file #t #t "sha256"
(add-to-store store file #t "sha256"
(or (search-bootstrap-binary file
system)
(error "bootstrap binary not found"
@@ -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"))
@@ -269,28 +289,29 @@ $out/bin/guile --version~%"
(("/[^ ]+/lib/(libc|ld)" _ prefix)
(string-append out "/lib/" prefix))))))))
(inputs
`(("tar" ,(lambda (system)
(search-bootstrap-binary "tar" system)))
("xz" ,(lambda (system)
(search-bootstrap-binary "xz" system)))
("tarball" ,(lambda (system)
(bootstrap-origin
(origin
(method url-fetch)
(uri (map (cut string-append <> "/" system
"/20130105/glibc-2.17.tar.xz")
%bootstrap-base-urls))
(sha256
(match system
("x86_64-linux"
(base32
"18kv1z9d8dr1j3hm9w7663kchqw9p6rsx11n1m143jgba2jz6jy3"))
("i686-linux"
(base32
"08hv8i0axwnihrcgbz19x0a7s6zyv3yx38x8r29liwl8h82x9g88"))))))))))
`(("tar" ,(search-bootstrap-binary "tar" (%current-system)))
("xz" ,(search-bootstrap-binary "xz" (%current-system)))
("tarball" ,(bootstrap-origin
(origin
(method url-fetch)
(uri (map (cut string-append <> "/" (%current-system)
"/20131110/glibc-2.18.tar.xz")
%bootstrap-base-urls))
(sha256
(match (%current-system)
("x86_64-linux"
(base32
"0jlqrgavvnplj1b083s20jj9iddr4lzfvwybw5xrcis9spbfzk7v"))
("i686-linux"
(base32
"1hgrccw1zqdc7lvgivwa54d9l3zsim5pqm0dykxg0z522h6gr05w"))
("mips64el-linux"
(base32
"0k97a3whzx3apsi9n2cbsrr79ad6lh00klxph9hw4fqyp1abkdsg")))))))))
(synopsis "Bootstrap binaries and headers of the GNU C Library")
(description #f)
(home-page #f)))
(home-page #f)
(license lgpl2.1+)))
(define %bootstrap-gcc
;; The initial GCC. Uses binaries from a tarball typically built by
@@ -301,68 +322,74 @@ $out/bin/guile --version~%"
(source #f)
(build-system trivial-build-system)
(arguments
(lambda (system)
`(#:guile ,%bootstrap-guile
#:modules ((guix build utils))
#:builder
(let ((out (assoc-ref %outputs "out"))
(tar (assoc-ref %build-inputs "tar"))
(xz (assoc-ref %build-inputs "xz"))
(bash (assoc-ref %build-inputs "bash"))
(libc (assoc-ref %build-inputs "libc"))
(tarball (assoc-ref %build-inputs "tarball")))
(use-modules (guix build utils)
(ice-9 popen))
`(#:guile ,%bootstrap-guile
#:modules ((guix build utils))
#:builder
(let ((out (assoc-ref %outputs "out"))
(tar (assoc-ref %build-inputs "tar"))
(xz (assoc-ref %build-inputs "xz"))
(bash (assoc-ref %build-inputs "bash"))
(libc (assoc-ref %build-inputs "libc"))
(tarball (assoc-ref %build-inputs "tarball")))
(use-modules (guix build utils)
(ice-9 popen))
(mkdir out)
(copy-file tarball "binaries.tar.xz")
(system* xz "-d" "binaries.tar.xz")
(let ((builddir (getcwd))
(bindir (string-append out "/bin")))
(with-directory-excursion out
(system* tar "xvf"
(string-append builddir "/binaries.tar")))
(mkdir out)
(copy-file tarball "binaries.tar.xz")
(system* xz "-d" "binaries.tar.xz")
(let ((builddir (getcwd))
(bindir (string-append out "/bin")))
(with-directory-excursion out
(system* tar "xvf"
(string-append builddir "/binaries.tar")))
(with-directory-excursion bindir
(chmod "." #o755)
(rename-file "gcc" ".gcc-wrapped")
(call-with-output-file "gcc"
(lambda (p)
(format p "#!~a
(with-directory-excursion bindir
(chmod "." #o755)
(rename-file "gcc" ".gcc-wrapped")
(call-with-output-file "gcc"
(lambda (p)
(format p "#!~a
exec ~a/bin/.gcc-wrapped -B~a/lib \
-Wl,-rpath -Wl,~a/lib \
-Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
bash
out libc libc libc
,(glibc-dynamic-linker system))))
bash
out libc libc libc
,(glibc-dynamic-linker))))
(chmod "gcc" #o555)))))))
(chmod "gcc" #o555))))))
(inputs
`(("tar" ,(lambda (system)
(search-bootstrap-binary "tar" system)))
("xz" ,(lambda (system)
(search-bootstrap-binary "xz" system)))
("bash" ,(lambda (system)
(search-bootstrap-binary "bash" system)))
`(("tar" ,(search-bootstrap-binary "tar" (%current-system)))
("xz" ,(search-bootstrap-binary "xz" (%current-system)))
("bash" ,(search-bootstrap-binary "bash" (%current-system)))
("libc" ,%bootstrap-glibc)
("tarball" ,(lambda (system)
(bootstrap-origin
(origin
(method url-fetch)
(uri (map (cut string-append <> "/" system
"/20130105/gcc-4.7.2.tar.xz")
%bootstrap-base-urls))
(sha256
(match system
("x86_64-linux"
(base32
"1x1p7han5crnbw906iwdifykr6grzm0w27dy9gz75j0q1b32i4px"))
("i686-linux"
(base32
"06wqs0xxnpw3hn0xjb4c9cs0899p1xwkcysa2rvzhvpra0c5vsg2"))))))))))
("tarball" ,(bootstrap-origin
(origin
(method url-fetch)
(uri (map (cut string-append <> "/" (%current-system)
"/20131110/gcc-4.8.2.tar.xz")
%bootstrap-base-urls))
(sha256
(match (%current-system)
("x86_64-linux"
(base32
"17ga4m6195n4fnbzdkmik834znkhs53nkypp6557pl1ps7dgqbls"))
("i686-linux"
(base32
"150c1arrf2k8vfy6dpxh59vcgs4p1bgiz2av5m19dynpks7rjnyw"))
("mips64el-linux"
(base32
"1m5miqkyng45l745n0sfafdpjkqv9225xf44jqkygwsipj2cv9ks")))))))))
(native-search-paths
(list (search-path-specification
(variable "CPATH")
(directories '("include")))
(search-path-specification
(variable "LIBRARY_PATH")
(directories '("lib" "lib64")))))
(synopsis "Bootstrap binaries of the GNU Compiler Collection")
(description #f)
(home-page #f)))
(home-page #f)
(license gpl3+)))
(define %bootstrap-inputs
;; The initial, pre-built inputs. From now on, we can start building our
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+207
View File
@@ -0,0 +1,207 @@
;;; 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.
;;;
;;; 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 cdrom)
#:use-module (guix download)
#:use-module (guix packages)
#: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 gettext)
#:use-module (gnu packages gtk)
#:use-module (gnu packages help2man)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages patchelf)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages readline)
#:use-module (gnu packages which))
(define-public libcddb
(package
(name "libcddb")
(version "1.3.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/libcddb/libcddb-"
version ".tar.bz2"))
(sha256
(base32
"1y8bfy12dwm41m1jahayn3v47dm34fmz7m9cjxyh7xcw6fp3lzaf"))))
(build-system gnu-build-system)
(arguments '(#:tests? #f)) ; tests rely on access to external servers
(home-page "http://libcddb.sourceforge.net/")
(synopsis "C library to access data on a CDDB server")
(description
"Libcddb is a C library to access data on a CDDB server (freedb.org). It
allows you to:
1. search the database for possible CD matches;
2. retrieve detailed information about a specific CD;
3. submit new CD entries to the database.
Libcddb supports both the custom CDDB protocol and tunnelling the query and
read operations over plain HTTP. It is also possible to use an HTTP proxy
server. If you want to speed things up, you can make use of the built-in
caching facility provided by the library.")
(license lgpl2.1+)))
(define-public libcdio
(package
(name "libcdio")
(version "0.90")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/libcdio/libcdio-"
version ".tar.gz"))
(sha256
(base32
"0kpp6gr5sjr30pb9klncc37fhkw0wi6r41d2fmvmw17cbj176zmg"))))
(build-system gnu-build-system)
(inputs
`(("help2man" ,help2man)
("ncurses" ,ncurses)
("pkg-config" ,pkg-config)
("libcddb" ,libcddb)))
(home-page "http://www.gnu.org/software/libcdio/")
(synopsis "CD Input and Control library")
(description
"The GNU Compact Disc Input and Control Library (libcdio) is a library
for CD-ROM and CD image file access. It allows the developer to add CD
access to an application without having to worry about the OS- and
device-dependent properties of CD-ROM or the specific details of CD image
formats. It includes pycdio, a Python interface to libcdio, and
libcdio-paranoia, a library providing jitter-free and error-free audio
extraction from CDs.")
(license gpl3+)))
(define-public xorriso
(package
(name "xorriso")
(version "1.3.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/xorriso/xorriso-"
version ".tar.gz"))
(sha256
(base32
"1z04580nkkziy2flbxjjx0q6vp9p7vcp7yp0agx2aqz3l1vjcwhf"))))
(build-system gnu-build-system)
(inputs
`(("acl" ,acl)
("readline" ,readline)
("bzip2" ,bzip2)
("zlib" ,zlib)
("libcdio" ,libcdio)))
(home-page "http://www.gnu.org/software/xorriso/")
(synopsis "Create, manipulate, burn ISO-9660 filesystems")
(description
"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+)))
+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 cflow)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu)
#:use-module (guix licenses)
#:use-module (gnu packages emacs))
(define-public cflow
(package
(name "cflow")
(version "1.4")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/cflow/cflow-"
version ".tar.bz2"))
(sha256
(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 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+)))
+76
View File
@@ -0,0 +1,76 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 Cyril Roelandt <tipecaml@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 (gnu packages cmake)
#:use-module (guix licenses)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu)
#:use-module (gnu packages)
#:use-module (gnu packages file))
(define-public cmake
(package
(name "cmake")
(version "2.8.12")
(source (origin
(method url-fetch)
(uri (string-append
"http://www.cmake.org/files/v"
(substring version 0
(string-index version #\. (+ 1 (string-index version #\.))))
"/cmake-" version ".tar.gz"))
(sha256
(base32 "11q21vyrr6c6smyjy81k2k07zmn96ggjia9im9cxwvj0n88bm1fq"))
(patches (list (search-patch "cmake-fix-tests.patch")))))
(build-system gnu-build-system)
(arguments
'(#:test-target "test"
#:phases (alist-replace
'configure
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
;; Replace "/bin/sh" by the right path in... a lot of
;; files.
(substitute*
'("Modules/CompilerId/Xcode-3.pbxproj.in"
"Modules/CompilerId/Xcode-1.pbxproj.in"
"Modules/CompilerId/Xcode-2.pbxproj.in"
"Modules/CPack.RuntimeScript.in"
"Source/cmakexbuild.cxx"
"Source/cmGlobalXCodeGenerator.cxx"
"Source/CTest/cmCTestBatchTestHandler.cxx"
"Source/cmLocalUnixMakefileGenerator3.cxx"
"Utilities/cmbzip2/Makefile-libbz2_so"
"Utilities/Release/release_cmake.cmake"
"Utilities/cmlibarchive/libarchive/archive_write_set_format_shar.c"
"Tests/CMakeLists.txt")
(("/bin/sh") (which "sh")))
(zero? (system* "./configure"
(string-append "--prefix=" out)))))
%standard-phases)))
(inputs
`(("file" ,file)))
(home-page "http://www.cmake.org/")
(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
and compiler independent configuration files. CMake generates native makefiles
and workspaces that can be used in the compiler environment of your choice.")
(license bsd-3)))
+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+)))
+120 -27
View File
@@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012 Ludovic Courtès <ludo@gnu.org>
;;; 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 "Gzip, the GNU zip compression program")
(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
@@ -171,7 +208,7 @@ been modified quite a lot to be suitable for XZ Utils. The primary
compression algorithm is currently LZMA2, which is used inside the .xz
container format. With typical files, XZ Utils create 30 % smaller output
than gzip and 15 % smaller output than bzip2.")
(license '(license:gpl2+ license:lgpl2.1+)) ; bits of both
(license (list license:gpl2+ license:lgpl2.1+)) ; bits of both
(home-page "http://tukaani.org/xz/")))
(define-public lzo
@@ -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+)))
+15 -26
View File
@@ -27,32 +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
"A program to create or extract from cpio archives")
(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.")
(license gpl3+)))
"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+)))
+44
View File
@@ -0,0 +1,44 @@
;;; 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 cppi)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu)
#:use-module (guix licenses))
(define-public cppi
(package
(name "cppi")
(version "1.18")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/cppi/cppi-"
version ".tar.xz"))
(sha256
(base32
"1jk42cjaggk71rimjnx3qpmb6hivps0917vl3z7wbxk3i2whb98j"))))
(build-system gnu-build-system)
(home-page "http://www.gnu.org/software/cppi/")
(synopsis "Indent C preprocessor directives to reflect nesting and more")
(description
"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+)))
+274
View File
@@ -0,0 +1,274 @@
;;; 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 cross-base)
#:use-module (guix licenses)
#:use-module (gnu packages)
#:use-module (gnu packages gcc)
#:use-module (gnu packages base)
#:use-module (gnu packages linux)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix utils)
#:use-module (guix build-system gnu)
#:use-module (guix build-system trivial)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-26)
#:use-module (ice-9 match)
#:export (cross-binutils
cross-libc
cross-gcc))
(define (cross p target)
(package (inherit p)
(location (source-properties->location (current-source-location)))
(name (string-append (package-name p) "-cross-" target))
(arguments
(substitute-keyword-arguments (package-arguments p)
((#:configure-flags flags)
`(cons ,(string-append "--target=" target)
,flags))))))
(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."
(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)
(guix build utils)
(ice-9 regex)
(srfi srfi-1)
(srfi srfi-26))
,@(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.
"--disable-shared" "--enable-static"
;; Disable C++ because libstdc++'s
;; configure script otherwise fails with
;; "Link tests are not allowed after
;; GCC_NO_EXECUTABLES."
"--enable-languages=c"
"--disable-threads" ; libgcc, would need libc
"--disable-libatomic"
"--disable-libmudflap"
"--disable-libgomp"
"--disable-libssp"
"--disable-libquadmath"
"--disable-decimal-float" ; would need libc
)))
,(if libc
flags
`(remove (cut string-match "--enable-languages.*" <>)
,flags))))
((#:make-flags flags)
(if libc
`(let ((libc (assoc-ref %build-inputs "libc")))
;; FLAGS_FOR_TARGET are needed for the target libraries to
;; receive the -Bxxx for the startfiles.
(cons (string-append "FLAGS_FOR_TARGET=-B" libc "/lib")
,flags))
flags))
((#:phases phases)
(let ((phases
`(alist-cons-after
'install 'make-cross-binutils-visible
(lambda* (#:key outputs inputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(libexec (string-append out "/libexec/gcc/"
,target))
(binutils (string-append
(assoc-ref inputs "binutils-cross")
"/bin/" ,target "-")))
(for-each (lambda (file)
(symlink (string-append binutils file)
(string-append libexec "/"
file)))
'("as" "ld" "nm"))
#t))
,phases)))
(if libc
`(alist-cons-before
'configure 'set-cross-path
(lambda* (#:key inputs #:allow-other-keys)
;; Add the cross Linux headers to CROSS_CPATH, and remove
;; them from CPATH.
(let ((libc (assoc-ref inputs "libc"))
(linux (assoc-ref inputs
"libc/cross-linux-headers")))
(define (cross? x)
;; Return #t if X is a cross-libc or cross Linux.
(or (string-prefix? libc x)
(string-prefix? linux x)))
(setenv "CROSS_CPATH"
(string-append libc "/include:"
linux "/include"))
(setenv "CROSS_LIBRARY_PATH"
(string-append libc "/lib"))
(let ((cpath (search-path-as-string->list
(getenv "CPATH")))
(libpath (search-path-as-string->list
(getenv "LIBRARY_PATH"))))
(setenv "CPATH"
(list->search-path-as-string
(remove cross? cpath) ":"))
(setenv "LIBRARY_PATH"
(list->search-path-as-string
(remove cross? libpath) ":"))
#t)))
,phases)
phases)))
((#:strip-binaries? _)
;; Disable stripping as this can break binaries, with object files
;; of libgcc.a showing up as having an unknown architecture. See
;; <http://lists.fedoraproject.org/pipermail/arm/2010-August/000663.html>
;; for instance.
#f))))
(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.8)
(alist-delete "libc" %final-inputs))))
(if libc
`(("libc" ,libc)
,@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
(xgcc (cross-gcc target))
(xbinutils (cross-binutils target)))
"Return a libc cross-built for TARGET, a GNU triplet. Use XGCC and
XBINUTILS and the cross tool chain."
(define xlinux-headers
(package (inherit linux-libre-headers)
(name (string-append (package-name linux-libre-headers)
"-cross-" target))
(arguments
(substitute-keyword-arguments (package-arguments linux-libre-headers)
((#:phases phases)
`(alist-replace
'build
(lambda _
(setenv "ARCH" ,(system->linux-architecture target))
(format #t "`ARCH' set to `~a' (cross compiling)~%" (getenv "ARCH"))
(and (zero? (system* "make" "defconfig"))
(zero? (system* "make" "mrproper" "headers_check"))))
,phases))))
(native-inputs `(("cross-gcc" ,xgcc)
("cross-binutils" ,xbinutils)
,@(package-native-inputs linux-libre-headers)))))
(package (inherit glibc)
(name (string-append "glibc-cross-" target))
(arguments
(substitute-keyword-arguments
`(#:strip-binaries? #f ; disable stripping (see above)
,@(package-arguments glibc))
((#:configure-flags flags)
`(cons ,(string-append "--host=" target)
,flags))
((#:phases phases)
`(alist-cons-before
'configure 'set-cross-linux-headers-path
(lambda* (#:key inputs #:allow-other-keys)
(let ((linux (assoc-ref inputs "cross-linux-headers")))
(setenv "CROSS_CPATH"
(string-append linux "/include"))
#t))
,phases))))
(propagated-inputs `(("cross-linux-headers" ,xlinux-headers)))
(native-inputs `(("cross-gcc" ,xgcc)
("cross-binutils" ,xbinutils)
,@(package-native-inputs glibc)))))
;;;
;;; Concrete cross toolchains.
;;;
(define-public xgcc-mips64el
(let ((triplet "mips64el-linux-gnuabi64")) ; N64 ABI
(cross-gcc triplet
(cross-binutils triplet)
(cross-libc triplet))))
;; (define-public xgcc-armel
;; (let ((triplet "armel-linux-gnueabi"))
;; (cross-gcc triplet
;; (cross-binutils triplet)
;; (cross-libc triplet))))
+59
View File
@@ -0,0 +1,59 @@
;;; 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 cryptsetup)
#: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)
#:use-module (gnu packages gnupg)
#:use-module (gnu packages lvm)
#:use-module (gnu packages popt)
#:use-module (gnu packages python)
#:use-module (gnu packages linux))
(define-public cryptsetup
(package
(name "cryptsetup")
(version "1.6.1")
(source (origin
(method url-fetch)
(uri (string-append "http://cryptsetup.googlecode.com/files/cryptsetup-"
version ".tar.bz2"))
(sha256
(base32
"170lalkhh2fa316d12i6r7jprm0yss3c949d91069sq37ik6xwxs"))))
(build-system gnu-build-system)
(inputs
`(("libgcrypt" ,libgcrypt)
("lvm2" ,lvm2)
("popt" ,popt)
("python" ,python-wrapper)
("util-linux" ,util-linux)))
(synopsis "hard disk encryption tool")
(description
"LUKS (Linux Unified Key Setup)/Cryptsetup provides a standard on-disk
encryption format, which does not only facilitate compatibility among
distributions, but which also provides secure management of multiple user
passwords. In contrast to existing solutions, LUKS stores all setup necessary
setup information in the partition header, enabling the users to transport
or migrate their data seamlessly.")
(license license:gpl2)
(home-page "http://code.google.com/p/cryptsetup/")))
+70
View File
@@ -0,0 +1,70 @@
;;; 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 curl)
#: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 compression)
#:use-module (gnu packages gnutls)
#:use-module (gnu packages groff)
#:use-module (gnu packages gsasl)
#:use-module (gnu packages libidn)
#:use-module (gnu packages openldap)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages ssh))
(define-public curl
(package
(name "curl")
(version "7.28.1")
(source (origin
(method url-fetch)
(uri (string-append "http://curl.haxx.se/download/curl-"
version ".tar.lzma"))
(sha256
(base32
"13bhfs41yf60ys2hrikqxjwfzaj0gm91kqzsgc5fr4grzmpm38nx"))))
(build-system gnu-build-system)
(inputs `(("gnutls" ,gnutls)
;; to enable the --manual option and make test 1026 pass
("groff" ,groff)
("gss" ,gss)
("libidn" ,libidn)
("libssh2" ,libssh2)
("openldap" ,openldap)
("perl" ,perl)
("pkg-config" ,pkg-config)
("zlib" ,zlib)))
(arguments
`(#:configure-flags '("--with-gnutls" "--with-gssapi")))
(synopsis "curl, command line tool for transferring data with URL syntax")
(description
"curl is a command line tool for transferring data with URL syntax,
supporting DICT, FILE, FTP, FTPS, Gopher, HTTP, HTTPS, IMAP, IMAPS, LDAP,
LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, Telnet and TFTP.
curl supports SSL certificates, HTTP POST, HTTP PUT, FTP uploading,
HTTP form based upload, proxies, cookies, user+password authentication
(Basic, Digest, NTLM, Negotiate, kerberos...), file transfer resume,
proxy tunneling, and so on")
(license (license:bsd-style "file://COPYING"
"See COPYING in the distribution."))
(home-page "http://curl.haxx.se/")))
+13 -26
View File
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
;;; Copyright © 2012, 2013 Nikita Karetnikov <nikita@karetnikov.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -20,41 +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")
(synopsis "GNU ddrescue, a data recovery tool")
(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 (hard disc, cdrom, etc) 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, cdrom, etc, 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. This is so because the probability of having damaged areas at the
same places on different input files is very low. Using the logfile,
only the needed blocks are read from the second and successive copies.")
"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+)))
+6 -11
View File
@@ -26,7 +26,7 @@
(define-public dejagnu
(package
(name "dejagnu")
(version "1.5")
(version "1.5.1")
(source
(origin
(method url-fetch)
@@ -34,7 +34,7 @@
version ".tar.gz"))
(sha256
(base32
"1nx3x3h96a82q92q108q71giv2nz9xmbbn2nrlr3wvvs6l45id68"))))
"1lik8h4qi7x0mhsi8xmj91an1yb63rjbk6v4xrmzgiy5lk8lgrv0"))))
(build-system gnu-build-system)
(inputs `(("expect" ,expect)))
(arguments
@@ -75,14 +75,9 @@
%standard-phases))))
(home-page
"http://www.gnu.org/software/dejagnu/")
(synopsis "The DejaGNU testing framework")
(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+)))
+86
View File
@@ -0,0 +1,86 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 Cyril Roelandt <tipecaml@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 (gnu packages dwm)
#:use-module (guix licenses)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu)
#:use-module (gnu packages)
#:use-module (gnu packages xorg))
(define-public dwm
(package
(name "dwm")
(version "6.0")
(source (origin
(method url-fetch)
(uri (string-append "http://dl.suckless.org/dwm/dwm-"
version ".tar.gz"))
(sha256
(base32 "0mpbivy9j80l1jqq4bd4g4z8s5c54fxrjj44avmfwncjwqylifdj"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f
#:phases
(alist-replace
'configure
(lambda _
(substitute* "Makefile" (("\\$\\{CC\\}") "gcc"))
#t)
(alist-replace
'install
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(zero?
(system* "make" "install"
(string-append "DESTDIR=" out) "PREFIX="))))
%standard-phases))))
(inputs
`(("libx11" ,libx11)
("libxinerama" ,libxinerama)))
(home-page "http://dwm.suckless.org/")
(synopsis "Dynamic window manager")
(description
"dwm is a dynamic window manager for X. It manages windows in tiled,
monocle and floating layouts. All of the layouts can be applied dynamically,
optimising the environment for the application in use and the task performed.
In tiled layout windows are managed in a master and stacking area. The master
area contains the window which currently needs most attention, whereas the
stacking area contains all other windows. In monocle layout all windows are
maximised to the screen size. In floating layout windows can be resized and
moved freely. Dialog windows are always managed floating, regardless of the
layout applied.
Windows are grouped by tags. Each window can be tagged with one or multiple
tags. Selecting certain tags displays all windows with these tags.
Each screen contains a small status bar which displays all available tags, the
layout, the number of visible windows, the title of the focused window, and the
text read from the root window name property, if the screen is focused. A
floating window is indicated with an empty square and a maximised floating
window is indicated with a filled square before the windows title. The selected
tags are indicated with a different color. The tags of the focused window are
indicated with a filled square in the top left corner. The tags which are
applied to one or more windows are indicated with an empty square in the top
left corner.
dwm draws a small customizable border around windows to indicate the focus
state.")
(license x11)))
+22 -22
View File
@@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -25,29 +26,28 @@
(define-public ed
(package
(name "ed")
(version "1.5")
(source
(origin
(method url-fetch)
(uri (string-append
"mirror://gnu/ed/ed-"
version
".tar.gz"))
(sha256
(base32
"18gvhyhwpabmgv4lh21lg8vl3z7acdyhh2mr2kj9g75wksj39pcp"))))
(version "1.9")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/ed/ed-"
version ".tar.gz"))
(sha256
(base32
"122syihsx2hwzj75mkf5a9ssiky2xby748kp4cc00wzhmp7p5cym"))))
(build-system gnu-build-system)
(arguments '(#:configure-flags '("CC=gcc")))
(arguments
'(#:configure-flags '("CC=gcc")
#:phases (alist-cons-before 'patch-source-shebangs 'patch-test-suite
(lambda _
(substitute* "testsuite/check.sh"
(("/bin/sh") (which "sh"))))
%standard-phases)))
(home-page "http://www.gnu.org/software/ed/")
(synopsis
"GNU ed, an implementation of the standard Unix editor")
(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+)))
+77 -33
View File
@@ -22,28 +22,40 @@
#: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)
#:use-module (gnu packages pkg-config))
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages guile)
#:use-module (gnu packages xorg)
#:use-module (gnu packages lesstif)
#:use-module (gnu packages libjpeg)
#:use-module (gnu packages libtiff)
#:use-module (gnu packages libpng)
#:use-module ((gnu packages compression)
#:renamer (symbol-prefix-proc 'compression:))
#:use-module (gnu packages xml)
#:use-module (gnu packages glib))
(define-public emacs
(package
(name "emacs")
(version "24.2")
(version "24.3")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/emacs/emacs-"
version ".tar.bz2"))
version ".tar.xz"))
(sha256
(base32
"13wbjfjmz13qpjwssy44nw2230lllmkkgjsy0rqfm6am2cf87n3k"))))
"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"))
#:patches (list (assoc-ref %build-inputs "patch/epaths"))
"/lib")
"--with-gif=no") ; XXX: add libungif
#:phases (alist-cons-before
'configure 'fix-/bin/pwd
(lambda _
@@ -59,35 +71,67 @@
("ncurses" ,ncurses)
;; TODO: Add the optional dependencies.
;; ("xlibs" ,xlibs)
;; ("gtk+" ,gtk+)
;; ("libXft" ,libXft)
;; ("libtiff" ,libtiff)
("xlibs" ,libx11)
("gtk+" ,gtk+-2)
("libXft" ,libxft)
("libtiff" ,libtiff)
;; ("libungif" ,libungif)
;; ("libjpeg" ,libjpeg)
;; ("libpng" ,libpng)
;; ("libXpm" ,libXpm)
;; ("libxml2" ,libxml2)
;; ("dbus-library" ,dbus-library)
("libjpeg" ,libjpeg-8)
("patch/epaths" ,(search-patch "emacs-configure-sh.patch"))
))
;; When looking for libpng `configure' links with `-lpng -lz', so we
;; must also provide zlib as an input.
("libpng" ,libpng)
("zlib" ,compression:zlib)
("libXpm" ,libxpm)
("libxml2" ,libxml2)
("dbus" ,dbus)))
(home-page "http://www.gnu.org/software/emacs/")
(synopsis
"GNU Emacs 24, the extensible, customizable text editor")
(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+)))
;;;
;;; Emacs hacking.
;;;
(define-public geiser
(package
(name "geiser")
(version "0.4")
(source (origin
(method url-fetch)
(uri (string-append "mirror://savannah/geiser/" version
"/geiser-" version ".tar.gz"))
(sha256
(base32 "0ds7zk9b1839l9fsqfsgrby6manvy1cf5bjniiqhxl55h0cr6ijp"))))
(build-system gnu-build-system)
(inputs `(("guile" ,guile-2.0)
("emacs" ,emacs)))
(home-page "http://nongnu.org/geiser/")
(synopsis "Collection of Emacs modes for Guile and Racket hacking")
(description
"Geiser is a collection of Emacs major and minor modes that
conspire with one or more Scheme interpreters to keep the Lisp Machine
Spirit alive. It draws inspiration (and a bit more) from environments
such as Common Lisps Slime, Factors FUEL, Squeak or Emacs itself, and
does its best to make Scheme hacking inside Emacs (even more) fun.
Or, to be precise, what i consider fun. Geiser is thus my humble
contribution to the dynamic school of expression, and a reaction against
what i perceive as a derailment, in modern times, of standard Scheme
towards the static camp. Because i prefer growing and healing to poking
at corpses, the continuously running Scheme interpreter takes the center
of the stage in Geiser. A bundle of Elisp shims orchestrates the dialog
between the Scheme interpreter, Emacs and, ultimately, the schemer,
giving her access to live metadata.")
(license bsd-3)))
+53
View File
@@ -0,0 +1,53 @@
;;; 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 fdisk)
#:use-module ((guix licenses) #:select (gpl3+))
#:use-module (gnu packages gettext)
#:use-module (gnu packages guile)
#:use-module (gnu packages linux)
#:use-module (gnu packages parted)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu))
(define-public fdisk
(package
(name "fdisk")
(version "2.0.0a")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://gnu/fdisk/gnufdisk-"
version ".tar.gz"))
(sha256
(base32
"04nd7civ561x2lwcmxhsqbprml3178jfc58fy1v7hzqg5k4nbhy3"))))
(build-system gnu-build-system)
(inputs
`(("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 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+)))
+168
View File
@@ -0,0 +1,168 @@
;;; 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 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:))
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu))
(define-public freetype
(package
(name "freetype")
(version "2.4.11")
(source (origin
(method url-fetch)
(uri (string-append "mirror://savannah/freetype/freetype-"
version ".tar.gz"))
(sha256 (base32
"0gpcz6swir64kp0dk3rwgqqkmf48b90dqgczdmznjjryhrahx9r9"))))
(build-system gnu-build-system)
(arguments
`(#:phases
(alist-replace
'install
(lambda* (#:key outputs #:allow-other-keys #:rest args)
(let ((install (assoc-ref %standard-phases 'install))
(include (string-append (assoc-ref outputs "out") "/include")))
(apply install args)
;; Unravel one directory, since ft2build.h includes directly from
;; freetype/, not freetype2/freetype; this is announced in the file
;; to be changed in a future release.
(symlink (string-append include "/freetype2/freetype")
(string-append include "/freetype"))))
%standard-phases)))
(synopsis "Freetype, a library to render fonts")
(description
"Freetype is a library that can be used by applications to access the
contents of font files. It provides a uniform interface to access font files.
It supports both bitmap and scalable formats, including TrueType, OpenType,
Type1, CID, CFF, Windows FON/FNT, X11 PCF, and others. It supports high-speed
anti-aliased glyph bitmap generation with 256 gray levels.")
(license license:freetype) ; some files have other licenses
(home-page "http://www.freetype.org/")))
(define-public fontconfig
(package
(name "fontconfig")
(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
"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;
perform font name substitution, so that appropriate alternative fonts can
be selected if fonts are missing;
identify the set of fonts required to completely cover a set of languages;
have GUI configuration tools built as it uses an XML-based configuration file;
efficiently and quickly find needed fonts among the set of installed fonts;
be used in concert with the X Render Extension and FreeType to implement
high quality, anti-aliased and subpixel rendered text on a display.")
; The exact license is more X11-style than BSD-style.
(license (license:bsd-style "file://COPYING"
"See COPYING in the distribution."))
(home-page "http://www.freedesktop.org/wiki/Software/fontconfig")))
(define-public t1lib
(package
(name "t1lib")
(version "5.1.2")
(source (origin
(method url-fetch)
(uri "ftp://sunsite.unc.edu/pub/Linux/libs/graphics/t1lib-5.1.2.tar.gz")
(sha256 (base32
"0nbvjpnmcznib1nlgg8xckrmsw3haa154byds2h90y2g0nsjh4w2"))))
(build-system gnu-build-system)
(arguments
;; Making the documentation requires latex, but t1lib is also an input
;; for building texlive.
`(#:tests? #f ; no test target
#:make-flags
'("without_doc")))
(synopsis "T1lib, a library for generating bitmaps from type 1 fonts.")
(description
"T1lib is a library for generating/rasterising bitmaps from Type 1 fonts.
It is based on the code of the X11 rasteriser of the X11 project.
The bitmaps created by t1lib are returned in a data structure with type
GLYPH. This special GLYPH-type is also used in the X11 window system to
describe character bitmaps. It contains the bitmap data as well as some
metric information. But t1lib is in itself entirely independent of the
X11-system or any other graphical user interface. ")
(license license:gpl2)
(home-page "http://www.t1lib.org/")))
(define-public teckit
(package
(name "teckit")
(version "2.5.1")
(source (origin
(method url-fetch)
(uri (string-append
"http://scripts.sil.org/svn-view/teckit/TAGS/TECkit_"
(string-map (lambda (x) (if (char=? x #\.) #\_ x)) version)
".tar.gz"))
(sha256 (base32
"0fjiwvic8mdxpkyccfp7zh26y9xnvkp0skqbyfkrjiacd191k82r"))
(patches (list (search-patch "teckit-cstdio.patch")))))
(build-system gnu-build-system)
(inputs `(("zlib" ,zlib)))
(synopsis "TECkit, a toolkit for encoding conversions")
(description
"TECkit is a low-level toolkit intended to be used by other applications
that need to perform encoding conversions (e.g., when importing legacy data
into a Unicode-based application). The primary component of the TECkit
package is therefore a library that performs conversions; this is the
\"TECkit engine\". The engine relies on mapping tables in a specific binary
format (for which documentation is available); there is a compiler that
creates such tables from a human-readable mapping description (a simple
text file).
To facilitate the development and testing of mapping tables for TECkit,
several applications are also included in the current package; these
include simple tools for applying conversions to plain-text and Standard
Format files, as well as both command-line and simple GUI versions of the
TECkit compiler. However, it is not intended that these tools will be the
primary means by which end users perform conversions, and they have not
been designed, tested, and debugged to the extent that general-purpose
applications should be.")
(license license:lgpl2.1+)
(home-page "http://scripts.sil.org/cms/scripts/page.php?cat_id=teckit")))
+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 freeipmi)
#:use-module (guix packages)
#:use-module (guix licenses)
#:use-module (guix download)
#:use-module (guix build-system gnu)
#:use-module (gnu packages readline)
#:use-module (gnu packages gnupg))
(define-public freeipmi
(package
(name "freeipmi")
(version "1.3.3")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/freeipmi/freeipmi-"
version ".tar.gz"))
(sha256
(base32
"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 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+)))
+33 -32
View File
@@ -18,54 +18,55 @@
(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)
#:use-module (guix utils)
#:use-module (guix build-system gnu))
(define-public gawk
(package
(name "gawk")
(version "4.0.0")
(version "4.1.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/gawk/gawk-" version
".tar.bz2"))
".tar.xz"))
(sha256
(base32 "0sss7rhpvizi2a88h6giv0i7w5h07s2fxkw3s6n1hqvcnhrfgbb0"))))
(base32 "0hin2hswbbd6kd6i4zzvgciwpl5fba8d2s524z8y5qagyz3x010q"))))
(build-system gnu-build-system)
(arguments
(case-lambda
((system)
`(#:parallel-tests? #f ; test suite fails in parallel
`(#:parallel-tests? #f ; test suite fails in parallel
;; Work around test failure on Cygwin.
#:tests? ,(not (string=? system "i686-cygwin"))
#:phases (alist-cons-before
'configure 'set-shell-file-name
(lambda* (#:key inputs #:allow-other-keys)
;; Refer to the right shell.
(let ((bash (assoc-ref inputs "bash")))
(substitute* "io.c"
(("/bin/sh")
(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)
,@(if (%current-target-system)
`(("bash" ,bash))
'())))
#:phases (alist-cons-before
'configure 'set-shell-file-name
(lambda* (#:key inputs #:allow-other-keys)
;; Refer to the right shell.
(let ((bash (assoc-ref inputs "bash")))
(substitute* "io.c"
(("/bin/sh")
(string-append bash "/bin/bash")))))
%standard-phases)))
((system cross-system)
'(#:parallel-tests? #f))))
(inputs `(("libsigsegv" ,libsigsegv)))
(home-page "http://www.gnu.org/software/gawk/")
(synopsis "GNU implementation of the Awk programming language")
(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+)))
+353
View File
@@ -0,0 +1,353 @@
;;; 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/>.
(define-module (gnu packages gcc)
#:use-module ((guix licenses)
#:select (gpl3+ gpl2+ lgpl2.1+ lgpl2.0+))
#:use-module (gnu packages)
#: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 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
(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)))
;; GCC is one of the few packages that doesn't ship .info files.
(native-inputs `(("texinfo" ,texinfo)))
(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)))
'())
;; 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"))))
#: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.
;; 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))))
;; 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)))))
(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
"GCC is the GNU Compiler Collection. It provides compiler front-ends
for several languages, including C, C++, Objective-C, Fortran, Java, Ada, and
Go. It also includes runtime support libraries for these languages.")
(license gpl3+)
(home-page "http://gcc.gnu.org/"))))
(define-public gcc-4.8
(package (inherit gcc-4.7)
(version "4.8.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/gcc/gcc-"
version "/gcc-" version ".tar.bz2"))
(sha256
(base32
"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
(name "isl")
(version "0.11.1")
(source (origin
(method url-fetch)
(uri (list (string-append
"http://isl.gforge.inria.fr/isl-"
version
".tar.bz2")
(string-append %gcc-infrastructure
name "-" version ".tar.gz")))
(sha256
(base32
"13d9cqa5rzhbjq0xf0b2dyxag7pqa72xj9dhsa03m8ccr1a4npq9"))))
(build-system gnu-build-system)
(inputs `(("gmp" ,gmp)))
(home-page "http://isl.gforge.inria.fr/")
(synopsis
"A library for manipulating sets and relations of integer points bounded
by linear constraints")
(description
"isl is a library for manipulating sets and relations of integer points
bounded by linear constraints. Supported operations on sets include
intersection, union, set difference, emptiness check, convex hull, (integer)
affine hull, integer projection, computing the lexicographic minimum using
parametric integer programming, coalescing and parametric vertex
enumeration. It also includes an ILP solver based on generalized basis
reduction, transitive closures on maps (which may encode infinite graphs),
dependence analysis and bounds on piecewise step-polynomials.")
(license lgpl2.1+)))
(define-public cloog
(package
(name "cloog")
(version "0.18.0")
(source
(origin
(method url-fetch)
(uri (list (string-append
"http://www.bastoul.net/cloog/pages/download/count.php3?url=cloog-"
version
".tar.gz")
(string-append %gcc-infrastructure
name "-" version ".tar.gz")))
(sha256
(base32
"0a12rwfwp22zd0nlld0xyql11cj390rrq1prw35yjsw8wzfshjhw"))
(file-name (string-append name "-" version ".tar.gz"))))
(build-system gnu-build-system)
(inputs `(("gmp" ,gmp)
("isl" ,isl)))
(arguments '(#:configure-flags '("--with-isl=system")))
(home-page "http://www.cloog.org/")
(synopsis "A library to generate code for scanning Z-polyhedra")
(description
"CLooG is a free software library to generate code for scanning
Z-polyhedra. That is, it finds a code (e.g., in C, FORTRAN...) that
reaches each integral point of one or more parameterized polyhedra.
CLooG has been originally written to solve the code generation problem
for optimizing compilers based on the polytope model. Nevertheless it
is used now in various area e.g., to build control automata for
high-level synthesis or to find the best polynomial approximation of a
function. CLooG may help in any situation where scanning polyhedra
matters. While the user has full control on generated code quality,
CLooG is designed to avoid control overhead and to produce a very
effective code.")
(license gpl2+)))
(define-public libelf
(package
(name "libelf")
(version "0.8.13")
(source (origin
(method url-fetch)
(uri (string-append "http://www.mr511.de/software/libelf-"
version ".tar.gz"))
(sha256
(base32
"0vf7s9dwk2xkmhb79aigqm0x0yfbw1j0b9ksm51207qwr179n6jr"))))
(build-system gnu-build-system)
(arguments '(#:phases (alist-replace
'configure
(lambda* (#:key outputs #:allow-other-keys)
;; This old `configure' script doesn't support
;; variables passed as arguments.
(let ((out (assoc-ref outputs "out")))
(setenv "CONFIG_SHELL" (which "bash"))
(zero?
(system* "./configure"
(string-append "--prefix=" out)))))
%standard-phases)))
(home-page "http://www.mr511.de/software/english.html")
(synopsis "An ELF object file access library")
(description "libelf is a C library to access ELF object files.")
(license lgpl2.0+)))
+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."))))
+13 -8
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.5")
(version "7.6.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/gdb/gdb-"
version ".tar.bz2"))
(sha256
(base32
"0chrws5ga90b50kp06yll6zy42fhnx9yr87r4i7swsc369fc8y6i"))))
"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 "GDB, the GNU Project debugger")
(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+)))
+6 -16
View File
@@ -34,23 +34,13 @@
(sha256
(base32
"0h9lfzdjc2yl849y0byg51h6xfjg0y7vg9jnsw3gpfwlbd617y13"))))
(arguments `(#:configure-flags '("--enable-libgdbm-compat")))
(build-system gnu-build-system)
(home-page "http://www.gnu.org/software/gdbm/")
(synopsis "GNU dbm key/value database library")
(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+)))
+39 -41
View File
@@ -17,62 +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/")
(synopsis
"GNU gettext, a well integrated set of translation tools and documentation")
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+
+236
View File
@@ -0,0 +1,236 @@
;;; 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 ghostscript)
#:use-module (gnu packages)
#:use-module (gnu packages compression)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages libjpeg)
#:use-module (gnu packages libpng)
#:use-module (gnu packages libtiff)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages tcl)
#: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 lcms
(package
(name "lcms")
(version "2.4")
(source (origin
(method url-fetch)
(uri (string-append
"http://downloads.sourceforge.net/project/lcms/lcms/"
version "/lcms2-" version ".tar.gz"))
(sha256 (base32
"1s1ppvqaydf2yqc72mw6zfviwxccb311a6hrbi802sgjxw84sl9a"))))
(build-system gnu-build-system)
(inputs `(("libjpeg-8" ,libjpeg-8)
("libtiff" ,libtiff)
("zlib" ,zlib)))
(synopsis "Little CMS, a small-footprint colour management engine")
(description
"Little CMS is a small-footprint colour management engine, with special
focus on accuracy and performance. It uses the International Color
Consortium standard (ICC), approved as ISO 15076-1.")
(license license:x11)
(home-page "http://www.littlecms.com/")))
(define-public libpaper
(package
(name "libpaper")
(version "1.1.24")
(source (origin
(method url-fetch)
(uri (string-append
"http://ftp.de.debian.org/debian/pool/main/libp/libpaper/libpaper_"
version ".tar.gz"))
(sha256 (base32
"0zhcx67afb6b5r936w5jmaydj3ks8zh83n9rm5sv3m3k8q8jib1q"))))
(build-system gnu-build-system)
(synopsis "libpaper, a library for handling paper sizes")
(description
"The paper library and accompanying files are intended to provide a simple
way for applications to take actions based on a system- or user-specified
paper size.")
(license license:gpl2)
(home-page "http://packages.qa.debian.org/libp/libpaper.html")))
(define-public psutils
(package
(name "psutils")
(version "17")
(source (origin
(method url-fetch)
(uri "ftp://ftp.knackered.org/pub/psutils/psutils.tar.gz")
(sha256 (base32
"1r4ab1fvgganm02kmm70b2r1azwzbav2am41gbigpa2bb1wynlrq"))))
(build-system gnu-build-system)
(inputs `(("perl" ,perl)))
(arguments
`(#:tests? #f ; none provided
#:phases
(alist-replace
'configure
(lambda* (#:key inputs outputs #:allow-other-keys #:rest args)
(let ((perl (assoc-ref inputs "perl"))
(out (assoc-ref outputs "out")))
(copy-file "Makefile.unix" "Makefile")
(substitute* "Makefile"
(("/usr/local/bin/perl") (string-append perl "/bin/perl")))
(substitute* "Makefile"
(("/usr/local") out))
;; for the install phase
(substitute* "Makefile"
(("-mkdir") "mkdir -p"))
;; drop installation of non-free files
(substitute* "Makefile"
((" install.include") ""))))
%standard-phases)))
(synopsis "psutils, a collection of utilities for manipulating PostScript documents")
(description
"PSUtils is a collection of utilities for manipulating PostScript
documents. Programs included are psnup, for placing out several logical pages
on a single sheet of paper, psselect, for selecting pages from a document,
pstops, for general imposition, psbook, for signature generation for booklet
printing, and psresize, for adjusting page sizes.")
(license (license:bsd-style "file://LICENSE"
"See LICENSE in the distribution."))
(home-page "http://knackered.org/angus/psutils/")))
(define-public ghostscript
(package
(name "ghostscript")
(version "9.06.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/ghostscript/gnu-ghostscript-"
version ".tar.xz"))
(sha256 (base32
"0bcg2203p7cm0f53f3s883xhj2c91xnaxakj2cy7kcdknfxplvs4"))))
(build-system gnu-build-system)
(inputs `(("freetype" ,freetype)
("lcms" ,lcms)
("libjpeg-8" ,libjpeg-8)
("libpng" ,libpng)
("libpaper" ,libpaper)
("libtiff" ,libtiff)
("perl" ,perl)
("pkg-config" ,pkg-config) ; needed to find libtiff
("python" ,python-wrapper)
("tcl" ,tcl)
("zlib" ,zlib)))
(arguments
`(#:phases
(alist-replace
'configure
(lambda* (#:key #:allow-other-keys #:rest args)
(let ((configure (assoc-ref %standard-phases 'configure)))
(apply configure args)
(substitute* "base/all-arch.mak"
(("/bin/sh") (which "bash")))
(substitute* "base/unixhead.mak"
(("/bin/sh") (which "bash")))))
(alist-replace
'build
(lambda* (#:key #:allow-other-keys #:rest args)
(let ((build (assoc-ref %standard-phases 'build)))
(apply build args)
(system* "make" "so")))
(alist-replace
'install
(lambda* (#:key #:allow-other-keys #:rest args)
(let ((install (assoc-ref %standard-phases 'install)))
(apply install args)
(system* "make" "install-so")))
%standard-phases)))))
(synopsis "PostScript and PDF interpreter")
(description
"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/")))
(define-public gs-fonts
(package
(name "gs-fonts")
(version "8.11")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/gs-fonts/gs-fonts/"
version
"%20%28base%2035%2C%20GPL%29/ghostscript-fonts-std-"
version
".tar.gz"))
(sha256 (base32
"00f4l10xd826kak51wsmaz69szzm2wp8a41jasr4jblz25bg7dhf"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; nothing to check, just files to copy
#:modules ((guix build gnu-build-system)
(guix build utils)
(srfi srfi-1)) ; for alist-delete
#:phases
(alist-delete
'configure
(alist-delete
'build
(alist-replace
'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(dir (string-append out "/share/fonts/type1/ghostscript")))
(mkdir-p dir)
(for-each
(lambda (file)
(copy-file file (string-append dir "/" file)))
(find-files "." "pfb|afm"))))
%standard-phases)))))
(synopsis "free replacements for the PostScript fonts")
(description
"gs-fonts provides fonts and font metrics customarily distributed with
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)))
+377
View File
@@ -0,0 +1,377 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
;;; 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 glib)
#: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)
#:use-module (gnu packages base)
#:use-module (gnu packages bison)
#:use-module (gnu packages compression)
#: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 bash)
#:use-module (gnu packages file)
#:use-module (gnu packages xorg)
#:use-module (gnu packages m4)
;; Export variables up-front to allow circular dependency with the 'xorg'
;; module.
#:export (dbus
glib
gobject-introspection
dbus-glib
intltool
itstool
libsigc++
glibmm))
(define dbus
(package
(name "dbus")
(version "1.6.4")
(source (origin
(method url-fetch)
(uri
(string-append "http://dbus.freedesktop.org/releases/dbus/dbus-"
version ".tar.gz"))
(sha256
(base32
"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)
;; 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
"D-Bus is a message bus system, a simple way for applications to
talk to one another. In addition to interprocess communication, D-Bus
helps coordinate process lifecycle; it makes it simple and reliable to
code a \"single instance\" application or daemon, and to launch
applications and daemons on demand when their services are needed.
D-Bus supplies both a system daemon (for events such as \"new hardware
device added\" or \"printer queue changed\") and a
per-user-login-session daemon (for general IPC needs among user
applications). Also, the message bus is built on top of a general
one-to-one message passing framework, which can be used by any two apps
to communicate directly (without going through the message bus
daemon). Currently the communicating applications are on one computer,
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 glib
(package
(name "glib")
(version "2.38.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/"
name "/" (string-take version 4) "/"
name "-" version ".tar.xz"))
(sha256
(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" ,gnu-gettext)
("libffi" ,libffi)
("pkg-config" ,pkg-config)
("python" ,python-wrapper)
("zlib" ,zlib)
("perl" ,perl) ; needed by GIO tests
("dbus" ,dbus) ; for GDBus tests
("bash" ,bash)
("tzdata" ,tzdata) ; for tests/gdatetime.c
))
(arguments
'(#: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")
(string-append (assoc-ref inputs "bash") "/bin/sh"))))
%standard-phases)
;; Note: `--docdir' and `--htmldir' are not honored, so work around it.
#:configure-flags (list (string-append "--with-html-dir="
(assoc-ref %outputs "doc")
"/share/gtk-doc"))))
(synopsis "Thread-safe general utility library; basis of GTK+ and GNOME")
(description
"GLib provides data structure handling for C, portability wrappers,
and interfaces for such runtime functionality as an event loop, threads,
dynamic loading, and an object system.")
(home-page "http://developer.gnome.org/glib/")
(license license:lgpl2.0+))) ; some files are under lgpl2.1+
(define gobject-introspection
(package
(name "gobject-introspection")
(version "1.38.0")
(source (origin
(method url-fetch)
(uri (string-append "http://ftp.gnome.org/pub/GNOME/sources/"
"gobject-introspection/"
(substring version 0 (string-rindex version #\.))
"/gobject-introspection-"
version ".tar.xz"))
(sha256
(base32 "0wvxyvgajmms2bb6k3pf1rdpnd79xdxamykzvxzmcyn1ag9yax9m"))))
(build-system gnu-build-system)
(inputs
`(("bison" ,bison)
("cairo" ,cairo)
("flex" ,flex)
("glib" ,glib)
("libffi" ,libffi)
("pkg-config" ,pkg-config)
("python-2" ,python-2)))
(arguments
`(#:phases
(alist-replace
'configure
(lambda* (#:key #:allow-other-keys #:rest args)
(let ((configure (assoc-ref %standard-phases 'configure)))
;; giscanner/sourcescanner.py looks for 'CC', let's set it here.
(setenv "CC" "gcc")
(apply configure args)))
%standard-phases)))
(home-page "https://wiki.gnome.org/GObjectIntrospection")
(synopsis "Generate interface introspection data for GObject libraries")
(description
"GObject introspection is a middleware layer between C libraries (using
GObject) and language bindings. The C library can be scanned at compile time
and generate a metadata file, in addition to the actual native C library. Then
at runtime, language bindings can read this metadata and automatically provide
bindings to call into the C library.")
; Some bits are distributed under the LGPL2+, others under the GPL2+
(license license:gpl2+)))
(define intltool
(package
(name "intltool")
(version "0.50.2")
(source (origin
(method url-fetch)
(uri (string-append "https://launchpad.net/intltool/trunk/"
version "/+download/intltool-"
version ".tar.gz"))
(sha256
(base32
"01j4yd7i84n9nk4ccs6yifg84pp68nr9by57jdbhj7dpdxf5rwk7"))))
(build-system gnu-build-system)
(propagated-inputs
`(;; Propagate gettext because users expect it to be there, and so does
;; the `intltool-update' script.
("gettext" ,gnu-gettext)
;; `file' is used by `intltool-update' too.
("file" ,file)
("perl-xml-parser" ,perl-xml-parser)
("perl" ,perl)))
(home-page "https://launchpad.net/intltool/+download")
(synopsis "Tools to centralise translations of different file formats")
(description
"intltool is a set of tools to centralise translations of many different
file formats using GNU gettext-compatible PO files.
The intltool collection can be used to do these things:
Extract translatable strings from various source files (.xml.in,
glade, .desktop.in, .server.in, .oaf.in).
Collect the extracted strings together with messages from traditional
source files (.c, .h) in po/$(PACKAGE).pot.
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+)))
+14 -19
View File
@@ -28,15 +28,14 @@
(define-public global ; a global variable
(package
(name "global")
(version "6.2.7")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://gnu/global/global-"
version ".tar.gz"))
(sha256
(base32
"1dr250kz65wqpbms4lhz857mzmvmpmiaxgyqxvxkb4b0s840i14i"))))
(version "6.2.9")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/global/global-"
version ".tar.gz"))
(sha256
(base32
"00y38kp0zbpjl9c9phldy7j2ihqc54qn4cdgk0azbjdsv75k3n6q"))))
(build-system gnu-build-system)
(inputs `(("ncurses" ,ncurses)
("libtool" ,libtool)))
@@ -45,14 +44,10 @@
(list (string-append "--with-ncurses="
(assoc-ref %build-inputs "ncurses")))))
(home-page "http://www.gnu.org/software/global/")
(synopsis "GNU GLOBAL source code tag system")
(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.")
(license "GPLv3+")))
"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/")))
+234 -43
View File
@@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -18,7 +19,11 @@
(define-module (gnu packages gnupg)
#:use-module (guix licenses)
#:use-module (gnu packages curl)
#:use-module (gnu packages openldap)
#:use-module (gnu packages perl)
#:use-module (gnu packages pth)
#:use-module (gnu packages python)
#:use-module (gnu packages readline)
#:use-module ((gnu packages compression)
#:renamer (symbol-prefix-proc 'guix:))
@@ -29,7 +34,7 @@
(define-public libgpg-error
(package
(name "libgpg-error")
(version "1.10")
(version "1.12")
(source
(origin
(method url-fetch)
@@ -37,7 +42,7 @@
version ".tar.bz2"))
(sha256
(base32
"0cal3jdnzdailr13qcy74grfbplbghkgr3qwk6qjjp4bass2j1jj"))))
"0pz58vr12qihq2f0bypjxsb6cf6ajq5258fmfm8s6lvwm3b9xz6a"))))
(build-system gnu-build-system)
(home-page "http://gnupg.org")
(synopsis
@@ -52,33 +57,30 @@ Daemon and possibly more in the future.")
(define-public libgcrypt
(package
(name "libgcrypt")
(version "1.5.0")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://gnupg/libgcrypt/libgcrypt-"
version ".tar.bz2"))
(sha256
(base32
"1ykkh7dm0gyndz7bbpvn3agijj8xb2h02m02f42hm504c18zqqjb"))))
(version "1.5.3")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnupg/libgcrypt/libgcrypt-"
version ".tar.bz2"))
(sha256
(base32
"1lar8y3lh61zl5flljpz540d78g99h4d5idfwrfw8lm3gm737xdw"))))
(build-system gnu-build-system)
(propagated-inputs
`(("libgpg-error" ,libgpg-error)))
(home-page "http://gnupg.org/")
(synopsis
"GNU Libgcrypt, a general-pupose cryptographic library")
(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.0.3")
(version "2.1.1")
(source
(origin
(method url-fetch)
@@ -86,7 +88,7 @@ functions, random numbers and a lot of supporting functions.")
version ".tar.bz2"))
(sha256
(base32
"06xckkvxxlx7cj77803m8x58gxksap4k8yhspc5cqsy7fhinimds"))))
"1783nb0b6nr9yjhb5wfh8ykc5w89f4anppz1kz9913mqg5vxdqi3"))))
(build-system gnu-build-system)
(propagated-inputs
`(("libgpg-error" ,libgpg-error) ("pth" ,pth)))
@@ -103,7 +105,7 @@ provided.")
(define-public libksba
(package
(name "libksba")
(version "1.2.0")
(version "1.3.0")
(source
(origin
(method url-fetch)
@@ -112,7 +114,7 @@ provided.")
version ".tar.bz2"))
(sha256
(base32
"0jwk7hm3x3g4hd7l12z3d79dy7359x7lc88dq6z7q0ixn1jwxbq9"))))
"0w8rfb6yhcwkwzvjafrashcygy4hd9xwwmvlnkfd1m2h0paywqas"))))
(build-system gnu-build-system)
(propagated-inputs
`(("libgpg-error" ,libgpg-error)))
@@ -128,7 +130,7 @@ specifications are building blocks of S/MIME and TLS.")
(define-public gnupg
(package
(name "gnupg")
(version "2.0.19")
(version "2.0.22")
(source
(origin
(method url-fetch)
@@ -136,33 +138,222 @@ specifications are building blocks of S/MIME and TLS.")
".tar.bz2"))
(sha256
(base32
"08n636sfffs5qvg9ppiprvsh00q0dmdw425psg3m3nssja53m8pg"))))
"0lg210acj2rxq291q4cwamg9gx6gh2prb1xa93y5jhw5b6r0lza3"))))
(build-system gnu-build-system)
(inputs
`(;; TODO: Add missing optional deps.
;; ("curl" ,curl)
;; ("libusb" ,libusb)
;; ("openldap" ,openldap)
("bzip2" ,guix:bzip2)
`(("bzip2" ,guix:bzip2)
("curl" ,curl)
("libassuan" ,libassuan)
("libgcrypt" ,libgcrypt)
("libgpg-error" ,libgpg-error)
("libksba" ,libksba)
("pth" ,pth)
("libgpg-error" ,libgpg-error)
("openldap" ,openldap)
("zlib" ,guix:zlib)
("readline" ,readline)))
(arguments
`(#:phases
(alist-replace
'configure
(lambda* (#:key #:allow-other-keys #:rest args)
(let ((configure (assoc-ref %standard-phases 'configure)))
(substitute* "tests/openpgp/Makefile.in"
(("/bin/sh") (which "bash")))
(apply configure args)))
%standard-phases)))
(home-page "http://gnupg.org/")
(synopsis
"GNU Privacy Guard (GnuPG), GNU Project's implementation of the OpenPGP standard")
(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")
(version "2.0.9")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/pgpius/pius/"
version "/pius-"
version ".tar.bz2"))
(sha256 (base32
"1g1jly3wl4ks6h8ydkygyl2c4i7v3z91rg42005m6vm70y1d8b3d"))))
(build-system gnu-build-system)
(inputs `(("perl" ,perl)
("python" ,python-wrapper)
("gpg" ,gnupg)))
(arguments
`(#:tests? #f
#:phases
(alist-replace
'configure
(lambda* (#:key #:allow-other-keys) #t)
(alist-replace
'build
(lambda* (#:key #:allow-other-keys) #t)
(alist-replace
'install
(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 (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")
(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
sign each UID on a set of PGP keys. It is designed to take the pain out of
the sign-all-the-keys part of PGP Keysigning Party while adding security
to the process.
pius-keyring-mgr and pius-party-worksheet help organisers of
PGP keysigning parties.")
(license gpl2)
(home-page "http://www.phildev.net/pius/index.shtml")))
(define-public signing-party
(package
(name "signing-party")
(version "1.1.4")
(source (origin
(method url-fetch)
(uri (string-append "http://ftp.debian.org/debian/pool/main/s/signing-party/signing-party_"
version ".orig.tar.gz"))
(sha256 (base32
"188gp0prbh8qs29lq3pbf0qibfd6jq4fk7i0pfrybl8aahvm84rx"))))
(build-system gnu-build-system)
(inputs `(("perl" ,perl)))
(arguments
`(#:tests? #f
#:phases
(alist-replace
'unpack
(lambda* (#:key #:allow-other-keys #:rest args)
(let ((unpack (assoc-ref %standard-phases 'unpack)))
(apply unpack args)
;; remove spurious symlink
(delete-file "keyanalyze/pgpring/depcomp")))
(alist-replace
'configure
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(substitute* "keyanalyze/Makefile"
(("LDLIBS") (string-append "CC=" (which "gcc") "\nLDLIBS")))
(substitute* "keyanalyze/Makefile"
(("./configure") (string-append "./configure --prefix=" out)))
(substitute* "keyanalyze/pgpring/configure"
(("/bin/sh") (which "bash")))
(substitute* "gpgwrap/Makefile"
(("\\} clean") (string-append "} clean\ninstall:\n\tinstall -D bin/gpgwrap "
out "/bin/gpgwrap\n")))
(substitute* '("gpgsigs/Makefile" "keyanalyze/Makefile"
"keylookup/Makefile" "sig2dot/Makefile"
"springgraph/Makefile")
(("/usr") out))))
(alist-replace
'install
(lambda* (#:key outputs #:allow-other-keys #:rest args)
(let ((out (assoc-ref outputs "out"))
(install (assoc-ref %standard-phases 'install)))
(apply install args)
(for-each
(lambda (dir file)
(copy-file (string-append dir "/" file)
(string-append out "/bin/" file)))
'("caff" "caff" "caff" "gpgdir" "gpg-key2ps"
"gpglist" "gpg-mailkeys" "gpgparticipants")
'("caff" "pgp-clean" "pgp-fixkey" "gpgdir" "gpg-key2ps"
"gpglist" "gpg-mailkeys" "gpgparticipants"))
(for-each
(lambda (dir file)
(copy-file (string-append dir "/" file)
(string-append out "/share/man/man1/" file)))
'("caff" "caff" "caff" "gpgdir"
"gpg-key2ps" "gpglist" "gpg-mailkeys"
"gpgparticipants" "gpgsigs" "gpgwrap/doc"
"keyanalyze" "keyanalyze/pgpring" "keyanalyze")
'("caff.1" "pgp-clean.1" "pgp-fixkey.1" "gpgdir.1"
"gpg-key2ps.1" "gpglist.1" "gpg-mailkeys.1"
"gpgparticipants.1" "gpgsigs.1" "gpgwrap.1"
"process_keys.1" "pgpring.1" "keyanalyze.1"))))
%standard-phases)))))
(synopsis "collection of scripts for simplifying gnupg key signing")
(description
"signing-party is a collection for all kinds of PGP/GnuPG related things,
including tools for signing keys, keyring analysis, and party preparation.
* caff: CA - Fire and Forget signs and mails a key
* pgp-clean: removes all non-self signatures from key
* pgp-fixkey: removes broken packets from keys
* gpg-mailkeys: simply mail out a signed key to its owner
* gpg-key2ps: generate PostScript file with fingerprint paper strips
* gpgdir: recursive directory encryption tool
* gpglist: show who signed which of your UIDs
* gpgsigs: annotates list of GnuPG keys with already done signatures
* gpgparticipants: create list of party participants for the organiser
* gpgwrap: a passphrase wrapper
* keyanalyze: minimum signing distance (MSD) analysis on keyrings
* keylookup: ncurses wrapper around gpg --search
* sig2dot: converts a list of GnuPG signatures to a .dot file
* springgraph: creates a graph from a .dot file")
;; gpl2+ for almost all programs, except for keyanalyze: gpl2
;; and caff and gpgsigs: bsd-3, see
;; http://packages.debian.org/changelogs/pool/main/s/signing-party/current/copyright
(license gpl2)
(home-page "http://pgp-tools.alioth.debian.org/")))
+28 -39
View File
@@ -21,18 +21,19 @@
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu)
#:use-module (gnu packages base)
#: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
(name "libtasn1")
(version "3.2")
(version "3.3")
(source
(origin
(method url-fetch)
@@ -40,40 +41,36 @@
version ".tar.gz"))
(sha256
(base32
"0gvgndypwicchf7m660zh7jdgmkfj9g9xavpcc08pyd0120y0bk7"))))
"1h1sz5py8zlg4yczybr6wa925pyadvjcxrdmhilwaqqgs4n2lrcj"))))
(build-system gnu-build-system)
(home-page "http://www.gnu.org/software/libtasn1/")
(synopsis "GNU Libtasn1, an ASN.1 library")
(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.6")
(source
(origin
(method url-fetch)
(uri (string-append
"mirror://gnu/gnutls/gnutls-"
version
".tar.xz"))
(sha256
(base32
"0zsybr9plllk1phh83bx9bg7c5ccik427j4n3k1s9fiy4j69n0w3"))))
(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.2/gnutls-"
version ".tar.xz"))
(sha256
(base32
"0zvhzy87v9dfxfvmg1pl951kw55rp647cqdza8942fxq7spp158i"))))
(build-system gnu-build-system)
;; Build of the Guile bindings is not parallel-safe. See
;; <http://git.savannah.gnu.org/cgit/gnutls.git/commit/?id=330995a920037b6030ec0282b51dde3f8b493cad>
;; for the actual fix.
(arguments '(#:parallel-build? #f))
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs
`(("guile" ,guile-2.0)
;; ("lzo" ,lzo)
("zlib" ,guix:zlib)
("perl" ,perl)))
(propagated-inputs
@@ -81,18 +78,10 @@ portable, and only require an ANSI C89 platform.")
("nettle" ,nettle)
("which" ,which)))
(home-page "http://www.gnu.org/software/gnutls/")
(synopsis
"The GNU Transport Layer Security Library")
(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
+6 -15
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.
;;;
@@ -20,7 +20,6 @@
#:use-module (guix licenses)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix utils)
#:use-module (guix build-system gnu))
(define-public gperf
@@ -38,18 +37,10 @@
(build-system gnu-build-system)
(arguments '(#:parallel-tests? #f))
(home-page "http://www.gnu.org/software/gperf/")
(synopsis
"GNU gperf, a perfect hash function generator")
(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+)))
+55
View File
@@ -0,0 +1,55 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
;;; 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/>.
(define-module (gnu packages gprolog)
#:use-module (guix licenses)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu))
(define-public gprolog
(package
(name "gprolog")
(version "1.4.4")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://gnu/gprolog/gprolog-" version
".tar.gz"))
(sha256
(base32
"13miyas47bmijmadm68cbvb21n4s156gjafz7kfx9brk9djfkh0q"))))
(build-system gnu-build-system)
(arguments
`(#:phases (alist-cons-before
'configure 'change-dir-n-fix-shells
(lambda _
(chdir "src")
(substitute* "configure"
(("-/bin/sh") (string-append "-" (which "sh")))
(("= /bin/sh") (string-append "= " (which "sh")))))
%standard-phases)))
(home-page "https://www.gnu.org/software/gprolog/")
(synopsis "Prolog compiler")
(description
"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+)))
+54
View File
@@ -0,0 +1,54 @@
;;; 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 groff)
#:use-module (guix licenses)
#: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 ghostscript)
#:use-module (gnu packages netpbm)
#:use-module (gnu packages perl)
#:use-module (gnu packages texinfo))
(define-public groff
(package
(name "groff")
(version "1.22.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/groff/groff-" version
".tar.gz"))
(sha256 (base32
"0xi07nhj5vdgax37rj25mwxzdmsz1ifx50hjgc6hqbkpqkd6821q"))))
(build-system gnu-build-system)
(inputs `(("bison" ,bison)
("ghostscript" ,ghostscript)
("netpbm" ,netpbm)
("perl" ,perl)
("psutils" ,psutils)
("texinfo" ,texinfo)))
(synopsis "Typesetting from plain text mixed with formatting commands")
(description
"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/")))
+108
View File
@@ -0,0 +1,108 @@
;;; 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 grub)
#:use-module (guix download)
#:use-module (guix packages)
#:use-module ((guix licenses) #:select (gpl3+))
#:use-module (guix build-system gnu)
#:use-module (gnu packages)
#:use-module (gnu packages flex)
#:use-module (gnu packages bison)
#: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 (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
(name "grub")
(version "2.00")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/grub/grub-"
version ".tar.xz"))
(sha256
(base32
"0n64hpmsccvicagvr0c6v0kgp2yw0kgnd3jvsyd26cnwgs7c6kkq"))
(patches (list (search-patch "grub-gets-undeclared.patch")))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags '("--disable-werror")
#:phases (alist-cons-before
'patch-source-shebangs 'patch-stuff
(lambda _
(substitute* "grub-core/Makefile.in"
(("/bin/sh") (which "sh")))
;; TODO: Re-enable this test when we have Parted.
(substitute* "tests/partmap_test.in"
(("set -e") "exit 77")))
%standard-phases)))
(inputs
`(;; ("lvm2" ,lvm2)
("gettext" ,gnu-gettext)
("freetype" ,freetype)
;; ("libusb" ,libusb)
("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-for-tests)
("xorriso" ,xorriso)))
(home-page "http://www.gnu.org/software/grub/")
(synopsis "GRand Unified Boot loader")
(description
"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+)))
+17 -29
View File
@@ -61,12 +61,14 @@
("shishi" ,shishi)
("zlib" ,guix:zlib)
))
(synopsis "GNU GSS (Generic Security Service), a free implementatio of RFC 2743/2744")
(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/")))
@@ -83,31 +85,17 @@ SMTP/IMAP servers. GSS consists of a library and a manual.")
(build-system gnu-build-system)
(inputs `(("libidn" ,libidn)
("libntlm" ,libntlm)
("gnutls" ,gnutls)
("gss" ,gss)
("zlib" ,guix:zlib)
))
(synopsis "GNU SASL, an implementation of the Simple Authentication and Security Layer framework")
("zlib" ,guix:zlib)))
(propagated-inputs
;; Propagate GnuTLS because libgnutls.la reads `-lnettle', and Nettle is a
;; propagated input of GnuTLS.
`(("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)))))
+549
View File
@@ -0,0 +1,549 @@
;;; 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.
;;;
;;; 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 gtk)
#: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 compression)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages ghostscript)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
#:use-module (gnu packages icu4c)
#:use-module (gnu packages libjpeg)
#:use-module (gnu packages libpng)
#:use-module (gnu packages libtiff)
#:use-module (gnu packages pdf)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages guile)
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg))
(define-public atk
(package
(name "atk")
(version "2.10.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
(string-take version 4) "/" name "-"
version ".tar.xz"))
(sha256
(base32
"1c2hbg66wfvibsz2ia0ri48yr62751fn950i97c53j3b0fjifsb3"))))
(build-system gnu-build-system)
(inputs `(("glib" ,glib)
("pkg-config" ,pkg-config)))
(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+)))
+163 -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.
;;;
@@ -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)
@@ -29,6 +30,9 @@
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages readline)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages ed)
#:use-module (gnu packages which)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu))
@@ -49,28 +53,31 @@
".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
'configure
'patch-loader-search-path
'patch-stuff
(lambda* (#:key outputs #:allow-other-keys)
;; Add a call to `lt_dladdsearchdir' so that
;; `libguile-readline.so' & co. are in the
;; loader's search path.
(substitute* "libguile/dynl.c"
(("lt_dlinit.*$" match)
(format #f
" ~a~% lt_dladdsearchdir(\"~a/lib\");~%"
match
(assoc-ref outputs "out")))))
(("lt_dlinit.*$" match)
(format #f
" ~a~% lt_dladdsearchdir(\"~a/lib\");~%"
match
(assoc-ref outputs "out"))))
;; The usual /bin/sh...
(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
@@ -81,29 +88,41 @@
;; When cross-compiling, a native version of Guile itself is needed.
(self-native-input? #t)
(synopsis "GNU Guile 1.8, an embeddable Scheme interpreter")
(native-search-paths
(list (search-path-specification
(variable "GUILE_LOAD_PATH")
(directories '("share/guile/site")))))
(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+)))
(define-public guile-2.0
(package
(name "guile")
(version "2.0.7")
(version "2.0.9")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/guile/guile-" version
".tar.xz"))
(sha256
(base32
"0f53pxkia4v17n0avwqlcjpy0n89hkazm2xsa6p84lv8k6k8y9vg"))))
"0nw9y8vjyz4r61v06p9msks5lm58pd91irmzg4k487vmv743h2pp"))))
(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'
@@ -120,24 +139,38 @@ 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)
(synopsis "GNU Guile 2.0, an embeddable Scheme implementation")
,@(if (%current-target-system)
'(#:configure-flags '("CC_FOR_BUILD=gcc"))
'())))
(native-search-paths
(list (search-path-specification
(variable "GUILE_LOAD_PATH")
(directories '("share/guile/site/2.0")))
(search-path-specification
(variable "GUILE_LOAD_COMPILED_PATH")
(directories '("share/guile/site/2.0")))))
(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+)))
@@ -155,7 +188,7 @@ call interface, and powerful string processing.")
"Build Guile-Reader against GUILE, a package of some version of Guile 1.8
or 2.0."
(package
(name (string-append "guile-reader-for-guile-" (package-version guile)))
(name (string-append "guile-reader-for-guile_" (package-version guile)))
(version "0.6")
(source (origin
(method url-fetch)
@@ -169,8 +202,14 @@ or 2.0."
(native-inputs `(("pkgconfig" ,pkg-config)
("gperf" ,gperf)))
(inputs `(("guile" ,guile)))
(synopsis "Guile-Reader, a simple framework for building readers for
GNU Guile")
(arguments `(#:configure-flags
(let ((out (assoc-ref %outputs "out")))
,(if (string-prefix? "2." (package-version guile))
'(list (string-append "--with-guilemoduledir="
out "/share/guile/site/2.0"))
'(list (string-append "--with-guilemoduledir="
out "/share/guile/site"))))))
(synopsis "Framework for building readers for GNU Guile")
(description
"Guile-Reader is a simple framework for building readers for GNU Guile.
@@ -194,4 +233,98 @@ many readers as needed).")
;; Guile-Reader built against Guile 2.0.
(guile-reader guile-2.0))
(define-public guile-ncurses
(package
(name "guile-ncurses")
(version "1.4")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/guile-ncurses/guile-ncurses-"
version ".tar.gz"))
(sha256
(base32
"070wl664lsm14hb6y9ch97x9q6cns4k6nxgdzbdzi5byixn74899"))))
(build-system gnu-build-system)
(inputs `(("ncurses" ,ncurses)
("guile" ,guile-2.0)))
(arguments
'(#:configure-flags (list (string-append "--with-guilesitedir="
(assoc-ref %outputs "out")
"/share/guile/site/2.0"))
#:phases (alist-cons-after
'install 'post-install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(dir (string-append out "/share/guile/site/"))
(files (find-files dir ".scm")))
(substitute* files
(("\"libguile-ncurses\"")
(format #f "\"~a/lib/libguile-ncurses\""
out)))))
%standard-phases)))
(home-page "http://www.gnu.org/software/guile-ncurses/")
(synopsis "Guile bindings to ncurses")
(description
"guile-ncurses provides Guile language bindings for the ncurses
library.")
(license lgpl3+)))
(define-public mcron
(package
(name "mcron")
(version "1.0.6")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/mcron/mcron-"
version ".tar.gz"))
(sha256
(base32
"0yvrfzzdy2m7fbqkr61fw01wd9r2jpnbyabxhcsfivgxywknl0fy"))
(patches (list (search-patch "mcron-install.patch")))))
(build-system gnu-build-system)
(inputs
`(("ed" ,ed) ("which" ,which) ("guile" ,guile-1.8)))
(home-page "http://www.gnu.org/software/mcron/")
(synopsis "Run jobs at scheduled times")
(description
"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
+62
View File
@@ -0,0 +1,62 @@
;;; 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.
;;;
;;; 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 gv)
#:use-module (gnu packages)
#:use-module (gnu packages ghostscript)
#:use-module (gnu packages compression)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages xorg)
#: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 ghostscript/x
(package (inherit ghostscript)
(name (string-append (package-name ghostscript) "-with-x"))
(inputs `(("libxext" ,libxext)
("libxt" ,libxt)
,@(package-inputs ghostscript)))))
(define-public gv
(package
(name "gv")
(version "3.7.4")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/gv/gv-"
version ".tar.gz"))
(sha256 (base32
"0q8s43z14vxm41pfa8s5h9kyyzk1fkwjhkiwbf2x70alm6rv6qi1"))))
(build-system gnu-build-system)
(propagated-inputs `(("ghostscript" ,ghostscript/x)))
(inputs `(("libx11" ,libx11)
("libxaw3d" ,libxaw3d)
("libxinerama" ,libxinerama)
("libxpm" ,libxpm)
("pkg-config" ,pkg-config)
("zlib" ,zlib)))
(synopsis "PostScript and PDF viewer using Ghostscript as a back-end")
(description
"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/")))
+6 -5
View File
@@ -26,7 +26,7 @@
(define-public help2man
(package
(name "help2man")
(version "1.40.8")
(version "1.43.3")
(source
(origin
(method url-fetch)
@@ -34,7 +34,7 @@
version ".tar.gz"))
(sha256
(base32
"0s6phazn8jgvpbsby8kj2m58rj1zjghi1aipvamh8af226ssqfzj"))))
"00yk86rvvaavg7y6i5bvk5xhm417jl9dpr8bqvqdksw0i48qv5v7"))))
(build-system gnu-build-system)
(arguments `(;; There's no `check' target.
#:tests? #f))
@@ -45,8 +45,9 @@
;; ("gettext" ,gettext)
))
(home-page "http://www.gnu.org/software/help2man/")
(synopsis "GNU help2man generates man pages from `--help' output")
(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+)))
+80
View File
@@ -0,0 +1,80 @@
;;; 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 hugs)
#:use-module (guix licenses)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu))
(define-public hugs
(package
(name "hugs")
(version "Sep2006")
(source
(origin
(method url-fetch)
(uri (string-append "http://cvs.haskell.org/Hugs/downloads/2006-09/"
name "98-plus-" version ".tar.gz"))
(sha256
(base32
"1mdy4aq4campgmnpc2qwq7bsbfhaxfsqdghbyyz2wms4lnfcmyma"))))
(build-system gnu-build-system)
(arguments
`(#:phases (alist-cons-before
'configure 'fix-sh-n-cp
(lambda _
(substitute*
'("configure"
"libraries/configure"
"packages/time/configure"
"packages/base/configure"
"packages/X11/configure"
"packages/HGL/configure"
"packages/OpenAL/configure"
"packages/OpenGL/configure"
"packages/network/configure"
"packages/unix/configure"
"packages/Cabal/tests/HSQL/configure"
"packages/ALUT/configure"
"packages/GLUT/configure"
"packages/base/cbits/execvpe.c"
"packages/base/System/Process/Internals.hs"
"packages/Cabal/Distribution/attic"
"packages/Cabal/Distribution/Simple/Register.hs"
"packages/Cabal/Distribution/Simple/Hugs.hs"
"tools/hugs-hc"
"src/machdep.c"
"libraries/Makefile.in")
(("/bin/sh") (which "sh")))
(substitute* '("demos/Makefile.in"
"libraries/Makefile.in")
(("/bin/cp") (which "cp"))))
%standard-phases)
#:tests? #f)) ; no test target
(home-page "http://haskell.org/hugs")
(synopsis "Functional programming system based on Haskell 98")
(description
"Hugs 98 is an interpreter and programming environment for developing
Haskell programs. It provides an almost complete implementation of Haskell
98, which includes expression and pattern syntax, primitives for monadic I/O,
with support for simple interactive programs, handle-based I/O, and exception
handling. Hugs has a nearly complete implementation of the Haskell module
system and supports a number of advanced extensions.")
(license (bsd-style "file://License"
"See License in the distribution."))))
+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

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