Archived
1
0
Fork 0

Merge branch 'master' into gtk-rebuild

Conflicts:
	gnu/packages/gtk.scm
This commit is contained in:
宋文武 2015-05-23 09:43:12 +08:00
commit 86a81222ca
368 changed files with 27857 additions and 4269 deletions

View file

@ -14,6 +14,7 @@
((indent-tabs-mode . nil)
(eval . (put 'eval-when 'scheme-indent-function 1))
(eval . (put 'test-assert 'scheme-indent-function 1))
(eval . (put 'test-assertm 'scheme-indent-function 1))
(eval . (put 'test-equal 'scheme-indent-function 1))
(eval . (put 'test-eq 'scheme-indent-function 1))
(eval . (put 'call-with-input-string 'scheme-indent-function 1))

4
.gitignore vendored
View file

@ -96,7 +96,7 @@ stamp-h[0-9]
/doc/guix.tp
/doc/guix.vr
/doc/guix.vrs
/nix/scripts/substitute-binary
/nix/scripts/substitute
/doc/images/bootstrap-graph.png
/doc/images/bootstrap-graph.eps
/guix-register
@ -112,3 +112,5 @@ GTAGS
/emacs/guix-helper.scm
/emacs/guix-init.el
/emacs/guix-profiles.el
/doc/os-config-bare-bones.texi
/doc/os-config-desktop.texi

View file

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

View file

@ -51,6 +51,7 @@ MODULES = \
guix/build-system/cmake.scm \
guix/build-system/glib-or-gtk.scm \
guix/build-system/gnu.scm \
guix/build-system/haskell.scm \
guix/build-system/perl.scm \
guix/build-system/python.scm \
guix/build-system/waf.scm \
@ -74,16 +75,20 @@ MODULES = \
guix/build/python-build-system.scm \
guix/build/ruby-build-system.scm \
guix/build/waf-build-system.scm \
guix/build/haskell-build-system.scm \
guix/build/store-copy.scm \
guix/build/utils.scm \
guix/build/union.scm \
guix/build/profiles.scm \
guix/build/pull.scm \
guix/build/rpath.scm \
guix/build/cvs.scm \
guix/build/svn.scm \
guix/build/syscalls.scm \
guix/build/gremlin.scm \
guix/build/emacs-utils.scm \
guix/build/graft.scm \
guix/search-paths.scm \
guix/packages.scm \
guix/import/utils.scm \
guix/import/gnu.scm \
@ -96,7 +101,7 @@ MODULES = \
guix/scripts/gc.scm \
guix/scripts/hash.scm \
guix/scripts/pull.scm \
guix/scripts/substitute-binary.scm \
guix/scripts/substitute.scm \
guix/scripts/authenticate.scm \
guix/scripts/refresh.scm \
guix/scripts/system.scm \
@ -104,6 +109,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)
@ -129,7 +135,8 @@ KCONFIGS = \
# Templates, examples.
EXAMPLES = \
gnu/system/os-config.tmpl
gnu/system/examples/bare-bones.tmpl \
gnu/system/examples/desktop.tmpl
GOBJECTS = $(MODULES:%.scm=%.go) guix/config.go guix/tests.go
@ -162,7 +169,7 @@ SCM_TESTS = \
tests/pk-crypto.scm \
tests/pki.scm \
tests/sets.scm \
tests/substitute-binary.scm \
tests/substitute.scm \
tests/builders.scm \
tests/derivations.scm \
tests/ui.scm \
@ -178,7 +185,9 @@ SCM_TESTS = \
tests/union.scm \
tests/profiles.scm \
tests/syscalls.scm \
tests/lint.scm
tests/gremlin.scm \
tests/lint.scm \
tests/publish.scm
if HAVE_GUILE_JSON
@ -201,6 +210,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 \
@ -235,6 +245,9 @@ tests/guix-gc.log: \
# Public key used to sign substitutes from hydra.gnu.org.
dist_pkgdata_DATA = hydra.gnu.org.pub
# Bash completion file.
dist_bashcompletion_DATA = etc/completion/bash/guix
EXTRA_DIST = \
HACKING \
ROADMAP \
@ -248,6 +261,7 @@ EXTRA_DIST = \
build-aux/check-final-inputs-self-contained.scm \
build-aux/download.scm \
build-aux/list-packages.scm \
build-aux/make-binary-tarball.scm \
srfi/srfi-37.scm.in \
srfi/srfi-64.scm \
srfi/srfi-64.upstream.scm \
@ -333,6 +347,13 @@ dist_emacsui_DATA = emacs/guix-main.scm
nodist_emacsui_DATA = emacs/guix-helper.scm
include emacs.am
# The self-contained tarball.
guix-binary.%.tar.xz:
-GUIX_PACKAGE_PATH= \
$(top_builddir)/pre-inst-env "$(GUILE)" \
"$(top_srcdir)/build-aux/make-binary-tarball.scm" "$*" "$@"
dist-hook: sync-descriptions gen-ChangeLog assert-no-store-file-names
distcheck-hook: assert-binaries-available assert-final-inputs-self-contained

372
NEWS
View file

@ -10,6 +10,378 @@ Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
Please send Guix bug reports to bug-guix@gnu.org.
* Changes in 0.8.2 (since 0.8.1)
** Package management
*** New “binary tarball” installation method is available
See “Binary Installation” in the manual.
*** New guix publish command, to publish ones store
See “Invoking guix publish” in the manual.
*** guix package runs “profile creation hooks” as needed
It creates X.509 certificate bundles in the profiles etc/ssl directory, if
needed, generates a package database cache for GHC if the profile includes GHC
(the Haskell compiler), and generates an Info dir file (this part was
already done before.)
*** guix package creates an etc/profile file in the profile
See “Invoking guix package” in the manual.
*** Commands understand version prefixes, such as gcc-5 for gcc-5.1.0
*** guix package --search now sorts packages by name and version
*** Substitute information is now fetched using HTTP pipelining
Before that the “substituter” used threads. Using HTTP pipelining means that
resource consumption is reduced on both the client and server sides. As a
side effect, a progress report is displayed as substitute info is downloaded.
*** guix package warns when a $GUIX_PACKAGE_PATH module cannot be loaded
*** New --sources option to guix build
*** New Bash completion file, installed in $sysconfdir/bash_completion.d
*** New guix import hackage command
See “Invoking guix import” in the manual.
*** guix lint supports FTP for the source and home-page checkers
*** guix lint has a new derivation checker
*** guix import cpan better handles dependencies and licenses
*** Packages are now build in an environment with a UTF-8 locale
** Distribution
*** C library's name service switch (NSS) is now fully configurable
See “Name Service Switch” in the manual.
*** New services: wicd, lirc, colord, upower, console-keymap, postgresql
*** Xorg service supports new drivers, such as Nouveau
*** lsh service has new options, initializes its seed by default
*** /etc/ssl symlink is created, for X.509 certificates
See “X.509 Certificates” in the manual.
*** guix system reports duplicate service identifiers
*** New /etc/bashrc file that loads Bash completion when available
*** SLiM service uses sessions from /run/current-system/profile/share/xsessions
See “X Window” in the manual.
*** The Linux “YAMA” restricting policy on PTRACE_ATTACH is now disabled
*** /etc/shells now lists all the user accounts shells
*** /gnu/store is now remounted read-only, to avoid accidental modification
*** /etc/profile is sources each profiles etc/profile file
*** 718 new packages
aalib, aarddict, acpid, agg, aisleriot, alsa-modular-synth, ant, ardour,
ardour, argtable, arpack-ng, aspell-dict-ru, aubio, audacity, avidemux,
avidemux, azr3, bamtools, bash-completion, bedops, bind-utils, bluez, bool,
brdf-explorer, bwa, calf, calibre, catch, ccl, chibi-scheme, chmlib,
clalsadrv, clipper, clisp, clustal-omega, colord, colordiff, cpufrequtils,
crossmap, csound, ctl, cunit, cutadapt, desktop-file-utils, djvulibre,
dnsmasq, dosfstools, double-conversion, dovecot, ecl, efl, elementary,
elogind, emacs-no-x, emotion-generic-players, enca, enlightenment,
evas-generic-loaders, exim, express, extremetuxracer, faad2, fastx-toolkit,
fcitx, fdupes, flexbar, fluidsynth, font-adobe-source-han-sans,
font-wqy-zenhei, freepats, gambit-c, ganv, geda-gaf, geoclue, geocode-glib,
ghc, ghc-case-insensitive, ghc-containers, ghc-fgl, ghc-hashable, ghc-http,
ghc-hunit, ghc-mtl, ghc-network, ghc-network-uri, ghc-parallel, ghc-parsec,
ghc-paths, ghc-primitive, ghc-quickcheck, ghc-random, ghc-split, ghc-stm,
ghc-syb, ghc-text, ghc-tf-random, ghc-unordered-containers, ghc-vector,
ghc-zlib, girara, gitolite, glib-networking, glibc-locales,
glibc-utf8-locales, glibc-utf8-locales, glm, gnome-mines,
gnome-settings-daemon, gnome-terminal, gnucash, gnugo, grit, gst-libav,
guile-minikanren, guile-reader, hdparm, hisat, htseq, htsjdk, hunspell,
hyphen, i2c-tools, ibus, icecast, icedtea6, icedtea7, ilmbase, ir, isync,
ixion, jack2, jalv, jansson, jemalloc, julia, key-mon, ladspa, lash,
leptonica, liba52, libabw, libaio, libass, libavc1394, libbluray, libbs2b,
libcaca, libcap-ng, libcdio-paranoia, libcdr, libdca, libdv, libdvdcss,
libe-book, libedit, libepoxy, libetonyek, libexttextcat, libffcall,
libfreehand, libgnomecanvasmm, libgtextutils, libgweather, libical,
libiec61883, libinput, liblo, libmodplug, libmspack, libmspub, libmtp,
libmwaw, libodfgen, libpagemaker, libqtxdg, libquvi, libquvi-scripts,
libraw1394, librecad, librep, librevenge, libsbsms, libsecret, libshout,
libsoup, libsrtp, libtocc, libungif, libva, libvisio, libwacom, libwebp,
libwpd, libwpg, libwps, libxklavier, libxmp, libyaml, lilv, lilypond, lirc,
livestreamer, ltrace, lv2, lv2-mda-epiano, lv2-mda-piano, lvtk, macs, mariadb,
markdown, mdadm, mdds, mesa-headers, mesa-utils, miredo, miso, moreutils,
mpd-mpc, mpdscribble, mplayer2, mpv, muparser, mythes, ncbi-vdb, ngircd,
ngs-java, ngs-sdk, npth, nss-certs, openblas, openexr, openlibm, openntpd,
openspecfun, openvpn, orc, orcus, p11-kit, patchage, pbtranscript-tofu, pcb,
perl-algorithm-c3, perl-algorithm-diff, perl-aliased,
perl-apache-logformat-compiler, perl-appconfig, perl-b-hooks-endofscope,
perl-base, perl-bit-vector, perl-boolean, perl-cache-cache,
perl-cache-fastmmap, perl-capture-tiny, perl-carp-assert,
perl-carp-assert-more, perl-carp-clan, perl-catalyst-action-renderview,
perl-catalyst-action-rest, perl-catalyst-component-instancepercontext,
perl-catalyst-devel, perl-catalyst-dispatchtype-regex,
perl-catalyst-model-dbic-schema, perl-catalyst-plugin-accesslog,
perl-catalyst-plugin-authentication, perl-catalyst-plugin-captcha,
perl-catalyst-plugin-configloader, perl-catalyst-plugin-session,
perl-catalyst-plugin-session-state-cookie,
perl-catalyst-plugin-session-store-fastmmap, perl-catalyst-plugin-stacktrace,
perl-catalyst-plugin-static-simple, perl-catalyst-runtime,
perl-catalyst-traitfor-request-proxybase, perl-catalyst-view-download,
perl-catalyst-view-json, perl-catalyst-view-tt,
perl-catalystx-component-traits, perl-catalystx-roleapplicator,
perl-catalystx-script-server-starman, perl-cgi-simple, perl-cgi-struct,
perl-class-accessor, perl-class-accessor-chained, perl-class-accessor-grouped,
perl-class-c3, perl-class-c3-adopt-next, perl-class-c3-componentised,
perl-class-data-inheritable, perl-class-date, perl-class-factory-util,
perl-class-inspector, perl-class-load, perl-class-load-xs,
perl-class-method-modifiers, perl-class-methodmaker, perl-class-singleton,
perl-class-tiny, perl-class-unload, perl-class-xsaccessor, perl-common-sense,
perl-compress-raw-bzip2, perl-compress-raw-zlib, perl-config-any,
perl-config-autoconf, perl-config-general, perl-context-preserve,
perl-cpan-meta, perl-cpan-meta-check, perl-cpan-meta-requirements,
perl-cpan-meta-yaml, perl-cpanel-json-xs, perl-crypt-randpasswd,
perl-data-dump, perl-data-dumper-concise, perl-data-optlist, perl-data-page,
perl-data-stream-bulk, perl-data-tumbler, perl-data-visitor, perl-date-calc,
perl-date-calc-xs, perl-datetime, perl-datetime-event-ical,
perl-datetime-event-recurrence, perl-datetime-format-builder,
perl-datetime-format-flexible, perl-datetime-format-http,
perl-datetime-format-ical, perl-datetime-format-natural,
perl-datetime-format-strptime, perl-datetime-locale, perl-datetime-set,
perl-datetime-timezone, perl-datetimex-easy, perl-dbd-pg, perl-dbix-class,
perl-dbix-class-cursor-cached, perl-dbix-class-introspectablem2m,
perl-dbix-class-schema-loader, perl-devel-caller, perl-devel-checkbin,
perl-devel-globaldestruction, perl-devel-lexalias, perl-devel-overloadinfo,
perl-devel-partialdump, perl-devel-stacktrace, perl-devel-stacktrace-ashtml,
perl-devel-symdump, perl-digest-hmac, perl-digest-md5-file,
perl-dist-checkconflicts, perl-email-abstract, perl-email-address,
perl-email-date-format, perl-email-messageid, perl-email-mime,
perl-email-mime-contenttype, perl-email-mime-encodings, perl-email-sender,
perl-email-simple, perl-error, perl-eval-closure, perl-exception-class,
perl-exporter-tiny, perl-extutils-config, perl-extutils-helpers,
perl-extutils-installpaths, perl-file-changenotify, perl-file-copy-recursive,
perl-file-find-rule, perl-file-find-rule-perl, perl-file-homedir,
perl-file-remove, perl-file-sharedir, perl-file-sharedir-install,
perl-file-slurp, perl-file-temp, perl-gd, perl-gd-securityimage,
perl-getopt-long-descriptive, perl-hash-merge, perl-hash-multivalue,
perl-html-form, perl-html-lint, perl-html-tree, perl-http-body,
perl-http-cookiejar, perl-http-parser, perl-http-parser-xs,
perl-http-request-ascgi, perl-http-server-simple, perl-http-tiny,
perl-image-magick, perl-import-into, perl-inc-latest, perl-io-compress,
perl-io-interactive, perl-io-socket-ip, perl-io-stringy, perl-ipc-run,
perl-ipc-sharelite, perl-json, perl-json-any, perl-json-maybexs, perl-json-xs,
perl-lingua-en-findnumber, perl-lingua-en-inflect,
perl-lingua-en-inflect-number, perl-lingua-en-inflect-phrase,
perl-lingua-en-number-isordinal, perl-lingua-en-tagger,
perl-lingua-en-words2nums, perl-lingua-pt-stemmer, perl-lingua-stem,
perl-lingua-stem-fr, perl-lingua-stem-it, perl-lingua-stem-ru,
perl-lingua-stem-snowball-da, perl-list-allutils, perl-list-moreutils,
perl-lwp-protocol-https, perl-lwp-useragent-determined,
perl-memoize-expirelru, perl-mime-types, perl-module-build,
perl-module-build-tiny, perl-module-find, perl-module-implementation,
perl-module-install, perl-module-runtime, perl-module-runtime-conflicts,
perl-module-scandeps, perl-module-util, perl-moo, perl-moose,
perl-moosex-emulate-class-accessor-fast, perl-moosex-getopt,
perl-moosex-markasmethods, perl-moosex-methodattributes, perl-moosex-nonmoose,
perl-moosex-params-validate, perl-moosex-relatedclassroles,
perl-moosex-role-parameterized, perl-moosex-role-withoverloading,
perl-moosex-semiaffordanceaccessor, perl-moosex-strictconstructor,
perl-moosex-traits-pluggable, perl-moosex-types, perl-moosex-types-datetime,
perl-moosex-types-datetime-morecoercions, perl-moosex-types-loadableclass,
perl-moox-types-mooselike, perl-mro-compat, perl-namespace-autoclean,
perl-namespace-clean, perl-net-amazon-s3, perl-net-server,
perl-number-compare, perl-object-signature, perl-package-anon,
perl-package-deprecationmanager, perl-package-stash, perl-package-stash-xs,
perl-padwalker, perl-par-dist, perl-params-util, perl-params-validate,
perl-parent, perl-parse-cpan-meta, perl-path-class, perl-plack,
perl-plack-middleware-fixmissingbodyinredirect,
perl-plack-middleware-methodoverride,
perl-plack-middleware-removeredundantbody, perl-plack-middleware-reverseproxy,
perl-plack-test-externalserver, perl-pod-coverage,
perl-posix-strftime-compiler, perl-readonly, perl-role-tiny, perl-safe-isa,
perl-scalar-list-utils, perl-scope-guard, perl-set-infinite, perl-set-scalar,
perl-snowball-norwegian, perl-snowball-swedish, perl-spiffy,
perl-sql-abstract, perl-sql-splitstatement, perl-sql-tokenizer,
perl-stream-buffered, perl-strictures, perl-string-camelcase,
perl-string-rewriteprefix, perl-string-toidentifier-en, perl-sub-exporter,
perl-sub-exporter-progressive, perl-sub-identify, perl-sub-install,
perl-sub-name, perl-sub-uplevel, perl-svg, perl-sys-hostname-long,
perl-task-weaken, perl-template-timer, perl-template-toolkit,
perl-term-encoding, perl-term-progressbar, perl-term-progressbar-quiet,
perl-term-progressbar-simple, perl-term-readkey, perl-test-base,
perl-test-cleannamespaces, perl-test-differences, perl-test-directory,
perl-test-exception, perl-test-fatal, perl-test-harness, perl-test-leaktrace,
perl-test-longstring, perl-test-mockobject, perl-test-mocktime,
perl-test-most, perl-test-output, perl-test-pod, perl-test-pod-coverage,
perl-test-requires, perl-test-sharedfork, perl-test-tcp, perl-test-trap,
perl-test-utf8, perl-test-warn, perl-test-warnings, perl-test-without-module,
perl-test-writevariants, perl-test-www-mechanize,
perl-test-www-mechanize-catalyst, perl-test-www-mechanize-psgi,
perl-test-yaml, perl-text-aligner, perl-text-balanced, perl-text-csv,
perl-text-diff, perl-text-german, perl-text-glob, perl-text-simpletable,
perl-text-table, perl-text-unidecode, perl-throwable, perl-tie-ixhash,
perl-tie-toobject, perl-time-duration, perl-time-duration-parse,
perl-time-local, perl-time-mock, perl-timedate, perl-tree-simple,
perl-tree-simple-visitorfactory, perl-try-tiny, perl-types-serialiser,
perl-universal-can, perl-universal-isa, perl-uri-find, perl-uri-ws,
perl-variable-magic, perl-www-mechanize, perl-xml-libxml,
perl-xml-namespacesupport, perl-xml-sax, perl-xml-sax-base, perl-yaml,
perl-yaml-tiny, ploticus, polipo, portaudio, pumpa, python-apsw,
python-biopython, python-cssselect, python-dbus, python-decorator,
python-drmaa, python-h5py, python-lxml, python-netifaces, python-networkx,
python-pyxdg, python-pyyaml, python-requests, python-scikit-learn,
python-singledispatch, python-sphinx-rtd-theme, python-sympy, python-testlib,
python-tornado, python-urwid, python-waf, python2-apsw,
python2-backport-ssl-match-hostname, python2-biopython, python2-bx-python,
python2-cssselect, python2-cssutils, python2-dbus, python2-decorator,
python2-drmaa, python2-h5py, python2-lxml, python2-netifaces,
python2-networkx, python2-pbcore, python2-pil, python2-pybedtools,
python2-pycairo, python2-pyxdg, python2-pyyaml, python2-rdflib, python2-rsvg,
python2-scikit-learn, python2-singledispatch, python2-six,
python2-sphinx-rtd-theme, python2-sympy, python2-testlib, python2-tornado,
python2-urwid, python2-waf, python2-xlib, quvi, r, rdesktop, recode, rep-gtk,
rseqc, rsound, rubberband, ruby-hoe, rxvt-unicode, s2tc, sawfish, sbcl, seqan,
serd, serf, sfml, shogun, sloccount, smartmontools, snakemake, soil, solfege,
sord, soundtouch, soxr, sra-tools, sratom, srt2vtt, star, starman, stow,
subread, suil, suitesparse, swt, sysfsutils, sysfsutils, taskwarrior, tbb,
terminology, tesseract-ocr, texlive-bin, texlive-texmf, the-silver-searcher,
tidy, tig, timidity++, tocc, totem-pl-parser, tree, tuxguitar, tvtime,
twolame, txt2man, unqlite, upower, utf8proc, vamp, vapoursynth, vcftools,
vigra, wavpack, webkitgtk, webkitgtk, weex, wicd, wpa-supplicant-light,
wxwidgets, wxwidgets, xbindkeys, xcape, xdg-utils, xf86-input-libinput,
xf86-input-wacom, xf86-video-nouveau, xfce, xmp, xosd, xournal, xvid, zathura,
zathura-cb, zathura-djvu, zathura-pdf-poppler, zathura-ps, zeromq,
zita-alsa-pcmi, zita-convolver
*** 189 package updates
acpica-20150410, apl-1.5, apr-1.5.2, arb-2.3.0, at-spi2-atk-2.16.0,
at-spi2-core-2.16.0, atk-2.16.0, autogen-5.18.5, bison-3.0.4, boost-1.57.0,
cairo-1.14.2, ccrtp-2.1.2, check-0.9.14, clang-3.6.0, cmake-3.2.2,
complexity-1.2, cups-filters-1.0.68, curl-7.42.1, dbus-1.8.16,
dbus-glib-0.104, dejagnu-1.5.3, docbook-xml-4.4, docbook-xml-4.5,
e2fsck-static-1.42.12, e2fsprogs-1.42.12, ed-1.11, eigen-3.2.4,
elfutils-0.161, emacs-24.5, emacs-no-x-toolkit-24.5, exo-0.10.3, ffmpeg-2.6.2,
fish-2.1.2, flac-1.3.1, flint-2.4.5, fltk-1.3.3, freetype-2.5.5, garcon-0.4.0,
gcc-5.1.0, gcc-toolchain-5.1.0, gdb-7.9, geiser-0.7, glib-2.44.0, glibc-2.21,
glibc-2.21, glibc-stripped-tarball-2.21, glibmm-2.44.0, global-6.4,
gnome-desktop-3.16.0, gnome-icon-theme-3.12.0, gnome-themes-standard-3.16.0,
gnu-pw-mgr-1.3, gnubik-2.4.2, gnumach-headers-1.5, gnunet-0.10.1,
gnupg-1.4.19, gnupg-2.0.27, gnupg-2.1.4, gnutls-3.4.0,
gobject-introspection-1.44.0, gpgme-1.5.4, gsettings-desktop-schemas-3.16.0,
gst-plugins-base-1.4.5, gst-plugins-good-1.4.5, gstreamer-1.4.5, gtk+-3.16.2,
gtkmm-2.24.4, gtkmm-3.16.0, guile-ssh-0.7.2, guix-0.8.1, guix-0.8.1.fc34dee,
help2man-1.46.6, httpd-2.4.12, hurd-headers-0.6, icecat-31.6.0-gnu1,
icu4c-55.1, imagemagick-6.9.0-4, imlib2-1.4.7, inetutils-1.9.3, inkscape-0.91,
isc-dhcp-4.3.1, itstool-2.0.2, kbd-2.0.2, libgcrypt-1.6.3, libgpg-error-1.18,
libidn-1.30, libltdl-2.4.6, libmicrohttpd-0.9.40, libmikmod-3.3.7,
libotr-4.1.0, libsigc++-2.4.1, libtasn1-4.5, libtool-2.4.6,
libunistring-0.9.5, libuv-1.4.2, libvorbis-1.3.5, libxfce4ui-4.12.0,
libxfce4util-4.12.1, libxfont-1.5.1, lightning-2.1.0, linux-libre-4.0.2,
linux-libre-headers-3.14.37, llvm-3.6.0, lua-5.2.3, man-pages-3.82,
mesa-10.5.4, mig-1.5, minetest-0.4.12, moe-1.7, mpc-1.0.3, mpd-0.19.9,
mu-0.9.12, nano-2.4.1, ncmpcpp-0.6.2, nettle-3.1, nginx-1.8.0, node-0.12.2,
notmuch-0.19, nspr-4.10.8, nss-3.18, ntp-4.2.8p2, ocrad-0.25, octave-3.8.2,
openconnect-7.05, openjpeg-2.0.1, openjpeg-2.1.0, openldap-2.4.40,
openssh-6.8p1, openssl-1.0.2a, pangomm-2.36.0, parallel-20150422,
pari-gp-2.7.3, patch-2.7.5, perf-4.0.2, perl-libwww-6.13, perl-net-http-6.07,
perl-net-ssleay-1.68, perl-test-simple-1.001014, perl-uri-1.67,
pinentry-0.9.0, pius-2.0.11, podofo-0.9.3, poppler-0.32.0, postgresql-9.3.6,
pulseaudio-6.0, python-3.4.3, python-pillow-2.7.0, python-pygobject-3.16.1,
python-setuptools-12.1, python-wrapper-3.4.3, python2-dateutil-2.2,
python2-pillow-2.7.0, python2-pygobject-3.16.1, python2-setuptools-12.1,
qt-5.4.1, ruby-2.2.2, samba-3.6.25, scons-2.3.4, sdl2-2.0.3, sharutils-4.15.1,
sipwitch-1.9.7, slock-1.2, source-highlight-3.1.8, sqlite-3.8.9,
subversion-1.8.13, texinfo-5.2, thunar-1.6.6, thunar-volman-0.8.1,
tor-0.2.5.12, tumbler-0.1.31, tzdata-2015c, ucommon-6.3.1, vala-0.28.0,
valgrind-3.10.1, vlc-2.2.0, vte-0.40.0, wget-1.16.3, wine-1.7.40,
wpa-supplicant-2.4, xboard-4.8.0, xfce4-appfinder-4.12.0, xfce4-panel-4.12.0,
xfce4-session-4.12.0, xfce4-settings-4.12.0, xfconf-4.12.0, xfdesktop-4.12.0,
xfwm4-4.12.0, xorg-server-1.16.4, xterm-317
** Programming interfaces
*** New (guix build gremlin) to parse and validate ELF dynamic link info
*** (guix build-system gnu) has a new validate-runpath phase
This phase reads the dynamic entries of ELF files and reports libraries listed
as NEEDED that are not found in the RUNPATH.
*** New (gnu services desktop) module and %desktop-services variable
*** New (guix cvs-download) module, for CVS checkouts
*** New (guix build-system waf) module, for the Waf build system
*** New (guix build-system haskell) module, to build Haskell packages
*** (guix build-system gnu) now supports zip archives
*** New convenience syntax modify-phases added in (guix build utils)
*** The ld wrapper more finely determines whether to use -rpath
*** (guix gexp) exports gexp-input to describe input unambiguously
*** The define-gexp-compiler form allows (guix gexp) to be extended
*** New local-file constructor exported by (guix gexp)
** Noteworthy bug fixes
*** Profiles created with guix package -p as indirect GC roots
Before that they were made permanent GC rootsi.e., uncollectable.
*** guix package distinguishes downgrades from upgrades
*** Handle HTTP redirects to relative URI references
(<http://bugs.gnu.org/19840>)
*** Downloads now honor the http_proxy environment variable
(<http://bugs.gnu.org/20402>)
*** --no-* options are now always correctly handled
(<http://lists.gnu.org/archive/html/guix-devel/2015-02/msg00702.html>)
*** SLiM no longer leaks open file descriptors
*** Don't compare <pam-service> objects with 'equal?'
(<http://bugs.gnu.org/20037>)
*** x86_64 and i686 bootstrap binaries updated (<http://bugs.gnu.org/19780>)
*** find-files no longer follows symlinks (<http://bugs.gnu.org/20081>)
*** libc message catalog (libc.mo) is now installed
*** libstdc++ has appropriate RUNPATH (<http://bugs.gnu.org/20358>)
*** dhcp-client-service now correctly tracks dhclients PID
** Native language support
*** New translations: da (Danish)
*** Updated translations: eo
* Changes in 0.8.1 (since 0.8)
** Package management

3
README
View file

@ -20,8 +20,9 @@ Guix is based on the [[http://nixos.org/nix/][Nix]] package manager.
GNU Guix currently depends on the following packages:
- [[http://gnu.org/software/guile/][GNU Guile 2.0.x]], version 2.0.5 or later
- [[http://gnu.org/software/guile/][GNU Guile 2.0.x]], version 2.0.7 or later
- [[http://gnupg.org/][GNU libgcrypt]]
- [[http://www.gnu.org/software/make/][GNU Make]]
- optionally [[http://savannah.nongnu.org/projects/guile-json/][Guile-JSON]], for the 'guix import pypi' command
- optionally [[http://www.gnutls.org][GnuTLS]] compiled with guile support enabled, for HTTPS support
in the 'guix download' command. Note that 'guix import pypi' requires

2
THANKS
View file

@ -29,7 +29,9 @@ infrastructure help:
Yutaka Niibe <gniibe@fsij.org>
Andrei Osipov <andrspv@gmail.com>
Adam Pribyl <pribyl@lowlevel.cz>
Pjotr Prins <pjotr.public12@thebird.nl>
rekado <rekado@elephly.net>
Joshua Randall <jcrandall@alum.mit.edu>
Bruno Félix Rezende Ribeiro <oitofelix@gnu.org>
Cyrill Schenkel <cyrill.schenkel@gmail.com>
Benno Schulenberg <coordinator@translationproject.org>

View file

@ -33,7 +33,7 @@
(let* ((native (append-map (lambda (system)
(map (cut package-derivation store <> system)
(list %bootstrap-tarballs emacs)))
%supported-systems))
%hydra-supported-systems))
(cross (map (cut package-cross-derivation store
%bootstrap-tarballs <>)
'("mips64el-linux-gnuabi64")))

View file

@ -77,5 +77,5 @@ refer to the bootstrap tools."
(set-build-options store #:use-substitutes? #t)
(for-each (cut test-final-inputs store <>)
%supported-systems)))
%hydra-supported-systems)))

View file

@ -54,6 +54,7 @@
(gnu packages multiprecision)
(gnu packages make-bootstrap)
(gnu packages commencement)
(gnu packages package-management)
(gnu system)
(gnu system vm)
(gnu system install)
@ -158,9 +159,33 @@ system.")
(set-guile-for-build (default-guile))
(system-disk-image installation-os
#:disk-image-size
(* 800 MiB))))))
(* 860 MiB))))))
'()))
(define (tarball-jobs store system)
"Return Hydra jobs to build the self-contained Guix binary tarball."
(define (->alist drv)
`((derivation . ,(derivation-file-name drv))
(description . "Stand-alone binary Guix tarball")
(long-description . "This is a tarball containing binaries of Guix and
all its dependencies, and ready to be installed on non-GuixSD distributions.")
(license . ,gpl3+)
(home-page . ,%guix-home-page-url)
(maintainers . ("bug-guix@gnu.org"))))
(define (->job name drv)
(let ((name (symbol-append name (string->symbol ".")
(string->symbol system))))
`(,name . ,(cut ->alist drv))))
;; XXX: Add a job for the stable Guix?
(list (->job 'binary-tarball
(run-with-store store
(mbegin %store-monad
(set-guile-for-build (default-guile))
(self-contained-tarball))
#:system system))))
(define job-name
;; Return the name of a package's job.
(compose string->symbol package-full-name))
@ -179,8 +204,7 @@ system.")
valid."
(cond ((member package base-packages)
#f)
((member system
(package-transitive-supported-systems package))
((supported-package? package system)
(package-job store (job-name package) package system))
(else
#f)))))
@ -234,6 +258,7 @@ valid."
(cons job result)
result)))
(append (qemu-jobs store system)
(tarball-jobs store system)
(cross-jobs system))))
((core)
;; Build core packages only.
@ -244,4 +269,4 @@ valid."
(cross-jobs system)))
(else
(error "unknown subset" subset))))
%supported-systems))
%hydra-supported-systems))

View file

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -68,25 +68,10 @@
(home-page . ,(package-home-page package))
(maintainers . ("bug-guix@gnu.org"))))
(define (tarball-package checkout nix-checkout)
(define (tarball-package checkout)
"Return a package that does `make distcheck' from CHECKOUT, a directory
containing a Git checkout of Guix."
(let ((dist (dist-package guix checkout)))
(package (inherit dist)
(location (source-properties->location (current-source-location)))
(arguments (substitute-keyword-arguments (package-arguments dist)
((#:phases p)
`(alist-cons-before
'autoreconf 'set-nix-submodule
(lambda _
;; Tell Git to use the Nix checkout that Hydra gave us.
(zero?
(system* "git" "config" "submodule.nix-upstream.url"
,nix-checkout)))
,p))))
(native-inputs `(("git" ,git)
("graphviz" ,graphviz)
,@(package-native-inputs dist))))))
(dist-package guix checkout))
(define (hydra-jobs store arguments)
"Return Hydra jobs."
@ -104,13 +89,9 @@ containing a Git checkout of Guix."
(define guix-checkout
(assq-ref arguments 'guix))
(define nix-checkout
(assq-ref arguments 'nix))
(format (current-error-port) "using checkout ~s (Nix: ~s)~%"
guix-checkout nix-checkout)
(let ((guix (assq-ref guix-checkout 'file-name))
(nix (assq-ref nix-checkout 'file-name)))
(let ((guix (assq-ref guix-checkout 'file-name)))
(format (current-error-port) "using checkout ~s (~s)~%"
guix-checkout guix)
`((tarball . ,(cute package->alist store
(tarball-package guix nix)
(tarball-package guix)
(%current-system))))))

View file

@ -167,7 +167,11 @@ decreasing, is 1."
,system))
`(div "status: "
,(list-join (map url (package-transitive-supported-systems package))
,(list-join (map url
(lset-intersection
string=?
%hydra-supported-systems
(package-transitive-supported-systems package)))
" ")))
(define (package-logo name)

View file

@ -0,0 +1,47 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015 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/>.
;;;
;;; Build a self-contained tarball containing binaries for Guix and its
;;; dependencies.
;;;
(use-modules (guix)
(guix ui)
(gnu system install)
(ice-9 match))
(define copy-file*
(lift2 copy-file %store-monad))
(define rename-file*
(lift2 rename-file %store-monad))
(match (command-line)
((_ system file)
(with-store store
(run-with-store store
(mlet %store-monad ((tarball (self-contained-tarball)))
(mbegin %store-monad
(show-what-to-build* (list tarball))
(built-derivations (list tarball))
(copy-file* (derivation->output-path tarball)
(string-append file ".part"))
(rename-file* (string-append file ".part") file)))
#:system system))))

View file

@ -5,9 +5,12 @@ AC_MSG_RESULT([$guix_build_daemon])
dnl C++ environment. This macro must be used unconditionnaly.
AC_PROG_CXX
AC_LANG([C++])
if test "x$guix_build_daemon" = "xyes"; then
GUIX_ASSERT_CXX11
AC_PROG_RANLIB
AC_CONFIG_HEADER([nix/config.h])
@ -133,8 +136,8 @@ if test "x$guix_build_daemon" = "xyes"; then
AC_CONFIG_FILES([nix/scripts/list-runtime-roots],
[chmod +x nix/scripts/list-runtime-roots])
AC_CONFIG_FILES([nix/scripts/substitute-binary],
[chmod +x nix/scripts/substitute-binary])
AC_CONFIG_FILES([nix/scripts/substitute],
[chmod +x nix/scripts/substitute])
AC_CONFIG_FILES([nix/scripts/guix-authenticate],
[chmod +x nix/scripts/guix-authenticate])
AC_CONFIG_FILES([nix/scripts/offload],

View file

@ -7,7 +7,10 @@ AC_INIT([GNU Guix], [0.8.2], [bug-guix@gnu.org], [guix],
AC_CONFIG_AUX_DIR([build-aux])
AM_INIT_AUTOMAKE([1.12 gnu silent-rules subdir-objects \
color-tests parallel-tests -Woverride])
color-tests parallel-tests -Woverride -Wno-portability])
# Enable silent rules by default.
AM_SILENT_RULES([yes])
AC_CONFIG_SRCDIR([guix.scm])
AC_CONFIG_MACRO_DIR([m4])
@ -31,6 +34,13 @@ AC_ARG_WITH(store-dir,
[storedir="/gnu/store"])
AC_SUBST(storedir)
AC_ARG_WITH([bash-completion-dir],
AC_HELP_STRING([--with-bash-completion-dir=DIR],
[name of the Bash completion directory]),
[bashcompletiondir="$withval"],
[bashcompletiondir='${sysconfdir}/bash_completion.d'])
AC_SUBST([bashcompletiondir])
dnl Better be verbose.
AC_MSG_CHECKING([for the store directory])
AC_MSG_RESULT([$storedir])
@ -57,7 +67,7 @@ dnl Make sure they are available.
m4_pattern_forbid([PKG_CHECK_MODULES])
m4_pattern_forbid([GUILE_MODULE_AVAILABLE])
PKG_CHECK_MODULES([GUILE], [guile-2.0 >= 2.0.5])
PKG_CHECK_MODULES([GUILE], [guile-2.0 >= 2.0.7])
AC_PATH_PROG([GUILE], [guile])
AC_PATH_PROG([GUILD], [guild])
if test "x$GUILD" = "x"; then

View file

@ -25,8 +25,8 @@ CLEANFILES += $(BUILT_SOURCES)
noinst_LIBRARIES = libformat.a libutil.a libstore.a
# Use '-std=c++0x' for 'std::shared_ptr'.
AM_CXXFLAGS = -Wall -std=c++0x
# Use '-std=c++11' for 'std::shared_ptr', 'auto', lambdas, and more.
AM_CXXFLAGS = -Wall -std=c++11
libformat_a_SOURCES = \
nix/boost/format/free_funcs.cc \
@ -112,7 +112,8 @@ libstore_a_CPPFLAGS = \
-DNIX_CONF_DIR=\"$(sysconfdir)/guix\" \
-DNIX_LIBEXEC_DIR=\"$(libexecdir)\" \
-DNIX_BIN_DIR=\"$(bindir)\" \
-DOPENSSL_PATH="\"guix-authenticate\""
-DOPENSSL_PATH="\"guix-authenticate\"" \
-DDEFAULT_CHROOT_DIRS="\"\""
libstore_a_CXXFLAGS = $(AM_CXXFLAGS) \
$(SQLITE3_CFLAGS) $(LIBGCRYPT_CFLAGS)
@ -165,7 +166,7 @@ nix/libstore/schema.sql.hh: nix/libstore/schema.sql
nodist_pkglibexec_SCRIPTS = \
nix/scripts/list-runtime-roots \
nix/scripts/substitute-binary
nix/scripts/substitute
if BUILD_DAEMON_OFFLOAD

16
doc.am
View file

@ -1,5 +1,5 @@
# GNU Guix --- Functional package management for GNU
# Copyright © 2012, 2013, 2014 Ludovic Courtès <ludo@gnu.org>
# Copyright © 2012, 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
# Copyright © 2013 Andreas Enge <andreas@enge.fr>
#
# This file is part of GNU Guix.
@ -25,12 +25,16 @@ 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
OS_CONFIG_EXAMPLES_TEXI = \
doc/os-config-bare-bones.texi \
doc/os-config-desktop.texi
doc/os-config.texi: gnu/system/os-config.tmpl
# Bundle this file so that makeinfo finds it in out-of-source-tree builds.
BUILT_SOURCES += $(OS_CONFIG_EXAMPLES_TEXI)
EXTRA_DIST += $(OS_CONFIG_EXAMPLES_TEXI)
MAINTAINERCLEANFILES = $(OS_CONFIG_EXAMPLES_TEXI)
doc/os-config-%.texi: gnu/system/examples/%.tmpl
$(MKDIR_P) "`dirname "$@"`"
cp "$<" "$@"

File diff suppressed because it is too large Load diff

139
etc/completion/bash/guix Normal file
View file

@ -0,0 +1,139 @@
# GNU Guix --- Functional package management for GNU
# Copyright © 2015 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/>.
# Bash completion for Guix commands.
_guix_complete_available_package ()
{
local prefix="$1"
local packages="$(${COMP_WORDS[0]} package -A "^$prefix" | cut -f1)"
COMPREPLY=($(compgen -W "$packages" -- "$prefix"))
}
_guix_complete_installed_package ()
{
local prefix="$1"
local packages="$(${COMP_WORDS[0]} package -I "^$prefix" | cut -f1)"
COMPREPLY=($(compgen -W "$packages" -- "$prefix"))
}
_guix_complete_option ()
{
local options="$(${COMP_WORDS[0]} ${COMP_WORDS[1]} --help \
| grep '^ \+-' \
| sed -e's/^.*--\([a-zA-Z0-9_-]\+\)\(=\?\).*/--\1\2/g' )"
compopt -o nospace
COMPREPLY=($(compgen -W "$options" -- "${COMP_WORDS[$word_count - 1]}"))
}
_guix_is_command ()
{
local word
local result="false"
for word in ${COMP_WORDS[*]}
do
if [ "$word" = "$1" ]
then
result=true
break
fi
done
$result
}
_guix_is_removing ()
{
local word
local result="false"
for word in ${COMP_WORDS[*]}
do
case "$word" in
--remove|--remove=*|-r)
result=true
break
;;
esac
done
$result
}
_guix_is_dash_L ()
{
[ "${COMP_WORDS[$COMP_CWORD - 1]}" = "-L" ] \
|| { case "${COMP_WORDS[$COMP_CWORD]}" in
--load-path=*) true;;
*) false;;
esac }
}
_guix_complete_file ()
{
# Let Readline complete file names.
compopt -o default
COMPREPLY=()
}
_guix_complete ()
{
local word_count=${#COMP_WORDS[*]}
local word_at_point="${COMP_WORDS[$COMP_CWORD]}"
if [ "$COMP_CWORD" -gt 1 ]
then
case "$word_at_point" in
-*)
_guix_complete_option "$word_at_point"
return
;;
esac
fi
case $COMP_CWORD in
1)
local subcommands="$(guix --help | grep '^ ' | cut -c 2-)"
COMPREPLY=($(compgen -W "$subcommands" -- "$word_at_point"))
;;
*)
if _guix_is_command "package"
then
if _guix_is_dash_L
then
_guix_complete_file
elif _guix_is_removing
then
_guix_complete_installed_package "$word_at_point"
else
_guix_complete_available_package "$word_at_point"
fi
elif _guix_is_command "system"
then
_guix_complete_file # TODO: complete sub-commands
elif _guix_is_command "hash"
then
_guix_complete_file
elif _guix_is_command "import" # TODO: complete sub-commands
then
_guix_complete_file
else
_guix_complete_available_package "$word_at_point"
fi
;;
esac
}
complete -F _guix_complete guix

View file

@ -38,6 +38,7 @@ GNU_SYSTEM_MODULES = \
gnu/packages/asciidoc.scm \
gnu/packages/aspell.scm \
gnu/packages/attr.scm \
gnu/packages/audacity.scm \
gnu/packages/audio.scm \
gnu/packages/autogen.scm \
gnu/packages/autotools.scm \
@ -92,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 \
@ -122,6 +124,7 @@ GNU_SYSTEM_MODULES = \
gnu/packages/gl.scm \
gnu/packages/glib.scm \
gnu/packages/gnome.scm \
gnu/packages/gnucash.scm \
gnu/packages/gnunet.scm \
gnu/packages/gnupg.scm \
gnu/packages/gnustep.scm \
@ -146,6 +149,7 @@ GNU_SYSTEM_MODULES = \
gnu/packages/haskell.scm \
gnu/packages/hugs.scm \
gnu/packages/hurd.scm \
gnu/packages/ibus.scm \
gnu/packages/icu4c.scm \
gnu/packages/idutils.scm \
gnu/packages/image.scm \
@ -155,11 +159,12 @@ GNU_SYSTEM_MODULES = \
gnu/packages/irssi.scm \
gnu/packages/iso-codes.scm \
gnu/packages/java.scm \
gnu/packages/jemalloc.scm \
gnu/packages/jrnl.scm \
gnu/packages/julia.scm \
gnu/packages/kde.scm \
gnu/packages/key-mon.scm \
gnu/packages/language.scm \
gnu/packages/ld-wrapper.scm \
gnu/packages/less.scm \
gnu/packages/lesstif.scm \
gnu/packages/libcanberra.scm \
@ -169,8 +174,10 @@ GNU_SYSTEM_MODULES = \
gnu/packages/libffcall.scm \
gnu/packages/libffi.scm \
gnu/packages/libftdi.scm \
gnu/packages/calendar.scm \
gnu/packages/libidn.scm \
gnu/packages/libphidget.scm \
gnu/packages/libreoffice.scm \
gnu/packages/libsigsegv.scm \
gnu/packages/libunistring.scm \
gnu/packages/libusb.scm \
@ -179,6 +186,7 @@ GNU_SYSTEM_MODULES = \
gnu/packages/lightning.scm \
gnu/packages/links.scm \
gnu/packages/linux.scm \
gnu/packages/lirc.scm \
gnu/packages/lisp.scm \
gnu/packages/llvm.scm \
gnu/packages/lout.scm \
@ -211,6 +219,7 @@ GNU_SYSTEM_MODULES = \
gnu/packages/ncurses.scm \
gnu/packages/netpbm.scm \
gnu/packages/nettle.scm \
gnu/packages/networking.scm \
gnu/packages/ninja.scm \
gnu/packages/node.scm \
gnu/packages/noweb.scm \
@ -218,7 +227,7 @@ GNU_SYSTEM_MODULES = \
gnu/packages/nutrition.scm \
gnu/packages/nvi.scm \
gnu/packages/ocaml.scm \
gnu/packages/ocrad.scm \
gnu/packages/ocr.scm \
gnu/packages/onc-rpc.scm \
gnu/packages/openbox.scm \
gnu/packages/openldap.scm \
@ -267,13 +276,13 @@ GNU_SYSTEM_MODULES = \
gnu/packages/slang.scm \
gnu/packages/slim.scm \
gnu/packages/smalltalk.scm \
gnu/packages/socat.scm \
gnu/packages/ssh.scm \
gnu/packages/stalonetray.scm \
gnu/packages/statistics.scm \
gnu/packages/swig.scm \
gnu/packages/sxiv.scm \
gnu/packages/synergy.scm \
gnu/packages/task-management.scm \
gnu/packages/tbb.scm \
gnu/packages/tcl.scm \
gnu/packages/tcsh.scm \
@ -285,6 +294,7 @@ GNU_SYSTEM_MODULES = \
gnu/packages/tmux.scm \
gnu/packages/tor.scm \
gnu/packages/tre.scm \
gnu/packages/tv.scm \
gnu/packages/unrtf.scm \
gnu/packages/upnp.scm \
gnu/packages/uucp.scm \
@ -297,6 +307,7 @@ GNU_SYSTEM_MODULES = \
gnu/packages/w3m.scm \
gnu/packages/wdiff.scm \
gnu/packages/web.scm \
gnu/packages/webkit.scm \
gnu/packages/weechat.scm \
gnu/packages/wget.scm \
gnu/packages/wicd.scm \
@ -320,8 +331,10 @@ GNU_SYSTEM_MODULES = \
gnu/services.scm \
gnu/services/avahi.scm \
gnu/services/base.scm \
gnu/services/dbus.scm \
gnu/services/databases.scm \
gnu/services/desktop.scm \
gnu/services/dmd.scm \
gnu/services/lirc.scm \
gnu/services/networking.scm \
gnu/services/ssh.scm \
gnu/services/xorg.scm \
@ -365,6 +378,7 @@ dist_patch_DATA = \
gnu/packages/patches/ath9k-htc-firmware-binutils.patch \
gnu/packages/patches/ath9k-htc-firmware-gcc.patch \
gnu/packages/patches/ath9k-htc-firmware-objcopy.patch \
gnu/packages/patches/audacity-fix-ffmpeg-binding.patch \
gnu/packages/patches/automake-skip-amhello-tests.patch \
gnu/packages/patches/avahi-localstatedir.patch \
gnu/packages/patches/avrdude-fix-libusb.patch \
@ -373,7 +387,9 @@ 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-configure-doc-fix.patch \
gnu/packages/patches/calibre-drop-unrar.patch \
gnu/packages/patches/calibre-no-updates-dialog.patch \
gnu/packages/patches/cdparanoia-fpic.patch \
gnu/packages/patches/chmlib-inttypes.patch \
gnu/packages/patches/clucene-pkgconfig.patch \
@ -390,7 +406,6 @@ dist_patch_DATA = \
gnu/packages/patches/cssc-gets-undeclared.patch \
gnu/packages/patches/cssc-missing-include.patch \
gnu/packages/patches/clucene-contribs-lib.patch \
gnu/packages/patches/curl-gss-api-fix.patch \
gnu/packages/patches/cursynth-wave-rand.patch \
gnu/packages/patches/dbus-localstatedir.patch \
gnu/packages/patches/diffutils-gets-undeclared.patch \
@ -399,12 +414,22 @@ dist_patch_DATA = \
gnu/packages/patches/doxygen-tmake.patch \
gnu/packages/patches/duplicity-piped-password.patch \
gnu/packages/patches/duplicity-test_selection-tmp.patch \
gnu/packages/patches/elfutils-tests-ptrace.patch \
gnu/packages/patches/emacs-exec-path.patch \
gnu/packages/patches/eudev-rules-directory.patch \
gnu/packages/patches/findutils-absolute-paths.patch \
gnu/packages/patches/flashrom-use-libftdi1.patch \
gnu/packages/patches/flex-bison-tests.patch \
gnu/packages/patches/fltk-shared-lib-defines.patch \
gnu/packages/patches/fuse-CVE-2015-3202.patch \
gnu/packages/patches/gawk-shell.patch \
gnu/packages/patches/gcc-arm-link-spec-fix.patch \
gnu/packages/patches/gcc-cross-environment-variables.patch \
gnu/packages/patches/gcc-libvtv-runpath.patch \
gnu/packages/patches/gcc-5.0-libvtv-runpath.patch \
gnu/packages/patches/geoclue-config.patch \
gnu/packages/patches/ghostscript-runpath.patch \
gnu/packages/patches/gitolite-openssh-6.8-compat.patch \
gnu/packages/patches/glib-tests-desktop.patch \
gnu/packages/patches/glib-tests-homedir.patch \
gnu/packages/patches/glib-tests-prlimit.patch \
@ -414,22 +439,32 @@ dist_patch_DATA = \
gnu/packages/patches/glibc-ldd-x86_64.patch \
gnu/packages/patches/glibc-locales.patch \
gnu/packages/patches/gmp-arm-asm-nothumb.patch \
gnu/packages/patches/gnutls-fix-duplicate-manpages.patch \
gnu/packages/patches/gobject-introspection-absolute-shlib-path.patch \
gnu/packages/patches/gobject-introspection-cc.patch \
gnu/packages/patches/gobject-introspection-girepository.patch \
gnu/packages/patches/grep-CVE-2015-1345.patch \
gnu/packages/patches/grub-gets-undeclared.patch \
gnu/packages/patches/grub-freetype.patch \
gnu/packages/patches/gstreamer-0.10-bison3.patch \
gnu/packages/patches/gstreamer-0.10-silly-test.patch \
gnu/packages/patches/guile-1.8-cpp-4.5.patch \
gnu/packages/patches/guile-arm-fixes.patch \
gnu/packages/patches/guile-default-utf8.patch \
gnu/packages/patches/guile-linux-syscalls.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/hop-bigloo-4.0b.patch \
gnu/packages/patches/hop-linker-flags.patch \
gnu/packages/patches/icecat-CVE-2015-0797.patch \
gnu/packages/patches/icecat-CVE-2015-2708-pt1.patch \
gnu/packages/patches/icecat-CVE-2015-2708-pt2.patch \
gnu/packages/patches/icecat-CVE-2015-2708-pt3.patch \
gnu/packages/patches/icecat-CVE-2015-2708-pt4.patch \
gnu/packages/patches/icecat-CVE-2015-2710-pt1.patch \
gnu/packages/patches/icecat-CVE-2015-2710-pt2.patch \
gnu/packages/patches/icecat-CVE-2015-2710-pt3.patch \
gnu/packages/patches/icecat-CVE-2015-2713-pt1.patch \
gnu/packages/patches/icecat-CVE-2015-2713-pt2.patch \
gnu/packages/patches/icecat-CVE-2015-2716.patch \
gnu/packages/patches/irrlicht-mesa-10.patch \
gnu/packages/patches/jbig2dec-ignore-testtest.patch \
gnu/packages/patches/kmod-module-directory.patch \
@ -442,13 +477,13 @@ 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/libtool-skip-tests2.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/lirc-localstatedir.patch \
gnu/packages/patches/lm-sensors-hwmon-attrs.patch \
gnu/packages/patches/lua51-liblua-so.patch \
gnu/packages/patches/luajit-no_ldconfig.patch \
@ -461,6 +496,7 @@ dist_patch_DATA = \
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/mplayer2-theora-fix.patch \
gnu/packages/patches/module-init-tools-moduledir.patch \
gnu/packages/patches/mupdf-buildsystem-fix.patch \
gnu/packages/patches/mutt-CVE-2014-9116.patch \
@ -473,58 +509,85 @@ dist_patch_DATA = \
gnu/packages/patches/nvi-dbpagesize-binpower.patch \
gnu/packages/patches/nvi-db4.patch \
gnu/packages/patches/openexr-missing-samples.patch \
gnu/packages/patches/openssl-runpath.patch \
gnu/packages/patches/orpheus-cast-errors-and-includes.patch \
gnu/packages/patches/ots-no-include-missing-file.patch \
gnu/packages/patches/patchelf-page-size.patch \
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-module-pluggable-search.patch \
gnu/packages/patches/perl-net-amazon-s3-moose-warning.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/polkit-drop-test.patch \
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/pycairo-wscript.patch \
gnu/packages/patches/pybugz-encode-error.patch \
gnu/packages/patches/pybugz-stty.patch \
gnu/packages/patches/pyqt-configure.patch \
gnu/packages/patches/python-fix-tests.patch \
gnu/packages/patches/python-libffi-mips-n32-fix.patch \
gnu/packages/patches/python-sqlite-3.8.4-test-fix.patch \
gnu/packages/patches/python2-rdflib-drop-sparqlwrapper.patch \
gnu/packages/patches/python2-sqlite-3.8.4-test-fix.patch \
gnu/packages/patches/python2-pygobject-2-gi-info-type-error-domain.patch \
gnu/packages/patches/qemu-CVE-2015-3456.patch \
gnu/packages/patches/qt4-ldflags.patch \
gnu/packages/patches/qt4-tests.patch \
gnu/packages/patches/qt5-conflicting-typedefs.patch \
gnu/packages/patches/qt5-runpath.patch \
gnu/packages/patches/r-fix-15899.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/sdl-libx11-1.6.patch \
gnu/packages/patches/serf-comment-style-fix.patch \
gnu/packages/patches/serf-deflate-buckets-test-fix.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/subversion-sqlite-3.8.9-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/texi2html-document-encoding.patch \
gnu/packages/patches/texi2html-i18n.patch \
gnu/packages/patches/udev-gir-libtool.patch \
gnu/packages/patches/tvtime-gcc41.patch \
gnu/packages/patches/tvtime-pngoutput.patch \
gnu/packages/patches/tvtime-videodev2.patch \
gnu/packages/patches/tvtime-xmltv.patch \
gnu/packages/patches/unzip-CVE-2014-8139.patch \
gnu/packages/patches/unzip-CVE-2014-8140.patch \
gnu/packages/patches/unzip-CVE-2014-8141.patch \
gnu/packages/patches/util-linux-tests.patch \
gnu/packages/patches/upower-builddir.patch \
gnu/packages/patches/valgrind-glibc-2.21.patch \
gnu/packages/patches/vpnc-script.patch \
gnu/packages/patches/vtk-mesa-10.patch \
gnu/packages/patches/w3m-fix-compile.patch \
gnu/packages/patches/webkitgtk-2.4.8-gmutexlocker.patch \
gnu/packages/patches/weex-vacopy.patch \
gnu/packages/patches/wicd-template-instantiation.patch \
gnu/packages/patches/wicd-urwid-1.3.patch \
gnu/packages/patches/wmctrl-64-fix.patch \
gnu/packages/patches/wpa-supplicant-CVE-2015-1863.patch \
gnu/packages/patches/wpa-supplicant-2015-2-fix.patch \
gnu/packages/patches/wpa-supplicant-2015-3-fix.patch \
gnu/packages/patches/wpa-supplicant-2015-4-fix-pt1.patch \
gnu/packages/patches/wpa-supplicant-2015-4-fix-pt2.patch \
gnu/packages/patches/wpa-supplicant-2015-4-fix-pt3.patch \
gnu/packages/patches/wpa-supplicant-2015-4-fix-pt4.patch \
gnu/packages/patches/wpa-supplicant-2015-4-fix-pt5.patch \
gnu/packages/patches/xf86-video-ark-remove-mibstore.patch \
gnu/packages/patches/xf86-video-ast-remove-mibstore.patch \
gnu/packages/patches/xf86-video-geode-glibc-2.20.patch \
@ -538,6 +601,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 \
@ -547,6 +611,9 @@ dist_patch_DATA = \
gnu/packages/patches/xmodmap-asprintf.patch \
gnu/packages/patches/zathura-plugindir-environment-variable.patch
MISC_DISTRO_FILES = \
gnu/packages/ld-wrapper.in
bootstrapdir = $(guilemoduledir)/gnu/packages/bootstrap
bootstrap_x86_64_linuxdir = $(bootstrapdir)/x86_64-linux
bootstrap_i686_linuxdir = $(bootstrapdir)/i686-linux

View file

@ -32,9 +32,9 @@
(method git-fetch)
(uri (git-reference
(url "git://git.savannah.gnu.org/guix/guix-artwork.git")
(commit "61ae7c8")))
(commit "6998d30")))
(sha256
(base32
"102fxk2l6b0ibry3n430q8ljhwrnbml9qgalzkz6v09r7sx6a532"))))
"0k7j3pj9s3zqiqmfkapypssvzx3f12yr0cc2rbzxqfii0b4clp1j"))))
;;; artwork.scm ends here

View file

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
;;;
;;; This file is part of GNU Guix.
@ -30,6 +30,7 @@
activate-/bin/sh
activate-modprobe
activate-firmware
activate-ptrace-attach
activate-current-system))
;;; Commentary:
@ -40,6 +41,24 @@
;;;
;;; Code:
(define (enumerate thunk)
"Return the list of values returned by THUNK until it returned #f."
(let loop ((entry (thunk))
(result '()))
(if (not entry)
(reverse result)
(loop (thunk) (cons entry result)))))
(define (current-users)
"Return the passwd entries for all the currently defined user accounts."
(setpw)
(enumerate getpwent))
(define (current-groups)
"Return the group entries for all the currently defined user groups."
(setgr)
(enumerate getgrent))
(define* (add-group name #:key gid password system?
(log-port (current-error-port)))
"Add NAME as a user group, with the given numeric GID if specified."
@ -59,6 +78,11 @@
(define (dot-or-dot-dot? file)
(member file '("." "..")))
(define (make-file-writable file)
"Make FILE writable for its owner.."
(let ((stat (lstat file))) ;XXX: symlinks
(chmod file (logior #o600 (stat:perms stat)))))
(define* (copy-account-skeletons home
#:optional (directory %skeleton-directory))
"Copy the account skeletons from DIRECTORY to HOME."
@ -66,8 +90,21 @@
string<?)))
(mkdir-p home)
(for-each (lambda (file)
(copy-file (string-append directory "/" file)
(string-append home "/" file)))
(let ((target (string-append home "/" file)))
(copy-file (string-append directory "/" file) target)
(make-file-writable target)))
files)))
(define* (make-skeletons-writable home
#:optional (directory %skeleton-directory))
"Make sure that the files that have been copied from DIRECTORY to HOME are
owner-writable in HOME."
(let ((files (scandir directory (negate dot-or-dot-dot?)
string<?)))
(for-each (lambda (file)
(let ((target (string-append home "/" file)))
(when (file-exists? target)
(make-file-writable target))))
files)))
(define* (add-user name group
@ -109,7 +146,14 @@ properties. Return #t on success."
,@(if password `("-p" ,password) '())
,@(if system? '("--system") '())
,name)))
(zero? (apply system* "useradd" args)))))
(and (zero? (apply system* "useradd" args))
(begin
;; Since /etc/skel is a link to a directory in the store where
;; all files have the writable bit cleared, and since 'useradd'
;; preserves permissions when it copies them, explicitly make
;; them writable.
(make-skeletons-writable home)
#t)))))
(define* (modify-user name group
#:key uid comment home shell password system?
@ -128,6 +172,17 @@ properties. Return #t on success."
,name)))
(zero? (apply system* "usermod" args))))
(define* (delete-user name #:key (log-port (current-error-port)))
"Remove user account NAME. Return #t on success. This may fail if NAME is
logged in."
(format log-port "deleting user '~a'...~%" name)
(zero? (system* "userdel" name)))
(define* (delete-group name #:key (log-port (current-error-port)))
"Remove group NAME. Return #t on success."
(format log-port "deleting group '~a'...~%" name)
(zero? (system* "groupdel" name)))
(define* (ensure-user name group
#:key uid comment home shell password system?
(supplementary-groups '())
@ -186,8 +241,22 @@ numeric gid or #f."
#:system? system?))))
groups)
;; Finally create the other user accounts.
(for-each activate-user users))
;; Create the other user accounts.
(for-each activate-user users)
;; Finally, delete extra user accounts and groups.
(for-each delete-user
(lset-difference string=?
(map passwd:name (current-users))
(match users
(((names . _) ...)
names))))
(for-each delete-group
(lset-difference string=?
(map group:name (current-groups))
(match groups
(((names . _) ...)
names)))))
(define (activate-etc etc)
"Install ETC, a directory in the store, as the source of static files for
@ -292,6 +361,20 @@ by itself, without having to resort to a \"user helper\"."
(lambda (port)
(display directory port))))
(define (activate-ptrace-attach)
"Allow users to PTRACE_ATTACH their own processes.
This works around a regression introduced in the default \"security\" policy
found in Linux 3.4 onward that prevents users from attaching to their own
processes--see Yama.txt in the Linux source tree for the rationale. This
sounds like an unacceptable restriction for little or no security
improvement."
(let ((file "/proc/sys/kernel/yama/ptrace_scope"))
(when (file-exists? file)
(call-with-output-file file
(lambda (port)
(display 0 port))))))
(define %current-system
;; The system that is current (a symlink.) This is not necessarily the same

View file

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014, 2015 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -55,6 +55,7 @@
(define MS_NOSUID 2)
(define MS_NODEV 4)
(define MS_NOEXEC 8)
(define MS_REMOUNT 32)
(define MS_BIND 4096)
(define MS_MOVE 8192)
@ -280,13 +281,21 @@ run a file system check."
(match spec
((source title mount-point type (flags ...) options check?)
(let ((source (canonicalize-device-spec source title))
(mount-point (string-append root "/" mount-point)))
(mount-point (string-append root "/" mount-point))
(flags (mount-flags->bit-mask flags)))
(when check?
(check-file-system source type))
(mkdir-p mount-point)
(mount source mount-point type (mount-flags->bit-mask flags)
(mount source mount-point type flags
(if options
(string->pointer options)
%null-pointer))))))
%null-pointer))
;; For read-only bind mounts, an extra remount is needed, as per
;; <http://lwn.net/Articles/281157/>, which still applies to Linux 4.0.
(when (and (= MS_BIND (logand flags MS_BIND))
(= MS_RDONLY (logand flags MS_RDONLY)))
(mount source mount-point type (logior MS_BIND MS_REMOUNT MS_RDONLY)
%null-pointer))))))
;;; file-systems.scm ends here

View file

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -18,12 +18,14 @@
(define-module (gnu build install)
#:use-module (guix build utils)
#:use-module (guix build store-copy)
#:use-module (srfi srfi-26)
#:use-module (ice-9 match)
#:export (install-grub
populate-root-file-system
reset-timestamps
register-closure))
register-closure
populate-single-profile-directory))
;;; Commentary:
;;;
@ -118,6 +120,8 @@ STORE."
(directory "/bin")
(directory "/tmp" 0 0 #o1777) ; sticky bit
(directory "/var/tmp" 0 0 #o1777)
(directory "/var/lock" 0 0 #o1777)
(directory "/root" 0 0) ; an exception
(directory "/home" 0 0)))
@ -156,4 +160,43 @@ by 'guix-register'. As a side effect, this resets timestamps on store files."
(unless (zero? status)
(error "failed to register store items" closure))))
(define* (populate-single-profile-directory directory
#:key profile closure)
"Populate DIRECTORY with a store containing PROFILE, whose closure is given
in the file called CLOSURE (as generated by #:references-graphs.) DIRECTORY
is initialized to contain a single profile under /root pointing to PROFILE.
This is used to create the self-contained Guix tarball."
(define (scope file)
(string-append directory "/" file))
(define %root-profile
"/var/guix/profiles/per-user/root")
(define (mkdir-p* dir)
(mkdir-p (scope dir)))
(define (symlink* old new)
(symlink old (scope new)))
;; Populate the store.
(populate-store (list closure) directory)
(register-closure (canonicalize-path directory) closure)
;; XXX: 'guix-register' registers profiles as GC roots but the symlink
;; target uses $TMPDIR. Fix that.
(delete-file (scope "/var/guix/gcroots/profiles"))
(symlink* "/var/guix/profiles"
"/var/guix/gcroots/profiles")
;; Make root's profile, which makes it a GC root.
(mkdir-p* %root-profile)
(symlink* profile
(string-append %root-profile "/guix-profile-1-link"))
(symlink* (string-append %root-profile "/guix-profile-1-link")
(string-append %root-profile "/guix-profile"))
(mkdir-p* "/root")
(symlink* (string-append %root-profile "/guix-profile")
"/root/.guix-profile"))
;;; install.scm ends here

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
@ -160,9 +160,15 @@ Optionally, narrow the search to SUB-DIRECTORY."
(string-length directory))
(filter-map (lambda (file)
(let ((file (substring file prefix-len)))
(false-if-exception
(resolve-interface (file-name->module-name file)))))
(let* ((file (substring file prefix-len))
(module (file-name->module-name file)))
(catch #t
(lambda ()
(resolve-interface module))
(lambda args
;; Report the error, but keep going.
(warn-about-load-error module args)
#f))))
(scheme-files (if sub-directory
(string-append directory "/" sub-directory)
directory))))
@ -205,14 +211,18 @@ same package twice."
(let ((packages (delay
(fold-packages (lambda (p r)
(vhash-cons (package-name p) p r))
vlist-null))))
vlist-null)))
(version>? (lambda (p1 p2)
(version>? (package-version p1) (package-version p2)))))
(lambda* (name #:optional version)
"Return the list of packages with the given NAME. If VERSION is not #f,
then only return packages whose version is equal to VERSION."
(let ((matching (vhash-fold* cons '() name (force packages))))
then only return packages whose version is prefixed by VERSION, sorted in
decreasing version order."
(let ((matching (sort (vhash-fold* cons '() name (force packages))
version>?)))
(if version
(filter (lambda (package)
(string=? (package-version package) version))
(string-prefix? version (package-version package)))
matching)
matching)))))

View file

@ -55,7 +55,8 @@
#:use-module (gnu packages libftdi)
#:use-module (gnu packages image)
#:use-module (gnu packages xorg)
#:use-module (gnu packages python))
#:use-module (gnu packages python)
#:use-module (gnu packages man))
(define-public dmd
(package
@ -151,14 +152,14 @@ re-executing them as necessary.")
(define-public inetutils
(package
(name "inetutils")
(version "1.9.2")
(version "1.9.3")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/inetutils/inetutils-"
version ".tar.gz"))
(sha256
(base32
"04wrm0v7l4890mmbaawd6wjwdv08bkglgqhpz0q4dkb0l50fl8q4"))))
"06dshajjpyi9sxi7qfki9gnp5r3nxvyvf81r81gx0x2qkqzqcxlj"))))
(build-system gnu-build-system)
(arguments `(;; FIXME: `tftp.sh' relies on `netstat' from utils-linux,
;; which is currently missing.
@ -687,7 +688,7 @@ commands and their arguments.")
(define-public wpa-supplicant-light
(package
(name "wpa-supplicant-light")
(version "2.3")
(version "2.4")
(source (origin
(method url-fetch)
(uri (string-append
@ -696,7 +697,16 @@ commands and their arguments.")
".tar.gz"))
(sha256
(base32
"0skvkl6c10ls4s48b2wmf47h9j1y40nlzxnzn8hyaw2j0prmpapa"))))
"08li21q1wjn5chrv289w666il9ah1w419y3dkq2rl4wnq0rci385"))
(patches
(map search-patch '("wpa-supplicant-CVE-2015-1863.patch"
"wpa-supplicant-2015-2-fix.patch"
"wpa-supplicant-2015-3-fix.patch"
"wpa-supplicant-2015-4-fix-pt1.patch"
"wpa-supplicant-2015-4-fix-pt2.patch"
"wpa-supplicant-2015-4-fix-pt3.patch"
"wpa-supplicant-2015-4-fix-pt4.patch"
"wpa-supplicant-2015-4-fix-pt5.patch")))))
(build-system gnu-build-system)
(arguments
'(#:phases (alist-replace
@ -783,7 +793,15 @@ This package provides the 'wpa_supplicant' daemon and the 'wpa_cli' command.")
CONFIG_CTRL_IFACE_DBUS_INTRO=y\n" port)
(close-port port))
#t)
,phases))))))
(alist-cons-after
'install-man-pages 'install-dbus-conf
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(dir (string-append out "/etc/dbus-1/system.d")))
(mkdir-p dir)
(copy-file "dbus/dbus-wpa_supplicant.conf"
(string-append dir "/wpa_supplicant.conf"))))
,phases)))))))
(define-public wakelan
(package
@ -856,7 +874,7 @@ module slots, and the list of I/O ports (e.g. serial, parallel, USB).")
(define-public acpica
(package
(name "acpica")
(version "20140724")
(version "20150410")
(source (origin
(method url-fetch)
(uri (string-append
@ -864,7 +882,7 @@ module slots, and the list of I/O ports (e.g. serial, parallel, USB).")
version ".tar.gz"))
(sha256
(base32
"01vdgrh7dsxrrvg5yd8sxm63cw8210pnsi5qg9g15ac53gn243ac"))))
"0q1fjwkyw9x6gsva6fd0zbn7ly4fx0ha4853f416np9kf2irillw"))))
(build-system gnu-build-system)
(native-inputs `(("flex" ,flex)
("bison" ,bison)))

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

View file

@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 Cyril Roelandt <tipecaml@gmail.com>
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -18,25 +18,26 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages apr)
#:use-module (guix licenses)
#:use-module ((guix licenses) #:prefix l:)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu)
#:use-module (gnu packages)
#:use-module (gnu packages perl)
#:use-module (gnu packages xml)
#:use-module (gnu packages autotools))
(define-public apr
(package
(name "apr")
(version "1.5.1")
(version "1.5.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://apache/apr/apr-"
version ".tar.bz2"))
(sha256
(base32
"1b4qw686bwjn19iyb0lg918q23xxd6s2gnyczhjq992d3m1vwjp9"))
"0ypn51xblix5ys9xy7da3ngdydip0qqh9rdq8nz54w9aq8lys0vx"))
(patches
(list (search-patch "apr-skip-getservbyname-test.patch")))
(patch-flags '("-p0"))))
@ -59,7 +60,7 @@ an API to which software developers may code and be assured of predictable if
not identical behaviour regardless of the platform on which their software is
built, relieving them of the need to code special-case conditions to work
around or take advantage of platform-specific deficiencies or features.")
(license asl2.0)))
(license l:asl2.0)))
(define-public apr-util
(package
@ -74,19 +75,23 @@ around or take advantage of platform-specific deficiencies or features.")
"0bn81pfscy9yjvbmyx442svf43s6dhrdfcsnkpxz43fai5qk5kx6"))))
(build-system gnu-build-system)
(inputs
`(("apr" ,apr)))
`(("apr" ,apr)))
(propagated-inputs
`(("expat" ,expat)))
(arguments
'(#:phases
(alist-replace
'configure
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
(apr (assoc-ref inputs "apr")))
(let ((out (assoc-ref outputs "out"))
(apr (assoc-ref inputs "apr"))
(expat (assoc-ref inputs "expat")))
(setenv "CONFIG_SHELL" (which "bash"))
(zero?
(system* "./configure"
(string-append "--prefix=" out)
(string-append "--with-apr=" apr)))))
(string-append "--with-apr=" apr)
(string-append "--with-expat=" expat)))))
%standard-phases)
;; There are race conditions during 'make check'. Typically, the
@ -98,4 +103,4 @@ around or take advantage of platform-specific deficiencies or features.")
(synopsis "One of the Apache Portable Runtime Library companions")
(description
"APR-util provides a number of helpful abstractions on top of APR.")
(license asl2.0)))
(license l:asl2.0)))

102
gnu/packages/audacity.scm Normal file
View file

@ -0,0 +1,102 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@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 audacity)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix build-system gnu)
#:use-module (gnu packages)
#:use-module (gnu packages audio)
#:use-module (gnu packages base)
#:use-module (gnu packages gtk)
#:use-module (gnu packages linux)
#:use-module (gnu packages mp3)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages pulseaudio)
#:use-module (gnu packages python)
#:use-module (gnu packages xiph)
#:use-module (gnu packages xml)
#:use-module (gnu packages video)
#:use-module (gnu packages wxwidgets))
(define-public audacity
(package
(name "audacity")
(version "2.1.0")
(source
(origin
(method url-fetch)
(uri
(string-append
"mirror://sourceforge/audacity/audacity-minsrc-" version ".tar.xz"))
(sha256
(base32 "1cs2w3fwqylpqmfwkvlgdx5lhclpckfil7pqibl37qlbnf4qvndh"))
(patches (list (search-patch "audacity-fix-ffmpeg-binding.patch")))))
(build-system gnu-build-system)
(inputs
;; TODO: Add portSMF and libwidgetextra once they're packaged. In-tree
;; versions shipping with Audacity are used for now.
`(("wxwidgets" ,wxwidgets-2)
("gtk" ,gtk+-2)
("alsa-lib" ,alsa-lib)
("jack" ,jack-2)
("expat" ,expat)
("ffmpeg" ,ffmpeg)
("lame" ,lame)
("flac" ,flac)
("libid3tag" ,libid3tag)
("libmad" ,libmad)
("libsbsms" ,libsbsms)
("libsndfile" ,libsndfile)
("soundtouch" ,soundtouch)
("soxr" ,soxr) ;replaces libsamplerate
("twolame" ,twolame)
("vamp" ,vamp)
("libvorbis" ,libvorbis)
("lv2" ,lv2)
("lilv" ,lilv)
("portaudio" ,portaudio)))
(native-inputs
`(("pkg-config" ,pkg-config)
("python" ,python-2)
("which" ,which)))
(arguments
'(#:configure-flags
(let ((libid3tag (assoc-ref %build-inputs "libid3tag"))
(libmad (assoc-ref %build-inputs "libmad")))
(list
;; Loading FFmpeg dynamically is problematic.
"--disable-dynamic-loading"
;; libid3tag and libmad provide no .pc files, so pkg-config fails to
;; find them. Force their inclusion.
(string-append "ID3TAG_CFLAGS=-I" libid3tag "/include")
(string-append "ID3TAG_LIBS=-L" libid3tag "/lib -lid3tag -lz")
(string-append "LIBMAD_CFLAGS=-I" libmad "/include")
(string-append "LIBMAD_LIBS=-L" libmad "/lib -lmad")))
;; The test suite is not "well exercised" according to the developers,
;; and fails with various errors. See
;; <http://sourceforge.net/p/audacity/mailman/message/33524292/>.
#:tests? #f))
(home-page "http://audacity.sourceforge.net/")
(synopsis "Software for recording and editing sounds")
(description
"Audacity is a multi-track audio editor designed for recording, playing
and editing digital audio. It features digital effects and spectrum analysis
tools.")
(license license:gpl2+)))

View file

@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
;;;
;;; This file is part of GNU Guix.
;;;
@ -21,6 +22,7 @@
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix utils)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix build-system gnu)
#:use-module (guix build-system waf)
@ -31,10 +33,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)
@ -125,7 +130,23 @@ attacks, performing pitch detection, tapping the beat and producing MIDI
streams from live audio.")
(license license:gpl3+)))
(define-public ardour
(define (ardour-rpath-phase major-version)
`(lambda* (#:key outputs #:allow-other-keys)
(let ((libdir (string-append (assoc-ref outputs "out")
"/lib/ardour" ,major-version)))
(substitute* "wscript"
(("linker_flags = \\[\\]")
(string-append "linker_flags = [\""
"-Wl,-rpath="
libdir ":"
libdir "/backends" ":"
libdir "/engines" ":"
libdir "/panners" ":"
libdir "/surfaces" ":"
libdir "/vamp" "\"]"))))
#t))
(define-public ardour-3
(package
(name "ardour")
(version "3.5.403")
@ -137,6 +158,9 @@ streams from live audio.")
(url "git://git.ardour.org/ardour/ardour.git")
(commit version)))
(snippet
;; Ardour expects this file to exist at build time. It can be
;; created from a git checkout with:
;; ./waf create_stored_revision
'(call-with-output-file
"libs/ardour/revision.cc"
(lambda (port)
@ -148,7 +172,12 @@ namespace ARDOUR { const char* revision = \"3.5-403-gec2cb31\" ; }"))))
(file-name (string-append name "-" version))))
(build-system waf-build-system)
(arguments
`(#:tests? #f ; no check target
`(#:phases
(modify-phases %standard-phases
(add-after
'unpack 'set-rpath-in-LDFLAGS
,(ardour-rpath-phase (version-prefix version 1))))
#:tests? #f ; no check target
#:python ,python-2))
(inputs
`(("alsa-lib" ,alsa-lib)
@ -180,8 +209,6 @@ namespace ARDOUR { const char* revision = \"3.5-403-gec2cb31\" ; }"))))
("sratom" ,sratom)
("suil" ,suil)
("lilv" ,lilv)
("rasqal" ,rasqal)
("raptor2" ,raptor2)
("redland" ,redland)
("rubberband" ,rubberband)
("taglib" ,taglib)
@ -197,6 +224,35 @@ record, edit, mix and master audio and MIDI projects. It is targeted at audio
engineers, musicians, soundtrack editors and composers.")
(license license:gpl2+)))
(define-public ardour
(package (inherit ardour-3)
(name "ardour")
(version "4.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "git://git.ardour.org/ardour/ardour.git")
(commit version)))
(snippet
;; Ardour expects this file to exist at build time. It can be
;; created from a git checkout with:
;; ./waf create_stored_revision
'(call-with-output-file
"libs/ardour/revision.cc"
(lambda (port)
(format port "#include \"ardour/revision.h\"
namespace ARDOUR { const char* revision = \"4.0\" ; }"))))
(sha256
(base32
"0a8bydc24xv0cahdqfaxdmi1f43cyr9psiyshxpbrkdqw2c7a4xi"))
(file-name (string-append name "-" version))))
(arguments
(substitute-keyword-arguments (package-arguments ardour-3)
((#:phases phases)
`(modify-phases ,phases
(replace 'set-rpath-in-LDFLAGS
,(ardour-rpath-phase (version-prefix version 1)))))))))
(define-public azr3
(package
(name "azr3")
@ -233,6 +289,81 @@ bass section with five drawbars. A standalone JACK application and LV2
plugins are provided.")
(license license:gpl2)))
(define-public calf
(package
(name "calf")
(version "0.0.60")
(source (origin
(method url-fetch)
(uri (string-append
"mirror://sourceforge/calf/calf/"
version "/calf-" version ".tar.gz"))
(sha256
(base32
"019fwg00jv217a5r767z7szh7vdrarybac0pr2sk26xp81kibrx9"))))
(build-system gnu-build-system)
(inputs
`(("fluidsynth" ,fluidsynth)
("expat" ,expat)
("glib" ,glib)
("gtk" ,gtk+-2)
("cairo" ,cairo)
("lash" ,lash)
("jack" ,jack-1)
("lv2" ,lv2)
("ladspa" ,ladspa)
("fftw" ,fftw)))
(native-inputs
`(("pkg-config" ,pkg-config)))
(native-search-paths
(list (search-path-specification
(variable "LV2_PATH")
(files '("lib/lv2")))))
(home-page "http://calf.sourceforge.net/")
(synopsis "Audio plug-in pack for LV2 and JACK environments")
(description
"Calf Studio Gear is an audio plug-in pack for LV2 and JACK environments.
The suite contains lots of effects (delay, modulation, signal processing,
filters, equalizers, dynamics, distortion and mastering effects),
instruments (SF2 player, organ simulator and a monophonic synthesizer) and
tools (analyzer, mono/stereo tools, crossovers).")
;; calfjackhost is released under GPLv2+
;; The plugins are released under LGPLv2.1+
(license (list license:lgpl2.1+ 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")
@ -278,6 +409,45 @@ plugins are provided.")
ALSA PCM devices.")
(license license:gpl2+)))
(define-public fluidsynth
(package
(name "fluidsynth")
(version "1.1.6")
(source (origin
(method url-fetch)
(uri (string-append
"mirror://sourceforge/fluidsynth/fluidsynth-"
version "/fluidsynth-" version ".tar.gz"))
(sha256
(base32
"070pwb7brdcn1mfvplkd56vjc7lbz4iznzkqvfsakvgbv68k71ah"))))
(build-system gnu-build-system)
(arguments
`(#:phases
(alist-cons-after
'unpack
'remove-broken-symlinks
(lambda _ (delete-file-recursively "m4") #t)
%standard-phases)))
(inputs
`(("libsndfile" ,libsndfile)
("alsa-lib" ,alsa-lib)
("jack" ,jack-1)
("ladspa" ,ladspa)
("lash" ,lash)
("readline" ,readline)
("glib" ,glib)))
(native-inputs
`(("pkg-config" ,pkg-config)))
(home-page "http://www.fluidsynth.org/")
(synopsis "SoundFont synthesizer")
(description
"FluidSynth is a real-time software synthesizer based on the SoundFont 2
specifications. FluidSynth reads and handles MIDI events from the MIDI input
device. It is the software analogue of a MIDI synthesizer. FluidSynth can
also play midifiles using a Soundfont.")
(license license:gpl2+)))
(define-public faad2
(package
(name "faad2")
@ -349,6 +519,46 @@ patches that can be used with softsynths such as Timidity and WildMidi.")
;; GPLv2+ with exception for compositions using these patches.
(license license:gpl2+)))
(define-public ir
(package
(name "ir")
(version "1.3.2")
(source (origin
(method url-fetch)
(uri (string-append
"http://factorial.hu/system/files/ir.lv2-"
version ".tar.gz"))
(sha256
(base32
"1jh2z01l9m4ar7yz0n911df07dygc7n4cl59p7qdjbh0nvkm747g"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ;no "check" target
#:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out")))
#:phases
;; no configure script
(alist-delete 'configure %standard-phases)))
(inputs
`(("libsndfile" ,libsndfile)
("libsamplerate" ,libsamplerate)
("lv2" ,lv2)
("glib" ,glib)
("gtk+" ,gtk+-2)
("zita-convolver" ,zita-convolver)))
(native-inputs
`(("pkg-config" ,pkg-config)))
(native-search-paths
(list (search-path-specification
(variable "LV2_PATH")
(files '("lib/lv2")))))
(home-page "http://factorial.hu/plugins/lv2/ir")
(synopsis "LV2 convolution reverb")
(description
"IR is a low-latency, real-time, high performance signal convolver
especially for creating reverb effects. It supports impulse responses with 1,
2 or 4 channels, in any soundfile format supported by libsndfile.")
(license license:gpl2+)))
(define-public jack-1
(package
(name "jack")
@ -403,7 +613,18 @@ synchronous execution of all clients, and low latency operation.")
(arguments
`(#:tests? #f ; no check target
#:configure-flags '("--dbus"
"--alsa")))
"--alsa")
#:phases
(modify-phases %standard-phases
(add-before
'configure 'set-linkflags
(lambda _
;; Add $libdir to the RUNPATH of all the binaries.
(substitute* "wscript"
((".*CFLAGS.*-Wall.*" m)
(string-append m
" conf.env.append_unique('LINKFLAGS',"
"'-Wl,-rpath=" %output "/lib')\n"))))))))
(inputs
`(("alsa-lib" ,alsa-lib)
("dbus" ,dbus)
@ -585,7 +806,16 @@ implementation of the Open Sound Control (OSC) protocol.")
(base32
"0aj2plkx56iar8vzjbq2l7hi7sp0ml99m0h44rgwai2x4vqkk2j2"))))
(build-system waf-build-system)
(arguments `(#:tests? #f)) ; no check target
(arguments
`(#:tests? #f ; no check target
#:phases
(modify-phases %standard-phases
(add-before
'configure 'set-ldflags
(lambda* (#:key outputs #:allow-other-keys)
(setenv "LDFLAGS"
(string-append "-Wl,-rpath="
(assoc-ref outputs "out") "/lib")))))))
;; required by lilv-0.pc
(propagated-inputs
`(("serd" ,serd)
@ -995,6 +1225,97 @@ 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 libmodplug
(package
(name "libmodplug")
(version "0.8.8.5")
(source (origin
(method url-fetch)
(uri (string-append
"mirror://sourceforge/project/modplug-xmms/"
name "/" version "/" name "-" version ".tar.gz"))
(sha256
(base32
"1bfsladg7h6vnii47dd66f5vh1ir7qv12mfb8n36qiwrxq92sikp"))))
(build-system gnu-build-system)
(home-page "http://modplug-xmms.sourceforge.net/")
(synopsis "Mod file playing library")
(description
"Libmodplug renders mod music files as raw audio data, for playing or
conversion. mod, .s3m, .it, .xm, and a number of lesser-known formats are
supported. Optional features include high-quality resampling, bass expansion,
surround and reverb.")
(license license:public-domain)))
(define-public libxmp
(package
(name "libxmp")
(version "4.3.8")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/xmp/libxmp/"
name "-" version ".tar.gz"))
(sha256
(base32
"0h06091hlpgc6ds4pjmfq8sx4snw7av3nhny180q4pwfyasjb6ny"))))
(build-system gnu-build-system)
(home-page "http://xmp.sourceforge.net/")
(synopsis "Module player library")
(description
"Libxmp is a library that renders module files to PCM data. It supports
over 90 mainstream and obscure module formats including Protracker (MOD),
Scream Tracker 3 (S3M), Fast Tracker II (XM), and Impulse Tracker (IT).")
(license license:lgpl2.1+)))
(define-public xmp
(package
(name "xmp")
(version "4.0.10")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/xmp/xmp/"
name "-" version ".tar.gz"))
(sha256
(base32
"0gjylvvmq7ha0nhcjg56qfp0xxpsrcsj7y5r914svd5x1ppmzm5n"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs
`(("libxmp" ,libxmp)
("pulseaudio" ,pulseaudio)))
(home-page "http://xmp.sourceforge.net/")
(synopsis "Extended module player")
(description
"Xmp is a portable module player that plays over 90 mainstream and
obscure module formats, including Protracker MOD, Fasttracker II XM, Scream
Tracker 3 S3M and Impulse Tracker IT files.")
(license license:gpl2+)))
(define-public soundtouch
(package
(name "soundtouch")
@ -1088,15 +1409,28 @@ portions of LAME.")
(string-map (lambda (c) (if (char=? c #\.) #\_ c)) version)
".tgz"))
(sha256
(base32 "0mwddk4qzybaf85wqfhxqlf0c5im9il8z03rd4n127k8y2jj9q4g"))))
(base32 "0mwddk4qzybaf85wqfhxqlf0c5im9il8z03rd4n127k8y2jj9q4g"))
(patches (list (search-patch "portaudio-audacity-compat.patch")))))
(build-system gnu-build-system)
(inputs
;; TODO: Add ASIHPI.
`(("alsa-lib" ,alsa-lib)
("jack" ,jack-2)))
(native-inputs
`(("pkg-config" ,pkg-config)))
(arguments '(#:tests? #f)) ;no 'check' target
`(("autoconf" ,autoconf)
("automake" ,automake)
("libtool" ,libtool)
("pkg-config" ,pkg-config)))
(arguments
'(#:phases
;; Autoreconf is necessary because the audacity-compat patch modifies
;; .in files.
(alist-cons-after
'unpack 'autoreconf
(lambda _
(zero? (system* "autoreconf" "-vif")))
%standard-phases)
#:tests? #f)) ;no 'check' target
(home-page "http://www.portaudio.com/")
(synopsis "Audio I/O library")
(description
@ -1145,6 +1479,48 @@ directly to a different computer on your LAN network. It is an audio daemon
with a much different focus than most other audio daemons.")
(license license:gpl3+)))
(define-public zita-convolver
(package
(name "zita-convolver")
(version "3.1.0")
(source (origin
(method url-fetch)
(uri (string-append
"http://kokkinizita.linuxaudio.org"
"/linuxaudio/downloads/zita-convolver-"
version ".tar.bz2"))
(sha256
(base32
"14qrnczhp5mbwhky64il7kxc4hl1mmh495v60va7i2qnhasr6zmz"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no "check" target
#:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out")))
#:phases
(alist-cons-after
'unpack 'patch-makefile-and-enter-directory
(lambda _
(substitute* "libs/Makefile"
(("ldconfig") "true")
(("^LIBDIR =.*") "LIBDIR = lib\n"))
(chdir "libs") #t)
(alist-cons-after
'install
'install-symlink
(lambda _
(symlink "libzita-convolver.so"
(string-append (assoc-ref %outputs "out")
"/lib/libzita-convolver.so.3")))
;; no configure script
(alist-delete 'configure %standard-phases)))))
(inputs `(("fftwf" ,fftwf)))
(home-page "http://kokkinizita.linuxaudio.org")
(synopsis "Fast, partitioned convolution engine library")
(description
"Zita convolver is a C++ library providing a real-time convolution
engine.")
(license license:gpl3+)))
(define-public zita-alsa-pcmi
(package
(name "zita-alsa-pcmi")

View file

@ -23,13 +23,14 @@
#:use-module (guix build-system gnu)
#:use-module (gnu packages)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages base)
#:use-module (gnu packages guile))
(define-public autogen
(package
(name "autogen")
(version "5.18.4")
(version "5.18.5")
(source
(origin
(method url-fetch)
@ -38,9 +39,10 @@
version ".tar.gz"))
(sha256
(base32
"0pbjzwgvmjvi6nl1bcyhfc9kl93s6321dgmvp5dqdip7i8dgin9w"))))
"1flnbnmkbqmbfgammkl8m36wrlk6rhpgnf9pdm6gdfhqalxvggbv"))))
(build-system gnu-build-system)
(native-inputs `(("perl" ,perl))) ;for doc generator mdoc
(native-inputs `(("perl" ,perl) ;for doc generator mdoc
("pkg-config" ,pkg-config)))
(inputs `(("which" ,which)
("guile" ,guile-2.0)))
(arguments

View file

@ -248,7 +248,7 @@ Makefile, simplifying the entire process for the developer.")
(base32
"0vxj52zm709125gwv9qqlw02silj8bnjnh4y07arrz60r31ai1vw"))
(patches
(list (search-patch "libtool-skip-tests.patch")))))
(list (search-patch "libtool-skip-tests2.patch")))))
(build-system gnu-build-system)
(propagated-inputs `(("m4" ,m4)))
(native-inputs `(("m4" ,m4)
@ -303,9 +303,7 @@ complexity of working with shared libraries across platforms.")
version ".tar.xz"))
(sha256
(base32
"0vxj52zm709125gwv9qqlw02silj8bnjnh4y07arrz60r31ai1vw"))
(patches
(list (search-patch "libtool-skip-tests.patch")))))
"0vxj52zm709125gwv9qqlw02silj8bnjnh4y07arrz60r31ai1vw"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags '("--enable-ltdl-install") ;really install it

View file

@ -34,6 +34,7 @@
#:use-module (gnu packages linux)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages gettext)
#:use-module (guix utils)
#:use-module (guix packages)
#:use-module (guix download)
@ -151,14 +152,14 @@ standard utility.")
(define-public patch
(package
(name "patch")
(version "2.7.4")
(version "2.7.5")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/patch/patch-"
version ".tar.xz"))
(sha256
(base32
"02gikxjvcxysr4l65c8vivgz62xmalp0av5ypzff8vqhrq3vpb0f"))))
"16d2r9kpivaak948mxzc0bai45mqfw73m113wrkmbffnalv1b5gx"))))
(build-system gnu-build-system)
(native-inputs `(("ed", ed)))
(synopsis "Apply differences to originals, with optional backups")
@ -358,6 +359,72 @@ included.")
(license gpl3+)
(home-page "http://www.gnu.org/software/binutils/")))
(define* (make-ld-wrapper name #:key binutils
(guile (canonical-package guile-2.0))
(bash (canonical-package bash)) target
(guile-for-build guile))
"Return a package called NAME that contains a wrapper for the 'ld' program
of BINUTILS, which adds '-rpath' flags to the actual 'ld' command line. When
TARGET is not #f, make a wrapper for the cross-linker for TARGET, called
'TARGET-ld'. The wrapper uses GUILE and BASH."
(package
(name name)
(version "0")
(source #f)
(build-system trivial-build-system)
(inputs `(("binutils" ,binutils)
("guile" ,guile)
("bash" ,bash)
("wrapper" ,(search-path %load-path
"gnu/packages/ld-wrapper.in"))))
(arguments
`(#:guile ,guile-for-build
#:modules ((guix build utils))
#:builder (begin
(use-modules (guix build utils)
(system base compile))
(let* ((out (assoc-ref %outputs "out"))
(bin (string-append out "/bin"))
(ld ,(if target
`(string-append bin "/" ,target "-ld")
'(string-append bin "/ld")))
(go (string-append ld ".go")))
(setvbuf (current-output-port) _IOLBF)
(format #t "building ~s/bin/ld wrapper in ~s~%"
(assoc-ref %build-inputs "binutils")
out)
(mkdir-p bin)
(copy-file (assoc-ref %build-inputs "wrapper") ld)
(substitute* ld
(("@SELF@")
ld)
(("@GUILE@")
(string-append (assoc-ref %build-inputs "guile")
"/bin/guile"))
(("@BASH@")
(string-append (assoc-ref %build-inputs "bash")
"/bin/bash"))
(("@LD@")
(string-append (assoc-ref %build-inputs "binutils")
,(if target
(string-append "/bin/"
target "-ld")
"/bin/ld"))))
(chmod ld #o555)
(compile-file ld #:output-file go)))))
(synopsis "The linker wrapper")
(description
"The linker wrapper (or 'ld-wrapper') wraps the linker to add any
missing '-rpath' flags, and to detect any misuse of libraries outside of the
store.")
(home-page "http://www.gnu.org/software/guix/")
(license gpl3+)))
(export make-ld-wrapper)
(define-public glibc
(package
(name "glibc")
@ -393,6 +460,12 @@ included.")
;; <http://lists.gnu.org/archive/html/guix-devel/2015-02/msg00709.html>.
#:parallel-build? #f
;; The libraries have an empty RUNPATH, but some, such as the versioned
;; libraries (libdl-2.21.so, etc.) have ld.so marked as NEEDED. Since
;; these libraries are always going to be found anyway, just skip
;; RUNPATH checks.
#:validate-runpath? #f
#:configure-flags
(list "--enable-add-ons"
"--sysconfdir=/etc"
@ -431,7 +504,8 @@ included.")
#:tests? #f ; XXX
#:phases (alist-cons-before
'configure 'pre-configure
(lambda* (#:key inputs outputs #:allow-other-keys)
(lambda* (#:key inputs native-inputs outputs
#:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin")))
;; Use `pwd', not `/bin/pwd'.
@ -455,8 +529,13 @@ included.")
;; Copy a statically-linked Bash in the output, with
;; no references to other store paths.
;; FIXME: Normally we would look it up only in INPUTS but
;; cross-base uses it as a native input.
(mkdir-p bin)
(copy-file (string-append (assoc-ref inputs "static-bash")
(copy-file (string-append (or (assoc-ref inputs
"static-bash")
(assoc-ref native-inputs
"static-bash"))
"/bin/bash")
(string-append bin "/bash"))
(remove-store-references (string-append bin "/bash"))
@ -490,9 +569,11 @@ included.")
(inputs `(("static-bash" ,(static-package bash-light))))
;; To build the manual, we need Texinfo and Perl.
;; To build the manual, we need Texinfo and Perl. Gettext is needed to
;; install the message catalogs, with 'msgfmt'.
(native-inputs `(("texinfo" ,texinfo)
("perl" ,perl)))
("perl" ,perl)
("gettext" ,gnu-gettext)))
(native-search-paths
;; Search path for packages that provide locale data. This is useful
@ -611,7 +692,7 @@ command.")
(define-public tzdata
(package
(name "tzdata")
(version "2014j")
(version "2015c")
(source (origin
(method url-fetch)
(uri (string-append
@ -619,7 +700,7 @@ command.")
version ".tar.gz"))
(sha256
(base32
"038fvj6zf51k6z9sbbxbj87ajaf69l3whal2vwshbm4l0qr71n52"))))
"0nin48g5dmkfgckp25bngxchn3sw3yyjss5sq7gs5xspbxgsq3w6"))))
(build-system gnu-build-system)
(arguments
'(#:tests? #f
@ -666,7 +747,7 @@ command.")
version ".tar.gz"))
(sha256
(base32
"1qpd12imy7q5hb5fhk48mfw65s0xlrkmms0zr2gk0mj88qjn3m3z"))))))
"0bplibiy70dvlrhwqzkzxgmg81j6d2kklvjgi2f1g2zz1nkb3vkz"))))))
(home-page "http://www.iana.org/time-zones")
(synopsis "Database of current and historical time zones")
(description "The Time Zone Database (often called tz or zoneinfo)

View file

@ -23,6 +23,7 @@
#:use-module (gnu packages ncurses)
#:use-module (gnu packages readline)
#:use-module (gnu packages bison)
#:use-module (gnu packages linux)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix utils)
@ -128,6 +129,26 @@ number/base32-hash tuples, directly usable in the 'patch-series' form."
(let ((out (assoc-ref outputs "out")))
(with-directory-excursion (string-append out "/bin")
(symlink "bash" "sh")))))
(install-headers-phase
'(lambda* (#:key outputs #:allow-other-keys)
;; Install Bash headers so that packages that provide extensions
;; can use them. We install them in include/bash; that's what
;; Debian does and what Bash extensions like recutils or
;; guile-bash expect.
(let ((include (string-append (assoc-ref outputs "include")
"/include/bash"))
(headers "^\\./(builtins/|lib/glob/|lib/tilde/|)[^/]+\\.h$"))
(mkdir-p include)
(for-each (lambda (file)
(when ((@ (ice-9 regex) string-match) headers file)
(let ((directory (string-append include "/"
(dirname file))))
(mkdir-p directory)
(copy-file file
(string-append directory "/"
(basename file))))))
(find-files "." "\\.h$"))
#t)))
(version "4.3"))
(package
(name "bash")
@ -148,6 +169,9 @@ number/base32-hash tuples, directly usable in the 'patch-series' form."
(version (string-append version "."
(number->string (length %patch-series-4.3))))
(build-system gnu-build-system)
(outputs '("out"
"include")) ;headers used by extensions
(native-inputs `(("bison" ,bison))) ;to rebuild the parser
(inputs `(("readline" ,readline)
("ncurses" ,ncurses))) ;TODO: add texinfo
@ -169,9 +193,10 @@ number/base32-hash tuples, directly usable in the 'patch-series' form."
;; for now.
#:tests? #f
#:phases (alist-cons-after 'install 'post-install
,post-install-phase
%standard-phases)))
#:phases (modify-phases %standard-phases
(add-after 'install 'post-install ,post-install-phase)
(add-after 'install 'install-headers
,install-headers-phase))))
(synopsis "The GNU Bourne-Again SHell")
(description
"Bash is the shell, or command-line interpreter, of the GNU system. It
@ -223,6 +248,29 @@ without modification.")
(patches
(list (search-patch "bash-completion-directories.patch")))))
(build-system gnu-build-system)
(native-inputs `(("util-linux" ,util-linux)))
(arguments
`(#:phases (alist-cons-after
'install 'remove-redundant-completions
(lambda* (#:key inputs outputs #:allow-other-keys)
;; Util-linux comes with a bunch of completion files for
;; its own commands which are more sophisticated and
;; up-to-date than those of bash-completion. Remove those
;; from bash-completion.
(let* ((out (assoc-ref outputs "out"))
(util-linux (assoc-ref inputs "util-linux"))
(completions (string-append out
"/share/bash-completion"
"/completions"))
(already (find-files (string-append util-linux
"/etc/bash_completion.d"))))
(with-directory-excursion completions
(for-each (lambda (file)
(when (file-exists? file)
(delete-file file)))
(map basename already)))
#t))
%standard-phases)))
(synopsis "Bash completions for common commands")
(description
"This package provides extensions that allow Bash to provide adapted

File diff suppressed because it is too large Load diff

View file

@ -2,6 +2,7 @@
;;; Copyright © 2014 John Darrington <jmd@gnu.org>
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2015 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -51,6 +52,11 @@
(arguments
(let ((build-flags
`("threading=multi" "link=shared"
;; Set the RUNPATH to $libdir so that the libs find each other.
(string-append "linkflags=-Wl,-rpath="
(assoc-ref outputs "out") "/lib")
;; Boost's 'context' library is not yet supported on mips64, so
;; we disable it. The 'coroutine' library depends on 'context',
;; so we disable that too.
@ -58,7 +64,8 @@
(%current-system)))
'("--without-context" "--without-coroutine")
'()))))
`(#:phases
`(#:tests? #f
#:phases
(alist-replace
'configure
(lambda* (#:key outputs #:allow-other-keys)
@ -79,18 +86,14 @@
"--with-toolset=gcc"))))
(alist-replace
'build
(lambda _
(lambda* (#:key outputs #:allow-other-keys)
(zero? (system* "./b2" ,@build-flags)))
(alist-replace
'check
(lambda _ #t)
(alist-replace
'install
(lambda _
(zero? (system* "./b2" "install" ,@build-flags)))
%standard-phases)))))))
'install
(lambda* (#:key outputs #:allow-other-keys)
(zero? (system* "./b2" "install" ,@build-flags)))
%standard-phases))))))
(home-page "http://boost.org")
(synopsis "Peer-reviewed portable C++ source libraries")
@ -99,3 +102,25 @@
across a broad spectrum of applications.")
(license (license:x11-style "http://www.boost.org/LICENSE_1_0.txt"
"Some components have other similar licences."))))
(define-public mdds
(package
(name "mdds")
(version "0.12.0")
(source (origin
(method url-fetch)
(uri (string-append
"http://kohei.us/files/mdds/src/mdds_" version ".tar.bz2"))
(sha256
(base32
"10ar7r0gkdl2r7916jlkl5c38cynrh7x9s90a5i8d242r8ixw8ia"))))
(build-system gnu-build-system)
(propagated-inputs
`(("boost" ,boost))) ; inclusion of header files
(home-page "https://code.google.com/p/multidimalgorithm/")
(synopsis "Multi-dimensional C++ data structures and indexing algorithms")
(description "Mdds (multi-dimensional data structure) provides a
collection of multi-dimensional data structures and indexing algorithms
for C++. It includes flat segment trees, segment trees, rectangle sets,
point quad trees, multi-type vectors and multi-type matrices.")
(license license:expat)))

Binary file not shown.

View file

@ -53,8 +53,9 @@
;; There is no /usr/bin or /bin - replace it with /gnu/store
(substitute* "testsuite/cpio.tests"
(("/usr/bin") "/gnu/store")
(("usr") "gnu"))
(("/usr/bin") (%store-directory))
(("usr") (car (filter (negate string-null?)
(string-split (%store-directory) #\/)))))
(substitute* "testsuite/date/date-works-1"
(("/bin/date") (which "date")))

52
gnu/packages/calendar.scm Normal file
View file

@ -0,0 +1,52 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015 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 calendar)
#:use-module (gnu packages)
#:use-module (guix licenses)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system cmake)
#:use-module (gnu packages icu4c)
#:use-module (gnu packages perl))
(define-public libical
(package
(name "libical")
(version "1.0.1")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/libical/libical/releases/download/v"
version "/libical-" version ".tar.gz"))
(sha256
(base32
"14lmjj63zyx88rf1z71l0v9ms4c2vpdhmixksjjxgywp5p2f7708"))))
(build-system cmake-build-system)
(arguments
'(#:tests? #f)) ; test suite appears broken
(native-inputs
`(("perl" ,perl)))
(inputs
`(("icu4c" ,icu4c)))
(home-page "https://libical.github.io/libical/")
(synopsis "iCalendar protocols and data formats implementation")
(description
"Libical is an implementation of the iCalendar protocols and protocol
data units.")
(license lgpl2.1)))

View file

@ -95,7 +95,9 @@ caching facility provided by the library.")
for CD-ROM and CD image file access. It allows the developer to add CD
access to an application without having to worry about the OS- and
device-dependent properties of CD-ROM or the specific details of CD image
formats.")
formats. It includes pycdio, a Python interface to libcdio, and
libcdio-paranoia, a library providing jitter-free and error-free audio
extraction from CDs.")
(license gpl3+)))
(define-public libcdio-paranoia
@ -122,14 +124,14 @@ libcdio.")
(define-public xorriso
(package
(name "xorriso")
(version "1.3.8")
(version "1.4.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/xorriso/xorriso-"
version ".tar.gz"))
(sha256
(base32
"0zhhj9lr9z7hnb2alac54mc28w1l0mbanphhpmy3ylsi8rih84lh"))))
"0mhfxn2idkrw1i65a5y4gnb1fig85zpnszb9ax7w4a2v062y1l8b"))))
(build-system gnu-build-system)
(inputs
`(("acl" ,acl)
@ -159,30 +161,17 @@ files.")
(sha256
(base32
"1pv4zrajm46za0f6lv162iqffih57a8ly4pc69f7y0gfyigb8p80"))
(patches (list (search-patch "cdparanoia-fpic.patch")))))
(patches (list (search-patch "cdparanoia-fpic.patch")))
(modules '((guix build utils)))
(snippet
;; Make libraries respect LDFLAGS.
'(substitute* '("paranoia/Makefile.in" "interface/Makefile.in")
(("-Wl,-soname") "$(LDFLAGS) -Wl,-soname")))))
(build-system gnu-build-system)
(inputs
`(("patchelf" ,patchelf)))
(arguments
`(#:tests? #f ; there is no check target
#:modules ((guix build gnu-build-system)
(guix build utils)
(guix build rpath)
(srfi srfi-26))
#:imported-modules ((guix build gnu-build-system)
(guix build utils)
(guix build rpath))
#:phases
(alist-cons-after
'strip 'add-lib-to-runpath
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(lib (string-append out "/lib")))
;; Add LIB to the RUNPATH of all the executables.
(with-directory-excursion out
(for-each (cut augment-rpath <> lib)
(find-files "bin" ".*")))))
%standard-phases)))
#:configure-flags ; Add $libdir to the RUNPATH of all the executables.
(list (string-append "LDFLAGS=-Wl,-rpath=" %output "/lib"))))
(home-page "http://www.xiph.org/paranoia/")
(synopsis "Audio CD reading utility")
(description "Cdparanoia retrieves audio tracks from CDDA capable CDROM

View file

@ -85,8 +85,6 @@
(rnrs io ports)
(srfi srfi-26)
(ice-9 regex))
#:imported-modules ((guix build gnu-build-system)
(guix build utils))
#:phases
(alist-cons-after
'unpack 'install

View file

@ -1,6 +1,8 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
;;; Copyright © 2015 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
;;;
;;; This file is part of GNU Guix.
;;;
@ -23,7 +25,9 @@
#:use-module (guix licenses)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu))
#:use-module (guix git-download)
#:use-module (guix build-system gnu)
#:use-module (guix build-system trivial))
(define-public check
(package
@ -86,12 +90,18 @@ with a flexible variety of user interfaces.")
(version "1.12.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/cppunit/" name "/"
(uri (string-append "mirror://sourceforge/cppunit/" name "/"
name "-"
version ".tar.gz"))
(sha256
(base32
"0jm49v5rmc5qw34vqs56gy8xja1dhci73bmh23cig4kcir6a0a5c"))))
;; Explicitly link with libdl. This is expected to be done by packages
;; relying on cppunit for their tests. However, not all of them do.
;; If we added the linker flag to such packages, we would pollute all
;; binaries, not only those used for testing.
(arguments
`(#:make-flags '("LDFLAGS=-ldl")))
(build-system gnu-build-system)
(home-page "http://sourceforge.net/projects/cppunit/")
(synopsis "Unit testing framework for C++")
@ -99,3 +109,43 @@ with a flexible variety of user interfaces.")
unit testing. Test output is in XML for automatic testing and GUI based for
supervised tests.")
(license lgpl2.1))) ; no copyright notices. LGPL2.1 is in the tarball
(define-public catch-framework
(package
(name "catch")
(version "1.0.53") ;Sub-minor is the build number
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/philsquared/Catch")
;; Semi-arbitrary. Contains mostly documentation fixes
;; since build 53.
(commit "b9ec8a1")))
(file-name (string-append name "-" version))
(sha256
(base32
"05iijiwjwcjbza7qamwd32d0jypi0lpywmilmmj2xh280mcl4dbd"))))
(build-system trivial-build-system)
(arguments
`(#:modules ((guix build utils))
#:builder (begin
(use-modules (guix build utils))
(let* ((source (assoc-ref %build-inputs "source"))
(output (assoc-ref %outputs "out"))
(incdir (string-append output "/include"))
(docdir (string-append output "/share/doc/catch-"
,version)))
(begin
(for-each mkdir-p (list incdir docdir))
(copy-file (string-append source
"/single_include/catch.hpp")
(string-append incdir
"/catch.hpp"))
(copy-recursively (string-append source "/docs")
docdir))))))
(home-page "http://catch-lib.net/")
(synopsis "Automated test framework for C++ and Objective-C")
(description
"Catch stands for C++ Automated Test Cases in Headers and is a
multi-paradigm automated test framework for C++ and Objective-C.")
(license boost1.0)))

View file

@ -3,6 +3,7 @@
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net>
;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -35,7 +36,7 @@
(define-public cmake
(package
(name "cmake")
(version "3.1.3")
(version "3.2.2")
(source (origin
(method url-fetch)
(uri (string-append
@ -43,11 +44,12 @@
(version-major+minor version)
"/cmake-" version ".tar.gz"))
(sha256
(base32 "1l662p9lscbzx9s85y86cynb9fn1rb2alqg4584wqq9gibxd7x25"))
(base32 "0y3w83al0vh9ll7fnqm3nx7l8hsl85k8iv9abxb791q36rp4xsdd"))
(patches (list (search-patch "cmake-fix-tests.patch")))))
(build-system gnu-build-system)
(arguments
`(#:test-target "test"
#:parallel-tests? #f ; 3 test from RunCMake fails
#:phases (alist-cons-before
'configure 'patch-bin-sh
(lambda _
@ -66,7 +68,8 @@
"Utilities/cmbzip2/Makefile-libbz2_so"
"Utilities/Release/release_cmake.cmake"
"Utilities/cmlibarchive/libarchive/archive_write_set_format_shar.c"
"Tests/CMakeLists.txt")
"Tests/CMakeLists.txt"
"Tests/RunCMake/File_Generate/RunCMakeTest.cmake")
(("/bin/sh") (which "sh"))))
(alist-cons-before
'configure 'set-paths
@ -74,7 +77,9 @@
;; Help cmake's bootstrap process to find system libraries
(begin
(setenv "CMAKE_LIBRARY_PATH" (getenv "LIBRARY_PATH"))
(setenv "CMAKE_INCLUDE_PATH" (getenv "CPATH"))))
(setenv "CMAKE_INCLUDE_PATH" (getenv "CPATH"))
;; Get verbose output from failed tests
(setenv "CTEST_OUTPUT_ON_FAILURE" "TRUE")))
(alist-replace
'configure
(lambda* (#:key outputs #:allow-other-keys)
@ -83,6 +88,7 @@
"./configure"
(string-append "--prefix=" out)
"--system-libs"
"--no-system-jsoncpp" ; not packaged yet
;; By default, the man pages and other docs land
;; in PREFIX/man and PREFIX/doc, but we want them
;; in share/{man,doc}. Note that unlike

View file

@ -20,9 +20,13 @@
(define-module (gnu packages code)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix licenses)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix build-system gnu)
#:use-module (gnu packages compression)
#:use-module (gnu packages databases)
#:use-module (gnu packages emacs)
#:use-module (gnu packages pcre)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages perl)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages autogen)
@ -54,7 +58,7 @@
control flow of the program. It can output the graph in several styles and
in either the POSIX format or in an extended GNU format. cflow also includes
a major mode for Emacs for examining the flowcharts that it produces.")
(license gpl3+)))
(license license:gpl3+)))
(define-public complexity
(package
@ -78,26 +82,29 @@ a major mode for Emacs for examining the flowcharts that it produces.")
convoluted, overly long or otherwise difficult to understand. This
may help in learning or reviewing unfamiliar code or perhaps
highlighting your own code that seemed comprehensible when you wrote it.")
(license gpl3+)))
(license license:gpl3+)))
(define-public global ; a global variable
(package
(name "global")
(version "6.3.4")
(version "6.4")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/global/global-"
version ".tar.gz"))
(sha256
(base32
"0hcplcayyjf42d8ygzla6142b5dq4ybq4wg3n3cgx3b5yfhvic85"))))
"13i4zwx6gaibc4j79wd0hgxysw8ibxz9c018zxhydnxlyadzcnri"))))
(build-system gnu-build-system)
(inputs `(("ncurses" ,ncurses)
("libltdl" ,libltdl)))
("libltdl" ,libltdl)
("sqlite" ,sqlite)))
(arguments
`(#:configure-flags
(list (string-append "--with-ncurses="
(assoc-ref %build-inputs "ncurses")))
(assoc-ref %build-inputs "ncurses"))
(string-append "--with-sqlite3="
(assoc-ref %build-inputs "sqlite")))
#:phases (alist-cons-after
'install 'post-install
@ -119,7 +126,7 @@ highlighting your own code that seemed comprehensible when you wrote it.")
across a wide array of environments, such as different text editors, shells
and web browsers. The resulting tags are useful for quickly moving around in
a large, deeply nested project.")
(license gpl3+)))
(license license:gpl3+)))
(define-public sloccount
(package
@ -135,8 +142,8 @@ a large, deeply nested project.")
(build-system gnu-build-system)
(arguments
'(#:phases (modify-phases %standard-phases
(delete configure)
(add-before build make-dotl-files-older
(delete 'configure)
(add-before 'build 'make-dotl-files-older
(lambda _
;; Make the '.l' files as old as the '.c'
;; files to avoid triggering the rule that
@ -148,7 +155,7 @@ a large, deeply nested project.")
(set-file-time file ref))
(find-files "." "\\.[chl]$"))
#t))
(add-before install make-target-directories
(add-before 'install 'make-target-directories
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(mkdir-p (string-append out "/bin"))
@ -156,7 +163,7 @@ a large, deeply nested project.")
"/share/man/man1"))
(mkdir-p (string-append out
"/share/doc")))))
(replace check
(replace 'check
(lambda _
(setenv "HOME" (getcwd))
(setenv "PATH"
@ -175,4 +182,46 @@ code (SLOC) in large software systems. It can automatically identify and
measure a wide range of programming languages. It automatically estimates the
effort, time, and money it would take to develop the software, using the
COCOMO model or user-provided parameters.")
(license gpl2+)))
(license license:gpl2+)))
(define-public the-silver-searcher
(package
(name "the-silver-searcher")
(version "0.29.1")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/ggreer/the_silver_searcher/archive/"
version ".tar.gz"))
(sha256
(base32
"0ah7vcqprl9hhafi68bvzaiywy7dfm28zf7kpw3xrlqzfn0vg7kp"))
(file-name (string-append name "-" version ".tar.gz"))))
(build-system gnu-build-system)
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
("libtool" ,libtool)
("pkg-config" ,pkg-config)))
(inputs
`(("pcre" ,pcre)
("xz" ,xz)
("zlib" ,zlib)))
(arguments
`(#:phases
;; There is no configure yet, so let's create it, but let configure and
;; make do the work in later phases.
(alist-cons-before 'configure 'autoconf
(lambda _
(substitute* "build.sh"
(("./configure") "true")
(("make -j4") "true"))
(zero? (system* "sh" "build.sh")))
%standard-phases)))
(home-page "http://geoff.greer.fm/ag/")
(synopsis "Fast code searching tool")
(description
"The silver searcher, or 'ag', is tool for quickly searching through
files, but compared to grep is much faster and respects files like .gitignore,
.hgignore, etc.")
(license license:asl2.0)))

View file

@ -2,7 +2,7 @@
;;; Copyright © 2012, 2013, 2014, 2015 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>
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -26,12 +26,12 @@
#: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)
#:use-module (gnu packages bison)
#:use-module (gnu packages guile)
#:use-module (gnu packages gettext)
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages compression)
#:use-module (gnu packages perl)
@ -417,6 +417,40 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
'("gcc" "libc")))
(current-source-location)))))
(define gettext-boot0
;; A minimal gettext used during bootstrap.
(let ((gettext-minimal
(package (inherit gnu-gettext)
(name "gettext-boot0")
(inputs '()) ;zero dependencies
(arguments
(substitute-keyword-arguments
`(#:tests? #f
,@(package-arguments gnu-gettext))
((#:phases phases)
`(modify-phases ,phases
;; Build only the tools.
(add-after 'unpack 'chdir
(lambda _
(chdir "gettext-tools")))
;; Some test programs require pthreads, which we don't have.
(add-before 'configure 'no-test-programs
(lambda _
(substitute* "tests/Makefile.in"
(("^PROGRAMS =.*$")
"PROGRAMS =\n"))
#t))
;; Don't try to link against libexpat.
(delete 'link-expat)
(delete 'patch-tests))))))))
(package-with-bootstrap-guile
(package-with-explicit-inputs gettext-minimal
%boot1-inputs
(current-source-location)
#:guile %bootstrap-guile))))
(define-public glibc-final
;; The final glibc, which embeds the statically-linked Bash built above.
(package (inherit glibc-final-with-bootstrap-bash)
@ -426,6 +460,10 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
"static-bash"
(package-inputs glibc-final-with-bootstrap-bash))))
;; This time we need 'msgfmt' to install all the libc.mo files.
(native-inputs `(,@(package-native-inputs glibc-final-with-bootstrap-bash)
("gettext" ,gettext-boot0)))
;; 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.
@ -500,6 +538,11 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
#:allowed-references ("out" "lib" ,glibc-final)
;; Things like libasan.so and libstdc++.so NEED ld.so for some
;; reason, but it is not in their RUNPATH. This is a false
;; positive, so turn it off.
#:validate-runpath? #f
;; 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'.)
@ -540,54 +583,10 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
(define ld-wrapper-boot3
;; A linker wrapper that uses the bootstrap Guile.
(package
(name "ld-wrapper-boot3")
(version "0")
(source #f)
(build-system trivial-build-system)
(inputs `(("binutils" ,binutils-final)
("guile" ,%bootstrap-guile)
("bash" ,@(assoc-ref %boot2-inputs "bash"))
("wrapper" ,(search-path %load-path
"gnu/packages/ld-wrapper.scm"))))
(arguments
`(#:guile ,%bootstrap-guile
#:modules ((guix build utils))
#:builder (begin
(use-modules (guix build utils)
(system base compile))
(let* ((out (assoc-ref %outputs "out"))
(bin (string-append out "/bin"))
(ld (string-append bin "/ld"))
(go (string-append bin "/ld.go")))
(setvbuf (current-output-port) _IOLBF)
(format #t "building ~s/bin/ld wrapper in ~s~%"
(assoc-ref %build-inputs "binutils")
out)
(mkdir-p bin)
(copy-file (assoc-ref %build-inputs "wrapper") ld)
(substitute* ld
(("@GUILE@")
(string-append (assoc-ref %build-inputs "guile")
"/bin/guile"))
(("@BASH@")
(string-append (assoc-ref %build-inputs "bash")
"/bin/bash"))
(("@LD@")
(string-append (assoc-ref %build-inputs "binutils")
"/bin/ld")))
(chmod ld #o555)
(compile-file ld #:output-file go)))))
(synopsis "The linker wrapper")
(description
"The linker wrapper (or `ld-wrapper') wraps the linker to add any
missing `-rpath' flags, and to detect any misuse of libraries outside of the
store.")
(home-page #f)
(license gpl3+)))
(make-ld-wrapper "ld-wrapper-boot3"
#:binutils binutils-final
#:guile %bootstrap-guile
#:bash (car (assoc-ref %boot2-inputs "bash"))))
(define %boot3-inputs
;; 4th stage inputs.
@ -616,7 +615,7 @@ store.")
(current-source-location)
#:guile %bootstrap-guile)))
(define glibc-utf8-locales-final
(define-public glibc-utf8-locales-final
;; Now that we have GUILE-FINAL, build the UTF-8 locales. They are needed
;; by the build processes afterwards so their 'scm_to_locale_string' works
;; with the full range of Unicode codepoints (remember
@ -757,16 +756,26 @@ COREUTILS-FINAL vs. COREUTILS, etc."
'(#:modules ((guix build union))
#:builder (begin
(use-modules (ice-9 match)
(srfi srfi-26)
(guix build union))
(match %build-inputs
(((names . directories) ...)
(union-build (assoc-ref %outputs "out")
directories)))
(let ((out (assoc-ref %outputs "out")))
(union-build (assoc-ref %outputs "debug")
(list (assoc-ref %build-inputs
"libc-debug"))))))
(match %build-inputs
(((names . directories) ...)
(union-build out directories)))
;; Remove the 'sh' and 'bash' binaries that come with
;; libc to avoid polluting the user's profile (these are
;; statically-linked binaries with no locale support and
;; so on.)
(for-each (lambda (file)
(delete-file (string-append out "/bin/" file)))
'("sh" "bash"))
(union-build (assoc-ref %outputs "debug")
(list (assoc-ref %build-inputs
"libc-debug")))))))
(native-search-paths (package-native-search-paths gcc))
(search-paths (package-search-paths gcc))
@ -795,4 +804,7 @@ and binaries, plus debugging symbols in the 'debug' output), and Binutils.")
(define-public gcc-toolchain-4.9
(gcc-toolchain gcc-4.9))
(define-public gcc-toolchain-5.1
(gcc-toolchain gcc-5.1))
;;; commencement.scm ends here

View file

@ -3,6 +3,7 @@
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
;;; Copyright © 2015 Eric Bavier <bavier@member.fsf.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -24,7 +25,9 @@
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu)
#:use-module (gnu packages base))
#:use-module (guix build-system perl)
#:use-module (gnu packages base)
#:use-module (gnu packages perl))
(define-public zlib
(package
@ -294,7 +297,7 @@ archiving. Lzip is a clean implementation of the LZMA algorithm.")
(define-public sharutils
(package
(name "sharutils")
(version "4.15")
(version "4.15.1")
(source
(origin
(method url-fetch)
@ -302,7 +305,7 @@ archiving. Lzip is a clean implementation of the LZMA algorithm.")
version ".tar.xz"))
(sha256
(base32
"19gqb6qbqmpgh6xlpgpj0ayw2nshllxg9d01qb5z8bnkhfcla8ka"))))
"02p7j270wrbwxcb86lcvxrzl29xmr3n5a2m7if46jnprvcvycb5r"))))
(build-system gnu-build-system)
(inputs
`(("which" ,which)))
@ -343,3 +346,80 @@ This package is mostly for compatibility and historical interest.")
"The purpose of libmspack is to provide both compression and
decompression of some loosely related file formats used by Microsoft.")
(license license:lgpl2.1+)))
(define-public perl-compress-raw-bzip2
(package
(name "perl-compress-raw-bzip2")
(version "2.068")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/P/PM/PMQS/"
"Compress-Raw-Bzip2-" version ".tar.gz"))
(sha256
(base32
"16hl58xppckldz05zdyid1l5gpaykzwvkq682h3rc3nilbhgjqqg"))))
(build-system perl-build-system)
;; TODO: Use our bzip2 package.
(home-page "http://search.cpan.org/dist/Compress-Raw-Bzip2")
(synopsis "Low-level interface to bzip2 compression library")
(description "This module provides a Perl interface to the bzip2
compression library.")
(license (package-license perl))))
(define-public perl-compress-raw-zlib
(package
(name "perl-compress-raw-zlib")
(version "2.068")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/P/PM/PMQS/"
"Compress-Raw-Zlib-" version ".tar.gz"))
(sha256
(base32
"06q7n87g26nn5gv4z2p31ca32f6zk124hqxc25rfgkjd3qi5798i"))))
(build-system perl-build-system)
(inputs
`(("zlib" ,zlib)))
(arguments
`(#:phases (modify-phases %standard-phases
(add-before
'configure 'configure-zlib
(lambda* (#:key inputs #:allow-other-keys)
(call-with-output-file "config.in"
(lambda (port)
(format port "
BUILD_ZLIB = False
INCLUDE = ~a/include
LIB = ~:*~a/lib
OLD_ZLIB = False
GZIP_OS_CODE = AUTO_DETECT"
(assoc-ref inputs "zlib")))))))))
(home-page "http://search.cpan.org/dist/Compress-Raw-Zlib")
(synopsis "Low-level interface to zlib compression library")
(description "This module provides a Perl interface to the zlib
compression library.")
(license (package-license perl))))
(define-public perl-io-compress
(package
(name "perl-io-compress")
(version "2.068")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/P/PM/PMQS/"
"IO-Compress-" version ".tar.gz"))
(sha256
(base32
"0dy0apjp7j9dfkzfjspjd3z9gh26srx5vac72g59bkkz1jf8s1gs"))))
(build-system perl-build-system)
(propagated-inputs
`(("perl-compress-raw-zlib" ,perl-compress-raw-zlib) ; >=2.068
("perl-compress-raw-bzip2" ,perl-compress-raw-bzip2))) ; >=2.068
(home-page "http://search.cpan.org/dist/IO-Compress")
(synopsis "IO Interface to compressed files/buffers")
(description "IO-Compress provides a Perl interface to allow reading and
writing of compressed data created with the zlib and bzip2 libraries.")
(license (package-license perl))))

View file

@ -130,12 +130,16 @@ may be either a libc package or #f.)"
,target))
(binutils (string-append
(assoc-ref inputs "binutils-cross")
"/bin/" ,target "-")))
"/bin/" ,target "-"))
(wrapper (string-append
(assoc-ref inputs "ld-wrapper-cross")
"/bin/" ,target "-ld")))
(for-each (lambda (file)
(symlink (string-append binutils file)
(string-append libexec "/"
file)))
'("as" "ld" "nm"))
'("as" "nm"))
(symlink wrapper (string-append libexec "/ld"))
#t))
,phases)))
(if libc
@ -196,8 +200,10 @@ GCC that does not target a libc; otherwise, target that libc."
target))
(source (origin (inherit (package-source gcc-4.8))
(patches
(cons (search-patch "gcc-cross-environment-variables.patch")
(cross-gcc-patches target)))))
(append
(origin-patches (package-source gcc-4.8))
(cons (search-patch "gcc-cross-environment-variables.patch")
(cross-gcc-patches target))))))
;; For simplicity, use a single output. Otherwise libgcc_s & co. are not
;; found by default, etc.
@ -214,7 +220,11 @@ GCC that does not target a libc; otherwise, target that libc."
,@(cross-gcc-arguments target libc)))
(native-inputs
`(("binutils-cross" ,xbinutils)
`(("ld-wrapper-cross" ,(make-ld-wrapper
(string-append "ld-wrapper-" target)
#:target target
#:binutils xbinutils))
("binutils-cross" ,xbinutils)
;; Call it differently so that the builder can check whether the "libc"
;; input is #f.
@ -298,8 +308,13 @@ XBINUTILS and the cross tool chain."
;; "linux-headers" input to point to the right thing.
(propagated-inputs `(("linux-headers" ,xlinux-headers)))
;; FIXME: 'static-bash' should really be an input, not a native input, but
;; to do that will require building an intermediate cross libc.
(inputs '())
(native-inputs `(("cross-gcc" ,xgcc)
("cross-binutils" ,xbinutils)
,@(package-inputs glibc) ;FIXME: static-bash
,@(package-native-inputs glibc)))))

View file

@ -36,7 +36,7 @@
(define-public cups-filters
(package
(name "cups-filters")
(version "1.0.61")
(version "1.0.68")
(source (origin
(method url-fetch)
(uri
@ -44,7 +44,7 @@
"cups-filters-" version ".tar.xz"))
(sha256
(base32
"1bq48nnrarlbf6qc93bz1n5wlh6j420gppbck3r45sinwhz5wa7m"))
"0dx4assqzqdi0q4j7z5s7xzzvzxnd5c1njd9139a1h353qrcr5fi"))
(modules '((guix build utils)))
(snippet
;; install backends, banners and filters to cups-filters output

View file

@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015 Tomáš Čech <sleep_walker@suse.cz>
;;;
;;; This file is part of GNU Guix.
;;;
@ -37,15 +38,14 @@
(define-public curl
(package
(name "curl")
(version "7.40.0")
(version "7.42.1")
(source (origin
(method url-fetch)
(uri (string-append "http://curl.haxx.se/download/curl-"
version ".tar.lzma"))
(sha256
(base32
"1a15fdc26b3vwwmchzzpd3l1hfyhx06dn7b6lkikqd7kgwvg5ps7"))
(patches (list (search-patch "curl-gss-api-fix.patch")))))
"0ircrhi4i9iviq0d9044rq288sdrww19d0ci6vmb4fh8nmm1jv1x"))))
(build-system gnu-build-system)
(inputs `(("gnutls" ,gnutls)
("gss" ,gss)
@ -68,6 +68,10 @@
(lambda _
(substitute* "tests/runtests.pl"
(("/bin/sh") (which "sh")))
;; Test #1135 requires extern-scan.pl, which is not part of the
;; tarball due to a mistake. It has been fixed upstream. We can
;; simply disable the test as it is specific to VMS and OS/400.
(delete-file "tests/data/test1135")
;; The top-level "make check" does "make -C tests quiet-test", which
;; is too quiet. Use the "test" target instead, which is more

View file

@ -5,6 +5,7 @@
;;; Copyright © 2014 David Thompson <davet@gnu.org>
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -36,13 +37,18 @@
#:use-module (gnu packages curl)
#:use-module (gnu packages gnupg)
#:use-module (gnu packages python)
#:use-module (gnu packages pcre)
#:use-module (gnu packages xml)
#:use-module (gnu packages bison)
#:use-module (gnu packages jemalloc)
#:use-module ((guix licenses)
#:select (gpl2 gpl3+ lgpl2.1+ lgpl3+ x11-style non-copyleft
public-domain))
bsd-2 public-domain))
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu)
#:use-module (guix build-system perl)
#:use-module (guix build-system cmake)
#:use-module (srfi srfi-26)
#:use-module (ice-9 match))
@ -149,17 +155,85 @@ management system that supports the standardized Structured Query
Language.")
(license gpl2)))
(define-public mariadb
(package
(name "mariadb")
(version "10.0.18")
(source (origin
(method url-fetch)
(uri (string-append "https://downloads.mariadb.org/f/"
name "-" version "/source/"
name "-" version ".tar.gz"))
(sha256
(base32
"1xcs391cm0vnl9bvx1470v8z4d77zqv16n6iaqi12jm0ma8fwvv8"))))
(build-system cmake-build-system)
(arguments
'(#:configure-flags
'("-DBUILD_CONFIG=mysql_release"
"-DDEFAULT_CHARSET=utf8"
"-DDEFAULT_COLLATION=utf8_general_ci"
"-DMYSQL_DATADIR=/var/lib/mysql"
"-DMYSQL_UNIX_ADDR=/run/mysqld/mysqld.sock"
"-DINSTALL_INFODIR=share/mysql/docs"
"-DINSTALL_MANDIR=share/man"
"-DINSTALL_PLUGINDIR=lib/mysql/plugin"
"-DINSTALL_SCRIPTDIR=bin"
"-DINSTALL_INCLUDEDIR=include/mysql"
"-DINSTALL_DOCREADMEDIR=share/mysql/docs"
"-DINSTALL_SUPPORTFILESDIR=share/mysql/support-files"
"-DINSTALL_MYSQLSHAREDIR=share/mysql"
"-DINSTALL_DOCDIR=share/mysql/docs"
"-DINSTALL_SHAREDIR=share/mysql")
#:phases
(modify-phases %standard-phases
(add-before
'configure 'pre-configure
(lambda _
(setenv "CONFIG_SHELL" (which "sh"))
#t))
(add-after
'install 'post-install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(test (assoc-ref outputs "test")))
(substitute* (string-append out "/bin/mysql_install_db")
(("basedir=\"\"")
(string-append "basedir=\"" out "\"")))
;; Remove unneeded files for testing.
(with-directory-excursion out
(for-each delete-file-recursively
'("data" "mysql-test" "sql-bench"
"share/man/man1/mysql-test-run.pl.1")))))))))
(native-inputs
`(("bison" ,bison)
("perl" ,perl)))
(inputs
`(("jemalloc" ,jemalloc)
("libaio" ,libaio)
("libxml2" ,libxml2)
("ncurses" ,ncurses)
("openssl" ,openssl)
("pcre" ,pcre)
("zlib" ,zlib)))
(home-page "https://mariadb.org/")
(synopsis "SQL database server")
(description
"MariaDB is a multi-user and multi-threaded SQL database server, designed
as a drop-in replacement of MySQL.")
(license gpl2)))
(define-public postgresql
(package
(name "postgresql")
(version "9.3.5")
(version "9.3.7")
(source (origin
(method url-fetch)
(uri (string-append "http://ftp.postgresql.org/pub/source/v"
version "/postgresql-" version ".tar.gz"))
version "/postgresql-" version ".tar.bz2"))
(sha256
(base32
"08kga00izykgvnx7hn995wc4zjqslspapaa8z63045p1ya14mr4g"))))
"0ggz0i91znv053zx9qas7pjf93s5by3dk84z1jxbjkg8yyrnlx4b"))))
(build-system gnu-build-system)
(inputs
`(("readline" ,readline)
@ -215,7 +289,7 @@ types are supported, as is encryption.")
(define-public sqlite
(package
(name "sqlite")
(version "3.8.8.3")
(version "3.8.9")
(source (origin
(method url-fetch)
;; TODO: Download from sqlite.org once this bug :
@ -235,12 +309,15 @@ types are supported, as is encryption.")
"/sqlite-autoconf-" numeric-version ".tar.gz")))
(sha256
(base32
"04dl53iv5q0srv4jcgjfzsrdzkq6dg1sgmlmpw9lrd4xrmj6jmvl"))))
"18k90bbfvvgc5204nm1hzw0vsj9ygzv7zbq3z6zrya6j5hwvdsvn"))))
(build-system gnu-build-system)
(inputs `(("readline" ,readline)))
;; Add -DSQLITE_SECURE_DELETE. GNU Icecat will refuse to use the system
;; SQLite unless this option is enabled.
(arguments `(#:configure-flags '("CFLAGS=-O2 -DSQLITE_SECURE_DELETE")))
(arguments
`(#:configure-flags
;; Add -DSQLITE_SECURE_DELETE and -DSQLITE_ENABLE_UNLOCK_NOTIFY to
;; CFLAGS. GNU Icecat will refuse to use the system SQLite unless these
;; options are enabled.
'("CFLAGS=-O2 -DSQLITE_SECURE_DELETE -DSQLITE_ENABLE_UNLOCK_NOTIFY")))
(home-page "http://www.sqlite.org/")
(synopsis "The SQLite database management system")
(description
@ -464,6 +541,29 @@ DBIx::Class::Schema by scanning database table definitions and setting up the
columns, primary keys, unique constraints and relationships.")
(license (package-license perl))))
(define-public perl-dbd-pg
(package
(name "perl-dbd-pg")
(version "3.5.1")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/T/TU/TURNSTEP/"
"DBD-Pg-" version ".tar.gz"))
(sha256
(base32
"0z0kf1kjgbi5f6nr63i2fnrx7629d9lvxg1q8sficwb3zdf1ggzx"))))
(build-system perl-build-system)
(native-inputs
`(("perl-dbi" ,perl-dbi)))
(propagated-inputs
`(("perl-dbi" ,perl-dbi)
("postgresql" ,postgresql)))
(home-page "http://search.cpan.org/dist/DBD-Pg")
(synopsis "DBI PostgreSQL interface")
(description "")
(license (package-license perl))))
(define-public perl-dbd-sqlite
(package
(name "perl-dbd-sqlite")
@ -519,6 +619,52 @@ structures you provide it, so that you don't have to modify your code every
time your data changes")
(license (package-license perl))))
(define-public perl-sql-splitstatement
(package
(name "perl-sql-splitstatement")
(version "1.00020")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/E/EM/EMAZEP/"
"SQL-SplitStatement-" version ".tar.gz"))
(sha256
(base32
"0bqg45k4c9qkb2ypynlwhpvzsl4ssfagmsalys18s5c79ps30z7p"))))
(build-system perl-build-system)
(native-inputs
`(("perl-test-exception" ,perl-test-exception)))
(propagated-inputs
`(("perl-class-accessor" ,perl-class-accessor)
("perl-list-moreutils" ,perl-list-moreutils)
("perl-regexp-common" ,perl-regexp-common)
("perl-sql-tokenizer" ,perl-sql-tokenizer)))
(home-page "http://search.cpan.org/dist/SQL-SplitStatement")
(synopsis "Split SQL code into atomic statements")
(description "This module tries to split any SQL code, even including
non-standard extensions, into the atomic statements it is composed of.")
(license (package-license perl))))
(define-public perl-sql-tokenizer
(package
(name "perl-sql-tokenizer")
(version "0.24")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/I/IZ/IZUT/"
"SQL-Tokenizer-" version ".tar.gz"))
(sha256
(base32
"1qa2dfbzdlr5qqdam9yn78z5w3al5r8577x06qan8wv58ay6ka7s"))))
(build-system perl-build-system)
(home-page "http://search.cpan.org/dist/SQL-Tokenizer")
(synopsis "SQL tokenizer")
(description "SQL::Tokenizer is a tokenizer for SQL queries. It does not
claim to be a parser or query verifier. It just creates sane tokens from a
valid SQL query.")
(license (package-license perl))))
(define-public unixodbc
(package
(name "unixodbc")
@ -538,3 +684,29 @@ Driver.")
(license lgpl2.1+)
;; COPYING contains copy of lgpl2.1 - but copyright notices just say "LGPL"
(home-page "http://www.unixodbc.org")))
(define-public unqlite
(package
(name "unqlite")
(version "1.1.6")
(source (origin
(method url-fetch)
;; Contains bug fixes against the official release, and has an
;; autotooled build system.
(uri (string-append "https://github.com/aidin36/tocc/releases/"
"download/v1.0.0/"
"unqlite-unofficial-" version ".tar.gz"))
(sha256
(base32
"1sbpvhg15gadq0mpcy16q7k3rkg4b4dicpnn5xifpkpn02sqik3s"))))
(build-system gnu-build-system)
(arguments `(#:tests? #f)) ;No check target
(home-page "http://www.unqlite.org")
(synopsis "In-memory key/value and document store")
(description
"UnQLite is an in-process software library which implements a
self-contained, serverless, zero-configuration, transactional NoSQL
database engine. UnQLite is a document store database similar to
MongoDB, Redis, CouchDB, etc. as well as a standard Key/Value store
similar to BerkelyDB, LevelDB, etc.")
(license bsd-2)))

View file

@ -26,7 +26,7 @@
(define-public dejagnu
(package
(name "dejagnu")
(version "1.5.2")
(version "1.5.3")
(source
(origin
(method url-fetch)
@ -34,7 +34,7 @@
version ".tar.gz"))
(sha256
(base32
"18ikblg4x4y5fkw8sg0c2zmqgxdqqycswmws17sxx8m4sz6g7dch"))))
"069z3qrdv35cm2sbnfr5yjzplrqj9f61cchxis7j9mm19hv8x6q9"))))
(build-system gnu-build-system)
(inputs `(("expect" ,expect)))
(arguments

View file

@ -17,18 +17,14 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages dictionaries)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix licenses)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system trivial)
#:use-module (guix build-system cmake)
#:use-module (gnu packages base)
#:use-module (gnu packages compression)
#:use-module (gnu packages gettext)
#:use-module (gnu packages glib)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages readline)
#:use-module (gnu packages texinfo))
#:use-module (gnu packages texinfo)
#:use-module ((gnu packages compression)
#:select (gzip)))
(define-public vera
(package
@ -79,37 +75,4 @@
(description
"V.E.R.A. (Virtual Entity of Relevant Acronyms) is a list of computing
acronyms distributed as an info document.")
(license license:fdl1.3+)))
(define-public sdcv
(package
(name "sdcv")
(version "0.5.0-beta4")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/project/sdcv/sdcv/sdcv-"
version "-Source.tar.bz2"))
(sha256
(base32 "1b9v91al2c1499q6yx6q8jggid0714444mfj6myqgz3nvqjyrrqr"))))
(build-system cmake-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs
`(("glib" ,glib)
("gettext" ,gnu-gettext)
("readline" ,readline)
("zlib" ,zlib)))
(arguments
`(#:tests? #f ; no tests implemented
#:phases
;; this is known workaround for missing lang files
(alist-cons-after 'build 'build-lang
(lambda _ (zero? (system* "make" "lang")))
%standard-phases)))
(home-page "http://sdcv.sourceforge.net/")
(synopsis "Command line variant of StarDict")
(description
"Sdcv is command line dictionary utility, which supports StarDict dictinary
format.")
(license license:gpl2+)))
(license fdl1.3+)))

View file

@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013 Nikita Karetnikov <nikita@karetnikov.org>
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -119,3 +120,30 @@ 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+)))
(define-public dosfstools
(package
(name "dosfstools")
(version "3.0.27")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/" name "/" name
"/releases/download/v" version "/"
name "-" version ".tar.xz"))
(sha256
(base32
"1a2qs5g2zqbk1gzaaf4v3fw3yny6jgbzddpgcamkp3fjifn8wxl5"))))
(build-system gnu-build-system)
(arguments
`(#:make-flags (list (string-append "PREFIX=" %output)
"CC=gcc")
#:tests? #f ;no tests
#:phases (modify-phases %standard-phases
(delete 'configure))))
(home-page "https://github.com/dosfstools/dosfstools")
(synopsis "Utilities for making and checking MS-DOS FAT filesystems")
(description
"The dosfstools package includes the mkfs.fat and fsck.fat utilities,
which respectively make and check MS-DOS FAT filesystems.")
(license gpl3+)))

View file

@ -25,7 +25,6 @@
#:use-module (guix build-system python)
#:use-module (gnu packages)
#:use-module (gnu packages databases)
#:use-module (gnu packages ebook)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages glib)
@ -60,7 +59,7 @@
(define-public calibre
(package
(name "calibre")
(version "2.21.0")
(version "2.28.0")
(source
(origin
(method url-fetch)
@ -69,7 +68,7 @@
version ".tar.xz"))
(sha256
(base32
"1adig2jxwbmsxcs36jaybhc8zdb8mnkc23kabw0c72izrsg4c5gb"))
"15sb74v0nlj45fhlnw1afll35l90cxw78s15fb2nx3fih7ahv3cf"))
;; Remove non-free or doubtful code, see
;; https://lists.gnu.org/archive/html/guix-devel/2015-02/msg00478.html
(modules '((guix build utils)))
@ -77,7 +76,8 @@
'(begin
(delete-file-recursively "src/unrar")
(delete-file "src/odf/thumbnail.py")))
(patches (list (search-patch "calibre-drop-unrar.patch")))))
(patches (list (search-patch "calibre-drop-unrar.patch")
(search-patch "calibre-no-updates-dialog.patch")))))
(build-system python-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)

View file

@ -27,14 +27,14 @@
(define-public ed
(package
(name "ed")
(version "1.10")
(version "1.11")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/ed/ed-"
version ".tar.lz"))
(sha256
(base32
"16kycdm5fcvpdr41hxb2da8da6jzs9dqznsg5552z6rh28n0jh4m"))))
"0d518yhs3kpdpv9fbpa1rhxk2fbry2yzcknrdaa20pi2bzg6w55x"))))
(build-system gnu-build-system)
(native-inputs `(("lzip" ,lzip)))
(arguments

View file

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
;;;
@ -38,7 +38,9 @@
version "/elfutils-" version ".tar.bz2"))
(sha256
(base32
"0w50szymyqvx8g0vkwrvnv17grqxva6x1z9dm9m3i99zg2hr232p"))))
"0w50szymyqvx8g0vkwrvnv17grqxva6x1z9dm9m3i99zg2hr232p"))
(patches
(list (search-patch "elfutils-tests-ptrace.patch")))))
(build-system gnu-build-system)
;; Separate programs because that's usually not what elfutils users want,
@ -46,6 +48,13 @@
(outputs '("out" ; libelf.so, elfutils/*.h, etc.
"bin")) ; ld, nm, objdump, etc.
(arguments
;; Programs don't have libelf.so in their RUNPATH and libraries don't
;; know where to find each other.
`(#:configure-flags (list (string-append "LDFLAGS=-Wl,-rpath="
(assoc-ref %outputs "out")
"/lib"))))
(native-inputs `(("m4" ,m4)))
(inputs `(("zlib" ,zlib)))
(home-page "https://fedorahosted.org/elfutils/")

View file

@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 Taylan Ulrich Bayirli/Kammer <taylanbayirli@gmail.com>
;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2014 Alex Kost <alezost@gmail.com>
;;;
;;; This file is part of GNU Guix.
@ -23,11 +23,14 @@
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix build-system gnu)
#:use-module (guix build-system glib-or-gtk)
#:use-module (guix build-system trivial)
#:use-module (gnu packages)
#:use-module (gnu packages guile)
#: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)
@ -56,14 +59,15 @@
(define-public emacs
(package
(name "emacs")
(version "24.4")
(version "24.5")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/emacs/emacs-"
version ".tar.xz"))
(sha256
(base32
"1zflm6ac34s6v166p58ilxrxbxjm0q2wfc25f8y0mjml1lbr3qs7"))))
"0kn3rzm91qiswi0cql89kbv6mqn27rwsyjfb8xmwy9m5s8fxfiyx"))
(patches (list (search-patch "emacs-exec-path.patch")))))
(build-system glib-or-gtk-build-system)
(arguments
'(#:phases (alist-cons-before
@ -92,6 +96,7 @@
("libpng" ,libpng)
("zlib" ,zlib)
("librsvg" ,librsvg)
("libxpm" ,libxpm)
("libxml2" ,libxml2)
("libice" ,libice)
@ -126,7 +131,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")))))
@ -143,6 +148,35 @@ editor (without an X toolkit)" )
(arguments (append '(#:configure-flags '("--with-x-toolkit=no"))
(package-arguments emacs)))))
(define-public guile-emacs
(package (inherit emacs)
(name "guile-emacs")
(version "20150512.41120e0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "git://git.hcoop.net/git/bpt/emacs.git")
(commit "41120e0f595b16387eebfbf731fff70481de1b4b")))
(sha256
(base32
"0lvcvsz0f4mawj04db35p1dvkffdqkz8pkhc0jzh9j9x2i63kcz6"))))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
("guile" ,guile-for-guile-emacs)
,@(package-native-inputs emacs)))
(arguments
(substitute-keyword-arguments `(;; Build fails if we allow parallel build.
#:parallel-build? #f
;; Tests aren't passing for now.
#:tests? #f
,@(package-arguments emacs))
((#:phases phases)
`(modify-phases ,phases
(add-after 'unpack 'autogen
(lambda _
(zero? (system* "sh" "autogen.sh"))))))))))
;;;
;;; Emacs hacking.
@ -151,13 +185,14 @@ editor (without an X toolkit)" )
(define-public geiser
(package
(name "geiser")
(version "0.6")
(version "0.7")
(source (origin
(method url-fetch)
(uri (string-append "mirror://savannah/geiser/" version
"/geiser-" version ".tar.gz"))
(sha256
(base32 "1mrk0bzqcpfhsw6635qznn47nzfy9ps7wrhkpymswdfpw5mdsry5"))))
(base32
"0cp7r91ibw45yw9k3fz1s13y7ryfsxjgpk57qv37qsznb9lmqylx"))))
(build-system gnu-build-system)
(arguments
'(#:phases (alist-cons-after
@ -173,20 +208,12 @@ editor (without an X toolkit)" )
(home-page "http://nongnu.org/geiser/")
(synopsis "Collection of Emacs modes for Guile and Racket hacking")
(description
"Geiser is a collection of Emacs major and minor modes that
conspire with one or more Scheme interpreters to keep the Lisp Machine
Spirit alive. It draws inspiration (and a bit more) from environments
such as Common Lisps Slime, Factors FUEL, Squeak or Emacs itself, and
does its best to make Scheme hacking inside Emacs (even more) fun.
Or, to be precise, what i consider fun. Geiser is thus my humble
contribution to the dynamic school of expression, and a reaction against
what i perceive as a derailment, in modern times, of standard Scheme
towards the static camp. Because i prefer growing and healing to poking
at corpses, the continuously running Scheme interpreter takes the center
of the stage in Geiser. A bundle of Elisp shims orchestrates the dialog
between the Scheme interpreter, Emacs and, ultimately, the schemer,
giving her access to live metadata.")
"Geiser is a collection of Emacs major and minor modes that conspire with
one or more Scheme implementations to keep the Lisp Machine Spirit alive. The
continuously running Scheme interpreter takes the center of the stage in
Geiser. A bundle of Elisp shims orchestrates the dialog between the Scheme
implementation, Emacs and, ultimately, the schemer, giving them access to live
metadata.")
(license license:bsd-3)))
(define-public paredit
@ -234,53 +261,115 @@ for those who may want transient periods of unbalanced parentheses, such as
when typing parentheses directly or commenting out code line by line.")
(license license:gpl3+)))
(define-public git-modes
(package
(name "git-modes")
(version "1.0.0")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/magit/git-modes/archive/"
version ".tar.gz"))
(sha256
(base32
"1biiss75bswx4alk85k3g9p0a3q3sc9i74h4mnrxc2rsk2iwhws0"))))
(build-system gnu-build-system)
(arguments
`(#:modules ((guix build gnu-build-system)
(guix build emacs-utils)
(guix build utils))
#:imported-modules (,@%gnu-build-system-modules
(guix build emacs-utils))
#:make-flags (list (string-append "PREFIX="
(assoc-ref %outputs "out"))
;; Don't put .el files in a 'git-modes'
;; sub-directory.
(string-append "LISPDIR="
(assoc-ref %outputs "out")
"/share/emacs/site-lisp"))
#:test-target "test"
#:phases (modify-phases %standard-phases
(delete 'configure)
(add-after 'install 'emacs-autoloads
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(lisp (string-append
out "/share/emacs/site-lisp/")))
(emacs-generate-autoloads ,name lisp)))))))
(native-inputs `(("emacs" ,emacs-no-x)))
(home-page "https://github.com/magit/git-modes")
(synopsis "Emacs major modes for Git configuration files")
(description
"This package provides Emacs major modes for editing various Git
configuration files, such as .gitattributes, .gitignore, and .git/config.")
(license license:gpl3+)))
(define-public magit
(package
(name "magit")
(version "1.2.1")
(version "1.4.1")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/magit/magit/releases/download/"
version "/" name "-" version ".tar.gz"))
(sha256
(base32 "1in48g5l5xdc9cf2apnpgx73mqlz2njrpi1w52dgql4qxv3kg6gr"))))
(base32
"0bbvz6cma5vj6qxx9v2m60zqkjwgwjrdf9kp04iacybvrcm8vcg7"))))
(build-system gnu-build-system)
(native-inputs `(("texinfo" ,texinfo)))
(inputs `(("emacs" ,emacs-no-x)
("git" ,git)
(native-inputs `(("texinfo" ,texinfo)
("emacs" ,emacs-no-x)))
(inputs `(("git" ,git)
("git:gui" ,git "gui")))
(propagated-inputs `(("git-modes" ,git-modes)))
(arguments
`(#:modules ((guix build gnu-build-system)
(guix build utils)
(guix build emacs-utils))
#:imported-modules ((guix build gnu-build-system)
(guix build utils)
#:imported-modules (,@%gnu-build-system-modules
(guix build emacs-utils))
#:tests? #f ; no check target
#:test-target "test"
#:tests? #f ;'tests/magit-tests.el' is missing
#:make-flags (list
;; Don't put .el files in a sub-directory.
(string-append "lispdir=" (assoc-ref %outputs "out")
"/share/emacs/site-lisp"))
#:phases
(alist-replace
'configure
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(substitute* "Makefile"
(("/usr/local") out)
(("/etc") (string-append out "/etc")))))
(alist-cons-before
'build 'patch-exec-paths
(lambda* (#:key inputs #:allow-other-keys)
(let ((git (assoc-ref inputs "git"))
(git:gui (assoc-ref inputs "git:gui")))
(emacs-substitute-variables "magit.el"
("magit-git-executable" (string-append git "/bin/git"))
("magit-gitk-executable" (string-append git:gui "/bin/gitk")))))
(alist-cons-after
(modify-phases %standard-phases
(replace
'configure
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(substitute* "Makefile"
(("/usr/local") out)
(("/etc") (string-append out "/etc"))))))
(add-before
'build 'patch-exec-paths
(lambda* (#:key inputs #:allow-other-keys)
(let ((git (assoc-ref inputs "git"))
(git:gui (assoc-ref inputs "git:gui")))
(emacs-substitute-variables "magit.el"
("magit-git-executable" (string-append git "/bin/git"))
("magit-gitk-executable" (string-append git:gui
"/bin/gitk"))))))
(add-before
'build 'augment-load-path
(lambda* (#:key inputs #:allow-other-keys)
;; Allow git-commit-mode.el & co. to be found.
(let ((git-modes (assoc-ref inputs "git-modes")))
(setenv "EMACSLOADPATH"
(string-append ":" git-modes "/share/emacs/site-lisp"))
#t)))
(add-after
'install 'post-install
(lambda* (#:key outputs #:allow-other-keys)
(emacs-generate-autoloads
,name (string-append (assoc-ref outputs "out")
"/share/emacs/site-lisp/")))
%standard-phases)))))
"/share/emacs/site-lisp/")))))))
(home-page "http://magit.github.io/")
(synopsis "Emacs interface for the Git version control system")
(description
@ -312,11 +401,10 @@ operations.")
("imagemagick" ,imagemagick)
("emacs" ,emacs-no-x)))
(arguments
'(#:modules ((guix build gnu-build-system)
`(#:modules ((guix build gnu-build-system)
(guix build utils)
(guix build emacs-utils))
#:imported-modules ((guix build gnu-build-system)
(guix build utils)
#:imported-modules (,@%gnu-build-system-modules
(guix build emacs-utils))
#:configure-flags
(let ((out (assoc-ref %outputs "out")))
@ -380,11 +468,10 @@ operations.")
(inputs `(("wget" ,wget)
("emacs" ,emacs-no-x)))
(arguments
'(#:modules ((guix build gnu-build-system)
`(#:modules ((guix build gnu-build-system)
(guix build utils)
(guix build emacs-utils))
#:imported-modules ((guix build gnu-build-system)
(guix build utils)
#:imported-modules (,@%gnu-build-system-modules
(guix build emacs-utils))
#:tests? #f ; no check target
#:phases
@ -448,11 +535,10 @@ operations.")
(string-append "all: " rest " emms-print-metadata\n"))))))
(build-system gnu-build-system)
(arguments
'(#:modules ((guix build gnu-build-system)
`(#:modules ((guix build gnu-build-system)
(guix build utils)
(guix build emacs-utils))
#:imported-modules ((guix build gnu-build-system)
(guix build utils)
#:imported-modules (,@%gnu-build-system-modules
(guix build emacs-utils))
#:phases (alist-replace

View file

@ -35,7 +35,7 @@
#:use-module (gnu packages gnome)
#:use-module (gnu packages gtk)
#:use-module (gnu packages guile)
#:use-module ((gnu packages linux) #:select (eudev)) ; FIXME: for pcb
#:use-module (gnu packages linux) ;FIXME: for pcb
#:use-module (gnu packages maths)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)

View file

@ -156,15 +156,16 @@ full capabilities of EFL.")
(define-public evas-generic-loaders
(package
(name "evas-generic-loaders")
(version "1.13.0")
(version "1.13.2")
(source (origin
(method url-fetch)
(uri
(string-append
"http://download.enlightenment.org/rel/libs/evas_generic_loaders/evas_generic_loaders-"
version ".tar.gz"))
"https://download.enlightenment.org/rel/libs/"
"evas_generic_loaders/evas_generic_loaders-"
version ".tar.xz"))
(sha256
(base32 "16yzjk58bxsd0rlnpzrr8as9fxjjiq01swzhpadsgkmq33abgg63"))))
(base32 "1z5vjabs3psvqs3251mpyl1wgbdv1grn30yf682vamdqc5ckfa69"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))

87
gnu/packages/fcitx.scm Normal file
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+)))

View file

@ -29,7 +29,7 @@
(define-public feh
(package
(name "feh")
(version "2.12")
(version "2.13")
(home-page "https://feh.finalrewind.org/")
(source (origin
(method url-fetch)
@ -37,7 +37,7 @@
name "-" version ".tar.bz2"))
(sha256
(base32
"0ckhidmsms2l5jycp0qf71jzmb3bpbhjq3bcgfpvfvszah7pmq30"))))
"06fa9zh1zpi63l90kw3l9a0sfavf424j7ksi396ifg9669gx35gn"))))
(build-system gnu-build-system)
(arguments
'(#:phases (alist-delete 'configure %standard-phases)

View file

@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 John Darrington <jmd@gnu.org>
;;; Copyright © 2015 Eric Bavier <bavier@member.fsf.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -17,7 +18,10 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages fltk)
#:use-module (guix licenses)
#:use-module ((guix licenses) #:select (lgpl2.0))
#:use-module (gnu packages)
#:use-module (gnu packages compression)
#:use-module (gnu packages image)
#:use-module (gnu packages xorg)
#:use-module (gnu packages gl)
#:use-module (guix packages)
@ -27,7 +31,7 @@
(define-public fltk
(package
(name "fltk")
(version "1.3.2")
(version "1.3.3")
(source
(origin
(method url-fetch)
@ -35,21 +39,42 @@
"/fltk-" version "-source.tar.gz"))
(sha256
(base32
"1974brlk723095vf8z72kazq1cbqr9a51kq6b0xda6zkjkgl8q0p"))))
"15qd7lkz5d5ynz70xhxhigpz3wns39v9xcf7ggkl0792syc8sfgq"))
(patches (list (search-patch "fltk-shared-lib-defines.patch")))))
(build-system gnu-build-system)
(inputs
`(("libx11" ,libx11)
("mesa" ,mesa)))
(inputs
`(("libjpeg" ,libjpeg-8) ;jpeg_read_header argument error in libjpeg-9
("libpng" ,libpng)
("libx11" ,libx11)
("mesa" ,mesa)
("zlib" ,zlib)))
(arguments
`(#:tests? #f ;TODO: compile programs in "test" dir
#:configure-flags '("--enable-shared")
#:configure-flags
(list "--enable-shared"
(string-append "DSOFLAGS=-Wl,-rpath=" %output "/lib"))
#:phases
(alist-cons-before
'configure 'patch-makeinclude
(lambda _
(substitute* "makeinclude.in"
(("/bin/sh") (which "sh"))))
%standard-phases)))
(alist-cons-after
'install 'patch-config
;; Provide -L flags for image libraries when querying fltk-config to
;; avoid propagating inputs.
(lambda* (#:key inputs outputs #:allow-other-keys)
(use-modules (srfi srfi-26))
(let* ((conf (string-append (assoc-ref outputs "out")
"/bin/fltk-config"))
(jpeg (assoc-ref inputs "libjpeg"))
(png (assoc-ref inputs "libpng"))
(zlib (assoc-ref inputs "zlib")))
(substitute* conf
(("-ljpeg") (string-append "-L" jpeg "/lib -ljpeg"))
(("-lpng") (string-append "-L" png "/lib -lpng"))
(("-lz") (string-append "-L" zlib "/lib -lz")))))
%standard-phases))))
(home-page "http://www.fltk.org")
(synopsis "3D C++ GUI library")
(description "FLTK is a C++ GUI toolkit providing modern GUI functionality

View file

@ -1,5 +1,9 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
;;; Copyright © 2015 Andy Wingo <wingo@pobox.com>
;;; Copyright © 2015 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
;;;
;;; This file is part of GNU Guix.
;;;
@ -17,10 +21,24 @@
;;; 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) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu))
#:use-module (guix git-download)
#:use-module (guix build-system gnu)
#:use-module (guix build-system python)
#:use-module (gnu packages gnome)
#:use-module (gnu packages python)
#:use-module (gnu packages linux)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages autotools)
#:use-module (gnu packages gettext)
#:use-module (gnu packages gperf)
#:use-module (gnu packages xml)
#:use-module (gnu packages docbook)
#:use-module (gnu packages glib) ;intltool
#:use-module (gnu packages xdisorg)
#:use-module (gnu packages xorg))
(define-public xdg-utils
(package
@ -43,4 +61,139 @@
(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 license:expat)))
(define-public libinput
(package
(name "libinput")
(version "0.14.1")
(source (origin
(method url-fetch)
(uri (string-append "http://freedesktop.org/software/libinput/"
name "-" version ".tar.xz"))
(sha256
(base32
"0r0v5jqbnwgndq6ns3ss3kv1438ny302m7bg1najcl1dpqp21v9b"))))
(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 license:x11)))
(define-public elogind
(let ((commit "14405a9"))
(package
(name "elogind")
(version (string-append "219." commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "http://git.elephly.net/software/elogind.git")
(commit commit)))
(sha256
(base32
"1wz5lxj95qg64x2q5hf4zcb35hpxlw3wfswx6sb2srvsg50y3y72"))
(file-name (string-append name "-checkout-" commit))
(modules '((guix build utils)))
(snippet
'(begin
(use-modules (guix build utils))
(substitute* "Makefile.am"
;; Avoid validation against DTD because the DTDs for
;; both doctype 4.2 and 4.5 are needed.
(("XSLTPROC_FLAGS = ") "XSLTPROC_FLAGS = --novalid"))))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
(list
;; pam_elogind fails because of bus-error.c hackery
"--disable-pam"
(string-append "--with-rootprefix=" (assoc-ref %outputs "out")))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'autogen
(lambda _
(and (zero? (system* "intltoolize" "--force" "--automake"))
(zero? (system* "autoreconf" "-vif"))))))))
(native-inputs
`(("intltool" ,intltool)
("gettext" ,gnu-gettext)
("docbook-xsl" ,docbook-xsl)
("docbook-xml" ,docbook-xml)
("xsltproc" ,libxslt)
("libxml2" ,libxml2) ;for XML_CATALOG_FILES
("pkg-config", pkg-config)
("autoconf" ,autoconf)
("automake" ,automake)
("libtool" ,libtool)
("gperf" ,gperf)))
(inputs
`(("linux-pam" ,linux-pam)
("linux-libre-headers" ,linux-libre-headers)
("libcap" ,libcap)
("dbus" ,dbus)
("eudev" ,eudev)))
(home-page "https://github.com/andywingo/elogind")
(synopsis "User, seat, and session management service")
(description "Elogind is the systemd project's \"logind\" service,
extracted out as a separate project. Elogind integrates with PAM to provide
the org.freedesktop.login1 interface over the system bus, allowing other parts
of a the system to know what users are logged in, and where.")
(license license:lgpl2.1+))))
(define-public python-pyxdg
(package
(name "python-pyxdg")
(version "0.25")
(source
(origin
(method url-fetch)
(uri (string-append
"https://pypi.python.org/packages/source/p/pyxdg/pyxdg-"
version ".tar.gz"))
(sha256
(base32
"179767h8m634ydlm4v8lnz01ba42gckfp684id764zaip7h87s41"))))
(build-system python-build-system)
(arguments
'(#:phases
(alist-replace
'check
(lambda* (#:key inputs #:allow-other-keys)
(setenv "XDG_DATA_DIRS"
(string-append (assoc-ref inputs "shared-mime-info")
"/share/"))
(substitute* "test/test-icon.py"
(("/usr/share/icons/hicolor/index.theme")
(string-append (assoc-ref inputs "hicolor-icon-theme")
"/share/icons/hicolor/index.theme")))
;; One test fails with:
;; AssertionError: 'x-apple-ios-png' != 'png'
(substitute* "test/test-mime.py"
(("self.check_mimetype\\(imgpng, 'image', 'png'\\)") "#"))
(zero? (system* "nosetests" "-v")))
%standard-phases)))
(native-inputs
`(("shared-mime-info" ,shared-mime-info) ;for tests
("hicolor-icon-theme" ,hicolor-icon-theme) ;for tests
("python-nose" ,python-nose)
("python-setuptools" ,python-setuptools)))
(home-page "http://freedesktop.org/wiki/Software/pyxdg")
(synopsis "Implementations of freedesktop.org standards in Python")
(description
"PyXDG is a collection of implementations of freedesktop.org standards in
Python")
(license license:lgpl2.0)))
(define-public python2-pyxdg
(package-with-python2 python-pyxdg))

View file

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014, 2015 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
;;;
@ -36,8 +36,10 @@
(version "4.6.1")
(source (origin
(method url-fetch)
(uri (string-append "http://lftp.yar.ru/ftp/lftp-"
version ".tar.xz"))
(uri (list (string-append "http://lftp.yar.ru/ftp/lftp-"
version ".tar.xz")
(string-append "http://lftp.yar.ru/ftp/old/lftp-"
version ".tar.xz")))
(sha256
(base32
"1grmp8zg7cjgjinz66mrh53whigkqzl90nlxj05hapnhk3ns3vni"))

View file

@ -25,7 +25,19 @@
#:use-module (guix build-system gnu)
#:use-module (gnu packages)
#:use-module (gnu packages qt)
#:use-module (gnu packages compression))
#:use-module (gnu packages compression)
#:use-module (gnu packages zip)
#:use-module (gnu packages gl)
#:use-module (gnu packages linux)
#:use-module (gnu packages xorg)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages image)
#:use-module (gnu packages audio)
#:use-module (gnu packages pulseaudio)
#:use-module (gnu packages gnome)
#:use-module (gnu packages gtk)
#:use-module (gnu packages sdl)
#:use-module (gnu packages pkg-config))
(define-public bullet
(package
@ -85,3 +97,74 @@ clone.")
;; As noted in 'COPYING', part of it is under GPLv2+, while the rest is
;; under BSD-2.
(license license:gpl2+)))
(define-public sfml
(package
(name "sfml")
(version "2.2")
(source (origin
(method url-fetch)
(uri (string-append "http://mirror0.sfml-dev.org/files/SFML-"
version "-sources.zip"))
(sha256
(base32
"1xhkvgyfbhqsjdmfbxvk729kdrzh7kdyagxa3bvpzi6z43mh1frd"))))
(build-system cmake-build-system)
(arguments
'(#:tests? #f)) ; no tests
(native-inputs
`(("unzip" ,unzip)))
(inputs
`(("mesa" ,mesa)
("glew" ,glew)
("libx11" ,libx11)
("libxrandr" ,libxrandr)
("eudev" ,eudev)
("freetype" ,freetype)
("libjpeg" ,libjpeg)
("libsndfile" ,libsndfile)
("openal" ,openal)))
(home-page "http://www.sfml-dev.org")
(synopsis "Simple and Fast Multimedia Library")
(description
"SFML provides a simple interface to the various computer components,
to ease the development of games and multimedia applications. It is composed
of five modules: system, window, graphics, audio and network.")
(license license:zlib)))
(define-public sfxr
(package
(name "sfxr")
(version "1.2.1")
(source (origin
(method url-fetch)
(uri (string-append "http://www.drpetter.se/files/sfxr-sdl-1.2.1.tar.gz"))
(sha256
(base32
"0dfqgid6wzzyyhc0ha94prxax59wx79hqr25r6if6by9cj4vx4ya"))))
(build-system gnu-build-system)
(arguments
`(#:phases (modify-phases %standard-phases
(delete 'configure) ; no configure script
(add-before 'build 'patch-makefile
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(substitute* "Makefile"
(("\\$\\(DESTDIR\\)/usr") out))
(substitute* "main.cpp"
(("/usr/share")
(string-append out "/share")))
#t))))
#:tests? #f)) ; no tests
(native-inputs
`(("pkg-config" ,pkg-config)
("desktop-file-utils" ,desktop-file-utils)))
(inputs
`(("sdl" ,sdl)
("gtk+" ,gtk+)))
(synopsis "Simple sound effect generator")
(description "Sfxr is a tool for quickly generating simple sound effects.
Originally created for use in video game prototypes, it can generate random
sounds from presets such as \"explosion\" or \"powerup\".")
(home-page "http://www.drpetter.se/project_sfxr.html")
(license license:expat)))

View file

@ -9,6 +9,7 @@
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2015 David Hashe <david.hashe@dhashe.com>
;;; Copyright © 2015 Christopher Allan Webber <cwebber@dustycloud.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -42,6 +43,7 @@
#:use-module (gnu packages gtk)
#:use-module (gnu packages guile)
#:use-module (gnu packages libcanberra)
#:use-module (gnu packages libunwind)
#:use-module (gnu packages image)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages python)
@ -65,6 +67,7 @@
#:use-module (gnu packages lua)
#:use-module (gnu packages video)
#:use-module (gnu packages xml)
#:use-module (gnu packages tcl)
#:use-module (guix build-system trivial)
#:use-module (guix build-system gnu)
#:use-module (guix build-system cmake)
@ -105,7 +108,7 @@ representation of the playing board.")
(define-public gnubik
(package
(name "gnubik")
(version "2.4.1")
(version "2.4.2")
(source
(origin
(method url-fetch)
@ -113,7 +116,7 @@ representation of the playing board.")
version ".tar.gz"))
(sha256
(base32
"0mfpwz341i1qpzi2qgslpc5i7d4fv7i01kv392m11pczqdc7i7m5"))))
"0mhpfnxzbns0wfrsjv5vafqr34770rbvkmdzxk0x0aq67hb3zyl5"))))
(build-system gnu-build-system)
(inputs `(("gtk+" ,gtk+-2)
("mesa" ,mesa)
@ -745,6 +748,43 @@ some of the restrictions in the venerable Z-machine format. This is the
reference interpreter, using Glk API.")
(license (license:fsf-free "file://README"))))
(define-public fizmo
(package
(name "fizmo")
(version "0.7.9")
(source (origin
(method url-fetch)
(uri (string-append "https://christoph-ender.de/fizmo/source/"
name "-" version ".tar.gz"))
(sha256
(base32
"1w7cgyjrhgkadjrazijzhq7zh0pl5bfc6wl7mdpgh020y4kp46d7"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags
(let ((libjpeg (assoc-ref %build-inputs "libjpeg"))
(ncurses (assoc-ref %build-inputs "ncurses")))
(list (string-append "jpeg_CFLAGS=-I" libjpeg "/include")
(string-append "jpeg_LIBS=-ljpeg")
(string-append "ncursesw_CFLAGS=-I" ncurses "/include")
(string-append "ncursesw_LIBS=-lncursesw")))))
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs
`(("libjpeg" ,libjpeg)
("libpng" ,libpng)
("libsndfile" ,libsndfile)
("libxml2" ,libxml2)
("ncurses" ,ncurses)
("sdl" ,sdl)))
(home-page "https://christoph-ender.de/fizmo/")
(synopsis "Z-machine interpreter")
(description
"Fizmo is a console-based Z-machine interpreter. It is used to play
interactive ficiton, also known as textadventures, which were implemented
either by Infocom or created using the Inform compiler.")
(license license:bsd-3)))
(define-public retroarch
(package
(name "retroarch")
@ -822,3 +862,91 @@ interfaces or even in Emacs. It supports the standard game storage format
Modem Protocol).")
(home-page "http://www.gnu.org/software/gnugo/")
(license license:gpl3+)))
(define-public extremetuxracer
(package
(name "extremetuxracer")
(version "0.6.0")
(source (origin
(method url-fetch)
(uri (string-append
"http://downloads.sourceforge.net/project/extremetuxracer/releases/"
version "/etr-" version ".tar.xz"))
(sha256
(base32
"0fl9pwkywqnsmgr6plfj9zb05xrdnl5xb2hcmbjk7ap9l4cjfca4"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs
`(("freetype" ,freetype)
("mesa" ,mesa)
("glu" ,glu)
("libice" ,libice)
("libpng" ,libpng)
("sdl" ,sdl)
("sdl-mixer" ,sdl-mixer)
("sdl-image" ,sdl-image)
("libsm" ,libsm)
("libunwind" ,libunwind)
("libx11" ,libx11)
("libxext" ,libxext)
("libxi" ,libxi)
("libxmu" ,libxmu)
("libxt" ,libxt)
("tcl" ,tcl)
("zlib" ,zlib)))
(arguments
'(#:phases
(modify-phases %standard-phases
(add-after 'configure 'patch-makefile
(lambda _
(substitute* "Makefile"
(("CXXFLAGS =") "CXXFLAGS = ${CFLAGS}")))))))
(synopsis "High speed arctic racing game based on Tux Racer")
;; Snarfed straight from Debian
(description "Extreme Tux Racer, or etracer as it is called for short, is
a simple OpenGL racing game featuring Tux, the Linux mascot. The goal of the
game is to slide down a snow- and ice-covered mountain as quickly as possible,
avoiding the trees and rocks that will slow you down.
Collect herrings and other goodies while sliding down the hill, but avoid fish
bones.
This game is based on the GPL version of the famous game TuxRacer.")
(home-page "http://sourceforge.net/projects/extremetuxracer/")
(license license:gpl2+)))
(define-public gnujump
(package
(name "gnujump")
(version "1.0.8")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/gnujump/gnujump-"
version ".tar.gz"))
(sha256
(base32
"05syy9mzbyqcfnm0hrswlmhwlwx54f0l6zhcaq8c1c0f8dgzxhqk"))))
(build-system gnu-build-system)
(arguments
'(#:phases
(modify-phases %standard-phases
(add-before
'configure 'link-libm
(lambda _ (setenv "LIBS" "-lm"))))))
(inputs
`(("glu" ,glu)
("mesa", mesa)
("sdl" ,sdl)
("sdl-image" ,sdl-image)
("sdl-mixer" ,sdl-mixer)))
(home-page "http://gnujump.es.gnu.org/")
(synopsis
"Game of jumping to the next floor, trying not to fall")
(description
"GNUjump is a simple, yet addictive game in which you must jump from
platform to platform to avoid falling, while the platforms drop at faster rates
the higher you go. The game features multiplayer, unlimited FPS, smooth floor
falling, themeable graphics and sounds, and replays.")
(license license:gpl3+)))

View file

@ -28,7 +28,7 @@
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages elf)
#:use-module ((gnu packages perl) #:select (perl))
#:use-module (gnu packages perl)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu)
@ -85,6 +85,14 @@ where the OS part is overloaded to denote a specific ABI---into GCC
'("CC" "CXX" "LD" "AR" "NM" "RANLIB" "STRIP")
'("gcc" "g++" "ld" "ar" "nm" "ranlib" "strip"))
'()))))
(libdir
(let ((base '(or (assoc-ref outputs "lib")
(assoc-ref outputs "out"))))
(lambda ()
;; Return the directory that contains lib/libgcc_s.so et al.
(if (%current-target-system)
`(string-append ,base "/" ,(%current-target-system))
base))))
(configure-flags
(lambda ()
;; This is terrible. Since we have two levels of quasiquotation,
@ -181,12 +189,12 @@ where the OS part is overloaded to denote a specific ABI---into GCC
,(if stripped? "-g0" "-g")))))
#:tests? #f
#:phases
(alist-cons-before
'configure 'pre-configure
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((libdir (or (assoc-ref outputs "lib")
(assoc-ref outputs "out")))
(let ((libdir ,(libdir))
(libc (assoc-ref inputs "libc")))
(when libc
;; The following is not performed for `--without-headers'
@ -240,6 +248,13 @@ where the OS part is overloaded to denote a specific ABI---into GCC
(("static char const sed_cmd_z\\[\\] =.*;")
"static char const sed_cmd_z[] = \"sed\";"))
;; Add a RUNPATH to libstdc++.so so that it finds libgcc_s.
;; See <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=32354>
;; and <http://bugs.gnu.org/20358>.
(substitute* "libstdc++-v3/src/Makefile.in"
(("^OPT_LDFLAGS = ")
"OPT_LDFLAGS = -Wl,-rpath=$(libdir) "))
;; 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
@ -292,23 +307,45 @@ Go. It also includes runtime support libraries for these languages.")
(package (inherit gcc-4.7)
(version "4.8.4")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/gcc/gcc-"
version "/gcc-" version ".tar.bz2"))
(sha256
(base32
"15c6gwm6dzsaagamxkak5smdkf1rdfbqqjs9jdbrp3lbg4ism02a"))))))
(method url-fetch)
(uri (string-append "mirror://gnu/gcc/gcc-"
version "/gcc-" version ".tar.bz2"))
(sha256
(base32
"15c6gwm6dzsaagamxkak5smdkf1rdfbqqjs9jdbrp3lbg4ism02a"))
;; ARM 'link' spec issue reported at
;; <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65711> and
;; <https://gcc.gnu.org/ml/gcc-patches/2015-04/msg01387.html>.
(patches (list (search-patch "gcc-arm-link-spec-fix.patch")))))))
(define-public gcc-4.9
(package (inherit gcc-4.7)
(package (inherit gcc-4.8)
(version "4.9.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/gcc/gcc-"
version "/gcc-" version ".tar.bz2"))
(sha256
(base32
"1pbjp4blk2ycaa6r3jmw4ky5f1s9ji3klbqgv8zs2sl5jn1cj810"))))))
(method url-fetch)
(uri (string-append "mirror://gnu/gcc/gcc-"
version "/gcc-" version ".tar.bz2"))
(sha256
(base32
"1pbjp4blk2ycaa6r3jmw4ky5f1s9ji3klbqgv8zs2sl5jn1cj810"))
(patches (map search-patch
'("gcc-arm-link-spec-fix.patch"
"gcc-libvtv-runpath.patch")))))))
(define-public gcc-5.1
(package (inherit gcc-4.9)
(version "5.1.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/gcc/gcc-"
version "/gcc-" version ".tar.bz2"))
(sha256
(base32
"1bd5vj4px3s8nlakbgrh38ynxq4s654m6nxz7lrj03mvkkwgvnmp"))
(patches (map search-patch
'("gcc-arm-link-spec-fix.patch"
"gcc-5.0-libvtv-runpath.patch")))))))
(define* (custom-gcc gcc name languages #:key (separate-lib-output? #t))
"Return a custom version of GCC that supports LANGUAGES."
@ -378,38 +415,57 @@ Go. It also includes runtime support libraries for these languages.")
"--enable-languages=java"
,@(remove (cut string-match "--enable-languages.*" <>)
,flags))))
((#:phases phases)
`(alist-cons-after
'install 'install-javac-and-javap-wrappers
(lambda _
(let* ((javac (assoc-ref %build-inputs "javac.in"))
(ecj (assoc-ref %build-inputs "ecj-bootstrap"))
(gcj (assoc-ref %outputs "out"))
(gcjbin (string-append gcj "/bin/"))
(jvm (string-append gcj "/lib/jvm/"))
(target (string-append jvm "/bin/javac")))
((#:phases phases)
`(modify-phases ,phases
(add-after
'unpack 'add-lib-output-to-rpath
(lambda _
(substitute* "libjava/Makefile.in"
(("libgcj_bc_dummy_LINK = .* -shared" line)
(string-append line " -Wl,-rpath=$(libdir)"))
(("libgcj(_bc)?_la_LDFLAGS =" ldflags _)
(string-append ldflags " -Wl,-rpath=$(libdir)")))))
(add-after
'install 'install-javac-and-javap-wrappers
(lambda _
(let* ((javac (assoc-ref %build-inputs "javac.in"))
(ecj (assoc-ref %build-inputs "ecj-bootstrap"))
(gcj (assoc-ref %outputs "out"))
(gcjbin (string-append gcj "/bin/"))
(jvm (string-append gcj "/lib/jvm/"))
(target (string-append jvm "/bin/javac")))
(symlink (string-append gcjbin "jcf-dump")
(string-append jvm "/bin/javap"))
(symlink (string-append gcjbin "jcf-dump")
(string-append jvm "/bin/javap"))
(copy-file ecj (string-append gcj "/share/java/ecj.jar"))
(copy-file ecj (string-append gcj "/share/java/ecj.jar"))
;; Create javac wrapper from the template javac.in by
;; replacing the @VARIABLES@ with paths.
(copy-file javac target)
(patch-shebang target)
(substitute* target
(("@JAVA@")
(string-append jvm "/bin/java"))
(("@ECJ_JAR@")
(string-append gcj "/share/java/ecj.jar"))
(("@RT_JAR@")
(string-append jvm "/jre/lib/rt.jar"))
(("@TOOLS_JAR@")
(string-append jvm "/lib/tools.jar")))
(chmod target #o755)
#t))
,phases))))))
;; Create javac wrapper from the template javac.in by
;; replacing the @VARIABLES@ with paths.
(copy-file javac target)
(patch-shebang target)
(substitute* target
(("@JAVA@")
(string-append jvm "/bin/java"))
(("@ECJ_JAR@")
(string-append gcj "/share/java/ecj.jar"))
(("@RT_JAR@")
(string-append jvm "/jre/lib/rt.jar"))
(("@TOOLS_JAR@")
(string-append jvm "/lib/tools.jar")))
(chmod target #o755)
#t)))
(add-after
'install 'remove-broken-or-conflicting-files
(lambda _
(let ((out (assoc-ref %outputs "out")))
(for-each
delete-file
(append (find-files (string-append out "/lib/jvm/jre/lib")
"libjawt.so")
(find-files (string-append out "/bin")
".*(c\\+\\+|cpp|g\\+\\+|gcc.*)"))))
#t))))))))
(define ecj-bootstrap-4.8
(origin

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))))

View file

@ -36,14 +36,14 @@
(define-public gdb
(package
(name "gdb")
(version "7.9")
(version "7.9.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/gdb/gdb-"
version ".tar.xz"))
(sha256
(base32
"14l3hhsy7fmpn2dk7ivc67gnbjdhkxlq90kxijpzfa35l58mcccv"))))
"0h5sfg4ndhb8q4fxbq0hdxfjp35n6ih96f6x8yvb418s84x5976d"))))
(build-system gnu-build-system)
(arguments
'(#:tests? #f ; FIXME "make check" fails on single-processor systems.

View file

@ -70,7 +70,15 @@
(substitute* "gettext-tools/src/project-id"
(("/bin/pwd")
"pwd")))))
%standard-phases)
(alist-cons-before
'configure 'link-expat
(lambda _
;; Gettext defaults to opening expat via dlopen on
;; "Linux". Change to link directly.
(substitute* "gettext-tools/configure"
(("LIBEXPAT=\"-ldl\"") "LIBEXPAT=\"-ldl -lexpat\"")
(("LTLIBEXPAT=\"-ldl\"") "LTLIBEXPAT=\"-ldl -lexpat\"")))
%standard-phases))
;; When tests fail, we want to know the details.
#:make-flags '("VERBOSE=yes")))

View file

@ -2,6 +2,7 @@
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -125,8 +126,10 @@ printing, and psresize, for adjusting page sizes.")
(method url-fetch)
(uri (string-append "mirror://gnu/ghostscript/gnu-ghostscript-"
version ".tar.xz"))
(sha256 (base32
"0q4jj41p0qbr4mgcc9q78f5zs8cm1g57wgryhsm2yq4lfslm3ib1"))))
(sha256
(base32
"0q4jj41p0qbr4mgcc9q78f5zs8cm1g57wgryhsm2yq4lfslm3ib1"))
(patches (list (search-patch "ghostscript-runpath.patch")))))
(build-system gnu-build-system)
(inputs `(("freetype" ,freetype)
("lcms" ,lcms)
@ -142,20 +145,19 @@ printing, and psresize, for adjusting page sizes.")
("tcl" ,tcl)))
(arguments
`(#:phases
(alist-cons-after
'configure 'patch-config-files
(lambda _
(substitute* "base/all-arch.mak"
(("/bin/sh") (which "bash")))
(substitute* "base/unixhead.mak"
(("/bin/sh") (which "bash"))))
(alist-cons-after
'build 'build-so
(lambda _ (system* "make" "so"))
(alist-cons-after
'install 'install-so
(lambda _ (system* "make" "install-so"))
%standard-phases)))))
(modify-phases %standard-phases
(add-after 'configure 'patch-config-files
(lambda _
(substitute* "base/all-arch.mak"
(("/bin/sh") (which "bash")))
(substitute* "base/unixhead.mak"
(("/bin/sh") (which "bash")))))
(add-after 'build 'build-so
(lambda _
(zero? (system* "make" "so"))))
(add-after 'install 'install-so
(lambda _
(zero? (system* "make" "install-so")))))))
(synopsis "PostScript and PDF interpreter")
(description
"Ghostscript is an interpreter for the PostScript language and the PDF

View file

@ -32,6 +32,7 @@
#:use-module (gnu packages compression)
#:use-module (gnu packages xml)
#:use-module (gnu packages photo)
#:use-module (gnu packages python)
#:use-module (gnu packages xorg)
#:use-module (gnu packages imagemagick))
@ -127,10 +128,6 @@ buffers.")
(base32
"0bdj0l7a94jqhjnj40m9rqaf622wj905iximivb55iy98639aanq"))))
(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)
@ -141,6 +138,8 @@ buffers.")
("exif" ,libexif) ;optional, EXIF + XMP support
("lcms" ,lcms) ;optional, color management
("librsvg" ,librsvg) ;optional, SVG support
("python" ,python-2) ;optional, Python support
("python2-pygtk" ,python2-pygtk) ;optional, Python support
("gegl" ,gegl)))
(native-inputs
`(("pkg-config" ,pkg-config)

View file

@ -1,8 +1,8 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2013, 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2013 Joshua Grant <tadni@riseup.net>
;;; Copyright © 2014 David Thompson <davet@gnu.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.
;;;
@ -21,11 +21,13 @@
(define-module (gnu packages gl)
#:use-module (ice-9 match)
#:use-module (guix build utils)
#:use-module ((guix licenses) #:prefix l:)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu)
#:use-module (guix packages)
#:use-module (guix utils)
#:use-module (gnu packages autotools)
#:use-module (gnu packages bison)
#:use-module (gnu packages flex)
@ -37,7 +39,9 @@
#:use-module (gnu packages xml)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages guile)
#:use-module (gnu packages xdisorg))
#:use-module (gnu packages video)
#:use-module (gnu packages xdisorg)
#:use-module (gnu packages zip))
(define-public glu
(package
@ -50,7 +54,8 @@
(sha256
(base32 "0r72yyhj09x3krn3kn629jqbwyq50ji8w5ri2pn6zwrk35m4g1s3"))))
(build-system gnu-build-system)
(inputs `(("mesa" ,mesa)))
(propagated-inputs
`(("mesa" ,mesa))) ; according to glu.pc
(home-page "http://www.opengl.org/archives/resources/faq/technical/glu.htm")
(synopsis "Mesa OpenGL Utility library")
(description
@ -84,7 +89,10 @@ as ASCII text.")
("libxxf86vm" ,libxxf86vm)
("inputproto" ,inputproto)
("xinput" ,xinput)))
(propagated-inputs `(("glu" ,glu)))
(propagated-inputs
;; Headers from Mesa and GLU are needed.
`(("glu" ,glu)
("mesa" ,mesa)))
(home-page "http://freeglut.sourceforge.net/")
(synopsis "Alternative to the OpenGL Utility Toolkit (GLUT)")
(description
@ -146,7 +154,7 @@ Polygon meshes, and Extruded polygon meshes")
(arguments
'(#:phases
(modify-phases %standard-phases
(add-after unpack autogen
(add-after 'unpack 'autogen
(lambda _
(zero? (system* "sh" "autogen.sh")))))))
(home-page "https://github.com/divVerent/s2tc")
@ -156,18 +164,35 @@ Polygon meshes, and Extruded polygon meshes")
also known as DXTn or DXTC) for Mesa.")
(license l:expat)))
;;; Mesa needs LibVA headers to build its Gallium-based VA API implementation;
;;; LibVA itself depends on Mesa. We use the following to solve the circular
;;; dependency.
(define libva-without-mesa
;; Delay to work around circular import problem.
(delay
(package
(inherit libva)
(name "libva-without-mesa")
(inputs (alist-delete "mesa" (package-inputs libva)))
(arguments
(strip-keyword-arguments
'(#:make-flags)
(substitute-keyword-arguments (package-arguments libva)
((#:configure-flags flags)
'(list "--disable-glx" "--disable-egl"))))))))
(define-public mesa
(package
(name "mesa")
(version "10.4.0")
(version "10.5.4")
(source
(origin
(method url-fetch)
(uri (string-append "ftp://ftp.freedesktop.org/pub/mesa/"
version "/MesaLib-" version ".tar.bz2"))
version "/mesa-" version ".tar.xz"))
(sha256
(base32
"069j4ck51hc70gryhw3z0rkyhhl0bnhbks4xg1wqqw56l7rxz9wq"))))
"00v89jna7m6r2w1yrnx09isc97r2bd1hkn4jib445n1078zp47mm"))))
(build-system gnu-build-system)
(propagated-inputs
`(("glproto" ,glproto)
@ -178,27 +203,25 @@ also known as DXTn or DXTC) for Mesa.")
("libxfixes" ,libxfixes)
("libxshmfence" ,libxshmfence)
("libxxf86vm" ,libxxf86vm)))
;; TODO: Add vdpau.
(inputs
`(("udev" ,eudev)
("dri2proto" ,dri2proto)
("dri3proto" ,dri3proto)
("presentproto" ,presentproto)
("expat" ,expat)
("libva" ,(force libva-without-mesa))
("libxml2" ,libxml2)
;; TODO: Add 'libva'
;; TODO: Add 'libxml2-python' for OpenGL ES 1.1 and 2.0 support
("libxvmc" ,libxvmc)
("makedepend" ,makedepend)
("s2tc" ,s2tc)))
(native-inputs
`(("pkg-config" ,pkg-config)
("gettext" ,gnu-gettext)
("flex" ,flex)
("bison" ,bison)
("python" ,python-2))) ; incompatible with Python 3 (print syntax)
`(("pkg-config" ,pkg-config)))
(arguments
`(#:configure-flags
'(;; drop r300 from default gallium drivers, as it requires llvm
"--with-gallium-drivers=r600,svga,swrast"
"--with-gallium-drivers=r600,svga,swrast,nouveau"
;; Enable various optional features. TODO: opencl requires libclc,
;; omx requires libomxil-bellagio
"--with-egl-platforms=x11,drm"
@ -216,51 +239,42 @@ also known as DXTn or DXTC) for Mesa.")
(_
'("--with-dri-drivers=nouveau,r200,radeon,swrast"))))
#:phases (alist-cons-after
'unpack 'add-missing-m4-files
'unpack 'patch-create_test_cases
(lambda _
;; When these files are missing, make tries to rebuild
;; several parts of the build system.
(zero? (system* "touch" "--date=@0"
"m4/libtool.m4" "m4/ltoptions.m4"
"m4/ltsugar.m4" "m4/ltversion.m4"
"m4/lt~obsolete.m4")))
(alist-cons-after
'unpack 'patch-create_test_cases
(lambda _
(substitute* "src/glsl/tests/lower_jumps/create_test_cases.py"
(("/usr/bin/env bash") (which "bash"))))
(alist-cons-before
'build 'fix-dlopen-libnames
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((s2tc (assoc-ref inputs "s2tc"))
(udev (assoc-ref inputs "udev"))
(out (assoc-ref outputs "out")))
;; Remain agnostic to .so.X.Y.Z versions while doing
;; the substitutions so we're future-safe.
(substitute*
'("src/gallium/auxiliary/util/u_format_s3tc.c"
"src/mesa/main/texcompress_s3tc.c")
(("\"libtxc_dxtn\\.so")
(string-append "\"" s2tc "/lib/libtxc_dxtn.so")))
(substitute* "src/gallium/targets/egl-static/egl_st.c"
(("\"libglapi\"")
(string-append "\"" out "/lib/libglapi\"")))
(substitute* "src/loader/loader.c"
(("dlopen\\(\"libudev\\.so")
(string-append "dlopen(\"" udev "/lib/libudev.so")))
(substitute* "src/glx/dri_common.c"
(("dlopen\\(\"libGL\\.so")
(string-append "dlopen(\"" out "/lib/libGL.so")))
(substitute* "src/egl/drivers/dri2/egl_dri2.c"
(("\"libglapi\\.so")
(string-append "\"" out "/lib/libglapi.so")))
(substitute* "src/gbm/main/backend.c"
;; No need to patch the gbm_gallium_drm.so reference;
;; it's never installed since Mesa removed its
;; egl_gallium support.
(("\"gbm_dri\\.so")
(string-append "\"" out "/lib/dri/gbm_dri.so")))))
%standard-phases)))))
(substitute* "src/glsl/tests/lower_jumps/create_test_cases.py"
(("/usr/bin/env bash") (which "bash"))))
(alist-cons-before
'build 'fix-dlopen-libnames
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((s2tc (assoc-ref inputs "s2tc"))
(udev (assoc-ref inputs "udev"))
(out (assoc-ref outputs "out")))
;; Remain agnostic to .so.X.Y.Z versions while doing
;; the substitutions so we're future-safe.
(substitute*
'("src/gallium/auxiliary/util/u_format_s3tc.c"
"src/mesa/main/texcompress_s3tc.c")
(("\"libtxc_dxtn\\.so")
(string-append "\"" s2tc "/lib/libtxc_dxtn.so")))
(substitute* "src/gallium/targets/egl-static/egl_st.c"
(("\"libglapi\"")
(string-append "\"" out "/lib/libglapi\"")))
(substitute* "src/loader/loader.c"
(("dlopen\\(\"libudev\\.so")
(string-append "dlopen(\"" udev "/lib/libudev.so")))
(substitute* "src/glx/dri_common.c"
(("dlopen\\(\"libGL\\.so")
(string-append "dlopen(\"" out "/lib/libGL.so")))
(substitute* "src/egl/drivers/dri2/egl_dri2.c"
(("\"libglapi\\.so")
(string-append "\"" out "/lib/libglapi.so")))
(substitute* "src/gbm/main/backend.c"
;; No need to patch the gbm_gallium_drm.so reference;
;; it's never installed since Mesa removed its
;; egl_gallium support.
(("\"gbm_dri\\.so")
(string-append "\"" out "/lib/dri/gbm_dri.so")))))
%standard-phases))))
(home-page "http://mesa3d.org/")
(synopsis "OpenGL implementation")
(description "Mesa is a free implementation of the OpenGL specification -
@ -279,10 +293,10 @@ emulation to complete hardware acceleration for modern GPUs.")
(arguments
'(#:phases
(modify-phases %standard-phases
(delete configure)
(delete build)
(delete check)
(replace install
(delete 'configure)
(delete 'build)
(delete 'check)
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(copy-recursively "include" (string-append
(assoc-ref outputs "out")
@ -315,7 +329,7 @@ emulation to complete hardware acceleration for modern GPUs.")
'(#:phases
(modify-phases %standard-phases
(replace
install
'install
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(mkdir-p (string-append out "/bin"))
@ -415,3 +429,102 @@ extension functionality is exposed in a single header file.")
"Guile-OpenGL is a library for Guile that provides bindings to the
OpenGL graphics API.")
(license l:lgpl3+)))
(define-public libepoxy
(package
(name "libepoxy")
(version "1.2")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/anholt/libepoxy/archive/v"
version
".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"1xp8g6b7xlbym2rj4vkbl6xpb7ijq7glpv656mc7k9b01x22ihs2"))))
(arguments
`(#:phases
(alist-cons-after
'unpack 'autoreconf
(lambda _
(zero? (system* "autoreconf" "-vif")))
(alist-cons-before
'configure 'patch-paths
(lambda* (#:key inputs #:allow-other-keys)
(let ((python (assoc-ref inputs "python"))
(mesa (assoc-ref inputs "mesa")))
(substitute* "src/gen_dispatch.py"
(("/usr/bin/env python") python))
(substitute* (find-files "." "\\.[ch]$")
(("libGL.so.1") (string-append mesa "/lib/libGL.so.1"))
(("libEGL.so.1") (string-append mesa "/lib/libEGL.so.1")))
;; XXX On armhf systems, we must add "GLIBC_2.4" to the list of
;; versions in test/dlwrap.c:dlwrap_real_dlsym. It would be
;; better to make this a normal patch, but for now we do it here
;; to prevent rebuilding on other platforms.
,@(if (string-prefix? "arm" (or (%current-target-system)
(%current-system)))
'((substitute* '"test/dlwrap.c"
(("\"GLIBC_2\\.0\"") "\"GLIBC_2.0\", \"GLIBC_2.4\"")))
'())
#t))
%standard-phases))))
(build-system gnu-build-system)
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
("libtool" ,libtool)
("pkg-config" ,pkg-config)
("python" ,python)))
(inputs
`(("mesa" ,mesa)))
(home-page "http://github.com/anholt/libepoxy/")
(synopsis "A library for handling OpenGL function pointer management")
(description
"A library for handling OpenGL function pointer management.")
(license l:x11)))
(define-public soil
(package
(name "soil")
(version "1.0.7")
(source (origin
(method url-fetch)
;; No versioned archive available.
(uri "http://www.lonesock.net/files/soil.zip")
(sha256
(base32
"00gpwp9dldzhsdhksjvmbhsd2ialraqbv6v6dpikdmpncj6mnc52"))))
(build-system gnu-build-system)
(arguments
'(#:tests? #f ; no tests
#:phases (modify-phases %standard-phases
(delete 'configure)
(add-before 'build 'init-build
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(setenv "CFLAGS" "-fPIC") ; needed for shared library
;; Use alternate Makefile
(copy-file "projects/makefile/alternate Makefile.txt"
"src/Makefile")
(chdir "src")
(substitute* '("Makefile")
(("INCLUDEDIR = /usr/include/SOIL")
(string-append "INCLUDEDIR = " out "/include/SOIL"))
(("LIBDIR = /usr/lib")
(string-append "LIBDIR = " out "/lib"))
;; Remove these flags from 'install' commands.
(("-o root -g root") ""))))))))
(native-inputs
`(("unzip" ,unzip)))
(inputs
`(("mesa" ,mesa)))
(home-page "http://www.lonesock.net/soil.html")
(synopsis "OpenGL texture loading library")
(description
"SOIL is a tiny C library used primarily for uploading textures into
OpenGL.")
(license l:public-domain)))

View file

@ -2,7 +2,7 @@
;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013, 2015 Andreas Enge <andreas@enge.fr>
;;; 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.
;;;
@ -57,7 +57,7 @@
(define dbus
(package
(name "dbus")
(version "1.8.12")
(version "1.8.16")
(source (origin
(method url-fetch)
(uri
@ -65,7 +65,7 @@
version ".tar.gz"))
(sha256
(base32
"07jhcalg00i2rx5zrgk73rg0vm7lzi5q5z2gscrbl999ipr2h569"))
"01rba8mp8kqvmy6ibdmi806kjr3m14swnskqk02gyhykxxl54ybz"))
(patches (list (search-patch "dbus-localstatedir.patch")))))
(build-system gnu-build-system)
(arguments
@ -119,7 +119,7 @@ shared NFS home directories.")
(define glib
(package
(name "glib")
(version "2.42.1")
(version "2.44.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/"
@ -127,7 +127,7 @@ shared NFS home directories.")
name "-" version ".tar.xz"))
(sha256
(base32
"16pqvikrps1fvwwqvk0qi4a13mfg7gw6w5qfhk7bhi8f51jhhgwg"))
"1fgmjv3yzxgbks31h42201x2izpw0sd84h8dfw0si3x00sqn5lzj"))
(patches (list (search-patch "glib-tests-homedir.patch")
(search-patch "glib-tests-desktop.patch")
(search-patch "glib-tests-prlimit.patch")
@ -176,7 +176,7 @@ shared NFS home directories.")
;; Note: `--docdir' and `--htmldir' are not honored, so work around it.
#:configure-flags (list (string-append "--with-html-dir="
(assoc-ref %outputs "doc")
"/share/gtk-doc"))
"/share/gtk-doc/html"))
;; In 'gio/tests', 'gdbus-test-codegen-generated.h' is #included in a
;; file that gets compiled possibly before it has been fully generated.
@ -189,7 +189,11 @@ shared NFS home directories.")
;; by 'glib-compile-schemas'.
(list (search-path-specification
(variable "XDG_DATA_DIRS")
(files '("share")))))
(files '("share")))
;; To load extra gio modules from glib-networking, etc.
(search-path-specification
(variable "GIO_EXTRA_MODULES")
(files '("lib/gio/modules")))))
(search-paths native-search-paths)
(synopsis "Thread-safe general utility library; basis of GTK+ and GNOME")
@ -203,14 +207,14 @@ dynamic loading, and an object system.")
(define gobject-introspection
(package
(name "gobject-introspection")
(version "1.42.0")
(version "1.44.0")
(source (origin
(method url-fetch)
(uri (string-append "http://ftp.gnome.org/pub/GNOME/sources/"
(uri (string-append "mirror://gnome/sources/"
"gobject-introspection/" (version-major+minor version)
"/gobject-introspection-" version ".tar.xz"))
(sha256
(base32 "1xwm7wmr9r9wp6xljb3bckx3a4siybavaq39w46ly7gpskxfv8iv"))
(base32 "1b972qg2yb51sdavfvb6kc19akwc15c1bwnbg81vadxamql2q33g"))
(patches (list
(search-patch "gobject-introspection-cc.patch")
(search-patch
@ -239,14 +243,7 @@ dynamic loading, and an object system.")
(arguments
`(;; The patch 'gobject-introspection-absolute-shlib-path.patch' causes
;; some tests to fail.
#:tests? #f
#:phases
(alist-cons-before
'configure 'patch-paths
(lambda _
(substitute* "giscanner/sourcescanner.py"
(("GUIX_GCC_PATH") (which "gcc"))))
%standard-phases)))
#:tests? #f))
(home-page "https://wiki.gnome.org/GObjectIntrospection")
(synopsis "Generate interface introspection data for GObject libraries")
(description
@ -309,14 +306,14 @@ The intltool collection can be used to do these things:
(define itstool
(package
(name "itstool")
(version "1.2.0")
(version "2.0.2")
(source (origin
(method url-fetch)
(uri (string-append "http://files.itstool.org/itstool/itstool-"
version ".tar.bz2"))
(sha256
(base32
"1akq75aflihm3y7js8biy7b5mw2g11vl8yq90gydnwlwp0zxdzj6"))))
"0fh34wi52i0qikgvlmrcpf1vx6gc1xqdad4539l4d9hikfsrz45z"))))
(build-system gnu-build-system)
(propagated-inputs
`(("libxml2" ,libxml2)
@ -346,7 +343,7 @@ translated.")
(define dbus-glib
(package
(name "dbus-glib")
(version "0.102")
(version "0.104")
(source (origin
(method url-fetch)
(uri
@ -354,7 +351,7 @@ translated.")
version ".tar.gz"))
(sha256
(base32
"177j5p2vrvpmzk2xrrj6akn73kvpbvnmsjvlmca9l55qbdcfsr39"))))
"1xi1v1msz75qs0s4lkyf1psrksdppa3hwkg0mznc6gpw5flg3hdz"))))
(build-system gnu-build-system)
(inputs
`(("dbus" ,dbus)
@ -373,14 +370,15 @@ by GDBus included in Glib.")
(define libsigc++
(package
(name "libsigc++")
(version "2.3.1")
(version "2.4.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/libsigc++/2.3/libsigc++-"
version ".tar.xz"))
(uri (string-append "mirror://gnome/sources/libsigc++/"
(version-major+minor version) "/"
name "-" version ".tar.xz"))
(sha256
(base32
"14q3sq6d43f6wfcmwhw4v1aal4ba0h5x9v6wkxy2dnqznd95il37"))))
"1v0rvkzglzmf67y9nkcppwjwi68j1cy5yhldvcq7xrv8594l612l"))))
(build-system gnu-build-system)
(native-inputs `(("pkg-config" ,pkg-config)
("m4" ,m4)))
@ -399,7 +397,7 @@ has an ease of use unmatched by other C++ callback libraries.")
(define glibmm
(package
(name "glibmm")
(version "2.42.0")
(version "2.44.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/glibmm/"
@ -407,7 +405,7 @@ has an ease of use unmatched by other C++ callback libraries.")
"/glibmm-" version ".tar.xz"))
(sha256
(base32
"15rk3az8jh3rdwlc3lxjljbnh60drj3ka9574zd39lkqfgcq6l4q"))))
"1a1fczy7hcpn24fglyn4i79f4yjc8s50is70q03mb294bm1c02hv"))))
(build-system gnu-build-system)
(arguments
`(#:phases (alist-cons-before
@ -481,8 +479,7 @@ useful for C++.")
(define-public python-pygobject
(package
(name "python-pygobject")
(version "3.12.2") ;last version that works with
;gobject-introspection 1.38
(version "3.16.1")
(source
(origin
(method url-fetch)
@ -491,8 +488,7 @@ useful for C++.")
"/pygobject-" version ".tar.xz"))
(sha256
(base32
"08m5yad1hjdax4g39w6lgjk4124mcwpa8fc5iyvb8nygk8s3syky"))))
;; 3.14.0: 0m1d75iwxa6k1xbkn6c6yq5r10pxnf7i5c2a5yvwsnab7ylzz7kp
"1hqyma73w0lnjcgx68kawhnq84aq92xlkdqphrlc2ppia38dm5kx"))))
(build-system gnu-build-system)
(native-inputs
`(("which" ,which)
@ -545,14 +541,6 @@ useful for C++.")
(base32
"1symyzbjmxvksn2ifdkk50lafjm2llf2sbmky062gq2pz3cg23cy"))))
(build-system gnu-build-system)
(arguments
'(#:phases (alist-cons-before
'build 'set-cc
(lambda _
;; Set $CC so that g-ir-scanner works.
(setenv "CC" "gcc")
#t)
%standard-phases)))
(native-inputs
`(("glib" ,glib "bin") ; uses glib-mkenums
("pkg-config" ,pkg-config)

File diff suppressed because it is too large Load diff

72
gnu/packages/gnucash.scm Normal file
View file

@ -0,0 +1,72 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages gnucash)
#: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 gnome)
#:use-module (gnu packages glib)
#:use-module (gnu packages gtk)
#:use-module (gnu packages guile)
#:use-module (gnu packages icu4c)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages webkit)
#:use-module (gnu packages xml))
(define-public gnucash
(package
(name "gnucash")
(version "2.6.6")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/gnucash/gnucash-"
version ".tar.bz2"))
(sha256
(base32
"103ir5qg6k8m2mmg9b99c3gn8myxh1gsqyr0mfhmrhqya68wfdr3"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ;FIXME: failing at /qof/gnc-date/qof print date dmy buff
#:configure-flags '("--disable-dbi")))
(inputs
`(("guile" ,guile-2.0)
("icu4c" ,icu4c)
("glib" ,glib)
("gtk" ,gtk+-2)
("goffice" ,goffice-0.8)
("libgnomecanvas" ,libgnomecanvas)
("libxml2" ,libxml2)
("libxslt" ,libxslt)
("webkitgtk" ,webkitgtk-2.4)))
(native-inputs
`(("glib" ,glib "bin") ; glib-compile-schemas, etc.
("intltool" ,intltool)
("pkg-config" ,pkg-config)))
(home-page "https://gnu.org/software/gnucash")
(synopsis "Personal and small business financial accounting software")
(description
"GnuCash is personal and professional financial-accounting software.
It can be used to track bank accounts, stocks, income and expenses, based on
the double-entry accounting practice. It includes support for QIF/OFX/HBCI
import and transaction matching. It also automates several tasks, such as
financial calculations or scheduled transactions.")
(license gpl3+)))

View file

@ -112,14 +112,14 @@ tool to extract metadata from a file and print the results.")
(define-public libmicrohttpd
(package
(name "libmicrohttpd")
(version "0.9.39")
(version "0.9.40")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/libmicrohttpd/libmicrohttpd-"
version ".tar.gz"))
(sha256
(base32
"0wz3sw62z3wsqivrssh0xb3yn064ix5x5cc6prvdfrn3cmh7p4sg"))))
"19mpqwjb3g4bsh1rzcvmka380kmg7sz5dwfr5cwdh2k9m134sga0"))))
(build-system gnu-build-system)
(inputs
`(("curl" ,curl)

View file

@ -190,14 +190,14 @@ compatible to GNU Pth.")
(define-public gnupg
(package
(name "gnupg")
(version "2.1.2")
(version "2.1.4")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnupg/gnupg/gnupg-" version
".tar.bz2"))
(sha256
(base32
"14k7c5spai3yppz6izf1ggbnffskl54ln87v1wgy9pwism1mlks0"))))
"1c3c89b7ziknz6h1dnwmfjhgyy28g982rcncrhmhylb8v3npw4k4"))))
(build-system gnu-build-system)
(inputs
`(("bzip2" ,bzip2)
@ -286,7 +286,7 @@ libskba (working with X.509 certificates and CMS data).")
(define-public gpgme
(package
(name "gpgme")
(version "1.5.3")
(version "1.5.4")
(source
(origin
(method url-fetch)
@ -294,13 +294,13 @@ libskba (working with X.509 certificates and CMS data).")
".tar.bz2"))
(sha256
(base32
"1jgwmra6cf0i5x2prj92w77vl7hmj276qmmll3lwysbyn32l1c0d"))))
"0v7azxazsfakvhrxzj5ysvcxma0892c89d27c17fkj8mi3nc0f5v"))))
(build-system gnu-build-system)
(propagated-inputs
;; Needs to be propagated because gpgme.h includes gpg-error.h.
`(("libgpg-error" ,libgpg-error)))
(inputs
`(("gnupg" ,gnupg)
`(("gnupg" ,gnupg-2.0)
("libassuan" ,libassuan)))
(arguments '(#:make-flags '("GPG=gpg2")))
(home-page "http://www.gnupg.org/related_software/gpgme/")
@ -434,7 +434,7 @@ PGP keysigning parties.")
including tools for signing keys, keyring analysis, and party preparation.
* caff: CA - Fire and Forget signs and mails a key
* pgp-clean: removes all non-self signatures from key
* pgp-fixkey: removes broken packets from keys

View file

@ -29,6 +29,7 @@
#:use-module (gnu packages)
#:use-module (gnu packages guile)
#:use-module (gnu packages libffi)
#:use-module (gnu packages libidn)
#:use-module (gnu packages nettle)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
@ -38,7 +39,7 @@
(define-public libtasn1
(package
(name "libtasn1")
(version "4.2")
(version "4.5")
(source
(origin
(method url-fetch)
@ -46,7 +47,7 @@
version ".tar.gz"))
(sha256
(base32
"1fydwh5hlnmprdzmzn4kiqb939br59qv1001k7ah5b626v5l2fv9"))))
"1nhvnznhg2aqfrfjxc8v008hjlzkh5831jsfahqk89qrw7fbbcw9"))))
(build-system gnu-build-system)
(native-inputs `(("perl" ,perl)
@ -65,7 +66,7 @@ specifications.")
(define-public p11-kit
(package
(name "p11-kit")
(version "0.22.1")
(version "0.23.1")
(source
(origin
(method url-fetch)
@ -73,7 +74,7 @@ specifications.")
version ".tar.gz"))
(sha256
(base32
"0p4sadq2c70jdm7b5a5xw8mk2mqy36krpxr3ihnf783arygk6fpg"))
"1i3a1wdpagm0p3y1bwaz5x5rjhcpqbcrnhkcp10p259vkxk72wz5"))
(modules '((guix build utils))) ; for substitute*
(snippet
'(begin
@ -103,7 +104,7 @@ living in the same process.")
(define-public gnutls
(package
(name "gnutls")
(version "3.3.12")
(version "3.4.0")
(source (origin
(method url-fetch)
(uri
@ -114,7 +115,9 @@ living in the same process.")
"/gnutls-" version ".tar.xz"))
(sha256
(base32
"16r96bzsfqx1rlqrkggmhhx6zbxj1fmc3mwpp0ik73ylqn93xav7"))))
"0bj7ydvsyvml59b6040wg7694iz37rwnqnv09bic9ddz652588ml"))
(patches
(list (search-patch "gnutls-fix-duplicate-manpages.patch")))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags
@ -130,7 +133,12 @@ living in the same process.")
;; store is used, so each program has to provide its own
;; fallback, and users have to configure each program
;; independently. This seems suboptimal.
"--with-default-trust-store-dir=/etc/ssl/certs")))
"--with-default-trust-store-dir=/etc/ssl/certs"
;; FIXME: Temporarily disable p11-kit support since it is not
;; working on mips64el.
"--without-p11-kit")))
(outputs '("out" "debug"))
(native-inputs
`(("pkg-config" ,pkg-config)
("which" ,which)))
@ -140,6 +148,7 @@ living in the same process.")
(propagated-inputs
;; These are all in the 'Requires.private' field of gnutls.pc.
`(("libtasn1" ,libtasn1)
("libidn" ,libidn)
("nettle" ,nettle)
("zlib" ,zlib)))
(home-page "http://www.gnu.org/software/gnutls/")

View file

@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2013, 2014 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
;;;
@ -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)
@ -102,15 +103,16 @@ in C/C++.")
(native-inputs
`(("perl", perl)))
(arguments
`(#:tests? #f ; no check target
#:configure-flags
`("--enable-64bit")
#:phases
(alist-cons-before
'configure 'chdir
(lambda _
(chdir "nspr"))
%standard-phases)))
`(#:tests? #f ; no check target
#:configure-flags (list "--enable-64bit"
(string-append "LDFLAGS=-Wl,-rpath="
(assoc-ref %outputs "out")
"/lib"))
#:phases (alist-cons-before
'configure 'chdir
(lambda _
(chdir "nspr"))
%standard-phases)))
(home-page
"https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSPR")
(synopsis "Netscape API for system level and libc-like functions")
@ -122,15 +124,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)
@ -153,8 +158,6 @@ in the Mozilla clients.")
(ice-9 ftw)
(ice-9 match)
(srfi srfi-26))
#:imported-modules ((guix build gnu-build-system)
(guix build utils))
#:phases
(alist-replace
'configure
@ -216,15 +219,27 @@ 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"))))
"1a4l23msg4cpc4yp59q2z6xv63r6advlbnjy65v4djv6yhgnqf1i"))
(patches (map search-patch '("icecat-CVE-2015-0797.patch"
"icecat-CVE-2015-2708-pt1.patch"
"icecat-CVE-2015-2708-pt2.patch"
"icecat-CVE-2015-2708-pt3.patch"
"icecat-CVE-2015-2708-pt4.patch"
"icecat-CVE-2015-2710-pt1.patch"
"icecat-CVE-2015-2710-pt2.patch"
"icecat-CVE-2015-2710-pt3.patch"
"icecat-CVE-2015-2713-pt1.patch"
"icecat-CVE-2015-2713-pt2.patch"
"icecat-CVE-2015-2716.patch")))))
(build-system gnu-build-system)
(inputs
`(("alsa-lib" ,alsa-lib)
@ -249,6 +264,7 @@ standards.")
("mesa" ,mesa)
("nspr" ,nspr)
("nss" ,nss)
("sqlite" ,sqlite)
("unzip" ,unzip)
("yasm" ,yasm)
("zip" ,zip)
@ -262,6 +278,13 @@ standards.")
`(#:tests? #f ; no check target
#:out-of-source? #t ; must be built outside of the source directory
;; XXX: There are RUNPATH issues such as
;; $prefix/lib/icecat-31.6.0/plugin-container NEEDing libmozalloc.so,
;; which is not in its RUNPATH, but they appear to be harmless in
;; practice somehow. See <http://hydra.gnu.org/build/378133>.
#:validate-runpath? #f
#:configure-flags '(;; Building with debugging symbols takes ~5GiB, so
;; disable it.
"--disable-debug"
@ -280,11 +303,7 @@ standards.")
"--enable-system-pixman"
"--enable-system-cairo"
"--enable-system-ffi"
;; Fails with "configure: error: System
;; SQLite library is not compiled with
;; SQLITE_ENABLE_UNLOCK_NOTIFY."
;; "--enable-system-sqlite"
"--enable-system-sqlite"
;; Fails with "--with-system-png won't work because
;; the system's libpng doesn't have APNG support".

View file

@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015 Tomáš Čech <sleep_walker@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -180,14 +181,14 @@ output.")
(build-system gnu-build-system)
(arguments
`(#:phases (modify-phases %standard-phases
(replace configure
(replace 'configure
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(chdir "trunk")
(zero? (system* "qmake"
(string-append
"prefix=" out))))))
(add-after install wrap-program
(add-after 'install 'wrap-program
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin"))

View file

@ -20,25 +20,30 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages gstreamer)
#:use-module ((guix licenses) #:select (lgpl2.0+ bsd-2 bsd-3))
#:use-module ((guix licenses) #:select (lgpl2.0+ bsd-2 bsd-3 gpl2+))
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu)
#:use-module (gnu packages)
#:use-module (gnu packages audio)
#:use-module (gnu packages bison)
#:use-module (gnu packages cdrom)
#:use-module (gnu packages compression)
#:use-module (gnu packages flex)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
#:use-module (gnu packages gtk)
#:use-module (gnu packages image)
#:use-module (gnu packages linux)
#:use-module (gnu packages mp3)
#:use-module (gnu packages perl)
#:use-module (gnu packages pulseaudio)
#:use-module (gnu packages video)
#:use-module (gnu packages xorg)
#:use-module (gnu packages xiph)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages yasm)
#:use-module (gnu packages xml))
(define-public orc
@ -88,11 +93,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)))
@ -111,32 +124,6 @@ simple plugin with a clean, generic interface.
This package provides the core library and elements.")
(license lgpl2.0+)))
(define-public gstreamer-0.10
(package (inherit gstreamer)
(version "0.10.36")
(source
(origin
(method url-fetch)
(uri (string-append "http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-"
version ".tar.xz"))
(sha256
(base32
"1nkid1n2l3rrlmq5qrf5yy06grrkwjh3yxl5g0w58w0pih8allci"))
(patches
(list (search-patch "gstreamer-0.10-bison3.patch")
(search-patch "gstreamer-0.10-silly-test.patch")))))
(propagated-inputs
`(("libxml2" ,libxml2)))
(inputs `(("glib" ,glib)))
(native-inputs
`(("bison" ,bison)
("flex" ,flex)
("perl" ,perl)
("pkg-config" ,pkg-config)
("glib" ,glib "bin")
("python" ,python-2)))))
(define-public gst-plugins-base
(package
(name "gst-plugins-base")
@ -150,6 +137,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,20 +151,30 @@ 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)))
(native-search-paths
(list (search-path-specification
(variable "GST_PLUGIN_SYSTEM_PATH")
(files '("lib/gstreamer-1.0")))))
(home-page "http://gstreamer.freedesktop.org/")
(synopsis
"Plugins for the GStreamer multimedia library")
@ -198,30 +198,30 @@ for the GStreamer multimedia library.")
"0hg6qzdpib9nwn3hdxv0d4rvivi1c4bmxsq2a9hqmamwyzrvbcbr"))))
(build-system gnu-build-system)
(inputs
`(("glib" ,glib)
`(("aalib" ,aalib)
("cairo" ,cairo)
("gdk-pixbuf" ,gdk-pixbuf)
("flac" ,flac)
("speex" ,speex)
("libogg" ,libogg) ;; should be a propagated input of the above
("libx11" ,libx11)
("zlib" ,zlib)
("libpng" ,libpng)
("gdk-pixbuf" ,gdk-pixbuf)
("gst-plugins-base" ,gst-plugins-base)
("jack" ,jack-2)
("libavc1394" ,libavc1394)
("libcaca" ,libcaca)
("libdv" ,libdv)
("libiec61883" ,libiec61883)
("libjpeg" ,libjpeg)
("libXext" ,libxext)
("libxv" ,libxv)
("libpng" ,libpng)
("libshout" ,libshout)
("libsoup" ,libsoup)
("libvpx" ,libvpx)
("orc" ,orc)
("pulseaudio" ,pulseaudio)
("gstreamer" ,gstreamer)))
("speex" ,speex)
("taglib" ,taglib)
("wavpack" ,wavpack)))
(native-inputs
`(("pkg-config" ,pkg-config)
("glib" ,glib "bin")
("gst-plugins-base" ,gst-plugins-base)
("python-wrapper" ,python-wrapper)))
(arguments
`(#:configure-flags (list "--disable-osx_audio"
"--disable-osx_video"
"--disable-directsound"
"--disable-waveform")))
`(("glib:bin" ,glib "bin")
("pkg-config" ,pkg-config)
("python-wrapper" ,python-wrapper)))
(home-page "http://gstreamer.freedesktop.org/")
(synopsis
"Plugins for the GStreamer multimedia library")
@ -230,22 +230,39 @@ GStreamer multimedia library. This set contains those plug-ins which the
developers consider to have good quality code and correct functionality.")
(license lgpl2.0+)))
(define-public gst-plugins-base-0.10
(package (inherit gst-plugins-base)
(version "0.10.36")
(source
(origin
(method url-fetch)
(uri (string-append
"http://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-"
version ".tar.xz"))
(sha256
(base32
"0jp6hjlra98cnkal4n6bdmr577q8mcyp3c08s3a02c4hjhw5rr0z"))))
(inputs
`(("glib" ,glib)
("gstreamer" ,gstreamer-0.10)))
(define-public gst-libav
(package
(name "gst-libav")
(version "1.4.5")
(source (origin
(method url-fetch)
(uri (string-append
"http://gstreamer.freedesktop.org/src/" name "/"
name "-" version ".tar.xz"))
(sha256
(base32
"1g7vg9amh3cc3nmc415h6g2rqxqi4wgwqi08hxfbpwq48ri64p30"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags '("--with-system-libav")
#:phases
(modify-phases %standard-phases
(add-before 'configure 'patch-/bin/sh
(lambda _
(substitute* "gst-libs/ext/libav/configure"
(("#! /bin/sh")
(string-append "#! "(which "sh")))))))))
(native-inputs
`(("pkg-config" ,pkg-config)
("glib" ,glib "bin")
("python" ,python-2)))))
`(("pkg-config" ,pkg-config)
("python" ,python)))
(inputs
`(("gst-plugins-base" ,gst-plugins-base)
("ffmpeg" ,ffmpeg)
("orc" ,orc)
("zlib" ,zlib)))
(home-page "http://gstreamer.freedesktop.org/")
(synopsis "Plugins for the GStreamer multimedia library")
(description
"This GStreamer plugin supports a large number of audio and video
compression formats through the use of the libav library.")
(license gpl2+)))

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.
;;;
@ -29,11 +30,13 @@
#:use-module (guix build-system gnu)
#:use-module (guix build-system python)
#:use-module (guix build-system waf)
#:use-module (gnu packages)
#:use-module (gnu packages check)
#:use-module (gnu packages gettext)
#:use-module (gnu packages compression)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages ghostscript)
#:use-module (gnu packages gl)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
#:use-module (gnu packages icu4c)
@ -51,7 +54,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 "/"
@ -59,9 +62,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.
@ -77,14 +86,14 @@ tools have full access to view and control running applications.")
(define-public cairo
(package
(name "cairo")
(version "1.12.18")
(version "1.14.2")
(source (origin
(method url-fetch)
(uri (string-append "http://cairographics.org/releases/cairo-"
version ".tar.xz"))
(sha256
(base32
"1dpmlxmmigpiyv0jchjsn2l1a29655x24g5073hy8p4lmjvz0nfw"))))
"1sycbq0agbwmg1bj9lhkgsf0glmblaf2jrdy9g6vxfxivncxj6f9"))))
(build-system gnu-build-system)
(propagated-inputs
`(("fontconfig" ,fontconfig)
@ -221,13 +230,21 @@ functions which were removed.")
(source (origin
(method url-fetch)
(uri (string-append "http://download.drobilla.net/ganv-"
version
".tar.bz2"))
version ".tar.bz2"))
(sha256
(base32
"0g7s5mp14qgbfjdql0k1s8464r21g47ssn5dws6jazsnw6njhl0l"))))
(build-system waf-build-system)
(arguments `(#:tests? #f)) ; no check target
(arguments
`(#:phases (alist-cons-before
'configure 'set-ldflags
(lambda* (#:key outputs #:allow-other-keys)
;; Allow 'bin/ganv_bench' to find libganv-1.so.
(setenv "LDFLAGS"
(string-append "-Wl,-rpath="
(assoc-ref outputs "out") "/lib")))
%standard-phases)
#:tests? #f)) ; no check target
(inputs
`(("gtk" ,gtk+-2)
("gtkmm" ,gtkmm-2)))
@ -332,7 +349,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 "/"
@ -340,18 +357,31 @@ 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.
'(#: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,
@ -362,7 +392,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 "/"
@ -370,17 +400,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
@ -391,7 +426,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 "/"
@ -399,20 +434,34 @@ 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
@ -433,7 +482,7 @@ application suites.")
(define-public gtk+
(package (inherit gtk+-2)
(name "gtk+")
(version "3.14.7")
(version "3.16.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@ -441,11 +490,12 @@ application suites.")
name "-" version ".tar.xz"))
(sha256
(base32
"0vm40n6nf0w3vv54wqy67jcxddka7hplksi093xim3119yq196gv"))))
"1yhwg2l72l3khfkprydcjlpxjrg11ccqfc80sjl56llz3jk66fd0"))))
(propagated-inputs
`(("at-spi2-atk" ,at-spi2-atk)
("atk" ,atk)
("gdk-pixbuf" ,gdk-pixbuf)
("libepoxy" ,libepoxy)
("libxi" ,libxi)
("libxinerama" ,libxinerama)
("libxdamage" ,libxdamage)
@ -456,25 +506,33 @@ application suites.")
(native-inputs
`(("perl" ,perl)
("glib" ,glib "bin")
("gettext" ,gnu-gettext)
("pkg-config" ,pkg-config)
("gobject-introspection" ,gobject-introspection)
("python-wrapper" ,python-wrapper)
("xorg-server" ,xorg-server)))
(arguments
`(#:phases
(alist-replace
'configure
(lambda* (#:key inputs #:allow-other-keys #:rest args)
(let ((configure (assoc-ref %standard-phases 'configure)))
;; Disable most tests, failing in the chroot with the message:
;; D-Bus library appears to be incorrectly set up; failed to read
;; machine uuid: Failed to open "/etc/machine-id": No such file or
;; directory.
;; See the manual page for dbus-uuidgen to correct this issue.
(substitute* "testsuite/Makefile.in"
(("SUBDIRS = gdk gtk a11y css reftests")
"SUBDIRS = gdk"))
(apply configure args)))
`(;; 47 MiB goes to "out" (24 of which is locale data!), and 26 MiB goes
;; to "doc".
#:configure-flags (list (string-append "--with-html-dir="
(assoc-ref %outputs "doc")
"/share/gtk-doc/html"))
#:phases
(alist-cons-before
'configure 'pre-configure
(lambda _
;; Disable most tests, failing in the chroot with the message:
;; D-Bus library appears to be incorrectly set up; failed to read
;; machine uuid: Failed to open "/etc/machine-id": No such file or
;; directory.
;; See the manual page for dbus-uuidgen to correct this issue.
(substitute* "testsuite/Makefile.in"
(("SUBDIRS = gdk gtk a11y css reftests")
"SUBDIRS = gdk"))
(substitute* '("demos/widget-factory/Makefile.in"
"demos/gtk-demo/Makefile.in")
(("gtk-update-icon-cache") "$(bindir)/gtk-update-icon-cache"))
#t)
%standard-phases)))))
;;;
@ -574,7 +632,7 @@ library.")
(define-public pangomm
(package
(name "pangomm")
(version "2.34.0")
(version "2.36.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@ -582,7 +640,7 @@ library.")
name "-" version ".tar.xz"))
(sha256
(base32
"0hcyvv7c5zmivprdam6cp111i6hn2y5jsxzk00m6j9pncbzvp0hf"))))
"1w11d05nkxglzg67rfa81vqghm75xhy6j396xmmp5mq8qx96knd8"))))
(build-system gnu-build-system)
(native-inputs `(("pkg-config" ,pkg-config)))
(propagated-inputs
@ -623,7 +681,7 @@ toolkit.")
(define-public gtkmm
(package
(name "gtkmm")
(version "3.14.0")
(version "3.16.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@ -631,7 +689,7 @@ toolkit.")
name "-" version ".tar.xz"))
(sha256
(base32
"12z4g2in82nk92nfjs2hmrdcwbav8v3laz1813x2dhkf5jk2ixfr"))))
"036xn22jkaf3akpid7w23b8vkqa3xxqz93mwacmyar5vw7slm3cv"))))
(build-system gnu-build-system)
(native-inputs `(("pkg-config" ,pkg-config)))
(propagated-inputs
@ -655,7 +713,7 @@ extensive documentation, including API reference and a tutorial.")
(define-public gtkmm-2
(package (inherit gtkmm)
(name "gtkmm")
(version "2.24.2")
(version "2.24.4")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@ -663,7 +721,7 @@ extensive documentation, including API reference and a tutorial.")
name "-" version ".tar.xz"))
(sha256
(base32
"0gcm91sc1a05c56kzh74l370ggj0zz8nmmjvjaaxgmhdq8lpl369"))))
"1vpmjqv0aqb1ds0xi6nigxnhlr0c74090xzi15b92amlzkrjyfj4"))))
(propagated-inputs
`(("pangomm" ,pangomm)
("cairomm" ,cairomm)
@ -682,29 +740,23 @@ extensive documentation, including API reference and a tutorial.")
version ".tar.bz2"))
(sha256
(base32
"1gjkf8x6hyx1skq3hhwcbvwifxvrf9qxis5vx8x5igmmgs70g94s"))))
(build-system python-build-system)
"1gjkf8x6hyx1skq3hhwcbvwifxvrf9qxis5vx8x5igmmgs70g94s"))
(patches (list (search-patch "pycairo-wscript.patch")))))
(build-system waf-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
`(("pkg-config" ,pkg-config)
("python-waf" ,python-waf)))
(propagated-inputs ;pycairo.pc references cairo
`(("cairo" ,cairo)))
(arguments
`(#:tests? #f
#:phases (alist-cons-before
'build 'configure
(lambda* (#:key outputs #:allow-other-keys)
(zero? (system* "./waf" "configure"
(string-append "--prefix="
(assoc-ref outputs "out")))))
(alist-replace
'build
(lambda _
(zero? (system* "./waf" "build")))
(alist-replace
'install
(lambda _
(zero? (system* "./waf" "install")))
%standard-phases)))))
#:phases
(modify-phases %standard-phases
(add-before
'configure 'patch-waf
(lambda* (#:key inputs #:allow-other-keys)
;; The bundled `waf' doesn't work with python-3.4.x.
(copy-file (assoc-ref %build-inputs "python-waf") "./waf"))))))
(home-page "http://cairographics.org/pycairo/")
(synopsis "Python bindings for cairo")
(description
@ -725,7 +777,11 @@ extensive documentation, including API reference and a tutorial.")
"0cblk919wh6w0pgb45zf48xwxykfif16qk264yga7h9fdkq3j16k"))))
(arguments
`(#:python ,python-2
,@(package-arguments python-pycairo)))
,@(substitute-keyword-arguments (package-arguments python-pycairo)
((#:phases phases)
`(alist-delete 'patch-waf ,phases))
((#:native-inputs native-inputs)
`(alist-delete "python-waf" ,native-inputs)))))
;; Dual-licensed under LGPL 2.1 or Mozilla Public License 1.1
(license (list license:lgpl2.1 license:mpl1.1))))
@ -788,7 +844,7 @@ write GNOME applications.")
(define-public girara
(package
(name "girara")
(version "0.2.3")
(version "0.2.4")
(source (origin
(method url-fetch)
(uri
@ -796,7 +852,7 @@ write GNOME applications.")
version ".tar.gz"))
(sha256
(base32
"1phfmqp8y17zcy9yi6pm2f80x8ldbk60iswpm4bmjz5217jwqzxh"))))
"0pnfdsg435b5vc4x8l9pgm77aj7ram1q0bzrp9g4a3bh1r64xq1f"))))
(native-inputs `(("pkg-config" ,pkg-config)
("gettext" ,gnu-gettext)))
(inputs `(("gtk+" ,gtk+)

View file

@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015 Christopher Allan Webber <cwebber@dustycloud.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -26,6 +27,7 @@
#:use-module (gnu packages gperf)
#:use-module (gnu packages libffi)
#:use-module (gnu packages autotools)
#:use-module (gnu packages flex)
#:use-module (gnu packages libunistring)
#:use-module (gnu packages m4)
#:use-module (gnu packages multiprecision)
@ -34,9 +36,13 @@
#:use-module (gnu packages ncurses)
#:use-module (gnu packages ed)
#:use-module (gnu packages base)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages gettext)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix build-system gnu)
#:use-module (guix build-system trivial)
#:use-module (guix utils)
#:use-module (ice-9 match))
@ -178,6 +184,42 @@ without requiring the source code to be rewritten.")
;; in the `base' module, and thus changing it entails a full rebuild.
guile-2.0)
(define-public guile-for-guile-emacs
(package (inherit guile-2.0)
(name "guile-for-guile-emacs")
(version "20150510.d8d9a8d")
(source (origin
(method git-fetch)
(uri (git-reference
(url "git://git.hcoop.net/git/bpt/guile.git")
(commit "d8d9a8da05ec876acba81a559798eb5eeceb5a17")))
(sha256
(base32
"00sprsshy16y8pxjy126hr2adqcvvzzz96hjyjwgg8swva1qh6b0"))))
(arguments
(substitute-keyword-arguments `(;; Tests aren't passing for now.
;; Obviously we should re-enable this!
#:tests? #f
,@(package-arguments guile-2.0))
((#:phases phases)
`(modify-phases ,phases
(add-after 'unpack 'autogen
(lambda _
(zero? (system* "sh" "autogen.sh"))))
(add-before 'autogen 'patch-/bin/sh
(lambda _
(substitute* "build-aux/git-version-gen"
(("#!/bin/sh") (string-append "#!" (which "sh"))))
#t))))))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
("libtool" ,libtool)
("flex" ,flex)
("texinfo" ,texinfo)
("gettext" ,gnu-gettext)
,@(package-native-inputs guile-2.0)))))
;;;
;;; Extensions.
@ -358,4 +400,79 @@ http:://json.org specification. These are the main features:
- Allows JSON pretty printing.")
(license lgpl3+)))
(define-public guile-minikanren
(package
(name "guile-minikanren")
(version "20150424.e844d85")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/ijp/minikanren.git")
(commit "e844d85512f8c055d3f96143ee506007389a25e3")))
(sha256
(base32
"0r50jlpzi940jlmxyy3ddqqwmj5r12gb4bcv0ssini9v8km13xz6"))))
(build-system trivial-build-system)
(arguments
`(#:modules
((guix build utils)
(ice-9 match))
#:builder
(begin
(use-modules (guix build utils)
(ice-9 match))
(let* ((out (assoc-ref %outputs "out"))
(module-dir (string-append out "/share/guile/site/2.0"))
(source (assoc-ref %build-inputs "source"))
(doc (string-append out "/share/doc"))
(scm-files '("minikanren.scm"
"minikanren/mkextraforms.scm"
"minikanren/mkprelude.scm"
"minikanren/mk.scm"))
(guild (string-append (assoc-ref %build-inputs "guile")
"/bin/guild")))
;; Make installation directories.
(mkdir-p (string-append module-dir "/minikanren"))
(mkdir-p doc)
;; Compile .scm files and install.
(chdir source)
(setenv "GUILE_AUTO_COMPILE" "0")
(for-each (lambda (file)
(let* ((dest-file (string-append module-dir "/"
file ".scm"))
(go-file (match (string-split file #\.)
((base _)
(string-append module-dir "/"
base ".go")))))
;; Install source module.
(copy-file file dest-file)
;; Install compiled module.
(unless (zero? (system* guild "compile"
"-L" source
"-o" go-file
file))
(error (format #f "Failed to compile ~s to ~s!"
file go-file)))))
scm-files)
;; Also copy over the README.
(copy-file "README.org" (string-append doc "/README.org"))
#t))))
(inputs
`(("guile" ,guile-2.0)))
(home-page "https://github.com/ijp/minikanren")
(synopsis "miniKanren declarative logic system, packaged for Guile")
(description
"MiniKanren is a relational programming extension to the Scheme
programming Language, written as a smaller version of Kanren suitable for
pedagogical purposes. It is featured in the book, The Reasoned Schemer,
written by Dan Friedman, William Byrd, and Oleg Kiselyov.
This is Ian Price's r6rs packaged version of miniKranen, which deviates
slightly from miniKanren mainline.
See http://minikanren.org/ for more on miniKanren generally.")
(license expat)))
;;; guile.scm ends here

View file

@ -18,12 +18,14 @@
(define-module (gnu packages haskell)
#:use-module (ice-9 regex)
#:use-module (guix licenses)
#:use-module ((guix licenses) #:select (bsd-3))
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix utils)
#:use-module (guix build-system gnu)
#:use-module (guix build-system haskell)
#:use-module (gnu packages perl)
#:use-module (gnu packages compression)
#:use-module (gnu packages elf)
#:use-module (gnu packages bootstrap)
#:use-module (gnu packages ghostscript)
@ -33,22 +35,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,19 +102,26 @@
("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
;; execution.
#:parallel-tests? #f
;; The DSOs use $ORIGIN to refer to each other, but (guix build
;; gremlin) doesn't support it yet, so skip this phase.
#:validate-runpath? #f
#:modules ((guix build gnu-build-system)
(guix build utils)
(guix build rpath)
(srfi srfi-26)
(srfi srfi-1))
#:imported-modules ((guix build gnu-build-system)
(guix build utils)
#:imported-modules (,@%gnu-build-system-modules
(guix build rpath))
#:configure-flags
(list
@ -221,4 +231,647 @@
interactive environment for the functional language Haskell.")
(license bsd-3)))
(define-public ghc-mtl
(package
(name "ghc-mtl")
(version "2.1.3.1")
(outputs '("out" "doc"))
(source
(origin
(method url-fetch)
(uri (string-append
"http://hackage.haskell.org/package/mtl/mtl-"
version
".tar.gz"))
(sha256
(base32
"1xpn2wjmqbh2cg1yssc6749xpgcqlrrg4iilwqgkcjgvaxlpdbvp"))))
(build-system haskell-build-system)
(home-page "http://github.com/ekmett/mtl")
(synopsis
"Monad classes, using functional dependencies")
(description
"Monad classes using functional dependencies, with instances
for various monad transformers, inspired by the paper
'Functional Programming with Overloading and Higher-Order Polymorphism',
by Mark P Jones, in 'Advanced School of Functional Programming', 1995
http://web.cecs.pdx.edu/~mpj/pubs/springschool.html.")
(license bsd-3)))
(define-public ghc-paths
(package
(name "ghc-paths")
(version "0.1.0.9")
(outputs '("out" "doc"))
(source
(origin
(method url-fetch)
(uri (string-append
"http://hackage.haskell.org/package/ghc-paths/ghc-paths-"
version
".tar.gz"))
(sha256
(base32
"0ibrr1dxa35xx20cpp8jzgfak1rdmy344dfwq4vlq013c6w8z9mg"))))
(build-system haskell-build-system)
(home-page "https://github.com/simonmar/ghc-paths")
(synopsis
"Knowledge of GHC's installation directories")
(description
"Knowledge of GHC's installation directories.")
(license bsd-3)))
(define-public ghc-zlib
(package
(name "ghc-zlib")
(version "0.5.4.2")
(outputs '("out" "doc"))
(source
(origin
(method url-fetch)
(uri (string-append
"http://hackage.haskell.org/package/zlib/zlib-"
version
".tar.gz"))
(sha256
(base32
"15hhsk7z3gvm7sz2ic2z1ca5c6rpsln2rr391mdbm1bxlzc1gmkm"))))
(build-system haskell-build-system)
(inputs `(("zlib" ,zlib)))
(home-page "http://hackage.haskell.org/package/zlib")
(synopsis
"Compression and decompression in the gzip and zlib formats")
(description
"This package provides a pure interface for compressing and decompressing
streams of data represented as lazy 'ByteString's. It uses the zlib C library
so it has high performance. It supports the 'zlib', 'gzip' and 'raw'
compression formats. It provides a convenient high level API suitable for
most tasks and for the few cases where more control is needed it provides
access to the full zlib feature set.")
(license bsd-3)))
(define-public ghc-stm
(package
(name "ghc-stm")
(version "2.4.4")
(outputs '("out" "doc"))
(source
(origin
(method url-fetch)
(uri (string-append
"http://hackage.haskell.org/package/stm/stm-"
version
".tar.gz"))
(sha256
(base32
"0gc8zvdijp3rwmidkpxv76b4i0dc8dw6nbd92rxl4vxl0655iysx"))))
(build-system haskell-build-system)
(home-page "http://hackage.haskell.org/package/stm")
(synopsis "Software Transactional Memory")
(description
"A modular composable concurrency abstraction.")
(license bsd-3)))
(define-public ghc-parallel
(package
(name "ghc-parallel")
(version "3.2.0.6")
(outputs '("out" "doc"))
(source
(origin
(method url-fetch)
(uri (string-append
"http://hackage.haskell.org/package/parallel/parallel-"
version
".tar.gz"))
(sha256
(base32
"0hp6vf4zxsw6vz6lj505xihmnfhgjp39c9q7nyzlgcmps3xx6a5r"))))
(build-system haskell-build-system)
(home-page "http://hackage.haskell.org/package/parallel")
(synopsis "Parallel programming library")
(description
"This package provides a library for parallel programming.")
(license bsd-3)))
(define-public ghc-text
(package
(name "ghc-text")
(version "1.2.0.4")
(outputs '("out" "doc"))
(source
(origin
(method url-fetch)
(uri (string-append
"http://hackage.haskell.org/package/text/text-"
version
".tar.gz"))
(sha256
(base32
"004p1c74crs8wmjafwsmw3mmycspq1j8fpm1lvfpq6acha7bnpc6"))))
(build-system haskell-build-system)
(arguments
`(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
(home-page "https://github.com/bos/text")
(synopsis "Efficient packed Unicode text type library")
(description
"An efficient packed, immutable Unicode text type (both strict and
lazy), with a powerful loop fusion optimization framework.
The 'Text' type represents Unicode character strings, in a time and
space-efficient manner. This package provides text processing
capabilities that are optimized for performance critical use, both
in terms of large data quantities and high speed.")
(license bsd-3)))
(define-public ghc-hashable
(package
(name "ghc-hashable")
(version "1.2.3.2")
(outputs '("out" "doc"))
(source
(origin
(method url-fetch)
(uri (string-append
"http://hackage.haskell.org/package/hashable/hashable-"
version
".tar.gz"))
(sha256
(base32
"0h9295pv2sgbaqlwpwbx2bap6nngm0jcdhkqham1wpjwyxqgqrlc"))))
(build-system haskell-build-system)
(arguments
`(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
;; these inputs are necessary to use this library
(propagated-inputs
`(("ghc-text" ,ghc-text)))
(home-page "http://github.com/tibbe/hashable")
(synopsis
"Class for types that can be converted to a hash value")
(description
"This package defines a class, 'Hashable', for types that can be
converted to a hash value. This class exists for the benefit of hashing-based
data structures. The package provides instances for basic types and a way to
combine hash values.")
(license bsd-3)))
(define-public ghc-hunit
(package
(name "ghc-hunit")
(version "1.2.5.2")
(outputs '("out" "doc"))
(source
(origin
(method url-fetch)
(uri (string-append
"http://hackage.haskell.org/package/HUnit/HUnit-"
version
".tar.gz"))
(sha256
(base32
"0hcs6qh8bqhip1kkjjnw7ccgcsmawdz5yvffjj5y8zd2vcsavx8a"))))
(build-system haskell-build-system)
(home-page "http://hunit.sourceforge.net/")
(synopsis "Unit testing framework for Haskell")
(description
"HUnit is a unit testing framework for Haskell, inspired by the
JUnit tool for Java.")
(license bsd-3)))
(define-public ghc-random
(package
(name "ghc-random")
(version "1.1")
(outputs '("out" "doc"))
(source
(origin
(method url-fetch)
(uri (string-append
"http://hackage.haskell.org/package/random/random-"
version
".tar.gz"))
(sha256
(base32 "0nis3lbkp8vfx8pkr6v7b7kr5m334bzb0fk9vxqklnp2aw8a865p"))))
(build-system haskell-build-system)
(home-page "http://hackage.haskell.org/package/random")
(synopsis "Random number library")
(description "This package provides a basic random number generation
library, including the ability to split random number generators.")
(license bsd-3)))
(define-public ghc-primitive
(package
(name "ghc-primitive")
(version "0.5.4.0")
(outputs '("out" "doc"))
(source
(origin
(method url-fetch)
(uri (string-append
"http://hackage.haskell.org/package/primitive/primitive-"
version
".tar.gz"))
(sha256
(base32
"05gdgj383xdrdkhxh26imlvs8ji0z28ny38ms9snpvv5i8l2lg10"))))
(build-system haskell-build-system)
(home-page
"https://github.com/haskell/primitive")
(synopsis "Primitive memory-related operations")
(description
"This package provides various primitive memory-related operations.")
(license bsd-3)))
(define-public ghc-tf-random
(package
(name "ghc-tf-random")
(version "0.5")
(outputs '("out" "doc"))
(source
(origin
(method url-fetch)
(uri (string-append
"http://hackage.haskell.org/package/tf-random/tf-random-"
version
".tar.gz"))
(sha256
(base32 "0445r2nns6009fmq0xbfpyv7jpzwv0snccjdg7hwj4xk4z0cwc1f"))))
(build-system haskell-build-system)
;; these inputs are necessary to use this package
(propagated-inputs
`(("ghc-primitive" ,ghc-primitive)
("ghc-random" ,ghc-random)))
(home-page "http://hackage.haskell.org/package/tf-random")
(synopsis "High-quality splittable pseudorandom number generator")
(description "This package contains an implementation of a high-quality
splittable pseudorandom number generator. The generator is based on a
cryptographic hash function built on top of the ThreeFish block cipher. See
the paper \"Splittable Pseudorandom Number Generators Using Cryptographic
Hashing\" by Claessen, Pałka for details and the rationale of the design.")
(license bsd-3)))
(define-public ghc-quickcheck
(package
(name "ghc-quickcheck")
(version "2.8")
(outputs '("out" "doc"))
(source
(origin
(method url-fetch)
(uri (string-append
"http://hackage.haskell.org/package/QuickCheck/QuickCheck-"
version
".tar.gz"))
(sha256
(base32
"04xs6mq22bcnkpi616qrbm7jlivh9csnhmvjgp1ifq52an1wr4rx"))))
(build-system haskell-build-system)
(arguments
`(#:tests? #f ; FIXME: currently missing libraries used for tests.
#:configure-flags '("-f base4")))
;; these inputs are necessary to use this package
(propagated-inputs
`(("ghc-tf-random" ,ghc-tf-random)))
(home-page
"https://github.com/nick8325/quickcheck")
(synopsis
"Automatic testing of Haskell programs")
(description
"QuickCheck is a library for random testing of program properties.")
(license bsd-3)))
(define-public ghc-case-insensitive
(package
(name "ghc-case-insensitive")
(version "1.2.0.4")
(outputs '("out" "doc"))
(source
(origin
(method url-fetch)
(uri (string-append
"http://hackage.haskell.org/package/case-insensitive/case-insensitive-"
version
".tar.gz"))
(sha256
(base32
"07nm40r9yw2p9qsfp3pjbsmyn4dabrxw34p48171zmccdd5hv0v3"))))
(build-system haskell-build-system)
(inputs
`(("ghc-hunit" ,ghc-hunit)))
;; these inputs are necessary to use this library
(propagated-inputs
`(("ghc-text" ,ghc-text)
("ghc-hashable" ,ghc-hashable)))
(arguments
`(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
(home-page
"https://github.com/basvandijk/case-insensitive")
(synopsis "Case insensitive string comparison")
(description
"The module 'Data.CaseInsensitive' provides the 'CI' type constructor
which can be parameterised by a string-like type like: 'String', 'ByteString',
'Text', etc.. Comparisons of values of the resulting type will be insensitive
to cases.")
(license bsd-3)))
(define-public ghc-syb
(package
(name "ghc-syb")
(version "0.4.4")
(outputs '("out" "doc"))
(source
(origin
(method url-fetch)
(uri (string-append
"http://hackage.haskell.org/package/syb/syb-"
version
".tar.gz"))
(sha256
(base32
"11sc9kmfvcn9bfxf227fgmny502z2h9xs3z0m9ak66lk0dw6f406"))))
(build-system haskell-build-system)
(inputs
`(("ghc-hunit" ,ghc-hunit)
("ghc-mtl" ,ghc-mtl)))
(home-page
"http://www.cs.uu.nl/wiki/GenericProgramming/SYB")
(synopsis "Scrap Your Boilerplate")
(description
"This package contains the generics system described in the
/Scrap Your Boilerplate/ papers (see
<http://www.cs.uu.nl/wiki/GenericProgramming/SYB>).
It defines the 'Data' class of types permitting folding and unfolding
of constructor applications, instances of this class for primitive
types, and a variety of traversals.")
(license bsd-3)))
(define-public ghc-containers
(package
(name "ghc-containers")
(version "0.5.6.3")
(outputs '("out" "doc"))
(source
(origin
(method url-fetch)
(uri (string-append
"http://hackage.haskell.org/package/containers/containers-"
version
".tar.gz"))
(sha256
(base32
"1kcd55nl0vzi99i8sr8fmc5j25fv7m0a9hd3nihnq1pd64pfciqn"))))
(build-system haskell-build-system)
(inputs
`(("ghc-hunit" ,ghc-hunit)
("ghc-quickcheck" ,ghc-quickcheck)))
(arguments
`(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
(home-page "http://hackage.haskell.org/package/containers")
(synopsis "Assorted concrete container types")
(description
"This package contains efficient general-purpose implementations of
various basic immutable container types. The declared cost of each operation
is either worst-case or amortized, but remains valid even if structures are
shared.")
(license bsd-3)))
(define-public ghc-fgl
(package
(name "ghc-fgl")
(version "5.5.1.0")
(outputs '("out" "doc"))
(source
(origin
(method url-fetch)
(uri (string-append
"http://hackage.haskell.org/package/fgl/fgl-"
version
".tar.gz"))
(sha256
(base32
"0rcmz0xlyr1wj490ffja29z1jgl51gz19ka609da6bx39bwx7nga"))))
(build-system haskell-build-system)
(inputs `(("ghc-mtl" ,ghc-mtl)))
(home-page "http://web.engr.oregonstate.edu/~erwig/fgl/haskell")
(synopsis
"Martin Erwig's Functional Graph Library")
(description "The functional graph library, FGL, is a collection of type
and function definitions to address graph problems. The basis of the library
is an inductive definition of graphs in the style of algebraic data types that
encourages inductive, recursive definitions of graph algorithms.")
(license bsd-3)))
(define-public ghc-unordered-containers
(package
(name "ghc-unordered-containers")
(version "0.2.5.1")
(outputs '("out" "doc"))
(source
(origin
(method url-fetch)
(uri (string-append
"http://hackage.haskell.org/package/unordered-containers/unordered-containers-"
version
".tar.gz"))
(sha256
(base32
"06l1xv7vhpxly75saxdrbc6p2zlgz1az278arfkz4rgawfnphn3f"))))
(build-system haskell-build-system)
(inputs
`(("ghc-hunit" ,ghc-hunit)
("ghc-quickcheck" ,ghc-quickcheck)))
;; these inputs are necessary to use this library
(propagated-inputs `(("ghc-hashable" ,ghc-hashable)))
(arguments
`(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
(home-page
"https://github.com/tibbe/unordered-containers")
(synopsis
"Efficient hashing-based container types")
(description
"Efficient hashing-based container types. The containers have been
optimized for performance critical use, both in terms of large data quantities
and high speed.")
(license bsd-3)))
(define-public ghc-split
(package
(name "ghc-split")
(version "0.2.2")
(outputs '("out" "doc"))
(source
(origin
(method url-fetch)
(uri (string-append
"http://hackage.haskell.org/package/split/split-"
version
".tar.gz"))
(sha256
(base32
"0xa3j0gwr6k5vizxybnzk5fgb3pppgspi6mysnp2gwjp2dbrxkzr"))))
(build-system haskell-build-system)
(inputs
`(("ghc-quickcheck" ,ghc-quickcheck)))
(home-page "http://hackage.haskell.org/package/split")
(synopsis
"Combinator library for splitting lists")
(description "A collection of various methods for splitting lists into
parts, akin to the 'split' function found in several mainstream languages.")
(license bsd-3)))
(define-public ghc-parsec
(package
(name "ghc-parsec")
(version "3.1.9")
(outputs '("out" "doc"))
(source
(origin
(method url-fetch)
(uri (string-append
"http://hackage.haskell.org/package/parsec/parsec-"
version
".tar.gz"))
(sha256
(base32 "1ja20cmj6v336jy87c6h3jzjp00sdbakwbdwp11iln499k913xvi"))))
(build-system haskell-build-system)
(inputs
`(("ghc-hunit" ,ghc-hunit)))
;; these inputs are necessary to use this library
(propagated-inputs
`(("ghc-text" ,ghc-text)
("ghc-mtl" ,ghc-mtl)))
(arguments
`(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
(home-page
"https://github.com/aslatter/parsec")
(synopsis "Monadic parser combinators")
(description "Parsec is a parser library. It is simple, safe, well
documented, has extensive libraries, good error messages, and is fast. It is
defined as a monad transformer that can be stacked on arbitrary monads, and it
is also parametric in the input stream type.")
(license bsd-3)))
(define-public ghc-vector
(package
(name "ghc-vector")
(version "0.10.12.2")
(outputs '("out" "doc"))
(source
(origin
(method url-fetch)
(uri (string-append
"http://hackage.haskell.org/package/vector/vector-"
version
".tar.gz"))
(sha256
(base32
"01hc71k1z9m0g0dv4zsvq5d2dvbgyc5p01hryw5c53792yi2fm25"))))
(build-system haskell-build-system)
(inputs
`(("ghc-quickcheck" ,ghc-quickcheck)))
;; these inputs are necessary to use this library
(propagated-inputs
`(("ghc-primitive" ,ghc-primitive)))
(arguments
`(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
(home-page "https://github.com/haskell/vector")
(synopsis "Efficient Arrays")
(description "An efficient implementation of Int-indexed arrays (both
mutable and immutable), with a powerful loop optimisation framework.")
(license bsd-3)))
(define-public ghc-network
(package
(name "ghc-network")
(version "2.6.0.2")
(outputs '("out" "doc"))
(source
(origin
(method url-fetch)
(uri (string-append
"http://hackage.haskell.org/package/network/network-"
version
".tar.gz"))
(sha256
(base32
"12b7saam5ga6l4cplgkad49xa4vkynz2ri9jxidx1cxiqjcl0vc4"))))
(build-system haskell-build-system)
(inputs
`(("ghc-hunit" ,ghc-hunit)))
(arguments
`(#:tests? #f ; FIXME: currently missing libraries used for tests.
#:phases
(modify-phases %standard-phases
(add-before 'configure 'set-sh
(lambda _ (setenv "CONFIG_SHELL" "sh"))))))
(home-page "https://github.com/haskell/network")
(synopsis "Low-level networking interface")
(description
"This package provides a low-level networking interface.")
(license bsd-3)))
(define-public ghc-network-uri
(package
(name "ghc-network-uri")
(version "2.6.0.1")
(outputs '("out" "doc"))
(source
(origin
(method url-fetch)
(uri (string-append
"http://hackage.haskell.org/package/network-uri/network-uri-"
version
".tar.gz"))
(sha256
(base32
"09ymamb128jgqghpda4nixncr73all8qc6q53976aricm6a27p37"))))
(build-system haskell-build-system)
(inputs
`(("ghc-hunit" ,ghc-hunit)
("ghc-network" ,ghc-network)))
(arguments
`(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
(propagated-inputs
`(("ghc-parsec" ,ghc-parsec)))
(home-page
"https://github.com/haskell/network-uri")
(synopsis "Labrary for URI manipulation")
(description "This package provides an URI manipulation inteface. In
'network-2.6' the 'Network.URI' module was split off from the 'network'
package into this package.")
(license bsd-3)))
(define-public ghc-http
(package
(name "ghc-http")
(version "4000.2.19")
(outputs '("out" "doc"))
(source
(origin
(method url-fetch)
(uri (string-append
"http://hackage.haskell.org/package/HTTP/HTTP-"
version
".tar.gz"))
(sha256
(base32
"1yzm8gimh8g0wwbixcbxg60v4l3vgi63w9v55ms0x9qnm6vrgysz"))))
(build-system haskell-build-system)
(inputs
`(("ghc-hunit" ,ghc-hunit)))
(propagated-inputs
`(("ghc-parsec" ,ghc-parsec)
("ghc-mtl" ,ghc-mtl)
("ghc-network" ,ghc-network)
("ghc-network-uri" ,ghc-network-uri)))
(arguments
`(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
(home-page "https://github.com/haskell/HTTP")
(synopsis "Library for client-side HTTP")
(description
"The HTTP package supports client-side web programming in Haskell. It
lets you set up HTTP connections, transmitting requests and processing the
responses coming back.")
(license bsd-3)))
;;; haskell.scm ends here

View file

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 Manolis Fragkiskos Ragkousis <manolis837@gmail.com>
;;; Copyright © 2014, 2015 Manolis Fragkiskos Ragkousis <manolis837@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -29,7 +29,7 @@
(define-public gnumach-headers
(package
(name "gnumach-headers")
(version "1.4")
(version "1.5")
(source
(origin
(method url-fetch)
@ -37,7 +37,7 @@
version ".tar.gz"))
(sha256
(base32
"0r371wsm7imx356p0xsls5hifb1gf9y90rm1phr0qkahbmfk9hlv"))))
"0wsf57q4h6xl2jn28d423qx7zplmhpnf9ssm4f1c0sf8513xm81j"))))
(build-system gnu-build-system)
(arguments
`(#:phases (alist-replace
@ -63,7 +63,7 @@
(define-public mig
(package
(name "mig")
(version "1.4")
(version "1.5")
(source
(origin
(method url-fetch)
@ -71,7 +71,7 @@
version ".tar.gz"))
(sha256
(base32
"1jgzggnbp22sa8z5dilm43zy12vlf1pjxfb3kh13xrfhcay0l97b"))))
"13r1pg8icyc0pl082z7k36i440pr1f3nr7ahig3rrc0r7qndqmk9"))))
(build-system gnu-build-system)
(inputs `(("gnumach-headers" ,gnumach-headers)))
(native-inputs
@ -92,14 +92,14 @@ communication.")
(define-public hurd-headers
(package
(name "hurd-headers")
(version "0.5")
(version "0.6")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/hurd/hurd-"
version ".tar.gz"))
(sha256
(base32
"0lvkz3r0ngb4bsn2hzdc9vjpyrfa3ls36jivrvy1n7f7f55zan7q"))))
"059lbspbpcjpcq5jf98f47jw9sm0ngs3x6phxax53m3rwca1fk7y"))))
(build-system gnu-build-system)
(native-inputs
`(;; Autoconf shouldn't be necessary but there seems to be a bug in the

92
gnu/packages/ibus.scm Normal file
View file

@ -0,0 +1,92 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015 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 ibus)
#:use-module (guix licenses)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu)
#:use-module (guix build-system glib-or-gtk)
#:use-module (gnu packages)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
#:use-module (gnu packages gtk)
#:use-module (gnu packages iso-codes)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python))
(define-public ibus
(package
(name "ibus")
(version "1.5.5")
(source (origin
(method url-fetch)
(uri (string-append "https://ibus.googlecode.com/files/ibus-"
version ".tar.gz"))
(sha256
(base32
"1v4a9xv2k26g6ggk4282ynfvh68j2r5hg1cdpvnryfa8c2pkdaq2"))))
(build-system glib-or-gtk-build-system)
(arguments
`(#:tests? #f ; tests fail because there's no connection to dbus
#:make-flags
(list "CC=gcc"
(string-append "pyoverridesdir="
(assoc-ref %outputs "out")
"/lib/python2.7/site-packages/gi/overrides/"))
#:phases
(alist-cons-before
'configure 'disable-dconf-update
(lambda _
(substitute* "data/dconf/Makefile.in"
(("dconf update") "echo dconf update"))
#t)
(alist-cons-after
'wrap-program 'wrap-with-additional-paths
(lambda* (#:key outputs #:allow-other-keys)
;; Make sure 'ibus-setup' runs with the correct PYTHONPATH and
;; GI_TYPELIB_PATH.
(let ((out (assoc-ref outputs "out")))
(wrap-program (string-append out "/bin/ibus-setup")
`("PYTHONPATH" ":" prefix (,(getenv "PYTHONPATH")))
`("GI_TYPELIB_PATH" ":" prefix
(,(getenv "GI_TYPELIB_PATH")
,(string-append out "/lib/girepository-1.0"))))))
%standard-phases))))
(inputs
`(("dbus" ,dbus)
("dconf" ,dconf)
("gconf" ,gconf)
("gtk2" ,gtk+-2)
("intltool" ,intltool)
("libnotify" ,libnotify)
("iso-codes" ,iso-codes)
("pygobject2" ,python2-pygobject)
("python2" ,python-2)))
(native-inputs
`(("glib" ,glib "bin") ; for glib-genmarshal
("gobject-introspection" ,gobject-introspection) ; for g-ir-compiler
("pkg-config" ,pkg-config)))
(synopsis "Input method framework")
(description
"IBus is an input framework providing a full-featured and user-friendly
input method user interface. It comes with multilingual input support. It
may also simplify input method development.")
(home-page "http://ibus.googlecode.com/")
(license lgpl2.1+)))

View file

@ -28,7 +28,7 @@
(define-public icu4c
(package
(name "icu4c")
(version "54.1")
(version "55.1")
(source (origin
(method url-fetch)
(uri (string-append "http://download.icu-project.org/files/icu4c/"
@ -37,7 +37,7 @@
(string-map (lambda (x) (if (char=? x #\.) #\_ x)) version)
"-src.tgz"))
(sha256
(base32 "1cwapgjmvrcv1n2wjspj3vahidg596gjfp4jn1gcb4baralcjayl"))))
(base32 "0ys5f5spizg45qlaa31j2lhgry0jka2gfha527n4ndfxxz5j4sz1"))))
(build-system gnu-build-system)
(inputs
`(("perl" ,perl)))

View file

@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2014 Alex Kost <alezost@gmail.com>
;;; Copyright © 2014, 2015 Alex Kost <alezost@gmail.com>
;;; Copyright © 2014 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
;;; Copyright © 2014 John Darrington <jmd@gnu.org>
@ -24,11 +24,13 @@
(define-module (gnu packages image)
#:use-module (gnu packages)
#:use-module (gnu packages algebra)
#:use-module (gnu packages autotools)
#:use-module (gnu packages boost)
#:use-module (gnu packages compression)
#:use-module (gnu packages doxygen)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages ghostscript)
#:use-module (gnu packages gl)
#:use-module (gnu packages maths)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
@ -163,6 +165,65 @@ the W3C's XML-based Scaleable Vector Graphic (SVG) format.")
;; 'COPYING' is the GPLv2, but file headers say LGPLv2.0+.
(license license:lgpl2.0+)))
(define-public leptonica
(package
(name "leptonica")
(version "1.71")
(source
(origin
(method url-fetch)
(uri (string-append "http://www.leptonica.com/source/leptonica-"
version ".tar.gz"))
(sha256
(base32 "0j5qgrff6im5n9waflbi7w643q1p6mahyf2z35gb4vj9h5p76pfc"))
(modules '((guix build utils)))
;; zlib and openjpg should be under Libs, not Libs.private. See:
;; https://code.google.com/p/tesseract-ocr/issues/detail?id=1436
(snippet
'(substitute* "lept.pc.in"
(("^(Libs\\.private: .*)@ZLIB_LIBS@(.*)" all pre post)
(string-append pre post))
(("^(Libs\\.private: .*)@JPEG_LIBS@(.*)" all pre post)
(string-append pre post))
(("^Libs: .*" all)
(string-append all " @ZLIB_LIBS@ @JPEG_LIBS@"))))))
(build-system gnu-build-system)
(native-inputs
`(("gnuplot" ,gnuplot))) ;needed for test suite
(inputs
`(("giflib" ,giflib)
("libjpeg" ,libjpeg)
("libpng" ,libpng)
("libtiff" ,libtiff)
("libwebp" ,libwebp)))
(propagated-inputs
`(("openjpeg" ,openjpeg)
("zlib" ,zlib)))
(arguments
'(#:phases
(modify-phases %standard-phases
;; Prevent make from trying to regenerate config.h.in.
(add-after
'unpack 'set-config-h-in-file-time
(lambda _
(set-file-time "config/config.h.in" (stat "configure"))))
(add-after
'unpack 'patch-reg-wrapper
(lambda _
(substitute* "prog/reg_wrapper.sh"
((" /bin/sh ")
(string-append " " (which "sh") " "))))))))
(home-page "http://www.leptonica.com/")
(synopsis "Library and tools for image processing and analysis")
(description
"Leptonica is a C library and set of command-line tools for efficient
image processing and image analysis operations. It supports rasterop, affine
transformations, binary and grayscale morphology, rank order, and convolution,
seedfill and connected components, image transformations combining changes in
scale and pixel depth, and pixelwise masking, blending, enhancement, and
arithmetic ops.")
(license license:bsd-2)))
(define-public jbig2dec
(package
(name "jbig2dec")
@ -323,25 +384,16 @@ compose, and analyze GIF images.")
(define-public imlib2
(package
(name "imlib2")
(version "1.4.6")
(version "1.4.7")
(source (origin
(method url-fetch)
(uri (string-append
"mirror://sourceforge/enlightenment/imlib2-"
version ".tar.gz"))
version ".tar.bz2"))
(sha256
(base32
"0kjggg4gfn6chi8v1xddd5qwk1fbnl7rvd93qiclv5v11s615k0p"))))
"00a7jbwj10x3jcvxa5rplnkvhv35gv9rb400zy636zdd4g737mrm"))))
(build-system gnu-build-system)
(arguments
'(;; Will be fixed in the next release:
;; <http://git.enlightenment.org/legacy/imlib2.git/commit/?id=5dde234b2d3caf067ea827858c53adc5d4c56c13>.
#:phases (alist-cons-before
'configure 'patch-config
(lambda _
(substitute* "imlib2-config.in"
(("@my_libs@") "")))
%standard-phases)))
(native-inputs
`(("pkgconfig" ,pkg-config)))
(inputs
@ -475,3 +527,39 @@ algorithms and data structures. It is particularly strong for
multi-dimensional image processing.")
(license license:expat)
(home-page "https://hci.iwr.uni-heidelberg.de/vigra")))
(define-public libwebp
(package
(name "libwebp")
(version "0.4.3")
(source
(origin
(method url-fetch)
(uri (string-append
"http://downloads.webmproject.org/releases/webp/libwebp-" version
".tar.gz"))
(sha256
(base32 "1i4hfczjm3b1qj1g4cc9hgb69l47f3nkgf6hk7nz4dm9zmc0vgpg"))))
(build-system gnu-build-system)
(inputs
`(("freeglut" ,freeglut)
("giflib" ,giflib)
("libjpeg" ,libjpeg)
("libpng" ,libpng)
("libtiff" ,libtiff)))
(arguments
'(#:configure-flags '("--enable-libwebpmux"
"--enable-libwebpdemux"
"--enable-libwebpdecoder")))
(home-page "https://developers.google.com/speed/webp/")
(synopsis "Lossless and lossy image compression")
(description
"WebP is a new image format that provides lossless and lossy compression
for images. WebP lossless images are 26% smaller in size compared to
PNGs. WebP lossy images are 25-34% smaller in size compared to JPEG images at
equivalent SSIM index. WebP supports lossless transparency (also known as
alpha channel) with just 22% additional bytes. Transparency is also supported
with lossy compression and typically provides 3x smaller file sizes compared
to PNG when lossy compression is acceptable for the red/green/blue color
channels.")
(license license:bsd-3)))

View file

@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013, 2014, 2015 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))))

View file

@ -20,6 +20,7 @@
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix utils)
#:use-module (guix build-system gnu)
#:use-module (gnu packages)
#:use-module (gnu packages attr)
@ -32,6 +33,7 @@
#:use-module (gnu packages fontutils)
#:use-module (gnu packages gawk)
#:use-module (gnu packages gcc)
#:use-module (gnu packages gl)
#:use-module (gnu packages gnuzilla) ;nss
#:use-module (gnu packages ghostscript) ;lcms
#:use-module (gnu packages gnome)
@ -45,7 +47,90 @@
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg)
#:use-module (gnu packages zip)
#:use-module (gnu packages texinfo))
#:use-module (gnu packages texinfo)
#:use-module ((srfi srfi-1) #:select (fold alist-delete)))
(define-public swt
(package
(name "swt")
(version "4.4.2")
(source (origin
(method url-fetch)
(uri (string-append
"http://ftp-stud.fht-esslingen.de/pub/Mirrors/"
"eclipse/eclipse/downloads/drops4/R-" version
"-201502041700/swt-" version "-gtk-linux-x86.zip"))
(sha256
(base32
"0lzyqr8k2zm5s8fmnrx5kxpslxfs0i73y26fwfms483x45izzwj8"))))
(build-system gnu-build-system)
(arguments
`(#:make-flags '("-f" "make_linux.mak")
#:tests? #f ; no "check" target
#:phases
(alist-replace
'unpack
(lambda _
(and (mkdir "swt")
(zero? (system* "unzip" (assoc-ref %build-inputs "source") "-d" "swt"))
(chdir "swt")
(mkdir "src")
(zero? (system* "unzip" "src.zip" "-d" "src"))
(chdir "src")))
(alist-replace
'build
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((lib (string-append (assoc-ref outputs "out") "/lib")))
(setenv "JAVA_HOME" (assoc-ref inputs "icedtea6"))
;; Build shared libraries. Users of SWT have to set the system
;; property swt.library.path to the "lib" directory of this
;; package output.
(mkdir-p lib)
(setenv "OUTPUT_DIR" lib)
(zero? (system* "bash" "build.sh"))
;; build jar
(mkdir "build")
(for-each (lambda (file)
(format #t "Compiling ~s\n" file)
(system* "javac" "-d" "build" file))
(find-files "." "\\.java"))
(zero? (system* "jar" "cvf" "swt.jar" "-C" "build" "."))))
(alist-cons-after
'install 'install-java-files
(lambda* (#:key outputs #:allow-other-keys)
(let ((java (string-append (assoc-ref outputs "out")
"/share/java")))
(mkdir-p java)
(copy-file "swt.jar" (string-append java "/swt.jar"))) #t)
(alist-delete 'configure %standard-phases))))))
(inputs
`(("xulrunner" ,icecat)
("gtk" ,gtk+-2)
("libxtst" ,libxtst)
("libxt" ,libxt)
("mesa" ,mesa)
("glu" ,glu)))
(native-inputs
`(("pkg-config" ,pkg-config)
("unzip" ,unzip)
("icedtea6" ,icedtea6 "jdk")))
(home-page "https://www.eclipse.org/swt/")
(synopsis "Widget toolkit for Java")
(description
"SWT is a widget toolkit for Java designed to provide efficient, portable
access to the user-interface facilities of the operating systems on which it
is implemented.")
;; SWT code is licensed under EPL1.0
;; Gnome and Gtk+ bindings contain code licensed under LGPLv2.1
;; Cairo bindings contain code under MPL1.1
;; XULRunner 1.9 bindings contain code under MPL2.0
(license (list
license:epl1.0
license:mpl1.1
license:mpl2.0
license:lgpl2.1+))))
(define-public ant
(package
@ -102,7 +187,7 @@ build process and its dependencies, whereas Make uses Makefile format.")
(define-public icedtea6
(package
(name "icedtea6")
(version "1.13.6")
(version "1.13.7")
(source (origin
(method url-fetch)
(uri (string-append
@ -110,7 +195,7 @@ build process and its dependencies, whereas Make uses Makefile format.")
version ".tar.xz"))
(sha256
(base32
"16ac3f7kkln5skg202vllagkhjxrwd47h56diwzhfidhwjlz7410"))
"0fqq898h0mk554mya5z4j9p4x6sg2qj0ckqzx65x49zcjjp69jm5"))
(modules '((guix build utils)))
(snippet
'(substitute* "Makefile.in"
@ -160,6 +245,16 @@ build process and its dependencies, whereas Make uses Makefile format.")
;; made no attempts to make a list of failing JDK tests. At least
;; 222 tests are failing of which at least 132 are AWT tests.
#:tests? #f
;; The DSOs use $ORIGIN to refer to each other, but (guix build
;; gremlin) doesn't support it yet, so skip this phase.
#:validate-runpath? #f
#:modules ((guix build utils)
(guix build gnu-build-system)
(ice-9 popen)
(ice-9 rdelim))
#:configure-flags
(let* ((gcjdir (assoc-ref %build-inputs "gcj"))
(ecj (string-append gcjdir "/share/java/ecj.jar"))
@ -184,6 +279,7 @@ build process and its dependencies, whereas Make uses Makefile format.")
(zero? (system* "tar" "xvjf"
(assoc-ref inputs "ant-bootstrap")))
(begin
(patch-shebang "apache-ant-1.9.4/bin/ant")
(chdir (string-append ,name "-" ,version))
(mkdir "openjdk")
(with-directory-excursion "openjdk"
@ -191,10 +287,8 @@ build process and its dependencies, whereas Make uses Makefile format.")
"openjdk6-src.tar.xz")
(zero? (system* "tar" "xvf" "openjdk6-src.tar.xz"))))))
(alist-cons-after
'unpack 'patch-paths
'unpack 'patch-patches
(lambda _
(patch-shebang "../apache-ant-1.9.4/bin/ant")
;; shebang in patches so that they apply cleanly
(substitute* '("patches/jtreg-jrunscript.patch"
"patches/hotspot/hs23/drop_unlicensed_test.patch")
@ -205,92 +299,100 @@ build process and its dependencies, whereas Make uses Makefile format.")
(("ALSA_INCLUDE=/usr/include/alsa/version.h")
(string-append "ALSA_INCLUDE="
(assoc-ref %build-inputs "alsa-lib")
"/include/alsa/version.h")))
"/include/alsa/version.h"))))
(alist-cons-after
'unpack 'patch-paths
(lambda _
;; buildtree.make generates shell scripts, so we need to replace
;; the generated shebang
(substitute* '("openjdk/hotspot/make/linux/makefiles/buildtree.make")
(("/bin/sh") (which "bash")))
;; buildtree.make generates shell scripts, so we need to replace
;; the generated shebang
(substitute* '("openjdk/hotspot/make/linux/makefiles/buildtree.make")
(("/bin/sh") (which "bash")))
(let ((corebin (string-append
(assoc-ref %build-inputs "coreutils") "/bin/"))
(binbin (string-append
(assoc-ref %build-inputs "binutils") "/bin/"))
(grepbin (string-append
(assoc-ref %build-inputs "grep") "/bin/")))
(substitute* '("openjdk/jdk/make/common/shared/Defs-linux.gmk"
"openjdk/corba/make/common/shared/Defs-linux.gmk")
(("UNIXCOMMAND_PATH = /bin/")
(string-append "UNIXCOMMAND_PATH = " corebin))
(("USRBIN_PATH = /usr/bin/")
(string-append "USRBIN_PATH = " corebin))
(("DEVTOOLS_PATH *= */usr/bin/")
(string-append "DEVTOOLS_PATH = " corebin))
(("COMPILER_PATH *= */usr/bin/")
(string-append "COMPILER_PATH = "
(assoc-ref %build-inputs "gcc") "/bin/"))
(("DEF_OBJCOPY *=.*objcopy")
(string-append "DEF_OBJCOPY = " (which "objcopy"))))
(let ((corebin (string-append
(assoc-ref %build-inputs "coreutils") "/bin/"))
(binbin (string-append
(assoc-ref %build-inputs "binutils") "/bin/"))
(grepbin (string-append
(assoc-ref %build-inputs "grep") "/bin/")))
(substitute* '("openjdk/jdk/make/common/shared/Defs-linux.gmk"
"openjdk/corba/make/common/shared/Defs-linux.gmk")
(("UNIXCOMMAND_PATH = /bin/")
(string-append "UNIXCOMMAND_PATH = " corebin))
(("USRBIN_PATH = /usr/bin/")
(string-append "USRBIN_PATH = " corebin))
(("DEVTOOLS_PATH *= */usr/bin/")
(string-append "DEVTOOLS_PATH = " corebin))
(("COMPILER_PATH *= */usr/bin/")
(string-append "COMPILER_PATH = "
(assoc-ref %build-inputs "gcc") "/bin/")))
;; fix hard-coded utility paths
(substitute* '("openjdk/jdk/make/common/shared/Defs-utils.gmk"
"openjdk/corba/make/common/shared/Defs-utils.gmk")
(("ECHO *=.*echo")
(string-append "ECHO = " (which "echo")))
(("^GREP *=.*grep")
(string-append "GREP = " (which "grep")))
(("EGREP *=.*egrep")
(string-append "EGREP = " (which "egrep")))
(("CPIO *=.*cpio")
(string-append "CPIO = " (which "cpio")))
(("READELF *=.*readelf")
(string-append "READELF = " (which "readelf")))
(("^ *AR *=.*ar")
(string-append "AR = " (which "ar")))
(("^ *TAR *=.*tar")
(string-append "TAR = " (which "tar")))
(("AS *=.*as")
(string-append "AS = " (which "as")))
(("LD *=.*ld")
(string-append "LD = " (which "ld")))
(("STRIP *=.*strip")
(string-append "STRIP = " (which "strip")))
(("NM *=.*nm")
(string-append "NM = " (which "nm")))
(("^SH *=.*sh")
(string-append "SH = " (which "bash")))
(("^FIND *=.*find")
(string-append "FIND = " (which "find")))
(("LDD *=.*ldd")
(string-append "LDD = " (which "ldd")))
(("NAWK *=.*(n|g)awk")
(string-append "NAWK = " (which "gawk")))
(("XARGS *=.*xargs")
(string-append "XARGS = " (which "xargs")))
(("UNZIP *=.*unzip")
(string-append "UNZIP = " (which "unzip")))
(("ZIPEXE *=.*zip")
(string-append "ZIPEXE = " (which "zip")))
(("SED *=.*sed")
(string-append "SED = " (which "sed"))))
;; fix hard-coded utility paths
(substitute* '("openjdk/jdk/make/common/shared/Defs-utils.gmk"
"openjdk/corba/make/common/shared/Defs-utils.gmk")
(("ECHO *=.*echo")
(string-append "ECHO = " (which "echo")))
(("^GREP *=.*grep")
(string-append "GREP = " (which "grep")))
(("EGREP *=.*egrep")
(string-append "EGREP = " (which "egrep")))
(("CPIO *=.*cpio")
(string-append "CPIO = " (which "cpio")))
(("READELF *=.*readelf")
(string-append "READELF = " (which "readelf")))
(("^ *AR *=.*ar")
(string-append "AR = " (which "ar")))
(("^ *TAR *=.*tar")
(string-append "TAR = " (which "tar")))
(("AS *=.*as")
(string-append "AS = " (which "as")))
(("LD *=.*ld")
(string-append "LD = " (which "ld")))
(("STRIP *=.*strip")
(string-append "STRIP = " (which "strip")))
(("NM *=.*nm")
(string-append "NM = " (which "nm")))
(("^SH *=.*sh")
(string-append "SH = " (which "bash")))
(("^FIND *=.*find")
(string-append "FIND = " (which "find")))
(("LDD *=.*ldd")
(string-append "LDD = " (which "ldd")))
(("NAWK *=.*(n|g)awk")
(string-append "NAWK = " (which "gawk")))
;; (("NAWK *=.*gawk")
;; (string-append "NAWK = " (which "gawk")))
(("XARGS *=.*xargs")
(string-append "XARGS = " (which "xargs")))
(("UNZIP *=.*unzip")
(string-append "UNZIP = " (which "unzip")))
(("ZIPEXE *=.*zip")
(string-append "ZIPEXE = " (which "zip")))
(("SED *=.*sed")
(string-append "SED = " (which "sed"))))
;; Some of these timestamps cause problems as they are more than
;; 10 years ago, failing the build process.
(substitute*
"openjdk/jdk/src/share/classes/java/util/CurrencyData.properties"
(("AZ=AZM;2005-12-31-20-00-00;AZN") "AZ=AZN")
(("MZ=MZM;2006-06-30-22-00-00;MZN") "MZ=MZN")
(("RO=ROL;2005-06-30-21-00-00;RON") "RO=RON")
(("TR=TRL;2004-12-31-22-00-00;TRY") "TR=TRY"))))
;; Some of these timestamps cause problems as they are more than
;; 10 years ago, failing the build process.
(substitute*
"openjdk/jdk/src/share/classes/java/util/CurrencyData.properties"
(("AZ=AZM;2005-12-31-20-00-00;AZN") "AZ=AZN")
(("MZ=MZM;2006-06-30-22-00-00;MZN") "MZ=MZN")
(("RO=ROL;2005-06-30-21-00-00;RON") "RO=RON")
(("TR=TRL;2004-12-31-22-00-00;TRY") "TR=TRY"))))
(alist-cons-before
'configure 'set-paths
'configure 'set-additional-paths
(lambda* (#:key inputs #:allow-other-keys)
(let* ((gcjdir (assoc-ref %build-inputs "gcj"))
(gcjlib (string-append gcjdir "/lib"))
(antpath (string-append (getcwd) "/../apache-ant-1.9.4")))
(setenv "CC" (which "gcc"))
(antpath (string-append (getcwd) "/../apache-ant-1.9.4"))
;; Get target-specific include directory so that
;; libgcj-config.h is found when compiling hotspot.
(gcjinclude (let* ((port (open-input-pipe "gcj -print-file-name=include"))
(str (read-line port)))
(close-pipe port)
str)))
(setenv "CPATH"
(string-append (assoc-ref %build-inputs "libxrender")
(string-append gcjinclude ":"
(assoc-ref %build-inputs "libxrender")
"/include/X11/extensions" ":"
(assoc-ref %build-inputs "libxtst")
"/include/X11/extensions" ":"
@ -306,12 +408,10 @@ build process and its dependencies, whereas Make uses Makefile format.")
(setenv "ALT_FREETYPE_LIB_PATH"
(string-append (assoc-ref %build-inputs "freetype")
"/lib"))
(setenv "LD_LIBRARY_PATH"
(string-append antpath "/lib" ":" gcjlib))
(setenv "PATH" (string-append antpath "/bin:"
(getenv "PATH")))))
(alist-cons-before
'check 'fix-tests
'check 'fix-test-framework
(lambda _
;; Fix PATH in test environment
(substitute* "src/jtreg/com/sun/javatest/regtest/Main.java"
@ -319,109 +419,114 @@ build process and its dependencies, whereas Make uses Makefile format.")
(string-append "PATH=" (getenv "PATH"))))
(substitute* "src/jtreg/com/sun/javatest/util/SysEnv.java"
(("/usr/bin/env") (which "env")))
;; Hotspot tests
(with-directory-excursion "openjdk/hotspot/test/"
(substitute* "jprt.config"
(("PATH=\"\\$\\{path4sdk\\}\"")
(string-append "PATH=" (getenv "PATH")))
(("make=/usr/bin/make")
(string-append "make=" (which "make"))))
(substitute* '("runtime/6626217/Test6626217.sh"
"runtime/7110720/Test7110720.sh")
(("/bin/rm") (which "rm"))
(("/bin/cp") (which "cp"))
(("/bin/mv") (which "mv"))))
;; JDK tests
(with-directory-excursion "openjdk/jdk/test/"
(substitute* "com/sun/jdi/JdbReadTwiceTest.sh"
(("/bin/pwd") (which "pwd")))
(substitute* "com/sun/jdi/ShellScaffold.sh"
(("/bin/kill") (which "kill")))
(substitute* "start-Xvfb.sh"
;(("/usr/bin/X11/Xvfb") (which "Xvfb"))
(("/usr/bin/nohup") (which "nohup")))
(substitute* "javax/security/auth/Subject/doAs/Test.sh"
(("/bin/rm") (which "rm")))
(substitute* "tools/launcher/MultipleJRE.sh"
(("echo \"#!/bin/sh\"")
(string-append "echo \"#!" (which "rm") "\""))
(("/usr/bin/zip") (which "zip")))
(substitute* "com/sun/jdi/OnThrowTest.java"
(("#!/bin/sh") (string-append "#!" (which "sh"))))
(substitute* "java/lang/management/OperatingSystemMXBean/GetSystemLoadAverage.java"
(("/usr/bin/uptime") (which "uptime")))
(substitute* "java/lang/ProcessBuilder/Basic.java"
(("/usr/bin/env") (which "env"))
(("/bin/false") (which "false"))
(("/bin/true") (which "true"))
(("/bin/cp") (which "cp"))
(("/bin/sh") (which "sh")))
(substitute* "java/lang/ProcessBuilder/FeelingLucky.java"
(("/bin/sh") (which "sh")))
(substitute* "java/lang/ProcessBuilder/Zombies.java"
(("/usr/bin/perl") (which "perl"))
(("/bin/ps") (which "ps"))
(("/bin/true") (which "true")))
(substitute* "java/lang/Runtime/exec/ConcurrentRead.java"
(("/usr/bin/tee") (which "tee")))
(substitute* "java/lang/Runtime/exec/ExecWithDir.java"
(("/bin/true") (which "true")))
(substitute* "java/lang/Runtime/exec/ExecWithInput.java"
(("/bin/cat") (which "cat")))
(substitute* "java/lang/Runtime/exec/ExitValue.java"
(("/bin/sh") (which "sh"))
(("/bin/true") (which "true"))
(("/bin/kill") (which "kill")))
(substitute* "java/lang/Runtime/exec/LotsOfDestroys.java"
(("/usr/bin/echo") (which "echo")))
(substitute* "java/lang/Runtime/exec/LotsOfOutput.java"
(("/usr/bin/cat") (which "cat")))
(substitute* "java/lang/Runtime/exec/SleepyCat.java"
(("/bin/cat") (which "cat"))
(("/bin/sleep") (which "sleep"))
(("/bin/sh") (which "sh")))
(substitute* "java/lang/Runtime/exec/StreamsSurviveDestroy.java"
(("/bin/cat") (which "cat")))
(substitute* "java/rmi/activation/CommandEnvironment/SetChildEnv.java"
(("/bin/chmod") (which "chmod")))
(substitute* "java/util/zip/ZipFile/Assortment.java"
(("/bin/sh") (which "sh")))))
(alist-replace
'check
#t)
(alist-cons-before
'check 'fix-hotspot-tests
(lambda _
;; The "make check-*" targets always return zero, so we need to
;; check for errors in the associated log files to determine
;; whether any tests have failed.
(use-modules (ice-9 rdelim))
(let* ((error-pattern (make-regexp "^(Error|FAILED):.*"))
(checker (lambda (port)
(let loop ()
(let ((line (read-line port)))
(cond
((eof-object? line) #t)
((regexp-exec error-pattern line) #f)
(else (loop)))))))
(run-test (lambda (test)
(system* "make" test)
(call-with-input-file
(string-append "test/" test ".log")
checker))))
(or #t ; skip tests
(and (run-test "check-hotspot")
(run-test "check-langtools")
(run-test "check-jdk")))))
(alist-replace
'install
(lambda* (#:key outputs #:allow-other-keys)
(let ((doc (string-append (assoc-ref outputs "doc") "/share/doc/" ,name))
(jre (assoc-ref outputs "out"))
(jdk (assoc-ref outputs "jdk")))
(copy-recursively "openjdk.build/docs" doc)
(copy-recursively "openjdk.build/j2re-image" jre)
(copy-recursively "openjdk.build/j2sdk-image" jdk)))
%standard-phases))))))))
(with-directory-excursion "openjdk/hotspot/test/"
(substitute* "jprt.config"
(("PATH=\"\\$\\{path4sdk\\}\"")
(string-append "PATH=" (getenv "PATH")))
(("make=/usr/bin/make")
(string-append "make=" (which "make"))))
(substitute* '("runtime/6626217/Test6626217.sh"
"runtime/7110720/Test7110720.sh")
(("/bin/rm") (which "rm"))
(("/bin/cp") (which "cp"))
(("/bin/mv") (which "mv"))))
#t)
(alist-cons-before
'check 'fix-jdk-tests
(lambda _
(with-directory-excursion "openjdk/jdk/test/"
(substitute* "com/sun/jdi/JdbReadTwiceTest.sh"
(("/bin/pwd") (which "pwd")))
(substitute* "com/sun/jdi/ShellScaffold.sh"
(("/bin/kill") (which "kill")))
(substitute* "start-Xvfb.sh"
;;(("/usr/bin/X11/Xvfb") (which "Xvfb"))
(("/usr/bin/nohup") (which "nohup")))
(substitute* "javax/security/auth/Subject/doAs/Test.sh"
(("/bin/rm") (which "rm")))
(substitute* "tools/launcher/MultipleJRE.sh"
(("echo \"#!/bin/sh\"")
(string-append "echo \"#!" (which "rm") "\""))
(("/usr/bin/zip") (which "zip")))
(substitute* "com/sun/jdi/OnThrowTest.java"
(("#!/bin/sh") (string-append "#!" (which "sh"))))
(substitute* "java/lang/management/OperatingSystemMXBean/GetSystemLoadAverage.java"
(("/usr/bin/uptime") (which "uptime")))
(substitute* "java/lang/ProcessBuilder/Basic.java"
(("/usr/bin/env") (which "env"))
(("/bin/false") (which "false"))
(("/bin/true") (which "true"))
(("/bin/cp") (which "cp"))
(("/bin/sh") (which "sh")))
(substitute* "java/lang/ProcessBuilder/FeelingLucky.java"
(("/bin/sh") (which "sh")))
(substitute* "java/lang/ProcessBuilder/Zombies.java"
(("/usr/bin/perl") (which "perl"))
(("/bin/ps") (which "ps"))
(("/bin/true") (which "true")))
(substitute* "java/lang/Runtime/exec/ConcurrentRead.java"
(("/usr/bin/tee") (which "tee")))
(substitute* "java/lang/Runtime/exec/ExecWithDir.java"
(("/bin/true") (which "true")))
(substitute* "java/lang/Runtime/exec/ExecWithInput.java"
(("/bin/cat") (which "cat")))
(substitute* "java/lang/Runtime/exec/ExitValue.java"
(("/bin/sh") (which "sh"))
(("/bin/true") (which "true"))
(("/bin/kill") (which "kill")))
(substitute* "java/lang/Runtime/exec/LotsOfDestroys.java"
(("/usr/bin/echo") (which "echo")))
(substitute* "java/lang/Runtime/exec/LotsOfOutput.java"
(("/usr/bin/cat") (which "cat")))
(substitute* "java/lang/Runtime/exec/SleepyCat.java"
(("/bin/cat") (which "cat"))
(("/bin/sleep") (which "sleep"))
(("/bin/sh") (which "sh")))
(substitute* "java/lang/Runtime/exec/StreamsSurviveDestroy.java"
(("/bin/cat") (which "cat")))
(substitute* "java/rmi/activation/CommandEnvironment/SetChildEnv.java"
(("/bin/chmod") (which "chmod")))
(substitute* "java/util/zip/ZipFile/Assortment.java"
(("/bin/sh") (which "sh"))))
#t)
(alist-replace
'check
(lambda _
;; The "make check-*" targets always return zero, so we need to
;; check for errors in the associated log files to determine
;; whether any tests have failed.
(use-modules (ice-9 rdelim))
(let* ((error-pattern (make-regexp "^(Error|FAILED):.*"))
(checker (lambda (port)
(let loop ()
(let ((line (read-line port)))
(cond
((eof-object? line) #t)
((regexp-exec error-pattern line) #f)
(else (loop)))))))
(run-test (lambda (test)
(system* "make" test)
(call-with-input-file
(string-append "test/" test ".log")
checker))))
(or #t ; skip tests
(and (run-test "check-hotspot")
(run-test "check-langtools")
(run-test "check-jdk")))))
(alist-replace
'install
(lambda* (#:key outputs #:allow-other-keys)
(let ((doc (string-append (assoc-ref outputs "doc") "/share/doc/" ,name))
(jre (assoc-ref outputs "out"))
(jdk (assoc-ref outputs "jdk")))
(copy-recursively "openjdk.build/docs" doc)
(copy-recursively "openjdk.build/j2re-image" jre)
(copy-recursively "openjdk.build/j2sdk-image" jdk)))
%standard-phases)))))))))))
(native-inputs
`(("ant-bootstrap"
,(origin
@ -464,10 +569,10 @@ build process and its dependencies, whereas Make uses Makefile format.")
("openjdk6-src"
,(origin
(method url-fetch)
(uri "https://java.net/downloads/openjdk6/openjdk-6-src-b34-20_jan_2015.tar.xz")
(uri "https://java.net/downloads/openjdk6/openjdk-6-src-b35-14_apr_2015.tar.gz")
(sha256
(base32
"0lafxvi255r22pjljkj9x6liacqdgin8smdmh6nzkdjjw7hv9l8k"))))
"05glw29vy4yw9rkjy9y8wg6ybzi89gjwi19qpnfda978x02r2x5p"))))
("lcms" ,lcms)
("zlib" ,zlib)
("gtk" ,gtk+-2)
@ -481,3 +586,174 @@ build process and its dependencies, whereas Make uses Makefile format.")
;; IcedTea is released under the GPL2 + Classpath exception, which is the
;; same license as both GNU Classpath and OpenJDK.
(license license:gpl2+)))
(define-public icedtea7
(let* ((version "2.5.5")
(drop (lambda (name hash)
(origin
(method url-fetch)
(uri (string-append
"http://icedtea.classpath.org/download/drops/"
"/icedtea7/" version "/" name ".tar.bz2"))
(sha256 (base32 hash))))))
(package (inherit icedtea6)
(name "icedtea7")
(version version)
(source (origin
(method url-fetch)
(uri (string-append
"http://icedtea.wildebeest.org/download/source/icedtea-"
version ".tar.xz"))
(sha256
(base32
"1irxk2ndwsfk4c1zbzb5h3rpwv2bc9bhfjvz6p4dws5476vsxrq9"))
(modules '((guix build utils)))
(snippet
'(substitute* "Makefile.in"
;; do not leak information about the build host
(("DISTRIBUTION_ID=\"\\$\\(DIST_ID\\)\"")
"DISTRIBUTION_ID=\"\\\"guix\\\"\"")))))
(arguments
`(;; There are many test failures. Some are known to
;; fail upstream, others relate to not having an X
;; server running at test time, yet others are a
;; complete mystery to me.
;; hotspot: passed: 241; failed: 45; error: 2
;; langtools: passed: 1,934; failed: 26
;; jdk: unknown
#:tests? #f
;; Apparently, the C locale is needed for some of the tests.
#:locale "C"
,@(substitute-keyword-arguments (package-arguments icedtea6)
((#:configure-flags flags)
`(let ((jdk (assoc-ref %build-inputs "icedtea6"))
(ant (assoc-ref %build-inputs "ant")))
`("--disable-bootstrap"
"--without-rhino"
"--enable-nss"
"--enable-system-lcms"
"--disable-downloading"
,(string-append "--with-ant-home=" ant)
,(string-append "--with-jdk-home=" jdk))))
((#:phases phases)
`(modify-phases ,phases
(replace
'unpack
(lambda* (#:key source inputs #:allow-other-keys)
(let ((target (string-append "icedtea-" ,version))
(unpack (lambda (drop dir)
(mkdir dir)
(zero? (system* "tar" "xvjf"
(assoc-ref inputs drop)
"-C" dir
"--strip-components=1")))))
(and (zero? (system* "tar" "xvf" source))
(chdir target)
(unpack "openjdk-drop" "openjdk")
(unpack "corba-drop" "openjdk/corba")
(unpack "jdk-drop" "openjdk/jdk")
(unpack "hotspot-drop" "openjdk/hotspot")
;; The build framework checks the tarballs, so we
;; need to keep them around even though we have
;; already unpacked some of them for patching.
(begin
(copy-file (assoc-ref inputs "openjdk-drop")
"openjdk.tar.bz2")
(copy-file (assoc-ref inputs "corba-drop")
"corba.tar.bz2")
(copy-file (assoc-ref inputs "hotspot-drop")
"hotspot.tar.bz2")
(copy-file (assoc-ref inputs "jaxp-drop")
"jaxp.tar.bz2")
(copy-file (assoc-ref inputs "jaxws-drop")
"jaxws.tar.bz2")
(copy-file (assoc-ref inputs "jdk-drop")
"jdk.tar.bz2")
(copy-file (assoc-ref inputs "langtools-drop")
"langtools.tar.bz2")
#t)))))
(replace
'set-additional-paths
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "openjdk/jdk/make/common/shared/Sanity.gmk"
(("ALSA_INCLUDE=/usr/include/alsa/version.h")
(string-append "ALSA_INCLUDE="
(assoc-ref inputs "alsa-lib")
"/include/alsa/version.h")))
(setenv "CC" "gcc")
(setenv "CPATH"
(string-append (assoc-ref inputs "libxrender")
"/include/X11/extensions" ":"
(assoc-ref inputs "libxtst")
"/include/X11/extensions" ":"
(assoc-ref inputs "libxinerama")
"/include/X11/extensions" ":"
(or (getenv "CPATH") "")))
(setenv "ALT_OBJCOPY" (which "objcopy"))
(setenv "ALT_CUPS_HEADERS_PATH"
(string-append (assoc-ref inputs "cups")
"/include"))
(setenv "ALT_FREETYPE_HEADERS_PATH"
(string-append (assoc-ref inputs "freetype")
"/include"))
(setenv "ALT_FREETYPE_LIB_PATH"
(string-append (assoc-ref inputs "freetype")
"/lib"))))
(add-after
'unpack 'fix-x11-extension-include-path
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "openjdk/jdk/make/sun/awt/mawt.gmk"
(((string-append "\\$\\(firstword \\$\\(wildcard "
"\\$\\(OPENWIN_HOME\\)"
"/include/X11/extensions\\).*$"))
(string-append (assoc-ref inputs "libxrender")
"/include/X11/extensions"
" -I" (assoc-ref inputs "libxtst")
"/include/X11/extensions"
" -I" (assoc-ref inputs "libxinerama")
"/include/X11/extensions"))
(("\\$\\(wildcard /usr/include/X11/extensions\\)\\)") ""))
#t))
(replace
'fix-test-framework
(lambda _
;; Fix PATH in test environment
(substitute* "test/jtreg/com/sun/javatest/regtest/Main.java"
(("PATH=/bin:/usr/bin")
(string-append "PATH=" (getenv "PATH"))))
(substitute* "test/jtreg/com/sun/javatest/util/SysEnv.java"
(("/usr/bin/env") (which "env")))
(substitute* "openjdk/hotspot/test/test_env.sh"
(("/bin/rm") (which "rm"))
(("/bin/cp") (which "cp"))
(("/bin/mv") (which "mv")))
#t))
(delete 'patch-patches))))))
(native-inputs
`(("ant" ,ant)
("icedtea6" ,icedtea6 "jdk")
("openjdk-drop"
,(drop "openjdk"
"03gxqn17cxwl1nspnwigacaqd28p02d45f396j5f4kkbzfnbl0ak"))
("corba-drop"
,(drop "corba"
"0ldcckknn2f92jv1144cnn0z3wmvxln28wc00rc6xxblnjcnamzh"))
("jaxp-drop"
,(drop "jaxp"
"0mnjdziffcnyqlyvf8dw1hrl4kiiwmh8ia0ym417wgvnjpaihci9"))
("jaxws-drop"
,(drop "jaxws"
"1gkmypnhygx2mxhca3ngy620k993wi2cc1wysc0np06y1rkx1mkn"))
("jdk-drop"
,(drop "jdk"
"10x43mqjfn43jlckic0nyf7apyyjyr910cdmmvy41kvw8ljhvg61"))
("langtools-drop"
,(drop "langtools"
"0q5nqc14r6vmhxgikw3wgdcc0r9symp830v13isnv8qdjgm6kcki"))
("hotspot-drop"
,(drop "hotspot"
"1yqxfd2jwbm5y41wscyfx8h0fr3h8ny2g2mda5iwd8sikxsaj96p"))
,@(fold alist-delete (package-native-inputs icedtea6)
'("openjdk6-src" "ant-bootstrap" "gcj")))))))

43
gnu/packages/jemalloc.scm Normal file
View file

@ -0,0 +1,43 @@
;;; 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 jemalloc)
#:use-module ((guix licenses) #:select (bsd-2))
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu))
(define-public jemalloc
(package
(name "jemalloc")
(version "3.6.0")
(source (origin
(method url-fetch)
(uri (string-append
"http://www.canonware.com/download/jemalloc/"
name "-" version ".tar.bz2"))
(sha256
(base32
"1zl4vxxjvhg72bdl53sl0idz9wp18c6yzjdmqcnwm09wvmcj2v71"))))
(build-system gnu-build-system)
(home-page "http://www.canonware.com/jemalloc/")
(synopsis "General-purpose scalable concurrent malloc implementation")
(description
"This library providing a malloc(3) implementation that emphasizes
fragmentation avoidance and scalable concurrency support.")
(license bsd-2)))

193
gnu/packages/julia.scm Normal file
View file

@ -0,0 +1,193 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages julia)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu)
#:use-module (gnu packages)
#:use-module (gnu packages algebra)
#:use-module (gnu packages base)
#:use-module (gnu packages elf)
#:use-module (gnu packages gcc)
#:use-module (gnu packages llvm)
#:use-module (gnu packages libunwind)
#:use-module (gnu packages maths)
#:use-module (gnu packages multiprecision) ; mpfr
#:use-module (gnu packages pcre)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages textutils)
#:use-module (gnu packages version-control)
#:use-module (ice-9 match))
(define-public julia
(package
(name "julia")
(version "0.3.6")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/JuliaLang/julia/releases/download/v"
version "/julia-" version "_0c24dca65c.tar.gz"))
(sha256
(base32
"1hnbc2blzr9bc27m3vsr127fhg0h5imgqlrx00jakf0my0ccw8gr"))))
(build-system gnu-build-system)
(arguments
`(#:test-target "test"
#:modules ((ice-9 match)
(guix build gnu-build-system)
(guix build utils))
;; The DSOs use $ORIGIN to refer to each other, but (guix build
;; gremlin) doesn't support it yet, so skip this phase.
#:validate-runpath? #f
#:phases
(alist-cons-after
'unpack 'hardcode-soname-map
;; ./src/ccall.cpp creates a map from library names to paths using the
;; output of "/sbin/ldconfig -p". Since ldconfig is not used in Guix,
;; we patch ccall.cpp to contain a static map.
(lambda* (#:key inputs #:allow-other-keys)
(use-modules (ice-9 match))
(substitute* "src/ccall.cpp"
(("jl_read_sonames.*;")
(string-join
(map (match-lambda
((input libname soname)
(string-append
"sonameMap[\"" libname "\"] = "
"\"" (assoc-ref inputs input) "/lib/" soname "\";")))
'(("libc" "libc" "libc.so.6")
("pcre" "libpcre" "libpcre.so")
("mpfr" "libmpfr" "libmpfr.so")
("openblas" "libblas" "libopenblas.so")
("arpack-ng" "libarpack" "libarpack.so")
("lapack" "liblapack" "liblapack.so")
("gmp" "libgmp" "libgmp.so")
("openlibm" "libopenlibm" "libopenlibm.so")
("openspecfun" "libopenspecfun" "libopenspecfun.so")
("fftw" "libfftw3" "libfftw3.so")
("fftwf" "libfftw3f" "libfftw3f.so")))))))
(alist-cons-before
'build 'replace-default-shell
(lambda _
(substitute* "base/client.jl"
(("/bin/sh") (which "sh"))))
(alist-cons-before
'build 'patch-include-path
(lambda _
(substitute* "deps/Makefile"
(("/usr/include/double-conversion")
(string-append (assoc-ref %build-inputs "double-conversion")
"/include/double-conversion"))))
(alist-cons-before
'check 'disable-broken-test
;; One test fails because it produces slightly different output.
(lambda _
(substitute* "test/repl.jl"
(("@test output") "# @test output")))
;; no configure script
(alist-delete 'configure %standard-phases)))))
#:make-flags
(list
(string-append "prefix=" (assoc-ref %outputs "out"))
;; Passing the MARCH flag is necessary to build binary substitutes for
;; the supported architectures.
,(match (or (%current-target-system)
(%current-system))
("x86_64-linux" "MARCH=x86-64")
("i686-linux" "MARCH=pentium4")
;; Prevent errors when querying this package on unsupported
;; platforms, e.g. when running "guix package --search="
(_ "MARCH=UNSUPPORTED"))
"CONFIG_SHELL=bash" ;needed to build bundled libraries
"USE_SYSTEM_LIBUV=0" ;Julia expects a modified libuv
"USE_SYSTEM_DSFMT=0" ;not packaged for Guix and upstream has no
;build system for a shared library.
"USE_SYSTEM_RMATH=0" ;Julia uses a bundled version of R's math
;library, patched to use the DSFMT RNG.
"USE_SYSTEM_LAPACK=1"
"USE_SYSTEM_BLAS=1"
"USE_BLAS64=0" ;needed when USE_SYSTEM_BLAS=1
"USE_SYSTEM_FFTW=1"
"LIBFFTWNAME=libfftw3"
"LIBFFTWFNAME=libfftw3f"
;; TODO: Suitesparse does not install shared libraries, so we cannot
;; use the suitesparse package.
;; "USE_SYSTEM_SUITESPARSE=1"
;; (string-append "SUITESPARSE_INC=-I "
;; (assoc-ref %build-inputs "suitesparse")
;; "/include")
"USE_SYSTEM_GRISU=1" ;for double-conversion
"USE_SYSTEM_UTF8PROC=1"
"USE_SYSTEM_LLVM=1"
"USE_SYSTEM_LIBUNWIND=1"
"USE_SYSTEM_PCRE=1"
"USE_SYSTEM_OPENLIBM=1"
"USE_SYSTEM_GMP=1"
"USE_SYSTEM_MPFR=1"
"USE_SYSTEM_ARPACK=1"
"USE_SYSTEM_LIBGIT2=1"
"USE_SYSTEM_OPENSPECFUN=1")))
(inputs
`(("llvm" ,llvm-3.5)
("arpack-ng" ,arpack-ng)
("lapack" ,lapack)
("openblas" ,openblas) ;Julia does not build with Atlas
("libunwind" ,libunwind)
("openlibm" ,openlibm)
("openspecfun" ,openspecfun)
("double-conversion" ,double-conversion)
("fftw" ,fftw)
("fftwf" ,fftwf)
("fortran" ,gfortran-4.8)
("pcre" ,pcre)
("utf8proc" ,utf8proc)
("git" ,git)
("mpfr" ,mpfr)
("gmp" ,gmp)))
(native-inputs
`(("perl" ,perl)
("patchelf" ,patchelf)
("pkg-config" ,pkg-config)
("python" ,python-2)
("which" ,which)))
;; Julia is not officially released for ARM and MIPS.
;; See https://github.com/JuliaLang/julia/issues/10639
(supported-systems '("i686-linux" "x86_64-linux"))
(home-page "http://julialang.org/")
(synopsis "High-performance dynamic language for technical computing")
(description
"Julia is a high-level, high-performance dynamic programming language for
technical computing, with syntax that is familiar to users of other technical
computing environments. It provides a sophisticated compiler, distributed
parallel execution, numerical accuracy, and an extensive mathematical function
library.")
(license license:expat)))

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