Browse Source

Merge branch 'master' into core-updates

gn-latest-20200428
宋文武 6 years ago
parent
commit
cf3e3e374c
71 changed files with 4999 additions and 975 deletions
  1. +1
    -0
      AUTHORS
  2. +4
    -1
      Makefile.am
  3. +85
    -21
      doc/guix.texi
  4. +6
    -9
      gnu-system.am
  5. +1
    -1
      gnu/packages.scm
  6. +3
    -3
      gnu/packages/apl.scm
  7. +60
    -0
      gnu/packages/audio.scm
  8. +25
    -0
      gnu/packages/bioinformatics.scm
  9. +0
    -1
      gnu/packages/commencement.scm
  10. +3
    -1
      gnu/packages/emacs.scm
  11. +87
    -0
      gnu/packages/fcitx.scm
  12. +34
    -3
      gnu/packages/freedesktop.scm
  13. +79
    -0
      gnu/packages/gd.scm
  14. +167
    -7
      gnu/packages/gnome.scm
  15. +13
    -15
      gnu/packages/gnuzilla.scm
  16. +22
    -5
      gnu/packages/gstreamer.scm
  17. +67
    -26
      gnu/packages/gtk.scm
  18. +17
    -13
      gnu/packages/haskell.scm
  19. +46
    -0
      gnu/packages/imagemagick.scm
  20. +14
    -2
      gnu/packages/julia.scm
  21. +151
    -58
      gnu/packages/linux-libre-i686.conf
  22. +151
    -66
      gnu/packages/linux-libre-x86_64.conf
  23. +78
    -5
      gnu/packages/linux.scm
  24. +11
    -1
      gnu/packages/lsof.scm
  25. +119
    -0
      gnu/packages/music.scm
  26. +2
    -2
      gnu/packages/node.scm
  27. +3
    -2
      gnu/packages/parallel.scm
  28. +0
    -44
      gnu/packages/patches/icecat-CVE-2015-0817.patch
  29. +0
    -67
      gnu/packages/patches/icecat-CVE-2015-0818-pt1.patch
  30. +0
    -28
      gnu/packages/patches/icecat-CVE-2015-0818-pt2.patch
  31. +0
    -25
      gnu/packages/patches/icecat-bug-1127780.patch
  32. +0
    -76
      gnu/packages/patches/icecat-bug-1144991.patch
  33. +0
    -43
      gnu/packages/patches/icecat-bug-1145870.patch
  34. +0
    -162
      gnu/packages/patches/icecat-bug-1146339.patch
  35. +0
    -30
      gnu/packages/patches/librep-rules.mk.patch
  36. +37
    -0
      gnu/packages/patches/linux-libre-libreboot-fix.patch
  37. +175
    -0
      gnu/packages/patches/linux-libre-vblank-fix.patch
  38. +53
    -0
      gnu/packages/patches/perl-gd-options-passthrough-and-fontconfig.patch
  39. +13
    -0
      gnu/packages/patches/pulseaudio-longer-test-timeout.patch
  40. +0
    -15
      gnu/packages/patches/source-highlight-regexrange-test.patch
  41. +45
    -0
      gnu/packages/patches/xf86-video-sis-fix-exa-crash.patch
  42. +301
    -0
      gnu/packages/perl.scm
  43. +29
    -0
      gnu/packages/popt.scm
  44. +2
    -6
      gnu/packages/pretty-print.scm
  45. +4
    -2
      gnu/packages/pulseaudio.scm
  46. +66
    -4
      gnu/packages/python.scm
  47. +2
    -3
      gnu/packages/sawfish.scm
  48. +88
    -24
      gnu/packages/video.scm
  49. +350
    -32
      gnu/packages/web.scm
  50. +62
    -0
      gnu/packages/xiph.scm
  51. +2
    -1
      gnu/packages/xorg.scm
  52. +5
    -3
      gnu/services/base.scm
  53. +1
    -1
      gnu/services/ssh.scm
  54. +1
    -0
      gnu/system.scm
  55. +10
    -8
      gnu/system/linux-initrd.scm
  56. +1
    -0
      gnu/system/vm.scm
  57. +135
    -0
      guix/build-system/haskell.scm
  58. +3
    -1
      guix/build/glib-or-gtk-build-system.scm
  59. +220
    -0
      guix/build/haskell-build-system.scm
  60. +36
    -27
      guix/scripts/package.scm
  61. +243
    -0
      guix/scripts/publish.scm
  62. +33
    -1
      guix/store.scm
  63. +2
    -0
      guix/ui.scm
  64. +1
    -0
      po/guix/LINGUAS
  65. +1
    -0
      po/guix/POTFILES.in
  66. +1516
    -0
      po/guix/da.po
  67. +170
    -0
      tests/guix-package-net.sh
  68. +14
    -129
      tests/guix-package.sh
  69. +114
    -0
      tests/publish.scm
  70. +10
    -0
      tests/store.scm
  71. +5
    -1
      tests/syscalls.scm

+ 1
- 0
AUTHORS View File

@ -35,4 +35,5 @@ alphabetical order):
David Thompson <dthompson2@worcester.edu>
Paul van der Walt <paul@denknerd.org>
Mark H. Weaver <mhw@netris.org>
Andy Wingo <wingo@pobox.com>
Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de>

+ 4
- 1
Makefile.am View File

@ -105,6 +105,7 @@ MODULES = \
guix/scripts/import/gnu.scm \
guix/scripts/import/nix.scm \
guix/scripts/environment.scm \
guix/scripts/publish.scm \
guix.scm \
$(GNU_SYSTEM_MODULES)
@ -180,7 +181,8 @@ SCM_TESTS = \
tests/profiles.scm \
tests/syscalls.scm \
tests/gremlin.scm \
tests/lint.scm
tests/lint.scm \
tests/publish.scm
if HAVE_GUILE_JSON
@ -203,6 +205,7 @@ SH_TESTS = \
tests/guix-gc.sh \
tests/guix-hash.sh \
tests/guix-package.sh \
tests/guix-package-net.sh \
tests/guix-system.sh \
tests/guix-archive.sh \
tests/guix-authenticate.sh \


+ 85
- 21
doc/guix.texi View File

@ -121,6 +121,7 @@ Utilities
* Invoking guix refresh:: Updating package definitions.
* Invoking guix lint:: Finding errors in package definitions.
* Invoking guix environment:: Setting up development environments.
* Invoking guix publish:: Sharing substitutes.
GNU Distribution
@ -337,7 +338,8 @@ goes through the daemon. For instance, command-line tools such as
daemon (@i{via} remote procedure calls) to instruct it what to do.
The following sections explain how to prepare the build daemon's
environment.
environment. Also @ref{Substitutes}, for information on how to allow
the daemon to download pre-built binaries.
@menu
* Build Environment Setup:: Preparing the isolated build environment.
@ -383,15 +385,6 @@ Bash syntax and the @code{shadow} commands):
done
@end example
The @file{/gnu/store} directory (or whichever was specified with the
@code{--with-store-dir} option) must have ownership and permissions as
follows:
@example
# chgrp guix-builder /gnu/store
# chmod 1775 /gnu/store
@end example
@noindent
The @code{guix-daemon} program may then be run as @code{root} with:
@ -1150,9 +1143,8 @@ When @var{pattern} is specified, delete the matching generations. When
specified duration match. For instance, @code{--delete-generations=1m}
deletes generations that are more than one month old.
If the current generation matches, it is deleted atomically---i.e., by
switching to the previous available generation. Note that the zeroth
generation is never deleted.
If the current generation matches, it is @emph{not} deleted. Also, the
zeroth generation is never deleted.
Note that deleting generations prevents roll-back to them.
Consequently, this command must be used with care.
@ -1323,7 +1315,9 @@ guix package}).
@cindex garbage collector
Packages that are installed but not used may be @dfn{garbage-collected}.
The @command{guix gc} command allows users to explicitly run the garbage
collector to reclaim space from the @file{/gnu/store} directory.
collector to reclaim space from the @file{/gnu/store} directory. It is
the @emph{only} way to remove files from @file{/gnu/store}---removing
files or directories manually may break it beyond repair!
The garbage collector has a set of known @dfn{roots}: any file under
@file{/gnu/store} reachable from a root is considered @dfn{live} and
@ -1962,6 +1956,25 @@ Python package is used to run the script can be specified with the
@code{#:python} parameter.
@end defvr
@defvr {Scheme Variable} haskell-build-system
This variable is exported by @code{(guix build-system haskell)}. It
implements the Cabal build procedure used by Haskell packages, which
involves running @code{runhaskell Setup.hs configure
--prefix=/gnu/store/@dots{}} and @code{runhaskell Setup.hs build}.
Instead of installing the package by running @code{runhaskell Setup.hs
install}, to avoid trying to register libraries in the read-only
compiler store directory, the build system uses @code{runhaskell
Setup.hs copy}, followed by @code{runhaskell Setup.hs register}. In
addition, the build system generates the package documentation by
running @code{runhaskell Setup.hs haddock}, unless @code{#:haddock? #f}
is passed. Optional Haddock parameters can be passed with the help of
the @code{#:haddock-flags} parameter. If the file @code{Setup.hs} is
not found, the build system looks for @code{Setup.lhs} instead.
Which Haskell compiler is used can be specified with the @code{#:haskell}
parameter which defaults to @code{ghc}.
@end defvr
Lastly, for packages that do not need anything as sophisticated, a
``trivial'' build system is provided. It is trivial in the sense that
it provides basically no support: it does not pull any implicit inputs,
@ -2515,7 +2528,7 @@ To illustrate the idea, here is an example of a gexp:
#~(begin
(mkdir #$output)
(chdir #$output)
(symlink (string-append #$coreutils "/bin/ls")
(symlink (string-append #$coreutils "/bin/ls")
"list-files")))
@end example
@ -2765,6 +2778,7 @@ programming interface of Guix in a convenient way.
* Invoking guix refresh:: Updating package definitions.
* Invoking guix lint:: Finding errors in package definitions.
* Invoking guix environment:: Setting up development environments.
* Invoking guix publish:: Sharing substitutes.
@end menu
@node Invoking guix build
@ -3427,6 +3441,54 @@ environment.
It also supports all of the common build options that @command{guix
build} supports (@pxref{Invoking guix build, common build options}).
@node Invoking guix publish
@section Invoking @command{guix publish}
The purpose of @command{guix publish} is to enable users to easily share
their store with others. When @command{guix publish} runs, it spawns an
HTTP server which allows anyone with network access to obtain
substitutes from it. This means that any machine running Guix can also
act as if it were a build farm, since the HTTP interface is
Hydra-compatible.
For security, each substitute is signed, allowing recipients to check
their authenticity and integrity (@pxref{Substitutes}). Because
@command{guix publish} uses the system's signing key, which is only
readable by the system administrator, it must run as root.
The general syntax is:
@example
guix publish @var{options}@dots{}
@end example
Running @command{guix publish} without any additional arguments will
spawn an HTTP server on port 8080:
@example
guix publish
@end example
Once a publishing server has been authorized (@pxref{Invoking guix
archive}), the daemon may download substitutes from it:
@example
guix-daemon --substitute-urls=http://example.org:8080
@end example
The following options are available:
@table @code
@item --port=@var{port}
@itemx -p @var{port}
Listen for HTTP requests on @var{port}.
@item --repl[=@var{port}]
@itemx -r [@var{port}]
Spawn a Guile REPL server (@pxref{REPL Servers,,, guile, GNU Guile
Reference Manual}) on @var{port} (37146 by default).
@end table
@c *********************************************************************
@node GNU Distribution
@chapter GNU Distribution
@ -3783,8 +3845,7 @@ kernel, initial RAM disk, and boot loader looks like this:
(comment "Bob's sister")
(home-directory "/home/alice"))))
(packages (cons emacs %base-packages))
(services (cons (lsh-service #:port 2222 #:root-login? #t
#:initialize? #t)
(services (cons (lsh-service #:port 2222 #:root-login? #t)
%base-services)))
@end lisp
@ -4508,8 +4569,9 @@ external name servers do not even need to be queried.
@end defvr
@deffn {Monadic Procedure} syslog-service
Return a service that runs @code{syslogd} with reasonable default
@deffn {Monadic Procedure} syslog-service [#:config-file #f]
Return a service that runs @code{syslogd}. If configuration file name
@var{config-file} is not specified, use some reasonable default
settings.
@end deffn
@ -4602,7 +4664,7 @@ Furthermore, @code{(gnu services ssh)} provides the following service.
[#:allow-empty-passwords? #f] [#:root-login? #f] @
[#:syslog-output? #t] [#:x11-forwarding? #t] @
[#:tcp/ip-forwarding? #t] [#:password-authentication? #t] @
[#:public-key-authentication? #t] [#:initialize? #f]
[#:public-key-authentication? #t] [#:initialize? #t]
Run the @command{lshd} program from @var{lsh} to listen on port @var{port-number}.
@var{host-key} must designate a file containing the host key, and readable
only by root.
@ -5378,7 +5440,9 @@ facility is implemented in the @code{(gnu packages)} module.
@cindex customization, of packages
@cindex package module search path
Users can store package definitions in modules with different
names---e.g., @code{(my-packages emacs)}. These package definitions
names---e.g., @code{(my-packages emacs)}@footnote{Note that the file
name and module name must match. @xref{Modules and the File System,,,
guile, GNU Guile Reference Manual}, for details.} These package definitions
will not be visible by default. Thus, users can invoke commands such as
@command{guix package} and @command{guix build} have to be used with the
@code{-e} option so that they know where to find the package, or use the


+ 6
- 9
gnu-system.am View File

@ -93,6 +93,7 @@ GNU_SYSTEM_MODULES = \
gnu/packages/enchant.scm \
gnu/packages/engineering.scm \
gnu/packages/enlightenment.scm \
gnu/packages/fcitx.scm \
gnu/packages/feh.scm \
gnu/packages/file.scm \
gnu/packages/firmware.scm \
@ -437,13 +438,6 @@ dist_patch_DATA = \
gnu/packages/patches/guix-test-networking.patch \
gnu/packages/patches/gtkglext-disable-disable-deprecated.patch \
gnu/packages/patches/hop-bigloo-4.0b.patch \
gnu/packages/patches/icecat-bug-1127780.patch \
gnu/packages/patches/icecat-bug-1144991.patch \
gnu/packages/patches/icecat-bug-1145870.patch \
gnu/packages/patches/icecat-bug-1146339.patch \
gnu/packages/patches/icecat-CVE-2015-0817.patch \
gnu/packages/patches/icecat-CVE-2015-0818-pt1.patch \
gnu/packages/patches/icecat-CVE-2015-0818-pt2.patch \
gnu/packages/patches/irrlicht-mesa-10.patch \
gnu/packages/patches/jbig2dec-ignore-testtest.patch \
gnu/packages/patches/kmod-module-directory.patch \
@ -456,13 +450,14 @@ dist_patch_DATA = \
gnu/packages/patches/libevent-dns-tests.patch \
gnu/packages/patches/liboop-mips64-deplibs-fix.patch \
gnu/packages/patches/libmad-mips-newgcc.patch \
gnu/packages/patches/librep-rules.mk.patch \
gnu/packages/patches/libtheora-config-guess.patch \
gnu/packages/patches/libtool-skip-tests.patch \
gnu/packages/patches/libssh-CVE-2014-0017.patch \
gnu/packages/patches/libvpx-fix-armhf-link.patch \
gnu/packages/patches/libvpx-fix-ssse3-quantize.patch \
gnu/packages/patches/libvpx-vp9-out-of-bounds-access.patch \
gnu/packages/patches/linux-libre-libreboot-fix.patch \
gnu/packages/patches/linux-libre-vblank-fix.patch \
gnu/packages/patches/lirc-localstatedir.patch \
gnu/packages/patches/lm-sensors-hwmon-attrs.patch \
gnu/packages/patches/lua51-liblua-so.patch \
@ -496,6 +491,7 @@ dist_patch_DATA = \
gnu/packages/patches/patchelf-rework-for-arm.patch \
gnu/packages/patches/patchutils-xfail-gendiff-tests.patch \
gnu/packages/patches/pavucontrol-sigsegv.patch \
gnu/packages/patches/perl-gd-options-passthrough-and-fontconfig.patch \
gnu/packages/patches/perl-no-sys-dirs.patch \
gnu/packages/patches/perl-tk-x11-discover.patch \
gnu/packages/patches/petsc-fix-threadcomm.patch \
@ -505,6 +501,7 @@ dist_patch_DATA = \
gnu/packages/patches/portaudio-audacity-compat.patch \
gnu/packages/patches/procps-make-3.82.patch \
gnu/packages/patches/pulseaudio-fix-mult-test.patch \
gnu/packages/patches/pulseaudio-longer-test-timeout.patch \
gnu/packages/patches/pybugz-encode-error.patch \
gnu/packages/patches/pybugz-stty.patch \
gnu/packages/patches/pyqt-configure.patch \
@ -525,7 +522,6 @@ dist_patch_DATA = \
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/superlu-dist-scotchmetis.patch \
gnu/packages/patches/tcsh-fix-autotest.patch \
gnu/packages/patches/teckit-cstdio.patch \
@ -556,6 +552,7 @@ dist_patch_DATA = \
gnu/packages/patches/xf86-video-openchrome-glibc-2.20.patch \
gnu/packages/patches/xf86-video-r128-glibc-2.20.patch \
gnu/packages/patches/xf86-video-siliconmotion-remove-mibstore.patch \
gnu/packages/patches/xf86-video-sis-fix-exa-crash.patch \
gnu/packages/patches/xf86-video-sis-update-api.patch \
gnu/packages/patches/xf86-video-tdfx-remove-mibstore.patch \
gnu/packages/patches/xf86-video-tga-remove-mibstore.patch \


+ 1
- 1
gnu/packages.scm View File

@ -35,7 +35,7 @@
#:use-module (srfi srfi-39)
#:export (search-patch
search-bootstrap-binary
%patch-directory
%patch-path
%bootstrap-binaries-path
%package-module-path


+ 3
- 3
gnu/packages/apl.scm View File

@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -30,14 +30,14 @@
(define-public apl
(package
(name "apl")
(version "1.4")
(version "1.5")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://gnu/apl/apl-" version ".tar.gz"))
(sha256
(base32
"0fl9l4jb5wpnb54kqkphavi657z1cv15h9qj2rqy2shf33dk3nk9"))))
"0h4diq3wfbdwxp5nm0z4b0p1zq13lwip0y7v28r9v0mbbk8xsfh1"))))
(build-system gnu-build-system)
(home-page "http://www.gnu.org/software/apl/")
(inputs


+ 60
- 0
gnu/packages/audio.scm View File

@ -31,10 +31,13 @@
#:use-module (gnu packages autotools)
#:use-module (gnu packages boost)
#:use-module (gnu packages base)
#:use-module (gnu packages bison)
#:use-module (gnu packages compression)
#:use-module (gnu packages curl)
#:use-module (gnu packages databases)
#:use-module (gnu packages file)
#:use-module (gnu packages flex)
#:use-module (gnu packages gettext)
#:use-module (gnu packages glib)
#:use-module (gnu packages gtk)
#:use-module (gnu packages gnome)
@ -233,6 +236,39 @@ bass section with five drawbars. A standalone JACK application and LV2
plugins are provided.")
(license license:gpl2)))
(define-public csound
(package
(name "csound")
(version "6.04")
(source (origin
(method url-fetch)
(uri (string-append
"mirror://sourceforge/csound/csound6/Csound"
version "/Csound" version ".tar.gz"))
(sha256
(base32
"1030w38lxdwjz1irr32m9cl0paqmgr02lab2m7f7j1yihwxj1w0g"))))
(build-system cmake-build-system)
(inputs
`(("alsa-lib" ,alsa-lib)
("boost" ,boost)
("pulseaudio" ,pulseaudio)
("libsndfile" ,libsndfile)
("liblo" ,liblo)
("ladspa" ,ladspa)
("jack" ,jack-1)
("gettext" ,gnu-gettext)))
(native-inputs
`(("bison" ,bison)
("flex" ,flex)
("zlib" ,zlib)))
(home-page "http://csound.github.io/")
(synopsis "Sound and music computing system")
(description
"Csound is a user-programmable and user-extensible sound processing
language and software synthesizer.")
(license license:lgpl2.1+)))
(define-public clalsadrv
(package
(name "clalsadrv")
@ -995,6 +1031,30 @@ stretching and pitch scaling of audio. This package contains the library.")
;; containing gpl2.
(license license:gpl2)))
(define-public wavpack
(package
(name "wavpack")
(version "4.70.0")
(source (origin
(method url-fetch)
(uri (string-append "http://www.wavpack.com/"
name "-" version ".tar.bz2"))
(sha256
(base32
"191h8hv8qk72hfh1crg429i9yq3cminwqb249sy9zadbn1wy7b9c"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
;; wavpack.pc.in lacks path substitution for 'exec_prefix'.
(list (string-append "--libdir=" %output "/lib"))))
(home-page "http://www.wavpack.com/")
(synopsis "Hybrid lossless audio codec")
(description
"WavPack is an audio compression format with lossless, lossy and hybrid
compression modes. This package contains command-line programs and library to
encode and decode wavpack files.")
(license license:bsd-3)))
(define-public soundtouch
(package
(name "soundtouch")


+ 25
- 0
gnu/packages/bioinformatics.scm View File

@ -33,6 +33,7 @@
#:use-module (gnu packages ncurses)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages popt)
#:use-module (gnu packages python)
#:use-module (gnu packages tbb)
#:use-module (gnu packages vim)
@ -360,6 +361,30 @@ multiple sequence alignments.")
"CLIPper is a tool to define peaks in CLIP-seq datasets.")
(license license:gpl2)))
(define-public clustal-omega
(package
(name "clustal-omega")
(version "1.2.1")
(source (origin
(method url-fetch)
(uri (string-append
"http://www.clustal.org/omega/clustal-omega-"
version ".tar.gz"))
(sha256
(base32
"02ibkx0m0iwz8nscg998bh41gg251y56cgh86bvyrii5m8kjgwqf"))))
(build-system gnu-build-system)
(inputs
`(("argtable" ,argtable)))
(home-page "http://www.clustal.org/omega/")
(synopsis "Multiple sequence aligner for protein and DNA/RNA")
(description
"Clustal-Omega is a general purpose multiple sequence alignment (MSA)
program for protein and DNA/RNA. It produces high quality MSAs and is capable
of handling data-sets of hundreds of thousands of sequences in reasonable
time.")
(license license:gpl2+)))
(define-public crossmap
(package
(name "crossmap")


+ 0
- 1
gnu/packages/commencement.scm View File

@ -26,7 +26,6 @@
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
#:use-module (gnu packages gcc)
#:use-module (gnu packages ed)
#:use-module (gnu packages m4)
#:use-module (gnu packages file)
#:use-module (gnu packages gawk)


+ 3
- 1
gnu/packages/emacs.scm View File

@ -28,6 +28,7 @@
#:use-module (guix build-system trivial)
#:use-module (gnu packages)
#:use-module (gnu packages gtk)
#:use-module (gnu packages gnome)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages gnutls)
@ -92,6 +93,7 @@
("libpng" ,libpng)
("zlib" ,zlib)
("librsvg" ,librsvg)
("libxpm" ,libxpm)
("libxml2" ,libxml2)
("libice" ,libice)
@ -126,7 +128,7 @@ editor (console only)")
(inputs (fold alist-delete
(package-inputs emacs)
'("libx11" "gtk+" "libxft" "libtiff" "giflib" "libjpeg"
"libpng" "libxpm" "libice" "libsm"
"libpng" "librsvg" "libxpm" "libice" "libsm"
;; D-Bus depends on libx11, so remove it as well.
"dbus")))))


+ 87
- 0
gnu/packages/fcitx.scm View File

@ -0,0 +1,87 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015 Sou Bunnbu <iyzsong@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 fcitx)
#:use-module ((guix licenses) #:select (gpl2+))
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system cmake)
#:use-module (gnu packages doxygen)
#:use-module (gnu packages enchant)
#:use-module (gnu packages gettext)
#:use-module (gnu packages glib)
#:use-module (gnu packages gtk)
#:use-module (gnu packages icu4c)
#:use-module (gnu packages iso-codes)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg))
(define-public fcitx
(package
(name "fcitx")
(version "4.2.8.6")
(source (origin
(method url-fetch)
(uri (string-append "http://download.fcitx-im.org/fcitx/"
name "-" version "_dict.tar.xz"))
(sha256
(base32
"15ymd42kg920ri0f8fymq3i68g8k1kgpmdlnk9jf5fvnz6g4w0wi"))))
(build-system cmake-build-system)
(outputs '("out" "gtk2" "gtk3"))
(arguments
`(#:configure-flags
(list "-DENABLE_TEST=ON"
(string-append "-DXKB_RULES_XML_FILE="
(assoc-ref %build-inputs "xkeyboard-config")
"/share/X11/xkb/rules/evdev.xml")
"-DENABLE_GTK2_IM_MODULE=ON"
"-DENABLE_GTK3_IM_MODULE=ON"
(string-append "-DGTK2_IM_MODULEDIR="
(assoc-ref %outputs "gtk2")
"/lib/gtk-2.0/2.10.0/immodules")
(string-append "-DGTK3_IM_MODULEDIR="
(assoc-ref %outputs "gtk3")
"/lib/gtk-3.0/3.0.0/immodules")
;; XXX: Enable GObject Introspection and Qt4 support.
"-DENABLE_GIR=OFF"
"-DENABLE_QT=OFF"
"-DENABLE_QT_IM_MODULE=OFF")))
(native-inputs
`(("doxygen" ,doxygen)
("glib:bin" ,glib "bin") ; for glib-genmarshal
("pkg-config" ,pkg-config)))
(inputs
`(("dbus" ,dbus)
("enchant" ,enchant)
("gettext" ,gnu-gettext)
("gtk2" ,gtk+-2)
("gtk3" ,gtk+)
("icu4c" ,icu4c)
("iso-codes" ,iso-codes)
("libxkbfile" ,libxkbfile)
("libxml2" ,libxml2)
("xkeyboard-config" ,xkeyboard-config)))
(home-page "http://fcitx-im.org")
(synopsis "Input method framework")
(description
"Fcitx is an input method framework with extension support. It has
Pinyin, Quwei and some table-based (Wubi, Cangjie, Erbi, etc.) input methods
built-in.")
(license gpl2+)))

+ 34
- 3
gnu/packages/freedesktop.scm View File

@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -17,10 +18,14 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages freedesktop)
#:use-module ((guix licenses) #:select (expat))
#:use-module ((guix licenses) #:select (expat x11))
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu))
#:use-module (guix build-system gnu)
#:use-module (gnu packages linux)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages xdisorg)
#:use-module (gnu packages xorg))
(define-public xdg-utils
(package
@ -43,4 +48,30 @@
(description "The xdg-utils package is a set of simple scripts that
provide basic desktop integration functions in the framework of the
freedesktop.org project.")
(license expat)))
(license expat)))
(define-public libinput
(package
(name "libinput")
(version "0.13.0")
(source (origin
(method url-fetch)
(uri (string-append "http://freedesktop.org/software/libinput/"
name "-" version ".tar.xz"))
(sha256
(base32
"06n6ih2bfr957rprsgjxhi6f7m96wmf4kgac8y0ispsjvrzszv3c"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
(propagated-inputs
`(("libudev" ,eudev))) ; required by libinput.pc
(inputs
`(("libevdev" ,libevdev)
("mtdev" ,mtdev)))
(home-page "http://www.freedesktop.org/wiki/Software/libinput/")
(synopsis "Input devices handling library")
(description
"Libinput is a library to handle input devices for display servers and
other applications that need to directly deal with input devices.")
(license x11)))

+ 79
- 0
gnu/packages/gd.scm View File

@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015 Eric Bavier <bavier@member.fsf.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -20,9 +21,12 @@
(define-module (gnu packages gd)
#:use-module (guix packages)
#:use-module (guix build-system gnu)
#:use-module (guix build-system perl)
#:use-module (guix download)
#:use-module (gnu packages)
#:use-module (gnu packages perl)
#:use-module (gnu packages image)
#:use-module (gnu packages imagemagick)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages compression)
#:use-module (gnu packages pkg-config)
@ -66,3 +70,78 @@ most anything else, on the fly. While not restricted to use on the web, the
most common applications of GD involve website development.")
(license (non-copyleft "file://COPYING"
"See COPYING file in the distribution."))))
(define-public perl-gd
(package
(name "perl-gd")
(version "2.56")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/L/LD/LDS/"
"GD-" version ".tar.gz"))
(sha256
(base32
"1ya8f9hpiax8j29vwaiwlvvgah0vkyvpzva28r8231nyk0f3s40z"))
(patches
(list
(search-patch "perl-gd-options-passthrough-and-fontconfig.patch")))))
(build-system perl-build-system)
(native-inputs
`(("perl-module-build" ,perl-module-build))) ;needs Module::Build >= 0.42
(inputs
`(("gd" ,gd)
("zlib" ,zlib)
("png" ,libpng)
("ft" ,freetype)
("jpeg" ,libjpeg)
("fontconfig" ,fontconfig)))
(arguments
;; We must use Build.PL for building because Makefile.PL fails to build
;; the XS source.
`(#:module-build-flags (map (lambda (i)
(string-append "--lib_" i "_path="
(assoc-ref %build-inputs i)))
'("zlib" "png" "ft" "jpeg" "fontconfig"))
#:phases (alist-cons-after
'configure 'clear-autogenerated-files
(lambda _
;; This file is autogenerated by its .PLS script at build
;; time, but file creation fails because that file already
;; exists in the distribution with non-writable
;; permissions, so delete it first.
(delete-file "bdf_scripts/bdf2gdfont.pl"))
%standard-phases)))
(home-page "http://search.cpan.org/dist/GD")
(synopsis "Perl interface to the GD graphics library")
(description "GD.pm is an autoloadable interface module for libgd, a
popular library for creating and manipulating PNG files. With this library
you can create PNG images on the fly or modify existing files.")
(license (package-license perl))))
(define-public perl-gd-securityimage
(package
(name "perl-gd-securityimage")
(version "1.73")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/B/BU/BURAK/"
"GD-SecurityImage-" version ".tar.gz"))
(sha256
(base32
"1kaxs67rfd4w46lxgcg3pa05a596l0h1k8n4zk2gwrrar4022wpx"))))
(build-system perl-build-system)
(native-inputs
`(("perl-module-build" ,perl-module-build)))
(propagated-inputs
`(("perl-gd" ,perl-gd)
("perl-image-magick" ,perl-image-magick)))
(home-page "http://search.cpan.org/dist/GD-SecurityImage")
(synopsis "Security image generator.")
(description "This module provides a basic interface to create
security (captcha) images. The final output is the actual graphic data, the
mime type of the graphic, and the created random string. The module also has
some \"styles\" that are used to create the background (or foreground) of the
image.")
(license (package-license perl))))

+ 167
- 7
gnu/packages/gnome.scm View File

@ -5,6 +5,7 @@
;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2014, 2015 Federico Beffa <beffa@fbengineering.ch>
;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
;;; Copyright © 2015 Andy Wingo <wingo@igalia.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -30,6 +31,8 @@
#:use-module (guix build-system glib-or-gtk)
#:use-module (gnu packages)
#:use-module (gnu packages bison)
#:use-module (gnu packages curl)
#:use-module (gnu packages databases)
#:use-module (gnu packages flex)
#:use-module (gnu packages docbook)
#:use-module (gnu packages glib)
@ -39,8 +42,10 @@
#:use-module (gnu packages pdf)
#:use-module (gnu packages popt)
#:use-module (gnu packages ghostscript)
#:use-module (gnu packages gnutls)
#:use-module (gnu packages iso-codes)
#:use-module (gnu packages libcanberra)
#:use-module (gnu packages linux)
#:use-module (gnu packages image)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
@ -48,6 +53,7 @@
#:use-module (gnu packages xml)
#:use-module (gnu packages gl)
#:use-module (gnu packages compression)
#:use-module (gnu packages web)
#:use-module (gnu packages xorg)
#:use-module (gnu packages xdisorg)
#:use-module (gnu packages ncurses))
@ -252,7 +258,7 @@ on the GNOME Desktop with a single simple application.")
(define-public gsettings-desktop-schemas
(package
(name "gsettings-desktop-schemas")
(version "3.10.0")
(version "3.16.0")
(source
(origin
(method url-fetch)
@ -261,13 +267,14 @@ on the GNOME Desktop with a single simple application.")
name "-" version ".tar.xz"))
(sha256
(base32
"1km8qxwrzvravmg8j680qv64bwnwbdgrmy8bqmhs0dgxn2b1as6a"))))
"02dp1hl38k16m9abydfca1n236mdazqdz0p3n92s7haf9mdqsf16"))))
(build-system gnu-build-system)
(inputs
`(("glib" ,glib)))
(native-inputs
`(("intltool" ,intltool)
("glib" ,glib "bin") ; glib-compile-schemas, etc.
("gobject-introspection" ,gobject-introspection)
("pkg-config" ,pkg-config)))
(home-page "https://launchpad.net/gsettings-desktop-schemas")
(synopsis
@ -1398,7 +1405,7 @@ libraries written in C.")
(define-public vte
(package
(name "vte")
(version "0.38.2")
(version "0.40.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@ -1406,7 +1413,7 @@ libraries written in C.")
name "-" version ".tar.xz"))
(sha256
(base32
"1rbxrigff9yszbgdw0gw4c2saz4d1hbbpz21phzxx14w49wvmnmj"))))
"0lnq0bgkmsixjwmfacb2ch9qfjqjxa8zkk1hiv3l29kgca0n3nal"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
@ -1416,7 +1423,8 @@ libraries written in C.")
("glib" ,glib "bin") ; for glib-genmarshal, etc.
("xmllint" ,libxml2)))
(propagated-inputs
`(("gtk+" ,gtk+))) ; required by libvte-2.91.pc
`(("gtk+" ,gtk+) ;required by vte-2.91.pc
("gnutls" ,gnutls))) ;ditto
(arguments
`(#:phases
(alist-cons-before
@ -1622,10 +1630,114 @@ library.")
;; of gnome-python-desktop is given in 'COPYING'.
(license license:lgpl2.1+)))
(define-public glib-networking
(package
(name "glib-networking")
(version "2.44.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/glib-networking/"
(version-major+minor version) "/"
name "-" version ".tar.xz"))
(sha256
(base32
"0ij33bhvn7y5gagx4sbrw906dsjjjs9dllxn73pzv6x97c6k92lg"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
;; FIXME: ca-certificates.crt is not available in the build environment.
'("--with-ca-certificates=no")
#:phases
(modify-phases %standard-phases
(add-before configure patch-giomoduledir
;; Install GIO modules into $out/lib/gio/modules.
(lambda _
(substitute* "configure"
(("GIO_MODULE_DIR=.*")
(string-append "GIO_MODULE_DIR=" %output
"/lib/gio/modules\n"))))))))
(native-inputs
`(("pkg-config" ,pkg-config)
("intltool" ,intltool)))
(inputs
`(("glib" ,glib)
("gnutls" ,gnutls)
("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
("p11-kit" ,p11-kit)))
(home-page "http://www.gnome.org")
(synopsis "Network-related GIO modules")
(description
"This package contains various network related extensions for the GIO
library.")
(license license:lgpl2.0+)))
(define-public libsoup
(package
(name "libsoup")
(version "2.50.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/libsoup/"
(version-major+minor version) "/"
name "-" version ".tar.xz"))
(sha256
(base32
"0yv61y5vfar1rfksa6f53zhfw9wcb39zjix8gqc1ff5gqid3c08y"))))
(build-system gnu-build-system)
(outputs '("out" "doc"))
(arguments
`(#:make-flags '("CC=gcc") ; for g-ir-scanner
#:configure-flags
(list (string-append "--with-html-dir="
(assoc-ref %outputs "doc")
"/share/gtk-doc/html")
;; To find GIO modules from glib-networking.
(string-append "GIO_EXTRA_MODULES="
(assoc-ref %build-inputs "glib-networking")
"/lib/gio/modules"))
#:phases
(modify-phases %standard-phases
(add-before configure disable-unconnected-socket-test
;; This test fails due to missing /etc/nsswitch.conf
;; in the build environment.
(lambda _
(substitute* "tests/socket-test.c"
((".*/sockets/unconnected.*") ""))
#t))
(add-before check unset-LC_ALL
;; The 'check-local' target runs 'env LANG=C sort -u',
;; unset 'LC_ALL' to make 'LANG' working.
(lambda _
(unsetenv "LC_ALL")
#t)))))
(native-inputs
`(("glib:bin" ,glib "bin") ; for glib-mkenums
("gobject-introspection" ,gobject-introspection)
("intltool" ,intltool)
("pkg-config" ,pkg-config)
("python" ,python-wrapper)
;; These are needed for the tests.
;; FIXME: Add PHP once available.
("curl" ,curl)
("httpd" ,httpd)))
(propagated-inputs
;; libsoup-2.4.pc refers to all these.
`(("glib" ,glib)
("libxml2" ,libxml2)))
(inputs
`(("glib-networking" ,glib-networking)
("sqlite" ,sqlite)))
(home-page "https://live.gnome.org/LibSoup/")
(synopsis "GLib-based HTTP Library")
(description
"LibSoup is an HTTP client/server library for GNOME. It uses GObjects
and the GLib main loop, to integrate well with GNOME applications.")
(license license:lgpl2.0+)))
(define-public gnome-mines
(package
(name "gnome-mines")
(version "3.14.1")
(version "3.16.0")
(source
(origin
(method url-fetch)
@ -1634,7 +1746,7 @@ library.")
name "-" version ".tar.xz"))
(sha256
(base32
"0nbgvzlsznn3v83pdcx2d52r4ig1mvaijh633rjddx9rgq2ja7kv"))))
"0wfvqyryc1093l4dr75zv9h0jyn28z6wirdq03lm5w24qf9lvjjx"))))
(build-system glib-or-gtk-build-system)
(arguments
'(#:phases
@ -1666,3 +1778,51 @@ library.")
"Mines (previously gnomine) is a puzzle game where you locate mines
floating in an ocean using only your brain and a little bit of luck.")
(license license:gpl2+)))
(define-public gnome-terminal
(package
(name "gnome-terminal")
(version "3.16.0")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
(version-major+minor version) "/"
name "-" version ".tar.xz"))
(sha256
(base32
"1s3zwqxs4crlqmh6l7s7n87pbmh2nnjdvhxlkalh58pbl0bk0qrd"))))
(build-system glib-or-gtk-build-system)
(arguments
'(#:configure-flags
(list "--disable-migration" "--disable-search-provider"
"--without-nautilus-extension")
#:phases
(modify-phases %standard-phases
(add-before configure patch-/bin/true
(lambda _
(substitute* "configure"
(("/bin/true") (which "true"))))))))
(native-inputs
`(("pkg-config" ,pkg-config)
("desktop-file-utils" ,desktop-file-utils)
("intltool" ,intltool)
("itstool" ,itstool)))
(inputs
`(("gtk+" ,gtk+)
("vte" ,vte)
("gnutls" ,gnutls)
("dconf" ,dconf)
("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
("util-linux" ,util-linux)
("vala" ,vala)))
(home-page "https://wiki.gnome.org/Apps/Terminal")
(synopsis "Terminal emulator")
(description
"GNOME Terminal is a terminal emulator application for accessing a
UNIX shell environment which can be used to run programs available on
your system.
It supports several profiles, multiple tabs and implements several
keyboard shortcuts.")
(license license:gpl3+)))

+ 13
- 15
gnu/packages/gnuzilla.scm View File

@ -20,6 +20,7 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages gnuzilla)
#:use-module ((srfi srfi-1) #:hide (zip))
#:use-module (gnu packages)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
@ -122,15 +123,18 @@ in the Mozilla clients.")
(define-public nss
(package
(name "nss")
(version "3.17.4")
(version "3.18")
(source (origin
(method url-fetch)
(uri (string-append
"ftp://ftp.mozilla.org/pub/mozilla.org/security/nss/"
"releases/NSS_3_17_4_RTM/src/nss-3.17.4.tar.gz"))
(uri (let ((version-with-underscores
(string-join (string-split version #\.) "_")))
(string-append
"ftp://ftp.mozilla.org/pub/mozilla.org/security/nss/"
"releases/NSS_" version-with-underscores "_RTM/src/"
"nss-" version ".tar.gz")))
(sha256
(base32
"0ycxzybgn4bq0i6j5zjdjl70n3s8a742yixyik4pw8x4h4cav60x"))
"0h0xy9kvd2s8r438q4dfn25cgvv5dc1hkm9lb4bgrxpr5bxv13b1"))
;; Create nss.pc and nss-config.
(patches (list (search-patch "nss-pkgconfig.patch")))))
(build-system gnu-build-system)
@ -214,22 +218,16 @@ standards.")
(define-public icecat
(package
(name "icecat")
(version "31.5.0")
(version "31.6.0-gnu1")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://gnu/gnuzilla/"
version "/" name "-" version ".tar.bz2"))
(first (string-split version #\-)) "/"
name "-" version ".tar.bz2"))
(sha256
(base32
"1rr4axghaypdkrf60i1qp6dz4cd29ya02fs3vyffvp4x9kgcq2dd"))
(patches (map search-patch '("icecat-bug-1127780.patch"
"icecat-CVE-2015-0817.patch"
"icecat-bug-1144991.patch"
"icecat-CVE-2015-0818-pt1.patch"
"icecat-bug-1145870.patch"
"icecat-CVE-2015-0818-pt2.patch"
"icecat-bug-1146339.patch")))))
"1a4l23msg4cpc4yp59q2z6xv63r6advlbnjy65v4djv6yhgnqf1i"))))
(build-system gnu-build-system)
(inputs
`(("alsa-lib" ,alsa-lib)


+ 22
- 5
gnu/packages/gstreamer.scm View File

@ -88,11 +88,19 @@ arrays of data.")
(base32
"1bmhbhak6i5wmmb6w86jyyv8lax4gdq983la4lk4a0krz6kim020"))))
(build-system gnu-build-system)
(outputs '("out" "doc"))
(arguments
`(#:make-flags '("CC=gcc") ; for g-ir-scanner.
#:configure-flags
(list (string-append "--with-html-dir="
(assoc-ref %outputs "doc")
"/share/gtk-doc/html"))))
(propagated-inputs `(("glib" ,glib))) ; required by gstreamer-1.0.pc.
(native-inputs
`(("bison" ,bison)
("flex" ,flex)
("glib" ,glib "bin")
("gobject-introspection" ,gobject-introspection)
("perl" ,perl)
("pkg-config" ,pkg-config)
("python-wrapper" ,python-wrapper)))
@ -150,6 +158,9 @@ This package provides the core library and elements.")
(base32
"07ampnfa6p41s0lhia62l9h8bdx3c7vxvdz93pbx64m3wycq3gbp"))))
(build-system gnu-build-system)
(outputs '("out" "doc"))
(propagated-inputs
`(("gstreamer" ,gstreamer))) ; required by gstreamer-plugins-base-1.0.pc
(inputs
`(("cdparanoia" ,cdparanoia)
("orc" ,orc)
@ -161,19 +172,25 @@ This package provides the core library and elements.")
("zlib" ,zlib)
("libXext" ,libxext)
("libxv" ,libxv)
("alsa-lib" ,alsa-lib)
("gstreamer" ,gstreamer)))
("alsa-lib" ,alsa-lib)))
(native-inputs
`(("pkg-config" ,pkg-config)
("glib" ,glib "bin")
("gobject-introspection" ,gobject-introspection)
("python-wrapper" ,python-wrapper)))
(arguments
'(#:phases
`(#:configure-flags
(list (string-append "--with-html-dir="
(assoc-ref %outputs "doc")
"/share/gtk-doc/html"))
#:phases
(alist-cons-before
'configure 'patch-test-pb-utils
'configure 'patch
(lambda _
(substitute* "tests/check/libs/pbutils.c"
(("/bin/sh") (which "sh"))))
(("/bin/sh") (which "sh")))
;; for g-ir-scanner.
(setenv "CC" "gcc"))
%standard-phases)))
(home-page "http://gstreamer.freedesktop.org/")
(synopsis


+ 67
- 26
gnu/packages/gtk.scm View File

@ -5,6 +5,7 @@
;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch>
;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -52,7 +53,7 @@
(define-public atk
(package
(name "atk")
(version "2.15.3")
(version "2.16.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@ -60,9 +61,15 @@
name "-" version ".tar.xz"))
(sha256
(base32
"177a9x6lz2im0mfgxv2crv0l740wy7rg5vlnb8wyyf4fmnh0q19f")))) ; 2.15.3
"0qp5i91kfk6rhrlam3s8ha0cz88lkyp89vsyn4pb5856c1h9hpq9"))))
(build-system gnu-build-system)
(inputs `(("glib" ,glib)))
(outputs '("out" "doc"))
(arguments
`(#:configure-flags
(list (string-append "--with-html-dir="
(assoc-ref %outputs "doc")
"/share/gtk-doc/html"))))
(propagated-inputs `(("glib" ,glib))) ; required by atk.pc
(native-inputs
`(("pkg-config" ,pkg-config)
("glib" ,glib "bin") ; glib-mkenums, etc.
@ -333,7 +340,7 @@ in the GNOME project.")
(define-public at-spi2-core
(package
(name "at-spi2-core")
(version "2.10.0")
(version "2.16.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@ -341,18 +348,32 @@ in the GNOME project.")
name "-" version ".tar.xz"))
(sha256
(base32
"1ns44yibdgcwzwri7sr075hfs5rh5lgxkh71247a0822az3mahcn"))))
"1l3l39mw23zyjlcqidvkyqlr4gwbhplzw2hcv3qvn6p8ikxpf2qw"))))
(build-system gnu-build-system)
(inputs `(("dbus" ,dbus)
("glib" ,glib)
("libxi" ,libxi)
("libxtst" ,libxtst)))
(native-inputs
`(("intltool" ,intltool)
("pkg-config" ,pkg-config)))
(outputs '("out" "doc"))
(arguments
`(#:tests? #f)) ; FIXME: dbind/dbtest fails; one should disable tests in
; a more fine-grained way.
'(#:make-flags '("CC=gcc") ; for g-ir-scanner
#:configure-flags
(list (string-append "--with-html-dir="
(assoc-ref %outputs "doc")
"/share/gtk-doc/html"))
#:phases
(modify-phases %standard-phases
(replace check
;; Run test-suite under a dbus session.
(lambda _
(zero? (system* "dbus-launch" "make" "check")))))))
(propagated-inputs
;; atspi-2.pc refers to all these.
`(("dbus" ,dbus)
("glib" ,glib)))
(inputs
`(("libxi" ,libxi)
("libxtst" ,libxtst)))
(native-inputs
`(("gobject-introspection" ,gobject-introspection)
("intltool" ,intltool)
("pkg-config" ,pkg-config)))
(synopsis "Assistive Technology Service Provider Interface, core components")
(description
"The Assistive Technology Service Provider Interface, core components,
@ -363,7 +384,7 @@ is part of the GNOME accessibility project.")
(define-public at-spi2-atk
(package
(name "at-spi2-atk")
(version "2.10.0")
(version "2.16.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@ -371,17 +392,22 @@ is part of the GNOME accessibility project.")
name "-" version ".tar.xz"))
(sha256
(base32
"150sqc21difazqd53llwfdaqnwfy73bic9hia41xpfy9kcpzz9yy"))))
"1y9gfz1iz3wpja7s000f0bmyyvc6im5fcdl6bxwbz0v3qdgc9vvq"))))
(build-system gnu-build-system)
(inputs `(("atk" ,atk)
("at-spi2-core" ,at-spi2-core)
("dbus" ,dbus)
("glib" ,glib)))
(native-inputs
`(("pkg-config" ,pkg-config)))
(arguments
`(#:tests? #f)) ; FIXME: droute/droute-test fails; one should disable
; tests in a more fine-grained way.
'(#:phases
(modify-phases %standard-phases
(replace check
;; Run test-suite under a dbus session.
(lambda _
(zero? (system* "dbus-launch" "make" "check")))))))
(propagated-inputs
`(("at-spi2-core" ,at-spi2-core))) ; required by atk-bridge-2.0.pc
(inputs
`(("atk" ,atk)))
(native-inputs
`(("dbus" ,dbus) ; for testing
("pkg-config" ,pkg-config)))
(synopsis "Assistive Technology Service Provider Interface, ATK bindings")
(description
"The Assistive Technology Service Provider Interface
@ -392,7 +418,7 @@ is part of the GNOME accessibility project.")
(define-public gtk+-2
(package
(name "gtk+")
(version "2.24.21")
(version "2.24.27")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@ -400,20 +426,35 @@ is part of the GNOME accessibility project.")
name "-" version ".tar.xz"))
(sha256
(base32
"1qyw73pr9ryqhir2h1kbx3vm70km4dg2fxrgkrdlpv0rvlb94bih"))))
"1x14rnjvqslpa1q19fp1qalz5sxds72amsgjk8m7769rwk511jr0"))))
(build-system gnu-build-system)
(outputs '("out" "doc"))
(propagated-inputs
`(("atk" ,atk)
("gdk-pixbuf" ,gdk-pixbuf)
("pango" ,pango)))
(inputs
`(("cups" ,cups)
("libxcomposite" ,libxcomposite)
("libxcursor" ,libxcursor)
("libxdamage" ,libxdamage)
("libxi" ,libxi)
("libxinerama" ,libxinerama)
("libxrandr" ,libxrandr)))
(native-inputs
`(("perl" ,perl)
("gettext" ,gnu-gettext)
("glib" ,glib "bin")
("gobject-introspection" ,gobject-introspection)
("pkg-config" ,pkg-config)
("python-wrapper" ,python-wrapper)))
(arguments
`(#:make-flags '("CC=gcc")
#:configure-flags
(list "--with-xinput=yes"
(string-append "--with-html-dir="
(assoc-ref %outputs "doc")
"/share/gtk-doc/html"))
#:phases
(alist-cons-before
'configure 'disable-tests


+ 17
- 13
gnu/packages/haskell.scm View File

@ -33,22 +33,23 @@
#:use-module (gnu packages ncurses)
#:use-module (gnu packages python))
;; We use bootstrap binaries with a fix version which can be used to build
;; more versions of the GHC compiler.
(define ghc-bootstrap-7.8.4
(define ghc-bootstrap-x86_64-7.8.4
(origin
(method url-fetch)
(uri (string-append "https://www.haskell.org/ghc/dist/"
"7.8.4/ghc-7.8.4-"
(if (string-match "x86_64" (%current-system))
"x86_64"
"i386")
"-unknown-linux-deb7.tar.xz"))
(uri
"https://www.haskell.org/ghc/dist/7.8.4/ghc-7.8.4-x86_64-unknown-linux-deb7.tar.xz")
(sha256
(base32
(if (string-match "x86_64" (%current-system))
"13azsl53xgj20mi1hj9x0xb32vvcvs6cpmvwx6znxhas7blh0bpn"
"0wj5s435j0zgww70bj1d3f6wvnnpzlxwvwcyh2qv4qjq5z8j64kg")))))
"13azsl53xgj20mi1hj9x0xb32vvcvs6cpmvwx6znxhas7blh0bpn"))))
(define ghc-bootstrap-i686-7.8.4
(origin
(method url-fetch)
(uri
"https://www.haskell.org/ghc/dist/7.8.4/ghc-7.8.4-i386-unknown-linux-deb7.tar.xz")
(sha256
(base32
"0wj5s435j0zgww70bj1d3f6wvnnpzlxwvwcyh2qv4qjq5z8j64kg"))))
;; 43 tests out of 3965 fail.
;;
@ -99,7 +100,10 @@
("ghostscript" ,ghostscript) ; for tests
("patchelf" ,patchelf)
;; GHC is built with GHC. Therefore we need bootstrap binaries.
("ghc-binary" ,ghc-bootstrap-7.8.4)))
("ghc-binary"
,(if (string-match "x86_64" (or (%current-target-system) (%current-system)))
ghc-bootstrap-x86_64-7.8.4
ghc-bootstrap-i686-7.8.4))))
(arguments
`(#:test-target "test"
;; We get a smaller number of test failures by disabling parallel test


+ 46
- 0
gnu/packages/imagemagick.scm View File

@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015 Eric Bavier <bavier@member.fsf.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -19,6 +20,7 @@
(define-module (gnu packages imagemagick)
#:use-module (guix packages)
#:use-module (guix build-system gnu)
#:use-module (guix build-system perl)
#:use-module (guix download)
#:use-module ((guix licenses) #:select (fsf-free))
#:use-module (gnu packages algebra)
@ -90,3 +92,47 @@ and TIFF. Use ImageMagick to resize, flip, mirror, rotate, distort, shear and
transform images, adjust image colors, apply various special effects, or draw
text, lines, polygons, ellipses and Bézier curves.")
(license (fsf-free "http://www.imagemagick.org/script/license.php"))))
(define-public perl-image-magick
(package
(name "perl-image-magick")
(version "6.89")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/J/JC/JCRISTY/"
"PerlMagick-" version "-1.tar.gz"))
(sha256
(base32
"0n9afy1z5bhf9phrbahnkwhgcmijn8jggpbzwrivw1zhliliiy68"))))
(build-system perl-build-system)
(native-inputs `(("pkg-config" ,pkg-config)))
(inputs `(("imagemagick" ,imagemagick)))
(arguments
`(#:phases
(modify-phases %standard-phases
(add-before
configure image-magick-flags
(lambda* (#:key inputs #:allow-other-keys)
(let ((im (assoc-ref inputs "imagemagick")))
(substitute* "Makefile.PL"
(("my \\$INC_magick = .*")
"my $INC_magick = `pkg-config --cflags ImageMagick`;\n")
(("my \\$LIBS_magick = .*")
"my $LIBS_magick = `pkg-config --libs ImageMagick`;\n")))))
(add-before
check skip-mpeg-tests
(lambda _
;; TODO: MPEG tests fail even though our imagemagick supports
;; MPEG. Has been reported elsewhere,
;; http://www.imagemagick.org/discourse-server/viewtopic.php?f=7&t=25036,
;; so skip for now.
(delete-file "t/mpeg/read.t"))))))
(home-page "http://search.cpan.org/dist/PerlMagick")
(synopsis "Perl interface to ImageMagick")
(description "This Perl extension allows the reading, manipulation and
writing of a large number of image file formats using the ImageMagick library.
Use it to create, edit, compose, or convert bitmap images from within a Perl
script.")
;; See Magick.pm
(license (package-license imagemagick))))

+ 14
- 2
gnu/packages/julia.scm View File

@ -35,7 +35,8 @@
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages textutils)
#:use-module (gnu packages version-control))
#:use-module (gnu packages version-control)
#:use-module (ice-9 match))
(define-public julia
(package
@ -51,7 +52,7 @@
"1hnbc2blzr9bc27m3vsr127fhg0h5imgqlrx00jakf0my0ccw8gr"))))
(build-system gnu-build-system)
(arguments
'(#:test-target "test"
`(#:test-target "test"
#:modules ((ice-9 match)
(guix build gnu-build-system)
(guix build utils))