Merge branch 'master' into core-updates
commit
1492801655
|
@ -13,7 +13,9 @@
|
|||
.
|
||||
((indent-tabs-mode . nil)
|
||||
(eval . (put 'eval-when 'scheme-indent-function 1))
|
||||
(eval . (put 'call-with-prompt 'scheme-indent-function 1))
|
||||
(eval . (put 'test-assert 'scheme-indent-function 1))
|
||||
(eval . (put 'test-assertm 'scheme-indent-function 1))
|
||||
(eval . (put 'test-equal 'scheme-indent-function 1))
|
||||
(eval . (put 'test-eq 'scheme-indent-function 1))
|
||||
(eval . (put 'call-with-input-string 'scheme-indent-function 1))
|
||||
|
@ -44,7 +46,7 @@
|
|||
(eval . (put 'emacs-substitute-sexps 'scheme-indent-function 1))
|
||||
(eval . (put 'emacs-substitute-variables 'scheme-indent-function 1))
|
||||
(eval . (put 'with-derivation-narinfo 'scheme-indent-function 1))
|
||||
(eval . (put 'with-derivation-substitute 'scheme-indent-function 1))
|
||||
(eval . (put 'with-derivation-substitute 'scheme-indent-function 2))
|
||||
|
||||
(eval . (put 'syntax-parameterize 'scheme-indent-function 1))
|
||||
(eval . (put 'with-monad 'scheme-indent-function 1))
|
||||
|
|
|
@ -62,6 +62,7 @@ config.cache
|
|||
/pre-inst-env
|
||||
/doc/.dirstamp
|
||||
/doc/guix.info
|
||||
/doc/guix.info-[0-9]
|
||||
/doc/guix.pdf
|
||||
/doc/stamp-vti
|
||||
/doc/version.texi
|
||||
|
@ -112,3 +113,6 @@ GTAGS
|
|||
/emacs/guix-helper.scm
|
||||
/emacs/guix-init.el
|
||||
/emacs/guix-profiles.el
|
||||
/doc/os-config-bare-bones.texi
|
||||
/doc/os-config-desktop.texi
|
||||
/doc/*.1
|
||||
|
|
15
HACKING
15
HACKING
|
@ -2,7 +2,7 @@
|
|||
|
||||
#+TITLE: Hacking GNU Guix and Its Incredible Distro
|
||||
|
||||
Copyright © 2012, 2013, 2014 Ludovic Courtès <ludo@gnu.org>
|
||||
Copyright © 2012, 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
|
||||
Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
|
||||
Copyright © 2014 Pierre-Antoine Rault <par@rigelk.eu>
|
||||
|
||||
|
@ -20,6 +20,7 @@ addition to those mentioned in the installation instructions:
|
|||
- [[http://www.gnu.org/software/automake/][GNU Automake]]
|
||||
- [[http://www.gnu.org/software/gettext/][GNU Gettext]]
|
||||
- [[http://www.graphviz.org/][Graphviz]]
|
||||
- [[http://www.gnu.org/software/help2man/][GNU Help2man]] (optional)
|
||||
|
||||
Run ‘./bootstrap’ to download the Nix daemon source code and to generate the
|
||||
build system infrastructure using autoconf. It reports an error if an
|
||||
|
@ -46,17 +47,7 @@ take a look at “info '(guix) Installation'” or send a message to
|
|||
|
||||
* Running Guix before it is installed
|
||||
|
||||
Command-line tools can be used even if you have not run "make install".
|
||||
To do that, prefix each command with ‘./pre-inst-env’, as in:
|
||||
|
||||
./pre-inst-env guix build --help
|
||||
|
||||
Similarly, for a Guile session using the Guix modules:
|
||||
|
||||
./pre-inst-env guile -c '(use-modules (guix utils)) (pk (%current-system))'
|
||||
|
||||
The ‘pre-inst-env’ script sets up all the environment variables
|
||||
necessary to support this.
|
||||
See the same-named section in the manual.
|
||||
|
||||
* The Perfect Setup
|
||||
|
||||
|
|
|
@ -79,6 +79,7 @@ MODULES = \
|
|||
guix/build/store-copy.scm \
|
||||
guix/build/utils.scm \
|
||||
guix/build/union.scm \
|
||||
guix/build/profiles.scm \
|
||||
guix/build/pull.scm \
|
||||
guix/build/rpath.scm \
|
||||
guix/build/cvs.scm \
|
||||
|
@ -87,10 +88,13 @@ MODULES = \
|
|||
guix/build/gremlin.scm \
|
||||
guix/build/emacs-utils.scm \
|
||||
guix/build/graft.scm \
|
||||
guix/search-paths.scm \
|
||||
guix/packages.scm \
|
||||
guix/import/utils.scm \
|
||||
guix/import/gnu.scm \
|
||||
guix/import/snix.scm \
|
||||
guix/import/cabal.scm \
|
||||
guix/import/hackage.scm \
|
||||
guix/scripts/download.scm \
|
||||
guix/scripts/build.scm \
|
||||
guix/scripts/archive.scm \
|
||||
|
@ -106,6 +110,7 @@ MODULES = \
|
|||
guix/scripts/lint.scm \
|
||||
guix/scripts/import/gnu.scm \
|
||||
guix/scripts/import/nix.scm \
|
||||
guix/scripts/import/hackage.scm \
|
||||
guix/scripts/environment.scm \
|
||||
guix/scripts/publish.scm \
|
||||
guix.scm \
|
||||
|
@ -133,7 +138,8 @@ KCONFIGS = \
|
|||
|
||||
# Templates, examples.
|
||||
EXAMPLES = \
|
||||
gnu/system/os-config.tmpl
|
||||
gnu/system/examples/bare-bones.tmpl \
|
||||
gnu/system/examples/desktop.tmpl
|
||||
|
||||
GOBJECTS = $(MODULES:%.scm=%.go) guix/config.go guix/tests.go
|
||||
|
||||
|
@ -175,6 +181,7 @@ SCM_TESTS = \
|
|||
tests/build-utils.scm \
|
||||
tests/packages.scm \
|
||||
tests/snix.scm \
|
||||
tests/hackage.scm \
|
||||
tests/store.scm \
|
||||
tests/monads.scm \
|
||||
tests/gexp.scm \
|
||||
|
|
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.
|
||||
|
||||
* 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)
|
||||
|
||||
** Package management
|
||||
|
|
16
README
16
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:
|
||||
|
||||
- [[http://gnu.org/software/guile/][GNU Guile 2.0.x]], version 2.0.5 or later
|
||||
- [[http://gnu.org/software/guile/][GNU Guile 2.0.x]], version 2.0.7 or later
|
||||
- [[http://gnupg.org/][GNU libgcrypt]]
|
||||
- [[http://www.gnu.org/software/make/][GNU Make]]
|
||||
- optionally [[http://savannah.nongnu.org/projects/guile-json/][Guile-JSON]], for the 'guix import pypi' command
|
||||
- optionally [[http://www.gnutls.org][GnuTLS]] compiled with guile support enabled, for HTTPS support
|
||||
in the 'guix download' command. Note that 'guix import pypi' requires
|
||||
|
@ -53,18 +54,9 @@ file.
|
|||
You can re-build and re-install Guix using a system that already runs Guix.
|
||||
To do so:
|
||||
|
||||
- Install the dependencies (see 'Requirements' above) and build tools using
|
||||
Guix:
|
||||
- Start a shell with the development environment for Guix:
|
||||
|
||||
guix package --install autoconf automake bzip2 gcc-toolchain gettext \
|
||||
guile libgcrypt pkg-config sqlite
|
||||
|
||||
- Set the environment variables that Guix recommends you to set during the
|
||||
package installation process:
|
||||
ACLOCAL_PATH, CPATH, LIBRARY_PATH, PKG_CONFIG_PATH
|
||||
|
||||
- Set the PATH environment variable to refer to the profile:
|
||||
PATH=$HOME/.guix-profile/bin:$PATH
|
||||
guix environment guix
|
||||
|
||||
- Re-run the 'configure' script passing it the option
|
||||
'--with-libgcrypt-prefix=$HOME/.guix-profile/', as well as
|
||||
|
|
1
THANKS
1
THANKS
|
@ -35,6 +35,7 @@ infrastructure help:
|
|||
Bruno Félix Rezende Ribeiro <oitofelix@gnu.org>
|
||||
Cyrill Schenkel <cyrill.schenkel@gmail.com>
|
||||
Benno Schulenberg <coordinator@translationproject.org>
|
||||
Thomas Schwinge <thomas@codesourcery.com>
|
||||
Alen Skondro <askondro@gmail.com>
|
||||
Matthias Wachs <wachs@net.in.tum.de>
|
||||
Andy Wingo <wingo@pobox.com>
|
||||
|
|
|
@ -77,5 +77,5 @@ refer to the bootstrap tools."
|
|||
(set-build-options store #:use-substitutes? #t)
|
||||
|
||||
(for-each (cut test-final-inputs store <>)
|
||||
%supported-systems)))
|
||||
%hydra-supported-systems)))
|
||||
|
||||
|
|
|
@ -78,10 +78,8 @@
|
|||
(license . ,(package-license package))
|
||||
(home-page . ,(package-home-page package))
|
||||
(maintainers . ("bug-guix@gnu.org"))
|
||||
|
||||
;; Work around versions of 'hydra-eval-guile-jobs' before Hydra commit
|
||||
;; 61448ca (27 Feb. 2014) which used a default timeout of 2h.
|
||||
(timeout . 72000)))
|
||||
(timeout . ,(or (assoc-ref (package-properties package) 'timeout)
|
||||
72000)))) ; 20 hours by default
|
||||
|
||||
(define (package-job store job-name package system)
|
||||
"Return a job called JOB-NAME that builds PACKAGE on SYSTEM."
|
||||
|
@ -159,7 +157,7 @@ system.")
|
|||
(set-guile-for-build (default-guile))
|
||||
(system-disk-image installation-os
|
||||
#:disk-image-size
|
||||
(* 850 MiB))))))
|
||||
(* 860 MiB))))))
|
||||
'()))
|
||||
|
||||
(define (tarball-jobs store system)
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2013, 2014 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -68,25 +68,10 @@
|
|||
(home-page . ,(package-home-page package))
|
||||
(maintainers . ("bug-guix@gnu.org"))))
|
||||
|
||||
(define (tarball-package checkout nix-checkout)
|
||||
(define (tarball-package checkout)
|
||||
"Return a package that does `make distcheck' from CHECKOUT, a directory
|
||||
containing a Git checkout of Guix."
|
||||
(let ((dist (dist-package guix checkout)))
|
||||
(package (inherit dist)
|
||||
(location (source-properties->location (current-source-location)))
|
||||
(arguments (substitute-keyword-arguments (package-arguments dist)
|
||||
((#:phases p)
|
||||
`(alist-cons-before
|
||||
'autoreconf 'set-nix-submodule
|
||||
(lambda _
|
||||
;; Tell Git to use the Nix checkout that Hydra gave us.
|
||||
(zero?
|
||||
(system* "git" "config" "submodule.nix-upstream.url"
|
||||
,nix-checkout)))
|
||||
,p))))
|
||||
(native-inputs `(("git" ,git)
|
||||
("graphviz" ,graphviz)
|
||||
,@(package-native-inputs dist))))))
|
||||
(dist-package guix checkout))
|
||||
|
||||
(define (hydra-jobs store arguments)
|
||||
"Return Hydra jobs."
|
||||
|
@ -104,13 +89,9 @@ containing a Git checkout of Guix."
|
|||
(define guix-checkout
|
||||
(assq-ref arguments 'guix))
|
||||
|
||||
(define nix-checkout
|
||||
(assq-ref arguments 'nix))
|
||||
|
||||
(format (current-error-port) "using checkout ~s (Nix: ~s)~%"
|
||||
guix-checkout nix-checkout)
|
||||
(let ((guix (assq-ref guix-checkout 'file-name))
|
||||
(nix (assq-ref nix-checkout 'file-name)))
|
||||
(let ((guix (assq-ref guix-checkout 'file-name)))
|
||||
(format (current-error-port) "using checkout ~s (~s)~%"
|
||||
guix-checkout guix)
|
||||
`((tarball . ,(cute package->alist store
|
||||
(tarball-package guix nix)
|
||||
(tarball-package guix)
|
||||
(%current-system))))))
|
||||
|
|
|
@ -27,9 +27,6 @@
|
|||
(gnu system install)
|
||||
(ice-9 match))
|
||||
|
||||
(define show-what-to-build*
|
||||
(store-lift show-what-to-build))
|
||||
|
||||
(define copy-file*
|
||||
(lift2 copy-file %store-monad))
|
||||
|
||||
|
|
|
@ -5,9 +5,12 @@ AC_MSG_RESULT([$guix_build_daemon])
|
|||
|
||||
dnl C++ environment. This macro must be used unconditionnaly.
|
||||
AC_PROG_CXX
|
||||
AC_LANG([C++])
|
||||
|
||||
if test "x$guix_build_daemon" = "xyes"; then
|
||||
|
||||
GUIX_ASSERT_CXX11
|
||||
|
||||
AC_PROG_RANLIB
|
||||
AC_CONFIG_HEADER([nix/config.h])
|
||||
|
||||
|
@ -73,7 +76,7 @@ if test "x$guix_build_daemon" = "xyes"; then
|
|||
|
||||
dnl Chroot support.
|
||||
AC_CHECK_FUNCS([chroot unshare])
|
||||
AC_CHECK_HEADERS([sched.h sys/param.h sys/mount.h tr1/unordered_set])
|
||||
AC_CHECK_HEADERS([sched.h sys/param.h sys/mount.h sys/syscall.h])
|
||||
|
||||
if test "x$ac_cv_func_chroot" != "xyes"; then
|
||||
AC_MSG_ERROR(['chroot' function missing, bailing out])
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
# Process this file with autoconf to produce a configure script.
|
||||
|
||||
AC_PREREQ(2.68)
|
||||
AC_INIT([GNU Guix], [0.8.2], [bug-guix@gnu.org], [guix],
|
||||
AC_INIT([GNU Guix], [0.8.3], [bug-guix@gnu.org], [guix],
|
||||
[http://www.gnu.org/software/guix/])
|
||||
AC_CONFIG_AUX_DIR([build-aux])
|
||||
|
||||
|
@ -67,7 +67,7 @@ dnl Make sure they are available.
|
|||
m4_pattern_forbid([PKG_CHECK_MODULES])
|
||||
m4_pattern_forbid([GUILE_MODULE_AVAILABLE])
|
||||
|
||||
PKG_CHECK_MODULES([GUILE], [guile-2.0 >= 2.0.5])
|
||||
PKG_CHECK_MODULES([GUILE], [guile-2.0 >= 2.0.7])
|
||||
AC_PATH_PROG([GUILE], [guile])
|
||||
AC_PATH_PROG([GUILD], [guild])
|
||||
if test "x$GUILD" = "x"; then
|
||||
|
@ -182,6 +182,9 @@ dnl `dot' (from the Graphviz package) is only needed for maintainers.
|
|||
dnl See `HACKING' for more info.
|
||||
AM_MISSING_PROG([DOT], [dot])
|
||||
|
||||
dnl Manual pages.
|
||||
AM_MISSING_PROG([HELP2MAN], [help2man])
|
||||
|
||||
AC_CONFIG_FILES([Makefile
|
||||
po/guix/Makefile.in
|
||||
po/packages/Makefile.in
|
||||
|
|
|
@ -25,8 +25,8 @@ CLEANFILES += $(BUILT_SOURCES)
|
|||
|
||||
noinst_LIBRARIES = libformat.a libutil.a libstore.a
|
||||
|
||||
# Use '-std=c++0x' for 'std::shared_ptr'.
|
||||
AM_CXXFLAGS = -Wall -std=c++0x
|
||||
# Use '-std=c++11' for 'std::shared_ptr', 'auto', lambdas, and more.
|
||||
AM_CXXFLAGS = -Wall -std=c++11
|
||||
|
||||
libformat_a_SOURCES = \
|
||||
nix/boost/format/free_funcs.cc \
|
||||
|
@ -112,7 +112,8 @@ libstore_a_CPPFLAGS = \
|
|||
-DNIX_CONF_DIR=\"$(sysconfdir)/guix\" \
|
||||
-DNIX_LIBEXEC_DIR=\"$(libexecdir)\" \
|
||||
-DNIX_BIN_DIR=\"$(bindir)\" \
|
||||
-DOPENSSL_PATH="\"guix-authenticate\""
|
||||
-DOPENSSL_PATH="\"guix-authenticate\"" \
|
||||
-DDEFAULT_CHROOT_DIRS="\"\""
|
||||
|
||||
libstore_a_CXXFLAGS = $(AM_CXXFLAGS) \
|
||||
$(SQLITE3_CFLAGS) $(LIBGCRYPT_CFLAGS)
|
||||
|
@ -125,6 +126,7 @@ guix_daemon_SOURCES = \
|
|||
nix/nix-daemon/guix-daemon.cc
|
||||
|
||||
guix_daemon_CPPFLAGS = \
|
||||
-DLOCALEDIR=\"$(localedir)\" \
|
||||
$(libutil_a_CPPFLAGS) \
|
||||
-I$(top_srcdir)/nix/libstore
|
||||
|
||||
|
|
58
doc.am
58
doc.am
|
@ -1,5 +1,5 @@
|
|||
# GNU Guix --- Functional package management for GNU
|
||||
# Copyright © 2012, 2013, 2014 Ludovic Courtès <ludo@gnu.org>
|
||||
# Copyright © 2012, 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
|
||||
# Copyright © 2013 Andreas Enge <andreas@enge.fr>
|
||||
#
|
||||
# This file is part of GNU Guix.
|
||||
|
@ -25,12 +25,16 @@ EXTRA_DIST += \
|
|||
doc/images/bootstrap-graph.eps \
|
||||
doc/images/bootstrap-graph.pdf
|
||||
|
||||
# Bundle this file so that makeinfo finds it in out-of-source-tree builds.
|
||||
BUILT_SOURCES += doc/os-config.texi
|
||||
EXTRA_DIST += doc/os-config.texi
|
||||
MAINTAINERCLEANFILES = doc/os-config.texi
|
||||
OS_CONFIG_EXAMPLES_TEXI = \
|
||||
doc/os-config-bare-bones.texi \
|
||||
doc/os-config-desktop.texi
|
||||
|
||||
doc/os-config.texi: gnu/system/os-config.tmpl
|
||||
# Bundle this file so that makeinfo finds it in out-of-source-tree builds.
|
||||
BUILT_SOURCES += $(OS_CONFIG_EXAMPLES_TEXI)
|
||||
EXTRA_DIST += $(OS_CONFIG_EXAMPLES_TEXI)
|
||||
MAINTAINERCLEANFILES = $(OS_CONFIG_EXAMPLES_TEXI)
|
||||
|
||||
doc/os-config-%.texi: gnu/system/examples/%.tmpl
|
||||
$(MKDIR_P) "`dirname "$@"`"
|
||||
cp "$<" "$@"
|
||||
|
||||
|
@ -61,3 +65,45 @@ DOT_OPTIONS = \
|
|||
pdf-local: $(top_srcdir)/doc/images/bootstrap-graph.pdf
|
||||
info-local: $(top_srcdir)/doc/images/bootstrap-graph.png
|
||||
ps-local: $(top_srcdir)/doc/images/bootstrap-graph.eps
|
||||
|
||||
|
||||
# Manual pages.
|
||||
|
||||
doc/guix.1: scripts/guix
|
||||
-LANGUAGE= $(top_builddir)/pre-inst-env \
|
||||
$(HELP2MAN) --output="$@" guix
|
||||
|
||||
doc/guix-daemon.1: guix-daemon
|
||||
-LANGUAGE= $(top_builddir)/pre-inst-env \
|
||||
$(HELP2MAN) --output="$@" guix-daemon
|
||||
|
||||
define subcommand-manual-target
|
||||
|
||||
doc/guix-$(1).1: scripts/guix guix/scripts/$(1).go
|
||||
-LANGUAGE= $(top_builddir)/pre-inst-env \
|
||||
$(HELP2MAN) --output="$$@" "guix $(1)"
|
||||
|
||||
endef
|
||||
|
||||
SUBCOMMANDS := \
|
||||
archive \
|
||||
build \
|
||||
download \
|
||||
environment \
|
||||
gc \
|
||||
hash \
|
||||
import \
|
||||
lint \
|
||||
package \
|
||||
publish \
|
||||
pull \
|
||||
refresh \
|
||||
system
|
||||
|
||||
$(eval $(foreach subcommand,$(SUBCOMMANDS), \
|
||||
$(call subcommand-manual-target,$(subcommand))))
|
||||
|
||||
dist_man1_MANS = \
|
||||
doc/guix.1 \
|
||||
doc/guix-daemon.1 \
|
||||
$(SUBCOMMANDS:%=doc/guix-%.1)
|
||||
|
|
|
@ -19,6 +19,7 @@ guix package}). Specifically, ``guix.el'' makes it easy to:
|
|||
* Usage: Emacs Usage. Using the interface.
|
||||
* Configuration: Emacs Configuration. Configuring the interface.
|
||||
* Prettify Mode: Emacs Prettify. Abbreviating @file{/gnu/store/@dots{}} file names.
|
||||
* Completions: Emacs Completions. Completing @command{guix} shell command.
|
||||
@end menu
|
||||
|
||||
@node Emacs Initial Setup
|
||||
|
@ -29,7 +30,7 @@ is ready to use, provided Guix is installed system-wide, which is the
|
|||
case by default. So if that is what you're using, you can happily skip
|
||||
this section and read about the fun stuff.
|
||||
|
||||
If you're not yet a happy user of GSD, a little bit of setup is needed.
|
||||
If you're not yet a happy user of GuixSD, a little bit of setup is needed.
|
||||
To be able to use ``guix.el'', you need to install the following
|
||||
packages:
|
||||
|
||||
|
@ -44,24 +45,50 @@ used for interacting with the Guile process.
|
|||
|
||||
@end itemize
|
||||
|
||||
When it is done, add the following into your init file (@pxref{Init
|
||||
File,,, emacs, The GNU Emacs Manual}):
|
||||
|
||||
@example
|
||||
(require 'guix-init nil t)
|
||||
@end example
|
||||
|
||||
However there is a chance that @code{load-path} of your Emacs does not
|
||||
contain a directory with ``guix.el'' (usually it is
|
||||
@file{/usr/share/emacs/site-lisp/}). In that case you need to add it
|
||||
before requiring (@pxref{Lisp Libraries,,, emacs, The GNU Emacs
|
||||
Manual}):
|
||||
When it is done ``guix.el'' may be configured by requiring a special
|
||||
@code{guix-init} file---i.e., by adding the following code into your
|
||||
init file (@pxref{Init File,,, emacs, The GNU Emacs Manual}):
|
||||
|
||||
@example
|
||||
(add-to-list 'load-path "/path/to/directory-with-guix.el")
|
||||
(require 'guix-init)
|
||||
(require 'guix-init nil t)
|
||||
@end example
|
||||
|
||||
So the only thing you need to figure out is where the directory with
|
||||
elisp files for Guix is placed. It depends on how you installed Guix:
|
||||
|
||||
@itemize
|
||||
@item
|
||||
If it was installed by a package manager of your distribution or by a
|
||||
usual @code{./configure && make && make install} command sequence, then
|
||||
elisp files are placed in a standard directory with Emacs packages
|
||||
(usually it is @file{/usr/share/emacs/site-lisp/}), which is already in
|
||||
@code{load-path}, so there is no need to add that directory there.
|
||||
|
||||
@item
|
||||
If you used a binary installation method (@pxref{Binary Installation}),
|
||||
then Guix is installed somewhere in the store, so the elisp files are
|
||||
placed in @file{/gnu/store/@dots{}-guix-0.8.2/share/emacs/site-lisp/} or
|
||||
alike. However it is not recommended to refer directly to a store
|
||||
directory. Instead you can install Guix using Guix itself with
|
||||
@command{guix package -i guix} command (@pxref{Invoking guix package})
|
||||
and add @file{~/.guix-profile/share/emacs/site-lisp/} directory to
|
||||
@code{load-path} variable.
|
||||
|
||||
@item
|
||||
If you did not install Guix at all and prefer a hacking way
|
||||
(@pxref{Running Guix Before It Is Installed}), along with augmenting
|
||||
@code{load-path} you need to set @code{guix-load-path} variable to the
|
||||
same directory, so your final configuration will look like this:
|
||||
|
||||
@example
|
||||
(let ((dir "/path/to/your-guix-git-tree/emacs"))
|
||||
(add-to-list 'load-path dir)
|
||||
(setq guix-load-path dir))
|
||||
(require 'guix-init nil t)
|
||||
@end example
|
||||
@end itemize
|
||||
|
||||
By default, along with autoloading (@pxref{Autoload,,, elisp, The GNU
|
||||
Emacs Lisp Reference Manual}) the main interactive commands for
|
||||
``guix.el'' (@pxref{Emacs Commands}), requiring @code{guix-init} will
|
||||
|
@ -183,6 +210,11 @@ packages/generations and redisplay it.
|
|||
@item R
|
||||
Redisplay current buffer (without updating information).
|
||||
|
||||
@item M
|
||||
Apply manifest to the current profile or to a specified profile, if
|
||||
prefix argument is used. This has the same meaning as @code{--manifest}
|
||||
option (@pxref{Invoking guix package}).
|
||||
|
||||
@item C-c C-z
|
||||
Go to the Guix REPL (@pxref{The REPL,,, geiser, Geiser User Manual}).
|
||||
|
||||
|
@ -213,9 +245,7 @@ Default key bindings available for both ``package-list'' and
|
|||
|
||||
@table @kbd
|
||||
@item m
|
||||
Mark the current entry.
|
||||
@item M
|
||||
Mark all entries.
|
||||
Mark the current entry (with prefix, mark all entries).
|
||||
@item u
|
||||
Unmark the current entry (with prefix, unmark all entries).
|
||||
@item @key{DEL}
|
||||
|
@ -486,3 +516,34 @@ mode hooks (@pxref{Hooks,,, emacs, The GNU Emacs Manual}), for example:
|
|||
(add-hook 'shell-mode-hook 'guix-prettify-mode)
|
||||
(add-hook 'dired-mode-hook 'guix-prettify-mode)
|
||||
@end example
|
||||
|
||||
|
||||
@node Emacs Completions
|
||||
@subsection Shell Completions
|
||||
|
||||
Another feature that becomes available after configuring Emacs interface
|
||||
(@pxref{Emacs Initial Setup}) is completing of @command{guix}
|
||||
subcommands, options, packages and other things in @code{shell}
|
||||
(@pxref{Interactive Shell,,, emacs, The GNU Emacs Manual}) and
|
||||
@code{eshell} (@pxref{Top,,, eshell, Eshell: The Emacs Shell}).
|
||||
|
||||
It works the same way as other completions do. Just press @key{TAB}
|
||||
when your intuition tells you.
|
||||
|
||||
And here are some examples, where pressing @key{TAB} may complete
|
||||
something:
|
||||
|
||||
@itemize @w{}
|
||||
|
||||
@item @code{guix pa}@key{TAB}
|
||||
@item @code{guix package -}@key{TAB}
|
||||
@item @code{guix package --}@key{TAB}
|
||||
@item @code{guix package -i gei}@key{TAB}
|
||||
@item @code{guix build -L/tm}@key{TAB}
|
||||
@item @code{guix build --sy}@key{TAB}
|
||||
@item @code{guix build --system=i}@key{TAB}
|
||||
@item @code{guix system rec}@key{TAB}
|
||||
@item @code{guix lint --checkers=sy}@key{TAB}
|
||||
@item @code{guix lint --checkers=synopsis,des}@key{TAB}
|
||||
|
||||
@end itemize
|
||||
|
|
1038
doc/guix.texi
1038
doc/guix.texi
File diff suppressed because it is too large
Load Diff
1
emacs.am
1
emacs.am
|
@ -26,6 +26,7 @@ ELFILES = \
|
|||
emacs/guix-info.el \
|
||||
emacs/guix-list.el \
|
||||
emacs/guix-messages.el \
|
||||
emacs/guix-pcomplete.el \
|
||||
emacs/guix-prettify.el \
|
||||
emacs/guix-utils.el \
|
||||
emacs/guix.el
|
||||
|
|
|
@ -439,6 +439,7 @@ following keywords are available:
|
|||
(define-key map (kbd "r") 'guix-history-forward)
|
||||
(define-key map (kbd "g") 'revert-buffer)
|
||||
(define-key map (kbd "R") 'guix-redisplay-buffer)
|
||||
(define-key map (kbd "M") 'guix-apply-manifest)
|
||||
(define-key map (kbd "C-c C-z") 'guix-switch-to-repl)))))
|
||||
|
||||
(put 'guix-define-buffer-type 'lisp-indent-function 'defun)
|
||||
|
@ -1022,6 +1023,32 @@ Ask a user with PROMPT for continuing an operation."
|
|||
:dry-run? (or guix-dry-run 'f))
|
||||
nil 'source-download)))
|
||||
|
||||
;;;###autoload
|
||||
(defun guix-apply-manifest (profile file &optional operation-buffer)
|
||||
"Apply manifest from FILE to PROFILE.
|
||||
This function has the same meaning as 'guix package --manifest' command.
|
||||
See Info node `(guix) Invoking guix package' for details.
|
||||
|
||||
Interactively, use the current profile and prompt for manifest
|
||||
FILE. With a prefix argument, also prompt for PROFILE."
|
||||
(interactive
|
||||
(let* ((default-profile (or guix-profile guix-current-profile))
|
||||
(profile (if current-prefix-arg
|
||||
(guix-profile-prompt)
|
||||
default-profile))
|
||||
(file (read-file-name "File with manifest: "))
|
||||
(buffer (and guix-profile (current-buffer))))
|
||||
(list profile file buffer)))
|
||||
(when (or (not guix-operation-confirm)
|
||||
(y-or-n-p (format "Apply manifest from '%s' to profile '%s'? "
|
||||
file profile)))
|
||||
(guix-eval-in-repl
|
||||
(guix-make-guile-expression
|
||||
'guix-package
|
||||
(concat "--profile=" profile)
|
||||
(concat "--manifest=" file))
|
||||
operation-buffer)))
|
||||
|
||||
|
||||
;;; Pull
|
||||
|
||||
|
|
|
@ -292,13 +292,11 @@ See `guix-list-marked' for the meaning of ARGS."
|
|||
See `guix-list-get-marked' for details."
|
||||
(mapcar #'car (apply #'guix-list-get-marked mark-names)))
|
||||
|
||||
(defun guix-list-mark (mark-name &optional advance &rest args)
|
||||
(defun guix-list--mark (mark-name &optional advance &rest args)
|
||||
"Put a mark on the current line.
|
||||
Also add the current entry to `guix-list-marked' using its ID and ARGS.
|
||||
MARK-NAME is a symbol from `guix-list-mark-alist'.
|
||||
If ADVANCE is non-nil, move forward by one line after marking.
|
||||
Interactively, put a general mark and move to the next line."
|
||||
(interactive '(general t))
|
||||
If ADVANCE is non-nil, move forward by one line after marking."
|
||||
(let ((id (guix-list-current-id)))
|
||||
(if (eq mark-name 'empty)
|
||||
(setq guix-list-marked (assq-delete-all id guix-list-marked))
|
||||
|
@ -310,12 +308,21 @@ Interactively, put a general mark and move to the next line."
|
|||
(tabulated-list-put-tag (guix-list-get-mark-string mark-name)
|
||||
advance))
|
||||
|
||||
(defun guix-list-mark-all (mark-name)
|
||||
(defun guix-list-mark (&optional arg)
|
||||
"Mark the current line and move to the next line.
|
||||
With ARG, mark all lines."
|
||||
(interactive "P")
|
||||
(if arg
|
||||
(guix-list-mark-all)
|
||||
(guix-list--mark 'general t)))
|
||||
|
||||
(defun guix-list-mark-all (&optional mark-name)
|
||||
"Mark all lines with MARK-NAME mark.
|
||||
MARK-NAME is a symbol from `guix-list-mark-alist'.
|
||||
Interactively, put a general mark on all lines."
|
||||
(interactive '(general))
|
||||
(guix-list-for-each-line #'guix-list-mark mark-name))
|
||||
(interactive)
|
||||
(or mark-name (setq mark-name 'general))
|
||||
(guix-list-for-each-line #'guix-list--mark mark-name))
|
||||
|
||||
(defun guix-list-unmark (&optional arg)
|
||||
"Unmark the current line and move to the next line.
|
||||
|
@ -323,13 +330,13 @@ With ARG, unmark all lines."
|
|||
(interactive "P")
|
||||
(if arg
|
||||
(guix-list-unmark-all)
|
||||
(guix-list-mark 'empty t)))
|
||||
(guix-list--mark 'empty t)))
|
||||
|
||||
(defun guix-list-unmark-backward ()
|
||||
"Move up one line and unmark it."
|
||||
(interactive)
|
||||
(forward-line -1)
|
||||
(guix-list-mark 'empty))
|
||||
(guix-list--mark 'empty))
|
||||
|
||||
(defun guix-list-unmark-all ()
|
||||
"Unmark all lines."
|
||||
|
@ -360,7 +367,6 @@ Same as `tabulated-list-sort', but also restore marks after sorting."
|
|||
(define-key map (kbd "RET") 'guix-list-describe)
|
||||
(define-key map (kbd "m") 'guix-list-mark)
|
||||
(define-key map (kbd "*") 'guix-list-mark)
|
||||
(define-key map (kbd "M") 'guix-list-mark-all)
|
||||
(define-key map (kbd "u") 'guix-list-unmark)
|
||||
(define-key map (kbd "DEL") 'guix-list-unmark-backward)
|
||||
(define-key map [remap tabulated-list-sort] 'guix-list-sort)
|
||||
|
@ -417,7 +423,7 @@ This macro defines the following functions:
|
|||
,(concat "Put '" mark-name-str "' mark and move to the next line.\n"
|
||||
"Also add the current entry to `guix-list-marked'.")
|
||||
(interactive)
|
||||
(guix-list-mark ',mark-name t))))
|
||||
(guix-list--mark ',mark-name t))))
|
||||
marks-val)
|
||||
|
||||
(defun ,init-fun ()
|
||||
|
@ -531,7 +537,7 @@ AVAILABLE list, otherwise mark all DEFAULT outputs."
|
|||
(guix-completing-read-multiple
|
||||
prompt available nil t)
|
||||
default)))
|
||||
(apply #'guix-list-mark mark t outputs)))
|
||||
(apply #'guix-list--mark mark t outputs)))
|
||||
|
||||
(defun guix-package-list-mark-install (&optional arg)
|
||||
"Mark the current package for installation and move to the next line.
|
||||
|
@ -606,7 +612,7 @@ accept an entry as argument."
|
|||
(interactive)
|
||||
(guix-list-mark-package-upgrades
|
||||
(lambda (entry)
|
||||
(apply #'guix-list-mark
|
||||
(apply #'guix-list--mark
|
||||
'upgrade nil
|
||||
(guix-get-installed-outputs entry)))))
|
||||
|
||||
|
@ -661,7 +667,7 @@ The specification is suitable for `guix-process-package-actions'."
|
|||
(installed (guix-get-key-val entry 'installed)))
|
||||
(if installed
|
||||
(user-error "This output is already installed")
|
||||
(guix-list-mark 'install t))))
|
||||
(guix-list--mark 'install t))))
|
||||
|
||||
(defun guix-output-list-mark-delete ()
|
||||
"Mark the current output for deletion and move to the next line."
|
||||
|
@ -670,7 +676,7 @@ The specification is suitable for `guix-process-package-actions'."
|
|||
(let* ((entry (guix-list-current-entry))
|
||||
(installed (guix-get-key-val entry 'installed)))
|
||||
(if installed
|
||||
(guix-list-mark 'delete t)
|
||||
(guix-list--mark 'delete t)
|
||||
(user-error "This output is not installed"))))
|
||||
|
||||
(defun guix-output-list-mark-upgrade ()
|
||||
|
@ -683,13 +689,13 @@ The specification is suitable for `guix-process-package-actions'."
|
|||
(user-error "This output is not installed"))
|
||||
(when (or (guix-get-key-val entry 'obsolete)
|
||||
(y-or-n-p "This output is not obsolete. Try to upgrade it anyway? "))
|
||||
(guix-list-mark 'upgrade t))))
|
||||
(guix-list--mark 'upgrade t))))
|
||||
|
||||
(defun guix-output-list-mark-upgrades ()
|
||||
"Mark all obsolete package outputs for upgrading."
|
||||
(interactive)
|
||||
(guix-list-mark-package-upgrades
|
||||
(lambda (_) (guix-list-mark 'upgrade))))
|
||||
(lambda (_) (guix-list--mark 'upgrade))))
|
||||
|
||||
(defun guix-output-list-execute ()
|
||||
"Perform actions on the marked outputs."
|
||||
|
@ -850,7 +856,7 @@ With ARG, mark all generations for deletion."
|
|||
(interactive "P")
|
||||
(if arg
|
||||
(guix-list-mark-all 'delete)
|
||||
(guix-list-mark 'delete t)))
|
||||
(guix-list--mark 'delete t)))
|
||||
|
||||
(defun guix-generation-list-execute ()
|
||||
"Delete marked generations."
|
||||
|
|
|
@ -878,7 +878,8 @@ OUTPUTS is a list of package outputs (may be an empty list)."
|
|||
(format #t (N_ "~a package in profile~%"
|
||||
"~a packages in profile~%"
|
||||
count)
|
||||
count))))))))))
|
||||
count)
|
||||
(display-search-paths entries profile))))))))))
|
||||
|
||||
(define (delete-generations* profile generations)
|
||||
"Delete GENERATIONS from PROFILE.
|
||||
|
|
|
@ -0,0 +1,392 @@
|
|||
;;; guix-pcomplete.el --- Functions for completing guix commands -*- lexical-binding: t -*-
|
||||
|
||||
;; Copyright © 2015 Alex Kost <alezost@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 this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
;;; Commentary:
|
||||
|
||||
;; This file provides completions for "guix" command that may be used in
|
||||
;; `shell', `eshell' and wherever `pcomplete' works.
|
||||
|
||||
;;; Code:
|
||||
|
||||
(require 'pcomplete)
|
||||
(require 'pcmpl-unix)
|
||||
(require 'cl-lib)
|
||||
(require 'guix-utils)
|
||||
|
||||
|
||||
;;; Regexps for parsing various "guix ..." outputs
|
||||
|
||||
(defvar guix-pcomplete-parse-package-regexp
|
||||
(rx bol (group (one-or-more (not blank))))
|
||||
"Regexp used to find names of the packages.")
|
||||
|
||||
(defvar guix-pcomplete-parse-command-regexp
|
||||
(rx bol " "
|
||||
(group wordchar (one-or-more (or wordchar "-"))))
|
||||
"Regexp used to find guix commands.
|
||||
'Command' means any option not prefixed with '-'. For example,
|
||||
guix subcommand, system action, importer, etc.")
|
||||
|
||||
(defvar guix-pcomplete-parse-long-option-regexp
|
||||
(rx (or " " ", ")
|
||||
(group "--" (one-or-more (or wordchar "-"))
|
||||
(zero-or-one "=")))
|
||||
"Regexp used to find long options.")
|
||||
|
||||
(defvar guix-pcomplete-parse-short-option-regexp
|
||||
(rx bol (one-or-more blank)
|
||||
"-" (group (not (any "- "))))
|
||||
"Regexp used to find short options.")
|
||||
|
||||
(defvar guix-pcomplete-parse-linter-regexp
|
||||
(rx bol "- " (group (one-or-more (or wordchar "-"))))
|
||||
"Regexp used to find 'lint' checkers.")
|
||||
|
||||
(defvar guix-pcomplete-parse-regexp-group 1
|
||||
"Parenthesized expression of regexps used to find commands and
|
||||
options.")
|
||||
|
||||
|
||||
;;; Non-receivable completions
|
||||
|
||||
(defvar guix-pcomplete-systems
|
||||
'("x86_64-linux" "i686-linux" "armhf-linux" "mips64el-linux")
|
||||
"List of supported systems.")
|
||||
|
||||
(defvar guix-pcomplete-hash-formats
|
||||
'("nix-base32" "base32" "base16" "hex" "hexadecimal")
|
||||
"List of supported hash formats.")
|
||||
|
||||
(defvar guix-pcomplete-refresh-subsets
|
||||
'("core" "non-core")
|
||||
"List of supported 'refresh' subsets.")
|
||||
|
||||
(defvar guix-pcomplete-key-policies
|
||||
'("interactive" "always" "never")
|
||||
"List of supported key download policies.")
|
||||
|
||||
|
||||
;;; Interacting with guix
|
||||
|
||||
(defcustom guix-pcomplete-guix-program (executable-find "guix")
|
||||
"Name of the 'guix' program.
|
||||
It is used to find guix commands, options, packages, etc."
|
||||
:type 'file
|
||||
:group 'pcomplete
|
||||
:group 'guix)
|
||||
|
||||
(defun guix-pcomplete-run-guix (&rest args)
|
||||
"Run `guix-pcomplete-guix-program' with ARGS.
|
||||
Insert the output to the current buffer."
|
||||
(apply #'call-process
|
||||
guix-pcomplete-guix-program nil t nil args))
|
||||
|
||||
(defun guix-pcomplete-run-guix-and-search (regexp &optional group
|
||||
&rest args)
|
||||
"Run `guix-pcomplete-guix-program' with ARGS and search for matches.
|
||||
Return a list of strings matching REGEXP.
|
||||
GROUP specifies a parenthesized expression used in REGEXP."
|
||||
(with-temp-buffer
|
||||
(apply #'guix-pcomplete-run-guix args)
|
||||
(goto-char (point-min))
|
||||
(let (result)
|
||||
(while (re-search-forward regexp nil t)
|
||||
(push (match-string-no-properties group) result))
|
||||
(nreverse result))))
|
||||
|
||||
(defmacro guix-pcomplete-define-options-finder (name docstring regexp
|
||||
&optional filter)
|
||||
"Define function NAME to receive guix options and commands.
|
||||
|
||||
The defined function takes an optional COMMAND argument. This
|
||||
function will run 'guix COMMAND --help' (or 'guix --help' if
|
||||
COMMAND is nil) using `guix-pcomplete-run-guix-and-search' and
|
||||
return its result.
|
||||
|
||||
If FILTER is specified, it should be a function. The result is
|
||||
passed to this FILTER as argument and the result value of this
|
||||
function call is returned."
|
||||
(declare (doc-string 2) (indent 1))
|
||||
`(guix-memoized-defun ,name (&optional command)
|
||||
,docstring
|
||||
(let* ((args '("--help"))
|
||||
(args (if command (cons command args) args))
|
||||
(res (apply #'guix-pcomplete-run-guix-and-search
|
||||
,regexp guix-pcomplete-parse-regexp-group args)))
|
||||
,(if filter
|
||||
`(funcall ,filter res)
|
||||
'res))))
|
||||
|
||||
(guix-pcomplete-define-options-finder guix-pcomplete-commands
|
||||
"If COMMAND is nil, return a list of available guix commands.
|
||||
If COMMAND is non-nil (it should be a string), return available
|
||||
subcommands, actions, etc. for this guix COMMAND."
|
||||
guix-pcomplete-parse-command-regexp)
|
||||
|
||||
(guix-pcomplete-define-options-finder guix-pcomplete-long-options
|
||||
"Return a list of available long options for guix COMMAND."
|
||||
guix-pcomplete-parse-long-option-regexp)
|
||||
|
||||
(guix-pcomplete-define-options-finder guix-pcomplete-short-options
|
||||
"Return a string with available short options for guix COMMAND."
|
||||
guix-pcomplete-parse-short-option-regexp
|
||||
(lambda (list)
|
||||
(mapconcat #'identity list "")))
|
||||
|
||||
(guix-memoized-defun guix-pcomplete-all-packages ()
|
||||
"Return a list of all available Guix packages."
|
||||
(guix-pcomplete-run-guix-and-search
|
||||
guix-pcomplete-parse-package-regexp
|
||||
guix-pcomplete-parse-regexp-group
|
||||
"package" "--list-available"))
|
||||
|
||||
(guix-memoized-defun guix-pcomplete-installed-packages (&optional profile)
|
||||
"Return a list of Guix packages installed in PROFILE."
|
||||
(let* ((args (and profile
|
||||
(list (concat "--profile=" profile))))
|
||||
(args (append '("package" "--list-installed") args)))
|
||||
(apply #'guix-pcomplete-run-guix-and-search
|
||||
guix-pcomplete-parse-package-regexp
|
||||
guix-pcomplete-parse-regexp-group
|
||||
args)))
|
||||
|
||||
(guix-memoized-defun guix-pcomplete-lint-checkers ()
|
||||
"Return a list of all available lint checkers."
|
||||
(guix-pcomplete-run-guix-and-search
|
||||
guix-pcomplete-parse-linter-regexp
|
||||
guix-pcomplete-parse-regexp-group
|
||||
"lint" "--list-checkers"))
|
||||
|
||||
|
||||
;;; Completing
|
||||
|
||||
(defvar guix-pcomplete-option-regexp (rx string-start "-")
|
||||
"Regexp to match an option.")
|
||||
|
||||
(defvar guix-pcomplete-long-option-regexp (rx string-start "--")
|
||||
"Regexp to match a long option.")
|
||||
|
||||
(defvar guix-pcomplete-long-option-with-arg-regexp
|
||||
(rx string-start
|
||||
(group "--" (one-or-more any)) "="
|
||||
(group (zero-or-more any)))
|
||||
"Regexp to match a long option with its argument.
|
||||
The first parenthesized group defines the option and the second
|
||||
group - the argument.")
|
||||
|
||||
(defvar guix-pcomplete-short-option-with-arg-regexp
|
||||
(rx string-start
|
||||
(group "-" (not (any "-")))
|
||||
(group (zero-or-more any)))
|
||||
"Regexp to match a short option with its argument.
|
||||
The first parenthesized group defines the option and the second
|
||||
group - the argument.")
|
||||
|
||||
(defun guix-pcomplete-match-option ()
|
||||
"Return non-nil, if the current argument is an option."
|
||||
(pcomplete-match guix-pcomplete-option-regexp 0))
|
||||
|
||||
(defun guix-pcomplete-match-long-option ()
|
||||
"Return non-nil, if the current argument is a long option."
|
||||
(pcomplete-match guix-pcomplete-long-option-regexp 0))
|
||||
|
||||
(defun guix-pcomplete-match-long-option-with-arg ()
|
||||
"Return non-nil, if the current argument is a long option with value."
|
||||
(pcomplete-match guix-pcomplete-long-option-with-arg-regexp 0))
|
||||
|
||||
(defun guix-pcomplete-match-short-option-with-arg ()
|
||||
"Return non-nil, if the current argument is a short option with value."
|
||||
(pcomplete-match guix-pcomplete-short-option-with-arg-regexp 0))
|
||||
|
||||
(defun guix-pcomplete-long-option-arg (option args)
|
||||
"Return a long OPTION's argument from a list of arguments ARGS."
|
||||
(let* ((re (concat "\\`" option "=\\(.*\\)"))
|
||||
(args (cl-member-if (lambda (arg)
|
||||
(string-match re arg))
|
||||
args))
|
||||
(cur (car args)))
|
||||
(when cur
|
||||
(match-string-no-properties 1 cur))))
|
||||
|
||||
(defun guix-pcomplete-short-option-arg (option args)
|
||||
"Return a short OPTION's argument from a list of arguments ARGS."
|
||||
(let* ((re (concat "\\`" option "\\(.*\\)"))
|
||||
(args (cl-member-if (lambda (arg)
|
||||
(string-match re arg))
|
||||
args))
|
||||
(cur (car args)))
|
||||
(when cur
|
||||
(let ((arg (match-string-no-properties 1 cur)))
|
||||
(if (string= "" arg)
|
||||
(cadr args) ; take the next arg
|
||||
arg)))))
|
||||
|
||||
(defun guix-pcomplete-complete-comma-args (entries)
|
||||
"Complete comma separated arguments using ENTRIES."
|
||||
(let ((index pcomplete-index))
|
||||
(while (= index pcomplete-index)
|
||||
(let* ((args (if (or (guix-pcomplete-match-long-option-with-arg)
|
||||
(guix-pcomplete-match-short-option-with-arg))
|
||||
(pcomplete-match-string 2 0)
|
||||
(pcomplete-arg 0)))
|
||||
(input (if (string-match ".*,\\(.*\\)" args)
|
||||
(match-string-no-properties 1 args)
|
||||
args)))
|
||||
(pcomplete-here* entries input)))))
|
||||
|
||||
(defun guix-pcomplete-complete-command-arg (command)
|
||||
"Complete argument for guix COMMAND."
|
||||
(cond
|
||||
((member command
|
||||
'("archive" "build" "environment" "lint" "refresh"))
|
||||
(while t
|
||||
(pcomplete-here (guix-pcomplete-all-packages))))
|
||||
(t (pcomplete-here* (pcomplete-entries)))))
|
||||
|
||||
(defun guix-pcomplete-complete-option-arg (command option &optional input)
|
||||
"Complete argument for COMMAND's OPTION.
|
||||
INPUT is the current partially completed string."
|
||||
(cl-flet ((option? (short long)
|
||||
(or (string= option short)
|
||||
(string= option long)))
|
||||
(command? (&rest commands)
|
||||
(member command commands))
|
||||
(complete (entries)
|
||||
(pcomplete-here entries input nil t))
|
||||
(complete* (entries)
|
||||
(pcomplete-here* entries input t)))
|
||||
(cond
|
||||
((option? "-L" "--load-path")
|
||||
(complete* (pcomplete-dirs)))
|
||||
((string= "--key-download" option)
|
||||
(complete* guix-pcomplete-key-policies))
|
||||
|
||||
((command? "package")
|
||||
(cond
|
||||
;; For '--install[=]' and '--remove[=]', try to complete a package
|
||||
;; name (INPUT) after the "=" sign, and then the rest packages
|
||||
;; separated with spaces.
|
||||
((option? "-i" "--install")
|
||||
(complete (guix-pcomplete-all-packages))
|
||||
(while (not (guix-pcomplete-match-option))
|
||||
(pcomplete-here (guix-pcomplete-all-packages))))
|
||||
((option? "-r" "--remove")
|
||||
(let* ((profile (or (guix-pcomplete-short-option-arg
|
||||
"-p" pcomplete-args)
|
||||
(guix-pcomplete-long-option-arg
|
||||
"--profile" pcomplete-args)))
|
||||
(profile (and profile (expand-file-name profile))))
|
||||
(complete (guix-pcomplete-installed-packages profile))
|
||||
(while (not (guix-pcomplete-match-option))
|
||||
(pcomplete-here (guix-pcomplete-installed-packages profile)))))
|
||||
((string= "--show" option)
|
||||
(complete (guix-pcomplete-all-packages)))
|
||||
((option? "-p" "--profile")
|
||||
(complete* (pcomplete-dirs)))
|
||||
((option? "-m" "--manifest")
|
||||
(complete* (pcomplete-entries)))))
|
||||
|
||||
((and (command? "archive" "build")
|
||||
(option? "-s" "--system"))
|
||||
(complete* guix-pcomplete-systems))
|
||||
|
||||
((and (command? "build")
|
||||
(option? "-r" "--root"))
|
||||
(complete* (pcomplete-entries)))
|
||||
|
||||
((and (command? "environment")
|
||||
(option? "-l" "--load"))
|
||||
(complete* (pcomplete-entries)))
|
||||
|
||||
((and (command? "hash" "download")
|
||||
(option? "-f" "--format"))
|
||||
(complete* guix-pcomplete-hash-formats))
|
||||
|
||||
((and (command? "lint")
|
||||
(option? "-c" "--checkers"))
|
||||
(guix-pcomplete-complete-comma-args
|
||||
(guix-pcomplete-lint-checkers)))
|
||||
|
||||
((and (command? "publish")
|
||||
(option? "-u" "--user"))
|
||||
(complete* (pcmpl-unix-user-names)))
|
||||
|
||||
((and (command? "refresh")
|
||||
(option? "-s" "--select"))
|
||||
(complete* guix-pcomplete-refresh-subsets)))))
|
||||
|
||||
(defun guix-pcomplete-complete-options (command)
|
||||
"Complete options (with their arguments) for guix COMMAND."
|
||||
(while (guix-pcomplete-match-option)
|
||||
(let ((index pcomplete-index))
|
||||
(if (guix-pcomplete-match-long-option)
|
||||
|
||||
;; Long options.
|
||||
(if (guix-pcomplete-match-long-option-with-arg)
|
||||
(let ((option (pcomplete-match-string 1 0))
|
||||
(arg (pcomplete-match-string 2 0)))
|
||||
(guix-pcomplete-complete-option-arg
|
||||
command option arg))
|
||||
|
||||
(pcomplete-here* (guix-pcomplete-long-options command))
|
||||
;; We support '--opt arg' style (along with '--opt=arg'),
|
||||
;; because 'guix package --install/--remove' may be used this
|
||||
;; way. So try to complete an argument after the option has
|
||||
;; been completed.
|
||||
(unless (guix-pcomplete-match-option)
|
||||
(guix-pcomplete-complete-option-arg
|
||||
command (pcomplete-arg 0 -1))))
|
||||
|
||||
;; Short options.
|
||||
(let ((arg (pcomplete-arg 0)))
|
||||
(if (> (length arg) 2)
|
||||
;; Support specifying an argument after a short option without
|
||||
;; spaces (for example, '-L/tmp/foo').
|
||||
(guix-pcomplete-complete-option-arg
|
||||
command
|
||||
(substring-no-properties arg 0 2)
|
||||
(substring-no-properties arg 2))
|
||||
(pcomplete-opt (guix-pcomplete-short-options command))
|
||||
(guix-pcomplete-complete-option-arg
|
||||
command (pcomplete-arg 0 -1)))))
|
||||
|
||||
;; If there were no completions, move to the next argument and get
|
||||
;; out if the last argument is achieved.
|
||||
(when (= index pcomplete-index)
|
||||
(if (= pcomplete-index pcomplete-last)
|
||||
(throw 'pcompleted nil)
|
||||
(pcomplete-next-arg))))))
|
||||
|
||||
;;;###autoload
|
||||
(defun pcomplete/guix ()
|
||||
"Completion for `guix'."
|
||||
(let ((commands (guix-pcomplete-commands)))
|
||||
(pcomplete-here* (cons "--help" commands))
|
||||
(let ((command (pcomplete-arg 'first 1)))
|
||||
(when (member command commands)
|
||||
(guix-pcomplete-complete-options command)
|
||||
(let ((subcommands (guix-pcomplete-commands command)))
|
||||
(when subcommands
|
||||
(pcomplete-here* subcommands)))
|
||||
(guix-pcomplete-complete-options command)
|
||||
(guix-pcomplete-complete-command-arg command)))))
|
||||
|
||||
(provide 'guix-pcomplete)
|
||||
|
||||
;;; guix-pcomplete.el ends here
|
|
@ -1,6 +1,6 @@
|
|||
;;; guix-utils.el --- General utility functions
|
||||
;;; guix-utils.el --- General utility functions -*- lexical-binding: t -*-
|
||||
|
||||
;; Copyright © 2014 Alex Kost <alezost@gmail.com>
|
||||
;; Copyright © 2014, 2015 Alex Kost <alezost@gmail.com>
|
||||
|
||||
;; This file is part of GNU Guix.
|
||||
|
||||
|
@ -170,6 +170,35 @@ accessed with KEYS."
|
|||
"Same as `diff', but use `guix-diff-switches' as default."
|
||||
(diff old new (or switches guix-diff-switches) no-async))
|
||||
|
||||
|
||||
;;; Memoizing
|
||||
|
||||
(defun guix-memoize (function)
|
||||
"Return a memoized version of FUNCTION."
|
||||
(let ((cache (make-hash-table :test 'equal)))
|
||||
(lambda (&rest args)
|
||||
(let ((result (gethash args cache 'not-found)))
|
||||
(if (eq result 'not-found)
|
||||
(let ((result (apply function args)))
|
||||
(puthash args result cache)
|
||||
result)
|
||||
result)))))
|
||||
|
||||
(defmacro guix-memoized-defun (name arglist docstring &rest body)
|
||||
"Define a memoized function NAME.
|
||||
See `defun' for the meaning of arguments."
|
||||
(declare (doc-string 3) (indent 2))
|
||||
`(defalias ',name
|
||||
(guix-memoize (lambda ,arglist ,@body))
|
||||
;; Add '(name args ...)' string with real arglist to the docstring,
|
||||
;; because *Help* will display '(name &rest ARGS)' for a defined
|
||||
;; function (since `guix-memoize' returns a lambda with '(&rest
|
||||
;; args)').
|
||||
,(format "(%S %s)\n\n%s"
|
||||
name
|
||||
(mapconcat #'symbol-name arglist " ")
|
||||
docstring)))
|
||||
|
||||
(provide 'guix-utils)
|
||||
|
||||
;;; guix-utils.el ends here
|
||||
|
|
|
@ -124,6 +124,7 @@ GNU_SYSTEM_MODULES = \
|
|||
gnu/packages/gl.scm \
|
||||
gnu/packages/glib.scm \
|
||||
gnu/packages/gnome.scm \
|
||||
gnu/packages/gnucash.scm \
|
||||
gnu/packages/gnunet.scm \
|
||||
gnu/packages/gnupg.scm \
|
||||
gnu/packages/gnustep.scm \
|
||||
|
@ -173,6 +174,7 @@ GNU_SYSTEM_MODULES = \
|
|||
gnu/packages/libffcall.scm \
|
||||
gnu/packages/libffi.scm \
|
||||
gnu/packages/libftdi.scm \
|
||||
gnu/packages/calendar.scm \
|
||||
gnu/packages/libidn.scm \
|
||||
gnu/packages/libphidget.scm \
|
||||
gnu/packages/libreoffice.scm \
|
||||
|
@ -217,6 +219,7 @@ GNU_SYSTEM_MODULES = \
|
|||
gnu/packages/ncurses.scm \
|
||||
gnu/packages/netpbm.scm \
|
||||
gnu/packages/nettle.scm \
|
||||
gnu/packages/networking.scm \
|
||||
gnu/packages/ninja.scm \
|
||||
gnu/packages/node.scm \
|
||||
gnu/packages/noweb.scm \
|
||||
|
@ -273,13 +276,13 @@ GNU_SYSTEM_MODULES = \
|
|||
gnu/packages/slang.scm \
|
||||
gnu/packages/slim.scm \
|
||||
gnu/packages/smalltalk.scm \
|
||||
gnu/packages/socat.scm \
|
||||
gnu/packages/ssh.scm \
|
||||
gnu/packages/stalonetray.scm \
|
||||
gnu/packages/statistics.scm \
|
||||
gnu/packages/swig.scm \
|
||||
gnu/packages/sxiv.scm \
|
||||
gnu/packages/synergy.scm \
|
||||
gnu/packages/task-management.scm \
|
||||
gnu/packages/tbb.scm \
|
||||
gnu/packages/tcl.scm \
|
||||
gnu/packages/tcsh.scm \
|
||||
|
@ -291,6 +294,7 @@ GNU_SYSTEM_MODULES = \
|
|||
gnu/packages/tmux.scm \
|
||||
gnu/packages/tor.scm \
|
||||
gnu/packages/tre.scm \
|
||||
gnu/packages/tv.scm \
|
||||
gnu/packages/unrtf.scm \
|
||||
gnu/packages/upnp.scm \
|
||||
gnu/packages/uucp.scm \
|
||||
|
@ -327,13 +331,12 @@ GNU_SYSTEM_MODULES = \
|
|||
gnu/services.scm \
|
||||
gnu/services/avahi.scm \
|
||||
gnu/services/base.scm \
|
||||
gnu/services/colord.scm \
|
||||
gnu/services/dbus.scm \
|
||||
gnu/services/databases.scm \
|
||||
gnu/services/desktop.scm \
|
||||
gnu/services/dmd.scm \
|
||||
gnu/services/lirc.scm \
|
||||
gnu/services/networking.scm \
|
||||
gnu/services/ssh.scm \
|
||||
gnu/services/upower.scm \
|
||||
gnu/services/xorg.scm \
|
||||
\
|
||||
gnu/system.scm \
|
||||
|
@ -384,6 +387,7 @@ dist_patch_DATA = \
|
|||
gnu/packages/patches/bigloo-gc-shebangs.patch \
|
||||
gnu/packages/patches/binutils-ld-new-dtags.patch \
|
||||
gnu/packages/patches/binutils-loongson-workaround.patch \
|
||||
gnu/packages/patches/bitlbee-configure-doc-fix.patch \
|
||||
gnu/packages/patches/calibre-drop-unrar.patch \
|
||||
gnu/packages/patches/calibre-no-updates-dialog.patch \
|
||||
gnu/packages/patches/cdparanoia-fpic.patch \
|
||||
|
@ -403,8 +407,6 @@ dist_patch_DATA = \
|
|||
gnu/packages/patches/cssc-missing-include.patch \
|
||||
gnu/packages/patches/clucene-contribs-lib.patch \
|
||||
gnu/packages/patches/cursynth-wave-rand.patch \
|
||||
gnu/packages/patches/curl-support-capath-on-gnutls.patch \
|
||||
gnu/packages/patches/curl-support-capath-on-gnutls-conf.patch \
|
||||
gnu/packages/patches/dbus-localstatedir.patch \
|
||||
gnu/packages/patches/diffutils-gets-undeclared.patch \
|
||||
gnu/packages/patches/dfu-programmer-fix-libusb.patch \
|
||||
|
@ -419,10 +421,13 @@ dist_patch_DATA = \
|
|||
gnu/packages/patches/findutils-localstatedir.patch \
|
||||
gnu/packages/patches/flashrom-use-libftdi1.patch \
|
||||
gnu/packages/patches/flex-bison-tests.patch \
|
||||
gnu/packages/patches/fltk-shared-lib-defines.patch \
|
||||
gnu/packages/patches/fuse-CVE-2015-3202.patch \
|
||||
gnu/packages/patches/gawk-shell.patch \
|
||||
gnu/packages/patches/gcc-arm-link-spec-fix.patch \
|
||||
gnu/packages/patches/gcc-cross-environment-variables.patch \
|
||||
gnu/packages/patches/gcc-libvtv-runpath.patch \
|
||||
gnu/packages/patches/gcc-5.0-libvtv-runpath.patch \
|
||||
gnu/packages/patches/geoclue-config.patch \
|
||||
gnu/packages/patches/ghostscript-runpath.patch \
|
||||
gnu/packages/patches/gitolite-openssh-6.8-compat.patch \
|
||||
|
@ -435,7 +440,6 @@ dist_patch_DATA = \
|
|||
gnu/packages/patches/glibc-ldd-x86_64.patch \
|
||||
gnu/packages/patches/glibc-locales.patch \
|
||||
gnu/packages/patches/gmp-arm-asm-nothumb.patch \
|
||||
gnu/packages/patches/gnutls-fix-duplicate-manpages.patch \
|
||||
gnu/packages/patches/gobject-introspection-absolute-shlib-path.patch \
|
||||
gnu/packages/patches/gobject-introspection-cc.patch \
|
||||
gnu/packages/patches/gobject-introspection-girepository.patch \
|
||||
|
@ -447,10 +451,9 @@ dist_patch_DATA = \
|
|||
gnu/packages/patches/guile-default-utf8.patch \
|
||||
gnu/packages/patches/guile-linux-syscalls.patch \
|
||||
gnu/packages/patches/guile-relocatable.patch \
|
||||
gnu/packages/patches/guix-test-networking.patch \
|
||||
gnu/packages/patches/gtkglext-disable-disable-deprecated.patch \
|
||||
gnu/packages/patches/hop-bigloo-4.0b.patch \
|
||||
gnu/packages/patches/inetutils-syslogd.patch \
|
||||
gnu/packages/patches/hop-linker-flags.patch \
|
||||
gnu/packages/patches/irrlicht-mesa-10.patch \
|
||||
gnu/packages/patches/jbig2dec-ignore-testtest.patch \
|
||||
gnu/packages/patches/kmod-module-directory.patch \
|
||||
|
@ -464,13 +467,11 @@ dist_patch_DATA = \
|
|||
gnu/packages/patches/liboop-mips64-deplibs-fix.patch \
|
||||
gnu/packages/patches/libmad-mips-newgcc.patch \
|
||||
gnu/packages/patches/libtheora-config-guess.patch \
|
||||
gnu/packages/patches/libtool-skip-tests.patch \
|
||||
gnu/packages/patches/libtool-skip-tests2.patch \
|
||||
gnu/packages/patches/libssh-CVE-2014-0017.patch \
|
||||
gnu/packages/patches/libvpx-fix-armhf-link.patch \
|
||||
gnu/packages/patches/libvpx-fix-ssse3-quantize.patch \
|
||||
gnu/packages/patches/libvpx-vp9-out-of-bounds-access.patch \
|
||||
gnu/packages/patches/linux-libre-libreboot-fix.patch \
|
||||
gnu/packages/patches/lirc-localstatedir.patch \
|
||||
gnu/packages/patches/lm-sensors-hwmon-attrs.patch \
|
||||
gnu/packages/patches/lua51-liblua-so.patch \
|
||||
|
@ -479,6 +480,7 @@ dist_patch_DATA = \
|
|||
gnu/packages/patches/luit-posix.patch \
|
||||
gnu/packages/patches/m4-gets-undeclared.patch \
|
||||
gnu/packages/patches/make-impure-dirs.patch \
|
||||
gnu/packages/patches/maxima-defsystem-mkdir.patch \
|
||||
gnu/packages/patches/mc-fix-ncurses-build.patch \
|
||||
gnu/packages/patches/mcron-install.patch \
|
||||
gnu/packages/patches/mhash-keygen-test-segfault.patch \
|
||||
|
@ -523,14 +525,16 @@ dist_patch_DATA = \
|
|||
gnu/packages/patches/pyqt-configure.patch \
|
||||
gnu/packages/patches/python-fix-tests.patch \
|
||||
gnu/packages/patches/python-libffi-mips-n32-fix.patch \
|
||||
gnu/packages/patches/python-sqlite-3.8.4-test-fix.patch \
|
||||
gnu/packages/patches/python2-rdflib-drop-sparqlwrapper.patch \
|
||||
gnu/packages/patches/python2-sqlite-3.8.4-test-fix.patch \
|
||||
gnu/packages/patches/python2-pygobject-2-gi-info-type-error-domain.patch \
|
||||
gnu/packages/patches/qemu-CVE-2015-3209.patch \
|
||||
gnu/packages/patches/qemu-CVE-2015-3456.patch \
|
||||
gnu/packages/patches/qt4-ldflags.patch \
|
||||
gnu/packages/patches/qt4-tests.patch \
|
||||
gnu/packages/patches/qt5-conflicting-typedefs.patch \
|
||||
gnu/packages/patches/qt5-runpath.patch \
|
||||
gnu/packages/patches/r-fix-15899.patch \
|
||||
gnu/packages/patches/ratpoison-shell.patch \
|
||||
gnu/packages/patches/readline-link-ncurses.patch \
|
||||
gnu/packages/patches/ripperx-libm.patch \
|
||||
|
@ -538,17 +542,23 @@ dist_patch_DATA = \
|
|||
gnu/packages/patches/scheme48-tests.patch \
|
||||
gnu/packages/patches/scotch-test-threading.patch \
|
||||
gnu/packages/patches/sdl-libx11-1.6.patch \
|
||||
gnu/packages/patches/serf-comment-style-fix.patch \
|
||||
gnu/packages/patches/serf-deflate-buckets-test-fix.patch \
|
||||
gnu/packages/patches/slim-session.patch \
|
||||
gnu/packages/patches/slim-config.patch \
|
||||
gnu/packages/patches/slim-sigusr1.patch \
|
||||
gnu/packages/patches/soprano-find-clucene.patch \
|
||||
gnu/packages/patches/subversion-sqlite-3.8.9-fix.patch \
|
||||
gnu/packages/patches/superlu-dist-scotchmetis.patch \
|
||||
gnu/packages/patches/tar-d_ino_in_dirent-fix.patch \
|
||||
gnu/packages/patches/tcsh-fix-autotest.patch \
|
||||
gnu/packages/patches/teckit-cstdio.patch \
|
||||
gnu/packages/patches/texi2html-document-encoding.patch \
|
||||
gnu/packages/patches/texi2html-i18n.patch \
|
||||
gnu/packages/patches/udev-gir-libtool.patch \
|
||||
gnu/packages/patches/tvtime-gcc41.patch \
|
||||
gnu/packages/patches/tvtime-pngoutput.patch \
|
||||
gnu/packages/patches/tvtime-videodev2.patch \
|
||||
gnu/packages/patches/tvtime-xmltv.patch \
|
||||
gnu/packages/patches/unzip-CVE-2014-8139.patch \
|
||||
gnu/packages/patches/unzip-CVE-2014-8140.patch \
|
||||
gnu/packages/patches/unzip-CVE-2014-8141.patch \
|
||||
|
@ -559,9 +569,17 @@ dist_patch_DATA = \
|
|||
gnu/packages/patches/vtk-mesa-10.patch \
|
||||
gnu/packages/patches/w3m-fix-compile.patch \
|
||||
gnu/packages/patches/weex-vacopy.patch \
|
||||
gnu/packages/patches/wicd-template-instantiation.patch \
|
||||
gnu/packages/patches/wicd-urwid-1.3.patch \
|
||||
gnu/packages/patches/wmctrl-64-fix.patch \
|
||||
gnu/packages/patches/wpa-supplicant-CVE-2015-1863.patch \
|
||||
gnu/packages/patches/wpa-supplicant-2015-2-fix.patch \
|
||||
gnu/packages/patches/wpa-supplicant-2015-3-fix.patch \
|
||||
gnu/packages/patches/wpa-supplicant-2015-4-fix-pt1.patch \
|
||||
gnu/packages/patches/wpa-supplicant-2015-4-fix-pt2.patch \
|
||||
gnu/packages/patches/wpa-supplicant-2015-4-fix-pt3.patch \
|
||||
gnu/packages/patches/wpa-supplicant-2015-4-fix-pt4.patch \
|
||||
gnu/packages/patches/wpa-supplicant-2015-4-fix-pt5.patch \
|
||||
gnu/packages/patches/xf86-video-ark-remove-mibstore.patch \
|
||||
gnu/packages/patches/xf86-video-ast-remove-mibstore.patch \
|
||||
gnu/packages/patches/xf86-video-geode-glibc-2.20.patch \
|
||||
|
|
|
@ -32,9 +32,9 @@
|
|||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "git://git.savannah.gnu.org/guix/guix-artwork.git")
|
||||
(commit "61ae7c8")))
|
||||
(commit "6998d30")))
|
||||
(sha256
|
||||
(base32
|
||||
"102fxk2l6b0ibry3n430q8ljhwrnbml9qgalzkz6v09r7sx6a532"))))
|
||||
"0k7j3pj9s3zqiqmfkapypssvzx3f12yr0cc2rbzxqfii0b4clp1j"))))
|
||||
|
||||
;;; artwork.scm ends here
|
||||
|
|
|
@ -78,6 +78,11 @@
|
|||
(define (dot-or-dot-dot? file)
|
||||
(member file '("." "..")))
|
||||
|
||||
(define (make-file-writable file)
|
||||
"Make FILE writable for its owner.."
|
||||
(let ((stat (lstat file))) ;XXX: symlinks
|
||||
(chmod file (logior #o600 (stat:perms stat)))))
|
||||
|
||||
(define* (copy-account-skeletons home
|
||||
#:optional (directory %skeleton-directory))
|
||||
"Copy the account skeletons from DIRECTORY to HOME."
|
||||
|
@ -85,8 +90,21 @@
|
|||
string<?)))
|
||||
(mkdir-p home)
|
||||
(for-each (lambda (file)
|
||||
(copy-file (string-append directory "/" file)
|
||||
(string-append home "/" file)))
|
||||
(let ((target (string-append home "/" file)))
|
||||
(copy-file (string-append directory "/" file) target)
|
||||
(make-file-writable target)))
|
||||
files)))
|
||||
|
||||
(define* (make-skeletons-writable home
|
||||
#:optional (directory %skeleton-directory))
|
||||
"Make sure that the files that have been copied from DIRECTORY to HOME are
|
||||
owner-writable in HOME."
|
||||
(let ((files (scandir directory (negate dot-or-dot-dot?)
|
||||
string<?)))
|
||||
(for-each (lambda (file)
|
||||
(let ((target (string-append home "/" file)))
|
||||
(when (file-exists? target)
|
||||
(make-file-writable target))))
|
||||
files)))
|
||||
|
||||
(define* (add-user name group
|
||||
|
@ -128,7 +146,14 @@ properties. Return #t on success."
|
|||
,@(if password `("-p" ,password) '())
|
||||
,@(if system? '("--system") '())
|
||||
,name)))
|
||||
(zero? (apply system* "useradd" args)))))
|
||||
(and (zero? (apply system* "useradd" args))
|
||||
(begin
|
||||
;; Since /etc/skel is a link to a directory in the store where
|
||||
;; all files have the writable bit cleared, and since 'useradd'
|
||||
;; preserves permissions when it copies them, explicitly make
|
||||
;; them writable.
|
||||
(make-skeletons-writable home)
|
||||
#t)))))
|
||||
|
||||
(define* (modify-user name group
|
||||
#:key uid comment home shell password system?
|
||||
|
@ -344,9 +369,11 @@ 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."
|
||||
(call-with-output-file "/proc/sys/kernel/yama/ptrace_scope"
|
||||
(let ((file "/proc/sys/kernel/yama/ptrace_scope"))
|
||||
(when (file-exists? file)
|
||||
(call-with-output-file file
|
||||
(lambda (port)
|
||||
(display 0 port))))
|
||||
(display 0 port))))))
|
||||
|
||||
|
||||
(define %current-system
|
||||
|
|
|
@ -133,9 +133,19 @@ includes /etc, /var, /run, /bin/sh, etc., and all the symlinks to SYSTEM."
|
|||
(directives (%store-directory)))
|
||||
|
||||
;; Add system generation 1.
|
||||
(false-if-exception (delete-file "/var/guix/profiles/system-1-link"))
|
||||
(symlink system
|
||||
(string-append target "/var/guix/profiles/system-1-link")))
|
||||
(let ((generation-1 (string-append target
|
||||
"/var/guix/profiles/system-1-link")))
|
||||
(let try ()
|
||||
(catch 'system-error
|
||||
(lambda ()
|
||||
(symlink system generation-1))
|
||||
(lambda args
|
||||
;; If GENERATION-1 already exists, overwrite it.
|
||||
(if (= EEXIST (system-error-errno args))
|
||||
(begin
|
||||
(delete-file generation-1)
|
||||
(try))
|
||||
(apply throw args)))))))
|
||||
|
||||
(define (reset-timestamps directory)
|
||||
"Reset the timestamps of all the files under DIRECTORY, so that they appear
|
||||
|
|
|
@ -418,7 +418,6 @@ to it are lost."
|
|||
(switch-root "/root")
|
||||
(format #t "loading '~a'...\n" to-load)
|
||||
|
||||
;; TODO: Remove /lib, /share, and /loader.go.
|
||||
(primitive-load to-load)
|
||||
|
||||
(format (current-error-port)
|
||||
|
|
|
@ -152,25 +152,20 @@ re-executing them as necessary.")
|
|||
(define-public inetutils
|
||||
(package
|
||||
(name "inetutils")
|
||||
(version "1.9.2")
|
||||
(version "1.9.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/inetutils/inetutils-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"04wrm0v7l4890mmbaawd6wjwdv08bkglgqhpz0q4dkb0l50fl8q4"))
|
||||
(patches (list (search-patch "inetutils-syslogd.patch")))))
|
||||
"06dshajjpyi9sxi7qfki9gnp5r3nxvyvf81r81gx0x2qkqzqcxlj"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments `(;; FIXME: `tftp.sh' relies on `netstat' from utils-linux,
|
||||
;; which is currently missing.
|
||||
#:tests? #f))
|
||||
(inputs `(("ncurses" ,ncurses)
|
||||
("readline" ,readline))) ; for 'ftp'
|
||||
|
||||
;; Help2man is needed because of the patch that modifies syslogd.c.
|
||||
(native-inputs `(("help2man" ,help2man)))
|
||||
|
||||
(home-page "http://www.gnu.org/software/inetutils/")
|
||||
(synopsis "Basic networking utilities")
|
||||
(description
|
||||
|
@ -693,7 +688,7 @@ commands and their arguments.")
|
|||
(define-public wpa-supplicant-light
|
||||
(package
|
||||
(name "wpa-supplicant-light")
|
||||
(version "2.3")
|
||||
(version "2.4")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
|
@ -702,9 +697,16 @@ commands and their arguments.")
|
|||
".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0skvkl6c10ls4s48b2wmf47h9j1y40nlzxnzn8hyaw2j0prmpapa"))
|
||||
"08li21q1wjn5chrv289w666il9ah1w419y3dkq2rl4wnq0rci385"))
|
||||
(patches
|
||||
(list (search-patch "wpa-supplicant-CVE-2015-1863.patch")))))
|
||||
(map search-patch '("wpa-supplicant-CVE-2015-1863.patch"
|
||||
"wpa-supplicant-2015-2-fix.patch"
|
||||
"wpa-supplicant-2015-3-fix.patch"
|
||||
"wpa-supplicant-2015-4-fix-pt1.patch"
|
||||
"wpa-supplicant-2015-4-fix-pt2.patch"
|
||||
"wpa-supplicant-2015-4-fix-pt3.patch"
|
||||
"wpa-supplicant-2015-4-fix-pt4.patch"
|
||||
"wpa-supplicant-2015-4-fix-pt5.patch")))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:phases (alist-replace
|
||||
|
@ -872,7 +874,7 @@ module slots, and the list of I/O ports (e.g. serial, parallel, USB).")
|
|||
(define-public acpica
|
||||
(package
|
||||
(name "acpica")
|
||||
(version "20140724")
|
||||
(version "20150410")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
|
@ -880,7 +882,7 @@ module slots, and the list of I/O ports (e.g. serial, parallel, USB).")
|
|||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"01vdgrh7dsxrrvg5yd8sxm63cw8210pnsi5qg9g15ac53gn243ac"))))
|
||||
"0q1fjwkyw9x6gsva6fd0zbn7ly4fx0ha4853f416np9kf2irillw"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs `(("flex" ,flex)
|
||||
("bison" ,bison)))
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2013 Cyril Roelandt <tipecaml@gmail.com>
|
||||
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
|
||||
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -18,25 +18,26 @@
|
|||
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu packages apr)
|
||||
#:use-module (guix licenses)
|
||||
#:use-module ((guix licenses) #:prefix l:)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages xml)
|
||||
#:use-module (gnu packages autotools))
|
||||
|
||||
(define-public apr
|
||||
(package
|
||||
(name "apr")
|
||||
(version "1.5.1")
|
||||
(version "1.5.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://apache/apr/apr-"
|
||||
version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"1b4qw686bwjn19iyb0lg918q23xxd6s2gnyczhjq992d3m1vwjp9"))
|
||||
"0ypn51xblix5ys9xy7da3ngdydip0qqh9rdq8nz54w9aq8lys0vx"))
|
||||
(patches
|
||||
(list (search-patch "apr-skip-getservbyname-test.patch")))
|
||||
(patch-flags '("-p0"))))
|
||||
|
@ -59,7 +60,7 @@ an API to which software developers may code and be assured of predictable if
|
|||
not identical behaviour regardless of the platform on which their software is
|
||||
built, relieving them of the need to code special-case conditions to work
|
||||
around or take advantage of platform-specific deficiencies or features.")
|
||||
(license asl2.0)))
|
||||
(license l:asl2.0)))
|
||||
|
||||
(define-public apr-util
|
||||
(package
|
||||
|
@ -75,18 +76,22 @@ around or take advantage of platform-specific deficiencies or features.")
|
|||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("apr" ,apr)))
|
||||
(propagated-inputs
|
||||
`(("expat" ,expat)))
|
||||
(arguments
|
||||
'(#:phases
|
||||
(alist-replace
|
||||
'configure
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out"))
|
||||
(apr (assoc-ref inputs "apr")))
|
||||
(apr (assoc-ref inputs "apr"))
|
||||
(expat (assoc-ref inputs "expat")))
|
||||
(setenv "CONFIG_SHELL" (which "bash"))
|
||||
(zero?
|
||||
(system* "./configure"
|
||||
(string-append "--prefix=" out)
|
||||
(string-append "--with-apr=" apr)))))
|
||||
(string-append "--with-apr=" apr)
|
||||
(string-append "--with-expat=" expat)))))
|
||||
%standard-phases)
|
||||
|
||||
;; There are race conditions during 'make check'. Typically, the
|
||||
|
@ -98,4 +103,4 @@ around or take advantage of platform-specific deficiencies or features.")
|
|||
(synopsis "One of the Apache Portable Runtime Library companions")
|
||||
(description
|
||||
"APR-util provides a number of helpful abstractions on top of APR.")
|
||||
(license asl2.0)))
|
||||
(license l:asl2.0)))
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
|
||||
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -21,6 +22,7 @@
|
|||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix utils)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system waf)
|
||||
|
@ -128,7 +130,23 @@ attacks, performing pitch detection, tapping the beat and producing MIDI
|
|||
streams from live audio.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public ardour
|
||||
(define (ardour-rpath-phase major-version)
|
||||
`(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((libdir (string-append (assoc-ref outputs "out")
|
||||
"/lib/ardour" ,major-version)))
|
||||
(substitute* "wscript"
|
||||
(("linker_flags = \\[\\]")
|
||||
(string-append "linker_flags = [\""
|
||||
"-Wl,-rpath="
|
||||
libdir ":"
|
||||
libdir "/backends" ":"
|
||||
libdir "/engines" ":"
|
||||
libdir "/panners" ":"
|
||||
libdir "/surfaces" ":"
|
||||
libdir "/vamp" "\"]"))))
|
||||
#t))
|
||||
|
||||
(define-public ardour-3
|
||||
(package
|
||||
(name "ardour")
|
||||
(version "3.5.403")
|
||||
|
@ -140,6 +158,9 @@ streams from live audio.")
|
|||
(url "git://git.ardour.org/ardour/ardour.git")
|
||||
(commit version)))
|
||||
(snippet
|
||||
;; Ardour expects this file to exist at build time. It can be
|
||||
;; created from a git checkout with:
|
||||
;; ./waf create_stored_revision
|
||||
'(call-with-output-file
|
||||
"libs/ardour/revision.cc"
|
||||
(lambda (port)
|
||||
|
@ -151,7 +172,12 @@ namespace ARDOUR { const char* revision = \"3.5-403-gec2cb31\" ; }"))))
|
|||
(file-name (string-append name "-" version))))
|
||||
(build-system waf-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; no check target
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after
|
||||
'unpack 'set-rpath-in-LDFLAGS
|
||||
,(ardour-rpath-phase (version-prefix version 1))))
|
||||
#:tests? #f ; no check target
|
||||
#:python ,python-2))
|
||||
(inputs
|
||||
`(("alsa-lib" ,alsa-lib)
|
||||
|
@ -183,8 +209,6 @@ namespace ARDOUR { const char* revision = \"3.5-403-gec2cb31\" ; }"))))
|
|||
("sratom" ,sratom)
|
||||
("suil" ,suil)
|
||||
("lilv" ,lilv)
|
||||
("rasqal" ,rasqal)
|
||||
("raptor2" ,raptor2)
|
||||
("redland" ,redland)
|
||||
("rubberband" ,rubberband)
|
||||
("taglib" ,taglib)
|
||||
|
@ -200,6 +224,35 @@ record, edit, mix and master audio and MIDI projects. It is targeted at audio
|
|||
engineers, musicians, soundtrack editors and composers.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public ardour
|
||||
(package (inherit ardour-3)
|
||||
(name "ardour")
|
||||
(version "4.0")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "git://git.ardour.org/ardour/ardour.git")
|
||||
(commit version)))
|
||||
(snippet
|
||||
;; Ardour expects this file to exist at build time. It can be
|
||||
;; created from a git checkout with:
|
||||
;; ./waf create_stored_revision
|
||||
'(call-with-output-file
|
||||
"libs/ardour/revision.cc"
|
||||
(lambda (port)
|
||||
(format port "#include \"ardour/revision.h\"
|
||||
namespace ARDOUR { const char* revision = \"4.0\" ; }"))))
|
||||
(sha256
|
||||
(base32
|
||||
"0a8bydc24xv0cahdqfaxdmi1f43cyr9psiyshxpbrkdqw2c7a4xi"))
|
||||
(file-name (string-append name "-" version))))
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments ardour-3)
|
||||
((#:phases phases)
|
||||
`(modify-phases ,phases
|
||||
(replace 'set-rpath-in-LDFLAGS
|
||||
,(ardour-rpath-phase (version-prefix version 1)))))))))
|
||||
|
||||
(define-public azr3
|
||||
(package
|
||||
(name "azr3")
|
||||
|
@ -466,6 +519,46 @@ patches that can be used with softsynths such as Timidity and WildMidi.")
|
|||
;; GPLv2+ with exception for compositions using these patches.
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public ir
|
||||
(package
|
||||
(name "ir")
|
||||
(version "1.3.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"http://factorial.hu/system/files/ir.lv2-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1jh2z01l9m4ar7yz0n911df07dygc7n4cl59p7qdjbh0nvkm747g"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ;no "check" target
|
||||
#:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out")))
|
||||
#:phases
|
||||
;; no configure script
|
||||
(alist-delete 'configure %standard-phases)))
|
||||
(inputs
|
||||
`(("libsndfile" ,libsndfile)
|
||||
("libsamplerate" ,libsamplerate)
|
||||
("lv2" ,lv2)
|
||||
("glib" ,glib)
|
||||
("gtk+" ,gtk+-2)
|
||||
("zita-convolver" ,zita-convolver)))
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
(native-search-paths
|
||||
(list (search-path-specification
|
||||
(variable "LV2_PATH")
|
||||
(files '("lib/lv2")))))
|
||||
(home-page "http://factorial.hu/plugins/lv2/ir")
|
||||
(synopsis "LV2 convolution reverb")
|
||||
(description
|
||||
"IR is a low-latency, real-time, high performance signal convolver
|
||||
especially for creating reverb effects. It supports impulse responses with 1,
|
||||
2 or 4 channels, in any soundfile format supported by libsndfile.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public jack-1
|
||||
(package
|
||||
(name "jack")
|
||||
|
@ -898,10 +991,8 @@ buffers, and audio capture.")
|
|||
("boost" ,boost)
|
||||
("jack" ,jack-1)
|
||||
("ganv" ,ganv)
|
||||
("glib" ,glib)
|
||||
("glibmm" ,glibmm)
|
||||
("gtkmm" ,gtkmm-2)
|
||||
("dbus" ,dbus)
|
||||
("dbus-glib" ,dbus-glib)))
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
|
@ -1386,6 +1477,48 @@ directly to a different computer on your LAN network. It is an audio daemon
|
|||
with a much different focus than most other audio daemons.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public zita-convolver
|
||||
(package
|
||||
(name "zita-convolver")
|
||||
(version "3.1.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"http://kokkinizita.linuxaudio.org"
|
||||
"/linuxaudio/downloads/zita-convolver-"
|
||||
version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"14qrnczhp5mbwhky64il7kxc4hl1mmh495v60va7i2qnhasr6zmz"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; no "check" target
|
||||
#:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out")))
|
||||
#:phases
|
||||
(alist-cons-after
|
||||
'unpack 'patch-makefile-and-enter-directory
|
||||
(lambda _
|
||||
(substitute* "libs/Makefile"
|
||||
(("ldconfig") "true")
|
||||
(("^LIBDIR =.*") "LIBDIR = lib\n"))
|
||||
(chdir "libs") #t)
|
||||
(alist-cons-after
|
||||
'install
|
||||
'install-symlink
|
||||
(lambda _
|
||||
(symlink "libzita-convolver.so"
|
||||
(string-append (assoc-ref %outputs "out")
|
||||
"/lib/libzita-convolver.so.3")))
|
||||
;; no configure script
|
||||
(alist-delete 'configure %standard-phases)))))
|
||||
(inputs `(("fftwf" ,fftwf)))
|
||||
(home-page "http://kokkinizita.linuxaudio.org")
|
||||
(synopsis "Fast, partitioned convolution engine library")
|
||||
(description
|
||||
"Zita convolver is a C++ library providing a real-time convolution
|
||||
engine.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public zita-alsa-pcmi
|
||||
(package
|
||||
(name "zita-alsa-pcmi")
|
||||
|
|
|
@ -23,13 +23,14 @@
|
|||
#:use-module (guix build-system gnu)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages guile))
|
||||
|
||||
(define-public autogen
|
||||
(package
|
||||
(name "autogen")
|
||||
(version "5.18.4")
|
||||
(version "5.18.5")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -38,9 +39,10 @@
|
|||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0pbjzwgvmjvi6nl1bcyhfc9kl93s6321dgmvp5dqdip7i8dgin9w"))))
|
||||
"1flnbnmkbqmbfgammkl8m36wrlk6rhpgnf9pdm6gdfhqalxvggbv"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs `(("perl" ,perl))) ;for doc generator mdoc
|
||||
(native-inputs `(("perl" ,perl) ;for doc generator mdoc
|
||||
("pkg-config" ,pkg-config)))
|
||||
(inputs `(("which" ,which)
|
||||
("guile" ,guile-2.0)))
|
||||
(arguments
|
||||
|
|
|
@ -24,6 +24,7 @@
|
|||
#:use-module (guix git-download)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix build-system perl)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (guix build-system trivial)
|
||||
#:use-module (gnu packages)
|
||||
|
@ -45,6 +46,7 @@
|
|||
#:use-module (gnu packages tbb)
|
||||
#:use-module (gnu packages textutils)
|
||||
#:use-module (gnu packages vim)
|
||||
#:use-module (gnu packages web)
|
||||
#:use-module (gnu packages xml)
|
||||
#:use-module (gnu packages zip))
|
||||
|
||||
|
@ -62,7 +64,17 @@
|
|||
(base32
|
||||
"1brry29bw2xr2l9pqn240rkqwayg85b8qq78zk2zs6nlspk4d018"))))
|
||||
(build-system cmake-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/bamtools")))))))
|
||||
(inputs `(("zlib" ,zlib)))
|
||||
(home-page "https://github.com/pezmaster31/bamtools")
|
||||
(synopsis "C++ API and command-line toolkit for working with BAM data")
|
||||
|
@ -532,6 +544,74 @@ file formats including SAM/BAM, Wiggle/BigWig, BED, GFF/GTF, VCF.")
|
|||
other types of unwanted sequence from high-throughput sequencing reads.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public edirect
|
||||
(package
|
||||
(name "edirect")
|
||||
(version "2.50")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
;; Note: older versions are not retained.
|
||||
(uri "ftp://ftp.ncbi.nlm.nih.gov/entrez/entrezdirect/edirect.zip")
|
||||
(sha256
|
||||
(base32
|
||||
"08afhz2ph66h8h381hl1mqyxkdi5nbvzsyj9gfw3jfbdijnpi4qj"))))
|
||||
(build-system perl-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ;no "check" target
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure)
|
||||
(delete 'build)
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((target (string-append (assoc-ref outputs "out")
|
||||
"/bin")))
|
||||
(mkdir-p target)
|
||||
(copy-file "edirect.pl"
|
||||
(string-append target "/edirect.pl"))
|
||||
#t)))
|
||||
(add-after
|
||||
'install 'wrap-program
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
;; Make sure 'edirect.pl' finds all perl inputs at runtime.
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(path (getenv "PERL5LIB")))
|
||||
(wrap-program (string-append out "/bin/edirect.pl")
|
||||
`("PERL5LIB" ":" prefix (,path)))))))))
|
||||
(inputs
|
||||
`(("perl-html-parser" ,perl-html-parser)
|
||||
("perl-encode-locale" ,perl-encode-locale)
|
||||
("perl-file-listing" ,perl-file-listing)
|
||||
("perl-html-tagset" ,perl-html-tagset)
|
||||
("perl-html-tree" ,perl-html-tree)
|
||||
("perl-http-cookies" ,perl-http-cookies)
|
||||
("perl-http-date" ,perl-http-date)
|
||||
("perl-http-message" ,perl-http-message)
|
||||
("perl-http-negotiate" ,perl-http-negotiate)
|
||||
("perl-lwp-mediatypes" ,perl-lwp-mediatypes)
|
||||
("perl-lwp-protocol-https" ,perl-lwp-protocol-https)
|
||||
("perl-net-http" ,perl-net-http)
|
||||
("perl-uri" ,perl-uri)
|
||||
("perl-www-robotrules" ,perl-www-robotrules)
|
||||
("perl" ,perl)))
|
||||
(native-inputs
|
||||
`(("unzip" ,unzip)))
|
||||
(home-page "http://www.ncbi.nlm.nih.gov/books/NBK179288")
|
||||
(synopsis "Tools for accessing the NCBI's set of databases")
|
||||
(description
|
||||
"Entrez Direct (EDirect) is a method for accessing the National Center
|
||||
for Biotechnology Information's (NCBI) set of interconnected
|
||||
databases (publication, sequence, structure, gene, variation, expression,
|
||||
etc.) from a terminal. Functions take search terms from command-line
|
||||
arguments. Individual operations are combined to build multi-step queries.
|
||||
Record retrieval and formatting normally complete the process.
|
||||
|
||||
EDirect also provides an argument-driven function that simplifies the
|
||||
extraction of data from document summaries or other results that are returned
|
||||
in structured XML format. This can eliminate the need for writing custom
|
||||
software to answer ad hoc questions.")
|
||||
(license license:public-domain)))
|
||||
|
||||
(define-public express
|
||||
(package
|
||||
(name "express")
|
||||
|
@ -839,6 +919,41 @@ sequencing (HTS) data. There are also an number of useful utilities for
|
|||
manipulating HTS data.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public htslib
|
||||
(package
|
||||
(name "htslib")
|
||||
(version "1.2.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://github.com/samtools/htslib/releases/download/"
|
||||
version "/htslib-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"1c32ssscbnjwfw3dra140fq7riarp2x990qxybh34nr1p5r17nxx"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after
|
||||
'unpack 'patch-tests
|
||||
(lambda _
|
||||
(substitute* "test/test.pl"
|
||||
(("/bin/bash") (which "bash")))
|
||||
#t)))))
|
||||
(inputs
|
||||
`(("zlib" ,zlib)))
|
||||
(native-inputs
|
||||
`(("perl" ,perl)))
|
||||
(home-page "http://www.htslib.org")
|
||||
(synopsis "C library for reading/writing high-throughput sequencing data")
|
||||
(description
|
||||
"HTSlib is a C library for reading/writing high-throughput sequencing
|
||||
data. It also provides the bgzip, htsfile, and tabix utilities.")
|
||||
;; Files under cram/ are released under the modified BSD license;
|
||||
;; the rest is released under the Expat license
|
||||
(license (list license:expat license:bsd-3))))
|
||||
|
||||
(define-public macs
|
||||
(package
|
||||
(name "macs")
|
||||
|
@ -1003,6 +1118,84 @@ files and writing bioinformatics applications.")
|
|||
generated using the PacBio Iso-Seq protocol.")
|
||||
(license license:bsd-3))))
|
||||
|
||||
(define-public rsem
|
||||
(package
|
||||
(name "rsem")
|
||||
(version "1.2.20")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri
|
||||
(string-append "http://deweylab.biostat.wisc.edu/rsem/src/rsem-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "0nzdc0j0hjllhsd5f2xli95dafm3nawskigs140xzvjk67xh0r9q"))
|
||||
(patches (list (search-patch "rsem-makefile.patch")))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
;; remove bundled copy of boost
|
||||
(delete-file-recursively "boost")
|
||||
#t))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ;no "check" target
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
;; No "configure" script.
|
||||
;; Do not build bundled samtools library.
|
||||
(replace 'configure
|
||||
(lambda _
|
||||
(substitute* "Makefile"
|
||||
(("^all : sam/libbam.a") "all : "))
|
||||
#t))
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (string-append (assoc-ref outputs "out")))
|
||||
(bin (string-append out "/bin/"))
|
||||
(perl (string-append out "/lib/perl5/site_perl")))
|
||||
(mkdir-p bin)
|
||||
(mkdir-p perl)
|
||||
(for-each (lambda (file)
|
||||
(copy-file file
|
||||
(string-append bin (basename file))))
|
||||
(find-files "." "rsem-.*"))
|
||||
(copy-file "rsem_perl_utils.pm"
|
||||
(string-append perl "/rsem_perl_utils.pm")))
|
||||
#t))
|
||||
(add-after
|
||||
'install 'wrap-program
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(for-each (lambda (prog)
|
||||
(wrap-program (string-append out "/bin/" prog)
|
||||
`("PERL5LIB" ":" prefix
|
||||
(,(string-append out "/lib/perl5/site_perl")))))
|
||||
'("rsem-plot-transcript-wiggles"
|
||||
"rsem-calculate-expression"
|
||||
"rsem-generate-ngvector"
|
||||
"rsem-run-ebseq"
|
||||
"rsem-prepare-reference")))
|
||||
#t)))))
|
||||
(inputs
|
||||
`(("boost" ,boost)
|
||||
("ncurses" ,ncurses)
|
||||
("r" ,r)
|
||||
("perl" ,perl)
|
||||
("samtools" ,samtools-0.1)
|
||||
("zlib" ,zlib)))
|
||||
(home-page "http://deweylab.biostat.wisc.edu/rsem/")
|
||||
(synopsis "Estimate gene expression levels from RNA-Seq data")
|
||||
(description
|
||||
"RSEM is a software package for estimating gene and isoform expression
|
||||
levels from RNA-Seq data. The RSEM package provides a user-friendly
|
||||
interface, supports threads for parallel computation of the EM algorithm,
|
||||
single-end and paired-end read data, quality scores, variable-length reads and
|
||||
RSPD estimation. In addition, it provides posterior mean and 95% credibility
|
||||
interval estimates for expression levels. For visualization, it can generate
|
||||
BAM and Wiggle files in both transcript-coordinate and genomic-coordinate.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public rseqc
|
||||
(package
|
||||
(name "rseqc")
|
||||
|
@ -1068,14 +1261,9 @@ distribution, coverage uniformity, strand specificity, etc.")
|
|||
;; systems.
|
||||
#:tests? ,(string=? (or (%current-system) (%current-target-system))
|
||||
"x86_64-linux")
|
||||
#:make-flags (list (string-append "prefix=" (assoc-ref %outputs "out")))
|
||||
#:make-flags (list "LIBCURSES=-lncurses"
|
||||
(string-append "prefix=" (assoc-ref %outputs "out")))
|
||||
#:phases
|
||||
(alist-cons-after
|
||||
'unpack
|
||||
'patch-makefile-curses
|
||||
(lambda _
|
||||
(substitute* "Makefile"
|
||||
(("-lcurses") "-lncurses")))
|
||||
(alist-cons-after
|
||||
'unpack
|
||||
'patch-tests
|
||||
|
@ -1091,9 +1279,13 @@ distribution, coverage uniformity, strand specificity, etc.")
|
|||
;; them.
|
||||
(("(test_usage_subcommand\\(.*\\);)" cmd)
|
||||
(string-append "unless ($subcommand eq 'stats') {" cmd "};")))))
|
||||
(alist-delete
|
||||
'configure
|
||||
%standard-phases)))))
|
||||
(alist-cons-after
|
||||
'install 'install-library
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((lib (string-append (assoc-ref outputs "out") "/lib")))
|
||||
(mkdir-p lib)
|
||||
(copy-file "libbam.a" (string-append lib "/libbam.a"))))
|
||||
(alist-delete 'configure %standard-phases)))))
|
||||
(native-inputs `(("pkg-config" ,pkg-config)))
|
||||
(inputs `(("ncurses" ,ncurses)
|
||||
("perl" ,perl)
|
||||
|
@ -1108,6 +1300,34 @@ variant calling (in conjunction with bcftools), and a simple alignment
|
|||
viewer.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public samtools-0.1
|
||||
;; This is the most recent version of the 0.1 line of samtools. The input
|
||||
;; and output formats differ greatly from that used and produced by samtools
|
||||
;; 1.x and is still used in many bioinformatics pipelines.
|
||||
(package (inherit samtools)
|
||||
(version "0.1.19")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri
|
||||
(string-append "mirror://sourceforge/samtools/"
|
||||
version "/samtools-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32 "1m33xsfwz0s8qi45lylagfllqg7fphf4dr0780rsvw75av9wk06h"))))
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments samtools)
|
||||
((#:tests? tests) #f) ;no "check" target
|
||||
((#:phases phases)
|
||||
`(modify-phases ,phases
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((bin (string-append
|
||||
(assoc-ref outputs "out") "/bin")))
|
||||
(mkdir-p bin)
|
||||
(copy-file "samtools"
|
||||
(string-append bin "/samtools")))))
|
||||
(delete 'patch-tests)))))))
|
||||
|
||||
(define-public ngs-sdk
|
||||
(package
|
||||
(name "ngs-sdk")
|
||||
|
@ -1266,11 +1486,16 @@ simultaneously.")
|
|||
(assoc-ref inputs "hdf5"))))))
|
||||
(alist-cons-after
|
||||
'install 'install-interfaces
|
||||
(lambda* (#:key system outputs #:allow-other-keys)
|
||||
;; Install interface libraries
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
;; Install interface libraries. On i686 the interface libraries
|
||||
;; are installed to "linux/gcc/i386", so we need to use the Linux
|
||||
;; architecture name ("i386") instead of the target system prefix
|
||||
;; ("i686").
|
||||
(mkdir (string-append (assoc-ref outputs "out") "/ilib"))
|
||||
(copy-recursively (string-append "build/ncbi-vdb/linux/gcc/"
|
||||
(car (string-split system #\-))
|
||||
,(system->linux-architecture
|
||||
(or (%current-target-system)
|
||||
(%current-system)))
|
||||
"/rel/ilib")
|
||||
(string-append (assoc-ref outputs "out")
|
||||
"/ilib"))
|
||||
|
@ -1513,7 +1738,40 @@ against local background noises.")
|
|||
"/sources/shogun-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"159nlijnb7mnrv9za80wnm1shwvy45hgrqzn51hxy7gw4z6d6fdb"))))
|
||||
"159nlijnb7mnrv9za80wnm1shwvy45hgrqzn51hxy7gw4z6d6fdb"))
|
||||
(modules '((guix build utils)
|
||||
(ice-9 rdelim)))
|
||||
(snippet
|
||||
'(begin
|
||||
;; Remove non-free sources and files referencing them
|
||||
(for-each delete-file
|
||||
(find-files "src/shogun/classifier/svm/"
|
||||
"SVMLight\\.(cpp|h)"))
|
||||
(for-each delete-file
|
||||
(find-files "examples/undocumented/libshogun/"
|
||||
(string-append
|
||||
"(classifier_.*svmlight.*|"
|
||||
"evaluation_cross_validation_locked_comparison).cpp")))
|
||||
;; Remove non-free functions.
|
||||
(define (delete-ifdefs file)
|
||||
(with-atomic-file-replacement file
|
||||
(lambda (in out)
|
||||
(let loop ((line (read-line in 'concat))
|
||||
(skipping? #f))
|
||||
(if (eof-object? line)
|
||||
#t
|
||||
(let ((skip-next?
|
||||
(or (and skipping?
|
||||
(not (string-prefix?
|
||||
"#endif //USE_SVMLIGHT" line)))
|
||||
(string-prefix?
|
||||
"#ifdef USE_SVMLIGHT" line))))
|
||||
(when (or (not skipping?)
|
||||
(and skipping? (not skip-next?)))
|
||||
(display line out))
|
||||
(loop (read-line in 'concat) skip-next?)))))))
|
||||
(for-each delete-ifdefs (find-files "src/shogun/kernel/"
|
||||
"^Kernel\\.(cpp|h)"))))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
'(#:tests? #f ;no check target
|
||||
|
@ -1621,6 +1879,7 @@ in terms of new algorithms.")
|
|||
(arguments
|
||||
`(#:tests? #f ; no "check" target
|
||||
#:make-flags (list
|
||||
"CFLAGS=-O2" ; override "-m64" flag
|
||||
(string-append "PREFIX=" (assoc-ref %outputs "out"))
|
||||
(string-append "MANDIR=" (assoc-ref %outputs "out")
|
||||
"/share/man/man1"))
|
||||
|
|
|
@ -53,8 +53,9 @@
|
|||
|
||||
;; There is no /usr/bin or /bin - replace it with /gnu/store
|
||||
(substitute* "testsuite/cpio.tests"
|
||||
(("/usr/bin") "/gnu/store")
|
||||
(("usr") "gnu"))
|
||||
(("/usr/bin") (%store-directory))
|
||||
(("usr") (car (filter (negate string-null?)
|
||||
(string-split (%store-directory) #\/)))))
|
||||
|
||||
(substitute* "testsuite/date/date-works-1"
|
||||
(("/bin/date") (which "date")))
|
||||
|
|
|
@ -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
|
||||
access to an application without having to worry about the OS- and
|
||||
device-dependent properties of CD-ROM or the specific details of CD image
|
||||
formats.")
|
||||
formats. It includes pycdio, a Python interface to libcdio, and
|
||||
libcdio-paranoia, a library providing jitter-free and error-free audio
|
||||
extraction from CDs.")
|
||||
(license gpl3+)))
|
||||
|
||||
(define-public libcdio-paranoia
|
||||
|
@ -122,14 +124,14 @@ libcdio.")
|
|||
(define-public xorriso
|
||||
(package
|
||||
(name "xorriso")
|
||||
(version "1.3.8")
|
||||
(version "1.4.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/xorriso/xorriso-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0zhhj9lr9z7hnb2alac54mc28w1l0mbanphhpmy3ylsi8rih84lh"))))
|
||||
"0mhfxn2idkrw1i65a5y4gnb1fig85zpnszb9ax7w4a2v062y1l8b"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("acl" ,acl)
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
|
||||
;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
|
||||
;;; Copyright © 2015 Eric Bavier <bavier@member.fsf.org>
|
||||
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -95,6 +96,12 @@ with a flexible variety of user interfaces.")
|
|||
(sha256
|
||||
(base32
|
||||
"0jm49v5rmc5qw34vqs56gy8xja1dhci73bmh23cig4kcir6a0a5c"))))
|
||||
;; Explicitly link with libdl. This is expected to be done by packages
|
||||
;; relying on cppunit for their tests. However, not all of them do.
|
||||
;; If we added the linker flag to such packages, we would pollute all
|
||||
;; binaries, not only those used for testing.
|
||||
(arguments
|
||||
`(#:make-flags '("LDFLAGS=-ldl")))
|
||||
(build-system gnu-build-system)
|
||||
(home-page "http://sourceforge.net/projects/cppunit/")
|
||||
(synopsis "Unit testing framework for C++")
|
||||
|
|
|
@ -783,16 +783,26 @@ COREUTILS-FINAL vs. COREUTILS, etc."
|
|||
'(#:modules ((guix build union))
|
||||
#:builder (begin
|
||||
(use-modules (ice-9 match)
|
||||
(srfi srfi-26)
|
||||
(guix build union))
|
||||
|
||||
(let ((out (assoc-ref %outputs "out")))
|
||||
|
||||
(match %build-inputs
|
||||
(((names . directories) ...)
|
||||
(union-build (assoc-ref %outputs "out")
|
||||
directories)))
|
||||
(union-build out directories)))
|
||||
|
||||
;; Remove the 'sh' and 'bash' binaries that come with
|
||||
;; libc to avoid polluting the user's profile (these are
|
||||
;; statically-linked binaries with no locale support and
|
||||
;; so on.)
|
||||
(for-each (lambda (file)
|
||||
(delete-file (string-append out "/bin/" file)))
|
||||
'("sh" "bash"))
|
||||
|
||||
(union-build (assoc-ref %outputs "debug")
|
||||
(list (assoc-ref %build-inputs
|
||||
"libc-debug"))))))
|
||||
"libc-debug")))))))
|
||||
|
||||
(native-search-paths (package-native-search-paths gcc))
|
||||
(search-paths (package-search-paths gcc))
|
||||
|
|
|
@ -297,7 +297,7 @@ archiving. Lzip is a clean implementation of the LZMA algorithm.")
|
|||
(define-public sharutils
|
||||
(package
|
||||
(name "sharutils")
|
||||
(version "4.15")
|
||||
(version "4.15.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -305,7 +305,7 @@ archiving. Lzip is a clean implementation of the LZMA algorithm.")
|
|||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"19gqb6qbqmpgh6xlpgpj0ayw2nshllxg9d01qb5z8bnkhfcla8ka"))))
|
||||
"16isapn8f39lnffc3dp4dan05b7x6mnc76v6q5nn8ysxvvvwy19b"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("which" ,which)))
|
||||
|
|
|
@ -106,14 +106,14 @@ filters for the PDF-centric printing workflow introduced by OpenPrinting.")
|
|||
(define-public cups-minimal
|
||||
(package
|
||||
(name "cups-minimal")
|
||||
(version "2.0.1")
|
||||
(version "2.0.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://www.cups.org/software/"
|
||||
version "/cups-" version "-source.tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1kbc85kwhm1vyzahblrg3qih9yypggs91d13gdrbnaac8q7jd9jr"))))
|
||||
"1kq1kpny0hghqgbjvashlv6qw1xn0c1p3d4r3cx8qxdzd2ifk4lf"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
|
|
|
@ -38,17 +38,14 @@
|
|||
(define-public curl
|
||||
(package
|
||||
(name "curl")
|
||||
(version "7.41.0")
|
||||
(version "7.42.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://curl.haxx.se/download/curl-"
|
||||
version ".tar.lzma"))
|
||||
(sha256
|
||||
(base32
|
||||
"08n7vrhdfzziy3a7n93r7qjhzk8p26q464hxg8w9irdk3v60pi62"))
|
||||
(patches
|
||||
(list (search-patch "curl-support-capath-on-gnutls.patch")
|
||||
(search-patch "curl-support-capath-on-gnutls-conf.patch")))))
|
||||
"0ircrhi4i9iviq0d9044rq288sdrww19d0ci6vmb4fh8nmm1jv1x"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs `(("gnutls" ,gnutls)
|
||||
("gss" ,gss)
|
||||
|
|
|
@ -49,6 +49,7 @@
|
|||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system perl)
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (srfi srfi-26)
|
||||
#:use-module (ice-9 match))
|
||||
|
||||
|
@ -100,53 +101,47 @@ SQL, Key/Value, XML/XQuery or Java Object storage for their data model.")
|
|||
(define-public mysql
|
||||
(package
|
||||
(name "mysql")
|
||||
(version "5.1.73")
|
||||
(version "5.6.25")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"http://dev.mysql.com/get/Downloads/MySQL-5.1/mysql-"
|
||||
version ".tar.gz"))
|
||||
"http://dev.mysql.com/get/Downloads/MySQL-"
|
||||
(version-major+minor version) "/"
|
||||
name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1dfwi4ck0vq6sdci6gz0031s7zz5lc3pddqlgm0292s00l9y5sq5"))))
|
||||
(build-system gnu-build-system)
|
||||
"1gbz5i1z3nswpq3q8f477vrx7g15j8n41pyb94k0jfnkhc5rq1qm"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
'(#:configure-flags
|
||||
'("-DBUILD_CONFIG=mysql_release"
|
||||
"-DWITH_SSL=system"
|
||||
"-DWITH_ZLIB=system"
|
||||
"-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"
|
||||
"-DINSTALL_MYSQLSHAREDIR=share/mysql"
|
||||
"-DINSTALL_DOCDIR=share/mysql/docs"
|
||||
"-DINSTALL_SHAREDIR=share/mysql"
|
||||
;; Get rid of test data.
|
||||
"-DINSTALL_MYSQLTESTDIR="
|
||||
"-DINSTALL_SQLBENCHDIR=")))
|
||||
(native-inputs
|
||||
`(("bison" ,bison)
|
||||
("perl" ,perl)))
|
||||
(inputs
|
||||
`(("procps" ,procps)
|
||||
`(("libaio" ,libaio)
|
||||
("openssl" ,openssl)
|
||||
("perl" ,perl)
|
||||
("zlib" ,zlib)
|
||||
("ncurses" ,ncurses)))
|
||||
(arguments
|
||||
'(#:modules ((guix build gnu-build-system)
|
||||
(guix build utils)
|
||||
(ice-9 ftw)) ; for "rm -rf"
|
||||
#:phases (alist-cons-after
|
||||
'install 'clean-up
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
;; Remove the 112 MiB of tests that get installed.
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(define (rm-rf dir)
|
||||
(file-system-fold (const #t) ; enter?
|
||||
(lambda (file stat result) ; leaf
|
||||
(delete-file file))
|
||||
(const #t) ; down
|
||||
(lambda (dir stat result) ; up
|
||||
(rmdir dir))
|
||||
(const #t)
|
||||
(lambda (file stat errno result)
|
||||
(format (current-error-port)
|
||||
"error: ~a: ~a~%"
|
||||
file (strerror errno)))
|
||||
#t
|
||||
(string-append out "/" dir)))
|
||||
(rm-rf "mysql-test")
|
||||
(rm-rf "sql-bench")
|
||||
|
||||
;; Compress the 14 MiB Info file.
|
||||
(zero?
|
||||
(system* "gzip" "--best"
|
||||
(string-append out "/share/info/mysql.info")))))
|
||||
%standard-phases)))
|
||||
(home-page "http://www.mysql.com/")
|
||||
(synopsis "Fast, easy to use, and popular database")
|
||||
(description
|
||||
|
@ -158,7 +153,7 @@ Language.")
|
|||
(define-public mariadb
|
||||
(package
|
||||
(name "mariadb")
|
||||
(version "10.0.17")
|
||||
(version "10.0.18")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://downloads.mariadb.org/f/"
|
||||
|
@ -166,7 +161,7 @@ Language.")
|
|||
name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"04ckq67qgkghh7yzrbzwidk7wn7yjml15gzj2c5p1hs2k7lr9lww"))))
|
||||
"1xcs391cm0vnl9bvx1470v8z4d77zqv16n6iaqi12jm0ma8fwvv8"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
'(#:configure-flags
|
||||
|
@ -226,14 +221,14 @@ as a drop-in replacement of MySQL.")
|
|||
(define-public postgresql
|
||||
(package
|
||||
(name "postgresql")
|
||||
(version "9.3.6")
|
||||
(version "9.3.7")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://ftp.postgresql.org/pub/source/v"
|
||||
version "/postgresql-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"056ass7nnfyv7blv02anv795kgpz77gipdpxggd835cdwrhwns13"))))
|
||||
"0ggz0i91znv053zx9qas7pjf93s5by3dk84z1jxbjkg8yyrnlx4b"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("readline" ,readline)
|
||||
|
@ -289,7 +284,7 @@ types are supported, as is encryption.")
|
|||
(define-public sqlite
|
||||
(package
|
||||
(name "sqlite")
|
||||
(version "3.8.8.3")
|
||||
(version "3.8.9")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
;; TODO: Download from sqlite.org once this bug :
|
||||
|
@ -309,7 +304,7 @@ types are supported, as is encryption.")
|
|||
"/sqlite-autoconf-" numeric-version ".tar.gz")))
|
||||
(sha256
|
||||
(base32
|
||||
"04dl53iv5q0srv4jcgjfzsrdzkq6dg1sgmlmpw9lrd4xrmj6jmvl"))))
|
||||
"18k90bbfvvgc5204nm1hzw0vsj9ygzv7zbq3z6zrya6j5hwvdsvn"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs `(("readline" ,readline)))
|
||||
(arguments
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
(define-public dejagnu
|
||||
(package
|
||||
(name "dejagnu")
|
||||
(version "1.5.2")
|
||||
(version "1.5.3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -34,7 +34,7 @@
|
|||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"18ikblg4x4y5fkw8sg0c2zmqgxdqqycswmws17sxx8m4sz6g7dch"))))
|
||||
"069z3qrdv35cm2sbnfr5yjzplrqj9f61cchxis7j9mm19hv8x6q9"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs `(("expect" ,expect)))
|
||||
(arguments
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2012, 2013 Nikita Karetnikov <nikita@karetnikov.org>
|
||||
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -119,3 +120,30 @@ from one file to another, working to rescue data in case of read errors. The
|
|||
program also includes a tool for manipulating its log files, which are used
|
||||
to recover data more efficiently by only reading the necessary blocks.")
|
||||
(license gpl3+)))
|
||||
|
||||
(define-public dosfstools
|
||||
(package
|
||||
(name "dosfstools")
|
||||
(version "3.0.27")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/" name "/" name
|
||||
"/releases/download/v" version "/"
|
||||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1a2qs5g2zqbk1gzaaf4v3fw3yny6jgbzddpgcamkp3fjifn8wxl5"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:make-flags (list (string-append "PREFIX=" %output)
|
||||
"CC=gcc")
|
||||
#:tests? #f ;no tests
|
||||
#:phases (modify-phases %standard-phases
|
||||
(delete 'configure))))
|
||||
(home-page "https://github.com/dosfstools/dosfstools")
|
||||
(synopsis "Utilities for making and checking MS-DOS FAT filesystems")
|
||||
(description
|
||||
"The dosfstools package includes the mkfs.fat and fsck.fat utilities,
|
||||
which respectively make and check MS-DOS FAT filesystems.")
|
||||
(license gpl3+)))
|
||||
|
|
|
@ -25,7 +25,6 @@
|
|||
#:use-module (guix build-system python)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages databases)
|
||||
#:use-module (gnu packages ebook)
|
||||
#:use-module (gnu packages fontutils)
|
||||
#:use-module (gnu packages freedesktop)
|
||||
#:use-module (gnu packages glib)
|
||||
|
@ -33,6 +32,7 @@
|
|||
#:use-module (gnu packages image)
|
||||
#:use-module (gnu packages imagemagick)
|
||||
#:use-module (gnu packages libusb)
|
||||
#:use-module (gnu packages openssl)
|
||||
#:use-module (gnu packages pdf)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages python)
|
||||
|
@ -60,7 +60,7 @@
|
|||
(define-public calibre
|
||||
(package
|
||||
(name "calibre")
|
||||
(version "2.25.0")
|
||||
(version "2.29.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -69,7 +69,7 @@
|
|||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0h7cnwdd9phk4n5hl6xggkn7szvqsds5847mnk2wg2j2j1lzp2r0"))
|
||||
"1n3cfnjnghhhsgzcbcvbr0gh191lhl6az09q1s68jhlcc2lski6l"))
|
||||
;; Remove non-free or doubtful code, see
|
||||
;; https://lists.gnu.org/archive/html/guix-devel/2015-02/msg00478.html
|
||||
(modules '((guix build utils)))
|
||||
|
@ -106,6 +106,7 @@
|
|||
("libpng" ,libpng)
|
||||
("libusb" ,libusb)
|
||||
("libxrender" ,libxrender)
|
||||
("openssl" ,openssl)
|
||||
("podofo" ,podofo)
|
||||
("python" ,python-2)
|
||||
("python2-apsw" ,python2-apsw)
|
||||
|
|
|
@ -23,10 +23,12 @@
|
|||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system glib-or-gtk)
|
||||
#:use-module (guix build-system trivial)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages guile)
|
||||
#:use-module (gnu packages gtk)
|
||||
#:use-module (gnu packages gnome)
|
||||
#:use-module (gnu packages ncurses)
|
||||
|
@ -146,6 +148,35 @@ editor (without an X toolkit)" )
|
|||
(arguments (append '(#:configure-flags '("--with-x-toolkit=no"))
|
||||
(package-arguments emacs)))))
|
||||
|
||||
(define-public guile-emacs
|
||||
(package (inherit emacs)
|
||||
(name "guile-emacs")
|
||||
(version "20150512.41120e0")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "git://git.hcoop.net/git/bpt/emacs.git")
|
||||
(commit "41120e0f595b16387eebfbf731fff70481de1b4b")))
|
||||
(sha256
|
||||
(base32
|
||||
"0lvcvsz0f4mawj04db35p1dvkffdqkz8pkhc0jzh9j9x2i63kcz6"))))
|
||||
(native-inputs
|
||||
`(("autoconf" ,autoconf)
|
||||
("automake" ,automake)
|
||||
("guile" ,guile-for-guile-emacs)
|
||||
,@(package-native-inputs emacs)))
|
||||
(arguments
|
||||
(substitute-keyword-arguments `(;; Build fails if we allow parallel build.
|
||||
#:parallel-build? #f
|
||||
;; Tests aren't passing for now.
|
||||
#:tests? #f
|
||||
,@(package-arguments emacs))
|
||||
((#:phases phases)
|
||||
`(modify-phases ,phases
|
||||
(add-after 'unpack 'autogen
|
||||
(lambda _
|
||||
(zero? (system* "sh" "autogen.sh"))))))))))
|
||||
|
||||
|
||||
;;;
|
||||
;;; Emacs hacking.
|
||||
|
@ -230,52 +261,115 @@ for those who may want transient periods of unbalanced parentheses, such as
|
|||
when typing parentheses directly or commenting out code line by line.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public git-modes
|
||||
(package
|
||||
(name "git-modes")
|
||||
(version "1.0.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://github.com/magit/git-modes/archive/"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1biiss75bswx4alk85k3g9p0a3q3sc9i74h4mnrxc2rsk2iwhws0"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:modules ((guix build gnu-build-system)
|
||||
(guix build emacs-utils)
|
||||
(guix build utils))
|
||||
#:imported-modules (,@%gnu-build-system-modules
|
||||
(guix build emacs-utils))
|
||||
|
||||
#:make-flags (list (string-append "PREFIX="
|
||||
(assoc-ref %outputs "out"))
|
||||
;; Don't put .el files in a 'git-modes'
|
||||
;; sub-directory.
|
||||
(string-append "LISPDIR="
|
||||
(assoc-ref %outputs "out")
|
||||
"/share/emacs/site-lisp"))
|
||||
#:test-target "test"
|
||||
#:phases (modify-phases %standard-phases
|
||||
(delete 'configure)
|
||||
(add-after 'install 'emacs-autoloads
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(lisp (string-append
|
||||
out "/share/emacs/site-lisp/")))
|
||||
(emacs-generate-autoloads ,name lisp)))))))
|
||||
(native-inputs `(("emacs" ,emacs-no-x)))
|
||||
(home-page "https://github.com/magit/git-modes")
|
||||
(synopsis "Emacs major modes for Git configuration files")
|
||||
(description
|
||||
"This package provides Emacs major modes for editing various Git
|
||||
configuration files, such as .gitattributes, .gitignore, and .git/config.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public magit
|
||||
(package
|
||||
(name "magit")
|
||||
(version "1.2.1")
|
||||
(version "1.4.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://github.com/magit/magit/releases/download/"
|
||||
version "/" name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "1in48g5l5xdc9cf2apnpgx73mqlz2njrpi1w52dgql4qxv3kg6gr"))))
|
||||
(base32
|
||||
"0bbvz6cma5vj6qxx9v2m60zqkjwgwjrdf9kp04iacybvrcm8vcg7"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs `(("texinfo" ,texinfo)))
|
||||
(inputs `(("emacs" ,emacs-no-x)
|
||||
("git" ,git)
|
||||
(native-inputs `(("texinfo" ,texinfo)
|
||||
("emacs" ,emacs-no-x)))
|
||||
(inputs `(("git" ,git)
|
||||
("git:gui" ,git "gui")))
|
||||
(propagated-inputs `(("git-modes" ,git-modes)))
|
||||
(arguments
|
||||
`(#:modules ((guix build gnu-build-system)
|
||||
(guix build utils)
|
||||
(guix build emacs-utils))
|
||||
#:imported-modules (,@%gnu-build-system-modules
|
||||
(guix build emacs-utils))
|
||||
#:tests? #f ; no check target
|
||||
|
||||
#:test-target "test"
|
||||
#:tests? #f ;'tests/magit-tests.el' is missing
|
||||
|
||||
#:make-flags (list
|
||||
;; Don't put .el files in a sub-directory.
|
||||
(string-append "lispdir=" (assoc-ref %outputs "out")
|
||||
"/share/emacs/site-lisp"))
|
||||
|
||||
#:phases
|
||||
(alist-replace
|
||||
(modify-phases %standard-phases
|
||||
(replace
|
||||
'configure
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(substitute* "Makefile"
|
||||
(("/usr/local") out)
|
||||
(("/etc") (string-append out "/etc")))))
|
||||
(alist-cons-before
|
||||
(("/etc") (string-append out "/etc"))))))
|
||||
(add-before
|
||||
'build 'patch-exec-paths
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let ((git (assoc-ref inputs "git"))
|
||||
(git:gui (assoc-ref inputs "git:gui")))
|
||||
(emacs-substitute-variables "magit.el"
|
||||
("magit-git-executable" (string-append git "/bin/git"))
|
||||
("magit-gitk-executable" (string-append git:gui "/bin/gitk")))))
|
||||
(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
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(emacs-generate-autoloads
|
||||
,name (string-append (assoc-ref outputs "out")
|
||||
"/share/emacs/site-lisp/")))
|
||||
%standard-phases)))))
|
||||
"/share/emacs/site-lisp/")))))))
|
||||
(home-page "http://magit.github.io/")
|
||||
(synopsis "Emacs interface for the Git version control system")
|
||||
(description
|
||||
|
@ -286,6 +380,56 @@ cherry picking, reverting, merging, rebasing, and other common Git
|
|||
operations.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public magit-svn
|
||||
(package
|
||||
(name "magit-svn")
|
||||
(version "b69b79")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(commit version)
|
||||
(url "https://github.com/magit/magit-svn.git")))
|
||||
(sha256
|
||||
(base32
|
||||
"07xxszd12r38s46sz8fn2qz26b7s88i022cqp3gmkmmj3j57kqv6"))))
|
||||
(build-system trivial-build-system)
|
||||
(inputs `(("emacs" ,emacs-no-x)
|
||||
("magit" ,magit)))
|
||||
(arguments
|
||||
`(#:modules ((guix build utils)
|
||||
(guix build emacs-utils))
|
||||
|
||||
#:builder
|
||||
(begin
|
||||
(use-modules (guix build utils)
|
||||
(guix build emacs-utils))
|
||||
|
||||
(let* ((emacs (string-append (assoc-ref %build-inputs "emacs")
|
||||
"/bin/emacs"))
|
||||
(magit (string-append (assoc-ref %build-inputs "magit")
|
||||
"/share/emacs/site-lisp"))
|
||||
(commit (string-append (assoc-ref %build-inputs
|
||||
"magit/git-modes")
|
||||
"/share/emacs/site-lisp"))
|
||||
(source (assoc-ref %build-inputs "source"))
|
||||
(lisp-dir (string-append %output "/share/emacs/site-lisp")))
|
||||
(mkdir-p lisp-dir)
|
||||
(copy-file (string-append source "/magit-svn.el")
|
||||
(string-append lisp-dir "/magit-svn.el"))
|
||||
|
||||
(with-directory-excursion lisp-dir
|
||||
(parameterize ((%emacs emacs))
|
||||
(emacs-generate-autoloads ,name lisp-dir)
|
||||
(setenv "EMACSLOADPATH"
|
||||
(string-append ":" magit ":" commit))
|
||||
(emacs-batch-eval '(byte-compile-file "magit-svn.el"))))))))
|
||||
(home-page "https://github.com/magit/magit-svn")
|
||||
(synopsis "Git-SVN extension to Magit")
|
||||
(description
|
||||
"This package is an extension to Magit, the Git Emacs mode, providing
|
||||
support for Git-SVN.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
|
||||
;;;
|
||||
;;; Web browsing.
|
||||
|
|
|
@ -29,7 +29,7 @@
|
|||
(define-public feh
|
||||
(package
|
||||
(name "feh")
|
||||
(version "2.12")
|
||||
(version "2.13")
|
||||
(home-page "https://feh.finalrewind.org/")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
|
@ -37,7 +37,7 @@
|
|||
name "-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"0ckhidmsms2l5jycp0qf71jzmb3bpbhjq3bcgfpvfvszah7pmq30"))))
|
||||
"06fa9zh1zpi63l90kw3l9a0sfavf424j7ksi396ifg9669gx35gn"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:phases (alist-delete 'configure %standard-phases)
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2014 John Darrington <jmd@gnu.org>
|
||||
;;; Copyright © 2015 Eric Bavier <bavier@member.fsf.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -17,7 +18,10 @@
|
|||
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu packages fltk)
|
||||
#:use-module (guix licenses)
|
||||
#:use-module ((guix licenses) #:select (lgpl2.0))
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages image)
|
||||
#:use-module (gnu packages xorg)
|
||||
#:use-module (gnu packages gl)
|
||||
#:use-module (guix packages)
|
||||
|
@ -35,11 +39,15 @@
|
|||
"/fltk-" version "-source.tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"15qd7lkz5d5ynz70xhxhigpz3wns39v9xcf7ggkl0792syc8sfgq"))))
|
||||
"15qd7lkz5d5ynz70xhxhigpz3wns39v9xcf7ggkl0792syc8sfgq"))
|
||||
(patches (list (search-patch "fltk-shared-lib-defines.patch")))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("libx11" ,libx11)
|
||||
("mesa" ,mesa)))
|
||||
`(("libjpeg" ,libjpeg-8) ;jpeg_read_header argument error in libjpeg-9
|
||||
("libpng" ,libpng)
|
||||
("libx11" ,libx11)
|
||||
("mesa" ,mesa)
|
||||
("zlib" ,zlib)))
|
||||
(arguments
|
||||
`(#:tests? #f ;TODO: compile programs in "test" dir
|
||||
#:configure-flags
|
||||
|
@ -51,7 +59,22 @@
|
|||
(lambda _
|
||||
(substitute* "makeinclude.in"
|
||||
(("/bin/sh") (which "sh"))))
|
||||
%standard-phases)))
|
||||
(alist-cons-after
|
||||
'install 'patch-config
|
||||
;; Provide -L flags for image libraries when querying fltk-config to
|
||||
;; avoid propagating inputs.
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(use-modules (srfi srfi-26))
|
||||
(let* ((conf (string-append (assoc-ref outputs "out")
|
||||
"/bin/fltk-config"))
|
||||
(jpeg (assoc-ref inputs "libjpeg"))
|
||||
(png (assoc-ref inputs "libpng"))
|
||||
(zlib (assoc-ref inputs "zlib")))
|
||||
(substitute* conf
|
||||
(("-ljpeg") (string-append "-L" jpeg "/lib -ljpeg"))
|
||||
(("-lpng") (string-append "-L" png "/lib -lpng"))
|
||||
(("-lz") (string-append "-L" zlib "/lib -lz")))))
|
||||
%standard-phases))))
|
||||
(home-page "http://www.fltk.org")
|
||||
(synopsis "3D C++ GUI library")
|
||||
(description "FLTK is a C++ GUI toolkit providing modern GUI functionality
|
||||
|
|
|
@ -1,6 +1,9 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
|
||||
;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
|
||||
;;; Copyright © 2015 Andy Wingo <wingo@pobox.com>
|
||||
;;; Copyright © 2015 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -18,12 +21,22 @@
|
|||
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu packages freedesktop)
|
||||
#:use-module ((guix licenses) #:select (expat x11))
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system 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))
|
||||
|
||||
|
@ -48,7 +61,7 @@
|
|||
(description "The xdg-utils package is a set of simple scripts that
|
||||
provide basic desktop integration functions in the framework of the
|
||||
freedesktop.org project.")
|
||||
(license expat)))
|
||||
(license license:expat)))
|
||||
|
||||
(define-public libinput
|
||||
(package
|
||||
|
@ -74,4 +87,113 @@ freedesktop.org project.")
|
|||
(description
|
||||
"Libinput is a library to handle input devices for display servers and
|
||||
other applications that need to directly deal with input devices.")
|
||||
(license x11)))
|
||||
(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
|
||||
;;; Copyright © 2014 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2014, 2015 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
|
||||
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
|
||||
;;;
|
||||
|
@ -36,8 +36,10 @@
|
|||
(version "4.6.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://lftp.yar.ru/ftp/lftp-"
|
||||
version ".tar.xz"))
|
||||
(uri (list (string-append "http://lftp.yar.ru/ftp/lftp-"
|
||||
version ".tar.xz")
|
||||
(string-append "http://lftp.yar.ru/ftp/old/lftp-"
|
||||
version ".tar.xz")))
|
||||
(sha256
|
||||
(base32
|
||||
"1grmp8zg7cjgjinz66mrh53whigkqzl90nlxj05hapnhk3ns3vni"))
|
||||
|
|
|
@ -33,7 +33,11 @@
|
|||
#:use-module (gnu packages fontutils)
|
||||
#:use-module (gnu packages image)
|
||||
#:use-module (gnu packages audio)
|
||||
#:use-module (gnu packages pulseaudio))
|
||||
#:use-module (gnu packages pulseaudio)
|
||||
#:use-module (gnu packages gnome)
|
||||
#:use-module (gnu packages gtk)
|
||||
#:use-module (gnu packages sdl)
|
||||
#:use-module (gnu packages pkg-config))
|
||||
|
||||
(define-public bullet
|
||||
(package
|
||||
|
@ -127,3 +131,40 @@ clone.")
|
|||
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)))
|
||||
|
|
|
@ -108,7 +108,7 @@ representation of the playing board.")
|
|||
(define-public gnubik
|
||||
(package
|
||||
(name "gnubik")
|
||||
(version "2.4.1")
|
||||
(version "2.4.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -116,7 +116,7 @@ representation of the playing board.")
|
|||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0mfpwz341i1qpzi2qgslpc5i7d4fv7i01kv392m11pczqdc7i7m5"))))
|
||||
"0mhpfnxzbns0wfrsjv5vafqr34770rbvkmdzxk0x0aq67hb3zyl5"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs `(("gtk+" ,gtk+-2)
|
||||
("mesa" ,mesa)
|
||||
|
@ -748,6 +748,43 @@ some of the restrictions in the venerable Z-machine format. This is the
|
|||
reference interpreter, using Glk API.")
|
||||
(license (license:fsf-free "file://README"))))
|
||||
|
||||
(define-public fizmo
|
||||
(package
|
||||
(name "fizmo")
|
||||
(version "0.7.9")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://christoph-ender.de/fizmo/source/"
|
||||
name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1w7cgyjrhgkadjrazijzhq7zh0pl5bfc6wl7mdpgh020y4kp46d7"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:configure-flags
|
||||
(let ((libjpeg (assoc-ref %build-inputs "libjpeg"))
|
||||
(ncurses (assoc-ref %build-inputs "ncurses")))
|
||||
(list (string-append "jpeg_CFLAGS=-I" libjpeg "/include")
|
||||
(string-append "jpeg_LIBS=-ljpeg")
|
||||
(string-append "ncursesw_CFLAGS=-I" ncurses "/include")
|
||||
(string-append "ncursesw_LIBS=-lncursesw")))))
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
(inputs
|
||||
`(("libjpeg" ,libjpeg)
|
||||
("libpng" ,libpng)
|
||||
("libsndfile" ,libsndfile)
|
||||
("libxml2" ,libxml2)
|
||||
("ncurses" ,ncurses)
|
||||
("sdl" ,sdl)))
|
||||
(home-page "https://christoph-ender.de/fizmo/")
|
||||
(synopsis "Z-machine interpreter")
|
||||
(description
|
||||
"Fizmo is a console-based Z-machine interpreter. It is used to play
|
||||
interactive ficiton, also known as textadventures, which were implemented
|
||||
either by Infocom or created using the Inform compiler.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public retroarch
|
||||
(package
|
||||
(name "retroarch")
|
||||
|
@ -879,3 +916,37 @@ 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+)))
|
||||
|
|
|
@ -335,7 +335,9 @@ Go. It also includes runtime support libraries for these languages.")
|
|||
(sha256
|
||||
(base32
|
||||
"1bd5vj4px3s8nlakbgrh38ynxq4s654m6nxz7lrj03mvkkwgvnmp"))
|
||||
(patches (origin-patches (package-source gcc-4.9)))))))
|
||||
(patches (map search-patch
|
||||
'("gcc-arm-link-spec-fix.patch"
|
||||
"gcc-5.0-libvtv-runpath.patch")))))))
|
||||
|
||||
(define* (custom-gcc gcc name languages #:key (separate-lib-output? #t))
|
||||
"Return a custom version of GCC that supports LANGUAGES."
|
||||
|
@ -406,7 +408,16 @@ Go. It also includes runtime support libraries for these languages.")
|
|||
,@(remove (cut string-match "--enable-languages.*" <>)
|
||||
,flags))))
|
||||
((#:phases phases)
|
||||
`(alist-cons-after
|
||||
`(modify-phases ,phases
|
||||
(add-after
|
||||
'unpack 'add-lib-output-to-rpath
|
||||
(lambda _
|
||||
(substitute* "libjava/Makefile.in"
|
||||
(("libgcj_bc_dummy_LINK = .* -shared" line)
|
||||
(string-append line " -Wl,-rpath=$(libdir)"))
|
||||
(("libgcj(_bc)?_la_LDFLAGS =" ldflags _)
|
||||
(string-append ldflags " -Wl,-rpath=$(libdir)")))))
|
||||
(add-after
|
||||
'install 'install-javac-and-javap-wrappers
|
||||
(lambda _
|
||||
(let* ((javac (assoc-ref %build-inputs "javac.in"))
|
||||
|
@ -435,8 +446,18 @@ Go. It also includes runtime support libraries for these languages.")
|
|||
(("@TOOLS_JAR@")
|
||||
(string-append jvm "/lib/tools.jar")))
|
||||
(chmod target #o755)
|
||||
#t))
|
||||
,phases))))))
|
||||
#t)))
|
||||
(add-after
|
||||
'install 'remove-broken-or-conflicting-files
|
||||
(lambda _
|
||||
(let ((out (assoc-ref %outputs "out")))
|
||||
(for-each
|
||||
delete-file
|
||||
(append (find-files (string-append out "/lib/jvm/jre/lib")
|
||||
"libjawt.so")
|
||||
(find-files (string-append out "/bin")
|
||||
".*(c\\+\\+|cpp|g\\+\\+|gcc.*)"))))
|
||||
#t))))))))
|
||||
|
||||
(define ecj-bootstrap-4.8
|
||||
(origin
|
||||
|
|
|
@ -36,14 +36,14 @@
|
|||
(define-public gdb
|
||||
(package
|
||||
(name "gdb")
|
||||
(version "7.9")
|
||||
(version "7.9.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/gdb/gdb-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"14l3hhsy7fmpn2dk7ivc67gnbjdhkxlq90kxijpzfa35l58mcccv"))))
|
||||
"0h5sfg4ndhb8q4fxbq0hdxfjp35n6ih96f6x8yvb418s84x5976d"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:tests? #f ; FIXME "make check" fails on single-processor systems.
|
||||
|
|
|
@ -32,6 +32,7 @@
|
|||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages xml)
|
||||
#:use-module (gnu packages photo)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages xorg)
|
||||
#:use-module (gnu packages imagemagick))
|
||||
|
||||
|
@ -127,10 +128,6 @@ buffers.")
|
|||
(base32
|
||||
"0bdj0l7a94jqhjnj40m9rqaf622wj905iximivb55iy98639aanq"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
;; We don't have pygtk which seems to be needed for this feature
|
||||
`("--disable-python")))
|
||||
(inputs
|
||||
`(("babl" ,babl)
|
||||
("glib" ,glib)
|
||||
|
@ -141,6 +138,8 @@ buffers.")
|
|||
("exif" ,libexif) ;optional, EXIF + XMP support
|
||||
("lcms" ,lcms) ;optional, color management
|
||||
("librsvg" ,librsvg) ;optional, SVG support
|
||||
("python" ,python-2) ;optional, Python support
|
||||
("python2-pygtk" ,python2-pygtk) ;optional, Python support
|
||||
("gegl" ,gegl)))
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
|
||||
;;; Copyright © 2013, 2015 Andreas Enge <andreas@enge.fr>
|
||||
;;; Copyright © 2013 Joshua Grant <tadni@riseup.net>
|
||||
;;; Copyright © 2014 David Thompson <davet@gnu.org>
|
||||
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
|
||||
|
@ -40,7 +40,8 @@
|
|||
#:use-module (gnu packages fontutils)
|
||||
#:use-module (gnu packages guile)
|
||||
#:use-module (gnu packages video)
|
||||
#:use-module (gnu packages xdisorg))
|
||||
#:use-module (gnu packages xdisorg)
|
||||
#:use-module (gnu packages zip))
|
||||
|
||||
(define-public glu
|
||||
(package
|
||||
|
@ -53,7 +54,8 @@
|
|||
(sha256
|
||||
(base32 "0r72yyhj09x3krn3kn629jqbwyq50ji8w5ri2pn6zwrk35m4g1s3"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs `(("mesa" ,mesa)))
|
||||
(propagated-inputs
|
||||
`(("mesa" ,mesa))) ; according to glu.pc
|
||||
(home-page "http://www.opengl.org/archives/resources/faq/technical/glu.htm")
|
||||
(synopsis "Mesa OpenGL Utility library")
|
||||
(description
|
||||
|
@ -219,7 +221,7 @@ also known as DXTn or DXTC) for Mesa.")
|
|||
(arguments
|
||||
`(#:configure-flags
|
||||
'(;; drop r300 from default gallium drivers, as it requires llvm
|
||||
"--with-gallium-drivers=r600,svga,swrast"
|
||||
"--with-gallium-drivers=r600,svga,swrast,nouveau"
|
||||
;; Enable various optional features. TODO: opencl requires libclc,
|
||||
;; omx requires libomxil-bellagio
|
||||
"--with-egl-platforms=x11,drm"
|
||||
|
@ -403,6 +405,7 @@ extension functionality is exposed in a single header file.")
|
|||
(native-inputs `(("pkg-config" ,pkg-config)))
|
||||
(inputs `(("guile" ,guile-2.0)
|
||||
("mesa" ,mesa)
|
||||
("glu" ,glu)
|
||||
("freeglut" ,freeglut)))
|
||||
(arguments
|
||||
'(#:phases (alist-cons-before
|
||||
|
@ -417,7 +420,7 @@ extension functionality is exposed in a single header file.")
|
|||
;; Replace dynamic-link calls for libGL, libGLU, and
|
||||
;; libglut with absolute paths to the store.
|
||||
(dynamic-link-substitute "glx/runtime.scm" "GL" "mesa")
|
||||
(dynamic-link-substitute "glu/runtime.scm" "GLU" "mesa")
|
||||
(dynamic-link-substitute "glu/runtime.scm" "GLU" "glu")
|
||||
(dynamic-link-substitute "glut/runtime.scm" "glut"
|
||||
"freeglut"))
|
||||
%standard-phases)))
|
||||
|
@ -484,3 +487,45 @@ OpenGL graphics API.")
|
|||
(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)))
|
||||
|
|
|
@ -353,10 +353,11 @@ translated.")
|
|||
(base32
|
||||
"1xi1v1msz75qs0s4lkyf1psrksdppa3hwkg0mznc6gpw5flg3hdz"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
(propagated-inputs ; according to dbus-glib-1.pc
|
||||
`(("dbus" ,dbus)
|
||||
("expat" ,expat)
|
||||
("glib" ,glib)))
|
||||
(inputs
|
||||
`(("expat" ,expat)))
|
||||
(native-inputs
|
||||
`(("glib" ,glib "bin")
|
||||
("pkg-config" ,pkg-config)))
|
||||
|
|
|
@ -6,6 +6,8 @@
|
|||
;;; Copyright © 2014, 2015 Federico Beffa <beffa@fbengineering.ch>
|
||||
;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
|
||||
;;; Copyright © 2015 Andy Wingo <wingo@igalia.com>
|
||||
;;; Copyright © 2015 David Hashe <david.hashe@dhashe.com>
|
||||
;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -36,14 +38,15 @@
|
|||
#:use-module (gnu packages cups)
|
||||
#:use-module (gnu packages curl)
|
||||
#:use-module (gnu packages databases)
|
||||
#:use-module (gnu packages djvu)
|
||||
#:use-module (gnu packages flex)
|
||||
#:use-module (gnu packages databases)
|
||||
#:use-module (gnu packages docbook)
|
||||
#:use-module (gnu packages glib)
|
||||
#:use-module (gnu packages gnupg)
|
||||
#:use-module (gnu packages gnuzilla)
|
||||
#:use-module (gnu packages gstreamer)
|
||||
#:use-module (gnu packages gtk)
|
||||
#:use-module (gnu packages guile)
|
||||
#:use-module (gnu packages pdf)
|
||||
#:use-module (gnu packages polkit)
|
||||
#:use-module (gnu packages popt)
|
||||
|
@ -59,13 +62,20 @@
|
|||
#:use-module (gnu packages pulseaudio)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages scanner)
|
||||
#:use-module (gnu packages ssh)
|
||||
#:use-module (gnu packages xml)
|
||||
#:use-module (gnu packages gl)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages texlive)
|
||||
#:use-module (gnu packages web)
|
||||
#:use-module (gnu packages webkit)
|
||||
#:use-module (gnu packages xorg)
|
||||
#: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
|
||||
(package
|
||||
|
@ -176,6 +186,50 @@ Gnome project. It includes xml2po tool which makes it easier to translate
|
|||
and keep up to date translations of documentation.")
|
||||
(license license:gpl2+))) ; xslt under lgpl
|
||||
|
||||
(define-public gcr
|
||||
(package
|
||||
(name "gcr")
|
||||
(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
|
||||
"0xfhi0w358lvca1jjx24x2gm67mif33dsnmi9cv5i0f83ks8vzpc"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:tests? #f ;25 of 598 tests fail because /var/lib/dbus/machine-id does
|
||||
;not exist
|
||||
#:phases (modify-phases %standard-phases
|
||||
(add-before
|
||||
'check 'pre-check
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* "build/tap-driver"
|
||||
(("/usr/bin/env python") (which "python"))))))))
|
||||
(inputs
|
||||
`(("dbus" ,dbus)
|
||||
("gnupg" ,gnupg) ;called as a child process during tests
|
||||
("libgcrypt" ,libgcrypt)))
|
||||
(native-inputs
|
||||
`(("python" ,python-2) ;for tests
|
||||
("pkg-config" ,pkg-config)
|
||||
("glib" ,glib "bin")
|
||||
("intltool" ,intltool)))
|
||||
;; mentioned in gck.pc, gcr.pc and gcr-ui.pc
|
||||
(propagated-inputs
|
||||
`(("p11-kit" ,p11-kit)
|
||||
("glib" ,glib)
|
||||
("gtk+" ,gtk+)))
|
||||
(home-page "http://www.gnome.org")
|
||||
(synopsis "Libraries for displaying certificates and accessing key stores")
|
||||
(description
|
||||
"The GCR package contains libraries used for displaying certificates and
|
||||
accessing key stores. It also provides the viewer for crypto files on the
|
||||
GNOME Desktop.")
|
||||
(license license:lgpl2.1+)))
|
||||
|
||||
(define-public libgnome-keyring
|
||||
(package
|
||||
(name "libgnome-keyring")
|
||||
|
@ -207,10 +261,10 @@ and keep up to date translations of documentation.")
|
|||
;; Though a couple of files are LGPLv2.1+.
|
||||
(license license:lgpl2.0+)))
|
||||
|
||||
(define-public evince
|
||||
(define-public gnome-keyring
|
||||
(package
|
||||
(name "evince")
|
||||
(version "3.6.1")
|
||||
(name "gnome-keyring")
|
||||
(version "3.16.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnome/sources/" name "/"
|
||||
|
@ -218,7 +272,74 @@ and keep up to date translations of documentation.")
|
|||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1da1pij030dh8mb0pr0jnyszgsbjnh8lc17rj5ii52j3kmbv51qv"))))
|
||||
"1xg1xha3x3hzlmvdq2zm90hc61pj7pnf9yxxvgq4ynl5af6bp8qm"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ;48 of 603 tests fail because /var/lib/dbus/machine-id does
|
||||
;not exist
|
||||
#:configure-flags
|
||||
(list
|
||||
(string-append "--with-pkcs11-config="
|
||||
(assoc-ref %outputs "out") "/share/p11-kit/modules/")
|
||||
(string-append "--with-pkcs11-modules="
|
||||
(assoc-ref %outputs "out") "/share/p11-kit/modules/"))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before
|
||||
'check 'pre-check
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* "build/tap-driver"
|
||||
(("/usr/bin/env python") (which "python")))))
|
||||
(add-before
|
||||
'configure 'fix-docbook
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* "docs/Makefile.am"
|
||||
(("http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl")
|
||||
(string-append (assoc-ref inputs "docbook-xsl")
|
||||
"/xml/xsl/docbook-xsl-"
|
||||
,(package-version docbook-xsl)
|
||||
"/manpages/docbook.xsl")))
|
||||
(setenv "XML_CATALOG_FILES"
|
||||
(string-append (assoc-ref inputs "docbook-xml")
|
||||
"/xml/dtd/docbook/catalog.xml")))))))
|
||||
(inputs
|
||||
`(("libgcrypt" ,libgcrypt)
|
||||
("dbus" ,dbus)
|
||||
("gcr" ,gcr)))
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)
|
||||
("glib" ,glib "bin")
|
||||
("python" ,python-2) ;for tests
|
||||
("intltool" ,intltool)
|
||||
("autoconf" ,autoconf)
|
||||
("automake" ,automake)
|
||||
("libxslt" ,libxslt) ;for documentation
|
||||
("docbook-xml" ,docbook-xml-4.2)
|
||||
("docbook-xsl" ,docbook-xsl)))
|
||||
(home-page "http://www.gnome.org")
|
||||
(synopsis "Daemon to store passwords and encryption keys")
|
||||
(description
|
||||
"gnome-keyring is a program that keeps passwords and other secrets for
|
||||
users. It is run as a daemon in the session, similar to ssh-agent, and other
|
||||
applications locate it via an environment variable or D-Bus.
|
||||
|
||||
The program can manage several keyrings, each with its own master password,
|
||||
and there is also a session keyring which is never stored to disk, but
|
||||
forgotten when the session ends.")
|
||||
(license license:lgpl2.1+)))
|
||||
|
||||
(define-public evince
|
||||
(package
|
||||
(name "evince")
|
||||
(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
|
||||
"0c31pwfzfm5x036f018q31k33vl8xb96nbs0iiccsc1abc37bzq6"))))
|
||||
(build-system glib-or-gtk-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags '("--disable-nautilus")
|
||||
|
@ -229,12 +350,18 @@ and keep up to date translations of documentation.")
|
|||
#:tests? #f))
|
||||
(inputs
|
||||
`(("libspectre" ,libspectre)
|
||||
;; ("djvulibre" ,djvulibre)
|
||||
("djvulibre" ,djvulibre)
|
||||
("ghostscript" ,ghostscript)
|
||||
("poppler" ,poppler)
|
||||
("libtiff" ,libtiff)
|
||||
;; TODO:
|
||||
;; Add libgxps for XPS support.
|
||||
;; Build libkpathsea as a shared library for DVI support.
|
||||
;; ("libkpathsea" ,texlive-bin)
|
||||
("gnome-desktop" ,gnome-desktop)
|
||||
("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
|
||||
("libgnome-keyring" ,libgnome-keyring)
|
||||
("gnome-icon-theme" ,gnome-icon-theme)
|
||||
("adwaita-icon-theme" ,adwaita-icon-theme)
|
||||
("itstool" ,itstool)
|
||||
("gdk-pixbuf" ,gdk-pixbuf)
|
||||
("atk" ,atk)
|
||||
|
@ -247,6 +374,7 @@ and keep up to date translations of documentation.")
|
|||
("shared-mime-info" ,shared-mime-info)
|
||||
("dconf" ,dconf)
|
||||
("libcanberra" ,libcanberra)
|
||||
("libsecret" ,libsecret)
|
||||
|
||||
;; For tests.
|
||||
("dogtail" ,python2-dogtail)))
|
||||
|
@ -365,7 +493,7 @@ update-desktop-database: updates the database containing a cache of MIME types
|
|||
(define-public gnome-icon-theme
|
||||
(package
|
||||
(name "gnome-icon-theme")
|
||||
(version "3.10.0")
|
||||
(version "3.12.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -374,13 +502,12 @@ update-desktop-database: updates the database containing a cache of MIME types
|
|||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1xinbgkkvlhazj887ajcl13i7kdc1wcca02jwxzvjrvchjsp4m66"))))
|
||||
"0fjh9qmmgj34zlgxb09231ld7khys562qxbpsjlaplq2j85p57im"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("gtk+" ,gtk+)
|
||||
("icon-naming-utils" ,icon-naming-utils)))
|
||||
(native-inputs
|
||||
`(("intltool" ,intltool)
|
||||
`(("gtk+" ,gtk+) ; for gtk-update-icon-cache
|
||||
("icon-naming-utils" ,icon-naming-utils)
|
||||
("intltool" ,intltool)
|
||||
("pkg-config" ,pkg-config)))
|
||||
(home-page "http://art.gnome.org/")
|
||||
(synopsis
|
||||
|
@ -389,6 +516,20 @@ update-desktop-database: updates the database containing a cache of MIME types
|
|||
"Icons for the GNOME desktop.")
|
||||
(license license:lgpl3))) ; or Creative Commons BY-SA 3.0
|
||||
|
||||
;; gnome-icon-theme was renamed to adwaita-icon-theme after version 3.12.0.
|
||||
(define-public adwaita-icon-theme
|
||||
(package (inherit gnome-icon-theme)
|
||||
(name "adwaita-icon-theme")
|
||||
(version "3.16.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnome/sources/" name "/"
|
||||
(version-major+minor version) "/"
|
||||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1hmlw7kvhr7c2asc5y77adpymi9ka17gaf76zz835nwwffnn4rlw"))))))
|
||||
|
||||
(define-public shared-mime-info
|
||||
(package
|
||||
(name "shared-mime-info")
|
||||
|
@ -629,7 +770,7 @@ dealing with different structured file formats.")
|
|||
(define-public librsvg
|
||||
(package
|
||||
(name "librsvg")
|
||||
(version "2.40.6")
|
||||
(version "2.40.9")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnome/sources/" name "/"
|
||||
|
@ -637,7 +778,7 @@ dealing with different structured file formats.")
|
|||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"01jgb11779080b80k2ncrhdphgillqrrnszal6vh8yv787r4kwwa"))))
|
||||
"0fplymmqqr28y24vcnb01szn62pfbqhk8p1ngns54x9m6mflr5hk"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
|
@ -819,11 +960,10 @@ use in GNOME applications, built on top of CORBA.")
|
|||
(sha256
|
||||
(base32 "0k3q9nh53yhc9qxf1zaicz4sk8p3kzq4ndjdsgpaa2db0ccbj4hr"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs `(("glib" ,glib)
|
||||
("dbus" ,dbus)
|
||||
("dbus-glib" ,dbus-glib)
|
||||
(inputs `(("dbus-glib" ,dbus-glib)
|
||||
("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
|
||||
`(("intltool" ,intltool)
|
||||
("glib" ,glib "bin") ; for glib-genmarshal, etc.
|
||||
|
@ -887,10 +1027,8 @@ designed to be accessed through the MIME functions in GnomeVFS.")
|
|||
(substitute* "test/test-async-cancel.c"
|
||||
(("EXIT_FAILURE") "77")))
|
||||
%standard-phases))))
|
||||
(inputs `(("glib" ,glib)
|
||||
("libxml2" ,libxml2)
|
||||
(inputs `(("libxml2" ,libxml2)
|
||||
("dbus-glib" ,dbus-glib)
|
||||
("dbus" ,dbus)
|
||||
("gconf" ,gconf)
|
||||
("gnome-mime-data" ,gnome-mime-data)
|
||||
("zlib" ,zlib)))
|
||||
|
@ -943,8 +1081,7 @@ to access local and remote files with a single consistent API.")
|
|||
`(("libcanberra" ,libcanberra)
|
||||
("libbonobo" ,libbonobo)
|
||||
("gconf" ,gconf)
|
||||
("gnome-vfs" ,gnome-vfs)
|
||||
("glib" ,glib)))
|
||||
("gnome-vfs" ,gnome-vfs)))
|
||||
(home-page "https://developer.gnome.org/libgnome/")
|
||||
(synopsis "Useful routines for building applications")
|
||||
(description "The libgnome library provides a number of useful routines
|
||||
|
@ -1274,6 +1411,33 @@ Hints specification (EWMH).")
|
|||
;; Note: NOT LGPL
|
||||
(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
|
||||
(package
|
||||
(name "gnumeric")
|
||||
|
@ -1371,6 +1535,39 @@ engineering.")
|
|||
"The default GNOME 3 themes (Adwaita and some accessibility themes).")
|
||||
(license license:lgpl2.1+)))
|
||||
|
||||
(define-public seahorse
|
||||
(package
|
||||
(name "seahorse")
|
||||
(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
|
||||
"0cg1grgpwbfkiny5148n17rzpc8kswyr5yff0kpm8l3lp01my2kp"))))
|
||||
(build-system glib-or-gtk-build-system)
|
||||
(inputs
|
||||
`(("gtk+" ,gtk+)
|
||||
("gcr" ,gcr)
|
||||
("gnupg" ,gnupg-1)
|
||||
("gpgme" ,gpgme)
|
||||
("openssh" ,openssh)
|
||||
("libsecret" ,libsecret)))
|
||||
(native-inputs
|
||||
`(("intltool" ,intltool)
|
||||
("glib:bin" ,glib "bin")
|
||||
("itstool" ,itstool)
|
||||
("pkg-config" ,pkg-config)))
|
||||
(home-page "https://launchpad.net/gnome-themes-standard")
|
||||
(synopsis "Manage encryption keys and passwords in the GNOME keyring")
|
||||
(description
|
||||
"Seahorse is a GNOME application for managing encryption keys and
|
||||
passwords in the GNOME keyring.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public vala
|
||||
(package
|
||||
(name "vala")
|
||||
|
@ -1906,7 +2103,6 @@ keyboard shortcuts.")
|
|||
("intltool" ,intltool)))
|
||||
(inputs
|
||||
`(("eudev" ,eudev)
|
||||
("dbus" ,dbus)
|
||||
("dbus-glib" ,dbus-glib)
|
||||
("libusb" ,libusb)
|
||||
("lcms" ,lcms)
|
||||
|
@ -1923,7 +2119,7 @@ output devices.")
|
|||
(define-public geoclue
|
||||
(package
|
||||
(name "geoclue")
|
||||
(version "2.1.10")
|
||||
(version "2.2.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -1932,7 +2128,7 @@ output devices.")
|
|||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0s0ws2bx5g1cbjamxmm448r4n4crha2fwpzm8zbx6cq6qslygmzi"))
|
||||
"0inlqx0zar498fhi9hh92p2g4kp8qy3zdl4z3vw6bjwp9w6xx454"))
|
||||
(patches (list (search-patch "geoclue-config.patch")))))
|
||||
(build-system glib-or-gtk-build-system)
|
||||
(arguments
|
||||
|
@ -2040,7 +2236,6 @@ faster results and to avoid unnecessary server load.")
|
|||
("python" ,python)))
|
||||
(inputs
|
||||
`(("eudev" ,eudev)
|
||||
("dbus" ,dbus)
|
||||
("dbus-glib" ,dbus-glib)
|
||||
("libusb" ,libusb)))
|
||||
(home-page "http://upower.freedesktop.org/")
|
||||
|
@ -2153,3 +2348,99 @@ 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+)))
|
||||
|
||||
(define-public devhelp
|
||||
(package
|
||||
(name "devhelp")
|
||||
(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
|
||||
"0i8kyh86hzwxs8dm047ivghl2b92vigdxa3x4pk4ha0whpk38g37"))))
|
||||
(build-system glib-or-gtk-build-system)
|
||||
(native-inputs
|
||||
`(("intltool" ,intltool)
|
||||
("pkg-config" ,pkg-config)))
|
||||
(inputs
|
||||
`(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
|
||||
("webkitgtk" ,webkitgtk)))
|
||||
(home-page "https://wiki.gnome.org/Apps/Devhelp")
|
||||
(synopsis "API documentation browser for GNOME")
|
||||
(description
|
||||
"Devhelp is an API documentation browser for GTK+ and GNOME. It works
|
||||
natively with GTK-Doc (the API reference system developed for GTK+ and used
|
||||
throughout GNOME for API documentation).")
|
||||
(license license:gpl2+)))
|
||||
|
|
|
@ -23,22 +23,25 @@
|
|||
#:use-module (guix download)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages base))
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages autogen))
|
||||
|
||||
(define-public gnu-pw-mgr
|
||||
(package
|
||||
(name "gnu-pw-mgr")
|
||||
(version "1.3")
|
||||
(version "1.4")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/gnu-pw-mgr/gnu-pw-mgr-"
|
||||
version ".tar.gz"))
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0rbnv5wszpr35py97vwylqkdlf06qpd2x9j9aqlmgkd4mr1n4hf0"))))
|
||||
"0a352y1m33vp6zmdbn96fdrq9gr9lchc9vcrj14mfx7g0dsvxjns"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs `(("which" ,which)))
|
||||
(native-inputs
|
||||
`(("which" ,which)
|
||||
("autogen" ,autogen)))
|
||||
(home-page "http://www.gnu.org/software/gnu-pw-mgr/")
|
||||
(synopsis "Retrieve login credentials without recording passwords")
|
||||
(description
|
||||
|
|
|
@ -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/gtk+-2)))
|
||||
(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+)))
|
|
@ -190,14 +190,14 @@ compatible to GNU Pth.")
|
|||
(define-public gnupg
|
||||
(package
|
||||
(name "gnupg")
|
||||
(version "2.1.2")
|
||||
(version "2.1.4")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnupg/gnupg/gnupg-" version
|
||||
".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"14k7c5spai3yppz6izf1ggbnffskl54ln87v1wgy9pwism1mlks0"))))
|
||||
"1c3c89b7ziknz6h1dnwmfjhgyy28g982rcncrhmhylb8v3npw4k4"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("bzip2" ,bzip2)
|
||||
|
@ -231,14 +231,14 @@ libskba (working with X.509 certificates and CMS data).")
|
|||
|
||||
(define-public gnupg-2.0
|
||||
(package (inherit gnupg)
|
||||
(version "2.0.27")
|
||||
(version "2.0.28")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnupg/gnupg/gnupg-" version
|
||||
".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"1wihx7dphacg9fy5wfj93h236lr1w5gwzh7ir3js37wi9cz6sr2p"))))
|
||||
"0k2k399fnhfhhr4dvm8d6vs4ihq6gg06191lzfwikzaqmgj2w2ff"))))
|
||||
(inputs
|
||||
`(("bzip2" ,bzip2)
|
||||
("curl" ,curl)
|
||||
|
@ -300,7 +300,7 @@ libskba (working with X.509 certificates and CMS data).")
|
|||
;; Needs to be propagated because gpgme.h includes gpg-error.h.
|
||||
`(("libgpg-error" ,libgpg-error)))
|
||||
(inputs
|
||||
`(("gnupg" ,gnupg)
|
||||
`(("gnupg" ,gnupg-2.0)
|
||||
("libassuan" ,libassuan)))
|
||||
(arguments '(#:make-flags '("GPG=gpg2")))
|
||||
(home-page "http://www.gnupg.org/related_software/gpgme/")
|
||||
|
|
|
@ -39,7 +39,7 @@
|
|||
(define-public libtasn1
|
||||
(package
|
||||
(name "libtasn1")
|
||||
(version "4.4")
|
||||
(version "4.5")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -47,7 +47,7 @@
|
|||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0p8c5s1gm3z3nn4s9qc6gs18grbk45mx44byqw2l2qzynjqrsd7q"))))
|
||||
"1nhvnznhg2aqfrfjxc8v008hjlzkh5831jsfahqk89qrw7fbbcw9"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs `(("perl" ,perl)
|
||||
|
||||
|
@ -104,7 +104,7 @@ living in the same process.")
|
|||
(define-public gnutls
|
||||
(package
|
||||
(name "gnutls")
|
||||
(version "3.4.0")
|
||||
(version "3.4.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri
|
||||
|
@ -115,9 +115,7 @@ living in the same process.")
|
|||
"/gnutls-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0bj7ydvsyvml59b6040wg7694iz37rwnqnv09bic9ddz652588ml"))
|
||||
(patches
|
||||
(list (search-patch "gnutls-fix-duplicate-manpages.patch")))))
|
||||
"0bmih0zyiplr4v8798w0v9g3215zmganq18n8935cizkxj5zbdg9"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:configure-flags
|
||||
|
|
|
@ -124,7 +124,7 @@ in the Mozilla clients.")
|
|||
(define-public nss
|
||||
(package
|
||||
(name "nss")
|
||||
(version "3.18")
|
||||
(version "3.19.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (let ((version-with-underscores
|
||||
|
@ -135,7 +135,7 @@ in the Mozilla clients.")
|
|||
"nss-" version ".tar.gz")))
|
||||
(sha256
|
||||
(base32
|
||||
"0h0xy9kvd2s8r438q4dfn25cgvv5dc1hkm9lb4bgrxpr5bxv13b1"))
|
||||
"1zrgqlli01gsg2a5w4bk2p0q3aagi5dhd31yirnj04zca6ap1gmp"))
|
||||
;; Create nss.pc and nss-config.
|
||||
(patches (list (search-patch "nss-pkgconfig.patch")))))
|
||||
(build-system gnu-build-system)
|
||||
|
@ -205,6 +205,12 @@ in the Mozilla clients.")
|
|||
("zlib" ,zlib)))
|
||||
(propagated-inputs `(("nspr" ,nspr))) ; required by nss.pc.
|
||||
(native-inputs `(("perl" ,perl)))
|
||||
|
||||
;; The NSS test suite takes over 28 hours on Loongson 3A (MIPS), and
|
||||
;; possibly longer when another build is happening concurrently on the
|
||||
;; same machine.
|
||||
(properties '((timeout . 144000))) ; 40 hours
|
||||
|
||||
(home-page
|
||||
"https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS")
|
||||
(synopsis "Network Security Services")
|
||||
|
@ -219,7 +225,7 @@ standards.")
|
|||
(define-public icecat
|
||||
(package
|
||||
(name "icecat")
|
||||
(version "31.6.0-gnu1")
|
||||
(version "31.7.0-gnu1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -228,15 +234,13 @@ standards.")
|
|||
name "-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"1a4l23msg4cpc4yp59q2z6xv63r6advlbnjy65v4djv6yhgnqf1i"))))
|
||||
"0a25jp5afla2dxzj7i4cyvqpa5smsn7ns3xvpzqw6pc7naixkpap"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("alsa-lib" ,alsa-lib)
|
||||
("bzip2" ,bzip2)
|
||||
("cairo" ,cairo)
|
||||
("dbus" ,dbus)
|
||||
("dbus-glib" ,dbus-glib)
|
||||
("glib" ,glib)
|
||||
("gstreamer" ,gstreamer)
|
||||
("gst-plugins-base" ,gst-plugins-base)
|
||||
("gtk+" ,gtk+-2)
|
||||
|
|
|
@ -171,6 +171,10 @@ This package provides the core library and elements.")
|
|||
;; for g-ir-scanner.
|
||||
(setenv "CC" "gcc"))
|
||||
%standard-phases)))
|
||||
(native-search-paths
|
||||
(list (search-path-specification
|
||||
(variable "GST_PLUGIN_SYSTEM_PATH")
|
||||
(files '("lib/gstreamer-1.0")))))
|
||||
(home-page "http://gstreamer.freedesktop.org/")
|
||||
(synopsis
|
||||
"Plugins for the GStreamer multimedia library")
|
||||
|
|
|
@ -138,24 +138,28 @@ affine transformation (scale, rotation, shear, etc.)")
|
|||
(define-public harfbuzz
|
||||
(package
|
||||
(name "harfbuzz")
|
||||
(version "0.9.22")
|
||||
(version "0.9.40")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://www.freedesktop.org/software/harfbuzz/release/harfbuzz-"
|
||||
version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"1nkimwadri6v2kzrmz8y0crmy59gw0kg4i4f6cc786bngs0815lq"))))
|
||||
"07rjp05axas96fp23lpf8l2yyfdj9yib4m0qjv592vdyhcsxaw8p"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("cairo" ,cairo)
|
||||
("graphite2" ,graphite2)
|
||||
("icu4c" ,icu4c)))
|
||||
(propagated-inputs
|
||||
`(("glib" ,glib))) ; required by harfbuzz-gobject.pc
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)
|
||||
("python" ,python-wrapper)))
|
||||
`(("gobject-introspection" ,gobject-introspection)
|
||||
("pkg-config" ,pkg-config)
|
||||
("python" ,python-2))) ; incompatible with Python 3 (print syntax)
|
||||
(arguments
|
||||
`(#:configure-flags `("--with-graphite2=yes")))
|
||||
`(#:configure-flags `("--with-graphite2"
|
||||
"--with-gobject")))
|
||||
(synopsis "OpenType text shaping engine")
|
||||
(description
|
||||
"HarfBuzz is an OpenType text shaping engine.")
|
||||
|
@ -426,7 +430,7 @@ is part of the GNOME accessibility project.")
|
|||
(define-public gtk+-2
|
||||
(package
|
||||
(name "gtk+")
|
||||
(version "2.24.27")
|
||||
(version "2.24.28")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnome/sources/" name "/"
|
||||
|
@ -434,7 +438,7 @@ is part of the GNOME accessibility project.")
|
|||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1x14rnjvqslpa1q19fp1qalz5sxds72amsgjk8m7769rwk511jr0"))))
|
||||
"0mj6xn40py9r9lvzg633fal81xfwfm89d9mvz7jk4lmwk0g49imj"))))
|
||||
(build-system gnu-build-system)
|
||||
(outputs '("out" "doc"))
|
||||
(propagated-inputs
|
||||
|
@ -482,7 +486,7 @@ application suites.")
|
|||
(define-public gtk+
|
||||
(package (inherit gtk+-2)
|
||||
(name "gtk+")
|
||||
(version "3.16.2")
|
||||
(version "3.16.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnome/sources/" name "/"
|
||||
|
@ -490,7 +494,7 @@ application suites.")
|
|||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1yhwg2l72l3khfkprydcjlpxjrg11ccqfc80sjl56llz3jk66fd0"))))
|
||||
"195ykv53sl2gsc847wcnd79zilm1yzcc2cfjxnrakhh2dd5gshr9"))))
|
||||
(propagated-inputs
|
||||
`(("at-spi2-atk" ,at-spi2-atk)
|
||||
("atk" ,atk)
|
||||
|
@ -501,7 +505,8 @@ application suites.")
|
|||
("libxdamage" ,libxdamage)
|
||||
("pango" ,pango)))
|
||||
(inputs
|
||||
`(("libxml2" ,libxml2)
|
||||
`(("librsvg" ,librsvg) ;for gtk-encode-symbolic-svg
|
||||
("libxml2" ,libxml2)
|
||||
("cups" ,cups))) ;for printing support
|
||||
(native-inputs
|
||||
`(("perl" ,perl)
|
||||
|
@ -533,7 +538,18 @@ application suites.")
|
|||
"demos/gtk-demo/Makefile.in")
|
||||
(("gtk-update-icon-cache") "$(bindir)/gtk-update-icon-cache"))
|
||||
#t)
|
||||
%standard-phases)))))
|
||||
(alist-cons-after
|
||||
'install 'wrap-gtk-encode-symbolic-svg
|
||||
;; By using GdkPixbuf, gtk-encode-symbolic-svg needs to know
|
||||
;; librsvg's loaders.cache to handle SVG files.
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(prog (string-append out "/bin/gtk-encode-symbolic-svg"))
|
||||
(librsvg (assoc-ref inputs "librsvg"))
|
||||
(loaders.cache (find-files librsvg "^loaders\\.cache$")))
|
||||
(wrap-program prog
|
||||
`("GDK_PIXBUF_MODULE_FILE" = ,loaders.cache))))
|
||||
%standard-phases))))))
|
||||
|
||||
;;;
|
||||
;;; Guile bindings.
|
||||
|
@ -844,7 +860,7 @@ write GNOME applications.")
|
|||
(define-public girara
|
||||
(package
|
||||
(name "girara")
|
||||
(version "0.2.3")
|
||||
(version "0.2.4")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri
|
||||
|
@ -852,7 +868,7 @@ write GNOME applications.")
|
|||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1phfmqp8y17zcy9yi6pm2f80x8ldbk60iswpm4bmjz5217jwqzxh"))))
|
||||
"0pnfdsg435b5vc4x8l9pgm77aj7ram1q0bzrp9g4a3bh1r64xq1f"))))
|
||||
(native-inputs `(("pkg-config" ,pkg-config)
|
||||
("gettext" ,gnu-gettext)))
|
||||
(inputs `(("gtk+" ,gtk+)
|
||||
|
|
|
@ -27,6 +27,7 @@
|
|||
#:use-module (gnu packages gperf)
|
||||
#:use-module (gnu packages libffi)
|
||||
#:use-module (gnu packages autotools)
|
||||
#:use-module (gnu packages flex)
|
||||
#:use-module (gnu packages libunistring)
|
||||
#:use-module (gnu packages m4)
|
||||
#:use-module (gnu packages multiprecision)
|
||||
|
@ -35,6 +36,9 @@
|
|||
#:use-module (gnu packages ncurses)
|
||||
#:use-module (gnu packages ed)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages texinfo)
|
||||
#:use-module (gnu packages gettext)
|
||||
#:use-module (gnu packages gdbm)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix git-download)
|
||||
|
@ -181,6 +185,42 @@ without requiring the source code to be rewritten.")
|
|||
;; in the `base' module, and thus changing it entails a full rebuild.
|
||||
guile-2.0)
|
||||
|
||||
(define-public guile-for-guile-emacs
|
||||
(package (inherit guile-2.0)
|
||||
(name "guile-for-guile-emacs")
|
||||
(version "20150510.d8d9a8d")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "git://git.hcoop.net/git/bpt/guile.git")
|
||||
(commit "d8d9a8da05ec876acba81a559798eb5eeceb5a17")))
|
||||
(sha256
|
||||
(base32
|
||||
"00sprsshy16y8pxjy126hr2adqcvvzzz96hjyjwgg8swva1qh6b0"))))
|
||||
(arguments
|
||||
(substitute-keyword-arguments `(;; Tests aren't passing for now.
|
||||
;; Obviously we should re-enable this!
|
||||
#:tests? #f
|
||||
,@(package-arguments guile-2.0))
|
||||
((#:phases phases)
|
||||
`(modify-phases ,phases
|
||||
(add-after 'unpack 'autogen
|
||||
(lambda _
|
||||
(zero? (system* "sh" "autogen.sh"))))
|
||||
(add-before 'autogen 'patch-/bin/sh
|
||||
(lambda _
|
||||
(substitute* "build-aux/git-version-gen"
|
||||
(("#!/bin/sh") (string-append "#!" (which "sh"))))
|
||||
#t))))))
|
||||
(native-inputs
|
||||
`(("autoconf" ,autoconf)
|
||||
("automake" ,automake)
|
||||
("libtool" ,libtool)
|
||||
("flex" ,flex)
|
||||
("texinfo" ,texinfo)
|
||||
("gettext" ,gnu-gettext)
|
||||
,@(package-native-inputs guile-2.0)))))
|
||||
|
||||
|
||||
;;;
|
||||
;;; Extensions.
|
||||
|
@ -189,25 +229,19 @@ without requiring the source code to be rewritten.")
|
|||
(define-public guile-reader
|
||||
(package
|
||||
(name "guile-reader")
|
||||
(version "0.6")
|
||||
(version "0.6.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://savannah/guile-reader/guile-reader-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1svlyk5pm4fsdp2g7n6qffdl6fdggxnlicj0jn9s4lxd63gzxy1n"))))
|
||||
"020wz5w8z6g79nbqifg2n496wxwkcjzh8xizpv6mz0hczpl155ma"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs `(("pkgconfig" ,pkg-config)
|
||||
("gperf" ,gperf)))
|
||||
(inputs `(("guile" ,guile-2.0)))
|
||||
(arguments `(;; The extract-*.sh scripts really expect to run in the C
|
||||
;; locale. Failing to do that, we end up with a build
|
||||
;; failure while extracting doc. (Fixed in Guile-Reader's
|
||||
;; repo.)
|
||||
#:locale "C"
|
||||
|
||||
#:configure-flags
|
||||
(arguments `(#:configure-flags
|
||||
(let ((out (assoc-ref %outputs "out")))
|
||||
(list (string-append "--with-guilemoduledir="
|
||||
out "/share/guile/site/2.0")))))
|
||||
|
@ -436,4 +470,69 @@ slightly from miniKanren mainline.
|
|||
See http://minikanren.org/ for more on miniKanren generally.")
|
||||
(license expat)))
|
||||
|
||||
|
||||
;; There are two guile-gdbm packages, one using the FFI and one with
|
||||
;; direct C bindings, hence the verbose name.
|
||||
|
||||
(define-public guile-gdbm-ffi
|
||||
(package
|
||||
(name "guile-gdbm-ffi")
|
||||
(version "20120209.fa1d5b6")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/ijp/guile-gdbm.git")
|
||||
(commit "fa1d5b6231d0e4d096687b378c025f2148c5f246")))
|
||||
(sha256
|
||||
(base32
|
||||
"1j8wrsw7v9w6qkl47xz0rdikg50v16nn6kbs3lgzcymjzpa7babj"))))
|
||||
(build-system trivial-build-system)
|
||||
(arguments
|
||||
`(#:modules
|
||||
((guix build utils))
|
||||
#:builder
|
||||
(begin
|
||||
(use-modules (guix build utils)
|
||||
(system base compile))
|
||||
|
||||
(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"))
|
||||
(guild (string-append (assoc-ref %build-inputs "guile")
|
||||
"/bin/guild"))
|
||||
(gdbm.scm-dest
|
||||
(string-append module-dir "/gdbm.scm"))
|
||||
(gdbm.go-dest
|
||||
(string-append module-dir "/gdbm.go")))
|
||||
;; Make installation directories.
|
||||
(mkdir-p module-dir)
|
||||
(mkdir-p doc)
|
||||
|
||||
;; Switch directory for compiling and installing
|
||||
(chdir source)
|
||||
|
||||
;; copy the source
|
||||
(copy-file "gdbm.scm" gdbm.scm-dest)
|
||||
|
||||
;; Patch the FFI
|
||||
(substitute* gdbm.scm-dest
|
||||
(("\\(dynamic-link \"libgdbm\"\\)")
|
||||
(format #f "(dynamic-link \"~a/lib/libgdbm.so\")"
|
||||
(assoc-ref %build-inputs "gdbm"))))
|
||||
|
||||
;; compile to the destination
|
||||
(compile-file gdbm.scm-dest
|
||||
#:output-file gdbm.go-dest)))))
|
||||
(inputs
|
||||
`(("guile" ,guile-2.0)))
|
||||
(propagated-inputs
|
||||
`(("gdbm" ,gdbm)))
|
||||
(home-page "https://github.com/ijp/guile-gdbm")
|
||||
(synopsis "Guile bindings to the GDBM library via Guile's FFI")
|
||||
(description
|
||||
"Guile bindings to the GDBM key-value storage system, using
|
||||
Guile's foreign function interface.")
|
||||
(license gpl3+)))
|
||||
|
||||
;;; guile.scm ends here
|
||||
|
|
|
@ -373,8 +373,7 @@ access to the full zlib feature set.")
|
|||
(arguments
|
||||
`(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
|
||||
(home-page "https://github.com/bos/text")
|
||||
(synopsis
|
||||
"Efficient packed Unicode text type library.")
|
||||
(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.
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
;;; 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.
|
||||
;;;
|
||||
|
@ -72,7 +73,6 @@
|
|||
`(("dbus" ,dbus)
|
||||
("dconf" ,dconf)
|
||||
("gconf" ,gconf)
|
||||
("glib" ,glib)
|
||||
("gtk2" ,gtk+-2)
|
||||
("intltool" ,intltool)
|
||||
("libnotify" ,libnotify)
|
||||
|
|
|
@ -28,7 +28,7 @@
|
|||
(define-public icu4c
|
||||
(package
|
||||
(name "icu4c")
|
||||
(version "54.1")
|
||||
(version "55.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://download.icu-project.org/files/icu4c/"
|
||||
|
@ -37,7 +37,7 @@
|
|||
(string-map (lambda (x) (if (char=? x #\.) #\_ x)) version)
|
||||
"-src.tgz"))
|
||||
(sha256
|
||||
(base32 "1cwapgjmvrcv1n2wjspj3vahidg596gjfp4jn1gcb4baralcjayl"))))
|
||||
(base32 "0ys5f5spizg45qlaa31j2lhgry0jka2gfha527n4ndfxxz5j4sz1"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("perl" ,perl)))
|
||||
|
|
|
@ -37,14 +37,14 @@
|
|||
(define-public imagemagick
|
||||
(package
|
||||
(name "imagemagick")
|
||||
(version "6.9.0-4")
|
||||
(version "6.9.1-3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://imagemagick/ImageMagick-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0ms9lxrm3hvgghv8k7rj6kvk40xkc6lgr41xyaxz7lyf3l4ahslr"))))
|
||||
"18wbsjfccxlgsdsd6h9wvhcjrsglyi086jk4bk029ik07rh81laz"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:phases (alist-cons-before
|
||||
|
|
|
@ -250,6 +250,11 @@ build process and its dependencies, whereas Make uses Makefile format.")
|
|||
;; gremlin) doesn't support it yet, so skip this phase.
|
||||
#:validate-runpath? #f
|
||||
|
||||
#:modules ((guix build utils)
|
||||
(guix build gnu-build-system)
|
||||
(ice-9 popen)
|
||||
(ice-9 rdelim))
|
||||
|
||||
#:configure-flags
|
||||
(let* ((gcjdir (assoc-ref %build-inputs "gcj"))
|
||||
(ecj (string-append gcjdir "/share/java/ecj.jar"))
|
||||
|
@ -378,9 +383,16 @@ build process and its dependencies, whereas Make uses Makefile format.")
|
|||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let* ((gcjdir (assoc-ref %build-inputs "gcj"))
|
||||
(gcjlib (string-append gcjdir "/lib"))
|
||||
(antpath (string-append (getcwd) "/../apache-ant-1.9.4")))
|
||||
(antpath (string-append (getcwd) "/../apache-ant-1.9.4"))
|
||||
;; Get target-specific include directory so that
|
||||
;; libgcj-config.h is found when compiling hotspot.
|
||||
(gcjinclude (let* ((port (open-input-pipe "gcj -print-file-name=include"))
|
||||
(str (read-line port)))
|
||||
(close-pipe port)
|
||||
str)))
|
||||
(setenv "CPATH"
|
||||
(string-append (assoc-ref %build-inputs "libxrender")
|
||||
(string-append gcjinclude ":"
|
||||
(assoc-ref %build-inputs "libxrender")
|
||||
"/include/X11/extensions" ":"
|
||||
(assoc-ref %build-inputs "libxtst")
|
||||
"/include/X11/extensions" ":"
|
||||
|
|
|
@ -224,6 +224,6 @@ calculation of sha1 for every file crawled
|
|||
(arguments
|
||||
`(#:tests? #f)) ; no test target
|
||||
(home-page "http://www.kde.org/")
|
||||
(synopsis "oxygen icon theme for the KDE desktop")
|
||||
(synopsis "Oxygen icon theme for the KDE desktop")
|
||||
(description "KDE desktop environment")
|
||||
(license lgpl3+)))
|
||||
|
|
|
@ -18,14 +18,51 @@
|
|||
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu packages libreoffice)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module ((guix licenses) #:select (mpl2.0))
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix download)
|
||||
#:use-module ((guix licenses)
|
||||
#:select (gpl2+ lgpl2.1+ mpl1.1 mpl2.0
|
||||
non-copyleft x11-style))
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (gnu packages autotools)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages bison)
|
||||
#:use-module (gnu packages boost)
|
||||
#:use-module (gnu packages check)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages cups)
|
||||
#:use-module (gnu packages curl)
|
||||
#:use-module (gnu packages cyrus-sasl)
|
||||
#:use-module (gnu packages databases)
|
||||
#:use-module (gnu packages doxygen)
|
||||
#:use-module (gnu packages flex)
|
||||
#:use-module (gnu packages fontutils)
|
||||
#:use-module (gnu packages ghostscript)
|
||||
#:use-module (gnu packages gl)
|
||||
#:use-module (gnu packages glib)
|
||||
#:use-module (gnu packages gnome)
|
||||
#:use-module (gnu packages gperf)
|
||||
#:use-module (gnu packages gnuzilla)
|
||||
#:use-module (gnu packages gstreamer)
|
||||
#:use-module (gnu packages gtk)
|
||||
#:use-module (gnu packages icu4c)
|
||||
#:use-module (gnu packages image)
|
||||
#:use-module (gnu packages java)
|
||||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu packages maths)
|
||||
#:use-module (gnu packages openldap)
|
||||
#:use-module (gnu packages openssl)
|
||||
#:use-module (gnu packages pdf)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages python))
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages rdf)
|
||||
#:use-module (gnu packages scanner)
|
||||
#:use-module (gnu packages version-control)
|
||||
#:use-module (gnu packages xml)
|
||||
#:use-module (gnu packages xorg)
|
||||
#:use-module (gnu packages zip))
|
||||
|
||||
(define-public ixion
|
||||
(package
|
||||
|
@ -79,3 +116,711 @@ Microsoft Excel 2007 XML, Microsoft Excel 2003 XML, Open Document Spreadsheet,
|
|||
Plain Text, Gnumeric XML, Generic XML. It also includes low-level parsers for
|
||||
CSV, CSS and XML.")
|
||||
(license mpl2.0)))
|
||||
|
||||
(define-public librevenge
|
||||
(package
|
||||
(name "librevenge")
|
||||
(version "0.0.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/libwpd/" name "/" name "-"
|
||||
version ".tar.xz"))
|
||||
(sha256 (base32
|
||||
"03ygxyb0vfjv8raif5q62sl33b54wkr5rzgadb8slijm6k281wpn"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("boost" ,boost)
|
||||
("cppunit" ,cppunit)
|
||||
("doxygen" ,doxygen)
|
||||
("pkg-config" ,pkg-config)))
|
||||
(inputs
|
||||
`(("zlib" ,zlib)))
|
||||
(arguments
|
||||
;; avoid triggering configure errors by simple inclusion of boost headers
|
||||
`(#:configure-flags '("--disable-werror")))
|
||||
(home-page "http://sourceforge.net/p/libwpd/wiki/librevenge/")
|
||||
(synopsis "Document importer for office suites")
|
||||
(description "Librevenge is a base library for writing document import
|
||||
filters. It has interfaces for text documents, vector graphics,
|
||||
spreadsheets and presentations.")
|
||||
(license (list mpl2.0 lgpl2.1+)))) ;dual licensed
|
||||
|
||||
(define-public libwpd
|
||||
(package
|
||||
(name "libwpd")
|
||||
(version "0.10.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/libwpd/" name "/" name "-"
|
||||
version ".tar.xz"))
|
||||
(sha256 (base32
|
||||
"0b6krzr6kxzm89g6bapn805kdayq70hn16n5b5wfs2lwrf0ag2wx"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("doxygen" ,doxygen)
|
||||
("pkg-config" ,pkg-config)))
|
||||
(propagated-inputs
|
||||
`(("librevenge" ,librevenge))) ; in Requires field of .pkg
|
||||
(inputs
|
||||
`(("zlib" ,zlib)))
|
||||
(home-page "http://libwpd.sourceforge.net/")
|
||||
(synopsis "Library for importing WordPerfect documents")
|
||||
(description "Libwpd is a C++ library designed to help process
|
||||
WordPerfect documents. It is most commonly used to import such documents
|
||||
into other word processors.")
|
||||
(license (list mpl2.0 lgpl2.1+)))) ;dual licensed
|
||||
|
||||
(define-public libe-book
|
||||
(package
|
||||
(name "libe-book")
|
||||
(version "0.1.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/libebook/libe-book-"
|
||||
version "/libe-book-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1v48pd32r2pfysr3a3igc4ivcf6vvb26jq4pdkcnq75p70alp2bz"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("cppunit" ,cppunit)
|
||||
("gperf" ,gperf)
|
||||
("pkg-config" ,pkg-config)))
|
||||
(propagated-inputs ; in Requires or Requires.private field of .pkg
|
||||
`(("icu4c" ,icu4c)
|
||||
("librevenge" ,librevenge)
|
||||
("libxml2" ,libxml2)))
|
||||
(inputs
|
||||
`(("boost" ,boost)))
|
||||
(arguments
|
||||
;; avoid triggering configure errors by simple inclusion of boost headers
|
||||
`(#:configure-flags '("--disable-werror")))
|
||||
(home-page "http://libebook.sourceforge.net")
|
||||
(synopsis "Library for import of reflowable e-book formats")
|
||||
(description "Libe-book is a library and a set of tools for reading and
|
||||
converting various reflowable e-book formats. Currently supported are:
|
||||
Broad Band eBook, eReader .pdb, FictionBook v. 2 (including zipped files),
|
||||
PalmDoc Ebook, Plucker .pdb, QiOO (mobile format, for java-enabled
|
||||
cellphones), TCR (simple compressed text format), TealDoc, zTXT,
|
||||
ZVR (simple compressed text format).")
|
||||
(license mpl2.0)))
|
||||
|
||||
(define-public libwpg
|
||||
(package
|
||||
(name "libwpg")
|
||||
(version "0.3.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/libwpg/" name "/" name "-"
|
||||
version ".tar.xz"))
|
||||
(sha256 (base32
|
||||
"097jx8a638fwwfrzf6v29r1yhc34rq9526py7wf0ck2z4fcr2w3g"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("doxygen" ,doxygen)
|
||||
("pkg-config" ,pkg-config)))
|
||||
(propagated-inputs
|
||||
`(("libwpd" ,libwpd))) ; in Requires field of .pkg
|
||||
(inputs
|
||||
`(("perl" ,perl)
|
||||
("zlib" ,zlib)))
|
||||
(home-page "http://libwpg.sourceforge.net/")
|
||||
(synopsis "Library and tools for the WordPerfect Graphics format")
|
||||
(description "The libwpg project provides a library and tools for
|
||||
working with graphics in the WPG (WordPerfect Graphics) format.")
|
||||
(license (list mpl2.0 lgpl2.1+)))) ;dual licensed
|
||||
|
||||
(define-public libcmis
|
||||
(package
|
||||
(name "libcmis")
|
||||
(version "0.5.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/" name "/" name "-"
|
||||
version ".tar.gz"))
|
||||
(sha256 (base32
|
||||
"1dprvk4fibylv24l7gr49gfqbkfgmxynvgssvdcycgpf7n8h4zm8"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("cppunit" ,cppunit)
|
||||
("pkg-config" ,pkg-config)))
|
||||
(propagated-inputs ; in Requires field of .pkg
|
||||
`(("curl" ,curl)
|
||||
("libxml2" ,libxml2)))
|
||||
(inputs
|
||||
`(("boost" ,boost)
|
||||
("cyrus-sasl" ,cyrus-sasl)
|
||||
("openssl" ,openssl)))
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
(list
|
||||
;; FIXME: Man pages generation requires docbook-to-man; reenable
|
||||
;; it once this is available.
|
||||
"--without-man"
|
||||
;; avoid triggering configure errors by simple inclusion of
|
||||
;; boost headers
|
||||
"--disable-werror"
|
||||
;; During configure, the boost headers are found, but linking
|
||||
;; fails without the following flag.
|
||||
(string-append "--with-boost="
|
||||
(assoc-ref %build-inputs "boost")))))
|
||||
(home-page "http://sourceforge.net/projects/libcmis/")
|
||||
(synopsis "CMIS client library")
|
||||
(description "LibCMIS is a C++ client library for the CMIS interface. It
|
||||
allows C++ applications to connect to any ECM behaving as a CMIS server such
|
||||
as Alfresco or Nuxeo.")
|
||||
(license (list mpl1.1 gpl2+ lgpl2.1+)))) ; triple license
|
||||
|
||||
(define-public libabw
|
||||
(package
|
||||
(name "libabw")
|
||||
(version "0.1.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://dev-www.libreoffice.org/src/" name "/"
|
||||
name "-" version ".tar.xz"))
|
||||
(sha256 (base32
|
||||
"0zi1zj4fpxgpglbbb5n1kg3dmhqq5rpf46lli89r5daavp19iing"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("doxygen" ,doxygen)
|
||||
("gperf" ,gperf)
|
||||
("perl" ,perl)
|
||||
("pkg-config" ,pkg-config)))
|
||||
(propagated-inputs ; in Requires or Requires.private field of .pkg
|
||||
`(("librevenge" ,librevenge)
|
||||
("libxml2" ,libxml2)))
|
||||
(inputs
|
||||
`(("boost" ,boost)))
|
||||
(arguments
|
||||
;; avoid triggering configure errors by simple inclusion of boost headers
|
||||
`(#:configure-flags '("--disable-werror")))
|
||||
(home-page "https://wiki.documentfoundation.org/DLP/Libraries/libabw")
|
||||
(synopsis "Library for parsing the AbiWord format")
|
||||
(description "Libabw is a library that parses the file format of
|
||||
AbiWord documents.")
|
||||
(license mpl2.0)))
|
||||
|
||||
(define-public libcdr
|
||||
(package
|
||||
(name "libcdr")
|
||||
(version "0.1.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://dev-www.libreoffice.org/src/" name "/"
|
||||
name "-" version ".tar.xz"))
|
||||
(sha256 (base32
|
||||
"07yzb1yr5kzv0binzj5swz3zzay2gw3xb0fbkc2zwdssgrkf19nh"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("doxygen" ,doxygen)
|
||||
("pkg-config" ,pkg-config)))
|
||||
(propagated-inputs ; in Requires or Requires.private field of .pkg
|
||||
`(("icu4c" ,icu4c)
|
||||
("lcms" ,lcms)
|
||||
("librevenge" ,librevenge)
|
||||
("zlib" ,zlib)))
|
||||
(inputs
|
||||
`(("boost" ,boost)))
|
||||
(arguments
|
||||
;; avoid triggering a build failure due to warnings
|
||||
`(#:configure-flags '("--disable-werror")))
|
||||
(home-page "https://wiki.documentfoundation.org/DLP/Libraries/libcdr")
|
||||
(synopsis "Library for parsing the CorelDRAW format")
|
||||
(description "Libcdr is a library that parses the file format of
|
||||
CorelDRAW documents of all versions.")
|
||||
(license mpl2.0)))
|
||||
|
||||
(define-public libetonyek
|
||||
(package
|
||||
(name "libetonyek")
|
||||
(version "0.1.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://dev-www.libreoffice.org/src/" name "/"
|
||||
name "-" version ".tar.xz"))
|
||||
(sha256 (base32
|
||||
"0gn8v24jb9r9kxppbws6xlc7knpd9mk2n9xjvziccv5f2l7mlslw"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("cppunit" ,cppunit)
|
||||
("doxygen" ,doxygen)
|
||||
("gperf" ,gperf)
|
||||
("pkg-config" ,pkg-config)))
|
||||
(propagated-inputs ; in Requires or Requires.private field of .pkg
|
||||
`(("librevenge" ,librevenge)
|
||||
("libxml2" ,libxml2)))
|
||||
(inputs
|
||||
`(("boost" ,boost)))
|
||||
(home-page "https://wiki.documentfoundation.org/DLP/Libraries/libetonyek")
|
||||
(synopsis "Library for parsing the Apple Keynote format")
|
||||
(description "Libetonyek is a library that parses the file format of
|
||||
Apple Keynote documents. It currently supports Keynote versions 2 to 5.")
|
||||
(license mpl2.0)))
|
||||
|
||||
(define-public libexttextcat
|
||||
(package
|
||||
(name "libexttextcat")
|
||||
(version "3.4.4")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://dev-www.libreoffice.org/src/" name "/"
|
||||
name "-" version ".tar.xz"))
|
||||
(sha256 (base32
|
||||
"14v2hkygnmf1zgahfm1fha47cr67iikrz2ymiqi28d2jydn0hk7j"))))
|
||||
(build-system gnu-build-system)
|
||||
(home-page "http://www.freedesktop.org/wiki/Software/libexttextcat/")
|
||||
(synopsis "Text Categorization library")
|
||||
(description "Libexttextcat is an N-Gram-Based Text Categorization
|
||||
library primarily intended for language guessing.")
|
||||
(license (non-copyleft "file://LICENSE"
|
||||
"See LICENSE in the distribution."))))
|
||||
|
||||
(define-public libfreehand
|
||||
(package
|
||||
(name "libfreehand")
|
||||
(version "0.1.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://dev-www.libreoffice.org/src/" name "/"
|
||||
name "-" version ".tar.xz"))
|
||||
(sha256 (base32
|
||||
"01j7mxi4lmf72w1mv2r098p8l0csdd94w2gq0ncp93djn34al6ai"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("doxygen" ,doxygen)
|
||||
("gperf" ,gperf)
|
||||
("perl" ,perl)
|
||||
("pkg-config" ,pkg-config)))
|
||||
(propagated-inputs ; in Requires or Requires.private field of .pkg
|
||||
`(("librevenge" ,librevenge)
|
||||
("zlib" ,zlib)))
|
||||
(home-page "https://wiki.documentfoundation.org/DLP/Libraries/libfreehand")
|
||||
(synopsis "Library for parsing the FreeHand format")
|
||||
(description "Libfreehand is a library that parses the file format of
|
||||
Aldus/Macromedia/Adobe FreeHand documents.")
|
||||
(license mpl2.0)))
|
||||
|
||||
(define-public libmspub
|
||||
(package
|
||||
(name "libmspub")
|
||||
(version "0.1.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://dev-www.libreoffice.org/src/" name "/"
|
||||
name "-" version ".tar.xz"))
|
||||
(sha256 (base32
|
||||
"03sn6lxpr49sdq6j8q7fw7yjybyfahhs03z80388mh105pwapfmh"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("doxygen" ,doxygen)
|
||||
("pkg-config" ,pkg-config)))
|
||||
(propagated-inputs ; in Requires or Requires.private field of .pkg
|
||||
`(("icu4c" ,icu4c)
|
||||
("librevenge" ,librevenge)
|
||||
("zlib" ,zlib)))
|
||||
(inputs
|
||||
`(("boost" ,boost)))
|
||||
(home-page "https://wiki.documentfoundation.org/DLP/Libraries/libmspub")
|
||||
(synopsis "Library for parsing the Microsoft Publisher format")
|
||||
(description "Libmspub is a library that parses the file format of
|
||||
Microsoft Publisher documents of all versions.")
|
||||
(license mpl2.0)))
|
||||
|
||||
(define-public libpagemaker
|
||||
(package
|
||||
(name "libpagemaker")
|
||||
(version "0.0.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://dev-www.libreoffice.org/src/" name "/"
|
||||
name "-" version ".tar.xz"))
|
||||
(sha256 (base32
|
||||
"05zgj5ngg9z4b7dnrfs59nm0macm99lzyxv4mg53jcvp0mkgigfd"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("doxygen" ,doxygen)
|
||||
("pkg-config" ,pkg-config)))
|
||||
(propagated-inputs ; in Requires field of .pkg
|
||||
`(("librevenge" ,librevenge)))
|
||||
(inputs
|
||||
`(("boost" ,boost)
|
||||
("zlib" ,zlib)))
|
||||
(arguments
|
||||
;; avoid triggering a build failure due to warnings
|
||||
`(#:configure-flags '("--disable-werror")))
|
||||
(home-page "https://wiki.documentfoundation.org/DLP/Libraries/libpagemaker")
|
||||
(synopsis "Library for parsing the PageMaker format")
|
||||
(description "Libpagemaker is a library that parses the file format of
|
||||
Aldus/Adobe PageMaker documents. Currently it only understands documents
|
||||
created by PageMaker version 6.x and 7.")
|
||||
(license mpl2.0)))
|
||||
|
||||
(define-public libvisio
|
||||
(package
|
||||
(name "libvisio")
|
||||
;; FIXME: The newer version 0.1.1 fails its tests.
|
||||
(version "0.1.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://dev-www.libreoffice.org/src/" name "/"
|
||||
name "-" version ".tar.xz"))
|
||||
(sha256 (base32
|
||||
"0vvd2wyp4rw6s9xnj1dc9vgdpfvm45gnb5b9hhzif0fdnx4iskqf"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("cppunit" ,cppunit)
|
||||
("doxygen" ,doxygen)
|
||||
("gperf" ,gperf)
|
||||
("perl" ,perl)
|
||||
("pkg-config" ,pkg-config)))
|
||||
(propagated-inputs ; in Requires or Requires.private field of .pkg
|
||||
`(("icu4c" ,icu4c)
|
||||
("librevenge" ,librevenge)
|
||||
("libxml2" ,libxml2)))
|
||||
(inputs
|
||||
`(("boost" ,boost)))
|
||||
;; FIXME: Not needed any more for newer version 0.1.1.
|
||||
(arguments
|
||||
;; avoid triggering a build failure due to warnings
|
||||
`(#:configure-flags '("--disable-werror")))
|
||||
(home-page "https://wiki.documentfoundation.org/DLP/Libraries/libvisio")
|
||||
(synopsis "Library for parsing the Microsoft Visio format")
|
||||
(description "Libvisio is a library that parses the file format of
|
||||
Microsoft Visio documents of all versions.")
|
||||
(license mpl2.0)))
|
||||
|
||||
(define-public libodfgen
|
||||
(package
|
||||
(name "libodfgen")
|
||||
(version "0.1.3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://dev-www.libreoffice.org/src/"
|
||||
name "-" version ".tar.bz2"))
|
||||
(sha256 (base32
|
||||
"074qsav86ixwi9zm1f77g9vxdf1ihm6n930vxjg8q3lwzd8g7lb6"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("doxygen" ,doxygen)
|
||||
("pkg-config" ,pkg-config)))
|
||||
(propagated-inputs ; in Requires field of .pkg
|
||||
`(("librevenge" ,librevenge)))
|
||||
(inputs
|
||||
`(("boost" ,boost)
|
||||
("zlib" ,zlib)))
|
||||
(arguments
|
||||
;; avoid triggering configure errors by simple inclusion of boost headers
|
||||
`(#:configure-flags '("--disable-werror")))
|
||||
(home-page "http://sourceforge.net/p/libwpd/wiki/libodfgen/")
|
||||
(synopsis "ODF (Open Document Format) library")
|
||||
(description "Libodfgen is a library for generating documents in the
|
||||
Open Document Format (ODF). It provides generator implementations for all
|
||||
document interfaces supported by librevenge:
|
||||
text documents, vector drawings, presentations and spreadsheets.")
|
||||
(license (list mpl2.0 lgpl2.1+)))) ; dual license
|
||||
|
||||
(define-public libmwaw
|
||||
(package
|
||||
(name "libmwaw")
|
||||
(version "0.3.4")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/" name "/" name "/"
|
||||
name "-" version ".tar.xz"))
|
||||
(sha256 (base32
|
||||
"1sn95flxrh85qjsg1kk700c1ggxaaccr9j1nnw7x4daw8lky25ac"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("doxygen" ,doxygen)
|
||||
("pkg-config" ,pkg-config)))
|
||||
(propagated-inputs ; in Requires field of .pkg
|
||||
`(("librevenge" ,librevenge)))
|
||||
(inputs
|
||||
`(("boost" ,boost)
|
||||
("zlib" ,zlib)))
|
||||
(arguments
|
||||
;; avoid triggering configure errors by simple inclusion of boost headers
|
||||
`(#:configure-flags '("--disable-werror")))
|
||||
(home-page "http://sourceforge.net/p/libmwaw/wiki/Home/")
|
||||
(synopsis "Import library for some old Macintosh text documents")
|
||||
(description "Libmwaw contains some import filters for old Macintosh
|
||||
text documents (MacWrite, ClarisWorks, ... ) and for some graphics and
|
||||
spreadsheet documents.")
|
||||
(license (list mpl2.0 lgpl2.1+)))) ; dual license
|
||||
|
||||
(define-public libwps
|
||||
(package
|
||||
(name "libwps")
|
||||
(version "0.3.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/" name "/" name "/"
|
||||
name "-" version ".tar.xz"))
|
||||
(sha256 (base32
|
||||
"14wfhw1ahavhx4hrdzc4hdwxjlffrm939kswf2x1250jnmyjlb5v"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("doxygen" ,doxygen)
|
||||
("pkg-config" ,pkg-config)))
|
||||
(propagated-inputs ; in Requires field of .pkg
|
||||
`(("librevenge" ,librevenge)))
|
||||
(inputs
|
||||
`(("boost" ,boost)
|
||||
("zlib" ,zlib)))
|
||||
(arguments
|
||||
;; avoid triggering configure errors by simple inclusion of boost headers
|
||||
`(#:configure-flags '("--disable-werror")))
|
||||
(home-page "http://libwps.sourceforge.net/")
|
||||
(synopsis "Import library for Microsoft Works text documents")
|
||||
(description "Libwps is a library for importing files in the Microsoft
|
||||
Works word processor file format.")
|
||||
(license (list mpl2.0 lgpl2.1+)))) ; dual license
|
||||
|
||||
(define-public hunspell
|
||||
(package
|
||||
(name "hunspell")
|
||||
(version "1.3.3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/" name "/"
|
||||
name "-" version ".tar.gz"))
|
||||
(sha256 (base32
|
||||
"0v14ff9s37vkh45diaddndcrj0hmn67arh8xh8k79q9c1vgc1cm7"))))
|
||||
(build-system gnu-build-system)
|
||||
(home-page "http://hunspell.sourceforge.net/")
|
||||
(synopsis "Spell checker")
|
||||
(description "Hunspell is a spell checker and morphological analyzer
|
||||
library and program designed for languages with rich morphology and complex
|
||||
word compounding or character encoding.")
|
||||
;; triple license, including "mpl1.1 or later"
|
||||
(license (list mpl1.1 gpl2+ lgpl2.1+))))
|
||||
|
||||
(define-public hyphen
|
||||
(package
|
||||
(name "hyphen")
|
||||
(version "2.8.8")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/hunspell/"
|
||||
name "-" version ".tar.gz"))
|
||||
(sha256 (base32
|
||||
"01ap9pr6zzzbp4ky0vy7i1983fwyqy27pl0ld55s30fdxka3ciih"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("perl" ,perl)))
|
||||
(home-page "http://hunspell.sourceforge.net/")
|
||||
(synopsis "Hyphenation library")
|
||||
(description "Hyphen is a hyphenation library using TeX hyphenation
|
||||
patterns, which are pre-processed by a perl script.")
|
||||
;; triple license, including "mpl1.1 or later"
|
||||
(license (list mpl1.1 mpl2.0 gpl2+ lgpl2.1+))))
|
||||
|
||||
(define-public mythes
|
||||
(package
|
||||
(name "mythes")
|
||||
(version "1.2.4")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/hunspell/"
|
||||
name "-" version ".tar.gz"))
|
||||
(sha256 (base32
|
||||
"0prh19wy1c74kmzkkavm9qslk99gz8h8wmjvwzjc6lf8v2az708y"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
(inputs
|
||||
`(("hunspell" ,hunspell)
|
||||
("perl" ,perl)))
|
||||
(home-page "http://hunspell.sourceforge.net/")
|
||||
(synopsis "Thesaurus")
|
||||
(description "MyThes is a simple thesaurus that uses a structured text
|
||||
data file and an index file with binary search to look up words and phrases
|
||||
and to return information on pronunciations, meaningss and synonyms.")
|
||||
(license (non-copyleft "file://COPYING"
|
||||
"See COPYING in the distribution."))))
|
||||
|
||||
;; LibreOffice requires an xmlsec source tarball; it does not even check
|
||||
;; for the presence of an externally compiled library.
|
||||
(define xmlsec-src-libreoffice
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri
|
||||
(string-append
|
||||
"http://dev-www.libreoffice.org/src/"
|
||||
"1f24ab1d39f4a51faf22244c94a6203f-xmlsec1-1.2.14.tar.gz"))
|
||||
(sha256 (base32
|
||||
"0jnxxygg6z5zi6za94dvxmg1bfar1wh8p5xa2bzbha0qcn2m02ir"))))
|
||||
|
||||
(define-public libreoffice
|
||||
(package
|
||||
(name "libreoffice")
|
||||
(version "4.4.3.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri
|
||||
(string-append
|
||||
"http://download.documentfoundation.org/libreoffice/src/"
|
||||
(version-prefix version 3) "/libreoffice-" version ".tar.xz"))
|
||||
(sha256 (base32
|
||||
"0rl9x01ngxwnqwzxkrqy4vks4rb024m75z0w4zidwyp0az0m8qdd"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(;; autoreconf is run by the LibreOffice build system, since after
|
||||
;; unpacking the external xmlsec tarball, it applies a series of
|
||||
;; patches to Makefile.am, configure.in, config.guess and config.sub.
|
||||
("autoconf" ,autoconf)
|
||||
("automake" ,automake)
|
||||
("bison" ,bison)
|
||||
("cppunit" ,cppunit)
|
||||
("flex" ,flex)
|
||||
("pkg-config" ,pkg-config)
|
||||
("python" ,python)
|
||||
("which" ,which)))
|
||||
(inputs
|
||||
`(("bluez" ,bluez)
|
||||
("boost" ,boost)
|
||||
("clucene" ,clucene)
|
||||
("cups" ,cups)
|
||||
("dbus-glib" ,dbus-glib)
|
||||
("fontconfig" ,fontconfig)
|
||||
("gconf" ,gconf)
|
||||
("glew" ,glew)
|
||||
("glm" ,glm)
|
||||
("gperf" ,gperf)
|
||||
("graphite2" ,graphite2)
|
||||
("gst-plugins-base" ,gst-plugins-base)
|
||||
("gtk+" ,gtk+-2)
|
||||
("harfbuzz" ,harfbuzz)
|
||||
("hunspell" ,hunspell)
|
||||
("hyphen" ,hyphen)
|
||||
("libabw" ,libabw)
|
||||
("libcdr" ,libcdr)
|
||||
("libcmis" ,libcmis)
|
||||
("libjpeg" ,libjpeg)
|
||||
("libe-book" ,libe-book)
|
||||
("libetonyek" ,libetonyek)
|
||||
("libexttextcat" ,libexttextcat)
|
||||
("libfreehand" ,libfreehand)
|
||||
("libmspub" ,libmspub)
|
||||
("libmwaw" ,libmwaw)
|
||||
("libodfgen" ,libodfgen)
|
||||
("libpagemaker" ,libpagemaker)
|
||||
("libvisio" ,libvisio)
|
||||
("libwpg" ,libwpg)
|
||||
("libwps" ,libwps)
|
||||
("libxrandr" ,libxrandr)
|
||||
("libxrender" ,libxrender)
|
||||
("libxslt" ,libxslt)
|
||||
("libxt" ,libxt)
|
||||
("lpsolve" ,lpsolve)
|
||||
("mdds" ,mdds)
|
||||
("mythes" ,mythes)
|
||||
("neon" ,neon)
|
||||
("nspr" ,nspr)
|
||||
("nss" ,nss)
|
||||
("openldap" ,openldap)
|
||||
("openssl" ,openssl)
|
||||
("orcus" ,orcus)
|
||||
("perl" ,perl)
|
||||
("perl-zip" ,perl-zip)
|
||||
("poppler" ,poppler)
|
||||
("postgresql" ,postgresql)
|
||||
("python" ,python)
|
||||
("redland" ,redland)
|
||||
("sane-backends" ,sane-backends)
|
||||
("unixodbc" ,unixodbc)
|
||||
("unzip" ,unzip)
|
||||
("vigra" ,vigra)
|
||||
("xmlsec-src" ,xmlsec-src-libreoffice)
|
||||
("zip" ,zip)))
|
||||
(arguments
|
||||
`(#:parallel-build? #f ; Otherwise the build fails.
|
||||
#:tests? #f ; Building the tests already fails.
|
||||
#:make-flags '("build-nocheck") ; Do not build unit tests, which fails.
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'configure 'prepare-src
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let ((xmlsec (assoc-ref inputs "xmlsec-src")))
|
||||
(substitute*
|
||||
(list "sysui/CustomTarget_share.mk"
|
||||
"solenv/gbuild/gbuild.mk"
|
||||
"solenv/gbuild/platform/unxgcc.mk"
|
||||
"external/libxmlsec/xmlsec1-oldlibtool.patch")
|
||||
(("/bin/sh") (which "bash")))
|
||||
(mkdir "external/tarballs")
|
||||
(symlink
|
||||
xmlsec
|
||||
(string-append "external/tarballs/"
|
||||
"1f24ab1d39f4a51faf22244c94a6203f-"
|
||||
"xmlsec1-1.2.14.tar.gz"))
|
||||
;; The following is required for building xmlsec from the
|
||||
;; unpatched external tarball; since "configure" starts with
|
||||
;; "/bin/sh", it needs to be executed by a command invoking
|
||||
;; the shell.
|
||||
(setenv "SHELL" (which "bash"))
|
||||
(setenv "CONFIG_SHELL" (which "bash"))
|
||||
(substitute* "external/libxmlsec/ExternalProject_xmlsec.mk"
|
||||
(("./configure") "$(CONFIG_SHELL) ./configure" ))
|
||||
#t)))
|
||||
(add-after 'install 'bin-install
|
||||
;; Create a symlink bin/soffice to the executable script.
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(bin (string-append out "/bin")))
|
||||
(mkdir bin)
|
||||
(symlink
|
||||
(string-append out "/lib/libreoffice/program/soffice")
|
||||
(string-append bin "/soffice")))
|
||||
#t)))
|
||||
#:configure-flags
|
||||
(list
|
||||
"--enable-release-build"
|
||||
"--enable-verbose"
|
||||
"--without-parallelism" ; otherwise the build fails
|
||||
"--disable-fetch-external" ; disable downloads
|
||||
"--with-system-libs" ; enable all --with-system-* flags
|
||||
(string-append "--with-boost-libdir="
|
||||
(assoc-ref %build-inputs "boost") "/lib")
|
||||
;; Avoid a dependency on ucpp.
|
||||
"--with-idlc-cpp=cpp"
|
||||
;; The fonts require an external tarball (crosextrafonts).
|
||||
;; They should not be needed when system fonts are available.
|
||||
"--without-fonts"
|
||||
;; With java, the build fails since sac.jar is missing.
|
||||
"--without-java"
|
||||
;; FIXME: Enable once the corresponding inputs are packaged.
|
||||
"--without-system-npapi-headers"
|
||||
"--disable-coinmp"
|
||||
"--disable-firebird-sdbc" ; embedded firebird
|
||||
"--disable-gltf"
|
||||
"--disable-liblangtag")))
|
||||
(home-page "https://www.libreoffice.org/")
|
||||
(synopsis "Office suite")
|
||||
(description "LibreOffice is a comprehensive office suite. It contains
|
||||
a number of components: Writer, a word processor; Calc, a spreadsheet
|
||||
application; Impress, a presentation engine; Draw, a drawing and
|
||||
flowcharting application; Base, a database and database frontend;
|
||||
Math for editing mathematics.")
|
||||
(license mpl2.0)))
|
||||
|
|
|
@ -24,12 +24,13 @@
|
|||
#:use-module (guix download)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (gnu packages gnupg)
|
||||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu packages pkg-config))
|
||||
|
||||
(define-public libusb
|
||||
(package
|
||||
(name "libusb")
|
||||
(version "1.0.9")
|
||||
(version "1.0.19")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -37,8 +38,14 @@
|
|||
"libusb-" version "/libusb-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"16sz34ix6hw2wwl3kqx6rf26fg210iryr68wc439dc065pffw879"))))
|
||||
"0h38p9rxfpg9vkrbyb120i1diq57qcln82h5fr7hvy82c20jql3c"))))
|
||||
(build-system gnu-build-system)
|
||||
|
||||
;; XXX: Enabling udev is now recommended, but eudev indirectly depends on
|
||||
;; libusb.
|
||||
(arguments `(#:configure-flags '("--disable-udev")))
|
||||
;; (inputs `(("eudev" ,eudev)))
|
||||
|
||||
(home-page "http://www.libusb.org")
|
||||
(synopsis "User-space USB library")
|
||||
(description
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2012, 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2013, 2014 Andreas Enge <andreas@enge.fr>
|
||||
;;; Copyright © 2013, 2014, 2015 Andreas Enge <andreas@enge.fr>
|
||||
;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
|
||||
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
|
||||
;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch>
|
||||
|
@ -55,6 +55,8 @@
|
|||
#:use-module (gnu packages gtk)
|
||||
#:use-module (gnu packages docbook)
|
||||
#:use-module (gnu packages asciidoc)
|
||||
#:use-module (gnu packages readline)
|
||||
#:use-module (gnu packages calendar)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix utils)
|
||||
|
@ -208,7 +210,7 @@ for SYSTEM, or #f if there is no configuration for SYSTEM."
|
|||
#f)))
|
||||
|
||||
(define-public linux-libre
|
||||
(let* ((version "4.0")
|
||||
(let* ((version "4.0.5")
|
||||
(build-phase
|
||||
'(lambda* (#:key system inputs #:allow-other-keys #:rest args)
|
||||
;; Apply the neat patch.
|
||||
|
@ -281,9 +283,7 @@ for SYSTEM, or #f if there is no configuration for SYSTEM."
|
|||
(uri (linux-libre-urls version))
|
||||
(sha256
|
||||
(base32
|
||||
"12nkzn1n4si2zcp10b645qri83m2y7iwp29vs2rjmy612azdab8f"))
|
||||
(patches
|
||||
(list (search-patch "linux-libre-libreboot-fix.patch")))))
|
||||
"0g8a4h8gjw51pp02hjfrp6bk2nkrclm3krp9mpjh3iwbf4vfh2al"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs `(("perl" ,perl)
|
||||
("bc" ,bc)
|
||||
|
@ -318,7 +318,7 @@ It has been modified to remove all non-free binary blobs.")
|
|||
(license gpl2)
|
||||
(home-page "http://www.gnu.org/software/linux-libre/"))))
|
||||
|
||||
|
||||
|
||||
;;;
|
||||
;;; Pluggable authentication modules (PAM).
|
||||
;;;
|
||||
|
@ -364,7 +364,7 @@ be used through the PAM API to perform tasks, like authenticating a user
|
|||
at login. Local and dynamic reconfiguration are its key features")
|
||||
(license bsd-3)))
|
||||
|
||||
|
||||
|
||||
;;;
|
||||
;;; Miscellaneous.
|
||||
;;;
|
||||
|
@ -587,8 +587,21 @@ slabtop, and skill.")
|
|||
(string-append "#!" (which "sh")))))
|
||||
(alist-cons-after
|
||||
'install 'install-libs
|
||||
(lambda _
|
||||
(zero? (system* "make" "install-libs")))
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(lib (string-append out "/lib")))
|
||||
(and (zero? (system* "make" "install-libs"))
|
||||
|
||||
;; Make the .a writable so that 'strip' works.
|
||||
;; Failing to do that, due to debug symbols, we
|
||||
;; retain a reference to the final
|
||||
;; linux-libre-headers, which refer to the
|
||||
;; bootstrap binaries.
|
||||
(let ((archives (find-files lib "\\.a$")))
|
||||
(for-each (lambda (file)
|
||||
(chmod file #o666))
|
||||
archives)
|
||||
#t))))
|
||||
%standard-phases))
|
||||
|
||||
;; FIXME: Tests work by comparing the stdout/stderr of programs, that
|
||||
|
@ -1041,6 +1054,17 @@ Linux-based operating systems.")
|
|||
'(#:phases (alist-cons-after
|
||||
'unpack 'bootstrap
|
||||
(lambda _
|
||||
;; Fix "field ‘ip6’ has incomplete type" errors.
|
||||
(substitute* "libbridge/libbridge.h"
|
||||
(("#include <linux/if_bridge.h>")
|
||||
"#include <linux/in6.h>\n#include <linux/if_bridge.h>"))
|
||||
|
||||
;; Ensure that the entire build fails if one of the
|
||||
;; sub-Makefiles fails.
|
||||
(substitute* "Makefile.in"
|
||||
(("\\$\\(MAKE\\) \\$\\(MFLAGS\\) -C \\$\\$x ;")
|
||||
"$(MAKE) $(MFLAGS) -C $$x || exit 1;"))
|
||||
|
||||
(zero? (system* "autoreconf" "-vf")))
|
||||
%standard-phases)
|
||||
#:tests? #f)) ; no 'check' target
|
||||
|
@ -1198,7 +1222,8 @@ processes currently causing I/O.")
|
|||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"071r6xjgssy8vwdn6m28qq1bqxsd2bphcd2mzhq0grf5ybm87sqb"))))
|
||||
"071r6xjgssy8vwdn6m28qq1bqxsd2bphcd2mzhq0grf5ybm87sqb"))
|
||||
(patches (list (search-patch "fuse-CVE-2015-3202.patch")))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs `(("util-linux" ,util-linux)))
|
||||
(arguments
|
||||
|
@ -2171,3 +2196,40 @@ arrays when needed.")
|
|||
system calls, important for the performance of databases and other advanced
|
||||
applications.")
|
||||
(license lgpl2.1+)))
|
||||
|
||||
(define-public bluez
|
||||
(package
|
||||
(name "bluez")
|
||||
(version "5.30")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://www.kernel.org/pub/linux/bluetooth/bluez-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0b1qbnq1xzcdw5rajg9yyg31bf21jnff0n6gnf1snz89bbdllfhy"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:configure-flags
|
||||
(let ((out (assoc-ref %outputs "out")))
|
||||
(list "--enable-library"
|
||||
"--disable-systemd"
|
||||
;; Install dbus/udev files to the correct location.
|
||||
(string-append "--with-dbusconfdir=" out "/etc")
|
||||
(string-append "--with-udevdir=" out "/lib/udev")))))
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)
|
||||
("gettext" ,gnu-gettext)))
|
||||
(inputs
|
||||
`(("glib" ,glib)
|
||||
("dbus" ,dbus)
|
||||
("eudev" ,eudev)
|
||||
("libical" ,libical)
|
||||
("readline" ,readline)))
|
||||
(home-page "http://www.bluez.org/")
|
||||
(synopsis "Linux Bluetooth protocol stack")
|
||||
(description
|
||||
"BlueZ provides support for the core Bluetooth layers and protocols. It
|
||||
is flexible, efficient and uses a modular implementation.")
|
||||
(license gpl2+)))
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2012, 2013, 2015 Ludovic Courtès <ludo@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -36,11 +36,10 @@
|
|||
"0w0da1chh12mczxa5lnwzjk9czi3dq6gnnndbpa6w4rj76b1yklf"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
;; XXX: Disable tests on those platforms with know issues.
|
||||
`(#:tests? ,(not (member (%current-system)
|
||||
'("x86_64-darwin"
|
||||
"i686-cygwin"
|
||||
"i686-sunos")))
|
||||
`(;; Explicitly disable tests when cross-compiling, otherwise 'make check'
|
||||
;; proceeds and fails, unsurprisingly.
|
||||
#:tests? ,(not (%current-target-system))
|
||||
|
||||
#:phases (alist-cons-before
|
||||
'check 'pre-check
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
|
||||
;;; 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.
|
||||
;;;
|
||||
|
@ -66,7 +67,8 @@
|
|||
#:use-module (gnu packages xml)
|
||||
#:use-module (gnu packages xorg)
|
||||
#:use-module ((guix licenses)
|
||||
#:select (gpl2 gpl2+ gpl3+ lgpl2.1+ lgpl3+ non-copyleft))
|
||||
#:select (gpl2 gpl2+ gpl3+ lgpl2.1 lgpl2.1+ lgpl3+ non-copyleft
|
||||
(expat . license:expat)))
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix utils)
|
||||
|
@ -492,7 +494,6 @@ MailCore 2.")
|
|||
(inputs `(("bogofilter" ,bogofilter)
|
||||
("curl" ,curl)
|
||||
("dbus-glib" ,dbus-glib)
|
||||
("dbus" ,dbus)
|
||||
("enchant" ,enchant)
|
||||
("expat" ,expat)
|
||||
("ghostscript" ,ghostscript)
|
||||
|
@ -639,6 +640,49 @@ deal of flexibility in the way mail can be routed, and there are extensive
|
|||
facilities for checking incoming mail.")
|
||||
(license gpl2+)))
|
||||
|
||||
(define-public dovecot
|
||||
(package
|
||||
(name "dovecot")
|
||||
(version "2.2.16")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://www.dovecot.org/releases/"
|
||||
(version-major+minor version) "/"
|
||||
name "-" version ".tar.gz"))
|
||||
(sha256 (base32
|
||||
"1w6gg4h9mxg3i8faqpmgj19imzyy001b0v8ihch8ma3zl63i5kjn"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
(inputs
|
||||
`(("openssl" ,openssl)
|
||||
("zlib" ,zlib)
|
||||
("bzip2" ,bzip2)
|
||||
("sqlite" ,sqlite)))
|
||||
(arguments
|
||||
`(#:configure-flags '("--sysconfdir=/etc"
|
||||
"--localstatedir=/var")
|
||||
#:phases (modify-phases %standard-phases
|
||||
(add-before
|
||||
'configure 'pre-configure
|
||||
(lambda _
|
||||
;; Simple hack to avoid installing in /etc
|
||||
(substitute* '("doc/Makefile.in"
|
||||
"doc/example-config/Makefile.in")
|
||||
(("pkgsysconfdir = .*")
|
||||
"pkgsysconfdir = /tmp/etc"))
|
||||
#t)))))
|
||||
(home-page "http://www.dovecot.org")
|
||||
(synopsis "Secure POP3/IMAP server")
|
||||
(description
|
||||
"Dovecot is a mail server whose major goals are security and reliability.
|
||||
It supports mbox/Maildir and its own dbox/mdbox formats.")
|
||||
;; Most source files are covered by either lgpl2.1 or expat. The SHA code
|
||||
;; is covered by a variant of BSD-3, and UnicodeData.txt is covered by the
|
||||
;; Unicode, Inc. License Agreement for Data Files and Software.
|
||||
(license (list lgpl2.1 license:expat (non-copyleft "file://COPYING")))))
|
||||
|
||||
(define-public isync
|
||||
(package
|
||||
(name "isync")
|
||||
|
|
|
@ -153,7 +153,7 @@ Linux kernel and C library interfaces employed by user-space programs.")
|
|||
(define-public help2man
|
||||
(package
|
||||
(name "help2man")
|
||||
(version "1.46.5")
|
||||
(version "1.46.6")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -161,7 +161,7 @@ Linux kernel and C library interfaces employed by user-space programs.")
|
|||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1gqfqgxq3qgwnldjz3i5mxvzyx2w3j042r3fw1wygic3f6327nha"))))
|
||||
"1brccgnjf09f2zg70s6gv6gn68mi59kp3zf50wvxp79n72ngapv1"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments `(;; There's no `check' target.
|
||||
#:tests? #f))
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
;;; Copyright © 2014 Mathieu Lirzin <mathieu.lirzin@openmailbox.org>
|
||||
;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
|
||||
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -68,6 +69,7 @@
|
|||
#:use-module (gnu packages tcl)
|
||||
#:use-module (gnu packages texinfo)
|
||||
#:use-module (gnu packages texlive)
|
||||
#:use-module (gnu packages wxwidgets)
|
||||
#:use-module (gnu packages xml)
|
||||
#:use-module (gnu packages zip))
|
||||
|
||||
|
@ -382,6 +384,9 @@ extremely large and complex data collections.")
|
|||
`(("lapack" ,lapack)
|
||||
("readline" ,readline)
|
||||
("glpk" ,glpk)
|
||||
("fftw" ,fftw)
|
||||
("fftwf" ,fftwf)
|
||||
("arpack" ,arpack-ng)
|
||||
("curl" ,curl)
|
||||
("pcre" ,pcre)
|
||||
("fltk" ,fltk)
|
||||
|
@ -390,16 +395,18 @@ extremely large and complex data collections.")
|
|||
("hdf5" ,hdf5)
|
||||
("libxft" ,libxft)
|
||||
("mesa" ,mesa)
|
||||
("glu" ,glu)
|
||||
("zlib" ,zlib)))
|
||||
(native-inputs
|
||||
`(("gfortran" ,gfortran-4.8)
|
||||
("pkg-config" ,pkg-config)
|
||||
("perl" ,perl)
|
||||
;; The following inputs are not actually used in the build process. However, the
|
||||
;; ./configure gratuitously tests for their existence and assumes that programs not
|
||||
;; present at build time are also not, and can never be, available at run time!
|
||||
;; If these inputs are therefore not present, support for them will be built out.
|
||||
;; However, Octave will still run without them, albeit without the features they
|
||||
;; The following inputs are not actually used in the build process.
|
||||
;; However, the ./configure gratuitously tests for their existence and
|
||||
;; assumes that programs not present at build time are also not, and
|
||||
;; can never be, available at run time! If these inputs are therefore
|
||||
;; not present, support for them will be built out. However, Octave
|
||||
;; will still run without them, albeit without the features they
|
||||
;; provide.
|
||||
("less" ,less)
|
||||
("texinfo" ,texinfo)
|
||||
|
@ -411,11 +418,11 @@ extremely large and complex data collections.")
|
|||
"/bin/sh"))))
|
||||
(home-page "http://www.gnu.org/software/octave/")
|
||||
(synopsis "High-level language for numerical computation")
|
||||
(description "GNU Octave is a high-level interpreted language that is specialized
|
||||
for numerical computations. It can be used for both linear and non-linear
|
||||
applications and it provides great support for visualizing results. Work may
|
||||
be performed both at the interactive command-line as well as via script
|
||||
files.")
|
||||
(description "GNU Octave is a high-level interpreted language that is
|
||||
specialized for numerical computations. It can be used for both linear and
|
||||
non-linear applications and it provides great support for visualizing results.
|
||||
Work may be performed both at the interactive command-line as well as via
|
||||
script files.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public gmsh
|
||||
|
@ -917,7 +924,7 @@ to BMP, JPEG or PNG image formats.")
|
|||
(define-public maxima
|
||||
(package
|
||||
(name "maxima")
|
||||
(version "5.34.1")
|
||||
(version "5.36.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -925,7 +932,8 @@ to BMP, JPEG or PNG image formats.")
|
|||
version "-source/" name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1dw9vfzldpj7lv303xbw0wpyn6ra6i2yzwlrjbcx7j0jm5n43ji0"))))
|
||||
"0x1rk659sn3cq0n5c90848ilzr1gb1wf0072fl6jhkdq00qgh2s0"))
|
||||
(patches (list (search-patch "maxima-defsystem-mkdir.patch")))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("gcl" ,gcl)
|
||||
|
@ -946,8 +954,8 @@ to BMP, JPEG or PNG image formats.")
|
|||
(let ((v ,(package-version tk)))
|
||||
(string-take v (string-index-right v #\.)))))
|
||||
;; By default Maxima attempts to write temporary files to
|
||||
;; '/tmp/nix-build-maxima-5.34.1', which doesn't exist. Work around
|
||||
;; that.
|
||||
;; '/tmp/nix-build-maxima-*', which won't exist at run time.
|
||||
;; Work around that.
|
||||
#:make-flags (list "TMPDIR=/tmp")
|
||||
#:phases (alist-cons-before
|
||||
'check 'pre-check
|
||||
|
@ -992,6 +1000,49 @@ point numbers")
|
|||
;; GPLv2 only is therefore the smallest subset.
|
||||
(license license:gpl2)))
|
||||
|
||||
(define-public wxmaxima
|
||||
(package
|
||||
(name "wxmaxima")
|
||||
(version "15.04.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/wxmaxima/wxMaxima/"
|
||||
version "/" name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1fm47ah4aw5qdjqhkz67w5fwhy8yfffa5z896crp0d3hk2bh4180"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("wxwidgets" ,wxwidgets)
|
||||
("maxima" ,maxima)))
|
||||
(arguments
|
||||
`(#:phases (modify-phases %standard-phases
|
||||
(add-after
|
||||
'install 'wrap-program
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(wrap-program (string-append (assoc-ref outputs "out")
|
||||
"/bin/wxmaxima")
|
||||
`("PATH" ":" prefix
|
||||
(,(string-append (assoc-ref inputs "maxima")
|
||||
"/bin"))))
|
||||
#t)))))
|
||||
(home-page "https://andrejv.github.io/wxmaxima/")
|
||||
(synopsis "Graphical user interface for the Maxima computer algebra system")
|
||||
(description
|
||||
"wxMaxima is a graphical user interface for the Maxima computer algebra
|
||||
system. It eases the use of Maxima by making most of its commands available
|
||||
through a menu system and by providing input dialogs for commands that require
|
||||
more than one argument. It also implements its own display engine that
|
||||
outputs mathematical symbols directly instead of depicting them with ASCII
|
||||
characters.
|
||||
|
||||
wxMaxima also features 2D and 3D inline plots, simple animations, mixing of
|
||||
text and mathematical calculations to create documents, exporting of input and
|
||||
output to TeX, and a browser for Maxima's manual including command index and
|
||||
full text searching.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public muparser
|
||||
(package
|
||||
(name "muparser")
|
||||
|
@ -1020,7 +1071,7 @@ constant parts of it.")
|
|||
(define-public openblas
|
||||
(package
|
||||
(name "openblas")
|
||||
(version "0.2.13")
|
||||
(version "0.2.14")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -1029,10 +1080,14 @@ constant parts of it.")
|
|||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1asg5mix13ipxgj5h2yj2p0r8km1di5jbcjkn5gmhb37nx7qfv6k"))))
|
||||
"0av3pd96j8rx5i65f652xv9wqfkaqn0w4ma1gvbyz73i6j2hi9db"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:tests? #f ;no "check" target
|
||||
`(#:tests? #f ;no "check" target
|
||||
;; DYNAMIC_ARCH is not supported on MIPS. When it is disabled,
|
||||
;; OpenBLAS will tune itself to the build host, so we need to disable
|
||||
;; substitutions.
|
||||
#:substitutable? ,(not (string-prefix? "mips" (%current-system)))
|
||||
#:make-flags
|
||||
(list (string-append "PREFIX=" (assoc-ref %outputs "out"))
|
||||
"SHELL=bash"
|
||||
|
@ -1040,7 +1095,10 @@ constant parts of it.")
|
|||
;; Build the library for all supported CPUs. This allows
|
||||
;; switching CPU targets at runtime with the environment variable
|
||||
;; OPENBLAS_CORETYPE=<type>, where "type" is a supported CPU type.
|
||||
"DYNAMIC_ARCH=1")
|
||||
;; Unfortunately, this is not supported on MIPS.
|
||||
,@(if (string-prefix? "mips" (%current-system))
|
||||
'()
|
||||
'("DYNAMIC_ARCH=1")))
|
||||
;; no configure script
|
||||
#:phases (alist-delete 'configure %standard-phases)))
|
||||
(inputs
|
||||
|
@ -1333,3 +1391,72 @@ library with poor performance.")
|
|||
library for graphics software based on the OpenGL Shading Language (GLSL)
|
||||
specifications.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public lpsolve
|
||||
(package
|
||||
(name "lpsolve")
|
||||
(version "5.5.2.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/lpsolve/lpsolve/" version
|
||||
"/lp_solve_" version "_source.tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"176c7f023mb6b8bfmv4rfqnrlw88lsg422ca74zjh19i2h5s69sq"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(substitute* (list "lp_solve/ccc" "lpsolve55/ccc")
|
||||
(("^c=cc") "c=gcc")
|
||||
;; Pretend to be on a 64 bit platform to obtain a common directory
|
||||
;; name for the build results on all architectures; nothing else
|
||||
;; seems to depend on it.
|
||||
(("^PLATFORM=.*$") "PLATFORM=ux64\n")))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; no check target
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure)
|
||||
(replace 'build
|
||||
(lambda _
|
||||
(with-directory-excursion "lpsolve55"
|
||||
(system* "bash" "ccc"))
|
||||
(with-directory-excursion "lp_solve"
|
||||
(system* "bash" "ccc"))
|
||||
#t))
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(bin (string-append out "/bin"))
|
||||
(lib (string-append out "/lib"))
|
||||
;; This is where LibreOffice expects to find the header
|
||||
;; files, and where they are installed by Debian.
|
||||
(include (string-append out "/include/lpsolve")))
|
||||
(mkdir-p lib)
|
||||
(copy-file "lpsolve55/bin/ux64/liblpsolve55.a"
|
||||
(string-append lib "/liblpsolve55.a"))
|
||||
(copy-file "lpsolve55/bin/ux64/liblpsolve55.so"
|
||||
(string-append lib "/liblpsolve55.so"))
|
||||
(mkdir-p bin)
|
||||
(copy-file "lp_solve/bin/ux64/lp_solve"
|
||||
(string-append bin "/lp_solve"))
|
||||
(mkdir-p include)
|
||||
;; Install a subset of the header files as on Debian
|
||||
;; (plus lp_bit.h, which matches the regular expression).
|
||||
(for-each
|
||||
(lambda (name)
|
||||
(copy-file name (string-append include "/" name)))
|
||||
(find-files "." "lp_[HMSa-z].*\\.h$"))
|
||||
(with-directory-excursion "shared"
|
||||
(for-each
|
||||
(lambda (name)
|
||||
(copy-file name (string-append include "/" name)))
|
||||
(find-files "." "\\.h$")))
|
||||
#t))))))
|
||||
(home-page "http://lpsolve.sourceforge.net/")
|
||||
(synopsis "Mixed integer linear programming (MILP) solver")
|
||||
(description
|
||||
"lp_solve is a mixed integer linear programming solver based on the
|
||||
revised simplex and the branch-and-bound methods.")
|
||||
(license license:lgpl2.1+)))
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
|
||||
;;; Copyright © 2014 Julien Lepiller <julien@lepiller.eu>
|
||||
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
|
||||
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -86,20 +87,20 @@ providing:
|
|||
(define-public bitlbee
|
||||
(package
|
||||
(name "bitlbee")
|
||||
(version "3.2.2")
|
||||
(version "3.4")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://get.bitlbee.org/src/bitlbee-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "13jmcxxgli82wb2n4hs091159xk8rgh7nb02f478lgpjh6996f5s"))))
|
||||
(base32 "0plx4dryf8i6hz7vghg84z5f6w6rkw1l8ckl4c4wh5zxpd3ddfnf"))
|
||||
(patches (list (search-patch "bitlbee-configure-doc-fix.patch")))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs `(("pkg-config" ,pkg-config)
|
||||
("check" ,check)))
|
||||
(inputs `(("glib" ,glib)
|
||||
("libotr" ,libotr)
|
||||
("gnutls" ,gnutls)
|
||||
("zlib" ,zlib) ; Needed to satisfy "pkg-config --exists gnutls"
|
||||
("python" ,python-2)
|
||||
("perl" ,perl)))
|
||||
(arguments
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
|
||||
;;; Copyright © 2014, 2015 Eric Bavier <bavier@member.fsf.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -27,7 +27,7 @@
|
|||
(define-public moe
|
||||
(package
|
||||
(name "moe")
|
||||
(version "1.6")
|
||||
(version "1.7")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -35,7 +35,7 @@
|
|||
version ".tar.lz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1cfwi67sdl2qchqbdib4p6wxjpwz2kmn6vxn9hmh1zs0gg4xkbwc"))))
|
||||
"1fzimk1qpmsm7wzfnjzzrp4dvdn7ipdb5j7969910g1m93wndfik"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs `(("lzip" ,lzip)))
|
||||
(inputs `(("ncurses" ,ncurses)))
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2014 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -16,14 +17,42 @@
|
|||
;;; 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 socat)
|
||||
(define-module (gnu packages networking)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (gnu packages openssl))
|
||||
|
||||
;; XXX: Group with other networking tools like tcpdump in a module?
|
||||
(define-public miredo
|
||||
(package
|
||||
(name "miredo")
|
||||
(version "1.2.6")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://www.remlab.net/files/miredo/miredo-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0j9ilig570snbmj48230hf7ms8kvcwi2wblycqrmhh85lksd49ps"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:phases
|
||||
(modify-phases %standard-phases
|
||||
;; The checkconf test in src/ requires network access.
|
||||
(add-before
|
||||
'check 'disable-checkconf-test
|
||||
(lambda _
|
||||
(substitute* "src/Makefile"
|
||||
(("^TESTS = .*") "TESTS = \n")))))))
|
||||
(home-page "http://www.remlab.net/miredo/")
|
||||
(synopsis "Teredo IPv6 tunneling software")
|
||||
(description
|
||||
"Miredo is an implementation (client, relay, server) of the Teredo
|
||||
specification, which provides IPv6 Internet connectivity to IPv6 enabled hosts
|
||||
residing in IPv4-only networks, even when they are behind a NAT device.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public socat
|
||||
(package
|
||||
(name "socat")
|
||||
|
@ -53,3 +82,26 @@ line, to logically connect serial lines on different computers, or to
|
|||
establish a relatively secure environment (su and chroot) for running client
|
||||
or server shell scripts with network connections. ")
|
||||
(license license:gpl2)))
|
||||
|
||||
(define-public zeromq
|
||||
(package
|
||||
(name "zeromq")
|
||||
(version "4.0.5")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://download.zeromq.org/zeromq-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0arl8fy8d03xd5h0mgda1s5bajwg8iyh1kk4hd1420rpcxgkrj9v"))))
|
||||
(build-system gnu-build-system)
|
||||
(home-page "http://zeromq.org")
|
||||
(synopsis "Library for message-based applications")
|
||||
(description
|
||||
"The 0MQ lightweight messaging kernel is a library which extends the
|
||||
standard socket interfaces with features traditionally provided by specialized
|
||||
messaging middle-ware products. 0MQ sockets provide an abstraction of
|
||||
asynchronous message queues, multiple messaging patterns, message
|
||||
filtering (subscriptions), seamless access to multiple transport protocols and
|
||||
more.")
|
||||
(license license:lgpl3+)))
|
|
@ -1,6 +1,6 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2013 Cyril Roelandt <tipecaml@gmail.com>
|
||||
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
|
||||
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -18,11 +18,20 @@
|
|||
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu packages ocaml)
|
||||
#:use-module (guix licenses)
|
||||
#:use-module ((guix licenses) #:hide (zlib))
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages emacs)
|
||||
#:use-module (gnu packages texinfo)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages commencement)
|
||||
#:use-module (gnu packages xorg)
|
||||
#:use-module (gnu packages texlive)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages ncurses)
|
||||
|
@ -32,56 +41,94 @@
|
|||
(define-public ocaml
|
||||
(package
|
||||
(name "ocaml")
|
||||
(version "4.00.1")
|
||||
(version "4.02.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"http://caml.inria.fr/pub/distrib/ocaml-4.00/ocaml-"
|
||||
version ".tar.gz"))
|
||||
"http://caml.inria.fr/pub/distrib/ocaml-"
|
||||
(version-major+minor version)
|
||||
"/ocaml-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0yp86napnvbi2jgxr6bk1235bmjdclgzrzgq4mhwv87l7dymr3dl"))))
|
||||
"1p7lqvh64xpykh99014mz21q8fs3qyjym2qazhhbq8scwldv1i38"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("perl" ,perl)
|
||||
("pkg-config" ,pkg-config)))
|
||||
(inputs
|
||||
`(("libx11" ,libx11)
|
||||
("gcc:lib" ,gcc-final "lib") ; for libiberty, needed for objdump support
|
||||
("zlib" ,zlib))) ; also needed for objdump support
|
||||
(arguments
|
||||
`(#:modules ((guix build gnu-build-system)
|
||||
(guix build utils)
|
||||
(srfi srfi-1))
|
||||
#:phases (alist-replace
|
||||
'configure
|
||||
(web server))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-/bin/sh-references
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let* ((sh (string-append (assoc-ref inputs "bash")
|
||||
"/bin/sh"))
|
||||
(quoted-sh (string-append "\"" sh "\"")))
|
||||
(with-fluids ((%default-port-encoding #f))
|
||||
(for-each (lambda (file)
|
||||
(substitute* file
|
||||
(("\"/bin/sh\"")
|
||||
(begin
|
||||
(format (current-error-port) "\
|
||||
patch-/bin/sh-references: ~a: changing `\"/bin/sh\"' to `~a'~%"
|
||||
file quoted-sh)
|
||||
quoted-sh))))
|
||||
(find-files "." "\\.ml$"))
|
||||
#t))))
|
||||
(replace 'configure
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
;; OCaml uses "-prefix <prefix>" rather than the usual
|
||||
;; "--prefix=<prefix>".
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(zero? (system* "./configure" "-prefix" out
|
||||
"-mandir"
|
||||
(string-append out "/share/man")))))
|
||||
(alist-replace
|
||||
'build
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
;; "make" does not do anything, we must use
|
||||
;; "make world.opt".
|
||||
(zero? (system* "make" "world.opt")))
|
||||
(alist-replace
|
||||
'check-after-install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
;; There does not seem to be a "check" or "test" target.
|
||||
(zero? (system "cd testsuite && make all")))
|
||||
(let ((check (assq-ref %standard-phases 'check)))
|
||||
;; OCaml assumes that "make install" is run before
|
||||
;; launching the tests.
|
||||
(alist-cons-after
|
||||
'install 'check-after-install
|
||||
check
|
||||
(alist-delete 'check %standard-phases))))))))
|
||||
(inputs `(("perl" ,perl)))
|
||||
(home-page "http://caml.inria.fr/")
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(mandir (string-append out "/share/man")))
|
||||
;; Custom configure script doesn't recognize
|
||||
;; --prefix=<PREFIX> syntax (with equals sign).
|
||||
(zero? (system* "./configure"
|
||||
"--prefix" out
|
||||
"--mandir" mandir)))))
|
||||
(replace 'build
|
||||
(lambda _
|
||||
(zero? (system* "make" "-j" (number->string
|
||||
(parallel-job-count))
|
||||
"world.opt"))))
|
||||
(delete 'check)
|
||||
(add-after 'install 'check
|
||||
(lambda _
|
||||
(with-directory-excursion "testsuite"
|
||||
(zero? (system* "make" "all")))))
|
||||
(add-before 'check 'prepare-socket-test
|
||||
(lambda _
|
||||
(format (current-error-port)
|
||||
"Spawning local test web server on port 8080~%")
|
||||
(when (zero? (primitive-fork))
|
||||
(run-server (lambda (request request-body)
|
||||
(values '((content-type . (text/plain)))
|
||||
"Hello!"))
|
||||
'http '(#:port 8080)))
|
||||
(let ((file "testsuite/tests/lib-threads/testsocket.ml"))
|
||||
(format (current-error-port)
|
||||
"Patching ~a to use localhost port 8080~%"
|
||||
file)
|
||||
(substitute* file
|
||||
(("caml.inria.fr") "localhost")
|
||||
(("80") "8080")
|
||||
(("HTTP1.0") "HTTP/1.0"))
|
||||
#t))))))
|
||||
(home-page "https://ocaml.org/")
|
||||
(synopsis "The OCaml programming language")
|
||||
(description
|
||||
"OCaml is a general purpose industrial-strength programming language with
|
||||
an emphasis on expressiveness and safety. Developed for more than 20 years at
|
||||
Inria it benefits from one of the most advanced type systems and supports
|
||||
functional, imperative and object-oriented styles of programming.")
|
||||
(license (list qpl gpl2))))
|
||||
;; The compiler is distributed under qpl1.0 with a change to choice of
|
||||
;; law: the license is governed by the laws of France. The library is
|
||||
;; distributed under lgpl2.0.
|
||||
(license (list qpl lgpl2.0))))
|
||||
|
||||
(define-public opam
|
||||
(package
|
||||
|
@ -143,3 +190,198 @@ Git-friendly development workflow.")
|
|||
|
||||
;; The 'LICENSE' file waives some requirements compared to LGPLv3.
|
||||
(license lgpl3)))
|
||||
|
||||
(define-public camlp5
|
||||
(package
|
||||
(name "camlp5")
|
||||
(version "6.12")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://camlp5.gforge.inria.fr/distrib/src/"
|
||||
name "-" version ".tgz"))
|
||||
(sha256
|
||||
(base32
|
||||
"00jwgp6w4g64lfqjx77xziy532091fy00c42fsy0b4i892rch5mp"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("ocaml" ,ocaml)))
|
||||
(arguments
|
||||
`(#:tests? #f ; XXX TODO figure out how to run the tests
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'configure
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(mandir (string-append out "/share/man")))
|
||||
;; Custom configure script doesn't recognize
|
||||
;; --prefix=<PREFIX> syntax (with equals sign).
|
||||
(zero? (system* "./configure"
|
||||
"--prefix" out
|
||||
"--mandir" mandir)))))
|
||||
(replace 'build
|
||||
(lambda _
|
||||
(zero? (system* "make" "-j" (number->string
|
||||
(parallel-job-count))
|
||||
"world.opt")))))))
|
||||
(home-page "http://camlp5.gforge.inria.fr/")
|
||||
(synopsis "Pre-processor Pretty Printer for OCaml")
|
||||
(description
|
||||
"Camlp5 is a Pre-Processor-Pretty-Printer for Objective Caml. It offers
|
||||
tools for syntax (Stream Parsers and Grammars) and the ability to modify the
|
||||
concrete syntax of the language (Quotations, Syntax Extensions).")
|
||||
;; Most files are distributed under bsd-3, but ocaml_stuff/* is under qpl.
|
||||
(license (list bsd-3 qpl))))
|
||||
|
||||
(define-public hevea
|
||||
(package
|
||||
(name "hevea")
|
||||
(version "2.23")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://hevea.inria.fr/distri/"
|
||||
name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1f9pj48518ixhjxbviv2zx27v4anp92zgg3x704g1s5cki2w33nv"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("ocaml" ,ocaml)))
|
||||
(arguments
|
||||
`(#:tests? #f ; no test suite
|
||||
#:make-flags (list (string-append "PREFIX=" %output))
|
||||
#:phases (modify-phases %standard-phases
|
||||
(delete 'configure))))
|
||||
(home-page "http://hevea.inria.fr/")
|
||||
(synopsis "LaTeX to HTML translator")
|
||||
(description
|
||||
"HeVeA is a LaTeX to HTML translator that generates modern HTML 5. It is
|
||||
written in Objective Caml.")
|
||||
(license qpl)))
|
||||
|
||||
(define-public coq
|
||||
(package
|
||||
(name "coq")
|
||||
(version "8.4pl6")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://coq.inria.fr/distrib/V" version
|
||||
"/files/" name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1mpbj4yf36kpjg2v2sln12i8dzqn8rag6fd07hslj2lpm4qs4h55"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("texlive" ,texlive)
|
||||
("hevea" ,hevea)))
|
||||
(inputs
|
||||
`(("ocaml" ,ocaml)
|
||||
("camlp5" ,camlp5)))
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'configure
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(mandir (string-append out "/share/man"))
|
||||
(browser "icecat -remote \"OpenURL(%s,new-tab)\""))
|
||||
(zero? (system* "./configure"
|
||||
"--prefix" out
|
||||
"--mandir" mandir
|
||||
"--browser" browser)))))
|
||||
(replace 'build
|
||||
(lambda _
|
||||
(zero? (system* "make" "-j" (number->string
|
||||
(parallel-job-count))
|
||||
"world"))))
|
||||
(delete 'check)
|
||||
(add-after 'install 'check
|
||||
(lambda _
|
||||
(with-directory-excursion "test-suite"
|
||||
(zero? (system* "make"))))))))
|
||||
(home-page "https://coq.inria.fr")
|
||||
(synopsis "Proof assistant for higher-order logic")
|
||||
(description
|
||||
"Coq is a proof assistant for higher-order logic, which allows the
|
||||
development of computer programs consistent with their formal specification.
|
||||
It is developed using Objective Caml and Camlp5.")
|
||||
;; The code is distributed under lgpl2.1.
|
||||
;; Some of the documentation is distributed under opl1.0+.
|
||||
(license (list lgpl2.1 opl1.0+))))
|
||||
|
||||
(define-public proof-general
|
||||
(package
|
||||
(name "proof-general")
|
||||
(version "4.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"http://proofgeneral.inf.ed.ac.uk/releases/"
|
||||
"ProofGeneral-" version ".tgz"))
|
||||
(sha256
|
||||
(base32
|
||||
"09qb0myq66fw17v4ziz401ilsb5xlxz1nl2wsp69d0vrfy0bcrrm"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("which" ,which)
|
||||
("emacs" ,emacs-no-x)
|
||||
("texinfo" ,texinfo)))
|
||||
(inputs
|
||||
`(("host-emacs" ,emacs)
|
||||
("perl" ,perl)
|
||||
("coq" ,coq)))
|
||||
(arguments
|
||||
`(#:tests? #f ; no check target
|
||||
#:make-flags (list (string-append "PREFIX=" %output)
|
||||
(string-append "DEST_PREFIX=" %output))
|
||||
#:modules ((guix build gnu-build-system)
|
||||
(guix build utils)
|
||||
(guix build emacs-utils))
|
||||
#:imported-modules (,@%gnu-build-system-modules
|
||||
(guix build emacs-utils))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure)
|
||||
(add-after 'unpack 'disable-byte-compile-error-on-warn
|
||||
(lambda _
|
||||
(substitute* "Makefile"
|
||||
(("\\(setq byte-compile-error-on-warn t\\)")
|
||||
"(setq byte-compile-error-on-warn nil)"))
|
||||
#t))
|
||||
(add-after 'unpack 'patch-hardcoded-paths
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out"))
|
||||
(coq (assoc-ref inputs "coq"))
|
||||
(emacs (assoc-ref inputs "host-emacs")))
|
||||
(define (coq-prog name)
|
||||
(string-append coq "/bin/" name))
|
||||
(emacs-substitute-variables "coq/coq.el"
|
||||
("coq-prog-name" (coq-prog "coqtop"))
|
||||
("coq-compiler" (coq-prog "coqc"))
|
||||
("coq-dependency-analyzer" (coq-prog "coqdep")))
|
||||
(substitute* "Makefile"
|
||||
(("/sbin/install-info") "install-info"))
|
||||
(substitute* "bin/proofgeneral"
|
||||
(("^PGHOMEDEFAULT=.*" all)
|
||||
(string-append all
|
||||
"PGHOME=$PGHOMEDEFAULT\n"
|
||||
"EMACS=" emacs "/bin/emacs")))
|
||||
#t)))
|
||||
(add-after 'unpack 'clean
|
||||
(lambda _
|
||||
;; Delete the pre-compiled elc files for Emacs 23.
|
||||
(zero? (system* "make" "clean"))))
|
||||
(add-after 'install 'install-doc
|
||||
(lambda* (#:key make-flags #:allow-other-keys)
|
||||
;; XXX FIXME avoid building/installing pdf files,
|
||||
;; due to unresolved errors building them.
|
||||
(substitute* "Makefile"
|
||||
((" [^ ]*\\.pdf") ""))
|
||||
(zero? (apply system* "make" "install-doc"
|
||||
make-flags)))))))
|
||||
(home-page "http://proofgeneral.inf.ed.ac.uk/")
|
||||
(description "Generic front-end for proof assistants based on Emacs")
|
||||
(synopsis
|
||||
"Proof General is a major mode to turn Emacs into an interactive proof
|
||||
assistant to write formal mathematical proofs using a variety of theorem
|
||||
provers.")
|
||||
(license gpl2+)))
|
||||
|
|
|
@ -37,10 +37,20 @@
|
|||
(version "2.4.40")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"ftp://sunsite.cnlab-switch.ch/mirror/OpenLDAP/openldap-release/openldap-"
|
||||
version ".tgz"))
|
||||
(sha256 (base32
|
||||
|
||||
;; See <http://www.openldap.org/software/download/> for a list of
|
||||
;; mirrors.
|
||||
(uri (list (string-append
|
||||
"ftp://mirror.switch.ch/mirror/OpenLDAP/"
|
||||
"openldap-release/openldap-" version ".tgz")
|
||||
(string-append
|
||||
"ftp://ftp.OpenLDAP.org/pub/OpenLDAP/"
|
||||
"openldap-release/openldap-" version ".tgz")
|
||||
(string-append
|
||||
"ftp://ftp.dti.ad.jp/pub/net/OpenLDAP/"
|
||||
"openldap-release/openldap-" version ".tgz")))
|
||||
(sha256
|
||||
(base32
|
||||
"1nyslrgwxwilgv5sixc37svls5rbvhsv9drb7hlrjr2vqaji29ni"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs `(("bdb" ,bdb)
|
||||
|
|
|
@ -29,6 +29,7 @@
|
|||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages gnupg)
|
||||
#:use-module (gnu packages databases)
|
||||
#:use-module (gnu packages gnutls)
|
||||
#:use-module (gnu packages graphviz)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages autotools)
|
||||
|
@ -51,17 +52,17 @@
|
|||
arch "-linux"
|
||||
"/20131110/guile-2.0.9.tar.xz")))
|
||||
|
||||
(define-public guix-0.8.1
|
||||
(define-public guix-0.8.2
|
||||
(package
|
||||
(name "guix")
|
||||
(version "0.8.1")
|
||||
(version "0.8.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "ftp://alpha.gnu.org/gnu/guix/guix-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"12h5ldj1yf0za6ladlr8h7nx2gqrv2dxcsiwyqayvrza93lijkf5"))))
|
||||
"1a5gnkh17w7fgi5zy63ph64iqdvarkdqypkwgw2iifpqa6jq04zz"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags (list
|
||||
|
@ -130,7 +131,8 @@
|
|||
(base32
|
||||
"1mi3brl7l58aww34rawhvja84xc7l1b4hmwdmc36fp9q9mfx0lg5"))))))
|
||||
(propagated-inputs
|
||||
`(("guile-json" ,guile-json)
|
||||
`(("gnutls" ,gnutls) ;for 'guix download' & co.
|
||||
("guile-json" ,guile-json)
|
||||
("geiser" ,geiser))) ;for guix.el
|
||||
|
||||
(home-page "http://www.gnu.org/software/guix")
|
||||
|
@ -148,9 +150,9 @@ the Nix package manager.")
|
|||
;;
|
||||
;; Note: use a short commit id; when using the long one, the limit on socket
|
||||
;; file names is exceeded while running the tests.
|
||||
(let ((commit "fc34dee"))
|
||||
(package (inherit guix-0.8.1)
|
||||
(version (string-append "0.8.1." commit))
|
||||
(let ((commit "c2ee19e"))
|
||||
(package (inherit guix-0.8.2)
|
||||
(version (string-append "0.8.2." commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -158,9 +160,9 @@ the Nix package manager.")
|
|||
(commit commit)))
|
||||
(sha256
|
||||
(base32
|
||||
"0nx60wwiar0s4bgwrm3nrskc54jig3vw7yzwxkwilc43cnlgpkja"))))
|
||||
"1gwc1gypgscxg2m3n2vd0mw4dmxr7vsisqgh3y0lr05q9z5742sj"))))
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments guix-0.8.1)
|
||||
(substitute-keyword-arguments (package-arguments guix-0.8.2)
|
||||
((#:phases phases)
|
||||
`(alist-cons-after
|
||||
'unpack 'bootstrap
|
||||
|
@ -178,7 +180,7 @@ the Nix package manager.")
|
|||
("gettext" ,gnu-gettext)
|
||||
("texinfo" ,texinfo)
|
||||
("graphviz" ,graphviz)
|
||||
,@(package-native-inputs guix-0.8.1))))))
|
||||
,@(package-native-inputs guix-0.8.2))))))
|
||||
|
||||
(define-public guix guix-devel)
|
||||
|
||||
|
|
|
@ -28,7 +28,7 @@
|
|||
(define-public parallel
|
||||
(package
|
||||
(name "parallel")
|
||||
(version "20150322")
|
||||
(version "20150422")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -36,7 +36,7 @@
|
|||
version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"1zsj1bd4zbwb4n9i0jgzs7vd5wkyg3xvj6s1q6s5fyn0pff7j01c"))))
|
||||
"1x6lvbw6msjkibadihzr2s0mbbcx2h2wxd723q5bgz6mcnsml346"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs `(("perl" ,perl)))
|
||||
(home-page "http://www.gnu.org/software/parallel/")
|
||||
|
|
|
@ -0,0 +1,15 @@
|
|||
Fix the check for the prebuilt helpfile when xsltproc is not available.
|
||||
|
||||
--- bitlbee-3.4/configure.orig 2015-03-25 18:09:10.000000000 -0400
|
||||
+++ bitlbee-3.4/configure 2015-05-20 14:51:33.627975970 -0400
|
||||
@@ -650,8 +650,8 @@
|
||||
|
||||
if [ "$doc" = "1" ]; then
|
||||
if [ ! -e doc/user-guide/help.txt ] && \
|
||||
- ! type xmlto > /dev/null 2> /dev/null || \
|
||||
- ! type xsltproc > /dev/null 2> /dev/null
|
||||
+ (! type xmlto > /dev/null 2> /dev/null || \
|
||||
+ ! type xsltproc > /dev/null 2> /dev/null)
|
||||
then
|
||||
echo
|
||||
echo 'WARNING: Building from an unreleased source tree without prebuilt helpfile.'
|
|
@ -1,16 +0,0 @@
|
|||
This patch updates 'configure' as autoreconf would have done after
|
||||
applying curl-support-capath-on-gnutls.patch.
|
||||
|
||||
--- a/configure 2015-03-22 01:11:23.178743705 +0100
|
||||
+++ b/configure 2015-02-25 00:05:37.000000000 +0100
|
||||
@@ -23952,8 +24432,8 @@
|
||||
ca="$want_ca"
|
||||
capath="no"
|
||||
elif test "x$want_capath" != "xno" -a "x$want_capath" != "xunset"; then
|
||||
- if test "x$OPENSSL_ENABLED" != "x1" -a "x$POLARSSL_ENABLED" != "x1"; then
|
||||
- as_fn_error $? "--with-ca-path only works with openSSL or PolarSSL" "$LINENO" 5
|
||||
+ if test "x$OPENSSL_ENABLED" != "x1" -a "x$GNUTLS_ENABLED" != "x1" -a "x$POLARSSL_ENABLED" != "x1"; then
|
||||
+ as_fn_error $? "--with-ca-path only works with OpenSSL, GnuTLS or PolarSSL" "$LINENO" 5
|
||||
fi
|
||||
capath="$want_capath"
|
||||
ca="no"
|
|
@ -1,102 +0,0 @@
|
|||
This patch adds support for CURLOPT_CAPATH to the GnuTLS backend.
|
||||
|
||||
From 5a1614cecdd57cab8b4ae3e9bc19dfff5ba77e80 Mon Sep 17 00:00:00 2001
|
||||
From: Alessandro Ghedini <alessandro@ghedini.me>
|
||||
Date: Sun, 8 Mar 2015 20:11:06 +0100
|
||||
Subject: [PATCH] gtls: add support for CURLOPT_CAPATH
|
||||
|
||||
---
|
||||
acinclude.m4 | 4 ++--
|
||||
docs/libcurl/opts/CURLOPT_CAPATH.3 | 5 ++---
|
||||
lib/vtls/gtls.c | 22 ++++++++++++++++++++++
|
||||
lib/vtls/gtls.h | 3 +++
|
||||
4 files changed, 29 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/acinclude.m4 b/acinclude.m4
|
||||
index 6ed7ffb..ca01869 100644
|
||||
--- a/acinclude.m4
|
||||
+++ b/acinclude.m4
|
||||
@@ -2615,8 +2615,8 @@ AC_HELP_STRING([--without-ca-path], [Don't use a default CA path]),
|
||||
capath="no"
|
||||
elif test "x$want_capath" != "xno" -a "x$want_capath" != "xunset"; then
|
||||
dnl --with-ca-path given
|
||||
- if test "x$OPENSSL_ENABLED" != "x1" -a "x$POLARSSL_ENABLED" != "x1"; then
|
||||
- AC_MSG_ERROR([--with-ca-path only works with openSSL or PolarSSL])
|
||||
+ if test "x$OPENSSL_ENABLED" != "x1" -a "x$GNUTLS_ENABLED" != "x1" -a "x$POLARSSL_ENABLED" != "x1"; then
|
||||
+ AC_MSG_ERROR([--with-ca-path only works with OpenSSL, GnuTLS or PolarSSL])
|
||||
fi
|
||||
capath="$want_capath"
|
||||
ca="no"
|
||||
diff --git a/docs/libcurl/opts/CURLOPT_CAPATH.3 b/docs/libcurl/opts/CURLOPT_CAPATH.3
|
||||
index 642953d..6695f9f 100644
|
||||
--- a/docs/libcurl/opts/CURLOPT_CAPATH.3
|
||||
+++ b/docs/libcurl/opts/CURLOPT_CAPATH.3
|
||||
@@ -43,9 +43,8 @@ All TLS based protocols: HTTPS, FTPS, IMAPS, POP3, SMTPS etc.
|
||||
.SH EXAMPLE
|
||||
TODO
|
||||
.SH AVAILABILITY
|
||||
-This option is OpenSSL-specific and does nothing if libcurl is built to use
|
||||
-GnuTLS. NSS-powered libcurl provides the option only for backward
|
||||
-compatibility.
|
||||
+This option is supported by the OpenSSL, GnuTLS and PolarSSL backends. The NSS
|
||||
+backend provides the option only for backward compatibility.
|
||||
.SH RETURN VALUE
|
||||
Returns CURLE_OK if TLS enabled, and CURLE_UNKNOWN_OPTION if not, or
|
||||
CURLE_OUT_OF_MEMORY if there was insufficient heap space.
|
||||
diff --git a/lib/vtls/gtls.c b/lib/vtls/gtls.c
|
||||
index 05aef19..c792540 100644
|
||||
--- a/lib/vtls/gtls.c
|
||||
+++ b/lib/vtls/gtls.c
|
||||
@@ -97,6 +97,10 @@ static bool gtls_inited = FALSE;
|
||||
# if (GNUTLS_VERSION_NUMBER >= 0x03020d)
|
||||
# define HAS_OCSP
|
||||
# endif
|
||||
+
|
||||
+# if (GNUTLS_VERSION_NUMBER >= 0x030306)
|
||||
+# define HAS_CAPATH
|
||||
+# endif
|
||||
#endif
|
||||
|
||||
#ifdef HAS_OCSP
|
||||
@@ -462,6 +466,24 @@ gtls_connect_step1(struct connectdata *conn,
|
||||
rc, data->set.ssl.CAfile);
|
||||
}
|
||||
|
||||
+#ifdef HAS_CAPATH
|
||||
+ if(data->set.ssl.CApath) {
|
||||
+ /* set the trusted CA cert directory */
|
||||
+ rc = gnutls_certificate_set_x509_trust_dir(conn->ssl[sockindex].cred,
|
||||
+ data->set.ssl.CApath,
|
||||
+ GNUTLS_X509_FMT_PEM);
|
||||
+ if(rc < 0) {
|
||||
+ infof(data, "error reading ca cert file %s (%s)\n",
|
||||
+ data->set.ssl.CAfile, gnutls_strerror(rc));
|
||||
+ if(data->set.ssl.verifypeer)
|
||||
+ return CURLE_SSL_CACERT_BADFILE;
|
||||
+ }
|
||||
+ else
|
||||
+ infof(data, "found %d certificates in %s\n",
|
||||
+ rc, data->set.ssl.CApath);
|
||||
+ }
|
||||
+#endif
|
||||
+
|
||||
if(data->set.ssl.CRLfile) {
|
||||
/* set the CRL list file */
|
||||
rc = gnutls_certificate_set_x509_crl_file(conn->ssl[sockindex].cred,
|
||||
diff --git a/lib/vtls/gtls.h b/lib/vtls/gtls.h
|
||||
index c3867e5..af1cb5b 100644
|
||||
--- a/lib/vtls/gtls.h
|
||||
+++ b/lib/vtls/gtls.h
|
||||
@@ -54,6 +54,9 @@ bool Curl_gtls_cert_status_request(void);
|
||||
/* Set the API backend definition to GnuTLS */
|
||||
#define CURL_SSL_BACKEND CURLSSLBACKEND_GNUTLS
|
||||
|
||||
+/* this backend supports the CAPATH option */
|
||||
+#define have_curlssl_ca_path 1
|
||||
+
|
||||
/* API setup for GnuTLS */
|
||||
#define curlssl_init Curl_gtls_init
|
||||
#define curlssl_cleanup Curl_gtls_cleanup
|
||||
--
|
||||
2.2.1
|
||||
|
|
@ -0,0 +1,51 @@
|
|||
This patch from upstream revision 10588.
|
||||
|
||||
--- fltk-1.3.3/src/Xutf8.h
|
||||
+++ fltk-1.3.3/src/Xutf8.h
|
||||
@@ -25,6 +25,7 @@
|
||||
#include <X11/Xlib.h>
|
||||
#include <X11/Xlocale.h>
|
||||
#include <X11/Xutil.h>
|
||||
+#include <FL/Fl_Export.H>
|
||||
|
||||
typedef struct {
|
||||
int nb_font;
|
||||
@@ -98,8 +99,8 @@
|
||||
XUtf8FontStruct *font_set,
|
||||
unsigned int ucs);
|
||||
|
||||
-int
|
||||
-XGetUtf8FontAndGlyph(
|
||||
+FL_EXPORT int
|
||||
+fl_XGetUtf8FontAndGlyph(
|
||||
XUtf8FontStruct *font_set,
|
||||
unsigned int ucs,
|
||||
XFontStruct **fnt,
|
||||
--- fltk-1.3.3/src/gl_draw.cxx
|
||||
+++ fltk-1.3.3/src/gl_draw.cxx
|
||||
@@ -114,7 +114,7 @@
|
||||
for (int i = 0; i < 0x400; i++) {
|
||||
XFontStruct *font = NULL;
|
||||
unsigned short id;
|
||||
- XGetUtf8FontAndGlyph(gl_fontsize->font, ii, &font, &id);
|
||||
+ fl_XGetUtf8FontAndGlyph(gl_fontsize->font, ii, &font, &id);
|
||||
if (font) glXUseXFont(font->fid, id, 1, gl_fontsize->listbase+ii);
|
||||
ii++;
|
||||
}
|
||||
--- fltk-1.3.3/src/xutf8/utf8Wrap.c
|
||||
+++ fltk-1.3.3/src/xutf8/utf8Wrap.c
|
||||
@@ -816,10 +816,10 @@
|
||||
/** get the X font and glyph ID of a UCS char **/
|
||||
/*****************************************************************************/
|
||||
int
|
||||
-XGetUtf8FontAndGlyph(XUtf8FontStruct *font_set,
|
||||
- unsigned int ucs,
|
||||
- XFontStruct **fnt,
|
||||
- unsigned short *id) {
|
||||
+fl_XGetUtf8FontAndGlyph(XUtf8FontStruct *font_set,
|
||||
+ unsigned int ucs,
|
||||
+ XFontStruct **fnt,
|
||||
+ unsigned short *id) {
|
||||
|
||||
/* int x; */
|
||||
int *encodings; /* encodings array */
|
|
@ -0,0 +1,65 @@
|
|||
The following patch was copied from Debian.
|
||||
|
||||
Description: Fix CVE-2015-3202
|
||||
Missing scrubbing of the environment before executing a mount or umount
|
||||
of a filesystem.
|
||||
Origin: upstream
|
||||
Author: Miklos Szeredi <miklos@szeredi.hu>
|
||||
Last-Update: 2015-05-19
|
||||
|
||||
---
|
||||
lib/mount_util.c | 23 +++++++++++++++++------
|
||||
1 file changed, 17 insertions(+), 6 deletions(-)
|
||||
|
||||
--- a/lib/mount_util.c
|
||||
+++ b/lib/mount_util.c
|
||||
@@ -95,10 +95,12 @@ static int add_mount(const char *prognam
|
||||
goto out_restore;
|
||||
}
|
||||
if (res == 0) {
|
||||
+ char *env = NULL;
|
||||
+
|
||||
sigprocmask(SIG_SETMASK, &oldmask, NULL);
|
||||
setuid(geteuid());
|
||||
- execl("/bin/mount", "/bin/mount", "--no-canonicalize", "-i",
|
||||
- "-f", "-t", type, "-o", opts, fsname, mnt, NULL);
|
||||
+ execle("/bin/mount", "/bin/mount", "--no-canonicalize", "-i",
|
||||
+ "-f", "-t", type, "-o", opts, fsname, mnt, NULL, &env);
|
||||
fprintf(stderr, "%s: failed to execute /bin/mount: %s\n",
|
||||
progname, strerror(errno));
|
||||
exit(1);
|
||||
@@ -146,10 +148,17 @@ static int exec_umount(const char *progn
|
||||
goto out_restore;
|
||||
}
|
||||
if (res == 0) {
|
||||
+ char *env = NULL;
|
||||
+
|
||||
sigprocmask(SIG_SETMASK, &oldmask, NULL);
|
||||
setuid(geteuid());
|
||||
- execl("/bin/umount", "/bin/umount", "-i", rel_mnt,
|
||||
- lazy ? "-l" : NULL, NULL);
|
||||
+ if (lazy) {
|
||||
+ execle("/bin/umount", "/bin/umount", "-i", rel_mnt,
|
||||
+ "-l", NULL, &env);
|
||||
+ } else {
|
||||
+ execle("/bin/umount", "/bin/umount", "-i", rel_mnt,
|
||||
+ NULL, &env);
|
||||
+ }
|
||||
fprintf(stderr, "%s: failed to execute /bin/umount: %s\n",
|
||||
progname, strerror(errno));
|
||||
exit(1);
|
||||
@@ -205,10 +214,12 @@ static int remove_mount(const char *prog
|
||||
goto out_restore;
|
||||
}
|
||||
if (res == 0) {
|
||||
+ char *env = NULL;
|
||||
+
|
||||
sigprocmask(SIG_SETMASK, &oldmask, NULL);
|
||||
setuid(geteuid());
|
||||
- execl("/bin/umount", "/bin/umount", "--no-canonicalize", "-i",
|
||||
- "--fake", mnt, NULL);
|
||||
+ execle("/bin/umount", "/bin/umount", "--no-canonicalize", "-i",
|
||||
+ "--fake", mnt, NULL, &env);
|
||||
fprintf(stderr, "%s: failed to execute /bin/umount: %s\n",
|
||||
progname, strerror(errno));
|
||||
exit(1);
|
|
@ -0,0 +1,15 @@
|
|||
GCC 4.9 and later have libvtv and, just like libstdc++ (see
|
||||
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=32354), it doesn't
|
||||
have $libdir in its RUNPATH, but it NEEDs libgcc_s. This patch
|
||||
fixes that.
|
||||
|
||||
--- gcc-5.1.0/libvtv/Makefile.in 2014-10-30 09:28:58.000000000 +0100
|
||||
+++ gcc-5.1.0/libvtv/Makefile.in 2015-04-30 09:51:04.161129705 +0200
|
||||
@@ -15,6 +15,7 @@
|
||||
|
||||
@SET_MAKE@
|
||||
|
||||
+libvtv_la_LDFLAGS = -Wl,-rpath=$(libdir)
|
||||
|
||||
VPATH = @srcdir@
|
||||
pkgdatadir = $(datadir)/@PACKAGE@
|
|
@ -1,30 +0,0 @@
|
|||
Remove duplicate manpage entries from Makefile.
|
||||
|
||||
--- gnutls-3.4.0/doc/manpages/Makefile.am.orig 2015-04-06 04:48:30.000000000 -0400
|
||||
+++ gnutls-3.4.0/doc/manpages/Makefile.am 2015-04-12 16:52:58.029694525 -0400
|
||||
@@ -134,11 +134,8 @@
|
||||
APIMANS += gnutls_certificate_get_peers_subkey_id.3
|
||||
APIMANS += gnutls_certificate_get_trust_list.3
|
||||
APIMANS += gnutls_certificate_get_verify_flags.3
|
||||
-APIMANS += gnutls_certificate_get_verify_flags.3
|
||||
-APIMANS += gnutls_certificate_get_x509_crt.3
|
||||
APIMANS += gnutls_certificate_get_x509_crt.3
|
||||
APIMANS += gnutls_certificate_get_x509_key.3
|
||||
-APIMANS += gnutls_certificate_get_x509_key.3
|
||||
APIMANS += gnutls_certificate_send_x509_rdn_sequence.3
|
||||
APIMANS += gnutls_certificate_server_set_request.3
|
||||
APIMANS += gnutls_certificate_set_dh_params.3
|
||||
--- gnutls-3.4.0/doc/manpages/Makefile.in.orig 2015-04-08 02:08:30.000000000 -0400
|
||||
+++ gnutls-3.4.0/doc/manpages/Makefile.in 2015-04-12 16:53:13.319694530 -0400
|
||||
@@ -1275,11 +1275,8 @@
|
||||
gnutls_certificate_get_peers_subkey_id.3 \
|
||||
gnutls_certificate_get_trust_list.3 \
|
||||
gnutls_certificate_get_verify_flags.3 \
|
||||
- gnutls_certificate_get_verify_flags.3 \
|
||||
- gnutls_certificate_get_x509_crt.3 \
|
||||
gnutls_certificate_get_x509_crt.3 \
|
||||
gnutls_certificate_get_x509_key.3 \
|
||||
- gnutls_certificate_get_x509_key.3 \
|
||||
gnutls_certificate_send_x509_rdn_sequence.3 \
|
||||
gnutls_certificate_server_set_request.3 \
|
||||
gnutls_certificate_set_dh_params.3 \
|
|
@ -1,15 +0,0 @@
|
|||
Skip that test when the network is unreachable.
|
||||
|
||||
diff --git a/tests/packages.scm b/tests/packages.scm
|
||||
index 04e3b0b..6ac215b 100644
|
||||
--- a/tests/packages.scm
|
||||
+++ b/tests/packages.scm
|
||||
@@ -139,6 +139,8 @@
|
||||
(and (direct-store-path? source)
|
||||
(string-suffix? "utils.scm" source))))
|
||||
|
||||
+(unless (false-if-exception (getaddrinfo "www.gnu.org" "80" AI_NUMERICSERV))
|
||||
+ (test-skip 1))
|
||||
(test-equal "package-source-derivation, snippet"
|
||||
"OK"
|
||||
(let* ((file (search-bootstrap-binary "guile-2.0.9.tar.xz"
|
|
@ -0,0 +1,60 @@
|
|||
Make hop's link rules honor flags set by the --blflags configure argument.
|
||||
|
||||
--- hop-2.4.0/src/Makefile 2015-05-05 19:41:04.800151036 -0500
|
||||
+++ hop-2.4.0/src/Makefile 2015-05-05 19:40:40.916150417 -0500
|
||||
@@ -69,10 +69,10 @@
|
||||
$(MAKE) link.$(LINK) DEST=$@
|
||||
|
||||
link.dynamic:
|
||||
- @ $(call link,$(BIGLOO),$(BCFLAGS),$(BCFLAGSDEV),$(OBJECTS),-o,$(DEST))
|
||||
+ @ $(call link,$(BIGLOO),$(BCFLAGS) $(BLFLAGS),$(BCFLAGSDEV),$(OBJECTS),-o,$(DEST))
|
||||
|
||||
link.static:
|
||||
- @ $(call link,$(BIGLOO),$(BCFLAGS),$(BCFLAGSDEV),-static-all-bigloo $(OBJECTS),-o,$(DEST))
|
||||
+ @ $(call link,$(BIGLOO),$(BCFLAGS) $(BLFLAGS),$(BCFLAGSDEV),-static-all-bigloo $(OBJECTS),-o,$(DEST))
|
||||
|
||||
link.library:
|
||||
echo "***ERROR: link.library not currently supported!"
|
||||
--- hop-2.4.0/hopc/Makefile 2013-01-30 07:17:59.000000000 -0600
|
||||
+++ hop-2.4.0/hopc/Makefile 2015-05-05 19:45:21.876157699 -0500
|
||||
@@ -62,7 +62,7 @@
|
||||
mkdir -p $@
|
||||
|
||||
$(BUILDBINDIR)/$(EXEC): .afile .etags $(OBJECTS)
|
||||
- @ $(call link,$(BIGLOO),$(BCFLAGS),,$(OBJECTS),-o,$@)
|
||||
+ @ $(call link,$(BIGLOO),$(BCFLAGS) $(BLFLAGS),$(BCFLAGSDEV),$(OBJECTS),-o,$@)
|
||||
|
||||
$(BUILDBINDIR)/$(EXEC).jar: .afile .etags .jfile $(BGL_CLASSES) META-INF/MANIFEST.MF jvm-stdlibs jvm-share jvm-lib
|
||||
$(JAR) $@ META-INF/MANIFEST.MF -C o/class_s .
|
||||
--- hop-2.4.0/hophz/Makefile 2013-01-30 07:17:59.000000000 -0600
|
||||
+++ hop-2.4.0/hophz/Makefile 2015-05-05 19:59:42.996180030 -0500
|
||||
@@ -16,9 +16,6 @@
|
||||
-include ../etc/Makefile.hopconfig
|
||||
-include ../etc/Makefile.version
|
||||
|
||||
-BLFLAGS =
|
||||
-BLINKFLAGS = -suffix hop
|
||||
-
|
||||
#*---------------------------------------------------------------------*/
|
||||
#* Target and Project */
|
||||
#*---------------------------------------------------------------------*/
|
||||
@@ -72,7 +69,7 @@
|
||||
mkdir -p $@
|
||||
|
||||
$(BUILDBINDIR)/$(EXEC): .afile .etags $(OBJECTS)
|
||||
- @ $(call link,$(BIGLOO),$(BCFLAGS),$(BLINKFLAGS),$(OBJECTS),-o,$@)
|
||||
+ @ $(call link,$(BIGLOO),$(BCFLAGS) $(BLFLAGS),$(BCFLAGSDEV),$(OBJECTS),-o,$@)
|
||||
|
||||
$(BUILDBINDIR)/$(EXEC).jar: .afile .etags .jfile $(BGL_CLASSES) META-INF/MANIFEST.MF jvm-stdlibs jvm-share jvm-lib
|
||||
@ $(JAR) $@ META-INF/MANIFEST.MF -C o/class_s .
|
||||
--- hop-2.4.0/hopsh/Makefile 2013-01-30 07:17:59.000000000 -0600
|
||||
+++ hop-2.4.0/hopsh/Makefile 2015-05-05 19:46:36.060159626 -0500
|
||||
@@ -60,7 +60,7 @@
|
||||
mkdir -p $@
|
||||
|
||||
$(BUILDBINDIR)/$(EXEC): .afile .etags $(OBJECTS)
|
||||
- @ $(call link,$(BIGLOO),$(BCFLAGS),$(BCFLAGSDEV),$(OBJECTS),-o,$@)
|
||||
+ @ $(call link,$(BIGLOO),$(BCFLAGS) $(BLFLAGS),$(BCFLAGSDEV),$(OBJECTS),-o,$@)
|
||||
|
||||
$(BUILDBINDIR)/$(EXEC).jar: .afile .etags .jfile $(BGL_CLASSES) META-INF/MANIFEST.MF jvm-stdlibs jvm-share jvm-lib
|
||||
@ $(JAR) $@ META-INF/MANIFEST.MF -C o/class_s .
|
|
@ -1,20 +0,0 @@
|
|||
From <http://lists.gnu.org/archive/html/bug-inetutils/2015-04/msg00001.html>.
|
||||
|
||||
2015-04-01 Ludovic Courtès <ludo@gnu.org>
|
||||
|
||||
* src/syslogd.c (load_conffile): Use 'bcopy' instead of 'strcpy'
|
||||
since the two regions may overlap.
|
||||
Reported by Alex Kost <alezost@gmail.com>
|
||||
at <http://lists.gnu.org/archive/html/guix-devel/2015-03/msg00780.html>.
|
||||
|
||||
--- a/src/syslogd.c
|
||||
+++ b/src/syslogd.c
|
||||
@@ -1989,7 +1989,7 @@ load_conffile (const char *filename, struct filed **nextp)
|
||||
if (*p == '\0' || *p == '#')
|
||||
continue;
|
||||
|
||||
- strcpy (cline, p);
|
||||
+ bcopy (p, cline, strlen (p) + 1);
|
||||
|
||||
/* Cut the trailing spaces. */
|
||||
for (p = strchr (cline, '\0'); isspace (*--p);)
|
|
@ -1,55 +0,0 @@
|
|||
Because our GCC 'lib' spec automatically adds '-rpath' for each '-L'
|
||||
and a couple more '-rpath, there are two test failures:
|
||||
one in demo.test, and one in destdir.at. Disable these.
|
||||
|
||||
Also skip the nopic test on ARM and MIPS systems.
|
||||
|
||||
--- libtool-2.4.6/tests/demo.at.orig 2015-01-16 13:52:04.000000000 -0500
|
||||
+++ libtool-2.4.6/tests/demo.at 2015-02-16 10:48:51.435851966 -0500
|
||||
@@ -510,7 +510,7 @@
|
||||
AT_SETUP([force non-PIC objects])
|
||||
|
||||
AT_CHECK([case $host in
|
||||
-hppa*|x86_64*|s390*)
|
||||
+hppa*|x86_64*|s390*|arm*|mips*)
|
||||
# These hosts cannot use non-PIC shared libs
|
||||
exit 77 ;;
|
||||
*-solaris*|*-sunos*)
|
||||
--- libtool-2.4.6/tests/testsuite.orig 2015-02-15 11:15:25.000000000 -0500
|
||||
+++ libtool-2.4.6/tests/testsuite 2015-02-16 10:50:58.736483216 -0500
|
||||
@@ -8741,7 +8741,7 @@
|
||||
|
||||
{ set +x
|
||||
$as_echo "$at_srcdir/demo.at:535: case \$host in
|
||||
-hppa*|x86_64*|s390*)
|
||||
+hppa*|x86_64*|s390*|arm*|mips*)
|
||||
# These hosts cannot use non-PIC shared libs
|
||||
exit 77 ;;
|
||||
*-solaris*|*-sunos*)
|
||||
@@ -8766,7 +8766,7 @@
|
||||
"
|
||||
at_fn_check_prepare_notrace 'a `...` command substitution' "demo.at:535"
|
||||
( $at_check_trace; case $host in
|
||||
-hppa*|x86_64*|s390*)
|
||||
+hppa*|x86_64*|s390*|arm*|mips*)
|
||||
# These hosts cannot use non-PIC shared libs
|
||||
exit 77 ;;
|
||||
*-solaris*|*-sunos*)
|
||||
@@ -9298,7 +9298,7 @@
|
||||
#AT_START_34
|
||||
at_fn_group_banner 34 'demo.at:548' \
|
||||
"hardcoding library path" " " 4
|
||||
-at_xfail=no
|
||||
+at_xfail=yes
|
||||
test no = "$ACLOCAL" && at_xfail=yes
|
||||
test no = "$AUTOHEADER" && at_xfail=yes
|
||||
test no = "$AUTOMAKE" && at_xfail=yes
|
||||
@@ -27243,7 +27243,7 @@
|
||||
#AT_START_98
|
||||
at_fn_group_banner 98 'destdir.at:75' \
|
||||
"DESTDIR with in-package deplibs" " " 8
|
||||
-at_xfail=no
|
||||
+at_xfail=yes
|
||||
eval `$LIBTOOL --config | $GREP '^fast_install='`
|
||||
case $fast_install in no) :;; *) false;; esac && at_xfail=yes
|
||||
(
|
|
@ -1,37 +0,0 @@
|
|||
This patch fixes linux-libre-3.19.x on Libreboot X60 machines.
|
||||
Copied from https://bugzilla.kernel.org/show_bug.cgi?id=93171#c25
|
||||
|
||||
--- a/drivers/gpu/drm/i915/i915_irq.c
|
||||
+++ a/drivers/gpu/drm/i915/i915_irq.c
|
||||
@@ -3598,14 +3598,12 @@ static int i8xx_irq_postinstall(struct drm_device *dev)
|
||||
~(I915_DISPLAY_PIPE_A_EVENT_INTERRUPT |
|
||||
I915_DISPLAY_PIPE_B_EVENT_INTERRUPT |
|
||||
I915_DISPLAY_PLANE_A_FLIP_PENDING_INTERRUPT |
|
||||
- I915_DISPLAY_PLANE_B_FLIP_PENDING_INTERRUPT |
|
||||
- I915_RENDER_COMMAND_PARSER_ERROR_INTERRUPT);
|
||||
+ I915_DISPLAY_PLANE_B_FLIP_PENDING_INTERRUPT);
|
||||
I915_WRITE16(IMR, dev_priv->irq_mask);
|
||||
|
||||
I915_WRITE16(IER,
|
||||
I915_DISPLAY_PIPE_A_EVENT_INTERRUPT |
|
||||
I915_DISPLAY_PIPE_B_EVENT_INTERRUPT |
|
||||
- I915_RENDER_COMMAND_PARSER_ERROR_INTERRUPT |
|
||||
I915_USER_INTERRUPT);
|
||||
POSTING_READ16(IER);
|
||||
|
||||
@@ -3767,14 +3765,12 @@ static int i915_irq_postinstall(struct drm_device *dev)
|
||||
I915_DISPLAY_PIPE_A_EVENT_INTERRUPT |
|
||||
I915_DISPLAY_PIPE_B_EVENT_INTERRUPT |
|
||||
I915_DISPLAY_PLANE_A_FLIP_PENDING_INTERRUPT |
|
||||
- I915_DISPLAY_PLANE_B_FLIP_PENDING_INTERRUPT |
|
||||
- I915_RENDER_COMMAND_PARSER_ERROR_INTERRUPT);
|
||||
+ I915_DISPLAY_PLANE_B_FLIP_PENDING_INTERRUPT);
|
||||
|
||||
enable_mask =
|
||||
I915_ASLE_INTERRUPT |
|
||||
I915_DISPLAY_PIPE_A_EVENT_INTERRUPT |
|
||||
I915_DISPLAY_PIPE_B_EVENT_INTERRUPT |
|
||||
- I915_RENDER_COMMAND_PARSER_ERROR_INTERRUPT |
|
||||
I915_USER_INTERRUPT;
|
||||
|
||||
if (I915_HAS_HOTPLUG(dev)) {
|
|
@ -0,0 +1,13 @@
|
|||
Change 'ensure-directories-exist' to look for 'mkdir' in $PATH, not in /bin.
|
||||
|
||||
--- maxima-5.36.1/lisp-utils/defsystem.lisp.orig 2014-11-22 16:21:30.000000000 -0500
|
||||
+++ maxima-5.36.1/lisp-utils/defsystem.lisp 2015-05-25 21:53:31.223648483 -0400
|
||||
@@ -4627,7 +4627,7 @@
|
||||
(cmd (if (member :win32 *features*)
|
||||
(format nil "mkdir \"~a\""
|
||||
(coerce (subst #\\ #\/ (coerce (namestring dir) 'list)) 'string))
|
||||
- (format nil "/bin/mkdir -p ~S" (namestring dir)))))
|
||||
+ (format nil "mkdir -p ~S" (namestring dir)))))
|
||||
(unless (directory dir)
|
||||
(lisp:system cmd))
|
||||
;; The second return value is supposed to be T if directories were
|
|
@ -1,15 +0,0 @@
|
|||
From resolution of upstream python issue #20901: http://bugs.python.org/issue20901
|
||||
|
||||
diff --git a/Lib/sqlite3/test/hooks.py b/Lib/sqlite3/test/hooks.py
|
||||
--- Lib/sqlite3/test/hooks.py
|
||||
+++ Lib/sqlite3/test/hooks.py
|
||||
@@ -162,7 +162,7 @@ class ProgressTests(unittest.TestCase):
|
||||
create table bar (a, b)
|
||||
""")
|
||||
second_count = len(progress_calls)
|
||||
- self.assertGreater(first_count, second_count)
|
||||
+ self.assertGreaterEqual(first_count, second_count)
|
||||
|
||||
def CheckCancelOperation(self):
|
||||
"""
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue