diff options
58 files changed, 940 insertions, 383 deletions
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 @@ ;; 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 @@ files." (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 @@ files." #: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 @@ (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 @@ network, which causes enabled computers to power on.") #: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 @@ (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 @@ to be plugged into a wide range of audio synthesis and recording packages.") ("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 @@ DNS-SD (for \"DNS-Based Service Discovery\") protocols.") (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 + ;; <https://github.com/lathiat/nss-mdns/issues/26#issuecomment-364781799>. + (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 @@ DNS-SD (for \"DNS-Based Service Discovery\") protocols.") 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: <https://bugs.gnu.org/30396> and - ;; <https://github.com/lathiat/nss-mdns/issues/26>. - (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 <http://bugs.gnu.org/18704>. - ;; (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 @@ #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 @@ errors.") (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 @@ rsnapshot uses hard links to deduplicate identical files.") ("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-public fio (package (name "fio") - (version "3.3") + (version "3.4") (source (origin (method url-fetch) (uri (string-append @@ -42,7 +42,7 @@ "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 @@ identify enrichments with functional annotations of the genome.") (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 @@ identify enrichments with functional annotations of the genome.") (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 @@ their dependencies.") (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 @@ their dependencies.") (file-name (string-append name "-" version)) (sha256 (base32 - "177klidmsw12kjk9dzawc0bqcwqlplgx45m87qpgjfx3cnk28i2b")))) + "1r97z5lkzg6vx014rfmv1pp3x3bl1shb6wkcgnlncwqf56a9bzi1")))) (build-system gnu-build-system) (arguments '(#:modules ((guix build utils) @@ -231,6 +231,7 @@ their dependencies.") (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 @@ their dependencies.") 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 @@ their dependencies.") #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 @@ the @code{zlib} source.") "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 @@ compatible with bzip2 – both at file format and command line level.") (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 @@ compatible with bzip2 – both at file format and command line level.") "/+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 @@ Python strings.") (define-public lzop (package (name "lzop") - (version "1.03") + (version "1.04") (source (origin (method url-fetch) @@ -460,10 +460,10 @@ Python strings.") 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 @@ some compression ratio).") (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 @@ archiving. Lzip is a clean implementation of the LZMA algorithm.") (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 @@ archive can be reverted.") (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 @@ algorithms in Java.") (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 @@ Lunzip is intended to be fully compatible with the regular lzip package.") (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 @@ Clzip is intended to be fully compatible with the regular lzip package.") (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 @@ Clzip is intended to be fully compatible with the regular lzip package.") `(#: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 @@ corrupted input.") (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 @@ data on your platform, so the seed itself will be as random as possible. (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 @@ data on your platform, so the seed itself will be as random as possible. ".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 <jlicht@fsfe.org> ;;; Copyright © 2017 Adriano Peluso <catonano@gmail.com> ;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net> -;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017 Alex Vong <alexvong1995@gmail.com> ;;; Copyright © 2017 Ben Woodcroft <donttrustben@gmail.com> ;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com> @@ -1273,7 +1273,7 @@ columns, primary keys, unique constraints and relationships.") (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 @@ columns, primary keys, unique constraints and relationships.") "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 @@ served by AS112. Stub and forward zones are supported.") (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 @@ editor (without an X toolkit)" ) #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 @@ within a specified width. It is useful for displaying long track titles.") (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 @@ extensibility.") ;; 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 @@ This package contains the library database.") ;; 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 @@ navigation with the grails mode.") @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 <scs@stevesprang.com> ;;; Copyright © 2016, 2017 Leo Famulari <leo@famulari.name> ;;; Copyright © 2016, 2017 Pjotr Prins <pjotr.guix@thebird.nl> +;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -36,7 +37,7 @@ (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 @@ (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 @@ (version-major+minor version) ".tar.gz")) (sha256 (base32 - "0ikvdpn4z7az6szg176l1r2yxhgs3msa3wgb3gmy45jkz0pzik05")))))) + "1pyb8wbk7znsyni8d1k4dj1m01lr191dcrrzisli1z27ks7hh3lm")))))) (inputs `(("ncurses" ,ncurses) ("openssl" ,openssl) @@ -94,9 +95,9 @@ (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 @@ (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 @@ (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 @@ "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 @@ #: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 @@ brick your device.") (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 @@ USB and interacts with low-level software running on the device, known as Loke. 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 @@ resolution.") `(("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 @@ PCM data.") ("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 @@ support.") (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 @@ support.") (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 @@ The Flag. You can even design your own maps!") (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 <andreas@enge.fr> ;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -30,7 +31,7 @@ (define-public gkrellm (package (name "gkrellm") - (version "2.3.5") + (version "2.3.10") (source (origin (method url-fetch) @@ -38,7 +39,7 @@ version ".tar.bz2")) (sha256 (base32 - "12rc6zaa7kb60b9744lbrlfkxxfniprm6x0mispv63h4kh75navh")))) + "0rnpzjr0ys0ypm078y63q4aplcgdr5nshjzhmz330n6dmnxci7lb")))) (build-system gnu-build-system) (inputs `(("gettext" ,gettext-minimal) @@ -48,13 +49,14 @@ (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 <ludo@gnu.org> ;;; Copyright © 2016, 2017 Kei Kebreau <kkebreau@posteo.net> +;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -101,7 +102,8 @@ to easily create cross-compiled binaries.") ;; 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 @@ to easily create cross-compiled binaries.") (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 @@ to easily create cross-compiled binaries.") ;; 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 @@ interface. It is fast, feature rich, easy to configure, and easy to use.") (define-public wmbattery (package (name "wmbattery") - (version "2.50") + (version "2.51") (source (origin (method url-fetch) (uri (string-append @@ -162,22 +165,16 @@ interface. It is fast, feature rich, easy to configure, and easy to use.") version ".orig.tar.gz")) (sha256 (base32 - "0hi6bivv3xd2k68w08krndfl68wdx7nmc2wjzsmcd4q3qgwgyk44")) - (modules '((guix build utils))) - (snippet - ;; Fix memory leak: - ;; <https://lists.gnu.org/archive/html/guix-devel/2016-05/msg00466.html>. - '(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 @@ interface. It is fast, feature rich, easy to configure, and easy to use.") `(("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 @@ other compatible window managers.") (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 @@ other compatible window managers.") name "_" version ".orig.tar.gz")) (sha256 (base32 - "0irlns4cvxy2mnicx75bya166hdxq7h8bphds3ligijcl9fzgs6n")))) + "1334y0axnxydwv05d172f405iljrfakg4kcyg9kmn46v6ywv424g")))) (build-system gnu-build-system) (inputs `(("libx11" ,libx11) @@ -242,7 +239,7 @@ other compatible window managers.") ("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 @@ on.") `(#: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 @@ on.") `(("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 @@ (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 @@ application suites.") `(("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 @@ document syntax. 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 @@ $(libdir)/guile/@GUILE_EFFECTIVE_VERSION@/site-ccache\n")) #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 @@ for Guile\".") (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 @@ Guile's foreign function interface.") (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 @@ Guile's foreign function interface.") (commit commit))) (sha256 (base32 - "0vvdgwcshrgl6dfz5cxf0l9bl44nkgah0ph3vv464d55nd8qh4b6")) + "0nhhswpd7nb2f0gfr55fzcc2xm3l2xx4rbljsd1clrm8fj2d7q9d")) (file-name (string-append name "-" version "-checkout")) (modules '((guix build utils))) (snippet @@ -1350,7 +1350,7 @@ above command-line parameters.") (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 @@ wrappers for inter-language calls. It currently only supports generating Guile 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 @@ irssi, but graphical.") (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 @@ irssi, but graphical.") 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 @@ the system under test at the same time.") (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 @@ the system under test at the same time.") "jackson-annotations-" version ".tar.gz")) (sha256 (base32 - "0b4wdxjxfbl3gkilylfdbl7fzimfpyih676jiwdf19i4056j8lqw")))) + "0mr95xd0da6a4g95zvrl1ryk5n5zv2rc696w3xnsr5hxk2gicfc4")))) (build-system ant-build-system) (arguments `(#:jar-name "jackson-annotations.jar" @@ -6216,7 +6216,7 @@ not included are ones that require dependency to the Databind package.") (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 @@ not included are ones that require dependency to the Databind package.") "jackson-core-" version ".tar.gz")) (sha256 (base32 - "0q2d6qnylyxj5jh0sam1b095b5486f7ipzhxgwcgbm254ls7fqc1")))) + "159hsnk17jr1gyzkf01cxvsn45srnk37g949r7364qlsr527gjgd")))) (build-system ant-build-system) (arguments `(#:jar-name "jackson-core.jar" @@ -6273,7 +6273,7 @@ not included are ones that require dependency to the Databind package.") (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 @@ not included are ones that require dependency to the Databind package.") "jackson-databind-" version ".tar.gz")) (sha256 (base32 - "1d5ns8ypqhdy8d94i8q560ip9kka6q8lhnk6q7nfh2g9mr22cc4w")))) + "1zd2cw4z6kdkbx8za96xh9pyicv2a2l7y0rkcx2fqd8hv6d47s08")))) (build-system ant-build-system) (arguments `(#:jar-name "jackson-databind.jar" @@ -6316,7 +6316,7 @@ configuration.") (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 @@ configuration.") "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 @@ configuration.") (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 @@ configuration.") "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 @@ interface and high-performance Typed Access API.") (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 @@ interface and high-performance Typed Access API.") "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 @@ illustrators, matte and texture artists, and the VFX industry. Notable 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 @@ and freshness without requiring additional information from the user.") (sha256 (base32 "196mkfax5y3yqm3gz7jhqhnkjwrvr2m4a8nc9k41l0511ldzsk9x")))))) + + (properties + ;; Some of the tests take a very long time on ARMv7. See + ;; <https://lists.gnu.org/archive/html/guix-devel/2018-02/msg00312.html>. + `((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 @@ ;; 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 @@ Zerofree requires the file system to be unmounted or mounted read-only.") (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 @@ TeX macros because Lout is a high-level, purely functional language, the 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 @@ interface for the Music Player Daemon.") (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 @@ does not use SSH and requires a pre-shared symmetric key.") (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 @@ acts as an abstraction layer to the underlying Unix kernel and presents the 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 <ngg@tresorit.com> -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 @@ CSS tidy. Also supports URL rewriting in CSS files.") (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 <cmmarusich@gmail.com> ;;; Copyright © 2016 Danny Milosavljevic <dannym+a@scratchpost.org> ;;; Copyright © 2016 Lukas Gradl <lgradl@openmailbox.org> -;;; Copyright © 2016 Hartmut Goebel <h.goebel@crazy-compilers.com> +;;; Copyright © 2016, 2018 Hartmut Goebel <h.goebel@crazy-compilers.com> ;;; Copyright © 2016 Daniel Pimentel <d4n1@d4n1.org> ;;; Copyright © 2016 Sou Bunnbu <iyzsong@gmail.com> ;;; Copyright © 2016, 2017 Troy Sankey <sankeytms@gmail.com> @@ -112,6 +112,7 @@ #: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 @@ document.") (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 @@ and other tools.") (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 @@ `(("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 @@ (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 @@ multiplayer games.") (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 <kkebreau@posteo.net> ;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2017 Petter <petter@mykolab.ch> +;;; Copyright © 2018 Hartmut Goebel <h.goebel@crazy-compilers.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -38,6 +39,7 @@ #: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 @@ with terminals in Go.") 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 @@ is on expressing the content semantically, avoiding physical markup commands.") ;; 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 @@ SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.") (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 @@ SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.") ".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 <petter@mykolab.ch> ;;; Copyright © 2017 Pierre Langlois <pierre.langlois@gmx.com> ;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com> +;;; Copyright © 2018 Julien Lepiller <julien@lepiller.eu> ;;; ;;; This file is part of GNU Guix. ;;; @@ -6296,3 +6297,46 @@ features include: @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 @@ transparent text on your screen.") (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 @@ inhibit interface which allows applications to prevent automatic sleep.") (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 @@ inhibit interface which allows applications to prevent automatic sleep.") 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 @@ decoding .opus files.") (define opusfile (package (name "opusfile") - (version "0.9") + (version "0.10") (source (origin (method url-fetch) (uri (string-append @@ -397,7 +397,7 @@ decoding .opus files.") ".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 @@ service switch (NSS) with support for @code{.local} host name resolution.") (const %avahi-accounts)) (service-extension activation-service-type (const %avahi-activation)) - - ;; Use 0.10 due to <https://bugs.gnu.org/30396>. (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 @@ the message of the day, among other things." agetty-configuration? (agetty agetty-configuration-agetty ;<package> (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 @@ the message of the day, among other things." ;;; (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-configuration> agetty tty term baud-rate auto-login @@ -900,8 +934,9 @@ the message of the day, among other things." 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 @@ the message of the day, among other things." ;; 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 @@ This service is not part of @var{%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 <davet@gnu.org> ;;; Copyright © 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2016 ng0 <ng0@we.make.ritual.n0.is> -;;; Copyright © 2016, 2017 Julien Lepiller <julien@lepiller.eu> +;;; Copyright © 2016, 2017, 2018 Julien Lepiller <julien@lepiller.eu> ;;; Copyright © 2017 Christopher Baines <mail@cbaines.net> ;;; Copyright © 2017 nee <nee-git@hidamari.blue> ;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org> @@ -153,7 +153,9 @@ 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 @@ a webserver.") (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 @@ You have been warned. Thanks for being so brave.\x1b[0m 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 @@ The bootloader BOOTLOADER is installed to BOOTLOADER-TARGET." (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 @@ make sure the caller can modify them later." (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 <ludo@gnu.org> +;;; Copyright © 2012, 2013, 2018 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2016 Jelle Licht <jlicht@fsfe.org> ;;; Copyright © 2016 David Craven <david@craven.ch> ;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net> @@ -330,10 +330,12 @@ the expected fields of an <origin> object." (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 <ludo@gnu.org> ;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net> +;;; Copyright © 2018 Konrad Hinsen <konrad.hinsen@fastmail.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -292,6 +293,9 @@ the image." (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 @@ -345,6 +349,8 @@ Create a bundle of PACKAGE.\n")) (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) (display (G_ " @@ -375,10 +381,21 @@ Create a bundle of PACKAGE.\n")) (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 @@ Create a bundle of PACKAGE.\n")) (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 @@ (equal? (origin-sha256 (package-source pkg)) (base32 "0ssi1wpaf7plaswqqjwigppsg5fyh99vdlb9kzl7c9lng89ndq1i"))))) +(test-equal "alist->package with false license" ;<https://bugs.gnu.org/30470> + '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") |