Merge branch 'master' into gtk-rebuild
Conflicts: gnu/packages/gtk.scm
This commit is contained in:
		
						commit
						86a81222ca
					
				
					 368 changed files with 27857 additions and 4269 deletions
				
			
		|  | @ -14,6 +14,7 @@ | ||||||
|   ((indent-tabs-mode . nil) |   ((indent-tabs-mode . nil) | ||||||
|    (eval . (put 'eval-when 'scheme-indent-function 1)) |    (eval . (put 'eval-when 'scheme-indent-function 1)) | ||||||
|    (eval . (put 'test-assert '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-equal 'scheme-indent-function 1)) | ||||||
|    (eval . (put 'test-eq 'scheme-indent-function 1)) |    (eval . (put 'test-eq 'scheme-indent-function 1)) | ||||||
|    (eval . (put 'call-with-input-string 'scheme-indent-function 1)) |    (eval . (put 'call-with-input-string 'scheme-indent-function 1)) | ||||||
|  |  | ||||||
							
								
								
									
										4
									
								
								.gitignore
									
										
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								.gitignore
									
										
									
									
										vendored
									
									
								
							|  | @ -96,7 +96,7 @@ stamp-h[0-9] | ||||||
| /doc/guix.tp | /doc/guix.tp | ||||||
| /doc/guix.vr | /doc/guix.vr | ||||||
| /doc/guix.vrs | /doc/guix.vrs | ||||||
| /nix/scripts/substitute-binary | /nix/scripts/substitute | ||||||
| /doc/images/bootstrap-graph.png | /doc/images/bootstrap-graph.png | ||||||
| /doc/images/bootstrap-graph.eps | /doc/images/bootstrap-graph.eps | ||||||
| /guix-register | /guix-register | ||||||
|  | @ -112,3 +112,5 @@ GTAGS | ||||||
| /emacs/guix-helper.scm | /emacs/guix-helper.scm | ||||||
| /emacs/guix-init.el | /emacs/guix-init.el | ||||||
| /emacs/guix-profiles.el | /emacs/guix-profiles.el | ||||||
|  | /doc/os-config-bare-bones.texi | ||||||
|  | /doc/os-config-desktop.texi | ||||||
|  |  | ||||||
							
								
								
									
										2
									
								
								AUTHORS
									
										
									
									
									
								
							
							
						
						
									
										2
									
								
								AUTHORS
									
										
									
									
									
								
							|  | @ -35,4 +35,6 @@ alphabetical order): | ||||||
|           David Thompson <dthompson2@worcester.edu> |           David Thompson <dthompson2@worcester.edu> | ||||||
|            Paul van der Walt <paul@denknerd.org> |            Paul van der Walt <paul@denknerd.org> | ||||||
|         Mark H. Weaver <mhw@netris.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> |         Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de> | ||||||
|  |  | ||||||
							
								
								
									
										29
									
								
								Makefile.am
									
										
									
									
									
								
							
							
						
						
									
										29
									
								
								Makefile.am
									
										
									
									
									
								
							|  | @ -51,6 +51,7 @@ MODULES =					\ | ||||||
|   guix/build-system/cmake.scm			\ |   guix/build-system/cmake.scm			\ | ||||||
|   guix/build-system/glib-or-gtk.scm		\ |   guix/build-system/glib-or-gtk.scm		\ | ||||||
|   guix/build-system/gnu.scm			\ |   guix/build-system/gnu.scm			\ | ||||||
|  |   guix/build-system/haskell.scm			\ | ||||||
|   guix/build-system/perl.scm			\ |   guix/build-system/perl.scm			\ | ||||||
|   guix/build-system/python.scm			\ |   guix/build-system/python.scm			\ | ||||||
|   guix/build-system/waf.scm			\ |   guix/build-system/waf.scm			\ | ||||||
|  | @ -74,16 +75,20 @@ MODULES =					\ | ||||||
|   guix/build/python-build-system.scm		\ |   guix/build/python-build-system.scm		\ | ||||||
|   guix/build/ruby-build-system.scm		\ |   guix/build/ruby-build-system.scm		\ | ||||||
|   guix/build/waf-build-system.scm		\ |   guix/build/waf-build-system.scm		\ | ||||||
|  |   guix/build/haskell-build-system.scm		\ | ||||||
|   guix/build/store-copy.scm			\ |   guix/build/store-copy.scm			\ | ||||||
|   guix/build/utils.scm				\ |   guix/build/utils.scm				\ | ||||||
|   guix/build/union.scm				\ |   guix/build/union.scm				\ | ||||||
|  |   guix/build/profiles.scm			\ | ||||||
|   guix/build/pull.scm				\ |   guix/build/pull.scm				\ | ||||||
|   guix/build/rpath.scm				\ |   guix/build/rpath.scm				\ | ||||||
|   guix/build/cvs.scm				\ |   guix/build/cvs.scm				\ | ||||||
|   guix/build/svn.scm				\ |   guix/build/svn.scm				\ | ||||||
|   guix/build/syscalls.scm			\ |   guix/build/syscalls.scm			\ | ||||||
|  |   guix/build/gremlin.scm			\ | ||||||
|   guix/build/emacs-utils.scm			\ |   guix/build/emacs-utils.scm			\ | ||||||
|   guix/build/graft.scm				\ |   guix/build/graft.scm				\ | ||||||
|  |   guix/search-paths.scm				\ | ||||||
|   guix/packages.scm				\ |   guix/packages.scm				\ | ||||||
|   guix/import/utils.scm				\ |   guix/import/utils.scm				\ | ||||||
|   guix/import/gnu.scm				\ |   guix/import/gnu.scm				\ | ||||||
|  | @ -96,7 +101,7 @@ MODULES =					\ | ||||||
|   guix/scripts/gc.scm				\ |   guix/scripts/gc.scm				\ | ||||||
|   guix/scripts/hash.scm				\ |   guix/scripts/hash.scm				\ | ||||||
|   guix/scripts/pull.scm				\ |   guix/scripts/pull.scm				\ | ||||||
|   guix/scripts/substitute-binary.scm		\ |   guix/scripts/substitute.scm			\ | ||||||
|   guix/scripts/authenticate.scm			\ |   guix/scripts/authenticate.scm			\ | ||||||
|   guix/scripts/refresh.scm			\ |   guix/scripts/refresh.scm			\ | ||||||
|   guix/scripts/system.scm			\ |   guix/scripts/system.scm			\ | ||||||
|  | @ -104,6 +109,7 @@ MODULES =					\ | ||||||
|   guix/scripts/import/gnu.scm			\ |   guix/scripts/import/gnu.scm			\ | ||||||
|   guix/scripts/import/nix.scm			\ |   guix/scripts/import/nix.scm			\ | ||||||
|   guix/scripts/environment.scm			\ |   guix/scripts/environment.scm			\ | ||||||
|  |   guix/scripts/publish.scm			\ | ||||||
|   guix.scm					\ |   guix.scm					\ | ||||||
|   $(GNU_SYSTEM_MODULES) |   $(GNU_SYSTEM_MODULES) | ||||||
| 
 | 
 | ||||||
|  | @ -129,7 +135,8 @@ KCONFIGS =					\ | ||||||
| 
 | 
 | ||||||
| # Templates, examples. | # Templates, examples. | ||||||
| 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 | GOBJECTS = $(MODULES:%.scm=%.go) guix/config.go guix/tests.go | ||||||
| 
 | 
 | ||||||
|  | @ -162,7 +169,7 @@ SCM_TESTS =					\ | ||||||
|   tests/pk-crypto.scm				\ |   tests/pk-crypto.scm				\ | ||||||
|   tests/pki.scm					\ |   tests/pki.scm					\ | ||||||
|   tests/sets.scm				\ |   tests/sets.scm				\ | ||||||
|   tests/substitute-binary.scm			\ |   tests/substitute.scm				\ | ||||||
|   tests/builders.scm				\ |   tests/builders.scm				\ | ||||||
|   tests/derivations.scm				\ |   tests/derivations.scm				\ | ||||||
|   tests/ui.scm					\ |   tests/ui.scm					\ | ||||||
|  | @ -178,7 +185,9 @@ SCM_TESTS =					\ | ||||||
|   tests/union.scm				\ |   tests/union.scm				\ | ||||||
|   tests/profiles.scm				\ |   tests/profiles.scm				\ | ||||||
|   tests/syscalls.scm				\ |   tests/syscalls.scm				\ | ||||||
|   tests/lint.scm |   tests/gremlin.scm				\ | ||||||
|  |   tests/lint.scm				\ | ||||||
|  |   tests/publish.scm | ||||||
| 
 | 
 | ||||||
| if HAVE_GUILE_JSON | if HAVE_GUILE_JSON | ||||||
| 
 | 
 | ||||||
|  | @ -201,6 +210,7 @@ SH_TESTS =					\ | ||||||
|   tests/guix-gc.sh				\ |   tests/guix-gc.sh				\ | ||||||
|   tests/guix-hash.sh				\ |   tests/guix-hash.sh				\ | ||||||
|   tests/guix-package.sh				\ |   tests/guix-package.sh				\ | ||||||
|  |   tests/guix-package-net.sh			\ | ||||||
|   tests/guix-system.sh				\ |   tests/guix-system.sh				\ | ||||||
|   tests/guix-archive.sh				\ |   tests/guix-archive.sh				\ | ||||||
|   tests/guix-authenticate.sh			\ |   tests/guix-authenticate.sh			\ | ||||||
|  | @ -235,6 +245,9 @@ tests/guix-gc.log:							\ | ||||||
| # Public key used to sign substitutes from hydra.gnu.org. | # Public key used to sign substitutes from hydra.gnu.org. | ||||||
| dist_pkgdata_DATA = hydra.gnu.org.pub | dist_pkgdata_DATA = hydra.gnu.org.pub | ||||||
| 
 | 
 | ||||||
|  | # Bash completion file. | ||||||
|  | dist_bashcompletion_DATA = etc/completion/bash/guix | ||||||
|  | 
 | ||||||
| EXTRA_DIST =						\ | EXTRA_DIST =						\ | ||||||
|   HACKING						\ |   HACKING						\ | ||||||
|   ROADMAP						\ |   ROADMAP						\ | ||||||
|  | @ -248,6 +261,7 @@ EXTRA_DIST =						\ | ||||||
|   build-aux/check-final-inputs-self-contained.scm	\ |   build-aux/check-final-inputs-self-contained.scm	\ | ||||||
|   build-aux/download.scm				\ |   build-aux/download.scm				\ | ||||||
|   build-aux/list-packages.scm				\ |   build-aux/list-packages.scm				\ | ||||||
|  |   build-aux/make-binary-tarball.scm			\ | ||||||
|   srfi/srfi-37.scm.in					\ |   srfi/srfi-37.scm.in					\ | ||||||
|   srfi/srfi-64.scm					\ |   srfi/srfi-64.scm					\ | ||||||
|   srfi/srfi-64.upstream.scm				\ |   srfi/srfi-64.upstream.scm				\ | ||||||
|  | @ -333,6 +347,13 @@ dist_emacsui_DATA = emacs/guix-main.scm | ||||||
| nodist_emacsui_DATA = emacs/guix-helper.scm | nodist_emacsui_DATA = emacs/guix-helper.scm | ||||||
| include emacs.am | 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 | dist-hook: sync-descriptions gen-ChangeLog assert-no-store-file-names | ||||||
| distcheck-hook: assert-binaries-available assert-final-inputs-self-contained | distcheck-hook: assert-binaries-available assert-final-inputs-self-contained | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
							
								
								
									
										372
									
								
								NEWS
									
										
									
									
									
								
							
							
						
						
									
										372
									
								
								NEWS
									
										
									
									
									
								
							|  | @ -10,6 +10,378 @@ Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org> | ||||||
| 
 | 
 | ||||||
| Please send Guix bug reports to bug-guix@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 one’s store | ||||||
|  | 
 | ||||||
|  | See “Invoking guix publish” in the manual. | ||||||
|  | 
 | ||||||
|  | *** ‘guix package’ runs “profile creation hooks” as needed | ||||||
|  | 
 | ||||||
|  | It creates X.509 certificate bundles in the profile’s 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 profile’s ‘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 roots–i.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 dhclient’s PID | ||||||
|  | 
 | ||||||
|  | ** Native language support | ||||||
|  | 
 | ||||||
|  | *** New translations: da (Danish) | ||||||
|  | 
 | ||||||
|  | *** Updated translations: eo | ||||||
|  | 
 | ||||||
| * Changes in 0.8.1 (since 0.8) | * Changes in 0.8.1 (since 0.8) | ||||||
| 
 | 
 | ||||||
| ** Package management | ** Package management | ||||||
|  |  | ||||||
							
								
								
									
										3
									
								
								README
									
										
									
									
									
								
							
							
						
						
									
										3
									
								
								README
									
										
									
									
									
								
							|  | @ -20,8 +20,9 @@ Guix is based on the [[http://nixos.org/nix/][Nix]] package manager. | ||||||
| 
 | 
 | ||||||
| GNU Guix currently depends on the following packages: | 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://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://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 |   - 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 |     in the 'guix download' command.  Note that 'guix import pypi' requires | ||||||
|  |  | ||||||
							
								
								
									
										2
									
								
								THANKS
									
										
									
									
									
								
							
							
						
						
									
										2
									
								
								THANKS
									
										
									
									
									
								
							|  | @ -29,7 +29,9 @@ infrastructure help: | ||||||
| 	   Yutaka Niibe <gniibe@fsij.org> | 	   Yutaka Niibe <gniibe@fsij.org> | ||||||
|            Andrei Osipov <andrspv@gmail.com> |            Andrei Osipov <andrspv@gmail.com> | ||||||
|              Adam Pribyl <pribyl@lowlevel.cz> |              Adam Pribyl <pribyl@lowlevel.cz> | ||||||
|  |             Pjotr Prins <pjotr.public12@thebird.nl> | ||||||
|                   rekado <rekado@elephly.net> |                   rekado <rekado@elephly.net> | ||||||
|  |            Joshua Randall <jcrandall@alum.mit.edu> | ||||||
|       Bruno Félix Rezende Ribeiro <oitofelix@gnu.org> |       Bruno Félix Rezende Ribeiro <oitofelix@gnu.org> | ||||||
| 	   Cyrill Schenkel <cyrill.schenkel@gmail.com> | 	   Cyrill Schenkel <cyrill.schenkel@gmail.com> | ||||||
| 	    Benno Schulenberg <coordinator@translationproject.org> | 	    Benno Schulenberg <coordinator@translationproject.org> | ||||||
|  |  | ||||||
|  | @ -33,7 +33,7 @@ | ||||||
|     (let* ((native (append-map (lambda (system) |     (let* ((native (append-map (lambda (system) | ||||||
|                                  (map (cut package-derivation store <> system) |                                  (map (cut package-derivation store <> system) | ||||||
|                                       (list %bootstrap-tarballs emacs))) |                                       (list %bootstrap-tarballs emacs))) | ||||||
|                                %supported-systems)) |                                %hydra-supported-systems)) | ||||||
|            (cross  (map (cut package-cross-derivation store |            (cross  (map (cut package-cross-derivation store | ||||||
|                              %bootstrap-tarballs <>) |                              %bootstrap-tarballs <>) | ||||||
|                         '("mips64el-linux-gnuabi64"))) |                         '("mips64el-linux-gnuabi64"))) | ||||||
|  |  | ||||||
|  | @ -77,5 +77,5 @@ refer to the bootstrap tools." | ||||||
|     (set-build-options store #:use-substitutes? #t) |     (set-build-options store #:use-substitutes? #t) | ||||||
| 
 | 
 | ||||||
|     (for-each (cut test-final-inputs store <>) |     (for-each (cut test-final-inputs store <>) | ||||||
|               %supported-systems))) |               %hydra-supported-systems))) | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -54,6 +54,7 @@ | ||||||
|              (gnu packages multiprecision) |              (gnu packages multiprecision) | ||||||
|              (gnu packages make-bootstrap) |              (gnu packages make-bootstrap) | ||||||
|              (gnu packages commencement) |              (gnu packages commencement) | ||||||
|  |              (gnu packages package-management) | ||||||
|              (gnu system) |              (gnu system) | ||||||
|              (gnu system vm) |              (gnu system vm) | ||||||
|              (gnu system install) |              (gnu system install) | ||||||
|  | @ -158,9 +159,33 @@ system.") | ||||||
|                        (set-guile-for-build (default-guile)) |                        (set-guile-for-build (default-guile)) | ||||||
|                        (system-disk-image installation-os |                        (system-disk-image installation-os | ||||||
|                                           #:disk-image-size |                                           #: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 | (define job-name | ||||||
|   ;; Return the name of a package's job. |   ;; Return the name of a package's job. | ||||||
|   (compose string->symbol package-full-name)) |   (compose string->symbol package-full-name)) | ||||||
|  | @ -179,8 +204,7 @@ system.") | ||||||
| valid." | valid." | ||||||
|       (cond ((member package base-packages) |       (cond ((member package base-packages) | ||||||
|              #f) |              #f) | ||||||
|             ((member system |             ((supported-package? package system) | ||||||
|                      (package-transitive-supported-systems package)) |  | ||||||
|              (package-job store (job-name package) package system)) |              (package-job store (job-name package) package system)) | ||||||
|             (else |             (else | ||||||
|              #f))))) |              #f))))) | ||||||
|  | @ -234,6 +258,7 @@ valid." | ||||||
|                                           (cons job result) |                                           (cons job result) | ||||||
|                                           result))) |                                           result))) | ||||||
|                                   (append (qemu-jobs store system) |                                   (append (qemu-jobs store system) | ||||||
|  |                                           (tarball-jobs store system) | ||||||
|                                           (cross-jobs system)))) |                                           (cross-jobs system)))) | ||||||
|                   ((core) |                   ((core) | ||||||
|                    ;; Build core packages only. |                    ;; Build core packages only. | ||||||
|  | @ -244,4 +269,4 @@ valid." | ||||||
|                            (cross-jobs system))) |                            (cross-jobs system))) | ||||||
|                   (else |                   (else | ||||||
|                    (error "unknown subset" subset)))) |                    (error "unknown subset" subset)))) | ||||||
|               %supported-systems)) |               %hydra-supported-systems)) | ||||||
|  |  | ||||||
|  | @ -1,5 +1,5 @@ | ||||||
| ;;; GNU Guix --- Functional package management for GNU | ;;; 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. | ;;; This file is part of GNU Guix. | ||||||
| ;;; | ;;; | ||||||
|  | @ -68,25 +68,10 @@ | ||||||
|     (home-page . ,(package-home-page package)) |     (home-page . ,(package-home-page package)) | ||||||
|     (maintainers . ("bug-guix@gnu.org")))) |     (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 |   "Return a package that does `make distcheck' from CHECKOUT, a directory | ||||||
| containing a Git checkout of Guix." | containing a Git checkout of Guix." | ||||||
|   (let ((dist (dist-package guix checkout))) |   (dist-package guix checkout)) | ||||||
|     (package (inherit dist) |  | ||||||
|       (location (source-properties->location (current-source-location))) |  | ||||||
|       (arguments (substitute-keyword-arguments (package-arguments dist) |  | ||||||
|                    ((#:phases p) |  | ||||||
|                     `(alist-cons-before |  | ||||||
|                       'autoreconf 'set-nix-submodule |  | ||||||
|                       (lambda _ |  | ||||||
|                         ;; Tell Git to use the Nix checkout that Hydra gave us. |  | ||||||
|                         (zero? |  | ||||||
|                          (system* "git" "config" "submodule.nix-upstream.url" |  | ||||||
|                                   ,nix-checkout))) |  | ||||||
|                       ,p)))) |  | ||||||
|       (native-inputs `(("git" ,git) |  | ||||||
|                        ("graphviz" ,graphviz) |  | ||||||
|                        ,@(package-native-inputs dist)))))) |  | ||||||
| 
 | 
 | ||||||
| (define (hydra-jobs store arguments) | (define (hydra-jobs store arguments) | ||||||
|   "Return Hydra jobs." |   "Return Hydra jobs." | ||||||
|  | @ -104,13 +89,9 @@ containing a Git checkout of Guix." | ||||||
|   (define guix-checkout |   (define guix-checkout | ||||||
|     (assq-ref arguments 'guix)) |     (assq-ref arguments 'guix)) | ||||||
| 
 | 
 | ||||||
|   (define nix-checkout |   (let ((guix (assq-ref guix-checkout 'file-name))) | ||||||
|     (assq-ref arguments 'nix)) |     (format (current-error-port) "using checkout ~s (~s)~%" | ||||||
| 
 |             guix-checkout guix) | ||||||
|   (format (current-error-port) "using checkout ~s (Nix: ~s)~%" |  | ||||||
|           guix-checkout nix-checkout) |  | ||||||
|   (let ((guix (assq-ref guix-checkout 'file-name)) |  | ||||||
|         (nix  (assq-ref nix-checkout 'file-name))) |  | ||||||
|     `((tarball . ,(cute package->alist store |     `((tarball . ,(cute package->alist store | ||||||
|                         (tarball-package guix nix) |                         (tarball-package guix) | ||||||
|                         (%current-system)))))) |                         (%current-system)))))) | ||||||
|  |  | ||||||
|  | @ -167,7 +167,11 @@ decreasing, is 1." | ||||||
|           ,system)) |           ,system)) | ||||||
| 
 | 
 | ||||||
|     `(div "status: " |     `(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) |   (define (package-logo name) | ||||||
|  |  | ||||||
							
								
								
									
										47
									
								
								build-aux/make-binary-tarball.scm
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										47
									
								
								build-aux/make-binary-tarball.scm
									
										
									
									
									
										Normal 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)))) | ||||||
|  | @ -5,9 +5,12 @@ AC_MSG_RESULT([$guix_build_daemon]) | ||||||
| 
 | 
 | ||||||
| dnl C++ environment.  This macro must be used unconditionnaly. | dnl C++ environment.  This macro must be used unconditionnaly. | ||||||
| AC_PROG_CXX | AC_PROG_CXX | ||||||
|  | AC_LANG([C++]) | ||||||
| 
 | 
 | ||||||
| if test "x$guix_build_daemon" = "xyes"; then | if test "x$guix_build_daemon" = "xyes"; then | ||||||
| 
 | 
 | ||||||
|  |   GUIX_ASSERT_CXX11 | ||||||
|  | 
 | ||||||
|   AC_PROG_RANLIB |   AC_PROG_RANLIB | ||||||
|   AC_CONFIG_HEADER([nix/config.h]) |   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], |   AC_CONFIG_FILES([nix/scripts/list-runtime-roots], | ||||||
|     [chmod +x nix/scripts/list-runtime-roots]) |     [chmod +x nix/scripts/list-runtime-roots]) | ||||||
|   AC_CONFIG_FILES([nix/scripts/substitute-binary], |   AC_CONFIG_FILES([nix/scripts/substitute], | ||||||
|     [chmod +x nix/scripts/substitute-binary]) |     [chmod +x nix/scripts/substitute]) | ||||||
|   AC_CONFIG_FILES([nix/scripts/guix-authenticate], |   AC_CONFIG_FILES([nix/scripts/guix-authenticate], | ||||||
|     [chmod +x nix/scripts/guix-authenticate]) |     [chmod +x nix/scripts/guix-authenticate]) | ||||||
|   AC_CONFIG_FILES([nix/scripts/offload], |   AC_CONFIG_FILES([nix/scripts/offload], | ||||||
|  |  | ||||||
							
								
								
									
										14
									
								
								configure.ac
									
										
									
									
									
								
							
							
						
						
									
										14
									
								
								configure.ac
									
										
									
									
									
								
							|  | @ -7,7 +7,10 @@ AC_INIT([GNU Guix], [0.8.2], [bug-guix@gnu.org], [guix], | ||||||
| AC_CONFIG_AUX_DIR([build-aux]) | AC_CONFIG_AUX_DIR([build-aux]) | ||||||
| 
 | 
 | ||||||
| AM_INIT_AUTOMAKE([1.12 gnu silent-rules subdir-objects \ | 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_SRCDIR([guix.scm]) | ||||||
| AC_CONFIG_MACRO_DIR([m4]) | AC_CONFIG_MACRO_DIR([m4]) | ||||||
|  | @ -31,6 +34,13 @@ AC_ARG_WITH(store-dir, | ||||||
|   [storedir="/gnu/store"]) |   [storedir="/gnu/store"]) | ||||||
| AC_SUBST(storedir) | 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. | dnl Better be verbose. | ||||||
| AC_MSG_CHECKING([for the store directory]) | AC_MSG_CHECKING([for the store directory]) | ||||||
| AC_MSG_RESULT([$storedir]) | AC_MSG_RESULT([$storedir]) | ||||||
|  | @ -57,7 +67,7 @@ dnl Make sure they are available. | ||||||
| m4_pattern_forbid([PKG_CHECK_MODULES]) | m4_pattern_forbid([PKG_CHECK_MODULES]) | ||||||
| m4_pattern_forbid([GUILE_MODULE_AVAILABLE]) | 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([GUILE], [guile]) | ||||||
| AC_PATH_PROG([GUILD], [guild]) | AC_PATH_PROG([GUILD], [guild]) | ||||||
| if test "x$GUILD" = "x"; then | if test "x$GUILD" = "x"; then | ||||||
|  |  | ||||||
|  | @ -25,8 +25,8 @@ CLEANFILES += $(BUILT_SOURCES) | ||||||
| 
 | 
 | ||||||
| noinst_LIBRARIES = libformat.a libutil.a libstore.a | noinst_LIBRARIES = libformat.a libutil.a libstore.a | ||||||
| 
 | 
 | ||||||
| # Use '-std=c++0x' for 'std::shared_ptr'. | # Use '-std=c++11' for 'std::shared_ptr', 'auto', lambdas, and more. | ||||||
| AM_CXXFLAGS = -Wall -std=c++0x | AM_CXXFLAGS = -Wall -std=c++11 | ||||||
| 
 | 
 | ||||||
| libformat_a_SOURCES =				\ | libformat_a_SOURCES =				\ | ||||||
|   nix/boost/format/free_funcs.cc		\ |   nix/boost/format/free_funcs.cc		\ | ||||||
|  | @ -112,7 +112,8 @@ libstore_a_CPPFLAGS =				\ | ||||||
|   -DNIX_CONF_DIR=\"$(sysconfdir)/guix\"		\ |   -DNIX_CONF_DIR=\"$(sysconfdir)/guix\"		\ | ||||||
|   -DNIX_LIBEXEC_DIR=\"$(libexecdir)\"		\ |   -DNIX_LIBEXEC_DIR=\"$(libexecdir)\"		\ | ||||||
|   -DNIX_BIN_DIR=\"$(bindir)\"			\ |   -DNIX_BIN_DIR=\"$(bindir)\"			\ | ||||||
|   -DOPENSSL_PATH="\"guix-authenticate\"" |   -DOPENSSL_PATH="\"guix-authenticate\""	\ | ||||||
|  |   -DDEFAULT_CHROOT_DIRS="\"\"" | ||||||
| 
 | 
 | ||||||
| libstore_a_CXXFLAGS = $(AM_CXXFLAGS)		\ | libstore_a_CXXFLAGS = $(AM_CXXFLAGS)		\ | ||||||
|   $(SQLITE3_CFLAGS) $(LIBGCRYPT_CFLAGS) |   $(SQLITE3_CFLAGS) $(LIBGCRYPT_CFLAGS) | ||||||
|  | @ -165,7 +166,7 @@ nix/libstore/schema.sql.hh: nix/libstore/schema.sql | ||||||
| 
 | 
 | ||||||
| nodist_pkglibexec_SCRIPTS =			\ | nodist_pkglibexec_SCRIPTS =			\ | ||||||
|   nix/scripts/list-runtime-roots		\ |   nix/scripts/list-runtime-roots		\ | ||||||
|   nix/scripts/substitute-binary |   nix/scripts/substitute | ||||||
| 
 | 
 | ||||||
| if BUILD_DAEMON_OFFLOAD | if BUILD_DAEMON_OFFLOAD | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
							
								
								
									
										16
									
								
								doc.am
									
										
									
									
									
								
							
							
						
						
									
										16
									
								
								doc.am
									
										
									
									
									
								
							|  | @ -1,5 +1,5 @@ | ||||||
| # GNU Guix --- Functional package management for GNU | # 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> | # Copyright © 2013 Andreas Enge <andreas@enge.fr> | ||||||
| # | # | ||||||
| # This file is part of GNU Guix. | # This file is part of GNU Guix. | ||||||
|  | @ -25,12 +25,16 @@ EXTRA_DIST +=					\ | ||||||
|   doc/images/bootstrap-graph.eps		\ |   doc/images/bootstrap-graph.eps		\ | ||||||
|   doc/images/bootstrap-graph.pdf |   doc/images/bootstrap-graph.pdf | ||||||
| 
 | 
 | ||||||
| # Bundle this file so that makeinfo finds it in out-of-source-tree builds. | OS_CONFIG_EXAMPLES_TEXI =			\ | ||||||
| BUILT_SOURCES        += doc/os-config.texi |   doc/os-config-bare-bones.texi			\ | ||||||
| EXTRA_DIST           += doc/os-config.texi |   doc/os-config-desktop.texi | ||||||
| MAINTAINERCLEANFILES  = doc/os-config.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 "$@"`" | 	$(MKDIR_P) "`dirname "$@"`" | ||||||
| 	cp "$<" "$@" | 	cp "$<" "$@" | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
							
								
								
									
										1113
									
								
								doc/guix.texi
									
										
									
									
									
								
							
							
						
						
									
										1113
									
								
								doc/guix.texi
									
										
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load diff
											
										
									
								
							
							
								
								
									
										139
									
								
								etc/completion/bash/guix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										139
									
								
								etc/completion/bash/guix
									
										
									
									
									
										Normal 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 | ||||||
|  | @ -38,6 +38,7 @@ GNU_SYSTEM_MODULES =				\ | ||||||
|   gnu/packages/asciidoc.scm			\ |   gnu/packages/asciidoc.scm			\ | ||||||
|   gnu/packages/aspell.scm			\ |   gnu/packages/aspell.scm			\ | ||||||
|   gnu/packages/attr.scm				\ |   gnu/packages/attr.scm				\ | ||||||
|  |   gnu/packages/audacity.scm			\ | ||||||
|   gnu/packages/audio.scm			\ |   gnu/packages/audio.scm			\ | ||||||
|   gnu/packages/autogen.scm			\ |   gnu/packages/autogen.scm			\ | ||||||
|   gnu/packages/autotools.scm			\ |   gnu/packages/autotools.scm			\ | ||||||
|  | @ -92,6 +93,7 @@ GNU_SYSTEM_MODULES =				\ | ||||||
|   gnu/packages/enchant.scm			\ |   gnu/packages/enchant.scm			\ | ||||||
|   gnu/packages/engineering.scm			\ |   gnu/packages/engineering.scm			\ | ||||||
|   gnu/packages/enlightenment.scm		\ |   gnu/packages/enlightenment.scm		\ | ||||||
|  |   gnu/packages/fcitx.scm			\ | ||||||
|   gnu/packages/feh.scm                          \ |   gnu/packages/feh.scm                          \ | ||||||
|   gnu/packages/file.scm				\ |   gnu/packages/file.scm				\ | ||||||
|   gnu/packages/firmware.scm			\ |   gnu/packages/firmware.scm			\ | ||||||
|  | @ -122,6 +124,7 @@ GNU_SYSTEM_MODULES =				\ | ||||||
|   gnu/packages/gl.scm				\ |   gnu/packages/gl.scm				\ | ||||||
|   gnu/packages/glib.scm				\ |   gnu/packages/glib.scm				\ | ||||||
|   gnu/packages/gnome.scm			\ |   gnu/packages/gnome.scm			\ | ||||||
|  |   gnu/packages/gnucash.scm			\ | ||||||
|   gnu/packages/gnunet.scm			\ |   gnu/packages/gnunet.scm			\ | ||||||
|   gnu/packages/gnupg.scm			\ |   gnu/packages/gnupg.scm			\ | ||||||
|   gnu/packages/gnustep.scm			\ |   gnu/packages/gnustep.scm			\ | ||||||
|  | @ -146,6 +149,7 @@ GNU_SYSTEM_MODULES =				\ | ||||||
|   gnu/packages/haskell.scm			\ |   gnu/packages/haskell.scm			\ | ||||||
|   gnu/packages/hugs.scm				\ |   gnu/packages/hugs.scm				\ | ||||||
|   gnu/packages/hurd.scm				\ |   gnu/packages/hurd.scm				\ | ||||||
|  |   gnu/packages/ibus.scm				\ | ||||||
|   gnu/packages/icu4c.scm			\ |   gnu/packages/icu4c.scm			\ | ||||||
|   gnu/packages/idutils.scm			\ |   gnu/packages/idutils.scm			\ | ||||||
|   gnu/packages/image.scm			\ |   gnu/packages/image.scm			\ | ||||||
|  | @ -155,11 +159,12 @@ GNU_SYSTEM_MODULES =				\ | ||||||
|   gnu/packages/irssi.scm			\ |   gnu/packages/irssi.scm			\ | ||||||
|   gnu/packages/iso-codes.scm			\ |   gnu/packages/iso-codes.scm			\ | ||||||
|   gnu/packages/java.scm				\ |   gnu/packages/java.scm				\ | ||||||
|  |   gnu/packages/jemalloc.scm			\ | ||||||
|   gnu/packages/jrnl.scm				\ |   gnu/packages/jrnl.scm				\ | ||||||
|  |   gnu/packages/julia.scm			\ | ||||||
|   gnu/packages/kde.scm				\ |   gnu/packages/kde.scm				\ | ||||||
|   gnu/packages/key-mon.scm			\ |   gnu/packages/key-mon.scm			\ | ||||||
|   gnu/packages/language.scm			\ |   gnu/packages/language.scm			\ | ||||||
|   gnu/packages/ld-wrapper.scm			\ |  | ||||||
|   gnu/packages/less.scm				\ |   gnu/packages/less.scm				\ | ||||||
|   gnu/packages/lesstif.scm			\ |   gnu/packages/lesstif.scm			\ | ||||||
|   gnu/packages/libcanberra.scm			\ |   gnu/packages/libcanberra.scm			\ | ||||||
|  | @ -169,8 +174,10 @@ GNU_SYSTEM_MODULES =				\ | ||||||
|   gnu/packages/libffcall.scm			\ |   gnu/packages/libffcall.scm			\ | ||||||
|   gnu/packages/libffi.scm			\ |   gnu/packages/libffi.scm			\ | ||||||
|   gnu/packages/libftdi.scm			\ |   gnu/packages/libftdi.scm			\ | ||||||
|  |   gnu/packages/calendar.scm			\ | ||||||
|   gnu/packages/libidn.scm			\ |   gnu/packages/libidn.scm			\ | ||||||
|   gnu/packages/libphidget.scm			\ |   gnu/packages/libphidget.scm			\ | ||||||
|  |   gnu/packages/libreoffice.scm			\ | ||||||
|   gnu/packages/libsigsegv.scm			\ |   gnu/packages/libsigsegv.scm			\ | ||||||
|   gnu/packages/libunistring.scm			\ |   gnu/packages/libunistring.scm			\ | ||||||
|   gnu/packages/libusb.scm			\ |   gnu/packages/libusb.scm			\ | ||||||
|  | @ -179,6 +186,7 @@ GNU_SYSTEM_MODULES =				\ | ||||||
|   gnu/packages/lightning.scm			\ |   gnu/packages/lightning.scm			\ | ||||||
|   gnu/packages/links.scm			\ |   gnu/packages/links.scm			\ | ||||||
|   gnu/packages/linux.scm			\ |   gnu/packages/linux.scm			\ | ||||||
|  |   gnu/packages/lirc.scm				\ | ||||||
|   gnu/packages/lisp.scm				\ |   gnu/packages/lisp.scm				\ | ||||||
|   gnu/packages/llvm.scm				\ |   gnu/packages/llvm.scm				\ | ||||||
|   gnu/packages/lout.scm				\ |   gnu/packages/lout.scm				\ | ||||||
|  | @ -211,6 +219,7 @@ GNU_SYSTEM_MODULES =				\ | ||||||
|   gnu/packages/ncurses.scm			\ |   gnu/packages/ncurses.scm			\ | ||||||
|   gnu/packages/netpbm.scm			\ |   gnu/packages/netpbm.scm			\ | ||||||
|   gnu/packages/nettle.scm			\ |   gnu/packages/nettle.scm			\ | ||||||
|  |   gnu/packages/networking.scm			\ | ||||||
|   gnu/packages/ninja.scm			\ |   gnu/packages/ninja.scm			\ | ||||||
|   gnu/packages/node.scm				\ |   gnu/packages/node.scm				\ | ||||||
|   gnu/packages/noweb.scm			\ |   gnu/packages/noweb.scm			\ | ||||||
|  | @ -218,7 +227,7 @@ GNU_SYSTEM_MODULES =				\ | ||||||
|   gnu/packages/nutrition.scm			\ |   gnu/packages/nutrition.scm			\ | ||||||
|   gnu/packages/nvi.scm				\ |   gnu/packages/nvi.scm				\ | ||||||
|   gnu/packages/ocaml.scm			\ |   gnu/packages/ocaml.scm			\ | ||||||
|   gnu/packages/ocrad.scm			\ |   gnu/packages/ocr.scm				\ | ||||||
|   gnu/packages/onc-rpc.scm			\ |   gnu/packages/onc-rpc.scm			\ | ||||||
|   gnu/packages/openbox.scm			\ |   gnu/packages/openbox.scm			\ | ||||||
|   gnu/packages/openldap.scm			\ |   gnu/packages/openldap.scm			\ | ||||||
|  | @ -267,13 +276,13 @@ GNU_SYSTEM_MODULES =				\ | ||||||
|   gnu/packages/slang.scm			\ |   gnu/packages/slang.scm			\ | ||||||
|   gnu/packages/slim.scm				\ |   gnu/packages/slim.scm				\ | ||||||
|   gnu/packages/smalltalk.scm			\ |   gnu/packages/smalltalk.scm			\ | ||||||
|   gnu/packages/socat.scm			\ |  | ||||||
|   gnu/packages/ssh.scm				\ |   gnu/packages/ssh.scm				\ | ||||||
|   gnu/packages/stalonetray.scm			\ |   gnu/packages/stalonetray.scm			\ | ||||||
|   gnu/packages/statistics.scm			\ |   gnu/packages/statistics.scm			\ | ||||||
|   gnu/packages/swig.scm				\ |   gnu/packages/swig.scm				\ | ||||||
|   gnu/packages/sxiv.scm				\ |   gnu/packages/sxiv.scm				\ | ||||||
|   gnu/packages/synergy.scm			\ |   gnu/packages/synergy.scm			\ | ||||||
|  |   gnu/packages/task-management.scm		\ | ||||||
|   gnu/packages/tbb.scm				\ |   gnu/packages/tbb.scm				\ | ||||||
|   gnu/packages/tcl.scm				\ |   gnu/packages/tcl.scm				\ | ||||||
|   gnu/packages/tcsh.scm				\ |   gnu/packages/tcsh.scm				\ | ||||||
|  | @ -285,6 +294,7 @@ GNU_SYSTEM_MODULES =				\ | ||||||
|   gnu/packages/tmux.scm				\ |   gnu/packages/tmux.scm				\ | ||||||
|   gnu/packages/tor.scm				\ |   gnu/packages/tor.scm				\ | ||||||
|   gnu/packages/tre.scm				\ |   gnu/packages/tre.scm				\ | ||||||
|  |   gnu/packages/tv.scm				\ | ||||||
|   gnu/packages/unrtf.scm			\ |   gnu/packages/unrtf.scm			\ | ||||||
|   gnu/packages/upnp.scm				\ |   gnu/packages/upnp.scm				\ | ||||||
|   gnu/packages/uucp.scm				\ |   gnu/packages/uucp.scm				\ | ||||||
|  | @ -297,6 +307,7 @@ GNU_SYSTEM_MODULES =				\ | ||||||
|   gnu/packages/w3m.scm				\ |   gnu/packages/w3m.scm				\ | ||||||
|   gnu/packages/wdiff.scm			\ |   gnu/packages/wdiff.scm			\ | ||||||
|   gnu/packages/web.scm				\ |   gnu/packages/web.scm				\ | ||||||
|  |   gnu/packages/webkit.scm			\ | ||||||
|   gnu/packages/weechat.scm			\ |   gnu/packages/weechat.scm			\ | ||||||
|   gnu/packages/wget.scm				\ |   gnu/packages/wget.scm				\ | ||||||
|   gnu/packages/wicd.scm				\ |   gnu/packages/wicd.scm				\ | ||||||
|  | @ -320,8 +331,10 @@ GNU_SYSTEM_MODULES =				\ | ||||||
|   gnu/services.scm				\ |   gnu/services.scm				\ | ||||||
|   gnu/services/avahi.scm			\ |   gnu/services/avahi.scm			\ | ||||||
|   gnu/services/base.scm				\ |   gnu/services/base.scm				\ | ||||||
|   gnu/services/dbus.scm				\ |   gnu/services/databases.scm			\ | ||||||
|  |   gnu/services/desktop.scm			\ | ||||||
|   gnu/services/dmd.scm				\ |   gnu/services/dmd.scm				\ | ||||||
|  |   gnu/services/lirc.scm				\ | ||||||
|   gnu/services/networking.scm			\ |   gnu/services/networking.scm			\ | ||||||
|   gnu/services/ssh.scm				\ |   gnu/services/ssh.scm				\ | ||||||
|   gnu/services/xorg.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-binutils.patch	\ | ||||||
|   gnu/packages/patches/ath9k-htc-firmware-gcc.patch		\ |   gnu/packages/patches/ath9k-htc-firmware-gcc.patch		\ | ||||||
|   gnu/packages/patches/ath9k-htc-firmware-objcopy.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/automake-skip-amhello-tests.patch	\ | ||||||
|   gnu/packages/patches/avahi-localstatedir.patch		\ |   gnu/packages/patches/avahi-localstatedir.patch		\ | ||||||
|   gnu/packages/patches/avrdude-fix-libusb.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/bigloo-gc-shebangs.patch			\ | ||||||
|   gnu/packages/patches/binutils-ld-new-dtags.patch		\ |   gnu/packages/patches/binutils-ld-new-dtags.patch		\ | ||||||
|   gnu/packages/patches/binutils-loongson-workaround.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-drop-unrar.patch			\ | ||||||
|  |   gnu/packages/patches/calibre-no-updates-dialog.patch		\ | ||||||
|   gnu/packages/patches/cdparanoia-fpic.patch			\ |   gnu/packages/patches/cdparanoia-fpic.patch			\ | ||||||
|   gnu/packages/patches/chmlib-inttypes.patch			\ |   gnu/packages/patches/chmlib-inttypes.patch			\ | ||||||
|   gnu/packages/patches/clucene-pkgconfig.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-gets-undeclared.patch               \ | ||||||
|   gnu/packages/patches/cssc-missing-include.patch               \ |   gnu/packages/patches/cssc-missing-include.patch               \ | ||||||
|   gnu/packages/patches/clucene-contribs-lib.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/cursynth-wave-rand.patch			\ | ||||||
|   gnu/packages/patches/dbus-localstatedir.patch			\ |   gnu/packages/patches/dbus-localstatedir.patch			\ | ||||||
|   gnu/packages/patches/diffutils-gets-undeclared.patch		\ |   gnu/packages/patches/diffutils-gets-undeclared.patch		\ | ||||||
|  | @ -399,12 +414,22 @@ dist_patch_DATA =						\ | ||||||
|   gnu/packages/patches/doxygen-tmake.patch			\ |   gnu/packages/patches/doxygen-tmake.patch			\ | ||||||
|   gnu/packages/patches/duplicity-piped-password.patch		\ |   gnu/packages/patches/duplicity-piped-password.patch		\ | ||||||
|   gnu/packages/patches/duplicity-test_selection-tmp.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/eudev-rules-directory.patch		\ | ||||||
|   gnu/packages/patches/findutils-absolute-paths.patch		\ |   gnu/packages/patches/findutils-absolute-paths.patch		\ | ||||||
|   gnu/packages/patches/flashrom-use-libftdi1.patch		\ |   gnu/packages/patches/flashrom-use-libftdi1.patch		\ | ||||||
|   gnu/packages/patches/flex-bison-tests.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/gawk-shell.patch				\ | ||||||
|  |   gnu/packages/patches/gcc-arm-link-spec-fix.patch		\ | ||||||
|   gnu/packages/patches/gcc-cross-environment-variables.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-desktop.patch			\ | ||||||
|   gnu/packages/patches/glib-tests-homedir.patch			\ |   gnu/packages/patches/glib-tests-homedir.patch			\ | ||||||
|   gnu/packages/patches/glib-tests-prlimit.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-ldd-x86_64.patch			\ | ||||||
|   gnu/packages/patches/glibc-locales.patch			\ |   gnu/packages/patches/glibc-locales.patch			\ | ||||||
|   gnu/packages/patches/gmp-arm-asm-nothumb.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-absolute-shlib-path.patch \ | ||||||
|   gnu/packages/patches/gobject-introspection-cc.patch		\ |   gnu/packages/patches/gobject-introspection-cc.patch		\ | ||||||
|   gnu/packages/patches/gobject-introspection-girepository.patch	\ |   gnu/packages/patches/gobject-introspection-girepository.patch	\ | ||||||
|   gnu/packages/patches/grep-CVE-2015-1345.patch			\ |   gnu/packages/patches/grep-CVE-2015-1345.patch			\ | ||||||
|   gnu/packages/patches/grub-gets-undeclared.patch		\ |   gnu/packages/patches/grub-gets-undeclared.patch		\ | ||||||
|   gnu/packages/patches/grub-freetype.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-1.8-cpp-4.5.patch			\ | ||||||
|   gnu/packages/patches/guile-arm-fixes.patch			\ |   gnu/packages/patches/guile-arm-fixes.patch			\ | ||||||
|   gnu/packages/patches/guile-default-utf8.patch			\ |   gnu/packages/patches/guile-default-utf8.patch			\ | ||||||
|   gnu/packages/patches/guile-linux-syscalls.patch		\ |   gnu/packages/patches/guile-linux-syscalls.patch		\ | ||||||
|   gnu/packages/patches/guile-relocatable.patch			\ |   gnu/packages/patches/guile-relocatable.patch			\ | ||||||
|   gnu/packages/patches/guix-test-networking.patch		\ |  | ||||||
|   gnu/packages/patches/gtkglext-disable-disable-deprecated.patch \ |   gnu/packages/patches/gtkglext-disable-disable-deprecated.patch \ | ||||||
|   gnu/packages/patches/hop-bigloo-4.0b.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/irrlicht-mesa-10.patch			\ | ||||||
|   gnu/packages/patches/jbig2dec-ignore-testtest.patch		\ |   gnu/packages/patches/jbig2dec-ignore-testtest.patch		\ | ||||||
|   gnu/packages/patches/kmod-module-directory.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/libevent-dns-tests.patch			\ | ||||||
|   gnu/packages/patches/liboop-mips64-deplibs-fix.patch		\ |   gnu/packages/patches/liboop-mips64-deplibs-fix.patch		\ | ||||||
|   gnu/packages/patches/libmad-mips-newgcc.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/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/libssh-CVE-2014-0017.patch		\ | ||||||
|   gnu/packages/patches/libvpx-fix-armhf-link.patch		\ |   gnu/packages/patches/libvpx-fix-armhf-link.patch		\ | ||||||
|   gnu/packages/patches/libvpx-fix-ssse3-quantize.patch		\ |   gnu/packages/patches/libvpx-fix-ssse3-quantize.patch		\ | ||||||
|   gnu/packages/patches/libvpx-vp9-out-of-bounds-access.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/lm-sensors-hwmon-attrs.patch		\ | ||||||
|   gnu/packages/patches/lua51-liblua-so.patch                    \ |   gnu/packages/patches/lua51-liblua-so.patch                    \ | ||||||
|   gnu/packages/patches/luajit-no_ldconfig.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/mhash-keygen-test-segfault.patch		\ | ||||||
|   gnu/packages/patches/mit-krb5-init-fix.patch			\ |   gnu/packages/patches/mit-krb5-init-fix.patch			\ | ||||||
|   gnu/packages/patches/mpc123-initialize-ao.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/module-init-tools-moduledir.patch	\ | ||||||
|   gnu/packages/patches/mupdf-buildsystem-fix.patch		\ |   gnu/packages/patches/mupdf-buildsystem-fix.patch		\ | ||||||
|   gnu/packages/patches/mutt-CVE-2014-9116.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-dbpagesize-binpower.patch		\ | ||||||
|   gnu/packages/patches/nvi-db4.patch				\ |   gnu/packages/patches/nvi-db4.patch				\ | ||||||
|   gnu/packages/patches/openexr-missing-samples.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/orpheus-cast-errors-and-includes.patch	\ | ||||||
|   gnu/packages/patches/ots-no-include-missing-file.patch	\ |   gnu/packages/patches/ots-no-include-missing-file.patch	\ | ||||||
|   gnu/packages/patches/patchelf-page-size.patch			\ |   gnu/packages/patches/patchelf-page-size.patch			\ | ||||||
|   gnu/packages/patches/patchelf-rework-for-arm.patch		\ |   gnu/packages/patches/patchelf-rework-for-arm.patch		\ | ||||||
|   gnu/packages/patches/patchutils-xfail-gendiff-tests.patch	\ |   gnu/packages/patches/patchutils-xfail-gendiff-tests.patch	\ | ||||||
|   gnu/packages/patches/pavucontrol-sigsegv.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-no-sys-dirs.patch			\ | ||||||
|   gnu/packages/patches/perl-tk-x11-discover.patch		\ |   gnu/packages/patches/perl-tk-x11-discover.patch		\ | ||||||
|   gnu/packages/patches/petsc-fix-threadcomm.patch		\ |   gnu/packages/patches/petsc-fix-threadcomm.patch		\ | ||||||
|   gnu/packages/patches/pingus-sdl-libs-config.patch		\ |   gnu/packages/patches/pingus-sdl-libs-config.patch		\ | ||||||
|   gnu/packages/patches/plotutils-libpng-jmpbuf.patch		\ |   gnu/packages/patches/plotutils-libpng-jmpbuf.patch		\ | ||||||
|   gnu/packages/patches/polkit-drop-test.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/procps-make-3.82.patch			\ | ||||||
|   gnu/packages/patches/pulseaudio-fix-mult-test.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-encode-error.patch		\ | ||||||
|   gnu/packages/patches/pybugz-stty.patch			\ |   gnu/packages/patches/pybugz-stty.patch			\ | ||||||
|   gnu/packages/patches/pyqt-configure.patch			\ |   gnu/packages/patches/pyqt-configure.patch			\ | ||||||
|   gnu/packages/patches/python-fix-tests.patch			\ |   gnu/packages/patches/python-fix-tests.patch			\ | ||||||
|   gnu/packages/patches/python-libffi-mips-n32-fix.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-rdflib-drop-sparqlwrapper.patch	\ | ||||||
|   gnu/packages/patches/python2-sqlite-3.8.4-test-fix.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/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/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/ratpoison-shell.patch			\ | ||||||
|   gnu/packages/patches/readline-link-ncurses.patch		\ |   gnu/packages/patches/readline-link-ncurses.patch		\ | ||||||
|   gnu/packages/patches/ripperx-libm.patch			\ |   gnu/packages/patches/ripperx-libm.patch			\ | ||||||
|   gnu/packages/patches/scheme48-tests.patch			\ |   gnu/packages/patches/scheme48-tests.patch			\ | ||||||
|   gnu/packages/patches/scotch-test-threading.patch		\ |   gnu/packages/patches/scotch-test-threading.patch		\ | ||||||
|   gnu/packages/patches/sdl-libx11-1.6.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-session.patch			\ | ||||||
|   gnu/packages/patches/slim-config.patch			\ |   gnu/packages/patches/slim-config.patch			\ | ||||||
|   gnu/packages/patches/slim-sigusr1.patch			\ |   gnu/packages/patches/slim-sigusr1.patch			\ | ||||||
|   gnu/packages/patches/soprano-find-clucene.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/superlu-dist-scotchmetis.patch		\ | ||||||
|   gnu/packages/patches/tcsh-fix-autotest.patch			\ |   gnu/packages/patches/tcsh-fix-autotest.patch			\ | ||||||
|   gnu/packages/patches/teckit-cstdio.patch			\ |   gnu/packages/patches/teckit-cstdio.patch			\ | ||||||
|   gnu/packages/patches/texi2html-document-encoding.patch	\ |   gnu/packages/patches/texi2html-document-encoding.patch	\ | ||||||
|   gnu/packages/patches/texi2html-i18n.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-8139.patch		\ | ||||||
|   gnu/packages/patches/unzip-CVE-2014-8140.patch		\ |   gnu/packages/patches/unzip-CVE-2014-8140.patch		\ | ||||||
|   gnu/packages/patches/unzip-CVE-2014-8141.patch		\ |   gnu/packages/patches/unzip-CVE-2014-8141.patch		\ | ||||||
|   gnu/packages/patches/util-linux-tests.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/valgrind-glibc-2.21.patch		\ | ||||||
|   gnu/packages/patches/vpnc-script.patch			\ |   gnu/packages/patches/vpnc-script.patch			\ | ||||||
|   gnu/packages/patches/vtk-mesa-10.patch			\ |   gnu/packages/patches/vtk-mesa-10.patch			\ | ||||||
|   gnu/packages/patches/w3m-fix-compile.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/weex-vacopy.patch			\ | ||||||
|  |   gnu/packages/patches/wicd-template-instantiation.patch	\ | ||||||
|   gnu/packages/patches/wicd-urwid-1.3.patch			\ |   gnu/packages/patches/wicd-urwid-1.3.patch			\ | ||||||
|   gnu/packages/patches/wmctrl-64-fix.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-ark-remove-mibstore.patch	\ | ||||||
|   gnu/packages/patches/xf86-video-ast-remove-mibstore.patch	\ |   gnu/packages/patches/xf86-video-ast-remove-mibstore.patch	\ | ||||||
|   gnu/packages/patches/xf86-video-geode-glibc-2.20.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-openchrome-glibc-2.20.patch	\ | ||||||
|   gnu/packages/patches/xf86-video-r128-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-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-sis-update-api.patch		\ | ||||||
|   gnu/packages/patches/xf86-video-tdfx-remove-mibstore.patch	\ |   gnu/packages/patches/xf86-video-tdfx-remove-mibstore.patch	\ | ||||||
|   gnu/packages/patches/xf86-video-tga-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/xmodmap-asprintf.patch 			\ | ||||||
|   gnu/packages/patches/zathura-plugindir-environment-variable.patch |   gnu/packages/patches/zathura-plugindir-environment-variable.patch | ||||||
| 
 | 
 | ||||||
|  | MISC_DISTRO_FILES =				\ | ||||||
|  |   gnu/packages/ld-wrapper.in | ||||||
|  | 
 | ||||||
| bootstrapdir = $(guilemoduledir)/gnu/packages/bootstrap | bootstrapdir = $(guilemoduledir)/gnu/packages/bootstrap | ||||||
| bootstrap_x86_64_linuxdir = $(bootstrapdir)/x86_64-linux | bootstrap_x86_64_linuxdir = $(bootstrapdir)/x86_64-linux | ||||||
| bootstrap_i686_linuxdir = $(bootstrapdir)/i686-linux | bootstrap_i686_linuxdir = $(bootstrapdir)/i686-linux | ||||||
|  |  | ||||||
|  | @ -32,9 +32,9 @@ | ||||||
|     (method git-fetch) |     (method git-fetch) | ||||||
|     (uri (git-reference |     (uri (git-reference | ||||||
|           (url "git://git.savannah.gnu.org/guix/guix-artwork.git") |           (url "git://git.savannah.gnu.org/guix/guix-artwork.git") | ||||||
|           (commit "61ae7c8"))) |           (commit "6998d30"))) | ||||||
|     (sha256 |     (sha256 | ||||||
|      (base32 |      (base32 | ||||||
|       "102fxk2l6b0ibry3n430q8ljhwrnbml9qgalzkz6v09r7sx6a532")))) |       "0k7j3pj9s3zqiqmfkapypssvzx3f12yr0cc2rbzxqfii0b4clp1j")))) | ||||||
| 
 | 
 | ||||||
| ;;; artwork.scm ends here | ;;; artwork.scm ends here | ||||||
|  |  | ||||||
|  | @ -1,5 +1,5 @@ | ||||||
| ;;; GNU Guix --- Functional package management for GNU | ;;; 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> | ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org> | ||||||
| ;;; | ;;; | ||||||
| ;;; This file is part of GNU Guix. | ;;; This file is part of GNU Guix. | ||||||
|  | @ -30,6 +30,7 @@ | ||||||
|             activate-/bin/sh |             activate-/bin/sh | ||||||
|             activate-modprobe |             activate-modprobe | ||||||
|             activate-firmware |             activate-firmware | ||||||
|  |             activate-ptrace-attach | ||||||
|             activate-current-system)) |             activate-current-system)) | ||||||
| 
 | 
 | ||||||
| ;;; Commentary: | ;;; Commentary: | ||||||
|  | @ -40,6 +41,24 @@ | ||||||
| ;;; | ;;; | ||||||
| ;;; Code: | ;;; 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? | (define* (add-group name #:key gid password system? | ||||||
|                     (log-port (current-error-port))) |                     (log-port (current-error-port))) | ||||||
|   "Add NAME as a user group, with the given numeric GID if specified." |   "Add NAME as a user group, with the given numeric GID if specified." | ||||||
|  | @ -59,6 +78,11 @@ | ||||||
| (define (dot-or-dot-dot? file) | (define (dot-or-dot-dot? file) | ||||||
|   (member 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 | (define* (copy-account-skeletons home | ||||||
|                                  #:optional (directory %skeleton-directory)) |                                  #:optional (directory %skeleton-directory)) | ||||||
|   "Copy the account skeletons from DIRECTORY to HOME." |   "Copy the account skeletons from DIRECTORY to HOME." | ||||||
|  | @ -66,8 +90,21 @@ | ||||||
|                         string<?))) |                         string<?))) | ||||||
|     (mkdir-p home) |     (mkdir-p home) | ||||||
|     (for-each (lambda (file) |     (for-each (lambda (file) | ||||||
|                 (copy-file (string-append directory "/" file) |                 (let ((target (string-append home "/" file))) | ||||||
|                            (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))) |               files))) | ||||||
| 
 | 
 | ||||||
| (define* (add-user name group | (define* (add-user name group | ||||||
|  | @ -109,7 +146,14 @@ properties.  Return #t on success." | ||||||
|                     ,@(if password `("-p" ,password) '()) |                     ,@(if password `("-p" ,password) '()) | ||||||
|                     ,@(if system? '("--system") '()) |                     ,@(if system? '("--system") '()) | ||||||
|                     ,name))) |                     ,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 | (define* (modify-user name group | ||||||
|                       #:key uid comment home shell password system? |                       #:key uid comment home shell password system? | ||||||
|  | @ -128,6 +172,17 @@ properties.  Return #t on success." | ||||||
|                 ,name))) |                 ,name))) | ||||||
|     (zero? (apply system* "usermod" args)))) |     (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 | (define* (ensure-user name group | ||||||
|                       #:key uid comment home shell password system? |                       #:key uid comment home shell password system? | ||||||
|                       (supplementary-groups '()) |                       (supplementary-groups '()) | ||||||
|  | @ -186,8 +241,22 @@ numeric gid or #f." | ||||||
|                            #:system? system?)))) |                            #:system? system?)))) | ||||||
|             groups) |             groups) | ||||||
| 
 | 
 | ||||||
|   ;; Finally create the other user accounts. |   ;; Create the other user accounts. | ||||||
|   (for-each activate-user users)) |   (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) | (define (activate-etc etc) | ||||||
|   "Install ETC, a directory in the store, as the source of static files for |   "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) |     (lambda (port) | ||||||
|       (display directory 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 | (define %current-system | ||||||
|   ;; The system that is current (a symlink.)  This is not necessarily the same |   ;; The system that is current (a symlink.)  This is not necessarily the same | ||||||
|  |  | ||||||
|  | @ -1,5 +1,5 @@ | ||||||
| ;;; GNU Guix --- Functional package management for GNU | ;;; 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. | ;;; This file is part of GNU Guix. | ||||||
| ;;; | ;;; | ||||||
|  | @ -55,6 +55,7 @@ | ||||||
| (define MS_NOSUID 2) | (define MS_NOSUID 2) | ||||||
| (define MS_NODEV  4) | (define MS_NODEV  4) | ||||||
| (define MS_NOEXEC 8) | (define MS_NOEXEC 8) | ||||||
|  | (define MS_REMOUNT 32) | ||||||
| (define MS_BIND 4096) | (define MS_BIND 4096) | ||||||
| (define MS_MOVE 8192) | (define MS_MOVE 8192) | ||||||
| 
 | 
 | ||||||
|  | @ -280,13 +281,21 @@ run a file system check." | ||||||
|   (match spec |   (match spec | ||||||
|     ((source title mount-point type (flags ...) options check?) |     ((source title mount-point type (flags ...) options check?) | ||||||
|      (let ((source      (canonicalize-device-spec source title)) |      (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? |        (when check? | ||||||
|          (check-file-system source type)) |          (check-file-system source type)) | ||||||
|        (mkdir-p mount-point) |        (mkdir-p mount-point) | ||||||
|        (mount source mount-point type (mount-flags->bit-mask flags) |        (mount source mount-point type flags | ||||||
|               (if options |               (if options | ||||||
|                   (string->pointer 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 | ;;; file-systems.scm ends here | ||||||
|  |  | ||||||
|  | @ -1,5 +1,5 @@ | ||||||
| ;;; GNU Guix --- Functional package management for GNU | ;;; 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. | ;;; This file is part of GNU Guix. | ||||||
| ;;; | ;;; | ||||||
|  | @ -18,12 +18,14 @@ | ||||||
| 
 | 
 | ||||||
| (define-module (gnu build install) | (define-module (gnu build install) | ||||||
|   #:use-module (guix build utils) |   #:use-module (guix build utils) | ||||||
|  |   #:use-module (guix build store-copy) | ||||||
|   #:use-module (srfi srfi-26) |   #:use-module (srfi srfi-26) | ||||||
|   #:use-module (ice-9 match) |   #:use-module (ice-9 match) | ||||||
|   #:export (install-grub |   #:export (install-grub | ||||||
|             populate-root-file-system |             populate-root-file-system | ||||||
|             reset-timestamps |             reset-timestamps | ||||||
|             register-closure)) |             register-closure | ||||||
|  |             populate-single-profile-directory)) | ||||||
| 
 | 
 | ||||||
| ;;; Commentary: | ;;; Commentary: | ||||||
| ;;; | ;;; | ||||||
|  | @ -118,6 +120,8 @@ STORE." | ||||||
| 
 | 
 | ||||||
|     (directory "/bin") |     (directory "/bin") | ||||||
|     (directory "/tmp" 0 0 #o1777)                 ; sticky bit |     (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 "/root" 0 0)                       ; an exception | ||||||
|     (directory "/home" 0 0))) |     (directory "/home" 0 0))) | ||||||
|  | @ -156,4 +160,43 @@ by 'guix-register'.  As a side effect, this resets timestamps on store files." | ||||||
|     (unless (zero? status) |     (unless (zero? status) | ||||||
|       (error "failed to register store items" closure)))) |       (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 | ;;; install.scm ends here | ||||||
|  |  | ||||||
|  | @ -35,7 +35,7 @@ | ||||||
|   #:use-module (srfi srfi-39) |   #:use-module (srfi srfi-39) | ||||||
|   #:export (search-patch |   #:export (search-patch | ||||||
|             search-bootstrap-binary |             search-bootstrap-binary | ||||||
|             %patch-directory |             %patch-path | ||||||
|             %bootstrap-binaries-path |             %bootstrap-binaries-path | ||||||
|             %package-module-path |             %package-module-path | ||||||
| 
 | 
 | ||||||
|  | @ -160,9 +160,15 @@ Optionally, narrow the search to SUB-DIRECTORY." | ||||||
|     (string-length directory)) |     (string-length directory)) | ||||||
| 
 | 
 | ||||||
|   (filter-map (lambda (file) |   (filter-map (lambda (file) | ||||||
|                 (let ((file (substring file prefix-len))) |                 (let* ((file   (substring file prefix-len)) | ||||||
|                   (false-if-exception |                        (module (file-name->module-name file))) | ||||||
|                    (resolve-interface (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 |               (scheme-files (if sub-directory | ||||||
|                                 (string-append directory "/" sub-directory) |                                 (string-append directory "/" sub-directory) | ||||||
|                                 directory)))) |                                 directory)))) | ||||||
|  | @ -205,14 +211,18 @@ same package twice." | ||||||
|   (let ((packages (delay |   (let ((packages (delay | ||||||
|                     (fold-packages (lambda (p r) |                     (fold-packages (lambda (p r) | ||||||
|                                      (vhash-cons (package-name p) 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) |     (lambda* (name #:optional version) | ||||||
|       "Return the list of packages with the given NAME.  If VERSION is not #f, |       "Return the list of packages with the given NAME.  If VERSION is not #f, | ||||||
| then only return packages whose version is equal to VERSION." | then only return packages whose version is prefixed by VERSION, sorted in | ||||||
|       (let ((matching (vhash-fold* cons '() name (force packages)))) | decreasing version order." | ||||||
|  |       (let ((matching (sort (vhash-fold* cons '() name (force packages)) | ||||||
|  |                             version>?))) | ||||||
|         (if version |         (if version | ||||||
|             (filter (lambda (package) |             (filter (lambda (package) | ||||||
|                       (string=? (package-version package) version)) |                       (string-prefix? version (package-version package))) | ||||||
|                     matching) |                     matching) | ||||||
|             matching))))) |             matching))))) | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -55,7 +55,8 @@ | ||||||
|   #:use-module (gnu packages libftdi) |   #:use-module (gnu packages libftdi) | ||||||
|   #:use-module (gnu packages image) |   #:use-module (gnu packages image) | ||||||
|   #:use-module (gnu packages xorg) |   #:use-module (gnu packages xorg) | ||||||
|   #:use-module (gnu packages python)) |   #:use-module (gnu packages python) | ||||||
|  |   #:use-module (gnu packages man)) | ||||||
| 
 | 
 | ||||||
| (define-public dmd | (define-public dmd | ||||||
|   (package |   (package | ||||||
|  | @ -151,14 +152,14 @@ re-executing them as necessary.") | ||||||
| (define-public inetutils | (define-public inetutils | ||||||
|   (package |   (package | ||||||
|     (name "inetutils") |     (name "inetutils") | ||||||
|     (version "1.9.2") |     (version "1.9.3") | ||||||
|     (source (origin |     (source (origin | ||||||
|              (method url-fetch) |              (method url-fetch) | ||||||
|              (uri (string-append "mirror://gnu/inetutils/inetutils-" |              (uri (string-append "mirror://gnu/inetutils/inetutils-" | ||||||
|                                  version ".tar.gz")) |                                  version ".tar.gz")) | ||||||
|              (sha256 |              (sha256 | ||||||
|               (base32 |               (base32 | ||||||
|                "04wrm0v7l4890mmbaawd6wjwdv08bkglgqhpz0q4dkb0l50fl8q4")))) |                "06dshajjpyi9sxi7qfki9gnp5r3nxvyvf81r81gx0x2qkqzqcxlj")))) | ||||||
|     (build-system gnu-build-system) |     (build-system gnu-build-system) | ||||||
|     (arguments `(;; FIXME: `tftp.sh' relies on `netstat' from utils-linux, |     (arguments `(;; FIXME: `tftp.sh' relies on `netstat' from utils-linux, | ||||||
|                  ;; which is currently missing. |                  ;; which is currently missing. | ||||||
|  | @ -687,7 +688,7 @@ commands and their arguments.") | ||||||
| (define-public wpa-supplicant-light | (define-public wpa-supplicant-light | ||||||
|   (package |   (package | ||||||
|     (name "wpa-supplicant-light") |     (name "wpa-supplicant-light") | ||||||
|     (version "2.3") |     (version "2.4") | ||||||
|     (source (origin |     (source (origin | ||||||
|               (method url-fetch) |               (method url-fetch) | ||||||
|               (uri (string-append |               (uri (string-append | ||||||
|  | @ -696,7 +697,16 @@ commands and their arguments.") | ||||||
|                     ".tar.gz")) |                     ".tar.gz")) | ||||||
|               (sha256 |               (sha256 | ||||||
|                (base32 |                (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) |     (build-system gnu-build-system) | ||||||
|     (arguments |     (arguments | ||||||
|      '(#:phases (alist-replace |      '(#: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) |       CONFIG_CTRL_IFACE_DBUS_INTRO=y\n" port) | ||||||
|               (close-port port)) |               (close-port port)) | ||||||
|             #t) |             #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 | (define-public wakelan | ||||||
|   (package |   (package | ||||||
|  | @ -856,7 +874,7 @@ module slots, and the list of I/O ports (e.g. serial, parallel, USB).") | ||||||
| (define-public acpica | (define-public acpica | ||||||
|   (package |   (package | ||||||
|     (name "acpica") |     (name "acpica") | ||||||
|     (version "20140724") |     (version "20150410") | ||||||
|     (source (origin |     (source (origin | ||||||
|               (method url-fetch) |               (method url-fetch) | ||||||
|               (uri (string-append |               (uri (string-append | ||||||
|  | @ -864,7 +882,7 @@ module slots, and the list of I/O ports (e.g. serial, parallel, USB).") | ||||||
|                     version ".tar.gz")) |                     version ".tar.gz")) | ||||||
|               (sha256 |               (sha256 | ||||||
|                (base32 |                (base32 | ||||||
|                 "01vdgrh7dsxrrvg5yd8sxm63cw8210pnsi5qg9g15ac53gn243ac")))) |                 "0q1fjwkyw9x6gsva6fd0zbn7ly4fx0ha4853f416np9kf2irillw")))) | ||||||
|     (build-system gnu-build-system) |     (build-system gnu-build-system) | ||||||
|     (native-inputs `(("flex" ,flex) |     (native-inputs `(("flex" ,flex) | ||||||
|                      ("bison" ,bison))) |                      ("bison" ,bison))) | ||||||
|  |  | ||||||
|  | @ -1,6 +1,6 @@ | ||||||
| ;;; GNU Guix --- Functional package management for GNU | ;;; GNU Guix --- Functional package management for GNU | ||||||
| ;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org> | ;;; 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. | ;;; This file is part of GNU Guix. | ||||||
| ;;; | ;;; | ||||||
|  | @ -30,14 +30,14 @@ | ||||||
| (define-public apl | (define-public apl | ||||||
|   (package |   (package | ||||||
|     (name "apl") |     (name "apl") | ||||||
|     (version "1.4") |     (version "1.5") | ||||||
|     (source |     (source | ||||||
|      (origin |      (origin | ||||||
|       (method url-fetch) |       (method url-fetch) | ||||||
|       (uri (string-append "mirror://gnu/apl/apl-" version ".tar.gz")) |       (uri (string-append "mirror://gnu/apl/apl-" version ".tar.gz")) | ||||||
|       (sha256 |       (sha256 | ||||||
|        (base32 |        (base32 | ||||||
|         "0fl9l4jb5wpnb54kqkphavi657z1cv15h9qj2rqy2shf33dk3nk9")))) |         "0h4diq3wfbdwxp5nm0z4b0p1zq13lwip0y7v28r9v0mbbk8xsfh1")))) | ||||||
|     (build-system gnu-build-system) |     (build-system gnu-build-system) | ||||||
|     (home-page "http://www.gnu.org/software/apl/") |     (home-page "http://www.gnu.org/software/apl/") | ||||||
|     (inputs |     (inputs | ||||||
|  |  | ||||||
|  | @ -1,6 +1,6 @@ | ||||||
| ;;; GNU Guix --- Functional package management for GNU | ;;; GNU Guix --- Functional package management for GNU | ||||||
| ;;; Copyright © 2013 Cyril Roelandt <tipecaml@gmail.com> | ;;; 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. | ;;; This file is part of GNU Guix. | ||||||
| ;;; | ;;; | ||||||
|  | @ -18,25 +18,26 @@ | ||||||
| ;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>. | ;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>. | ||||||
| 
 | 
 | ||||||
| (define-module (gnu packages apr) | (define-module (gnu packages apr) | ||||||
|   #:use-module (guix licenses) |   #:use-module ((guix licenses) #:prefix l:) | ||||||
|   #:use-module (guix packages) |   #:use-module (guix packages) | ||||||
|   #:use-module (guix download) |   #:use-module (guix download) | ||||||
|   #:use-module (guix build-system gnu) |   #:use-module (guix build-system gnu) | ||||||
|   #:use-module (gnu packages) |   #:use-module (gnu packages) | ||||||
|   #:use-module (gnu packages perl) |   #:use-module (gnu packages perl) | ||||||
|  |   #:use-module (gnu packages xml) | ||||||
|   #:use-module (gnu packages autotools)) |   #:use-module (gnu packages autotools)) | ||||||
| 
 | 
 | ||||||
| (define-public apr | (define-public apr | ||||||
|   (package |   (package | ||||||
|     (name "apr") |     (name "apr") | ||||||
|     (version "1.5.1") |     (version "1.5.2") | ||||||
|     (source (origin |     (source (origin | ||||||
|              (method url-fetch) |              (method url-fetch) | ||||||
|              (uri (string-append "mirror://apache/apr/apr-" |              (uri (string-append "mirror://apache/apr/apr-" | ||||||
|                                  version ".tar.bz2")) |                                  version ".tar.bz2")) | ||||||
|              (sha256 |              (sha256 | ||||||
|               (base32 |               (base32 | ||||||
|                "1b4qw686bwjn19iyb0lg918q23xxd6s2gnyczhjq992d3m1vwjp9")) |                "0ypn51xblix5ys9xy7da3ngdydip0qqh9rdq8nz54w9aq8lys0vx")) | ||||||
|              (patches |              (patches | ||||||
|               (list (search-patch "apr-skip-getservbyname-test.patch"))) |               (list (search-patch "apr-skip-getservbyname-test.patch"))) | ||||||
|              (patch-flags '("-p0")))) |              (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 | 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 | built, relieving them of the need to code special-case conditions to work | ||||||
| around or take advantage of platform-specific deficiencies or features.") | around or take advantage of platform-specific deficiencies or features.") | ||||||
|     (license asl2.0))) |     (license l:asl2.0))) | ||||||
| 
 | 
 | ||||||
| (define-public apr-util | (define-public apr-util | ||||||
|   (package |   (package | ||||||
|  | @ -74,19 +75,23 @@ around or take advantage of platform-specific deficiencies or features.") | ||||||
|                "0bn81pfscy9yjvbmyx442svf43s6dhrdfcsnkpxz43fai5qk5kx6")))) |                "0bn81pfscy9yjvbmyx442svf43s6dhrdfcsnkpxz43fai5qk5kx6")))) | ||||||
|     (build-system gnu-build-system) |     (build-system gnu-build-system) | ||||||
|     (inputs |     (inputs | ||||||
|       `(("apr" ,apr))) |      `(("apr" ,apr))) | ||||||
|  |     (propagated-inputs | ||||||
|  |      `(("expat" ,expat))) | ||||||
|     (arguments |     (arguments | ||||||
|      '(#:phases |      '(#:phases | ||||||
|        (alist-replace |        (alist-replace | ||||||
|         'configure |         'configure | ||||||
|         (lambda* (#:key inputs outputs #:allow-other-keys) |         (lambda* (#:key inputs outputs #:allow-other-keys) | ||||||
|           (let ((out (assoc-ref outputs "out")) |           (let ((out   (assoc-ref outputs "out")) | ||||||
|                 (apr (assoc-ref inputs "apr"))) |                 (apr   (assoc-ref inputs  "apr")) | ||||||
|  |                 (expat (assoc-ref inputs  "expat"))) | ||||||
|             (setenv "CONFIG_SHELL" (which "bash")) |             (setenv "CONFIG_SHELL" (which "bash")) | ||||||
|             (zero? |             (zero? | ||||||
|              (system* "./configure" |              (system* "./configure" | ||||||
|                       (string-append "--prefix=" out) |                       (string-append "--prefix=" out) | ||||||
|                       (string-append "--with-apr=" apr))))) |                       (string-append "--with-apr=" apr) | ||||||
|  |                       (string-append "--with-expat=" expat))))) | ||||||
|         %standard-phases) |         %standard-phases) | ||||||
| 
 | 
 | ||||||
|        ;; There are race conditions during 'make check'.  Typically, the |        ;; 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") |     (synopsis "One of the Apache Portable Runtime Library companions") | ||||||
|     (description |     (description | ||||||
|      "APR-util provides a number of helpful abstractions on top of APR.") |      "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
									
								
							
							
						
						
									
										102
									
								
								gnu/packages/audacity.scm
									
										
									
									
									
										Normal 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+))) | ||||||
|  | @ -1,6 +1,7 @@ | ||||||
| ;;; GNU Guix --- Functional package management for GNU | ;;; GNU Guix --- Functional package management for GNU | ||||||
| ;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net> | ;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net> | ||||||
| ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com> | ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com> | ||||||
|  | ;;; Copyright © 2015 Andreas Enge <andreas@enge.fr> | ||||||
| ;;; | ;;; | ||||||
| ;;; This file is part of GNU Guix. | ;;; This file is part of GNU Guix. | ||||||
| ;;; | ;;; | ||||||
|  | @ -21,6 +22,7 @@ | ||||||
|   #:use-module (guix packages) |   #:use-module (guix packages) | ||||||
|   #:use-module (guix download) |   #:use-module (guix download) | ||||||
|   #:use-module (guix git-download) |   #:use-module (guix git-download) | ||||||
|  |   #:use-module (guix utils) | ||||||
|   #:use-module ((guix licenses) #:prefix license:) |   #:use-module ((guix licenses) #:prefix license:) | ||||||
|   #:use-module (guix build-system gnu) |   #:use-module (guix build-system gnu) | ||||||
|   #:use-module (guix build-system waf) |   #:use-module (guix build-system waf) | ||||||
|  | @ -31,10 +33,13 @@ | ||||||
|   #:use-module (gnu packages autotools) |   #:use-module (gnu packages autotools) | ||||||
|   #:use-module (gnu packages boost) |   #:use-module (gnu packages boost) | ||||||
|   #:use-module (gnu packages base) |   #:use-module (gnu packages base) | ||||||
|  |   #:use-module (gnu packages bison) | ||||||
|   #:use-module (gnu packages compression) |   #:use-module (gnu packages compression) | ||||||
|   #:use-module (gnu packages curl) |   #:use-module (gnu packages curl) | ||||||
|   #:use-module (gnu packages databases) |   #:use-module (gnu packages databases) | ||||||
|   #:use-module (gnu packages file) |   #:use-module (gnu packages file) | ||||||
|  |   #:use-module (gnu packages flex) | ||||||
|  |   #:use-module (gnu packages gettext) | ||||||
|   #:use-module (gnu packages glib) |   #:use-module (gnu packages glib) | ||||||
|   #:use-module (gnu packages gtk) |   #:use-module (gnu packages gtk) | ||||||
|   #:use-module (gnu packages gnome) |   #:use-module (gnu packages gnome) | ||||||
|  | @ -125,7 +130,23 @@ attacks, performing pitch detection, tapping the beat and producing MIDI | ||||||
| streams from live audio.") | streams from live audio.") | ||||||
|     (license license:gpl3+))) |     (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 |   (package | ||||||
|     (name "ardour") |     (name "ardour") | ||||||
|     (version "3.5.403") |     (version "3.5.403") | ||||||
|  | @ -137,6 +158,9 @@ streams from live audio.") | ||||||
|                     (url "git://git.ardour.org/ardour/ardour.git") |                     (url "git://git.ardour.org/ardour/ardour.git") | ||||||
|                     (commit version))) |                     (commit version))) | ||||||
|               (snippet |               (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 |                '(call-with-output-file | ||||||
|                     "libs/ardour/revision.cc" |                     "libs/ardour/revision.cc" | ||||||
|                   (lambda (port) |                   (lambda (port) | ||||||
|  | @ -148,7 +172,12 @@ namespace ARDOUR { const char* revision = \"3.5-403-gec2cb31\" ; }")))) | ||||||
|               (file-name (string-append name "-" version)))) |               (file-name (string-append name "-" version)))) | ||||||
|     (build-system waf-build-system) |     (build-system waf-build-system) | ||||||
|     (arguments |     (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)) |        #:python ,python-2)) | ||||||
|     (inputs |     (inputs | ||||||
|      `(("alsa-lib" ,alsa-lib) |      `(("alsa-lib" ,alsa-lib) | ||||||
|  | @ -180,8 +209,6 @@ namespace ARDOUR { const char* revision = \"3.5-403-gec2cb31\" ; }")))) | ||||||
|        ("sratom" ,sratom) |        ("sratom" ,sratom) | ||||||
|        ("suil" ,suil) |        ("suil" ,suil) | ||||||
|        ("lilv" ,lilv) |        ("lilv" ,lilv) | ||||||
|        ("rasqal" ,rasqal) |  | ||||||
|        ("raptor2" ,raptor2) |  | ||||||
|        ("redland" ,redland) |        ("redland" ,redland) | ||||||
|        ("rubberband" ,rubberband) |        ("rubberband" ,rubberband) | ||||||
|        ("taglib" ,taglib) |        ("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.") | engineers, musicians, soundtrack editors and composers.") | ||||||
|     (license license:gpl2+))) |     (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 | (define-public azr3 | ||||||
|   (package |   (package | ||||||
|     (name "azr3") |     (name "azr3") | ||||||
|  | @ -233,6 +289,81 @@ bass section with five drawbars.  A standalone JACK application and LV2 | ||||||
| plugins are provided.") | plugins are provided.") | ||||||
|     (license license:gpl2))) |     (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 | (define-public clalsadrv | ||||||
|   (package |   (package | ||||||
|     (name "clalsadrv") |     (name "clalsadrv") | ||||||
|  | @ -278,6 +409,45 @@ plugins are provided.") | ||||||
| ALSA PCM devices.") | ALSA PCM devices.") | ||||||
|     (license license:gpl2+))) |     (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 | (define-public faad2 | ||||||
|   (package |   (package | ||||||
|     (name "faad2") |     (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. |     ;; GPLv2+ with exception for compositions using these patches. | ||||||
|     (license license:gpl2+))) |     (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 | (define-public jack-1 | ||||||
|   (package |   (package | ||||||
|     (name "jack") |     (name "jack") | ||||||
|  | @ -403,7 +613,18 @@ synchronous execution of all clients, and low latency operation.") | ||||||
|     (arguments |     (arguments | ||||||
|      `(#:tests? #f  ; no check target |      `(#:tests? #f  ; no check target | ||||||
|        #:configure-flags '("--dbus" |        #: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 |     (inputs | ||||||
|      `(("alsa-lib" ,alsa-lib) |      `(("alsa-lib" ,alsa-lib) | ||||||
|        ("dbus" ,dbus) |        ("dbus" ,dbus) | ||||||
|  | @ -585,7 +806,16 @@ implementation of the Open Sound Control (OSC) protocol.") | ||||||
|               (base32 |               (base32 | ||||||
|                "0aj2plkx56iar8vzjbq2l7hi7sp0ml99m0h44rgwai2x4vqkk2j2")))) |                "0aj2plkx56iar8vzjbq2l7hi7sp0ml99m0h44rgwai2x4vqkk2j2")))) | ||||||
|     (build-system waf-build-system) |     (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 |     ;; required by lilv-0.pc | ||||||
|     (propagated-inputs |     (propagated-inputs | ||||||
|      `(("serd" ,serd) |      `(("serd" ,serd) | ||||||
|  | @ -995,6 +1225,97 @@ stretching and pitch scaling of audio.  This package contains the library.") | ||||||
|     ;; containing gpl2. |     ;; containing gpl2. | ||||||
|     (license license: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 | (define-public soundtouch | ||||||
|   (package |   (package | ||||||
|     (name "soundtouch") |     (name "soundtouch") | ||||||
|  | @ -1088,15 +1409,28 @@ portions of LAME.") | ||||||
|              (string-map (lambda (c) (if (char=? c #\.) #\_ c)) version) |              (string-map (lambda (c) (if (char=? c #\.) #\_ c)) version) | ||||||
|              ".tgz")) |              ".tgz")) | ||||||
|        (sha256 |        (sha256 | ||||||
|         (base32 "0mwddk4qzybaf85wqfhxqlf0c5im9il8z03rd4n127k8y2jj9q4g")))) |         (base32 "0mwddk4qzybaf85wqfhxqlf0c5im9il8z03rd4n127k8y2jj9q4g")) | ||||||
|  |        (patches (list (search-patch "portaudio-audacity-compat.patch"))))) | ||||||
|     (build-system gnu-build-system) |     (build-system gnu-build-system) | ||||||
|     (inputs |     (inputs | ||||||
|      ;; TODO: Add ASIHPI. |      ;; TODO: Add ASIHPI. | ||||||
|      `(("alsa-lib" ,alsa-lib) |      `(("alsa-lib" ,alsa-lib) | ||||||
|        ("jack" ,jack-2))) |        ("jack" ,jack-2))) | ||||||
|     (native-inputs |     (native-inputs | ||||||
|      `(("pkg-config" ,pkg-config))) |      `(("autoconf" ,autoconf) | ||||||
|     (arguments '(#:tests? #f))          ;no 'check' target |        ("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/") |     (home-page "http://www.portaudio.com/") | ||||||
|     (synopsis "Audio I/O library") |     (synopsis "Audio I/O library") | ||||||
|     (description |     (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.") | with a much different focus than most other audio daemons.") | ||||||
|     (license license:gpl3+))) |     (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 | (define-public zita-alsa-pcmi | ||||||
|   (package |   (package | ||||||
|     (name "zita-alsa-pcmi") |     (name "zita-alsa-pcmi") | ||||||
|  |  | ||||||
|  | @ -23,13 +23,14 @@ | ||||||
|   #:use-module (guix build-system gnu) |   #:use-module (guix build-system gnu) | ||||||
|   #:use-module (gnu packages) |   #:use-module (gnu packages) | ||||||
|   #:use-module (gnu packages perl) |   #:use-module (gnu packages perl) | ||||||
|  |   #:use-module (gnu packages pkg-config) | ||||||
|   #:use-module (gnu packages base) |   #:use-module (gnu packages base) | ||||||
|   #:use-module (gnu packages guile)) |   #:use-module (gnu packages guile)) | ||||||
| 
 | 
 | ||||||
| (define-public autogen | (define-public autogen | ||||||
|   (package |   (package | ||||||
|     (name "autogen") |     (name "autogen") | ||||||
|     (version "5.18.4") |     (version "5.18.5") | ||||||
|     (source |     (source | ||||||
|      (origin |      (origin | ||||||
|       (method url-fetch) |       (method url-fetch) | ||||||
|  | @ -38,9 +39,10 @@ | ||||||
|                           version ".tar.gz")) |                           version ".tar.gz")) | ||||||
|       (sha256 |       (sha256 | ||||||
|        (base32 |        (base32 | ||||||
|         "0pbjzwgvmjvi6nl1bcyhfc9kl93s6321dgmvp5dqdip7i8dgin9w")))) |         "1flnbnmkbqmbfgammkl8m36wrlk6rhpgnf9pdm6gdfhqalxvggbv")))) | ||||||
|     (build-system gnu-build-system) |     (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) |     (inputs `(("which" ,which) | ||||||
|               ("guile" ,guile-2.0))) |               ("guile" ,guile-2.0))) | ||||||
|     (arguments |     (arguments | ||||||
|  |  | ||||||
|  | @ -248,7 +248,7 @@ Makefile, simplifying the entire process for the developer.") | ||||||
|                (base32 |                (base32 | ||||||
|                 "0vxj52zm709125gwv9qqlw02silj8bnjnh4y07arrz60r31ai1vw")) |                 "0vxj52zm709125gwv9qqlw02silj8bnjnh4y07arrz60r31ai1vw")) | ||||||
|               (patches |               (patches | ||||||
|                (list (search-patch "libtool-skip-tests.patch"))))) |                (list (search-patch "libtool-skip-tests2.patch"))))) | ||||||
|     (build-system gnu-build-system) |     (build-system gnu-build-system) | ||||||
|     (propagated-inputs `(("m4" ,m4))) |     (propagated-inputs `(("m4" ,m4))) | ||||||
|     (native-inputs `(("m4" ,m4) |     (native-inputs `(("m4" ,m4) | ||||||
|  | @ -303,9 +303,7 @@ complexity of working with shared libraries across platforms.") | ||||||
|                                   version ".tar.xz")) |                                   version ".tar.xz")) | ||||||
|               (sha256 |               (sha256 | ||||||
|                (base32 |                (base32 | ||||||
|                 "0vxj52zm709125gwv9qqlw02silj8bnjnh4y07arrz60r31ai1vw")) |                 "0vxj52zm709125gwv9qqlw02silj8bnjnh4y07arrz60r31ai1vw")))) | ||||||
|               (patches |  | ||||||
|                (list (search-patch "libtool-skip-tests.patch"))))) |  | ||||||
|     (build-system gnu-build-system) |     (build-system gnu-build-system) | ||||||
|     (arguments |     (arguments | ||||||
|      '(#:configure-flags '("--enable-ltdl-install") ;really install it |      '(#:configure-flags '("--enable-ltdl-install") ;really install it | ||||||
|  |  | ||||||
|  | @ -34,6 +34,7 @@ | ||||||
|   #:use-module (gnu packages linux) |   #:use-module (gnu packages linux) | ||||||
|   #:use-module (gnu packages texinfo) |   #:use-module (gnu packages texinfo) | ||||||
|   #:use-module (gnu packages pkg-config) |   #:use-module (gnu packages pkg-config) | ||||||
|  |   #:use-module (gnu packages gettext) | ||||||
|   #:use-module (guix utils) |   #:use-module (guix utils) | ||||||
|   #:use-module (guix packages) |   #:use-module (guix packages) | ||||||
|   #:use-module (guix download) |   #:use-module (guix download) | ||||||
|  | @ -151,14 +152,14 @@ standard utility.") | ||||||
| (define-public patch | (define-public patch | ||||||
|   (package |   (package | ||||||
|    (name "patch") |    (name "patch") | ||||||
|     (version "2.7.4") |     (version "2.7.5") | ||||||
|     (source (origin |     (source (origin | ||||||
|               (method url-fetch) |               (method url-fetch) | ||||||
|               (uri (string-append "mirror://gnu/patch/patch-" |               (uri (string-append "mirror://gnu/patch/patch-" | ||||||
|                                   version ".tar.xz")) |                                   version ".tar.xz")) | ||||||
|               (sha256 |               (sha256 | ||||||
|                (base32 |                (base32 | ||||||
|                 "02gikxjvcxysr4l65c8vivgz62xmalp0av5ypzff8vqhrq3vpb0f")))) |                 "16d2r9kpivaak948mxzc0bai45mqfw73m113wrkmbffnalv1b5gx")))) | ||||||
|    (build-system gnu-build-system) |    (build-system gnu-build-system) | ||||||
|    (native-inputs `(("ed", ed))) |    (native-inputs `(("ed", ed))) | ||||||
|    (synopsis "Apply differences to originals, with optional backups") |    (synopsis "Apply differences to originals, with optional backups") | ||||||
|  | @ -358,6 +359,72 @@ included.") | ||||||
|    (license gpl3+) |    (license gpl3+) | ||||||
|    (home-page "http://www.gnu.org/software/binutils/"))) |    (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 | (define-public glibc | ||||||
|   (package |   (package | ||||||
|    (name "glibc") |    (name "glibc") | ||||||
|  | @ -393,6 +460,12 @@ included.") | ||||||
|       ;; <http://lists.gnu.org/archive/html/guix-devel/2015-02/msg00709.html>. |       ;; <http://lists.gnu.org/archive/html/guix-devel/2015-02/msg00709.html>. | ||||||
|       #:parallel-build? #f |       #: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 |       #:configure-flags | ||||||
|       (list "--enable-add-ons" |       (list "--enable-add-ons" | ||||||
|             "--sysconfdir=/etc" |             "--sysconfdir=/etc" | ||||||
|  | @ -431,7 +504,8 @@ included.") | ||||||
|       #:tests? #f                                 ; XXX |       #:tests? #f                                 ; XXX | ||||||
|       #:phases (alist-cons-before |       #:phases (alist-cons-before | ||||||
|                 'configure 'pre-configure |                 '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")) |                   (let* ((out  (assoc-ref outputs "out")) | ||||||
|                          (bin  (string-append out "/bin"))) |                          (bin  (string-append out "/bin"))) | ||||||
|                     ;; Use `pwd', not `/bin/pwd'. |                     ;; Use `pwd', not `/bin/pwd'. | ||||||
|  | @ -455,8 +529,13 @@ included.") | ||||||
| 
 | 
 | ||||||
|                     ;; Copy a statically-linked Bash in the output, with |                     ;; Copy a statically-linked Bash in the output, with | ||||||
|                     ;; no references to other store paths. |                     ;; 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) |                     (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") |                                               "/bin/bash") | ||||||
|                                (string-append bin "/bash")) |                                (string-append bin "/bash")) | ||||||
|                     (remove-store-references (string-append bin "/bash")) |                     (remove-store-references (string-append bin "/bash")) | ||||||
|  | @ -490,9 +569,11 @@ included.") | ||||||
| 
 | 
 | ||||||
|    (inputs `(("static-bash" ,(static-package bash-light)))) |    (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) |    (native-inputs `(("texinfo" ,texinfo) | ||||||
|                     ("perl" ,perl))) |                     ("perl" ,perl) | ||||||
|  |                     ("gettext" ,gnu-gettext))) | ||||||
| 
 | 
 | ||||||
|    (native-search-paths |    (native-search-paths | ||||||
|     ;; Search path for packages that provide locale data.  This is useful |     ;; Search path for packages that provide locale data.  This is useful | ||||||
|  | @ -611,7 +692,7 @@ command.") | ||||||
| (define-public tzdata | (define-public tzdata | ||||||
|   (package |   (package | ||||||
|     (name "tzdata") |     (name "tzdata") | ||||||
|     (version "2014j") |     (version "2015c") | ||||||
|     (source (origin |     (source (origin | ||||||
|              (method url-fetch) |              (method url-fetch) | ||||||
|              (uri (string-append |              (uri (string-append | ||||||
|  | @ -619,7 +700,7 @@ command.") | ||||||
|                    version ".tar.gz")) |                    version ".tar.gz")) | ||||||
|              (sha256 |              (sha256 | ||||||
|               (base32 |               (base32 | ||||||
|                "038fvj6zf51k6z9sbbxbj87ajaf69l3whal2vwshbm4l0qr71n52")))) |                "0nin48g5dmkfgckp25bngxchn3sw3yyjss5sq7gs5xspbxgsq3w6")))) | ||||||
|     (build-system gnu-build-system) |     (build-system gnu-build-system) | ||||||
|     (arguments |     (arguments | ||||||
|      '(#:tests? #f |      '(#:tests? #f | ||||||
|  | @ -666,7 +747,7 @@ command.") | ||||||
|                                 version ".tar.gz")) |                                 version ".tar.gz")) | ||||||
|                           (sha256 |                           (sha256 | ||||||
|                            (base32 |                            (base32 | ||||||
|                             "1qpd12imy7q5hb5fhk48mfw65s0xlrkmms0zr2gk0mj88qjn3m3z")))))) |                             "0bplibiy70dvlrhwqzkzxgmg81j6d2kklvjgi2f1g2zz1nkb3vkz")))))) | ||||||
|     (home-page "http://www.iana.org/time-zones") |     (home-page "http://www.iana.org/time-zones") | ||||||
|     (synopsis "Database of current and historical time zones") |     (synopsis "Database of current and historical time zones") | ||||||
|     (description "The Time Zone Database (often called tz or zoneinfo) |     (description "The Time Zone Database (often called tz or zoneinfo) | ||||||
|  |  | ||||||
|  | @ -23,6 +23,7 @@ | ||||||
|   #:use-module (gnu packages ncurses) |   #:use-module (gnu packages ncurses) | ||||||
|   #:use-module (gnu packages readline) |   #:use-module (gnu packages readline) | ||||||
|   #:use-module (gnu packages bison) |   #:use-module (gnu packages bison) | ||||||
|  |   #:use-module (gnu packages linux) | ||||||
|   #:use-module (guix packages) |   #:use-module (guix packages) | ||||||
|   #:use-module (guix download) |   #:use-module (guix download) | ||||||
|   #:use-module (guix utils) |   #: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"))) |              (let ((out (assoc-ref outputs "out"))) | ||||||
|                (with-directory-excursion (string-append out "/bin") |                (with-directory-excursion (string-append out "/bin") | ||||||
|                  (symlink "bash" "sh"))))) |                  (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")) |          (version "4.3")) | ||||||
|     (package |     (package | ||||||
|      (name "bash") |      (name "bash") | ||||||
|  | @ -148,6 +169,9 @@ number/base32-hash tuples, directly usable in the 'patch-series' form." | ||||||
|      (version (string-append version "." |      (version (string-append version "." | ||||||
|                              (number->string (length %patch-series-4.3)))) |                              (number->string (length %patch-series-4.3)))) | ||||||
|      (build-system gnu-build-system) |      (build-system gnu-build-system) | ||||||
|  | 
 | ||||||
|  |      (outputs '("out" | ||||||
|  |                 "include"))                       ;headers used by extensions | ||||||
|      (native-inputs `(("bison" ,bison)))          ;to rebuild the parser |      (native-inputs `(("bison" ,bison)))          ;to rebuild the parser | ||||||
|      (inputs `(("readline" ,readline) |      (inputs `(("readline" ,readline) | ||||||
|                ("ncurses" ,ncurses)))             ;TODO: add texinfo |                ("ncurses" ,ncurses)))             ;TODO: add texinfo | ||||||
|  | @ -169,9 +193,10 @@ number/base32-hash tuples, directly usable in the 'patch-series' form." | ||||||
|         ;; for now. |         ;; for now. | ||||||
|         #:tests? #f |         #:tests? #f | ||||||
| 
 | 
 | ||||||
|         #:phases (alist-cons-after 'install 'post-install |         #:phases (modify-phases %standard-phases | ||||||
|                                    ,post-install-phase |                    (add-after 'install 'post-install ,post-install-phase) | ||||||
|                                    %standard-phases))) |                    (add-after 'install 'install-headers | ||||||
|  |                               ,install-headers-phase)))) | ||||||
|      (synopsis "The GNU Bourne-Again SHell") |      (synopsis "The GNU Bourne-Again SHell") | ||||||
|      (description |      (description | ||||||
|       "Bash is the shell, or command-line interpreter, of the GNU system.  It |       "Bash is the shell, or command-line interpreter, of the GNU system.  It | ||||||
|  | @ -223,6 +248,29 @@ without modification.") | ||||||
|               (patches |               (patches | ||||||
|                (list (search-patch "bash-completion-directories.patch"))))) |                (list (search-patch "bash-completion-directories.patch"))))) | ||||||
|     (build-system gnu-build-system) |     (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") |     (synopsis "Bash completions for common commands") | ||||||
|     (description |     (description | ||||||
|      "This package provides extensions that allow Bash to provide adapted |      "This package provides extensions that allow Bash to provide adapted | ||||||
|  |  | ||||||
										
											
												File diff suppressed because it is too large
												Load diff
											
										
									
								
							|  | @ -2,6 +2,7 @@ | ||||||
| ;;; Copyright © 2014 John Darrington <jmd@gnu.org> | ;;; Copyright © 2014 John Darrington <jmd@gnu.org> | ||||||
| ;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org> | ;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org> | ||||||
| ;;; Copyright © 2015 Andreas Enge <andreas@enge.fr> | ;;; Copyright © 2015 Andreas Enge <andreas@enge.fr> | ||||||
|  | ;;; Copyright © 2015 Ludovic Courtès <ludo@gnu.org> | ||||||
| ;;; | ;;; | ||||||
| ;;; This file is part of GNU Guix. | ;;; This file is part of GNU Guix. | ||||||
| ;;; | ;;; | ||||||
|  | @ -51,6 +52,11 @@ | ||||||
|     (arguments |     (arguments | ||||||
|      (let ((build-flags |      (let ((build-flags | ||||||
|             `("threading=multi" "link=shared" |             `("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 |               ;; Boost's 'context' library is not yet supported on mips64, so | ||||||
|               ;; we disable it.  The 'coroutine' library depends on 'context', |               ;; we disable it.  The 'coroutine' library depends on 'context', | ||||||
|               ;; so we disable that too. |               ;; so we disable that too. | ||||||
|  | @ -58,7 +64,8 @@ | ||||||
|                                                  (%current-system))) |                                                  (%current-system))) | ||||||
|                     '("--without-context" "--without-coroutine") |                     '("--without-context" "--without-coroutine") | ||||||
|                     '())))) |                     '())))) | ||||||
|        `(#:phases |        `(#:tests? #f | ||||||
|  |          #:phases | ||||||
|          (alist-replace |          (alist-replace | ||||||
|           'configure |           'configure | ||||||
|           (lambda* (#:key outputs #:allow-other-keys) |           (lambda* (#:key outputs #:allow-other-keys) | ||||||
|  | @ -79,18 +86,14 @@ | ||||||
|                               "--with-toolset=gcc")))) |                               "--with-toolset=gcc")))) | ||||||
|           (alist-replace |           (alist-replace | ||||||
|            'build |            'build | ||||||
|            (lambda _ |            (lambda* (#:key outputs #:allow-other-keys) | ||||||
|              (zero? (system* "./b2" ,@build-flags))) |              (zero? (system* "./b2" ,@build-flags))) | ||||||
| 
 | 
 | ||||||
|            (alist-replace |            (alist-replace | ||||||
|             'check |             'install | ||||||
|             (lambda _ #t) |             (lambda* (#:key outputs #:allow-other-keys) | ||||||
| 
 |               (zero? (system* "./b2" "install" ,@build-flags))) | ||||||
|             (alist-replace |             %standard-phases)))))) | ||||||
|              'install |  | ||||||
|              (lambda _ |  | ||||||
|                (zero? (system* "./b2" "install" ,@build-flags))) |  | ||||||
|              %standard-phases))))))) |  | ||||||
| 
 | 
 | ||||||
|     (home-page "http://boost.org") |     (home-page "http://boost.org") | ||||||
|     (synopsis "Peer-reviewed portable C++ source libraries") |     (synopsis "Peer-reviewed portable C++ source libraries") | ||||||
|  | @ -99,3 +102,25 @@ | ||||||
| across a broad spectrum of applications.") | across a broad spectrum of applications.") | ||||||
|     (license (license:x11-style "http://www.boost.org/LICENSE_1_0.txt" |     (license (license:x11-style "http://www.boost.org/LICENSE_1_0.txt" | ||||||
|                                 "Some components have other similar licences.")))) |                                 "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.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							|  | @ -53,8 +53,9 @@ | ||||||
| 
 | 
 | ||||||
|            ;; There is no /usr/bin or /bin - replace it with /gnu/store |            ;; There is no /usr/bin or /bin - replace it with /gnu/store | ||||||
|            (substitute* "testsuite/cpio.tests" |            (substitute* "testsuite/cpio.tests" | ||||||
|               (("/usr/bin") "/gnu/store") |               (("/usr/bin") (%store-directory)) | ||||||
|               (("usr") "gnu")) |               (("usr") (car (filter (negate string-null?) | ||||||
|  |                                     (string-split (%store-directory) #\/))))) | ||||||
| 
 | 
 | ||||||
|            (substitute* "testsuite/date/date-works-1" |            (substitute* "testsuite/date/date-works-1" | ||||||
|              (("/bin/date") (which "date"))) |              (("/bin/date") (which "date"))) | ||||||
|  |  | ||||||
							
								
								
									
										52
									
								
								gnu/packages/calendar.scm
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										52
									
								
								gnu/packages/calendar.scm
									
										
									
									
									
										Normal 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))) | ||||||
|  | @ -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 | 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 | 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 | 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+))) |     (license gpl3+))) | ||||||
| 
 | 
 | ||||||
| (define-public libcdio-paranoia | (define-public libcdio-paranoia | ||||||
|  | @ -122,14 +124,14 @@ libcdio.") | ||||||
| (define-public xorriso | (define-public xorriso | ||||||
|   (package |   (package | ||||||
|     (name "xorriso") |     (name "xorriso") | ||||||
|     (version "1.3.8") |     (version "1.4.0") | ||||||
|     (source (origin |     (source (origin | ||||||
|              (method url-fetch) |              (method url-fetch) | ||||||
|              (uri (string-append "mirror://gnu/xorriso/xorriso-" |              (uri (string-append "mirror://gnu/xorriso/xorriso-" | ||||||
|                                  version ".tar.gz")) |                                  version ".tar.gz")) | ||||||
|              (sha256 |              (sha256 | ||||||
|               (base32 |               (base32 | ||||||
|                "0zhhj9lr9z7hnb2alac54mc28w1l0mbanphhpmy3ylsi8rih84lh")))) |                "0mhfxn2idkrw1i65a5y4gnb1fig85zpnszb9ax7w4a2v062y1l8b")))) | ||||||
|     (build-system gnu-build-system) |     (build-system gnu-build-system) | ||||||
|     (inputs |     (inputs | ||||||
|      `(("acl" ,acl) |      `(("acl" ,acl) | ||||||
|  | @ -159,30 +161,17 @@ files.") | ||||||
|              (sha256 |              (sha256 | ||||||
|               (base32 |               (base32 | ||||||
|                "1pv4zrajm46za0f6lv162iqffih57a8ly4pc69f7y0gfyigb8p80")) |                "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) |     (build-system gnu-build-system) | ||||||
|     (inputs |  | ||||||
|      `(("patchelf" ,patchelf))) |  | ||||||
|     (arguments |     (arguments | ||||||
|      `(#:tests? #f ; there is no check target |      `(#:tests? #f ; there is no check target | ||||||
|        #:modules ((guix build gnu-build-system) |        #:configure-flags ; Add $libdir to the RUNPATH of all the executables. | ||||||
|                   (guix build utils) |        (list (string-append "LDFLAGS=-Wl,-rpath=" %output "/lib")))) | ||||||
|                   (guix build rpath) |  | ||||||
|                   (srfi srfi-26)) |  | ||||||
|        #:imported-modules ((guix build gnu-build-system) |  | ||||||
|                            (guix build utils) |  | ||||||
|                            (guix build rpath)) |  | ||||||
|        #:phases |  | ||||||
|         (alist-cons-after |  | ||||||
|          'strip 'add-lib-to-runpath |  | ||||||
|          (lambda* (#:key outputs #:allow-other-keys) |  | ||||||
|            (let* ((out (assoc-ref outputs "out")) |  | ||||||
|                   (lib (string-append out "/lib"))) |  | ||||||
|              ;; Add LIB to the RUNPATH of all the executables. |  | ||||||
|              (with-directory-excursion out |  | ||||||
|                (for-each (cut augment-rpath <> lib) |  | ||||||
|                          (find-files "bin" ".*"))))) |  | ||||||
|          %standard-phases))) |  | ||||||
|     (home-page "http://www.xiph.org/paranoia/") |     (home-page "http://www.xiph.org/paranoia/") | ||||||
|     (synopsis "Audio CD reading utility") |     (synopsis "Audio CD reading utility") | ||||||
|     (description "Cdparanoia retrieves audio tracks from CDDA capable CDROM |     (description "Cdparanoia retrieves audio tracks from CDDA capable CDROM | ||||||
|  |  | ||||||
|  | @ -85,8 +85,6 @@ | ||||||
|                   (rnrs io ports) |                   (rnrs io ports) | ||||||
|                   (srfi srfi-26) |                   (srfi srfi-26) | ||||||
|                   (ice-9 regex)) |                   (ice-9 regex)) | ||||||
|        #:imported-modules ((guix build gnu-build-system) |  | ||||||
|                            (guix build utils)) |  | ||||||
|        #:phases |        #:phases | ||||||
|          (alist-cons-after |          (alist-cons-after | ||||||
|            'unpack 'install |            'unpack 'install | ||||||
|  |  | ||||||
|  | @ -1,6 +1,8 @@ | ||||||
| ;;; GNU Guix --- Functional package management for GNU | ;;; GNU Guix --- Functional package management for GNU | ||||||
| ;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org> | ;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org> | ||||||
| ;;; Copyright © 2015 Paul van der Walt <paul@denknerd.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. | ;;; This file is part of GNU Guix. | ||||||
| ;;; | ;;; | ||||||
|  | @ -23,7 +25,9 @@ | ||||||
|   #:use-module (guix licenses) |   #:use-module (guix licenses) | ||||||
|   #:use-module (guix packages) |   #:use-module (guix packages) | ||||||
|   #:use-module (guix download) |   #: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 | (define-public check | ||||||
|   (package |   (package | ||||||
|  | @ -92,6 +96,12 @@ with a flexible variety of user interfaces.") | ||||||
|              (sha256 |              (sha256 | ||||||
|               (base32 |               (base32 | ||||||
|                "0jm49v5rmc5qw34vqs56gy8xja1dhci73bmh23cig4kcir6a0a5c")))) |                "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) |     (build-system gnu-build-system) | ||||||
|     (home-page "http://sourceforge.net/projects/cppunit/") |     (home-page "http://sourceforge.net/projects/cppunit/") | ||||||
|     (synopsis "Unit testing framework for C++") |     (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 | unit testing.  Test output is in XML for automatic testing and GUI based for | ||||||
| supervised tests.") | supervised tests.") | ||||||
|     (license lgpl2.1))) ; no copyright notices. LGPL2.1 is in the tarball |     (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))) | ||||||
|  |  | ||||||
|  | @ -3,6 +3,7 @@ | ||||||
| ;;; Copyright © 2014 Mark H Weaver <mhw@netris.org> | ;;; Copyright © 2014 Mark H Weaver <mhw@netris.org> | ||||||
| ;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org> | ;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org> | ||||||
| ;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net> | ;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net> | ||||||
|  | ;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com> | ||||||
| ;;; | ;;; | ||||||
| ;;; This file is part of GNU Guix. | ;;; This file is part of GNU Guix. | ||||||
| ;;; | ;;; | ||||||
|  | @ -35,7 +36,7 @@ | ||||||
| (define-public cmake | (define-public cmake | ||||||
|   (package |   (package | ||||||
|     (name "cmake") |     (name "cmake") | ||||||
|     (version "3.1.3") |     (version "3.2.2") | ||||||
|     (source (origin |     (source (origin | ||||||
|              (method url-fetch) |              (method url-fetch) | ||||||
|              (uri (string-append |              (uri (string-append | ||||||
|  | @ -43,11 +44,12 @@ | ||||||
|                    (version-major+minor version) |                    (version-major+minor version) | ||||||
|                    "/cmake-" version ".tar.gz")) |                    "/cmake-" version ".tar.gz")) | ||||||
|              (sha256 |              (sha256 | ||||||
|               (base32 "1l662p9lscbzx9s85y86cynb9fn1rb2alqg4584wqq9gibxd7x25")) |               (base32 "0y3w83al0vh9ll7fnqm3nx7l8hsl85k8iv9abxb791q36rp4xsdd")) | ||||||
|              (patches (list (search-patch "cmake-fix-tests.patch"))))) |              (patches (list (search-patch "cmake-fix-tests.patch"))))) | ||||||
|     (build-system gnu-build-system) |     (build-system gnu-build-system) | ||||||
|     (arguments |     (arguments | ||||||
|      `(#:test-target "test" |      `(#:test-target "test" | ||||||
|  |        #:parallel-tests? #f ; 3 test from RunCMake fails | ||||||
|        #:phases (alist-cons-before |        #:phases (alist-cons-before | ||||||
|                  'configure 'patch-bin-sh |                  'configure 'patch-bin-sh | ||||||
|                  (lambda _ |                  (lambda _ | ||||||
|  | @ -66,7 +68,8 @@ | ||||||
|                          "Utilities/cmbzip2/Makefile-libbz2_so" |                          "Utilities/cmbzip2/Makefile-libbz2_so" | ||||||
|                          "Utilities/Release/release_cmake.cmake" |                          "Utilities/Release/release_cmake.cmake" | ||||||
|                          "Utilities/cmlibarchive/libarchive/archive_write_set_format_shar.c" |                          "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")))) |                      (("/bin/sh") (which "sh")))) | ||||||
|                  (alist-cons-before |                  (alist-cons-before | ||||||
|                   'configure 'set-paths |                   'configure 'set-paths | ||||||
|  | @ -74,7 +77,9 @@ | ||||||
|                     ;; Help cmake's bootstrap process to find system libraries |                     ;; Help cmake's bootstrap process to find system libraries | ||||||
|                     (begin |                     (begin | ||||||
|                       (setenv "CMAKE_LIBRARY_PATH" (getenv "LIBRARY_PATH")) |                       (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 |                   (alist-replace | ||||||
|                    'configure |                    'configure | ||||||
|                    (lambda* (#:key outputs #:allow-other-keys) |                    (lambda* (#:key outputs #:allow-other-keys) | ||||||
|  | @ -83,6 +88,7 @@ | ||||||
|                                "./configure" |                                "./configure" | ||||||
|                                (string-append "--prefix=" out) |                                (string-append "--prefix=" out) | ||||||
|                                "--system-libs" |                                "--system-libs" | ||||||
|  |                                "--no-system-jsoncpp" ; not packaged yet | ||||||
|                                ;; By default, the man pages and other docs land |                                ;; By default, the man pages and other docs land | ||||||
|                                ;; in PREFIX/man and PREFIX/doc, but we want them |                                ;; in PREFIX/man and PREFIX/doc, but we want them | ||||||
|                                ;; in share/{man,doc}.  Note that unlike |                                ;; in share/{man,doc}.  Note that unlike | ||||||
|  |  | ||||||
|  | @ -20,9 +20,13 @@ | ||||||
| (define-module (gnu packages code) | (define-module (gnu packages code) | ||||||
|   #:use-module (guix packages) |   #:use-module (guix packages) | ||||||
|   #:use-module (guix download) |   #:use-module (guix download) | ||||||
|   #:use-module (guix licenses) |   #:use-module ((guix licenses) #:prefix license:) | ||||||
|   #:use-module (guix build-system gnu) |   #: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 emacs) | ||||||
|  |   #:use-module (gnu packages pcre) | ||||||
|  |   #:use-module (gnu packages pkg-config) | ||||||
|   #:use-module (gnu packages perl) |   #:use-module (gnu packages perl) | ||||||
|   #:use-module (gnu packages texinfo) |   #:use-module (gnu packages texinfo) | ||||||
|   #:use-module (gnu packages autogen) |   #:use-module (gnu packages autogen) | ||||||
|  | @ -54,7 +58,7 @@ | ||||||
| control flow of the program.  It can output the graph in several styles and | 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 | 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.") | a major mode for Emacs for examining the flowcharts that it produces.") | ||||||
|     (license gpl3+))) |     (license license:gpl3+))) | ||||||
| 
 | 
 | ||||||
| (define-public complexity | (define-public complexity | ||||||
|   (package |   (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 | convoluted, overly long or otherwise difficult to understand.  This | ||||||
| may help in learning or reviewing unfamiliar code or perhaps | may help in learning or reviewing unfamiliar code or perhaps | ||||||
| highlighting your own code that seemed comprehensible when you wrote it.") | highlighting your own code that seemed comprehensible when you wrote it.") | ||||||
|     (license gpl3+))) |     (license license:gpl3+))) | ||||||
| 
 | 
 | ||||||
| (define-public global                             ; a global variable | (define-public global                             ; a global variable | ||||||
|   (package |   (package | ||||||
|     (name "global") |     (name "global") | ||||||
|     (version "6.3.4") |     (version "6.4") | ||||||
|     (source (origin |     (source (origin | ||||||
|              (method url-fetch) |              (method url-fetch) | ||||||
|              (uri (string-append "mirror://gnu/global/global-" |              (uri (string-append "mirror://gnu/global/global-" | ||||||
|                                  version ".tar.gz")) |                                  version ".tar.gz")) | ||||||
|              (sha256 |              (sha256 | ||||||
|               (base32 |               (base32 | ||||||
|                "0hcplcayyjf42d8ygzla6142b5dq4ybq4wg3n3cgx3b5yfhvic85")))) |                "13i4zwx6gaibc4j79wd0hgxysw8ibxz9c018zxhydnxlyadzcnri")))) | ||||||
|     (build-system gnu-build-system) |     (build-system gnu-build-system) | ||||||
|     (inputs `(("ncurses" ,ncurses) |     (inputs `(("ncurses" ,ncurses) | ||||||
|               ("libltdl" ,libltdl))) |               ("libltdl" ,libltdl) | ||||||
|  |               ("sqlite" ,sqlite))) | ||||||
|     (arguments |     (arguments | ||||||
|      `(#:configure-flags |      `(#:configure-flags | ||||||
|        (list (string-append "--with-ncurses=" |        (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 |        #:phases (alist-cons-after | ||||||
|                  'install 'post-install |                  '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 | 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 | and web browsers.  The resulting tags are useful for quickly moving around in | ||||||
| a large, deeply nested project.") | a large, deeply nested project.") | ||||||
|     (license gpl3+))) |     (license license:gpl3+))) | ||||||
| 
 | 
 | ||||||
| (define-public sloccount | (define-public sloccount | ||||||
|   (package |   (package | ||||||
|  | @ -135,8 +142,8 @@ a large, deeply nested project.") | ||||||
|     (build-system gnu-build-system) |     (build-system gnu-build-system) | ||||||
|     (arguments |     (arguments | ||||||
|      '(#:phases (modify-phases %standard-phases |      '(#:phases (modify-phases %standard-phases | ||||||
|                   (delete configure) |                   (delete 'configure) | ||||||
|                   (add-before build make-dotl-files-older |                   (add-before 'build 'make-dotl-files-older | ||||||
|                               (lambda _ |                               (lambda _ | ||||||
|                                 ;; Make the '.l' files as old as the '.c' |                                 ;; Make the '.l' files as old as the '.c' | ||||||
|                                 ;; files to avoid triggering the rule that |                                 ;; files to avoid triggering the rule that | ||||||
|  | @ -148,7 +155,7 @@ a large, deeply nested project.") | ||||||
|                                             (set-file-time file ref)) |                                             (set-file-time file ref)) | ||||||
|                                           (find-files "." "\\.[chl]$")) |                                           (find-files "." "\\.[chl]$")) | ||||||
|                                 #t)) |                                 #t)) | ||||||
|                   (add-before install make-target-directories |                   (add-before 'install 'make-target-directories | ||||||
|                               (lambda* (#:key outputs #:allow-other-keys) |                               (lambda* (#:key outputs #:allow-other-keys) | ||||||
|                                 (let ((out (assoc-ref outputs "out"))) |                                 (let ((out (assoc-ref outputs "out"))) | ||||||
|                                   (mkdir-p (string-append out "/bin")) |                                   (mkdir-p (string-append out "/bin")) | ||||||
|  | @ -156,7 +163,7 @@ a large, deeply nested project.") | ||||||
|                                                           "/share/man/man1")) |                                                           "/share/man/man1")) | ||||||
|                                   (mkdir-p (string-append out |                                   (mkdir-p (string-append out | ||||||
|                                                           "/share/doc"))))) |                                                           "/share/doc"))))) | ||||||
|                   (replace check |                   (replace 'check | ||||||
|                            (lambda _ |                            (lambda _ | ||||||
|                              (setenv "HOME" (getcwd)) |                              (setenv "HOME" (getcwd)) | ||||||
|                              (setenv "PATH" |                              (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 | measure a wide range of programming languages.  It automatically estimates the | ||||||
| effort, time, and money it would take to develop the software, using the | effort, time, and money it would take to develop the software, using the | ||||||
| COCOMO model or user-provided parameters.") | 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))) | ||||||
|  |  | ||||||
|  | @ -2,7 +2,7 @@ | ||||||
| ;;; Copyright © 2012, 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org> | ;;; Copyright © 2012, 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org> | ||||||
| ;;; Copyright © 2014 Andreas Enge <andreas@enge.fr> | ;;; Copyright © 2014 Andreas Enge <andreas@enge.fr> | ||||||
| ;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org> | ;;; 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. | ;;; This file is part of GNU Guix. | ||||||
| ;;; | ;;; | ||||||
|  | @ -26,12 +26,12 @@ | ||||||
|   #:use-module (gnu packages base) |   #:use-module (gnu packages base) | ||||||
|   #:use-module (gnu packages bash) |   #:use-module (gnu packages bash) | ||||||
|   #:use-module (gnu packages gcc) |   #:use-module (gnu packages gcc) | ||||||
|   #:use-module (gnu packages ed) |  | ||||||
|   #:use-module (gnu packages m4) |   #:use-module (gnu packages m4) | ||||||
|   #:use-module (gnu packages file) |   #:use-module (gnu packages file) | ||||||
|   #:use-module (gnu packages gawk) |   #:use-module (gnu packages gawk) | ||||||
|   #:use-module (gnu packages bison) |   #:use-module (gnu packages bison) | ||||||
|   #:use-module (gnu packages guile) |   #:use-module (gnu packages guile) | ||||||
|  |   #:use-module (gnu packages gettext) | ||||||
|   #:use-module (gnu packages multiprecision) |   #:use-module (gnu packages multiprecision) | ||||||
|   #:use-module (gnu packages compression) |   #:use-module (gnu packages compression) | ||||||
|   #:use-module (gnu packages perl) |   #: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"))) |                                              '("gcc" "libc"))) | ||||||
|                                    (current-source-location))))) |                                    (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 | (define-public glibc-final | ||||||
|   ;; The final glibc, which embeds the statically-linked Bash built above. |   ;; The final glibc, which embeds the statically-linked Bash built above. | ||||||
|   (package (inherit glibc-final-with-bootstrap-bash) |   (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" |                  "static-bash" | ||||||
|                  (package-inputs glibc-final-with-bootstrap-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 |     ;; 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 |     ;; references to GCC-BOOT0 and to the Linux headers.  XXX: Would be great | ||||||
|     ;; if 'allowed-references' were per-output. |     ;; 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) |        #: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 |        ;; 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 |        ;; to do outside (because GCC-BOOT0 is a cross-compiler, and thus | ||||||
|        ;; doesn't honor $LIBRARY_PATH, which breaks `gnu-build-system'.) |        ;; 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 | (define ld-wrapper-boot3 | ||||||
|   ;; A linker wrapper that uses the bootstrap Guile. |   ;; A linker wrapper that uses the bootstrap Guile. | ||||||
|   (package |   (make-ld-wrapper "ld-wrapper-boot3" | ||||||
|     (name "ld-wrapper-boot3") |                    #:binutils binutils-final | ||||||
|     (version "0") |                    #:guile %bootstrap-guile | ||||||
|     (source #f) |                    #:bash (car (assoc-ref %boot2-inputs "bash")))) | ||||||
|     (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+))) |  | ||||||
| 
 | 
 | ||||||
| (define %boot3-inputs | (define %boot3-inputs | ||||||
|   ;; 4th stage inputs. |   ;; 4th stage inputs. | ||||||
|  | @ -616,7 +615,7 @@ store.") | ||||||
|                                  (current-source-location) |                                  (current-source-location) | ||||||
|                                  #:guile %bootstrap-guile))) |                                  #: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 |   ;; 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 |   ;; by the build processes afterwards so their 'scm_to_locale_string' works | ||||||
|   ;; with the full range of Unicode codepoints (remember |   ;; with the full range of Unicode codepoints (remember | ||||||
|  | @ -757,16 +756,26 @@ COREUTILS-FINAL vs. COREUTILS, etc." | ||||||
|      '(#:modules ((guix build union)) |      '(#:modules ((guix build union)) | ||||||
|        #:builder (begin |        #:builder (begin | ||||||
|                    (use-modules (ice-9 match) |                    (use-modules (ice-9 match) | ||||||
|  |                                 (srfi srfi-26) | ||||||
|                                 (guix build union)) |                                 (guix build union)) | ||||||
| 
 | 
 | ||||||
|                    (match %build-inputs |                    (let ((out (assoc-ref %outputs "out"))) | ||||||
|                      (((names . directories) ...) |  | ||||||
|                       (union-build (assoc-ref %outputs "out") |  | ||||||
|                                    directories))) |  | ||||||
| 
 | 
 | ||||||
|                    (union-build (assoc-ref %outputs "debug") |                      (match %build-inputs | ||||||
|                                 (list (assoc-ref %build-inputs |                        (((names . directories) ...) | ||||||
|                                                  "libc-debug")))))) |                         (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)) |     (native-search-paths (package-native-search-paths gcc)) | ||||||
|     (search-paths (package-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 | (define-public gcc-toolchain-4.9 | ||||||
|   (gcc-toolchain gcc-4.9)) |   (gcc-toolchain gcc-4.9)) | ||||||
| 
 | 
 | ||||||
|  | (define-public gcc-toolchain-5.1 | ||||||
|  |   (gcc-toolchain gcc-5.1)) | ||||||
|  | 
 | ||||||
| ;;; commencement.scm ends here | ;;; commencement.scm ends here | ||||||
|  |  | ||||||
|  | @ -3,6 +3,7 @@ | ||||||
| ;;; Copyright © 2013 Andreas Enge <andreas@enge.fr> | ;;; Copyright © 2013 Andreas Enge <andreas@enge.fr> | ||||||
| ;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org> | ;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org> | ||||||
| ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com> | ;;; 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. | ;;; This file is part of GNU Guix. | ||||||
| ;;; | ;;; | ||||||
|  | @ -24,7 +25,9 @@ | ||||||
|   #:use-module (guix packages) |   #:use-module (guix packages) | ||||||
|   #:use-module (guix download) |   #:use-module (guix download) | ||||||
|   #:use-module (guix build-system gnu) |   #: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 | (define-public zlib | ||||||
|   (package |   (package | ||||||
|  | @ -294,7 +297,7 @@ archiving.  Lzip is a clean implementation of the LZMA algorithm.") | ||||||
| (define-public sharutils | (define-public sharutils | ||||||
|   (package |   (package | ||||||
|     (name "sharutils") |     (name "sharutils") | ||||||
|     (version "4.15") |     (version "4.15.1") | ||||||
|     (source |     (source | ||||||
|      (origin |      (origin | ||||||
|       (method url-fetch) |       (method url-fetch) | ||||||
|  | @ -302,7 +305,7 @@ archiving.  Lzip is a clean implementation of the LZMA algorithm.") | ||||||
|                           version ".tar.xz")) |                           version ".tar.xz")) | ||||||
|       (sha256 |       (sha256 | ||||||
|        (base32 |        (base32 | ||||||
|         "19gqb6qbqmpgh6xlpgpj0ayw2nshllxg9d01qb5z8bnkhfcla8ka")))) |         "02p7j270wrbwxcb86lcvxrzl29xmr3n5a2m7if46jnprvcvycb5r")))) | ||||||
|     (build-system gnu-build-system) |     (build-system gnu-build-system) | ||||||
|     (inputs |     (inputs | ||||||
|      `(("which" ,which))) |      `(("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 |      "The purpose of libmspack is to provide both compression and | ||||||
| decompression of some loosely related file formats used by Microsoft.") | decompression of some loosely related file formats used by Microsoft.") | ||||||
|     (license license:lgpl2.1+))) |     (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)))) | ||||||
|  |  | ||||||
|  | @ -130,12 +130,16 @@ may be either a libc package or #f.)" | ||||||
|                                                   ,target)) |                                                   ,target)) | ||||||
|                          (binutils (string-append |                          (binutils (string-append | ||||||
|                                     (assoc-ref inputs "binutils-cross") |                                     (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) |                     (for-each (lambda (file) | ||||||
|                                 (symlink (string-append binutils file) |                                 (symlink (string-append binutils file) | ||||||
|                                          (string-append libexec "/" |                                          (string-append libexec "/" | ||||||
|                                                         file))) |                                                         file))) | ||||||
|                               '("as" "ld" "nm")) |                               '("as" "nm")) | ||||||
|  |                     (symlink wrapper (string-append libexec "/ld")) | ||||||
|                     #t)) |                     #t)) | ||||||
|                 ,phases))) |                 ,phases))) | ||||||
|          (if libc |          (if libc | ||||||
|  | @ -196,8 +200,10 @@ GCC that does not target a libc; otherwise, target that libc." | ||||||
|                          target)) |                          target)) | ||||||
|     (source (origin (inherit (package-source gcc-4.8)) |     (source (origin (inherit (package-source gcc-4.8)) | ||||||
|               (patches |               (patches | ||||||
|                (cons (search-patch "gcc-cross-environment-variables.patch") |                (append | ||||||
|                      (cross-gcc-patches target))))) |                 (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 |     ;; For simplicity, use a single output.  Otherwise libgcc_s & co. are not | ||||||
|     ;; found by default, etc. |     ;; found by default, etc. | ||||||
|  | @ -214,7 +220,11 @@ GCC that does not target a libc; otherwise, target that libc." | ||||||
|        ,@(cross-gcc-arguments target libc))) |        ,@(cross-gcc-arguments target libc))) | ||||||
| 
 | 
 | ||||||
|     (native-inputs |     (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" |        ;; Call it differently so that the builder can check whether the "libc" | ||||||
|        ;; input is #f. |        ;; input is #f. | ||||||
|  | @ -298,8 +308,13 @@ XBINUTILS and the cross tool chain." | ||||||
|     ;; "linux-headers" input to point to the right thing. |     ;; "linux-headers" input to point to the right thing. | ||||||
|     (propagated-inputs `(("linux-headers" ,xlinux-headers))) |     (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) |     (native-inputs `(("cross-gcc" ,xgcc) | ||||||
|                      ("cross-binutils" ,xbinutils) |                      ("cross-binutils" ,xbinutils) | ||||||
|  |                      ,@(package-inputs glibc)     ;FIXME: static-bash | ||||||
|                      ,@(package-native-inputs glibc))))) |                      ,@(package-native-inputs glibc))))) | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  |  | ||||||
|  | @ -36,7 +36,7 @@ | ||||||
| (define-public cups-filters | (define-public cups-filters | ||||||
|   (package |   (package | ||||||
|     (name "cups-filters") |     (name "cups-filters") | ||||||
|     (version "1.0.61") |     (version "1.0.68") | ||||||
|     (source (origin |     (source (origin | ||||||
|               (method url-fetch) |               (method url-fetch) | ||||||
|               (uri |               (uri | ||||||
|  | @ -44,7 +44,7 @@ | ||||||
|                               "cups-filters-" version ".tar.xz")) |                               "cups-filters-" version ".tar.xz")) | ||||||
|               (sha256 |               (sha256 | ||||||
|                (base32 |                (base32 | ||||||
|                 "1bq48nnrarlbf6qc93bz1n5wlh6j420gppbck3r45sinwhz5wa7m")) |                 "0dx4assqzqdi0q4j7z5s7xzzvzxnd5c1njd9139a1h353qrcr5fi")) | ||||||
|               (modules '((guix build utils))) |               (modules '((guix build utils))) | ||||||
|               (snippet |               (snippet | ||||||
|                ;; install backends, banners and filters to cups-filters output |                ;; install backends, banners and filters to cups-filters output | ||||||
|  |  | ||||||
|  | @ -1,6 +1,7 @@ | ||||||
| ;;; GNU Guix --- Functional package management for GNU | ;;; GNU Guix --- Functional package management for GNU | ||||||
| ;;; Copyright © 2013, 2014 Andreas Enge <andreas@enge.fr> | ;;; Copyright © 2013, 2014 Andreas Enge <andreas@enge.fr> | ||||||
| ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org> | ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org> | ||||||
|  | ;;; Copyright © 2015 Tomáš Čech <sleep_walker@suse.cz> | ||||||
| ;;; | ;;; | ||||||
| ;;; This file is part of GNU Guix. | ;;; This file is part of GNU Guix. | ||||||
| ;;; | ;;; | ||||||
|  | @ -37,15 +38,14 @@ | ||||||
| (define-public curl | (define-public curl | ||||||
|   (package |   (package | ||||||
|    (name "curl") |    (name "curl") | ||||||
|    (version "7.40.0") |    (version "7.42.1") | ||||||
|    (source (origin |    (source (origin | ||||||
|             (method url-fetch) |             (method url-fetch) | ||||||
|             (uri (string-append "http://curl.haxx.se/download/curl-" |             (uri (string-append "http://curl.haxx.se/download/curl-" | ||||||
|                                 version ".tar.lzma")) |                                 version ".tar.lzma")) | ||||||
|             (sha256 |             (sha256 | ||||||
|              (base32 |              (base32 | ||||||
|               "1a15fdc26b3vwwmchzzpd3l1hfyhx06dn7b6lkikqd7kgwvg5ps7")) |               "0ircrhi4i9iviq0d9044rq288sdrww19d0ci6vmb4fh8nmm1jv1x")))) | ||||||
|             (patches (list (search-patch "curl-gss-api-fix.patch"))))) |  | ||||||
|    (build-system gnu-build-system) |    (build-system gnu-build-system) | ||||||
|    (inputs `(("gnutls" ,gnutls) |    (inputs `(("gnutls" ,gnutls) | ||||||
|              ("gss" ,gss) |              ("gss" ,gss) | ||||||
|  | @ -68,6 +68,10 @@ | ||||||
|        (lambda _ |        (lambda _ | ||||||
|          (substitute* "tests/runtests.pl" |          (substitute* "tests/runtests.pl" | ||||||
|            (("/bin/sh") (which "sh"))) |            (("/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 |          ;; The top-level "make check" does "make -C tests quiet-test", which | ||||||
|          ;; is too quiet.  Use the "test" target instead, which is more |          ;; is too quiet.  Use the "test" target instead, which is more | ||||||
|  |  | ||||||
|  | @ -5,6 +5,7 @@ | ||||||
| ;;; Copyright © 2014 David Thompson <davet@gnu.org> | ;;; Copyright © 2014 David Thompson <davet@gnu.org> | ||||||
| ;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org> | ;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org> | ||||||
| ;;; Copyright © 2015 Eric Bavier <bavier@member.fsf.org> | ;;; Copyright © 2015 Eric Bavier <bavier@member.fsf.org> | ||||||
|  | ;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com> | ||||||
| ;;; | ;;; | ||||||
| ;;; This file is part of GNU Guix. | ;;; This file is part of GNU Guix. | ||||||
| ;;; | ;;; | ||||||
|  | @ -36,13 +37,18 @@ | ||||||
|   #:use-module (gnu packages curl) |   #:use-module (gnu packages curl) | ||||||
|   #:use-module (gnu packages gnupg) |   #:use-module (gnu packages gnupg) | ||||||
|   #:use-module (gnu packages python) |   #: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) |   #:use-module ((guix licenses) | ||||||
|                 #:select (gpl2 gpl3+ lgpl2.1+ lgpl3+ x11-style non-copyleft |                 #:select (gpl2 gpl3+ lgpl2.1+ lgpl3+ x11-style non-copyleft | ||||||
|                           public-domain)) |                           bsd-2 public-domain)) | ||||||
|   #:use-module (guix packages) |   #:use-module (guix packages) | ||||||
|   #:use-module (guix download) |   #:use-module (guix download) | ||||||
|   #:use-module (guix build-system gnu) |   #:use-module (guix build-system gnu) | ||||||
|   #:use-module (guix build-system perl) |   #:use-module (guix build-system perl) | ||||||
|  |   #:use-module (guix build-system cmake) | ||||||
|   #:use-module (srfi srfi-26) |   #:use-module (srfi srfi-26) | ||||||
|   #:use-module (ice-9 match)) |   #:use-module (ice-9 match)) | ||||||
| 
 | 
 | ||||||
|  | @ -149,17 +155,85 @@ management system that supports the standardized Structured Query | ||||||
| Language.") | Language.") | ||||||
|     (license gpl2))) |     (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 | (define-public postgresql | ||||||
|   (package |   (package | ||||||
|     (name "postgresql") |     (name "postgresql") | ||||||
|     (version "9.3.5") |     (version "9.3.7") | ||||||
|     (source (origin |     (source (origin | ||||||
|               (method url-fetch) |               (method url-fetch) | ||||||
|               (uri (string-append "http://ftp.postgresql.org/pub/source/v" |               (uri (string-append "http://ftp.postgresql.org/pub/source/v" | ||||||
|                                   version "/postgresql-" version ".tar.gz")) |                                   version "/postgresql-" version ".tar.bz2")) | ||||||
|               (sha256 |               (sha256 | ||||||
|                (base32 |                (base32 | ||||||
|                 "08kga00izykgvnx7hn995wc4zjqslspapaa8z63045p1ya14mr4g")))) |                 "0ggz0i91znv053zx9qas7pjf93s5by3dk84z1jxbjkg8yyrnlx4b")))) | ||||||
|     (build-system gnu-build-system) |     (build-system gnu-build-system) | ||||||
|     (inputs |     (inputs | ||||||
|      `(("readline" ,readline) |      `(("readline" ,readline) | ||||||
|  | @ -215,7 +289,7 @@ types are supported, as is encryption.") | ||||||
| (define-public sqlite | (define-public sqlite | ||||||
|   (package |   (package | ||||||
|    (name "sqlite") |    (name "sqlite") | ||||||
|    (version "3.8.8.3") |    (version "3.8.9") | ||||||
|    (source (origin |    (source (origin | ||||||
|             (method url-fetch) |             (method url-fetch) | ||||||
|             ;; TODO: Download from sqlite.org once this bug : |             ;; TODO: Download from sqlite.org once this bug : | ||||||
|  | @ -235,12 +309,15 @@ types are supported, as is encryption.") | ||||||
|                     "/sqlite-autoconf-" numeric-version ".tar.gz"))) |                     "/sqlite-autoconf-" numeric-version ".tar.gz"))) | ||||||
|             (sha256 |             (sha256 | ||||||
|              (base32 |              (base32 | ||||||
|               "04dl53iv5q0srv4jcgjfzsrdzkq6dg1sgmlmpw9lrd4xrmj6jmvl")))) |               "18k90bbfvvgc5204nm1hzw0vsj9ygzv7zbq3z6zrya6j5hwvdsvn")))) | ||||||
|    (build-system gnu-build-system) |    (build-system gnu-build-system) | ||||||
|    (inputs `(("readline" ,readline))) |    (inputs `(("readline" ,readline))) | ||||||
|    ;; Add -DSQLITE_SECURE_DELETE.  GNU Icecat will refuse to use the system |    (arguments | ||||||
|    ;; SQLite unless this option is enabled. |     `(#:configure-flags | ||||||
|    (arguments `(#:configure-flags '("CFLAGS=-O2 -DSQLITE_SECURE_DELETE"))) |       ;; 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/") |    (home-page "http://www.sqlite.org/") | ||||||
|    (synopsis "The SQLite database management system") |    (synopsis "The SQLite database management system") | ||||||
|    (description |    (description | ||||||
|  | @ -464,6 +541,29 @@ DBIx::Class::Schema by scanning database table definitions and setting up the | ||||||
| columns, primary keys, unique constraints and relationships.") | columns, primary keys, unique constraints and relationships.") | ||||||
|     (license (package-license perl)))) |     (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 | (define-public perl-dbd-sqlite | ||||||
|   (package |   (package | ||||||
|     (name "perl-dbd-sqlite") |     (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") | time your data changes") | ||||||
|     (license (package-license perl)))) |     (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 | (define-public unixodbc | ||||||
|   (package |   (package | ||||||
|    (name "unixodbc") |    (name "unixodbc") | ||||||
|  | @ -538,3 +684,29 @@ Driver.") | ||||||
|    (license lgpl2.1+)  |    (license lgpl2.1+)  | ||||||
|    ;; COPYING contains copy of lgpl2.1 - but copyright notices just say "LGPL" |    ;; COPYING contains copy of lgpl2.1 - but copyright notices just say "LGPL" | ||||||
|    (home-page "http://www.unixodbc.org"))) |    (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))) | ||||||
|  |  | ||||||
|  | @ -26,7 +26,7 @@ | ||||||
| (define-public dejagnu | (define-public dejagnu | ||||||
|   (package |   (package | ||||||
|     (name "dejagnu") |     (name "dejagnu") | ||||||
|     (version "1.5.2") |     (version "1.5.3") | ||||||
|     (source |     (source | ||||||
|      (origin |      (origin | ||||||
|       (method url-fetch) |       (method url-fetch) | ||||||
|  | @ -34,7 +34,7 @@ | ||||||
|                           version ".tar.gz")) |                           version ".tar.gz")) | ||||||
|       (sha256 |       (sha256 | ||||||
|        (base32 |        (base32 | ||||||
|         "18ikblg4x4y5fkw8sg0c2zmqgxdqqycswmws17sxx8m4sz6g7dch")))) |         "069z3qrdv35cm2sbnfr5yjzplrqj9f61cchxis7j9mm19hv8x6q9")))) | ||||||
|     (build-system gnu-build-system) |     (build-system gnu-build-system) | ||||||
|     (inputs `(("expect" ,expect))) |     (inputs `(("expect" ,expect))) | ||||||
|     (arguments |     (arguments | ||||||
|  |  | ||||||
|  | @ -17,18 +17,14 @@ | ||||||
| ;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>. | ;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>. | ||||||
| 
 | 
 | ||||||
| (define-module (gnu packages dictionaries) | (define-module (gnu packages dictionaries) | ||||||
|   #:use-module ((guix licenses) #:prefix license:) |   #:use-module (guix licenses) | ||||||
|   #:use-module (guix packages) |   #:use-module (guix packages) | ||||||
|   #:use-module (guix download) |   #:use-module (guix download) | ||||||
|   #:use-module (guix build-system trivial) |   #:use-module (guix build-system trivial) | ||||||
|   #:use-module (guix build-system cmake) |  | ||||||
|   #:use-module (gnu packages base) |   #:use-module (gnu packages base) | ||||||
|   #:use-module (gnu packages compression) |   #:use-module (gnu packages texinfo) | ||||||
|   #:use-module (gnu packages gettext) |   #:use-module ((gnu packages compression) | ||||||
|   #:use-module (gnu packages glib) |                 #:select (gzip))) | ||||||
|   #:use-module (gnu packages pkg-config) |  | ||||||
|   #:use-module (gnu packages readline) |  | ||||||
|   #:use-module (gnu packages texinfo)) |  | ||||||
| 
 | 
 | ||||||
| (define-public vera | (define-public vera | ||||||
|   (package |   (package | ||||||
|  | @ -79,37 +75,4 @@ | ||||||
|     (description |     (description | ||||||
|      "V.E.R.A. (Virtual Entity of Relevant Acronyms) is a list of computing |      "V.E.R.A. (Virtual Entity of Relevant Acronyms) is a list of computing | ||||||
| acronyms distributed as an info document.") | acronyms distributed as an info document.") | ||||||
|     (license license:fdl1.3+))) |     (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+))) |  | ||||||
|  |  | ||||||
|  | @ -1,5 +1,6 @@ | ||||||
| ;;; GNU Guix --- Functional package management for GNU | ;;; GNU Guix --- Functional package management for GNU | ||||||
| ;;; Copyright © 2012, 2013 Nikita Karetnikov <nikita@karetnikov.org> | ;;; Copyright © 2012, 2013 Nikita Karetnikov <nikita@karetnikov.org> | ||||||
|  | ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org> | ||||||
| ;;; | ;;; | ||||||
| ;;; This file is part of GNU Guix. | ;;; 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 | program also includes a tool for manipulating its log files, which are used | ||||||
| to recover data more efficiently by only reading the necessary blocks.") | to recover data more efficiently by only reading the necessary blocks.") | ||||||
|     (license gpl3+))) |     (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+))) | ||||||
|  |  | ||||||
|  | @ -25,7 +25,6 @@ | ||||||
|   #:use-module (guix build-system python) |   #:use-module (guix build-system python) | ||||||
|   #:use-module (gnu packages) |   #:use-module (gnu packages) | ||||||
|   #:use-module (gnu packages databases) |   #:use-module (gnu packages databases) | ||||||
|   #:use-module (gnu packages ebook) |  | ||||||
|   #:use-module (gnu packages fontutils) |   #:use-module (gnu packages fontutils) | ||||||
|   #:use-module (gnu packages freedesktop) |   #:use-module (gnu packages freedesktop) | ||||||
|   #:use-module (gnu packages glib) |   #:use-module (gnu packages glib) | ||||||
|  | @ -60,7 +59,7 @@ | ||||||
| (define-public calibre | (define-public calibre | ||||||
|   (package |   (package | ||||||
|     (name "calibre") |     (name "calibre") | ||||||
|     (version "2.21.0") |     (version "2.28.0") | ||||||
|     (source |     (source | ||||||
|       (origin |       (origin | ||||||
|         (method url-fetch) |         (method url-fetch) | ||||||
|  | @ -69,7 +68,7 @@ | ||||||
|                             version ".tar.xz")) |                             version ".tar.xz")) | ||||||
|         (sha256 |         (sha256 | ||||||
|           (base32 |           (base32 | ||||||
|            "1adig2jxwbmsxcs36jaybhc8zdb8mnkc23kabw0c72izrsg4c5gb")) |            "15sb74v0nlj45fhlnw1afll35l90cxw78s15fb2nx3fih7ahv3cf")) | ||||||
|         ;; Remove non-free or doubtful code, see |         ;; Remove non-free or doubtful code, see | ||||||
|         ;; https://lists.gnu.org/archive/html/guix-devel/2015-02/msg00478.html |         ;; https://lists.gnu.org/archive/html/guix-devel/2015-02/msg00478.html | ||||||
|         (modules '((guix build utils))) |         (modules '((guix build utils))) | ||||||
|  | @ -77,7 +76,8 @@ | ||||||
|           '(begin |           '(begin | ||||||
|             (delete-file-recursively "src/unrar") |             (delete-file-recursively "src/unrar") | ||||||
|             (delete-file "src/odf/thumbnail.py"))) |             (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) |     (build-system python-build-system) | ||||||
|     (native-inputs |     (native-inputs | ||||||
|      `(("pkg-config" ,pkg-config) |      `(("pkg-config" ,pkg-config) | ||||||
|  |  | ||||||
|  | @ -27,14 +27,14 @@ | ||||||
| (define-public ed | (define-public ed | ||||||
|   (package |   (package | ||||||
|     (name "ed") |     (name "ed") | ||||||
|     (version "1.10") |     (version "1.11") | ||||||
|     (source (origin |     (source (origin | ||||||
|              (method url-fetch) |              (method url-fetch) | ||||||
|              (uri (string-append "mirror://gnu/ed/ed-" |              (uri (string-append "mirror://gnu/ed/ed-" | ||||||
|                                  version ".tar.lz")) |                                  version ".tar.lz")) | ||||||
|              (sha256 |              (sha256 | ||||||
|               (base32 |               (base32 | ||||||
|                "16kycdm5fcvpdr41hxb2da8da6jzs9dqznsg5552z6rh28n0jh4m")))) |                "0d518yhs3kpdpv9fbpa1rhxk2fbry2yzcknrdaa20pi2bzg6w55x")))) | ||||||
|     (build-system gnu-build-system) |     (build-system gnu-build-system) | ||||||
|     (native-inputs `(("lzip" ,lzip))) |     (native-inputs `(("lzip" ,lzip))) | ||||||
|     (arguments |     (arguments | ||||||
|  |  | ||||||
|  | @ -1,5 +1,5 @@ | ||||||
| ;;; GNU Guix --- Functional package management for GNU | ;;; 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 © 2014, 2015 Mark H Weaver <mhw@netris.org> | ||||||
| ;;; Copyright © 2015 Andreas Enge <andreas@enge.fr> | ;;; Copyright © 2015 Andreas Enge <andreas@enge.fr> | ||||||
| ;;; | ;;; | ||||||
|  | @ -38,7 +38,9 @@ | ||||||
|                     version "/elfutils-" version ".tar.bz2")) |                     version "/elfutils-" version ".tar.bz2")) | ||||||
|               (sha256 |               (sha256 | ||||||
|                (base32 |                (base32 | ||||||
|                 "0w50szymyqvx8g0vkwrvnv17grqxva6x1z9dm9m3i99zg2hr232p")))) |                 "0w50szymyqvx8g0vkwrvnv17grqxva6x1z9dm9m3i99zg2hr232p")) | ||||||
|  |               (patches | ||||||
|  |                (list (search-patch "elfutils-tests-ptrace.patch"))))) | ||||||
|     (build-system gnu-build-system) |     (build-system gnu-build-system) | ||||||
| 
 | 
 | ||||||
|     ;; Separate programs because that's usually not what elfutils users want, |     ;; Separate programs because that's usually not what elfutils users want, | ||||||
|  | @ -46,6 +48,13 @@ | ||||||
|     (outputs '("out"                           ; libelf.so, elfutils/*.h, etc. |     (outputs '("out"                           ; libelf.so, elfutils/*.h, etc. | ||||||
|                "bin"))                         ; ld, nm, objdump, 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))) |     (native-inputs `(("m4" ,m4))) | ||||||
|     (inputs `(("zlib" ,zlib))) |     (inputs `(("zlib" ,zlib))) | ||||||
|     (home-page "https://fedorahosted.org/elfutils/") |     (home-page "https://fedorahosted.org/elfutils/") | ||||||
|  |  | ||||||
|  | @ -1,7 +1,7 @@ | ||||||
| ;;; GNU Guix --- Functional package management for GNU | ;;; GNU Guix --- Functional package management for GNU | ||||||
| ;;; Copyright © 2014 Taylan Ulrich Bayirli/Kammer <taylanbayirli@gmail.com> | ;;; Copyright © 2014 Taylan Ulrich Bayirli/Kammer <taylanbayirli@gmail.com> | ||||||
| ;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org> | ;;; 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> | ;;; Copyright © 2014 Alex Kost <alezost@gmail.com> | ||||||
| ;;; | ;;; | ||||||
| ;;; This file is part of GNU Guix. | ;;; This file is part of GNU Guix. | ||||||
|  | @ -23,11 +23,14 @@ | ||||||
|   #:use-module ((guix licenses) #:prefix license:) |   #:use-module ((guix licenses) #:prefix license:) | ||||||
|   #:use-module (guix packages) |   #:use-module (guix packages) | ||||||
|   #:use-module (guix download) |   #:use-module (guix download) | ||||||
|  |   #:use-module (guix git-download) | ||||||
|   #:use-module (guix build-system gnu) |   #:use-module (guix build-system gnu) | ||||||
|   #:use-module (guix build-system glib-or-gtk) |   #:use-module (guix build-system glib-or-gtk) | ||||||
|   #:use-module (guix build-system trivial) |   #:use-module (guix build-system trivial) | ||||||
|   #:use-module (gnu packages) |   #:use-module (gnu packages) | ||||||
|  |   #:use-module (gnu packages guile) | ||||||
|   #:use-module (gnu packages gtk) |   #:use-module (gnu packages gtk) | ||||||
|  |   #:use-module (gnu packages gnome) | ||||||
|   #:use-module (gnu packages ncurses) |   #:use-module (gnu packages ncurses) | ||||||
|   #:use-module (gnu packages texinfo) |   #:use-module (gnu packages texinfo) | ||||||
|   #:use-module (gnu packages gnutls) |   #:use-module (gnu packages gnutls) | ||||||
|  | @ -56,14 +59,15 @@ | ||||||
| (define-public emacs | (define-public emacs | ||||||
|   (package |   (package | ||||||
|     (name "emacs") |     (name "emacs") | ||||||
|     (version "24.4") |     (version "24.5") | ||||||
|     (source (origin |     (source (origin | ||||||
|              (method url-fetch) |              (method url-fetch) | ||||||
|              (uri (string-append "mirror://gnu/emacs/emacs-" |              (uri (string-append "mirror://gnu/emacs/emacs-" | ||||||
|                                  version ".tar.xz")) |                                  version ".tar.xz")) | ||||||
|              (sha256 |              (sha256 | ||||||
|               (base32 |               (base32 | ||||||
|                "1zflm6ac34s6v166p58ilxrxbxjm0q2wfc25f8y0mjml1lbr3qs7")))) |                "0kn3rzm91qiswi0cql89kbv6mqn27rwsyjfb8xmwy9m5s8fxfiyx")) | ||||||
|  |              (patches (list (search-patch "emacs-exec-path.patch"))))) | ||||||
|     (build-system glib-or-gtk-build-system) |     (build-system glib-or-gtk-build-system) | ||||||
|     (arguments |     (arguments | ||||||
|      '(#:phases (alist-cons-before |      '(#:phases (alist-cons-before | ||||||
|  | @ -92,6 +96,7 @@ | ||||||
|        ("libpng" ,libpng) |        ("libpng" ,libpng) | ||||||
|        ("zlib" ,zlib) |        ("zlib" ,zlib) | ||||||
| 
 | 
 | ||||||
|  |        ("librsvg" ,librsvg) | ||||||
|        ("libxpm" ,libxpm) |        ("libxpm" ,libxpm) | ||||||
|        ("libxml2" ,libxml2) |        ("libxml2" ,libxml2) | ||||||
|        ("libice" ,libice) |        ("libice" ,libice) | ||||||
|  | @ -126,7 +131,7 @@ editor (console only)") | ||||||
|     (inputs (fold alist-delete |     (inputs (fold alist-delete | ||||||
|                   (package-inputs emacs) |                   (package-inputs emacs) | ||||||
|                   '("libx11" "gtk+" "libxft" "libtiff" "giflib" "libjpeg" |                   '("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. |                     ;; D-Bus depends on libx11, so remove it as well. | ||||||
|                     "dbus"))))) |                     "dbus"))))) | ||||||
|  | @ -143,6 +148,35 @@ editor (without an X toolkit)" ) | ||||||
|     (arguments (append '(#:configure-flags '("--with-x-toolkit=no")) |     (arguments (append '(#:configure-flags '("--with-x-toolkit=no")) | ||||||
|                        (package-arguments emacs))))) |                        (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. | ;;; Emacs hacking. | ||||||
|  | @ -151,13 +185,14 @@ editor (without an X toolkit)" ) | ||||||
| (define-public geiser | (define-public geiser | ||||||
|   (package |   (package | ||||||
|     (name "geiser") |     (name "geiser") | ||||||
|     (version "0.6") |     (version "0.7") | ||||||
|     (source (origin |     (source (origin | ||||||
|              (method url-fetch) |              (method url-fetch) | ||||||
|              (uri (string-append "mirror://savannah/geiser/" version |              (uri (string-append "mirror://savannah/geiser/" version | ||||||
|                                  "/geiser-" version ".tar.gz")) |                                  "/geiser-" version ".tar.gz")) | ||||||
|              (sha256 |              (sha256 | ||||||
|               (base32 "1mrk0bzqcpfhsw6635qznn47nzfy9ps7wrhkpymswdfpw5mdsry5")))) |               (base32 | ||||||
|  |                "0cp7r91ibw45yw9k3fz1s13y7ryfsxjgpk57qv37qsznb9lmqylx")))) | ||||||
|     (build-system gnu-build-system) |     (build-system gnu-build-system) | ||||||
|     (arguments |     (arguments | ||||||
|      '(#:phases (alist-cons-after |      '(#:phases (alist-cons-after | ||||||
|  | @ -173,20 +208,12 @@ editor (without an X toolkit)" ) | ||||||
|     (home-page "http://nongnu.org/geiser/") |     (home-page "http://nongnu.org/geiser/") | ||||||
|     (synopsis "Collection of Emacs modes for Guile and Racket hacking") |     (synopsis "Collection of Emacs modes for Guile and Racket hacking") | ||||||
|     (description |     (description | ||||||
|      "Geiser is a collection of Emacs major and minor modes that |      "Geiser is a collection of Emacs major and minor modes that conspire with | ||||||
| conspire with one or more Scheme interpreters to keep the Lisp Machine | one or more Scheme implementations to keep the Lisp Machine Spirit alive.  The | ||||||
| Spirit alive.  It draws inspiration (and a bit more) from environments | continuously running Scheme interpreter takes the center of the stage in | ||||||
| such as Common Lisp’s Slime, Factor’s FUEL, Squeak or Emacs itself, and | Geiser.  A bundle of Elisp shims orchestrates the dialog between the Scheme | ||||||
| does its best to make Scheme hacking inside Emacs (even more) fun. | implementation, Emacs and, ultimately, the schemer, giving them access to live | ||||||
| 
 | metadata.") | ||||||
| Or, to be precise, what i consider fun.  Geiser is thus my humble |  | ||||||
| contribution to the dynamic school of expression, and a reaction against |  | ||||||
| what i perceive as a derailment, in modern times, of standard Scheme |  | ||||||
| towards the static camp.  Because i prefer growing and healing to poking |  | ||||||
| at corpses, the continuously running Scheme interpreter takes the center |  | ||||||
| of the stage in Geiser.  A bundle of Elisp shims orchestrates the dialog |  | ||||||
| between the Scheme interpreter, Emacs and, ultimately, the schemer, |  | ||||||
| giving her access to live metadata.") |  | ||||||
|     (license license:bsd-3))) |     (license license:bsd-3))) | ||||||
| 
 | 
 | ||||||
| (define-public paredit | (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.") | when typing parentheses directly or commenting out code line by line.") | ||||||
|     (license license:gpl3+))) |     (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 | (define-public magit | ||||||
|   (package |   (package | ||||||
|     (name "magit") |     (name "magit") | ||||||
|     (version "1.2.1") |     (version "1.4.1") | ||||||
|     (source (origin |     (source (origin | ||||||
|              (method url-fetch) |              (method url-fetch) | ||||||
|              (uri (string-append |              (uri (string-append | ||||||
|                    "https://github.com/magit/magit/releases/download/" |                    "https://github.com/magit/magit/releases/download/" | ||||||
|                    version "/" name "-" version ".tar.gz")) |                    version "/" name "-" version ".tar.gz")) | ||||||
|              (sha256 |              (sha256 | ||||||
|               (base32 "1in48g5l5xdc9cf2apnpgx73mqlz2njrpi1w52dgql4qxv3kg6gr")))) |               (base32 | ||||||
|  |                "0bbvz6cma5vj6qxx9v2m60zqkjwgwjrdf9kp04iacybvrcm8vcg7")))) | ||||||
|     (build-system gnu-build-system) |     (build-system gnu-build-system) | ||||||
|     (native-inputs `(("texinfo" ,texinfo))) |     (native-inputs `(("texinfo" ,texinfo) | ||||||
|     (inputs `(("emacs" ,emacs-no-x) |                      ("emacs" ,emacs-no-x))) | ||||||
|               ("git" ,git) |     (inputs `(("git" ,git) | ||||||
|               ("git:gui" ,git "gui"))) |               ("git:gui" ,git "gui"))) | ||||||
|  |     (propagated-inputs `(("git-modes" ,git-modes))) | ||||||
|     (arguments |     (arguments | ||||||
|      `(#:modules ((guix build gnu-build-system) |      `(#:modules ((guix build gnu-build-system) | ||||||
|                   (guix build utils) |                   (guix build utils) | ||||||
|                   (guix build emacs-utils)) |                   (guix build emacs-utils)) | ||||||
|        #:imported-modules ((guix build gnu-build-system) |        #:imported-modules (,@%gnu-build-system-modules | ||||||
|                            (guix build utils) |  | ||||||
|                            (guix build emacs-utils)) |                            (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 |        #:phases | ||||||
|        (alist-replace |        (modify-phases %standard-phases | ||||||
|         'configure |          (replace | ||||||
|         (lambda* (#:key outputs #:allow-other-keys) |           'configure | ||||||
|           (let ((out (assoc-ref outputs "out"))) |           (lambda* (#:key outputs #:allow-other-keys) | ||||||
|             (substitute* "Makefile" |             (let ((out (assoc-ref outputs "out"))) | ||||||
|               (("/usr/local") out) |               (substitute* "Makefile" | ||||||
|               (("/etc") (string-append out "/etc"))))) |                 (("/usr/local") out) | ||||||
|         (alist-cons-before |                 (("/etc") (string-append out "/etc")))))) | ||||||
|          'build 'patch-exec-paths |          (add-before | ||||||
|          (lambda* (#:key inputs #:allow-other-keys) |           'build 'patch-exec-paths | ||||||
|            (let ((git (assoc-ref inputs "git")) |           (lambda* (#:key inputs #:allow-other-keys) | ||||||
|                  (git:gui (assoc-ref inputs "git:gui"))) |             (let ((git (assoc-ref inputs "git")) | ||||||
|              (emacs-substitute-variables "magit.el" |                   (git:gui (assoc-ref inputs "git:gui"))) | ||||||
|                ("magit-git-executable" (string-append git "/bin/git")) |               (emacs-substitute-variables "magit.el" | ||||||
|                ("magit-gitk-executable" (string-append git:gui "/bin/gitk"))))) |                 ("magit-git-executable" (string-append git "/bin/git")) | ||||||
|          (alist-cons-after |                 ("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 |           'install 'post-install | ||||||
|           (lambda* (#:key outputs #:allow-other-keys) |           (lambda* (#:key outputs #:allow-other-keys) | ||||||
|             (emacs-generate-autoloads |             (emacs-generate-autoloads | ||||||
|              ,name (string-append (assoc-ref outputs "out") |              ,name (string-append (assoc-ref outputs "out") | ||||||
|                                   "/share/emacs/site-lisp/"))) |                                   "/share/emacs/site-lisp/"))))))) | ||||||
|           %standard-phases))))) |  | ||||||
|     (home-page "http://magit.github.io/") |     (home-page "http://magit.github.io/") | ||||||
|     (synopsis "Emacs interface for the Git version control system") |     (synopsis "Emacs interface for the Git version control system") | ||||||
|     (description |     (description | ||||||
|  | @ -312,11 +401,10 @@ operations.") | ||||||
|               ("imagemagick" ,imagemagick) |               ("imagemagick" ,imagemagick) | ||||||
|               ("emacs" ,emacs-no-x))) |               ("emacs" ,emacs-no-x))) | ||||||
|     (arguments |     (arguments | ||||||
|      '(#:modules ((guix build gnu-build-system) |      `(#:modules ((guix build gnu-build-system) | ||||||
|                   (guix build utils) |                   (guix build utils) | ||||||
|                   (guix build emacs-utils)) |                   (guix build emacs-utils)) | ||||||
|        #:imported-modules ((guix build gnu-build-system) |        #:imported-modules (,@%gnu-build-system-modules | ||||||
|                            (guix build utils) |  | ||||||
|                            (guix build emacs-utils)) |                            (guix build emacs-utils)) | ||||||
|        #:configure-flags |        #:configure-flags | ||||||
|        (let ((out (assoc-ref %outputs "out"))) |        (let ((out (assoc-ref %outputs "out"))) | ||||||
|  | @ -380,11 +468,10 @@ operations.") | ||||||
|     (inputs `(("wget" ,wget) |     (inputs `(("wget" ,wget) | ||||||
|               ("emacs" ,emacs-no-x))) |               ("emacs" ,emacs-no-x))) | ||||||
|     (arguments |     (arguments | ||||||
|      '(#:modules ((guix build gnu-build-system) |      `(#:modules ((guix build gnu-build-system) | ||||||
|                   (guix build utils) |                   (guix build utils) | ||||||
|                   (guix build emacs-utils)) |                   (guix build emacs-utils)) | ||||||
|        #:imported-modules ((guix build gnu-build-system) |        #:imported-modules (,@%gnu-build-system-modules | ||||||
|                            (guix build utils) |  | ||||||
|                            (guix build emacs-utils)) |                            (guix build emacs-utils)) | ||||||
|        #:tests? #f  ; no check target |        #:tests? #f  ; no check target | ||||||
|        #:phases |        #:phases | ||||||
|  | @ -448,11 +535,10 @@ operations.") | ||||||
|                    (string-append "all: " rest " emms-print-metadata\n")))))) |                    (string-append "all: " rest " emms-print-metadata\n")))))) | ||||||
|     (build-system gnu-build-system) |     (build-system gnu-build-system) | ||||||
|     (arguments |     (arguments | ||||||
|      '(#:modules ((guix build gnu-build-system) |      `(#:modules ((guix build gnu-build-system) | ||||||
|                   (guix build utils) |                   (guix build utils) | ||||||
|                   (guix build emacs-utils)) |                   (guix build emacs-utils)) | ||||||
|        #:imported-modules ((guix build gnu-build-system) |        #:imported-modules (,@%gnu-build-system-modules | ||||||
|                            (guix build utils) |  | ||||||
|                            (guix build emacs-utils)) |                            (guix build emacs-utils)) | ||||||
| 
 | 
 | ||||||
|        #:phases (alist-replace |        #:phases (alist-replace | ||||||
|  |  | ||||||
|  | @ -35,7 +35,7 @@ | ||||||
|   #:use-module (gnu packages gnome) |   #:use-module (gnu packages gnome) | ||||||
|   #:use-module (gnu packages gtk) |   #:use-module (gnu packages gtk) | ||||||
|   #:use-module (gnu packages guile) |   #: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 maths) | ||||||
|   #:use-module (gnu packages perl) |   #:use-module (gnu packages perl) | ||||||
|   #:use-module (gnu packages pkg-config) |   #:use-module (gnu packages pkg-config) | ||||||
|  |  | ||||||
|  | @ -156,15 +156,16 @@ full capabilities of EFL.") | ||||||
| (define-public evas-generic-loaders | (define-public evas-generic-loaders | ||||||
|   (package |   (package | ||||||
|     (name "evas-generic-loaders") |     (name "evas-generic-loaders") | ||||||
|     (version "1.13.0") |     (version "1.13.2") | ||||||
|     (source (origin |     (source (origin | ||||||
|               (method url-fetch) |               (method url-fetch) | ||||||
|               (uri |               (uri | ||||||
|                (string-append |                (string-append | ||||||
|                 "http://download.enlightenment.org/rel/libs/evas_generic_loaders/evas_generic_loaders-" |                 "https://download.enlightenment.org/rel/libs/" | ||||||
|                 version ".tar.gz")) |                 "evas_generic_loaders/evas_generic_loaders-" | ||||||
|  |                 version ".tar.xz")) | ||||||
|               (sha256 |               (sha256 | ||||||
|                (base32 "16yzjk58bxsd0rlnpzrr8as9fxjjiq01swzhpadsgkmq33abgg63")))) |                (base32 "1z5vjabs3psvqs3251mpyl1wgbdv1grn30yf682vamdqc5ckfa69")))) | ||||||
|     (build-system gnu-build-system) |     (build-system gnu-build-system) | ||||||
|     (native-inputs |     (native-inputs | ||||||
|      `(("pkg-config" ,pkg-config))) |      `(("pkg-config" ,pkg-config))) | ||||||
|  |  | ||||||
							
								
								
									
										87
									
								
								gnu/packages/fcitx.scm
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										87
									
								
								gnu/packages/fcitx.scm
									
										
									
									
									
										Normal 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+))) | ||||||
|  | @ -29,7 +29,7 @@ | ||||||
| (define-public feh | (define-public feh | ||||||
|   (package |   (package | ||||||
|     (name "feh") |     (name "feh") | ||||||
|     (version "2.12") |     (version "2.13") | ||||||
|     (home-page "https://feh.finalrewind.org/") |     (home-page "https://feh.finalrewind.org/") | ||||||
|     (source (origin |     (source (origin | ||||||
|               (method url-fetch) |               (method url-fetch) | ||||||
|  | @ -37,7 +37,7 @@ | ||||||
|                                   name "-" version ".tar.bz2")) |                                   name "-" version ".tar.bz2")) | ||||||
|               (sha256 |               (sha256 | ||||||
|                (base32 |                (base32 | ||||||
|                 "0ckhidmsms2l5jycp0qf71jzmb3bpbhjq3bcgfpvfvszah7pmq30")))) |                 "06fa9zh1zpi63l90kw3l9a0sfavf424j7ksi396ifg9669gx35gn")))) | ||||||
|     (build-system gnu-build-system) |     (build-system gnu-build-system) | ||||||
|     (arguments |     (arguments | ||||||
|       '(#:phases (alist-delete 'configure %standard-phases) |       '(#:phases (alist-delete 'configure %standard-phases) | ||||||
|  |  | ||||||
|  | @ -1,5 +1,6 @@ | ||||||
| ;;; GNU Guix --- Functional package management for GNU | ;;; GNU Guix --- Functional package management for GNU | ||||||
| ;;; Copyright © 2014 John Darrington <jmd@gnu.org> | ;;; Copyright © 2014 John Darrington <jmd@gnu.org> | ||||||
|  | ;;; Copyright © 2015 Eric Bavier <bavier@member.fsf.org> | ||||||
| ;;; | ;;; | ||||||
| ;;; This file is part of GNU Guix. | ;;; This file is part of GNU Guix. | ||||||
| ;;; | ;;; | ||||||
|  | @ -17,7 +18,10 @@ | ||||||
| ;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>. | ;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>. | ||||||
| 
 | 
 | ||||||
| (define-module (gnu packages fltk) | (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 xorg) | ||||||
|   #:use-module (gnu packages gl) |   #:use-module (gnu packages gl) | ||||||
|   #:use-module (guix packages) |   #:use-module (guix packages) | ||||||
|  | @ -27,7 +31,7 @@ | ||||||
| (define-public fltk | (define-public fltk | ||||||
|   (package |   (package | ||||||
|     (name "fltk") |     (name "fltk") | ||||||
|     (version "1.3.2") |     (version "1.3.3") | ||||||
|     (source |     (source | ||||||
|      (origin |      (origin | ||||||
|       (method url-fetch) |       (method url-fetch) | ||||||
|  | @ -35,21 +39,42 @@ | ||||||
|                           "/fltk-" version "-source.tar.gz")) |                           "/fltk-" version "-source.tar.gz")) | ||||||
|       (sha256 |       (sha256 | ||||||
|        (base32 |        (base32 | ||||||
|         "1974brlk723095vf8z72kazq1cbqr9a51kq6b0xda6zkjkgl8q0p")))) |         "15qd7lkz5d5ynz70xhxhigpz3wns39v9xcf7ggkl0792syc8sfgq")) | ||||||
|  |       (patches (list (search-patch "fltk-shared-lib-defines.patch"))))) | ||||||
|    (build-system gnu-build-system) |    (build-system gnu-build-system) | ||||||
|     (inputs |    (inputs | ||||||
|       `(("libx11" ,libx11) |     `(("libjpeg" ,libjpeg-8)     ;jpeg_read_header argument error in libjpeg-9 | ||||||
|         ("mesa" ,mesa))) |       ("libpng" ,libpng) | ||||||
|  |       ("libx11" ,libx11) | ||||||
|  |       ("mesa" ,mesa) | ||||||
|  |       ("zlib" ,zlib))) | ||||||
|     (arguments |     (arguments | ||||||
|      `(#:tests? #f                      ;TODO: compile programs in "test" dir |      `(#: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 |        #:phases | ||||||
|        (alist-cons-before |        (alist-cons-before | ||||||
|         'configure 'patch-makeinclude |         'configure 'patch-makeinclude | ||||||
|         (lambda _ |         (lambda _ | ||||||
|           (substitute* "makeinclude.in" |           (substitute* "makeinclude.in" | ||||||
|             (("/bin/sh") (which "sh")))) |             (("/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") |     (home-page "http://www.fltk.org") | ||||||
|     (synopsis "3D C++ GUI library") |     (synopsis "3D C++ GUI library") | ||||||
|     (description "FLTK is a C++ GUI toolkit providing modern GUI functionality |     (description "FLTK is a C++ GUI toolkit providing modern GUI functionality | ||||||
|  |  | ||||||
|  | @ -1,5 +1,9 @@ | ||||||
| ;;; GNU Guix --- Functional package management for GNU | ;;; GNU Guix --- Functional package management for GNU | ||||||
| ;;; Copyright © 2015 Andreas Enge <andreas@enge.fr> | ;;; 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. | ;;; This file is part of GNU Guix. | ||||||
| ;;; | ;;; | ||||||
|  | @ -17,10 +21,24 @@ | ||||||
| ;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>. | ;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>. | ||||||
| 
 | 
 | ||||||
| (define-module (gnu packages freedesktop) | (define-module (gnu packages freedesktop) | ||||||
|   #:use-module ((guix licenses) #:select (expat)) |   #:use-module ((guix licenses) #:prefix license:) | ||||||
|   #:use-module (guix packages) |   #:use-module (guix packages) | ||||||
|   #:use-module (guix download) |   #: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 | (define-public xdg-utils | ||||||
|   (package |   (package | ||||||
|  | @ -43,4 +61,139 @@ | ||||||
|     (description "The xdg-utils package is a set of simple scripts that |     (description "The xdg-utils package is a set of simple scripts that | ||||||
| provide basic desktop integration functions in the framework of the | provide basic desktop integration functions in the framework of the | ||||||
| freedesktop.org project.") | 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)) | ||||||
|  |  | ||||||
|  | @ -1,5 +1,5 @@ | ||||||
| ;;; GNU Guix --- Functional package management for GNU | ;;; 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 Andreas Enge <andreas@enge.fr> | ||||||
| ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org> | ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org> | ||||||
| ;;; | ;;; | ||||||
|  | @ -36,8 +36,10 @@ | ||||||
|     (version "4.6.1") |     (version "4.6.1") | ||||||
|     (source (origin |     (source (origin | ||||||
|               (method url-fetch) |               (method url-fetch) | ||||||
|               (uri (string-append "http://lftp.yar.ru/ftp/lftp-" |               (uri (list (string-append "http://lftp.yar.ru/ftp/lftp-" | ||||||
|                                   version ".tar.xz")) |                                         version ".tar.xz") | ||||||
|  |                          (string-append "http://lftp.yar.ru/ftp/old/lftp-" | ||||||
|  |                                         version ".tar.xz"))) | ||||||
|               (sha256 |               (sha256 | ||||||
|                (base32 |                (base32 | ||||||
|                 "1grmp8zg7cjgjinz66mrh53whigkqzl90nlxj05hapnhk3ns3vni")) |                 "1grmp8zg7cjgjinz66mrh53whigkqzl90nlxj05hapnhk3ns3vni")) | ||||||
|  |  | ||||||
|  | @ -25,7 +25,19 @@ | ||||||
|   #:use-module (guix build-system gnu) |   #:use-module (guix build-system gnu) | ||||||
|   #:use-module (gnu packages) |   #:use-module (gnu packages) | ||||||
|   #:use-module (gnu packages qt) |   #: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 | (define-public bullet | ||||||
|   (package |   (package | ||||||
|  | @ -85,3 +97,74 @@ clone.") | ||||||
|     ;; As noted in 'COPYING', part of it is under GPLv2+, while the rest is |     ;; As noted in 'COPYING', part of it is under GPLv2+, while the rest is | ||||||
|     ;; under BSD-2. |     ;; under BSD-2. | ||||||
|     (license license:gpl2+))) |     (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))) | ||||||
|  |  | ||||||
|  | @ -9,6 +9,7 @@ | ||||||
| ;;; Copyright © 2014 Mark H Weaver <mhw@netris.org> | ;;; Copyright © 2014 Mark H Weaver <mhw@netris.org> | ||||||
| ;;; Copyright © 2015 Andreas Enge <andreas@enge.fr> | ;;; Copyright © 2015 Andreas Enge <andreas@enge.fr> | ||||||
| ;;; Copyright © 2015 David Hashe <david.hashe@dhashe.com> | ;;; Copyright © 2015 David Hashe <david.hashe@dhashe.com> | ||||||
|  | ;;; Copyright © 2015 Christopher Allan Webber <cwebber@dustycloud.org> | ||||||
| ;;; | ;;; | ||||||
| ;;; This file is part of GNU Guix. | ;;; This file is part of GNU Guix. | ||||||
| ;;; | ;;; | ||||||
|  | @ -42,6 +43,7 @@ | ||||||
|   #:use-module (gnu packages gtk) |   #:use-module (gnu packages gtk) | ||||||
|   #:use-module (gnu packages guile) |   #:use-module (gnu packages guile) | ||||||
|   #:use-module (gnu packages libcanberra) |   #:use-module (gnu packages libcanberra) | ||||||
|  |   #:use-module (gnu packages libunwind) | ||||||
|   #:use-module (gnu packages image) |   #:use-module (gnu packages image) | ||||||
|   #:use-module (gnu packages ncurses) |   #:use-module (gnu packages ncurses) | ||||||
|   #:use-module (gnu packages python) |   #:use-module (gnu packages python) | ||||||
|  | @ -65,6 +67,7 @@ | ||||||
|   #:use-module (gnu packages lua) |   #:use-module (gnu packages lua) | ||||||
|   #:use-module (gnu packages video) |   #:use-module (gnu packages video) | ||||||
|   #:use-module (gnu packages xml) |   #:use-module (gnu packages xml) | ||||||
|  |   #:use-module (gnu packages tcl) | ||||||
|   #:use-module (guix build-system trivial) |   #:use-module (guix build-system trivial) | ||||||
|   #:use-module (guix build-system gnu) |   #:use-module (guix build-system gnu) | ||||||
|   #:use-module (guix build-system cmake) |   #:use-module (guix build-system cmake) | ||||||
|  | @ -105,7 +108,7 @@ representation of the playing board.") | ||||||
| (define-public gnubik | (define-public gnubik | ||||||
|   (package |   (package | ||||||
|     (name "gnubik") |     (name "gnubik") | ||||||
|     (version "2.4.1") |     (version "2.4.2") | ||||||
|     (source |     (source | ||||||
|      (origin |      (origin | ||||||
|       (method url-fetch) |       (method url-fetch) | ||||||
|  | @ -113,7 +116,7 @@ representation of the playing board.") | ||||||
|                           version ".tar.gz")) |                           version ".tar.gz")) | ||||||
|       (sha256 |       (sha256 | ||||||
|        (base32 |        (base32 | ||||||
|         "0mfpwz341i1qpzi2qgslpc5i7d4fv7i01kv392m11pczqdc7i7m5")))) |         "0mhpfnxzbns0wfrsjv5vafqr34770rbvkmdzxk0x0aq67hb3zyl5")))) | ||||||
|     (build-system gnu-build-system) |     (build-system gnu-build-system) | ||||||
|     (inputs `(("gtk+" ,gtk+-2) |     (inputs `(("gtk+" ,gtk+-2) | ||||||
|               ("mesa" ,mesa) |               ("mesa" ,mesa) | ||||||
|  | @ -745,6 +748,43 @@ some of the restrictions in the venerable Z-machine format.  This is the | ||||||
| reference interpreter, using Glk API.") | reference interpreter, using Glk API.") | ||||||
|    (license (license:fsf-free "file://README")))) |    (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 | (define-public retroarch | ||||||
|   (package |   (package | ||||||
|     (name "retroarch") |     (name "retroarch") | ||||||
|  | @ -822,3 +862,91 @@ interfaces or even in Emacs.  It supports the standard game storage format | ||||||
| Modem Protocol).") | Modem Protocol).") | ||||||
|     (home-page "http://www.gnu.org/software/gnugo/") |     (home-page "http://www.gnu.org/software/gnugo/") | ||||||
|     (license license:gpl3+))) |     (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+))) | ||||||
|  |  | ||||||
|  | @ -28,7 +28,7 @@ | ||||||
|   #:use-module (gnu packages multiprecision) |   #:use-module (gnu packages multiprecision) | ||||||
|   #:use-module (gnu packages texinfo) |   #:use-module (gnu packages texinfo) | ||||||
|   #:use-module (gnu packages elf) |   #:use-module (gnu packages elf) | ||||||
|   #:use-module ((gnu packages perl) #:select (perl)) |   #:use-module (gnu packages perl) | ||||||
|   #:use-module (guix packages) |   #:use-module (guix packages) | ||||||
|   #:use-module (guix download) |   #:use-module (guix download) | ||||||
|   #:use-module (guix build-system gnu) |   #: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") |                        '("CC"  "CXX" "LD" "AR" "NM" "RANLIB" "STRIP") | ||||||
|                        '("gcc" "g++" "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 |          (configure-flags | ||||||
|           (lambda () |           (lambda () | ||||||
|             ;; This is terrible.  Since we have two levels of quasiquotation, |             ;; 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"))))) |                                    ,(if stripped? "-g0" "-g"))))) | ||||||
| 
 | 
 | ||||||
|          #:tests? #f |          #:tests? #f | ||||||
|  | 
 | ||||||
|          #:phases |          #:phases | ||||||
|          (alist-cons-before |          (alist-cons-before | ||||||
|           'configure 'pre-configure |           'configure 'pre-configure | ||||||
|           (lambda* (#:key inputs outputs #:allow-other-keys) |           (lambda* (#:key inputs outputs #:allow-other-keys) | ||||||
|             (let ((libdir (or (assoc-ref outputs "lib") |             (let ((libdir ,(libdir)) | ||||||
|                               (assoc-ref outputs "out"))) |  | ||||||
|                   (libc   (assoc-ref inputs "libc"))) |                   (libc   (assoc-ref inputs "libc"))) | ||||||
|               (when libc |               (when libc | ||||||
|                 ;; The following is not performed for `--without-headers' |                 ;; 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\\[\\] =.*;") | ||||||
|                  "static char const sed_cmd_z[] = \"sed\";")) |                  "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 |               ;; Move libstdc++*-gdb.py to the "lib" output to avoid a | ||||||
|               ;; circularity between "out" and "lib".  (Note: |               ;; circularity between "out" and "lib".  (Note: | ||||||
|               ;; --with-python-dir is useless because it imposes $(prefix) as |               ;; --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) |   (package (inherit gcc-4.7) | ||||||
|     (version "4.8.4") |     (version "4.8.4") | ||||||
|     (source (origin |     (source (origin | ||||||
|              (method url-fetch) |               (method url-fetch) | ||||||
|              (uri (string-append "mirror://gnu/gcc/gcc-" |               (uri (string-append "mirror://gnu/gcc/gcc-" | ||||||
|                                  version "/gcc-" version ".tar.bz2")) |                                   version "/gcc-" version ".tar.bz2")) | ||||||
|              (sha256 |               (sha256 | ||||||
|               (base32 |                (base32 | ||||||
|                "15c6gwm6dzsaagamxkak5smdkf1rdfbqqjs9jdbrp3lbg4ism02a")))))) |                 "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 | (define-public gcc-4.9 | ||||||
|   (package (inherit gcc-4.7) |   (package (inherit gcc-4.8) | ||||||
|     (version "4.9.2") |     (version "4.9.2") | ||||||
|     (source (origin |     (source (origin | ||||||
|              (method url-fetch) |               (method url-fetch) | ||||||
|              (uri (string-append "mirror://gnu/gcc/gcc-" |               (uri (string-append "mirror://gnu/gcc/gcc-" | ||||||
|                                  version "/gcc-" version ".tar.bz2")) |                                   version "/gcc-" version ".tar.bz2")) | ||||||
|              (sha256 |               (sha256 | ||||||
|               (base32 |                (base32 | ||||||
|                "1pbjp4blk2ycaa6r3jmw4ky5f1s9ji3klbqgv8zs2sl5jn1cj810")))))) |                 "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)) | (define* (custom-gcc gcc name languages #:key (separate-lib-output? #t)) | ||||||
|   "Return a custom version of GCC that supports LANGUAGES." |   "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" |              "--enable-languages=java" | ||||||
|              ,@(remove (cut string-match "--enable-languages.*" <>) |              ,@(remove (cut string-match "--enable-languages.*" <>) | ||||||
|                        ,flags)))) |                        ,flags)))) | ||||||
|         ((#:phases phases) |        ((#:phases phases) | ||||||
|          `(alist-cons-after |         `(modify-phases ,phases | ||||||
|            'install 'install-javac-and-javap-wrappers |            (add-after | ||||||
|            (lambda _ |             'unpack 'add-lib-output-to-rpath | ||||||
|              (let* ((javac  (assoc-ref %build-inputs "javac.in")) |             (lambda _ | ||||||
|                     (ecj    (assoc-ref %build-inputs "ecj-bootstrap")) |               (substitute* "libjava/Makefile.in" | ||||||
|                     (gcj    (assoc-ref %outputs "out")) |                 (("libgcj_bc_dummy_LINK = .* -shared" line) | ||||||
|                     (gcjbin (string-append gcj "/bin/")) |                  (string-append line " -Wl,-rpath=$(libdir)")) | ||||||
|                     (jvm    (string-append gcj "/lib/jvm/")) |                 (("libgcj(_bc)?_la_LDFLAGS =" ldflags _) | ||||||
|                     (target (string-append jvm "/bin/javac"))) |                  (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") |                 (symlink (string-append gcjbin "jcf-dump") | ||||||
|                         (string-append jvm "/bin/javap")) |                          (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 |                 ;; Create javac wrapper from the template javac.in by | ||||||
|                ;; replacing the @VARIABLES@ with paths. |                 ;; replacing the @VARIABLES@ with paths. | ||||||
|                (copy-file javac target) |                 (copy-file javac target) | ||||||
|                (patch-shebang target) |                 (patch-shebang target) | ||||||
|                (substitute* target |                 (substitute* target | ||||||
|                  (("@JAVA@") |                   (("@JAVA@") | ||||||
|                   (string-append jvm "/bin/java")) |                    (string-append jvm "/bin/java")) | ||||||
|                  (("@ECJ_JAR@") |                   (("@ECJ_JAR@") | ||||||
|                   (string-append gcj "/share/java/ecj.jar")) |                    (string-append gcj "/share/java/ecj.jar")) | ||||||
|                  (("@RT_JAR@") |                   (("@RT_JAR@") | ||||||
|                   (string-append jvm "/jre/lib/rt.jar")) |                    (string-append jvm "/jre/lib/rt.jar")) | ||||||
|                  (("@TOOLS_JAR@") |                   (("@TOOLS_JAR@") | ||||||
|                   (string-append jvm "/lib/tools.jar"))) |                    (string-append jvm "/lib/tools.jar"))) | ||||||
|                (chmod target #o755) |                 (chmod target #o755) | ||||||
|                #t)) |                 #t))) | ||||||
|            ,phases)))))) |            (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 | (define ecj-bootstrap-4.8 | ||||||
|   (origin |   (origin | ||||||
|  |  | ||||||
|  | @ -1,6 +1,7 @@ | ||||||
| ;;; GNU Guix --- Functional package management for GNU | ;;; GNU Guix --- Functional package management for GNU | ||||||
| ;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org> | ;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org> | ||||||
| ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org> | ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org> | ||||||
|  | ;;; Copyright © 2015 Eric Bavier <bavier@member.fsf.org> | ||||||
| ;;; | ;;; | ||||||
| ;;; This file is part of GNU Guix. | ;;; This file is part of GNU Guix. | ||||||
| ;;; | ;;; | ||||||
|  | @ -20,9 +21,12 @@ | ||||||
| (define-module (gnu packages gd) | (define-module (gnu packages gd) | ||||||
|   #:use-module (guix packages) |   #:use-module (guix packages) | ||||||
|   #:use-module (guix build-system gnu) |   #:use-module (guix build-system gnu) | ||||||
|  |   #:use-module (guix build-system perl) | ||||||
|   #:use-module (guix download) |   #:use-module (guix download) | ||||||
|   #:use-module (gnu packages) |   #:use-module (gnu packages) | ||||||
|  |   #:use-module (gnu packages perl) | ||||||
|   #:use-module (gnu packages image) |   #:use-module (gnu packages image) | ||||||
|  |   #:use-module (gnu packages imagemagick) | ||||||
|   #:use-module (gnu packages fontutils) |   #:use-module (gnu packages fontutils) | ||||||
|   #:use-module (gnu packages compression) |   #:use-module (gnu packages compression) | ||||||
|   #:use-module (gnu packages pkg-config) |   #: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.") | most common applications of GD involve website development.") | ||||||
|     (license (non-copyleft "file://COPYING" |     (license (non-copyleft "file://COPYING" | ||||||
|                         "See COPYING file in the distribution.")))) |                         "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)))) | ||||||
|  |  | ||||||
|  | @ -36,14 +36,14 @@ | ||||||
| (define-public gdb | (define-public gdb | ||||||
|   (package |   (package | ||||||
|     (name "gdb") |     (name "gdb") | ||||||
|     (version "7.9") |     (version "7.9.1") | ||||||
|     (source (origin |     (source (origin | ||||||
|              (method url-fetch) |              (method url-fetch) | ||||||
|              (uri (string-append "mirror://gnu/gdb/gdb-" |              (uri (string-append "mirror://gnu/gdb/gdb-" | ||||||
|                                  version ".tar.xz")) |                                  version ".tar.xz")) | ||||||
|              (sha256 |              (sha256 | ||||||
|               (base32 |               (base32 | ||||||
|                "14l3hhsy7fmpn2dk7ivc67gnbjdhkxlq90kxijpzfa35l58mcccv")))) |                "0h5sfg4ndhb8q4fxbq0hdxfjp35n6ih96f6x8yvb418s84x5976d")))) | ||||||
|     (build-system gnu-build-system) |     (build-system gnu-build-system) | ||||||
|     (arguments |     (arguments | ||||||
|      '(#:tests? #f ; FIXME "make check" fails on single-processor systems. |      '(#:tests? #f ; FIXME "make check" fails on single-processor systems. | ||||||
|  |  | ||||||
|  | @ -70,7 +70,15 @@ | ||||||
|                        (substitute* "gettext-tools/src/project-id" |                        (substitute* "gettext-tools/src/project-id" | ||||||
|                          (("/bin/pwd") |                          (("/bin/pwd") | ||||||
|                           "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. |        ;; When tests fail, we want to know the details. | ||||||
|        #:make-flags '("VERBOSE=yes"))) |        #:make-flags '("VERBOSE=yes"))) | ||||||
|  |  | ||||||
|  | @ -2,6 +2,7 @@ | ||||||
| ;;; Copyright © 2013 Andreas Enge <andreas@enge.fr> | ;;; Copyright © 2013 Andreas Enge <andreas@enge.fr> | ||||||
| ;;; Copyright © 2014 Mark H Weaver <mhw@netris.org> | ;;; Copyright © 2014 Mark H Weaver <mhw@netris.org> | ||||||
| ;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net> | ;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net> | ||||||
|  | ;;; Copyright © 2015 Ludovic Courtès <ludo@gnu.org> | ||||||
| ;;; | ;;; | ||||||
| ;;; This file is part of GNU Guix. | ;;; This file is part of GNU Guix. | ||||||
| ;;; | ;;; | ||||||
|  | @ -125,8 +126,10 @@ printing, and psresize, for adjusting page sizes.") | ||||||
|             (method url-fetch) |             (method url-fetch) | ||||||
|             (uri (string-append "mirror://gnu/ghostscript/gnu-ghostscript-" |             (uri (string-append "mirror://gnu/ghostscript/gnu-ghostscript-" | ||||||
|                                 version ".tar.xz")) |                                 version ".tar.xz")) | ||||||
|             (sha256 (base32 |             (sha256 | ||||||
|                      "0q4jj41p0qbr4mgcc9q78f5zs8cm1g57wgryhsm2yq4lfslm3ib1")))) |              (base32 | ||||||
|  |               "0q4jj41p0qbr4mgcc9q78f5zs8cm1g57wgryhsm2yq4lfslm3ib1")) | ||||||
|  |             (patches (list (search-patch "ghostscript-runpath.patch"))))) | ||||||
|    (build-system gnu-build-system) |    (build-system gnu-build-system) | ||||||
|    (inputs `(("freetype" ,freetype) |    (inputs `(("freetype" ,freetype) | ||||||
|              ("lcms" ,lcms) |              ("lcms" ,lcms) | ||||||
|  | @ -142,20 +145,19 @@ printing, and psresize, for adjusting page sizes.") | ||||||
|         ("tcl" ,tcl))) |         ("tcl" ,tcl))) | ||||||
|    (arguments |    (arguments | ||||||
|     `(#:phases |     `(#:phases | ||||||
|       (alist-cons-after |       (modify-phases %standard-phases | ||||||
|        'configure 'patch-config-files |         (add-after 'configure 'patch-config-files | ||||||
|        (lambda _ |                    (lambda _ | ||||||
|          (substitute* "base/all-arch.mak" |                      (substitute* "base/all-arch.mak" | ||||||
|            (("/bin/sh") (which "bash"))) |                        (("/bin/sh") (which "bash"))) | ||||||
|          (substitute* "base/unixhead.mak" |                      (substitute* "base/unixhead.mak" | ||||||
|            (("/bin/sh") (which "bash")))) |                        (("/bin/sh") (which "bash"))))) | ||||||
|       (alist-cons-after |         (add-after 'build 'build-so | ||||||
|        'build 'build-so |                    (lambda _ | ||||||
|        (lambda _ (system* "make" "so")) |                      (zero? (system* "make" "so")))) | ||||||
|       (alist-cons-after |         (add-after 'install 'install-so | ||||||
|        'install 'install-so |                    (lambda _ | ||||||
|        (lambda _ (system* "make" "install-so")) |                      (zero? (system* "make" "install-so"))))))) | ||||||
|       %standard-phases))))) |  | ||||||
|    (synopsis "PostScript and PDF interpreter") |    (synopsis "PostScript and PDF interpreter") | ||||||
|    (description |    (description | ||||||
|     "Ghostscript is an interpreter for the PostScript language and the PDF |     "Ghostscript is an interpreter for the PostScript language and the PDF | ||||||
|  |  | ||||||
|  | @ -32,6 +32,7 @@ | ||||||
|   #:use-module (gnu packages compression) |   #:use-module (gnu packages compression) | ||||||
|   #:use-module (gnu packages xml) |   #:use-module (gnu packages xml) | ||||||
|   #:use-module (gnu packages photo) |   #:use-module (gnu packages photo) | ||||||
|  |   #:use-module (gnu packages python) | ||||||
|   #:use-module (gnu packages xorg) |   #:use-module (gnu packages xorg) | ||||||
|   #:use-module (gnu packages imagemagick)) |   #:use-module (gnu packages imagemagick)) | ||||||
| 
 | 
 | ||||||
|  | @ -127,10 +128,6 @@ buffers.") | ||||||
|                (base32 |                (base32 | ||||||
|                 "0bdj0l7a94jqhjnj40m9rqaf622wj905iximivb55iy98639aanq")))) |                 "0bdj0l7a94jqhjnj40m9rqaf622wj905iximivb55iy98639aanq")))) | ||||||
|     (build-system gnu-build-system) |     (build-system gnu-build-system) | ||||||
|     (arguments |  | ||||||
|      `(#:configure-flags |  | ||||||
|        ;; We don't have pygtk which seems to be needed for this feature |  | ||||||
|        `("--disable-python"))) |  | ||||||
|     (inputs |     (inputs | ||||||
|      `(("babl" ,babl) |      `(("babl" ,babl) | ||||||
|        ("glib" ,glib) |        ("glib" ,glib) | ||||||
|  | @ -141,6 +138,8 @@ buffers.") | ||||||
|        ("exif" ,libexif)                         ;optional, EXIF + XMP support |        ("exif" ,libexif)                         ;optional, EXIF + XMP support | ||||||
|        ("lcms" ,lcms)                            ;optional, color management |        ("lcms" ,lcms)                            ;optional, color management | ||||||
|        ("librsvg" ,librsvg)                      ;optional, SVG support |        ("librsvg" ,librsvg)                      ;optional, SVG support | ||||||
|  |        ("python" ,python-2)                      ;optional, Python support | ||||||
|  |        ("python2-pygtk" ,python2-pygtk)          ;optional, Python support | ||||||
|        ("gegl" ,gegl))) |        ("gegl" ,gegl))) | ||||||
|     (native-inputs |     (native-inputs | ||||||
|      `(("pkg-config" ,pkg-config) |      `(("pkg-config" ,pkg-config) | ||||||
|  |  | ||||||
|  | @ -1,8 +1,8 @@ | ||||||
| ;;; GNU Guix --- Functional package management for GNU | ;;; 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 © 2013 Joshua Grant <tadni@riseup.net> | ||||||
| ;;; Copyright © 2014 David Thompson <davet@gnu.org> | ;;; 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. | ;;; This file is part of GNU Guix. | ||||||
| ;;; | ;;; | ||||||
|  | @ -21,11 +21,13 @@ | ||||||
| 
 | 
 | ||||||
| (define-module (gnu packages gl) | (define-module (gnu packages gl) | ||||||
|   #:use-module (ice-9 match) |   #:use-module (ice-9 match) | ||||||
|  |   #:use-module (guix build utils) | ||||||
|   #:use-module ((guix licenses) #:prefix l:) |   #:use-module ((guix licenses) #:prefix l:) | ||||||
|   #:use-module (guix packages) |   #:use-module (guix packages) | ||||||
|   #:use-module (guix download) |   #:use-module (guix download) | ||||||
|   #:use-module (guix build-system gnu) |   #:use-module (guix build-system gnu) | ||||||
|   #:use-module (guix packages) |   #:use-module (guix packages) | ||||||
|  |   #:use-module (guix utils) | ||||||
|   #:use-module (gnu packages autotools) |   #:use-module (gnu packages autotools) | ||||||
|   #:use-module (gnu packages bison) |   #:use-module (gnu packages bison) | ||||||
|   #:use-module (gnu packages flex) |   #:use-module (gnu packages flex) | ||||||
|  | @ -37,7 +39,9 @@ | ||||||
|   #:use-module (gnu packages xml) |   #:use-module (gnu packages xml) | ||||||
|   #:use-module (gnu packages fontutils) |   #:use-module (gnu packages fontutils) | ||||||
|   #:use-module (gnu packages guile) |   #: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 | (define-public glu | ||||||
|   (package |   (package | ||||||
|  | @ -50,7 +54,8 @@ | ||||||
| 	     (sha256 | 	     (sha256 | ||||||
| 	      (base32 "0r72yyhj09x3krn3kn629jqbwyq50ji8w5ri2pn6zwrk35m4g1s3")))) | 	      (base32 "0r72yyhj09x3krn3kn629jqbwyq50ji8w5ri2pn6zwrk35m4g1s3")))) | ||||||
|     (build-system gnu-build-system) |     (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") |     (home-page "http://www.opengl.org/archives/resources/faq/technical/glu.htm") | ||||||
|     (synopsis "Mesa OpenGL Utility library") |     (synopsis "Mesa OpenGL Utility library") | ||||||
|     (description |     (description | ||||||
|  | @ -84,7 +89,10 @@ as ASCII text.") | ||||||
| 	      ("libxxf86vm" ,libxxf86vm) | 	      ("libxxf86vm" ,libxxf86vm) | ||||||
| 	      ("inputproto" ,inputproto) | 	      ("inputproto" ,inputproto) | ||||||
| 	      ("xinput" ,xinput))) | 	      ("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/") |     (home-page "http://freeglut.sourceforge.net/") | ||||||
|     (synopsis "Alternative to the OpenGL Utility Toolkit (GLUT)") |     (synopsis "Alternative to the OpenGL Utility Toolkit (GLUT)") | ||||||
|     (description |     (description | ||||||
|  | @ -146,7 +154,7 @@ Polygon meshes, and Extruded polygon meshes") | ||||||
|     (arguments |     (arguments | ||||||
|      '(#:phases |      '(#:phases | ||||||
|        (modify-phases %standard-phases |        (modify-phases %standard-phases | ||||||
|          (add-after unpack autogen |          (add-after 'unpack 'autogen | ||||||
|           (lambda _ |           (lambda _ | ||||||
|             (zero? (system* "sh" "autogen.sh"))))))) |             (zero? (system* "sh" "autogen.sh"))))))) | ||||||
|     (home-page "https://github.com/divVerent/s2tc") |     (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.") | also known as DXTn or DXTC) for Mesa.") | ||||||
|     (license l:expat))) |     (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 | (define-public mesa | ||||||
|   (package |   (package | ||||||
|     (name "mesa") |     (name "mesa") | ||||||
|     (version "10.4.0") |     (version "10.5.4") | ||||||
|     (source |     (source | ||||||
|       (origin |       (origin | ||||||
|         (method url-fetch) |         (method url-fetch) | ||||||
|         (uri (string-append "ftp://ftp.freedesktop.org/pub/mesa/" |         (uri (string-append "ftp://ftp.freedesktop.org/pub/mesa/" | ||||||
|                             version "/MesaLib-" version ".tar.bz2")) |                             version "/mesa-" version ".tar.xz")) | ||||||
|         (sha256 |         (sha256 | ||||||
|          (base32 |          (base32 | ||||||
|           "069j4ck51hc70gryhw3z0rkyhhl0bnhbks4xg1wqqw56l7rxz9wq")))) |           "00v89jna7m6r2w1yrnx09isc97r2bd1hkn4jib445n1078zp47mm")))) | ||||||
|     (build-system gnu-build-system) |     (build-system gnu-build-system) | ||||||
|     (propagated-inputs |     (propagated-inputs | ||||||
|       `(("glproto" ,glproto) |       `(("glproto" ,glproto) | ||||||
|  | @ -178,27 +203,25 @@ also known as DXTn or DXTC) for Mesa.") | ||||||
|         ("libxfixes" ,libxfixes) |         ("libxfixes" ,libxfixes) | ||||||
|         ("libxshmfence" ,libxshmfence) |         ("libxshmfence" ,libxshmfence) | ||||||
|         ("libxxf86vm" ,libxxf86vm))) |         ("libxxf86vm" ,libxxf86vm))) | ||||||
|  |     ;; TODO: Add vdpau. | ||||||
|     (inputs |     (inputs | ||||||
|       `(("udev" ,eudev) |       `(("udev" ,eudev) | ||||||
|         ("dri2proto" ,dri2proto) |         ("dri2proto" ,dri2proto) | ||||||
|         ("dri3proto" ,dri3proto) |         ("dri3proto" ,dri3proto) | ||||||
|         ("presentproto" ,presentproto) |         ("presentproto" ,presentproto) | ||||||
|         ("expat" ,expat) |         ("expat" ,expat) | ||||||
|  |         ("libva" ,(force libva-without-mesa)) | ||||||
|         ("libxml2" ,libxml2) |         ("libxml2" ,libxml2) | ||||||
|         ;; TODO: Add 'libva' |  | ||||||
|         ;; TODO: Add 'libxml2-python' for OpenGL ES 1.1 and 2.0 support |         ;; TODO: Add 'libxml2-python' for OpenGL ES 1.1 and 2.0 support | ||||||
|  |         ("libxvmc" ,libxvmc) | ||||||
|         ("makedepend" ,makedepend) |         ("makedepend" ,makedepend) | ||||||
|         ("s2tc" ,s2tc))) |         ("s2tc" ,s2tc))) | ||||||
|     (native-inputs |     (native-inputs | ||||||
|       `(("pkg-config" ,pkg-config) |       `(("pkg-config" ,pkg-config))) | ||||||
|         ("gettext" ,gnu-gettext) |  | ||||||
|         ("flex" ,flex) |  | ||||||
|         ("bison" ,bison) |  | ||||||
|         ("python" ,python-2))) ; incompatible with Python 3 (print syntax) |  | ||||||
|     (arguments |     (arguments | ||||||
|      `(#:configure-flags |      `(#:configure-flags | ||||||
|        '(;; drop r300 from default gallium drivers, as it requires llvm |        '(;; 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, |          ;; Enable various optional features.  TODO: opencl requires libclc, | ||||||
|          ;; omx requires libomxil-bellagio |          ;; omx requires libomxil-bellagio | ||||||
|          "--with-egl-platforms=x11,drm" |          "--with-egl-platforms=x11,drm" | ||||||
|  | @ -216,51 +239,42 @@ also known as DXTn or DXTC) for Mesa.") | ||||||
|              (_ |              (_ | ||||||
|               '("--with-dri-drivers=nouveau,r200,radeon,swrast")))) |               '("--with-dri-drivers=nouveau,r200,radeon,swrast")))) | ||||||
|        #:phases (alist-cons-after |        #:phases (alist-cons-after | ||||||
|                  'unpack 'add-missing-m4-files |                  'unpack 'patch-create_test_cases | ||||||
|                  (lambda _ |                  (lambda _ | ||||||
|                    ;; When these files are missing, make tries to rebuild |                    (substitute* "src/glsl/tests/lower_jumps/create_test_cases.py" | ||||||
|                    ;; several parts of the build system. |                      (("/usr/bin/env bash") (which "bash")))) | ||||||
|                    (zero? (system* "touch" "--date=@0" |                  (alist-cons-before | ||||||
|                                    "m4/libtool.m4" "m4/ltoptions.m4" |                   'build 'fix-dlopen-libnames | ||||||
|                                    "m4/ltsugar.m4" "m4/ltversion.m4" |                   (lambda* (#:key inputs outputs #:allow-other-keys) | ||||||
|                                    "m4/lt~obsolete.m4"))) |                     (let ((s2tc (assoc-ref inputs "s2tc")) | ||||||
|                  (alist-cons-after |                           (udev (assoc-ref inputs "udev")) | ||||||
|                   'unpack 'patch-create_test_cases |                           (out (assoc-ref outputs "out"))) | ||||||
|                   (lambda _ |                       ;; Remain agnostic to .so.X.Y.Z versions while doing | ||||||
|                     (substitute* "src/glsl/tests/lower_jumps/create_test_cases.py" |                       ;; the substitutions so we're future-safe. | ||||||
|                       (("/usr/bin/env bash") (which "bash")))) |                       (substitute* | ||||||
|                   (alist-cons-before |                           '("src/gallium/auxiliary/util/u_format_s3tc.c" | ||||||
|                    'build 'fix-dlopen-libnames |                             "src/mesa/main/texcompress_s3tc.c") | ||||||
|                    (lambda* (#:key inputs outputs #:allow-other-keys) |                         (("\"libtxc_dxtn\\.so") | ||||||
|                      (let ((s2tc (assoc-ref inputs "s2tc")) |                          (string-append "\"" s2tc "/lib/libtxc_dxtn.so"))) | ||||||
|                            (udev (assoc-ref inputs "udev")) |                       (substitute* "src/gallium/targets/egl-static/egl_st.c" | ||||||
|                            (out (assoc-ref outputs "out"))) |                         (("\"libglapi\"") | ||||||
|                        ;; Remain agnostic to .so.X.Y.Z versions while doing |                          (string-append "\"" out "/lib/libglapi\""))) | ||||||
|                        ;; the substitutions so we're future-safe. |                       (substitute* "src/loader/loader.c" | ||||||
|                        (substitute* |                         (("dlopen\\(\"libudev\\.so") | ||||||
|                            '("src/gallium/auxiliary/util/u_format_s3tc.c" |                          (string-append "dlopen(\"" udev "/lib/libudev.so"))) | ||||||
|                              "src/mesa/main/texcompress_s3tc.c") |                       (substitute* "src/glx/dri_common.c" | ||||||
|                          (("\"libtxc_dxtn\\.so") |                         (("dlopen\\(\"libGL\\.so") | ||||||
|                           (string-append "\"" s2tc "/lib/libtxc_dxtn.so"))) |                          (string-append "dlopen(\"" out "/lib/libGL.so"))) | ||||||
|                        (substitute* "src/gallium/targets/egl-static/egl_st.c" |                       (substitute* "src/egl/drivers/dri2/egl_dri2.c" | ||||||
|                          (("\"libglapi\"") |                         (("\"libglapi\\.so") | ||||||
|                           (string-append "\"" out "/lib/libglapi\""))) |                          (string-append "\"" out "/lib/libglapi.so"))) | ||||||
|                        (substitute* "src/loader/loader.c" |                       (substitute* "src/gbm/main/backend.c" | ||||||
|                          (("dlopen\\(\"libudev\\.so") |                         ;; No need to patch the gbm_gallium_drm.so reference; | ||||||
|                           (string-append "dlopen(\"" udev "/lib/libudev.so"))) |                         ;; it's never installed since Mesa removed its | ||||||
|                        (substitute* "src/glx/dri_common.c" |                         ;; egl_gallium support. | ||||||
|                          (("dlopen\\(\"libGL\\.so") |                         (("\"gbm_dri\\.so") | ||||||
|                           (string-append "dlopen(\"" out "/lib/libGL.so"))) |                          (string-append "\"" out "/lib/dri/gbm_dri.so"))))) | ||||||
|                        (substitute* "src/egl/drivers/dri2/egl_dri2.c" |                   %standard-phases)))) | ||||||
|                          (("\"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/") |     (home-page "http://mesa3d.org/") | ||||||
|     (synopsis "OpenGL implementation") |     (synopsis "OpenGL implementation") | ||||||
|     (description "Mesa is a free implementation of the OpenGL specification - |     (description "Mesa is a free implementation of the OpenGL specification - | ||||||
|  | @ -279,10 +293,10 @@ emulation to complete hardware acceleration for modern GPUs.") | ||||||
|     (arguments |     (arguments | ||||||
|      '(#:phases |      '(#:phases | ||||||
|        (modify-phases %standard-phases |        (modify-phases %standard-phases | ||||||
|          (delete configure) |          (delete 'configure) | ||||||
|          (delete build) |          (delete 'build) | ||||||
|          (delete check) |          (delete 'check) | ||||||
|          (replace install |          (replace 'install | ||||||
|                   (lambda* (#:key outputs #:allow-other-keys) |                   (lambda* (#:key outputs #:allow-other-keys) | ||||||
|                     (copy-recursively "include" (string-append |                     (copy-recursively "include" (string-append | ||||||
|                                                  (assoc-ref outputs "out") |                                                  (assoc-ref outputs "out") | ||||||
|  | @ -315,7 +329,7 @@ emulation to complete hardware acceleration for modern GPUs.") | ||||||
|      '(#:phases |      '(#:phases | ||||||
|        (modify-phases %standard-phases |        (modify-phases %standard-phases | ||||||
|          (replace |          (replace | ||||||
|           install |           'install | ||||||
|           (lambda* (#:key outputs #:allow-other-keys) |           (lambda* (#:key outputs #:allow-other-keys) | ||||||
|             (let ((out (assoc-ref outputs "out"))) |             (let ((out (assoc-ref outputs "out"))) | ||||||
|               (mkdir-p (string-append out "/bin")) |               (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 |      "Guile-OpenGL is a library for Guile that provides bindings to the | ||||||
| OpenGL graphics API.") | OpenGL graphics API.") | ||||||
|     (license l:lgpl3+))) |     (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))) | ||||||
|  |  | ||||||
|  | @ -2,7 +2,7 @@ | ||||||
| ;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org> | ;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org> | ||||||
| ;;; Copyright © 2013, 2015 Andreas Enge <andreas@enge.fr> | ;;; Copyright © 2013, 2015 Andreas Enge <andreas@enge.fr> | ||||||
| ;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org> | ;;; 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. | ;;; This file is part of GNU Guix. | ||||||
| ;;; | ;;; | ||||||
|  | @ -57,7 +57,7 @@ | ||||||
| (define dbus | (define dbus | ||||||
|   (package |   (package | ||||||
|     (name "dbus") |     (name "dbus") | ||||||
|     (version "1.8.12") |     (version "1.8.16") | ||||||
|     (source (origin |     (source (origin | ||||||
|              (method url-fetch) |              (method url-fetch) | ||||||
|              (uri |              (uri | ||||||
|  | @ -65,7 +65,7 @@ | ||||||
|                              version ".tar.gz")) |                              version ".tar.gz")) | ||||||
|              (sha256 |              (sha256 | ||||||
|               (base32 |               (base32 | ||||||
|                "07jhcalg00i2rx5zrgk73rg0vm7lzi5q5z2gscrbl999ipr2h569")) |                "01rba8mp8kqvmy6ibdmi806kjr3m14swnskqk02gyhykxxl54ybz")) | ||||||
|              (patches (list (search-patch "dbus-localstatedir.patch"))))) |              (patches (list (search-patch "dbus-localstatedir.patch"))))) | ||||||
|     (build-system gnu-build-system) |     (build-system gnu-build-system) | ||||||
|     (arguments |     (arguments | ||||||
|  | @ -119,7 +119,7 @@ shared NFS home directories.") | ||||||
| (define glib | (define glib | ||||||
|   (package |   (package | ||||||
|    (name "glib") |    (name "glib") | ||||||
|    (version "2.42.1") |    (version "2.44.0") | ||||||
|    (source (origin |    (source (origin | ||||||
|             (method url-fetch) |             (method url-fetch) | ||||||
|             (uri (string-append "mirror://gnome/sources/" |             (uri (string-append "mirror://gnome/sources/" | ||||||
|  | @ -127,7 +127,7 @@ shared NFS home directories.") | ||||||
|                                 name "-" version ".tar.xz")) |                                 name "-" version ".tar.xz")) | ||||||
|             (sha256 |             (sha256 | ||||||
|              (base32 |              (base32 | ||||||
|               "16pqvikrps1fvwwqvk0qi4a13mfg7gw6w5qfhk7bhi8f51jhhgwg")) |               "1fgmjv3yzxgbks31h42201x2izpw0sd84h8dfw0si3x00sqn5lzj")) | ||||||
|             (patches (list (search-patch "glib-tests-homedir.patch") |             (patches (list (search-patch "glib-tests-homedir.patch") | ||||||
|                            (search-patch "glib-tests-desktop.patch") |                            (search-patch "glib-tests-desktop.patch") | ||||||
|                            (search-patch "glib-tests-prlimit.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. |       ;; Note: `--docdir' and `--htmldir' are not honored, so work around it. | ||||||
|       #:configure-flags (list (string-append "--with-html-dir=" |       #:configure-flags (list (string-append "--with-html-dir=" | ||||||
|                                              (assoc-ref %outputs "doc") |                                              (assoc-ref %outputs "doc") | ||||||
|                                              "/share/gtk-doc")) |                                              "/share/gtk-doc/html")) | ||||||
| 
 | 
 | ||||||
|       ;; In 'gio/tests', 'gdbus-test-codegen-generated.h' is #included in a |       ;; In 'gio/tests', 'gdbus-test-codegen-generated.h' is #included in a | ||||||
|       ;; file that gets compiled possibly before it has been fully generated. |       ;; file that gets compiled possibly before it has been fully generated. | ||||||
|  | @ -189,7 +189,11 @@ shared NFS home directories.") | ||||||
|     ;; by 'glib-compile-schemas'. |     ;; by 'glib-compile-schemas'. | ||||||
|     (list (search-path-specification |     (list (search-path-specification | ||||||
|            (variable "XDG_DATA_DIRS") |            (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) |    (search-paths native-search-paths) | ||||||
| 
 | 
 | ||||||
|    (synopsis "Thread-safe general utility library; basis of GTK+ and GNOME") |    (synopsis "Thread-safe general utility library; basis of GTK+ and GNOME") | ||||||
|  | @ -203,14 +207,14 @@ dynamic loading, and an object system.") | ||||||
| (define gobject-introspection | (define gobject-introspection | ||||||
|   (package |   (package | ||||||
|     (name "gobject-introspection") |     (name "gobject-introspection") | ||||||
|     (version "1.42.0") |     (version "1.44.0") | ||||||
|     (source (origin |     (source (origin | ||||||
|              (method url-fetch) |              (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-major+minor version) | ||||||
|                    "/gobject-introspection-" version ".tar.xz")) |                    "/gobject-introspection-" version ".tar.xz")) | ||||||
|              (sha256 |              (sha256 | ||||||
|               (base32 "1xwm7wmr9r9wp6xljb3bckx3a4siybavaq39w46ly7gpskxfv8iv")) |               (base32 "1b972qg2yb51sdavfvb6kc19akwc15c1bwnbg81vadxamql2q33g")) | ||||||
|              (patches (list |              (patches (list | ||||||
|                        (search-patch "gobject-introspection-cc.patch") |                        (search-patch "gobject-introspection-cc.patch") | ||||||
|                        (search-patch |                        (search-patch | ||||||
|  | @ -239,14 +243,7 @@ dynamic loading, and an object system.") | ||||||
|     (arguments |     (arguments | ||||||
|      `(;; The patch 'gobject-introspection-absolute-shlib-path.patch' causes |      `(;; The patch 'gobject-introspection-absolute-shlib-path.patch' causes | ||||||
|        ;; some tests to fail. |        ;; some tests to fail. | ||||||
|        #:tests? #f |        #:tests? #f)) | ||||||
|        #:phases |  | ||||||
|         (alist-cons-before |  | ||||||
|          'configure 'patch-paths |  | ||||||
|          (lambda _ |  | ||||||
|            (substitute* "giscanner/sourcescanner.py" |  | ||||||
|              (("GUIX_GCC_PATH") (which "gcc")))) |  | ||||||
|          %standard-phases))) |  | ||||||
|     (home-page "https://wiki.gnome.org/GObjectIntrospection") |     (home-page "https://wiki.gnome.org/GObjectIntrospection") | ||||||
|     (synopsis "Generate interface introspection data for GObject libraries") |     (synopsis "Generate interface introspection data for GObject libraries") | ||||||
|     (description |     (description | ||||||
|  | @ -309,14 +306,14 @@ The intltool collection can be used to do these things: | ||||||
| (define itstool | (define itstool | ||||||
|   (package |   (package | ||||||
|     (name "itstool") |     (name "itstool") | ||||||
|     (version "1.2.0") |     (version "2.0.2") | ||||||
|     (source (origin |     (source (origin | ||||||
|              (method url-fetch) |              (method url-fetch) | ||||||
|              (uri (string-append "http://files.itstool.org/itstool/itstool-" |              (uri (string-append "http://files.itstool.org/itstool/itstool-" | ||||||
|                                  version ".tar.bz2")) |                                  version ".tar.bz2")) | ||||||
|              (sha256 |              (sha256 | ||||||
|               (base32 |               (base32 | ||||||
|                "1akq75aflihm3y7js8biy7b5mw2g11vl8yq90gydnwlwp0zxdzj6")))) |                "0fh34wi52i0qikgvlmrcpf1vx6gc1xqdad4539l4d9hikfsrz45z")))) | ||||||
|     (build-system gnu-build-system) |     (build-system gnu-build-system) | ||||||
|     (propagated-inputs |     (propagated-inputs | ||||||
|      `(("libxml2" ,libxml2) |      `(("libxml2" ,libxml2) | ||||||
|  | @ -346,7 +343,7 @@ translated.") | ||||||
| (define dbus-glib | (define dbus-glib | ||||||
|   (package |   (package | ||||||
|     (name "dbus-glib") |     (name "dbus-glib") | ||||||
|     (version "0.102") |     (version "0.104") | ||||||
|     (source (origin |     (source (origin | ||||||
|              (method url-fetch) |              (method url-fetch) | ||||||
|              (uri |              (uri | ||||||
|  | @ -354,7 +351,7 @@ translated.") | ||||||
|                              version ".tar.gz")) |                              version ".tar.gz")) | ||||||
|              (sha256 |              (sha256 | ||||||
|               (base32 |               (base32 | ||||||
|                "177j5p2vrvpmzk2xrrj6akn73kvpbvnmsjvlmca9l55qbdcfsr39")))) |                "1xi1v1msz75qs0s4lkyf1psrksdppa3hwkg0mznc6gpw5flg3hdz")))) | ||||||
|     (build-system gnu-build-system) |     (build-system gnu-build-system) | ||||||
|     (inputs |     (inputs | ||||||
|      `(("dbus" ,dbus) |      `(("dbus" ,dbus) | ||||||
|  | @ -373,14 +370,15 @@ by GDBus included in Glib.") | ||||||
| (define libsigc++ | (define libsigc++ | ||||||
|   (package |   (package | ||||||
|     (name "libsigc++") |     (name "libsigc++") | ||||||
|     (version "2.3.1") |     (version "2.4.1") | ||||||
|     (source (origin |     (source (origin | ||||||
|              (method url-fetch) |              (method url-fetch) | ||||||
|              (uri (string-append "mirror://gnome/sources/libsigc++/2.3/libsigc++-" |              (uri (string-append "mirror://gnome/sources/libsigc++/" | ||||||
|                                  version ".tar.xz")) |                                  (version-major+minor version) "/" | ||||||
|  |                                  name "-" version ".tar.xz")) | ||||||
|              (sha256 |              (sha256 | ||||||
|               (base32 |               (base32 | ||||||
|                "14q3sq6d43f6wfcmwhw4v1aal4ba0h5x9v6wkxy2dnqznd95il37")))) |                "1v0rvkzglzmf67y9nkcppwjwi68j1cy5yhldvcq7xrv8594l612l")))) | ||||||
|     (build-system gnu-build-system) |     (build-system gnu-build-system) | ||||||
|     (native-inputs `(("pkg-config" ,pkg-config) |     (native-inputs `(("pkg-config" ,pkg-config) | ||||||
|                      ("m4" ,m4))) |                      ("m4" ,m4))) | ||||||
|  | @ -399,7 +397,7 @@ has an ease of use unmatched by other C++ callback libraries.") | ||||||
| (define glibmm | (define glibmm | ||||||
|   (package |   (package | ||||||
|     (name "glibmm") |     (name "glibmm") | ||||||
|     (version "2.42.0") |     (version "2.44.0") | ||||||
|     (source (origin |     (source (origin | ||||||
|              (method url-fetch) |              (method url-fetch) | ||||||
|              (uri (string-append "mirror://gnome/sources/glibmm/" |              (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")) |                                  "/glibmm-" version ".tar.xz")) | ||||||
|              (sha256 |              (sha256 | ||||||
|               (base32 |               (base32 | ||||||
|                "15rk3az8jh3rdwlc3lxjljbnh60drj3ka9574zd39lkqfgcq6l4q")))) |                "1a1fczy7hcpn24fglyn4i79f4yjc8s50is70q03mb294bm1c02hv")))) | ||||||
|     (build-system gnu-build-system) |     (build-system gnu-build-system) | ||||||
|     (arguments |     (arguments | ||||||
|      `(#:phases (alist-cons-before |      `(#:phases (alist-cons-before | ||||||
|  | @ -481,8 +479,7 @@ useful for C++.") | ||||||
| (define-public python-pygobject | (define-public python-pygobject | ||||||
|   (package |   (package | ||||||
|     (name "python-pygobject") |     (name "python-pygobject") | ||||||
|     (version "3.12.2")                  ;last version that works with |     (version "3.16.1") | ||||||
|                                         ;gobject-introspection 1.38 |  | ||||||
|     (source |     (source | ||||||
|      (origin |      (origin | ||||||
|        (method url-fetch) |        (method url-fetch) | ||||||
|  | @ -491,8 +488,7 @@ useful for C++.") | ||||||
|                            "/pygobject-" version ".tar.xz")) |                            "/pygobject-" version ".tar.xz")) | ||||||
|        (sha256 |        (sha256 | ||||||
|         (base32 |         (base32 | ||||||
|          "08m5yad1hjdax4g39w6lgjk4124mcwpa8fc5iyvb8nygk8s3syky")))) |          "1hqyma73w0lnjcgx68kawhnq84aq92xlkdqphrlc2ppia38dm5kx")))) | ||||||
|     ;; 3.14.0: 0m1d75iwxa6k1xbkn6c6yq5r10pxnf7i5c2a5yvwsnab7ylzz7kp |  | ||||||
|     (build-system gnu-build-system) |     (build-system gnu-build-system) | ||||||
|     (native-inputs |     (native-inputs | ||||||
|      `(("which" ,which) |      `(("which" ,which) | ||||||
|  | @ -545,14 +541,6 @@ useful for C++.") | ||||||
|         (base32 |         (base32 | ||||||
|          "1symyzbjmxvksn2ifdkk50lafjm2llf2sbmky062gq2pz3cg23cy")))) |          "1symyzbjmxvksn2ifdkk50lafjm2llf2sbmky062gq2pz3cg23cy")))) | ||||||
|     (build-system gnu-build-system) |     (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 |     (native-inputs | ||||||
|      `(("glib" ,glib "bin") ; uses glib-mkenums |      `(("glib" ,glib "bin") ; uses glib-mkenums | ||||||
|        ("pkg-config" ,pkg-config) |        ("pkg-config" ,pkg-config) | ||||||
|  |  | ||||||
|  | @ -5,6 +5,8 @@ | ||||||
| ;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org> | ;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org> | ||||||
| ;;; Copyright © 2014, 2015 Federico Beffa <beffa@fbengineering.ch> | ;;; Copyright © 2014, 2015 Federico Beffa <beffa@fbengineering.ch> | ||||||
| ;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com> | ;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com> | ||||||
|  | ;;; Copyright © 2015 Andy Wingo <wingo@igalia.com> | ||||||
|  | ;;; Copyright © 2015 David Hashe <david.hashe@dhashe.com> | ||||||
| ;;; | ;;; | ||||||
| ;;; This file is part of GNU Guix. | ;;; This file is part of GNU Guix. | ||||||
| ;;; | ;;; | ||||||
|  | @ -29,28 +31,46 @@ | ||||||
|   #:use-module (guix build-system gnu) |   #:use-module (guix build-system gnu) | ||||||
|   #:use-module (guix build-system glib-or-gtk) |   #:use-module (guix build-system glib-or-gtk) | ||||||
|   #:use-module (gnu packages) |   #:use-module (gnu packages) | ||||||
|  |   #:use-module (gnu packages autotools) | ||||||
|  |   #:use-module (gnu packages base) | ||||||
|   #:use-module (gnu packages bison) |   #:use-module (gnu packages bison) | ||||||
|  |   #:use-module (gnu packages cups) | ||||||
|  |   #:use-module (gnu packages curl) | ||||||
|  |   #:use-module (gnu packages databases) | ||||||
|   #:use-module (gnu packages flex) |   #:use-module (gnu packages flex) | ||||||
|   #:use-module (gnu packages docbook) |   #:use-module (gnu packages docbook) | ||||||
|   #:use-module (gnu packages glib) |   #:use-module (gnu packages glib) | ||||||
|   #:use-module (gnu packages gnupg) |   #:use-module (gnu packages gnupg) | ||||||
|  |   #:use-module (gnu packages gnuzilla) | ||||||
|   #:use-module (gnu packages gstreamer) |   #:use-module (gnu packages gstreamer) | ||||||
|   #:use-module (gnu packages gtk) |   #:use-module (gnu packages gtk) | ||||||
|  |   #:use-module (gnu packages guile) | ||||||
|   #:use-module (gnu packages pdf) |   #:use-module (gnu packages pdf) | ||||||
|  |   #:use-module (gnu packages polkit) | ||||||
|   #:use-module (gnu packages popt) |   #:use-module (gnu packages popt) | ||||||
|   #:use-module (gnu packages ghostscript) |   #:use-module (gnu packages ghostscript) | ||||||
|  |   #:use-module (gnu packages gnutls) | ||||||
|   #:use-module (gnu packages iso-codes) |   #:use-module (gnu packages iso-codes) | ||||||
|   #:use-module (gnu packages libcanberra) |   #:use-module (gnu packages libcanberra) | ||||||
|  |   #:use-module (gnu packages linux) | ||||||
|  |   #:use-module (gnu packages libusb) | ||||||
|   #:use-module (gnu packages image) |   #:use-module (gnu packages image) | ||||||
|   #:use-module (gnu packages perl) |   #:use-module (gnu packages perl) | ||||||
|   #:use-module (gnu packages pkg-config) |   #:use-module (gnu packages pkg-config) | ||||||
|  |   #:use-module (gnu packages pulseaudio) | ||||||
|   #:use-module (gnu packages python) |   #:use-module (gnu packages python) | ||||||
|  |   #:use-module (gnu packages scanner) | ||||||
|   #:use-module (gnu packages xml) |   #:use-module (gnu packages xml) | ||||||
|   #:use-module (gnu packages gl) |   #:use-module (gnu packages gl) | ||||||
|   #:use-module (gnu packages compression) |   #:use-module (gnu packages compression) | ||||||
|  |   #:use-module (gnu packages web) | ||||||
|   #:use-module (gnu packages xorg) |   #:use-module (gnu packages xorg) | ||||||
|   #:use-module (gnu packages xdisorg) |   #:use-module (gnu packages xdisorg) | ||||||
|   #:use-module (gnu packages ncurses)) |   #:use-module (gnu packages mail) | ||||||
|  |   #:use-module (gnu packages backup) | ||||||
|  |   #:use-module (gnu packages nettle) | ||||||
|  |   #:use-module (gnu packages ncurses) | ||||||
|  |   #:use-module (srfi srfi-1)) | ||||||
| 
 | 
 | ||||||
| (define-public brasero | (define-public brasero | ||||||
|   (package |   (package | ||||||
|  | @ -92,7 +112,7 @@ features to enable users to create their discs easily and quickly.") | ||||||
| (define-public gnome-desktop | (define-public gnome-desktop | ||||||
|   (package |   (package | ||||||
|     (name "gnome-desktop") |     (name "gnome-desktop") | ||||||
|     (version "3.10.0") |     (version "3.16.0") | ||||||
|     (source |     (source | ||||||
|      (origin |      (origin | ||||||
|       (method url-fetch) |       (method url-fetch) | ||||||
|  | @ -101,7 +121,7 @@ features to enable users to create their discs easily and quickly.") | ||||||
|                           name "-" version ".tar.xz")) |                           name "-" version ".tar.xz")) | ||||||
|       (sha256 |       (sha256 | ||||||
|        (base32 |        (base32 | ||||||
|         "0p5p6wvmy5zvcdnmp5h2biz7rjrcw99chq5kkwcnb68flcmkb1ry")))) |         "05lvik5cdh51xqd332qingph09zdhiaa1kqy9k2sk1simz4pvf8m")))) | ||||||
|     (build-system gnu-build-system) |     (build-system gnu-build-system) | ||||||
|     (native-inputs |     (native-inputs | ||||||
|      `(("intltool" ,intltool) |      `(("intltool" ,intltool) | ||||||
|  | @ -252,7 +272,7 @@ on the GNOME Desktop with a single simple application.") | ||||||
| (define-public gsettings-desktop-schemas | (define-public gsettings-desktop-schemas | ||||||
|   (package |   (package | ||||||
|     (name "gsettings-desktop-schemas") |     (name "gsettings-desktop-schemas") | ||||||
|     (version "3.10.0") |     (version "3.16.0") | ||||||
|     (source |     (source | ||||||
|      (origin |      (origin | ||||||
|       (method url-fetch) |       (method url-fetch) | ||||||
|  | @ -261,13 +281,14 @@ on the GNOME Desktop with a single simple application.") | ||||||
|                           name "-" version ".tar.xz")) |                           name "-" version ".tar.xz")) | ||||||
|       (sha256 |       (sha256 | ||||||
|        (base32 |        (base32 | ||||||
|         "1km8qxwrzvravmg8j680qv64bwnwbdgrmy8bqmhs0dgxn2b1as6a")))) |         "02dp1hl38k16m9abydfca1n236mdazqdz0p3n92s7haf9mdqsf16")))) | ||||||
|     (build-system gnu-build-system) |     (build-system gnu-build-system) | ||||||
|     (inputs |     (inputs | ||||||
|      `(("glib" ,glib))) |      `(("glib" ,glib))) | ||||||
|     (native-inputs |     (native-inputs | ||||||
|      `(("intltool" ,intltool) |      `(("intltool" ,intltool) | ||||||
|        ("glib" ,glib "bin")                       ; glib-compile-schemas, etc. |        ("glib" ,glib "bin")                       ; glib-compile-schemas, etc. | ||||||
|  |        ("gobject-introspection" ,gobject-introspection) | ||||||
|        ("pkg-config" ,pkg-config))) |        ("pkg-config" ,pkg-config))) | ||||||
|     (home-page "https://launchpad.net/gsettings-desktop-schemas") |     (home-page "https://launchpad.net/gsettings-desktop-schemas") | ||||||
|     (synopsis |     (synopsis | ||||||
|  | @ -349,7 +370,7 @@ update-desktop-database: updates the database containing a cache of MIME types | ||||||
| (define-public gnome-icon-theme | (define-public gnome-icon-theme | ||||||
|   (package |   (package | ||||||
|     (name "gnome-icon-theme") |     (name "gnome-icon-theme") | ||||||
|     (version "3.10.0") |     (version "3.12.0") | ||||||
|     (source |     (source | ||||||
|      (origin |      (origin | ||||||
|       (method url-fetch) |       (method url-fetch) | ||||||
|  | @ -358,14 +379,13 @@ update-desktop-database: updates the database containing a cache of MIME types | ||||||
|                           name "-" version ".tar.xz")) |                           name "-" version ".tar.xz")) | ||||||
|       (sha256 |       (sha256 | ||||||
|        (base32 |        (base32 | ||||||
|         "1xinbgkkvlhazj887ajcl13i7kdc1wcca02jwxzvjrvchjsp4m66")))) |         "0fjh9qmmgj34zlgxb09231ld7khys562qxbpsjlaplq2j85p57im")))) | ||||||
|     (build-system gnu-build-system) |     (build-system gnu-build-system) | ||||||
|     (inputs |  | ||||||
|      `(("gtk+" ,gtk+) |  | ||||||
|        ("icon-naming-utils" ,icon-naming-utils))) |  | ||||||
|     (native-inputs |     (native-inputs | ||||||
|        `(("intltool" ,intltool) |      `(("gtk+" ,gtk+) ; for gtk-update-icon-cache | ||||||
|          ("pkg-config" ,pkg-config))) |        ("icon-naming-utils" ,icon-naming-utils) | ||||||
|  |        ("intltool" ,intltool) | ||||||
|  |        ("pkg-config" ,pkg-config))) | ||||||
|     (home-page "http://art.gnome.org/") |     (home-page "http://art.gnome.org/") | ||||||
|     (synopsis |     (synopsis | ||||||
|      "GNOME icon theme") |      "GNOME icon theme") | ||||||
|  | @ -483,13 +503,6 @@ some form of information without getting in the user's way.") | ||||||
|        ("glib:bin" ,glib "bin") |        ("glib:bin" ,glib "bin") | ||||||
|        ("gobject-introspection" ,gobject-introspection) |        ("gobject-introspection" ,gobject-introspection) | ||||||
|        ("intltool" ,intltool))) |        ("intltool" ,intltool))) | ||||||
|     (arguments |  | ||||||
|      `(#:phases  |  | ||||||
|        (alist-cons-before |  | ||||||
|         'build 'pre-build |  | ||||||
|         (lambda* _ |  | ||||||
|           (setenv "CC" "gcc")) |  | ||||||
|         %standard-phases))) |  | ||||||
|     (home-page "https://wiki.gnome.org/Libpeas") |     (home-page "https://wiki.gnome.org/Libpeas") | ||||||
|     (synopsis "GObject plugin system") |     (synopsis "GObject plugin system") | ||||||
|     (description |     (description | ||||||
|  | @ -659,11 +672,7 @@ dealing with different structured file formats.") | ||||||
|                 (string-join (find-files (assoc-ref inputs "gdk-pixbuf") |                 (string-join (find-files (assoc-ref inputs "gdk-pixbuf") | ||||||
|                                          "libpixbufloader-.*\\.so") " ") |                                          "libpixbufloader-.*\\.so") " ") | ||||||
|                 "> " loaders-directory ".cache"))))) |                 "> " loaders-directory ".cache"))))) | ||||||
|          (alist-cons-before |          %standard-phases)))) | ||||||
|           'build 'pre-build |  | ||||||
|           (lambda* _ |  | ||||||
|             (setenv "CC" "gcc")) |  | ||||||
|           %standard-phases))))) |  | ||||||
|     (native-inputs |     (native-inputs | ||||||
|      `(("pkg-config" ,pkg-config) |      `(("pkg-config" ,pkg-config) | ||||||
|        ("glib" ,glib "bin")                               ; glib-mkenums, etc. |        ("glib" ,glib "bin")                               ; glib-mkenums, etc. | ||||||
|  | @ -814,11 +823,11 @@ use in GNOME applications, built on top of CORBA.") | ||||||
|               (sha256 |               (sha256 | ||||||
|                (base32 "0k3q9nh53yhc9qxf1zaicz4sk8p3kzq4ndjdsgpaa2db0ccbj4hr")))) |                (base32 "0k3q9nh53yhc9qxf1zaicz4sk8p3kzq4ndjdsgpaa2db0ccbj4hr")))) | ||||||
|     (build-system gnu-build-system) |     (build-system gnu-build-system) | ||||||
|     (inputs `(("glib" ,glib) |     (inputs `(("dbus" ,dbus) | ||||||
|               ("dbus" ,dbus) |  | ||||||
|               ("dbus-glib" ,dbus-glib) |               ("dbus-glib" ,dbus-glib) | ||||||
|               ("libxml2" ,libxml2))) |               ("libxml2" ,libxml2))) | ||||||
|     (propagated-inputs `(("orbit2" ,orbit2))) ; referred to in the .pc file |     (propagated-inputs `(("glib" ,glib) ; referred to in the .pc file | ||||||
|  |                          ("orbit2" ,orbit2))) | ||||||
|     (native-inputs |     (native-inputs | ||||||
|      `(("intltool" ,intltool) |      `(("intltool" ,intltool) | ||||||
|        ("glib" ,glib "bin")             ; for glib-genmarshal, etc. |        ("glib" ,glib "bin")             ; for glib-genmarshal, etc. | ||||||
|  | @ -864,24 +873,25 @@ designed to be accessed through the MIME functions in GnomeVFS.") | ||||||
|                                   (version-major+minor version)  "/" |                                   (version-major+minor version)  "/" | ||||||
|                                   name "-" version ".tar.bz2")) |                                   name "-" version ".tar.bz2")) | ||||||
|               (sha256 |               (sha256 | ||||||
|                (base32 "1ajg8jb8k3snxc7rrgczlh8daxkjidmcv3zr9w809sq4p2sn9pk2")))) |                (base32 | ||||||
|  |                 "1ajg8jb8k3snxc7rrgczlh8daxkjidmcv3zr9w809sq4p2sn9pk2")))) | ||||||
|     (build-system gnu-build-system) |     (build-system gnu-build-system) | ||||||
|     (arguments |     (arguments | ||||||
|      ;; The programmer kindly gives us a hook to turn off deprecation warnings ... |      `(#:phases | ||||||
|      `(#:configure-flags '("DISABLE_DEPRECATED_CFLAGS=-DGLIB_DISABLE_DEPRECATION_WARNINGS") |        (alist-cons-before | ||||||
|                          ;; ... which they then completly ignore !! |         'configure 'ignore-deprecations | ||||||
|                          #:phases |         (lambda _ | ||||||
|                          (alist-cons-before |           (substitute* '("libgnomevfs/Makefile.in" | ||||||
|                           'configure 'ignore-deprecations |                          "daemon/Makefile.in") | ||||||
|                           (lambda _ |             (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS")) | ||||||
|                             (begin |           #t) | ||||||
|                               (substitute* "libgnomevfs/Makefile.in" |         (alist-cons-before | ||||||
|                                 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS")) |          'configure 'patch-test-async-cancel-to-never-fail | ||||||
|                               (substitute* "daemon/Makefile.in" |          (lambda _ | ||||||
|                                 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS")))) |            (substitute* "test/test-async-cancel.c" | ||||||
|                           %standard-phases))) |              (("EXIT_FAILURE") "77"))) | ||||||
|     (inputs `(("glib" ,glib) |          %standard-phases)))) | ||||||
|               ("libxml2" ,libxml2) |     (inputs `(("libxml2" ,libxml2) | ||||||
|               ("dbus-glib" ,dbus-glib) |               ("dbus-glib" ,dbus-glib) | ||||||
|               ("dbus" ,dbus) |               ("dbus" ,dbus) | ||||||
|               ("gconf" ,gconf) |               ("gconf" ,gconf) | ||||||
|  | @ -893,9 +903,10 @@ designed to be accessed through the MIME functions in GnomeVFS.") | ||||||
|        ("pkg-config" ,pkg-config))) |        ("pkg-config" ,pkg-config))) | ||||||
|     (home-page "https://developer.gnome.org/gnome-vfs/") |     (home-page "https://developer.gnome.org/gnome-vfs/") | ||||||
|     (synopsis "Access files and folders in GNOME applications") |     (synopsis "Access files and folders in GNOME applications") | ||||||
|     (description  "GnomeVFS is the core library used to access files and |     (description | ||||||
| folders in GNOME applications.  It provides a file system abstraction which |      "GnomeVFS is the core library used to access files and folders in GNOME | ||||||
| allows applications to access local and remote files with a single consistent API.") | applications.  It provides a file system abstraction which allows applications | ||||||
|  | to access local and remote files with a single consistent API.") | ||||||
|     (license license:lgpl2.0+))) |     (license license:lgpl2.0+))) | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | @ -935,8 +946,7 @@ allows applications to access local and remote files with a single consistent AP | ||||||
|      `(("libcanberra" ,libcanberra) |      `(("libcanberra" ,libcanberra) | ||||||
|        ("libbonobo" ,libbonobo) |        ("libbonobo" ,libbonobo) | ||||||
|        ("gconf" ,gconf) |        ("gconf" ,gconf) | ||||||
|        ("gnome-vfs" ,gnome-vfs) |        ("gnome-vfs" ,gnome-vfs))) | ||||||
|        ("glib" ,glib))) |  | ||||||
|     (home-page "https://developer.gnome.org/libgnome/") |     (home-page "https://developer.gnome.org/libgnome/") | ||||||
|     (synopsis "Useful routines for building applications") |     (synopsis "Useful routines for building applications") | ||||||
|     (description  "The libgnome library provides a number of useful routines |     (description  "The libgnome library provides a number of useful routines | ||||||
|  | @ -1266,6 +1276,33 @@ Hints specification (EWMH).") | ||||||
|      ;; Note: NOT LGPL |      ;; Note: NOT LGPL | ||||||
|      (list license:gpl2 license:gpl3)))) |      (list license:gpl2 license:gpl3)))) | ||||||
| 
 | 
 | ||||||
|  | (define-public goffice-0.8 | ||||||
|  |   (package (inherit goffice) | ||||||
|  |     (version "0.8.17") | ||||||
|  |     (source (origin | ||||||
|  |               (method url-fetch) | ||||||
|  |               (uri (string-append "mirror://gnome/sources/" (package-name goffice) "/" | ||||||
|  |                                   (version-major+minor version)  "/" | ||||||
|  |                                   (package-name goffice) "-" version ".tar.xz")) | ||||||
|  |               (sha256 | ||||||
|  |                (base32 "05fvzbs5bin05bbsr4dp79aiva3lnq0a3a40zq55i13vnsz70l0n")))) | ||||||
|  |     (arguments | ||||||
|  |      `(#:phases | ||||||
|  |        (alist-cons-after | ||||||
|  |         'unpack 'fix-pcre-check | ||||||
|  |         (lambda _ | ||||||
|  |           ;; Only glib.h can be included directly.  See | ||||||
|  |           ;; https://bugzilla.gnome.org/show_bug.cgi?id=670316 | ||||||
|  |           (substitute* "configure" | ||||||
|  |             (("glib/gregex\\.h") "glib.h")) #t) | ||||||
|  |         %standard-phases))) | ||||||
|  |     (propagated-inputs | ||||||
|  |      ;; libgoffice-0.8.pc mentions libgsf-1 | ||||||
|  |      `(("libgsf" ,libgsf))) | ||||||
|  |     (inputs | ||||||
|  |      `(("gtk" ,gtk+-2) | ||||||
|  |        ,@(alist-delete "gtk" (package-inputs goffice)))))) | ||||||
|  | 
 | ||||||
| (define-public gnumeric | (define-public gnumeric | ||||||
|   (package |   (package | ||||||
|     (name "gnumeric") |     (name "gnumeric") | ||||||
|  | @ -1333,7 +1370,7 @@ engineering.") | ||||||
|                            version ".tar.xz")) |                            version ".tar.xz")) | ||||||
|        (sha256 |        (sha256 | ||||||
|         (base32 |         (base32 | ||||||
|          "0f2b3ypkfvrdsxcvp14ja9wqj382f1p46yrjvhhxkkjgagy6qb41")))) |          "0kyrbfrgl6g6wm6zpllldz36fclvl8vwmn1snwk18kf7f6ncpsac")))) | ||||||
|     (build-system gnu-build-system) |     (build-system gnu-build-system) | ||||||
|     (inputs |     (inputs | ||||||
|      `(("gtk+" ,gtk+) |      `(("gtk+" ,gtk+) | ||||||
|  | @ -1366,7 +1403,7 @@ engineering.") | ||||||
| (define-public vala | (define-public vala | ||||||
|   (package |   (package | ||||||
|     (name "vala") |     (name "vala") | ||||||
|     (version "0.26.1") |     (version "0.28.0") | ||||||
|     (source (origin |     (source (origin | ||||||
|               (method url-fetch) |               (method url-fetch) | ||||||
|               (uri (string-append "mirror://gnome/sources/" name "/" |               (uri (string-append "mirror://gnome/sources/" name "/" | ||||||
|  | @ -1374,9 +1411,15 @@ engineering.") | ||||||
|                                   name "-" version ".tar.xz")) |                                   name "-" version ".tar.xz")) | ||||||
|               (sha256 |               (sha256 | ||||||
|                (base32 |                (base32 | ||||||
|                 "0swyym2papln0f62ah05dpvq3vv6fssap26jq2zqp9dkkaqsn1w4")))) |                 "0zwpzhkhfk3piya14m7p2hl2vaabahprphppfm46ci91z39kp7hd")))) | ||||||
|     (build-system gnu-build-system) |     (build-system gnu-build-system) | ||||||
|     (arguments '(#:make-flags '("CC=gcc"))) |     (arguments | ||||||
|  |      '(#:phases | ||||||
|  |        (modify-phases %standard-phases | ||||||
|  |          (add-before 'check 'set-cc | ||||||
|  |                      (lambda _ | ||||||
|  |                        (setenv "CC" "gcc") | ||||||
|  |                        #t))))) | ||||||
|     (native-inputs |     (native-inputs | ||||||
|      `(("pkg-config" ,pkg-config) |      `(("pkg-config" ,pkg-config) | ||||||
|        ("flex" ,flex) |        ("flex" ,flex) | ||||||
|  | @ -1398,7 +1441,7 @@ libraries written in C.") | ||||||
| (define-public vte | (define-public vte | ||||||
|   (package |   (package | ||||||
|     (name "vte") |     (name "vte") | ||||||
|     (version "0.38.2") |     (version "0.40.0") | ||||||
|     (source (origin |     (source (origin | ||||||
|               (method url-fetch) |               (method url-fetch) | ||||||
|               (uri (string-append "mirror://gnome/sources/" name "/" |               (uri (string-append "mirror://gnome/sources/" name "/" | ||||||
|  | @ -1406,7 +1449,7 @@ libraries written in C.") | ||||||
|                                   name "-" version ".tar.xz")) |                                   name "-" version ".tar.xz")) | ||||||
|               (sha256 |               (sha256 | ||||||
|                (base32 |                (base32 | ||||||
|                 "1rbxrigff9yszbgdw0gw4c2saz4d1hbbpz21phzxx14w49wvmnmj")))) |                 "0lnq0bgkmsixjwmfacb2ch9qfjqjxa8zkk1hiv3l29kgca0n3nal")))) | ||||||
|     (build-system gnu-build-system) |     (build-system gnu-build-system) | ||||||
|     (native-inputs |     (native-inputs | ||||||
|      `(("pkg-config" ,pkg-config) |      `(("pkg-config" ,pkg-config) | ||||||
|  | @ -1416,14 +1459,8 @@ libraries written in C.") | ||||||
|        ("glib" ,glib "bin") ; for glib-genmarshal, etc. |        ("glib" ,glib "bin") ; for glib-genmarshal, etc. | ||||||
|        ("xmllint" ,libxml2))) |        ("xmllint" ,libxml2))) | ||||||
|     (propagated-inputs |     (propagated-inputs | ||||||
|      `(("gtk+" ,gtk+))) ; required by libvte-2.91.pc |      `(("gtk+" ,gtk+)                             ;required by vte-2.91.pc | ||||||
|     (arguments |        ("gnutls" ,gnutls)))                       ;ditto | ||||||
|      `(#:phases |  | ||||||
|        (alist-cons-before |  | ||||||
|         'build 'pre-build |  | ||||||
|         (lambda* _ |  | ||||||
|           (setenv "CC" "gcc")) |  | ||||||
|         %standard-phases))) |  | ||||||
|     (home-page "http://www.gnome.org/") |     (home-page "http://www.gnome.org/") | ||||||
|     (synopsis "Virtual Terminal Emulator") |     (synopsis "Virtual Terminal Emulator") | ||||||
|     (description |     (description | ||||||
|  | @ -1522,14 +1559,6 @@ configuration storage systems.") | ||||||
|                (base32 |                (base32 | ||||||
|                 "02k66lpc4cmgygj66n8zcy59bggy7yzm3v4hni9xqplgva9d2yw8")))) |                 "02k66lpc4cmgygj66n8zcy59bggy7yzm3v4hni9xqplgva9d2yw8")))) | ||||||
|     (build-system gnu-build-system) |     (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 |     (native-inputs | ||||||
|      `(("glib" ,glib "bin")              ;for glib-mkenums and glib-genmarshal |      `(("glib" ,glib "bin")              ;for glib-mkenums and glib-genmarshal | ||||||
|        ("gobject-introspection" ,gobject-introspection) |        ("gobject-introspection" ,gobject-introspection) | ||||||
|  | @ -1561,13 +1590,7 @@ JSON, such as arrays and objects.") | ||||||
|      '(#:configure-flags |      '(#:configure-flags | ||||||
|        (list (string-append "--with-xkb-base=" |        (list (string-append "--with-xkb-base=" | ||||||
|                             (assoc-ref %build-inputs "xkeyboard-config") |                             (assoc-ref %build-inputs "xkeyboard-config") | ||||||
|                             "/share/X11/xkb")) |                             "/share/X11/xkb")))) | ||||||
|        #:phases |  | ||||||
|        (alist-cons-before |  | ||||||
|         'build 'set-cc |  | ||||||
|         (lambda _ |  | ||||||
|           (setenv "CC" "gcc")) ; for g-ir-scanner. |  | ||||||
|         %standard-phases))) |  | ||||||
|     (native-inputs |     (native-inputs | ||||||
|      `(("glib:bin"              ,glib "bin") ; for glib-mkenums, etc. |      `(("glib:bin"              ,glib "bin") ; for glib-mkenums, etc. | ||||||
|        ("gobject-introspection" ,gobject-introspection) |        ("gobject-introspection" ,gobject-introspection) | ||||||
|  | @ -1621,3 +1644,610 @@ library.") | ||||||
|     ;; This is the license of the rsvg bindings.  The license of each module |     ;; This is the license of the rsvg bindings.  The license of each module | ||||||
|     ;; of gnome-python-desktop is given in 'COPYING'. |     ;; of gnome-python-desktop is given in 'COPYING'. | ||||||
|     (license license:lgpl2.1+))) |     (license license:lgpl2.1+))) | ||||||
|  | 
 | ||||||
|  | (define-public glib-networking | ||||||
|  |   (package | ||||||
|  |     (name "glib-networking") | ||||||
|  |     (version "2.44.0") | ||||||
|  |     (source (origin | ||||||
|  |               (method url-fetch) | ||||||
|  |               (uri (string-append "mirror://gnome/sources/glib-networking/" | ||||||
|  |                                   (version-major+minor version) "/" | ||||||
|  |                                   name "-" version ".tar.xz")) | ||||||
|  |               (sha256 | ||||||
|  |                (base32 | ||||||
|  |                 "0ij33bhvn7y5gagx4sbrw906dsjjjs9dllxn73pzv6x97c6k92lg")))) | ||||||
|  |     (build-system gnu-build-system) | ||||||
|  |     (arguments | ||||||
|  |      `(#:configure-flags | ||||||
|  |        ;; FIXME: ca-certificates.crt is not available in the build environment. | ||||||
|  |        '("--with-ca-certificates=no") | ||||||
|  |        #:phases | ||||||
|  |        (modify-phases %standard-phases | ||||||
|  |          (add-before 'configure 'patch-giomoduledir | ||||||
|  |                      ;; Install GIO modules into $out/lib/gio/modules. | ||||||
|  |                      (lambda _ | ||||||
|  |                        (substitute* "configure" | ||||||
|  |                          (("GIO_MODULE_DIR=.*") | ||||||
|  |                           (string-append "GIO_MODULE_DIR=" %output | ||||||
|  |                                          "/lib/gio/modules\n")))))))) | ||||||
|  |     (native-inputs | ||||||
|  |      `(("pkg-config" ,pkg-config) | ||||||
|  |        ("intltool" ,intltool))) | ||||||
|  |     (inputs | ||||||
|  |      `(("glib" ,glib) | ||||||
|  |        ("gnutls" ,gnutls) | ||||||
|  |        ("gsettings-desktop-schemas" ,gsettings-desktop-schemas) | ||||||
|  |        ("p11-kit" ,p11-kit))) | ||||||
|  |     (home-page "http://www.gnome.org") | ||||||
|  |     (synopsis "Network-related GIO modules") | ||||||
|  |     (description | ||||||
|  |      "This package contains various network related extensions for the GIO | ||||||
|  | library.") | ||||||
|  |     (license license:lgpl2.0+))) | ||||||
|  | 
 | ||||||
|  | (define-public libsoup | ||||||
|  |   (package | ||||||
|  |     (name "libsoup") | ||||||
|  |     (version "2.50.0") | ||||||
|  |     (source (origin | ||||||
|  |               (method url-fetch) | ||||||
|  |               (uri (string-append "mirror://gnome/sources/libsoup/" | ||||||
|  |                                   (version-major+minor version) "/" | ||||||
|  |                                   name "-" version ".tar.xz")) | ||||||
|  |               (sha256 | ||||||
|  |                (base32 | ||||||
|  |                 "0yv61y5vfar1rfksa6f53zhfw9wcb39zjix8gqc1ff5gqid3c08y")))) | ||||||
|  |     (build-system gnu-build-system) | ||||||
|  |     (outputs '("out" "doc")) | ||||||
|  |     (arguments | ||||||
|  |      `(#:configure-flags | ||||||
|  |        (list (string-append "--with-html-dir=" | ||||||
|  |                             (assoc-ref %outputs "doc") | ||||||
|  |                             "/share/gtk-doc/html") | ||||||
|  |              ;; To find GIO modules from glib-networking. | ||||||
|  |              (string-append "GIO_EXTRA_MODULES=" | ||||||
|  |                             (assoc-ref %build-inputs "glib-networking") | ||||||
|  |                             "/lib/gio/modules")) | ||||||
|  |        #:phases | ||||||
|  |        (modify-phases %standard-phases | ||||||
|  |          (add-before 'configure 'disable-unconnected-socket-test | ||||||
|  |                      ;; This test fails due to missing /etc/nsswitch.conf | ||||||
|  |                      ;; in the build environment. | ||||||
|  |                      (lambda _ | ||||||
|  |                        (substitute* "tests/socket-test.c" | ||||||
|  |                          ((".*/sockets/unconnected.*") "")) | ||||||
|  |                        #t)) | ||||||
|  |          (add-before 'check 'unset-LC_ALL | ||||||
|  |                      ;; The 'check-local' target runs 'env LANG=C sort -u', | ||||||
|  |                      ;; unset 'LC_ALL' to make 'LANG' working. | ||||||
|  |                      (lambda _ | ||||||
|  |                        (unsetenv "LC_ALL") | ||||||
|  |                        #t))))) | ||||||
|  |     (native-inputs | ||||||
|  |      `(("glib:bin" ,glib "bin") ; for glib-mkenums | ||||||
|  |        ("gobject-introspection" ,gobject-introspection) | ||||||
|  |        ("intltool" ,intltool) | ||||||
|  |        ("pkg-config" ,pkg-config) | ||||||
|  |        ("python" ,python-wrapper) | ||||||
|  |        ;; These are needed for the tests. | ||||||
|  |        ;; FIXME: Add PHP once available. | ||||||
|  |        ("curl" ,curl) | ||||||
|  |        ("httpd" ,httpd))) | ||||||
|  |     (propagated-inputs | ||||||
|  |      ;; libsoup-2.4.pc refers to all these. | ||||||
|  |      `(("glib" ,glib) | ||||||
|  |        ("libxml2" ,libxml2))) | ||||||
|  |     (inputs | ||||||
|  |      `(("glib-networking" ,glib-networking) | ||||||
|  |        ("sqlite" ,sqlite))) | ||||||
|  |     (home-page "https://live.gnome.org/LibSoup/") | ||||||
|  |     (synopsis "GLib-based HTTP Library") | ||||||
|  |     (description | ||||||
|  |      "LibSoup is an HTTP client/server library for GNOME.  It uses GObjects | ||||||
|  | and the GLib main loop, to integrate well with GNOME applications.") | ||||||
|  |     (license license:lgpl2.0+))) | ||||||
|  | 
 | ||||||
|  | (define-public libsecret | ||||||
|  |   (package | ||||||
|  |     (name "libsecret") | ||||||
|  |     (version "0.18") | ||||||
|  |     (source (origin | ||||||
|  |               (method url-fetch) | ||||||
|  |               (uri (string-append | ||||||
|  |                     "mirror://gnome/sources/libsecret/" version "/" | ||||||
|  |                     name "-" version ".tar.xz")) | ||||||
|  |               (sha256 | ||||||
|  |                (base32 | ||||||
|  |                 "1qq29c01xxjyx5sl6y5h22w8r0ff4c73bph3gfx3h7mx5mvalwqc")))) | ||||||
|  |     (build-system gnu-build-system) | ||||||
|  |     (outputs '("out" "doc")) | ||||||
|  |     (arguments | ||||||
|  |      `(#:tests? #f ; FIXME: Testing hangs. | ||||||
|  |        #:configure-flags | ||||||
|  |        (list (string-append "--with-html-dir=" | ||||||
|  |                             (assoc-ref %outputs "doc") | ||||||
|  |                             "/share/gtk-doc/html")))) | ||||||
|  |     (native-inputs | ||||||
|  |      `(("glib:bin" ,glib "bin") ; for gdbus-codegen, etc. | ||||||
|  |        ("gobject-introspection" ,gobject-introspection) | ||||||
|  |        ("intltool" ,intltool) | ||||||
|  |        ("pkg-config" ,pkg-config) | ||||||
|  |        ("vala" ,vala) | ||||||
|  |        ("xsltproc" ,libxslt))) | ||||||
|  |        ;; These are needed for the tests. | ||||||
|  |        ;; FIXME: Add gjs once available. | ||||||
|  |        ;("dbus" ,dbus) | ||||||
|  |        ;("python2" ,python-2) | ||||||
|  |        ;("python2-dbus" ,python2-dbus) | ||||||
|  |        ;("python2-pygobject" ,python2-pygobject) | ||||||
|  |        ;("python2-pygobject-2" ,python2-pygobject-2))) | ||||||
|  |     (propagated-inputs | ||||||
|  |      `(("glib" ,glib))) ; required by libsecret-1.pc | ||||||
|  |     (inputs | ||||||
|  |      `(("docbook-xsl" ,docbook-xsl) | ||||||
|  |        ("libgcrypt" ,libgcrypt) | ||||||
|  |        ("libxml2" ,libxml2))) ; for XML_CATALOG_FILES | ||||||
|  |     (home-page "https://wiki.gnome.org/Projects/Libsecret/") | ||||||
|  |     (synopsis "GObject bindings for \"Secret Service\" API") | ||||||
|  |     (description | ||||||
|  |      "Libsecret is a GObject based library for storing and retrieving passwords | ||||||
|  | and other secrets.  It communicates with the \"Secret Service\" using DBus.") | ||||||
|  |     (license license:lgpl2.1+))) | ||||||
|  | 
 | ||||||
|  | (define-public gnome-mines | ||||||
|  |   (package | ||||||
|  |     (name "gnome-mines") | ||||||
|  |     (version "3.16.0") | ||||||
|  |     (source | ||||||
|  |      (origin | ||||||
|  |        (method url-fetch) | ||||||
|  |        (uri (string-append "mirror://gnome/sources/" name "/" | ||||||
|  |                            (version-major+minor version) "/" | ||||||
|  |                            name "-" version ".tar.xz")) | ||||||
|  |        (sha256 | ||||||
|  |         (base32 | ||||||
|  |          "0wfvqyryc1093l4dr75zv9h0jyn28z6wirdq03lm5w24qf9lvjjx")))) | ||||||
|  |     (build-system glib-or-gtk-build-system) | ||||||
|  |     (arguments | ||||||
|  |      '(#:phases | ||||||
|  |        (modify-phases %standard-phases | ||||||
|  |          (add-before 'configure 'patch-/bin/true | ||||||
|  |                      (lambda _ | ||||||
|  |                        (substitute* "configure" | ||||||
|  |                          (("/bin/true") (which "true"))))) | ||||||
|  |          (add-after 'install 'wrap-pixbuf | ||||||
|  |                     ;; Use librsvg's loaders.cache to support SVG files. | ||||||
|  |                     (lambda* (#:key inputs outputs #:allow-other-keys) | ||||||
|  |                       (let* ((out    (assoc-ref outputs "out")) | ||||||
|  |                              (prog   (string-append out "/bin/gnome-mines")) | ||||||
|  |                              (rsvg   (assoc-ref inputs "librsvg")) | ||||||
|  |                              (pixbuf (find-files rsvg "^loaders\\.cache$"))) | ||||||
|  |                         (wrap-program prog | ||||||
|  |                           `("GDK_PIXBUF_MODULE_FILE" = ,pixbuf)))))))) | ||||||
|  |     (native-inputs | ||||||
|  |      `(("pkg-config" ,pkg-config) | ||||||
|  |        ("desktop-file-utils" ,desktop-file-utils) | ||||||
|  |        ("intltool" ,intltool) | ||||||
|  |        ("itstool" ,itstool))) | ||||||
|  |     (inputs | ||||||
|  |      `(("gtk+" ,gtk+) | ||||||
|  |        ("librsvg" ,librsvg))) | ||||||
|  |     (home-page "https://wiki.gnome.org/Apps/Mines") | ||||||
|  |     (synopsis "Minesweeper game") | ||||||
|  |     (description | ||||||
|  |      "Mines (previously gnomine) is a puzzle game where you locate mines | ||||||
|  | floating in an ocean using only your brain and a little bit of luck.") | ||||||
|  |     (license license:gpl2+))) | ||||||
|  | 
 | ||||||
|  | (define-public gnome-terminal | ||||||
|  |   (package | ||||||
|  |     (name "gnome-terminal") | ||||||
|  |     (version "3.16.0") | ||||||
|  |     (source | ||||||
|  |      (origin | ||||||
|  |        (method url-fetch) | ||||||
|  |        (uri (string-append "mirror://gnome/sources/" name "/" | ||||||
|  |                            (version-major+minor version) "/" | ||||||
|  |                            name "-" version ".tar.xz")) | ||||||
|  |        (sha256 | ||||||
|  |         (base32 | ||||||
|  |          "1s3zwqxs4crlqmh6l7s7n87pbmh2nnjdvhxlkalh58pbl0bk0qrd")))) | ||||||
|  |     (build-system glib-or-gtk-build-system) | ||||||
|  |     (arguments | ||||||
|  |      '(#:configure-flags | ||||||
|  |        (list "--disable-migration" "--disable-search-provider" | ||||||
|  |              "--without-nautilus-extension") | ||||||
|  |        #:phases | ||||||
|  |        (modify-phases %standard-phases | ||||||
|  |          (add-before 'configure 'patch-/bin/true | ||||||
|  |                      (lambda _ | ||||||
|  |                        (substitute* "configure" | ||||||
|  |                          (("/bin/true") (which "true")))))))) | ||||||
|  |     (native-inputs | ||||||
|  |      `(("pkg-config" ,pkg-config) | ||||||
|  |        ("desktop-file-utils" ,desktop-file-utils) | ||||||
|  |        ("intltool" ,intltool) | ||||||
|  |        ("itstool" ,itstool))) | ||||||
|  |     (inputs | ||||||
|  |      `(("gtk+" ,gtk+) | ||||||
|  |        ("vte" ,vte) | ||||||
|  |        ("gnutls" ,gnutls) | ||||||
|  |        ("dconf" ,dconf) | ||||||
|  |        ("gsettings-desktop-schemas" ,gsettings-desktop-schemas) | ||||||
|  |        ("util-linux" ,util-linux) | ||||||
|  |        ("vala" ,vala))) | ||||||
|  |     (home-page "https://wiki.gnome.org/Apps/Terminal") | ||||||
|  |     (synopsis "Terminal emulator") | ||||||
|  |     (description | ||||||
|  |      "GNOME Terminal is a terminal emulator application for accessing a | ||||||
|  | UNIX shell environment which can be used to run programs available on | ||||||
|  | your system. | ||||||
|  | 
 | ||||||
|  | It supports several profiles, multiple tabs and implements several | ||||||
|  | keyboard shortcuts.") | ||||||
|  |     (license license:gpl3+))) | ||||||
|  | 
 | ||||||
|  | (define-public colord | ||||||
|  |   (package | ||||||
|  |     (name "colord") | ||||||
|  |     (version "1.1.8") | ||||||
|  |     (source | ||||||
|  |      (origin | ||||||
|  |        (method url-fetch) | ||||||
|  |        (uri (string-append "http://www.freedesktop.org/software/colord/releases/" | ||||||
|  |                            name "-" version ".tar.xz")) | ||||||
|  |        (sha256 | ||||||
|  |         (base32 | ||||||
|  |          "01w97rgzk4qi6fp03scq5jyw0ayx11b479p7dkm2r77k84b9agph")))) | ||||||
|  |     (build-system glib-or-gtk-build-system) | ||||||
|  |     (arguments | ||||||
|  |      '(;; The tests want to run valgrind.  Punt for now. | ||||||
|  |        #:tests? #f | ||||||
|  |        #:configure-flags (list "--localstatedir=/var" | ||||||
|  |                                ;; GUSB not packaged yet. | ||||||
|  |                                "--disable-gusb" | ||||||
|  |                                ;; No dep on systemd. | ||||||
|  |                                "--disable-systemd-login" | ||||||
|  |                                ;; Wants to install to global completion dir; | ||||||
|  |                                ;; punt. | ||||||
|  |                                "--disable-bash-completion" | ||||||
|  |                                ;; colord-gtk not packaged yet. | ||||||
|  |                                "--disable-session-example" | ||||||
|  |                                "--with-daemon-user=colord" | ||||||
|  |                                "--enable-sane" | ||||||
|  |                                (string-append "--with-udevrulesdir=" | ||||||
|  |                                               (assoc-ref %outputs "out") | ||||||
|  |                                               "/lib/udev/rules.d")) | ||||||
|  |        #:phases | ||||||
|  |        (modify-phases %standard-phases | ||||||
|  |          (add-before 'configure 'patch-/bin/true | ||||||
|  |                      (lambda _ | ||||||
|  |                        (substitute* "configure" | ||||||
|  |                          (("/bin/true") (which "true"))) | ||||||
|  |                        (substitute* "src/Makefile.in" | ||||||
|  |                          (("if test -w \\$\\(DESTDIR\\)\\$\\(prefix\\)/;") | ||||||
|  |                           "if test -w $(DESTDIR)$(localstatedir);"))))))) | ||||||
|  |     (native-inputs | ||||||
|  |      `(("pkg-config" ,pkg-config) | ||||||
|  |        ("gobject-introspection" ,gobject-introspection) | ||||||
|  |        ("libtool" ,libtool) | ||||||
|  |        ("intltool" ,intltool))) | ||||||
|  |     (inputs | ||||||
|  |      `(("eudev" ,eudev) | ||||||
|  |        ("dbus" ,dbus) | ||||||
|  |        ("dbus-glib" ,dbus-glib) | ||||||
|  |        ("libusb" ,libusb) | ||||||
|  |        ("lcms" ,lcms) | ||||||
|  |        ("sqlite" ,sqlite) | ||||||
|  |        ("polkit" ,polkit) | ||||||
|  |        ("sane-backends" ,sane-backends))) | ||||||
|  |     (home-page "http://www.freedesktop.org/software/colord/") | ||||||
|  |     (synopsis "Color management service") | ||||||
|  |     (description "Colord is a system service that makes it easy to manage, | ||||||
|  | install and generate color profiles to accurately color manage input and | ||||||
|  | output devices.") | ||||||
|  |     (license license:gpl2+))) | ||||||
|  | 
 | ||||||
|  | (define-public geoclue | ||||||
|  |   (package | ||||||
|  |     (name "geoclue") | ||||||
|  |     (version "2.1.10") | ||||||
|  |     (source | ||||||
|  |      (origin | ||||||
|  |        (method url-fetch) | ||||||
|  |        (uri (string-append "http://www.freedesktop.org/software/" name | ||||||
|  |                            "/releases/" (version-major+minor version) "/" | ||||||
|  |                            name "-" version ".tar.xz")) | ||||||
|  |        (sha256 | ||||||
|  |         (base32 | ||||||
|  |          "0s0ws2bx5g1cbjamxmm448r4n4crha2fwpzm8zbx6cq6qslygmzi")) | ||||||
|  |        (patches (list (search-patch "geoclue-config.patch"))))) | ||||||
|  |     (build-system glib-or-gtk-build-system) | ||||||
|  |     (arguments | ||||||
|  |      '(;; The tests want to run the system bus. | ||||||
|  |        #:tests? #f | ||||||
|  |        #:configure-flags (list ;; Disable bits requiring ModemManager. | ||||||
|  |                                "--disable-3g-source" | ||||||
|  |                                "--disable-cdma-source" | ||||||
|  |                                "--disable-modem-gps-source" | ||||||
|  |                                "--with-dbus-service-user=geoclue") | ||||||
|  |        #:phases | ||||||
|  |        (modify-phases %standard-phases | ||||||
|  |          (add-before 'configure 'patch-/bin/true | ||||||
|  |                      (lambda _ | ||||||
|  |                        (substitute* "configure" | ||||||
|  |                          (("/bin/true") (which "true")))))))) | ||||||
|  |     (native-inputs | ||||||
|  |      `(("pkg-config" ,pkg-config) | ||||||
|  |        ("intltool" ,intltool))) | ||||||
|  |     (inputs | ||||||
|  |      `(("glib" ,glib) | ||||||
|  |        ("json-glib" ,json-glib) | ||||||
|  |        ("libsoup" ,libsoup))) | ||||||
|  |     (home-page "http://freedesktop.org/wiki/Software/GeoClue/") | ||||||
|  |     (synopsis "Geolocation service") | ||||||
|  |     (description "Geoclue is a D-Bus service that provides location | ||||||
|  | information.  The primary goal of the Geoclue project is to make creating | ||||||
|  | location-aware applications as simple as possible, while the secondary goal is | ||||||
|  | to ensure that no application can access location information without explicit | ||||||
|  | permission from user. ") | ||||||
|  |     (license license:gpl2+))) | ||||||
|  | 
 | ||||||
|  | (define-public geocode-glib | ||||||
|  |   (package | ||||||
|  |     (name "geocode-glib") | ||||||
|  |     (version "3.16.0") | ||||||
|  |     (source (origin | ||||||
|  |               (method url-fetch) | ||||||
|  |               (uri (string-append "mirror://gnome/sources/geocode-glib/" | ||||||
|  |                                   (version-major+minor version) "/" | ||||||
|  |                                   name "-" version ".tar.xz")) | ||||||
|  |               (sha256 | ||||||
|  |                (base32 | ||||||
|  |                 "1cbfv0kds6b6k0cl7q47xpj3x1scwcd7m68zl1rf7i4hmhw4hpqj")))) | ||||||
|  |     (build-system gnu-build-system) | ||||||
|  |     (arguments | ||||||
|  |      `(;; The tests want to write to $HOME/.cache/geocode-glib, which doesn't | ||||||
|  |        ;; work for the builder.  Punt. | ||||||
|  |        #:tests? #f | ||||||
|  |        )) | ||||||
|  |     (native-inputs | ||||||
|  |      `(("glib:bin" ,glib "bin") ; for glib-mkenums | ||||||
|  |        ("gobject-introspection" ,gobject-introspection) | ||||||
|  |        ("pkg-config" ,pkg-config) | ||||||
|  |        ("json-glib" ,json-glib))) | ||||||
|  |     (propagated-inputs | ||||||
|  |      ;; geocode-glib-1.0.pc refers to GIO. | ||||||
|  |      `(("glib" ,glib))) | ||||||
|  |     (inputs | ||||||
|  |      `(("libsoup" ,libsoup))) | ||||||
|  |     (home-page "https://github.com/GNOME/geocode-glib/") | ||||||
|  |     (synopsis "Geocoding and reverse-geocoding library") | ||||||
|  |     (description | ||||||
|  |      "geocode-glib is a convenience library for geocoding (finding longitude, | ||||||
|  | and latitude from an address) and reverse geocoding (finding an address from | ||||||
|  | coordinates) using the Nominatim service.  geocode-glib caches requests for | ||||||
|  | faster results and to avoid unnecessary server load.") | ||||||
|  |     (license license:lgpl2.0+))) | ||||||
|  | 
 | ||||||
|  | (define-public upower | ||||||
|  |   (package | ||||||
|  |     (name "upower") | ||||||
|  |     (version "0.99.2") | ||||||
|  |     (source (origin | ||||||
|  |               (method url-fetch) | ||||||
|  |               (uri (string-append "http://upower.freedesktop.org/releases/" | ||||||
|  |                                   name "-" version ".tar.xz")) | ||||||
|  |               (sha256 | ||||||
|  |                (base32 | ||||||
|  |                 "0vwlh20jmaf01m38kfn8yx2869a3clmkzlycrj99rf4nvwx4bp79")) | ||||||
|  |               (patches (list (search-patch "upower-builddir.patch"))))) | ||||||
|  |     (build-system glib-or-gtk-build-system) | ||||||
|  |     (arguments | ||||||
|  |      '( ;; The tests want to contact the system bus, which can't be done in the | ||||||
|  |        ;; build environment.  The integration test can run, but the last of | ||||||
|  |        ;; the up-self-tests doesn't.  Disable tests for now. | ||||||
|  |        #:tests? #f | ||||||
|  |        #:configure-flags (list "--localstatedir=/var" | ||||||
|  |                                (string-append "--with-udevrulesdir=" | ||||||
|  |                                               (assoc-ref %outputs "out") | ||||||
|  |                                               "/lib/udev/rules.d")) | ||||||
|  |        #:phases | ||||||
|  |        (modify-phases %standard-phases | ||||||
|  |          (add-before 'configure 'patch-/bin/true | ||||||
|  |                      (lambda _ | ||||||
|  |                        (substitute* "configure" | ||||||
|  |                          (("/bin/true") (which "true"))))) | ||||||
|  |          (add-before 'configure 'patch-integration-test | ||||||
|  |                      (lambda _ | ||||||
|  |                        (substitute* "src/linux/integration-test" | ||||||
|  |                          (("/usr/bin/python3") (which "python3")))))))) | ||||||
|  |     (native-inputs | ||||||
|  |      `(("pkg-config" ,pkg-config) | ||||||
|  |        ("intltool" ,intltool) | ||||||
|  |        ("python" ,python))) | ||||||
|  |     (inputs | ||||||
|  |      `(("eudev" ,eudev) | ||||||
|  |        ("dbus" ,dbus) | ||||||
|  |        ("dbus-glib" ,dbus-glib) | ||||||
|  |        ("libusb" ,libusb))) | ||||||
|  |     (home-page "http://upower.freedesktop.org/") | ||||||
|  |     (synopsis "System daemon for managing power devices") | ||||||
|  |     (description | ||||||
|  |      "UPower is an abstraction for enumerating power devices, | ||||||
|  | listening to device events and querying history and statistics.  Any | ||||||
|  | application or service on the system can access the org.freedesktop.UPower | ||||||
|  | service via the system message bus.") | ||||||
|  |     (license license:gpl2+))) | ||||||
|  | 
 | ||||||
|  | (define-public libgweather | ||||||
|  |   (package | ||||||
|  |     (name "libgweather") | ||||||
|  |     (version "3.16.0") | ||||||
|  |     (source (origin | ||||||
|  |               (method url-fetch) | ||||||
|  |               (uri (string-append "mirror://gnome/sources/" name "/" | ||||||
|  |                                   (version-major+minor version) "/" | ||||||
|  |                                   name "-" version ".tar.xz")) | ||||||
|  |               (sha256 | ||||||
|  |                (base32 | ||||||
|  |                 "0x1z6wv7hdw2ivlkifcbd940zyrnvqvc4zh2drgvd2r6jmd7bjza")))) | ||||||
|  |     (build-system gnu-build-system) | ||||||
|  |     (arguments | ||||||
|  |      `(;; The tests want to write to $HOME/.cache/geocode-glib, which doesn't | ||||||
|  |        ;; work for the builder.  Punt. | ||||||
|  |        #:tests? #f | ||||||
|  |        #:configure-flags | ||||||
|  |        `(;; No introspection for now, as it wants to install to | ||||||
|  |          ;; gobject-introspection's own directory and I don't know how to easily | ||||||
|  |          ;; override this. | ||||||
|  |          "--enable-introspection=no" | ||||||
|  |          ,(string-append "--with-zoneinfo-dir=" | ||||||
|  |                             (assoc-ref %build-inputs "tzdata") | ||||||
|  |                             "/share/zoneinfo")))) | ||||||
|  |     (native-inputs | ||||||
|  |      `(("glib:bin" ,glib "bin") ; for glib-mkenums | ||||||
|  |        ("pkg-config" ,pkg-config) | ||||||
|  |        ("intltool" ,intltool))) | ||||||
|  |     (propagated-inputs | ||||||
|  |      ;; gweather-3.0.pc refers to GTK+, GDK-Pixbuf, GLib/GObject, libxml, and | ||||||
|  |      ;; libsoup. | ||||||
|  |      `(("gtk+" ,gtk+) | ||||||
|  |        ("gdk-pixbuf" ,gdk-pixbuf) | ||||||
|  |        ("libxml2" ,libxml2) | ||||||
|  |        ("libsoup" ,libsoup))) | ||||||
|  |     (inputs | ||||||
|  |      `(("tzdata" ,tzdata) | ||||||
|  |        ("geocode-glib" ,geocode-glib))) | ||||||
|  |     (home-page "https://wiki.gnome.org/action/show/Projects/LibGWeather") | ||||||
|  |     (synopsis "Location, time zone, and weather library for GNOME") | ||||||
|  |     (description | ||||||
|  |      "libgweather is a library to access weather information from online | ||||||
|  | services for numerous locations.") | ||||||
|  |     (license license:gpl2+))) | ||||||
|  | 
 | ||||||
|  | (define-public gnome-settings-daemon | ||||||
|  |   (package | ||||||
|  |     (name "gnome-settings-daemon") | ||||||
|  |     (version "3.16.0") | ||||||
|  |     (source | ||||||
|  |      (origin | ||||||
|  |        (method url-fetch) | ||||||
|  |        (uri (string-append "mirror://gnome/sources/" name "/" | ||||||
|  |                            (version-major+minor version) "/" | ||||||
|  |                            name "-" version ".tar.xz")) | ||||||
|  |        (sha256 | ||||||
|  |         (base32 | ||||||
|  |          "1w29x2izq59125ga5ncmmaklc8kw7x7rdn6swn26bs23mah1r1g3")))) | ||||||
|  |     (build-system glib-or-gtk-build-system) | ||||||
|  |     (arguments | ||||||
|  |      `(;; Network manager not yet packaged. | ||||||
|  |        #:configure-flags '("--disable-network-manager") | ||||||
|  |        ;; Color management test can't reach the colord system service. | ||||||
|  |        #:tests? #f)) | ||||||
|  |     (native-inputs | ||||||
|  |      `(("pkg-config" ,pkg-config) | ||||||
|  |        ("intltool" ,intltool) | ||||||
|  |        ("xsltproc" ,libxslt) | ||||||
|  |        ("libxml2" ,libxml2)                       ;for XML_CATALOG_FILES | ||||||
|  |        ("docbook-xml" ,docbook-xml-4.2) | ||||||
|  |        ("docbook-xsl" ,docbook-xsl))) | ||||||
|  |     (inputs | ||||||
|  |      `(("colord" ,colord) | ||||||
|  |        ("eudev" ,eudev) | ||||||
|  |        ("upower" ,upower) | ||||||
|  |        ("polkit" ,polkit) | ||||||
|  |        ("pulseaudio" ,pulseaudio) | ||||||
|  |        ("libcanberra" ,libcanberra) | ||||||
|  |        ("libx11" ,libx11) | ||||||
|  |        ("libxtst" ,libxtst) | ||||||
|  |        ("lcms" ,lcms) | ||||||
|  |        ("libnotify" ,libnotify) | ||||||
|  |        ("geoclue" ,geoclue) | ||||||
|  |        ("geocode-glib" ,geocode-glib) | ||||||
|  |        ("libgweather" ,libgweather) | ||||||
|  |        ("gnome-desktop" ,gnome-desktop) | ||||||
|  |        ("nss" ,nss) | ||||||
|  |        ("cups" ,cups) | ||||||
|  |        ("gsettings-desktop-schemas" ,gsettings-desktop-schemas) | ||||||
|  |        ("libwacom" ,libwacom) | ||||||
|  |        ("librsvg" ,librsvg) | ||||||
|  |        ("xf86-input-wacom" ,xf86-input-wacom))) | ||||||
|  |     (home-page "http://www.gnome.org") | ||||||
|  |     (synopsis "GNOME settings daemon") | ||||||
|  |     (description | ||||||
|  |      "This package contains the daemon responsible for setting the various | ||||||
|  | parameters of a GNOME session and the applications that run under it.  It | ||||||
|  | handles settings such keyboard layout, shortcuts, and accessibility, clipboard | ||||||
|  | settings, themes, mouse settings, and startup of other daemons.") | ||||||
|  |     (license license:gpl2+))) | ||||||
|  | 
 | ||||||
|  | (define-public totem-pl-parser | ||||||
|  |  (package | ||||||
|  |    (name "totem-pl-parser") | ||||||
|  |    (version "3.10.5") | ||||||
|  |    (source (origin | ||||||
|  |             (method url-fetch) | ||||||
|  |             (uri (string-append "mirror://gnome/sources/totem-pl-parser/3.10/" | ||||||
|  |                                 "totem-pl-parser-" version ".tar.xz")) | ||||||
|  |             (sha256 | ||||||
|  |              (base32 | ||||||
|  |               "0dw1kiwmjwdjrighri0j9nagsnj44dllm0mamnfh4y5nc47mhim7")))) | ||||||
|  |    (build-system gnu-build-system) | ||||||
|  |    (arguments | ||||||
|  |     ;; FIXME: Tests require gvfs. | ||||||
|  |     `(#:tests? #f)) | ||||||
|  |    (native-inputs | ||||||
|  |     `(("intltool" ,intltool) | ||||||
|  |       ("glib" ,glib "bin") | ||||||
|  |       ("pkg-config" ,pkg-config))) | ||||||
|  |    (inputs | ||||||
|  |     `(("glib" ,glib) | ||||||
|  |       ("gmime" ,gmime) | ||||||
|  |       ("libarchive" ,libarchive) | ||||||
|  |       ("libgcrypt" ,libgcrypt) | ||||||
|  |       ("nettle" ,nettle) | ||||||
|  |       ("libsoup" ,libsoup) | ||||||
|  |       ("libxml2" ,libxml2))) | ||||||
|  |    (home-page "https://projects.gnome.org/totem") | ||||||
|  |    (synopsis "Library to parse and save media playlists for GNOME") | ||||||
|  |    (description "Totem-pl-parser is a GObjects-based library to parse and save | ||||||
|  | playlists in a variety of formats.") | ||||||
|  |    (license license:lgpl2.0+))) | ||||||
|  | 
 | ||||||
|  | (define-public aisleriot | ||||||
|  |   (package | ||||||
|  |     (name "aisleriot") | ||||||
|  |     (version "3.16.1") | ||||||
|  |     (source (origin | ||||||
|  |               (method url-fetch) | ||||||
|  |               (uri (string-append "mirror://gnome/sources/" name "/" | ||||||
|  |                                   (version-major+minor version) "/" | ||||||
|  |                                   name "-" version ".tar.xz")) | ||||||
|  |               (sha256 | ||||||
|  |                (base32 | ||||||
|  |                 "19k483x9dkq8vjbq8f333pk9qil64clpsfg20q8xk9bgmk38aj8h")))) | ||||||
|  |     (build-system glib-or-gtk-build-system) | ||||||
|  |     (arguments | ||||||
|  |      '(#:configure-flags | ||||||
|  |        '("--with-platform=gtk-only" | ||||||
|  |          "--with-card-theme-formats=svg"))) | ||||||
|  |     (native-inputs | ||||||
|  |      `(("desktop-file-utils" ,desktop-file-utils) | ||||||
|  |        ("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc. | ||||||
|  |        ("intltool" ,intltool) | ||||||
|  |        ("itstool" ,itstool) | ||||||
|  |        ("pkg-config" ,pkg-config) | ||||||
|  |        ("xmllint" ,libxml2))) | ||||||
|  |     (inputs | ||||||
|  |      `(("gtk+" ,gtk+) | ||||||
|  |        ("guile" ,guile-2.0) | ||||||
|  |        ("libcanberra" ,libcanberra) | ||||||
|  |        ("librsvg" ,librsvg))) | ||||||
|  |     (home-page "https://wiki.gnome.org/Apps/Aisleriot") | ||||||
|  |     (synopsis "Solitaire card games") | ||||||
|  |     (description | ||||||
|  |      "Aisleriot (also known as Solitaire or sol) is a collection of card games | ||||||
|  | which are easy to play with the aid of a mouse.") | ||||||
|  |     (license license:gpl3+))) | ||||||
|  |  | ||||||
							
								
								
									
										72
									
								
								gnu/packages/gnucash.scm
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										72
									
								
								gnu/packages/gnucash.scm
									
										
									
									
									
										Normal 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+))) | ||||||
|  | @ -112,14 +112,14 @@ tool to extract metadata from a file and print the results.") | ||||||
| (define-public libmicrohttpd | (define-public libmicrohttpd | ||||||
|   (package |   (package | ||||||
|    (name "libmicrohttpd") |    (name "libmicrohttpd") | ||||||
|    (version "0.9.39") |    (version "0.9.40") | ||||||
|    (source (origin |    (source (origin | ||||||
|             (method url-fetch) |             (method url-fetch) | ||||||
|             (uri (string-append "mirror://gnu/libmicrohttpd/libmicrohttpd-" |             (uri (string-append "mirror://gnu/libmicrohttpd/libmicrohttpd-" | ||||||
|                                 version ".tar.gz")) |                                 version ".tar.gz")) | ||||||
|             (sha256 |             (sha256 | ||||||
|              (base32 |              (base32 | ||||||
|               "0wz3sw62z3wsqivrssh0xb3yn064ix5x5cc6prvdfrn3cmh7p4sg")))) |               "19mpqwjb3g4bsh1rzcvmka380kmg7sz5dwfr5cwdh2k9m134sga0")))) | ||||||
|    (build-system gnu-build-system) |    (build-system gnu-build-system) | ||||||
|    (inputs |    (inputs | ||||||
|     `(("curl" ,curl) |     `(("curl" ,curl) | ||||||
|  |  | ||||||
|  | @ -190,14 +190,14 @@ compatible to GNU Pth.") | ||||||
| (define-public gnupg | (define-public gnupg | ||||||
|   (package |   (package | ||||||
|     (name "gnupg") |     (name "gnupg") | ||||||
|     (version "2.1.2") |     (version "2.1.4") | ||||||
|     (source (origin |     (source (origin | ||||||
|               (method url-fetch) |               (method url-fetch) | ||||||
|               (uri (string-append "mirror://gnupg/gnupg/gnupg-" version |               (uri (string-append "mirror://gnupg/gnupg/gnupg-" version | ||||||
|                                   ".tar.bz2")) |                                   ".tar.bz2")) | ||||||
|               (sha256 |               (sha256 | ||||||
|                (base32 |                (base32 | ||||||
|                 "14k7c5spai3yppz6izf1ggbnffskl54ln87v1wgy9pwism1mlks0")))) |                 "1c3c89b7ziknz6h1dnwmfjhgyy28g982rcncrhmhylb8v3npw4k4")))) | ||||||
|     (build-system gnu-build-system) |     (build-system gnu-build-system) | ||||||
|     (inputs |     (inputs | ||||||
|      `(("bzip2" ,bzip2) |      `(("bzip2" ,bzip2) | ||||||
|  | @ -286,7 +286,7 @@ libskba (working with X.509 certificates and CMS data).") | ||||||
| (define-public gpgme | (define-public gpgme | ||||||
|   (package |   (package | ||||||
|     (name "gpgme") |     (name "gpgme") | ||||||
|     (version "1.5.3") |     (version "1.5.4") | ||||||
|     (source |     (source | ||||||
|      (origin |      (origin | ||||||
|       (method url-fetch) |       (method url-fetch) | ||||||
|  | @ -294,13 +294,13 @@ libskba (working with X.509 certificates and CMS data).") | ||||||
|                           ".tar.bz2")) |                           ".tar.bz2")) | ||||||
|       (sha256 |       (sha256 | ||||||
|        (base32 |        (base32 | ||||||
|         "1jgwmra6cf0i5x2prj92w77vl7hmj276qmmll3lwysbyn32l1c0d")))) |         "0v7azxazsfakvhrxzj5ysvcxma0892c89d27c17fkj8mi3nc0f5v")))) | ||||||
|     (build-system gnu-build-system) |     (build-system gnu-build-system) | ||||||
|     (propagated-inputs |     (propagated-inputs | ||||||
|      ;; Needs to be propagated because gpgme.h includes gpg-error.h. |      ;; Needs to be propagated because gpgme.h includes gpg-error.h. | ||||||
|      `(("libgpg-error" ,libgpg-error))) |      `(("libgpg-error" ,libgpg-error))) | ||||||
|     (inputs |     (inputs | ||||||
|      `(("gnupg" ,gnupg) |      `(("gnupg" ,gnupg-2.0) | ||||||
|        ("libassuan" ,libassuan))) |        ("libassuan" ,libassuan))) | ||||||
|     (arguments '(#:make-flags '("GPG=gpg2"))) |     (arguments '(#:make-flags '("GPG=gpg2"))) | ||||||
|     (home-page "http://www.gnupg.org/related_software/gpgme/") |     (home-page "http://www.gnupg.org/related_software/gpgme/") | ||||||
|  |  | ||||||
|  | @ -29,6 +29,7 @@ | ||||||
|   #:use-module (gnu packages) |   #:use-module (gnu packages) | ||||||
|   #:use-module (gnu packages guile) |   #:use-module (gnu packages guile) | ||||||
|   #:use-module (gnu packages libffi) |   #:use-module (gnu packages libffi) | ||||||
|  |   #:use-module (gnu packages libidn) | ||||||
|   #:use-module (gnu packages nettle) |   #:use-module (gnu packages nettle) | ||||||
|   #:use-module (gnu packages perl) |   #:use-module (gnu packages perl) | ||||||
|   #:use-module (gnu packages pkg-config) |   #:use-module (gnu packages pkg-config) | ||||||
|  | @ -38,7 +39,7 @@ | ||||||
| (define-public libtasn1 | (define-public libtasn1 | ||||||
|   (package |   (package | ||||||
|     (name "libtasn1") |     (name "libtasn1") | ||||||
|     (version "4.2") |     (version "4.5") | ||||||
|     (source |     (source | ||||||
|      (origin |      (origin | ||||||
|       (method url-fetch) |       (method url-fetch) | ||||||
|  | @ -46,7 +47,7 @@ | ||||||
|                           version ".tar.gz")) |                           version ".tar.gz")) | ||||||
|       (sha256 |       (sha256 | ||||||
|        (base32 |        (base32 | ||||||
|         "1fydwh5hlnmprdzmzn4kiqb939br59qv1001k7ah5b626v5l2fv9")))) |         "1nhvnznhg2aqfrfjxc8v008hjlzkh5831jsfahqk89qrw7fbbcw9")))) | ||||||
|     (build-system gnu-build-system) |     (build-system gnu-build-system) | ||||||
|     (native-inputs `(("perl" ,perl) |     (native-inputs `(("perl" ,perl) | ||||||
| 
 | 
 | ||||||
|  | @ -65,7 +66,7 @@ specifications.") | ||||||
| (define-public p11-kit | (define-public p11-kit | ||||||
|   (package |   (package | ||||||
|     (name "p11-kit") |     (name "p11-kit") | ||||||
|     (version "0.22.1") |     (version "0.23.1") | ||||||
|     (source |     (source | ||||||
|      (origin |      (origin | ||||||
|       (method url-fetch) |       (method url-fetch) | ||||||
|  | @ -73,7 +74,7 @@ specifications.") | ||||||
|                           version ".tar.gz")) |                           version ".tar.gz")) | ||||||
|       (sha256 |       (sha256 | ||||||
|        (base32 |        (base32 | ||||||
|         "0p4sadq2c70jdm7b5a5xw8mk2mqy36krpxr3ihnf783arygk6fpg")) |         "1i3a1wdpagm0p3y1bwaz5x5rjhcpqbcrnhkcp10p259vkxk72wz5")) | ||||||
|       (modules '((guix build utils))) ; for substitute* |       (modules '((guix build utils))) ; for substitute* | ||||||
|       (snippet |       (snippet | ||||||
|         '(begin |         '(begin | ||||||
|  | @ -103,7 +104,7 @@ living in the same process.") | ||||||
| (define-public gnutls | (define-public gnutls | ||||||
|   (package |   (package | ||||||
|     (name "gnutls") |     (name "gnutls") | ||||||
|     (version "3.3.12") |     (version "3.4.0") | ||||||
|     (source (origin |     (source (origin | ||||||
|              (method url-fetch) |              (method url-fetch) | ||||||
|              (uri |              (uri | ||||||
|  | @ -114,7 +115,9 @@ living in the same process.") | ||||||
|                              "/gnutls-" version ".tar.xz")) |                              "/gnutls-" version ".tar.xz")) | ||||||
|              (sha256 |              (sha256 | ||||||
|               (base32 |               (base32 | ||||||
|                "16r96bzsfqx1rlqrkggmhhx6zbxj1fmc3mwpp0ik73ylqn93xav7")))) |                "0bj7ydvsyvml59b6040wg7694iz37rwnqnv09bic9ddz652588ml")) | ||||||
|  |              (patches | ||||||
|  |               (list (search-patch "gnutls-fix-duplicate-manpages.patch"))))) | ||||||
|     (build-system gnu-build-system) |     (build-system gnu-build-system) | ||||||
|     (arguments |     (arguments | ||||||
|      '(#:configure-flags |      '(#:configure-flags | ||||||
|  | @ -130,7 +133,12 @@ living in the same process.") | ||||||
|              ;; store is used, so each program has to provide its own |              ;; store is used, so each program has to provide its own | ||||||
|              ;; fallback, and users have to configure each program |              ;; fallback, and users have to configure each program | ||||||
|              ;; independently.  This seems suboptimal. |              ;; 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 |     (native-inputs | ||||||
|      `(("pkg-config" ,pkg-config) |      `(("pkg-config" ,pkg-config) | ||||||
|        ("which" ,which))) |        ("which" ,which))) | ||||||
|  | @ -140,6 +148,7 @@ living in the same process.") | ||||||
|     (propagated-inputs |     (propagated-inputs | ||||||
|      ;; These are all in the 'Requires.private' field of gnutls.pc. |      ;; These are all in the 'Requires.private' field of gnutls.pc. | ||||||
|      `(("libtasn1" ,libtasn1) |      `(("libtasn1" ,libtasn1) | ||||||
|  |        ("libidn" ,libidn) | ||||||
|        ("nettle" ,nettle) |        ("nettle" ,nettle) | ||||||
|        ("zlib" ,zlib))) |        ("zlib" ,zlib))) | ||||||
|     (home-page "http://www.gnu.org/software/gnutls/") |     (home-page "http://www.gnu.org/software/gnutls/") | ||||||
|  |  | ||||||
|  | @ -1,6 +1,6 @@ | ||||||
| ;;; GNU Guix --- Functional package management for GNU | ;;; GNU Guix --- Functional package management for GNU | ||||||
| ;;; Copyright © 2013, 2015 Andreas Enge <andreas@enge.fr> | ;;; 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 © 2014, 2015 Mark H Weaver <mhw@netris.org> | ||||||
| ;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com> | ;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com> | ||||||
| ;;; | ;;; | ||||||
|  | @ -20,6 +20,7 @@ | ||||||
| ;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>. | ;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>. | ||||||
| 
 | 
 | ||||||
| (define-module (gnu packages gnuzilla) | (define-module (gnu packages gnuzilla) | ||||||
|  |   #:use-module ((srfi srfi-1) #:hide (zip)) | ||||||
|   #:use-module (gnu packages) |   #:use-module (gnu packages) | ||||||
|   #:use-module ((guix licenses) #:prefix license:) |   #:use-module ((guix licenses) #:prefix license:) | ||||||
|   #:use-module (guix packages) |   #:use-module (guix packages) | ||||||
|  | @ -102,15 +103,16 @@ in C/C++.") | ||||||
|     (native-inputs |     (native-inputs | ||||||
|       `(("perl", perl))) |       `(("perl", perl))) | ||||||
|     (arguments |     (arguments | ||||||
|       `(#:tests? #f ; no check target |      `(#:tests? #f ; no check target | ||||||
|         #:configure-flags |        #:configure-flags (list "--enable-64bit" | ||||||
|         `("--enable-64bit") |                                (string-append "LDFLAGS=-Wl,-rpath=" | ||||||
|         #:phases |                                               (assoc-ref %outputs "out") | ||||||
|           (alist-cons-before |                                               "/lib")) | ||||||
|            'configure 'chdir |        #:phases (alist-cons-before | ||||||
|            (lambda _ |                  'configure 'chdir | ||||||
|              (chdir "nspr")) |                  (lambda _ | ||||||
|             %standard-phases))) |                    (chdir "nspr")) | ||||||
|  |                  %standard-phases))) | ||||||
|     (home-page |     (home-page | ||||||
|      "https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSPR") |      "https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSPR") | ||||||
|     (synopsis "Netscape API for system level and libc-like functions") |     (synopsis "Netscape API for system level and libc-like functions") | ||||||
|  | @ -122,15 +124,18 @@ in the Mozilla clients.") | ||||||
| (define-public nss | (define-public nss | ||||||
|   (package |   (package | ||||||
|     (name "nss") |     (name "nss") | ||||||
|     (version "3.17.4") |     (version "3.18") | ||||||
|     (source (origin |     (source (origin | ||||||
|               (method url-fetch) |               (method url-fetch) | ||||||
|               (uri (string-append |               (uri (let ((version-with-underscores | ||||||
|                     "ftp://ftp.mozilla.org/pub/mozilla.org/security/nss/" |                           (string-join (string-split version #\.) "_"))) | ||||||
|                     "releases/NSS_3_17_4_RTM/src/nss-3.17.4.tar.gz")) |                      (string-append | ||||||
|  |                       "ftp://ftp.mozilla.org/pub/mozilla.org/security/nss/" | ||||||
|  |                       "releases/NSS_" version-with-underscores "_RTM/src/" | ||||||
|  |                       "nss-" version ".tar.gz"))) | ||||||
|               (sha256 |               (sha256 | ||||||
|                (base32 |                (base32 | ||||||
|                 "0ycxzybgn4bq0i6j5zjdjl70n3s8a742yixyik4pw8x4h4cav60x")) |                 "0h0xy9kvd2s8r438q4dfn25cgvv5dc1hkm9lb4bgrxpr5bxv13b1")) | ||||||
|               ;; Create nss.pc and nss-config. |               ;; Create nss.pc and nss-config. | ||||||
|               (patches (list (search-patch "nss-pkgconfig.patch"))))) |               (patches (list (search-patch "nss-pkgconfig.patch"))))) | ||||||
|     (build-system gnu-build-system) |     (build-system gnu-build-system) | ||||||
|  | @ -153,8 +158,6 @@ in the Mozilla clients.") | ||||||
|                   (ice-9 ftw) |                   (ice-9 ftw) | ||||||
|                   (ice-9 match) |                   (ice-9 match) | ||||||
|                   (srfi srfi-26)) |                   (srfi srfi-26)) | ||||||
|        #:imported-modules ((guix build gnu-build-system) |  | ||||||
|                            (guix build utils)) |  | ||||||
|        #:phases |        #:phases | ||||||
|        (alist-replace |        (alist-replace | ||||||
|         'configure |         'configure | ||||||
|  | @ -216,15 +219,27 @@ standards.") | ||||||
| (define-public icecat | (define-public icecat | ||||||
|   (package |   (package | ||||||
|     (name "icecat") |     (name "icecat") | ||||||
|     (version "31.5.0") |     (version "31.6.0-gnu1") | ||||||
|     (source |     (source | ||||||
|      (origin |      (origin | ||||||
|       (method url-fetch) |       (method url-fetch) | ||||||
|       (uri (string-append "mirror://gnu/gnuzilla/" |       (uri (string-append "mirror://gnu/gnuzilla/" | ||||||
|                           version "/" name "-" version ".tar.bz2")) |                           (first (string-split version #\-)) "/" | ||||||
|  |                           name "-" version ".tar.bz2")) | ||||||
|       (sha256 |       (sha256 | ||||||
|        (base32 |        (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) |     (build-system gnu-build-system) | ||||||
|     (inputs |     (inputs | ||||||
|      `(("alsa-lib" ,alsa-lib) |      `(("alsa-lib" ,alsa-lib) | ||||||
|  | @ -249,6 +264,7 @@ standards.") | ||||||
|        ("mesa" ,mesa) |        ("mesa" ,mesa) | ||||||
|        ("nspr" ,nspr) |        ("nspr" ,nspr) | ||||||
|        ("nss" ,nss) |        ("nss" ,nss) | ||||||
|  |        ("sqlite" ,sqlite) | ||||||
|        ("unzip" ,unzip) |        ("unzip" ,unzip) | ||||||
|        ("yasm" ,yasm) |        ("yasm" ,yasm) | ||||||
|        ("zip" ,zip) |        ("zip" ,zip) | ||||||
|  | @ -262,6 +278,13 @@ standards.") | ||||||
|      `(#:tests? #f          ; no check target |      `(#:tests? #f          ; no check target | ||||||
|        #:out-of-source? #t  ; must be built outside of the source directory |        #: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 |        #:configure-flags '(;; Building with debugging symbols takes ~5GiB, so | ||||||
|                            ;; disable it. |                            ;; disable it. | ||||||
|                            "--disable-debug" |                            "--disable-debug" | ||||||
|  | @ -280,11 +303,7 @@ standards.") | ||||||
|                            "--enable-system-pixman" |                            "--enable-system-pixman" | ||||||
|                            "--enable-system-cairo" |                            "--enable-system-cairo" | ||||||
|                            "--enable-system-ffi" |                            "--enable-system-ffi" | ||||||
| 
 |                            "--enable-system-sqlite" | ||||||
|                            ;; Fails with "configure: error: System |  | ||||||
|                            ;; SQLite library is not compiled with |  | ||||||
|                            ;; SQLITE_ENABLE_UNLOCK_NOTIFY." |  | ||||||
|                            ;; "--enable-system-sqlite" |  | ||||||
| 
 | 
 | ||||||
|                            ;; Fails with "--with-system-png won't work because |                            ;; Fails with "--with-system-png won't work because | ||||||
|                            ;; the system's libpng doesn't have APNG support". |                            ;; the system's libpng doesn't have APNG support". | ||||||
|  |  | ||||||
|  | @ -1,5 +1,6 @@ | ||||||
| ;;; GNU Guix --- Functional package management for GNU | ;;; GNU Guix --- Functional package management for GNU | ||||||
| ;;; Copyright © 2015 Ludovic Courtès <ludo@gnu.org> | ;;; Copyright © 2015 Ludovic Courtès <ludo@gnu.org> | ||||||
|  | ;;; Copyright © 2015 Tomáš Čech <sleep_walker@gnu.org> | ||||||
| ;;; | ;;; | ||||||
| ;;; This file is part of GNU Guix. | ;;; This file is part of GNU Guix. | ||||||
| ;;; | ;;; | ||||||
|  | @ -180,14 +181,14 @@ output.") | ||||||
|     (build-system gnu-build-system) |     (build-system gnu-build-system) | ||||||
|     (arguments |     (arguments | ||||||
|      `(#:phases (modify-phases %standard-phases |      `(#:phases (modify-phases %standard-phases | ||||||
|                   (replace configure |                   (replace 'configure | ||||||
|                            (lambda* (#:key outputs #:allow-other-keys) |                            (lambda* (#:key outputs #:allow-other-keys) | ||||||
|                              (let ((out (assoc-ref outputs "out"))) |                              (let ((out (assoc-ref outputs "out"))) | ||||||
|                                (chdir "trunk") |                                (chdir "trunk") | ||||||
|                                (zero? (system* "qmake" |                                (zero? (system* "qmake" | ||||||
|                                                (string-append |                                                (string-append | ||||||
|                                                 "prefix=" out)))))) |                                                 "prefix=" out)))))) | ||||||
|                   (add-after install wrap-program |                   (add-after 'install 'wrap-program | ||||||
|                              (lambda* (#:key outputs #:allow-other-keys) |                              (lambda* (#:key outputs #:allow-other-keys) | ||||||
|                                (let* ((out (assoc-ref outputs "out")) |                                (let* ((out (assoc-ref outputs "out")) | ||||||
|                                       (bin (string-append out "/bin")) |                                       (bin (string-append out "/bin")) | ||||||
|  |  | ||||||
|  | @ -20,25 +20,30 @@ | ||||||
| ;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>. | ;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>. | ||||||
| 
 | 
 | ||||||
| (define-module (gnu packages gstreamer) | (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 packages) | ||||||
|   #:use-module (guix download) |   #:use-module (guix download) | ||||||
|   #:use-module (guix build-system gnu) |   #:use-module (guix build-system gnu) | ||||||
|   #:use-module (gnu packages) |   #:use-module (gnu packages) | ||||||
|  |   #:use-module (gnu packages audio) | ||||||
|   #:use-module (gnu packages bison) |   #:use-module (gnu packages bison) | ||||||
|   #:use-module (gnu packages cdrom) |   #:use-module (gnu packages cdrom) | ||||||
|   #:use-module (gnu packages compression) |   #:use-module (gnu packages compression) | ||||||
|   #:use-module (gnu packages flex) |   #:use-module (gnu packages flex) | ||||||
|   #:use-module (gnu packages glib) |   #:use-module (gnu packages glib) | ||||||
|  |   #:use-module (gnu packages gnome) | ||||||
|   #:use-module (gnu packages gtk) |   #:use-module (gnu packages gtk) | ||||||
|   #:use-module (gnu packages image) |   #:use-module (gnu packages image) | ||||||
|   #:use-module (gnu packages linux) |   #:use-module (gnu packages linux) | ||||||
|  |   #:use-module (gnu packages mp3) | ||||||
|   #:use-module (gnu packages perl) |   #:use-module (gnu packages perl) | ||||||
|   #:use-module (gnu packages pulseaudio) |   #:use-module (gnu packages pulseaudio) | ||||||
|  |   #:use-module (gnu packages video) | ||||||
|   #:use-module (gnu packages xorg) |   #:use-module (gnu packages xorg) | ||||||
|   #:use-module (gnu packages xiph) |   #:use-module (gnu packages xiph) | ||||||
|   #:use-module (gnu packages pkg-config) |   #:use-module (gnu packages pkg-config) | ||||||
|   #:use-module (gnu packages python) |   #:use-module (gnu packages python) | ||||||
|  |   #:use-module (gnu packages yasm) | ||||||
|   #:use-module (gnu packages xml)) |   #:use-module (gnu packages xml)) | ||||||
| 
 | 
 | ||||||
| (define-public orc | (define-public orc | ||||||
|  | @ -88,11 +93,19 @@ arrays of data.") | ||||||
|        (base32 |        (base32 | ||||||
|         "1bmhbhak6i5wmmb6w86jyyv8lax4gdq983la4lk4a0krz6kim020")))) |         "1bmhbhak6i5wmmb6w86jyyv8lax4gdq983la4lk4a0krz6kim020")))) | ||||||
|     (build-system gnu-build-system) |     (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. |     (propagated-inputs `(("glib" ,glib))) ; required by gstreamer-1.0.pc. | ||||||
|     (native-inputs |     (native-inputs | ||||||
|      `(("bison" ,bison) |      `(("bison" ,bison) | ||||||
|        ("flex" ,flex) |        ("flex" ,flex) | ||||||
|        ("glib" ,glib "bin") |        ("glib" ,glib "bin") | ||||||
|  |        ("gobject-introspection" ,gobject-introspection) | ||||||
|        ("perl" ,perl) |        ("perl" ,perl) | ||||||
|        ("pkg-config" ,pkg-config) |        ("pkg-config" ,pkg-config) | ||||||
|        ("python-wrapper" ,python-wrapper))) |        ("python-wrapper" ,python-wrapper))) | ||||||
|  | @ -111,32 +124,6 @@ simple plugin with a clean, generic interface. | ||||||
| This package provides the core library and elements.") | This package provides the core library and elements.") | ||||||
|     (license lgpl2.0+))) |     (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 | (define-public gst-plugins-base | ||||||
|   (package |   (package | ||||||
|     (name "gst-plugins-base") |     (name "gst-plugins-base") | ||||||
|  | @ -150,6 +137,9 @@ This package provides the core library and elements.") | ||||||
|        (base32 |        (base32 | ||||||
|         "07ampnfa6p41s0lhia62l9h8bdx3c7vxvdz93pbx64m3wycq3gbp")))) |         "07ampnfa6p41s0lhia62l9h8bdx3c7vxvdz93pbx64m3wycq3gbp")))) | ||||||
|     (build-system gnu-build-system) |     (build-system gnu-build-system) | ||||||
|  |     (outputs '("out" "doc")) | ||||||
|  |     (propagated-inputs | ||||||
|  |      `(("gstreamer" ,gstreamer))) ; required by gstreamer-plugins-base-1.0.pc | ||||||
|     (inputs |     (inputs | ||||||
|      `(("cdparanoia" ,cdparanoia) |      `(("cdparanoia" ,cdparanoia) | ||||||
|        ("orc" ,orc) |        ("orc" ,orc) | ||||||
|  | @ -161,20 +151,30 @@ This package provides the core library and elements.") | ||||||
|        ("zlib" ,zlib) |        ("zlib" ,zlib) | ||||||
|        ("libXext" ,libxext) |        ("libXext" ,libxext) | ||||||
|        ("libxv" ,libxv) |        ("libxv" ,libxv) | ||||||
|        ("alsa-lib" ,alsa-lib) |        ("alsa-lib" ,alsa-lib))) | ||||||
|        ("gstreamer" ,gstreamer))) |  | ||||||
|     (native-inputs |     (native-inputs | ||||||
|       `(("pkg-config" ,pkg-config) |       `(("pkg-config" ,pkg-config) | ||||||
|         ("glib" ,glib "bin") |         ("glib" ,glib "bin") | ||||||
|  |         ("gobject-introspection" ,gobject-introspection) | ||||||
|         ("python-wrapper" ,python-wrapper))) |         ("python-wrapper" ,python-wrapper))) | ||||||
|     (arguments |     (arguments | ||||||
|      '(#:phases |      `(#:configure-flags | ||||||
|  |        (list (string-append "--with-html-dir=" | ||||||
|  |                             (assoc-ref %outputs "doc") | ||||||
|  |                             "/share/gtk-doc/html")) | ||||||
|  |        #:phases | ||||||
|        (alist-cons-before |        (alist-cons-before | ||||||
|         'configure 'patch-test-pb-utils |         'configure 'patch | ||||||
|         (lambda _ |         (lambda _ | ||||||
|           (substitute* "tests/check/libs/pbutils.c" |           (substitute* "tests/check/libs/pbutils.c" | ||||||
|             (("/bin/sh") (which "sh")))) |             (("/bin/sh") (which "sh"))) | ||||||
|  |           ;; for g-ir-scanner. | ||||||
|  |           (setenv "CC" "gcc")) | ||||||
|         %standard-phases))) |         %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/") |     (home-page "http://gstreamer.freedesktop.org/") | ||||||
|     (synopsis |     (synopsis | ||||||
|      "Plugins for the GStreamer multimedia library") |      "Plugins for the GStreamer multimedia library") | ||||||
|  | @ -198,30 +198,30 @@ for the GStreamer multimedia library.") | ||||||
|         "0hg6qzdpib9nwn3hdxv0d4rvivi1c4bmxsq2a9hqmamwyzrvbcbr")))) |         "0hg6qzdpib9nwn3hdxv0d4rvivi1c4bmxsq2a9hqmamwyzrvbcbr")))) | ||||||
|     (build-system gnu-build-system) |     (build-system gnu-build-system) | ||||||
|     (inputs |     (inputs | ||||||
|      `(("glib" ,glib) |      `(("aalib" ,aalib) | ||||||
|        ("cairo" ,cairo) |        ("cairo" ,cairo) | ||||||
|        ("gdk-pixbuf" ,gdk-pixbuf) |  | ||||||
|        ("flac" ,flac) |        ("flac" ,flac) | ||||||
|        ("speex" ,speex) |        ("gdk-pixbuf" ,gdk-pixbuf) | ||||||
|        ("libogg" ,libogg) ;; should be a propagated input of the above |        ("gst-plugins-base" ,gst-plugins-base) | ||||||
|        ("libx11" ,libx11) |        ("jack" ,jack-2) | ||||||
|        ("zlib" ,zlib) |        ("libavc1394" ,libavc1394) | ||||||
|        ("libpng" ,libpng) |        ("libcaca" ,libcaca) | ||||||
|  |        ("libdv" ,libdv) | ||||||
|  |        ("libiec61883" ,libiec61883) | ||||||
|        ("libjpeg" ,libjpeg) |        ("libjpeg" ,libjpeg) | ||||||
|        ("libXext" ,libxext) |        ("libpng" ,libpng) | ||||||
|        ("libxv" ,libxv) |        ("libshout" ,libshout) | ||||||
|  |        ("libsoup" ,libsoup) | ||||||
|  |        ("libvpx" ,libvpx) | ||||||
|  |        ("orc" ,orc) | ||||||
|        ("pulseaudio" ,pulseaudio) |        ("pulseaudio" ,pulseaudio) | ||||||
|        ("gstreamer" ,gstreamer))) |        ("speex" ,speex) | ||||||
|  |        ("taglib" ,taglib) | ||||||
|  |        ("wavpack" ,wavpack))) | ||||||
|     (native-inputs |     (native-inputs | ||||||
|       `(("pkg-config" ,pkg-config) |      `(("glib:bin" ,glib "bin") | ||||||
|         ("glib" ,glib "bin") |        ("pkg-config" ,pkg-config) | ||||||
|         ("gst-plugins-base" ,gst-plugins-base) |        ("python-wrapper" ,python-wrapper))) | ||||||
|         ("python-wrapper" ,python-wrapper))) |  | ||||||
|    (arguments |  | ||||||
|     `(#:configure-flags (list "--disable-osx_audio"  |  | ||||||
|                               "--disable-osx_video" |  | ||||||
|                               "--disable-directsound" |  | ||||||
|                               "--disable-waveform"))) |  | ||||||
|     (home-page "http://gstreamer.freedesktop.org/") |     (home-page "http://gstreamer.freedesktop.org/") | ||||||
|     (synopsis |     (synopsis | ||||||
|      "Plugins for the GStreamer multimedia library") |      "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.") | developers consider to have good quality code and correct functionality.") | ||||||
|     (license lgpl2.0+))) |     (license lgpl2.0+))) | ||||||
| 
 | 
 | ||||||
| (define-public gst-plugins-base-0.10 | (define-public gst-libav | ||||||
|   (package (inherit gst-plugins-base) |   (package | ||||||
|     (version "0.10.36") |     (name "gst-libav") | ||||||
|     (source |     (version "1.4.5") | ||||||
|      (origin |     (source (origin | ||||||
|       (method url-fetch) |               (method url-fetch) | ||||||
|       (uri (string-append  |               (uri (string-append | ||||||
|             "http://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-" |                     "http://gstreamer.freedesktop.org/src/" name "/" | ||||||
|             version ".tar.xz")) |                     name "-" version ".tar.xz")) | ||||||
|       (sha256 |               (sha256 | ||||||
|        (base32 |                (base32 | ||||||
|         "0jp6hjlra98cnkal4n6bdmr577q8mcyp3c08s3a02c4hjhw5rr0z")))) |                 "1g7vg9amh3cc3nmc415h6g2rqxqi4wgwqi08hxfbpwq48ri64p30")))) | ||||||
|     (inputs |     (build-system gnu-build-system) | ||||||
|      `(("glib" ,glib) |     (arguments | ||||||
|        ("gstreamer" ,gstreamer-0.10))) |      '(#: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 |     (native-inputs | ||||||
|       `(("pkg-config" ,pkg-config) |      `(("pkg-config" ,pkg-config) | ||||||
|         ("glib" ,glib "bin") |        ("python" ,python))) | ||||||
|         ("python" ,python-2))))) |     (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+))) | ||||||
|  |  | ||||||
|  | @ -5,6 +5,7 @@ | ||||||
| ;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org> | ;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org> | ||||||
| ;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch> | ;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch> | ||||||
| ;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org> | ;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org> | ||||||
|  | ;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com> | ||||||
| ;;; | ;;; | ||||||
| ;;; This file is part of GNU Guix. | ;;; This file is part of GNU Guix. | ||||||
| ;;; | ;;; | ||||||
|  | @ -29,11 +30,13 @@ | ||||||
|   #:use-module (guix build-system gnu) |   #:use-module (guix build-system gnu) | ||||||
|   #:use-module (guix build-system python) |   #:use-module (guix build-system python) | ||||||
|   #:use-module (guix build-system waf) |   #:use-module (guix build-system waf) | ||||||
|  |   #:use-module (gnu packages) | ||||||
|   #:use-module (gnu packages check) |   #:use-module (gnu packages check) | ||||||
|   #:use-module (gnu packages gettext) |   #:use-module (gnu packages gettext) | ||||||
|   #:use-module (gnu packages compression) |   #:use-module (gnu packages compression) | ||||||
|   #:use-module (gnu packages fontutils) |   #:use-module (gnu packages fontutils) | ||||||
|   #:use-module (gnu packages ghostscript) |   #:use-module (gnu packages ghostscript) | ||||||
|  |   #:use-module (gnu packages gl) | ||||||
|   #:use-module (gnu packages glib) |   #:use-module (gnu packages glib) | ||||||
|   #:use-module (gnu packages gnome) |   #:use-module (gnu packages gnome) | ||||||
|   #:use-module (gnu packages icu4c) |   #:use-module (gnu packages icu4c) | ||||||
|  | @ -51,7 +54,7 @@ | ||||||
| (define-public atk | (define-public atk | ||||||
|   (package |   (package | ||||||
|    (name "atk") |    (name "atk") | ||||||
|    (version "2.15.3") |    (version "2.16.0") | ||||||
|    (source (origin |    (source (origin | ||||||
|             (method url-fetch) |             (method url-fetch) | ||||||
|             (uri (string-append "mirror://gnome/sources/" name "/" |             (uri (string-append "mirror://gnome/sources/" name "/" | ||||||
|  | @ -59,9 +62,15 @@ | ||||||
|                                 name "-" version ".tar.xz")) |                                 name "-" version ".tar.xz")) | ||||||
|             (sha256 |             (sha256 | ||||||
|              (base32 |              (base32 | ||||||
|               "177a9x6lz2im0mfgxv2crv0l740wy7rg5vlnb8wyyf4fmnh0q19f")))) ; 2.15.3 |               "0qp5i91kfk6rhrlam3s8ha0cz88lkyp89vsyn4pb5856c1h9hpq9")))) | ||||||
|    (build-system gnu-build-system) |    (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 |    (native-inputs | ||||||
|     `(("pkg-config" ,pkg-config) |     `(("pkg-config" ,pkg-config) | ||||||
|       ("glib" ,glib "bin")                               ; glib-mkenums, etc. |       ("glib" ,glib "bin")                               ; glib-mkenums, etc. | ||||||
|  | @ -77,14 +86,14 @@ tools have full access to view and control running applications.") | ||||||
| (define-public cairo | (define-public cairo | ||||||
|   (package |   (package | ||||||
|    (name "cairo") |    (name "cairo") | ||||||
|    (version "1.12.18") |    (version "1.14.2") | ||||||
|    (source (origin |    (source (origin | ||||||
|             (method url-fetch) |             (method url-fetch) | ||||||
|             (uri (string-append "http://cairographics.org/releases/cairo-" |             (uri (string-append "http://cairographics.org/releases/cairo-" | ||||||
|                                 version ".tar.xz")) |                                 version ".tar.xz")) | ||||||
|             (sha256 |             (sha256 | ||||||
|              (base32 |              (base32 | ||||||
|               "1dpmlxmmigpiyv0jchjsn2l1a29655x24g5073hy8p4lmjvz0nfw")))) |               "1sycbq0agbwmg1bj9lhkgsf0glmblaf2jrdy9g6vxfxivncxj6f9")))) | ||||||
|    (build-system gnu-build-system) |    (build-system gnu-build-system) | ||||||
|    (propagated-inputs |    (propagated-inputs | ||||||
|     `(("fontconfig" ,fontconfig) |     `(("fontconfig" ,fontconfig) | ||||||
|  | @ -221,13 +230,21 @@ functions which were removed.") | ||||||
|     (source (origin |     (source (origin | ||||||
|               (method url-fetch) |               (method url-fetch) | ||||||
|               (uri (string-append "http://download.drobilla.net/ganv-" |               (uri (string-append "http://download.drobilla.net/ganv-" | ||||||
|                                   version |                                   version ".tar.bz2")) | ||||||
|                                   ".tar.bz2")) |  | ||||||
|               (sha256 |               (sha256 | ||||||
|                (base32 |                (base32 | ||||||
|                 "0g7s5mp14qgbfjdql0k1s8464r21g47ssn5dws6jazsnw6njhl0l")))) |                 "0g7s5mp14qgbfjdql0k1s8464r21g47ssn5dws6jazsnw6njhl0l")))) | ||||||
|     (build-system waf-build-system) |     (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 |     (inputs | ||||||
|      `(("gtk" ,gtk+-2) |      `(("gtk" ,gtk+-2) | ||||||
|        ("gtkmm" ,gtkmm-2))) |        ("gtkmm" ,gtkmm-2))) | ||||||
|  | @ -332,7 +349,7 @@ in the GNOME project.") | ||||||
| (define-public at-spi2-core | (define-public at-spi2-core | ||||||
|   (package |   (package | ||||||
|    (name "at-spi2-core") |    (name "at-spi2-core") | ||||||
|    (version "2.10.0") |    (version "2.16.0") | ||||||
|    (source (origin |    (source (origin | ||||||
|             (method url-fetch) |             (method url-fetch) | ||||||
|             (uri (string-append "mirror://gnome/sources/" name "/" |             (uri (string-append "mirror://gnome/sources/" name "/" | ||||||
|  | @ -340,18 +357,31 @@ in the GNOME project.") | ||||||
|                                 name "-" version ".tar.xz")) |                                 name "-" version ".tar.xz")) | ||||||
|             (sha256 |             (sha256 | ||||||
|              (base32 |              (base32 | ||||||
|               "1ns44yibdgcwzwri7sr075hfs5rh5lgxkh71247a0822az3mahcn")))) |               "1l3l39mw23zyjlcqidvkyqlr4gwbhplzw2hcv3qvn6p8ikxpf2qw")))) | ||||||
|    (build-system gnu-build-system) |    (build-system gnu-build-system) | ||||||
|    (inputs `(("dbus" ,dbus) |    (outputs '("out" "doc")) | ||||||
|              ("glib" ,glib) |  | ||||||
|              ("libxi" ,libxi) |  | ||||||
|              ("libxtst" ,libxtst))) |  | ||||||
|    (native-inputs |  | ||||||
|      `(("intltool" ,intltool) |  | ||||||
|        ("pkg-config" ,pkg-config))) |  | ||||||
|    (arguments |    (arguments | ||||||
|     `(#:tests? #f)) ; FIXME: dbind/dbtest fails; one should disable tests in |     '(#:configure-flags | ||||||
|                     ; a more fine-grained way. |       (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") |    (synopsis "Assistive Technology Service Provider Interface, core components") | ||||||
|    (description |    (description | ||||||
|     "The Assistive Technology Service Provider Interface, core components, |     "The Assistive Technology Service Provider Interface, core components, | ||||||
|  | @ -362,7 +392,7 @@ is part of the GNOME accessibility project.") | ||||||
| (define-public at-spi2-atk | (define-public at-spi2-atk | ||||||
|   (package |   (package | ||||||
|    (name "at-spi2-atk") |    (name "at-spi2-atk") | ||||||
|    (version "2.10.0") |    (version "2.16.0") | ||||||
|    (source (origin |    (source (origin | ||||||
|             (method url-fetch) |             (method url-fetch) | ||||||
|             (uri (string-append "mirror://gnome/sources/" name "/" |             (uri (string-append "mirror://gnome/sources/" name "/" | ||||||
|  | @ -370,17 +400,22 @@ is part of the GNOME accessibility project.") | ||||||
|                                 name "-" version ".tar.xz")) |                                 name "-" version ".tar.xz")) | ||||||
|             (sha256 |             (sha256 | ||||||
|              (base32 |              (base32 | ||||||
|               "150sqc21difazqd53llwfdaqnwfy73bic9hia41xpfy9kcpzz9yy")))) |               "1y9gfz1iz3wpja7s000f0bmyyvc6im5fcdl6bxwbz0v3qdgc9vvq")))) | ||||||
|    (build-system gnu-build-system) |    (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 |    (arguments | ||||||
|     `(#:tests? #f)) ; FIXME: droute/droute-test fails; one should disable |     '(#:phases | ||||||
|                     ; tests in a more fine-grained way. |       (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") |    (synopsis "Assistive Technology Service Provider Interface, ATK bindings") | ||||||
|    (description |    (description | ||||||
|     "The Assistive Technology Service Provider Interface |     "The Assistive Technology Service Provider Interface | ||||||
|  | @ -391,7 +426,7 @@ is part of the GNOME accessibility project.") | ||||||
| (define-public gtk+-2 | (define-public gtk+-2 | ||||||
|   (package |   (package | ||||||
|    (name "gtk+") |    (name "gtk+") | ||||||
|    (version "2.24.21") |    (version "2.24.27") | ||||||
|    (source (origin |    (source (origin | ||||||
|             (method url-fetch) |             (method url-fetch) | ||||||
|             (uri (string-append "mirror://gnome/sources/" name "/" |             (uri (string-append "mirror://gnome/sources/" name "/" | ||||||
|  | @ -399,20 +434,34 @@ is part of the GNOME accessibility project.") | ||||||
|                                 name "-" version ".tar.xz")) |                                 name "-" version ".tar.xz")) | ||||||
|             (sha256 |             (sha256 | ||||||
|              (base32 |              (base32 | ||||||
|               "1qyw73pr9ryqhir2h1kbx3vm70km4dg2fxrgkrdlpv0rvlb94bih")))) |               "1x14rnjvqslpa1q19fp1qalz5sxds72amsgjk8m7769rwk511jr0")))) | ||||||
|    (build-system gnu-build-system) |    (build-system gnu-build-system) | ||||||
|  |    (outputs '("out" "doc")) | ||||||
|    (propagated-inputs |    (propagated-inputs | ||||||
|     `(("atk" ,atk) |     `(("atk" ,atk) | ||||||
|       ("gdk-pixbuf" ,gdk-pixbuf) |       ("gdk-pixbuf" ,gdk-pixbuf) | ||||||
|       ("pango" ,pango))) |       ("pango" ,pango))) | ||||||
|  |    (inputs | ||||||
|  |     `(("cups" ,cups) | ||||||
|  |       ("libxcomposite" ,libxcomposite) | ||||||
|  |       ("libxcursor" ,libxcursor) | ||||||
|  |       ("libxdamage" ,libxdamage) | ||||||
|  |       ("libxi" ,libxi) | ||||||
|  |       ("libxinerama" ,libxinerama) | ||||||
|  |       ("libxrandr" ,libxrandr))) | ||||||
|    (native-inputs |    (native-inputs | ||||||
|     `(("perl" ,perl) |     `(("perl" ,perl) | ||||||
|  |       ("gettext" ,gnu-gettext) | ||||||
|       ("glib" ,glib "bin") |       ("glib" ,glib "bin") | ||||||
|       ("gobject-introspection" ,gobject-introspection) |       ("gobject-introspection" ,gobject-introspection) | ||||||
|       ("pkg-config" ,pkg-config) |       ("pkg-config" ,pkg-config) | ||||||
|       ("python-wrapper" ,python-wrapper))) |       ("python-wrapper" ,python-wrapper))) | ||||||
|    (arguments |    (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 |       #:phases | ||||||
|       (alist-cons-before |       (alist-cons-before | ||||||
|        'configure 'disable-tests |        'configure 'disable-tests | ||||||
|  | @ -433,7 +482,7 @@ application suites.") | ||||||
| (define-public gtk+ | (define-public gtk+ | ||||||
|   (package (inherit gtk+-2) |   (package (inherit gtk+-2) | ||||||
|    (name "gtk+") |    (name "gtk+") | ||||||
|    (version "3.14.7") |    (version "3.16.2") | ||||||
|    (source (origin |    (source (origin | ||||||
|             (method url-fetch) |             (method url-fetch) | ||||||
|             (uri (string-append "mirror://gnome/sources/" name "/" |             (uri (string-append "mirror://gnome/sources/" name "/" | ||||||
|  | @ -441,11 +490,12 @@ application suites.") | ||||||
|                                 name "-" version ".tar.xz")) |                                 name "-" version ".tar.xz")) | ||||||
|             (sha256 |             (sha256 | ||||||
|              (base32 |              (base32 | ||||||
|               "0vm40n6nf0w3vv54wqy67jcxddka7hplksi093xim3119yq196gv")))) |               "1yhwg2l72l3khfkprydcjlpxjrg11ccqfc80sjl56llz3jk66fd0")))) | ||||||
|    (propagated-inputs |    (propagated-inputs | ||||||
|     `(("at-spi2-atk" ,at-spi2-atk) |     `(("at-spi2-atk" ,at-spi2-atk) | ||||||
|       ("atk" ,atk) |       ("atk" ,atk) | ||||||
|       ("gdk-pixbuf" ,gdk-pixbuf) |       ("gdk-pixbuf" ,gdk-pixbuf) | ||||||
|  |       ("libepoxy" ,libepoxy) | ||||||
|       ("libxi" ,libxi) |       ("libxi" ,libxi) | ||||||
|       ("libxinerama" ,libxinerama) |       ("libxinerama" ,libxinerama) | ||||||
|       ("libxdamage" ,libxdamage) |       ("libxdamage" ,libxdamage) | ||||||
|  | @ -456,25 +506,33 @@ application suites.") | ||||||
|    (native-inputs |    (native-inputs | ||||||
|     `(("perl" ,perl) |     `(("perl" ,perl) | ||||||
|       ("glib" ,glib "bin") |       ("glib" ,glib "bin") | ||||||
|  |       ("gettext" ,gnu-gettext) | ||||||
|       ("pkg-config" ,pkg-config) |       ("pkg-config" ,pkg-config) | ||||||
|       ("gobject-introspection" ,gobject-introspection) |       ("gobject-introspection" ,gobject-introspection) | ||||||
|       ("python-wrapper" ,python-wrapper) |       ("python-wrapper" ,python-wrapper) | ||||||
|       ("xorg-server" ,xorg-server))) |       ("xorg-server" ,xorg-server))) | ||||||
|    (arguments |    (arguments | ||||||
|     `(#:phases |     `(;; 47 MiB goes to "out" (24 of which is locale data!), and 26 MiB goes | ||||||
|       (alist-replace |       ;; to "doc". | ||||||
|        'configure |       #:configure-flags (list (string-append "--with-html-dir=" | ||||||
|        (lambda* (#:key inputs #:allow-other-keys #:rest args) |                                              (assoc-ref %outputs "doc") | ||||||
|          (let ((configure (assoc-ref %standard-phases 'configure))) |                                              "/share/gtk-doc/html")) | ||||||
|            ;; Disable most tests, failing in the chroot with the message: |       #:phases | ||||||
|            ;; D-Bus library appears to be incorrectly set up; failed to read |       (alist-cons-before | ||||||
|            ;; machine uuid: Failed to open "/etc/machine-id": No such file or |        'configure 'pre-configure | ||||||
|            ;; directory. |        (lambda _ | ||||||
|            ;; See the manual page for dbus-uuidgen to correct this issue. |          ;; Disable most tests, failing in the chroot with the message: | ||||||
|            (substitute* "testsuite/Makefile.in" |          ;; D-Bus library appears to be incorrectly set up; failed to read | ||||||
|              (("SUBDIRS = gdk gtk a11y css reftests") |          ;; machine uuid: Failed to open "/etc/machine-id": No such file or | ||||||
|               "SUBDIRS = gdk")) |          ;; directory. | ||||||
|            (apply configure args))) |          ;; 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))))) |        %standard-phases))))) | ||||||
| 
 | 
 | ||||||
| ;;; | ;;; | ||||||
|  | @ -574,7 +632,7 @@ library.") | ||||||
| (define-public pangomm | (define-public pangomm | ||||||
|   (package |   (package | ||||||
|     (name "pangomm") |     (name "pangomm") | ||||||
|     (version "2.34.0") |     (version "2.36.0") | ||||||
|     (source (origin |     (source (origin | ||||||
|              (method url-fetch) |              (method url-fetch) | ||||||
|              (uri (string-append "mirror://gnome/sources/" name "/" |              (uri (string-append "mirror://gnome/sources/" name "/" | ||||||
|  | @ -582,7 +640,7 @@ library.") | ||||||
|                                  name "-" version ".tar.xz")) |                                  name "-" version ".tar.xz")) | ||||||
|              (sha256 |              (sha256 | ||||||
|               (base32 |               (base32 | ||||||
|                "0hcyvv7c5zmivprdam6cp111i6hn2y5jsxzk00m6j9pncbzvp0hf")))) |                "1w11d05nkxglzg67rfa81vqghm75xhy6j396xmmp5mq8qx96knd8")))) | ||||||
|     (build-system gnu-build-system) |     (build-system gnu-build-system) | ||||||
|     (native-inputs `(("pkg-config" ,pkg-config))) |     (native-inputs `(("pkg-config" ,pkg-config))) | ||||||
|     (propagated-inputs |     (propagated-inputs | ||||||
|  | @ -623,7 +681,7 @@ toolkit.") | ||||||
| (define-public gtkmm | (define-public gtkmm | ||||||
|   (package |   (package | ||||||
|     (name "gtkmm") |     (name "gtkmm") | ||||||
|     (version "3.14.0") |     (version "3.16.0") | ||||||
|     (source (origin |     (source (origin | ||||||
|              (method url-fetch) |              (method url-fetch) | ||||||
|              (uri (string-append "mirror://gnome/sources/" name "/" |              (uri (string-append "mirror://gnome/sources/" name "/" | ||||||
|  | @ -631,7 +689,7 @@ toolkit.") | ||||||
|                                  name "-" version ".tar.xz")) |                                  name "-" version ".tar.xz")) | ||||||
|              (sha256 |              (sha256 | ||||||
|               (base32 |               (base32 | ||||||
|                "12z4g2in82nk92nfjs2hmrdcwbav8v3laz1813x2dhkf5jk2ixfr")))) |                "036xn22jkaf3akpid7w23b8vkqa3xxqz93mwacmyar5vw7slm3cv")))) | ||||||
|     (build-system gnu-build-system) |     (build-system gnu-build-system) | ||||||
|     (native-inputs `(("pkg-config" ,pkg-config))) |     (native-inputs `(("pkg-config" ,pkg-config))) | ||||||
|     (propagated-inputs |     (propagated-inputs | ||||||
|  | @ -655,7 +713,7 @@ extensive documentation, including API reference and a tutorial.") | ||||||
| (define-public gtkmm-2 | (define-public gtkmm-2 | ||||||
|   (package (inherit gtkmm) |   (package (inherit gtkmm) | ||||||
|     (name "gtkmm") |     (name "gtkmm") | ||||||
|     (version "2.24.2") |     (version "2.24.4") | ||||||
|     (source (origin |     (source (origin | ||||||
|              (method url-fetch) |              (method url-fetch) | ||||||
|              (uri (string-append "mirror://gnome/sources/" name "/" |              (uri (string-append "mirror://gnome/sources/" name "/" | ||||||
|  | @ -663,7 +721,7 @@ extensive documentation, including API reference and a tutorial.") | ||||||
|                                  name "-" version ".tar.xz")) |                                  name "-" version ".tar.xz")) | ||||||
|              (sha256 |              (sha256 | ||||||
|               (base32 |               (base32 | ||||||
|                "0gcm91sc1a05c56kzh74l370ggj0zz8nmmjvjaaxgmhdq8lpl369")))) |                "1vpmjqv0aqb1ds0xi6nigxnhlr0c74090xzi15b92amlzkrjyfj4")))) | ||||||
|     (propagated-inputs |     (propagated-inputs | ||||||
|      `(("pangomm" ,pangomm) |      `(("pangomm" ,pangomm) | ||||||
|        ("cairomm" ,cairomm) |        ("cairomm" ,cairomm) | ||||||
|  | @ -682,29 +740,23 @@ extensive documentation, including API reference and a tutorial.") | ||||||
|                           version ".tar.bz2")) |                           version ".tar.bz2")) | ||||||
|       (sha256 |       (sha256 | ||||||
|        (base32 |        (base32 | ||||||
|         "1gjkf8x6hyx1skq3hhwcbvwifxvrf9qxis5vx8x5igmmgs70g94s")))) |         "1gjkf8x6hyx1skq3hhwcbvwifxvrf9qxis5vx8x5igmmgs70g94s")) | ||||||
|     (build-system python-build-system) |       (patches (list (search-patch "pycairo-wscript.patch"))))) | ||||||
|  |     (build-system waf-build-system) | ||||||
|     (native-inputs |     (native-inputs | ||||||
|      `(("pkg-config" ,pkg-config))) |      `(("pkg-config" ,pkg-config) | ||||||
|  |        ("python-waf" ,python-waf))) | ||||||
|     (propagated-inputs                  ;pycairo.pc references cairo |     (propagated-inputs                  ;pycairo.pc references cairo | ||||||
|      `(("cairo" ,cairo))) |      `(("cairo" ,cairo))) | ||||||
|     (arguments |     (arguments | ||||||
|      `(#:tests? #f |      `(#:tests? #f | ||||||
|        #:phases (alist-cons-before |        #:phases | ||||||
|                  'build 'configure |        (modify-phases %standard-phases | ||||||
|                  (lambda* (#:key outputs #:allow-other-keys) |          (add-before | ||||||
|                    (zero? (system* "./waf" "configure" |           'configure 'patch-waf | ||||||
|                                    (string-append "--prefix=" |           (lambda* (#:key inputs #:allow-other-keys) | ||||||
|                                                   (assoc-ref outputs "out"))))) |             ;; The bundled `waf' doesn't work with python-3.4.x. | ||||||
|                  (alist-replace |             (copy-file (assoc-ref %build-inputs "python-waf") "./waf")))))) | ||||||
|                   'build |  | ||||||
|                   (lambda _ |  | ||||||
|                     (zero? (system* "./waf" "build"))) |  | ||||||
|                   (alist-replace |  | ||||||
|                    'install |  | ||||||
|                    (lambda _ |  | ||||||
|                      (zero? (system* "./waf" "install"))) |  | ||||||
|                    %standard-phases))))) |  | ||||||
|     (home-page "http://cairographics.org/pycairo/") |     (home-page "http://cairographics.org/pycairo/") | ||||||
|     (synopsis "Python bindings for cairo") |     (synopsis "Python bindings for cairo") | ||||||
|     (description |     (description | ||||||
|  | @ -725,7 +777,11 @@ extensive documentation, including API reference and a tutorial.") | ||||||
|         "0cblk919wh6w0pgb45zf48xwxykfif16qk264yga7h9fdkq3j16k")))) |         "0cblk919wh6w0pgb45zf48xwxykfif16qk264yga7h9fdkq3j16k")))) | ||||||
|     (arguments |     (arguments | ||||||
|      `(#:python ,python-2 |      `(#: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 |     ;; Dual-licensed under LGPL 2.1 or Mozilla Public License 1.1 | ||||||
|     (license (list license:lgpl2.1 license:mpl1.1)))) |     (license (list license:lgpl2.1 license:mpl1.1)))) | ||||||
| 
 | 
 | ||||||
|  | @ -788,7 +844,7 @@ write GNOME applications.") | ||||||
| (define-public girara | (define-public girara | ||||||
|   (package |   (package | ||||||
|     (name "girara") |     (name "girara") | ||||||
|     (version "0.2.3") |     (version "0.2.4") | ||||||
|     (source (origin |     (source (origin | ||||||
|               (method url-fetch) |               (method url-fetch) | ||||||
|               (uri |               (uri | ||||||
|  | @ -796,7 +852,7 @@ write GNOME applications.") | ||||||
|                               version ".tar.gz")) |                               version ".tar.gz")) | ||||||
|               (sha256 |               (sha256 | ||||||
|                (base32 |                (base32 | ||||||
|                 "1phfmqp8y17zcy9yi6pm2f80x8ldbk60iswpm4bmjz5217jwqzxh")))) |                 "0pnfdsg435b5vc4x8l9pgm77aj7ram1q0bzrp9g4a3bh1r64xq1f")))) | ||||||
|     (native-inputs `(("pkg-config" ,pkg-config) |     (native-inputs `(("pkg-config" ,pkg-config) | ||||||
|                      ("gettext" ,gnu-gettext))) |                      ("gettext" ,gnu-gettext))) | ||||||
|     (inputs `(("gtk+" ,gtk+) |     (inputs `(("gtk+" ,gtk+) | ||||||
|  |  | ||||||
|  | @ -1,6 +1,7 @@ | ||||||
| ;;; GNU Guix --- Functional package management for GNU | ;;; GNU Guix --- Functional package management for GNU | ||||||
| ;;; Copyright © 2012, 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org> | ;;; Copyright © 2012, 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org> | ||||||
| ;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.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. | ;;; This file is part of GNU Guix. | ||||||
| ;;; | ;;; | ||||||
|  | @ -26,6 +27,7 @@ | ||||||
|   #:use-module (gnu packages gperf) |   #:use-module (gnu packages gperf) | ||||||
|   #:use-module (gnu packages libffi) |   #:use-module (gnu packages libffi) | ||||||
|   #:use-module (gnu packages autotools) |   #:use-module (gnu packages autotools) | ||||||
|  |   #:use-module (gnu packages flex) | ||||||
|   #:use-module (gnu packages libunistring) |   #:use-module (gnu packages libunistring) | ||||||
|   #:use-module (gnu packages m4) |   #:use-module (gnu packages m4) | ||||||
|   #:use-module (gnu packages multiprecision) |   #:use-module (gnu packages multiprecision) | ||||||
|  | @ -34,9 +36,13 @@ | ||||||
|   #:use-module (gnu packages ncurses) |   #:use-module (gnu packages ncurses) | ||||||
|   #:use-module (gnu packages ed) |   #:use-module (gnu packages ed) | ||||||
|   #:use-module (gnu packages base) |   #:use-module (gnu packages base) | ||||||
|  |   #:use-module (gnu packages texinfo) | ||||||
|  |   #:use-module (gnu packages gettext) | ||||||
|   #:use-module (guix packages) |   #:use-module (guix packages) | ||||||
|   #:use-module (guix download) |   #:use-module (guix download) | ||||||
|  |   #:use-module (guix git-download) | ||||||
|   #:use-module (guix build-system gnu) |   #:use-module (guix build-system gnu) | ||||||
|  |   #:use-module (guix build-system trivial) | ||||||
|   #:use-module (guix utils) |   #:use-module (guix utils) | ||||||
|   #:use-module (ice-9 match)) |   #: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. |   ;; in the `base' module, and thus changing it entails a full rebuild. | ||||||
|   guile-2.0) |   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. | ;;; Extensions. | ||||||
|  | @ -358,4 +400,79 @@ http:://json.org specification.  These are the main features: | ||||||
| - Allows JSON pretty printing.") | - Allows JSON pretty printing.") | ||||||
|     (license lgpl3+))) |     (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 | ;;; guile.scm ends here | ||||||
|  |  | ||||||
|  | @ -18,12 +18,14 @@ | ||||||
| 
 | 
 | ||||||
| (define-module (gnu packages haskell) | (define-module (gnu packages haskell) | ||||||
|   #:use-module (ice-9 regex) |   #:use-module (ice-9 regex) | ||||||
|   #:use-module (guix licenses) |   #:use-module ((guix licenses) #:select (bsd-3)) | ||||||
|   #:use-module (guix packages) |   #:use-module (guix packages) | ||||||
|   #:use-module (guix download) |   #:use-module (guix download) | ||||||
|   #:use-module (guix utils) |   #:use-module (guix utils) | ||||||
|   #:use-module (guix build-system gnu) |   #:use-module (guix build-system gnu) | ||||||
|  |   #:use-module (guix build-system haskell) | ||||||
|   #:use-module (gnu packages perl) |   #:use-module (gnu packages perl) | ||||||
|  |   #:use-module (gnu packages compression) | ||||||
|   #:use-module (gnu packages elf) |   #:use-module (gnu packages elf) | ||||||
|   #:use-module (gnu packages bootstrap) |   #:use-module (gnu packages bootstrap) | ||||||
|   #:use-module (gnu packages ghostscript) |   #:use-module (gnu packages ghostscript) | ||||||
|  | @ -33,22 +35,23 @@ | ||||||
|   #:use-module (gnu packages ncurses) |   #:use-module (gnu packages ncurses) | ||||||
|   #:use-module (gnu packages python)) |   #:use-module (gnu packages python)) | ||||||
| 
 | 
 | ||||||
| ;; We use bootstrap binaries with a fix version which can be used to build | (define ghc-bootstrap-x86_64-7.8.4 | ||||||
| ;; more versions of the GHC compiler. |  | ||||||
| (define ghc-bootstrap-7.8.4 |  | ||||||
|   (origin |   (origin | ||||||
|     (method url-fetch) |     (method url-fetch) | ||||||
|     (uri (string-append "https://www.haskell.org/ghc/dist/" |     (uri | ||||||
|                         "7.8.4/ghc-7.8.4-" |      "https://www.haskell.org/ghc/dist/7.8.4/ghc-7.8.4-x86_64-unknown-linux-deb7.tar.xz") | ||||||
|                         (if (string-match "x86_64" (%current-system)) |  | ||||||
|                             "x86_64" |  | ||||||
|                             "i386") |  | ||||||
|                         "-unknown-linux-deb7.tar.xz")) |  | ||||||
|     (sha256 |     (sha256 | ||||||
|      (base32 |      (base32 | ||||||
|       (if (string-match "x86_64" (%current-system)) |       "13azsl53xgj20mi1hj9x0xb32vvcvs6cpmvwx6znxhas7blh0bpn")))) | ||||||
|           "13azsl53xgj20mi1hj9x0xb32vvcvs6cpmvwx6znxhas7blh0bpn" | 
 | ||||||
|           "0wj5s435j0zgww70bj1d3f6wvnnpzlxwvwcyh2qv4qjq5z8j64kg"))))) | (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. | ;; 43 tests out of 3965 fail. | ||||||
| ;; | ;; | ||||||
|  | @ -99,19 +102,26 @@ | ||||||
|        ("ghostscript" ,ghostscript)        ; for tests |        ("ghostscript" ,ghostscript)        ; for tests | ||||||
|        ("patchelf" ,patchelf) |        ("patchelf" ,patchelf) | ||||||
|        ;; GHC is built with GHC. Therefore we need bootstrap binaries. |        ;; 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 |     (arguments | ||||||
|      `(#:test-target "test" |      `(#:test-target "test" | ||||||
|        ;; We get a smaller number of test failures by disabling parallel test |        ;; We get a smaller number of test failures by disabling parallel test | ||||||
|        ;; execution. |        ;; execution. | ||||||
|        #:parallel-tests? #f |        #: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) |        #:modules ((guix build gnu-build-system) | ||||||
|                   (guix build utils) |                   (guix build utils) | ||||||
|                   (guix build rpath) |                   (guix build rpath) | ||||||
|                   (srfi srfi-26) |                   (srfi srfi-26) | ||||||
|                   (srfi srfi-1)) |                   (srfi srfi-1)) | ||||||
|        #:imported-modules ((guix build gnu-build-system) |        #:imported-modules (,@%gnu-build-system-modules | ||||||
|                            (guix build utils) |  | ||||||
|                            (guix build rpath)) |                            (guix build rpath)) | ||||||
|        #:configure-flags |        #:configure-flags | ||||||
|        (list |        (list | ||||||
|  | @ -221,4 +231,647 @@ | ||||||
| interactive environment for the functional language Haskell.") | interactive environment for the functional language Haskell.") | ||||||
|     (license bsd-3))) |     (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 | ;;; haskell.scm ends here | ||||||
|  |  | ||||||
|  | @ -1,5 +1,5 @@ | ||||||
| ;;; GNU Guix --- Functional package management for GNU | ;;; 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. | ;;; This file is part of GNU Guix. | ||||||
| ;;; | ;;; | ||||||
|  | @ -29,7 +29,7 @@ | ||||||
| (define-public gnumach-headers | (define-public gnumach-headers | ||||||
|   (package |   (package | ||||||
|     (name "gnumach-headers") |     (name "gnumach-headers") | ||||||
|     (version "1.4") |     (version "1.5") | ||||||
|     (source |     (source | ||||||
|      (origin |      (origin | ||||||
|       (method url-fetch) |       (method url-fetch) | ||||||
|  | @ -37,7 +37,7 @@ | ||||||
|                           version ".tar.gz")) |                           version ".tar.gz")) | ||||||
|       (sha256 |       (sha256 | ||||||
|        (base32 |        (base32 | ||||||
|         "0r371wsm7imx356p0xsls5hifb1gf9y90rm1phr0qkahbmfk9hlv")))) |         "0wsf57q4h6xl2jn28d423qx7zplmhpnf9ssm4f1c0sf8513xm81j")))) | ||||||
|     (build-system gnu-build-system) |     (build-system gnu-build-system) | ||||||
|     (arguments |     (arguments | ||||||
|     `(#:phases (alist-replace |     `(#:phases (alist-replace | ||||||
|  | @ -63,7 +63,7 @@ | ||||||
| (define-public mig | (define-public mig | ||||||
|   (package |   (package | ||||||
|     (name "mig") |     (name "mig") | ||||||
|     (version "1.4") |     (version "1.5") | ||||||
|     (source |     (source | ||||||
|      (origin |      (origin | ||||||
|       (method url-fetch) |       (method url-fetch) | ||||||
|  | @ -71,7 +71,7 @@ | ||||||
|                           version ".tar.gz")) |                           version ".tar.gz")) | ||||||
|       (sha256 |       (sha256 | ||||||
|        (base32 |        (base32 | ||||||
|         "1jgzggnbp22sa8z5dilm43zy12vlf1pjxfb3kh13xrfhcay0l97b")))) |         "13r1pg8icyc0pl082z7k36i440pr1f3nr7ahig3rrc0r7qndqmk9")))) | ||||||
|     (build-system gnu-build-system) |     (build-system gnu-build-system) | ||||||
|     (inputs `(("gnumach-headers" ,gnumach-headers))) |     (inputs `(("gnumach-headers" ,gnumach-headers))) | ||||||
|     (native-inputs |     (native-inputs | ||||||
|  | @ -92,14 +92,14 @@ communication.") | ||||||
| (define-public hurd-headers | (define-public hurd-headers | ||||||
|   (package |   (package | ||||||
|     (name "hurd-headers") |     (name "hurd-headers") | ||||||
|     (version "0.5") |     (version "0.6") | ||||||
|     (source (origin |     (source (origin | ||||||
|               (method url-fetch) |               (method url-fetch) | ||||||
|               (uri (string-append "mirror://gnu/hurd/hurd-" |               (uri (string-append "mirror://gnu/hurd/hurd-" | ||||||
|                                   version ".tar.gz")) |                                   version ".tar.gz")) | ||||||
|               (sha256 |               (sha256 | ||||||
|                (base32 |                (base32 | ||||||
|                 "0lvkz3r0ngb4bsn2hzdc9vjpyrfa3ls36jivrvy1n7f7f55zan7q")))) |                 "059lbspbpcjpcq5jf98f47jw9sm0ngs3x6phxax53m3rwca1fk7y")))) | ||||||
|     (build-system gnu-build-system) |     (build-system gnu-build-system) | ||||||
|     (native-inputs |     (native-inputs | ||||||
|      `(;; Autoconf shouldn't be necessary but there seems to be a bug in the |      `(;; Autoconf shouldn't be necessary but there seems to be a bug in the | ||||||
|  |  | ||||||
							
								
								
									
										92
									
								
								gnu/packages/ibus.scm
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										92
									
								
								gnu/packages/ibus.scm
									
										
									
									
									
										Normal 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+))) | ||||||
|  | @ -28,7 +28,7 @@ | ||||||
| (define-public icu4c | (define-public icu4c | ||||||
|   (package |   (package | ||||||
|    (name "icu4c") |    (name "icu4c") | ||||||
|    (version "54.1") |    (version "55.1") | ||||||
|    (source (origin |    (source (origin | ||||||
|             (method url-fetch) |             (method url-fetch) | ||||||
|             (uri (string-append "http://download.icu-project.org/files/icu4c/" |             (uri (string-append "http://download.icu-project.org/files/icu4c/" | ||||||
|  | @ -37,7 +37,7 @@ | ||||||
|                    (string-map (lambda (x) (if (char=? x #\.) #\_ x)) version) |                    (string-map (lambda (x) (if (char=? x #\.) #\_ x)) version) | ||||||
|                    "-src.tgz")) |                    "-src.tgz")) | ||||||
|             (sha256 |             (sha256 | ||||||
|              (base32 "1cwapgjmvrcv1n2wjspj3vahidg596gjfp4jn1gcb4baralcjayl")))) |              (base32 "0ys5f5spizg45qlaa31j2lhgry0jka2gfha527n4ndfxxz5j4sz1")))) | ||||||
|    (build-system gnu-build-system) |    (build-system gnu-build-system) | ||||||
|    (inputs |    (inputs | ||||||
|     `(("perl" ,perl))) |     `(("perl" ,perl))) | ||||||
|  |  | ||||||
|  | @ -1,7 +1,7 @@ | ||||||
| ;;; GNU Guix --- Functional package management for GNU | ;;; GNU Guix --- Functional package management for GNU | ||||||
| ;;; Copyright © 2013, 2015 Andreas Enge <andreas@enge.fr> | ;;; Copyright © 2013, 2015 Andreas Enge <andreas@enge.fr> | ||||||
| ;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org> | ;;; 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 © 2014 Ricardo Wurmus <rekado@elephly.net> | ||||||
| ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com> | ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com> | ||||||
| ;;; Copyright © 2014 John Darrington <jmd@gnu.org> | ;;; Copyright © 2014 John Darrington <jmd@gnu.org> | ||||||
|  | @ -24,11 +24,13 @@ | ||||||
| (define-module (gnu packages image) | (define-module (gnu packages image) | ||||||
|   #:use-module (gnu packages) |   #:use-module (gnu packages) | ||||||
|   #:use-module (gnu packages algebra) |   #:use-module (gnu packages algebra) | ||||||
|  |   #:use-module (gnu packages autotools) | ||||||
|   #:use-module (gnu packages boost) |   #:use-module (gnu packages boost) | ||||||
|   #:use-module (gnu packages compression) |   #:use-module (gnu packages compression) | ||||||
|   #:use-module (gnu packages doxygen) |   #:use-module (gnu packages doxygen) | ||||||
|   #:use-module (gnu packages fontutils) |   #:use-module (gnu packages fontutils) | ||||||
|   #:use-module (gnu packages ghostscript) |   #:use-module (gnu packages ghostscript) | ||||||
|  |   #:use-module (gnu packages gl) | ||||||
|   #:use-module (gnu packages maths) |   #:use-module (gnu packages maths) | ||||||
|   #:use-module (gnu packages perl) |   #:use-module (gnu packages perl) | ||||||
|   #:use-module (gnu packages pkg-config) |   #: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+. |     ;; 'COPYING' is the GPLv2, but file headers say LGPLv2.0+. | ||||||
|     (license license:lgpl2.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 | (define-public jbig2dec | ||||||
|   (package |   (package | ||||||
|     (name "jbig2dec") |     (name "jbig2dec") | ||||||
|  | @ -323,25 +384,16 @@ compose, and analyze GIF images.") | ||||||
| (define-public imlib2 | (define-public imlib2 | ||||||
|   (package |   (package | ||||||
|     (name "imlib2") |     (name "imlib2") | ||||||
|     (version "1.4.6") |     (version "1.4.7") | ||||||
|     (source (origin |     (source (origin | ||||||
|               (method url-fetch) |               (method url-fetch) | ||||||
|               (uri (string-append |               (uri (string-append | ||||||
|                     "mirror://sourceforge/enlightenment/imlib2-" |                     "mirror://sourceforge/enlightenment/imlib2-" | ||||||
|                     version ".tar.gz")) |                     version ".tar.bz2")) | ||||||
|               (sha256 |               (sha256 | ||||||
|                (base32 |                (base32 | ||||||
|                 "0kjggg4gfn6chi8v1xddd5qwk1fbnl7rvd93qiclv5v11s615k0p")))) |                 "00a7jbwj10x3jcvxa5rplnkvhv35gv9rb400zy636zdd4g737mrm")))) | ||||||
|     (build-system gnu-build-system) |     (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 |     (native-inputs | ||||||
|      `(("pkgconfig" ,pkg-config))) |      `(("pkgconfig" ,pkg-config))) | ||||||
|     (inputs |     (inputs | ||||||
|  | @ -475,3 +527,39 @@ algorithms and data structures.  It is particularly strong for | ||||||
| multi-dimensional image processing.") | multi-dimensional image processing.") | ||||||
|    (license license:expat) |    (license license:expat) | ||||||
|    (home-page "https://hci.iwr.uni-heidelberg.de/vigra"))) |    (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))) | ||||||
|  |  | ||||||
|  | @ -1,5 +1,6 @@ | ||||||
| ;;; GNU Guix --- Functional package management for GNU | ;;; 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. | ;;; This file is part of GNU Guix. | ||||||
| ;;; | ;;; | ||||||
|  | @ -19,6 +20,7 @@ | ||||||
| (define-module (gnu packages imagemagick) | (define-module (gnu packages imagemagick) | ||||||
|   #:use-module (guix packages) |   #:use-module (guix packages) | ||||||
|   #:use-module (guix build-system gnu) |   #:use-module (guix build-system gnu) | ||||||
|  |   #:use-module (guix build-system perl) | ||||||
|   #:use-module (guix download) |   #:use-module (guix download) | ||||||
|   #:use-module ((guix licenses) #:select (fsf-free)) |   #:use-module ((guix licenses) #:select (fsf-free)) | ||||||
|   #:use-module (gnu packages algebra) |   #: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 | transform images, adjust image colors, apply various special effects, or draw | ||||||
| text, lines, polygons, ellipses and Bézier curves.") | text, lines, polygons, ellipses and Bézier curves.") | ||||||
|     (license (fsf-free "http://www.imagemagick.org/script/license.php")))) |     (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)))) | ||||||
|  |  | ||||||
|  | @ -20,6 +20,7 @@ | ||||||
|   #:use-module ((guix licenses) #:prefix license:) |   #:use-module ((guix licenses) #:prefix license:) | ||||||
|   #:use-module (guix packages) |   #:use-module (guix packages) | ||||||
|   #:use-module (guix download) |   #:use-module (guix download) | ||||||
|  |   #:use-module (guix utils) | ||||||
|   #:use-module (guix build-system gnu) |   #:use-module (guix build-system gnu) | ||||||
|   #:use-module (gnu packages) |   #:use-module (gnu packages) | ||||||
|   #:use-module (gnu packages attr) |   #:use-module (gnu packages attr) | ||||||
|  | @ -32,6 +33,7 @@ | ||||||
|   #:use-module (gnu packages fontutils) |   #:use-module (gnu packages fontutils) | ||||||
|   #:use-module (gnu packages gawk) |   #:use-module (gnu packages gawk) | ||||||
|   #:use-module (gnu packages gcc) |   #:use-module (gnu packages gcc) | ||||||
|  |   #:use-module (gnu packages gl) | ||||||
|   #:use-module (gnu packages gnuzilla) ;nss |   #:use-module (gnu packages gnuzilla) ;nss | ||||||
|   #:use-module (gnu packages ghostscript) ;lcms |   #:use-module (gnu packages ghostscript) ;lcms | ||||||
|   #:use-module (gnu packages gnome) |   #:use-module (gnu packages gnome) | ||||||
|  | @ -45,7 +47,90 @@ | ||||||
|   #:use-module (gnu packages xml) |   #:use-module (gnu packages xml) | ||||||
|   #:use-module (gnu packages xorg) |   #:use-module (gnu packages xorg) | ||||||
|   #:use-module (gnu packages zip) |   #: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 | (define-public ant | ||||||
|   (package |   (package | ||||||
|  | @ -102,7 +187,7 @@ build process and its dependencies, whereas Make uses Makefile format.") | ||||||
| (define-public icedtea6 | (define-public icedtea6 | ||||||
|   (package |   (package | ||||||
|     (name "icedtea6") |     (name "icedtea6") | ||||||
|     (version "1.13.6") |     (version "1.13.7") | ||||||
|     (source (origin |     (source (origin | ||||||
|               (method url-fetch) |               (method url-fetch) | ||||||
|               (uri (string-append |               (uri (string-append | ||||||
|  | @ -110,7 +195,7 @@ build process and its dependencies, whereas Make uses Makefile format.") | ||||||
|                     version ".tar.xz")) |                     version ".tar.xz")) | ||||||
|               (sha256 |               (sha256 | ||||||
|                (base32 |                (base32 | ||||||
|                 "16ac3f7kkln5skg202vllagkhjxrwd47h56diwzhfidhwjlz7410")) |                 "0fqq898h0mk554mya5z4j9p4x6sg2qj0ckqzx65x49zcjjp69jm5")) | ||||||
|               (modules '((guix build utils))) |               (modules '((guix build utils))) | ||||||
|               (snippet |               (snippet | ||||||
|                '(substitute* "Makefile.in" |                '(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 |        ;;   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. |        ;;   222 tests are failing of which at least 132 are AWT tests. | ||||||
|        #:tests? #f |        #: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 |        #:configure-flags | ||||||
|        (let* ((gcjdir (assoc-ref %build-inputs "gcj")) |        (let* ((gcjdir (assoc-ref %build-inputs "gcj")) | ||||||
|               (ecj    (string-append gcjdir "/share/java/ecj.jar")) |               (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" |                (zero? (system* "tar" "xvjf" | ||||||
|                                (assoc-ref inputs "ant-bootstrap"))) |                                (assoc-ref inputs "ant-bootstrap"))) | ||||||
|                (begin |                (begin | ||||||
|  |                  (patch-shebang "apache-ant-1.9.4/bin/ant") | ||||||
|                  (chdir (string-append ,name "-" ,version)) |                  (chdir (string-append ,name "-" ,version)) | ||||||
|                  (mkdir "openjdk") |                  (mkdir "openjdk") | ||||||
|                  (with-directory-excursion "openjdk" |                  (with-directory-excursion "openjdk" | ||||||
|  | @ -191,10 +287,8 @@ build process and its dependencies, whereas Make uses Makefile format.") | ||||||
|                               "openjdk6-src.tar.xz") |                               "openjdk6-src.tar.xz") | ||||||
|                    (zero? (system* "tar" "xvf" "openjdk6-src.tar.xz")))))) |                    (zero? (system* "tar" "xvf" "openjdk6-src.tar.xz")))))) | ||||||
|         (alist-cons-after |         (alist-cons-after | ||||||
|          'unpack 'patch-paths |          'unpack 'patch-patches | ||||||
|          (lambda _ |          (lambda _ | ||||||
|            (patch-shebang "../apache-ant-1.9.4/bin/ant") |  | ||||||
| 
 |  | ||||||
|            ;; shebang in patches so that they apply cleanly |            ;; shebang in patches so that they apply cleanly | ||||||
|            (substitute* '("patches/jtreg-jrunscript.patch" |            (substitute* '("patches/jtreg-jrunscript.patch" | ||||||
|                           "patches/hotspot/hs23/drop_unlicensed_test.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") |              (("ALSA_INCLUDE=/usr/include/alsa/version.h") | ||||||
|               (string-append "ALSA_INCLUDE=" |               (string-append "ALSA_INCLUDE=" | ||||||
|                              (assoc-ref %build-inputs "alsa-lib") |                              (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 |             (let ((corebin (string-append | ||||||
|            ;; the generated shebang |                             (assoc-ref %build-inputs "coreutils") "/bin/")) | ||||||
|            (substitute* '("openjdk/hotspot/make/linux/makefiles/buildtree.make") |                   (binbin  (string-append | ||||||
|              (("/bin/sh") (which "bash"))) |                             (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 |               ;; fix hard-coded utility paths | ||||||
|                            (assoc-ref %build-inputs "coreutils") "/bin/")) |               (substitute* '("openjdk/jdk/make/common/shared/Defs-utils.gmk" | ||||||
|                  (binbin  (string-append |                              "openjdk/corba/make/common/shared/Defs-utils.gmk") | ||||||
|                            (assoc-ref %build-inputs "binutils") "/bin/")) |                 (("ECHO *=.*echo") | ||||||
|                  (grepbin (string-append |                  (string-append "ECHO = " (which "echo"))) | ||||||
|                            (assoc-ref %build-inputs "grep") "/bin/"))) |                 (("^GREP *=.*grep") | ||||||
|              (substitute* '("openjdk/jdk/make/common/shared/Defs-linux.gmk" |                  (string-append "GREP = " (which "grep"))) | ||||||
|                             "openjdk/corba/make/common/shared/Defs-linux.gmk") |                 (("EGREP *=.*egrep") | ||||||
|                (("UNIXCOMMAND_PATH  = /bin/") |                  (string-append "EGREP = " (which "egrep"))) | ||||||
|                 (string-append "UNIXCOMMAND_PATH = " corebin)) |                 (("CPIO *=.*cpio") | ||||||
|                (("USRBIN_PATH  = /usr/bin/") |                  (string-append "CPIO = " (which "cpio"))) | ||||||
|                 (string-append "USRBIN_PATH = " corebin)) |                 (("READELF *=.*readelf") | ||||||
|                (("DEVTOOLS_PATH *= */usr/bin/") |                  (string-append "READELF = " (which "readelf"))) | ||||||
|                 (string-append "DEVTOOLS_PATH = " corebin)) |                 (("^ *AR *=.*ar") | ||||||
|                (("COMPILER_PATH *= */usr/bin/") |                  (string-append "AR = " (which "ar"))) | ||||||
|                 (string-append "COMPILER_PATH = " |                 (("^ *TAR *=.*tar") | ||||||
|                                (assoc-ref %build-inputs "gcc") "/bin/"))) |                  (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 |               ;; Some of these timestamps cause problems as they are more than | ||||||
|              (substitute* '("openjdk/jdk/make/common/shared/Defs-utils.gmk" |               ;; 10 years ago, failing the build process. | ||||||
|                             "openjdk/corba/make/common/shared/Defs-utils.gmk") |               (substitute* | ||||||
|                (("ECHO *=.*echo") |                   "openjdk/jdk/src/share/classes/java/util/CurrencyData.properties" | ||||||
|                 (string-append "ECHO = " (which "echo"))) |                 (("AZ=AZM;2005-12-31-20-00-00;AZN") "AZ=AZN") | ||||||
|                (("^GREP *=.*grep") |                 (("MZ=MZM;2006-06-30-22-00-00;MZN") "MZ=MZN") | ||||||
|                 (string-append "GREP = " (which "grep"))) |                 (("RO=ROL;2005-06-30-21-00-00;RON") "RO=RON") | ||||||
|                (("EGREP *=.*egrep") |                 (("TR=TRL;2004-12-31-22-00-00;TRY") "TR=TRY")))) | ||||||
|                 (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")))) |  | ||||||
|           (alist-cons-before |           (alist-cons-before | ||||||
|            'configure 'set-paths |            'configure 'set-additional-paths | ||||||
|            (lambda* (#:key inputs #:allow-other-keys) |            (lambda* (#:key inputs #:allow-other-keys) | ||||||
|              (let* ((gcjdir  (assoc-ref %build-inputs "gcj")) |              (let* ((gcjdir  (assoc-ref %build-inputs "gcj")) | ||||||
|                     (gcjlib  (string-append gcjdir "/lib")) |                     (gcjlib  (string-append gcjdir "/lib")) | ||||||
|                     (antpath (string-append (getcwd) "/../apache-ant-1.9.4"))) |                     (antpath (string-append (getcwd) "/../apache-ant-1.9.4")) | ||||||
|                (setenv "CC" (which "gcc")) |                     ;; 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" |                (setenv "CPATH" | ||||||
|                        (string-append (assoc-ref %build-inputs "libxrender") |                        (string-append gcjinclude ":" | ||||||
|  |                                       (assoc-ref %build-inputs "libxrender") | ||||||
|                                       "/include/X11/extensions" ":" |                                       "/include/X11/extensions" ":" | ||||||
|                                       (assoc-ref %build-inputs "libxtst") |                                       (assoc-ref %build-inputs "libxtst") | ||||||
|                                       "/include/X11/extensions" ":" |                                       "/include/X11/extensions" ":" | ||||||
|  | @ -306,12 +408,10 @@ build process and its dependencies, whereas Make uses Makefile format.") | ||||||
|                (setenv "ALT_FREETYPE_LIB_PATH" |                (setenv "ALT_FREETYPE_LIB_PATH" | ||||||
|                        (string-append (assoc-ref %build-inputs "freetype") |                        (string-append (assoc-ref %build-inputs "freetype") | ||||||
|                                       "/lib")) |                                       "/lib")) | ||||||
|                (setenv "LD_LIBRARY_PATH" |  | ||||||
|                        (string-append antpath "/lib" ":" gcjlib)) |  | ||||||
|                (setenv "PATH" (string-append antpath "/bin:" |                (setenv "PATH" (string-append antpath "/bin:" | ||||||
|                                              (getenv "PATH"))))) |                                              (getenv "PATH"))))) | ||||||
|            (alist-cons-before |            (alist-cons-before | ||||||
|             'check 'fix-tests |             'check 'fix-test-framework | ||||||
|             (lambda _ |             (lambda _ | ||||||
|               ;; Fix PATH in test environment |               ;; Fix PATH in test environment | ||||||
|               (substitute* "src/jtreg/com/sun/javatest/regtest/Main.java" |               (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")))) |                  (string-append "PATH=" (getenv "PATH")))) | ||||||
|               (substitute* "src/jtreg/com/sun/javatest/util/SysEnv.java" |               (substitute* "src/jtreg/com/sun/javatest/util/SysEnv.java" | ||||||
|                 (("/usr/bin/env") (which "env"))) |                 (("/usr/bin/env") (which "env"))) | ||||||
| 
 |               #t) | ||||||
|               ;; Hotspot tests |             (alist-cons-before | ||||||
|               (with-directory-excursion "openjdk/hotspot/test/" |              'check 'fix-hotspot-tests | ||||||
|                 (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 |  | ||||||
|              (lambda _ |              (lambda _ | ||||||
|                ;; The "make check-*" targets always return zero, so we need to |                (with-directory-excursion "openjdk/hotspot/test/" | ||||||
|                ;; check for errors in the associated log files to determine |                  (substitute* "jprt.config" | ||||||
|                ;; whether any tests have failed. |                    (("PATH=\"\\$\\{path4sdk\\}\"") | ||||||
|                (use-modules (ice-9 rdelim)) |                     (string-append "PATH=" (getenv "PATH"))) | ||||||
|                (let* ((error-pattern (make-regexp "^(Error|FAILED):.*")) |                    (("make=/usr/bin/make") | ||||||
|                       (checker (lambda (port) |                     (string-append "make=" (which "make")))) | ||||||
|                                  (let loop () |                  (substitute* '("runtime/6626217/Test6626217.sh" | ||||||
|                                   (let ((line (read-line port))) |                                 "runtime/7110720/Test7110720.sh") | ||||||
|                                     (cond |                    (("/bin/rm") (which "rm")) | ||||||
|                                      ((eof-object? line) #t) |                    (("/bin/cp") (which "cp")) | ||||||
|                                      ((regexp-exec error-pattern line) #f) |                    (("/bin/mv") (which "mv")))) | ||||||
|                                      (else (loop))))))) |                #t) | ||||||
|                       (run-test (lambda (test) |              (alist-cons-before | ||||||
|                                   (system* "make" test) |               'check 'fix-jdk-tests | ||||||
|                                   (call-with-input-file |               (lambda _ | ||||||
|                                       (string-append "test/" test ".log") |                 (with-directory-excursion "openjdk/jdk/test/" | ||||||
|                                     checker)))) |                   (substitute* "com/sun/jdi/JdbReadTwiceTest.sh" | ||||||
|                  (or #t ; skip tests |                     (("/bin/pwd") (which "pwd"))) | ||||||
|                      (and (run-test "check-hotspot") |                   (substitute* "com/sun/jdi/ShellScaffold.sh" | ||||||
|                           (run-test "check-langtools") |                     (("/bin/kill") (which "kill"))) | ||||||
|                           (run-test "check-jdk"))))) |                   (substitute* "start-Xvfb.sh" | ||||||
|              (alist-replace |                     ;;(("/usr/bin/X11/Xvfb") (which "Xvfb")) | ||||||
|               'install |                     (("/usr/bin/nohup")    (which "nohup"))) | ||||||
|               (lambda* (#:key outputs #:allow-other-keys) |                   (substitute* "javax/security/auth/Subject/doAs/Test.sh" | ||||||
|                 (let ((doc (string-append (assoc-ref outputs "doc") "/share/doc/" ,name)) |                     (("/bin/rm") (which "rm"))) | ||||||
|                       (jre (assoc-ref outputs "out")) |                   (substitute* "tools/launcher/MultipleJRE.sh" | ||||||
|                       (jdk (assoc-ref outputs "jdk"))) |                     (("echo \"#!/bin/sh\"") | ||||||
|                   (copy-recursively "openjdk.build/docs" doc) |                      (string-append "echo \"#!" (which "rm") "\"")) | ||||||
|                   (copy-recursively "openjdk.build/j2re-image" jre) |                     (("/usr/bin/zip") (which "zip"))) | ||||||
|                   (copy-recursively "openjdk.build/j2sdk-image" jdk))) |                   (substitute* "com/sun/jdi/OnThrowTest.java" | ||||||
|               %standard-phases)))))))) |                     (("#!/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 |     (native-inputs | ||||||
|      `(("ant-bootstrap" |      `(("ant-bootstrap" | ||||||
|         ,(origin |         ,(origin | ||||||
|  | @ -464,10 +569,10 @@ build process and its dependencies, whereas Make uses Makefile format.") | ||||||
|        ("openjdk6-src" |        ("openjdk6-src" | ||||||
|         ,(origin |         ,(origin | ||||||
|            (method url-fetch) |            (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 |            (sha256 | ||||||
|             (base32 |             (base32 | ||||||
|              "0lafxvi255r22pjljkj9x6liacqdgin8smdmh6nzkdjjw7hv9l8k")))) |              "05glw29vy4yw9rkjy9y8wg6ybzi89gjwi19qpnfda978x02r2x5p")))) | ||||||
|        ("lcms" ,lcms) |        ("lcms" ,lcms) | ||||||
|        ("zlib" ,zlib) |        ("zlib" ,zlib) | ||||||
|        ("gtk" ,gtk+-2) |        ("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 |     ;; IcedTea is released under the GPL2 + Classpath exception, which is the | ||||||
|     ;; same license as both GNU Classpath and OpenJDK. |     ;; same license as both GNU Classpath and OpenJDK. | ||||||
|     (license license:gpl2+))) |     (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
									
								
							
							
						
						
									
										43
									
								
								gnu/packages/jemalloc.scm
									
										
									
									
									
										Normal 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
									
								
							
							
						
						
									
										193
									
								
								gnu/packages/julia.scm
									
										
									
									
									
										Normal 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
		Reference in a new issue