1
0
forked from tribes/guix

Compare commits

...

660 Commits

Author SHA1 Message Date
Ludovic Courtès 508ea01ef2 Update NEWS. 2014-07-25 01:01:51 +02:00
Ludovic Courtès 51af57102c build: Update PO files as per 'make dist'. 2014-07-25 00:56:50 +02:00
Ludovic Courtès dccc0b9800 Update NEWS. 2014-07-25 00:44:43 +02:00
Ludovic Courtès 20ffce820b ui: Improve formatting of package dependencies in recutils.
* guix/ui.scm (package->recutils)[dependencies->recutils]: New
  procedure. Use it.
2014-07-25 00:29:47 +02:00
Ludovic Courtès 3ce9aa44f1 build: Fix typo in 'guix package --show' test.
* tests/guix-package.sh: Change "^Package:" to "^name:".
2014-07-25 00:26:55 +02:00
Ludovic Courtès 6c9e7b2bea build: Better reject systems where the shebang would be too long.
* tests/gexp.scm (shebang): Add "#!".
2014-07-25 00:26:29 +02:00
Ludovic Courtès 417175096a services: Use system groups where applicable.
* gnu/services/avahi.scm (avahi-service): Add 'system?' field to
  'user-group' form.
* gnu/services/base.scm (guix-service): Likewise.
* gnu/services/dbus.scm (dbus-service): Likewise.
* gnu/services/networking.scm (tor-service): Likewise.
2014-07-25 00:15:46 +02:00
Ludovic Courtès c8fa34265d system: Add the 'system?' field for user groups.
Suggested by Mark H. Weaver.

* gnu/system/shadow.scm (<user-group>)[system?]: New field.
  (%base-groups): Introduce 'system-group' macro, and use it.
* gnu/system.scm (user-group->gexp): Pass the 'system?' field.
* guix/build/activation.scm (add-group): Add #:system? and honor it.
  (activate-users+groups): Handle the 'system?' field.
* gnu/system/file-systems.scm (%tty-gid): Choose an ID below 1000.
* doc/guix.texi (User Accounts): Document the 'system?' field.
2014-07-25 00:12:35 +02:00
Ludovic Courtès 931c132a58 doc: Make sure out-of-source-tree builds find os-config.tmpl.
* Makefile.am (BUILT_SOURCES): New variable.
* daemon.am (BUILT_SOURCES): Use +=.
* doc.am (BUILT_SOURCES, MAINTAINERCLEANFILES, EXTRA_DIST): Add
  doc/os-config.texi.
  (doc/os-config.texi): New target.
* doc/guix.texi (System Installation): Include os-config.texi.
2014-07-24 23:50:55 +02:00
Ludovic Courtès 054e85761f doc: Add "guix system" to 'dir'.
* doc/guix.texi: Add "guix system" to the dir entry.
2014-07-24 23:07:53 +02:00
Ludovic Courtès d9372161ef services: xorg: Honor ~/.xsession.
* gnu/services/xorg.scm (xinitrc): Attempt to execute ~/.xsession.
2014-07-24 23:02:27 +02:00
Ludovic Courtès 1dac856638 install: Add a configuration template to the image.
* gnu/system/os-config.tmpl: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it
* gnu/system/install.scm (configuration-template-service): New
  procedure.
  (installation-services): Call it.
* doc/guix.texi (System Installation): Mention
  configuration-template.scm, and @include gnu/system/os-config.tmpl.
2014-07-24 23:02:27 +02:00
Ludovic Courtès 0a90af1531 monads: Add 'interned-file'.
* guix/monads.scm (interned-file): New procedure.
* tests/monads.scm ("interned-file"): New test.
* doc/guix.texi (The Store Monad): Document it.
2014-07-24 23:02:26 +02:00
Ludovic Courtès 7ab44369b3 doc: Recommend partition labels.
* doc/guix.texi (System Installation): Recommend partition labels.
2014-07-24 23:02:26 +02:00
Ludovic Courtès 47b73c34f0 services: xorg: Remove /var/run/slim.lock when starting.
Reported by Mark H. Weaver.

* gnu/services/xorg.scm (slim-service)[start]: Remove /var/run/slim.lock
  before starting 'slim'.
2014-07-24 23:02:26 +02:00
Mark H Weaver da9c810280 gnu: gcc: Update to 4.9.1.
* gnu/packages/gcc.scm (gcc-4.9): Update to 4.9.1.
2014-07-24 10:13:38 -04:00
Manolis Ragkousis 7736218683 gnu: Add libftdi.
* gnu/packages/libftdi.scm: New file
* gnu-system.am (GNU_SYSTEM_MODULES): Add libftdi.scm

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2014-07-24 09:42:32 +02:00
Mark H Weaver 9fd571a292 gnu: Adjust more packages to GLib "bin" split.
* gnu/packages/gimp.scm (gegl): Add glib:bin to 'native-inputs'.
* gnu/packages/mail.scm (mu): Ditto.
2014-07-23 18:26:03 -04:00
Andreas Enge 408137d992 gnu: parallel: Upgrade to 20140722.
* gnu/packages/parallel.scm (parallel): Upgrade to 20140722.
2014-07-23 23:09:36 +02:00
Andreas Enge bc7f024c47 gnu: xorriso: Upgrade to 3.1.8.
* gnu/packages/cdrom.scm (xorriso): Upgrade to 3.1.8.
2014-07-23 23:07:18 +02:00
Andreas Enge 1b4f23bdf6 gnu: nano: Upgrade to 2.3.6.
* gnu/packages/nano.scm (nano): Upgrade to 2.3.6.
2014-07-23 23:06:55 +02:00
Mark H Weaver 20e6c852d3 gnu: htop: Update source URI.
* gnu/packages/admin.scm (htop): Update source URI.
2014-07-23 16:50:30 -04:00
Ludovic Courtès 94b13427d7 gnu: module-init-tools: Fix $LINUX_MODULE_DIRECTORY handling in 'depmod'.
* gnu/packages/patches/module-init-tools-moduledir.patch: Adjust the
  'depmod' part to handle $LINUX_MODULE_DIRECTORY without a trailing
  slash.
2014-07-23 22:27:17 +02:00
Ludovic Courtès 4a8b4c25b0 gnu: kmod: Install symlinks for 'insmod', 'modprobe', etc.
* gnu/packages/linux.scm (kmod)[arguments]: Add 'install-modprobe&co'
  phase.
2014-07-23 19:09:27 +02:00
Ludovic Courtès 906f70406a gnu: module-init-tools: Handle $LINUX_MODULE_DIRECTORY without trailing slash.
Fixes <http://bugs.gnu.org/18068>.

* gnu/packages/patches/module-init-tools-moduledir.patch: Adjust to deal
  with the lack of a trailing slash.
2014-07-23 18:51:07 +02:00
Ludovic Courtès 720ee245da guix system: Protect against changes to $PATH when activating the system.
Partly fixes <http://bugs.gnu.org/18082>.
Reported by Mark H Weaver <mhw@netris.org>.

* guix/scripts/system.scm (save-environment-excursion): New macro.
  (switch-to-system): Wrap 'primitive-load' call in it.
2014-07-23 18:20:56 +02:00
Ludovic Courtès b6debdaa22 guix system: Fix type error in 'reconfigure'.
Partly fixes <http://bugs.gnu.org/18082>.
Reported by Mark H Weaver <mhw@netris.org>.

* guix/scripts/system.scm (perform-action) <reconfigure>: Pass the
  output file name of GRUB.CFG to 'install-grub'.
2014-07-23 18:20:56 +02:00
Andreas Enge 742160428e gnu: dvdisaster: Upgrade to 0.72.6.
* gnu/packages/cdrom.scm (dvdisaster): Upgrade to 0.72.6.
2014-07-23 18:00:19 +02:00
Ludovic Courtès 83a17b6236 install: Add a service to back the store with the target disk.
Fixes <http://bugs.gnu.org/18061>.
Reported by Adam Pribyl <pribyl@lowlevel.cz>.

* gnu/services/dmd.scm (dmd-configuration-file)[config]: Import (guix
  build utils).
* gnu/system/install.scm (make-cow-store, cow-store-service): New
  procedures.
  (installation-services): Use it.
  (%backing-directory): New variable.
* doc/guix.texi (System Installation): Add the 'deco start cow-store
  /mnt' phase.
2014-07-23 17:47:25 +02:00
Andreas Enge 5383fb5bd4 gnu: pari-gp: Upgrade to 2.7.1.
* gnu/packages/algebra.scm (pari-gp): Upgrade to 2.7.1.
2014-07-23 16:46:05 +02:00
Mark H Weaver 705f8b68f1 system: Add missing exports to (gnu system file-systems).
* gnu/system/file-systems.scm (%pseudo-terminal-file-system)
  (%shared-memory-file-system): Add to export list.
2014-07-23 02:13:34 -04:00
Ludovic Courtès db17ae5c27 system: Add /dev/shm.
* gnu/system/file-systems.scm (%shared-memory-file-system): New
  variable.
  (%base-file-systems): Add it.
* doc/guix.texi (File Systems): Document it.
2014-07-23 02:02:07 +02:00
Ludovic Courtès 2c071ce96e system: Recognize more file system flags.
* guix/build/linux-initrd.scm (MS_NOSUID, MS_NODEV, MS_NOEXEC): New
  variables.
  (mount-flags->bit-mask): New procedure.
  (mount-file-system)[flags->bit-mask]: Remove.
  Use 'mount-flags->bit-mask' instead.
  In /etc/mtab, use the empty string when OPTIONS is false.
* gnu/services/base.scm (file-system-service): Add #:flags parameter and
  honor it.
* gnu/system.scm (other-file-system-services): Pass FLAGS to
  'file-system-service'.
2014-07-23 02:02:07 +02:00
Ludovic Courtès a85b83d227 doc: Merge the type, variable, and function indices.
* doc/guix.texi (Function Index): Rename to...
  (Programming Index): ... this.  Merge the type, variable, and function
  indices.
2014-07-23 02:02:07 +02:00
Ludovic Courtès 7f239fd33f system: Add 'file-system' decl. for /dev/pts, and use the right options.
Fixes <http://bugs.gnu.org/18081>.

* gnu/system/file-systems.scm (%devtmpfs-file-system): Add
  'needed-for-boot?' field.
  (%tty-gid, %pseudo-terminal-file-system): New variables.
  (%base-file-systems): Add %PSEUDO-TERMINAL-FILE-SYSTEM.
* gnu/services/base.scm (udev-service): Remove dependency on
  'file-system-/dev'.
* gnu/system/shadow.scm (%base-groups): Add 'id' field for group 'tty'.
* guix/build/linux-initrd.scm (boot-system): Remove 'mount' call for
  /dev/pts.
* doc/guix.texi (File Systems): Add %pseudo-terminal-file-system.
2014-07-23 02:02:07 +02:00
Ludovic Courtès 4e469051a7 system: Add 'create-mount-point?' file system option.
* gnu/system/file-systems.scm (<file-system>)[create-mount-point?]: New
  field.
* gnu/services/base.scm (file-system-service): Add #:create-mount-point?
  parameter and honor it.
* gnu/system.scm (other-file-system-services): Update
  'file-system-service' call accordingly.
* doc/guix.texi (File Systems): Document it.
2014-07-23 02:02:06 +02:00
Andreas Enge 5ac12a4f77 Require only lower gettext version.
* configure.ac: Change back to requiring gettext at least 0.18.1, partially
    reverting commit ee76417.
2014-07-22 21:35:07 +02:00
Ludovic Courtès 30d3e2e8db Thank Adam. 2014-07-22 16:59:17 +02:00
Ludovic Courtès a69576ea85 system: Add '%devtmpfs-file-system' for udev, and '%base-file-systems'.
Suggested by Adam Pribyl <pribyl@lowlevel.cz>.

* gnu/services/base.scm (udev-service)[requirement]: Add
  'file-system-/dev'.
* gnu/system/file-systems.scm (%devtmpfs-file-system,
  %base-file-systems): New variables.
* gnu/system/install.scm (installation-services)[file-systems]: Use
  %base-file-systems.
* build-aux/hydra/demo-os.scm (file-systems): Likewise.
* doc/guix.texi (System Installation): Show %BASE-FILE-SYSTEMS in the
  example.
  (Using the Configuration System): Likewise.
  (File Systems): Document %base-file-systems, %devtmpfs-file-system,
  %binary-format-file-system, and %fuse-control-file-system.
2014-07-22 16:59:10 +02:00
Ludovic Courtès 7cb9666dd0 doc: Fix typo.
* doc/guix.texi (System Installation): s/are/is/.
2014-07-22 15:23:14 +02:00
Ludovic Courtès bce7526f9a Add comments about global memoization.
* guix/build-system/gnu.scm (standard-inputs): Add comment about
  misplaced memoization.
* guix/packages.scm (cache): Likewise.
2014-07-21 23:18:21 +02:00
Ludovic Courtès 1b09031f78 services: Allow 'check-file-system' to work for non-boot-time file systems.
* gnu/services/base.scm (file-system-service)[start]: Set $PATH so that
  fsck.* can be found.  Reported by "DusXMT".
2014-07-21 23:18:21 +02:00
Ludovic Courtès 02dd2a9cb6 Update 'NEWS'. 2014-07-21 23:18:21 +02:00
Cyril Roelandt 2aa6efb0b9 guix package: add a "show" option.
* doc/guix.texi: Update the documentation.
* guix/scripts/package.scm: Add a "show" option.
* tests/guix-package.sh: Add a test for the "show" option.
2014-07-21 22:18:03 +02:00
Cyril Roelandt 9c0fc27968 ui: add the "dependencies" field to package->recutils:
* guix/ui.scm (package->recutils): Print the dependencies of the package.
2014-07-21 22:17:59 +02:00
Ludovic Courtès a4f51df98a nls: Add Hungarian translation. 2014-07-20 22:39:02 +02:00
Ludovic Courtès 58f485cc80 build: Fix typo that would lead to hitting the socket name length limit.
* tests/guix-register.sh: Remove redundant $new_store in $NIX_STATE_DIR,
  introduced in 689142cd ("guix-register: Add '--state-directory'
  parameter.")  Reported by Eric Bavier <ericbavier@gmail.com> and
  Alen Skondro <askondro@gmail.com>.
2014-07-20 22:39:02 +02:00
Ludovic Courtès 7779ab611d doc: Show output of 'guix refresh --list-dependent' example.
* doc/guix.texi (Invoking guix refresh): Show example output of the
  command.
2014-07-20 22:39:02 +02:00
Ludovic Courtès 65ea711189 guix refresh: Use (ice-9 format).
* guix/scripts/refresh.scm: Use (ice-9 format).
2014-07-20 22:39:02 +02:00
Ludovic Courtès 8334cf5b5c guix system: Factorize 'copy-closure'.
* guix/scripts/system.scm (copy-closure): Rename to...
  (copy-item): ... this.
  (copy-closure): New procedure.
  (install): Use it, and remove redundant code.
2014-07-20 22:39:02 +02:00
Jason Self fcbf703efa gnu: ffmpeg: Remove --disable-vis.
* gnu/packages/video.scm (ffmpeg): Remove --disable-vis.
2014-07-20 13:37:02 -07:00
Jason Self 7e81a45513 gnu: wpa-supplicant: Update to 2.2.
* gnu/packages/admin.scm (wpa-supplicant): Update to version 2.2.
2014-07-20 11:59:09 -07:00
Jason Self a915ab6a6b gnu: sudo: Update to 1.8.10p3.
* gnu/packages/admin.scm (sudo): Update to version 1.8.10p3.
2014-07-20 11:56:59 -07:00
Eric Bavier 7d193ec348 guix: refresh: Add --list-dependent option.
* guix/packages.scm (package-direct-inputs): New procedure.
* gnu/packages.scm (vhash-refq, package-direct-dependents)
  (package-transitive-dependents, package-covering-dependents): New procedures.
* guix/scripts/refresh.scm (%options, show-help, guix-refresh): Add
  --list-dependent option.
* doc/guix.texi (Invoking guix refresh): Document '--list-dependent' option.
2014-07-20 11:36:09 -05:00
Eric Bavier 516e3b6f7a guix: utils: Add fold-tree and fold-tree-leaves.
* guix/utils.scm (fold-tree, fold-tree-leaves): New functions.
* tests/utils.scm: Add tests for them.
2014-07-20 11:36:09 -05:00
Jason Self da891830da gnu: htop: Update to 1.0.3.
* gnu/packages/admin.scm (htop): Update to version 1.0.3.
2014-07-20 06:48:58 -07:00
Jason Self 180d7ac163 gnu: dfc: Update to 3.0.4.
* gnu/packages/admin.scm (dfc): Update to version 3.0.4.
2014-07-20 06:47:14 -07:00
John Darrington 0a643dc6f4 gnu: Enable swig tests.
* gnu/packages/swig.scm (swig): Add boost as input and enable tests.
2014-07-20 10:12:16 +02:00
Jason Self 428a62f257 gnu: linux-libre: Update to 3.15.6.
* gnu/packages/linux.scm (linux-libre): Update to version 3.15.6.
2014-07-19 07:14:09 -07:00
David Thompson ebc28a7d13 install: Add wireless-tools package.
* gnu/system/install.scm (installation-os): Add wireless-tools to packages.
2014-07-19 09:42:43 -04:00
David Thompson c299dffcc4 linux-initrd: Add AHCI modules.
* gnu/system/linux-initrd (linux-modules): Add them.
2014-07-19 08:41:43 -04:00
David Thompson 000f7559a7 gnu: Add wireless-tools.
* gnu/packages/linux.scm (wireless-tools): New variable.
2014-07-19 08:40:22 -04:00
Ludovic Courtès 66c2703f09 install: Set the store's permission to #o1775.
Fixes <http://bugs.gnu.org/18053>.
Reported by Mark H Weaver <mhw@netris.org>.

* guix/build/install.scm (directives): Add mode #o1775 for STORE.
2014-07-19 14:26:19 +02:00
Eric Bavier 501aa54f7d gnu: Add datamash.
* gnu/packages/datamash.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
2014-07-18 14:40:15 -05:00
Ludovic Courtès 7a5c329b92 Thank Marek. 2014-07-18 20:40:51 +02:00
Ludovic Courtès a52127c052 guix system: init: Always use /var/guix as the target state directory.
Fixes <http://bugs.gnu.org/18049>.
Reported by Marek Benc <merkur32@gmail.com>.

* guix/scripts/system.scm (copy-closure): Pass #:state-directory to
  'register-path'.
2014-07-18 20:40:51 +02:00
Ludovic Courtès 689142cd75 guix-register: Add '--state-directory' parameter.
* nix/guix-register/guix-register.cc (GUIX_OPT_STATE_DIRECTORY): New
  macro.
  (parse_opt): Honor it.
* tests/guix-register.sh: Add test with '--state-directory'.
* guix/store.scm (register-path): Add #:state-directory parameter.
2014-07-18 20:40:51 +02:00
Mark H Weaver 1c00f83650 Fix typos in manual.
* doc/guix.texi (Using the Configuration System): 'gid' -> 'group'
  in user-account example.
  (Initial RAM Disk): 'base-init' -> 'base-initrd'.
2014-07-18 10:41:47 -04:00
John Darrington 0e534e74aa gnu: Add Aegis.
* gnu/packages/version-control.scm (aegis): New variable.
* gnu/packages/patches/aegis-constness-error.patch: New file.
* gnu/packages/patches/aegis-perl-tempdir1.patch: New file.
* gnu/packages/patches/aegis-perl-tempdir2.patch: New file.
* gnu/packages/patches/aegis-test-fixup-1.patch: New file.
* gnu/packages/patches/aegis-test-fixup-2.patch: New file.
2014-07-18 06:45:33 +02:00
John Darrington a4dc3bdb15 gnu: whitespace change only
* gnu/packages/version-control.scm: Remove blank line
2014-07-18 06:45:33 +02:00
John Darrington cdd754e8b6 Update 'AUTHORS'.
* AUTHORS: Correct the email address I use for Guix work.
2014-07-18 06:45:33 +02:00
Ludovic Courtès e5b648e06a gnu: apr-util: Run 'make check' sequentially.
* gnu/packages/apr.scm (apr-util)[arguments]: Add #:parallel-tests?.
2014-07-18 00:52:45 +02:00
Ludovic Courtès 9f9236b766 Merge branch 'gettext-upgrade' 2014-07-17 18:42:28 +02:00
Jason Self f125f4b72a gnu: ffmpeg: Update to 2.3.
* gnu/packages/video.scm (ffmpeg): Update to version 2.3.

Signed-off-by: Jason Self <j@jxself.org>
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2014-07-17 18:41:48 +02:00
Jason Self 72fe9d0b39 gnu: libogg: Update to 1.3.2.
* gnu/packages/xiph.scm (libogg): Update to version 1.3.2.

Signed-off-by: Jason Self <j@jxself.org>
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2014-07-17 18:39:41 +02:00
Ludovic Courtès 3172ed5a4c install: Show the "System Installation" node.
* gnu/system/install.scm (log-to-info): Go to the new 'System
  Installation' node.
2014-07-17 18:37:53 +02:00
Ludovic Courtès 42b9b8f9cb gnu: guix: Upgrade development snapshot.
* gnu/packages/package-management.scm (guix): Upgrade to commit
  0ae8c15.
2014-07-17 18:30:11 +02:00
Ludovic Courtès 0ae8c15aef doc: Add "Setuid Programs" node.
* doc/guix.texi (Setuid Programs): New node.
2014-07-17 18:10:16 +02:00
Ludovic Courtès fd1b1fa296 doc: Add "Initial RAM Disk" section.
* doc/guix.texi (Initial RAM Disk): New node.
* gnu/system/linux-initrd.scm (expression->initrd): Adjust docstring.
2014-07-17 17:49:34 +02:00
Ludovic Courtès a1906758c3 records: Report unknown field names in inheriting forms.
* guix/records.scm (define-record-type*)[record-inheritance]: Check for
  unexpected field names.
* tests/records.scm ("define-record-type* with let* behavior"): Return
  #t, not *unspecified*.
  ("define-record-type* & inherit & extra initializers"): New test.
2014-07-17 16:45:45 +02:00
Ludovic Courtès b1353e7a6b records: Factorize error-reporting macro.
* guix/records.scm (record-error): New macro.
  (define-record-type*)[error*]: Remove.
  Use 'record-error' instead.
2014-07-17 16:42:19 +02:00
Ludovic Courtès 23e9a68088 records: Add tests for error cases.
* tests/records.scm (test-module): New procedure.
  ("define-record-type* & missing initializers",
  "define-record-type* & extra initializers"): New tests.
2014-07-17 16:06:36 +02:00
Ludovic Courtès 62ca0fdf9e services: Add 'console-font-service'.
* gnu/services/base.scm (unicode-start, console-font-service): New
  procedures.
  (%base-services): Call 'console-font-service' for TTY1 to TTY6.
* gnu/system/install.scm (installation-services): Add comment about the
  console font.  Call 'console-font-service' for TTY1 to TTY6.
2014-07-17 15:53:01 +02:00
Ludovic Courtès 2cf0ea0dbb gexp: Gracefully handle printing of gexps with spliced references.
* guix/gexp.scm (write-gexp): Wrap 'write' call in
  'false-if-exception'.
* tests/gexp.scm ("printer", "printer vs. ungexp-splicing"): New tests.
2014-07-17 15:40:06 +02:00
Ludovic Courtès 8aaaae38a3 doc: List noteworthy limitations.
* doc/guix.texi (Limitations): New subsection.
2014-07-17 14:36:36 +02:00
Ludovic Courtès 6a1912743a services: syslog: Don't write trivial error messages to /dev/console.
* gnu/services/base.scm (syslog-service): Change "*.err" to "*.alert".
2014-07-16 22:40:14 +02:00
Ludovic Courtès b63dbd44f0 system: Add e2fsprogs to the base packages.
* gnu/system.scm (%base-packages): Add E2FSPROGS.
2014-07-16 15:54:47 +02:00
Ludovic Courtès 03e9998f41 system: Use kmod instead of module-init-tools.
* gnu/system.scm (%base-packages): Use kmod instead of
  module-init-tools.
2014-07-16 15:54:47 +02:00
Ludovic Courtès dc254e0568 gexp: Build 'gexp->file' derivations locally.
* guix/gexp.scm (gexp->file): Add #:local-build? argument.
2014-07-16 15:54:47 +02:00
Ludovic Courtès f2cdcafbc1 gnu: kbd: Make sure unicode_{start,stop} work as expected.
* gnu/packages/linux.scm (kbd): Patch 'src/unicode_{start,stop}' to use
  'tty'.
  <phases>: Add 'post-install' phase.
2014-07-16 15:54:47 +02:00
Ludovic Courtès cf4a912919 doc: Move "System Configuration" higher.
* doc/guix.texi (GNU Distribution): Move "System Configuration" right
  after "System Installation".
2014-07-16 15:54:47 +02:00
John Darrington 79ad1c6999 Update 'THANKS'.
* THANKS: Correct the email address I use for Guix work.
2014-07-16 06:31:57 +02:00
John Darrington 6217ca12c5 gnu: Tinyproxy: Cleanup xml dependencies
* gnu/packages/web.scm (tinyproxy): Use the XML catalog from docbook instead of
  generating a temporary one.
2014-07-16 06:28:01 +02:00
John Darrington b4ce630048 gnu: Enable gnome-doc-utils tests
* gnu/packages/gnome (gnome-doc-utils): Set the XML_CATALOG_FILES variable and
  enable the tests.
2014-07-16 06:28:01 +02:00
John Darrington 7f4bf03034 gnu: docbook-xsl write absolute file:// uris in catalogs instead of ./ relative ones
* gnu/packages/docbook.scm (docbook-xsl):  Replace ./ paths with file:// uris
2014-07-16 06:28:01 +02:00
John Darrington a6639cf7f2 gnu: docbook-xml: Substitute remote xml_catalog uris with local ones.
* gnu/packages/docbook.scm: substitute remote uri with local ones.
2014-07-16 06:28:01 +02:00
John Darrington 1cac3de660 gnu: Add docbook-xml version 4.3 and 4.4
* gnu/packages/docbook.scm (docbook-xml-4.3, docbook-xml-4.4): New variables.
2014-07-16 06:28:01 +02:00
John Darrington a37a30772f gnu: docbook-xsl update to 1.78.1
* gnu/packages/docbook.scm (docbook-xsl): Upgrade to version 1.78.1
2014-07-16 06:28:01 +02:00
Ludovic Courtès 2dd36f5a09 nls: Update 'eo' and 'vi' translations. 2014-07-15 23:43:41 +02:00
Ludovic Courtès 3146976496 Add Jason to 'AUTHORS'. 2014-07-15 22:48:48 +02:00
Jason Self 2af4937edd gnu: libvorbis: Update to 1.3.4.
* gnu/packages/xiph.scm (libvorbis): Update to version 1.3.4.

Signed-off-by: Jason Self <j@jxself.org>
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2014-07-15 22:48:07 +02:00
Jason Self 399fdcf75c gnu: flac: Upgrade to 1.3.0.
* gnu/packages/xiph.scm (flac): Update to version 1.3.0.
  Remove 'patches' field.
* gnu/packages/patches/flac-fix-memcmp-not-declared.patch: Remove.
* gnu-system.am (dist_patch_DATA): Adjust accordingly.

Signed-off-by: Jason Self <j@jxself.org>
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2014-07-15 22:42:42 +02:00
Ludovic Courtès b1e50c32a0 gnu: gettext: Update to 0.19.2.
* gnu/packages/gettext.scm (gnu-gettext): Update to 0.19.2.
2014-07-15 09:55:40 +02:00
Eric Bavier 49d91de763 guix: refresh: Correctly identify invalid package names.
* guix/scripts/refresh.scm (guix-refresh): Check for null list
  returned by find-packages-by-name rather than #f.
2014-07-15 00:10:10 -05:00
Ludovic Courtès 5af6de3e67 doc: Add a "System Installation" node.
* doc/guix.texi (Installation): Add cross-ref to "System Installation".
  (System Installation): New section.
  (System Configuration): Remove disclaimer.
2014-07-15 00:43:04 +02:00
Ludovic Courtès 8f297d422a install: Remove GNU fdisk from the image.
* gnu/system/install.scm (installation-os): Remove FDISK.
2014-07-14 18:06:35 +02:00
Ludovic Courtès 932e1f9240 vm: Make sure disk image initrds load 'usb-storage.ko'.
Reported by David Thompson <dthompson2@worcester.edu>.

* gnu/system/vm.scm (system-disk-image): Add usb-storage.ko to the
  initrd.
2014-07-14 18:05:10 +02:00
Ludovic Courtès 246a8106ff doc: Remove redundant listing of services.
* doc/guix.texi (Defining Services): Remove listing of service
  procedures; add xref to "Services".
2014-07-14 16:34:24 +02:00
Ludovic Courtès 3942305eb1 guix system: reconfigure: Always use "/" as GRUB's target file system.
* guix/scripts/system.scm (perform-action) <reconfigure>: Wrap
  'install-grub' call in 'false-if-exception'.  Always use "/" as the
  target.
2014-07-14 16:14:15 +02:00
Ludovic Courtès 66672a455c gnu: Synchronize synopses and descriptions with the Womb.
* gnu/packages/gimp.scm (gimp): Synchronize synopsis and description.
* gnu/packages/gl.scm (guile-opengl): Likewise.
* gnu/packages/gnome.scm (gnumeric): Likewise.
2014-07-14 15:59:41 +02:00
Ludovic Courtès c11a6eb1e5 services: Add options to 'guix-service'.
* gnu/services/base.scm (guix-service): Add #:use-substitutes? and
  #:extra-options parameters, and honor them.
* doc/guix.texi (Base Services): Adjust accordingly.
2014-07-14 15:51:22 +02:00
Ludovic Courtès 55e70e655d system: Add 'nano' and 'lsof' to the base packages.
* gnu/system.scm (%base-packages): Add NANO and LSOF.
2014-07-14 15:35:57 +02:00
Jason Self 88a1976cbe gnu: linux-libre: Update to 3.15.5.
* gnu/packages/linux.scm (linux-libre): Update to version 3.15.5.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2014-07-14 00:08:28 +02:00
Jason Self f123a18f8a gnu: linux-libre: Disable CONFIG_DEBUG_INFO and turn off nvidiafb module.
Disabling CONFIG_DEBUG_INFO so that local builds aren't so enormous.
Also turning off nvidiafb module based on a bug report I received.
Nouveau has its own framebuffer device and it looks like they conflict
if you load both.

* gnu/packages/linux-libre-x86_64.conf: Comment out CONFIG_FB_NVIDIA,
  and remove related items.  Comment out CONFIG_DEBUG_INFO.
* gnu/packages/linux-libre-i686.conf: Likewise.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2014-07-14 00:03:00 +02:00
Ludovic Courtès 4660b1e83b nls: Add German translation. 2014-07-13 23:59:48 +02:00
Ludovic Courtès bdfdf9017b nls: Update eo, pt_BR, sr, and vi package translations. 2014-07-13 23:56:05 +02:00
Ludovic Courtès c3cf9d36e4 Merge branch 'bug-17853' 2014-07-13 23:44:55 +02:00
Ludovic Courtès 314a83ef1e guix system: Fix return value for 'reconfigure'.
* guix/scripts/system.scm (perform-action) <reconfigure>: Add missing
  'return' expression.
2014-07-13 23:44:37 +02:00
Ludovic Courtès fa16f84502 linux-initrd: Allow extra modules to be passed to 'base-initrd'.
* gnu/system/linux-initrd.scm (base-initrd): Add #:extra-modules
  parameter.
2014-07-13 23:43:00 +02:00
Ludovic Courtès 3485716fd9 install: Make /var/db and /mnt.
* guix/build/install.scm (directives): Add /var/db and /mnt.
2014-07-13 16:37:47 +02:00
Ludovic Courtès 8e42796bdc guix system: Convert to monadic style.
* guix/scripts/system.scm (references*, topologically-sorted*,
  show-what-to-build*): New procedures.
  (copy-closure): Turn into a monadic procedure.
  (install): Likewise, and adjust parameter list.
  (switch-to-system): Likewise.
  (system-derivation-for-action, grub.cfg, maybe-build, perform-action):
  New procedures.
  (guix-system): Use them.
2014-07-13 16:37:11 +02:00
Ludovic Courtès 66670cf39c vm: Add support for i686.
Partially fixes <http://bugs.gnu.org/18002>.
Reported by David Thompson <dthompson2@worcester.edu>.

* guix/build/vm.scm (qemu-command): Add optional 'system' parameter.
  Special-case "^i[3456]86$".
* gnu/system/vm.scm (system-qemu-image/shared-store-script): Use it.
2014-07-13 16:37:11 +02:00
John Darrington ae9cb418df gnu: Add chess and xboard.
* gnu/packages/games.scm (xboard, chess): New variables.
2014-07-13 16:04:34 +02:00
Ludovic Courtès 927097effd services: Add Tor service.
* gnu/services/networking.scm (tor-service): New procedure.
* doc/guix.texi (Networking Services): Document it.
* build-aux/hydra/demo-os.scm: Use it.  Add TOR and TORSOCKS to
  'packages'.
2014-07-12 23:17:54 +02:00
Ludovic Courtès 8897603ad0 services: networking: Set interfaces up; delete default route only when needed.
* gnu/services/networking.scm (static-networking-service): Use -i, -A,
  and --up with Inetutils' ifconfig.  Do 'route del -net default' only
  when GATEWAY is true.
2014-07-12 23:17:54 +02:00
Ludovic Courtès 89a0d00a38 system: Add 'which' to the base packages.
* gnu/system.scm (%base-packages): Add WHICH.
2014-07-12 23:17:54 +02:00
Ludovic Courtès 4a3b3b073a services: Provide a 'loopback' service by default.
* gnu/services/networking.scm (static-networking-service): Add
  #:provision parameter; use it.
* gnu/services/base.scm (%base-services): Call
  'static-networking-service' for "lo".
2014-07-12 23:17:53 +02:00
Ludovic Courtès f111b327a9 system: Remove erroneous system binding in profile maker.
Partly fixes <http://bugs.gnu.org/18002>.
Reported by David Thompson <dthompson2@worcester.edu>.

* gnu/system.scm (union): Remove #:system parameter, which was unused.
2014-07-12 23:17:53 +02:00
Ludovic Courtès 5d0984595c gexp: Resolve the default system at '>>=' time.
Partly fixes <http://bugs.gnu.org/18002>.
Reported by David Thompson <dthompson2@worcester.edu>.

* guix/gexp.scm (gexp->derivation): Change #:system to default #f.
  Use (%current-system) from within the 'mlet*'.
* tests/gexp.scm ("gexp->derivation, default system"): New test.
2014-07-12 23:17:53 +02:00
Ludovic Courtès f62435e286 monads: Fix 'mapm' so that effects happen from left to right.
* guix/monads.scm (mapm): Don't reverse LST, so that items are processed
  from left to right.  Bind the result of 'foldm' and reverse it.
* tests/monads.scm ("sequence"): Change 'frob' so it performs its side
  effect within an 'mlet' body.  Adjust call accordingly.
2014-07-12 23:17:53 +02:00
John Darrington c2150d9ace gnu: Add links.
* gnu-system.am (GNU_SYSTEM_MODULES): Add new file.
* gnu/packages/links.scm: New file.
2014-07-12 06:44:26 +02:00
Ludovic Courtès ef5dd60a3f doc: Start writing about services.
* doc/guix.texi (Using the Configuration System): Remove details about
  '%base-services', and link to "Services".
  (Services): Add introductory text.
  (Base Services, Networking Services, X Window): New nodes.
2014-07-11 23:20:48 +02:00
Ludovic Courtès 51da7ca095 services: Use more Texinfo markup in docstrings.
* gnu/services/base.scm (host-name-service): Use Texinfo markup.
  (mingetty-service): Comment on #:allow-empty-passwords?.  Improve
  markup.
  (syslog-service, guix-service): Use Texinfo markup.
* gnu/services/networking.scm (static-networking-service): Likewise.
* gnu/services/xorg.scm (slim-service): Likewise.
2014-07-11 23:20:48 +02:00
Ludovic Courtès da417ffe3b system: Allow root to use 'groupadd' & co. without authenticating.
This fixes a bug whereby, if #:allow-root-passwords was #f, 'groupadd'
would ask for a password.  This is particularly problematic during
activation.

* gnu/system/linux.scm (rootok-pam-service): New procedure.
  (base-pam-services): Use it for all the user* and group* commands.
2014-07-11 23:20:48 +02:00
Ludovic Courtès f109696473 packages: Add printer for <origin>.
* guix/packages.scm (print-origin): New procedure.
  (<origin>): Add it as record type printer.
2014-07-11 23:20:48 +02:00
Eric Bavier 42e1394b11 gnu: texlive: Upgrade to 2014.
* gnu/packages/texlive.scm (texlive-extra-src, texlive-texmf-src,
  texlive): Upgrade to 2014.
  (texlive)[arguments]: Remove 'patch-perl-shebang' phase.
2014-07-11 10:58:56 -05:00
David Thompson 361046f7eb gnu: Add fish.
* gnu/packages/fish.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
2014-07-11 08:11:07 -04:00
Ludovic Courtès 715956cc26 system: Add "netdev" group.
* gnu/system/shadow.scm (%base-groups): Add "netdev".
2014-07-11 00:27:27 +02:00
Ludovic Courtès cda3d81ea8 gnu: linux-libre: Remove '--strip-all' argument.
* gnu/packages/linux.scm (linux-libre)[arguments]: Remove
  #:strip-flags, which led to unloadable modules.  This reverts
  commit 9ca7eaa1.
  [build-phase]: Add INSTALL_MOD_STRIP=1.
2014-07-11 00:26:27 +02:00
Eric Bavier ca9ea1a849 gnu: glib: Fix build on i686.
* gnu/packages/patches/glib-tests-timer.patch: New patch.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/glib.scm: Use it.
2014-07-10 17:03:42 -05:00
Eric Bavier 8360758d5c gnu: Remove overlooked patch.
* gnu-system.am (dist_patch_DATA): Remove patch deleted previously.
2014-07-10 16:43:17 -05:00
Ludovic Courtès 501de668f1 gnu: Add VTK.
* gnu/packages/vtk.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
2014-07-10 21:34:07 +02:00
Ludovic Courtès a6eb1a95d6 gnu: plotutils: Propagate libXaw.
* gnu/packages/plotutils.scm (plotutils): Move LIBXAW to from 'inputs'
  to 'propagated-inputs'.
2014-07-10 13:05:47 +02:00
Ludovic Courtès 1650dd8a38 gnu: linux-libre: Fallback to 'defconfig' when there's no config file.
* gnu/packages/linux.scm (kernel-config): Return #f rather than error
  out in the default case.
  (linux-libre)[native-inputs]: Add "kconfig" input only when
  'kernel-config' returns true.
  [build-phase]: Adjust accordingly.
2014-07-10 13:03:46 +02:00
Ludovic Courtès 9ca7eaa134 gnu: linux-libre: Strip everything with '--strip-all'.
* gnu/packages/linux.scm (linux-libre)[arguments]: Add #:strip-flags.
2014-07-10 00:35:27 +02:00
Ludovic Courtès a94546ecc4 gnu: linux-libre: Add i686 and x86_64 full-blown configs.
Thanks to Jason Self <jself@gnu.org> for the kernel configs.

* gnu/packages/linux.scm (kernel-config): New procedure.
  (linux-libre)[build-phase]: Copy it to .config.  Reduce the list of
  things appended to .config.
  [native-inputs]: Add "kconfig" input.
* gnu/packages/linux-libre-i686.conf,
  gnu/packages/linux-libre-x86_64.conf: New files, from
  <http://jxself.org/x86-32.txt> and <http://jxself.org/x86-64.txt>.
* Makefile.am (KCONFIGS): New variable.
  (nobase_dist_guilemodule_DATA): Add it.
2014-07-10 00:35:27 +02:00
Ludovic Courtès ed09bb11cd services: udev: Improve synchronization when starting.
* gnu/services/base.scm (udev-service)[start]: Add 'wait-for-udevd', and
  call it before running 'udevadm trigger'.  Pass --action=add to
  'udevadm trigger'.  Call 'udevadm settle' after 'udevadm trigger'.
2014-07-10 00:35:27 +02:00
Ludovic Courtès 971436c6bd services: xorg: Remove optional sections from xorg.conf.
* gnu/services/xorg.scm (xorg-start-command)[xserver.conf]: Remove
  sections "Monitor", "InputClass", "ServerLayout", "Device", and
  "Screen".
2014-07-10 00:35:27 +02:00
Ludovic Courtès 8dbab7125a services: xorg: Require 'udev'.
* gnu/services/xorg.scm: Add 'udev' to the 'requirement' field.
2014-07-10 00:35:27 +02:00
Ludovic Courtès 0adb027b27 services: xorg: Add drivers to the default search path.
* gnu/services/xorg.scm (xorg-start-command)[xserver.conf]: Add
  'ModulePath' entries for xf86-video-{fbdev,cirrus,intel,mach64,nv} and
  xf86-input-{synaptics,vmmouse}.
2014-07-10 00:35:27 +02:00
Ludovic Courtès 378377eb43 services: xorg: Fix typo in font path.
* gnu/services/xorg.scm (xorg-start-command)[xserver.conf]: Fix typo in
  font path.
2014-07-10 00:35:27 +02:00
John Darrington 8fd3de0bbb gnu: Add sipwitch and dependent packages
* gnu-system.am (GNU_SYSTEM_MODULES): Add new file.
* gnu/packages/telephony.scm: New file.
2014-07-09 18:21:41 +02:00
Ludovic Courtès df2ce34385 guix system: Add '--system' option.
* guix/scripts/system.scm (switch-to-system): Add #:system parameter;
  pass it to 'run-with-store'.
  (%options): Add '--system'.
  (guix-system): Pass the 'system' option to 'run-with-store',
  'package-derivation', and 'switch-to-system' calls.
* doc/guix.texi (Invoking guix system): Document '--system' and
  '--image-size'.
2014-07-08 23:42:35 +02:00
Cyrill Schenkel 35dbbbe04c gnu: Add conkeror.
* gnu-system.am (GNU_SYSTEM_MODULES): Add new package.
* gnu/packages/conkeror.scm: New file.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2014-07-08 17:57:32 +02:00
Mark H Weaver 3263b9b396 gnu: tor: Upgrade to 0.2.4.22.
* gnu/packages/tor.scm (tor): Upgrade to 0.2.4.22.
2014-07-08 09:12:50 -04:00
Ludovic Courtès 1c6b445b40 services: Update to use the dmd 0.2 API.
* gnu/services/avahi.scm (avahi-service)[start]: Wrap command in a
  list.
* gnu/services/dbus.scm (dbus-service)[start]: Likewise.
* gnu/services/ssh.scm (lsh-service): Likewise.
* gnu/services/base.scm (mingetty-service)[start]: Likewise.
  (nscd-service)[start]: Likewise.
  (syslog-service)[start]: Likewise.
  (guix-service)[start]: Likewise.
  (udev-service)[start]: Use 'exec-command' instead of 'execl'.
* gnu/services/xorg.scm (slim-service)[start]: Likewise, and use
  #:environment-variables.
2014-07-08 00:12:31 +02:00
Ludovic Courtès b3342b545a gnu: dmd: Update to 0.2.
* gnu/packages/admin.scm (dmd): Update to 0.2; remove 'patches'.
* gnu/packages/patches/dmd-getpw.patch,
  gnu/packages/patches/dmd-tests-longer-sleeps.patch: Remove.
* gnu-system.am (dist_patch_DATA): Adjust accordingly.
2014-07-08 00:12:30 +02:00
Ludovic Courtès ac47a7c240 gnu: linux-libre: Use the GNU + Freedo boot logo.
* gnu/packages/linux.scm (%boot-logo-patch): New variable.
  (linux-libre)[build-phase]: Apply it.
  [native-inputs]: Add it.
2014-07-08 00:12:30 +02:00
Mark H Weaver fa40e4d4ec gnu: bitlbee: Upgrade to 3.2.2.
* gnu/packages/messaging.scm (bitlbee): Upgrade to 3.2.2.  Remove patches.
  Use 'libotr' instead of 'libotr-3'.
* gnu/packages/patches/bitlbee-fix-tests.patch: Remove file.
* gnu/packages/patches/bitlbee-memset-fix.patch: Remove file.
* gnu-system.am (dist_patch_DATA): Remove patches.
2014-07-07 17:17:18 -04:00
Ludovic Courtès 59c51be290 build: Get the canonical $HOME name when testing 'guix package'.
* tests/guix-package.sh (HOME): Recompute using 'pwd -P'.
2014-07-06 21:26:11 +02:00
Ludovic Courtès 6171070bec build: Use the canonical srcdir/builddir in 'pre-inst-env'.
Fixes <http://bugs.gnu.org/17935>.

* pre-inst-env.in (abs_top_builddir, abs_top_srcdir): Use 'pwd -P'.
2014-07-06 19:13:12 +02:00
Ludovic Courtès c2d7747464 build: Remove empty element from $GUILE_LOAD_PATH.
* pre-inst-env.in (GUILE_LOAD_PATH): Remove extraneous colon.
2014-07-06 19:08:54 +02:00
Ludovic Courtès 8ee380ba3d gnu: gnupg: Update to 2.0.25 and 1.4.18.
* gnu/packages/gnupg.scm (gnupg): Update to 2.0.25.
  (gnupg-1): Update to 1.4.18.
2014-07-05 19:51:43 +02:00
Ludovic Courtès 8ad49499b9 build: Support running the test suite from a directory with symlinks.
Fixes <http://bugs.gnu.org/17935>.
Reported by Alex Kost <alezost@gmail.com>.

* test-env.in: Canonicalize $NIX_STORE_DIR, and remove
  $NIX_IGNORE_SYMLINK_STORE setting.
* tests/guix-register.sh: Likewise, canonicalize $new_store_dir and
  $new_store and leave $NIX_IGNORE_SYMLINK_STORE unchanged.
2014-07-05 19:15:08 +02:00
John Darrington 8731e52749 gnu: Add maxima.
* gnu/packages/maths.scm (maxima): New variable.
2014-07-05 16:16:03 +02:00
John Darrington f842bbed19 gnu: Add gcl.
* gnu-system.am (GNU_SYSTEM_MODULES): Add new package.
* gnu/packages/lisp.scm: New file.
2014-07-05 16:15:59 +02:00
Taylan Ulrich Bayirli/Kammer 6879fe235c guix package: Try $LOGNAME in addition to $USER.
Fixes <http://bugs.gnu.org/17946>.

Notoriously, cron jobs may set LOGNAME only and not USER.  See
e.g. crontab(5) under Debian 7 (wheezy).

* guix/scripts/package.scm (%profile-directory)
(guix-package): Also try LOGNAME if USER is unset.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2014-07-05 15:09:43 +02:00
Ludovic Courtès 3e39b916b6 Thank Taylan and Alex. 2014-07-05 15:02:42 +02:00
Ludovic Courtès 88371f0d7d guix package: Do the right thing for '-p ~/.guix-profile'.
Fixes <http://bugs.gnu.org/17939>.
Reported by Taylan Ulrich Bayirli/Kammer <taylanbayirli@gmail.com>.

* guix/scripts/package.scm (canonicalize-profile): New procedure.
  (%options): Use it for --profile.
* tests/guix-package.sh: Add test.
2014-07-05 14:56:08 +02:00
Ludovic Courtès e84d8b30d9 vm: Enable QEMU support in the freestanding VM image.
* gnu/system/vm.scm (system-qemu-image): Add 'initrd' field.
2014-07-04 19:01:22 +02:00
Ludovic Courtès 3a100e7934 gnu: Avoid circular dependency among modules.
Reported by Alex Kost <alezost@gmail.com>.

* gnu/packages/python.scm: Don't use #:select for (gnu packages zip).
2014-07-04 15:09:39 +02:00
John Darrington 12c0f32a3f gnu: Add gegl and gimp
* gnu/packages/gimp.scm (gegl, gimp): New variables.
2014-07-04 06:53:50 +02:00
Ludovic Courtès 8451a568f4 doc: Document user accounts and user groups.
* doc/guix.texi (File Systems): Fix typo.
  (User Accounts): Populate.
2014-07-03 23:36:01 +02:00
Ludovic Courtès e3ced65af0 linux-initrd: Use 'call-with-error-handling' when booting.
* guix/build/linux-initrd.scm (canonicalize-device-spec): When label
  resolution fails, call 'error' instead of 'format' + 'start-repl'.
  (boot-system): Wrap most of body in 'call-with-error-handling'.
  Remove 'catch' around 'primitive-load' call.
2014-07-03 22:44:14 +02:00
Ludovic Courtès dccab4df20 linux-initrd: Remove unused local procedure.
* guix/build/linux-initrd.scm (boot-system)[resolve]: Remove.
2014-07-03 22:24:56 +02:00
Ludovic Courtès 615215a535 gnu: Add youtube-dl.
* gnu/packages/video.scm (youtube-dl): New variable.
2014-07-03 22:21:53 +02:00
Ludovic Courtès 113daf6270 doc: Write about file system configuration.
* doc/guix.texi (Using the Configuration System): Change 'guix system
  boot' to 'guix system reconfigure'.
  (File Systems, User Accounts, Services): New nodes.
2014-07-02 23:42:06 +02:00
Eric Bavier 59bad04fe4 gnu: glib: Upgrade to 2.40.0.
* gnu/packages/glib.scm (glib)[source]: Upgrade to 2.40.0.  Adjust
  patch list.
* gnu/packages/patches/glib-tests-newnet.patch: Remove.
* gnu/packages/patches/glib-tests-desktop.patch: Adjust for 2.40.0.
2014-07-02 13:58:02 -05:00
Eric Bavier f1fc45a9fd gnu: libbonobo: Skip failing test case.
* gnu/packages/patches/libbonobo-activation-test-race.patch: New patch.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/gnome.scm (libbonobo)[source]: New 'patches' field.
2014-07-02 13:52:12 -05:00
Eric Bavier 5becd02510 gnu: gnome: Version splitting and line wrapping.
* gnu/packages/gnome.scm (orbit2): Wrape code to 80 characters.  Use
  string-split/string-join to get version major/minor numbers.
  (libbonoboui): Likewise.
2014-07-02 13:47:23 -05:00
Eric Bavier 221ed17a58 gnu: Adjust yet more packages to GLib "bin" split.
* gnu/packages/maths.scm (pspp): Add glib:bin to 'native-inputs'.
* gnu/packages/gnome.scm (gconf, gnome-vfs, libgnome, libgnomeui,
  libbonoboui): Likewise.
  (libbonobo, libgnomecanvas, libgnomeprint): Comment on why glib:bin.
* gnu/packages/gtk.scm (gtksourceview): Likewise.
2014-07-02 13:32:59 -05:00
Ludovic Courtès d266b79332 linux-initrd: Gracefully handle lack of or invalid ext2 superblocks.
Reported by David Thompson <dthompson2@worcester.edu>.

* guix/build/linux-initrd.scm (read-ext2-superblock): Add
  'superblock-size' variable.  Read with 'get-bytevector-n!' instead of
  'getbytevector-n', and make sure we read exactly SUPERBLOCK-SIZE
  bytes.
2014-07-02 12:18:36 +02:00
Ludovic Courtès 44add1ce19 gnu: Adjust more packages to GLib "bin" split.
* gnu/packages/glib.scm (dbus-glib): Add glib-bin to 'native-inputs'.
  (glibmm): Likewise.
* gnu/packages/gstreamer.scm (gstreamer-0.10): Likewise.
* gnu/packages/gtk.scm (gtksourceview): Likewise.
* gnu/packages/qemu.scm (qemu-headless): Likewise.
* gnu/packages/gnome.scm (librsvg, libbonobo, libgnomecanvas,
  libgnomeprint): Likewise.
2014-07-02 11:42:17 +02:00
Ludovic Courtès 0f28ee3487 gnu: pdf: Add PoDoFo.
* gnu/packages/pdf.scm (podofo): New variable.
2014-07-02 09:50:04 +02:00
Cyrill Schenkel 3cf118a110 gnu: Add cmatrix.
* gnu/packages/games.scm (cmatrix):  New variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2014-07-01 17:29:55 +02:00
Cyrill Schenkel ed02caff89 gnu: Add node.
* gnu-system.am (GNU_SYSTEM_MODULES): Add new package.
* gnu/packages/node.scm: New file.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2014-07-01 10:32:09 +02:00
Ludovic Courtès f33e2d78b7 services: Add lshd service.
* gnu/services/ssh.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
2014-07-01 09:23:32 +02:00
Ludovic Courtès 060238ae64 linux-initrd: Rename 'qemu-initrd' to 'base-initrd'.
* gnu/system/linux-initrd.scm (qemu-initrd): Rename to...
  (base-initrd): ... this.
* gnu/system.scm (<operating-system>)[initrd]: Update accordingly.
* gnu/system/vm.scm (expression->derivation-in-linux-vm,
  system-disk-image, virtualized-operating-system): Likewise.
2014-07-01 09:23:32 +02:00
Ludovic Courtès 4fc96187b9 linux-initrd: Disable QEMU networking by default.
* gnu/system/linux-initrd.scm (qemu-initrd): Remove default value for
  #:qemu-networking?.
* gnu/system/vm.scm (expression->derivation-in-linux-vm): Pass
  #:qemu-networking? #t.
  (system-disk-image): Remove #:qemu-networking? #f.
  (virtualized-operating-system): Pass #:qemu-networking? #t.
2014-07-01 09:23:32 +02:00
Ludovic Courtès 24e0160a4a linux-initrd: Make the virtio kernel modules optional.
* gnu/system/linux-initrd.scm (qemu-initrd): Add #:virtio? parameter.
  Use it.
* gnu/system/vm.scm (expression->derivation-in-linux-vm): Pass
  'qemu-initrd' #:virtio?.
  (virtualized-operating-system): Likewise.
2014-07-01 09:23:32 +02:00
Eric Bavier cafc3f5ad7 gnu: Add jrnl, python-pycrypto, python-keyring, python-parsedatetime, and python-tzlocal.
* gnu/packages/jrnl.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
* gnu/packages/python.scm (python-pycrypto, python-keyring,
  python-dateutil-2, python-parsedatetime, python-tzlocal): New
  variables.
2014-06-30 11:26:42 -05:00
Eric Bavier 71639e1f17 guix: Add CC0 license.
* guix/licenses.scm (cc0): New variable.
2014-06-30 11:26:42 -05:00
Eric Bavier a480bc4157 gnu: Add behave, python-six, python-enum34, python-parse-type, and python-parse.
* gnu/packages/python.scm (python-six, python-enum34, python-parse-type,
  python-parse, behave): New variables.
2014-06-30 11:26:41 -05:00
Ludovic Courtès 426adbe827 gnu: glib: Add "bin" output.
Fixes <http://bugs.gnu.org/17853>.

* gnu/packages/glib.scm (glib)[outputs]: Add "bin".
  (gobject-introspection)[native-inputs]: New field.
* gnu/packages/avahi.scm (avahi)[native-inputs]: Add glib:bin.
* gnu/packages/gnome.scm (brasero, libgnome-keyring, evince,
  gsettings-desktop-schemas, libnotify, gtkglext): Likewise.
* gnu/packages/gstreamer.scm (gstreamer, gst-plugins-base,
  gst-plugins-base-0.10): Likewise.
* gnu/packages/gtk.scm (atk, pango, gdk-pixbuf, gtk+-2, gtk+):
  Likewise.
* gnu/packages/linux.scm (udev): Likewise.
* gnu/packages/pdf.scm (poppler): Likewise.
2014-06-30 18:05:57 +02:00
John Darrington b804c61e6f gnu: Add goffice and gnumeric
gnu/packages/gnome.scm (goffice, gnumeric): New variables.
2014-06-30 13:34:22 +02:00
Ludovic Courtès 1ddbd9fd71 guix-register: Add explicit libgcrypt initialization.
* nix/guix-register/guix-register.cc (main): Add calls to
  'gcry_check_version' and 'gcry_control', to appease libgcrypt.
2014-06-29 23:53:18 +02:00
Ludovic Courtès 1abb614051 Add Cyrill to AUTHORS. 2014-06-29 22:38:38 +02:00
Cyrill Schenkel 009c5b5cdc gnu: Add ncmpcpp.
* gnu/packages/mpd.scm (ncmpcpp): New variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2014-06-29 22:36:37 +02:00
Ludovic Courtès 081c5b2d66 services: udev: Make sure modules are found, and use "udevadm settle".
* gnu/services/base.scm (udev-service): Set $LINUX_MODULE_DIRECTORY.  In
  the parent, invoke "udevadm settle" before "udevadm trigger".
2014-06-29 22:06:29 +02:00
Ludovic Courtès 62f0a4792b system: Set $LINUX_MODULE_DIRECTORY as a function or /run/booted-system.
* gnu/system.scm (etc-directory): Remove #:kernel parameter.  Set
  LINUX_MODULE_DIRECTORY as a function or /run/booted-system.
  (operating-system-etc-directory): Update accordingly.
2014-06-29 22:02:42 +02:00
Ludovic Courtès 0918e64a49 doc: Improve wording and example in "Using the Configuration System".
* doc/guix.texi (Using the Configuration System): Make the intro more
  user-oriented.  Change example to return an operating system.  Fix
  typos.  Mention mandatory/optional fields.
2014-06-27 23:38:21 +02:00
Ludovic Courtès 5d69fb54fb gnu: guix: Use the development version by default.
* gnu/packages/package-management.scm (guix): Rename to...
  (guix-0.6): ... this.
  (guix-devel): Rename to...
  (guix): ... this.  Replace references to 'guix' by references to
  'guix-0.6'.
2014-06-27 23:38:19 +02:00
Ludovic Courtès 480af4d622 gnu: guix: Add development version.
* gnu/packages/package-management.scm (guix-devel): New variable.
2014-06-27 23:06:55 +02:00
Ludovic Courtès 6750877f46 git-download: Support recursive clones.
* guix/git-download.scm (<git-reference>)[recursive?]: New field.
  (git-fetch): Add 'inputs' variable.  Add it to the #:inputs argument
  of 'build-expression->derivation'.  Augment builder with call to
  'set-path-environment-variable', and pass #:recursive? to
  'git-fetch'.
* guix/build/git.scm (git-fetch): Add #:recursive? parameter.  Pass
  --recursive when RECURSIVE? is true, and delete all the '.git' files.
2014-06-27 23:04:48 +02:00
Ludovic Courtès 20b1d19e10 gnu: Adjust for (gnu packages image) merger.
* gnu/packages/aidc.scm: Use (gnu packages image).
2014-06-27 22:36:25 +02:00
Ludovic Courtès 459dd9eaf2 system: Add a 'system?' field to user accounts.
* gnu/system/shadow.scm (<user-account>)[system?]: New field.
* gnu/system.scm (user-account->gexp): Add it.
* guix/build/activation.scm (add-user): Add #:system? parameter and
  honor it.
  (activate-users+groups): Handle the 'system?' part of user tuples.
  Pass it to 'add-user'.  Don't create PROFILE-DIR when SYSTEM? is
  true.
* gnu/services/dbus.scm (dbus-service): Add 'system?' field for
  "messagebus" account.
* gnu/services/base.scm (guix-build-accounts): Likewise.
* gnu/services/avahi.scm (avahi-service): Likewise.
2014-06-27 19:06:08 +02:00
Ludovic Courtès f2c403eab6 system: Install /var/guix/profiles/system-1-link on new systems.
* guix/build/install.scm (directives): Add /var/guix/profiles/system.
  (populate-root-file-system): Add 'system' parameter.  Create
  /var/guix/profiles/system-1-link.
* guix/scripts/system.scm (install): Pass OS-DIR to
  'populate-root-file-system'.
* guix/build/vm.scm (initialize-root-partition): Add #:system-directory
  parameter, and pass it to 'populate-root-file-system'.
  (initialize-hard-disk): Add #:system-directory parameter, and pass it
  to 'initialize-root-partition'.
* gnu/system/vm.scm (qemu-image): Add #:os-derivation parameter and pass
  it to 'initialize-hard-disk'.
  (system-disk-image, system-qemu-image,
  system-qemu-image/shared-store): Pass #:os-derivation to 'qemu-image.
2014-06-27 19:06:08 +02:00
John Darrington dff624230a gnu: Add talkfilters.
* gnu/packages/games.scm (talkfilters): New variable.
2014-06-27 17:53:40 +02:00
John Darrington 51d3dcea42 gnu: Add qrencode.
* gnu/packages/aidc.scm (qrencode): New variable.
2014-06-27 17:53:40 +02:00
David Thompson e55354b87e gnu: Consolidate libjpeg, libpng, and libtiff into one module.
* gnu/packages/image.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add image.scm and remove libjpeg.scm,
  libpng.scm, and libtiff.scm.
* gnu/packages/libjpeg.scm, gnu/packages/libpng.scm, gnu/packages/libtiff.scm:
  Delete files.
* gnu/packages/emacs.scm gnu/packages/games.scm, gnu/packages/gd.scm,
  gnu/packages/geeqie.scm, gnu/packages/ghostscript.scm,
  gnu/packages/gimp.scm, gnu/packages/gnome.scm, gnu/packages/gnunet.scm,
  gnu/packages/gnustep.scm, gnu/packages/gnuzilla.scm,
  gnu/packages/graphviz.scm, gnu/packages/gtk.scm,
  gnu/packages/imagemagick.scm, gnu/packages/inkscape.scm,
  gnu/packages/netpbm.scm, gnu/packages/pdf.scm, gnu/packages/plotutils.scm,
  gnu/packages/qemu.scm, gnu/packages/qt.scm, gnu/packages/scheme.scm,
  gnu/packages/sdl.scm, gnu/packages/slim.scm, gnu/packages/tcl.scm,
  gnu/packages/texlive.scm, gnu/packages/video.scm, gnu/packages/xiph.scm,
  gnu/packages/xorg.scm: Use (gnu packages image) module.
2014-06-27 06:27:53 -04:00
David Thompson dc55b8b234 gnu: Enable libvpx support in ffmpeg.
* gnu/packages/video.scm (ffmpeg): Add libvpx input.
2014-06-27 06:22:49 -04:00
Ludovic Courtès 8a6d273137 system: Adjust the set of fields with default values.
* gnu/system.scm (<operating-system>)[file-systems]: Remove default.
  [locale]: Add default value.
2014-06-27 00:12:40 +02:00
Ludovic Courtès b25937e318 guix system: Add 'reconfigure' action.
* guix/scripts/system.scm (%system-profile): New variable.
  (switch-to-system, previous-grub-entries): New procedures.
  (unless-file-not-found): New macro.
  (show-help): Add 'reconfigure'.
  (guix-system): Handle it.
* gnu/system.scm: Export 'operating-system-activation-script'.
* doc/guix.texi (Invoking guix system): Document it.
2014-06-27 00:12:40 +02:00
Ludovic Courtès f01efec09a activation: Preserve /etc/groups upon reboots.
This is a followup to e2fcc23.  The /etc/group file would be cleared
when booting.

* guix/build/activation.scm (activate-users+groups)[touch]: Rewrite so
  it does not wipe out FILE's contents.
2014-06-27 00:12:40 +02:00
Ludovic Courtès c1202fb1f9 guix {system,offload}: Improve reporting of syntax errors.
* guix/scripts/system.scm (read-operating-system) <catch handler>: Add
  case for 'syntax-error'.  Correct message for default case.
* guix/scripts/offload.scm (build-machines) <catch handler>: Add case
  for 'syntax-error'.
* tests/guix-system.sh: New file.
* Makefile.am (SH_TESTS): Add it.
2014-06-27 00:12:40 +02:00
David Thompson 80b77646a4 gnu: Add libsodium.
* gnu-system.am (GNU_SYSTEM_MODULES): Add crypto.scm.
* gnu/packages/crypto.scm: New file.
2014-06-26 17:53:29 -04:00
David Thompson 7025a035df gnu: Add guile-opengl.
* gnu/packages/gl.scm (guile-opengl): New variable.
2014-06-26 17:52:44 -04:00
David Thompson d0ed39be55 gnu: Add libvpx.
* gnu/packages/video.scm (libvpx): New variable.
2014-06-26 17:51:40 -04:00
John Darrington 091befba64 gnu: Add new package barcode
* gnu/packages/aidc.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
2014-06-26 19:49:09 +02:00
Ludovic Courtès fe6e3fe2a5 system: Support the addition of old entries in the GRUB menu.
* gnu/system.scm (operating-system-grub.cfg): Add 'old-entries'
  parameter.  Pass it to 'grub-configuration-file'.
* gnu/system/grub.scm (grub-configuration-file): Add #:old-entries
  parameter.  Honor it.
2014-06-25 23:53:27 +02:00
Ludovic Courtès 64e40dbb69 system: Store boot parameters in the system derivation.
* gnu/system.scm (operating-system-parameters-file): New procedure.
  (operating-system-derivation): Use it to produce a 'parameters' files.
2014-06-25 23:53:27 +02:00
Ludovic Courtès 2d23e6f051 system: Factorize GRUB menu entry label.
* gnu/system.scm (kernel->grub-label): New procedure.
  (operating-system-grub.cfg): Use it.
2014-06-25 23:53:27 +02:00
Eric Bavier 7cd157e221 gnu: cursynth: Upgrade to 1.5.
* gnu/packages/cursynth.scm (cursynth)[source]: Upgrade to 1.5.  New
  'patches' field.
* gnu/packages/patches/cursynth-wave-rand.patch: New patch.
* gnu-system.am (dist_patch_DATA): Add it.
2014-06-25 14:25:26 -05:00
Ludovic Courtès edc28d3c42 gnu: libmicrohttpd: Upgrade to 0.9.37.
* gnu/packages/gnunet.scm (libmicrohttpd): Upgrade to 0.9.37.
2014-06-25 11:47:58 +02:00
Ludovic Courtès 58970d6a5d gnu: gnupg: Upgrade versions 1 and 2 (security fix.)
* gnu/packages/gnupg.scm (gnupg): Upgrade to 2.0.24.
  (gnupg-1): Upgrade to 1.4.17.
2014-06-25 11:47:58 +02:00
Ludovic Courtès 473dad6fde gnu: libgpg-error: Upgrade to 1.13.
* gnu/packages/gnupg.scm (libgpg-error): Upgrade to 1.13.
2014-06-25 11:47:58 +02:00
Ludovic Courtès 7f27b32f31 gnu: nano: Upgrade to 2.3.4.
* gnu/packages/nano.scm (nano): Upgrade to 2.3.4.
2014-06-25 11:47:58 +02:00
Ludovic Courtès 0179cd7ed2 gnu: lightning: Upgrade to 2.0.4.
* gnu/packages/lightning.scm (lightning): Upgrade to 2.0.4.
2014-06-25 11:47:58 +02:00
Ludovic Courtès 85f35ad623 gnu: ddrescue: Upgrade to 1.18.1.
* gnu/packages/disk.scm (ddrescue): Upgrade to 1.18.1.
2014-06-25 11:47:58 +02:00
Ludovic Courtès d12c626cf8 gnu: mcron: Upgrade to 1.0.8.
* gnu/packages/guile.scm (mcron): Upgrade to 1.0.8.
2014-06-25 11:47:57 +02:00
Ludovic Courtès 5177f0fb41 gnu: libtasn1: Upgrade to 3.6.
* gnu/packages/gnutls.scm (libtasn1): Upgrade to 3.6.
2014-06-25 11:47:57 +02:00
Ludovic Courtès 39ed6749dd gnu: nettle: Add version 3.0.
* gnu/packages/nettle.scm (nettle-3): New variable.
2014-06-25 11:47:57 +02:00
Eric Bavier b4eab6a6a5 gnu: parallel: Upgrade to 20140622.
* gnu/packages/parallel.scm (parallel)[source]: Upgrade to 20140622.
2014-06-25 02:23:10 -05:00
Eric Bavier f4bf37825b gnu: moe: Upgrade to 1.6.
* gnu/packages/moe.scm (moe)[source]: Upgrade to 1.6.
  Add 'native-inputs' field.
2014-06-25 02:13:47 -05:00
Ludovic Courtès cadf6cb4cf guix system: Gracefully handle 'install-grub' errors.
* guix/scripts/system.scm (install): Wrap 'install-grub' call in
  'false-if-exception'.  This is a followup to 641f9a2a.
2014-06-24 22:11:12 +02:00
Ludovic Courtès f6ad09ae5a gnu: Move JSON-C to (gnu packages web).
* gnu/packages/pulseaudio.scm (json-c): Move to...
* gnu/packages/web.scm (json-c): ... here.  New variable.
2014-06-24 14:53:51 +02:00
Ludovic Courtès 9ab7415329 gnu: json-c: Upgrade to 0.12.
* gnu/packages/pulseaudio.scm (json-c)[source]: Upgrade to 0.12.  Add
  'modules' and 'snippet' fields.
2014-06-24 14:43:51 +02:00
Ludovic Courtès e11390df55 install: Use udev.
* gnu/system/install.scm (installation-services): Call 'udev-service'.
2014-06-24 00:20:01 +02:00
Ludovic Courtès 151a2c07aa services: Add udev service, and add it to '%base-services'.
* gnu/services/base.scm (udev-service): New procedure.
  (%base-services): Use it.
* gnu/system.scm (%base-packages): Add UDEV.
2014-06-24 00:20:01 +02:00
David Thompson 1bd3f84986 gnu: Add notmuch.
* gnu/packages/mail.scm (notmuch): New variable.
2014-06-23 08:09:39 -04:00
David Thompson f4eae897cb gnu: Add dtach.
gnu/packages/screen.scm (dtach): New variable.
2014-06-23 08:09:33 -04:00
David Thompson 1790739c75 gnu: Add talloc.
* gnu/packages/samba.scm (talloc): New variable.
2014-06-23 08:05:00 -04:00
Ludovic Courtès b76a384715 system: Use the default 'groups' field.
* gnu/system/install.scm (installation-os): Remove 'groups' field.
* build-aux/hydra/demo-os.scm: Likewise.
2014-06-22 22:28:24 +02:00
Ludovic Courtès 773e956d5d system: Augment the default set of groups.
* gnu/system/shadow.scm (%base-groups): New variable.
* gnu/system.scm (<operating-system>)[groups]: Use it as the default.
2014-06-22 22:16:14 +02:00
Ludovic Courtès 72507e23b5 system: Remove useless 'members' field of 'user-group'.
* gnu/system/shadow.scm (<user-group>)[members]: Remove field.
* gnu/system/install.scm (installation-os)[users]: Remove 'members'
  fields.  Use 'supplementary-groups' for 'guest'.
* build-aux/hydra/demo-os.scm (users): Likewise.
* gnu/services/base.scm (guix-service): Remove 'members' field.
2014-06-22 21:48:35 +02:00
Ludovic Courtès 528b6a3dce gnu: kmod: Honor $LINUX_MODULE_DIRECTORY.
* gnu/packages/patches/kmod-module-directory.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/linux.scm (kmod)[origin]: Use it.
2014-06-22 21:14:23 +02:00
Andreas Enge d7d42d6b24 gnu: Add udev.
* gnu/packages/linux.scm (udev): New variable.
* gnu/packages/patches/udev-gir-libtool.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2014-06-22 15:02:20 +02:00
Andreas Enge e062d54240 gnu: Add kmod.
* gnu/packages/linux.scm (kmod): New variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2014-06-22 12:29:38 +02:00
Ludovic Courtès 9b9148d8bb linux-initrd: Allow unionfs to have a large number of open files.
Fixes <http://bugs.gnu.org/17827>.

* guix/build/linux-initrd.scm (mount-root-file-system) [volatile-root?]:
  Pass unionfs '-o max_file=65536'.
2014-06-21 17:35:56 +02:00
Ludovic Courtès 738146bfd4 nls: Update 'sr' translation. 2014-06-21 15:21:04 +02:00
Ludovic Courtès b6a4dba116 gnu: man-pages: Upgrade to 3.69.
* gnu/packages/man.scm (man-pages): Upgrade to 3.69.
2014-06-21 12:52:34 +02:00
Ludovic Courtès d3e3b77dcc gnu: gnupg: Upgrade to 2.0.23.
* gnu/packages/gnupg.scm (gnupg): Upgrade to 2.0.23.
2014-06-21 00:26:31 +02:00
Ludovic Courtès ea9711018c gnu: global: Upgrade to 6.3.
* gnu/packages/global.scm (global): Upgrade to 6.3.
2014-06-21 00:22:34 +02:00
Ludovic Courtès f513527a8e Merge branch 'core-updates' 2014-06-20 23:44:42 +02:00
Ludovic Courtès 00fe93338d substitute-binary: Warn about uninitialized ACL.
* guix/scripts/substitute-binary.scm (guix-substitute-binary): Call
  'check-acl-initialized'.
  (check-acl-initialized): Don't rely on 'equal?' to compare keys.
  Instead, convert keys to strings.
2014-06-19 23:35:41 +02:00
Ludovic Courtès 080571eeac doc: Mention KVM support for 'guix system'.
* doc/guix.texi (Invoking guix system): Add note about KVM support.
2014-06-19 23:35:41 +02:00
Ludovic Courtès 9b762b8d7c system: Prefer packages from %FINAL-INPUTS.
* gnu/packages/base.scm (canonical-package): New procedure.
* gnu/system.scm (%base-packages): Pass BASH, COREUTILS, FINDUTILS,
  GREP, and SED through 'canonical-package'.
2014-06-19 23:35:41 +02:00
Ludovic Courtès eef4096c14 guix system: 'init' makes sure the target store directory exists.
* guix/scripts/system.scm (install): Before calling 'copy-closure', make
  sure directory (%store-prefix) under TARGET exists.
2014-06-19 23:35:41 +02:00
Ludovic Courtès dc34393569 gnu: isc-dhcp: In native builds, refer to the final Coreutils and sed.
* gnu/packages/admin.scm (isc-dhcp)[inputs]: Add Coreutils and sed only
  when (%current-target-system) is true.
2014-06-19 23:35:41 +02:00
Ludovic Courtès ae5c6fca26 gnu: privoxy: Use etc/privoxy as the sysconfdir.
Reported by "d00000" on #guix.

* gnu/packages/tor.scm (privoxy)[arguments]: Add #:configure-flags.
2014-06-19 23:35:41 +02:00
Mark H Weaver 2c14c6d7cb gnu: gawk: Apply work around to build system for MIPS.
* gnu/packages/gawk.scm (gawk): Work around a build problem on MIPS.
2014-06-18 18:42:35 -04:00
Ludovic Courtès ed4a8816d6 gnu: linux-libre: Upgrade to 3.15.
* gnu/packages/linux.scm (linux-libre): Upgrade to 3.15.
2014-06-18 16:23:06 +02:00
Ludovic Courtès c8f60748bd gnu: kbd: Patch buggy makefile.
* gnu/packages/linux.scm (kbd)[source]: Add 'modules' and 'snippet'
  fields.
2014-06-18 15:32:17 +02:00
Ludovic Courtès 81f61c17c5 build: Add 'assert-final-inputs-self-contained' rule.
* build-aux/check-final-inputs-self-contained.scm: New file.
* Makefile.am (EXTRA_DIST): Add it.
  (assert-final-inputs-self-contained): New target.
  (distcheck-hook): Depend on it.
2014-06-18 15:03:13 +02:00
Ludovic Courtès 2eea253f4d substitute-binary: Avoid the term "narinfo" in user messages.
* guix/scripts/substitute-binary.scm (assert-valid-narinfo): Change
  message to avoid the term "narinfo".
2014-06-17 00:30:16 +02:00
Ludovic Courtès 26fd908fcf Thank Benno. 2014-06-17 00:27:15 +02:00
Ludovic Courtès 648453e8d6 nls: Use xgettext and msgmerge with --no-wrap.
Suggested by Benno Schulenberg <coordinator@translationproject.org>.

* po/guix/Makevars (XGETTEXT_OPTIONS): Add --no-wrap.
  (MSGMERGE_OPTIONS): New variable.
* po/packages/Makevars (XGETTEXT_OPTIONS): Add --no-wrap.
  (MSGMERGE_OPTIONS): New variable.
2014-06-17 00:26:32 +02:00
Ludovic Courtès 7f52946adf nls: Remove obsolete messages from PO files.
Suggested by Benno Schulenberg <coordinator@translationproject.org>.

* po/guix/eo.po, po/guix/pt_BR.po, po/guix/sr.po, po/guix/vi.po,
  po/packages/eo.po, po/packages/pt_BR.po, po/packages/sr.po,
  po/packages/vi.po: Remove obsolete messages.
2014-06-17 00:24:25 +02:00
Ludovic Courtès 278b64283a tests: Use the C locale for 'guix package -s'.
* tests/guix-package.sh: Set LC_MESSAGES=C before the 'guix package -s'
  test.
2014-06-16 23:49:05 +02:00
Ludovic Courtès c4e52354c6 gnu: guile-ncurses: Work around missing test files.
* gnu/packages/patches/guile-ncurses-tests.patch: New file.
* gnu/packages/guile.scm (guile-ncurses)[source]: Use it.
* gnu-system.am (dist_patch_DATA): Add it.
2014-06-16 21:46:27 +02:00
Ludovic Courtès 1319cfe946 gnu: icu4c: Upgrade to 53.1.
* gnu/packages/icu4c.scm (icu4c): Upgrade to 53.1.
2014-06-16 17:19:34 +02:00
Ludovic Courtès eb705bb3f7 gnu: icu4c: Fix failing test.
* gnu/packages/patches/icu4c-test-date-format.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/icu4c.scm (icu4c)[source]: Use it.
2014-06-16 17:18:47 +02:00
Ludovic Courtès b344c505f4 gnu: qemu: Remove dependency on Samba.
* gnu/packages/qemu.scm (qemu-headless)[inputs]: Remove SAMBA.
  [arguments]: Remove --smbd configure flag.
2014-06-16 10:47:36 +02:00
Ludovic Courtès 7190ae7743 Reverting "gnu: ncurses: Build libtinfo."
This reverts commit 953c9fcf8c.  It turns
out that most packages (guile-ncurses, cursynth, aumix, util-linux,
etc.) expect libncurses to provide everything.  So they had to be
patched to add -ltinfow to their LDFLAGS, which is counterproductive.

Other recent distros take that approach---e.g.,
<https://bugs.launchpad.net/ubuntu/+source/ncurses/+bug/259139>.
2014-06-15 22:18:10 +02:00
Ludovic Courtès c3428a08be gnu: apr: Build sequentially.
* gnu/packages/apr.scm (apr)[arguments]: New field.
2014-06-15 21:10:58 +02:00
Ludovic Courtès 09ba396c02 gnu: Remove dependency from gzip to the bootstrap binaries.
* gnu/packages/base.scm (grep-final): New variable.
  (%boot5-inputs): Add it.
  (%final-inputs): Use it.
2014-06-15 11:53:02 +02:00
John Darrington feadf100a2 gnu: Add cook.
* gnu/packages/cook.scm: New file.
* gnu-system.am: New file cook.scm.
2014-06-15 06:52:06 +02:00
Ludovic Courtès 5c860cec83 gnu: gcc: Really avoid 'install-strip' when cross-compiling.
This is a followup to 6b9229c.

* gnu/packages/gcc.scm (gcc-4.7): Turn 'install-target' into a thunk,
  so (%current-target-system) is current.
2014-06-14 23:28:28 +02:00
Ludovic Courtès 7470df5ddf Merge branch 'master' into core-updates 2014-06-14 23:25:59 +02:00
Ludovic Courtès 07254feb24 ui: Avoid circularity with (guix gexp).
Fixes a regression introduced in 56b8210 ("guix build: Allow gexps to be
passed to '-e'.")

* guix/ui.scm (%guix-user-module): Wrap in 'delay'.
  (read/eval): Adjust accordingly.
2014-06-14 23:23:56 +02:00
Ludovic Courtès 240a2775de i18n: Move package descriptions from 'guix' to 'guix-packages'.
* po/guix: Merge with po/packages as per
  <https://lists.gnu.org/archive/html/guix-devel/2014-06/msg00058.html>.
* po/packages/LINGUAS: Add eo, pt_BR, sr, and vi.
2014-06-14 22:55:59 +02:00
Ludovic Courtès 243cea2461 guix: Look for "guix-packages" messages in $localedir.
* scripts/guix.in (run-guix-main): Add 'bindtextdomain' call.
2014-06-14 22:55:59 +02:00
Ludovic Courtès 56b8210697 guix build: Allow gexps to be passed to '-e'.
* guix/ui.scm (%guix-user-module): New variable.
  (read/eval): Pass it as the second argument to 'eval'.
* guix/scripts/build.scm (options/resolve-packages): Add case for
  'gexp?'.
* tests/guix-build.sh: Add tests.
* doc/guix.texi (Invoking guix build): Document '-e gexp'.
guxi build: Allow gexps to be passed to '-e'.

* guix/ui.scm (%guix-user-module): New variable.
  (read/eval): Pass it as the second argument to 'eval'.
* guix/scripts/build.scm (options/resolve-packages): Add case for
  'gexp?'.
* tests/guix-build.sh: Add tests.
* doc/guix.texi (Invoking guix build): Document '-e gexp'.
2014-06-14 22:55:59 +02:00
Ludovic Courtès d2e2f14226 gnu: gcc-4.7: Upgrade to 4.7.4.
* gnu/packages/gcc.scm (gcc-4.7): Upgrade to 4.7.4.
2014-06-14 22:21:29 +02:00
Ludovic Courtès 6b9229ca51 gnu: gcc: Don't use the 'install-strip' target when cross-compiling.
* gnu/packages/gcc.scm (gcc-4.7): Add 'install-target' variable.  Use
  it in the 'install' phase.
2014-06-14 22:16:03 +02:00
Ludovic Courtès fd0b276624 gnu: gcc: Fix cross-compilation of gcc (Canadian cross).
* gnu/packages/gcc.scm (gcc-4.7)[arguments] <#:make-flags>:
  When (%current-target-system) is true, pass the empty list or
  '("CFLAGS=-g0 -O2").
2014-06-14 16:04:38 +02:00
Ludovic Courtès 6e3ecad6ca gnu: make-bootstrap: Make sure %gcc-stripped binaries are usable.
* gnu/packages/make-bootstrap.scm (%gcc-stripped):
  When (%current-target-system) is false, run gcc, g++, and cpp with
  --version.
2014-06-14 15:58:23 +02:00
Ludovic Courtès c4873bc4f5 gnu: make-bootstrap: Build %gcc-static with --disable-lto.
* gnu/packages/make-bootstrap.scm (%gcc-static): Pass --disable-lto.
2014-06-14 15:34:56 +02:00
Eric Bavier a83c6a6471 gnu: Add pingus.
* gnu/packages/games.scm (pingus): New variable.
* gnu/packages/patches/pingus-sdl-libs-config.patch: New patch.
* gnu-system.am (dist_patch_DATA): Add it.
2014-06-13 14:11:14 -05:00
John Darrington 95faa10714 gnu: Add busybox.
* gnu/packages/busybox.scm: New file.
* gnu-system.am: Add gnu/packages/busybox.scm.
2014-06-13 20:21:26 +02:00
Ludovic Courtès 97b465feb1 gnu: make-bootstrap: Build libstdc++ in '%gcc-static'.
* gnu/packages/make-bootstrap.scm (%gcc-static): Re-enable C++.
2014-06-13 17:57:41 +02:00
Ludovic Courtès ee76417972 Separate package description translations from string translations.
* po/packages/LINGUAS, po/packages/Makevars, po/packages/POTFILES.in:
  New files.
* po/guix/Makevars (DOMAIN): Change to "guix".
  (XGETTEXT_OPTIONS): Remove "--keyword=synopsis --keyword=description".
* po/guix/POTFILES.in: Remove gnu/packages/*.scm.
* configure.ac: Change to gettext 0.18.3.  Produce
  po/packages/Makefile.in.
* Makefile.am (SUBDIRS): Add po/packages.
* guix/ui.scm (%package-text-domain): New variable.
  (P_): New procedure.
  (package->recutils): Use 'P_' instead of '_'.
* guix/scripts/package.scm (find-packages-by-description): Use 'P_'
  instead of 'gettext'.
2014-06-13 17:30:40 +02:00
Ludovic Courtès ef1a9bb7d6 Move gettext files to 'po/guix'.
* po: Rename to...
* po/guix: ... this.
* po/guix/Makevars (subdir, top_builddir): Adjust accordingly.
* configure.ac: Change 'po/Makefile.in' to 'po/guix/Makefile.in'.
* Makefile.am (SUBDIRS): Change 'po' to 'po/guix'.
2014-06-13 16:31:18 +02:00
Ludovic Courtès 37550e67b9 gnu: make-bootstrap: Use single-output GCCs.
* gnu/packages/make-bootstrap.scm (package-with-relocatable-glibc)[native-inputs]:
  Add 'outputs' field for the rewritten GCC.
  (%gcc-stripped): Add 'outputs' field.
2014-06-13 15:57:23 +02:00
Ludovic Courtès 9d0b8fbd78 pull: Copy and compile gnu.scm.
* guix/build/pull.scm (build-guix): Copy gnu.scm to OUT.
2014-06-13 11:42:33 +02:00
Ludovic Courtès df142dd40e gnu: grep: Upgrade to 2.20.
* gnu/packages/base.scm (grep): Upgrade to 2.20.
2014-06-12 23:35:02 +02:00
Ludovic Courtès cf02d3a5d7 gnu: gettext: Upgrade to 0.19.1.
* gnu/packages/gettext.scm (gnu-gettext): Upgrade to 0.19.1.
2014-06-12 23:33:15 +02:00
Ludovic Courtès 288a09ca91 gnu: make-bootstrap: Fix compilation of %gcc-static.
* gnu/packages/make-bootstrap.scm (%gcc-static)[arguments]
  <#:configure-flags>: Add --disable-bootstrap
  --with-stage1-ldflags=-static.
  Remove #:make-flags.
2014-06-12 23:27:25 +02:00
John Darrington b777d784a0 gnu: Add tinyproxy.
* gnu/packages/web.scm (tinyproxy): New variable.
* gnu/packages/docbook.scm: Remove #:select (tar)
2014-06-12 16:08:14 +02:00
John Darrington 8c6cfd553e gnu: Add dropbear.
* gnu/packages/ssh.scm (dropbear): New variable.
2014-06-12 16:01:56 +02:00
Ludovic Courtès a49c57a793 gnu: cross-gcc: Use a single output.
* gnu/packages/cross-base.scm (cross-gcc): Add 'outputs' field.
2014-06-09 22:45:01 +02:00
Ludovic Courtès b6b097ac81 guix build: Only 'guix build' sets #:print-build-trace.
This makes 'guix package' et al. slightly less verbose, by not emitting
"@ substituter-started" lines and similar.

* guix/scripts/build.scm (set-build-options-from-command-line): Pass
  #:print-build-trace.
  (%default-options): Add 'print-build-trace?'.
2014-06-09 18:55:48 +02:00
Ludovic Courtès 49ad317ae1 doc: Add a few words on the term "derivation".
* doc/guix.texi (Programming Interface): Add a sentence on "derivation".
2014-06-09 18:55:48 +02:00
Ludovic Courtès f9057dba6a Thank Carlos. 2014-06-09 18:55:47 +02:00
Ludovic Courtès 6ec2e6b0c9 gnu: skribilo: Propagate Guile dependencies.
Reported by Carlos Carleos <carleos@uniovi.es>.

* gnu/packages/skribilo.scm (skribilo)[inputs]: Move
  GUILE-READER/GUILE-2.0 and GUILE-LIB to...
  [propagated-inputs]: ... here.  New field.
2014-06-09 18:55:47 +02:00
Ludovic Courtès b47b2b5275 gnu: coreutils: Remove run-time dependency on Bash.
* gnu/packages/base.scm (coreutils)[arguments] <patch-shell-references>:
  Leave src/split.c unpatched.  Set $SHELL.  Use .../bin/sh and not
  .../bin/bash in tests.
2014-06-09 12:22:59 +02:00
Ludovic Courtès 84e6756c57 gnu: gcc: Add a "lib" output.
* gnu/packages/gcc.scm (gcc-4.7)[configure-flags]: Add
  --with-gxx-include-dir.
  [outputs]: New field.
  [arguments] <phases>: Adjust to use the "lib" output.  Add
  'substitute*' calls for "libstdc++-v3/python/Makefile.in" and
  "gcc/config.in".
* gnu/packages/base.scm (gcc-boot0) <symlink-libgcc_eh>: Use the "lib"
  output.
  (cross-gcc-wrapper): Add 'outputs' field.
  (glibc-final)[arguments]: Adjust #:allowed-references to list
  '(GCC-BOOT0 "lib").
  (libstdc++): Add 'outputs' field.
  (gcc-final)[arguments]: Add "lib" to #:allowed-references.
* gnu/packages/make-bootstrap.scm (%gcc-static): Add 'outputs' field.
2014-06-09 11:58:43 +02:00
Ludovic Courtès e0a0c84b4f gnu: glibc-final: Remove top-level circular dependency.
This fixes a top-level circular dependency between linux.scm and
base.scm introduced in 2e92375.

* gnu/packages/base.scm (glibc-final): Remove call to
  'package-with-restricted-references', and use an 'arguments' field
  instead.
2014-06-08 23:24:04 +02:00
Ludovic Courtès 3916023228 gnu: libunistring: Work around parallel build issue.
* gnu/packages/libunistring.scm (libunistring)[arguments]: New field.
2014-06-08 10:54:44 +02:00
Eric Bavier e531172d11 gnu: rdup: Fix tests.
* gnu/packages/backup.scm (rdup) [arguments]: Add pre-check phase.
  [origin]: Add snippet.
2014-06-07 21:49:54 -05:00
Ludovic Courtès a744719d70 gnu: gettext: Remove debugging leftover.
* gnu/packages/gettext.scm (gnu-gettext)[source](patches): Remove.
2014-06-07 22:42:57 +02:00
Ludovic Courtès 2e6a134515 gnu: gcc-final: Make sure the output refers only to libc.
* gnu/packages/base.scm (gcc-final)[arguments]: Add
  #:allowed-references.
2014-06-07 20:20:09 +02:00
Ludovic Courtès 592e8660a1 gnu: binutils-final: Make sure the output refers only to libc.
* gnu/packages/base.scm (binutils-final)[arguments]: Add
  #:allowed-references.
2014-06-07 19:39:23 +02:00
Ludovic Courtès 2e92375eb1 gnu: glibc-final: Make sure we hold just the right set of references.
* gnu/packages/base.scm (glibc-final): Wrap in
  'package-with-restricted-references'.
2014-06-07 19:36:50 +02:00
Ludovic Courtès f986c264b2 build-system/gnu: Add 'package-with-restricted-references'.
* guix/build-system/gnu.scm (package-with-restricted-references): New
  procedure.
2014-06-07 19:35:20 +02:00
Ludovic Courtès 1c93be5600 gnu: glibc: Make sure the bootstrap libc is not in $CPATH.
This fixes a bug whereby the bootstrap-glibc headers could be picked up
when building libc.so, which could be noticed by the fact that the
.debug files contained references to bootstrap-glibc.

* gnu/packages/base.scm (glibc-final-with-bootstrap-bash)[arguments]:
  Add 'pre-configure' phase.
  [inputs]: Remove 'alist-delete' call.
2014-06-07 17:23:53 +02:00
Ludovic Courtès 3d78d51d8e gnu: Build the final Coreutils before Findutils.
This fixes a bug whereby Findutils' 'updatedb' script would retain a
reference to the bootstrap binaries ('sort', etc.)

* gnu/packages/base.scm (coreutils-final, %boot5-inputs): New variables.
  (%final-inputs): Use them.
2014-06-07 00:38:17 +02:00
Ludovic Courtès 0e4e4b1329 gnu: gettext: Upgrade to 0.19.
* gnu/packages/gettext.scm (gnu-gettext): Upgrade to 0.19.
  [arguments] <phases>: Remove now unneeded 'link-expat' phase.  Patch
  lang-sh and msgfilter test scripts; patch msginit.c and project-id.
  Add #:make-flags.
2014-06-07 00:35:34 +02:00
Ludovic Courtès 872c69d00e Merge branch 'master' into core-updates 2014-06-06 17:23:14 +02:00
Ludovic Courtès b15d79dfe6 build-system/gnu: Add #:allowed-references.
* guix/build-system/gnu.scm (gnu-build): Add #:allowed-references.
  [canonicalize-reference]: New procedure.
  Pass #:allowed-references to 'build-expression->derivation'.
  (gnu-cross-build): Likewise.
2014-06-06 17:18:17 +02:00
Ludovic Courtès 63a4282468 derivations: 'build-expression->derivation' supports #:allowed-references.
* guix/derivations.scm (build-expression->derivation): Add
  #:allowed-references and pass it to 'derivation.
* doc/guix.texi (Derivations): Adjust accordingly.
2014-06-06 17:07:26 +02:00
Ludovic Courtès e97c5be914 services: Use a fixed GID for the build group and use that for the store.
This partly reverts commit 185f669 ("services: Make sure the store's
group is the build group.")

* gnu/services/base.scm (guix-service)[activate]: Remove 'chown' call.
  Add 'id' field to 'user-group' form.
* guix/build/install.scm (directives): Set the store's GID to 30000.
2014-06-06 00:28:21 +02:00
Ludovic Courtès c6b76405ff gnu: Add WakeLan.
* gnu/packages/admin.scm (wakelan): New variable.
2014-06-06 00:28:21 +02:00
Mark H Weaver 017f7415ab gnu: openssl: Upgrade to 1.0.1h.
* gnu/packages/openssl.scm (openssl): Upgrade to 1.0.1h.  Remove
  patches, which are now upstream.
* gnu/packages/patches/openssl-extension-checking-fixes.patch: Remove.
* gnu/packages/patches/openssl-CVE-2010-5298.patch: Remove.
* gnu-system.am (dist_patch_DATA): Remove them.
2014-06-05 16:36:25 -04:00
Ludovic Courtès cc24623d71 gnu: bdb: Move documentation to "doc" output.
* gnu/packages/bdb.scm (bdb): Add 'outputs' field.  Adjust 'configure'
  phase to move documentation to the "doc" output.
2014-06-04 23:55:12 +02:00
Ludovic Courtès 9d9b576bcd gnu: Set proper source location for 'gcc-final'.
* gnu/packages/base.scm (gcc-final)[location]: New field.
  Reported by Andreas Enge <andreas@enge.fr>.
2014-06-04 23:32:46 +02:00
Ludovic Courtès ea31dbbc18 install: Add missing argv[0] in Info invocation.
* gnu/system/install.scm (log-to-info): Add "info" as second argument to
  'execl'.
2014-06-04 23:08:59 +02:00
Ludovic Courtès e2fcc23a3a activation: Only create groups that do not exist yet.
Before that the effect would be to re-create groups at each boot, and
thus remove any members of the groups.

* guix/build/activation.scm (activate-users+groups): Call 'add-group'
  only when (getgrname name) fails.
2014-06-04 23:08:09 +02:00
Ludovic Courtès 185f669109 services: Make sure the store's group is the build group.
* gnu/services/base.scm (guix-service)[activate]: New variable.  Add
  'chown' call for (%store-prefix).  Set the 'activate' field to
  ACTIVATE.
* guix/build/install.scm (directives): Add comment about STORE's group.
2014-06-04 22:19:30 +02:00
Ludovic Courtès 3d116a70f9 services: Add the build group to the supplementary groups of build users.
* gnu/services/base.scm (guix-build-accounts): Add
  'supplementary-groups' field.
2014-06-04 22:17:20 +02:00
Ludovic Courtès c17b5ab4db tests: Skip tests that would hit the shebang length limitation.
* tests/gexp.scm (shebang): New variable.
  Skip "gexp->script" when SHEBANG is longer than 127 chars.
* guix/gexp.scm (gexp->script): Add comment on the issue.
2014-06-04 18:15:50 +02:00
Ludovic Courtès d3bbe992ec system: Tell module-init-tools where to look for modules.
* gnu/packages/linux.scm (module-init-tools)[source](patches): New
  field.
* gnu/packages/patches/module-init-tools-moduledir.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/system.scm (etc-directory): Add #:kernel parameter.  Set
  'LINUX_MODULE_DIRECTORY' in bashrc.
  (operating-system-etc-directory): Pass #:kernel to 'etc-directory'.
2014-06-04 18:15:50 +02:00
Ludovic Courtès 4654439be7 system: Rename activation script.
* gnu/system.scm (operating-system-activation-script): Change file name
  to "activate".
2014-06-04 18:15:50 +02:00
Ludovic Courtès 56ef7fcc50 vm: Add #:name parameter for 'system-disk-image'.
* gnu/system/vm.scm (system-disk-image): Add #:name parameter; pass it
  to 'qemu-image'.
2014-06-04 18:15:50 +02:00
Ludovic Courtès 2c5c696c39 install: Register the hydra.gnu.org key on the installation image.
* gnu/services/base.scm (hydra-key-authorization): New procedure.
  (guix-service): Add #:authorize-hydra-key? parameter; honor it using
  'hydra-key-authorization'.
* gnu/system/install.scm (installation-services): Pass
  #:authorize-hydra-key? #t.
2014-06-04 18:15:50 +02:00
Ludovic Courtès 202adef2ec gnu: guix: Use /etc as sysconfdir.
* gnu/packages/package-management.scm (guix)[arguments]: Pass
  --sysconfdir=/etc.
2014-06-04 18:15:50 +02:00
Ludovic Courtès 6f436c54d6 system: Define '%base-packages' and use it.
* gnu/system.scm (<operating-system>)[packages]: Change default value to
  %BASE-PACKAGES.
  (%base-packages): New variable.
* gnu/system/install.scm (installation-os): Use it when defining the
  'packages' field.
* doc/guix.texi (Using the Configuration System): Use %BASE-PACKAGES in
  example.  Remove now unneeded module imports.  Explain this.
2014-06-04 18:15:50 +02:00
Mark H Weaver 39d4fde3bf gnu: gnutls: Upgrade to 3.2.15.
* gnu/packages/gnutls.scm (gnutls): Upgrade to 3.2.15.
2014-06-04 01:03:17 -04:00
Ludovic Courtès e73a99a304 install: Add more useful packages.
* gnu/system/install.scm (installation-os)[packages]: Add isc-dhcp,
  net-tools, ddrescue, kbd, and texinfo-4.
2014-06-03 23:31:26 +02:00
Ludovic Courtès 28b1d6d8f3 Update 'eo.po'. 2014-06-03 22:43:07 +02:00
Ludovic Courtès d8bb353c26 gnu: linux-libre: Build the e1000e driver (Intel ethernet NIC driver.)
* gnu/packages/linux.scm (linux-libre): Add CONFIG_E1000E=m.
2014-06-03 22:43:05 +02:00
Ludovic Courtès cc4a2aeb98 gnu: Merge Parted, fdisk, and ddrescue in (gnu packages disk).
* gnu/packages/parted.scm: Rename to...
* gnu/packages/disk.scm: ... this.  New file.  Merge with...
* gnu/packages/fdisk.scm: ... this; remove file;
* gnu/packages/ddrescue.scm: ... and this; remove file.
* gnu/system/install.scm, gnu/system/vm.scm: Adjust accordingly.
* gnu-system.am (GNU_SYSTEM_MODULES): Remove
  gnu/packages/{parted,fdisk,ddrescue}.scm and add
  gnu/packages/disk.scm.
2014-06-03 22:43:00 +02:00
Ludovic Courtès a549ab4bcf hydra: Add Avahi to the demo OS.
* build-aux/hydra/demo-os.scm: Use 'avahi-service' and 'dbus-service'.
  Add AVAHI to 'packages'.
2014-06-03 11:49:28 +02:00
Ludovic Courtès 585c651951 system: Make sure /run/setuid-programs comes first in $PATH.
* gnu/system.scm (etc-directory) <bashrc>: Move /run/setuid-programs
  first in $PATH.
2014-06-03 11:48:41 +02:00
Ludovic Courtès b6772a01e9 gnu: elfutils: Add synopsis and description.
* gnu/packages/elf.scm (elfutils): Add synopsis and description.
2014-06-03 11:10:58 +02:00
Ludovic Courtès 57c0992927 list-packages: Add links to Hydra for mips64el-linux.
* build-aux/list-packages.scm (package->sxml): Add 'url' call for
  mips64el-linux.
2014-06-03 00:17:00 +02:00
Ludovic Courtès d4c87617e5 system: File system sources can be marked as labels or devices.
* gnu/system/file-systems.scm (<file-system>)[title]: New field.
* gnu/services/base.scm (file-system-service): Add #:title parameter.
  In 'start' gexp, use 'canonicalize-device-spec' and honor TITLE.
* gnu/system.scm (other-file-system-services,
  operating-system-root-file-system, operating-system-initrd-file):
  Adjust accordingly.
* gnu/system/linux-initrd.scm (file-system->spec): Likewise.
* gnu/system/vm.scm (system-disk-image): Add 'title' field for the root
  file system.
* guix/build/linux-initrd.scm (mount-file-system): Expect the second
  element of SPEC to be the title.
  (boot-system)[root-mount-point?, root-fs-type]: Likewise.
* gnu/services/dmd.scm (dmd-configuration-file): Select
  'canonicalize-device-spec'.
2014-06-03 00:14:58 +02:00
Ludovic Courtès 2405858a04 linux-initrd: Wait for devices to appear when resolving a label.
* guix/build/linux-initrd.scm (canonicalize-device-spec): Add #:title
  parameter.  When resolving a label, wait a little and try several
  times before bailing out.
2014-06-02 23:48:55 +02:00
Ludovic Courtès 0497ba3b26 Revert "gnu: hurd: Add Hurd Minimal."
This reverts commit bc046a94de,
which referred to uncommitted things ('glibc/hurd-headers'.)
2014-06-02 23:28:07 +02:00
Manolis Ragkousis bc046a94de gnu: hurd: Add Hurd Minimal.
* gnu/packages/hurd.scm (hurd-minimal): New variable.
* gnu/packages/patches/hurd-minimal.patch: New patch.
* gnu-system.am (dist_patch_DATA): Add it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2014-06-01 23:56:14 +02:00
Ludovic Courtès 1f3fc60da5 services: syslogd: Write fewer messages to /dev/console.
* gnu/services/base.scm (syslog-service)[contents]: Remove "kern.*" from
  /dev/console.
2014-06-01 23:51:59 +02:00
Ludovic Courtès 9b4a163a87 linux-initrd: Actually create /dev/console.
* guix/build/linux-initrd.scm (make-essential-device-nodes): Add
  "dev/console".
2014-06-01 23:51:12 +02:00
Ludovic Courtès 9e69b09857 hydra: Make USB installation image smaller.
* build-aux/hydra/gnu-system.scm (qemu-jobs): Reduce size of 'usb-image'
  to 630 MiB.
2014-06-01 23:50:39 +02:00
Ludovic Courtès b53be755e4 derivations: Add #:allowed-references 'derivation' parameter.
* guix/derivations.scm (derivation): Add #:allowed-references
  parameter.
  [user+system-env-vars]: Honor it.
* tests/derivations.scm ("derivation #:allowed-references, ok",
  "derivation #:allowed-references, not allowed",
  "derivation #:allowed-references, self allowed",
  "derivation #:allowed-references, self not allowed"): New tests.
* doc/guix.texi (Derivations): Document #:allowed-references.
2014-06-01 23:32:26 +02:00
Ludovic Courtès 5a6a3ba43a gnu: util-linux: Remove dependency on Perl.
* gnu/packages/linux.scm (util-linux)[source](patches): New field.
* gnu/packages/patches/util-linux-perl.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
2014-06-01 22:53:16 +02:00
Ludovic Courtès ac52e80b4e linux-initrd: Make more device nodes for SCSI disks and CD-ROM devices.
* guix/build/linux-initrd.scm (make-disk-device-nodes): New procedure.
  (make-essential-device-nodes): Use it.  Make more devices nodes for
  SCSI disks and CD-ROM devices.
2014-06-01 21:48:57 +02:00
Ludovic Courtès 009d831167 linux-initrd: Gracefully handle missing /dev nodes.
* guix/build/linux-initrd.scm (partition-label-predicate): Catch
  'system-error' around 'read-ext2-superblock'; return #f upon ENOENT.
2014-06-01 21:20:54 +02:00
Ludovic Courtès 10d86d54f0 hydra: Build the installation image.
* build-aux/hydra/gnu-system.scm (demo-os): New procedure.
  (qemu-jobs): Build for both x86_64-linux and i686-linux.  Add
  'usb-image' job that builds INSTALLATION-OS.
2014-05-31 22:15:06 +02:00
Ludovic Courtès fc91c17aa8 Add (gnu system install).
* gnu/system/install.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
2014-05-31 22:13:33 +02:00
Ludovic Courtès 548d4c1395 system: Add 'issue' field.
* gnu/system.scm (<operating-system>)[issue]: New field.
  (%default-issue): New variable.
  (etc-directory): Add #:issue parameter and honor it.
  (operating-system-etc-directory): Adjust call accordingly.
* build-aux/hydra/demo-os.scm: Add 'issue' field.
2014-05-31 22:01:05 +02:00
Ludovic Courtès 52322163ac system: Add more options for 'mingetty-service'.
* gnu/services/base.scm (mingetty-service): Add #:auto-login,
  #:login-program, and #:login-pause? parameters and honor them.
2014-05-31 21:51:04 +02:00
Ludovic Courtès 1bb784ea05 linux-initrd: Gracefully deal with partitions with no label.
* guix/build/linux-initrd.scm (partition-label-predicate): Check whether
  'ext2-superblock-volume-name' returns #f, and return #f if it does.
2014-05-31 15:55:38 +02:00
Ludovic Courtès b0e3635e0a gnu: Move libarchive to (gnu packages backup).
* gnu/packages/compression.scm (libarchive): Move to...
* gnu/packages/backup.scm (libarchive): ... here.
  Import (guix licenses) with #:renamer to avoid conflicting 'zlib'
  bindings.
2014-05-31 15:25:49 +02:00
Ludovic Courtès 10ace2c49e vm: disk-image: Specify the root file system using a label.
* gnu/system/vm.scm (system-disk-image)[root-label]: New variable.
  Use it for the root file system, and pass it as #:file-system-label to
  'qemu-image'.
2014-05-30 23:46:17 +02:00
Ludovic Courtès 85a83edb36 linux-initrd: Allow use of volume labels in 'file-system' declarations.
* guix/build/linux-initrd.scm (%ext2-endianness, %ext2-sblock-magic,
  %ext2-sblock-creator-os, %ext2-sblock-uuid, %ext2-sblock-volume-name):
  New macros.
  (read-ext2-superblock, ext2-superblock-uuid,
  ext2-superblock-volume-name, disk-partitions,
  partition-label-predicate, find-partition-by-label,
  canonicalize-device-spec): New procedures.
  (mount-file-system): Use 'canonicalize-device-spec' on SOURCE.
  (boot-system): Likewise for ROOT.
* doc/guix.texi (Using the Configuration System): Adjust 'file-system'
  declaration accordingly.
2014-05-30 23:46:17 +02:00
Eric Bavier bd3fc08c4d gnu: Add rdiff-backup.
* gnu/packages/backup.scm (rdiff-backup): New variable.
2014-05-30 14:30:42 -05:00
Eric Bavier 22c2462112 gnu: Add btar.
* gnu/packages/backup.scm (btar): New variable.
2014-05-30 12:36:27 -05:00
Eric Bavier d42e61224e gnu: Add rdup.
* gnu/packages/backup.scm (rdup): New variable.
2014-05-30 12:36:27 -05:00
Eric Bavier 28469ab0ec gnu: Add libarchive.
* gnu/packages/compression.scm (libarchive): New variable.
2014-05-30 12:36:27 -05:00
Eric Bavier 2d762953ba gnu: Add hdup.
* gnu/packages/backup.scm (hdup): New variable.
2014-05-30 12:36:27 -05:00
Ludovic Courtès 411fc81d63 hydra: Don't cross-build from MIPS to MIPS.
* build-aux/hydra/gnu-system.scm (hydra-jobs)[same?, either]: New
  procedure.  Use it in 'remove' call.
2014-05-29 23:32:47 +02:00
Ludovic Courtès 8a07c28960 system: Add 'fusermount' to the default setuid programs.
* gnu/system.scm (%setuid-programs): Add 'fusermount'.
2014-05-29 23:32:46 +02:00
Ludovic Courtès ef9fc40dda vm: Allow a volume name to be specified for the root partition.
* guix/build/vm.scm (format-partition): Add #:label parameter, and honor
  it.
  (initialize-hard-disk): Add #:file-system-label parameter, and pass it
  to 'format-partition'.
* gnu/system/vm.scm (qemu-image): Add #:file-system-label parameter and
  pass it to 'initialize-hard-disk'.
2014-05-29 23:32:46 +02:00
Andreas Enge ff0bf0aca5 gnu: libgnome: Correct source file name.
* gnu/packages/gnome.scm (libgnome): Correct source file name.
2014-05-29 17:08:52 +02:00
Ludovic Courtès 0ba10e086f hydra: Build for mips64el-linux.
* build-aux/hydra/gnu-system.scm (hydra-jobs)[systems]: Add
  mips64el-linux.
2014-05-28 23:33:58 +02:00
Ludovic Courtès bd6639026b gnu: fuse: Allow use of 'fusermount' taken from $PATH.
* gnu/packages/linux.scm (fuse) <set-file-names>: Set FUSERMOUNT_DIR in
  lib/Makefile.
2014-05-28 23:25:17 +02:00
Ludovic Courtès db288efafb gnu: Add sshfs-fuse.
* gnu/packages/linux.scm (sshfs-fuse): New variable.
2014-05-28 23:25:17 +02:00
John Darrington a83b6a06b7 gnu: Make gtk-glext depend on pangox-compat and remove workaround patch
* gnu/packages/gnome.scm (gtk-glext): Add new dependency and remove patch
* gnu/packages/patches/gtkglext-remove-pangox-dependency.patch: Delete file
* gnu-system.am: Delete gnu/packages/patches/gtkglext-remove-pangox-dependency.patch
2014-05-28 18:50:01 +02:00
John Darrington 25f76ef0ba gnu: Add cssc.
* gnu/packages/version-control.scm (cssc): New variable.
* gnu/packages/patches/cssc-gets-undeclared.patch: New file
* gnu/packages/patches/cssc-missing-include.patch: New file
* gnu-system.am: Add gnu/packages/patches/cssc-gets-undeclared.patch
  and gnu/packages/patches/cssc-missing-include.patch
2014-05-28 18:50:00 +02:00
Andreas Enge 93c3de921a gnu: hdf5: Fix source download location.
* gnu/packages/maths.scm (hdf5): Use "release" directory and not the "current"
    directory for the source, which does not break on new upstream releases.
2014-05-28 16:04:08 +02:00
Ludovic Courtès a4d48cc24d gnu: grep: Upgrade to 2.19.
* gnu/packages/base.scm (grep): Upgrade to 2.19.
2014-05-27 23:23:10 +02:00
Ludovic Courtès a43da8f90c gnu: gcc-4.8: Upgrade to 4.8.3.
* gnu/packages/gcc.scm (gcc-4.8): Upgrade to 4.8.3.
2014-05-27 23:22:50 +02:00
Ludovic Courtès af018f5e0a Merge branch 'master' into core-updates 2014-05-27 23:19:49 +02:00
Ludovic Courtès 35066aa596 syscalls: Be more permissive in 'umount' test.
* tests/syscalls.scm ("umount, ENOENT"): Rename to...
  ("umount, ENOENT/EPERM"): ... this.  Accept EPERM as a valid return
  value.
2014-05-27 22:36:54 +02:00
Ludovic Courtès 5895f24443 store: Work around 'get-bytevector-n' bug that affects 'import-paths'.
Fixes <http://bugs.gnu.org/17591>.

* guix/store.scm (process-stderr) <%stderr-read>: Use
  'get-bytevector-n!' instead of 'get-bytevector-n'.
2014-05-27 22:28:34 +02:00
Ludovic Courtès 2a7050abf8 gnu: Add Autoconf 2.64.
* gnu/packages/autotools.scm (autoconf-2.64): New variable.
2014-05-27 22:28:34 +02:00
Eric Bavier 33dcd2a804 gnu: librsync: Fix source uri
* gnu/packages/rsync.scm (librsync) [source]: Fix sourceforge uri.
2014-05-27 10:38:57 -05:00
Eric Bavier d1a5439bcb gnu: Add duplicity.
* gnu/packages/backup.scm: New file.
* gnu-system.am: Add it.
2014-05-27 10:05:33 -05:00
Eric Bavier 5a1a4bf6b2 gnu: Add python-mock.
* gnu/packages/python.scm (python-mock): New variable.
2014-05-27 10:05:33 -05:00
Eric Bavier c1448c6974 gnu: Add python-lockfile.
* gnu/packages/python.scm (python-lockfile): New variable.
2014-05-27 10:05:32 -05:00
Ludovic Courtès f4561be2d1 services: Add D-Bus and Avahi.
* gnu/services/dbus.scm: New file.
* gnu/services/avahi.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add them.
2014-05-26 23:38:06 +02:00
Ludovic Courtès 3963a7292a gnu: Add Transmission.
* gnu/packages/bittorrent.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
2014-05-26 23:38:06 +02:00
John Darrington 5698b8b82c gnu: Add gsegrafix and dependent libraries.
* gnu/packages/math.scm (gsegrafix): New variable.
* gnu/packages/gtk.scm (pangox-compat): New variable.
* gnu/packages/gnome.scm (libidl, orbit2, libbonobo, gconf, gnome-mime-data,
  gnome-vfs, libgnome, libart-lgpl, libgnomecanvas, libgnomeui, libglade,
  libgnomeprint, libgnomeprintui, libbonoboui): New variables.
2014-05-26 18:19:55 +02:00
Eric Bavier ff78435fa0 gnu: Add mcrypt, libmcrypt, and libmhash.
* gnu/packages/mcrypt.scm: New file.
* gnu/packages/patches/mhash-keygen-test-segfault.patch: New patch.
* gnu-system.am (GNU_SYSTEM_MODULES): Add file.
  (dist_patch_DATA): Add patch.
2014-05-26 01:15:53 -05:00
Eric Bavier 7f0635f684 gnu: Add librsync.
* gnu/packages/rsync.scm (librsync): New variable.
2014-05-25 23:33:58 -05:00
Ludovic Courtès de0b620e88 gnu: Add inotify-tools.
* gnu/packages/linux.scm (inotify-tools): New variable.
2014-05-26 00:08:50 +02:00
Ludovic Courtès 25083588b9 doc: Augment "Package Naming".
* doc/guix.texi (Package Naming): Mention underscores, and give SDL_net
  as an example.
2014-05-25 17:00:01 +02:00
Ludovic Courtès 884af1b4ec store: Remove misleading 'setsockopt' call.
* guix/store.scm (open-connection): Remove misleading 'setsockopt' call,
  erroneously introduced in df1fab58.  This would actually shrink the
  receive buffer from 124 KiB to 12 KiB, though it had little impact on
  performance.
2014-05-25 01:31:15 +02:00
Ludovic Courtès 4b2615e1ca services: nscd: Provide an 'activate' script to make /var/run/nscd.
* gnu/services/base.scm (nscd-service): Add 'activate' field.
* guix/build/install.scm (directives): Remove /var/run/nscd; add
  /var/run.
* doc/guix.texi (Defining Services): Add 'activate' field in example.
  Document it.
2014-05-24 18:10:05 +02:00
Ludovic Courtès 55ccc388b7 services: Support per-service activation scripts.
* gnu/services.scm (<service>)[activate]: New field.
* gnu/system.scm (operating-system-activation-script)[service-activations]:
  New procedure.  Use it, and primitive-load each activation.
2014-05-24 18:10:05 +02:00
Ludovic Courtès 517830cc01 system: Always create /var/empty.
* guix/build/install.scm (directives): Add /var/empty.
2014-05-24 18:10:05 +02:00
Ludovic Courtès 484a2b3a5a system: Separate the activation script from the boot script.
* gnu/system.scm (operating-system-activation-script): New procedure,
  containing most of the former 'operating-system-boot-script'.
  (operating-system-boot-script): Call it, and 'primitive-load' its
  result.
* guix/build/activation.scm (%booted-system): Remove.
  (activate-current-system): Remove #:boot? parameter and related code.
2014-05-24 18:10:05 +02:00
Eric Bavier a9f48ff076 gnu: Add lzop.
* gnu/packages/compression.scm (lzop): New variable.
2014-05-24 01:03:02 -05:00
Ludovic Courtès 112440a7b8 vm: Disable QEMU networking in the disk image initrd.
* gnu/system/linux-initrd.scm (qemu-initrd): Add #:qemu-networking?
  parameter and honor it.
* gnu/system/vm.scm (system-disk-image): Pass #:qemu-networking #f.
2014-05-23 22:37:24 +02:00
Ludovic Courtès a68d976b66 download: Enlarge your receive buffer.
* guix/build/download.scm (open-connection-for-uri): Remove call to
  'setsockopt'.
* guix/http-client.scm (open-socket-for-uri)[rmem-max, buffer-size]: New
  variables.  Add call to 'setsockopt'.
2014-05-23 22:19:37 +02:00
Ludovic Courtès fb729425dc guix system: Add 'disk-image' action.
* guix/scripts/system.scm (show-help): Add 'disk-image'.
  (guix-system)[parse-options]: Support 'disk-image' action.
  [option-arguments]: Likewise.
  Handle the 'disk-image' action.
* doc/guix.texi (Invoking guix system): Document 'disk-image'.
2014-05-22 23:24:13 +02:00
Ludovic Courtès 1e77fedb46 vm: Add 'system-disk-image'.
* gnu/system/vm.scm (system-disk-image): New procedure.
2014-05-22 23:24:13 +02:00
Ludovic Courtès c938494598 Add (gnu) module.
* gnu.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
* build-aux/hydra/demo-os.scm: Use (gnu) and strip import list
  accordingly.
* doc/guix.texi (Using the Configuration System): Adjust example
  accordingly.
2014-05-22 23:24:13 +02:00
Ludovic Courtès f19c6e5fe7 vm: Use a para-virtualized disk when creating an image.
* guix/build/vm.scm (load-in-linux-vm): When MAKE-DISK-IMAGE?, use
  '-drive ...,if=virtio' for better performance.
* gnu/system/vm.scm (qemu-image): Use /dev/vda instead of /dev/sda.
2014-05-22 23:24:13 +02:00
Ludovic Courtès c4a74364b9 vm: Make the image format a parameter.
* guix/build/vm.scm (load-in-linux-vm): Add #:disk-image-format
  parameter; add 'image-file' variable.  Honor DISK-IMAGE-FORMAT.
* gnu/system/vm.scm (expression->derivation-in-linux-vm): Add
  #:disk-image-format parameter, and honor it.
  (qemu-image): Likewise.
2014-05-22 23:24:13 +02:00
Ludovic Courtès 3035b50f28 linux-initrd: Build /dev/loop* nodes.
* guix/build/linux-initrd.scm (make-essential-device-nodes): Build
  /dev/loop[0-7].
2014-05-22 23:24:13 +02:00
Andreas Enge ca143f1379 gnu: imagemagick: Upgrade to 6.8.9-0.
* gnu/packages/imagemagick.scm (imagemagick): Upgrade to 6.8.9-0.
2014-05-22 22:28:12 +02:00
Andreas Enge 39aa11e090 gnu: perl-io-tty: Upgrade to 1.11.
* gnu/packages/perl.scm (perl-io-tty): Upgrade to 1.11.
2014-05-22 22:13:42 +02:00
Andreas Enge 6d763bdddb guix: download: Update imagemagick mirrors.
* guix/download.scm (%mirrors)[imagemagick]: Update and add the legacy
    subdirectory of the main site as a last resort.
2014-05-22 22:07:07 +02:00
Ludovic Courtès a3977466db build: Fix builds without --with-libgcrypt-prefix nor --with-libgcrypt-libdir.
Reported by Manolis Ragkousis <manolis837@gmail.com>.
Fixes a regression introduced in 14af289.

Before this commit, ./configure would leave LIBGCRYPT_PREFIX and
LIBGCRYPT_LIBDIR undefined, leading to LIBGCRYPT_LIBS="-L -lgcrypt" and
thus to a link failure.

* configure.ac: Make sure $LIBGCRYPT_PREFIX and $LIBGCRYPT_LIBDIR are
  never empty.
2014-05-22 10:38:41 +02:00
Ludovic Courtès 641f9a2a1f vm: Modularize build-side code.
* guix/build/install.scm (install-grub): Call 'error' if 'system*'
  returns non-zero.
* guix/build/vm.scm (initialize-partition-table): Make 'partition-size'
  a positional parameter.  Call 'error' when 'system*' returns
  non-zero'.
  (format-partition, initialize-root-partition): New procedures.
  (initialize-hard-disk): Use them.
2014-05-21 23:31:46 +02:00
Ludovic Courtès d1f477199d vm: Remove misleading comment.
* guix/build/vm.scm (load-in-linux-vm): Remove misleading comment.
2014-05-21 23:19:13 +02:00
Ludovic Courtès 952298d709 gnu: Add wpa_supplicant.
* gnu/packages/admin.scm (wpa-supplicant): New variable.
2014-05-21 17:12:03 +02:00
Ludovic Courtès d28869afad store: Flush the output when the build process emits '\r'.
This allows progress reports emitted by 'substitute-binary' to be
correctly displayed.

* guix/store.scm (%newlines): New variable.
  (process-stderr) <%stderr-next>: Flush (current-build-output-port)
  when S contains one of %NEWLINES.
2014-05-21 15:29:23 +02:00
Ludovic Courtès 29decd1f36 Augment (guix).
* guix.scm (%public-modules): Add 'monads' and 'gexp'.
2014-05-20 23:37:11 +02:00
Ludovic Courtès c5df183956 Add (gnu system file-systems).
This fixes a circular dependency between (gnu system) and (gnu system
linux-initrd), where the latter could end up being compiled before
'file-system-type' was defined as a macro.

* gnu/system.scm (<file-system>, %fuse-control-file-system,
  %binary-format-file-system): Move to...
* gnu/system/file-systems.scm: ... here.  New file.
* build-aux/hydra/demo-os.scm, gnu/system/linux-initrd.scm,
  gnu/system/vm.scm: Use it.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
2014-05-20 23:37:11 +02:00
Ludovic Courtès eb7ccb1afa linux-initrd: Display a backtrace when the initial program fails.
* guix/build/linux-initrd.scm (boot-system): Add pre-unwind handler in
  'catch' form around 'primitive-load', and call 'format' and
  'display-backtrace' from there.
2014-05-20 23:37:11 +02:00
Ludovic Courtès 9bea3b42b4 vm: Fix typo.
Regression introduced in e38e18f.

* guix/build/vm.scm (initialize-hard-disk)[partition]: Use a string.
2014-05-20 23:37:11 +02:00
Eric Bavier 5bbd6bf181 gnu: Add ccache.
* gnu/packages/ccache.scm: New file.
* gnu/packages/patches/ccache-stdc-predef-test.patch: New patch.
* gnu-system.am (GNU_SYSTEM_MODULES): Add ccache.scm.
  (dist_patch_DATA): Add patch.
2014-05-20 16:21:43 -05:00
Eric Bavier 16ecf3ff4a gnu: Edit synopses of petsc packages.
* gnu/packages/maths.scm (petsc) [synopsis]: Shorten.
  (petsc-complex,petsc-openmpi,petsc-complex-openmpi) [synopsis]:
  Repeat synopsis from petsc package with extensions.  [description]: Remove.
2014-05-20 09:53:19 -05:00
Eric Bavier 7886e23b03 gnu: offlineimap: fix license.
* gnu/packages/mail.scm (offlineimap) [license]: Change to gpl2+.
2014-05-20 09:50:58 -05:00
Eric Bavier d2938d59aa gnu: Add mu.
* gnu/packages/mail.scm (mu): New variable.
2014-05-20 09:02:39 -05:00
Eric Bavier 3919a31a75 gnu: Add offlineimap
* gnu/packages/mail.scm (offlineimap): New variable.
2014-05-20 09:02:39 -05:00
Ludovic Courtès d84a7be667 utils: 'delete-file-recursively' doesn't follow mount points by default.
* guix/build/utils.scm (delete-file-recursively): Add #:follow-mounts?
  parameter and honor it.
2014-05-20 14:45:58 +02:00
Ludovic Courtès 953c9fcf8c gnu: ncurses: Build libtinfo.
* gnu/packages/ncurses.scm (ncurses)[arguments]: Add --with-termlib to
  #:configure-flags.
2014-05-20 14:30:19 +02:00
Ludovic Courtès 6d69a7ed10 gnu: ncurses: Set a RUNPATH on the executables and libraries.
* gnu/packages/ncurses.scm (ncurses)[arguments]: Add LDFLAGS to
  #:configure-flags.
2014-05-20 14:29:46 +02:00
Ludovic Courtès b10e9ff6da gnu: Add Linux kbd.
* gnu/packages/linux.scm (kbd): New variable.
2014-05-19 23:52:40 +02:00
Ludovic Courtès 52ddf2ae6f ui: Gracefully deal with zero-output derivations.
* guix/ui.scm (show-what-to-build)[built-or-substitutable?]: New
  procedure.  Check whether OUT is #f.
  Use it.
* tests/ui.scm ("show-what-to-build, zero outputs"): New test.
2014-05-19 23:52:40 +02:00
Ludovic Courtès 79b0d4e104 guix system: Check whether we are installing to /.
* guix/scripts/system.scm (install): Check whether TARGET is / and warn.
2014-05-19 23:52:40 +02:00
Ludovic Courtès c56d19fb11 guix system: Factorize out closure copy.
* guix/scripts/system.scm (copy-closure): New procedure.
  (install): Use it.
2014-05-19 23:52:40 +02:00
Ludovic Courtès d467e640aa doc: Show the 'bootloader' field in system example.
* doc/guix.texi (Using the Configuration System): Add 'bootloader'
  field.
2014-05-19 23:52:40 +02:00
Ludovic Courtès c79d54fe41 guix system: 'guix system init' installs GRUB by default.
* guix/scripts/system.scm (install): Add #:grub?, #:grub.cfg, and
  #:device parameters; honor them.
  (show-help): Document '--no-grub'.
  (%options): Add '--no-grub'.
  (%default-options): Add 'install-grub?'.
  (guix-system): Honor 'install-grub?' option from OPTS.  Adjust
  'install' call accordingly.
* doc/guix.texi (Invoking guix system): Document '--no-grub'.
2014-05-19 23:52:39 +02:00
Ludovic Courtès e38e18ff01 vm: Make the device name a parameter.
* guix/build/vm.scm (initialize-partition-table): Honor 'device'
  parameter.
  (initialize-hard-disk): Add 'device' parameter and honor it.
* gnu/system/vm.scm (qemu-image): Adjust accordingly.
2014-05-19 23:52:39 +02:00
Eric Bavier a54aefead6 gnu: Add superlu-dist package.
* gnu/packages/maths.scm (superlu-dist): New variable.
* gnu/packages/patches/superlu-dist-scotchmetis.patch: New patch.
* gnu-system.am (dist_patch_DATA): Add it.
2014-05-19 00:15:11 -05:00
Eric Bavier 6acb4adb34 gnu: Add pt-scotch package.
* gnu/packages/maths.scm (pt-scotch): New variable.
2014-05-19 00:15:11 -05:00
Eric Bavier f8ed036a31 gnu: Add scotch package.
* gnu/packages/maths.scm (scotch): New variable.
* gnu/packages/patches/scotch-test-threading.patch: New patch.
* gnu-system.am (dist_patch_DATA): Add it.
2014-05-19 00:15:11 -05:00
Eric Bavier c711f07c3e guix: licenses: Add CeCILL-C license.
* guix/licenses.scm (cecill-c): New variable.
2014-05-19 00:15:11 -05:00
Ludovic Courtès 6ffd11f129 system: Prevent grub.cfg from being GC'd.
* guix/build/install.scm (install-grub): Use 'copy-file' instead of
  'symlink' for GRUB.CFG.
2014-05-18 22:27:23 +02:00
Ludovic Courtès d5b429abda system: Add 'grub-configuration' record.
* gnu/system/grub.scm (<grub-configuration>): New record type.
  (grub-configuration-file): Add 'config' parameter; remove
  #:default-entry and #:timeout.  Honor CONFIG.
* gnu/system.scm (<operating-system>): Remove 'bootloader-entries'
  field; remove default value for 'bootloader' field.
  (operating-system-grub.cfg): Pass the 'bootloader' field to
  'grub-configuration-file'.
* build-aux/hydra/demo-os.scm (bootloader): New field.
2014-05-18 22:27:23 +02:00
Ludovic Courtès 72b9d60df4 guix system: Add 'init' sub-command.
* guix/scripts/system.scm (install): New procedure.
  (guix-system)[parse-option]: Remove check for extraneous arguments.
  [match-pair, option-arguments]: New procedures.
  Use 'option-arguments'.  Honor 'init'.
  (show-help): Document 'init'.
* doc/guix.texi (Invoking guix system): Document 'init'.
2014-05-18 22:27:23 +02:00
Ludovic Courtès bb31e0a3ee store: Change #:store parameter to #:prefix.
* guix/store.scm (register-path): Change #:store to #:prefix.
2014-05-18 22:27:22 +02:00
Ludovic Courtès 15d299874c vm: Avoid resetting timestamps twice.
* guix/build/vm.scm (initialize-hard-disk): Don't call
  'reset-timestamps' when REGISTER-CLOSURES? is true.
* guix/build/install.scm (register-closure): Mention timestamps in
  docstring.
2014-05-18 22:27:22 +02:00
Eric Bavier 1691b4cdc6 gnu: openmpi: Add memchecker support.
* gnu/packages/mpi.scm (openmpi) [inputs]: Add valgrind.  Unpropagate
  gfortran.  [arguments]: Add configure flags for memchecker.
2014-05-18 11:09:42 -05:00
Ludovic Courtès b4140694ac system: Make /run/current-system at activation time.
* gnu/system.scm (etc-directory): Change default value of #:profile.
  Change contents of SHELLS.  Use /run/current-system/profile/{s,}bin in
  BASHRC.
  (operating-system-boot-script)[%modules]: Add (guix build
  linux-initrd).  Add call to 'activate-current-system' in gexp.
  (operating-system-initrd-file, operating-system-grub.cfg): New
  procedures.
  (operating-system-derivation): Don't build grub.cfg here and remove it
  from the file union.
* gnu/system/vm.scm (qemu-image): Remove #:populate.
  (operating-system-build-gid, operating-system-default-contents):
  Remove.
  (system-qemu-image): Remove call to
  'operating-system-default-contents'.  Use 'operating-system-grub.cfg'
  to get grub.cfg.  Add GRUB.CFG to #:inputs.
  (system-qemu-image/shared-store): Likewise, but don't add GRUB.CFG to
  #:inputs.
  (system-qemu-image/shared-store-script): Pass --system kernel option.
* guix/build/activation.scm (%booted-system, %current-system): New
  variables.
  (boot-time-system, activate-current-system): New procedures.
* guix/build/install.scm (evaluate-populate-directive): Add case
  for ('directory name uid gid mode).
  (directives, populate-root-file-system): New procedures.
* guix/build/vm.scm (initialize-hard-disk): Replace calls to
  'evaluate-populate-directive' by a call to
  'populate-root-file-system'.
* gnu/services/dmd.scm (dmd-configuration-file): Use
  /run/current-system/profile/bin.
* gnu/services/xorg.scm (slim-service): Likewise.
2014-05-18 00:04:01 +02:00
Andreas Enge bf43449ace gnu: soprano: Add input redland.
* gnu/packages/rdf.scm (soprano): Add inputs redland and rasqal, drop raptor2
    (propagated by rasqal).
2014-05-17 17:53:39 +02:00
Andreas Enge af6fce0fd1 gnu: Add redland.
* gnu/packages/rdf.scm (redland): New variable.
2014-05-17 17:53:39 +02:00
Andreas Enge 85d83c3b7b gnu: rasqal: Propagate input raptor2.
* gnu/packages/rdf.scm (rasqal): Propagate input raptor2 as indicated in
    the pkg-config file.
2014-05-17 17:53:39 +02:00
Ludovic Courtès 14af289ed9 build: Add --with-libgcrypt-libdir=DIR to support Debian's multi-arch layout.
* configure.ac: Remove 'LIBGCRYPT_PREFIX' and use 'LIBGCRYPT_LIBDIR'
  instead.  Add --with-libgcrypt-libdir=DIR option.
* Makefile.am (AM_DISTCHECK_CONFIGURE_FLAGS): Pass
  '--with-libgcrypt-libdir'.
* config-daemon.ac: Honor $LIBGCRYPT_LIBDIR when computing
  LIBGCRYPT_LIBS.
2014-05-17 16:23:01 +02:00
Andreas Enge 1634c0420e gnu: Add rasqal.
* gnu/packages/rdf.scm (rasqal): New variable.
2014-05-17 14:43:34 +02:00
Ludovic Courtès e901ef297d store: Add #:store parameter to 'register-path'.
* guix/store.scm (register-path): Add #:store and honor it.
2014-05-17 00:08:39 +02:00
Ludovic Courtès 87a52da7d0 linux-initrd: Factorize kernel command-line option parsing.
* guix/build/linux-initrd.scm (find-long-option): New procedure.
  (boot-system): Use it instead of the local 'option'.
2014-05-16 23:31:48 +02:00
Ludovic Courtès d216323f0a hydra: Add dummy root file system declaration.
* build-aux/hydra/demo-os.scm (file-systems): Add "/" file system.
2014-05-16 21:57:11 +02:00
Ludovic Courtès 7889394e05 guix system: Add 'build' action.
* guix/scripts/system.scm (show-help): Document 'build' action.
  (guix-system): Honor 'build' action.
* doc/guix.texi (Invoking guix system): Add 'build' action.
2014-05-16 21:56:00 +02:00
Ludovic Courtès 90f69c2ec5 gnu: Add libuv.
* gnu/packages/libevent.scm (libuv): New variable.
2014-05-16 15:45:25 +02:00
Ludovic Courtès 4cca91832b authenticate: Add compatibility hack for Guile 2.0.5.
* guix/scripts/authenticate.scm (%default-port-conversion-strategy): New
  variable.  Reported by Andreas Enge <andreas@enge.fr>.
2014-05-16 10:22:19 +02:00
Ludovic Courtès d0281fec03 list-runtime-roots: Don't display a backtrace on 2.0.5 when lsof is lacking.
* nix/scripts/list-runtime-roots.in (lsof-roots): Fix typo in 'catch'
  tag.  Add 'parent' variable.  Wrap 'open-pipe*' call in 'catch'.
  Reported by Andreas Enge <andreas@enge.fr>.
2014-05-16 10:20:45 +02:00
Ludovic Courtès 5ce3defed1 system: Add (guix build install) module.
* guix/build/vm.scm (install-grub, evaluate-populate-directive,
  reset-timestamps, register-closure): Move to...
* guix/build/install.scm: ... here.  New file.
* Makefile.am (MODULES): Add it.
* gnu/system/vm.scm (expression->derivation-in-linux-vm): Add (guix
  build install) to #:modules.
2014-05-15 23:37:46 +02:00
Ludovic Courtès 150e20ddde vm: Support initialization of the store DB when the store is shared.
* gnu/system/vm.scm (qemu-image): Rename #:inputs-to-copy to #:inputs,
  and #:initialize-store? to #:register-closures?.  Add #:copy-inputs?.
  Adjust build gexp accordingly.
  (system-qemu-image): Remove #:initialize-store? argument and add
  #:copy-inputs?.
  (system-qemu-image/shared-store): Add #:inputs, #:register-closures?,
  and #:copy-inputs? arguments.
* guix/build/vm.scm (register-closure): New procedure.
  (MS_BIND): New variable.
  (initialize-hard-disk): Rename #:initialize-store? to
  #:register-closures?, #:closures-to-copy to #:closures, and add
  #:copy-closures?.
  Add 'target-directory' and 'target-store' variables.
  Call 'populate-store' only when COPY-CLOSURES?.
  Bind-mount the store to TARGET-STORE when REGISTER-CLOSURES? and not
  COPY-CLOSURES?.  Add call to 'register-closure'.
2014-05-15 22:55:14 +02:00
Ludovic Courtès c336a66fe8 build: Remove fusectl from the default file systems in the demo OS.
* build-aux/hydra/demo-os.scm (file-systems): Comment out
  %FUSE-CONTROL-FILE-SYSTEM, since fuse.ko is missing by default in the
  freestanding VM image.
2014-05-15 22:47:53 +02:00
Ludovic Courtès 2717a89a84 system: Provide declarations for the 'fusectl' and 'binfmt_misc' file systems.
* gnu/system.scm (%fuse-control-file-system,
  %binary-format-file-system): New variables.
* build-aux/hydra/demo-os.scm (file-systems): New field.
2014-05-14 23:17:03 +02:00
Ludovic Courtès 1eeccc2f31 vm: Keep acceptable file systems from the original OS.
* gnu/system/vm.scm (virtualized-operating-system): Instead of
  completely overriding 'file-systems', use 'remove' to filter out some
  of those declared in OS.
  (system-qemu-image): Likewise.
2014-05-14 23:15:51 +02:00
Ludovic Courtès 4106c58988 gnu: xterm: Upgrade to 304.
* gnu/packages/xorg.scm (xterm): Upgrade to 304.  Switch to a
  version-specific URL.
2014-05-14 23:02:10 +02:00
Ludovic Courtès f3b692acdd activation: Silence warning from 'useradd'.
* guix/build/activation.scm (add-user): Don't pass '--create-home' when
  HOME already exists.
2014-05-14 19:07:04 +02:00
Ludovic Courtès 7f17ff7841 linux-initrd: Make /dev/ttyS0, for debugging.
* guix/build/linux-initrd.scm (make-essential-device-nodes): Make
  /dev/ttyS0.
2014-05-14 19:07:04 +02:00
Ludovic Courtès 7d57cfd3b6 system: When unionfs-fuse is used for /, don't kill it when halting.
* guix/build/linux-initrd.scm (pidof): New procedure.
  (mount-root-file-system)[mark-as-not-killable]: New procedure.
  Use it for unionfs when VOLATILE-ROOT?.
* gnu/services/base.scm (%do-not-kill-file): New variable.
  (user-processes-service)[stop]: Honor it.
2014-05-14 19:07:03 +02:00
Ludovic Courtès 17a4d34489 syscalls: Add 'processes' to list all the live processes.
* guix/build/syscalls.scm (kernel?, processes): New procedures.
2014-05-14 19:07:03 +02:00
Andreas Enge 211345b3a5 gnu: libsm: Propagate input libice.
* gnu/packages/xorg.scm (libsm): Propagate input libice.
2014-05-14 16:04:42 +02:00
Andreas Enge c98f2ff309 gnu: qt-4: Upgrade to 4.8.6.
* gnu/packages/qt.scm (qt-4): Upgrade to 4.8.6.
2014-05-14 15:53:00 +02:00
Andreas Enge e7e5a4f8d4 gnu: qt-4: Enable session management by adding libsm as an input.
* gnu/packages/qt.scm (qt-4): Add input qt-4.
2014-05-14 14:32:22 +02:00
Ludovic Courtès 5a84a6c314 vm: Pass '-serial stdio' in the run-vm.sh.
* gnu/system/vm.scm (system-qemu-image/shared-store-script): Add
  '-serial stdio'.
2014-05-14 01:02:46 +02:00
Ludovic Courtès 838d9a9ddb system: Move skeleton code to (gnu system shadow).
* gnu/system.scm (default-skeletons, skeleton-directory): Move to...
* gnu/system/shadow.scm: ... here.
2014-05-14 01:02:46 +02:00
Ludovic Courtès 64d76fa6c2 doc: Improve debugging file documentation.
* doc/guix.texi (Installing Debugging Files): Add @cindex.  Remove
  unneeded '-i' in example.  Mention source code an 'directory'.  Link
  to "Build Systems" instead of "Defining Packages".
2014-05-14 01:02:46 +02:00
Ludovic Courtès 1a389e8d21 system: Add skeleton '.gdbinit'.
* gnu/system.scm (default-skeletons): Add .gdbinit.
2014-05-14 01:02:46 +02:00
Eric Bavier 5b527256ee gnu: openmpi: Use our hwloc.
* gnu/packages/mpi.scm (hwloc): Propagate numactl.
  (openmpi)[inputs]: Add hwloc.
  [native-inputs]: Add pkg-config.
  [argument]: Add hwloc configure flags.
2014-05-12 17:20:32 -05:00
Ludovic Courtès a37b807769 gnu: Add babl.
* gnu/packages/gimp.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
2014-05-12 23:55:28 +02:00
Ludovic Courtès 40281c5424 system: Populate /etc/skel.
* gnu/system.scm (<operating-system>)[skeletons]: New field.
  (default-skeletons, skeleton-directory): New procedures.
  (etc-directory): Add #:skeletons parameter.  Call
  'skeleton-directory', and produce the 'skel' sub-directory.
  (operating-system-etc-directory): Pass #:skeletons to
  'etc-directory'.
2014-05-12 23:55:28 +02:00
Ludovic Courtès a12d92f54e doc: Add example for --search.
* doc/guix.texi (Invoking guix package): Add LGPLv3 example.
2014-05-12 23:55:28 +02:00
Eric Bavier f5ea273a00 gnu: perl-tk: Patch for i686
* gnu/packages/patches/perl-tk-x11-discover.patch: New patch.
* gnu-system.am [dist_patch_DATA]: Add it.
* gnu/packages/tcl.scm (perl-tk)[origin]: Use it.
2014-05-12 16:15:31 -05:00
Ludovic Courtès ab6a279abb system: Make accounts and groups at activation time.
* gnu/services/base.scm (guix-build-accounts): Remove #:gid parameter;
  add #:group.  Remove 'password' and 'gid' fields in 'user-account'
  form, and add 'group'.
  (guix-service): Remove #:build-user-gid parameter.  Remove 'id' field
  in 'user-group' form.
* gnu/system.scm (etc-directory): Remove #:groups and #:accounts.  No
  longer produce files "passwd", "shadow", and "group".  Adjust caller
  accordingly.
  (%root-account): New variable.
  (operating-system-accounts): Add 'users' variable.  Add %ROOT-ACCOUNT
  only of 'operating-system-users' doesn't already contain a root
  account.
  (user-group->gexp, user-account->gexp): New procedures.
  (operating-system-boot-script): Add calls to 'setenv' and
  'activate-users+groups' in gexp.
* gnu/system/linux.scm (base-pam-services): Add PAM services for
  "user{add,del,mode}" and "group{add,del,mod}".
* gnu/system/shadow.scm (<user-account>)[gid]: Rename to...
  [group]: ... this.
  [supplementary-groups]: New field.
  [uid, password]: Default to #f.
  (<user-group>)[id]: Default to #f.
  (group-file, passwd-file): Remove.
* gnu/system/vm.scm (operating-system-default-contents)[user-directories]:
  Remove.  Add "/home" to the directives.
* guix/build/activation.scm (add-group, add-user,
  activate-users+groups): New procedures.
2014-05-11 22:41:58 +02:00
Ludovic Courtès 057d6ce5e4 services: xorg: Fix harmless typo in slim.cfg.
* gnu/services/xorg.scm (slim-service): Add missing whitespace in
  XINITRC invocation.
2014-05-11 22:41:58 +02:00
John Darrington 7e0c23fb3e gnu: pspp: Upgrade to 0.8.3
* gnu/packages/maths.scm (pspp): Update to 0.8.3.
2014-05-11 13:42:49 +02:00
Ludovic Courtès d0c64188b6 doc: Mention upgrades that trigger a lot of rebuilds.
* HACKING (Commit Access): Mention upgrades that trigger a lot rebuilds.
2014-05-11 13:35:31 +02:00
Andreas Enge af8a56b8a2 doc: Add a section on perl modules in the packaging guidelines.
* doc/guix.texi (Perl modules): New section explaining the naming of perl
    modules.
2014-05-11 12:27:37 +02:00
Ludovic Courtès f3bde2ff9f vm: Fix recently-introduced regression in 'operating-system-services' use.
* gnu/system/vm.scm (operating-system-build-gid): Adjust to new return
  type of 'operating-system-services' introduced in 217a5b8.
2014-05-10 23:56:45 +02:00
Ludovic Courtès 023f391c78 services: Add 'file-system-service'.
* gnu/services/base.scm (file-system-service): New procedure.
  (user-processes-service): Add 'requirements' parameter.
* gnu/services/dmd.scm (dmd-configuration-file): Use (guix build
  linux-initrd).
* guix/build/linux-initrd.scm (guix): Export 'check-file-system'.
* gnu/system.scm (file-union): New procedure.
  (essential-services): Use it.  Add that to the returned list.
2014-05-10 23:33:52 +02:00
Ludovic Courtès 23ed63a12d services: Use (guix build syscalls) instead of util-linux.
* gnu/services/dmd.scm (dmd-configuration-file): Add derivations for
  the (guix build syscalls) module, and add that to the load path of
  dmd.conf.
* gnu/services/base.scm (root-file-system-service): Rewrite using the
  'sync' and 'mount' procedures.
2014-05-10 22:58:22 +02:00
Ludovic Courtès 29fa45f45d Add (guix build syscalls).
* guix/build/syscalls.scm, tests/syscalls.scm: New files.
* Makefile.am (MODULES): Add guix/build/syscalls.scm.
  (SCM_TESTS): Add tests/syscalls.scm.
* guix/utils.scm (%libc-errno-pointer, errno): Remove; take from (guix
  build syscalls).
2014-05-10 22:55:34 +02:00
Ludovic Courtès 02139eb9b2 linux-initrd: Append to /etc/mtab.
* guix/build/linux-initrd.scm (mount-file-system): Open /etc/mtab in
  append mode.
2014-05-10 21:47:05 +02:00
Ludovic Courtès 217a5b852e system: Automatically add essential services.
* gnu/services/base.scm (%base-services): Remove calls to
  'host-name-service', 'user-processes-service', and
  'root-file-system-service'.
* gnu/system.scm (<operating-system>)[operating-system-services]: Rename
  to...
  [operating-system-user-services]: ... this.
  (essential-services, operating-system-services): New procedures.
  (operating-system-accounts, operating-system-etc-directory,
  operating-system-boot-script, operating-system-derivation): Adjust to
  new 'operating-system-services' return type.
2014-05-09 22:59:18 +02:00
Eric Bavier e5c66f8c7b gnu: fftw: Factor out OpenMPI dependency.
* gnu/packages/algebra.scm (fftw)[inputs,arguments]: Remove OpenMPI.
  (fftw-openmpi): New variable.
2014-05-09 09:03:38 -05:00
Ludovic Courtès 2b0d560a3f gnu: Add hwloc.
* gnu/packages/mpi.scm (hwloc): New variable.
  (openmpi): Add TODO comment.
2014-05-09 15:49:08 +02:00
Ludovic Courtès 42422cc2f1 gnu: Add pciutils.
* gnu/packages/pciutils.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
2014-05-09 15:48:15 +02:00
Ludovic Courtès 67b660037c gnu: Add numactl.
* gnu/packages/linux.scm (numactl): New variable.
2014-05-09 14:55:12 +02:00
Eric Bavier 85a84cbd83 gnu: openmpi: Fix typo in download uri
* gnu/packages/mpi.scm (openmpi)[origin]: Fix typo.
2014-05-08 17:06:46 -05:00
Eric Bavier 0fc54d4b31 gnu: fftw: Add dependency on openmpi.
* gnu/packages/algebra.scm (fftw)[inputs,arguments]: Add OpenMPI.
2014-05-08 17:00:27 -05:00
Eric Bavier 2cf287df59 gnu: fftw: Upgrade to 3.3.4
* gnu/packages/algebra.scm (fftw): Upgrade to 3.3.4.
2014-05-08 17:00:27 -05:00
Ludovic Courtès a00dd9fbf4 services: Add service to cleanly unmount the root file system.
* gnu/services/base.scm (root-file-system-service,
  user-processes-service): New procedures.
  (mingetty-service, nscd-service, syslog-service, guix-service): Add
  requirement on 'user-processes'.
  (%base-services): Add (user-processes-service)
  and (root-file-system-service).
* gnu/services/xorg.scm (slim-service): Add requirement on
  'user-processes'.
2014-05-08 23:42:15 +02:00
Ludovic Courtès 474b832d5e linux-initrd: Don't leak /dev/console file descriptors.
* guix/build/linux-initrd.scm (switch-root): Simplify /dev/console
  code.  This fixes a bug where we would leak the IN and OUT file
  descriptors.
2014-05-08 23:42:15 +02:00
Ludovic Courtès ef4ab0a4c5 doc: Mention Kiselyov's work on "staging".
* doc/guix.texi (G-Expressions): Mention Oleg's work on "staging" in
  footnote.
2014-05-08 23:42:15 +02:00
Ludovic Courtès 03178aec1d git-download: Disable TLS certificate verification.
* guix/build/git.scm (git-fetch): Add 'setenv' call.
2014-05-08 23:42:15 +02:00
Eric Bavier 8ede638c4b gnu: openmpi: Avoid "open source" verbiage
* gnu/packages/mpi.scm (openmpi)[synopsis,description]: Remove mention
  of "open source".
2014-05-08 14:48:59 -05:00
Eric Bavier d8c7eeb996 gnu: Add petsc-openmpi.
* gnu/packages/maths.scm (petsc-openmpi): New variable.
  (petsc-complex-openmpi): New variable.
2014-05-08 12:42:17 -05:00
Eric Bavier 10b11968c8 gnu: petsc: Clean some more leaked chroot references
* gnu/packages/maths.scm (petsc)[arguments]: Scrub some
  config-generated header files before build.  Only remove files if
  they exist.
2014-05-08 12:42:17 -05:00
Eric Bavier fb0e370928 gnu: Add OpenMPI
* gnu/packages/mpi.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
2014-05-08 12:42:17 -05:00
Ludovic Courtès a29a09fc29 Change 'nix-upstream' submodule URL.
* .gitmodules: Use https, not http.  Reported by
  Pjotr Prins <pjotr.public12@thebird.nl>.
2014-05-08 18:38:03 +02:00
Ludovic Courtès b1995341ce linux-initrd: Update /etc/mtab.
* guix/build/linux-initrd.scm (mount-root-file-system): Populate
  /root/etc/mtab.
  (mount-file-system): Update ROOT/etc/mtab.
2014-05-08 00:22:26 +02:00
Ludovic Courtès 538cc2e016 Remove now unneeded (guix build gnome) module.
* guix/build/gnome.scm: Remove.
* Makefile.am (MODULES): Update accordingly.
2014-05-07 14:32:36 +02:00
Ludovic Courtès ce2df078d7 gnu: Make $XDG_DATA_DIRS a search path variable for GLib.
* gnu/packages/glib.scm (glib): Add 'native-search-paths' and
  'search-paths' fields.
* gnu/packages/gnome.scm (libpeas): Remove 'arguments' field.
  (librsvg)[arguments]: Remove #:modules and #:imported-modules.
  Remove settings of INTROSPECTION_SCANNER_ARGS and
  INTROSPECTION_COMPILER_ARGS in makefiles.
* gnu/packages/gtk.scm (gtk+): Likewise.
2014-05-06 23:10:11 +02:00
Ludovic Courtès 141aed8087 gnu: gobject-introspection is usually meant to be a native input.
* gnu/packages/gtk.scm (atk, pango, gdk-pixbuf, gtk+): Move
  gobject-introspection to 'native-inputs' since it's only used at build
  time.
* gnu/packages/gnome.scm (libpeas): Move pkg-config,
  gobject-introspection, and intltool to 'native-inputs'.
2014-05-06 22:47:21 +02:00
Ludovic Courtès 63016e7cd0 gnu: Add librsvg.
* gnu/packages/gnome.scm (librsvg): New variable.
2014-05-06 22:29:55 +02:00
Ludovic Courtès 26a728eb09 linux-initrd: Delete files from the initrd ramfs when switching roots.
* guix/build/linux-initrd.scm (switch-root): Delete file from the old
  root.  Chdir to / after 'chroot' call.  Re-open file descriptors 0, 1,
  and 2.
  (boot-system): Move 'loading' message after the 'switch-root' call.
* gnu/system.scm (operating-system-boot-script): Add loop that closes
  file descriptor before calling 'execl'.
2014-05-06 18:18:22 +02:00
Ludovic Courtès 94e3029a83 gnu: pius: Use Python 2.
* gnu/packages/gnupg.scm (pius): Use Python 2.
2014-05-06 16:48:58 +02:00
Ludovic Courtès 78214b4b89 gnu: make-bootstrap: Add missing export.
* gnu/packages/make-bootstrap.scm: Export '%guile-static-stripped'.  The
  problem was hidden because of <http://bugs.gnu.org/17418>.
2014-05-06 15:01:39 +02:00
Ludovic Courtès f57d263929 gnu: e2fsprogs: Install the libext2fs Info manual.
* gnu/packages/linux.scm (e2fsprogs)[native-inputs]: Add TEXINFO.
2014-05-06 14:26:49 +02:00
Ludovic Courtès 0997771ac1 gnu: e2fsprogs: Use 'static-package' for the statically-linked variant.
* gnu/packages/linux.scm (e2fsprogs/static): Remove.
  (e2fsck/static): Use (static-package e2fsprogs) instead.
2014-05-06 14:12:41 +02:00
Ludovic Courtès fd42e6b803 gnu: gdb: Upgrade to 7.7.1.
* gnu/packages/gdb.scm (gdb): Upgrade to 7.7.1.
2014-05-06 14:06:41 +02:00
Ludovic Courtès 03f4500118 gnu: gdb: Add dependency on libxml2.
* gnu/packages/gdb.scm (gdb)[inputs]: Add LIBXML2.
2014-05-06 14:06:16 +02:00
Ludovic Courtès 2517859411 gnu: Add libgsf.
* gnu/packages/gnome.scm (libgsf): New variable.
2014-05-06 00:26:10 +02:00
Ludovic Courtès 1dd26275a3 gnu: Add libcroco.
* gnu/packages/gnome.scm (libcroco): New variable.
2014-05-06 00:20:46 +02:00
Ludovic Courtès 6f194a1e77 gnu: pybugz: Add fixlet patches.
* gnu/packages/python.scm (python2-pybugz)[source]: Add 'patches'
  field.
* gnu/packages/patches/pybugz-encode-error.patch,
  gnu/packages/patches/pybugz-stty.patch: New files.
* gnu-system.am (dist_patch_DATA): Add them.
2014-05-05 17:12:55 +02:00
Ludovic Courtès 515eba4543 gnu-maintenance: Add missing type check.
* guix/gnu-maintenance.scm (gnu-package?): Only call 'mirror-type' when
  URL is a string.
2014-05-05 09:00:00 +02:00
Ludovic Courtès 1d4628329d linux-initrd: Improve root file system switching.
* guix/build/linux-initrd.scm (move-essential-file-systems,
  switch-root): New procedures.
  (MS_MOVE): New variable.
  (boot-system): Remove 'mount-essential-file-systems' call for ROOT.
  Use 'switch-root' instead of chdir + chroot.
2014-05-04 22:24:47 +02:00
Ludovic Courtès 2d49f84522 services: networking: Fix typo in static networking service.
* gnu/services/networking.scm (static-networking-service): Use
  $inetutils/bin/ifconfig, not $inetutils/sbin/ifconfig.
2014-05-04 21:09:29 +02:00
Ludovic Courtès 0e2672aee3 gnu: Add missing import in (gnu packages maths).
* gnu/packages/maths.scm: Use (guix utils), which was needed since
  b9100e2f.
2014-05-04 11:15:30 +02:00
Ludovic Courtès 3c05b4bc25 linux-initrd: Check the root and other early file systems.
* gnu/system.scm (operating-system-derivation)[boot-file-systems]: Keep "/".
* gnu/system/linux-initrd.scm (file-system->spec): Keep the 'check?'
  flag.
  (qemu-initrd)[helper-packages]: New variable.  Pass it as #:to-copy.
  <gexp>: Add 'set-path-environment-variable' call.  Remove #:unionfs
  argument for 'boot-system'.
* gnu/system/vm.scm (%linux-vm-file-systems): Add 'check?' field/
  (virtualized-operating-system): Likewise for the "9p" file system.
* guix/build/linux-initrd.scm (mount-root-file-system): Change #:unionfs
  default.  Call 'check-file-system' before mounting ROOT, when
  VOLATILE-ROOT? is false.
  (check-file-system): New procedure.
  (mount-file-system): Honor 'check?' element in list; add
  'check-file-system' call.
  (boot-system): Remove #:root-fs-type and #:unionfs parameters.
  [root-mount-point?, root-fs-type]: New variables.
  Call 'mount-file-system' on all MOUNTS but "/".
2014-05-04 00:30:39 +02:00
Ludovic Courtès ad896f23a5 activation: Fix deletion of setuid programs.
* guix/build/activation.scm (activate-setuid-programs): When
  %SETUID-DIRECTORY exists, pass the right file names to 'delete-file'.
2014-05-04 00:18:46 +02:00
Ludovic Courtès e102f94097 gnu: Add statically-linked versions of e2fsprogs and the fsck.* commands.
* gnu/packages/linux.scm (e2fsprogs/static, e2fsck/static): New
  variables.
2014-05-03 16:37:04 +02:00
Ludovic Courtès 66f23d6621 vm: Provide a root partition for the freestanding VM image.
Fixes a regression introduced in 83bcd0b.

* gnu/system/vm.scm (system-qemu-image): Override the 'file-systems'
  field of OS.  Add #:file-system-type parameter and honor it.
2014-05-03 12:46:09 +02:00
Ludovic Courtès 03ddfaf5fb vm: Make root file system type a parameter, and default to ext4.
* gnu/system/vm.scm (qemu-image): Add #:file-system-type parameter.
  Pass it to 'initialize-hard-disk'.
* guix/build/linux-initrd.scm (mount-root-file-system): Always honor
  TYPE.
  (boot-system): Change #:root-fs-type to default to "ext4".  Update
  docstring.
* guix/build/vm.scm (initialize-hard-disk): Remove #:mkfs parameter; add
  #:file-system-type.  Adjust 'mkfs' invocation and 'mount' call to
  honor #:file-system-type.
2014-05-03 12:16:23 +02:00
Ludovic Courtès e20fd1bf80 doc: Minor improvements in "G-Expressions".
* doc/guix.texi (G-Expressions): Show coreutils version number in store
  file name.  Add xref to "Derivations", in documentation of
  'gexp->derivation'.  Fix typo.
2014-05-03 12:02:43 +02:00
Ludovic Courtès 83a39ed7db gnu: Add diffstat.
* gnu/packages/version-control.scm (diffstat): New variable.
2014-05-03 00:46:51 +02:00
Ludovic Courtès 3c986b75f5 ftp-client: Add missing CR in "USER" command.
* guix/ftp-client.scm (%ftp-login): Add #\return before #\newline.
  Fixes access to some FTP servers, such as
  ftp://invisible-island.net ("ProFTPD 1.3.4a Server").
2014-05-03 00:46:51 +02:00
Ludovic Courtès 83bcd0b895 system: Add first-class file system declarations.
* gnu/system.scm (<operating-system>)[initrd]: Default to
  'qemu-initrd'.
  (<file-system>): New record type.
  (operating-system-root-file-system): New procedure.
  (operating-system-derivation): Take the device name for GRUB from
  'operating-system-root-file-system'.  Pass the
  'operating-system-initrd' procedure the list of boot file systems.
* gnu/system/linux-initrd.scm (file-system->spec): New procedure.
  (qemu-initrd): Add 'file-systems' parameter, and remove #:mounts
  parameter.
  [file-system-type-predicate]: New procedure.
  [linux-modules]: Use it.
  Adjust #:mounts argument in 'boot-system' call.
  (gnu-system-initrd): Remove.
* gnu/system/vm.scm (%linux-vm-file-systems): New variable.
  (expression->derivation-in-linux-vm): Adjust call to 'qemu-initrd'.
  (virtualized-operating-system): New procedure.
  (system-qemu-image/shared-store-script)[initrd]: Remove.  Use
  'virtualized-operating-system'.  Get the 'initrd' file from OS-DRV.
* guix/build/linux-initrd.scm (mount-qemu-smb-share, mount-qemu-9p):
  Remove.
  (MS_RDONLY, MS_BIND): New global variables.
  (bind-mount): Remove local 'MS_BIND' definition.
  (mount-root-file-system): New procedure, with code formerly in
  'boot-system'.
  (mount-file-system): New procedure.
  (boot-system): Add #:root-fs-type parameter.  Remove 'MS_RDONLY' local
  variable.  Use 'mount-root-file-system' and 'mount-file-system'.
* doc/guix.texi (Using the Configuration System): Add 'file-system'
  declaration.
2014-05-03 00:46:51 +02:00
Eric Bavier f5d5a346db gnu: Add missing copyright line
* gnu/packages/maths.scm: Add copyright line missing from 3de01d3.
2014-05-02 14:25:17 -05:00
Eric Bavier f258212df5 gnu: petsc: Add input superlu.
* gnu/packages/maths.scm (petsc): Configure with superlu support.
2014-05-02 14:25:17 -05:00
Eric Bavier 183e44ae44 gnu: Add superlu
* gnu/packages/maths.scm (superlu): New variable
2014-05-02 14:25:17 -05:00
Ludovic Courtès 6ab6ca4c9a gnu: qemu: Upgrade to 2.0.0.
* gnu/packages/qemu.scm (qemu-headless): Upgrade to 2.0.0.
2014-05-01 22:31:36 +02:00
Ludovic Courtès 6f8f8ccb5b download: Rewrite using gexps.
* guix/download.scm (gnutls-derivation): Remove.
  (gnutls-package): New procedure.
  (url-fetch): Rewrite using 'gexp->derivation'.
2014-05-01 22:31:36 +02:00
Ludovic Courtès 53e89b1732 monads, gexp: Remove unintended dependency on (gnu packages …).
* guix/gexp.scm (gexp->derivation, gexp->script): Use 'default-guile'
  instead of an explicit reference to 'guile-final'.
  (default-guile): New procedure.
* guix/monads.scm (run-with-store)[default-guile]: New procedure.
  Use it.
2014-05-01 22:31:36 +02:00
Ludovic Courtès 79c0c8cdf7 gexp: Add support for 'origin?' objects in 'ungexp' forms.
* guix/gexp.scm (lower-inputs, gexp-inputs, gexp->sexp,
  canonicalize-reference): Add 'origin?' case.
* guix/monads.scm (origin->derivation): New procedure.
* tests/gexp.scm ("one input origin"): New test.
2014-05-01 22:31:36 +02:00
Ludovic Courtès 696893801c system: Add 'sudo' to the setuid programs, and handle /etc/sudoers.
* gnu/system.scm (<operating-system>)[groups]: Change default to just
  the 'root' group.
  [sudoers]: New field.
  (etc-directory): Add #:sudoers parameter.  Add 'sudoers' to the
  file union.
  (operating-system-etc-directory): Pass #:sudoers to 'etc-directory'.
  (%setuid-programs): Add 'sudo'.
  (%sudoers-specification): New variable.
* gnu/system/linux.scm (base-pam-services): Add 'sudo'.
* build-aux/hydra/demo-os.scm: Add 'groups' field; add 'guest' to the
  'wheel' group.
2014-05-01 22:31:36 +02:00
Eric Bavier b9100e2f11 gnu: Add petsc
* gnu/packages/maths.scm (petsc): New variable.
  (petsc-complex): New variable.
* gnu/packages/patches/petsc-fix-threadcomm.patch: New patch.
* gnu-system.am (dist_patch_DATA): Add it.
2014-05-01 15:27:30 -05:00
David Thompson 3da5dca34c gnu: Add abbaye.
* gnu/packages/games.scm (abbaye): New variable.
2014-05-01 07:44:45 -04:00
David Thompson 586b6d4d45 gnu: Propagate necessary inputs for sdl-image.
* gnu/packages/sdl.scm (sdl-image): Propagate jpeg, png, and tiff
  libraries.
2014-05-01 07:44:45 -04:00
Ludovic Courtès 7560b00b1c gexp: Add pretty printer.
* guix/gexp.scm (write-gexp): New procedure.
  <top level>: Add call to 'set-record-type-printer!'.
2014-04-30 23:16:23 +02:00
Ludovic Courtès e1485c7b38 gnu: Add sudo.
* gnu/packages/admin.scm (sudo): New variable.
2014-04-30 23:16:23 +02:00
Ludovic Courtès 09e028f45f system: Add support for setuid binaries.
* gnu/system.scm (<operating-system>)[pam-services, setuid-programs]:
  New fields.
  (etc-directory)[bashrc]: Prepend /run/setuid-programs to $PATH.
  (operating-system-etc-directory): Honor
  'operating-system-pam-services'.
  (%setuid-programs): New variable.
  (operating-system-boot-script): Add (guix build utils) to the set of
  imported modules.  Call 'activate-setuid-programs' in boot script.
* gnu/system/linux.scm (base-pam-services): New procedure.
* guix/build/activation.scm (%setuid-directory): New variable.
  (activate-setuid-programs): New procedure.
* build-aux/hydra/demo-os.scm: Add 'pam-services' field.
2014-04-30 23:16:23 +02:00
Ludovic Courtès d8a7a5bfd5 linux-initrd: Allow setuid binaries from the unionfs to run.
* guix/build/linux-initrd.scm (boot-system): Pass the 'suid' option to
  UNIONFS.
2014-04-30 23:16:23 +02:00
Ludovic Courtès 4dfe6c58ee system: Add (guix build activation).
* gnu/services/dmd.scm (dmd-configuration-file): Remove 'etc'
  parameter.  Move /etc activation code to...
* guix/build/activation.scm: ... here; new file.
* gnu/system.scm (operating-system-boot-script): Augment script: add
  (guix build activation) to the load path; call 'activate-etc'.
* Makefile.am (MODULES): Add guix/build/activation.scm.
2014-04-30 23:16:22 +02:00
Eric Bavier 864068e204 gnu: calcurse: Fix module definition.
* gnu/packages/calcurse.scm: Define calcurse module correctly.
2014-04-30 15:12:43 -05:00
Eric Bavier edf684ef99 gnu: gmsh: Fix typos
* gnu/packages/maths.scm (gmsh): Fix typo and space aftern
  end-of-sentence.
2014-04-30 14:56:52 -05:00
Eric Bavier 3de01d3fa1 gnu: Add gmsh
* gnu/packages/maths.scm (gmsh): New variable
2014-04-30 11:39:31 -05:00
Ludovic Courtès be4e38fb6f derivations: Micro-optimize 'derivation'.
* guix/derivations.scm (derivation->string): New procedure.
  (derivation-hash, derivation): Use it.
  Memoization here yields a 5% improvement on "guix build -e '(@ (gnu
  packages emacs) emacs)' -n --no-substitutes".
2014-04-29 18:13:10 +02:00
Ludovic Courtès 2c6b7c7d55 gnu: guile-ncurses: Build with Unicode support.
* gnu/packages/guile.scm (guile-ncurses)[arguments]: Pass
  "--with-ncursesw".
2014-04-29 18:05:52 +02:00
Ludovic Courtès 187eb5f643 gnu-maintenance: Avoid network access in 'gnu-package?'.
* guix/gnu-maintenance.scm (gnu-package?): Add 'mirror-type' procedure.
  Resort to 'official-gnu-packages' only when 'mirror-type' returns #f.
2014-04-29 18:02:16 +02:00
Ludovic Courtès 0423b7847b Update 'TODO'. 2014-04-29 17:59:23 +02:00
Ludovic Courtès bfd9eed955 gexp: Remove leftover parameter.
* guix/gexp.scm (gexp->sexp): Remove #:outputs parameter.  Adjust
  callers accordingly.
2014-04-29 17:58:34 +02:00
Ludovic Courtès 6d7b4206d7 gnu: screen: Upgrade to 4.2.1.
* gnu/packages/screen.scm (screen): Upgrade to 4.2.1.
2014-04-28 23:53:01 +02:00
Ludovic Courtès b6c18d6af7 gnu: mcron: Upgrade to 1.0.7.
* gnu/packages/guile.scm (mcron): Upgrade to 1.0.7.
  Use GUILE-2.0 instead of GUILE-1.8; add 'native-inputs' field.
2014-04-28 23:52:13 +02:00
Ludovic Courtès ada3df03e3 monads: Hide 'derivation-expression' and 'lower-inputs'.
* guix/monads.scm: Unexport 'lower-inputs' and 'derivation-expression'.
  (text-file*): Add comment about the switch to 'gexp->derivation'.
  (lower-inputs): Add comment about its doom.
  (derivation-expression): Likewise.
* guix/gexp.scm (lower-inputs*): Rename to...
  (lower-inputs): ... this.  Update callers.
* tests/monads.scm (derivation-expression): New procedure.
* doc/guix.texi (The Store Monad): Use 'gexp->derivation' instead of
  'derivation-expression'.  Remove documentation of
  'derivation-expression'.
* guix/ui.scm (read/eval): Use THE-ROOT-MODULE so that macros are
  properly expanded.
* tests/guix-build.sh: Use 'gexp->derivation' instead of
  'derivation-expression'.monads: Hide 'derivation-expression' and 'lower-inputs'.
2014-04-28 23:41:12 +02:00
Ludovic Courtès 0c21d92b1c linux-initrd: Rewrite using gexps.
* gnu/system/linux-initrd.scm (expression->initrd): Rename 'inputs'
  parameter to 'to-copy'.  Remove 'files-to-copy'.  Rewrite 'builder' as
  a gexp, and use 'gexp->derivation'.
  (qemu-initrd): Adjust accordingly.
2014-04-28 23:41:12 +02:00
Ludovic Courtès 8c35bfb68c system: Rewrite 'union' using gexps.
* gnu/system.scm (union): Rewrite using 'gexp->derivation'.
2014-04-28 23:41:12 +02:00
Ludovic Courtès 8779d34294 services: xorg: Rewrite using gexps.
* gnu/services/xorg.scm (xorg-start-command): Rewrite in terms of
  'gexp->script'.
  (xinitrc): Likewise.
2014-04-28 23:41:11 +02:00
Ludovic Courtès f6a7b21df7 system: grub: Rewrite using gexps.
* gnu/system/grub.scm (grub-configuration-file): Rewrite using
  'gexp->derivation'.
* gnu/system.scm (operating-system-derivation): Adjust accordingly.
2014-04-28 23:41:08 +02:00
Ludovic Courtès 23f6056b50 system: Change 'file-union' to use gexps.
* gnu/system.scm (file-union): Make 'name' the first parameter; remove
  'inputs' parameter.  Rewrite using 'gexp->derivation'.
  (etc-directory): Adjust accordingly.
  (operating-system-derivation): Ditto.
2014-04-28 23:24:18 +02:00
Ludovic Courtès b5f4e68635 services: Rewrite using gexps.
* gnu/services.scm (<service>)[inputs]: Remove.
* gnu/system.scm (links): Remove.
  (etc-directory): Add PASSWD and SHADOW to #:inputs.
  (operating-system-boot-script): Pass ETC to 'dmd-configuration-file'.
  (operating-system-derivation): Remove EXTRAS from the union.
* gnu/system/linux.scm (pam-service->configuration): Rewrite in terms of
  'gexp->derivation'.  Compute the contents on the build side.  Expect
  'arguments' to contain a list of gexps.
  (pam-services->directory): Rewrite in terms of 'gexp->derivation'.
  (unix-pam-service): Change 'arguments' to a list of one gexp.
* gnu/system/shadow.scm (<user-account>)[inputs]: Remove.
  [shell]: Change default value to a gexp.
  (passwd-file): Rewrite in terms of 'gexp->derivation'.  Compute
  contents on the build side.
* gnu/services/base.scm (host-name-service, mingetty-service,
  nscd-service, syslog-service, guix-service): Change 'start' and 'stop'
  to gexps; remove 'inputs' field.
  (guix-build-accounts): Change 'shell' field to a gexp.
* gnu/services/networking.scm (static-networking-service): Change
  'start' and 'stop' to gexps; remove 'inputs' field.
* gnu/services/xorg.scm (slim-service): Likewise.
* gnu/services/dmd.scm (dmd-configuration-file): Expect ETC to be a
  derivation.  Change 'config' to a gexp.  Use 'gexp->file' instead of
  'text-file'.
* doc/guix.texi (Defining Services): Update nscd example with gexps, and
  without 'inputs'.  Add xref to "G-Expressions".
2014-04-28 23:24:18 +02:00
Ludovic Courtès 1aa0033b64 vm: Rewrite support procedures to use gexps.
* gnu/system/vm.scm (%imported-modules): Remove.
  (expression->derivation-in-linux-vm): Remove 'inputs' parameter.
  Rename 'imported-modules' to 'modules'.  Rewrite using gexps and
  'gexp->derivation'.
  (qemu-image): Add 'qemu' parameter.  Pass NAME to
  'expression->derivation-in-linux-vm'.  Rewrite using gexps.  Remove
  #:inputs argument to 'expression->derivation-in-linux-vm'.
  (operating-system-default-contents): Rewrite using gexps.
* gnu/system.scm (operating-system-profile-derivation): Rename to...
  (operating-system-profile): ... this.  Adjust callers.
  (operating-system-profile-directory): Remove.
2014-04-28 23:24:18 +02:00
Ludovic Courtès eee2127109 store: (direct-store-path? (%store-prefix)) returns #f.
* guix/store.scm (direct-store-path?): Return #f if PATH
  is (%store-prefix).
* tests/store.scm ("direct-store-path?"): Add test.
2014-04-28 23:24:18 +02:00
Ludovic Courtès 02100028bb gnu: Use gexps in obvious places in (gnu system ...).
* gnu/system.scm (operating-system-boot-script): Use 'gexp->file'
  instead of 'text-file*'.
* gnu/system/vm.scm (expression->derivation-in-linux-vm): Likewise.
  (system-qemu-image/shared-store-script)[builder]: Turn into a gexp.
  Use 'gexp->derivation' instead of 'derivation-expression'.
2014-04-28 23:24:17 +02:00
Ludovic Courtès 21b679f694 Add (guix gexp).
* guix/gexp.scm: New file.
* tests/gexp.scm: New file.
* Makefile.am (MODULES): Add guix/gexp.scm.
  (SCM_TESTS): Add tests/gexp.scm.
* doc/guix.texi (Derivations): Add #:inputs in 'derivation' example.
  Mark 'build-expression->derivation' as deprecated, refer to
  "G-Expressions".  Remove paragraph about code strata.
  (G-Expressions): New node.
2014-04-28 23:24:17 +02:00
Andreas Enge ba948b4fa0 gnu: soprano: Add input clucene.
* gnu/packages/rdf.scm (soprano): Add input clucene and patch the cmake
    file looking for it.
* gnu/packages/patches/soprano-find-clucene.patch: New file.
* gnu-system.am (dist_patch_DATA): Register the patch.
2014-04-28 20:20:52 +02:00
Andreas Enge c69fe8306d gnu: soprano: Upgrade to 2.9.4.
* gnu/packages/rdf.scm (soprano): Upgrade to 2.9.4.
2014-04-28 20:09:27 +02:00
Andreas Enge 06ed59825e guix: cmake: Add input and package libraries to the rpath, and adapt package
definitions accordingly.

* guix/build/cmake-build-system.scm (configure): Add flags.
* gnu/packages/maths.scm (lapack): Drop special code.
* gnu/packages/ssh.scm (libssh): Drop special code.
* gnu/packages/slim.scm (slim): Drop special code and enable shared library.

Co-authored-by: Eric Bavier <bavier@member.fsf.org>
2014-04-27 11:35:26 +02:00
Andreas Enge 5d17cf8eb9 gnu: soprano: Add native input doxygen.
* gnu/packages/rdf.scm (soprano): Add native input doxygen.
2014-04-25 00:32:11 +02:00
Andreas Enge 9e57c1b587 gnu: doxygen: Add propagated input graphviz.
* gnu/packages/doxygen.scm (doxygen): Add propagated input graphviz.
2014-04-25 00:31:41 +02:00
Andreas Enge 707d3e24a2 gnu: libkate: Add native input doxygen and make input pkg-config native.
* gnu/packages/xiph.scm (libkate): Add native input doxygen.
    Make input pkg-config native.
2014-04-25 00:24:10 +02:00
Andreas Enge b01932868e gnu: libmpdclient: Add native input doxygen.
* gnu/packages/mpd.scm (libmpdclient): Add native input doxygen.
2014-04-25 00:16:30 +02:00
Andreas Enge eb78797163 gnu: libdbusmenu-qt: Add native input doxygen for building the documentation,
and make input qjson native.

* gnu/packages/kde.scm (libdbusmenu-qt): Add native input doxygen for
    building the documentation.
    Make input qjson native, as it is needed only for the tests.
2014-04-25 00:09:59 +02:00
Andreas Enge 436d4d1fbb gnu: Add doxygen.
* gnu/packages/doxygen.scm: New file.
* gnu/packages/patches/doxygen-test.patch,
  gnu/packages/patches/doxygen-tmake.patch: New files.
* gnu-system.am (GNU_SYSTEM_MODULES, dist_patch_DATA): Register the new files.
2014-04-25 00:03:36 +02:00
Ludovic Courtès c0412fedf8 build: Add missing function checks for optional daemon features.
* config-daemon.ac: Check for lchown, posix_fallocate, vfork,
  sched_setaffinity, statvfs, nanosleep, and strsignal.  As a side
  effect, this enables daemon features depending on the corresponding
  feature test macros.
2014-04-24 17:47:20 +02:00
Andreas Enge 99fa3024b8 gnu: gp2c: Upgrade to 0.0.9pl1.
* gnu/packages/algebra.scm (gp2c): Upgrade to 0.0.9pl1.
2014-04-24 11:09:15 +02:00
Ludovic Courtès c47f0d8b71 vm: Clarify 'system-qemu-image/shared-store-script'.
* gnu/system/vm.scm (system-qemu-image/shared-store-script): Move
  'initrd' definition to the top-level.  Have a single definition of
  'initrd', 'image', and 'os-drv'.
2014-04-23 16:53:36 +02:00
Ludovic Courtès 2106d3fc81 system: Add 'operating-system-boot-script'.
* gnu/system.scm (operating-system-boot-script): New procedure.
  (operating-system-derivation): Use it.  Remove DMD-CONF from the
  file union.  Add BOOT-DRV to the inputs.
2014-04-23 16:52:14 +02:00
Ludovic Courtès 0b6f49ef69 system: Factorize (gnu system).
* gnu/system.scm (operating-system-accounts,
  operating-system-etc-directory): New procedures.
  (operating-system-derivation): Use them.
* gnu/services/base.scm (%base-services): Add 'host-name-service'
  invocation.
2014-04-23 15:47:42 +02:00
Ludovic Courtès 42b001381e gnu: cyrus-sasl: Add alternate source URL.
* gnu/packages/cyrus-sasl.scm (cyrus-sasl)[source]: Add alternate URL;
  the previous one is currently unreachable.
2014-04-22 22:15:18 +02:00
Ludovic Courtès 60bbd4f1be gnu: mplayer: Add mpg123 as an input.
* gnu/packages/video.scm (mplayer)[inputs]: Add mpg123.
2014-04-22 20:42:00 +02:00
Ludovic Courtès 1bdb591b74 gnu: Add mpg123.
* gnu/packages/mp3.scm (mpg123): New variable.
2014-04-22 20:41:25 +02:00
Ludovic Courtès 571aa6cd81 gnu: Add GCC 4.9.0.
* gnu/packages/gcc.scm (gcc-4.9): New variable.
* gnu/packages/base.scm (gcc-toolchain-4.9): New variable.
2014-04-22 17:45:09 +02:00
Mark H Weaver 0815f8f9a2 gnu: openssl: Fixes for CVE-2010-5298 and extension checking.
* gnu/packages/patches/openssl-CVE-2010-5298.patch: New file.
* gnu/packages/patches/openssl-extension-checking-fixes.patch: New file.
* gnu/packages/openssl.scm (openssl): Add them.
* gnu-system.am (dist_patch_DATA): Add them.
2014-04-22 08:55:43 -04:00
Ludovic Courtès 6ef3644e34 pk-crypto: Add pretty-printer to 'gcry-error' exceptions.
* guix/pk-crypto.scm (string->canonical-sexp, sign, generate-key): Pass
  the procedure name as the first argument to 'throw'.
  (gcrypt-error-printer): New procedure.
  <top level>: Add call to 'set-exception-printer!'.
* guix/nar.scm (restore-one-item): Add 'proc' parameter to 'catch'
  handler for 'gcry-error.
* guix/scripts/archive.scm (%options, generate-key-pair, authorize-key):
  Likewise.
* guix/scripts/substitute-binary.scm (narinfo-signature->canonical-sexp):
  Likewise.
2014-04-22 11:41:52 +02:00
Ludovic Courtès 6f69588529 authenticate: Allow signatures with binary data to be written to stdout.
Fixes <http://bugs.gnu.org/17312>.

* guix/scripts/authenticate.scm (guix-authenticate): Add calls to
  'set-port-encoding!' and 'set-port-conversion-strategy!'.  Wrap body
  in 'with-fluids' form that sets '%default-port-encoding' and
  '%default-port-conversion-strategy'.
* tests/guix-authenticate.sh: Add test.
* tests/pk-crypto.scm ("hash corrupt due to restrictive locale
  encoding"): Add reference to bug.
2014-04-22 11:30:58 +02:00
Ludovic Courtès 6030d8493e pk-crypto: Use ISO-8859-1 for strings passed to 'gcry_sexp_new'.
* guix/pk-crypto.scm (string->canonical-sexp): Pass "ISO-8859-1" as the
  2nd argument to 'string->pointer'.
* tests/pk-crypto.scm ("version"): New test.
  ("hash corrupt due to restrictive locale encoding"): New test.
2014-04-22 01:39:31 +02:00
Ludovic Courtès 50db7d82b3 nar: Really really protect the temporary store directory from GC.
This is a follow-up to 6071b55e10.
See <https://lists.gnu.org/archive/html/guix-devel/2014-04/msg00167.html>
for the original report, and
<https://lists.gnu.org/archive/html/guix-devel/2014-04/msg00198.html>
for an alternate solution that has been discussed.

* guix/nar.scm (temporary-store-file): Remove call to
  'add-permanent-root'; don't loop.
  (with-temporary-store-file): Rewrite using 'with-store' and
  'add-temp-root'.
2014-04-21 23:24:23 +02:00
Andreas Enge ace6924327 gnu: Add mplayer.
* gnu/packages/video.scm (mplayer): New variable.
2014-04-17 18:58:45 +02:00
Andreas Enge 8c0519bf83 gnu: xorg: libxxf86dga: Propagate input xf86dgaproto.
* gnu/packages/xorg.scm (libxxf86dga): Propagate input xf86dgaproto.
2014-04-17 18:43:40 +02:00
Andreas Enge d5a748e8e3 gnu: Add vlc.
* gnu/packages/video.scm (vlc): New variable.
2014-04-16 17:46:42 +02:00
Andreas Enge 01d3f19b6b gnu: lua: Add older version 5.1.5.
* gnu/packages/lua.scm (lua-5.1): New variable.
2014-04-16 15:31:24 +02:00
Andreas Enge 7b29779561 gnu: lua: Upgrade to 5.2.3.
* gnu/packages/lua.scm (lua): Upgrade to 5.2.3.
2014-04-16 15:14:43 +02:00
Andreas Enge 90f80bf21c gnu: lua: Compile with -fPIC.
* gnu/packages/lua.scm (lua): Add -fPIC to CFLAGS and LDFLAGS.
2014-04-16 15:12:46 +02:00
Ludovic Courtès 395bea2a53 download: Improve progress report output.
* guix/build/download.scm (url-fetch): Make current-output-port
  unbuffered.
2014-04-16 12:25:52 +02:00
Andreas Enge 58ec6f4ba9 gnu: Add strigi.
* gnu/packages/kde.scm (strigi): New variable.
2014-04-16 11:14:59 +02:00
Andreas Enge 7051054a0a gnu: clucene: Add patch to indicate linking with clucene-shared, not only
clucene-core, to pkgconfig.

* gnu/packages/patches/clucene-pkgconfig.patch: New file.
* gnu-system.am (dist_patch_DATA): Register patch.
* gnu/packages/rdf.scm (clucene): Use patch.
2014-04-16 10:58:31 +02:00
Andreas Enge 8a79ec41e8 gnu: Add clucene.
* gnu/packages/rdf.scm (clucene): New variable.
2014-04-16 10:07:52 +02:00
Andreas Enge 8b32a70b23 gnu: Add attica.
* gnu/packages/kde.scm (attica): New variable.
2014-04-16 09:04:52 +02:00
Ludovic Courtès 10db1e6c36 gnu: tcpdump: Add dependency on OpenSSL.
* gnu/packages/admin.scm (tcpdump)[inputs]: Add OpenSSL.
2014-04-16 00:18:44 +02:00
Ludovic Courtès fccf2fe06b gnu: Add Rot[t]log.
* gnu/packages/admin.scm (rottlog): New variable.
2014-04-15 23:55:15 +02:00
Ludovic Courtès 1da34f5ad5 gnu: Add tcpdump.
* gnu/packages/admin.scm (tcpdump): New variable.
2014-04-15 23:55:15 +02:00
Ludovic Courtès 158adb6611 gnu: Add lftp.
* gnu/packages/ftp.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
2014-04-15 23:55:15 +02:00
Ludovic Courtès 2b42718b34 gnu: man-db: Add specification for $MANPATH.
* gnu/packages/man.scm (man-db)[native-search-paths]: New field.
2014-04-15 23:55:14 +02:00
Andreas Enge ff46707281 gnu: Add libdbusmenu-qt.
*  gnu/packages/kde.scm (libdbusmenu-qt): New variable.
2014-04-15 17:46:55 +02:00
Andreas Enge dc8d697609 gnu: Add qjson.
* gnu/packages/kde.scm (qjson): New variable.
2014-04-15 17:40:23 +02:00
Andreas Enge 7e1c735f0b gnu: wdiff: Upgrade to 1.2.2.
* gnu/packages/wdiff.scm (wdiff): Upgrade to 1.2.2.
2014-04-15 14:55:44 +02:00
Andreas Enge eda6a07419 gnu: gawk: Revert previous commit, which should go into core-updates.
* gnu/packages/gawk.scm (gawk): Downgrade to 4.1.0 to avoid recompiling
    almost everything in master.
2014-04-15 14:50:33 +02:00
Andreas Enge 87d7bb0d02 gnu: gawk: Upgrade to 4.1.1.
* gnu/packages/gawk.scm (gawk): Upgrade to 4.1.1.
2014-04-15 14:31:54 +02:00
Andreas Enge 722111abb7 gnu: gmp: Upgrade to 6.0.0a.
* gnu/packages/multiprecision.scm (gmp): Upgrade to 6.0.0a.
* gnu/packages/base.scm (gcc-boot0): Modify symbolic link to point to
    gmp-6.0.0 instead of the non-existing gmp-6.0.0a.
2014-04-15 09:36:32 +02:00
Ludovic Courtès 1c96c1bbab linux-initrd: Mount / as a unionfs when asking for a volatile root.
* guix/build/linux-initrd.scm (make-essential-device-nodes): Make
  /dev/fuse.
  (boot-system): Add #:unionfs parameter.  Invoke UNIONFS instead of
  copying files over when VOLATILE-ROOT? is true.
* gnu/system/linux-initrd.scm (expression->initrd): Add #:inputs
  parameter.
  [files-to-copy]: New procedure.
  [builder]: Add 'to-copy' parameter; honor it.
  (qemu-initrd)[linux-modules]: Add 'fuse.ko' when VOLATILE-ROOT?.
  Pass UNIONFS-FUSE/STATIC as #:inputs; change builder to pass #:unionfs
  to 'boot-system'.
2014-04-14 23:59:08 +02:00
Ludovic Courtès 0b7a0c2030 gnu: unionfs-fuse-static: Remove dependency on util-linux.
* gnu/packages/linux.scm (fuse-static): New variable.
  (unionfs-fuse/static): Use it.
2014-04-14 23:47:15 +02:00
Ludovic Courtès dcd3ed9cc7 gnu: man-pages: Fix URL.
* gnu/packages/man.scm (man-pages): Use the 'kernel.org' mirror set.
2014-04-14 13:55:59 +02:00
Ludovic Courtès 30ce8012cd offload: '{send,receive}-files' wait for completion of the transfer.
Fixes situations where the remote 'guix build' is invoked before the
.drv has been completely copied, as reported at
<https://lists.gnu.org/archive/html/guix-devel/2014-04/msg00174.html>.

In some cases 'send-files' would return before the other end is done
importing the files, and so the subsequent 'guix build' invocation would
just miss the .drv file it refers to.

* guix/utils.scm (call-with-decompressed-port): Don't close PORT.
  (call-with-compressed-output-port): Likewise.
* tests/utils.scm ("compressed-output-port + decompressed-port"): Adjust
  accordingly.
* guix/scripts/offload.scm (send-files): Add explicit (close-pipe pipe)
  call.
  (retrieve-files): Likewise.
2014-04-14 00:24:24 +02:00
Ludovic Courtès 66ef541147 offload: Better synchronize with remote invocation of 'guix archive --missing'.
* guix/scripts/offload.scm (send-files)[missing-files]: Call 'waitpid'
  after reading all of MISSING.
2014-04-14 00:17:43 +02:00
Ludovic Courtès 8d846470f2 build-system/gnu: Reset timestamps on build tree when source is a directory.
* guix/build/utils.scm (copy-recursively): Add #:keep-mtime? parameter
  and honor it.
* guix/build/gnu-build-system.scm (unpack): Use #:keep-mtime? #t.
* gnu/packages/admin.scm (shadow)[arguments]: Remove 'reset-timestamps'
  phase.
2014-04-14 00:09:42 +02:00
Ludovic Courtès 4eb202a3d8 gnu: gcc-final: Add Texinfo as an input.
* gnu/packages/base.scm (gcc-final)[native-inputs]: New field.
2014-04-14 00:09:42 +02:00
Ludovic Courtès a6ac9ca6a5 gnu: gawk: Upgrade to 4.1.1.
* gnu/packages/gawk.scm (gawk): Upgrade to 4.1.1.
2014-04-14 00:09:35 +02:00
Ludovic Courtès 99e17dc927 derivations: Fix 'fixed-output-derivation?'.
Reported by Nikita Karetnikov <nikita@karetnikov.org>.

* guix/derivations.scm (fixed-output-derivation?): Fix pattern.
* tests/derivations.scm ("fixed-output-derivation?"): Add test.
2014-04-13 00:42:07 +02:00
Ludovic Courtès c5cd288bc7 gnu: Add Linux man-pages.
* gnu/packages/man.scm (man-pages): New variable.
2014-04-12 23:46:58 +02:00
Ludovic Courtès 6071b55e10 nar: Really protect the temporary store directory from GC.
Prevents garbage collection of the temporary store directory while
restoring a file set, as it could previously happen:
<https://lists.gnu.org/archive/html/guix-devel/2014-04/msg00167.html>.

* guix/nar.scm (temporary-store-directory): Rename to...
  (temporary-store-file): ... this.  Use 'add-permanent-root' instead of
  'add-indirect-root'.
  (with-temporary-store-file): New macro.
  (restore-one-item): New procedure, with code formerly in
  'restore-file-set'.  Use 'with-temporary-store-file'.
  (restore-file-set): Use it.
2014-04-12 23:03:56 +02:00
Ludovic Courtès a9d2a10546 store: Add 'add-permanent-root' and 'remove-permanent-root'.
* guix/store.scm (add-indirect-root): Improve docstring.
  (%gc-roots-directory): New variable.
  (add-permanent-root, remove-permanent-root): New procedures.
* tests/store.scm ("permanent root"): New test.
2014-04-12 22:32:10 +02:00
Nikita Karetnikov ca2baf10ba openssh: Add another mirror.
* gnu/packages/ssh.scm (openssh): Add the mirror.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2014-04-12 14:41:47 +02:00
Ludovic Courtès 857ecb3df5 packages: Correctly handle patching for inputs with no extension.
Reported by Manolis Ragkousis <manolis837@gmail.com>.

* guix/packages.scm (patch-and-repack)[numeric-extension?]: Handle
  FILE-NAME with no extension.
2014-04-12 14:39:43 +02:00
Ludovic Courtès 87bf526b96 gnu: Add Mosh.
* gnu/packages/ssh.scm (mosh): New variable.
2014-04-11 22:05:33 +02:00
Ludovic Courtès 45f5cae655 gnu: Add perl-io-tty.
* gnu/packages/perl.scm (perl-io-tty): New variable.
2014-04-11 21:49:38 +02:00
Ludovic Courtès 14d17788a9 gnu: Add Protobuf.
* gnu/packages/protobuf.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
2014-04-11 21:38:28 +02:00
Ludovic Courtès 616d9e1d2c hydra: Specify the image size of the QEMU image.
* build-aux/hydra/gnu-system.scm (qemu-jobs): Specify
  #:disk-image-size.
2014-04-11 19:08:25 +02:00
Ludovic Courtès 55651ff207 vm: Move image creation to (guix build vm); split into several procedures.
* guix/build/vm.scm (read-reference-graph, initialize-partition-table,
  install-grub, populate-store, evaluate-populate-directive,
  reset-timestamps, initialize-hard-disk): New procedures.
* gnu/system/vm.scm (qemu-image): Change 'builder' to a call to
  'initialize-hard-disk'.
2014-04-11 19:08:25 +02:00
Ludovic Courtès ade5ce7abc vm: 'expression->derivation-in-linux-vm' can import modules in the VM.
* gnu/system/vm.scm (%imported-modules): New procedure.
  (expression->derivation-in-linux-vm): Add #:imported-modules
  parameter; remove #:modules.  Add LOADER, and change BUILDER to load
  it.
  (qemu-image): Remove useless #:modules argument.
2014-04-11 19:08:25 +02:00
Ludovic Courtès 7bd9604cde vm: Strip import list.
* gnu/system/vm.scm: Strip #:select for (gnu packages base).
2014-04-11 19:08:25 +02:00
Ludovic Courtès ef09fdfb67 vm: Factorize input conversion.
* gnu/system/vm.scm (input->name+output): New procedure.
  (expression->derivation-in-linux-vm): Use it for 'input-alist'.
  (qemu-image)[input->name+derivation]: Remove.  Use
  'input->name+output' instead.
2014-04-11 19:08:25 +02:00
Ludovic Courtès e1a87b904a vm: Add (guix build vm) module.
* guix/build/vm.scm: New file.
* Makefile.am (MODULES): Add it.
* gnu/system/vm.scm (expression->derivation-in-linux-vm): Use it.
2014-04-11 19:08:24 +02:00
Andreas Enge 772d63658e gnu: ffmpeg: Upgrade to 2.2.1.
* gnu/packages/video.scm (ffmpeg): Upgrade to 2.2.1.
2014-04-11 12:50:24 +02:00
Ludovic Courtès a87f6bd7d0 gnu: qemu: Remove 'qemu-with-multiple-smb-shares' package.
* gnu/packages/qemu.scm (qemu/smb-shares): Remove.
* gnu/packages/patches/qemu-multiple-smb-shares.patch: Remove.
* gnu-system.am (dist_patch_DATA): Adjust accordingly.
2014-04-10 21:44:59 +02:00
Ludovic Courtès 1f3838ac5d vm: Use QEMU's para-virtualized file system support for all VMs.
* gnu/system/vm.scm (system-qemu-image/shared-store-script): Change
  #:qemu to default to QEMU.  Change INITRD to use a 9p mount for the
  store.  Change command-line to use -virtfs.
2014-04-10 21:41:58 +02:00
Ludovic Courtès 47d347b725 doc: Mention 'gcc-toolchain' in README.
* README (Installing Guix from Guix): Use "gcc-toolchain" instead of
  "gcc,binutils,ld-wrapper,glibc".
2014-04-10 21:41:58 +02:00
Alírio Eyng 8b8476b859 gnu: util-linux: Enable ddate.
* gnu/packages/linux.scm (util-linux): Add --enable-ddate configure flag.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2014-04-10 21:41:58 +02:00
Andreas Enge cc8ba868fa gnu: qt: Upgrade to 5.2.1.
* gnu/packages/qt.scm (qt): Upgrade to 5.2.1.
2014-04-10 10:07:22 +02:00
Ludovic Courtès 18d9a4466c daemon: Don't abort when $PATH is undefined.
* nix/nix-daemon/guix-daemon.cc (main): Check whether getenv ("PATH")
  returns NULL before blindly initializing 'search_path'.  Before that
  'guix-daemon' would abort when run in an environment where 'PATH' is
  undefined.
2014-04-09 23:05:42 +02:00
Ludovic Courtès 9132b9bd72 nar: 'restore-file-set' registers the temporary result as a GC root.
* guix/nar.scm (temporary-store-directory): Use 'add-indirect-root', not
  'add-temp-root'.  Reported by Andreas Enge <andreas@enge.fr> at
  <https://lists.gnu.org/archive/html/guix-devel/2014-04/msg00161.html>.
2014-04-09 23:01:02 +02:00
Alírio Eyng 9bf404e9e6 doc: Expect to fix typo.
* doc/guix.texi (Build Systems): "except" it is.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2014-04-09 22:22:19 +02:00
Alírio Eyng be0d8af822 gnu: linux-libre: Add SIS hardware compatibility.
* gnu/packages/linux.scm (linux-libre): Add CONFIG_SATA_SIS=y,
  CONFIG_SIS190=y and CONFIG_DEVPTS_MULTIPLE_INSTANCES=y.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2014-04-09 22:21:27 +02:00
Ludovic Courtès 901de55fbb build: Bump to version 0.7.
* configure.ac: Switch to 0.7.
2014-04-09 22:20:36 +02:00
Ludovic Courtès bd69ce5c0e Update '.po' files. 2014-04-09 20:54:35 +02:00
Ludovic Courtès e5c88dd739 hydra: Make demo OS smaller.
* build-aux/hydra/demo-os.scm: Replace Emacs with Zile.  Enable
  auto-login as "guest".  This is the configuration used for the Guix
  0.6 VM image.
2014-04-09 20:54:10 +02:00
Ludovic Courtès c865a878a0 gnu: linux-initrd: Mount /dev/pts at boot time.
* guix/build/linux-initrd.scm (make-essential-device-nodes): Remove
  'mount' call for /dev/pts.
  (boot-system): Add it here, after 'chroot' call.
2014-04-09 19:10:07 +02:00
Ludovic Courtès 289773c1d8 gnu: linux-initrd: Better populate /dev.
* guix/build/linux-initrd.scm (make-essential-device-nodes): Make
  /dev/{ptmx,tty} world-writable.  Build additional character devices.
2014-04-09 17:50:37 +02:00
Ludovic Courtès d69b35ee70 system: Initialize $PATH before starting dmd services.
* gnu/services/dmd.scm (dmd-configuration-file): Call 'setenv' before
  starting services.
2014-04-09 17:16:02 +02:00
Ludovic Courtès 2e4e01eebf gnu: guix: Upgrade to 0.6.
* gnu/packages/package-management.scm (guix): Upgrade to 0.6.
* gnu/services/dmd.scm (dmd-configuration-file): Change /var/nix to
  /var/guix.
* gnu/system/vm.scm (operating-system-default-contents): Likewise.
2014-04-09 16:43:13 +02:00
274 changed files with 39802 additions and 7787 deletions
+10 -1
View File
@@ -6,6 +6,7 @@
(scheme-mode
.
((indent-tabs-mode . nil)
(eval . (put 'eval-when 'scheme-indent-function 1))
(eval . (put 'test-assert 'scheme-indent-function 1))
(eval . (put 'test-equal 'scheme-indent-function 1))
(eval . (put 'test-eq 'scheme-indent-function 1))
@@ -16,6 +17,8 @@
(eval . (put 'with-directory-excursion 'scheme-indent-function 1))
(eval . (put 'package 'scheme-indent-function 0))
(eval . (put 'origin 'scheme-indent-function 0))
(eval . (put 'operating-system 'scheme-indent-function 0))
(eval . (put 'file-system '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))
@@ -31,7 +34,13 @@
(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))))
(eval . (put 'run-with-store 'scheme-indent-function 1))
;; Recognize '~' and '$', as used for gexps, as quotation symbols. This
;; notably allows '(' in Paredit to not insert a space when the preceding
;; symbol is one of these.
(eval . (modify-syntax-entry ?~ "'"))
(eval . (modify-syntax-entry ?$ "'"))))
(emacs-lisp-mode . ((indent-tabs-mode . nil)))
(texinfo-mode . ((indent-tabs-mode . nil)
(fill-column . 72))))
+34 -15
View File
@@ -22,21 +22,40 @@ config.cache
/m4/nls.m4
/m4/po.m4
/m4/progtest.m4
/po/ChangeLog
/po/Makefile.in.in
/po/Makevars.template
/po/POTFILES
/po/Rules-quot
/po/boldquot.sed
/po/en@boldquot.header
/po/en@quot.header
/po/insert-header.sin
/po/quot.sed
/po/remove-potcdate.sin
/po/stamp-po
/po/guix.pot
/po/*.mo
/po/*.gmo
/po/guix/ChangeLog
/po/guix/Makefile.in.in
/po/guix/Makevars.template
/po/guix/POTFILES
/po/guix/Rules-quot
/po/guix/boldquot.sed
/po/guix/en@boldquot.*
/po/guix/en@quot.*
/po/guix/insert-header.sin
/po/guix/*.insert-header
/po/guix/quot.sed
/po/guix/remove-potcdate.sed
/po/guix/remove-potcdate.sin
/po/guix/stamp-po
/po/guix/guix.pot
/po/guix/*.mo
/po/guix/*.gmo
/po/packages/ChangeLog
/po/packages/Makefile.in.in
/po/packages/Makevars.template
/po/packages/POTFILES
/po/packages/Rules-quot
/po/packages/boldquot.sed
/po/packages/en@boldquot.*
/po/packages/en@quot.*
/po/packages/insert-header.sin
/po/packages/*.insert-header
/po/packages/quot.sed
/po/packages/remove-potcdate.sed
/po/packages/remove-potcdate.sin
/po/packages/stamp-po
/po/packages/guix-packages.pot
/po/packages/*.mo
/po/packages/*.gmo
/tests/*.trs
/INSTALL
/m4/*
+1 -1
View File
@@ -1,3 +1,3 @@
[submodule "nix-upstream"]
path = nix-upstream
url = http://github.com/NixOS/nix.git
url = https://github.com/NixOS/nix.git
+3 -1
View File
@@ -10,7 +10,7 @@ alphabetical order):
Eric Bavier <bavier@member.fsf.org>
Ludovic Courtès <ludo@gnu.org>
John Darrington <john@darrington.wattle.id.au>
John Darrington <jmd@gnu.org>
Andreas Enge <andreas@enge.fr>
Alírio Eyng <alirioeyng@gmail.com>
Guy Grant <gzg@riseup.net>
@@ -20,6 +20,8 @@ alphabetical order):
Manolis Ragkousis <manolis837@gmail.com>
Cyril Roelandt <tipecaml@gmail.com>
Alex Sassmannshausen <alex.sassmannshausen@gmail.com>
Cyrill Schenkel <cyrill.schenkel@gmail.com>
Jason Self <j@jxself.org>
Sree Harsha Totakura <sreeharsha@totakura.in>
David Thompson <dthompson2@worcester.edu>
Mark H. Weaver <mhw@netris.org>
+2 -1
View File
@@ -159,7 +159,8 @@ patches include fixing typos, etc.)
For patches that just add a new package, and a simple one, its OK to commit,
if youre confident (which means you successfully built it in a chroot setup,
and have done a reasonable copyright and license auditing.) Likewise for
package upgrades. We have a mailing list for commit notifications
package upgrades, except upgrades that trigger a lot of rebuilds (for example,
upgrading GnuTLS or GLib.) 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.
+46 -26
View File
@@ -37,6 +37,7 @@ MODULES = \
guix/download.scm \
guix/git-download.scm \
guix/monads.scm \
guix/gexp.scm \
guix/profiles.scm \
guix/serialization.scm \
guix/nar.scm \
@@ -58,7 +59,6 @@ MODULES = \
guix/build/download.scm \
guix/build/cmake-build-system.scm \
guix/build/git.scm \
guix/build/gnome.scm \
guix/build/gnu-build-system.scm \
guix/build/gnu-dist.scm \
guix/build/linux-initrd.scm \
@@ -69,6 +69,10 @@ MODULES = \
guix/build/pull.scm \
guix/build/rpath.scm \
guix/build/svn.scm \
guix/build/vm.scm \
guix/build/install.scm \
guix/build/activation.scm \
guix/build/syscalls.scm \
guix/packages.scm \
guix/snix.scm \
guix/scripts/download.scm \
@@ -98,10 +102,14 @@ endif BUILD_DAEMON_OFFLOAD
guix/scripts/download.go: guix/build/download.go
guix/download.go: guix/build/download.go
# Linux-Libre configurations.
KCONFIGS = \
gnu/packages/linux-libre-i686.conf \
gnu/packages/linux-libre-x86_64.conf
GOBJECTS = $(MODULES:%.scm=%.go) guix/config.go
nobase_dist_guilemodule_DATA = $(MODULES)
nobase_dist_guilemodule_DATA = $(MODULES) $(KCONFIGS)
nobase_nodist_guilemodule_DATA = $(GOBJECTS) guix/config.scm
# Do we need to provide our own non-broken (srfi srfi-37) module?
@@ -138,9 +146,11 @@ SCM_TESTS = \
tests/snix.scm \
tests/store.scm \
tests/monads.scm \
tests/gexp.scm \
tests/nar.scm \
tests/union.scm \
tests/profiles.scm
tests/profiles.scm \
tests/syscalls.scm
SH_TESTS = \
tests/guix-build.sh \
@@ -148,6 +158,7 @@ SH_TESTS = \
tests/guix-gc.sh \
tests/guix-hash.sh \
tests/guix-package.sh \
tests/guix-system.sh \
tests/guix-archive.sh \
tests/guix-authenticate.sh
@@ -180,27 +191,28 @@ tests/guix-gc.log: \
# Public key used to sign substitutes from hydra.gnu.org.
dist_pkgdata_DATA = hydra.gnu.org.pub
EXTRA_DIST = \
HACKING \
ROADMAP \
TODO \
.dir-locals.el \
build-aux/hydra/gnu-system.scm \
build-aux/hydra/demo-os.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 \
tests/signing-key.pub \
tests/signing-key.sec \
build-aux/config.rpath \
bootstrap \
release.nix \
EXTRA_DIST = \
HACKING \
ROADMAP \
TODO \
.dir-locals.el \
build-aux/hydra/gnu-system.scm \
build-aux/hydra/demo-os.scm \
build-aux/hydra/guix.scm \
build-aux/check-available-binaries.scm \
build-aux/check-final-inputs-self-contained.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 \
tests/signing-key.pub \
tests/signing-key.sec \
build-aux/config.rpath \
bootstrap \
release.nix \
$(TESTS)
if !BUILD_DAEMON_OFFLOAD
@@ -240,7 +252,8 @@ SUFFIXES = .go
guix_install_go_files = install-nobase_nodist_guilemoduleDATA
$(guix_install_go_files): install-nobase_dist_guilemoduleDATA
SUBDIRS = po
SUBDIRS = po/guix po/packages
BUILT_SOURCES =
include doc.am
@@ -253,11 +266,12 @@ endif BUILD_DAEMON
ACLOCAL_AMFLAGS = -I m4
AM_DISTCHECK_CONFIGURE_FLAGS = \
--with-libgcrypt-prefix="$(LIBGCRYPT_PREFIX)" \
--with-libgcrypt-libdir="$(LIBGCRYPT_LIBDIR)" \
--with-nix-prefix="$(NIX_PREFIX)" \
--enable-daemon
dist-hook: sync-descriptions gen-ChangeLog assert-no-store-file-names
distcheck-hook: assert-binaries-available
distcheck-hook: assert-binaries-available assert-final-inputs-self-contained
sync-descriptions:
-$(top_builddir)/pre-inst-env $(GUILE) \
@@ -285,5 +299,11 @@ assert-binaries-available:
$(top_builddir)/pre-inst-env "$(GUILE)" \
"$(top_srcdir)/build-aux/check-available-binaries.scm"
# Make sure the final inputs don't refer to bootstrap tools.
assert-final-inputs-self-contained:
$(top_builddir)/pre-inst-env "$(GUILE)" \
"$(top_srcdir)/build-aux/check-final-inputs-self-contained.scm"
.PHONY: sync-descriptions gen-ChangeLog clean-go
.PHONY: assert-no-store-file-names assert-binaries-available
.PHONY: assert-final-inputs-self-contained
+115
View File
@@ -10,6 +10,121 @@ Copyright © 2013, 2014 Ludovic Courtès <ludo@gnu.org>
Please send Guix bug reports to bug-guix@gnu.org.
* Changes in 0.7 (since 0.6)
** Package management
*** Binaries for mips64el-linux now available from hydra.gnu.org
These come in addition to the x86_64-linux and i686-linux binaries already
provided, thanks to our generous donor and friendly admins. See
“Substitutes” in the manual.
*** guix package has a new --show option
*** guix refresh has a new --list-dependent option
** Programming interfaces
*** New (guix gexp) module, which implements “G-expressions”
G-expressions are a new mechanism to embed build-side code in host-side
code. See “G-Expressions” in the manual.
*** (gnu system) and related modules now use G-expressions
This greatly simplifies code, and guarantees that build code carries
references to the packages or derivations it uses.
*** build-expression->derivation is deprecated in favor of G-expressions
*** The (gnu system) module has been largely augmented and factorized
*** New (guix build vm) module, support for virtual machine images
*** New (guix build activation) module, for “system activation”
*** New (guix build syscalls) module
*** New (guix build install) and module for whole system installation
*** New (gnu system install) module, for the installation system
*** New (gnu system file-systems) module, for file-system declarations
*** New (gnu) module, which aggregates common (gnu …) modules
*** service records now have an optional activate field
This allows services to specify code to run at system activation time.
** GNU distribution
*** An image to install the GNU system from a USB stick is provided
This is the first time an installation image is provided. See “System
Installation” in the manual for details. This is work in progress as noted
in “Limitations”. Your feedback and help are welcome!
*** Support for more parameters in operating-system declarations
Operating system declarations can now provide a list of file systems, a list
of setuid programs, bootloader options, and more. See “System Configuration”
in the manual.
*** guix system supports more actions
Newly supported actions are init, build, reconfigure, and disk-image.
See “Invoking guix system” in the manual.
*** User accounts and groups are created at system activation time
*** Virtual machine support uses para-virtualized devices
*** GCC package now has an additional lib output, for run-time support libs
*** GLib package now has a separate “bin” output (<http://bugs.gnu.org/17853>)
*** 134 new packages
abbaye, aegis, attica, babl, barcode, behave, btar, busybox, ccache, ccrtp,
chess, clucene, cmatrix, commoncpp, conkeror, cook, cssc, datamash, diffstat,
doxygen, dropbear, dtach, duplicity, e2fsck-static, exosip, fftw-openmpi,
fish, gconf, gegl, gimp, gmsh, gnome-mime-data, gnome-vfs, gnumeric, goffice,
gsegrafix, guile-opengl, guile-static-stripped, hdup, hwloc, inotify-tools,
jrnl, kbd, kmod, lftp, libarchive, libart-lgpl, libbonobo, libbonoboui,
libcroco, libdbusmenu-qt, libftdi, libglade, libgnome, libgnomecanvas,
libgnomeprint, libgnomeprintui, libgnomeui, libgsf, libidl, libmcrypt,
libmhash, librsvg, librsync, libsodium, libuv, libvpx, links, lzop, man-pages,
maxima, mcrypt, mosh, mpg123, mplayer, mu, ncmpcpp, node, notmuch, numactl,
offlineimap, openmpi, orbit2, osip, pangox-compat, perl-io-tty, petsc,
petsc-complex, petsc-complex-openmpi, petsc-openmpi, pingus, podofo, protobuf,
pt-scotch, python-enum34, python-keyring, python-lockfile, python-mock,
python-parse, python-parse-type, python-parsedatetime, python-pycrypto,
python-six, python-tzlocal, python2-lockfile, python2-mock, qjson, qrencode,
rasqal, rdiff-backup, rdup, redland, rottlog, scotch, sipwitch, sshfs-fuse,
strigi, sudo, superlu, superlu-dist, talkfilters, talloc, tcpdump, tinyproxy,
transmission, ucommon, udev, vlc, vtk, wakelan, wireless-tools,
wpa-supplicant, xboard, youtube-dl
*** 87 package updates
bitlbee-3.2.2, cursynth-1.5, ddrescue-1.18.1, dfc-3.0.4, dmd-0.2,
docbook-xml-4.3, docbook-xml-4.4, docbook-xsl-1.78.1, dvdisaster-0.72.6,
ffmpeg-2.3, fftw-3.3.4, fftwf-3.3.4, flac-1.3.0, gawk-4.1.1, gcc-4.7.4,
gcc-4.8.3, gcc-4.8.3, gcc-4.9.1, gcc-cross-mips64el-linux-gnuabi64-4.8.3,
gcc-objc++-4.8.3, gcc-objc-4.8.3, gcc-stripped-tarball-4.8.3,
gcc-toolchain-4.8.3, gcc-toolchain-4.9.1, gccgo-4.8.3, gdb-7.7.1,
gettext-0.19.2, gfortran-4.8.3, glib-2.40.0, global-6.3, gmp-6.0.0a,
gnupg-1.4.18, gnupg-2.0.25, gnutls-3.2.15, gp2c-0.0.9pl1, grep-2.20,
gst-plugins-base-1.0.10, gstreamer-0.10.36, gtk+-3.10.1, gtkmm-2.24.2,
guile-2.0.11, guile-2.0.11, guix-0.6, guix-0.6.0ae8c15, htop-1.0.3,
icu4c-53.1, imagemagick-6.8.9-0, json-c-0.12, libdrm-2.4.33, libgc-7.2e,
libgcrypt-1.5.3, libgpg-error-1.13, libjpeg-8d, libmicrohttpd-0.9.37,
libogg-1.3.2, libotr-4.0.0, libtasn1-3.6, libvorbis-1.3.4, lightning-2.0.4,
linux-libre-3.15.6, lua-5.1.5, lua-5.2.3, mcron-1.0.8, moe-1.6, nano-2.3.6,
neon-0.29.6, nettle-3.0, openssl-1.0.1h, parallel-20140722, pari-gp-2.7.1,
pspp-0.8.3, python-2.7.6, python-dateutil-2.2, python2-dateutil-2.2,
qemu-2.0.0, qemu-headless-2.0.0, qt-4.8.6, qt-5.2.1, readline-6.2,
screen-4.2.1, soprano-2.9.4, texinfo-5.2, texlive-2014, tor-0.2.4.22,
wdiff-1.2.2, xorriso-1.3.8, xterm-304
** Native language support
*** New translations: de (German), and hu (Hungarian)
*** Updated translations: eo, pt_BR, sr, vi
*** Package descriptions moved from the guix text domain to guix-packages
** Bugs fixed
*** Downloads are now faster (<http://bugs.gnu.org/15368>)
*** guix authenticate properly writes signatures to stdout
(<http://bugs.gnu.org/17312>)
*** Progress report of downloads is now properly displayed
*** Error reporting of pk-crypto errors has been improved
*** The 'patches' field now works for origins with no extension
*** Synchronization and GC issues fixed in the offload hook
*** (guix ftp-client) emits USER commands suitable for all servers
* Changes in 0.6 (since 0.5)
** Package management
*** Default store directory changed to /gnu/store
+1 -1
View File
@@ -52,7 +52,7 @@ 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}
guix package --install={autoconf,automake,bzip2,gcc-toolchain,gettext,guile,libgcrypt,pkg-config,sqlite}
- set the environment variables that Guix recommends you to set during the
package installation process:
+23 -17
View File
@@ -6,20 +6,26 @@ Thanks to the following people who contributed to GNU Guix through
suggestions, bug reports, patches, internationalization, or general
infrastructure help:
Lluís Batlle i Rossell <viric@viric.name>
Felipe Castro <fefcas@gmail.com>
Daniel Clark <dclark@pobox.com>
Alexandru Cojocaru <xojoc@gmx.com>
Aleix Conchillo Flaqué <aconchillo@gmail.com>
John Darrington <john@cellform.com>
Rafael Ferreira <rafael.f.f1@gmail.com>
Christian Grothoff <christian@grothoff.org>
Jeffrin Jose <ahiliation@yahoo.co.in>
Kete <kete@ninthfloor.org>
Matthew Lien <bluet@bluet.org>
Niels Möller <nisse@lysator.liu.se>
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>
Lluís Batlle i Rossell <viric@viric.name>
Taylan Ulrich Bayirli/Kammer <taylanbayirli@gmail.com>
Marek Benc <merkur32@gmail.com>
Carlos Carleos <carleos@uniovi.es>
Felipe Castro <fefcas@gmail.com>
Daniel Clark <dclark@pobox.com>
Alexandru Cojocaru <xojoc@gmx.com>
Aleix Conchillo Flaqué <aconchillo@gmail.com>
John Darrington <jmd@gnu.org>
Rafael Ferreira <rafael.f.f1@gmail.com>
Christian Grothoff <christian@grothoff.org>
Jeffrin Jose <ahiliation@yahoo.co.in>
Kete <kete@ninthfloor.org>
Alex Kost <alezost@gmail.com>
Matthew Lien <bluet@bluet.org>
Niels Möller <nisse@lysator.liu.se>
Yutaka Niibe <gniibe@fsij.org>
Adam Pribyl <pribyl@lowlevel.cz>
Cyrill Schenkel <cyrill.schenkel@gmail.com>
Benno Schulenberg <coordinator@translationproject.org>
Jason Self <jself@gnu.org>
Alen Skondro <askondro@gmail.com>
Matthias Wachs <wachs@net.in.tum.de>
-26
View File
@@ -63,32 +63,6 @@ create a new dir.
("i3" ,p3)))
#+END_SRC
* MAYBE use HOP-like escapes to refer to inputs in build-side code
Instead of doing things like:
#+BEGIN_SRC scheme
(inputs `(("foo" ,foo)))
(arguments '(#:configure-flags
(list (string-append "--with-foo="
(assoc-ref %build-inputs "foo")))))
#+END_SRC
Allow things like:
#+BEGIN_SRC scheme
(inputs (list foo))
(arguments ~(#:configure-flags
(list (string-append "--with-foo=" $foo))))
#+END_SRC
... where '~' is 'build-quote' and '$' is 'build-unquote'. Better yet,
automatically compute the list of references of an expression passed to
'derivation-expression'.
Use a [[http://dorophone.blogspot.fr/2011/09/scheme-syntax-is-monad.html][monad]] for the syntax.
* synchronize non-GNU package descriptions with the [[http://directory.fsf.org][FSD]]
Meta-data for GNU packages, including descriptions and synopses, can be
@@ -0,0 +1,83 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 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)
(guix ui)
(gnu packages base)
(ice-9 match)
(srfi srfi-1)
(srfi srfi-26))
(define %supported-systems
'("x86_64-linux" "i686-linux"))
(define (final-inputs store system)
"Return the list of outputs directories of the final inputs for SYSTEM."
(append-map (match-lambda
((name package)
(let ((drv (package-derivation store package system)))
;; Libc's 'debug' output refers to gcc-cross-boot0, but it's
;; hard to avoid, so we tolerate it. This should be the
;; only exception.
(filter-map (match-lambda
(("debug" . directory)
(if (string=? "glibc" (package-name package))
#f
directory))
((_ . directory) directory))
(derivation->output-paths drv)))))
%final-inputs))
(define (assert-valid-substitute substitute)
"Make sure SUBSTITUTE does not refer to any bootstrap inputs, and bail out
if it does."
(let ((references (substitutable-references substitute)))
(when (any (cut string-contains <> "boot") references)
(leave (_ "'~a' refers to bootstrap inputs: ~s~%")
(substitutable-path substitute) references))))
(define (test-final-inputs store system)
"Check whether the final inputs for SYSTEM are clean---i.e., they don't
refer to the bootstrap tools."
(format #t "checking final inputs for '~a'...~%" system)
(let* ((inputs (final-inputs store system))
(available (substitutable-path-info store inputs)))
(for-each (lambda (dir)
(unless (find (lambda (substitute)
(string=? (substitutable-path substitute)
dir))
available)
(leave (_ "~a (system: ~a) has no substitute~%")
dir system)))
inputs)
(for-each assert-valid-substitute available)))
;; Entry point.
(with-store store
(set-build-options store #:use-substitutes? #t)
(for-each (cut test-final-inputs store <>)
%supported-systems))
+46 -16
View File
@@ -22,41 +22,71 @@
;;; machine images that we build.
;;;
(use-modules (gnu packages emacs)
(use-modules (gnu)
(gnu packages xorg)
(gnu packages base)
(gnu packages admin)
(gnu packages guile)
(gnu packages bash)
(gnu packages avahi)
(gnu packages linux)
(gnu packages less)
(gnu packages tor)
(gnu system shadow) ; 'user-account'
(gnu services base)
(gnu services networking)
(gnu services avahi)
(gnu services dbus)
(gnu services xorg))
(operating-system
(host-name "gnu")
(timezone "Europe/Paris")
(locale "en_US.UTF-8")
(bootloader (grub-configuration
(device "/dev/sda")))
(file-systems
;; We provide a dummy file system for /, but that's OK because the VM build
;; code will automatically declare the / file system for us.
(cons* (file-system
(mount-point "/")
(device "dummy")
(type "dummy"))
;; %fuse-control-file-system ; needs fuse.ko
;; %binary-format-file-system ; needs binfmt.ko
%base-file-systems))
(users (list (user-account
(name "guest")
(uid 1000) (gid 100)
(group "users")
(supplementary-groups '("wheel")) ; allow use of sudo
(password "")
(comment "Guest of GNU")
(home-directory "/home/guest"))))
(services (cons* (slim-service #:auto-login? #f
#:default-user "root")
(issue "
This is an alpha preview of the GNU system. Welcome.
This image features the GNU Guix package manager, which was used to
build it (http://www.gnu.org/software/guix/). The init system is
GNU dmd (http://www.gnu.org/software/dmd/).
You can log in as 'guest' or 'root' with no password.
")
(services (cons* (slim-service #:auto-login? #t
#:default-user "guest")
;; QEMU networking settings.
(static-networking-service "eth0" "10.0.2.10"
#:name-servers '("10.0.2.3")
#:gateway "10.0.2.2")
(avahi-service)
(dbus-service (list avahi))
(tor-service)
%base-services))
(packages (list bash coreutils findutils grep sed
procps psmisc less
guile-2.0 dmd util-linux inetutils
xterm emacs
tor)))
(pam-services
;; Explicitly allow for empty passwords.
(base-pam-services #:allow-empty-passwords? #t))
(packages (cons* strace
tor torsocks
xterm avahi %base-packages)))
+34 -10
View File
@@ -55,6 +55,7 @@
(gnu packages make-bootstrap)
(gnu system)
(gnu system vm)
(gnu system install)
(srfi srfi-1)
(srfi srfi-26)
(ice-9 match))
@@ -114,6 +115,12 @@ SYSTEM."
'("mips64el-linux-gnu"
"mips64el-linux-gnuabi64"))
(define (demo-os)
"Return the \"demo\" 'operating-system' structure."
(let* ((dir (dirname (assoc-ref (current-source-location) 'filename)))
(file (string-append dir "/demo-os.scm")))
(read-operating-system file)))
(define (qemu-jobs store system)
"Return a list of jobs that build QEMU images for SYSTEM."
(define (->alist drv)
@@ -130,21 +137,28 @@ system.")
(string->symbol system))))
`(,name . ,(cut ->alist drv))))
(if (string=? system "x86_64-linux")
(let* ((dir (dirname (assoc-ref (current-source-location) 'filename)))
(file (string-append dir "/demo-os.scm"))
(os (read-operating-system file)))
(if (operating-system? os)
(list (->job 'qemu-image
(run-with-store store (system-qemu-image os))))
'()))
(define MiB
(expt 2 20))
(if (member system '("x86_64-linux" "i686-linux"))
(list (->job 'qemu-image
(run-with-store store
(system-qemu-image (demo-os)
#:disk-image-size
(* 1400 MiB)))) ; 1.4 GiB
(->job 'usb-image
(run-with-store store
(system-disk-image installation-os
#:disk-image-size
(* 630 MiB)))))
'()))
(define (hydra-jobs store arguments)
"Return Hydra jobs."
(define systems
;; Systems we want to build for.
'("x86_64-linux" "i686-linux"))
'("x86_64-linux" "i686-linux"
"mips64el-linux"))
(define subset
(match (assoc-ref arguments 'subset)
@@ -162,12 +176,22 @@ system.")
(and (string-prefix? "i686-" system)
(string-suffix? "64" target)))
(define (same? target)
;; Return true if SYSTEM and TARGET are the same thing. This is so we
;; don't try to cross-compile to 'mips64el-linux-gnu' from
;; 'mips64el-linux'.
(string-contains target system))
(define (either proc1 proc2)
(lambda (x)
(or (proc1 x) (proc2 x))))
(append-map (lambda (target)
(map (lambda (package)
(package-cross-job store (job-name package)
package target system))
%packages-to-cross-build))
(remove from-32-to-64? %cross-targets)))
(remove (either from-32-to-64? same?) %cross-targets)))
;; Return one job for each package, except bootstrap packages.
(let ((base-packages (delete-duplicates
+3 -2
View File
@@ -4,7 +4,7 @@ exec guile -l "$0" \
(cdr (command-line)))'
!#
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013, 2014 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013 Alex Sassmannshausen <alex.sassmannshausen@gmail.com>
;;;
;;; This file is part of GNU Guix.
@@ -148,7 +148,8 @@ decreasing, is 1."
`(div "status: "
,(url "x86_64-linux") " "
,(url "i686-linux")))
,(url "i686-linux") " "
,(url "mips64el-linux")))
(define (package-logo name)
(and=> (lookup-gnu-package name)
+18 -5
View File
@@ -38,13 +38,21 @@ if test "x$guix_build_daemon" = "xyes"; then
case "$LIBGCRYPT_PREFIX" in
no)
LIBGCRYPT_CFLAGS=""
LIBGCRYPT_LIBS=""
;;
*)
LIBGCRYPT_CFLAGS="-I$LIBGCRYPT_PREFIX/include"
LIBGCRYPT_LIBS="-L$LIBGCRYPT_PREFIX/lib -lgcrypt"
;;
esac
case "$LIBGCRYPT_LIBDIR" in
no)
LIBGCRYPT_LIBS="-lgcrypt"
;;
*)
LIBGCRYPT_LIBS="-L$LIBGCRYPT_LIBDIR -lgcrypt"
;;
esac
AC_SUBST([LIBGCRYPT_CFLAGS])
AC_SUBST([LIBGCRYPT_LIBS])
@@ -67,9 +75,14 @@ if test "x$guix_build_daemon" = "xyes"; then
AC_CHECK_FUNCS([chroot unshare])
AC_CHECK_HEADERS([sched.h sys/param.h sys/mount.h])
dnl Check for lutimes, optionally used for changing the mtime of
dnl symlinks.
AC_CHECK_FUNCS([lutimes])
dnl lutimes and lchown: used when canonicalizing store items.
dnl posix_fallocate: used when extracting archives.
dnl vfork: to speed up spawning of helper programs.
dnl sched_setaffinity: to improve RPC locality.
dnl statvfs: to detect disk-full conditions.
dnl strsignal: for error reporting.
AC_CHECK_FUNCS([lutimes lchown posix_fallocate vfork sched_setaffinity \
statvfs nanosleep strsignal])
dnl Check whether the store optimiser can optimise symlinks.
AC_MSG_CHECKING([whether it is possible to create a link to a symlink])
+29 -3
View File
@@ -2,7 +2,7 @@
# Process this file with autoconf to produce a configure script.
AC_PREREQ(2.68)
AC_INIT([GNU Guix], [0.6], [bug-guix@gnu.org], [guix],
AC_INIT([GNU Guix], [0.7], [bug-guix@gnu.org], [guix],
[http://www.gnu.org/software/guix/])
AC_CONFIG_AUX_DIR([build-aux])
@@ -116,19 +116,44 @@ AC_ARG_WITH([libgcrypt-prefix],
yes|no)
LIBGCRYPT="libgcrypt"
LIBGCRYPT_PREFIX="no"
LIBGCRYPT_LIBDIR="no"
;;
*)
LIBGCRYPT="$withval/lib/libgcrypt"
LIBGCRYPT_PREFIX="$withval"
LIBGCRYPT_LIBDIR="$withval/lib"
;;
esac],
[LIBGCRYPT="libgcrypt"])
[LIBGCRYPT="libgcrypt"
LIBGCRYPT_PREFIX="no"
LIBGCRYPT_LIBDIR="no"])
AC_ARG_WITH([libgcrypt-libdir],
[AS_HELP_STRING([--with-libgcrypt-libdir=DIR],
[search for GNU libgcrypt's shared library in DIR])],
[case "$withval" in
yes|no)
LIBGCRYPT="libgcrypt"
LIBGCRYPT_LIBDIR="no"
;;
*)
LIBGCRYPT="$withval/libgcrypt"
LIBGCRYPT_LIBDIR="$withval"
;;
esac],
[if test "x$LIBGCRYPT" = x; then
LIBGCRYPT="libgcrypt"
fi
if test "x$LIBGCRYPT_LIBDIR" = x; then
LIBGCRYPT_LIBDIR="no"
fi])
dnl Library name suitable for `dynamic-link'.
AC_MSG_CHECKING([for libgcrypt shared library name])
AC_MSG_RESULT([$LIBGCRYPT])
AC_SUBST([LIBGCRYPT])
AC_SUBST([LIBGCRYPT_PREFIX])
AC_SUBST([LIBGCRYPT_LIBDIR])
GUIX_ASSERT_LIBGCRYPT_USABLE
@@ -141,7 +166,8 @@ dnl See `HACKING' for more info.
AM_MISSING_PROG([DOT], [dot])
AC_CONFIG_FILES([Makefile
po/Makefile.in
po/guix/Makefile.in
po/packages/Makefile.in
guix/config.scm])
AC_CONFIG_FILES([scripts/guix], [chmod +x scripts/guix])
+1 -1
View File
@@ -20,7 +20,7 @@
# Integration of the `guix-daemon' code taken from upstream Nix.
#
BUILT_SOURCES = nix/libstore/schema.sql.hh
BUILT_SOURCES += nix/libstore/schema.sql.hh
CLEANFILES += $(BUILT_SOURCES)
noinst_LIBRARIES = libformat.a libutil.a libstore.a
+10 -1
View File
@@ -1,5 +1,5 @@
# GNU Guix --- Functional package management for GNU
# Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org>
# Copyright © 2012, 2013, 2014 Ludovic Courtès <ludo@gnu.org>
# Copyright © 2013 Andreas Enge <andreas@enge.fr>
#
# This file is part of GNU Guix.
@@ -24,6 +24,15 @@ EXTRA_DIST += \
doc/images/bootstrap-graph.eps \
doc/images/bootstrap-graph.pdf
# Bundle this file so that makeinfo finds it in out-of-source-tree builds.
BUILT_SOURCES += doc/os-config.texi
EXTRA_DIST += doc/os-config.texi
MAINTAINERCLEANFILES = doc/os-config.texi
doc/os-config.texi: gnu/system/os-config.tmpl
$(MKDIR_P) "`dirname "$@"`"
cp "$<" "$@"
infoimagedir = $(infodir)/images
dist_infoimage_DATA = doc/images/bootstrap-graph.png
+1329 -262
View File
File diff suppressed because it is too large Load Diff
+58 -15
View File
@@ -1,6 +1,6 @@
# GNU Guix --- Functional package management for GNU
# Copyright © 2012, 2013, 2014 Ludovic Courtès <ludo@gnu.org>
# Copyright © 2013 Andreas Enge <andreas@enge.fr>
# Copyright © 2013, 2014 Andreas Enge <andreas@enge.fr>
# Copyright © 2013, 2014 Mark H Weaver <mhw@netris.org>
#
# This file is part of GNU Guix.
@@ -22,11 +22,13 @@
# binaries.
GNU_SYSTEM_MODULES = \
gnu.scm \
gnu/packages.scm \
gnu/packages/acct.scm \
gnu/packages/acl.scm \
gnu/packages/admin.scm \
gnu/packages/algebra.scm \
gnu/packages/aidc.scm \
gnu/packages/apl.scm \
gnu/packages/apr.scm \
gnu/packages/asciidoc.scm \
@@ -35,43 +37,53 @@ GNU_SYSTEM_MODULES = \
gnu/packages/autogen.scm \
gnu/packages/autotools.scm \
gnu/packages/avahi.scm \
gnu/packages/backup.scm \
gnu/packages/base.scm \
gnu/packages/bash.scm \
gnu/packages/bdb.scm \
gnu/packages/bdw-gc.scm \
gnu/packages/bittorrent.scm \
gnu/packages/bison.scm \
gnu/packages/boost.scm \
gnu/packages/bootstrap.scm \
gnu/packages/busybox.scm \
gnu/packages/calcurse.scm \
gnu/packages/ccache.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/conkeror.scm \
gnu/packages/cook.scm \
gnu/packages/cpio.scm \
gnu/packages/cppi.scm \
gnu/packages/cross-base.scm \
gnu/packages/crypto.scm \
gnu/packages/cryptsetup.scm \
gnu/packages/curl.scm \
gnu/packages/cursynth.scm \
gnu/packages/cyrus-sasl.scm \
gnu/packages/datamash.scm \
gnu/packages/dc.scm \
gnu/packages/dejagnu.scm \
gnu/packages/ddrescue.scm \
gnu/packages/dictionaries.scm \
gnu/packages/disk.scm \
gnu/packages/docbook.scm \
gnu/packages/doxygen.scm \
gnu/packages/dwm.scm \
gnu/packages/ed.scm \
gnu/packages/elf.scm \
gnu/packages/emacs.scm \
gnu/packages/fdisk.scm \
gnu/packages/file.scm \
gnu/packages/fish.scm \
gnu/packages/flex.scm \
gnu/packages/fltk.scm \
gnu/packages/fonts.scm \
gnu/packages/fontutils.scm \
gnu/packages/freeipmi.scm \
gnu/packages/ftp.scm \
gnu/packages/games.scm \
gnu/packages/gawk.scm \
gnu/packages/gcal.scm \
@@ -83,6 +95,7 @@ GNU_SYSTEM_MODULES = \
gnu/packages/gettext.scm \
gnu/packages/ghostscript.scm \
gnu/packages/giflib.scm \
gnu/packages/gimp.scm \
gnu/packages/gkrellm.scm \
gnu/packages/gl.scm \
gnu/packages/glib.scm \
@@ -111,11 +124,13 @@ GNU_SYSTEM_MODULES = \
gnu/packages/hurd.scm \
gnu/packages/icu4c.scm \
gnu/packages/idutils.scm \
gnu/packages/image.scm \
gnu/packages/imagemagick.scm \
gnu/packages/indent.scm \
gnu/packages/inkscape.scm \
gnu/packages/irssi.scm \
gnu/packages/iso-codes.scm \
gnu/packages/jrnl.scm \
gnu/packages/kde.scm \
gnu/packages/ld-wrapper.scm \
gnu/packages/less.scm \
@@ -124,17 +139,17 @@ GNU_SYSTEM_MODULES = \
gnu/packages/libdaemon.scm \
gnu/packages/libevent.scm \
gnu/packages/libffi.scm \
gnu/packages/libftdi.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/links.scm \
gnu/packages/linux.scm \
gnu/packages/lisp.scm \
gnu/packages/lout.scm \
gnu/packages/lsh.scm \
gnu/packages/lsof.scm \
@@ -147,11 +162,13 @@ GNU_SYSTEM_MODULES = \
gnu/packages/make-bootstrap.scm \
gnu/packages/maths.scm \
gnu/packages/mc.scm \
gnu/packages/mcrypt.scm \
gnu/packages/messaging.scm \
gnu/packages/mit-krb5.scm \
gnu/packages/moe.scm \
gnu/packages/mpd.scm \
gnu/packages/mp3.scm \
gnu/packages/mpi.scm \
gnu/packages/multiprecision.scm \
gnu/packages/mtools.scm \
gnu/packages/mysql.scm \
@@ -160,6 +177,7 @@ GNU_SYSTEM_MODULES = \
gnu/packages/ncurses.scm \
gnu/packages/netpbm.scm \
gnu/packages/nettle.scm \
gnu/packages/node.scm \
gnu/packages/noweb.scm \
gnu/packages/ocaml.scm \
gnu/packages/ocrad.scm \
@@ -168,8 +186,8 @@ GNU_SYSTEM_MODULES = \
gnu/packages/openssl.scm \
gnu/packages/package-management.scm \
gnu/packages/parallel.scm \
gnu/packages/parted.scm \
gnu/packages/patchutils.scm \
gnu/packages/pciutils.scm \
gnu/packages/pcre.scm \
gnu/packages/pdf.scm \
gnu/packages/pem.scm \
@@ -181,6 +199,7 @@ GNU_SYSTEM_MODULES = \
gnu/packages/pth.scm \
gnu/packages/pulseaudio.scm \
gnu/packages/pretty-print.scm \
gnu/packages/protobuf.scm \
gnu/packages/python.scm \
gnu/packages/qemu.scm \
gnu/packages/qt.scm \
@@ -206,6 +225,7 @@ GNU_SYSTEM_MODULES = \
gnu/packages/swig.scm \
gnu/packages/tcl.scm \
gnu/packages/tcsh.scm \
gnu/packages/telephony.scm \
gnu/packages/texinfo.scm \
gnu/packages/texlive.scm \
gnu/packages/time.scm \
@@ -219,6 +239,7 @@ GNU_SYSTEM_MODULES = \
gnu/packages/video.scm \
gnu/packages/vim.scm \
gnu/packages/vpn.scm \
gnu/packages/vtk.scm \
gnu/packages/w3m.scm \
gnu/packages/wdiff.scm \
gnu/packages/web.scm \
@@ -235,13 +256,19 @@ GNU_SYSTEM_MODULES = \
gnu/packages/zip.scm \
\
gnu/services.scm \
gnu/services/avahi.scm \
gnu/services/base.scm \
gnu/services/dbus.scm \
gnu/services/dmd.scm \
gnu/services/networking.scm \
gnu/services/ssh.scm \
gnu/services/xorg.scm \
\
gnu/system.scm \
gnu/system/file-systems.scm \
gnu/system/grub.scm \
gnu/system/install.scm \
gnu/system/os-config.tmpl \
gnu/system/linux.scm \
gnu/system/linux-initrd.scm \
gnu/system/shadow.scm \
@@ -256,29 +283,31 @@ dist_patch_DATA = \
gnu/packages/patches/bigloo-gc-shebangs.patch \
gnu/packages/patches/binutils-ld-new-dtags.patch \
gnu/packages/patches/binutils-loongson-workaround.patch \
gnu/packages/patches/bitlbee-fix-tests.patch \
gnu/packages/patches/bitlbee-memset-fix.patch \
gnu/packages/patches/ccache-stdc-predef-test.patch \
gnu/packages/patches/cdparanoia-fpic.patch \
gnu/packages/patches/clucene-pkgconfig.patch \
gnu/packages/patches/cmake-fix-tests.patch \
gnu/packages/patches/coreutils-dummy-man.patch \
gnu/packages/patches/coreutils-skip-nohup.patch \
gnu/packages/patches/cpio-gets-undeclared.patch \
gnu/packages/patches/cssc-gets-undeclared.patch \
gnu/packages/patches/cssc-missing-include.patch \
gnu/packages/patches/curl-fix-test172.patch \
gnu/packages/patches/cursynth-wave-rand.patch \
gnu/packages/patches/dbus-localstatedir.patch \
gnu/packages/patches/diffutils-gets-undeclared.patch \
gnu/packages/patches/dmd-getpw.patch \
gnu/packages/patches/dmd-tests-longer-sleeps.patch \
gnu/packages/patches/doxygen-test.patch \
gnu/packages/patches/doxygen-tmake.patch \
gnu/packages/patches/emacs-configure-sh.patch \
gnu/packages/patches/findutils-absolute-paths.patch \
gnu/packages/patches/flac-fix-memcmp-not-declared.patch \
gnu/packages/patches/flex-bison-tests.patch \
gnu/packages/patches/gawk-shell.patch \
gnu/packages/patches/gcc-cross-environment-variables.patch \
gnu/packages/patches/gd-mips64-deplibs-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/glib-tests-timer.patch \
gnu/packages/patches/glibc-bootstrap-system.patch \
gnu/packages/patches/glibc-ldd-x86_64.patch \
gnu/packages/patches/gnunet-fix-scheduler.patch \
@@ -290,12 +319,15 @@ dist_patch_DATA = \
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-ncurses-tests.patch \
gnu/packages/patches/guile-relocatable.patch \
gnu/packages/patches/guix-test-networking.patch \
gnu/packages/patches/gtkglext-disable-disable-deprecated.patch \
gnu/packages/patches/gtkglext-remove-pangox-dependency.patch \
gnu/packages/patches/hop-bigloo-4.0b.patch \
gnu/packages/patches/icu4c-test-date-format.patch \
gnu/packages/patches/inkscape-stray-comma.patch \
gnu/packages/patches/kmod-module-directory.patch \
gnu/packages/patches/libbonobo-activation-test-race.patch \
gnu/packages/patches/libevent-dns-tests.patch \
gnu/packages/patches/libffi-mips-n32-fix.patch \
gnu/packages/patches/liboop-mips64-deplibs-fix.patch \
@@ -310,28 +342,39 @@ dist_patch_DATA = \
gnu/packages/patches/make-impure-dirs.patch \
gnu/packages/patches/mc-fix-ncurses-build.patch \
gnu/packages/patches/mcron-install.patch \
gnu/packages/patches/mhash-keygen-test-segfault.patch \
gnu/packages/patches/mit-krb5-init-fix.patch \
gnu/packages/patches/mpc123-initialize-ao.patch \
gnu/packages/patches/module-init-tools-moduledir.patch \
gnu/packages/patches/patchelf-page-size.patch \
gnu/packages/patches/patchutils-xfail-gendiff-tests.patch \
gnu/packages/patches/perl-no-sys-dirs.patch \
gnu/packages/patches/perl-tk-x11-discover.patch \
gnu/packages/patches/petsc-fix-threadcomm.patch \
gnu/packages/patches/pingus-sdl-libs-config.patch \
gnu/packages/patches/plotutils-libpng-jmpbuf.patch \
gnu/packages/patches/procps-make-3.82.patch \
gnu/packages/patches/pybugz-encode-error.patch \
gnu/packages/patches/pybugz-stty.patch \
gnu/packages/patches/python-fix-tests.patch \
gnu/packages/patches/python-libffi-mips-n32-fix.patch \
gnu/packages/patches/qemu-multiple-smb-shares.patch \
gnu/packages/patches/qt4-tests.patch \
gnu/packages/patches/ratpoison-shell.patch \
gnu/packages/patches/readline-link-ncurses.patch \
gnu/packages/patches/ripperx-libm.patch \
gnu/packages/patches/scheme48-tests.patch \
gnu/packages/patches/scotch-test-threading.patch \
gnu/packages/patches/slim-session.patch \
gnu/packages/patches/slim-config.patch \
gnu/packages/patches/slim-sigusr1.patch \
gnu/packages/patches/soprano-find-clucene.patch \
gnu/packages/patches/source-highlight-regexrange-test.patch \
gnu/packages/patches/sqlite-large-page-size-fix.patch \
gnu/packages/patches/superlu-dist-scotchmetis.patch \
gnu/packages/patches/tcsh-fix-autotest.patch \
gnu/packages/patches/teckit-cstdio.patch \
gnu/packages/patches/udev-gir-libtool.patch \
gnu/packages/patches/util-linux-perl.patch \
gnu/packages/patches/valgrind-glibc.patch \
gnu/packages/patches/vpnc-script.patch \
gnu/packages/patches/w3m-fix-compile.patch \
+46
View File
@@ -0,0 +1,46 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 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))
;;; Commentary:
;;;
;;; This composite module re-exports core parts the (gnu …) public modules.
;;;
;;; Code:
(eval-when (eval load compile)
(begin
(define %public-modules
'((gnu system)
(gnu system file-systems)
(gnu system grub) ; 'grub-configuration'
(gnu system linux) ; 'base-pam-services'
(gnu system shadow) ; 'user-account'
(gnu system linux-initrd)
(gnu services)
(gnu services base)
(gnu packages)
(gnu packages base)))
(for-each (let ((i (module-public-interface (current-module))))
(lambda (m)
(module-use! i (resolve-interface m))))
%public-modules)))
;;; gnu.scm ends here
+65 -1
View File
@@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -31,10 +32,16 @@
search-bootstrap-binary
%patch-directory
%bootstrap-binaries-path
fold-packages
find-packages-by-name
find-best-packages-by-name
find-newest-available-packages))
find-newest-available-packages
package-direct-dependents
package-transitive-dependents
package-covering-dependents))
;;; Commentary:
;;;
@@ -182,3 +189,60 @@ VERSION."
(match (vhash-assoc name (find-newest-available-packages))
((_ version pkgs ...) pkgs)
(#f '()))))
(define* (vhash-refq vhash key #:optional (dflt #f))
"Look up KEY in the vhash VHASH, and return the value (if any) associated
with it. If KEY is not found, return DFLT (or `#f' if no DFLT argument is
supplied). Uses `eq?' for equality testing."
(or (and=> (vhash-assq key vhash) cdr)
dflt))
(define package-dependencies
(memoize
(lambda ()
"Return a vhash keyed by package, and with associated values that are a
list of packages that depend on that package."
(fold-packages
(lambda (package dag)
(fold
(lambda (in d)
;; Insert a graph edge from each of package's inputs to package.
(vhash-consq in
(cons package (vhash-refq d in '()))
(vhash-delq in d)))
dag
(match (package-direct-inputs package)
(((labels packages . _) ...)
packages) )))
vlist-null))))
(define (package-direct-dependents packages)
"Return a list of packages from the distribution that directly depend on the
packages in PACKAGES."
(delete-duplicates
(concatenate
(map (lambda (p)
(vhash-refq (package-dependencies) p '()))
packages))))
(define (package-transitive-dependents packages)
"Return the transitive dependent packages of the distribution packages in
PACKAGES---i.e. the dependents of those packages, plus their dependents,
recursively."
(let ((dependency-dag (package-dependencies)))
(fold-tree
cons '()
(lambda (node) (vhash-refq dependency-dag node))
;; Start with the dependents to avoid including PACKAGES in the result.
(package-direct-dependents packages))))
(define (package-covering-dependents packages)
"Return a minimal list of packages from the distribution whose dependencies
include all of PACKAGES and all packages that depend on PACKAGES."
(let ((dependency-dag (package-dependencies)))
(fold-tree-leaves
cons '()
(lambda (node) (vhash-refq dependency-dag node))
;; Start with the dependents to avoid including PACKAGES in the result.
(package-direct-dependents packages))))
+236 -25
View File
@@ -40,25 +40,27 @@
#:select (tar))
#:use-module ((gnu packages compression)
#:select (gzip))
#:use-module ((gnu packages openssl)
#:renamer (symbol-prefix-proc 'o:))
#:use-module (gnu packages bison)
#:use-module (gnu packages flex)
#:use-module (gnu packages glib)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages groff)
#:use-module (gnu packages xorg))
(define-public dmd
(package
(name "dmd")
(version "0.1")
(version "0.2")
(source (origin
(method url-fetch)
(uri (string-append "ftp://alpha.gnu.org/gnu/dmd/dmd-"
version ".tar.gz"))
(sha256
(base32
"07mddw0p62fcphwjzgb6rfa0pjz5sy6jzbha0sm2vc3rqf459jxg"))
(patches (list (search-patch "dmd-getpw.patch")
(search-patch "dmd-tests-longer-sleeps.patch")))))
"10fl4k96f17gqx2fv8iw9c61ld26gsk4bbrlfqckdmiimz1k175z"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags '("--localstatedir=/var")))
@@ -76,16 +78,16 @@ interface and is based on GNU Guile.")
(define-public dfc
(package
(name "dfc")
(version "3.0.3")
(version "3.0.4")
(source
(origin
(method url-fetch)
(uri (string-append
"http://projects.gw-computing.net/attachments/download/78/dfc-"
"http://projects.gw-computing.net/attachments/download/79/dfc-"
version ".tar.gz"))
(sha256
(base32
"1b4hfqv23l87cb37fxwzfk2sgspkyxpr3ig2hsd23hr6mm982j7z"))))
"0zk1ppx93ijimf4sbgqilxxikpsa2gmpbynknyh41xy7jbdjxp0b"))))
(build-system cmake-build-system)
(arguments '(#:tests? #f)) ; There are no tests.
(native-inputs `(("gettext" ,gnu-gettext)))
@@ -99,14 +101,14 @@ graphs and can export its output to different formats.")
(define-public htop
(package
(name "htop")
(version "1.0.2")
(version "1.0.3")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/htop/"
(uri (string-append "http://hisham.hm/htop/releases/"
version "/htop-" version ".tar.gz"))
(sha256
(base32
"18fqrhvnm7h4c3939av8lpiwrwxbyw6hcly0jvq0vkjf0ixnaq7f"))))
"0a8qbpsifzjwc4f45xfwm48jhm59g6q5hlib4bf7z13mgy95fp05"))))
(build-system gnu-build-system)
(inputs
`(("ncurses" ,ncurses)))
@@ -201,16 +203,7 @@ client and server, a telnet client and server, and an rsh client and server.")
(delete-file (string-append bin "/groups"))
(for-each delete-file (find-files man "^groups\\."))
#t))
(alist-cons-after
'unpack 'reset-timestamps
(lambda _
;; FIXME: Reset the file timestamps here, until the
;; 'unpack' phase does it for us. See
;; <https://lists.gnu.org/archive/html/guix-devel/2014-04/msg00098.html>.
(for-each (lambda (file)
(utime file 0 0 0))
(find-files "." "")))
%standard-phases)))))
%standard-phases))))
(inputs (if (string-suffix? "-linux"
(or (%current-target-system)
@@ -442,11 +435,15 @@ connection alive.")
(native-inputs `(("perl" ,perl)))
;; Even Coreutils and sed are needed here in case we're cross-compiling.
(inputs `(("coreutils" ,coreutils)
("sed" ,sed)
("net-tools" ,net-tools)
("iproute" ,iproute)))
(inputs `(("net-tools" ,net-tools)
("iproute" ,iproute)
;; When cross-compiling, we need the cross Coreutils and sed.
;; Otherwise just use those from %FINAL-INPUTS.
,@(if (%current-target-system)
`(("coreutils" ,coreutils)
("sed" ,sed))
'())))
(home-page "http://www.isc.org/products/DHCP/")
(synopsis "Dynamic Host Configuration Protocol (DHCP) tools")
@@ -480,6 +477,28 @@ network statistics collection, security monitoring, network debugging, etc.")
;; fad-*.c and a couple other files are BSD-4, but the rest is BSD-3.
(license bsd-3)))
(define-public tcpdump
(package
(name "tcpdump")
(version "4.5.1")
(source (origin
(method url-fetch)
(uri (string-append "http://www.tcpdump.org/release/tcpdump-"
version ".tar.gz"))
(sha256
(base32
"15hb7zkzd66nag102qbv100hcnf7frglbkylmr8adwr8f5jkkaql"))))
(build-system gnu-build-system)
(inputs `(("libpcap" ,libpcap)
("openssl" ,o:openssl)))
(native-inputs `(("perl" ,perl))) ; for tests
(home-page "http://www.tcpdump.org/")
(synopsis "Network packet analyzer")
(description
"Tcpdump is a command-line tool to analyze network traffic passing
through the network interface controller.")
(license bsd-3)))
(define-public jnettop
(package
(name "jnettop")
@@ -551,3 +570,195 @@ by bandwidth they use.")
console window to allow commands to be interactively run on multiple servers
over ssh connections.")
(license gpl2+)))
(define-public rottlog
(package
(name "rottlog")
(version "0.72.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/rottlog/rottlog-"
version ".tar.gz"))
(sha256
(base32
"0751mb9l2f0jrk3vj6q8ilanifd121dliwk0c34g8k0dlzsv3kd7"))
(modules '((guix build utils)))
(snippet
'(substitute* "Makefile.in"
(("-o \\$\\{LOG_OWN\\} -g \\$\\{LOG_GROUP\\}")
;; Don't try to chown root.
"")
(("mkdir -p \\$\\(ROTT_STATDIR\\)")
;; Don't attempt to create /var/lib/rottlog.
"true")))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags (list (string-append "ROTT_ETCDIR="
(assoc-ref %outputs "out")
"/etc")
"--localstatedir=/var")
#:phases (alist-cons-after
'install 'install-info
(lambda _
(zero? (system* "make" "install-info")))
%standard-phases)))
(native-inputs `(("texinfo" ,texinfo)
("util-linux" ,util-linux))) ; for 'cal'
(home-page "http://www.gnu.org/software/rottlog/")
(synopsis "Log rotation and management")
(description
"GNU Rot[t]log is a program for managing log files. It is used to
automatically rotate out log files when they have reached a given size or
according to a given schedule. It can also be used to automatically compress
and archive such logs. Rot[t]log will mail reports of its activity to the
system administrator.")
(license gpl3+)))
(define-public sudo
(package
(name "sudo")
(version "1.8.10p3")
(source (origin
(method url-fetch)
(uri
(list (string-append "http://www.sudo.ws/sudo/dist/sudo-"
version ".tar.gz")
(string-append "ftp://ftp.sudo.ws/pub/sudo/OLD/sudo-"
version ".tar.gz")))
(sha256
(base32
"002l6h27pnhb77b65frhazbhknsxvrsnkpi43j7i0qw1lrgi7nkf"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags '("--with-logpath=/var/log/sudo.log")
#:phases (alist-cons-before
'configure 'pre-configure
(lambda _
(substitute* "configure"
;; Refer to the right executables.
(("/usr/bin/mv") (which "mv"))
(("/usr/bin/sh") (which "sh")))
(substitute* (find-files "." "Makefile\\.in")
(("-O [[:graph:]]+ -G [[:graph:]]+")
;; Allow installation as non-root.
"")
(("^install: (.*)install-sudoers(.*)" _ before after)
;; Don't try to create /etc/sudoers.
(string-append "install: " before after "\n"))))
%standard-phases)
;; XXX: The 'testsudoers' test series expects user 'root' to exist, but
;; the chroot's /etc/passwd doesn't have it. Turn off the tests.
#:tests? #f))
(inputs
`(("groff" ,groff)
("linux-pam" ,linux-pam)
("coreutils" ,coreutils)))
(home-page "http://www.sudo.ws/")
(synopsis "Run commands as root")
(description
"Sudo (su \"do\") allows a system administrator to delegate authority to
give certain users (or groups of users) the ability to run some (or all)
commands as root or another user while providing an audit trail of the
commands and their arguments.")
;; See <http://www.sudo.ws/sudo/license.html>.
(license x11)))
(define-public wpa-supplicant
(package
(name "wpa-supplicant")
(version "2.2")
(source (origin
(method url-fetch)
(uri (string-append
"http://hostap.epitest.fi/releases/wpa_supplicant-"
version
".tar.gz"))
(sha256
(base32
"1vf8jc4yyksbxf86narvsli3vxfbm8nbnim2mdp66nd6d3yvin70"))))
(build-system gnu-build-system)
(arguments
'(#:phases (alist-replace
'configure
(lambda* (#:key outputs #:allow-other-keys)
(chdir "wpa_supplicant")
(copy-file "defconfig" ".config")
(let ((port (open-file ".config" "al")))
(display "
CONFIG_DEBUG_SYSLOG=y
CONFIG_CTRL_IFACE_DBUS=y
CONFIG_CTRL_IFACE_DBUS_NEW=y
CONFIG_CTRL_IFACE_DBUS_INTRO=y
CONFIG_DRIVER_NL80211=y
CFLAGS += $(shell pkg-config libnl-3.0 --cflags)
CONFIG_LIBNL32=y
CONFIG_READLINE=y\n" port)
(close-port port)))
%standard-phases)
#:make-flags (list "CC=gcc"
(string-append "BINDIR=" (assoc-ref %outputs "out")
"/sbin")
(string-append "LIBDIR=" (assoc-ref %outputs "out")
"/lib"))
#:tests? #f))
(inputs
`(("readline" ,readline)
("libnl" ,libnl)
("dbus" ,dbus)
("openssl" ,o:openssl)))
(native-inputs
`(("pkg-config" ,pkg-config)))
(home-page "http://hostap.epitest.fi/wpa_supplicant/")
(synopsis "Connecting to WPA and WPA2-protected wireless networks")
(description
"wpa_supplicant is a WPA Supplicant with support for WPA and WPA2 (IEEE
802.11i / RSN). Supplicant is the IEEE 802.1X/WPA component that is used in
the client stations. It implements key negotiation with a WPA Authenticator
and it controls the roaming and IEEE 802.11 authentication/association of the
WLAN driver.
This package provides the 'wpa_supplicant' daemon and the 'wpa_cli' command.")
;; In practice, this is linked against Readline, which makes it GPLv3+.
(license bsd-3)))
(define-public wakelan
(package
(name "wakelan")
(version "1.1")
(source (origin
(method url-fetch)
(uri (string-append
"ftp://ftp.gwdg.de/pub/linux/metalab/system/network/misc/wakelan-"
version ".tar.gz"))
(sha256
(base32
"0vydqpf44146ir6k87gmqaq6xy66xhc1gkr3nsd7jj3nhy7ypx9x"))))
(build-system gnu-build-system)
(arguments
'(#:phases (alist-replace
'configure
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(mkdir-p (string-append out "/bin"))
(mkdir-p (string-append out "/share/man/man1"))
;; It's an old configure script that doesn't understand
;; the extra options we pass.
(setenv "CONFIG_SHELL" (which "bash"))
(zero?
(system* "./configure"
(string-append "--prefix=" out)
(string-append "--mandir=" out
"/share/man")))))
%standard-phases)
#:tests? #f))
(home-page "http://kernel.org") ; really, no home page
(synopsis "Send a wake-on-LAN packet")
(description
"WakeLan broadcasts a properly formatted UDP packet across the local area
network, which causes enabled computers to power on.")
(license gpl2+)))
+69
View File
@@ -0,0 +1,69 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 John Darringon <jmd@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 aidc)
#:use-module (gnu packages)
#:use-module ((guix licenses)
#:renamer (symbol-prefix-proc 'license:))
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages image)
#:use-module (guix build-system gnu))
(define-public barcode
(package
(name "barcode")
(version "0.99")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/barcode/barcode-"
version ".tar.xz"))
(sha256 (base32
"1indapql5fjz0bysyc88cmc54y8phqrbi7c76p71fgjp45jcyzp8"))))
(build-system gnu-build-system)
(synopsis "Convert text strings to printed bars in various standards")
(description "GNU Barcode is a flexible tool to produce printed barcodes
from text strings. It supports a variety of encoding standards and sizing
measurements. Barcodes can be output in PostScript or Encapsulated PostScript
formats.")
(license license:gpl3+)
(home-page "http://www.gnu.org/software/barcode/")))
(define-public qrencode
(package
(name "qrencode")
(version "3.4.3")
(source (origin
(method url-fetch)
(uri (string-append
"http://fukuchi.org/works/qrencode/qrencode-" version
".tar.bz2"))
(sha256 (base32
"163sb580p570p27imc6jhkfdw15kzp8vy1jq92nip1rwa63i9myz"))))
(build-system gnu-build-system)
(inputs `(("libpng" ,libpng)))
(native-inputs `(("pkg-config" ,pkg-config)))
(synopsis "Encode data into a QR Code symbol")
(description "Libqrencode is a C library for encoding data in a QR Code
symbol, a kind of 2D symbology that can be scanned by handy terminals such as
a mobile phone with CCD. The capacity of QR Code is up to 7000 digits or 4000
characters, and is highly robust.")
(license license:lgpl2.1+)
(home-page "http://fukuchi.org/works/qrencode")))
+21 -6
View File
@@ -21,6 +21,7 @@
(define-module (gnu packages algebra)
#:use-module (gnu packages)
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages mpi)
#:use-module (gnu packages perl)
#:use-module (gnu packages readline)
#:use-module (gnu packages flex)
@@ -83,14 +84,14 @@ solve the shortest vector problem.")
(define-public pari-gp
(package
(name "pari-gp")
(version "2.7.0")
(version "2.7.1")
(source (origin
(method url-fetch)
(uri (string-append
"http://pari.math.u-bordeaux.fr/pub/pari/unix/pari-"
version ".tar.gz"))
(sha256 (base32
"1hk7lmq09crr9jvia8nxzhvbwf8mw62xk456i96jg8dljh0r9sgz"))))
"1gj1rddi22hinzwy7r6hljgbi252wwwyd6gapg4hvcn0ycc7jqyc"))))
(build-system gnu-build-system)
(inputs `(("gmp" ,gmp)
("perl" ,perl)
@@ -123,14 +124,14 @@ PARI is also available as a C library to allow for faster computations.")
(define-public gp2c
(package
(name "gp2c")
(version "0.0.8pl1")
(version "0.0.9pl1")
(source (origin
(method url-fetch)
(uri (string-append
"http://pari.math.u-bordeaux.fr/pub/pari/GP2C/gp2c-"
version ".tar.gz"))
(sha256 (base32
"0r1xrshgx0db2snmacwvg5r99fhd9rpblcfs86pfsp23hnjxj9i0"))))
"1p36060vwhn38j77r4c3jqyaslvhvgm6fdw2486k7krxk5ai7ph5"))))
(build-system gnu-build-system)
(native-inputs `(("perl" ,perl)))
(inputs `(("pari-gp" ,pari-gp)))
@@ -196,14 +197,14 @@ syntax is similar to that of C, so basic usage is familiar. It also includes
(define-public fftw
(package
(name "fftw")
(version "3.3.3")
(version "3.3.4")
(source (origin
(method url-fetch)
(uri (string-append "ftp://ftp.fftw.org/pub/fftw/fftw-"
version".tar.gz"))
(sha256
(base32
"1wwp9b2va7vkq3ay7a9jk22nr4x5q6m37rzqy2j8y3d11c5grkc5"))))
"10h9mzjxnwlsjziah4lri85scc05rlajz39nqf3mbh4vja8dw34g"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags '("--enable-shared" "--enable-openmp")
@@ -237,3 +238,17 @@ cosine/ sine transforms or DCT/DST).")
(description
(string-append (package-description fftw)
" Single-precision version."))))
(define-public fftw-openmpi
(package (inherit fftw)
(name "fftw-openmpi")
(inputs
`(("openmpi" ,openmpi)
,@(package-inputs fftw)))
(arguments
(substitute-keyword-arguments (package-arguments fftw)
((#:configure-flags cf)
`(cons "--enable-mpi" ,cf))))
(description
(string-append (package-description fftw)
" With OpenMPI parallelism support."))))
+12 -1
View File
@@ -40,6 +40,11 @@
(list (search-patch "apr-skip-getservbyname-test.patch")))
(patch-flags '("-p0"))))
(build-system gnu-build-system)
(arguments
;; Sometimes we end up with two processes concurrently trying to make
;; 'libmod_test.la': <http://hydra.gnu.org/build/60266/nixlog/2/raw>.
;; Thus, build sequentially.
'(#:parallel-build? #f))
(inputs `(("perl" ,perl)
("libtool" ,libtool)))
(home-page "http://apr.apache.org/")
@@ -80,7 +85,13 @@ around or take advantage of platform-specific deficiencies or features.")
(system* "./configure"
(string-append "--prefix=" out)
(string-append "--with-apr=" apr)))))
%standard-phases)))
%standard-phases)
;; There are race conditions during 'make check'. Typically, the
;; 'testall' executable is not built yet by the time 'make check' tries
;; to run it. See
;; <http://lists.gnu.org/archive/html/guix-devel/2014-03/msg00261.html>.
#:parallel-tests? #f))
(home-page "http://apr.apache.org/")
(synopsis "One of the Apache Portable Runtime Library companions")
(description
+14
View File
@@ -74,6 +74,20 @@ know anything about Autoconf or M4.")
(base32
"1fjm21k2na07f3vasf288a0zx66lbv0hd3l9bvv3q8p62s3pg569"))))))
(define-public autoconf-2.64
;; As of GDB 7.8, GDB is still developed using this version of Autoconf.
(package (inherit autoconf)
(version "2.64")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://gnu/autoconf/autoconf-"
version ".tar.xz"))
(sha256
(base32
"0j3jdjpf5ly39dlp0bg70h72nzqr059k0x8iqxvaxf106chpgn9j"))))))
(define* (autoconf-wrapper #:optional (autoconf autoconf))
"Return an wrapper around AUTOCONF that generates `configure' scripts that
use our own Bash instead of /bin/sh in shebangs. For that reason, it should
+2 -1
View File
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013, 2014 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -60,6 +60,7 @@
("libdaemon" ,libdaemon)))
(native-inputs
`(("intltool" ,intltool)
("glib" ,glib "bin")
("pkg-config" ,pkg-config)))
(synopsis "Avahi, an mDNS/DNS-SD implementation")
(description
+303
View File
@@ -0,0 +1,303 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 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 backup)
#:use-module (guix packages)
#:use-module ((guix licenses)
#:renamer (symbol-prefix-proc 'license:))
#:use-module (guix download)
#:use-module (guix build utils)
#:use-module (guix build-system gnu)
#:use-module (guix build-system python)
#:use-module (gnu packages)
#:use-module (gnu packages base)
#:use-module (gnu packages compression)
#:use-module (gnu packages dejagnu)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnupg)
#:use-module (gnu packages mcrypt)
#:use-module (gnu packages nettle)
#:use-module (gnu packages pcre)
#:use-module (gnu packages python)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages rsync)
#:use-module (gnu packages ssh)
#:use-module (gnu packages xml)
#:use-module (srfi srfi-1))
(define-public duplicity
(package
(name "duplicity")
(version "0.6.24")
(source
(origin
(method url-fetch)
(uri (string-append "https://code.launchpad.net/duplicity/"
(string-join (take (string-split version #\.) 2) ".")
"-series/" version "/+download/duplicity-"
version ".tar.gz"))
(sha256
(base32
"0l14nrhbgkyjgvh339bbhnm6hrdwrjadphq1jmpi0mcgcdbdfh8x"))))
(build-system python-build-system)
(native-inputs
`(("python2-setuptools" ,python2-setuptools)))
(inputs
`(("python" ,python-2)
("librsync" ,librsync)
("mock" ,python2-mock) ;for testing
("lockfile" ,python2-lockfile)
("gnupg" ,gnupg-1))) ;gpg executable needed
(arguments
`(#:python ,python-2 ;setup assumes Python 2
#:test-target "test"
#:phases (alist-cons-before
'check 'patch-tests
(lambda _
(substitute* "testing/functional/__init__.py"
(("/bin/sh") (which "sh"))))
%standard-phases)))
(home-page "http://duplicity.nongnu.org/index.html")
(synopsis "Encrypted backup using rsync algorithm")
(description
"Duplicity backs up directories by producing encrypted tar-format volumes
and uploading them to a remote or local file server. Because duplicity uses
librsync, the incremental archives are space efficient and only record the
parts of files that have changed since the last backup. Because duplicity
uses GnuPG to encrypt and/or sign these archives, they will be safe from
spying and/or modification by the server.")
(license license:gpl2+)))
(define-public hdup
(package
(name "hdup")
(version "2.0.14")
(source
(origin
(method url-fetch)
;; Source tarballs are not versioned
(uri "http://archive.miek.nl/projects/hdup2/hdup.tar.bz2")
(sha256
(base32
"02bnczg01cyhajmm4rhbnc0ja0dd9ikv9fwv28asxh1rlx9yr0b7"))))
(build-system gnu-build-system)
(native-inputs `(("pkg-config" ,pkg-config)))
(inputs
`(("glib" ,glib)
("tar" ,tar)
("lzop" ,lzop)
("mcrypt" ,mcrypt)
("openssh" ,openssh)
("gnupg" ,gnupg-1)))
(arguments
`(#:configure-flags
`(,(string-append "--sbindir=" (assoc-ref %outputs "out") "/bin"))
#:tests? #f))
(home-page "http://archive.miek.nl/projects/hdup/index.html")
(synopsis "Simple incremental backup tool")
(description
"Hdup2 is a backup utilty, its aim is to make backup really simple. The
backup scheduling is done by means of a cron job. It supports an
include/exclude mechanism, remote backups, encrypted backups and split
backups (called chunks) to allow easy burning to CD/DVD.")
(license license:gpl2)))
(define-public libarchive
(package
(name "libarchive")
(version "3.1.2")
(source
(origin
(method url-fetch)
(uri (string-append "http://libarchive.org/downloads/libarchive-"
version ".tar.gz"))
(sha256
(base32
"0pixqnrcf35dnqgv0lp7qlcw7k13620qkhgxr288v7p4iz6ym1zb"))))
(build-system gnu-build-system)
(inputs
`(("zlib" ,zlib)
("nettle" ,nettle)
("lzo" ,lzo)
("bzip2" ,bzip2)
("libxml2" ,libxml2)
("xz" ,xz)))
(arguments
`(#:phases
(alist-cons-before
'build 'patch-pwd
(lambda _
(substitute* "Makefile"
(("/bin/pwd") (which "pwd"))))
(alist-replace
'check
(lambda _
;; XXX: The test_owner_parse, test_read_disk, and
;; test_write_disk_lookup tests expect user 'root' to exist, but
;; the chroot's /etc/passwd doesn't have it. Turn off those tests.
;;
;; The tests allow one to disable tests matching a globbing pattern.
(and (zero? (system* "make"
"libarchive_test" "bsdcpio_test" "bsdtar_test"))
;; XXX: This glob disables too much.
(zero? (system* "./libarchive_test" "^test_*_disk*"))
(zero? (system* "./bsdcpio_test" "^test_owner_parse"))
(zero? (system* "./bsdtar_test"))))
%standard-phases))))
(home-page "http://libarchive.org/")
(synopsis "Multi-format archive and compression library")
(description
"Libarchive provides a flexible interface for reading and writing
archives in various formats such as tar and cpio. Libarchive also supports
reading and writing archives compressed using various compression filters such
as gzip and bzip2. The library is inherently stream-oriented; readers
serially iterate through the archive, writers serially add things to the
archive. In particular, note that there is currently no built-in support for
random access nor for in-place modification.")
(license license:bsd-2)))
(define-public rdup
(package
(name "rdup")
(version "1.1.14")
(source
(origin
(method url-fetch)
(uri (string-append "http://archive.miek.nl/projects/rdup/rdup-"
version ".tar.bz2"))
(sha256
(base32
"0aklwd9v7ix0m4ayl762sil685f42cwljzx3jz5skrnjaq32npmj"))
(modules '((guix build utils)))
(snippet
;; Some test scripts are missing shebangs, which cause "could not
;; execute" errors. Add shebangs.
'(for-each
(lambda (testscript)
(with-atomic-file-replacement
(string-append "testsuite/rdup/" testscript)
(lambda (in out)
(begin
(format out "#!/bin/sh\n" )
(dump-port in out)))))
'("rdup.hardlink.helper"
"rdup.hardlink-strip.helper"
"rdup.hardlink-strip2.helper"
"rdup.pipeline.helper")))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
("dejagnu" ,dejagnu)))
(inputs
`(("glib" ,glib)
("pcre" ,pcre)
("libarchive" ,libarchive)
("nettle" ,nettle)))
(arguments
`(#:parallel-build? #f ;race conditions
#:phases (alist-cons-before
'build 'remove-Werror
;; rdup uses a deprecated function from libarchive
(lambda _
(substitute* "GNUmakefile"
(("^(CFLAGS=.*)-Werror" _ front) front)))
(alist-cons-before
'check 'pre-check
(lambda _
(setenv "HOME" (getcwd))
(substitute* "testsuite/rdup/rdup.rdup-up-t-with-file.exp"
(("/bin/cat") (which "cat"))))
%standard-phases))))
(home-page "http://archive.miek.nl/projects/rdup/index.html")
(synopsis "Provide a list of files to backup")
(description
"Rdup is a utility inspired by rsync and the plan9 way of doing backups.
Rdup itself does not backup anything, it only print a list of absolute
filenames to standard output. Auxiliary scripts are needed that act on this
list and implement the backup strategy.")
(license license:gpl3+)))
(define-public btar
(package
(name "btar")
(version "1.1.1")
(source
(origin
(method url-fetch)
(uri (string-append "http://vicerveza.homeunix.net/~viric/soft/btar/"
"btar-" version ".tar.gz"))
(sha256
(base32
"0miklk4bqblpyzh1bni4x6lqn88fa8fjn15x1k1n8bxkx60nlymd"))))
(build-system gnu-build-system)
(inputs
`(("librsync" ,librsync)))
(arguments
`(#:make-flags `(,(string-append "PREFIX=" (assoc-ref %outputs "out"))
"CC=gcc")
#:tests? #f ;test input not distributed
#:phases
(alist-delete
'configure ;no configure phase
%standard-phases)))
(home-page "http://viric.name/cgi-bin/btar/doc/trunk/doc/home.wiki")
(synopsis "Tar-compatible archiver")
(description
"Btar is a tar-compatible archiver which allows arbitrary compression and
ciphering, redundancy, differential backup, indexed extraction, multicore
compression, input and output serialisation, and tolerance to partial archive
errors.")
(license license:gpl3+)))
(define-public rdiff-backup
(package
(name "rdiff-backup")
(version "1.2.8")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://savannah/rdiff-backup/rdiff-backup-"
version ".tar.gz"))
(sha256
(base32
"1nwmmh816f96h0ff1jxk95ad38ilbhbdl5dgibx1d4cl81dsi48d"))))
(build-system python-build-system)
(native-inputs
`(("python2-setuptools" ,python2-setuptools)))
(inputs
`(("python" ,python-2)
("librsync" ,librsync)))
(arguments
`(#:python ,python-2
#:tests? #f))
(home-page "http://www.nongnu.org/rdiff-backup/")
(synopsis "Local/remote mirroring+incremental backup")
(description
"Rdiff-backup backs up one directory to another, possibly over a network.
The target directory ends up a copy of the source directory, but extra reverse
diffs are stored in a special subdirectory of that target directory, so you
can still recover files lost some time ago. The idea is to combine the best
features of a mirror and an incremental backup. Rdiff-backup also preserves
subdirectories, hard links, dev files, permissions, uid/gid ownership,
modification times, extended attributes, acls, and resource forks. Also,
rdiff-backup can operate in a bandwidth efficient manner over a pipe, like
rsync. Thus you can use rdiff-backup and ssh to securely back a hard drive up
to a remote location, and only the differences will be transmitted. Finally,
rdiff-backup is easy to use and settings have sensical defaults.")
(license license:gpl2+)))
+129 -20
View File
@@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013, 2014 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
;;;
@@ -41,6 +42,7 @@
#:use-module (guix utils)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-26)
#:use-module (ice-9 vlist)
#:use-module (ice-9 match))
;;; Commentary:
@@ -71,14 +73,14 @@ command-line arguments, multiple languages, and so on.")
(define-public grep
(package
(name "grep")
(version "2.18")
(version "2.20")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/grep/grep-"
version ".tar.xz"))
(sha256
(base32
"08773flbnx28ksy0y4mzd4iifysh7yysmzn8rkz9f57sfx86whz6"))))
"0rcs0spsxdmh6yz8y4frkqp6f5iw19mdbdl9s2v6956hq0mlbbzh"))))
(build-system gnu-build-system)
(synopsis "Print lines matching a pattern")
(description
@@ -262,14 +264,16 @@ used to apply commands with arbitrarily long arguments.")
'build 'patch-shell-references
(lambda* (#:key inputs #:allow-other-keys)
(let ((bash (assoc-ref inputs "bash")))
(substitute* (cons "src/split.c"
(find-files "gnulib-tests"
"\\.c$"))
;; 'split' uses either $SHELL or /bin/sh. Set $SHELL so
;; that tests pass, since /bin/sh isn't in the chroot.
(setenv "SHELL" (which "sh"))
(substitute* (find-files "gnulib-tests" "\\.c$")
(("/bin/sh")
(format #f "~a/bin/sh" bash)))
(substitute* (find-files "tests" "\\.sh$")
(("#!/bin/sh")
(format #f "#!~a/bin/bash" bash)))))
(format #f "#!~a/bin/sh" bash)))))
%standard-phases)))
(synopsis "Core GNU utilities (file, text, shell)")
(description
@@ -728,15 +732,19 @@ identifier SYSTEM."
source)))
(list gmp mpfr mpc))
;; Create symlinks like `gmp' -> `gmp-5.0.5'.
;; Create symlinks like `gmp' -> `gmp-x.y.z'.
,@(map (lambda (lib)
`(symlink ,(package-full-name lib)
;; Drop trailing letters, as gmp-6.0.0a unpacks
;; into gmp-6.0.0.
`(symlink ,(string-trim-right
(package-full-name lib)
char-set:letter)
,(package-name lib)))
(list gmp mpfr mpc))))
(alist-cons-after
'install 'symlink-libgcc_eh
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(let ((out (assoc-ref outputs "lib")))
;; Glibc wants to link against libgcc_eh, so provide
;; it.
(with-directory-excursion
@@ -822,22 +830,37 @@ identifier SYSTEM."
;; Build Sun/ONC RPC support. In particular,
;; install rpc/*.h.
"--enable-obsolete-rpc")
,flags)))))
,flags))
((#:phases phases)
`(alist-cons-before
'configure 'pre-configure
(lambda* (#:key inputs #:allow-other-keys)
;; Don't clobber CPATH with the bootstrap libc.
(setenv "NATIVE_CPATH" (getenv "CPATH"))
(unsetenv "CPATH")
;; 'rpcgen' needs native libc headers to be built.
(substitute* "sunrpc/Makefile"
(("sunrpc-CPPFLAGS =.*" all)
(string-append "CPATH = $(NATIVE_CPATH)\n"
"export CPATH\n"
all "\n"))))
,phases)))))
(propagated-inputs `(("linux-headers" ,(linux-libre-headers-boot0))))
(native-inputs
`(("texinfo" ,texinfo-boot0)
("perl" ,perl-boot0)))
(inputs
`( ;; A native GCC is needed to build `cross-rpcgen'.
`(;; The boot inputs. That includes the bootstrap libc. We don't want
;; it in $CPATH, hence the 'pre-configure' phase above.
,@%boot1-inputs
;; A native GCC is needed to build `cross-rpcgen'.
("native-gcc" ,@(assoc-ref %boot0-inputs "gcc"))
;; Here, we use the bootstrap Bash, which is not satisfactory
;; because we don't want to depend on bootstrap tools.
("static-bash" ,@(assoc-ref %boot0-inputs "bash"))
,@%boot1-inputs
,@(alist-delete "static-bash"
(package-inputs glibc))))))) ; patches
("static-bash" ,@(assoc-ref %boot0-inputs "bash")))))))
(define (cross-gcc-wrapper gcc binutils glibc bash)
"Return a wrapper for the pseudo-cross toolchain GCC/BINUTILS/GLIBC
@@ -846,6 +869,7 @@ that makes it available under the native tool names."
(name (string-append (package-name gcc) "-wrapped"))
(source #f)
(build-system trivial-build-system)
(outputs '("out"))
(arguments
`(#:guile ,%bootstrap-guile
#:modules ((guix build utils))
@@ -914,7 +938,17 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
(inputs `(("static-bash" ,static-bash-for-glibc)
,@(alist-delete
"static-bash"
(package-inputs glibc-final-with-bootstrap-bash))))))
(package-inputs glibc-final-with-bootstrap-bash))))
;; The final libc only refers to itself, but the 'debug' output contains
;; references to GCC-BOOT0 and to the Linux headers. XXX: Would be great
;; if 'allowed-references' were per-output.
(arguments
`(#:allowed-references
,(cons* `(,gcc-boot0 "lib") (linux-libre-headers-boot0)
(package-outputs glibc-final-with-bootstrap-bash))
,@(package-arguments glibc-final-with-bootstrap-bash)))))
(define gcc-boot0-wrapped
;; Make the cross-tools GCC-BOOT0 and BINUTILS-BOOT0 available under the
@@ -934,6 +968,7 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
(arguments
`(#:guile ,%bootstrap-guile
#:implicit-inputs? #f
#:allowed-references ("out" ,glibc-final)
,@(package-arguments binutils)))
(inputs %boot2-inputs))))
@@ -962,6 +997,7 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
;; "/include/c++/"
;; ,(package-version gcc-4.8)
))))
(outputs '("out"))
(inputs %boot2-inputs)
(native-inputs '())
(propagated-inputs '())
@@ -971,10 +1007,13 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
;; The final GCC.
(package (inherit gcc-boot0)
(name "gcc")
(location (source-properties->location (current-source-location)))
(arguments
`(#:guile ,%bootstrap-guile
#:implicit-inputs? #f
#:allowed-references ("out" "lib" ,glibc-final)
;; Build again GMP & co. within GCC's build process, because it's hard
;; to do outside (because GCC-BOOT0 is a cross-compiler, and thus
;; doesn't honor $LIBRARY_PATH, which breaks `gnu-build-system'.)
@@ -1002,6 +1041,10 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
((#:phases phases)
`(alist-delete 'symlink-libgcc_eh ,phases)))))
;; This time we want Texinfo, so we get the manual.
(native-inputs `(("texinfo" ,texinfo-boot0)
,@(package-native-inputs gcc-boot0)))
(inputs `(("gmp-source" ,(package-source gmp))
("mpfr-source" ,(package-source mpfr))
("mpc-source" ,(package-source mpc))
@@ -1104,13 +1147,42 @@ store.")
,@(fold alist-delete (package-inputs ld-wrapper-boot3)
'("guile" "bash"))))))
(define coreutils-final
;; The final Coreutils. Treat them specially because some packages, such as
;; Findutils, keep a reference to the Coreutils they were built with.
(package-with-bootstrap-guile
(package-with-explicit-inputs coreutils
%boot4-inputs
(current-source-location)
;; Use the final Guile, linked against the
;; final libc with working iconv, so that
;; 'substitute*' works well when touching
;; test files in Gettext.
#:guile guile-final)))
(define grep-final
;; The final grep. Gzip holds a reference to it (via zgrep), so it must be
;; built before gzip.
(package-with-bootstrap-guile
(package-with-explicit-inputs grep
%boot4-inputs
(current-source-location)
#:guile guile-final)))
(define %boot5-inputs
;; Now use the final Coreutils.
`(("coreutils" ,coreutils-final)
("grep" ,grep-final)
,@%boot4-inputs))
(define-public %final-inputs
;; Final derivations used as implicit inputs by 'gnu-build-system'. We
;; still use 'package-with-bootstrap-guile' so that the bootstrap tools are
;; used for origins that have patches, thereby avoiding circular
;; dependencies.
(let ((finalize (compose package-with-bootstrap-guile
(cut package-with-explicit-inputs <> %boot4-inputs
(cut package-with-explicit-inputs <> %boot5-inputs
(current-source-location)))))
`(,@(map (match-lambda
((name package)
@@ -1121,11 +1193,11 @@ store.")
("xz" ,xz)
("diffutils" ,diffutils)
("patch" ,patch)
("coreutils" ,coreutils)
("sed" ,sed)
("grep" ,grep)
("findutils" ,findutils)
("gawk" ,gawk)))
("grep" ,grep-final)
("coreutils" ,coreutils-final)
("make" ,gnu-make-final)
("bash" ,bash-final)
("ld-wrapper" ,ld-wrapper)
@@ -1133,6 +1205,40 @@ store.")
("gcc" ,gcc-final)
("libc" ,glibc-final))))
(define-public canonical-package
(let ((name->package (fold (lambda (input result)
(match input
((_ package)
(vhash-cons (package-full-name package)
package result))))
vlist-null
`(("guile" ,guile-final)
,@%final-inputs))))
(lambda (package)
"Return the 'canonical' variant of PACKAGE---i.e., if PACKAGE is one of
the implicit inputs of 'gnu-build-system', return that one, otherwise return
PACKAGE.
The goal is to avoid duplication in cases like GUILE-FINAL vs. GUILE-2.0,
COREUTILS-FINAL vs. COREUTILS, etc."
;; XXX: This doesn't handle dependencies of the final inputs, such as
;; libunistring, GMP, etc.
(match (vhash-assoc (package-full-name package) name->package)
((_ . canon)
;; In general we want CANON, except if we're cross-compiling: CANON
;; uses explicit inputs, so it is "anchored" in the bootstrapped
;; process, with dependencies on things that cannot be
;; cross-compiled.
(if (%current-target-system)
package
canon))
(_ package)))))
;;;
;;; GCC toolchain.
;;;
(define (gcc-toolchain gcc)
"Return a complete toolchain for GCC."
(package
@@ -1175,4 +1281,7 @@ and binaries, plus debugging symbols in the 'debug' output), and Binutils.")
(define-public gcc-toolchain-4.8
(gcc-toolchain gcc-final))
(define-public gcc-toolchain-4.9
(gcc-toolchain gcc-4.9))
;;; base.scm ends here
+9 -1
View File
@@ -34,13 +34,21 @@
(sha256 (base32
"1f2g2612lf8djbwbwhxsvmffmf9d7693kh2l20195pqp0f9jmnfx"))))
(build-system gnu-build-system)
(outputs '("out" ; programs, libraries, headers
"doc")) ; 94 MiB of HTML docs
(arguments
'(#:tests? #f ; no check target available
#:phases
(alist-replace
'configure
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(let ((out (assoc-ref outputs "out"))
(doc (assoc-ref outputs "doc")))
;; '--docdir' is not honored, so we need to patch.
(substitute* "dist/Makefile.in"
(("docdir[[:blank:]]*=.*")
(string-append "docdir = " doc "/share/doc/bdb")))
(zero?
(system* "./dist/configure"
(string-append "--prefix=" out)
+91
View File
@@ -0,0 +1,91 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 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 bittorrent)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu)
#:use-module ((guix licenses)
#:renamer (symbol-prefix-proc 'l:))
#:use-module (gnu packages openssl)
#:use-module (gnu packages libevent)
#:use-module (gnu packages curl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages file)
#:use-module (gnu packages linux)
#:use-module ((gnu packages compression)
#:select (zlib))
#:use-module (gnu packages glib)
#:use-module (gnu packages gtk))
(define-public transmission
(package
(name "transmission")
(version "2.83")
(source (origin
(method url-fetch)
(uri (string-append
"https://transmission.cachefly.net/transmission-"
version ".tar.xz"))
(sha256
(base32
"0cqlgl6jmjw1caybz6nzh3l8z0jak1dxba01isv72zvy2r8b1qdh"))))
(build-system gnu-build-system)
(outputs '("out" ; library and command-line interface
"gui")) ; graphical user interface
(arguments
'(#:phases (alist-cons-after
'install 'move-gui
(lambda* (#:key outputs #:allow-other-keys)
;; Move the GUI to its own output, so that "out" doesn't
;; depend on GTK+.
(let ((out (assoc-ref outputs "out"))
(gui (assoc-ref outputs "gui")))
(mkdir-p (string-append gui "/bin"))
(rename-file (string-append out "/bin/transmission-gtk")
(string-append gui
"/bin/transmission-gtk"))))
%standard-phases)))
(inputs
`(("inotify-tools" ,inotify-tools)
("libevent" ,libevent)
("curl" ,curl)
("openssl" ,openssl)
("file" ,file)
("zlib" ,zlib)
("gtk+" ,gtk+)))
(native-inputs
`(("intltool" ,intltool)
("pkg-config" ,pkg-config)))
(home-page "http://www.transmissionbt.com/")
(synopsis "Fast and easy BitTorrent client")
(description
"Transmission is a BitTorrent client that comes with graphical,
textual, and Web user interfaces. Transmission also has a daemon for
unattended operationg. It supports local peer discovery, full encryption,
DHT, µTP, PEX and Magnet Links.")
;; COPYING reads:
;;
;; Transmission can be redistributed and/or modified under the terms of
;; the GNU GPLv2 (http://www.gnu.org/licenses/license-list.html#GPLv2),
;; the GNU GPLv3 (http://www.gnu.org/licenses/license-list.html#GNUGPLv3),
;; or any future license endorsed by Mnemosyne LLC.
;;
;; A few files files carry an MIT/X11 license header.
(license l:gpl3+)))
+105
View File
@@ -0,0 +1,105 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 John Darrington <jmd@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 busybox)
#: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 admin)
#:use-module (gnu packages perl)
#:use-module (gnu packages zip))
(define-public busybox
(package
(name "busybox")
(version "1.22.1")
(source (origin
(method url-fetch)
(uri (string-append
"http://www.busybox.net/downloads/" name "-"
version ".tar.bz2"))
(sha256
(base32
"12v7nri79v8gns3inmz4k24q7pcnwi00hybs0wddfkcy1afh42xf"))))
(build-system gnu-build-system)
(arguments
`(#:phases
(alist-replace
'configure
(lambda _ (zero? (system* "make" "defconfig")))
(alist-replace
'check
(lambda _
(substitute* '("testsuite/du/du-s-works"
"testsuite/du/du-works")
(("/bin") "/etc")) ; there is no /bin but there is a /etc
;; There is no /usr/bin or /bin - replace it with /gnu/store
(substitute* "testsuite/cpio.tests"
(("/usr/bin") "/gnu/store")
(("usr") "gnu"))
(substitute* "testsuite/date/date-works-1"
(("/bin/date") (which "date")))
;; The pidof tests assume that pid 1 is called "init" but that is not
;; true in guix build environment
(substitute* "testsuite/pidof.tests"
(("-s init") "-s $(cat /proc/1/comm)"))
(substitute* "testsuite/grep.tests"
;; The subject of this test is buggy. It is known by upstream (fixed in git)
;; So mark it with SKIP_KNOWN_BUGS like the others.
;; Presumably it wasn't known at the time of release ...
;; (It is strange that they release software which they know to have bugs)
(("testing \"grep -w \\^str doesn't match str not at the beginning\"")
"test x\"$SKIP_KNOWN_BUGS\" = x\"\" && testing \"grep -w ^str doesn't match str not at the beginning\""))
;; This test cannot possibly pass.
;; It is trying to test that "which ls" returns "/bin/ls" when PATH is not set.
;; However, this relies on /bin/ls existing. Which it does not in guix.
(delete-file "testsuite/which/which-uses-default-path")
(rmdir "testsuite/which")
(zero? (system* "make"
;; "V=1"
"SKIP_KNOWN_BUGS=1"
"SKIP_INTERNET_TESTS=1"
"check")))
(alist-replace
'install
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(zero?
(system* "make"
(string-append "CONFIG_PREFIX=" out)
"install"))))
%standard-phases)))))
(native-inputs `(("perl" ,perl) ; needed to generate the man pages (pod2man)
;; The following are needed by the tests.
("inetutils" ,inetutils)
("zip" ,zip)))
(synopsis "Many common UNIX utilities in a single executable")
(description "BusyBox combines tiny versions of many common UNIX utilities
into a single small executable. It provides a fairly complete
environment for any small or embedded system.")
(home-page "http://www.busybox.net")
;; Some files are gplv2+
(license gpl2)))
+1 -1
View File
@@ -16,7 +16,7 @@
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages autogen)
(define-module (gnu packages calcurse)
#:use-module (guix packages)
#:use-module (guix licenses)
#:use-module (guix download)
+57
View File
@@ -0,0 +1,57 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 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 ccache)
#:use-module (guix packages)
#:use-module ((guix licenses) #:select (gpl3+))
#:use-module (guix download)
#:use-module (guix build-system gnu)
#:use-module (gnu packages)
#:use-module (gnu packages perl)
#:use-module (gnu packages compression))
(define-public ccache
(package
(name "ccache")
(version "3.1.9")
(source
(origin
(method url-fetch)
(uri (string-append "https://www.samba.org/ftp/ccache/ccache-"
version ".tar.xz"))
(sha256
(base32
"1i06015jjc0n55xgvhv2h37fjp0i7z8a10s0v40f87c5mprzv0a9"))
(patches (list (search-patch "ccache-stdc-predef-test.patch")))))
(build-system gnu-build-system)
(native-inputs `(("perl" ,perl))) ;for test.sh
(inputs `(("zlib" ,zlib)))
(arguments
'(#:phases (alist-cons-before
'check 'patch-test-shebangs
(lambda _
(substitute* '("test/test_hashutil.c" "test.sh")
(("#!/bin/sh") (string-append "#!" (which "sh")))))
%standard-phases)))
(home-page "https://ccache.samba.org/")
(synopsis "Compiler cache")
(description
"Ccache is a compiler cache. It speeds up recompilation by caching
previous compilations and detecting when the same compilation is being done
again. Supported languages are C, C++, Objective-C and Objective-C++.")
(license gpl3+)))
+13 -6
View File
@@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2013, 2014 Andreas Enge <andreas@enge.fr>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -98,14 +98,14 @@ extraction from CDs.")
(define-public xorriso
(package
(name "xorriso")
(version "1.3.6.pl01")
(version "1.3.8")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/xorriso/xorriso-"
version ".tar.gz"))
(sha256
(base32
"07bm20kb4f6q5pbkxhy7w8ggw2gxkrq45cda2kbh6wgphs5z2h7q"))))
"0zhhj9lr9z7hnb2alac54mc28w1l0mbanphhpmy3ylsi8rih84lh"))))
(build-system gnu-build-system)
(inputs
`(("acl" ,acl)
@@ -173,14 +173,14 @@ reconstruction capability.")
(define-public dvdisaster
(package
(name "dvdisaster")
(version "0.72.4")
(version "0.72.6")
(source (origin
(method url-fetch)
(uri (string-append "http://dvdisaster.net/downloads/dvdisaster-"
version ".tar.bz2"))
(sha256
(base32
"0pm039a78h7m9vvjmmjfkl05ii6qdmfhvbypxjbc7j5w82y66is4"))))
"0sqrprc5rh3shnfli25m2wy0i5f83db54iv04s5s7bxf77m7sy79"))))
(build-system gnu-build-system)
(inputs
`(("gtk+" ,gtk+-2)))
@@ -192,7 +192,14 @@ reconstruction capability.")
`(;; Parallel builds appear to be unsafe, see
;; <http://hydra.gnu.org/build/49331/nixlog/1/raw>.
#:parallel-build? #f
#:tests? #f)) ; no check target
#:tests? #f ; no check target
#:phases
(alist-cons-before
'patch-source-shebangs 'sanitise
(lambda _
;; delete dangling symlink
(delete-file ".#GNUmakefile"))
%standard-phases)))
(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
+24
View File
@@ -238,6 +238,29 @@ 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 lzop
(package
(name "lzop")
(version "1.03")
(source
(origin
(method url-fetch)
(uri (string-append "http://www.lzop.org/download/lzop-"
version ".tar.gz"))
(sha256
(base32
"1jdjvc4yjndf7ihmlcsyln2rbnbaxa86q4jskmkmm7ylfy65nhn1"))))
(build-system gnu-build-system)
(inputs `(("lzo" ,lzo)))
(home-page "http://www.lzop.org/")
(synopsis "Compress or expand files")
(description
"Lzop is a file compressor which is very similar to gzip. Lzop uses the
LZO data compression library for compression services, and its main advantages
over gzip are much higher compression and decompression speed (at the cost of
some compression ratio).")
(license license:gpl2+)))
(define-public lzip
(package
(name "lzip")
@@ -292,3 +315,4 @@ 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+)))
+95
View File
@@ -0,0 +1,95 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 Cyrill Schenkel <cyrill.schenkel@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 conkeror)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system trivial)
#:use-module (gnu packages)
#:use-module (gnu packages gnuzilla)
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
#:use-module (gnu packages compression)
#:use-module (ice-9 format))
(define-public conkeror
(package
(name "conkeror")
(version "1.0pre1")
(source (origin
(method url-fetch)
(uri
(string-append "http://repo.or.cz/w/conkeror.git/snapshot/"
"8a26fff5896a3360549e2adfbf06b1d57e909266"
".tar.gz")) ; tag: debian-1.0--pre-1+git140616-1
(sha256
(base32
"1cgjzi7g3g22zcx6bpfnid4i12sb45w6icmxdzjn8d3c0m8qsyp1"))))
(build-system trivial-build-system)
(inputs `(("icecat" ,icecat)
("bash" ,bash)))
(native-inputs `(("tar" ,tar)
("gzip" ,gzip)))
(arguments
`(#:modules ((guix build utils))
#:builder (begin
(use-modules (ice-9 ftw)
(guix build utils))
(let ((select?
(lambda (name)
(not (equal? (car (string->list name)) #\.))))
(datadir (string-append %output "/share/conkeror"))
(launcher "bin/conkeror"))
(setenv "PATH" (string-append
(assoc-ref %build-inputs "tar") "/bin:"
(assoc-ref %build-inputs "gzip") "/bin"))
(system* "tar" "xvf" (assoc-ref %build-inputs "source"))
(copy-recursively (string-append
(getcwd) "/"
(car (scandir (getcwd) select?)))
datadir)
(chdir %output)
(mkdir "bin")
(call-with-output-file launcher
(lambda (p)
(format p "#!~a/bin/bash
exec ~a/bin/icecat --app ~a \"$@\"~%"
(assoc-ref %build-inputs "bash")
(assoc-ref %build-inputs "icecat")
(string-append datadir
"/application.ini"))))
(chmod launcher #o555)))))
(synopsis "Keyboard focused web browser with Emacs look and feel")
(description "Conkeror is a highly-programmable web browser based on
Mozilla XULRunner which is the base of all Mozilla products including
Firefox. Conkeror has a sophisticated keyboard system for running commands and
interacting with web page content, modelled after Emacs and Lynx. It is
self-documenting and extensible with JavaScript.
It comes with builtin support for several Web 2.0 sites like several Google
services (Search, Gmail, Maps, Reader, etc.), Del.icio.us, Reddit, Last.fm and
YouTube. For easier editing of form fields, it can spawn external editors. For
this feature the recommended conkeror-spawn-process-helper package needs to be
installed.")
(home-page "http://conkeror.org")
;; Conkeror is triple licensed.
(license (list license:gpl2
license:lgpl2.1
;; MPL 1.1 -- this license is not GPL compatible
))))
+83
View File
@@ -0,0 +1,83 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 John Darrington <jmd@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 cook)
#:use-module (guix packages)
#:use-module (guix licenses)
#:use-module (guix download)
#:use-module (gnu packages ed)
#:use-module (gnu packages bison)
#:use-module (gnu packages groff)
#:use-module (gnu packages compression)
#:use-module (guix build-system gnu))
(define-public cook
(package
(name "cook")
(version "2.34")
(source
(origin
(method url-fetch)
(uri (string-append
"http://miller.emu.id.au/pmiller/software/cook/cook-" version
".tar.gz"))
(sha256
(base32
"104saqnqql1l7zr2pm3f718fdky3ds8j07c6xvwrs1rfkhrw58yw"))))
(build-system gnu-build-system)
(arguments
`(#:parallel-build? #f ; There are some nasty racy rules in the Makefile.
#:phases
(alist-cons-before
'configure 'pre-conf
(lambda _
(substitute* (append '("common/env.c")
(find-files "test" "\\.sh"))
(("/bin/sh") (which "sh")))
;; Guix's binutils (because it wants bit-reproducable builds) is
;; is configured with the --enable-deterministic-archives flag.
;; This means the timestamp of files appended to an ar archive
;; are automatically and silently mutated to 00:00 1 Jan 1970
;; which plays havoc with this test, for which correct timestamps
;; are very important. Adding the U flag undoes the effect of
;; --enable-deterministic-archives and allows this test to work
;; again.
(substitute* "test/00/t0077a.sh"
(("ar qc") "ar qcU"))
(setenv "SH" (which "sh")))
%standard-phases)))
(native-inputs `(("bison" ,bison)
;; For building the documentation:
("groff" ,groff)
;; For the tests:
("sharutils" ,sharutils)
;; One test wants rsh. However there is no rsh server
;; running in the build environment and so far as I'm
;; aware, it cannot be started without root.
;; This test is therefore just skipped.
;; ("inetutils" ,inetutils)
("ed" ,ed)))
(home-page "http://miller.emu.id.au/pmiller/software/cook")
(synopsis "A tool for constructing files")
(description "Cook is a tool for constructing files. It is given a set of
files to create, and recipes of how to create them. In any non-trivial program
there will be prerequisites to performing the actions necessary to creating
any file, such as include files. Cook provides a mechanism to define these.")
(license gpl3+)))
+8 -2
View File
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013, 2014 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -76,7 +76,13 @@ GCC that does not target a libc; otherwise, target that libc."
target))
(source (origin (inherit (package-source gcc-4.8))
(patches
(list (search-patch "gcc-cross-environment-variables.patch")))))
(list (search-patch
"gcc-cross-environment-variables.patch")))))
;; For simplicity, use a single output. Otherwise libgcc_s & co. are not
;; found by default, etc.
(outputs '("out"))
(arguments
`(#:implicit-inputs? #f
#:modules ((guix build gnu-build-system)
+44
View File
@@ -0,0 +1,44 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 David Thompson <davet@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 crypto)
#:use-module (gnu packages)
#:use-module (guix licenses)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu))
(define-public libsodium
(package
(name "libsodium")
(version "0.5.0")
(source (origin
(method url-fetch)
(uri (string-append
"http://download.libsodium.org/libsodium/releases/libsodium-"
version ".tar.gz"))
(sha256
(base32
"1w7rrnsvhhzhywrr3nhlhppv4kqzdszz3dwy8jrsv8lrj5hs181w"))))
(build-system gnu-build-system)
(synopsis "Portable NaCl-based crypto library")
(description
"libsodium is a new easy-to-use high-speed software library for network
communication, encryption, decryption, signatures, etc.")
(license isc)
(home-page "https://github.com/jedisct1/libsodium"))) ; No real homepage
+3 -2
View File
@@ -29,14 +29,15 @@
(define-public cursynth
(package
(name "cursynth")
(version "1.4")
(version "1.5")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://gnu/cursynth/cursynth-"
version ".tar.gz"))
(sha256
(base32 "1p9c54v9b0jjx33sammqsdi5xw65csly4cr1i08wv9x6r2yib55m"))))
(base32 "1dhphsya41rv8z6yqcv9l6fwbslsds4zh1y56zizi39nd996d40v"))
(patches (list (search-patch "cursynth-wave-rand.patch")))))
(build-system gnu-build-system)
(native-inputs `(("pkg-config" ,pkg-config)))
;; TODO: See https://github.com/iyoko/cursynth/issues/4 which currently
+7 -3
View File
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013, 2014 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
;;;
;;; This file is part of GNU Guix.
@@ -34,8 +34,12 @@
(version "2.1.26")
(source (origin
(method url-fetch)
(uri (string-append "ftp://ftp.cyrusimap.org/cyrus-sasl/cyrus-sasl-" version
".tar.gz"))
(uri (list (string-append
"http://cyrusimap.org/releases/cyrus-sasl-"
version ".tar.gz")
(string-append
"ftp://ftp.cyrusimap.org/cyrus-sasl/cyrus-sasl-"
version ".tar.gz")))
(sha256 (base32
"1hvvbcsg21nlncbgs0cgn3iwlnb3vannzwsp6rwvnn9ba4v53g4g"))))
(build-system gnu-build-system)
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013 Nikita Karetnikov <nikita@karetnikov.org>
;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -16,32 +16,33 @@
;;; 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 ddrescue)
#:use-module (guix licenses)
(define-module (gnu packages datamash)
#:use-module (guix packages)
#:use-module (guix licenses)
#:use-module (guix download)
#:use-module (guix build-system gnu)
#:use-module ((gnu packages compression) #:select (lzip)))
#:use-module (gnu packages perl)
#:use-module (gnu packages which))
(define-public ddrescue
(define-public datamash
(package
(name "ddrescue")
(version "1.17")
(name "datamash")
(version "1.0.5")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://gnu/ddrescue/ddrescue-"
version ".tar.lz"))
(uri (string-append "mirror://gnu/datamash/datamash-"
version ".tar.gz"))
(sha256
(base32
"0bvmsbzli2j4czwkabzs978n1y6vx31axh02kpgcf7033cc6rydy"))))
"0f4rbbhl18fb851npza9cl8biynzr081f37ih2xsbvjlyrxhnz6b"))))
(native-inputs
`(("which" ,which) ;for tests
("perl" ,perl))) ;for help2man
(build-system gnu-build-system)
(home-page "http://www.gnu.org/software/ddrescue/ddrescue.html")
(synopsis "Data recovery utility")
(native-inputs `(("lzip" ,lzip)))
(home-page "https://www.gnu.org/software/datamash/")
(synopsis "Scriptable statistics and data calculation")
(description
"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+)))
"Perform basic numeric, textual and statistical operations on plain text
files. Designed to work within standard pipelines without additional code.")
(license gpl3)))
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
;;; Copyright © 2012, 2013 Nikita Karetnikov <nikita@karetnikov.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -16,7 +16,7 @@
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages parted)
(define-module (gnu packages disk)
#:use-module (guix licenses)
#:use-module (guix packages)
#:use-module (guix download)
@@ -24,7 +24,10 @@
#:use-module (gnu packages check)
#:use-module (gnu packages gettext)
#:use-module (gnu packages linux)
#:use-module (gnu packages readline))
#:use-module (gnu packages readline)
#:use-module (gnu packages guile)
#:use-module ((gnu packages compression)
#:select (lzip)))
(define-public parted
(package
@@ -67,3 +70,52 @@
"GNU Parted is a package for creating and manipulating disk partition
tables. It includes a library and command-line utility.")
(license gpl3+)))
(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+)))
(define-public ddrescue
(package
(name "ddrescue")
(version "1.18.1")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://gnu/ddrescue/ddrescue-"
version ".tar.lz"))
(sha256
(base32
"1ad1ifby89wys8lxh4d24y5lih6hkz54jhv6sf6bs1i7sd7lnqaq"))))
(build-system gnu-build-system)
(home-page "http://www.gnu.org/software/ddrescue/ddrescue.html")
(synopsis "Data recovery utility")
(native-inputs `(("lzip" ,lzip)))
(description
"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+)))
+39 -11
View File
@@ -19,8 +19,7 @@
(define-module (gnu packages docbook)
#:use-module (gnu packages)
#:use-module (gnu packages compression)
#:use-module ((gnu packages base)
#:select (tar))
#:use-module (gnu packages base)
#:use-module (guix licenses)
#:use-module (guix packages)
#:use-module (guix download)
@@ -51,8 +50,12 @@
(dtd (string-append out "/xml/dtd/docbook")))
(mkdir-p dtd)
(with-directory-excursion dtd
(system* unzip source))))
#:modules ((guix build utils))))
(system* unzip source))
(substitute* (string-append out "/xml/dtd/docbook/catalog.xml")
(("uri=\"")
(string-append
"uri=\"file://" dtd "/")))))
#:modules ((guix build utils))))
(native-inputs `(("unzip" ,unzip)))
(home-page "http://docbook.org")
(synopsis "DocBook XML DTDs for document authoring")
@@ -62,20 +65,42 @@ suited to books and papers about computer hardware and software (though it is
by no means limited to these applications.) This package provides XML DTDs.")
(license (x11-style "" "See file headers."))))
(define-public docbook-xml-4.4
(package (inherit docbook-xml)
(version "4.4")
(source (origin
(method url-fetch)
(uri (string-append "http://www.docbook.org/xml/" version
"/docbook-xml-" version ".zip"))
(sha256
(base32
"141h4zsyc71sfi2zzd89v4bb4qqq9ca1ri9ix2als9f4i3mmkw82"))))))
(define-public docbook-xml-4.3
(package (inherit docbook-xml)
(version "4.3")
(source (origin
(method url-fetch)
(uri (string-append "http://www.docbook.org/xml/" version
"/docbook-xml-" version ".zip"))
(sha256
(base32
"0r1l2if1z4wm2v664sqdizm4gak6db1kx9y50jq89m3gxaa8l1i3"))))))
(define-public docbook-xsl
(package
(name "docbook-xsl")
(version "1.72.0")
(version "1.78.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/docbook/docbook-xsl-"
version ".tar.bz2"))
(sha256
(base32
"1cnrfgqz8pc9wnlgqjch2338ad7jki6d4h6b2fhaxn1a2201df5k"))))
"0rxl013ncmz1n6ymk2idvx3hix9pdabk8xn01cpcv32wmfb753y9"))))
(build-system trivial-build-system)
(arguments
`(#:builder (begin
`(#:builder (let ((name-version (string-append ,name "-" ,version)))
(use-modules (guix build utils))
(let* ((bzip2 (assoc-ref %build-inputs "bzip2"))
@@ -87,10 +112,13 @@ by no means limited to these applications.) This package provides XML DTDs.")
(system* (string-append tar "/bin/tar") "xvf" source)
(mkdir-p xsl)
(copy-recursively (string-append ,name "-" ,version)
(string-append xsl "/" ,name
"-" ,version))))
#:modules ((guix build utils))))
(copy-recursively name-version
(string-append xsl "/" name-version))
(substitute* (string-append xsl "/" name-version "/catalog.xml")
(("rewritePrefix=\"./")
(string-append "rewritePrefix=\"file://" xsl "/" name-version "/")))))
#:modules ((guix build utils))))
(native-inputs `(("bzip2" ,bzip2)
("tar" ,tar)))
(home-page "http://docbook.org")
+74
View File
@@ -0,0 +1,74 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 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 doxygen)
#:use-module ((guix licenses) #:select (gpl3+))
#: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 graphviz)
#:use-module (gnu packages perl)
#:use-module (gnu packages xml)
#:use-module (gnu packages python))
(define-public doxygen
(package
(name "doxygen")
(version "1.8.7")
(source (origin
(method url-fetch)
(uri (string-append "http://ftp.stack.nl/pub/users/dimitri/"
name "-" version ".src.tar.gz"))
(sha256
(base32
"1ng3dv5fninhfi2fj75ghkr5jwsl653fxv2sxhaswj11x2vcdsn6"))
(patches (list (search-patch "doxygen-tmake.patch")
(search-patch "doxygen-test.patch")))))
(build-system gnu-build-system)
(native-inputs
`(("bison" ,bison)
("flex" ,flex)
("libxml2" ,libxml2) ; provides xmllint for the tests
("perl" ,perl) ; for the tests
("python" ,python-2))) ; for creating the documentation
(propagated-inputs
`(("graphviz" ,graphviz)))
(arguments
`(#:test-target "test"
#:phases
(alist-replace
'configure
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
;; do not pass "--enable-fast-install", which makes the
;; configure process fail
(zero? (system*
"./configure"
"--prefix" out))))
%standard-phases)))
(home-page "http://www.stack.nl/~dimitri/doxygen/")
(synopsis "tool for generating documentation from annotated sources")
(description "Doxygen is the de facto standard tool for generating
documentation from annotated C++ sources, but it also supports other popular
programming languages such as C, Objective-C, C#, PHP, Java, Python,
IDL (Corba, Microsoft, and UNO/OpenOffice flavors), Fortran, VHDL, Tcl,
and to some extent D.")
(license gpl3+)))
+6 -3
View File
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013, 2014 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -47,8 +47,11 @@
(native-inputs `(("m4" ,m4)))
(inputs `(("zlib" ,zlib)))
(home-page "https://fedorahosted.org/elfutils/")
(synopsis #f)
(description #f)
(synopsis "Linker and ELF manipulation tools")
(description
"This package provides command-line tools to manipulate binaries in the
Executable and Linkable Format (ELF). This includes ld, ar, objdump,
addr2line, and more.")
;; Libraries are dual-licensed LGPLv3.0+ | GPLv2, and programs are GPLv3+.
(license lgpl3+)))
+1 -3
View File
@@ -30,9 +30,7 @@
#: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 image)
#:use-module (gnu packages giflib)
#:use-module (gnu packages linux)
#:use-module ((gnu packages compression)
-53
View File
@@ -1,53 +0,0 @@
;;; 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+)))
+57
View File
@@ -0,0 +1,57 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 David Thompson <davet@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 fish)
#:use-module (guix licenses)
#:use-module (gnu packages doxygen)
#:use-module (gnu packages ncurses)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix utils)
#:use-module (guix build-system gnu))
(define-public fish
(package
(name "fish")
(version "2.1.0")
(source (origin
(method url-fetch)
(uri (string-append "http://fishshell.com/files/"
version "/fish-" version ".tar.gz"))
(sha256
(base32
"0i7h3hx8iszli3d4kphw79sz9m07f2lc2c9hr9smdps5s7wpllmg"))))
(build-system gnu-build-system)
(native-inputs
`(("doxygen" ,doxygen)))
(inputs
`(("ncurses" ,ncurses)))
(arguments
'(#:tests? #f)) ; no check target
(synopsis "The friendly interactive shell")
(description
"Fish (friendly interactive shell) is a shell focused on interactive use,
discoverability, and friendliness. Fish has very user-friendly and powerful
tab-completion, including descriptions of every completion, completion of
strings with wildcards, and many completions for specific commands. It also
has extensive and discoverable help. A special help command gives access to
all the fish documentation in your web browser. Other features include smart
terminal handling based on terminfo, an easy to search history, and syntax
highlighting. ")
(home-page "http://fishshell.com/")
(license gpl2)))
+56
View File
@@ -0,0 +1,56 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 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 ftp)
#:use-module ((guix licenses) #:select (gpl3+))
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages readline)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages gnutls)
#:use-module (gnu packages compression))
(define-public lftp
(package
(name "lftp")
(version "4.4.15")
(source (origin
(method url-fetch)
(uri (string-append "http://lftp.yar.ru/ftp/lftp-"
version ".tar.xz"))
(sha256
(base32
"0s38vc2ij869dwx3i1c7sk96mqv0hknf3cqf86av59rqnix0px3m"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs
`(("zlib" ,zlib)
("readline" ,readline)
("gnutls" ,gnutls)))
(home-page "http://lftp.yar.ru/")
(synopsis "Command-line file transfer program")
(description
"LFTP is a sophisticated FTP/HTTP client, and a file transfer program
supporting a number of network protocols. Like Bash, it has job control and
uses the Readline library for input. It has bookmarks, a built-in mirror
command, and can transfer several files in parallel. It was designed with
reliability in mind.")
(license gpl3+)))
+227
View File
@@ -1,5 +1,8 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 John Darrington <jmd@gnu.org>
;;; Copyright © 2014 David Thompson <dthompson2@worcester.edu>
;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2014 Cyrill Schenkel <cyrill.schenkel@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -20,6 +23,8 @@
#:use-module (guix licenses)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (gnu packages)
#:use-module (gnu packages boost)
#:use-module (gnu packages gettext)
#:use-module (gnu packages gl)
#:use-module (gnu packages glib)
@@ -27,11 +32,15 @@
#:use-module (gnu packages gtk)
#:use-module (gnu packages guile)
#:use-module (gnu packages libcanberra)
#:use-module (gnu packages image)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages python)
#:use-module (gnu packages readline)
#:use-module (gnu packages xorg)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages sqlite)
#:use-module (gnu packages sdl)
#:use-module (gnu packages texinfo)
#:use-module (guix build-system gnu))
(define-public gnubg
@@ -94,3 +103,221 @@ you to set the size of the cube (the default is 3x3) or to change the colors.
You may even apply photos to the faces instead of colors. The game is
scriptable with Guile.")
(license gpl3+)))
(define-public abbaye
(package
(name "abbaye")
(version "1.13")
(source
(origin
(method url-fetch)
(uri (string-append "http://abbaye-for-linux.googlecode.com/files/abbaye-for-linux-src-"
version ".tar.gz"))
(sha256
(base32
"1wgvckgqa2084rbskxif58wbb83xbas8s1i8s7d57xbj08ryq8rk"))))
(build-system gnu-build-system)
(arguments
'(#:modules ((ice-9 match)
(guix build gnu-build-system)
(guix build utils))
#:phases (alist-cons-after
'set-paths 'set-sdl-paths
(lambda* (#:key inputs outputs (search-paths '()) #:allow-other-keys)
(define input-directories
(match inputs
(((_ . dir) ...)
dir)))
;; This package does not use pkg-config, so modify CPATH
;; variable to point to include/SDL for SDL header files.
(set-path-environment-variable "CPATH"
'("include/SDL")
input-directories))
(alist-cons-after
'patch-source-shebangs 'patch-makefile
(lambda* (#:key outputs #:allow-other-keys)
;; Replace /usr with package output directory.
(for-each (lambda (file)
(substitute* file
(("/usr") (assoc-ref outputs "out"))))
'("makefile" "src/pantallas.c" "src/comun.h")))
(alist-cons-before
'install 'make-install-dirs
(lambda* (#:key outputs #:allow-other-keys)
(let ((prefix (assoc-ref outputs "out")))
;; Create directories that the makefile assumes exist.
(mkdir-p (string-append prefix "/bin"))
(mkdir-p (string-append prefix "/share/applications"))))
;; No configure script.
(alist-delete 'configure %standard-phases))))
#:tests? #f)) ;; No check target.
(native-inputs `(("pkg-config" ,pkg-config)))
(inputs `(("sdl" ,sdl)
("sdl-gfx" ,sdl-gfx)
("sdl-image" ,sdl-image)
("sdl-mixer" ,sdl-mixer)
("sdl-ttf" ,sdl-ttf)))
(home-page "http://code.google.com/p/abbaye-for-linux/")
(synopsis "GNU/Linux port of the indie game \"l'Abbaye des Morts\"")
(description "L'Abbaye des Morts is a 2D platform game set in 13th century
France. The Cathars, who preach about good Christian beliefs, were being
expelled by the Catholic Church out of the Languedoc region in France. One of
them, called Jean Raymond, found an old church in which to hide, not knowing
that beneath its ruins lay buried an ancient evil.")
(license gpl3+)))
(define-public pingus
(package
(name "pingus")
(version "0.7.6")
(source
(origin
(method url-fetch)
(uri (string-append "http://pingus.googlecode.com/files/pingus-"
version ".tar.bz2"))
(sha256
(base32
"0q34d2k6anzqvb0mf67x85q92lfx9jr71ry13dlp47jx0x9i573m"))
(patches (list (search-patch "pingus-sdl-libs-config.patch")))))
(build-system gnu-build-system)
(native-inputs `(("pkg-config" ,pkg-config)
("scons" ,scons)))
(inputs `(("sdl" ,sdl)
("sdl-image" ,sdl-image)
("sdl-mixer" ,sdl-mixer)
("mesa" ,mesa)
("libpng" ,libpng)
("boost" ,boost)))
(arguments
'(#:tests? #f ;no check target
#:phases
(alist-delete
'configure
(alist-replace
'install
(lambda* (#:key outputs #:allow-other-keys)
(zero? (system* "make" "install"
(string-append "PREFIX="
(assoc-ref outputs "out")))))
%standard-phases))))
(home-page "http://pingus.seul.org/welcome.html")
(synopsis "Lemmings clone")
(description
"Pingus is a free Lemmings-like puzzle game in which the player takes
command of a bunch of small animals and has to guide them through levels.
Since the animals walk on their own, the player can only influence them by
giving them commands, like build a bridge, dig a hole, or redirect all animals
in the other direction. Multiple such commands are necessary to reach the
level's exit. The game is presented in a 2D side view.")
;; Some source files are under bsd-3 and gpl2+ licenses.
(license gpl3+)))
(define-public talkfilters
(package
(name "talkfilters")
(version "2.3.8")
(source
(origin
(method url-fetch)
(uri (string-append "http://www.hyperrealm.com/" name "/"
name "-" version ".tar.gz"))
(sha256
(base32 "19nc5vq4bnkjvhk8srqddzhcs93jyvpm9r6lzjzwc1mgf08yg0a6"))))
(build-system gnu-build-system)
(home-page "http://www.gnu.org/software/talkfilters")
(synopsis "Convert English text to humorous dialects")
(description "The GNU Talk Filters are programs that convert English text
into stereotyped or otherwise humorous dialects. The filters are provided as
a C library, so they can easily be integrated into other programs.")
(license gpl2+)))
(define-public cmatrix
(package
(name "cmatrix")
(version "1.2a")
(source
(origin
(method url-fetch)
(uri (string-append "http://www.asty.org/cmatrix/dist/cmatrix-" version
".tar.gz"))
(sha256
(base32
"0k06fw2n8nzp1pcdynhajp5prba03gfgsbj91bknyjr5xb5fd9hz"))))
(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)))
(inputs `(("ncurses" ,ncurses)))
(home-page "http://wwww.asty.org/cmatrix")
(synopsis "Simulate the display from \"The Matrix\"")
(description "CMatrix simulates the display from \"The Matrix\" and is
based on the screensaver from the movie's website. It works with terminal
settings up to 132x300 and can scroll lines all at the same rate or
asynchronously and at a user-defined speed.")
(license gpl2+)))
(define-public chess
(package
(name "chess")
(version "6.1.1")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://gnu/chess/gnuchess-" version
".tar.gz"))
(sha256
(base32
"1jckpg1qi1vjr3pqs0dnip3rmn0mgklx63xflrpqiv3cx2qlz8kn"))))
(build-system gnu-build-system)
(home-page "http://wwww.gnu.org/software/chess")
(synopsis "Full chess implementation")
(description "GNU Chess is a chess engine. It allows you to compete
against the computer in a game of chess, either through the default terminal
interface or via an external visual interface such as GNU XBoard.")
(license gpl3+)))
(define-public xboard
(package
(name "xboard")
(version "4.7.3")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://gnu/xboard/xboard-" version
".tar.gz"))
(sha256
(base32
"1amy9krr0qkvcc7gnp3i9x9ma91fc5cq8hy3gdc7rmfsaczv1l3z"))))
(build-system gnu-build-system)
(arguments
'(#:phases
(alist-cons-before
'configure 'pre-conf
;; This is GNU. So use gnuchess as the first choice of engine
(lambda _
(substitute* "xboard.conf.in"
(("-firstChessProgram fairymax") "-firstChessProgram gnuchess")))
%standard-phases)))
(inputs `(("cairo" ,cairo)
("librsvg" ,librsvg)
("libxt" ,libxt)
("libxaw" ,libxaw)))
(native-inputs `(("texinfo" ,texinfo)
("pkg-config" ,pkg-config)))
(home-page "http://www.gnu.org/software/xboard")
(synopsis "Graphical user interface for chess programs")
(description "GNU XBoard is a graphical board for all varieties of chess,
including international chess, xiangqi (Chinese chess), shogi (Japanese chess)
and Makruk. Several lesser-known variants are also supported. It presents a
fully interactive graphical interface and it can load and save games in the
Portable Game Notation.")
(license gpl3+)))
+14 -2
View File
@@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -27,13 +28,13 @@
(define-public gawk
(package
(name "gawk")
(version "4.1.0")
(version "4.1.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/gawk/gawk-" version
".tar.xz"))
(sha256
(base32 "0hin2hswbbd6kd6i4zzvgciwpl5fba8d2s524z8y5qagyz3x010q"))))
(base32 "1nz83vpss8xv7m475sv4qhhj40g74nvcw0y9kwq9ds8wzfmcdm7g"))))
(build-system gnu-build-system)
(arguments
`(#:parallel-tests? #f ; test suite fails in parallel
@@ -54,6 +55,17 @@
'((substitute* "extension/Makefile.in"
(("^.*: check-for-shared-lib-support" match)
(string-append "### " match))))
'())
;; XXX FIXME gawk 4.1.1 was bootstrapped with a prerelease
;; libtool, which fails on MIPS in the absence of
;; /usr/bin/file. As a temporary workaround, we patch
;; the configure script to hardcode use of the little
;; endian N32 ABI on MIPS.
,@(if (equal? "mips64el-linux" (or (%current-target-system)
(%current-system)))
'((substitute* "extension/configure"
(("\\$emul") "elf32ltsmipn32")))
'())))
%standard-phases)))
(inputs `(("libsigsegv" ,libsigsegv)
+83 -29
View File
@@ -51,6 +51,14 @@ where the OS part is overloaded to denote a specific ABI---into GCC
(define-public gcc-4.7
(let* ((stripped? #t) ; TODO: make this a parameter
(install-target
(lambda ()
;; The 'install-strip' rule uses the native 'strip' instead of
;; 'TARGET-strip' when cross-compiling. Thus, use 'install' in that
;; case.
(if (and stripped? (not (%current-target-system)))
"install-strip"
"install")))
(maybe-target-tools
(lambda ()
;; Return the `_FOR_TARGET' variables that are needed when
@@ -79,6 +87,14 @@ where the OS part is overloaded to denote a specific ABI---into GCC
"--with-local-prefix=/no-gcc-local-prefix"
;; With a separate "lib" output, the build system
;; incorrectly guesses GPLUSPLUS_INCLUDE_DIR, so force
;; it. (Don't use a versioned sub-directory, that's
;; unnecessary.)
,(string-append "--with-gxx-include-dir="
(assoc-ref %outputs "out")
"/include/c++")
,(let ((libc (assoc-ref %build-inputs "libc")))
(if libc
(string-append "--with-native-system-header-dir=" libc
@@ -94,15 +110,21 @@ where the OS part is overloaded to denote a specific ABI---into GCC
(maybe-target-tools))))))
(package
(name "gcc")
(version "4.7.3")
(version "4.7.4")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/gcc/gcc-"
version "/gcc-" version ".tar.bz2"))
(sha256
(base32
"1hx9h64ivarlzi4hxvq42as5m9vlr5cyzaaq4gzj4i619zmkfz1g"))))
"10k2k71kxgay283ylbbhhs51cl55zn2q38vj5pk4k950qdnirrlj"))))
(build-system gnu-build-system)
;; Separate out the run-time support libraries because all the
;; dynamic-linked objects depend on it.
(outputs '("out" ; commands, etc. (60+ MiB)
"lib")) ; libgcc_s, libgomp, etc. (15+ MiB)
(inputs `(("gmp" ,gmp)
("mpfr" ,mpfr)
("mpc" ,mpc)
@@ -119,32 +141,39 @@ where the OS part is overloaded to denote a specific ABI---into GCC
#:strip-binaries? ,stripped?
#:configure-flags ,(configure-flags)
#:make-flags
(let* ((libc (assoc-ref %build-inputs "libc"))
(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)))
'())
;; None of the flags below are needed when doing a Canadian cross.
;; TODO: Simplify this.
,(if (%current-target-system)
(if stripped?
''("CFLAGS=-g0 -O2")
''())
`(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"))))
;; 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")))
(let ((libdir (or (assoc-ref outputs "lib")
(assoc-ref outputs "out")))
(libc (assoc-ref inputs "libc")))
(when libc
;; The following is not performed for `--without-headers'
;; cross-compiler builds.
@@ -170,7 +199,7 @@ where the OS part is overloaded to denote a specific ABI---into GCC
;; <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))
libc libc libdir libdir suffix))
(("#define GNU_USER_TARGET_STARTFILE_SPEC.*$" line)
(format #f "#define STANDARD_STARTFILE_PREFIX_1 \"~a/lib\"
#define STANDARD_STARTFILE_PREFIX_2 \"\"
@@ -180,7 +209,24 @@ where the OS part is overloaded to denote a specific ABI---into GCC
;; 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\";"))))
"static char const sed_cmd_z[] = \"sed\";"))
;; Move libstdc++*-gdb.py to the "lib" output to avoid a
;; circularity between "out" and "lib". (Note:
;; --with-python-dir is useless because it imposes $(prefix) as
;; the parent directory.)
(substitute* "libstdc++-v3/python/Makefile.in"
(("pythondir = .*$")
(string-append "pythondir = " libdir "/share"
"/gcc-$(gcc_version)/python\n")))
;; Avoid another circularity between the outputs: this #define
;; ends up in auto-host.h in the "lib" output, referring to
;; "out". (This variable is used to augment cpp's search path,
;; but there's nothing useful to look for here.)
(substitute* "gcc/config.in"
(("PREFIX_INCLUDE_DIR")
"PREFIX_INCLUDE_DIR_isnt_necessary_here"))))
(alist-cons-after
'configure 'post-configure
@@ -193,10 +239,7 @@ where the OS part is overloaded to denote a specific ABI---into GCC
(alist-replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(zero?
(system* "make"
,(if stripped?
"install-strip"
"install"))))
(system* "make" ,(install-target))))
%standard-phases)))))
(native-search-paths
@@ -218,14 +261,25 @@ Go. It also includes runtime support libraries for these languages.")
(define-public gcc-4.8
(package (inherit gcc-4.7)
(version "4.8.2")
(version "4.8.3")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/gcc/gcc-"
version "/gcc-" version ".tar.bz2"))
(sha256
(base32
"1j6dwgby4g3p3lz7zkss32ghr45zpdidrg8xvazvn91lqxv25p09"))))))
"07hg10zs7gnqz58my10ch0zygizqh0z0bz6pv4pgxx45n48lz3ka"))))))
(define-public gcc-4.9
(package (inherit gcc-4.7)
(version "4.9.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/gcc/gcc-"
version "/gcc-" version ".tar.bz2"))
(sha256
(base32
"0zki3ngi0gsidnmsp88mjl2868cc7cm5wm1vwqw6znja28d7hd6k"))))))
(define (custom-gcc gcc name languages)
"Return a custom version of GCC that supports LANGUAGES."
+1 -2
View File
@@ -21,8 +21,7 @@
#: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 image)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages compression)
#:use-module ((guix licenses) #:select (bsd-style)))
+7 -3
View File
@@ -33,14 +33,14 @@
(define-public gdb
(package
(name "gdb")
(version "7.7")
(version "7.7.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/gdb/gdb-"
version ".tar.bz2"))
(sha256
(base32
"08vcb97j1b7vxwq6088wb6s3g3bm8iwikd922y0xsgbbxv3d2104"))))
"199sn1p0gzli6icp9dcvrphdvyi7hm4cc9zhziq0q6vg81h55g8d"))))
(build-system gnu-build-system)
(arguments
'(#:tests? #f ; FIXME "make check" fails on single-processor systems.
@@ -57,7 +57,11 @@
("readline" ,readline)
("ncurses" ,ncurses)
("python" ,python-wrapper)
("dejagnu" ,dejagnu)))
("dejagnu" ,dejagnu)
;; Allow use of XML-formatted syscall information. This enables 'catch
;; syscall' and similar commands.
("libxml2" ,libxml2)))
(native-inputs
`(("texinfo" ,texinfo)))
(home-page "http://www.gnu.org/software/gdb/")
+1 -1
View File
@@ -25,7 +25,7 @@
#: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 image)
#:use-module ((gnu packages ghostscript)
#:select (lcms))
#:use-module (gnu packages compression)
+19 -15
View File
@@ -34,37 +34,41 @@
(define-public gnu-gettext
(package
(name "gettext")
(version "0.18.3.2")
(version "0.19.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/gettext/gettext-"
version ".tar.gz"))
(sha256
(base32
"1my5njl7mp663abpdn8qsm5i462wlhlnb5q50fmhgd0fsr9f996i"))))
"1fs9jbmcx26f2ghvnn92x1ks7qfhjg2wv7fbv5nczaz0yrpawj0c"))))
(build-system gnu-build-system)
(inputs
`(("expat" ,expat)))
(arguments
`(#:phases (alist-cons-before
'configure 'link-expat
(lambda _
(substitute* "gettext-tools/configure"
(("LIBEXPAT=\"-ldl\"") "LIBEXPAT=\"-ldl -lexpat\"")
(("LTLIBEXPAT=\"-ldl\"") "LTLIBEXPAT=\"-ldl -lexpat\"")))
(alist-cons-before
'check 'patch-tests
(lambda* (#:key inputs #:allow-other-keys)
(let ((bash (which "sh")))
(substitute* (find-files "gettext-tools/tests"
"^msgexec-[0-9]")
(let* ((bash (which "sh")))
(substitute*
(find-files "gettext-tools/tests"
"^(lang-sh|msg(exec|filter)-[0-9])")
(("#![[:blank:]]/bin/sh")
(format #f "#!~a" bash)))
(substitute* (find-files "gettext-tools/gnulib-tests"
"posix_spawn")
(substitute* (cons "gettext-tools/src/msginit.c"
(find-files "gettext-tools/gnulib-tests"
"posix_spawn"))
(("/bin/sh")
bash))))
%standard-phases))))
bash))
(substitute* "gettext-tools/src/project-id"
(("/bin/pwd")
"pwd"))))
%standard-phases)
;; When tests fail, we want to know the details.
#:make-flags '("VERBOSE=yes")))
(home-page "http://www.gnu.org/software/gettext/")
(synopsis "Tools and documentation for translation")
(description
+1 -3
View File
@@ -20,9 +20,7 @@
#: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 image)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
+149
View File
@@ -0,0 +1,149 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 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 gimp)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module ((guix licenses)
#:renamer (symbol-prefix-proc 'license:))
#: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 gnome)
#:use-module (gnu packages image)
#:use-module ((gnu packages ghostscript)
#:select (lcms))
#:use-module (gnu packages compression)
#:use-module (gnu packages xml)
#:use-module (gnu packages photo)
#:use-module (gnu packages xorg)
#:use-module (gnu packages imagemagick))
(define-public babl
(package
(name "babl")
(version "0.1.10")
(source (origin
(method url-fetch)
(uri (list (string-append "http://ftp.gtk.org/pub/babl/0.1/babl-"
version ".tar.bz2")
(string-append "ftp://ftp.gtk.org/pub/babl/0.1/babl-"
version ".tar.bz2")))
(sha256
(base32
"1x2mb7zfbvk9d0a7h5cpdff9hhjsadxvqml2jay2bpf7x9nc6gwl"))))
(build-system gnu-build-system)
(home-page "http://gegl.org/babl/")
(synopsis "Image pixel format conversion library")
(description
"babl is a dynamic, any to any, pixel format translation library.
It allows converting between different methods of storing pixels known as
pixel formats that have with different bitdepths and other data
representations, color models and component permutations.
A vocabulary to formulate new pixel formats from existing primitives is
provided as well as the framework to add new color models and data types.")
(license license:lgpl3+)))
(define-public gegl
(package
(name "gegl")
(version "0.2.0")
(source (origin
(method url-fetch)
(uri (list (string-append "http://download.gimp.org/pub/gegl/"
(string-take version 3)
"/" name "-" version ".tar.bz2")))
(sha256
(base32
"09nlv06li9nrn74ifpm7223mxpg0s7cii702z72cpbwrjh6nlbnz"))))
(build-system gnu-build-system)
(arguments
`(#:phases
(alist-cons-before
'build 'pre-build
(lambda _
;; This test program seems to crash on exit. Specifically, whilst
;; g_object_unreffing bufferA and bufferB - This seems to be a bug
;; in the destructor. This is just a test program so will not have
;; any wider effect, although might be hiding another problem.
;; According to advice received on irc.gimp.org#gegl although 0.2.0
;; is the latest released version, any bug reports against it will
;; be ignored. So we are on our own.
(substitute* "tools/img_cmp.c"
(("g_object_unref \\(buffer.\\);") ""))
(substitute* "tests/compositions/Makefile"
(("/bin/sh") (which "bash"))))
%standard-phases)))
(inputs
`(("babl" ,babl)
("glib" ,glib)
("cairo" ,cairo)
("pango" ,pango)
("libpng" ,libpng)
("libjpeg" ,libjpeg-8)))
(native-inputs
`(("pkg-config" ,pkg-config)
("glib" ,glib "bin") ; for gtester
("intltool" ,intltool)))
(home-page "http://gegl.org")
(synopsis "Graph based image processing framework")
(description "GEGL (Generic Graphics Library) provides infrastructure to
do demand based cached non destructive image editing on larger than RAM
buffers.")
;; The library itself is licensed under LGPL while the sample commandline
;; application and GUI binary gegl is licensed under GPL.
(license (list license:lgpl3+ license:gpl3+))))
(define-public gimp
(package
(name "gimp")
(version "2.8.10")
(source (origin
(method url-fetch)
(uri (string-append "http://download.gimp.org/pub/gimp/v2.8/gimp-"
version ".tar.bz2"))
(sha256
(base32
"1rha8yx0pplfjziqczjrxxp16vsvpmb5ziq3c218s4w9z4cqpzg7"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
;; We don't have pygtk which seems to be needed for this feature
`("--disable-python" )))
(inputs
`(("babl" ,babl)
("glib" ,glib)
("libtiff" ,libtiff)
("libjpeg" ,libjpeg-8)
("atk" ,atk)
("gtk+" ,gtk+-2)
("gegl" ,gegl)))
(native-inputs
`(("pkg-config" ,pkg-config)
("intltool" ,intltool)))
(home-page "http://gimp.org")
(synopsis "GNU Image Manipulation Program")
(description
"GIMP is an application for image manipulation tasks such as photo
retouching, composition and authoring. It supports all common image formats
as well as specialized ones. It features a highly customizable interface
that is extensible via a plugin system.")
(license license:gpl3+))) ; some files are lgplv3
+43 -1
View File
@@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2013 Guy Grant <gzg@riseup.net>
;;; Copyright © 2014 David Thompson <davet@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -30,7 +31,8 @@
#:use-module (gnu packages python)
#:use-module (gnu packages xorg)
#:use-module (gnu packages xml)
#:use-module (gnu packages fontutils))
#:use-module (gnu packages fontutils)
#:use-module (gnu packages guile))
(define-public glu
(package
@@ -170,3 +172,43 @@ a system for rendering interactive 3D graphics. A variety of device drivers
allows Mesa to be used in many different environments ranging from software
emulation to complete hardware acceleration for modern GPUs.")
(license l:x11)))
(define-public guile-opengl
(package
(name "guile-opengl")
(version "0.1.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/guile-opengl/guile-opengl-"
version ".tar.gz"))
(sha256
(base32
"13qfx4xh8baryxqrv986l848ygd0piqwm6s2s90pxk9c0m9vklim"))))
(build-system gnu-build-system)
(native-inputs `(("pkg-config" ,pkg-config)))
(inputs `(("guile" ,guile-2.0)
("mesa" ,mesa)
("freeglut" ,freeglut)))
(arguments
'(#:phases (alist-cons-before
'build 'patch-dynamic-link
(lambda* (#:key inputs outputs #:allow-other-keys)
(define (dynamic-link-substitute file lib input)
(substitute* file
(("dynamic-link \"lib([a-zA-Z]+)\"" _ lib)
(string-append "dynamic-link \""
(assoc-ref inputs input)
"/lib/lib" lib "\""))))
;; Replace dynamic-link calls for libGL, libGLU, and
;; libglut with absolute paths to the store.
(dynamic-link-substitute "glx/runtime.scm" "GL" "mesa")
(dynamic-link-substitute "glu/runtime.scm" "GLU" "mesa")
(dynamic-link-substitute "glut/runtime.scm" "glut"
"freeglut"))
%standard-phases)))
(home-page "http://gnu.org/s/guile-opengl")
(synopsis "Guile binding for the OpenGL graphics API")
(description
"Guile-OpenGL is a library for Guile that provides bindings to the
OpenGL graphics API.")
(license l:lgpl3+)))
+25 -8
View File
@@ -106,28 +106,29 @@ shared NFS home directories.")
(define glib
(package
(name "glib")
(version "2.39.1")
(version "2.40.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/"
name "/" (string-take version 4) "/"
name "-" version ".tar.xz"))
(sha256
(base32 "0lqi6z47068vgh91fm59jn0kq969wf3g2q8k4m33jsb0amprg36h"))
(base32 "1d98mbqjmc34s8095lkw1j1bwvnnkw9581yfvjaikjvfjsaz29qd"))
(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")))))
(search-patch "glib-tests-timer.patch")))))
(build-system gnu-build-system)
(outputs '("out" ; everything
"doc")) ; 20 MiB of GTK-Doc reference
(outputs '("out" ; everything
"bin" ; glib-mkenums, gtester, etc.; depends on Python
"doc")) ; 20 MiB of GTK-Doc reference
(inputs
`(("coreutils" ,coreutils)
("libffi" ,libffi)
("zlib" ,zlib)
("tzdata" ,tzdata))) ; for tests/gdatetime.c
(native-inputs
`(("gettext" ,gnu-gettext)
`(("gettext" ,gnu-gettext)
("dbus" ,dbus) ; for GDBus tests
("pkg-config" ,pkg-config)
("python" ,python-wrapper)
@@ -160,6 +161,17 @@ shared NFS home directories.")
;; In 'gio/tests', 'gdbus-test-codegen-generated.h' is #included in a
;; file that gets compiled possibly before it has been fully generated.
#:parallel-tests? #f))
(native-search-paths
;; This variable is not really "owned" by GLib, but several related
;; packages refer to it: gobject-introspection's tools use it as a search
;; path for .gir files, and it's also a search path for schemas produced
;; by 'glib-compile-schemas'.
(list (search-path-specification
(variable "XDG_DATA_DIRS")
(directories '("share")))))
(search-paths native-search-paths)
(synopsis "Thread-safe general utility library; basis of GTK+ and GNOME")
(description
"GLib provides data structure handling for C, portability wrappers,
@@ -190,6 +202,8 @@ dynamic loading, and an object system.")
("glib" ,glib)
("pkg-config" ,pkg-config)
("python-2" ,python-2)))
(native-inputs
`(("glib" ,glib "bin")))
(propagated-inputs
`(;; In practice, GIR users will need libffi when using
;; gobject-introspection.
@@ -307,7 +321,9 @@ translated.")
(inputs
`(("dbus" ,dbus)
("expat" ,expat)
("glib" ,glib)
("glib" ,glib)))
(native-inputs
`(("glib" ,glib "bin")
("pkg-config" ,pkg-config)))
(home-page "http://dbus.freedesktop.org/doc/dbus-glib/")
(synopsis "D-Bus GLib bindings")
@@ -371,7 +387,8 @@ has an ease of use unmatched by other C++ callback libraries.")
(("Gio::init.*$")
"return 77;\n")))
%standard-phases)))
(inputs `(("pkg-config" ,pkg-config)))
(inputs `(("pkg-config" ,pkg-config)
("glib" ,glib "bin")))
(propagated-inputs
`(("libsigc++" ,libsigc++)
("glib" ,glib)))
+2 -2
View File
@@ -28,14 +28,14 @@
(define-public global ; a global variable
(package
(name "global")
(version "6.2.12")
(version "6.3")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/global/global-"
version ".tar.gz"))
(sha256
(base32
"05jkhya1cs6yqhkf8nw5x56adkxxrqyga7sq7hx44dbf7alczwfa"))))
"1nzqqcry3mfha53n8j1grdg2dflp9gpg54qwlsrzq9sspwg78769"))))
(build-system gnu-build-system)
(inputs `(("ncurses" ,ncurses)
("libtool" ,libtool)))
+735 -59
View File
@@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2014 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -17,26 +18,33 @@
;;; 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 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 bison)
#:use-module (gnu packages flex)
#:use-module (gnu packages docbook)
#: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 popt)
#:use-module (gnu packages ghostscript)
#:use-module (gnu packages iso-codes)
#:use-module (gnu packages libcanberra)
#:use-module (gnu packages libpng)
#:use-module (gnu packages image)
#: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 gl)
#:use-module (gnu packages xorg))
#:use-module (gnu packages compression)
#:use-module (gnu packages xorg)
#:use-module (srfi srfi-1))
(define-public brasero
(package
@@ -54,6 +62,7 @@
`(("hicolor-icon-theme" ,hicolor-icon-theme)))
(native-inputs
`(("intltool" ,intltool)
("glib" ,glib "bin") ; glib-compile-schemas, etc.
("pkg-config" ,pkg-config)))
(inputs
`(("glib" ,glib)
@@ -67,15 +76,12 @@
("libnotify" ,libnotify)
("libsm" ,libsm)
("libxml2" ,libxml2)))
(native-inputs
`(("intltool" ,intltool)
("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+)))
(license license:gpl2+)))
(define-public gnome-desktop
(package
@@ -116,7 +122,7 @@ stability. Documentation for the API is available with gtk-doc.
The gnome-about program helps find which version of GNOME is installed.")
; Some bits under the LGPL.
(license gpl2+)))
(license license:gpl2+)))
(define-public gnome-doc-utils
(package
@@ -131,14 +137,24 @@ The gnome-about program helps find which version of GNOME is installed.")
(base32
"19n4x25ndzngaciiyd8dd6s2mf9gv6nv3wv27ggns2smm7zkj1nb"))))
(build-system gnu-build-system)
(arguments
`(#:phases
(alist-cons-before
'check 'pre-check
(lambda* (#:key inputs #:allow-other-keys #:rest args)
;; This is needed, because without it, xmlint etc tries
;; to download docbookx.dtd from the net
(setenv "XML_CATALOG_FILES"
(string-append (assoc-ref inputs "docbook-xml")
"/xml/dtd/docbook/catalog.xml")))
%standard-phases)))
(native-inputs
`(("intltool" ,intltool)
("docbook-xml" ,docbook-xml-4.4)
("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")
@@ -146,7 +162,7 @@ The gnome-about program helps find which version of GNOME is installed.")
"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
(license license:gpl2+))) ; xslt under lgpl
(define-public libgnome-keyring
(package
@@ -167,6 +183,7 @@ and keep up to date translations of documentation.")
("dbus" ,dbus)))
(native-inputs
`(("pkg-config" ,pkg-config)
("glib" ,glib "bin")
("intltool" ,intltool)))
(propagated-inputs
;; Referred to in .h files and .pc.
@@ -177,7 +194,7 @@ and keep up to date translations of documentation.")
"Client library to access passwords from the GNOME keyring.")
;; Though a couple of files are LGPLv2.1+.
(license lgpl2.0+)))
(license license:lgpl2.0+)))
(define-public evince
(package
@@ -233,6 +250,7 @@ and keep up to date translations of documentation.")
("dogtail" ,python2-dogtail)))
(native-inputs
`(("intltool" ,intltool)
("glib" ,glib "bin")
("pkg-config" ,pkg-config)))
(home-page
"http://www.gnome.org/projects/evince/")
@@ -242,7 +260,7 @@ and keep up to date translations of documentation.")
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+)))
(license license:gpl2+)))
(define-public gsettings-desktop-schemas
(package
@@ -262,6 +280,7 @@ on the GNOME Desktop with a single simple application.")
`(("glib" ,glib)))
(native-inputs
`(("intltool" ,intltool)
("glib" ,glib "bin") ; glib-compile-schemas, etc.
("pkg-config" ,pkg-config)))
(home-page "https://launchpad.net/gsettings-desktop-schemas")
(synopsis
@@ -269,7 +288,7 @@ on the GNOME Desktop with a single simple application.")
(description
"Gsettings-desktop-schemas contains a collection of GSettings schemas
for settings shared by various components of the GNOME desktop.")
(license lgpl2.1+)))
(license license:lgpl2.1+)))
(define-public icon-naming-utils
(package
@@ -294,7 +313,7 @@ for settings shared by various components of the GNOME desktop.")
"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+)))
(license license:lgpl2.1+)))
(define-public gnome-icon-theme
(package
@@ -321,7 +340,7 @@ GNOME and KDE desktops to the icon names proposed in the specification.")
"GNOME icon theme")
(description
"Icons for the GNOME desktop.")
(license lgpl3))) ; or Creative Commons BY-SA 3.0
(license license:lgpl3))) ; or Creative Commons BY-SA 3.0
(define-public shared-mime-info
(package
@@ -352,7 +371,7 @@ 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+)))
(license license:gpl2+)))
(define-public hicolor-icon-theme
(package
@@ -374,7 +393,7 @@ database is translated at Transifex.")
"Freedesktop icon theme")
(description
"Freedesktop icon theme.")
(license gpl2)))
(license license:gpl2)))
(define-public libnotify
(package
@@ -396,7 +415,8 @@ database is translated at Transifex.")
("gtk+" ,gtk+)
("libpng" ,libpng)))
(native-inputs
`(("pkg-config" ,pkg-config)))
`(("pkg-config" ,pkg-config)
("glib" ,glib "bin")))
(home-page "https://developer-next.gnome.org/libnotify/")
(synopsis
"GNOME desktop notification library")
@@ -405,7 +425,7 @@ database is translated at Transifex.")
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+)))
(license license:lgpl2.1+)))
(define-public libpeas
(package
@@ -421,45 +441,16 @@ some form of information without getting in the user's way.")
(base32
"13fzyzv6c0cfdj83z1s16lv8k997wpnzyzr0wfwcfkcmvz64g1q0"))))
(build-system gnu-build-system)
(arguments
`(#:modules ((guix build gnome)
(guix build gnu-build-system)
(guix build utils))
#:imported-modules ((guix build gnome)
(guix build gnu-build-system)
(guix build utils))
#:phases
(alist-replace
'configure
(lambda* (#:key inputs #:allow-other-keys #:rest args)
(let ((configure (assoc-ref %standard-phases 'configure)))
(substitute* "libpeas-gtk/Makefile.in"
(("--add-include-path")
(string-append
" --add-include-path=" (gir-directory inputs "atk")
" --add-include-path=" (gir-directory inputs "gdk-pixbuf")
" --add-include-path=" (gir-directory inputs "gtk+")
" --add-include-path=" (gir-directory inputs "pango")
" --add-include-path")))
(substitute* "libpeas-gtk/Makefile.in"
(("--includedir=\\$\\(top_builddir")
(string-append
" --includedir=" (gir-directory inputs "atk")
" --includedir=" (gir-directory inputs "gdk-pixbuf")
" --includedir=" (gir-directory inputs "gtk+")
" --includedir=" (gir-directory inputs "pango")
" --includedir=$(top_builddir")))
(apply configure args)))
%standard-phases)))
(inputs
`(("atk" ,atk)
("gdk-pixbuf" ,gdk-pixbuf)
("glib" ,glib)
("gobject-introspection" ,gobject-introspection)
("gtk+" ,gtk+)
("intltool" ,intltool)
("pango" ,pango)
("pkg-config" ,pkg-config)))
("pango" ,pango)))
(native-inputs
`(("pkg-config" ,pkg-config)
("gobject-introspection" ,gobject-introspection)
("intltool" ,intltool)))
(home-page "https://wiki.gnome.org/Libpeas")
(synopsis "GObject plugin system")
(description
@@ -469,7 +460,7 @@ set of features including, but not limited to: multiple extension points; on
demand (lazy) programming language support for C, Python and JS; simplicity of
the API")
(license lgpl2.0+)))
(license license:lgpl2.0+)))
(define-public gtkglext
(package
@@ -482,20 +473,21 @@ the API")
(sha256
(base32 "1ya4d2j2aacr9ii5zj4ac95fjpdvlm2rg79mgnk7yvl1dcy3y1z5"))
(patches (list
(search-patch "gtkglext-remove-pangox-dependency.patch")
(search-patch "gtkglext-disable-disable-deprecated.patch")))))
(build-system gnu-build-system)
(inputs `(("gtk+" ,gtk+-2)
("mesa" ,mesa)
("libx11" ,libx11)
("libxt" ,libxt)))
(native-inputs `(("pkg-config" ,pkg-config)))
(native-inputs `(("pkg-config" ,pkg-config)
("glib" ,glib "bin")))
(propagated-inputs `(("pangox-compat" ,pangox-compat)))
(home-page "https://projects.gnome.org/gtkglext")
(synopsis "OpenGL extension to GTK+.")
(description "GtkGLExt is an OpenGL extension to GTK+. It provides
additional GDK objects which support OpenGL rendering in GTK+ and GtkWidget
API add-ons to make GTK+ widgets OpenGL-capable.")
(license lgpl2.1+)))
(license license:lgpl2.1+)))
(define-public glade3
(package
@@ -522,4 +514,688 @@ API add-ons to make GTK+ widgets OpenGL-capable.")
(description "Glade is a rapid application development (RAD) tool to
enable quick & easy development of user interfaces for the GTK+ toolkit and
the GNOME desktop environment.")
(license lgpl2.0+)))
(license license:lgpl2.0+)))
(define-public libcroco
(package
(name "libcroco")
(version "0.6.8")
(source (origin
(method url-fetch)
(uri (string-append
"mirror://gnome/sources/libcroco/0.6/libcroco-"
version
".tar.xz"))
(sha256
(base32
"0w453f3nnkbkrly7spx5lx5pf6mwynzmd5qhszprq8amij2invpa"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs
`(("glib" ,glib)
("libxml2" ,libxml2)
("zlib" ,zlib)))
(home-page "https://github.com/GNOME/libcroco")
(synopsis "CSS2 parsing and manipulation library")
(description
"Libcroco is a standalone CSS2 parsing and manipulation library.
The parser provides a low level event driven SAC-like API and a CSS object
model like API. Libcroco provides a CSS2 selection engine and an experimental
XML/CSS rendering engine.")
;; LGPLv2.1-only.
(license license:lgpl2.1)))
(define-public libgsf
(package
(name "libgsf")
(version "1.14.30")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/libgsf/1.14/libgsf-"
version ".tar.xz"))
(sha256
(base32
"0w2v1a9sxsymd1mcy4mwsz4r6za9iwq69rj86nb939p41d4c6j6b"))))
(build-system gnu-build-system)
(native-inputs
`(("intltool" ,intltool)
("pkg-config" ,pkg-config)))
(inputs
`(("python" ,python)
("zlib" ,zlib)
("bzip2" ,bzip2)))
(propagated-inputs
`(("gdk-pixbuf" ,gdk-pixbuf)
("glib" ,glib)
("libxml2" ,libxml2)))
(home-page "http://www.gnome.org/projects/libgsf")
(synopsis "GNOME's Structured File Library")
(description
"Libgsf aims to provide an efficient extensible I/O abstraction for
dealing with different structured file formats.")
;; LGPLv2.1-only.
(license license:lgpl2.1)))
(define-public librsvg
(package
(name "librsvg")
(version "2.40.2")
(source (origin
(method url-fetch)
(uri (string-append
"mirror://gnome/sources/librsvg/2.40/librsvg-"
version ".tar.xz"))
(sha256
(base32
"071959yjb2i1bja7ciy4bmpnd6fn2is9jjqsvvvnsqwl69j9n128"))))
(build-system gnu-build-system)
(arguments
`(#:phases
(alist-cons-before
'configure 'augment-gir-search-path
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "gdk-pixbuf-loader/Makefile.in"
;; By default the gdk-pixbuf loader is installed under
;; gdk-pixbuf's prefix. Work around that.
(("gdk_pixbuf_moduledir = .*$")
(string-append "gdk_pixbuf_moduledir = "
"$(prefix)/lib/gdk-pixbuf-2.0/2.0.10/"
"loaders\n"))
;; Likewise, create a separate 'loaders.cache' file.
(("gdk_pixbuf_cache_file = .*$")
"gdk_pixbuf_cache_file = $(gdk_pixbuf_moduledir).cache\n")))
%standard-phases)))
(native-inputs
`(("pkg-config" ,pkg-config)
("glib" ,glib "bin") ; glib-mkenums, etc.
("gobject-introspection" ,gobject-introspection))) ; g-ir-compiler, etc.
(inputs
`(("pango" ,pango)
("libcroco" ,libcroco)
("bzip2" ,bzip2)
("libgsf" ,libgsf)
("libxml2" ,libxml2)))
(propagated-inputs
;; librsvg-2.0.pc refers to all of that.
`(("cairo" ,cairo)
("gdk-pixbuf" ,gdk-pixbuf)
("glib" ,glib)))
(home-page "https://wiki.gnome.org/LibRsvg")
(synopsis "Render SVG files using Cairo")
(description
"librsvg is a C library to render SVG files using the Cairo 2D graphics
library.")
(license license:lgpl2.0+)))
(define-public libidl
(package
(name "libidl")
(version "0.8.14")
(source (origin
(method url-fetch)
(uri (let ((upstream-name "libIDL"))
(string-append
"mirror://gnome/sources/" upstream-name "/" (string-take version 3) "/" upstream-name "-"
version
".tar.bz2")))
(sha256
(base32
"08129my8s9fbrk0vqvnmx6ph4nid744g5vbwphzkaik51664vln5"))))
(build-system gnu-build-system)
(inputs `(("glib" ,glib)))
(native-inputs
`(("pkg-config" ,pkg-config)
("flex", flex)
("bison" ,bison)))
(home-page "http://freecode.com/projects/libidl")
(synopsis "Create trees of CORBA Interface Definition Language files")
(description "libidl is a library for creating trees of CORBA Interface
Definition Language (idl) files, which is a specification for defining
portable interfaces. libidl was initially written for orbit (the orb from the
GNOME project, and the primary means of libidl distribution). However, the
functionality was designed to be as reusable and portable as possible.")
(license license:lgpl2.0+)))
(define-public orbit2
(package
(name "orbit2")
(version "2.14.19")
(source (origin
(method url-fetch)
(uri (let ((upstream-name "ORBit2"))
(string-append
"mirror://gnome/sources/" upstream-name "/" (string-take version 4) "/" upstream-name "-"
version
".tar.bz2")))
(sha256
(base32 "0l3mhpyym9m5iz09fz0rgiqxl2ym6kpkwpsp1xrr4aa80nlh1jam"))))
(build-system gnu-build-system)
(arguments
;; The programmer kindly gives us a hook to turn off deprecation warnings ...
`(#:configure-flags '("DISABLE_DEPRECATED_CFLAGS=-DGLIB_DISABLE_DEPRECATION_WARNINGS")
;; ... which they then completly ignore !!
#:phases
(alist-cons-before
'configure 'ignore-deprecations
(lambda _
(substitute* "linc2/src/Makefile.in"
(("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS")))
%standard-phases)))
(inputs `(("glib" ,glib)
("libidl" ,libidl)))
(native-inputs
`(("pkg-config" ,pkg-config)))
(home-page "https://projects.gnome.org/orbit2/")
(synopsis "CORBA 2.4-compliant Object Request Broker")
(description "orbit2 is a CORBA 2.4-compliant Object Request Broker (orb)
featuring mature C, C++ and Python bindings.")
;; Licence notice is unclear. The Web page simply say "GPL" without giving a version.
;; SOME of the code files have licence notices for GPLv2+
;; The tarball contains files of the text of GPLv2 and LGPLv2
(license license:gpl2+)))
(define-public libbonobo
(package
(name "libbonobo")
(version "2.32.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
(string-join (take (string-split version #\.) 2)
".")
"/" name "-" version ".tar.bz2"))
(sha256
(base32 "0swp4kk6x7hy1rvd1f9jba31lvfc6qvafkvbpg9h0r34fzrd8q4i"))
(patches (list (search-patch "libbonobo-activation-test-race.patch")))))
(build-system gnu-build-system)
(arguments
;; The programmer kindly gives us a hook to turn off deprecation warnings ...
`(#:configure-flags
'("DISABLE_DEPRECATED_CFLAGS=-DGLIB_DISABLE_DEPRECATION_WARNINGS")
;; ... which they then completly ignore !!
#:phases
(alist-cons-before
'configure 'ignore-deprecations
(lambda _
(substitute* "activation-server/Makefile.in"
(("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS")))
%standard-phases)))
(inputs `(("popt" ,popt)
("libxml2" ,libxml2)))
;; The following are Required by the .pc file
(propagated-inputs
`(("glib" ,glib)
("orbit2" ,orbit2)))
(native-inputs
`(("intltool" ,intltool)
("pkg-config" ,pkg-config)
("glib" ,glib "bin") ; for glib-genmarshal, etc.
("flex" ,flex)
("bison" ,bison)))
(home-page "https://developer.gnome.org/libbonobo/")
(synopsis "Framework for creating reusable components for use in GNOME applications")
(description "Bonobo is a framework for creating reusable components for
use in GNOME applications, built on top of CORBA.")
;; Licence not explicitly stated. Source files contain no licence notices.
;; Tarball contains text of both GPLv2 and LGPLv2
;; GPLv2 covers both conditions
(license license:gpl2+)))
(define-public gconf
(package
(name "gconf")
(version "3.2.6")
(source (origin
(method url-fetch)
(uri
(let ((upstream-name "GConf"))
(string-append
"mirror://gnome/sources/" upstream-name "/" (string-take version 3) "/" upstream-name "-"
version
".tar.xz")))
(sha256
(base32 "0k3q9nh53yhc9qxf1zaicz4sk8p3kzq4ndjdsgpaa2db0ccbj4hr"))))
(build-system gnu-build-system)
(inputs `(("glib" ,glib)
("dbus" ,dbus)
("dbus-glib" ,dbus-glib)
("libxml2" ,libxml2)))
(propagated-inputs `(("orbit2" ,orbit2))) ; referred to in the .pc file
(native-inputs
`(("intltool" ,intltool)
("glib" ,glib "bin") ; for glib-genmarshal, etc.
("pkg-config" ,pkg-config)))
(home-page "https://projects.gnome.org/gconf/")
(synopsis "store application preferences")
(description "gconf is a system for storing application preferences. It
is intended for user preferences; not arbitrary data storage.")
(license license:lgpl2.0+)))
(define-public gnome-mime-data
(package
(name "gnome-mime-data")
(version "2.18.0")
(source (origin
(method url-fetch)
(uri (string-append
"mirror://gnome/sources/" name "/" (string-take version 4) "/" name "-"
version
".tar.bz2"))
(sha256
(base32
"1mvg8glb2a40yilmyabmb7fkbzlqd3i3d31kbkabqnq86xdnn69p"))))
(build-system gnu-build-system)
(native-inputs
`(("perl" ,perl)
("intltool" ,intltool)))
(home-page "http://www.gnome.org")
(synopsis "base MIME and Application database for GNOME")
(description "GNOME Mime Data is a module which contains the base MIME
and Application database for GNOME. The data stored by this module is
designed to be accessed through the MIME functions in GnomeVFS.")
(license license:gpl2+)))
(define-public gnome-vfs
(package
(name "gnome-vfs")
(version "2.24.4")
(source (origin
(method url-fetch)
(uri (string-append
"mirror://gnome/sources/" name "/" (string-take version 4) "/" name "-"
version
".tar.bz2"))
(sha256
(base32 "1ajg8jb8k3snxc7rrgczlh8daxkjidmcv3zr9w809sq4p2sn9pk2"))))
(build-system gnu-build-system)
(arguments
;; The programmer kindly gives us a hook to turn off deprecation warnings ...
`(#:configure-flags '("DISABLE_DEPRECATED_CFLAGS=-DGLIB_DISABLE_DEPRECATION_WARNINGS")
;; ... which they then completly ignore !!
#:phases
(alist-cons-before
'configure 'ignore-deprecations
(lambda _
(begin
(substitute* "libgnomevfs/Makefile.in"
(("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS"))
(substitute* "daemon/Makefile.in"
(("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS"))))
%standard-phases)))
(inputs `(("glib" ,glib)
("libxml2" ,libxml2)
("dbus-glib" ,dbus-glib)
("dbus" ,dbus)
("gconf" ,gconf)
("gnome-mime-data" ,gnome-mime-data)
("zlib" ,zlib)))
(native-inputs
`(("glib" ,glib "bin") ; for glib-mkenums, etc.
("intltool" ,intltool)
("pkg-config" ,pkg-config)))
(home-page "https://developer.gnome.org/gnome-vfs/")
(synopsis "access files and folders in GNOME applications")
(description "GnomeVFS is the core library used to access files and
folders in GNOME applications. It provides a file system abstraction which
allows applications to access local and remote files with a single consistent API.")
(license license:lgpl2.0+)))
(define-public libgnome
(package
(name "libgnome")
(version "2.32.1")
(source (origin
(method url-fetch)
(uri (string-append
"mirror://gnome/sources/" name "/"
(string-take version 4) "/" name "-"
version
".tar.bz2"))
(sha256
(base32
"197pnq8y0knqjhm2fg4j6hbqqm3qfzfnd0irhwxpk1b4hqb3kimj"))))
(build-system gnu-build-system)
(arguments
`(#:phases
(alist-cons-before
'configure 'enable-deprecated
(lambda _
(substitute* "libgnome/Makefile.in"
(("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS")))
%standard-phases)))
(inputs `(("popt" ,popt)
("libxml2" ,libxml2)))
(native-inputs
`(("glib" ,glib "bin") ; for glib-mkenums, etc.
("intltool" ,intltool)
("pkg-config" ,pkg-config)))
;; The following are listed as Required in the .pc file
;; (except for libcanberra -- which seems to be oversight on the part
;; of the upstream developers -- anything that links against libgnome,
;; must also link against libcanberra
(propagated-inputs
`(("libcanberra" ,libcanberra)
("libbonobo" ,libbonobo)
("gconf" ,gconf)
("gnome-vfs" ,gnome-vfs)
("glib" ,glib)))
(home-page "https://developer.gnome.org/libgnome/")
(synopsis "Useful routines for building applications")
(description "The libgnome library provides a number of useful routines
for building modern applications, including session management, activation of
files and URIs, and displaying help.")
(license license:lgpl2.0+)))
(define-public libart-lgpl
(package
(name "libart-lgpl")
(version "2.3.9")
(source (origin
(method url-fetch)
(uri (let ((upstream-name "libart_lgpl"))
(string-append
"mirror://gnome/sources/" upstream-name "/"
(string-take version 3) "/" upstream-name "-" version
".tar.bz2")))
(sha256
(base32
"072r4svs4hjf2f4gxzx02n3f970kdv9fpx54r2m8bd42fjyyawrw"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
(home-page "https://people.gnome.org/~mathieu/libart")
(synopsis "2D drawing library")
(description "Libart is a 2D drawing library intended as a
high-quality vector-based 2D library with antialiasing and alpha composition.")
(license license:lgpl2.0+)))
(define-public libgnomecanvas
(package
(name "libgnomecanvas")
(version "2.30.3")
(source (origin
(method url-fetch)
(uri (string-append
"mirror://gnome/sources/" name "/" (string-take version 4) "/" name "-"
version
".tar.gz"))
(sha256
(base32
"1nhnq4lfkk8ljkdafscwaggx0h95mq0rxnd7zgqyq0xb6kkqbjm8"))))
(build-system gnu-build-system)
;; Mentioned as Required in the .pc file
(propagated-inputs `(("libart-lgpl" ,libart-lgpl)
("gtk+" ,gtk+-2)))
(native-inputs
`(("intltool" ,intltool)
("glib" ,glib "bin") ; for glib-genmarshal, etc.
("pkg-config" ,pkg-config)))
(home-page "https://developer.gnome.org/libgnomecanvas/")
(synopsis "Flexible widget for creating interactive structured graphics")
(description "The GnomeCanvas widget provides a flexible widget for
creating interactive structured graphics.")
(license license:lgpl2.0+)))
(define-public libgnomeui
(package
(name "libgnomeui")
(version "2.24.5")
(source (origin
(method url-fetch)
(uri (string-append
"mirror://gnome/sources/" name "/" (string-take version 4) "/" name "-"
version
".tar.bz2"))
(sha256
(base32
"03rwbli76crkjl6gp422wrc9lqpl174k56cp9i96b7l8jlj2yddf"))))
(build-system gnu-build-system)
;; Mentioned as Required in the .pc file
(propagated-inputs `(("libgnome" ,libgnome)
("libgnome-keyring" ,libgnome-keyring)))
(inputs `(("libgnomecanvas" ,libgnomecanvas)
("libbonoboui" ,libbonoboui)
("libjpeg" ,libjpeg)
("popt" ,popt)
("libbonobo" ,libbonobo)
("libxml2" ,libxml2)
("libglade" ,libglade)))
(native-inputs
`(("glib" ,glib "bin") ; for glib-mkenums, etc.
("intltool" ,intltool)
("pkg-config" ,pkg-config)))
(home-page "https://developer.gnome.org/libgnomeui/")
(synopsis "Additional widgets for applications")
(description "The libgnomeui library provides additional widgets for
applications. Many of the widgets from libgnomeui have already been ported to GTK+.")
(license license:lgpl2.0+)))
(define-public libglade
(package
(name "libglade")
(version "2.6.4")
(source (origin
(method url-fetch)
(uri (string-append
"mirror://gnome/sources/" name "/" (string-take version 3) "/" name "-"
version
".tar.bz2"))
(sha256
(base32
"1v2x2s04jry4gpabws92i0wq2ghd47yr5n9nhgnkd7c38xv1wdk4"))))
(build-system gnu-build-system)
(inputs
`(("gtk+-2" ,gtk+-2)
("libxml2" ,libxml2)
("python" ,python))) ;; needed for the optional libglade-convert program
(native-inputs
`(("pkg-config" ,pkg-config)))
(home-page "https://developer.gnome.org/libglade")
(synopsis "load glade interfaces and access the glade built widgets")
(description "libglade is a library that provides interfaces for loading
graphical interfaces described in glade files and for accessing the
widgets built in the loading process.")
(license license:gpl2+))) ; This is correct. GPL not LGPL
(define-public libgnomeprint
(package
(name "libgnomeprint")
(version "2.8.2")
(source (origin
(method url-fetch)
(uri (string-append
"mirror://gnome/sources/" name "/" (string-take version 3) "/" name "-"
version
".tar.bz2"))
(sha256
(base32
"129ka3nn8gx9dlfry17ib79azxk45wzfv5rgqzw6dwx2b5ns8phm"))))
(build-system gnu-build-system)
(inputs
`(("popt" ,popt)
("libart-lgpl" ,libart-lgpl)
("gtk+" ,gtk+-2)
("libxml2" ,libxml2)))
(native-inputs
`(("intltool" ,intltool)
("glib" ,glib "bin") ; for glib-genmarshal, etc.
("pkg-config" ,pkg-config)))
(home-page "https://projects.gnome.org/gnome-print/home/faq.html")
(synopsis "printing framework for GNOME")
(description "Gnome-print is a high-quality printing framework for GNOME.")
(license license:lgpl2.0+)))
(define-public libgnomeprintui
(package
(name "libgnomeprintui")
(version "2.8.2")
(source (origin
(method url-fetch)
(uri (string-append
"mirror://gnome/sources/" name "/" (string-take version 3) "/" name "-"
version
".tar.bz2"))
(sha256
(base32
"1ivipk7r61rg90p9kp889j28xlyyj6466ypvwa4jvnrcllnaajsw"))))
(build-system gnu-build-system)
;; Mentioned as Required in the .pc file
(propagated-inputs `(("libgnomeprint" ,libgnomeprint)))
(inputs `(("gtk+" ,gtk+-2)
("glib" ,glib)
("gnome-icon-theme" ,gnome-icon-theme)
("libgnomecanvas" ,libgnomecanvas)
("libxml2" ,libxml2)))
(native-inputs
`(("intltool" ,intltool)
("pkg-config" ,pkg-config)))
(home-page "https://projects.gnome.org/gnome-print/home/faq.html")
(synopsis "Printing framework for GNOME")
(description "Gnome-print is a high-quality printing framework for GNOME.")
(license license:lgpl2.0+)))
(define-public libbonoboui
(package
(name "libbonoboui")
(version "2.24.5")
(source (origin
(method url-fetch)
(uri (string-append
"mirror://gnome/sources/" name "/"
(string-join (take (string-split version #\.) 2) ".")
"/" name "-" version ".tar.bz2"))
(sha256
(base32
"1kbgqh7bw0fdx4f1a1aqwpff7gp5mwhbaz60c6c98bc4djng5dgs"))))
(build-system gnu-build-system)
(arguments
`(#:phases
(alist-cons-before
'check 'start-xserver
(lambda* (#:key inputs #:allow-other-keys)
(let ((xorg-server (assoc-ref inputs "xorg-server"))
(disp ":1"))
(setenv "HOME" (getcwd))
(setenv "DISPLAY" disp)
;; There must be a running X server and make check doesn't start one.
;; Therefore we must do it.
(zero? (system (format #f "~a/bin/Xvfb ~a &" xorg-server disp)))))
%standard-phases)))
;; Mentioned as Required by the .pc file
(propagated-inputs `(("libxml2" ,libxml2)))
(inputs
`(("popt" ,popt)
("pangox-compat" ,pangox-compat)
("libgnome" ,libgnome)
("libgnomecanvas" ,libgnomecanvas)
("libglade" ,libglade)))
(native-inputs
`(("glib" ,glib "bin") ; for glib-genmarshal, etc.
("intltool" ,intltool)
("xorg-server" ,xorg-server) ; For running the tests
("pkg-config" ,pkg-config)))
(home-page "https://developer.gnome.org/libbonoboui/")
(synopsis "Some user interface controls using Bonobo")
(description "The Bonobo UI library provides a number of user interface
controls using the Bonobo component framework.")
(license license:lgpl2.0+)))
(define-public goffice
(package
(name "goffice")
(version "0.10.14")
(source (origin
(method url-fetch)
(uri (string-append
"mirror://gnome/sources/" name "/"
(string-take version 4) "/" name "-"
version ".tar.xz"))
(sha256
(base32 "0kj0iwng6w4axm7yv2zy7myn5dhw5ilrlq2pzrjlm9i852ikqy60"))))
(build-system gnu-build-system)
(inputs
`(("gtk+" ,gtk+)
("libgsf" ,libgsf)
("librsvg" ,librsvg)
("libxslt" ,libxslt)
("libxml2" ,libxml2)))
(native-inputs
`(("intltool" ,intltool)
("pkg-config" ,pkg-config)))
(home-page "https://developer.gnome.org/goffice/")
(synopsis "Document-centric objects and utilities")
(description "A GLib/GTK+ set of document-centric objects and utilities.")
(license
;; Dual licensed under GPLv2 or GPLv3 (both without "or later")
;; Note: NOT LGPL
(list license:gpl2 license:gpl3))))
(define-public gnumeric
(package
(name "gnumeric")
(version "1.12.17")
(source (origin
(method url-fetch)
(uri (string-append
"mirror://gnome/sources/" name "/"
(string-take version 4) "/" name "-" version
".tar.xz"))
(sha256
(base32
"18bvc3phghr4p5440fp8hm6gvp53d3mqs9cyc637zpmk0b6bcp7c"))))
(build-system gnu-build-system)
(arguments
`(;; The gnumeric developers don't worry much about failing tests.
;; See https://bugzilla.gnome.org/show_bug.cgi?id=732387
#:tests? #f
#:phases
(alist-cons-before
'configure 'pre-conf
(lambda* (#:key outputs #:allow-other-keys)
;; Make install tries to write into the directory of goffice
;; I am informed that this only affects the possibility to embed a
;; spreadsheet inside an Abiword document. So presumably when we
;; package Abiword we'll have to refer it to this directory.
(substitute* "configure"
(("^GOFFICE_PLUGINS_DIR=.*")
(string-append "GOFFICE_PLUGINS_DIR="
(assoc-ref outputs "out") "/goffice/plugins"))))
%standard-phases)))
(inputs
`(("glib" ,glib)
("gtk+" ,gtk+)
("goffice" ,goffice)
("libgsf" ,libgsf)
("libxml2" ,libxml2)
("zlib" ,zlib)))
(native-inputs
`(("intltool" ,intltool)
("pkg-config" ,pkg-config)))
(home-page "http://www.gnumeric.org")
(synopsis "Spreadsheet application")
(description
"GNUmeric is a GNU spreadsheet application, running under GNOME. It is
interoperable with other spreadsheet applications. It has a vast array of
features beyond typical spreadsheet functionality, such as support for linear
and non-linear solvers, statistical analysis, and telecommunication
engineering.")
(license
;; Dual licensed under GPLv2 or GPLv3 (both without "or later")
(list license:gpl2 license:gpl3))))
+3 -4
View File
@@ -30,8 +30,7 @@
#:use-module (gnu packages groff)
#:use-module (gnu packages gstreamer)
#:use-module (gnu packages libidn)
#:use-module (gnu packages libjpeg)
#:use-module (gnu packages libtiff)
#:use-module (gnu packages image)
#:use-module (gnu packages libunistring)
#:use-module (gnu packages maths)
#:use-module (gnu packages openssl)
@@ -105,14 +104,14 @@ tool to extract metadata from a file and print the results.")
(define-public libmicrohttpd
(package
(name "libmicrohttpd")
(version "0.9.34")
(version "0.9.37")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/libmicrohttpd/libmicrohttpd-"
version ".tar.gz"))
(sha256
(base32
"122snbhhn10s8az46f0lrkirhj0k38lq7hmqav3n1prdzpabz8i9"))))
"1p3wnhr43v6vqdgl86r76298wjfxz2ihj9zh9kpz8l7va30br357"))))
(build-system gnu-build-system)
(inputs
`(("curl" ,curl)
+21 -23
View File
@@ -40,7 +40,7 @@
(define-public libgpg-error
(package
(name "libgpg-error")
(version "1.12")
(version "1.13")
(source
(origin
(method url-fetch)
@@ -48,7 +48,7 @@
version ".tar.bz2"))
(sha256
(base32
"0pz58vr12qihq2f0bypjxsb6cf6ajq5258fmfm8s6lvwm3b9xz6a"))))
"02lv5h865f8if391xjp3njg04k0l4x2pwjkcdbzcwilail1skazq"))))
(build-system gnu-build-system)
(home-page "http://gnupg.org")
(synopsis
@@ -168,15 +168,14 @@ specifications are building blocks of S/MIME and TLS.")
(define-public gnupg
(package
(name "gnupg")
(version "2.0.22")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://gnupg/gnupg/gnupg-" version
".tar.bz2"))
(sha256
(base32
"0lg210acj2rxq291q4cwamg9gx6gh2prb1xa93y5jhw5b6r0lza3"))))
(version "2.0.25")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnupg/gnupg/gnupg-" version
".tar.bz2"))
(sha256
(base32
"08sqdkybgw4jkdkcyz1bi6y8irj87hpr5b12lkb57kwny1yykaxk"))))
(build-system gnu-build-system)
(inputs
`(("bzip2" ,guix:bzip2)
@@ -204,21 +203,20 @@ specifications are building blocks of S/MIME and TLS.")
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).")
components), libgpg-error (centralized GnuPG error values), and
libskba (working with X.509 certificates and CMS data).")
(license gpl3+)))
(define-public gnupg-1
(package (inherit gnupg)
(version "1.4.16")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://gnupg/gnupg/gnupg-" version
".tar.bz2"))
(sha256
(base32
"0bsa1yqa3ybhvmc4ys73amdpcmckrlq1fsxjl2980cxada778fvv"))))
(version "1.4.18")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnupg/gnupg/gnupg-" version
".tar.bz2"))
(sha256
(base32
"1233bppjvdpbbl425ii6l7xvgy0879ghhnmwrph5b6c4g3dgvddp"))))
(inputs
`(("zlib" ,guix:zlib)
("bzip2" ,guix:bzip2)
@@ -279,7 +277,7 @@ and every application benefits from this.")
"1g1jly3wl4ks6h8ydkygyl2c4i7v3z91rg42005m6vm70y1d8b3d"))))
(build-system gnu-build-system)
(inputs `(("perl" ,perl)
("python" ,python-wrapper)
("python" ,python-2) ; uses the Python 2 'print' syntax
("gpg" ,gnupg)))
(arguments
`(#:tests? #f
+1 -1
View File
@@ -23,7 +23,7 @@
#:use-module (guix licenses)
#:use-module (gnu packages xorg)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages libjpeg)
#:use-module (gnu packages image)
#:use-module (gnu packages pkg-config))
(define-public windowmaker
+4 -4
View File
@@ -36,7 +36,7 @@
(define-public libtasn1
(package
(name "libtasn1")
(version "3.4")
(version "3.6")
(source
(origin
(method url-fetch)
@@ -44,7 +44,7 @@
version ".tar.gz"))
(sha256
(base32
"1j5cwsjk9wai700ljsr5qyzywijrr5ba05hhg4mkgqlg8mx50lzk"))))
"0c547qa1vfk1x2jzgjhf65izf4sfi86c6g46q7779g4aldk4gqqr"))))
(build-system gnu-build-system)
(native-inputs `(("perl" ,perl)
@@ -63,7 +63,7 @@ specifications.")
(define-public gnutls
(package
(name "gnutls")
(version "3.2.12")
(version "3.2.15")
(source (origin
(method url-fetch)
(uri
@@ -75,7 +75,7 @@ specifications.")
"/gnutls-" version ".tar.xz"))
(sha256
(base32
"0195nliarszq5mginli6d2f5z7ljnd7mwa46iy9z8pkcgy56khbl"))))
"1fbpr9r1r2y803s3avwjpy1higqsz85dyb302kvmh0i29frwgg9h"))))
(build-system gnu-build-system)
(arguments
;; Work around build issue reported at
+1 -2
View File
@@ -32,8 +32,7 @@
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages compression)
#:use-module (gnu packages libevent)
#:use-module (gnu packages libjpeg)
#:use-module (gnu packages libpng)
#:use-module (gnu packages image)
#:use-module (gnu packages libffi)
#:use-module (gnu packages python)
#:use-module (gnu packages xorg)
+1 -2
View File
@@ -25,8 +25,7 @@
#: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 image)
#:use-module (gnu packages autotools)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages fontutils)
+6 -2
View File
@@ -51,6 +51,7 @@
(native-inputs
`(("bison" ,bison)
("flex" ,flex)
("glib" ,glib "bin")
("perl" ,perl)
("pkg-config" ,pkg-config)
("python-wrapper" ,python-wrapper)))
@@ -60,7 +61,7 @@
"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.
(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
@@ -91,6 +92,7 @@ This package provides the core library and elements.")
("flex" ,flex)
("perl" ,perl)
("pkg-config" ,pkg-config)
("glib" ,glib "bin")
("python" ,python-2)))))
(define-public gst-plugins-base
@@ -112,6 +114,7 @@ This package provides the core library and elements.")
("gstreamer" ,gstreamer)))
(native-inputs
`(("pkg-config" ,pkg-config)
("glib" ,glib "bin")
("python-wrapper" ,python-wrapper)))
(arguments
`(#:tests? #f))
@@ -154,4 +157,5 @@ This package provides an essential exemplary set of elements.")
("gstreamer" ,gstreamer-0.10)))
(native-inputs
`(("pkg-config" ,pkg-config)
("python" ,python-2)))))
("glib" ,glib "bin")
("python" ,python-2)))))
+51 -49
View File
@@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013, 2014 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -29,9 +29,7 @@
#: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 image)
#:use-module (gnu packages pdf)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
@@ -53,9 +51,11 @@
(base32
"1c2hbg66wfvibsz2ia0ri48yr62751fn950i97c53j3b0fjifsb3"))))
(build-system gnu-build-system)
(inputs `(("glib" ,glib)
("gobject-introspection" ,gobject-introspection)))
(native-inputs `(("pkg-config" ,pkg-config)))
(inputs `(("glib" ,glib)))
(native-inputs
`(("pkg-config" ,pkg-config)
("glib" ,glib "bin") ; glib-mkenums, etc.
("gobject-introspection" ,gobject-introspection))) ; g-ir-compiler, etc.
(synopsis "GNOME accessibility toolkit")
(description
"ATK provides the set of accessibility interfaces that are implemented
@@ -156,10 +156,11 @@ affine transformation (scale, rotation, shear, etc.)")
`(("cairo" ,cairo)
("harfbuzz" ,harfbuzz)))
(inputs
`(("gobject-introspection" ,gobject-introspection)
("zlib" ,zlib)))
`(("zlib" ,zlib)))
(native-inputs
`(("pkg-config" ,pkg-config)))
`(("pkg-config" ,pkg-config)
("glib" ,glib "bin") ; glib-mkenums, etc.
("gobject-introspection" ,gobject-introspection))) ; g-ir-compiler, etc.
(synopsis "GNOME text and font handling library")
(description
"Pango is the core text and font handling library used in GNOME
@@ -168,6 +169,33 @@ used throughout the world.")
(license license:lgpl2.0+)
(home-page "https://developer.gnome.org/pango/")))
(define-public pangox-compat
(package
(name "pangox-compat")
(version "0.0.2")
(source (origin
(method url-fetch)
(uri (string-append
"mirror://gnome/sources/" name "/" (string-take version 3) "/" name "-"
version
".tar.xz"))
(sha256
(base32
"0ip0ziys6mrqqmz4n71ays0kf5cs1xflj1gfpvs4fgy2nsrr482m"))))
(build-system gnu-build-system)
(inputs
`(("glib" ,glib)
("pango" ,pango)))
(native-inputs
`(("intltool" ,intltool)
("pkg-config" ,pkg-config)))
(home-page "https://developer.gnome.org/pango")
(synopsis "functions now obsolete in pango")
(description "Pangox was a X backend to pango. It is now obsolete and no
longer provided by recent pango releases. pangox-compat provides the
functions which were removed.")
(license license:lgpl2.0+)))
(define-public gtksourceview
(package
@@ -189,7 +217,8 @@ used throughout the world.")
("xorg-server" ,xorg-server)
("shared-mime-info" ,shared-mime-info)))
(native-inputs
`(("intltool" ,intltool)
`(("intltool" ,intltool)
("glib" ,glib "bin") ; for glib-genmarshal, etc.
("pkg-config" ,pkg-config)))
(arguments
`(#:phases
@@ -236,12 +265,13 @@ printing and other features typical of a source code editor.")
(build-system gnu-build-system)
(inputs
`(("glib" ,glib)
("gobject-introspection", gobject-introspection)
("libjpeg" ,libjpeg)
("libpng" ,libpng)
("libtiff" ,libtiff)))
(native-inputs
`(("pkg-config" ,pkg-config)))
`(("pkg-config" ,pkg-config)
("glib" ,glib "bin") ; glib-mkenums, etc.
("gobject-introspection", gobject-introspection))) ; g-ir-compiler, etc.
(synopsis "GNOME image loading and manipulation library")
(description
"GdkPixbuf is a library for image loading and manipulation developed
@@ -327,6 +357,7 @@ is part of the GNOME accessibility project.")
("pango" ,pango)))
(native-inputs
`(("perl" ,perl)
("glib" ,glib "bin")
("pkg-config" ,pkg-config)
("python-wrapper" ,python-wrapper)))
(arguments
@@ -366,21 +397,16 @@ application suites.")
("libxinerama" ,libxinerama)
("pango" ,pango)))
(inputs
`(("gobject-introspection" ,gobject-introspection)
("libxml2" ,libxml2)))
`(("libxml2" ,libxml2)))
(native-inputs
`(("perl" ,perl)
`(("perl" ,perl)
("glib" ,glib "bin")
("pkg-config" ,pkg-config)
("gobject-introspection" ,gobject-introspection)
("python-wrapper" ,python-wrapper)
("xorg-server" ,xorg-server)))
(arguments
`(#:modules ((guix build gnome)
(guix build gnu-build-system)
(guix build utils))
#:imported-modules ((guix build gnome)
(guix build gnu-build-system)
(guix build utils))
#:phases
`(#:phases
(alist-replace
'configure
(lambda* (#:key inputs #:allow-other-keys #:rest args)
@@ -391,32 +417,8 @@ application suites.")
;; directory.
;; See the manual page for dbus-uuidgen to correct this issue.
(substitute* "testsuite/Makefile.in"
(("SUBDIRS = gdk gtk a11y css reftests") "SUBDIRS = gdk"))
;; We need to tell GIR where it can find some of the required .gir
;; files.
(substitute* "gdk/Makefile.in"
(("--add-include-path=../gdk")
(string-append
"--add-include-path=../gdk"
" --add-include-path=" (gir-directory inputs "gdk-pixbuf")
" --add-include-path=" (gir-directory inputs "pango")))
(("--includedir=\\.")
(string-append "--includedir=."
" --includedir=" (gir-directory inputs "gdk-pixbuf")
" --includedir=" (gir-directory inputs "pango"))))
(substitute* "gtk/Makefile.in"
(("--add-include-path=../gdk")
(string-append "--add-include-path=../gdk"
" --add-include-path=" (gir-directory inputs "atk")
" --add-include-path=" (gir-directory inputs "gdk-pixbuf")
" --add-include-path=" (gir-directory inputs "pango")))
(("--includedir=../gdk")
(string-append "--includedir=../gdk"
" --includedir=" (gir-directory inputs "atk")
" --includedir=" (gir-directory inputs "gdk-pixbuf")
" --includedir=" (gir-directory inputs "pango"))))
(("SUBDIRS = gdk gtk a11y css reftests")
"SUBDIRS = gdk"))
(apply configure args)))
%standard-phases)))))
+8 -6
View File
@@ -242,12 +242,14 @@ many readers as needed).")
version ".tar.gz"))
(sha256
(base32
"070wl664lsm14hb6y9ch97x9q6cns4k6nxgdzbdzi5byixn74899"))))
"070wl664lsm14hb6y9ch97x9q6cns4k6nxgdzbdzi5byixn74899"))
(patches (list (search-patch "guile-ncurses-tests.patch")))))
(build-system gnu-build-system)
(inputs `(("ncurses" ,ncurses)
("guile" ,guile-2.0)))
(arguments
'(#:configure-flags (list (string-append "--with-guilesitedir="
'(#:configure-flags (list "--with-ncursesw" ; Unicode support
(string-append "--with-guilesitedir="
(assoc-ref %outputs "out")
"/share/guile/site/2.0"))
#:phases (alist-cons-after
@@ -271,18 +273,18 @@ library.")
(define-public mcron
(package
(name "mcron")
(version "1.0.6")
(version "1.0.8")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/mcron/mcron-"
version ".tar.gz"))
(sha256
(base32
"0yvrfzzdy2m7fbqkr61fw01wd9r2jpnbyabxhcsfivgxywknl0fy"))
"0zparwgf01jgl1x53ik71ghabldq6zz18ha4dscps1i0qrzgap1b"))
(patches (list (search-patch "mcron-install.patch")))))
(build-system gnu-build-system)
(inputs
`(("ed" ,ed) ("which" ,which) ("guile" ,guile-1.8)))
(native-inputs `(("pkg-config" ,pkg-config)))
(inputs `(("ed" ,ed) ("which" ,which) ("guile" ,guile-2.0)))
(home-page "http://www.gnu.org/software/mcron/")
(synopsis "Run jobs at scheduled times")
(description
+4 -3
View File
@@ -28,7 +28,7 @@
(define-public icu4c
(package
(name "icu4c")
(version "52.1")
(version "53.1")
(source (origin
(method url-fetch)
(uri (string-append "http://download.icu-project.org/files/icu4c/"
@@ -36,8 +36,9 @@
"/icu4c-"
(string-map (lambda (x) (if (char=? x #\.) #\_ x)) version)
"-src.tgz"))
(sha256 (base32
"14l0kl17nirc34frcybzg0snknaks23abhdxkmsqg3k9sil5wk9g"))))
(sha256
(base32 "0a4sg9w054640zncb13lhrcjqn7yg1qilwd1mczc4w60maslz9vg"))
(patches (list (search-patch "icu4c-test-date-format.patch")))))
(build-system gnu-build-system)
(inputs
`(("patchelf" ,patchelf)
+122
View File
@@ -0,0 +1,122 @@
;;; 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 image)
#:use-module (gnu packages)
#:use-module (gnu packages compression)
#:use-module (gnu packages file)
#: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 libpng
(package
(name "libpng")
(version "1.5.17")
(source (origin
(method url-fetch)
;; Note: upstream removes older tarballs.
(uri (list (string-append "mirror://sourceforge/libpng/libpng15/"
version "/libpng-" version ".tar.xz")
(string-append
"ftp://ftp.simplesystems.org/pub/libpng/png/src"
"/libpng15/libpng-" version ".tar.xz")))
(sha256
(base32 "19wj293r4plbfgb43yhrc2qx8bsch9gbazazfqrj9haa7lsk29jp"))))
(build-system gnu-build-system)
;; libpng.la says "-lz", so propagate it.
(propagated-inputs `(("zlib" ,zlib)))
(synopsis "Library for handling PNG files")
(description
"Libpng is the official PNG (Portable Network Graphics) reference
library. It supports almost all PNG features and is extensible.")
(license license:zlib)
(home-page "http://www.libpng.org/pub/png/libpng.html")))
(define-public libjpeg
(package
(name "libjpeg")
(version "9")
(source (origin
(method url-fetch)
(uri (string-append "http://www.ijg.org/files/jpegsrc.v"
version ".tar.gz"))
(sha256 (base32
"0dg5wxcx3cw0hal9gvivj97vid9z0s5sb1yvg55hpxmafn9rxqn4"))))
(build-system gnu-build-system)
(synopsis "Libjpeg, a library for handling JPEG files")
(description
"Libjpeg implements JPEG image encoding, decoding, and transcoding.
JPEG is a standardized compression method for full-color and gray-scale
images.
The included programs provide conversion between the JPEG format and
image files in PBMPLUS PPM/PGM, GIF, BMP, and Targa file formats.")
(license license:ijg)
(home-page "http://www.ijg.org/")))
(define-public libjpeg-8
(package (inherit libjpeg)
(version "8d")
(source (origin
(method url-fetch)
(uri (string-append "http://www.ijg.org/files/jpegsrc.v"
version ".tar.gz"))
(sha256 (base32
"1cz0dy05mgxqdgjf52p54yxpyy95rgl30cnazdrfmw7hfca9n0h0"))))))
(define-public libtiff
(package
(name "libtiff")
(version "4.0.3")
(source (origin
(method url-fetch)
(uri (string-append "ftp://ftp.remotesensing.org/pub/libtiff/tiff-"
version ".tar.gz"))
(sha256 (base32
"0wj8d1iwk9vnpax2h29xqc2hwknxg3s0ay2d5pxkg59ihbifn6pa"))))
(build-system gnu-build-system)
(inputs `(("zlib" ,zlib)
("libjpeg-8" ,libjpeg-8)))
;; currently does not compile with libjpeg version 9
(native-inputs `(("file" ,file)))
(arguments
`(#:configure-flags
(list (string-append "--with-jpeg-include-dir="
(assoc-ref %build-inputs "libjpeg-8")
"/include"))
#:phases
(alist-cons-before
'configure 'patch-configure
(lambda _
(substitute* "configure"
(("`/usr/bin/file")
(string-append "`" (which "file")))))
%standard-phases)))
(synopsis "Libtiff, a library for handling TIFF files")
(description
"Libtiff provides support for the Tag Image File Format (TIFF), a format
used for storing image data.
Included are a library, libtiff, for reading and writing TIFF and a small
collection of tools for doing simple manipulations of TIFF images.")
(license (license:bsd-style "file://COPYRIGHT"
"See COPYRIGHT in the distribution."))
(home-page "http://www.libtiff.org/")))
+3 -5
View File
@@ -27,9 +27,7 @@
#:use-module (gnu packages ghostscript)
#:use-module (gnu packages graphviz)
#:use-module (gnu packages gtk)
#:use-module (gnu packages libpng)
#:use-module (gnu packages libtiff)
#:use-module (gnu packages libjpeg)
#:use-module (gnu packages image)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg))
@@ -37,14 +35,14 @@
(define-public imagemagick
(package
(name "imagemagick")
(version "6.8.8-10")
(version "6.8.9-0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://imagemagick/ImageMagick-"
version ".tar.xz"))
(sha256
(base32
"0crdazi2f1qj1ppb01f0mhqjw5q3afswgw49fa1m100bxmqpf77k"))))
"1lapn2798fkc2wn81slpms5p21kq4dsyg45khsk7n8p69cvrmw2b"))))
(build-system gnu-build-system)
(arguments
`(#:phases (alist-cons-before
+1 -1
View File
@@ -36,7 +36,7 @@
#:use-module (gnu packages xml)
#:use-module (gnu packages ghostscript)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages libpng)
#:use-module (gnu packages image)
#:use-module (gnu packages pkg-config))
(define-public inkscape
+57
View File
@@ -0,0 +1,57 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 Eric Bavier <address@hidden>
;;;
;;; 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 jrnl)
#:use-module (guix packages)
#:use-module (guix licenses)
#:use-module (guix download)
#:use-module (guix build-system python)
#:use-module (gnu packages python))
(define-public jrnl
(package
(name "jrnl")
(version "1.8.4")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/maebert/jrnl/archive/"
version ".tar.gz"))
(sha256
(base32
"019ky09sj5i7frmca0imv4jm46mn3f4lzah2wmiwxh22cisj7ksn"))))
(build-system python-build-system)
(native-inputs
`(("python-setuptools" ,python-setuptools)
("behave" ,behave)))
(inputs
`(("python" ,python)
("python-keyring" ,python-keyring)
("python-pycrypto" ,python-pycrypto)
("python-pytz" ,python-pytz)
("python-tzlocal" ,python-tzlocal)
("python-six" ,python-six)
("python-dateutil" , python-dateutil-2)
("python-parsedatetime" ,python-parsedatetime)))
(home-page "http://maebert.github.io/jrnl/")
(synopsis "Personal journal application")
(description
"Jrnl is a command line journal application that stores your journal in a
plain text file. Optionally, your journal can be encrypted using 256-bit AES
encryption.")
(license x11)))
+129 -2
View File
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2013, 2014 Andreas Enge <andreas@enge.fr>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -17,14 +17,22 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages kde)
#:use-module ((guix licenses) #:select (bsd-2 lgpl2.1+))
#:use-module ((guix licenses) #:select (bsd-2 lgpl2.0+ lgpl2.1 lgpl2.1+))
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system cmake)
#:use-module (gnu packages compression)
#:use-module (gnu packages doxygen)
#:use-module (gnu packages geeqie)
#:use-module (gnu packages glib)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages pulseaudio)
#:use-module (gnu packages python)
#:use-module (gnu packages qt)
#:use-module (gnu packages rdf)
#:use-module (gnu packages video)
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg))
(define-public automoc4
@@ -78,3 +86,122 @@
(synopsis "Qt 4 multimedia API")
(description "KDE desktop environment")
(license lgpl2.1+)))
(define-public qjson
(package
(name "qjson")
(version "0.8.1")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/flavio/qjson/archive/"
version ".tar.gz"))
(sha256
(base32
"163fspi0xc705irv79qw861fmh68pjyla9vx3kqiq6xrdhb9834j"))))
(build-system cmake-build-system)
(inputs
`(("qt" ,qt-4)))
(arguments
`(#:tests? #f)) ; no test target
(home-page "http://qjson.sourceforge.net/")
(synopsis "Qt-based library for handling JSON")
(description "QJson is a Qt-based library that maps JSON data to QVariant
objects and vice versa. JSON arrays are mapped to QVariantList instances,
while JSON objects are mapped to QVariantMap.")
(license lgpl2.1+)))
(define-public libdbusmenu-qt
(package
(name "libdbusmenu-qt")
(version "0.9.2")
(source (origin
(method url-fetch)
(uri (string-append "https://launchpad.net/" name "/trunk/"
version "/+download/"
name "-" version ".tar.bz2"))
(sha256
(base32
"1v0ri5g9xw2z64ik0kx0ra01v8rpjn2kxprrxppkls1wvav1qv5f"))))
(build-system cmake-build-system)
(native-inputs
`(("doxygen" ,doxygen) ; used for static documentation
("pkg-config" ,pkg-config)
("qjson", qjson))) ; used for the tests
(inputs
`(("qt" ,qt-4)))
(arguments
`(#:tests? #f)) ; no check target
(home-page "https://launchpad.net/libdbusmenu-qt/")
(synopsis "Qt implementation of the DBusMenu protocol")
(description "The library provides a Qt implementation of the DBusMenu
protocol. The DBusMenu protocol makes it possible for applications to export
and import their menus over DBus.")
(license lgpl2.0+)))
(define-public attica
(package
(name "attica")
(version "0.4.2")
(source (origin
(method url-fetch)
(uri (string-append "http://download.kde.org/stable/"
name "/"
name "-" version ".tar.bz2"))
(sha256
(base32
"1y74gsyzi70dfr9d1f1b08k130rm3jaibsppg8dv5h3211vm771v"))))
(build-system cmake-build-system)
(inputs
`(("qt" ,qt-4)))
(home-page "https://projects.kde.org/projects/kdesupport/attica")
(synopsis "Qt library for the Open Collaboration Services API")
(description "Attica is a Qt library that implements the Open
Collaboration Services API version 1.6. It grants easy access to the
services such as querying information about persons and contents. The
library is used in KNewStuff3 as content provider. In order to integrate
with KDE's Plasma Desktop, a platform plugin exists in kdebase.")
(license lgpl2.1+)))
(define-public strigi
(package
(name "strigi")
(version "0.7.8")
(source (origin
(method url-fetch)
(uri (string-append "http://www.vandenoever.info/software/"
name "/"
name "-" version ".tar.bz2"))
(sha256
(base32
"12grxzqwnvbyqw7q1gnz42lypadxmq89vk2qpxczmpmc4nk63r23"))))
(build-system cmake-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
;; FIXME: Add optional inputs XAttr, FAM, Log4cxx
(inputs
`(("clucene" ,clucene)
("dbus" ,dbus)
("exiv2" ,exiv2)
("ffmpeg" ,ffmpeg)
("libxml2" ,libxml2)
("perl" ,perl)
("python" ,python-wrapper)
("qt" ,qt-4)
("zlib" ,zlib)))
(arguments
`(#:tests? #f)) ; FIXME: Test 23/25 ProcessInputStreamTest fails.
(home-page "http://www.vandenoever.info/software/strigi/")
(synopsis "Desktop search daemon")
(description "Strigi is a desktop search daemon with the following
main features:
very fast crawling;
very small memory footprint;
no hammering of the system;
pluggable backend, currently clucene and hyperestraier, sqlite3 and xapian
are in the works;
communication between daemon and search program over an abstract interface,
currently a simple socket;
simple interface for implementing plugins for extracting information;
calculation of sha1 for every file crawled
(allows fast finding of duplicates).")
(license lgpl2.0+)))
+45 -2
View File
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013, 2014 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -23,7 +23,9 @@
#:use-module (guix download)
#:use-module (guix build-system gnu)
#:use-module (gnu packages which)
#:use-module (gnu packages python))
#:use-module (gnu packages python)
#:use-module (gnu packages autotools)
#:use-module (gnu packages pkg-config))
(define-public libevent
(package
@@ -58,3 +60,44 @@ network servers. An application just needs to call event_dispatch() and
then add or remove events dynamically without having to change the event
loop.")
(license bsd-3)))
(define-public libuv
(package
(name "libuv")
(version "0.11.25")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/joyent/libuv/archive/v"
version ".tar.gz"))
(sha256
(base32
"1ys2wlypdbv59yywn91d5vl329z50mi7ivi3fj5rjm4mr9g3wnmr"))))
(build-system gnu-build-system)
(arguments
'(#:phases (alist-cons-before
'configure 'autogen
(lambda _
;; Fashionable people don't run 'make dist' these days, so
;; we need to do that ourselves.
(zero? (system* "./autogen.sh")))
%standard-phases)
;; XXX: Some tests want /dev/tty, attempt to make connections, etc.
#:tests? #f))
(native-inputs `(("autoconf" ,(autoconf-wrapper))
("automake" ,automake)
("libtool" ,libtool "bin")
;; libuv.pc is installed only when pkg-config is found.
("pkg-config" ,pkg-config)))
(home-page "https://github.com/joyent/libuv")
(synopsis "Library for asynchronous I/O")
(description
"libuv is a multi-platform support library with a focus on asynchronous
I/O. Among other things, it supports event loops via epoll, kqueue, and
similar IOCP, and event ports, asynchronous TCP/UDP sockets, asynchronous DNS
resolution, asynchronous file system operations, and threading primitives.")
;; A few files fall under other non-copyleft licenses; see 'LICENSE' for
;; details.
(license x11)))
+48
View File
@@ -0,0 +1,48 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 Manolis Fragkiskos Ragkousis <manolis837@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 libftdi)
#:use-module (guix licenses)
#:use-module (guix download)
#:use-module (guix packages)
#:use-module (gnu packages)
#:use-module (gnu packages libusb)
#:use-module (guix build-system cmake))
(define-public libftdi
(package
(name "libftdi")
(version "1.1")
(source (origin
(method url-fetch)
(uri (string-append
"http://www.intra2net.com/en/developer/libftdi/download/libftdi1-"
version ".tar.bz2"))
(sha256
(base32
"088yh8pxd6q53ssqndydcw1dkq51cjqyahc03lm6iip22cdazcf0"))))
(build-system cmake-build-system)
(native-inputs
`(("libusb" ,libusb)))
(home-page "http://www.intra2net.com")
(synopsis "FTDI USB driver with bitbang mode")
(description
"libFTDI is a library to talk to FTDI chips: FT232BM,
FT245BM, FT2232C, FT2232D, FT245R and FT232H including the popular
bitbangmode.")
(license lgpl2.1+)))
-56
View File
@@ -1,56 +0,0 @@
;;; 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 libjpeg)
#:use-module (gnu packages)
#:use-module (guix licenses)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu))
(define-public libjpeg
(package
(name "libjpeg")
(version "9")
(source (origin
(method url-fetch)
(uri (string-append "http://www.ijg.org/files/jpegsrc.v"
version ".tar.gz"))
(sha256 (base32
"0dg5wxcx3cw0hal9gvivj97vid9z0s5sb1yvg55hpxmafn9rxqn4"))))
(build-system gnu-build-system)
(synopsis "Libjpeg, a library for handling JPEG files")
(description
"Libjpeg implements JPEG image encoding, decoding, and transcoding.
JPEG is a standardized compression method for full-color and gray-scale
images.
The included programs provide conversion between the JPEG format and
image files in PBMPLUS PPM/PGM, GIF, BMP, and Targa file formats.")
(license ijg)
(home-page "http://www.ijg.org/")))
(define-public libjpeg-8
(package (inherit libjpeg)
(version "8d")
(source (origin
(method url-fetch)
(uri (string-append "http://www.ijg.org/files/jpegsrc.v"
version ".tar.gz"))
(sha256 (base32
"1cz0dy05mgxqdgjf52p54yxpyy95rgl30cnazdrfmw7hfca9n0h0"))))))
-52
View File
@@ -1,52 +0,0 @@
;;; 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 libpng)
#:use-module (gnu packages)
#:use-module (gnu packages compression)
#: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 libpng
(package
(name "libpng")
(version "1.5.17")
(source (origin
(method url-fetch)
;; Note: upstream removes older tarballs.
(uri (list (string-append "mirror://sourceforge/libpng/libpng15/"
version "/libpng-" version ".tar.xz")
(string-append
"ftp://ftp.simplesystems.org/pub/libpng/png/src"
"/libpng15/libpng-" version ".tar.xz")))
(sha256
(base32 "19wj293r4plbfgb43yhrc2qx8bsch9gbazazfqrj9haa7lsk29jp"))))
(build-system gnu-build-system)
;; libpng.la says "-lz", so propagate it.
(propagated-inputs `(("zlib" ,zlib)))
(synopsis "Library for handling PNG files")
(description
"Libpng is the official PNG (Portable Network Graphics) reference
library. It supports almost all PNG features and is extensible.")
(license license:zlib)
(home-page "http://www.libpng.org/pub/png/libpng.html")))
-65
View File
@@ -1,65 +0,0 @@
;;; 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 libtiff)
#:use-module (gnu packages)
#:use-module (gnu packages compression)
#:use-module (gnu packages file)
#:use-module (gnu packages libjpeg)
#:use-module ((guix licenses) #:select (bsd-style))
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu))
(define-public libtiff
(package
(name "libtiff")
(version "4.0.3")
(source (origin
(method url-fetch)
(uri (string-append "ftp://ftp.remotesensing.org/pub/libtiff/tiff-"
version ".tar.gz"))
(sha256 (base32
"0wj8d1iwk9vnpax2h29xqc2hwknxg3s0ay2d5pxkg59ihbifn6pa"))))
(build-system gnu-build-system)
(inputs `(("zlib" ,zlib)
("libjpeg-8" ,libjpeg-8)))
;; currently does not compile with libjpeg version 9
(native-inputs `(("file" ,file)))
(arguments
`(#:configure-flags
(list (string-append "--with-jpeg-include-dir="
(assoc-ref %build-inputs "libjpeg-8")
"/include"))
#:phases
(alist-cons-before
'configure 'patch-configure
(lambda _
(substitute* "configure"
(("`/usr/bin/file")
(string-append "`" (which "file")))))
%standard-phases)))
(synopsis "Libtiff, a library for handling TIFF files")
(description
"Libtiff provides support for the Tag Image File Format (TIFF), a format
used for storing image data.
Included are a library, libtiff, for reading and writing TIFF and a small
collection of tools for doing simple manipulations of TIFF images.")
(license (bsd-style "file://COPYRIGHT"
"See COPYRIGHT in the distribution."))
(home-page "http://www.libtiff.org/")))
+6 -1
View File
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2012, 2013, 2014 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -36,6 +36,11 @@
"18q620269xzpw39dwvr9zpilnl2dkw5z5kz3mxaadnpv4k3kw3b1"))))
(propagated-inputs '()) ; FIXME: add libiconv when !glibc
(build-system gnu-build-system)
(arguments
;; Work around parallel build issue whereby C files may be compiled before
;; config.h is built: see <http://hydra.gnu.org/build/59381/nixlog/2/raw> and
;; <http://lists.openembedded.org/pipermail/openembedded-core/2012-April/059850.html>.
'(#:parallel-build? #f))
(synopsis "C library for manipulating Unicode strings")
(description
"GNU libunistring is a library providing functions to manipulate
+2 -2
View File
@@ -25,14 +25,14 @@
(define-public lightning
(package
(name "lightning")
(version "2.0.3")
(version "2.0.4")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/lightning/lightning-"
version ".tar.gz"))
(sha256
(base32
"1mbbqia7ypvyrl15b15h0wxqbr153j7vlapjsv57lid88rr7c7ia"))))
"1lrckrx51d5hrv66bc99fd4b7g2wwn4vr304hwq3glfzhb8jqcdy"))))
(build-system gnu-build-system)
(synopsis "Library for generating assembly code at runtime")
(description
+83
View File
@@ -0,0 +1,83 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright 2014 John Darrington <jmd@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 links)
#:use-module ((guix licenses)
#:renamer (symbol-prefix-proc 'license:))
#:use-module (guix packages)
#:use-module (gnu packages)
#:use-module (gnu packages compression)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages image)
#:use-module (gnu packages openssl)
#:use-module (gnu packages xorg)
#:use-module (guix download)
#:use-module (guix build-system gnu))
(define-public links
(package
(name "links")
(version "2.8")
(source (origin
(method url-fetch)
(uri (string-append "http://links.twibright.com/download/"
name "-" version ".tar.bz2"))
(sha256
(base32 "15h07498z52jfdahzgvkphg1f7qvxnpbyfn2xmsls0d2dwwdll3r"))))
(build-system gnu-build-system)
(arguments
`(#:phases (alist-replace
'configure
(lambda* (#:key outputs #:allow-other-keys)
;; The tarball uses a very old version of autconf. It doesn't understand
;; extra flags like `--enable-fast-install', so we need to
;; invoke it with just what it understand.
(let ((out (assoc-ref outputs "out")))
;; 'configure' doesn't understand '--host'.
,@(if (%current-target-system)
`((setenv "CHOST" ,(%current-target-system)))
'())
(setenv "CONFIG_SHELL" (which "bash"))
(zero?
(system* "./configure"
(string-append "--prefix=" out)
"--enable-graphics"
))))
%standard-phases)))
(native-inputs `(("pkg-config" ,pkg-config)))
(inputs `(("zlib" ,zlib)
("openssl" ,openssl)
("libjpeg" ,libjpeg)
("libtiff" ,libtiff)
("libpng" ,libpng)
("libxt" ,libxt)))
(synopsis "Text and graphics mode web browser")
(description "Links is a graphics and text mode web browser, with many
features including, tables, builtin image display, bookmarks, SSL and more.")
(home-page "http://links.twibright.com")
;; The distribution contains a copy of GPLv2
;; However, the copyright notices simply say:
;; "This file is a part of the Links program, released under GPL."
;; Therefore, under the provisions of Section 9, we can choose
;; any version ever published by the FSF
;; One file (https.c) contains an exception permitting
;; linking of the program with openssl
(license license:gpl1+)))
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+435 -41
View File
@@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013, 2014 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
;;;
@@ -26,23 +27,31 @@
#:renamer (symbol-prefix-proc 'guix:))
#:use-module (gnu packages flex)
#:use-module (gnu packages bison)
#:use-module (gnu packages gperf)
#:use-module (gnu packages libusb)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages pciutils)
#:use-module (gnu packages bdb)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages algebra)
#:use-module (gnu packages gettext)
#:use-module (gnu packages glib)
#:use-module (gnu packages pulseaudio)
#:use-module (gnu packages attr)
#:use-module (gnu packages xml)
#:use-module (gnu packages autotools)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages check)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu)
#:use-module (guix build-system cmake)
#:use-module (guix build-system python))
#:use-module (guix build-system python)
#:use-module (guix build-system trivial)
#:use-module (srfi srfi-26)
#:use-module (ice-9 match))
(define-public (system->linux-architecture arch)
"Return the Linux architecture name for ARCH, a Guix system name such as
@@ -129,7 +138,9 @@
version ".tar.bz2"))
(sha256
(base32
"0jxnz9ahfic79rp93l5wxcbgh4pkv85mwnjlbv1gz3jawv5cvwp1"))))
"0jxnz9ahfic79rp93l5wxcbgh4pkv85mwnjlbv1gz3jawv5cvwp1"))
(patches
(list (search-patch "module-init-tools-moduledir.patch")))))
(build-system gnu-build-system)
(arguments
;; FIXME: The upstream tarball lacks man pages, and building them would
@@ -149,40 +160,79 @@
`insmod', `lsmod', and more.")
(license gpl2+)))
(define %boot-logo-patch
;; Linux-Libre boot logo featuring Freedo and a gnu.
(origin
(method url-fetch)
(uri (string-append "http://www.fsfla.org/svn/fsfla/software/linux-libre/"
"lemote/gnewsense/branches/3.15/100gnu+freedo.patch"))
(sha256
(base32
"1hk9swxxc80bmn2zd2qr5ccrjrk28xkypwhl4z0qx4hbivj7qm06"))))
(define (kernel-config system)
"Return the absolute file name of the Linux-Libre build configuration file
for SYSTEM, or #f if there is no configuration for SYSTEM."
(define (lookup file)
(let ((file (string-append "gnu/packages/" file)))
(search-path %load-path file)))
(match system
("i686-linux"
(lookup "linux-libre-i686.conf"))
("x86_64-linux"
(lookup "linux-libre-x86_64.conf"))
(_
#f)))
(define-public linux-libre
(let* ((version "3.13.7")
(let* ((version "3.15.6")
(build-phase
'(lambda* (#:key system #:allow-other-keys #:rest args)
'(lambda* (#:key system inputs #:allow-other-keys #:rest args)
;; Apply the neat patch.
(system* "patch" "-p1" "--batch"
"-i" (assoc-ref inputs "patch/freedo+gnu"))
(let ((arch (car (string-split system #\-))))
(setenv "ARCH"
(cond ((string=? arch "i686") "i386")
(else arch)))
(format #t "`ARCH' set to `~a'~%" (getenv "ARCH")))
(let ((build (assoc-ref %standard-phases 'build)))
(and (zero? (system* "make" "defconfig"))
(begin
;; Appending works even when the option wasn't in the
;; file. The last one prevails if duplicated.
(let ((port (open-file ".config" "a")))
(display (string-append "CONFIG_NET_9P=m\n"
"CONFIG_NET_9P_VIRTIO=m\n"
"CONFIG_VIRTIO_BLK=m\n"
"CONFIG_VIRTIO_NET=m\n"
"CONFIG_VIRTIO_PCI=m\n"
"CONFIG_VIRTIO_BALLOON=m\n"
"CONFIG_VIRTIO_MMIO=m\n"
"CONFIG_FUSE_FS=m\n"
"CONFIG_CIFS=m\n"
"CONFIG_9P_FS=m\n")
port)
(close-port port))
(let ((build (assoc-ref %standard-phases 'build))
(config (assoc-ref inputs "kconfig")))
(zero? (system* "make" "oldconfig")))
;; Use the architecture-specific config if available, and
;; 'defconfig' otherwise.
(if config
(begin
(copy-file config ".config")
(chmod ".config" #o666))
(system* "make" "defconfig"))
;; Call the default `build' phase so `-j' is correctly
;; passed.
(apply build #:make-flags "all" args)))))
;; Appending works even when the option wasn't in the
;; file. The last one prevails if duplicated.
(let ((port (open-file ".config" "a")))
(display (string-append "CONFIG_NET_9P=m\n"
"CONFIG_NET_9P_VIRTIO=m\n"
"CONFIG_VIRTIO_BLK=m\n"
"CONFIG_VIRTIO_NET=m\n"
;; https://lists.gnu.org/archive/html/guix-devel/2014-04/msg00039.html
"CONFIG_DEVPTS_MULTIPLE_INSTANCES=y\n"
"CONFIG_VIRTIO_PCI=m\n"
"CONFIG_VIRTIO_BALLOON=m\n"
"CONFIG_VIRTIO_MMIO=m\n"
"CONFIG_FUSE_FS=m\n"
"CONFIG_CIFS=m\n"
"CONFIG_9P_FS=m\n")
port)
(close-port port))
(zero? (system* "make" "oldconfig"))
;; Call the default `build' phase so `-j' is correctly
;; passed.
(apply build #:make-flags "all" args))))
(install-phase
`(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
@@ -199,6 +249,7 @@
(string-append "MODULE_DIR=" moddir)
(string-append "INSTALL_PATH=" out)
(string-append "INSTALL_MOD_PATH=" out)
"INSTALL_MOD_STRIP=1"
"modules_install"))))))
(package
(name "linux-libre")
@@ -208,11 +259,18 @@
(uri (linux-libre-urls version))
(sha256
(base32
"0j28dg0zq4vlbk4ady4fq021i8dxx2h8h90n26mzigr9hky86n8d"))))
"07v45q8r9fz9jgj1m7dibbmcdlzfzpcj7kh2bp1s1pv512h7fnw0"))))
(build-system gnu-build-system)
(native-inputs `(("perl" ,perl)
("bc" ,bc)
("module-init-tools" ,module-init-tools)))
("module-init-tools" ,module-init-tools)
("patch/freedo+gnu" ,%boot-logo-patch)
,@(let ((conf (kernel-config (or (%current-target-system)
(%current-system)))))
(if conf
`(("kconfig" ,conf))
'()))))
(arguments
`(#:modules ((guix build gnu-build-system)
(guix build utils)
@@ -309,18 +367,19 @@ providing the system administrator with some help in common tasks.")
(package
(name "util-linux")
(version "2.21")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://kernel.org/linux/utils/"
name "/v" version "/"
name "-" version ".2" ".tar.xz"))
(sha256
(base32
"1rpgghf7n0zx0cdy8hibr41wvkm2qp1yvd8ab1rxr193l1jmgcir"))))
(source (origin
(method url-fetch)
(uri (string-append "mirror://kernel.org/linux/utils/"
name "/v" version "/"
name "-" version ".2" ".tar.xz"))
(sha256
(base32
"1rpgghf7n0zx0cdy8hibr41wvkm2qp1yvd8ab1rxr193l1jmgcir"))
(patches (list (search-patch "util-linux-perl.patch")))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags '("--disable-use-tty-group")
`(#:configure-flags '("--disable-use-tty-group"
"--enable-ddate")
#:phases (alist-cons-after
'install 'patch-chkdupexe
(lambda* (#:key outputs #:allow-other-keys)
@@ -435,7 +494,8 @@ slabtop, and skill.")
"0ibkkvp6kan0hn0d1anq4n2md70j5gcm7mwna515w82xwyr02rfw"))))
(build-system gnu-build-system)
(inputs `(("util-linux" ,util-linux)))
(native-inputs `(("pkg-config" ,pkg-config)))
(native-inputs `(("pkg-config" ,pkg-config)
("texinfo" ,texinfo))) ; for the libext2fs Info manual
(arguments
'(#:phases (alist-cons-before
'configure 'patch-shells
@@ -461,6 +521,39 @@ slabtop, and skill.")
lgpl2.0 ; libext2fs
x11)))) ; libuuid
(define-public e2fsck/static
(package
(name "e2fsck-static")
(version (package-version e2fsprogs))
(build-system trivial-build-system)
(source #f)
(arguments
`(#:modules ((guix build utils))
#:builder
(begin
(use-modules (guix build utils)
(ice-9 ftw)
(srfi srfi-26))
(let ((source (string-append (assoc-ref %build-inputs "e2fsprogs")
"/sbin"))
(bin (string-append (assoc-ref %outputs "out") "/sbin")))
(mkdir-p bin)
(with-directory-excursion bin
(for-each (lambda (file)
(copy-file (string-append source "/" file)
file)
(remove-store-references file)
(chmod file #o555))
(scandir source (cut string-prefix? "fsck." <>))))))))
(inputs `(("e2fsprogs" ,(static-package e2fsprogs))))
(synopsis "Statically-linked fsck.* commands from e2fsprogs")
(description
"This package provides statically-linked command of fsck.ext[234] taken
from the e2fsprogs package. It is meant to be used in initrds.")
(home-page (package-home-page e2fsprogs))
(license (package-license e2fsprogs))))
(define-public strace
(package
(name "strace")
@@ -919,7 +1012,15 @@ processes currently causing I/O.")
"/bin/" maybe-u "mount")))
(substitute* '("util/mount.fuse.c")
(("/bin/sh")
(which "sh"))))
(which "sh")))
;; This hack leads libfuse to search for 'fusermount' in
;; $PATH, where it may find a setuid-root binary, instead of
;; trying solely $out/sbin/fusermount and failing because
;; it's not setuid.
(substitute* "lib/Makefile"
(("-DFUSERMOUNT_DIR=[[:graph:]]+")
"-DFUSERMOUNT_DIR=\\\"/var/empty\\\"")))
%standard-phases)))
(home-page "http://fuse.sourceforge.net/")
(synopsis "Support file systems implemented in user space")
@@ -957,6 +1058,23 @@ space, using the FUSE library. Mounting a union file system allows you to
UnionFS-FUSE additionally supports copy-on-write.")
(license bsd-3)))
(define fuse-static
(package (inherit fuse)
(name "fuse-static")
(source (origin (inherit (package-source fuse))
(modules '((guix build utils)))
(snippet
;; Normally libfuse invokes mount(8) so that /etc/mtab is
;; updated. Change calls to 'mtab_needs_update' to 0 so that
;; it doesn't do that, allowing us to remove the dependency on
;; util-linux (something that is useful in initrds.)
'(substitute* '("lib/mount_util.c"
"util/mount_util.c")
(("mtab_needs_update[[:blank:]]*\\([a-z_]+\\)")
"0")
(("/bin/")
"")))))))
(define-public unionfs-fuse/static
(package (inherit unionfs-fuse)
(synopsis "User-space union file system (statically linked)")
@@ -971,4 +1089,280 @@ UnionFS-FUSE additionally supports copy-on-write.")
libs " dl)"))))))
(arguments
'(#:tests? #f
#:configure-flags '("-DCMAKE_EXE_LINKER_FLAGS=-static")))))
#:configure-flags '("-DCMAKE_EXE_LINKER_FLAGS=-static")))
(inputs `(("fuse" ,fuse-static)))))
(define-public sshfs-fuse
(package
(name "sshfs-fuse")
(version "2.5")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/fuse/sshfs-fuse-"
version ".tar.gz"))
(sha256
(base32
"0gp6qr33l2p0964j0kds0dfmvyyf5lpgsn11daf0n5fhwm9185z9"))))
(build-system gnu-build-system)
(inputs
`(("fuse" ,fuse)
("glib" ,glib)))
(native-inputs
`(("pkg-config" ,pkg-config)))
(home-page "http://fuse.sourceforge.net/sshfs.html")
(synopsis "Mount remote file systems over SSH")
(description
"This is a file system client based on the SSH File Transfer Protocol.
Since most SSH servers already support this protocol it is very easy to set
up: on the server side there's nothing to do; on the client side mounting the
file system is as easy as logging into the server with an SSH client.")
(license gpl2+)))
(define-public numactl
(package
(name "numactl")
(version "2.0.9")
(source (origin
(method url-fetch)
(uri (string-append
"ftp://oss.sgi.com/www/projects/libnuma/download/numactl-"
version
".tar.gz"))
(sha256
(base32
"073myxlyyhgxh1w3r757ajixb7s2k69czc3r0g12c3scq7k3784w"))))
(build-system gnu-build-system)
(arguments
'(#:phases (alist-replace
'configure
(lambda* (#:key outputs #:allow-other-keys)
;; There's no 'configure' script, just a raw makefile.
(substitute* "Makefile"
(("^prefix := .*$")
(string-append "prefix := " (assoc-ref outputs "out")
"\n"))
(("^libdir := .*$")
;; By default the thing tries to install under
;; $prefix/lib64 when on a 64-bit platform.
(string-append "libdir := $(prefix)/lib\n"))))
%standard-phases)
#:make-flags (list
;; By default the thing tries to use 'cc'.
"CC=gcc"
;; Make sure programs have an RPATH so they can find
;; libnuma.so.
(string-append "LDLIBS=-Wl,-rpath="
(assoc-ref %outputs "out") "/lib"))
;; There's a 'test' target, but it requires NUMA support in the kernel
;; to run, which we can't assume to have.
#:tests? #f))
(home-page "http://oss.sgi.com/projects/libnuma/")
(synopsis "Tools for non-uniform memory access (NUMA) machines")
(description
"NUMA stands for Non-Uniform Memory Access, in other words a system whose
memory is not all in one place. The numactl program allows you to run your
application program on specific CPU's and memory nodes. It does this by
supplying a NUMA memory policy to the operating system before running your
program.
The package contains other commands, such as numademo, numastat and memhog.
The numademo command provides a quick overview of NUMA performance on your
system.")
(license (list gpl2 ; programs
lgpl2.1)))) ; library
(define-public kbd
(package
(name "kbd")
(version "2.0.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://kernel.org/linux/utils/kbd/kbd-"
version ".tar.gz"))
(sha256
(base32
"0c34b0za2v0934acvgnva0vaqpghmmhz4zh7k0m9jd4mbc91byqm"))
(modules '((guix build utils)))
(snippet
'(begin
(substitute* "tests/Makefile.in"
;; The '%: %.in' rule incorrectly uses @VERSION@.
(("@VERSION@")
"[@]VERSION[@]"))
(substitute* '("src/unicode_start" "src/unicode_stop")
;; Assume the Coreutils are in $PATH.
(("/usr/bin/tty")
"tty"))))))
(build-system gnu-build-system)
(arguments
'(#:phases (alist-cons-before
'build 'pre-build
(lambda* (#:key inputs #:allow-other-keys)
(let ((gzip (assoc-ref %build-inputs "gzip"))
(bzip2 (assoc-ref %build-inputs "bzip2")))
(substitute* "src/libkeymap/findfile.c"
(("gzip")
(string-append gzip "/bin/gzip"))
(("bzip2")
(string-append bzip2 "/bin/bzip2")))))
(alist-cons-after
'install 'post-install
(lambda* (#:key outputs #:allow-other-keys)
;; Make sure these programs find their comrades.
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin")))
(for-each (lambda (prog)
(wrap-program (string-append bin "/" prog)
`("PATH" ":" prefix (,bin))))
'("unicode_start" "unicode_stop"))))
%standard-phases))))
(inputs `(("check" ,check)
("gzip" ,guix:gzip)
("bzip2" ,guix:bzip2)
("pam" ,linux-pam)))
(native-inputs `(("pkg-config" ,pkg-config)))
(home-page "ftp://ftp.kernel.org/pub/linux/utils/kbd/")
(synopsis "Linux keyboard utilities and keyboard maps")
(description
"This package contains keytable files and keyboard utilities compatible
for systems using the Linux kernel. This includes commands such as
'loadkeys', 'setfont', 'kbdinfo', and 'chvt'.")
(license gpl2+)))
(define-public inotify-tools
(package
(name "inotify-tools")
(version "3.13")
(source (origin
(method url-fetch)
(uri (string-append
"mirror://sourceforge/inotify-tools/inotify-tools/"
version "/inotify-tools-" version ".tar.gz"))
(sha256
(base32
"0icl4bx041axd5dvhg89kilfkysjj86hjakc7bk8n49cxjn4cha6"))))
(build-system gnu-build-system)
(home-page "http://inotify-tools.sourceforge.net/")
(synopsis "Monitor file accesses")
(description
"The inotify-tools packages provides a C library and command-line tools
to use Linux' inotify mechanism, which allows file accesses to be monitored.")
(license gpl2+)))
(define-public kmod
(package
(name "kmod")
(version "17")
(source (origin
(method url-fetch)
(uri
(string-append "mirror://kernel.org/linux/utils/kernel/kmod/"
"kmod-" version ".tar.xz"))
(sha256
(base32
"1yid3a9b64a60ybj66fk2ysrq5klnl0ijl4g624cl16y8404g9rv"))
(patches (list (search-patch "kmod-module-directory.patch")))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs
`(("xz" ,guix:xz)
("zlib" ,guix:zlib)))
(arguments
`(#:tests? #f ; FIXME: Investigate test failures
#:configure-flags '("--with-xz" "--with-zlib")
#:phases (alist-cons-after
'install 'install-modprobe&co
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin")))
(for-each (lambda (tool)
(symlink "kmod"
(string-append bin "/" tool)))
'("insmod" "rmmod" "lsmod" "modprobe"
"modinfo" "depmod"))))
%standard-phases)))
(home-page "https://www.kernel.org/")
(synopsis "Kernel module tools")
(description "kmod is a set of tools to handle common tasks with Linux
kernel modules like insert, remove, list, check properties, resolve
dependencies and aliases.
These tools are designed on top of libkmod, a library that is shipped with
kmod. The aim is to be compatible with tools, configurations and indices
from the module-init-tools project.")
(license gpl2+))) ; library under lgpl2.1+
(define-public udev
(package
(name "udev")
(version "182")
(source (origin
(method url-fetch)
(uri (string-append
"mirror://kernel.org/linux/utils/kernel/hotplug/udev-"
version ".tar.xz"))
(sha256
(base32
"1awp7p07gi083w0dwqhhbbas68a7fx2sbm1yf1ip2jwf7cpqkf5d"))
(patches (list (search-patch "udev-gir-libtool.patch")))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags (list (string-append
"--with-pci-ids-path="
(assoc-ref %build-inputs "pciutils")
"/share/pci.ids.gz")
"--with-firmware-path=/no/firmware"
;; Work around undefined reference to
;; 'mq_getattr' in sc-daemon.c.
"LDFLAGS=-lrt")))
(native-inputs
`(("pkg-config" ,pkg-config)
("gperf" ,gperf)
("glib" ,glib "bin") ; glib-genmarshal, etc.
("perl" ,perl) ; for the tests
("python" ,python-2))) ; ditto
(inputs
`(("kmod" ,kmod)
("pciutils" ,pciutils)
("usbutils" ,usbutils)
("util-linux" ,util-linux)
("glib" ,glib)
("gobject-introspection" ,gobject-introspection)))
(home-page "http://www.freedesktop.org/software/systemd/libudev/")
(synopsis "Userspace device management")
(description "Udev is a daemon which dynamically creates and removes
device nodes from /dev/, handles hotplug events and loads drivers at boot
time.")
(license gpl2+))) ; libudev is under lgpl2.1+
(define-public wireless-tools
(package
(name "wireless-tools")
(version "30.pre9")
(source (origin
(method url-fetch)
(uri (string-append "http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/wireless_tools."
version ".tar.gz"))
(sha256
(base32
"0qscyd44jmhs4k32ggp107hlym1pcyjzihiai48xs7xzib4wbndb"))))
(build-system gnu-build-system)
(arguments
`(#:phases (alist-replace
'configure
(lambda* (#:key outputs #:allow-other-keys)
(setenv "PREFIX" (assoc-ref outputs "out")))
%standard-phases)
#:tests? #f))
(synopsis "Tools for manipulating Linux Wireless Extensions")
(description "Wireless Tools are used to manipulate the Linux Wireless
Extensions. The Wireless Extension is an interface allowing you to set
Wireless LAN specific parameters and get the specific stats.")
(home-page "http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html")
(license gpl2+)))
+81
View File
@@ -0,0 +1,81 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 John Darrington <jmd@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 lisp)
#:use-module (gnu packages)
#:use-module ((guix licenses)
#:renamer (symbol-prefix-proc 'license:))
#:use-module (guix packages)
#:use-module (gnu packages readline)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages texlive)
#:use-module (gnu packages m4)
#:use-module (guix download)
#:use-module (guix utils)
#:use-module (guix build-system gnu))
(define-public gcl
(package
(name "gcl")
(version "2.6.10")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://gnu/" name "/" name "-" version ".tar.gz"))
(sha256
(base32 "1vsicv81ml7d92c87bckgkpvcshi6hzdnj44k0j6zs5mj8pzp8br"))))
(build-system gnu-build-system)
(arguments
`(#:parallel-build? #f ; The build system seems not to be thread safe.
#:tests? #f ; There does not seem to be make check or anything similar.
#:configure-flags '("--enable-ansi") ; required for use by the maxima package
#:phases (alist-cons-before
'configure 'pre-conf
(lambda _
;; Patch bug when building readline support. This bug was
;; also observed by Debian
;; https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=741819
(substitute* "o/gcl_readline.d"
(("rl_attempted_completion_function = \\(CPPFunction \\*\\)rl_completion;")
"rl_attempted_completion_function = rl_completion;"))
(substitute*
(append
'("pcl/impl/kcl/makefile.akcl"
"add-defs"
"unixport/makefile.dos"
"add-defs.bat"
"gcl-tk/makefile.prev"
"add-defs1")
(find-files "h" "\\.defs"))
(("SHELL=/bin/(ba)?sh")
(string-append "SHELL=" (which "bash")))))
%standard-phases)))
(native-inputs
`(("m4" ,m4)
("readline" ,readline)
("texinfo" ,texinfo)
("texlive" ,texlive)))
(home-page "http://www.gnu.org/software/gcl")
(synopsis "A Common Lisp implementation")
(description "GCL is an implementation of the Common Lisp language. It
features the ability to compile to native object code and to load native
object code modules directly into its lisp core. It also features a
stratified garbage collection strategy, a source-level debugger and a built-in
interface to the Tk widget system.")
(license license:lgpl2.0+)))
+14 -3
View File
@@ -2,6 +2,7 @@
;;; Copyright © 2013 Cyril Roelandt <tipecaml@gmail.com>
;;; Copyright © 2014 Raimon Grau <raimonster@gmail.com>
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2014 Andreas Enge <andreas@enge.fr>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -29,13 +30,13 @@
(define-public lua
(package
(name "lua")
(version "5.2.1")
(version "5.2.3")
(source (origin
(method url-fetch)
(uri (string-append "http://www.lua.org/ftp/lua-"
version ".tar.gz"))
(sha256
(base32 "1rbv2ysq5fdksz7xg07dnrkl8i0gnx855hg4z6b324vng6l4sc34"))))
(base32 "0b8034v1s82n4dg5rzcn12067ha3nxaylp2vdp8gg08kjsbzphhk"))))
(build-system gnu-build-system)
(inputs `(("readline", readline)))
(arguments
@@ -45,7 +46,7 @@
#:test-target "test"
#:phases (alist-replace
'build
(lambda _ (zero? (system* "make" "linux"))) ; XXX: Other OS.
(lambda _ (zero? (system* "make" "CFLAGS=-fPIC" "linux")))
(alist-replace
'install
(lambda* (#:key outputs #:allow-other-keys)
@@ -66,6 +67,16 @@ automatic memory management with incremental garbage collection, making it ideal
for configuration, scripting, and rapid prototyping.")
(license x11)))
(define-public lua-5.1
(package (inherit lua)
(version "5.1.5")
(source (origin
(method url-fetch)
(uri (string-append "http://www.lua.org/ftp/lua-"
version ".tar.gz"))
(sha256
(base32 "0cskd4w0g6rdm2q8q3i4n1h3j8kylhs3rq8mxwl9vwlmlxbgqh16"))))))
(define-public luajit
(package
(name "luajit")
+114
View File
@@ -20,9 +20,12 @@
(define-module (gnu packages mail)
#:use-module (gnu packages)
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
#:use-module (gnu packages cyrus-sasl)
#:use-module (gnu packages dejagnu)
#:use-module (gnu packages emacs)
#:use-module (gnu packages gdbm)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnupg)
#:use-module (gnu packages gnutls)
#:use-module (gnu packages guile)
@@ -32,18 +35,23 @@
#:use-module (gnu packages ncurses)
#:use-module (gnu packages openssl)
#:use-module (gnu packages perl)
#:use-module (gnu packages python)
#:use-module (gnu packages readline)
#:use-module (gnu packages search)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages compression)
#:use-module (gnu packages glib)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages flex)
#:use-module (gnu packages bdb)
#:use-module (gnu packages gdb)
#:use-module (gnu packages samba)
#:use-module ((guix licenses)
#:select (gpl2 gpl2+ gpl3+ lgpl2.1+ lgpl3+))
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu)
#:use-module (guix build-system python)
#:use-module (srfi srfi-1))
(define-public mailutils
@@ -253,4 +261,110 @@ content (body). The program is able to learn from the user's classifications
and corrections. It is based on a Bayesian filter.")
(license gpl2)))
(define-public offlineimap
(package
(name "offlineimap")
(version "6.5.5")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/OfflineIMAP/offlineimap/"
"archive/v" version ".tar.gz"))
(sha256
(base32
"00k84qagph3xnxss6rkxm61x07ngz8fvffx4z9jyw5baf3cdd32p"))))
(build-system python-build-system)
(native-inputs `(("python" ,python-2)))
(arguments
;; The setup.py script expects python-2.
`(#:python ,python-2
;; Tests require a modifiable IMAP account.
#:tests? #f))
(home-page "http://www.offlineimap.org")
(synopsis "Synch emails between two repositories")
(description
"OfflineImap synchronizes emails between two repositories, so that you
can read the same mailbox from multiple computers. It supports IMAP as REMOTE
repository and Maildir/IMAP as LOCAL repository.")
(license gpl2+)))
(define-public mu
(package
(name "mu")
(version "0.9.9.5")
(source (origin
(method url-fetch)
(uri (string-append "https://mu0.googlecode.com/files/mu-"
version ".tar.gz"))
(sha256
(base32
"1hwkliyb8fjrz5sw9fcisssig0jkdxzhccw0ld0l9a10q1l9mqhp"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
("glib" ,glib "bin") ; for gtester
("texinfo" ,texinfo)))
;; TODO: Add webkit and gtk to build the mug GUI.
(inputs
`(("xapian" ,xapian)
("emacs" ,emacs)
("guile" ,guile-2.0)
("glib" ,glib)
("gmime" ,gmime)
("tzdata" ,tzdata))) ;for mu/test/test-mu-query.c
(arguments
'(#:phases (alist-cons-before
'check 'check-tz-setup
(lambda* (#:key inputs #:allow-other-keys)
;; For mu/test/test-mu-query.c
(setenv "TZDIR"
(string-append (assoc-ref inputs "tzdata")
"/share/zoneinfo")))
%standard-phases)))
(home-page "http://www.djcbsoftware.nl/code/mu/")
(synopsis "Quickly find emails")
(description
"Mu is a tool for dealing with e-mail messages stored in the
Maildir-format. Mu's purpose in life is to help you to quickly find the
messages you need; in addition, it allows you to view messages, extract
attachments, create new maildirs, and so on.")
(license gpl3+)))
(define-public notmuch
(package
(name "notmuch")
(version "0.18")
(source (origin
(method url-fetch)
(uri (string-append "http://notmuchmail.org/releases/notmuch-"
version ".tar.gz"))
(sha256
(base32
"1ia65iazz2hlp3ja57yn0chs27rzsky9kayw74njwmgi9faw3vh9"))))
(build-system gnu-build-system)
(arguments
'(#:tests? #f ;; FIXME: Test suite hangs and times out.
#:phases (alist-replace
'configure
(lambda* (#:key outputs #:allow-other-keys)
(setenv "CONFIG_SHELL" (which "sh"))
(let ((out (assoc-ref outputs "out")))
(zero? (system* "./configure"
(string-append "--prefix=" out)))))
%standard-phases)))
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs
`(("emacs" ,emacs)
("glib" ,glib)
("gmime" ,gmime)
("talloc" ,talloc)
("xapian" ,xapian)
("zlib" ,zlib)))
(home-page "http://notmuchmail.org/")
(synopsis "Thread-based email index, search, and tagging")
(description
"Notmuch is a command-line based program for indexing, searching, read-
ing, and tagging large collections of email messages.")
(license gpl3+)))
;;; mail.scm ends here
+28 -9
View File
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2012, 2013, 2014 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -40,7 +40,9 @@
%glibc-bootstrap-tarball
%gcc-bootstrap-tarball
%guile-bootstrap-tarball
%bootstrap-tarballs))
%bootstrap-tarballs
%guile-static-stripped))
;;; Commentary:
;;;
@@ -101,6 +103,7 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
,@%final-inputs))
`(("libc" ,(glibc-for-bootstrap))
("gcc" ,(package (inherit gcc-4.8)
(outputs '("out")) ; all in one so libgcc_s is easily found
(inputs
`(("libc",(glibc-for-bootstrap))
,@(package-inputs gcc-4.8)))))
@@ -391,6 +394,7 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
(package-with-relocatable-glibc
(package (inherit gcc-4.8)
(name "gcc-static")
(outputs '("out")) ; all in one
(arguments
`(#:modules ((guix build utils)
(guix build gnu-build-system)
@@ -402,9 +406,20 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
((#:implicit-inputs? _) #t)
((#:configure-flags flags)
`(append (list
;; We don't need a full bootstrap here.
"--disable-bootstrap"
;; Make sure '-static' is passed where it matters.
"--with-stage1-ldflags=-static"
;; GCC 4.8+ requires a C++ compiler and library.
"--enable-languages=c,c++"
;; Make sure gcc-nm doesn't require liblto_plugin.so.
"--disable-lto"
"--disable-shared"
"--disable-plugin"
"--enable-languages=c"
"--disable-libmudflap"
"--disable-libatomic"
"--disable-libsanitizer"
@@ -414,11 +429,7 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
"--disable-libquadmath"
"--disable-decimal-float")
(remove (cut string-match "--(.*plugin|enable-languages)" <>)
,flags)))
((#:make-flags flags)
(if (%current-target-system)
`(cons "LDFLAGS=-static" ,flags)
`(cons "BOOT_LDFLAGS=-static" ,flags))))))
,flags))))))
(native-inputs
(if (%current-target-system)
`(;; When doing a Canadian cross, we need GMP/MPFR/MPC both
@@ -440,6 +451,7 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
(name "gcc-stripped")
(build-system trivial-build-system)
(source #f)
(outputs '("out")) ;only one output
(arguments
`(#:modules ((guix build utils))
#:builder
@@ -473,7 +485,14 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
;; (genchecksum, gcc-nm, etc.) rely on C++ headers.
(copy-recursively (string-append gcc "/include/c++")
(string-append includedir "/c++"))
#t))))
;; For native builds, check whether the binaries actually work.
,(if (%current-target-system)
'#t
'(every (lambda (prog)
(zero? (system* (string-append gcc "/bin/" prog)
"--version")))
'("gcc" "g++" "cpp")))))))
(inputs `(("gcc" ,%gcc-static)))))
(define %guile-static
+33 -1
View File
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2012, 2014 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014 David Thompson <dthompson2@worcester.edu>
;;;
;;; This file is part of GNU Guix.
@@ -102,6 +102,10 @@ a flexible and convenient way.")
("groff" ,groff)
("less" ,less)
("libpipeline" ,libpipeline)))
(native-search-paths
(list (search-path-specification
(variable "MANPATH")
(directories '("share/man")))))
(home-page "http://man-db.nongnu.org/")
(synopsis "Standard Unix documentation system")
(description
@@ -110,6 +114,34 @@ accessed using the man command. It uses a Berkeley DB database in place of
the traditional flat-text whatis databases.")
(license gpl2+)))
(define-public man-pages
(package
(name "man-pages")
(version "3.69")
(source (origin
(method url-fetch)
(uri (string-append
"mirror://kernel.org/linux/docs/man-pages/man-pages-"
version ".tar.xz"))
(sha256
(base32
"18zzmdzjihdnyg4vamk0jp6v6826vrsgal3kqqxvfq9bzyrh8xm2"))))
(build-system gnu-build-system)
(arguments
'(#:phases (alist-delete 'configure %standard-phases)
#:tests? #f
#:make-flags (list (string-append "MANDIR="
(assoc-ref %outputs "out")
"/share/man"))))
(home-page "http://www.kernel.org/doc/man-pages/")
(synopsis "Development manual pages from the Linux project")
(description
"This package provides traditional Unix \"man pages\" documenting the
Linux kernel and C library interfaces employed by user-space programs.")
;; Each man page has its own license; some are GPLv2+, some are MIT/X11.
(license gpl2+)))
(define-public help2man
(package
(name "help2man")
+555 -36
View File
@@ -1,7 +1,8 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2013, 2014 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
;;; Copyright © 2014 John Darrington <jmd@gnu.org>
;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -24,27 +25,39 @@
#:renamer (symbol-prefix-proc 'license:))
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix utils)
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (gnu packages algebra)
#:use-module (gnu packages bison)
#:use-module (gnu packages cmake)
#:use-module (gnu packages compression)
#:use-module (gnu packages curl)
#:use-module (gnu packages elf)
#:use-module (gnu packages flex)
#:use-module (gnu packages fltk)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages gettext)
#:use-module (gnu packages gcc)
#:use-module (gnu packages gd)
#:use-module (gnu packages ghostscript)
#:use-module (gnu packages glib)
#:use-module (gnu packages gtk)
#:use-module (gnu packages less)
#:use-module (gnu packages lisp)
#:use-module (gnu packages gnome)
#:use-module (gnu packages xorg)
#:use-module (gnu packages gl)
#:use-module (gnu packages m4)
#:use-module (gnu packages mpi)
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages pcre)
#:use-module (gnu packages popt)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages readline)
#:use-module (gnu packages tcsh)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages texlive)
#:use-module (gnu packages xml))
@@ -137,7 +150,7 @@ LP/MIP solver is included in the package.")
(define-public pspp
(package
(name "pspp")
(version "0.8.2")
(version "0.8.3")
(source
(origin
(method url-fetch)
@@ -145,7 +158,7 @@ LP/MIP solver is included in the package.")
version ".tar.gz"))
(sha256
(base32
"1w7h3dglgx0jlq1wb605b8pgfsk2vr1q2q2rj7bsajh9ihbcsixr"))))
"0vri2pzvmm38qaihfvwlry30f40lcnps4blg59ixic4q20ldxf5d"))))
(build-system gnu-build-system)
(inputs
`(("cairo" ,cairo)
@@ -159,7 +172,8 @@ LP/MIP solver is included in the package.")
("gtksourceview" ,gtksourceview)
("zlib" ,zlib)))
(native-inputs
`(("perl" ,perl)
`(("glib" ,glib "bin") ;for glib-genmarshal
("perl" ,perl)
("pkg-config" ,pkg-config)))
(home-page "http://www.gnu.org/software/pspp/")
(synopsis "Statistical analysis")
@@ -190,43 +204,14 @@ output in text, PostScript, PDF or HTML.")
(inputs `(("fortran" ,gfortran-4.8)
("python" ,python-2)))
(arguments
`(#:modules ((guix build cmake-build-system)
(guix build utils)
(guix build rpath)
(srfi srfi-1))
#:imported-modules ((guix build cmake-build-system)
(guix build gnu-build-system)
(guix build utils)
(guix build rpath))
#:configure-flags '("-DBUILD_SHARED_LIBS:BOOL=YES")
`(#:configure-flags '("-DBUILD_SHARED_LIBS:BOOL=YES")
#:phases (alist-cons-before
'check 'patch-python
(lambda* (#:key inputs #:allow-other-keys)
(let ((python (assoc-ref inputs "python")))
(substitute* "lapack_testing.py"
(("/usr/bin/env python") python))))
(alist-cons-after
'strip 'add-libs-to-runpath
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(fortran (assoc-ref inputs "fortran"))
(libc (assoc-ref inputs "libc"))
(rpaths `(,(string-append fortran "/lib64")
,(string-append fortran "/lib")
,(string-append libc "/lib")
,(string-append out "/lib"))))
;; Set RUNPATH for all libraries
(with-directory-excursion out
(for-each
(lambda (lib)
(let ((lib-rpaths (file-rpath lib)))
(for-each
(lambda (dir)
(or (member dir lib-rpaths)
(augment-rpath lib dir)))
rpaths)))
(find-files "lib" ".*so$")))))
%standard-phases))))
%standard-phases)))
(synopsis "Library for numerical linear algebra")
(description
"LAPACK is a Fortran 90 library for solving the most commonly occurring
@@ -272,7 +257,8 @@ plotting engine by third-party applications like Octave.")
(source
(origin
(method url-fetch)
(uri (string-append "http://www.hdfgroup.org/ftp/HDF5/current/src/hdf5-"
(uri (string-append "http://www.hdfgroup.org/ftp/HDF5/releases/hdf5-"
version "/src/hdf5-"
version ".tar.bz2"))
(sha256
(base32 "0f9n0v3p3lwc7564791a39c6cn1d3dbrn7d1j3ikqsi27a8hy23d"))))
@@ -349,3 +335,536 @@ applications and it provides great support for visualizing results. Work may
be performed both at the interactive command-line as well as via script
files.")
(license license:gpl3+)))
(define-public gmsh
(package
(name "gmsh")
(version "2.8.4")
(source
(origin
(method url-fetch)
(uri (string-append "http://www.geuz.org/gmsh/src/gmsh-"
version "-source.tgz"))
(sha256
(base32 "0jv2yvk28w86rx5mvjkb0w12ff2jxih7axnpvznpd295lg5jg7hr"))
(modules '((guix build utils)))
(snippet
;; Remove non-free METIS code
'(delete-file-recursively "contrib/Metis"))))
(build-system cmake-build-system)
(native-inputs `(("patchelf" ,patchelf))) ;for augment-rpath
(propagated-inputs
`(("fltk" ,fltk)
("gfortran" ,gfortran-4.8)
("gmp" ,gmp)
("hdf5-lib" ,hdf5 "lib")
("hdf5-include" ,hdf5 "include")
("lapack" ,lapack)
("mesa" ,mesa)
("libx11" ,libx11)
("libxext" ,libxext)))
(arguments
`(#:configure-flags `("-DENABLE_METIS:BOOL=OFF"
"-DENABLE_BUILD_SHARED:BOOL=ON"
"-DENABLE_BUILD_DYNAMIC:BOOL=ON")))
(home-page "http://www.geuz.org/gmsh/")
(synopsis "3D finite element grid generator")
(description "Gmsh is a 3D finite element grid generator with a built-in
CAD engine and post-processor. Its design goal is to provide a fast, light
and user-friendly meshing tool with parametric input and advanced
visualization capabilities. Gmsh is built around four modules: geometry,
mesh, solver and post-processing. The specification of any input to these
modules is done either interactively using the graphical user interface or in
ASCII text files using Gmsh's own scripting language.")
(license license:gpl2+)))
(define-public petsc
(package
(name "petsc")
(version "3.4.4")
(source
(origin
(method url-fetch)
;; The *-lite-* tarball does not contain the *large* documentation
(uri (string-append "http://ftp.mcs.anl.gov/pub/petsc/release-snapshots/"
"petsc-lite-" version ".tar.gz"))
(sha256
(base32 "0v5dg6dhdjpi5ianvd4mm6hsvxzv1bsxwnh9f9myag0a0d9xk9iv"))
(patches
(list (search-patch "petsc-fix-threadcomm.patch")))))
(build-system gnu-build-system)
(native-inputs
`(("python" ,python-2)
("perl" ,perl)))
(inputs
`(("gfortran" ,gfortran-4.8)
("lapack" ,lapack)
("superlu" ,superlu)
;; leaving out hdf5 and fftw, as petsc expects them to be built with mpi
;; leaving out opengl, as configuration seems to only be for mac
))
(arguments
`(#:test-target "test"
#:parallel-build? #f
#:configure-flags
`("--with-mpi=0"
"--with-openmp=1"
"--with-superlu=1"
,(string-append "--with-superlu-include="
(assoc-ref %build-inputs "superlu") "/include")
,(string-append "--with-superlu-lib="
(assoc-ref %build-inputs "superlu") "/lib/libsuperlu.a"))
#:phases
(alist-replace
'configure
;; PETSc's configure script is actually a python script, so we can't
;; run it with bash.
(lambda* (#:key outputs (configure-flags '())
#:allow-other-keys)
(let* ((prefix (assoc-ref outputs "out"))
(flags `(,(string-append "--prefix=" prefix)
,@configure-flags)))
(format #t "build directory: ~s~%" (getcwd))
(format #t "configure flags: ~s~%" flags)
(zero? (apply system* "./configure" flags))))
(alist-cons-after
'configure 'clean-local-references
;; Try to keep build directory names from leaking into compiled code
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(substitute* (find-files "." "^petsc(conf|machineinfo).h$")
(((getcwd)) out))))
(alist-cons-after
'install 'clean-install
;; Try to keep installed files from leaking build directory names.
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
(fortran (assoc-ref inputs "gfortran")))
(substitute* (map (lambda (file)
(string-append out "/" file))
'("conf/petscvariables"
"conf/PETScConfig.cmake"))
(((getcwd)) out))
;; Make compiler references point to the store
(substitute* (string-append out "/conf/petscvariables")
(("= g(cc|\\+\\+|fortran)" _ suffix)
(string-append "= " fortran "/bin/g" suffix)))
;; PETSc installs some build logs, which aren't necessary.
(for-each (lambda (file)
(let ((f (string-append out "/" file)))
(when (file-exists? f)
(delete-file f))))
'("conf/configure.log"
"conf/make.log"
"conf/test.log"
"conf/error.log"
"conf/RDict.db"
;; Once installed, should uninstall with Guix
"conf/uninstall.py"))))
%standard-phases)))))
(home-page "http://www.mcs.anl.gov/petsc")
(synopsis "Library to solve PDEs")
(description "PETSc, pronounced PET-see (the S is silent), is a suite of
data structures and routines for the scalable (parallel) solution of
scientific applications modeled by partial differential equations.")
(license (license:bsd-style
"http://www.mcs.anl.gov/petsc/documentation/copyright.html"))))
(define-public petsc-complex
(package (inherit petsc)
(name "petsc-complex")
(arguments
(substitute-keyword-arguments (package-arguments petsc)
((#:configure-flags cf)
`(cons "--with-scalar-type=complex" ,cf))))
(synopsis "Library to solve PDEs (with complex scalars)")))
(define-public petsc-openmpi
(package (inherit petsc)
(name "petsc-openmpi")
(inputs
`(("openmpi" ,openmpi)
,@(package-inputs petsc)))
(arguments
(substitute-keyword-arguments (package-arguments petsc)
((#:configure-flags cf)
``("--with-mpiexec=mpirun"
,(string-append "--with-mpi-dir="
(assoc-ref %build-inputs "openmpi"))
,@(delete "--with-mpi=0" ,cf)))))
(synopsis "Library to solve PDEs (with MPI support)")))
(define-public petsc-complex-openmpi
(package (inherit petsc-complex)
(name "petsc-complex-openmpi")
(inputs
`(("openmpi" ,openmpi)
,@(package-inputs petsc-complex)))
(arguments
(substitute-keyword-arguments (package-arguments petsc-complex)
((#:configure-flags cf)
``("--with-mpiexec=mpirun"
,(string-append "--with-mpi-dir="
(assoc-ref %build-inputs "openmpi"))
,@(delete "--with-mpi=0" ,cf)))))
(synopsis "Library to solve PDEs (with complex scalars and MPI support)")))
(define-public superlu
(package
(name "superlu")
(version "4.3")
(source
(origin
(method url-fetch)
(uri (string-append "http://crd-legacy.lbl.gov/~xiaoye/SuperLU/"
"superlu_" version ".tar.gz"))
(sha256
(base32 "10b785s9s4x0m9q7ihap09275pq4km3k2hk76jiwdfdr5qr2168n"))))
(build-system gnu-build-system)
(native-inputs
`(("tcsh" ,tcsh)))
(inputs
`(("lapack" ,lapack)
("gfortran" ,gfortran-4.8)))
(arguments
`(#:parallel-build? #f
#:tests? #f ;tests are run as part of `make all`
#:phases
(alist-replace
'configure
(lambda* (#:key inputs outputs #:allow-other-keys)
(call-with-output-file "make.inc"
(lambda (port)
(format port "
PLAT =
SuperLUroot = ~a
SUPERLULIB = ~a/lib/libsuperlu.a
TMGLIB = libtmglib.a
BLASDEF = -DUSE_VENDOR_BLAS
BLASLIB = -L~a/lib -lblas
LIBS = $(SUPERLULIB) $(BLASLIB)
ARCH = ar
ARCHFLAGS = cr
RANLIB = ranlib
CC = gcc
PIC = -fPIC
CFLAGS = -O3 -DPRNTlevel=0 $(PIC)
NOOPTS = -O0 $(PIC)
FORTRAN = gfortran
FFLAGS = -O2 $(PIC)
LOADER = $(CC)
CDEFS = -DAdd_"
(getcwd)
(assoc-ref outputs "out")
(assoc-ref inputs "lapack")))))
(alist-cons-before
'build 'create-install-directories
(lambda* (#:key outputs #:allow-other-keys)
(for-each
(lambda (dir)
(mkdir-p (string-append (assoc-ref outputs "out")
"/" dir)))
'("lib" "include")))
(alist-replace
'install
(lambda* (#:key outputs #:allow-other-keys)
;; Library is placed in lib during the build phase. Copy over
;; headers to include.
(let* ((out (assoc-ref outputs "out"))
(incdir (string-append out "/include")))
(for-each (lambda (file)
(let ((base (basename file)))
(format #t "installing `~a' to `~a'~%"
base incdir)
(copy-file file
(string-append incdir "/" base))))
(find-files "SRC" ".*\\.h$"))))
%standard-phases)))))
(home-page "http://crd-legacy.lbl.gov/~xiaoye/SuperLU/")
(synopsis "Supernodal direct solver for sparse linear systems")
(description
"SuperLU is a general purpose library for the direct solution of large,
sparse, nonsymmetric systems of linear equations on high performance machines.
The library is written in C and is callable from either C or Fortran. The
library routines perform an LU decomposition with partial pivoting and
triangular system solves through forward and back substitution. The library
also provides threshold-based ILU factorization preconditioners.")
(license license:bsd-3)))
(define-public superlu-dist
(package
(name "superlu-dist")
(version "3.3")
(source
(origin
(method url-fetch)
(uri (string-append "http://crd-legacy.lbl.gov/~xiaoye/SuperLU/"
"superlu_dist_" version ".tar.gz"))
(sha256
(base32 "1hnak09yxxp026blq8zhrl7685yip16svwngh1wysqxf8z48vzfj"))
(patches (list (search-patch "superlu-dist-scotchmetis.patch")))))
(build-system gnu-build-system)
(native-inputs
`(("tcsh" ,tcsh)))
(inputs
`(("gfortran" ,gfortran-4.8)))
(propagated-inputs
`(("openmpi" ,openmpi) ;headers include MPI heades
("lapack" ,lapack) ;required to link with output library
("pt-scotch" ,pt-scotch))) ;same
(arguments
`(#:parallel-build? #f ;race conditions using ar
#:phases
(alist-replace
'configure
(lambda* (#:key inputs outputs #:allow-other-keys)
(call-with-output-file "make.inc"
(lambda (port)
(format port "
PLAT =
DSuperLUroot = ~a
DSUPERLULIB = ~a/lib/libsuperlu_dist.a
BLASDEF = -DUSE_VENDOR_BLAS
BLASLIB = -L~a/lib -lblas
PARMETISLIB = -L~a/lib \
-lptscotchparmetis -lptscotch -lptscotcherr -lptscotcherrexit \
-lscotch -lscotcherr -lscotcherrexit
METISLIB = -L~:*~a/lib \
-lscotchmetis -lscotch -lscotcherr -lscotcherrexit
LIBS = $(DSUPERLULIB) $(PARMETISLIB) $(METISLIB) $(BLASLIB)
ARCH = ar
ARCHFLAGS = cr
RANLIB = ranlib
CC = mpicc
PIC = -fPIC
CFLAGS = -O3 -g -DPRNTlevel=0 $(PIC)
NOOPTS = -O0 -g $(PIC)
FORTRAN = mpifort
FFLAGS = -O2 -g $(PIC)
LOADER = $(CC)
CDEFS = -DAdd_"
(getcwd)
(assoc-ref outputs "out")
(assoc-ref inputs "lapack")
(assoc-ref inputs "pt-scotch")))))
(alist-cons-after
'unpack 'remove-broken-symlinks
(lambda _
(for-each delete-file
(find-files "MAKE_INC" "\\.#make\\..*")))
(alist-cons-before
'build 'create-install-directories
(lambda* (#:key outputs #:allow-other-keys)
(for-each
(lambda (dir)
(mkdir-p (string-append (assoc-ref outputs "out")
"/" dir)))
'("lib" "include")))
(alist-replace
'check
(lambda _
(with-directory-excursion "EXAMPLE"
(and
(zero? (system* "mpirun" "-n" "2"
"./pddrive" "-r" "1" "-c" "2" "g20.rua"))
(zero? (system* "mpirun" "-n" "2"
"./pzdrive" "-r" "1" "-c" "2" "cg20.cua")))))
(alist-replace
'install
(lambda* (#:key outputs #:allow-other-keys)
;; Library is placed in lib during the build phase. Copy over
;; headers to include.
(let* ((out (assoc-ref outputs "out"))
(incdir (string-append out "/include")))
(for-each (lambda (file)
(let ((base (basename file)))
(format #t "installing `~a' to `~a'~%"
base incdir)
(copy-file file
(string-append incdir "/" base))))
(find-files "SRC" ".*\\.h$"))))
%standard-phases)))))))
(home-page (package-home-page superlu))
(synopsis "Parallel supernodal direct solver")
(description
"SuperLU_DIST is a parallel extension to the serial SuperLU library.
It is targeted for distributed memory parallel machines. SuperLU_DIST is
implemented in ANSI C, and MPI for communications.")
(license license:bsd-3)))
(define-public scotch
(package
(name "scotch")
(version "6.0.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://gforge.inria.fr/frs/download.php/31831/"
"scotch_" version ".tar.gz"))
(sha256
(base32 "0yfqf9lk7chb3h42777x42x4adx0v3n0b41q0cdqrdmscp4iczp5"))
(patches (list (search-patch "scotch-test-threading.patch")))))
(build-system gnu-build-system)
(inputs
`(("zlib" ,zlib)
("flex" ,flex)
("bison" ,bison)))
(arguments
`(#:phases
(alist-cons-after
'unpack 'chdir-to-src
(lambda _ (chdir "src"))
(alist-replace
'configure
(lambda _
(call-with-output-file "Makefile.inc"
(lambda (port)
(format port "
EXE =
LIB = .a
OBJ = .o
MAKE = make
AR = ar
ARFLAGS = -ruv
CCS = gcc
CCP = mpicc
CCD = gcc
CPPFLAGS =~{ -D~a~}
CFLAGS = -O2 -g $(CPPFLAGS)
LDFLAGS = -lz -lm -lrt -lpthread
CP = cp
LEX = flex -Pscotchyy -olex.yy.c
LN = ln
MKDIR = mkdir
MV = mv
RANLIB = ranlib
YACC = bison -pscotchyy -y -b y
"
'("COMMON_FILE_COMPRESS_GZ"
"COMMON_PTHREAD"
"COMMON_RANDOM_FIXED_SEED"
;; TODO: Define once our MPI supports
;; MPI_THREAD_MULTIPLE
;; "SCOTCH_PTHREAD"
;; "SCOTCH_PTHREAD_NUMBER=2"
"restrict=__restrict")))))
(alist-replace
'install
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(mkdir out)
(zero? (system* "make"
(string-append "prefix=" out)
"install"))))
%standard-phases)))))
(home-page "http://www.labri.fr/perso/pelegrin/scotch/")
(synopsis "Programs and libraries for graph algorithms")
(description "SCOTCH is a set of programs and libraries which implement
the static mapping and sparse matrix reordering algorithms developed within
the SCOTCH project. Its purpose is to apply graph theory, with a divide and
conquer approach, to scientific computing problems such as graph and mesh
partitioning, static mapping, and sparse matrix ordering, in application
domains ranging from structural mechanics to operating systems or
bio-chemistry.")
;; See LICENSE_en.txt
(license license:cecill-c)))
(define-public pt-scotch
(package (inherit scotch)
(name "pt-scotch")
(propagated-inputs
`(("openmpi" ,openmpi))) ;Headers include MPI headers
(arguments
(substitute-keyword-arguments (package-arguments scotch)
((#:phases scotch-phases)
`(alist-replace
'build
;; TODO: Would like to add parallelism here
(lambda _
(and
(zero? (system* "make" "ptscotch"))
;; Install the serial metis compatibility library
(zero? (system* "make" "-C" "libscotchmetis" "install"))))
(alist-replace
'check
(lambda _ (zero? (system* "make" "ptcheck")))
(alist-replace
'install
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(mkdir out)
(zero? (system* "make"
(string-append "prefix=" out)
"install"))))
,scotch-phases))))))
(synopsis "Programs and libraries for graph algorithms (with MPI)")))
(define-public gsegrafix
(package
(name "gsegrafix")
(version "1.0.6")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://gnu/" name "/" name "-"
version ".tar.gz"))
(sha256
(base32
"1b13hvx063zv970y750bx41wpx6hwd5ngjhbdrna8w8yy5kmxcda"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags '("LDFLAGS=-lm")))
(inputs
`(("libgnomecanvas" ,libgnomecanvas)
("libbonoboui" ,libbonoboui)
("libgnomeui" ,libgnomeui)
("libgnomeprintui" ,libgnomeprintui)
("popt" ,popt)))
(native-inputs
`(("pkg-config" ,pkg-config)))
(home-page "http://www.gnu.org/software/gsegrafix/")
(synopsis "GNOME application to create scientific and engineering plots")
(description "GSEGrafix is an application which produces high-quality graphical
plots for science and engineering. Plots are specified via simple ASCII
parameter files and data files and are presented in an anti-aliased GNOME
canvas. The program supports rectangular two-dimensional plots, histograms,
polar-axis plots and three-dimensional plots. Plots can be printed or saved
to BMP, JPEG or PNG image formats.")
(license license:gpl3+)))
(define-public maxima
(package
(name "maxima")
(version "5.33.0")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/maxima/Maxima-source/"
version "-source/" name "-" version ".tar.gz"))
(sha256
(base32
"13axm11xw0f3frx5b0qdidi7igkn1524fzz77s9rbpl2yy2nrbz2"))))
(build-system gnu-build-system)
(arguments
`(#:phases (alist-cons-before
'check 'pre-check
(lambda _
(chmod "src/maxima" #o555))
%standard-phases)))
(inputs
`(("gcl" ,gcl)))
(native-inputs
`(("texinfo" ,texinfo)
("perl" ,perl)))
(home-page "http://maxima.sourceforge.net")
(synopsis "Numeric and symbolic expression manipulation")
(description "Maxima is a system for the manipulation of symbolic and
numerical expressions. It yields high precision numeric results by using
exact fractions, arbitrary precision integers, and variable precision floating
point numbers")
;; Some files are lgpl2.1+. Some are gpl2+. Some explicitly state gpl1+.
;; Others simply say "GNU General Public License" without stating a
;; version (which implicitly means gpl1+).
;; At least one file (src/maxima.asd) says "version 2."
;; GPLv2 only is therefore the smallest subset.
(license license:gpl2)))
+114
View File
@@ -0,0 +1,114 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 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 mcrypt)
#:use-module (guix packages)
#:use-module ((guix licenses) #:select (gpl2+))
#:use-module (guix download)
#:use-module (guix build-system gnu)
#:use-module (gnu packages)
#:use-module (gnu packages compression)
#:use-module (gnu packages perl)
#:use-module (gnu packages file))
(define-public mcrypt
(package
(name "mcrypt")
(version "2.6.8")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/mcrypt/mcrypt-"
version ".tar.gz"))
(sha256
(base32
"161031n1w9pb4yzz9i47szc12a4mwpcpvyxnvafsik2l9s2aliai"))))
(build-system gnu-build-system)
(inputs
`(("zlib" ,zlib)
("libmcrypt" ,libmcrypt)
("libmhash" ,libmhash)))
(home-page "http://mcrypt.sourceforge.net/")
(synopsis "Replacement for the popular Unix crypt command")
(description
"MCrypt is a replacement for the old crypt() package and crypt(1)
command, with extensions. It allows developers to use a wide range of
encryption functions, without making drastic changes to their code. It allows
users to encrypt files or data streams without having to be cryptographers.
The companion to MCrypt is Libmcrypt, which contains the actual encryption
functions themselves, and provides a standardized mechanism for accessing
them.")
(license gpl2+)))
(define-public libmcrypt
(package
(name "libmcrypt")
(version "2.5.8")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/mcrypt/libmcrypt-"
version ".tar.gz"))
(sha256
(base32
"0gipgb939vy9m66d3k8il98rvvwczyaw2ixr8yn6icds9c3nrsz4"))))
(build-system gnu-build-system)
(native-inputs `(("file" ,file)))
(home-page "http://mcrypt.sourceforge.net/")
(synopsis "Encryption algorithm library")
(description
"Libmcrypt is a data encryption library. The library is thread safe and
provides encryption and decryption functions. This version of the library
supports many encryption algorithms and encryption modes. Some algorithms
which are supported: SERPENT, RIJNDAEL, 3DES, GOST, SAFER+, CAST-256, RC2,
XTEA, 3WAY, TWOFISH, BLOWFISH, ARCFOUR, WAKE and more.")
(license gpl2+)))
(define-public libmhash
(package
(name "libmhash")
(version "0.9.9.9")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/mhash/mhash-"
version ".tar.bz2"))
(sha256
(base32
"1w7yiljan8gf1ibiypi6hm3r363imm3sxl1j8hapjdq3m591qljn"))
(patches (list (search-patch "mhash-keygen-test-segfault.patch")))))
(build-system gnu-build-system)
(native-inputs
`(("file" ,file)
("perl" ,perl))) ;for tests
(home-page "http://mhash.sourceforge.net/")
(synopsis "Thread-safe hash library")
(description
"mhash is a thread-safe hash library, implemented in C, and provides a
uniform interface to a large number of hash algorithms. These algorithms can
be used to compute checksums, message digests, and other signatures. The HMAC
support implements the basics for message authentication, following RFC 2104.
Algorithms currently supplied are:
CRC-32, CRC-32B, ALDER-32, MD-2, MD-4, MD-5, RIPEMD-128, RIPEMD-160,
RIPEMD-256, RIPEMD-320, SHA-1, SHA-224, SHA-256, SHA-384, SHA-512, HAVAL-128,
HAVAL-160, HAVAL-192, HAVAL-256, TIGER, TIGER-128, TIGER-160, GOST, WHIRLPOOL,
SNEFRU-128, SNEFRU-256")
(license gpl2+)))
+3 -5
View File
@@ -77,20 +77,18 @@ providing:
(define-public bitlbee
(package
(name "bitlbee")
(version "3.2.1")
(version "3.2.2")
(source (origin
(method url-fetch)
(uri (string-append "http://get.bitlbee.org/src/bitlbee-"
version ".tar.gz"))
(sha256
(base32 "0n8g5452i5qap43zxb83gxp01d48psf6rr3k1q7z6a3dgpfi3x00"))
(patches (list (search-patch "bitlbee-memset-fix.patch")
(search-patch "bitlbee-fix-tests.patch")))))
(base32 "13jmcxxgli82wb2n4hs091159xk8rgh7nb02f478lgpjh6996f5s"))))
(build-system gnu-build-system)
(native-inputs `(("pkg-config" ,pkg-config)
("check" ,check)))
(inputs `(("glib" ,glib)
("libotr" ,libotr-3)
("libotr" ,libotr)
("gnutls" ,gnutls)
("zlib" ,zlib) ; Needed to satisfy "pkg-config --exists gnutls"
("python" ,python-2)
+6 -5
View File
@@ -19,6 +19,7 @@
(define-module (gnu packages moe)
#:use-module (guix licenses)
#:use-module (gnu packages ncurses)
#:use-module ((gnu packages compression) #:select (lzip))
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu))
@@ -26,18 +27,18 @@
(define-public moe
(package
(name "moe")
(version "1.5")
(version "1.6")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://gnu/moe/moe-"
version ".tar.gz"))
version ".tar.lz"))
(sha256
(base32
"0hqag8022x68jmii1v6n7jb4fhp9icjkapgcpd2j3p9nzc8xch7s"))))
"1cfwi67sdl2qchqbdib4p6wxjpwz2kmn6vxn9hmh1zs0gg4xkbwc"))))
(build-system gnu-build-system)
(inputs
`(("ncurses" ,ncurses)))
(native-inputs `(("lzip" ,lzip)))
(inputs `(("ncurses" ,ncurses)))
(home-page "https://www.gnu.org/software/moe/moe.html")
(synopsis "Modeless, multiple-buffer, user-friendly 8-bit text editor")
(description

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