diff options
Diffstat (limited to 'gnu')
25 files changed, 1239 insertions, 179 deletions
diff --git a/gnu/local.mk b/gnu/local.mk index 49cb429ba9..75fb24a0c5 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -121,6 +121,7 @@ GNU_SYSTEM_MODULES = \ %D%/packages/cpp.scm \ %D%/packages/cppi.scm \ %D%/packages/cran.scm \ + %D%/packages/crates-io.scm \ %D%/packages/cross-base.scm \ %D%/packages/crypto.scm \ %D%/packages/cryptsetup.scm \ @@ -261,6 +262,7 @@ GNU_SYSTEM_MODULES = \ %D%/packages/jrnl.scm \ %D%/packages/jose.scm \ %D%/packages/julia.scm \ + %D%/packages/kawa.scm \ %D%/packages/kde.scm \ %D%/packages/kde-frameworks.scm \ %D%/packages/kde-plasma.scm \ @@ -468,6 +470,7 @@ GNU_SYSTEM_MODULES = \ %D%/packages/uml.scm \ %D%/packages/unrtf.scm \ %D%/packages/upnp.scm \ + %D%/packages/usb-modeswitch.scm \ %D%/packages/uucp.scm \ %D%/packages/valgrind.scm \ %D%/packages/version-control.scm \ @@ -759,7 +762,6 @@ dist_patch_DATA = \ %D%/packages/patches/emacs-highlight-stages-add-gexp.patch \ %D%/packages/patches/emacs-scheme-complete-scheme-r5rs-info.patch \ %D%/packages/patches/emacs-source-date-epoch.patch \ - %D%/packages/patches/emacs-realgud-fix-configure-ac.patch \ %D%/packages/patches/emacs-undohist-ignored.patch \ %D%/packages/patches/emacs-wordnut-require-adaptive-wrap.patch \ %D%/packages/patches/emacs-zones-called-interactively.patch \ @@ -1235,6 +1237,7 @@ dist_patch_DATA = \ %D%/packages/patches/readline-6.2-CVE-2014-2524.patch \ %D%/packages/patches/red-eclipse-remove-gamma-name-hack.patch \ %D%/packages/patches/reposurgeon-add-missing-docbook-files.patch \ + %D%/packages/patches/ri-li-modernize_cpp.patch \ %D%/packages/patches/ripperx-missing-file.patch \ %D%/packages/patches/rpcbind-CVE-2017-8779.patch \ %D%/packages/patches/rtags-separate-rct.patch \ @@ -1332,6 +1335,7 @@ dist_patch_DATA = \ %D%/packages/patches/util-linux-tests.patch \ %D%/packages/patches/upower-builddir.patch \ %D%/packages/patches/upx-fix-CVE-2017-15056.patch \ + %D%/packages/patches/usb-modeswitch-accept-config-arg.patch \ %D%/packages/patches/valgrind-enable-arm.patch \ %D%/packages/patches/vboot-utils-fix-format-load-address.patch \ %D%/packages/patches/vboot-utils-fix-tests-show-contents.patch \ diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index d85bd6e324..9392c59521 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -2140,9 +2140,20 @@ results (ndiff), and a packet generation and response analysis tool (nping).") #:make-flags (let ((out (assoc-ref %outputs "out"))) (list (string-append "DESTDIR=" out) "prefix=/")) - ;; No configure script. - #:phases (modify-phases %standard-phases (delete 'configure)))) - (inputs `(("python-2" ,python-2))) + #:phases + (modify-phases %standard-phases + (delete 'configure) ; no configure script + (add-after 'install 'wrap + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (wrap-program (string-append out "/bin/dstat") + `("PYTHONPATH" ":" prefix (,(getenv "PYTHONPATH")))) + #t)))))) + (inputs + ;; Python 3 is supposedly supported but prints a DeprecationWarning. + ;; Upstream is dead. See <https://github.com/dagwieers/dstat/releases>. + `(("python" ,python-wrapper) + ("python-six" ,python-six))) (synopsis "Versatile resource statistics tool") (description "Dstat is a versatile replacement for @command{vmstat}, @command{iostat}, @command{netstat}, and @command{ifstat}. Dstat overcomes diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm index ff159638b3..e87907fac5 100644 --- a/gnu/packages/bioconductor.scm +++ b/gnu/packages/bioconductor.scm @@ -590,6 +590,35 @@ data. It is derived from the UCSC hg19 genome and based on the \"knownGene\" track. The database is exposed as a @code{TxDb} object.") (license license:artistic2.0))) +(define-public r-txdb-hsapiens-ucsc-hg38-knowngene + (package + (name "r-txdb-hsapiens-ucsc-hg38-knowngene") + (version "3.4.6") + (source (origin + (method url-fetch) + ;; We cannot use bioconductor-uri here because this tarball is + ;; located under "data/annotation/" instead of "bioc/". + (uri (string-append "https://bioconductor.org/packages/" + "release/data/annotation/src/contrib" + "/TxDb.Hsapiens.UCSC.hg38.knownGene_" + version ".tar.gz")) + (sha256 + (base32 + "12j7rri9r129v9w1yiqadg952dx462dh092sxif3r5kk8l7bxkn9")))) + (properties + `((upstream-name . "TxDb.Hsapiens.UCSC.hg38.knownGene"))) + (build-system r-build-system) + (propagated-inputs + `(("r-genomicfeatures" ,r-genomicfeatures))) + (home-page + "https://bioconductor.org/packages/TxDb.Hsapiens.UCSC.hg38.knownGene/") + (synopsis "Annotation package for human genome in TxDb format") + (description + "This package provides an annotation database of Homo sapiens genome +data. It is derived from the UCSC hg38 genome and based on the \"knownGene\" +track. The database is exposed as a @code{TxDb} object.") + (license license:artistic2.0))) + (define-public r-txdb-mmusculus-ucsc-mm9-knowngene (package (name "r-txdb-mmusculus-ucsc-mm9-knowngene") @@ -4677,3 +4706,42 @@ Forest, and SVM binary classifiers. The signatures and the corresponding 'restricted' models are returned, enabling future predictions on new datasets.") (license license:cecill))) + +(define-public r-annotatr + (package + (name "r-annotatr") + (version "1.10.0") + (source + (origin + (method url-fetch) + (uri (bioconductor-uri "annotatr" version)) + (sha256 + (base32 + "1zlhy6swfgqjhhcqn8c6akxd4c4z8p85swfh095imji7hxnlhh1f")))) + (build-system r-build-system) + (propagated-inputs + `(("r-annotationdbi" ,r-annotationdbi) + ("r-annotationhub" ,r-annotationhub) + ("r-dplyr" ,r-dplyr) + ("r-genomeinfodb" ,r-genomeinfodb) + ("r-genomicfeatures" ,r-genomicfeatures) + ("r-genomicranges" ,r-genomicranges) + ("r-ggplot2" ,r-ggplot2) + ("r-iranges" ,r-iranges) + ("r-readr" ,r-readr) + ("r-regioner" ,r-regioner) + ("r-reshape2" ,r-reshape2) + ("r-rtracklayer" ,r-rtracklayer) + ("r-s4vectors" ,r-s4vectors))) + (home-page "https://bioconductor.org/packages/annotatr/") + (synopsis "Annotation of genomic regions to genomic annotations") + (description + "Given a set of genomic sites/regions (e.g. ChIP-seq peaks, CpGs, +differentially methylated CpGs or regions, SNPs, etc.) it is often of interest +to investigate the intersecting genomic annotations. Such annotations include +those relating to gene models (promoters, 5'UTRs, exons, introns, and 3'UTRs), +CpGs (CpG islands, CpG shores, CpG shelves), or regulatory sequences such as +enhancers. The annotatr package provides an easy way to summarize and +visualize the intersection of genomic sites/regions with genomic +annotations.") + (license license:gpl3))) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index bb15672d51..8dbcd5dd33 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -12536,15 +12536,15 @@ once. This package provides tools to perform Drop-seq analyses.") (define-public pigx-rnaseq (package (name "pigx-rnaseq") - (version "0.0.5") + (version "0.0.6") (source (origin (method url-fetch) (uri (string-append "https://github.com/BIMSBbioinfo/pigx_rnaseq/" - "releases/download/v" version + "releases/download/v." version "/pigx_rnaseq-" version ".tar.gz")) (sha256 (base32 - "05gn658zpj9xki5dbs728z9zxq1mcm25hkwr5vzwqxsfi15l5f2l")))) + "1w7cwbbz1sbvbyqh5c60iqcjfs3qsppmdgxqa1i0w5wwb9mkh27m")))) (build-system gnu-build-system) (arguments `(#:parallel-tests? #f ; not supported @@ -12567,7 +12567,6 @@ once. This package provides tools to perform Drop-seq analyses.") ("trim-galore" ,trim-galore) ("htseq" ,htseq) ("samtools" ,samtools) - ("bedtools" ,bedtools) ("r-minimal" ,r-minimal) ("r-rmarkdown" ,r-rmarkdown) ("r-ggplot2" ,r-ggplot2) @@ -14755,3 +14754,34 @@ ATAC-seq results. It was written to make it easier to spot differences that might be caused by ATAC-seq library prep or sequencing. The main program, @code{ataqv}, examines aligned reads and reports some basic metrics.") (license license:gpl3+))) + +(define-public r-psiplot + (package + (name "r-psiplot") + (version "2.3.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/kcha/psiplot.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "08438h16cfry5kqh3y9hs8q1b1a8bxhblsm75knviz5r6q0n1jxh")))) + (build-system r-build-system) + (propagated-inputs + `(("r-mass" ,r-mass) + ("r-dplyr" ,r-dplyr) + ("r-tidyr" ,r-tidyr) + ("r-purrr" ,r-purrr) + ("r-readr" ,r-readr) + ("r-magrittr" ,r-magrittr) + ("r-ggplot2" ,r-ggplot2))) + (home-page "https://github.com/kcha/psiplot") + (synopsis "Plot percent spliced-in values of alternatively-spliced exons") + (description + "PSIplot is an R package for generating plots of @dfn{percent +spliced-in} (PSI) values of alternatively-spliced exons that were computed by +vast-tools, an RNA-Seq pipeline for alternative splicing analysis. The plots +are generated using @code{ggplot2}.") + (license license:expat))) diff --git a/gnu/packages/chromium.scm b/gnu/packages/chromium.scm index 005b21ad7b..dce992a0c5 100644 --- a/gnu/packages/chromium.scm +++ b/gnu/packages/chromium.scm @@ -98,6 +98,7 @@ "third_party/angle/third_party/vulkan-tools" ;ASL2.0 "third_party/angle/third_party/vulkan-validation-layers" ;ASL2.0 "third_party/apple_apsl" ;APSL2.0 + "third_party/axe-core" ;MPL2.0 "third_party/blink" ;BSD-3, LGPL2+ "third_party/boringssl" ;OpenSSL/ISC (Google additions are ISC) "third_party/boringssl/src/third_party/fiat" ;Expat @@ -117,13 +118,14 @@ "third_party/ced" ;BSD-3 "third_party/cld_3" ;ASL2.0 "third_party/crashpad" ;ASL2.0 + "third_party/crashpad/crashpad/third_party/lss" ;ASL2.0 "third_party/crashpad/crashpad/third_party/zlib/zlib_crashpad.h" ;Zlib "third_party/crc32c" ;BSD-3 "third_party/cros_system_api" ;BSD-3 "third_party/dav1d" ;BSD-2 + "third_party/dawn" ;ASL2.0 "third_party/dom_distiller_js" ;BSD-3 "third_party/emoji-segmenter" ;ASL2.0 - "third_party/fips181" ;BSD-3 "third_party/flatbuffers" ;ASL2.0 "third_party/glslang" ;BSD-3, Expat, ASL2.0 "third_party/google_input_tools" ;ASL2.0 @@ -166,6 +168,7 @@ "third_party/pdfium/third_party/bigint" ;Public domain, BSD-3 "third_party/pdfium/third_party/skia_shared" ;BSD-3 "third_party/pdfium/third_party/freetype/include/pstables.h" ;FreeType + "third_party/pffft" ;the "FFTPACK" license, similar to BSD-3 "third_party/ply" ;BSD-3 "third_party/polymer" ;BSD-3 "third_party/protobuf" ;BSD-3 @@ -223,54 +226,58 @@ from forcing GEXP-PROMISE." #:system system #:guile-for-build guile))) -(define %chromium-version "74.0.3729.169") -(define %ungoogled-revision "d2beaeff47a6e97b8909163147ad6b4058238f36") -(define %debian-revision "debian/74.0.3729.108-1") +(define %chromium-version "75.0.3770.80") +(define %ungoogled-revision "5d8abc38b43a62f379615a0dc972b29d9aebb4b4") +(define %debian-revision "debian/75.0.3770.80-1") (define package-revision "0") - (define %package-version (string-append %chromium-version "-" package-revision "." (string-take %ungoogled-revision 7))) +(define %chromium-origin + (origin + (method url-fetch) + (uri (string-append "https://commondatastorage.googleapis.com" + "/chromium-browser-official/chromium-" + %chromium-version ".tar.xz")) + (sha256 + (base32 + "1mk6gb3iif8i6zq41wjn3lhqqlqp1syzpav1nj0170l7v348p0ns")))) + +(define %ungoogled-origin + (origin + (method git-fetch) + (uri (git-reference (url "https://github.com/Eloston/ungoogled-chromium") + (commit %ungoogled-revision))) + (file-name (git-file-name "ungoogled-chromium" + (string-take %ungoogled-revision 7))) + (sha256 + (base32 + "1vk8jzzsn20ysn4nlz84mwwhfa9nnywzd1lrahlhcky9pf6xzpwa")))) + +(define %debian-origin + (origin + (method git-fetch) + (uri (git-reference + (url "https://salsa.debian.org/chromium-team/chromium.git") + (commit %debian-revision))) + (file-name (git-file-name "debian-chromium-packaging" + (if (string-prefix? "debian/" %debian-revision) + (cadr (string-split %debian-revision #\/)) + (string-take %debian-revision 7)))) + (sha256 + (base32 + "16z4bncc2q1d5bymywq8291bzkcvba447ql3vsq20rwcdjckyimx")))) + ;; This is a "computed" origin that does the following: ;; *) Runs the Ungoogled scripts on a pristine Chromium tarball. ;; *) Applies Debians Chromium patches, for their unbundling and GCC work. ;; *) Prunes all third_party directories that are not explicitly preserved. ;; *) Adjusts "GN" build files such that system libraries are preferred. (define ungoogled-chromium-source - (let ((chromium-source - (origin - (method url-fetch) - (uri (string-append "https://commondatastorage.googleapis.com" - "/chromium-browser-official/chromium-" - %chromium-version ".tar.xz")) - (sha256 - (base32 - "1d0c3asfhqh6wlzngajcl0v2wn573m1jd1zqci9bcm3z048043q7")))) - (ungoogled-source - (origin - (method git-fetch) - (uri (git-reference (url "https://github.com/Eloston/ungoogled-chromium") - (commit %ungoogled-revision))) - (file-name (git-file-name "ungoogled-chromium" - (string-take %ungoogled-revision 7))) - (sha256 - (base32 - "04schaaqhnkrgh0p1p0wyjd5aybpxmj3kfnyipwy5nh7d39afymc")))) - (debian-source - (origin - (method git-fetch) - (uri (git-reference - (url "https://salsa.debian.org/chromium-team/chromium.git") - (commit %debian-revision))) - (file-name (git-file-name "debian-chromium-packaging" - (if (string-prefix? "debian/" %debian-revision) - (cadr (string-split %debian-revision #\/)) - (string-take %debian-revision 7)))) - (sha256 - (base32 - "1bn0c86sxkkxgdz0i88y0zh4zr39l6379r2rhgk3b3qbvwz25s3j"))))) - + (let ((chromium-source %chromium-origin) + (ungoogled-source %ungoogled-origin) + (debian-source %debian-origin)) (origin (method computed-origin-method) (file-name (string-append "ungoogled-chromium-" %package-version ".tar.xz")) @@ -335,7 +342,6 @@ from forcing GEXP-PROMISE." (when (and (> (string-length line) 1) ;; Skip the Debian-specific ones. (not (string-prefix? "debianization/" line)) - (not (string-prefix? "gcc6/" line)) ;; And those that conflict with Ungoogled. (not (any (cute string-suffix? <> line) '("widevine-buildflag.patch" @@ -434,6 +440,7 @@ from forcing GEXP-PROMISE." "enable_reporting=false" "enable_service_discovery=false" "enable_swiftshader=false" + "enable_vr=false" "enable_widevine=false" ;; Disable type-checking for the Web UI to avoid a Java dependency. "closure_compile=false" diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm new file mode 100644 index 0000000000..b480b6fe56 --- /dev/null +++ b/gnu/packages/crates-io.scm @@ -0,0 +1,92 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2019 Ivan Petkov <ivanppetkov@gmail.com> +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. + +(define-module (gnu packages crates-io) + #:use-module (guix build-system cargo) + #:use-module (guix download) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix packages)) + +(define-public rust-unicode-xid + (package + (name "rust-unicode-xid") + (version "0.1.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "unicode-xid" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1z57lqh4s18rr4x0j4fw4fmp9hf9346h0kmdgqsqx0fhjr3k0wpw")))) + (build-system cargo-build-system) + (home-page + "https://github.com/unicode-rs/unicode-xid") + (synopsis "Determine Unicode XID related properties") + (description "Determine whether characters have the XID_Start +or XID_Continue properties according to Unicode Standard Annex #31.") + ;; Dual licensed. + (license (list license:asl2.0 license:expat)))) + +(define-public rust-proc-macro2 + (package + (name "rust-proc-macro2") + (version "0.4.27") + (source + (origin + (method url-fetch) + (uri (crate-uri "proc-macro2" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "05c92v787snyaq4ss16vxc9mdv6zndfgsdq8k3hnnyffmsf7ycad")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs (("rust-unicode-xid" ,rust-unicode-xid)) + #:cargo-development-inputs (("rust-quote" ,rust-quote)))) + (home-page "https://github.com/alexcrichton/proc-macro2") + (synopsis "Stable implementation of the upcoming new `proc_macro` API") + (description "This package provides a stable implementation of the upcoming new +`proc_macro` API. Comes with an option, off by default, to also reimplement itself +in terms of the upstream unstable API.") + ;; Dual licensed. + (license (list license:asl2.0 license:expat)))) + +(define-public rust-quote + (package + (name "rust-quote") + (version "0.6.12") + (source + (origin + (method url-fetch) + (uri (crate-uri "quote" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1nw0klza45hf127kfyrpxsxd5jw2l6h21qxalil3hkr7bnf7kx7s")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs (("rust-proc-macro2" ,rust-proc-macro2)))) + (home-page "https://github.com/dtolnay/quote") + (synopsis "Quasi-quoting macro quote!(...)") + (description "Quasi-quoting macro quote!(...)") + ;; Dual licensed. + (license (list license:asl2.0 license:expat)))) diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm index 491f7ce881..778529436b 100644 --- a/gnu/packages/disk.scm +++ b/gnu/packages/disk.scm @@ -13,6 +13,7 @@ ;;; Copyright © 2018 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2018 Rutger Helling <rhelling@mykolab.com> ;;; Copyright © 2018, 2019 Pierre Neidhardt <mail@ambrevar.xyz> +;;; Copyright © 2019 Leo Famulari <leo@famulari.name> ;;; ;;; This file is part of GNU Guix. ;;; @@ -341,32 +342,31 @@ and can dramatically shorten the lifespan of the drive if left unchecked.") (define-public gparted (package (name "gparted") - (version "0.33.0") + (version "1.0.0") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/gparted/gparted/gparted-" version "/gparted-" version ".tar.gz")) (sha256 - (base32 "1ml1ky3s75lbxr91p608q3prsdh9x899mw7nbgk252pqhg4vh8sh")))) + (base32 + "0mdvn85jvy72ff7nds3dakx9kzknh8gx1z8i0w2sf970q03qp2z4")))) (build-system gnu-build-system) (arguments - `(#:tests? #f ; tests require a network connection - #:configure-flags '("--disable-scrollkeeper"))) + ;; Tests require access to paths outside the build container, such + ;; as '/dev/disk/by-id' + `(#:tests? #f)) (inputs `(("util-linux" ,util-linux) ("parted" ,parted) ("glib" ,glib) - ("gtkmm" ,gtkmm-2) + ("gtkmm" ,gtkmm) ("libxml2" ,libxml2) - ("libxslt" ,libxslt) - ("gnome-doc-utils" ,gnome-doc-utils) - ("docbook-xml" ,docbook-xml-4.2) - ("python" ,python-2) - ("python-libxml2" ,python2-libxml2) - ("which" ,which))) + ("yelp-tools" ,yelp-tools) + ("itstool" ,itstool))) (native-inputs `(("intltool" ,intltool) + ("lvm2" ,lvm2) ; for tests ("pkg-config" ,pkg-config))) (home-page "https://gparted.org/") (synopsis "Partition editor to graphically manage disk partitions") diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 2eb705dedd..81f668409a 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -47,6 +47,7 @@ ;;; Copyright © 2019 mikadoZero <mikadozero@yandex.com> ;;; Copyright © 2019 Gabriel Hondet <gabrielhondet@gmail.com> ;;; Copyright © 2019 LaFreniere, Joseph <joseph@lafreniere.xyz> +;;; Copyright © 2019 Amar Singh <nly@disroot.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -545,6 +546,35 @@ handful of functions that are not resource-specific.") for editing Racket's Scribble documentation syntax in Emacs.") (license license:gpl3+)))) +(define-public emacs-shroud + (package + (name "emacs-shroud") + (version "1.15.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/o-nly/emacs-shroud.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0wvm4lxqcc1p8v7rpqal3bnqgnpk1gs7v18i83f6cvi5d88jkgdg")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-bui" ,emacs-bui) + ("emacs-dash" ,emacs-dash) + ("emacs-f" ,emacs-f) + ("emacs-s" ,emacs-s) + ("gnupg" ,gnupg) + ("shroud" ,shroud))) + (home-page "https://github.com/o-nly/emacs-shroud") + (synopsis "Emacs interface to the Shroud password manager") + (description + "This package provides an Emacs interface to the Shroud password manager, +using the Buffers User Interface library. You can view, copy, and edit secrets +from within Emacs.") + (license license:gpl3+))) + (define-public emacs-unpackaged-el (let ((commit "f4df7f8dfea715e893b2223adda32545803f5cce") (revision "1")) @@ -4213,16 +4243,17 @@ regexp that matches all known keywords.") (define-public emacs-perspective (package (name "emacs-perspective") - (version "1.12") + (version "2.2") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/nex3/perspective-el/" - "archive/" version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/nex3/perspective-el.git") + (commit version))) + (file-name (git-file-name name version)) (sha256 (base32 - "078ahh0kmhdylq5ib9c81c76kz1n02xwc83pm729d00i84ibviic")))) + "0pd5sqrrz6y3md20yh6ffy32jdcgb1gc9b4j14pm6r54bqxik68h")))) (build-system emacs-build-system) (home-page "https://github.com/nex3/perspective-el") (synopsis "Switch between named \"perspectives\"") @@ -4305,19 +4336,17 @@ after buffer changes.") (define-public emacs-realgud (package (name "emacs-realgud") - (version "1.4.5") + (version "1.5.0") (source (origin - (method url-fetch) - (uri (string-append "https://elpa.gnu.org/packages/realgud-" - version ".tar")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/realgud/realgud/") + (commit version))) (sha256 (base32 - "108wgxg7fb4byaiasgvbxv2hq7b00biq9f0mh9hy6vw4160y5w24")) - (patches - ;; Patch awaiting inclusion upstream (see: - ;; https://github.com/realgud/realgud/pull/226). - (search-patches "emacs-realgud-fix-configure-ac.patch")))) + "0xnick9016wxrgi8v0lycvxhyz8l2k4nfvdpjc5yq476vwrjfzbz")) + (file-name (git-file-name name version)))) (build-system emacs-build-system) (arguments `(#:tests? #t @@ -4336,11 +4365,6 @@ after buffer changes.") (setenv "HOME" (getenv "TMPDIR")))) (add-before 'patch-el-files 'remove-realgud-pkg.el (lambda _ - ;; XXX: This file is auto-generated at some point and causes - ;; substitute* to crash during the `patch-el-files' phase with: - ;; ERROR: In procedure stat: No such file or directory: - ;; "./realgud-pkg.el" - (delete-file "./realgud-pkg.el") ;; FIXME: `patch-el-files' crashes on this file with error: ;; unable to locate "bashdb". (delete-file "./test/test-regexp-bashdb.el")))) diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 7a433a0bfd..86bdf99a32 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -7385,3 +7385,73 @@ full of enemies that can hurt it, obstacles and food to be eaten. The goal of the game is to stay alive and collect prizes. The robot program conveniently may be written in a plain text file in the Scheme programming language.") (license license:gpl3+))) + +(define-public ri-li + (package + (name "ri-li") + (version "2.0.1") + (source (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/ri-li/" + "Ri-li%20Linux_Unix/Ri-li%20V" version "/" + "Ri-li-" version ".tar.bz2")) + (sha256 + (base32 + "1gcdsgnnbbn1mb1hkpwniv3fhkaj1nn8gq33v5c16q3wqchcq77p")) + ;; Taken from + ;; <https://github.com/NixOS/nixpkgs/blob/master/pkgs/games/rili/moderinze_cpp.patch>. + ;; It doesn't build otherwise. + (patches (search-patches "ri-li-modernize_cpp.patch")))) + (build-system gnu-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + ;; Remove "gentoo" subdirectory from Makefile, as it is + ;; missing a make file and generates a build failure. + (add-after 'configure 'fix-build + (lambda _ + (substitute* "Makefile" + ((" gentoo") "")) + #t)) + (add-after 'install 'install-desktop-file + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (apps (string-append out "/share/applications")) + (pixmaps (string-append out "/share/pixmaps"))) + (for-each (lambda (f) (install-file f pixmaps)) + (find-files "data" "\\.(png|ico)$")) + (mkdir-p apps) + (with-output-to-file (string-append apps "/ri-li.desktop") + (lambda _ + (format #t + "[Desktop Entry]~@ + Name=Ri-li~@ + Exec=~a/bin/Ri_li~@ + Icon=~a/Ri-li-icon-32x32.png~@ + Categories=Game;ArcadeGame;~@ + Keywords=toy;train;wooden;snake-like;engine;~@ + Comment=a toy simulator game~@ + Comment[de]=Ein Spiel mit einem kleinen Zug~@ + Comment[fr]=un jeu de petit train~@ + Comment[ro_RO]=un joc cu un tren de jucărie~@ + Terminal=false~@ + Type=Application~%" + out pixmaps)))) + #t)) + (add-after 'install-desktop-file 'remove-spurious-files + ;; Delete redundant files already installed somewhere else. + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (for-each delete-file + (find-files (string-append out "/share/Ri-li") + "\\.(png|ico)|COPYING")) + #t)))))) + (inputs + `(("sdl" ,(sdl-union (list sdl sdl-mixer))))) + (home-page "http://www.ri-li.org") + (synopsis "Toy train simulation game") + (description "Ri-li is a game in which you drive a wooden toy +steam locomotive across many levels and collect all the coaches to +win.") + ;; The project is dual-licensed GPL2+ and GPL3+. + (license (list license:gpl2+ license:gpl3+)))) diff --git a/gnu/packages/gimp.scm b/gnu/packages/gimp.scm index c190049212..70bc8db4c1 100644 --- a/gnu/packages/gimp.scm +++ b/gnu/packages/gimp.scm @@ -49,7 +49,7 @@ (define-public babl (package (name "babl") - (version "0.1.64") + (version "0.1.66") (source (origin (method url-fetch) (uri (list (string-append "https://download.gimp.org/pub/babl/" @@ -63,7 +63,7 @@ "/babl-" version ".tar.bz2"))) (sha256 (base32 - "1gsqs5spgla86y9g11riryvw7015asik7y22maainl83nhq4sxxv")))) + "0qx1dwbinxihwl2lmxi60qiqi402jlrdcnixx14kk6j88n9xi79n")))) (build-system gnu-build-system) (home-page "http://gegl.org/babl/") (synopsis "Image pixel format conversion library") @@ -118,7 +118,7 @@ buffers.") (define-public gimp (package (name "gimp") - (version "2.10.10") + (version "2.10.12") (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 - "0xwck5nbpb945s1cyij3kfqw1pchbhx8i5vf5hgywyjw4r1z5l8j")))) + "0wdcr8d2ink4swn5r4v13bsiya6s3xm4ya97sdbhs4l40y7bb03x")))) (build-system gnu-build-system) (outputs '("out" "doc")) ; 9 MiB of gtk-doc HTML diff --git a/gnu/packages/gpodder.scm b/gnu/packages/gpodder.scm index badb7f867f..7c9994f128 100644 --- a/gnu/packages/gpodder.scm +++ b/gnu/packages/gpodder.scm @@ -36,7 +36,7 @@ (define-public gpodder (package (name "gpodder") - (version "3.10.7") + (version "3.10.9") (source (origin (method git-fetch) @@ -45,7 +45,7 @@ (commit version))) (sha256 (base32 - "0sx9rj6dpvd2xz7lak2yi0zlgr3lp2ng1fw23s39la9ly4g1835j")) + "1sdmr1sq1d4p492zp9kq3npl7p56yr0pr470z9r6xxcylax5mhfq")) (file-name (git-file-name name version)))) (build-system python-build-system) (native-inputs @@ -81,12 +81,12 @@ (for-each (lambda (f) (chmod f #o664)) - (find-files "po")))) + (find-files "po")) + #t)) (replace 'install (lambda* (#:key outputs #:allow-other-keys) (setenv "PREFIX" (assoc-ref outputs "out")) - (invoke "make" "install") - #t)) + (invoke "make" "install"))) (add-after 'install 'wrap-gpodder (lambda* (#:key outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out")) diff --git a/gnu/packages/gps.scm b/gnu/packages/gps.scm index 66e091ddbf..75212ed60e 100644 --- a/gnu/packages/gps.scm +++ b/gnu/packages/gps.scm @@ -175,16 +175,16 @@ coordinates as well as partial support for adjustments in global coordinate syst (define-public gpxsee (package (name "gpxsee") - (version "4.19") + (version "7.8") (source (origin - (method url-fetch) - (uri - (string-append "https://github.com/tumic0/GPXSee/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/tumic0/GPXSee") + (commit version))) + (file-name (git-file-name name version)) (sha256 (base32 - "00j0gjldw1kn3i45dppld1pz8r4s1g7lw89k7gfvvqbjjyjih1wg")))) + "1ymqz4wrl9ghkyyqi2vrnlyvz3fc84s3p8a1dkiqlvyvj360ck9j")))) (build-system gnu-build-system) (arguments '(#:phases @@ -195,27 +195,16 @@ coordinates as well as partial support for adjustments in global coordinate syst (for-each (lambda (file) (invoke "lrelease" file)) (find-files "lang" "\\.ts")) - (substitute* "src/config.h" - (("/usr/share/gpxsee") - (string-append - (assoc-ref outputs "out") "/share/gpxsee"))) (invoke "qmake" (string-append "PREFIX=" - (assoc-ref outputs "out"))))) - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (share (string-append out "/share/gpxsee/"))) - (install-file "GPXSee" (string-append out "/bin/GPXSee")) - (install-file "pkg/maps.txt" share)) - #t))))) + (assoc-ref outputs "out")))))))) (inputs `(("qtbase" ,qtbase))) (native-inputs `(("qttools" ,qttools))) - (home-page "http://www.gpxsee.org") - (synopsis "GPX file viewer and analyzer") + (home-page "https://www.gpxsee.org") + (synopsis "GPS log file viewer and analyzer") (description - "GPXSee is a Qt-based GPS log file viewer and analyzer that supports GPX, -TCX, KML, FIT, IGC and NMEA files.") + "GPXSee is a Qt-based GPS log file viewer and analyzer that supports +all common GPS log file formats.") (license license:gpl3))) diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm index aee908a6f5..191f32c321 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm @@ -68,6 +68,7 @@ #:use-module (gnu packages multiprecision) #:use-module (gnu packages ncurses) #:use-module (gnu packages networking) + #:use-module (gnu packages noweb) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) @@ -75,6 +76,7 @@ #:use-module (gnu packages sdl) #:use-module (gnu packages slang) #:use-module (gnu packages sqlite) + #:use-module (gnu packages tex) #:use-module (gnu packages texinfo) #:use-module (gnu packages tls) #:use-module (gnu packages version-control) @@ -2305,3 +2307,81 @@ formatting combinators specified by @uref{https://srfi.schemers.org/srfi-159/srfi-159.html, SRFI-159}. These are more expressive and flexible than the traditional @code{format} procedure.") (license license:bsd-3)))) + +(define-public emacsy + (let ((commit "7d49cc1425d5d209bdb82cac0d8ea0694b8b3784") + (revision "4")) + (package + (name "emacsy") + (version (string-append "0.1.2-" revision "." (string-take commit 7))) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.com/janneke/emacsy.git") + (commit commit))) + (file-name (string-append name "-" version)) + (sha256 + (base32 + "0k9yns1v8zn135w60sx96nqs2bm2p2dvcvlm987hkw4lbff9ii6i")))) + (build-system gnu-build-system) + (native-inputs + `(("emacsy-webkit-gtk" + ,(origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.com/janneke/emacsy-webkit-gtk.git") + (commit "35ded1b3e997fd779a17e0c4a2c73741718562d9"))) + (file-name (string-append "emacsy-webkit-gtk" "-" version)) + (sha256 + (base32 + "1gp0li2rbp6in926r3hrww6cnh864pp46v1din2pgmd7vzzl7kg0")))) + ("hello-emacsy" + ,(origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.com/janneke/hello-emacsy.git") + (commit "2c117e5286a261be4ff24938f3ae1d348396c538"))) + (file-name (string-append "hello-emacsy" "-" version)) + (sha256 + (base32 + "15ykd7s8axcy8ym4v71fgal4x28fxnim0pv0jmpi3dnhizr63zqn")))) + ("autoconf" ,autoconf) + ("automake" ,automake) + ("bzip2" ,bzip2) + ("guile" ,guile-2.2) + ("gettext" ,gnu-gettext) + ("libtool" ,libtool) + ("noweb" ,noweb) + ("perl" ,perl) + ("pkg-config" ,pkg-config) + ("texinfo" ,texinfo) + ("texlive" ,texlive))) + (propagated-inputs + `(("guile-lib" ,guile-lib) + ("guile-readline" ,guile-readline) + ("freeglut" ,freeglut) + ("gssettings-desktop-schemas" ,gsettings-desktop-schemas) + ("webkitgtk" ,webkitgtk))) + (inputs `(("guile" ,guile-2.2))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'unpack-examples + (lambda _ + (copy-recursively (assoc-ref %build-inputs "emacsy-webkit-gtk") + "example/emacsy-webkit-gtk") + (copy-recursively (assoc-ref %build-inputs "hello-emacsy") + "example/hello-emacsy"))) + (add-before 'configure 'setenv + (lambda _ + (setenv "GUILE_AUTO_COMPILE" "0")))))) + (home-page "https://github.com/shanecelis/emacsy/") + (synopsis "Embeddable GNU Emacs-like library using Guile") + (description + "Emacsy is an embeddable GNU Emacs-like library that uses GNU Guile +as extension language. Emacsy can give a C program an Emacsy feel with +keymaps, minibuffer, recordable macros, history, tab completion, major +and minor modes, etc., and can also be used as a pure Guile library. It +comes with a simple counter example using GLUT and browser examples in C +using gtk+-3 and webkitgtk.") + (license license:gpl3+)))) diff --git a/gnu/packages/kawa.scm b/gnu/packages/kawa.scm new file mode 100644 index 0000000000..5771eeda8e --- /dev/null +++ b/gnu/packages/kawa.scm @@ -0,0 +1,53 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2019 Carlo Zancanaro <carlo@zancanaro.id.au> +;;; Copyright © 2019 Ludovic Courtès <ludo@gnu.org> +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. + +(define-module (gnu packages kawa) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix build-system gnu) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (gnu packages java)) + +(define-public kawa + (package + (name "kawa") + (version "3.0") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://gnu/kawa/kawa-" version ".tar.gz")) + (sha256 + (base32 + "1k9qpydc64ar4aqyg3q7jmmxy503ayj85227qfhc5n6ngchqavhy")))) + (build-system gnu-build-system) + (arguments + `(#:parallel-build? #f + #:parallel-tests? #f)) + (inputs + `(("icedtea" ,icedtea-8 "jdk"))) + (home-page "https://www.gnu.org/software/kawa/") + (synopsis "Java framework and implementation of Scheme, Elisp, and more") + (description + "GNU Kawa is an implementation of the Scheme programming language that +is built on top of the Java platform. It is thus conveniently integrated +with Java and benefits from this by having a compiler, optional static +typing, and so on. Kawa also serves as a framework for implementing other +programming languages on the Java platform. Included in Kawa is qexo, a +partial implementation of XQuery in Java.") + (license license:expat))) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index b6887349fa..ec0ac2add2 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -430,8 +430,8 @@ for ARCH and optionally VARIANT, or #f if there is no such configuration." It has been modified to remove all non-free binary blobs.") (license license:gpl2))) -(define %linux-libre-version "5.1.8") -(define %linux-libre-hash "1vkirlz9vsvym8fdbvj308n3hj8f9j8n9m267x0dhlgbmig570j2") +(define %linux-libre-version "5.1.9") +(define %linux-libre-hash "1l1nhq3giqyv7zir1sl8m32xbbpmqhsw8dgf90kf4qcnh6bvjin1") (define %linux-libre-5.1-patches (list %boot-logo-patch @@ -448,8 +448,8 @@ It has been modified to remove all non-free binary blobs.") (make-linux-libre-headers %linux-libre-version %linux-libre-hash)) -(define %linux-libre-4.19-version "4.19.49") -(define %linux-libre-4.19-hash "0dxmm8190h0g5indj3sqfipkji10y3icr8xnf7bbz7086nkkrcvz") +(define %linux-libre-4.19-version "4.19.50") +(define %linux-libre-4.19-hash "0j1p459al3y77cv2xwjx7ppghc8ixs3wm3w9a10sc3ckbq1hw8ly") (define %linux-libre-4.19-patches (list %boot-logo-patch @@ -466,8 +466,8 @@ It has been modified to remove all non-free binary blobs.") (make-linux-libre-headers %linux-libre-4.19-version %linux-libre-4.19-hash)) -(define %linux-libre-4.14-version "4.14.124") -(define %linux-libre-4.14-hash "0z9iaz1rcm9472rjvcihmq65ygyks07j6kbiqm989r9rb4dw6ghg") +(define %linux-libre-4.14-version "4.14.125") +(define %linux-libre-4.14-hash "1ms7ai7c6xspq8r2amgjfsdyl87x10dc4b1c3iacrhrxaqqmab01") (define-public linux-libre-4.14 (make-linux-libre %linux-libre-4.14-version @@ -480,14 +480,14 @@ It has been modified to remove all non-free binary blobs.") %linux-libre-4.14-hash)) (define-public linux-libre-4.9 - (make-linux-libre "4.9.180" - "062ybvc5ljpbn8llj62zsvvykl5rikn0jfzh62nrrdsnj7mvi77a" + (make-linux-libre "4.9.181" + "0fdqfd6z73q00nracrixliw0i0b60f4z352jmzabcwy431wszar5" '("x86_64-linux" "i686-linux") #:configuration-file kernel-config)) (define-public linux-libre-4.4 - (make-linux-libre "4.4.180" - "157kfs4slii86q9yrspvqdynpiv6rff80hrrn569v6h4nkc4b7ag" + (make-linux-libre "4.4.181" + "1ird78a3pg8k6h60258g56ka86jpgiaj0q9r2jws770qgrmy324l" '("x86_64-linux" "i686-linux") #:configuration-file kernel-config #:extra-options diff --git a/gnu/packages/mes.scm b/gnu/packages/mes.scm index afb1e025b4..ae887fa24d 100644 --- a/gnu/packages/mes.scm +++ b/gnu/packages/mes.scm @@ -29,6 +29,7 @@ #:use-module (gnu packages man) #:use-module (gnu packages package-management) #:use-module (gnu packages perl) + #:use-module (gnu packages pkg-config) #:use-module (gnu packages texinfo) #:use-module (guix build-system gnu) #:use-module (guix download) @@ -36,7 +37,7 @@ #:use-module (guix licenses) #:use-module (guix packages)) -(define-public nyacc +(define-public nyacc-0.86 (package (name "nyacc") (version "0.86.0") @@ -59,6 +60,37 @@ extensive examples, including parsers for the Javascript and C99 languages.") (home-page "https://savannah.nongnu.org/projects/nyacc") (license (list gpl3+ lgpl3+)))) +(define-public nyacc + (package + (inherit nyacc-0.86) + (version "0.94.0") + (source (origin + (method url-fetch) + (uri (string-append "mirror://savannah/nyacc/nyacc-" + version ".tar.gz")) + (sha256 + (base32 + "12qnzwm1n3j8z7hbr9hy2wka9a1aasm2rvnpnvdxkjcsbdzj8fn4")) + (modules '((guix build utils))) + (snippet + '(begin + (substitute* (find-files "." "^Makefile\\.in$") + (("^SITE_SCM_DIR =.*") + "SITE_SCM_DIR = \ +@prefix@/share/guile/site/@GUILE_EFFECTIVE_VERSION@\n") + (("^SITE_SCM_GO_DIR =.*") + "SITE_SCM_GO_DIR = \ +@prefix@/lib/guile/@GUILE_EFFECTIVE_VERSION@/site-ccache\n") + (("^INFODIR =.*") + "INFODIR = @prefix@/share/info\n") + (("^DOCDIR =.*") + "DOCDIR = @prefix@/share/doc/$(PACKAGE_TARNAME)\n")) + #t)))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("guile" ,guile-2.2))))) + (define-public mes (package (name "mes") @@ -74,7 +106,10 @@ extensive examples, including parsers for the Javascript and C99 languages.") (supported-systems '("i686-linux" "x86_64-linux")) (propagated-inputs `(("mescc-tools" ,mescc-tools) - ("nyacc" ,nyacc))) + + ;; XXX: MesCC appears to enter an infinite loop (?) while building + ;; crt1.o when we switch to nyacc 0.94. + ("nyacc" ,nyacc-0.86))) (native-inputs `(("guile" ,guile-2.2) ,@(let ((target-system (or (%current-target-system) diff --git a/gnu/packages/patches/emacs-realgud-fix-configure-ac.patch b/gnu/packages/patches/emacs-realgud-fix-configure-ac.patch deleted file mode 100644 index 8165857c87..0000000000 --- a/gnu/packages/patches/emacs-realgud-fix-configure-ac.patch +++ /dev/null @@ -1,27 +0,0 @@ -From a293690f29407ac54a218d6d20c2142e1a0319d1 Mon Sep 17 00:00:00 2001 -From: Maxim Cournoyer <maxim.cournoyer@gmail.com> -Date: Wed, 31 Oct 2018 00:08:34 -0400 -Subject: [PATCH] configure.ac: Fix NO_CHECK_EMACS_PACKAGES elisp. - -Remove the extraneous trailing parenthesis. ---- - configure.ac | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -diff --git a/configure.ac b/configure.ac -index de0d932..69bcea7 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -25,8 +25,7 @@ AC_MSG_NOTICE("Checking prerequiste packages") - $EMACS -batch -q --no-site-file -eval \ - '(dolist (package - (quote (cl-lib loc-changes load-relative test-simple))) -- (require package)) -- )' -+ (require package))' - fi - if test $? -ne 0 ; then - AC_MSG_ERROR([Can't continue until above error is corrected.]) --- -2.19.0 - diff --git a/gnu/packages/patches/racket-store-checksum-override.patch b/gnu/packages/patches/racket-store-checksum-override.patch index 6c9cd5198a..236c843de1 100644 --- a/gnu/packages/patches/racket-store-checksum-override.patch +++ b/gnu/packages/patches/racket-store-checksum-override.patch @@ -7,12 +7,8 @@ because the store is immutable. This patch makes Racket ignore checksums for files in the store. See <https://debbugs.gnu.org/30680> for details. ---- - collects/compiler/private/cm-minimal.rkt | 8 +++++++- - 1 file changed, 7 insertions(+), 1 deletion(-) -diff --git a/collects/compiler/private/cm-minimal.rkt b/collects/compiler/private/cm-minimal.rkt -index a5a5407..15af6b8 100644 +--- --- a/collects/compiler/private/cm-minimal.rkt +++ b/collects/compiler/private/cm-minimal.rkt @@ -7,6 +7,7 @@ @@ -20,10 +16,10 @@ index a5a5407..15af6b8 100644 racket/path racket/promise + racket/string - openssl/sha1 + file/sha1 setup/collects - compiler/compilation-path -@@ -543,6 +544,10 @@ + setup/cross-system +@@ -940,6 +941,10 @@ #f (list src-hash recorded-hash))) @@ -34,16 +30,13 @@ index a5a5407..15af6b8 100644 (define (rkt->ss p) (if (path-has-extension? p #".rkt") (path-replace-extension p #".ss") -@@ -595,7 +600,8 @@ - (trace-printf "newer src... ~a > ~a" path-time path-zo-time) - ;; If `sha1-only?', then `maybe-compile-zo' returns a #f or thunk: - (maybe-compile-zo sha1-only? deps path->mode roots path orig-path read-src-syntax up-to-date collection-cache new-seen)] -- [(different-source-sha1-and-dep-recorded path deps) -+ [(and (not (store-reference? path)) -+ (different-source-sha1-and-dep-recorded path deps)) - => (lambda (difference) - (trace-printf "different src hash... ~a" difference) - ;; If `sha1-only?', then `maybe-compile-zo' returns a #f or thunk: --- -2.18.0 - +@@ -1015,6 +1020,7 @@ + (trace-printf "newer src... ~a > ~a" path-time path-zo-time) + (maybe-compile-zo deps path->mode roots path orig-path read-src-syntax up-to-date collection-cache new-seen + #:trying-sha1? sha1-only?)] +- [(different-source-sha1-and-dep-recorded path deps) ++ [(and (not (store-reference? path)) ++ (different-source-sha1-and-dep-recorded path deps)) + => (lambda (difference) + (trace-printf "different src hash ~a for ~a..." difference path) + (maybe-compile-zo deps path->mode roots path orig-path read-src-syntax up-to-date collection-cache new-seen
\ No newline at end of file diff --git a/gnu/packages/patches/ri-li-modernize_cpp.patch b/gnu/packages/patches/ri-li-modernize_cpp.patch new file mode 100644 index 0000000000..3d076afb39 --- /dev/null +++ b/gnu/packages/patches/ri-li-modernize_cpp.patch @@ -0,0 +1,391 @@ +diff -r -u Ri-li-2.0.1.orig/src/audio.cc Ri-li-2.0.1/src/audio.cc +--- Ri-li-2.0.1.orig/src/audio.cc 2012-01-22 00:40:56.928609371 -0800 ++++ Ri-li-2.0.1/src/audio.cc 2012-01-22 00:28:33.360636539 -0800 +@@ -22,8 +22,8 @@ + // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + + #include <stdlib.h> +-#include <iostream.h> +-#include <string.h> ++#include <iostream> ++#include <string> + + #include "audio.h" + #include "utils.h" +@@ -57,7 +57,7 @@ + char PathFile[512]; + + if(Mix_OpenAudio(22050,AUDIO_S16,1,1024)) { +- cerr <<"Enable to init Sound card ! "<<SDL_GetError()<<endl; ++ std::cerr <<"Enable to init Sound card ! "<<SDL_GetError()<<std::endl; + return false; + } + +diff -r -u Ri-li-2.0.1.orig/src/ecran.cc Ri-li-2.0.1/src/ecran.cc +--- Ri-li-2.0.1.orig/src/ecran.cc 2007-11-02 04:48:16.000000000 -0700 ++++ Ri-li-2.0.1/src/ecran.cc 2012-01-22 00:13:54.422798653 -0800 +@@ -21,7 +21,7 @@ + // with this program; if not, write to the Free Software Foundation, Inc., + // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +-#include <iostream.h> ++#include <iostream> + #include <stdio.h> + #include <stdlib.h> + #include <math.h> +diff -r -u Ri-li-2.0.1.orig/src/editeur.cc Ri-li-2.0.1/src/editeur.cc +--- Ri-li-2.0.1.orig/src/editeur.cc 2007-11-02 04:48:17.000000000 -0700 ++++ Ri-li-2.0.1/src/editeur.cc 2012-01-22 00:28:59.632635579 -0800 +@@ -25,10 +25,10 @@ + #include <windows.h> + #endif + +-#include <iostream.h> ++#include <iostream> + #include <stdio.h> + #include <stdlib.h> +-#include <string.h> ++#include <string> + #include <math.h> + #include <SDL/SDL.h> + +@@ -374,7 +374,7 @@ + + // Sauve le niveau + if(Niveau.Save()==false) { +- cerr <<"ERREUR Saving levels!"<<endl; ++ std::cerr <<"ERREUR Saving levels!"<<std::endl; + exit(-1); + } + +diff -r -u Ri-li-2.0.1.orig/src/jeux.cc Ri-li-2.0.1/src/jeux.cc +--- Ri-li-2.0.1.orig/src/jeux.cc 2007-11-02 04:48:17.000000000 -0700 ++++ Ri-li-2.0.1/src/jeux.cc 2012-01-22 00:14:08.422798143 -0800 +@@ -25,10 +25,10 @@ + #include <windows.h> + #endif + +-#include <iostream.h> ++#include <iostream> + #include <stdio.h> + #include <stdlib.h> +-#include <string.h> ++#include <string> + #include <math.h> + #include <SDL/SDL.h> + +diff -r -u Ri-li-2.0.1.orig/src/loco.cc Ri-li-2.0.1/src/loco.cc +--- Ri-li-2.0.1.orig/src/loco.cc 2007-11-02 04:48:18.000000000 -0700 ++++ Ri-li-2.0.1/src/loco.cc 2012-01-22 00:14:17.878797797 -0800 +@@ -21,10 +21,10 @@ + // with this program; if not, write to the Free Software Foundation, Inc., + // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +-#include <iostream.h> ++#include <iostream> + #include <stdio.h> + #include <stdlib.h> +-#include <string.h> ++#include <string> + #include <math.h> + #include "preference.h" + #include "loco.h" +diff -r -u Ri-li-2.0.1.orig/src/main.cc Ri-li-2.0.1/src/main.cc +--- Ri-li-2.0.1.orig/src/main.cc 2007-11-02 04:48:19.000000000 -0700 ++++ Ri-li-2.0.1/src/main.cc 2012-01-22 00:29:40.080634136 -0800 +@@ -23,8 +23,8 @@ + + #include <stdio.h> + #include <stdlib.h> +-#include <iostream.h> +-#include <string.h> ++#include <iostream> ++#include <string> + #include <SDL/SDL.h> + #include <SDL/SDL_mixer.h> + +@@ -115,7 +115,7 @@ + + // Initilise SDL + if( SDL_Init(SDL_INIT_VIDEO|SDL_INIT_TIMER|SDL_INIT_AUDIO|SDL_INIT_NOPARACHUTE) < 0 ) { +- cerr <<"Impossible d'initialiser SDL:"<<SDL_GetError()<<endl; ++ std::cerr <<"Impossible d'initialiser SDL:"<<SDL_GetError()<<std::endl; + exit(-1); + } + // Ferme le programme correctement quant quit +@@ -125,7 +125,7 @@ + sdlVideoInfo=(SDL_VideoInfo*)SDL_GetVideoInfo(); + + if(sdlVideoInfo->vfmt->BitsPerPixel==8) { +- cerr <<"Impossible d'utiliser 8bits pour la vidéo !"<<endl; ++ std::cerr <<"Impossible d'utiliser 8bits pour la vidéo !"<<std::endl; + exit(-1); + } + +@@ -145,7 +145,7 @@ + sdlVideo=SDL_SetVideoMode(800,600,sdlVideoInfo->vfmt->BitsPerPixel,vOption); + + if(sdlVideo==NULL) { +- cerr <<"Impossible de passer dans le mode vidéo 800x600 !"<<endl; ++ std::cerr <<"Impossible de passer dans le mode vidéo 800x600 !"<<std::endl; + exit(-1); + } + // Change le nom de la fenetre +diff -r -u Ri-li-2.0.1.orig/src/menu.cc Ri-li-2.0.1/src/menu.cc +--- Ri-li-2.0.1.orig/src/menu.cc 2007-11-02 04:48:19.000000000 -0700 ++++ Ri-li-2.0.1/src/menu.cc 2012-01-22 00:30:04.752633198 -0800 +@@ -21,10 +21,10 @@ + // with this program; if not, write to the Free Software Foundation, Inc., + // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +-#include <iostream.h> ++#include <iostream> + #include <stdio.h> + #include <stdlib.h> +-#include <string.h> ++#include <string> + #include "preference.h" + #include "menu.h" + #include "sprite.h" +@@ -92,7 +92,7 @@ + // Teste la resolution video + sdlVideoInfo=(SDL_VideoInfo*)SDL_GetVideoInfo(); + if(sdlVideoInfo->vfmt->BitsPerPixel==8) { +- cerr <<"Impossible d'utiliser 8bits pour la vidéo !"<<endl; ++ std::cerr <<"Impossible d'utiliser 8bits pour la vidéo !"<<std::endl; + exit(-1); + } + +@@ -112,7 +112,7 @@ + if(Pref.FullScreen) vOption|=SDL_FULLSCREEN; + sdlVideo=SDL_SetVideoMode(800,600,sdlVideoInfo->vfmt->BitsPerPixel,vOption); + if(sdlVideo==NULL) { +- cerr <<"Impossible de passer dans le mode vidéo 800x600 !"<<endl; ++ std::cerr <<"Impossible de passer dans le mode vidéo 800x600 !"<<std::endl; + exit(-1); + } + +diff -r -u Ri-li-2.0.1.orig/src/mouse.cc Ri-li-2.0.1/src/mouse.cc +--- Ri-li-2.0.1.orig/src/mouse.cc 2007-11-02 04:48:20.000000000 -0700 ++++ Ri-li-2.0.1/src/mouse.cc 2012-01-22 00:14:36.438797120 -0800 +@@ -21,7 +21,7 @@ + // with this program; if not, write to the Free Software Foundation, Inc., + // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +-#include <iostream.h> ++#include <iostream> + #include <stdio.h> + #include "mouse.h" + #include "preference.h" +diff -r -u Ri-li-2.0.1.orig/src/sprite.cc Ri-li-2.0.1/src/sprite.cc +--- Ri-li-2.0.1.orig/src/sprite.cc 2007-11-02 04:48:20.000000000 -0700 ++++ Ri-li-2.0.1/src/sprite.cc 2012-01-22 00:30:43.640631779 -0800 +@@ -21,10 +21,10 @@ + // with this program; if not, write to the Free Software Foundation, Inc., + // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +-#include <iostream.h> ++#include <iostream> + #include <stdio.h> + #include <stdlib.h> +-#include <string.h> ++#include <string> + #include <math.h> + #include "sprite.h" + #include "preference.h" +@@ -84,7 +84,7 @@ + strcpy(PathFile,Langue[Pref.Langue]); + GetPath(PathFile); + if(FileExiste(PathFile)==false) { +- cerr <<"Impossible de trouver "<<Langue[Pref.Langue]<<endl; ++ std::cerr <<"Impossible de trouver "<<Langue[Pref.Langue]<<std::endl; + return false; + } + L=ChargeFichier(PathFile,Buf); +@@ -128,7 +128,7 @@ + // *** Charge le fichier des langues *** + // ************************************* + if(FileExiste(PathFile)==false) { +- cerr <<"Impossible de trouver 'language.dat'"<<endl; ++ std::cerr <<"Impossible de trouver 'language.dat'"<<std::endl; + return false; + } + L=ChargeFichier(PathFile,Buf); +@@ -163,7 +163,7 @@ + strcpy(PathFile,"sprites.dat"); + GetPath(PathFile); + if(FileExiste(PathFile)==false) { +- cerr <<"Impossible de trouver 'sprites.dat'"<<endl; ++ std::cerr <<"Impossible de trouver 'sprites.dat'"<<std::endl; + return false; + } + L=ChargeFichier(PathFile,Buf); +@@ -352,7 +352,7 @@ + Image[i]=SDL_CreateRGBSurface((Dim[i].bpp-3)*SDL_SRCALPHA,Dim[i].L,Dim[i].H,Dim[i].bpp*8, + 0xff,0xff00,0xff0000,0xff000000*(Dim[i].bpp-3)); + if(Image[i]<=NULL) { +- cerr <<"Impossible de créer une Surface SDL!"<<endl; ++ std::cerr <<"Impossible de créer une Surface SDL!"<<std::endl; + return false; + } + +@@ -486,7 +486,7 @@ + Image[0]=SDL_CreateRGBSurface((Dim[0].bpp-3)*SDL_SRCALPHA,Dim[0].L,Dim[0].H,Dim[0].bpp*8, + 0xff,0xff00,0xff0000,0xff000000*(Dim[0].bpp-3)); + if(Image[0]<=NULL) { +- cerr <<"Impossible de créer une Surface SDL!"<<endl; ++ std::cerr <<"Impossible de créer une Surface SDL!"<<std::endl; + return false; + } + return true; +diff -r -u Ri-li-2.0.1.orig/src/tableau.cc Ri-li-2.0.1/src/tableau.cc +--- Ri-li-2.0.1.orig/src/tableau.cc 2007-11-02 04:48:21.000000000 -0700 ++++ Ri-li-2.0.1/src/tableau.cc 2012-01-22 00:14:50.710796598 -0800 +@@ -21,7 +21,7 @@ + // with this program; if not, write to the Free Software Foundation, Inc., + // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +-#include <iostream.h> ++#include <iostream> + #include <stdio.h> + #include <stdlib.h> + #include "preference.h" +diff -r -u Ri-li-2.0.1.orig/src/utils.cc Ri-li-2.0.1/src/utils.cc +--- Ri-li-2.0.1.orig/src/utils.cc 2007-11-02 04:48:22.000000000 -0700 ++++ Ri-li-2.0.1/src/utils.cc 2012-01-22 00:31:30.944630051 -0800 +@@ -21,10 +21,10 @@ + // with this program; if not, write to the Free Software Foundation, Inc., + // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +-#include <iostream.h> ++#include <iostream> + #include <stdio.h> + #include <stdlib.h> +-#include <string.h> ++#include <string> + + #ifdef WINDOWS + #include <windows.h> +@@ -77,7 +77,7 @@ + + file=fopen(Path,"r"); + if(!file) { +- cerr <<"ERREUR: Impossible d'ouvrir '"<<Path<<"'"<<endl; ++ std::cerr <<"ERREUR: Impossible d'ouvrir '"<<Path<<"'"<<std::endl; + perror("fopen"); + return -1; + } +@@ -93,7 +93,7 @@ + + Buf=new unsigned char [L+1]; + if(Buf==NULL) { +- cerr <<"ERREUR: Memoire insuffisante!"<<endl; ++ std::cerr <<"ERREUR: Memoire insuffisante!"<<std::endl; + fclose(file); + return -1; + } +@@ -104,7 +104,7 @@ + while(Compt>1024) { + AfficheChargeur(); + if( fread(Po,1,1024,file) != 1024 ) { +- cerr <<"ERREUR de lecture du fichier '"<<Path<<"'"<<endl; ++ std::cerr <<"ERREUR de lecture du fichier '"<<Path<<"'"<<std::endl; + perror("fread"); + fclose(file); + delete [] Buf; +@@ -131,13 +131,13 @@ + + file=_lopen(Path,OF_READ); + if(file==-1) { +- cerr <<"Impossible d'ouvrir "<<Path<<endl; ++ std::cerr <<"Impossible d'ouvrir "<<Path<<std::endl; + exit(-1); + } + + long L=(long)_llseek(file,0,SEEK_END); + if(L==-1) { +- cerr <<"Impossible de trouver la longueur du fichier"<<endl; ++ std::cerr <<"Impossible de trouver la longueur du fichier"<<std::endl; + perror("lseek"); + _lclose(file); + return -1; +@@ -146,7 +146,7 @@ + + Buf=new unsigned char [L+1]; + if(Buf==NULL) { +- cerr <<"ERREUR: Memoire insuffisante!"<<endl; ++ std::cerr <<"ERREUR: Memoire insuffisante!"<<std::endl; + _lclose(file); + return -1; + } +@@ -169,14 +169,14 @@ + + file=fopen(Path,"w"); + if(!file) { +- cerr <<"ERREUR: Impossible d'ouvrir '"<<Path<<"'"<<endl; ++ std::cerr <<"ERREUR: Impossible d'ouvrir '"<<Path<<"'"<<std::endl; + perror("fopen"); + return false; + } + + while(L>512) { + if( fwrite(Buf,1,512,file) != 512 ) { +- cerr <<"ERREUR d'ecriture du fichier '"<<Path<<"'"<<endl; ++ std::cerr <<"ERREUR d'ecriture du fichier '"<<Path<<"'"<<std::endl; + perror("fwrite"); + fclose(file); + return false; +@@ -187,7 +187,7 @@ + + if(L>0) { + if( fwrite(Buf,1,(size_t)L,file) != (size_t)L ) { +- cerr <<"ERREUR d'ecriture du fichier '"<<Path<<"'"<<endl; ++ std::cerr <<"ERREUR d'ecriture du fichier '"<<Path<<"'"<<std::endl; + perror("fwrite"); + fclose(file); + return false; +@@ -208,7 +208,7 @@ + + file=_lcreat(Path,0); + if(!file) { +- cerr <<"ERREUR: Impossible de créer le fichier '"<<Path<<"'"<<endl; ++ std::cerr <<"ERREUR: Impossible de créer le fichier '"<<Path<<"'"<<std::endl; + return false; + } + +@@ -216,7 +216,7 @@ + _lclose(file); + + if(Lec!=L) { +- cerr <<"Problème d'ecriture du fichier '"<<Path<<"' ecris="<<Lec<<" au lieux de ="<<L<<endl; ++ std::cerr <<"Problème d'ecriture du fichier '"<<Path<<"' ecris="<<Lec<<" au lieux de ="<<L<<std::endl; + return false; + } + +@@ -250,7 +250,7 @@ + sprintf(Path,"/usr/share/games/Ri-li/%s",Provi); + if(FileExiste(Path)) return; + +- cerr <<"Impossible de trouver le fichier '"<<Provi<<endl; ++ std::cerr <<"Impossible de trouver le fichier '"<<Provi<<std::endl; + exit(-1); + } + #endif +@@ -266,7 +266,7 @@ + sprintf(Path,"PROGDIR:%s",Provi); + if(FileExiste(Path)) return; + +- cerr <<"Impossible de trouver le fichier '"<<Path<<endl; ++ std::cerr <<"Impossible de trouver le fichier '"<<Path<<std::endl; + exit(-1); + } + #endif +@@ -282,7 +282,7 @@ + sprintf(Path,"Ri-li.app/Contents/Resources/%s",Provi); + if(FileExiste(Path)) return; + +- cerr <<"Impossible de trouver le fichier '"<<Path<<endl; ++ std::cerr <<"Impossible de trouver le fichier '"<<Path<<std::endl; + exit(-1); + } + #endif diff --git a/gnu/packages/patches/usb-modeswitch-accept-config-arg.patch b/gnu/packages/patches/usb-modeswitch-accept-config-arg.patch new file mode 100644 index 0000000000..9c050f7ee6 --- /dev/null +++ b/gnu/packages/patches/usb-modeswitch-accept-config-arg.patch @@ -0,0 +1,42 @@ +--- old/usb_modeswitch.tcl 1970-01-01 01:00:00.000000000 +0100 ++++ usb_modeswitch.tcl 2019-06-12 08:39:42.140000000 +0200 +@@ -41,7 +41,7 @@ + global scsi usb config match device flags setup devdir loginit + + set flags(config) "" +-Log "[ParseGlobalConfig]" ++Log "[ParseGlobalConfig $argv]" + + if {$flags(stordelay) > 0} { + SetStorageDelay $flags(stordelay) +@@ -496,9 +496,21 @@ + # end of proc {MatchDevice} + + +-proc {ParseGlobalConfig} {} { ++proc {ParseGlobalConfig} {argv} { + + global flags ++ ++set configFileParam "" ++for {set i 0} {$i < [llength $argv]} {incr i} { ++ switch -glob -- [set v [lindex $argv $i]] { ++ --config-file=* { ++ set configFileParam $v ++ } ++ } ++} ++if {$configFileParam != ""} { ++ set configFile [string range $configFileParam [string length "--config-file="] end] ++} else { + set configFile "" + set places [list /etc/usb_modeswitch.conf /etc/sysconfig/usb_modeswitch /etc/default/usb_modeswitch] + foreach cfg $places { +@@ -507,6 +519,7 @@ + break + } + } ++} + if {$configFile == ""} {return} + + set rc [open $configFile r] diff --git a/gnu/packages/scheme.scm b/gnu/packages/scheme.scm index 3e5ab72f20..9962cbdcb5 100644 --- a/gnu/packages/scheme.scm +++ b/gnu/packages/scheme.scm @@ -437,7 +437,7 @@ implementation techniques and as an expository tool.") (define-public racket (package (name "racket") - (version "7.0") + (version "7.3") (source (origin (method url-fetch) (uri (list (string-append "http://mirror.racket-lang.org/installers/" @@ -447,7 +447,7 @@ implementation techniques and as an expository tool.") version "/racket-" version "-src.tgz"))) (sha256 (base32 - "1glv5amsp9xp480d4yr63hhm9kkyav06yl3a6p489nkr4cln0j9a")) + "0h6072njhb87rkz4arijvahxgjzn8r14s4wns0ijvxm89bg136yl")) (patches (search-patches "racket-store-checksum-override.patch")))) (build-system gnu-build-system) diff --git a/gnu/packages/usb-modeswitch.scm b/gnu/packages/usb-modeswitch.scm new file mode 100644 index 0000000000..8f1cf9df60 --- /dev/null +++ b/gnu/packages/usb-modeswitch.scm @@ -0,0 +1,166 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2019 Florian Pelz <pelzflorian@pelzflorian.de> +;;; +;;; 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 usb-modeswitch) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix build-system gnu) + #:use-module (guix build-system trivial) + #:use-module (gnu packages) + #:use-module (gnu packages base) + #:use-module (gnu packages compression) + #:use-module (gnu packages embedded) + #:use-module (gnu packages libusb) + #:use-module (gnu packages pkg-config)) + +(define-public usb-modeswitch-data + (package + (name "usb-modeswitch-data") + (version "20170806") + (source (origin + (method url-fetch) + (uri (string-append + "http://www.draisberghof.de/usb_modeswitch/" + "usb-modeswitch-data-" version ".tar.bz2")) + (sha256 + (base32 + "0b1wari3aza6qjggqd0hk2zsh93k1q8scgmwh6f8wr0flpr3whff")))) + (build-system trivial-build-system) + (native-inputs `(("tar" ,tar) + ("bzip2" ,bzip2))) + (arguments + `(#:modules ((guix build utils)) + #:builder + (begin + (use-modules (guix build utils)) + (let* ((source (assoc-ref %build-inputs "source")) + (tar (assoc-ref %build-inputs "tar")) + (bzip2 (assoc-ref %build-inputs "bzip2")) + (files (string-append "usb-modeswitch-data-" + ,(package-version this-package))) + (share-dir (string-append %output "/share")) + (doc-dir (string-append share-dir "/doc/")) + (license-dir (string-append doc-dir + (strip-store-file-name %output))) + (udev-dir (string-append %output "/udev"))) + (copy-file source "data.tar.bz2") + (invoke (string-append bzip2 "/bin/bzip2") "-d" "data.tar.bz2") + (invoke (string-append tar "/bin/tar") "xvf" "data.tar") + (copy-recursively (string-append files "/usb_modeswitch.d") + (string-append share-dir "/usb_modeswitch.d")) + (install-file (string-append files "/40-usb_modeswitch.rules") + udev-dir) + (install-file (string-append files "/COPYING") license-dir))))) + (home-page "http://www.draisberghof.de/usb_modeswitch/") + (synopsis "Data package for USB_ModeSwitch") + (description "This packages contains data about devices and a UDEV rules +file for use with USB_ModeSwitch.") + (license license:gpl2+))) + +(define-public usb-modeswitch + (package + (name "usb-modeswitch") + (version "2.5.2") + (source (origin + (method url-fetch) + (uri (string-append + "http://www.draisberghof.de/usb_modeswitch/" + "usb-modeswitch-" version ".tar.bz2")) + (sha256 + (base32 + "19ifi80g9ns5dmspchjvfj4ykxssq9yrci8m227dgb3yr04srzxb")) + (modules '((guix build utils))) + (snippet + ;; Remove bundled jimtcl. + '(begin + (delete-file-recursively "jim") + #t)) + (patches + (search-patches "usb-modeswitch-accept-config-arg.patch")))) + (native-inputs `(("pkg-config" ,pkg-config))) + (inputs `(("libusb" ,libusb) + ("jimtcl" ,jimtcl) + ("usb-modeswitch-data" ,usb-modeswitch-data))) + (outputs '("out" "dispatcher")) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ; does not support `make check` + #:make-flags (list "CC=gcc") + #:phases + (modify-phases %standard-phases + (delete 'configure) ; no configure script + (replace 'install + (lambda* (#:key source outputs inputs #:allow-other-keys) + (let* ((source (assoc-ref inputs "source")) + (jimtcl (assoc-ref inputs "jimtcl")) + (data (assoc-ref inputs "usb-modeswitch-data")) + (out (assoc-ref outputs "out")) + (bin (string-append out "/bin")) + (man1 (string-append out "/share/man/man1")) + (dispatcher-out (assoc-ref outputs "dispatcher")) + (udev (string-append dispatcher-out "/lib/udev")) + (etc (string-append dispatcher-out "/etc")) + (dispatcher-bin (string-append dispatcher-out "/bin")) + (dispatcher-man1 (string-append dispatcher-out + "/share/man/man1"))) + (begin + ;; Users can install the default output and + ;; usb-modeswitch-data and then modeswitch their USB device + ;; by running e.g.: + ;; + ;; sudo usb_modeswitch -c \ + ;; ~/.guix-profile/share/usb_modeswitch.d/12d1\:14fe \ + ;; -v 0x12d1 -p 0x14fe + ;; + ;; But it is simpler to use the usb-modeswitch-service-type + ;; that installs a UDEV rules file which invokes a shell + ;; script in lib/udev (also called `usb_modeswitch' like the + ;; main binary) which, in turn, invokes the program + ;; `usb_modeswitch_dispatcher'. Normal users should not + ;; invoke this dispatcher directly, so it is a separate output. + (install-file "usb_modeswitch" bin) + (install-file "usb_modeswitch.conf" etc) + (install-file "usb_modeswitch.1" man1) + (install-file "usb_modeswitch_dispatcher.1" dispatcher-man1) + + (substitute* "usb_modeswitch.sh" + (("PATH=") "PATH=$PATH:") ; we do not want hardcoded FHS path + (("init_path=") "init_path=/does/not/exist")) ; no /sbin/init + (rename-file "usb_modeswitch.sh" "usb_modeswitch") + (install-file "usb_modeswitch" udev) + + (rename-file "usb_modeswitch.tcl" "usb_modeswitch_dispatcher") + (substitute* "usb_modeswitch_dispatcher" + (("/usr/bin/tclsh") + (string-append jimtcl "/bin/jimsh")) + (("/usr/sbin") bin) + (("/usr/share/usb_modeswitch") + (string-append data "/share/usb_modeswitch.d"))) + (install-file "usb_modeswitch_dispatcher" + dispatcher-bin) + #t))))))) + (home-page "http://www.draisberghof.de/usb_modeswitch/") + (synopsis "Mode switching tool for controlling `multi-mode' USB devices") + (description "USB_ModeSwitch is a mode switching tool for controlling USB +devices with multiple @dfn{modes}. When plugged in for the first time many +USB devices (primarily high-speed WAN modems) act like a flash storage +containing installers for Windows drivers. USB_ModeSwitch replays the +sequence the Windows drivers would send to switch their mode from storage to +modem (or whatever the thing is supposed to do).") + (license license:gpl2+))) diff --git a/gnu/packages/vim.scm b/gnu/packages/vim.scm index aa543b68d0..7f2db9980e 100644 --- a/gnu/packages/vim.scm +++ b/gnu/packages/vim.scm @@ -6,6 +6,7 @@ ;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2019 HiPhish <hiphish@posteo.de> +;;; Copyright © 2019 Julien Lepiller <julien@lepiller.eu> ;;; ;;; This file is part of GNU Guix. ;;; @@ -30,6 +31,7 @@ #:use-module (guix git-download) #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) + #:use-module (guix build-system python) #:use-module (gnu packages) #:use-module (gnu packages acl) #:use-module (gnu packages admin) ; For GNU hostname @@ -52,6 +54,7 @@ #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) + #:use-module (gnu packages python-xyz) #:use-module (gnu packages ruby) #:use-module (gnu packages serialization) #:use-module (gnu packages shells) @@ -888,3 +891,29 @@ from the @command{vi}-editor: @end enumerate With the package comes a plugin to use vifm as a vim file selector.") (license license:gpl2+))) + +(define-public python-pynvim + (package + (name "python-pynvim") + (version "0.3.2") + (source (origin + (method url-fetch) + (uri (pypi-uri "pynvim" version)) + (sha256 + (base32 + "01dybk4vs452pljn1q3il5z2sd313ki0lgiglc0xmjc6wp290r6g")))) + (build-system python-build-system) + (propagated-inputs + `(("python-greenlet" ,python-greenlet) + ("python-msgpack" ,python-msgpack))) + (arguments + `(#:tests? #f)) + (home-page "https://github.com/neovim/pynvim") + (synopsis "Python client and plugin host for neovim") + (description "Pynvim implements support for python plugins in neovim. It +also works as a library for connecting to and scripting neovim processes +through its msgpack-rpc API.") + (license license:asl2.0))) + +(define-public python2-pynvim + (package-with-python2 python-pynvim)) diff --git a/gnu/packages/wget.scm b/gnu/packages/wget.scm index 4940156db5..2c1562fb49 100644 --- a/gnu/packages/wget.scm +++ b/gnu/packages/wget.scm @@ -31,12 +31,13 @@ #:use-module (gnu packages gettext) #:use-module (gnu packages gnunet) #:use-module (gnu packages libidn) - #:use-module (gnu packages python) - #:use-module (gnu packages perl) - #:use-module (gnu packages web) #:use-module (gnu packages pcre) + #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) + #:use-module (gnu packages python) #:use-module (gnu packages tls) + #:use-module (gnu packages web) + #:use-module (gnu packages xdisorg) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix git-download) @@ -102,7 +103,7 @@ in downloaded documents to relative links.") (lambda _ (substitute* "wgetpaste" ((" poundpython\"") "\"") - (("-poundpython") "-dpaste")) + (("-poundpython") "-bpaste")) ; dpaste blocks tor users #t)) (replace 'install (lambda* (#:key outputs #:allow-other-keys) @@ -123,11 +124,12 @@ in downloaded documents to relative links.") ,(delete-duplicates (map (lambda (command) (dirname (which command))) (list "bash" "mktemp" "sed" "sort" "tee" "tr" - "wget"))))) + "wget" "xclip"))))) #t)))) #:tests? #f)) ; no test target (inputs - `(("wget" ,wget))) + `(("wget" ,wget) + ("xclip" ,xclip))) (home-page "http://wgetpaste.zlin.dk/") (synopsis "Script that automates pasting to a number of pastebin services") (description diff --git a/gnu/services/nix.scm b/gnu/services/nix.scm index 72ecb7d089..dfe33991d0 100644 --- a/gnu/services/nix.scm +++ b/gnu/services/nix.scm @@ -77,7 +77,8 @@ GID." "Return the activation gexp." (with-imported-modules '((guix build utils)) #~(begin - (use-modules (guix build utils)) + (use-modules (guix build utils) + (srfi srfi-26)) (for-each (cut mkdir-p <>) '("/nix/store" "/nix/var/log" "/nix/var/nix/gcroots/per-user" "/nix/var/nix/profiles/per-user")) |