diff --git a/build-aux/build-self.scm b/build-aux/build-self.scm index 17d947bec1..4c85c09df6 100644 --- a/build-aux/build-self.scm +++ b/build-aux/build-self.scm @@ -44,6 +44,9 @@ (define-module (build-self) ;; could be renamed or shuffled around in modules over time. Conversely, ;; 'find-best-packages-by-name' is expected to always have the same semantics. +(define guix + (first (find-best-packages-by-name "guix" #f))) + (define libgcrypt (first (find-best-packages-by-name "libgcrypt" #f))) @@ -165,8 +168,6 @@ (define localstatedir (if (defined? '%localstatedir) %localstatedir (dirname %state-directory))) (define sysconfdir (if (defined? '%sysconfdir) %sysconfdir (dirname %config-directory))) - (define sbindir - (if (defined? '%sbindir) %sbindir (dirname %guix-register-program))) (define builder #~(begin @@ -222,7 +223,7 @@ (define builder #:storedir #$storedir #:localstatedir #$localstatedir #:sysconfdir #$sysconfdir - #:sbindir #$sbindir + #:sbindir (string-append #$guix "/sbin") #:package-name #$%guix-package-name #:package-version #$version diff --git a/doc/guix.texi b/doc/guix.texi index 08f531b4ec..7ed39ff132 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -2841,6 +2841,19 @@ This has the same purpose as the same-named option in @command{guix build} (@pxref{Additional Build Options, @code{--expression} in @command{guix build}}). +@item --manifest=@var{file} +@itemx -m @var{file} +Use the packages contained in the manifest object returned by the Scheme +code in @var{file}. + +This has a similar purpose as the same-named option in @command{guix +package} (@pxref{profile-manifest, @option{--manifest}}) and uses the +same manifest files. It allows you to define a collection of packages +once and use it both for creating profiles and for creating archives +for use on machines that do not have Guix installed. Note that you can +specify @emph{either} a manifest file @emph{or} a list of packages, +but not both. + @item --system=@var{system} @itemx -s @var{system} Attempt to build for @var{system}---e.g., @code{i686-linux}---instead of @@ -9724,7 +9737,20 @@ man page for more information. @item @code{tty} The name of the console this agetty runs on, as a string---e.g., -@code{"ttyS0"}. This argument is mandatory. +@code{"ttyS0"}. This argument is optional, it will default to +a reasonable default serial port used by the kernel Linux. + +For this, if there is a value for an option @code{agetty.tty} in the kernel +command line, agetty will extract the device name of the serial port +from it and use that. + +If not and if there is a value for an option @code{console} with a tty in +the Linux command line, agetty will extract the device name of the +serial port from it and use that. + +In both cases, agetty will leave the other serial device settings +(baud rate etc.) alone---in the hope that Linux pinned them to the +correct values. @item @code{baud-rate} (default: @code{#f}) A string containing a comma-separated list of one or more baud rates, in @@ -15641,6 +15667,31 @@ A simple services setup for nginx with php can look like this: %base-services)) @end example +@cindex cat-avatar-generator +The cat avatar generator is a simple service to demonstrate the use of php-fpm +in @code{Nginx}. It is used to generate cat avatar from a seed, for instance +the hash of a user's email address. + +@deffn {Scheme Procedure} cat-avatar-generator-serice @ + [#:cache-dir "/var/cache/cat-avatar-generator"] @ + [#:package cat-avatar-generator] @ + [#:configuration (nginx-server-configuration)] +Returns an nginx-server-configuration that inherits @code{configuration}. It +extends the nginx configuration to add a server block that serves @code{package}, +a version of cat-avatar-generator. During execution, cat-avatar-generator will +be able to use @code{cache-dir} as its cache directory. +@end deffn + +A simple setup for cat-avatar-generator can look like this: +@example +(services (cons* (cat-avatar-generator-service + #:configuration + (nginx-server-configuration + (server-name '("example.com")))) + ... + %base-services)) +@end example + @node Certificate Services @subsubsection Certificate Services diff --git a/gnu/local.mk b/gnu/local.mk index 702588ae6d..846de07a5d 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -601,7 +601,6 @@ dist_patch_DATA = \ %D%/packages/patches/crawl-upgrade-saves.patch \ %D%/packages/patches/crda-optional-gcrypt.patch \ %D%/packages/patches/crossmap-allow-system-pysam.patch \ - %D%/packages/patches/crypto++-fix-dos-in-asn.1-decoders.patch \ %D%/packages/patches/clucene-contribs-lib.patch \ %D%/packages/patches/cube-nocheck.patch \ %D%/packages/patches/cursynth-wave-rand.patch \ diff --git a/gnu/packages/acl.scm b/gnu/packages/acl.scm index 66e4c33fcc..7880e533da 100644 --- a/gnu/packages/acl.scm +++ b/gnu/packages/acl.scm @@ -72,7 +72,7 @@ (define-public acl (native-inputs `(("gettext" ,gettext-minimal) ("perl" ,perl))) - (home-page "http://savannah.nongnu.org/projects/acl") + (home-page "https://savannah.nongnu.org/projects/acl") (synopsis "Library and tools for manipulating access control lists") (description diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index e636b2a1b1..ae89bd07a1 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -1184,7 +1184,7 @@ (define-public dmidecode #:tests? #f ; no 'check' target #:make-flags (list (string-append "prefix=" (assoc-ref %outputs "out"))))) - (home-page "http://www.nongnu.org/dmidecode/") + (home-page "https://www.nongnu.org/dmidecode/") (synopsis "Read hardware information from the BIOS") (description "Dmidecode reports information about your system's hardware as described diff --git a/gnu/packages/attr.scm b/gnu/packages/attr.scm index 4dbe09ceca..fe102d211c 100644 --- a/gnu/packages/attr.scm +++ b/gnu/packages/attr.scm @@ -71,7 +71,7 @@ (define-public attr (native-inputs `(("gettext" ,gettext-minimal))) - (home-page "http://savannah.nongnu.org/projects/attr/") + (home-page "https://savannah.nongnu.org/projects/attr/") (synopsis "Library and tools for manipulating extended attributes") (description "Portable library and tools for manipulating extended attributes.") diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index eb11d6cc4e..97fd32ed94 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -1591,7 +1591,7 @@ (define-public lash ("libxml2" ,libxml2))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.nongnu.org/lash/") + (home-page "https://www.nongnu.org/lash/") (synopsis "Audio application session manager") (description "LASH is a session management system for audio applications. It allows diff --git a/gnu/packages/avahi.scm b/gnu/packages/avahi.scm index c8d7196d72..480b5e8d97 100644 --- a/gnu/packages/avahi.scm +++ b/gnu/packages/avahi.scm @@ -77,22 +77,32 @@ (define-public avahi (define-public nss-mdns (package (name "nss-mdns") - (version "0.11") + (version "0.12") + (home-page "https://github.com/lathiat/nss-mdns") (source (origin (method url-fetch) - (uri (string-append "https://github.com/lathiat/nss-mdns" - "/releases/download/v" version "/" + (uri (string-append home-page "/releases/download/v" version "/" name "-" version ".tar.gz")) (sha256 (base32 - "14jwy6mklzgjz3mfmw67mxhszrw9d3d3yjjhg87j4crci6m19i39")))) + "1p2vj9fz4kzrjrj81ipf4qwgnr2n7a8cbzw4bpk18xyqhdx8h775")) + (patches + (list (origin + ;; See + ;; . + (uri (string-append + home-page + "/commit/31ccbec3b4f054e590c7c880d8a8a50cfc97127d.patch")) + (sha256 + (base32 + "0b1jmhnkpsczbph4ala7x3rafwxdg93277s30iaxh37jnvgjnhsd")) + (method url-fetch)))))) (build-system gnu-build-system) (arguments ;; The Avahi daemon socket is expected by src/Makefile.am to be at ;; "$(localstatedir)/run/avahi-daemon/socket", so set $(localstatedir) ;; appropriately. '(#:configure-flags '("--localstatedir=/var"))) - (home-page "https://github.com/lathiat/nss-mdns") (synopsis "Multicast DNS Name Service Switch (@dfn{NSS}) plug-in") (description "Nss-mdns is a plug-in for the GNU C Library's Name Service Switch @@ -100,28 +110,3 @@ (define-public nss-mdns most often used in home and other small networks without a local name server, to resolve host names in the @samp{.local} top-level domain.") (license lgpl2.1+))) - -(define-public nss-mdns-0.10 - ;; Kept here to work around in bug in 0.11: and - ;; . - (package - (inherit nss-mdns) - (version "0.10") - (source (origin - (method url-fetch) - (uri (list - (string-append - "mirror://debian/pool/main/n/nss-mdns/nss-mdns_" - version ".orig.tar.gz") - "http://pkgs.fedoraproject.org/repo/pkgs/nss-mdns/nss-mdns-0.10.tar.gz/03938f17646efbb50aa70ba5f99f51d7/nss-mdns-0.10.tar.gz" - - ;; This used to be the canonical URL but it vanished. - ;; See . - ;; (string-append - ;; "http://0pointer.de/lennart/projects/nss-mdns/nss-mdns-" - ;; version ".tar.gz") - )) - (sha256 - (base32 - "0vgs6j0qsl0mwzh5a0m0bykr7x6bx79vnbyn0r3q289rghp3qs0y")) - (file-name (string-append "nss-mdns-" version ".tar.gz")))))) diff --git a/gnu/packages/avr.scm b/gnu/packages/avr.scm index e9e93cbb9a..4c7ebf5a8f 100644 --- a/gnu/packages/avr.scm +++ b/gnu/packages/avr.scm @@ -100,7 +100,7 @@ (define (avr-libc avr-gcc) #t))))) (native-inputs `(("avr-binutils" ,avr-binutils) ("avr-gcc" ,avr-gcc))) - (home-page "http://www.nongnu.org/avr-libc/") + (home-page "https://www.nongnu.org/avr-libc/") (synopsis "The AVR C Library") (description "AVR Libc is a project whose goal is to provide a high quality C library diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm index 61d4acaefc..48d4b08af6 100644 --- a/gnu/packages/backup.scm +++ b/gnu/packages/backup.scm @@ -358,7 +358,7 @@ (define-public rdiff-backup (arguments `(#:python ,python-2 #:tests? #f)) - (home-page "http://www.nongnu.org/rdiff-backup/") + (home-page "https://www.nongnu.org/rdiff-backup/") (synopsis "Local/remote mirroring+incremental backup") (description "Rdiff-backup backs up one directory to another, possibly over a network. @@ -438,7 +438,7 @@ (define-public libchop ("lzo" ,lzo) ("bzip2" ,bzip2) ("zlib" ,zlib))) - (home-page "http://nongnu.org/libchop/") + (home-page "https://nongnu.org/libchop/") (synopsis "Tools & library for data backup and distributed storage") (description "Libchop is a set of utilities and library for data backup and diff --git a/gnu/packages/benchmark.scm b/gnu/packages/benchmark.scm index 8d2b17ba48..ae7279f286 100644 --- a/gnu/packages/benchmark.scm +++ b/gnu/packages/benchmark.scm @@ -34,7 +34,7 @@ (define-module (gnu packages benchmark) (define-public fio (package (name "fio") - (version "3.3") + (version "3.4") (source (origin (method url-fetch) (uri (string-append @@ -42,7 +42,7 @@ (define-public fio "fio-" version ".tar.bz2")) (sha256 (base32 - "0mrilkm7qdn6fgzlprqp7w48bwwm362rmwxqirbzqmi54k3mj3ar")))) + "01dqvg5mgb4fh1jqqmi179k2rb517p4h4sr3mhlnd0alk1x12w8a")))) (build-system gnu-build-system) (arguments '(#:test-target "test" diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index f790737f5e..91355f24e2 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -2074,7 +2074,7 @@ (define-public deeptools (define-public diamond (package (name "diamond") - (version "0.9.17") + (version "0.9.18") (source (origin (method url-fetch) (uri (string-append @@ -2083,7 +2083,7 @@ (define-public diamond (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1p3fd1ad7hg2w09w3sjk4pxqx0p0gaqys8ipg3f4adg77mn9m9yd")))) + "1vi2nddmy7knrv8gsprwqp6a40k63n3f2dfvx22ipjhrg9xir96f")))) (build-system cmake-build-system) (arguments '(#:tests? #f ; no "check" target diff --git a/gnu/packages/ci.scm b/gnu/packages/ci.scm index 2a22f222d3..b5cfa7f1ab 100644 --- a/gnu/packages/ci.scm +++ b/gnu/packages/ci.scm @@ -187,8 +187,8 @@ (define-public hydra (license l:gpl3+)))) (define-public cuirass - (let ((commit "9cfea9fe2e3ca6a3d1b832a6ec217426ec973c93") - (revision "10")) + (let ((commit "4ab2f2c3f084ffd9d0f77134cc1af0f8cf0e13be") + (revision "12")) (package (name "cuirass") (version (string-append "0.0.1-" revision "." (string-take commit 7))) @@ -200,7 +200,7 @@ (define-public cuirass (file-name (string-append name "-" version)) (sha256 (base32 - "177klidmsw12kjk9dzawc0bqcwqlplgx45m87qpgjfx3cnk28i2b")))) + "1r97z5lkzg6vx014rfmv1pp3x3bl1shb6wkcgnlncwqf56a9bzi1")))) (build-system gnu-build-system) (arguments '(#:modules ((guix build utils) @@ -231,6 +231,7 @@ (define-public cuirass (sqlite (assoc-ref inputs "guile-sqlite3")) (git (assoc-ref inputs "guile-git")) (bytes (assoc-ref inputs "guile-bytestructures")) + (fibers (assoc-ref inputs "guile-fibers")) (guix (assoc-ref inputs "guix")) (guile (assoc-ref %build-inputs "guile")) (effective (read-line @@ -245,6 +246,8 @@ (define-public cuirass effective ":" sqlite "/share/guile/site/" effective ":" + fibers "/share/guile/site/" + effective ":" guix "/share/guile/site/" effective))) ;; Make sure 'cuirass' can find the 'evaluate' command, as @@ -256,6 +259,7 @@ (define-public cuirass #t)))))) (inputs `(("guile" ,guile-2.2) + ("guile-fibers" ,guile-fibers) ("guile-json" ,guile-json) ("guile-sqlite3" ,guile-sqlite3) ("guile-git" ,guile-git) diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm index 3bf2ec1617..f25c4bba3a 100644 --- a/gnu/packages/compression.scm +++ b/gnu/packages/compression.scm @@ -153,7 +153,7 @@ (define-public fastjar "0iginbz2m15hcsa3x4y7v3mhk54gr1r7m3ghx0pg4n46vv2snmpi")))) (build-system gnu-build-system) (inputs `(("zlib" ,zlib))) - (home-page "http://savannah.nongnu.org/projects/fastjar") + (home-page "https://savannah.nongnu.org/projects/fastjar") (synopsis "Replacement for Sun's 'jar' utility") (description "FastJar is an attempt to create a much faster replacement for Sun's 'jar' @@ -330,7 +330,7 @@ (define-public lbzip2 (define-public pbzip2 (package (name "pbzip2") - (version "1.1.12") + (version "1.1.13") (source (origin (method url-fetch) (uri (string-append "https://launchpad.net/pbzip2/" @@ -338,14 +338,14 @@ (define-public pbzip2 "/+download/" name "-" version ".tar.gz")) (sha256 (base32 - "1vk6065dv3a47p86vmp8hv3n1ygd9hraz0gq89gvzlx7lmcb6fsp")))) + "1rnvgcdixjzbrmcr1nv9b6ccrjfrhryaj7jwz28yxxv6lam3xlcg")))) (build-system gnu-build-system) (inputs `(("bzip2" ,bzip2))) (arguments - `(#:tests? #f ; no tests + `(#:tests? #f ; no tests #:phases (modify-phases %standard-phases - (delete 'configure)) + (delete 'configure)) ; no configure script #:make-flags (list (string-append "PREFIX=" %output)))) (home-page "http://compression.ca/pbzip2/") (synopsis "Parallel bzip2 implementation") @@ -452,7 +452,7 @@ (define-public python2-lzo (define-public lzop (package (name "lzop") - (version "1.03") + (version "1.04") (source (origin (method url-fetch) @@ -460,10 +460,10 @@ (define-public lzop version ".tar.gz")) (sha256 (base32 - "1jdjvc4yjndf7ihmlcsyln2rbnbaxa86q4jskmkmm7ylfy65nhn1")))) + "0h9gb8q7y54m9mvy3jvsmxf21yx8fc3ylzh418hgbbv0i8mbcwky")))) (build-system gnu-build-system) (inputs `(("lzo" ,lzo))) - (home-page "http://www.lzop.org/") + (home-page "https://www.lzop.org/") (synopsis "Compress or expand files") (description "Lzop is a file compressor which is very similar to gzip. Lzop uses the @@ -484,7 +484,7 @@ (define-public lzip (base32 "1abbch762gv8rjr579q3qyyk6c80plklbv2mw4x0vg71dgsw9bgz")))) (build-system gnu-build-system) - (home-page "http://www.nongnu.org/lzip/lzip.html") + (home-page "https://www.nongnu.org/lzip/lzip.html") (synopsis "Lossless data compressor based on the LZMA algorithm") (description "Lzip is a lossless data compressor with a user interface similar to the @@ -496,16 +496,16 @@ (define-public lzip (define-public lziprecover (package (name "lziprecover") - (version "1.19") + (version "1.20") (source (origin (method url-fetch) (uri (string-append "mirror://savannah/lzip/" name "/" name "-" version ".tar.gz")) (sha256 (base32 - "0z5fbkm0qprypjf7kxkqganniibj0zml13zvfkrchnjafcmmzyld")))) + "0fpnmdxayvd1ff0rk9606dvr431ji6b1v71km4ww244rih1rmmzz")))) (build-system gnu-build-system) - (home-page "http://www.nongnu.org/lzip/lziprecover.html") + (home-page "https://www.nongnu.org/lzip/lziprecover.html") (synopsis "Recover and decompress data from damaged lzip files") (description "Lziprecover is a data recovery tool and decompressor for files in the lzip @@ -1899,7 +1899,7 @@ (define-public atool (inputs `(("perl" ,perl) ("file" ,file))) - (home-page "http://www.nongnu.org/atool/") + (home-page "https://www.nongnu.org/atool/") (synopsis "Universal tool to manage file archives of various types") (description "The main command is @command{aunpack} which extracts files from an archive. The other commands provided are @command{apack} (to create @@ -1980,7 +1980,7 @@ (define-public lunzip (arguments `(#:configure-flags (list "CC=gcc"))) - (home-page "http://www.nongnu.org/lzip/lunzip.html") + (home-page "https://www.nongnu.org/lzip/lunzip.html") (synopsis "Small, stand-alone lzip decompressor") (description "Lunzip is a decompressor for files in the lzip compression format (.lz), @@ -1995,19 +1995,19 @@ (define-public lunzip (define-public clzip (package (name "clzip") - (version "1.9") + (version "1.10") (source (origin (method url-fetch) (uri (string-append "mirror://savannah/lzip/" name "/" name "-" version ".tar.gz")) (sha256 - (base32 "1brvsnpihzj81cf4wk2x5bnr2qldlq0wncpdbzxmzvxapm1cq2yc")))) + (base32 "03xcmhl3dya4jrwmsqh09ikimpb36fr3vkh2bwfzz1sbcns0cdg3")))) (build-system gnu-build-system) (arguments `(#:configure-flags (list "CC=gcc"))) - (home-page "http://www.nongnu.org/lzip/clzip.html") + (home-page "https://www.nongnu.org/lzip/clzip.html") (synopsis "Small, stand-alone lzip compressor and decompressor") (description "Clzip is a compressor and decompressor for files in the lzip compression @@ -2021,14 +2021,14 @@ (define-public clzip (define-public lzlib (package (name "lzlib") - (version "1.9") + (version "1.10") (source (origin (method url-fetch) (uri (string-append "mirror://savannah/lzip/" name "/" name "-" version ".tar.gz")) (sha256 - (base32 "13mssf3hrcnmd4ijbqnxfk0zgj1q5lvpxxkm1hmrbl1h73czhwi4")))) + (base32 "0hqhnj2lzqacdbmmnpy91lsm1rd9zlngs1q6s9pyahsv1a0bfshx")))) (build-system gnu-build-system) ;; The included minilzip binary is only ~16 smaller than the ‘real’ lzip. ;; It's used during the test suite, but don't be tempted to install it. @@ -2036,7 +2036,7 @@ (define-public lzlib `(#:configure-flags (list "CC=gcc" "--enable-shared"))) ; only static (.a) is built by default - (home-page "http://www.nongnu.org/lzip/lzlib.html") + (home-page "https://www.nongnu.org/lzip/lzlib.html") (synopsis "Lzip data compression C library") (description "Lzlib is a C library for in-memory LZMA compression and decompression in @@ -2049,18 +2049,18 @@ (define-public lzlib (define-public plzip (package (name "plzip") - (version "1.6") + (version "1.7") (source (origin (method url-fetch) (uri (string-append "mirror://savannah/lzip/" name "/" name "-" version ".tar.gz")) (sha256 - (base32 "0z2cs6vn4xl65wakd013xl3sdfpg8dr0cvcjwc2slh8y9bz7j7ax")))) + (base32 "1dzjp9r7krwpsn224bhcqbzd5aj5b4556sdi9yzl2bzbk3fjrqlm")))) (build-system gnu-build-system) (inputs `(("lzlib" ,lzlib))) - (home-page "http://www.nongnu.org/lzip/plzip.html") + (home-page "https://www.nongnu.org/lzip/plzip.html") (synopsis "Parallel lossless data compressor for the lzip format") (description "Plzip is a massively parallel (multi-threaded) lossless data compressor diff --git a/gnu/packages/crypto.scm b/gnu/packages/crypto.scm index 5e5bc4de05..225c26378d 100644 --- a/gnu/packages/crypto.scm +++ b/gnu/packages/crypto.scm @@ -583,7 +583,7 @@ (define-public perl-math-random-secure (define-public crypto++ (package (name "crypto++") - (version "5.6.5") + (version "6.0.0") (source (origin (method url-fetch/zipbomb) (uri (string-append "https://cryptopp.com/cryptopp" @@ -591,9 +591,7 @@ (define-public crypto++ ".zip")) (sha256 (base32 - "0d1cqdz369ivi082k59025wvxzywvkizw7i0pf5h0a1izs3g8pm7")) - (patches - (search-patches "crypto++-fix-dos-in-asn.1-decoders.patch")))) + "1nidm6xbdza5cbgf5md2zznmaq692rfyjasycwipl6rzdfwjvb34")))) (build-system gnu-build-system) (arguments `(#:make-flags diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 634b3c65ad..29b6ca1698 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -23,7 +23,7 @@ ;;; Copyright © 2017 Jelle Licht ;;; Copyright © 2017 Adriano Peluso ;;; Copyright © 2017 Arun Isaac -;;; Copyright © 2017 Tobias Geerinckx-Rice +;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice ;;; Copyright © 2017 Alex Vong ;;; Copyright © 2017 Ben Woodcroft ;;; Copyright © 2017 Rutger Helling @@ -1273,7 +1273,7 @@ (define-public perl-dbix-class-schema-loader (define-public perl-dbd-pg (package (name "perl-dbd-pg") - (version "3.7.0") + (version "3.7.4") (source (origin (method url-fetch) @@ -1281,7 +1281,7 @@ (define-public perl-dbd-pg "DBD-Pg-" version ".tar.gz")) (sha256 (base32 - "0nb4wmkhq1q9f4g42sxy1m3d0xjqd3plqkxpmzni43ygr5ch8vp3")))) + "0gkqlvbmzbdm0g4k328nlkjdg3wrjm5i2n9jxj1i8sqxkm79rylz")))) (build-system perl-build-system) (native-inputs `(("perl-dbi" ,perl-dbi))) diff --git a/gnu/packages/dns.scm b/gnu/packages/dns.scm index b9e75f349c..4208edf86b 100644 --- a/gnu/packages/dns.scm +++ b/gnu/packages/dns.scm @@ -443,16 +443,16 @@ (define-public unbound (define-public yadifa (package (name "yadifa") - (version "2.3.7") + (version "2.3.8") (source - (let ((build "7543")) + (let ((build "7713")) (origin (method url-fetch) (uri (string-append "http://cdn.yadifa.eu/sites/default/files/releases/" name "-" version "-" build ".tar.gz")) (sha256 - (base32 "0j4zj7h72ni3bbqbm1632z0vx8b9fjdrn4n1yx4yyzkpchsipwff"))))) + (base32 "15xhzg4crjcxascwpz6y8qpqcgypzv2p9bspdskp4nx1x1y4316c"))))) (build-system gnu-build-system) (native-inputs `(("which" ,which))) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index da524f8199..f2117fb8b9 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -335,7 +335,7 @@ (define-public geiser #t))))) (inputs `(("guile" ,guile-2.0))) (native-inputs `(("emacs" ,emacs-minimal))) - (home-page "http://nongnu.org/geiser/") + (home-page "https://nongnu.org/geiser/") (synopsis "Collection of Emacs modes for Guile and Racket hacking") (description "Geiser is a collection of Emacs major and minor modes that conspire with @@ -1027,7 +1027,7 @@ (define-public bbdb (symlink "bbdb-loaddefs.el" "bbdb-autoloads.el"))) #t))))) (native-inputs `(("emacs" ,emacs-minimal))) - (home-page "http://savannah.nongnu.org/projects/bbdb/") + (home-page "https://savannah.nongnu.org/projects/bbdb/") (synopsis "Contact management utility for Emacs") (description "BBDB is the Insidious Big Brother Database for GNU Emacs. It provides @@ -4633,7 +4633,7 @@ (define-public m17n-db ;; With `guix lint' the home-page URI returns a small page saying ;; that your browser does not handle frames. This triggers the "URI ;; returns suspiciously small file" warning. - (home-page "http://www.nongnu.org/m17n/") + (home-page "https://www.nongnu.org/m17n/") (synopsis "Multilingual text processing library (database)") (description "The m17n library realizes multilingualization of many aspects of applications. The m17n library represents @@ -4669,7 +4669,7 @@ (define-public m17n-lib ;; With `guix lint' the home-page URI returns a small page saying ;; that your browser does not handle frames. This triggers the "URI ;; returns suspiciously small file" warning. - (home-page "http://www.nongnu.org/m17n/") + (home-page "https://www.nongnu.org/m17n/") (synopsis "Multilingual text processing library (runtime)") (description "The m17n library realizes multilingualization of many aspects of applications. The m17n library represents @@ -7059,3 +7059,91 @@ (define-public org-tree-slide @code{org-tree-slide-mode} to enter the slideshow mode, and then @kbd{C->} and @kbd{C-<} to jump to the next and previous slide.") (license license:gpl3+)))) + +(define-public emacs-scratch-el + (let ((commit "2cdf2b841ce7a0987093f65b0cc431947549f897") + (revision "1")) + (package + (name "emacs-scratch-el") + (version (git-version "1.2" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ieure/scratch-el.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0wscsndynjmnliajqaz28r1ww81j8wh84zwaaswx51abhwgl0idf")))) + (build-system emacs-build-system) + (native-inputs + `(("texinfo" ,texinfo))) + (arguments + '(#:phases + (modify-phases %standard-phases + (add-after 'install 'install-doc + (lambda* (#:key outputs #:allow-other-keys) + (unless (invoke "makeinfo" "scratch.texi") + (error "makeinfo failed")) + (install-file "scratch.info" + (string-append (assoc-ref outputs "out") + "/share/info")) + #t))))) + (home-page "https://github.com/ieure/scratch-el/") + (synopsis "Create scratch buffers with the same mode as current buffer") + (description "Scratch is an extension to Emacs that enables one to create +scratch buffers that are in the same mode as the current buffer. This is +notably useful when working on code in some language; you may grab code into a +scratch buffer, and, by virtue of this extension, do so using the Emacs +formatting rules for that language.") + (license license:bsd-2)))) + +(define-public epipe + (package + (name "epipe") + (version "0.1.0") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/cute-jumper/epipe/archive/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "05a036852g4j63k1mhvyfrcsgkl9lczayi7x61570ysw3cli5wp5")))) + (build-system trivial-build-system) + (inputs + `(("bash" ,bash) + ("perl" ,perl))) + (native-inputs + `(("tar" ,tar) + ("gzip" ,gzip))) + (arguments + `(#:modules + ((guix build utils)) + #:builder + (begin + (use-modules (guix build utils)) + ;; Extract source + (setenv "PATH" (string-append + (assoc-ref %build-inputs "tar") "/bin" ":" + (assoc-ref %build-inputs "gzip") "/bin")) + (system* "tar" "xvf" (assoc-ref %build-inputs "source")) + (chdir (string-append ,name "-" ,version)) + ;; Patch shebangs + (substitute* "epipe" + (("/usr/bin/env bash") + (string-append (assoc-ref %build-inputs "bash") "/bin/bash"))) + (patch-shebang "epipe.pl" + (list (string-append (assoc-ref %build-inputs "perl") + "/bin"))) + ;; Installation + (for-each (lambda (file) + (install-file file (string-append %output "/bin"))) + '("epipe" "epipe.pl")) + #t))) + (home-page "https://github.com/cute-jumper/epipe") + (synopsis "Pipe to the @code{emacsclient}") + (description "@code{epipe} provides an utility to use your editor in +the pipeline, featuring the support for running @code{emacsclient}.") + (license license:gpl3+))) diff --git a/gnu/packages/erlang.scm b/gnu/packages/erlang.scm index 77f39ee630..07aac3a088 100644 --- a/gnu/packages/erlang.scm +++ b/gnu/packages/erlang.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2016 Steve Sprang ;;; Copyright © 2016, 2017 Leo Famulari ;;; Copyright © 2016, 2017 Pjotr Prins +;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. ;;; @@ -36,7 +37,7 @@ (define-module (gnu packages erlang) (define-public erlang (package (name "erlang") - (version "20.1.7") + (version "20.2.3") (source (origin (method url-fetch) ;; The tarball from http://erlang.org/download contains many @@ -47,7 +48,7 @@ (define-public erlang (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "00pmngdyh1h088anmx6fbk085i93ajgk92rz7qsyhfc0lx0sm0a9")) + "0s9g4ijdbqq21k4cqggz074d3fiimah942qisv2kgizhlivpw2nm")) (patches (search-patches "erlang-man-path.patch")))) (build-system gnu-build-system) (native-inputs @@ -63,7 +64,7 @@ (define-public erlang (version-major+minor version) ".tar.gz")) (sha256 (base32 - "0ikvdpn4z7az6szg176l1r2yxhgs3msa3wgb3gmy45jkz0pzik05")))))) + "1pyb8wbk7znsyni8d1k4dj1m01lr191dcrrzisli1z27ks7hh3lm")))))) (inputs `(("ncurses" ,ncurses) ("openssl" ,openssl) @@ -94,9 +95,9 @@ (define-public erlang (add-after 'unpack 'remove-timestamps (lambda _ (let ((source-date-epoch - (time-utc->date - (make-time time-utc 0 (string->number - (getenv "SOURCE_DATE_EPOCH")))))) + (time-utc->date + (make-time time-utc 0 (string->number + (getenv "SOURCE_DATE_EPOCH")))))) (substitute* "lib/reltool/src/reltool_target.erl" (("Date = date\\(\\),") (string-append "Date = " @@ -115,8 +116,8 @@ (define-public erlang (substitute* "lib/dialyzer/test/small_SUITE_data/src/gs_make.erl" (("tuple_to_list\\(date\\(\\)\\),tuple_to_list\\(time\\(\\)\\)") (date->string - source-date-epoch - "tuple_to_list({~Y,~m,~d}), tuple_to_list({~H,~M,~S})"))) + source-date-epoch + "tuple_to_list({~Y,~m,~d}), tuple_to_list({~H,~M,~S})"))) (substitute* "lib/snmp/src/compile/snmpc_mib_to_hrl.erl" (("\\{Y,Mo,D\\} = date\\(\\),") (date->string source-date-epoch @@ -124,7 +125,8 @@ (define-public erlang (substitute* "lib/snmp/src/compile/snmpc_mib_to_hrl.erl" (("\\{H,Mi,S\\} = time\\(\\),") (date->string source-date-epoch - "{H,Mi,S} = {~H,~M,~S},")))))) + "{H,Mi,S} = {~H,~M,~S},"))) + #t))) (add-after 'patch-source-shebangs 'patch-source-env (lambda _ (let ((escripts @@ -140,31 +142,37 @@ (define-public erlang "make/verify_runtime_dependencies" "make/emd2exml.in")))) (substitute* escripts - (("/usr/bin/env") (which "env")))))) + (("/usr/bin/env") (which "env"))) + #t))) (add-before 'configure 'set-erl-top (lambda _ - (setenv "ERL_TOP" (getcwd)))) + (setenv "ERL_TOP" (getcwd)) + #t)) (add-after 'patch-source-env 'autoconf - (lambda _ (zero? (system* "./otp_build" "autoconf")))) + (lambda _ + (invoke "./otp_build" "autoconf") + #t)) (add-after 'install 'patch-erl ;; This only works after install. - (lambda _ - (substitute* (string-append (assoc-ref %outputs "out") "/bin/erl") - (("sed") (which "sed"))))) + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out"))) + (substitute* (string-append out "/bin/erl") + (("sed") (which "sed"))) + #t))) (add-after 'install 'install-doc (lambda* (#:key inputs outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) (manpages (assoc-ref inputs "erlang-manpages")) (share (string-append out "/share/"))) - (mkdir-p share) - (mkdir-p (string-append share "/misc/erlang")) - (with-directory-excursion share - (and - (zero? (system* "tar" "xvf" manpages)) + (mkdir-p share) + (mkdir-p (string-append share "/misc/erlang")) + (with-directory-excursion share + (invoke "tar" "xvf" manpages) (rename-file "COPYRIGHT" (string-append share "/misc/erlang/COPYRIGHT")) ;; Delete superfluous file. - (delete-file "PR.template"))))))))) + (delete-file "PR.template")) + #t)))))) (home-page "http://erlang.org/") (synopsis "The Erlang programming language") (description diff --git a/gnu/packages/flashing-tools.scm b/gnu/packages/flashing-tools.scm index 9683c6b4a3..5309510d40 100644 --- a/gnu/packages/flashing-tools.scm +++ b/gnu/packages/flashing-tools.scm @@ -31,10 +31,12 @@ (define-module (gnu packages flashing-tools) #:use-module (gnu packages) #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) + #:use-module (guix build-system python) #:use-module (gnu packages bison) #:use-module (gnu packages compression) #:use-module (gnu packages flex) #:use-module (gnu packages elf) + #:use-module (gnu packages pciutils) #:use-module (gnu packages pkg-config) #:use-module (gnu packages libusb) #:use-module (gnu packages libftdi) @@ -138,7 +140,7 @@ (define-public avrdude (native-inputs `(("bison" ,bison) ("flex" ,flex))) - (home-page "http://www.nongnu.org/avrdude/") + (home-page "https://www.nongnu.org/avrdude/") (synopsis "AVR downloader and uploader") (description "AVRDUDE is a utility to download/upload/manipulate the ROM and @@ -330,3 +332,105 @@ (define-public heimdall Loke and Heimdall communicate via the custom Samsung-developed protocol typically referred to as the \"Odin 3 protocol\".") (license license:expat))) + +(define-public ifdtool + (package + (name "ifdtool") + (version "4.7") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://review.coreboot.org/p/coreboot") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0nw555i0fm5kljha9h47bk70ykbwv8ddfk6qhz6kfqb79vzhy4h2")))) + (build-system gnu-build-system) + (arguments + `(#:make-flags + (list "CC=gcc" + "INSTALL=install" + (string-append "PREFIX=" (assoc-ref %outputs "out"))) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda _ + (chdir "util/ifdtool") + #t)) + (delete 'configure) + (delete 'check)))) + (home-page "https://github.com/corna/me_cleaner/") + (synopsis "Intel Firmware Descriptor dumper") + (description "This package provides @command{ifdtool}, a program to +dump Intel Firmware Descriptor data of an image file.") + (license license:gpl2))) + +(define-public intelmetool + (package + (name "intelmetool") + (version "4.7") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://review.coreboot.org/p/coreboot") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0nw555i0fm5kljha9h47bk70ykbwv8ddfk6qhz6kfqb79vzhy4h2")))) + (build-system gnu-build-system) + (inputs + `(("pciutils" ,pciutils) + ("zlib" ,zlib))) + (arguments + `(#:make-flags + (list "CC=gcc" + "INSTALL=install" + (string-append "PREFIX=" (assoc-ref %outputs "out"))) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda _ + (chdir "util/intelmetool") + #t)) + (delete 'configure) + (delete 'check)))) + (home-page "https://github.com/zamaudio/intelmetool") + (synopsis "Intel Management Engine tools") + (description "This package provides tools for working with Intel +Management Engine (ME). You need to @code{sudo rmmod mei_me} and +@code{sudo rmmod mei} before using this tool. Also pass +@code{iomem=relaxed} to the Linux kernel command line.") + (license license:gpl2))) + +(define-public me-cleaner + (package + (name "me-cleaner") + (version "1.1") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/corna/me_cleaner/" + "archive/v" version ".tar.gz")) + (sha256 + (base32 + "1pgwdqy0jly80nhxmlmyibs343497yjzs6dwfbkcw0l1gjm8i5hw")) + (file-name (string-append name "-" version ".tar.gz")))) + (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'create-setup.py + (lambda _ + (call-with-output-file "setup.py" + (lambda (port) + (format port "\ +from setuptools import setup +setup(name='me_cleaner', version='~a', scripts=['me_cleaner.py']) +" ,version))) + #t))))) + (home-page "https://github.com/corna/me_cleaner") + (synopsis "Intel ME cleaner") + (description "This package provides tools for disabling Intel +ME as far as possible (it only edits ME firmware image files).") + (license license:gpl3+))) diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm index d34b4b42f9..664cbdb902 100644 --- a/gnu/packages/fontutils.scm +++ b/gnu/packages/fontutils.scm @@ -441,7 +441,7 @@ (define-public libotf `(("pkg-config" ,pkg-config))) (propagated-inputs `(("freetype" ,freetype))) - (home-page "http://www.nongnu.org/m17n/") + (home-page "https://www.nongnu.org/m17n/") (synopsis "Library for handling OpenType Font") (description "This library can read Open Type Layout Tables from an OTF file. Currently these tables are supported; head, name, cmap, GDEF, GSUB, and diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm index a276be692b..ffc3522919 100644 --- a/gnu/packages/game-development.scm +++ b/gnu/packages/game-development.scm @@ -240,7 +240,7 @@ (define-public gzochi ("ncurses" ,ncurses) ("sdl" ,sdl) ("zlib" ,zlib))) - (home-page "http://www.nongnu.org/gzochi/") + (home-page "https://www.nongnu.org/gzochi/") (synopsis "Scalable middleware for multiplayer games") (description "gzochi is a framework for developing massively multiplayer online games. @@ -386,7 +386,7 @@ (define-public python2-xsge (define-public tiled (package (name "tiled") - (version "1.1.1") + (version "1.1.2") (source (origin (method url-fetch) (uri (string-append "https://github.com/bjorn/tiled/archive/v" @@ -394,7 +394,7 @@ (define-public tiled (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "102vw13iw1kbjj6h2sm8gl1jfvmqgq0zddd6hdmqagza5b6w32k3")))) + "0l4wc10d10fi0a5spbi318kjfzlizmycpr4wwlq04sk3b5kra0w0")))) (build-system gnu-build-system) (inputs `(("qtbase" ,qtbase) diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 71fce7f5d3..51f158d939 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -4726,7 +4726,7 @@ (define-public enigma (native-inputs `(("pkg-config" ,pkg-config) ("imagemagick" ,imagemagick))) - (home-page "http://www.nongnu.org/enigma") + (home-page "https://www.nongnu.org/enigma") (synopsis "Puzzle game with a dexterity component") (description "Enigma is a puzzle game with 550 unique levels. The object of the game is to find and uncover pairs of identically colored ‘Oxyd’ stones. diff --git a/gnu/packages/gkrellm.scm b/gnu/packages/gkrellm.scm index 6ad4fe6ff3..4eb906e40d 100644 --- a/gnu/packages/gkrellm.scm +++ b/gnu/packages/gkrellm.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013 Andreas Enge ;;; Copyright © 2016 Efraim Flashner +;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. ;;; @@ -30,7 +31,7 @@ (define-module (gnu packages gkrellm) (define-public gkrellm (package (name "gkrellm") - (version "2.3.5") + (version "2.3.10") (source (origin (method url-fetch) @@ -38,7 +39,7 @@ (define-public gkrellm version ".tar.bz2")) (sha256 (base32 - "12rc6zaa7kb60b9744lbrlfkxxfniprm6x0mispv63h4kh75navh")))) + "0rnpzjr0ys0ypm078y63q4aplcgdr5nshjzhmz330n6dmnxci7lb")))) (build-system gnu-build-system) (inputs `(("gettext" ,gettext-minimal) @@ -48,13 +49,14 @@ (define-public gkrellm (native-inputs `(("pkg-config" ,pkg-config))) (arguments - `(#:tests? #f ; there is no check target - #:phases (modify-phases %standard-phases (delete 'configure)) + `(#:tests? #f ; there is no check target + #:phases + (modify-phases %standard-phases + (delete 'configure)) ; no configure script #:make-flags (let ((out (assoc-ref %outputs "out"))) (list (string-append "INSTALLROOT=" out) - "CC=gcc" - "X11_LIBS = -lX11 -lSM -lICE -lgmodule-2.0")))) + "CC=gcc")))) (home-page "http://gkrellm.srcbox.net/") (synopsis "System monitors") (description diff --git a/gnu/packages/gnustep.scm b/gnu/packages/gnustep.scm index 0e9cf230f2..bd28ceaa00 100644 --- a/gnu/packages/gnustep.scm +++ b/gnu/packages/gnustep.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014 Ludovic Courtès ;;; Copyright © 2016, 2017 Kei Kebreau +;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. ;;; @@ -101,7 +102,8 @@ (define-public windowmaker ;; The path to wmsetbg in Guix requires 67 extra characters. (substitute* "src/defaults.c" (("len = strlen\\(text\\) \\+ 40;") - (string-append "len = strlen(text) + 107;")))))) + (string-append "len = strlen(text) + 107;"))) + #t))) (add-after 'install 'install-xsession (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) @@ -119,7 +121,7 @@ (define-public windowmaker (string-map (match-lambda (#\newline #\space) (chr chr)) - ,synopsis) %output)))) + ,synopsis) out)))) #t)) (add-after 'install-xsession 'wrap (lambda* (#:key outputs #:allow-other-keys) @@ -128,7 +130,8 @@ (define-public windowmaker ;; In turn, 'wmaker.inst' wants to invoke 'wmmenugen' ;; etc., so make sure everything is in $PATH. (wrap-program (string-append bin "/wmaker.inst") - `("PATH" ":" prefix (,bin))))))))) + `("PATH" ":" prefix (,bin))) + #t)))))) (inputs `(("libxmu" ,libxmu) ("libxft" ,libxft) @@ -154,7 +157,7 @@ (define-public windowmaker (define-public wmbattery (package (name "wmbattery") - (version "2.50") + (version "2.51") (source (origin (method url-fetch) (uri (string-append @@ -162,22 +165,16 @@ (define-public wmbattery version ".orig.tar.gz")) (sha256 (base32 - "0hi6bivv3xd2k68w08krndfl68wdx7nmc2wjzsmcd4q3qgwgyk44")) - (modules '((guix build utils))) - (snippet - ;; Fix memory leak: - ;; . - '(substitute* "upower.c" - (("up = up_client_new\\(\\);") - (string-append "if (!up)\n" - " up = up_client_new();")))))) + "084a3irxbmgms4bqaga80mlx9wgvlkx6d2w0ns939yrpfzg87laj")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; no "check" target #:phases (modify-phases %standard-phases (add-after 'unpack 'autoconf - (lambda _ (zero? (system* "autoreconf" "-vfi"))))))) + (lambda _ + (invoke "autoreconf" "-vfi") + #t))))) (inputs `(("glib" ,glib) ("libx11" ,libx11) @@ -188,7 +185,7 @@ (define-public wmbattery `(("autoconf" ,autoconf) ("automake" ,automake) ("pkg-config" ,pkg-config))) - (home-page "http://windowmaker.org/dockapps/?name=wmbattery") + (home-page "http://www.dockapps.net/wmbattery") (synopsis "Display laptop battery info") (description "Wmbattery displays the status of your laptop's battery in a small icon. @@ -226,7 +223,7 @@ (define-public wmnd (define-public wmcpuload (package (name "wmcpuload") - (version "1.0.1") + (version "1.1.1") (source (origin (method url-fetch) (uri (string-append @@ -234,7 +231,7 @@ (define-public wmcpuload name "_" version ".orig.tar.gz")) (sha256 (base32 - "0irlns4cvxy2mnicx75bya166hdxq7h8bphds3ligijcl9fzgs6n")))) + "1334y0axnxydwv05d172f405iljrfakg4kcyg9kmn46v6ywv424g")))) (build-system gnu-build-system) (inputs `(("libx11" ,libx11) @@ -242,7 +239,7 @@ (define-public wmcpuload ("libxpm" ,libxpm))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://windowmaker.org/dockapps/?name=wmcpuload") + (home-page "http://www.dockapps.net/wmcpuload") (synopsis "Monitor CPU usage") (description "Wmcpuload displays the current CPU usage, expressed as a percentile and a @@ -269,7 +266,9 @@ (define-public wmclock `(#:phases (modify-phases %standard-phases (add-after 'unpack 'autoconf - (lambda _ (zero? (system* "autoreconf" "-vfi"))))))) + (lambda _ + (invoke "autoreconf" "-vfi") + #t))))) ;; wmclock requires autoreconf to generate its configure script. (inputs `(("libx11" ,libx11) @@ -279,7 +278,7 @@ (define-public wmclock `(("autoconf" ,autoconf) ("automake" ,automake) ("pkg-config" ,pkg-config))) - (home-page "http://windowmaker.org/dockapps/?name=wmclock") + (home-page "http://www.dockapps.net/wmclock") (synopsis "Display the date and time") (description "wmclock is an applet for Window Maker which displays the date and time in diff --git a/gnu/packages/gsasl.scm b/gnu/packages/gsasl.scm index 3146f408c3..9dcebe9832 100644 --- a/gnu/packages/gsasl.scm +++ b/gnu/packages/gsasl.scm @@ -46,7 +46,7 @@ (define-public libntlm (description "Libntlm is a library that implements NTLM authentication.") (license license:lgpl2.1+) - (home-page "http://www.nongnu.org/libntlm/"))) + (home-page "https://www.nongnu.org/libntlm/"))) (define-public gss (package diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index e344a74308..e82958cee3 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -806,7 +806,7 @@ (define-public guile-cairo `(("cairo" ,cairo))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.nongnu.org/guile-cairo/") + (home-page "https://www.nongnu.org/guile-cairo/") (synopsis "Cairo bindings for GNU Guile") (description "Guile-Cairo wraps the Cairo graphics library for Guile Scheme. diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index 3acb48a96d..5dc66c1625 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -588,7 +588,7 @@ (define-public guile-reader Guile-Reader’s approach is similar to Common Lisp’s “read table”, but hopefully more powerful and flexible (for instance, one may instantiate as many readers as needed).") - (home-page "http://www.nongnu.org/guile-reader/") + (home-page "https://www.nongnu.org/guile-reader/") (license license:gpl3+))) (define-public guile2.0-reader @@ -799,7 +799,7 @@ (define-public guile-lib #t))))) (native-inputs `(("pkg-config" ,pkg-config))) (inputs `(("guile" ,guile-2.2))) - (home-page "http://www.nongnu.org/guile-lib/") + (home-page "https://www.nongnu.org/guile-lib/") (synopsis "Collection of useful Guile Scheme modules") (description "Guile-Lib is intended as an accumulation place for pure-scheme Guile @@ -842,7 +842,7 @@ (define-public guile-json (string-append all "/@GUILE_EFFECTIVE_VERSION@"))))))) (build-system gnu-build-system) (native-inputs `(("guile" ,guile-2.2))) - (home-page "http://savannah.nongnu.org/projects/guile-json/") + (home-page "https://savannah.nongnu.org/projects/guile-json/") (synopsis "JSON module for Guile") (description "Guile-JSON supports parsing and building JSON documents according to the @@ -1190,8 +1190,8 @@ (define-public guile2.2-gdbm-ffi (deprecated-package "guile2.2-gdbm-ffi" guile-gdbm-ffi)) (define-public guile-sqlite3 - (let ((commit "1cd1dec96a9999db48c0ff45bab907efc637247f") - (revision "3")) + (let ((commit "10c13a7e02ab1655c8a758e560cafc9d6eff26f4") + (revision "4")) (package (name "guile-sqlite3") (version (git-version "0.0" revision commit)) @@ -1207,7 +1207,7 @@ (define-public guile-sqlite3 (commit commit))) (sha256 (base32 - "0vvdgwcshrgl6dfz5cxf0l9bl44nkgah0ph3vv464d55nd8qh4b6")) + "0nhhswpd7nb2f0gfr55fzcc2xm3l2xx4rbljsd1clrm8fj2d7q9d")) (file-name (string-append name "-" version "-checkout")) (modules '((guix build utils))) (snippet @@ -1350,7 +1350,7 @@ (define-public guile-redis (build-system gnu-build-system) (native-inputs `(("guile" ,guile-2.0))) - (home-page "http://savannah.nongnu.org/projects/guile-redis/") + (home-page "https://savannah.nongnu.org/projects/guile-redis/") (synopsis "Redis client library for Guile") (description "Guile-redis provides a Scheme interface to the Redis key-value cache and store.") @@ -1520,7 +1520,7 @@ (define-public g-wrap wrappers for C functions. Given a definition of the types and prototypes for a given C interface, G-Wrap will automatically generate the C code that provides access to that interface and its types from the Scheme level.") - (home-page "http://www.nongnu.org/g-wrap/index.html") + (home-page "https://www.nongnu.org/g-wrap/index.html") (license license:lgpl2.1+))) (define-public guile-dbi diff --git a/gnu/packages/irc.scm b/gnu/packages/irc.scm index f2b3702645..b00fd6cc19 100644 --- a/gnu/packages/irc.scm +++ b/gnu/packages/irc.scm @@ -115,7 +115,7 @@ (define-public quassel (define-public irssi (package (name "irssi") - (version "1.1.0") + (version "1.1.1") (source (origin (method url-fetch) (uri (string-append "https://github.com/irssi/irssi/" @@ -123,7 +123,7 @@ (define-public irssi version ".tar.xz")) (sha256 (base32 - "00jz5mf2cwzfig0qcs3y4jpp5v8icvwf239k5chr2qq47lbsp6qh")))) + "1gx1flfh4a09nb3b5pvf0ygnbl7rry3l4gph8wij29dsl7khfj3q")))) (build-system gnu-build-system) (arguments `(#:phases diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 8b38d45c4b..47220fc75c 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -6190,7 +6190,7 @@ (define-public java-ops4j-pax-exam-core-junit (define-public java-fasterxml-jackson-annotations (package (name "java-fasterxml-jackson-annotations") - (version "2.9.2") + (version "2.9.4") (source (origin (method url-fetch) (uri (string-append "https://github.com/FasterXML/" @@ -6198,7 +6198,7 @@ (define-public java-fasterxml-jackson-annotations "jackson-annotations-" version ".tar.gz")) (sha256 (base32 - "0b4wdxjxfbl3gkilylfdbl7fzimfpyih676jiwdf19i4056j8lqw")))) + "0mr95xd0da6a4g95zvrl1ryk5n5zv2rc696w3xnsr5hxk2gicfc4")))) (build-system ant-build-system) (arguments `(#:jar-name "jackson-annotations.jar" @@ -6216,7 +6216,7 @@ (define-public java-fasterxml-jackson-annotations (define-public java-fasterxml-jackson-core (package (name "java-fasterxml-jackson-core") - (version "2.9.2") + (version "2.9.4") (source (origin (method url-fetch) (uri (string-append "https://github.com/FasterXML/" @@ -6224,7 +6224,7 @@ (define-public java-fasterxml-jackson-core "jackson-core-" version ".tar.gz")) (sha256 (base32 - "0q2d6qnylyxj5jh0sam1b095b5486f7ipzhxgwcgbm254ls7fqc1")))) + "159hsnk17jr1gyzkf01cxvsn45srnk37g949r7364qlsr527gjgd")))) (build-system ant-build-system) (arguments `(#:jar-name "jackson-core.jar" @@ -6273,7 +6273,7 @@ (define-public java-fasterxml-jackson-core (define-public java-fasterxml-jackson-databind (package (name "java-fasterxml-jackson-databind") - (version "2.9.2") + (version "2.9.4") (source (origin (method url-fetch) (uri (string-append "https://github.com/FasterXML/" @@ -6281,7 +6281,7 @@ (define-public java-fasterxml-jackson-databind "jackson-databind-" version ".tar.gz")) (sha256 (base32 - "1d5ns8ypqhdy8d94i8q560ip9kka6q8lhnk6q7nfh2g9mr22cc4w")))) + "1zd2cw4z6kdkbx8za96xh9pyicv2a2l7y0rkcx2fqd8hv6d47s08")))) (build-system ant-build-system) (arguments `(#:jar-name "jackson-databind.jar" @@ -6316,7 +6316,7 @@ (define-public java-fasterxml-jackson-databind (define-public java-fasterxml-jackson-modules-base-jaxb (package (name "java-fasterxml-jackson-modules-base-jaxb") - (version "2.9.2") + (version "2.9.4") (source (origin (method url-fetch) (uri (string-append "https://github.com/FasterXML/" @@ -6324,7 +6324,7 @@ (define-public java-fasterxml-jackson-modules-base-jaxb "jackson-modules-base-" version ".tar.gz")) (sha256 (base32 - "0kc19n5a188g4vpyay44xfb7qcabcbfnwzhx1g84lg0sac8lf0ng")))) + "1wws95xi8sppp6b0k2vvjdjyynl20r1a4dwrhai08lzlria6blp5")))) (build-system ant-build-system) (arguments `(#:jar-name "jackson-modules-base-jaxb.jar" @@ -6386,7 +6386,7 @@ (define-public java-snakeyaml (define-public java-fasterxml-jackson-dataformat-yaml (package (name "java-fasterxml-jackson-dataformat-yaml") - (version "2.9.2") + (version "2.9.4") (source (origin (method url-fetch) (uri (string-append "https://github.com/FasterXML/" @@ -6394,7 +6394,7 @@ (define-public java-fasterxml-jackson-dataformat-yaml "jackson-dataformats-text-" version ".tar.gz")) (sha256 (base32 - "1x7c7v201jpb8ynjsmmq7jj7hyqzzp39jvpr053ggdndm022yzc7")))) + "1hikl06khaxbg439avf442qifcadap8w0lx13f0nnhp2vh3dkbz7")))) (build-system ant-build-system) (arguments `(#:jar-name "jackson-dataformat-yaml.jar" @@ -6495,7 +6495,7 @@ (define-public java-woodstox-core (define-public java-fasterxml-jackson-dataformat-xml (package (name "java-fasterxml-jackson-dataformat-xml") - (version "2.9.2") + (version "2.9.4") (source (origin (method url-fetch) (uri (string-append "https://github.com/FasterXML/" @@ -6503,7 +6503,7 @@ (define-public java-fasterxml-jackson-dataformat-xml "jackson-dataformat-xml-" version ".tar.gz")) (sha256 (base32 - "1j1qanvcdh6afagr67zqrlypjkf0n6wr1qzpbvkw79lii72j6pbr")))) + "111fkkl90w31jbf30kgj82qdcxlw4sxppki7i198liw0ck1jcavq")))) (build-system ant-build-system) (arguments `(#:jar-name "jackson-dataformat-xml.jar" diff --git a/gnu/packages/kde.scm b/gnu/packages/kde.scm index db4bfacc72..2ec5452a62 100644 --- a/gnu/packages/kde.scm +++ b/gnu/packages/kde.scm @@ -329,6 +329,41 @@ (define-public krita features include brush stabilizers, brush engines and wrap-around mode.") (license license:gpl2+))) +(define-public kholidays + (package + (name "kholidays") + (version "17.12.1") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://kde/stable/applications/" version "/src/" + name "-" version ".tar.xz")) + (sha256 + (base32 "0595d7wbnz8kyq1bnivdrp20lwdp8ykvdll1fmb0fgm4q24z0cl8")))) + (build-system cmake-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'check 'check-setup + (lambda _ + ;; blacklist a failing test function TODO: make it pass + (with-output-to-file "autotests/BLACKLIST" + (lambda _ + (display "[testDefaultRegions]\n*\n"))) + #t))))) + (native-inputs + `(("extra-cmake-modules" ,extra-cmake-modules) + ("qttools" ,qttools))) + (inputs + `(("qtbase" ,qtbase) + ("qtdeclarative" ,qtdeclarative))) + (home-page "https://cgit.kde.org/kholidays.git") + (synopsis "Library for regional holiday information") + (description "This library provides a C++ API that determines holiday and +other special events for a geographical region.") + (license license:lgpl2.0+))) + (define-public libkomparediff2 (package (name "libkomparediff2") diff --git a/gnu/packages/ldc.scm b/gnu/packages/ldc.scm index 8e9ae1724a..8fe59679f8 100644 --- a/gnu/packages/ldc.scm +++ b/gnu/packages/ldc.scm @@ -165,6 +165,12 @@ (define-public ldc-bootstrap (sha256 (base32 "196mkfax5y3yqm3gz7jhqhnkjwrvr2m4a8nc9k41l0511ldzsk9x")))))) + + (properties + ;; Some of the tests take a very long time on ARMv7. See + ;; . + `((max-silent-time . ,(* 3600 3)))) + (home-page "http://wiki.dlang.org/LDC") (synopsis "LLVM compiler for the D programming language") (description diff --git a/gnu/packages/libunwind.scm b/gnu/packages/libunwind.scm index e747d37787..578154f70d 100644 --- a/gnu/packages/libunwind.scm +++ b/gnu/packages/libunwind.scm @@ -41,7 +41,7 @@ (define-public libunwind ;; expected to fail). ;; Report them upstream. '(#:tests? #f)) - (home-page "http://www.nongnu.org/libunwind") + (home-page "https://www.nongnu.org/libunwind") (synopsis "Determining the call chain of a program") (description "The primary goal of this project is to define a portable and efficient C diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 691990b08c..78d23b4f6a 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -907,14 +907,14 @@ (define-public zerofree (define-public strace (package (name "strace") - (version "4.20") + (version "4.21") (source (origin (method url-fetch) - (uri (string-append "mirror://sourceforge/strace/strace/" version - "/strace-" version ".tar.xz")) + (uri (string-append "https://github.com/strace/strace/releases/" + "download/v" version "/strace-" version ".tar.xz")) (sha256 (base32 - "08y5b07vb8jc7ak5xc3x2kx1ly6xiwv1gnppcqjs81kks66i9wsv")))) + "0dsw6xcfrmygidp1dj2ch8cl8icrar7789snkb2r8gh78kdqhxjw")))) (build-system gnu-build-system) (arguments '(#:phases diff --git a/gnu/packages/lout.scm b/gnu/packages/lout.scm index f2c724ae07..1a1d0b3274 100644 --- a/gnu/packages/lout.scm +++ b/gnu/packages/lout.scm @@ -124,4 +124,4 @@ (define out outcome of an eight-year research project that went back to the beginning.") (license gpl3+) - (home-page "http://savannah.nongnu.org/projects/lout/")))) + (home-page "https://savannah.nongnu.org/projects/lout/")))) diff --git a/gnu/packages/mpd.scm b/gnu/packages/mpd.scm index 82681aa68a..ac1fe51f15 100644 --- a/gnu/packages/mpd.scm +++ b/gnu/packages/mpd.scm @@ -332,5 +332,5 @@ (define-public sonata (description "Sonata is an elegant graphical client for the Music Player Daemon (MPD). It supports playlists, multiple profiles (connecting to different MPD servers, search and multimedia key support.") - (home-page "http://www.nongnu.org/sonata/") + (home-page "https://www.nongnu.org/sonata/") (license license:gpl3+))) diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm index f227659238..09284990cc 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -1403,14 +1403,14 @@ (define-public spiped (define-public quagga (package (name "quagga") - (version "1.2.2") + (version "1.2.3") (source (origin (method url-fetch) (uri (string-append "mirror://savannah/quagga/quagga-" version ".tar.gz")) (sha256 (base32 - "0c99rjjc62xl5kwvx2pwyvs0709vbwax1qydqbqf6r7fpvr24bjj")) + "0cddxip9gd579parx64n6d7iq937ikrb8qxgvjxjm406l43hjb7f")) (patches (search-patches "quagga-reproducible-build.patch")))) (build-system gnu-build-system) @@ -1428,7 +1428,7 @@ (define-public quagga Zserv API over a Unix or TCP stream to Quagga clients. It is these Zserv clients which typically implement a routing protocol and communicate routing updates to the zebra daemon.") - (home-page "http://www.nongnu.org/quagga/") + (home-page "https://www.nongnu.org/quagga/") (license license:gpl2+))) (define-public thc-ipv6 diff --git a/gnu/packages/patches/crypto++-fix-dos-in-asn.1-decoders.patch b/gnu/packages/patches/crypto++-fix-dos-in-asn.1-decoders.patch deleted file mode 100644 index 88b2e7f25a..0000000000 --- a/gnu/packages/patches/crypto++-fix-dos-in-asn.1-decoders.patch +++ /dev/null @@ -1,65 +0,0 @@ -From 3d9181d7bdd8e491f745dbc9e34bd20b6f6da069 Mon Sep 17 00:00:00 2001 -From: Gergely Nagy -Date: Wed, 14 Dec 2016 13:19:01 +0100 -Subject: [PATCH] Fix possible DoS in ASN.1 decoders (CVE-2016-9939) - ---- - asn.cpp | 10 ++++++++++ - asn.h | 2 ++ - 2 files changed, 12 insertions(+) - -diff --git a/asn.cpp b/asn.cpp -index 297ff010..2e923ef7 100644 ---- a/asn.cpp -+++ b/asn.cpp -@@ -123,6 +123,8 @@ size_t BERDecodeOctetString(BufferedTransformation &bt, SecByteBlock &str) - size_t bc; - if (!BERLengthDecode(bt, bc)) - BERDecodeError(); -+ if (bc > bt.MaxRetrievable()) -+ BERDecodeError(); - - str.New(bc); - if (bc != bt.Get(str, bc)) -@@ -139,6 +141,8 @@ size_t BERDecodeOctetString(BufferedTransformation &bt, BufferedTransformation & - size_t bc; - if (!BERLengthDecode(bt, bc)) - BERDecodeError(); -+ if (bc > bt.MaxRetrievable()) -+ BERDecodeError(); - - bt.TransferTo(str, bc); - return bc; -@@ -161,6 +165,8 @@ size_t BERDecodeTextString(BufferedTransformation &bt, std::string &str, byte as - size_t bc; - if (!BERLengthDecode(bt, bc)) - BERDecodeError(); -+ if (bc > bt.MaxRetrievable()) -+ BERDecodeError(); - - SecByteBlock temp(bc); - if (bc != bt.Get(temp, bc)) -@@ -188,6 +194,10 @@ size_t BERDecodeBitString(BufferedTransformation &bt, SecByteBlock &str, unsigne - size_t bc; - if (!BERLengthDecode(bt, bc)) - BERDecodeError(); -+ if (bc == 0) -+ BERDecodeError(); -+ if (bc > bt.MaxRetrievable()) -+ BERDecodeError(); - - byte unused; - if (!bt.Get(unused)) -diff --git a/asn.h b/asn.h -index ed9de52c..33f0dd09 100644 ---- a/asn.h -+++ b/asn.h -@@ -498,6 +498,8 @@ void BERDecodeUnsigned(BufferedTransformation &in, T &w, byte asnTag = INTEGER, - bool definite = BERLengthDecode(in, bc); - if (!definite) - BERDecodeError(); -+ if (bc > in.MaxRetrievable()) -+ BERDecodeError(); - - SecByteBlock buf(bc); - diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm index b40100115c..2d4a3ceac0 100644 --- a/gnu/packages/python-web.scm +++ b/gnu/packages/python-web.scm @@ -2049,14 +2049,14 @@ (define-public python2-cssmin (define-public python-elasticsearch (package (name "python-elasticsearch") - (version "1.0.0") + (version "6.1.1") (source (origin (method url-fetch) (uri (pypi-uri "elasticsearch" version)) (sha256 (base32 - "1sdw1r05cw7ihnmng8ra9v968fj7bq6sji8i1dikymsnkcpgc69g")))) + "1kjxl45yvvgfb5fmamx0kfsfg9pzphiqrwbkns3s28r1w7ya74cd")))) (build-system python-build-system) (native-inputs `(("python-mock" ,python-mock) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index c3459cc51f..6e5e804c34 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -19,7 +19,7 @@ ;;; Copyright © 2015, 2016 Chris Marusich ;;; Copyright © 2016 Danny Milosavljevic ;;; Copyright © 2016 Lukas Gradl -;;; Copyright © 2016 Hartmut Goebel +;;; Copyright © 2016, 2018 Hartmut Goebel ;;; Copyright © 2016 Daniel Pimentel ;;; Copyright © 2016 Sou Bunnbu ;;; Copyright © 2016, 2017 Troy Sankey @@ -112,6 +112,7 @@ (define-module (gnu packages python) #:use-module (gnu packages shells) #:use-module (gnu packages ssh) #:use-module (gnu packages statistics) + #:use-module (gnu packages terminals) #:use-module (gnu packages tex) #:use-module (gnu packages texinfo) #:use-module (gnu packages time) @@ -7446,14 +7447,14 @@ (define-public python2-jmespath (define-public python-botocore (package (name "python-botocore") - (version "1.8.36") + (version "1.8.43") (source (origin (method url-fetch) (uri (pypi-uri "botocore" version)) (sha256 (base32 - "0xd607qd9vkwpsvp552nqnrxppnx2n1rzh9kk9shz48ldpyy1jdj")))) + "12cqpbnz3vfv41mp9admvciw7bc7hz57sjpqs2bxaw9wnfmbw5lg")))) (build-system python-build-system) (arguments ;; FIXME: Many tests are failing. @@ -12732,3 +12733,92 @@ (define-public python-typing (define-public python2-typing (package-with-python2 python-typing)) + +(define-public bpython + (package + (name "bpython") + (version "0.17") + (source + (origin + (method url-fetch) + (uri (pypi-uri "bpython" version)) + (sha256 + (base32 + "1mbah208jhd7bsfaa17fwpi55f7fvif0ghjwgrjmpmx8w1vqab9l")))) + (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'remove-failing-test + (lambda _ + ;; Remove failing test. FIXME: make it pass + (delete-file "bpython/test/test_args.py") + #t)) + (add-after 'wrap 'add-aliases + ;; for symmetry to bpython2, add symlinks bypthon3, bpdb3, etc. + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (for-each + (lambda (old new) + (symlink old (string-append out "/bin/" new))) + '("bpython" "bpython-curses" "bpython-urwid" "bpdb") + '("bpython3" "bpython3-curses" "bpython3-urwid" "bpdb3"))) + #t))))) + (propagated-inputs + `(("python-pygments" ,python-pygments) + ("python-requests", python-requests) + ("python-babel" ,python-babel) ; optional, for internationalization + ("python-curtsies" ,python-curtsies) ; >= 0.1.18 + ("python-greenlet" ,python-greenlet) + ("python-urwid" ,python-urwid) ; for bpython-urwid only + ("python-six" ,python-six))) + (native-inputs + `(("python-sphinx" ,python-sphinx) + ("python-mock" ,python-mock))) + (home-page "https://bpython-interpreter.org/") + (synopsis "Fancy interface to the Python interpreter") + (description "Bpython is a fancy interface to the Python +interpreter. bpython's main features are + +@enumerate +@item in-line syntax highlighting, +@item readline-like autocomplete with suggestions displayed as you type, +@item expected parameter list for any Python function, +@item \"rewind\" function to pop the last line of code from memory and + re-evaluate, +@item send the code you've entered off to a pastebin, +@item save the code you've entered to a file, and +@item auto-indentation. +@end enumerate") + (license license:expat))) + +(define-public bpython2 + (let ((base (package-with-python2 + (strip-python2-variant bpython)))) + (package (inherit base) + (name "bpython2") + (arguments + `(#:python ,python-2 + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'remove-failing-test + (lambda _ + ;; Remove failing test. FIXME: make it pass + (delete-file "bpython/test/test_args.py") + ;; Disable failing test-cases (renaming inhibits they are + ;; discovered) + (substitute* "bpython/test/test_curtsies_repl.py" + (("^(\\s*def )(test_get_last_word_with_prev_line\\W)" _ a b) + (string-append a "xxx_off_" b)) + (("^(\\s*def )(test_complex\\W)" _ a b) + (string-append a "xxx_off_" b))) + #t)) + (add-before 'build 'rename-scripts + ;; rename the scripts to bypthon2, bpdb2, etc. + (lambda _ + (substitute* "setup.py" + (("^(\\s+'bpdb)(\\s+=.*',?)\\s*?$" _ name rest) + (string-append name "2" rest "\n")) + (("^(\\s+'bpython)(-\\S+)?(\\s+=.*',?)\\s*?$" _ name sub rest) + (string-append name "2" (or sub "") rest "\n"))) + #t)))))))) diff --git a/gnu/packages/ratpoison.scm b/gnu/packages/ratpoison.scm index e68b345b06..d630c24fd4 100644 --- a/gnu/packages/ratpoison.scm +++ b/gnu/packages/ratpoison.scm @@ -82,7 +82,7 @@ (define-public ratpoison `(("perl",perl) ("pkg-config" ,pkg-config) ("ratpoison.desktop" ,ratpoison.desktop))) - (home-page "http://www.nongnu.org/ratpoison/") + (home-page "https://www.nongnu.org/ratpoison/") (synopsis "Simple mouse-free tiling window manager") (description "Ratpoison is a simple window manager with no fat library diff --git a/gnu/packages/skribilo.scm b/gnu/packages/skribilo.scm index 87dc3558de..f10acaec70 100644 --- a/gnu/packages/skribilo.scm +++ b/gnu/packages/skribilo.scm @@ -77,7 +77,7 @@ (define-public skribilo (propagated-inputs `(("guile-reader" ,guile2.0-reader) ("guile-lib" ,guile2.0-lib))) - (home-page "http://www.nongnu.org/skribilo/") + (home-page "https://www.nongnu.org/skribilo/") (synopsis "Document production tool written in Guile Scheme") (description "Skribilo is a free document production tool that takes a structured diff --git a/gnu/packages/telephony.scm b/gnu/packages/telephony.scm index 53bc9f950b..018de0c6ce 100644 --- a/gnu/packages/telephony.scm +++ b/gnu/packages/telephony.scm @@ -162,7 +162,7 @@ (define-public exosip (license license:gpl2+) ;; (plus OpenSSL linking exception) ;; http://git.savannah.gnu.org/cgit/exosip.git/plain/LICENSE.OpenSSL - (home-page "http://savannah.nongnu.org/projects/exosip"))) + (home-page "https://savannah.nongnu.org/projects/exosip"))) (define-public sipwitch (package diff --git a/gnu/packages/terminals.scm b/gnu/packages/terminals.scm index f296235b7b..eeae8bea41 100644 --- a/gnu/packages/terminals.scm +++ b/gnu/packages/terminals.scm @@ -9,6 +9,7 @@ ;;; Copyright © 2017 Kei Kebreau ;;; Copyright © 2017 Ricardo Wurmus ;;; Copyright © 2017 Petter +;;; Copyright © 2018 Hartmut Goebel ;;; ;;; This file is part of GNU Guix. ;;; @@ -38,6 +39,7 @@ (define-module (gnu packages terminals) #:use-module (guix packages) #:use-module (gnu packages) #:use-module (gnu packages autotools) + #:use-module (gnu packages check) #:use-module (gnu packages docbook) #:use-module (gnu packages freedesktop) #:use-module (gnu packages gettext) @@ -667,3 +669,111 @@ (define-public go-github.com-howeyc-gopass terminal or piped input.") (home-page "https://github.com/howeyc/gopass") (license license:isc)))) + +(define-public python-pyte + (package + (name "python-pyte") + (version "0.7.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "pyte" version)) + (sha256 + (base32 + "1an54hvyjm8gncx8cgabz9mkpgjkdb0bkyjlkh7g7f94nr3wnfl7")))) + (build-system python-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'remove-failing-test + ;; TODO: Reenable when the `captured` files required by this test + ;; are included in the archive. + (lambda _ + (delete-file "tests/test_input_output.py") + #t))))) + (propagated-inputs + `(("python-wcwidth", python-wcwidth))) + (native-inputs + `(("python-pytest-runner" ,python-pytest-runner) + ("python-pytest" ,python-pytest))) + (home-page "https://pyte.readthedocs.io/") + (synopsis "Simple VTXXX-compatible terminal emulator") + (description "@code{pyte} is an in-memory VTxxx-compatible terminal +emulator. @var{VTxxx} stands for a series of video terminals, developed by +DEC between 1970 and 1995. The first and probably most famous one was the +VT100 terminal, which is now a de-facto standard for all virtual terminal +emulators. + +pyte is a fork of vt102, which was an incomplete pure Python implementation +of VT100 terminal.") + (license license:lgpl3+))) + +(define-public python2-pyte + (package-with-python2 python-pyte)) + +(define-public python-blessings + (package + (name "python-blessings") + (version "1.6.1") + (source + (origin + (method url-fetch) + (uri (pypi-uri "blessings" version)) + (sha256 + (base32 + "1smngy65p8mi62lgm04icasx22v976szhs2aq95y2ljmi1srb4bl")))) + (build-system python-build-system) + (arguments + ;; TODO: For py3, 2to2 is used to convert the code, but test-suite fails + `(#:tests? #f)) + (native-inputs + `(("python-nose" ,python-nose))) + (home-page "https://github.com/erikrose/blessings") + (synopsis "Python module to manage terminal color, styling, and +positioning") + (description "Blessings is a pythonic API to manipulate terminal color, +styling, and positioning. It provides similar features to curses but avoids +some of curses’s limitations: it does not require clearing the whole screen +for little changes, provides a scroll-back buffer after the program exits, and +avoids styling altogether when the output is redirected to something other +than a terminal.") + (license license:expat))) + +(define-public python2-blessings + (package-with-python2 python-blessings)) + +(define-public python-curtsies + (package + (name "python-curtsies") + (version "0.2.11") + (source + (origin + (method url-fetch) + (uri (pypi-uri "curtsies" version)) + (sha256 + (base32 + "1vljmw3sy6lrqahhpyg4gk13mzcx3mwhvg8s41698ms3cpgkjipc")))) + (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (replace 'check + (lambda _ + (invoke "nosetests" "-v")))))) + (propagated-inputs + `(("python-blessings" ,python-blessings) + ("python-wcwidth", python-wcwidth))) + (native-inputs + `(("python-mock" ,python-mock) + ("python-pyte" ,python-pyte) + ("python-nose" ,python-nose))) + (home-page "https://github.com/thomasballinger/curtsies") + (synopsis "Library for curses-like terminal interaction with colored +strings") + (description "Curtsies is a Python library for interacting with the +terminal. It features string-like objects which carry formatting information, +per-line fullscreen terminal rendering, and keyboard input event reporting.") + (license license:expat))) + +(define-public python2-curtsies + (package-with-python2 python-curtsies)) diff --git a/gnu/packages/texinfo.scm b/gnu/packages/texinfo.scm index c7f2f4840f..30f593d0ad 100644 --- a/gnu/packages/texinfo.scm +++ b/gnu/packages/texinfo.scm @@ -151,7 +151,7 @@ (define-public texi2html ;; texi2html.pl to avoid the warnings seems non-trivial, so we simply ;; disable the tests. '(#:tests? #f)) - (home-page "http://www.nongnu.org/texi2html/") + (home-page "https://www.nongnu.org/texi2html/") (synopsis "Convert Texinfo to HTML") (description "Texi2HTML is a Perl script which converts Texinfo source files to HTML diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index d945caee12..817acda084 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -1010,7 +1010,7 @@ (define-public mplayer (define-public mpv (package (name "mpv") - (version "0.28.1") + (version "0.28.2") (source (origin (method url-fetch) (uri (string-append @@ -1018,7 +1018,7 @@ (define-public mpv ".tar.gz")) (sha256 (base32 - "1i1czric6dhbwvyxamzrnwjwsznrn9cpzp6m0m6aahiwpbfbl282")) + "15fp4sa5glqhgidd54vs6knf9dp809wszzsqiqz5nyri4ph19nma")) (file-name (string-append name "-" version ".tar.gz")))) (build-system waf-build-system) (native-inputs diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index a0b59f3969..9156655b30 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -24,6 +24,7 @@ ;;; Copyright © 2017 Petter ;;; Copyright © 2017 Pierre Langlois ;;; Copyright © 2017 Rutger Helling +;;; Copyright © 2018 Julien Lepiller ;;; ;;; This file is part of GNU Guix. ;;; @@ -6296,3 +6297,46 @@ (define-public geomyidae @item logging with multiple log levels. @end enumerate\n") (license l:expat))) + +(define-public cat-avatar-generator + (package + (name "cat-avatar-generator") + (version "1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://framagit.org/Deevad/cat-avatar-generator.git") + (commit "71c0c662742cafe8afd2d2d50ec84243113e35ad"))) + (file-name (string-append name "-" version)) + (sha256 + (base32 + "0s7b5whqsmfa57prbgl66ym551kg6ly0z14h5dgrlx4lqm70y2yw")))) + (build-system trivial-build-system) + (arguments + `(#:modules ((guix build utils) + (srfi srfi-1) + (srfi srfi-26)) + #:builder + (begin + (use-modules (guix build utils) + (srfi srfi-1) + (srfi srfi-26)) + (let ((source (assoc-ref %build-inputs "source")) + (php-dir (string-append %output "/share/web/" ,name "/"))) + ;; The cache directory must not be in the store, but in a writable + ;; location. The webserver will give us this location. + (copy-recursively source php-dir) + (substitute* (string-append php-dir "/cat-avatar-generator.php") + (("\\$cachepath = .*") + "if(isset($_SERVER['CACHE_DIR'])) +$cachepath = $_SERVER['CACHE_DIR']; +else +die('You need to set the CACHE_DIR variable first.');")))))) + (home-page "https://framagit.org/Deevad/cat-avatar-generator") + (synopsis "Random avatar generator") + (description "Cat avatar generator is a generator of cat pictures optimised +to generate random avatars, or defined avatar from a \"seed\". This is a +derivation by David Revoy from the original MonsterID by Andreas Gohr.") + ;; expat for the code, CC-BY 4.0 for the artwork + (license (list l:expat + l:cc-by4.0)))) diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm index 8c9ef7adfa..be2ee2d086 100644 --- a/gnu/packages/xdisorg.scm +++ b/gnu/packages/xdisorg.scm @@ -722,7 +722,7 @@ (define-public xbindkeys (inputs `(("libx11" ,libx11) ("guile" ,guile-2.0))) - (home-page "http://www.nongnu.org/xbindkeys/") + (home-page "https://www.nongnu.org/xbindkeys/") (synopsis "Associate a combination of keys with a shell command") (description "XBindKeys is a program that allows you to launch shell commands with diff --git a/gnu/packages/xfce.scm b/gnu/packages/xfce.scm index 630851ba39..035e9c5f20 100644 --- a/gnu/packages/xfce.scm +++ b/gnu/packages/xfce.scm @@ -792,7 +792,7 @@ (define-public xfce4-power-manager (define-public ristretto (package (name "ristretto") - (version "0.8.0") + (version "0.8.2") (source (origin (method url-fetch) (uri (string-append "http://archive.xfce.org/src/apps/ristretto/" @@ -800,7 +800,7 @@ (define-public ristretto name "-" version ".tar.bz2")) (sha256 (base32 - "0a7kwhx51fd2kqh7l7kp13wcn39d2fjkwnn9rfd1k9ydrqj56qki")))) + "1f01d47kd85kjd1k4bzpcck4cb40qpjm5fzirzwdsxzwlrybgwzq")))) (build-system gnu-build-system) (native-inputs `(("intltool" ,intltool) diff --git a/gnu/packages/xiph.scm b/gnu/packages/xiph.scm index 3a9b989486..a8e7833990 100644 --- a/gnu/packages/xiph.scm +++ b/gnu/packages/xiph.scm @@ -389,7 +389,7 @@ (define opus-tools (define opusfile (package (name "opusfile") - (version "0.9") + (version "0.10") (source (origin (method url-fetch) (uri (string-append @@ -397,7 +397,7 @@ (define opusfile ".tar.gz")) (sha256 (base32 - "0yg9whb9y6ja3d5dmscg5a29hxj7qj0asw8smisjf4hbwh0bapzp")))) + "0bs1376sd131qdh7198jp64vv5d17az5wyy4y7srrvw7p8k3bq28")))) (build-system gnu-build-system) (propagated-inputs `(("opus" ,opus))) diff --git a/gnu/services/avahi.scm b/gnu/services/avahi.scm index b4f89c4abf..a5305130af 100644 --- a/gnu/services/avahi.scm +++ b/gnu/services/avahi.scm @@ -131,10 +131,8 @@ (define avahi-service-type (const %avahi-accounts)) (service-extension activation-service-type (const %avahi-activation)) - - ;; Use 0.10 due to . (service-extension nscd-service-type - (const (list nss-mdns-0.10))) + (const (list nss-mdns))) ;; Provide 'avahi-browse', 'avahi-resolve', etc. in ;; the system profile. diff --git a/gnu/services/base.scm b/gnu/services/base.scm index 8e30bcd341..1ad7c2320a 100644 --- a/gnu/services/base.scm +++ b/gnu/services/base.scm @@ -817,7 +817,7 @@ (define-record-type* agetty-configuration? (agetty agetty-configuration-agetty ; (default util-linux)) - (tty agetty-configuration-tty) ;string + (tty agetty-configuration-tty) ;string | #f (term agetty-term ;string | #f (default #f)) (baud-rate agetty-baud-rate ;string | #f @@ -890,6 +890,40 @@ (define-record-type* ;;; (default #f)) ) +(define (default-serial-port) + "Return a gexp that determines a reasonable default serial port +to use as the tty. This is primarily useful for headless systems." + #~(begin + ;; console=device,options + ;; device: can be tty0, ttyS0, lp0, ttyUSB0 (serial). + ;; options: BBBBPNF. P n|o|e, N number of bits, + ;; F flow control (r RTS) + (let* ((not-comma (char-set-complement (char-set #\,))) + (command (linux-command-line)) + (agetty-specs (find-long-options "agetty.tty" command)) + (console-specs (filter (lambda (spec) + (and (string-prefix? "tty" spec) + (not (or + (string-prefix? "tty0" spec) + (string-prefix? "tty1" spec) + (string-prefix? "tty2" spec) + (string-prefix? "tty3" spec) + (string-prefix? "tty4" spec) + (string-prefix? "tty5" spec) + (string-prefix? "tty6" spec) + (string-prefix? "tty7" spec) + (string-prefix? "tty8" spec) + (string-prefix? "tty9" spec))))) + (find-long-options "console" command))) + (specs (append agetty-specs console-specs))) + (match specs + (() #f) + ((spec _ ...) + ;; Extract device name from first spec. + (match (string-tokenize spec not-comma) + ((device-name _ ...) + device-name))))))) + (define agetty-shepherd-service (match-lambda (($ agetty tty term baud-rate auto-login @@ -900,8 +934,9 @@ (define agetty-shepherd-service erase-characters kill-characters chdir delay nice extra-options) (list (shepherd-service + (modules '((ice-9 match) (gnu build linux-boot))) (documentation "Run agetty on a tty.") - (provision (list (symbol-append 'term- (string->symbol tty)))) + (provision (list (symbol-append 'term- (string->symbol (or tty "auto"))))) ;; Since the login prompt shows the host name, wait for the 'host-name' ;; service to be done. Also wait for udev essentially so that the tty @@ -909,113 +944,119 @@ (define agetty-shepherd-service ;; mingetty-shepherd-service). (requirement '(user-processes host-name udev)) - (start #~(make-forkexec-constructor - (list #$(file-append util-linux "/sbin/agetty") - #$@extra-options - #$@(if eight-bits? - #~("--8bits") - #~()) - #$@(if no-reset? - #~("--noreset") - #~()) - #$@(if remote? - #~("--remote") - #~()) - #$@(if flow-control? - #~("--flow-control") - #~()) - #$@(if host - #~("--host" #$host) - #~()) - #$@(if no-issue? - #~("--noissue") - #~()) - #$@(if init-string - #~("--init-string" #$init-string) - #~()) - #$@(if no-clear? - #~("--noclear") - #~()) + (start #~(let ((tty #$(default-serial-port))) + (if tty + (make-forkexec-constructor + (list #$(file-append util-linux "/sbin/agetty") + #$@extra-options + #$@(if eight-bits? + #~("--8bits") + #~()) + #$@(if no-reset? + #~("--noreset") + #~()) + #$@(if remote? + #~("--remote") + #~()) + #$@(if flow-control? + #~("--flow-control") + #~()) + #$@(if host + #~("--host" #$host) + #~()) + #$@(if no-issue? + #~("--noissue") + #~()) + #$@(if init-string + #~("--init-string" #$init-string) + #~()) + #$@(if no-clear? + #~("--noclear") + #~()) ;;; FIXME This doesn't work as expected. According to agetty(8), if this option ;;; is not passed, then the default is 'auto'. However, in my tests, when that ;;; option is selected, agetty never presents the login prompt, and the ;;; term-ttyS0 service respawns every few seconds. - #$@(if local-line - #~(#$(match local-line - ('auto "--local-line=auto") - ('always "--local-line=always") - ('never "-local-line=never"))) - #~()) - #$@(if extract-baud? - #~("--extract-baud") - #~()) - #$@(if skip-login? - #~("--skip-login") - #~()) - #$@(if no-newline? - #~("--nonewline") - #~()) - #$@(if login-options - #~("--login-options" #$login-options) - #~()) - #$@(if chroot - #~("--chroot" #$chroot) - #~()) - #$@(if hangup? - #~("--hangup") - #~()) - #$@(if keep-baud? - #~("--keep-baud") - #~()) - #$@(if timeout - #~("--timeout" #$(number->string timeout)) - #~()) - #$@(if detect-case? - #~("--detect-case") - #~()) - #$@(if wait-cr? - #~("--wait-cr") - #~()) - #$@(if no-hints? - #~("--nohints?") - #~()) - #$@(if no-hostname? - #~("--nohostname") - #~()) - #$@(if long-hostname? - #~("--long-hostname") - #~()) - #$@(if erase-characters - #~("--erase-chars" #$erase-characters) - #~()) - #$@(if kill-characters - #~("--kill-chars" #$kill-characters) - #~()) - #$@(if chdir - #~("--chdir" #$chdir) - #~()) - #$@(if delay - #~("--delay" #$(number->string delay)) - #~()) - #$@(if nice - #~("--nice" #$(number->string nice)) - #~()) - #$@(if auto-login - (list "--autologin" auto-login) - '()) - #$@(if login-program - #~("--login-program" #$login-program) - #~()) - #$@(if login-pause? - #~("--login-pause") - #~()) - #$tty - #$@(if baud-rate - #~(#$baud-rate) - #~()) - #$@(if term - #~(#$term) - #~())))) + #$@(if local-line + #~(#$(match local-line + ('auto "--local-line=auto") + ('always "--local-line=always") + ('never "-local-line=never"))) + #~()) + #$@(if tty + #~() + #~("--keep-baud")) + #$@(if extract-baud? + #~("--extract-baud") + #~()) + #$@(if skip-login? + #~("--skip-login") + #~()) + #$@(if no-newline? + #~("--nonewline") + #~()) + #$@(if login-options + #~("--login-options" #$login-options) + #~()) + #$@(if chroot + #~("--chroot" #$chroot) + #~()) + #$@(if hangup? + #~("--hangup") + #~()) + #$@(if keep-baud? + #~("--keep-baud") + #~()) + #$@(if timeout + #~("--timeout" #$(number->string timeout)) + #~()) + #$@(if detect-case? + #~("--detect-case") + #~()) + #$@(if wait-cr? + #~("--wait-cr") + #~()) + #$@(if no-hints? + #~("--nohints?") + #~()) + #$@(if no-hostname? + #~("--nohostname") + #~()) + #$@(if long-hostname? + #~("--long-hostname") + #~()) + #$@(if erase-characters + #~("--erase-chars" #$erase-characters) + #~()) + #$@(if kill-characters + #~("--kill-chars" #$kill-characters) + #~()) + #$@(if chdir + #~("--chdir" #$chdir) + #~()) + #$@(if delay + #~("--delay" #$(number->string delay)) + #~()) + #$@(if nice + #~("--nice" #$(number->string nice)) + #~()) + #$@(if auto-login + (list "--autologin" auto-login) + '()) + #$@(if login-program + #~("--login-program" #$login-program) + #~()) + #$@(if login-pause? + #~("--login-pause") + #~()) + #$(or tty (default-serial-port)) + #$@(if baud-rate + #~(#$baud-rate) + #~()) + #$@(if term + #~(#$term) + #~())))) + (const #f))) ; never start. (stop #~(make-kill-destructor))))))) (define agetty-service-type @@ -2012,6 +2053,11 @@ (define %base-services (cons tty %default-console-font)) '("tty1" "tty2" "tty3" "tty4" "tty5" "tty6"))) + (agetty-service (agetty-configuration + (extra-options '("-L")) ; no carrier detect + (term "vt100") + (tty #f))) ; automatic + (mingetty-service (mingetty-configuration (tty "tty1"))) (mingetty-service (mingetty-configuration diff --git a/gnu/services/web.scm b/gnu/services/web.scm index c1ffe3e055..beda481b0d 100644 --- a/gnu/services/web.scm +++ b/gnu/services/web.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2015 David Thompson ;;; Copyright © 2015, 2016, 2017 Ludovic Courtès ;;; Copyright © 2016 ng0 -;;; Copyright © 2016, 2017 Julien Lepiller +;;; Copyright © 2016, 2017, 2018 Julien Lepiller ;;; Copyright © 2017 Christopher Baines ;;; Copyright © 2017 nee ;;; Copyright © 2017 Clément Lassieur @@ -153,7 +153,9 @@ (define-module (gnu services web) php-fpm-on-demand-process-manager-configuration-process-idle-timeout php-fpm-service-type - nginx-php-location)) + nginx-php-location + + cat-avatar-generator-service)) ;;; Commentary: ;;; @@ -870,3 +872,24 @@ (define* (nginx-php-location (string-append "fastcgi_pass unix:" socket ";") "fastcgi_index index.php;" (list "include " nginx-package "/share/nginx/conf/fastcgi.conf;"))))) + +(define* (cat-avatar-generator-service + #:key + (cache-dir "/var/cache/cat-avatar-generator") + (package cat-avatar-generator) + (configuration (nginx-server-configuration))) + (simple-service + 'cat-http-server nginx-service-type + (list (nginx-server-configuration + (inherit configuration) + (locations + (cons + (let ((base (nginx-php-location))) + (nginx-location-configuration + (inherit base) + (body (list (string-append "fastcgi_param CACHE_DIR \"" + cache-dir "\";") + (nginx-location-configuration-body base))))) + (nginx-server-configuration-locations configuration))) + (root #~(string-append #$package + "/share/web/cat-avatar-generator")))))) diff --git a/gnu/system/install.scm b/gnu/system/install.scm index e4b2e82378..b61660b4b9 100644 --- a/gnu/system/install.scm +++ b/gnu/system/install.scm @@ -381,14 +381,6 @@ (define installation-os nvi ;:wq! %base-packages)))) -(define* (agetty-default-service #:optional (tty "ttyS0")) - "Return an agetty-service on the given TTY" - (agetty-service (agetty-configuration - (extra-options '("-L")) - (baud-rate "115200") - (term "vt100") - (tty tty)))) - (define* (embedded-installation-os bootloader bootloader-target tty #:key (extra-modules '())) "Return an installation os for embedded systems. @@ -401,12 +393,13 @@ (define* (embedded-installation-os bootloader bootloader-target tty (bootloader bootloader) (target bootloader-target))) (kernel linux-libre) + (kernel-arguments + (cons (string-append "console=" tty) + (operating-system-user-kernel-arguments installation-os))) (initrd (lambda (fs . rest) (apply base-initrd fs #:extra-modules extra-modules - rest))) - (services (cons* (agetty-default-service tty) - (operating-system-user-services installation-os))))) + rest))))) (define beaglebone-black-installation-os (embedded-installation-os u-boot-beaglebone-black-bootloader diff --git a/guix/build/union.scm b/guix/build/union.scm index 256123c566..d46b750035 100644 --- a/guix/build/union.scm +++ b/guix/build/union.scm @@ -93,7 +93,7 @@ (define (resolve-collisions output dirs files) (cond ((null? dirs) ;; The inputs are all files. (format (current-error-port) - "warning: collision encountered: ~{~a ~}~%" + "~%warning: collision encountered:~%~{~a~%~}" files) (let ((file (first files))) diff --git a/guix/import/utils.scm b/guix/import/utils.scm index d4cef6b503..efc6169077 100644 --- a/guix/import/utils.scm +++ b/guix/import/utils.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013 Ludovic Courtès +;;; Copyright © 2012, 2013, 2018 Ludovic Courtès ;;; Copyright © 2016 Jelle Licht ;;; Copyright © 2016 David Craven ;;; Copyright © 2017 Ricardo Wurmus @@ -330,10 +330,12 @@ (define (alist->package meta) (description (assoc-ref meta "description")) (license - (let ((l (assoc-ref meta "license"))) - (or (module-ref (resolve-interface '(guix licenses) #:prefix 'license:) - (spdx-string->license l)) - (license:fsdg-compatible l)))))) + (match (assoc-ref meta "license") + (#f #f) + (l + (or (module-ref (resolve-interface '(guix licenses) #:prefix 'license:) + (spdx-string->license l)) + (license:fsdg-compatible l))))))) (define* (read-lines #:optional (port (current-input-port))) "Read lines from PORT and return them as a list." diff --git a/guix/scripts/pack.scm b/guix/scripts/pack.scm index a22258d5a6..59dd117edb 100644 --- a/guix/scripts/pack.scm +++ b/guix/scripts/pack.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2015, 2017 Ludovic Courtès ;;; Copyright © 2017 Efraim Flashner ;;; Copyright © 2017 Ricardo Wurmus +;;; Copyright © 2018 Konrad Hinsen ;;; ;;; This file is part of GNU Guix. ;;; @@ -292,6 +293,9 @@ (define %options (option '(#\e "expression") #t #f (lambda (opt name arg result) (alist-cons 'expression arg result))) + (option '(#\m "manifest") #t #f + (lambda (opt name arg result) + (alist-cons 'manifest arg result))) (option '(#\s "system") #t #f (lambda (opt name arg result) (alist-cons 'system arg @@ -344,6 +348,8 @@ (define (show-help) -C, --compression=TOOL compress using TOOL--e.g., \"lzip\"")) (display (G_ " -S, --symlink=SPEC create symlinks to the profile according to SPEC")) + (display (G_ " + -m, --manifest=FILE create a pack with the manifest from FILE")) (display (G_ " --localstatedir include /var/guix in the resulting pack")) (newline) @@ -375,10 +381,21 @@ (define maybe-package-argument (read/eval-package-expression exp)) (x #f))) + (define (manifest-from-args opts) + (let ((packages (filter-map maybe-package-argument opts)) + (manifest-file (assoc-ref opts 'manifest))) + (cond + ((and manifest-file (not (null? packages))) + (leave (G_ "both a manifest and a package list were given~%"))) + (manifest-file + (let ((user-module (make-user-module '((guix profiles) (gnu))))) + (load* manifest-file user-module))) + (else (packages->manifest packages))))) + (with-error-handling (parameterize ((%graft? (assoc-ref opts 'graft?))) (let* ((dry-run? (assoc-ref opts 'dry-run?)) - (packages (filter-map maybe-package-argument opts)) + (manifest (manifest-from-args opts)) (pack-format (assoc-ref opts 'format)) (name (string-append (symbol->string pack-format) "-pack")) @@ -397,7 +414,7 @@ (define maybe-package-argument (run-with-store store (mlet* %store-monad ((profile (profile-derivation - (packages->manifest packages) + manifest #:target target)) (drv (build-image name profile #:target diff --git a/tests/import-utils.scm b/tests/import-utils.scm index f4bbd335b9..5c0c041360 100644 --- a/tests/import-utils.scm +++ b/tests/import-utils.scm @@ -79,4 +79,23 @@ (define-module (test-import-utils) (equal? (origin-sha256 (package-source pkg)) (base32 "0ssi1wpaf7plaswqqjwigppsg5fyh99vdlb9kzl7c9lng89ndq1i"))))) +(test-equal "alist->package with false license" ; + 'license-is-false + (let* ((meta '(("name" . "hello") + ("version" . "2.10") + ("source" . (("method" . "url-fetch") + ("uri" . "mirror://gnu/hello/hello-2.10.tar.gz") + ("sha256" . + (("base32" . + "0ssi1wpaf7plaswqqjwigppsg5fyh99vdlb9kzl7c9lng89ndq1i"))))) + ("build-system" . "gnu") + ("home-page" . "https://gnu.org") + ("synopsis" . "Say hi") + ("description" . "This package says hi.") + ("license" . #f)))) + ;; Note: Use 'or' because comparing with #f otherwise succeeds when + ;; there's an exception instead of an actual #f. + (or (package-license (alist->package meta)) + 'license-is-false))) + (test-end "import-utils")