diff --git a/doc/guix.texi b/doc/guix.texi index 29df0ddcc1..e25cf58a31 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -497,7 +497,7 @@ To use substitutes from @code{hydra.gnu.org} or one of its mirrors @end enumerate This completes root-level install of Guix. Each user will need to -perform additional steps to make their Guix envionment ready for use, +perform additional steps to make their Guix environment ready for use, @pxref{Application Setup}. You can confirm that Guix is working by installing a sample package into @@ -2125,7 +2125,7 @@ database of the daemon actually exist in @file{/gnu/store}. When provided, @var{options} must be a comma-separated list containing one or more of @code{contents} and @code{repair}. -When passing @option{--verify=contents}, the daemon computse the +When passing @option{--verify=contents}, the daemon computes the content hash of each store item and compares it against its hash in the database. Hash mismatches are reported as data corruptions. Because it traverses @emph{all the files in the store}, this command can take a @@ -7223,6 +7223,10 @@ A comment about the account, such as the account owner's full name. @item @code{home-directory} This is the name of the home directory for the account. +@item @code{create-home-directory?} (default: @code{#t}) +Indicates whether the home directory of this account should be created +if it does not exist yet. + @item @code{shell} (default: Bash) This is a G-expression denoting the file name of a program to be used as the shell (@pxref{G-Expressions}). @@ -7680,9 +7684,16 @@ Name of the group for build user accounts. Number of build user accounts to create. @item @code{authorize-key?} (default: @code{#t}) -Whether to authorize the substitute key for @code{hydra.gnu.org} +Whether to authorize the substitute keys listed in +@code{authorized-keys}---by default that of @code{hydra.gnu.org} (@pxref{Substitutes}). +@vindex %default-authorized-guix-keys +@item @code{authorized-keys} (default: @var{%default-authorized-guix-keys}) +The list of authorized key files for archive imports, as a list of +string-valued gexps (@pxref{Invoking guix archive}). By default, it +contains that of @code{hydra.gnu.org} (@pxref{Substitutes}). + @item @code{use-substitutes?} (default: @code{#t}) Whether to use substitutes. @@ -8505,7 +8516,7 @@ Data type representing the configuration of @var{mysql-service}. Package object of the MySQL database server, can be either @var{mariadb} or @var{mysql}. -For MySQL, a temorary root password will be displayed at activation time. +For MySQL, a temporary root password will be displayed at activation time. For MariaDB, the root password is empty. @end table @end deftp @@ -9856,7 +9867,7 @@ inspect and transform configurations from within Scheme. However, it could be that you just want to get a @code{dovecot.conf} up and running. In that case, you can pass an -@code{opaque-dovecot-configuration} as the @code{#:config} paramter to +@code{opaque-dovecot-configuration} as the @code{#:config} parameter to @code{dovecot-service}. As its name indicates, an opaque configuration does not have easy reflective capabilities. @@ -10709,7 +10720,7 @@ faster. @item -m 256 RAM available to the guest OS, in mebibytes. Defaults to 128@tie{}MiB, -which may be insufficent for some operations. +which may be insufficient for some operations. @item /tmp/qemu-image The file name of the qcow2 image. @@ -10954,7 +10965,7 @@ Here is an example of how a service is created and manipulated: The @code{modify-services} form provides a handy way to change the parameters of some of the services of a list such as @var{%base-services} (@pxref{Base Services, @code{%base-services}}). It -evalutes to a list of services. Of course, you could always use +evaluates to a list of services. Of course, you could always use standard list combinators such as @code{map} and @code{fold} to do that (@pxref{SRFI-1, List Library,, guile, GNU Guile Reference Manual}); @code{modify-services} simply provides a more concise form for this @@ -10979,7 +10990,7 @@ bound within the @var{body} to the service parameters---e.g., a The @var{body} should evaluate to the new service parameters, which will be used to configure the new service. This new service will replace the original in the resulting list. Because a service's service parameters -are created using @code{define-record-type*}, you can write a succint +are created using @code{define-record-type*}, you can write a succinct @var{body} that evaluates to the new service parameters by using the @code{inherit} feature that @code{define-record-type*} provides. diff --git a/gnu/build/activation.scm b/gnu/build/activation.scm index 6666cb4856..10aa58d85c 100644 --- a/gnu/build/activation.scm +++ b/gnu/build/activation.scm @@ -110,7 +110,8 @@ (define* (make-skeletons-writable home files))) (define* (add-user name group - #:key uid comment home shell password system? + #:key uid comment home create-home? + shell password system? (supplementary-groups '()) (log-port (current-error-port))) "Create an account for user NAME part of GROUP, with the specified @@ -139,7 +140,7 @@ (define* (add-user name group `("-G" ,(string-join supplementary-groups ",")) '()) ,@(if comment `("-c" ,comment) '()) - ,@(if home + ,@(if (and home create-home?) (if (file-exists? home) `("-d" ,home) ; avoid warning from 'useradd' `("-d" ,home "--create-home")) @@ -158,7 +159,8 @@ (define* (add-user name group #t))))) (define* (modify-user name group - #:key uid comment home shell password system? + #:key uid comment home create-home? + shell password system? (supplementary-groups '()) (log-port (current-error-port))) "Modify user account NAME to have all the given settings." @@ -186,7 +188,8 @@ (define* (delete-group name #:key (log-port (current-error-port))) (zero? (system* "groupdel" name))) (define* (ensure-user name group - #:key uid comment home shell password system? + #:key uid comment home create-home? + shell password system? (supplementary-groups '()) (log-port (current-error-port)) #:rest rest) @@ -207,7 +210,8 @@ (define (touch file) (define activate-user (match-lambda - ((name uid group supplementary-groups comment home shell password system?) + ((name uid group supplementary-groups comment home create-home? + shell password system?) (let ((profile-dir (string-append "/var/guix/profiles/per-user/" name))) (ensure-user name group @@ -216,6 +220,7 @@ (define activate-user #:supplementary-groups supplementary-groups #:comment comment #:home home + #:create-home? create-home? #:shell shell #:password password) diff --git a/gnu/build/install.scm b/gnu/build/install.scm index aebf38c066..7431a09021 100644 --- a/gnu/build/install.scm +++ b/gnu/build/install.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2014, 2015 Ludovic Courtès +;;; Copyright © 2013, 2014, 2015, 2016 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; @@ -118,6 +118,10 @@ (define (directives store) ("/var/guix/gcroots/booted-system" -> "/run/booted-system") ("/var/guix/gcroots/current-system" -> "/run/current-system") + ;; XXX: 'guix-register' creates this symlink with a wrong target, so + ;; create it upfront to be sure. + ("/var/guix/gcroots/profiles" -> "/var/guix/profiles") + (directory "/bin") (directory "/tmp" 0 0 #o1777) ; sticky bit (directory "/var/tmp" 0 0 #o1777) diff --git a/gnu/local.mk b/gnu/local.mk index 9ec0e54b00..faa6e535ef 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -297,6 +297,7 @@ GNU_SYSTEM_MODULES = \ %D%/packages/rdesktop.scm \ %D%/packages/rdf.scm \ %D%/packages/readline.scm \ + %D%/packages/regex.scm \ %D%/packages/rrdtool.scm \ %D%/packages/rsync.scm \ %D%/packages/ruby.scm \ @@ -523,7 +524,6 @@ dist_patch_DATA = \ %D%/packages/patches/geoclue-config.patch \ %D%/packages/patches/ghostscript-CVE-2015-3228.patch \ %D%/packages/patches/ghostscript-runpath.patch \ - %D%/packages/patches/gimp-CVE-2016-4994.patch \ %D%/packages/patches/glib-networking-ssl-cert-file.patch \ %D%/packages/patches/glib-tests-timer.patch \ %D%/packages/patches/glibc-bootstrap-system.patch \ @@ -668,6 +668,8 @@ dist_patch_DATA = \ %D%/packages/patches/mplayer2-theora-fix.patch \ %D%/packages/patches/module-init-tools-moduledir.patch \ %D%/packages/patches/mumps-build-parallelism.patch \ + %D%/packages/patches/mupdf-CVE-2016-6265.patch \ + %D%/packages/patches/mupdf-CVE-2016-6525.patch \ %D%/packages/patches/mupen64plus-ui-console-notice.patch \ %D%/packages/patches/mutt-store-references.patch \ %D%/packages/patches/mysql-fix-failing-test.patch \ @@ -851,7 +853,6 @@ dist_patch_DATA = \ %D%/packages/patches/xf86-video-intel-glibc-2.20.patch \ %D%/packages/patches/xf86-video-mach64-glibc-2.20.patch \ %D%/packages/patches/xf86-video-nv-remove-mibstore.patch \ - %D%/packages/patches/xf86-video-openchrome-glibc-2.20.patch \ %D%/packages/patches/xf86-video-tga-remove-mibstore.patch \ %D%/packages/patches/xfce4-panel-plugins.patch \ %D%/packages/patches/xfce4-session-fix-xflock4.patch \ diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index 09a883c89c..05c2895792 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -13,6 +13,7 @@ ;;; Copyright © 2016 Peter Feigl ;;; Copyright © 2016 John J. Foerch ;;; Coypright © 2016 ng0 +;;; Coypright © 2016 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. ;;; @@ -1244,21 +1245,24 @@ (define-public smartmontools (define-public fdupes (package (name "fdupes") - (version "1.51") + (version "1.6.1") (source (origin (method url-fetch) (uri (string-append - "https://github.com/adrianlopezroche/fdupes/archive/fdupes-" + "https://github.com/adrianlopezroche/fdupes/archive/v" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "11j96vxl9vg3jsnxqxskrv3gad6dh7hz2zpyc8n31xzyxka1c7kn")))) + "1sj9pa40pbz6xdwbxfwhdhkvhdf1xc5gvggk9mdq26c41gdnyswx")))) (build-system gnu-build-system) (arguments - '(#:phases (alist-delete 'configure %standard-phases) + '(#:phases (modify-phases %standard-phases + (delete 'configure)) #:tests? #f ; no 'check' target - #:make-flags (list (string-append "PREFIX=" + #:make-flags (list "CC=gcc" + (string-append "PREFIX=" (assoc-ref %outputs "out"))))) (home-page "https://github.com/adrianlopezroche/fdupes") (synopsis "Identify duplicate files") @@ -1388,7 +1392,7 @@ (define-public cpulimit (define-public autojump (package (name "autojump") - (version "22.2.4") + (version "22.3.4") (source (origin (method url-fetch) @@ -1397,7 +1401,7 @@ (define-public autojump (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0xglj7nb8xczaqy2dhn78drqdwqj64rqpymxhqmmwwqzfaqassw1")))) + "113rcpr37ngf2xs8da41qdarq5qmj0dwx8ggqy3lhlb0kvqq7g9z")))) (build-system gnu-build-system) (native-inputs ;for tests `(("python-mock" ,python-mock) @@ -1647,7 +1651,7 @@ (define-public dstat (define-public thefuck (package (name "thefuck") - (version "3.9") + (version "3.11") (source (origin (method url-fetch) (uri (string-append "https://github.com/nvbn/thefuck/archive/" @@ -1655,7 +1659,7 @@ (define-public thefuck (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0g4s2vkpl0mqhkdkbzib07qr4xf0cq25fvhdhna52290qgd69pwf")))) + "04q2cn8c83f6z6wn1scla1ilrpi5ssjc64987hvmwfvwvb82bvkp")))) (build-system python-build-system) (native-inputs `(("python-setuptools" ,python-setuptools))) @@ -1734,3 +1738,36 @@ (define-public cbatticon the status of your battery in the system tray.") (home-page "https://github.com/valr/cbatticon") (license license:gpl2+))) + +(define-public interrobang + (let ((revision "1") + (commit "896543735e1c99144765fdbd7b6e6b5afbd8b881")) + (package + (name "interrobang") + (version (string-append "0.0.0-" revision "." (string-take commit 7))) + (source (origin + (method git-fetch) + (uri (git-reference + (url "git://github.com/TrilbyWhite/interrobang") + (commit commit))) + (file-name (string-append name "-" version)) + (sha256 + (base32 + "1n13m70p1hfba5dy3i8hfclbr6k9q3d9dai3dg4jvhdhmxcpjzdf")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ; no tests + #:phases + (modify-phases %standard-phases + (delete 'configure)) ; no configure script + #:make-flags (list (string-append "PREFIX=" + (assoc-ref %outputs "out"))))) + (inputs + `(("libx11" ,libx11))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (synopsis "Scriptable launcher menu") + (description "Interrobang is a scriptable launcher menu with a customizable +shortcut syntax and completion options.") + (home-page "https://github.com/TrilbyWhite/interrobang") + (license license:gpl3+)))) diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index 5c42aaa493..67701a0f37 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -85,7 +85,9 @@ (define-public alsa-modular-synth "1azbrhpfk4nnybr7kgmc7w6al6xnzppg853vas8gmkh185kk11l0")))) (build-system gnu-build-system) (arguments - `(#:configure-flags '("--enable-qt5") + `(#:configure-flags + '("--enable-qt5" + "CXXFLAGS=-std=gnu++11") #:phases (modify-phases %standard-phases ;; Insert an extra space between linker flags. @@ -2111,10 +2113,15 @@ (define-public qsynth (base32 "034p6mbwrjnxd9b6h20cidxi4ilkk3cgpjp154j0jzjs1ipf7x2h")))) (build-system gnu-build-system) (arguments - `(#:tests? #f)) ; no "check" phase + `(#:tests? #f ; no "check" phase + #:configure-flags + '("CXXFLAGS=-std=gnu++11"))) + (native-inputs + `(("qttools" ,qttools))) (inputs - `(("qt" ,qt) - ("fluidsynth" ,fluidsynth))) + `(("fluidsynth" ,fluidsynth) + ("qtbase" ,qtbase) + ("qtx11extras" ,qtx11extras))) (home-page "http://qsynth.sourceforge.net") (synopsis "Graphical user interface for FluidSynth") (description @@ -2430,7 +2437,7 @@ (define-public dcadec (define-public bs1770gain (package (name "bs1770gain") - (version "0.4.10") + (version "0.4.11") (source (origin (method url-fetch) @@ -2438,7 +2445,7 @@ (define-public bs1770gain version "/bs1770gain-" version ".tar.gz")) (sha256 (base32 - "1syr8qchs8091z9ayivj723szlidx81gll099bmk9kgpykmckd62")))) + "0j765drdb7h3y5ipjv9sg1a0if6zh8cksbv3rdk5ppd7kxcrjnlb")))) (build-system gnu-build-system) (inputs `(("ffmpeg" ,ffmpeg) ("sox" ,sox))) diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm index 0a2e9b1b90..dcab95fa28 100644 --- a/gnu/packages/backup.scm +++ b/gnu/packages/backup.scm @@ -406,14 +406,14 @@ (define-public libchop (define-public borg (package (name "borg") - (version "1.0.6") + (version "1.0.7") (source (origin (method url-fetch) (uri (pypi-uri "borgbackup" version)) (sha256 (base32 - "1dxn9p4xm0zd32xzzd9hs4a542db34clykrrnnv3hrdnc394895p")))) + "1l9iw55w5x51yxl3q89cf6avg80lajxvc8qz584hrsmnk6i56cr0")))) (build-system python-build-system) (arguments `(#:phases diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 233b7a8879..2bd71c858b 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -6325,6 +6325,61 @@ (define-public r-zlibbioc libraries for systems that do not have these available via other means.") (license license:artistic2.0))) +(define-public r-rhtslib + (package + (name "r-rhtslib") + (version "1.4.3") + (source + (origin + (method url-fetch) + (uri (bioconductor-uri "Rhtslib" version)) + (sha256 + (base32 + "1wgpn9x8abjj7fc087pdavqc3fz0pl5xdh231mgjila18irwlhb3")))) + (properties `((upstream-name . "Rhtslib"))) + (build-system r-build-system) + (propagated-inputs + `(("r-zlibbioc" ,r-zlibbioc))) + (inputs + `(("zlib" ,zlib))) + (home-page "https://github.com/nhayden/Rhtslib") + (synopsis "High-throughput sequencing library as an R package") + (description + "This package provides the HTSlib C library for high-throughput +nucleotide sequence analysis. The package is primarily useful to developers +of other R packages who wish to make use of HTSlib.") + (license license:lgpl2.0+))) + +(define-public r-bamsignals + (package + (name "r-bamsignals") + (version "1.4.3") + (source + (origin + (method url-fetch) + (uri (bioconductor-uri "bamsignals" version)) + (sha256 + (base32 + "1xqiqvg52p6fcvhr4146djbz79r3j1kmh75mq7rndwglmiybpwmy")))) + (build-system r-build-system) + (propagated-inputs + `(("r-biocgenerics" ,r-biocgenerics) + ("r-genomicranges" ,r-genomicranges) + ("r-iranges" ,r-iranges) + ("r-rcpp" ,r-rcpp) + ("r-rhtslib" ,r-rhtslib) + ("r-zlibbioc" ,r-zlibbioc))) + (inputs + `(("zlib" ,zlib))) + (home-page "http://bioconductor.org/packages/bamsignals") + (synopsis "Extract read count signals from bam files") + (description + "This package allows to efficiently obtain count vectors from indexed bam +files. It counts the number of nucleotide sequence reads in given genomic +ranges and it computes reads profiles and coverage profiles. It also handles +paired-end data.") + (license license:gpl2+))) + (define-public emboss (package (name "emboss") diff --git a/gnu/packages/bittorrent.scm b/gnu/packages/bittorrent.scm index f04dc95196..51248508ff 100644 --- a/gnu/packages/bittorrent.scm +++ b/gnu/packages/bittorrent.scm @@ -207,7 +207,7 @@ (define-public transmission-remote-cli (define-public aria2 (package (name "aria2") - (version "1.25.0") + (version "1.26.0") (source (origin (method url-fetch) (uri (string-append "https://github.com/tatsuhiro-t/aria2/" @@ -215,10 +215,12 @@ (define-public aria2 name "-" version ".tar.xz")) (sha256 (base32 - "0d8drwc5m5ps4bw63iq2gng36gyc2vadzixbynk1dj6gfr6fp2gz")))) + "1388qswa0in7kb1dx7qb10wp60p58zvvpys7jwim3clsbqvz6a68")))) (build-system gnu-build-system) (arguments - `(#:configure-flags '("--enable-libaria2") + `(#:configure-flags (list "--enable-libaria2" + (string-append "--with-bashcompletiondir=" + %output "/etc/bash_completion.d/")) #:phases (modify-phases %standard-phases (add-after 'unpack 'delete-socket-tests diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm index e63c1af048..c239d16638 100644 --- a/gnu/packages/compression.scm +++ b/gnu/packages/compression.scm @@ -11,6 +11,7 @@ ;;; Copyright © 2016 Ben Woodcroft ;;; Copyright © 2016 Danny Milosavljevic ;;; Copyright © 2016 Tobias Geerinckx-Rice +;;; Copyright © 2016 David Craven ;;; ;;; This file is part of GNU Guix. ;;; @@ -871,3 +872,26 @@ (define-public lrzip well as bzip2.") (license (list license:gpl3+ license:public-domain)))) ; most files in lzma/ + +(define-public snappy + (package + (name "snappy") + (version "1.1.3") + (source (origin + (method url-fetch) + (uri (string-append + "https://github.com/google/snappy/releases/download/" + version "/" name "-" version ".tar.gz")) + (sha256 + (base32 + "1wzf8yif5ym2gj52db6v5m1pxnmn258i38x7llk9x346y2nq47ig")))) + (build-system gnu-build-system) + (home-page "https://github.com/google/snappy") + (synopsis "Fast compressor/decompressor") + (description "Snappy is a compression/decompression library. It does not +aim for maximum compression, or compatibility with any other compression library; +instead, it aims for very high speeds and reasonable compression. For instance, +compared to the fastest mode of zlib, Snappy is an order of magnitude faster +for most inputs, but the resulting compressed files are anywhere from 20% to +100% bigger.") + (license license:asl2.0))) diff --git a/gnu/packages/crypto.scm b/gnu/packages/crypto.scm index 7d61164b05..5dad97c72f 100644 --- a/gnu/packages/crypto.scm +++ b/gnu/packages/crypto.scm @@ -65,7 +65,7 @@ (define-public libsodium (define-public signify (package (name "signify") - (version "18") + (version "19") (source (origin (method url-fetch) (uri (string-append "https://github.com/aperezdc/signify/" @@ -73,7 +73,7 @@ (define-public signify (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "00lbjiy0gv1b1fvrd6ni4qah96ah4qf6aig05vd2hji4vs00jgwg")))) + "0d2wrss1xl9wm3yzl571cv6h7zdp170v7a45f953bgsy64hkqavh")))) (build-system gnu-build-system) ;; TODO Build with libwaive (described in README.md), to implement something ;; like OpenBSD's pledge(). @@ -223,3 +223,43 @@ (define-public encfs the wrong hands.") (license (list license:lgpl3+ ;encfs library license:gpl3+)))) ;command-line tools + +(define-public keyutils + (package + (name "keyutils") + (version "1.5.9") + (source + (origin + (method url-fetch) + (uri + (string-append "https://people.redhat.com/dhowells/keyutils/keyutils-" + version ".tar.bz2")) + (sha256 + (base32 + "1bl3w03ygxhc0hz69klfdlwqn33jvzxl1zfl2jmnb2v85iawb8jd")) + (modules '((guix build utils))) + ;; Create relative symbolic links instead of absolute ones to /lib/* + (snippet '(substitute* "Makefile" (("\\$\\(LNS\\) \\$\\(LIBDIR\\)/") + "$(LNS) "))))) + (build-system gnu-build-system) + (arguments + `(#:phases (modify-phases %standard-phases + (delete 'configure)) ; no configure script + #:make-flags (list "CC=gcc" + "RPATH=-Wl,-rpath,$(DESTDIR)$(LIBDIR)" + (string-append "DESTDIR=" + (assoc-ref %outputs "out")) + "INCLUDEDIR=/include" + "LIBDIR=/lib" + "MANDIR=/share/man" + "SHAREDIR=/share/keyutils") + #:test-target "test")) + (home-page "https://people.redhat.com/dhowells/keyutils/") + (synopsis "Linux key management utilities") + (description + "Keyutils is a set of utilities for managing the key retention facility in +the Linux kernel, which can be used by file systems, block devices, and more to +gain and retain the authorization and encryption keys required to perform +secure operations. ") + (license (list license:lgpl2.1+ ; the files keyutils.* + license:gpl2+)))) ; the rest diff --git a/gnu/packages/cups.scm b/gnu/packages/cups.scm index 88145eea73..c7c11eba98 100644 --- a/gnu/packages/cups.scm +++ b/gnu/packages/cups.scm @@ -301,14 +301,14 @@ (define-public cups (define-public hplip (package (name "hplip") - (version "3.16.7") + (version "3.16.8") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/hplip/hplip/" version "/hplip-" version ".tar.gz")) (sha256 (base32 - "1hpzyf9ifs0vilsbwxcgpv8g9557p1x8w5qwgz5l0avgcd10dzlx")))) + "1svcalf2nc7mvxndp9zz3xp43w66z45rrsr5syl8fx61a6p6gnm9")))) (build-system gnu-build-system) (home-page "http://hplipopensource.com/") (synopsis "HP Printer Drivers") diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 0173ffb896..3d2d130992 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -10,6 +10,7 @@ ;;; Copyright © 2016 Efraim Flashner ;;; Copyright © 2016 ng0 ;;; Copyright © 2016 Roel Janssen +;;; Copyright © 2016 David Craven ;;; ;;; This file is part of GNU Guix. ;;; @@ -57,6 +58,7 @@ (define-module (gnu packages databases) #:use-module ((guix licenses) #:select (gpl2 gpl3 gpl3+ lgpl2.1+ lgpl3+ x11-style non-copyleft bsd-2 bsd-3 public-domain)) + #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system gnu) @@ -1064,3 +1066,31 @@ (define-public perl-db-file (description "The DB::File module provides Perl bindings to the Berkeley DB version 1.x.") (license (package-license perl)))) + +(define-public lmdb + (package + (name "lmdb") + (version "0.9.18") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/LMDB/lmdb/archive/" + "LMDB_" version ".tar.gz")) + (sha256 + (base32 + "12crvzxky8in99ibh22k4ppmkgqs28yy3v7yy944za7fsrqv8dfx")))) + (build-system gnu-build-system) + (arguments + `(#:test-target "test" + #:phases + (modify-phases %standard-phases + (replace 'configure + (lambda* (#:key outputs #:allow-other-keys) + (chdir (string-append + (getenv "PWD") "/lmdb-LMDB_" ,version "/libraries/liblmdb")) + (substitute* "Makefile" + (("/usr/local") (assoc-ref outputs "out"))) + #t))))) + (home-page "https://symas.com/products/lightning-memory-mapped-database") + (synopsis "Lightning memory-mapped database library") + (description "Lightning memory-mapped database library.") + (license license:openldap2.8))) diff --git a/gnu/packages/dav.scm b/gnu/packages/dav.scm index 7d3e43d7cd..507d00c1a6 100644 --- a/gnu/packages/dav.scm +++ b/gnu/packages/dav.scm @@ -52,13 +52,13 @@ (define-public radicale (define-public vdirsyncer (package (name "vdirsyncer") - (version "0.11.3") + (version "0.12.1") (source (origin (method url-fetch) (uri (pypi-uri name version)) (sha256 (base32 - "10majl58vdpxgbddjqgwblvl7akvvr4c2c8iaxnf3kgyh01jq6k9")))) + "1y3xpl83p4y1m5ks44drhwpygzwbjwhraycrhxlkhwk8bhnsifrz")))) (build-system python-build-system) (arguments `(#:phases (modify-phases %standard-phases diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm index 54f23db01e..27ab7a698b 100644 --- a/gnu/packages/disk.scm +++ b/gnu/packages/disk.scm @@ -5,6 +5,7 @@ ;;; Copyright © 2016 Tobias Geerinckx-Rice ;;; Copyright © 2016 Efraim Flashner ;;; Copyright © 2016 Jan Nieuwenhuizen +;;; Copyright © 2016 Roel Janssen ;;; ;;; This file is part of GNU Guix. ;;; @@ -22,20 +23,27 @@ ;;; along with GNU Guix. If not, see . (define-module (gnu packages disk) - #:use-module (guix licenses) + #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system gnu) #:use-module (gnu packages) + #:use-module (gnu packages base) + #:use-module (gnu packages docbook) #:use-module (gnu packages gettext) + #:use-module (gnu packages glib) + #:use-module (gnu packages gtk) + #:use-module (gnu packages gnome) #:use-module (gnu packages linux) #:use-module (gnu packages ncurses) #:use-module (gnu packages perl) + #:use-module (gnu packages pkg-config) #:use-module (gnu packages popt) #:use-module (gnu packages python) #:use-module (gnu packages readline) #:use-module (gnu packages guile) - #:use-module (gnu packages compression)) + #:use-module (gnu packages compression) + #:use-module (gnu packages xml)) (define-public parted (package @@ -73,7 +81,7 @@ (define-public parted (description "GNU Parted is a package for creating and manipulating disk partition tables. It includes a library and command-line utility.") - (license gpl3+))) + (license license:gpl3+))) (define-public fdisk (package @@ -99,7 +107,7 @@ (define-public fdisk "GNU fdisk provides a GNU version of the common disk partitioning tool fdisk. fdisk is used for the creation and manipulation of disk partition tables, and it understands a variety of different formats.") - (license gpl3+))) + (license license:gpl3+))) (define-public gptfdisk (package @@ -139,7 +147,7 @@ (define-public gptfdisk works on Globally Unique Identifier (GUID) Partition Table (GPT) disks, rather than on the more common (through 2009) Master Boot Record (MBR) partition tables.") - (license gpl2))) + (license license:gpl2))) (define-public ddrescue (package @@ -162,7 +170,7 @@ (define-public ddrescue 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+))) + (license license:gpl3+))) (define-public dosfstools (package @@ -187,7 +195,7 @@ (define-public dosfstools (description "The dosfstools package includes the mkfs.fat and fsck.fat utilities, which respectively make and check MS-DOS FAT filesystems.") - (license gpl3+))) + (license license:gpl3+))) (define-public sdparm (package @@ -213,7 +221,7 @@ (define-public sdparm transport), SCSI and ATAPI tape drives, and SCSI enclosures. This utility can also send commands associated with starting and stopping the media, loading and unloading removable media and some other housekeeping functions.") - (license bsd-3))) + (license license:bsd-3))) (define-public idle3-tools (package @@ -245,4 +253,43 @@ (define-public idle3-tools \"IntelliPark\" feature that stops the disk when not in use. Unfortunately, the default timer setting is not well suited to Linux or other *nix systems, and can dramatically shorten the lifespan of the drive if left unchecked.") - (license gpl3+))) + (license license:gpl3+))) + +(define-public gparted + (package + (name "gparted") + (version "0.26.1") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/gparted/gparted/gparted-" + version "/gparted-" version ".tar.gz")) + (sha256 + (base32 "1h9d6x335wxpm49yphzm9n1hbh2hcg0p2rphv76mrvsss91bcm1g")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ; Tests require a network connection. + #:configure-flags '("--disable-scrollkeeper"))) + (inputs + `(("util-linux" ,util-linux) + ("parted" ,parted) + ("glib" ,glib) + ("gtkmm" ,gtkmm-2) + ("libxml2" ,libxml2) + ("libxslt" ,libxslt) + ("gnome-doc-utils" ,gnome-doc-utils) + ("docbook-xml" ,docbook-xml-4.2) + ("python" ,python-2) + ("python-libxml2" ,python2-libxml2) + ("which" ,which))) + (native-inputs + `(("intltool" ,intltool) + ("pkg-config" ,pkg-config))) + (home-page "https://sourceforge.net/projects/gparted/") + (synopsis "Partition editor to graphically manage disk partitions") + (description "GParted is a GNOME partition editor for creating, +reorganizing, and deleting disk partitions. It uses libparted from the parted +project to detect and manipulate partition tables. Optional file system tools +permit managing file systems not included in libparted.") + ;; The home page says GPLv2, but the source code says GPLv2+. + (license license:gpl2+))) diff --git a/gnu/packages/documentation.scm b/gnu/packages/documentation.scm index 72af708dbd..080c0dba8e 100644 --- a/gnu/packages/documentation.scm +++ b/gnu/packages/documentation.scm @@ -49,8 +49,25 @@ (define-public asciidoc (base32 "1w71nk527lq504njmaf0vzr93pgahkgzzxzglrq6bay8cw2rvnvq")))) (build-system gnu-build-system) - (arguments '(#:tests? #f)) ; no 'check' target - (inputs `(("python" ,python-2))) + (arguments + `(#:tests? #f ; no 'check' target + #:phases + (modify-phases %standard-phases + ;; Make asciidoc use the local docbook-xsl package instead of fetching + ;; it from the internet at run-time. + (add-before 'install 'make-local-docbook-xsl + (lambda* (#:key inputs #:allow-other-keys) + (substitute* (find-files "docbook-xsl" ".*\\.xsl$") + (("xsl:import href=\"http://docbook.sourceforge.net/\ +release/xsl/current") + (string-append + "xsl:import href=\"" + (string-append (assoc-ref inputs "docbook-xsl") + "/xml/xsl/docbook-xsl-" + ,(package-version docbook-xsl))))) + #t))))) + (inputs `(("python" ,python-2) + ("docbook-xsl" ,docbook-xsl))) (home-page "http://www.methods.co.nz/asciidoc/") (synopsis "Text-based document generation system") (description diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 9948b911d0..4fe9a8aae6 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -14,6 +14,8 @@ ;;; Copyright © 2016 Roel Janssen ;;; Copyright © 2016 ng0 ;;; Copyright © 2016 Alex Griffin +;;; Copyright © 2016 Nicolas Goaziou +;;; Copyright © 2016 Alex Vong ;;; ;;; This file is part of GNU Guix. ;;; @@ -410,7 +412,7 @@ (define-public git-modes (define-public emacs-with-editor (package (name "emacs-with-editor") - (version "2.5.1") + (version "2.5.2") (source (origin (method url-fetch) (uri (string-append @@ -419,7 +421,7 @@ (define-public emacs-with-editor (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1lqm0msc9lzb05ys96bsx8bf2y1qrw27dh5h6qz8lf5i4cbhflw2")))) + "0k57f2wqng7510nzyzgjgbapplia23l3zrphl816nfm4s58sy1ka")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-dash" ,emacs-dash))) @@ -435,7 +437,7 @@ (define-public emacs-with-editor (define-public magit (package (name "magit") - (version "2.7.0") + (version "2.8.0") (source (origin (method url-fetch) (uri (string-append @@ -443,7 +445,7 @@ (define-public magit version "/" name "-" version ".tar.gz")) (sha256 (base32 - "1kzd8k2n0lcr04jvn5b6d29zf765mxgshfhzflkzndwmvyxmlqpl")))) + "1znvb7inwinrhifqzwp4lp9j6yp1l25j7riczc0zmvcjbpl5yhfq")))) (build-system gnu-build-system) (native-inputs `(("texinfo" ,texinfo) ("emacs" ,emacs-minimal))) @@ -571,7 +573,7 @@ (define-public emacs-magit-popup (file-name (string-append "magit-popup-" version ".el")) (sha256 (base32 - "144nl7j5mn86ccan6qxgg40bsxpkbc83vwnhd5y657gqki74972r")))) + "0lmw824zp8c0vhikfkiay9wn4nmaksz6mfy0fldvy4wlx5c26yh3")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-dash" ,emacs-dash))) @@ -1187,7 +1189,7 @@ (define-public emacs-pdf-tools (define-public emacs-dash (package (name "emacs-dash") - (version "2.12.1") + (version "2.13.0") (source (origin (method url-fetch) (uri (string-append @@ -1196,7 +1198,7 @@ (define-public emacs-dash (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "082jl7mp4x063bpj5ad2pc5125k0d6p7rb89gcj7ny3lma9h2ij1")))) + "1pjlkrzr8n45bnp3xs3dybvy0nz3gwamrfc7vsi1nhpkkw99ihhb")))) (build-system emacs-build-system) (arguments `(#:phases @@ -1233,7 +1235,7 @@ (define-public emacs-undo-tree (define-public emacs-s (package (name "emacs-s") - (version "1.9.0") + (version "1.11.0") (source (origin (method url-fetch) (uri (string-append @@ -1242,7 +1244,7 @@ (define-public emacs-s (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1gah2k577gvnmxlpw7zrz0jr571vghzhdv2hbgchlgah07czd091")))) + "0krq5nz3llfx0vwdqn18pmq777ja0fac185w0h9qymppb1j1hvc2")))) (build-system emacs-build-system) (arguments `(#:phases @@ -1259,7 +1261,7 @@ (define-public emacs-s (define-public emacs-f (package (name "emacs-f") - (version "0.17.2") + (version "0.18.2") (source (origin (method url-fetch) (uri (string-append @@ -1268,7 +1270,7 @@ (define-public emacs-f (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1n5gcldf43wmkr7jxgs519v21zavwr0yn8048iv6gvgfwicnyjlx")))) + "1926shh2ymdsgz05c6q181mzzz1rci99ch568j151xi865jinyg5")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-s" ,emacs-s) @@ -2091,6 +2093,26 @@ (define-public emacs-solarized-theme package provides a light and a dark variant.") (license license:gpl3+))) +(define-public emacs-ahungry-theme + (package + (name "emacs-ahungry-theme") + (version "1.3.0") + (source + (origin (method url-fetch) + (uri (string-append "http://elpa.gnu.org/packages/ahungry-theme-" + version ".tar")) + (sha256 + (base32 + "1p2zaq0s4bbl5cx6wyab24wamw7m0mysb0v47dqjmnvfc25z84rq")))) + (build-system emacs-build-system) + (home-page "https://github.com/ahungry/color-theme-ahungry") + (synopsis "Ahungry color theme for Emacs") + (description "Ahungry theme for Emacs provides bright and bold colors. +If you load it from a terminal, you will be able to make use of the +transparent background. If you load it from a GUI, it will default to a +dark background.") + (license license:gpl3+))) + (define-public emacs-smartparens (package (name "emacs-smartparens") @@ -2960,3 +2982,23 @@ (define-public emacs-neotree (synopsis "Folder tree view for Emacs") (description "This Emacs package provides a folder tree view.") (license license:gpl3+))) + +(define-public emacs-org + (package + (name "emacs-org") + (version "20160815") + (source (origin + (method url-fetch) + (uri (string-append "http://orgmode.org/elpa/org-" + version ".tar")) + (sha256 + (base32 + "0k9pa13kpmpi6irmbavxffgqfanhjnijz4mkmmi0zp7kgjfbaliw")))) + (build-system emacs-build-system) + (home-page "http://orgmode.org/") + (synopsis "Outline-based notes management and organizer") + (description "Org is an Emacs mode for keeping notes, maintaining TODO +lists, and project planning with a fast and effective plain-text system. It +also is an authoring system with unique support for literate programming and +reproducible research.") + (license license:gpl3+))) diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm index f6c3d5fba6..dad38e0310 100644 --- a/gnu/packages/engineering.scm +++ b/gnu/packages/engineering.scm @@ -388,7 +388,9 @@ (define-public fritzing (assoc-ref outputs "out")) "phoenix.pro")))))))) (inputs - `(("qt" ,qt) + `(("qtbase" ,qtbase) + ("qtserialport" ,qtserialport) + ("qtsvg" ,qtsvg) ("boost" ,boost) ("zlib" ,zlib) ("fritzing-parts-db" diff --git a/gnu/packages/enlightenment.scm b/gnu/packages/enlightenment.scm index 6289bea7af..818dbac942 100644 --- a/gnu/packages/enlightenment.scm +++ b/gnu/packages/enlightenment.scm @@ -53,7 +53,7 @@ (define-module (gnu packages enlightenment) (define-public efl (package (name "efl") - (version "1.17.2") + (version "1.18.0") (source (origin (method url-fetch) (uri (string-append @@ -61,7 +61,7 @@ (define-public efl version ".tar.xz")) (sha256 (base32 - "1dpq5flygrjg931nzsr2ra8icqffzrzbs1lnrzarbpsbmgq3zacs")))) + "17mzbjmz8d2vs8p63r1sk3mppl3l2fhxy2jv24dp75lgqbsvp806")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) @@ -69,13 +69,15 @@ (define-public efl `(("alsa-lib" ,alsa-lib) ("compositeproto" ,compositeproto) ("curl" ,curl) + ("ghostscript" ,ghostscript) ("giflib" ,giflib) ("gstreamer" ,gstreamer) ("gst-plugins-base" ,gst-plugins-base) - ("harfbuzz" ,harfbuzz) ("libexif" ,libexif) ("libjpeg" ,libjpeg) + ("libraw" ,libraw) ("librsvg" ,librsvg) + ("libspectre" ,libspectre) ("libtiff" ,libtiff) ("libx11" ,libx11) ("libxcomposite" ,libxcomposite) @@ -89,7 +91,10 @@ (define-public efl ("libxrandr" ,libxrandr) ("libxscrnsaver" ,libxscrnsaver) ("libxtst" ,libxtst) + ("lz4" ,lz4) ("mesa" ,mesa) + ("openjpeg" ,openjpeg-1) + ("poppler" ,poppler) ("printproto" ,printproto) ("scrnsaverproto" ,scrnsaverproto) ("xextproto" ,xextproto) @@ -100,28 +105,41 @@ (define-public efl ;; All these inputs are in package config files in section ;; Require.private. `(("bullet" ,bullet) ; ephysics.pc - ("dbus" ,dbus) ; eldbus.pc + ("dbus" ,dbus) ; eldbus.pc, elementary.pc, elocation.pc, ethumb_client.pc ("eudev" ,eudev) ; eeze.pc - ("fontconfig" ,fontconfig) ; evas.pc - ("freetype" ,freetype) ; evas.pc - ("fribidi" ,fribidi) ; evas.pc - ("glib" ,glib) ; ecore.pc + ("fontconfig" ,fontconfig) ; evas.pc, evas-cxx.pc + ("freetype" ,freetype) ; evas.pc, evas-cxx.pc + ("fribidi" ,fribidi) ; evas.pc, evas-cxx.pc + ("glib" ,glib) ; ecore.pc, ecore-cxx.pc + ("harfbuzz" ,harfbuzz) ; evas.pc, evas-cxx.pc + ("luajit" ,luajit) ; elua.pc, evas.pc, evas-cxx.pc ("libpng" ,libpng) ; evas.pc, evas-cxx.pc ("libsndfile" ,libsndfile) ; ecore-audio.pc, ecore-audio-cxx.pc - ("luajit" ,luajit) ; evas.pc, edje.pc - ("openssl" ,openssl) ; eet.pc, ecore-con.pc + ("openssl" ,openssl) ; ecore-con.pc, eet.pc, eet-cxx.pc, emile.pc ("pulseaudio" ,pulseaudio) ; ecore-audio.pc, ecore-audio-cxx.pc ("util-linux" ,util-linux) ; eeze.pc - ("zlib" ,zlib))) ; eet.pc + ("zlib" ,zlib))) ; eet.pc, eet-cxx.pc, emile.pc (arguments - `(#:configure-flags '("--disable-silent-rules") + `(#:configure-flags '("--disable-silent-rules" + "--enable-liblz4" + "--enable-harfbuzz") #:phases (modify-phases %standard-phases - (add-before 'configure 'patch-config-files + ;; ecore_audio cannot find pulseaudio or libsndfile when compiled. + ;; Starting in version 1.18.0, these two libraries are dlopened so + ;; we hardcode their locations as a temporary workaround. + (add-after 'configure 'hardlink-dlopen-files (lambda _ - (substitute* "po/Makefile.in.in" - (("/bin/sh") (which "bash")))))))) - (home-page "http://www.enlightenment.org") + (substitute* "src/lib/ecore_audio/ecore_audio.c" + (("libpulse.so.0") + (string-append (assoc-ref %build-inputs "pulseaudio") + "/lib/libpulse.so.0"))) + (substitute* "src/lib/ecore_audio/ecore_audio.c" + (("libsndfile.so.1") + (string-append (assoc-ref %build-inputs "libsndfile") + "/lib/libsndfile.so.1"))) + #t))))) + (home-page "https://www.enlightenment.org") (synopsis "Enlightenment Foundation Libraries") (description "Enlightenment Foundation Libraries is a set of libraries developed @@ -148,7 +166,7 @@ (define-public elementary `(("pkg-config" ,pkg-config))) (propagated-inputs `(("efl" ,efl))) ; elementary.pc, elementary-cxx.pc - (home-page "http://www.enlightenment.org") + (home-page "https://www.enlightenment.org") (synopsis "Widget library of Enlightenment world") (description "Elementary is a widget library/toolkit, part of the Enlightenment @@ -180,7 +198,7 @@ (define-public evas-generic-loaders ("librsvg" ,librsvg) ("libspectre" ,libspectre) ("poppler" ,poppler))) - (home-page "http://www.enlightenment.org") + (home-page "https://www.enlightenment.org") (synopsis "Plugins for integration of various file types into Evas") (description "Evas-generic-loaders is a collection of interfaces to outside libraries @@ -207,7 +225,7 @@ (define-public emotion-generic-players (inputs `(("efl" ,efl) ("vlc" ,vlc))) - (home-page "http://www.enlightenment.org") + (home-page "https://www.enlightenment.org") (synopsis "Plugins for integrating media players in EFL based applications") (description "Emotion-generic-players is a collection of interfaces to outside libraries @@ -231,9 +249,8 @@ (define-public terminology (native-inputs `(("pkg-config" ,pkg-config))) (inputs - `(("efl" ,efl) - ("elementary" ,elementary))) - (home-page "http://www.enlightenment.org") + `(("efl" ,efl))) + (home-page "https://www.enlightenment.org") (synopsis "Powerful terminal emulator based on EFL") (description "Terminology is fast and feature rich terminal emulator. It is solely @@ -245,21 +262,21 @@ (define-public terminology (define-public rage (package (name "rage") - (version "0.1.4") + (version "0.2.0") (source (origin (method url-fetch) (uri (string-append "https://download.enlightenment.org/rel/apps/rage/rage-" - version ".tar.gz")) + version ".tar.xz")) (sha256 - (base32 "10j3n8crk16jzqz2hn5djx6vms5f6x83qyiaphhqx94h9dgv2mgg")))) + (base32 + "07mfh0k83nrm557x72qafxawxizilqgkr6sngbia3ikprc8556zy")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) (inputs - `(("efl" ,efl) - ("elementary" ,elementary))) + `(("efl" ,efl))) (home-page "https://www.enlightenment.org/about-rage") (synopsis "Video and audio player based on EFL") (description @@ -270,7 +287,7 @@ (define-public rage (define-public enlightenment (package (name "enlightenment") - (version "0.21.1") + (version "0.21.2") (source (origin (method url-fetch) (uri @@ -278,25 +295,22 @@ (define-public enlightenment name "/" name "-" version ".tar.xz")) (sha256 (base32 - "119sxrgrz163c01yx0q9n2jpmmbv0a58akmz0c2z4xy37f1m02rx")))) + "0fi5dxrprnvhnn2y51gnfpsjj44snriqi20k20a73vhaqxfn8xx8")))) (build-system gnu-build-system) (arguments `(#:configure-flags '("--enable-mount-eeze"))) (native-inputs - `(("pkg-config" ,pkg-config))) + `(("gettext" ,gnu-gettext) + ("pkg-config" ,pkg-config))) (inputs `(("alsa-lib" ,alsa-lib) ("dbus" ,dbus) + ("efl" ,efl) ("freetype" ,freetype) - ("gettext" ,gnu-gettext) ("libxcb" ,libxcb) ("libxext" ,libxext) ("linux-pam" ,linux-pam) ("xcb-util-keysyms" ,xcb-util-keysyms))) - (propagated-inputs - ;; both these inputs are present in pkgconfig file in Require section - `(("efl" ,efl) ; enlightenment.pc - ("elementary" ,elementary))) ; enlightenment.pc (home-page "https://www.enlightenment.org") (synopsis "Lightweight desktop environment") (description @@ -309,14 +323,14 @@ (define-public enlightenment (define-public python-efl (package (name "python-efl") - (version "1.16.0") + (version "1.18.0") (source (origin (method url-fetch) (uri (pypi-uri "python-efl" version)) (sha256 (base32 - "1ihay90agl2jx12m7jj8j1cspd7vsak1w7q95rhb6r2srkq0ppxk")))) + "0x49rb7mx7ysjp23m919r2rx8qnl4xackhl9s9x2697m7cs77n1r")))) (build-system python-build-system) (arguments '(#:phases @@ -335,7 +349,6 @@ (define-public python-efl ("python-cython" ,python-cython))) (inputs `(("efl" ,efl) - ("elementary" ,elementary) ("python-dbus" ,python-dbus))) (home-page "https://www.enlightenment.org/") (synopsis "Python bindings for EFL") diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm index 179e32507c..21a22768fd 100644 --- a/gnu/packages/finance.scm +++ b/gnu/packages/finance.scm @@ -67,7 +67,7 @@ (define-public bitcoin-core ("miniupnpc" ,miniupnpc) ("openssl" ,openssl) ("protobuf" ,protobuf) - ("qt" ,qt))) + ("qtbase" ,qtbase))) (arguments `(#:configure-flags (list diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm index 0262d0a1ed..67f1e1a2c0 100644 --- a/gnu/packages/freedesktop.scm +++ b/gnu/packages/freedesktop.scm @@ -295,6 +295,28 @@ (define-public wayland applications, X servers (rootless or fullscreen) or other display servers.") (license license:x11))) +(define-public wayland-protocols + (package + (name "wayland-protocols") + (version "1.4") + (source (origin + (method url-fetch) + (uri (string-append + "https://wayland.freedesktop.org/releases/" + "wayland-protocols-" version ".tar.xz")) + (sha256 + (base32 + "0wpm7mz7ww6nn3vrgz7a9iyk7mk6za73wnq0n54lzl8yq8irljh1")))) + (build-system gnu-build-system) + (inputs + `(("wayland" ,wayland))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (synopsis "Wayland protocols") + (description "This package contains XML definitions of the Wayland protocols.") + (home-page "https://wayland.freedesktop.org") + (license license:expat))) + (define-public exempi (package (name "exempi") diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm index 0bfd0c5d30..d544a7294d 100644 --- a/gnu/packages/game-development.scm +++ b/gnu/packages/game-development.scm @@ -1,13 +1,13 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014 Tomáš Čech ;;; Copyright © 2015 Mark H Weaver -;;; Copyright © 2015 Julian Graham ;;; Copyright © 2015 Ludovic Courtès ;;; Copyright © 2015 Alex Kost ;;; Copyright © 2015, 2016 David Thompson ;;; Copyright © 2016 Efraim Flashner ;;; Copyright © 2016 Kei Kebreau ;;; Copyright © 2016 Ricardo Wurmus +;;; Copyright © 2016 Julian Graham ;;; ;;; This file is part of GNU Guix. ;;; @@ -93,14 +93,14 @@ (define-public bullet (define-public gzochi (package (name "gzochi") - (version "0.9") + (version "0.10") (source (origin (method url-fetch) (uri (string-append "mirror://savannah/gzochi/gzochi-" version ".tar.gz")) (sha256 (base32 - "1nf8naqbc4hmhy99b8n70yswg9j71nh5mfpwwh6d8pdw5mp9b46a")))) + "055m7ywgl48ljwxf0kjhl76ldck890y5afdwjhk5s3p65xyaxh0k")))) (build-system gnu-build-system) (arguments '(#:phases (modify-phases %standard-phases @@ -116,7 +116,6 @@ (define-public gzochi (native-inputs `(("pkgconfig" ,pkg-config))) (inputs `(("bdb" ,bdb) ("glib" ,glib) - ("gmp" ,gmp) ("guile" ,guile-2.0) ("libmicrohttpd" ,libmicrohttpd) ("ncurses" ,ncurses) @@ -136,7 +135,7 @@ (define-public gzochi (define-public tiled (package (name "tiled") - (version "0.16.1") + (version "0.17.0") (source (origin (method url-fetch) (uri (string-append "https://github.com/bjorn/tiled/archive/v" @@ -144,7 +143,7 @@ (define-public tiled (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0s1i6yhm1z9ayzjh8cprcc9jvj5m87l9snyqg6w7zlj3q9zn4rn6")))) + "0c9gykxmq0sk0yyfdq81g9psd922scqzn5asskjydj84d80f5z7p")))) (build-system gnu-build-system) (inputs `(("qt" ,qt) ("zlib" ,zlib))) diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 96aefbc3e4..ed5d7fd52e 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -1198,7 +1198,7 @@ (define-public raincat (define-public manaplus (package (name "manaplus") - (version "1.6.6.4") + (version "1.6.8.14") (source (origin (method url-fetch) (uri (string-append @@ -1206,7 +1206,7 @@ (define-public manaplus version "/manaplus-" version ".tar.xz")) (sha256 (base32 - "00sdw2mspdhrqvz0vl6jbnhiclj7vmvyjih9qf8dbkfw2s921ybc")))) + "1mah4w6ng0j76cjzbw8y9m2ds5f1w5ka9b1k3gzgvxh4yaphqnff")))) (build-system gnu-build-system) (arguments '(#:configure-flags diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm index 73dc41d216..f99dfa5052 100644 --- a/gnu/packages/gcc.scm +++ b/gnu/packages/gcc.scm @@ -359,14 +359,14 @@ (define-public gcc-5 (define-public gcc-6 (package (inherit gcc-5) - (version "6.1.0") + (version "6.2.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/gcc/gcc-" version "/gcc-" version ".tar.bz2")) (sha256 (base32 - "0ld3y4rgimyqgx1nwvzqyl5gr4wzc0ch4akkvsqp3fgbmdfcii09")) + "1idpf43988v1a6i8lw9ak1r7igcfg1bm5kn011iydlr2qygmhi4r")) (patches (search-patches "gcc-5.0-libvtv-runpath.patch")))))) ;; Note: When changing the default gcc version, update diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm index 1ef5eeb487..86828e717d 100644 --- a/gnu/packages/geo.scm +++ b/gnu/packages/geo.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016 Leo Famulari +;;; Copyright © 2016 Alex Griffin ;;; ;;; This file is part of GNU Guix. ;;; @@ -35,7 +36,7 @@ (define-module (gnu packages geo) (define-public gnome-maps (package (name "gnome-maps") - (version "3.18.2") + (version "3.18.3") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -43,7 +44,7 @@ (define-public gnome-maps name "-" version ".tar.xz")) (sha256 (base32 - "0y4jmh5hwskh2mnladh9hxp9k8as7crm8wwwiifvxsjjj9az2gv9")))) + "1vdnr2wmhqhql2gxd5n1ijwk88qhim14izbkczncg35846hfsr5i")))) (build-system glib-or-gtk-build-system) (arguments `(#:configure-flags ; Ensure that geoclue is referred to by output. diff --git a/gnu/packages/gimp.scm b/gnu/packages/gimp.scm index d5c58e26ba..6540990b36 100644 --- a/gnu/packages/gimp.scm +++ b/gnu/packages/gimp.scm @@ -43,16 +43,18 @@ (define-module (gnu packages gimp) (define-public babl (package (name "babl") - (version "0.1.10") + (version "0.1.18") (source (origin (method url-fetch) - (uri (list (string-append "http://ftp.gtk.org/pub/babl/0.1/babl-" + (uri (list (string-append "https://download.gimp.org/pub/babl/" + "0.1/babl-" version ".tar.bz2") + (string-append "http://ftp.gtk.org/pub/babl/0.1/babl-" version ".tar.bz2") (string-append "ftp://ftp.gtk.org/pub/babl/0.1/babl-" version ".tar.bz2"))) (sha256 (base32 - "1x2mb7zfbvk9d0a7h5cpdff9hhjsadxvqml2jay2bpf7x9nc6gwl")))) + "1ygvnq22pf0zvf3bj7h67vvbpz7b8hhjvrr79ribws7sr5dljfj8")))) (build-system gnu-build-system) (home-page "http://gegl.org/babl/") (synopsis "Image pixel format conversion library") @@ -124,23 +126,38 @@ (define-public gegl (define-public gimp (package (name "gimp") - (version "2.8.16") + (version "2.8.18") (source (origin (method url-fetch) (uri (string-append "http://download.gimp.org/pub/gimp/v" (version-major+minor version) "/gimp-" version ".tar.bz2")) - (patches (search-patches "gimp-CVE-2016-4994.patch")) (sha256 (base32 - "1dsgazia9hmab8cw3iis7s69dvqyfj5wga7ds7w2q5mms1xqbqwm")))) + "0halh6sl3d2j9gahyabj6h6r3yyldcy7sfb4qrfazpkqqr3j5p9r")))) (build-system gnu-build-system) (outputs '("out" "doc")) ;8 MiB of gtk-doc HTML (arguments '(#:configure-flags (list (string-append "--with-html-dir=" (assoc-ref %outputs "doc") - "/share/gtk-doc/html")))) + "/share/gtk-doc/html")) + #:phases + (modify-phases %standard-phases + (add-after 'install 'install-sitecustomize.py + ;; Install 'sitecustomize.py' into gimp's python directory to + ;; add pygobject and pygtk to pygimp's search path. + (lambda* (#:key outputs #:allow-other-keys) + (let* ((pythonpath (getenv "PYTHONPATH")) + (out (assoc-ref outputs "out")) + (sitecustomize.py + (string-append + out "/lib/gimp/2.0/python/sitecustomize.py"))) + (call-with-output-file sitecustomize.py + (lambda (port) + (format port "import site~%") + (format port "for dir in '~a'.split(':'):~%" pythonpath) + (format port " site.addsitedir(dir)~%"))))))))) (inputs `(("babl" ,babl) ("glib" ,glib) diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm index 2fc63a8740..077a6ef2a5 100644 --- a/gnu/packages/gl.scm +++ b/gnu/packages/gl.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013, 2015 Andreas Enge ;;; Copyright © 2013 Joshua Grant -;;; Copyright © 2014 David Thompson +;;; Copyright © 2014, 2016 David Thompson ;;; Copyright © 2014, 2015 Mark H Weaver ;;; ;;; This file is part of GNU Guix. @@ -22,6 +22,7 @@ (define-module (gnu packages gl) #:use-module (gnu packages autotools) #:use-module (gnu packages bison) + #:use-module (gnu packages documentation) #:use-module (gnu packages flex) #:use-module (gnu packages fontutils) #:use-module (gnu packages freedesktop) @@ -547,3 +548,36 @@ (define-public soil "SOIL is a tiny C library used primarily for uploading textures into OpenGL.") (license license:public-domain))) + +(define-public glfw + (package + (name "glfw") + (version "3.2.1") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/glfw/glfw" + "/releases/download/" version + "/glfw-" version ".zip")) + (sha256 + (base32 + "09kk5yc1zhss9add8ryqrngrr16hdmc94rszgng135bhw09mxmdp")))) + (build-system cmake-build-system) + (arguments + '(#:tests? #f ; no test target + #:configure-flags '("-DBUILD_SHARED_LIBS=ON"))) + (native-inputs + `(("doxygen" ,doxygen) + ("unzip" ,unzip))) + (inputs + `(("mesa" ,mesa) + ("libx11" ,libx11) + ("libxrandr" ,libxrandr) + ("libxinerama" ,libxinerama) + ("libxcursor" ,libxcursor))) + (home-page "http://www.glfw.org") + (synopsis "OpenGL application development library") + (description + "GLFW is a library for OpenGL, OpenGL ES and Vulkan development for +desktop computers. It provides a simple API for creating windows, contexts +and surfaces, receiving input and events.") + (license license:zlib))) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 63d0f1258e..36c753d79c 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -21,6 +21,8 @@ ;;; Copyright © 2016 Leo Famulari ;;; Copyright © 2016 Alex Griffin ;;; Copyright © 2016 ng0 +;;; Copyright © 2016 David Craven +;;; Copyright © 2016 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. ;;; @@ -85,7 +87,6 @@ (define-module (gnu packages gnome) #:use-module (gnu packages libusb) #:use-module (gnu packages lirc) #:use-module (gnu packages lua) - #:use-module (gnu packages m4) #:use-module (gnu packages image) #:use-module (gnu packages networking) #:use-module (gnu packages password-utils) @@ -3284,7 +3285,7 @@ (define-public totem (define-public rhythmbox (package (name "rhythmbox") - (version "3.2.1") + (version "3.4") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -3292,7 +3293,7 @@ (define-public rhythmbox name "-" version ".tar.xz")) (sha256 (base32 - "0f3radhlji7rxl760yl2vm49fvfslympxrpm8497acbmbd7wlhxz")))) + "1347747m90aiz47wny1f8rdk5195qf2ph0554c6y91711sm951gg")))) (build-system glib-or-gtk-build-system) (arguments `(#:configure-flags @@ -3310,11 +3311,13 @@ (define-public rhythmbox (let ((out (assoc-ref outputs "out")) (gi-typelib-path (getenv "GI_TYPELIB_PATH")) (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH")) - (grl-plugin-path (getenv "GRL_PLUGIN_PATH"))) + (grl-plugin-path (getenv "GRL_PLUGIN_PATH")) + (python-path (getenv "PYTHONPATH"))) (wrap-program (string-append out "/bin/rhythmbox") `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path)) `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path)) - `("GRL_PLUGIN_PATH" ":" prefix (,grl-plugin-path)))) + `("GRL_PLUGIN_PATH" ":" prefix (,grl-plugin-path)) + `("PYTHONPATH" ":" prefix (,python-path)))) #t))))) (propagated-inputs `(("dconf" ,dconf))) @@ -3360,7 +3363,6 @@ (define-public rhythmbox ;; TODO: ;; * libgpod ;; * mx - ;; * webkit ("brasero" ,brasero))) (home-page "https://wiki.gnome.org/Apps/Rhythmbox") (synopsis "Music player for GNOME") @@ -3600,7 +3602,7 @@ (define-public simple-scan (define-public epiphany (package (name "epiphany") - (version "3.20.1") + (version "3.20.3") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -3608,7 +3610,7 @@ (define-public epiphany name "-" version ".tar.xz")) (sha256 (base32 - "1ry9z6d51gjbv5n8kspwdyfrdai2hrin2ixdicmyiq6xbryzcwbi")))) + "18i4nk4k4q2yaj4zw0gbyp7ja2g67pm05p56bbras52cnjyy37ad")))) (build-system glib-or-gtk-build-system) (arguments ;; FIXME: tests run under Xvfb, but fail with: @@ -3862,7 +3864,7 @@ (define-public gexiv2 (define-public shotwell (package (name "shotwell") - (version "0.23.1") + (version "0.23.5") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -3870,39 +3872,28 @@ (define-public shotwell name "-" version ".tar.xz")) (sha256 (base32 - "12imip32mav0zqg1fh4xm6zk4qsgg2435xsyb6ljz47i37zk6kg2")))) + "0fgs1rgvkmy79bmpxrsvm5w8rvqml4l1vnwma0xqx5zzm02p8a07")))) (build-system glib-or-gtk-build-system) - (arguments - `(#:tests? #f ;no "check" target - #:make-flags '("CC=gcc") - #:configure-flags '("--disable-gsettings-convert-install") - #:out-of-source? #f)) + (propagated-inputs + `(("dconf" ,dconf))) (native-inputs `(("pkg-config" ,pkg-config) + ("itstool" ,itstool) ("gettext" ,gnu-gettext) - ("m4" ,m4) - ("desktop-file-utils" ,desktop-file-utils) - ("vala" ,vala) - ("which" ,which) - ("gnome-doc-utils" ,gnome-doc-utils) - ;; FIXME: I only added python2-libxml2 because xml2po needs it at - ;; runtime. It should be propagated. - ("python2-libxml2" ,python2-libxml2) - ("python2" ,python-2))) + ("itstool" ,itstool) + ("vala" ,vala))) (inputs - `(("gstreamer" ,gstreamer) + `(("glib:bin" ,glib "bin") + ("gstreamer" ,gstreamer) ("gst-plugins-base" ,gst-plugins-base) - ("gst-plugins-good" ,gst-plugins-good) ("libgee" ,libgee) ("gexiv2" ,gexiv2) ("libraw" ,libraw) ("json-glib" ,json-glib) - ("rest" ,rest) ("webkitgtk" ,webkitgtk) ("sqlite" ,sqlite) ("libsoup" ,libsoup) ("libxml2" ,libxml2) - ("gtk+" ,gtk+) ("libgudev" ,libgudev) ("libgphoto2" ,libgphoto2))) (home-page "https://wiki.gnome.org/Apps/Shotwell") @@ -4489,6 +4480,27 @@ (define-public network-manager services.") (license license:gpl2+))) +(define-public mobile-broadband-provider-info + (package + (name "mobile-broadband-provider-info") + (version "20151214") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://gnome/sources/" + "mobile-broadband-provider-info/" version "/" + "mobile-broadband-provider-info-" version ".tar.xz")) + (sha256 + (base32 + "1905nab1h8p4hx0m1w0rn4mkg9209x680dcr4l77bngy21pmvr4a")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f)) ; No tests + (home-page "https://wiki.gnome.org/Projects/NetworkManager") + (synopsis "Database of broadband connection configuration") + (description "Database of broadband connection configuration.") + (license license:public-domain))) + (define-public network-manager-applet (package (name "network-manager-applet") @@ -5458,3 +5470,43 @@ (define-public libgnomekbd "Libgnomekbd is a keyboard configuration library for the GNOME desktop environment, which can notably display keyboard layouts.") (license license:lgpl2.0+))) + +;;; This package is no longer maintained: +;;; https://wiki.gnome.org/Attic/LibUnique +;;; "Unique is now in maintenance mode, and its usage is strongly discouraged. +;;; Applications should use the GtkApplication class provided by GTK+ 3.0." +(define-public libunique + (package + (name "libunique") + (version "3.0.2") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnome/sources/" name "/" + (version-major+minor version) "/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "0f70lkw66v9cj72q0iw1s2546r6bwwcd8idcm3621fg2fgh2rw58")))) + (build-system glib-or-gtk-build-system) + (arguments + `(#:configure-flags '("--disable-static" + "--disable-dbus" ; use gdbus + "--enable-introspection"))) + (native-inputs + `(("pkg-config" ,pkg-config) + ("gobject-introspection" ,gobject-introspection) + ("glib:bin" ,glib "bin") + ("gtk-doc" ,gtk-doc))) + (propagated-inputs + ;; Referred to in .h files and .pc. + `(("gtk+" ,gtk+))) + (home-page "https://wiki.gnome.org/Attic/LibUnique") + (synopsis "Library for writing single instance applications") + (description + "Libunique is a library for writing single instance applications. If you +launch a single instance application twice, the second instance will either just +quit or will send a message to the running instance. Libunique makes it easy to +write this kind of application, by providing a base class, taking care of all +the IPC machinery needed to send messages to a running instance, and also +handling the startup notification side.") + (license license:lgpl2.1+))) diff --git a/gnu/packages/gnunet.scm b/gnu/packages/gnunet.scm index 788732240c..525cddc701 100644 --- a/gnu/packages/gnunet.scm +++ b/gnu/packages/gnunet.scm @@ -126,14 +126,14 @@ (define-public libextractor (define-public libmicrohttpd (package (name "libmicrohttpd") - (version "0.9.50") + (version "0.9.51") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/libmicrohttpd/libmicrohttpd-" version ".tar.gz")) (sha256 (base32 - "1mzbqr6sqisppz88mh73bbh5sw57g8l87qvhcjdx5pmbd183idni")))) + "1ir3ga328zkyynznnw71dj64wsaz7pmbhl82lqp1y1hrl85vn01h")))) (build-system gnu-build-system) (inputs `(("curl" ,curl) @@ -325,7 +325,7 @@ (define-public gnunet-gtk "1p38k1s6a2fmcfc9a7cf1zrdycm9h06kqdyand4s3k500nj6mb4g")))) (arguments `(#:configure-flags - (list "--without-libunique" + (list "--with-libunique" "--with-qrencode" (string-append "--with-gnunet=" (assoc-ref %build-inputs "gnunet"))))) @@ -335,7 +335,8 @@ (define-public gnunet-gtk ("gtk+" ,gtk+) ("libextractor" ,libextractor) ("glade3" ,glade3) - ("qrencode" ,qrencode))) + ("qrencode" ,qrencode) + ("libunique" ,libunique))) (native-inputs `(("pkg-config" ,pkg-config) ("libglade" ,libglade))) diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm index 52a9fc5366..2817f2c573 100644 --- a/gnu/packages/gnupg.scm +++ b/gnu/packages/gnupg.scm @@ -5,6 +5,7 @@ ;;; Copyright © 2014, 2015, 2016 Mark H Weaver ;;; Copyright © 2015 Paul van der Walt ;;; Copyright © 2015, 2016 Efraim Flashner +;;; Copyright © 2015, 2016 Ricardo Wurmus ;;; Copyright © 2016 Christopher Allan Webber ;;; Copyright © 2016 ng0 ;;; @@ -149,7 +150,7 @@ (define-public libassuan (define-public libksba (package (name "libksba") - (version "1.3.4") + (version "1.3.5") (source (origin (method url-fetch) @@ -158,7 +159,7 @@ (define-public libksba version ".tar.bz2")) (sha256 (base32 - "0kxdb02z41cwm1xbwfwj9nbc0dzjhwyq8c475mlhhmpcxcy8ihpn")))) + "0h53q4sns1jz1pkmhcz5wp9qrfn9f5g9i3vjv6dafwzzlvblyi21")))) (build-system gnu-build-system) (propagated-inputs `(("libgpg-error" ,libgpg-error))) @@ -397,9 +398,7 @@ (define-public python-pygpgme (zero? (system* "make" "check"))))))) (build-system python-build-system) (inputs - `(;; setuptools required for python-2 variant - ("python-setuptools" ,python-setuptools) - ("gnupg" ,gnupg-2.0) + `(("gnupg" ,gnupg-2.0) ("gpgme" ,gpgme))) (home-page "https://launchpad.net/pygpgme") (synopsis "Python module for working with OpenPGP messages") @@ -409,7 +408,12 @@ (define-public python-pygpgme (license license:lgpl2.1+))) (define-public python2-pygpgme - (package-with-python2 python-pygpgme)) + (let ((base (package-with-python2 python-pygpgme))) + (package + (inherit base) + (native-inputs + `(("python2-setuptools" ,python2-setuptools) + ,@(package-native-inputs base)))))) (define-public python-gnupg (package @@ -427,20 +431,18 @@ (define-public python-gnupg `(#:phases (modify-phases %standard-phases (replace 'check - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "test_gnupg.py" - ;; Test keyrings are missing, so this test fails. - (("'test_scan_keys'") "True") - (("def test_scan_keys") "def disabled__scan_keys") - ;; Unsure why this test fails. - (("'test_search_keys'") "True") - (("def test_search_keys") "def disabled__search_keys")) - (setenv "GPGBINARY" "gpg") - (setenv "USERNAME" "guixbuilder") - ;; The doctests are extremely slow and sometimes time out, - ;; so we disable them. - (zero? (system* "python" - "test_gnupg.py" "--no-doctests"))))))) + (lambda _ + (substitute* "test_gnupg.py" + ;; Exported keys don't have a version line! + (("del k1\\[1\\]") "#") + ;; Unsure why this test fails. + (("'test_search_keys'") "True") + (("def test_search_keys") "def disabled__search_keys")) + (setenv "USERNAME" "guixbuilder") + ;; The doctests are extremely slow and sometimes time out, + ;; so we disable them. + (zero? (system* "python" + "test_gnupg.py" "--no-doctests"))))))) (native-inputs `(("gnupg" ,gnupg-1))) (home-page "https://packages.python.org/python-gnupg/index.html") @@ -477,7 +479,7 @@ (define-public pius 'build 'set-gpg-file-name (lambda* (#:key inputs outputs #:allow-other-keys) (let* ((gpg (string-append (assoc-ref inputs "gpg") - "/bin/gpg2"))) + "/bin/gpg"))) (substitute* "libpius/constants.py" (("/usr/bin/gpg2") gpg)))))))) (synopsis "Programs to simplify GnuPG key signing") @@ -499,8 +501,8 @@ (define-public signing-party (version "1.1.4") (source (origin (method url-fetch) - (uri (string-append "http://ftp.debian.org/debian/pool/main/s/signing-party/signing-party_" - version ".orig.tar.gz")) + (uri (string-append "mirror://debian/pool/main/s/signing-party/" + "signing-party_" version ".orig.tar.gz")) (sha256 (base32 "188gp0prbh8qs29lq3pbf0qibfd6jq4fk7i0pfrybl8aahvm84rx")))) (build-system gnu-build-system) @@ -508,85 +510,71 @@ (define-public signing-party (arguments `(#:tests? #f #:phases - (alist-cons-after - 'unpack 'remove-spurious-links - (lambda _ (delete-file "keyanalyze/pgpring/depcomp")) - (alist-replace - 'configure - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - (substitute* "keyanalyze/Makefile" - (("LDLIBS") (string-append "CC=" (which "gcc") "\nLDLIBS"))) - (substitute* "keyanalyze/Makefile" - (("./configure") (string-append "./configure --prefix=" out))) - (substitute* "keyanalyze/pgpring/configure" - (("/bin/sh") (which "bash"))) - (substitute* "gpgwrap/Makefile" - (("\\} clean") (string-append "} clean\ninstall:\n\tinstall -D bin/gpgwrap " - out "/bin/gpgwrap\n"))) - (substitute* '("gpgsigs/Makefile" "keyanalyze/Makefile" - "keylookup/Makefile" "sig2dot/Makefile" - "springgraph/Makefile") - (("/usr") out)))) - (alist-replace - 'install - (lambda* (#:key outputs #:allow-other-keys #:rest args) - (let ((out (assoc-ref outputs "out")) - (install (assoc-ref %standard-phases 'install))) - (apply install args) - (for-each - (lambda (dir file) - (copy-file (string-append dir "/" file) - (string-append out "/bin/" file))) - '("caff" "caff" "caff" "gpgdir" "gpg-key2ps" - "gpglist" "gpg-mailkeys" "gpgparticipants") - '("caff" "pgp-clean" "pgp-fixkey" "gpgdir" "gpg-key2ps" - "gpglist" "gpg-mailkeys" "gpgparticipants")) - (for-each - (lambda (dir file) - (copy-file (string-append dir "/" file) - (string-append out "/share/man/man1/" file))) - '("caff" "caff" "caff" "gpgdir" - "gpg-key2ps" "gpglist" "gpg-mailkeys" - "gpgparticipants" "gpgsigs" "gpgwrap/doc" - "keyanalyze" "keyanalyze/pgpring" "keyanalyze") - '("caff.1" "pgp-clean.1" "pgp-fixkey.1" "gpgdir.1" - "gpg-key2ps.1" "gpglist.1" "gpg-mailkeys.1" - "gpgparticipants.1" "gpgsigs.1" "gpgwrap.1" - "process_keys.1" "pgpring.1" "keyanalyze.1")))) - %standard-phases))))) + (modify-phases %standard-phases + (add-after 'unpack 'remove-spurious-links + (lambda _ (delete-file "keyanalyze/pgpring/depcomp"))) + (replace 'configure + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (substitute* "keyanalyze/Makefile" + (("LDLIBS") (string-append "CC=" (which "gcc") "\nLDLIBS"))) + (substitute* "keyanalyze/Makefile" + (("./configure") (string-append "./configure --prefix=" out))) + (substitute* "keyanalyze/pgpring/configure" + (("/bin/sh") (which "bash"))) + (substitute* "gpgwrap/Makefile" + (("\\} clean") + (string-append "} clean\ninstall:\n\tinstall -D bin/gpgwrap " + out "/bin/gpgwrap\n"))) + (substitute* '("gpgsigs/Makefile" "keyanalyze/Makefile" + "keylookup/Makefile" "sig2dot/Makefile" + "springgraph/Makefile") + (("/usr") out))))) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys #:rest args) + (let ((out (assoc-ref outputs "out")) + (install (assoc-ref %standard-phases 'install))) + (apply install args) + (for-each + (lambda (dir file) + (copy-file (string-append dir "/" file) + (string-append out "/bin/" file))) + '("caff" "caff" "caff" "gpgdir" "gpg-key2ps" + "gpglist" "gpg-mailkeys" "gpgparticipants") + '("caff" "pgp-clean" "pgp-fixkey" "gpgdir" "gpg-key2ps" + "gpglist" "gpg-mailkeys" "gpgparticipants")) + (for-each + (lambda (dir file) + (copy-file (string-append dir "/" file) + (string-append out "/share/man/man1/" file))) + '("caff" "caff" "caff" "gpgdir" + "gpg-key2ps" "gpglist" "gpg-mailkeys" + "gpgparticipants" "gpgsigs" "gpgwrap/doc" + "keyanalyze" "keyanalyze/pgpring" "keyanalyze") + '("caff.1" "pgp-clean.1" "pgp-fixkey.1" "gpgdir.1" + "gpg-key2ps.1" "gpglist.1" "gpg-mailkeys.1" + "gpgparticipants.1" "gpgsigs.1" "gpgwrap.1" + "process_keys.1" "pgpring.1" "keyanalyze.1")))))))) (synopsis "Collection of scripts for simplifying gnupg key signing") (description "Signing-party is a collection for all kinds of PGP/GnuPG related things, including tools for signing keys, keyring analysis, and party preparation. - - * caff: CA - Fire and Forget signs and mails a key - - * pgp-clean: removes all non-self signatures from key - - * pgp-fixkey: removes broken packets from keys - - * gpg-mailkeys: simply mail out a signed key to its owner - - * gpg-key2ps: generate PostScript file with fingerprint paper strips - - * gpgdir: recursive directory encryption tool - - * gpglist: show who signed which of your UIDs - - * gpgsigs: annotates list of GnuPG keys with already done signatures - - * gpgparticipants: create list of party participants for the organiser - - * gpgwrap: a passphrase wrapper - - * keyanalyze: minimum signing distance (MSD) analysis on keyrings - - * keylookup: ncurses wrapper around gpg --search - - * sig2dot: converts a list of GnuPG signatures to a .dot file - - * springgraph: creates a graph from a .dot file") +@enumerate +@item caff: CA - Fire and Forget signs and mails a key +@item pgp-clean: removes all non-self signatures from key +@item pgp-fixkey: removes broken packets from keys +@item gpg-mailkeys: simply mail out a signed key to its owner +@item gpg-key2ps: generate PostScript file with fingerprint paper strips +@item gpgdir: recursive directory encryption tool +@item gpglist: show who signed which of your UIDs +@item gpgsigs: annotates list of GnuPG keys with already done signatures +@item gpgparticipants: create list of party participants for the organiser +@item gpgwrap: a passphrase wrapper +@item keyanalyze: minimum signing distance (MSD) analysis on keyrings +@item keylookup: ncurses wrapper around gpg --search +@item sig2dot: converts a list of GnuPG signatures to a .dot file +@item springgraph: creates a graph from a .dot file +@end enumerate") ;; gpl2+ for almost all programs, except for keyanalyze: gpl2 ;; and caff and gpgsigs: bsd-3, see ;; http://packages.debian.org/changelogs/pool/main/s/signing-party/current/copyright @@ -639,6 +627,8 @@ (define-public pinentry-qt (inputs `(("qtbase" ,qtbase) ,@(package-inputs pinentry-tty))) + (arguments + `(#:configure-flags '("CXXFLAGS=-std=gnu++11"))) (description "Pinentry provides a console and a Qt GUI that allows users to enter a passphrase when @code{gpg} or @code{gpg2} is run and needs it."))) @@ -662,13 +652,13 @@ (define-public paperkey (build-system gnu-build-system) (arguments `(#:phases - (alist-cons-before - 'check 'patch-check-scripts - (lambda _ - (substitute* '("checks/roundtrip.sh" - "checks/roundtrip-raw.sh") - (("/bin/echo") "echo"))) - %standard-phases))) + (modify-phases %standard-phases + (add-before 'check 'patch-check-scripts + (lambda _ + (substitute* '("checks/roundtrip.sh" + "checks/roundtrip-raw.sh") + (("/bin/echo") "echo")) + #t))))) (home-page "http://www.jabberwocky.com/software/paperkey/") (synopsis "Backup OpenPGP keys to paper") (description diff --git a/gnu/packages/gps.scm b/gnu/packages/gps.scm index ccd9636ea0..da5485e6ee 100644 --- a/gnu/packages/gps.scm +++ b/gnu/packages/gps.scm @@ -48,7 +48,9 @@ (define-public gpsbabel "0xf7wmy2m29g2lm8lqc74yf8rf7sxfl3cfwbk7dpf0yf42pb0b6w")))) (build-system gnu-build-system) (arguments - `(#:configure-flags '("--with-zlib=system") + `(#:configure-flags + '("--with-zlib=system" + "CXXFLAGS=-std=gnu++11") #:phases (modify-phases %standard-phases (add-before 'configure 'pre-configure @@ -59,7 +61,9 @@ (define-public gpsbabel ;; On i686, 'raymarine.test' fails because of a rounding error: ;; . As a workaround, disable tests ;; on these platforms. - #:tests? ,(not (string-prefix? "i686" (%current-system))))) + ;; FIXME: On x86_64 with -std=gnu++11 tests also fail due to rounding + ;; error. + #:tests? #f)) (inputs `(("expat" ,expat) ("zlib" ,zlib) diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm index a39a3b434d..651186ab8a 100644 --- a/gnu/packages/gstreamer.scm +++ b/gnu/packages/gstreamer.scm @@ -21,7 +21,7 @@ ;;; along with GNU Guix. If not, see . (define-module (gnu packages gstreamer) - #:use-module ((guix licenses) #:select (lgpl2.0+ lgpl2.1+ bsd-2 bsd-3 gpl2+)) + #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system gnu) @@ -92,7 +92,7 @@ (define-public orc arrays of data.") ;; The source code implementing the Marsenne Twister algorithm is licensed ;; under the 3-clause BSD license, the rest is under 2-clause BSD license. - (license (list bsd-2 bsd-3)))) + (license (list license:bsd-2 license:bsd-3)))) (define-public gstreamer (package @@ -140,7 +140,7 @@ (define-public gstreamer simple plugin with a clean, generic interface. This package provides the core library and elements.") - (license lgpl2.0+))) + (license license:lgpl2.0+))) (define-public gst-plugins-base (package @@ -192,7 +192,7 @@ (define-public gst-plugins-base "Plugins for the GStreamer multimedia library") (description "This package provides an essential exemplary set of plug-ins for the GStreamer multimedia library.") - (license lgpl2.0+))) + (license license:lgpl2.0+))) (define-public gst-plugins-good @@ -258,7 +258,7 @@ (define-public gst-plugins-good (description "GStreamer Good Plug-ins is a set of plug-ins for the GStreamer multimedia library. This set contains those plug-ins which the developers consider to have good quality code and correct functionality.") - (license lgpl2.0+))) + (license license:lgpl2.0+))) (define-public gst-plugins-bad (package @@ -323,7 +323,7 @@ (define-public gst-plugins-bad ("openssl" ,openssl) ("opus" ,opus) ("orc" ,orc) - ("qt" ,qt) + ("qtbase" ,qtbase) ("soundtouch" ,soundtouch) ("wayland" ,wayland))) (home-page "http://gstreamer.freedesktop.org/") @@ -331,7 +331,7 @@ (define-public gst-plugins-bad (description "GStreamer Bad Plug-ins is a set of plug-ins whose quality aren't up to par compared to the rest.") - (license lgpl2.0+))) + (license license:lgpl2.0+))) (define-public gst-plugins-ugly (package @@ -369,7 +369,7 @@ (define-public gst-plugins-ugly (description "GStreamer Ugly Plug-ins. This set contains those plug-ins which the developers consider to have good quality code but that might pose distribution problems in some jurisdictions, e.g. due to patent threats.") - (license lgpl2.0+))) + (license license:lgpl2.0+))) (define-public gst-libav (package @@ -406,7 +406,7 @@ (define-public gst-libav (description "This GStreamer plugin supports a large number of audio and video compression formats through the use of the libav library.") - (license gpl2+))) + (license license:gpl2+))) (define-public python-gst (package @@ -446,7 +446,7 @@ (define-public python-gst (description "This package contains GObject Introspection overrides for Python that can be used by Python applications using GStreamer.") - (license lgpl2.1+) + (license license:lgpl2.1+) (properties `((python2-variant . ,(delay python2-gst)))))) (define-public python2-gst diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index 1171436804..296b6154d2 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -1128,7 +1128,7 @@ (define-public guile-dbd-sqlite3 (define-public guile-xosd (package (name "guile-xosd") - (version "0.2") + (version "0.2.1") (source (origin (method url-fetch) (uri (string-append "https://github.com/alezost/" name @@ -1136,7 +1136,7 @@ (define-public guile-xosd "/" name "-" version ".tar.gz")) (sha256 (base32 - "1j0b07kycccfslp5n6q0hz7adwc7k41fpzds2dvrly67gavjqljv")))) + "1ri5065c16kmgrf2pysn2ymxjqi5302lhpb07wkl1jr75ym8fn8p")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) @@ -1157,7 +1157,7 @@ (define-public guile-xosd (define-public guile-daemon (package (name "guile-daemon") - (version "0.1") + (version "0.1.1") (source (origin (method url-fetch) (uri (string-append "https://github.com/alezost/" name @@ -1165,7 +1165,7 @@ (define-public guile-daemon "/" name "-" version ".tar.gz")) (sha256 (base32 - "1s90h8qhblhhz4ahn3p5d573a24px6cdjq2w311ibpgwnsni4qvq")))) + "0wsq9l6a4sijq4i1r3kcddfaznsak2jc5k59gzkhs5il5d2kn5yi")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) diff --git a/gnu/packages/ibus.scm b/gnu/packages/ibus.scm index db7d084fc7..814984f16f 100644 --- a/gnu/packages/ibus.scm +++ b/gnu/packages/ibus.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2015 Ricardo Wurmus +;;; Copyright © 2015, 2016 Ricardo Wurmus ;;; Copyright © 2015 Andreas Enge ;;; Copyright © 2016 Chris Marusich ;;; @@ -36,7 +36,8 @@ (define-module (gnu packages ibus) #:use-module (gnu packages gtk) #:use-module (gnu packages iso-codes) #:use-module (gnu packages pkg-config) - #:use-module (gnu packages python)) + #:use-module (gnu packages python) + #:use-module (gnu packages xorg)) (define-public ibus (package @@ -62,24 +63,42 @@ (define-public ibus (assoc-ref %outputs "out") "/lib/python2.7/site-packages/gi/overrides/")) #:phases - (alist-cons-before - 'configure 'disable-dconf-update - (lambda _ - (substitute* "data/dconf/Makefile.in" - (("dconf update") "echo dconf update")) - #t) - (alist-cons-after - 'wrap-program 'wrap-with-additional-paths - (lambda* (#:key outputs #:allow-other-keys) - ;; Make sure 'ibus-setup' runs with the correct PYTHONPATH and - ;; GI_TYPELIB_PATH. - (let ((out (assoc-ref outputs "out"))) - (wrap-program (string-append out "/bin/ibus-setup") - `("PYTHONPATH" ":" prefix (,(getenv "PYTHONPATH"))) - `("GI_TYPELIB_PATH" ":" prefix - (,(getenv "GI_TYPELIB_PATH") - ,(string-append out "/lib/girepository-1.0")))))) - %standard-phases)))) + (modify-phases %standard-phases + (add-before 'configure 'disable-dconf-update + (lambda _ + (substitute* "data/dconf/Makefile.in" + (("dconf update") "echo dconf update")) + #t)) + (add-after 'unpack 'delete-generated-files + (lambda _ + (for-each (lambda (file) + (let ((c (string-append (string-drop-right file 4) "c"))) + (when (file-exists? c) + (format #t "deleting ~a\n" c) + (delete-file c)))) + (find-files "." "\\.vala")) + #t)) + (add-after 'unpack 'fix-paths + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "src/ibusenginesimple.c" + (("/usr/share/X11/locale") + (string-append (assoc-ref inputs "libx11") + "/share/X11/locale"))) + (substitute* "ui/gtk3/xkblayout.vala" + (("\"(setxkbmap|xmodmap)\"" _ prog) + (string-append "\"" (assoc-ref inputs prog) "\""))) + #t)) + (add-after 'wrap-program 'wrap-with-additional-paths + (lambda* (#:key outputs #:allow-other-keys) + ;; Make sure 'ibus-setup' runs with the correct PYTHONPATH and + ;; GI_TYPELIB_PATH. + (let ((out (assoc-ref outputs "out"))) + (wrap-program (string-append out "/bin/ibus-setup") + `("PYTHONPATH" ":" prefix (,(getenv "PYTHONPATH"))) + `("GI_TYPELIB_PATH" ":" prefix + (,(getenv "GI_TYPELIB_PATH") + ,(string-append out "/lib/girepository-1.0"))))) + #t))))) (inputs `(("dbus" ,dbus) ("dconf" ,dconf) @@ -88,12 +107,16 @@ (define-public ibus ("gtk+" ,gtk+) ("intltool" ,intltool) ("libnotify" ,libnotify) + ("libx11" ,libx11) + ("setxkbmap" ,setxkbmap) + ("xmodmap" ,xmodmap) ("iso-codes" ,iso-codes) ("pygobject2" ,python2-pygobject) ("python2" ,python-2))) (native-inputs `(("glib" ,glib "bin") ; for glib-genmarshal ("gobject-introspection" ,gobject-introspection) ; for g-ir-compiler + ("vala" ,vala) ("pkg-config" ,pkg-config))) (native-search-paths (list (search-path-specification diff --git a/gnu/packages/imagemagick.scm b/gnu/packages/imagemagick.scm index c88fd7a60a..a554b73a4e 100644 --- a/gnu/packages/imagemagick.scm +++ b/gnu/packages/imagemagick.scm @@ -51,7 +51,7 @@ (define-public imagemagick "00arcvyhsy9i5gp3b0lhfvs04qwhxpmq0bfsv4ipllinb6mjgxf5")))) (build-system gnu-build-system) (arguments - `(#:configure-flags '("--with-frozenpaths") + `(#:configure-flags '("--with-frozenpaths" "--without-gcc-arch") #:phases (modify-phases %standard-phases (add-before 'build 'pre-build @@ -100,7 +100,7 @@ (define-public imagemagick (home-page "http://www.imagemagick.org/") (synopsis "Create, edit, compose, or convert bitmap images") (description - "ImageMagick® is a software suite to create, edit, compose, or convert + "ImageMagick is a software suite to create, edit, compose, or convert bitmap images. It can read and write images in a variety of formats (over 100) including DPX, EXR, GIF, JPEG, JPEG-2000, PDF, PhotoCD, PNG, Postscript, SVG, and TIFF. Use ImageMagick to resize, flip, mirror, rotate, distort, shear and diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm index a679c64314..6ba454d0ed 100644 --- a/gnu/packages/kde-frameworks.scm +++ b/gnu/packages/kde-frameworks.scm @@ -26,16 +26,24 @@ (define-module (gnu packages kde-frameworks) #:use-module (guix packages) #:use-module (guix utils) #:use-module (gnu packages admin) + #:use-module (gnu packages attr) + #:use-module (gnu packages boost) #:use-module (gnu packages bison) #:use-module (gnu packages compression) + #:use-module (gnu packages docbook) #:use-module (gnu packages freedesktop) #:use-module (gnu packages gettext) #:use-module (gnu packages glib) #:use-module (gnu packages gnome) + #:use-module (gnu packages gnupg) #:use-module (gnu packages linux) + #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) + #:use-module (gnu packages polkit) #:use-module (gnu packages python) #:use-module (gnu packages qt) + #:use-module (gnu packages web) + #:use-module (gnu packages xml) #:use-module (gnu packages xorg)) (define-public extra-cmake-modules @@ -77,6 +85,60 @@ (define-public extra-cmake-modules common build settings used in software produced by the KDE community.") (license license:bsd-3))) +(define-public phonon + (package + (name "phonon") + (version "4.9.0") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://kde/stable/phonon" + "/" version "/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "1q5hvsk4sfcb91625wcmldy7kgjmfpmpmkgzi6mxkqdd307v8x5v")))) + (build-system cmake-build-system) + (native-inputs + `(("extra-cmake-modules" ,extra-cmake-modules))) + (inputs + `(("qtbase" ,qtbase))) + (arguments + `(#:configure-flags + '("-DCMAKE_CXX_FLAGS=-fPIC" + "-DPHONON_BUILD_PHONON4QT5=ON"))) + (home-page "https://phonon.kde.org") + (synopsis "KDE's multimedia library") + (description "KDE's multimedia library.") + (license license:lgpl2.1+))) + +(define-public gpgmepp + (package + (name "gpgmepp") + (version "16.04.3") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://kde/stable/applications" + "/" version "/src/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "1850pdysi7c1w0nxnhcbrhnkrfqyrcl0laxyjcw1g1ln764pwcmj")))) + (build-system cmake-build-system) + (native-inputs + `(("extra-cmake-modules" ,extra-cmake-modules))) + (propagated-inputs + `(("boost" ,boost) + ("gpgme" ,gpgme))) + (inputs + `(("qtbase" ,qtbase))) + (home-page "https://community.kde.org/Frameworks") + (synopsis "C++ bindings/wrapper for gpgme") + (description "C++ bindings/wrapper for gpgme.") + (license license:lgpl2.1+))) + + ;; Tier 1 ;; ;; Tier 1 frameworks depend only on Qt (and possibly a small number of other @@ -331,7 +393,7 @@ (define-public kconfig KConfigCore provides access to the configuration files themselves. It features: -@itemize +@enumerate @item Code generation: describe your configuration in an XML file, and use `kconfig_compiler to generate classes that read and write configuration entries. @@ -342,7 +404,7 @@ (define-public kconfig @item Optional shell expansion support (see docs/options.md). @item The ability to lock down configuration options (see docs/options.md). -@end itemize +@end enumerate KConfigGui provides a way to hook widgets to the configuration so that they are automatically initialized from the configuration and automatically @@ -477,13 +539,10 @@ (define-public kguiaddons (arguments `(#:phases (modify-phases %standard-phases - (add-before 'check 'start-xorg-server - (lambda* (#:key inputs #:allow-other-keys) - ;; The test suite requires a running X server. - (system (string-append (assoc-ref inputs "xorg-server") - "/bin/Xvfb :1 &")) - (setenv "DISPLAY" ":1") - #t))))) + (add-before 'check 'check-setup + (lambda* _ + (setenv "QT_QPA_PLATFORM" "offscreen") + #t))))) (home-page "https://community.kde.org/Frameworks") (synopsis "Utilities for graphical user interfaces") (description "The KDE GUI addons provide utilities for graphical user @@ -592,7 +651,7 @@ (define-public kitemmodels (synopsis "Set of item models extending the Qt model-view framework") (description "KItemModels provides the following models: -@itemize +@enumerate @item KBreadcrumbSelectionModel - Selects the parents of selected items to create breadcrumbs. @@ -617,7 +676,7 @@ (define-public kitemmodels @item KSelectionProxyModel - A Proxy Model which presents a subset of its source model to observers -@end itemize") +@end enumerate") (license license:lgpl2.1+))) (define-public kitemviews @@ -757,21 +816,25 @@ (define-public kwidgetsaddons (inputs `(("qtbase" ,qtbase))) (arguments - `(#:tests? #f ; FIXME: libGL error: failed to load driver: swrast. + `(#:tests? #f ; FIXME: Regression after update to qt 5.7 #:phases (modify-phases %standard-phases (add-before 'check 'check-setup - (lambda* _ - (setenv "CTEST_OUTPUT_ON_FAILURE" "1") ; enable debug output - (setenv "LIBGL_DEBUG" "verbose") ; enable debug output - (setenv "DBUS_FATAL_WARNINGS" "0"))) + (lambda _ + (setenv "QT_QPA_PLATFORM" "offscreen") ; a better solution to Xvfb + (setenv "CTEST_OUTPUT_ON_FAILURE" "1") ; enable debug info + (setenv "DBUS_FATAL_WARNINGS" "0") + #t)) (add-before 'check 'start-xorg-server (lambda* (#:key inputs #:allow-other-keys) ;; The test suite requires a running X server. + ;; Xvfb doesn't have proper glx support and needs a pixeldepth + ;; of 24 bit to avoid "libGL error: failed to load driver: swrast" + ;; "Could not initialize GLX" (system (string-append (assoc-ref inputs "xorg-server") - "/bin/Xvfb :1 &")) + "/bin/Xvfb :1 -screen 0 640x480x24 &")) (setenv "DISPLAY" ":1") - #t))))) + #t))))) (home-page "https://community.kde.org/Frameworks") (synopsis "Large set of desktop widgets") (description "Provided are action classes that can be added to toolbars or @@ -838,9 +901,11 @@ (define-public modemmanager-qt `(("extra-cmake-modules" ,extra-cmake-modules) ("dbus" ,dbus) ("pkg-config" ,pkg-config))) + (propagated-inputs + ; Headers contain #include + `(("modem-manager", modem-manager))) (inputs - `(("modem-manager", modem-manager) - ("qtbase" ,qtbase))) + `(("qtbase" ,qtbase))) (arguments `(#:phases (modify-phases %standard-phases @@ -874,9 +939,12 @@ (define-public networkmanager-qt `(("extra-cmake-modules" ,extra-cmake-modules) ("dbus" ,dbus) ("pkg-config" ,pkg-config))) + (propagated-inputs + ; Headers contain #include and + ; #include + `(("network-manager" ,network-manager))) (inputs - `(("network-manager", network-manager) - ("qtbase" ,qtbase))) + `(("qtbase" ,qtbase))) (arguments `(#:phases (modify-phases %standard-phases @@ -992,3 +1060,404 @@ (define-public threadweaver (description "ThreadWeaver is a helper for multithreaded programming. It uses a job-based interface to queue tasks and execute them in an efficient way.") (license license:lgpl2.1+))) + + +;; Tier 2 +;; +;; Tier 2 frameworks additionally depend on tier 1 frameworks, but still have +;; easily manageable dependencies. + +(define-public kauth + (package + (name "kauth") + (version "5.24.0") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://kde/stable/frameworks/" + (version-major+minor version) "/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "14sjjfgl3arqyqcr77w9qhpnd8mrnh53r5rfss6bvlk26bmihs49")))) + (build-system cmake-build-system) + (native-inputs + `(("dbus" ,dbus) + ("extra-cmake-modules" ,extra-cmake-modules) + ("qttools" ,qttools))) + (inputs + `(("kcoreaddons" ,kcoreaddons) + ("polkit-qt" ,polkit-qt) + ("qtbase" ,qtbase))) + (arguments + `(#:phases + (modify-phases %standard-phases + (replace 'check + (lambda* _ + (setenv "DBUS_FATAL_WARNINGS" "0") + (zero? (system* "dbus-launch" "ctest" "."))))))) + (home-page "https://community.kde.org/Frameworks") + (synopsis "Execute actions as privileged user") + (description "KAuth provides a convenient, system-integrated way to offload +actions that need to be performed as a privileged user to small set of helper +utilities.") + (license license:lgpl2.1+))) + +(define-public kcompletion + (package + (name "kcompletion") + (version "5.24.0") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://kde/stable/frameworks/" + (version-major+minor version) "/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "1qln0v31gn86kzwhnkijr1ydf129n32jmiybbckrp4w6hyx6xfxv")))) + (build-system cmake-build-system) + (native-inputs + `(("extra-cmake-modules" ,extra-cmake-modules) + ("qttools" ,qttools) + ("xorg-server" ,xorg-server))) + (inputs + `(("kconfig" ,kconfig) + ("kwidgetsaddons" ,kwidgetsaddons) + ("qtbase" ,qtbase))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'check 'check-setup + (lambda _ + (setenv "QT_QPA_PLATFORM" "offscreen") + #t))))) + (home-page "https://community.kde.org/Frameworks") + (synopsis "Powerful autocompletion framework and widgets") + (description "This framework helps implement autocompletion in Qt-based +applications. It provides a set of completion-ready widgets, or can be +integrated it into your application's other widgets.") + (license license:lgpl2.1+))) + +(define-public kcrash + (package + (name "kcrash") + (version "5.24.0") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://kde/stable/frameworks/" + (version-major+minor version) "/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "1lahgfwlp9b5rsl244kzp7rsl4ybv1q4qlvpv0xxz5ygssk48l0w")))) + (build-system cmake-build-system) + (native-inputs + `(("extra-cmake-modules" ,extra-cmake-modules) + ("xorg-server" ,xorg-server))) + (inputs + `(("kcoreaddons" ,kcoreaddons) + ("kwindowsystem" ,kwindowsystem) + ("qtbase" ,qtbase) + ("qtx11extras" ,qtx11extras))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'check 'start-xorg-server + (lambda* (#:key inputs #:allow-other-keys) + ;; The test suite requires a running X server. + (system (string-append (assoc-ref inputs "xorg-server") + "/bin/Xvfb :1 &")) + (setenv "DISPLAY" ":1") + #t))))) + (home-page "https://community.kde.org/Frameworks") + (synopsis "Graceful handling of application crashes") + (description "KCrash provides support for intercepting and handling +application crashes.") + (license license:lgpl2.1+))) + +(define-public kdoctools + (package + (name "kdoctools") + (version "5.24.0") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://kde/stable/frameworks/" + (version-major+minor version) "/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "1r129kpq0d11b9l87cqbal6fm5ycwhsps1g3r1a7jsxz70scz4ri")))) + (build-system cmake-build-system) + (native-inputs + `(("extra-cmake-modules" ,extra-cmake-modules))) + (inputs + `(("docbook-xml" ,docbook-xml) + ("docbook-xsl" ,docbook-xsl) + ("karchive" ,karchive) + ("ki18n" ,ki18n) + ("libxml2" ,libxml2) + ("libxslt" ,libxslt) + ("perl" ,perl) + ("perl-uri" ,perl-uri) + ("qtbase" ,qtbase))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'cmake-find-docbook + (lambda* (#:key inputs #:allow-other-keys) + (substitute* (find-files "cmake" "\\.cmake$") + (("CMAKE_SYSTEM_PREFIX_PATH") + "CMAKE_PREFIX_PATH")) + (substitute* "cmake/FindDocBookXML4.cmake" + (("^.*xml/docbook/schema/dtd.*$") + "xml/dtd/docbook\n")) + (substitute* "cmake/FindDocBookXSL.cmake" + (("^.*xml/docbook/stylesheet.*$") + (string-append "xml/xsl/docbook-xsl-" + ,(package-version docbook-xsl) "\n")))))))) + (home-page "https://community.kde.org/Frameworks") + (synopsis "Create documentation from DocBook") + (description "Provides tools to generate documentation in various format +from DocBook files.") + (license license:lgpl2.1+))) + +(define-public kfilemetadata + (package + (name "kfilemetadata") + (version "5.24.0") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://kde/stable/frameworks/" + (version-major+minor version) "/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "02n9qhpr0jlwdgdbid0k34abhs3bzhlsa56ybl5dq1aib6izk1sy")))) + (build-system cmake-build-system) + (native-inputs + `(("extra-cmake-modules" ,extra-cmake-modules) + ("python-2" ,python-2))) + (inputs + `(("attr" ,attr) + ("karchive" ,karchive) + ("ki18n" ,ki18n) + ("qtbase" ,qtbase))) + (home-page "https://community.kde.org/Frameworks") + (synopsis "Extract metadata from different fileformats") + (description "KFileMetaData provides a simple library for extracting the +text and metadata from a number of different files. This library is typically +used by file indexers to retreive the metadata. This library can also be used +by applications to write metadata.") + (license (list license:lgpl2.0 license:lgpl2.1 license:lgpl3)))) + +(define-public kimageformats + (package + (name "kimageformats") + (version "5.24.0") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://kde/stable/frameworks/" + (version-major+minor version) "/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "12mhgckmhnvcnm8k7mk15mipxrnm7i9ip7ykbjh8nxjiwyk1pmwc")))) + (build-system cmake-build-system) + (native-inputs + `(("extra-cmake-modules" ,extra-cmake-modules) + ("xorg-server" ,xorg-server))) + (inputs + `(("qtbase" ,qtbase))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'check 'start-xorg-server + (lambda* (#:key inputs #:allow-other-keys) + ;; The test suite requires a running X server. + (system (string-append (assoc-ref inputs "xorg-server") + "/bin/Xvfb :1 &")) + (setenv "DISPLAY" ":1") + #t))))) + (home-page "https://community.kde.org/Frameworks") + (synopsis "Plugins to allow QImage to support extra file formats") + (description "This framework provides additional image format plugins for +QtGui. As such it is not required for the compilation of any other software, +but may be a runtime requirement for Qt-based software to support certain image +formats.") + (license license:lgpl2.1+))) + +(define-public kjobwidgets + (package + (name "kjobwidgets") + (version "5.24.0") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://kde/stable/frameworks/" + (version-major+minor version) "/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "1mcvrz66xcqjgbp08zpqsf943cm462wbqm5gh719p9s25hx8hwrc")))) + (build-system cmake-build-system) + (native-inputs + `(("extra-cmake-modules" ,extra-cmake-modules) + ("qttools" ,qttools))) + (inputs + `(("kcoreaddons" ,kcoreaddons) + ("kwidgetsaddons" ,kwidgetsaddons) + ("qtbase" ,qtbase) + ("qtx11extras" ,qtx11extras))) + (home-page "https://community.kde.org/Frameworks") + (synopsis "Widgets for showing progress of asynchronous jobs") + (description "KJobWIdgets provides widgets for showing progress of +asynchronous jobs.") + (license license:lgpl2.1+))) + +(define-public knotifications + (package + (name "knotifications") + (version "5.24.0") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://kde/stable/frameworks/" + (version-major+minor version) "/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "0qryp41phnpx4r9wa6rfhmnzy7nxl0ijnyrafadf2n2xb53ipkpa")))) + (build-system cmake-build-system) + (native-inputs + `(("extra-cmake-modules" ,extra-cmake-modules) + ("dbus" ,dbus) + ("qttools" ,qttools))) + (inputs + `(("kcodecs" ,kcodecs) + ("kconfig" ,kconfig) + ("kcoreaddons" ,kcoreaddons) + ("kwindowsystem" ,kwindowsystem) + ("phonon" ,phonon) + ("qtbase" ,qtbase) + ("qtx11extras" ,qtx11extras))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'check 'check-setup + (lambda* _ + (setenv "HOME" (getcwd)))) + (replace 'check + (lambda* _ + (setenv "DBUS_FATAL_WARNINGS" "0") + (zero? (system* "dbus-launch" "ctest" "."))))))) + (home-page "https://community.kde.org/Frameworks") + (synopsis "Desktop notifications") + (description "KNotification is used to notify the user of an event. It +covers feedback and persistent events.") + (license license:lgpl2.1+))) + +(define-public kpackage + (package + (name "kpackage") + (version "5.24.0") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://kde/stable/frameworks/" + (version-major+minor version) "/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "03aqzkpqz3c1v4qgwfbs3ncdbapiyg7psrkhxqv3z48rklavk1ri")))) + (build-system cmake-build-system) + (native-inputs + `(("extra-cmake-modules" ,extra-cmake-modules))) + (inputs + `(("karchive" ,karchive) + ("kconfig" ,kconfig) + ("kcoreaddons" ,kcoreaddons) + ("ki18n" ,ki18n) + ("qtbase" ,qtbase))) + (arguments + `(#:tests? #f ; FIXME: 1/4 tests fail. + #:phases + (modify-phases %standard-phases + (add-before 'check 'check-setup + (lambda* _ + (setenv "CTEST_OUTPUT_ON_FAILURE" "1") ; enable debug output + (setenv "HOME" (getcwd))))))) + (home-page "https://community.kde.org/Frameworks") + (synopsis "Installation and loading of additional content as packages") + (description "The Package framework lets the user install and load packages +of non binary content such as scripted extensions or graphic assets, as if they +were traditional plugins.") + (license (list license:gpl2+ license:lgpl2.1+)))) + +(define-public kpty + (package + (name "kpty") + (version "5.24.0") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://kde/stable/frameworks/" + (version-major+minor version) "/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "1ybvdzqpa53kkki9p5da0ff9x3c63rmksk7865wqwlgy8apzi2fs")))) + (build-system cmake-build-system) + (native-inputs + `(("extra-cmake-modules" ,extra-cmake-modules))) + (inputs + `(("kcoreaddons" ,kcoreaddons) + ("ki18n" ,ki18n) + ("qtbase" ,qtbase))) + (arguments + `(#:tests? #f ; FIXME: 1/1 tests fail. + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-tests + (lambda _ + (setenv "CTEST_OUTPUT_ON_FAILURE" "1") + (substitute* "autotests/kptyprocesstest.cpp" + (("/bin/bash") (which "bash"))) + #t))))) + (home-page "https://community.kde.org/Frameworks") + (synopsis "Interfacing with pseudo terminal devices") + (description "This library provides primitives to interface with pseudo +terminal devices as well as a KProcess derived class for running child processes +and communicating with them using a pty.") + (license (list license:gpl2+ license:lgpl2.1+)))) + +(define-public kunitconversion + (package + (name "kunitconversion") + (version "5.24.0") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://kde/stable/frameworks/" + (version-major+minor version) "/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "03dfjn4lm6sl2zcdrvw0b9irzvkyc2w2j5xixag5j8nw373742h8")))) + (build-system cmake-build-system) + (native-inputs + `(("extra-cmake-modules" ,extra-cmake-modules))) + (inputs + `(("ki18n" ,ki18n) + ("qtbase" ,qtbase))) + (home-page "https://community.kde.org/Frameworks") + (synopsis "Converting physical units") + (description "KUnitConversion provides functions to convert values in +different physical units. It supports converting different prefixes (e.g. kilo, +mega, giga) as well as converting between different unit systems (e.g. liters, +gallons).") + (license license:lgpl2.1+))) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 67434e0251..e5657fd641 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -40,6 +40,7 @@ (define-module (gnu packages linux) #:use-module (gnu packages bison) #:use-module (gnu packages calendar) #:use-module (gnu packages check) + #:use-module (gnu packages crypto) #:use-module (gnu packages compression) #:use-module (gnu packages databases) #:use-module (gnu packages docbook) @@ -50,6 +51,7 @@ (define-module (gnu packages linux) #:use-module (gnu packages gcc) #:use-module (gnu packages gettext) #:use-module (gnu packages glib) + #:use-module (gnu packages gnuzilla) #:use-module (gnu packages gperf) #:use-module (gnu packages gtk) #:use-module (gnu packages libusb) @@ -227,7 +229,7 @@ (define* (kernel-config system #:key variant) (search-path %load-path file))) (define-public linux-libre - (let* ((version "4.7.1") + (let* ((version "4.7.2") (build-phase '(lambda* (#:key system inputs #:allow-other-keys #:rest args) ;; Avoid introducing timestamps @@ -305,7 +307,7 @@ (define-public linux-libre (uri (linux-libre-urls version)) (sha256 (base32 - "08b8yv5grhzacahmhs3q1031d6a4k7qf1qj7i5vsk33fhgg1nvzx")))) + "1rp09y2hv0hvdybm2n2im9717kzxmklpgzs8k1bmdfzqxyg8cb85")))) (build-system gnu-build-system) (supported-systems '("x86_64-linux" "i686-linux")) (native-inputs `(("perl" ,perl) @@ -342,13 +344,13 @@ (define-public linux-libre (define-public linux-libre-4.4 (package (inherit linux-libre) - (version "4.4.18") + (version "4.4.19") (source (origin (method url-fetch) (uri (linux-libre-urls version)) (sha256 (base32 - "0k8k17in7dkjd9d8zg3i8l1ax466dba6bxw28flxizzyq8znljps")))) + "0nddjs7prmb0g7g3w2k4qfyq02a9szm5nvsgflxcaarbq1slibb5")))) (native-inputs (let ((conf (kernel-config (or (%current-target-system) (%current-system)) @@ -359,13 +361,13 @@ (define-public linux-libre-4.4 (define-public linux-libre-4.1 (package (inherit linux-libre) - (version "4.1.30") + (version "4.1.31") (source (origin (method url-fetch) (uri (linux-libre-urls version)) (sha256 (base32 - "0nwmwbskfni3fnbd7v6jh8yfah915zh80xg4g7n38lb66rk3bxvi")))) + "0grffah921k136w1qwcswxv6m810s8q54nr2rk7kyqka3a1b81yw")))) (native-inputs (let ((conf (kernel-config (or (%current-target-system) (%current-system)) @@ -2609,7 +2611,7 @@ (define-public gpm (define-public btrfs-progs (package (name "btrfs-progs") - (version "4.6.1") + (version "4.7.1") (source (origin (method url-fetch) (uri (string-append "mirror://kernel.org/linux/kernel/" @@ -2617,7 +2619,7 @@ (define-public btrfs-progs "btrfs-progs-v" version ".tar.xz")) (sha256 (base32 - "06c9l6m3w29dndk17jrlpgr01wykl10h34zva8zc2c571z6mrlaf")))) + "15jsa12ijc6z49v1csc62x9zidrgcf307lwy1rbffdwk3gsrczww")))) (build-system gnu-build-system) (outputs '("out" "static")) ; static versions of binaries in "out" (~16MiB!) @@ -2648,6 +2650,7 @@ (define-public btrfs-progs ("libxml2" ,libxml2) ("docbook-xml" ,docbook-xml) ("docbook-xsl" ,docbook-xsl) + ;; For tests ("which" ,which))) (home-page "https://btrfs.wiki.kernel.org/") (synopsis "Create and manage btrfs copy-on-write file systems") @@ -2869,3 +2872,40 @@ (define-public haveged (license:non-copyleft "file://nist/packtest.c") license:public-domain ; nist/dfft.c license:gpl3+)))) ; everything else + +(define-public ecryptfs-utils + (package + (name "ecryptfs-utils") + (version "111") + (source + (origin + (method url-fetch) + (uri (string-append "https://launchpad.net/ecryptfs/trunk/" + version "/+download/ecryptfs-utils_" + version ".orig.tar.gz")) + (sha256 + (base32 + "0zwq19siiwf09h7lwa7n7mgmrr8cxifp45lmwgcfr8c1gviv6b0i")))) + (build-system gnu-build-system) + (arguments + `(#:configure-flags (list "--disable-pywrap"))) + (native-inputs + `(("intltool" ,intltool) + ("perl" ,perl) ; for pod2man + ("pkg-config" ,pkg-config))) + (inputs + `(("keyutils" ,keyutils) + ("linux-pam" ,linux-pam) + ("nss" ,nss))) + (home-page "http://ecryptfs.org/") + (synopsis "eCryptfs cryptographic file system utilities") + (description + "eCryptfs is a POSIX-compliant stacked cryptographic file system for Linux. +Each file's cryptographic meta-data is stored inside the file itself, along +with the encrypted contents. This allows individual encrypted files to be +copied between hosts and still be decrypted with the proper key. eCryptfs is a +native Linux file system, and has been part of the Linux kernel since version +2.6.19. This package contains the userland utilities to manage it.") + ;; The files src/key_mod/ecryptfs_key_mod_{openssl,pkcs11_helper,tspi}.c + ;; grant additional permission to link with OpenSSL. + (license license:gpl2+))) diff --git a/gnu/packages/lirc.scm b/gnu/packages/lirc.scm index 4c45c0ecb0..b8fbeb61ba 100644 --- a/gnu/packages/lirc.scm +++ b/gnu/packages/lirc.scm @@ -89,50 +89,50 @@ (define-public lirc (license license:gpl2+))) (define-public python-lirc - (let ((commit "4091fe918f3eed2513dad008828565cace408d2f") - (revision "1")) - (package - (name "python-lirc") - (version (string-append "1.2.1-" revision "." (string-take commit 7))) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/tompreston/python-lirc.git") - (commit commit))) - (sha256 - (base32 - "0cm47s5pvijfs3v2k7hmpxv3mvp4n5la0ihnsczk5ym3iq166jil")) - (file-name (string-append name "-" version ".tar.gz")))) - (build-system python-build-system) - (inputs - `(("lirc" ,lirc))) - (native-inputs - `(("python-cython" ,python-cython))) - (arguments - `(#:tests? #f ; the only tests that exist are human-interactive - #:phases - (modify-phases %standard-phases - (add-before 'build 'build-from-cython-files - (lambda _ - (zero? (system* "make" "py3"))))))) - (home-page "https://github.com/tompreston/python-lirc") - (synopsis "Python bindings for LIRC") - (description "@code{lirc} is a Python module which provides LIRC bindings.") - (license license:gpl3) - (properties `((python2-variant . ,(delay python2-lirc))))))) - -(define-public python2-lirc - (let ((base (package-with-python2 (strip-python2-variant python-lirc)))) + (let ((commit "4091fe918f3eed2513dad008828565cace408d2f") + (revision "1")) (package - (inherit base) - (arguments - `(#:tests? #f ; the only tests there are are human-interactive - #:phases - (modify-phases %standard-phases - (add-before 'build 'build-from-cython-files - (lambda _ - (zero? (system* "make" "py2"))))))) + (name "python-lirc") + (version (string-append "1.2.1-" revision "." (string-take commit 7))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/tompreston/python-lirc.git") + (commit commit))) + (sha256 + (base32 + "0cm47s5pvijfs3v2k7hmpxv3mvp4n5la0ihnsczk5ym3iq166jil")) + (file-name (string-append name "-" version)))) + (build-system python-build-system) + (inputs + `(("lirc" ,lirc))) (native-inputs - `(("python2-setuptools" ,python2-setuptools) - ("python2-cython" ,python2-cython)))))) + `(("python-cython" ,python-cython))) + (arguments + `(#:tests? #f ; the only tests that exist are human-interactive + #:phases + (modify-phases %standard-phases + (add-before 'build 'build-from-cython-files + (lambda _ + (zero? (system* "make" "py3"))))))) + (home-page "https://github.com/tompreston/python-lirc") + (synopsis "Python bindings for LIRC") + (description "@code{lirc} is a Python module which provides LIRC bindings.") + (license license:gpl3) + (properties `((python2-variant . ,(delay python2-lirc))))))) + + (define-public python2-lirc + (let ((base (package-with-python2 (strip-python2-variant python-lirc)))) + (package + (inherit base) + (arguments + `(#:tests? #f ; the only tests that exist are human-interactive + #:phases + (modify-phases %standard-phases + (add-before 'build 'build-from-cython-files + (lambda _ + (zero? (system* "make" "py2"))))))) + (native-inputs + `(("python2-setuptools" ,python2-setuptools) + ("python2-cython" ,python2-cython)))))) diff --git a/gnu/packages/lua.scm b/gnu/packages/lua.scm index b4b5dee8be..8bd67c594d 100644 --- a/gnu/packages/lua.scm +++ b/gnu/packages/lua.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2014 Mark H Weaver ;;; Copyright © 2014 Andreas Enge ;;; Copyright © 2016 Efraim Flashner +;;; Copyright © 2016 Ricardo Wurmus ;;; ;;; This file is part of GNU Guix. ;;; @@ -21,12 +22,14 @@ ;;; along with GNU Guix. If not, see . (define-module (gnu packages lua) - #:use-module (guix licenses) + #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system gnu) #:use-module (gnu packages) - #:use-module (gnu packages readline)) + #:use-module (gnu packages readline) + #:use-module (gnu packages tls) + #:use-module (gnu packages xml)) (define-public lua (package @@ -44,14 +47,15 @@ (define-public lua (inputs `(("readline" ,readline))) (arguments '(#:modules ((guix build gnu-build-system) - (guix build utils) - (srfi srfi-1)) + (guix build utils) + (srfi srfi-1)) #:test-target "test" + #:make-flags + '("CFLAGS=-fPIC -DLUA_DL_DLOPEN -DLUA_USE_POSIX" + "linux") #:phases (modify-phases %standard-phases (delete 'configure) - (replace 'build - (lambda _ (zero? (system* "make" "CFLAGS=-fPIC" "linux")))) (replace 'install (lambda* (#:key outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out"))) @@ -68,7 +72,7 @@ (define-public lua runs by interpreting bytecode for a register-based virtual machine, and has automatic memory management with incremental garbage collection, making it ideal for configuration, scripting, and rapid prototyping.") - (license x11))) + (license license:x11))) (define-public lua-5.1 (package (inherit lua) @@ -106,4 +110,152 @@ (define-public luajit programming language. Lua is a powerful, dynamic and light-weight programming language. It may be embedded or used as a general-purpose, stand-alone language.") - (license x11))) + (license license:x11))) + +(define-public lua5.1-expat + (package + (name "lua5.1-expat") + (version "1.3.0") + (source (origin + (method url-fetch) + (uri (string-append "https://matthewwild.co.uk/projects/" + "luaexpat/luaexpat-" version ".tar.gz")) + (sha256 + (base32 + "1hvxqngn0wf5642i5p3vcyhg3pmp102k63s9ry4jqyyqc1wkjq6h")))) + (build-system gnu-build-system) + (arguments + `(#:make-flags + (let ((out (assoc-ref %outputs "out"))) + (list "CC=gcc" + (string-append "LUA_LDIR=" out "/share/lua/$(LUA_V)") + (string-append "LUA_CDIR=" out "/lib/lua/$(LUA_V)"))) + #:phases + (modify-phases %standard-phases + (delete 'configure) + (replace 'check + (lambda _ + (setenv "LUA_CPATH" "src/?.so;;") + (setenv "LUA_PATH" "src/?.lua;;") + (and (zero? (system* "lua" "tests/test.lua")) + (zero? (system* "lua" "tests/test-lom.lua")))))))) + (inputs + `(("lua" ,lua-5.1) + ("expat" ,expat))) + (home-page "http://matthewwild.co.uk/projects/luaexpat/") + (synopsis "SAX XML parser based on the Expat library") + (description "LuaExpat is a SAX XML parser based on the Expat library.") + (license (package-license lua-5.1)))) + +(define-public lua5.1-socket + (package + (name "lua5.1-socket") + (version "2.0.2") + (source (origin + (method url-fetch) + (uri (string-append "http://files.luaforge.net/releases/" + "luasocket/luasocket/luasocket-" + version "/luasocket-" version ".tar.gz")) + (sha256 + (base32 + "19ichkbc4rxv00ggz8gyf29jibvc2wq9pqjik0ll326rrxswgnag")))) + (build-system gnu-build-system) + (arguments + `(#:make-flags + (let ((out (assoc-ref %outputs "out"))) + (list (string-append "INSTALL_TOP_SHARE=" out "/share/lua/5.1") + (string-append "INSTALL_TOP_LIB=" out "/lib/lua/5.1"))) + #:phases + (modify-phases %standard-phases + (delete 'configure) + (replace 'check + (lambda _ + (setenv "LUA_CPATH" (string-append "src/?.so." ,version ";;")) + (setenv "LUA_PATH" "src/?.lua;;") + (when (zero? (primitive-fork)) + (system* "lua" "test/testsrvr.lua")) + (zero? (system* "lua" "test/testclnt.lua"))))))) + (inputs + `(("lua" ,lua-5.1))) + (home-page "http://www.tecgraf.puc-rio.br/~diego/professional/luasocket/") + (synopsis "Socket library for Lua") + (description "LuaSocket is a Lua extension library that is composed by two +parts: a C core that provides support for the TCP and UDP transport layers, +and a set of Lua modules that add support for functionality commonly needed by +applications that deal with the Internet. + +Among the supported modules, the most commonly used implement the +SMTP (sending e-mails), HTTP (WWW access) and FTP (uploading and downloading +files) client protocols. These provide a very natural and generic interface +to the functionality defined by each protocol. In addition, you will find +that the MIME (common encodings), URL (anything you could possible want to do +with one) and LTN12 (filters, sinks, sources and pumps) modules can be very +handy.") + (license (package-license lua-5.1)))) + +(define-public lua5.1-filesystem + (package + (name "lua5.1-filesystem") + (version "1.6.3") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/keplerproject/" + "luafilesystem/archive/v_" + "1_6_3" ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0s10ckxin0bysd6gaywqhxkpw3ybjhprr8m655b8cx3pxjwd49am")))) + (build-system gnu-build-system) + (arguments + `(#:make-flags + (list (string-append "PREFIX=" (assoc-ref %outputs "out"))) + #:test-target "test" + #:phases + (modify-phases %standard-phases + (delete 'configure)))) + (inputs + `(("lua" ,lua-5.1))) + (home-page "https://keplerproject.github.io/luafilesystem/index.html") + (synopsis "File system library for Lua") + (description "LuaFileSystem is a Lua library developed to complement the +set of functions related to file systems offered by the standard Lua +distribution. LuaFileSystem offers a portable way to access the underlying +directory structure and file attributes.") + (license (package-license lua-5.1)))) + +(define-public lua5.1-sec + (package + (name "lua5.1-sec") + (version "0.6") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/brunoos/luasec/archive/" + "luasec-" version ".tar.gz")) + (sha256 + (base32 + "0pgd1anzznl4s0h16wg8dlw9mgdb9h52drlcki6sbf5y31fa7wyf")))) + (build-system gnu-build-system) + (arguments + `(#:make-flags + (let ((out (assoc-ref %outputs "out"))) + (list "linux" + "CC=gcc" + "LD=gcc" + (string-append "LUAPATH=" out "/share/lua/5.1") + (string-append "LUACPATH=" out "/lib/lua/5.1"))) + #:tests? #f ; no tests included + #:phases + (modify-phases %standard-phases + (delete 'configure)))) + (inputs + `(("lua" ,lua-5.1) + ("openssl" ,openssl))) + (propagated-inputs + `(("lua-socket" ,lua5.1-socket))) + (home-page "https://github.com/brunoos/luasec/wiki") + (synopsis "OpenSSL bindings for Lua") + (description "LuaSec is a binding for OpenSSL library to provide TLS/SSL +communication. It takes an already established TCP connection and creates a +secure session between the peers.") + (license (package-license lua-5.1)))) diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm index f96672cfb2..4332045d63 100644 --- a/gnu/packages/machine-learning.scm +++ b/gnu/packages/machine-learning.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015, 2016 Ricardo Wurmus ;;; Copyright © 2016 Efraim Flashner +;;; Copyright © 2016 Marius Bakke ;;; ;;; This file is part of GNU Guix. ;;; @@ -27,18 +28,21 @@ (define-module (gnu packages machine-learning) #:use-module (guix build-system gnu) #:use-module (guix build-system r) #:use-module (gnu packages) + #:use-module (gnu packages algebra) #:use-module (gnu packages autotools) #:use-module (gnu packages boost) #:use-module (gnu packages compression) #:use-module (gnu packages dejagnu) #:use-module (gnu packages gcc) + #:use-module (gnu packages image) #:use-module (gnu packages maths) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) #:use-module (gnu packages statistics) #:use-module (gnu packages swig) - #:use-module (gnu packages xml)) + #:use-module (gnu packages xml) + #:use-module (gnu packages xorg)) (define-public libsvm (package @@ -467,3 +471,64 @@ (define-public r-nnet "This package provides functions for feed-forward neural networks with a single hidden layer, and for multinomial log-linear models.") (license (list license:gpl2+ license:gpl3+)))) + +(define-public dlib + (package + (name "dlib") + (version "19.1") + (source (origin + (method url-fetch) + (uri (string-append + "http://dlib.net/files/dlib-" version ".tar.bz2")) + (sha256 + (base32 + "0p2pvcdalc6jhb6r99ybvjd9x74sclr0ngswdg9j2xl5pj7knbr4")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Delete ~13MB of bundled dependencies. + (delete-file-recursively "dlib/external") + (delete-file-recursively "docs/dlib/external"))))) + (build-system cmake-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'disable-asserts + (lambda _ + ;; config.h recommends explicitly enabling or disabling asserts + ;; when building as a shared library. By default neither is set. + (substitute* "dlib/config.h" + (("^//#define DLIB_DISABLE_ASSERTS") "#define DLIB_DISABLE_ASSERTS")) + #t)) + (replace 'check + (lambda _ + ;; No test target, so we build and run the unit tests here. + (let ((test-dir (string-append "../dlib-" ,version "/dlib/test/build"))) + (mkdir-p test-dir) + (with-directory-excursion test-dir + (and (zero? (system* "cmake" "..")) + (zero? (system* "cmake" "--build" "." "--config" "Release")) + (zero? (system* "./dtest" "--runall"))))))) + (add-after 'install 'delete-static-library + (lambda* (#:key outputs #:allow-other-keys) + (delete-file (string-append (assoc-ref outputs "out") "/lib/libdlib.a"))))))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("fftw" ,fftw) + ("giflib" ,giflib) + ;("lapack" ,lapack) XXX lapack here causes test failures in some setups. + ("libjpeg" ,libjpeg) + ("libpng" ,libpng) + ("libx11" ,libx11) + ("openblas" ,openblas) + ("zlib" ,zlib))) + (synopsis + "Toolkit for making machine learning and data analysis applications in C++") + (description + "Dlib is a modern C++ toolkit containing machine learning algorithms and +tools. It is used in both industry and academia in a wide range of domains +including robotics, embedded devices, mobile phones, and large high performance +computing environments.") + (home-page "http://dlib.net") + (license license:boost1.0))) diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index 49bf8f74b1..c07bc529d0 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -182,14 +182,14 @@ (define-public fetchmail (define-public mutt (package (name "mutt") - (version "1.6.2") + (version "1.7.0") (source (origin (method url-fetch) (uri (string-append "ftp://ftp.mutt.org/pub/mutt/mutt-" version ".tar.gz")) (sha256 (base32 - "13hxmji7v9m2agmvzrs7gzx8s3c9jiwrv7pbkr7z1kc6ckq2xl65")) + "0idkamdiwj9fgqaz1vzkfg78cnmkzp74skv0ibw2xjfq6ds9hghx")) (patches (search-patches "mutt-store-references.patch")))) (build-system gnu-build-system) (inputs @@ -205,6 +205,7 @@ (define-public mutt "--enable-pop" "--enable-gpgme" "--enable-hcache" ; for header caching + "--enable-sidebar" "--with-ssl" "--with-sasl" ;; so that mutt does not check whether the path @@ -296,7 +297,7 @@ (define-public bogofilter (define-public offlineimap (package (name "offlineimap") - (version "7.0.5") + (version "7.0.6") (source (origin (method url-fetch) (uri (string-append "https://github.com/OfflineIMAP/offlineimap/" @@ -304,7 +305,7 @@ (define-public offlineimap (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "05wm7qix4ikx6hi57a1qc3hb5fv1vksbg6dgvmd8871y5l1qqrkn")))) + "1msg0v5i3v4mvjm2c5alzz91dk5y20h4xdr60lcz3507fv80407m")))) (build-system python-build-system) (inputs `(("python2-pysqlite" ,python2-pysqlite) ("python2-six" ,python2-six))) @@ -407,7 +408,9 @@ (define-public alot (version "0.3.7") (source (origin (method url-fetch) - ; v0.3.7 not on PyPi yet, so use github instead + ;; package author intends on distributing via github rather + ;; than pypi: + ;; https://github.com/pazz/alot/issues/877#issuecomment-230173331 (uri (string-append "https://github.com/pazz/alot/archive/" version ".tar.gz")) (file-name (string-append "alot-" version ".tar.gz")) @@ -417,8 +420,8 @@ (define-public alot (build-system python-build-system) (arguments `(#:tests? #f ; no tests - ; python 3 is unsupported, more info: - ; https://github.com/pazz/alot/blob/0.3.7/docs/source/faq.rst + ;; python 3 is unsupported, more info: + ;; https://github.com/pazz/alot/blob/0.3.7/docs/source/faq.rst #:python ,python-2)) (inputs `(("python2-magic" ,python2-magic) diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 0f495021f0..32fb87f150 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -692,15 +692,15 @@ (define-public ceres (define-public octave (package (name "octave") - (version "4.0.2") + (version "4.0.3") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/octave/octave-" - version ".tar.gz")) + version ".tar.xz")) (sha256 (base32 - "1hdxap3j88rpqjimnfhinym6z73wdi5dfa6fv85c13r1dk9qzk9r")))) + "11day29k4yfvxh4101x5yf26ld992x5n6qvmhjjk6mzsd26fqayw")))) (build-system gnu-build-system) (inputs `(("lapack" ,lapack) @@ -709,9 +709,7 @@ (define-public octave ("fftw" ,fftw) ("fftwf" ,fftwf) ("arpack" ,arpack-ng) - ("curl" ,curl) ("pcre" ,pcre) - ("cyrus-sasl" ,cyrus-sasl) ("fltk" ,fltk) ("fontconfig" ,fontconfig) ("freetype" ,freetype) @@ -719,7 +717,6 @@ (define-public octave ("libxft" ,libxft) ("mesa" ,mesa) ("glu" ,glu) - ("openssl" ,openssl) ("zlib" ,zlib))) (native-inputs `(("gfortran" ,gfortran) @@ -2025,14 +2022,14 @@ (define-public suitesparse (define-public atlas (package (name "atlas") - (version "3.10.2") + (version "3.10.3") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/math-atlas/Stable/" version "/atlas" version ".tar.bz2")) (sha256 (base32 - "0bqh4bdnjdyww4mcpg6kn0x7338mfqbdgysn97dzrwwb26di7ars")))) + "1dyjlq3fiparvm8ypwk6rsmjzmnwk81l88gkishphpvc79ryp216")))) (build-system gnu-build-system) (home-page "http://math-atlas.sourceforge.net/") (inputs `(("gfortran" ,gfortran) @@ -2079,59 +2076,54 @@ (define-public atlas ,(string-append "--with-netlib-lapack-tarfile=" (assoc-ref %build-inputs "lapack-tar"))) #:phases - (alist-cons-after - 'install 'install-doc - (lambda* (#:key outputs inputs #:allow-other-keys) - (let ((doc (string-append (assoc-ref outputs "doc") - "/share/doc/atlas"))) - (mkdir-p doc) - (fold (lambda (file previous) - (and previous (zero? (system* "cp" file doc)))) - #t (find-files "../ATLAS/doc" ".*")))) - (alist-cons-after - 'check 'check-pt - (lambda _ (zero? (system* "make" "ptcheck"))) - ;; Fix files required to run configure. - (alist-cons-before - 'configure 'fix-/bin/sh + (modify-phases %standard-phases + (add-after 'install 'install-doc + (lambda* (#:key outputs inputs #:allow-other-keys) + (let ((doc (string-append (assoc-ref outputs "doc") + "/share/doc/atlas"))) + (mkdir-p doc) + (fold (lambda (file previous) + (and previous (zero? (system* "cp" file doc)))) + #t (find-files "../ATLAS/doc" ".*"))))) + (add-after 'check 'check-pt + (lambda _ (zero? (system* "make" "ptcheck")))) + ;; Fix files required to run configure. + (add-before 'configure 'fix-/bin/sh (lambda _ ;; Use `sh', not `/bin/sh'. (substitute* (find-files "." "Makefile|configure|SpewMakeInc\\.c") (("/bin/sh") - "sh"))) - ;; Fix /bin/sh in generated make files. - (alist-cons-after - 'configure 'fix-/bin/sh-in-generated-files - (lambda _ - (substitute* (find-files "." "^[Mm]ake\\.inc.*") - (("/bin/sh") - "sh"))) - ;; ATLAS configure program does not accepts the default flags - ;; passed by the 'gnu-build-system'. - (alist-replace - 'configure - (lambda* (#:key native-inputs inputs outputs - (configure-flags '()) - #:allow-other-keys #:rest args) - (let* ((prefix (assoc-ref outputs "out")) - (bash (or (and=> (assoc-ref - (or native-inputs inputs) "bash") - (cut string-append <> "/bin/bash")) - "/bin/sh")) - (flags `(,(string-append "--prefix=" prefix) - ,@configure-flags)) - (abs-srcdir (getcwd)) - (srcdir (string-append "../" (basename abs-srcdir)))) - (format #t "source directory: ~s (relative from build: ~s)~%" - abs-srcdir srcdir) - (mkdir "../build") - (chdir "../build") - (format #t "build directory: ~s~%" (getcwd)) - (format #t "configure flags: ~s~%" flags) - (zero? (apply system* bash - (string-append srcdir "/configure") - flags)))) - %standard-phases))))))) + "sh")))) + ;; Fix /bin/sh in generated make files. + (add-after 'configure 'fix-/bin/sh-in-generated-files + (lambda _ + (substitute* (find-files "." "^[Mm]ake\\.inc.*") + (("/bin/sh") + "sh")))) + ;; ATLAS configure program does not accepts the default flags + ;; passed by the 'gnu-build-system'. + (replace 'configure + (lambda* (#:key native-inputs inputs outputs + (configure-flags '()) + #:allow-other-keys #:rest args) + (let* ((prefix (assoc-ref outputs "out")) + (bash (or (and=> (assoc-ref + (or native-inputs inputs) "bash") + (cut string-append <> "/bin/bash")) + "/bin/sh")) + (flags `(,(string-append "--prefix=" prefix) + ,@configure-flags)) + (abs-srcdir (getcwd)) + (srcdir (string-append "../" (basename abs-srcdir)))) + (format #t "source directory: ~s (relative from build: ~s)~%" + abs-srcdir srcdir) + (mkdir "../build") + (chdir "../build") + (format #t "build directory: ~s~%" (getcwd)) + (format #t "configure flags: ~s~%" flags) + (zero? (apply system* bash + (string-append srcdir "/configure") + flags)))))))) (synopsis "Automatically Tuned Linear Algebra Software") (description "ATLAS is an automatically tuned linear algebra software library diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm index de9ac179bb..fa4515c768 100644 --- a/gnu/packages/messaging.scm +++ b/gnu/packages/messaging.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2014 Julien Lepiller ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer ;;; Copyright © 2015 Andreas Enge -;;; Copyright © 2015 Ricardo Wurmus +;;; Copyright © 2015, 2016 Ricardo Wurmus ;;; Copyright © 2015 Efraim Flashner ;;; ;;; This file is part of GNU Guix. @@ -24,7 +24,7 @@ (define-module (gnu packages messaging) #:use-module ((guix licenses) #:select (gpl3+ gpl2+ gpl2 lgpl2.1 lgpl2.0+ bsd-2 non-copyleft - asl2.0)) + asl2.0 x11)) #:use-module (guix utils) #:use-module (guix packages) #:use-module (guix download) @@ -45,6 +45,7 @@ (define-module (gnu packages messaging) #:use-module (gnu packages xdisorg) #:use-module (gnu packages libcanberra) #:use-module (gnu packages libidn) + #:use-module (gnu packages lua) #:use-module (gnu packages xml) #:use-module (gnu packages gnupg) #:use-module (gnu packages ncurses) @@ -492,4 +493,77 @@ (define-public gajim end-to-end encryption support; XML console.") (license gpl3+))) +(define-public prosody + (package + (name "prosody") + (version "0.9.10") + (source (origin + (method url-fetch) + (uri (string-append "https://prosody.im/downloads/source/" + "prosody-" version ".tar.gz")) + (sha256 + (base32 + "0bv6s5c0iizz015hh1lxlwlw1iwvisywajm2rcrbdfyrskzfwdj8")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ; no "check" target + #:modules ((ice-9 match) + (srfi srfi-1) + (guix build gnu-build-system) + (guix build utils)) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-configure-script + (lambda _ + ;; The configure script aborts when it encounters unexpected + ;; arguments. Make it more tolerant. + (substitute* "configure" + (("exit 1") "")) + #t)) + (add-after 'install 'wrap-programs + (lambda* (#:key inputs outputs #:allow-other-keys) + ;; Make sure all executables in "bin" find the required Lua + ;; modules at runtime. + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin/")) + (deps (delete #f (map (match-lambda + ((label . directory) + (if (string-prefix? "lua" label) + directory #f))) + inputs))) + (path (string-join + (map (lambda (path) + (string-append path "/share/lua/5.1/?.lua;" + path "/share/lua/5.1/?/?.lua")) + (cons out deps)) + ";")) + (cpath (string-join + (map (lambda (path) + (string-append path "/lib/lua/5.1/?.so;" + path "/lib/lua/5.1/?/?.so")) + (cons out deps)) + ";"))) + (for-each (lambda (file) + (wrap-program file + `("LUA_PATH" ";" = (,path)) + `("LUA_CPATH" ";" = (,cpath)))) + (find-files bin ".*")) + #t)))))) + (inputs + `(("libidn" ,libidn) + ("openssl" ,openssl) + ("lua" ,lua-5.1) + ("lua5.1-expat" ,lua5.1-expat) + ("lua5.1-socket" ,lua5.1-socket) + ("lua5.1-filesystem" ,lua5.1-filesystem) + ("lua5.1-sec" ,lua5.1-sec))) + (home-page "https://prosody.im/") + (synopsis "Jabber (XMPP) server") + (description "Prosody is a modern XMPP communication server. It aims to +be easy to set up and configure, and efficient with system resources. +Additionally, for developers it aims to be easy to extend and give a flexible +system on which to rapidly develop added functionality, or prototype new +protocols.") + (license x11))) + ;;; messaging.scm ends here diff --git a/gnu/packages/mit-krb5.scm b/gnu/packages/mit-krb5.scm index 2b8839c7e9..3d11f3a450 100644 --- a/gnu/packages/mit-krb5.scm +++ b/gnu/packages/mit-krb5.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2012, 2013 Andreas Enge ;;; Copyright © 2015, 2016 Mark H Weaver +;;; Copyright © 2016 Leo Famulari ;;; ;;; This file is part of GNU Guix. ;;; @@ -30,6 +31,7 @@ (define-module (gnu packages mit-krb5) (define-public mit-krb5 (package (name "mit-krb5") + (replacement mit-krb5-1.14.3) (version "1.14.2") (source (origin (method url-fetch) @@ -82,3 +84,17 @@ (define-public mit-krb5 (license (non-copyleft "file://NOTICE" "See NOTICE in the distribution.")) (home-page "http://web.mit.edu/kerberos/"))) + +(define mit-krb5-1.14.3 + (package + (inherit mit-krb5) + (source + (let ((version "1.14.3")) + (origin + (method url-fetch) + (uri (string-append "http://web.mit.edu/kerberos/dist/krb5/" + (version-major+minor version) + "/krb5-" version ".tar.gz")) + (sha256 + (base32 + "1jgjiyh1sp72lkxvk437lz5hzcibvw99jc4ihzfz03fg43aj0ind"))))))) diff --git a/gnu/packages/moreutils.scm b/gnu/packages/moreutils.scm index 79e2a42762..79ab9bbc9a 100644 --- a/gnu/packages/moreutils.scm +++ b/gnu/packages/moreutils.scm @@ -32,9 +32,14 @@ (define-public moreutils (version "0.58") (source (origin (method url-fetch) - (uri (string-append - "mirror://debian/pool/main/m/moreutils/moreutils_" - version ".orig.tar.gz")) + (uri (list + (string-append + "mirror://debian/pool/main/m/moreutils/moreutils_" + version ".orig.tar.gz") + ;; The main Debian mirrors only hold the current packages + (string-append + "http://snapshot.debian.org/archive/debian/20160304T165744Z" + "/pool/main/m/moreutils/moreutils_0.58.orig.tar.gz"))) (sha256 (base32 "02n00vqp6jxbxr5v3rdjxmzp6kxxjdkjgcclam6wrw8qamsbljww")))) diff --git a/gnu/packages/mpd.scm b/gnu/packages/mpd.scm index da989f82db..279ec68440 100644 --- a/gnu/packages/mpd.scm +++ b/gnu/packages/mpd.scm @@ -71,7 +71,7 @@ (define-public libmpdclient (define-public mpd (package (name "mpd") - (version "0.19.18") + (version "0.19.19") (source (origin (method url-fetch) (uri @@ -80,7 +80,7 @@ (define-public mpd "/mpd-" version ".tar.xz")) (sha256 (base32 - "0izd0ph570055s1np6dynxhwbh0h6kb6agvfhxzbj34qahf9jk3n")))) + "07af1m2lgblyiq0gcs26zv8n22wrhrpmf49xsm338h1n87d6r1dw")))) (build-system gnu-build-system) (inputs `(("ao" ,ao) ("alsa-lib" ,alsa-lib) @@ -134,7 +134,7 @@ (define-public mpd (define-public mpd-mpc (package (name "mpd-mpc") - (version "0.27") + (version "0.28") (source (origin (method url-fetch) (uri @@ -143,7 +143,7 @@ (define-public mpd-mpc "/mpc-" version ".tar.xz")) (sha256 (base32 - "0r10wsqxsi07gns6mfnicvpci0sbwwj4qa9iyr1ysrgadl5bx8j5")))) + "0iy5mdffkk61255f62si7p8mhyhkib70zlr1i1iimj2xr037scx4")))) (build-system gnu-build-system) (inputs `(("libmpdclient" ,libmpdclient))) (native-inputs `(("pkg-config" ,pkg-config))) @@ -156,7 +156,7 @@ (define-public mpd-mpc (define-public ncmpc (package (name "ncmpc") - (version "0.24") + (version "0.25") (source (origin (method url-fetch) (uri @@ -165,7 +165,7 @@ (define-public ncmpc "/ncmpc-" version ".tar.xz")) (sha256 (base32 - "1sf3nirs3mcx0r5i7acm9bsvzqzlh730m0yjg6jcyj8ln6r7cvqf")))) + "196f9s0qmc4srr10n4vk3amvqy5f52y9kvgwqpkfjsnhf75qlckf")))) (build-system gnu-build-system) (inputs `(("glib" ,glib) ("libmpdclient" ,libmpdclient) @@ -180,7 +180,7 @@ (define-public ncmpc (define-public ncmpcpp (package (name "ncmpcpp") - (version "0.7.4") + (version "0.7.5") (source (origin (method url-fetch) (uri @@ -188,7 +188,7 @@ (define-public ncmpcpp version ".tar.bz2")) (sha256 (base32 - "0qqy3w2vw3i9rxz0z8n0plmwwfv6gzrxip86l894l1xbvzqja16p")))) + "0zg084m06y7dd8ccy6aq9hx8q7qi2s5kl0br5139hrmk40q68kvy")))) (build-system gnu-build-system) (inputs `(("libmpdclient" ,libmpdclient) ("boost" ,boost) diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index dfd3f7786d..88743aa14d 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -702,8 +702,10 @@ (define-public synthv1 (base32 "0h5zja78phf9705i9g54zh61iczb24iv7rxhljyms30sjgajig1y")))) (build-system gnu-build-system) - ;; There are no tests. - (arguments `(#:tests? #f)) + (arguments + `(#:tests? #f ; There are no tests. + #:configure-flags + '("CXXFLAGS=-std=gnu++11"))) (inputs `(("jack" ,jack-1) ("lv2" ,lv2) diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm index 2678739560..bdccccec6f 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -9,6 +9,7 @@ ;;; Copyright © 2016 Nicolas Goaziou ;;; Copyright © 2016 Eric Bavier ;;; Copyright © 2016 ng0 +;;; Coypright © 2016 Arun Isaac ;;; ;;; This file is part of GNU Guix. ;;; @@ -419,6 +420,26 @@ (define-public httping application stack itself.") (license license:gpl2))) ; with permission to link with OpenSSL +(define-public bwm-ng + (package + (name "bwm-ng") + (version "0.6.1") + (source + (origin + (method url-fetch) + (uri (string-append "https://www.gropp.org/bwm-ng/bwm-ng-" + version ".tar.gz")) + (sha256 + (base32 + "1w0dwpjjm9pqi613i8glxrgca3rdyqyp3xydzagzr5ndc34z6z02")))) + (build-system gnu-build-system) + (inputs `(("ncurses" ,ncurses))) + (synopsis "Console based live network and disk I/O bandwidth monitor") + (description "Bandwidth Monitor NG is a small and simple console based +live network and disk I/O bandwidth monitor.") + (home-page "https://www.gropp.org/?id=projects&sub=bwm-ng") + (license license:gpl2))) + (define-public aircrack-ng (package (name "aircrack-ng") diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index c14d83c016..1f4c3e471a 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -149,7 +149,7 @@ (define-public ocaml (define-public opam (package (name "opam") - (version "1.1.1") + (version "1.2.2") (source (origin (method url-fetch) ;; Use the '-full' version, which includes all the dependencies. @@ -161,7 +161,7 @@ (define-public opam ) (sha256 (base32 - "1frzqkx6yn1pnyd9qz3bv3rbwv74bmc1xji8kl41r1dkqzfl3xqv")))) + "004gwn6rbpcb53y3rpb3v23vk39rp2xmf0liyd5iy12ij8bigrhm")))) (build-system gnu-build-system) (arguments '(;; Sometimes, 'make -jX' would fail right after ./configure with @@ -169,30 +169,34 @@ (define-public opam #:parallel-build? #f ;; For some reason, 'ocp-build' needs $TERM to be set. - #:make-flags '("TERM=screen") + #:make-flags `("TERM=screen" + ,(string-append "SHELL=" + (assoc-ref %build-inputs "bash") + "/bin/sh")) #:test-target "tests" ;; FIXME: There's an obscure test failure: ;; …/_obuild/opam/opam.asm install P1' failed. #:tests? #f - #:phases (alist-cons-before - 'build 'pre-build - (lambda* (#:key inputs #:allow-other-keys) - (let ((bash (assoc-ref inputs "bash"))) - (substitute* "src/core/opamSystem.ml" - (("\"/bin/sh\"") - (string-append "\"" bash "/bin/sh\""))))) - (alist-cons-before - 'check 'pre-check - (lambda _ - (setenv "HOME" (getcwd)) - (and (system "git config --global user.email guix@gnu.org") - (system "git config --global user.name Guix"))) - %standard-phases)))) + #:phases (modify-phases %standard-phases + (add-before 'build 'pre-build + (lambda* (#:key inputs make-flags #:allow-other-keys) + (let ((bash (assoc-ref inputs "bash"))) + (substitute* "src/core/opamSystem.ml" + (("\"/bin/sh\"") + (string-append "\"" bash "/bin/sh\""))) + ;; Build dependencies + (zero? (apply system* "make" "lib-ext" make-flags))))) + (add-before 'check 'pre-check + (lambda _ + (setenv "HOME" (getcwd)) + (and (system "git config --global user.email guix@gnu.org") + (system "git config --global user.name Guix"))))))) (native-inputs `(("git" ,git) ;for the tests - ("python" ,python))) ;for the tests + ("python" ,python) ;for the tests + ("camlp4" ,camlp4))) (inputs `(("ocaml" ,ocaml) ("ncurses" ,ncurses) diff --git a/gnu/packages/patches/gimp-CVE-2016-4994.patch b/gnu/packages/patches/gimp-CVE-2016-4994.patch deleted file mode 100644 index 6c81c63386..0000000000 --- a/gnu/packages/patches/gimp-CVE-2016-4994.patch +++ /dev/null @@ -1,96 +0,0 @@ -Fix CVE-2016-4994: -https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-4994 - -Copied from upstream repository: -https://git.gnome.org/browse/gimp/patch/?id=e82aaa4b4ee0703c879e35ea9321fff6be3e9b6f - -From e82aaa4b4ee0703c879e35ea9321fff6be3e9b6f Mon Sep 17 00:00:00 2001 -From: Shmuel H -Date: Mon, 20 Jun 2016 17:14:41 +0300 -Subject: Bug 767873 - (CVE-2016-4994) Multiple Use-After-Free when parsing... - -...XCF channel and layer properties - -The properties PROP_ACTIVE_LAYER, PROP_FLOATING_SELECTION, -PROP_ACTIVE_CHANNEL saves the current object pointer the @info -structure. Others like PROP_SELECTION (for channel) and -PROP_GROUP_ITEM (for layer) will delete the current object and create -a new object, leaving the pointers in @info invalid (dangling). - -Therefore, if a property from the first type will come before the -second, the result will be an UaF in the last lines of xcf_load_image -(when it actually using the pointers from @info). - -I wasn't able to exploit this bug because that -g_object_instance->c_class gets cleared by the last g_object_unref and -GIMP_IS_{LAYER,CHANNEL} detects that and return FALSE. - -(cherry picked from commit 6d804bf9ae77bc86a0a97f9b944a129844df9395) ---- - app/xcf/xcf-load.c | 29 +++++++++++++++++++++++++++++ - 1 file changed, 29 insertions(+) - -diff --git a/app/xcf/xcf-load.c b/app/xcf/xcf-load.c -index b180377..67cc6d4 100644 ---- a/app/xcf/xcf-load.c -+++ b/app/xcf/xcf-load.c -@@ -904,6 +904,18 @@ xcf_load_layer_props (XcfInfo *info, - case PROP_GROUP_ITEM: - { - GimpLayer *group; -+ gboolean is_active_layer; -+ -+ /* We're going to delete *layer, Don't leave its pointers -+ * in @info. After that, we'll restore them back with the -+ * new pointer. See bug #767873. -+ */ -+ is_active_layer = (*layer == info->active_layer); -+ if (is_active_layer) -+ info->active_layer = NULL; -+ -+ if (*layer == info->floating_sel) -+ info->floating_sel = NULL; - - group = gimp_group_layer_new (image); - -@@ -916,6 +928,13 @@ xcf_load_layer_props (XcfInfo *info, - g_object_ref_sink (*layer); - g_object_unref (*layer); - *layer = group; -+ -+ if (is_active_layer) -+ info->active_layer = *layer; -+ -+ /* Don't restore info->floating_sel because group layers -+ * can't be floating selections -+ */ - } - break; - -@@ -986,6 +1005,12 @@ xcf_load_channel_props (XcfInfo *info, - { - GimpChannel *mask; - -+ /* We're going to delete *channel, Don't leave its pointer -+ * in @info. See bug #767873. -+ */ -+ if (*channel == info->active_channel) -+ info->active_channel = NULL; -+ - mask = - gimp_selection_new (image, - gimp_item_get_width (GIMP_ITEM (*channel)), -@@ -1000,6 +1025,10 @@ xcf_load_channel_props (XcfInfo *info, - *channel = mask; - (*channel)->boundary_known = FALSE; - (*channel)->bounds_known = FALSE; -+ -+ /* Don't restore info->active_channel because the -+ * selection can't be the active channel -+ */ - } - break; - --- -cgit v0.12 - diff --git a/gnu/packages/patches/mupdf-CVE-2016-6265.patch b/gnu/packages/patches/mupdf-CVE-2016-6265.patch new file mode 100644 index 0000000000..58f5c3726c --- /dev/null +++ b/gnu/packages/patches/mupdf-CVE-2016-6265.patch @@ -0,0 +1,30 @@ +Fix CVE-2016-6265 (use after free in pdf_load_xref()). + +https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-6265 +https://security-tracker.debian.org/tracker/CVE-2016-6265 + +Patch copied from upstream source repository: + +http://git.ghostscript.com/?p=mupdf.git;h=fa1936405b6a84e5c9bb440912c23d532772f958 + +diff --git a/source/pdf/pdf-xref.c b/source/pdf/pdf-xref.c +index 576c315..3222599 100644 +--- a/source/pdf/pdf-xref.c ++++ b/source/pdf/pdf-xref.c +@@ -1184,8 +1184,14 @@ pdf_load_xref(fz_context *ctx, pdf_document *doc, pdf_lexbuf *buf) + fz_throw(ctx, FZ_ERROR_GENERIC, "object offset out of range: %d (%d 0 R)", (int)entry->ofs, i); + } + if (entry->type == 'o') +- if (entry->ofs <= 0 || entry->ofs >= xref_len || pdf_get_xref_entry(ctx, doc, entry->ofs)->type != 'n') +- fz_throw(ctx, FZ_ERROR_GENERIC, "invalid reference to an objstm that does not exist: %d (%d 0 R)", (int)entry->ofs, i); ++ { ++ /* Read this into a local variable here, because pdf_get_xref_entry ++ * may solidify the xref, hence invalidating "entry", meaning we ++ * need a stashed value for the throw. */ ++ fz_off_t ofs = entry->ofs; ++ if (ofs <= 0 || ofs >= xref_len || pdf_get_xref_entry(ctx, doc, ofs)->type != 'n') ++ fz_throw(ctx, FZ_ERROR_GENERIC, "invalid reference to an objstm that does not exist: %d (%d 0 R)", (int)ofs, i); ++ } + } + } + diff --git a/gnu/packages/patches/mupdf-CVE-2016-6525.patch b/gnu/packages/patches/mupdf-CVE-2016-6525.patch new file mode 100644 index 0000000000..370af5ade6 --- /dev/null +++ b/gnu/packages/patches/mupdf-CVE-2016-6525.patch @@ -0,0 +1,21 @@ +Fix CVE-2016-6525 (heap overflow in pdf_load_mesh_params()). + +https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-6525 +https://security-tracker.debian.org/tracker/CVE-2016-6525 + +Patch copied from upstream source repository: +http://git.ghostscript.com/?p=mupdf.git;h=39b0f07dd960f34e7e6bf230ffc3d87c41ef0f2e + +diff --git a/source/pdf/pdf-shade.c b/source/pdf/pdf-shade.c +index 7815b3c..6e25efa 100644 +--- a/source/pdf/pdf-shade.c ++++ b/source/pdf/pdf-shade.c +@@ -206,7 +206,7 @@ pdf_load_mesh_params(fz_context *ctx, pdf_document *doc, fz_shade *shade, pdf_ob + obj = pdf_dict_get(ctx, dict, PDF_NAME_Decode); + if (pdf_array_len(ctx, obj) >= 6) + { +- n = (pdf_array_len(ctx, obj) - 4) / 2; ++ n = fz_mini(FZ_MAX_COLORS, (pdf_array_len(ctx, obj) - 4) / 2); + shade->u.m.x0 = pdf_to_real(ctx, pdf_array_get(ctx, obj, 0)); + shade->u.m.x1 = pdf_to_real(ctx, pdf_array_get(ctx, obj, 1)); + shade->u.m.y0 = pdf_to_real(ctx, pdf_array_get(ctx, obj, 2)); diff --git a/gnu/packages/patches/xf86-video-openchrome-glibc-2.20.patch b/gnu/packages/patches/xf86-video-openchrome-glibc-2.20.patch deleted file mode 100644 index 4ed7ab00bf..0000000000 --- a/gnu/packages/patches/xf86-video-openchrome-glibc-2.20.patch +++ /dev/null @@ -1,15 +0,0 @@ -Allow builds with glibc 2.20. -Based on a patch by Peter Hutterer . -See . - ---- xf86-video-openchrome-0.3.3/src/via_3d.h.~1~ 2013-05-23 11:11:28.000000000 -0400 -+++ xf86-video-openchrome-0.3.3/src/via_3d.h 2014-12-19 01:17:04.000953259 -0500 -@@ -24,6 +24,8 @@ - #ifndef VIA_3D_H - #define VIA_3D_H - -+#include -+ - #include "xf86.h" - #include "via_dmabuffer.h" - diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm index 3b26e26b78..7313ee3974 100644 --- a/gnu/packages/pdf.scm +++ b/gnu/packages/pdf.scm @@ -27,6 +27,7 @@ (define-module (gnu packages pdf) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix download) + #:use-module (guix utils) #:use-module (guix build-system gnu) #:use-module (guix build-system cmake) #:use-module (guix build-system python) @@ -120,8 +121,12 @@ (define-public poppler-qt4 (define-public poppler-qt5 (package (inherit poppler) (name "poppler-qt5") - (inputs `(("qt" ,qt) + (inputs `(("qtbase" ,qtbase) ,@(package-inputs poppler))) + (arguments + (substitute-keyword-arguments (package-arguments poppler) + ((#:configure-flags flags) + `(cons "CXXFLAGS=-std=gnu++11" ,flags)))) (synopsis "Qt5 frontend for the Poppler PDF rendering library"))) (define-public python-poppler-qt4 @@ -469,6 +474,8 @@ (define-public mupdf name "-" version "-source.tar.gz")) (sha256 (base32 "01n26cy41lc2fjri63s4js23ixxb4nd37aafry3hz4i4id6wd8x2")) + (patches (search-patches "mupdf-CVE-2016-6265.patch" + "mupdf-CVE-2016-6525.patch")) (modules '((guix build utils))) (snippet ;; Don't build the bundled-in third party libraries. diff --git a/gnu/packages/polkit.scm b/gnu/packages/polkit.scm index 08b753a6cf..e224ca22f3 100644 --- a/gnu/packages/polkit.scm +++ b/gnu/packages/polkit.scm @@ -142,7 +142,7 @@ (define-public polkit-qt (inputs `(("polkit" ,polkit))) (propagated-inputs - `(("qt" ,qt))) ; qt-4 according to the pkg-config files + `(("qtbase" ,qtbase))) (native-inputs `(("pkg-config" ,pkg-config))) (arguments diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 67494234c9..de8f054c5e 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -25,6 +25,7 @@ ;;; Copyright © 2016 Troy Sankey ;;; Copyright © 2016 ng0 ;;; Copyright © 2016 Dylan Jeffers +;;; Copyright © 2016 David Craven ;;; ;;; This file is part of GNU Guix. ;;; @@ -42,12 +43,7 @@ ;;; along with GNU Guix. If not, see . (define-module (gnu packages python) - #:use-module ((guix licenses) - #:select (asl2.0 bsd-4 bsd-3 bsd-2 non-copyleft cc0 x11 x11-style - gpl2 gpl2+ gpl3 gpl3+ lgpl2.0+ lgpl2.1 lgpl2.1+ lgpl3+ agpl3+ - isc mpl2.0 psfl public-domain repoze unlicense x11-style - zpl2.1 lgpl3)) - #:use-module ((guix licenses) #:select (expat zlib) #:prefix license:) + #:use-module ((guix licenses) #:prefix license:) #:use-module (gnu packages) #:use-module (gnu packages algebra) #:use-module (gnu packages adns) @@ -292,7 +288,7 @@ (define-public python-2.7 expression of procedural code; full modularity, supporting hierarchical packages; exception-based error handling; and very high level dynamic data types.") - (license psfl))) + (license license:psfl))) ;; Current 2.x version. (define-public python-2 python-2.7) @@ -412,7 +408,7 @@ (define-public python-psutil many functionalities offered by command line tools such as: ps, top, lsof, netstat, ifconfig, who, df, kill, free, nice, ionice, iostat, iotop, uptime, pidof, tty, taskset, pmap.") - (license bsd-3))) + (license license:bsd-3))) (define-public python2-psutil (package-with-python2 python-psutil)) @@ -450,7 +446,7 @@ (define-public python-passlib as a framework for managing existing password hashes. It's designed to be useful for a wide range of tasks, from verifying a hash found in /etc/shadow, to providing full-strength password hashing for multi-user application.") - (license bsd-3))) + (license license:bsd-3))) (define-public python2-passlib (package-with-python2 python-passlib)) @@ -487,7 +483,7 @@ (define-public python-py-bcrypt ;; "sha2.c" is under BSD-3; ;; "blowfish.c" and "bcrypt.c" are under BSD-4; ;; the rest is under ISC. - (license (list isc bsd-3 bsd-4)))) + (license (list license:isc license:bsd-3 license:bsd-4)))) (define-public python2-py-bcrypt (package-with-python2 python-py-bcrypt)) @@ -517,7 +513,7 @@ (define-public python-paramiko providing both client and server functionality. While it leverages a Python C extension for low level cryptography (PyCrypto), Paramiko itself is a pure Python interface around SSH networking concepts.") - (license lgpl2.1+))) + (license license:lgpl2.1+))) (define-public python2-paramiko (package-with-python2 python-paramiko)) @@ -602,7 +598,7 @@ (define-public python-ccm (synopsis "Cassandra Cluster Manager") (description "A script/library to create, launch and remove an Apache Cassandra cluster on localhost.") - (license asl2.0))) + (license license:asl2.0))) (define-public python2-ccm (package-with-python2 python-ccm)) @@ -656,7 +652,7 @@ (define-public python-babel - a Python interface to the CLDR (Common Locale Data Repository), providing access to various locale display names, localized number and date formatting, etc. ") - (license bsd-3))) + (license license:bsd-3))) (define-public python2-babel (package-with-python2 python-babel)) @@ -688,7 +684,7 @@ (define-public python2-backport-ssl-match-hostname earlier versions of Python. The function checks the hostname in the certificate returned by the server to which a connection has been established, and verifies that it matches the intended target hostname.") - (license psfl))) + (license license:psfl))) (define-public python-h5py (package @@ -734,7 +730,7 @@ (define-public python-h5py complete wrapping of the HDF5 API, while the high-level component supports access to HDF5 files, datasets and groups using established Python and NumPy concepts.") - (license bsd-3) + (license license:bsd-3) (properties `((python2-variant . ,(delay python2-h5py)))))) (define-public python2-h5py @@ -826,7 +822,7 @@ (define-public python-setuptools project installation, platform-specific details, Python 3 support.") - (license psfl))) + (license license:psfl))) (define-public python2-setuptools (package-with-python2 python-setuptools)) @@ -864,7 +860,7 @@ (define-public python-pycrypto "Pycrypto is a collection of both secure hash functions (such as SHA256 and RIPEMD160), and various encryption algorithms (AES, DES, RSA, ElGamal, etc.). The package is structured to make adding new modules easy.") - (license public-domain))) + (license license:public-domain))) (define-public python2-pycrypto (let ((pycrypto (package-with-python2 python-pycrypto))) @@ -900,7 +896,7 @@ (define-public python-keyring service from python. It can be used in any application that needs safe password storage.") ;; "MIT" and PSF dual license - (license x11) + (license license:x11) (properties `((python2-variant . ,(delay python2-keyring)))))) (define-public python2-keyring @@ -932,7 +928,7 @@ (define-public python-six the goal of writing Python code that is compatible on both Python versions. Six supports every Python version since 2.5. It is contained in only one Python file, so it can be easily copied into your project.") - (license x11))) + (license license:x11))) (define-public python2-six (package-with-python2 python-six)) @@ -956,7 +952,7 @@ (define-public python-dateutil-2 (description "The dateutil module provides powerful extensions to the standard datetime module, available in Python 2.3+.") - (license bsd-3) + (license license:bsd-3) (properties `((python2-variant . ,(delay python2-dateutil-2)))))) (define-public python2-dateutil-2 @@ -986,7 +982,7 @@ (define-public python-dateutil (description "The dateutil module provides powerful extensions to the standard datetime module, available in Python 2.3+.") - (license psfl))) + (license license:psfl))) (define-public python2-dateutil (package-with-python2 python-dateutil)) @@ -1011,7 +1007,7 @@ (define-public python-parsedatetime "Parse human-readable date/time text") (description "Parse human-readable date/time text.") - (license asl2.0) + (license license:asl2.0) (properties `((python2-variant . ,(delay python2-parsedatetime)))))) (define-public python2-parsedatetime @@ -1050,7 +1046,7 @@ (define-public python-pandas multidimensional, potentially heterogeneous) and time series data both easy and intuitive. It aims to be the fundamental high-level building block for doing practical, real world data analysis in Python.") - (license bsd-3) + (license license:bsd-3) (properties `((python2-variant . ,(delay python2-pandas)))))) (define-public python2-pandas @@ -1081,7 +1077,7 @@ (define-public python-tzlocal This module attempts to fix a glaring hole in pytz, that there is no way to get the local timezone information, unless you know the zoneinfo name, and under several distributions that's hard or impossible to figure out.") - (license cc0))) + (license license:cc0))) (define-public python2-pysqlite (package @@ -1139,8 +1135,9 @@ (define-public python2-mechanize (description "Mechanize implements stateful programmatic web browsing in Python, after Andy Lester’s Perl module WWW::Mechanize.") - (license (non-copyleft "file://COPYING" - "See COPYING in the distribution.")))) + (license (license:non-copyleft + "file://COPYING" + "See COPYING in the distribution.")))) (define-public python-simplejson @@ -1169,7 +1166,7 @@ (define-public python-simplejson and (currently) has significant performance advantages, even without using the optional C extension for speedups. Simplejson is also supported on Python 3.3+.") - (license x11))) + (license license:x11))) (define-public python2-simplejson (package-with-python2 python-simplejson)) @@ -1194,7 +1191,7 @@ (define-public python-pyicu (synopsis "Python extension wrapping the ICU C++ API") (description "PyICU is a python extension wrapping the ICU C++ API.") - (license x11) + (license license:x11) (properties `((python2-variant . ,(delay python2-pyicu)))))) (define-public python2-pyicu @@ -1227,7 +1224,7 @@ (define-public python2-dogtail It uses Accessibility (a11y) technologies to communicate with desktop applications. dogtail scripts are written in Python and executed like any other Python program.") - (license gpl2+))) + (license license:gpl2+))) (define-public python2-empy (package @@ -1262,7 +1259,7 @@ (define-public python2-empy recording and playback via diversions, and dynamic, chainable filters. The system is highly configurable via command line options and embedded commands.") - (license lgpl2.1+))) + (license license:lgpl2.1+))) (define-public python2-element-tree (package @@ -1284,9 +1281,9 @@ (define-public python2-element-tree (description "ElementTree is a Python library supporting lightweight XML processing.") (home-page "http://effbot.org/zone/element-index.htm") - (license (x11-style "http://docs.python.org/2/license.html" - "Like \"CWI LICENSE AGREEMENT FOR PYTHON \ -0.9.0 THROUGH 1.2\".")))) + (license (license:x11-style + "http://docs.python.org/2/license.html" + "Like \"CWI LICENSE AGREEMENT FOR PYTHON 0.9.0 THROUGH 1.2\".")))) (define-public python2-pybugz (package @@ -1313,7 +1310,7 @@ (define-public python2-pybugz bug tracking system. It is meant as an aid to speed up interaction with the bug tracker.") (home-page "http://www.liquidx.net/pybugz/") - (license gpl2))) + (license license:gpl2))) (define-public python-enum34 (package @@ -1338,7 +1335,7 @@ (define-public python-enum34 (description "Enum34 is the new Python stdlib enum module available in Python 3.4 backported for previous versions of Python from 2.4 to 3.3.") - (license bsd-3))) + (license license:bsd-3))) (define-public python2-enum34 (package-with-python2 python-enum34)) @@ -1365,7 +1362,7 @@ (define-public python-parse-type (synopsis "Extended parse module") (description "Parse_type extends the python parse module.") - (license bsd-3))) + (license license:bsd-3))) (define-public python-parse (package @@ -1390,7 +1387,7 @@ (define-public python-parse (description "Parse strings using a specification based on the Python format() syntax.") - (license x11))) + (license license:x11))) (define-public scons @@ -1417,7 +1414,7 @@ (define-public scons functionality similar to autoconf/automake and compiler caches such as ccache. In short, SCons is an easier, more reliable and faster way to build software.") - (license x11))) + (license license:x11))) (define-public python-extras (package @@ -1496,7 +1493,7 @@ (define-public python-nose (synopsis "Python testing library") (description "Nose extends the unittest library to make testing easier.") - (license lgpl2.0+))) + (license license:lgpl2.0+))) (define-public python2-nose (package-with-python2 python-nose)) @@ -1522,7 +1519,7 @@ (define-public python-unittest2 (description "Unittest2 is a replacement for the unittest module in the Python standard library.") - (license psfl))) + (license license:psfl))) (define-public python2-unittest2 (package (inherit python-unittest2) @@ -1774,7 +1771,7 @@ (define-public python-testtools "Testtools extends the Python standard library unit testing framework to provide matchers, more debugging information, and cross-Python compatibility.") - (license psfl))) + (license license:psfl))) (define-public python2-testtools (package-with-python2 python-testtools)) @@ -1802,7 +1799,7 @@ (define-public python-testscenarios (description "Testscenarios provides clean dependency injection for Python unittest style tests.") - (license (list bsd-3 asl2.0)))) ; at the user's option + (license (list license:bsd-3 license:asl2.0)))) ; at the user's option (define-public python2-testscenarios (package-with-python2 python-testscenarios)) @@ -1829,7 +1826,7 @@ (define-public python-testresources (description "Testresources is an extension to Python's unittest to allow declarative use of resources by test cases.") - (license (list bsd-3 asl2.0)))) ; at the user's option + (license (list license:bsd-3 license:asl2.0)))) ; at the user's option (define-public python2-testresources (package-with-python2 python-testresources)) @@ -1858,7 +1855,7 @@ (define-public python-subunit (description "Python-subunit is a Python implementation of the subunit test streaming protocol.") - (license (list bsd-3 asl2.0)))) ; at the user's option + (license (list license:bsd-3 license:asl2.0)))) ; at the user's option (define-public python2-subunit (package-with-python2 python-subunit)) @@ -1893,7 +1890,7 @@ (define-public python-fixtures-0.3.16 (description "Fixtures provides a way to create reusable state, useful when writing Python tests.") - (license (list bsd-3 asl2.0)))) ; at user's option + (license (list license:bsd-3 license:asl2.0)))) ; at user's option (define-public python2-fixtures-0.3.16 (package-with-python2 python-fixtures-0.3.16)) @@ -1923,7 +1920,7 @@ (define-public python-pbr-0.11 (description "Python Build Reasonableness (PBR) is a library that injects some useful and sensible default behaviors into your setuptools run.") - (license asl2.0))) + (license license:asl2.0))) (define-public python2-pbr-0.11 (package-with-python2 python-pbr-0.11)) @@ -1965,7 +1962,7 @@ (define-public python-pbr (description "Python Build Reasonableness (PBR) is a library that injects some useful and sensible default behaviors into your setuptools run.") - (license asl2.0))) + (license license:asl2.0))) (define-public python2-pbr (package-with-python2 python-pbr)) @@ -1997,7 +1994,7 @@ (define-public python-fixtures (description "Fixtures provides a way to create reusable state, useful when writing Python tests.") - (license (list bsd-3 asl2.0)))) ; at user's option + (license (list license:bsd-3 license:asl2.0)))) ; at user's option (define-public python2-fixtures (package-with-python2 python-fixtures)) @@ -2028,7 +2025,7 @@ (define-public python-testrepository (description "Testrepository provides a database of test results which can be used as part of a developer's workflow to check things such as what tests have failed since the last commit or what tests are currently failing.") - (license (list bsd-3 asl2.0)))) ; at user's option + (license (list license:bsd-3 license:asl2.0)))) ; at user's option (define-public python2-testrepository (package-with-python2 python-testrepository)) @@ -2054,7 +2051,7 @@ (define-public python-coverage uses the code analysis tools and tracing hooks provided in the Python standard library to determine which lines are executable, and which have been executed.") - (license bsd-3))) + (license license:bsd-3))) (define-public python2-coverage (package-with-python2 python-coverage)) @@ -2081,7 +2078,7 @@ (define-public python-discover (description "Discover provides test discovery for unittest, a feature that has been backported from Python 2.7 for Python 2.4+.") - (license bsd-3))) + (license license:bsd-3))) (define-public python2-discover (package-with-python2 python-discover)) @@ -2112,7 +2109,7 @@ (define-public behave technique that encourages collaboration between developers, QA and non-technical or business participants in a software project. Behave uses tests written in a natural language style, backed up by Python code.") - (license x11))) + (license license:x11))) (define-public python-exif-read (package @@ -2133,7 +2130,7 @@ (define-public python-exif-read (description "ExifRead is a Python library to extract EXIF data from tiff and jpeg files.") - (license bsd-3))) + (license license:bsd-3))) (define-public python2-exif-read (package-with-python2 python-exif-read)) @@ -2156,7 +2153,7 @@ (define-public python-pyld (synopsis "Python implementation of the JSON-LD specification") (description "PyLD is an implementation of the JSON-LD specification.") - (license bsd-3))) + (license license:bsd-3))) (define-public python2-pyld (package-with-python2 python-pyld)) @@ -2180,7 +2177,7 @@ (define-public python-certifi (description "Certifi is a Python library that contains a CA certificate bundle, which is used by the Requests library to verify HTTPS requests.") - (license asl2.0))) + (license license:asl2.0))) (define-public python2-certifi (package-with-python2 python-certifi)) @@ -2209,7 +2206,7 @@ (define-public python-click composable way with as little code as necessary. Its name stands for \"Command Line Interface Creation Kit\". It's highly configurable but comes with sensible defaults out of the box.") - (license bsd-3))) + (license license:bsd-3))) (define-public python2-click (package-with-python2 python-click)) @@ -2273,7 +2270,7 @@ (define-public python-requests (description "Requests is a Python HTTP client library. It aims to be easier to use than Python’s urllib2 library.") - (license asl2.0))) + (license license:asl2.0))) ;; Some software requires an older version of Requests, notably Docker ;; Compose. @@ -2309,7 +2306,7 @@ (define-public python-vcversioner information in a variety of version control systems in order to discover version numbers.") (home-page "https://github.com/habnabit/vcversioner") - (license isc))) + (license license:isc))) (define-public python2-vcversioner (package-with-python2 python-vcversioner)) @@ -2367,7 +2364,7 @@ (define-public python-unidecode ease of entry of non-Roman names on a US keyboard, or when constructing ASCII machine identifiers from human-readable Unicode strings that should still be somewhat intelligeble.") - (license gpl2+))) + (license license:gpl2+))) (define-public python2-unidecode (package-with-python2 python-unidecode)) @@ -2422,7 +2419,7 @@ (define-public python-oauthlib (description "Oauthlib is a generic, spec-compliant, thorough implementation of the OAuth request-signing logic.") - (license bsd-3) + (license license:bsd-3) (properties `((python2-variant . ,(delay python2-oauthlib)))))) (define-public python2-oauthlib @@ -2452,7 +2449,7 @@ (define-public python-itsdangerous (description "Itsdangerous provides various helpers to pass trusted data to untrusted environments and back.") - (license bsd-3) + (license license:bsd-3) (properties `((python2-variant . ,(delay python2-itsdangerous)))))) (define-public python2-itsdangerous @@ -2545,7 +2542,7 @@ (define-public python-markupsafe (description "Markupsafe provides an XML/HTML/XHTML markup safe string implementation for Python.") - (license bsd-3))) + (license license:bsd-3))) (define-public python2-markupsafe (package-with-python2 python-markupsafe)) @@ -2570,7 +2567,7 @@ (define-public python-jinja2 (description "Jinja2 is a small but fast and easy to use stand-alone template engine written in pure Python.") - (license bsd-3))) + (license license:bsd-3))) (define-public python2-jinja2 (package-with-python2 python-jinja2)) @@ -2620,7 +2617,7 @@ (define-public python-joblib In particular, joblib offers: transparent disk-caching of the output values and lazy re-evaluation (memoize pattern), easy simple parallel computing logging and tracing of the execution.") - (license bsd-3))) + (license license:bsd-3))) (define-public python2-joblib (package-with-python2 python-joblib)) @@ -2651,7 +2648,7 @@ (define-public python-docutils reStructuredText.") ;; Most of the source code is public domain, but some source files are ;; licensed under the PFSL, BSD 2-clause, and GPLv3+ licenses. - (license (list public-domain psfl bsd-2 gpl3+)))) + (license (list license:public-domain license:psfl license:bsd-2 license:gpl3+)))) (define-public python2-docutils (package-with-python2 python-docutils)) @@ -2674,7 +2671,7 @@ (define-public python-pygments (synopsis "Syntax highlighting") (description "Pygments is a syntax highlighting package written in Python.") - (license bsd-2))) + (license license:bsd-2))) (define-public python2-pygments (package-with-python2 python-pygments)) @@ -2703,7 +2700,7 @@ (define-public python-sphinx (description "Sphinx is a tool that makes it easy to create documentation for Python projects or other documents consisting of multiple reStructuredText sources.") - (license bsd-3))) + (license license:bsd-3))) (define-public python2-sphinx (package-with-python2 python-sphinx)) @@ -2763,7 +2760,7 @@ (define-public python-feedgenerator (description "Feedgenerator-py3k is a standalone version of Django's feedgenerator, which can produce feeds in RSS 2.0, RSS 0.91, and Atom formats.") - (license bsd-3))) + (license license:bsd-3))) (define-public python2-feedgenerator (package-with-python2 python-feedgenerator)) @@ -2838,7 +2835,7 @@ (define-public pelican "Pelican is a tool to generate a static blog from reStructuredText, Markdown input files, and more. Pelican uses Jinja2 for templating and is very extensible.") - (license agpl3+))) + (license license:agpl3+))) (define-public python-scikit-learn (package @@ -2882,7 +2879,7 @@ (define-public python-scikit-learn (description "Scikit-learn provides simple and efficient tools for data mining and data analysis.") - (license bsd-3))) + (license license:bsd-3))) (define-public python2-scikit-learn (let ((scikit (package-with-python2 python-scikit-learn))) @@ -2922,7 +2919,7 @@ (define-public python-scikit-image (synopsis "Image processing in Python") (description "Scikit-image is a collection of algorithms for image processing.") - (license bsd-3))) + (license license:bsd-3))) (define-public python2-scikit-image (let ((scikit-image (package-with-python2 python-scikit-image))) @@ -2989,7 +2986,7 @@ (define-public python-rq "RQ (Redis Queue) is a simple Python library for queueing jobs and processing them in the background with workers. It is backed by Redis and it is designed to have a low barrier to entry.") - (license bsd-2))) + (license license:bsd-2))) (define-public python2-rq (package-with-python2 python-rq)) @@ -3023,7 +3020,7 @@ (define-public python-cython (description "Cython is an optimising static compiler for both the Python programming language and the extended Cython programming language. It makes writing C extensions for Python as easy as Python itself.") - (license asl2.0) + (license license:asl2.0) (properties `((python2-variant . ,(delay python2-cython)))))) (define-public python2-cython @@ -3099,7 +3096,7 @@ (define python-numpy-bootstrap object, sophisticated (broadcasting) functions, tools for integrating C/C++ and Fortran code, useful linear algebra, Fourier transform, and random number capabilities.") - (license bsd-3))) + (license license:bsd-3))) (define python2-numpy-bootstrap (package-with-python2 python-numpy-bootstrap)) @@ -3136,7 +3133,7 @@ (define-public python2-fastlmm "FaST-LMM, which stands for Factored Spectrally Transformed Linear Mixed Models, is a program for performing both single-SNP and SNP-set genome-wide association studies (GWAS) on extremely large data sets.") - (license asl2.0))) + (license license:asl2.0))) (define-public python-numpy (package (inherit python-numpy-bootstrap) @@ -3279,7 +3276,7 @@ (define-public python-numpydoc "Numpy's Sphinx extensions") (description "Sphinx extension to support docstrings in Numpy format.") - (license bsd-2))) + (license license:bsd-2))) (define-public python2-numpydoc (package-with-python2 python-numpydoc)) @@ -3444,7 +3441,7 @@ (define-public python-matplotlib across platforms. Matplotlib can be used in Python scripts, the python and ipython shell, web application servers, and six graphical user interface toolkits.") - (license psfl) + (license license:psfl) (properties `((python2-variant . ,(delay python2-matplotlib)))))) (define-public python2-matplotlib @@ -3493,7 +3490,7 @@ (define-public python2-pysnptools can, for example, efficiently read whole PLINK *.bed/bim/fam files or parts of those files. It can also efficiently manipulate ranges of integers using set operators such as union, intersection, and difference.") - (license asl2.0))) + (license license:asl2.0))) (define-public python-rpy2 (package @@ -3522,7 +3519,7 @@ (define-public python-rpy2 low-level interface to R from Python, a proposed high-level interface, including wrappers to graphical libraries, as well as R-like structures and functions.") - (license gpl3+))) + (license license:gpl3+))) (define-public python2-rpy2 (let ((rpy2 (package-with-python2 python-rpy2))) @@ -3625,7 +3622,7 @@ (define-public python-scipy (description "The SciPy library is one of the core packages that make up the SciPy stack. It provides many user-friendly and efficient numerical routines such as routines for numerical integration and optimization.") - (license bsd-3))) + (license license:bsd-3))) (define-public python2-scipy (package-with-python2 python-scipy)) @@ -3660,7 +3657,7 @@ (define-public python-sqlalchemy provides a full suite of well known enterprise-level persistence patterns, designed for efficient and high-performing database access, adapted into a simple and Pythonic domain language.") - (license x11))) + (license license:x11))) (define-public python2-sqlalchemy (package-with-python2 python-sqlalchemy)) @@ -3723,7 +3720,7 @@ (define-public python-distutils-extra "The python-distutils-extra module enables you to easily integrate gettext support, themed icons, and scrollkeeper-based documentation into Python's distutils.") - (license gpl2))) + (license license:gpl2))) (define-public python2-distutils-extra (package-with-python2 python-distutils-extra)) @@ -3760,7 +3757,7 @@ (define-public python2-elib.intl (description "The elib.intl module provides enhanced internationalization (I18N) services for your Python modules and applications.") - (license lgpl3+))) + (license license:lgpl3+))) (define-public python-pillow (package @@ -3819,7 +3816,7 @@ (define-public python-pillow capabilities. The core image library is designed for fast access to data stored in a few basic pixel formats. It should provide a solid foundation for a general image processing tool.") - (license (x11-style + (license (license:x11-style "http://www.pythonware.com/products/pil/license.htm" "The PIL Software License")))) @@ -3868,7 +3865,7 @@ (define-public python-pycparser "Pycparser is a complete parser of the C language, written in pure Python using the PLY parsing library. It parses C code into an AST and can serve as a front-end for C compilers or analysis tools.") - (license bsd-3))) + (license license:bsd-3))) (define-public python2-pycparser (package-with-python2 python-pycparser)) @@ -4011,7 +4008,7 @@ (define-public python-cairocffi Python bindings and object-oriented API for cairo. Cairo is a 2D vector graphics library with support for multiple backends including image buffers, PNG, PostScript, PDF, and SVG file output.") - (license bsd-3))) + (license license:bsd-3))) (define-public python2-cairocffi (package-with-python2 python-cairocffi)) @@ -4068,7 +4065,7 @@ (define-public python-drmaa "A Python package for Distributed Resource Management (DRM) job submission and control. This package is an implementation of the DRMAA 1.0 Python language binding specification.") - (license bsd-3))) + (license license:bsd-3))) (define-public python2-drmaa (package-with-python2 python-drmaa)) @@ -4099,7 +4096,7 @@ (define-public python-gridmap "Gridmap is a Python package to allow you to easily create jobs on the cluster directly from Python. You can directly map Python functions onto the cluster without needing to write any wrapper code yourself.") - (license gpl3+))) + (license license:gpl3+))) (define-public python2-gridmap (package-with-python2 python-gridmap)) @@ -4129,7 +4126,7 @@ (define-public python-pexpect controlling them; and responding to expected patterns in their output. Pexpect works like Don Libes’ Expect. Pexpect allows your script to spawn a child application and control it as if a human were typing commands.") - (license isc))) + (license license:isc))) (define-public python2-pexpect (package-with-python2 python-pexpect)) @@ -4241,7 +4238,7 @@ (define-public python-simplegeneric these generic functions use simple lookup tables, akin to those used by e.g. @code{pickle.dump()} and other generic functions found in the Python standard library.") - (license zpl2.1))) + (license license:zpl2.1))) (define-public python2-simplegeneric (package-with-python2 python-simplegeneric)) @@ -4264,7 +4261,7 @@ (define-public python-ipython-genutils (synopsis "Vestigial utilities from IPython") (description "This package provides retired utilities from IPython.") - (license bsd-3))) + (license license:bsd-3))) (define-public python2-ipython-genutils (package-with-python2 python-ipython-genutils)) @@ -4300,7 +4297,7 @@ (define-public python-traitlets configuration, loading values from files or from command line arguments. This is a distinct layer on top of traitlets, so you can use traitlets in your code without using the configuration machinery.") - (license bsd-3))) + (license license:bsd-3))) (define-public python2-traitlets (package-with-python2 python-traitlets)) @@ -4398,7 +4395,7 @@ (define-public python-ipython Powerful interactive shells, a browser-based notebook, support for interactive data visualization, embeddable interpreters and tools for parallel computing.") - (license bsd-3))) + (license license:bsd-3))) (define-public python2-ipython (let ((ipython (package-with-python2 python-ipython))) @@ -4443,7 +4440,7 @@ (define-public python-isodate (description "Python-isodate is a python module for parsing and formatting ISO 8601 dates, time and duration.") - (license bsd-3))) + (license license:bsd-3))) (define-public python2-isodate (package-with-python2 python-isodate)) @@ -4481,21 +4478,21 @@ (define-public python2-html5lib (define-public python-urwid (package (name "python-urwid") - (version "1.3.0") + (version "1.3.1") (source (origin (method url-fetch) (uri (pypi-uri "urwid" version)) (sha256 (base32 - "18mb0yy94sjc434rd61m2sfnw27sa0nyrszpj5a9r9zh7fnlzw19")))) + "18cnd1wdjcas08x5qwa5ayw6jsfcn33w4d9f7q3s29fy6qzc1kng")))) (build-system python-build-system) (arguments `(#:phases (modify-phases %standard-phases ;; Disable failing test. Bug filed upstream: ;; https://github.com/wardi/urwid/issues/164 - ;; TODO: check again for python-urwid > 1.3.0 or python > 3.4.3. + ;; TODO: check again for python-urwid > 1.3.1 or python > 3.4.3. (add-after 'unpack 'disable-failing-test (lambda _ (substitute* "urwid/tests/test_event_loops.py" @@ -4507,7 +4504,7 @@ (define-public python-urwid (description "Urwid is a curses-based UI/widget library for Python. It includes many features useful for text console applications.") - (license lgpl2.1+))) + (license license:lgpl2.1+))) (define-public python2-urwid (package-with-python2 python-urwid)) @@ -4515,14 +4512,18 @@ (define-public python2-urwid (define-public python-urwidtrees (package (name "python-urwidtrees") - (version "1.0.1.1") + (version "1.0.2") (source (origin (method url-fetch) - (uri (pypi-uri "urwidtrees" version)) + ;; package author intends on distributing via github rather than pypi: + ;; https://github.com/pazz/alot/issues/877#issuecomment-230173331 + (uri (string-append "https://github.com/pazz/urwidtrees/archive/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1zcvy12s7h3fazf33d6y7b4v19p8hg95xqwhqlmw6jz9fq76v9h8")))) + "0d30lyd3s2a97rhqfax5w9ssqds2z6aydqx3c6j2c2lk3cb4ngvh")))) (build-system python-build-system) (arguments '(#:tests? #f)) ; no tests @@ -4531,7 +4532,7 @@ (define-public python-urwidtrees (synopsis "Tree widgets for urwid") (description "Urwidtrees is a Widget Container API for the @code{urwid} toolkit. Use it to build trees of widgets.") - (license gpl3+))) + (license license:gpl3+))) (define-public python2-urwidtrees (package-with-python2 python-urwidtrees)) @@ -4639,7 +4640,7 @@ (define-public python-lxml (description "The lxml XML toolkit is a Pythonic binding for the C libraries libxml2 and libxslt.") - (license bsd-3))) ; and a few more, see LICENSES.txt + (license license:bsd-3))) ; and a few more, see LICENSES.txt (define-public python2-lxml (package-with-python2 python-lxml)) @@ -4705,7 +4706,7 @@ (define-public python2-cssutils "Cssutils is a Python package for parsing and building CSS Cascading Style Sheets. Currently it provides a DOM only and no rendering options.") - (license lgpl3+))) + (license license:lgpl3+))) (define-public python-cssselect (package @@ -4733,7 +4734,7 @@ (define-public python-cssselect "Cssselect ia a Python module that parses CSS3 Selectors and translates them to XPath 1.0 expressions. Such expressions can be used in lxml or another XPath engine to find the matching elements in an XML or HTML document.") - (license bsd-3))) + (license license:bsd-3))) (define-public python2-cssselect (package-with-python2 python-cssselect)) @@ -4789,7 +4790,7 @@ (define-public python-networkx (description "NetworkX is a Python package for the creation, manipulation, and study of the structure, dynamics, and functions of complex networks.") - (license bsd-3))) + (license license:bsd-3))) (define-public python2-networkx (package-with-python2 python-networkx)) @@ -4838,7 +4839,7 @@ (define-public python-seaborn graphics in Python. It is built on top of matplotlib and tightly integrated with the PyData stack, including support for numpy and pandas data structures and statistical routines from scipy and statsmodels.") - (license bsd-3) + (license license:bsd-3) (properties `((python2-variant . ,(delay python2-seaborn)))))) (define-public python2-seaborn @@ -4871,7 +4872,7 @@ (define-public python-sympy "SymPy is a Python library for symbolic mathematics. It aims to become a full-featured computer algebra system (CAS) while keeping the code as simple as possible in order to be comprehensible and easily extensible.") - (license bsd-3))) + (license license:bsd-3))) (define-public python2-sympy (package-with-python2 python-sympy)) @@ -4936,7 +4937,7 @@ (define-public python2-xlib "The Python X Library is intended to be a fully functional X client library for Python programs. It is useful to implement low-level X clients. It is written entirely in Python.") - (license gpl2+))) + (license license:gpl2+))) (define-public python-singledispatch (package @@ -4988,7 +4989,7 @@ (define-public python-tornado Tornado can scale to tens of thousands of open connections, making it ideal for long polling, WebSockets, and other applications that require a long-lived connection to each user.") - (license asl2.0) + (license license:asl2.0) (properties `((python2-variant . ,(delay python2-tornado)))))) (define-public python2-tornado @@ -5023,7 +5024,7 @@ (define-public python-backports-abc (description "Python-backports-abc provides a backport of additions to the 'collections.abc' module in Python-3.5.") - (license psfl))) + (license license:psfl))) (define-public python2-backports-abc (package-with-python2 python-backports-abc)) @@ -5059,7 +5060,7 @@ (define-public python-waf (description "Waf is a Python-based framework for configuring, compiling and installing applications.") - (license bsd-3))) + (license license:bsd-3))) (define-public python2-waf (package-with-python2 python-waf)) @@ -5091,7 +5092,7 @@ (define-public python-pyzmq (synopsis "Python bindings for 0MQ") (description "PyZMQ is the official Python binding for the ZeroMQ messaging library.") - (license bsd-4))) + (license license:bsd-4))) (define-public python2-pyzmq (package-with-python2 python-pyzmq)) @@ -5298,7 +5299,7 @@ (define-public python-mistune (synopsis "Markdown parser in pure Python") (description "This package provides a fast markdown parser in pure Python.") - (license bsd-3))) + (license license:bsd-3))) (define-public python2-mistune (package-with-python2 python-mistune)) @@ -5331,7 +5332,7 @@ (define-public python-markdown Markdown. The library features international input, various Markdown extensions, and several HTML output formats. A command line wrapper markdown_py is also provided to convert Markdown files to HTML.") - (license bsd-3))) + (license license:bsd-3))) (define-public python2-markdown (package-with-python2 python-markdown)) @@ -5364,7 +5365,7 @@ (define-public python-ptyprocess (description "This package provides a Python library used to launch a subprocess in a pseudo terminal (pty), and interact with both the process and its pty.") - (license isc))) + (license license:isc))) (define-public python2-ptyprocess (package-with-python2 python-ptyprocess)) @@ -5396,7 +5397,7 @@ (define-public python-terminado (synopsis "Terminals served to term.js using Tornado websockets") (description "This package provides a Tornado websocket backend for the term.js Javascript terminal emulator library.") - (license bsd-2) + (license license:bsd-2) (properties `((python2-variant . ,(delay python2-terminado)))))) (define-public python2-terminado @@ -5435,8 +5436,9 @@ (define-public python-fonttools of AFM files, reading (and partially writing) of PS Type 1 fonts. The package also contains a tool called “TTX” which converts TrueType/OpenType fonts to and from an XML-based format.") - (license (non-copyleft "file://LICENSE.txt" - "See LICENSE.txt in the distribution.")))) + (license (license:non-copyleft + "file://LICENSE.txt" + "See LICENSE.txt in the distribution.")))) (define-public python2-fonttools (package-with-python2 python-fonttools)) @@ -5462,7 +5464,7 @@ (define-public python-ly or create documents in LilyPond format. A command line program ly is also provided that can be used to do various manipulations with LilyPond files.") (home-page "https://pypi.python.org/pypi/python-ly") - (license gpl2+))) + (license license:gpl2+))) (define-public python-appdirs (package @@ -5495,7 +5497,7 @@ (define-public python2-appdirs (define-public python-llfuse (package (name "python-llfuse") - (version "1.1") + (version "1.1.1") (source (origin (method url-fetch) (uri (string-append @@ -5503,7 +5505,7 @@ (define-public python-llfuse "llfuse-" version ".tar.bz2")) (sha256 (base32 - "1ywzbqkahrfl9kkcasxrmgilv6fybapvh6pqvimimnfh7sgxal72")))) + "0v6vj9mb286njgd1szg9hz2qdh5f3vkhsvajripfcqg458av310v")))) (build-system python-build-system) (inputs `(("fuse" ,fuse) @@ -5515,7 +5517,7 @@ (define-public python-llfuse (description "Python-LLFUSE is a set of Python bindings for the low level FUSE API.") (home-page "https://bitbucket.org/nikratio/python-llfuse/") - (license lgpl2.0+) + (license license:lgpl2.0+) (properties `((python2-variant . ,(delay python2-llfuse)))))) (define-public python2-llfuse @@ -5537,25 +5539,25 @@ (define-public python-llfuse-0.41 "1imlqw9b73086y97izr036f58pgc5akv4ihc2rrf8j5h75jbrlaa")))) ;; Python-LLFUSE < 0.42 includes underscore.js, which is MIT (expat) ;; licensed. The rest of the package is licensed under LGPL2.0 or later. - (license (list license:expat lgpl2.0+)))) + (license (list license:expat license:lgpl2.0+)))) (define-public python-msgpack (package (name "python-msgpack") - (version "0.4.7") + (version "0.4.8") (source (origin (method url-fetch) (uri (pypi-uri "msgpack-python" version)) (sha256 (base32 - "0syd7bs83qs9qmxw540jbgsildbqk4yb57fmrlns1021llli402y")))) + "11pqk5braa6wndpnr1dhg64js82vjgxnm0lzy73rwl831zgijaqs")))) (build-system python-build-system) (synopsis "MessagePack (de)serializer") (description "MessagePack is a fast, compact binary serialization format, suitable for similar data to JSON. This package provides CPython bindings for reading and writing MessagePack data.") (home-page "https://pypi.python.org/pypi/msgpack-python/") - (license asl2.0) + (license license:asl2.0) (properties `((python2-variant . ,(delay python2-msgpack)))))) (define-public python2-msgpack @@ -5590,7 +5592,7 @@ (define-public python-netaddr (description "A Python library for representing and manipulating IPv4, IPv6, CIDR, EUI and MAC network addresses.") - (license bsd-3))) + (license license:bsd-3))) (define-public python2-netaddr (package-with-python2 python-netaddr)) @@ -5622,7 +5624,7 @@ (define-public python-wrapt "The aim of the wrapt module is to provide a transparent object proxy for Python, which can be used as the basis for the construction of function wrappers and decorator functions.") - (license bsd-2))) + (license license:bsd-2))) (define-public python2-wrapt (package-with-python2 python-wrapt)) @@ -5673,7 +5675,7 @@ (define-public python-monotonic (description "This module provides a monotonic() function which returns the value (in fractional seconds) of a clock which never goes backwards.") - (license asl2.0))) + (license license:asl2.0))) (define-public python2-monotonic (package-with-python2 python-monotonic)) @@ -5726,10 +5728,10 @@ (define-public python-xlrd (home-page "http://www.python-excel.org/") (synopsis "Library for extracting data from Excel files") (description "This packages provides a library to extract data from -spreadsheets using Microsoft Excel® proprietary file formats @samp{.xls} and +spreadsheets using Microsoft Excel proprietary file formats @samp{.xls} and @samp{.xlsx} (versions 2.0 onwards). It has support for Excel dates and is Unicode-aware. It is not intended as an end-user tool.") - (license bsd-3))) + (license license:bsd-3))) (define-public python2-xlrd (package-with-python2 python-xlrd)) @@ -5757,7 +5759,7 @@ (define-public python-prettytable tables. PrettyTable allows for selection of which columns are to be printed, independent alignment of columns (left or right justified or centred) and printing of sub-tables by specifying a row range.") - (license bsd-3))) + (license license:bsd-3))) (define-public python2-prettytable (package-with-python2 python-prettytable)) @@ -5814,7 +5816,7 @@ (define-public python-tables (synopsis "Hierarchical datasets for Python") (description "PyTables is a package for managing hierarchical datasets and designed to efficently cope with extremely large amounts of data.") - (license bsd-3))) + (license license:bsd-3))) (define-public python2-tables (package-with-python2 python-tables)) @@ -5837,7 +5839,7 @@ (define-public python-pyasn1 (description "This is an implementation of ASN.1 types and codecs in Python. It is suitable for a wide range of protocols based on the ASN.1 specification.") - (license bsd-2))) + (license license:bsd-2))) (define-public python2-pyasn1 (package-with-python2 python-pyasn1)) @@ -5863,35 +5865,38 @@ (define-public python-pyasn1-modules (description "Pyasn1-modules is a collection of Python modules providing ASN.1 types and implementations of ASN.1-based codecs and protocols.") - (license bsd-3))) + (license license:bsd-3))) (define-public python2-pyasn1-modules (package-with-python2 python-pyasn1-modules)) -(define-public python2-ipaddress +(define-public python-ipaddress (package - (name "python2-ipaddress") - (version "1.0.14") - (source - (origin - (method url-fetch) - (uri (string-append "https://pypi.python.org/packages/source/i/" - "ipaddress/ipaddress-" version ".tar.gz")) - (sha256 - (base32 - "0givid4963n57nsjibms2fc347zmcs188q1hw9al1dkc9kj4nvr2")))) + (name "python-ipaddress") + (version "1.0.16") + (source (origin + (method url-fetch) + (uri (pypi-uri "ipaddress" version)) + (sha256 + (base32 + "1c3imabdrw8nfksgjjflzg7h4ynjckqacb188rf541m74arq4cas")))) (build-system python-build-system) - (arguments - `(#:tests? #f ; no tests - #:python ,python-2)) (home-page "https://github.com/phihag/ipaddress") (synopsis "IP address manipulation library") (description - "This package provides a fast, lightweight IPv4/IPv6 manipulation library -in Python. This library is used to create, poke at, and manipulate IPv4 and -IPv6 addresses and networks. This is a port of the Python 3.3 ipaddress -module to older versions of Python.") - (license psfl))) + "This package provides a fast, lightweight IPv4/IPv6 manipulation library + in Python. This library is used to create, poke at, and manipulate IPv4 and + IPv6 addresses and networks. This is a port of the Python 3.3 ipaddress + module to older versions of Python.") + (license license:psfl) + (properties `((python2-variant . ,(delay python2-ipaddress)))))) + +(define-public python2-ipaddress + (let ((base (package-with-python2 (strip-python2-variant python-ipaddress)))) + (package (inherit base) + (native-inputs + `(("python2-setuptools" ,python2-setuptools) + ,@(package-native-inputs base)))))) (define-public python2-ipaddr (package @@ -5920,7 +5925,7 @@ (define-public python2-ipaddr For new implementations you may prefer to use the standard module @code{ipaddress}, which was introduced in Python 3.3 and backported to older versions of Python.") - (license asl2.0))) + (license license:asl2.0))) (define-public python-idna (package @@ -5947,7 +5952,7 @@ (define-public python-idna suitable drop-in replacement for the “encodings.idna” module that comes with the Python standard library but currently only supports the older 2003 specification.") - (license bsd-4))) + (license license:bsd-4))) (define-public python2-idna (package-with-python2 python-idna)) @@ -5974,7 +5979,7 @@ (define-public python-pretend technique for writing tests. You may hear the term mixed up with mocks, fakes, or doubles. Basically, a stub is an object that returns pre-canned responses, rather than doing any computation.") - (license bsd-3))) + (license license:bsd-3))) (define-public python2-pretend (package-with-python2 python-pretend)) @@ -5998,7 +6003,7 @@ (define-public python-cryptography-vectors (description "This package contains test vectors for the cryptography package.") ;; Distributed under either BSD-3 or ASL2.0 - (license (list bsd-3 asl2.0)))) + (license (list license:bsd-3 license:asl2.0)))) (define-public python2-cryptography-vectors (package-with-python2 python-cryptography-vectors)) @@ -6040,7 +6045,7 @@ (define-public python-cryptography level interfaces to common cryptographic algorithms such as symmetric ciphers, message digests and key derivation functions.") ;; Distributed under either BSD-3 or ASL2.0 - (license (list bsd-3 asl2.0)) + (license (list license:bsd-3 license:asl2.0)) (properties `((python2-variant . ,(delay python2-cryptography)))))) (define-public python2-cryptography @@ -6079,7 +6084,7 @@ (define-public python-pyopenssl (description "PyOpenSSL is a high-level wrapper around a subset of the OpenSSL library.") - (license asl2.0))) + (license license:asl2.0))) (define-public python2-pyopenssl (package-with-python2 python-pyopenssl)) @@ -6151,7 +6156,7 @@ (define-public python-tlsh comparing their hash values. The byte stream should have a sufficient amount of complexity; for example, a byte stream of identical bytes will not generate a hash value.") - (license asl2.0))) + (license license:asl2.0))) (define-public python2-tlsh (package @@ -6198,7 +6203,7 @@ (define-public python-libarchive-c "This package provides Python bindings to libarchive, a C library to access possibly compressed archives in many different formats. It uses Python's @code{ctypes} foreign function interface (FFI).") - (license lgpl2.0+))) + (license license:lgpl2.0+))) (define-public python2-libarchive-c (package-with-python2 python-libarchive-c)) @@ -6269,7 +6274,7 @@ (define-public python-debian @end enumerate\n") ;; Modules are either GPLv2+ or GPLv3+. - (license gpl3+))) + (license license:gpl3+))) (define-public python2-debian (package-with-python2 python-debian)) @@ -6296,7 +6301,7 @@ (define-public python-chardet (description "This package provides @code{chardet}, a Python module that can automatically detect a wide range of file encodings.") - (license lgpl2.1+))) + (license license:lgpl2.1+))) (define-public python2-chardet (package-with-python2 python-chardet)) @@ -6357,7 +6362,7 @@ (define-public python-zope-event use by applications which are unaware of any subscribers to their events. It is a simple event-dispatching system on which more sophisticated event dispatching systems can be built.") - (license zpl2.1))) + (license license:zpl2.1))) (define-public python2-zope-event (package-with-python2 python-zope-event)) @@ -6383,7 +6388,7 @@ (define-public python-zope-interface (description "Zope.interface provides an implementation of \"object interfaces\" for Python. Interfaces are a mechanism for labeling objects as conforming to a given API or contract.") - (license zpl2.1))) + (license license:zpl2.1))) (define-public python2-zope-interface (package-with-python2 python-zope-interface)) @@ -6410,7 +6415,7 @@ (define-public python-zope-exceptions (synopsis "Zope exceptions") (description "Zope.exceptions provides general-purpose exception types that have uses outside of the Zope framework.") - (license zpl2.1))) + (license license:zpl2.1))) (define-public python2-zope-exceptions (package-with-python2 python-zope-exceptions)) @@ -6436,7 +6441,7 @@ (define-public python-zope-testing (synopsis "Zope testing helpers") (description "Zope.testing provides a number of testing utilities for HTML forms, HTTP servers, regular expressions, and more.") - (license zpl2.1))) + (license license:zpl2.1))) (define-public python2-zope-testing (package-with-python2 python-zope-testing)) @@ -6466,7 +6471,7 @@ (define-public python-zope-testrunner (synopsis "Zope testrunner script") (description "Zope.testrunner provides a script for running Python tests.") - (license zpl2.1))) + (license license:zpl2.1))) (define-public python2-zope-testrunner (let ((base (package-with-python2 python-zope-testrunner))) @@ -6498,7 +6503,7 @@ (define-public python-zope-i18nmessageid (synopsis "Message identifiers for internationalization") (description "Zope.i18nmessageid provides facilities for declaring internationalized messages within program source text.") - (license zpl2.1))) + (license license:zpl2.1))) (define-public python2-zope-i18nmessageid (package-with-python2 python-zope-i18nmessageid)) @@ -6525,7 +6530,7 @@ (define-public python-zope-schema (synopsis "Zope data schemas") (description "Zope.scheme provides extensions to zope.interface for defining data schemas.") - (license zpl2.1))) + (license license:zpl2.1))) (define-public python2-zope-schema (package-with-python2 python-zope-schema)) @@ -6550,7 +6555,7 @@ (define-public python-zope-configuration (synopsis "Zope Configuration Markup Language") (description "Zope.configuration implements ZCML, the Zope Configuration Markup Language.") - (license zpl2.1))) + (license license:zpl2.1))) (define-public python2-zope-configuration (package-with-python2 python-zope-configuration)) @@ -6577,7 +6582,7 @@ (define-public python-zope-proxy another object, intervening in the apparent behavior of the wrapped object only when necessary to apply the policy (e.g., access checking, location brokering, etc.) for which the proxy is responsible.") - (license zpl2.1))) + (license license:zpl2.1))) (define-public python2-zope-proxy (package-with-python2 python-zope-proxy)) @@ -6602,7 +6607,7 @@ (define-public python-zope-location (synopsis "Zope location library") (description "Zope.location implements the concept of \"locations\" in Zope3, which are are special objects that have a structural location.") - (license zpl2.1))) + (license license:zpl2.1))) (define-public python2-zope-location (package-with-python2 python-zope-location)) @@ -6632,7 +6637,7 @@ (define-public python-zope-security (synopsis "Zope security framework") (description "Zope.security provides a generic mechanism to implement security policies on Python objects.") - (license zpl2.1))) + (license license:zpl2.1))) (define-public python2-zope-security (let ((zope-security (package-with-python2 python-zope-security))) @@ -6671,7 +6676,7 @@ (define-public python-zope-component (description "Zope.component represents the core of the Zope Component Architecture. Together with the zope.interface package, it provides facilities for defining, registering and looking up components.") - (license zpl2.1))) + (license license:zpl2.1))) (define-public python2-zope-component (package-with-python2 python-zope-component)) @@ -6708,7 +6713,7 @@ (define-public python-pythondialog (description "A Python wrapper for the dialog utility. Its purpose is to provide an easy to use, pythonic and comprehensive Python interface to dialog. This allows one to make simple text-mode user interfaces on Unix-like systems") - (license lgpl2.1) + (license license:lgpl2.1) (properties `((python2-variant . ,(delay python2-pythondialog)))))) (define-public python2-pythondialog @@ -6770,7 +6775,7 @@ (define-public python-werkzeug handle entity tags, cache control headers, HTTP dates, cookie handling, file uploads, a powerful URL routing system and a bunch of community-contributed addon modules.") - (license x11))) + (license license:x11))) (define-public python2-werkzeug (package-with-python2 python-werkzeug)) @@ -6800,7 +6805,7 @@ (define-public python-configobj use, with a straightforward programmer’s interface and a simple syntax for config files.") (home-page "https://github.com/DiffSK/configobj") - (license bsd-3))) + (license license:bsd-3))) (define-public python2-configobj (package-with-python2 python-configobj)) @@ -6852,7 +6857,7 @@ (define-public python-ndg-httpsclient over the default provided with Python and importantly enables full verification of the SSL peer.") (home-page "https://github.com/cedadev/ndg_httpsclient/") - (license bsd-3))) + (license license:bsd-3))) ;; python2-openssl requires special care, so package-with-python2 is ;; insufficient. @@ -6889,7 +6894,7 @@ (define-public python-contextlib2 provides utilities for common tasks involving decorators and context managers. It also contains additional features that are not part of the standard library.") - (license psfl))) + (license license:psfl))) (define-public python2-contextlib2 (package-with-python2 python-contextlib2)) @@ -6911,7 +6916,7 @@ (define-public python-texttable (synopsis "Python module for creating simple ASCII tables") (description "Texttable is a Python module for creating simple ASCII tables.") - (license lgpl2.1+))) + (license license:lgpl2.1+))) (define-public python2-texttable (package-with-python2 python-texttable)) @@ -6936,7 +6941,7 @@ (define-public python-websocket-client (synopsis "WebSocket client for Python") (description "The Websocket-client module provides the low level APIs for WebSocket usage in Python programs.") - (license lgpl2.1+))) + (license license:lgpl2.1+))) (define-public python2-websocket-client (package-with-python2 python-websocket-client)) @@ -6985,7 +6990,7 @@ (define-public python-requests-toolbelt (description "This is a toolbelt of useful classes and functions to be used with python-requests.") (home-page "https://github.com/sigmavirus24/requests-toolbelt") - (license asl2.0))) + (license license:asl2.0))) (define-public python-click-threading (package @@ -7226,7 +7231,7 @@ (define-public python-icalendar (description "The icalendar package is a parser/generator of iCalendar files for use with Python.") (home-page "https://github.com/collective/icalendar") - (license bsd-2))) + (license license:bsd-2))) (define-public python-sphinxcontrib-newsfeed (package @@ -7246,7 +7251,7 @@ (define-public python-sphinxcontrib-newsfeed (description "Sphinxcontrib-newsfeed is an extension for adding a simple Blog, News or Announcements section to a Sphinx website.") (home-page "https://bitbucket.org/prometheus/sphinxcontrib-newsfeed") - (license bsd-2))) + (license license:bsd-2))) (define-public python-args (package @@ -7265,7 +7270,7 @@ (define-public python-args (synopsis "Command-line argument parser") (description "This library provides a Python module to parse command-line arguments.") - (license bsd-3))) + (license license:bsd-3))) (define-public python2-args (package-with-python2 python-args)) @@ -7290,7 +7295,7 @@ (define-public python-clint "Clint is a Python module filled with a set of tools for developing command-line applications, including tools for colored and indented output, progress bar display, and pipes.") - (license isc))) + (license license:isc))) (define-public python2-clint (package-with-python2 python-clint)) @@ -7313,7 +7318,7 @@ (define-public python-astor (description "Astor is designed to allow easy manipulation of Python source via the Abstract Syntax Tree.") - (license bsd-3))) + (license license:bsd-3))) (define-public python2-astor (package-with-python2 python-astor)) @@ -7338,7 +7343,7 @@ (define-public python-rply "This package provides a pure Python based parser generator, that also works with RPython. It is a more-or-less direct port of David Bazzley's PLY, with a new public API, and RPython support.") - (license bsd-3))) + (license license:bsd-3))) (define-public python2-rply (package-with-python2 python-rply)) @@ -7450,7 +7455,7 @@ (define-public python2-futures "The concurrent.futures module provides a high-level interface for asynchronously executing callables. This package backports the concurrent.futures package from Python 3.2") - (license bsd-3))) + (license license:bsd-3))) (define-public python-urllib3 (package @@ -7506,7 +7511,7 @@ (define-public python-colorama (description "Colorama is a Python library for rendering colored terminal text.") (home-page "https://pypi.python.org/pypi/colorama") - (license bsd-3))) + (license license:bsd-3))) (define-public python2-colorama (package-with-python2 python-colorama)) @@ -7532,7 +7537,7 @@ (define-public python-rsa generation according to PKCS#1 version 1.5. It can be used as a Python library as well as on the command line.") (home-page "http://stuvel.eu/rsa") - (license asl2.0))) + (license license:asl2.0))) (define-public python2-rsa (package-with-python2 python-rsa)) @@ -7643,7 +7648,7 @@ (define-public python-botocore (synopsis "Low-level interface to AWS") (description "Botocore is a Python library that provides a low-level interface to the Amazon Web Services (AWS) API.") - (license asl2.0))) + (license license:asl2.0))) (define-public python2-botocore (package-with-python2 python-botocore)) @@ -7677,7 +7682,7 @@ (define-public awscli (synopsis "Command line client for AWS") (description "AWS CLI provides a unified command line interface to the Amazon Web Services (AWS) API.") - (license asl2.0))) + (license license:asl2.0))) (define-public python-hypothesis (package @@ -7699,7 +7704,7 @@ (define-public python-hypothesis based on the Haskell library, Quickcheck, and is designed to integrate seamlessly into your existing Python unit testing work flow.") (home-page "https://github.com/DRMacIver/hypothesis") - (license mpl2.0) + (license license:mpl2.0) (properties `((python2-variant . ,(delay python2-hypothesis)))))) (define-public python2-hypothesis @@ -7733,7 +7738,7 @@ (define-public python-pytest-subtesthack function multiple times, without setting up or tearing down fixture state as is normally the case.") (home-page "https://github.com/untitaker/pytest-subtesthack/") - (license unlicense))) + (license license:unlicense))) (define-public python2-pytest-subtesthack (package-with-python2 python-pytest-subtesthack)) @@ -7762,7 +7767,7 @@ (define-public python2-xdo (description "Provides bindings to libxdo for manipulating X11 via simulated input. (Note that this is mostly a legacy library; you may wish to look at python-xdo for newer bindings.)") - (license bsd-3))) + (license license:bsd-3))) (define-public python-wtforms (package @@ -7785,7 +7790,7 @@ (define-public python-wtforms "WTForms is a flexible forms validation and rendering library for Python web development. It is very similar to the web form API available in Django, but is a standalone package.") - (license bsd-3) + (license license:bsd-3) (properties `((python2-variant . ,(delay python2-wtforms)))))) (define-public python2-wtforms @@ -7842,7 +7847,7 @@ (define-public python-waitress (synopsis "Waitress WSGI server") (description "Waitress is meant to be a production-quality pure-Python WSGI server with very acceptable performance.") - (license zpl2.1) + (license license:zpl2.1) (properties `((python2-variant . ,(delay python2-waitress)))))) (define-public python2-waitress @@ -8023,7 +8028,7 @@ (define-public python-pyquery (description "pyquery allows you to make jQuery queries on xml documents. The API is as much as possible the similar to jQuery. pyquery uses lxml for fast xml and html manipulation.") - (license bsd-3) + (license license:bsd-3) (properties `((python2-variant . ,(delay python2-pyquery)))))) (define-public python2-pyquery @@ -8111,7 +8116,7 @@ (define-public python-anyjson (description "Anyjson loads whichever is the fastest JSON module installed and provides a uniform API regardless of which JSON implementation is used.") - (license bsd-3) + (license license:bsd-3) (properties `((python2-variant . ,(delay python2-anyjson)))))) (define-public python2-anyjson @@ -8147,7 +8152,7 @@ (define-public python-amqp "This is a fork of amqplib which was originally written by Barry Pederson. It is maintained by the Celery project, and used by kombu as a pure python alternative when librabbitmq is not available.") - (license lgpl2.1+) + (license license:lgpl2.1+) (properties `((python2-variant . ,(delay python2-amqp)))))) (define-public python2-amqp @@ -8189,7 +8194,7 @@ (define-public python-kombu AMQP is the Advanced Message Queuing Protocol, an open standard protocol for message orientation, queuing, routing, reliability and security, for which the RabbitMQ messaging server is the most popular implementation.") - (license bsd-3) + (license license:bsd-3) (properties `((python2-variant . ,(delay python2-kombu)))))) (define-public python2-kombu @@ -8223,7 +8228,7 @@ (define-public python-billiard multiprocessing package itself is a renamed and updated version of R Oudkerk's pyprocessing package. This standalone variant is intended to be compatible with Python 2.4 and 2.5, and will draw its fixes/improvements from python-trunk.") - (license bsd-3) + (license license:bsd-3) (properties `((python2-variant . ,(delay python2-billiard)))))) (define-public python2-billiard @@ -8264,7 +8269,7 @@ (define-public python-celery concurrently on a single or more worker servers using multiprocessing, Eventlet, or gevent. Tasks can execute asynchronously (in the background) or synchronously (wait until ready).") - (license bsd-3) + (license license:bsd-3) (properties `((python2-variant . ,(delay python2-celery)))))) (define-public python2-celery @@ -8327,7 +8332,7 @@ (define-public python-editor (description "python-editor is a library that provides the editor module for programmatically interfacing with your system's $EDITOR.") - (license asl2.0) + (license license:asl2.0) (properties `((python2-variant . ,(delay python2-editor)))))) (define-public python2-editor @@ -8354,7 +8359,7 @@ (define-public python-sphinxcontrib-programoutput (description "A Sphinx extension to literally insert the output of arbitrary commands into documents, helping you to keep your command examples up to date.") (home-page "https://github.com/lunaryorn/sphinxcontrib-programoutput") - (license bsd-2) + (license license:bsd-2) (properties `((python2-variant . ,(delay python2-sphinxcontrib-programoutput)))))) (define-public python2-sphinxcontrib-programoutput @@ -8383,7 +8388,7 @@ (define-public python-sphinx-repoze-autointerface system. The extension allows generation of API documentation by introspection of @code{zope.interface} instances in code.") (home-page "https://github.com/repoze/repoze.sphinx.autointerface") - (license repoze))) + (license license:repoze))) (define-public python2-sphinx-repoze-autointerface (package-with-python2 python-sphinx-repoze-autointerface)) @@ -8410,7 +8415,7 @@ (define-public python-psycopg2 (synopsis "Python PostgreSQL adapter") (description "psycopg2 is a thread-safe PostgreSQL adapter that implements DB-API 2.0. ") - (license lgpl3+) + (license license:lgpl3+) (properties `((python2-variant . ,(delay python2-psycopg2)))))) (define-public python2-psycopg2 @@ -8440,7 +8445,7 @@ (define-public python-vobject should be imported, but only a few components are understood in a sophisticated way.") (home-page "http://eventable.github.io/vobject/") - (license asl2.0) + (license license:asl2.0) (properties `((python2-variant . ,(delay python2-vobject)))))) (define-public python2-vobject @@ -8467,7 +8472,7 @@ (define-public python-munkres (description "The Munkres module provides an implementation of the Munkres algorithm (also called the Hungarian algorithm or the Kuhn-Munkres algorithm), useful for solving the Assignment Problem.") - (license bsd-3))) + (license license:bsd-3))) (define-public python2-munkres (package-with-python2 python-munkres)) @@ -8492,7 +8497,7 @@ (define-public python-flask (description "Flask is a micro web framework based on the Werkzeug toolkit and Jinja2 template engine. It is called a micro framework because it does not presume or force a developer to use a particular tool or library.") - (license bsd-3) + (license license:bsd-3) (properties `((python2-variant . ,(delay python2-flask)))))) (define-public python2-flask @@ -8555,7 +8560,7 @@ (define-public python-responses (synopsis "Utility for mocking out the `requests` Python library") (description "A utility library for mocking out the `requests` Python library.") - (license asl2.0) + (license license:asl2.0) (properties `((python2-variant . ,(delay python2-responses)))))) (define-public python2-responses @@ -8616,7 +8621,7 @@ (define-public python-jellyfish (synopsis "Approximate and phonetic matching of strings") (description "Jellyfish uses a variety of string comparison and phonetic encoding algorithms to do fuzzy string matching.") - (license bsd-2) + (license license:bsd-2) (properties `((python2-variant . ,(delay python2-jellyfish)))))) (define-public python2-jellyfish @@ -8652,7 +8657,7 @@ (define-public python2-unicodecsv (synopsis "Unicode CSV module for Python 2") (description "Unicodecsv is a drop-in replacement for Python 2.7's CSV module, adding support for Unicode strings.") - (license bsd-2))) + (license license:bsd-2))) (define-public python-rarfile (package @@ -8681,7 +8686,7 @@ (define-public python-rarfile (synopsis "RAR archive reader for Python") (description "This is Python module for RAR archive reading. The interface is made as zipfile like as possible.") - (license isc))) + (license license:isc))) (define-public python2-rarfile (package-with-python2 python-rarfile)) @@ -8727,7 +8732,14 @@ (define-public python-magic (substitute* "magic.py" (("ctypes.util.find_library\\('magic'\\)") (string-append "'" file "/lib/libmagic.so'"))) - #t)))))) + #t))) + (add-before 'install 'disable-egg-compression + (lambda _ + (let ((port (open-file "setup.cfg" "a"))) + (display "\n[easy_install]\nzip_ok = 0\n" + port) + (close-port port) + #t)))))) (native-inputs `(("python-setuptools" ,python-setuptools))) (inputs @@ -8784,7 +8796,7 @@ (define-public python2-s3cmd Service (S3) protocol, including S3 itself. It supports rsync-like backup, GnuPG encryption, and more. It also supports management of Amazon's CloudFront content delivery network.") - (license gpl2+))) + (license license:gpl2+))) (define-public python-pkgconfig (package @@ -8852,7 +8864,7 @@ (define-public python-bz2file files. It contains a drop-in replacement for the I/O interface in the standard library's @code{bz2} module, including features from the latest development version of CPython that are not available in older releases.") - (license asl2.0) + (license license:asl2.0) (properties `((python2-variant . ,(delay python2-bz2file)))))) (define-public python2-bz2file @@ -8944,7 +8956,7 @@ (define-public python-cysignals other signals and errors) in Cython code, using two related approaches, for mixed Cython/Python code or external C libraries and pure Cython code, respectively.") - (license lgpl3+))) + (license license:lgpl3+))) (define-public python2-cysignals (package-with-python2 python-cysignals)) @@ -8987,7 +8999,7 @@ (define-public python2-shedskin (synopsis "Experimental Python-2 to C++ Compiler") (description (string-append "This is an experimental compiler for a subset of Python. It generates C++ code and a Makefile.")) - (license (list gpl3 bsd-3 license:expat)))) + (license (list license:gpl3 license:bsd-3 license:expat)))) (define-public python2-rope (package @@ -9014,7 +9026,7 @@ (define-public python2-rope the renaming, moving and extracting of attributes, functions, modules, fields and parameters in Python 2 source code. These refactorings can also be applied to occurences in strings and comments.") - (license gpl2))) + (license license:gpl2))) (define-public python-py3status (package @@ -9035,7 +9047,7 @@ (define-public python-py3status (description "py3status is an i3status wrapper which extends i3status functionality in a modular way, allowing you to extend your panel with your own code, responding to click events and updating clock every second.") - (license bsd-3))) + (license license:bsd-3))) (define-public python-tblib (package @@ -9075,7 +9087,7 @@ (define-public python-tblib @item Parse traceback strings and raise with the parsed tracebacks. @end itemize") - (license bsd-3))) + (license license:bsd-3))) (define-public python2-tblib (package-with-python2 python-tblib)) @@ -9109,7 +9121,7 @@ (define-public python-sqlparse (synopsis "Non-validating SQL parser") (description "Sqlparse is a non-validating SQL parser for Python. It provides support for parsing, splitting and formatting SQL statements.") - (license bsd-3))) + (license license:bsd-3))) (define-public python2-sqlparse (package-with-python2 python-sqlparse)) @@ -9134,7 +9146,7 @@ (define-public python-greenlet that supports micro-threads called \"tasklets\". Tasklets run pseudo-concurrently (typically in a single or a few OS-level threads) and are synchronized with data exchanges on \"channels\".") - (license (list psfl license:expat)))) + (license (list license:psfl license:expat)))) (define-public python2-greenlet (package-with-python2 python-greenlet)) @@ -9222,7 +9234,7 @@ (define-public python-ply (synopsis "Python Lex & Yacc") (description "PLY is a @code{lex}/@code{yacc} implemented purely in Python. It uses LR parsing and does extensive error checking.") - (license bsd-3) + (license license:bsd-3) (properties `((python2-variant . ,(delay python2-ply)))))) (define-public python2-ply @@ -9286,7 +9298,7 @@ (define-public python-kazoo "Kazoo is a Python client library for the Apache Zookeeper distributed application service. It is designed to be easy to use and to avoid common programming errors.") - (license asl2.0))) + (license license:asl2.0))) (define-public python2-kazoo (package-with-python2 python-kazoo)) @@ -9320,7 +9332,7 @@ (define-public python-pykafka "PyKafka is a client for the Apache Kafka distributed messaging system. It includes Python implementations of Kafka producers and consumers, which are optionally backed by a C extension built on librdkafka.") - (license asl2.0))) + (license license:asl2.0))) (define-public python2-pykafka (package-with-python2 python-pykafka)) @@ -9381,7 +9393,7 @@ (define-public python2-jsonrpclib It supports both the original 1.0 specification, as well as the new (proposed) 2.0 spec, which includes batch submission, keyword arguments, etc.") - (license asl2.0))) + (license license:asl2.0))) (define-public python-chai (package @@ -9401,7 +9413,7 @@ (define-public python-chai (description "Chai provides an api for mocking, stubbing and spying your python objects, patterned after the Mocha library for Ruby.") - (license bsd-3))) + (license license:bsd-3))) (define-public python2-chai (package-with-python2 python-chai)) @@ -9430,7 +9442,7 @@ (define-public python-arrow "Arrow is a Python library to creating, manipulating, formatting and converting dates, times, and timestamps. It implements and updates the datetime type.") - (license asl2.0))) + (license license:asl2.0))) (define-public python2-arrow (package-with-python2 python-arrow)) @@ -9477,7 +9489,7 @@ (define-public python-pylev (description "Pure Python Levenshtein implementation, based off the Wikipedia code samples at @url{http://en.wikipedia.org/wiki/Levenshtein_distance}.") - (license bsd-3))) + (license license:bsd-3))) (define-public python2-pylev (package-with-python2 python-pylev)) @@ -9529,7 +9541,7 @@ (define-public python-lazy-object-proxy (description "Lazy object proxy is an object that wraps a callable but defers the call until the object is actually required, and caches the result of said call.") - (license bsd-2))) + (license license:bsd-2))) (define-public python2-lazy-object-proxy (package-with-python2 python-lazy-object-proxy)) @@ -9588,7 +9600,7 @@ (define-public python-email-validator (synopsis "Email address validation library for Python") (description "This library validates email address syntax and deliverability.") - (license cc0))) + (license license:cc0))) (define-public python2-email-validator (package-with-python2 python-email-validator)) @@ -9683,7 +9695,7 @@ (define-public python-pyaml (description "pyaml is a PyYAML based python module to produce pretty and readable YAML-serialized data.") - (license (non-copyleft "http://www.wtfpl.net/txt/copying/")))) + (license (license:non-copyleft "http://www.wtfpl.net/txt/copying/")))) (define-public python2-pyaml (package-with-python2 python-pyaml)) @@ -9706,7 +9718,7 @@ (define-public python-flexmock (description "flexmock is a testing library for Python that makes it easy to create mocks, stubs and fakes.") - (license bsd-3))) + (license license:bsd-3))) (define-public python2-flexmock (package-with-python2 python-flexmock)) @@ -9777,7 +9789,7 @@ (define-public python-prompt-toolkit highlighting while typing, out-of-the-box multi-line input editing, advanced code completion, incremental search, support for Chinese double-width characters, mouse support, and auto suggestions.") - (license bsd-3) + (license license:bsd-3) (properties `((python2-variant . ,(delay python2-prompt-toolkit)))))) (define-public python2-prompt-toolkit @@ -9840,7 +9852,7 @@ (define-public ptpython It supports syntax highlighting, multiline editing, autocompletion, mouse, color schemes, bracketed paste, Vi and Emacs keybindings, Chinese characters etc.") - (license bsd-3) + (license license:bsd-3) (properties `((python2-variant . ,(delay ptpython-2)))))) (define-public ptpython-2 @@ -9880,7 +9892,7 @@ (define-public python-stem "Stem is a Python controller library for Tor. With it you can use Tor's control protocol to script against the Tor process and read descriptor data relays publish about themselves.") - (license lgpl3))) + (license license:lgpl3))) (define-public python2-stem (package-with-python2 python-stem)) @@ -9903,7 +9915,7 @@ (define-public python-pyserial (description "@code{pyserial} provide serial port bindings for Python. It supports different byte sizes, stop bits, parity and flow control with RTS/CTS and/or Xon/Xoff. The port is accessed in RAW mode.") - (license bsd-3) + (license license:bsd-3) (properties `((python2-variant . ,(delay python2-pyserial)))))) (define-public python2-pyserial @@ -9977,3 +9989,232 @@ (define-public python-kivy-next (define-public python2-kivy-next (package-with-python2 python-kivy-next)) + +(define-public python-binaryornot + (package + (name "python-binaryornot") + (version "0.4.0") + (source (origin + (method url-fetch) + (uri (pypi-uri "binaryornot" version)) + (sha256 + (base32 + "1j4f51dxic39mdwf6alj7gd769wy6mhk916v031wjali51xkh3xb")))) + (build-system python-build-system) + (inputs + `(("python-chardet" ,python-chardet) + ("python-hypothesis" ,python-hypothesis))) + (home-page "https://github.com/audreyr/binaryornot") + (synopsis "Package to check if a file is binary or text") + (description "Ultra-lightweight pure Python package to check if a file is +binary or text.") + (license license:bsd-3) + (properties `((python2-variant . ,(delay python2-binaryornot)))))) + +(define-public python2-binaryornot + (let ((base (package-with-python2 (strip-python2-variant python-binaryornot)))) + (package (inherit base) + (native-inputs + `(("python2-setuptools" ,python2-setuptools) + ,@(package-native-inputs base))) + (inputs + `(("python2-enum34" ,python2-enum34) + ,@(package-inputs base)))))) + +(define-public python-nltk + (package + (name "python-nltk") + (version "3.2.1") + (source (origin + (method url-fetch) + (uri (pypi-uri "nltk" version)) + (sha256 + (base32 + "0skxbhnymwlspjkzga0f7x1hg3y50fwpfghs8g8k7fh6f4nknlym")))) + (build-system python-build-system) + (home-page "http://nltk.org/") + (synopsis "Natural Language Toolkit") + (description "It provides interfaces to over 50 corpora and lexical +resources such as WordNet, along with a suite of text processing libraries +for classification, tokenization, stemming, tagging, parsing, and semantic +reasoning, wrappers for natural language processing libraries.") + (license license:asl2.0) + (properties `((python2-variant . ,(delay python2-nltk)))))) + +(define-public python2-nltk + (let ((base (package-with-python2 (strip-python2-variant python-nltk)))) + (package (inherit base) + (native-inputs + `(("python2-setuptools" ,python2-setuptools) + ,@(package-native-inputs base)))))) + +(define-public python-pymongo + (package + (name "python-pymongo") + (version "3.3.0") + (source (origin + (method url-fetch) + (uri (pypi-uri "pymongo" version)) + (sha256 + (base32 + "07mra6w86wjqy4lx5fvimidjhhfzd562gfjn8grsnbv2q8pk0i9x")))) + (build-system python-build-system) + (inputs + `(("python-certifi" ,python-certifi))) + (home-page "http://github.com/mongodb/mongo-python-driver") + (synopsis "Python driver for MongoDB") + (description "Python driver for MongoDB.") + (license license:asl2.0) + (properties `((python2-variant . ,(delay python2-pymongo)))))) + +(define-public python2-pymongo + (let ((base (package-with-python2 (strip-python2-variant python-pymongo)))) + (package (inherit base) + (native-inputs + `(("python2-setuptools" ,python2-setuptools) + ,@(package-native-inputs base)))))) + +(define-public python-sh + (package + (name "python-sh") + (version "1.11") + (source (origin + (method url-fetch) + (uri (pypi-uri "sh" version)) + (sha256 + (base32 + "192r0mpv6dmkysjzhc43ddffiwb5g7c76bgr1mb1z2xz9awbj3sr")))) + (build-system python-build-system) + (arguments + `(#:tests? #f)) ; no tests + (home-page "https://github.com/amoffat/sh") + (synopsis "Python subprocess interface") + (description "Abstracts process invocation by providing a function +interface for programs.") + (license license:expat) + (properties `((python2-variant . ,(delay python2-sh)))))) + +(define-public python2-sh + (let ((base (package-with-python2 (strip-python2-variant python-sh)))) + (package (inherit base) + (native-inputs + `(("python2-setuptools" ,python2-setuptools) + ,@(package-native-inputs base)))))) + +(define-public python-schematics + (package + (name "python-schematics") + (version "1.1.1") + (source + (origin + (method url-fetch) + (uri (string-append + "https://github.com/schematics/schematics/archive/v" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "19v1i69bf3bzarfxmbv0v6ivpcn758x3shvbiy9l2hy0lvqwnp6l")))) + (build-system python-build-system) + (inputs + `(("python-six" ,python-six))) + (arguments + `(#:tests? #f)) ; requires a bunch of not very nice packages with fixed + ; version requirements (eg python-coveralls) + (home-page "https://github.com/schematics/schematics") + (synopsis "Python Data Structures for Humans") + (description "Python Data Structures for Humans.") + (license license:bsd-3) + (properties `((python2-variant . ,(delay python2-schematics)))))) + +(define-public python2-schematics + (let ((base (package-with-python2 (strip-python2-variant python-schematics)))) + (package (inherit base) + (native-inputs + `(("python2-setuptools" ,python2-setuptools) + ,@(package-native-inputs base)))))) + +(define-public python-publicsuffix + (package + (name "python-publicsuffix") + (version "1.1.0") + (source (origin + (method url-fetch) + (uri (pypi-uri "publicsuffix" version)) + (sha256 + (base32 + "1adx520249z2cy7ykwjr1k190mn2888wqn9jf8qm27ly4qymjxxf")))) + (build-system python-build-system) + (arguments + `(#:tests? #f)) ; tests use the internet + (home-page "https://www.tablix.org/~avian/git/publicsuffix.git") + (synopsis "Get suffix for a domain name") + (description "Get a public suffix for a domain name using the Public Suffix +List.") + (license license:expat) + (properties `((python2-variant . ,(delay python2-nltk)))))) + +(define-public python2-publicsuffix + (let ((base (package-with-python2 (strip-python2-variant python-publicsuffix)))) + (package (inherit base) + (native-inputs + `(("python2-setuptools" ,python2-setuptools) + ,@(package-native-inputs base)))))) + +(define-public python-publicsuffix2 + (package + (name "python-publicsuffix2") + (version "2.20160621") + (source + (origin + (method url-fetch) + (uri (pypi-uri "publicsuffix2" version ".tar.bz2")) + (sha256 + (base32 + "06lx603gdwad5hc3hmn763ngq0rq9bzz1ni3ga72nzk5n872arkd")))) + (build-system python-build-system) + (home-page "https://github.com/pombredanne/python-publicsuffix2") + (synopsis "Get a public suffix for a domain name using the Public Suffix List") + (description "Get a public suffix for a domain name using the Public Suffix +List. Forked from and using the same API as the publicsuffix package.") + (license (list license:expat license:mpl2.0)) + (properties `((python2-variant . ,(delay python2-publicsuffix2)))))) + +(define-public python2-publicsuffix2 + (let ((base (package-with-python2 (strip-python2-variant python-publicsuffix2)))) + (package (inherit base) + (native-inputs + `(("python2-setuptools" ,python2-setuptools) + ,@(package-native-inputs base)))))) + +(define-public python-url + (package + (name "python-url") + (version "0.2.0") + (source (origin + (method url-fetch) + (uri (pypi-uri "url" version)) + (sha256 + (base32 + "0v879yadcz9qxfl41ak6wkga1kimp9cflla9ddz03hjjvgkqy5ki")))) + (build-system python-build-system) + (inputs + `(("python-publicsuffix" ,python-publicsuffix))) + (native-inputs + `(("python-coverage" ,python-coverage) + ("python-nose" ,python-nose))) + (arguments + `(#:tests? #f)) ; FIXME: tests fail with "ImportError: No module named 'tests'" + (home-page "http://github.com/seomoz/url-py") + (synopsis "URL Parsing") + (description "Library for parsing urls.") + (license license:expat) + (properties `((python2-variant . ,(delay python2-url)))))) + +(define-public python2-url + (let ((base (package-with-python2 (strip-python2-variant python-url)))) + (package (inherit base) + (inputs + `(("python2-publicsuffix" ,python2-publicsuffix))) + (native-inputs + `(("python2-setuptools" ,python2-setuptools) + ,@(package-native-inputs base)))))) diff --git a/gnu/packages/qemu.scm b/gnu/packages/qemu.scm index c67e87fb2a..1b9f0add25 100644 --- a/gnu/packages/qemu.scm +++ b/gnu/packages/qemu.scm @@ -69,14 +69,14 @@ (define (qemu-patch commit file-name sha256) (define-public qemu (package (name "qemu") - (version "2.6.0") + (version "2.6.1") (source (origin (method url-fetch) (uri (string-append "http://wiki.qemu-project.org/download/qemu-" version ".tar.bz2")) (sha256 (base32 - "1v1lhhd6m59hqgmiz100g779rjq70pik5v4b3g936ci73djlmb69")))) + "1l88iqk0swqccrnjwczgl9arqsvy77bis862zxajy7z3dqdzshj9")))) (build-system gnu-build-system) (arguments '(;; Running tests in parallel can occasionally lead to failures, like: diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index a35c33724a..a7eee7c06c 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -313,7 +313,7 @@ (define-public qt-4 (define-public qtbase (package (name "qtbase") - (version "5.6.1-1") + (version "5.7.0") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -322,7 +322,7 @@ (define-public qtbase version ".tar.xz")) (sha256 (base32 - "0fbwprlhqmdyhh2wb9122fcpq7pbil530iak482b9sy5gqs7i5ij")) + "0ip6xnizsn269r4s1nq9lkx8cdxkjqr1fidwrj3sa8xb7h96syry")) (modules '((guix build utils))) (snippet '(begin @@ -445,7 +445,36 @@ (define-public qtbase "-no-avx" "-no-avx2" "-no-mips_dsp" - "-no-mips_dspr2")))))))) + "-no-mips_dspr2"))))) + (add-after 'install 'patch-qt_config.prf + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (qt_config.prf (string-append + out "/mkspecs/features/qt_config.prf"))) + ;; For each Qt module, let `qmake' uses search paths in the + ;; module directory instead of all in QT_INSTALL_PREFIX. + (substitute* qt_config.prf + (("\\$\\$\\[QT_INSTALL_HEADERS\\]") + "$$replace(dir, mkspecs/modules, include)") + (("\\$\\$\\[QT_INSTALL_LIBS\\]") + "$$replace(dir, mkspecs/modules, lib)") + (("\\$\\$\\[QT_HOST_LIBS\\]") + "$$replace(dir, mkspecs/modules, lib)") + (("\\$\\$\\[QT_INSTALL_PLUGINS\\]") + "$$replace(dir, mkspecs/modules, plugins)") + (("\\$\\$\\[QT_INSTALL_LIBEXECS\\]") + "$$replace(dir, mkspecs/modules, libexec)") + (("\\$\\$\\[QT_INSTALL_BINS\\]") + "$$replace(dir, mkspecs/modules, bin)") + (("\\$\\$\\[QT_INSTALL_IMPORTS\\]") + "$$replace(dir, mkspecs/modules, imports)") + (("\\$\\$\\[QT_INSTALL_QML\\]") + "$$replace(dir, mkspecs/modules, qml)")) + #t)))))) + (native-search-paths + (list (search-path-specification + (variable "QMAKEPATH") + (files '(""))))) (home-page "https://www.qt.io/") (synopsis "Cross-platform GUI library") (description "Qt is a cross-platform application and UI framework for @@ -455,7 +484,7 @@ (define-public qtbase (define-public qtsvg (package (inherit qtbase) (name "qtsvg") - (version "5.6.1-1") + (version "5.7.0") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -464,7 +493,7 @@ (define-public qtsvg version ".tar.xz")) (sha256 (base32 - "1w0jvhgaiddafcms2nv8wl1klg07lncmjwm1zhdw3l6rxi9071sw")))) + "10fqrlqkiq83xhx79g8d2sjy7hjdnp28067z8f4byj7db81rzy51")))) (propagated-inputs `()) (native-inputs `(("perl" ,perl))) (inputs @@ -489,7 +518,7 @@ (define-public qtsvg (define-public qtimageformats (package (inherit qtsvg) (name "qtimageformats") - (version "5.6.1-1") + (version "5.7.0") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -498,7 +527,7 @@ (define-public qtimageformats version ".tar.xz")) (sha256 (base32 - "1p98acvsm3azka2by1ph4gdb31qbnndrr5k5wns4xk2d760y8ifc")))) + "1rb27x7i2pmvsck6wax2cg31gqpzaakciy45wm5l3lcl86j48czg")))) (native-inputs `()) (inputs `(("libmng" ,libmng) @@ -511,7 +540,7 @@ (define-public qtimageformats (define-public qtx11extras (package (inherit qtsvg) (name "qtx11extras") - (version "5.6.1-1") + (version "5.7.0") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -520,7 +549,7 @@ (define-public qtx11extras version ".tar.xz")) (sha256 (base32 - "0yj5yg2dqkrwbgbicmk2rpqsagmi8dsffkrprpsj0fmkx4awhv5y")))) + "1yrkn8pqdbvbqykas3wx1vdfimhjkgx3s5jgdxib9dgmgyx6vjzw")))) (native-inputs `(("perl" ,perl))) (inputs `(("mesa" ,mesa) @@ -529,7 +558,7 @@ (define-public qtx11extras (define-public qtxmlpatterns (package (inherit qtsvg) (name "qtxmlpatterns") - (version "5.6.1-1") + (version "5.7.0") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -538,14 +567,14 @@ (define-public qtxmlpatterns version ".tar.xz")) (sha256 (base32 - "1966rrk7f6c55k57j33rffdjs77kk4mawrnnl8yv1ckcirxc3np1")))) + "02z2qxamslg6sphnaykjcjfpypq4b69pb586s43vw4fplm72m21q")))) (native-inputs `(("perl" ,perl))) (inputs `(("qtbase" ,qtbase))))) (define-public qtdeclarative (package (inherit qtsvg) (name "qtdeclarative") - (version "5.6.1-1") + (version "5.7.0") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -554,7 +583,7 @@ (define-public qtdeclarative version ".tar.xz")) (sha256 (base32 - "094gx5mzqzcga97y7ihf052b6i5iv512lh7m0702m5q94nsn1pqw")))) + "1x7rij423g5chlfd2kix54f393vxwjvdfsn1c7sybqmfycwn5pl6")))) (native-inputs `(("perl" ,perl) ("pkg-config" ,pkg-config) @@ -568,7 +597,7 @@ (define-public qtdeclarative (define-public qtconnectivity (package (inherit qtsvg) (name "qtconnectivity") - (version "5.6.1-1") + (version "5.7.0") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -577,7 +606,7 @@ (define-public qtconnectivity version ".tar.xz")) (sha256 (base32 - "0sr6sxp0q45pacs25knr28139xdrphcjgrwlksdhdpsryfw19mzi")))) + "00r7lc1w3snfp2qfqmviqzv0cw16zd8m1sfpvxvpl65yqmzcli4q")))) (native-inputs `(("perl" ,perl) ("pkg-config" ,pkg-config) @@ -589,7 +618,7 @@ (define-public qtconnectivity (define-public qtwebsockets (package (inherit qtsvg) (name "qtwebsockets") - (version "5.6.1-1") + (version "5.7.0") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -598,7 +627,7 @@ (define-public qtwebsockets version ".tar.xz")) (sha256 (base32 - "1fz0x8570zxc00a22skd848svma3p2g3xyxj14jq10559jihqqil")))) + "0hwb2l7iwf4wf7l95dli8j3b7h0nffp56skfg1x810kzj0df26vl")))) (native-inputs `(("perl" ,perl) ("qtdeclarative" ,qtdeclarative))) @@ -607,7 +636,7 @@ (define-public qtwebsockets (define-public qtsensors (package (inherit qtsvg) (name "qtsensors") - (version "5.6.1-1") + (version "5.7.0") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -616,7 +645,7 @@ (define-public qtsensors version ".tar.xz")) (sha256 (base32 - "0kcrvf6vzn6g2v2m70f9r3raalzmfp48rwjlqhss3w84jfz3y04r")))) + "1gii6wg2xd3bkb86y5hgpmwcpl04xav030zscpl6fhscl9kcqg98")))) (native-inputs `(("perl" ,perl) ("qtdeclarative" ,qtdeclarative))) @@ -625,7 +654,7 @@ (define-public qtsensors (define-public qtmultimedia (package (inherit qtsvg) (name "qtmultimedia") - (version "5.6.1-1") + (version "5.7.0") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -634,7 +663,7 @@ (define-public qtmultimedia version ".tar.xz")) (sha256 (base32 - "0paffx0614ivjbf87lr9klpbqik6r1pzbc14l41np6d9jv3dqa2f")))) + "0ndmhiflmyr144nq8drd5njsdi282ixsm4730q5n0ji2v9dp1bh5")))) (native-inputs `(("perl" ,perl) ("pkg-config" ,pkg-config) @@ -649,7 +678,7 @@ (define-public qtmultimedia (define-public qtwayland (package (inherit qtsvg) (name "qtwayland") - (version "5.6.1-1") + (version "5.7.0") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -658,7 +687,7 @@ (define-public qtwayland version ".tar.xz")) (sha256 (base32 - "1fnvgpi49ilds3ah9iizxj9qhhb5rnwqd9h03bhkwf0ydywv52c4")))) + "04dynjcr6gxi3hcqdf688a4hkabi2l17slpcx9k0f3dxygwcgf96")))) (native-inputs `(("glib" ,glib) ("perl" ,perl) @@ -680,7 +709,7 @@ (define-public qtwayland (define-public qtserialport (package (inherit qtsvg) (name "qtserialport") - (version "5.6.1-1") + (version "5.7.0") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -689,7 +718,7 @@ (define-public qtserialport version ".tar.xz")) (sha256 (base32 - "135cbgghxk0c6dblmyyrw6znfb9m8sac9hhyc2dm6vq7vzy8id52")))) + "0rc2l14s59qskp16wqlkizfai32s41qlm7a86r3qahx28gc51qaw")))) (native-inputs `(("perl" ,perl))) (inputs `(("qtbase" ,qtbase) @@ -698,7 +727,7 @@ (define-public qtserialport (define-public qtwebchannel (package (inherit qtsvg) (name "qtwebchannel") - (version "5.6.1-1") + (version "5.7.0") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -707,7 +736,7 @@ (define-public qtwebchannel version ".tar.xz")) (sha256 (base32 - "10kys3ppjkj60fs1s335fdcpdsbxsjn6ibvm6zph9gqbncabd2l7")))) + "05lqfidlh1ahdd1j9y20p2037qbcq51zkdzj2m8fwhn7ghbwvd1s")))) (native-inputs `(("perl" ,perl) ("qtdeclarative" ,qtdeclarative) @@ -717,7 +746,7 @@ (define-public qtwebchannel (define-public qtlocation (package (inherit qtsvg) (name "qtlocation") - (version "5.6.1-1") + (version "5.7.0") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -726,18 +755,18 @@ (define-public qtlocation version ".tar.xz")) (sha256 (base32 - "0my4pbcxa58yzvdh65l5qx99ln03chjr5c3ml5v37wfk7nx23k69")))) + "0rd898gndn41jrp78203lxd94ybfv693l0qg0myag4r46ikk69vh")))) (native-inputs `(("perl" ,perl) ("qtdeclarative" ,qtdeclarative) - ;("qtquickcontrols" ,qtquickcontrols) + ("qtquickcontrols" ,qtquickcontrols) ("qtserialport" ,qtserialport))) (inputs `(("qtbase" ,qtbase))))) (define-public qttools (package (inherit qtsvg) (name "qttools") - (version "5.6.1-1") + (version "5.7.0") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -746,7 +775,7 @@ (define-public qttools version ".tar.xz")) (sha256 (base32 - "0haic027a2d7p7k8xz83fbvci4a4dln34360rlwgy7hlyy5m4nip")))) + "004m9l7bgh7qnncbyl3d5fkggdrqx58ib21xv4hflvvarxrssibg")))) (native-inputs `(("perl" ,perl) ("qtdeclarative" ,qtdeclarative))) @@ -757,7 +786,7 @@ (define-public qttools (define-public qtscript (package (inherit qtsvg) (name "qtscript") - (version "5.6.1-1") + (version "5.7.0") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -766,13 +795,64 @@ (define-public qtscript version ".tar.xz")) (sha256 (base32 - "1gini9483flqa9q4a4bl81bh7g5s408bycqykqhgbklmfd29y5lx")))) + "0040890p5ilyrmcpndz1hhp08x2ms5gw4lp4n5iax2a957yy2i4w")))) (native-inputs `(("perl" ,perl) ("qttools" ,qttools))) (inputs `(("qtbase" ,qtbase))))) +(define-public qtquickcontrols + (package (inherit qtsvg) + (name "qtquickcontrols") + (version "5.7.0") + (source (origin + (method url-fetch) + (uri (string-append "https://download.qt.io/official_releases/qt/" + (version-major+minor version) "/" version + "/submodules/" name "-opensource-src-" + version ".tar.xz")) + (sha256 + (base32 + "0cpcrmz9n5b4bgmshmk093lirl9xwqb23inchnai1zqg21vrmqfq")))) + (inputs + `(("qtbase" ,qtbase) + ("qtdeclarative" ,qtdeclarative))))) + +(define-public qtquickcontrols2 + (package (inherit qtsvg) + (name "qtquickcontrols2") + (version "5.7.0") + (source (origin + (method url-fetch) + (uri (string-append "https://download.qt.io/official_releases/qt/" + (version-major+minor version) "/" version + "/submodules/" name "-opensource-src-" + version ".tar.xz")) + (sha256 + (base32 + "0i8h933vhvx1bmniqdx0idg6vk82w9byd3dq0bb2phwjg5vv1xb3")))) + (inputs + `(("qtbase" ,qtbase) + ("qtdeclarative" ,qtdeclarative))))) + +(define-public qtgraphicaleffects + (package (inherit qtsvg) + (name "qtgraphicaleffects") + (version "5.7.0") + (source (origin + (method url-fetch) + (uri (string-append "https://download.qt.io/official_releases/qt/" + (version-major+minor version) "/" version + "/submodules/" name "-opensource-src-" + version ".tar.xz")) + (sha256 + (base32 + "1rwdjg5mk6xpadmxfq64xfp573zp5lrj9illb9105ra5wff565n8")))) + (inputs + `(("qtbase" ,qtbase) + ("qtdeclarative" ,qtdeclarative))))) + (define-public python-sip (package (name "python-sip") @@ -990,8 +1070,10 @@ (define-public qtkeychain (sha256 (base32 "0fka5q5cdzlf79igcjgbnb2smvwbwfasqawkzkbr34whispgm6lz")))) (build-system cmake-build-system) + (native-inputs + `(("qttools" ,qttools))) (inputs - `(("qt" ,qt))) + `(("qtbase" ,qtbase))) (arguments `(#:tests? #f ; No tests included #:phases diff --git a/gnu/packages/regex.scm b/gnu/packages/regex.scm new file mode 100644 index 0000000000..cea9db8379 --- /dev/null +++ b/gnu/packages/regex.scm @@ -0,0 +1,57 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2016 Marius Bakke +;;; +;;; 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 . + +(define-module (gnu packages regex) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix build-system gnu)) + +(define-public re2 + (package + (name "re2") + (version "2016-08-01") + (source (origin + (method url-fetch) + (uri + (string-append + "https://github.com/google/re2/archive/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "06pfm3xi5irrrij85m0c46rsn9jyg1rc2r431wi2knhjvbw9f0bx")))) + (build-system gnu-build-system) + (arguments + `(#:test-target "test" + ;; There is no configure step, but the Makefile respects a prefix. + #:make-flags (list (string-append "prefix=" %output)) + #:phases + (modify-phases %standard-phases + (delete 'configure) + (add-after 'install 'delete-static-library + (lambda* (#:key outputs #:allow-other-keys) + ;; No make target for shared-only; delete the static version. + (delete-file (string-append (assoc-ref outputs "out") + "/lib/libre2.a"))))))) + (home-page "https://github.com/google/re2") + (synopsis "Fast, safe, thread-friendly regular expression engine") + (description "RE2 is a fast, safe, thread-friendly alternative to +backtracking regular expression engines like those used in PCRE, Perl and +Python. It is a C++ library.") + (license license:bsd-3))) diff --git a/gnu/packages/scribus.scm b/gnu/packages/scribus.scm index 68e57cd1e4..72f3c57612 100644 --- a/gnu/packages/scribus.scm +++ b/gnu/packages/scribus.scm @@ -49,7 +49,10 @@ (define-public scribus (base32 "0f2adwg58w37sdi3xrk8xqw486p3pcfjaypcsswjl76r2f3yd0hq")))) (build-system cmake-build-system) - (arguments `(#:tests? #f)) ; no test target + (arguments + `(#:tests? #f ; no test target + #:configure-flags + '("-DCMAKE_CXX_FLAGS=-std=gnu++11"))) (inputs `(("cairo" ,cairo) ("cups" ,cups) diff --git a/gnu/packages/serialization.scm b/gnu/packages/serialization.scm index 42bb2b8f92..4a3278fb9f 100644 --- a/gnu/packages/serialization.scm +++ b/gnu/packages/serialization.scm @@ -1,6 +1,8 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015 Ricardo Wurmus ;;; Copyright © 2016 Lukas Gradl +;;; Copyright © 2016 David Craven +;;; Copyright © 2016 Marius Bakke ;;; ;;; This file is part of GNU Guix. ;;; @@ -25,10 +27,12 @@ (define-module (gnu packages serialization) #:use-module (guix build-system gnu) #:use-module (gnu packages) #:use-module (gnu packages autotools) + #:use-module (gnu packages boost) #:use-module (gnu packages check) #:use-module (gnu packages compression) #:use-module (gnu packages documentation) - #:use-module (gnu packages pkg-config)) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages python)) (define-public cereal (package @@ -123,3 +127,76 @@ (define-public msgpack (description "Msgpack is a library for C/C++ that implements binary serialization.") (license license:boost1.0))) + +(define-public yaml-cpp + (package + (name "yaml-cpp") + (version "0.5.3") + (source (origin + (method url-fetch) + (uri (string-append + "https://github.com/jbeder/yaml-cpp/archive/" + "yaml-cpp-" version ".tar.gz")) + (sha256 + (base32 + "1vk6pjh0f5k6jwk2sszb9z5169whmiha9ainbdpa1arxlkq7v3b6")))) + (build-system cmake-build-system) + (inputs + `(("boost" ,boost))) + (native-inputs + `(("python" ,python))) + (home-page "https://github.com/jbeder/yaml-cpp") + (synopsis "YAML parser and emitter in C++") + (description "YAML parser and emitter in C++ matching the YAML 1.2 spec.") + (license license:bsd-3))) + +(define-public jsoncpp + (package + (name "jsoncpp") + (version "1.7.4") + (source (origin + (method url-fetch) + (uri (string-append + "https://github.com/open-source-parsers/jsoncpp/archive/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0sgp6nc4c6pfn92f369v08zdwpqswn9j2ihy59bpwwl0grkx1p0h")))) + (build-system cmake-build-system) + (home-page "https://github.com/open-source-parsers/jsoncpp") + (synopsis "C++ library for interacting with JSON") + (description "JsonCpp is a C++ library that allows manipulating JSON values, +including serialization and deserialization to and from strings. It can also +preserve existing comment in unserialization/serialization steps, making +it a convenient format to store user input files.") + (license license:expat))) + +(define-public capnproto + (package + (name "capnproto") + (version "0.5.3") + (source (origin + (method url-fetch) + (uri (string-append + "https://capnproto.org/capnproto-c++-" + version ".tar.gz")) + (sha256 + (base32 + "1yvaadhgakskqq5wpv53hd6fc3pp17mrdldw4i5cvgck4iwprcfd")))) + (build-system gnu-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'check 'do-not-require-/etc/services + (lambda _ + ;; Workaround for test that tries to resolve port name from + ;; /etc/services, which is not present in build environment. + (substitute* "src/kj/async-io-test.c++" ((":http") ":80")) + #t))))) + (home-page "https://capnproto.org") + (synopsis "Capability-based RPC and serialization system") + (description + "Cap'n Proto is a very fast data interchange format and capability-based +RPC system. Think JSON, except binary. Or think Protocol Buffers, except faster.") + (license license:expat))) diff --git a/gnu/packages/spice.scm b/gnu/packages/spice.scm index 3e6366e6c0..c0e8d240cf 100644 --- a/gnu/packages/spice.scm +++ b/gnu/packages/spice.scm @@ -20,6 +20,7 @@ (define-module (gnu packages spice) #:use-module (gnu packages) #:use-module (gnu packages autotools) ; remove after updating usbredir to 0.7.1+ #:use-module (gnu packages compression) + #:use-module (gnu packages cyrus-sasl) #:use-module (gnu packages gl) #:use-module (gnu packages glib) #:use-module (gnu packages gnome) @@ -199,7 +200,7 @@ (define-public spice-gtk (define-public spice (package (name "spice") - (version "0.13.1") + (version "0.12.8") (source (origin (method url-fetch) (uri (string-append @@ -207,14 +208,15 @@ (define-public spice "spice-" version ".tar.bz2")) (sha256 (base32 - "18hxk47z58cqbix5h477qmvcdmsrwzv984jw4c6fj0ns4h217jwy")))) + "0za03i77j8i3g5l2np2j7vy8cqsdbkm9wbv4hjnaqq9xhz2sa0gr")))) (build-system gnu-build-system) (propagated-inputs `(("openssl" ,openssl) ("pixman" ,pixman) ("spice-protocol" ,spice-protocol))) (inputs - `(("glib" ,glib) + `(("cyrus-sasl" ,cyrus-sasl) + ("glib" ,glib) ("libjpeg" ,libjpeg) ("lz4" ,lz4) ("opus" ,opus) diff --git a/gnu/packages/ssh.scm b/gnu/packages/ssh.scm index 16cd6e20d8..b2612a495f 100644 --- a/gnu/packages/ssh.scm +++ b/gnu/packages/ssh.scm @@ -139,10 +139,19 @@ (define-public openssh (build-system gnu-build-system) (inputs `(("groff" ,groff) ("openssl" ,openssl) + ("pam" ,linux-pam) ("zlib" ,zlib) ("xauth" ,xauth))) ;for 'ssh -X' and 'ssh -Y' (arguments `(#:test-target "tests" + #:configure-flags '("--sysconfdir=/etc" + + ;; Default value of 'PATH' used by sshd. + "--with-default-path=/run/current-system/profile/bin" + + ;; Enable PAM support in sshd. + "--with-pam") + #:phases (modify-phases %standard-phases (add-after 'configure 'reset-/var/empty diff --git a/gnu/packages/synergy.scm b/gnu/packages/synergy.scm index ecff82ce7b..7f8a30fa33 100644 --- a/gnu/packages/synergy.scm +++ b/gnu/packages/synergy.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2014, 2015 Eric Bavier +;;; Copyright © 2014, 2015, 2016 Eric Bavier ;;; Copyright © 2016 Efraim Flashner ;;; ;;; This file is part of GNU Guix. @@ -33,7 +33,7 @@ (define-module (gnu packages synergy) (define-public synergy (package (name "synergy") - (version "1.7.6") + (version "1.8.2") (source (origin (method url-fetch) @@ -42,7 +42,7 @@ (define-public synergy (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "07a1g2kh4f064nqjdqgfzrjfayls31scnssphbndmnvfc20bhlx4")) + "1ym9lmnm64i1bw4spxq40drb4nvzsq5z7zq1935aq0kgccccg11g")) (modules '((guix build utils))) (snippet ;; Remove ~14MB of unnecessary bundled source and binaries diff --git a/gnu/packages/terminals.scm b/gnu/packages/terminals.scm index 98f0060c0d..7837723e39 100644 --- a/gnu/packages/terminals.scm +++ b/gnu/packages/terminals.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2015 Efraim Flashner ;;; Copyright © 2016 Mckinley Olsen ;;; Copyright © 2016 Alex Griffin +;;; Copyright © 2016 David Craven ;;; ;;; This file is part of GNU Guix. ;;; @@ -27,16 +28,20 @@ (define-module (gnu packages terminals) #:use-module (guix git-download) #:use-module (guix packages) #:use-module (gnu packages autotools) + #:use-module (gnu packages freedesktop) #:use-module (gnu packages gettext) + #:use-module (gnu packages gl) #:use-module (gnu packages glib) #:use-module (gnu packages gnome) #:use-module (gnu packages gtk) + #:use-module (gnu packages linux) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) #:use-module (gnu packages wm) #:use-module (gnu packages ncurses) #:use-module (gnu packages gtk) - #:use-module (gnu packages gnome)) + #:use-module (gnu packages gnome) + #:use-module (gnu packages xdisorg)) (define-public tilda (package @@ -159,3 +164,69 @@ (define-public asciinema Forget screen recording apps and blurry video. Enjoy a lightweight, purely text-based approach to terminal recording.") (license license:gpl3))) + +(define-public libtsm + (package + (name "libtsm") + (version "3") + (source (origin + (method url-fetch) + (uri (string-append + "https://freedesktop.org/software/kmscon/releases/" + "libtsm-" version ".tar.xz")) + (sha256 + (base32 + "01ygwrsxfii0pngfikgqsb4fxp8n1bbs47l7hck81h9b9bc1ah8i")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("libxkbcommon" ,libxkbcommon))) + (synopsis "Xterm state machine library") + (description "TSM is a state machine for DEC VT100-VT520 compatible +terminal emulators. It tries to support all common standards while keeping +compatibility to existing emulators like xterm, gnome-terminal, konsole, etc.") + (home-page "https://www.freedesktop.org/wiki/Software/libtsm") + ;; Hash table implementation is lgpl2.1+ licensed. + ;; The wcwidth implementation in external/wcwidth.{h,c} uses a license + ;; derived from ISC. + ;; UCS-4 to UTF-8 encoding is copied from "terminology" which is released + ;; under the bsd 2 license. + (license (list license:expat license:lgpl2.1+ license:isc license:bsd-2)))) + +(define-public kmscon + (package + (name "kmscon") + (version "8") + (source (origin + (method url-fetch) + (uri (string-append + "https://freedesktop.org/software/kmscon/releases/" + "kmscon-" version ".tar.xz")) + (sha256 + (base32 + "0axfwrp3c8f4gb67ap2sqnkn75idpiw09s35wwn6kgagvhf1rc0a")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("libdrm" ,libdrm) + ("libtsm" ,libtsm) + ("libxkbcommon" ,libxkbcommon) + ("logind" ,elogind) + ("mesa" ,mesa) + ("pango" ,pango) + ("udev" ,eudev))) + (synopsis "Simple terminal emulator") + (description "Kmscon is a simple terminal emulator based on linux kernel +mode setting (KMS). It is an attempt to replace the in-kernel VT implementation +with a userspace console. See kmscon(1) man-page for usage information.") + (home-page "https://www.freedesktop.org/wiki/Software/kmscon") + ;; Hash table implementation is lgpl2.1+ licensed. + ;; The wcwidth implementation in external/wcwidth.{h,c} uses a license + ;; derived from ISC. + ;; UCS-4 to UTF-8 encoding is copied from "terminology" which is released + ;; under the bsd 2 license. + ;; Unifont-Font is from http://unifoundry.com/unifont.html and licensed + ;; under the terms of the GNU GPL. + (license (list license:expat license:lgpl2.1+ license:bsd-2 license:gpl2+)))) diff --git a/gnu/packages/tor.scm b/gnu/packages/tor.scm index eec3c96407..951b8f680b 100644 --- a/gnu/packages/tor.scm +++ b/gnu/packages/tor.scm @@ -38,14 +38,14 @@ (define-module (gnu packages tor) (define-public tor (package (name "tor") - (version "0.2.8.6") + (version "0.2.8.7") (source (origin (method url-fetch) (uri (string-append "https://www.torproject.org/dist/tor-" version ".tar.gz")) (sha256 (base32 - "0nmbwcr8s1qkrc2ahrk7jz81nax74sdhszkhrrgys8ndyw1grj9x")))) + "1iigfi8ljl88s8b5y1g4ak8im57simazscl467zvfbg8k6vf4i5f")))) (build-system gnu-build-system) (native-inputs `(("python" ,python-2))) ; for tests diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 921aff4e25..b85ece0aac 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -53,6 +53,7 @@ (define-module (gnu packages video) #:use-module (gnu packages databases) #:use-module (gnu packages elf) #:use-module (gnu packages fontutils) + #:use-module (gnu packages freedesktop) #:use-module (gnu packages fribidi) #:use-module (gnu packages gettext) #:use-module (gnu packages ghostscript) @@ -399,14 +400,14 @@ (define-public libva (define-public ffmpeg (package (name "ffmpeg") - (version "3.1.2") + (version "3.1.3") (source (origin (method url-fetch) (uri (string-append "https://ffmpeg.org/releases/ffmpeg-" version ".tar.xz")) (sha256 (base32 - "0qdxp6r6x47jzi6nmbsv3dhvm073c8n5hpnlmj5gwihgkyva5ljq")))) + "08l8290gipm632dhrqndnphdpkc5ncqc1j3hxdx46r1a3q3mqmzq")))) (build-system gnu-build-system) (inputs `(("fontconfig" ,fontconfig) @@ -626,6 +627,7 @@ (define-public vlc ("libvorbis" ,libvorbis) ("libtheora" ,libtheora) ("libxext" ,libxext) + ("libxi" ,libxi) ("libxinerama" ,libxinerama) ("libxml2" ,libxml2) ("libxpm" ,libxpm) @@ -635,7 +637,8 @@ (define-public vlc ("perl" ,perl) ("pulseaudio" ,pulseaudio) ("python" ,python-wrapper) - ("qtbase" ,qtbase) + ("qt" ,qt) ; FIXME: reenable modular qt after update - requires building + ;("qtbase" ,qtbase) with -std=gnu++11. ;("qtx11extras" ,qtx11extras) ("sdl" ,sdl) ("sdl-image" ,sdl-image) @@ -1141,8 +1144,9 @@ (define-public avidemux ("perl" ,perl) ("pulseaudio" ,pulseaudio) ("python" ,python-wrapper) - ("qtbase" ,qtbase) - ("qttools" ,qttools) + ("qt" ,qt) ; FIXME: reenable modular qt after update - requires building + ;("qtbase" ,qtbase) with -std=gnu++11. + ;("qttools" ,qttools) ("sdl" ,sdl) ("sqlite" ,sqlite) ("yasm" ,yasm) @@ -1396,7 +1400,8 @@ (define-public v4l-utils '(#:configure-flags (list (string-append "--with-udevdir=" (assoc-ref %outputs "out") - "/lib/udev")))) + "/lib/udev") + "CXXFLAGS=-std=gnu++11"))) (native-inputs `(("pkg-config" ,pkg-config))) (inputs diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 29055c3c06..e004062fba 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -2615,11 +2615,11 @@ (define-public perl-net-smtp-ssl (source (origin (method url-fetch) - (uri (string-append "https://cpan.metacpan.org/authors/id/R/RJ/RJBS/" + (uri (string-append "mirror://cpan/authors/id/R/RJ/RJBS/" "Net-SMTP-SSL-" version ".tar.gz")) (sha256 - (base32 - "05y94mb1vdw32mvwb0cp2h4ggh32f8j8nwwfjb8kjwxvfkfhyp9h")))) + (base32 + "05y94mb1vdw32mvwb0cp2h4ggh32f8j8nwwfjb8kjwxvfkfhyp9h")))) (build-system perl-build-system) (propagated-inputs `(("perl-io-socket-ssl" ,perl-io-socket-ssl))) diff --git a/gnu/packages/webkit.scm b/gnu/packages/webkit.scm index 578b4c9847..2c940285c7 100644 --- a/gnu/packages/webkit.scm +++ b/gnu/packages/webkit.scm @@ -53,14 +53,14 @@ (define-module (gnu packages webkit) (define-public webkitgtk (package (name "webkitgtk") - (version "2.12.3") + (version "2.12.4") (source (origin (method url-fetch) - (uri (string-append "http://www.webkitgtk.org/releases/" + (uri (string-append "https://www.webkitgtk.org/releases/" name "-" version ".tar.xz")) (sha256 (base32 - "01y34v62khf03w25fnzgd42rrai5mf1m95lr5vjyw8ya5sdbng0p")))) + "0xwsc2lpb4q55vdgmwljx43219l0sa6r5mqs3bmw3fwsb5vk2ka2")))) (build-system cmake-build-system) (arguments '(#:tests? #f ; no tests diff --git a/gnu/packages/wordnet.scm b/gnu/packages/wordnet.scm index dbc75860ef..289ecdeffb 100644 --- a/gnu/packages/wordnet.scm +++ b/gnu/packages/wordnet.scm @@ -83,7 +83,7 @@ (define-public wordnet (home-page "http://wordnet.princeton.edu/") (synopsis "Lexical database for the English language") (description - "WordNet® is a large lexical database of English. Nouns, verbs, + "WordNet is a large lexical database of English. Nouns, verbs, adjectives and adverbs are grouped into sets of cognitive synonyms (synsets), each expressing a distinct concept. Synsets are interlinked by means of conceptual-semantic and lexical relations. The resulting network of diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm index a555a096a3..865a9083fa 100644 --- a/gnu/packages/xdisorg.scm +++ b/gnu/packages/xdisorg.scm @@ -182,14 +182,14 @@ (define-public xdotool (arguments '(#:tests? #f ; Test suite requires a lot of black magic #:phases - (alist-replace 'configure - (lambda* (#:key outputs #:allow-other-keys #:rest args) - (setenv "PREFIX" (assoc-ref outputs "out")) - (setenv "LDFLAGS" (string-append "-Wl,-rpath=" - (assoc-ref - %outputs "out") "/lib")) - (setenv "CC" "gcc")) - %standard-phases))) + (modify-phases %standard-phases + (replace 'configure + (lambda* (#:key outputs #:allow-other-keys #:rest args) + (setenv "PREFIX" (assoc-ref outputs "out")) + (setenv "LDFLAGS" + (string-append "-Wl,-rpath=" + (assoc-ref %outputs "out") "/lib")) + (setenv "CC" "gcc")))))) (native-inputs `(("perl" ,perl))) ; for pod2man (inputs `(("libx11" ,libx11) ("libxext" ,libxext) @@ -514,21 +514,20 @@ (define-public unclutter (build-system gnu-build-system) (arguments '(#:tests? #f ; no check target - #:phases (alist-delete - 'configure - (alist-replace - 'install - (lambda* (#:key inputs outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (bin (string-append out "/bin")) - (man1 (string-append out "/share/man/man1"))) - (mkdir-p bin) - (mkdir-p man1) - (zero? - (system* "make" "install" "install.man" - (string-append "BINDIR=" bin) - (string-append "MANDIR=" man1))))) - %standard-phases)))) + #:phases + (modify-phases %standard-phases + (delete 'configure) + (replace 'install + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin")) + (man1 (string-append out "/share/man/man1"))) + (mkdir-p bin) + (mkdir-p man1) + (zero? + (system* "make" "install" "install.man" + (string-append "BINDIR=" bin) + (string-append "MANDIR=" man1))))))))) (inputs `(("libx11" ,libx11))) (home-page "http://ftp.x.org/contrib/utilities/") (synopsis "Hide idle mouse cursor") diff --git a/gnu/packages/xml.scm b/gnu/packages/xml.scm index cfdc6c006d..a478599fe6 100644 --- a/gnu/packages/xml.scm +++ b/gnu/packages/xml.scm @@ -1,4 +1,3 @@ - ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013, 2014, 2015, 2016 Ludovic Courtès ;;; Copyright © 2013, 2015 Andreas Enge diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 72007f1f35..23834ba19e 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -133,6 +133,29 @@ (define-public imake autotools system.") (license license:x11))) +(define-public lndir + (package + (name "lndir") + (version "1.0.3") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/individual/util/" + "lndir-" version ".tar.bz2")) + (sha256 + (base32 + "0pdngiy8zdhsiqx2am75yfcl36l7kd7d7nl0rss8shcdvsqgmx29")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("xproto" ,xproto))) + (home-page "http://www.x.org") + (synopsis "Symlink directory into tree") + (description "Create a shadow directory of symbolic links to another +directory tree.") + (license license:x11))) + (define-public bdftopcf (package (name "bdftopcf") @@ -2361,7 +2384,7 @@ (define-public libevdev (define-public xf86-input-evdev (package (name "xf86-input-evdev") - (version "2.10.1") + (version "2.10.3") (source (origin (method url-fetch) @@ -2371,7 +2394,7 @@ (define-public xf86-input-evdev ".tar.bz2")) (sha256 (base32 - "05z05n39v8s2b0hwhcjb1bca7j8gc62bv9jxnibawwmjym3jp75g")))) + "18ijnclnylrr7vkvflalkw4bqfily3scg6baczjjgycdpsj1p8js")))) (build-system gnu-build-system) (inputs `(("udev" ,eudev) @@ -2511,7 +2534,7 @@ (define-public xf86-input-mouse (define-public xf86-input-synaptics (package (name "xf86-input-synaptics") - (version "1.8.3") + (version "1.8.99.1") (source (origin (method url-fetch) @@ -2521,7 +2544,7 @@ (define-public xf86-input-synaptics ".tar.bz2")) (sha256 (base32 - "009zx199pilcvlaqm6fx4mg94q81d6vvl5rznmw3frzkfh6117yk")))) + "1apbcwn20p7sy07ghlldmqcnxag2r9sdjqmb4xxzki0hz8wm72ac")))) (build-system gnu-build-system) (inputs `(("libx11" ,libx11) ("libxi" ,libxi) @@ -2623,7 +2646,7 @@ (define-public xf86-video-ark (define-public xf86-video-ati (package (name "xf86-video-ati") - (version "7.6.1") + (version "7.7.0") (source (origin (method url-fetch) @@ -2633,7 +2656,7 @@ (define-public xf86-video-ati ".tar.bz2")) (sha256 (base32 - "0k6kw69mcarlmxlb4jlhz887jxqr94qx2pin04xcv2ysp3pdj5i5")))) + "1hy1n8an98mflfbdcb3q7wv59x971j7nf9zhivf90p0lgdbiqkc4")))) (build-system gnu-build-system) (inputs `(("mesa" ,mesa) ("xxf86driproto" ,xf86driproto) @@ -3049,7 +3072,7 @@ (define-public xf86-video-nouveau (define-public xf86-video-openchrome (package (name "xf86-video-openchrome") - (version "0.3.3") + (version "0.5.0") (source (origin (method url-fetch) @@ -3058,9 +3081,8 @@ (define-public xf86-video-openchrome version ".tar.bz2")) (sha256 - (base32 - "1v8j4i1r268n4fc5gq54zg1x50j0rhw71f3lba7411mcblg2z7p4")) - (patches (search-patches "xf86-video-openchrome-glibc-2.20.patch")))) + (base32 + "1fsmr455lk89zl795d6b5ypyqjim40j3h2vjch52lcssjw9xdza9")))) (build-system gnu-build-system) (inputs `(("libx11" ,libx11) ("libxext" ,libxext) diff --git a/gnu/services/base.scm b/gnu/services/base.scm index 218f3b3cf3..f3f6408687 100644 --- a/gnu/services/base.scm +++ b/gnu/services/base.scm @@ -49,7 +49,7 @@ (define-module (gnu services base) #:use-module (ice-9 format) #:export (fstab-service-type root-file-system-service - file-system-service + file-system-service-type user-unmount-service swap-service user-processes-service @@ -86,6 +86,7 @@ (define-module (gnu services base) syslog-service-type %default-syslog.conf + %default-authorized-guix-keys guix-configuration guix-configuration? guix-service @@ -163,7 +164,7 @@ (define fstab-service-type (extensions (list (service-extension etc-service-type file-systems->fstab))) - (compose identity) + (compose concatenate) (extend append))) (define %root-file-system-shepherd-service @@ -229,7 +230,8 @@ (define dependency->shepherd-service-name (file-system->shepherd-service-name fs)))) (define (file-system-shepherd-service file-system) - "Return a list containing the shepherd service for @var{file-system}." + "Return the shepherd service for @var{file-system}, or @code{#f} if +@var{file-system} is not auto-mounted upon boot." (let ((target (file-system-mount-point file-system)) (device (file-system-device file-system)) (type (file-system-type file-system)) @@ -237,10 +239,9 @@ (define (file-system-shepherd-service file-system) (check? (file-system-check? file-system)) (create? (file-system-create-mount-point? file-system)) (dependencies (file-system-dependencies file-system))) - (if (file-system-mount? file-system) - (with-imported-modules '((gnu build file-systems) - (guix build bournish)) - (list + (and (file-system-mount? file-system) + (with-imported-modules '((gnu build file-systems) + (guix build bournish)) (shepherd-service (provision (list (file-system->shepherd-service-name file-system))) (requirement `(root-file-system @@ -289,23 +290,19 @@ (define (file-system-shepherd-service file-system) ;; We need an additional module. (modules `(((gnu build file-systems) #:select (check-file-system canonicalize-device-spec)) - ,@%default-modules))))) - '()))) + ,@%default-modules))))))) (define file-system-service-type - ;; TODO(?): Make this an extensible service that takes objects - ;; and returns a list of . - (service-type (name 'file-system) + (service-type (name 'file-systems) (extensions (list (service-extension shepherd-root-service-type - file-system-shepherd-service) + (lambda (file-systems) + (filter-map file-system-shepherd-service + file-systems))) (service-extension fstab-service-type - identity))))) - -(define* (file-system-service file-system) - "Return a service that mounts @var{file-system}, a @code{} -object." - (service file-system-service-type file-system)) + identity))) + (compose concatenate) + (extend append))) (define user-unmount-service-type (shepherd-service-type @@ -1003,15 +1000,14 @@ (define* (guix-build-accounts count #:key 1+ 1)) -(define (hydra-key-authorization guix) - "Return a gexp with code to register the hydra.gnu.org public key with -GUIX." +(define (hydra-key-authorization key guix) + "Return a gexp with code to register KEY, a file containing a 'guix archive' +public key, with GUIX." #~(unless (file-exists? "/etc/guix/acl") (let ((pid (primitive-fork))) (case pid ((0) - (let* ((key (string-append #$guix - "/share/guix/hydra.gnu.org.pub")) + (let* ((key #$key) (port (open-file key "r0b"))) (format #t "registering public key '~a'...~%" key) (close-port (current-input-port)) @@ -1025,6 +1021,10 @@ (define (hydra-key-authorization guix) (format (current-error-port) "warning: \ failed to register hydra.gnu.org public key: ~a~%" status)))))))) +(define %default-authorized-guix-keys + ;; List of authorized substitute keys. + (list #~(string-append #$guix "/share/guix/hydra.gnu.org.pub"))) + (define-record-type* guix-configuration make-guix-configuration guix-configuration? @@ -1036,6 +1036,8 @@ (define-record-type* (default 10)) (authorize-key? guix-configuration-authorize-key? ;Boolean (default #t)) + (authorized-keys guix-configuration-authorized-keys ;list of gexps + (default %default-authorized-guix-keys)) (use-substitutes? guix-configuration-use-substitutes? ;Boolean (default #t)) (substitute-urls guix-configuration-substitute-urls ;list of strings @@ -1053,7 +1055,8 @@ (define %default-guix-configuration (define (guix-shepherd-service config) "Return a for the Guix daemon service with CONFIG." (match config - (($ guix build-group build-accounts authorize-key? + (($ guix build-group build-accounts + authorize-key? keys use-substitutes? substitute-urls extra-options lsof lsh) (list (shepherd-service @@ -1093,14 +1096,15 @@ (define (guix-accounts config) (define (guix-activation config) "Return the activation gexp for CONFIG." (match config - (($ guix build-group build-accounts authorize-key?) + (($ guix build-group build-accounts authorize-key? keys) ;; Assume that the store has BUILD-GROUP as its group. We could ;; otherwise call 'chown' here, but the problem is that on a COW unionfs, ;; chown leads to an entire copy of the tree, which is a bad idea. ;; Optionally authorize hydra.gnu.org's key. (if authorize-key? - (hydra-key-authorization guix) + #~(begin + #$@(map (cut hydra-key-authorization <> guix) keys)) #~#f)))) (define guix-service-type diff --git a/gnu/system.scm b/gnu/system.scm index 04dd7a845c..a21bc5eb0e 100644 --- a/gnu/system.scm +++ b/gnu/system.scm @@ -178,9 +178,9 @@ (define-record-type* operating-system ;;; Services. ;;; -(define (other-file-system-services os) - "Return file system services for the file systems of OS that are not marked -as 'needed-for-boot'." +(define (non-boot-file-system-service os) + "Return the file system service for the file systems of OS that are not +marked as 'needed-for-boot'." (define file-systems (remove file-system-needed-for-boot? (operating-system-file-systems os))) @@ -204,7 +204,8 @@ (define (add-dependencies fs) (file-system-dependencies fs)) eq?)))) - (map (compose file-system-service add-dependencies) file-systems)) + (service file-system-service-type + (map add-dependencies file-systems))) (define (mapped-device-user device file-systems) "Return a file system among FILE-SYSTEMS that uses DEVICE, or #f." @@ -270,11 +271,11 @@ (define known-fs (let* ((mappings (device-mapping-services os)) (root-fs (root-file-system-service)) - (other-fs (other-file-system-services os)) + (other-fs (non-boot-file-system-service os)) (unmount (user-unmount-service known-fs)) (swaps (swap-services os)) (procs (user-processes-service - (map service-parameters other-fs))) + (service-parameters other-fs))) (host-name (host-name-service (operating-system-host-name os))) (entries (operating-system-directory-base-entries os #:container? container?))) @@ -302,7 +303,8 @@ (define known-fs (operating-system-setuid-programs os)) (service profile-service-type (operating-system-packages os)) - (append other-fs mappings swaps + other-fs + (append mappings swaps ;; Add the firmware service, unless we are building for a ;; container. diff --git a/gnu/system/shadow.scm b/gnu/system/shadow.scm index c3948900eb..cfdcf5e136 100644 --- a/gnu/system/shadow.scm +++ b/gnu/system/shadow.scm @@ -78,6 +78,8 @@ (define-record-type* (default '())) ; list of strings (comment user-account-comment (default "")) (home-directory user-account-home-directory) + (create-home-directory? user-account-create-home-directory? ;Boolean + (default #t)) (shell user-account-shell ; gexp (default #~(string-append #$bash "/bin/bash"))) (system? user-account-system? ; Boolean @@ -128,6 +130,7 @@ (define %base-user-accounts (group "nogroup") (shell #~(string-append #$shadow "/sbin/nologin")) (home-directory "/nonexistent") + (create-home-directory? #f) (system? #t)))) (define (default-skeletons) @@ -255,6 +258,7 @@ (define (user-account->gexp account) #$(user-account-supplementary-groups account) #$(user-account-comment account) #$(user-account-home-directory account) + #$(user-account-create-home-directory? account) ,#$(user-account-shell account) ; this one is a gexp #$(user-account-password account) #$(user-account-system? account))) diff --git a/gnu/tests/base.scm b/gnu/tests/base.scm index 7170ab1e38..ca6f76c0f8 100644 --- a/gnu/tests/base.scm +++ b/gnu/tests/base.scm @@ -190,6 +190,42 @@ (define marionette (setlocale LC_ALL before))) marionette)) + (test-assert "/run/current-system is a GC root" + (marionette-eval '(begin + ;; Make sure the (guix …) modules are found. + (eval-when (expand load eval) + (set! %load-path + (cons + (string-append + "/run/current-system/profile/share/guile/site/" + (effective-version)) + %load-path)) + (set! %load-compiled-path + (cons + (string-append + "/run/current-system/profile/share/guile/site/" + (effective-version)) + %load-compiled-path))) + + (use-modules (srfi srfi-34) (guix store)) + + (let ((system (readlink "/run/current-system"))) + (guard (c ((nix-protocol-error? c) + (file-exists? system))) + (with-store store + (delete-paths store (list system)) + #f)))) + marionette)) + + ;; This symlink is currently unused, but better have it point to the + ;; right place. See + ;; . + (test-equal "/var/guix/gcroots/profiles is a valid symlink" + "/var/guix/profiles" + (marionette-eval '(readlink "/var/guix/gcroots/profiles") + marionette)) + + (test-assert "screendump" (begin (marionette-control (string-append "screendump " #$output diff --git a/guix/base64.scm b/guix/base64.scm index e4d2ec589b..4bd5dc5e1b 100644 --- a/guix/base64.scm +++ b/guix/base64.scm @@ -6,8 +6,6 @@ ;; ;; Some optimizations made by Ludovic Courtès , 2015. ;; -;; Copyright © 2009, 2010 Göran Weinholt -;; ;; This program 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 @@ -20,6 +18,30 @@ ;; ;; You should have received a copy of the GNU General Public License ;; along with this program. If not, see . +;; +;; This file incorporates work covered by the following copyright and +;; permission notice: +;; +;; Copyright © 2009, 2010 Göran Weinholt +;; +;; Permission is hereby granted, free of charge, to any person obtaining a +;; copy of this software and associated documentation files (the "Software"), +;; to deal in the Software without restriction, including without limitation +;; the rights to use, copy, modify, merge, publish, distribute, sublicense, +;; and/or sell copies of the Software, and to permit persons to whom the +;; Software is furnished to do so, subject to the following conditions: +;; +;; The above copyright notice and this permission notice shall be included in +;; all copies or substantial portions of the Software. +;; +;; THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +;; IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +;; FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +;; THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +;; LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +;; FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +;; DEALINGS IN THE SOFTWARE. + #!r6rs ;; RFC 4648 Base-N Encodings diff --git a/guix/import/utils.scm b/guix/import/utils.scm index 44e004b084..93cd0f0fa5 100644 --- a/guix/import/utils.scm +++ b/guix/import/utils.scm @@ -22,7 +22,7 @@ (define-module (guix import utils) #:use-module (srfi srfi-1) #:use-module (guix hash) #:use-module (guix base32) - #:use-module (guix licenses) + #:use-module ((guix licenses) #:prefix license:) #:use-module (guix utils) #:use-module ((guix build download) #:prefix build:) #:export (factorize-uri @@ -112,12 +112,12 @@ (define (guix-hash-url filename) (define (string->license str) "Convert the string STR into a license object." (match str - ("GNU LGPL" lgpl2.0) - ("GPL" gpl3) - ((or "BSD" "BSD License") bsd-3) - ((or "MIT" "MIT license" "Expat license") expat) - ("Public domain" public-domain) - ((or "Apache License, Version 2.0" "Apache 2.0") asl2.0) + ("GNU LGPL" license:lgpl2.0) + ("GPL" license:gpl3) + ((or "BSD" "BSD License") license:bsd-3) + ((or "MIT" "MIT license" "Expat license") license:expat) + ("Public domain" license:public-domain) + ((or "Apache License, Version 2.0" "Apache 2.0") license:asl2.0) (_ #f))) (define (license->symbol license) @@ -125,12 +125,12 @@ (define (license->symbol license) to in the (guix licenses) module, or #f if there is no such known license." ;; TODO: Traverse list public variables in (guix licenses) instead so we ;; don't have to maintain a list manualy. - (assoc-ref `((,lgpl2.0 . lgpl2.0) - (,gpl3 . gpl3) - (,bsd-3 . bsd-3) - (,expat . expat) - (,public-domain . public-domain) - (,asl2.0 . asl2.0)) + (assoc-ref `((,license:lgpl2.0 . license:lgpl2.0) + (,license:gpl3 . license:gpl3) + (,license:bsd-3 . license:bsd-3) + (,license:expat . license:expat) + (,license:public-domain . license:public-domain) + (,license:asl2.0 . license:asl2.0)) license)) (define (snake-case str) diff --git a/guix/scripts/archive.scm b/guix/scripts/archive.scm index e06c38aaab..8c7322d617 100644 --- a/guix/scripts/archive.scm +++ b/guix/scripts/archive.scm @@ -162,7 +162,7 @@ (define %options (alist-cons 'expression arg result))) (option '(#\n "dry-run") #f #f (lambda (opt name arg result) - (alist-cons 'dry-run? #t result))) + (alist-cons 'dry-run? #t (alist-cons 'graft? #f result)))) %standard-build-options)) diff --git a/guix/scripts/build.scm b/guix/scripts/build.scm index a02a0d5792..9a113b4ebe 100644 --- a/guix/scripts/build.scm +++ b/guix/scripts/build.scm @@ -541,7 +541,7 @@ (define %options (alist-cons 'file arg result))) (option '(#\n "dry-run") #f #f (lambda (opt name arg result) - (alist-cons 'dry-run? #t result))) + (alist-cons 'dry-run? #t (alist-cons 'graft? #f result)))) (option '(#\r "root") #t #f (lambda (opt name arg result) (alist-cons 'gc-root arg result))) diff --git a/guix/scripts/edit.scm b/guix/scripts/edit.scm index ce3ac4146d..555796a69c 100644 --- a/guix/scripts/edit.scm +++ b/guix/scripts/edit.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2015 Ludovic Courtès +;;; Copyright © 2015, 2016 Ludovic Courtès ;;; Copyright © 2015 Mathieu Lirzin ;;; ;;; This file is part of GNU Guix. @@ -74,9 +74,16 @@ (define (package->location-specification package) (define (guix-edit . args) + (define (parse-arguments) + ;; Return the list of package names. + (args-fold* args %options + (lambda (opt name arg result) + (leave (_ "~A: unrecognized option~%") name)) + cons + '())) + (with-error-handling - (let* ((specs (parse-command-line args %options '(()) - #:argument-handler cons)) + (let* ((specs (reverse (parse-arguments))) (packages (map specification->package specs))) (for-each (lambda (package) (unless (package-location package) diff --git a/guix/scripts/environment.scm b/guix/scripts/environment.scm index 9f72b7bf24..0c69bfc9d3 100644 --- a/guix/scripts/environment.scm +++ b/guix/scripts/environment.scm @@ -226,7 +226,7 @@ (define %options (alist-cons 'ad-hoc? #t result))) (option '(#\n "dry-run") #f #f (lambda (opt name arg result) - (alist-cons 'dry-run? #t result))) + (alist-cons 'dry-run? #t (alist-cons 'graft? #f result)))) (option '(#\s "system") #t #f (lambda (opt name arg result) (alist-cons 'system arg diff --git a/guix/scripts/lint.scm b/guix/scripts/lint.scm index 51191e7e7b..eac3214bbf 100644 --- a/guix/scripts/lint.scm +++ b/guix/scripts/lint.scm @@ -161,6 +161,18 @@ (define (check-texinfo-markup description) 'description) #f))) + (define (check-trademarks description) + "Check that DESCRIPTION does not contain '™' or '®' characters. See +http://www.gnu.org/prep/standards/html_node/Trademarks.html." + (match (string-index description (char-set #\™ #\®)) + ((and (? number?) index) + (emit-warning package + (format #f (_ "description should not contain ~ +trademark sign '~a' at ~d") + (string-ref description index) index) + 'description)) + (else #t))) + (define (check-proper-start description) (unless (or (properly-starts-sentence? description) (string-prefix-ci? (package-name package) description)) @@ -191,6 +203,7 @@ (define (check-end-of-sentence-space description) (if (string? description) (begin (check-not-empty description) + (check-trademarks description) ;; Use raw description for this because Texinfo rendering ;; automatically fixes end of sentence space. (check-end-of-sentence-space description) diff --git a/guix/scripts/package.scm b/guix/scripts/package.scm index 2a751a4552..fd42cdb36e 100644 --- a/guix/scripts/package.scm +++ b/guix/scripts/package.scm @@ -486,7 +486,8 @@ (define %options #f))) (option '(#\n "dry-run") #f #f (lambda (opt name arg result arg-handler) - (values (alist-cons 'dry-run? #t result) + (values (alist-cons 'dry-run? #t + (alist-cons 'graft? #f result)) #f))) (option '("bootstrap") #f #f (lambda (opt name arg result arg-handler) diff --git a/guix/scripts/system.scm b/guix/scripts/system.scm index 209ebf9752..a9fe7d5975 100644 --- a/guix/scripts/system.scm +++ b/guix/scripts/system.scm @@ -52,6 +52,7 @@ (define-module (guix scripts system) #:use-module (srfi srfi-35) #:use-module (srfi srfi-37) #:use-module (ice-9 match) + #:use-module (rnrs bytevectors) #:export (guix-system read-operating-system)) @@ -397,6 +398,9 @@ (define (system->grub-entry system number time) read-boot-parameters)) (label (boot-parameters-label params)) (root (boot-parameters-root-device params)) + (root-device (if (bytevector? root) + (uuid->string root) + root)) (kernel (boot-parameters-kernel params)) (kernel-arguments (boot-parameters-kernel-arguments params))) (menu-entry @@ -405,7 +409,7 @@ (define (system->grub-entry system number time) (seconds->string time) ")")) (linux kernel) (linux-arguments - (cons* (string-append "--root=" root) + (cons* (string-append "--root=" root-device) #~(string-append "--system=" #$system) #~(string-append "--load=" #$system "/boot") kernel-arguments)) @@ -473,18 +477,21 @@ (define* (display-system-generation number #:optional (profile %system-profile)) "Display a summary of system generation NUMBER in a human-readable format." (unless (zero? number) - (let* ((generation (generation-file-name profile number)) - (param-file (string-append generation "/parameters")) - (params (call-with-input-file param-file read-boot-parameters)) - (label (boot-parameters-label params)) - (root (boot-parameters-root-device params)) - (kernel (boot-parameters-kernel params))) + (let* ((generation (generation-file-name profile number)) + (param-file (string-append generation "/parameters")) + (params (call-with-input-file param-file read-boot-parameters)) + (label (boot-parameters-label params)) + (root (boot-parameters-root-device params)) + (root-device (if (bytevector? root) + (uuid->string root) + root)) + (kernel (boot-parameters-kernel params))) (display-generation profile number) (format #t (_ " file name: ~a~%") generation) (format #t (_ " canonical file name: ~a~%") (readlink* generation)) ;; TRANSLATORS: Please preserve the two-space indentation. (format #t (_ " label: ~a~%") label) - (format #t (_ " root device: ~a~%") root) + (format #t (_ " root device: ~a~%") root-device) (format #t (_ " kernel: ~a~%") kernel)))) (define* (list-generations pattern #:optional (profile %system-profile)) @@ -743,7 +750,7 @@ (define %options (option '(#\n "dry-run") #f #f (lambda (opt name arg result) - (alist-cons 'dry-run? #t result))) + (alist-cons 'dry-run? #t (alist-cons 'graft? #f result)))) (option '(#\s "system") #t #f (lambda (opt name arg result) (alist-cons 'system arg diff --git a/tests/gem.scm b/tests/gem.scm index 0b37c70142..a46c2b1439 100644 --- a/tests/gem.scm +++ b/tests/gem.scm @@ -71,7 +71,7 @@ (define test-json ('synopsis "A cool gem") ('description "This package provides a cool gem") ('home-page "https://example.com") - ('license ('list 'expat 'asl2.0))) + ('license ('list 'license:expat 'license:asl2.0))) #t) (x (pk 'fail x #f))))) diff --git a/tests/guix-environment-container.sh b/tests/guix-environment-container.sh index 12da950eba..d7c1b7057e 100644 --- a/tests/guix-environment-container.sh +++ b/tests/guix-environment-container.sh @@ -72,7 +72,7 @@ mount_test_code=" ;; correspond to a parent file system. ((_ mount (or \"tmpfs\" \"proc\" \"sysfs\" \"devtmpfs\" \"devpts\" \"cgroup\" \"mqueue\") _ _ _) - (and (string-prefix? mount (getcwd)) + (and (string-prefix? (getcwd) mount) mount)) ((_ mount _ _ _ _) mount))) diff --git a/tests/lint.scm b/tests/lint.scm index 770f43e57f..df69d2b4b1 100644 --- a/tests/lint.scm +++ b/tests/lint.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2012, 2013 Cyril Roelandt -;;; Copyright © 2014, 2015 Eric Bavier +;;; Copyright © 2014, 2015, 2016 Eric Bavier ;;; Copyright © 2014, 2015, 2016 Ludovic Courtès ;;; Copyright © 2015, 2016 Mathieu Lirzin ;;; @@ -203,6 +203,20 @@ (define-syntax-rule (with-warnings body ...) "E.g. Foo, i.e. Bar resp. Baz (a.k.a. DVD).")))) (check-description-style pkg))))) +(test-assert "description: may not contain trademark signs" + (and (->bool + (string-contains (with-warnings + (let ((pkg (dummy-package "x" + (description "Does The Right Thing™")))) + (check-description-style pkg))) + "should not contain trademark sign")) + (->bool + (string-contains (with-warnings + (let ((pkg (dummy-package "x" + (description "Works with Format®")))) + (check-description-style pkg))) + "should not contain trademark sign")))) + (test-assert "synopsis: not a string" (->bool (string-contains (with-warnings diff --git a/tests/pypi.scm b/tests/pypi.scm index 01d8a575ab..ab4e9c958b 100644 --- a/tests/pypi.scm +++ b/tests/pypi.scm @@ -130,7 +130,7 @@ (define test-metadata ('home-page "http://example.com") ('synopsis "summary") ('description "summary") - ('license 'lgpl2.0)) + ('license 'license:lgpl2.0)) (string=? (bytevector->nix-base32-string test-source-hash) hash)) @@ -190,7 +190,7 @@ (define test-metadata ('home-page "http://example.com") ('synopsis "summary") ('description "summary") - ('license 'lgpl2.0)) + ('license 'license:lgpl2.0)) (string=? (bytevector->nix-base32-string test-source-hash) hash))