diff options
author | Marius Bakke <mbakke@fastmail.com> | 2019-04-17 00:08:34 +0200 |
---|---|---|
committer | Marius Bakke <mbakke@fastmail.com> | 2019-04-17 00:08:34 +0200 |
commit | f5961dd5854cec1ed9a41365836d63aa15256642 (patch) | |
tree | 9e6168827adf5e4e90128d55fad6f0ab6448c86a /gnu | |
parent | 05bb85fda06dc361b8d3d1eef0759606784b3130 (diff) | |
parent | e28ff04108ae7506a21d451cc23d63937076e2a3 (diff) | |
download | guix-f5961dd5854cec1ed9a41365836d63aa15256642.tar guix-f5961dd5854cec1ed9a41365836d63aa15256642.tar.gz |
Merge branch 'master' into staging
Diffstat (limited to 'gnu')
113 files changed, 6540 insertions, 2536 deletions
diff --git a/gnu/build/vm.scm b/gnu/build/vm.scm index 6d6a0c4cb4..e15ca4d5fb 100644 --- a/gnu/build/vm.scm +++ b/gnu/build/vm.scm @@ -471,11 +471,6 @@ GRUB configuration and OS-DRV as the stuff in it." "mnt=/tmp/root/mnt" "-path-list" "-" "--" - - ;; XXX: Add padding to avoid I/O errors on i686: - ;; <https://bugs.gnu.org/33639>. - "-padding" "10m" - "-volid" (string-upcase volume-id) (if volume-uuid `("-volume_date" "uuid" diff --git a/gnu/installer.scm b/gnu/installer.scm index 50e2e7d85e..6a7a556271 100644 --- a/gnu/installer.scm +++ b/gnu/installer.scm @@ -91,9 +91,17 @@ version of this file." (define apply-locale ;; Install the specified locale. - #~(lambda (locale-name) - (false-if-exception - (setlocale LC_ALL locale-name)))) + (with-imported-modules (source-module-closure '((gnu services herd))) + #~(lambda (locale) + (false-if-exception + (setlocale LC_ALL locale)) + + ;; Restart the documentation viewer so it displays the manual in + ;; language that corresponds to LOCALE. + (with-error-to-port (%make-void-port "w") + (lambda () + (stop-service 'term-tty2) + (start-service 'term-tty2 (list locale))))))) (define* (compute-locale-step #:key locales-name @@ -323,6 +331,7 @@ selected keymap." (gnu installer newt) ((gnu installer newt keymap) #:select (keyboard-layout->configuration)) + (gnu services herd) (guix i18n) (guix build utils) (ice-9 match)) diff --git a/gnu/installer/newt/services.scm b/gnu/installer/newt/services.scm index 10c19115ca..2a221790d2 100644 --- a/gnu/installer/newt/services.scm +++ b/gnu/installer/newt/services.scm @@ -45,19 +45,14 @@ choose the one to use on the log-in screen.") (condition (&installer-step-abort)))))) -(define (run-networking-cbt-page network-management?) - "Run a page allowing the user to select networking services. When -NETWORK-MANAGEMENT? is true, include network management services like -NetworkManager." +(define (run-networking-cbt-page) + "Run a page allowing the user to select networking services." (run-checkbox-tree-page #:info-text (G_ "You can now select networking services to run on your \ system.") #:title (G_ "Network service") - #:items (filter (let ((types (if network-management? - '(network-management networking) - '(networking)))) - (lambda (service) - (memq (system-service-type service) types))) + #:items (filter (lambda (service) + (eq? 'networking (system-service-type service))) %system-services) #:item->text (compose G_ system-service-name) #:checkbox-tree-height 5 @@ -67,9 +62,35 @@ system.") (condition (&installer-step-abort)))))) +(define (run-network-management-page) + "Run a page to select among several network management methods." + (let ((title (G_ "Network management"))) + (run-listbox-selection-page + #:title title + #:info-text (G_ "Choose the method to manage network connections. + +We recommend NetworkManager or Connman for a WiFi-capable laptop; the DHCP \ +client may be enough for a server.") + #:info-textbox-width 70 + #:listbox-items (filter (lambda (service) + (eq? 'network-management + (system-service-type service))) + %system-services) + #:listbox-item->text (compose G_ system-service-name) + #:sort-listbox-items? #f + #:button-text (G_ "Exit") + #:button-callback-procedure + (lambda _ + (raise + (condition + (&installer-step-abort))))))) + (define (run-services-page) (let ((desktop (run-desktop-environments-cbt-page))) ;; When the user did not select any desktop services, and thus didn't get ;; '%desktop-services', offer network management services. (append desktop - (run-networking-cbt-page (null? desktop))))) + (run-networking-cbt-page) + (if (null? desktop) + (list (run-network-management-page)) + '())))) diff --git a/gnu/installer/services.scm b/gnu/installer/services.scm index 0e98392bfb..4dbfe74bf9 100644 --- a/gnu/installer/services.scm +++ b/gnu/installer/services.scm @@ -20,6 +20,7 @@ (define-module (gnu installer services) #:use-module (guix records) #:use-module (srfi srfi-1) + #:use-module (ice-9 match) #:export (system-service? system-service-name system-service-type @@ -75,15 +76,17 @@ (system-service (name (G_ "NetworkManager network connection manager")) (type 'network-management) - (snippet '(service network-manager-service-type))) + (snippet '((service network-manager-service-type) + (service wpa-supplicant-service-type)))) (system-service (name (G_ "Connman network connection manager")) (type 'network-management) - (snippet '(service connman-service-type))) + (snippet '((service connman-service-type) + (service wpa-supplicant-service-type)))) (system-service (name (G_ "DHCP client (dynamic IP address assignment)")) (type 'network-management) - (snippet '(service dhcp-client-service)))))) + (snippet '(service dhcp-client-service-type)))))) (define (desktop-system-service? service) "Return true if SERVICE is a desktop environment service." @@ -95,7 +98,13 @@ (define (system-services->configuration services) "Return the configuration field for SERVICES." - (let* ((snippets (map system-service-snippet services)) + (let* ((snippets (append-map (lambda (service) + (match (system-service-snippet service) + ((and lst (('service _ ...) ...)) + lst) + (sexp + (list sexp)))) + services)) (desktop? (find desktop-system-service? services)) (base (if desktop? '%desktop-services diff --git a/gnu/local.mk b/gnu/local.mk index 68cd2cbd50..a3cfee9649 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -374,6 +374,7 @@ GNU_SYSTEM_MODULES = \ %D%/packages/php.scm \ %D%/packages/pkg-config.scm \ %D%/packages/plotutils.scm \ + %D%/packages/poedit.scm \ %D%/packages/polkit.scm \ %D%/packages/popt.scm \ %D%/packages/printers.scm \ @@ -622,7 +623,7 @@ INSTALLER_MODULES = \ # ENABLE_INSTALLER is true. if ENABLE_INSTALLER GNU_SYSTEM_MODULES += $(INSTALLER_MODULES) -elif !ENABLE_INSTALLER +else !ENABLE_INSTALLER MODULES_NOT_COMPILED += $(INSTALLER_MODULES) endif @@ -916,6 +917,7 @@ dist_patch_DATA = \ %D%/packages/patches/icedtea-6-hotspot-gcc-segfault-workaround.patch \ %D%/packages/patches/icedtea-7-hotspot-gcc-segfault-workaround.patch \ %D%/packages/patches/id3lib-CVE-2007-4460.patch \ + %D%/packages/patches/idris-test-no-node.patch \ %D%/packages/patches/ilmbase-fix-tests.patch \ %D%/packages/patches/inkscape-poppler-compat3.patch \ %D%/packages/patches/intltool-perl-compatibility.patch \ @@ -945,7 +947,6 @@ dist_patch_DATA = \ %D%/packages/patches/kio-search-smbd-on-PATH.patch \ %D%/packages/patches/kmod-module-directory.patch \ %D%/packages/patches/kmscon-runtime-keymap-switch.patch \ - %D%/packages/patches/knot-include-system-lmdb-header.patch \ %D%/packages/patches/kpackage-allow-external-paths.patch \ %D%/packages/patches/kobodeluxe-paths.patch \ %D%/packages/patches/kobodeluxe-enemies-pipe-decl.patch \ @@ -953,6 +954,7 @@ dist_patch_DATA = \ %D%/packages/patches/kobodeluxe-manpage-minus-not-hyphen.patch \ %D%/packages/patches/kobodeluxe-midicon-segmentation-fault.patch \ %D%/packages/patches/kobodeluxe-graphics-window-signed-char.patch \ + %D%/packages/patches/kodi-set-libcurl-ssl-parameters.patch \ %D%/packages/patches/kodi-skip-test-449.patch \ %D%/packages/patches/laby-make-install.patch \ %D%/packages/patches/lcms-CVE-2018-16435.patch \ @@ -1102,6 +1104,10 @@ dist_patch_DATA = \ %D%/packages/patches/ocaml-CVE-2015-8869.patch \ %D%/packages/patches/ocaml-Add-a-.file-directive.patch \ %D%/packages/patches/ocaml-enable-ocamldoc-reproducibility.patch \ + %D%/packages/patches/ocaml-dose3-Add-unix-as-dependency-to-dose3.common-in-META.in.patch \ + %D%/packages/patches/ocaml-dose3-Fix-for-ocaml-4.06.patch \ + %D%/packages/patches/ocaml-dose3-dont-make-printconf.patch \ + %D%/packages/patches/ocaml-dose3-Install-mli-cmx-etc.patch \ %D%/packages/patches/omake-fix-non-determinism.patch \ %D%/packages/patches/ola-readdir-r.patch \ %D%/packages/patches/openbabel-fix-crash-on-nwchem-output.patch \ @@ -1213,9 +1219,6 @@ dist_patch_DATA = \ %D%/packages/patches/qtscript-disable-tests.patch \ %D%/packages/patches/quagga-reproducible-build.patch \ %D%/packages/patches/quickswitch-fix-dmenu-check.patch \ - %D%/packages/patches/quilt-test-fix-regex.patch \ - %D%/packages/patches/quilt-getopt-nondigit-param.patch \ - %D%/packages/patches/quilt-getopt-second-separator.patch \ %D%/packages/patches/qtwebkit-pbutils-include.patch \ %D%/packages/patches/randomjungle-disable-static-build.patch \ %D%/packages/patches/rapicorn-isnan.patch \ @@ -1273,7 +1276,6 @@ dist_patch_DATA = \ %D%/packages/patches/swig-guile-gc.patch \ %D%/packages/patches/swish-e-search.patch \ %D%/packages/patches/swish-e-format-security.patch \ - %D%/packages/patches/synfigstudio-fix-ui-with-gtk3.patch \ %D%/packages/patches/stumpwm-fix-broken-read-one-line.patch \ %D%/packages/patches/t1lib-CVE-2010-2642.patch \ %D%/packages/patches/t1lib-CVE-2011-0764.patch \ @@ -1338,6 +1340,7 @@ dist_patch_DATA = \ %D%/packages/patches/wavpack-CVE-2018-6767.patch \ %D%/packages/patches/wavpack-CVE-2018-7253.patch \ %D%/packages/patches/wavpack-CVE-2018-7254.patch \ + %D%/packages/patches/webkitgtk-sse2.patch \ %D%/packages/patches/weechat-python.patch \ %D%/packages/patches/wicd-bitrate-none-fix.patch \ %D%/packages/patches/wicd-get-selected-profile-fix.patch \ diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index d901110e53..3a250eeaa8 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -1287,7 +1287,7 @@ module slots, and the list of I/O ports (e.g. serial, parallel, USB).") (define-public acpica (package (name "acpica") - (version "20190215") + (version "20190405") (source (origin (method url-fetch) (uri (string-append @@ -1295,7 +1295,7 @@ module slots, and the list of I/O ports (e.g. serial, parallel, USB).") version ".tar.gz")) (sha256 (base32 - "1iy2zwi8aicq0b5a0phfacvk1f9z1d89cx43adcf0qh82gb9m4wg")))) + "0hv6r65l8vk3f6i3by7i47vc1917qm47838bpq80lfn22784y53y")))) (build-system gnu-build-system) (native-inputs `(("flex" ,flex) ("bison" ,bison))) @@ -1599,13 +1599,13 @@ of supported upstream metrics systems simultaneously.") (define-public ansible (package (name "ansible") - (version "2.7.9") + (version "2.7.10") (source (origin (method url-fetch) (uri (pypi-uri "ansible" version)) (sha256 - (base32 "19vyf60zfmnv7frwm96bzqzvia69dysy9apk8bl84vr03ib9vrbf")))) + (base32 "15721d0bxymghxnlnknq43lszlxg3ybbcp2p5v424hhw6wg2v944")))) (build-system python-build-system) (native-inputs `(("python-bcrypt" ,python-bcrypt) @@ -1736,18 +1736,18 @@ limits.") (define-public autojump (package (name "autojump") - (version "22.5.1") + (version "22.5.3") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/wting/autojump/archive/" - "release-v" version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/wting/autojump.git") + (commit (string-append "release-v" version)))) + (file-name (git-file-name name version)) (sha256 - (base32 - "17z9j9936x0nizwrzf664bngh60x5qbvrrf1s5qdzd0f2gdanpvn")))) + (base32 "1rgpsh70manr2dydna9da4x7p8ahii7dgdgwir5fka340n1wrcws")))) (build-system gnu-build-system) - (native-inputs ;for tests + (native-inputs ; for tests `(("python-mock" ,python-mock) ("python-pytest" ,python-pytest))) (inputs @@ -1755,6 +1755,11 @@ limits.") (arguments `(#:phases (modify-phases %standard-phases + (add-after 'unpack 'make-git-checkout-writable + ;; ‘install.py’ modifies files before installing them. + (lambda _ + (for-each make-file-writable (find-files ".")) + #t)) (delete 'configure) (delete 'build) (replace 'check diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm index 9b4c7b8e27..ba1c12daed 100644 --- a/gnu/packages/algebra.scm +++ b/gnu/packages/algebra.scm @@ -5,7 +5,7 @@ ;;; Copyright © 2014, 2018 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2016, 2018, 2019 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il> -;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2017, 2019 Eric Bavier <bavier@member.fsf.org> ;;; @@ -499,7 +499,7 @@ matrices, and polynomials over the integers and over finite fields.") (define-public singular (package (name "singular") - (version "4.1.1p3") + (version "4.1.2p1") (source (origin (method url-fetch) @@ -513,7 +513,7 @@ matrices, and polynomials over the integers and over finite fields.") #\.) "-") "/singular-" version ".tar.gz")) (sha256 (base32 - "1qqj9bm9pkzm0iyycpvm8x6s79wws3nq60lz25h8x1q61h3426sm")))) + "0kvd55353fiqyq1msmi0kka66n5h0aqs7m3km60r01b1w2f8085m")))) (build-system gnu-build-system) (native-inputs `(("doxygen" ,doxygen) diff --git a/gnu/packages/animation.scm b/gnu/packages/animation.scm index 74a80ab046..b46382c035 100644 --- a/gnu/packages/animation.scm +++ b/gnu/packages/animation.scm @@ -41,18 +41,20 @@ #:use-module (gnu packages qt) #:use-module (gnu packages video)) +;; ETL, synfig, and Synfig Studio are updated in tandem. +(define synfig-version "1.2.2") + (define-public etl (package (name "etl") - (version "0.04.22") + (version synfig-version) (source (origin (method url-fetch) - ;; Keep this synchronized with the synfig release version. (uri (string-append "mirror://sourceforge/synfig/releases/" - "1.2.0/source/ETL-" version ".tar.gz")) + version "/source/ETL-" version ".tar.gz")) (sha256 (base32 - "0ii73nsd3xzkhz6w1rnxwphl637j9w82xiy6apa9vin2isdynnmc")))) + "12sd8pz8l5xcxcmapkvih3brihdhdb6xmxisr9a415lydid9rh8d")))) (build-system gnu-build-system) (home-page "https://www.synfig.org") (synopsis "Extended C++ template library") @@ -65,7 +67,7 @@ C++ @dfn{Standard Template Library} (STL).") (define-public synfig (package (name "synfig") - (version "1.2.0") + (version synfig-version) (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/synfig/releases/" @@ -73,7 +75,7 @@ C++ @dfn{Standard Template Library} (STL).") ".tar.gz")) (sha256 (base32 - "1gqx4gn4c73rqwhsgzx0a460gr9hadmi28csp75rx30qavqsj7k1")))) + "1vy27kl68sbg41sfasa58k3p2nc1xfalvzk3k9gich9h90rpnpsz")))) (build-system gnu-build-system) (arguments `(#:configure-flags @@ -131,7 +133,8 @@ C++ @dfn{Standard Template Library} (STL).") ("openexr" ,openexr) ("pango" ,pango))) (native-inputs - `(("pkg-config" ,pkg-config))) + `(("intltool" ,intltool) + ("pkg-config" ,pkg-config))) (home-page "https://www.synfig.org") (synopsis "Vector-based 2D animation renderer") (description @@ -143,7 +146,7 @@ for tweening, preventing the need to hand-draw each frame.") (define-public synfigstudio (package (name "synfigstudio") - (version "1.2.0") + (version synfig-version) (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/synfig/releases/" @@ -151,16 +154,14 @@ for tweening, preventing the need to hand-draw each frame.") ".tar.gz")) (sha256 (base32 - "0fbckfbw8dzf0m2wv7vlmw492k1dqa3zf510z019d0as3zpnp6qm")) + "1ql92kh9z8w2j9yi3pr7hn7wh2r2j35xynwv9xlwyd7niackgykn")) (modules '((guix build utils))) (snippet '(begin (substitute* "src/synfigapp/pluginmanager.cpp" (("xmlpp::Node\\* n =") "const xmlpp::Node* n =") (("xmlpp::Node::NodeList") "xmlpp::Node::const_NodeList")) - #t)) - (patches - (search-patches "synfigstudio-fix-ui-with-gtk3.patch")))) + #t)))) (build-system gnu-build-system) (arguments `(#:phases diff --git a/gnu/packages/antivirus.scm b/gnu/packages/antivirus.scm index 840b5410a6..5127ba1741 100644 --- a/gnu/packages/antivirus.scm +++ b/gnu/packages/antivirus.scm @@ -44,14 +44,14 @@ (define-public clamav (package (name "clamav") - (version "0.101.1") + (version "0.101.2") (source (origin (method url-fetch) (uri (string-append "https://www.clamav.net/downloads/production/" "clamav-" version ".tar.gz")) (sha256 (base32 - "01mq3z04fjbq5iq8wfwfim72iv3dn04d3ishc5lkhxpmnalqydps")) + "0d3n4y8i5q594h4cjglmvpk4jd73r9ajpp1bvq5lr9zpdzgyn4ha")) (modules '((guix build utils))) (snippet '(begin diff --git a/gnu/packages/assembly.scm b/gnu/packages/assembly.scm index 00ed00e1c1..c53eee2ac9 100644 --- a/gnu/packages/assembly.scm +++ b/gnu/packages/assembly.scm @@ -129,14 +129,14 @@ to the clients.") (define-public fasm (package (name "fasm") - (version "1.73.09") + (version "1.73.10") (source (origin (method url-fetch) (uri (string-append "https://flatassembler.net/fasm-" version ".tgz")) (sha256 - (base32 "197bcj9aa5wpkvrlaafc1smxjss0fwdspq5fwhwgyy9cc7z5g0ym")))) + (base32 "1lk8vlr0vg7h8lhiav99paa5a1mi0r2m8agxjmczhhavqhx44c32")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; no tests exist diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index 4d2e260e7c..8160ba5487 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -1307,7 +1307,7 @@ patches that can be used with softsynths such as Timidity and WildMidi.") (define-public guitarix (package (name "guitarix") - (version "0.38.0") + (version "0.38.1") (source (origin (method url-fetch) (uri (string-append @@ -1315,7 +1315,7 @@ patches that can be used with softsynths such as Timidity and WildMidi.") version ".tar.xz")) (sha256 (base32 - "0nv5vm2q86lzsz42kl78jxm6w20al8r7qcnr5f057ria7f8fq2f7")))) + "0bw7xnrx062nwb1bfj9x660h7069ncmz77szcs8icpqxrvhs7z80")))) (build-system waf-build-system) (arguments `(#:tests? #f ; no "check" target diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm index 682cfe57bc..9b26ead91e 100644 --- a/gnu/packages/backup.scm +++ b/gnu/packages/backup.scm @@ -73,7 +73,7 @@ (define-public duplicity (package (name "duplicity") - (version "0.7.18.1") + (version "0.7.18.2") (source (origin (method url-fetch) @@ -82,8 +82,7 @@ "-series/" version "/+download/duplicity-" version ".tar.gz")) (sha256 - (base32 - "17c0203y5qz9w8iyhs26l44qf6a1vp26b5ykz1ypdr2kv6g02df9")))) + (base32 "0j37dgyji36hvb5dbzlmh5rj83jwhni02yq16g6rd3hj8f7qhdn2")))) (build-system python-build-system) (native-inputs `(("util-linux" ,util-linux) ; setsid command, for the tests @@ -996,14 +995,14 @@ precious backup space. (define-public burp (package (name "burp") - (version "2.3.2") + (version "2.3.4") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/burp/burp-" version "/burp-" version ".tar.bz2")) (sha256 (base32 - "1nkkn0nfydn39cl5rxd1wbmzizird6z05j9h2xr7xczdlhhjnaai")))) + "0r82mmfjm57yr4f34za3x3rkgc5z2c7nwbnsjjki16qfc9kjyai3")))) (build-system gnu-build-system) (inputs `(("librsync" ,librsync) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 4cd032abd4..dc5d84653c 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -7916,13 +7916,13 @@ as well as query and modify the browser state, such as the current viewport.") (define-public r-genomicfeatures (package (name "r-genomicfeatures") - (version "1.34.7") + (version "1.34.8") (source (origin (method url-fetch) (uri (bioconductor-uri "GenomicFeatures" version)) (sha256 (base32 - "100y8cx9xfglbn36k25y09y0qfwm0qpb4b01qhk367832rqz5dhz")))) + "1sxp86hdsg32l2c85jgic65gy92d8kxsm01264hrx6yikdhicjax")))) (properties `((upstream-name . "GenomicFeatures"))) (build-system r-build-system) @@ -14555,3 +14555,192 @@ overlapping paired-ended reads into (longer) consensus sequences. Additionally, the AdapterRemoval may be used to recover a consensus adapter sequence for paired-ended data, for which this information is not available.") (license license:gpl3+))) + +(define-public pplacer + (let ((commit "807f6f3")) + (package + (name "pplacer") + ;; The commit should be updated with each version change. + (version "1.1.alpha19") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/matsen/pplacer.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "11ppbbbx20p2g9wj3ff64dhnarb12q79v7qh4rk0gj6lkbz4n7cn")))) + (build-system ocaml-build-system) + (arguments + `(#:modules ((guix build ocaml-build-system) + (guix build utils) + (ice-9 ftw)) + #:phases + (modify-phases %standard-phases + (delete 'configure) + (add-after 'unpack 'fix-build-with-latest-ocaml + (lambda _ + (substitute* "myocamlbuild.ml" + (("dep \\[\"c_pam\"\\]" m) + (string-append "flag [\"ocaml\"; \"compile\"] (A \"-unsafe-string\");\n" + m)) + (("let run_and_read" m) + (string-append " +let split s ch = + let x = ref [] in + let rec go s = + let pos = String.index s ch in + x := (String.before s pos)::!x; + go (String.after s (pos + 1)) + in + try go s + with Not_found -> !x +let split_nl s = split s '\\n' +let before_space s = + try String.before s (String.index s ' ') + with Not_found -> s + +" m)) + (("run_and_read \"ocamlfind list \\| cut -d' ' -f1\"" m) + (string-append "List.map before_space (split_nl & " m ")")) + ((" blank_sep_strings &") "") + ((" Lexing.from_string &") "")) + #t)) + (add-after 'unpack 'replace-bundled-cddlib + (lambda* (#:key inputs #:allow-other-keys) + (let* ((cddlib-src (assoc-ref inputs "cddlib-src")) + (local-dir "cddlib_guix")) + (mkdir local-dir) + (with-directory-excursion local-dir + (invoke "tar" "xvf" cddlib-src)) + (let ((cddlib-src-folder + (string-append local-dir "/" + (list-ref (scandir local-dir) 2) + "/lib-src"))) + (for-each make-file-writable (find-files "cdd_src" ".*")) + (for-each + (lambda (file) + (copy-file file + (string-append "cdd_src/" (basename file)))) + (find-files cddlib-src-folder ".*[ch]$"))) + #t))) + (add-after 'unpack 'fix-makefile + (lambda _ + ;; Remove system calls to 'git'. + (substitute* "Makefile" + (("^DESCRIPT:=pplacer-.*") + (string-append + "DESCRIPT:=pplacer-$(shell uname)-v" ,version "\n"))) + (substitute* "myocamlbuild.ml" + (("git describe --tags --long .*\\\" with") + (string-append + "echo -n v" ,version "-" ,commit "\" with"))) + #t)) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin"))) + (copy-recursively "bin" bin)) + #t))))) + (inputs + `(("zlib" ,zlib "static") + ("gsl" ,gsl) + ("ocaml-ounit" ,ocaml-ounit) + ("ocaml-batteries" ,ocaml-batteries) + ("ocaml-camlzip" ,camlzip) + ("ocaml-csv" ,ocaml-csv) + ("ocaml-sqlite3" ,ocaml-sqlite3) + ("ocaml-xmlm" ,ocaml-xmlm) + ("ocaml-mcl" ,ocaml-mcl) + ("ocaml-gsl" ,ocaml-gsl-1))) + (native-inputs + `(("cddlib-src" ,(package-source cddlib)) + ("ocamlbuild" ,ocamlbuild) + ("pkg-config" ,pkg-config))) + (propagated-inputs + `(("pplacer-scripts" ,pplacer-scripts))) + (synopsis "Phylogenetic placement of biological sequences") + (description + "Pplacer places query sequences on a fixed reference phylogenetic tree +to maximize phylogenetic likelihood or posterior probability according to a +reference alignment. Pplacer is designed to be fast, to give useful +information about uncertainty, and to offer advanced visualization and +downstream analysis.") + (home-page "http://matsen.fhcrc.org/pplacer") + (license license:gpl3)))) + +;; This package is installed alongside 'pplacer'. It is a separate package so +;; that it can use the python-build-system for the scripts that are +;; distributed alongside the main OCaml binaries. +(define pplacer-scripts + (package + (inherit pplacer) + (name "pplacer-scripts") + (build-system python-build-system) + (arguments + `(#:python ,python-2 + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'enter-scripts-dir + (lambda _ (chdir "scripts") #t)) + (replace 'check + (lambda _ (invoke "python" "-m" "unittest" "discover" "-v") #t)) + (add-after 'install 'wrap-executables + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin"))) + (let ((path (string-append + (assoc-ref inputs "hmmer") "/bin:" + (assoc-ref inputs "infernal") "/bin"))) + (display path) + (wrap-program (string-append bin "/refpkg_align.py") + `("PATH" ":" prefix (,path)))) + (let ((path (string-append + (assoc-ref inputs "hmmer") "/bin"))) + (wrap-program (string-append bin "/hrefpkg_query.py") + `("PATH" ":" prefix (,path))))) + #t))))) + (inputs + `(("infernal" ,infernal) + ("hmmer" ,hmmer))) + (propagated-inputs + `(("python-biopython" ,python2-biopython) + ("taxtastic" ,taxtastic))) + (synopsis "Pplacer Python scripts"))) + +(define-public python2-checkm-genome + (package + (name "python2-checkm-genome") + (version "1.0.13") + (source + (origin + (method url-fetch) + (uri (pypi-uri "checkm-genome" version)) + (sha256 + (base32 + "0bm8gpxjmzxsxxl8lzwqhgx8g1dlnmp6znz7wv3hgb0gdjbf9dzz")))) + (build-system python-build-system) + (arguments + `(#:python ,python-2 + #:tests? #f)) ; some tests are interactive + (propagated-inputs + `(("python-dendropy" ,python2-dendropy) + ("python-matplotlib" ,python2-matplotlib) + ("python-numpy" ,python2-numpy) + ("python-pysam" ,python2-pysam) + ("python-scipy" ,python2-scipy))) + (home-page "http://pypi.python.org/pypi/checkm/") + (synopsis "Assess the quality of putative genome bins") + (description + "CheckM provides a set of tools for assessing the quality of genomes +recovered from isolates, single cells, or metagenomes. It provides robust +estimates of genome completeness and contamination by using collocated sets of +genes that are ubiquitous and single-copy within a phylogenetic lineage. +Assessment of genome quality can also be examined using plots depicting key +genomic characteristics (e.g., GC, coding density) which highlight sequences +outside the expected distributions of a typical genome. CheckM also provides +tools for identifying genome bins that are likely candidates for merging based +on marker set compatibility, similarity in genomic characteristics, and +proximity within a reference genome.") + (license license:gpl3+))) diff --git a/gnu/packages/calendar.scm b/gnu/packages/calendar.scm index 90f23452f7..2969228ee9 100644 --- a/gnu/packages/calendar.scm +++ b/gnu/packages/calendar.scm @@ -96,13 +96,13 @@ data units.") (define-public khal (package (name "khal") - (version "0.10.0") + (version "0.10.1") (source (origin (method url-fetch) (uri (pypi-uri "khal" version)) (sha256 (base32 - "1p49f3g25x900vk32spjbr2aipj12kcbhayny2vwhdpkjlv6k396")))) + "1r8bkgjwkh7i8ygvsv51h1cnax50sb183vafg66x5snxf3dgjl6l")))) (build-system python-build-system) (arguments `(#:phases (modify-phases %standard-phases @@ -146,7 +146,7 @@ data units.") (synopsis "Console calendar program") (description "Khal is a standards based console calendar program, able to synchronize with CalDAV servers through vdirsyncer.") - (home-page "http://lostpackets.de/khal/") + (home-page "https://lostpackets.de/khal/") (license license:expat))) (define-public remind diff --git a/gnu/packages/cdrom.scm b/gnu/packages/cdrom.scm index f16f4ca4f8..2193a94f86 100644 --- a/gnu/packages/cdrom.scm +++ b/gnu/packages/cdrom.scm @@ -863,3 +863,108 @@ Supported extensions to ISO 9660 are Rock Ridge, Joliet, AAIP, zisofs.") blanking CD-RW media, creating ISO-9660 file system images, extracting audio CD data, and more. It's mostly compatible with @code{cdrtools}.") (license gpl2+))) + +(define-public libmirage + (package + (name "libmirage") + (version "3.2.0") + (source (origin + (method url-fetch) + (uri (string-append + "https://downloads.sourceforge.net/cdemu/libmirage-" + version ".tar.bz2")) + (sha256 + (base32 + "1ydph33sfxplp4872dp8ghp574jk5d4qr8hqz61qnznq1b11cnbr")))) + (build-system cmake-build-system) + (native-inputs + `(("pkg-config" ,pkg-config) + ("intltool" ,intltool))) + (inputs + `(("glib" ,glib))) + (arguments + ;; No tests. + '(#:tests? #f)) + (home-page "https://cdemu.sourceforge.io/") + (synopsis "CD-ROM image access library") + (description "libMirage is a CD-ROM image access library. It supports the +following formats: B6T, C2D, CCD, CDI, CIF, CUE, ISO, MDS, MDX, NRG, TOC. It +is written in C and based on GLib. Its aim is to provide uniform access to +the data stored in various image formats.") + (license gpl2+))) + +(define-public cdemu-daemon + (package + (name "cdemu-daemon") + (version "3.2.1") + (source (origin + (method url-fetch) + (uri (string-append + "https://downloads.sourceforge.net/cdemu/cdemu-daemon/cdemu-daemon-" + version ".tar.bz2")) + (sha256 + (base32 + "171qqcziqgf6dd9n8xs9hc71krhjiyx9qr767s8znidyjj88hbc4")))) + (build-system cmake-build-system) + (native-inputs + `(("pkg-config" ,pkg-config) + ("intltool" ,intltool))) + (inputs + `(("libmirage" ,libmirage) + ("glib" ,glib) + ("ao" ,ao))) + (arguments + ;; No tests. + '(#:tests? #f)) + (home-page "https://cdemu.sourceforge.io/") + (synopsis "CD/DVD-ROM device emulator") + (description "CDemu is a software suite designed to emulate an optical +drive and disc (including CD-ROMs and DVD-ROMs).") + (license gpl2+))) + +(define-public cdemu-client + (package + (name "cdemu-client") + (version "3.2.0") + (source (origin + (method url-fetch) + (uri (string-append + "https://downloads.sourceforge.net/cdemu/cdemu-client-" + version ".tar.bz2")) + (sha256 + (base32 + "1zwz987pb2pakfk9kz8a6xa9hq1ip48cn4ryl9z85dik8k2sizm9")))) + (build-system cmake-build-system) + (native-inputs + `(("pkg-config" ,pkg-config) + ("intltool" ,intltool))) + (inputs + `(("python" ,python) + ("python-pygobject" ,python-pygobject) + ("cdemu-daemon" ,cdemu-daemon))) + (arguments + ;; No tests. + `(#:tests? #f + #:phases + (modify-phases %standard-phases + (add-after 'install 'patch-shebang + (lambda* (#:key outputs #:allow-other-keys) + (patch-shebang (string-append (assoc-ref outputs "out") + "/bin/cdemu")) + #t)) + (add-after 'patch-shebang 'wrap-program + (lambda* (#:key outputs #:allow-other-keys) + (let ((prog (string-append (assoc-ref outputs "out") + "/bin/cdemu"))) + (wrap-program prog + `("PYTHONPATH" = (,(getenv "PYTHONPATH")))) + #t)))))) + (home-page "https://cdemu.sourceforge.io/") + (synopsis "Command-line client for controlling cdemu-daemon") + (description "CDEmu client is a simple command-line client for controlling +CDEmu daemon. + +It provides a way to perform the key tasks related to controlling the CDEmu +daemon, such as loading and unloading devices, displaying devices' status and +retrieving/setting devices' debug masks.") + (license gpl2+))) diff --git a/gnu/packages/conky.scm b/gnu/packages/conky.scm index c3b72ea063..2b32bf8791 100644 --- a/gnu/packages/conky.scm +++ b/gnu/packages/conky.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015 Siniša Biđin <sinisa@bidin.eu> -;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2019 Pierre Neidhardt <mail@ambrevar.xyz> ;;; ;;; This file is part of GNU Guix. @@ -37,16 +37,16 @@ (package (name "conky") (home-page "https://github.com/brndnmtthws/conky") - (version "1.11.2") + (version "1.11.3") (source (origin (method git-fetch) (uri (git-reference (url home-page) (commit (string-append "v" version)))) - (file-name (string-append name "-" version ".tar.gz")) + (file-name (git-file-name name version)) (sha256 - (base32 "0yalcpwx85smh6nnvxxsgqi344nk7jzlkkam7yjghm87df4v7xmx")))) + (base32 "0pdl31xvmy8niagzqx9sd2b6hc6lzwfiaz66m4djf1gz9bksc8qv")))) (build-system cmake-build-system) (arguments `(#:tests? #f ; there are no tests diff --git a/gnu/packages/connman.scm b/gnu/packages/connman.scm index 1290dd010d..39262b87da 100644 --- a/gnu/packages/connman.scm +++ b/gnu/packages/connman.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org> ;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net> -;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -44,15 +44,14 @@ (define-public connman (package (name "connman") - (version "1.36") + (version "1.37") (source (origin (method url-fetch) (uri (string-append "mirror://kernel.org/linux/network/connman/" - name "-" version ".tar.xz")) + "connman-" version ".tar.xz")) (sha256 - (base32 - "0x00dq5c2frz06md3g5y0jh5kbcj2hrfl5qjcqga8gs4ri0xp2f7")))) + (base32 "05kfjiqhqfmbbwc4snnyvi5hc4zxanac62f6gcwaf5mvn0z9pqkc")))) (build-system gnu-build-system) (arguments `(#:configure-flags @@ -63,8 +62,6 @@ "--enable-vpnc" "--enable-pptp" "--enable-l2tp" - ;; location for daemon state files and internal configuration - ;; needs to be writeable "--localstatedir=/var" (string-append "--with-dbusconfdir=" (assoc-ref %outputs "out") "/etc") diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 94d2c1aca0..47cd1d7217 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -242,14 +242,14 @@ single step.") (define-public r-rvest (package (name "r-rvest") - (version "0.3.2") + (version "0.3.3") (source (origin (method url-fetch) (uri (cran-uri "rvest" version)) (sha256 (base32 - "04mv99z8dixywx96kfy4215g6ib23s7qvd77hcf9pxqxzcvqhvhd")))) + "0vsm38w83zf0djcrc5ymb1ysg88hmgq2w937ql7pqgvk5px8f2mi")))) (build-system r-build-system) (propagated-inputs `(("r-httr" ,r-httr) @@ -2515,14 +2515,14 @@ Delaunay triangulation and convex hull computation.") (define-public r-ddalpha (package (name "r-ddalpha") - (version "1.3.8") + (version "1.3.9") (source (origin (method url-fetch) (uri (cran-uri "ddalpha" version)) (sha256 (base32 - "0gi0hl14ghgf65zxsvgzh9z6xx1nyi49cpx192lmwrwqn3dy7ba0")))) + "1vzs0cvl6xw3h9i00rg3hs02xwgxcnh8326y10kxmhs3qq4m7nb2")))) (build-system r-build-system) (propagated-inputs `(("r-bh" ,r-bh) @@ -2674,14 +2674,14 @@ by base R methods related to model fitting.") (define-public r-broom (package (name "r-broom") - (version "0.5.1") + (version "0.5.2") (source (origin (method url-fetch) (uri (cran-uri "broom" version)) (sha256 (base32 - "0bmf38yvwalqf5j5yrr48nsk5k3n75s0gwcw621hp5lgrgvnp7ns")))) + "0qmclih5dm5sqzy4hplcfy677kr12pm9pnpv3r319g14dd27pbqn")))) (build-system r-build-system) (propagated-inputs `(("r-backports" ,r-backports) @@ -3701,14 +3701,14 @@ terminals.") (define-public r-tinytex (package (name "r-tinytex") - (version "0.11") + (version "0.12") (source (origin (method url-fetch) (uri (cran-uri "tinytex" version)) (sha256 (base32 - "017g0niwmx8qafsn9b01gp60j5fgwxch0dnkmjgpxxr1k4h1r64x")))) + "03ggxbd4y1ipcmjw5ixa6g6wg4ydargnln7g08bdrdi96zyyq1fh")))) (build-system r-build-system) (propagated-inputs `(("r-xfun" ,r-xfun))) @@ -5181,14 +5181,14 @@ obtain a better initial configuration in non-metric MDS.") (define-public r-reticulate (package (name "r-reticulate") - (version "1.11.1") + (version "1.12") (source (origin (method url-fetch) (uri (cran-uri "reticulate" version)) (sha256 (base32 - "1cyb92dvv9iibsk28i0gm5hm2xqbsn0y6d67id74c8rhai9y8i9v")))) + "0pqr1rcs8yg9nlh729mvlws93cqhpmv49j9bcgarh7vxzkwyv0kb")))) (build-system r-build-system) (inputs `(("python" ,python))) (propagated-inputs @@ -7979,14 +7979,14 @@ terminals that do not support Unicode.") (define-public r-usethis (package (name "r-usethis") - (version "1.4.0") + (version "1.5.0") (source (origin (method url-fetch) (uri (cran-uri "usethis" version)) (sha256 (base32 - "1gadckx3sxz9gxvpkprj9x7zcgg2nz5m4q0vi76ya9li1v03rwwn")))) + "0pn6ka3726psaqlx573g6nxi90apf0rn5m4k2lz1jr66xdc19sag")))) (build-system r-build-system) (propagated-inputs `(("r-clipr" ,r-clipr) @@ -7998,10 +7998,13 @@ terminals that do not support Unicode.") ("r-gh" ,r-gh) ("r-git2r" ,r-git2r) ("r-glue" ,r-glue) + ("r-purrr" ,r-purrr) ("r-rlang" ,r-rlang) ("r-rprojroot" ,r-rprojroot) ("r-rstudioapi" ,r-rstudioapi) - ("r-whisker" ,r-whisker))) + ("r-whisker" ,r-whisker) + ("r-withr" ,r-withr) + ("r-yaml" ,r-yaml))) (home-page "https://github.com/r-lib/usethis") (synopsis "Automate R package and project setup") (description @@ -8037,14 +8040,14 @@ more information about packages, and where they were installed from.") (define-public r-remotes (package (name "r-remotes") - (version "2.0.2") + (version "2.0.4") (source (origin (method url-fetch) (uri (cran-uri "remotes" version)) (sha256 (base32 - "0rsjxmhwpr51ilsdjfqn06mj8yr2d7nckcn3arv1ljn23qfkpcxa")))) + "1jbn4kjimcr82zv5lnqxqa2487a96vn6jxf7wc6gnpxr6k06d61p")))) (build-system r-build-system) (home-page "https://github.com/r-lib/remotes#readme") (synopsis "R package installation from remote repositories") @@ -8161,14 +8164,14 @@ ways.") (define-public r-summarytools (package (name "r-summarytools") - (version "0.9.2") + (version "0.9.3") (source (origin (method url-fetch) (uri (cran-uri "summarytools" version)) (sha256 (base32 - "1q83kii6prqf9z5v8cxj1q2944kx9x7dcxyqix3m883a94dmgivy")))) + "1wfbkgvicaic37zgpr6zcm4a58yx43p59h0sqggdj44ncqs7147f")))) (build-system r-build-system) (propagated-inputs `(("r-checkmate" ,r-checkmate) @@ -8181,6 +8184,7 @@ ways.") ("r-pryr" ,r-pryr) ("r-rapportools" ,r-rapportools) ("r-rcurl" ,r-rcurl) + ("r-tibble" ,r-tibble) ("r-tidyr" ,r-tidyr))) (home-page "https://github.com/dcomtois/summarytools") (synopsis "Tools to quickly and neatly summarize data") @@ -10618,14 +10622,14 @@ regression coefficients can be conducted via jackknifing.") (define-public r-huge (package (name "r-huge") - (version "1.3.1") + (version "1.3.2") (source (origin (method url-fetch) (uri (cran-uri "huge" version)) (sha256 (base32 - "06s22i2cdn6g2r8kq5csyspinayh8dxxg9gkwcf4sa1lmrgb0bf9")))) + "1j93gvi1jyq3ld9jhdqhrpm2is54rk3ilmf3yw7fx6gva0y6hjqd")))) (build-system r-build-system) (propagated-inputs `(("r-igraph" ,r-igraph) @@ -11806,14 +11810,14 @@ al. (2010).") (define-public r-reinforcelearn (package (name "r-reinforcelearn") - (version "0.2.0") + (version "0.2.1") (source (origin (method url-fetch) (uri (cran-uri "reinforcelearn" version)) (sha256 (base32 - "0naakmyb14d2cf7cy5ir52qh3bp51gvs6hyhfi3f72yl2jfnnpzg")))) + "176z2q69p24i29a8sh19xxn2zl3h1z2ixdssr5i6m4yvkvdrvv3b")))) (build-system r-build-system) (propagated-inputs `(("r-checkmate" ,r-checkmate) @@ -12721,14 +12725,14 @@ that accept short and long options.") (define-public r-wgcna (package (name "r-wgcna") - (version "1.66") + (version "1.67") (source (origin (method url-fetch) (uri (cran-uri "WGCNA" version)) (sha256 (base32 - "0rhnyhzfn93yp24jz9v6dzrmyizwzdw070a7idm0k33w1cm8sjqv")))) + "09387w85lxvwr8ax2i2h602b4dgfv4wbvsl9aj1q0b1vfs4rkk69")))) (properties `((upstream-name . "WGCNA"))) (build-system r-build-system) (propagated-inputs @@ -13860,3 +13864,27 @@ making it possible to download files over HTTPS across platforms. The @code{RCurl} package provides this functionality (and much more) but has external dependencies. This package has is implemented purely in R.") (license license:gpl2))) + +(define-public r-rex + (package + (name "r-rex") + (version "1.1.2") + (source + (origin + (method url-fetch) + (uri (cran-uri "rex" version)) + (sha256 + (base32 + "0alsadgjgass3wr8y5d247j12qqzg454sc84vpskclrkmz778g5x")))) + (build-system r-build-system) + (propagated-inputs + `(("r-lazyeval" ,r-lazyeval) + ("r-magrittr" ,r-magrittr))) + (home-page "https://github.com/kevinushey/rex") + (synopsis "Friendly regular expressions") + (description + "This package provides a friendly interface for the construction of +regular expressions. Regular expressions are a very powerful feature, however +they are often difficult to interpret. Rex allows you to build complex +regular expressions from human readable expressions") + (license license:expat))) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 11ca214f7c..ed46f897b0 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -82,6 +82,7 @@ #:use-module (gnu packages pcre) #:use-module (gnu packages perl) #:use-module (gnu packages perl-check) + #:use-module (gnu packages perl-web) #:use-module (gnu packages pkg-config) #:use-module (gnu packages popt) #:use-module (gnu packages python) @@ -984,6 +985,92 @@ for example from a shell script.") ;; others (like sparql-query.c) contain a GPLv2+ license header. (license (list license:gpl3+)))) +(define-public sqitch + (package + (name "sqitch") + (version "0.9999") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/D/DW/DWHEELER/App-Sqitch-" + version + ".tar.gz")) + (sha256 + (base32 + "1cvj8grs3bzc4g7dw1zc26g4biv1frav18sq0fkvi2kk0q1aigzm")))) + (build-system perl-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (add-before 'check 'set-check-environment + (lambda _ + (setenv "TZ" "UTC") + (setenv "HOME" "/tmp") + #t)) + (add-after 'install 'wrap-program + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (path (getenv "PERL5LIB"))) + (wrap-program (string-append out "/bin/sqitch") + `("PERL5LIB" ":" prefix + (,(string-append out "/lib/perl5/site_perl" + ":" + path))))) + #t))))) + (native-inputs + `(("perl-capture-tiny" ,perl-capture-tiny) + ("perl-io-pager" ,perl-io-pager) + ("perl-module-build" ,perl-module-build) + ("perl-module-runtime" ,perl-module-runtime) + ("perl-path-class" ,perl-path-class) + ("perl-test-deep" ,perl-test-deep) + ("perl-test-dir" ,perl-test-dir) + ("perl-test-exception" ,perl-test-exception) + ("perl-test-file" ,perl-test-file) + ("perl-test-file-contents" ,perl-test-file-contents) + ("perl-test-mockmodule" ,perl-test-mockmodule) + ("perl-test-nowarnings" ,perl-test-nowarnings) + ("perl-test-warn" ,perl-test-warn))) + (inputs + `(("perl-class-xsaccessor" ,perl-class-xsaccessor) + ("perl-clone" ,perl-clone) + ("perl-config-gitlike" ,perl-config-gitlike) + ("perl-datetime" ,perl-datetime) + ("perl-datetime-timezone" ,perl-datetime-timezone) + ("perl-dbd-pg" ,perl-dbd-pg) + ("perl-dbi" ,perl-dbi) + ("perl-devel-stacktrace" ,perl-devel-stacktrace) + ("perl-encode-locale" ,perl-encode-locale) + ("perl-file-homedir" ,perl-file-homedir) + ("perl-hash-merge" ,perl-hash-merge) + ("perl-ipc-run3" ,perl-ipc-run3) + ("perl-ipc-system-simple" ,perl-ipc-system-simple) + ("perl-libintl-perl" ,perl-libintl-perl) + ("perl-list-moreutils" ,perl-list-moreutils) + ("perl-moo" ,perl-moo) + ("perl-mysql-config" ,perl-mysql-config) + ("perl-namespace-autoclean" ,perl-namespace-autoclean) + ("perl-path-class" ,perl-path-class) + ("perl-perlio-utf8_strict" ,perl-perlio-utf8_strict) + ("perl-string-formatter" ,perl-string-formatter) + ("perl-string-shellquote" ,perl-string-shellquote) + ("perl-sub-exporter" ,perl-sub-exporter) + ("perl-template-tiny" ,perl-template-tiny) + ("perl-template-toolkit" ,perl-template-toolkit) + ("perl-throwable" ,perl-throwable) + ("perl-try-tiny" ,perl-try-tiny) + ("perl-type-tiny" ,perl-type-tiny) + ("perl-type-tiny-xs" ,perl-type-tiny-xs) + ("perl-uri" ,perl-uri) + ("perl-uri-db" ,perl-uri-db))) + (home-page "https://sqitch.org/") + (synopsis "Database change management tool") + (description + "Sqitch is a standalone change management system for database schemas, +which uses SQL to describe changes.") + (license license:x11))) + (define-public sqlcrush ;; Unfortunately, there is no proper upstream release and may never be. (let ((commit "b5f6868f189566a26eecc78d0f0659813c1aa98a") @@ -1319,6 +1406,29 @@ module, and nothing else.") (license license:perl-license) (home-page "https://metacpan.org/release/DBD-SQLite"))) +(define-public perl-mysql-config + (package + (name "perl-mysql-config") + (version "1.04") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/D/DA/DARREN/MySQL-Config-" + version + ".tar.gz")) + (sha256 + (base32 + "1svn7ccw2gc4cazvc58j84rxhnc9vs01zpird0l8460598j475qr")))) + (build-system perl-build-system) + (home-page "https://metacpan.org/release/MySQL-Config") + (synopsis "Parse and utilize MySQL's /etc/my.cnf and ~/.my.cnf files") + (description + "@code{MySQL::Config} emulates the @code{load_defaults} function from +libmysqlclient. It will fill an aray with long options, ready to be parsed by +@code{Getopt::Long}.") + (license license:perl-license))) + (define-public perl-sql-abstract (package (name "perl-sql-abstract") diff --git a/gnu/packages/dc.scm b/gnu/packages/dc.scm index 29d5e451d2..2ef118339f 100644 --- a/gnu/packages/dc.scm +++ b/gnu/packages/dc.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014 Sree Harsha Totakura <sreeharsha@totakura.in> -;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -33,14 +33,14 @@ (define-public ncdc (package (name "ncdc") - (version "1.20") + (version "1.21") (source (origin (method url-fetch) (uri (string-append "http://dev.yorhel.nl/download/ncdc-" version ".tar.gz")) (sha256 (base32 - "0ccn7dqbqpqsbglqyalz32c20rjvf1pw0zr88jyvd2b2vxbqi6ca")))) + "10hrk7pcvfl9cj6d0kr4qf3l068ikqhccbg7lf25pr2kln9lz412")))) (build-system gnu-build-system) (inputs `(("bzip2" ,bzip2) diff --git a/gnu/packages/debug.scm b/gnu/packages/debug.scm index 49e40ee9cd..b035951e26 100644 --- a/gnu/packages/debug.scm +++ b/gnu/packages/debug.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2014, 2015, 2016, 2017 Eric Bavier <bavier@member.fsf.org> +;;; Copyright © 2014, 2015, 2016, 2017, 2019 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018, 2019 Rutger Helling <rhelling@mykolab.com> @@ -92,11 +92,10 @@ program to exhibit a bug.") ;; home-page pointing to a bsd-2 license. (license bsd-3))) -;; Newer versions depend on LLVM and Clang >= 4, which have yet to be packaged. (define-public c-reduce (package (name "c-reduce") - (version "2.6.0") + (version "2.8.0") (source (origin (method url-fetch) @@ -105,12 +104,12 @@ program to exhibit a bug.") "creduce-" version ".tar.gz"))) (sha256 (base32 - "0pf5q0n8vkdcr1wrkxn2jzxv0xkrir13bwmqfw3jpbm3dh2c3b6d")))) + "1vqx73ymfscvlyig03972a5m7ar3gx2yv6m8c6h2mibz792j5xkp")))) (build-system gnu-build-system) (inputs `(("astyle" ,astyle) - ("llvm" ,llvm-3.9.1) - ("clang" ,clang-3.9.1) + ("llvm" ,llvm-6) + ("clang" ,clang-6) ("flex" ,flex) ("indent" ,indent) ("perl" ,perl) @@ -118,11 +117,16 @@ program to exhibit a bug.") ("file-which" ,perl-file-which) ("getopt-tabular" ,perl-getopt-tabular) ("regex-common" ,perl-regexp-common) - ("sys-cpu" ,perl-sys-cpu) ("term-readkey" ,perl-term-readkey))) (arguments `(#:phases (modify-phases %standard-phases + (replace 'check + (lambda _ + (with-directory-excursion "tests" + ;; Running all tests can take a looong time, and tests 4 and 5 + ;; require frama-c or kcc. So run just one for sanity. + (invoke "./run_tests" "1")))) (add-after 'install 'set-load-paths (lambda* (#:key inputs outputs #:allow-other-keys) ;; Tell creduce where to find the perl modules it needs. @@ -137,7 +141,7 @@ program to exhibit a bug.") ,(package-version perl))) '("term-readkey" "exporter-lite" "file-which" "getopt-tabular" - "regex-common" "sys-cpu"))))) + "regex-common"))))) #t))))) (home-page "https://embed.cs.utah.edu/creduce") (synopsis "Reducer for interesting code") diff --git a/gnu/packages/dlang.scm b/gnu/packages/dlang.scm index c164ed849a..3b0c799dc3 100644 --- a/gnu/packages/dlang.scm +++ b/gnu/packages/dlang.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2015, 2018 Pjotr Prins <pjotr.guix@thebird.nl> ;;; Copyright © 2017 Frederick Muriithi <fredmanglis@gmail.com> ;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net> -;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2017, 2019 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -81,15 +81,15 @@ and freshness without requiring additional information from the user.") (package (name "ldc") (version "0.17.4") - (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/ldc-developers/ldc/archive/v" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1kw0j378k6bh0k66dvx99bjq8ilp8bb24w3jrmibn8rhmqv0d5q8")))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ldc-developers/ldc.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0nnrjavfmpfp7bib04isqlxvyzh6mlvsdan0gxysdz96hlg4hcq8")))) (build-system cmake-build-system) (supported-systems '("x86_64-linux" "i686-linux" "armhf-linux")) (properties @@ -101,11 +101,15 @@ and freshness without requiring additional information from the user.") (modify-phases %standard-phases (add-after 'unpack 'unpack-submodule-sources (lambda* (#:key inputs #:allow-other-keys) - (let ((unpack (lambda (source target) - (with-directory-excursion target - (invoke "tar" "xvf" - (assoc-ref inputs source) - "--strip-components=1"))))) + (let ((unpack (lambda (input target) + (let ((source (assoc-ref inputs input))) + ;; Git checkouts are directories as long as + ;; there are no patches; tarballs otherwise. + (if (file-is-directory? source) + (copy-recursively source target) + (with-directory-excursion target + (invoke "tar" "xvf" source + "--strip-components=1"))))))) (unpack "phobos-src" "runtime/phobos") (unpack "druntime-src" "runtime/druntime") (unpack "dmd-testsuite-src" "tests/d2/dmd-testsuite") @@ -147,32 +151,32 @@ and freshness without requiring additional information from the user.") ("unzip" ,unzip) ("phobos-src" ,(origin - (method url-fetch) - (uri (string-append - "https://github.com/ldc-developers/phobos/archive/ldc-v" - version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/ldc-developers/phobos.git") + (commit (string-append "ldc-v" version)))) + (file-name (git-file-name "phobos" version)) (sha256 - (base32 - "16x36kp46mqiihxx7jvr1d3mv3b96yfmhinb9lzinh2m4clr85wz")) + (base32 "0i7gh99w4mi0hdv16261jcdiqyv1nkjdcwy9prw32s0lvplx8fdy")) (patches (search-patches "ldc-bootstrap-disable-tests.patch")))) ("druntime-src" ,(origin - (method url-fetch) - (uri (string-append - "https://github.com/ldc-developers/druntime/archive/ldc-v" - version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/ldc-developers/druntime.git") + (commit (string-append "ldc-v" version)))) + (file-name (git-file-name "druntime" version)) (sha256 - (base32 - "0iw2xxhcbsc5f1707dgdzhff528363l4faqdk513gaxs2dhfx8vx")))) + (base32 "0alabm3bbvs94msvxz5psiwk4f51cw9h82z1p5hhsnf8ja6d0am7")))) ("dmd-testsuite-src" ,(origin - (method url-fetch) - (uri (string-append - "https://github.com/ldc-developers/dmd-testsuite/archive/ldc-v" - version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/ldc-developers/dmd-testsuite.git") + (commit (string-append "ldc-v" version)))) + (file-name (git-file-name "dmd-testsuite" version)) (sha256 - (base32 - "0z6ch930wjkg2vlnqkbliwxxxifad6ydsdpwdxwnajkb2kaxsjx4")))))) + (base32 "05qr4cgb4scfqzbw1l5pk72kil074mvj9d55b165ljyr51sgwgbl")))))) (home-page "http://wiki.dlang.org/LDC") (synopsis "LLVM-based compiler for the D programming language") (description @@ -195,28 +199,33 @@ bootstrapping more recent compilers written in D.") (inherit ldc-bootstrap) (name "ldc") (version "1.10.0") - (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/ldc-developers/ldc/archive/v" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "16b1h9kwfggjw6ykc6sfs26ak6vypylsx9wmvp5m6x3cvi6g70yi")))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ldc-developers/ldc.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0qcb2rn01wql7y8qp31blbv3hwmnh3zjgzi2n7k168cxr6rrdhlp")))) (arguments `(#:phases (modify-phases %standard-phases (add-after 'unpack 'unpack-submodule-sources (lambda* (#:key inputs #:allow-other-keys) - (let ((unpack (lambda (source target) - (with-directory-excursion target - (invoke "tar" "xvf" - (assoc-ref inputs source) - "--strip-components=1"))))) + (let ((unpack (lambda (input target) + (let ((source (assoc-ref inputs input))) + ;; Git checkouts are directories as long as + ;; there are no patches; tarballs otherwise. + (if (file-is-directory? source) + (copy-recursively source target) + (with-directory-excursion target + (invoke "tar" "xvf" source + "--strip-components=1"))))))) (unpack "phobos-src" "runtime/phobos") (unpack "druntime-src" "runtime/druntime") - (unpack "dmd-testsuite-src" "tests/d2/dmd-testsuite")))) + (unpack "dmd-testsuite-src" "tests/d2/dmd-testsuite") + #t))) (add-after 'unpack-submodule-sources 'patch-phobos (lambda* (#:key inputs #:allow-other-keys) (substitute* '("runtime/phobos/std/process.d" @@ -224,7 +233,7 @@ bootstrapping more recent compilers written in D.") (("/bin/sh") (which "sh")) (("echo") (which "echo"))) (substitute* "tests/d2/dmd-testsuite/Makefile" - (("/bin/bash") (which "bash"))) + (("/bin/bash") (which "bash"))) ;; disable unittests in the following files. We are discussing with ;; upstream (substitute* '("runtime/phobos/std/net/curl.d" @@ -241,14 +250,14 @@ bootstrapping more recent compilers written in D.") (delete-file "tests/plugins/addFuncEntryCall/testPlugin.d") ;; the following tests requires AVX instruction set in the CPU. (substitute* "tests/d2/dmd-testsuite/runnable/test_cdvecfill.d" - (("^// DISABLED: ") "^// DISABLED: linux64 ")) + (("^// DISABLED: ") "^// DISABLED: linux64 ")) #t)) (replace 'check - (lambda* (#:key inputs outputs #:allow-other-keys) - ;; some tests call into gdb binary which needs SHELL and CC set - (setenv "SHELL" (which "sh")) - (setenv "CC" (string-append (assoc-ref inputs "gcc") "/bin/gcc")) - (invoke "make" "test" "-j" (number->string (parallel-job-count)))))))) + (lambda* (#:key inputs outputs #:allow-other-keys) + ;; some tests call into gdb binary which needs SHELL and CC set + (setenv "SHELL" (which "sh")) + (setenv "CC" (string-append (assoc-ref inputs "gcc") "/bin/gcc")) + (invoke "make" "test" "-j" (number->string (parallel-job-count)))))))) (native-inputs `(("llvm" ,llvm-6) ("clang" ,clang-6) @@ -259,13 +268,13 @@ bootstrapping more recent compilers written in D.") ("gdb" ,gdb) ("phobos-src" ,(origin - (method url-fetch) - (uri (string-append - "https://github.com/ldc-developers/phobos/archive/ldc-v" - older-version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/ldc-developers/phobos.git") + (commit (string-append "ldc-v" older-version)))) + (file-name (git-file-name "phobos" older-version)) (sha256 - (base32 - "0cpmrww00xf1qx38bcc22rr05qw41p00p45yb5fbwnfaccfwdn0s")) + (base32 "1gmlwnjdcf6s5aahadxsif9l5nyaj0rrn379g6fmhcvdk64kf509")) ;; This patch deactivates some tests that depend on network access ;; to pass. It also deactivates some tests that have some reliance ;; on timezone. @@ -278,36 +287,37 @@ bootstrapping more recent compilers written in D.") (patches (search-patches "ldc-disable-phobos-tests.patch")))) ("druntime-src" ,(origin - (method url-fetch) - (uri (string-append - "https://github.com/ldc-developers/druntime/archive/ldc-v" - older-version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/ldc-developers/druntime.git") + (commit (string-append "ldc-v" older-version)))) + (file-name (git-file-name "druntime" older-version)) (sha256 - (base32 - "1akh2vdi98jih8642yjbvv2vavxzrmq24kz8i3kfidg5ndqyv222")))) + (base32 "0a3yyjcnpvm5fbdczf76fx08kl154w17w06hlxf0j3p1p4jc85aj")))) ("dmd-testsuite-src" ,(origin - (method url-fetch) - (uri (string-append - "https://github.com/ldc-developers/dmd-testsuite/archive/ldc-v" - older-version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/ldc-developers/dmd-testsuite.git") + (commit (string-append "ldc-v" older-version)))) + (file-name (git-file-name "dmd-testsuite" older-version)) (sha256 - (base32 - "0z5x07qrbkpksshaymp11ir6jlmg9wjicxn6zhp8cya6i1ha9p99"))))))))) + (base32 "0mm3rliki1nqiqfaha7ssvm156aa398vpvf4v6895m7nn1mz7rss"))))))))) (define-public dub (package (name "dub") (version "1.7.2") - (source (origin - (method url-fetch) - (uri (string-append "https://github.com/dlang/dub/archive/" - "v" version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1jvr1mmq8j77wnsrsg7x2xv8yfljqd6x8gn6yy7dd6h6y3cf408q")))) - (build-system gnu-build-system) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/dlang/dub.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "073ibvgm1gphcqs1yjrav9ryp677nh3b194nxmvicwgvdc0sb6w9")))) + (build-system gnu-build-system) (arguments `(#:tests? #f ; it would have tested itself by installing some packages (vibe etc) #:phases diff --git a/gnu/packages/dns.scm b/gnu/packages/dns.scm index 461d9f8c0c..9cffe3b822 100644 --- a/gnu/packages/dns.scm +++ b/gnu/packages/dns.scm @@ -569,23 +569,21 @@ Extensions} (DNSSEC).") (define-public knot (package (name "knot") - (version "2.8.0") - (source (origin - (method url-fetch) - (uri (string-append "https://secure.nic.cz/files/knot-dns/" - "knot-" version ".tar.xz")) - (sha256 - (base32 - "1vw7xx7bm440jwrpvdd04vrp6ccz2b11swcn9msvs62hf0kdjjj9")) - (patches - (search-patches "knot-include-system-lmdb-header.patch")) - (modules '((guix build utils))) - (snippet - '(begin - ;; Delete bundled libraries. - (with-directory-excursion "src/contrib" - (delete-file-recursively "lmdb")) - #t)))) + (version "2.8.1") + (source + (origin + (method url-fetch) + (uri (string-append "https://secure.nic.cz/files/knot-dns/" + "knot-" version ".tar.xz")) + (sha256 + (base32 "1im2wb8hl394mzni1wavmvfqd7il8s28kcz8w3s4v05nbhzg06xj")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Delete bundled libraries. + (with-directory-excursion "src/contrib" + (delete-file-recursively "lmdb")) + #t)))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) diff --git a/gnu/packages/docker.scm b/gnu/packages/docker.scm index a11ce266d2..39e7e8108b 100644 --- a/gnu/packages/docker.scm +++ b/gnu/packages/docker.scm @@ -43,7 +43,7 @@ #:use-module (gnu packages version-control) #:use-module (gnu packages virtualization)) -(define %docker-version "18.09.3") +(define %docker-version "18.09.5") (define-public python-docker-py (package @@ -241,7 +241,7 @@ network attachments.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "06yr5xwr181lalh8z1lk07nxlp7hn38aq8cyqjk617dfy4lz0ixx")) + (base32 "0cirpd9l2qazp2jyanwzvrkx2m98nksjdvn43ff38p89w6133ipb")) (patches (search-patches "docker-engine-test-noinstall.patch" "docker-fix-tests.patch" @@ -487,7 +487,7 @@ provisioning etc.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "09j1i668p330gjz5vw5pss8ghxh1mz7rl2q9ykp02q9p112zhy4j")))) + (base32 "0mxxjzkwdny8p2dmyjich7x1gn7hdlfppzjy2skk2k5bwv7nxpmi")))) (build-system go-build-system) (arguments `(#:import-path "github.com/docker/cli" diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index c9cbbaa154..7aec695205 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -44,6 +44,7 @@ ;;; Copyright © 2018, 2019 Brett Gilio <brettg@posteo.net> ;;; Copyright © 2019 Dimakakos Dimos <bendersteed@teknik.io> ;;; Copyright © 2019 Brian Leung <bkleung89@gmail.com> +;;; Copyright © 2019 mikadoZero <mikadozero@yandex.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -722,6 +723,29 @@ can take association lists, hash tables, and in some cases vectors (where the index is considered the key).") (license license:gpl3+))) +(define-public emacs-ace-jump-mode + (package + (name "emacs-ace-jump-mode") + (version "2.0") + (home-page "https://github.com/winterTTr/ace-jump-mode") + (source (origin + (method git-fetch) + (uri (git-reference + (url home-page) + (commit (string-append "v" version)))) + (sha256 + (base32 + "1bwvzh056ls2v7y26a0s4j5mj582dmds04lx4x6iqihs04ss74bb")) + (file-name (git-file-name name version)))) + (build-system emacs-build-system) + (synopsis "Cursor location minor mode for fast navigation") + (description "Ace-jump-mode is a fast/direct cursor location minor +mode. It creates an N-Branch search tree internally and marks all +the possible position with predefined keys in within the whole Emacs +view. This allows you to move to the character, word, or line almost +directly.") + (license license:gpl3+))) + (define-public emacs-anaphora (package (name "emacs-anaphora") @@ -1117,6 +1141,34 @@ within a specified width. It is useful for displaying long track titles.") ;;; Miscellaneous. ;;; +(define-public emacs-ace-link + (package + (name "emacs-ace-link") + (version "0.5.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/abo-abo/ace-link.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "147dz79vg4ym5wg3d544bw2khdb2j3hr73rw4qfm64wf0q2dj0vk")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-avy" ,emacs-avy))) + (home-page "https://github.com/abo-abo/ace-link") + (synopsis "Quickly follow links in Emacs") + (description + "Currently, to jump to a link in a @code{Info-mode}, @code{help-mode}, +@code{woman-mode}, @code{org-mode}, @code{eww-mode}, @code{compilation-mode}, +@code{goto-address-mode} buffer, you can tab through the links to select the +one you want. This is an O(N) operation, where the N is the amount of links. +This package turns this into an O(1) operation. It does so by assigning a +letter to each link using avy.") + (license license:gpl3+))) + (define-public emacs-bbdb (package (name "emacs-bbdb") @@ -1393,7 +1445,7 @@ Emacs buffer.") (define-public emacs-direnv (package (name "emacs-direnv") - (version "1.2.0") + (version "1.5.0") (source (origin (method git-fetch) @@ -1403,7 +1455,7 @@ Emacs buffer.") (file-name (git-file-name name version)) (sha256 (base32 - "172jyl8v4zy9bbha8nndq63x8svn9xqkafkj3q17z289na8iaylh")))) + "02blhinkkfh3iai6j1k5swplf5mkwijy3p7wy38rnd1gnyj2z4la")))) (build-system emacs-build-system) (propagated-inputs `(("dash" ,emacs-dash) @@ -1538,7 +1590,7 @@ Maps directly inside Emacs.") (uri (git-reference (url "https://github.com/ppareit/graphviz-dot-mode.git") (commit commit))) - (file-name (string-append name "-" version "-checkout")) + (file-name (git-file-name name version)) (sha256 (base32 "0j1r2rspaakw37b0mx7pwpvdsvixq9sw3xjbww5piihzpdxz58z1")))) @@ -1729,7 +1781,7 @@ and stored in memory.") (uri (git-reference (url "https://notabug.org/alezost/emacs-bui.git") (commit (string-append "v" version)))) - (file-name (string-append name "-" version "-checkout")) + (file-name (git-file-name name version)) (sha256 (base32 "0sszdl4kvqbihdh8d7mybpp0d8yw2p3gyiipjcxz9xhvvmw3ww4x")))) @@ -1828,7 +1880,7 @@ management tasks from Emacs. To begin with, run @code{M-x guix-about} or (uri (git-reference (url "https://notabug.org/alezost/emacs-build-farm.git") (commit (string-append "v" version)))) - (file-name (string-append name "-" version "-checkout")) + (file-name (git-file-name name version)) (sha256 (base32 "0i0bwbav5861j2y15j9nd5m9rdqg9q97zgcbld8pivr9nyxy63lz")))) @@ -1849,15 +1901,15 @@ evaluations. The entry point is @code{M-x build-farm} command.") (package (name "emacs-d-mode") (version "2.0.9") - (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/Emacs-D-Mode-Maintainers/Emacs-D-Mode/" - "archive/" version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "127aa77ix3p7w4g339bx026df9y649dahlr3v359z0hs40zjz3kd")))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Emacs-D-Mode-Maintainers/Emacs-D-Mode.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0fzplvi1sm8k2sabfdvrd7j2xypwqh0g9v1mxa75dajdmcd85zpj")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-undercover" ,emacs-undercover))) @@ -1915,7 +1967,7 @@ in the center.") (uri (git-reference (url "http://dr-qubit.org/git/undo-tree.git") (commit (string-append "release/" version)))) - (file-name (string-append name "-" version "-checkout")) + (file-name (git-file-name name version)) (sha256 (base32 "1hnh2mnmw179gr094r561w6cw1haid0lpvpqvkc24wpj82vphzpa")))) @@ -1931,19 +1983,19 @@ allows easily move between them.") (package (name "emacs-s") (version "1.12.0") - (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/magnars/s.el/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "0xbl75863pcm806zg0x1lw7qznzjq2c8320k8js7apyag8q4srvh")))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/magnars/s.el.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1g8mqd13llj007al4nlxxx4z2lcsg3wk970mgjn0avwrhjjgdmmv")))) (build-system emacs-build-system) (arguments `(#:tests? #t - #:emacs ,emacs ; FIXME: tests fail with emacs-minimal + #:emacs ,emacs ; FIXME: tests fail with emacs-minimal #:test-command '("./run-tests.sh"))) (home-page "https://github.com/magnars/s.el") (synopsis "Emacs string manipulation library") @@ -1957,13 +2009,13 @@ strings.") (version "20160630") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/zk-phi/symon/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/zk-phi/symon.git") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 - "0h4jcgdnq98wc9rj72nwyazq8498yg55jfljiij5qwbn1xf1g5zz")))) + (base32 "1q7di9s8k710nx98wnqnbkkhdimrn0jf6z4xkm4c78l6s5idjwlz")))) (build-system emacs-build-system) (home-page "https://github.com/zk-phi/symon") (synopsis "Tiny graphical system monitor") @@ -2025,15 +2077,15 @@ files and directories.") (package (name "emacs-git-gutter") (version "0.90") - (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/syohex/" name "/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1nmhvhpq1l56mj2yq3ag23rw3x4xgnsy8szp30s26l0yjnkhc4qg")))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/syohex/emacs-git-gutter.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1abagq0psip7cgsqbfjv72qy60ywsny0ibsfcn74ldj6a9v17mz5")))) (build-system emacs-build-system) (home-page "https://github.com/syohex/emacs-git-gutter") (synopsis "See and manage hunks of text in a version control system") @@ -2106,13 +2158,13 @@ This package also includes relevant snippets for yasnippet.") (version "1.25.1") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/rejeep/el-mock.el/" - "archive/v" version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/rejeep/el-mock.el.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 - (base32 - "16xw94n58xxn3zvgyj72bmzs0k5lkvswjmzs79ws9n7rzdivb38b")))) + (base32 "13mv1rhgkwiww2wh5w926jz7idppp492wir1vdl245c5x50dh4f7")))) (build-system emacs-build-system) (home-page "https://github.com/rejeep/el-mock.el") (synopsis "Tiny mock and stub framework in Emacs Lisp") @@ -2128,13 +2180,13 @@ Expectations, but it can be used in other contexts.") (version "0.3.3") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/ecukes/espuds/" - "archive/v" version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/ecukes/espuds.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 - (base32 - "0xv551376pbmh735a3zjwc9z4qdx6ngj1vpq3xqjpn0a1rwjyn4k")))) + (base32 "16r4j27j9yfdiy841w9q5ykkc6n3wrm7hvfacagb32mydk821ijg")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-s" ,emacs-s) @@ -2175,15 +2227,15 @@ port of @code{cl-spark} to Emacs Lisp.") (package (name "emacs-es-mode") (version "4.3.0") - (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/dakrone/es-mode/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "0y86qdcb3g7fkcb4pzsjh3syzql6w3314hg1wqxq4a8bbk3y0cgr")))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/dakrone/es-mode.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1qhfnd5anp5qrmravv7ks5ix763xnki2f5jwcyj70qyxwr0l60cg")))) (build-system emacs-build-system) (propagated-inputs ;; The version of org in Emacs 24.5 is not sufficient, and causes tables @@ -2207,13 +2259,13 @@ mode, which displays information about Elasticsearch clusters.") (version "0.11.0") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/magnars/expand-region.el" - "/archive/" version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/magnars/expand-region.el.git") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 - "08dy1f411sh9wwww53rjw80idcf3vpki6ba2arl4hl5jcw9651g0")))) + (base32 "0h40dhc3kn8fq86xnwi5lz7ql8my8737y7wkqr897p15y90swr35")))) (build-system emacs-build-system) (home-page "https://github.com/magnars/expand-region.el") (synopsis "Increase selected region by semantic units") @@ -2229,13 +2281,13 @@ keep pressing the key until it selects what you want. There's also (version "1.89") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/alpaker/Fill-Column-Indicator" - "/archive/v" version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/alpaker/Fill-Column-Indicator.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 - (base32 - "09ab01np14bdcsr38xf95kpnvxzqr46mdjmphg3pigwnx39a3jvg")))) + (base32 "010kf8jsly74y7m6mmkn1h6y205kz23zphs50zgy2nag2p88rz9y")))) (build-system emacs-build-system) (home-page "https://www.emacswiki.org/emacs/FillColumnIndicator") (synopsis "Graphically indicate the fill column") @@ -2248,15 +2300,15 @@ column by drawing a thin line down the length of the editing window.") (package (name "emacs-grep-a-lot") (version "1.0.7") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/ZungBang/emacs-grep-a-lot.git") - (commit "9f9f645b9e308a0d887b66864ff97d0fca1ba4ad"))) - (file-name (string-append name "-" version "-checkout")) - (sha256 - (base32 - "1f8262mrlinzgnn4m49hbj1hm3c1mvzza24py4b37sasn49546lw")))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ZungBang/emacs-grep-a-lot.git") + (commit "9f9f645b9e308a0d887b66864ff97d0fca1ba4ad"))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1f8262mrlinzgnn4m49hbj1hm3c1mvzza24py4b37sasn49546lw")))) (build-system emacs-build-system) (home-page "https://github.com/ZungBang/emacs-grep-a-lot") (synopsis "Enables multiple grep buffers in Emacs") @@ -2270,13 +2322,13 @@ column by drawing a thin line down the length of the editing window.") (version "2.5.1") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/nonsequitur/inf-ruby/" - "archive/" version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/nonsequitur/inf-ruby.git") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 - "0m7323k649ckxql1grsdnf71bjhys7l4qb8wbpphb1mr1q8i4066")))) + (base32 "1r452h6cyypqlc59q8dx5smkwhck4qjcg1pf9qdw539cpva5q77z")))) (build-system emacs-build-system) (home-page "https://github.com/nonsequitur/inf-ruby") (synopsis "Provides a REPL buffer connected to a Ruby subprocess in Emacs") @@ -2313,13 +2365,13 @@ IRC bouncer with ERC.") (version "0.3.2") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/cask/shut-up/" - "archive/v" version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/cask/shut-up.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 - (base32 - "09kzrjdkb569iviyg7ydwq44yh84m3f9hkl7jizfrlk0w4gz67d1")))) + (base32 "103yvfgkj78i4bnv1fwk76izsa8h4wyj3vwj1vq7xggj607hkxzq")))) (build-system emacs-build-system) (home-page "https://github.com/cask/shut-up") (synopsis "Silence Emacs") @@ -2333,13 +2385,13 @@ Emacs shell script.") (version "0.6.0") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/sviridov/undercover.el/" - "archive/v" version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/sviridov/undercover.el.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 - (base32 - "0f48fi0xnbsqs382rgh85m9mq1wdnr0yib7as9xhwzvq0hsr5m0a")))) + (base32 "06qcvbp5rd0kh3ibrxj5p6r578lwsrgd7yj5c6slwmkdmna2fj33")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-dash" ,emacs-dash) @@ -2357,13 +2409,13 @@ Lisp.") (version "1.0.0") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/tarsius/paren-face/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/tarsius/paren-face.git") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 - "0y4qrhxa9332vsvr999jg7qj1ymnfgwpf591yi4a4jgg90pm7qnn")))) + (base32 "0f128gqn170s6hl62n44i9asais75ns1mpvb4l8vzy1sc0v16c0k")))) (build-system emacs-build-system) (home-page "https://github.com/tarsius/paren-face") (synopsis "Face for parentheses in lisp modes") @@ -2382,13 +2434,13 @@ subconsciously blend out the parentheses.") (version "0.11") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/purcell/page-break-lines/" - "archive/" version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/purcell/page-break-lines.git") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 - "1zzhziq5kbrm9rxk30kx2glz455fp1blqxg8cpcf6l8xl3w8z4pg")))) + (base32 "1wp974716ih2cz9kdmdz7xwjy1qnnfzdzlfr9kchknagw8d9nn12")))) (build-system emacs-build-system) (home-page "https://github.com/purcell/page-break-lines") (synopsis "Display page breaks as tidy horizontal lines") @@ -2403,13 +2455,13 @@ as horizontal rules.") (version "1.4.6") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/skeeto/emacs-web-server/" - "archive/" version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/skeeto/emacs-web-server.git") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 - "01r7h3imnj4qx1m53a2wjafvbylcyz5f9r2rg2cs7ky3chlg220r")))) + (base32 "1qmkc0w28l53zzf5yd2grrk1sq222g5qnsm35ph25s1cfvc1qb2g")))) (build-system emacs-build-system) (home-page "https://github.com/skeeto/emacs-http-server") (synopsis "HTTP server in pure Emacs Lisp") @@ -2424,13 +2476,13 @@ serve files and directory listings.") (version "1.6.2") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/skeeto/skewer-mode/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/skeeto/skewer-mode.git") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 - "07jpz374j0j964szy3zznrkyja2kpdl3xa87wh7349mzxivqxdx0")))) + (base32 "05jndz0c26q60s416vqgvr66axdmxb7qsr2g70fvl5iqavnayhpv")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-simple-httpd" ,emacs-simple-httpd) @@ -2454,7 +2506,7 @@ in Lisp modes.") (uri (git-reference (url "https://github.com/akicho8/string-inflection") (commit "a150e7bdda60b7824d3a936750ce23f73b0e4edd"))) - (file-name (string-append name "-" version "-checkout")) + (file-name (git-file-name name version)) (sha256 (base32 "1k0sm552iawi49v4zis6dbb81d1rzgky9v0dpv7nj31gnb7bmy7k")))) @@ -2485,13 +2537,13 @@ naming style of a symbol. It supports different naming conventions such as: (version "0.2.5") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/sabof/stripe-buffer/" - "archive/" version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/sabof/stripe-buffer.git") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 - "1p515dq7raly5hw94kiwm3vzsfih0d8af622q4ipvvljsm98aiik")))) + (base32 "035ym1c1vzg6hjsnd258z4dkrfc11lj4c0y4gpgybhk54dq3w9dk")))) (build-system emacs-build-system) (home-page "https://github.com/sabof/stripe-buffer/") (synopsis "Add stripes to list buffers") @@ -2506,13 +2558,13 @@ tables.") (version "1.0.1") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/Malabarba/rich-minority/" - "archive/" version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/Malabarba/rich-minority.git") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 - "1l0cb0q7kyi88nwfqd542psnkgwnjklpzc5rx32gzd3lkwkrbr8v")))) + (base32 "11hwf9y5ax207w6rwrsmi3pmn7pn7ap6iys0z8hni2f5zzxjrmx3")))) (build-system emacs-build-system) (home-page "https://github.com/Malabarba/rich-minority") (synopsis "Clean-up and beautify the list of minor modes") @@ -2527,13 +2579,13 @@ mode-line.") (version "0.8.1") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/dgutov/robe/" - "archive/" version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/dgutov/robe.git") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 - "1vp45y99fwj88z04ah4yppz4z568qcib646az6m9az5ar0f203br")))) + (base32 "0ll7ivxqnglfb0i70ly6qq2yfw9cyi3vq3lmj4s6h6c1c7rm3gcq")))) (build-system emacs-build-system) (arguments '(#:include (cons "^lib\\/" %default-include))) @@ -2554,13 +2606,13 @@ method and constant name completion.") (version "1.11") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/pezra/rspec-mode/" - "archive/v" version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/pezra/rspec-mode.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 - (base32 - "1j0a7ms5516nlg60qfyn730pfxys6acm0rgyxh5xfkpi6jafgpvw")))) + (base32 "0hrn5n7aaymwimk511kjij44vqaxbmhly1gwmlmsrnbvvma7f2mp")))) (build-system emacs-build-system) (home-page "https://github.com/pezra/rspec-mode") (synopsis "Provides a rspec mode for working with RSpec") @@ -2579,13 +2631,13 @@ snippets for yasnippet.") (version "2.12.0") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/Malabarba/smart-mode-line/" - "archive/" version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/Malabarba/smart-mode-line.git") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 - "1hn8s6laijmg7w1bgwdfrki6h9vxkbgr8rmmssvd5yqyad5w2sba")))) + (base32 "1gs4ay9hdg8gmia4ir74qawk80pqwv99hp4yhy108kpfry5mrq6z")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-rich-minority" ,emacs-rich-minority))) @@ -2628,13 +2680,13 @@ the speedbar window.") (version "1.0.1") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/DamienCassou/shell-switcher" - "/archive/v" version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/DamienCassou/shell-switcher.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 - (base32 - "1c23mfkdqz2g9rixd9smm323vzlvhzz3ng34ambcqjfq309qb2nz")))) + (base32 "0ia7sdip4hl27avckv3qpqgm3k4ynvp3xxq1cy53bqfzzx0gcria")))) (build-system emacs-build-system) (home-page "https://github.com/DamienCassou/shell-switcher") (synopsis "Provide fast switching between shell buffers") @@ -2651,7 +2703,7 @@ the speedbar window.") (uri (git-reference (commit "880706469338ab59b5bb7dbe8460016f89755364") (url "https://github.com/gregsexton/ob-ipython.git"))) - (file-name (string-append name "-" version "-checkout")) + (file-name (git-file-name name version)) (sha256 (base32 "1scf25snbds9ymagpny30ijbsg479r3nm0ih01dy4m9d0g7qryb7")))) @@ -2722,10 +2774,10 @@ framework for Emacs Lisp to be used with @code{ert}.") (uri (git-reference (url home-page) (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "0xy9zb6wwkgwhcxdnslqk52bq3z24chgk6prqi4ks0qcf2bwyh5h")) - (file-name (string-append name "-" version)))) + "0xy9zb6wwkgwhcxdnslqk52bq3z24chgk6prqi4ks0qcf2bwyh5h")))) (build-system emacs-build-system) (arguments `(#:phases @@ -2765,10 +2817,10 @@ for asynchronous tasks.") (uri (git-reference (url home-page) (commit version))) + (file-name (git-file-name name version)) (sha256 (base32 - "1pii9dw4skq7nr4na6qxqasl36av8cwjp71bf1fgppqpcd9z8skj")) - (file-name (string-append name "-" version)))) + "1pii9dw4skq7nr4na6qxqasl36av8cwjp71bf1fgppqpcd9z8skj")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-deferred" ,emacs-deferred))) @@ -2787,13 +2839,13 @@ build jobs.") (version "0.9.7") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/company-mode/company-mode/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/company-mode/company-mode.git") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 - "19flv38f2qhxda8lbk2ckywvibd72vbzmn4hchqz6d8acsknh4sb")))) + (base32 "1gpapjxs4l6fmmj22q0q1pyhj1yd9j5iqfqnjf1abskkj69lqkpj")))) (build-system emacs-build-system) (arguments `(#:phases @@ -2828,10 +2880,10 @@ These are distributed in separate files and can be used individually.") (uri (git-reference (url (string-append home-page ".git")) (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "0nhjrnlmss535jbshjjd30vydbr8py21vkx4p294w6d8vg2rssf8")) - (file-name (string-append name "-" version ".tar.gz")))) + "0nhjrnlmss535jbshjjd30vydbr8py21vkx4p294w6d8vg2rssf8")))) (build-system emacs-build-system) (inputs `(("server" ,emacs-irony-mode-server))) (arguments `(#:phases @@ -2900,9 +2952,9 @@ with irony-mode using clang-tooling.") (uri (git-reference (url "https://github.com/Sarcasm/flycheck-irony.git") (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 - (base32 "0qa5a8wzvzxwqql92ibc9s43k8sj3vwn7skz9hfr8av0skkhx996")) - (file-name (string-append name "-" version)))) + (base32 "0qa5a8wzvzxwqql92ibc9s43k8sj3vwn7skz9hfr8av0skkhx996")))) (build-system emacs-build-system) (inputs `(("irony-mode" ,emacs-irony-mode) @@ -2924,8 +2976,9 @@ irony-mode do the syntax checking.") (uri (git-reference (url "https://github.com/ikirill/irony-eldoc.git") (commit "0df5831eaae264a25422b061eb2792aadde8b3f2"))) - (sha256 (base32 "1l5qpr66v1l12fb50yh73grb2rr85xxmbj19mm33b5rdrq2bqmmd")) - (file-name (string-append name "-" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1l5qpr66v1l12fb50yh73grb2rr85xxmbj19mm33b5rdrq2bqmmd")))) (build-system emacs-build-system) (inputs `(("irony-mode" ,emacs-irony-mode))) @@ -2941,14 +2994,13 @@ for the current function or variable in the minibuffer.") (version "2.3.0") (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/expez/company-quickhelp/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/expez/company-quickhelp.git") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 - "0xrn2z1dgk5gmkmp2jkn9g83ckk39lqp5pyyv8rl7f6gqvib3qh0")))) + (base32 "08ccsfvwdpzpj0gai3xrdb2bv1nl6myjkxsc5774pbvlq9nkfdvr")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-pos-tip" ,emacs-pos-tip) @@ -2965,13 +3017,13 @@ completion candidate when using the Company text completion framework.") (version "1.4.0") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/magnars/multiple-cursors.el/" - "archive/" version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/magnars/multiple-cursors.el.git") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 - "0hihihlvcvzayg5fnqzcg45fhvlmq6xlq58syy00rjwbry9w389k")))) + (base32 "1ijgvzv5r44xqvz751fd5drbvrspapw6xwv47582w255j363r6ss")))) (build-system emacs-build-system) (home-page "https://github.com/magnars/multiple-cursors.el") (synopsis "Multiple cursors for Emacs") @@ -2990,10 +3042,10 @@ simultaneous cursors.") (uri (git-reference (url home-page) (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "1jhd4grch5iz12gyxwfbsgh4dmz5hj4bg4gnvphccg8dsnni05k2")) - (file-name (string-append name "-" version)))) + "1jhd4grch5iz12gyxwfbsgh4dmz5hj4bg4gnvphccg8dsnni05k2")))) (build-system emacs-build-system) (synopsis "Minor mode for typographic editing") (description @@ -3039,11 +3091,11 @@ characters and asynchronous fetching of completion candidates.") (version (string-append "20151223." (string-take commit 8))) (source (origin - (file-name (string-append name "-" version)) (method git-fetch) (uri (git-reference (url "https://github.com/ashinn/scheme-complete.git") (commit commit))) + (file-name (git-file-name name version)) (sha256 (base32 "141wn9l0m33w0g3dqmx8nxbfdny1r5xbr6ak61rsz21bk0qafs7x")) @@ -3072,7 +3124,7 @@ to a key in your preferred mode.") (uri (git-reference (url "https://github.com/supercollider/scel.git") (commit commit))) - (file-name (string-append name "-" version "-checkout")) + (file-name (git-file-name name version)) (sha256 (base32 "0jvmzs1lsjyndqshhii2y4mnr3wghai26i3p75453zrpxpg0zvvw")))) @@ -3186,13 +3238,13 @@ identifiers in the MIT-Scheme documentation.") (home-page "https://staff.fnwi.uva.nl/c.dominik/Tools/constants") (source (origin - (file-name (string-append name "-" version ".tar.gz")) - (method url-fetch) - (uri (string-append "https://github.com/fedeinthemix/emacs-constants" - "/archive/v" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/fedeinthemix/emacs-constants.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 - (base32 - "0pnrpmmxq8mh5h2hbrp5vcym0j0fh6dv3s7c5ccn18wllhzg9g7n")))) + (base32 "0f5sh6b45a8p9kancjp9jk44ws8ww6x50a0i6zgyyvr7dbvii1a0")))) (build-system emacs-build-system) (synopsis "Enter definition of constants into an Emacs buffer") (description @@ -3206,13 +3258,13 @@ constants and units into an Emacs buffer.") (version "1.4.0") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/magnars/tagedit/" - "archive/" version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/magnars/tagedit.git") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 - "1apfnann4qklfdsmdi7icjsj18x7gwx8d83iqr4z25clszz95xfq")))) + (base32 "0kq40g46s8kgiafrhdq99h79rz9h5fvgz59k7ralmf86bl4sdmdb")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-s" ,emacs-s) @@ -3230,14 +3282,13 @@ in @code{html-mode}.") (version "2.23") (source (origin - (file-name (string-append name "-" version ".tar.gz")) - (method url-fetch) - (uri (string-append - "https://github.com/slime/slime/archive/v" - version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/slime/slime.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 - (base32 - "01gkrqfpifcx1vipwrbhns2r4s8izp3z1w4p41azc943s1a2d5nc")))) + (base32 "0i637n0ragpbj39hqx65nx5k99xf0464c4w6w1qpzykm6z42grky")))) (build-system emacs-build-system) (native-inputs `(("texinfo" ,texinfo))) @@ -3247,6 +3298,10 @@ in @code{html-mode}.") "^contrib/Makefile$" "^contrib/README.md$") #:phases (modify-phases %standard-phases + (add-after 'unpack 'make-git-checkout-writable + (lambda _ + (for-each make-file-writable (find-files ".")) + #t)) (add-before 'install 'configure (lambda* _ (emacs-substitute-variables "slime.el" @@ -3290,15 +3345,15 @@ for compilation, debugging, documentation lookup, and so on.") (package (name "emacs-popup") (version "0.5.3") - (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/auto-complete/popup-el/archive/v" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1yrgfj8y69xmcb6kwgplhq68ndm9410qwh7sd2knnd1gchpphdc0")))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/auto-complete/popup-el.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1y538siabcf1n00wr4iz5gbxfndw661kx2mn9w1g4lg7yi4n0h0h")))) (build-system emacs-build-system) (home-page "https://github.com/auto-complete/popup-el") (synopsis "Visual Popup User Interface for Emacs") @@ -3312,15 +3367,15 @@ and popup menus.") (package (name "emacs-python-environment") (version "0.0.2") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/tkf/emacs-python-environment/") - (commit version))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0q6bib9nr6xiq6npzbngyfcjk87yyvwzq1zirr3z1h5wadm34lsk")))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/tkf/emacs-python-environment/") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0q6bib9nr6xiq6npzbngyfcjk87yyvwzq1zirr3z1h5wadm34lsk")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-deferred" ,emacs-deferred))) @@ -3420,7 +3475,7 @@ linting of manifests and integration with Puppet Debugger.") (uri (git-reference (url "https://github.com/chrisdone/god-mode.git") (commit commit))) - (file-name (string-append name "-" version "-checkout")) + (file-name (git-file-name name version)) (sha256 (base32 "1am415k4xxcva6y3vbvyvknzc6bma49pq3p85zmpjsdmsp18qdix")))) @@ -3440,13 +3495,13 @@ insertion mode. When enabled all keys are implicitly prefixed with (version "0.2") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/paradoxxxzero/jinja2-mode/" - "archive/v" version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/paradoxxxzero/jinja2-mode.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 - (base32 - "0cgxjab1kla2zc2fj7bzib6i7snp08zshandmp9kqcm85l262xpn")))) + (base32 "0l26wcy496k6xk7q5sf905xir0p73ziy6c44is77854lv3y0z381")))) (build-system emacs-build-system) (home-page "https://github.com/paradoxxxzero/jinja2-mode") (synopsis "Major mode for jinja2") @@ -3535,13 +3590,13 @@ number.") (version "0.2.4") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/sabof/org-bullets/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/sabof/org-bullets.git") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 - "1dyxvpb73vj80v8br2q9rf255hfphrgaw91fbvwdcd735np9pcnh")))) + (base32 "10nr4sjffnqbllv6gmak6pviyynrb7pi5nvrq331h5alm3xcpq0w")))) (build-system emacs-build-system) (home-page "https://github.com/sabof/org-bullets") (synopsis "Show bullets in org-mode as UTF-8 characters") @@ -3556,14 +3611,13 @@ number.") (version "2.1.0") (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/lolownia/org-pomodoro/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/lolownia/org-pomodoro.git") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 - "1jalsggw3q5kvj353f84x4nl04a5vmq07h75ggppy1627lb31zm4")))) + (base32 "0r5shgikm34d66i2hblyknbblpg92lb2zc9x4bcb28xkh7m9d0xv")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-alert" ,emacs-alert))) @@ -3583,15 +3637,15 @@ started with 20 minutes. All values are customizable.") (package (name "emacs-org-trello") (version "0.8.0") - (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/org-trello/org-trello/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "0549mnf5cgwn8b8jbl38fljbaxmh1605sv9j8f3lsa95jhs1zpa0")))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/org-trello/org-trello.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0m5hyhb6211hdmyp1bq6f3fklfgw3957knd96bfdafj727vdnlzm")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-dash" ,emacs-dash) @@ -3657,15 +3711,15 @@ organizer.") (package (name "emacs-zenburn-theme") (version "2.6") - (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/bbatsov/zenburn-emacs/archive/v" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "0qc9d1rwq55yzh8shbppyd6izy1grpyr8kqh5zdgm7c5jccngpr4")))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/bbatsov/zenburn-emacs.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1n87r5hs7h5r8dgfid66skpzcypl9hssr9m3npp916g6jfsi782f")))) (build-system emacs-build-system) (home-page "https://github.com/bbatsov/zenburn-emacs") (synopsis "Low contrast color theme for Emacs") @@ -3787,15 +3841,15 @@ library.") (package (name "emacs-smartparens") (version "1.11.0") - (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/Fuco1/smartparens/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "0q5as813xs8y29i3v2rm97phd6m7xsmmw6hwbvx57gwmi8i1c409")))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Fuco1/smartparens.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0zij2f2rjjym98w68jkp10n1ckpfprlkk217c3fg16hz5nq4vnm6")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-dash" ,emacs-dash) @@ -3818,15 +3872,15 @@ well as completely new features.") (package (name "emacs-highlight-symbol") (version "1.3") - (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/nschum/highlight-symbol.el/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1n7k1qns0fn0jsyc0hrjac5nzk21xw48yc30vyrhwvc51h0b9g90")))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/nschum/highlight-symbol.el.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "09z13kv2g21kjjkkm3iyaz93sdjmdy2d563r8n7r7ng94acrn7f6")))) (build-system emacs-build-system) (home-page "https://nschum.de/src/emacs/highlight-symbol") (synopsis "Automatic and manual symbol highlighting for Emacs") @@ -4031,7 +4085,7 @@ parallel.") (uri (git-reference (url "https://github.com/tkf/emacs-request.git") (commit (string-append "v" version)))) - (file-name (string-append name "-" version "-checkout")) + (file-name (git-file-name name version)) (sha256 (base32 "0wyxqbb35yqf6ci47531lk32d6fppamx9d8826kdz983vm87him7")))) @@ -4107,7 +4161,7 @@ automatically.") (uri (git-reference (url "https://github.com/abo-abo/swiper.git") (commit version))) - (file-name (string-append name "-" version "-checkout")) + (file-name (git-file-name name version)) (sha256 (base32 "009n8zjycs62cv4i1k9adbb284wz2w3r13xki2740sj34k683v13")))) @@ -4174,13 +4228,13 @@ use it, call @code{M-x ivy-yasnippet} (but make sure you have enabled (version "0.1.0") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/Yevgnen/ivy-rich/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/Yevgnen/ivy-rich.git") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 - "14r3mx5rkd4wz0ls5pv5w6c7la3z9iy93d3jfind3xyg4kywy95c")))) + (base32 "0ayf3dwfhafcbqnckm65zy8nc1rv9ji939qfn53wbhxkrgqdicgz")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-ivy" ,emacs-ivy))) @@ -4199,13 +4253,13 @@ show icons as well.") (version "0.4.0") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/abo-abo/avy/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/abo-abo/avy.git") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 - "1wdrq512h25ymzjbf2kbsdymvd2ryfwzb6bh5bc3yv7q203im796")))) + (base32 "0rq9ab264565z83cly743nbhrd9m967apmnlhqr1gy8dm4hcy7nm")))) (build-system emacs-build-system) (home-page "https://github.com/abo-abo/avy") (synopsis "Tree-based completion for Emacs") @@ -4228,13 +4282,13 @@ windows.") (version "0.9.0") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/abo-abo/ace-window/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/abo-abo/ace-window.git") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 - "1p2sgfl5dml4zbd6ldql6lm2m9vmd236ah996ni32x254s48j5pn")))) + (base32 "07mcdzjmgrqdvjs94f2n5bkrf5vrq2fwzz256wbm3wzqxqkfy1q6")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-avy" ,emacs-avy))) @@ -4253,13 +4307,13 @@ highlighted. Pressing that character will switch to that window.") (version "0.9.9.9") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/victorhge/iedit/archive/v" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/victorhge/iedit.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 - (base32 - "1hv8q6pr85ss9g3158l1fqv3m62vsq8rslsi86jicr2dcxyascr0")))) + (base32 "1pwkrm98vlpzsy5iwwfksdaz3zzyi7bvdf5fglhsn4ssf47p787g")))) (build-system emacs-build-system) (home-page "http://www.emacswiki.org/emacs/Iedit") (synopsis "Edit multiple regions in the same way simultaneously") @@ -4358,15 +4412,15 @@ state and will work even without lispy being enabled.") (package (name "emacs-clojure-mode") (version "5.6.1") - (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/clojure-emacs/clojure-mode/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1f4k1hncy5ygh4izn7mqfp744nnisrp9ywn2njknbjxx34ai1q88")))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/clojure-emacs/clojure-mode.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1qadymqzs5fn1sb347xzfw8lqq6s85vvkh4kzm35m61g5i2lm86y")))) (build-system emacs-build-system) (native-inputs `(("emacs-dash" ,emacs-dash) @@ -4387,15 +4441,15 @@ It is recommended to use @code{clojure-mode} with paredit or smartparens.") (package (name "emacs-epl") (version "0.8") - (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/cask/epl/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1511n3a3f5gvaf2b4nh018by61ciyzi3y3603fzqma7p9hrckarc")))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/cask/epl.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0sjxd5y5hxhrbgfkpwx6m724r3841b53hgc61a0g5zwispw5pmrr")))) (build-system emacs-build-system) (home-page "https://github.com/cask/epl") (synopsis "Emacs Package Library") @@ -4456,15 +4510,15 @@ be removed from the front. This type of data structure is sometimes called an (package (name "emacs-pkg-info") (version "0.6") - (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/lunaryorn/pkg-info.el/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1gy1jks5mmm02gg1c8gcyr4f8a9s5ggzhk56gv33b9mzjqzi5rd5")))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/lunaryorn/pkg-info.el.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0nk12dcppdyhav6m6yf7abpywyd7amxd4237zsfd32w4zxsx39k1")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-epl" ,emacs-epl))) (home-page "https://github.com/lunaryorn/pkg-info.el") @@ -4496,14 +4550,15 @@ ongoing operations.") (package (name "emacs-sparql-mode") (version "2.0.1") - (source (origin - (method url-fetch) - (uri (string-append "https://github.com/ljos/sparql-mode/archive/" - "v" version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1s93mkllxnhy7fw616cnnc2danacdlarys0g3cn89drh0llh53cv")))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ljos/sparql-mode.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0ywhqk6n5k0l85zjwbnrivnvxjzqipqrggv06lify6yv18qmyl6s")))) (build-system emacs-build-system) (home-page "https://github.com/ljos/sparql-mode") (synopsis "SPARQL mode for Emacs") @@ -4596,7 +4651,7 @@ E-Prime forbids the use of the \"to be\" form to strengthen your writing.") (uri (git-reference (url "https://github.com/JuliaEditorSupport/julia-emacs.git") (commit commit))) - (file-name (string-append name "-" version "-checkout")) + (file-name (git-file-name name version)) (sha256 (base32 "1is4dcv6blslpzbjcg8l2jpxi8xj96q4cm0nxjxsyswpm8bw8ki0")))) @@ -4637,14 +4692,15 @@ to all the other commands, too.") (package (name "emacs-js2-mode") (version "20190219") - (source (origin - (method url-fetch) - (uri (string-append "https://github.com/mooz/js2-mode/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1gv1vinp2avnnn6an8ffcx79vmsdjhhikz7s6cmphligb26qp2vi")))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/mooz/js2-mode.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0766bbr4piia9vfr4ivd2gwi8dxah654adv6h28ylz4q8xmfzm1b")))) (build-system emacs-build-system) (home-page "https://github.com/mooz/js2-mode/") (synopsis "Improved JavaScript editing mode for Emacs") @@ -4821,14 +4877,15 @@ If you want to mark a folder manually as a project just create an empty (package (name "emacs-elfeed") (version "3.0.0") - (source (origin - (method url-fetch) - (uri (string-append "https://github.com/skeeto/elfeed/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1wkdrxr6zzqb48czqqv34l87bx8aqjk1739ddqg933aqh241kfvn")))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/skeeto/elfeed.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "01x4ww63lvn04c7f3ab5vx2s20xqisvv8213qwswz7vr9nxja5yi")))) (build-system emacs-build-system) (arguments `(#:tests? #t @@ -4849,7 +4906,7 @@ and RSS, with a user interface inspired by notmuch.") (uri (git-reference (url "https://github.com/sigma/el-x.git") (commit (string-append "v" version)))) - (file-name (string-append name "-" version "-checkout")) + (file-name (git-file-name name version)) (sha256 (base32 "1i6j44ssxm1xdg0mf91nh1lnprwsaxsx8vsrf720nan7mfr283h5")))) @@ -4882,7 +4939,7 @@ provide the historic behavior of @code{flet}, as well as (uri (git-reference (url "https://github.com/sigma/mocker.el.git") (commit (string-append "v" version)))) - (file-name (string-append name "-" version "-checkout")) + (file-name (git-file-name name version)) (sha256 (base32 "1lav7am41v63xgavq8pr88y828jmd1cxd4prjq7jlbxm6nvrwxh2")))) @@ -4910,7 +4967,7 @@ maximizes flexibility (at the expense of conciseness).") (uri (git-reference (url "https://github.com/technomancy/find-file-in-project.git") (commit version))) - (file-name (string-append name "-" version "-checkout")) + (file-name (git-file-name name version)) (sha256 (base32 "1sdnyqv69mipbgs9yax88m9b6crsa59rjhwrih197pifl4089awr")))) @@ -4943,7 +5000,7 @@ functions to assist in reviewing changes on files.") (uri (git-reference (url "https://github.com/jorgenschaefer/pyvenv.git") (commit (string-append "v" version)))) - (file-name (string-append name "-" version "-checkout")) + (file-name (git-file-name name version)) (sha256 (base32 "1x052fsavb94x3scpqd6n9spqgzaahzbdxhg4qa5sy6hqsabn6zh")))) @@ -4974,7 +5031,7 @@ environments (virtualenv) inside Emacs.") (uri (git-reference (url "https://github.com/antonj/Highlight-Indentation-for-Emacs.git") (commit (string-append "v" version)))) - (file-name (string-append name "-" version "-checkout")) + (file-name (git-file-name name version)) (sha256 (base32 "00l54k75qk24a0znzl4ij3s3nrnr2wy9ha3za8apphzlm98m907k")))) @@ -4998,7 +5055,7 @@ indentation (space indentation only). (uri (git-reference (url "https://github.com/jorgenschaefer/elpy.git") (commit version))) - (file-name (string-append name "-" version "-checkout")) + (file-name (git-file-name name version)) (sha256 (base32 "073bwxwjzcbmvpcz9q2xjwzx9x7hkvjni6fwvikh6yawzjp56jis")))) @@ -5154,15 +5211,15 @@ window edge.") (package (name "emacs-writeroom") (version "3.7") - (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/joostkremers/writeroom-mode/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "0yqgp5h3kvvpgva4azakb2wnjl7gsyh45glf75crspv3xyq57f2r")))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/joostkremers/writeroom-mode.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "13nbls5qxz5z8firjxaip8m9vzfbbpxmwrmr01njbk4axpwrpj0z")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-visual-fill-column" ,emacs-visual-fill-column))) @@ -5293,15 +5350,15 @@ ack, ag, helm and pt.") (package (name "emacs-helm") (version "3.1") - (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/" name "/helm/archive/v" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "0ymykcsbcgq2kskqc0ddigg0kfznxx3j02mkd5r3c3n8gn3kgz84")))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/emacs-helm/helm.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1x3nv8zvp8vvl30bm2d83hd7zxb0ca64pc8kwb81ml9al6r3mm01")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-async" ,emacs-async) @@ -5322,16 +5379,15 @@ not tied in the trap of backward compatibility.") (package (name "emacs-helm-swoop") (version "1.7.4") - (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/ShingoFukuyama/helm-swoop/archive/" - version - ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1ssivsjzlnkg049cg993l8fp09l5nhpz6asj7w5c91zp5kpc6fh7")))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ShingoFukuyama/helm-swoop.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0b23j1bkpg4pm310hqdhgnl4mxsj05gpl08b6kb2ja4fzrg6adsk")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-helm" ,emacs-helm))) @@ -5346,16 +5402,15 @@ for search-based navigation of buffers.") (package (name "emacs-helm-projectile") (version "0.14.0") - (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/bbatsov/helm-projectile/archive/v" - version - ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "19cfmilqh8kbab3b2hmx6lyrj73q6vfmn3p730x95g23iz16mnd5")))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/bbatsov/helm-projectile.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0lph38p112fridighqcizpsyzjbv7qr3d8prbfj6w6q6gfl6cna4")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-dash" ,emacs-dash) @@ -5379,7 +5434,7 @@ for search-based navigation of buffers.") (uri (git-reference (url "https://github.com/abo-abo/helm-make.git") (commit commit))) - (file-name (string-append name "-" version "-checkout")) + (file-name (git-file-name name version)) (sha256 (base32 "1y2v77mmd1bfkkz51cnk1l0dg3lvvxc39wlamnm7wjns66dbvlam")))) @@ -5535,7 +5590,7 @@ news items, openrc and runscripts.") (uri (git-reference (url "https://github.com/emacs-evil/evil") (commit version))) - (file-name (string-append name "-" version "-checkout")) + (file-name (git-file-name name version)) (sha256 (base32 "1833w397xhac5g3pp25szr2gyvclxy91aw27azvbmsx94pyk2a3q")))) @@ -5562,7 +5617,7 @@ extensions.") (uri (git-reference (url "https://github.com/emacs-evil/evil-collection") (commit commit))) - (file-name (string-append name "-" version "-checkout")) + (file-name (git-file-name name version)) (sha256 (base32 "09v97nk7qawphfijzqxzi2y63ydmfq7hsgpljjxwkykrc5h0kdlj")))) @@ -5600,24 +5655,279 @@ go to the second most recent edit, etc. Negative argument, @kbd{C-u -}, is used for reverse direction.") (license license:gpl2+))) +(define-public emacs-janpath-evil-numbers + (let ((commit "d988041c1fe6e941dc8d591390750b237f71f524") + (version "0.5") + (revision "1")) + (package + (name "emacs-janpath-evil-numbers") + (version (git-version version revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/janpath/evil-numbers") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "16zixhxxcb83m82f2cfiardfn99j3w41v6vh1qk6j9pplrlfw70v")))) + (build-system emacs-build-system) + (propagated-inputs `(("emacs-evil" ,emacs-evil))) + (home-page "https://github.com/janpath/evil-numbers") + (synopsis "Increment and decrement numeric literals") + (description + "This package provides functionality to search for a number up to the +end of a line and increment or decrement it.") + (license license:gpl3+)))) + +(define-public emacs-evil-exchange + (let ((commit "47691537815150715e64e6f6ec79be7746c96120") + (version "0.41") + (revision "1")) + (package + (name "emacs-evil-exchange") + (version (git-version version revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Dewdrops/evil-exchange") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0bjpn4yqig17ddym6wqq5fm1b294q74hzcbj9a6gs97fqiwf88xa")))) + (build-system emacs-build-system) + (propagated-inputs `(("emacs-evil" ,emacs-evil))) + (home-page "https://github.com/Dewdrops/evil-exchange") + (synopsis "Exchange text easily within Evil") + (description + "This package, a port of @code{vim-exchange}, provides an Evil operator +for exchanging text.") + (license license:gpl3+)))) + +(define-public emacs-evil-replace-with-register + (let ((commit "91cc7bf21a94703c441cc9212214075b226b7f67") + (version "0.1") + (revision "1")) + (package + (name "emacs-evil-replace-with-register") + (version (git-version version revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Dewdrops/evil-ReplaceWithRegister") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "14rpn76qrf287s3y2agmddcxi27r226i53ixjvd694ss039g0r11")))) + (build-system emacs-build-system) + (propagated-inputs `(("emacs-evil" ,emacs-evil))) + (home-page "https://github.com/Dewdrops/evil-ReplaceWithRegister") + (synopsis "Quickly replace text with the contents of a register") + (description + "This package provides an Evil operator for replacing text with the +contents of a register.") + (license license:gpl3+)))) + +(define-public emacs-evil-indent-plus + (let ((commit "0c7501e6efed661242c3a20e0a6c79a6455c2c40") + (version "1.0.0") + (revision "1")) + (package + (name "emacs-evil-indent-plus") + (version (git-version version revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/TheBB/evil-indent-plus") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1g6r1ydscwjvmhh1zg4q3nap4avk8lb9msdqrh7dff6pla0r2qs6")))) + (build-system emacs-build-system) + (propagated-inputs `(("emacs-evil" ,emacs-evil))) + (home-page "https://github.com/TheBB/evil-indent-plus") + (synopsis "Text objects based on indentation") + (description + "This package adds new text objects for @code{evil-mode} based on +blocks having the same or higher indentation, including or excluding +surrounding lines.") + (license license:gpl2+)))) + +(define-public emacs-evil-text-object-python + (let ((commit "9a064fe6475429145cbcc3b270fcc963b67adb15") + (version "1.0.1") + (revision "1")) + (package + (name "emacs-evil-text-object-python") + (version (git-version version revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/wbolster/evil-text-object-python") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "074zpm6mmr1wfl6d5xdf8jk1fs4ccpbzf4ahhkwga9g71xiplszv")))) + (build-system emacs-build-system) + (propagated-inputs `(("emacs-evil" ,emacs-evil))) + (home-page "https://github.com/wbolster/evil-text-object-python") + (synopsis "Text objects for Python") + (description + "This package provides @code{evil-mode} text objects for Python.") + (license license:gpl3+)))) + +(define-public emacs-evil-lion + (let ((commit "6b03593f5dd6e7c9ca02207f9a73615cf94c93ab") + (version "0.0.2") + (revision "1")) + (package + (name "emacs-evil-lion") + (version (git-version version revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/edkolev/evil-lion") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1a162hynp0jcsn50c1w5a02mrw9w3q05c7lkqzqd25px3d0p772q")))) + (build-system emacs-build-system) + (propagated-inputs `(("emacs-evil" ,emacs-evil))) + (home-page "https://github.com/edkolev/evil-lion") + (synopsis "Align operator for @code{evil-mode}") + (description + "This package, a port of @code{vim-lion}, provides an operator for +aligning text objects based on separators.") + (license license:gpl3+)))) + +(define-public emacs-evil-expat + (let ((commit "4c344ea19b789002d759a202ffbf594730d2c59a") + (version "0.0.1") + (revision "1")) + (package + (name "emacs-evil-expat") + (version (git-version version revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/edkolev/evil-expat") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "16v7fnldxag6l1lsnrnhdjkga9qi78lbdfbb82k6pmv04991mbkr")))) + (build-system emacs-build-system) + (propagated-inputs `(("emacs-evil" ,emacs-evil))) + (home-page "https://github.com/edkolev/evil-expat") + (synopsis "Extra @code{ex} commands for @code{evil-mode}") + (description + "This package provides additional commands for the @code{ex} command +line, including functions for version control with Git and for copying and +pasting into and from @code{tmux} paste buffers.") + (license license:gpl3+)))) + +(define-public emacs-evil-nerd-commenter + (package + (name "emacs-evil-nerd-commenter") + (version "3.3.6") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/redguardtoo/evil-nerd-commenter") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0074i9lvfs5hkbf63g1xh3n7dbmkax30bppkx2cd394c7zlsvzzk")))) + (build-system emacs-build-system) + (propagated-inputs `(("emacs-evil" ,emacs-evil))) + (home-page "https://github.com/redguardtoo/evil-nerd-commenter") + (synopsis "Comment and uncomment lines efficiently") + (description + "This package provides text objects and operators for comments within +@code{evil-mode}.") + (license license:gpl3+))) + +(define-public emacs-evil-visual-replace + (package + (name "emacs-evil-visual-replace") + (version "0.0.5") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/troyp/evil-visual-replace") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1gfyrq7xfzmzh3x8k5f08n027dlbwi0pkkxf9c39fkxp4jngibsz")))) + (build-system emacs-build-system) + (propagated-inputs `(("emacs-evil" ,emacs-evil))) + (home-page "https://github.com/troyp/evil-visual-replace") + (synopsis "Replacement commands for @code{evil-mode} visual blocks") + (description + "This package provides versions of @code{query-replace} and +@code{replace-regexp} that work for @code{evil-mode} visual blocks.") + (license license:gpl2+))) + +(define-public emacs-evil-visualstar + (let ((commit "06c053d8f7381f91c53311b1234872ca96ced752") + (version "0.0.2") + (revision "1")) + (package + (name "emacs-evil-visualstar") + (version (git-version version revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/bling/evil-visualstar") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0mkbzw12fav945icibc2293m5haxqr3hzkyli2cf4ssk6yvn0x4c")))) + (build-system emacs-build-system) + (propagated-inputs `(("emacs-evil" ,emacs-evil))) + (home-page "https://github.com/bling/evil-visualstar") + (synopsis "Instantly search using the visual selection") + (description + "This package provides @code{evil-mode} functions for using selected text +to search.") + (license license:gpl3+)))) + (define-public emacs-monroe (package (name "emacs-monroe") (version "0.3.1") (source - (origin - (method url-fetch) - (uri (string-append "https://github.com/sanel/monroe/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "0icdx8shkd951phlnmcq1vqaxp1l667q5rjscskc5r22aylakh4w")))) + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/sanel/monroe.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "101lfrykdbv37spkbw7zihhx26bc1lhjyxbanrcp9880bxj04jiy")))) (build-system emacs-build-system) (home-page "https://github.com/sanel/monroe") (synopsis "Clojure nREPL client for Emacs") (description - "Monroe is a nREPL client for Emacs, focused on simplicity and easy + "Monroe is a nREPL client for Emacs, focused on simplicity and easy distribution, primarily targeting Clojure users") (license license:gpl3+))) @@ -5812,7 +6122,7 @@ known loosely as deftheme. Many mode-specific customizations are included.") (uri (git-reference (url home-page) (commit commit))) - (file-name (string-append name "-" version "-checkout")) + (file-name (git-file-name name version)) (sha256 (base32 "0s6rbsb0y8i8m5b9xm4gw1p1cxsxdqnqxqqb638pygz9f76mbir1")))) @@ -5840,7 +6150,7 @@ known loosely as deftheme. Many mode-specific customizations are included.") (uri (git-reference (url "https://github.com/djcb/dream-theme") (commit commit))) - (file-name (string-append name "-" version "-checkout")) + (file-name (git-file-name name version)) (sha256 (base32 "0za18nfkq4xqm35k6006vsixcbmvmxqgma4iw5sw37h8vmcsdylk")))) @@ -5884,14 +6194,13 @@ extensibility.") (version "1.1.9") (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/ajc/nginx-mode/archive/v" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/ajc/nginx-mode.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 - (base32 - "0bzyrj6zz1hm67bkhw23bam7qc869s3zg7m1rb1c3aa4n0aw90cq")))) + (base32 "17dh5pr3gh6adrbqx588gimxbb2fr7iv2qrxv6r48w2727l344xs")))) (build-system emacs-build-system) (home-page "https://github.com/ajc/nginx-mode") (synopsis "Emacs major mode for editing nginx config files") @@ -5947,14 +6256,13 @@ procedures for emacs-lisp-mode.") (version "2.2") (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/Wilfred/ht.el/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/Wilfred/ht.el.git") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 - "0fsi27gdrh2dgwdbq43vnw5sz25war6shlxaclr60fl7krpxjkzf")))) + (base32 "1p3qa7g0wa0wbviv2f8bda39cjys3naayk5xjm3nxxmqsyy8papx")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-dash" ,emacs-dash))) (home-page "https://github.com/Wilfred/ht.el") @@ -5970,14 +6278,13 @@ provides functions to convert hash tables from and to alists and plists.") (version "0.3.0") (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/aki2o/log4e/archive/v" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/aki2o/log4e.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 - (base32 - "0nbdpbw353snda3v19l9hsm6gimppwnpxj18amm350bm81lyim2g")))) + (base32 "1l28n7a0v2zkknc70i1wn6qb5i21dkhfizzk8wcj28v44cgzk022")))) (build-system emacs-build-system) (arguments `(#:phases @@ -6001,14 +6308,13 @@ you to deal with multiple log levels.") (version "0.1") (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/tekai/gntp.el/archive/v" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/tekai/gntp.el.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 - (base32 - "16c1dfkia9yhl206bdhjr3b8kfvqcqr38jl5lq8qsyrrzsnmghny")))) + (base32 "1nvyjjjydrimpxy4cpg90si7sr8lmldbhlcm2mx8npklp9pn5y3a")))) (build-system emacs-build-system) (home-page "https://github.com/tekai/gntp.el") (synopsis "Growl Notification Protocol for Emacs") @@ -6025,14 +6331,13 @@ notifications.") (version "1.2") (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/jwiegley/alert/archive/v" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/jwiegley/alert.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 - (base32 - "1693kck3k2iz5zhpmxwqyafxm68hr6gzs60lkxd3j1wlp2c9fwyr")))) + (base32 "1vpc3q40m6dcrslki4bg725j4kv6c6xfxwjjl1ilg7la49fwwf26")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-gntp" ,emacs-gntp) @@ -6080,14 +6385,13 @@ is, in effect, a (typically) noncontiguous set of text.") (version "1.0") (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/iqbalansari/mu4e-alert/archive/v" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/iqbalansari/mu4e-alert.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 - (base32 - "07qc834qnxn8xi4bw5nawj8g91bmkzw0r0vahkgysp7r9xrf57gj")))) + (base32 "1nvsfbfsma59ilf7c3vjngnmx3aapwvvvaafdy5szm5r6lkicqvg")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-alert" ,emacs-alert) @@ -6166,7 +6470,7 @@ abbreviation and automatically expand it into function templates.") (uri (git-reference (url "https://github.com/AndreaCrotti/yasnippet-snippets") (commit commit))) - (file-name (string-append name "-" version "-checkout")) + (file-name (git-file-name name version)) (sha256 (base32 "1m935zgglw0iakzrixld5rcjz3wnj84f8wy2mvc3pggjri9l0qr9")))) @@ -6212,7 +6516,7 @@ To make YASnippet aware of these snippets, add the above directory to (uri (git-reference (url "https://github.com/emacs-jp/helm-c-yasnippet") (commit commit))) - (file-name (string-append name "-" version "-checkout")) + (file-name (git-file-name name version)) (sha256 (base32 "1cbafjqlzxbg19xfdqsinsh7afq58gkf44rsg1qxfgm8g6zhr7f8")))) @@ -6274,14 +6578,13 @@ above over the network.") (version "1.1") (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/skeeto/emacs-memoize/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/skeeto/emacs-memoize.git") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 - "05ijgwi4ymxx31vpjm2pn356j85cykknajn14lrzz8pn5sh0vrg4")))) + (base32 "04qgnlg4x6va7x364dhj1wbjmz8p5iq2vk36mn9198k2vxmijwzk")))) (build-system emacs-build-system) (arguments `(#:tests? #t @@ -6300,14 +6603,13 @@ memoizing functions.") (version "0.5") (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/coldnew/linum-relative/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/coldnew/linum-relative.git") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 - "0s4frvr27866lw1rn3jal9wj5rkz9fx4yiszqv7w06azsdgsqksv")))) + (base32 "11bjnqqwvr9zrvz5dlm8a0yw4zg9ysh3jdiq5a6iw09d3f0h1v2s")))) (build-system emacs-build-system) (home-page "https://github.com/coldnew/linum-relative") (synopsis "Relative line numbering for Emacs") @@ -6321,14 +6623,13 @@ number on the left margin in Emacs.") (version "1.1.3") (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/nonsequitur/idle-highlight-mode/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/nonsequitur/idle-highlight-mode.git") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 - "0kdv10hrgqpskjh0zvpnzwlkn5bccnqxas62gkws6njln57bf8nl")))) + (base32 "0x4w1ksrw7dicl84zpf4d4scg672dyan9g95jkn6zvri0lr8xciv")))) (build-system emacs-build-system) (home-page "https://www.emacswiki.org/emacs/IdleHighlight") (synopsis "Highlights all occurrences of the word the point is on") @@ -6344,14 +6645,13 @@ number on the left margin in Emacs.") (version "1.1.1") (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/marsmining/ox-twbs/archive/v" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/marsmining/ox-twbs.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 - (base32 - "1zaq8dczq5wijjk36114k2x3hfrqig3lyx6djril6wyk67vczyqs")))) + (base32 "0kd45p8y7ykadmai4jn1x1pgpafyqggwb1ccbjzalxw4k9wmd45f")))) (build-system emacs-build-system) (home-page "https://github.com/marsmining/ox-twbs") (synopsis "Export org-mode docs as HTML compatible with Twitter Bootstrap") @@ -6368,14 +6668,13 @@ jQuery and Bootstrap resources included via osscdn.") (version "1.0") (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/daimrod/highlight-sexp/archive/v" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/daimrod/highlight-sexp.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 - (base32 - "0jwx87qkln1rg9wmv4qkgkml935fh2pkgrg5x4ca6n5dgb4q6rj1")))) + (base32 "12cyk2q5g6p4ac2hykw1cag7dp1prjjnck5f7nalwwaklmy62y79")))) (build-system emacs-build-system) (home-page "https://github.com/daimrod/highlight-sexp") (synopsis "Minor mode that highlights the s-exp at the current position") @@ -6395,7 +6694,7 @@ jQuery and Bootstrap resources included via osscdn.") (uri (git-reference (url "https://github.com/zk-phi/highlight-stages.git") (commit commit))) - (file-name (string-append name "-" version "-checkout")) + (file-name (git-file-name name version)) (sha256 (base32 "0r6nbcrr0dqpgm8dir8ahzjy7rw4nrac48byamzrq96r7ajlxlv0")) @@ -6542,14 +6841,13 @@ the hunks and revert them selectively.") (version "0.45") (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/myrjola/diminish.el/archive/v" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/myrjola/diminish.el.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 - (base32 - "0i3629sv5cfrrb00hcnmaqzgs8mk36yasc1ax3ry1ga09nr6rkj9")))) + (base32 "0qpgfgp8hrzz4vdifxq8h25n0a0jlzgf7aa1fpy6r0080v5rqbb6")))) (build-system emacs-build-system) (home-page "https://github.com/myrjola/diminish.el") (synopsis "Diminish minor modes with no modeline display") @@ -6598,7 +6896,7 @@ performance-oriented and tidy.") (uri (git-reference (url "https://github.com/pkmoore/strace-mode") (commit commit))) - (file-name (string-append name "-" version "-checkout")) + (file-name (git-file-name name version)) (sha256 (base32 "1lbk2kzdznf2bkfazizfbimaxxzfzv00lrz1ran9dc2zqbc0bj9f")))) @@ -6642,14 +6940,13 @@ source file, @file{jl-encrypt.el}.") (version "1.53") (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/hniksic/emacs-htmlize/archive/release/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/hniksic/emacs-htmlize.git") + (commit (string-append "release/" version)))) + (file-name (git-file-name name version)) (sha256 - (base32 - "1lzaf9m1qr9dhw4nn53g6wszk2vqw95gpsbrc3y85bams4cn24ga")))) + (base32 "0dr235c0z8is3pi5xdgqyqljg6px0b2aya6qb79zkyi477bmz4ip")))) (build-system emacs-build-system) (home-page "https://github.com/hniksic/emacs-htmlize") (synopsis "Convert buffer text and decorations to HTML") @@ -6664,14 +6961,13 @@ fonts is supported.") (version "0.5") (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/philjackson/xmlgen/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/philjackson/xmlgen.git") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 - "0zay490vjby3f7455r0vydmjg7q1gwc78hilpfb0rg4gwz224z8r")))) + (base32 "096i29v0badx0a6339h9ckdz78zj59gbjdp7vj7vhkq9d830392s")))) (build-system emacs-build-system) (arguments `(#:tests? #t @@ -6691,14 +6987,13 @@ conversion for Emacs Lisp.") (version "4.7") (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/cdominik/cdlatex/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/cdominik/cdlatex.git") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 - "0pivapphmykc6vhvpx7hdyl55ls37vc4jcrxpvs4yk7jzcmwa9xp")))) + (base32 "1jj9vmhc4s3ych08bjm1c2xwi81z1p20rj7bvxrgvb5aga2ghi9d")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-auctex" ,emacs-auctex))) @@ -6716,15 +7011,15 @@ constructs.") (package (name "emacs-cnfonts") (version "0.9.1") - (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/tumashu/cnfonts/archive/v" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1l6cgcvc6md1zq97ccczankpyi0k4vjx6apflny6kjq3p33lyhf4")))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/tumashu/cnfonts.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "11d44lf0m0kbzq1mvyqkl4aprys0xqaarp08nij57xnynin1rynx")))) (build-system emacs-build-system) (home-page "https://github.com/tumashu/cnfonts") (synopsis "Emacs Chinese fonts setup tool") @@ -6759,15 +7054,15 @@ browser.") (package (name "emacs-pos-tip") (version "0.4.6") - (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/pitkali/pos-tip/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "12jqfy26vjk7lq0aa8yn8zqj8c85fkvx7y9prj0pcn4wqiz2ad2r")))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/pitkali/pos-tip.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0w8bnspnk871qndp18hs0wk4x9x31xr9rwbvf5dc8mcbnj29ch33")))) (build-system emacs-build-system) ;; The following functions and variables needed by emacs-pos-tip are ;; not included in emacs-minimal: @@ -6785,15 +7080,15 @@ function to be used by other frontend programs.") (package (name "emacs-pyim-basedict") (version "0.3.1") - (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/tumashu/pyim-basedict/archive/v" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "0nfgxviavkgrpyfsw60xsws4fk51fcmgl8fp6zf4ibqjjbp53n3n")))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/tumashu/pyim-basedict.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0576r8ap9gp91ycjf1d47pn13kxp0f9fysn09zlq44hr0s1y2y5d")))) (build-system emacs-build-system) (home-page "https://github.com/tumashu/pyim-basedict") (synopsis "Input method dictionary of pyim") @@ -6853,15 +7148,15 @@ posframe is a child frame displayed within its root window's buffer. (package (name "emacs-el2org") (version "0.6.0") - (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/tumashu/el2org/archive/v" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "0gd3km1swwvg2w0kdi7370f54wgrflxn63gjgssfjc1iyc9sbqwq")))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/tumashu/el2org.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0mzddqny6wpg1fv99xrvlv7rxmaifvmy5bvj4in4pldhm4cx4q1b")))) (build-system emacs-build-system) (home-page "https://github.com/tumashu/el2org") (synopsis "Convert Emacs-lisp file to org file") @@ -6873,15 +7168,15 @@ to org file, you can use this tool to write orgify commentary.") (package (name "emacs-mustache") (version "0.23") - (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/Wilfred/mustache.el/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "0k9lcgil7kykkv1ylrgwy1g13ldjjmgi2cwmysgyb2vlj3jbwpdj")))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Wilfred/mustache.el.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1n2ymd92qpvsby6ms0l3kjhdzzc47rri2aiscc6bs07hm4mjpr9q")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-dash" ,emacs-dash) @@ -6900,15 +7195,15 @@ and lambdas.") (package (name "emacs-org2web") (version "0.9.1") - (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/tumashu/org2web/archive/v" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1c0ixcphlhp4c4qdiwq40bc3yp1gp1llp8pxrk4s7ny9n68s52zp")))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/tumashu/org2web.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0wsvfn409a2ivbich8b8zqza78sprirg4bl7igx536ydqclmi0n7")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-dash" ,emacs-dash) @@ -7125,14 +7420,13 @@ on mouse-control.") (version "0.7.0") (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/bruceravel/gnuplot-mode/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/bruceravel/gnuplot-mode.git") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 - "0glzymrn138lwig7p4cj17x4if5jisr6l4g6wcbxisqkqgc1h01i")))) + (base32 "0bwri3cvm2vr27kyqkrddm28fs08axnd4nm9amfgp54xp20bn4yn")))) (build-system gnu-build-system) (native-inputs `(("emacs" ,emacs-minimal))) (arguments @@ -7207,14 +7501,13 @@ pressed simultaneously or a single key quickly pressed twice.") (version "1.0.0") (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/timcharper/evil-surround/archive/v" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/timcharper/evil-surround.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 - (base32 - "0p572jgic3q1ia1nz37kclir729ay6i2f4sa7wnaapyxly2lwb3r")))) + (base32 "1smv7sqhm1l2bi9fmispnlmjssidblwkmiiycj1n3ag54q27z031")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-evil" ,emacs-evil))) @@ -7230,14 +7523,13 @@ addition of surrounding pairs, such as parantheses and quotes, in evil mode.") (version "2.1.1") (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/linktohack/evil-commentary/archive/v" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/linktohack/evil-commentary.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 - (base32 - "1jdya0i921nwskwrzdsj0vrr3m7gm49dy6f6pk9p5nxaarfxk230")))) + (base32 "0zjs9zyqfygnpxapvf0ymmiid40i06cxbhjzd81zw33nafgkf6r4")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-evil" ,emacs-evil))) @@ -7256,13 +7548,13 @@ lines, and @code{gc} to comment out the target of a motion.") (version "0.4.1") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/rejeep/ansi.el/archive/v" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/rejeep/ansi.el.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 - (base32 - "13jj4vbi98j3p17hs99bmy7g21jd5h4v3wpxk4pkvhylm3bfwjw8")))) + (base32 "1hbddxarr40ygvaw4pwaivq2l4f0brszw73w1r50lkjlggb7bl3g")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-dash" ,emacs-dash) @@ -7283,13 +7575,13 @@ as bold, underscore or italic.") (version "0.7.0") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/rejeep/commander.el/archive/v" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/rejeep/commander.el.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 - (base32 - "196s2i15z7gwxa97l1wkxvjnfmj5n38wwm6d3g4zz15l2vqggc2y")))) + (base32 "1j6hhyzww7wfwk6bllbb5mk4hw4qs8hsgfbfdifsam9c6i4spm45")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-dash" ,emacs-dash) @@ -7366,14 +7658,13 @@ running tests easier.") (version "0.2") (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/purcell/disable-mouse/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/purcell/disable-mouse.git") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 - "0haqpq23r1wx04lsqrrg3p5visg9hx5i36dg55ab003wfsrlrzbc")))) + (base32 "1v1y5hf6k6ng7xsvgb27nh740d14m6l4krr0paccda8zgm4mw357")))) (build-system emacs-build-system) (home-page "https://github.com/purcell/disable-mouse") (synopsis "Disable mouse commands globally") @@ -7389,13 +7680,13 @@ running a customisable handler command (@code{ignore} by default). ") (version "0.0.6") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/gongo/json-reformat/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/gongo/json-reformat.git") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 - "11fbq4scrgr7m0iwnzcrn2g7xvqwm2gf82sa7zy1l0nil7265p28")) + (base32 "0qp4n2k6s69jj4gwwimkpadjv245y54wk3bxb1x96f034gkp81vs")) (patches (search-patches "emacs-json-reformat-fix-tests.patch")))) (build-system emacs-build-system) (propagated-inputs @@ -7409,6 +7700,10 @@ running a customisable handler command (@code{ignore} by default). ") #:test-command '("ert-runner") #:phases (modify-phases %standard-phases + (add-before 'check 'make-tests-writable + (lambda _ + (for-each make-file-writable (find-files "test")) + #t)) (add-before 'check 'delete-json-objects-order-test (lambda _ (emacs-batch-edit-file "test/json-reformat-test.el" @@ -7431,13 +7726,13 @@ running a customisable handler command (@code{ignore} by default). ") (version "1.0.0") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/Sterlingg/json-snatcher/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/Sterlingg/json-snatcher.git") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 - "1nfiwsifpdiz0lbrqa77nl0crnfrv5h85ans9b0g5rggnmyshcfb")))) + (base32 "05zsgnk7grgw9jzwl80h5sxfpifxlr37b4mkbvx7mjq4z14xc2jw")))) (build-system emacs-build-system) (home-page "https://github.com/sterlingg/json-snatcher") (synopsis "Grabs the path to JSON values in a JSON file") @@ -7451,13 +7746,13 @@ a @url{http://json.org/, JSON} file.") (version "1.7.0") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/joshwnj/json-mode/archive/" - "v" version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/joshwnj/json-mode.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 - (base32 - "06h45p4cn767pk9sqi2zb1c65wy5gyyijqxzpglp80zwxhvajdz5")))) + (base32 "0i79lqzdg59vkqwjd3q092xxn9vhxspb1vn4pkis0vfvn46g01jy")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-json-reformat" ,emacs-json-reformat) @@ -7547,7 +7842,7 @@ the actual transformations.") (uri (git-reference (url "https://github.com/Fuco1/dired-hacks.git") (commit commit))) - (file-name (string-append name "-" version "-checkout")) + (file-name (git-file-name name version)) (sha256 (base32 "1g7mky41cahpryzj6frdgzdymknpqq7pidzfjj9304887kijmhj3")))) @@ -7606,14 +7901,13 @@ or @code{treemacs}, but leveraging @code{Dired} to do the job of display.") (version "3.3.1") (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/justbur/emacs-which-key/archive/v" - version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/justbur/emacs-which-key.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 - (base32 - "1g8k0js21bc8mlw6hvmg93zgfjhil77c30cv1hf85y4qb9ldvika")) - (file-name (string-append name "-" version ".tar.gz")))) + (base32 "1dh6kr00wmql46whjkvnl953zngiv5j99ypvr1b3cb2174623afb")))) (build-system emacs-build-system) (arguments `(#:tests? #t @@ -7640,7 +7934,7 @@ settings).") (uri (git-reference (url "https://github.com/lewang/ws-butler.git") (commit "323b651dd70ee40a25accc940b8f80c3a3185205"))) - (file-name (string-append name "-" version "-checkout")) + (file-name (git-file-name name version)) (sha256 (base32 "1a4b0lsmwq84qfx51c5xy4fryhb1ysld4fhgw2vr37izf53379sb")))) @@ -7663,14 +7957,13 @@ characters from end of lines.") (version "0.8.0") (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/et2010/org-edit-latex/archive/v" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/et2010/org-edit-latex.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 - (base32 - "1y4h6wrs8286h9pbsv4d8fr67a885vz8b2k80qgv5qddipi2i78p")))) + (base32 "0zcllyhx9n9vcr5w87h0hfz25v52lvh5fi717cb7mf3jh89zh842")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-auctex" ,emacs-auctex) @@ -7688,15 +7981,15 @@ src block.") (package (name "emacs-emamux") (version "0.14") - (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/syohex/emacs-emamux/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "0wlqg4icy037bj70b0qmhvwvmiwhagpnx6pnxhq6gzy1hvwlilkx")))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/syohex/emacs-emamux.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "19y69qw79miim9cz5ji54gwspjkcp9g2c1xr5s7jj2fiabnxax6b")))) (build-system emacs-build-system) (home-page "https://github.com/syohex/emacs-emamux") (synopsis "Manipulate Tmux from Emacs") @@ -7734,14 +8027,13 @@ editing RPM spec files.") (version "0.18") (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/syohex/emacs-git-messenger/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/syohex/emacs-git-messenger.git") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 - "17mqki6g0wx46fn7dcbcc2pjxik7vvrcb1j9jzxim8b9psbsbnp9")))) + (base32 "04fnby2nblk8l70gv09asxkmnn53fh1pdfs77ix44npp99fyw8ix")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-popup" ,emacs-popup))) @@ -7763,13 +8055,13 @@ internally.") (version "0.5.0") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/tumashu/gitpatch/archive/" - "v" version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/tumashu/gitpatch.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 - (base32 - "1yj6pmic541lcnscjin300k380qp9xdfprs55xg1q57jrkq6f6k7")))) + (base32 "1jj12pjwza6cq8a3kr8nqnmm3vxs0wam8h983irry4xr4ifywsn4")))) (build-system emacs-build-system) (home-page "https://github.com/tumashu/gitpatch") (synopsis "Mail git patch from Emacs") @@ -7811,13 +8103,13 @@ the nick color and the background color (version "2.0.0") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/hrs/engine-mode/archive/" - "v" version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/hrs/engine-mode.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 - (base32 - "1vm4p7pcp1vnwwxvps1bhm7i7hkabqqxl898knxf2hqvxys76684")))) + (base32 "02xas46nl28mascqsyr1zcd4hn15bh0fjv2xlxv1kmrj0pis94ml")))) (build-system emacs-build-system) (synopsis "Minor mode for defining and querying search engines") (description "@code{engine-mode} is a global minor mode for Emacs. It @@ -7889,14 +8181,13 @@ Idris.") (version "0.10.0") (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/rmuslimov/browse-at-remote/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/rmuslimov/browse-at-remote.git") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 - "0ymslsp6i1naw25zckv25bf4aaq6qwkbkn95qyzlwg869l802686")))) + (base32 "0vhia7xmszcb3lxrb8wh93a3knjfzj48h8nhj4fh8zj1pjz6args")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-f" ,emacs-f) @@ -7979,7 +8270,7 @@ well as Github-style emojis like @code{:smile:}. It provides a minor mode (uri (git-reference (url "https://github.com/ahyatt/emacs-websocket.git") (commit version))) - (file-name (string-append name "-" version "-checkout")) + (file-name (git-file-name name version)) (sha256 (base32 "1dgrf7na6r6mmkknphzshlbd5fnzisg0qn0j7vfpa38wgsymaq52")))) @@ -8110,25 +8401,28 @@ messaging service.") (version "2.1.0") (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/szermatt/emacs-bash-completion/archive/v" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/szermatt/emacs-bash-completion.git") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 - "1z0qck3v3ra6ivacn8n04w1v33a4xn01xx860761q31qzsv3sksq")))) + (base32 "1a1wxcqzh0javjmxwi3lng5i99xiylm8lm04kv4q1lh9bli6vmv0")))) (inputs `(("bash" ,bash))) (build-system emacs-build-system) (arguments - `(#:phases - (modify-phases %standard-phases - (add-before 'install 'configure - (lambda* (#:key inputs #:allow-other-keys) - (let ((bash (assoc-ref inputs "bash"))) - (emacs-substitute-variables "bash-completion.el" - ("bash-completion-prog" (string-append bash "/bin/bash")))) - #t))))) + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'make-git-checkout-writable + (λ _ + (for-each make-file-writable (find-files ".")) + #t)) + (add-before 'install 'configure + (lambda* (#:key inputs #:allow-other-keys) + (let ((bash (assoc-ref inputs "bash"))) + (emacs-substitute-variables "bash-completion.el" + ("bash-completion-prog" (string-append bash "/bin/bash")))) + #t))))) (home-page "https://github.com/szermatt/emacs-bash-completion") (synopsis "Bash completion for the shell buffer") (description @@ -8181,15 +8475,15 @@ in a generalized CSV (character-separated values) format.") (package (name "emacs-transmission") (version "0.12.1") - (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/holomorph/transmission/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1rrlgn96gi1ljfwbwvlyyxbq75xzamlbdhq1bpyadxxmxcvlmk3n")))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/holomorph/transmission.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0kvg2gawsgy440x1fsl2c4pkxwp3zirq9rzixanklk0ryijhd3ry")))) (build-system emacs-build-system) (home-page "https://github.com/holomorph/transmission") (synopsis "Emacs interface to a Transmission session") @@ -8272,31 +8566,25 @@ for external literate programming tools for exporting, weaving and tangling.") (package (name "eless") (version "0.3") - (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/kaushalmodi/eless/archive/" - "v" version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "0gjnnhgw5xs1w3qfnkvwa2nv44gnxr8pkhx3c7qig45p8nh1461h")))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/kaushalmodi/eless.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0jr7vhh4vw69llhi0fh9ljscljkszkj0acdxl04da5hvqv6pnqbb")))) (build-system trivial-build-system) (inputs `(("bash" ,bash))) - (native-inputs - `(("tar" ,tar) - ("gzip" ,gzip))) (arguments `(#:modules ((guix build utils)) #:builder (begin (use-modules (guix build utils)) - (setenv "PATH" (string-append - (assoc-ref %build-inputs "tar") "/bin" ":" - (assoc-ref %build-inputs "gzip") "/bin")) - (invoke "tar" "xvf" (assoc-ref %build-inputs "source")) - (chdir (string-append "eless" "-" ,version)) + (copy-recursively (assoc-ref %build-inputs "source") "source") + (chdir "source") (substitute* "eless" (("/usr/bin/env bash") (string-append (assoc-ref %build-inputs "bash") "/bin/bash"))) @@ -8332,14 +8620,13 @@ Feautures: (version "2.2.9") (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/redguardtoo/evil-matchit/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/redguardtoo/evil-matchit.git") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 - "1i5a7szl0m3xnqyjq6zhg5j68x9fgf9ffxghj918c4brj4436sjb")))) + (base32 "12if45pxfndy3d7r4gd3zx4d3jk4d64fdmwkhc3y5zhqq9h9iy4c")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-evil" ,emacs-evil))) @@ -8356,14 +8643,13 @@ evil mode using @kbd{%}. It is a port of @code{matchit} for Vim.") (version "0.4.0") (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/expez/evil-smartparens/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/expez/evil-smartparens.git") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 - "1bwzdd3054d407d5j4m3njsbvmc9r8zzp33m32pj3b3irxrl68q0")))) + (base32 "1di4qz5fbrlwbg16c2j0m7y8zqfxw027qd7zqmc3rwk9znbhg7wl")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-evil" ,emacs-evil) @@ -8381,13 +8667,13 @@ emulates Vim features and provides Vim-like key bindings.") (version "0.1.4") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/blorbx/evil-quickscope/archive/v" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/blorbx/evil-quickscope.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 - (base32 - "1r26a412mmar7vbf89zcifswiwpdg30mjzj32xdyqss57aqi83ma")))) + (base32 "1ja9ggj70wf0nmma4xnc1zdzg2crq9h1cv3cj7cgwjmllflgkfq7")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-evil" ,emacs-evil))) @@ -8410,14 +8696,13 @@ features and provides Vim-like key bindings.") (version "1.0") (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/dbrock/bongo/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/dbrock/bongo.git") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 - "1pcsyyrvj7djjjwpaswd1i782hvqvlvs39cy9ns0k795si6xd64d")))) + (base32 "1q3ws2vn062dh7ci6jn2k2bcn7szh3ap64sgwkzdd6f1pas37fnr")))) (build-system emacs-build-system) (home-page "https://github.com/dbrock/bongo") (synopsis "Media player for Emacs") @@ -8525,7 +8810,7 @@ formatting rules for that language.") (uri (git-reference (url "https://github.com/nicferrier/emacs-kv.git") (commit "721148475bce38a70e0b678ba8aa923652e8900e"))) - (file-name (string-append name "-" version "-checkout")) + (file-name (git-file-name name version)) (sha256 (base32 "0r0lz2s6gvy04fwnafai668jsf4546h4k6zd6isx5wpk0n33pj5m")))) @@ -8641,40 +8926,34 @@ Features: (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")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/cute-jumper/epipe.git") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 - "05a036852g4j63k1mhvyfrcsgkl9lczayi7x61570ysw3cli5wp5")))) + (base32 "0lkisi1s7sn12nx8zh58qmsxwnk1rjwryj18wcbr148xqz3swg57")))) (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")) - (invoke "tar" "xvf" (assoc-ref %build-inputs "source")) - (chdir (string-append ,name "-" ,version)) - ;; Patch shebangs + ;; Extract source. + (copy-recursively (assoc-ref %build-inputs "source") "source") + (chdir "source") + ;; 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 + ;; Install. (for-each (lambda (file) (install-file file (string-append %output "/bin"))) '("epipe" "epipe.pl")) @@ -8691,14 +8970,13 @@ the pipeline, featuring the support for running @code{emacsclient}.") (version "0.03") (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/syohex/emacs-hcl-mode/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/syohex/emacs-hcl-mode.git") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 - "0pvw74qpwh0znqzp6syp4wxjqs7dp1hbn5h7xfk97mff9l5d8k6x")))) + (base32 "0jqrgq15jz6pvx38pnwkizzfiih0d3nxqphyrc92nqpcyimg8b6g")))) (build-system emacs-build-system) (home-page "https://github.com/syohex/emacs-hcl-mode") (synopsis "Major mode for the Hashicorp Configuration Language") @@ -8714,14 +8992,13 @@ highlighting and indentation support.") (version "0.06") (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/syohex/emacs-terraform-mode/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/syohex/emacs-terraform-mode.git") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 - "0h9267ifdjmcin4sj8slxydbacx4bqicbvg8pa1qq2l72h9m5381")))) + (base32 "05hn8kskx9lcgn7bzgam99c629zlryir2pickwrqndacjrqpdykx")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-hcl-mode" ,emacs-hcl-mode))) @@ -8784,13 +9061,13 @@ directories of plain text notes, inspired by Notational Velocity.") (version "0.62") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/syohex/emacs-anzu/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/syohex/emacs-anzu.git") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 - "16cg3897x5znbmgk7sdy0qyd0fbic9dmmz0dchq2vz5z29yhg4cz")))) + (base32 "1lzvc0ihcbplir4hqfyxfqpsd78arz15gk92kmq4f8ggbkl37fan")))) (build-system emacs-build-system) (home-page "https://github.com/syohex/emacs-anzu") (synopsis "Show number of matches in mode-line while searching") @@ -8886,15 +9163,15 @@ standard Unix password manager\").") (package (name "emacs-pass") (version "1.8") - (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/NicolasPetton/pass/archive/" - version ".tar.gz")) - (sha256 - (base32 - "0aiz90gklk0cb8n4v1s3l0mx6pp2b7f4k2c0fjpihwmga13yklwn")) - (file-name (string-append name "-" version ".tar.gz")))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/NicolasPetton/pass.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "05h4hacv3yygyjcjj004qbyqjpkl4pyhwgp25gsz8mw5c66l70cx")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-password-store" ,emacs-password-store) @@ -8975,13 +9252,13 @@ match and total match information in the mode-line in various search modes.") (version "2.0.0") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/skeeto/elisp-finalize/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/skeeto/elisp-finalize.git") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 - "077fycy3i5f0kjw5z3rhf4kld5lbk2idz690nkwhkz04vppk4q4x")))) + (base32 "1gvlm4i62af5jscwz0jccc8ra0grprxpg2rlq91d5nn8dn5lpy79")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-cl-generic" ,emacs-cl-generic))) @@ -9150,13 +9427,13 @@ Emacs.") (version "0.9") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/purcell/elisp-slime-nav/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/purcell/elisp-slime-nav.git") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 - "1vq7ym1q47p97gxrv45c9gm96d23xbp237vkmakikj6grngxjfb2")))) + (base32 "11vyy0bvzbs1h1kggikrvhd658j7c730w0pdp6qkm60rigvfi1ih")))) (build-system emacs-build-system) (home-page "https://github.com/purcell/elisp-slime-nav") (synopsis "Make @code{M-.} and @code{M-,} work for elisp like they do in SLIME") @@ -9170,16 +9447,15 @@ in @code{emacs-lisp-mode}, together with an elisp equivalent of (package (name "emacs-dedicated") (version "1.0.0") - (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/emacsorphanage/dedicated/archive/" - version - ".tar.gz")) - (sha256 - (base32 - "0nhbkp278cvcznb5rp3jp9ii3mjgb79zx8iwfrw7zfk3yg8688ni")) - (file-name (string-append name "-" version ".tar.gz")))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/emacsorphanage/dedicated.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0pba9s0h37sxyqh733vi6k5raa4cs7aradipf3826inw36jcw414")))) (build-system emacs-build-system) (home-page "https://github.com/emacsorphanage/dedicated") (synopsis "Emacs minor mode for toggling a windows's \"dedicated\" flag") @@ -9204,7 +9480,7 @@ the source file.") (uri (git-reference (url "https://github.com/paul-issartel/nnreddit.git") (commit commit))) - (file-name (string-append name "-" version "-checkout")) + (file-name (git-file-name name version)) (sha256 (base32 "0j4h3bnga640250jdq8bwyja49r41ssrsjd6lba4gzzllqk02nbn")))) @@ -9221,13 +9497,13 @@ newsreader.") (version "0.3") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/mickeynp/makey/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/mickeynp/makey.git") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 - "0kzl4q1wf2zhkx9nrymxa67n99iq0bj7zqhpaz4byksna1hsxfmv")))) + (base32 "1rr7vpm3xxzcaam3m8xni3ajy8ycyljix07n2jzczayri9sd8csy")))) (build-system emacs-build-system) (home-page "https://github.com/mickeynp/makey") (synopsis "Emacs interactive command-line mode") @@ -9292,13 +9568,13 @@ outline-mode), so there is no such thing like an outshine mode, only (version "2.3.1") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/joostkremers/parsebib/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/joostkremers/parsebib.git") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 - "0cxagnmc5ab6idmb26axpizhr4sqglkncc59768yavn3p04jyq63")))) + (base32 "1bnqnxkb9dnl0fjrrjx0xn9jsqki2h8ygw3d5dm4bl79smah3qkh")))) (build-system emacs-build-system) (home-page "https://github.com/joostkremers/parsebib") (synopsis "Library for parsing bib files") @@ -9312,13 +9588,13 @@ outline-mode), so there is no such thing like an outshine mode, only (version "0.2") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/cpitclaudel/biblio.el/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/cpitclaudel/biblio.el.git") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 - "0vwrljmab8m1z83048gxx5mryml9f5pb3h0jpwkvqcl0ra152lzx")))) + (base32 "1gxjind6r235az59dr8liv03d8994mqb8a7m28j3c12q7p70aziz")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-seq" ,emacs-seq) @@ -9347,7 +9623,7 @@ automatically fetched from well-curated sources, and formatted as BibTeX.") (uri (git-reference (url "https://github.com/tmalsburg/helm-bibtex.git") (commit commit))) - (file-name (string-append name "-" version "-checkout")) + (file-name (git-file-name name version)) (sha256 (base32 "14lyx0vbqr97p3anzrsp7m3q0kqclyjcdwplpraim403fcklzbnz")))) @@ -9444,15 +9720,15 @@ and @code{erc-send-modify-hook} to download and show images.") (package (name "emacs-helm-gtags") (version "1.5.6") - (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/syohex/emacs-helm-gtags/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1a10snhg6nnnan6w9a7mcziy26vxbsr3c35i0gcarnkdp2yqng36")))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/syohex/emacs-helm-gtags.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0zyspn9rqfs3hkq8qx0q1w5qiv30ignbmycyv0vn3a6q7a5fsnhx")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-helm" ,emacs-helm))) @@ -9468,13 +9744,13 @@ and @code{erc-send-modify-hook} to download and show images.") (version "0.4.4") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/rolandwalker/list-utils/archive/" - "v" version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/rolandwalker/list-utils.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 - (base32 - "1xc1xh8c82h5gdjbgpdsdclgwxkxbb7h3x3a2bscpm41g8pnan4p")))) + (base32 "0ql159v7sxs33yh2l080kchrj52vk34knz50cvqi3ykpb7djg3sz")))) (build-system emacs-build-system) (home-page "https://github.com/rolandwalker/list-utils") (synopsis "List-manipulation utility functions") @@ -9487,13 +9763,13 @@ and @code{erc-send-modify-hook} to download and show images.") (version "2.0.8") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/emacsfodder/move-text/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/emacsfodder/move-text.git") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 - "1sjfja9r25692pgcldgnjzkapzy970m14jh9l4pajysiqcdk72g0")))) + (base32 "06jxk5g23822gfmwrxhc34zand3dr8p2wjh1zs3j61ibz6n0nmz1")))) (build-system emacs-build-system) (home-page "https://github.com/emacsfodder/move-text") (synopsis "Move current line or region with M-up or M-down") @@ -9550,14 +9826,13 @@ orient yourself in the code, and tell which statements are at a given level.") (version "0.7.0") (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/DamienCassou/hierarchy/archive/" - "v" version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/DamienCassou/hierarchy.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 - (base32 - "1a463v5zk6zis2p8cs4mads3iyxh266yahi6j6y0paggfl2yhkc8")))) + (base32 "1kykbb1sil5cycfa5aj8dhsxc5yrx1641i2np5kwdjid6ahdlz5r")))) (build-system emacs-build-system) (home-page "https://github.com/DamienCassou/hierarchy") (synopsis "Library to create and display hierarchy structures") @@ -9578,7 +9853,7 @@ navigate and display hierarchy structures.") (uri (git-reference (url "https://github.com/emacsorphanage/tree-mode.git") (commit commit))) - (file-name (string-append name "-" version "-checkout")) + (file-name (git-file-name name version)) (sha256 (base32 "13bbdhdmqg4x9yghanhr8fsbsxbnypzxdxgicz31sjjm675kpnix")))) @@ -9601,7 +9876,7 @@ navigate and display hierarchy structures.") (uri (git-reference (url "https://github.com/ahungry/md4rd.git") (commit commit))) - (file-name (string-append name "-" version "-checkout")) + (file-name (git-file-name name version)) (sha256 (base32 "0mvv1mvsrpkrmikcpfqf2zbawnzgq33j6zjdrlv48mcw57xb2ak9")))) @@ -9656,15 +9931,15 @@ navigate and display hierarchy structures.") (package (name "emacs-datetime") (version "0.3") - (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/doublep/datetime/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "12wqpj67rjij2ki7nmw38rz3k2bsq68pk6zswknlcn9qhp1zd9w9")))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/doublep/datetime.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0fdswqi53qx924lib7nd9dazn0916xf1ybrh3bcn3f8cn6b8ikg5")))) (build-system emacs-build-system) (home-page "https://github.com/doublep/datetime/") (synopsis "Library to work with dates in Emacs") @@ -9685,7 +9960,7 @@ timestamps and date-time format strings library for Emacs.") (uri (git-reference (url "https://github.com/theodorewiles/org-mind-map.git") (commit commit))) - (file-name (string-append name "-" version "-checkout")) + (file-name (git-file-name name version)) (sha256 (base32 "0jgkkgq7g64zckrmjib0hvz0qy3ynz5vz13qbmlpf096l3bb65wn")))) @@ -9704,13 +9979,13 @@ timestamps and date-time format strings library for Emacs.") (version "0.6.0") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/mojochao/npm-mode/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/mojochao/npm-mode.git") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 - "1kq1ww22dwf8c2i2b4z2ldbbmnihj65kb7n5vzvwkch9h4hxpqh5")))) + (base32 "1mh6nbffciw4yhv049kdhh796ysj1x21ndm3fwymhskb3dy0w1ss")))) (build-system emacs-build-system) (home-page "https://github.com/mojochao/npm-mode") (synopsis "Minor mode for working with @code{npm} projects") @@ -9749,7 +10024,7 @@ functions provided by @file{subr.el}.") (uri (git-reference (url "https://github.com/re5et/itail.git") (commit commit))) - (file-name (string-append name "-" version "-checkout")) + (file-name (git-file-name name version)) (sha256 (base32 "044nzxh1hq41faxw3lix0wy78vfz304pjcaa5a11dqfz7q3gx5cv")))) @@ -9768,13 +10043,13 @@ tramp.") (version "1.3") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/Wilfred/loop.el/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/Wilfred/loop.el.git") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 - "1z3rhh3zyjabz36410yz0lp4a0qwwj0387as662wvx3z9y54jia9")))) + (base32 "1gs95xnmnn8aa4794k7h8mw1sz1nfdh9v0caqj6yvnsdnwy74n5x")))) (build-system emacs-build-system) (home-page "https://github.com/Wilfred/loop.el") (synopsis "Imperative loop structures for Emacs") @@ -9789,13 +10064,13 @@ continue.") (version "1.3") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/Wilfred/elisp-refs/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/Wilfred/elisp-refs.git") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 - "02nzcn3v14n7mp7q32j5r4wdlpsw3zixzh6cf0cdyarfir6dly3p")))) + (base32 "0w7k91xf69zc0zkjrw8h8sjdjf9xq9qs5zhvajhd718lzf93564b")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-dash" ,emacs-dash) @@ -9824,7 +10099,7 @@ confused by comments or @code{foo-bar} matching @code{foo}.") (uri (git-reference (url "https://github.com/bbatsov/crux.git") (commit commit))) - (file-name (string-append name "-" version "-checkout")) + (file-name (git-file-name name version)) (sha256 (base32 "1fdxvv25cs01sg6fmvmzxpzvs50i6v8n2jya60lbavxqqhi0sbxd")))) @@ -9841,13 +10116,13 @@ confused by comments or @code{foo-bar} matching @code{foo}.") (version "1.13") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/stsquad/emacs_chrome/archive/" - "v" version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/stsquad/emacs_chrome.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 - (base32 - "1r92kqggslqasza718z4ka883mqfbnibdm43f0j9gaipk0msm2wf")))) + (base32 "12dp1xj09jrp0kxp9xb6cak9dn6zkyis1wfn4fnhzmxxnrd8c5rn")))) (build-system emacs-build-system) (arguments `(#:phases @@ -9923,7 +10198,7 @@ macro takes a first argument (whose value must be an alist) and a body.") (uri (git-reference (url "https://github.com/jschaf/esup.git") (commit commit))) - (file-name (string-append name "-" version "-checkout")) + (file-name (git-file-name name version)) (sha256 (base32 "04lxmd0h7mfjjl0qghrycgff0vcv950j1wqv0dbkr61jxp64n5fv")))) @@ -9941,13 +10216,13 @@ your Emacs.") (version "0.03") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/syohex/emacs-sourcemap/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/syohex/emacs-sourcemap.git") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 - "0bmd5l3cx2iyl7vxn84xdhs80b07kpdpfwki28lh5d0kmm5qs6m6")))) + (base32 "115g2mfpbfywp8xnag4gsb50klfvplqfh928a5mabb5s8v4a3582")))) (build-system emacs-build-system) (home-page "https://github.com/syohex/emacs-sourcemap") (synopsis "Sourcemap parser") @@ -9964,7 +10239,7 @@ your Emacs.") (uri (git-reference (url "https://github.com/joddie/macrostep.git") (commit commit))) - (file-name (string-append name "-" version "-checkout")) + (file-name (git-file-name name version)) (sha256 (base32 "1fm40mxdn289cyzgw992223dgrjmwxn4q8svyyxfaxjrpb38jhjz")))) @@ -10010,13 +10285,13 @@ until the top-level form is no longer a macro call.") (version "2.3") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/Fanael/parent-mode/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/Fanael/parent-mode.git") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 - "0gxbl5s1w96v6v55b7aaansgw4sxhzfx9nrsvpk3pfhsibs6yqjd")))) + (base32 "0i5bc7lyyrx6swqlrp9l5x72yzwi53qn6ldrfs99gh08b3yvsnni")))) (build-system emacs-build-system) (home-page "https://github.com/Fanael/parent-mode") (synopsis "Get major mode's parent modes") @@ -10098,13 +10373,13 @@ until the top-level form is no longer a macro call.") (version "2.0.0") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/DamienCassou/beginend/archive/" - "v" version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/DamienCassou/beginend.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 - (base32 - "0z4rbwffh9vxfvcrlvym4p73z7gf72q0b5iv33llbpcpbijknnrq")))) + (base32 "1jbhg73g1rrkbwql5vi2b0ys9avfazmwzwgd90gkzwavw0ch9cvl")))) ;; TODO: Run tests. (build-system emacs-build-system) (inputs @@ -10130,7 +10405,7 @@ key again.") (uri (git-reference (url "https://github.com/dimitri/mbsync-el.git") (commit commit))) - (file-name (string-append name "-" version "-checkout")) + (file-name (git-file-name name version)) (sha256 (base32 "0yj93y2mpxlir8x73znlg1slxlv4blm1vjv5h2w3j8lxg8bxvmn6")))) @@ -10154,7 +10429,7 @@ within Emacs.") (uri (git-reference (url "https://github.com/purcell/ibuffer-projectile.git") (commit commit))) - (file-name (string-append name "-" version "-checkout")) + (file-name (git-file-name name version)) (sha256 (base32 "1nd26cwwdpnwj0g4w393rd59klpyr6wqrnyr6scmwb5d06bsm44n")))) @@ -10204,13 +10479,13 @@ documentation.") (version "1.0.3") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/hylang/hy-mode/archive/" - "v" version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/hylang/hy-mode.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 - (base32 - "0b4pvbr2hf77bq2vsyfsv653q0dab7qzq85wc7kdziw7687jdf2z")))) + (base32 "1jxximiznz7fw9ys5k6plw85zrbzvxidql7py1fdi425fdp4058z")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-dash" ,emacs-dash) @@ -10226,13 +10501,13 @@ documentation.") (version "0.3.2") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/yasuyk/web-beautify/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/yasuyk/web-beautify.git") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 - "1j57hwid74id4swkx2g0iljfawx0k9c7qjrwqc0mv657x9p78hcs")))) + (base32 "0vms7zz3ym53wf1zdrkbf2ky2xjr1v134ngsd0jr8azyi8siw84d")))) (build-system emacs-build-system) (home-page "https://github.com/yasuyk/web-beautify") (synopsis "Format HTML, CSS and JavaScript, JSON") @@ -10311,7 +10586,7 @@ their meaning for the current Emacs major-mode.") (uri (git-reference (url "https://github.com/jkitchin/org-ref.git") (commit commit))) - (file-name (string-append name "-" version "-checkout")) + (file-name (git-file-name name version)) (sha256 (base32 "1rxz0bjdsayk0slv23i07d9xhj2m7s4hsc81wc2d1cs52dkr5zmz")))) @@ -10389,15 +10664,15 @@ files.") (package (name "emacs-add-hooks") (version "3.1.1") - (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/nickmccurdy/add-hooks/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "03a28gb3298g7pc2qji9hi44p4d99ljp5mpi9cmg42ldv8fl6549")))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/nickmccurdy/add-hooks.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1jv9fpcsm572zg0j1mbpbfkqgdlqapy89xhhj19pswkhjns1y2wl")))) (build-system emacs-build-system) (home-page "https://github.com/nickmccurdy/add-hooks/") (synopsis "Emacs function for setting multiple hooks") @@ -10411,13 +10686,13 @@ duplicate hook and function names further into a single declarative call.") (version "0.9.5") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/Malabarba/fancy-narrow/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/Malabarba/fancy-narrow.git") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 - "0rf2rnzg82pdqch041yyx3f9ddixffkk9s2ydzg8hwy66sg3385n")))) + (base32 "0vcr1gnqawvc1yclqs23jvxm6bqix8kpflf1c7znb0wzxmz9kx7y")))) (build-system emacs-build-system) (home-page "https://github.com/Malabarba/fancy-narrow/releases") (synopsis "Imitate @code{narrow-to-region} with more eye candy") @@ -10436,14 +10711,13 @@ buffer.") (version "0.5.0") (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/for-GET/know-your-http-well/archive/" - "v" version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/for-GET/know-your-http-well.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 - (base32 - "1y3kwz88awcgwaivlswq0q4g2i02762r23lpwg61bfqy5lrjjqnj")))) + (base32 "1lppggnii2r9fvlhh33gbdrwb50za8lnalavlq9s86ngndn4n94k")))) (arguments `(#:phases (modify-phases %standard-phases @@ -10503,7 +10777,7 @@ buffer.") (uri (git-reference (url "https://github.com/zk-phi/download-region.git") (commit commit))) - (file-name (string-append name "-" version "-checkout")) + (file-name (git-file-name name version)) (sha256 (base32 "0v52djg39b6k2snizd9x0qc009ws5y0ywqsfwhqgcbs5ymzh7dsc")))) @@ -10518,15 +10792,15 @@ downloading manager for Emacs.") (package (name "emacs-helpful") (version "0.15") - (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/Wilfred/helpful/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1xmvhphzb4hbg647dz4lafy6hd19b7bk3lxni6irqrzdsrclhzn6")))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Wilfred/helpful.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1rqnx7672175288yqaslw0d9vw04j6psw7mys8j9zcp2i72hlvkn")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-elisp-refs" ,emacs-elisp-refs))) @@ -10557,15 +10831,15 @@ and doesn't require memorisation of commands. (package (name "emacs-logview") (version "0.9") - (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/doublep/logview/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1vd11ppm46ldqsiwhqgw91p34gbjh1y82r9mxcn9r2gj65nvhxcp")))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/doublep/logview.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1qhzs75pxnaksbhczmpdcy2zmrqavlzkzss7ik5nv2wf9vs0sn02")))) (propagated-inputs `(("emacs-datetime" ,emacs-datetime))) (build-system emacs-build-system) @@ -10607,15 +10881,15 @@ functions.") (package (name "emacs-benchmark-init") (version "1.0") - (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/dholm/benchmark-init-el/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "0szyqr4nncwz4vd5gww1vz31kf9r2lx25p4d0d09pm35974x53kz")))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/dholm/benchmark-init-el.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1kyn1izm5sbqbp9whnhk9dn3yc7zy8bz5san5w3ivi3rpx15fh94")))) (build-system emacs-build-system) (home-page "https://github.com/dholm/benchmark-init-el") (synopsis "Benchmark Emacs @code{require} and @code{load} calls") @@ -10687,13 +10961,13 @@ buffer with each of your todos.") (version "0.1") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/cosmicexplorer/f3/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/cosmicexplorer/f3.git") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 - "06b8i1jvklm5k3k90n65f197l1miq1xlxqkqpbppw4h3rhl4y98h")))) + (base32 "1qg48zbjdjqimw4516ymrsilz41zkib9321q0caf9474s9xyp2bi")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-helm" ,emacs-helm))) @@ -10739,7 +11013,7 @@ buffer with each of your todos.") (uri (git-reference (url "https://github.com/nashamri/academic-phrases.git") (commit commit))) - (file-name (string-append name "-" version "-checkout")) + (file-name (git-file-name name version)) (sha256 (base32 "0qfzsq8jh05w4zkr0cvq3i1hdn97bq344vcqjg46sib26x3wpz6r")))) @@ -10772,7 +11046,7 @@ browse the phrases by the paper section and fill-in the blanks if required.") (uri (git-reference (url "https://github.com/abo-abo/auto-yasnippet.git") (commit commit))) - (file-name (string-append name "-" version "-checkout")) + (file-name (git-file-name name version)) (sha256 (base32 "1i8k2qiyzd5rq0zplk4xb5nfa5mp0ibxbzwqj6c7877waq7244xk")))) @@ -10803,14 +11077,13 @@ yasnippet fields and mirrors to be.") (version "0.2.3") (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/Fanael/highlight-numbers/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/Fanael/highlight-numbers.git") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 - "030v5p11d4n0581ncv499l1fqrmfziy756q6378x2bv22ixghqqp")))) + (base32 "1r07mpyr7rhd7bkg778hx6vbhb4n9ixgzkpszhgks7ri6ia38pj8")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-parent-mode" ,emacs-parent-mode))) @@ -10883,7 +11156,7 @@ interactive behavior should be different.") (uri (git-reference (url "https://github.com/purcell/default-text-scale") (commit commit))) - (file-name (string-append name "-" version "-checkout")) + (file-name (git-file-name name version)) (sha256 (base32 "0zds01c3q5yny6ab1fxfkzzgn1kgl3q23lxxap905f4qd70v922h")))) @@ -10900,13 +11173,13 @@ decreasing the default font size in all GUI Emacs frames.") (version "1.1.1") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/benma/visual-regexp.el/archive/" - "v" version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/benma/visual-regexp.el.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 - (base32 - "1czmhvcivlcdyz7rfm0vd4a3xsgmy4qbvbl6yjxc217wrxqflr92")))) + (base32 "12zpmzwyp85dzsjpxd3279kpfi9yz3jwc1k9fnb3xv3pjiil5svg")))) (build-system emacs-build-system) (home-page "https://github.com/benma/visual-regexp.el/") (synopsis "Regexp command with interactive visual feedback") @@ -10927,7 +11200,7 @@ interactive visual feedback.") (uri (git-reference (url "https://github.com/Lindydancer/faceup.git") (commit commit))) - (file-name (string-append name "-" version "-checkout")) + (file-name (git-file-name name version)) (sha256 (base32 "1yzmy7flrhrh0i10bdszx8idx6r8h6czm4vm4q0z6fp5fw94zwrx")))) @@ -10952,7 +11225,7 @@ perform regression test for packages that provide font-lock rules.") (uri (git-reference (url "https://github.com/greghendershott/racket-mode") (commit commit))) - (file-name (string-append name "-" version "-checkout")) + (file-name (git-file-name name version)) (sha256 (base32 "0vp4bbbplqvmnhjpl6ajrlydmrhqzil56cfbs18m5c5fddx0zlh7")))) @@ -10984,7 +11257,7 @@ perform regression test for packages that provide font-lock rules.") (uri (git-reference (url "https://github.com/mkcms/grep-context.git") (commit commit))) - (file-name (string-append name "-" version "-checkout")) + (file-name (git-file-name name version)) (sha256 (base32 "1nqfa6kjzjshww4hnwg1c0vcr90bdjihy3kmixq3c3jkvxg99b62")))) @@ -11012,7 +11285,7 @@ compilation/grep buffers. Works with @code{wgrep}, @code{ack}, @code{ag}, (uri (git-reference (url "https://github.com/emacs-helm/helm-firefox.git") (commit commit))) - (file-name (string-append name "-" version "-checkout")) + (file-name (git-file-name name version)) (sha256 (base32 "08mjsi2f9s29fkk35cj1rrparjnkm836qmbfdwdz7y51f9varjbs")))) @@ -11070,14 +11343,13 @@ decrease the number at point.") (version "0.1.5") (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/Fanael/highlight-defined/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/Fanael/highlight-defined.git") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 - "1ryd66989b5byqdw8jmjrjf0c78iiz72wibld750skcnj5h5h506")))) + (base32 "08czwa165rnd5z0dwwdddn7zi5w63sdk31l47bj0598kbly01n7r")))) (build-system emacs-build-system) (home-page "https://github.com/Fanael/highlight-defined") (synopsis "Syntax highlighting of known Elisp symbols") @@ -11092,13 +11364,13 @@ macros, faces and variables. To enable call @code{highlight-defined-mode}. ") (version "0.4.10") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/DogLooksGood/parinfer-mode/archive/" - "v" version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/DogLooksGood/parinfer-mode.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 - (base32 - "06ba9qi59sm9ih9m38fbr8kj4qkvrm58n0c0ngfjz60gnr9x9pcv")))) + (base32 "0v97ncb0w1slb0x8861l3yr1kqz6fgw1fwl1z9lz6hh8p2ih34sk")))) (propagated-inputs `(("emacs-dash" ,emacs-dash) ("emacs-rainbow-delimiters" ,emacs-rainbow-delimiters) @@ -11120,7 +11392,7 @@ keep Parens and Indentation inline with one another.") (uri (git-reference (url "https://github.com/emacs-helm/helm-eww.git") (commit version))) - (file-name (string-append name "-" version "-checkout")) + (file-name (git-file-name name version)) (sha256 (base32 "0hpq1h0p69c9k6hkd2mjpprx213sc5475q7pr2zpmwrjdzgcv70z")))) @@ -11145,7 +11417,7 @@ bookmarks and history.") (uri (git-reference (url "https://github.com/stumpwm/stumpwm-contrib.git") (commit commit))) - (file-name (string-append name "-" version "-checkout")) + (file-name (git-file-name name version)) (sha256 (base32 "1dfwsvz1c8w6j4jp0kzaz78ml3f5dp0a5pvf090kwpbpg176r7iq")))) @@ -11187,14 +11459,13 @@ bookmarks and history.") (version "0.1.6") (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/creichert/ido-vertical-mode.el/archive/" - "v" version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/creichert/ido-vertical-mode.el.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 - (base32 - "0dprdxq8wvqd45dinwj92k0kixr07c8xvspa6i613mjcpxgwjg53")))) + (base32 "1lv82q639xjnmvby56nwqn23ijh6f163bk675s33dkingm8csj8k")))) (build-system emacs-build-system) (home-page "https://github.com/creichert/ido-vertical-mode.el") (synopsis "Makes ido-mode display vertically") @@ -11207,13 +11478,13 @@ bookmarks and history.") (version "0.1.4") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/Fanael/wordgen.el/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/Fanael/wordgen.el.git") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 - "1h2iyixdm49h53pwj9ics9gb9h3g6wa4hainpnjg6mfarf49jkmg")))) + (base32 "06vbc9ycz1nbjwjkg99y3lj6jwb6lnwnmkqf09yr00jjrrfhfash")))) (build-system emacs-build-system) (home-page "https://github.com/Fanael/wordgen.el") (synopsis "Random word generator") @@ -11257,7 +11528,7 @@ the previously visible buffer part after each scroll.") (uri (git-reference (url "https://github.com/dgutov/highlight-escape-sequences.git") (commit commit))) - (file-name (string-append name "-" version "-checkout")) + (file-name (git-file-name name version)) (sha256 (base32 "05mc3w1f8ykf80914a1yddw6j8cmh0h57llm07xh89s53821v2is")))) @@ -11274,14 +11545,13 @@ Emacs minor mode to escape sequences in code.") (version "1.2.4") (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/rakanalh/emacs-dashboard/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/rakanalh/emacs-dashboard.git") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 - "1738lmbgq6gk24hcwic0qjyajr21l5xzhya4pv58dw1bhd6vxv9g")))) + (base32 "1hhh1kfsz87qfmh45wjf2r93rz79rq0vbyxlfrsl02092zjbl1zr")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-page-break-lines" ,emacs-page-break-lines))) @@ -11298,13 +11568,13 @@ sections for bookmarks, projectil projects, org-agenda and more. ") (version "1.1") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/anwyn/slime-company/archive/" - "v" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/anwyn/slime-company.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 - (base32 - "1myl79pxj501xfr5qc5a24qddsn2l5iaamg7rf7fpny7mr9v70ar")) - (file-name (string-append name "-" version ".tar.gz")))) + (base32 "1hl1hqkc1pxga9k2k8k15d7dip7sfsmwf4wm4sh346m6nj606q8g")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-slime" ,emacs-slime) @@ -11351,7 +11621,7 @@ interactive loop.") (uri (git-reference (url "https://github.com/xiongtx/eros.git") (commit commit))) - (file-name (string-append name "-" version "-checkout")) + (file-name (git-file-name name version)) (sha256 (base32 "0whlsq90v13fz69k3wjrwcwb9gkpfxqjd75mg3nrp85j9nwhb5i4")))) @@ -11373,7 +11643,7 @@ interactive loop.") (uri (git-reference (url "https://github.com/tuhdo/semantic-stickyfunc-enhance.git") (commit commit))) - (file-name (string-append name "-" version "-checkout")) + (file-name (git-file-name name version)) (sha256 (base32 "16dxjsr5nj20blww4xpd4jzgjprzzh1nwvb810ggdmp9paf4iy0g")))) @@ -11393,14 +11663,13 @@ scroll up to read the function name and then scroll down to original position.") (version "4.4.0") (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/ryuslash/git-auto-commit-mode/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/ryuslash/git-auto-commit-mode.git") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 - "04avxmalsl3b7zi2vipfw9rb4wrwysnipsbch96skviql9axk870")))) + (base32 "0psmr7749nzxln4b500sl3vrf24x3qijp12ir0i5z4x25k72hrlh")))) (build-system emacs-build-system) (home-page "https://github.com/ryuslash/git-auto-commit-mode") (synopsis "Emacs Minor mode to automatically commit and push") @@ -11417,14 +11686,13 @@ the current upstream.") (version "0.1.0") (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/iquiw/company-restclient/archive/" - "v" version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/iquiw/company-restclient.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 - (base32 - "1kr3f0wgqlk7r171bvb2kinv7fanwj2md01wdpx04qkgwcr1as00")))) + (base32 "0i1fh5lvqwlgn3g3fzh0xacxyljx6gkryipn133vfkv4jbns51n4")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-company" ,emacs-company) @@ -11453,7 +11721,7 @@ It provides auto-completion for HTTP methods and headers in (uri (git-reference (url "https://github.com/nicferrier/emacs-noflet") (commit commit))) - (file-name (string-append name "-" version "-checkout")) + (file-name (git-file-name name version)) (sha256 (base32 "0g70gnmfi8n24jzfci9nrj0n9bn1qig7b8f9f325rin8h7x32ypf")))) @@ -11483,14 +11751,13 @@ through the symbol: @command{this-fn}.") (version "0.5.2") (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/jacktasia/dumb-jump/archive/v" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/jacktasia/dumb-jump.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 - (base32 - "07n0xjgpxjpf3vp9gxchkjpydyj0zm166930as0kwiwkhjlsirsf")))) + (base32 "00ph85vp8sa3k99qrdxfz4l8zx121q9xf47vvspzg26bk9l4nwin")))) (build-system emacs-build-system) (arguments `(#:tests? #f ; FIXME: Tests freeze when run. @@ -11533,7 +11800,7 @@ Dumb Jump performs best with The Silver Searcher @command{ag} or ripgrep (uri (git-reference (url "https://github.com/bgamari/dts-mode.git") (commit commit))) - (file-name (string-append name "-" version "-checkout")) + (file-name (git-file-name name version)) (sha256 (base32 "1k8lljdbc90nd29xrhdrsscxavzdq532wq2mg7ljc94krj7538b1")))) @@ -11555,7 +11822,7 @@ device tree files.") (uri (git-reference (url "https://github.com/cbowdon/daemons.el") (commit version))) - (file-name (string-append name "-" version "-checkout")) + (file-name (git-file-name name version)) (sha256 (base32 "00bkzfaw3bqykcks610vk9wlpa2z360xn32bpsrycacwfv29j7g4")))) @@ -11648,7 +11915,7 @@ matching regexps.") (uri (git-reference (url "https://github.com/dieggsy/esh-autosuggest") (commit version))) - (file-name (string-append name "-" version "-checkout")) + (file-name (git-file-name name version)) (sha256 (base32 "116pdjgpjy9b0psm5kzwkwy7dq8vn0p6dy75dl1zsy2xrjf1iqdw")))) @@ -11678,7 +11945,7 @@ autosuggestions with: (uri (git-reference (url "https://gitlab.petton.fr/DamienCassou/desktop-environment") (commit commit))) - (file-name (string-append name "-" version "-checkout")) + (file-name (git-file-name name version)) (sha256 (base32 "0x73x5hy7w55jrzy3xvqhk90rrsznmxjqvsvwhh21qznv5w269xz")))) @@ -11723,14 +11990,12 @@ This code is still alpha.") (version "20180518") (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/egh/zotxt-emacs/archive/" - "23a4a9f74a658222027d53a9a83cd4bcc583ca8b" - ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/egh/zotxt-emacs.git") + (commit "23a4a9f74a658222027d53a9a83cd4bcc583ca8b"))) (sha256 - (base32 - "1qlibaciqgsva6fc7vv9krssjq00bi880396jk7llbi3c52q9n1y")))) + (base32 "09fq3w9yk9kn6bz7y9kgpiw612dvj3yzsdk734js6zgb0p8lfd2c")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-deferred" ,emacs-deferred) @@ -11757,7 +12022,7 @@ Org-mode file, and citations of Zotero items in Pandoc Markdown files.") (uri (git-reference (url "https://github.com/emacs-evil/evil-magit") (commit commit))) - (file-name (string-append name "-" version "-checkout")) + (file-name (git-file-name name version)) (sha256 (base32 "134v7s03jvbhm70mavwab85r09i68g2a5bvriirh0chz1av2y16v")))) @@ -11789,7 +12054,7 @@ describing the key binding changes.") (uri (git-reference (url "https://github.com/hlissner/evil-multiedit") (commit (string-append "v" version)))) - (file-name (string-append name "-" version "-checkout")) + (file-name (git-file-name name version)) (sha256 (base32 "19h3kqylqzbjv4297wkzzxdmn9yxbg6z4ga4ssrqri90xs7m3rw3")))) @@ -11818,7 +12083,7 @@ defaults.") (uri (git-reference (url "https://github.com/Somelauw/evil-org-mode") (commit commit))) - (file-name (string-append name "-" version "-checkout")) + (file-name (git-file-name name version)) (sha256 (base32 "176hrw7y7nczffbyhsa167b8rvfacsmcafm2gpkrdjqlrikbmrhl")))) @@ -12022,7 +12287,7 @@ on-line service.") (uri (git-reference (url "https://github.com/Sodel-the-Vociferous/helm-company") (commit commit))) - (file-name (string-append name "-" version "-checkout")) + (file-name (git-file-name name version)) (sha256 (base32 "1ciirsanhajdqm5iwl8k9ywf4jha1wdv4sc4d9kslyrfr9zn4q6k")))) @@ -12048,7 +12313,7 @@ framework.") (uri (git-reference (url "https://github.com/emacs-helm/helm-descbinds") (commit commit))) - (file-name (string-append name "-" version "-checkout")) + (file-name (git-file-name name version)) (sha256 (base32 "1n89p56qwa243w1c85i5awnaf7piwjsvfi7nmnsrwm33hix5dknk")))) @@ -12076,7 +12341,7 @@ you searched for and execute it, or view its documentation.") (uri (git-reference (url "https://github.com/emacs-helm/helm-emms") (commit commit))) - (file-name (string-append name "-" version "-checkout")) + (file-name (git-file-name name version)) (sha256 (base32 "1595r09y3rmwd46nnhvjja3hb8j2ila295ijxv61cg52ws4wginh")))) @@ -12098,14 +12363,12 @@ from @code{emms-source-file-default-directory}.") (version (git-version "20180703" "2" commit)) (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/emacs-helm/helm-exwm/archive/" - commit - ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/emacs-helm/helm-exwm.git") + (commit commit))) (sha256 - (base32 - "0n7hdiajw5vxl8ha2r9r4cl4i7crza25348825wb6acwhhzijxcj")))) + (base32 "064ziinqa5sdv7rfjn0y278l12kld176fr88k4h78pgf2f2n7cd8")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-helm" ,emacs-helm) @@ -12131,7 +12394,7 @@ See @code{helm-exwm-switch-browser} for an example.") (uri (git-reference (url "https://github.com/yasuyk/helm-flycheck") (commit commit))) - (file-name (string-append name "-" version "-checkout")) + (file-name (git-file-name name version)) (sha256 (base32 "1a2yfxhz04klwhcandqvfzysxp6b7bxyxx1xk1x3kds5hif5fkl4")))) @@ -12157,7 +12420,7 @@ See @code{helm-exwm-switch-browser} for an example.") (uri (git-reference (url "https://github.com/emacs-helm/helm-ls-git") (commit commit))) - (file-name (string-append name "-" version "-checkout")) + (file-name (git-file-name name version)) (sha256 (base32 "0vsq1n3xl3ghy5zik2scm7jrs501n4kybdqd6yw6j0cv4jxdqbr0")))) @@ -12190,14 +12453,12 @@ projects unrelated to current-buffer. (version (git-version "20180513" "1" commit)) (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/emacs-helm/helm-mu/archive/" - commit - ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/emacs-helm/helm-mu.git") + (commit commit))) (sha256 - (base32 - "0qm4xi3i957scm50nar398pv4x8y03si10l77jb9ckjaviyq2hj9")))) + (base32 "1lh0ahxdc5b2z18m9p30gwg8sbg33sjwkjr38p7h5xsm5fm7i0fz")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-helm" ,emacs-helm) @@ -12255,7 +12516,7 @@ provided by other Emacs packages dealing with pass: (uri (git-reference (url "https://github.com/mhayashi1120/Emacs-imagex") (commit commit))) - (file-name (string-append name "-" version "-checkout")) + (file-name (git-file-name name version)) (sha256 (base32 "0v66wk9nh0raih4jhrzmmyi5lbysjnmbv791vm2230ffi2hmwxnd")))) @@ -12294,7 +12555,7 @@ image, rotate it, save modified images, and more.") (uri (git-reference (url "https://github.com/purcell/package-lint") (commit commit))) - (file-name (string-append name "-" version "-checkout")) + (file-name (git-file-name name version)) (sha256 (base32 "1hfricsgmy3x9snnd2p4xq6vnnv94qdsxxnxp07b3hqc9bhw31rq")))) @@ -12362,7 +12623,7 @@ file.") "https://gitlab.com/Ambrevar/mu4e-conversation/" "repository/archive.tar.gz?ref=" commit)) - (file-name (string-append name "-" version "-checkout")) + (file-name (git-file-name name version)) (sha256 (base32 "0b52hf9rm2afba9pvgink9bwqm705sk0y5qikp0ff5sk53wqvy29")))) @@ -12721,7 +12982,7 @@ few (like NOTE).") (uri (git-reference (url "https://github.com/jwiegley/git-annex-el") (commit commit))) - (file-name (string-append name "-" version "-checkout")) + (file-name (git-file-name name version)) (sha256 (base32 "1mzv40gj7k10h7h5s43my8msgzjpj680qprqa9pp8nbyhl49v3wh")))) @@ -13546,13 +13807,13 @@ to open SQLite databases.") (version "1.2.2") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/NixOS/nix-mode/archive/v" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/NixOS/nix-mode.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 - (base32 - "06aqz0czznsj8835jqnk794sy2p6pa8kxfqwh0nl5d5vxivria6z")))) + (base32 "1vz3s2jx14nzy53f04d821n4f2s22ys5h9s7af6cnpynkwawyhhq")))) (build-system emacs-build-system) (inputs `(("emacs-company" ,emacs-company) @@ -13599,7 +13860,7 @@ front end to mpc, a client for the @dfn{Music Player Daemon} (MPD).") (uri (git-reference (url "https://github.com/mkmcc/gnuplot-mode") (commit "601f6392986f0cba332c87678d31ae0d0a496ce7"))) - (file-name (string-append name "-" version "-checkout")) + (file-name (git-file-name name version)) (sha256 (base32 "14f0yh1rjqc3337j4sbqzfb7pjim2c8a7wk1a73xkrdkmjn82vgb")))) @@ -14085,6 +14346,813 @@ command\", but because it always involves at least two commands (a prefix and a suffix) we prefer to call it just a \"transient\".") (license license:gpl3+)))) +(define-public emacs-undo-propose-el + (let ((commit "5f1fa99a04369a959aad01b476fe4f34229f28cd") + (version "1.0.0") + (revision "1")) + (package + (name "emacs-undo-propose-el") + (version (git-version version revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/jackkamm/undo-propose-el") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1p9h1fqmva07mcs46rqrg9vqn537b615as84s9b7xh76k1r8h1c0")))) + (build-system emacs-build-system) + (home-page "https://github.com/jackkamm/undo-propose-el") + (synopsis "Simple and safe navigation of @code{undo} history") + (description "This package permits navigation of @code{undo} history in a +temporary buffer, which is read-only save for @code{undo} commands, and +subsequent committal of a chain of @code{undo} commands as a single edit in +the @code{undo} history.") + (license license:gpl3+)))) + +(define-public emacs-elisp-docstring-mode + (let ((commit "f512e509dd690f65133e55563ebbfd2dede5034f") + (version "0.0.1") + (revision "1")) + (package + (name "emacs-elisp-docstring-mode") + (version (git-version version revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Fuco1/elisp-docstring-mode") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0al8m75p359h4n82rf0dsl22qfdg9cwwywn5pn7x6gb96c7qrqaa")))) + (build-system emacs-build-system) + (home-page "https://github.com/Fuco1/elisp-docstring-mode") + (synopsis "Major mode for editing Emacs Lisp docstrings") + (description "This package provides font lock and automatic escaping and +unescaping of quotes.") + (license license:gpl3+)))) + +(define-public emacs-vimrc-mode + (let ((commit "13bc150a870d5d4a95f1111e4740e2b22813c30e") + (version "0.3.1") + (revision "1")) + (package + (name "emacs-vimrc-mode") + (version (git-version version revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/mcandre/vimrc-mode") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0026dqs3hwygk2k2xfra90w5sfnxrfj7l69jz7sq5glavbf340pk")))) + (build-system emacs-build-system) + (home-page "https://github.com/mcandre/vimrc-mode") + (synopsis "Major mode for Vimscript") + (description "This package provides font lock and @code{beginning-} and +@code{end-of-defun} functions for Vimscript files.") + (license license:gpl3+)))) + +(define-public emacs-flycheck-haskell + (let ((commit "32ddff87165a7d3a35e7318bee997b5b4bd41278") + (version "0.8") + (revision "79")) + (package + (name "emacs-flycheck-haskell") + (version (git-version version revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/flycheck/flycheck-haskell") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "10pgsbagq6qj4mshq5sypv0q0khck92b30sc793b4g1pfpsxvgjn")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-dash" ,emacs-dash) + ("emacs-seq" ,emacs-seq) + ("emacs-flycheck" ,emacs-flycheck) + ("emacs-haskell-mode" ,emacs-haskell-mode) + ("emacs-let-alist" ,emacs-let-alist))) + (home-page "https://github.com/flycheck/flycheck-haskell") + (synopsis "Flycheck for Haskell") + (description "This package configures syntax-checking for Haskell +buffers.") + (license license:gpl3+)))) + +(define-public emacs-js2-refactor-el + (let ((commit "79124b3274c43ad1f9ec6205fa362576552db02f") + (version "0.9.0") + (revision "27")) + (package + (name "emacs-js2-refactor-el") + (version (git-version version revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/magnars/js2-refactor.el") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1wswhlpbd3airrhyncb9vblqigwnqg9n96z0iis8jnz37q2whica")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-dash" ,emacs-dash) + ("emacs-s" ,emacs-s) + ("emacs-js2-mode" ,emacs-js2-mode) + ("emacs-yasnippet" ,emacs-yasnippet) + ("emacs-multiple-cursors" ,emacs-multiple-cursors))) + (native-inputs + `(("emacs-buttercup" ,emacs-buttercup) + ("emacs-espuds" ,emacs-espuds))) + (home-page "https://github.com/magnars/js2-refactor.el") + (synopsis "JavaScript refactoring in Emacs") + (description "This package provides various refactoring functions for +JavaScript.") + (license license:gpl3+)))) + +(define-public emacs-prettier + (let ((commit "e9b73e81d3e1642aec682195f127a42dfb0b5774") + (version "0.1.0") + (revision "1")) + (package + (name "emacs-prettier") + (version (git-version version revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/prettier/prettier-emacs") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0hj4fv3fgc60i6jrsx4a81s5c9fsxxafhhs3q2q1dypsscjci9ph")))) + (build-system emacs-build-system) + (home-page "https://github.com/prettier/prettier-emacs") + (synopsis "Automatic formatting of JavaScript code") + (description "This package integrates Prettier with Emacs, and +provides a minor mode that autoformats the buffer upon saving.") + (license license:expat)))) + +(define-public emacs-fish-mode + (package + (name "emacs-fish-mode") + (version "0.1.4") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/wwwjfy/emacs-fish") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0a74ghmjjrxfdhk4mvq6lar4w6l6lc4iilabs99smqr2fn5rsslq")))) + (build-system emacs-build-system) + (home-page "https://github.com/wwwjfy/emacs-fish") + (synopsis "Major mode for Fish shell scripts") + (description "This package provides syntax highlighting and indentation +functions for Fish shell scripts.") + (license license:gpl3+))) + +(define-public emacs-eshell-up + (let ((commit "9c100bae5c3020e8d9307e4332d3b64e7dc28519") + (version "0.0.3") + (revision "12")) + (package + (name "emacs-eshell-up") + (version (git-version version revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/peterwvj/eshell-up") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "00zdbcncjabgj5mp47l1chymx5na18v2g4kj730dgmj3rnl3iz2q")))) + (build-system emacs-build-system) + (home-page "https://github.com/peterwvj/eshell-up") + (synopsis "Quickly go to a parent directory in @code{Eshell}") + (description "This package provides quick navigation to a specific +parent directory using @code{Eshell}.") + (license license:gpl3+)))) + +(define-public emacs-tco-el + (let ((commit "482db5313f090b17ed22ccd856f0e141dc75afe6") + (version "0.3") + (revision "1")) + (package + (name "emacs-tco-el") + (version (git-version version revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Wilfred/tco.el") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1z7xkbrqznk6ni687qqknp8labcyhl8y6576hjfri89fn21385y9")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-dash" ,emacs-dash))) + (home-page "https://github.com/Wilfred/tco.el") + (synopsis "Tail-call optimization for Emacs Lisp") + (description "This package provides tail-call optimization for Emacs +Lisp functions that call themselves in tail position.") + (license license:gpl3+)))) + +(define-public emacs-equake + (let ((commit "ed15fd55cd4f2276161a6f712ed0b83cd10a8cdc") + (version "0.85") + (revision "1")) + (package + (name "emacs-equake") + (version (git-version version revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.com/emacsomancer/equake/") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "04kj88rlnn22gwmmv2gly2ibi6jka6l2cd4979pi6lhlvqqgjdnj")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-dash" ,emacs-dash) + ("emacs-tco-el" ,emacs-tco-el))) + (home-page "https://gitlab.com/emacsomancer/equake/") + (synopsis "Drop-down console for @code{Eshell} and terminal emulators") + (description "This package provides a Quake-style drop-down console +compatible with Emacs' shell modes.") + (license license:gpl3+)))) + +(define-public emacs-vdiff + (let ((commit "09e15fc932bfd2febe1d4a65780a532394562b07") + (version "0.2.3") + (revision "1")) + (package + (name "emacs-vdiff") + (version (git-version version revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/justbur/emacs-vdiff/") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1gvqi5l4zs872nn4pmj603aza09d81qad2rgijzv268lif8z34db")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-hydra" ,emacs-hydra))) + (home-page "https://github.com/justbur/emacs-vdiff/") + (synopsis "Frontend for diffing based on vimdiff") + (description "This package permits comparisons of two or three buffers +based on diff output.") + (license license:gpl3+)))) + +(define-public emacs-vdiff-magit + ;; Need to use a more recent commit than the latest release version because + ;; of Magit and Transient + (let ((commit "b100d126c69e5c26a61ae05aa1778bcc4302b597") + (version "0.3.2") + (revision "8")) + (package + (name "emacs-vdiff-magit") + (version (git-version version revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/justbur/emacs-vdiff-magit/") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "16cjmrzflf2i1w01973sl944xrfanakba8sb4dpwi79d92xp03xy")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-vdiff" ,emacs-vdiff) + ("emacs-magit" ,emacs-magit) + ("emacs-transient" ,emacs-transient))) + (home-page "https://github.com/justbur/emacs-vdiff-magit/") + (synopsis "Frontend for diffing based on vimdiff") + (description "This package permits comparisons of two or three buffers +based on diff output.") + (license license:gpl3+)))) + +(define-public emacs-all-the-icons-dired + (let ((commit "980b7747d6c4a7992a1ec56afad908956db0a519") + (version "1.0") + (revision "1")) + (package + (name "emacs-all-the-icons-dired") + (version (git-version version revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/jtbm37/all-the-icons-dired/") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1pvbgyxfj4j205nj1r02045f1y4wgavdsk7f45hxkkhms1rj8jyy")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-all-the-icons" ,emacs-all-the-icons))) + (home-page "https://github.com/jtbm37/all-the-icons-dired/") + (synopsis "Show icons for each file in @code{dired-mode}") + (description "This package allows icons from @file{all-the-icons.el} to +be used in @code{dired-mode}.") + (license license:gpl3+)))) + +(define-public emacs-exwm-edit + (let ((commit "961c0f3ea45766b888c73d7353da13d329538034") + (version "0.0.1") + (revision "1")) + (package + (name "emacs-exwm-edit") + (version (git-version version revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/agzam/exwm-edit/") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "087pk5ckx753qrn6xpka9khhlp7iqlz76w7861x90av2f5cgy6fw")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-exwm" ,emacs-exwm))) + (home-page "https://github.com/agzam/exwm-edit/") + (synopsis "Open temp buffers for editing text from EXWM buffers") + (description "This package facilitates editing text from EXWM buffers by +generating a temp buffer in which any useful Emacs utilities and modes can be +invoked.") + (license license:gpl3+)))) + +(define-public emacs-ert-async + (package + (name "emacs-ert-async") + (version "0.1.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/rejeep/ert-async.el") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0hn9i405nfhjd1h9vnwj43nxbbz00khrwkjq0acfyxjaz1shfac9")))) + (build-system emacs-build-system) + (home-page "https://github.com/rejeep/ert-async.el") + (synopsis "Async support for ERT") + (description "This package allows ERT to work with asynchronous tests.") + (license license:gpl3+))) + +(define-public emacs-prodigy-el + (let ((commit "701dccaa56de9e6a330c05bde33bce4f3b3d6a97") + (version "0.7.0") + (revision "28")) + (package + (name "emacs-prodigy-el") + (version (git-version version revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/rejeep/prodigy.el") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1vyvxawlayp2nra0q83146q2nzv8qwn5a4nj0sx1jc90a0a83vgj")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-dash" ,emacs-dash) + ("emacs-s" ,emacs-s) + ("emacs-f" ,emacs-f))) + (native-inputs + `(("emacs-el-mock" ,emacs-el-mock) + ("emacs-ert-async" ,emacs-ert-async))) + (home-page "https://github.com/rejeep/prodigy.el") + (synopsis "Manage external services from within Emacs") + (description "This package provides a GUI for defining and monitoring services.") + (license license:gpl3+)))) + +(define-public emacs-web-server + (let ((commit "cafa5b7582c57252a0884b2c33da9b18fb678713") + (version "0.1.1") + (revision "1")) + (package + (name "emacs-web-server") + (version (git-version version revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/eschulte/emacs-web-server/") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1c0lfqmbs5hvz3fh3c8wgp6ipwmxrwx9xj264bjpj3phixd5419y")))) + (build-system emacs-build-system) + (home-page "https://github.com/eschulte/emacs-web-server/") + (synopsis "Web server with handlers in Emacs Lisp") + (description "This package supports HTTP GET and POST requests with +url-encoded parameters, as well as web sockets.") + (license license:gpl3+)))) + +(define-public emacs-markdown-preview-mode + (package + (name "emacs-markdown-preview-mode") + (version "0.9.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ancane/markdown-preview-mode") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1d1id99gagymvzdfa1mwqh8y3szm8ii47rpijkfi1qnifjg5jaq9")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-markdown-mode" ,emacs-markdown-mode) + ("emacs-websocket" ,emacs-websocket) + ("emacs-web-server" ,emacs-web-server))) + (arguments '(#:include '("\\.el$" "\\.html$"))) + (home-page "https://github.com/ancane/markdown-preview-mode") + (synopsis "Live web development in Emacs") + (description "This package provides a minor mode for preview of Markdown +files, and sends rendered Markdown to a web browser.") + (license license:gpl3+))) + +(define-public emacs-dotenv-mode + (package + (name "emacs-dotenv-mode") + (version "0.2.4") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/preetpalS/emacs-dotenv-mode") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1fplkhxnsgdrg10iqsmw162zny2idz4vvv35spsb9j0hsk8imclc")))) + (build-system emacs-build-system) + (home-page "https://github.com/preetpalS/emacs-dotenv-mode") + (synopsis "Major mode for @file{.env} files") + (description "This package provides syntax highlighting for @file{.env} +files.") + (license license:gpl3+))) + +(define-public emacs-add-node-modules-path + (let ((commit "f31e69ccb681f882aebb806ce6e9478e3ac39708") + (version "1.2.0") + (revision "10")) + (package + (name "emacs-add-node-modules-path") + (version (git-version version revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/codesuki/add-node-modules-path") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0p106bqmvdr8by5iv02bshm339qbrjcch2d15mrm4h3nav03v306")))) + (build-system emacs-build-system) + (home-page "https://github.com/codesuki/add-node-modules-path") + (synopsis "Add @file{node_modules} to the buffer-local @file{exec-path}") + (description "This package searches the parent directories of the +current file for the project's @file{node_modules/.bin/} directory, allowing +Emacs to find project-specific installations of packages.") + (license license:expat)))) + +(define-public emacs-flow-minor-mode + (let ((commit "d1b32a7dd0d33c6a00a106da5f4b2323602cbd3e") + (version "0.3") + (revision "4")) + (package + (name "emacs-flow-minor-mode") + (version (git-version version revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/an-sh/flow-minor-mode") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "169r4ib9qg9q6fm3p0p23qs1qx4pa9pg1qvyq4ysr85i7kwygppl")))) + (build-system emacs-build-system) + (home-page "https://github.com/an-sh/flow-minor-mode") + (synopsis "Minor mode for JavaScript Flow files") + (description "This package integrates Flow with Emacs, allowing for +definition-jumping and type-checking on demand.") + (license license:bsd-3)))) + +(define-public emacs-rjsx-mode + (let ((commit "03dd8d1683501e81b58674d64c3032b7b718402c") + (version "0.4.0") + (revision "35")) + (package + (name "emacs-rjsx-mode") + (version (git-version version revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/felipeochoa/rjsx-mode") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1kc44g9f38klpjklmz9n50a28nqv7prz6ck6ghdr6bnj1s98pb8a")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-js2-mode" ,emacs-js2-mode))) + (home-page "https://github.com/felipeochoa/rjsx-mode") + (synopsis "Major mode for JSX files") + (description "This package extends the parser of @code{js2-mode} to +support JSX syntax.") + (license license:expat)))) + +(define-public emacs-origami-el + (let ((commit "1f38085c8f9af7842765ed63f7d6dfe4dab59366") + (version "1.0") + (revision "1")) + (package + (name "emacs-origami-el") + (version (git-version version revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/gregsexton/origami.el") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0ha1qsz2p36pqa0sa2sp83lspbgx5lr7930qxnwd585liajzdd9x")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-dash" ,emacs-dash) + ("emacs-s" ,emacs-s))) + (home-page "https://github.com/gregsexton/origami.el") + (synopsis "Flexible text-folding") + (description "This package provides a minor mode for collapsing and +expanding regions of text without modifying the actual contents.") + (license license:expat)))) + +(define-public emacs-peep-dired + (let ((commit "c88a9a3050197840edfe145f11e0bb9488de32f4") + (version "0") + (revision "1")) + (package + (name "emacs-peep-dired") + (version (git-version version revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/asok/peep-dired") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1wy5qpnfri1gha2cnl6q20qar8dbl2mimpb43bnhmm2g3wgjyad6")))) + (build-system emacs-build-system) + (home-page "https://github.com/asok/peep-dired") + (synopsis "Preview files in another window") + (description "This package provides a minor mode that allows files to be +previewed by scrolling up and down within a @code{dired} buffer.") + (license license:gpl3+)))) + +(define-public emacs-counsel-etags + (package + (name "emacs-counsel-etags") + (version "1.8.3") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/redguardtoo/counsel-etags") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1d8nlrbsyza6q7yqm9248bxxsf49qf6hchg3zwv0l11acn3w8np5")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-ivy" ,emacs-ivy))) + (home-page "https://github.com/redguardtoo/counsel-etags") + (synopsis "Fast @code{Ctags}/@code{Etags} solution with @code{ivy-mode}") + (description "This package uses @code{ivy-mode} to facilitate navigating +and searching through @code{Ctags} files.") + (license license:gpl3+))) + +(define-public emacs-helm-dash + (let ((commit "192b862185df661439a06de644791171e899348a") + (version "1.3.0") + (revision "18")) + (package + (name "emacs-helm-dash") + (version (git-version version revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/areina/helm-dash") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "06am5vnr4hsxkvh2b8q8kb80y5x1h3qyv7gwggswwhfa7w2vba3w")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-helm" ,emacs-helm))) + (home-page "https://github.com/areina/helm-dash") + (synopsis "Offline documentation browser for APIs using Dash docsets") + (description "This package uses Helm to install and navigate through +Dash docsets.") + (license license:gpl3+)))) + +(define-public emacs-counsel-dash + (let ((commit "07fa74a94ff4da5b6c8c4810f5e143e701b480d2") + (version "0.1.3") + (revision "3")) + (package + (name "emacs-counsel-dash") + (version (git-version version revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/nathankot/counsel-dash") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "17h2m9zsadq270mkq12kmdzmpbfjiwjbg8n1rg2apqnm1ndgcwf8")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-helm-dash" ,emacs-helm-dash) + ("emacs-dash" ,emacs-dash) + ("emacs-ivy" ,emacs-ivy))) + (home-page "https://github.com/nathankot/counsel-dash") + (synopsis "Offline documentation browser for APIs using Dash docsets") + (description "This package uses @code{ivy-mode} to install and navigate +through Dash docsets.") + (license license:expat)))) + +(define-public emacs-el-patch + (package + (name "emacs-el-patch") + (version "2.2.3") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/raxod502/el-patch") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "18djslz177q6q33y82zmg2v6n9236a76kiqfvxdk4vbqzjbq82f7")))) + (build-system emacs-build-system) + (home-page "https://github.com/raxod502/el-patch") + (synopsis "Future-proof your Emacs customizations") + (description "This package allows for an alternate definition of an Elisp +function to be specified and for any differences from the original definition +to be examined using Ediff.") + (license license:expat))) + +(define-public emacs-info-plus + (let ((commit "b837d710f7d58db586116cf6f75e75a9a074bc4b") + (version "5101") + (revision "55")) + (package + (name "emacs-info-plus") + (version (git-version version revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/emacsmirror/info-plus") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1knyjkdm4rcs3qrc51jllw46ph7ycq5zxnvl70ydchzfwava43h6")))) + (build-system emacs-build-system) + (home-page "https://github.com/emacsmirror/info-plus") + (synopsis "Extensions to @file{info.el}") + (description "This package extends Emacs' @file{info.el} by allowing +outline-enabled table of contents, additional metadata association for Info +nodes, and more.") + (license license:gpl2+)))) + +(define-public emacs-eval-sexp-fu-el + (package + (name "emacs-eval-sexp-fu-el") + (version "0.5.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/hchbaw/eval-sexp-fu.el") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "01mpnpgmlnfbi2yw9dxz5iw72mw3lk223bj172i4fnx3xdrrxbij")))) + (build-system emacs-build-system) + (home-page "https://github.com/hchbaw/eval-sexp-fu.el") + (synopsis "Enhancements for evaluating s-expressions") + (description "This package provides provides variants of +@code{eval-last-sexp} that work on the containing list or s-expression, as +well as an option for visually flashing evaluated s-expressions.") + (license license:gpl3+))) + +(define-public emacs-counsel-tramp + (package + (name "emacs-counsel-tramp") + (version "0.6.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/masasam/emacs-counsel-tramp") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0nz0733x2b9b5nkwivvhv5c8747dng451na1sdfbkx5x9fjs5gc7")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-ivy" ,emacs-ivy))) + (home-page "https://github.com/masasam/emacs-counsel-tramp") + (synopsis "Ivy interface for TRAMP") + (description "This package allows @code{ivy-mode} to display and filter +SSH servers.") + (license license:gpl3+))) + +(define-public emacs-eacl + (package + (name "emacs-eacl") + (version "2.0.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/redguardtoo/eacl") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0ksn11sm3g1ja5lpjz3hrzzw8b480mfcb3q589m52qjgvvn5iyfv")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-ivy" ,emacs-ivy))) + (home-page "https://github.com/redguardtoo/eacl") + (synopsis "Auto-complete lines by using @code{grep} on a project") + (description "This package provides auto-completion cammands for single +and multiple lines of code in a project.") + (license license:gpl3+))) + (define-public emacs-semantic-refactor ;; The last release, 0.5, was made on 2015-07-26 and there have been 47 ;; commits since then. diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index e00931c504..7c60cc6021 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2013 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2014 Taylan Ulrich Bayirli/Kammer <taylanbayirli@gmail.com> -;;; Copyright © 2014, 2015, 2016, 2017, 2018 Mark H Weaver <mhw@netris.org> +;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2014, 2015, 2016, 2017 Alex Kost <alezost@gmail.com> ;;; Copyright © 2016, 2018 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2016 Federico Beffa <beffa@fbengineering.ch> @@ -68,14 +68,14 @@ (define-public emacs (package (name "emacs") - (version "26.1") + (version "26.2") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/emacs/emacs-" version ".tar.xz")) (sha256 (base32 - "0b6k1wq44rc8gkvxhi1bbjxbz3cwg29qbq8mklq2az6p1hjgrx0w")) + "13n5m60i47k96mpv5pp6km2ph9rv2m5lmbpzj929v02vpsfyc70m")) (patches (search-patches "emacs-exec-path.patch" "emacs-fix-scheme-indent-function.patch" "emacs-source-date-epoch.patch")) diff --git a/gnu/packages/embedded.scm b/gnu/packages/embedded.scm index 5ea2b17197..a65998c369 100644 --- a/gnu/packages/embedded.scm +++ b/gnu/packages/embedded.scm @@ -1013,6 +1013,8 @@ SPI, I2C, JTAG.") "uptools/atcmd/atinterf.c") (("/opt/freecalypso/loadtools") (string-append (assoc-ref outputs "out") "/lib/freecalypso/loadtools")) + (("\\$\\{INSTALL_PREFIX\\}/loadtools") + (string-append (assoc-ref outputs "out") "/lib/freecalypso/loadtools")) (("/opt/freecalypso") (assoc-ref outputs "out"))) #t))))) diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm index 902e766438..f9358c7225 100644 --- a/gnu/packages/emulators.scm +++ b/gnu/packages/emulators.scm @@ -466,13 +466,13 @@ and Game Boy Color games.") (version "2.5") (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/mupen64plus/mupen64plus-core/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/mupen64plus/mupen64plus-core.git") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 "0dg2hksm5qni2hcha93k7n4fqr92888p946f7phb0ndschzfh9kk")))) + (base32 "116fndl6652zrp1r6ag4xv3dzp1x52mlvadj8xwflq07fd5rhri1")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config) @@ -514,13 +514,13 @@ core library.") (version "2.5") (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/mupen64plus/mupen64plus-audio-sdl/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/mupen64plus/mupen64plus-audio-sdl.git") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 "0ss6w92n2rpfnazhg9lbq0nvs3fqx93nliz3k3wjxdlx4dpi7h3a")))) + (base32 "0z19amfg9vr2pqjjri1ipc7hs681fzjcnb0f9y7bjhp5n8d7p6bb")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config) @@ -560,13 +560,13 @@ SDL audio plugin.") (version "2.5") (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/mupen64plus/mupen64plus-input-sdl/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/mupen64plus/mupen64plus-input-sdl.git") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 "11sj5dbalp2nrlmki34vy7wy28vc175pnnkdk65p8599hnyq37ri")))) + (base32 "1dyazfbdjycdfslq8jixqiqhziw0rlkvach2r9dz91229jmkyc9c")))) (build-system gnu-build-system) (native-inputs `(("which" ,which))) @@ -605,13 +605,13 @@ SDL input plugin.") (version "2.5") (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/mupen64plus/mupen64plus-rsp-hle/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/mupen64plus/mupen64plus-rsp-hle.git") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 "15h7mgz6xd2zjzm6l3f96sbs8kwr3xvbwzgikhnka79m6c69hsxv")))) + (base32 "0pi31qzjjp7aypdvvnz6ms18g09c4gqzxi6328zj8sji94b75gf0")))) (build-system gnu-build-system) (inputs `(("mupen64plus-core" ,mupen64plus-core))) @@ -647,13 +647,13 @@ high-level emulation (HLE) RSP processor plugin.") (version "2.0.0") (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/mupen64plus/mupen64plus-rsp-z64/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/mupen64plus/mupen64plus-rsp-z64.git") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 "10jz1w2dhx5slhyk4m8mdqlpsd6cshchslr1fckb2ayzb1ls3ghi")))) + (base32 "0nfyjns9k8xbg3aqs7593nfaxvlj72h3l8h467442xlk8ajfcylx")))) (build-system gnu-build-system) (inputs `(("mupen64plus-core" ,mupen64plus-core))) @@ -689,13 +689,13 @@ Z64 RSP processor plugin.") (version "2.0.0") (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/mupen64plus/mupen64plus-video-arachnoid/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/mupen64plus/mupen64plus-video-arachnoid.git") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 "0jjwf144rihznm4lnqbhgigxw664v3v32wy94adaa6imk8z6gslh")))) + (base32 "1v9fqwpb6pawr8z5cm2ki7bqkks4iyr5c4jy4v5khj6h8zcv55gc")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config) @@ -735,13 +735,13 @@ Arachnoid video plugin.") (version "2.0.0") (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/mupen64plus/mupen64plus-video-glide64/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/mupen64plus/mupen64plus-video-glide64.git") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 "1rm55dbf6xgsq1blbzs6swa2ajv0qkn38acbljj346abnk6s3dla")))) + (base32 "0qn5za7g7796kh2ag3xpmhbqg0yf71g9liz6ks0rha8pz73lgs01")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config) @@ -789,13 +789,13 @@ Glide64 video plugin.") (version "2.5") (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/mupen64plus/mupen64plus-video-glide64mk2/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/mupen64plus/mupen64plus-video-glide64mk2.git") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 "1ihl4q293d6svba26b4mhapjcdg12p90gibz79b4mx423jlcxxj9")))) + (base32 "08pm28a36dpr0cvr8pzw0n5ksdazp7jqvlmqfy2lwb4dm0cwhkqd")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config) @@ -839,13 +839,13 @@ Glide64MK2 video plugin.") (version "2.5") (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/mupen64plus/mupen64plus-video-rice/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/mupen64plus/mupen64plus-video-rice.git") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 "0rd2scjmh285w61aj3mgx71whg5rqrjbry3cdgicczrnyvf8wdvk")))) + (base32 "0rpmbcq67gsj5h5jjis146378qc1mskskvx20y1ikx59yhbamh13")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config) @@ -887,13 +887,13 @@ Rice Video plugin.") (version "2.0.0") (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/mupen64plus/mupen64plus-video-z64/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/mupen64plus/mupen64plus-video-z64.git") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 "1x7wsjs5gx2iwx20p4cjcbf696zsjlh31qxmghwv0ifrq8x58s1b")) + (base32 "04qa2fdd6dakpk2v0d4l80xh9b4h8gm71g80c0wyyxdhmhwk1r9c")) (patches (search-patches "mupen64plus-video-z64-glew-correct-path.patch")))) (build-system gnu-build-system) (native-inputs @@ -942,13 +942,13 @@ Z64 video plugin.") (version "2.5") (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/mupen64plus/mupen64plus-ui-console/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/mupen64plus/mupen64plus-ui-console.git") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 "04qkpd8ic7xsgnqz7spl00wxdygf79m7d1k8rabbygjk5lg6p8z2")) + (base32 "0vrf98qa6a0y3647kslsv644fag233dxh5dcr1yncjiiwickcr5a")) (patches (search-patches "mupen64plus-ui-console-notice.patch")))) (build-system gnu-build-system) (native-inputs @@ -1005,21 +1005,21 @@ towards a working Mupen64Plus for casual users.") (package (name "nestopia-ue") (version "1.48") - (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/rdanbrook/nestopia/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "184y05z4k4a4m4022niy625kan0rklh8gcxyynxli1fss2sjjrpv")) - (modules '((guix build utils))) - (snippet - '(begin - ;; We don't need libretro for the GNU/Linux build. - (delete-file-recursively "libretro") - #t)))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/rdanbrook/nestopia.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "19c8vx5yxbysl0sszk5blfngwacshdgwbf44g1qaxvq8ywiyxmb4")) + (modules '((guix build utils))) + (snippet + '(begin + ;; We don't need libretro for the GNU/Linux build. + (delete-file-recursively "libretro") + #t)))) (build-system cmake-build-system) (native-inputs `(("pkg-config" ,pkg-config))) diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm index a90ceab0d2..cf308e03f6 100644 --- a/gnu/packages/engineering.scm +++ b/gnu/packages/engineering.scm @@ -9,7 +9,7 @@ ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org> ;;; Copyright © 2018, 2019 Jonathan Brielmaier <jonathan.brielmaier@web.de> -;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net> +;;; Copyright © 2018, 2019 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2019 Tim Stahel <swedneck@swedneck.xyz> ;;; ;;; This file is part of GNU Guix. @@ -2008,3 +2008,57 @@ editors.") slicing software to x3g files for standalone 3D printing on common 3D printers.") (license license:gpl2+))) + +(define-public gnucap + (package + (name "gnucap") + (version "20171003") + (source + (origin + (method url-fetch) + (uri (string-append "https://git.savannah.gnu.org/cgit/gnucap.git/snapshot/gnucap-" + version ".tar.gz")) + (sha256 + (base32 + "16m09xa685qhj5fqq3bcgakrwnb74xhf5f7rpqkkf9fg8plzbb1g")))) + (build-system gnu-build-system) + (inputs + `(("readline" ,readline))) + (arguments + `(#:phases + (modify-phases %standard-phases + (replace 'configure + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + ;; Set correct rpath so that gnucap finds libgnucap.so. + (substitute* (list "apps/configure" "lib/configure" + "main/configure" "modelgen/configure") + (("LDFLAGS =") + (string-append "LDFLAGS = -Wl,-rpath=" out "/lib"))) + ;; gnucap uses a hand-written configure script that expects the + ;; --prefix argument to be the first argument passed to it. + (invoke "./configure" (string-append "--prefix=" out))))) + (replace 'check + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (libpath "../lib/O:../apps/O")) + (with-directory-excursion "tests" + ;; Make test return non-zero exit code when a test fails. + (substitute* "test" + (("/bin/sh") "/bin/sh -e") + (("\\|\\| echo \"\\*\\*\\*\\* \\$ii fails \\*\\*\\*\\*\"") "")) + ;; Fix expected plugin search path for test c_attach.1.gc + (substitute* "==out/c_attach.1.gc.out" + (("/usr/local/lib/gnucap") + (string-append libpath ":" out "/lib/gnucap"))) + ;; Set library path so that gnucap can find libgnucap.so + ;; while running the tests. + (setenv "LD_LIBRARY_PATH" libpath) + (invoke "./test" "../main/O/gnucap" "" "test-output" "==out")))))))) + (home-page "https://www.gnu.org/software/gnucap/") + (synopsis "Mixed analog and digital circuit simulator") + (description "GNUcap is a circuit analysis package. It offers a general +purpose circuit simulator and can perform DC and transient analyses, fourier +analysis and AC analysis. The engine is designed to do true mixed-mode +simulation.") + (license license:gpl3+))) diff --git a/gnu/packages/file-systems.scm b/gnu/packages/file-systems.scm index c778ebd21e..3a7e3284a9 100644 --- a/gnu/packages/file-systems.scm +++ b/gnu/packages/file-systems.scm @@ -322,7 +322,7 @@ network. LIBNFS offers three different APIs, for different use : `(("bzip2" ,bzip2) ("fuse" ,fuse) ("zlib" ,zlib))) - (synopsis "Read-only FUSE driver for the APFS filesystem") + (synopsis "Read-only FUSE driver for the APFS file system") (description "APFS-FUSE is a read-only FUSE driver for the @dfn{Apple File System} (APFS). It is currently in an experimental state — it may not be able to read all files, and it does not support all the compression methods in diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm index 575569d3aa..bd30d466f4 100644 --- a/gnu/packages/finance.scm +++ b/gnu/packages/finance.scm @@ -390,7 +390,7 @@ other machines/servers. Electrum does not download the Bitcoin blockchain.") (package (inherit electrum) (name "electron-cash") - (version "3.3.6") + (version "4.0.1") (source (origin (method url-fetch) @@ -401,7 +401,7 @@ other machines/servers. Electrum does not download the Bitcoin blockchain.") ".tar.gz")) (sha256 (base32 - "110apc376wm4yd9ghpffiipwdn8rzyr3z7ncpp2516wbz4mmyhxc")) + "16fi03f23yb5r9s64x1a9wrxnvivlbawvrbq4d486yclzl1r7y48")) (modules '((guix build utils))) (snippet '(begin @@ -627,7 +627,7 @@ Monero GUI client.") (define-public python-trezor-agent (package (name "python-trezor-agent") - (version "0.13.0") + (version "0.13.1") (source (origin (method git-fetch) @@ -636,7 +636,7 @@ Monero GUI client.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0i4igkxi8fwdlbhg6nx27lhnc9v9nmrw4j5fvpnc202n6yjlc7x7")))) + (base32 "0q99vbfd3h85s8rnjipnmldixabqmmlk5w9karv6f0rhyi54f4zv")))) (build-system python-build-system) (arguments `(#:phases @@ -733,14 +733,14 @@ Ledger Blue/Nano S.") (define-public python-trezor (package (name "python-trezor") - (version "0.11.1") + (version "0.11.2") (source (origin (method url-fetch) (uri (pypi-uri "trezor" version)) (sha256 (base32 - "064yds8f4px0c6grkkanpdjx022g4q87ihzhkmdv9qanv0hz6hv0")))) + "1f0zfki12mnhidkfxpx2lpq1xim8f35i2d64bx9lf4m26xxv9x56")))) (build-system python-build-system) (arguments `(#:phases @@ -779,14 +779,14 @@ TREZOR Hardware Wallet.") (define-public python-keepkey (package (name "python-keepkey") - (version "6.0.2") + (version "6.0.3") (source (origin (method url-fetch) (uri (pypi-uri "keepkey" version)) (sha256 (base32 - "16j8hnxj9r4b2w6kfncmny09pb1al8ppmn59qxzl3qmh1xhpy45g")))) + "0z3d0m6364v9dv0njs4cd5m5ai6j6v35xaaxfxl90m9vmyxy81vd")))) (build-system python-build-system) (arguments `(#:phases diff --git a/gnu/packages/firmware.scm b/gnu/packages/firmware.scm index 0f3e1009ac..4df4b22843 100644 --- a/gnu/packages/firmware.scm +++ b/gnu/packages/firmware.scm @@ -377,7 +377,7 @@ Virtual Machines. OVMF contains a sample UEFI firmware for QEMU and KVM.") (define* (make-arm-trusted-firmware platform #:optional (arch "aarch64")) (package (name (string-append "arm-trusted-firmware-" platform)) - (version "1.5") + (version "2.1") (source (origin (method git-fetch) @@ -388,7 +388,7 @@ Virtual Machines. OVMF contains a sample UEFI firmware for QEMU and KVM.") (file-name (git-file-name "arm-trusted-firmware" version)) (sha256 (base32 - "1gm0bn2llzfzz9bfsz11fhwxj5lxvyrq7bc13fjj033nljzxn7k8")))) + "1gy5qskrjy8n3kxdcm1dx8b45l5b75n0pm8pq80wl6xic1ycy24r")))) (build-system gnu-build-system) (arguments `(#:phases @@ -448,25 +448,10 @@ such as: license:bsd-2)))) ; libfdt (define-public arm-trusted-firmware-sun50i-a64 - (let ((base (make-arm-trusted-firmware "sun50i_a64")) - ;; Use unreleased version which enables additional features needed for - ;; LCD support - (commit "98aab97484b27e40aa74a93e5d1c1ac037a7e0b8") - (revision "2")) + (let ((base (make-arm-trusted-firmware "sun50i_a64"))) (package (inherit base) - (name "arm-trusted-firmware-sun50i-a64") - (version (git-version "2.0" revision commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/ARM-software/arm-trusted-firmware.git") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0z5si034vcn4m68zaixc5v8fs1c7vxbh7n4hggxs55p0jg01dan5"))))))) + (name "arm-trusted-firmware-sun50i-a64")))) (define-public arm-trusted-firmware-puma-rk3399 (let ((base (make-arm-trusted-firmware "rk3399")) diff --git a/gnu/packages/flashing-tools.scm b/gnu/packages/flashing-tools.scm index d9c663d7f4..f0547a1a8a 100644 --- a/gnu/packages/flashing-tools.scm +++ b/gnu/packages/flashing-tools.scm @@ -127,15 +127,14 @@ brick your device.") (define-public avrdude (package (name "avrdude") - (version "6.1") + (version "6.3") (source (origin (method url-fetch) (uri (string-append "mirror://savannah/avrdude/avrdude-" version ".tar.gz")) (sha256 - (base32 - "0frxg0q09nrm95z7ymzddx7ysl77ilfbdix1m81d9jjpiv5bm64y")))) + (base32 "15m1w1qad3dj7r8n5ng1qqcaiyx1gyd6hnc3p2apgjllccdp77qg")))) (build-system gnu-build-system) (inputs `(("libelf" ,libelf) @@ -148,8 +147,8 @@ brick your device.") (synopsis "AVR downloader and uploader") (description "AVRDUDE is a utility to download/upload/manipulate the ROM and -EEPROM contents of AVR microcontrollers using the in-system programming -technique (ISP).") +EEPROM contents of AVR microcontrollers using the @acronym{ISP, in-system +programming} technique.") (license license:gpl2+))) (define-public dfu-programmer diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm index 25d93fd28d..a84cb3b97a 100644 --- a/gnu/packages/freedesktop.scm +++ b/gnu/packages/freedesktop.scm @@ -54,12 +54,14 @@ #:use-module (gnu packages docbook) #:use-module (gnu packages documentation) #:use-module (gnu packages gettext) + #:use-module (gnu packages ghostscript) #:use-module (gnu packages gl) #:use-module (gnu packages glib) ;intltool #:use-module (gnu packages gnome) #:use-module (gnu packages gperf) #:use-module (gnu packages graphviz) #:use-module (gnu packages gtk) + #:use-module (gnu packages image) #:use-module (gnu packages libffi) #:use-module (gnu packages libunwind) #:use-module (gnu packages libusb) @@ -74,6 +76,7 @@ #:use-module (gnu packages python-xyz) #:use-module (gnu packages sqlite) #:use-module (gnu packages valgrind) + #:use-module (gnu packages video) #:use-module (gnu packages w3m) #:use-module (gnu packages web) #:use-module (gnu packages xdisorg) @@ -628,7 +631,7 @@ applications, X servers (rootless or fullscreen) or other display servers.") (define-public weston (package (name "weston") - (version "5.0.0") + (version "6.0.0") (source (origin (method url-fetch) (uri (string-append @@ -636,30 +639,40 @@ applications, X servers (rootless or fullscreen) or other display servers.") "weston-" version ".tar.xz")) (sha256 (base32 - "1bsc9ry566mpk6fdwkqpvwq2j7m79d9cvh7d3lgf6igsphik98hm")))) - (build-system gnu-build-system) + "04p6hal5kalmdp5dxwh2h5qhkkb4dvbsk7l091zvvcq70slj6qsl")))) + (build-system meson-build-system) (native-inputs `(("pkg-config" ,pkg-config) ("xorg-server" ,xorg-server))) (inputs `(("cairo" ,cairo-xcb) + ("colord" ,colord) ("dbus" ,dbus) ("elogind" ,elogind) + ("lcms" ,lcms) + ("libevdev" ,libevdev) ("libinput" ,libinput-minimal) + ("libjpeg" ,libjpeg) ("libunwind" ,libunwind) + ("libva" ,libva) + ("libwebp" ,libwebp) ("libxcursor" ,libxcursor) ("libxkbcommon" ,libxkbcommon) + ("libxml2" ,libxml2) ("mesa" ,mesa) ("mtdev" ,mtdev) ("linux-pam" ,linux-pam) + ("pango" ,pango) ("wayland" ,wayland) ("wayland-protocols" ,wayland-protocols) ("xorg-server-xwayland" ,xorg-server-xwayland))) (arguments `(#:configure-flags - (list "--disable-setuid-install" - "--enable-systemd-login" - (string-append "--with-xserver-path=" + (list "-Dbackend-rdp=false" ; TODO: Enable. + "-Dremoting=false" ; TODO: Enable. + "-Dsimple-dmabuf-drm=auto" + "-Dsystemd=false" + (string-append "-Dxwayland-path=" (assoc-ref %build-inputs "xorg-server-xwayland") "/bin/Xwayland")) #:parallel-tests? #f ; Parallel tests cause failures. @@ -668,8 +681,8 @@ applications, X servers (rootless or fullscreen) or other display servers.") (add-before 'configure 'use-elogind (lambda _ ;; Use elogind instead of systemd - (substitute* "configure" - (("libsystemd-login >= 198") "libelogind")) + (substitute* "libweston/meson.build" + (("libsystemd-login") "libelogind")) (substitute* '("libweston/launcher-logind.c" "libweston/weston-launch.c") (("#include <systemd/sd-login.h>") @@ -677,7 +690,8 @@ applications, X servers (rootless or fullscreen) or other display servers.") #t)) (add-after 'configure 'patch-confdefs.h (lambda _ - (system "echo \"#define HAVE_SYSTEMD_LOGIN_209 1\" >> confdefs.h"))) + (system "echo \"#define HAVE_SYSTEMD_LOGIN_209 1\" >> confdefs.h") + #t)) (add-before 'check 'setup (lambda _ (setenv "HOME" (getcwd)) @@ -906,7 +920,7 @@ interfaces, based on the useradd, usermod and userdel commands.") (define-public libmbim (package (name "libmbim") - (version "1.18.0") + (version "1.18.2") (source (origin (method url-fetch) (uri (string-append @@ -914,7 +928,7 @@ interfaces, based on the useradd, usermod and userdel commands.") name "-" version ".tar.xz")) (sha256 (base32 - "10mjjy860aakfd3h1yaj9l1jw816amrpwmyqlx37j21xv0l03x3c")))) + "0s4jsfsydp2vykv7lnimalp9i680aas1qcx7zdpjiic64b5g48vp")))) (build-system gnu-build-system) (native-inputs `(("glib:bin" ,glib "bin") ; for glib-mkenums @@ -937,7 +951,7 @@ which speak the Mobile Interface Broadband Model (MBIM) protocol.") (define-public libqmi (package (name "libqmi") - (version "1.22.2") + (version "1.22.4") (source (origin (method url-fetch) (uri (string-append @@ -945,7 +959,7 @@ which speak the Mobile Interface Broadband Model (MBIM) protocol.") "libqmi-" version ".tar.xz")) (sha256 (base32 - "09w20dsgr16bgbqw5ds7r6j2s6ihwyalh9zpbjhcn7cvm0afbwgi")))) + "1wgrrb9vb3myl8xgck8ik86876ycbg8crylybs3ssi21vrxqwnsc")))) (build-system gnu-build-system) (inputs `(("libgudev" ,libgudev))) diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm index 5ff28532fb..79b87856d5 100644 --- a/gnu/packages/game-development.scm +++ b/gnu/packages/game-development.scm @@ -6,7 +6,7 @@ ;;; Copyright © 2015, 2016, 2017 David Thompson <davet@gnu.org> ;;; Copyright © 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016, 2017 Kei Kebreau <kkebreau@posteo.net> -;;; Copyright © 2016, 2018 Ricardo Wurmus <rekado@elephly.net> +;;; Copyright © 2016, 2018, 2019 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2016, 2017, 2018 Julian Graham <joolean@gmail.com> ;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017 Manolis Fragkiskos Ragkousis <manolis837@gmail.com> @@ -1404,3 +1404,33 @@ Fenix.") (description "This package contains a collection of modules for the Bennu Game Developement programming language, from CD handling through SDL to joystick support."))) + +(define-public plib + (package + (name "plib") + (version "1.8.5") + (source (origin + (method url-fetch) + (uri (string-append "http://plib.sourceforge.net/dist/" + "plib-" version ".tar.gz")) + (sha256 + (base32 + "0cha71mflpa10vh2l7ipyqk67dq2y0k5xbafwdks03fwdyzj4ns8")))) + (build-system gnu-build-system) + (inputs + `(("mesa" ,mesa) + ("libxi" ,libxi) + ("libxmu" ,libxmu))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (home-page "http://plib.sourceforge.net/") + (synopsis "Suite of portable game libraries") + (description "PLIB is a set of libraries that will permit programmers to +write games and other realtime interactive applications that are 100% portable +across a wide range of hardware and operating systems. PLIB includes sound +effects, music, a complete 3D engine, font rendering, a simple Windowing +library, a game scripting language, a GUI, networking, 3D math library and a +collection of handy utility functions. All are 100% portable across nearly +all modern computing platforms. Each library component is fairly independent +of the others") + (license license:lgpl2.0+))) diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 2afe5b58ba..0b93409c76 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -3542,12 +3542,19 @@ Linux / Mac OS X servers, and an auto mapper with a VT100 map display.") (inputs `(("lablgtk" ,lablgtk) ("ocaml" ,ocaml) - ("ocaml-findlib" ,ocaml-findlib))) + ("ocaml-findlib" ,ocaml-findlib) + ("ocamlbuild" ,ocamlbuild))) (arguments '(#:phases (modify-phases %standard-phases (delete 'configure) - (add-before 'build 'setenv + (add-before 'build 'allow-unsafe-strings + ;; Fix a build failure with ocaml >=4.06.0. + ;; See <https://github.com/sgimenez/laby/issues/53>. + (lambda _ + (setenv "OCAMLPARAM" "safe-string=0,_") + #t)) + (add-before 'build 'set-library-path (lambda* (#:key inputs #:allow-other-keys) (let ((lablgtk (assoc-ref inputs "lablgtk"))) (setenv "LD_LIBRARY_PATH" @@ -6765,3 +6772,198 @@ a procedurally generated world, the player can explore thousands of rooms in search of powerful artifacts, tools to help them, and to eventually free the Orcus Dome from evil.") (license license:gpl3+))) + +(define-public marble-marcher + (let ((commit "e580460a0c3826f9b28ab404607942a8ecb625d7") + (revision "1")) + (package + (name "marble-marcher") + (version (git-version "0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/HackerPoet/MarbleMarcher.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0jjv832hl1v170n6gryp2sr3lgqndi9ab841qvgqk68bks8701mx")))) + (build-system cmake-build-system) + (arguments + `(#:tests? #f ; there are none + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'embed-asset-directory + (lambda* (#:key outputs #:allow-other-keys) + (let ((assets (string-append (assoc-ref outputs "out") + "/share/marble-marcher/assets/"))) + ;; Some of the files we're patching are + ;; ISO-8859-1-encoded, so choose it as the default + ;; encoding so the byte encoding is preserved. + (with-fluids ((%default-port-encoding #f)) + (substitute* "src/Resource.rc" + (("../assets/icon.ico") + (string-append assets "icon.ico"))) + (substitute* "src/Res.h" + (("assets/") assets)))) + #t)) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (assets (string-append out "/share/marble-marcher/assets")) + (bin (string-append out "/bin/"))) + (mkdir-p bin) + (mkdir-p assets) + (copy-recursively "../source/assets" assets) + (install-file "MarbleMarcher" bin)) + #t))))) + (inputs + `(("eigen" ,eigen) + ("mesa" ,mesa) + ("sfml" ,sfml))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (home-page "https://codeparade.itch.io/marblemarcher") + (synopsis "Guide a marble across fractal landscapes") + (description "Marble Marcher is a video game that uses a fractal physics +engine and fully procedural rendering to produce beautiful and unique +gameplay. The game is played on the surface of evolving fractals. The goal +of the game is to get your marble to the flag as quickly as possible. But be +careful not to fall off the level or get crushed by the fractal! There are 24 +levels to unlock.") + ;; Code is under GPLv2+, assets are under CC-BY-SA 3.0 and OFL 1.1. + (license (list license:gpl2+ + license:silofl1.1 + license:cc-by-sa3.0))))) + +;; This must be updated together with flightgear. +(define simgear + (package + (name "simgear") + (version "2018.3.2") + (source (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/flightgear/release-" + (version-major+minor version) "/" + "simgear-" version ".tar.bz2")) + (sha256 + (base32 + "1941ay8rngz4vwsx37bbpxr48hpcvcbj3xw1hy264lq4qnl99c68")))) + (build-system cmake-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (replace 'check + (lambda _ + ;; Skip tests that require internet access. + (invoke "ctest" "-E" "(http|dns)")))))) + (inputs + `(("boost" ,boost-for-mysql) ; fails with 1.69 + ("curl" ,curl) + ("expat" ,expat) + ("mesa" ,mesa) + ("openal" ,openal) + ("openscenegraph" ,openscenegraph-3.4) + ("zlib" ,zlib))) + (home-page "https://home.flightgear.org/") + (synopsis "Libraries for 3D simulations and games") + (description "SimGear is a set of libraries designed to be used as +building blocks for quickly assembling 3D simulations, games, and +visualization applications. SimGear is developed by the FlightGear project +and also provides the base for the FlightGear Flight Simulator.") + (license license:lgpl2.0+))) + +(define-public flightgear + (package + (name "flightgear") + (version (package-version simgear)) + (source (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/flightgear/release-" + (version-major+minor version) "/" + "flightgear-" version ".tar.bz2")) + (sha256 + (base32 + "0lzy524cjzs8vldcjcc750bgg5c4mq9fkymxxxzqf68ilc4d1jss")) + (modules '((guix build utils))) + (snippet + '(begin + ;; There are some bundled libraries. + (for-each delete-file-recursively + '("3rdparty/sqlite3/")) + #t)))) + (build-system cmake-build-system) + (arguments + `(#:configure-flags + (list "-DSYSTEM_SQLITE=ON" + (string-append "-DFG_DATA_DIR=" + (assoc-ref %outputs "out") + "/share/flightgear")) + ;; TODO: test cannot be run because the "run_test_suite" executable + ;; does not seem to be built. + #:tests? #f + #:phases + (modify-phases %standard-phases + (add-after 'install 'wrap-executable + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (wrap-program (string-append out "/bin/fgfs") + `("QT_PLUGIN_PATH" ":" prefix + ,(map (lambda (label) + (string-append (assoc-ref inputs label) + "/lib/qt5/plugins")) + '("qtbase" "qtdeclarative" "qtsvg"))) + `("QML2_IMPORT_PATH" ":" prefix + ,(map (lambda (label) + (string-append (assoc-ref inputs label) + "/lib/qt5/qml")) + '("qtdeclarative" "qtsvg")))) + #t))) + (add-after 'install 'install-data + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((share (string-append (assoc-ref outputs "out") "/share/flightgear"))) + (mkdir-p share) + (with-directory-excursion share + (invoke "tar" "xf" (assoc-ref inputs "flightgear-data") + "--strip-components=1"))) + #t))))) + (inputs + `(("boost" ,boost-for-mysql) ; same as simgear + ("dbus" ,dbus) + ("eudev" ,eudev) + ("freeglut" ,freeglut) + ("freetype" ,freetype) + ("glew" ,glew) + ("libpng" ,libpng) + ("openal" ,openal) + ("openscenegraph" ,openscenegraph-3.4) + ("plib" ,plib) + ("qtbase" ,qtbase) + ("qtdeclarative" ,qtdeclarative) + ("qtsvg" ,qtsvg) + ("simgear" ,simgear) + ("speexdsp" ,speexdsp) + ("sqlite" ,sqlite) + ("zlib" ,zlib))) + (native-inputs + `(("cppunit" ,cppunit) + ("pkg-config" ,pkg-config) + ("qttools" ,qttools) + ("flightgear-data" + ,(origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/flightgear/release-" + (version-major+minor version) "/" + "FlightGear-" version "-data.tar.bz2")) + (sha256 + (base32 + "0h4npa7gqpf5fw6pv2bpw0wbwr7fa2vhia21cjbigfgd75x82zi7")))))) + (home-page "https://home.flightgear.org/") + (synopsis "Flight simulator") + (description "The goal of the FlightGear project is to create a +sophisticated flight simulator framework for use in research or academic +environments, pilot training, as an industry engineering tool, for DIY-ers to +pursue their favorite interesting flight simulation idea, and last but +certainly not least as a fun, realistic, and challenging desktop flight +simulator.") + (license license:gpl2+))) diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm index 4761a277ae..0b95fbe613 100644 --- a/gnu/packages/geo.scm +++ b/gnu/packages/geo.scm @@ -746,14 +746,14 @@ to create databases that are optimized for rendering/tile/map-services.") (name "libosmium") (version "2.14.2") (source - (origin - (method url-fetch) - (uri (string-append "https://github.com/osmcode/libosmium/archive/v" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "0d9b46qiw7zkw1h9lygjdwqxnbhm3c7v8kydzw9f9f778cyagc94")))) + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/osmcode/libosmium.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "123ri1l0a2b9fljgpwsl7z2w4i3kmgxz79d4ns9z4mwbp8sw0250")))) (build-system cmake-build-system) (propagated-inputs `(("boost" ,boost) @@ -776,20 +776,21 @@ OpenStreetMap data.") (package (name "osm2pgsql") (version "0.96.0") - (source (origin - (method url-fetch) - (uri (string-append "https://github.com/openstreetmap/osm2pgsql/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "08y7776r4l9v9177a4q6cfdri0lpirky96m6g699hwl7v1vhw0mn")) - (modules '((guix build utils))) - (snippet - '(begin - (delete-file-recursively "contrib/protozero") - (delete-file-recursively "contrib/libosmium") - #t)))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/openstreetmap/osm2pgsql.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "032cydh8ynaqfhdzmkvgbmqyjql668y6qln1l59l2s3ni9963bbl")) + (modules '((guix build utils))) + (snippet + '(begin + (delete-file-recursively "contrib/protozero") + (delete-file-recursively "contrib/libosmium") + #t)))) (build-system cmake-build-system) (arguments `(#:tests? #f; tests fail because we need to setup a database @@ -823,14 +824,15 @@ map, geocoding with Nominatim, or general analysis.") (package (name "tippecanoe") (version "1.31.5") - (source (origin - (method url-fetch) - (uri (string-append "https://github.com/mapbox/tippecanoe/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1057na1dkgjaryr7jr15lqkxpam111d3l5zdpdkqzzzpxmdjxqcf")))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/mapbox/tippecanoe.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1m0x931a945sr7axyhcvpwh798m58hx1zxh6ikgf9gsgqhdhmszz")))) (build-system gnu-build-system) (arguments `(#:phases diff --git a/gnu/packages/gimp.scm b/gnu/packages/gimp.scm index 575666fdeb..3ead5b32a3 100644 --- a/gnu/packages/gimp.scm +++ b/gnu/packages/gimp.scm @@ -118,7 +118,7 @@ buffers.") (define-public gimp (package (name "gimp") - (version "2.10.8") + (version "2.10.10") (source (origin (method url-fetch) (uri (string-append "https://download.gimp.org/pub/gimp/v" @@ -126,7 +126,7 @@ buffers.") "/gimp-" version ".tar.bz2")) (sha256 (base32 - "16sb4kslwin2jbgdb4nhks78pd0af8mvj8g5hap3hj946p7w2jfq")))) + "0xwck5nbpb945s1cyij3kfqw1pchbhx8i5vf5hgywyjw4r1z5l8j")))) (build-system gnu-build-system) (outputs '("out" "doc")) ; 9 MiB of gtk-doc HTML @@ -368,5 +368,5 @@ MyPaint.") "This package provides resynthesizer plugins for GIMP, which encompasses tools for healing selections (content-aware fill), enlarging the canvas and healing the border, increasing the resolution while adding detail, and -transfering the style of an image.") +transferring the style of an image.") (license license:gpl3+))) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index ff8e8ad2e0..5583af576b 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -2666,7 +2666,7 @@ libxml to ease remote use of the RESTful API.") (define-public libsoup (package (name "libsoup") - (version "2.66.0") + (version "2.66.1") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/libsoup/" @@ -2674,7 +2674,7 @@ libxml to ease remote use of the RESTful API.") name "-" version ".tar.xz")) (sha256 (base32 - "08c9kkdhzy504gv23pfdm4sq3dd3j20sikwz6gv0qrwcdjnw5bai")))) + "1zs3bhspwg7fggxd7x1rrggpkcf2j9ch6dhncq9syh252z0vcb2a")))) (build-system meson-build-system) (outputs '("out" "doc")) (arguments @@ -4309,15 +4309,15 @@ work and the interface is well tested.") (define-public eolie (package (name "eolie") - (version "0.9.52") + (version "0.9.60") (source (origin (method url-fetch) (uri (string-append "https://gitlab.gnome.org/World/eolie/" - "uploads/d95bf72958276c80dfaca8cce0e4e92c/" + "uploads/3b2ceb7eb15860587db6886bfdd8a91e/" "eolie-" version ".tar.xz")) (sha256 (base32 - "1s3b0rkm8sxmhzzi624snzqvz61i1rja5wxyzw6jg2kcdjcylwln")))) + "1s9gkzxa6457v6bh0q8n1ijq1chd2jwgvhk5kppsnya7kxvsx8qh")))) (build-system meson-build-system) (arguments `(#:glib-or-gtk? #t @@ -4378,9 +4378,9 @@ a secret password store, an adblocker, and a modern UI.") (version "3.28.3.1") (source (origin (method url-fetch) - (uri (string-append "mirror://gnome/sources/" name "/" + (uri (string-append "mirror://gnome/sources/epiphany/" (version-major+minor version) "/" - name "-" version ".tar.xz")) + "epiphany-" version ".tar.xz")) (sha256 (base32 "1xz6xl6b0iihvczyr0cs1z5ifvpai6anb4m0ng1caiph06klc1b9")))) diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm index 25c9e0b476..f9baf49fe9 100644 --- a/gnu/packages/graphics.scm +++ b/gnu/packages/graphics.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2015, 2016 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2015 Tomáš Čech <sleep_walker@gnu.org> ;;; Copyright © 2016 Leo Famulari <leo@famulari.name> -;;; Copyright © 2016, 2017 Ricardo Wurmus <rekado@elephly.net> +;;; Copyright © 2016, 2017, 2019 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2016, 2018 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2017 Manolis Fragkiskos Ragkousis <manolis837@gmail.com> @@ -538,6 +538,32 @@ virtual reality, scientific visualization and modeling.") ;; LGPL 2.1, but with 4 exceptions. This version is called OSGPL. (license license:lgpl2.1))) +;; We need this for simgear +(define-public openscenegraph-3.4 + (package (inherit openscenegraph) + (name "openscenegraph") + (version "3.4.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/openscenegraph/OpenSceneGraph") + (commit (string-append "OpenSceneGraph-" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1fbzg1ihjpxk6smlq80p3h3ggllbr16ihd2fxpfwzam8yr8yxip9")))) + (arguments + (substitute-keyword-arguments (package-arguments openscenegraph) + ((#:configure-flags flags) + `(cons + ;; The jpeg plugin requires conversion between integers and booleans + "-DCMAKE_CXX_FLAGS=-fpermissive" + ,flags)))) + (inputs + `(("libjpeg" ,libjpeg) + ,@(package-inputs openscenegraph))))) + (define-public povray (package (name "povray") diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm index d4f019c814..e7f9e8fe93 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm @@ -17,7 +17,7 @@ ;;; Copyright © 2017 ng0 <ng0@n0.is> ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Maxim Cournoyer <maxim.cournoyer@gmail.com> -;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net> +;;; Copyright © 2018, 2019 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2018 Pierre-Antoine Rouby <pierre-antoine.rouby@inria.fr> ;;; Copyright © 2018 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2019 swedebugia <swedebugia@riseup.net> @@ -898,33 +898,30 @@ tracker's SOAP service, such as @url{https://bugs.gnu.org}.") (license license:gpl3+))) (define-public guile-email - (let ((commit "fa52eac55e5946db89621a6c583d2aa357864dee") - (revision "1")) - (package - (name "guile-email") - (version (git-version "0.1.0" revision commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://git.systemreboot.net/guile-email") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1037mbz7qd9bzaqp8ysyhnl9ipd97fmj3b9jr8qfzx9179vvsj63")))) - (build-system gnu-build-system) - (native-inputs - `(("pkg-config" ,pkg-config) - ("autoconf" ,autoconf) - ("automake" ,automake))) - (inputs - `(("guile" ,guile-2.2))) - (home-page "https://git.systemreboot.net/guile-email") - (synopsis "Guile email parser") - (description "This package provides an email parser written in pure + (package + (name "guile-email") + (version "0.1.0") + (source + (origin + (method url-fetch) + (uri (string-append + "https://git.systemreboot.net/guile-email/snapshot/guile-email-" + version ".tar.xz")) + (sha256 + (base32 + "0p2v8q2kkz8m6vf2rsjvz3dj1mvnx7dxakjf72dwkndbgk3rp79f")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config) + ("autoconf" ,autoconf) + ("automake" ,automake))) + (inputs + `(("guile" ,guile-2.2))) + (home-page "https://git.systemreboot.net/guile-email") + (synopsis "Guile email parser") + (description "This package provides an email parser written in pure Guile.") - (license license:agpl3+)))) + (license license:agpl3+))) (define-public guile-debbugs-next (let ((commit "75a331d561c8b6f8efcf16216dab961c17759efe") diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index a23dfe9ae6..3d269cea83 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2015, 2016 Federico Beffa <beffa@fbengineering.ch> ;;; Copyright © 2015 Siniša Biđin <sinisa@bidin.eu> ;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org> -;;; Copyright © 2015 Eric Bavier <bavier@member.fsf.org> +;;; Copyright © 2015, 2019 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2016, 2018, 2019 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2016, 2017 ng0 <ng0@n0.is> ;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il> @@ -833,6 +833,28 @@ code pages on Windows. On all other operating systems, the library does nothing.") (license license:bsd-3))) +(define-public ghc-libffi + (package + (name "ghc-libffi") + (version "0.1") + (source + (origin + (method url-fetch) + (uri (string-append "https://hackage.haskell.org/package/" + "libffi/libffi-" version ".tar.gz")) + (sha256 + (base32 + "0g7jnhng3j7z5517aaqga0144aamibsbpgm3yynwyfzkq1kp0f28")))) + (build-system haskell-build-system) + (native-inputs `(("pkg-config" ,pkg-config))) + (inputs `(("libffi" ,libffi))) + (home-page "http://hackage.haskell.org/package/libffi") + (synopsis "Haskell binding to libffi") + (description + "A binding to libffi, allowing C functions of types only known at runtime +to be called from Haskell.") + (license license:bsd-3))) + (define-public ghc-newtype-generics (package (name "ghc-newtype-generics") diff --git a/gnu/packages/idris.scm b/gnu/packages/idris.scm index f80d6b3894..ec3eb15d63 100644 --- a/gnu/packages/idris.scm +++ b/gnu/packages/idris.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org> ;;; Copyright © 2016, 2017 David Craven <david@craven.ch> ;;; Copyright © 2018 Alex ter Weele <alex.ter.weele@gmail.com> +;;; Copyright © 2019 Eric Bavier <bavier@member.fsf.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -19,11 +20,14 @@ ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. (define-module (gnu packages idris) + #:use-module (gnu packages) #:use-module (gnu packages haskell) #:use-module (gnu packages haskell-check) #:use-module (gnu packages haskell-web) + #:use-module (gnu packages libffi) #:use-module (gnu packages multiprecision) #:use-module (gnu packages ncurses) + #:use-module (gnu packages perl) #:use-module (guix build-system gnu) #:use-module (guix build-system haskell) #:use-module (guix download) @@ -34,7 +38,7 @@ (define-public idris (package (name "idris") - (version "1.3.0") + (version "1.3.1") (source (origin (method url-fetch) (uri (string-append @@ -42,8 +46,14 @@ "idris-" version "/idris-" version ".tar.gz")) (sha256 (base32 - "1w5i2z88li4niykwc6yrgxgfp25ll6ih95cip0ri7d8i7ik03c48")))) + "0fn9h58l592j72njwma1ia48h8h87wi2rjqfxs7j2lfmvgfv18fi")) + (patches (search-patches "idris-test-no-node.patch")))) (build-system haskell-build-system) + (native-inputs ;For tests + `(("perl" ,perl) + ("ghc-tasty" ,ghc-tasty) + ("ghc-tasty-golden" ,ghc-tasty-golden) + ("ghc-tasty-rerun" ,ghc-tasty-rerun))) (inputs `(("gmp" ,gmp) ("ncurses" ,ncurses) @@ -60,6 +70,7 @@ ("ghc-fingertree" ,ghc-fingertree) ("ghc-fsnotify" ,ghc-fsnotify) ("ghc-ieee754" ,ghc-ieee754) + ("ghc-libffi" ,ghc-libffi) ("ghc-megaparsec" ,ghc-megaparsec) ("ghc-network" ,ghc-network) ("ghc-optparse-applicative" ,ghc-optparse-applicative) @@ -75,21 +86,16 @@ ("ghc-vector-binary-instances" ,ghc-vector-binary-instances) ("ghc-zip-archive" ,ghc-zip-archive))) (arguments - `(#:tests? #f ; FIXME: Test suite doesn't run in a sandbox. - #:configure-flags + `(#:configure-flags (list (string-append "--datasubdir=" - (assoc-ref %outputs "out") "/lib/idris")) + (assoc-ref %outputs "out") "/lib/idris") + "-fFFI" "-fGMP") #:phases (modify-phases %standard-phases (add-before 'configure 'set-cc-command (lambda _ (setenv "CC" "gcc") #t)) - (add-before 'configure 'update-constraints - (lambda _ - (substitute* "idris.cabal" - (("aeson >= 0\\.6 && < 1\\.3") - "aeson >= 0.6 && < 1.4")))) (add-after 'install 'fix-libs-install-location (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) @@ -99,7 +105,15 @@ (lambda (module) (symlink (string-append modules "/" module) (string-append lib "/" module))) - '("prelude" "base" "contrib" "effects" "pruviloj")))))))) + '("prelude" "base" "contrib" "effects" "pruviloj"))))) + (delete 'check) ;Run check later + (add-after 'install 'check + (lambda* (#:key outputs #:allow-other-keys #:rest args) + (let ((out (assoc-ref outputs "out"))) + (setenv "TASTY_NUM_THREADS" (number->string (parallel-job-count))) + (setenv "IDRIS_CC" "gcc") ;Needed for creating executables + (setenv "PATH" (string-append out "/bin:" (getenv "PATH"))) + (apply (assoc-ref %standard-phases 'check) args))))))) (native-search-paths (list (search-path-specification (variable "IDRIS_LIBRARY_PATH") diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 51c21b68cc..a47a1a008c 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -4027,16 +4027,18 @@ complex transformations and code analysis tools.") (package (name "java-cglib") (version "3.2.4") - (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/cglib/cglib/archive/RELEASE_" - (string-map (lambda (c) (if (char=? c #\.) #\_ c)) version) - ".tar.gz")) - (file-name (string-append "cglib-" version ".tar.gz")) - (sha256 - (base32 - "162dvd4fln76ai8prfharf66pn6r56p3sxx683j5vdyccrd5hi1q")))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/cglib/cglib.git") + (commit (string-append + "RELEASE_" + (string-map (lambda (c) (if (char=? c #\.) #\_ c)) + version))))) + (file-name (git-file-name name version)) + (sha256 + (base32 "186451jms2zfp47yd8kxd77az2cqal1my2br7klgyp8fpl4qfg8v")))) (build-system ant-build-system) (arguments `(;; FIXME: tests fail because junit runs diff --git a/gnu/packages/kodi.scm b/gnu/packages/kodi.scm index 3929909d10..58073b6170 100644 --- a/gnu/packages/kodi.scm +++ b/gnu/packages/kodi.scm @@ -281,7 +281,8 @@ alternatives. In compilers, this can reduce the cascade of secondary errors.") (sha256 (base32 "1w26aqvzxv4c70gcd1vw1pldapsc2xcacwq9b7dqx5m44j0zx1dc")) - (patches (search-patches "kodi-skip-test-449.patch")) + (patches (search-patches "kodi-skip-test-449.patch" + "kodi-set-libcurl-ssl-parameters.patch")) (snippet '(begin (use-modules (guix build utils)) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 6d289b7a0f..b429cda354 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -118,6 +118,7 @@ #:use-module (guix build-system gnu) #:use-module (guix build-system python) #:use-module (guix build-system trivial) + #:use-module (guix build-system linux-module) #:use-module (guix download) #:use-module (guix git-download) #:use-module ((guix licenses) #:prefix license:) @@ -264,9 +265,7 @@ for ARCH and optionally VARIANT, or #f if there is no such configuration." (search-auxiliary-file file))) (define %default-extra-linux-options - `(;; https://lists.gnu.org/archive/html/guix-devel/2014-04/msg00039.html - ("CONFIG_DEVPTS_MULTIPLE_INSTANCES" . #t) - ;; Modules required for initrd: + `(;; Modules required for initrd: ("CONFIG_NET_9P" . m) ("CONFIG_NET_9P_VIRTIO" . m) ("CONFIG_VIRTIO_BLK" . m) @@ -401,7 +400,7 @@ for ARCH and optionally VARIANT, or #f if there is no such configuration." (kmod (assoc-ref (or native-inputs inputs) "kmod"))) ;; Install kernel image, kernel configuration and link map. (for-each (lambda (file) (install-file file out)) - (find-files "." "^(\\.config|bzImage|zImage|Image|vmlinuz|System\\.map)$")) + (find-files "." "^(\\.config|bzImage|zImage|Image|vmlinuz|System\\.map|Module\\.symvers)$")) ;; Install device tree files (unless (null? (find-files "." "\\.dtb$")) (mkdir-p dtbdir) @@ -438,6 +437,28 @@ It has been modified to remove all non-free binary blobs.") #:patches %linux-libre-5.0-patches #:configuration-file kernel-config)) +(define-public vhba-module + (package + (name "vhba-module") + (version "20170610") + (source (origin + (method url-fetch) + (uri (string-append + "http://downloads.sourceforge.net/cdemu/vhba-module-" + version ".tar.bz2")) + (sha256 + (base32 + "1v6r0bgx0a65vlh36b1l2965xybngbpga6rp54k4z74xk0zwjw3r")))) + (build-system linux-module-build-system) + (arguments + ;; TODO: No tests? + `(#:tests? #f)) + (home-page "https://cdemu.sourceforge.io/") + (synopsis "Kernel module that emulates SCSI devices") + (description "VHBA module provides a Virtual (SCSI) HBA, which is the link +between the CDemu userspace daemon and linux kernel.") + (license license:gpl2+))) + (define %linux-libre-4.19-version "4.19.34") (define %linux-libre-4.19-hash "0rmpyj2qb651p2k2srpjndjxry87hr5vq0jkk4rvxjhm5y3sb65l") @@ -471,7 +492,13 @@ It has been modified to remove all non-free binary blobs.") (make-linux-libre "4.4.178" "1lgsd760md6b32qb5ng3anfq1n754a9d0c4xnf2mjxkimncb1jpp" '("x86_64-linux" "i686-linux") - #:configuration-file kernel-config)) + #:configuration-file kernel-config + #:extra-options + (append + `(;; https://lists.gnu.org/archive/html/guix-devel/2014-04/msg00039.html + ;; This option was removed upstream in version 4.7. + ("CONFIG_DEVPTS_MULTIPLE_INSTANCES" . #t)) + %default-extra-linux-options))) (define-public linux-libre-arm-generic (make-linux-libre %linux-libre-version @@ -1452,14 +1479,14 @@ Linux-based operating systems.") (define-public bridge-utils (package (name "bridge-utils") - (version "1.5") - (source (origin - (method url-fetch) - (uri (string-append "mirror://sourceforge/bridge/bridge/" - "bridge-utils-" version ".tar.gz")) - (sha256 - (base32 - "12367cwqmi0yqphi6j8rkx97q8hw52yq2fx4k0xfclkcizxybya2")))) + (version "1.6") + (source + (origin + (method url-fetch) + (uri (string-append "https://www.kernel.org/pub/linux/utils/net/" + "bridge-utils/bridge-utils-" version ".tar.xz")) + (sha256 + (base32 "1j16kr44csyr4yqxly26l1yw2bh4nkiasgwvask2i2gvsnsyyryc")))) (build-system gnu-build-system) ;; The tarball lacks all the generated files. @@ -2467,18 +2494,18 @@ country-specific regulations for the wireless spectrum.") (define-public lm-sensors (package (name "lm-sensors") - (version "3.4.0") - (source (origin - (method url-fetch) - (uri (list (string-append - "https://github.com/groeck/lm-sensors/archive/V" - (string-join (string-split version #\.) "-") - ".tar.gz"))) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "0knb09s9lvx0wzfsaizx3xq58q6kllqf7nkbwvir0wkgn31c2d73")) - (patches (search-patches "lm-sensors-hwmon-attrs.patch")))) + (version "3.5.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/groeck/lm-sensors.git") + (commit (string-append "V" (string-join + (string-split version #\.) "-"))))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1mdrnb9r01z1xfdm6dpkywvf9yy9a4yzb59paih9sijwmigv19fj")) + (patches (search-patches "lm-sensors-hwmon-attrs.patch")))) (build-system gnu-build-system) (inputs `(("rrdtool" ,rrdtool) ("perl" ,perl) @@ -2535,7 +2562,7 @@ country-specific regulations for the wireless spectrum.") (string-append (assoc-ref inputs "coreutils") "/bin/readlink -f"))) #t))))) - (home-page "http://jdelvare.nerim.net/devel.html#lmsensors") + (home-page "https://hwmon.wiki.kernel.org/lm_sensors") (synopsis "Utilities to read temperature/voltage/fan sensors") (description "Lm-sensors is a hardware health monitoring package for Linux. It allows diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index 5a30e7c1dd..08592bb770 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -13,6 +13,7 @@ ;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz> ;;; Copyright © 2018 Pierre Langlois <pierre.langlois@gmx.com> ;;; Copyright © 2019 Katherine Cox-Buday <cox.katherine.e@gmail.com> +;;; Copyright © 2019 Jesse Gildersleve <jessejohngildersleve@protonmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -691,13 +692,13 @@ portable between implementations.") (version "1.2") (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/sionescu/fiveam/archive/v" - version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/sionescu/fiveam.git") + (commit (string-append "v" version)))) + (file-name (git-file-name "fiveam" version)) (sha256 - (base32 "0f48pcbhqs3wwwzjl5nk57d4hcbib4l9xblxc66b8c2fhvhmhxnv")) - (file-name (string-append "fiveam-" version ".tar.gz")))) + (base32 "1yx9716mk8pq9076q6cjx4c9lyax3amiccy37sh0913k2x8gsm4l")))) (inputs `(("alexandria" ,sbcl-alexandria))) (build-system asdf-build-system/sbcl) (synopsis "Common Lisp testing framework") @@ -714,18 +715,18 @@ interactive development model in mind.") (sbcl-package->ecl-package sbcl-fiveam)) (define-public sbcl-bordeaux-threads - (let ((commit "354abb0ae9f1d9324001e1a8abab3128d7420e0e") + (let ((commit "5dce49fbc829f4d136a734f5ef4f5d599660984f") (revision "1")) (package (name "sbcl-bordeaux-threads") - (version (git-version "0.8.5" revision commit)) + (version (git-version "0.8.6" revision commit)) (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/sionescu/bordeaux-threads.git") (commit commit))) (sha256 - (base32 "1hcfp21l6av1xj6z7r77sp6h4mwf9vvx4s745803sysq2qy2mwnq")) + (base32 "1gkh9rz7zw57n3110ikcf4835950wr4hgp8l79id5ai6nd86x7wv")) (file-name (git-file-name "bordeaux-threads" version)))) (inputs `(("alexandria" ,sbcl-alexandria))) @@ -818,14 +819,21 @@ logical continuation of Stefil. It focuses on interactive debugging.") (version "1.0.16") (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/edicl/flexi-streams/archive/v" - version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/edicl/flexi-streams.git") + (commit (string-append "v" version)))) + (file-name (git-file-name "flexi-streams" version)) (sha256 - (base32 "1fb0jrwxr5c3i2lhy7kn30m1n0vggfzwjm1dacx6y5wf9wfsbamw")) - (file-name (string-append "flexi-streams-" version ".tar.gz")))) + (base32 "0gvykjlmja060zqq6nn6aqxlshh6r6ijahmmgf20q0d839rwpgxc")))) (build-system asdf-build-system/sbcl) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'make-git-checkout-writable + (lambda _ + (for-each make-file-writable (find-files ".")) + #t))))) (inputs `(("trivial-gray-streams" ,sbcl-trivial-gray-streams))) (synopsis "Implementation of virtual bivalent streams for Common Lisp") (description "Flexi-streams is an implementation of \"virtual\" bivalent @@ -848,13 +856,13 @@ streams which are similar to string streams.") (version "2.0.11") (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/edicl/cl-ppcre/archive/v" - version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/edicl/cl-ppcre.git") + (commit (string-append "v" version)))) + (file-name (git-file-name "cl-ppcre" version)) (sha256 - (base32 "1i7daxf0wnydb0pgwiym7qh2wy70n14lxd6dyv28sy0naa8p31gd")) - (file-name (string-append "cl-ppcre-" version ".tar.gz")))) + (base32 "0q3iany07vgqm144lw6pj0af2d3vsikpbkwcxr30fci3kzsq4f49")))) (build-system asdf-build-system/sbcl) (native-inputs `(("flexi-streams" ,sbcl-flexi-streams))) (synopsis "Portable regular expression library for Common Lisp") @@ -973,18 +981,19 @@ from other CLXes around the net.") (package (name "stumpwm") (version "18.11") - (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/stumpwm/stumpwm/archive/" - version ".tar.gz")) - (sha256 - (base32 "177gxfk4c127i9crghx6fmkipznhgylvzgnjb2pna38g21gg6s39")) - (file-name (string-append "stumpwm-" version ".tar.gz")) - (patches - ;; This patch is included in the post-18.11 git master tree - ;; and can be removed when we move to the next release. - (search-patches "stumpwm-fix-broken-read-one-line.patch")))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/stumpwm/stumpwm.git") + (commit version))) + (file-name (git-file-name "stumpwm" version)) + (sha256 + (base32 "003g1fmh7446ws49866kzny4lrk1wf034dq5fa4m9mq1nzc7cwv7")) + (patches + ;; This patch is included in the post-18.11 git master tree + ;; and can be removed when we move to the next release. + (search-patches "stumpwm-fix-broken-read-one-line.patch")))) (build-system asdf-build-system/sbcl) (native-inputs `(("fiasco" ,sbcl-fiasco) ("texinfo" ,texinfo))) @@ -1604,13 +1613,13 @@ utilities that make it even easier to manipulate text in Common Lisp. It has (version "0.8") (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/trivial-features/trivial-features/archive/v" - version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/trivial-features/trivial-features.git") + (commit (string-append "v" version)))) + (file-name (git-file-name "trivial-features" version)) (sha256 - (base32 "0db1awn6jyhcfhyfvpjvfziprmq85cigf19mwbvaprhblydsag3c")) - (file-name (string-append "trivial-features-" version ".tar.gz")))) + (base32 "0ccv7dqyrk55xga78i5vzlic7mdwp28in3g1a8fqhlk6626scsq9")))) (build-system asdf-build-system/sbcl) (arguments '(#:tests? #f)) (home-page "http://cliki.net/trivial-features") @@ -1691,13 +1700,13 @@ with a focus on interactive development.") (version "0.5.0") (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/cl-babel/babel/archive/v" - version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/cl-babel/babel.git") + (commit (string-append "v" version)))) + (file-name (git-file-name "babel" version)) (sha256 - (base32 "189kgbmslh36xx0d2i1g6a7mcvjryvjzkdlnhilqy5xs7hkyqirq")) - (file-name (string-append name "-" version ".tar.gz")))) + (base32 "139a8rn2gnhj082n8jg01gc8fyr63hkj57hgrnmb3d1r327yc77f")))) (build-system asdf-build-system/sbcl) (native-inputs `(("tests:cl-hu.dwim.stefil" ,sbcl-hu.dwim.stefil))) @@ -2971,12 +2980,13 @@ non-consing thread safe queues and fibonacci priority queues.") (version "0.19.0") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/cffi/cffi/archive/v" - version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/cffi/cffi.git") + (commit (string-append "v" version)))) + (file-name (git-file-name "cffi-bootstrap" version)) (sha256 - (base32 "07bc3c1fbfx17wgrvx6bh9byilfzfwv5n597cfdllm0vzwvbmiyk")) - (file-name (string-append name "-" version ".tar.gz")))) + (base32 "09sfgc6r7ihmbkwfpvkq5fxc7h45cabpvgbvs47i5cvnmv3k72xy")))) (build-system asdf-build-system/sbcl) (inputs `(("libffi" ,libffi) @@ -3235,13 +3245,13 @@ precisely control behavior of the parser via Common Lisp restarts.") (version "0.21") (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/trivial-garbage/trivial-garbage/archive/v" - version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/trivial-garbage/trivial-garbage.git") + (commit (string-append "v" version)))) + (file-name (git-file-name "trivial-garbage" version)) (sha256 - (base32 "0b244nlszkrqawsnp568clnx32xmvjmbbagbz7625w9n0yq7396y")) - (file-name (string-append "trivial-garbage-" version ".tar.gz")))) + (base32 "0122jicfg7pca1wxw8zak1n92h5friqy60988ns0ysksj3fphw9n")))) (build-system asdf-build-system/sbcl) (native-inputs `(("rt" ,sbcl-rt))) @@ -4169,12 +4179,13 @@ sockets, SSL, continuable uploads, file uploads, cookies, and more.") (version "1.2.38") (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/edicl/hunchentoot/archive/v" - version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/edicl/hunchentoot.git") + (commit (string-append "v" version)))) + (file-name (git-file-name "hunchentoot" version)) (sha256 - (base32 "17z8rpd6b5w93jwrdwfwxjha617xnjqw8aq1hw2z76zp1fn8yrmh")))) + (base32 "1anpcad7w045m4rsjs1f3xdhjwx5cppq1h0vlb3q7dz81fi3i6yq")))) (build-system asdf-build-system/sbcl) (native-inputs `(("sbcl-cl-who" ,sbcl-cl-who) @@ -5238,3 +5249,36 @@ Python's WSGI and Ruby's Rack.") (define-public cl-clack (sbcl-package->cl-source-package sbcl-clack)) + +(define-public sbcl-log4cl + (let ((commit "611e094458504b938d49de904eab141285328c7c") + (revision "1")) + (package + (name "sbcl-log4cl") + (build-system asdf-build-system/sbcl) + (version "1.1.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/sharplispers/log4cl") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "08jly0s0g26b56hhpfizxsb4j0yvbh946sd205gr42dkzv8l7dsc")))) + ;; FIXME: tests require stefil, sbcl-hu.dwim.stefil wont work + (arguments + `(#:tests? #f)) + (inputs `(("bordeaux-threads" ,sbcl-bordeaux-threads))) + (synopsis "Common Lisp logging framework, modeled after Log4J") + (home-page "https://github.com/7max/log4cl") + (description "This is a Common Lisp logging framework that can log at +various levels and mix text with expressions.") + (license license:asl2.0)))) + +(define-public cl-log4cl + (sbcl-package->cl-source-package sbcl-log4cl)) + +(define-public ecl-log4cl + (sbcl-package->ecl-package sbcl-log4cl)) diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm index 3d46b02338..53884daf9b 100644 --- a/gnu/packages/llvm.scm +++ b/gnu/packages/llvm.scm @@ -40,7 +40,9 @@ #:use-module (gnu packages bootstrap) ;glibc-dynamic-linker #:use-module (gnu packages compression) #:use-module (gnu packages libffi) + #:use-module (gnu packages mpi) #:use-module (gnu packages perl) + #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) #:use-module (gnu packages xml)) @@ -282,6 +284,43 @@ code analysis tools.") use with Clang, targeting C++11, C++14 and above.") (license license:expat))) +(define-public libomp + (package + (name "libomp") + (version (package-version llvm)) + (source (origin + (method url-fetch) + (uri (string-append "http://releases.llvm.org/" + version "/openmp-" version + ".src.tar.xz")) + (sha256 + (base32 + "030dkg5cypd7j9hq0mcqb5gs31lxwmzfq52j81l7v9ldcy5bf5mz")) + (file-name (string-append "libomp-" version ".tar.xz")))) + (build-system cmake-build-system) + ;; XXX: Note this gets built with GCC because building with Clang itself + ;; fails (missing <atomic>, even when libcxx is added as an input.) + (arguments + '(#:configure-flags '("-DLIBOMP_USE_HWLOC=ON" + "-DOPENMP_TEST_C_COMPILER=clang" + "-DOPENMP_TEST_CXX_COMPILER=clang++") + #:test-target "check-libomptarget")) + (native-inputs + `(("clang" ,clang) + ("llvm" ,llvm) + ("perl" ,perl) + ("pkg-config" ,pkg-config))) + (inputs + `(("hwloc" ,hwloc "lib"))) + (home-page "https://openmp.llvm.org") + (synopsis "OpenMP run-time support library") + (description + "This package provides the run-time support library developed by the LLVM +project for the OpenMP multi-theaded programming extension. This package +notably provides @file{libgomp.so}, which is has a binary interface compatible +with that of libgomp, the GNU Offloading and Multi Processing Library.") + (license license:expat))) + (define-public clang-runtime (clang-runtime-from-llvm llvm diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm index 10aff22206..00662fb26d 100644 --- a/gnu/packages/machine-learning.scm +++ b/gnu/packages/machine-learning.scm @@ -49,6 +49,7 @@ #:use-module (gnu packages check) #:use-module (gnu packages compression) #:use-module (gnu packages cran) + #:use-module (gnu packages databases) #:use-module (gnu packages dejagnu) #:use-module (gnu packages gcc) #:use-module (gnu packages glib) @@ -65,7 +66,9 @@ #:use-module (gnu packages python) #:use-module (gnu packages python-web) #:use-module (gnu packages python-xyz) + #:use-module (gnu packages serialization) #:use-module (gnu packages statistics) + #:use-module (gnu packages sqlite) #:use-module (gnu packages swig) #:use-module (gnu packages tls) #:use-module (gnu packages web) @@ -305,28 +308,46 @@ networks) based on simulation of (stochastic) flow in graphs.") (version "12-068oasis4") (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/fhcrc/mcl/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/fhcrc/mcl.git") + (commit version))) + (file-name (git-file-name name version)) (sha256 (base32 - "1l5jbhwjpsj38x8b9698hfpkv75h8hn3kj0gihjhn8ym2cwwv110")))) + "0009dc3h2jp3qg5val452wngpqnbfyhbcxylghq0mrjqxx0jdq5p")))) (build-system ocaml-build-system) (arguments - `(#:ocaml ,ocaml-4.02 - #:findlib ,ocaml4.02-findlib - #:phases + `(#:phases (modify-phases %standard-phases (add-before 'configure 'patch-paths (lambda _ (substitute* "configure" - (("SHELL = /bin/sh") (string-append "SHELL = "(which "sh")))) + (("/bin/sh") (which "sh"))) (substitute* "setup.ml" (("LDFLAGS=-fPIC") - (string-append "LDFLAGS=-fPIC\"; \"SHELL=" (which "sh")))) + (string-append "LDFLAGS=-fPIC\"; \"SHELL=" (which "sh"))) + (("-std=c89") "-std=gnu99") + + ;; This is a mutable string, which is no longer supported. Use + ;; a byte buffer instead. + (("String.make \\(String.length s\\)") + "Bytes.make (String.length s)") + + ;; These two belong together. + (("OASISString.replace_chars") + "Bytes.to_string (OASISString.replace_chars") + ((" s;") + " s);")) + (substitute* "myocamlbuild.ml" + (("std=c89") "std=gnu99")) + ;; Since we build with a more recent OCaml, we have to use C99 or + ;; later. This causes problems with the old C code. + (substitute* "src/impala/matrix.c" + (("restrict") "restrict_")) #t))))) + (native-inputs + `(("ocamlbuild" ,ocamlbuild))) (home-page "https://github.com/fhcrc/mcl") (synopsis "OCaml wrappers around MCL") (description @@ -1285,3 +1306,451 @@ for load balancing, tracing, health checking and authentication. It is also applicable in last mile of distributed computing to connect devices, mobile applications and browsers to backend services.") (license license:asl2.0))) + +;; Note that Tensorflow includes a "third_party" directory, which seems to not +;; only contain modified subsets of upstream library source code, but also +;; adapter headers provided by Google (such as the fft.h header, which is not +;; part of the upstream project code). The Tensorflow code includes headers +;; from the "third_party" directory. It does not look like we can replace +;; these headers with unmodified upstream files, so we keep them. +(define-public tensorflow + (package + (name "tensorflow") + (version "1.9.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/tensorflow/tensorflow.git") + (commit (string-append "v" version)))) + (file-name (string-append "tensorflow-" version "-checkout")) + (sha256 + (base32 + "0a9kwha395g3wgxfwln5j8vn9nkspmd75xldrlqdq540w996g8xa")))) + (build-system cmake-build-system) + (arguments + `(#:tests? #f ; no "check" target + #:build-type "Release" + #:configure-flags + (let ((protobuf (assoc-ref %build-inputs "protobuf")) + (protobuf:native (assoc-ref %build-inputs "protobuf:native")) + (jsoncpp (assoc-ref %build-inputs "jsoncpp")) + (snappy (assoc-ref %build-inputs "snappy")) + (sqlite (assoc-ref %build-inputs "sqlite"))) + (list + ;; Use protobuf from Guix + (string-append "-Dprotobuf_STATIC_LIBRARIES=" + protobuf "/lib/libprotobuf.so") + (string-append "-DPROTOBUF_PROTOC_EXECUTABLE=" + protobuf:native "/bin/protoc") + + ;; Use snappy from Guix + (string-append "-Dsnappy_STATIC_LIBRARIES=" + snappy "/lib/libsnappy.so") + ;; Yes, this is not actually the include directory but a prefix... + (string-append "-Dsnappy_INCLUDE_DIR=" snappy) + + ;; Use jsoncpp from Guix + (string-append "-Djsoncpp_STATIC_LIBRARIES=" + jsoncpp "/lib/libjsoncpp.so") + ;; Yes, this is not actually the include directory but a prefix... + (string-append "-Djsoncpp_INCLUDE_DIR=" jsoncpp) + + ;; Use sqlite from Guix + (string-append "-Dsqlite_STATIC_LIBRARIES=" + sqlite "/lib/libsqlite.a") + + ;; Use system libraries wherever possible. Currently, this + ;; only affects zlib. + "-Dsystemlib_ALL=ON" + "-Dtensorflow_ENABLE_POSITION_INDEPENDENT_CODE=ON" + "-Dtensorflow_BUILD_SHARED_LIB=ON" + "-Dtensorflow_OPTIMIZE_FOR_NATIVE_ARCH=OFF" + "-Dtensorflow_ENABLE_SSL_SUPPORT=OFF" + "-Dtensorflow_BUILD_CONTRIB_KERNELS=OFF")) + #:make-flags + (list "CC=gcc") + #:modules ((ice-9 ftw) + (guix build utils) + (guix build cmake-build-system)) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'set-source-file-times-to-1980 + ;; At the end of the tf_python_build_pip_package target, a ZIP + ;; archive should be generated via bdist_wheel, but it fails with + ;; "ZIP does not support timestamps before 1980". Luckily, + ;; SOURCE_DATE_EPOCH is respected, which we set to some time in + ;; 1980. + (lambda _ (setenv "SOURCE_DATE_EPOCH" "315532800") #t)) + ;; See https://github.com/tensorflow/tensorflow/issues/20517#issuecomment-406373913 + (add-after 'unpack 'python3.7-compatibility + (lambda _ + (substitute* '("tensorflow/python/eager/pywrap_tfe_src.cc" + "tensorflow/python/lib/core/ndarray_tensor.cc" + "tensorflow/python/lib/core/py_func.cc") + (("PyUnicode_AsUTF8") "(char *)PyUnicode_AsUTF8")) + (substitute* "tensorflow/c/eager/c_api.h" + (("unsigned char async") + "unsigned char is_async")) + + ;; Remove dependency on tensorboard, a complicated but probably + ;; optional package. + (substitute* "tensorflow/tools/pip_package/setup.py" + ((".*'tensorboard >.*") "")) + #t)) + (add-after 'python3.7-compatibility 'chdir + (lambda _ (chdir "tensorflow/contrib/cmake") #t)) + (add-after 'chdir 'disable-downloads + (lambda* (#:key inputs #:allow-other-keys) + (substitute* (find-files "external" "\\.cmake$") + (("GIT_REPOSITORY.*") "") + (("GIT_TAG.*") "") + (("PREFIX ") + "DOWNLOAD_COMMAND \"\"\nPREFIX ")) + + ;; Use packages from Guix + (let ((grpc (assoc-ref inputs "grpc"))) + (substitute* "CMakeLists.txt" + ;; Sqlite + (("include\\(sqlite\\)") "") + (("\\$\\{sqlite_STATIC_LIBRARIES\\}") + (string-append (assoc-ref inputs "sqlite") + "/lib/libsqlite3.so")) + (("sqlite_copy_headers_to_destination") "") + + ;; PNG + (("include\\(png\\)") "") + (("\\$\\{png_STATIC_LIBRARIES\\}") + (string-append (assoc-ref inputs "libpng") + "/lib/libpng16.so")) + (("png_copy_headers_to_destination") "") + + ;; JPEG + (("include\\(jpeg\\)") "") + (("\\$\\{jpeg_STATIC_LIBRARIES\\}") + (string-append (assoc-ref inputs "libjpeg") + "/lib/libjpeg.so")) + (("jpeg_copy_headers_to_destination") "") + + ;; GIF + (("include\\(gif\\)") "") + (("\\$\\{gif_STATIC_LIBRARIES\\}") + (string-append (assoc-ref inputs "giflib") + "/lib/libgif.so")) + (("gif_copy_headers_to_destination") "") + + ;; lmdb + (("include\\(lmdb\\)") "") + (("\\$\\{lmdb_STATIC_LIBRARIES\\}") + (string-append (assoc-ref inputs "lmdb") + "/lib/liblmdb.so")) + (("lmdb_copy_headers_to_destination") "") + + ;; Protobuf + (("include\\(protobuf\\)") "") + (("protobuf_copy_headers_to_destination") "") + (("^ +protobuf") "") + + ;; gRPC + (("include\\(grpc\\)") + "find_package(grpc REQUIRED NAMES gRPC)") + (("list\\(APPEND tensorflow_EXTERNAL_DEPENDENCIES grpc\\)") "") + + ;; Eigen + (("include\\(eigen\\)") + (string-append "find_package(eigen REQUIRED NAMES Eigen3) +set(eigen_INCLUDE_DIRS ${CMAKE_CURRENT_BINARY_DIR}/external/eigen_archive " + (assoc-ref inputs "eigen") "/include/eigen3)")) + (("^ +eigen") "") + + ;; snappy + (("include\\(snappy\\)") + "add_definitions(-DTF_USE_SNAPPY)") + (("list\\(APPEND tensorflow_EXTERNAL_DEPENDENCIES snappy\\)") "") + + ;; jsoncpp + (("include\\(jsoncpp\\)") "") + (("^ +jsoncpp") "")) + + (substitute* "tf_core_framework.cmake" + ((" grpc") "") + (("\\$\\{GRPC_BUILD\\}/grpc_cpp_plugin") + (which "grpc_cpp_plugin")) + ;; Link with gRPC libraries + (("add_library\\(tf_protos_cc.*" m) + (string-append m + (format #f "\ntarget_link_libraries(tf_protos_cc PRIVATE \ +~a/lib/libgrpc++_unsecure.a \ +~a/lib/libgrpc_unsecure.a \ +~a/lib/libaddress_sorting.a \ +~a/lib/libgpr.a \ +~a//lib/libcares.so +)\n" + grpc grpc grpc grpc + (assoc-ref inputs "c-ares")))))) + (substitute* "tf_tools.cmake" + (("add_dependencies\\(\\$\\{proto_text.*") "")) + ;; Remove dependency on bundled grpc + (substitute* "tf_core_distributed_runtime.cmake" + (("tf_core_cpu grpc") "tf_core_cpu")) + + ;; This directory is a dependency of many targets. + (mkdir-p "protobuf") + #t)) + (add-after 'configure 'unpack-third-party-sources + (lambda* (#:key inputs #:allow-other-keys) + ;; This is needed to configure bundled packages properly. + (setenv "CONFIG_SHELL" (which "bash")) + (for-each + (lambda (name) + (let* ((what (assoc-ref inputs (string-append name "-src"))) + (name* (string-map (lambda (c) + (if (char=? c #\-) + #\_ c)) name)) + (where (string-append "../build/" name* "/src/" name*))) + (cond + ((string-suffix? ".zip" what) + (mkdir-p where) + (with-directory-excursion where + (invoke "unzip" what))) + ((string-suffix? ".tar.gz" what) + (mkdir-p where) + (invoke "tar" "xf" what + "-C" where "--strip-components=1")) + (else + (let ((parent (dirname where))) + (mkdir-p parent) + (with-directory-excursion parent + (when (file-exists? name*) + (delete-file-recursively name*)) + (copy-recursively what name*) + (map make-file-writable + (find-files name* ".*")))))))) + (list "boringssl" + "cub" + "double-conversion" + "farmhash" + "fft2d" + "highwayhash" + "nsync" + "re2")) + + (rename-file "../build/cub/src/cub/cub-1.8.0/" + "../build/cub/src/cub/cub/") + #t)) + (add-after 'unpack 'fix-python-build + (lambda* (#:key inputs outputs #:allow-other-keys) + (mkdir-p "protobuf-src") + (invoke "tar" "xf" (assoc-ref inputs "protobuf:src") + "-C" "protobuf-src" "--strip-components=1") + (mkdir-p "eigen-src") + (invoke "tar" "xf" (assoc-ref inputs "eigen:src") + "-C" "eigen-src" "--strip-components=1") + + (substitute* "tensorflow/contrib/cmake/tf_python.cmake" + ;; Ensure that all Python dependencies can be found at build time. + (("PYTHONPATH=\\$\\{CMAKE_CURRENT_BINARY_DIR\\}/tf_python" m) + (string-append m ":" (getenv "PYTHONPATH"))) + ;; Take protobuf source files from our source package. + (("\\$\\{CMAKE_CURRENT_BINARY_DIR\\}/protobuf/src/protobuf/src/google") + (string-append (getcwd) "/protobuf-src/src/google"))) + + (substitute* '("tensorflow/contrib/cmake/tf_shared_lib.cmake" + "tensorflow/contrib/cmake/tf_python.cmake") + ;; Take Eigen source files from our source package. + (("\\$\\{CMAKE_CURRENT_BINARY_DIR\\}/eigen/src/eigen/") + (string-append (getcwd) "/eigen-src/")) + ;; Take Eigen headers from our own package. + (("\\$\\{CMAKE_CURRENT_BINARY_DIR\\}/external/eigen_archive") + (string-append (assoc-ref inputs "eigen") "/include/eigen3"))) + + ;; Correct the RUNPATH of ops libraries generated for Python. + ;; TODO: this doesn't work :( + ;; /gnu/store/...-tensorflow-1.9.0/lib/python3.7/site-packages/tensorflow/contrib/seq2seq/python/ops/lib_beam_search_ops.so: + ;; warning: RUNPATH contains bogus entries: ("/tmp/guix-build-tensorflow-1.9.0.drv-0/source/tensorflow/contrib/build") + ;; /gnu/store/...-tensorflow-1.9.0/lib/python3.7/site-packages/tensorflow/contrib/seq2seq/python/ops/lib_beam_search_ops.so: + ;; error: depends on 'libpywrap_tensorflow_internal.so', which + ;; cannot be found in RUNPATH ... + (substitute* "tensorflow/contrib/cmake/tf_cc_ops.cmake" + (("set_target_properties.*") + (string-append "set_target_properties(${_AT_TARGET} PROPERTIES \ +COMPILE_FLAGS ${target_compile_flags} \ +INSTALL_RPATH_USE_LINK_PATH TRUE \ +INSTALL_RPATH " (assoc-ref outputs "out") "/lib)\n"))) + #t)) + (add-after 'build 'build-pip-package + (lambda* (#:key outputs #:allow-other-keys) + (setenv "LDFLAGS" + (string-append "-Wl,-rpath=" + (assoc-ref outputs "out") "/lib")) + (invoke "make" "tf_python_build_pip_package") + #t)) + (add-after 'build-pip-package 'install-python + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (wheel (car (find-files "../build/tf_python/dist/" "\\.whl$")))) + (invoke "python" "-m" "pip" "install" wheel + (string-append "--prefix=" out)) + + ;; XXX: broken RUNPATH, see fix-python-build phase. + (delete-file + (string-append + out "/lib/python3.7/site-packages/tensorflow/contrib/" + "seq2seq/python/ops/lib_beam_search_ops.so")) + #t)))))) + (native-inputs + `(("pkg-config" ,pkg-config) + ("protobuf:native" ,protobuf-next) ; protoc + ("protobuf:src" ,(package-source protobuf-next)) + ("eigen:src" ,(package-source eigen-for-tensorflow)) + ;; The commit hashes and URLs for third-party source code are taken + ;; from "tensorflow/workspace.bzl". + ("boringssl-src" + ,(let ((commit "ee7aa02") + (revision "1")) + (origin + (method git-fetch) + (uri (git-reference + (url "https://boringssl.googlesource.com/boringssl") + (commit commit))) + (file-name (string-append "boringssl-0-" revision + (string-take commit 7) + "-checkout")) + (sha256 + (base32 + "1jf693q0nw0adsic6cgmbdx6g7wr4rj4vxa8j1hpn792fqhd8wgw"))))) + ("cub-src" + ,(let ((version "1.8.0")) + (origin + (method url-fetch) + (uri (string-append "https://mirror.bazel.build/github.com/NVlabs/" + "cub/archive/" version ".zip")) + (file-name (string-append "cub-" version ".zip")) + (sha256 + (base32 + "1hsqikqridb90dkxkjr2918dcry6pfh46ccnwrzawl56aamhdykb"))))) + ("double-conversion-src" + ,(let ((commit "5664746") + (revision "1")) + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/google/double-conversion.git") + (commit commit))) + (file-name + (git-file-name "double-conversion" + (string-append "0-" revision "." + (string-take commit 7)))) + (sha256 + (base32 + "1h5lppqqxcvdg5jq42i5msgwx20ryij3apvmndflngrgdpc04gn1"))))) + ("farmhash-src" + ,(let ((commit "816a4ae622e964763ca0862d9dbd19324a1eaf45")) + (origin + (method url-fetch) + (uri (string-append + "https://mirror.bazel.build/github.com/google/farmhash/archive/" + commit ".tar.gz")) + (file-name (string-append "farmhash-0-" (string-take commit 7) + ".tar.gz")) + (sha256 + (base32 + "185b2xdxl4d4cnsnv6abg8s22gxvx8673jq2yaq85bz4cdy58q35"))))) + ;; The license notice on the home page at + ;; http://www.kurims.kyoto-u.ac.jp/~ooura/fft.html says: + ;; Copyright Takuya OOURA, 1996-2001 + ;; + ;; You may use, copy, modify and distribute this code for any purpose + ;; (include commercial use) and without fee. Please refer to this + ;; package when you modify this code. + ;; + ;; We take the identical tarball from the Bazel mirror, because the URL + ;; at the home page is not versioned and might change. + ("fft2d-src" + ,(origin + (method url-fetch) + (uri "https://mirror.bazel.build/www.kurims.kyoto-u.ac.jp/~ooura/fft.tgz") + (file-name "fft2d.tar.gz") + (sha256 + (base32 + "15jjkfvhqvl2c0753d2di8hz0pyzn598g74wqy79awdrf1y67fsj")))) + ("highwayhash-src" + ,(let ((commit "be5edafc2e1a455768e260ccd68ae7317b6690ee") + (revision "1")) + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/google/highwayhash.git") + (commit commit))) + (file-name (string-append "highwayhash-0-" revision + (string-take commit 7) + "-checkout")) + (sha256 + (base32 + "154jwf98cyy54hldr94pgjn85zynly3abpnc1avmb8a18lzwjyb6"))))) + ("nsync-src" + ,(let ((version "0559ce013feac8db639ee1bf776aca0325d28777") + (revision "1")) + (origin + (method url-fetch) + (uri (string-append "https://mirror.bazel.build/" + "github.com/google/nsync/archive/" + version ".tar.gz")) + (file-name (string-append "nsync-0." revision + "-" (string-take version 7) + ".tar.gz")) + (sha256 + (base32 + "0qdkyqym34x739mmzv97ah5r7ph462v5xkxqxvidmcfqbi64b132"))))) + ("re2-src" + ,(let ((commit "e7efc48") + (revision "1")) + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/google/re2") + (commit commit))) + (file-name (string-append "re2-0-" revision + (string-take commit 7) + "-checkout")) + (sha256 + (base32 + "161g9841rjfsy5pn52fcis0s9hdr7rxvb06pad38j5rppfihvign"))))) + ("googletest" ,googletest) + ("swig" ,swig) + ("unzip" ,unzip))) + (propagated-inputs + `(("python-absl-py" ,python-absl-py) + ("python-astor" ,python-astor) + ("python-gast" ,python-gast) + ("python-grpcio" ,python-grpcio) + ("python-numpy" ,python-numpy) + ("python-protobuf" ,python-protobuf-next) + ("python-six" ,python-six) + ("python-termcolo" ,python-termcolor) + ("python-wheel" ,python-wheel))) + (inputs + `(("c-ares" ,c-ares-next) + ("eigen" ,eigen-for-tensorflow) + ("gemmlowp" ,gemmlowp-for-tensorflow) + ("lmdb" ,lmdb) + ("libjpeg" ,libjpeg) + ("libpng" ,libpng) + ("giflib" ,giflib) + ("grpc" ,grpc) + ("jsoncpp" ,jsoncpp-for-tensorflow) + ("snappy" ,snappy) + ("sqlite" ,sqlite) + ("protobuf" ,protobuf-next) + ("python" ,python-wrapper) + ("zlib" ,zlib))) + (home-page "https://tensorflow.org") + (synopsis "Machine learning framework") + (description + "TensorFlow is a flexible platform for building and training machine +learning models. It provides a library for high performance numerical +computation and includes high level Python APIs, including both a sequential +API for beginners that allows users to build models quickly by plugging +together building blocks and a subclassing API with an imperative style for +advanced research.") + (license license:asl2.0))) diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index d78efbf09c..2ae3fda9a7 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -95,6 +95,7 @@ #:use-module (gnu packages onc-rpc) #:use-module (gnu packages pcre) #:use-module (gnu packages perl) + #:use-module (gnu packages perl-web) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) #:use-module (gnu packages python-web) @@ -110,6 +111,7 @@ #:use-module (gnu packages texinfo) #:use-module (gnu packages time) #:use-module (gnu packages tls) + #:use-module (gnu packages version-control) #:use-module (gnu packages w3m) #:use-module (gnu packages web) #:use-module (gnu packages webkit) @@ -1389,7 +1391,7 @@ How it works: @item This password digest is used as a symmetric secret to decrypt a libsodium secretbox. @item Inside the secretbox is stored a Curve25519 private key. @item The Curve25519 private key is used to decrypt each individual message, -using lidsodium sealed boxes. +using libsodium sealed boxes. @item New mail is encrypted as it arrives using the Curve25519 public key. @end enumerate\n") (license agpl3))) @@ -1504,6 +1506,28 @@ locates email addresses in strings and returns a list of Email::Address objects found. Alternatively you may construct objects manually.") (license perl-license))) +(define-public perl-email-address-xs + (package + (name "perl-email-address-xs") + (version "1.04") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/P/PA/PALI/" + "Email-Address-XS-" version ".tar.gz")) + (sha256 + (base32 + "0gjrrl81z3sfwavgx5kwjd87gj44mlnbbqsm3dgdv1xllw26spwr")))) + (build-system perl-build-system) + (home-page "https://metacpan.org/release/Email-Address-XS") + (synopsis "Parse and format RFC 5322 email addresses and groups") + (description + "Email::Address::XS implements RFC 5322 parser and formatter of email +addresses and groups. Unlike Email::Address, this module does not use regular +expressions for parsing but instead is implemented in XS and uses shared code +from Dovecot IMAP server.") + (license perl-license))) + (define-public perl-email-date-format (package (name "perl-email-date-format") @@ -2866,3 +2890,79 @@ replacement for the @code{urlview} program.") (description "This package provides a TNEF stream reader library and related tools to process winmail.dat files.") (license gpl2+))) + +(define-public public-inbox + (let ((commit "3cf66514aea9e958999973b9f104473b6d800fbe") + (revision "0")) + (package + (name "public-inbox") + (version (git-version "1.0.0" revision commit)) + (source + (origin (method git-fetch) + (uri (git-reference + (url "https://public-inbox.org") + (commit commit))) + (sha256 + (base32 + "1sxycwlm2n6p544gn9f0vf3xs6gz8vdswdhs2ha6fka8mgabvmdh")) + (file-name (git-file-name name version)))) + (build-system perl-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (add-before 'configure 'qualify-paths + (lambda _ + ;; Use absolute paths for 'xapian-compact'. + (let ((xapian-compact (which "xapian-compact"))) + (substitute* "script/public-inbox-compact" + (("xapian-compact") xapian-compact))) + #t)) + (add-before 'check 'pre-check + (lambda _ + (substitute* "t/spawn.t" + (("\\['env'\\]") (string-append "['" (which "env") "']"))) + #t)) + (add-after 'install 'wrap-programs + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (for-each + (lambda (prog) + (wrap-program prog + ;; Let those scripts find their perl modules. + `("PERL5LIB" ":" prefix + (,(string-append out "/lib/perl5/site_perl") + ,(getenv "PERL5LIB"))) + ;; 'git' is invoked in various files of the PublicInbox + ;; perl module. + `("PATH" ":" prefix + (,(string-append (assoc-ref inputs "git") "/bin"))))) + (find-files (string-append out "/bin")))) + #t))))) + (native-inputs + `(("git" ,git) + ("xapian" ,xapian))) + (inputs + `(("perl-danga-socket" ,perl-danga-socket) + ("perl-dbd-sqlite" ,perl-dbd-sqlite) + ("perl-dbi" ,perl-dbi) + ("perl-email-address-xs" ,perl-email-address-xs) + ("perl-email-mime-contenttype" ,perl-email-mime-contenttype) + ("perl-email-mime" ,perl-email-mime) + ("perl-email-simple" ,perl-email-simple) + ("perl-filesys-notify-simple" ,perl-filesys-notify-simple) + ("perl-plack-middleware-deflater" ,perl-plack-middleware-deflater) + ("perl-plack-middleware-reverseproxy" ,perl-plack-middleware-reverseproxy) + ("perl-plack" ,perl-plack) + ("perl-search-xapian" ,perl-search-xapian) + ("perl-timedate" ,perl-timedate) + ("perl-uri-escape" ,perl-uri-escape) + ;; For testing. + ("perl-ipc-run" ,perl-ipc-run) + ("perl-xml-feed" ,perl-xml-feed))) + (home-page "https://public-inbox.org/README.html") + (synopsis "Archive mailing lists in git repositories") + (description + "public-inbox implements the sharing of an email inbox via git to +complement or replace traditional mailing lists. Readers may read via NNTP, +Atom feeds or HTML archives.") + (license agpl3+)))) diff --git a/gnu/packages/mate.scm b/gnu/packages/mate.scm index 6d157e6ec3..0b668b4224 100644 --- a/gnu/packages/mate.scm +++ b/gnu/packages/mate.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2017 ng0 <ng0@n0.is> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2019 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2019 Guy Fleury Iteriteka <hoonandon@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -92,6 +93,46 @@ MATE applications.") (license license:gpl3+))) +(define-public mate-power-manager + (package + (name "mate-power-manager") + (version "1.22.0") + (source + (origin + (method url-fetch) + (uri (string-append "https://pub.mate-desktop.org/releases/" + (version-major+minor version) "/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "03c09h41qfz83wmjfvwzkq4xqc54aswmki4h034qcxbgfnyfmk1i")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config) + ("intltool" ,intltool) + ("yelp-tools" ,yelp-tools) + ("glib" ,glib "bin") ; glib-gettextize + ("libtool" ,libtool))) + (inputs + `(("gtk+" ,gtk+) + ("glib" ,glib) + ("dbus-glib" ,dbus-glib) + ("libgnome-keyring" ,libgnome-keyring) + ("cairo" ,cairo) + ("dbus" ,dbus) + ("libnotify" ,libnotify) + ("mate-panel" ,mate-panel) + ("libxrandr" ,libxrandr) + ("libcanberra" ,libcanberra) + ("upower" ,upower))) + (home-page "https://mate-desktop.org/") + (synopsis "A Power Manager for MATE") + (description + "MATE Power Manager is a MATE session daemon that acts as a policy agent on +top of UPower. It listens to system events and responds with user-configurable +actions.") + (license license:gpl3+))) + (define-public mate-icon-theme (package (name "mate-icon-theme") @@ -1565,6 +1606,7 @@ used to bring up authentication dialogs.") ("mate-terminal" ,mate-terminal) ("mate-themes" ,mate-themes) ("mate-icon-theme" ,mate-icon-theme) + ("mate-power-manager" ,mate-power-manager) ("mate-menu" ,mate-menus) ("mate-panel" ,mate-panel) ("mate-control-center" ,mate-control-center) diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 6746013fad..9bf5f03390 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -650,13 +650,13 @@ plotting engine by third-party applications like Octave.") (version "2.0.0") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/OkoSanto/GCTP/archive/v" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/OkoSanto/GCTP.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 - (base32 - "0l9aqnqynh9laicn5dxf3rsb1n14xiks79wbyqccirzmjqd1c1x4")))) + (base32 "11wqmd443b4nksdbzp1msdws3av948nmwq1xz80w6hka3ss2aigd")))) (native-inputs `(("fortran" ,gfortran))) (build-system gnu-build-system) @@ -1555,15 +1555,14 @@ script files.") (version "0.17.2") (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/tpaviot/oce/archive/OCE-" - version - ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/tpaviot/oce.git") + (commit (string-append "OCE-" version)))) + (file-name (git-file-name name version)) (patches (search-patches "opencascade-oce-glibc-2.26.patch")) (sha256 - (base32 - "0vpmnb0k5y2f7lpmwx9pg9yfq24zjvnsak5alzacncfm1hv9b6cd")))) + (base32 "0rg5wzkvfmzfl6v2amyryb8dnjad0nn9kyr607wy2gch6rciah69")))) (build-system cmake-build-system) (arguments '(#:configure-flags @@ -2228,12 +2227,12 @@ programming problems.") (define-public r-pracma (package (name "r-pracma") - (version "2.2.2") + (version "2.2.5") (source (origin (method url-fetch) (uri (cran-uri "pracma" version)) (sha256 - (base32 "18zhni05gwnxbphl6bmjjxmsgg5wwnnkwlb4g971cqyw3dsd83ki")))) + (base32 "0isd3s0i4mzmva8lkh0j76hwjy1w50q7d1n9lhxsnnkgalx3xs1g")))) (build-system r-build-system) (home-page "https://cran.r-project.org/web/packages/pracma/") (synopsis "Practical numerical math functions") @@ -2952,13 +2951,13 @@ associated functions (eg. contiguous and non-contiguous submatrix views).") (version (string-append upstream-version "-" revision)) (source (origin - (method url-fetch) - (uri (string-append "https://github.com/beltoforion/muparser/archive/v" - upstream-version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/beltoforion/muparser.git") + (commit (string-append "v" upstream-version)))) + (file-name (git-file-name name version)) (sha256 - (base32 - "0277qsi5l23jsck1vhn383bmvc2n9l4a1dl5r9bf7hvjv9ayyrh6")))) + (base32 "0f0g4995xngf1pp3zr4p6ai2f8v6f8bxwa0k8ayjjiv1l8h44m24")))) (build-system gnu-build-system) (arguments `(#:configure-flags '("--enable-samples=no") @@ -3146,13 +3145,13 @@ access to BLIS implementations via traditional BLAS routine calls.") (version "0.6.0") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/JuliaLang/openlibm/archive/v" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/JuliaLang/openlibm.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 - (base32 - "0a5fpm8nra5ldhjk0cqd2rx1qh32wiarkxmcqcm5xl8z7l4kjm6l")))) + (base32 "08wfchmmr5200fvmn1kwq9byc1fhsq46hn0y5k8scdl74771c7gh")))) (build-system gnu-build-system) (arguments `(#:make-flags @@ -3185,13 +3184,13 @@ environments.") (version "0.5.3") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/JuliaLang/openspecfun/archive/v" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/JuliaLang/openspecfun.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 - (base32 - "1rs1bv8jq751fv9vq79890wqf9xlbjc7lvz3ighzyfczbyjcf18m")))) + (base32 "0pfw6l3ch7isz403llx7inxlvavqh01jh1hb9dpidi86sjjx9kfh")))) (build-system gnu-build-system) (arguments '(#:tests? #f ; no "check" target @@ -3682,31 +3681,32 @@ set.") (define-public hypre (package (name "hypre") - (version "2.14.0") - (source (origin - (method url-fetch) - (uri (string-append "https://github.com/LLNL/hypre/archive/" - "v" version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "0v515i73bvaz378h5465b1dy9v2gf924zy2q94cpq4qqarawvkqh")) - (modules '((guix build utils))) - (snippet - '(begin - ;; Remove use of __DATE__ and __TIME__ for reproducibility; - ;; substitute the tarball creation time. - (substitute* "src/utilities/HYPRE_utilities.h" - (("Date Compiled: .*$") - "Date Compiled: Apr 11 2018 16:24:59 +0000\"\n")) - #t)))) + (version "2.15.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/LLNL/hypre.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1lvh4ybqkriyqfg2zmic6mrg1981qv1i9vry1fdgsabn81hb71g4")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Remove use of __DATE__ and __TIME__ for reproducibility; + ;; substitute the release date. + (substitute* "src/utilities/HYPRE_utilities.h" + (("Date Compiled: .*$") + "Date Compiled: Oct 19 2018 15:23:00 +0000\"\n")) + #t)))) (build-system gnu-build-system) - (outputs '("out" ;6.1 MiB of headers and libraries - "doc")) ;4.8 MiB of documentation + (outputs '("out" ; 6.1 MiB of headers and libraries + "doc")) ; 4.8 MiB of documentation (native-inputs `(("doc++" ,doc++) ("netpbm" ,netpbm) - ("perl" ,perl) ;needed to run 'ppmquant' during tests + ("perl" ,perl) ; needed to run 'ppmquant' during tests ("texlive" ,(texlive-union (list texlive-generic-xypic texlive-fonts-xypic texlive-latex-hyperref @@ -3770,7 +3770,7 @@ set.") (with-directory-excursion "docs" (for-each (lambda (base) (install-file (string-append base ".pdf") docdir) - (copy-recursively base docdir)) ;html docs + (copy-recursively base docdir)) ; html docs '("HYPRE_usr_manual" "HYPRE_ref_manual"))) #t)))))) diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm index 32868d1a1f..7305ab9b29 100644 --- a/gnu/packages/messaging.scm +++ b/gnu/packages/messaging.scm @@ -1693,18 +1693,19 @@ building the IRC clients and bots.") (define-public toxic (package (name "toxic") - (version "0.8.2") - (source (origin - (method url-fetch) - (uri (string-append "https://github.com/JFreegman/toxic/archive/v" - version ".tar.gz")) - (sha256 - (base32 - "1dx6z7k0zpsd7dpysdy23f0hnm49qlikb0mq8fg0y01dsz9vxgak")) - (file-name (git-file-name name version)))) + (version "0.8.3") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/JFreegman/toxic.git") + (commit (string-append "v" version)))) + (sha256 + (base32 "09l2j3lwvrq7bf3051vjsnml9w63790ly3iylgf26gkrmld6k31w")) + (file-name (git-file-name name version)))) (build-system gnu-build-system) (arguments - `(#:tests? #f ; no tests + `(#:tests? #f ; no tests #:make-flags (list "CC=gcc" @@ -1721,7 +1722,7 @@ building the IRC clients and bots.") `(("c-toxcore" ,c-toxcore) ("curl" ,curl) ("freealut" ,freealut) - ("gdk-pixbuf" ,gdk-pixbuf) ; for libnotify.pc + ("gdk-pixbuf" ,gdk-pixbuf) ; for libnotify.pc ("libconfig" ,libconfig) ("libnotify" ,libnotify) ("libpng" ,libpng) @@ -1819,13 +1820,13 @@ QMatrixClient project.") (define-public hangups (package (name "hangups") - (version "0.4.6") + (version "0.4.9") (source (origin (method url-fetch) (uri (pypi-uri "hangups" version)) (sha256 - (base32 "0mvpfd5dc3zgcvwfidcd2qyn59xl5biv728mxifw0ls5rzkc9chs")))) + (base32 "1jw4i58cd4j1ymsnhv9224xsi26w8y0qrj6z4nw50dnbl45b6aaa")))) (build-system python-build-system) (arguments `(#:phases @@ -1847,6 +1848,9 @@ QMatrixClient project.") ("python-reparser" ,python-reparser) ("python-requests" ,python-requests) ("python-urwid" ,python-urwid))) + (native-inputs + `(("python-httpretty" ,python-httpretty) + ("python-pytest" ,python-pytest))) (home-page "https://hangups.readthedocs.io/") (synopsis "Instant messaging client for Google Hangouts") (description diff --git a/gnu/packages/monitoring.scm b/gnu/packages/monitoring.scm index d7bc459ed4..a34e002a8c 100644 --- a/gnu/packages/monitoring.scm +++ b/gnu/packages/monitoring.scm @@ -427,16 +427,16 @@ written in Go with pluggable metric collectors.") (define-public fswatch (package (name "fswatch") - (version "1.13.0") + (version "1.14.0") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/emcrisostomo/fswatch.git") (commit version))) - (file-name (string-append name "-" version "-checkout")) + (file-name (git-file-name name version)) (sha256 (base32 - "0r9m3rysqa1kdgghv2i6sv4zrd0v8idsbrp627ys642dl39svir3")))) + "1ihn7wp3y7ml2lm8drz2hc6fmgj8kygbygnw8mz7gjax88f9dbx7")))) (build-system gnu-build-system) (native-inputs `(("autoconf" ,autoconf) diff --git a/gnu/packages/mp3.scm b/gnu/packages/mp3.scm index d408701814..99ca4f9007 100644 --- a/gnu/packages/mp3.scm +++ b/gnu/packages/mp3.scm @@ -5,7 +5,7 @@ ;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be> ;;; Copyright © 2017 Pierre Langlois <pierre.langlois@gmx.com> -;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -471,16 +471,16 @@ compression format (.mpc files).") (define-public eyed3 (package (name "eyed3") - (version "0.8.8") - (source (origin - (method url-fetch) - (uri (pypi-uri "eyeD3" version)) - (sha256 - (base32 - "197lszkyzm377ym5r0ssryfsiz20yjx8y4rii3wc81n92d1qzlaq")))) + (version "0.8.10") + (source + (origin + (method url-fetch) + (uri (pypi-uri "eyeD3" version)) + (sha256 + (base32 "1jb22n1jczxgbpcnfiw12r8dcs74556g1d09mzms44f52kgs7lgc")))) (build-system python-build-system) (arguments - `(#:tests? #f)) ; the required test data contains copyrighted material. + `(#:tests? #f)) ; the required test data contains copyrighted material (propagated-inputs `(("python-grako" ,python-grako) ("python-magic" ,python-magic) diff --git a/gnu/packages/mpd.scm b/gnu/packages/mpd.scm index 0147ce7756..a8f9916bb3 100644 --- a/gnu/packages/mpd.scm +++ b/gnu/packages/mpd.scm @@ -5,7 +5,7 @@ ;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net> ;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org> ;;; Copyright © 2016, 2018, 2019 Leo Famulari <leo@famulari.name> -;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -195,7 +195,7 @@ player daemon.") (define-public ncmpc (package (name "ncmpc") - (version "0.33") + (version "0.34") (source (origin (method url-fetch) (uri @@ -204,7 +204,7 @@ player daemon.") "/ncmpc-" version ".tar.xz")) (sha256 (base32 - "19fp7xkpai4lq3vmpbppgh3ism7lg2sibv237c0sl5a0hls4mq4l")))) + "0mz8r6vc4zn5sa3hlq4ii74qcrkh01nbg784zcwahgz8g3fb3i8l")))) (build-system meson-build-system) (arguments `(#:configure-flags diff --git a/gnu/packages/mpi.scm b/gnu/packages/mpi.scm index 952edca66e..461296f66b 100644 --- a/gnu/packages/mpi.scm +++ b/gnu/packages/mpi.scm @@ -161,7 +161,7 @@ bind processes, and much more.") (define-public openmpi (package (name "openmpi") - (version "4.0.0") + (version "4.0.1") (source (origin (method url-fetch) @@ -169,8 +169,7 @@ bind processes, and much more.") (version-major+minor version) "/downloads/openmpi-" version ".tar.bz2")) (sha256 - (base32 - "0srnjwzsmyhka9hhnmqm86qck4w3xwjm8g6sbns58wzbrwv8l2rg")))) + (base32 "02cpzcp113gj5hb0j2xc0cqma2fn04i2i0bzf80r71120p9bdryc")))) (build-system gnu-build-system) (inputs `(("hwloc" ,hwloc "lib") diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index 1707dfa944..10a23c919f 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -2222,14 +2222,14 @@ computer's keyboard.") (define-public aj-snapshot (package (name "aj-snapshot") - (version "0.9.8") + (version "0.9.9") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/aj-snapshot/" "aj-snapshot-" version ".tar.bz2")) (sha256 (base32 - "0wilky1g2mb88v2z0520s7sw1dsn10iwanc8id5p6z1xsnhg7b6p")))) + "0z8wd5yvxdmw1h1rj6km9h01xd4xmp4d86gczlix7hsc7zrf0wil")))) (build-system gnu-build-system) (inputs `(("minixml" ,minixml) diff --git a/gnu/packages/musl.scm b/gnu/packages/musl.scm index 8592db1373..1356b8d14d 100644 --- a/gnu/packages/musl.scm +++ b/gnu/packages/musl.scm @@ -28,14 +28,14 @@ (define-public musl (package (name "musl") - (version "1.1.21") + (version "1.1.22") (source (origin (method url-fetch) (uri (string-append "https://www.musl-libc.org/releases/" "musl-" version ".tar.gz")) (sha256 (base32 - "0i2z52zgc86af1n1gjiz43hgd85mxjgvgn345zsybja9dxpvchn7")))) + "1qr9xqdzziy5bsyyqlh6k8yz056ll55d5yvc0gbhz61ginj422cb")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; musl has no tests diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm index 9af3d97d95..56369abc41 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -161,7 +161,7 @@ residing in IPv4-only networks, even when they are behind a NAT device.") (define-public socat (package (name "socat") - (version "1.7.3.2") + (version "1.7.3.3") (source (origin (method url-fetch) (uri (string-append @@ -169,7 +169,7 @@ residing in IPv4-only networks, even when they are behind a NAT device.") version ".tar.bz2")) (sha256 (base32 - "0lcj6zpra33xhgvhmz9l3cqz10v8ybafb8dd1yqkwf1rhy01ymp3")))) + "0jnhjijyq74g3wa4ph0am83z6vq7qna7ac0xqjma8s4197z3zmhd")))) (build-system gnu-build-system) (arguments '(#:tests? #f)) ;no 'check' phase (inputs `(("openssl" ,openssl))) @@ -590,15 +590,14 @@ of the same name.") (define-public wireshark (package (name "wireshark") - (version "3.0.0") + (version "3.0.1") (source (origin (method url-fetch) (uri (string-append "https://www.wireshark.org/download/src/wireshark-" version ".tar.xz")) (sha256 - (base32 - "17h0ixq7yr6scscjkidaj3dh5x6dfd3f97ggdxlklkz9nbsk0kxw")))) + (base32 "13605bpnnbqsdr8ybqnscbz9g422zmyymn4q5aci28vc1wylr1l6")))) (build-system cmake-build-system) (arguments `(#:phases @@ -894,6 +893,30 @@ attacking, testing, and cracking. All tools are command-line driven, which allows for heavy scripting.") (license (list license:gpl2+ license:bsd-3)))) +(define-public perl-danga-socket + (package + (name "perl-danga-socket") + (version "1.61") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/B/BR/BRADFITZ/" + "Danga-Socket-" version ".tar.gz")) + (sha256 + (base32 + "0nciapvxnc922ms304af0vavz1kgyr45ard8wc659k9srqar4hwf")))) + (build-system perl-build-system) + (propagated-inputs + `(("perl-sys-syscall" ,perl-sys-syscall))) + (home-page "https://metacpan.org/release/Danga-Socket") + (synopsis "Event loop and event-driven async socket base class") + (description + "Danga::Socket is an abstract base class for objects backed by a socket +which provides the basic framework for event-driven asynchronous IO, designed +to be fast. Danga::Socket is both a base class for objects, and an event +loop.") + (license license:perl-license))) + (define-public perl-data-validate-ip (package (name "perl-data-validate-ip") @@ -924,7 +947,7 @@ private (reserved).") (define-public perl-net-dns (package (name "perl-net-dns") - (version "1.19") + (version "1.20") (source (origin (method url-fetch) @@ -935,7 +958,7 @@ private (reserved).") (string-append "mirror://cpan/authors/id/N/NL/NLNETLABS/Net-DNS-" version ".tar.gz"))) (sha256 - (base32 "1myc23vz0m42yyg8iw7bf1pdrmx9ql6fhl2vwk1vwf55v6yphqi0")))) + (base32 "06z09igd42s0kg2ps5k7vpypg77zswfryqzbyalbllvjd0mnknbz")))) (build-system perl-build-system) (inputs `(("perl-digest-hmac" ,perl-digest-hmac))) diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index 7bebf3921b..6bb15dc5e9 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -8,7 +8,7 @@ ;;; Copyright © 2016, 2018 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016-2018 Julien Lepiller <julien@lepiller.eu> ;;; Copyright © 2017 Ben Woodcroft <donttrustben@gmail.com> -;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Peter Kreye <kreyepr@gmail.com> ;;; Copyright © 2018, 2019 Gabriel Hondet <gabrielhondet@gmail.com> ;;; Copyright © 2018 Kei Kebreau <kkebreau@posteo.net> @@ -57,6 +57,7 @@ #:use-module (gnu packages pkg-config) #:use-module (gnu packages protobuf) #:use-module (gnu packages python) + #:use-module (gnu packages python-xyz) #:use-module (gnu packages sdl) #:use-module (gnu packages sqlite) #:use-module (gnu packages tex) @@ -264,14 +265,15 @@ functional, imperative and object-oriented styles of programming.") (package (name "ocamlbuild") (version "0.13.1") - (source (origin - (method url-fetch) - (uri (string-append "https://github.com/ocaml/ocamlbuild/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1320cfkixs1xlng5av04pa5qjb3ynvi2kl3k1ngqzg5fpi29b0vr")))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ocaml/ocamlbuild.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0v37vjvdqw35yvj8ipmlzmwf1jhip0hbsmcbdcn9cnj12p3mr6k7")))) (build-system gnu-build-system) (arguments `(#:test-target "test" @@ -302,33 +304,200 @@ functional, imperative and object-oriented styles of programming.") for building OCaml library and programs.") (license license:lgpl2.1+))) +(define-public ocaml-extlib + (package + (name "ocaml-extlib") + (version "1.7.6") + (source (origin + (method url-fetch) + (uri (string-append "https://ygrek.org.ua/p/release/ocaml-extlib/" + "extlib-" version ".tar.gz")) + (sha256 + (base32 + "0wfs20v1yj5apdbj7214wdsr17ayh0qqq7ihidndvc8nmmwfa1dz")))) + (build-system ocaml-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (delete 'configure)))) + (native-inputs + `(("ocaml-cppo" ,ocaml-cppo))) + (home-page "https://github.com/ygrek/ocaml-extlib") + (synopsis "Complete and small extension for OCaml standard library") + (description "This library adds new functions to OCaml standard library +modules, modifies some functions in order to get better performances or +safety (tail-recursive) and also provides new modules which should be useful +for day to day programming.") + ;; With static-linking exception + (license license:lgpl2.1+))) + +(define-public ocaml-cudf + (package + (name "ocaml-cudf") + (version "0.9") + (source + (origin + (method url-fetch) + (uri "https://gforge.inria.fr/frs/download.php/36602/cudf-0.9.tar.gz") + (sha256 + (base32 + "0771lwljqwwn3cryl0plny5a5dyyrj4z6bw66ha5n8yfbpcy8clr")))) + (build-system ocaml-build-system) + (propagated-inputs `(("ocaml-extlib" ,ocaml-extlib))) + (native-inputs + `(("perl" ,perl) + ("ocamlbuild" ,ocamlbuild) + ("ocaml-ounit" ,ocaml-ounit))) + (arguments + `(#:make-flags + (list + "all" "opt" + (string-append "BINDIR=" (assoc-ref %outputs "out") + "/bin")) + #:phases + (modify-phases %standard-phases + (delete 'configure)))) + (home-page "http://www.mancoosi.org/cudf/") + (synopsis "CUDF library (part of the Mancoosi tools)") + (description "CUDF (for Common Upgradeability Description Format) is a +format for describing upgrade scenarios in package-based Free and Open Source +Software distribution.") + ;; With static-linking exception + (license license:lgpl2.1+))) + +(define-public ocaml-mccs + (package + (name "ocaml-mccs") + (version "1.1+9") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/AltGr/ocaml-mccs") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1i0hhkrqi7rqlainlg5pc4hibbx6b5dp3x99gmav8c3sbfvlk9mc")))) + (build-system dune-build-system) + (propagated-inputs `(("ocaml-cudf" ,ocaml-cudf))) + (home-page "http://www.i3s.unice.fr/~cpjm/misc/") + (synopsis "Upgrade path problem solver") + (description "Mccs (Multi Criteria CUDF Solver) is a CUDF problem solver. +Mccs take as input a CUDF problem and computes the best solution according to +a set of criteria. It relies on a Integer Programming solver or a +Pseudo Boolean solver to achieve its task. Mccs can use a wide set of +underlying solvers like Cplex, Gurobi, Lpsolver, Glpk, CbC, SCIP or WBO.") + (license (list + license:bsd-3 + license:gpl3+ + ;; With static-linking exception + license:lgpl2.1+)))) + +(define-public ocaml-dose3 + (package + (name "ocaml-dose3") + (version "5.0.1") + (source (origin + (method url-fetch) + (uri "https://gforge.inria.fr/frs/download.php/file/36063/dose3-5.0.1.tar.gz") + (sha256 + (base32 + "00yvyfm4j423zqndvgc1ycnmiffaa2l9ab40cyg23pf51qmzk2jm")) + (patches + (search-patches + "ocaml-dose3-Add-unix-as-dependency-to-dose3.common-in-META.in.patch" + "ocaml-dose3-Fix-for-ocaml-4.06.patch" + "ocaml-dose3-dont-make-printconf.patch" + "ocaml-dose3-Install-mli-cmx-etc.patch")))) + (build-system ocaml-build-system) + (arguments + `(#:configure-flags + (list (string-append "SHELL=" + (assoc-ref %build-inputs "bash") + "/bin/sh")) + #:make-flags + (list (string-append "LIBDIR=" + (assoc-ref %outputs "out") + "/lib/ocaml/site-lib")))) + (propagated-inputs + `(("ocaml-graph" ,ocaml-graph) + ("ocaml-cudf" ,ocaml-cudf) + ("ocaml-extlib" ,ocaml-extlib) + ("ocaml-re" ,ocaml-re))) + (native-inputs + `(("perl" ,perl) + ("python" ,python-2) ; for a test script + ("python2-pyyaml" ,python2-pyyaml) ; for a test script + ("ocaml-extlib" ,ocaml-extlib) + ("ocamlbuild" ,ocamlbuild) + ("ocaml-cppo" ,ocaml-cppo))) + (home-page "http://www.mancoosi.org/software/") + (synopsis "Package distribution management framework") + (description "Dose3 is a framework made of several OCaml libraries for +managing distribution packages and their dependencies. Though not tied to +any particular distribution, dose3 constitutes a pool of libraries which +enable analyzing packages coming from various distributions. Besides basic +functionalities for querying and setting package properties, dose3 also +implements algorithms for solving more complex problems such as monitoring +package evolutions, correct and complete dependency resolution and +repository-wide uninstallability checks.") + ;; with static-linking exception + (license license:lgpl2.1+))) + +(define-public ocaml-opam-file-format + (package + (name "ocaml-opam-file-format") + (version "2.0.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ocaml/opam-file-format") + (commit version))) + (sha256 + (base32 + "0fqb99asnair0043hhc8r158d6krv5nzvymd0xwycr5y72yrp0hv")))) + (build-system ocaml-build-system) + (arguments + `(#:tests? #f; No tests + #:make-flags (list (string-append "LIBDIR=" (assoc-ref %outputs "out") + "/lib/ocaml/site-lib")) + #:phases + (modify-phases %standard-phases + (delete 'configure)))) + (home-page "https://opam.ocaml.org") + (synopsis "Parser and printer for the opam file syntax") + (description "This package contains a parser and a pretty-printer for +the opam file fomat.") + ;; With static-linking exception + (license license:lgpl2.1+))) + (define-public opam (package (name "opam") - (version "2.0.3") + (version "2.0.4") (source (origin - (method url-fetch) - ;; Use the '-full' version, which includes all the dependencies. - (uri (string-append - "https://github.com/ocaml/opam/releases/download/" - version "/opam-full-" version ".tar.gz") - ;; (string-append "https://github.com/ocaml/opam/archive/" - ;; version ".tar.gz") - ) + (method git-fetch) + (uri (git-reference + (url "https://github.com/ocaml/opam") + (commit version))) + (file-name (git-file-name name version)) (sha256 (base32 - "1qphm1grxx5j8li7f9qfpih4ylrnjl08b4ym8ma4ln44l56xm285")))) - (build-system gnu-build-system) + "1yx5k8v5vnnc20fmz5zx8kqd242j48qcknlk6vmkr7rkq886ipq2")))) + (build-system ocaml-build-system) (arguments - '(;; Sometimes, 'make -jX' would fail right after ./configure with - ;; "Fatal error: exception End_of_file". - #:parallel-build? #f + `(#:configure-flags + (list (string-append "SHELL=" + (assoc-ref %build-inputs "bash") + "/bin/sh")) ;; For some reason, 'ocp-build' needs $TERM to be set. - #:make-flags `("TERM=screen" - ,(string-append "SHELL=" - (assoc-ref %build-inputs "bash") - "/bin/sh")) + #:make-flags + (list "TERM=screen" + (string-append "SHELL=" + (assoc-ref %build-inputs "bash") + "/bin/sh")) + #:test-target "tests" ;; FIXME: There's an obscure test failure: @@ -354,12 +523,10 @@ for building OCaml library and programs.") ;; isolated environment when building with opam. ;; This is necessary for packages to find external ;; dependencies, such as a C compiler, make, etc... - (("^add_mounts ro /usr") - "add_mounts ro /gnu /run/current-system /usr")) + (("^add_sys_mounts /usr") + "add_sys_mounts /gnu /run/current-system /usr")) (substitute* "src/client/opamInitDefaults.ml" (("\"bwrap\"") (string-append "\"" bwrap "\""))) - ;; Build dependencies - (apply invoke "make" "lib-ext" make-flags) #t))) (add-before 'check 'pre-check (lambda _ @@ -368,7 +535,9 @@ for building OCaml library and programs.") (invoke "git" "config" "--global" "user.name" "Guix") #t))))) (native-inputs - `(("git" ,git) ;for the tests + `(("dune" ,dune) + ("git" ,git) ;for the tests + ("ocaml-cppo" ,ocaml-cppo) ("python" ,python) ;for the tests ("camlp4" ,camlp4))) (inputs @@ -376,6 +545,12 @@ for building OCaml library and programs.") ("ncurses" ,ncurses) ("curl" ,curl) ("bubblewrap" ,bubblewrap))) + (propagated-inputs + `(("ocaml-cmdliner" ,ocaml-cmdliner) + ("ocaml-dose3" ,ocaml-dose3) + ("ocaml-mccs" ,ocaml-mccs) + ("ocaml-opam-file-format" ,ocaml-opam-file-format) + ("ocaml-re" ,ocaml-re))) (home-page "http://opam.ocamlpro.com/") (synopsis "Package manager for OCaml") (description @@ -390,14 +565,15 @@ Git-friendly development workflow.") (package (name "camlp4") (version "4.02+6") - (source (origin - (method url-fetch) - (uri (string-append "https://github.com/ocaml/camlp4/archive/" - version ".tar.gz")) - (sha256 - (base32 - "0icdfzhsbgf89925gc8gl3fm8z2xzszzlib0v9dj5wyzkyv3a342")) - (file-name (string-append name "-" version ".tar.gz")))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ocaml/camlp4.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "06yl4q0qazl7g25b0axd1gdkfd4qpqzs1gr5fkvmkrcbz113h1hj")))) (build-system gnu-build-system) (native-inputs `(("ocaml" ,ocaml-4.02) ("which" ,which))) @@ -447,14 +623,15 @@ syntax of OCaml.") (inherit camlp4-4.02) (name "camlp4") (version "4.07+1") - (source (origin - (method url-fetch) - (uri (string-append "https://github.com/ocaml/camlp4/archive/" - version ".tar.gz")) - (sha256 - (base32 - "143hhxv1i6aq413z0i1pynrjcfl2g5gnh5r3863v6h9z0riqknzc")) - (file-name (string-append name "-" version ".tar.gz")))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ocaml/camlp4.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0cxl4hkqcvspvkx4f2k83217rh6051fll9i2yz7cw6m3bq57mdvl")))) (properties `((ocaml4.02-variant . ,(delay camlp4-4.02)))) (native-inputs @@ -470,14 +647,15 @@ syntax of OCaml.") (package (name "camlp5") (version "7.07") - (source (origin - (method url-fetch) - (uri (string-append "https://github.com/camlp5/camlp5/archive/rel" - (string-delete #\. version) ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "148r6p93xlxi6v7kbsqv8i70r6av04cyn0109pwss5xj6fw97i52")))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/camlp5/camlp5.git") + (commit (string-append "rel" (string-delete #\. version))))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1c8v45553ccbqha2ypfranqlgw06rr5wjr2hlnrx5bf9jfq0h0dn")))) (build-system gnu-build-system) (inputs `(("ocaml" ,ocaml))) @@ -556,14 +734,15 @@ written in Objective Caml.") (package (name "ocaml-num") (version "1.1") - (source (origin - (method url-fetch) - (uri (string-append "https://github.com/ocaml/num/archive/v" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1xlkd0svc0mgq5s7nrm2rjrsvg15i9wxqkc1kvwjp6sv8vv8bb04")))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ocaml/num.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0a4mhxgs5hi81d227aygjx35696314swas0vzy3ig809jb7zq4h0")))) (build-system ocaml-build-system) (arguments `(#:phases @@ -600,20 +779,25 @@ the OCaml core distribution.") (package (name "emacs-tuareg") (version "2.2.0") - (source (origin - (method url-fetch) - (uri (string-append "https://github.com/ocaml/tuareg/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1ynpfc170f9jqx49biji9npfkvfpflbm29xf24wc7fnxxayr49ig")))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ocaml/tuareg.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "06zxnn85fk5087iq0zxc5l5n9fz8r0367wylmynbfhc9711vccy6")))) (build-system gnu-build-system) (native-inputs `(("emacs" ,emacs-minimal) ("opam" ,opam))) (arguments `(#:phases (modify-phases %standard-phases + (add-after 'unpack 'make-git-checkout-writable + (lambda _ + (for-each make-file-writable (find-files ".")) + #t)) (delete 'configure) (add-before 'install 'fix-install-path (lambda* (#:key outputs #:allow-other-keys) @@ -1094,14 +1278,15 @@ GNU CC attributes. It provides also a C pretty printer as an example of use.") (package (name "ocaml-qcheck") (version "0.5.3.1") - (source (origin - (method url-fetch) - (uri (string-append "https://github.com/c-cube/qcheck/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1zs1pg5cb1iry554v3cdmmiglsrwmsqa9x8zxmzb118fnk5d3ha6")))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/c-cube/qcheck.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0vl2asr7md99pv558nbszxvjj36b4l6rj05hyczfy524vihhl0gf")))) (build-system ocaml-build-system) (native-inputs `(("ounit" ,ocaml-ounit) @@ -1185,17 +1370,18 @@ full_split, cut, rcut, etc..") (package (name "ocaml-bisect") (version "1.3.1") - (source (origin - (method url-fetch) - (uri (string-append "https://github.com/gasche/bisect/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "0p67fppk5ifb63b00kxwrb1xg75hrqhknng3bsdyw3gxxqyjlpmx")) - (patches - (search-patches - "ocaml-bisect-fix-camlp4-in-another-directory.patch")))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/gasche/bisect.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0hm5za61qydda6ri3887b4zqqbqilh42x712xnclm1rr7ggga2nh")) + (patches + (search-patches + "ocaml-bisect-fix-camlp4-in-another-directory.patch")))) (build-system ocaml-build-system) (native-inputs `(("camlp4" ,camlp4) @@ -1613,32 +1799,28 @@ spans without being subject to operating system calendar time adjustments.") (define-public ocaml-cmdliner (package (name "ocaml-cmdliner") - (version "1.0.2") + (version "1.0.3") (source (origin (method url-fetch) (uri (string-append "http://erratique.ch/software/cmdliner/releases/" "cmdliner-" version ".tbz")) (sha256 (base32 - "18jqphjiifljlh9jg8zpl6310p3iwyaqphdkmf89acyaix0s4kj1")))) + "0g3w4hvc1cx9x2yp5aqn6m2rl8lf9x1dn754hfq8m1sc1102lxna")))) (build-system ocaml-build-system) (inputs `(("ocaml-result" ,ocaml-result))) (native-inputs - `(("ocamlbuild" ,ocamlbuild) - ("opam" ,opam))) + `(("ocamlbuild" ,ocamlbuild))) (arguments `(#:tests? #f - #:build-flags '("native=true" "native-dynlink=true") + #:make-flags (list (string-append "LIBDIR=" (assoc-ref %outputs "out") + "/lib/ocaml/site-lib/cmdliner")) #:phases (modify-phases %standard-phases - (replace 'install - ;; The makefile says 'adjust on cli invocation' - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - (invoke "make" "install" (string-append "PREFIX=" out)) - #t))) (delete 'configure)))) + (properties + `((ocaml4.02-variant . ,(delay ocaml4.02-cmdliner)))) (home-page "http://erratique.ch/software/cmdliner") (synopsis "Declarative definition of command line interfaces for OCaml") (description "Cmdliner is a module for the declarative definition of command @@ -1650,7 +1832,17 @@ most of the POSIX and GNU conventions.") (license license:bsd-3))) (define-public ocaml4.02-cmdliner - (package-with-ocaml4.02 ocaml-cmdliner)) + (let ((base (package-with-ocaml4.02 (strip-ocaml4.02-variant ocaml-cmdliner)))) + (package + (inherit base) + (version "1.0.2") + (source (origin + (method url-fetch) + (uri (string-append "http://erratique.ch/software/cmdliner/releases/" + "cmdliner-" version ".tbz")) + (sha256 + (base32 + "18jqphjiifljlh9jg8zpl6310p3iwyaqphdkmf89acyaix0s4kj1"))))))) (define-public ocaml-fmt (package @@ -1764,18 +1956,19 @@ simple (yet expressive) query language to select the tests to run.") (name "ocaml-ppx-tools") (version "5.1+4.06.0") (source - (origin - (method url-fetch) - (uri (string-append "https://github.com/alainfrisch/ppx_tools/archive/" - version ".tar.gz")) - (sha256 (base32 - "0mncpy9v2mcjgnj7s2vqpp2b1ixv54djicfx66ic9wny9d202gj1")))) + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/alainfrisch/ppx_tools.git") + (commit version))) + (sha256 (base32 + "1ww4cspdpgjjsgiv71s0im5yjkr3544x96wsq1vpdacq7dr7zwiw")))) (build-system ocaml-build-system) (arguments `(#:phases (modify-phases %standard-phases (delete 'configure)) #:tests? #f)) (properties - `((ocaml4.02-variant . ,(delay ocaml4.02-ppx-tools)))) + `((ocaml4.02-variant . ,(delay ocaml4.02-ppx-tools)))) (home-page "https://github.com/alainfrisch/ppx_tools") (synopsis "Tools for authors of ppx rewriters and other syntactic tools") (description "Tools for authors of ppx rewriters and other syntactic tools.") @@ -1787,12 +1980,13 @@ simple (yet expressive) query language to select the tests to run.") (inherit base) (version "5.0+4.02.0") (source - (origin - (method url-fetch) - (uri (string-append "https://github.com/alainfrisch/ppx_tools/archive/" - version ".tar.gz")) - (sha256 (base32 - "0rjg4rngi8k9873z4zq95zn9hj8qyw1vcrf11y15aqasfpqq16rc"))))))) + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/alainfrisch/ppx_tools.git") + (commit version))) + (sha256 + (base32 "16drjk0qafjls8blng69qiv35a84wlafpk16grrg2i3x19p8dlj8"))))))) (define-public ocaml-react (package @@ -2088,14 +2282,15 @@ representation of the data.") (package (name "ocaml-ulex") (version "1.2") - (source (origin - (method url-fetch) - (uri (string-append "https://github.com/whitequark/ulex/archive/v" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "16gnbhqs6y2v89vw4igzvxdf2g8ybh5643636824aldcv8sscac0")))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/whitequark/ulex.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "08yf2x9a52l2y4savjqfjd2xy4pjd1rpla2ylrr9qrz1drpfw4ic")))) (build-system ocaml-build-system) (arguments `(#:phases (modify-phases %standard-phases (delete 'configure)) @@ -2761,13 +2956,14 @@ programs. It allows the definition of simple macros and file inclusion. Cpp oi (name "ocaml4.02-ppx-deriving") (version "4.1") (source - (origin - (method url-fetch) - (uri (string-append "https://github.com/whitequark/ppx_deriving//archive/v" - version ".tar.gz")) - (sha256 (base32 - "1fr16g121j6zinwcprzlhx2py4271n9jzs2m9hq2f3qli2b1p0vl")) - (file-name (string-append name "-" version ".tar.gz")))) + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/whitequark/ppx_deriving.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0cy9p8d8cbcxvqyyv8fz2z9ypi121zrgaamdlp4ld9f3jnwz7my9")))) (build-system ocaml-build-system) (native-inputs `(("js-build-tools" ,ocaml4.02-js-build-tools) @@ -2782,13 +2978,17 @@ programs. It allows the definition of simple macros and file inclusion. Cpp oi #:findlib ,ocaml4.02-findlib #:phases (modify-phases %standard-phases + (add-after 'unpack 'make-git-checkout-writable + (lambda _ + (for-each make-file-writable (find-files ".")) + #t)) (delete 'configure) - (add-before 'install 'fix-environment - (lambda* (#:key outputs #:allow-other-keys) - ;; the installation procedures looks for the installed module - (setenv "OCAMLPATH" - (string-append (getenv "OCAMLPATH") ":" - (getenv "OCAMLFIND_DESTDIR")))))))) + (add-before 'install 'fix-environment + (lambda* (#:key outputs #:allow-other-keys) + ;; the installation procedures looks for the installed module + (setenv "OCAMLPATH" + (string-append (getenv "OCAMLPATH") ":" + (getenv "OCAMLFIND_DESTDIR")))))))) (home-page "https://github.com/whitequark/ppx_deriving/") (synopsis "Type-driven code generation for OCaml >=4.02") (description "Ppx_deriving provides common infrastructure for generating @@ -3316,14 +3516,15 @@ new record values.") (package (name "ocaml-seq") (version "0.1") - (source (origin - (method url-fetch) - (uri (string-append "https://github.com/c-cube/seq/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "02lb2d9i12bxrz2ba5wygk2bycan316skqlyri0597q7j9210g8r")))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/c-cube/seq.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1cjpsc7q76yfgq9iyvswxgic4kfq2vcqdlmxjdjgd4lx87zvcwrv")))) (build-system ocaml-build-system) (arguments `(#:tests? #f @@ -3342,9 +3543,9 @@ new record values.") version=\"[distributed with ocaml]\" description=\"dummy package for compatibility\" requires=\"\""))) - #t)))))) + #t)))))) (properties - `((ocaml4.02-variant . ,(delay ocaml4.02-seq)))) + `((ocaml4.02-variant . ,(delay ocaml4.02-seq)))) (home-page "https://github.com/c-cube/seq") (synopsis "OCaml's standard iterator type") (description "This package is a compatibility package for OCaml's @@ -3365,14 +3566,15 @@ standard iterator type starting from 4.07.") (package (name "ocaml-re") (version "1.8.0") - (source (origin - (method url-fetch) - (uri (string-append "https://github.com/ocaml/ocaml-re//archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1pdb0mr6z5ax6szblr3f5lbdnqq9grm97cmsfjmdma60yrx2rqhd")))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ocaml/ocaml-re.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0ch6hvmm4ym3w2vghjxf3ka5j1023a37980fqi4zcb7sx756z20i")))) (build-system dune-build-system) (arguments `(#:tests? #f @@ -3751,14 +3953,15 @@ writing to these structures, and they are accessed via the Bigarray module.") (package (name "ocaml4.02-ezjsonm") (version "0.4.3") - (source (origin - (method url-fetch) - (uri (string-append "https://github.com/mirage/ezjsonm/archive/" - version ".tar.gz")) - (sha256 - (base32 - "1kag0z2xlk4rw73a240dmkxh9rj6psxxcxkm7d7z0rrj6hzjajgq")) - (file-name (string-append name "-" version ".tar.gz")))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/mirage/ezjsonm.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1y6p3ga6vj1wx5dyns7hjgd0qgrrn2hnn323a7y5didgci5pybls")))) (build-system ocaml-build-system) (native-inputs `(("alcotest" ,ocaml4.02-alcotest))) @@ -3783,14 +3986,15 @@ JSON.") (package (name "ocaml4.02-uri") (version "1.9.2") - (source (origin - (method url-fetch) - (uri (string-append "https://github.com/mirage/ocaml-uri/archive/v" - version ".tar.gz")) - (sha256 - (base32 - "02bzrag79prx261rxf9mlak749pwf4flpfl8p012x1xznv9m0clc")) - (file-name (string-append name "-" version ".tar.gz")))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/mirage/ocaml-uri.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "137pg8j654x7r0d1664iy2zp3l82nki1kkh921lwdrwc5qqdl6jx")))) (build-system ocaml-build-system) (arguments `(#:ocaml ,ocaml-4.02 @@ -3838,14 +4042,15 @@ Format module of the OCaml standard library.") (package (name "optcomp") (version "1.6") - (source (origin - (method url-fetch) - (uri (string-append "https://github.com/diml/optcomp/archive/" - version ".tar.gz")) - (sha256 - (base32 - "0hhhb2gisah1h22zlg5iszbgqxdd7x85cwd57bd4mfkx9l7dh8jh")) - (file-name (string-append name "-" version ".tar.gz")))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/diml/optcomp.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0bm4f3fs9g1yiz48hdxvcjwnrgymwisqilxhmm87ndz81wp47zfy")))) (build-system ocaml-build-system) (arguments `(#:ocaml ,ocaml-4.02 @@ -3867,14 +4072,15 @@ cpp-like directives.") (package (name "ocaml-piqilib") (version "0.6.14") - (source (origin - (method url-fetch) - (uri (string-append "https://github.com/alavrik/piqi/archive/v" - version ".tar.gz")) - (sha256 - (base32 - "1ssccnwqzfyf7syfq2fv4zyhwayxwd75rhq9y28mvq1w6qbww4l7")) - (file-name (string-append name "-" version ".tar.gz")))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/alavrik/piqi.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0lyqllmfsxmwlg7qidy92kvxi9n39lvachmydcyi81f8p07ykd2d")))) (build-system ocaml-build-system) (arguments `(#:phases @@ -4135,15 +4341,15 @@ library is currently designed for Unicode Standard 3.2.") (package (name "ocaml-jbuilder") (version "1.0+beta16") - (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/janestreet/jbuilder/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1cy07pwvbrlysszs938yd74yyvvbgkffpb82qrjph77zf0h2gdi7")))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/janestreet/jbuilder.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1y3fgf570w3vrnhianrg26jy5j749zczq3f78s2dy5ylbp1hrx71")))) (build-system ocaml-build-system) (arguments `(#:ocaml ,ocaml-4.02 @@ -4171,14 +4377,15 @@ is provide a description of your project and Jbuilder will do the rest.") (package (name "ocaml-zed") (version "1.6") - (source (origin - (method url-fetch) - (uri (string-append "https://github.com/diml/zed/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "19m5vrj60vg1b63qfsv0aabdlzgn40cqmx65s3wafqi4fs9xp6jn")))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/diml/zed.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "00hhxcjf3bj3w2qm8nzs9x6vrqkadf4i0277s5whzy2rmiknj63v")))) (build-system ocaml-build-system) (arguments `(#:phases @@ -4212,12 +4419,13 @@ connect an engine to your inputs and rendering functions to get an editor.") (version "1.13") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/diml/lambda-term/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/diml/lambda-term.git") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 "1hy5ryagqclgdm9lzh1qil5mrynlypv7mn6qm858hdcnmz9zzn0l")))) + (base32 "0wwib20b2ir3h2g9zwhzn04cv160psb805skp8v23wqgyn5cnbh8")))) (build-system dune-build-system) (arguments `(#:build-flags (list "--profile" "release") @@ -4243,14 +4451,15 @@ instead of bindings to a C library.") (package (name "ocaml-utop") (version "2.2.0") - (source (origin - (method url-fetch) - (uri (string-append "https://github.com/ocaml-community/utop/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1414snwmqaxs1x8wbpjf6fn3jsl01hq0phrr7639xmb5vh15mgd4")))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ocaml-community/utop.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "02hjkc0rdzfq3bqy9mqm5wmw312r3187v9cl66ynb6hxkj6s3glb")))) (build-system gnu-build-system) (arguments `(#:test-target "test" @@ -4824,6 +5033,26 @@ Atom.") the OCaml language.") (license license:gpl3+))) +(define-public ocaml-gsl-1 + (package + (inherit ocaml-gsl) + (version "1.19.3") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/mmottl/gsl-ocaml" + "/releases/download/v" + version "/gsl-ocaml-" version ".tar.gz")) + (sha256 + (base32 + "0nzp43hp8pbjqkrxnwp5lgjrabxayf61h18fjaydi0s5faq6f3xh")))) + (build-system ocaml-build-system) + (inputs + `(("gsl" ,gsl))) + (native-inputs + `(("ocamlbuild" ,ocamlbuild))) + (arguments '()) + (propagated-inputs '()))) + (define-public cubicle (package (name "cubicle") diff --git a/gnu/packages/parallel.scm b/gnu/packages/parallel.scm index 167d03b954..ceedae2e61 100644 --- a/gnu/packages/parallel.scm +++ b/gnu/packages/parallel.scm @@ -136,7 +136,7 @@ and they are executed on lists of files, hosts, users or other items.") (build-system gnu-build-system) (arguments `(#:configure-flags - (list "--enable-pam" + (list "--enable-pam" "--sysconfdir=/etc/slurm" (string-append "--with-freeipmi=" (assoc-ref %build-inputs "freeipmi")) (string-append "--with-hwloc=" (assoc-ref %build-inputs "hwloc")) (string-append "--with-json=" (assoc-ref %build-inputs "json-c")) diff --git a/gnu/packages/patches/docker-use-fewer-modprobes.patch b/gnu/packages/patches/docker-use-fewer-modprobes.patch index 2779e1be5d..4e4a45b6ce 100644 --- a/gnu/packages/patches/docker-use-fewer-modprobes.patch +++ b/gnu/packages/patches/docker-use-fewer-modprobes.patch @@ -103,17 +103,35 @@ See <https://github.com/moby/moby/pull/38930>. --- docker-18.09.0-checkout/vendor/github.com/docker/libnetwork/ns/init_linux.go.orig 2019-03-19 11:23:20.738316699 +0100 +++ docker-18.09.0-checkout/vendor/github.com/docker/libnetwork/ns/init_linux.go 2019-03-19 11:27:57.149753073 +0100 -@@ -100,12 +100,7 @@ +@@ -76,12 +76,8 @@ func NlHandle() *netlink.Handle { + func getSupportedNlFamilies() []int { + fams := []int{syscall.NETLINK_ROUTE} + // NETLINK_XFRM test +- if err := loadXfrmModules(); err != nil { +- if checkXfrmSocket() != nil { +- logrus.Warnf("Could not load necessary modules for IPSEC rules: %v", err) +- } else { +- fams = append(fams, syscall.NETLINK_XFRM) +- } ++ if err := checkXfrmSocket(); err != nil { ++ logrus.Warnf("Could not load necessary modules for IPSEC rules: %v", err) + } else { + fams = append(fams, syscall.NETLINK_XFRM) + } +@@ -99,16 +95,6 @@ func getSupportedNlFamilies() []int { + return fams } - func loadXfrmModules() error { +-func loadXfrmModules() error { - if out, err := exec.Command("modprobe", "-va", "xfrm_user").CombinedOutput(); err != nil { - return fmt.Errorf("Running modprobe xfrm_user failed with message: `%s`, error: %v", strings.TrimSpace(string(out)), err) - } - if out, err := exec.Command("modprobe", "-va", "xfrm_algo").CombinedOutput(); err != nil { - return fmt.Errorf("Running modprobe xfrm_algo failed with message: `%s`, error: %v", strings.TrimSpace(string(out)), err) - } -+ // Those are automatically loaded when someone opens the socket anyway. - return nil - } - +- return nil +-} +- + // API check on required xfrm modules (xfrm_user, xfrm_algo) + func checkXfrmSocket() error { + fd, err := syscall.Socket(syscall.AF_NETLINK, syscall.SOCK_RAW, syscall.NETLINK_XFRM) diff --git a/gnu/packages/patches/idris-test-no-node.patch b/gnu/packages/patches/idris-test-no-node.patch new file mode 100644 index 0000000000..c04ad41a8e --- /dev/null +++ b/gnu/packages/patches/idris-test-no-node.patch @@ -0,0 +1,61 @@ +From 6c52e1b902b869c25e2fe39cff6364143a04da61 Mon Sep 17 00:00:00 2001 +From: Niklas Larsson <niklas@mm.st> +Date: Tue, 11 Dec 2018 19:56:22 +0100 +Subject: [PATCH] Only check for Node when required + +--- + test/TestRun.hs | 34 ++++++++++++++++++++-------------- + 1 file changed, 20 insertions(+), 14 deletions(-) + +diff --git a/test/TestRun.hs b/test/TestRun.hs +index c7db9fdcd..4809911f3 100644 +--- a/test/TestRun.hs ++++ b/test/TestRun.hs +@@ -11,6 +11,7 @@ import Data.Proxy + import Data.Typeable + import Options.Applicative + import System.Directory ++import System.Environment + import System.Exit + import System.FilePath ((</>)) + import System.Info +@@ -103,20 +104,25 @@ runTest path flags = do + normalise (x : xs) = x : normalise xs + normalise [] = [] + ++checkNode :: IO () ++checkNode = do ++ nodePath <- findExecutable "node" ++ nodejsPath <- findExecutable "nodejs" ++ let node = nodePath <|> nodejsPath ++ case node of ++ Nothing -> do ++ putStrLn "For running the test suite against Node, node must be installed." ++ exitFailure ++ Just _ -> return () ++ + main :: IO () + main = do +- nodePath <- findExecutable "node" +- nodejsPath <- findExecutable "nodejs" +- let node = nodePath <|> nodejsPath +- case node of +- Nothing -> do +- putStrLn "For running the test suite against Node, node must be installed." +- exitFailure +- Just _ -> do +- defaultMainWithIngredients ingredients $ ++ args <- getArgs ++ when ("--node" `elem` args) checkNode ++ defaultMainWithIngredients ingredients $ + askOption $ \(NodeOpt node) -> +- let (codegen, flags) = if node then (JS, ["--codegen", "node"]) +- else (C , []) +- in +- mkGoldenTests (testFamiliesForCodegen codegen) +- (flags ++ idrisFlags) ++ let (codegen, flags) = if node then (JS, ["--codegen", "node"]) ++ else (C , []) ++ in ++ mkGoldenTests (testFamiliesForCodegen codegen) (flags ++ idrisFlags) ++ diff --git a/gnu/packages/patches/knot-include-system-lmdb-header.patch b/gnu/packages/patches/knot-include-system-lmdb-header.patch deleted file mode 100644 index 5c5c0beabc..0000000000 --- a/gnu/packages/patches/knot-include-system-lmdb-header.patch +++ /dev/null @@ -1,34 +0,0 @@ -From: Tobias Geerinckx-Rice <me@tobias.gr> -Date: Wed, 20 Mar 2019 00:08:00 +0100 -Subject: [PATCH] gnu: knot: Include system <lmdb.h>. - -Copied verbatim from Knot master[0]. - -[0]: https://gitlab.labs.nic.cz/knot/knot-dns/commit/b557430cffbb1c6b30617a394b02acc514e7e536 - -From b557430cffbb1c6b30617a394b02acc514e7e536 Mon Sep 17 00:00:00 2001 -From: Daniel Salzman <daniel.salzman@nic.cz> -Date: Wed, 6 Mar 2019 17:35:44 +0100 -Subject: [PATCH] journal: include proper header <lmdb.h> - -fixes #638 ---- - src/knot/journal/knot_lmdb.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/knot/journal/knot_lmdb.h b/src/knot/journal/knot_lmdb.h -index 35a88845c..b1d09cbb4 100644 ---- a/src/knot/journal/knot_lmdb.h -+++ b/src/knot/journal/knot_lmdb.h -@@ -16,7 +16,7 @@ - - #pragma once - --#include "contrib/lmdb/lmdb.h" -+#include <lmdb.h> - - #include <stdbool.h> - #include <stdlib.h> --- -2.18.1 - diff --git a/gnu/packages/patches/kodi-set-libcurl-ssl-parameters.patch b/gnu/packages/patches/kodi-set-libcurl-ssl-parameters.patch new file mode 100644 index 0000000000..f977c6dd98 --- /dev/null +++ b/gnu/packages/patches/kodi-set-libcurl-ssl-parameters.patch @@ -0,0 +1,16 @@ +Kodi doesn't set the CAPATH and CAINFO parameters for libcurl. To make HTTPS +connections work we can set them based on SSL_CERT_DIR and SSL_CERT_FILE. + +--- a/xbmc/filesystem/CurlFile.cpp ++++ b/xbmc/filesystem/CurlFile.cpp +@@ -626,5 +626,9 @@ + // Setup allowed TLS/SSL ciphers. New versions of cURL may deprecate things that are still in use. + if (!m_cipherlist.empty()) + g_curlInterface.easy_setopt(h, CURLOPT_SSL_CIPHER_LIST, m_cipherlist.c_str()); ++ ++ // Load certificate data from environment paths ++ g_curlInterface.easy_setopt(m_state->m_easyHandle, CURLOPT_CAPATH, getenv("SSL_CERT_DIR")); ++ g_curlInterface.easy_setopt(m_state->m_easyHandle, CURLOPT_CAINFO, getenv("SSL_CERT_FILE")); + } + + void CCurlFile::SetRequestHeaders(CReadState* state)
\ No newline at end of file diff --git a/gnu/packages/patches/ocaml-dose3-Add-unix-as-dependency-to-dose3.common-in-META.in.patch b/gnu/packages/patches/ocaml-dose3-Add-unix-as-dependency-to-dose3.common-in-META.in.patch new file mode 100644 index 0000000000..d2cc44c784 --- /dev/null +++ b/gnu/packages/patches/ocaml-dose3-Add-unix-as-dependency-to-dose3.common-in-META.in.patch @@ -0,0 +1,25 @@ +From b94cf24739818e5aff397e0a83b19ea32dc81f42 Mon Sep 17 00:00:00 2001 +From: Louis Gesbert <louis.gesbert@ocamlpro.com> +Date: Tue, 6 Feb 2018 10:15:45 +0100 +Subject: [PATCH 3/3] Add "unix" as dependency to dose3.common in META.in + +--- + META.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/META.in b/META.in +index aa2cd8d..0f9d337 100644 +--- a/META.in ++++ b/META.in +@@ -8,7 +8,7 @@ package "common" ( + version = "@PACKAGE_VERSION@" + archive(byte) = "common.cma" + archive(native) = "common.cmxa" +-requires = "extlib, re.pcre, cudf, @ZIP@, @BZ2@" ++requires = "extlib, re.pcre, cudf, unix, @ZIP@, @BZ2@" + ) + + package "algo" ( +-- +2.11.0 + diff --git a/gnu/packages/patches/ocaml-dose3-Fix-for-ocaml-4.06.patch b/gnu/packages/patches/ocaml-dose3-Fix-for-ocaml-4.06.patch new file mode 100644 index 0000000000..2c344af821 --- /dev/null +++ b/gnu/packages/patches/ocaml-dose3-Fix-for-ocaml-4.06.patch @@ -0,0 +1,52 @@ +From aeca7656f499d7f4595319858f242276920e31bb Mon Sep 17 00:00:00 2001 +From: Louis Gesbert <louis.gesbert@ocamlpro.com> +Date: Sat, 2 Dec 2017 12:51:01 +0100 +Subject: [PATCH] Fix for ocaml 4.06 + +--- + common/criteria_lexer.mll | 8 ++++---- + common/util.ml | 2 +- + 2 files changed, 5 insertions(+), 5 deletions(-) + +diff --git a/common/criteria_lexer.mll b/common/criteria_lexer.mll +index 71f9178..fc4eae3 100644 +--- a/common/criteria_lexer.mll ++++ b/common/criteria_lexer.mll +@@ -18,7 +18,7 @@ + let c = Lexing.lexeme_char lexbuf 2 in (* the delimiter can be any character *) + (* find the terminating delimiter *) + let endpos = +- try String.index_from lexbuf.lex_buffer (lexbuf.lex_start_pos + 3) c with ++ try Bytes.index_from lexbuf.lex_buffer (lexbuf.lex_start_pos + 3) c with + |Invalid_argument _ -> + raise (Format822.Syntax_error ( + Format822.error lexbuf "String too short")) +@@ -27,9 +27,9 @@ + Format822.error lexbuf (Printf.sprintf "cannot find: %c" c))) + in + let len = endpos - (lexbuf.lex_start_pos + 3) in +- let s = String.sub lexbuf.lex_buffer (lexbuf.lex_start_pos + 3) len in +- lexbuf.Lexing.lex_curr_pos <- lexbuf.Lexing.lex_start_pos + ((String.length s)+4); +- s ++ let s = Bytes.sub lexbuf.lex_buffer (lexbuf.lex_start_pos + 3) len in ++ lexbuf.Lexing.lex_curr_pos <- lexbuf.Lexing.lex_start_pos + ((Bytes.length s)+4); ++ Bytes.to_string s + + } + +diff --git a/common/util.ml b/common/util.ml +index 598f266..36ca3d1 100644 +--- a/common/util.ml ++++ b/common/util.ml +@@ -87,7 +87,7 @@ module MakeMessages(X : sig val label : string end) = struct + let clean label = + try + let s = Filename.chop_extension (Filename.basename label) in +- String.capitalize s ++ String.capitalize_ascii s + with Invalid_argument _ -> label + + let create ?(enabled=false) label = +-- +2.11.0 + diff --git a/gnu/packages/patches/ocaml-dose3-Install-mli-cmx-etc.patch b/gnu/packages/patches/ocaml-dose3-Install-mli-cmx-etc.patch new file mode 100644 index 0000000000..41494e7b3c --- /dev/null +++ b/gnu/packages/patches/ocaml-dose3-Install-mli-cmx-etc.patch @@ -0,0 +1,133 @@ +From b5314c20d8e3caf62fe0dc96ad937a2950158b23 Mon Sep 17 00:00:00 2001 +From: Louis Gesbert <louis.gesbert@ocamlpro.com> +Date: Thu, 2 Mar 2017 12:19:56 +0100 +Subject: [PATCH] Install mli, cmx, etc. + +--- + Makefile | 26 +++++++++++++------------- + 1 file changed, 13 insertions(+), 13 deletions(-) + +diff --git a/Makefile b/Makefile +index 09464ff..5044d7f 100644 +--- a/Makefile ++++ b/Makefile +@@ -56,7 +56,7 @@ $(DOSELIBS)/cudf.%: + @for i in _build/cudf/cudf.*; do \ + if [ -e $$i ]; then \ + cp $$i $(DOSELIBS) ; \ +- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx ; \ ++ rm -f $(DOSELIBS)/*.mlpack ; \ + fi ; \ + done + +@@ -67,7 +67,7 @@ $(DOSELIBS)/common.%: common/*.ml common/*.mli + if [ -e $$i ]; then \ + cp $$i $(DOSELIBS) ; \ + rm $$i ;\ +- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx ; \ ++ rm -f $(DOSELIBS)/*.mlpack ; \ + fi ; \ + done + +@@ -78,7 +78,7 @@ $(DOSELIBS)/versioning.%: versioning/*.ml versioning/*.mli + if [ -e $$i ]; then \ + cp $$i $(DOSELIBS) ; \ + rm $$i ;\ +- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx ; \ ++ rm -f $(DOSELIBS)/*.mlpack ; \ + fi ; \ + done + +@@ -88,7 +88,7 @@ $(DOSELIBS)/algo.%: algo/*.ml algo/*.mli $(DOSELIBS)/common.% + if [ -e $$i ]; then \ + cp $$i $(DOSELIBS) ; \ + rm $$i ;\ +- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx ; \ ++ rm -f $(DOSELIBS)/*.mlpack ; \ + fi ; \ + done + +@@ -98,7 +98,7 @@ $(DOSELIBS)/debian.%: deb/*.ml deb/*.mli $(DOSELIBS)/pef.% + if [ -e $$i ]; then \ + cp $$i $(DOSELIBS) ; \ + rm $$i ;\ +- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx ; \ ++ rm -f $(DOSELIBS)/*.mlpack ; \ + fi ; \ + done + +@@ -108,7 +108,7 @@ $(DOSELIBS)/opam.%: opam/*.ml opam/*.mli $(DOSELIBS)/pef.% + if [ -e $$i ]; then \ + cp $$i $(DOSELIBS) ; \ + rm $$i ;\ +- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx ; \ ++ rm -f $(DOSELIBS)/*.mlpack ; \ + fi ; \ + done + +@@ -118,7 +118,7 @@ $(DOSELIBS)/npm.%: npm/*.ml npm/*.mli $(DOSELIBS)/versioning.% $(DOSELIBS)/pef.% + if [ -e $$i ]; then \ + cp $$i $(DOSELIBS) ; \ + rm $$i ;\ +- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx ; \ ++ rm -f $(DOSELIBS)/*.mlpack ; \ + fi ; \ + done + +@@ -128,7 +128,7 @@ $(DOSELIBS)/rpm.%: rpm/*.ml $(DOSELIBS)/algo.% + if [ -e $$i ]; then \ + cp $$i $(DOSELIBS) ; \ + rm $$i ;\ +- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx ; \ ++ rm -f $(DOSELIBS)/*.mlpack ; \ + fi ; \ + done + +@@ -138,7 +138,7 @@ $(DOSELIBS)/pef.%: pef/*.ml pef/*.mli + if [ -e $$i ]; then \ + cp $$i $(DOSELIBS) ; \ + rm $$i ;\ +- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx ; \ ++ rm -f $(DOSELIBS)/*.mlpack ; \ + fi ; \ + done + +@@ -148,7 +148,7 @@ $(DOSELIBS)/csw.%: opencsw/*.ml $(DOSELIBS)/versioning.% + if [ -e $$i ]; then \ + cp $$i $(DOSELIBS) ; \ + rm $$i ;\ +- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx ; \ ++ rm -f $(DOSELIBS)/*.mlpack ; \ + fi ; \ + done + +@@ -158,7 +158,7 @@ $(DOSELIBS)/doseparse.%: $(DOSELIBS)/pef.% $(DOSELIBS)/debian.% + if [ -e $$i ]; then \ + cp $$i $(DOSELIBS) ; \ + rm $$i ;\ +- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx $(DOSELIBS)/*.ml ; \ ++ rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.ml ; \ + fi ; \ + done + +@@ -168,7 +168,7 @@ $(DOSELIBS)/doseparseNoRpm.%: $(DOSELIBS)/pef.% $(DOSELIBS)/debian.% + if [ -e $$i ]; then \ + cp $$i $(DOSELIBS) ;\ + rm $$i ;\ +- rm -f $(DOSELIBS)/*.mlpack $(DOSELIBS)/*.cmx ;\ ++ rm -f $(DOSELIBS)/*.mlpack ;\ + fi ; \ + done + +@@ -223,7 +223,7 @@ INSTALL_STUFF_ = META + INSTALL_STUFF_ += $(wildcard _build/doselibs/*.cma _build/doselibs/*.cmi) + INSTALL_STUFF_ += $(wildcard _build/doselibs/*.cmxa _build/doselibs/*.cmxs) + INSTALL_STUFF_ += $(wildcard _build/doselibs/*.a) +-#INSTALL_STUFF_ += $(wildcard _build/*/*.mli) ++INSTALL_STUFF_ += $(wildcard _build/doselibs/*.mli) $(wildcard _build/doselibs/*.cmti) $(wildcard _build/doselibs/*.cmx) + INSTALL_STUFF_ += $(wildcard _build/rpm/*.so) + + exclude_cudf = $(wildcard _build/doselibs/*cudf* _build/cudf/*) +-- +2.11.0 + diff --git a/gnu/packages/patches/ocaml-dose3-dont-make-printconf.patch b/gnu/packages/patches/ocaml-dose3-dont-make-printconf.patch new file mode 100644 index 0000000000..84b6a3b81b --- /dev/null +++ b/gnu/packages/patches/ocaml-dose3-dont-make-printconf.patch @@ -0,0 +1,9 @@ +--- a/configure ++++ b/configure +@@ -6552,6 +6552,3 @@ if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 + $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} + fi +- +- +-make printconf diff --git a/gnu/packages/patches/quilt-getopt-nondigit-param.patch b/gnu/packages/patches/quilt-getopt-nondigit-param.patch deleted file mode 100644 index 6bbec67e75..0000000000 --- a/gnu/packages/patches/quilt-getopt-nondigit-param.patch +++ /dev/null @@ -1,45 +0,0 @@ -From: Jean Delvare <jdelvare@suse.de> -Subject: compat/getopt: Allow non-digit parameter embedded in short option - -The compatibility getopt script allows only digit parameters to be -embedded in short options. Util-linux's getopt implementation does -not have such a restriction and allows any parameter to be embedded -in short options. As a consequence, using the compatibility getopt -script would choke for example on "-pab", which is a legal option -of the "quilt refresh" command. - -Remove the limitation on digits so that the compatibility getopt -script allows what util-linux allows. This fixes the second half -of bug #54772: -https://savannah.nongnu.org/bugs/index.php?54772 - -As a side note, this feature of the compatibility script was broken -anyway, as it would output the digits in reverse order. - -Signed-off-by: Jean Delvare <jdelvare@suse.de> ---- - compat/getopt.in | 13 ++++--------- - 1 file changed, 4 insertions(+), 9 deletions(-) - ---- quilt.orig/compat/getopt.in 2018-10-03 16:05:56.818667040 +0200 -+++ quilt/compat/getopt.in 2018-10-03 16:12:17.624841732 +0200 -@@ -108,15 +108,10 @@ foreach my $word (@words) { - if (scalar(@letters) == 0) { - $need_param = $letter; - } else { -- # short options can have numerical args -- # embedded in the short option list: -UO -- die "unexpected character after option $letter" -- if ($letters[$#letters] !~ /[0-9]/); -- my @digits; -- while (scalar(@letters) && ($letters[$#letters] =~ /[0-9]/)) { -- push @digits, pop @letters; -- } -- push @options, quote_word(join('', reverse @digits)); -+ # short options can have args -+ # embedded in the short option list -+ push @options, quote_word(join('', reverse @letters)); -+ @letters = (); - } - } - } diff --git a/gnu/packages/patches/quilt-getopt-second-separator.patch b/gnu/packages/patches/quilt-getopt-second-separator.patch deleted file mode 100644 index cde2c8d41c..0000000000 --- a/gnu/packages/patches/quilt-getopt-second-separator.patch +++ /dev/null @@ -1,58 +0,0 @@ -From: Jean Delvare <jdelvare@suse.de> -Subject: compat/getopt: Handle a second separator - -getopt can be passed 2 '--' separators. The first one tells that -getopt options are over and target program options start. The second -one tells that the target program's options are over and following -arguments should be treated as non-options even if they look like -options. - -This second separator was not handled, causing the compatibility -getopt script to treat the following arguments as options, eventually -failing one way or another. - -Properly detect and handle the second separator. This fixes the first -half of bug #54772: -https://savannah.nongnu.org/bugs/index.php?54772 - -Signed-off-by: Jean Delvare <jdelvare@suse.de> ---- - compat/getopt.in | 13 ++++++++++--- - 1 file changed, 10 insertions(+), 3 deletions(-) - ---- quilt.orig/compat/getopt.in 2018-10-03 15:23:21.147620172 +0200 -+++ quilt/compat/getopt.in 2018-10-03 16:05:56.818667040 +0200 -@@ -8,12 +8,12 @@ - - use strict; - --my $opts; -+my $opts = ''; - my @words; - my $found_sep = 0; - - foreach my $arg (@ARGV) { -- if ($arg eq '--') { -+ if (!$found_sep && $arg eq '--') { - $found_sep = 1; - } - else { -@@ -62,10 +62,17 @@ sub quote_word - return "'$word'"; - } - -+# there can be a second separator, to inhibit processing following arguments -+# as options -+$found_sep = 0; - foreach my $word (@words) { -+ if ($word eq '--') { -+ $found_sep = 1; -+ next; -+ } - - # allow '-' to be an option value -- if (!$need_param && $word !~ /^-./) { -+ if ($found_sep || (!$need_param && $word !~ /^-./)) { - push @barewords, quote_word($word); - next; - } diff --git a/gnu/packages/patches/quilt-test-fix-regex.patch b/gnu/packages/patches/quilt-test-fix-regex.patch deleted file mode 100644 index 2e249ac55b..0000000000 --- a/gnu/packages/patches/quilt-test-fix-regex.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 5193b137b5a9034ce79946edd40760df2f63a82a Mon Sep 17 00:00:00 2001 -From: Jean Delvare <jdelvare@suse.de> -Date: Tue, 25 Apr 2017 15:17:53 +0200 -Subject: test: Escape curly braces in regex - -Curly braces in perl regex are supposed to be escaped, recent -versions of perl complain when they aren't: - -Unescaped left brace in regex is deprecated, passed through in regex; marked by <-- HERE in m/%{ <-- HERE (\w+)}/ at ./run line 114. -Unescaped left brace in regex is deprecated, passed through in regex; marked by <-- HERE in m/%{ <-- HERE \?}/ at ./run line 290. - -Signed-off-by: Jean Delvare <jdelvare@suse.de> ---- - test/run | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/test/run b/test/run -index 942014e..03afc7a 100755 ---- a/test/run -+++ b/test/run -@@ -112,7 +112,7 @@ sub flush_output() - sub substitute_vars($) - { - my ($line) = @_; -- $line =~ s[%{(\w+)}][defined $ENV{$1} ? $ENV{$1} : ""]eg; -+ $line =~ s[%\{(\w+)\}][defined $ENV{$1} ? $ENV{$1} : ""]eg; - return $line; - } - -@@ -288,7 +288,7 @@ while (defined(my $line = <SOURCE>)) { - # Parse the next command - if ($line =~ s/^\s*\$ ?//) { - # Substitute %{?} with the last command's status -- $line =~ s[%{\?}][$last_status]eg; -+ $line =~ s[%\{\?\}][$last_status]eg; - - chomp($prog = substitute_vars($line)); - $prog_line = $lineno; --- -cgit v1.0-41-gc330 - diff --git a/gnu/packages/patches/synfigstudio-fix-ui-with-gtk3.patch b/gnu/packages/patches/synfigstudio-fix-ui-with-gtk3.patch deleted file mode 100644 index d7b3e92507..0000000000 --- a/gnu/packages/patches/synfigstudio-fix-ui-with-gtk3.patch +++ /dev/null @@ -1,55 +0,0 @@ -Downloaded from -https://github.com/synfig/synfig/commit/b9c3b73ee35b83c4d9183c800809040cef98b2f2.patch - -Without this patch the UI of Synfig Studio (when built with the latest version -of GTK) displays very large buttons in the header of every frame. - -This patch can be removed with the next release. - - -From b9c3b73ee35b83c4d9183c800809040cef98b2f2 Mon Sep 17 00:00:00 2001 -From: caryoscelus <caryoscelus@gmx.com> -Date: Wed, 25 Jan 2017 18:34:39 +0300 -Subject: [PATCH] Fix dock drop area size - -Fixes #227 - -By using Frame instead of Button we avoid intrusive Gtk themes -from forcing huge drop area size. ---- - synfig-studio/src/gui/docks/dockdroparea.cpp | 15 ++++++++++----- - 1 file changed, 10 insertions(+), 5 deletions(-) - -diff --git a/src/gui/docks/dockdroparea.cpp b/synfig-studio/src/gui/docks/dockdroparea.cpp -index 0f8936fdb..e012282f0 100644 ---- a/src/gui/docks/dockdroparea.cpp -+++ b/src/gui/docks/dockdroparea.cpp -@@ -35,7 +35,7 @@ - #include "app.h" - #include "docks/dockdroparea.h" - #include "docks/dockmanager.h" --#include <gtkmm/button.h> -+#include <gtkmm/frame.h> - - #endif - -@@ -61,10 +61,15 @@ DockDropArea::DockDropArea(Gtk::Widget *target): - std::vector<Gtk::TargetEntry> listTargets; - listTargets.push_back( Gtk::TargetEntry("SYNFIG_DOCK") ); - -- Gtk::Button *button_left = manage(new Gtk::Button()); -- Gtk::Button *button_right = manage(new Gtk::Button()); -- Gtk::Button *button_top = manage(new Gtk::Button()); -- Gtk::Button *button_bottom = manage(new Gtk::Button()); -+ Gtk::Frame *button_left = manage(new Gtk::Frame()); -+ Gtk::Frame *button_right = manage(new Gtk::Frame()); -+ Gtk::Frame *button_top = manage(new Gtk::Frame()); -+ Gtk::Frame *button_bottom = manage(new Gtk::Frame()); -+ -+ button_left->set_size_request(20, 10); -+ button_right->set_size_request(20, 10); -+ button_top->set_size_request(20, 10); -+ button_bottom->set_size_request(20, 10); - - button_left->drag_dest_set(listTargets); - button_right->drag_dest_set(listTargets); diff --git a/gnu/packages/patches/webkitgtk-sse2.patch b/gnu/packages/patches/webkitgtk-sse2.patch new file mode 100644 index 0000000000..df70e38919 --- /dev/null +++ b/gnu/packages/patches/webkitgtk-sse2.patch @@ -0,0 +1,202 @@ +Fix build on i686. + +This patch is taken from upstream, with ChangeLog entries omitted. + +From 5048338c5f21605441c6833907d1136ac9640b35 Mon Sep 17 00:00:00 2001 +From: "mcatanzaro@igalia.com" + <mcatanzaro@igalia.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc> +Date: Wed, 10 Apr 2019 18:27:25 +0000 +Subject: [PATCH] Unreviewed, rolling out r243989. + +Broke i686 builds + +Reverted changeset: + +"[CMake] Detect SSE2 at compile time" +https://bugs.webkit.org/show_bug.cgi?id=196488 +https://trac.webkit.org/changeset/243989 + +git-svn-id: http://svn.webkit.org/repository/webkit/trunk@244138 268f45cc-cd09-0410-ab3c-d52691b4dbfc +--- + CMakeLists.txt | 10 --- + ChangeLog | 12 ++++ + Source/JavaScriptCore/ChangeLog | 12 ++++ + .../assembler/MacroAssemblerX86Common.cpp | 7 ++ + .../assembler/MacroAssemblerX86Common.h | 30 +++++++++ + Source/cmake/FindSSE2.cmake | 65 ------------------- + 6 files changed, 61 insertions(+), 75 deletions(-) + delete mode 100644 Source/cmake/FindSSE2.cmake + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index acd77f4b623..d3e8a23f9ff 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -114,16 +114,6 @@ else () + set(WTF_CPU_UNKNOWN 1) + endif () + +-#--------------------------- +-# Make sure SSE2 is present. +-#--------------------------- +-if (WTF_CPU_X86) +- include(FindSSE2) +- if (NOT SSE2_SUPPORT_FOUND) +- message(FATAL_ERROR "SSE2 support is required to compile WebKit") +- endif () +-endif () +- + # ----------------------------------------------------------------------------- + # Determine the operating system + # ----------------------------------------------------------------------------- +diff --git a/Source/JavaScriptCore/assembler/MacroAssemblerX86Common.cpp b/Source/JavaScriptCore/assembler/MacroAssemblerX86Common.cpp +index 8c752c0d030..31753589df7 100644 +--- a/Source/JavaScriptCore/assembler/MacroAssemblerX86Common.cpp ++++ b/Source/JavaScriptCore/assembler/MacroAssemblerX86Common.cpp +@@ -168,6 +168,11 @@ static_assert(PROBE_OFFSETOF_REG(cpu.fprs, X86Registers::xmm15) == PROBE_CPU_XMM + static_assert(sizeof(Probe::State) == PROBE_SIZE, "Probe::State::size's matches ctiMasmProbeTrampoline"); + static_assert((PROBE_EXECUTOR_OFFSET + PTR_SIZE) <= (PROBE_SIZE + OUT_SIZE), "Must have room after ProbeContext to stash the probe handler"); + ++#if CPU(X86) ++// SSE2 is a hard requirement on x86. ++static_assert(isSSE2Present(), "SSE2 support is required in JavaScriptCore"); ++#endif ++ + #undef PROBE_OFFSETOF + + #if CPU(X86) +@@ -787,6 +792,7 @@ void MacroAssemblerX86Common::collectCPUFeatures() + std::call_once(onceKey, [] { + { + CPUID cpuid = getCPUID(0x1); ++ s_sse2CheckState = (cpuid[3] & (1 << 26)) ? CPUIDCheckState::Set : CPUIDCheckState::Clear; + s_sse4_1CheckState = (cpuid[2] & (1 << 19)) ? CPUIDCheckState::Set : CPUIDCheckState::Clear; + s_sse4_2CheckState = (cpuid[2] & (1 << 20)) ? CPUIDCheckState::Set : CPUIDCheckState::Clear; + s_popcntCheckState = (cpuid[2] & (1 << 23)) ? CPUIDCheckState::Set : CPUIDCheckState::Clear; +@@ -803,6 +809,7 @@ void MacroAssemblerX86Common::collectCPUFeatures() + }); + } + ++MacroAssemblerX86Common::CPUIDCheckState MacroAssemblerX86Common::s_sse2CheckState = CPUIDCheckState::NotChecked; + MacroAssemblerX86Common::CPUIDCheckState MacroAssemblerX86Common::s_sse4_1CheckState = CPUIDCheckState::NotChecked; + MacroAssemblerX86Common::CPUIDCheckState MacroAssemblerX86Common::s_sse4_2CheckState = CPUIDCheckState::NotChecked; + MacroAssemblerX86Common::CPUIDCheckState MacroAssemblerX86Common::s_avxCheckState = CPUIDCheckState::NotChecked; +diff --git a/Source/JavaScriptCore/assembler/MacroAssemblerX86Common.h b/Source/JavaScriptCore/assembler/MacroAssemblerX86Common.h +index ff097290ef3..097bcb0bb86 100644 +--- a/Source/JavaScriptCore/assembler/MacroAssemblerX86Common.h ++++ b/Source/JavaScriptCore/assembler/MacroAssemblerX86Common.h +@@ -4197,11 +4197,41 @@ private: + } + #endif + ++#if CPU(X86) ++#if OS(MAC_OS_X) ++ ++ // All X86 Macs are guaranteed to support at least SSE2, ++ static bool isSSE2Present() ++ { ++ return true; ++ } ++ ++#else // OS(MAC_OS_X) ++ static bool isSSE2Present() ++ { ++ if (s_sse2CheckState == CPUIDCheckState::NotChecked) ++ collectCPUFeatures(); ++ return s_sse2CheckState == CPUIDCheckState::Set; ++ } ++ ++#endif // OS(MAC_OS_X) ++#elif !defined(NDEBUG) // CPU(X86) ++ ++ // On x86-64 we should never be checking for SSE2 in a non-debug build, ++ // but non debug add this method to keep the asserts above happy. ++ static bool isSSE2Present() ++ { ++ return true; ++ } ++ ++#endif ++ + using CPUID = std::array<unsigned, 4>; + static CPUID getCPUID(unsigned level); + static CPUID getCPUIDEx(unsigned level, unsigned count); + JS_EXPORT_PRIVATE static void collectCPUFeatures(); + ++ JS_EXPORT_PRIVATE static CPUIDCheckState s_sse2CheckState; + JS_EXPORT_PRIVATE static CPUIDCheckState s_sse4_1CheckState; + JS_EXPORT_PRIVATE static CPUIDCheckState s_sse4_2CheckState; + JS_EXPORT_PRIVATE static CPUIDCheckState s_avxCheckState; +diff --git a/Source/cmake/FindSSE2.cmake b/Source/cmake/FindSSE2.cmake +deleted file mode 100644 +index 7a947feadd4..00000000000 +--- a/Source/cmake/FindSSE2.cmake ++++ /dev/null +@@ -1,65 +0,0 @@ +-################################# +-# Check for the presence of SSE2. +-# +-# Once done, this will define: +-# - SSE2_SUPPORT_FOUND - the system supports (at least) SSE2. +-# +-# Copyright (c) 2014, Pablo Fernandez Alcantarilla, Jesus Nuevo +-# Copyright (c) 2019, Igalia S.L. +-# +-# Redistribution and use in source and binary forms, with or without modification, +-# are permitted provided that the following conditions are met: +-# +-# * Redistributions of source code must retain the above copyright notice, +-# this list of conditions and the following disclaimer. +-# +-# * Redistributions in binary form must reproduce the above copyright notice, +-# this list of conditions and the following disclaimer in the documentation +-# and/or other materials provided with the distribution. +-# +-# * Neither the name of the copyright holders nor the names of its contributors +-# may be used to endorse or promote products derived from this software without +-# specific prior written permission. +-# +-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY +-# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +-# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT +-# SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +-# TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR +-# BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +-# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY +-# WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +- +-set(SSE2_SUPPORT_FOUND FALSE) +- +-macro(CHECK_FOR_SSE2) +- include(CheckCXXSourceRuns) +- +- check_cxx_source_runs(" +- #include <emmintrin.h> +- int main () +- { +- __m128d a, b; +- double vals[2] = {0}; +- a = _mm_loadu_pd (vals); +- b = _mm_add_pd (a,a); +- _mm_storeu_pd (vals,b); +- return(0); +- }" +- HAVE_SSE2_EXTENSIONS) +- +- if (CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX OR CMAKE_COMPILER_IS_CLANG) +- if (HAVE_SSE2_EXTENSIONS) +- set(SSE2_SUPPORT_FOUND TRUE) +- endif () +- elseif (MSVC AND NOT CMAKE_CL_64) +- if (HAVE_SSE2_EXTENSIONS) +- set(SSE2_SUPPORT_FOUND TRUE) +- message(STATUS "Found SSE2 extensions.") +- endif (HAVE_SSE2_EXTENSIONS) +- endif () +- +-endmacro(CHECK_FOR_SSE2) +- +-CHECK_FOR_SSE2() +-- +2.21.0 + diff --git a/gnu/packages/patchutils.scm b/gnu/packages/patchutils.scm index ec669e2e23..f6197b98ee 100644 --- a/gnu/packages/patchutils.scm +++ b/gnu/packages/patchutils.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014, 2018 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2015, 2018 Leo Famulari <leo@famulari.name> -;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -98,18 +98,14 @@ listing the files modified by a patch.") (define-public quilt (package (name "quilt") - (version "0.65") + (version "0.66") (source (origin - (method url-fetch) - (uri (string-append "mirror://savannah/quilt/" - name "-" version ".tar.gz")) - (sha256 - (base32 - "06b816m2gz9jfif7k9v2hrm7fz76zjg5pavf7hd3ifybwn4cgjzn")) - (patches (search-patches "quilt-test-fix-regex.patch" - "quilt-getopt-second-separator.patch" - "quilt-getopt-nondigit-param.patch")))) + (method url-fetch) + (uri (string-append "mirror://savannah/quilt/" + "quilt-" version ".tar.gz")) + (sha256 + (base32 "01vfvk4pqigahx82fhaaffg921ivd3k7rylz1yfvy4zbdyd32jri")))) (build-system gnu-build-system) (native-inputs `(("gettext" ,gnu-gettext))) @@ -248,7 +244,7 @@ GiB).") (define-public meld (package (name "meld") - (version "3.20.0") + (version "3.20.1") (source (origin (method url-fetch) @@ -256,8 +252,7 @@ GiB).") (version-major+minor version) "/meld-" version ".tar.xz")) (sha256 - (base32 - "11khi1sg02k3b9qdag3r939cwi27cql4kjim7jhxf9ckfhpzwh6b")))) + (base32 "0jdj7kd6vj1mdc16gvrj1kar88b2j5875ajq18fx7cbc9ny46j55")))) (build-system python-build-system) (native-inputs `(("intltool" ,intltool) diff --git a/gnu/packages/perl-check.scm b/gnu/packages/perl-check.scm index a25c43cc32..47e25083cd 100644 --- a/gnu/packages/perl-check.scm +++ b/gnu/packages/perl-check.scm @@ -142,6 +142,30 @@ framework base class. It concentrates on offering reusable data driven patterns, so that you can write tests with a minimum of code.") (license perl-license))) +(define-public perl-test-checkdeps + (package + (name "perl-test-checkdeps") + (version "0.010") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/L/LE/LEONT/Test-CheckDeps-" + version + ".tar.gz")) + (sha256 + (base32 + "1vjinlixxdx6gfcw8y1dw2rla8bfhi8nmgcqr3nffc7kqskcrz36")))) + (build-system perl-build-system) + (propagated-inputs + `(("perl-cpan-meta-check" ,perl-cpan-meta-check))) + (home-page "https://metacpan.org/release/Test-CheckDeps") + (synopsis "Check for presence of dependencies") + (description + "This module provides a test that checks all dependencies have been +installed properly.") + (license perl-license))) + (define-public perl-test-class (package (name "perl-test-class") @@ -361,6 +385,30 @@ functions.") ;; license, any version, ..." (license gpl3+))) +(define-public perl-test-dir + (package + (name "perl-test-dir") + (version "1.16") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/M/MT/MTHURN/" + "Test-Dir-" version ".tar.gz")) + (sha256 + (base32 + "1hpafgr93jjl6s8spskhdxhgich4cccmaiq99mla5diyj4iv6ckk")))) + (build-system perl-build-system) + (propagated-inputs + `(("perl-pod-coverage" ,perl-pod-coverage) + ("perl-test-pod" ,perl-test-pod) + ("perl-test-pod-coverage" ,perl-test-pod-coverage))) + (home-page "https://metacpan.org/release/Test-Dir") + (synopsis "Utilities for testing directory attributes") + (description + "This modules provides a collection of test utilities for directory +attributes.") + (license perl-license))) + (define-public perl-test-directory (package (name "perl-test-directory") @@ -500,6 +548,58 @@ Test::Exception. It does much less, but should allow greater flexibility in testing exception-throwing code with about the same amount of typing.") (license perl-license))) +(define-public perl-test-file + (package + (name "perl-test-file") + (version "1.443") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/B/BD/BDFOY/Test-File-" + version + ".tar.gz")) + (sha256 + (base32 + "1mdwb3x8d4l24wsymamsnq2c73a637v4q5kmb5xqqz31iymsdd31")))) + (build-system perl-build-system) + (native-inputs + `(("perl-test-utf8" ,perl-test-utf8))) + (home-page "https://metacpan.org/release/Test-File") + (synopsis "Utilities for testing file attributes") + (description + "@code{Test::File} provides a collection of test utilities for file +attributes.") + (license perl-license))) + +(define-public perl-test-file-contents + (package + (name "perl-test-file-contents") + (version "0.23") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/D/DW/DWHEELER/Test-File-Contents-" + version + ".tar.gz")) + (sha256 + (base32 + "0g8zgfyw84181snw7ghahnl9r4lrmlfj7zwi76sv8d0bj7xssvyd")))) + (build-system perl-build-system) + (native-inputs + `(("perl-module-build" ,perl-module-build))) + (propagated-inputs + `(("perl-test-pod" ,perl-test-pod) + ("perl-test-pod-coverage" ,perl-test-pod-coverage) + ("perl-text-diff" ,perl-text-diff))) + (home-page "https://metacpan.org/release/Test-File-Contents") + (synopsis "Test routines for examining the contents of files") + (description + "@{Test::File::Contents} provides functions for testing the contents of +files.") + (license perl-license))) + (define-public perl-test-file-sharedir-dist (package (name "perl-test-file-sharedir-dist") @@ -1275,6 +1375,32 @@ check if a string is valid and not corrupt, whereas the characteristics tests will check that string has a given set of characteristics.") (license perl-license))) +(define-public perl-test-version + (package + (name "perl-test-version") + (version "2.09") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/P/PL/PLICEASE/Test-Version-" + version + ".tar.gz")) + (sha256 + (base32 + "1q1qradaf7r2rb3jhpv01wl8z3bxymkfqrl9gwdhxwx5jwldvqcw")))) + (build-system perl-build-system) + (native-inputs + `(("perl-test-exception" ,perl-test-exception))) + (propagated-inputs + `(("perl-file-find-rule-perl" ,perl-file-find-rule-perl))) + (home-page "https://metacpan.org/release/Test-Version") + (synopsis "Check versions in modules") + (description + "@code{Test::Version} checks to ensure that all modules have a version +defined, and that the version is valid.") + (license artistic2.0))) + (define-public perl-test-warn (package (name "perl-test-warn") diff --git a/gnu/packages/perl-web.scm b/gnu/packages/perl-web.scm index 6ced2d160e..77a66f71d0 100644 --- a/gnu/packages/perl-web.scm +++ b/gnu/packages/perl-web.scm @@ -21,9 +21,11 @@ #:use-module ((guix licenses) #:prefix license:) #:use-module (gnu packages) #:use-module (guix packages) + #:use-module (gnu packages perl) #:use-module (gnu packages perl-check) #:use-module (guix download) - #:use-module (guix build-system perl)) + #:use-module (guix build-system perl) + #:use-module (gnu packages web)) (define-public perl-mojolicious (package @@ -48,6 +50,33 @@ used are outdated now, the idea behind it is not. Mojolicious is a new endeavor to implement this idea using modern technologies.") (license license:artistic2.0))) +(define-public perl-uri-db + (package + (name "perl-uri-db") + (version "0.19") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/D/DW/DWHEELER/URI-db-" + version + ".tar.gz")) + (sha256 + (base32 + "0n56xxlw7c39pfar0dxckr9mbmp6yrzk53ic0cb24raiykm9v6f4")))) + (build-system perl-build-system) + (native-inputs + `(("perl-module-build" ,perl-module-build))) + (propagated-inputs + `(("perl-uri" ,perl-uri) + ("perl-uri-nested" ,perl-uri-nested))) + (home-page "https://metacpan.org/release/URI-db") + (synopsis "Handle database URIs") + (description + "This module defines a format for database URIs, and provides a @{URI} +class to handle these.") + (license license:perl-license))) + (define-public perl-uri-escape (package (name "perl-uri-escape") @@ -70,3 +99,29 @@ percent-decode URI strings as defined by RFC 3986. Percent-encoding URI's is informally called URI escaping. This is the terminology used by this module, which predates the formalization of the terms by the RFC by several years.") (license license:perl-license))) + +(define-public perl-uri-nested + (package + (name "perl-uri-nested") + (version "0.10") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/D/DW/DWHEELER/URI-Nested-" + version + ".tar.gz")) + (sha256 + (base32 + "1bzg6f11m8wfnmycflvp858rs99xknsx8hkip0xcdfjzlqwi75z1")))) + (build-system perl-build-system) + (native-inputs + `(("perl-module-build" ,perl-module-build))) + (propagated-inputs + `(("perl-uri" ,perl-uri))) + (home-page "https://metacpan.org/release/URI-Nested") + (synopsis "Nested URIs") + (description + "@code{URI::Nested} provides support for nested URIs, where the scheme is +a prefix, and the remainder of the URI is another URI.") + (license license:perl-license))) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index ff387354e7..86d07c3ccc 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -49,6 +49,7 @@ #:use-module (gnu packages base) #:use-module (gnu packages compression) #:use-module (gnu packages freedesktop) + #:use-module (gnu packages less) #:use-module (gnu packages perl-check) #:use-module (gnu packages perl-compression) #:use-module (gnu packages perl-web) @@ -1435,6 +1436,33 @@ some enhancements such as here-documents, C-style comments, and multiline options.") (license (package-license perl)))) +(define-public perl-config-gitlike + (package + (name "perl-config-gitlike") + (version "1.17") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/A/AL/ALEXMV/Config-GitLike-" + version + ".tar.gz")) + (sha256 + (base32 + "0kp57na9mk6yni693h2fwap6l1ndbcj97l4860r9vkzx2jw0fjk7")))) + (build-system perl-build-system) + (native-inputs + `(("perl-test-exception" ,perl-test-exception))) + (propagated-inputs + `(("perl-moo" ,perl-moo) + ("perl-moox-types-mooselike" ,perl-moox-types-mooselike))) + (home-page "https://metacpan.org/release/Config-GitLike") + (synopsis "Parse Git style configuration files") + (description + "This module handles parsing, modifying and creating configuration files +of the style used by the Git version control system.") + (license perl-license))) + (define-public perl-config-ini (package (name "perl-config-ini") @@ -1530,6 +1558,28 @@ data.") @file{Changes} files that conform to a common specification.") (license perl-license))) +(define-public perl-cpan-distnameinfo + (package + (name "perl-cpan-distnameinfo") + (version "0.12") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/G/GB/GBARR/CPAN-DistnameInfo-" + version + ".tar.gz")) + (sha256 + (base32 + "0d94kx596w7k328cvq4y96z1gz12hdhn3z1mklkbrb7fyzlzn91g")))) + (build-system perl-build-system) + (home-page "https://metacpan.org/release/CPAN-DistnameInfo") + (synopsis "Extract the name and version from a distribution filename") + (description + "@code{CPAN::DistnameInfo} uses heuristics to extract the distribution +name and version from filenames.") + (license perl-license))) + (define-public perl-cpan-meta-check (package (name "perl-cpan-meta-check") @@ -2738,6 +2788,26 @@ equivalent of \"$@{^GLOBAL_PHASE@} eq 'DESTRUCT'\" for older perls.") files/modules are installed or not).") (license (package-license perl)))) +(define-public perl-devel-leak + (package + (name "perl-devel-leak") + (version "0.03") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/N/NI/NI-S/" + "Devel-Leak-" version ".tar.gz")) + (sha256 + (base32 + "0lkj2xwc3lhxv7scl43r8kfmls4am0b98sqf5vmf7d72257w6hkg")))) + (build-system perl-build-system) + (home-page "https://metacpan.org/release/Devel-Leak") + (synopsis "Utility for looking for perl objects that are not reclaimed") + (description + "This module provides a basic way to discover if a piece of perl code is +allocating perl data and not releasing them again.") + (license perl-license))) + (define-public perl-devel-lexalias (package (name "perl-devel-lexalias") @@ -3803,6 +3873,31 @@ functionality; it returns a list of file names that match the given pattern. For instance, it supports the @code{**/*.pm} form.") (license (package-license perl)))) +(define-public perl-filesys-notify-simple + (package + (name "perl-filesys-notify-simple") + (version "0.13") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/M/MI/MIYAGAWA/" + "Filesys-Notify-Simple-" version ".tar.gz")) + (sha256 + (base32 + "18jv96k1pf8wqf4vn2ahs7dv44lc9cyqj0bja9z17qici3dx7qxd")))) + (build-system perl-build-system) + (native-inputs + `(("perl-test-sharedfork" ,perl-test-sharedfork))) + (home-page "https://metacpan.org/release/Filesys-Notify-Simple") + (synopsis "Simple and dumb file system watcher") + (description + "Filesys::Notify::Simple is a simple but unified interface to get +notifications of changes to a given filesystem path. It utilizes inotify2 on +Linux, fsevents on OS X, kqueue on FreeBSD and FindFirstChangeNotification on +Windows if they're installed, with a fallback to the full directory scan if +they're not available.") + (license perl-license))) + (define-public perl-getopt-long (package (name "perl-getopt-long") @@ -4212,6 +4307,41 @@ easier to develop interactive applications: is_interactive(), interactive(), and busy().") (license (package-license perl)))) +(define-public perl-io-pager + (package + (name "perl-io-pager") + (version "0.4") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/J/JP/JPIERCE/IO-Pager-" + version + "0.tgz")) + (sha256 + (base32 + "1vzdypsr7vkj8nnda9ccrksci6pqj5awwmi89l7x3mbpq36gad87")))) + (build-system perl-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-less + (lambda _ + (substitute* "lib/IO/Pager.pm" + (("/usr/local/bin/less', '/usr/bin/less") + (which "less"))) + #t))))) + (propagated-inputs + `(("perl-file-which" ,perl-file-which))) + (inputs + `(("less" ,less))) + (home-page "https://metacpan.org/release/IO-Pager") + (synopsis "Select a pager and pipe text to it") + (description + "@code{IO::Pager} can be used to locate an available pager and use it to +display output if a TTY is in use.") + (license (package-license perl)))) + (define-public perl-io-string (package (name "perl-io-string") @@ -7539,6 +7669,32 @@ expanding standard C/Unix-style backslash escapes like \n and \t, wrapping and removing double-quotes, and truncating to fit within a desired length.") (license (package-license perl)))) +(define-public perl-string-formatter + (package + (name "perl-string-formatter") + (version "0.102084") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/R/RJ/RJBS/String-Formatter-" + version + ".tar.gz")) + (sha256 + (base32 + "0mlwm0rirv46gj4h072q8gdync5zxxsxy8p028gdyrhczl942dc3")))) + (build-system perl-build-system) + (propagated-inputs + `(("perl-params-util" ,perl-params-util) + ("perl-sub-exporter" ,perl-sub-exporter))) + (home-page "https://metacpan.org/release/String-Formatter") + (synopsis "Build your own sprintf-like functions") + (description + "@code{String::Formatter} is a tool for building sprintf-like formatting +routines. It supports named or positional formatting, custom conversions, +fixed string interpolation, and simple width-matching.") + (license gpl2))) + (define-public perl-string-rewriteprefix (package (name "perl-string-rewriteprefix") @@ -7560,6 +7716,28 @@ removing double-quotes, and truncating to fit within a desired length.") known prefixes.") (license (package-license perl)))) +(define-public perl-string-shellquote + (package + (name "perl-string-shellquote") + (version "1.04") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/R/RO/ROSCH/String-ShellQuote-" + version + ".tar.gz")) + (sha256 + (base32 + "0dfxhr6hxc2majkkrm0qbx3qcbykzpphbj2ms93dc86f7183c1p6")))) + (build-system perl-build-system) + (home-page "https://metacpan.org/release/String-ShellQuote") + (synopsis "Quote strings for passing through a shell") + (description + "@code{shell-quote} lets you pass arbitrary strings through the shell so +that they won't be changed.") + (license (package-license perl)))) + (define-public perl-string-print (package (name "perl-string-print") @@ -7893,6 +8071,28 @@ determining their type and clock speed.") of a system.") (license (package-license perl)))) +(define-public perl-sys-syscall + (package + (name "perl-sys-syscall") + (version "0.25") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/B/BR/BRADFITZ/" + "Sys-Syscall-" version ".tar.gz")) + (sha256 + (base32 + "1r8k4q04dhs191zgdfgiagvbra770hx0bm6x24jsykxn0c6ghi8y")))) + (build-system perl-build-system) + (home-page "https://metacpan.org/release/Sys-Syscall") + (synopsis + "Access system calls that Perl doesn't normally provide access to") + (description + "Sys::Syscall allows one to use epoll and sendfile system calls from +Perl. Support is mostly Linux-only for now, but other syscalls/OSes are +planned for the future.") + (license perl-license))) + (define-public perl-task-weaken (package (name "perl-task-weaken") @@ -7932,7 +8132,7 @@ error encouraging the user to seek support.") (source (origin (method url-fetch) - (uri (string-append "mirror://cpan/authors/id/A/AB/ABW/" + (uri (string-append "mirror://cpan/authors/id/A/AT/ATOOMIC/" "Template-Toolkit-" version ".tar.gz")) (sha256 (base32 @@ -7971,6 +8171,32 @@ documents: HTML, XML, POD, PostScript, LaTeX, and so on.") processing in Perl code.") (license (list gpl3 artistic2.0)))) +(define-public perl-template-tiny + (package + (name "perl-template-tiny") + (version "1.12") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/A/AD/ADAMK/Template-Tiny-" + version + ".tar.gz")) + (sha256 + (base32 + "0jhadxbc8rzbk2v8qvjrbhnvfp0m56iqar6d4nvxyl8bccn0cgh7")))) + (build-system perl-build-system) + (home-page "https://metacpan.org/release/Template-Tiny") + (synopsis "Template Toolkit reimplemented in as little code as possible") + (description + "@code{Template::Tiny} is a reimplementation of a subset of the +functionality from Template Toolkit in as few lines of code as possible. + +It is intended for use in light-usage, low-memory, or low-cpu templating +situations, where you may need to upgrade to the full feature set in the +future, or if you want the retain the familiarity of TT-style templates.") + (license perl-license))) + (define-public perl-term-encoding (package (name "perl-term-encoding") @@ -8538,6 +8764,28 @@ can also be set to any arbitrary supplied order. The familiar perl array operations can also be performed on the IxHash.") (license (package-license perl)))) +(define-public perl-tie-handle-offset + (package + (name "perl-tie-handle-offset") + (version "0.004") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/D/DA/DAGOLDEN/Tie-Handle-Offset-" + version + ".tar.gz")) + (sha256 + (base32 + "17m8s8314wi4g0wasdxk15rf12vzsgzmcbr598jam5f6bl2kk7zf")))) + (build-system perl-build-system) + (home-page "https://metacpan.org/release/Tie-Handle-Offset") + (synopsis "Special file handle that hides the beginning of a file") + (description + "This modules provides a file handle that hides the beginning of a file, +by modifying the @code{seek()} and @code{tell()} calls.") + (license asl2.0))) + (define-public perl-tie-toobject (package (name "perl-tie-toobject") diff --git a/gnu/packages/photo.scm b/gnu/packages/photo.scm index 69ec69548b..e62d13fe91 100644 --- a/gnu/packages/photo.scm +++ b/gnu/packages/photo.scm @@ -360,7 +360,7 @@ photographic equipment.") (define-public darktable (package (name "darktable") - (version "2.6.1") + (version "2.6.2") (source (origin (method url-fetch) @@ -368,7 +368,7 @@ photographic equipment.") "https://github.com/darktable-org/darktable/releases/" "download/release-" version "/darktable-" version ".tar.xz")) (sha256 - (base32 "09ihbj0602spgc5lfbskf9am38n03gam2r8v3kj4dyfgxqr37ib3")))) + (base32 "0igvgyd042j7hm4y8fcm6dc1qqjs4d1r7y6f0pzpa0x416xyzfcw")))) (build-system cmake-build-system) (arguments `(#:tests? #f ; there are no tests diff --git a/gnu/packages/plotutils.scm b/gnu/packages/plotutils.scm index 35e632cf8c..b4ea20e387 100644 --- a/gnu/packages/plotutils.scm +++ b/gnu/packages/plotutils.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2015 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2016, 2017, 2019 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> @@ -93,7 +93,16 @@ scientific data.") "guile-charting-" version ".tar.gz")) (sha256 (base32 - "0w5qiyv9v0ip5li22x762bm48g8xnw281w66iyw094zdw611pb2m")))) + "0w5qiyv9v0ip5li22x762bm48g8xnw281w66iyw094zdw611pb2m")) + (modules '((guix build utils))) + (snippet + '(begin + ;; By default, .go files would be installed to + ;; $libdir/…/ccache instead of $libdir/…/site-ccache. Fix + ;; that. + (substitute* (find-files "." "^Makefile\\.in$") + (("/ccache") "/site-ccache")) + #t)))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) (inputs `(("guile" ,guile-2.2))) diff --git a/gnu/packages/poedit.scm b/gnu/packages/poedit.scm new file mode 100644 index 0000000000..0b21a9eea7 --- /dev/null +++ b/gnu/packages/poedit.scm @@ -0,0 +1,80 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2019 Julien Lepiller <julien@lepiller.eu> +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. + +(define-module (gnu packages poedit) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (gnu packages) + #:use-module (guix packages) + #:use-module (guix git-download) + #:use-module (guix utils) + #:use-module (guix build-system gnu) + #:use-module (gnu packages autotools) + #:use-module (gnu packages boost) + #:use-module (gnu packages enchant) + #:use-module (gnu packages gettext) + #:use-module (gnu packages gtk) + #:use-module (gnu packages icu4c) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages rdf) + #:use-module (gnu packages wxwidgets) + #:use-module (gnu packages xml)) + +(define-public poedit + (package + (name "poedit") + (version "2.2.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/vslavik/poedit") + (commit (string-append "v" version "-oss")))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1fxzmry4b23l90j03jdyvd4jprdpy4xcnhw7xrmmfnlbh2abf9x7")) + (modules '((guix build utils))) + (snippet + '(begin + (delete-file-recursively "deps") + #t)))) + (build-system gnu-build-system) + (arguments + `(#:configure-flags + (list (string-append "--with-boost-libdir=" + (assoc-ref %build-inputs "boost") + "/lib")))) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("gettext-minimal" ,gettext-minimal) + ("pkg-config" ,pkg-config))) + (inputs + `(("boost" ,boost) + ("enchant" ,enchant) + ("gtk+" ,gtk+) + ("gtkspell3" ,gtkspell3) + ("icu4c" ,icu4c) + ("lucene++" ,lucene++) + ("pugixml" ,pugixml) + ("wxwidgets" ,wxwidgets))) + (home-page "https://poedit.net/") + (synopsis "Gettext catalog editing tool") + (description "Poedit is a GUI frontend to the GNU gettext utilities and +a catalog editor/source code parser. It helps with translating applications +into other languages.") + (license license:expat))) diff --git a/gnu/packages/pretty-print.scm b/gnu/packages/pretty-print.scm index 346d3660d5..405ad08ba4 100644 --- a/gnu/packages/pretty-print.scm +++ b/gnu/packages/pretty-print.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2017 Ludovic Courtès <ludo@gnu.org> -;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2019 Meiyo Peng <meiyo@riseup.net> ;;; ;;; This file is part of GNU Guix. @@ -241,14 +241,14 @@ seen in a terminal.") (define-public highlight (package (name "highlight") - (version "3.49") + (version "3.50") (source (origin (method url-fetch) (uri (string-append "http://www.andre-simon.de/zip/highlight-" version ".tar.bz2")) (sha256 - (base32 "1zlhmlq5fnsxxmm04qfchhl4w2iw5fa6sn81c34q6k2m1m77g6aj")))) + (base32 "0frcq12zy3dqfhwwzylm10ydp7zp51w9jlijm23zvx09daslg1bl")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; no tests diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 0379095dab..5484c325ec 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -3349,24 +3349,16 @@ color scales, and color space conversion easy. It has support for: (define-public python-pygit2 (package (name "python-pygit2") - (version "0.27.4") + (version "0.28.0") (source (origin (method url-fetch) (uri (pypi-uri "pygit2" version)) (sha256 - (base32 - "15c1mhwwjc7nr8hn5gm21hcfhw61jmwb0vngpjhlm3y5565wg2pz")))) + (base32 "0lngsaz029d4fjcwhl17pr59nh9gwl6hwfin36nph60fgsmfdg3d")))) (build-system python-build-system) (arguments - '(#:tests? #f; tests don't run correctly in our environment - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'fix-dependency-versioning - (lambda _ - (substitute* "setup.py" - (("<") "<=")) - #t))))) + '(#:tests? #f)) ; tests don't run correctly in our environment (propagated-inputs `(("python-six" ,python-six) ("python-cffi" ,python-cffi) @@ -4453,13 +4445,13 @@ memoizing PEG/Packrat parser in Python.") (version "0.13.0") (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/pygridtools/gridmap/archive/v" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/pygridtools/gridmap.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 - (base32 "1gzjg2k6f14i1msm2b0ax8d9ds1hvk6qd5nlaivg8m4cxqp4cp1x")))) + (base32 "1478lbwsr1w24cii2x01m2910fvh8r43ghnb78nc972a96hqiknm")))) (build-system python-build-system) (arguments '(#:tests? #f)) ; FIXME: Requires python-cherrypy. @@ -4484,13 +4476,13 @@ cluster without needing to write any wrapper code yourself.") (version "1.0.1") (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/nickstenning/honcho/archive/v" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/nickstenning/honcho.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 - (base32 "0zizn61n5z5hq421hkypk9pw8s6fpxw30f4hsg7k4ivwzy3gjw9j")))) + (base32 "11bd87474qpif20xdcn0ra1idj5k16ka51i658wfpxwc6nzsn92b")))) (build-system python-build-system) (native-inputs `(("python-pytest" ,python-pytest) @@ -6747,14 +6739,15 @@ Python Package Index (PyPI).") (name "python-tlsh") (version "3.4.5") (home-page "https://github.com/trendmicro/tlsh") - (source (origin - (method url-fetch) - (uri (string-append "https://github.com/trendmicro/tlsh/archive/v" - version ".tar.gz")) - (sha256 - (base32 - "1x1vahd4zg5kpyr9h9hs3fvh460p25rjy4cclwdnbbw8x3vc30q3")) - (file-name (string-append name "-" version ".tar.gz")))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/trendmicro/tlsh.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1ydliir308xn4ywy705mmsh7863ldlixdvpqwdhbipzq9vfpmvll")))) (build-system cmake-build-system) (arguments '(#:out-of-source? #f @@ -10235,20 +10228,21 @@ discovery, monitoring and configuration.") (name "python-schematics") (version "1.1.1") (source - (origin - (method url-fetch) - (uri (string-append - "https://github.com/schematics/schematics/archive/v" version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "19v1i69bf3bzarfxmbv0v6ivpcn758x3shvbiy9l2hy0lvqwnp6l")))) + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/schematics/schematics.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0xdqskycznqc7mfp60bhw1zq8wx7yx1dvmbq3brnm1dx3xnqa0zd")))) (build-system python-build-system) (propagated-inputs `(("python-six" ,python-six))) (arguments - `(#:tests? #f)) ; requires a bunch of not very nice packages with fixed - ; version requirements (eg python-coveralls) + ;; The tests require a bunch of not very nice packages with fixed + ;; version requirements (e.g. python-coveralls). + `(#:tests? #f)) (home-page "https://github.com/schematics/schematics") (synopsis "Python Data Structures for Humans") (description "Python Data Structures for Humans.") @@ -12585,13 +12579,13 @@ Swagger 2.0).") (version "0.6.3") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/rochacbruno/flasgger/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/rochacbruno/flasgger.git") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 - "1gqzlm0rb55fdpsy5ipkganlx9cnpi454fqyycr03jm22zql14ay")))) + (base32 "0yydxsyjnc0clbrjqb1n7587l6cdqvwdagwxk5hkx01qwdfbkvpn")))) (build-system python-build-system) (arguments `(#:phases @@ -13097,13 +13091,13 @@ executed more than a given number of times during a given period.") (version "0.3") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/kovidgoyal/dukpy/archive/v" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/kovidgoyal/dukpy.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 - (base32 - "0pj39rfwlzivqm5hkrsza7gssg6ggpxlq5ivc8f3h7x5pfgc6y6c")))) + (base32 "13h21nqzasv4zj32xs61brmc106pr2cx243672crcmwxxnjgaxls")))) (build-system python-build-system) (home-page "https://github.com/kovidgoyal/dukpy") (synopsis "Run JavaScript in python") @@ -14170,16 +14164,15 @@ manager compatible with @code{asyncio}.") (package (name "python-glob2") (version "0.6") - (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/miracle2k/python-glob2/archive/" - version - ".tar.gz")) - (sha256 - (base32 - "0ja168f0dz4kbz4m06dm0rd3acaypk6hjx2km541pw22y9s40mag")) - (file-name (string-append name "-" version ".tar.gz")))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/miracle2k/python-glob2.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1lm1xz3k3l0k1c5bcp9hlzmi3gp5j8dl1k3xhpiq5mnm0xq6n163")))) (build-system python-build-system) (home-page "https://github.com/miracle2k/python-glob2/") (synopsis "Extended Version of the python buildin glob module") @@ -14863,14 +14856,14 @@ append on old values. Partd excels at shuffling operations.") (define-public python-dask (package (name "python-dask") - (version "1.1.4") + (version "1.2.0") (source (origin (method url-fetch) (uri (pypi-uri "dask" version)) (sha256 (base32 - "1hrnfz4pzawikz9b622vjz2500n7hs25nz9msy1k8l4g7l2kr6ky")))) + "1y0dqcp72ixwblgway0jpvfirlxfcmwrjiivdq96firj1hw127sd")))) (build-system python-build-system) ;; A single test out of 5000+ fails. This test is marked as xfail when ;; pytest-xdist is used. diff --git a/gnu/packages/rdf.scm b/gnu/packages/rdf.scm index 4a3efd8d3f..3e2db7acdf 100644 --- a/gnu/packages/rdf.scm +++ b/gnu/packages/rdf.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2013, 2014, 2015 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2015, 2016, 2018 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2019 Julien Lepiller <julien@lepiller.eu> ;;; ;;; This file is part of GNU Guix. ;;; @@ -20,7 +21,7 @@ (define-module (gnu packages rdf) #:use-module ((guix licenses) - #:select (non-copyleft isc gpl2 lgpl2.1 lgpl2.1+)) + #:select (non-copyleft asl2.0 isc gpl2 lgpl2.1 lgpl2.1+ lgpl3+)) #:use-module (guix packages) #:use-module (guix git-download) #:use-module (guix download) @@ -119,6 +120,37 @@ full-featured indexing and searching API. It is a port of the very popular Java Lucene text search engine API to C++.") (license lgpl2.1))) +(define-public lucene++ + (package + (name "lucene++") + (version "3.0.7") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/luceneplusplus/LucenePlusPlus") + (commit (string-append "rel_" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "06b37fly6l27zc6kbm93f6khfsv61w792j8xihfagpcm9cfz2zi1")))) + (build-system cmake-build-system) + (arguments + `(#:configure-flags + ;; CXX_FLAGS suggested in a closed issue on github: + ;; https://github.com/luceneplusplus/LucenePlusPlus/issues/100 + (list "-Wno-dev" "-DCMAKE_CXX_FLAGS=-DBOOST_VARIANT_USE_RELAXED_GET_BY_DEFAULT" + ;; Install in lib64 break rpath + "-DCMAKE_INSTALL_LIBDIR:PATH=lib"))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("boost" ,boost))) + (home-page "https://github.com/luceneplusplus/LucenePlusPlus") + (synopsis "Text search engine") + (description "Lucene++ is an up to date C++ port of the popular Java +Lucene library, a high-performance, full-featured text search engine.") + (license (list asl2.0 lgpl3+)))); either asl or lgpl. + (define-public lrdf (package (name "lrdf") diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 9a899b6bb4..8bde577229 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -2986,12 +2986,13 @@ with processes on remote servers, via SSH2.") (version "1.2.2.rc2") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/net-ssh/net-scp/archive/v" - version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/net-ssh/net-scp.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 - (base32 - "0xyf17mhgvyz54xjj9ria4wnq3x62bhmkfgzqv8jwiip2bplv1nk")))) + (base32 "1nyn17sy71fn7zs3y6wbgcn35318c10flqgc0582409095x4h0sx")))) (build-system ruby-build-system) (native-inputs `(("bundler" ,bundler) @@ -7679,14 +7680,15 @@ strings or files.") (package (name "ruby-sass-spec") (version "3.5.4") - (source (origin - (method url-fetch) - (uri (string-append "https://github.com/sass/sass-spec/archive/v" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "0nx8lp7c9qa58w489crgqa3c489xsyarn1a8h4np9mwwfqm1h3rr")))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/sass/sass-spec.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1zsw66830w0xlc7kxz6fm4b5nyb44vdsdgm9mgy06s5aixx83pwr")))) (build-system ruby-build-system) (propagated-inputs `(("ruby-command-line-reporter-3" ,ruby-command-line-reporter-3) diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm index 7b76858a9f..61fc0d46ac 100644 --- a/gnu/packages/rust.scm +++ b/gnu/packages/rust.scm @@ -726,6 +726,16 @@ jemalloc = \"" jemalloc "/lib/libjemalloc_pic.a" "\" `(modify-phases ,phases ;; binaryen was replaced with LLD project from LLVM (delete 'dont-build-native) + (replace 'check + (lambda* _ + ;; Enable parallel execution. + (let ((parallel-job-spec + (string-append "-j" (number->string + (min 4 + (parallel-job-count)))))) + (invoke "./x.py" parallel-job-spec "test" "-vv") + (invoke "./x.py" parallel-job-spec "test" + "src/tools/cargo")))) (replace 'remove-unsupported-tests (lambda* _ ;; Our ld-wrapper cannot process non-UTF8 bytes in LIBRARY_PATH. @@ -930,7 +940,7 @@ jemalloc = \"" jemalloc "/lib/libjemalloc_pic.a" "\" (("```rust") "```rust,no_run")) #t))))))))) -(define-public rust +(define-public rust-1.32 (let ((base-rust (rust-bootstrapped-package rust-1.31 "1.32.0" "0ji2l9xv53y27xy72qagggvq47gayr5lcv2jwvmfirx029vlqnac" @@ -982,3 +992,44 @@ jemalloc = \"" jemalloc "/lib/libjemalloc_pic.a" "\" ;; Remove no longer relevant steps (delete 'remove-flaky-test) (delete 'patch-aarch64-test)))))))) + +(define-public rust-1.33 + (let ((base-rust + (rust-bootstrapped-package rust-1.32 "1.33.0" + "152x91mg7bz4ygligwjb05fgm1blwy2i70s2j03zc9jiwvbsh0as" + #:patches '()))) + (package + (inherit base-rust) + (inputs + ;; Upgrade to jemalloc@5.1.0 + (alist-replace "jemalloc" (list jemalloc) + (package-inputs base-rust))) + (arguments + (substitute-keyword-arguments (package-arguments base-rust) + ((#:phases phases) + `(modify-phases ,phases + (delete 'ignore-cargo-package-tests) + (add-after 'configure 'configure-test-threads + ;; Several rustc and cargo tests will fail if run on one core + ;; https://github.com/rust-lang/rust/issues/59122 + ;; https://github.com/rust-lang/cargo/issues/6746 + ;; https://github.com/rust-lang/rust/issues/58907 + (lambda* (#:key inputs #:allow-other-keys) + (setenv "RUST_TEST_THREADS" "2") + #t))))))))) + +(define-public rust + (let ((base-rust + (rust-bootstrapped-package rust-1.33 "1.34.0" + "0n8z1wngkxab1rvixqg6w8b727hzpnm9wp9h8iy3mpbrzp7mmj3s" + #:patches '()))) + (package + (inherit base-rust) + (source + (origin + (inherit (package-source base-rust)) + (snippet '(begin + (delete-file-recursively "src/llvm-emscripten") + (delete-file-recursively "src/llvm-project") + (delete-file-recursively "vendor/jemalloc-sys/jemalloc") + #t))))))) diff --git a/gnu/packages/samba.scm b/gnu/packages/samba.scm index 3d64eaf11a..8a117799ef 100644 --- a/gnu/packages/samba.scm +++ b/gnu/packages/samba.scm @@ -5,7 +5,7 @@ ;;; Copyright © 2016 Adonay "adfeno" Felipe Nogueira <https://libreplanet.org/wiki/User:Adfeno> <adfeno@openmailbox.org> ;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be> ;;; Copyright © 2017, 2018 Marius Bakke <mbakke@fastmail.com> -;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2019 Rutger Helling <rhelling@mykolab.com> ;;; @@ -56,14 +56,14 @@ (define-public cifs-utils (package (name "cifs-utils") - (version "6.8") + (version "6.9") (source (origin (method url-fetch) (uri (string-append "https://download.samba.org/pub/linux-cifs/" - name "/" name "-" version ".tar.bz2")) + "cifs-utils/cifs-utils-" version ".tar.bz2")) (sha256 (base32 - "0ygz3pagjpaj5ky11hzh4byyymb7fpmqiqkprn11zwj31h2zdlg7")))) + "175cp509wn1zv8p8mv37hkf6sxiskrsxdnq22mhlsg61jazz3n0q")))) (build-system gnu-build-system) (native-inputs `(("autoconf" ,autoconf) @@ -80,7 +80,8 @@ `(#:phases (modify-phases %standard-phases (add-before 'configure 'set-root-sbin - (lambda _ ; Don't try to install in "/sbin". + (lambda _ + ;; Don't try to install into "/sbin". (setenv "ROOTSBINDIR" (string-append (assoc-ref %outputs "out") "/sbin")) #t))))) @@ -152,14 +153,14 @@ anywhere.") (define-public samba (package (name "samba") - (version "4.10.1") + (version "4.10.2") (source (origin (method url-fetch) (uri (string-append "https://download.samba.org/pub/samba/stable/" "samba-" version ".tar.gz")) (sha256 (base32 - "0kf5v65xgz7z18ggj1k46yy5g5dy76k7ni04s79kalzqqs25scd7")))) + "112yizx9cpjhi8c7mh9znqg0c9dkj3383hwr8dhgpykl3g2zv347")))) (build-system gnu-build-system) (arguments `(#:phases diff --git a/gnu/packages/search.scm b/gnu/packages/search.scm index a127d5ca34..fe51900179 100644 --- a/gnu/packages/search.scm +++ b/gnu/packages/search.scm @@ -23,11 +23,12 @@ (define-module (gnu packages search) #:use-module ((guix licenses) - #:select (gpl2 gpl2+ gpl3+ lgpl2.1+ bsd-3 x11)) + #:select (gpl2 gpl2+ gpl3+ lgpl2.1+ bsd-3 x11 perl-license)) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix utils) #:use-module (guix build-system gnu) + #:use-module (guix build-system perl) #:use-module (guix build-system python) #:use-module (gnu packages) #:use-module (gnu packages compression) @@ -110,6 +111,31 @@ rich set of boolean query operators.") (synopsis "Python bindings for the Xapian search engine library") (license gpl2+))) +(define-public perl-search-xapian + (package + (name "perl-search-xapian") + (version "1.2.25.2") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/O/OL/OLLY/" + "Search-Xapian-" version ".tar.gz")) + (sha256 + (base32 + "0hpa8gi38j0ibq8af6dy69lm1bl5jnq76nsa69dbrzbr88l5m594")))) + (build-system perl-build-system) + (native-inputs + `(("perl-devel-leak" ,perl-devel-leak))) + (inputs + `(("xapian" ,xapian))) + (home-page "https://metacpan.org/release/Search-Xapian") + (synopsis "Perl XS frontend to the Xapian C++ search library") + (description + "Search::Xapian wraps most methods of most Xapian classes. The missing +classes and methods should be added in the future. It also provides a +simplified, more 'perlish' interface to some common operations.") + (license perl-license))) + (define-public libtocc (package (name "libtocc") diff --git a/gnu/packages/security-token.scm b/gnu/packages/security-token.scm index 29d691dd31..c88a1c6b2a 100644 --- a/gnu/packages/security-token.scm +++ b/gnu/packages/security-token.scm @@ -312,7 +312,7 @@ and other operations. It includes a library and a command-line tool.") (define-public yubikey-personalization (package (name "yubikey-personalization") - (version "1.19.0") + (version "1.19.3") (source (origin (method url-fetch) (uri (string-append @@ -320,7 +320,7 @@ and other operations. It includes a library and a command-line tool.") "/Releases/ykpers-" version ".tar.gz")) (sha256 (base32 - "104lc0nnqdr365fa7c4vrq67rxp1dp8idndsh9jlhnj9dnhszj1b")))) + "0jhvnavjrpwzmmjcw486df5s48j53njqgyz36yz3dskbaz3kwlfr")))) (build-system gnu-build-system) (arguments '(#:configure-flags (list (string-append "--with-udevrulesdir=" diff --git a/gnu/packages/spice.scm b/gnu/packages/spice.scm index e9e9042bd1..52e4f4f7f6 100644 --- a/gnu/packages/spice.scm +++ b/gnu/packages/spice.scm @@ -117,7 +117,7 @@ which allows users to view a desktop computing environment.") (define-public spice-gtk (package (name "spice-gtk") - (version "0.35") + (version "0.36") (source (origin (method url-fetch) (uri (string-append @@ -125,7 +125,7 @@ which allows users to view a desktop computing environment.") "spice-gtk-" version ".tar.bz2")) (sha256 (base32 - "11lymg467gvj5ys8k22ihnfbxjn4x34ygyzirpg2nphjwlyhgrml")))) + "1kfpixfdmxs9wn3id48gc9bvfrgxz935y3wpykf40bgi9mcc69ki")))) (build-system gnu-build-system) (propagated-inputs `(("gstreamer" ,gstreamer) @@ -134,20 +134,23 @@ which allows users to view a desktop computing environment.") ("gst-plugins-good" ,gst-plugins-good) ("gst-plugins-bad" ,gst-plugins-bad) ("gst-plugins-ugly" ,gst-plugins-ugly) - ("spice-protocol" ,spice-protocol))) + ("spice-protocol" ,spice-protocol) + + ;; These are required by the pkg-config files. + ("gtk+" ,gtk+) + ("pixman" ,pixman) + ("openssl" ,openssl))) (inputs `(("glib-networking" ,glib-networking) ("gobject-introspection" ,gobject-introspection) - ("gtk+" ,gtk+) + ("json-glib" ,json-glib) ("libepoxy" ,libepoxy) ("libjpeg" ,libjpeg) ("libxcb" ,libxcb) ("lz4" ,lz4) ("mesa" ,mesa) - ("pixman" ,pixman) ("pulseaudio" ,pulseaudio) ("python" ,python) - ("openssl" ,openssl) ("opus" ,opus) ("usbredir" ,usbredir))) (native-inputs @@ -162,6 +165,13 @@ which allows users to view a desktop computing environment.") "--enable-introspection") #:phases (modify-phases %standard-phases + (add-before 'check 'disable-session-test + (lambda _ + ;; XXX: Disable session tests, because they require USB support, + ;; which is not available in the build container. + (substitute* "tests/Makefile" + (("test-session\\$\\(EXEEXT\\) ") "")) + #t)) (add-after 'install 'wrap-spicy (lambda* (#:key inputs outputs #:allow-other-keys) @@ -291,7 +301,6 @@ resolution scaling on graphical console window resize.") `(("gtk+" ,gtk+) ("libcap" ,libcap) ("libxml2" ,libxml2) - ("openssl" ,openssl) ("spice-gtk" ,spice-gtk))) (native-inputs `(("glib:bin" ,glib "bin") diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 1c834c3166..26e5f62666 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -570,14 +570,14 @@ and operations on them using LAPACK and SuiteSparse.") (define-public r-nlme (package (name "r-nlme") - (version "3.1-137") + (version "3.1-139") (source (origin (method url-fetch) (uri (cran-uri "nlme" version)) (sha256 (base32 - "11vyxxc0n36vb8d8g02zr0402ymicvbifwdsqm7gy9iqqnwrn101")))) + "0fap121c18nbznyzvnqvsdiszg2nbmkas6zhgrz1f8jiv1lzqq04")))) (build-system r-build-system) (propagated-inputs `(("r-lattice" ,r-lattice))) @@ -636,14 +636,14 @@ single hidden layer, and for multinomial log-linear models.") (define-public r-rpart (package (name "r-rpart") - (version "4.1-13") + (version "4.1-15") (source (origin (method url-fetch) (uri (cran-uri "rpart" version)) (sha256 (base32 - "0k29qx3k3pj5sgrpg0p47yd8i811rmdakaw57bigpq1449asc4cf")))) + "0p5frya963ppn476p5dxs2mnarsalksr6gw9zzmjsn8ikq7bx3ib")))) (build-system r-build-system) (home-page "https://cran.r-project.org/web/packages/rpart") (synopsis "Recursive partitioning and regression trees") @@ -1120,13 +1120,13 @@ legends.") (define-public r-ggplot2 (package (name "r-ggplot2") - (version "3.1.0") + (version "3.1.1") (source (origin (method url-fetch) (uri (cran-uri "ggplot2" version)) (sha256 - (base32 "1msy36r21nlmnpyaw2m9k0ykmnd19b9il01b65w457pfw75prrs9")))) + (base32 "0y8cks9r9hvjlx0isnvbgs3p0al167hlr3q7c3syfcj77dzjkpmz")))) (build-system r-build-system) (propagated-inputs `(("r-digest" ,r-digest) @@ -1635,13 +1635,13 @@ defined in different packages.") (define-public r-rlang (package (name "r-rlang") - (version "0.3.3") + (version "0.3.4") (source (origin (method url-fetch) (uri (cran-uri "rlang" version)) (sha256 (base32 - "1pdlafnijpd2vzy8jxcxwakfi66n4qzrqxvcxi1ja389m066cvbb")))) + "1pks7d2xavzgaxqrnk3f79qsmv4wqv93f8991jv93pnb1mxpyijf")))) (build-system r-build-system) (home-page "http://rlang.tidyverse.org") (synopsis "Functions for base types, core R and Tidyverse features") @@ -1827,13 +1827,13 @@ times.") (define-public r-data-table (package (name "r-data-table") - (version "1.12.0") + (version "1.12.2") (source (origin (method url-fetch) (uri (cran-uri "data.table" version)) (sha256 (base32 - "1xz388khklqqc39r1cmjvqm65azambgzqw0743aypm6v4chi26v1")))) + "1x929lwhai6nkppm4zvicyw5qh5va5sizp86r30qnfkh1n7w2mfv")))) (build-system r-build-system) (home-page "https://github.com/Rdatatable/data.table/wiki") (synopsis "Enhanced version of data.frame R object") @@ -2056,13 +2056,13 @@ jackknifed confidence intervals are available for most estimates.") (define-public r-rversions (package (name "r-rversions") - (version "1.0.3") + (version "1.1.0") (source (origin (method url-fetch) (uri (cran-uri "rversions" version)) (sha256 (base32 - "0i2gi05nrvknr7g89rbppkswyfcwwd4r9gp75fdfhpah8sgq1l11")))) + "0g4wvq6m9inhy6ww18lvkhkgarb1m9dp2kdxkkyk5qvldgqa598l")))) (build-system r-build-system) (propagated-inputs `(("r-curl" ,r-curl) @@ -2096,14 +2096,14 @@ limited to R.") (define-public r-backports (package (name "r-backports") - (version "1.1.3") + (version "1.1.4") (source (origin (method url-fetch) (uri (cran-uri "backports" version)) (sha256 (base32 - "1hac46xaawnqajlsfb5k7pfkc2ya9h76s5qv9ycj3jafh93d26z4")))) + "00zz969vc2gfi5p9q65pzghq2bxm3p9zqgwqswkyz9rgybz5wjzf")))) (build-system r-build-system) (home-page "https://cran.r-project.org/web/packages/backports") (synopsis "Reimplementations of functions introduced since R 3.0.0") @@ -2421,13 +2421,13 @@ informative error messages when it's not available.") (define-public r-devtools (package (name "r-devtools") - (version "2.0.1") + (version "2.0.2") (source (origin (method url-fetch) (uri (cran-uri "devtools" version)) (sha256 (base32 - "1nyspqicn9zd1rgq3k07b3179i8w5ys6jbd65g9q8qczrb7z3x8f")))) + "028pppj39ng7q17k27531s8k00lmw982vz5krn74n9b8f2azm8lr")))) (build-system r-build-system) (propagated-inputs `(("r-callr" ,r-callr) @@ -2521,13 +2521,13 @@ disk (or a connection).") (define-public r-plotrix (package (name "r-plotrix") - (version "3.7-4") + (version "3.7-5") (source (origin (method url-fetch) (uri (cran-uri "plotrix" version)) (sha256 (base32 - "1hs0zwaqs34559girinvysjfbvznyn8znp9cwvkqx6k2cqvcjinj")))) + "0k6ivryac1k81z2dijjds376a9jxwk8rf5g48snj67cnjffkybxj")))) (build-system r-build-system) (home-page "https://cran.r-project.org/web/packages/plotrix") (synopsis "Various plotting functions") @@ -3805,13 +3805,13 @@ features present in other programming languages.") (define-public r-plotly (package (name "r-plotly") - (version "4.8.0") + (version "4.9.0") (source (origin (method url-fetch) (uri (cran-uri "plotly" version)) (sha256 (base32 - "19p8pa03q9mw5vaan7r56xgd13d90ssiz0flbrkvpfrir2105ybq")))) + "1kz2hm7vnkn4clxr6yyxxnmdmkz9zwjq6bzysw7j27r3721i8qgp")))) (build-system r-build-system) (propagated-inputs `(("r-base64enc" ,r-base64enc) @@ -4427,13 +4427,13 @@ data at that region, and avoids over-plotting.") (define-public r-ggthemes (package (name "r-ggthemes") - (version "4.1.0") + (version "4.1.1") (source (origin (method url-fetch) (uri (cran-uri "ggthemes" version)) (sha256 (base32 - "1a6r384v72hb91qkg9rz2m7s3qskbl9haxynf2vzz6v1ak9xd4c5")))) + "092hks6bxi6al8nclgswnzfmx5wp6n3qf63aqiajca7dx8w8n0m2")))) (build-system r-build-system) (propagated-inputs `(("r-ggplot2" ,r-ggplot2) diff --git a/gnu/packages/suckless.scm b/gnu/packages/suckless.scm index 92d5358c5e..427bc44598 100644 --- a/gnu/packages/suckless.scm +++ b/gnu/packages/suckless.scm @@ -496,15 +496,14 @@ cups server to be installed.") (define-public noice (package (name "noice") - (version "0.7") + (version "0.8") (source (origin (method url-fetch) (uri (string-append "https://dl.2f30.org/releases/" - name "-" version ".tar.gz")) + "noice-" version ".tar.gz")) (sha256 - (base32 - "03b0kzngzacfpz4n8lgbvia2s765i5bkw55v482hh4m49dm41gpc")))) + (base32 "0g01iwzscdv27c1idv93gd74kjzy3n9kazgm6qz08rygp96qx4xw")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; no tests diff --git a/gnu/packages/terminals.scm b/gnu/packages/terminals.scm index 2d46585865..d0531b0c14 100644 --- a/gnu/packages/terminals.scm +++ b/gnu/packages/terminals.scm @@ -249,10 +249,14 @@ compatibility to existing emulators like xterm, gnome-terminal, konsole, etc.") "0q62kjsvy2iwy8adfiygx2bfwlh83rphgxbis95ycspqidg9py87")) (patches (search-patches "kmscon-runtime-keymap-switch.patch")) - (modules '((guix build utils))))) + (modules '((guix build utils))) + (file-name (git-file-name name version)))) (build-system gnu-build-system) (arguments - `(#:phases (modify-phases %standard-phases + `(;; The closure of MESA is huge so we'd rather avoid it. + #:disallowed-references (,mesa) + + #:phases (modify-phases %standard-phases (replace 'bootstrap (lambda _ (setenv "NOCONFIGURE" "indeed") @@ -285,7 +289,10 @@ compatibility to existing emulators like xterm, gnome-terminal, konsole, etc.") ("libtsm" ,libtsm) ("libxkbcommon" ,libxkbcommon) ("logind" ,elogind) - ("mesa" ,mesa) + ;; MESA can be used for accelerated video output via OpenGLESv2, but + ;; it's a bit dependency that we'd rather avoid in the installation + ;; image. + ;; ("mesa" ,mesa) ("pango" ,pango) ("udev" ,eudev))) (synopsis "Linux KMS-based terminal emulator") @@ -377,7 +384,7 @@ to all types of devices that provide serial consoles.") (define-public beep (package (name "beep") - (version "1.4.3") + (version "1.4.4") (source (origin (method git-fetch) @@ -390,7 +397,7 @@ to all types of devices that provide serial consoles.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1gramwa2zm59kqjhv96fi8vg7l6lyffv02h0310vb90naschi99g")))) + (base32 "1bk7g63qpiclbq20iz2x238by8s1b2iafdim7i6dq1i5n01s7lgx")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; no tests diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm index 314d88f2fc..c3ce80c8f5 100644 --- a/gnu/packages/tex.scm +++ b/gnu/packages/tex.scm @@ -6022,7 +6022,7 @@ typearea (which are the main parts of the bundle).") (copy-recursively (assoc-ref %build-inputs "source") target) #t)))) (home-page "https://www.ctan.org/pkg/listofitems") - (synopsis "Grab items in lists using user-specified seperation character") + (synopsis "Grab items in lists using user-specified separation character") (description "This package allows one to capture all the items of a list, for which the parsing character has been selected by the user, and to access any of diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index 1ab909d53e..11bb64ce8b 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -529,13 +529,13 @@ netcat implementation that supports TLS.") (package (name "python-acme") ;; Remember to update the hash of certbot when updating python-acme. - (version "0.33.0") + (version "0.33.1") (source (origin (method url-fetch) (uri (pypi-uri "acme" version)) (sha256 (base32 - "0gmnbjanv8dl8035n2b30wisqn4w9rr6fxzxrbrbnhhd40pnlplx")))) + "10ks4wp55qxzkf8ms3xcfs5njg2zz7w499wh24gzw7h7s1qxp35k")))) (build-system python-build-system) (arguments `(#:phases @@ -586,7 +586,7 @@ netcat implementation that supports TLS.") (uri (pypi-uri name version)) (sha256 (base32 - "0iiqr306zy56y8wpxsvzw1izs184pzps72kxhssmznqlgz5ngni5")))) + "1nf3bb6j3nmdd5bcp3k7d6jqilmwvpzllzpr5niwaghgqlr3y86m")))) (build-system python-build-system) (arguments `(,@(substitute-keyword-arguments (package-arguments python-acme) diff --git a/gnu/packages/upnp.scm b/gnu/packages/upnp.scm index 5411ca249b..3f3d80f576 100644 --- a/gnu/packages/upnp.scm +++ b/gnu/packages/upnp.scm @@ -32,14 +32,14 @@ (define-public miniupnpc (package (name "miniupnpc") - (version "2.1.20190403") + (version "2.1.20190408") (source (origin (method url-fetch) (uri (string-append "https://miniupnp.tuxfamily.org/files/" name "-" version ".tar.gz")) (sha256 - (base32 "0qgwcinj8h312v2995qc2z1lbpmw916glkc8j9fa16xr4l2skxfy")))) + (base32 "1v0l2m8j7r6jiy871d6v11ls243xqn6s3856iwd3bmk5c37npi50")))) (build-system gnu-build-system) (native-inputs `(("python" ,python-2))) diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index 50284182c9..22771a129c 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -522,13 +522,14 @@ everything from small to very large projects with speed and efficiency.") (name "libgit2") (version "0.28.1") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/libgit2/libgit2/" - "archive/v" version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/libgit2/libgit2.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "0swk2dyq5a4p1jn5wvbcsrxckhh808vifxz5y8w663avg541188c")) + "0j5p0hhz2wizvgkf0nbpd8g32mb5bg1vp8ckpbhb0pq38ja4h43r")) (patches (search-patches "libgit2-avoid-python.patch" "libgit2-mtime-0.patch")) @@ -551,6 +552,10 @@ everything from small to very large projects with speed and efficiency.") (("/bin/cp") (which "cp")) (("/bin/rm") (which "rm"))) #t)) + (add-after 'unpack 'make-git-checkout-writable + (lambda _ + (for-each make-file-writable (find-files ".")) + #t)) ;; Run checks more verbosely. (replace 'check (lambda _ (invoke "./libgit2_clar" "-v" "-Q")))))) @@ -577,14 +582,15 @@ write native speed custom Git applications in any language with bindings.") (package (name "git-crypt") (version "0.5.0") - (source (origin - (method url-fetch) - (uri (string-append "https://github.com/AGWA/git-crypt" - "/archive/" version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "0454fdmgm5f3razkn8n03lfqm5zyzvr4r2528zmlxiwba9518l2i")))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/AGWA/git-crypt.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1x9209n3k49k998saadr2d0lmvs01smjinx7gzzyjdwj9l904sii")))) (build-system gnu-build-system) (inputs `(("git" ,git) @@ -771,14 +777,13 @@ a built-in cache to decrease server I/O pressure.") (version "0.5.5") (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/davisp/ghp-import/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/davisp/ghp-import.git") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 - "0x887v690xsac2hzjkpbvp3a6crh3m08mqbk3nb4xwc9dnk869q7")))) + (base32 "12pmw3zz3i57ljnm0rxdyjqdyhisbvy18mjwkb3bzp5pgzs2f45c")))) (build-system python-build-system) (arguments `(#:phases (modify-phases %standard-phases @@ -1026,14 +1031,15 @@ manipulate them in various ways.") (package (name "vcsh") (version "1.20151229") - (source (origin - (method url-fetch) - (uri (string-append "https://github.com/RichiH/vcsh/archive/v" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1ym3swkh738c3vciffvlr96vqzhwmzkb8ajqzap8f0j9n039a1mf")))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/RichiH/vcsh.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1grpj45nbpv4j60vd2kg4rj53zrm0bc0h9l4pfd3c2mwbvywm6ab")))) (build-system gnu-build-system) (native-inputs `(("which" ,which))) @@ -1100,15 +1106,15 @@ also walk each side of a merge and test those changes individually.") (package (name "gitolite") (version "3.6.7") - (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/sitaramc/gitolite/archive/v" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1idxipg0df80bhjcxgwxs3lllqnkvhwpinmfv1xvg1l98fxiapgp")))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/sitaramc/gitolite.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0rmyzr66lxh2ildf3h1nh3hh2ndwk21rjdin50r5vhwbdd7jg8vb")))) (build-system gnu-build-system) (arguments '(#:tests? #f ; no tests @@ -1762,14 +1768,15 @@ output of the @code{git} command.") (package (name "findnewest") (version "0.3") - (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/0-wiz-0/findnewest/archive/findnewest-" - version ".tar.gz")) - (sha256 - (base32 - "1ydis4y0amkgfr4y60sn076f1l41ya2kn89kfd9fqf44f9ccgb5r")))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/0-wiz-0/findnewest.git") + (commit (string-append "findnewest-" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1x1cbn2b27h5r0ah5xc06fkalfdci2ngrgd4wibxjw0h88h0nvgq")))) (build-system gnu-build-system) (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake))) @@ -1833,15 +1840,15 @@ Mercurial, Bazaar, Darcs, CVS, Fossil, and Veracity.") (package (name "git-annex-remote-hubic") (version "0.3.1") - (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/Schnouki/" name "/archive/v" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "196g3jkaybjx11nbr51n0cjps3wjzb145ab76y717diqvvxp5v4r")))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Schnouki/git-annex-remote-hubic.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "16y9sk67hfi17h9n2kkffyabfccksh5rab40hhk69v6cxmbpn2sx")))) (build-system python-build-system) (arguments `(#:python ,python-2)) (native-inputs @@ -2096,18 +2103,18 @@ how information about the merge is displayed.") (package (name "git-imerge") (version "1.1.0") - (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/mhagger/git-imerge/archive/v" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "0a6ay8fpgz3yd84jc40w41x0rcfpan6bcq4wd1hxiiqwb51jysb2")))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/mhagger/git-imerge.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0vi1w3f0yk4gqhxj2hzqafqq28rihyhyfnp8x7xzib96j2si14a4")))) (build-system gnu-build-system) (arguments - `(#:tests? #f ; The are only manual test scripts. + `(#:tests? #f ; only manual test scripts #:make-flags (list (string-append "DESTDIR=" %output) "PREFIX=") #:phases diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 2993e7dea3..9bc3073ab0 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -1446,7 +1446,7 @@ access to mpv's powerful playback capabilities.") (define-public youtube-dl (package (name "youtube-dl") - (version "2019.03.18") + (version "2019.04.07") (source (origin (method url-fetch) (uri (string-append "https://github.com/rg3/youtube-dl/releases/" @@ -1454,7 +1454,7 @@ access to mpv's powerful playback capabilities.") version ".tar.gz")) (sha256 (base32 - "0r31q7j3gg2zfw3b45jancxl7mmr2gin8dyfx5dgyyp92ss8hih7")))) + "1krx4y8nzpaqpq9qs8dnv2y988jpdccyfl9sdx9wrb0baycl119k")))) (build-system python-build-system) (arguments ;; The problem here is that the directory for the man page and completion diff --git a/gnu/packages/vim.scm b/gnu/packages/vim.scm index 56deb12c3d..dadffa3ab1 100644 --- a/gnu/packages/vim.scm +++ b/gnu/packages/vim.scm @@ -756,7 +756,7 @@ are detected, the user is notified."))) #t)) (add-after 'unpack 'set-lua-paths (lambda* (#:key inputs #:allow-other-keys) - (let* ((lua-version "5.2") + (let* ((lua-version "5.1") (lua-cpath-spec (lambda (prefix) (let ((path (string-append prefix "/lib/lua/" lua-version))) @@ -783,10 +783,10 @@ are detected, the user is notified."))) ("unibilium" ,unibilium) ("jemalloc" ,jemalloc) ("libiconv" ,libiconv) - ("lua" ,lua-5.2) - ("lua-lpeg" ,lua5.2-lpeg) - ("lua-bitop" ,lua5.2-bitop) - ("lua-libmpack" ,lua5.2-libmpack))) + ("lua" ,lua-5.1) + ("lua-lpeg" ,lua5.1-lpeg) + ("lua-bitop" ,lua5.1-bitop) + ("lua-libmpack" ,lua5.1-libmpack))) (native-inputs `(("pkg-config" ,pkg-config) ("gettext" ,gettext-minimal) diff --git a/gnu/packages/web-browsers.scm b/gnu/packages/web-browsers.scm index b6af572778..bb0b5e1b4e 100644 --- a/gnu/packages/web-browsers.scm +++ b/gnu/packages/web-browsers.scm @@ -93,14 +93,14 @@ older or slower computers and embedded systems.") (define-public links (package (name "links") - (version "2.18") + (version "2.19") (source (origin (method url-fetch) (uri (string-append "http://links.twibright.com/download/" - name "-" version ".tar.bz2")) + "links-" version ".tar.bz2")) (sha256 (base32 - "0mwhh61klicn2vwk39nc7y4cw4mygzdi2nljn4r0gjbw6jmw3337")))) + "02ls11c02p7xvsdjyb43rrzr850i1yly003r812z0w5vv5yqqxbh")))) (build-system gnu-build-system) (arguments `(#:phases diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index e84b42358c..fd6bfbab22 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -30,6 +30,7 @@ ;;; Copyright © 2018 Gábor Boskovits <boskovits@gmail.com> ;;; Copyright © 2018 Mădălin Ionel Patrașcu <madalinionel.patrascu@mdc-berlin.de> ;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com> +;;; Copyright © 2019 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -198,14 +199,14 @@ Interface} specification.") ;; ’stable’ and recommends that “in general you deploy the NGINX mainline ;; branch at all times” (https://www.nginx.com/blog/nginx-1-6-1-7-released/) ;; Consider updating the nginx-documentation package together with this one. - (version "1.15.9") + (version "1.15.12") (source (origin (method url-fetch) (uri (string-append "https://nginx.org/download/nginx-" version ".tar.gz")) (sha256 (base32 - "0hxfsz1117r91b9fb5hjddyrf1czvb36lh1z7zalqqdskfcbmkz4")))) + "1giavdph0jqhywdkj4650s5qhz6qfd6nrv74k9q005yy2ym90nrx")))) (build-system gnu-build-system) (inputs `(("openssl" ,openssl) ("pcre" ,pcre) @@ -3009,6 +3010,33 @@ simple requests without the overhead of a large framework like LWP::UserAgent. It supports proxies and redirection. It also correctly resumes after EINTR.") (license l:perl-license))) +(define-public perl-http-tinyish + (package + (name "perl-http-tinyish") + (version "0.15") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/M/MI/MIYAGAWA/HTTP-Tinyish-" + version + ".tar.gz")) + (sha256 + (base32 + "199sa722amvwhq0czjfb7psj3hbqmvni5vxkrm579r5943pg0rax")))) + (build-system perl-build-system) + (propagated-inputs + `(("perl-file-which" ,perl-file-which) + ("perl-ipc-run3" ,perl-ipc-run3))) + (home-page "https://metacpan.org/release/HTTP-Tinyish") + (synopsis "@code{HTTP::Tiny} compatible HTTP client wrappers") + (description + "@code{HTTP::Tinyish} is a wrapper module for @acronym{LWP,libwww-perl}, +@code{HTTP::Tiny}, curl and wget. + +It provides an API compatible to HTTP::Tiny.") + (license l:perl-license))) + (define-public perl-io-html (package (name "perl-io-html") @@ -3374,6 +3402,35 @@ application frameworks. Plack is like Ruby's Rack or Python's Paste for WSGI.") (license l:perl-license))) +(define-public perl-plack-middleware-deflater + (package + (name "perl-plack-middleware-deflater") + (version "0.12") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/K/KA/KAZEBURO/" + "Plack-Middleware-Deflater-" version ".tar.gz")) + (sha256 + (base32 + "0xf2visi16hgwgyp9q0cjr10ikbn474hjia5mj8mb2scvbkrbni8")))) + (build-system perl-build-system) + (native-inputs + `(("perl-module-install" ,perl-module-install) + ("perl-test-requires" ,perl-test-requires))) + (propagated-inputs + `(("perl-plack" ,perl-plack))) + (home-page "https://metacpan.org/release/Plack-Middleware-Deflater") + (synopsis "Compress response body with Gzip or Deflate") + (description + "Plack::Middleware::Deflater is a middleware to encode your response body +in gzip or deflate, based on \"Accept-Encoding\" HTTP request header. It +would save the bandwidth a little bit but should increase the Plack server +load, so ideally you should handle this on the frontend reverse proxy +servers.") + (license l:perl-license))) + (define-public perl-plack-middleware-fixmissingbodyinredirect (package (name "perl-plack-middleware-fixmissingbodyinredirect") @@ -4608,14 +4665,15 @@ handling many of the web standards in use today.") (define-public surfraw (package (name "surfraw") - (version "2.2.9") - (source (origin - (method url-fetch) - (uri (string-append "https://surfraw.alioth.debian.org/dist/" - name "-" version ".tar.gz")) - (sha256 - (base32 - "1fy4ph5h9kp0jzj1m6pfylxnnmgdk0mmdppw76z9jhna4jndk5xa")))) + (version "2.3.0") + (source + (origin + (method url-fetch) + (uri (string-append "https://gitlab.com/surfraw/Surfraw/uploads/" + "2de827b2786ef2fe43b6f07913ca7b7f/" + "surfraw-" version ".tar.gz")) + (sha256 + (base32 "099nbif0x5cbcf18snc58nx1a3q7z0v9br9p2jiq9pcc7ic2015d")))) (build-system gnu-build-system) (arguments `(#:phases @@ -4753,14 +4811,14 @@ tools like SSH (Secure Shell) to reach the outside world.") (define-public stunnel (package (name "stunnel") - (version "5.50") + (version "5.53") (source (origin (method url-fetch) (uri (string-append "https://www.stunnel.org/downloads/stunnel-" version ".tar.gz")) (sha256 - (base32 "0j811iakljjxw39qchmqf235jdkwixb0i4xxjyi55f08558947cm")))) + (base32 "119560alb8k0qz2zkjb2i80ikmn76fa6dg681fvrw9hlxsb9hhw0")))) (build-system gnu-build-system) (native-inputs ;; For tests. @@ -5096,7 +5154,7 @@ into your tests. It automatically starts up a HTTP server in a separate thread (define-public http-parser (package (name "http-parser") - (version "2.9.0") + (version "2.9.2") (home-page "https://github.com/nodejs/http-parser") (source (origin (method git-fetch) @@ -5105,7 +5163,7 @@ into your tests. It automatically starts up a HTTP server in a separate thread (file-name (git-file-name name version)) (sha256 (base32 - "1qa3rh9x4as2fc2p0y2hah83iqs7jr5106a8anv317359dgf3ssj")))) + "1qs6x3n2nrcj1wiik5pg5i16inykf7rcfdfdy7rwyzf40pvdl3c2")))) (build-system gnu-build-system) (arguments `(#:test-target "test" @@ -5125,6 +5183,36 @@ Depending on your architecture, it only requires about 40 bytes of data per message stream (in a web server that is per connection).") (license l:expat))) +(define-public python-httpretty + (package + (name "python-httpretty") + (version "0.9.6") + (source + (origin + (method url-fetch) + (uri (pypi-uri "httpretty" version)) + (sha256 + (base32 "1p1rb4mpngh0632xrmdfhvc8yink519yfkqz97d2ww3y0x2jvd81")))) + (build-system python-build-system) + (propagated-inputs + `(("python-six" ,python-six))) + (native-inputs + `(("python-coverage" ,python-coverage) + ("python-httplib2" ,python-httplib2) + ("python-mock" ,python-mock) + ("python-nose" ,python-nose) + ("python-nose-randomly" ,python-nose-randomly) + ("python-rednose" ,python-rednose) + ("python-requests" ,python-requests) + ("python-sure" ,python-sure) + ("python-tornado" ,python-tornado) + ("python-urllib3" ,python-urllib3))) + (home-page "https://httpretty.readthedocs.io") + (synopsis "HTTP client mock for Python") + (description "@code{httpretty} is a helper for faking web requests, +inspired by Ruby's @code{fakeweb}.") + (license l:expat))) + (define-public python2-httpretty (package (name "python2-httpretty") @@ -6430,3 +6518,32 @@ compressed JSON header blocks. provided by Guix. The list of packages is searchable and provides instructions on how to use Guix in a shared HPC environment.") (license l:agpl3+)))) + +(define-public httrack + (package + (name "httrack") + (version "3.49.2") + (source (origin + (method url-fetch) + (uri (string-append "https://mirror.httrack.com/historical/" + "httrack-" version ".tar.gz")) + (sha256 + (base32 + "09a0gm67nml86qby1k1gh7rdxamnrnzwr6l9r5iiq94favjs0xrl")))) + (build-system gnu-build-system) + (inputs + `(("libressl" ,libressl) + ("zlib" ,zlib))) + (home-page "https://www.httrack.com/") + (synopsis "Easy-to-use offline browser utility") + (description "HTTrack allows you to download a World Wide Web site from +the Internet to a local directory, building recursively all directories, +getting HTML, images, and other files from the server to your computer. + +HTTrack arranges the original site's relative link-structure. Simply open +a page of the ``mirrored'' website in your browser, and you can browse the +site from link to link, as if you were viewing it online. HTTrack can also +update an existing mirrored site, and resume interrupted downloads. + +HTTrack is fully configurable, and has an integrated help system.") + (license l:gpl3+))) diff --git a/gnu/packages/webkit.scm b/gnu/packages/webkit.scm index 14c374dd3e..ce69d0a7d4 100644 --- a/gnu/packages/webkit.scm +++ b/gnu/packages/webkit.scm @@ -168,14 +168,15 @@ HTML/CSS applications to full-fledged web browsers.") (define-public webkitgtk-2.24 (package/inherit webkitgtk (name "webkitgtk") - (version "2.24.0") + (version "2.24.1") (source (origin (method url-fetch) (uri (string-append "https://www.webkitgtk.org/releases/" name "-" version ".tar.xz")) (sha256 (base32 - "01s446lmjk7y8il4snjm32vpxws2rp4hmxrwm2swx0p47x8d2jif")))) + "0v9riwrmwi9wxbb8hlvcbyyxa9zxhcdk6s1xcspalk6asam8xjsk")) + (patches (search-patches "webkitgtk-sse2.patch")))) (native-inputs `(("gcc" ,gcc-7) ; webkitgtk-2.22 requires gcc-6 or newer ,@(package-native-inputs webkitgtk))) diff --git a/gnu/packages/wine.scm b/gnu/packages/wine.scm index 57b755c8a2..9cafa07c28 100644 --- a/gnu/packages/wine.scm +++ b/gnu/packages/wine.scm @@ -310,7 +310,7 @@ integrate Windows applications into your desktop.") (define-public wine-staging-patchset-data (package (name "wine-staging-patchset-data") - (version "4.5") + (version "4.6") (source (origin (method git-fetch) @@ -320,7 +320,7 @@ integrate Windows applications into your desktop.") (file-name (git-file-name name version)) (sha256 (base32 - "18xpha7nl3jg7c24cgbncciyyqqb6svsyfp1xk81993wnl6r8abs")))) + "0mripibsi1p8h2j9ngqszkcjppdxji027ss4shqwb0nypaydd9w2")))) (build-system trivial-build-system) (native-inputs `(("bash" ,bash) @@ -366,7 +366,7 @@ integrate Windows applications into your desktop.") (file-name (string-append name "-" version ".tar.xz")) (sha256 (base32 - "1dy1v27cw9vp2xnr8y4bdcvvw5ivcgpk2375jgn536csbwaxgwjz")))) + "1nk2nlkdklwpd0kbq8hx59gl05b5wglcla0v3892by6k4kwh341j")))) (inputs `(("autoconf" ,autoconf) ; for autoreconf ("faudio" ,faudio) ("ffmpeg" ,ffmpeg) diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm index a0076f24cf..2695b5f99c 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -536,7 +536,7 @@ tiled on several screens.") (source (origin (method url-fetch) (uri (string-append "mirror://hackage/package/xmobar/" - name "-" version ".tar.gz")) + "xmobar-" version ".tar.gz")) (sha256 (base32 "1xh87asg8y35srvp7d3gyyy4bkxsw122liihxgzgm8pqv2z3h4zd")))) @@ -1048,14 +1048,14 @@ its size (define-public polybar (package (name "polybar") - (version "3.3.0") + (version "3.3.1") (source (origin (method url-fetch) (uri (string-append "https://github.com/jaagr/polybar/releases/" - "download/" version "/polybar.tar")) + "download/" version "/polybar-" version ".tar")) (sha256 - (base32 "0sjh3xmf11g09spi88zj7xsc3a3vv78kixab6n5i7436py7xwzb4")) + (base32 "0758na059vpgnsrcdrxmh9wsahs80wnmizb9g7bmixlrkxr2m65h")) (file-name (string-append name "-" version ".tar")))) (build-system cmake-build-system) (arguments diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm index 9fde0fcbd4..c4b7f9a87f 100644 --- a/gnu/packages/xdisorg.scm +++ b/gnu/packages/xdisorg.scm @@ -957,7 +957,7 @@ Escape key when Left Control is pressed and released on its own.") (define-public libwacom (package (name "libwacom") - (version "0.32") + (version "0.33") (source (origin (method url-fetch) (uri (string-append @@ -965,7 +965,7 @@ Escape key when Left Control is pressed and released on its own.") "libwacom-" version "/libwacom-" version ".tar.bz2")) (sha256 (base32 - "102kz0q7i0bjsnl6yy83vcj2rpir12rs2d4xr0wvhw84rs5sp7bb")))) + "1wnv34y7m9l6avlvwqvfrnksfnsz1lbgb412dn6s7x1h3wvs7y4l")))) (build-system glib-or-gtk-build-system) (native-inputs `(("pkg-config" ,pkg-config))) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 18270a6771..d3e6b79277 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -5961,18 +5961,17 @@ Conventions Manual) and some of the @dfn{EWMH} (define-public xcompmgr (package (name "xcompmgr") - (version "1.1.7") + (version "1.1.8") (source (origin - ;; there's no current tarball + ;; There's no current tarball. (method git-fetch) (uri (git-reference (url "https://anongit.freedesktop.org/git/xorg/app/xcompmgr.git") - (commit (string-append name "-" version)))) + (commit (string-append "xcompmgr-" version)))) (sha256 - (base32 - "04swkrm3gk689wrjc418bd3n25w8r20kg1xfbn5j8d7mx1r5gf16")) - (file-name (string-append name "-" version)))) + (base32 "11i7vyk3pynw8q8aczpy56qncm84y0cmhlvyja3sj8dgy60g03q2")) + (file-name (git-file-name name version)))) (build-system gnu-build-system) (arguments `(#:phases (modify-phases %standard-phases diff --git a/gnu/services/sddm.scm b/gnu/services/sddm.scm index 43b34a38d9..b433c59e12 100644 --- a/gnu/services/sddm.scm +++ b/gnu/services/sddm.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016 David Craven <david@craven.ch> ;;; Copyright © 2019 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2019 Jesse Gildersleve <jessejohngildersleve@protonmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -139,8 +140,7 @@ SessionCommand=" (sddm-configuration-session-command config) " SessionDir=" (sddm-configuration-sessions-directory config) " [X11] -ServerPath=" (xorg-configuration-server - (sddm-configuration-xorg config)) "/bin/X" " +ServerPath=" (xorg-start-command (sddm-configuration-xorg config)) " XauthPath=" (sddm-configuration-xauth-path config) " XephyrPath=" (sddm-configuration-xephyr-path config) " DisplayCommand=" (sddm-configuration-xdisplay-start config) " diff --git a/gnu/system.scm b/gnu/system.scm index ad0c9e57dc..24243eb707 100644 --- a/gnu/system.scm +++ b/gnu/system.scm @@ -78,6 +78,8 @@ operating-system-kernel operating-system-kernel-file operating-system-kernel-arguments + operating-system-label + operating-system-default-label operating-system-initrd-modules operating-system-initrd operating-system-users @@ -160,6 +162,9 @@ (kernel-arguments operating-system-user-kernel-arguments (default '())) ; list of gexps/strings (bootloader operating-system-bootloader) ; <bootloader-configuration> + (label operating-system-label ; string + (thunked) + (default (operating-system-default-label this-operating-system))) (keyboard-layout operating-system-keyboard-layout ;#f | <keyboard-layout> (default #f)) @@ -911,15 +916,18 @@ listed in OS. The C library expects to find it under (cond ((package? kernel) (string-append "GNU with " (string-titlecase (package-name kernel)) " " - (package-version kernel) - " (beta)")) + (package-version kernel))) ((inferior-package? kernel) (string-append "GNU with " (string-titlecase (inferior-package-name kernel)) " " - (inferior-package-version kernel) - " (beta)")) + (inferior-package-version kernel))) (else "GNU"))) +(define (operating-system-default-label os) + "Return the default label for OS, as it will appear in the bootloader menu +entry." + (kernel->boot-label (operating-system-kernel os))) + (define (store-file-system file-systems) "Return the file system object among FILE-SYSTEMS that contains the store." (match (filter (lambda (fs) @@ -968,7 +976,7 @@ such as '--root' and '--load' to <boot-parameters>." (bootloader (bootloader-configuration-bootloader (operating-system-bootloader os))) (bootloader-name (bootloader-name bootloader)) - (label (kernel->boot-label (operating-system-kernel os)))) + (label (operating-system-label os))) (boot-parameters (label label) (root-device root-device) diff --git a/gnu/system/examples/desktop.tmpl b/gnu/system/examples/desktop.tmpl index baeb5e2d77..3931bad60d 100644 --- a/gnu/system/examples/desktop.tmpl +++ b/gnu/system/examples/desktop.tmpl @@ -58,8 +58,8 @@ gvfs) %base-packages)) - ;; Add GNOME and/or Xfce---we can choose at the log-in - ;; screen with F1. Use the "desktop" services, which + ;; Add GNOME and Xfce---we can choose at the log-in screen + ;; by clicking the gear. Use the "desktop" services, which ;; include the X11 log-in service, networking with ;; NetworkManager, and more. (services (append (list (service gnome-desktop-service-type) diff --git a/gnu/system/install.scm b/gnu/system/install.scm index 91e7b481e8..d887313132 100644 --- a/gnu/system/install.scm +++ b/gnu/system/install.scm @@ -27,6 +27,7 @@ #:use-module (guix gexp) #:use-module (guix store) #:use-module (guix monads) + #:use-module ((guix packages) #:select (package-version)) #:use-module ((guix store) #:select (%store-prefix)) #:use-module (gnu installer) #:use-module (gnu services dbus) @@ -73,19 +74,93 @@ ;;; Code: -(define (log-to-info) +;;; +;;; Documentation service. +;;; + +(define %installation-node-names + ;; Translated name of the "System Installation" node of the manual. Ideally + ;; we'd extract it from the 'guix-manual' gettext domain, but that one is + ;; usually not available at run time, hence this hack. + '(("de" . "Systeminstallation") + ("en" . "System Installation") + ("fr" . "Installation du système"))) + +(define (log-to-info tty user) "Return a script that spawns the Info reader on the right section of the manual." (program-file "log-to-info" - #~(begin + #~(let* ((tty (open-file #$(string-append "/dev/" tty) + "r0+")) + (locale (cadr (command-line))) + (language (string-take locale + (string-index locale #\_))) + (infodir "/run/current-system/profile/share/info") + (per-lang (string-append infodir "/guix." language + ".info.gz")) + (file (if (file-exists? per-lang) + per-lang + (string-append infodir "/guix.info"))) + (node (or (assoc-ref '#$%installation-node-names + language) + "System Installation"))) + (redirect-port tty (current-output-port)) + (redirect-port tty (current-error-port)) + (redirect-port tty (current-input-port)) + + (let ((pw (getpwnam #$user))) + (setgid (passwd:gid pw)) + (setuid (passwd:uid pw))) + ;; 'gunzip' is needed to decompress the doc. (setenv "PATH" (string-append #$gzip "/bin")) - (execl (string-append #$info-reader "/bin/info") "info" - "-d" "/run/current-system/profile/share/info" - "-f" (string-append #$guix "/share/info/guix.info") - "-n" "System Installation")))) + ;; Change this process' locale so that command-line + ;; arguments to 'info' are properly encoded. + (catch #t + (lambda () + (setlocale LC_ALL locale) + (setenv "LC_ALL" locale)) + (lambda _ + ;; Sometimes LOCALE itself is not available. In that + ;; case pick the one UTF-8 locale that's known to work + ;; instead of failing. + (setlocale LC_ALL "en_US.utf8") + (setenv "LC_ALL" "en_US.utf8"))) + + (execl #$(file-append info-reader "/bin/info") + "info" "-d" infodir "-f" file "-n" node)))) + +(define (documentation-shepherd-service tty) + (list (shepherd-service + (provision (list (symbol-append 'term- (string->symbol tty)))) + (requirement '(user-processes host-name udev virtual-terminal)) + (start #~(lambda* (#:optional (locale "en_US.utf8")) + (fork+exec-command + (list #$(log-to-info tty "documentation") locale) + #:environment-variables + `("GUIX_LOCPATH=/run/current-system/locale" + "TERM=linux")))) + (stop #~(make-kill-destructor))))) + +(define %documentation-users + ;; User account for the Info viewer. + (list (user-account (name "documentation") + (system? #t) + (group "nogroup") + (home-directory "/var/empty")))) + +(define documentation-service-type + ;; Documentation viewer service. + (service-type (name 'documentation) + (extensions + (list (service-extension shepherd-root-service-type + documentation-shepherd-service) + (service-extension account-service-type + (const %documentation-users)))) + (description "Run the Info reader on a tty."))) + (define %backing-directory ;; Sub-directory used as the backing store for copy-on-write. "/tmp/guix-inst") @@ -239,10 +314,7 @@ Access documentation at any time by pressing Alt-F2.\x1b[0m ;; Documentation. The manual is in UTF-8, but ;; 'console-font-service' sets up Unicode support and loads a font ;; with all the useful glyphs like em dash and quotation marks. - (mingetty-service (mingetty-configuration - (tty "tty2") - (auto-login "guest") - (login-program (log-to-info)))) + (service documentation-service-type "tty2") ;; Documentation add-on. %configuration-template-service @@ -271,12 +343,18 @@ Access documentation at any time by pressing Alt-F2.\x1b[0m ;; since it takes the installation directory as an argument. (cow-store-service) - ;; Install Unicode support and a suitable font. Use a font that - ;; doesn't have more than 256 glyphs so that we can use colors with - ;; varying brightness levels (see note in setfont(8)). + ;; Install Unicode support and a suitable font. (service console-font-service-type - (map (lambda (tty) - (cons tty "lat9u-16")) + (map (match-lambda + ("tty2" + ;; Use a font that contains characters such as + ;; curly quotes as found in the manual. + '("tty2" . "LatGrkCyr-8x16")) + (tty + ;; Use a font that doesn't have more than 256 + ;; glyphs so that we can use colors with varying + ;; brightness levels (see note in setfont(8)). + `(,tty . "lat9u-16"))) '("tty1" "tty2" "tty3" "tty4" "tty5" "tty6"))) ;; To facilitate copy/paste. @@ -346,6 +424,9 @@ Access documentation at any time by pressing Alt-F2.\x1b[0m (bootloader (bootloader-configuration (bootloader grub-bootloader) (target "/dev/sda"))) + (label (string-append "GNU Guix installation " + (package-version guix))) + (file-systems ;; Note: the disk image build code overrides this root file system with ;; the appropriate one. diff --git a/gnu/system/vm.scm b/gnu/system/vm.scm index db9b1707d7..22e3fcc522 100644 --- a/gnu/system/vm.scm +++ b/gnu/system/vm.scm @@ -94,6 +94,12 @@ (define %linux-vm-file-systems ;; File systems mounted for 'derivation-in-linux-vm'. These are shared with ;; the host over 9p. + ;; + ;; The 9p documentation says that cache=loose is "intended for exclusive, + ;; read-only mounts", without additional details. It's much faster than the + ;; default cache=none, especially when copying and registering store items. + ;; Thus, use cache=loose, except for /xchg where we want to ensure + ;; consistency. (list (file-system (mount-point (%store-prefix)) (device "store") @@ -102,18 +108,12 @@ (flags '(read-only)) (options "trans=virtio,cache=loose") (check? #f)) - - ;; The 9p documentation says that cache=loose is "intended for - ;; exclusive, read-only mounts", without additional details. In - ;; practice it seems to work well for these, and it's much faster than - ;; the default cache=none, especially when copying and registering - ;; store items. (file-system (mount-point "/xchg") (device "xchg") (type "9p") (needed-for-boot? #t) - (options "trans=virtio,cache=loose") + (options "trans=virtio") (check? #f)) (file-system (mount-point "/tmp") @@ -530,10 +530,7 @@ should set REGISTER-CLOSURES? to #f." #$os #:compressor '(#+(file-append gzip "/bin/gzip") "-9n") #:creation-time (make-time time-utc 0 1) - #:transformations `((,root-directory -> ""))) - - ;; Make sure the tarball is fully written before rebooting. - (sync)))))) + #:transformations `((,root-directory -> "")))))))) (expression->derivation-in-linux-vm name build #:make-disk-image? #f diff --git a/gnu/tests/install.scm b/gnu/tests/install.scm index c0debbd840..430a102378 100644 --- a/gnu/tests/install.scm +++ b/gnu/tests/install.scm @@ -504,8 +504,8 @@ export GUIX_BUILD_OPTIONS=--no-grafts guix build isc-dhcp parted --script /dev/vdb mklabel gpt \\ mkpart primary ext2 1M 3M \\ - mkpart primary ext2 3M 100M \\ - mkpart primary ext2 100M 1.2G \\ + mkpart primary ext2 3M 400M \\ + mkpart primary ext2 400M 2.1G \\ set 1 boot on \\ set 1 bios_grub on mkfs.ext4 -L root-fs /dev/vdb2 @@ -514,6 +514,7 @@ mount /dev/vdb2 /mnt mkdir /mnt/gnu mount /dev/vdb3 /mnt/gnu df -h /mnt +df -h /mnt/gnu herd start cow-store /mnt mkdir /mnt/etc cp /etc/target-config.scm /mnt/etc/config.scm |