diff options
Diffstat (limited to 'gnu/packages')
89 files changed, 5145 insertions, 3112 deletions
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index f78b411559..b24d5601cf 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -28,7 +28,7 @@ ;;; Copyright © 2019 Jakob L. Kreuze <zerodaysfordays@sdf.org> ;;; Copyright © 2019 Hartmut Goebel <h.goebel@crazy-compilers.com> ;;; Copyright © 2019 Alex Griffin <a@ajgrf.com> -;;; Copyright © 2019 Guillaume Le Vaillant <glv@posteo.net> +;;; Copyright © 2019, 2021 Guillaume Le Vaillant <glv@posteo.net> ;;; Copyright © 2019, 2020 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com> ;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> @@ -1421,7 +1421,7 @@ system administrator.") (define-public sudo (package (name "sudo") - (version "1.9.5p1") + (version "1.9.5p2") (source (origin (method url-fetch) (uri @@ -1431,7 +1431,7 @@ system administrator.") version ".tar.gz"))) (sha256 (base32 - "10kqdfbfpf3vk5ihz5gwynv4pxdf1lg6ircrlanyygb549yg7pad")) + "0y093z4f3822rc88g9asdch12nljdamp817vjxk04mca7ks2x7jk")) (modules '((guix build utils))) (snippet '(begin @@ -1520,7 +1520,7 @@ commands and their arguments.") (define-public opendoas (package (name "opendoas") - (version "6.8") + (version "6.8.1") (source (origin (method git-fetch) (uri (git-reference @@ -1529,7 +1529,7 @@ commands and their arguments.") (file-name (git-file-name name version)) (sha256 (base32 - "1dlwnvy8r6slxcy260gfkximp1ms510wdslpfq9y6xvd2qi5izcb")))) + "0gfcssm21vdfg6kcrcc7hz1h4jmhy2zv29rfqyrrj3a6r9b5ah8p")))) (build-system gnu-build-system) (arguments `(#:phases @@ -2103,7 +2103,7 @@ track changes in important system configuration files.") (define-public libcap-ng (package (name "libcap-ng") - (version "0.8") + (version "0.8.2") (source (origin (method url-fetch) (uri (string-append @@ -2111,7 +2111,7 @@ track changes in important system configuration files.") version ".tar.gz")) (sha256 (base32 - "08cy59iassiwbmfxa5v0kb374r80290vv32f5q1mnip11av26kgi")))) + "1sasp1n154aqy9fz0knlb966svm7xg1zjhg1vr4q839bgjvq7h2j")))) (build-system gnu-build-system) (arguments `(#:configure-flags @@ -4354,3 +4354,32 @@ This program allows you to view and manipulate this EEPROM list.") the XMODEM/YMODEM/ZMODEM file transfer protocols.") (home-page "https://ohse.de/uwe/software/lrzsz.html") (license license:gpl2+))) + +(define-public nq + (package + (name "nq") + (version "0.3.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/leahneukirchen/nq") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1db96ykz35r273jyhf7cdknqk4p2jj9l8gbz7pjy1hq4pb6ffk99")))) + (build-system gnu-build-system) + (native-inputs + `(("perl" ,perl))) + (arguments + `(#:make-flags (list (string-append "CC=" ,(cc-for-target)) + (string-append "PREFIX=" (assoc-ref %outputs "out"))) + #:phases + (modify-phases %standard-phases + (delete 'configure)))) + (synopsis "Unix command line queue utility") + (description + "@code{nq} can create very lightweight job queue systems which require no +setup, maintenance, supervision, or any long-running processes.") + (home-page "https://github.com/leahneukirchen/nq") + (license license:public-domain))) diff --git a/gnu/packages/animation.scm b/gnu/packages/animation.scm index 6bfe8f0a12..c92c4ae7e7 100644 --- a/gnu/packages/animation.scm +++ b/gnu/packages/animation.scm @@ -26,10 +26,12 @@ #:use-module (guix utils) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix build-system gnu) + #:use-module (guix build-system meson) #:use-module (gnu packages) #:use-module (gnu packages algebra) #:use-module (gnu packages autotools) #:use-module (gnu packages boost) + #:use-module (gnu packages check) #:use-module (gnu packages compression) #:use-module (gnu packages curl) #:use-module (gnu packages dejagnu) @@ -53,6 +55,37 @@ #:use-module (gnu packages video) #:use-module (gnu packages xiph)) +(define-public rlottie + (package + (name "rlottie") + (version "0.2") + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/Samsung/rlottie.git") + (commit + (string-append "v" version)))) + (file-name + (git-file-name name version)) + (sha256 + (base32 "10bxr1zf9wxl55d4cw2j02r6sgqln7mbxplhhfvhw0z92fi40kr3")))) + (build-system meson-build-system) + (arguments + `(#:configure-flags + (list + "-Dlog=true" + "-Dtest=true"))) + (native-inputs + `(("googletest" ,googletest) + ("pkg-config" ,pkg-config))) + (synopsis "Lottie Animation Library") + (description "Rlottie is a platform independent standalone c++ library for +rendering vector based animations and art in realtime.") + (home-page "https://github.com/Samsung/rlottie/") + (license license:expat))) + ;; ETL, synfig, and Synfig Studio are updated in tandem. (define synfig-version "1.2.2") diff --git a/gnu/packages/astronomy.scm b/gnu/packages/astronomy.scm index 0e1a55481f..9777b0008f 100644 --- a/gnu/packages/astronomy.scm +++ b/gnu/packages/astronomy.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016 John Darrington <jmd@gnu.org> ;;; Copyright © 2018–2021 Tobias Geerinckx-Rice <me@tobias.gr> -;;; Copyright © 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2018, 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2019 by Amar Singh <nly@disroot.org> ;;; Copyright © 2020 R Veera Kumar <vkor@vkten.in> ;;; Copyright © 2020 Guillaume Le Vaillant <glv@posteo.net> @@ -31,6 +31,7 @@ #:use-module (gnu packages) #:use-module (gnu packages algebra) #:use-module (gnu packages autotools) + #:use-module (gnu packages check) #:use-module (gnu packages compression) #:use-module (gnu packages curl) #:use-module (gnu packages fontutils) @@ -40,6 +41,7 @@ #:use-module (gnu packages gnome) #:use-module (gnu packages gtk) #:use-module (gnu packages image) + #:use-module (gnu packages libusb) #:use-module (gnu packages lua) #:use-module (gnu packages maths) #:use-module (gnu packages netpbm) @@ -88,6 +90,29 @@ in FITS files.") (license (license:non-copyleft "file://License.txt" "See License.txt in the distribution.")))) +(define-public eye + (package + (name "eye") + (version "1.4.1") + (source + (origin + (method url-fetch) + (uri (string-append "https://www.astromatic.net/download/eye/" + "eye-" version ".tar.gz")) + (sha256 + (base32 "092qhzcbrkcfidbx4bv9wz42w297n80jk7a6kwyi9a3fjfz81d7k")))) + (build-system gnu-build-system) + (home-page "https://www.astromatic.net/software/eye") + (synopsis "Small image feature detector using machine learning") + (description + "In EyE (Enhance Your Extraction) an artificial neural network connected to +pixels of a moving window (retina) is trained to associate these input stimuli +to the corresponding response in one or several output image(s). The resulting +filter can be loaded in SExtractor to operate complex, wildly non-linear filters +on astronomical images. Typical applications of EyE include adaptive filtering, +feature detection and cosmetic corrections.") + (license license:cecill))) + (define-public wcslib (package (name "wcslib") @@ -127,10 +152,30 @@ coordinate systems in a @dfn{FITS} (Flexible Image Transport System) image header.") (license license:lgpl3+))) +(define-public weightwatcher + (package + (name "weightwatcher") + (version "1.12") + (source + (origin + (method url-fetch) + (uri (string-append "https://www.astromatic.net/download/weightwatcher/" + "weightwatcher-" version ".tar.gz")) + (sha256 + (base32 "1zaqd8d9rpgcwjsp92q3lkfaa22i20gppb91dz34ym54swisjc2p")))) + (build-system gnu-build-system) + (home-page "https://www.astromatic.net/software/weightwatcher") + (synopsis "Weight-map/flag-map multiplexer and rasteriser") + (description + "Weightwatcher is a program hat combines weight-maps, flag-maps and +polygon data in order to produce control maps which can directly be used in +astronomical image-processing packages like Drizzle, Swarp or SExtractor.") + (license license:gpl3+))) + (define-public gnuastro (package (name "gnuastro") - (version "0.13") + (version "0.14") (source (origin (method url-fetch) @@ -138,13 +183,15 @@ header.") version ".tar.lz")) (sha256 (base32 - "07di6zx2irc5q0zyymx2951ydzxdfjmzd3az5qnk67ncf3hknvj5")))) + "1xp6n42qxv0x6yigi2w2l5k8006smv27lhrcssysgsvzbydghzg5")))) (build-system gnu-build-system) (arguments '(#:configure-flags '("--disable-static"))) (inputs `(("cfitsio" ,cfitsio) + ("curl" ,curl-minimal) ("gsl" ,gsl) + ("libgit2" ,libgit2) ("libjpeg" ,libjpeg-turbo) ("libtiff" ,libtiff) ("wcslib" ,wcslib) @@ -204,6 +251,36 @@ large scale galaxy-survey data, it can perform reasonably well on moderately crowded star fields.") (license license:gpl3+))) +(define-public skymaker + (package + (name "skymaker") + (version "3.10.5") + (source + (origin + (method url-fetch) + (uri (string-append "https://www.astromatic.net/download/skymaker/" + "skymaker-" version ".tar.gz")) + (sha256 + (base32 "03zvx7c89plp9559niqv5532r233kza3ir992rg3nxjksqmrqvx1")))) + (build-system gnu-build-system) + (arguments + `(#:configure-flags + (list + (string-append + "--with-fftw-libdir=" (assoc-ref %build-inputs "fftw") "/lib") + (string-append + "--with-fftw-incdir=" (assoc-ref %build-inputs "fftw") "/include")))) + (inputs + `(("fftw" ,fftwf))) + (home-page "https://www.astromatic.net/software/skymaker") + (synopsis "Astronomical image simulator") + (description + "SkyMaker is a program that simulates astronomical images. It accepts +object lists in ASCII generated by the Stuff program to produce realistic +astronomical fields. SkyMaker is part of the EFIGI +(@url{https://www.astromatic.net/projects/efigi}) development project.") + (license license:gpl3+))) + (define-public stellarium (package (name "stellarium") @@ -251,6 +328,46 @@ can be used to control telescopes over a serial port for tracking celestial objects.") (license license:gpl2+))) +(define-public stuff + (package + (name "stuff") + (version "1.26.0") + (source + (origin + (method url-fetch) + (uri (string-append "https://www.astromatic.net/download/stuff/" + "stuff-" version ".tar.gz")) + (sha256 + (base32 "1syibi3b86z9pikhicvkkmgxm916j732fdiw0agw0lq6z13fdcjm")))) + (build-system gnu-build-system) + (home-page "https://www.astromatic.net/software/stuff") + (synopsis "Astronomical catalogue simulation") + (description + "Stuff is a program that simulates \"perfect\" astronomical catalogues. +It generates object lists in ASCII which can read by the SkyMaker program to +produce realistic astronomical fields. Stuff is part of the EFIGI development +project.") + (license license:gpl3+))) + +(define-public swarp + (package + (name "swarp") + (version "2.38.0") + (source + (origin + (method url-fetch) + (uri (string-append "https://www.astromatic.net/download/swarp/" + "swarp-" version ".tar.gz")) + (sha256 + (base32 "1i670waqp54vin1cn08mqckcggm9zqd69nk7yya2vvqpdizn6jpm")))) + (build-system gnu-build-system) + (home-page "https://www.astromatic.net/software/swarp") + (synopsis "FITS image resampling and co-addition") + (description + "SWarp is a program that resamples and co-adds together FITS images using +any arbitrary astrometric projection defined in the WCS standard.") + (license license:gpl3+))) + (define-public celestia (let ((commit "9dbdf29c4ac3d20afb2d9a80d3dff241ecf81dce")) (package @@ -396,6 +513,33 @@ standard astronomy libraries: @end itemize\n") (license license:gpl2+)))) +(define-public missfits + (package + (name "missfits") + (version "2.8.0") + (source + (origin + (method url-fetch) + (uri (string-append "https://www.astromatic.net/download/missfits/" + "missfits-" version ".tar.gz")) + (sha256 + (base32 "04jrd7fsvzr14vdmwgj2f6v97gdcfyjyz6jppml3ghr9xh12jxv5")))) + (build-system gnu-build-system) + (home-page "https://www.astromatic.net/software/missfits") + (synopsis "FITS files Maintenance program") + (description + "MissFITS is a program that performs basic maintenance and packaging tasks +on FITS files: + +@itemize +@item add/edit FITS header keywords +@item split/join Multi-Extension-FITS (MEF) files +@item unpack/pack FITS data-cubes +@item create/check/update FITS checksums, using R. Seaman's protocol + (see http://www.adass.org/adass/proceedings/adass94/seamanr.html) +@end itemize\n") + (license license:gpl3+))) + (define-public xplanet (package (name "xplanet") @@ -488,3 +632,63 @@ Gpredict can also predict the time of future passes for a satellite, and provide you with detailed information about each pass.") (home-page "http://gpredict.oz9aec.net/index.php") (license license:gpl2+))) + +(define-public indi + (package + (name "indi") + (version "1.8.8") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/indilib/indi") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "19gm7rbnm3295g2i8mdzfslpz0vrcgfmbl59311qpszvlxbmyd2r")))) + (build-system cmake-build-system) + (arguments + `(#:configure-flags + (let ((out (assoc-ref %outputs "out"))) + (list + "-DINDI_BUILD_UNITTESTS=ON" + "-DCMAKE_BUILD_TYPE=Release" + (string-append "-DCMAKE_INSTALL_PREFIX=" out) + (string-append "-DUDEVRULES_INSTALL_DIR=" out "/lib/udev/rules.d"))) + #:phases + (modify-phases %standard-phases + (replace 'check + (lambda _ + (chdir "test") + (invoke "ctest") + (chdir "..") + #t)) + (add-before 'install 'set-install-directories + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (mkdir-p (string-append out "/lib/udev/rules.d"))) + #t))))) + (native-inputs + `(("googletest" ,googletest))) + (inputs + `(("cfitsio" ,cfitsio) + ("curl" ,curl) + ("fftw" ,fftw) + ("gsl" ,gsl) + ("libjpeg-turbo" ,libjpeg-turbo) + ("libnova" ,libnova) + ("libtiff" ,libtiff) + ("libusb" ,libusb) + ("zlib" ,zlib))) + (home-page "https://www.indilib.org") + (synopsis "Library for astronimical intrumentation control") + (description + "INDI (Instrument-Neutral Device Interface) is a distributed XML-based +control protocol designed to operate astronomical instrumentation. INDI is +small, flexible, easy to parse, scalable, and stateless. It supports common +DCS functions such as remote control, data acquisition, monitoring, and a lot +more.") + (license (list license:bsd-3 + license:gpl2+ + license:lgpl2.0+ + license:lgpl2.1+)))) diff --git a/gnu/packages/autotools.scm b/gnu/packages/autotools.scm index 6074379c46..09f4bf4122 100644 --- a/gnu/packages/autotools.scm +++ b/gnu/packages/autotools.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org> -;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2020 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2020, 2021 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2015 Mathieu Lirzin <mthl@openmailbox.org> ;;; Copyright © 2014 Manolis Fragkiskos Ragkousis <manolis837@gmail.com> ;;; Copyright © 2015, 2017, 2018 Mark H Weaver <mhw@netris.org> @@ -105,10 +105,11 @@ scripts are self-contained and portable, freeing the user from needing to know anything about Autoconf or M4.") (license gpl3+))) ; some files are under GPLv2+ -(define-public autoconf-2.70 +;; This is the renaissance version, which is not widely supported yet. +(define-public autoconf-2.71 (package (inherit autoconf-2.69) - (version "2.70") + (version "2.71") (source (origin (method url-fetch) @@ -116,7 +117,7 @@ know anything about Autoconf or M4.") version ".tar.xz")) (sha256 (base32 - "1ipckz0wr2mvhj9n3ys54fmf2aksin6bhqvzl304bn6rc1w257ps")))) + "197sl23irn6s9pd54rxj5vcp5y8dv65jb9yfqgr2g56cxg7q6k7i")))) (arguments (substitute-keyword-arguments (package-arguments autoconf-2.69) ((#:tests? _ #f) diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm index ce6ea7fd49..78c5b31bb5 100644 --- a/gnu/packages/backup.scm +++ b/gnu/packages/backup.scm @@ -1008,7 +1008,7 @@ is format-agnostic, so you can feed virtually any files to it.") (define-public dump (package (name "dump") - (version "0.4b46") + (version "0.4b47") (source (origin (method url-fetch) @@ -1016,7 +1016,7 @@ is format-agnostic, so you can feed virtually any files to it.") version "/dump-" version ".tar.gz")) (sha256 (base32 - "15rg5y15ak0ppqlhcih78layvg7cwp6hc16p3c58xs8svlkxjqc0")))) + "1l2gzzxyqhinx1yqvj4yn9k8vx3iyqi1965dxf9kvvdv9zgaq8fh")))) (build-system gnu-build-system) (arguments `(#:configure-flags @@ -1026,7 +1026,7 @@ is format-agnostic, so you can feed virtually any files to it.") (native-inputs `(("pkg-config" ,pkg-config))) (inputs - `(("openssl" ,openssl-1.0) + `(("openssl" ,openssl) ("zlib" ,zlib) ("util-linux" ,util-linux "lib") ("e2fsprogs" ,e2fsprogs))) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 8514306f94..39611d23f4 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ricardo Wurmus <rekado@elephly.net> +;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2015, 2016, 2017, 2018 Ben Woodcroft <donttrustben@gmail.com> ;;; Copyright © 2015, 2016, 2018, 2019, 2020 Pjotr Prins <pjotr.guix@thebird.nl> ;;; Copyright © 2015 Andreas Enge <andreas@enge.fr> @@ -2822,6 +2822,86 @@ sequencing data. It uses paired-ends and split-reads to sensitively and accurately delineate genomic rearrangements throughout the genome.") (license license:gpl3+))) +(define-public trf + (package + (name "trf") + (version "4.09.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Benson-Genomics-Lab/TRF") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0fhwr4s1mf8nw8fr5imwjvjr42b59p97zr961ifm8xl1bajz4wpg")))) + (build-system gnu-build-system) + (home-page "https://github.com/Benson-Genomics-Lab/TRF") + (synopsis "Tandem Repeats Finder: a program to analyze DNA sequences") + (description "A tandem repeat in DNA is two or more adjacent, approximate +copies of a pattern of nucleotides. Tandem Repeats Finder is a program to +locate and display tandem repeats in DNA sequences. In order to use the +program, the user submits a sequence in FASTA format. The output consists of +two files: a repeat table file and an alignment file. Submitted sequences may +be of arbitrary length. Repeats with pattern size in the range from 1 to 2000 +bases are detected.") + (license license:agpl3+))) + +(define-public repeat-masker + (package + (name "repeat-masker") + (version "4.1.1") + (source (origin + (method url-fetch) + (uri (string-append "http://www.repeatmasker.org/" + "RepeatMasker/RepeatMasker-" + version ".tar.gz")) + (sha256 + (base32 "03144sl9kh5ni2i33phi7x2pjndzbm5bjw3r4kqvmm6hxyb4k4x2")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #false ; there are none + #:phases + (modify-phases %standard-phases + (delete 'configure) + (replace 'build + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((share (string-append (assoc-ref outputs "out") + "/share/RepeatMasker"))) + (mkdir-p share) + (copy-recursively "." share) + (with-directory-excursion share + (invoke "perl" "configure" + "--trf_prgm" (which "trf") + "--hmmer_dir" + (string-append (assoc-ref inputs "hmmer") + "/bin")))))) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (share (string-append out "/share/RepeatMasker")) + (bin (string-append out "/bin")) + (path (getenv "PERL5LIB"))) + (install-file (string-append share "/RepeatMasker") bin) + (wrap-program (string-append bin "/RepeatMasker") + `("PERL5LIB" ":" prefix (,path ,share))))))))) + (inputs + `(("perl" ,perl) + ("perl-text-soundex" ,perl-text-soundex) + ("python" ,python) + ("python-h5py" ,python-h5py) + ("hmmer" ,hmmer) + ("trf" ,trf))) + (home-page "https://github.com/Benson-Genomics-Lab/TRF") + (synopsis "Tandem Repeats Finder: a program to analyze DNA sequences") + (description "A tandem repeat in DNA is two or more adjacent, approximate +copies of a pattern of nucleotides. Tandem Repeats Finder is a program to +locate and display tandem repeats in DNA sequences. In order to use the +program, the user submits a sequence in FASTA format. The output consists of +two files: a repeat table file and an alignment file. Submitted sequences may +be of arbitrary length. Repeats with pattern size in the range from 1 to 2000 +bases are detected.") + (license license:osl2.1))) + (define-public diamond (package (name "diamond") @@ -7189,6 +7269,45 @@ between two different types of motif instances using as much relevant information as possible.") (license (list license:gpl2+ license:gpl3+)))) +(define-public r-demultiplex + (let ((commit "6e2a1422c8e6f418cfb271997eebc91f9195f299") + (revision "1")) + (package + (name "r-demultiplex") + (version (git-version "1.0.2" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/chris-mcginnis-ucsf/MULTI-seq") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "01kv88wp8vdaq07sjk0d3d1cb553mq1xqg0war81pgmg63bgi38w")))) + (properties `((upstream-name . "deMULTIplex"))) + (build-system r-build-system) + (propagated-inputs + `(("r-kernsmooth" ,r-kernsmooth) + ("r-reshape2" ,r-reshape2) + ("r-rtsne" ,r-rtsne) + ("r-shortread" ,r-shortread) + ("r-stringdist" ,r-stringdist))) + (home-page "https://github.com/chris-mcginnis-ucsf/MULTI-seq") + (synopsis "MULTI-seq pre-processing and classification tools") + (description + "deMULTIplex is an R package for analyzing single-cell RNA sequencing +data generated with the MULTI-seq sample multiplexing method. The package +includes software to + +@enumerate +@item Convert raw MULTI-seq sample barcode library FASTQs into a sample + barcode UMI count matrix, and +@item Classify cell barcodes into sample barcode groups. +@end enumerate +") + (license license:cc0)))) + (define-public r-genefilter (package (name "r-genefilter") @@ -15090,18 +15209,18 @@ library automatically handles index file generation and use.") (let* ((out (assoc-ref outputs "out")) (pkgconfig (string-append out "/lib/pkgconfig"))) (mkdir-p pkgconfig) - (with-output-to-file (string-append pkgconfig "/libvcflib.pc") + (with-output-to-file (string-append pkgconfig "/vcflib.pc") (lambda _ (format #t "prefix=~a~@ exec_prefix=${prefix}~@ libdir=${exec_prefix}/lib~@ includedir=${prefix}/include~@ ~@ - Name: libvcflib~@ + Name: vcflib~@ Version: ~a~@ - Requires: smithwaterman, fastahack~@ + Requires: smithwaterman, fastahack, tabixpp~@ Description: C++ library for parsing and manipulating VCF files~@ - Libs: -L${libdir} -llibvcflib~@ + Libs: -L${libdir} -lvcflib~@ Cflags: -I${includedir}~%" out ,version))) #t)))))) @@ -15488,44 +15607,3 @@ biological processes. SBML is useful for models of metabolism, cell signaling, and more. It continues to be evolved and expanded by an international community.") (license license:lgpl2.1+))) - -(define-public grocsvs - ;; The last release is out of date and new features have been added. - (let ((commit "ecd956a65093a0b2c41849050e4512d46fecea5d") - (revision "1")) - (package - (name "grocsvs") - (version (git-version "0.2.6.1" revision commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/grocsvs/grocsvs") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 "14505725gr7qxc17cxxf0k6lzcwmgi64pija4mwf29aw70qn35cc")) - (patches (search-patches "grocsvs-dont-use-admiral.patch")))) - (build-system python-build-system) - (arguments - `(#:tests? #f ; No test suite. - #:python ,python-2)) ; Only python-2 supported. - (inputs - `(("python2-h5py" ,python2-h5py) - ("python2-ipython-cluster-helper" ,python2-ipython-cluster-helper) - ("python2-networkx" ,python2-networkx) - ("python2-psutil" ,python2-psutil) - ("python2-pandas" ,python2-pandas) - ("python2-pybedtools" ,python2-pybedtools) - ("python2-pyfaidx" ,python2-pyfaidx) - ("python2-pygraphviz" ,python2-pygraphviz) - ("python2-pysam" ,python2-pysam) - ("python2-scipy" ,python2-scipy))) - (home-page "https://github.com/grocsvs/grocsvs") - (synopsis "Genome-wide reconstruction of complex structural variants") - (description - "@dfn{Genome-wide Reconstruction of Complex Structural Variants} -(GROC-SVs) is a software pipeline for identifying large-scale structural -variants, performing sequence assembly at the breakpoints, and reconstructing -the complex structural variants using the long-fragment information from the -10x Genomics platform.") - (license license:expat)))) diff --git a/gnu/packages/bittorrent.scm b/gnu/packages/bittorrent.scm index 08e61d7ba2..29b0d62ad2 100644 --- a/gnu/packages/bittorrent.scm +++ b/gnu/packages/bittorrent.scm @@ -55,6 +55,7 @@ #:use-module (gnu packages ncurses) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) + #:use-module (gnu packages python-build) #:use-module (gnu packages python-crypto) #:use-module (gnu packages python-web) #:use-module (gnu packages python-xyz) diff --git a/gnu/packages/browser-extensions.scm b/gnu/packages/browser-extensions.scm index 10b8304eb6..3824dc7f72 100644 --- a/gnu/packages/browser-extensions.scm +++ b/gnu/packages/browser-extensions.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2020 Marius Bakke <marius@gnu.org> +;;; Copyright © 2020, 2021 Marius Bakke <marius@gnu.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -49,7 +49,7 @@ supported content to the Kodi media center.") (make-chromium-extension play-to-kodi)) (define uassets - (let ((commit "8e79f25fceb7c27960753de6f4d21491257741ab")) + (let ((commit "a5b1e3cae3e63435caa03940eff549133e524970")) (origin (method git-fetch) (uri (git-reference @@ -58,12 +58,12 @@ supported content to the Kodi media center.") (file-name (git-file-name "uAssets" (string-take commit 9))) (sha256 (base32 - "19ymyv6qpmmyw4lnpx6adm6mzf8ygfj0c9ljw24wl239v9vzn46w"))))) + "1qjq9x6qb07x4iyha3zzwjcgr0p54c2pdadvcp2kj7h34vjlpksj"))))) (define ublock-origin (package (name "ublock-origin") - (version "1.32.4") + (version "1.33.0") (home-page "https://github.com/gorhill/uBlock") (source (origin (method git-fetch) @@ -71,7 +71,7 @@ supported content to the Kodi media center.") (file-name (git-file-name name version)) (sha256 (base32 - "0v5phzsrav1z0gd7rirmsy7k500xhibw73ffk61754hkqd0l635v")))) + "1indr8p4imljgc1d5vyn48cbpzy9ygqmkk4q07czlrhcrz7hb4nx")))) (build-system gnu-build-system) (outputs '("xpi" "firefox" "chromium")) (arguments diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm index d9a1fb3acf..7163086ae0 100644 --- a/gnu/packages/check.scm +++ b/gnu/packages/check.scm @@ -67,6 +67,7 @@ #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) + #:use-module (gnu packages python-build) #:use-module (gnu packages python-web) #:use-module (gnu packages python-xyz) #:use-module (gnu packages time) @@ -1404,9 +1405,6 @@ subprocess and see the output as well as any file modifications.") "This package is only for bootstrapping. Do not use this.") (license license:psfl))) -(define-public python2-testtools-bootstrap - (package-with-python2 python-testtools-bootstrap)) - (define-public python-testtools (package (inherit python-testtools-bootstrap) @@ -1432,9 +1430,6 @@ subprocess and see the output as well as any file modifications.") provide matchers, more debugging information, and cross-Python compatibility."))) -(define-public python2-testtools - (package-with-python2 python-testtools)) - (define-public python-testscenarios-bootstrap (package (name "python-testscenarios-bootstrap") @@ -1462,9 +1457,6 @@ compatibility."))) "This package is only for bootstrapping. Don't use this.") (license (list license:bsd-3 license:asl2.0)))) ; at the user's option -(define-public python2-testscenarios-bootstrap - (package-with-python2 python-testscenarios-bootstrap)) - (define-public python-testscenarios (package (inherit python-testscenarios-bootstrap) @@ -1476,9 +1468,6 @@ compatibility."))) "Testscenarios provides clean dependency injection for Python unittest style tests."))) -(define-public python2-testscenarios - (package-with-python2 python-testscenarios)) - ;; Testresources requires python-pbr at runtime, but pbr needs it for its ;; own tests. Hence this bootstrap variant. (define-public python-testresources-bootstrap @@ -1503,9 +1492,6 @@ style tests."))) testresources package instead.") (license (list license:bsd-3 license:asl2.0)))) ; at the user's option -(define-public python2-testresources-bootstrap - (package-with-python2 python-testresources-bootstrap)) - (define-public python-testresources (package (inherit python-testresources-bootstrap) @@ -1520,9 +1506,6 @@ testresources package instead.") "Testresources is an extension to Python's unittest to allow declarative use of resources by test cases."))) -(define-public python2-testresources - (package-with-python2 python-testresources)) - (define-public python-subunit-bootstrap (package (name "python-subunit-bootstrap") @@ -1549,9 +1532,6 @@ use of resources by test cases."))) python-subunit package instead.") (license (list license:bsd-3 license:asl2.0)))) ; at the user's option -(define-public python2-subunit-bootstrap - (package-with-python2 python-subunit-bootstrap)) - (define-public python-subunit (package (inherit python-subunit-bootstrap) @@ -1567,9 +1547,6 @@ python-subunit package instead.") "Python-subunit is a Python implementation of the subunit test streaming protocol."))) -(define-public python2-subunit - (package-with-python2 python-subunit)) - ;; Fixtures requires python-pbr at runtime, but pbr uses fixtures for its ;; own tests. Hence this bootstrap variant. (define-public python-fixtures-bootstrap @@ -1594,9 +1571,6 @@ protocol."))) python-fixtures package instead.") (license (list license:bsd-3 license:asl2.0)))) ; at user's option -(define-public python2-fixtures-bootstrap - (package-with-python2 python-fixtures-bootstrap)) - (define-public python-fixtures (package (inherit python-fixtures-bootstrap) @@ -1619,9 +1593,6 @@ python-fixtures package instead.") "Fixtures provides a way to create reusable state, useful when writing Python tests."))) -(define-public python2-fixtures - (package-with-python2 python-fixtures)) - (define-public python-testrepository-bootstrap (package (name "python-testrepository-bootstrap") @@ -1647,9 +1618,6 @@ Python tests."))) "Bootstrap package for python-testrepository. Don't use this.") (license (list license:bsd-3 license:asl2.0)))) ; at user's option -(define-public python2-testrepository-bootstrap - (package-with-python2 python-testrepository-bootstrap)) - (define-public python-testrepository (package (inherit python-testrepository-bootstrap) @@ -1667,9 +1635,6 @@ Python tests."))) be used as part of a developer's workflow to check things such as what tests have failed since the last commit or what tests are currently failing."))) -(define-public python2-testrepository - (package-with-python2 python-testrepository)) - (define-public python-coverage (package (name "python-coverage") @@ -2198,51 +2163,8 @@ Pylint has many rules enabled by default, way too much to silence them all on a minimally sized program. It's highly configurable and handle pragmas to control it from within your code. Additionally, it is possible to write plugins to add your own checks.") - (properties `((python2-variant . ,(delay python2-pylint)))) (license license:gpl2+))) -;; Python2 is not supported anymore by Pylint. See: -;; https://github.com/PyCQA/pylint/issues/1763. -(define-public python2-pylint - (let ((pylint (package-with-python2 - (strip-python2-variant python-pylint)))) - (package (inherit pylint) - (version "1.9.5") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/PyCQA/pylint") - (commit (string-append "pylint-" version)))) - (file-name (git-file-name (package-name pylint) version)) - (sha256 - (base32 - "02a89d8a47s7nfiv1ady3j0sg2sbyja3np145brarfp5x9qxz9x2")))) - (arguments - `(,@(strip-keyword-arguments '(#:tests?) (package-arguments pylint)) - #:phases - (modify-phases %standard-phases - (replace 'check - (lambda _ - ;; Somehow, tests fail if run from the build directory. - (let ((work "/tmp/work")) - (mkdir-p work) - (setenv "PYTHONPATH" - (string-append (getenv "PYTHONPATH") ":" work)) - (copy-recursively "." work) - (with-directory-excursion "/tmp" - (invoke "python" "-m" "unittest" "discover" - "-s" (string-append work "/pylint/test") - "-p" "*test_*.py")))))))) - (native-inputs - `(("python2-futures" ,python2-futures) - ,@(package-native-inputs pylint))) - (propagated-inputs - `(("python2-backports-functools-lru-cache" - ,python2-backports-functools-lru-cache) - ("python2-configparser" ,python2-configparser) - ,@(package-propagated-inputs pylint)))))) - (define-public python-paramunittest (package (name "python-paramunittest") @@ -2471,9 +2393,6 @@ tests written in a natural language style, backed up by Python code.") JSON APIs with Behave.") (license license:expat))) -(define-public python2-behave-web-api - (package-with-python2 python-behave-web-api)) - (define-public python-rednose (package (name "python-rednose") diff --git a/gnu/packages/chemistry.scm b/gnu/packages/chemistry.scm index ddbf5ca098..4b0e719959 100644 --- a/gnu/packages/chemistry.scm +++ b/gnu/packages/chemistry.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2018 Konrad Hinsen <konrad.hinsen@fastmail.net> -;;; Copyright © 2018 Kei Kebreau <kkebreau@posteo.net> +;;; Copyright © 2018, 2021 Kei Kebreau <kkebreau@posteo.net> ;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2020 Björn Höfling <bjoern.hoefling@bjoernhoefling.de> @@ -29,6 +29,8 @@ #:use-module (guix git-download) #:use-module (gnu packages) #:use-module (gnu packages algebra) + #:use-module (gnu packages autotools) + #:use-module (gnu packages backup) #:use-module (gnu packages boost) #:use-module (gnu packages check) #:use-module (gnu packages compression) @@ -43,96 +45,89 @@ #:use-module (gnu packages python) #:use-module (gnu packages python-xyz) #:use-module (gnu packages qt) + #:use-module (gnu packages serialization) #:use-module (gnu packages sphinx) #:use-module (gnu packages xml) #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) #:use-module (guix build-system python)) -(define-public avogadro +(define-public avogadrolibs (package - (name "avogadro") - (version "1.2.0") + (name "avogadrolibs") + (version "1.93.0") (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/cryos/avogadro") + (url "https://github.com/OpenChemistry/avogadrolibs") (commit version))) (sha256 - (base32 "0258py3lkba85qhs5ynancinyym61vlp0zaq9yrfs3hhnhpzv9n2")) - (file-name (git-file-name name version)) - (patches - (search-patches "avogadro-eigen3-update.patch" - "avogadro-python-eigen-lib.patch" - "avogadro-boost148.patch")))) + (base32 "1xivga626n5acnmwmym8svl0pdri8hkp59czf04ri2zflnviyh39")) + (file-name (git-file-name name version)))) (build-system cmake-build-system) + (native-inputs + `(("eigen" ,eigen) + ("mmtf-cpp" ,mmtf-cpp) + ("msgpack" ,msgpack) + ("googletest" ,googletest) + ("pkg-config" ,pkg-config) + ("pybind11" ,pybind11))) + (inputs + `(("glew" ,glew) + ("libarchive" ,libarchive) + ("libmsym" ,libmsym) + ("molequeue" ,molequeue) + ("python" ,python) + ("spglib" ,spglib) + ("qtbase" ,qtbase))) (arguments - `(#:tests? #f - #:configure-flags - (list "-DENABLE_GLSL=ON" - (string-append "-DPYTHON_LIBRARIES=" - (assoc-ref %build-inputs "python") - "/lib") - (string-append "-DPYTHON_INCLUDE_DIRS=" - (assoc-ref %build-inputs "python") - "/include/python" - ,(version-major+minor - (package-version python)))) - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'patch-python-lib-path - (lambda* (#:key outputs #:allow-other-keys) - ;; This is necessary to install the Python module in the correct - ;; directory. - (substitute* "libavogadro/src/python/CMakeLists.txt" - (("^EXECUTE_PROCESS.*$") "") - (("^.*from sys import stdout.*$") "") - (("^.*OUTPUT_VARIABLE.*") - (string-append "set(PYTHON_LIB_PATH \"" - (assoc-ref outputs "out") - "/lib/python" - ,(version-major+minor - (package-version python)) - "/site-packages\")"))) - #t)) - (add-after 'install 'wrap-program - (lambda* (#:key inputs outputs #:allow-other-keys) - ;; Make sure 'avogadro' runs with the correct PYTHONPATH. - (let* ((out (assoc-ref outputs "out"))) - (setenv "PYTHONPATH" - (string-append - (assoc-ref outputs "out") - "/lib/python" - ,(version-major+minor - (package-version python)) - "/site-packages:" - (getenv "PYTHONPATH"))) - (wrap-program (string-append out "/bin/avogadro") - `("PYTHONPATH" ":" prefix (,(getenv "PYTHONPATH"))))) - #t))))) + '(#:configure-flags (list "-DENABLE_TESTING=ON" + (string-append "-DSPGLIB_INCLUDE_DIR=" + (assoc-ref %build-inputs "spglib") + "/include")))) + (home-page "https://www.openchemistry.org/projects/avogadro2/") + (synopsis "Libraries for chemistry, bioinformatics, and related areas") + (description + "Avogadro libraries provide 3D rendering, visualization, analysis and data +processing useful in computational chemistry, molecular modeling, +bioinformatics, materials science, and related areas.") + (license license:bsd-3))) + +(define-public avogadro2 + (package + (name "avogadro2") + (version "1.93.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/OpenChemistry/avogadroapp") + (commit version))) + (sha256 + (base32 + "1z3pjlwja778a1dmvx9aqz2hlw5q9g3kqxhm9slz08452600jsv7")) + (file-name (git-file-name name version)))) + (build-system cmake-build-system) (native-inputs - `(("doxygen" ,doxygen) + `(("eigen" ,eigen) ("pkg-config" ,pkg-config))) (inputs - `(("boost" ,boost) - ("eigen" ,eigen) - ("glew" ,glew) - ("openbabel" ,openbabel) - ("python" ,python-2) - ("python-numpy" ,python2-numpy) - ("python-pyqt" ,python2-pyqt-4) - ("python-sip" ,python2-sip) - ("qt" ,qt-4) - ("zlib" ,zlib))) - (home-page "https://avogadro.cc") + `(("avogadrolibs" ,avogadrolibs) + ("hdf5" ,hdf5) + ("molequeue" ,molequeue) + ("qtbase" ,qtbase))) + ;; TODO: Enable tests with "-DENABLE_TESTING" configure flag. + (arguments + '(#:tests? #f)) + (home-page "https://www.openchemistry.org/projects/avogadro2/") (synopsis "Advanced molecule editor") (description - "Avogadro is an advanced molecule editor and visualizer designed for use + "Avogadro 2 is an advanced molecule editor and visualizer designed for use in computational chemistry, molecular modeling, bioinformatics, materials science, and related areas. It offers flexible high quality rendering and a powerful plugin architecture.") - (license license:gpl2+))) + (license license:bsd-3))) (define-public domainfinder (package @@ -166,15 +161,16 @@ only with Python 2 and NumPy < 1.9.") (define-public inchi (package (name "inchi") - (version "1.05") + ;; Update the inchi-doc native input when updating inchi. + (version "1.06") (source (origin (method url-fetch) - (uri (string-append "http://www.inchi-trust.org/download/" + (uri (string-append "https://www.inchi-trust.org/download/" (string-join (string-split version #\.) "") "/INCHI-1-SRC.zip")) (sha256 (base32 - "081pcjx1z5jm23fs1pl2r3bccia0ww8wfkzcjpb7byhn7b513hsa")) + "1zbygqn0443p0gxwr4kx3m1bkqaj8x9hrpch3s41py7jq08f6x28")) (file-name (string-append name "-" version ".zip")))) (build-system gnu-build-system) (arguments @@ -227,7 +223,7 @@ only with Python 2 and NumPy < 1.9.") "/INCHI-1-DOC.zip")) (sha256 (base32 - "1id1qb2y4lwsiw91qr2yqpn6kxbwjwhjk0hb2rwk4fxhdqib6da6")) + "1kyda09i9p89xfq90ninwi7w13k1w3ljpl4gqdhpfhi5g8fgxx7f")) (file-name (string-append name "-" version ".zip")))))) (home-page "https://www.inchi-trust.org") (synopsis "Utility for manipulating machine-readable chemical structures") @@ -241,6 +237,103 @@ analogy is that InChI is the bar-code for chemistry and chemical structures.") "file://LICENCE" "See LICENCE in the distribution.")))) +(define-public libmsym + (package + (name "libmsym") + (version "0.2.3") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/mcodev31/libmsym") + (commit (string-append "v" version)))) + (sha256 + (base32 + "0a9j28irdsr461qpzlc9z1yjyb9kp64fh5zw7ylspc9zn3189qwk")) + (file-name (git-file-name name version)))) + (build-system cmake-build-system) + (arguments + '(#:configure-flags '("-DBUILD_SHARED_LIBS=ON") + #:tests? #f)) ; no check target + (home-page "https://github.com/mcodev31/libmsym") + (synopsis "C library dealing with point group symmetry in molecules") + (description "libmsym is a C library dealing with point group symmetry in +molecules.") + (license license:expat))) + +(define-public mmtf-cpp + (package + (name "mmtf-cpp") + (version "1.0.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/rcsb/mmtf-cpp") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "17ylramda69plf5w0v5hxbl4ggkdi5s15z55cv0pljl12yvyva8l")))) + (build-system cmake-build-system) + ;; Tests require the soon-to-be-deprecated version 1 of the catch-framework. + (arguments + '(#:tests? #f)) + (home-page "https://mmtf.rcsb.org/") + (synopsis "C++ API for the Macromolecular Transmission Format") + (description "This package is a library for the +@acronym{MMTF,macromolecular transmission format}, a binary encoding of +biological structures.") + (license license:expat))) + +(define-public molequeue + (package + (name "molequeue") + (version "0.9.0") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/OpenChemistry/molequeue/" + "releases/download/" version "/molequeue-" + version ".tar.bz2")) + (sha256 + (base32 + "1w1fgxzqrb5yxvpmnc3c9ymnvixy0z1nfafkd9whg9zw8nbgl998")))) + (build-system cmake-build-system) + (inputs + `(("qtbase" ,qtbase))) + (arguments + '(#:configure-flags '("-DENABLE_TESTING=ON") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-tests + (lambda _ + ;; TODO: Fix/enable the failing message and clientserver tests. + ;; In the message test, the floating-point value "5.36893473232" on + ;; line 165 of molequeue/app/testing/messagetest.cpp should + ;; (apparently) be truncated, but it is not. + (substitute* "molequeue/app/testing/messagetest.cpp" + (("5\\.36893473232") "5.36893")) + ;; It is unclear why the clientserver test fails, so it is + ;; completely disabled. + (substitute* "molequeue/app/testing/CMakeLists.txt" + ((".*clientserver.*") "")) + #t)) + (add-before 'check 'set-display + (lambda _ + ;; Make Qt render "offscreen" for the sake of tests. + (setenv "QT_QPA_PLATFORM" "offscreen") + #t))))) + (home-page "https://www.openchemistry.org/projects/molequeue/") + (synopsis "Application for coordinating computational jobs") + (description "MoleQueue is a system-tray resident desktop application for +abstracting, managing, and coordinating the execution of tasks both locally and + on remote computational resources. Users can set up local and remote queues +that describe where the task will be executed. Each queue can have programs, +with templates to facilitate the execution of the program. Input files can be +staged, and output files collected using a standard interface.") + (license license:bsd-3))) + (define with-numpy-1.8 (package-input-rewriting `((,python2-numpy . ,python2-numpy-1.8)))) @@ -429,19 +522,23 @@ usual algorithms you expect from a modern molecular dynamics implementation.") (define-public openbabel (package (name "openbabel") - (version "2.4.1") + (version "3.1.1") (source (origin (method url-fetch) - (uri (string-append "mirror://sourceforge/" name "/" name "/" - version "/" name "-" version ".tar.gz")) + (uri (string-append "https://github.com/openbabel/openbabel/" + "releases/download/openbabel-" + (string-replace-substring version "." "-") + "/openbabel-" version "-source.tar.bz2")) (sha256 (base32 - "1z3d6xm70dpfikhwdnbzc66j2l49vq105ch041wivrfz5ic3ch90")) - (patches - (search-patches "openbabel-fix-crash-on-nwchem-output.patch")))) + "0s0f4zib8vshfaywsr5bjjz55jwsg6yiz2qw4i5jm8wysn0q7v56")))) (build-system cmake-build-system) (arguments - `(#:configure-flags + `(;; FIXME: Disable tests on i686 to work around + ;; https://github.com/openbabel/openbabel/issues/2041. + #:tests? ,(or (%current-target-system) + (not (string=? "i686-linux" (%current-system)))) + #:configure-flags (list "-DOPENBABEL_USE_SYSTEM_INCHI=ON" (string-append "-DINCHI_LIBRARY=" (assoc-ref %build-inputs "inchi") @@ -464,3 +561,49 @@ chemical data. It's a collaborative project allowing anyone to search, convert, analyze, or store data from molecular modeling, chemistry, solid-state materials, biochemistry, or related areas.") (license license:gpl2))) + +(define-public spglib + (package + (name "spglib") + (version "1.16.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/spglib/spglib") + (commit (string-append "v" version)))) + (sha256 + (base32 "1kzc956m1pnazhz52vspqridlw72wd8x5l3dsilpdxl491aa2nws")) + (file-name (git-file-name name version)))) + (build-system cmake-build-system) + (arguments + '(#:test-target "check" + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-header-install-dir + (lambda _ + ;; As of the writing of this package, CMake and GNU build systems + ;; install the header to two different location. This patch makes + ;; the CMake build system's choice of header directory compatible + ;; with the GNU build system's choice and with what avogadrolibs + ;; expects. + ;; See https://github.com/spglib/spglib/issues/75 and the relevant + ;; part of https://github.com/OpenChemistry/avogadroapp/issues/97. + (substitute* "CMakeLists.txt" + (("\\$\\{CMAKE_INSTALL_INCLUDEDIR\\}" include-dir) + (string-append include-dir "/spglib"))) + #t))))) + (home-page "https://spglib.github.io/spglib/index.html") + (synopsis "Library for crystal symmetry search") + (description "Spglib is a library for finding and handling crystal +symmetries written in C. Spglib can be used to: + +@enumerate +@item Find symmetry operations +@item Identify space-group type +@item Wyckoff position assignment +@item Refine crystal structure +@item Find a primitive cell +@item Search irreducible k-points +@end enumerate") + (license license:bsd-3))) diff --git a/gnu/packages/chromium.scm b/gnu/packages/chromium.scm index a994b387bb..0b8f55ff02 100644 --- a/gnu/packages/chromium.scm +++ b/gnu/packages/chromium.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2019, 2020 Marius Bakke <mbakke@fastmail.com> +;;; Copyright © 2019, 2020, 2021 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2019 Alex Griffin <a@ajgrf.com> ;;; ;;; This file is part of GNU Guix. @@ -160,6 +160,7 @@ "third_party/dom_distiller_js" ;BSD-3 "third_party/emoji-segmenter" ;ASL2.0 "third_party/flatbuffers" ;ASL2.0 + "third_party/fusejs" ;ASL2.0 "third_party/glslang" ;BSD-3, Expat, ASL2.0 "third_party/google_input_tools" ;ASL2.0 "third_party/google_input_tools/third_party/closure_library" ;ASL2.0 @@ -277,6 +278,13 @@ "third_party/woff2" ;ASL2.0 "third_party/xcbproto" ;X11 "third_party/xdg-utils" ;Expat + + ;; These are forked components of the X11 keybinding code. + "third_party/libxcb-keysyms" ;X11 + "third_party/libx11/src/KeyBind.c" ;X11 + "third_party/libx11/src/xkb/XKBBind.c" ;X11 + "third_party/x11proto/keysymdef.h" ;X11 + "third_party/zlib/google" ;BSD-3 "third_party/zxcvbn-cpp" ;Expat "url/third_party/mozilla" ;BSD-3, MPL1.1/GPL2+/LGPL2.1+ @@ -302,8 +310,8 @@ (string-append "ungoogled-chromium-" category "-" name)))) (sha256 (base32 hash)))) -(define %chromium-version "87.0.4280.141") -(define %ungoogled-revision "483a1bae4eee601c7d0a4a63499380e40e4f8a44") +(define %chromium-version "88.0.4324.104") +(define %ungoogled-revision "4e2679ce15a53925b34a95aa3e1731751530dc22") (define %debian-revision "debian/84.0.4147.105-1") (define %debian-patches @@ -321,7 +329,7 @@ (string-take %ungoogled-revision 7))) (sha256 (base32 - "0r09d27jrdz01rcwifchbq7ksh2bac15h8svq18jx426mr56dzla")))) + "09x6kxd99a274mln3k3ckly6swyp5qdnkkp8p6grs9nr5jrgqqx5")))) (define %guix-patches (list (local-file @@ -405,6 +413,22 @@ `(cons "--enable-custom-modes" ,flags)))))) +;; WebRTC in Chromium 88 requires an unreleased version of libvpx. Use the +;; commit mentioned in "third_party/libvpx/README.chromium". +(define libvpx/chromium + (package + (inherit libvpx) + (version "1.9.0-88-g12059d956") + (source (origin + (inherit (package-source libvpx)) + (uri (git-reference + (url "https://chromium.googlesource.com/webm/libvpx") + (commit (string-append "v" version)))) + (file-name (git-file-name "libvpx" version)) + (sha256 + (base32 + "14knnvfaskfz97vs3lfqrdpcbcx22s6qp16213wdnvnsf4c1lx1b")))))) + ;; 'make-ld-wrapper' can only work with an 'ld' executable, so we need ;; this trick to make it wrap 'lld'. (define (make-lld-wrapper lld) @@ -443,7 +467,7 @@ %chromium-version ".tar.xz")) (sha256 (base32 - "0x9k809m36pfirnw2vnr9pk93nxdbgrvna0xf1rs3q91zkbr2x8l")) + "0iq1rmfiqmxsj6skbi17g007zqgjsb50b59slfni2n4mz06xmgbx")) (modules '((guix build utils))) (snippet (force ungoogled-chromium-snippet)))) (build-system gnu-build-system) @@ -580,6 +604,12 @@ (("third_party/icu/source/(common|i18n)/") "")) + ;; Fix faulty ICU call. Likely fixed in M89. + (substitute* + "third_party/blink/renderer/platform/wtf/text/text_codec_icu.cc" + (("ideographicSpaceCharacter") + "kIdeographicSpaceCharacter")) + ;; XXX: Should be unnecessary when use_system_lcms2=true. (substitute* "third_party/pdfium/core/fxcodec/icc/iccmodule.h" (("include \"third_party/lcms/include/lcms2\\.h\"") @@ -805,14 +835,14 @@ ("glib" ,glib) ("gtk+" ,gtk+) ("harfbuzz" ,harfbuzz) - ("icu4c" ,icu4c-67) + ("icu4c" ,icu4c-68) ("lcms" ,lcms) ("libevent" ,libevent) ("libffi" ,libffi) ("libjpeg-turbo" ,libjpeg-turbo) ("libpng" ,libpng) ("libva" ,libva) - ("libvpx" ,libvpx) + ("libvpx" ,libvpx/chromium) ("libwebp" ,libwebp) ("libx11" ,libx11) ("libxcb" ,libxcb) diff --git a/gnu/packages/ci.scm b/gnu/packages/ci.scm index 161b45846e..9a08ac4c23 100644 --- a/gnu/packages/ci.scm +++ b/gnu/packages/ci.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2015 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2016, 2017 Mathieu Lirzin <mthl@gnu.org> -;;; Copyright © 2017, 2020 Mathieu Othacehe <m.othacehe@gmail.com> +;;; Copyright © 2017, 2020, 2021 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2017, 2019, 2020 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org> ;;; @@ -26,6 +26,7 @@ #:use-module (gnu packages) #:use-module (guix packages) #:use-module (guix git-download) + #:use-module (guix download) #:use-module (gnu packages autotools) #:use-module (gnu packages base) #:use-module (gnu packages docbook) @@ -39,7 +40,6 @@ #:use-module (gnu packages perl) #:use-module (gnu packages perl-compression) #:use-module (gnu packages pkg-config) - #:use-module (gnu packages sqlite) #:use-module (gnu packages tls) #:use-module (gnu packages texinfo) #:use-module (gnu packages version-control) @@ -47,29 +47,9 @@ #:use-module (gnu packages xml) #:use-module (guix build-system gnu)) -;; Guile-Sqlite3 package adding SQL query logging support. -;; Remove it when next Guile-Sqlite3 release is out. -(define-public guile-sqlite3-dev - (let ((commit "22ef45d268de7707cbbb943c404f9b0c1668e2e1") - (revision "1")) - (package - (inherit guile-sqlite3) - (name "guile-sqlite3") - (version (git-version "0.1.2" revision commit)) - (home-page "https://notabug.org/mothacehe/guile-sqlite3.git") - (source (origin - (method git-fetch) - (uri (git-reference - (url home-page) - (commit commit))) - (sha256 - (base32 - "1q90f8zhw9n1c39szd2ba7aj5fi92m09pnlv0z7jbhnnjam5jwcd")) - (file-name (string-append name "-" version "-checkout"))))))) - (define-public cuirass - (let ((commit "697fa14584551d9595cd042f1ffeba240e45a127") - (revision "56")) + (let ((commit "79b77b4377db2e79a1f3396cfeeca64bfab00341") + (revision "64")) (package (name "cuirass") (version (git-version "0.0.1" revision commit)) @@ -81,43 +61,33 @@ (file-name (git-file-name name version)) (sha256 (base32 - "0gw9cja8fiyra9vnn3y384gwanvsqdq6gwjcvmz91sy5lvfwv34m")))) + "0wrpzhcs1cvc5c4s72zs100iw0f4nnv5j2lp6yz3j31zl92vxbis")))) (build-system gnu-build-system) (arguments '(#:modules ((guix build utils) (guix build gnu-build-system) (ice-9 rdelim) (ice-9 popen)) - #:configure-flags '("--localstatedir=/var") ;for /var/log/cuirass - + #:tests? #f ;requires a PostgreSQL database. #:phases (modify-phases %standard-phases - (add-after 'unpack 'disable-repo-tests - (lambda _ - ;; Disable tests that use a connection to the Guix daemon. - (substitute* "Makefile.am" - (("tests/repo.scm \\\\") "\\")) - #t)) - (add-after 'disable-repo-tests 'patch-/bin/sh - (lambda _ - (substitute* "build-aux/git-version-gen" - (("#!/bin/sh") (string-append "#!" (which "sh")))) - #t)) (add-after 'install 'wrap-program (lambda* (#:key inputs outputs #:allow-other-keys) ;; Wrap the 'cuirass' command to refer to the right modules. (let* ((out (assoc-ref outputs "out")) + (avahi (assoc-ref inputs "guile-avahi")) (gcrypt (assoc-ref inputs "guile-gcrypt")) (json (assoc-ref inputs "guile-json")) - (sqlite (assoc-ref inputs "guile-sqlite3")) + (zmq (assoc-ref inputs "guile-simple-zmq")) + (squee (assoc-ref inputs "guile-squee")) (git (assoc-ref inputs "guile-git")) (bytes (assoc-ref inputs "guile-bytestructures")) (fibers (assoc-ref inputs "guile-fibers")) (zlib (assoc-ref inputs "guile-zlib")) (guix (assoc-ref inputs "guix")) - (deps (list gcrypt json sqlite git bytes fibers - zlib guix)) + (deps (list avahi gcrypt json zmq squee git bytes + fibers zlib guix)) (guile (assoc-ref %build-inputs "guile")) (effective (read-line (open-pipe* OPEN_READ @@ -137,17 +107,22 @@ 1))) ;; Make sure 'cuirass' can find the 'evaluate' command, as ;; well as the relevant Guile modules. - (wrap-program (string-append out "/bin/cuirass") - `("PATH" ":" prefix (,(string-append out "/bin"))) - `("GUILE_LOAD_PATH" ":" prefix (,mods)) - `("GUILE_LOAD_COMPILED_PATH" ":" prefix (,objs))) + (for-each + (lambda (name) + (wrap-program (string-append out "/bin/" name) + `("PATH" ":" prefix (,(string-append out "/bin"))) + `("GUILE_LOAD_PATH" ":" prefix (,mods)) + `("GUILE_LOAD_COMPILED_PATH" ":" prefix (,objs)))) + '("cuirass" "remote-server" "remote-worker")) #t)))))) (inputs `(("guile" ,guile-3.0/libgc-7) + ("guile-avahi" ,guile-avahi) ("guile-fibers" ,guile-fibers) ("guile-gcrypt" ,guile-gcrypt) ("guile-json" ,guile-json-4) - ("guile-sqlite3" ,guile-sqlite3-dev) + ("guile-simple-zmq" ,guile-simple-zmq) + ("guile-squee" ,guile-squee) ("guile-git" ,guile-git) ("guile-zlib" ,guile-zlib) ;; FIXME: this is propagated by "guile-git", but it needs to be among diff --git a/gnu/packages/cmake.scm b/gnu/packages/cmake.scm index 56b32792fe..ab74650066 100644 --- a/gnu/packages/cmake.scm +++ b/gnu/packages/cmake.scm @@ -31,6 +31,7 @@ #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix download) + #:use-module (guix git-download) #:use-module (guix utils) #:use-module (guix deprecation) #:use-module (guix build-system gnu) @@ -43,6 +44,7 @@ #:use-module (gnu packages curl) #:use-module (gnu packages file) #:use-module (gnu packages hurd) + #:use-module (gnu packages kde-frameworks) #:use-module (gnu packages libevent) #:use-module (gnu packages ncurses) #:use-module (gnu packages serialization) @@ -52,6 +54,33 @@ #:use-module (ice-9 match) #:use-module (srfi srfi-1)) +(define-public cmake-shared + (package + (name "cmake-shared") + (version "1.1.0") + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/lirios/cmake-shared.git") + (commit + (string-append "v" version)))) + (file-name + (git-file-name name version)) + (sha256 + (base32 "1srd3jmlalf0szgyp88ymhbnwds4qiywmf8lq1pif9g8irjjhdry")))) + (build-system cmake-build-system) + (arguments + `(#:tests? #f)) ; No target + (native-inputs + `(("extra-cmake-modules" ,extra-cmake-modules))) + (synopsis "Shared CMake functions and macros") + (description "CMake-Shared are shared functions and macros for projects +using the CMake build system.") + (home-page "https://github.com/lirios/cmake-shared/") + (license license:bsd-3))) + ;;; Build phases shared between 'cmake-bootstrap' and the later variants ;;; that use cmake-build-system. (define %common-build-phases diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm index 56350089f5..d5fb7635ea 100644 --- a/gnu/packages/compression.scm +++ b/gnu/packages/compression.scm @@ -29,6 +29,7 @@ ;;; Copyright © 2020 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2020 Lars-Dominik Braun <lars@6xq.net> ;;; Copyright © 2020 Guillaume Le Vaillant <glv@posteo.net> +;;; Copyright © 2020 Léo Le Bouter <lle-bout@zaclys.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -55,6 +56,7 @@ #:use-module (guix build-system glib-or-gtk) #:use-module (guix build-system gnu) #:use-module (guix build-system go) + #:use-module (guix build-system meson) #:use-module (guix build-system python) #:use-module (guix build-system trivial) #:use-module (gnu packages) @@ -70,7 +72,9 @@ #:use-module (gnu packages gettext) #:use-module (gnu packages glib) #:use-module (gnu packages gnome) + #:use-module (gnu packages gnupg) #:use-module (gnu packages gtk) + #:use-module (gnu packages man) #:use-module (gnu packages maths) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) @@ -78,6 +82,7 @@ #:use-module (gnu packages qt) #:use-module (gnu packages tls) #:use-module (gnu packages valgrind) + #:use-module (gnu packages version-control) #:use-module (gnu packages xml) #:use-module (ice-9 match) #:use-module ((srfi srfi-1) #:select (last))) @@ -1025,6 +1030,41 @@ smaller than those produced by @code{Xdelta}.") ;; Some source files specify gpl2+, lgpl2+, however COPYING is gpl3. (license license:gpl3+))) +(define-public libjcat + (package + (name "libjcat") + (version "0.1.5") + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/hughsie/libjcat") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0rxyqikdhkh2nq1y0hy05df2kkxf3d2cp6lm5x1s5i717k6y3zy5")))) + (build-system meson-build-system) + (native-inputs + `(("gobject-introspection" ,gobject-introspection) + ("help2man" ,help2man) + ("pkg-config" ,pkg-config))) + (inputs + `(("git" ,git) + ("glib" ,glib) + ("gnupg" ,gnupg) + ("gnutls" ,gnutls) + ("gpgme" ,gpgme) + ("json-glib" ,json-glib) + ("vala" ,vala))) + (home-page "https://github.com/hughsie/libjcat") + (synopsis "Library for reading and writing Jcat files") + (description + "This library allows reading and writing gzip-compressed JSON catalog +files, which can be used to store GPG, PKCS-7 and SHA-256 checksums for each +file.") + (license license:lgpl2.1+))) + (define-public xdelta (package (name "xdelta") diff --git a/gnu/packages/connman.scm b/gnu/packages/connman.scm index 5f17a0ea95..1331c849a0 100644 --- a/gnu/packages/connman.scm +++ b/gnu/packages/connman.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2016, 2017, 2019 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2016, 2017, 2019, 2021 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org> ;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net> @@ -138,15 +138,15 @@ sharing) to clients via USB, ethernet, WiFi, cellular and Bluetooth.") (define-public cmst (package (name "cmst") - (version "2019.01.13") + (version "2020.11.01") (source (origin (method url-fetch) (uri (string-append - "https://github.com/andrew-bibb/cmst/releases/download/cmst-" + "https://github.com/andrew-bibb/cmst/releases/download/" version "/cmst-" version ".tar.xz")) (sha256 - (base32 "1cn6xz2rpkf5kx5d6p2x2lh85zppjacp59l6gj3n6x12p90al1vl")))) + (base32 "0jn12wxwjznady6aniwmvahg1dj25p902sdwj0070biv6vx5c7dq")))) (inputs `(("qtbase" ,qtbase))) (native-inputs diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm index ca8f7a9f80..ae47490755 100644 --- a/gnu/packages/cpp.scm +++ b/gnu/packages/cpp.scm @@ -14,7 +14,7 @@ ;;; Copyright © 2020 Marius Bakke <marius@gnu.org> ;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de> ;;; Copyright © 2020 Alexandros Theodotou <alex@zrythm.org> -;;; Copyright © 2020 Greg Hogan <code@greghogan.com> +;;; Copyright © 2020, 2021 Greg Hogan <code@greghogan.com> ;;; Copyright © 2020 Brett Gilio <brettg@gnu.org> ;;; ;;; This file is part of GNU Guix. @@ -49,6 +49,7 @@ #:use-module (gnu packages compression) #:use-module (gnu packages crypto) #:use-module (gnu packages curl) + #:use-module (gnu packages documentation) #:use-module (gnu packages gcc) #:use-module (gnu packages libevent) #:use-module (gnu packages libunwind) @@ -63,6 +64,74 @@ #:use-module (gnu packages tls) #:use-module (gnu packages web)) +(define-public range-v3 + (package + (name "range-v3") + (version "0.11.0") + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/ericniebler/range-v3.git") + (commit version))) + (file-name + (git-file-name name version)) + (sha256 + (base32 "18230bg4rq9pmm5f8f65j444jpq56rld4fhmpham8q3vr1c1bdjh")))) + (build-system cmake-build-system) + (native-inputs + `(("doxygen" ,doxygen) + ("perl" ,perl))) + (inputs + `(("boost" ,boost))) + (synopsis "Range library for C++14/17/20") + (description "Range-v3 is an extension of the Standard Template Library that +makes its iterators and algorithms more powerful by making them composable. +Unlike other range-like solutions which, seek to do away with iterators, in +range-v3 ranges are an abstration layer on top of iterators.") + (home-page "https://github.com/ericniebler/range-v3/") + (license + (list + ;; Elements of Programming + (license:x11-style "file:///LICENSE.txt") + ;; SGI STL + license:sgifreeb2.0 + ;;; LibC++ (dual-licensed) + license:expat + license:ncsa + ;; Others + license:boost1.0)))) + +(define-public c++-gsl + (package + (name "c++-gsl") + (version "3.1.0") + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/microsoft/GSL.git") + (commit + (string-append "v" version)))) + (file-name + (git-file-name name version)) + (patches + (search-patches + "c++-gsl-find-system-gtest.patch")) + (sha256 + (base32 "0gbvr48f03830g3154bjhw92b8ggmg6wwh5xyb8nppk9v6w752l0")))) + (build-system cmake-build-system) + (native-inputs + `(("googletest" ,googletest) + ("pkg-config" ,pkg-config))) + (synopsis "Guidelines Support Library") + (description "c++-gsl contains functions and types that are suggested for +use by the C++ Core Guidelines maintained by the Standard C++ Foundation.") + (home-page "https://github.com/microsoft/GSL/") + (license license:expat))) + (define-public libzen (package (name "libzen") @@ -689,7 +758,7 @@ standard GNU style syntax for options.") (define-public folly (package (name "folly") - (version "2020.10.05.00") + (version "2021.01.25.00") (source (origin (method git-fetch) (uri (git-reference @@ -698,7 +767,7 @@ standard GNU style syntax for options.") (file-name (git-file-name name version)) (sha256 (base32 - "0q4w4cvjxffc462hvs8h4zryq4965j7015zvkwagcm6cj6wmz3cn")))) + "14dl1g6vf7mc90mcync5h2lp14fwcx8n9h91pmiq6rfgv1fjjrwz")))) (build-system cmake-build-system) (arguments '(;; Tests must be explicitly enabled diff --git a/gnu/packages/crates-graphics.scm b/gnu/packages/crates-graphics.scm index ca1fd9b3a7..4846fc3e20 100644 --- a/gnu/packages/crates-graphics.scm +++ b/gnu/packages/crates-graphics.scm @@ -42,8 +42,36 @@ ;;; ;;; Please: Try to add new module packages in alphabetic order. +(define-public rust-andrew-0.3 + (package + (name "rust-andrew") + (version "0.3.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "andrew" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1kx79z6mh7wwp4pz683bdya54h7w7wpzjcwf834fwbv4vl4znjlc")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-bitflags" ,rust-bitflags-1) + ("rust-rusttype" ,rust-rusttype-0.9) + ("rust-walkdir" ,rust-walkdir-2) + ("rust-xdg" ,rust-xdg-2) + ("rust-xml-rs" ,rust-xml-rs-0.8)))) + (home-page "https://github.com/trimental/andrew") + (synopsis "Provides convenient drawing of objects to buffers") + (description + "The @code{andrew} crate provides convenient drawing of objects such as +shapes, lines and text to buffers.") + (license license:expat))) + (define-public rust-andrew-0.2 (package + (inherit rust-andrew-0.3) (name "rust-andrew") (version "0.2.1") (source @@ -55,7 +83,6 @@ (sha256 (base32 "0pmklwcwy8g1jras46fz8xcny779zfqpg4riksrbdhkjk3w0jzwv")))) - (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-bitflags" ,rust-bitflags-1) @@ -67,13 +94,7 @@ #:cargo-development-inputs (("rust-smithay-client-toolkit" ,rust-smithay-client-toolkit-0.4)))) (inputs - `(("wayland" ,wayland))) - (home-page "https://github.com/trimental/andrew") - (synopsis "Provides convenient drawing of objects to buffers") - (description - "The @code{andrew} crate provides convenient drawing of objects such as -shapes, lines and text to buffers.") - (license license:expat))) + `(("wayland" ,wayland))))) (define-public rust-ansi-colours-1 (package @@ -350,8 +371,76 @@ for computer graphics.") (;("rust-glium" ,rust-glium-0.19) ("rust-serde-json" ,rust-serde-json-1)))))) +(define-public rust-core-graphics-0.22 + (package + (name "rust-core-graphics") + (version "0.22.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "core-graphics" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "11lx6xw8nc9fpd552g60qa0cxh0maah8j2m26vkq0aslkgv3b7r6")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-bitflags" ,rust-bitflags-1) + ("rust-core-foundation" ,rust-core-foundation-0.9) + ("rust-core-graphics-types" ,rust-core-graphics-types-0.1) + ("rust-foreign-types" ,rust-foreign-types-0.3) + ("rust-libc" ,rust-libc-0.2)))) + (home-page "https://github.com/servo/core-graphics-rs") + (synopsis "Bindings to Core Graphics for macOS") + (description + "This package provides bindings to Core Graphics for macOS.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-core-graphics-0.21 + (package + (inherit rust-core-graphics-0.22) + (name "rust-core-graphics") + (version "0.21.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "core-graphics" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1i9gwzkil9k276317by0mi1pxz036h412dmcp1bzmlq4adj5anha")))) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-bitflags" ,rust-bitflags-1) + ("rust-core-foundation" ,rust-core-foundation-0.9) + ("rust-core-graphics-types" ,rust-core-graphics-types-0.1) + ("rust-foreign-types" ,rust-foreign-types-0.3) + ("rust-libc" ,rust-libc-0.2)))))) + +(define-public rust-core-graphics-0.19 + (package + (inherit rust-core-graphics-0.21) + (name "rust-core-graphics") + (version "0.19.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "core-graphics" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "08z9pgwfc0wb5v3ns7rnb2010q9g42b5vfwhp9fv4spawrs9725k")))) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-bitflags" ,rust-bitflags-1) + ("rust-core-foundation" ,rust-core-foundation-0.7) + ("rust-foreign-types" ,rust-foreign-types-0.3) + ("rust-libc" ,rust-libc-0.2)))))) + (define-public rust-core-graphics-0.17 (package + (inherit rust-core-graphics-0.21) (name "rust-core-graphics") (version "0.17.3") (source @@ -363,46 +452,66 @@ for computer graphics.") (sha256 (base32 "1acm3vygngnilzlr6klym5ywh7kfzh2xxrh2l41152hwmdl0jyan")))) - (build-system cargo-build-system) (arguments `(#:skip-build? #t ; only for macOS #:cargo-inputs (("rust-bitflags" ,rust-bitflags-1) ("rust-core-foundation" ,rust-core-foundation-0.6) ("rust-foreign-types" ,rust-foreign-types-0.3) + ("rust-libc" ,rust-libc-0.2)))))) + +(define-public rust-core-graphics-types-0.1 + (package + (name "rust-core-graphics-types") + (version "0.1.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "core-graphics-types" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "12vqf0n5mjjcqjksdd82n2zh8hfda2zpiiqsr522c2266j5vcs1s")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-bitflags" ,rust-bitflags-1) + ("rust-core-foundation" ,rust-core-foundation-0.9) + ("rust-foreign-types" ,rust-foreign-types-0.3) ("rust-libc" ,rust-libc-0.2)))) - (home-page "https://github.com/servo/core-graphics-rs") - (synopsis "Bindings to Core Graphics for macOS") + (home-page "https://github.com/servo/core-foundation-rs") + (synopsis "Bindings for some fundamental Core Graphics types") (description - "Bindings to Core Graphics for macOS.") + "This package provides bindings for some fundamental Core Graphics +types.") (license (list license:expat license:asl2.0)))) (define-public rust-core-video-sys-0.1 (package (name "rust-core-video-sys") - (version "0.1.3") + (version "0.1.4") (source (origin (method url-fetch) (uri (crate-uri "core-video-sys" version)) - (file-name - (string-append name "-" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 - "1l59cg88482hkl95ssb30ac9x65hpbdsmxz9s5r6y222jlhnbh4d")))) + (base32 "0a1qbn50jrb5hxrfshyb7y0f3pbf4ily6i6nciv7bn8ac4isvv1l")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t ; only for macOS + `(#:skip-build? #t #:cargo-inputs (("rust-cfg-if" ,rust-cfg-if-0.1) - ("rust-core-foundation-sys" ,rust-core-foundation-sys-0.6) - ("rust-core-graphics" ,rust-core-graphics-0.17) + ("rust-core-foundation-sys" ,rust-core-foundation-sys-0.7) + ("rust-core-graphics" ,rust-core-graphics-0.19) ("rust-libc" ,rust-libc-0.2) - ("rust-metal" ,rust-metal-0.14) + ("rust-metal" ,rust-metal-0.18) ("rust-objc" ,rust-objc-0.2)))) (home-page "https://github.com/luozijun/rust-core-video-sys") (synopsis "Bindings to CoreVideo.framework for macOS and iOS") - (description "Bindings to CoreVideo.framework for macOS and iOS.") + (description + "This package provides bindings to CoreVideo.framework for macOS +and iOS.") (license license:expat))) (define-public rust-dav1d-sys-0.3 @@ -718,8 +827,48 @@ for computer graphics.") "Generated OpenGL bindings and wrapper for Servo.") (license (list license:asl2.0 license:expat)))) +(define-public rust-glutin-0.26 + (package + (name "rust-glutin") + (version "0.26.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "glutin" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "18szbh4dixcr7pmymvbrpv21hv0wrpii5w03rv2534bb2ywwpq8s")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-android-glue" ,rust-android-glue-0.2) + ("rust-cgl" ,rust-cgl-0.3) + ("rust-cocoa" ,rust-cocoa-0.23) + ("rust-core-foundation" ,rust-core-foundation-0.9) + ("rust-glutin-egl-sys" ,rust-glutin-egl-sys-0.1) + ("rust-glutin-emscripten-sys" ,rust-glutin-emscripten-sys-0.1) + ("rust-glutin-gles2-sys" ,rust-glutin-gles2-sys-0.1) + ("rust-glutin-glx-sys" ,rust-glutin-glx-sys-0.1) + ("rust-glutin-wgl-sys" ,rust-glutin-wgl-sys-0.1) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-libloading" ,rust-libloading-0.6) + ("rust-log" ,rust-log-0.4) + ("rust-objc" ,rust-objc-0.2) + ("rust-osmesa-sys" ,rust-osmesa-sys-0.1) + ("rust-parking-lot" ,rust-parking-lot-0.11) + ("rust-wayland-client" ,rust-wayland-client-0.28) + ("rust-wayland-egl" ,rust-wayland-egl-0.28) + ("rust-winapi" ,rust-winapi-0.3) + ("rust-winit" ,rust-winit-0.24)))) + (home-page "https://github.com/tomaka/glutin") + (synopsis "Cross-platform OpenGL context provider") + (description "This package provides an OpenGL context provider.") + (license license:asl2.0))) + (define-public rust-glutin-0.22 (package + (inherit rust-glutin-0.26) (name "rust-glutin") (version "0.22.0-alpha5") (source @@ -731,7 +880,6 @@ for computer graphics.") (sha256 (base32 "0lilr4f335m1fq1acmshd51zblfaglw1hha6lhalnc1fw3cg0aag")))) - (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-android-glue" ,rust-android-glue-0.2) @@ -752,13 +900,7 @@ for computer graphics.") ("rust-parking-lot" ,rust-parking-lot-0.9) ("rust-wayland-client" ,rust-wayland-client-0.23) ("rust-winapi" ,rust-winapi-0.3) - ("rust-winit" ,rust-winit-0.20)))) - (home-page "https://github.com/tomaka/glutin") - (synopsis - "Cross-platform OpenGL context provider") - (description - "Cross-platform OpenGL context provider.") - (license license:asl2.0))) + ("rust-winit" ,rust-winit-0.20)))))) (define-public rust-glutin-0.21 (package @@ -821,88 +963,84 @@ for computer graphics.") (define-public rust-glutin-emscripten-sys-0.1 (package (name "rust-glutin-emscripten-sys") - (version "0.1.0") + (version "0.1.1") (source (origin (method url-fetch) (uri (crate-uri "glutin_emscripten_sys" version)) - (file-name - (string-append name "-" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 - "1ix0jmm8p5if4qarzdfl5mz9rbq4hhgqarakb3bzwvyz13dkynr4")))) + (base32 "1wb3qfxg3jh6ibb7bxmlmvf4jcpzck3pn0035g1sds3nvx343pl0")))) (build-system cargo-build-system) + (arguments `(#:skip-build? #t)) (home-page "https://github.com/tomaka/glutin") (synopsis "Emscripten bindings for glutin") - (description "The emscripten bindings for glutin.") + (description "This package provides Emscripten bindings for glutin.") (license license:asl2.0))) (define-public rust-glutin-gles2-sys-0.1 (package (name "rust-glutin-gles2-sys") - (version "0.1.3") + (version "0.1.5") (source (origin (method url-fetch) (uri (crate-uri "glutin_gles2_sys" version)) - (file-name - (string-append name "-" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 - "1pswvl5zyqmqwzjr674yzslj0al2xbqsp2ai9ggb9qbshlq6r6c9")))) + (base32 "00wisv3a7818bpw5nnqwibmh1bw032izix2l3657q2kkidq4w2g8")))) (build-system cargo-build-system) (arguments - `(#:cargo-inputs - (("rust-objc" ,rust-objc-0.2) - ("rust-gl-generator" ,rust-gl-generator-0.11)))) + `(#:skip-build? #t + #:cargo-inputs + (("rust-gl-generator" ,rust-gl-generator-0.14) + ("rust-objc" ,rust-objc-0.2)))) (home-page "https://github.com/tomaka/glutin") - (synopsis "The gles2 bindings for glutin") - (description "The gles2 bindings for glutin.") + (synopsis "Gles2 bindings for glutin") + (description "This package provides gles2 bindings for glutin.") (license license:asl2.0))) (define-public rust-glutin-glx-sys-0.1 (package (name "rust-glutin-glx-sys") - (version "0.1.5") + (version "0.1.7") (source (origin (method url-fetch) - (uri (crate-uri "glutin-glx-sys" version)) - (file-name - (string-append name "-" version ".tar.gz")) + (uri (crate-uri "glutin_glx_sys" version)) + (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 - "0mxs3mil68xqqb49466n5rpwpcllj6fwqjgrcrzzmz26bv5ab40j")))) + (base32 "0l8kk60kq5v6hl1qr6ym2arzvbsgkh71aa8485cp901bq27kqfby")))) (build-system cargo-build-system) (arguments - `(#:cargo-inputs - (("rust-x11-dl" ,rust-x11-dl-2) - ("rust-gl-generator" ,rust-gl-generator-0.11)))) + `(#:skip-build? #t + #:cargo-inputs + (("rust-gl-generator" ,rust-gl-generator-0.14) + ("rust-x11-dl" ,rust-x11-dl-2)))) (home-page "https://github.com/tomaka/glutin") (synopsis "Glx bindings for glutin") - (description "The glx bindings for glutin.") + (description "This package provides glx bindings for glutin.") (license license:asl2.0))) (define-public rust-glutin-wgl-sys-0.1 (package (name "rust-glutin-wgl-sys") - (version "0.1.3") + (version "0.1.5") (source (origin (method url-fetch) - (uri (crate-uri "glutin-wgl-sys" version)) - (file-name - (string-append name "-" version ".tar.gz")) + (uri (crate-uri "glutin_wgl_sys" version)) + (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 - "08chlfzpj59q36qm212i4k879gvjzha7i90q90fds8pw3v4vn0gq")))) + (base32 "15hns8b3i7iy366m61dg7jlr7wgzz8z8cakgbj3apnv92ld9b99x")))) (build-system cargo-build-system) (arguments - `(#:cargo-inputs - (("rust-gl-generator" ,rust-gl-generator-0.11)))) + `(#:skip-build? #t + #:cargo-inputs + (("rust-gl-generator" ,rust-gl-generator-0.14)))) (home-page "https://github.com/tomaka/glutin") (synopsis "Wgl bindings for glutin") - (description "The wgl bindings for glutin.") + (description "This package provides wgl bindings for glutin.") (license license:asl2.0))) (define-public rust-image-0.23 @@ -1536,16 +1674,14 @@ interactive applications.") (define-public rust-png-0.16 (package (name "rust-png") - (version "0.16.6") + (version "0.16.8") (source - (origin - (method url-fetch) - (uri (crate-uri "png" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1393s3v3kg4bxnn86d7yn2vyz8xj6g64ighdfkc3vzpsg5sbyl61")))) + (origin + (method url-fetch) + (uri (crate-uri "png" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1ipl44q3vy4kvx6j296vk7d4v8gvcg203lrkvvixwixq1j98fciw")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t @@ -1553,19 +1689,11 @@ interactive applications.") (("rust-bitflags" ,rust-bitflags-1) ("rust-crc32fast" ,rust-crc32fast-1) ("rust-deflate" ,rust-deflate-0.8) - ("rust-miniz-oxide" ,rust-miniz-oxide-0.3)) - #:cargo-development-inputs - (("rust-criterion" ,rust-criterion-0.3) - ("rust-getopts" ,rust-getopts-0.2) - ;; TODO: glium has many cyclic dependencies with other packages - ;; ("rust-glium" ,rust-glium-0.24) - ("rust-glob" ,rust-glob-0.3) - ("rust-rand" ,rust-rand-0.7) - ("rust-term" ,rust-term-0.6)))) + ("rust-miniz-oxide" ,rust-miniz-oxide-0.3)))) (home-page "https://github.com/image-rs/image-png.git") (synopsis "PNG decoding and encoding library in pure Rust") (description - "PNG decoding and encoding library in pure Rust.") + "This package is a PNG decoding and encoding library in pure Rust.") (license (list license:expat license:asl2.0)))) (define-public rust-png-0.15 @@ -1728,8 +1856,41 @@ implements standard Rust traits to make `RGB`/`RGBA` pixels and slices first-class Rust objects.") (license license:expat))) +(define-public rust-smithay-client-toolkit-0.12 + (package + (name "rust-smithay-client-toolkit") + (version "0.12.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "smithay-client-toolkit" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1rjdszpf8pns99gyy8f5axf01ckc33f30dddfazyfg45xfii6vii")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-andrew" ,rust-andrew-0.3) + ("rust-bitflags" ,rust-bitflags-1) + ("rust-calloop" ,rust-calloop-0.6) + ("rust-dlib" ,rust-dlib-0.4) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-log" ,rust-log-0.4) + ("rust-memmap2" ,rust-memmap2-0.1) + ("rust-nix" ,rust-nix-0.18) + ("rust-wayland-client" ,rust-wayland-client-0.28) + ("rust-wayland-cursor" ,rust-wayland-cursor-0.28) + ("rust-wayland-protocols" ,rust-wayland-protocols-0.28)))) + (home-page "https://github.com/smithay/client-toolkit") + (synopsis "Toolkit for making client Wayland applications") + (description + "This package provides a toolkit for making client Wayland applications.") + (license license:expat))) + (define-public rust-smithay-client-toolkit-0.6 (package + (inherit rust-smithay-client-toolkit-0.12) (name "rust-smithay-client-toolkit") (version "0.6.4") (source @@ -1741,7 +1902,6 @@ first-class Rust objects.") (sha256 (base32 "0m20687zs36l6xak2s5k9s7qp78ly8xfjpbmrhacp7whfn4hx5lk")))) - (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-andrew" ,rust-andrew-0.2) @@ -1755,12 +1915,7 @@ first-class Rust objects.") #:cargo-development-inputs (("rust-byteorder" ,rust-byteorder-1) ("rust-image" ,rust-image-0.21) - ("rust-wayland-client" ,rust-wayland-client-0.23)))) - (home-page "https://github.com/smithay/client-toolkit") - (synopsis "Toolkit for making client wayland applications") - (description - "Toolkit for making client wayland applications.") - (license license:expat))) + ("rust-wayland-client" ,rust-wayland-client-0.23)))))) (define-public rust-smithay-client-toolkit-0.4 (package @@ -1792,8 +1947,33 @@ first-class Rust objects.") ("rust-image" ,rust-image-0.20) ("rust-wayland-client" ,rust-wayland-client-0.21)))))) +(define-public rust-smithay-clipboard-0.6 + (package + (name "rust-smithay-clipboard") + (version "0.6.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "smithay-clipboard" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "14dwisd56cbr80zf719l3fh0n8pm1fjmvry9lsbhdbccf8cv525b")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-smithay-client-toolkit" ,rust-smithay-client-toolkit-0.12) + ("rust-wayland-client" ,rust-wayland-client-0.28)))) + (home-page "https://github.com/smithay/smithay-clipboard") + (synopsis "Access to the Wayland clipboard for client applications") + (description + "This package provides access to the Wayland clipboard for client +applications.") + (license license:expat))) + (define-public rust-smithay-clipboard-0.3 (package + (inherit rust-smithay-clipboard-0.6) (name "rust-smithay-clipboard") (version "0.3.6") (source @@ -1805,7 +1985,6 @@ first-class Rust objects.") (sha256 (base32 "1h7qhcx44cgwncgpn5llky0c56vgsg9mqrkybb2z37vsxxia4rwn")))) - (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-nix" ,rust-nix-0.14) @@ -1813,13 +1992,7 @@ first-class Rust objects.") #:cargo-development-inputs (("rust-andrew" ,rust-andrew-0.2)))) (inputs - `(("wayland" ,wayland))) - (home-page "https://github.com/smithay/smithay-clipboard") - (synopsis - "Provides access to the wayland clipboard for client applications") - (description - "This package provides access to the wayland clipboard for client applications.") - (license license:expat))) + `(("wayland" ,wayland))))) (define-public rust-tiff-0.5 (package @@ -1893,8 +2066,40 @@ first-class Rust objects.") ("rust-num-derive" ,rust-num-derive-0.2) ("rust-num-traits" ,rust-num-traits-0.2)))))) +(define-public rust-wayland-client-0.28 + (package + (name "rust-wayland-client") + (version "0.28.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "wayland-client" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1mxnflzv9s3qpcp0z7kqvrzki5bknfar9n9yky06f8ivs00vxgdx")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-bitflags" ,rust-bitflags-1) + ("rust-downcast-rs" ,rust-downcast-rs-1) + ("rust-libc" ,rust-libc-0.2) + ("rust-nix" ,rust-nix-0.18) + ("rust-scoped-tls" ,rust-scoped-tls-1) + ("rust-wayland-commons" ,rust-wayland-commons-0.28) + ("rust-wayland-scanner" ,rust-wayland-scanner-0.28) + ("rust-wayland-sys" ,rust-wayland-sys-0.28)))) + (home-page "https://github.com/smithay/wayland-rs") + (synopsis + "Rust bindings to the standard C implementation of the wayland protocol") + (description + "This package provides Rust bindings to the standard C implementation of +the wayland protocol, client side.") + (license license:expat))) + (define-public rust-wayland-client-0.23 (package + (inherit rust-wayland-client-0.28) (name "rust-wayland-client") (version "0.23.6") (source @@ -1906,12 +2111,11 @@ first-class Rust objects.") (sha256 (base32 "1nmw2kz70llc5mxwzg6bglnqy0qnyr9224zjmq9czazgw3mq045g")))) - (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-bitflags" ,rust-bitflags-1) ("rust-calloop" ,rust-calloop-0.4) - ("rust-downcast-rs" ,rust-downcast-rs-1.1) + ("rust-downcast-rs" ,rust-downcast-rs-1) ("rust-libc" ,rust-libc-0.2) ("rust-mio" ,rust-mio-0.6) ("rust-nix" ,rust-nix-0.14) @@ -1920,14 +2124,7 @@ first-class Rust objects.") ("rust-wayland-scanner" ,rust-wayland-scanner-0.23)) #:cargo-development-inputs (("rust-byteorder" ,rust-byteorder-1) - ("rust-tempfile" ,rust-tempfile-3)))) - (home-page "https://github.com/smithay/wayland-rs") - (synopsis - "Rust bindings to the standard C implementation of the wayland protocol") - (description - "This package provides Rust bindings to the standard C implementation of -the wayland protocol, client side.") - (license license:expat))) + ("rust-tempfile" ,rust-tempfile-3)))))) (define-public rust-wayland-client-0.21 (package @@ -1947,7 +2144,7 @@ the wayland protocol, client side.") `(#:cargo-inputs (("rust-bitflags" ,rust-bitflags-1) ("rust-calloop" ,rust-calloop-0.4) - ("rust-downcast-rs" ,rust-downcast-rs-1.1) + ("rust-downcast-rs" ,rust-downcast-rs-1) ("rust-libc" ,rust-libc-0.2) ("rust-mio" ,rust-mio-0.6) ("rust-nix" ,rust-nix-0.14) @@ -1958,8 +2155,35 @@ the wayland protocol, client side.") (("rust-byteorder" ,rust-byteorder-1) ("rust-tempfile" ,rust-tempfile-3)))))) +(define-public rust-wayland-commons-0.28 + (package + (name "rust-wayland-commons") + (version "0.28.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "wayland-commons" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0mid1sgy3bmiywnrhsr31b8w6zvk1ll2ci2as15ddv8pczvm0128")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-nix" ,rust-nix-0.18) + ("rust-once-cell" ,rust-once-cell-1) + ("rust-smallvec" ,rust-smallvec-1) + ("rust-wayland-sys" ,rust-wayland-sys-0.28)))) + (home-page "https://github.com/smithay/wayland-rs") + (synopsis "Types and structures used by wayland-client and wayland-server") + (description + "This package provides common types and structures used by wayland-client +and wayland-server.") + (license license:expat))) + (define-public rust-wayland-commons-0.23 (package + (inherit rust-wayland-commons-0.28) (name "rust-wayland-commons") (version "0.23.6") (source @@ -1971,17 +2195,10 @@ the wayland protocol, client side.") (sha256 (base32 "1nyvcs6xxxzqgh0wvc7z0fgi89bf3h9p4qrbf77bnfbwlb8v0rmv")))) - (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-nix" ,rust-nix-0.14) - ("rust-wayland-sys" ,rust-wayland-sys-0.23)))) - (home-page "https://github.com/smithay/wayland-rs") - (synopsis - "Common types and structures used by wayland-client and wayland-server") - (description - "Common types and structures used by wayland-client and wayland-server.") - (license license:expat))) + ("rust-wayland-sys" ,rust-wayland-sys-0.23)))))) (define-public rust-wayland-commons-0.21 (package @@ -2002,8 +2219,88 @@ the wayland protocol, client side.") (("rust-nix" ,rust-nix-0.14) ("rust-wayland-sys" ,rust-wayland-sys-0.21)))))) +(define-public rust-wayland-cursor-0.28 + (package + (name "rust-wayland-cursor") + (version "0.28.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "wayland-cursor" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0pvf96a9hg7b40vyvamcg491sa0006fr9bzf1xkaf8q22qn15syn")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-nix" ,rust-nix-0.18) + ("rust-wayland-client" ,rust-wayland-client-0.28) + ("rust-xcursor" ,rust-xcursor-0.3)))) + (home-page "https://github.com/smithay/wayland-rs") + (synopsis "Bindings to libwayland-cursor") + (description + "This crate provides helpers to load the system provided cursor images +and load them into WlBuffers as well as obtain the necessary metadata to +properly display animated cursors.") + (license license:expat))) + +(define-public rust-wayland-egl-0.28 + (package + (name "rust-wayland-egl") + (version "0.28.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "wayland-egl" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1xd7iap0x4sidmy9dv02cdnxjhnbk9li7r7f39x9cg0i8xs50ly6")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-wayland-client" ,rust-wayland-client-0.28) + ("rust-wayland-sys" ,rust-wayland-sys-0.28)))) + (home-page "https://github.com/smithay/wayland-rs") + (synopsis "Bindings to libwayland-egl") + (description + "This crate provides bindings for OpenGL/Vulkan support for +Wayland client apps. It allows to create an EGLSurface from any +WlSurface, which can then play the role of the base surface for +initializing an OpenGL or Vulkan context.") + (license license:expat))) + +(define-public rust-wayland-protocols-0.28 + (package + (name "rust-wayland-protocols") + (version "0.28.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "wayland-protocols" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0c0sw13qssrvf3jgygwqpiimpaagz3haxn9jridd4k85sfs856ii")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-bitflags" ,rust-bitflags-1) + ("rust-wayland-client" ,rust-wayland-client-0.28) + ("rust-wayland-commons" ,rust-wayland-commons-0.28) + ("rust-wayland-scanner" ,rust-wayland-scanner-0.28) + ("rust-wayland-server" ,rust-wayland-server-0.28)))) + (home-page "https://github.com/smithay/wayland-rs") + (synopsis "Generated API for the officials Wayland protocol extensions") + (description + "This package provides a generated API for the officials Wayland protocol +extensions.") + (license license:expat))) + (define-public rust-wayland-protocols-0.23 (package + (inherit rust-wayland-protocols-0.28) (name "rust-wayland-protocols") (version "0.23.6") (source @@ -2015,20 +2312,13 @@ the wayland protocol, client side.") (sha256 (base32 "1ygwbzqlnks5xzafka3c8ag6k92g2h6ygj2xsmvjfx2n6rj8dhkc")))) - (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-bitflags" ,rust-bitflags-1) ("rust-wayland-client" ,rust-wayland-client-0.23) ("rust-wayland-commons" ,rust-wayland-commons-0.23) ("rust-wayland-server" ,rust-wayland-server-0.23) - ("rust-wayland-scanner" ,rust-wayland-scanner-0.23)))) - (home-page "https://github.com/smithay/wayland-rs") - (synopsis - "Generated API for the officials wayland protocol extensions") - (description - "Generated API for the officials wayland protocol extensions.") - (license license:expat))) + ("rust-wayland-scanner" ,rust-wayland-scanner-0.23)))))) (define-public rust-wayland-protocols-0.21 (package @@ -2053,8 +2343,36 @@ the wayland protocol, client side.") ("rust-wayland-sys" ,rust-wayland-sys-0.21) ("rust-wayland-scanner" ,rust-wayland-scanner-0.21)))))) +(define-public rust-wayland-scanner-0.28 + (package + (name "rust-wayland-scanner") + (version "0.28.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "wayland-scanner" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0g8ky63qk27in7zajycj3fyydsxlj19hanfcvr8d7z5kcxbvl43h")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-proc-macro2" ,rust-proc-macro2-1) + ("rust-quote" ,rust-quote-1) + ("rust-xml-rs" ,rust-xml-rs-0.8)))) + (home-page "https://github.com/smithay/wayland-rs") + (synopsis "Generate Rust APIs from XML Wayland protocol files") + (description + "Wayland Scanner generates Rust APIs from XML Wayland protocol files. +It is intended for use with wayland-sys. You should only need this crate if +you are working on custom Wayland protocol extensions. Look at the +wayland-client crate for usable bindings.") + (license license:expat))) + (define-public rust-wayland-scanner-0.23 (package + (inherit rust-wayland-scanner-0.28) (name "rust-wayland-scanner") (version "0.23.6") (source @@ -2066,20 +2384,11 @@ the wayland protocol, client side.") (sha256 (base32 "0g8wcphykjrcpslznyi3qccx1pckw97rckq5b295nfbg6r3j5c4k")))) - (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-proc-macro2" ,rust-proc-macro2-0.4) ("rust-quote" ,rust-quote-0.6) - ("rust-xml-rs" ,rust-xml-rs-0.8)))) - (home-page "https://github.com/smithay/wayland-rs") - (synopsis "Generate Rust APIs from XML Wayland protocol files") - (description - "Wayland Scanner generates Rust APIs from XML Wayland protocol files. -It is intended for use with wayland-sys. You should only need this crate if -you are working on custom Wayland protocol extensions. -Look at the wayland-client crate for usable bindings.") - (license license:expat))) + ("rust-xml-rs" ,rust-xml-rs-0.8)))))) (define-public rust-wayland-scanner-0.21 (package @@ -2096,8 +2405,42 @@ Look at the wayland-client crate for usable bindings.") (base32 "17mp49v7w0p0x5ry628lj2llljnwkr9aj9g4bqqhfibid32jhf5z")))))) +(define-public rust-wayland-server-0.28 + (package + (name "rust-wayland-server") + (version "0.28.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "wayland-server" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "09jfdjfqhjfcpiz4csgh60ymfkmz1cl3jmxyzq9hzcp0kyyxix93")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-bitflags" ,rust-bitflags-1) + ("rust-downcast-rs" ,rust-downcast-rs-1) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-libc" ,rust-libc-0.2) + ("rust-nix" ,rust-nix-0.18) + ("rust-parking-lot" ,rust-parking-lot-0.11) + ("rust-scoped-tls" ,rust-scoped-tls-1) + ("rust-wayland-commons" ,rust-wayland-commons-0.28) + ("rust-wayland-scanner" ,rust-wayland-scanner-0.28) + ("rust-wayland-sys" ,rust-wayland-sys-0.28)))) + (home-page "https://github.com/smithay/wayland-rs") + (synopsis + "Bindings to the standard C implementation of the wayland protocol") + (description + "This package provides Rust bindings to the standard C implementation of +the wayland protocol, server side.") + (license license:expat))) + (define-public rust-wayland-server-0.23 (package + (inherit rust-wayland-server-0.28) (name "rust-wayland-server") (version "0.23.6") (source @@ -2109,25 +2452,17 @@ Look at the wayland-client crate for usable bindings.") (sha256 (base32 "1ccsalq6gnf07klnbjx2dxcbibhw03rqsgi578p913s3zsjlcg8a")))) - (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-bitflags" ,rust-bitflags-1) ("rust-calloop" ,rust-calloop-0.4) - ("rust-downcast-rs" ,rust-downcast-rs-1.1) + ("rust-downcast-rs" ,rust-downcast-rs-1) ("rust-libc" ,rust-libc-0.2) ("rust-mio" ,rust-mio-0.6) ("rust-nix" ,rust-nix-0.14) ("rust-wayland-commons" ,rust-wayland-commons-0.23) ("rust-wayland-sys" ,rust-wayland-sys-0.23) - ("rust-wayland-scanner" ,rust-wayland-scanner-0.23)))) - (home-page "https://github.com/smithay/wayland-rs") - (synopsis - "Bindings to the standard C implementation of the wayland protocol") - (description - "This package provides Rust bindings to the standard C implementation of -the wayland protocol, server side.") - (license license:expat))) + ("rust-wayland-scanner" ,rust-wayland-scanner-0.23)))))) (define-public rust-wayland-server-0.21 (package @@ -2147,7 +2482,7 @@ the wayland protocol, server side.") `(#:cargo-inputs (("rust-bitflags" ,rust-bitflags-1) ("rust-calloop" ,rust-calloop-0.4) - ("rust-downcast-rs" ,rust-downcast-rs-1.1) + ("rust-downcast-rs" ,rust-downcast-rs-1) ("rust-libc" ,rust-libc-0.2) ("rust-mio" ,rust-mio-0.6) ("rust-nix" ,rust-nix-0.14) @@ -2155,8 +2490,37 @@ the wayland protocol, server side.") ("rust-wayland-sys" ,rust-wayland-sys-0.21) ("rust-wayland-scanner" ,rust-wayland-scanner-0.21)))))) +(define-public rust-wayland-sys-0.28 + (package + (name "rust-wayland-sys") + (version "0.28.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "wayland-sys" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "16f03jsy7q6p2wpaazc4w4kycyyk0fz7lacpdbcizl9m1i7874v7")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-dlib" ,rust-dlib-0.4) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-libc" ,rust-libc-0.2) + ("rust-pkg-config" ,rust-pkg-config-0.3)))) + (home-page "https://github.com/smithay/wayland-rs") + (synopsis "FFI bindings to the various @file{libwayland-*.so} libraries") + (description + "This package provides FFI bindings to the various +@file{libwayland-*.so} libraries. You should only need this crate if +you are working on custom Wayland protocol extensions. Look at the +crate @code{rust-wayland-client} for usable bindings.") + (license license:expat))) + (define-public rust-wayland-sys-0.23 (package + (inherit rust-wayland-sys-0.28) (name "rust-wayland-sys") (version "0.23.6") (source @@ -2168,19 +2532,11 @@ the wayland protocol, server side.") (sha256 (base32 "1x2qafvj8hd2x5qfaan2dfpw9amg0f5g9sqrkdy7qvbddsl8jknr")))) - (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-dlib" ,rust-dlib-0.4) ("rust-lazy-static" ,rust-lazy-static-1) - ("rust-libc" ,rust-libc-0.2)))) - (home-page "https://github.com/smithay/wayland-rs") - (synopsis "FFI bindings to the various libwayland-*.so libraries") - (description - "FFI bindings to the various libwayland-*.so libraries. -You should only need this crate if you are working on custom wayland -protocol extensions. Look at the crate wayland-client for usable bindings.") - (license license:expat))) + ("rust-libc" ,rust-libc-0.2)))))) (define-public rust-wayland-sys-0.21 (package @@ -2197,8 +2553,64 @@ protocol extensions. Look at the crate wayland-client for usable bindings.") (base32 "0a0ndgkg98pvmkv44yya4f7mxzjaxylknqh64bpa05w0azyv02jj")))))) +(define-public rust-winit-0.24 + (package + (name "rust-winit") + (version "0.24.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "winit" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "15zmpx5ip6ziqhds7md1s0ri0blhxfa8fg1ylg84pf0frrpxlkns")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-bitflags" ,rust-bitflags-1) + ("rust-cocoa" ,rust-cocoa-0.24) + ("rust-core-foundation" ,rust-core-foundation-0.9) + ("rust-core-graphics" ,rust-core-graphics-0.22) + ("rust-core-video-sys" ,rust-core-video-sys-0.1) + ("rust-dispatch" ,rust-dispatch-0.2) + ("rust-instant" ,rust-instant-0.1) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-libc" ,rust-libc-0.2) + ("rust-log" ,rust-log-0.4) + ("rust-mio" ,rust-mio-0.6) + ("rust-mio-extras" ,rust-mio-extras-2) + ("rust-ndk" ,rust-ndk-0.2) + ("rust-ndk-glue" ,rust-ndk-glue-0.2) + ("rust-ndk-sys" ,rust-ndk-sys-0.2) + ("rust-objc" ,rust-objc-0.2) + ("rust-parking-lot" ,rust-parking-lot-0.11) + ("rust-percent-encoding" ,rust-percent-encoding-2) + ("rust-raw-window-handle" ,rust-raw-window-handle-0.3) + ("rust-serde" ,rust-serde-1) + ("rust-smithay-client-toolkit" ,rust-smithay-client-toolkit-0.12) + ("rust-stdweb" ,rust-stdweb-0.4) + ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2) + ("rust-wayland-client" ,rust-wayland-client-0.28) + ("rust-web-sys" ,rust-web-sys-0.3) + ("rust-winapi" ,rust-winapi-0.3) + ("rust-x11-dl" ,rust-x11-dl-2)))) + (home-page "https://github.com/rust-windowing/winit") + (synopsis "Window creation library") + (description + "Winit is a window creation and management library. It can create +windows and lets you handle events (for example: the window being +resized, a key being pressed, a mouse movement, etc.) produced by +window. + +Winit is designed to be a low-level brick in a hierarchy of libraries. +Consequently, in order to show something on the window you need to use +the platform-specific getters provided by winit, or another library.") + (license license:asl2.0))) + (define-public rust-winit-0.20 (package + (inherit rust-winit-0.24) (name "rust-winit") (version "0.20.0-alpha6") (source @@ -2219,7 +2631,6 @@ protocol extensions. Look at the crate wayland-client for usable bindings.") (sha256 (base32 "03q4bvdq86kii53d0vsywv08g8vqirf9h1lz2cl6rcc7gjfynpds"))))))) - (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-android-glue" ,rust-android-glue-0.2) @@ -2249,13 +2660,7 @@ protocol extensions. Look at the crate wayland-client for usable bindings.") #:cargo-development-inputs (("rust-console-log" ,rust-console-log-0.1) ("rust-env-logger" ,rust-env-logger-0.5) - ("rust-image" ,rust-image-0.21)))) - (home-page "https://github.com/rust-windowing/winit") - (synopsis - "Cross-platform window creation library") - (description - "Cross-platform window creation library.") - (license license:asl2.0))) + ("rust-image" ,rust-image-0.21)))))) (define-public rust-winit-0.19 (package @@ -2315,8 +2720,30 @@ protocol extensions. Look at the crate wayland-client for usable bindings.") (description "This crate provides X11 library bindings for Rust.") (license license:expat))) +(define-public rust-x11-clipboard-0.5 + (package + (name "rust-x11-clipboard") + (version "0.5.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "x11-clipboard" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "17c5yxxhknrp7y9mc7mp85ra8q4jw12c174m9yzbfr1vs2pkgsg5")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-xcb" ,rust-xcb-0.9)))) + (home-page "https://github.com/quininer/x11-clipboard") + (synopsis "x11 clipboard support for Rust") + (description "This package provides x11 clipboard support for Rust.") + (license license:expat))) + (define-public rust-x11-clipboard-0.4 (package + (inherit rust-x11-clipboard-0.5) (name "rust-x11-clipboard") (version "0.4.0") (source @@ -2328,16 +2755,11 @@ protocol extensions. Look at the crate wayland-client for usable bindings.") (sha256 (base32 "0nqdnswiyj28b1izjp5rzbc67cxpb5c8p4vh1xyndkirzs84vqqk")))) - (build-system cargo-build-system) (arguments `(#:tests? #f ; Tests require display server. #:cargo-inputs (("rust-xcb" ,rust-xcb-0.9)))) (native-inputs - `(("python" ,python))) - (home-page "https://github.com/quininer/x11-clipboard") - (synopsis "x11 clipboard support for Rust") - (description "This package provides x11 clipboard support for Rust.") - (license license:expat))) + `(("python" ,python))))) (define-public rust-x11-dl-2 (package diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index 36f0b98112..dbf8c9d888 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -65,6 +65,29 @@ ;;; Please: Try to add new module packages in alphabetic order. ;;; +(define-public rust-ab-glyph-rasterizer-0.1 + (package + (name "rust-ab-glyph-rasterizer") + (version "0.1.4") + (source + (origin + (method url-fetch) + (uri (crate-uri "ab_glyph_rasterizer" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1zzz78231w849xslz9s0pwjj6gp02wfbbxdpysqhwwq1vqr5xznr")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-libm" ,rust-libm-0.2)))) + (home-page "https://github.com/alexheretic/ab-glyph") + (synopsis "Coverage rasterization for lines, quadratic & cubic beziers") + (description + "This package provides coverage rasterization for lines, quadratic and +cubic beziers.") + (license license:asl2.0))) + (define-public rust-abomonation-0.7 (package (name "rust-abomonation") @@ -1173,6 +1196,70 @@ using AES-NI for high performance.") ("rust-rand" ,rust-rand-0.3) ("rust-rustc-serialize" ,rust-rustc-serialize-0.3)))))) +(define-public rust-alacritty-config-derive-0.1 + (package + (name "rust-alacritty-config-derive") + (version "0.1.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "alacritty_config_derive" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0dn3cg233jyi06xz8q1vfgjikdpcjdid36kqnl0yawdqpm2lq13p")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-proc-macro2" ,rust-proc-macro2-1) + ("rust-quote" ,rust-quote-1) + ("rust-syn" ,rust-syn-1)))) + (home-page "https://github.com/alacritty/alacritty") + (synopsis "Failure resistant deserialization derive") + (description + "This package provides a failure resistant deserialization derive.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-alacritty-terminal-0.12 + (package + (name "rust-alacritty-terminal") + (version "0.12.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "alacritty_terminal" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1q7sm7rm5yny4lka8w4vji2v2crkkbwj3y8l5qnq01qlwmkjmkfd")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-alacritty-config-derive" ,rust-alacritty-config-derive-0.1) + ("rust-base64" ,rust-base64-0.12) + ("rust-bitflags" ,rust-bitflags-1) + ("rust-dirs" ,rust-dirs-2) + ("rust-libc" ,rust-libc-0.2) + ("rust-log" ,rust-log-0.4) + ("rust-mio" ,rust-mio-0.6) + ("rust-mio-anonymous-pipes" ,rust-mio-anonymous-pipes-0.1) + ("rust-mio-extras" ,rust-mio-extras-2) + ("rust-miow" ,rust-miow-0.3) + ("rust-nix" ,rust-nix-0.18) + ("rust-parking-lot" ,rust-parking-lot-0.11) + ("rust-regex-automata" ,rust-regex-automata-0.1) + ("rust-serde" ,rust-serde-1) + ("rust-serde-yaml" ,rust-serde-yaml-0.8) + ("rust-signal-hook" ,rust-signal-hook-0.1) + ("rust-unicode-width" ,rust-unicode-width-0.1) + ("rust-vte" ,rust-vte-0.10) + ("rust-winapi" ,rust-winapi-0.3)))) + (home-page "https://github.com/alacritty/alacritty") + (synopsis "Library for writing terminal emulators") + (description + "This package provides a library for writing terminal emulators.") + (license license:asl2.0))) + (define-public rust-alga-0.9 (package (name "rust-alga") @@ -5062,8 +5149,31 @@ cached data.") directories and @code{CACHEDIR.TAG} files.") (license (list license:expat license:asl2.0)))) +(define-public rust-calloop-0.6 + (package + (name "rust-calloop") + (version "0.6.5") + (source + (origin + (method url-fetch) + (uri (crate-uri "calloop" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0z3jlsv3g28097dhsmi2l8nzkd3p937jhb4pg52njhb0wxkn20qb")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-log" ,rust-log-0.4) + ("rust-nix" ,rust-nix-0.18)))) + (home-page "https://github.com/Smithay/calloop") + (synopsis "Callback-based event loop") + (description "This package provides a callback-based event loop.") + (license license:expat))) + (define-public rust-calloop-0.4 (package + (inherit rust-calloop-0.6) (name "rust-calloop") (version "0.4.4") (source @@ -5081,19 +5191,13 @@ directories and @code{CACHEDIR.TAG} files.") (substitute* "Cargo.toml" (("=1.0.0") "^1.0.0")) #t)))) - (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-mio" ,rust-mio-0.6) ("rust-mio-extras" ,rust-mio-extras-2) ("rust-nix" ,rust-nix-0.14)) #:cargo-development-inputs - (("rust-lazycell" ,rust-lazycell-1)))) - (home-page "https://github.com/Smithay/calloop") - (synopsis "Callback-based event loop") - (description - "This package provides a callback-based event loop") - (license license:expat))) + (("rust-lazycell" ,rust-lazycell-1)))))) (define-public rust-capnp-0.13 (package @@ -5826,8 +5930,32 @@ Command Line Argument Parser.") colorization.") (license license:expat))) +(define-public rust-clipboard-win-3 + (package + (name "rust-clipboard-win") + (version "3.1.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "clipboard-win" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0hh3npqfa1lfn62fwvkmjlpfnizq343a994b898ffsvb100mxpwz")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-lazy-bytes-cast" ,rust-lazy-bytes-cast-5) + ("rust-winapi" ,rust-winapi-0.3)))) + (home-page "https://github.com/DoumanAsh/clipboard-win") + (synopsis "Simple way to interact with Windows clipboard") + (description + "This package provides simple way to interact with Windows clipboard.") + (license license:expat))) + (define-public rust-clipboard-win-2.1 (package + (inherit rust-clipboard-win-3) (name "rust-clipboard-win") (version "2.1.2") (source @@ -5839,15 +5967,9 @@ colorization.") (sha256 (base32 "0431sg4jhabrqf2dliiwhbx9hinb9z4qfcm6914lm5mb17ya5798")))) - (build-system cargo-build-system) (arguments `(#:tests? #f ; Tests are for Windows. - #:cargo-inputs (("rust-winapi" ,rust-winapi-0.3)))) - (home-page "https://github.com/DoumanAsh/clipboard-win") - (synopsis "Interact with Windows clipboard") - (description - "This package provides simple way to interact with Windows clipboard.") - (license license:expat))) + #:cargo-inputs (("rust-winapi" ,rust-winapi-0.3)))))) (define-public rust-clippy-0.0 (package @@ -5993,8 +6115,84 @@ CMAKE environmental variable is set.") (license (list license:asl2.0 license:expat)))) +(define-public rust-cocoa-0.24 + (package + (name "rust-cocoa") + (version "0.24.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "cocoa" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0cp8hsajmi7gini22bmlsf9dac7cap7x1k169vxhwlr3j8p90qvg")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-bitflags" ,rust-bitflags-1) + ("rust-block" ,rust-block-0.1) + ("rust-cocoa-foundation" ,rust-cocoa-foundation-0.1) + ("rust-core-foundation" ,rust-core-foundation-0.9) + ("rust-core-graphics" ,rust-core-graphics-0.22) + ("rust-foreign-types" ,rust-foreign-types-0.3) + ("rust-libc" ,rust-libc-0.2) + ("rust-objc" ,rust-objc-0.2)))) + (home-page "https://github.com/servo/core-foundation-rs") + (synopsis "Bindings to Cocoa for macOS") + (description "This package provides bindings to Cocoa for macOS.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-cocoa-0.23 + (package + (inherit rust-cocoa-0.24) + (name "rust-cocoa") + (version "0.23.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "cocoa" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1cj4c2axmg7aiid2786mpzj7wxpd582biv7c7yimqfnggp002hn5")))) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-bitflags" ,rust-bitflags-1) + ("rust-block" ,rust-block-0.1) + ("rust-cocoa-foundation" ,rust-cocoa-foundation-0.1) + ("rust-core-foundation" ,rust-core-foundation-0.9) + ("rust-core-graphics" ,rust-core-graphics-0.22) + ("rust-foreign-types" ,rust-foreign-types-0.3) + ("rust-libc" ,rust-libc-0.2) + ("rust-objc" ,rust-objc-0.2)))))) + +(define-public rust-cocoa-0.22 + (package + (inherit rust-cocoa-0.23) + (name "rust-cocoa") + (version "0.22.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "cocoa" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "19qyyv01yzrm6aahn6cdxvb4jhl6v4fj0cgqkxmq38i7hq3dqzv6")))) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-bitflags" ,rust-bitflags-1) + ("rust-block" ,rust-block-0.1) + ("rust-core-foundation" ,rust-core-foundation-0.9) + ("rust-core-graphics" ,rust-core-graphics-0.21) + ("rust-foreign-types" ,rust-foreign-types-0.3) + ("rust-libc" ,rust-libc-0.2) + ("rust-objc" ,rust-objc-0.2)))))) + (define-public rust-cocoa-0.19 (package + (inherit rust-cocoa-0.22) (name "rust-cocoa") (version "0.19.1") (source @@ -6006,7 +6204,6 @@ CMAKE environmental variable is set.") (sha256 (base32 "0034vahbfv574q4b63rj241b8rnka5cjiqsqc6wiggnin9l7g7zj")))) - (build-system cargo-build-system) (arguments `(#:skip-build? #t ; only for macOS #:cargo-inputs @@ -6016,11 +6213,7 @@ CMAKE environmental variable is set.") ("rust-core-graphics" ,rust-core-graphics-0.17) ("rust-foreign-types" ,rust-foreign-types-0.3) ("rust-libc" ,rust-libc-0.2) - ("rust-objc" ,rust-objc-0.2)))) - (home-page "https://github.com/servo/core-foundation-rs") - (synopsis "Bindings to Cocoa for macOS") - (description "Bindings to Cocoa for macOS.") - (license (list license:expat license:asl2.0)))) + ("rust-objc" ,rust-objc-0.2)))))) (define-public rust-cocoa-0.18 (package @@ -6037,6 +6230,34 @@ CMAKE environmental variable is set.") (base32 "0m6fgdr4d2fp8jhkqvwr23hrqqqjv72g0j9vdgijc58k05j9j1hp")))))) +(define-public rust-cocoa-foundation-0.1 + (package + (name "rust-cocoa-foundation") + (version "0.1.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "cocoa-foundation" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0633ipbd28z35rsdmsl505f1aasrjsrrnirs826aa32nbnv4kpks")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-bitflags" ,rust-bitflags-1) + ("rust-block" ,rust-block-0.1) + ("rust-core-foundation" ,rust-core-foundation-0.9) + ("rust-core-graphics-types" ,rust-core-graphics-types-0.1) + ("rust-foreign-types" ,rust-foreign-types-0.3) + ("rust-libc" ,rust-libc-0.2) + ("rust-objc" ,rust-objc-0.2)))) + (home-page "https://github.com/servo/core-foundation-rs") + (synopsis "Bindings to Cocoa Foundation for macOS") + (description + "This package provides bindings to Cocoa Foundation for macOS.") + (license (list license:expat license:asl2.0)))) + (define-public rust-codespan-reporting-0.9 (package (name "rust-codespan-reporting") @@ -6741,6 +6962,34 @@ Split from the user_agent crate.") the standard library.") (license (list license:expat license:asl2.0)))) +(define-public rust-copypasta-0.7 + (package + (name "rust-copypasta") + (version "0.7.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "copypasta" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "02zz6yndszmzr5yjhn11g1hsj0232jbzl8gch6mxksw3xngxf8s4")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-clipboard-win" ,rust-clipboard-win-3) + ("rust-objc" ,rust-objc-0.2) + ("rust-objc-foundation" ,rust-objc-foundation-0.1) + ("rust-objc-id" ,rust-objc-id-0.1) + ("rust-smithay-clipboard" ,rust-smithay-clipboard-0.6) + ("rust-x11-clipboard" ,rust-x11-clipboard-0.5)))) + (home-page "https://github.com/alacritty/copypasta") + (synopsis "Get and set the contents of the OS-level clipboard") + (description + "Copypasta is a cross-platform library for getting and setting the +contents of the OS-level clipboard.") + (license (list license:expat license:asl2.0)))) + (define-public rust-cordic-0.1 (package (name "rust-cordic") @@ -7024,8 +7273,33 @@ intrinsics.") #:cargo-inputs (("rust-libc" ,rust-libc-0.2)))))) +(define-public rust-core-text-19 + (package + (name "rust-core-text") + (version "19.1.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "core-text" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0q1sr55v8zq82y0dwnwwksz1radh515i0a45nbsda3w2idpg9iyj")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-core-foundation" ,rust-core-foundation-0.9) + ("rust-core-graphics" ,rust-core-graphics-0.22) + ("rust-foreign-types" ,rust-foreign-types-0.3) + ("rust-libc" ,rust-libc-0.2)))) + (home-page "https://github.com/servo/core-foundation-rs") + (synopsis "Bindings to the Core Text framework") + (description "This package provides bindings to the Core Text framework.") + (license (list license:expat license:asl2.0)))) + (define-public rust-core-text-13 (package + (inherit rust-core-text-19) (name "rust-core-text") (version "13.3.2") (source @@ -7037,19 +7311,13 @@ intrinsics.") (sha256 (base32 "0v9lxn277p39cf81pb45r7k0lzf17pwgd5cpry1c04ajv556b16v")))) - (build-system cargo-build-system) (arguments `(#:skip-build? #t ; only for macOS #:cargo-inputs (("rust-core-foundation" ,rust-core-foundation-0.6) ("rust-core-graphics" ,rust-core-graphics-0.17) ("rust-foreign-types" ,rust-foreign-types-0.3) - ("rust-libc" ,rust-libc-0.2)))) - (home-page "https://github.com/servo/core-foundation-rs") - (synopsis "Bindings to the Core Text framework") - (description - "Bindings to the Core Text framework.") - (license (list license:expat license:asl2.0)))) + ("rust-libc" ,rust-libc-0.2)))))) (define-public rust-cpp-demangle-0.2 (package @@ -7706,6 +7974,41 @@ message passing.") #:cargo-development-inputs (("rust-rand" ,rust-rand-0.6)))))) +(define-public rust-crossfont-0.2 + (package + (name "rust-crossfont") + (version "0.2.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "crossfont" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "04p8k0yn19n2pdbiqzwkknakz9c7kdii0i2nf3s3p298ab7ld28h")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-cocoa" ,rust-cocoa-0.24) + ("rust-core-foundation" ,rust-core-foundation-0.9) + ("rust-core-foundation-sys" ,rust-core-foundation-sys-0.8) + ("rust-core-graphics" ,rust-core-graphics-0.22) + ("rust-core-text" ,rust-core-text-19) + ("rust-dwrote" ,rust-dwrote-0.11) + ("rust-foreign-types" ,rust-foreign-types-0.5) + ("rust-freetype-rs" ,rust-freetype-rs-0.26) + ("rust-libc" ,rust-libc-0.2) + ("rust-log" ,rust-log-0.4) + ("rust-pkg-config" ,rust-pkg-config-0.3) + ("rust-servo-fontconfig" ,rust-servo-fontconfig-0.5) + ("rust-winapi" ,rust-winapi-0.3)))) + (home-page "https://github.com/alacritty/crossfont") + (synopsis "Native font loading and rasterization") + (description + "Crossfont is a cross-platform Rust library for loading fonts and +rasterizing glyphs, using native font engines whenever possible.") + (license license:asl2.0))) + (define-public rust-crossterm-0.13 (package (name "rust-crossterm") @@ -9558,7 +9861,7 @@ Directory guidelines on macOS.") standard locations of directories for config, cache and other data.") (license (list license:expat license:asl2.0)))) -(define-public rust-dirs-2.0 +(define-public rust-dirs-2 (package (inherit rust-dirs-3) (name "rust-dirs") @@ -9577,7 +9880,7 @@ standard locations of directories for config, cache and other data.") (define-public rust-dirs-1.0 (package - (inherit rust-dirs-2.0) + (inherit rust-dirs-2) (name "rust-dirs") (version "1.0.5") (source @@ -9687,27 +9990,41 @@ memory but not other memory. This package provides a discard trait which allows for intentionally leaking memory") (license license:expat))) -(define-public rust-dispatch-0.1 +(define-public rust-dispatch-0.2 (package (name "rust-dispatch") - (version "0.1.4") + (version "0.2.0") (source (origin (method url-fetch) (uri (crate-uri "dispatch" version)) - (file-name - (string-append name "-" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 - "019nzy993hxaiazcdnayx3csv2iki34i535asw11ki96hakkrs84")))) + (base32 "0fwjr9b7582ic5689zxj8lf7zl94iklhlns3yivrnv8c9fxr635x")))) (build-system cargo-build-system) - (arguments '(#:tests? #f)) ; Tests only run on Mac. + (arguments `(#:skip-build? #t)) (home-page "https://github.com/SSheldon/rust-dispatch") (synopsis "Rust wrapper for Apple's Grand Central Dispatch") (description "This package provides a Rust wrapper for Apple's Grand Central Dispatch.") (license license:expat))) +(define-public rust-dispatch-0.1 + (package + (inherit rust-dispatch-0.2) + (name "rust-dispatch") + (version "0.1.4") + (source + (origin + (method url-fetch) + (uri (crate-uri "dispatch" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "019nzy993hxaiazcdnayx3csv2iki34i535asw11ki96hakkrs84")))) + (arguments '(#:tests? #f)))) ; Tests only run on Mac. + (define-public rust-dissimilar-1.0 (package (name "rust-dissimilar") @@ -9879,28 +10196,7 @@ from macros.") ("rust-rustc-serialize" ,rust-rustc-serialize-0.3) ("rust-strsim" ,rust-strsim-0.5)))))) -(define-public rust-downcast-rs-1.1 - (package - (name "rust-downcast-rs") - (version "1.1.1") - (source - (origin - (method url-fetch) - (uri (crate-uri "downcast-rs" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1xhs2qj02k9m4mm5fgh19y88850y9jsnwwlblf2ffc91gjs6xfjj")))) - (build-system cargo-build-system) - (home-page "https://github.com/marcianx/downcast-rs") - (synopsis "Trait object downcasting support using only safe Rust") - (description - "Trait object downcasting support using only safe Rust. It supports type -parameters, associated types, and type constraints.") - (license (list license:expat license:asl2.0)))) - -(define-public rust-downcast-rs-1.2 +(define-public rust-downcast-rs-1 (package (name "rust-downcast-rs") (version "1.2.0") @@ -10122,8 +10418,36 @@ floating-point primitives to an @code{io::Write}.") (description "Clone trait that is object-safe") (license (list license:expat license:asl2.0)))) +(define-public rust-dwrote-0.11 + (package + (name "rust-dwrote") + (version "0.11.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "dwrote" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0nx6d9ddqjv0gfi1if3zbsnc9sfj6qfm900jfgnx66k1llmir6j3")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-lazy-static" ,rust-lazy-static-1) + ("rust-libc" ,rust-libc-0.2) + ("rust-serde" ,rust-serde-1) + ("rust-serde-derive" ,rust-serde-derive-1) + ("rust-winapi" ,rust-winapi-0.3) + ("rust-wio" ,rust-wio-0.2)))) + (home-page "https://github.com/servo/dwrote-rs") + (synopsis "Lightweight binding to DirectWrite") + (description + "This package provides lightweight binding to DirectWrite.") + (license license:mpl2.0))) + (define-public rust-dwrote-0.9 (package + (inherit rust-dwrote-0.11) (name "rust-dwrote") (version "0.9.0") (source @@ -10135,7 +10459,6 @@ floating-point primitives to an @code{io::Write}.") (sha256 (base32 "03gzl5pd90nlkmwqmbmjmyz47h7wlblbqrwv5a29npnv0ag3dl8b")))) - (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs @@ -10144,12 +10467,7 @@ floating-point primitives to an @code{io::Write}.") ("rust-serde" ,rust-serde-1) ("rust-serde-derive" ,rust-serde-derive-1) ;("rust-wio" ,rust-wio-0.2) - ("rust-winapi" ,rust-winapi-0.3)))) - (home-page "https://github.com/servo/dwrote-rs") - (synopsis "Lightweight binding to DirectWrite") - (description - "This package provides lightweight binding to DirectWrite.") - (license license:mpl2.0))) + ("rust-winapi" ,rust-winapi-0.3)))))) (define-public rust-easy-parallel-3 (package @@ -10312,7 +10630,7 @@ signing, and verification in pure Rust.") @code{Right} is a general purpose sum type with two cases.") (license (list license:expat license:asl2.0)))) -(define-public rust-embed-resource-1.3 +(define-public rust-embed-resource-1 (package (name "rust-embed-resource") (version "1.3.3") @@ -11153,7 +11471,7 @@ blocking data structures.") @code{?} in @code{main}.") (license (list license:expat license:asl2.0)))) -(define-public rust-expat-sys-2.1 +(define-public rust-expat-sys-2 (package (name "rust-expat-sys") (version "2.1.6") @@ -12217,8 +12535,32 @@ values to other threads.") "Bindings for Freetype used by Servo.") (license (list license:asl2.0 license:expat)))) +(define-public rust-freetype-rs-0.26 + (package + (name "rust-freetype-rs") + (version "0.26.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "freetype-rs" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1yzmbd73hlblbns0dqkcwfj54l97hx3yb0lqpda8rhm5s34xxskl")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-bitflags" ,rust-bitflags-1) + ("rust-freetype-sys" ,rust-freetype-sys-0.13) + ("rust-libc" ,rust-libc-0.2)))) + (home-page "https://github.com/PistonDevelopers/freetype-rs") + (synopsis "Bindings for FreeType font library") + (description "This package provides bindings for FreeType font library.") + (license license:expat))) + (define-public rust-freetype-rs-0.23 (package + (inherit rust-freetype-rs-0.26) (name "rust-freetype-rs") (version "0.23.0") (source @@ -12230,7 +12572,6 @@ values to other threads.") (sha256 (base32 "06yn6l44wad0h0i4nzs5jfq64zgf89xr01fy1w22i90j22ilnkmd")))) - (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-bitflags" ,rust-bitflags-1) @@ -12240,14 +12581,35 @@ values to other threads.") (("rust-unicode-normalization" ,rust-unicode-normalization-0.1)))) (inputs `(("freetype" ,freetype) - ("zlib" ,zlib))) - (home-page "https://github.com/PistonDevelopers/freetype-rs") - (synopsis "Bindings for FreeType font library") - (description "This package provides bindings for FreeType font library.") + ("zlib" ,zlib))))) + +(define-public rust-freetype-sys-0.13 + (package + (name "rust-freetype-sys") + (version "0.13.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "freetype-sys" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "06kkds31s6b1i39dyanwmzbnic7laia1kk3gfvx8sqncq08l0zd3")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-cmake" ,rust-cmake-0.1) + ("rust-libc" ,rust-libc-0.2) + ("rust-pkg-config" ,rust-pkg-config-0.3)))) + (home-page "https://github.com/PistonDevelopers/freetype-sys") + (synopsis "Low level binding for FreeType font library") + (description + "This package provides low level binding for FreeType font library.") (license license:expat))) (define-public rust-freetype-sys-0.9 (package + (inherit rust-freetype-sys-0.13) (name "rust-freetype-sys") (version "0.9.0") (source @@ -12259,7 +12621,6 @@ values to other threads.") (sha256 (base32 "1i309xc6gcsgdfiim3j5f0sk08imr4frlzfa185iaxqciysqgikx")))) - (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-libc" ,rust-libc-0.2) @@ -12267,12 +12628,7 @@ values to other threads.") ("rust-pkg-config" ,rust-pkg-config-0.3)))) (inputs `(("freetype" ,freetype) - ("zlib" ,zlib))) - (home-page "https://github.com/PistonDevelopers/freetype-sys") - (synopsis "Low level binding for FreeType font library") - (description - "This package provides low level binding for FreeType font library.") - (license license:expat))) + ("zlib" ,zlib))))) (define-public rust-fs2-0.4 (package @@ -17398,6 +17754,25 @@ generated by LALRPOP.") (sha256 (base32 "0z4bjn3g9232n1im5p6mn9mwlvw5aj5iac6hbjmljqxkhf3d2xy2")))))) +(define-public rust-lazy-bytes-cast-5 + (package + (name "rust-lazy-bytes-cast") + (version "5.0.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "lazy-bytes-cast" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0sr0dy1jfg7bjwm9js4hk0ngl0cmgparq2idv1m1bkc9y2cp898h")))) + (build-system cargo-build-system) + (arguments `(#:skip-build? #t)) + (home-page "https://github.com/DoumanAsh/lazy-bytes-cast") + (synopsis "Lazy casts from and to byte arrays") + (description + "This crate provides simple methods to cast from and into byte arrays.") + (license license:boost1.0))) + (define-public rust-lazy-static-1.4 (package (name "rust-lazy-static") @@ -17801,18 +18176,11 @@ library.") (uri (crate-uri "libloading" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 - "1ygliqa518jjxwa5ih4b2f8m984ib596vxmjb28pa5lb8zqdhhr4")) - (modules '((guix build utils))) - (snippet - '(begin - ;; Enable unstable features - (substitute* "src/lib.rs" - (("//! A memory" all) - (string-append "#![feature(non_exhaustive)]\n" all))))))) + (base32 "1ygliqa518jjxwa5ih4b2f8m984ib596vxmjb28pa5lb8zqdhhr4")))) (build-system cargo-build-system) (arguments - `(#:cargo-inputs + `(#:skip-build? #true + #:cargo-inputs (("rust-cfg-if" ,rust-cfg-if-0.1) ("rust-winapi" ,rust-winapi-0.3)) #:cargo-development-inputs @@ -19474,6 +19842,27 @@ file IO.") #:cargo-development-inputs (("rust-tempdir" ,rust-tempdir-0.3)))))) +(define-public rust-memmap2-0.1 + (package + (name "rust-memmap2") + (version "0.1.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "memmap2" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0nmymqy9q62x577ydja0ysfyir7h5qa0n5fwcnvchfhhlsi0rdyr")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-libc" ,rust-libc-0.2)))) + (home-page "https://github.com/RazrFalcon/memmap2-rs") + (synopsis "Cross-platform Rust API for memory-mapped file IO") + (description "This package provides a Rust API for memory-mapped file IO.") + (license (list license:expat license:asl2.0)))) + (define-public rust-memoffset-0.6 (package (name "rust-memoffset") @@ -19670,8 +20059,35 @@ based on Rustls and Ring.") (description "Run pkg-config from declarative dependencies in Cargo.toml.") (license (list license:expat license:asl2.0)))) +(define-public rust-metal-0.18 + (package + (name "rust-metal") + (version "0.18.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "metal" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "08n3kfv78jm3pf7fafwfv67n40lgcdg7w9lqn9g4sdvfwdk90vrf")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-bitflags" ,rust-bitflags-1) + ("rust-block" ,rust-block-0.1) + ("rust-cocoa" ,rust-cocoa-0.22) + ("rust-foreign-types" ,rust-foreign-types-0.3) + ("rust-log" ,rust-log-0.4) + ("rust-objc" ,rust-objc-0.2)))) + (home-page "https://github.com/gfx-rs/metal-rs") + (synopsis "Rust bindings for Metal") + (description "This package provides Rust bindings for Metal.") + (license (list license:expat license:asl2.0)))) + (define-public rust-metal-0.14 (package + (inherit rust-metal-0.18) (name "rust-metal") (version "0.14.0") (source @@ -19683,7 +20099,6 @@ based on Rustls and Ring.") (sha256 (base32 "0my1xwlv562i80y3jbk0nygayi383j5skdwk48clb286b7922gyd")))) - (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs @@ -19699,11 +20114,7 @@ based on Rustls and Ring.") ("rust-objc-id" ,rust-objc-id-0.1)) #:cargo-development-inputs (("rust-sema" ,rust-sema-0.1) - ("rust-winit" ,rust-winit-0.19)))) ; 0.17? - (home-page "https://github.com/gfx-rs/metal-rs") - (synopsis "Rust bindings for Metal") - (description "Rust bindings for Metal.") - (license (list license:expat license:asl2.0)))) + ("rust-winit" ,rust-winit-0.19)))))) ; 0.17? (define-public rust-mimalloc-0.1 (package @@ -22934,6 +23345,28 @@ under its new name.") "Utility to activate escape codes in Windows' CMD and PowerShell.") (license license:expat))) +(define-public rust-owned-ttf-parser-0.6 + (package + (name "rust-owned-ttf-parser") + (version "0.6.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "owned_ttf_parser" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1qydjksjcllf0pnm0jkjvbg4n52wfcwv59dl5b06cqn40sw3z4lz")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-ttf-parser" ,rust-ttf-parser-0.6)))) + (home-page "https://github.com/alexheretic/owned-ttf-parser") + (synopsis "TTF-parser plus support for owned data") + (description + "This package provides a TTF-parser plus support for owned data.") + (license license:asl2.0))) + (define-public rust-owning-ref-0.4 (package (name "rust-owning-ref") @@ -29641,8 +30074,41 @@ native certificate store.") (license (list license:asl2.0 license:isc license:expat)))) +(define-public rust-rusttype-0.9 + (package + (name "rust-rusttype") + (version "0.9.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "rusttype" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0ngcwn7d2dybjrylga3gpxm3k3mcw3m405hcp32iignhvrx74z6w")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-ab-glyph-rasterizer" ,rust-ab-glyph-rasterizer-0.1) + ("rust-crossbeam-deque" ,rust-crossbeam-deque-0.7) + ("rust-crossbeam-utils" ,rust-crossbeam-utils-0.7) + ("rust-libm" ,rust-libm-0.2) + ("rust-linked-hash-map" ,rust-linked-hash-map-0.5) + ("rust-num-cpus" ,rust-num-cpus-1) + ("rust-owned-ttf-parser" ,rust-owned-ttf-parser-0.6) + ("rust-rustc-hash" ,rust-rustc-hash-1)))) + (home-page "https://gitlab.redox-os.org/redox-os/rusttype") + (synopsis "Pure Rust alternative to libraries like FreeType") + (description + "This package provides a pure Rust alternative to libraries like FreeType. +RustType provides an API for loading, querying and rasterising TrueType fonts. +It also provides an implementation of a dynamic GPU glyph cache for hardware +font rendering.") + (license (list license:expat license:asl2.0)))) + (define-public rust-rusttype-0.8 (package + (inherit rust-rusttype-0.9) (name "rust-rusttype") (version "0.8.2") (source @@ -29654,7 +30120,6 @@ native certificate store.") (sha256 (base32 "12hwfg85iii7sbgsyyr23yw862dzp7f8zwn9xv5iqydm5w1i3a8l")))) - (build-system cargo-build-system) (arguments `(#:tests? #f ; Artifacts for tests not included. #:cargo-inputs @@ -29667,15 +30132,7 @@ native certificate store.") ("rust-num-cpus" ,rust-num-cpus-1) ("rust-ordered-float" ,rust-ordered-float-1.0) ("rust-rustc-hash" ,rust-rustc-hash-1) - ("rust-stb-truetype" ,rust-stb-truetype-0.3)))) - (home-page "https://gitlab.redox-os.org/redox-os/rusttype") - (synopsis "Pure Rust alternative to libraries like FreeType") - (description - "This package provides a pure Rust alternative to libraries like FreeType. -RustType provides an API for loading, querying and rasterising TrueType fonts. -It also provides an implementation of a dynamic GPU glyph cache for hardware -font rendering.") - (license (list license:expat license:asl2.0)))) + ("rust-stb-truetype" ,rust-stb-truetype-0.3)))))) (define-public rust-rusttype-0.7 (package @@ -31798,8 +32255,31 @@ functionality and without weak references.") (description "Serialising Rust tests") (license license:expat))) +(define-public rust-servo-fontconfig-0.5 + (package + (name "rust-servo-fontconfig") + (version "0.5.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "servo-fontconfig" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0z11bjndkp87dnqqmqww6raswgpy7sfh9ahdpx7d0wzxwlpy5qy7")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-libc" ,rust-libc-0.2) + ("rust-servo-fontconfig-sys" ,rust-servo-fontconfig-sys-5)))) + (home-page "https://github.com/servo/rust-fontconfig/") + (synopsis "Rust bindings for fontconfig") + (description "This package provides Rust bindings for fontconfig.") + (license (list license:expat license:asl2.0)))) + (define-public rust-servo-fontconfig-0.4 (package + (inherit rust-servo-fontconfig-0.5) (name "rust-servo-fontconfig") (version "0.4.0") (source @@ -31811,7 +32291,6 @@ functionality and without weak references.") (sha256 (base32 "1nach6s4hdf86jz5hlm4p5r7vin91cs7gg89mr533id5fpbzi250")))) - (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-libc" ,rust-libc-0.2) @@ -31819,14 +32298,35 @@ functionality and without weak references.") (native-inputs `(("pkg-config" ,pkg-config))) (inputs - `(("fontconfig" ,fontconfig))) - (home-page "https://github.com/servo/rust-fontconfig/") - (synopsis "Rust bindings for fontconfig") - (description "This package provides Rust bindings for fontconfig.") - (license (list license:expat license:asl2.0)))) + `(("fontconfig" ,fontconfig))))) + +(define-public rust-servo-fontconfig-sys-5 + (package + (name "rust-servo-fontconfig-sys") + (version "5.1.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "servo-fontconfig-sys" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "125k4hydb4w08568rgazh95n6haxhf5c78axz50glbc9p6fqfsz3")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-expat-sys" ,rust-expat-sys-2) + ("rust-freetype-sys" ,rust-freetype-sys-0.13) + ("rust-pkg-config" ,rust-pkg-config-0.3)))) + (home-page "https://crates.io/crates/servo-fontconfig-sys") + (synopsis "Rust wrapper around Fontconfig") + (description + "This package provides a Rust wrapper around Fontxonfig.") + (license license:expat))) (define-public rust-servo-fontconfig-sys-4 (package + (inherit rust-servo-fontconfig-sys-5) (name "rust-servo-fontconfig-sys") (version "4.0.9") (source @@ -31844,21 +32344,15 @@ functionality and without weak references.") (for-each delete-file-recursively (find-files "." "[^Cargo.toml,^build\\.rs]")) #t)))) - (build-system cargo-build-system) (arguments `(#:cargo-inputs - (("rust-expat-sys" ,rust-expat-sys-2.1) + (("rust-expat-sys" ,rust-expat-sys-2) ("rust-servo-freetype-sys" ,rust-servo-freetype-sys-4) ("rust-pkg-config" ,rust-pkg-config-0.3)))) (native-inputs `(("pkg-config" ,pkg-config))) (inputs - `(("fontconfig" ,fontconfig))) - (home-page "https://crates.io/crates/servo-fontconfig-sys") - (synopsis "Rust wrapper around Fontconfig") - (description - "This package provides a Rust wrapper around Fontxonfig.") - (license license:mpl2.0))) ; build.rs is mpl2.0 + `(("fontconfig" ,fontconfig))))) (define-public rust-servo-freetype-sys-4 (package @@ -35240,7 +35734,7 @@ template language.") (build-system cargo-build-system) (arguments `(#:cargo-inputs - (("rust-dirs" ,rust-dirs-2.0) + (("rust-dirs" ,rust-dirs-2) ("rust-winapi" ,rust-winapi-0.3)))) (home-page "https://github.com/Stebalien/term") (synopsis "Terminal formatting library") @@ -38719,6 +39213,26 @@ extension for the Trust-DNS client to use rustls for TLS.") "Test harness for ui tests of compiler diagnostics.") (license (list license:expat license:asl2.0)))) +(define-public rust-ttf-parser-0.6 + (package + (name "rust-ttf-parser") + (version "0.6.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "ttf-parser" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1p4z969pwd5adayy3ijq94iiak42yfxz8hk5wnkdsirymgbpqp9y")))) + (build-system cargo-build-system) + (arguments `(#:skip-build? #t)) + (home-page "https://github.com/RazrFalcon/ttf-parser") + (synopsis "High-level, safe, zero-allocation TrueType font parser") + (description + "This package provides a high-level, safe, zero-allocation TrueType font +parser.") + (license (list license:expat license:asl2.0)))) + (define-public rust-tuikit-0.2 (package (name "rust-tuikit") @@ -40206,8 +40720,34 @@ updated when the crate version changes.") "This package provides a pure FFI to Jon Blow's VS discovery script.") (license license:expat))) +(define-public rust-vte-0.10 + (package + (name "rust-vte") + (version "0.10.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "vte" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1mnjw3f071xbvapdgdf8mcdglw60dadcc5hhvz5zpljm53nmzwid")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-arrayvec" ,rust-arrayvec-0.5) + ("rust-utf8parse" ,rust-utf8parse-0.2) + ("rust-vte-generate-state-changes" + ,rust-vte-generate-state-changes-0.1)))) + (home-page "https://github.com/jwilm/vte") + (synopsis "Parser for implementing terminal emulators") + (description + "This package provides a parser for implementing terminal emulators.") + (license (list license:asl2.0 license:expat)))) + (define-public rust-vte-0.3 (package + (inherit rust-vte-0.10) (name "rust-vte") (version "0.3.3") (source @@ -40219,15 +40759,32 @@ updated when the crate version changes.") (sha256 (base32 "1kz8svnqnxclllsgh0ck20rplw3qzp46b5v30yscnzrgw8vgahjg")))) - (build-system cargo-build-system) (arguments `(#:tests? #f ; tests not included in release #:cargo-inputs - (("rust-utf8parse" ,rust-utf8parse-0.1)))) + (("rust-utf8parse" ,rust-utf8parse-0.1)))))) + +(define-public rust-vte-generate-state-changes-0.1 + (package + (name "rust-vte-generate-state-changes") + (version "0.1.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "vte_generate_state_changes" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1zs5q766q7jmc80c5c80gpzy4qpg5lnydf94mgdzrpy7h5q82myj")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-proc-macro2" ,rust-proc-macro2-1) + ("rust-quote" ,rust-quote-1)))) (home-page "https://github.com/jwilm/vte") - (synopsis "Parser for implementing terminal emulators") + (synopsis "Proc macro for generating VTE state changes") (description - "This package provides a parser for implementing terminal emulators.") + "This package provides a proc macro for generating VTE state changes.") (license (list license:asl2.0 license:expat)))) (define-public rust-wait-timeout-0.2 @@ -41512,6 +42069,30 @@ API.") "A simple library wrapping a handful of useful winapi functions.") (license license:expat))) +(define-public rust-wio-0.2 + (package + (name "rust-wio") + (version "0.2.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "wio" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "199p404fp96w1f1c93bf1jrvaqwypxf3hmmldhww4jk4yhr9j4jx")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-winapi" ,rust-winapi-0.3)))) + (home-page "https://github.com/retep998/wio-rs") + (synopsis "Windows IO wrapper") + (description + "Wio is a middle-level wrapper around various things in Windows API. It +is designed to be a very thin layer around Windows API to provide a safe Rusty +API but without hiding any functionality.") + (license (list license:expat license:asl2.0)))) + (define-public rust-ws2-32-sys-0.2 (package (name "rust-ws2-32-sys") @@ -41648,6 +42229,28 @@ extended attributes.") "This package provides Rust bindings and wrappers for XCB.") (license license:expat))) +(define-public rust-xcursor-0.3 + (package + (name "rust-xcursor") + (version "0.3.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "xcursor" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "022x7jm71dyqrxwsjkqfgj8bx57y7g8yyz318qb80y5ffhaj76is")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-nom" ,rust-nom-6)))) + (home-page "https://crates.io/crates/xcursor") + (synopsis "Library for loading XCursor themes") + (description + "This package provides a library for loading XCursor themes.") + (license license:expat))) + (define-public rust-xdg-2 (package (name "rust-xdg") diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm index 3139063298..c9409358db 100644 --- a/gnu/packages/disk.scm +++ b/gnu/packages/disk.scm @@ -18,6 +18,7 @@ ;;; Copyright © 2020 Pkill -9 <pkill9@runbox.com> ;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com> ;;; Copyright © 2020 Raghav Gururajan <raghavgururajan@disroot.org> +;;; Copyright © 2021 Michael Rohleder <mike@rohleder.de> ;;; ;;; This file is part of GNU Guix. ;;; @@ -493,14 +494,14 @@ and can dramatically shorten the lifespan of the drive if left unchecked.") (define-public gparted (package (name "gparted") - (version "1.1.0") + (version "1.2.0") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/gparted/gparted/gparted-" version "/gparted-" version ".tar.gz")) (sha256 - (base32 "092rgwjh1825fal6v3yafq2wr0i61hh0a2n0j4296zn0zdx7pzp2")))) + (base32 "06f72hqx5jf2irzsmi7lgpxxj38ncixh0acb4307wyjd4mfp343c")))) (build-system glib-or-gtk-build-system) (arguments ;; Tests require access to paths outside the build container, such diff --git a/gnu/packages/dlang.scm b/gnu/packages/dlang.scm index 6cdb2efd14..da3b818c26 100644 --- a/gnu/packages/dlang.scm +++ b/gnu/packages/dlang.scm @@ -5,6 +5,7 @@ ;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2017, 2019 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2020 Guy Fleury Iteriteka <gfleury@disroot.org> +;;; Copyright © 2021 Efraim Flashner <efraim@flashner.co.il> ;;; ;;; This file is part of GNU Guix. ;;; @@ -83,7 +84,7 @@ and freshness without requiring additional information from the user.") (define-public ldc-bootstrap (package (name "ldc") - (version "0.17.4") + (version "0.17.6") (source (origin (method git-fetch) @@ -92,7 +93,7 @@ and freshness without requiring additional information from the user.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0nnrjavfmpfp7bib04isqlxvyzh6mlvsdan0gxysdz96hlg4hcq8")))) + (base32 "1q6hm4fkrcwys83x0p4kfg9xrc1b9g2qicqif2zy5z4nsfsb5vgs")))) (build-system cmake-build-system) (supported-systems '("x86_64-linux" "i686-linux" "armhf-linux")) (properties @@ -117,14 +118,6 @@ and freshness without requiring additional information from the user.") (unpack "druntime-src" "runtime/druntime") (unpack "dmd-testsuite-src" "tests/d2/dmd-testsuite") #t))) - (add-after 'unpack-submodule-sources 'patch-dmd2 - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "dmd2/root/port.c" - ((" ::isnan") " isnan") - ((" ::isinf") " isinf") - (("#undef isnan") "") - (("#undef isinf") "")) - #t)) (add-after 'unpack-submodule-sources 'patch-phobos (lambda* (#:key inputs #:allow-other-keys) (substitute* "runtime/phobos/std/process.d" @@ -137,8 +130,6 @@ and freshness without requiring additional information from the user.") "(tzName == \"+VERSION\" || std.algorithm.endsWith(tzName, \"/leapseconds\"))")) (substitute* "tests/d2/dmd-testsuite/Makefile" (("/bin/bash") (which "bash"))) - ;; FIXME: this test cannot be linked. - (delete-file "tests/d2/dmd-testsuite/runnable/cppa.d") ;; the following two tests fail on i686 (for-each delete-file '("tests/ir/attributes.d" "tests/ir/align.d"))))))) (inputs @@ -147,8 +138,8 @@ and freshness without requiring additional information from the user.") ("tzdata" ,tzdata) ("zlib" ,zlib))) (native-inputs - `(("llvm" ,llvm-3.8) - ("clang" ,clang-3.8) + `(("llvm" ,llvm-6) + ("clang" ,clang-6) ("python-lit" ,python-lit) ("python-wrapper" ,python-wrapper) ("unzip" ,unzip) @@ -160,7 +151,7 @@ and freshness without requiring additional information from the user.") (commit (string-append "ldc-v" version)))) (file-name (git-file-name "phobos" version)) (sha256 - (base32 "0i7gh99w4mi0hdv16261jcdiqyv1nkjdcwy9prw32s0lvplx8fdy")) + (base32 "15jzs38wanks2jfp2izzl7zqrp4c8ai54ppsgm8ws86p3sbbkmj8")) (patches (search-patches "ldc-bootstrap-disable-tests.patch")))) ("druntime-src" ,(origin @@ -170,7 +161,7 @@ and freshness without requiring additional information from the user.") (commit (string-append "ldc-v" version)))) (file-name (git-file-name "druntime" version)) (sha256 - (base32 "0alabm3bbvs94msvxz5psiwk4f51cw9h82z1p5hhsnf8ja6d0am7")))) + (base32 "00wr2kiggwnd8h7by51fhj1xc65hv1ysip5gbgdbkfar58p2d0bb")))) ("dmd-testsuite-src" ,(origin (method git-fetch) @@ -179,7 +170,7 @@ and freshness without requiring additional information from the user.") (commit (string-append "ldc-v" version)))) (file-name (git-file-name "dmd-testsuite" version)) (sha256 - (base32 "05qr4cgb4scfqzbw1l5pk72kil074mvj9d55b165ljyr51sgwgbl")))))) + (base32 "1d1c0979wbippldrkjf7szyj4n87hxz8dwqg1r5b3aai37g9kcky")))))) (home-page "http://wiki.dlang.org/LDC") (synopsis "LLVM-based compiler for the D programming language") (description diff --git a/gnu/packages/dns.scm b/gnu/packages/dns.scm index 5e65eed7ed..9583cd3af9 100644 --- a/gnu/packages/dns.scm +++ b/gnu/packages/dns.scm @@ -277,7 +277,7 @@ prompt the user with the option to go with insecure DNS only.") (define-public dnsmasq (package (name "dnsmasq") - (version "2.83") + (version "2.84") (source (origin (method url-fetch) (uri (string-append @@ -285,7 +285,7 @@ prompt the user with the option to go with insecure DNS only.") version ".tar.xz")) (sha256 (base32 - "1sjamz1v588qf35m8z6wcqkjk5w12bqhj7d7p48dj8jyn3lgghgz")))) + "0305a0c3snwqcv77sipyynr55xip1fp2843yn04pc4vk9g39acb0")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) @@ -375,15 +375,18 @@ and BOOTP/TFTP for network booting of diskless machines.") (with-directory-excursion "fuzz" (invoke "make" "check")) #t))))) - (synopsis "Domain Name System (DNS) implementation") - (description "BIND is an implementation of the @dfn{Domain Name System} -(DNS) protocols for the Internet. It is a reference implementation of those -protocols, but it is also production-grade software, suitable for use in -high-volume and high-reliability applications. The name BIND stands for -\"Berkeley Internet Name Domain\", because the software originated in the -early 1980s at the University of California at Berkeley. The @code{utils} -output of this package contains the following DNS name servers related command -line utilities: + (synopsis "@acronym{DNS, Domain Name System} implementation") + (description "BIND implements the @acronym{DNS, Domain Name System} +protocols for the Internet. It is both a reference implementation of those +protocols and production-grade software, suitable for use in high-volume and +high-reliability applications. + +The name stands for \"Berkeley Internet Name Domain\" because the software +originated in the early 1980s at the University of California at Berkeley. + +The @code{utils} output of this package contains the following command line +utilities related to DNS name servers: + @table @code @item delv DNS lookup and validation utility diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 9e276d9d26..395be23aaa 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -76,7 +76,7 @@ ;;; Copyright © 2020 Fredrik Salomonsson <plattfot@gmail.com> ;;; Copyright © 2020 Ryan Desfosses <rdes@protonmail.com> ;;; Copyright © 2020 Eric Bavier <bavier@posteo.net> -;;; Copyright © 2020 Morgan Smith <Morgan.J.Smith@outlook.com> +;;; Copyright © 2020, 2021 Morgan Smith <Morgan.J.Smith@outlook.com> ;;; Copyright © 2020 Peng Mei Yu <i@pengmeiyu.com> ;;; Copyright © 2020 Niklas Eklund <niklas.eklund@posteo.net> ;;; Copyright © 2020 Marco Grassi <marco.au.grassi98@protonmail.com> @@ -725,6 +725,50 @@ this one is much simpler and much more consistent. When using this package, then only the color of the mode line changes when a window becomes in-/active.") (license license:gpl3+))) +(define-public emacs-theme-magic + ;; No tagged release upstream, but the commit below correspond to the 0.2.3 + ;; release. + (let ((commit "844c4311bd26ebafd4b6a1d72ddcc65d87f074e3") + (revision "0")) + (package + (name "emacs-theme-magic") + (version "0.2.3") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/jcaw/theme-magic") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "10gkg7jh1s1484gm66a87zr7x8vmv00s7gfd0w2pj47nqf98g8hz")))) + (build-system emacs-build-system) + (arguments + `( + ;; Include Pywal interaction scripts. + #:include (cons "^python/" %default-include) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-exec-paths + (lambda* (#:key inputs #:allow-other-keys) + (let ((files '("theme-magic.el" "python/wal_change_colors.py")) + (python (assoc-ref inputs "python")) + (python-pywal (assoc-ref inputs "python-pywal"))) + (substitute* files + (("\"python\"") (string-append "\"" python "/bin/python3\"")) + (("\"wal\"") (string-append "\"" python-pywal "/bin/wal\"")))) + #t))))) + (inputs + `(("python" ,python) + ("python-pywal" ,python-pywal))) + (home-page "https://github.com/jcaw/theme-magic") + (synopsis "Generate and apply color palettes based on your Emacs theme") + (description + "This package provides a command to extract the colors from your Emacs +theme and apply them to the rest of Linux with Pywal. Pywal only applies your +theme to the current session.") + (license license:gpl3+)))) + (define-public emacs-treepy (package (name "emacs-treepy") @@ -4703,7 +4747,7 @@ for Flow files.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1f1gapvs9j89qr474103dqgsiyb96phlnsmq5hiv4ba242blg9lb")))) + (base32 "0ih0nakal36is0dci82gx4ijrvnpz9jpw1adprfara2cf8dx4rk6")))) (build-system emacs-build-system) (arguments `(#:include (cons "\\.py$" %default-include) @@ -4725,7 +4769,7 @@ for Flow files.") (lambda* (#:key inputs #:allow-other-keys) (make-file-writable "flycheck-grammalecte.el") (emacs-substitute-variables "flycheck-grammalecte.el" - ("flycheck-grammalecte--grammalecte-directory" + ("flycheck-grammalecte-grammalecte-directory" (string-append (assoc-ref inputs "grammalecte") "/lib/python" ,(version-major+minor (package-version python)) @@ -9366,6 +9410,28 @@ Dust.js, React/JSX, Angularjs, ejs, etc.") (home-page "http://web-mode.org/") (license license:gpl3+))) +(define-public emacs-templatel + (package + (name "emacs-templatel") + (version "0.1.4") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/clarete/templatel") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1k33h503038l2bcr8gs020z2cjxfs94lamkdgv52cvd9i20d0kqq")))) + (build-system emacs-build-system) + (home-page "https://clarete.li/templatel") + (synopsis "Jinja inspired template language for Emacs Lisp") + (description + "templatel is the modern templating language. It provides variable +substitution and control flow through a clean and powerful language inspired +by Python's Jinja.") + (license license:gpl3+))) + (define-public emacs-wgrep (package (name "emacs-wgrep") @@ -9621,7 +9687,7 @@ target will call @code{compile} on it.") (define-public emacs-cider (package (name "emacs-cider") - (version "0.26.1") + (version "1.0.0") (source (origin (method git-fetch) @@ -9630,7 +9696,7 @@ target will call @code{compile} on it.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0m77jbxl380dp1wyj12m82bb06r80js8yxl530ryp1mwvy74f00d")))) + (base32 "143kh9k34yk0g6kdlkma6g432kmb2r9r1lhyq4irsw6d3vaql7dj")))) (build-system emacs-build-system) (arguments '(#:exclude ;don't exclude 'cider-test.el' @@ -11708,7 +11774,7 @@ information via a consistent and well-integrated user interface.") (origin (method url-fetch) (uri (string-append "https://elpa.gnu.org/packages/" - "adaptive-wrap-" version ".el")) + "adaptive-wrap-" version ".tar")) (sha256 (base32 "1gs1pqzywvvw4prj63vpj8abh8h14pjky11xfl23pgpk9l3ldrb0")))) (build-system emacs-build-system) @@ -16053,8 +16119,8 @@ navigate and display hierarchy structures.") (license license:gpl3+))) (define-public emacs-pulseaudio-control - (let ((commit "7e1a87068379075a5e9ce36c64c686c03d20d379") - (revision "3")) + (let ((commit "a931533140547510decdc368f39b2d2b97ca725f") + (revision "4")) (package (name "emacs-pulseaudio-control") (version (git-version "0.0.1" revision commit)) @@ -16067,7 +16133,7 @@ navigate and display hierarchy structures.") (file-name (git-file-name name version)) (sha256 (base32 - "0wcaqyh15x56255rrj350089z15pnwixa2vf0ly6dv0hjmzmh3mr")))) + "1jvjn9jszjjapi167an49jxcvr88cvgjwykglhp4b8lwhbjfqw76")))) (build-system emacs-build-system) (arguments '(#:phases (modify-phases %standard-phases @@ -20290,7 +20356,7 @@ correctly.") (define-public emacs-helm-sly (package (name "emacs-helm-sly") - (version "0.7.0") + (version "0.7.1") (source (origin (method git-fetch) (uri (git-reference @@ -20299,7 +20365,7 @@ correctly.") (file-name (git-file-name name version)) (sha256 (base32 - "090vq8c4scf9byn8xic71b02n4c8frhz1y1x1brxn6iar44dmzm5")))) + "12w1j1irgv6gy48zb4xi28ryan3fxd9kaay42798am5i1xa0yjjm")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-helm" ,emacs-helm) @@ -21167,14 +21233,14 @@ buffer and launches Magit from the status buffer for the project at point.") (define-public emacs-repology (package (name "emacs-repology") - (version "1.0.1") + (version "1.1.0") (source (origin (method url-fetch) (uri (string-append "https://elpa.gnu.org/packages/" "repology-" version ".tar")) (sha256 - (base32 "0y12496wafx95izah8vvv1x86k1m8kysm5mlhvshkp0zbpvmb5iq")))) + (base32 "031245rrhazj53bk1csa6x3ygzvg74w2hwjf08ficwvmdn97li90")))) (build-system emacs-build-system) (home-page "https://elpa.gnu.org/packages/repology.html") (synopsis "Repology API access via Elisp") @@ -22934,14 +23000,14 @@ well as an option for visually flashing evaluated s-expressions.") (define-public emacs-tramp (package (name "emacs-tramp") - (version "2.5.0") + (version "2.5.0.1") (source (origin (method url-fetch) (uri (string-append "https://elpa.gnu.org/packages/" "tramp-" version ".tar")) (sha256 - (base32 "1jpnqyk108nksaym2b9v243y5zkpr4px9d070wsb9cwm3xrcd8rh")))) + (base32 "0kqlc03bbsdywp0m3mf0m62hqyam8vg81phh7nqmpdjzskrdc1yy")))) (build-system emacs-build-system) (arguments `(#:emacs ,emacs ;need D-Bus @@ -23995,7 +24061,7 @@ Emacs that integrate with major modes like Org-mode.") (define-public emacs-modus-themes (package (name "emacs-modus-themes") - (version "1.0.2") + (version "1.1.1") (source (origin (method git-fetch) @@ -24004,7 +24070,7 @@ Emacs that integrate with major modes like Org-mode.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1v82payjgx8z0qdklsrkim7xkb6hqrbs34d5qpq0sii43jwhiy5j")))) + (base32 "1n716nasa1pccz7983kicagc9sqnxlyfmflvifqk4kza2ks0rh9m")))) (build-system emacs-build-system) (home-page "https://protesilaos.com/modus-themes/") (synopsis "Accessible themes (WCAG AAA)") diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index ca14584ada..5cca2bc9f7 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2019 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2019, 2021 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, 2019, 2020 Mark H Weaver <mhw@netris.org> @@ -195,17 +195,11 @@ (lambda* (#:key outputs #:allow-other-keys) ;; Directly copy emacs-X.Y to emacs, so that it is not wrapped ;; twice. This also fixes a minor issue, where WMs would not be - ;; able to track emacs back to emacs.desktop. The version is - ;; accessed using using THIS-PACKAGE so it "just works" for - ;; inherited Emacs packages of different versions. + ;; able to track emacs back to emacs.desktop. (with-directory-excursion (assoc-ref outputs "out") - (copy-file (string-append - "bin/emacs-" - ,(let ((this-version (package-version this-package))) - (or (false-if-exception - (version-major+minor+point this-version)) - (version-major+minor this-version)))) - "bin/emacs") + (copy-file + (car (find-files "bin" "^emacs-([0-9]+\\.)+[0-9]+$")) + "bin/emacs") #t))) (add-before 'reset-gzip-timestamps 'make-compressed-files-writable ;; The 'reset-gzip-timestamps phase will throw a permission error diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm index 1d94090f48..e52a5fc4af 100644 --- a/gnu/packages/emulators.scm +++ b/gnu/packages/emulators.scm @@ -6,7 +6,7 @@ ;;; Copyright © 2015, 2018 David Thompson <dthompson2@worcester.edu> ;;; Copyright © 2016 Manolis Fragkiskos Ragkousis <manolis837@gmail.com> ;;; Copyright © 2016, 2017, 2018, 2020 Efraim Flashner <efraim@flashner.co.il> -;;; Copyright © 2017, 2018, 2019, 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr> +;;; Copyright © 2017, 2018, 2019, 2020, 2021 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; Copyright © 2017, 2020, 2021 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017, 2018, 2019 Rutger Helling <rhelling@mykolab.com> ;;; Copyright © 2019 Pierre Neidhardt <mail@ambrevar.xyz> @@ -1552,7 +1552,7 @@ This is a part of the TiLP project.") (define-public mame (package (name "mame") - (version "0.227") + (version "0.228") (source (origin (method git-fetch) @@ -1561,7 +1561,7 @@ This is a part of the TiLP project.") (commit (apply string-append "mame" (string-split version #\.))))) (file-name (git-file-name name version)) (sha256 - (base32 "0p7xhsahmkr5hh3j6hc1mpgi5z4navy77v4k35i0sgpdv1ax4y2l")) + (base32 "1xqd0b8xz9bc6ks9qbnrm7kkjcr81l0ksisvflr6gr6lxg2268xz")) (modules '((guix build utils))) (snippet ;; Remove bundled libraries. diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm index baddaf1737..11585f6234 100644 --- a/gnu/packages/engineering.scm +++ b/gnu/packages/engineering.scm @@ -20,7 +20,7 @@ ;;; Copyright © 2020 Ekaitz Zarraga <ekaitz@elenq.tech> ;;; Copyright © 2020 B. Wilson <elaexuotee@wilsonb.com> ;;; Copyright © 2020, 2021 Vinicius Monego <monego@posteo.net> -;;; Copyright © 2020 Morgan Smith <Morgan.J.Smith@outlook.com> +;;; Copyright © 2020, 2021 Morgan Smith <Morgan.J.Smith@outlook.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -50,6 +50,7 @@ #:use-module ((guix licenses) #:prefix license:) #:use-module (guix build-system ant) #:use-module (guix build-system cmake) + #:use-module (guix build-system emacs) #:use-module (guix build-system gnu) #:use-module (guix build-system python) #:use-module (guix build-system qt) @@ -2513,6 +2514,26 @@ full programmatic control over your models.") (home-page "https://www.openscad.org/") (license license:gpl2+))) +(define-public emacs-scad-mode + (package + (inherit openscad) + (name "emacs-scad-mode") + (native-inputs '()) + (inputs '()) + (build-system emacs-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'chdir-elisp + ;; Elisp directory is not in root of the source. + (lambda _ + (chdir "contrib") + #t))))) + (synopsis "Emacs major mode for editing editing OpenSCAD code") + (description "@code{scad-mode} provides an Emacs major mode for editing +OpenSCAD code. It supports syntax highlighting, indenting and refilling of +comments."))) + (define-public freecad (let ((commit-ref "7616153b3c31ace006169cdc2fdafab484498858") (revision "1")) diff --git a/gnu/packages/fcitx.scm b/gnu/packages/fcitx.scm index d52edf1750..93cea7a24d 100644 --- a/gnu/packages/fcitx.scm +++ b/gnu/packages/fcitx.scm @@ -19,11 +19,13 @@ ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. (define-module (gnu packages fcitx) - #:use-module ((guix licenses) #:select (gpl2+)) + #:use-module ((guix licenses) #:select (gpl2+ bsd-3)) #:use-module (guix packages) #:use-module (guix download) + #:use-module (guix git-download) #:use-module (guix build-system cmake) #:use-module (guix build-system glib-or-gtk) + #:use-module (guix build-system qt) #:use-module (gnu packages check) #:use-module (gnu packages documentation) #:use-module (gnu packages enchant) @@ -33,14 +35,69 @@ #:use-module (gnu packages gtk) #:use-module (gnu packages icu4c) #:use-module (gnu packages iso-codes) + #:use-module (gnu packages kde-frameworks) #:use-module (gnu packages man) #:use-module (gnu packages ncurses) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) + #:use-module (gnu packages qt) #:use-module (gnu packages sqlite) #:use-module (gnu packages web) #:use-module (gnu packages xml) - #:use-module (gnu packages xorg)) + #:use-module (gnu packages xorg) + #:use-module (gnu packages xdisorg)) + +(define-public fcitx-qt5 + (package + (name "fcitx-qt5") + (version "1.2.5") + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/fcitx/fcitx-qt5.git") + (commit version))) + (file-name + (git-file-name name version)) + (sha256 + (base32 "1d56bp11jp85b2r4syw1clfg4vqxqfh7gygpwz8wk5sxmfmmdq83")))) + (build-system qt-build-system) + (arguments + `(#:tests? #f ; No target + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-install-dir + (lambda* (#:key outputs #:allow-other-keys) + (substitute* "quickphrase-editor/CMakeLists.txt" + (("\\$\\{FCITX4_ADDON_INSTALL_DIR\\}") + (string-append + (assoc-ref outputs "out") + "/lib/fcitx"))) + (substitute* "platforminputcontext/CMakeLists.txt" + (("\\$\\{CMAKE_INSTALL_QTPLUGINDIR\\}") + (string-append + (assoc-ref outputs "out") + "/lib/qt5/plugins"))) + #t))))) + (native-inputs + `(("extra-cmake-modules" ,extra-cmake-modules) + ("pkg-config" ,pkg-config))) + (inputs + `(("fcitx" ,fcitx) + ("libintl" ,intltool) + ("libxkbcommon" ,libxkbcommon))) + (propagated-inputs + `(("qtbase" ,qtbase))) + (synopsis "Fcitx Qt5 Input Context") + (description "This package provides a Qt5 frontend for fcitx.") + (home-page "https://github.com/fcitx/fcitx-qt5/") + (license + (list + ;; Plugin + bsd-3 + ;; Others + gpl2+)))) (define-public presage (package diff --git a/gnu/packages/fcitx5.scm b/gnu/packages/fcitx5.scm index ed0d928fc7..79d5799774 100644 --- a/gnu/packages/fcitx5.scm +++ b/gnu/packages/fcitx5.scm @@ -51,7 +51,7 @@ (define-public xcb-imdkit (package (name "xcb-imdkit") - (version "1.0.1") + (version "1.0.2") (source (origin (method url-fetch) @@ -59,7 +59,7 @@ "https://download.fcitx-im.org/fcitx5/xcb-imdkit/xcb-imdkit-" version ".tar.xz")) (sha256 - (base32 "1qgbbp8y8ci7haz99vgbrgpjsbrwwyjianyhdvxcirnbm5bybvmz")) + (base32 "16f7jdnrr8lrll7qvnj0gh3gwzgn5idfsc9rwi1gp1n2mnjrs7w0")) (modules '((guix build utils))) (snippet '(begin @@ -86,7 +86,7 @@ client.") (define-public fcitx5 (package (name "fcitx5") - (version "5.0.3") + (version "5.0.4") (source (origin (method url-fetch) @@ -94,7 +94,7 @@ client.") "https://download.fcitx-im.org/fcitx5/fcitx5/fcitx5-" version "_dict.tar.xz")) (sha256 - (base32 "06zkb33m2rnhg385iy79n3r4svz5jbav74di61xqa3lhbv7534s3")))) + (base32 "14pqbjbdc3b5xlycm92gs1rgkmpykfnyls3gfr608902lk2lw5as")))) (build-system cmake-build-system) (arguments `(#:configure-flags @@ -146,7 +146,7 @@ client.") (define-public fcitx5-lua (package (name "fcitx5-lua") - (version "5.0.1") + (version "5.0.2") (source (origin (method url-fetch) @@ -154,7 +154,7 @@ client.") "https://download.fcitx-im.org/fcitx5/fcitx5-lua/fcitx5-lua-" version ".tar.xz")) (sha256 - (base32 "177mj56j8yrl79hvk7bbrifvm137np23pwalv83ibgk4l51z92hf")))) + (base32 "0y5yc9102bz681f4wj6xqjxmfdmrshz3fhf39pa61718hkyy9lih")))) (build-system cmake-build-system) (inputs `(("fcitx5" ,fcitx5) @@ -171,14 +171,14 @@ client.") (define-public libime (package (name "libime") - (version "1.0.2") + (version "1.0.3") (source (origin (method url-fetch) (uri (string-append "https://download.fcitx-im.org/fcitx5/libime/libime-" version "_dict.tar.xz")) (sha256 - (base32 "006pncby7p6h3rnicckzjwi6jzsrqiqbj6p9bpic80lanlllgw31")))) + (base32 "1gi9ylqha9x3dhjsa2i7x9wh2g9vgqkkfr6s1facs2ky65vgvdrv")))) (build-system cmake-build-system) (inputs `(("fcitx5" ,fcitx5) @@ -196,7 +196,7 @@ editors.") (define-public fcitx5-gtk (package (name "fcitx5-gtk") - (version "5.0.1") + (version "5.0.3") (source (origin (method url-fetch) @@ -204,7 +204,7 @@ editors.") "/fcitx5-gtk/fcitx5-gtk-" version ".tar.xz")) (sha256 - (base32 "0h53liraqc5nz4nyi3ixdfdw3zzkdcsiff7j25acc3gmaa5gyij7")))) + (base32 "18bwwj9a5v82c6ssc8560hd8vwykakvg6sfijwdb5jswk9mafvgj")))) (build-system cmake-build-system) (arguments `(#:tests? #f ;No test @@ -212,7 +212,9 @@ editors.") (list (string-append "-DGOBJECT_INTROSPECTION_GIRDIR=" %output "/share/gir-1.0") (string-append "-DGOBJECT_INTROSPECTION_TYPELIBDIR=" - %output "/lib/girepository-1.0")) + %output "/lib/girepository-1.0") + ;; TODO: Enable it when Guix has GTK4. + "-DENABLE_GTK4_IM_MODULE=Off") #:phases (modify-phases %standard-phases (add-before 'configure 'patch-install-prefix @@ -247,7 +249,7 @@ for GTK+2/GTK+3 application.") (define-public fcitx5-qt (package (name "fcitx5-qt") - (version "5.0.1") + (version "5.0.2") (source (origin (method url-fetch) @@ -255,7 +257,7 @@ for GTK+2/GTK+3 application.") "/fcitx5-qt/fcitx5-qt-" version ".tar.xz")) (sha256 - (base32 "0ilhb4yw9k3m1c4fidnv3nd5dgm9xxds11dgdys6gswjjnmcgqqm")))) + (base32 "15rn111mrp6lcgm0ka3vb6a6qwkv6kqkqn563wsm49n16iy1dhqj")))) (build-system cmake-build-system) (arguments `(#:configure-flags @@ -282,7 +284,7 @@ for Qt based application.") (define-public fcitx5-chinese-addons (package (name "fcitx5-chinese-addons") - (version "5.0.2") + (version "5.0.3") (source (origin (method url-fetch) @@ -290,7 +292,7 @@ for Qt based application.") "/fcitx5-chinese-addons/fcitx5-chinese-addons-" version "_dict.tar.xz")) (sha256 - (base32 "0mf91gzwzhfci0jn6g3l516xjw8r4v40ginnbl70h1zx6vr24rfp")))) + (base32 "1kmzbllk0g86m2z3piwn9j84ihxixyxzv7rzj832xfvwqgk7gixk")))) (build-system cmake-build-system) (arguments `(#:phases @@ -342,42 +344,42 @@ including input methods previous bundled inside Fcitx 4: (define-public fcitx5-configtool (package - (name "fcitx5-configtool") - (version "5.0.1") - (source - (origin - (method url-fetch) - (uri (string-append - "https://download.fcitx-im.org/fcitx5" - "/fcitx5-configtool/fcitx5-configtool-" version ".tar.xz")) - (sha256 - (base32 "0mrqhzvab41hkvhkz7vkb8d2mv5bgx4aqp9jpz4kf3kskwm1q14b")))) - (build-system cmake-build-system) - (arguments - `(#:configure-flags - ;; KDE is currently not working on Guix, KCM supports doesn't make sense. - '("-DENABLE_KCM=Off"))) - (inputs - `(("fcitx5" ,fcitx5) - ("fcitx5-qt" ,fcitx5-qt) - ("qtbase" ,qtbase) - ("qtx11extras" ,qtx11extras) - ("kitemviews" ,kitemviews) - ("kwidgetsaddons" ,kwidgetsaddons) - ("libx11" ,libx11) - ("xkeyboard-config" ,xkeyboard-config) - ("libxkbfile" ,libxkbfile) - ("gettext" ,gettext-minimal) - ("iso-codes" ,iso-codes))) - (native-inputs - `(("gcc" ,gcc-9) - ("extra-cmake-modules" ,extra-cmake-modules) - ("pkg-config" ,pkg-config))) - (home-page "https://github.com/fcitx/fcitx5-configtool") - (synopsis "Graphical configuration tool for Fcitx 5") - (description "Fcitx5-configtool is a graphical configuration tool + (name "fcitx5-configtool") + (version "5.0.2") + (source + (origin + (method url-fetch) + (uri (string-append + "https://download.fcitx-im.org/fcitx5" + "/fcitx5-configtool/fcitx5-configtool-" version ".tar.xz")) + (sha256 + (base32 "0rpk3yn572pcr29jak63x84g0qgj8hj011aw8gmxjah9311nxhpb")))) + (build-system cmake-build-system) + (arguments + `(#:configure-flags + ;; KDE is currently not working on Guix, KCM supports doesn't make sense. + '("-DENABLE_KCM=Off"))) + (inputs + `(("fcitx5" ,fcitx5) + ("fcitx5-qt" ,fcitx5-qt) + ("qtbase" ,qtbase) + ("qtx11extras" ,qtx11extras) + ("kitemviews" ,kitemviews) + ("kwidgetsaddons" ,kwidgetsaddons) + ("libx11" ,libx11) + ("xkeyboard-config" ,xkeyboard-config) + ("libxkbfile" ,libxkbfile) + ("gettext" ,gettext-minimal) + ("iso-codes" ,iso-codes))) + (native-inputs + `(("gcc" ,gcc-9) + ("extra-cmake-modules" ,extra-cmake-modules) + ("pkg-config" ,pkg-config))) + (home-page "https://github.com/fcitx/fcitx5-configtool") + (synopsis "Graphical configuration tool for Fcitx 5") + (description "Fcitx5-configtool is a graphical configuration tool to manage different input methods in Fcitx 5.") - (license license:gpl2+))) + (license license:gpl2+))) (define-public fcitx5-material-color-theme (package diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm index 8ead37beb3..1798ad82bc 100644 --- a/gnu/packages/finance.scm +++ b/gnu/packages/finance.scm @@ -92,6 +92,7 @@ #:use-module (gnu packages popt) #:use-module (gnu packages protobuf) #:use-module (gnu packages python) + #:use-module (gnu packages python-build) #:use-module (gnu packages python-crypto) #:use-module (gnu packages python-web) #:use-module (gnu packages python-xyz) diff --git a/gnu/packages/fpga.scm b/gnu/packages/fpga.scm index 96ba0026f9..bee87d9311 100644 --- a/gnu/packages/fpga.scm +++ b/gnu/packages/fpga.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2018–2021 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2019 Amin Bandali <bandali@gnu.org> ;;; Copyright © 2020 Vinicius Monego <monego@posteo.net> +;;; Copyright © 2021 Andrew Miloradovsky <andrew@interpretmath.pw> ;;; ;;; This file is part of GNU Guix. ;;; @@ -467,3 +468,89 @@ a hardware description and verification language. ") (description "This package provides a VHDL compiler and simulator.") (home-page "https://github.com/nickg/nvc") (license license:gpl3+))) + +(define-public systemc + (package + (name "systemc") + (version "2.3.3") + (source + (origin + (method url-fetch) + (uri (string-append + "https://accellera.org/images/downloads/standards/" + "systemc/systemc-" version ".tar.gz")) + (sha256 + (base32 "0gvv3xmhiwx1izmzy06yslzqzh6ygrgmw53xqfmyvbz5a6ivk0ap")))) + (native-inputs `(("perl" ,perl))) + (build-system gnu-build-system) + (arguments '(#:configure-flags '("--enable-debug"))) + (home-page "https://accellera.org/community/systemc") + (synopsis "Library for event-driven simulation") + (description + "SystemC is a C++ library for modeling concurrent systems, and the +reference implementation of IEEE 1666-2011. It provides a notion of timing as +well as an event-driven simulations environment. Due to its concurrent and +sequential nature, SystemC allows the description and integration of complex +hardware and software components. To some extent, SystemC can be seen as +a Hardware Description Language. However, unlike VHDL or Verilog, SystemC +provides sophisticated mechanisms that offer high abstraction levels on +components interfaces. This, in turn, facilitates the integration of systems +using different abstraction levels.") + ;; homepages.cae.wisc.edu/~ece734/SystemC/Esperan_SystemC_tutorial.pdf + (license license:asl2.0))) + +(define-public verilator + (package + (name "verilator") + (version "4.108") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/verilator/verilator") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0kcs0p8i2hiw348xqqh49pmllqspbzh2ljwmia03b42md5h4x5vf")))) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("bison" ,bison) + ("flex" ,flex) + ("gettext" ,gettext-minimal) + ("python" ,python))) + (inputs + `(("perl" ,perl) + ("systemc" ,systemc))) + (build-system gnu-build-system) + (arguments + '(#:configure-flags + (list (string-append "LDFLAGS=-L" + (assoc-ref %build-inputs "systemc") + "/lib-linux64")) + #:make-flags + (list (string-append "LDFLAGS=-L" + (assoc-ref %build-inputs "systemc") + "/lib-linux64")) + #:phases + (modify-phases %standard-phases + (replace 'bootstrap + (lambda _ (invoke "autoconf")))) + #:test-target "test")) + ;; #error "Something failed during ./configure as config_build.h is incomplete. + ;; Perhaps you used autoreconf, don't." -- so we won't. ^^ + (home-page "https://www.veripool.org/projects/verilator/") + (synopsis "Fast Verilog/SystemVerilog simulator") + (description + "Verilator is invoked with parameters similar to GCC or Synopsys’s VCS. +It ``Verilates'' the specified Verilog or SystemVerilog code by reading it, +performing lint checks, and optionally inserting assertion checks and +coverage-analysis points. It outputs single- or multi-threaded @file{.cpp} +and @file{.h} files, the ``Verilated'' code. + +The user writes a little C++/SystemC wrapper file, which instantiates the +Verilated model of the user’s top level module. These C++/SystemC files are +then compiled by a C++ compiler (GCC/Clang/etc.). The resulting executable +performs the design simulation. Verilator also supports linking its generated +libraries, optionally encrypted, into other simulators.") + (license license:lgpl3))) diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm index a5455a0b6f..56e53a73e2 100644 --- a/gnu/packages/freedesktop.scm +++ b/gnu/packages/freedesktop.scm @@ -1480,7 +1480,7 @@ wish to perform colour calibration.") (define-public libfprint (package (name "libfprint") - (version "1.90.6") + (version "1.90.7") (source (origin (method git-fetch) @@ -1489,7 +1489,7 @@ wish to perform colour calibration.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0hagm1i78mrd772y3cinr7bda4myx0v4bixwqnqbxknds8m9h8sg")))) + (base32 "00pmdpxxjj4sh8qjq9ch3pylgg9w019rg1bbaw53a4wr637rrz43")))) (build-system meson-build-system) (arguments '(#:configure-flags @@ -2021,14 +2021,15 @@ useful with system integration.") ("xvfb" ,xorg-server-for-tests))) (inputs `(("dbus-glib" ,dbus-glib) - ("gtk+" ,gtk+) - ("libdbusmenu" ,libdbusmenu) ("libindicator" ,libindicator) ("python@2" ,python-2) ("python2-pygtk" ,python2-pygtk) ("python2-pygobject-2" ,python2-pygobject-2) ;; ("mono" ,mono) ; requires non-packaged gapi ("vala" ,vala))) + (propagated-inputs + `(("gtk+" ,gtk+) + ("libdbusmenu" ,libdbusmenu))) (arguments ;; FIXME: do not hardcode gtk version `(#:configure-flags '("--with-gtk=3") diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm index fa7875d077..7080db423b 100644 --- a/gnu/packages/game-development.scm +++ b/gnu/packages/game-development.scm @@ -490,7 +490,7 @@ clone.") (define-public tsukundere (package (name "tsukundere") - (version "0.2.0") + (version "0.2.3") (source (origin (method git-fetch) (uri (git-reference @@ -499,21 +499,47 @@ clone.") (file-name (git-file-name name version)) (sha256 (base32 - "0qmqch8hh7vsa8qaz853vwbkz0krb106955dnz8dsl7skbm5jpn6")))) + "05ckds2df810441wfavllx9lsw5jsc9h3nb7m31df01nsj56azdw")))) (build-system gnu-build-system) + (arguments + `(#:modules (((guix build guile-build-system) + #:select (target-guile-effective-version)) + ,@%gnu-build-system-modules) + #:imported-modules ((guix build guile-build-system) + ,@%gnu-build-system-modules) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-command + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (version (target-guile-effective-version)) + (scm (string-append out "/share/guile/site/" + version)) + (go (string-append out "/lib/guile/" + version "/site-ccache"))) + + (substitute* "bin/tsukundere" + (("exec guile .*" all) + (string-append + (format #f "export GUILE_LOAD_PATH=~@?~%" + "\"~a:~a\"" scm (getenv "GUILE_LOAD_PATH")) + (format #f "export GUILE_LOAD_COMPILED_PATH=~@?~%" + "\"~a:~a\"" go (getenv "GUILE_LOAD_COMPILED_PATH")) + all))) + #t)))))) (native-inputs `(("autoconf" ,autoconf-wrapper) ("automake" ,automake) ("guile" ,guile-3.0) - ("pkg-config" ,pkg-config))) + ("pkg-config" ,pkg-config) + ("texinfo" ,texinfo))) (propagated-inputs `(("guile-sdl2" ,guile3.0-sdl2))) (home-page "https://gitlab.com/leoprikler/tsukundere") (synopsis "Visual novel engine") (description "Tsukundere is a game engine geared heavily towards the development of visual novels, written on top of Guile-SDL2. It is still -experimental and at the time of writing contains little more than the Guile -modules, that make up its runtime.") +experimental.") (license license:lgpl3+))) (define-public sfml diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index be7a3cc181..e3e18bf09e 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -6104,11 +6104,13 @@ small robot living in the nano world, repair its maker.") (method git-fetch) (uri (git-reference (url "https://github.com/teeworlds/teeworlds") - (commit version))) + (commit version) + ;; There are two submodules in datasrc/{languages,maps} + (recursive? #t))) (file-name (git-file-name name version)) (sha256 (base32 - "169dl83q08zl4h813az8hjs4rs3dms9yjn6bnsld4fjcj0imvvc6")) + "1l19ksmimg6b8zzjy0skyhh7z11ql7n5gvilkv7ay5x2b9ndbqwz")) (modules '((guix build utils) (ice-9 ftw) (ice-9 regex) @@ -6121,15 +6123,12 @@ small robot living in the nano world, repair its maker.") (remove (cut string-match "(^.)|(^md5$)" <>) (scandir base-dir))) #t)))) - (build-system gnu-build-system) + (build-system cmake-build-system) (arguments `(#:tests? #f ; no tests included - #:modules ((guix build gnu-build-system) - (guix build utils) - (srfi srfi-26)) #:phases (modify-phases %standard-phases - (replace 'configure + (add-after 'unpack 'patch-paths (lambda* (#:key outputs #:allow-other-keys) ;; Embed path to assets. (substitute* "src/engine/shared/storage.cpp" @@ -6138,51 +6137,7 @@ small robot living in the nano world, repair its maker.") (assoc-ref outputs "out") "/share/teeworlds/data" "\""))) - - ;; Bam expects all files to have a recent time stamp. - (for-each (cut utime <> 1 1) - (find-files ".")) - - ;; Do not use bundled libraries. - (substitute* "bam.lua" - (("local json = Compile.+$") - "local json = nil -settings.link.libs:Add(\"jsonparser\")") - (("local png = Compile.+$") - "local png = nil -settings.link.libs:Add(\"pnglite\")") - (("local wavpack = Compile.+$") - "local wavpack = nil -settings.link.libs:Add(\"wavpack\")") - (("if config\\.zlib\\.value == 1") - "if config.zlib.value")) - (substitute* "src/engine/client/graphics_threaded.cpp" - (("engine/external/pnglite/pnglite\\.h") - "pnglite.h")) - (substitute* "src/engine/client/sound.cpp" - (("engine/external/wavpack/wavpack\\.h") - "wavpack/wavpack.h")) - #t)) - (replace 'build - (lambda _ - (invoke "bam" "-a" "-v" "conf=release"))) - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (let* ((arch ,(system->linux-architecture - (or (%current-target-system) - (%current-system)))) - (build (string-append "build/" (if (string=? arch "i386") - "x86" arch) - "/release/")) - (data-built (string-append build "data/")) - (out (assoc-ref outputs "out")) - (bin (string-append out "/bin/")) - (data (string-append out "/share/teeworlds/data/"))) - (for-each (cut install-file <> bin) - (map (cut string-append build <>) - '("teeworlds" "teeworlds_srv"))) - (copy-recursively data-built data) - #t)))))) + #t))))) (inputs `(("freetype" ,freetype) ("glu" ,glu) @@ -6193,17 +6148,17 @@ settings.link.libs:Add(\"wavpack\")") ("sdl2-image" ,sdl2-image) ("sdl2-mixer" ,sdl2-mixer) ("wavpack" ,wavpack) + ("openssl" ,openssl) ("zlib" ,zlib))) (native-inputs - `(("bam" ,bam) - ("python" ,python-wrapper) + `(("python" ,python-wrapper) ("pkg-config" ,pkg-config))) (home-page "https://www.teeworlds.com") (synopsis "2D retro multiplayer shooter game") (description "Teeworlds is an online multiplayer game. Battle with up to 16 players in a variety of game modes, including Team Deathmatch and Capture The Flag. You can even design your own maps!") - (license license:bsd-3))) + (license (list license:bsd-3 license:cc-by-sa3.0)))) ; game+maps&languages (define-public enigma (package diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm index c682613ff1..6b0b4a8007 100644 --- a/gnu/packages/geo.scm +++ b/gnu/packages/geo.scm @@ -14,6 +14,7 @@ ;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2020 Christopher Baines <mail@cbaines.net> ;;; Copyright © 2020 Felix Gruber <felgru@posteo.net> +;;; Copyright © 2021 Sharlatan Hellseher <sharlatanus@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -1693,6 +1694,32 @@ input file (in @code{.osm} or @code{.osm.pbf} format).") license:lgpl2.1+ license:mpl1.1)))) +(define-public shapelib + (package + (name "shapelib") + (version "1.5.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/OSGeo/shapelib") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1lzch0jf6yqhw391phhafzw4ghmiz98zkf698h4fmq109fa2vhqd")))) + (build-system gnu-build-system) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("libtool" ,libtool))) + (home-page "http://shapelib.maptools.org/") + (synopsis "Provides C library to write and update ESRI Shapefiles") + (description + "The Shapefile C Library provides the ability to write simple C programs +for reading, writing and updating (to a limited extent) ESRI Shapefiles, and the +associated attribute file (@file{.dbf}).") + (license license:gpl2+))) + (define-public spatialite-tools (package (name "spatialite-tools") diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index fd7a82da69..18ceb6def4 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -6450,7 +6450,7 @@ DAV, and others.") (define-public gusb (package (name "gusb") - (version "0.3.0") + (version "0.3.5") (source (origin (method git-fetch) (uri (git-reference @@ -6459,7 +6459,7 @@ DAV, and others.") (file-name (git-file-name name version)) (sha256 (base32 - "002pg0p4qzzk5dkyiynm483ir26zxrn4k71c7f6j85mfsdzbgli7")))) + "0ifhdqhpyxwsg0z9s1anj7cf5pya5qsqyp5ksh9n7mqwa4lrjkl8")))) (build-system meson-build-system) (native-inputs `(("gobject-introspection" ,gobject-introspection) diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm index a2da166bb4..83dd1d1578 100644 --- a/gnu/packages/gnupg.scm +++ b/gnu/packages/gnupg.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2013, 2015, 2018 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2014, 2018 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2014, 2015, 2016, 2020 Mark H Weaver <mhw@netris.org> @@ -434,19 +434,20 @@ gpgpme starting with version 1.7.") (file-name (git-file-name name version)))) (build-system gnu-build-system) (arguments - ;; When cross-compiling, the bash script libgcrypt-config provided by - ;; libgcrypt must be accessible during configure phase. - `(,@(if (%current-target-system) - '(#:phases - (modify-phases %standard-phases - (add-before 'configure 'add-libgrypt-config - (lambda _ - (setenv "PATH" (string-append - (assoc-ref %build-inputs "libgcrypt") - "/bin:" - (getenv "PATH"))) - #t)))) - '()))) + ;; Work around <https://bugs.gnu.org/20272> to achieve reproducible + ;; builds. + '(#:parallel-build? #f + + #:phases + (modify-phases %standard-phases + (add-before 'configure 'add-libgrypt-config + (lambda* (#:key inputs target #:allow-other-keys) + (when target + ;; When cross-compiling, the bash script 'libgcrypt-config' + ;; must be accessible during the configure phase. + (setenv "PATH" + (string-append (assoc-ref inputs "libgcrypt") + "/bin:" (getenv "PATH"))))))))) (native-inputs `(("pkg-config" ,pkg-config) ("autoconf" ,autoconf) @@ -784,14 +785,14 @@ including tools for signing keys, keyring analysis, and party preparation. (define-public pinentry-tty (package (name "pinentry-tty") - (version "1.1.0") + (version "1.1.1") (source (origin (method url-fetch) (uri (string-append "mirror://gnupg/pinentry/pinentry-" version ".tar.bz2")) (sha256 (base32 - "0w35ypl960pczg5kp6km3dyr000m1hf0vpwwlh72jjkjza36c1v8")))) + "0zx5vg6wws2sp2yxwi01b8i1pnsqkydncpj7x0p8xl9y05ja04nd")))) (build-system gnu-build-system) (arguments `(#:configure-flags '("--enable-pinentry-tty"))) @@ -869,10 +870,6 @@ passphrase when @code{gpg} is run and needs it."))) (package (inherit pinentry-tty) (name "pinentry-efl") - (source - (origin - (inherit (package-source pinentry-tty)) - (patches (search-patches "pinentry-efl.patch")))) (arguments '(#:configure-flags '("--enable-pinentry-efl" "--enable-fallback-curses") @@ -890,14 +887,14 @@ passphrase when @code{gpg} is run and needs it."))) `(("efl" ,efl) ,@(package-inputs pinentry-tty))) (description - "Pinentry provides a console and a graphical interface for the -@dfn{Enlightenment Foundation Libraries} (EFL) that allows users to enter a + "Pinentry provides a console and a graphical interface for @acronym{EFL, +the Enlightenment Foundation Libraries} that allows users to enter a passphrase when @code{gpg} is run and needs it."))) (define-public pinentry-rofi (package (name "pinentry-rofi") - (version "2.0.1") + (version "2.0.3") (source (origin (method git-fetch) (uri (git-reference @@ -905,7 +902,7 @@ passphrase when @code{gpg} is run and needs it."))) (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "044bnldz7k74s873jwsjgff176l1jsvpbaka7d1wcj8b5pwqv2av")))) + (base32 "0kjzvgni9srl8h5c52pqrvgdxs6avv0nhgk19apd97sx10qdwdhk")))) (build-system gnu-build-system) (arguments `(#:modules @@ -917,41 +914,22 @@ passphrase when @code{gpg} is run and needs it."))) %standard-phases (add-after 'install 'hall-wrap-binaries (lambda* (#:key inputs outputs #:allow-other-keys) - (let* ((compiled-dir - (lambda (out version) - (string-append out "/lib/guile/" version "/site-ccache"))) - (uncompiled-dir - (lambda (out version) - (string-append - out - "/share/guile/site" - (if (string-null? version) "" "/") - version))) - (dep-path - (lambda (env path) - (list env ":" 'prefix (list path)))) - (out (assoc-ref outputs "out")) + (let* ((out (assoc-ref outputs "out")) (bin (string-append out "/bin/")) - (site (uncompiled-dir out ""))) + (site (string-append out "/share/guile/site")) + (rofi-bin (string-append (assoc-ref inputs "rofi") "/bin"))) (match (scandir site) (("." ".." version) - (for-each - (lambda (file) - (wrap-program - (string-append bin file) - (dep-path - "PATH" - (string-append (assoc-ref inputs "rofi") "/bin")) - (dep-path - "GUILE_LOAD_PATH" - (uncompiled-dir out version)) - (dep-path - "GUILE_LOAD_COMPILED_PATH" - (compiled-dir out version)))) - ,''("pinentry-rofi")) - #t)))))))) + (wrap-program + (string-append bin "pinentry-rofi") + (list "PATH" ":" 'prefix `(,rofi-bin))) + #t))))) + (add-after 'compress-documentation 'installcheck + (lambda* rest + (invoke "make" "installcheck")))))) (native-inputs `(("autoconf" ,autoconf) + ("autoconf-archive" ,autoconf-archive) ("automake" ,automake) ("pkg-config" ,pkg-config) ("texinfo" ,texinfo))) diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm index 85b27dd503..84ec0a7fb3 100644 --- a/gnu/packages/gnuzilla.scm +++ b/gnu/packages/gnuzilla.scm @@ -694,8 +694,8 @@ from forcing GEXP-PROMISE." #:system system #:guile-for-build guile))) -(define %icecat-version "78.6.1-guix0-preview1") -(define %icecat-build-id "20210107000000") ;must be of the form YYYYMMDDhhmmss +(define %icecat-version "78.7.0-guix0-preview1") +(define %icecat-build-id "20210126000000") ;must be of the form YYYYMMDDhhmmss ;; 'icecat-source' is a "computed" origin that generates an IceCat tarball ;; from the corresponding upstream Firefox ESR tarball, using the 'makeicecat' @@ -717,11 +717,11 @@ from forcing GEXP-PROMISE." "firefox-" upstream-firefox-version ".source.tar.xz")) (sha256 (base32 - "1kp75838a38x4h0w98qn01g9asn7jlgm64bz7n70353bnr6bf1qd")))) + "0hqnc98k4irq0lsp154binrl0c6kxy6xmab3ss9jwx6d53dl380s")))) - (upstream-icecat-base-version "78.6.1") ; maybe older than base-version + (upstream-icecat-base-version "78.7.0") ; maybe older than base-version ;;(gnuzilla-commit (string-append "v" upstream-icecat-base-version)) - (gnuzilla-commit "10ca84bd9d255caeed506ef36bd3dbe2ad6375ab") + (gnuzilla-commit "abfe5eebaca3c2787f1a9505669393674493c177") (gnuzilla-source (origin (method git-fetch) @@ -733,7 +733,7 @@ from forcing GEXP-PROMISE." (string-take gnuzilla-commit 8))) (sha256 (base32 - "07i3pfbzprnmzrilsh13jjrrk0jixpb9nrrqxzzdvzr2gz06vw29")))) + "00ws3540x5whpicc5fx4k949ff73cqvajz6jp13ahn49wqdads47")))) ;; 'search-patch' returns either a valid file name or #f, so wrap it ;; in 'assume-valid-file-name' to avoid 'local-file' warnings. @@ -1305,11 +1305,11 @@ standards of the IceCat project.") (cpe-version . ,(first (string-split version #\-))))))) ;; Update this together with icecat! -(define %icedove-build-id "20210111000000") ;must be of the form YYYYMMDDhhmmss +(define %icedove-build-id "20210126000000") ;must be of the form YYYYMMDDhhmmss (define-public icedove (package (name "icedove") - (version "78.6.1") + (version "78.7.0") (source icecat-source) (properties `((cpe-name . "thunderbird_esr"))) @@ -1589,7 +1589,7 @@ standards of the IceCat project.") ;; in the Thunderbird release tarball. We don't use the release ;; tarball because it duplicates the Icecat sources and only adds the ;; "comm" directory, which is provided by this repository. - ,(let ((changeset "f99e82f3f3cae6af48006c39fceb3beeabccd6f6")) + ,(let ((changeset "d4c4077a3ef9b3221984f2d0b42f1d96c35776e8")) (origin (method hg-fetch) (uri (hg-reference @@ -1598,7 +1598,7 @@ standards of the IceCat project.") (file-name (string-append "thunderbird-" version "-checkout")) (sha256 (base32 - "0mrar1qsvvlcggzz54nxi70jzk19mq42585905kb5n90ikr9q2q7"))))) + "0yabs4zlwb5jvlyk45lbw1nzfmra1f8bbwvwcwxjs1a8wcmrmb39"))))) ("autoconf" ,autoconf-2.13) ("cargo" ,rust-1.41 "cargo") ("clang" ,clang) diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm index 411d89fcc2..7cb4aecec2 100644 --- a/gnu/packages/graphics.scm +++ b/gnu/packages/graphics.scm @@ -19,7 +19,7 @@ ;;; Copyright © 2019, 2020 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2019 Tanguy Le Carrour <tanguy@bioneland.org> ;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net> -;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr> +;;; Copyright © 2020, 2021 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; Copyright © 2020 Raghav Gururajan <raghavgururajan@disroot.org> ;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2020 Gabriel Arazas <foo.dogsquared@gmail.com> @@ -84,6 +84,7 @@ #:use-module (gnu packages photo) #:use-module (gnu packages pkg-config) #:use-module (gnu packages plotutils) + #:use-module (gnu packages pretty-print) #:use-module (gnu packages pth) #:use-module (gnu packages pulseaudio) ; libsndfile, libsamplerate #:use-module (gnu packages python) @@ -538,6 +539,7 @@ applications.") ("freetype" ,freetype) ("glew" ,glew) ("openal" ,openal) + ("pugixml" ,pugixml) ("python" ,python) ("python-numpy" ,python-numpy) ("tbb" ,tbb) @@ -635,6 +637,7 @@ application can be customized via its API for Python scripting.") ("freetype" ,freetype) ("glew" ,glew) ("openal" ,openal) + ("pugixml" ,pugixml) ("python" ,python) ("zlib" ,zlib))) (home-page "https://blender.org/") @@ -1088,7 +1091,7 @@ storage of the \"EXR\" file format for storing 16-bit floating-point images.") (define-public openimageio (package (name "openimageio") - (version "2.0.13") + (version "2.2.10.1") (source (origin (method git-fetch) (uri (git-reference @@ -1097,23 +1100,26 @@ storage of the \"EXR\" file format for storing 16-bit floating-point images.") (file-name (git-file-name name version)) (sha256 (base32 - "0czcls82v71wkw1syib16ncg7463hx0py0xclycsiv4w6i3wlkzz")))) + "0wzh5n527l7ia1754cf9xmbvv4ya6hj34dy6cbq9xk9372h8gd9q")))) (build-system cmake-build-system) ;; FIXME: To run all tests successfully, test image sets from multiple ;; third party sources have to be present. For details see - ;; https://github.com/OpenImageIO/oiio/blob/master/INSTALL + ;; <https://github.com/OpenImageIO/oiio/blob/master/INSTALL.md> (arguments - `(#:tests? #f)) + `(#:tests? #f + #:configure-flags (list "-DUSE_EXTERNAL_PUGIXML=1"))) (native-inputs `(("pkg-config" ,pkg-config))) (inputs `(("boost" ,boost) + ("fmt" ,fmt) ("libpng" ,libpng) ("libjpeg" ,libjpeg-turbo) ("libtiff" ,libtiff) ("giflib" ,giflib) ("openexr" ,openexr) ("ilmbase" ,ilmbase) + ("pugixml" ,pugixml) ("python" ,python-wrapper) ("pybind11" ,pybind11) ("robin-map" ,robin-map) diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm index c2d853f006..c6f25bbdfb 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm @@ -5,7 +5,7 @@ ;;; Copyright © 2016 Alex Sassmannshausen <alex@pompo.co> ;;; Copyright © 2016, 2017, 2018, 2019, 2020, 2021 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2016 Erik Edrosa <erik.edrosa@gmail.com> -;;; Copyright © 2016, 2019, 2020 Eraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2016, 2019, 2020, 2021 Eraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016, 2017 Alex Kost <alezost@gmail.com> ;;; Copyright © 2016, 2017 Adonay "adfeno" Felipe Nogueira <https://libreplanet.org/wiki/User:Adfeno> <adfeno@openmailbox.org> ;;; Copyright © 2016 Amirouche <amirouche@hypermove.net> @@ -33,6 +33,7 @@ ;;; Copyright © 2020 Mike Rosset <mike.rosset@gmail.com> ;;; Copyright © 2020 Leo Prikler <leo.prikler@student.tugraz.at> ;;; Copyright © 2020 pukkamustard <pukkamustard@posteo.net> +;;; Copyright © 2021 Bonface Munyoki Kilyungi <me@bonfacemunyoki.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -2430,7 +2431,7 @@ interface for reading articles in any format.") (define-public guile-redis (package (name "guile-redis") - (version "1.3.0") + (version "2.0.0") (home-page "https://github.com/aconchillo/guile-redis") (source (origin (method git-fetch) @@ -2440,8 +2441,10 @@ interface for reading articles in any format.") (file-name (git-file-name name version)) (sha256 (base32 - "14izs8daxh7pb7vwpxi5g427qa31137jkaxrb1cy5rpjkwchy723")))) + "1zk2x37lw6ygf7rwy71svnsian8lj51axpxmm66ah7dazn69swlm")))) (build-system gnu-build-system) + (arguments + '(#:make-flags '("GUILE_AUTO_COMPILE=0"))) (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) @@ -2464,6 +2467,18 @@ key-value cache and store.") (package (inherit guile-redis) (name "guile2.0-redis") + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-source + (lambda _ + ;; put-string is in (rnrs io ports) in guile2.0, + ;; not in (ice-9 textual-ports) + (substitute* "redis/utils.scm" + (("\\(ice-9 textual-ports\\)") + "(rnrs io ports)")) + #t))) + ,@(package-arguments guile-redis))) (native-inputs `(("guile" ,guile-2.0) ,@(alist-delete "guile" (package-native-inputs guile-redis)))))) diff --git a/gnu/packages/hardware.scm b/gnu/packages/hardware.scm index 3da6759472..10672f52f3 100644 --- a/gnu/packages/hardware.scm +++ b/gnu/packages/hardware.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re> ;;; Copyright © 2021 Evgeny Pisemsky <evgeny@pisemsky.com> +;;; Copyright © 2021 Léo Le Bouter <lle-bout@zaclys.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -27,17 +28,23 @@ #:use-module (gnu packages check) #:use-module (gnu packages cpp) #:use-module (gnu packages crypto) + #:use-module (gnu packages curl) #:use-module (gnu packages documentation) #:use-module (gnu packages gcc) + #:use-module (gnu packages gettext) #:use-module (gnu packages glib) #:use-module (gnu packages gtk) #:use-module (gnu packages libusb) #:use-module (gnu packages linux) #:use-module (gnu packages ncurses) #:use-module (gnu packages openldap) + #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages polkit) #:use-module (gnu packages protobuf) + #:use-module (gnu packages python) + #:use-module (gnu packages tls) + #:use-module (gnu packages web) #:use-module (gnu packages xdisorg) #:use-module (gnu packages xml) #:use-module (gnu packages xorg) @@ -130,6 +137,45 @@ calibrated, and restored when the calibration is applied.") human-readable format and checks if it conforms to the standards.") (license license:expat)))) +(define-public libsmbios + (package + (name "libsmbios") + (version "2.4.3") + (source + (origin + (method git-fetch) + (uri + (git-reference + (url (string-append "https://github.com/dell/" name)) + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0krwwydyvb9224r884y1mlmzyxhlfrcqw73vi1j8787rl0gl5a2i")))) + (build-system gnu-build-system) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("gettext" ,gettext-minimal) + ("libtool" ,libtool) + ("pkg-config" ,pkg-config) + ("perl" ,perl) + ("python" ,python))) + (inputs + `(("libxml2" ,libxml2))) + (arguments + `(#:phases + (modify-phases %standard-phases + (replace 'bootstrap + (lambda _ (invoke "autoreconf" "-vfi")))))) + (synopsis "Library for interacting with Dell SMBIOS tables") + (description + "libsmbios provides a library to interface with the SMBIOS tables. It +also provides extensions for proprietary methods of interfacing with Dell +specific SMBIOS tables.") + (home-page "https://github.com/dell/libsmbios") + (license + (list license:osl2.1 license:gpl2+ license:bsd-3 license:boost1.0)))) + ;; Distinct from memtest86, which is obsolete. (define-public memtest86+ (package @@ -498,3 +544,31 @@ screens. It displays various patterns and allows you to estimate the quality of your CRT/LCD monitor.") (home-page "https://github.com/TobiX/screentest") (license license:gpl2))) + +(define-public tpm2-tss + (package + (name "tpm2-tss") + (version "3.0.3") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/tpm2-software/tpm2-tss" + "/releases/download/" version "/tpm2-tss-" version + ".tar.gz")) + (sha256 + (base32 "05xynpwq851fp8f5fy7ac0blvz8mr5m5cbqj3gslgbwv63kjnfbq")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("curl" ,curl) + ("json-c" ,json-c) + ("openssl" ,openssl))) + (home-page "https://tpm2-software.github.io/") + (synopsis "OSS Implementation of the TCG TPM2 Software Stack (TSS2)") + (description + "This package provides the @acronym{TCG, Trusted Computing Group} +@acronym{TSS2, TPM2 Software Stack}. The stack contains libtss2-fapi, +libtss2-esys, libtss2-sys, libtss2-mu, libtss2-tcti-device, libtss2-tcti-swtpm +and libtss2-tcti-mssim.") + (license license:bsd-2))) diff --git a/gnu/packages/haskell-apps.scm b/gnu/packages/haskell-apps.scm index 19a0fc8a44..a6fb33c31b 100644 --- a/gnu/packages/haskell-apps.scm +++ b/gnu/packages/haskell-apps.scm @@ -339,14 +339,14 @@ to @code{cabal repl}).") (define-public git-annex (package (name "git-annex") - (version "8.20201127") + (version "8.20210127") (source (origin (method url-fetch) (uri (string-append "https://hackage.haskell.org/package/" "git-annex/git-annex-" version ".tar.gz")) (sha256 - (base32 "0n9m5ffgbzms0nh9dskrc7vjgwwwi9f9gxyh498wnspf96729zz7")))) + (base32 "1hsmaw70lfza1g5j6b9zbwqkkr374m18p7qb4nl952pj42a46vv3")))) (build-system haskell-build-system) (arguments `(#:configure-flags diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm index f1da66a4be..34dba958ce 100644 --- a/gnu/packages/julia-xyz.scm +++ b/gnu/packages/julia-xyz.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2020 Nicolò Balzarotti <nicolo@nixo.xyz> +;;; Copyright © 2020, 2021 Nicolò Balzarotti <nicolo@nixo.xyz> ;;; ;;; This file is part of GNU Guix. ;;; @@ -22,19 +22,41 @@ #:use-module (guix git-download) #:use-module (guix build-system julia)) +(define-public julia-adapt + (package + (name "julia-adapt") + (version "3.1.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/JuliaGPU/Adapt.jl") + (commit (string-append "v" version)))) + (file-name "Adapt") + (sha256 + (base32 "1lks6k3a1gvwlplld47nh6xfy3nnlpc0vhkzg6zg0qn33qdmavrg")))) + (build-system julia-build-system) + (home-page "https://github.com/JuliaGPU/Adapt.jl") + (synopsis "Package providing the @code{adapt} function, similar to @code{convert}") + (description "This Julia package provides the @code{adapt(T, x)} function +acts like @code{convert(T, x)}, but without the restriction of returning a +@code{T}. This allows you to \"convert\" wrapper types like @code{Adjoint} to +be GPU compatible without throwing away the wrapper.") + (license license:expat))) + (define-public julia-compat (package (name "julia-compat") - (version "3.9.1") + (version "3.25.0") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/JuliaLang/Compat.jl") (commit (string-append "v" version)))) - (file-name "Compat") + (file-name (git-file-name name version)) (sha256 - (base32 "01vwjr2134bzgnaxwd67knbibbhnfgnqjw7gxrp29s6y2a6j3882")))) + (base32 "1m4r5i8mq29xjp3mllh6047n5a78sdyld57m15anrnsjgaapcgby")))) (build-system julia-build-system) (home-page "https://github.com/JuliaLang/Compat.jl") (synopsis "Compatibility across Julia versions") @@ -43,3 +65,154 @@ between older and newer versions of the Julia language. The Compat package provides a macro that lets you use the latest syntax in a backwards-compatible way.") (license license:expat))) + +(define-public julia-datastructures + (package + (name "julia-datastructures") + (version "0.18.9") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/JuliaCollections/DataStructures.jl") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0hdqp8ipsqdw5bqqkdvz4j6n67x80sj5azr9vzyxwjfsgkfbnk2l")))) + (propagated-inputs + `(("julia-compat" ,julia-compat) + ("julia-orderedcollections" ,julia-orderedcollections))) + (build-system julia-build-system) + (home-page "https://github.com/JuliaCollections/DataStructures.jl") + (synopsis "Julia module providing different data structures") + (description "This package implements a variety of data structures, +including, @code{CircularBuffer}, @code{Queue}, @code{Stack}, +@code{Accumulators}, @code{LinkedLists}, @code{SortedDicts} and many others.") + (license license:expat))) + +(define-public julia-fixedpointnumbers + (package + (name "julia-fixedpointnumbers") + (version "0.8.4") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/JuliaMath/FixedPointNumbers.jl") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0j0n40n04q9sk68wh9jq90m6c67k4ws02k41djjzkrqmpzv4rcdi")))) + (build-system julia-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'disable-failing-test + (lambda* (#:key outputs #:allow-other-keys) + (substitute* "test/fixed.jl" + ;; A deprecation warning is not thrown + (("@test_logs.*:warn" all) (string-append "# " all))) + #t))))) + (propagated-inputs `(("julia-compat" ,julia-compat))) + (home-page "https://github.com/JuliaMath/FixedPointNumbers.jl") + (synopsis "Fixed point types for Julia") + (description "@code{FixedPointNumbers.jl} implements fixed-point number +types for Julia. A fixed-point number represents a fractional, or +non-integral, number. In contrast with the more widely known floating-point +numbers, with fixed-point numbers the decimal point doesn't \"float\": +fixed-point numbers are effectively integers that are interpreted as being +scaled by a constant factor. Consequently, they have a fixed number of +digits (bits) after the decimal (radix) point.") + (license license:expat))) + +(define-public julia-json + (package + (name "julia-json") + (version "0.21.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/JuliaIO/JSON.jl") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1f9k613kbknmp4fgjxvjaw4d5sfbx8a5hmcszmp1w9rqfqngjx9m")))) + (build-system julia-build-system) + (propagated-inputs + `(("julia-datastructures" ,julia-datastructures) + ("julia-fixedpointnumbers" ,julia-fixedpointnumbers) + ("julia-parsers" ,julia-parsers) + ("julia-offsetarrays" ,julia-offsetarrays))) + (home-page "https://github.com/JuliaIO/JSON.jl") + (synopsis "JSON parsing and printing library for Julia") + (description "@code{JSON.jl} is a pure Julia module which supports parsing +and printing JSON documents.") + (license license:expat))) + +(define-public julia-orderedcollections + (package + (name "julia-orderedcollections") + (version "1.3.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/JuliaCollections/OrderedCollections.jl") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0sfip1ixghsz91q2s7d62rgzw3gppg42fg6bccxlplqa3hfmbycf")))) + (build-system julia-build-system) + (home-page "https://github.com/JuliaCollections/OrderedCollections.jl") + (synopsis "Associative containers that preserve insertion order") + (description "This package implements @code{OrderedDicts} and +@code{OrderedSets}, which are similar to containers in base Julia. However, +during iteration the @code{Ordered*} containers return items in the order in +which they were added to the collection.") + (license license:expat))) + +(define-public julia-offsetarrays + (package + (name "julia-offsetarrays") + (version "1.5.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/JuliaArrays/OffsetArrays.jl") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1y3fnssw2hzyghrk6jfcxslab0f8sjkjszh482snfq4k6mkrhy77")))) + (build-system julia-build-system) + (propagated-inputs + `(("julia-adapt" ,julia-adapt))) + ;; CatIndices depends on OffsetArrays, introducing a recursive dependency + (arguments '(#:tests? #f)) + (home-page "https://juliaarrays.github.io/OffsetArrays.jl/stable/") + (synopsis "Fortran-like arrays with arbitrary, zero or negative indices") + (description "@code{OffsetArrays.jl} provides Julia users with arrays that +have arbitrary indices, similar to those found in some other programming +languages like Fortran.") + (license license:expat))) + +(define-public julia-parsers + (package + (name "julia-parsers") + (version "1.0.15") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/JuliaData/Parsers.jl") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "16iffl6l28kspgqch48mhi1s8qhspr3cpqcwsph3rqi72lbfqygx")))) + (build-system julia-build-system) + (home-page "https://github.com/JuliaData/Parsers.jl") + (synopsis "Fast parsing machinery for basic types in Julia") + (description "@code{Parsers.jl} is a collection of type parsers and +utilities for Julia.") + (license license:expat))) diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm index 70cf346ecd..5482400f02 100644 --- a/gnu/packages/kde-frameworks.scm +++ b/gnu/packages/kde-frameworks.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015 Andreas Enge <andreas@enge.fr> -;;; Copyright © 2016, 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2016, 2019, 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016-2019 Hartmut Goebel <h.goebel@crazy-compilers.com> ;;; Copyright © 2016 David Craven <david@craven.ch> ;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be> @@ -1047,12 +1047,13 @@ integration with a custom editor as well as a ready-to-use ("wayland" ,wayland) ("wayland-protocols" ,wayland-protocols))) (arguments - `(#:phases + `(#:tests? #f ; FIXME tests require weston to run + ; weston requires wayland flags in mesa + #:phases (modify-phases %standard-phases (add-before 'check 'check-setup (lambda _ (setenv "XDG_RUNTIME_DIR" "/tmp") - (setenv "QT_QPA_PLATFORM" "offscreen") #t))))) (home-page "https://community.kde.org/Frameworks") (synopsis "Qt-style API to interact with the wayland client and server") diff --git a/gnu/packages/kde.scm b/gnu/packages/kde.scm index 73a2289f04..9173aea80f 100644 --- a/gnu/packages/kde.scm +++ b/gnu/packages/kde.scm @@ -9,7 +9,7 @@ ;;; Copyright © 2018, 2019, 2020 Hartmut Goebel <h.goebel@crazy-compilers.com> ;;; Copyright © 2019, 2020 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2020 Marius Bakke <marius@gnu.org> -;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de> +;;; Copyright © 2020, 2021 Michael Rohleder <mike@rohleder.de> ;;; Copyright © 2020 Prafulla Giri <pratheblackdiamond@gmail.com> ;;; Copyright © 2020 Zheng Junjie <873216071@qq.com> ;;; @@ -457,7 +457,7 @@ illustrate project schedules.") (define-public krita (package (name "krita") - (version "4.4.1") + (version "4.4.2") (source (origin (method url-fetch) (uri (string-append @@ -465,7 +465,7 @@ illustrate project schedules.") "/krita-" version ".tar.gz")) (sha256 (base32 - "05rq5hkh2lmk8hall2h9ccaav0nw8fj7vd4aff5fyp2fiq3aybbg")))) + "14lprcv7xw6r19bmylcz4c1p1jfazmza2b4m48f3x7vmdv2sx5ln")))) (build-system cmake-build-system) (arguments `(#:tests? #f diff --git a/gnu/packages/language.scm b/gnu/packages/language.scm index 3f17465039..93e125db7e 100644 --- a/gnu/packages/language.scm +++ b/gnu/packages/language.scm @@ -23,36 +23,313 @@ (define-module (gnu packages language) #:use-module (gnu packages) + #:use-module (gnu packages anthy) #:use-module (gnu packages autotools) #:use-module (gnu packages audio) + #:use-module (gnu packages base) + #:use-module (gnu packages docbook) + #:use-module (gnu packages emacs) + #:use-module (gnu packages freedesktop) + #:use-module (gnu packages gettext) #:use-module (gnu packages glib) + #:use-module (gnu packages gnome) #:use-module (gnu packages gtk) + #:use-module (gnu packages ibus) #:use-module (gnu packages java) #:use-module (gnu packages linux) #:use-module (gnu packages llvm) #:use-module (gnu packages man) + #:use-module (gnu packages ncurses) #:use-module (gnu packages ocr) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages pulseaudio) #:use-module (gnu packages python) #:use-module (gnu packages perl-check) + #:use-module (gnu packages qt) + #:use-module (gnu packages sqlite) #:use-module (gnu packages swig) #:use-module (gnu packages texinfo) #:use-module (gnu packages web) #:use-module (gnu packages xml) + #:use-module (gnu packages xdisorg) #:use-module (gnu packages xorg) #:use-module (guix packages) + #:use-module (guix build-system cmake) + #:use-module (guix build-system glib-or-gtk) #:use-module (guix build-system gnu) #:use-module (guix build-system perl) #:use-module (guix build-system python) + #:use-module (guix build-system qt) #:use-module ((guix licenses) #:select - (bsd-3 gpl2 gpl2+ gpl3 gpl3+ lgpl2.1 lgpl2.1+ lgpl3+ perl-license zpl2.1)) + (bsd-3 gpl2 gpl2+ gpl3 gpl3+ lgpl2.1 lgpl2.1+ lgpl3+ perl-license zpl2.1 fdl1.2+)) #:use-module (guix download) #:use-module (guix git-download) #:use-module (guix utils)) +(define-public nimf + (package + (name "nimf") + (version "1.2") + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/hamonikr/nimf.git") + (commit + (string-append "nimf-" version)))) + (file-name + (git-file-name name version)) + (sha256 + (base32 "01qi7flmaqrn2fk03sa42r0caks9d8lsv88s0bgxahhxwk1x76gc")))) + (build-system glib-or-gtk-build-system) + (outputs '("out" "doc")) + (arguments + `(#:imported-modules + (,@%glib-or-gtk-build-system-modules + (guix build cmake-build-system) + (guix build qt-build-system)) + #:modules + ((guix build glib-or-gtk-build-system) + ((guix build qt-build-system) + #:prefix qt:) + (guix build utils)) + #:configure-flags + (list + "--with-im-config-data" + "--with-imsettings-data" + (string-append "--with-html-dir=" + (assoc-ref %outputs "doc") + "/share/gtk-doc/html")) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-flags + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "configure.ac" + (("-Werror") + "-Wno-error")) + #t)) + (add-after 'patch-flags 'patch-docbook-xml + (lambda* (#:key inputs #:allow-other-keys) + (with-directory-excursion "docs" + (substitute* "nimf-docs.xml" + (("http://www.oasis-open.org/docbook/xml/4.3/") + (string-append (assoc-ref inputs "docbook-xml-4.3") + "/xml/dtd/docbook/")))) + #t)) + (add-after 'patch-docbook-xml 'patch-paths + (lambda* (#:key inputs outputs #:allow-other-keys) + (substitute* "configure.ac" + (("/usr/share/anthy/anthy.dic") + (string-append (assoc-ref inputs "anthy") + "/share/anthy/anthy.dic"))) + (substitute* "configure.ac" + (("/usr/bin:\\$GTK3_LIBDIR/libgtk-3-0") + (string-append (assoc-ref inputs "gtk+:bin") + "/bin:$GTK3_LIBDIR/libgtk-3-0")) + (("/usr/bin:\\$GTK2_LIBDIR/libgtk2.0-0") + (string-append (assoc-ref inputs "gtk+-2:bin") + "/bin:$GTK2_LIBDIR/libgtk2.0-0"))) + (substitute* "modules/clients/gtk/Makefile.am" + (("\\$\\(GTK3_LIBDIR\\)") + (string-append (assoc-ref outputs "out") + "/lib")) + (("\\$\\(GTK2_LIBDIR\\)") + (string-append (assoc-ref outputs "out") + "/lib"))) + (substitute* "modules/clients/qt4/Makefile.am" + (("\\$\\(QT4_LIB_DIR\\)") + (string-append (assoc-ref outputs "out") + "/lib"))) + (substitute* "modules/clients/qt5/Makefile.am" + (("\\$\\(QT5_IM_MODULE_DIR\\)") + (string-append (assoc-ref outputs "out") + "/lib/qt5/plugins/inputmethods"))) + (substitute* '("bin/nimf-settings/Makefile.am" + "data/apparmor-abstractions/Makefile.am" + "data/Makefile.am" "data/im-config/Makefile.am" + "data/imsettings/Makefile.am") + (("/etc") + (string-append (assoc-ref outputs "out") + "/etc")) + (("/usr/share") + (string-append (assoc-ref outputs "out") + "/share"))) + #t)) + (add-after 'install 'qt-wrap + (assoc-ref qt:%standard-phases 'qt-wrap))))) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("docbook-xml-4.3" ,docbook-xml-4.3) + ("gettext" ,gettext-minimal) + ("gobject-introspection" ,gobject-introspection) + ("gtk+-2:bin" ,gtk+-2 "bin") + ("gtk+:bin" ,gtk+ "bin") + ("gtk-doc" ,gtk-doc) + ("intltool" ,intltool) + ("libtool" ,libtool) + ("perl" ,perl) + ("pkg-config" ,pkg-config) + ("which" ,which))) + (inputs + `(("anthy" ,anthy) + ("appindicator" ,libappindicator) + ("gtk+-2" ,gtk+-2) + ("gtk+" ,gtk+) + ("hangul" ,libhangul) + ("m17n-db" ,m17n-db) + ("m17n-lib" ,m17n-lib) + ("qt-4" ,qt-4) + ("qtbase" ,qtbase) + ("rime" ,librime) + ("rsvg" ,librsvg) + ("wayland" ,wayland) + ("wayland-protocols" ,wayland-protocols) + ("x11" ,libx11) + ("xkbcommon" ,libxkbcommon) + ("xklavier" ,libxklavier))) + (propagated-inputs + `(("glib" ,glib))) + (synopsis "Lightweight input method framework") + (description "Nimf is a lightweight, fast and extensible input method +framework. This package provides a fork of the original nimf project, that +focusses especially on Korean input (Hangul, Hanja, ...).") + (home-page "https://github.com/hamonikr/nimf/") + (license lgpl3+))) + +(define-public hime + (package + (name "hime") + (version "0.9.11") + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/hime-ime/hime.git") + (commit + (string-append "v" version)))) + (file-name + (git-file-name name version)) + (sha256 + (base32 "1wn0ici78x5qh6hvv50bf76ld7ds42hzzl4l5qz34hp8wyvrwakw")))) + (build-system glib-or-gtk-build-system) + (arguments + `(#:tests? #f ; No target + #:imported-modules + (,@%glib-or-gtk-build-system-modules + (guix build cmake-build-system) + (guix build qt-build-system)) + #:modules + ((guix build glib-or-gtk-build-system) + ((guix build qt-build-system) + #:prefix qt:) + (guix build utils)) + #:configure-flags + (list + ;; FIXME + ;; error: unknown type name ‘GtkStatusIcon’ + "--disable-system-tray") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-std + (lambda _ + (substitute* "configure" + (("gnu17") + "gnu11") + (("gnu++17") + "gnu++11")) + #t)) + (add-after 'install 'qt-wrap + (assoc-ref qt:%standard-phases 'qt-wrap))))) + (native-inputs + `(("gettext" ,gettext-minimal) + ("pkg-config" ,pkg-config) + ("whereis" ,util-linux))) + (inputs + `(("anthy" ,anthy) + ("appindicator" ,libappindicator) + ("chewing" ,libchewing) + ("gtk+" ,gtk+) + ("qtbase" ,qtbase) + ("xtst" ,libxtst))) + (synopsis "HIME Input Method Editor") + (description "Hime is an extremely easy-to-use input method framework. It +is lightweight, stable, powerful and supports many commonly used input methods, +including Cangjie, Zhuyin, Dayi, Ranked, Shrimp, Greek, Anthy, Korean, Latin, +Random Cage Fighting Birds, Cool Music etc.") + (home-page "http://hime-ime.github.io/") + (license + (list + gpl2+ + lgpl2.1+ + ;; Documentation + fdl1.2+)))) + +(define-public libchewing + (package + (name "libchewing") + (version "0.5.1") + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/chewing/libchewing.git") + (commit + (string-append "v" version)))) + (file-name + (git-file-name name version)) + (sha256 + (base32 "04d09w6xdd08v6laj9y4qmqsijw5i2jvshcilhh4vg6cfnfgl2my")))) + (build-system gnu-build-system) + (arguments + `(;; test-easy-symbol and test-fullshape fail with multiple cores. + #:parallel-tests? #f + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'disable-failing-tests + (lambda _ + (substitute* "test/Makefile.am" + ((" test-bopomofo ") + "") + ((" test-config ") + "") + ((" test-reset ") + "") + ((" test-symbol ") + "") + ((" test-keyboardless ") + "") + ((" test-special-symbol ") + "") + ((" test-keyboard ") + "") + ((" test-regression ") + "") + ((" test-userphrase ") + "")) + #t))))) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("libtool" ,libtool) + ("perl" ,perl) + ("pkg-config" ,pkg-config) + ("python" ,python-wrapper) + ("texinfo" ,texinfo))) + (inputs + `(("ncurses" ,ncurses) + ("sqlite" ,sqlite))) + (synopsis "Chinese phonetic input method") + (description "Chewing is an intelligent phonetic (Zhuyin/Bopomofo) input +method, one of the most popular choices for Traditional Chinese users.") + (home-page "http://chewing.im/") + (license lgpl2.1+))) + (define-public liblouis (package (name "liblouis") diff --git a/gnu/packages/license.scm b/gnu/packages/license.scm index 369426768b..7b94c02558 100644 --- a/gnu/packages/license.scm +++ b/gnu/packages/license.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com> ;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2020, 2021 Michael Rohleder <mike@rohleder.de> +;;; Copyright © 2021 Tanguy Le Carrour <tanguy@bioneland.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -205,3 +206,35 @@ tools that have a lot more features and functionality surrounding the analysis and inspection of copyright and licenses in software projects. This one is designed to be simple.") (license (list asl2.0 gpl3+)))) + +(define-public licenseheaders + (package + (name "licenseheaders") + (version "0.8.6") + (source + (origin + (method url-fetch) + (uri (pypi-uri "licenseheaders" version)) + (sha256 + (base32 "073xcm10gyg5kcxqmbsyaz9sr0slbdwgr0r9qanch0zl8i0z9259")))) + (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + ;; Reported upstream: + ;; <https://github.com/johann-petrak/licenseheaders/issues/47>. + (add-after 'unpack 'patch-code + (lambda _ + (substitute* "licenseheaders.py" + (("\\\"filenames\\\": \\[\\\"CMakeLists.txt\\\"\\],") + "\"filenames\": [\"CMakeLists.txt\"], \n \"extensions\": [],")) + #t))))) + (propagated-inputs + `(("python-regex" ,python-regex))) + (home-page "http://github.com/johann-petrak/licenseheaders") + (synopsis "Add or change license headers for all files in a directory") + (description + "Licenseheaders is a Python 3 tool to update, change or add license +headers to all files of any of the supported types in or below some +directory.") + (license expat))) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 85afac2611..9e31dfc5db 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -49,7 +49,7 @@ ;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de> ;;; Copyright © 2020 Anders Thuné <asse.97@gmail.com> ;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com> -;;; Copyright © 2020 Greg Hogan <code@greghogan.com> +;;; Copyright © 2020, 2021 Greg Hogan <code@greghogan.com> ;;; Copyright © 2020 Zhu Zihao <all_but_last@163.com> ;;; Copyright © 2020 David Dashyan <mail@davie.li> ;;; Copyright © 2020 pukkamustard <pukkamustard@posteo.net> @@ -353,7 +353,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." ;; The current "stable" kernels. That is, the most recently released major ;; versions that are still supported upstream. -(define-public linux-libre-5.10-version "5.10.10") +(define-public linux-libre-5.10-version "5.10.12") (define deblob-scripts-5.10 (linux-libre-deblob-scripts linux-libre-5.10-version @@ -361,7 +361,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (base32 "0hh27ccqimagr3aij7ygwikxw66y63sqwd0xlf49bhpjd090r9a7"))) (define-public linux-libre-5.10-pristine-source (let ((version linux-libre-5.10-version) - (hash (base32 "06fvgkrn9127xw9kly6l4ws3yv80q8xfqdzaam92lljim5pqdvb0"))) + (hash (base32 "1an460q3affd7gmd6fqv8g37j3z2fnmq19iy677k8kxb2wl4yi8x"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-5.10))) @@ -369,7 +369,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." ;; The "longterm" kernels — the older releases with long-term upstream support. ;; Here are the support timelines: ;; <https://www.kernel.org/category/releases.html> -(define-public linux-libre-5.4-version "5.4.92") +(define-public linux-libre-5.4-version "5.4.94") (define deblob-scripts-5.4 (linux-libre-deblob-scripts linux-libre-5.4-version @@ -377,12 +377,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (base32 "1xghbbnaisjd0k1klbyn1p7r6r4x5a1bpmkm56a3gh2zvw4s7mj8"))) (define-public linux-libre-5.4-pristine-source (let ((version linux-libre-5.4-version) - (hash (base32 "1zcl4dadyfrgmx6rh0ncy403rsqb1qs092m6zr6b3i14i3wpz4y0"))) + (hash (base32 "0f9bml584g6jb822j7xyxx9j2g3s49p08xz4bkx9lbiinxyzagf2"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-5.4))) -(define-public linux-libre-4.19-version "4.19.170") +(define-public linux-libre-4.19-version "4.19.172") (define deblob-scripts-4.19 (linux-libre-deblob-scripts linux-libre-4.19-version @@ -390,12 +390,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (base32 "1jiaw0as1ippkrjdpd52657w5mz9qczg3y2hlra7m9k0xawwiqlf"))) (define-public linux-libre-4.19-pristine-source (let ((version linux-libre-4.19-version) - (hash (base32 "0jjvwbxpfvmzj4z6gkd2mh3kz9vh8hsgsm0013866hzgz1j043fx"))) + (hash (base32 "08hl7vw5r61gnzagnm8nbhlbm0h226crp4m19zh0qr2q0pmwqd2g"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.19))) -(define-public linux-libre-4.14-version "4.14.217") +(define-public linux-libre-4.14-version "4.14.218") (define deblob-scripts-4.14 (linux-libre-deblob-scripts linux-libre-4.14-version @@ -403,12 +403,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (base32 "1qij18inijj6c3ma8hv98yjagnzxdxyn134da9fd23ky8q6hbvky"))) (define-public linux-libre-4.14-pristine-source (let ((version linux-libre-4.14-version) - (hash (base32 "04adj8x7p1has4mh8ygxhqgwb1i08fz9izqw1y6xj5hh8cjnm8v2"))) + (hash (base32 "0l2rcpccf71amngii7vs18x4x6gb0bwxdb2gszabip03bshqdzp3"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.14))) -(define-public linux-libre-4.9-version "4.9.253") +(define-public linux-libre-4.9-version "4.9.254") (define deblob-scripts-4.9 (linux-libre-deblob-scripts linux-libre-4.9-version @@ -416,12 +416,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (base32 "0fxajshb75siq39lj5h8xvhdj8lcmddkslwlyj65rhlwk6g2r4b2"))) (define-public linux-libre-4.9-pristine-source (let ((version linux-libre-4.9-version) - (hash (base32 "065w35vb0qp4fvnwmcx7f92inmx64f9r04zzwcwbs0826nl52nws"))) + (hash (base32 "1djw5mlff73j7m1176qspdzhf6zyv4m0gkdvlxq4g4mdrbqfx6xn"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.9))) -(define-public linux-libre-4.4-version "4.4.253") +(define-public linux-libre-4.4-version "4.4.254") (define deblob-scripts-4.4 (linux-libre-deblob-scripts linux-libre-4.4-version @@ -429,7 +429,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (base32 "0hhin1jpfkd6nwrb6xqxjzl3hdxy4pn8a15hy2d3d83yw6pflbsf"))) (define-public linux-libre-4.4-pristine-source (let ((version linux-libre-4.4-version) - (hash (base32 "0nlqnfhrkaj2s582kc0wxqi0881hgp6l9z85qx4ckflc8jwrh7k6"))) + (hash (base32 "11wca1mprlcyk7r5h1c8rx3hr7l6mj4i85jaaf106s7wqcm8wamd"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.4))) @@ -5513,7 +5513,7 @@ The package provides additional NTFS tools.") (define-public rdma-core (package (name "rdma-core") - (version "26.0") + (version "33.1") (source (origin (method url-fetch) (uri (string-append "https://github.com/linux-rdma/rdma-core" @@ -5521,27 +5521,18 @@ The package provides additional NTFS tools.") version ".tar.gz")) (sha256 (base32 - "14raqwx4pkzghiwkx1v0dq338f7xqqx8rnsxlpdnngvjy1p5l79j")))) + "1rah0v9gq9rksqd2c17nmydsxcjz178n7m2y4ricwlf5pq1b2yfi")))) (build-system cmake-build-system) (arguments `(#:tests? #f ; no tests ;; Upstream uses the "ninja" build system and encourage distros - ;; to do the same for consistency. They also recommend using the - ;; "Release" build type. - #:build-type "Release" + ;; to do the same for consistency. #:configure-flags (list "-GNinja" (string-append "-DRST2MAN_EXECUTABLE=" (assoc-ref %build-inputs "python-docutils") - "/bin/rst2man.py") - - ;; On some configurations, the - ;; IB_USER_MAD_REGISTER_AGENT ioctl, which is - ;; used by default, would return ENODEV. To - ;; avoid that, use 'write' instead of ioctls, - ;; as suggested in 'CMakeList.txt'. - "-DIOCTL_MODE=write") + "/bin/rst2man.py")) #:phases (modify-phases %standard-phases (replace 'build @@ -6732,7 +6723,7 @@ comparing system environments.") (define-public libfabric (package (name "libfabric") - (version "1.4.1") + (version "1.11.2") (source (origin (method url-fetch) @@ -6740,7 +6731,7 @@ comparing system environments.") (string-append "https://github.com/ofiwg/libfabric/releases/download/v" version "/libfabric-" version ".tar.bz2")) (sha256 - (base32 "19l2m1frna1l765z4j7wl8hp4rb9wrh0hy5496685hd183hmy5pv")))) + (base32 "1nnpfkwxhim2nqjkb1vwrb4wj4j3l6w6yvvy69fqam2snlhshazz")))) (build-system gnu-build-system) (inputs `(("rdma-core" ,rdma-core) ,@(match (%current-system) @@ -7593,7 +7584,7 @@ persistent over reboots.") (define-public libbpf (package (name "libbpf") - (version "0.0.9") + (version "0.1.1") (source (origin (method git-fetch) @@ -7603,7 +7594,7 @@ persistent over reboots.") (file-name (git-file-name name version)) (sha256 (base32 - "18l0gff7nm841mwhr7bc7x863xcyvwh58zl7mc0amnsjqlbrvqg7")))) + "0ilnnm4q22f8fagwp8kb37licy4ks861i2iqh2djsypqhnxvx3fv")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) @@ -7623,10 +7614,7 @@ persistent over reboots.") (modify-phases %standard-phases (delete 'configure) (add-before 'build 'pre-build - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "scripts/check-reallocarray.sh" - (("/bin/rm" rm) - (string-append (assoc-ref inputs "coreutils") rm))) + (lambda _ (chdir "src") #t))))) (home-page "https://github.com/libbpf/libbpf") @@ -7640,7 +7628,7 @@ headers.") (define-public bcc (package (name "bcc") - (version "0.15.0") + (version "0.16.0") (source (origin (method git-fetch) @@ -7650,7 +7638,7 @@ headers.") (file-name (git-file-name name version)) (sha256 (base32 - "1d5j9zanffa1c7lpi5fcrdlx1n7hy86xl82fam2xqr0s41q4ipxw")))) + "1367c0bzrpclvjvmk0sxgi49rh7j2f9izqk5a7g3yvawh1fmvvjh")))) (build-system cmake-build-system) (native-inputs `(("bison" ,bison) diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index 3fefccf1e8..7cfd4b2a6b 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -69,6 +69,7 @@ #:use-module (gnu packages libffi) #:use-module (gnu packages lisp) #:use-module (gnu packages maths) + #:use-module (gnu packages mp3) #:use-module (gnu packages networking) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) @@ -459,6 +460,39 @@ compatible with ANSI-compliant Common Lisp implementations.") (define-public ecl-cl-ppcre (sbcl-package->ecl-package sbcl-cl-ppcre)) +(define-public sbcl-ubiquitous + (let ((commit "35eb7bd9e1b3daee1705f6b41260775180cce8af") + (revision "1")) + (package + (name "sbcl-ubiquitous") + (version (git-version "2.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Shinmera/ubiquitous") + (commit commit))) + (file-name (git-file-name "ubiquitous" version)) + (sha256 + (base32 "1xlkaqmjcpkiv2xl2s2pvvrv976dlc846wm16s1lj62iy1315i49")))) + (build-system asdf-build-system/sbcl) + (inputs + `(("bordeaux-threads" ,sbcl-bordeaux-threads))) + (home-page "https://shinmera.github.io/ubiquitous/") + (synopsis "Application configuration mechanism for Common Lisp") + (description + "@code{UBIQUITOUS} is a very easy-to-use library for persistent +configuration storage. It automatically takes care of finding a suitable place +to save your data, and provides simple functions to access and modify the data +within.") + (license license:zlib)))) + +(define-public ecl-ubiquitous + (sbcl-package->ecl-package sbcl-ubiquitous)) + +(define-public cl-ubiquitous + (sbcl-package->cl-source-package sbcl-ubiquitous)) + (define-public sbcl-uax-15 (package (name "sbcl-uax-15") @@ -799,40 +833,11 @@ antialiased TrueType font rendering using CLX and XRender extension.") (commit commit))) (sha256 (base32 "0vv185gz3rkfng5y79dijfnc11p92qdz2kdza05avjbpqfs6l0zn")) - (file-name (git-file-name "slynk" version)) - (modules '((guix build utils) - (ice-9 ftw))) - (snippet - '(begin - ;; Move the contribs into the main source directory for easier - ;; access - (substitute* "slynk/slynk.asd" - (("\\.\\./contrib") - "contrib")) - (rename-file "contrib" "slynk/contrib") - ;; Move slynk's contents into the base directory for easier - ;; access - (for-each (lambda (file) - (unless (string-prefix? "." file) - (rename-file (string-append "slynk/" file) - (string-append "./" (basename file))))) - (scandir "slynk")) - #t)))) + (file-name (git-file-name "slynk" version)))) (build-system asdf-build-system/sbcl) (outputs '("out" "image")) (arguments - `(#:tests? #f ; No test suite - #:asd-systems '("slynk" - "slynk/arglists" - "slynk/fancy-inspector" - "slynk/package-fu" - "slynk/mrepl" - "slynk/trace-dialog" - "slynk/profiler" - "slynk/stickers" - "slynk/indentation" - "slynk/retro") - #:phases + `(#:phases (modify-phases %standard-phases (add-after 'create-asdf-configuration 'build-image (lambda* (#:key outputs #:allow-other-keys) @@ -1318,6 +1323,34 @@ and macros, primarily for software projects written in CL by the author.") (define-public ecl-jpl-util (sbcl-package->ecl-package sbcl-jpl-util)) +(define-public sbcl-piping + (let ((commit "c7a4163c00dea7e72bf6ad33d6abac0d5826a656") + (revision "1")) + (package + (name "sbcl-piping") + (version (git-version "2.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Shinmera/piping/") + (commit commit))) + (file-name (git-file-name "piping" version)) + (sha256 + (base32 "0in84qnfkynm36d4n4d6v87vprpi27xrydnga462wfhplji6klv5")))) + (build-system asdf-build-system/sbcl) + (home-page "https://shinmera.github.io/piping/") + (synopsis "Library to enable simple message pipelines") + (description + "This is a Common Lisp library to enable simple message pipelines.") + (license license:zlib)))) + +(define-public ecl-piping + (sbcl-package->ecl-package sbcl-piping)) + +(define-public cl-piping + (sbcl-package->cl-source-package sbcl-piping)) + (define-public sbcl-jpl-queues (package (name "sbcl-jpl-queues") @@ -2403,8 +2436,8 @@ tester module.") (sbcl-package->ecl-package sbcl-ptester)) (define-public sbcl-puri - (let ((commit "ef5afb9e5286c8e952d4344f019c1a636a717b97") - (revision "1")) + (let ((commit "4bbab89d9ccbb26346899d1f496c97604fec567b") + (revision "2")) (package (name "sbcl-puri") (version (git-version "1.5.7" revision commit)) @@ -2414,13 +2447,13 @@ tester module.") (uri (git-reference (url "http://git.kpe.io/puri.git") (commit commit))) - (file-name (git-file-name name version)) + (file-name (git-file-name "puri" version)) (sha256 - (base32 "1vm25pdl92laj72p5vyd538kf3cjy2655z6bdc99h20ana2p231s")))) + (base32 "0gq2rsr0aihs0z20v4zqvmdl4szq53b52rh97pvnmwrlbn4mapmd")))) (build-system asdf-build-system/sbcl) (native-inputs `(("ptester" ,sbcl-ptester))) - (home-page "http://quickdocs.org/puri/") + (home-page "http://puri.kpe.io/") (synopsis "Portable URI Library") (description "This is a portable Universal Resource Identifier library for Common @@ -3235,6 +3268,34 @@ client and server.") (define-public ecl-s-xml-rpc (sbcl-package->ecl-package sbcl-s-xml-rpc)) +(define-public sbcl-trivial-arguments + (let ((commit "ecd84ed9cf9ef8f1e873d7409e6bd04979372aa7") + (revision "1")) + (package + (name "sbcl-trivial-arguments") + (version (git-version "1.1.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Shinmera/trivial-arguments") + (commit commit))) + (file-name (git-file-name "trivial-arguments" version)) + (sha256 + (base32 "02vaqfavhj8jqxnr68nnzvzshm8jbgcy6m9lvyv4daa6f7ihqf88")))) + (build-system asdf-build-system/sbcl) + (home-page "https://github.com/Shinmera/trivial-arguments") + (synopsis "Common Lisp library to retrieve a function's lambda-list") + (description + "This is a simple library to retrieve the argument list of a function.") + (license license:zlib)))) + +(define-public ecl-trivial-arguments + (sbcl-package->ecl-package sbcl-trivial-arguments)) + +(define-public cl-trivial-arguments + (sbcl-package->cl-source-package sbcl-trivial-arguments)) + (define-public sbcl-trivial-clipboard (let ((commit "afcd3743b842f5a81fc86dba60f9db59970f49c5")) (package @@ -4641,6 +4702,41 @@ various levels and mix text with expressions.") (define-public ecl-log4cl (sbcl-package->ecl-package sbcl-log4cl)) +(define-public sbcl-verbose + (let ((commit "c5b7ecd465be61b35af17ef57564697b88397174") + (revision "1")) + (package + (name "sbcl-verbose") + (version (git-version "2.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Shinmera/verbose/") + (commit commit))) + (file-name (git-file-name "verbose" version)) + (sha256 + (base32 "0r51ydj5v7afi2jrlscbhxprv13d9vzg5316g1yzwaxc1kzsdsw6")))) + (build-system asdf-build-system/sbcl) + (inputs + `(("bordeaux-threads" ,sbcl-bordeaux-threads) + ("dissect" ,sbcl-dissect) + ("documentation-utils" ,sbcl-documentation-utils) + ("local-time" ,sbcl-local-time) + ("piping" ,sbcl-piping))) + (home-page "https://shinmera.github.io/verbose/") + (synopsis "Logging framework using the piping library") + (description + "This is a Common Lisp library providing logging faciltiy similar to +@code{CL-LOG} and @code{LOG4CL}.") + (license license:zlib)))) + +(define-public ecl-verbose + (sbcl-package->ecl-package sbcl-verbose)) + +(define-public cl-verbose + (sbcl-package->cl-source-package sbcl-verbose)) + (define-public sbcl-find-port (let ((commit "00c96a25af93a0f8681d34ec548861f2d7485478") (revision "1")) @@ -9686,6 +9782,115 @@ PascalCase, snake_case, param-case, CONSTANT_CASE and more.") (define-public ecl-cl-change-case (sbcl-package->ecl-package sbcl-cl-change-case)) +(define-public sbcl-modularize + (let ((commit "86c5d9a11fbd2df9f0f03ac10b5d71837c8934ba") + (revision "1")) + (package + (name "sbcl-modularize") + (version (git-version "1.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Shinmera/modularize") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1zys29rfkb649rkgl3snxhajk8d5yf7ryxkrwy020kwdh7zdsg7d")))) + (build-system asdf-build-system/sbcl) + (arguments + `(#:test-asd-file "modularize-test-module.asd" + #:asd-files '("modularize.asd" "modularize-test-module.asd") + #:asd-systems '("modularize" "modularize-test-module"))) + (inputs + `(("documentation-utils" ,sbcl-documentation-utils) + ("trivial-package-local-nicknames" ,sbcl-trivial-package-local-nicknames))) + (home-page "https://shinmera.github.io/modularize/") + (synopsis "Common Lisp modularization framework") + (description + "@code{MODULARIZE} is an attempt at providing a common interface to +segregate major application components. This is achieved by adding special +treatment to packages. Each module is a package that is specially registered, +which allows it to interact and co-exist with other modules in better ways. For +instance, by adding module definition options you can introduce mechanisms to +tie modules together in functionality, hook into each other and so on.") + (license license:zlib)))) + +(define-public ecl-modularize + (sbcl-package->ecl-package sbcl-modularize)) + +(define-public cl-modularize + (sbcl-package->cl-source-package sbcl-modularize)) + +(define-public sbcl-modularize-hooks + (let ((commit "e0348ed3ffd59a9ec31ca4ab28289e748bfbf96a") + (revision "1")) + (package + (name "sbcl-modularize-hooks") + (version (git-version "1.0.2" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Shinmera/modularize-hooks") + (commit commit))) + (file-name (git-file-name "modularize-hooks" version)) + (sha256 + (base32 "12kjvin8hxidwkzfb7inqv5b6g5qzcssnj9wc497v2ixc56fqdz7")))) + (build-system asdf-build-system/sbcl) + (inputs + `(("closer-mop" ,sbcl-closer-mop) + ("lambda-fiddle" ,sbcl-lambda-fiddle) + ("modularize" ,sbcl-modularize) + ("trivial-arguments" ,sbcl-trivial-arguments))) + (home-page "https://shinmera.github.io/modularize-hooks/") + (synopsis "Generic hooks and triggers extension for Modularize") + (description + "This is a simple extension to @code{MODULARIZE} that allows modules to +define and trigger hooks, which other modules can hook on to.") + (license license:zlib)))) + +(define-public ecl-modularize-hooks + (sbcl-package->ecl-package sbcl-modularize-hooks)) + +(define-public cl-modularize-hooks + (sbcl-package->cl-source-package sbcl-modularize-hooks)) + +(define-public sbcl-modularize-interfaces + (let ((commit "96353657afb8c7aeba7ef5b51eb04c5ed3bcb6ef") + (revision "1")) + (package + (name "sbcl-modularize-interfaces") + (version (git-version "0.9.3" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Shinmera/modularize-interfaces") + (commit commit))) + (file-name (git-file-name "modularize-interfaces" version)) + (sha256 + (base32 "0bjf4wy39cwf75m7vh0r7mmcchs09yz2lrbyap98hnq8blq70fhc")))) + (build-system asdf-build-system/sbcl) + (inputs + `(("lambda-fiddle" ,sbcl-lambda-fiddle) + ("modularize" ,sbcl-modularize) + ("trivial-arguments" ,sbcl-trivial-arguments) + ("trivial-indent" ,sbcl-trivial-indent))) + (home-page "https://shinmera.github.io/modularize-interfaces/") + (synopsis "Programmatical interfaces extension for Modularize") + (description + "This is an extension to @code{MODULARIZE} that allows your application +to define interfaces in-code that serve both as a primary documentation and as +compliance control.") + (license license:zlib)))) + +(define-public ecl-modularize-interfaces + (sbcl-package->ecl-package sbcl-modularize-interfaces)) + +(define-public cl-modularize-interfaces + (sbcl-package->cl-source-package sbcl-modularize-interfaces)) + (define-public sbcl-moptilities (let ((commit "a436f16b357c96b82397ec018ea469574c10dd41")) (package @@ -10282,8 +10487,8 @@ format.") (sbcl-package->ecl-package sbcl-cl-libsvm-format)) (define-public sbcl-cl-online-learning - (let ((commit "fc7a34f4f161cd1c7dd747d2ed8f698947781423") - (revision "0")) + (let ((commit "87fbef8a340219e853adb3a5bf44a0470da76964") + (revision "1")) (package (name "sbcl-cl-online-learning") (version (git-version "0.5" revision commit)) @@ -10293,10 +10498,10 @@ format.") (uri (git-reference (url "https://github.com/masatoi/cl-online-learning") (commit commit))) - (file-name (git-file-name name version)) + (file-name (git-file-name "cl-online-learning" version)) (sha256 (base32 - "14x95rlg80ay5hv645ki57pqvy12v28hz4k1w0f6bsfi2rmpxchq")))) + "1lfq04lnxivx59nq5dd02glyqsqzf3vdn4s9b8wnaln5fs8g2ph9")))) (build-system asdf-build-system/sbcl) (native-inputs `(("prove" ,sbcl-prove))) @@ -10304,13 +10509,14 @@ format.") `(("cl-libsvm-format" ,sbcl-cl-libsvm-format) ("cl-store" ,sbcl-cl-store))) (arguments - `(;; FIXME: Tests pass but then the check phase crashes - #:tests? #f)) + `(#:test-asd-file "cl-online-learning-test.asd" + #:asd-systems '("cl-online-learning-test" + "cl-online-learning"))) + (home-page "https://github.com/masatoi/cl-online-learning") (synopsis "Online Machine Learning for Common Lisp") (description "This library contains a collection of machine learning algorithms for online linear classification written in Common Lisp.") - (home-page "https://github.com/masatoi/cl-online-learning") (license license:expat)))) (define-public cl-online-learning @@ -10319,6 +10525,121 @@ online linear classification written in Common Lisp.") (define-public ecl-cl-online-learning (sbcl-package->ecl-package sbcl-cl-online-learning)) +(define-public sbcl-cl-mpg123 + (let ((commit "5f042c839d2ea4a2ff2a7b60c839d8633d64161d") + (revision "1")) + (package + (name "sbcl-cl-mpg123") + (version (git-version "1.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Shirakumo/cl-mpg123") + (commit commit))) + (file-name (git-file-name "cl-mpg123" version)) + (sha256 + (base32 "1hl721xaczxck008ax2y3jpkm509ry1sg3lklh2k76764m3ndrjf")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Remove bundled pre-compiled libraries. + (delete-file-recursively "static") + #t)))) + (build-system asdf-build-system/sbcl) + (arguments + `(#:asd-files '("cl-mpg123.asd" "cl-mpg123-example.asd") + #:asd-systems '("cl-mpg123" "cl-mpg123-example") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-paths + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "low-level.lisp" + (("libmpg123.so" all) + (string-append (assoc-ref inputs "libmpg123") + "/lib/" all)))))))) + (inputs + `(("cffi" ,sbcl-cffi) + ("cl-out123" ,sbcl-cl-out123) + ("documentation-utils" ,sbcl-documentation-utils) + ("libmpg123" ,mpg123) + ("trivial-features" ,sbcl-trivial-features) + ("trivial-garbage" ,sbcl-trivial-garbage) + ("verbose" ,sbcl-verbose))) + (home-page "https://shirakumo.github.io/cl-mpg123/") + (synopsis "Common Lisp bindings to libmpg123") + (description + "This is a bindings and wrapper library to @code{libmpg123} allowing for +convenient, extensive, and fast decoding of MPEG1/2/3 (most prominently mp3) +files.") + (license license:zlib)))) + +(define-public ecl-cl-mpg123 + (sbcl-package->ecl-package sbcl-cl-mpg123)) + +(define-public cl-mpg123 + (sbcl-package->cl-source-package sbcl-cl-mpg123)) + +(define-public sbcl-cl-out123 + (let ((commit "6b58d3f8c2a28ad09059ac4c60fb3c781b9b421b") + (revision "1")) + (package + (name "sbcl-cl-out123") + (version (git-version "1.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Shirakumo/cl-out123") + (commit commit))) + (file-name (git-file-name "cl-out123" version)) + (sha256 + (base32 "0mdwgfax6sq68wvdgjjp78i40ah7wqkpqnvaq8a1c509k7ghdgv1")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Remove bundled pre-compiled libraries. + (delete-file-recursively "static") + #t)))) + (build-system asdf-build-system/sbcl) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-paths + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "low-level.lisp" + (("libout123.so" all) + (string-append (assoc-ref inputs "libout123") + "/lib/" all))))) + ;; NOTE: (Sharlatan-20210129T134529+0000): ECL package `ext' has no + ;; exported macro `without-interrupts' it's moved to `mp' package + ;; https://github.com/Shirakumo/cl-out123/issues/2 + ;; https://gitlab.com/embeddable-common-lisp/ecl/-/blob/develop/src/lsp/mp.lsp + (add-after 'unpack 'fix-ecl-package-name + (lambda _ + (substitute* "wrapper.lisp" + (("ext:without-interrupts.*") "mp:without-interrupts\n")) + #t))))) + (inputs + `(("bordeaux-threads" ,sbcl-bordeaux-threads) + ("cffi" ,sbcl-cffi) + ("documentation-utils" ,sbcl-documentation-utils) + ("libout123" ,mpg123) + ("trivial-features" ,sbcl-trivial-features) + ("trivial-garbage" ,sbcl-trivial-garbage))) + (home-page "https://shirakumo.github.io/cl-out123/") + (synopsis "Common Lisp bindings to libout123") + (description + "This is a bindings library to @code{libout123} which allows easy +cross-platform audio playback.") + (license license:zlib)))) + +(define-public ecl-cl-out123 + (sbcl-package->ecl-package sbcl-cl-out123)) + +(define-public cl-out123 + (sbcl-package->cl-source-package sbcl-cl-out123)) + (define-public sbcl-cl-random-forest (let ((commit "fedb36ce99bb6f4d7e3a7dd6d8b058f331308f91") (revision "1")) @@ -12069,9 +12390,8 @@ predictable cross-platform behavior and some utilities useful for versioning.") (sbcl-package->ecl-package sbcl-defpackage-plus)) (define-public sbcl-deploy - ;; tagged branch is outdated - (let ((revision "1") - (commit "59fd49719ef651a8fc11750bcfb337f132cff75f")) + (let ((commit "9b20e64fe924b9e31832304d87a3a72c383dc6d8") + (revision "2")) (package (name "sbcl-deploy") (version (git-version "1.0.0" revision commit)) @@ -12081,15 +12401,21 @@ predictable cross-platform behavior and some utilities useful for versioning.") (uri (git-reference (url "https://github.com/Shinmera/deploy") (commit commit))) - (file-name (git-file-name name version)) + (file-name (git-file-name "deploy" version)) (sha256 - (base32 "1vl2116z4kw2pd3qd3n6mmg8g0mnwxr9dgddk86g7j1bis1z8k9a")))) + (base32 "07pfkibaridihg8lbq2czwa4iqifqk24n6rx7bfnv7i49p1ppja1")))) (build-system asdf-build-system/sbcl) + (arguments + `(#:test-asd-file "deploy-test.asd" + #:asd-files '("deploy.asd" + "deploy-test.asd"))) + (native-inputs + `(("cl-mpg123" ,sbcl-cl-mpg123) + ("cl-out123" ,sbcl-cl-out123))) (inputs `(("cffi" ,sbcl-cffi) - ("documentation-utils" ,sbcl-documentation-utils))) - (arguments - '(#:asd-files '("deploy.asd"))) + ("documentation-utils" ,sbcl-documentation-utils) + ("trivial-features" ,sbcl-trivial-features))) (home-page "https://shinmera.github.io/deploy/") (synopsis "Deployment tools for standalone Common Lisp application") (description diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm index 920b5d82ed..4e35e3e369 100644 --- a/gnu/packages/machine-learning.scm +++ b/gnu/packages/machine-learning.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Ricardo Wurmus <rekado@elephly.net> -;;; Copyright © 2016, 2020 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2016, 2020, 2021 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016, 2017, 2020 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2016 Hartmut Goebel <h.goebel@crazy-compilers.com> ;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> @@ -74,6 +74,7 @@ #:use-module (gnu packages pkg-config) #:use-module (gnu packages protobuf) #:use-module (gnu packages python) + #:use-module (gnu packages python-build) #:use-module (gnu packages python-check) #:use-module (gnu packages python-science) #:use-module (gnu packages python-web) @@ -870,6 +871,36 @@ data analysis.") (base32 "08zbzi8yx5wdlxfx9jap61vg1malc9ajf576w7a0liv6jvvrxlpj"))))))) +(define-public python-threadpoolctl + (package + (name "python-threadpoolctl") + (version "2.1.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "threadpoolctl" version)) + (sha256 + (base32 + "0szsxcm2fbxrn83iynn42bnvrdh7mfsmkhfn8pdn7swblfb7rifx")))) + (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? inputs outputs #:allow-other-keys) + (when tests? + (add-installed-pythonpath inputs outputs) + (invoke "pytest")) + #t))))) + (native-inputs + `(("python-pytest" ,python-pytest))) + (home-page "https://github.com/joblib/threadpoolctl") + (synopsis "Python helpers for common threading libraries") + (description "Thread-pool Controls provides Python helpers to limit the +number of threads used in the threadpool-backed of common native libraries used +for scientific computing and data science (e.g. BLAS and OpenMP).") + (license license:bsd-3))) + (define-public python-pynndescent (package (name "python-pynndescent") diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index ab3a19578e..b3927bbafe 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -445,7 +445,7 @@ aliasing facilities to work just as they would on normal mail.") (define-public mutt (package (name "mutt") - (version "2.0.4") + (version "2.0.5") (source (origin (method url-fetch) (uri (list @@ -455,9 +455,8 @@ aliasing facilities to work just as they would on normal mail.") version ".tar.gz"))) (sha256 (base32 - "1m4ig69qw4g3lhm4351snmy5i0ch65fqc9vqqdybr6jy21w7w225")) - (patches (search-patches "mutt-store-references.patch" - "mutt-CVE-2021-3181.patch")))) + "0k80s27sf7djb7zxj81ihksr8jkr71mfaa8976fzh41i1pn5l7g2")) + (patches (search-patches "mutt-store-references.patch")))) (build-system gnu-build-system) (inputs `(("cyrus-sasl" ,cyrus-sasl) diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm index 1820a146d1..8ddf70540a 100644 --- a/gnu/packages/messaging.scm +++ b/gnu/packages/messaging.scm @@ -26,7 +26,7 @@ ;;; Copyright © 2020 Mason Hock <chaosmonk@riseup.net> ;;; Copyright © 2020, 2021 Michael Rohleder <mike@rohleder.de> ;;; Copyright © 2020 Raghav Gururajan <raghavgururajan@disroot.org> -;;; Copyright © 2020 Robert Karszniewicz <avoidr@posteo.de> +;;; Copyright © 2020, 2021 Robert Karszniewicz <avoidr@posteo.de> ;;; ;;; This file is part of GNU Guix. ;;; @@ -1430,7 +1430,7 @@ messenger protocol.") (define-public utox (package (name "utox") - (version "0.18.0") + (version "0.18.1") (source (origin (method git-fetch) @@ -1441,7 +1441,7 @@ messenger protocol.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "0d0mwgxffg4nhai62irf8lyhd1whp9s4k892rsmqz1sra3pbjcg9")))) + "01rvlf94d4rkrygnnjak3cg16hrrqyi1rn9nx65y17qk2nbyh68g")))) (build-system cmake-build-system) (arguments `(#:configure-flags '("-DENABLE_TESTS=on") @@ -1466,7 +1466,6 @@ messenger protocol.") ("filteraudio" ,filteraudio) ("fontconfig" ,fontconfig) ("freetype" ,freetype) - ("libsodium" ,libsodium) ("c-toxcore" ,c-toxcore) ("gtk+" ,gtk+) ("libvpx" ,libvpx) diff --git a/gnu/packages/mono.scm b/gnu/packages/mono.scm index a01b63f08a..9e5b428969 100644 --- a/gnu/packages/mono.scm +++ b/gnu/packages/mono.scm @@ -134,7 +134,7 @@ Java.") (define-public libgdiplus (package (name "libgdiplus") - (version "6.0.4") + (version "6.0.5") (source (origin (method url-fetch) @@ -144,7 +144,7 @@ Java.") ".tar.gz")) (sha256 (base32 - "0adz5813f881z65lpyf0g0w9hcn7d7qkai6sncpkwnsxfv4khp5p")))) + "1vr5l09i5i91n9qzky7ab9wwvgdidvrbw26y8llip0z4qdf4w7mq")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index 5902cf56ba..0da4cdd73a 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -10,7 +10,7 @@ ;;; Copyright © 2016 Alex Griffin <a@ajgrf.com> ;;; Copyright © 2017 nikita <nikita@n0.is> ;;; Copyright © 2017 Rodger Fox <thylakoid@openmailbox.org> -;;; Copyright © 2017, 2018, 2019, 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr> +;;; Copyright © 2017, 2018, 2019, 2020, 2021 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; Copyright © 2017, 2018, 2019 Pierre Langlois <pierre.langlois@gmx.com> ;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2017–2021 Tobias Geerinckx-Rice <me@tobias.gr> @@ -4434,7 +4434,7 @@ standalone JACK client and an LV2 plugin is also available.") (define-public musescore (package (name "musescore") - (version "3.6") + (version "3.6.1") (source (origin (method git-fetch) @@ -4443,7 +4443,7 @@ standalone JACK client and an LV2 plugin is also available.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0c9yf8irkism3ffzzpkx636wa6b1r1lgpsb2x63pr0gbi5ss5kyh")) + (base32 "087j474sdm8vcjczfqlbb1hpcvgvdghjsd132db9dlqwpgk4hmnv")) (modules '((guix build utils))) (snippet ;; Remove unused libraries. diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm index 4e8d91256d..abaab60f31 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -6,7 +6,7 @@ ;;; Copyright © 2016 Raimon Grau <raimonster@gmail.com> ;;; Copyright © 2016–2021 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2016 John Darrington <jmd@gnu.org> -;;; Copyright © 2016, 2017, 2018, 2019, 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr> +;;; Copyright © 2016, 2017, 2018, 2019, 2020, 2021 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; Copyright © 2016 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2016, 2017 Nikita <nikita@n0.is> ;;; Copyright © 2016, 2017, 2018 Arun Isaac <arunisaac@systemreboot.net> @@ -1349,14 +1349,14 @@ of the same name.") (define-public wireshark (package (name "wireshark") - (version "3.4.2") + (version "3.4.3") (source (origin (method url-fetch) (uri (string-append "https://www.wireshark.org/download/src/wireshark-" version ".tar.xz")) (sha256 - (base32 "1i548w6zv6ni5n22rs90a12aakyq811493dxmadlcsj2krr6i66y")))) + (base32 "0ar6pxzrcpxdriz437d6ziwlhb8k5wlvrkalp3hgqwzwy1vwqrzl")))) (build-system cmake-build-system) (arguments `(#:phases diff --git a/gnu/packages/openstack.scm b/gnu/packages/openstack.scm index 17a4f3dcdb..26b275e0fd 100644 --- a/gnu/packages/openstack.scm +++ b/gnu/packages/openstack.scm @@ -135,18 +135,8 @@ formatters, and other extensions.") "This package provides a collection of Python deprecation patterns and strategies that help you collect your technical debt in a non-destructive manner.") - (properties `((python2-variant . ,(delay python2-debtcollector)))) (license asl2.0))) -(define-public python2-debtcollector - (let ((base (package-with-python2 (strip-python2-variant - python-debtcollector)))) - (package - (inherit base) - (propagated-inputs - `(("python2-funcsigs" ,python2-funcsigs) - ,@(package-propagated-inputs base)))))) - (define-public python-hacking (package (name "python-hacking") @@ -272,9 +262,6 @@ to docs.openstack.org and developer.openstack.org.") comprehensive manner.") (license asl2.0))) -(define-public python2-os-client-config - (package-with-python2 python-os-client-config)) - (define-public python-os-testr (package (name "python-os-testr") @@ -305,9 +292,6 @@ to docs.openstack.org and developer.openstack.org.") for subunit.") (license asl2.0))) -(define-public python2-os-testr - (package-with-python2 python-os-testr)) - (define-public python-stevedore (package (name "python-stevedore") @@ -339,9 +323,6 @@ classes for implementing common patterns for using dynamically loaded extensions.") (license asl2.0))) -(define-public python2-stevedore - (package-with-python2 python-stevedore)) - (define-public python-tempest-lib (package (name "python-tempest-lib") @@ -664,9 +645,6 @@ documentation from the OpenStack project.") for debugging, and better support for mocking results.") (license asl2.0))) -(define-public python2-oslotest - (package-with-python2 python-oslotest)) - (define-public python-oslo.utils (package (name "python-oslo.utils") @@ -850,6 +828,3 @@ permanence.") "Git-review is a command-line tool that helps submitting Git branches to Gerrit for review, or fetching existing ones.") (license asl2.0))) - -(define-public python2-git-review - (package-with-python2 python-git-review)) diff --git a/gnu/packages/parallel.scm b/gnu/packages/parallel.scm index fde19ced92..3a0c22b6d4 100644 --- a/gnu/packages/parallel.scm +++ b/gnu/packages/parallel.scm @@ -55,14 +55,14 @@ (define-public parallel (package (name "parallel") - (version "20201222") + (version "20210122") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/parallel/parallel-" version ".tar.bz2")) (sha256 - (base32 "13kxg2vmy20ciiv1gp96g33bmvma1nh5d66jdix1fqj6xjaizr5n")))) + (base32 "1wxkqz6ld1bp0ilvc04vhq99qjay1nl6pbk3qzvp3sjavv9vdwdl")))) (build-system gnu-build-system) (arguments `(#:phases @@ -108,7 +108,7 @@ and they are executed on lists of files, hosts, users or other items.") (define-public slurm (package (name "slurm") - (version "20.11.2") + (version "20.11.3") (source (origin (method url-fetch) (uri (string-append @@ -116,7 +116,7 @@ and they are executed on lists of files, hosts, users or other items.") version ".tar.bz2")) (sha256 (base32 - "15h2vs58apgdz02ijgr46090vjyaa81qcm76mm6fxlvkkfd4pyxp")) + "1s70x6yh60sx63dgmp5rlhq8jcz7kxv9pk8gbs9v1jg8zps5h5bk")) (modules '((guix build utils))) (snippet '(begin @@ -194,6 +194,8 @@ by managing a queue of pending work.") ;; in incompatible ways, as noted in ;; <https://slurm.schedmd.com/troubleshoot.html#network>. Thus, keep older ;; releases here. See also <https://issues.guix.gnu.org/44387>. +;; As noted in the link, YY.MM is the release scheme, and the 'maintenance' +;; digit does not introduce incompatibilities. (define-public slurm-20.02 (package @@ -209,11 +211,10 @@ by managing a queue of pending work.") (base32 "0qj4blfymrd2ry2qmb58l3jbr4jwygc3adcfw7my27rippcijlyc")))))) - (define-public slurm-19.05 (package (inherit slurm) - (version "19.05.3-2") + (version "19.05.8") (source (origin (inherit (package-source slurm)) (method url-fetch) @@ -222,13 +223,13 @@ by managing a queue of pending work.") version ".tar.bz2")) (sha256 (base32 - "0qj4blfymrd2ry2qmb58l3jbr4jwygc3adcfw7my27rippcijlyc")))))) + "10c9j4a9a6d4ibpf75006mn03p8xgpaprc247x2idakysjf2fw43")))))) ;; Same as Debian 10 (define-public slurm-18.08 (package (inherit slurm) - (version "18.08.5-2") + (version "18.08.9") (source (origin (inherit (package-source slurm)) @@ -237,7 +238,7 @@ by managing a queue of pending work.") version ".tar.bz2")) (sha256 (base32 - "0xrj12nmkhvhzi7cyh4yvdm8qa51ji3j82mgpq7sx87g30f9spn4")))))) + "1bgrpz75m7l4xhirsd0fvnkzlkrl8v2qpmjcz60barc5qm2kn457")))))) (define-public slurm-drmaa (package diff --git a/gnu/packages/patches/avogadro-boost148.patch b/gnu/packages/patches/avogadro-boost148.patch deleted file mode 100644 index f244f14674..0000000000 --- a/gnu/packages/patches/avogadro-boost148.patch +++ /dev/null @@ -1,69 +0,0 @@ -Index: avogadro-1.2.0/libavogadro/src/pythonengine_p.h -=================================================================== ---- avogadro-1.2.0.orig/libavogadro/src/pythonengine_p.h -+++ avogadro-1.2.0/libavogadro/src/pythonengine_p.h -@@ -31,7 +31,9 @@ - - #include <avogadro/global.h> - #include <avogadro/engine.h> -+#ifndef Q_MOC_RUN - #include <boost/python.hpp> -+#endif - - namespace Avogadro { - -Index: avogadro-1.2.0/libavogadro/src/pythonextension_p.h -=================================================================== ---- avogadro-1.2.0.orig/libavogadro/src/pythonextension_p.h -+++ avogadro-1.2.0/libavogadro/src/pythonextension_p.h -@@ -33,7 +33,9 @@ - #include <avogadro/extension.h> - #include <avogadro/primitive.h> - #include <avogadro/glwidget.h> -+#ifndef Q_MOC_RUN - #include <boost/python.hpp> -+#endif - - #include <QWidget> - #include <QList> -Index: avogadro-1.2.0/libavogadro/src/pythontool_p.h -=================================================================== ---- avogadro-1.2.0.orig/libavogadro/src/pythontool_p.h -+++ avogadro-1.2.0/libavogadro/src/pythontool_p.h -@@ -31,7 +31,9 @@ - - #include <avogadro/global.h> - #include <avogadro/tool.h> -+#ifndef Q_MOC_RUN - #include <boost/python.hpp> -+#endif - - #include <QObject> - #include <QAction> -Index: avogadro-1.2.0/libavogadro/src/pythoninterpreter.h -=================================================================== ---- avogadro-1.2.0.orig/libavogadro/src/pythoninterpreter.h -+++ avogadro-1.2.0/libavogadro/src/pythoninterpreter.h -@@ -26,7 +26,9 @@ - #define PYTHONINTERPRETER_H - - #include <avogadro/global.h> -+#ifndef Q_MOC_RUN - #include <boost/python.hpp> -+#endif - #include <avogadro/primitive.h> - #include <QString> - -Index: avogadro-1.2.0/libavogadro/src/pythonscript.h -=================================================================== ---- avogadro-1.2.0.orig/libavogadro/src/pythonscript.h -+++ avogadro-1.2.0/libavogadro/src/pythonscript.h -@@ -27,6 +27,8 @@ - #define PYTHONSCRIPT_H - - #include <avogadro/global.h> -+#ifndef Q_MOC_RUN - #include <boost/python.hpp> -+#endif - - #include "pythonerror.h" diff --git a/gnu/packages/patches/avogadro-eigen3-update.patch b/gnu/packages/patches/avogadro-eigen3-update.patch deleted file mode 100644 index a5f669292f..0000000000 --- a/gnu/packages/patches/avogadro-eigen3-update.patch +++ /dev/null @@ -1,603 +0,0 @@ -From 43af3c117b0b3220b15c2fe2895b94bbd83d3a60 Mon Sep 17 00:00:00 2001 -From: Claudio Fernandes <claudiosf.claudio@gmail.com> -Date: Sun, 15 Jan 2017 21:23:39 -0200 -Subject: [PATCH] Adapt Avogadro to Eigen 3.3 - ---- - CMakeLists.txt | 9 +------ - avogadro/src/mainwindow.cpp | 5 ++-- - libavogadro/src/camera.cpp | 10 ++++---- - libavogadro/src/camera.h | 14 +++++------ - libavogadro/src/engines/wireengine.cpp | 4 ++-- - .../crystallography/crystallographyextension.cpp | 2 +- - .../crystallography/ui/ceviewoptionswidget.cpp | 2 +- - .../src/extensions/orca/orcaanalysedialog.cpp | 1 - - .../src/extensions/orca/orcainputdialog.cpp | 1 - - .../src/extensions/qtaim/qtaimmathutilities.cpp | 1 + - .../qtaim/qtaimwavefunctionevaluator.cpp | 28 +++++++++++----------- - .../extensions/surfaces/openqube/gamessukout.cpp | 1 + - .../src/extensions/surfaces/openqube/slaterset.cpp | 6 +++-- - libavogadro/src/glpainter_p.cpp | 14 +++++------ - libavogadro/src/glwidget.cpp | 4 ++-- - libavogadro/src/molecule.cpp | 26 ++++++++++++++++++-- - libavogadro/src/navigate.cpp | 2 +- - libavogadro/src/tools/bondcentrictool.cpp | 28 +++++++++++----------- - libavogadro/src/tools/manipulatetool.cpp | 17 +++++++------ - libavogadro/src/tools/navigatetool.cpp | 3 ++- - libavogadro/src/tools/skeletontree.cpp | 7 +++--- - libavogadro/src/tools/skeletontree.h | 2 +- - 22 files changed, 102 insertions(+), 85 deletions(-) - ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -231,14 +231,7 @@ if(NOT Linguist_FOUND) - message(WARNING " Qt4 Linguist not found, please install it if you want Avogadro translations") - endif() - --find_package(Eigen3) # find and setup Eigen3 if available --if(NOT EIGEN3_FOUND) -- message(STATUS "Cannot find Eigen3, trying Eigen2") -- find_package(Eigen2 REQUIRED) # Some version is required --else() --# Use Stage10 Eigen3 support -- set (EIGEN2_SUPPORT_STAGE10_FULL_EIGEN2_API TRUE) --endif() -+find_package(Eigen3 REQUIRED) # find and setup Eigen3 if available - - find_package(ZLIB REQUIRED) - find_package(OpenBabel2 REQUIRED) # find and setup OpenBabel ---- a/avogadro/src/mainwindow.cpp -+++ b/avogadro/src/mainwindow.cpp -@@ -115,7 +115,6 @@ - #include <QDebug> - - #include <Eigen/Geometry> --#include <Eigen/Array> - #define USEQUAT - // This is a "hidden" exported Qt function on the Mac for Qt-4.x. - #ifdef Q_WS_MAC -@@ -2775,7 +2774,7 @@ protected: - linearGoal.row(1) = linearGoal.row(2).cross(linearGoal.row(0)); - - // calculate the translation matrix -- Transform3d goal(linearGoal); -+ Projective3d goal(linearGoal); - - goal.pretranslate(- 3.0 * (d->glWidget->radius() + CAMERA_NEAR_DISTANCE) * Vector3d::UnitZ()); - -@@ -2840,7 +2839,7 @@ protected: - Matrix3d linearGoal = Matrix3d::Identity(); - - // calculate the translation matrix -- Transform3d goal(linearGoal); -+ Projective3d goal(linearGoal); - - goal.pretranslate(- 3.0 * (d->glWidget->radius() + CAMERA_NEAR_DISTANCE) * Vector3d::UnitZ()); - ---- a/libavogadro/src/camera.cpp -+++ b/libavogadro/src/camera.cpp -@@ -47,7 +47,7 @@ namespace Avogadro - - CameraPrivate() {}; - -- Eigen::Transform3d modelview, projection; -+ Eigen::Projective3d modelview, projection; - const GLWidget *parent; - double angleOfViewY; - double orthoScale; -@@ -169,20 +169,20 @@ namespace Avogadro - - double Camera::distance(const Eigen::Vector3d & point) const - { -- return ( d->modelview * point ).norm(); -+ return ( d->modelview * point.homogeneous() ).head<3>().norm(); - } - -- void Camera::setModelview(const Eigen::Transform3d &matrix) -+ void Camera::setModelview(const Eigen::Projective3d &matrix) - { - d->modelview = matrix; - } - -- const Eigen::Transform3d & Camera::modelview() const -+ const Eigen::Projective3d & Camera::modelview() const - { - return d->modelview; - } - -- Eigen::Transform3d & Camera::modelview() -+ Eigen::Projective3d & Camera::modelview() - { - return d->modelview; - } ---- a/libavogadro/src/camera.h -+++ b/libavogadro/src/camera.h -@@ -101,16 +101,16 @@ namespace Avogadro { - double angleOfViewY() const; - /** Sets 4x4 "modelview" matrix representing the camera orientation and position. - * @param matrix the matrix to copy from -- * @sa Eigen::Transform3d & modelview(), applyModelview() */ -- void setModelview(const Eigen::Transform3d &matrix); -+ * @sa Eigen::Projective3d & modelview(), applyModelview() */ -+ void setModelview(const Eigen::Projective3d &matrix); - /** @return a constant reference to the 4x4 "modelview" matrix representing - * the camera orientation and position -- * @sa setModelview(), Eigen::Transform3d & modelview() */ -- const Eigen::Transform3d & modelview() const; -+ * @sa setModelview(), Eigen::Projective3d & modelview() */ -+ const Eigen::Projective3d & modelview() const; - /** @return a non-constant reference to the 4x4 "modelview" matrix representing - * the camera orientation and position -- * @sa setModelview(), const Eigen::Transform3d & modelview() const */ -- Eigen::Transform3d & modelview(); -+ * @sa setModelview(), const Eigen::Projective3d & modelview() const */ -+ Eigen::Projective3d & modelview(); - /** Calls gluPerspective() or glOrtho() with parameters automatically chosen - * for rendering the GLWidget's molecule with this camera. Should be called - * only in GL_PROJECTION matrix mode. Example code is given -@@ -342,7 +342,7 @@ namespace Avogadro { - * @return {x/w, y/w, z/w} vector - */ - Eigen::Vector3d V4toV3DivW(const Eigen::Vector4d & v4) { -- return v4.start<3>()/v4.w(); -+ return v4.head<3>()/v4.w(); - } - }; - ---- a/libavogadro/src/engines/wireengine.cpp -+++ b/libavogadro/src/engines/wireengine.cpp -@@ -109,7 +109,7 @@ namespace Avogadro { - const Camera *camera = pd->camera(); - - // perform a rough form of frustum culling -- Eigen::Vector3d transformedPos = pd->camera()->modelview() * v; -+ Eigen::Vector3d transformedPos = (pd->camera()->modelview() * v.homogeneous()).head<3>(); - double dot = transformedPos.z() / transformedPos.norm(); - if(dot > -0.8) - return true; -@@ -167,7 +167,7 @@ namespace Avogadro { - map = pd->colorMap(); // fall back to global color map - - // perform a rough form of frustum culling -- Eigen::Vector3d transformedEnd1 = pd->camera()->modelview() * v1; -+ Eigen::Vector3d transformedEnd1 = (pd->camera()->modelview() * v1.homogeneous()).head<3>(); - double dot = transformedEnd1.z() / transformedEnd1.norm(); - if(dot > -0.8) - return true; // i.e., don't bother rendering ---- a/libavogadro/src/extensions/crystallography/crystallographyextension.cpp -+++ b/libavogadro/src/extensions/crystallography/crystallographyextension.cpp -@@ -1989,7 +1989,7 @@ namespace Avogadro - // fix coordinates - // Apply COB matrix: - Eigen::Matrix3d invCob; -- cob.computeInverse(&invCob); -+ invCob = cob.inverse(); - for (QList<Eigen::Vector3d>::iterator - it = fcoords.begin(), - it_end = fcoords.end(); ---- a/libavogadro/src/extensions/crystallography/ui/ceviewoptionswidget.cpp -+++ b/libavogadro/src/extensions/crystallography/ui/ceviewoptionswidget.cpp -@@ -139,7 +139,7 @@ namespace Avogadro - { - // View into a Miller plane - Camera *camera = m_glWidget->camera(); -- Eigen::Transform3d modelView; -+ Eigen::Projective3d modelView; - modelView.setIdentity(); - - // OK, so we want to rotate to look along the normal at the plane ---- a/libavogadro/src/extensions/orca/orcaanalysedialog.cpp -+++ b/libavogadro/src/extensions/orca/orcaanalysedialog.cpp -@@ -41,7 +41,6 @@ - #include <openbabel/mol.h> - - #include <Eigen/Geometry> --#include <Eigen/LeastSquares> - - #include <vector> - ---- a/libavogadro/src/extensions/orca/orcainputdialog.cpp -+++ b/libavogadro/src/extensions/orca/orcainputdialog.cpp -@@ -33,7 +33,6 @@ - #include <openbabel/mol.h> - - #include <Eigen/Geometry> --#include <Eigen/LeastSquares> - - #include <vector> - ---- a/libavogadro/src/extensions/qtaim/qtaimmathutilities.cpp -+++ b/libavogadro/src/extensions/qtaim/qtaimmathutilities.cpp -@@ -28,6 +28,7 @@ - - #include <cmath> - #include <Eigen/QR> -+#include <Eigen/Eigenvalues> - - namespace Avogadro { - namespace QTAIMMathUtilities { ---- a/libavogadro/src/extensions/qtaim/qtaimwavefunctionevaluator.cpp -+++ b/libavogadro/src/extensions/qtaim/qtaimwavefunctionevaluator.cpp -@@ -35,21 +35,21 @@ namespace Avogadro - m_nprim=wfn.numberOfGaussianPrimitives(); - m_nnuc=wfn.numberOfNuclei(); - -- m_nucxcoord=Map<Matrix<qreal,Dynamic,1> >(wfn.xNuclearCoordinates(),m_nnuc); -- m_nucycoord=Map<Matrix<qreal,Dynamic,1> >(wfn.yNuclearCoordinates(),m_nnuc); -- m_nuczcoord=Map<Matrix<qreal,Dynamic,1> >(wfn.zNuclearCoordinates(),m_nnuc); -- m_nucz=Map<Matrix<qint64,Dynamic,1> >(wfn.nuclearCharges(),m_nnuc); -- m_X0=Map<Matrix<qreal,Dynamic,1> >(wfn.xGaussianPrimitiveCenterCoordinates(),m_nprim,1); -- m_Y0=Map<Matrix<qreal,Dynamic,1> >(wfn.yGaussianPrimitiveCenterCoordinates(),m_nprim,1); -- m_Z0=Map<Matrix<qreal,Dynamic,1> >(wfn.zGaussianPrimitiveCenterCoordinates(),m_nprim,1); -- m_xamom=Map<Matrix<qint64,Dynamic,1> >(wfn.xGaussianPrimitiveAngularMomenta(),m_nprim,1); -- m_yamom=Map<Matrix<qint64,Dynamic,1> >(wfn.yGaussianPrimitiveAngularMomenta(),m_nprim,1); -- m_zamom=Map<Matrix<qint64,Dynamic,1> >(wfn.zGaussianPrimitiveAngularMomenta(),m_nprim,1); -- m_alpha=Map<Matrix<qreal,Dynamic,1> >(wfn.gaussianPrimitiveExponentCoefficients(),m_nprim,1); -+ m_nucxcoord=Map<Matrix<qreal,Dynamic,1> >(const_cast<qreal*>(wfn.xNuclearCoordinates()),m_nnuc); -+ m_nucycoord=Map<Matrix<qreal,Dynamic,1> >(const_cast<qreal*>(wfn.yNuclearCoordinates()),m_nnuc); -+ m_nuczcoord=Map<Matrix<qreal,Dynamic,1> >(const_cast<qreal*>(wfn.zNuclearCoordinates()),m_nnuc); -+ m_nucz=Map<Matrix<qint64,Dynamic,1> >(const_cast<qint64*>(wfn.nuclearCharges()),m_nnuc); -+ m_X0=Map<Matrix<qreal,Dynamic,1> >(const_cast<qreal*>(wfn.xGaussianPrimitiveCenterCoordinates()),m_nprim,1); -+ m_Y0=Map<Matrix<qreal,Dynamic,1> >(const_cast<qreal*>(wfn.yGaussianPrimitiveCenterCoordinates()),m_nprim,1); -+ m_Z0=Map<Matrix<qreal,Dynamic,1> >(const_cast<qreal*>(wfn.zGaussianPrimitiveCenterCoordinates()),m_nprim,1); -+ m_xamom=Map<Matrix<qint64,Dynamic,1> >(const_cast<qint64*>(wfn.xGaussianPrimitiveAngularMomenta()),m_nprim,1); -+ m_yamom=Map<Matrix<qint64,Dynamic,1> >(const_cast<qint64*>(wfn.yGaussianPrimitiveAngularMomenta()),m_nprim,1); -+ m_zamom=Map<Matrix<qint64,Dynamic,1> >(const_cast<qint64*>(wfn.zGaussianPrimitiveAngularMomenta()),m_nprim,1); -+ m_alpha=Map<Matrix<qreal,Dynamic,1> >(const_cast<qreal*>(wfn.gaussianPrimitiveExponentCoefficients()),m_nprim,1); - // TODO Implement screening for unoccupied molecular orbitals. -- m_occno=Map<Matrix<qreal,Dynamic,1> >(wfn.molecularOrbitalOccupationNumbers(),m_nmo,1); -- m_orbe=Map<Matrix<qreal,Dynamic,1> >(wfn.molecularOrbitalEigenvalues(),m_nmo,1); -- m_coef=Map<Matrix<qreal,Dynamic,Dynamic,RowMajor> >(wfn.molecularOrbitalCoefficients(),m_nmo,m_nprim); -+ m_occno=Map<Matrix<qreal,Dynamic,1> >(const_cast<qreal*>(wfn.molecularOrbitalOccupationNumbers()),m_nmo,1); -+ m_orbe=Map<Matrix<qreal,Dynamic,1> >(const_cast<qreal*>(wfn.molecularOrbitalEigenvalues()),m_nmo,1); -+ m_coef=Map<Matrix<qreal,Dynamic,Dynamic,RowMajor> >(const_cast<qreal*>(wfn.molecularOrbitalCoefficients()),m_nmo,m_nprim); - m_totalEnergy=wfn.totalEnergy(); - m_virialRatio=wfn.virialRatio(); - ---- a/libavogadro/src/extensions/surfaces/openqube/gamessukout.cpp -+++ b/libavogadro/src/extensions/surfaces/openqube/gamessukout.cpp -@@ -19,6 +19,7 @@ - using Eigen::Vector3d; - using std::vector; - -+#include <iostream> - #include <fstream> - - namespace OpenQube ---- a/libavogadro/src/extensions/surfaces/openqube/slaterset.cpp -+++ b/libavogadro/src/extensions/surfaces/openqube/slaterset.cpp -@@ -25,9 +25,9 @@ - - #include "cube.h" - --#include <Eigen/Array> - #include <Eigen/LU> - #include <Eigen/QR> -+#include <Eigen/Eigenvalues> - - #include <cmath> - -@@ -250,7 +250,9 @@ bool SlaterSet::initialize() - - SelfAdjointEigenSolver<MatrixXd> s(m_overlap); - MatrixXd p = s.eigenvectors(); -- MatrixXd m = p * s.eigenvalues().cwise().inverse().cwise().sqrt().asDiagonal() * p.inverse(); -+ // TODO check if this is correct -+ MatrixXd m1 = (s.eigenvalues().array().inverse().sqrt()); -+ MatrixXd m = p.array()*(m1.diagonal().array())*p.inverse().array(); - m_normalized = m * m_eigenVectors; - - if (!(m_overlap*m*m).isIdentity()) ---- a/libavogadro/src/glpainter_p.cpp -+++ b/libavogadro/src/glpainter_p.cpp -@@ -789,13 +789,13 @@ namespace Avogadro - } else { - points[theta-1] = Eigen::AngleAxisd(theta * (M_PI / 180.0) / 2, n) * u; - } -- points[theta-1] = d->widget->camera()->modelview() * (origin + points[theta-1]); -+ points[theta-1] = (d->widget->camera()->modelview() * (origin + points[theta-1]).homogeneous()).head<3>(); - } - - // Get vectors representing the points' positions in terms of the model view. -- Eigen::Vector3d _origin = d->widget->camera()->modelview() * origin; -- Eigen::Vector3d _direction1 = d->widget->camera()->modelview() * (origin+u); -- Eigen::Vector3d _direction2 = d->widget->camera()->modelview() * (origin+v); -+ Eigen::Vector3d _origin = (d->widget->camera()->modelview() * origin.homogeneous()).head<3>(); -+ Eigen::Vector3d _direction1 = (d->widget->camera()->modelview() * (origin+u).homogeneous()).head<3>(); -+ Eigen::Vector3d _direction2 = (d->widget->camera()->modelview() * (origin+v).homogeneous()).head<3>(); - - glPushAttrib(GL_ALL_ATTRIB_BITS); - glPushMatrix(); -@@ -880,12 +880,12 @@ namespace Avogadro - } else { - points[theta-1] = Eigen::AngleAxisd(theta * (M_PI / 180.0) / 2, n) * u; - } -- points[theta-1] = d->widget->camera()->modelview() * (origin + points[theta-1]); -+ points[theta-1] = (d->widget->camera()->modelview() * (origin + points[theta-1]).homogeneous()).head<3>(); - } - - // Get vectors representing the points' positions in terms of the model view. -- Eigen::Vector3d _direction1 = d->widget->camera()->modelview() * (origin + u); -- Eigen::Vector3d _direction2 = d->widget->camera()->modelview() * (origin + v); -+ Eigen::Vector3d _direction1 = (d->widget->camera()->modelview() * (origin + u).homogeneous()).head<3>(); -+ Eigen::Vector3d _direction2 = (d->widget->camera()->modelview() * (origin + v).homogeneous()).head<3>(); - - glPushAttrib(GL_ALL_ATTRIB_BITS); - glPushMatrix(); ---- a/libavogadro/src/glwidget.cpp -+++ b/libavogadro/src/glwidget.cpp -@@ -765,7 +765,7 @@ namespace Avogadro { - GLfloat fogColor[4]= {static_cast<GLfloat>(d->background.redF()), static_cast<GLfloat>(d->background.greenF()), - static_cast<GLfloat>(d->background.blueF()), static_cast<GLfloat>(d->background.alphaF())}; - glFogfv(GL_FOG_COLOR, fogColor); -- Vector3d distance = camera()->modelview() * d->center; -+ Vector3d distance = (camera()->modelview() * d->center.homogeneous()).head<3>(); - double distanceToCenter = distance.norm(); - glFogf(GL_FOG_DENSITY, 1.0); - glHint(GL_FOG_HINT, GL_NICEST); -@@ -1711,7 +1711,7 @@ namespace Avogadro { - - if (d->renderModelViewDebug) { - // Model view matrix: -- const Eigen::Transform3d &modelview = d->camera->modelview(); -+ const Eigen::Projective3d &modelview = d->camera->modelview(); - y += d->pd->painter()->drawText - (x, y, tr("ModelView row 1: %L1 %L2 %L3 %L4") - .arg(modelview(0, 0), 6, 'f', 2, ' ') ---- a/libavogadro/src/molecule.cpp -+++ b/libavogadro/src/molecule.cpp -@@ -38,7 +38,7 @@ - #include "zmatrix.h" - - #include <Eigen/Geometry> --#include <Eigen/LeastSquares> -+#include <Eigen/Eigenvalues> - - #include <vector> - -@@ -1907,7 +1907,29 @@ namespace Avogadro{ - } - d->center /= static_cast<double>(nAtoms); - Eigen::Hyperplane<double, 3> planeCoeffs; -- Eigen::fitHyperplane(numAtoms(), atomPositions, &planeCoeffs); -+ //Eigen::fitHyperplane(numAtoms(), atomPositions, &planeCoeffs); -+ -+ // TODO check if this is OK -+ /************************/ -+ typedef Eigen::Matrix<double,3,3> CovMatrixType; -+ typedef Eigen::Vector3d VectorType; -+ -+ VectorType mean = d->center; -+ int size=3; -+ int numPoints=numAtoms(); -+ VectorType ** points=atomPositions; -+ CovMatrixType covMat = CovMatrixType::Zero(size, size); -+ VectorType remean = VectorType::Zero(size); -+ for(int i = 0; i < numPoints; ++i) -+ { -+ VectorType diff = (*(points[i]) - mean).conjugate(); -+ covMat += diff * diff.adjoint(); -+ } -+ Eigen::SelfAdjointEigenSolver<CovMatrixType> eig(covMat); -+ planeCoeffs.normal() = eig.eigenvectors().col(0); -+ /************************/ -+ -+ - delete[] atomPositions; - d->normalVector = planeCoeffs.normal(); - } ---- a/libavogadro/src/navigate.cpp -+++ b/libavogadro/src/navigate.cpp -@@ -40,7 +40,7 @@ namespace Avogadro { - void Navigate::zoom(GLWidget *widget, const Eigen::Vector3d &goal, - double delta) - { -- Vector3d transformedGoal = widget->camera()->modelview() * goal; -+ Vector3d transformedGoal = (widget->camera()->modelview() * goal.homogeneous()).head<3>(); - double distanceToGoal = transformedGoal.norm(); - - double t = ZOOM_SPEED * delta; ---- a/libavogadro/src/tools/bondcentrictool.cpp -+++ b/libavogadro/src/tools/bondcentrictool.cpp -@@ -578,8 +578,8 @@ namespace Avogadro { - - Vector3d clicked = *m_clickedAtom->pos(); - -- Vector3d axis = Vector3d(0, 0, ((widget->camera()->modelview() * other).z() >= -- (widget->camera()->modelview() * center).z() ? -1 : 1)); -+ Vector3d axis = Vector3d(0, 0, ((widget->camera()->modelview() * other.homogeneous()).z() >= -+ (widget->camera()->modelview() * center.homogeneous()).z() ? -1 : 1)); - - Vector3d centerProj = widget->camera()->project(center); - centerProj -= Vector3d(0,0,centerProj.z()); -@@ -673,8 +673,8 @@ namespace Avogadro { - - Vector3d clicked = *m_clickedAtom->pos(); - -- Vector3d axis = Vector3d(0, 0, ((widget->camera()->modelview() * other).z() >= -- (widget->camera()->modelview() * center).z() ? -1 : 1)); -+ Vector3d axis = Vector3d(0, 0, ((widget->camera()->modelview() * other.homogeneous()).z() >= -+ (widget->camera()->modelview() * center.homogeneous()).z() ? -1 : 1)); - - Vector3d centerProj = widget->camera()->project(center); - centerProj -= Vector3d(0,0,centerProj.z()); -@@ -1362,10 +1362,10 @@ namespace Avogadro { - - planeVec = length * (planeVec / planeVec.norm()); - -- Vector3d topLeft = widget->camera()->modelview() * (left + planeVec); -- Vector3d topRight = widget->camera()->modelview() * (right + planeVec); -- Vector3d botRight = widget->camera()->modelview() * (right - planeVec); -- Vector3d botLeft = widget->camera()->modelview() * (left - planeVec); -+ Vector3d topLeft = (widget->camera()->modelview() * (left + planeVec).homogeneous()).head<3>(); -+ Vector3d topRight = (widget->camera()->modelview() * (right + planeVec).homogeneous()).head<3>(); -+ Vector3d botRight = (widget->camera()->modelview() * (right - planeVec).homogeneous()).head<3>(); -+ Vector3d botLeft = (widget->camera()->modelview() * (left - planeVec).homogeneous()).head<3>(); - - float alpha = 0.4; - double lineWidth = 1.5; -@@ -1444,10 +1444,10 @@ namespace Avogadro { - C = D + ((C-D).normalized() * minWidth); - } - -- Vector3d topLeft = widget->camera()->modelview() * D; -- Vector3d topRight = widget->camera()->modelview() * C; -- Vector3d botRight = widget->camera()->modelview() * B; -- Vector3d botLeft = widget->camera()->modelview() * A; -+ Vector3d topLeft = (widget->camera()->modelview() * D.homogeneous()).head<3>(); -+ Vector3d topRight = (widget->camera()->modelview() * C.homogeneous()).head<3>(); -+ Vector3d botRight = (widget->camera()->modelview() * B.homogeneous()).head<3>(); -+ Vector3d botLeft = (widget->camera()->modelview() * A.homogeneous()).head<3>(); - - float alpha = 0.4; - double lineWidth = 1.5; -@@ -1506,12 +1506,12 @@ namespace Avogadro { - Vector3d positionVector) - { - //Rotate skeleton around a particular axis and center point -- Eigen::Transform3d rotation; -+ Eigen::Projective3d rotation; - rotation = Eigen::AngleAxisd(angle, rotationVector); - rotation.pretranslate(centerVector); - rotation.translate(-centerVector); - -- return rotation*positionVector; -+ return (rotation*positionVector.homogeneous()).head<3>(); - } - - // ########## showAnglesChanged ########## ---- a/libavogadro/src/tools/manipulatetool.cpp -+++ b/libavogadro/src/tools/manipulatetool.cpp -@@ -40,7 +40,6 @@ - #include <QAbstractButton> - - using Eigen::Vector3d; --using Eigen::Transform3d; - using Eigen::AngleAxisd; - - namespace Avogadro { -@@ -138,7 +137,7 @@ namespace Avogadro { - double yRotate = m_settingsWidget->yRotateSpinBox->value() * DEG_TO_RAD; - double zRotate = m_settingsWidget->zRotateSpinBox->value() * DEG_TO_RAD; - -- Eigen::Transform3d rotation; -+ Eigen::Projective3d rotation; - rotation.matrix().setIdentity(); - rotation.translation() = center; - rotation.rotate(AngleAxisd(xRotate, Vector3d::UnitX()) -@@ -152,12 +151,12 @@ namespace Avogadro { - if (p->type() == Primitive::AtomType) { - Atom *atom = static_cast<Atom*>(p); - tempPos = translate + *(atom->pos()); -- atom->setPos(rotation * tempPos); -+ atom->setPos((rotation * tempPos.homogeneous()).head<3>()); - } - } else { - foreach(Atom *atom, widget->molecule()->atoms()) { - tempPos = translate + *(atom->pos()); -- atom->setPos(rotation * tempPos); -+ atom->setPos((rotation * tempPos.homogeneous()).head<3>()); - } - } - -@@ -199,7 +198,7 @@ namespace Avogadro { - widget->setCursor(Qt::SizeVerCursor); - - // Move the selected atom(s) in to or out of the screen -- Vector3d transformedGoal = widget->camera()->modelview() * *goal; -+ Vector3d transformedGoal = (widget->camera()->modelview() * goal->homogeneous()).head<3>(); - double distanceToGoal = transformedGoal.norm(); - - double t = ZOOM_SPEED * delta; -@@ -255,7 +254,7 @@ namespace Avogadro { - - // Rotate the selected atoms about the center - // rotate only selected primitives -- Transform3d fragmentRotation; -+ Eigen::Projective3d fragmentRotation; - fragmentRotation.matrix().setIdentity(); - fragmentRotation.translation() = *center; - fragmentRotation.rotate( -@@ -266,7 +265,7 @@ namespace Avogadro { - - foreach(Primitive *p, widget->selectedPrimitives()) - if (p->type() == Primitive::AtomType) -- static_cast<Atom *>(p)->setPos(fragmentRotation * *static_cast<Atom *>(p)->pos()); -+ static_cast<Atom *>(p)->setPos((fragmentRotation * static_cast<Atom *>(p)->pos()->homogeneous()).head<3>()); - widget->molecule()->update(); - } - -@@ -274,7 +273,7 @@ namespace Avogadro { - double delta) const - { - // Tilt the selected atoms about the center -- Transform3d fragmentRotation; -+ Eigen::Projective3d fragmentRotation; - fragmentRotation.matrix().setIdentity(); - fragmentRotation.translation() = *center; - fragmentRotation.rotate(AngleAxisd(delta * ROTATION_SPEED, widget->camera()->backTransformedZAxis())); -@@ -282,7 +281,7 @@ namespace Avogadro { - - foreach(Primitive *p, widget->selectedPrimitives()) - if (p->type() == Primitive::AtomType) -- static_cast<Atom *>(p)->setPos(fragmentRotation * *static_cast<Atom *>(p)->pos()); -+ static_cast<Atom *>(p)->setPos((fragmentRotation * static_cast<Atom *>(p)->pos()->homogeneous()).head<3>()); - widget->molecule()->update(); - } - ---- a/libavogadro/src/tools/navigatetool.cpp -+++ b/libavogadro/src/tools/navigatetool.cpp -@@ -92,7 +92,8 @@ namespace Avogadro { - double sumOfWeights = 0.; - QList<Atom*> atoms = widget->molecule()->atoms(); - foreach (Atom *atom, atoms) { -- Vector3d transformedAtomPos = widget->camera()->modelview() * *atom->pos(); -+ Vector3d transformedAtomPos = (widget->camera()->modelview() * -+ atom->pos()->homogeneous()).head<3>(); - double atomDistance = transformedAtomPos.norm(); - double dot = transformedAtomPos.z() / atomDistance; - double weight = exp(-30. * (1. + dot)); ---- a/libavogadro/src/tools/skeletontree.cpp -+++ b/libavogadro/src/tools/skeletontree.cpp -@@ -29,6 +29,7 @@ - #include <avogadro/atom.h> - #include <avogadro/bond.h> - #include <avogadro/molecule.h> -+#include <iostream> - - using namespace Eigen; - using namespace std; -@@ -221,7 +222,7 @@ namespace Avogadro { - { - if (m_rootNode) { - //Rotate skeleton around a particular axis and center point -- Eigen::Transform3d rotation; -+ Eigen::Projective3d rotation; - rotation = Eigen::AngleAxisd(angle, rotationAxis); - rotation.pretranslate(centerVector); - rotation.translate(-centerVector); -@@ -248,11 +249,11 @@ namespace Avogadro { - // ########## recursiveRotate ########## - - void SkeletonTree::recursiveRotate(Node* n, -- const Eigen::Transform3d &rotationMatrix) -+ const Eigen::Projective3d &rotationMatrix) - { - // Update the root node with the new position - Atom* a = n->atom(); -- a->setPos(rotationMatrix * (*a->pos())); -+ a->setPos((rotationMatrix * (*a->pos()).homogeneous()).head<3>()); - a->update(); - - // Now update the children ---- a/libavogadro/src/tools/skeletontree.h -+++ b/libavogadro/src/tools/skeletontree.h -@@ -230,6 +230,6 @@ namespace Avogadro { - * @param centerVector Center location to rotate around. - */ - void recursiveRotate(Node* n, -- const Eigen::Transform3d &rotationMatrix); -+ const Eigen::Projective3d &rotationMatrix); - - }; - } // End namespace Avogadro \ No newline at end of file diff --git a/gnu/packages/patches/avogadro-python-eigen-lib.patch b/gnu/packages/patches/avogadro-python-eigen-lib.patch deleted file mode 100644 index ac9f2e30af..0000000000 --- a/gnu/packages/patches/avogadro-python-eigen-lib.patch +++ /dev/null @@ -1,161 +0,0 @@ -From 2d4be7ede177a8df7340fe3b209698d591ee8a04 Mon Sep 17 00:00:00 2001 -From: Claudio Fernandes <claudiosf.claudio@gmail.com> -Date: Mon, 16 Jan 2017 19:48:23 -0200 -Subject: [PATCH] Adapt libavogadro/python to Eigen 3.3 - ---- - libavogadro/src/python/camera.cpp | 2 +- - libavogadro/src/python/eigen.cpp | 60 +++++++++++++++++++-------------------- - 2 files changed, 31 insertions(+), 31 deletions(-) - -diff --git a/libavogadro/src/python/camera.cpp b/libavogadro/src/python/camera.cpp -index 69ca87bf8..30b32af7d 100644 ---- a/libavogadro/src/python/camera.cpp -+++ b/libavogadro/src/python/camera.cpp -@@ -10,7 +10,7 @@ using namespace Avogadro; - void export_Camera() - { - -- const Eigen::Transform3d& (Camera::*modelview_ptr)() const = &Camera::modelview; -+ const Eigen::Projective3d& (Camera::*modelview_ptr)() const = &Camera::modelview; - Eigen::Vector3d (Camera::*unProject_ptr1)(const Eigen::Vector3d&) const = &Camera::unProject; - Eigen::Vector3d (Camera::*unProject_ptr2)(const QPoint&, const Eigen::Vector3d&) const = &Camera::unProject; - Eigen::Vector3d (Camera::*unProject_ptr3)(const QPoint&) const = &Camera::unProject; -diff --git a/libavogadro/src/python/eigen.cpp b/libavogadro/src/python/eigen.cpp -index c1faedbcc..20b4e719d 100644 ---- a/libavogadro/src/python/eigen.cpp -+++ b/libavogadro/src/python/eigen.cpp -@@ -305,9 +305,9 @@ template <> struct ScalarTraits<double> - struct innerclass - { - // -- // Eigen::Transform3d --> python array (4x4) -+ // Eigen::Projective3d --> python array (4x4) - // -- static PyObject* convert(Eigen::Transform3d const &trans) -+ static PyObject* convert(Eigen::Projective3d const &trans) - { - npy_intp dims[2] = { 4, 4 }; - PyObject *result = PyArray_SimpleNew(2, dims, PyArray_DOUBLE); -@@ -321,9 +321,9 @@ template <> struct ScalarTraits<double> - return incref(result); - } - // -- // Eigen::Transform3d* --> python array (4x4) -+ // Eigen::Projective3d* --> python array (4x4) - // -- static PyObject* convert(Eigen::Transform3d *trans) -+ static PyObject* convert(Eigen::Projective3d *trans) - { - npy_intp dims[2] = { 4, 4 }; - PyObject *result = PyArray_SimpleNew(2, dims, PyArray_DOUBLE); -@@ -337,9 +337,9 @@ template <> struct ScalarTraits<double> - return incref(result); - } - // -- // const Eigen::Transform3d* --> python array (4x4) -+ // const Eigen::Projective3d* --> python array (4x4) - // -- static PyObject* convert(const Eigen::Transform3d *trans) -+ static PyObject* convert(const Eigen::Projective3d *trans) - { - npy_intp dims[2] = { 4, 4 }; - PyObject *result = PyArray_SimpleNew(2, dims, PyArray_DOUBLE); -@@ -358,10 +358,10 @@ template <> struct ScalarTraits<double> - Transform3d_to_python_array() - { - #ifndef WIN32 -- to_python_converter<Eigen::Transform3d, innerclass>(); -+ to_python_converter<Eigen::Projective3d, innerclass>(); - #endif -- to_python_converter<Eigen::Transform3d*, innerclass>(); -- to_python_converter<const Eigen::Transform3d*, innerclass>(); -+ to_python_converter<Eigen::Projective3d*, innerclass>(); -+ to_python_converter<const Eigen::Projective3d*, innerclass>(); - } - - }; -@@ -373,17 +373,17 @@ template <> struct ScalarTraits<double> - // Insert an rvalue from_python converter at the tail of the - // chain. Used for implicit conversions - // -- // python array --> Eigen::Transform3d -+ // python array --> Eigen::Projective3d - // - // used for: - // -- // void function(Eigen::Transform3d vec) -- // void function(Eigen::Transform3d & vec) -- // void function(const Eigen::Transform3d & vec) -+ // void function(Eigen::Projective3d vec) -+ // void function(Eigen::Projective3d & vec) -+ // void function(const Eigen::Projective3d & vec) - // -- converter::registry::push_back( &convertible, &construct, type_id<Eigen::Transform3d>() ); -+ converter::registry::push_back( &convertible, &construct, type_id<Eigen::Projective3d>() ); - -- converter::registry::insert( &convert, type_id<Eigen::Transform3d>() ); -+ converter::registry::insert( &convert, type_id<Eigen::Projective3d>() ); - } - - static void* convert(PyObject *obj_ptr) -@@ -401,7 +401,7 @@ template <> struct ScalarTraits<double> - throw_error_already_set(); // the 1D array does not have exactly 3 elements - - double *values = reinterpret_cast<double*>(array->data); -- Eigen::Transform3d *c_obj = new Eigen::Transform3d(); -+ Eigen::Projective3d *c_obj = new Eigen::Projective3d(); - double *dataPtr = c_obj->data(); - - for (int i = 0; i < 16; ++i) -@@ -432,7 +432,7 @@ template <> struct ScalarTraits<double> - // I think this is a better way to get at the double array, where is this - // deleted though? Does Boost::Python do it? - double *values = reinterpret_cast<double*>(array->data); -- Eigen::Transform3d *storage = new Eigen::Transform3d(); -+ Eigen::Projective3d *storage = new Eigen::Projective3d(); - double *dataPtr = storage->data(); - - for (int i = 0; i < 16; ++i) -@@ -467,21 +467,21 @@ class EigenUnitTestHelper - void set_vector3d_ptr(Eigen::Vector3d* vec) { m_vector3d = *vec; } - void set_const_vector3d_ptr(const Eigen::Vector3d* const vec) { m_vector3d = *vec; } - -- //Eigen::Transform3d transform3d() { return m_transform3d; } -- //Eigen::Transform3d& transform3d_ref() { return m_transform3d; } -- const Eigen::Transform3d& const_transform3d_ref() { return m_transform3d; } -- Eigen::Transform3d* transform3d_ptr() { return &m_transform3d; } -- const Eigen::Transform3d* const_transform3d_ptr() { return &m_transform3d; } -- -- //void set_transform3d(Eigen::Transform3d vec) { m_transform3d = vec; } -- //void set_transform3d_ref(Eigen::Transform3d& vec) { m_transform3d = vec; } -- void set_const_transform3d_ref(const Eigen::Transform3d& vec) { m_transform3d = vec; } -- void set_transform3d_ptr(Eigen::Transform3d* vec) { m_transform3d = *vec; } -- void set_const_transform3d_ptr(const Eigen::Transform3d* const vec) { m_transform3d = *vec; } -+ //Eigen::Projective3d transform3d() { return m_transform3d; } -+ //Eigen::Projective3d& transform3d_ref() { return m_transform3d; } -+ const Eigen::Projective3d& const_transform3d_ref() { return m_transform3d; } -+ Eigen::Projective3d* transform3d_ptr() { return &m_transform3d; } -+ const Eigen::Projective3d* const_transform3d_ptr() { return &m_transform3d; } -+ -+ //void set_transform3d(Eigen::Projective3d vec) { m_transform3d = vec; } -+ //void set_transform3d_ref(Eigen::Projective3d& vec) { m_transform3d = vec; } -+ void set_const_transform3d_ref(const Eigen::Projective3d& vec) { m_transform3d = vec; } -+ void set_transform3d_ptr(Eigen::Projective3d* vec) { m_transform3d = *vec; } -+ void set_const_transform3d_ptr(const Eigen::Projective3d* const vec) { m_transform3d = *vec; } - - private: - Eigen::Vector3d m_vector3d; -- Eigen::Transform3d m_transform3d; -+ Eigen::Projective3d m_transform3d; - - }; - #endif -@@ -529,6 +529,6 @@ void export_Eigen() - Vector3x_to_python_array<Eigen::Vector3i>(); - Vector3x_from_python_array<Eigen::Vector3i>(); - -- // Eigen::Transform3d -+ // Eigen::Projective3d - Transform3d_to_python_array(); - Transform3d_from_python_array(); diff --git a/gnu/packages/patches/c++-gsl-find-system-gtest.patch b/gnu/packages/patches/c++-gsl-find-system-gtest.patch new file mode 100644 index 0000000000..2def650292 --- /dev/null +++ b/gnu/packages/patches/c++-gsl-find-system-gtest.patch @@ -0,0 +1,96 @@ +From f5cf01083baf7e8dc8318db3648bc6098dc32d67 Mon Sep 17 00:00:00 2001 +From: Nicholas Guriev <guriev-ns@ya.ru> +Date: Sat, 18 Apr 2020 13:30:17 +0300 +Subject: [PATCH] Search for GoogleTest via pkg-config first + +--- + tests/CMakeLists.txt | 55 ++++++++++++++++++++++++-------------------- + 1 file changed, 30 insertions(+), 25 deletions(-) + +diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt +index 02193197..53d475c2 100644 +--- a/tests/CMakeLists.txt ++++ b/tests/CMakeLists.txt +@@ -1,36 +1,41 @@ + cmake_minimum_required(VERSION 3.0.2) + + project(GSLTests CXX) ++include(FindPkgConfig) + + # will make visual studio generated project group files + set_property(GLOBAL PROPERTY USE_FOLDERS ON) + +-configure_file(CMakeLists.txt.in googletest-download/CMakeLists.txt) +-execute_process( +- COMMAND ${CMAKE_COMMAND} -G "${CMAKE_GENERATOR}" . +- RESULT_VARIABLE result +- WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/googletest-download +-) +-if(result) +- message(FATAL_ERROR "CMake step for googletest failed: ${result}") +-endif() ++pkg_search_module(GTestMain gtest_main) ++if (NOT GTestMain_FOUND) ++ configure_file(CMakeLists.txt.in googletest-download/CMakeLists.txt) ++ execute_process( ++ COMMAND ${CMAKE_COMMAND} -G "${CMAKE_GENERATOR}" . ++ RESULT_VARIABLE result ++ WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/googletest-download ++ ) ++ if(result) ++ message(FATAL_ERROR "CMake step for googletest failed: ${result}") ++ endif() + +-execute_process( +- COMMAND ${CMAKE_COMMAND} --build . +- RESULT_VARIABLE result +- WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/googletest-download +-) +-if(result) +- message(FATAL_ERROR "CMake step for googletest failed: ${result}") +-endif() ++ execute_process( ++ COMMAND ${CMAKE_COMMAND} --build . ++ RESULT_VARIABLE result ++ WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/googletest-download ++ ) ++ if(result) ++ message(FATAL_ERROR "CMake step for googletest failed: ${result}") ++ endif() + +-set(gtest_force_shared_crt ON CACHE BOOL "" FORCE) ++ set(gtest_force_shared_crt ON CACHE BOOL "" FORCE) ++ set(GTestMain_LIBRARIES gtest_main) + +-add_subdirectory( +- ${CMAKE_CURRENT_BINARY_DIR}/googletest-src +- ${CMAKE_CURRENT_BINARY_DIR}/googletest-build +- EXCLUDE_FROM_ALL +-) ++ add_subdirectory( ++ ${CMAKE_CURRENT_BINARY_DIR}/googletest-src ++ ${CMAKE_CURRENT_BINARY_DIR}/googletest-build ++ EXCLUDE_FROM_ALL ++ ) ++endif() + + if (MSVC AND (GSL_CXX_STANDARD EQUAL 17)) + set(GSL_CPLUSPLUS_OPT -Zc:__cplusplus -permissive-) +@@ -149,7 +154,7 @@ function(add_gsl_test name) + target_link_libraries(${name} + GSL + gsl_tests_config +- gtest_main ++ ${GTestMain_LIBRARIES} + ) + add_test( + ${name} +@@ -254,7 +259,7 @@ function(add_gsl_test_noexcept name) + target_link_libraries(${name} + GSL + gsl_tests_config_noexcept +- gtest_main ++ ${GTestMain_LIBRARIES} + ) + add_test( + ${name} diff --git a/gnu/packages/patches/freebayes-devendor-deps.patch b/gnu/packages/patches/freebayes-devendor-deps.patch index 7e84666b85..9886de11fb 100644 --- a/gnu/packages/patches/freebayes-devendor-deps.patch +++ b/gnu/packages/patches/freebayes-devendor-deps.patch @@ -23,7 +23,7 @@ index f6bf242..bded4af 100644 +tabixpp_dep = dependency('tabixpp', required : false) +fastahack_dep = dependency('fastahack', required : false) +smithwaterman_dep = dependency('smithwaterman', required : false) -+vcflib_dep = dependency('libvcflib', required: false) ++vcflib_dep = dependency('vcflib', required: false) thread_dep = dependency('threads') if htslib_dep.found() diff --git a/gnu/packages/patches/icecat-makeicecat.patch b/gnu/packages/patches/icecat-makeicecat.patch index 3f16880260..edd1ced257 100644 --- a/gnu/packages/patches/icecat-makeicecat.patch +++ b/gnu/packages/patches/icecat-makeicecat.patch @@ -25,7 +25,7 @@ index 8be2362..48716f2 100755 -wget -N https://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${FFVERSION}esr/source/firefox-${FFVERSION}esr.source.tar.xz.asc -gpg --recv-keys --keyserver keyserver.ubuntu.com 14F26682D0916CDD81E37B6D61B7B526D98F0353 -gpg --verify firefox-${FFVERSION}esr.source.tar.xz.asc --echo -n 0d07b74cb66b94018e3d7f11531f95c76a955e0016a3c401241d0d85062ae7ce firefox-${FFVERSION}esr.source.tar.xz |sha256sum -c - +-echo -n 1aa041db28cd742e93d663a9da8defd33040b38d8b9470350538473251621643 firefox-${FFVERSION}esr.source.tar.xz |sha256sum -c - - -echo Extracting Firefox tarball -tar -xf firefox-${FFVERSION}esr.source.tar.xz @@ -37,7 +37,7 @@ index 8be2362..48716f2 100755 +# wget -N https://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${FFVERSION}esr/source/firefox-${FFVERSION}esr.source.tar.xz.asc +# gpg --recv-keys --keyserver keyserver.ubuntu.com 14F26682D0916CDD81E37B6D61B7B526D98F0353 +# gpg --verify firefox-${FFVERSION}esr.source.tar.xz.asc -+# echo -n 0d07b74cb66b94018e3d7f11531f95c76a955e0016a3c401241d0d85062ae7ce firefox-${FFVERSION}esr.source.tar.xz |sha256sum -c - ++# echo -n 1aa041db28cd742e93d663a9da8defd33040b38d8b9470350538473251621643 firefox-${FFVERSION}esr.source.tar.xz |sha256sum -c - +# +# echo Extracting Firefox tarball +# tar -xf firefox-${FFVERSION}esr.source.tar.xz diff --git a/gnu/packages/patches/mutt-CVE-2021-3181.patch b/gnu/packages/patches/mutt-CVE-2021-3181.patch deleted file mode 100644 index df5214b052..0000000000 --- a/gnu/packages/patches/mutt-CVE-2021-3181.patch +++ /dev/null @@ -1,45 +0,0 @@ -Fix CVE-2021-3181: - -https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-3181 - -Patch copied from upstream source repository: - -https://gitlab.com/muttmua/mutt/-/commit/c059e20ea4c7cb3ee9ffd3500ffe313ae84b2545 - -From c059e20ea4c7cb3ee9ffd3500ffe313ae84b2545 Mon Sep 17 00:00:00 2001 -From: Kevin McCarthy <kevin@8t8.us> -Date: Sun, 17 Jan 2021 10:40:37 -0800 -Subject: [PATCH] Fix memory leak parsing group address. - -When there was a group address terminator with no previous addresses, -an address would be allocated but not attached to the address list. - -Change this to only allocate when last exists. - -It would be more correct to not allocate at all unless we are inside a -group list, but I will address that in a separate commit to master. ---- - rfc822.c | 5 ++--- - 1 file changed, 2 insertions(+), 3 deletions(-) - -diff --git a/rfc822.c b/rfc822.c -index 7ff4eaa3..ced619f2 100644 ---- a/rfc822.c -+++ b/rfc822.c -@@ -587,11 +587,10 @@ ADDRESS *rfc822_parse_adrlist (ADDRESS *top, const char *s) - #endif - - /* add group terminator */ -- cur = rfc822_new_address (); - if (last) - { -- last->next = cur; -- last = cur; -+ last->next = rfc822_new_address (); -+ last = last->next; - } - - phraselen = 0; --- -GitLab - diff --git a/gnu/packages/patches/pinentry-efl.patch b/gnu/packages/patches/pinentry-efl.patch deleted file mode 100644 index 5ba79e28df..0000000000 --- a/gnu/packages/patches/pinentry-efl.patch +++ /dev/null @@ -1,798 +0,0 @@ -https://git.gnupg.org/cgi-bin/gitweb.cgi?p=pinentry.git;a=commit;h=948105b7a34ec9a9e5479d376b7c86bafee50a01 -This patch can be removed with the next release of pinentry. - -From 948105b7a34ec9a9e5479d376b7c86bafee50a01 Mon Sep 17 00:00:00 2001 -From: "William L. Thomson Jr" <wlt@o-sinc.com> -Date: Tue, 29 May 2018 22:50:47 +0100 -Subject: [PATCH] efl: Add an EFL-based pinentry. - -* NEWS: Update. -* Makefile.am: Add new efl subdirectory. -* configure.ac: Add --enable-pinentry-efl option. -* efl/Makefile.am: New file. -* efl/pinentry-efl.c: New file. - -Signed-off-by: Damien Goutte-Gattat <dgouttegattat@incenp.org> ---- - Makefile.am | 8 +- - configure.ac | 44 +++- - efl/Makefile.am | 38 ++++ - efl/pinentry-efl.c | 623 +++++++++++++++++++++++++++++++++++++++++++++++++++++ - 6 files changed, 716 insertions(+), 2 deletions(-) - create mode 100644 efl/Makefile.am - create mode 100644 efl/pinentry-efl.c - -diff --git a/Makefile.am b/Makefile.am -index 8c8b8e5..b8fd0e1 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -82,10 +82,16 @@ else - pinentry_fltk = - endif - -+if BUILD_PINENTRY_EFL -+pinentry_efl = efl -+else -+pinentry_efl = -+endif -+ - SUBDIRS = m4 secmem pinentry ${pinentry_curses} ${pinentry_tty} \ - ${pinentry_emacs} ${pinentry_gtk_2} ${pinentry_gnome_3} \ - ${pinentry_qt} ${pinentry_tqt} ${pinentry_w32} \ -- ${pinentry_fltk} doc -+ ${pinentry_fltk} ${pinentry_efl} doc - - - install-exec-local: -diff --git a/configure.ac b/configure.ac -index ff6c2e0..e305e44 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -419,6 +419,42 @@ fi - - - dnl -+dnl Check for EFL pinentry programs. -+dnl -+AC_ARG_ENABLE(pinentry-efl, -+ AC_HELP_STRING([--enable-pinentry-efl], [build EFL pinentry]), -+ pinentry_efl=$enableval, pinentry_efl=maybe) -+ -+dnl check for pkg-config -+if test "$pinentry_efl" != "no"; then -+ AC_PATH_PROG(PKG_CONFIG, pkg-config, no) -+ if test x"${PKG_CONFIG}" = xno ; then -+ pinentry_efl=no -+ fi -+fi -+ -+if test "$pinentry_efl" != "no"; then -+ AC_MSG_CHECKING([for efl]) -+ "${PKG_CONFIG}" --exists 'elementary >= 1.18' -+ if test $? -ne 0 ; then -+ AC_MSG_RESULT([no]) -+ AC_MSG_WARN([efl >= 1.18 is required for efl pinentry]) -+ pinentry_efl=no -+ else -+ AC_MSG_RESULT([yes]) -+ EFL_CFLAGS=`"${PKG_CONFIG}" --cflags ecore-x elementary` -+ EFL_LIBS=`"${PKG_CONFIG}" --libs ecore-x elementary` -+ AC_SUBST(EFL_CFLAGS) -+ AC_SUBST(EFL_LIBS) -+ if test "$pinentry_efl" != "no" -+ then -+ pinentry_efl=yes -+ fi -+ fi -+fi -+AM_CONDITIONAL(BUILD_PINENTRY_EFL, test "$pinentry_efl" = "yes") -+ -+dnl - dnl Check for GTK+-2 / GNOME3 pinentry programs. - dnl - AC_ARG_ENABLE(pinentry-gtk2, -@@ -645,7 +681,11 @@ else - if test "$pinentry_tqt" = "yes"; then - PINENTRY_DEFAULT=pinentry-tqt - else -- AC_MSG_ERROR([[No pinentry enabled.]]) -+ if test "$pinentry_efl" = "yes"; then -+ PINENTRY_DEFAULT=pinentry-efl -+ else -+ AC_MSG_ERROR([[No pinentry enabled.]]) -+ fi - fi - fi - fi -@@ -721,6 +761,7 @@ secmem/Makefile - pinentry/Makefile - curses/Makefile - tty/Makefile -+efl/Makefile - emacs/Makefile - gtk+-2/Makefile - gnome3/Makefile -@@ -744,6 +785,7 @@ AC_MSG_NOTICE([ - Curses Pinentry ..: $pinentry_curses - TTY Pinentry .....: $pinentry_tty - Emacs Pinentry ...: $pinentry_emacs -+ EFL Pinentry .....: $pinentry_efl - GTK+-2 Pinentry ..: $pinentry_gtk_2 - GNOME 3 Pinentry .: $pinentry_gnome_3 - Qt Pinentry ......: $pinentry_qt $pinentry_qt_lib_version -diff --git a/efl/Makefile.am b/efl/Makefile.am -new file mode 100644 -index 0000000..b986a04 ---- /dev/null -+++ b/efl/Makefile.am -@@ -0,0 +1,38 @@ -+# Makefile.am - PIN entry EFL frontend. -+# Copyright (C) 2017 Obsidian-Studios, Inc. -+# Author William L. Thomson Jr. <wlt@o-sinc.com> -+# -+# This file is part of PINENTRY. -+# -+# PINENTRY 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 2 of the License, or -+# (at your option) any later version. -+# -+# PINENTRY 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 this program; if not, write to the Free Software -+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA -+ -+## Process this file with automake to produce Makefile.in -+ -+bin_PROGRAMS = pinentry-efl -+ -+if FALLBACK_CURSES -+ncurses_include = $(NCURSES_INCLUDE) -+libcurses = ../pinentry/libpinentry-curses.a $(LIBCURSES) $(LIBICONV) -+else -+ncurses_include = -+libcurses = -+endif -+ -+AM_CPPFLAGS = $(COMMON_CFLAGS) $(EFL_CFLAGS) $(ncurses_include) \ -+ -I$(top_srcdir)/secmem -I$(top_srcdir)/pinentry -+LDADD = ../pinentry/libpinentry.a ../secmem/libsecmem.a \ -+ $(COMMON_LIBS) $(LIBCAP) $(EFL_LIBS) $(libcurses) -+ -+pinentry_efl_SOURCES = pinentry-efl.c -diff --git a/efl/pinentry-efl.c b/efl/pinentry-efl.c -new file mode 100644 -index 0000000..ca99693 ---- /dev/null -+++ b/efl/pinentry-efl.c -@@ -0,0 +1,623 @@ -+/* pinentry-efl.c -+ Copyright (C) 2017 Obsidian-Studios, Inc. -+ Author William L. Thomson Jr. <wlt@o-sinc.com> -+ -+ Based on pinentry-gtk2.c -+ Copyright (C) 1999 Robert Bihlmeyer <robbe@orcus.priv.at> -+ Copyright (C) 2001, 2002, 2007, 2015 g10 Code GmbH -+ Copyright (C) 2004 by Albrecht Dreà <albrecht.dress@arcor.de> -+ -+ pinentry-efl is a pinentry application for the EFL widget set. -+ It tries to follow the Gnome Human Interface Guide as close as -+ possible. -+ -+ This program is free software; you can redistribute it and/or modify -+ it under the terms of the GNU General Public License as published by -+ the Free Software Foundation; either version 2 of the License, or -+ (at your option) any later version. -+ -+ This program 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 this program; if not, write to the Free Software -+ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -+ */ -+ -+#ifdef HAVE_CONFIG_H -+#include "config.h" -+#endif -+#include <Elementary.h> -+#include <Ecore_X.h> -+#include <gpg-error.h> -+#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 7) -+#pragma GCC diagnostic push -+#pragma GCC diagnostic ignored "-Wstrict-prototypes" -+#endif -+#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 7) -+#pragma GCC diagnostic pop -+#endif -+ -+#ifdef HAVE_GETOPT_H -+#include <getopt.h> -+#else -+#include "getopt.h" -+#endif /* HAVE_GETOPT_H */ -+ -+#include "pinentry.h" -+ -+#ifdef FALLBACK_CURSES -+#include "pinentry-curses.h" -+#endif -+ -+#define PGMNAME "pinentry-efl" -+ -+#ifndef VERSION -+#define VERSION -+#endif -+ -+#define ENTRY_HIDE "Hide entry" -+#define ENTRY_SHOW "Show entry" -+ -+typedef enum { CONFIRM_CANCEL, CONFIRM_OK, CONFIRM_NOTOK } confirm_value_t; -+ -+static const int WIDTH = 480; -+static const int BUTTON_HEIGHT = 27; -+static const int BUTTON_WIDTH = 70; -+static const int BUTTON_ICON_SIZE = 13; -+static const int PADDING = 5; -+ -+static Eina_Bool got_input; -+static Ecore_Timer *timer; -+static Evas_Object *check_label; -+static Evas_Object *error_label; -+static Evas_Object *entry; -+static Evas_Object *repeat_entry; -+static Evas_Object *qualitybar; -+static Evas_Object *win; -+static char **pargv; -+static int grab_failed; -+static int passphrase_ok; -+static int confirm_mode; -+static int pargc; -+static confirm_value_t confirm_value; -+static pinentry_t pinentry; -+ -+pinentry_cmd_handler_t pinentry_cmd_handler; -+ -+static void -+quit (void) -+{ -+ evas_object_del(win); -+ elm_exit(); -+ ecore_main_loop_quit (); -+} -+ -+static void -+delete_event (void *data EINA_UNUSED, -+ Evas_Object *obj EINA_UNUSED, -+ void *event EINA_UNUSED) -+{ -+ pinentry->close_button = 1; -+ quit (); -+} -+ -+static void -+changed_text_handler (void *data EINA_UNUSED, -+ Evas_Object *obj, -+ void *event EINA_UNUSED) -+{ -+ const char *s; -+ int length; -+ int percent; -+ -+ got_input = EINA_TRUE; -+ -+ if (pinentry->repeat_passphrase && repeat_entry) -+ { -+ elm_object_text_set (repeat_entry, ""); -+ elm_object_text_set (error_label, ""); -+ } -+ -+ if (!qualitybar || !pinentry->quality_bar) -+ return; -+ -+ s = elm_object_text_get (obj); -+ if (!s) -+ s = ""; -+ length = strlen (s); -+ percent = length? pinentry_inq_quality (pinentry, s, length) : 0; -+ evas_object_color_set(qualitybar, -+ 255 - ( 2.55 * percent ), -+ 2.55 * percent, 0, 255); -+ elm_progressbar_value_set (qualitybar, (double) percent / 100.0); -+} -+ -+static void -+on_check (void *data EINA_UNUSED, Evas_Object *obj, void *event EINA_UNUSED) -+{ -+ if(elm_check_state_get(obj)) -+ { -+ elm_entry_password_set(entry, EINA_FALSE); -+ elm_object_text_set(check_label,ENTRY_HIDE); -+ } -+ else -+ { -+ elm_entry_password_set(entry, EINA_TRUE); -+ elm_object_text_set(check_label,ENTRY_SHOW); -+ } -+ evas_object_size_hint_min_set(check_label, -+ ELM_SCALE_SIZE(BUTTON_WIDTH), -+ ELM_SCALE_SIZE(BUTTON_HEIGHT)); -+ evas_object_size_hint_align_set(check_label, 0, 1); -+} -+ -+static void -+on_click (void *data, Evas_Object *obj EINA_UNUSED, void *event EINA_UNUSED) -+{ -+ if (confirm_mode) -+ { -+ confirm_value = (confirm_value_t) data; -+ quit (); -+ return; -+ } -+ -+ if (data) -+ { -+ const char *s; -+ const char *s2; -+ -+ s = elm_entry_entry_get (entry); -+ if (!s) -+ s = ""; -+ -+ if (pinentry->repeat_passphrase && repeat_entry) -+ { -+ s2 = elm_entry_entry_get (repeat_entry); -+ if (!s2) -+ s2 = ""; -+ if (strcmp (s, s2)) -+ { -+ elm_object_text_set(error_label, -+ pinentry->repeat_error_string? -+ pinentry->repeat_error_string: -+ "not correctly repeated"); -+ elm_object_focus_set(entry,EINA_TRUE); -+ return; -+ } -+ pinentry->repeat_okay = 1; -+ } -+ -+ passphrase_ok = 1; -+ pinentry_setbufferlen (pinentry, strlen (s) + 1); -+ if (pinentry->pin) -+ strncpy (pinentry->pin, s, strlen(s) + 1); -+ } -+ quit (); -+} -+ -+static void -+enter_callback (void *data, Evas_Object * obj, void *event_info EINA_UNUSED) -+{ -+ if (data) -+ elm_object_focus_set (data, 1); -+ else -+ on_click ((void *) CONFIRM_OK, obj, NULL); -+} -+ -+static Eina_Bool -+timeout_cb (const void * data) -+{ -+ pinentry_t pe = (pinentry_t)data; -+ if (!got_input) -+ { -+ ecore_main_loop_quit(); -+ if (pe) -+ pe->specific_err = gpg_error (GPG_ERR_TIMEOUT); -+ } -+ -+ timer = NULL; -+ return ECORE_CALLBACK_DONE; -+} -+ -+static void -+create_window (void) -+{ -+ char *txt; -+ Evas_Object *icon; -+ Evas_Object *obj; -+ Evas_Object *table; -+ int btn_txt_len = 0; -+ int row = 0; -+ int ok_len = 0; -+ -+ win = elm_win_util_dialog_add(NULL,"pinentry","enter pin"); -+ elm_win_autodel_set(win, EINA_TRUE); -+ elm_win_center(win,EINA_TRUE,EINA_TRUE); -+ evas_object_smart_callback_add(win, "delete,request", delete_event, NULL); -+ -+ table = elm_table_add(win); -+ elm_table_padding_set(table,ELM_SCALE_SIZE(PADDING),0); -+ evas_object_size_hint_padding_set (table, -+ ELM_SCALE_SIZE(PADDING), -+ ELM_SCALE_SIZE(PADDING), -+ ELM_SCALE_SIZE(PADDING), -+ ELM_SCALE_SIZE(PADDING)); -+ evas_object_show(table); -+ -+ if (pinentry->title) -+ { -+ txt = pinentry_utf8_to_local (pinentry->lc_ctype, -+ pinentry->title); -+ elm_win_title_set ( win, txt ); -+ free (txt); -+ } -+ -+ /* Description Label */ -+ if (pinentry->description) -+ { -+ char* aligned; -+ int len; -+ -+ obj = elm_label_add(table); -+ elm_label_line_wrap_set (obj, ELM_WRAP_WORD); -+ txt = pinentry_utf8_to_local (pinentry->lc_ctype, pinentry->description); -+ len = strlen(txt)+20; // 20 chars for align tag -+ aligned = calloc(len+1,sizeof(char)); -+ if(aligned) -+ { -+ snprintf(aligned,len, "<align=left>%s</align>",txt); -+ elm_object_text_set(obj,aligned); -+ free (aligned); -+ } else -+ elm_object_text_set(obj,txt); -+ free (txt); -+ evas_object_size_hint_weight_set(obj, EVAS_HINT_EXPAND, 0); -+ evas_object_size_hint_align_set(obj, EVAS_HINT_FILL, 0); -+ elm_table_pack(table, obj, 1, row, 5, 1); -+ evas_object_show(obj); -+ row++; -+ } -+ if (!confirm_mode && (pinentry->error || pinentry->repeat_passphrase)) -+ { -+ /* Error Label */ -+ if (pinentry->error) -+ txt = pinentry_utf8_to_local (pinentry->lc_ctype, pinentry->error); -+ else -+ txt = ""; -+ obj = elm_label_add(table); -+ evas_object_color_set(obj, 255, 0, 0, 255); -+ elm_object_text_set(obj,txt); -+ elm_object_style_set(obj,"slide_bounce"); -+ elm_label_slide_duration_set(obj, 10); -+ elm_label_slide_mode_set(obj, ELM_LABEL_SLIDE_MODE_ALWAYS); -+ elm_label_slide_go(obj); -+ evas_object_size_hint_weight_set(obj, EVAS_HINT_EXPAND, 0); -+ evas_object_size_hint_align_set(obj, EVAS_HINT_FILL, 0); -+ elm_table_pack(table, obj, 1, row, 5, 1); -+ evas_object_show(obj); -+ if (pinentry->error) -+ free (txt); -+ row++; -+ } -+ -+ qualitybar = NULL; -+ -+ if (!confirm_mode) -+ { -+ -+ if (pinentry->prompt) -+ { -+ /* Entry/Prompt Label */ -+ obj = elm_label_add(table); -+ txt = pinentry_utf8_to_local (pinentry->lc_ctype, pinentry->prompt); -+ elm_object_text_set(obj,txt); -+ free (txt); -+ evas_object_size_hint_weight_set(obj, 0, EVAS_HINT_EXPAND); -+ evas_object_size_hint_align_set(obj, 1, EVAS_HINT_FILL); -+ elm_table_pack(table, obj, 1, row, 1, 1); -+ evas_object_show(obj); -+ } -+ -+ entry = elm_entry_add(table); -+ elm_entry_scrollable_set(entry, EINA_TRUE); -+ elm_scroller_policy_set(entry, -+ ELM_SCROLLER_POLICY_OFF, -+ ELM_SCROLLER_POLICY_OFF); -+ elm_entry_password_set(entry, EINA_TRUE); -+ elm_entry_single_line_set(entry, EINA_TRUE); -+ evas_object_size_hint_weight_set(entry, 0, 0); -+ evas_object_size_hint_align_set(entry, EVAS_HINT_FILL, 0); -+ elm_table_pack(table, entry, 2, row, 4, 1); -+ evas_object_smart_callback_add(entry, -+ "changed", -+ changed_text_handler, -+ NULL); -+ evas_object_show(entry); -+ row++; -+ -+ /* Check box */ -+ obj = elm_check_add(table); -+ evas_object_size_hint_align_set(obj, 1, EVAS_HINT_FILL); -+ elm_table_pack(table, obj, 1, row, 1, 1); -+ evas_object_smart_callback_add(obj, "changed", on_check, NULL); -+ evas_object_show(obj); -+ -+ /* Check Label */ -+ check_label = elm_label_add(table); -+ on_check((void *)NULL, obj, (void *)NULL); -+ elm_table_pack(table, check_label, 2, row, 4, 1); -+ evas_object_show(check_label); -+ row++; -+ -+ if (pinentry->quality_bar) -+ { -+ /* Quality Bar Label */ -+ obj = elm_label_add(table); -+ txt = pinentry_utf8_to_local (pinentry->lc_ctype, -+ pinentry->quality_bar); -+ elm_object_text_set(obj,txt); -+ free (txt); -+ evas_object_size_hint_weight_set(obj, 0, EVAS_HINT_EXPAND); -+ evas_object_size_hint_align_set(obj, 1, EVAS_HINT_FILL); -+ elm_table_pack(table, obj, 1, row, 1, 1); -+ evas_object_show(obj); -+ -+ qualitybar = elm_progressbar_add(table); -+ evas_object_color_set(qualitybar, 255, 0, 0, 255); -+ evas_object_show(qualitybar); -+ if (pinentry->quality_bar_tt) -+ elm_object_tooltip_text_set (qualitybar, -+ pinentry->quality_bar_tt); -+ evas_object_size_hint_weight_set(qualitybar, EVAS_HINT_EXPAND, 0); -+ evas_object_size_hint_align_set(qualitybar, EVAS_HINT_FILL, 0); -+ elm_table_pack(table, qualitybar, 2, row, 4, 1); -+ row++; -+ } -+ -+ if (pinentry->repeat_passphrase) -+ { -+ /* Repeat Label */ -+ obj = elm_label_add(table); -+ txt = pinentry_utf8_to_local (pinentry->lc_ctype, -+ pinentry->repeat_passphrase); -+ elm_object_text_set(obj,txt); -+ free (txt); -+ evas_object_size_hint_weight_set(obj, 0, EVAS_HINT_EXPAND); -+ evas_object_size_hint_align_set(obj, 1, EVAS_HINT_FILL); -+ elm_table_pack(table, obj, 1, row, 1, 1); -+ evas_object_show(obj); -+ -+ repeat_entry = elm_entry_add(table); -+ elm_entry_scrollable_set(repeat_entry, EINA_TRUE); -+ elm_scroller_policy_set(repeat_entry, -+ ELM_SCROLLER_POLICY_OFF, -+ ELM_SCROLLER_POLICY_OFF); -+ elm_entry_password_set(repeat_entry, EINA_TRUE); -+ elm_entry_single_line_set(repeat_entry, EINA_TRUE); -+ evas_object_size_hint_weight_set(repeat_entry, 0, 0); -+ evas_object_size_hint_align_set(repeat_entry, EVAS_HINT_FILL, 0); -+ elm_table_pack(table, repeat_entry, 2, row, 4, 1); -+ evas_object_smart_callback_add (repeat_entry, "activated", -+ enter_callback, NULL); -+ evas_object_show(repeat_entry); -+ evas_object_smart_callback_add (entry, -+ "activated", -+ enter_callback, -+ repeat_entry); -+ evas_object_smart_callback_add(repeat_entry, -+ "activated", -+ on_click, -+ (void *) CONFIRM_OK); -+ row++; -+ } -+ else -+ evas_object_smart_callback_add(entry, -+ "activated", -+ on_click, -+ (void *) CONFIRM_OK); -+ } -+ -+ /* Cancel Button */ -+ if (!pinentry->one_button) -+ { -+ obj = elm_button_add(table); -+ icon = elm_icon_add (table); -+ evas_object_size_hint_aspect_set (icon, EVAS_ASPECT_CONTROL_BOTH, 1, 1); -+ if (elm_icon_standard_set (icon, "dialog-cancel") || -+ elm_icon_standard_set (icon, "window-close")) -+ { -+ evas_object_size_hint_min_set(icon, -+ ELM_SCALE_SIZE(BUTTON_ICON_SIZE), -+ ELM_SCALE_SIZE(BUTTON_ICON_SIZE)); -+ elm_object_part_content_set(obj, "icon", icon); -+ evas_object_show (icon); -+ } -+ else -+ evas_object_del(icon); -+ if (pinentry->cancel || pinentry->default_cancel) -+ { -+ if(pinentry->cancel) -+ txt = pinentry_utf8_to_local (pinentry->lc_ctype, pinentry->cancel); -+ else -+ txt = pinentry_utf8_to_local (pinentry->lc_ctype, -+ pinentry->default_cancel); -+ if(txt[0]=='_') -+ elm_object_text_set(obj,txt+1); -+ else -+ elm_object_text_set(obj,txt); -+ btn_txt_len = ELM_SCALE_SIZE(strlen(txt) * (PADDING * 1.5)); -+ free (txt); -+ } -+ else -+ elm_object_text_set(obj, "Cancel"); //STOCK_CANCEL -+ evas_object_size_hint_align_set(obj, 0, 0); -+ if(btn_txt_len>ELM_SCALE_SIZE(BUTTON_WIDTH)) -+ evas_object_size_hint_min_set(obj, -+ btn_txt_len, -+ ELM_SCALE_SIZE(BUTTON_HEIGHT)); -+ else -+ evas_object_size_hint_min_set(obj, -+ ELM_SCALE_SIZE(BUTTON_WIDTH), -+ ELM_SCALE_SIZE(BUTTON_HEIGHT)); -+ elm_table_pack(table, obj, 4, row, 1, 1); -+ evas_object_smart_callback_add(obj, -+ "clicked", -+ on_click, -+ (void *) CONFIRM_CANCEL); -+ evas_object_show(obj); -+ } -+ -+ /* OK Button */ -+ obj = elm_button_add(table); -+ icon = elm_icon_add (table); -+ evas_object_size_hint_aspect_set (icon, EVAS_ASPECT_CONTROL_BOTH, 1, 1); -+ if (elm_icon_standard_set (icon, "dialog-ok") || -+ elm_icon_standard_set (icon, "list-add")) -+ { -+ evas_object_size_hint_min_set(icon, -+ ELM_SCALE_SIZE(BUTTON_ICON_SIZE), -+ ELM_SCALE_SIZE(BUTTON_ICON_SIZE)); -+ elm_object_part_content_set(obj, "icon", icon); -+ evas_object_show (icon); -+ } -+ else -+ evas_object_del(icon); -+ if (pinentry->ok || pinentry->default_ok) -+ { -+ if(pinentry->ok) -+ txt = pinentry_utf8_to_local (pinentry->lc_ctype, pinentry->ok); -+ else -+ txt = pinentry_utf8_to_local (pinentry->lc_ctype, pinentry->default_ok); -+ if(txt[0]=='_') -+ elm_object_text_set(obj,txt+1); -+ else -+ elm_object_text_set(obj,txt); -+ ok_len = ELM_SCALE_SIZE(strlen(txt) * (PADDING * 1.5)); -+ if(ok_len>btn_txt_len) -+ btn_txt_len = ok_len; -+ free (txt); -+ } -+ else -+ elm_object_text_set(obj,"OK"); //STOCK_OK -+ evas_object_size_hint_align_set(obj, 0, 0); -+ if(btn_txt_len>ELM_SCALE_SIZE(BUTTON_WIDTH)) -+ evas_object_size_hint_min_set(obj, -+ btn_txt_len, -+ ELM_SCALE_SIZE(BUTTON_HEIGHT)); -+ else -+ evas_object_size_hint_min_set(obj, -+ ELM_SCALE_SIZE(BUTTON_WIDTH), -+ ELM_SCALE_SIZE(BUTTON_HEIGHT)); -+ elm_table_pack(table, obj, 5, row, 1, 1); -+ evas_object_smart_callback_add(obj, "clicked", on_click, (void *) CONFIRM_OK); -+ evas_object_show(obj); -+ -+ /* Key/Lock Icon */ -+ obj = elm_icon_add (win); -+ evas_object_size_hint_aspect_set (obj, EVAS_ASPECT_CONTROL_BOTH, 1, 1); -+ if (elm_icon_standard_set (obj, "dialog-password")) -+ { -+ double ic_size = WIDTH/5; -+ if(row==0) -+ ic_size = ic_size/3.5; -+ else if(row<4) -+ ic_size = ic_size - ic_size/row; -+ evas_object_size_hint_min_set(obj, -+ ELM_SCALE_SIZE(ic_size), -+ ELM_SCALE_SIZE(ic_size)); -+ evas_object_size_hint_weight_set(obj, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); -+ evas_object_size_hint_align_set(obj, EVAS_HINT_FILL, 0.5); -+ elm_table_pack(table, obj, 0, 0, 1, row? row:1); -+ evas_object_show (obj); -+ } -+ else -+ evas_object_del(obj); -+ -+ /* Box for padding */ -+ obj = elm_box_add (win); -+ elm_box_pack_end (obj, table); -+ evas_object_show (obj); -+ -+ elm_win_resize_object_add(win,obj); -+ evas_object_show(win); -+ -+ if(entry) -+ elm_object_focus_set (entry, EINA_TRUE); -+ -+ if (pinentry->timeout > 0) -+ timer = ecore_timer_add (pinentry->timeout, -+ (Ecore_Task_Cb)timeout_cb, -+ pinentry); -+} -+ -+static int -+efl_cmd_handler (pinentry_t pe) -+{ -+ int want_pass = !!pe->pin; -+ -+ got_input = EINA_FALSE; -+ pinentry = pe; -+ confirm_value = CONFIRM_CANCEL; -+ passphrase_ok = 0; -+ confirm_mode = want_pass ? 0 : 1; -+ /* init ecore-x explicitly using DISPLAY since this can launch -+ * from console -+ */ -+ if (pe->display) -+ ecore_x_init (pe->display); -+ elm_init (pargc, pargv); -+ create_window (); -+ ecore_main_loop_begin (); -+ -+ if (timer) -+ { -+ ecore_timer_del (timer); -+ timer = NULL; -+ } -+ -+ if (confirm_value == CONFIRM_CANCEL || grab_failed) -+ pe->canceled = 1; -+ -+ pinentry = NULL; -+ if (want_pass) -+ { -+ if (passphrase_ok && pe->pin) -+ return strlen (pe->pin); -+ else -+ return -1; -+ } -+ else -+ return (confirm_value == CONFIRM_OK) ? 1 : 0; -+} -+ -+int -+main (int argc, char *argv[]) -+{ -+ pinentry_init (PGMNAME); -+ -+#ifdef FALLBACK_CURSES -+ if (pinentry_have_display (argc, argv)) -+ { -+#endif -+ -+ pinentry_cmd_handler = efl_cmd_handler; -+ pargc = argc; -+ pargv = argv; -+ -+#ifdef FALLBACK_CURSES -+ } -+ else -+ { -+ pinentry_cmd_handler = curses_cmd_handler; -+ } -+#endif -+ -+ pinentry_parse_opts (argc, argv); -+ if (pinentry_loop ()) -+ return 1; -+ -+ return 0; -+} --- -2.8.0.rc3 - diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm index d03379c113..66e920a7bb 100644 --- a/gnu/packages/pdf.scm +++ b/gnu/packages/pdf.scm @@ -17,7 +17,7 @@ ;;; Copyright © 2019 Alex Griffin <a@ajgrf.com> ;;; Copyright © 2019 Ben Sturmfels <ben@sturm.com.au> ;;; Copyright © 2019,2020 Hartmut Goebel <h.goebel@crazy-compilers.com> -;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr> +;;; Copyright © 2020, 2021 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de> ;;; Copyright © 2020 Timotej Lazar <timotej.lazar@araneo.si> ;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com> @@ -92,6 +92,8 @@ #:use-module (gnu packages sphinx) #:use-module (gnu packages sqlite) #:use-module (gnu packages tex) + #:use-module (gnu packages time) + #:use-module (gnu packages tcl) #:use-module (gnu packages tls) #:use-module (gnu packages web) #:use-module (gnu packages xdisorg) @@ -99,6 +101,52 @@ #:use-module (gnu packages xorg) #:use-module (srfi srfi-1)) +(define-public extractpdfmark + (package + (name "extractpdfmark") + (version "1.1.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/trueroad/extractpdfmark") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "14aa6zly53j8gx5d32caiabk2j4b102xha0v9149yahz6kbn5b80")))) + (build-system gnu-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'check 'start-xorg-server + ;; The test suite wants to write to /homeless-shelter + (lambda _ (setenv "HOME" (getcwd))))))) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("gettext" ,gettext-minimal) + ("ghostscript" ,ghostscript) + ("pkg-config" ,pkg-config) + ("texlive" ,texlive-tiny))) + (inputs + `(("poppler" ,poppler))) + (home-page "https://github.com/trueroad/extractpdfmark") + (synopsis "Extract page mode and named destinations as PDFmark from PDF") + (description + "PDFmarks is a technique that accompanies PDF, and that is used to store +metadata such as author or title, but also structural information such as +bookmarks or hyperlinks. + +When Ghostscript reads the main PDF generated by the TeX system with embedded +PDF files and outputs the final PDF, the PDF page mode and name targets +etc. are not preserved. Therefore, when you open the final PDF, it is not +displayed correctly. Also, remote PDF links do not work correctly. + +This program is able to extract the page mode and named targets as PDFmark +from PDF. In this way, you can obtain embedded PDF files that have kept this +information.") + (license license:gpl3))) + (define-public flyer-composer (package (name "flyer-composer") @@ -1081,6 +1129,29 @@ such as zooming, highlighting an area of the screen, and a tool to navigate the PDF pages.") (license license:gpl2))) +(define-public img2pdf + (package + (name "img2pdf") + (version "0.4.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "img2pdf" version)) + (sha256 + (base32 "1jdhmpzgj8815bhargb3xp3ydlqxwkz0mcadrflx2ga0p056kvpa")))) + (build-system python-build-system) + (propagated-inputs + `(("python-pikepdf" ,python-pikepdf) + ("python-pillow" ,python-pillow) + ("python-tkinter" ,python "tk"))) + (home-page "https://gitlab.mister-muffin.de/josch/img2pdf") + (synopsis "Convert images to PDF via direct JPEG inclusion") + (description + "img2pdf converts images to PDF via direct JPEG inclusion. That +conversion is lossless: the image embedded in the PDF has the exact same color +information for every pixel as the input.") + (license license:lgpl3))) + (define-public fbida (package (name "fbida") @@ -1229,7 +1300,7 @@ python-pypdf2 instead.") (define-public pdfarranger (package (name "pdfarranger") - (version "1.3.1") + (version "1.7.0") (source (origin (method git-fetch) @@ -1238,10 +1309,10 @@ python-pypdf2 instead.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1f8m8r81322i97wkqpmf7a4kiwnq244n6cnbldh03jc49vwq2kxx")))) + (base32 "0dmgmvpghsm938iznalbg8h8k17a5h3q466yfc67mcll428n4nx3")))) (build-system python-build-system) (arguments - '(#:tests? #f ;no tests + '(#:tests? #f ;no tests #:phases (modify-phases %standard-phases (add-after 'install 'wrap-for-typelib (lambda* (#:key inputs outputs #:allow-other-keys) @@ -1254,12 +1325,15 @@ python-pypdf2 instead.") (native-inputs `(("intltool" ,intltool) ("python-distutils-extra" ,python-distutils-extra))) - (propagated-inputs + (inputs `(("gtk+" ,gtk+) - ("poppler" ,poppler) + ("poppler" ,poppler))) + (propagated-inputs + `(("img2pdf" ,img2pdf) + ("python-dateutil" ,python-dateutil) + ("python-pikepdf" ,python-pikepdf) ("python-pycairo" ,python-pycairo) - ("python-pygobject" ,python-pygobject) - ("python-pypdf2" ,python-pypdf2))) + ("python-pygobject" ,python-pygobject))) (home-page "https://github.com/jeromerobert/pdfarranger") (synopsis "Merge, split and re-arrange pages from PDF documents") (description diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index da05f7a95b..370783caf0 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2013, 2019, 2020 Andreas Enge <andreas@enge.fr> -;;; Copyright © 2015, 2016, 2017, 2019 Ricardo Wurmus <rekado@elephly.net> +;;; Copyright © 2015, 2016, 2017, 2019, 2021 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2015, 2016, 2017, 2019, 2020 Eric Bavier <bavier@posteo.net> ;;; Copyright © 2015 Eric Dvorsak <eric@dvorsak.fr> ;;; Copyright © 2016, 2018 Mark H Weaver <mhw@netris.org> @@ -11455,6 +11455,33 @@ lookup in %INC or by assuming it is $0 if the caller is @code{main} (or it can't find %INC{caller()}).") (license license:artistic2.0))) +(define-public perl-text-soundex + (package + (name "perl-text-soundex") + (version "3.05") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/R/RJ/RJBS/Text-Soundex-" + version ".tar.gz")) + (sha256 + (base32 + "1vb0vg1109gfzaak74ynw5s00ml28f33j612g2lxw98b52s5bpgn")))) + (build-system perl-build-system) + (home-page + "https://metacpan.org/release/Text-Soundex") + (synopsis "Implementation of the soundex algorithm.") + (description "Soundex is a phonetic algorithm for indexing names by sound, +as pronounced in English. The goal is for names with the same pronunciation to +be encoded to the same representation so that they can be matched despite +minor differences in spelling. + +This module implements the original soundex algorithm developed by Robert +Russell and Margaret Odell, patented in 1918 and 1922, as well as a variation +called \"American Soundex\" used for US census data, and current maintained by +the National Archives and Records Administration (NARA).") + (license license:perl-license))) + (define-public perl-regexp-pattern (package (name "perl-regexp-pattern") diff --git a/gnu/packages/protobuf.scm b/gnu/packages/protobuf.scm index a414bc6bbb..61dee46d43 100644 --- a/gnu/packages/protobuf.scm +++ b/gnu/packages/protobuf.scm @@ -40,6 +40,7 @@ #:use-module (gnu packages libevent) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) + #:use-module (gnu packages python-build) #:use-module (gnu packages python-check) #:use-module (gnu packages python-xyz) #:use-module (gnu packages ruby)) diff --git a/gnu/packages/python-build.scm b/gnu/packages/python-build.scm new file mode 100644 index 0000000000..1ce6a3095a --- /dev/null +++ b/gnu/packages/python-build.scm @@ -0,0 +1,160 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2015, 2020 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2016 Leo Famulari <leo@famulari.name> +;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com> +;;; Copyright © 2020 Tanguy Le Carrour <tanguy@bioneland.org> +;;; Copyright © 2018, 2021 Maxim Cournoyer <maxim.cournoyer@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 python-build) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix build-system python) + #:use-module (guix download) + #:use-module (guix packages)) + +;;; Commentary: +;;; +;;; Python packages to build... Python packages. Since they are bound to be +;;; relied on by many, their dependencies should be kept minimal, and this +;;; module should not depend on other modules containing Python packages. +;;; +;;; Code: + +(define-public python-wheel + (package + (name "python-wheel") + (version "0.36.2") + (source + (origin + (method url-fetch) + (uri (pypi-uri "wheel" version)) + (sha256 + (base32 + "0pi4w0brz7a86ddk6pm8p6j0w6d7jgacgxm0c2dab3k5cb8yy7p1")))) + (build-system python-build-system) + (arguments + ;; FIXME: The test suite runs "python setup.py bdist_wheel", which in turn + ;; fails to find the newly-built bdist_wheel library, even though it is + ;; available on PYTHONPATH. What search path is consulted by setup.py? + '(#:tests? #f)) + (home-page "https://bitbucket.org/pypa/wheel/") + (synopsis "Format for built Python packages") + (description + "A wheel is a ZIP-format archive with a specially formatted filename and +the @code{.whl} extension. It is designed to contain all the files for a PEP +376 compatible install in a way that is very close to the on-disk format. Many +packages will be properly installed with only the @code{Unpack} step and the +unpacked archive preserves enough information to @code{Spread} (copy data and +scripts to their final locations) at any later time. Wheel files can be +installed with a newer @code{pip} or with wheel's own command line utility.") + (license license:expat))) + +(define-public python2-wheel + (package-with-python2 python-wheel)) + +;;; XXX: Not really at home, but this seems the best place to prevent circular +;;; module dependencies. +(define-public python-toml + (package + (name "python-toml") + (version "0.10.1") + (source + (origin + (method url-fetch) + (uri (pypi-uri "toml" version)) + (sha256 + (base32 + "03wbqm5cn685cwx2664hjdpz370njl7lf0yal8s0dkp5w4mn2swj")))) + (build-system python-build-system) + (arguments + `(#:tests? #f)) ;no tests suite in release + (home-page "https://github.com/uiri/toml") + (synopsis "Library for TOML") + (description + "@code{toml} is a library for parsing and creating Tom's Obvious, Minimal +Language (TOML) configuration files.") + (license license:expat))) + +(define-public python-pep517-bootstrap + (hidden-package + (package + (name "python-pep517-bootstrap") + (version "0.9.1") + (source + (origin + (method url-fetch) + (uri (pypi-uri "pep517" version)) + (sha256 + (base32 + "0zqidxah03qpnp6zkg3zd1kmd5f79hhdsfmlc0cldaniy80qddxf")))) + (build-system python-build-system) + (arguments + `(#:tests? #f)) ;to avoid circular dependencies + (propagated-inputs + `(("python-toml" ,python-toml) + ("python-wheel" ,python-wheel))) + (home-page "https://github.com/pypa/pep517") + (synopsis "Wrappers to build Python packages using PEP 517 hooks") + (description + "Wrappers to build Python packages using PEP 517 hooks.") + (license license:expat)))) + +;;; The name 'python-pypa-build' is chosen rather than 'python-build' to avoid +;;; a name clash with python-build from (guix build-system python). +(define-public python-pypa-build + (package + (name "python-pypa-build") + (version "0.1.0") + (source (origin + (method url-fetch) + (uri (pypi-uri "build" version)) + (sha256 + (base32 + "1d6m21lijwm04g50nwgsgj7x3vhblzw7jv05ah8psqgzk20bbch8")))) + (build-system python-build-system) + (arguments + `(#:tests? #f)) ;to tests in the PyPI release + (propagated-inputs + `(("python-pep517", python-pep517-bootstrap) + ("python-toml" ,python-toml))) + (home-page "https://pypa-build.readthedocs.io/en/latest/") + (synopsis "Simple Python PEP 517 package builder") + (description "The @command{build} command invokes the PEP 517 hooks to +build a distribution package. It is a simple build tool and does not perform +any dependency management. It aims to keep dependencies to a minimum, in +order to make bootstrapping easier.") + (license license:expat))) + +(define-public python-poetry-core + (package + (name "python-poetry-core") + (version "1.0.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "poetry-core" version)) + (sha256 + (base32 "1mgv276h1iphn5fqhp2sgkgd5d0c39hs33vgaf157x5ri7rlyrka")))) + (build-system python-build-system) + (home-page "https://github.com/python-poetry/poetry-core") + (synopsis "Poetry PEP 517 build back-end") + (description + "The @code{poetry-core} module provides a PEP 517 build back-end +implementation developed for Poetry. This project is intended to be +a light weight, fully compliant, self-contained package allowing PEP 517 +compatible build front-ends to build Poetry managed projects.") + (license license:expat))) diff --git a/gnu/packages/python-check.scm b/gnu/packages/python-check.scm index fb111d6e57..c23741825b 100644 --- a/gnu/packages/python-check.scm +++ b/gnu/packages/python-check.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2019 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2019, 2020 Efraim Flashner <efraim@flashner.co.il> -;;; Copyright © 2019, 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com> +;;; Copyright © 2019, 2020, 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2019 Hartmut Goebel <h.goebel@crazy-compilers.com> ;;; Copyright © 2020 Julien Lepiller <julien@lepiller.eu> ;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com> @@ -1096,6 +1096,25 @@ any Python VM with basically no runtime overhead.") ;; mypyc/lib-rt/getargs.c (license (list license:expat license:psfl)))) +(define-public python-eradicate + (package + (name "python-eradicate") + (version "2.0.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "eradicate" version)) + (sha256 + (base32 + "1j30g9jfmbfki383qxwrfds8b23yiwywj40lng4lqcf5yab4ahr7")))) + (build-system python-build-system) + (home-page "https://github.com/myint/eradicate") + (synopsis "Remove commented-out code from Python sources") + (description "The @command{eradicate} command removes commented-out code +from Python files. It does this by detecting block comments that contain +valid Python syntax that are likely to be commented out code.") + (license license:expat))) + (define-public python-robber (package (name "python-robber") diff --git a/gnu/packages/python-crypto.scm b/gnu/packages/python-crypto.scm index bf6cedf43a..1f491cc972 100644 --- a/gnu/packages/python-crypto.scm +++ b/gnu/packages/python-crypto.scm @@ -54,6 +54,7 @@ #:use-module (gnu packages password-utils) #:use-module (gnu packages protobuf) #:use-module (gnu packages python) + #:use-module (gnu packages python-build) #:use-module (gnu packages python-check) #:use-module (gnu packages python-compression) #:use-module (gnu packages python-web) diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm index c0dc0403eb..ab3769b360 100644 --- a/gnu/packages/python-web.scm +++ b/gnu/packages/python-web.scm @@ -75,6 +75,7 @@ #:use-module (gnu packages libffi) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) + #:use-module (gnu packages python-build) #:use-module (gnu packages python-check) #:use-module (gnu packages python-compression) #:use-module (gnu packages python-crypto) @@ -506,16 +507,8 @@ classes @item Compatible with both CPython and PyPy @item Cython support for better performance when used with CPython @end itemize") - (properties `((python2-variant . ,(delay python2-falcon)))) (license license:asl2.0))) -(define-public python2-falcon - (let ((falcon (package-with-python2 (strip-python2-variant python-falcon)))) - (package - (inherit falcon) - (native-inputs - (alist-delete "python-rapidjson" (package-native-inputs falcon)))))) - (define-public python-falcon-cors (package (name "python-falcon-cors") @@ -539,9 +532,6 @@ CORS object to the incoming requests, enabling the ability to serve resources over a different origin than that of the web application.") (license license:asl2.0))) -(define-public python2-falcon-cors - (package-with-python2 python-falcon-cors)) - (define-public python-furl (package (name "python-furl") @@ -2527,17 +2517,8 @@ library.") (description "This module provides a building block to stub out the HTTP requests portions of your testing code.") - (properties `((python2-variant . ,(delay python2-requests-mock)))) (license license:asl2.0))) -(define-public python2-requests-mock - (package (inherit (package-with-python2 - (strip-python2-variant python-requests-mock))) - (arguments - `(#:python ,python-2 - ;; FIXME: 'subunit.run discover: error: no such option: --list' - #:tests? #f)))) - (define-public python-requests-toolbelt (package (name "python-requests-toolbelt") @@ -3121,9 +3102,6 @@ concurrent HTTP client library for python using @code{gevent}.") provide an easy-to-use Python interface for building OAuth1 and OAuth2 clients.") (license license:isc))) -(define-public python2-requests-oauthlib - (package-with-python2 python-requests-oauthlib)) - (define-public python-url (package (name "python-url") @@ -3184,9 +3162,6 @@ provide an easy-to-use Python interface for building OAuth1 and OAuth2 clients." @code{httplib2} for use with @code{requests} session objects.") (license license:asl2.0))) -(define-public python2-cachecontrol - (package-with-python2 python-cachecontrol)) - (define-public python-cachecontrol-0.11 (package (inherit python-cachecontrol) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 9f5e3ba559..5199ac4d11 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -93,7 +93,8 @@ ;;; Copyright © 2020 Diego N. Barbato <dnbarbato@posteo.de> ;;; Copyright © 2020 Leo Prikler <leo.prikler@student.tugraz.at> ;;; Copyright © 2019 Kristian Trandem <kristian@devup.no> -;;; Copyright © 2020 Zheng Junjie <873216071@qq.com> +;;; Copyright © 2020, 2021 Zheng Junjie <873216071@qq.com> +;;; Copyright © 2021 Morgan Smith <Morgan.J.Smith@outlook.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -145,6 +146,7 @@ #:use-module (gnu packages haskell-xyz) #:use-module (gnu packages icu4c) #:use-module (gnu packages image) + #:use-module (gnu packages imagemagick) #:use-module (gnu packages kerberos) #:use-module (gnu packages libevent) #:use-module (gnu packages libffi) @@ -164,6 +166,7 @@ #:use-module (gnu packages photo) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) + #:use-module (gnu packages python-build) #:use-module (gnu packages python-check) #:use-module (gnu packages python-compression) #:use-module (gnu packages python-crypto) @@ -1028,9 +1031,6 @@ conventions and aliases in the same expression.") API for locking files.") (license license:expat))) -(define-public python2-lockfile - (package-with-python2 python-lockfile)) - (define-public python-filelock (package (name "python-filelock") @@ -1117,14 +1117,14 @@ other machines, such as over the network.") (define-public python-setuptools (package (name "python-setuptools") - (version "41.0.1") + (version "52.0.0") (source (origin (method url-fetch) - (uri (pypi-uri "setuptools" version ".zip")) + (uri (pypi-uri "setuptools" version)) (sha256 (base32 - "04sns22y2hhsrwfy1mha2lgslvpjsjsz8xws7h2rh5a7ylkd28m2")) + "15ibjdjhkwgj6qbmpsxikkqdfsb1550z46fly7dm15ah4bk1wfpv")) (modules '((guix build utils))) (snippet '(begin @@ -2515,9 +2515,6 @@ code introspection, and logging.") "Used only for bootstrapping python2-pbr, you should not need this.") (license license:asl2.0))) -(define-public python2-pbr-minimal - (package-with-python2 python-pbr-minimal)) - (define-public python-pbr (package (inherit python-pbr-minimal) @@ -2545,9 +2542,6 @@ versions, process requirements files and generate AUTHORS and ChangeLog file from git information. "))) -(define-public python2-pbr - (package-with-python2 python-pbr)) - (define-public python-pyrsistent (package (name "python-pyrsistent") @@ -2714,38 +2708,6 @@ with sensible defaults out of the box.") (base32 "0njsm0wn31l21bi118g5825ma5sa3rwn7v2x4wjd7yiiahkri337")))) (arguments `()))) -(define-public python-wheel - (package - (name "python-wheel") - (version "0.33.6") - (source - (origin - (method url-fetch) - (uri (pypi-uri "wheel" version)) - (sha256 - (base32 - "0ii6f34rvpjg3nmw4bc2h7fhdsy38y1h93hghncfs5akfrldmj8h")))) - (build-system python-build-system) - (arguments - ;; FIXME: The test suite runs "python setup.py bdist_wheel", which in turn - ;; fails to find the newly-built bdist_wheel library, even though it is - ;; available on PYTHONPATH. What search path is consulted by setup.py? - '(#:tests? #f)) - (home-page "https://bitbucket.org/pypa/wheel/") - (synopsis "Format for built Python packages") - (description - "A wheel is a ZIP-format archive with a specially formatted filename and -the @code{.whl} extension. It is designed to contain all the files for a PEP -376 compatible install in a way that is very close to the on-disk format. Many -packages will be properly installed with only the @code{Unpack} step and the -unpacked archive preserves enough information to @code{Spread} (copy data and -scripts to their final locations) at any later time. Wheel files can be -installed with a newer @code{pip} or with wheel's own command line utility.") - (license license:expat))) - -(define-public python2-wheel - (package-with-python2 python-wheel)) - (define-public python-vcversioner (package (name "python-vcversioner") @@ -3226,40 +3188,8 @@ e.g. filters, callbacks and errbacks can all be promises.") (synopsis "Virtual Python environment builder") (description "Virtualenv is a tool to create isolated Python environments.") - (properties `((python2-variant . ,(delay python2-virtualenv)))) (license license:expat))) -(define-public python2-virtualenv - (let ((base (package-with-python2 (strip-python2-variant python-virtualenv)))) - (package - (inherit base) - (arguments - `(#:python ,python-2 - #:phases - (modify-phases %standard-phases - (add-after 'set-paths 'adjust-PYTHONPATH - (lambda* (#:key inputs #:allow-other-keys) - (let* ((python (assoc-ref inputs "python")) - (python-sitedir (string-append python "/lib/python2.7" - "/site-packages"))) - ;; XXX: 'python2' always comes first on PYTHONPATH - ;; and shadows the 'setuptools' input. Move python2 - ;; last: this should be fixed in python-build-system - ;; in a future rebuild cycle. - (setenv "PYTHONPATH" - (string-append (string-join (delete python-sitedir - (string-split - (getenv "PYTHONPATH") - #\:)) - ":") - ":" python-sitedir)) - (format #t "environment variable `PYTHONPATH' changed to `~a'~%" - (getenv "PYTHONPATH")) - #t)))))) - (propagated-inputs - `(("python-contextlib2" ,python2-contextlib2) - ,@(package-propagated-inputs base)))))) - (define-public python-markupsafe (package (name "python-markupsafe") @@ -4056,27 +3986,6 @@ which can produce feeds in RSS 2.0, RSS 0.91, and Atom formats.") (define-public python2-feedgenerator (package-with-python2 python-feedgenerator)) -(define-public python-toml - (package - (name "python-toml") - (version "0.10.1") - (source - (origin - (method url-fetch) - (uri (pypi-uri "toml" version)) - (sha256 - (base32 - "03wbqm5cn685cwx2664hjdpz370njl7lf0yal8s0dkp5w4mn2swj")))) - (build-system python-build-system) - (arguments - `(#:tests? #f)) ;no tests suite in release - (home-page "https://github.com/uiri/toml") - (synopsis "Library for TOML") - (description - "@code{toml} is a library for parsing and creating Tom's Obvious, Minimal -Language (TOML) configuration files.") - (license license:expat))) - (define-public python-jsonrpc-server (package (name "python-jsonrpc-server") @@ -5768,6 +5677,37 @@ the OleFileIO module from PIL, the Python Image Library.") (define-public python2-olefile (package-with-python2 python-olefile)) +(define-public python-pikepdf + (package + (name "python-pikepdf") + (version "2.5.1") + (source + (origin + (method url-fetch) + (uri (pypi-uri "pikepdf" version)) + (sha256 + (base32 "0zapzvy9lx6yv13k3j3zaklbcpgidmsvanaz8qnbdxywcm482klm")))) + (build-system python-build-system) + (arguments + `(#:tests? #false)) ;require python-xmp-toolkit + (native-inputs + `(("pybind11" ,pybind11) + ("python-setuptools" ,python-setuptools) + ("python-setuptools-scm" ,python-setuptools-scm/next) + ("python-setuptools-scm-git-archive" ,python-setuptools-scm-git-archive) + ("python-toml" ,python-toml) + ("python-wheel" ,python-wheel))) + (inputs + `(("qpdf" ,qpdf))) + (propagated-inputs + `(("python-lxml" ,python-lxml) + ("python-pillow" ,python-pillow))) + (home-page "https://github.com/pikepdf/pikepdf") + (synopsis "Read and write PDFs with Python") + (description + "pikepdf is a Python library for reading and writing PDF files.") + (license license:mpl2.0))) + (define-public python-pillow (package (name "python-pillow") @@ -6072,6 +6012,38 @@ similar to Fourier transforms, the difference being that Fourier transforms are localized only in frequency instead of in time and frequency.") (license license:expat))) +(define-public python-pywal + (package + (name "python-pywal") + (version "3.3.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/dylanaraps/pywal") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "039m7dch479hlwddynacdrr0klz6a5bdly5swqbs94hfimficiyf")))) + (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'check 'fix-home-directory + (lambda _ + ;; Tests fail with "Permission denied: '/homeless-shelter'". + (setenv "HOME" "/tmp") + #t))))) + (inputs + `(("imagemagick" ,imagemagick))) + (home-page "https://github.com/dylanaraps/pywal") + (synopsis "Color palette generator and applicator") + (description + "Pywal is a tool that generates a color palette from the dominant colors +in an image. It then applies the colors system-wide and on-the-fly in all of +your favourite programs.") + (license license:expat))) + (define-public python-pywinrm (package (name "python-pywinrm") @@ -6453,9 +6425,6 @@ The output of all running processes is collected by honcho and displayed.") (license license:expat))) -(define-public python2-honcho - (package-with-python2 python-honcho)) - (define-public python-pexpect (package (name "python-pexpect") @@ -6527,6 +6496,18 @@ child application and control it as if a human were typing commands.") them as the version argument or in a SCM managed file.") (license license:expat))) +;; TODO: Merge with 'python-setuptools-scm' on the next rebuild cycle. +(define-public python-setuptools-scm/next + (package + (inherit python-setuptools-scm) + (version "5.0.1") + (source + (origin + (method url-fetch) + (uri (pypi-uri "setuptools_scm" version)) + (sha256 + (base32 "0ahlrxxkx2xhmxskx57gc96w3bdndflxx30304ihvm7ds136nny8")))))) + (define-public python2-setuptools-scm (package-with-python2 python-setuptools-scm)) @@ -6720,6 +6701,27 @@ need to use the older and less efficient @code{pkg_resources} package.") finding unresolved symbols in Python code and their corresponding imports.") (license license:bsd-3))) +(define-public python-inotify-simple + (package + (name "python-inotify-simple") + (version "1.3.5") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/chrisjbillington/inotify_simple") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1dv9svrcz31acyq9smjlnw75xv3x5wpn5h6s8j8h0vrqyl3d7l05")))) + (build-system python-build-system) + (home-page + "https://github.com/chrisjbillington/inotify_simple") + (synopsis "Simple wrapper around inotify library") + (description + "@code{inotify-simple} is a simple wrapper around inotify library.") + (license license:bsd-3))) + (define-public python-jaraco-packaging (package (name "python-jaraco-packaging") @@ -6800,9 +6802,6 @@ releases.") common operations on files to be invoked on those path objects directly.") (license license:expat))) -(define-public python2-pathpy - (package-with-python2 python-pathpy)) - (define-public python-simplegeneric (package (name "python-simplegeneric") @@ -7952,13 +7951,13 @@ multiprecision arithmetic.") (define-public python-sympy (package (name "python-sympy") - (version "1.6.2") + (version "1.7.1") (source (origin (method url-fetch) (uri (pypi-uri "sympy" version)) (sha256 - (base32 "0247skhkxanczpqqdz6n9k1axgpwl665b25hyn9vgr060p4dryhw")))) + (base32 "0bkb4jf24yv5i4kjpsmg1xjjccfhqyi0syv0p0xvhdbmx5hr5pm3")))) (build-system python-build-system) (arguments `(#:phases @@ -8259,16 +8258,8 @@ PEP 8.") (define-public python-pep517 (package + (inherit python-pep517-bootstrap) (name "python-pep517") - (version "0.9.1") - (source - (origin - (method url-fetch) - (uri (pypi-uri "pep517" version)) - (sha256 - (base32 - "0zqidxah03qpnp6zkg3zd1kmd5f79hhdsfmlc0cldaniy80qddxf")))) - (build-system python-build-system) (arguments '(#:phases (modify-phases %standard-phases @@ -8284,15 +8275,7 @@ PEP 8.") `(("python-mock" ,python-mock) ("python-pytest" ,python-pytest) ("python-testpath" ,python-testpath))) - (propagated-inputs - `(("python-toml" ,python-toml) - ("python-wheel" ,python-wheel))) - (home-page "https://github.com/pypa/pep517") - (synopsis "Wrappers to build Python packages using PEP 517 hooks") - (description - "Wrappers to build Python packages using PEP 517 hooks.") - (properties `((python2-variant . ,(delay python2-pep517)))) - (license license:expat))) + (properties `((python2-variant . ,(delay python2-pep517)))))) ;; Skip the tests so we don't create a cyclical dependency with pytest. (define-public python2-pep517 @@ -11213,9 +11196,6 @@ supported environment, or act as a frontend to continuous integration servers.") (license license:expat))) -(define-public python2-tox - (package-with-python2 python-tox)) - (define-public python-jmespath (package (name "python-jmespath") @@ -13173,26 +13153,6 @@ powerful API: thread-safety; decorator syntax; support for memcached, redis, database, file, dict stores. Cachy supports python versions 2.7+ and 3.2+.") (license license:expat))) -(define-public python-poetry-core - (package - (name "python-poetry-core") - (version "1.0.0") - (source - (origin - (method url-fetch) - (uri (pypi-uri "poetry-core" version)) - (sha256 - (base32 "1mgv276h1iphn5fqhp2sgkgd5d0c39hs33vgaf157x5ri7rlyrka")))) - (build-system python-build-system) - (home-page "https://github.com/python-poetry/poetry-core") - (synopsis "Poetry PEP 517 build back-end") - (description - "The @code{poetry-core} module provides a PEP 517 build back-end -implementation developed for Poetry. This project is intended to be -a light weight, fully compliant, self-contained package allowing PEP 517 -compatible build front-ends to build Poetry managed projects.") - (license license:expat))) - (define-public poetry (package (name "poetry") @@ -15758,9 +15718,6 @@ exception message with a traceback that points to the culprit.") (description "This package provides a MediaWiki API client.") (license license:expat))) -(define-public python2-mwclient - (package-with-python2 python-mwclient)) - (define-public python-utils (package (name "python-utils") @@ -16819,9 +16776,6 @@ class ShellOutSSHClientTests")) many of the popular cloud service providers using a unified API.") (license license:asl2.0))) -(define-public python2-apache-libcloud - (package-with-python2 python-apache-libcloud)) - (define-public python-smmap (package (name "python-smmap") @@ -17025,9 +16979,6 @@ will fail (i.e. it will exit with a non-zero exit code) when any of these requirements is not met.") (license license:expat))) -(define-public python2-xenon - (package-with-python2 python-xenon)) - (define-public python-pysocks (package (name "python-pysocks") @@ -18166,6 +18117,61 @@ based on the CPython 2.7 and 3.7 parsers.") license:asl2.0 license:expat)))) ;ast27/Parser/spark.py +(define-public python-typer + (package + (name "python-typer") + (version "0.3.2") + (source + (origin + ;; Building `python-typer` from the git repository requires the `flit-core` + ;; Python package that is not installed by `python-flit`. + (method url-fetch) + (uri (pypi-uri "typer" version)) + (sha256 + (base32 "00v3h63dq8yxahp9vg3yb9r27l2niwv8gv0dbds9dzrc298dfmal")))) + (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'check 'disable-failing-tests + (lambda _ + (substitute* "tests/test_completion/test_completion.py" + (("def test_show_completion") + "def _test_show_completion") + (("def test_install_completion") + "def _test_install_completion")) + (substitute* "tests/test_completion/test_completion_install.py" + (("def test_completion_install_bash") + "def _test_completion_install_bash") + (("def test_completion_install_zsh") + "def _test_completion_install_zsh") + (("def test_completion_install_fish") + "def _test_completion_install_fish") + (("def test_completion_install_powershell") + "def _test_completion_install_powershell")) + #t)) + (replace 'check + (lambda _ + (setenv "PYTHONPATH" + (string-append (getcwd) ":" + (getenv "PYTHONPATH"))) + (invoke "python" "-m" "pytest" "tests/") + #t))))) + (propagated-inputs + `(("python-click" ,python-click))) + (native-inputs + `(("python-coverage" ,python-coverage) + ("python-pytest" ,python-pytest) + ("python-shellingham" ,python-shellingham))) + (home-page "https://github.com/tiangolo/typer") + (synopsis + "Typer builds CLI based on Python type hints") + (description + "Typer is a library for building CLI applications. It's based on +Python 3.6+ type hints.") + ;; MIT license + (license license:expat))) + (define-public python-typing (package (name "python-typing") @@ -18833,7 +18839,7 @@ user-space file systems in Python.") (define-public pybind11 (package (name "pybind11") - (version "2.4.3") + (version "2.6.1") (source (origin (method git-fetch) (uri (git-reference @@ -18841,7 +18847,7 @@ user-space file systems in Python.") (commit (string-append "v" version)))) (sha256 (base32 - "0k89w4bsfbpzw963ykg1cyszi3h3nk393qd31m6y46pcfxkqh4rd")) + "1wh5b1xnywzxwxkyac2wvyqwzmy1qxs341jjk820r7b825wn6yad")) (file-name (git-file-name name version)))) (build-system cmake-build-system) (native-inputs @@ -18907,17 +18913,8 @@ inferring type information using compile-time introspection.") @item Inter-process locks @item Generic helpers @end itemize\n") - (properties `((python2-variant . ,(delay python2-fasteners)))) (license license:asl2.0))) -(define-public python2-fasteners - (let ((base (package-with-python2 (strip-python2-variant python-fasteners)))) - (package - (inherit base) - (propagated-inputs - `(("python2-futures" ,python2-futures) - ,@(package-propagated-inputs base)))))) - (define-public python-requests-file (package (name "python-requests-file") diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index 012f9a106f..4fbb157600 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -45,6 +45,7 @@ #:use-module (guix build-system gnu) #:use-module (guix build-system trivial) #:use-module (guix build-system python) + #:use-module (guix build-system qt) #:use-module (guix packages) #:use-module (guix deprecation) #:use-module (guix utils) @@ -72,6 +73,7 @@ #:use-module (gnu packages gtk) #:use-module (gnu packages icu4c) #:use-module (gnu packages image) + #:use-module (gnu packages kde-frameworks) #:use-module (gnu packages libevent) #:use-module (gnu packages linux) #:use-module (gnu packages llvm) @@ -103,6 +105,91 @@ #:use-module (gnu packages xml) #:use-module (srfi srfi-1)) +(define-public qt5ct + (package + (name "qt5ct") + (version "1.1") + (source + (origin + (method url-fetch) + (uri + (string-append "mirror://sourceforge/qt5ct/qt5ct-" version ".tar.bz2")) + (sha256 + (base32 "1lnx4wqk87lbr6lqc64w5g5ppjjv75kq2r0q0bz9gfpryzdw8xxg")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ; No target + #:imported-modules + (,@%gnu-build-system-modules + (guix build cmake-build-system) + (guix build qt-build-system)) + #:modules + ((guix build gnu-build-system) + ((guix build qt-build-system) + #:prefix qt:) + (guix build utils)) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "qt5ct.pro" + (("\\$\\$\\[QT_INSTALL_BINS\\]/lrelease") + (string-append (assoc-ref inputs "qttools") + "/bin/lrelease"))) + #t)) + (replace 'configure + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out"))) + (invoke "qmake" + (string-append "PREFIX=" out) + (string-append "BINDIR=" out "/bin") + (string-append "DATADIR=" out "/share") + (string-append "PLUGINDIR=" out "/lib/qt5/plugins"))) + #t)) + (add-after 'install 'qt-wrap + (assoc-ref qt:%standard-phases 'qt-wrap))))) + (native-inputs + `(("qttools" ,qttools))) + (inputs + `(("qtbase" ,qtbase) + ("qtsvg" ,qtsvg))) + (synopsis "Qt5 Configuration Tool") + (description "Qt5CT is a program that allows users to configure Qt5 +settings (such as icons, themes, and fonts) in desktop environments or +window managers, that don't provide Qt integration by themselves.") + (home-page "https://qt5ct.sourceforge.io/") + (license license:bsd-2))) + +(define-public materialdecoration + (package + (name "materialdecoration") + (version "1.1.0") + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/lirios/materialdecoration.git") + (commit "2079487116c6c794af3a15452342a69293039b46"))) + (file-name + (git-file-name name version)) + (sha256 + (base32 "1pczmxbmnsgj9s1g6ap55qq2q4ccibcnhsw9b6cl5rzgc48izy06")))) + (build-system qt-build-system) + (native-inputs + `(("cmake-shared" ,cmake-shared) + ("extra-cmake-modules" ,extra-cmake-modules) + ("pkg-config" ,pkg-config))) + (inputs + `(("qtbase" ,qtbase) + ("qtwayland" ,qtwayland) + ("wayland" ,wayland))) + (synopsis "Material Decoration for Qt") + (description "MaterialDecoration is a client-side decoration for Qt +applications on Wayland.") + (home-page "https://github.com/lirios/materialdecoration") + (license license:lgpl3+))) + (define-public grantlee (package (name "grantlee") diff --git a/gnu/packages/radio.scm b/gnu/packages/radio.scm index 95e86e560a..c3f1c0c933 100644 --- a/gnu/packages/radio.scm +++ b/gnu/packages/radio.scm @@ -66,6 +66,7 @@ #:use-module (gnu packages tcl) #:use-module (gnu packages tex) #:use-module (gnu packages texinfo) + #:use-module (gnu packages video) #:use-module (gnu packages xml) #:use-module (gnu packages xorg) #:use-module (guix build-system cmake) @@ -1147,3 +1148,43 @@ modes: "NanoVNA-Saver is a tool for reading, displaying and saving data from the NanoVNA vector network analyzers.") (license license:gpl3+))) + +(define-public qsstv + (package + (name "qsstv") + (version "9.4.4") + (source + (origin + (method url-fetch) + (uri (string-append "http://users.telenet.be/on4qz/qsstv/downloads/" + "qsstv_" version ".tar.gz")) + (sha256 + (base32 "0f9hx6sy418cb23fadll298pqbc5l2lxsdivi4vgqbkvx7sw58zi")))) + (build-system qt-build-system) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("alsa-lib" ,alsa-lib) + ("fftw" ,fftw) + ("fftwf" ,fftwf) + ("hamlib" ,hamlib) + ("openjpeg" ,openjpeg) + ("pulseaudio" ,pulseaudio) + ("qtbase" ,qtbase) + ("v4l-utils" ,v4l-utils))) + (arguments + `(#:tests? #f ; No test suite. + #:phases + (modify-phases %standard-phases + (replace 'configure + (lambda* (#:key outputs #:allow-other-keys) + (invoke "qmake" + (string-append "PREFIX=" (assoc-ref outputs "out"))) + #t))))) + (home-page "http://users.telenet.be/on4qz/qsstv/") + (synopsis "Program for receiving and transmitting SSTV and HAMDRM") + (description + "QSSTV is a program for receiving and transmitting SSTV and HAMDRM +(sometimes called DSSTV). It is compatible with most of MMSSTV and EasyPal.") + (license (list license:gpl2+ + license:qwt1.0)))) diff --git a/gnu/packages/rust-apps.scm b/gnu/packages/rust-apps.scm index e7a0c4fab2..2f27f94222 100644 --- a/gnu/packages/rust-apps.scm +++ b/gnu/packages/rust-apps.scm @@ -248,7 +248,7 @@ also knows about symlinks, extended attributes, and Git.") ("rust-atty" ,rust-atty-0.2) ("rust-clap" ,rust-clap-2) ("rust-ctrlc" ,rust-ctrlc-3.1) - ("rust-dirs" ,rust-dirs-2.0) + ("rust-dirs" ,rust-dirs-2) ("rust-globset" ,rust-globset-0.4) ("rust-humantime" ,rust-humantime-2) ("rust-ignore" ,rust-ignore-0.4) @@ -654,7 +654,7 @@ blanks grouped by language.") (install-file "README.md" doc) #t)))) #:cargo-inputs - (("rust-embed-resource" ,rust-embed-resource-1.3) + (("rust-embed-resource" ,rust-embed-resource-1) ("rust-derive-builder" ,rust-derive-builder-0.9) ("rust-env-logger" ,rust-env-logger-0.7) ("rust-glob" ,rust-glob-0.3) diff --git a/gnu/packages/search.scm b/gnu/packages/search.scm index e261e64a7f..d458747872 100644 --- a/gnu/packages/search.scm +++ b/gnu/packages/search.scm @@ -5,6 +5,7 @@ ;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2018, 2020, 2021 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Adam Massmann <massmannak@gmail.com> +;;; Copyright © 2020 Hartmut Goebel <h.goebel@crazy-compilers.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -26,6 +27,7 @@ #:select (gpl2 gpl2+ gpl3+ lgpl2.1+ bsd-3 x11 perl-license)) #:use-module (guix packages) #:use-module (guix download) + #:use-module (guix git-download) #:use-module (guix utils) #:use-module (guix build-system gnu) #:use-module (guix build-system perl) @@ -35,7 +37,9 @@ #:use-module (gnu packages check) #:use-module (gnu packages databases) #:use-module (gnu packages freedesktop) + #:use-module (gnu packages less) #:use-module (gnu packages linux) + #:use-module (gnu packages pcre) #:use-module (gnu packages perl) #:use-module (gnu packages pdf) #:use-module (gnu packages python) @@ -413,4 +417,59 @@ online libraries. It provides fast search of document text and bibliographic data and simple document and bibtex retrieval.") (license gpl3+))) +(define-public ugrep + (package + (name "ugrep") + (version "3.1.4") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Genivia/ugrep") + (commit (string-append "v" version)))) + (sha256 + (base32 "1ydnpdhn1mp2pnbqzvwabrp573626k89kbv97fax6y1bz2pamrg4")) + (file-name (string-append name "-" version "-checkout")) + (modules '((guix build utils))) + (snippet + '(begin + (delete-file-recursively "bin") ;; pre-build executables + (for-each delete-file (find-files "tests" "^archive\\..*")) + (for-each delete-file (find-files "tests" "^.*\\.pdf$")) + (for-each delete-file (find-files "tests" "^.*\\.class$")) + #t)))) + (build-system gnu-build-system) + (inputs + `(("bzip2" ,bzip2) + ("less" ,less) + ("lz4" ,lz4) + ("lzip" ,lzip) ;; lzma + ("pcre2" ,pcre2) + ("zlib" ,zlib))) + (arguments + `(#:tests? #f ;; No script for re-building the binary test input-files + #:test-target "test" + #:phases + (modify-phases %standard-phases + (add-before 'check 'check-setup + (lambda _ + ;; unpatch shepengs in tests + (substitute* '("tests/Hello.bat" + "tests/Hello.sh") + (("#!/gnu/store/.*/bin/sh") "#!/bin/sh"))))))) + (home-page "https://github.com/Genivia/ugrep/") + (synopsis "Faster grep with an interactive query UI") + (description "Ugrep is a ultra fast searcher of file systems, text +and binary files, source code, archives, compressed files, documents, and +more. + +While still being compatible with the standard GNU/BSD grep command-line +options, ugrep supports fuzzy search as well as structured and (adjustable) +colored output, piped through \"less\" for pagination. An interactive query +UI allows refinement and has a built-in help (press F1). Ugrep implements +multi-threaded and other techniques to speed up search, pattern-matching and +decompression. Many pre-defined regexps ease searching e.g. C typdefs or XML +attributes. Results can be output in several structured or self-defined +formats.") + (license bsd-3))) + ;;; search.scm ends here diff --git a/gnu/packages/sequoia.scm b/gnu/packages/sequoia.scm index ce3396a7c4..bd8c6248d9 100644 --- a/gnu/packages/sequoia.scm +++ b/gnu/packages/sequoia.scm @@ -83,7 +83,7 @@ ("rust-colored" ,rust-colored-1.9.1) ("rust-crossterm" ,rust-crossterm-0.13) ("rust-ctor" ,rust-ctor-0.1) - ("rust-dirs" ,rust-dirs-2.0) + ("rust-dirs" ,rust-dirs-2) ("rust-dyn-clone" ,rust-dyn-clone-1) ("rust-ed25519-dalek" ,rust-ed25519-dalek-1) ("rust-eax" ,rust-eax-0.3) diff --git a/gnu/packages/sphinx.scm b/gnu/packages/sphinx.scm index 182d2e21e5..7da42d958c 100644 --- a/gnu/packages/sphinx.scm +++ b/gnu/packages/sphinx.scm @@ -42,6 +42,7 @@ #:use-module (gnu packages graphviz) #:use-module (gnu packages image) #:use-module (gnu packages imagemagick) + #:use-module (gnu packages python-build) #:use-module (gnu packages python-web) #:use-module (gnu packages python-xyz) #:use-module (gnu packages time)) diff --git a/gnu/packages/ssh.scm b/gnu/packages/ssh.scm index 0afd8ed2b2..04c8c6ceaa 100644 --- a/gnu/packages/ssh.scm +++ b/gnu/packages/ssh.scm @@ -4,7 +4,7 @@ ;;; Copyright © 2014, 2015, 2016 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2015, 2016, 2018, 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016, 2019 Leo Famulari <leo@famulari.name> -;;; Copyright © 2016 Nicolas Goaziou <mail@nicolasgoaziou.fr> +;;; Copyright © 2016, 2021 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; Copyright © 2016 Christopher Allan Webber <cwebber@dustycloud.org> ;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017 Stefan Reichör <stefan@xsteve.at> @@ -671,18 +671,17 @@ manipulating key files.") (define-public sshpass (package (name "sshpass") - (version "1.06") - (synopsis "Non-interactive password authentication with SSH") - (home-page "https://sourceforge.net/projects/sshpass/") + (version "1.09") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/sshpass/sshpass/" version "/sshpass-" version ".tar.gz")) (sha256 - (base32 - "0q7fblaczb7kwbsz0gdy9267z0sllzgmf0c7z5c9mf88wv74ycn6")))) + (base32 "1dwzqknpswa8vjlbwsx9rcq1j2a7px9h9i2anh09pzkz0mg6wx3i")))) (build-system gnu-build-system) + (home-page "https://sourceforge.net/projects/sshpass/") + (synopsis "Non-interactive password authentication with SSH") (description "sshpass is a tool for non-interactively performing password authentication with SSH's so-called @dfn{interactive keyboard password authentication}.") diff --git a/gnu/packages/syncthing.scm b/gnu/packages/syncthing.scm index 7e479a0d39..eb6cb7b4e3 100644 --- a/gnu/packages/syncthing.scm +++ b/gnu/packages/syncthing.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2020 Giacomo Leidi <goodoldpaul@autistici.org> +;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -189,58 +190,66 @@ Protocol.") (license mpl2.0))) (define-public syncthing-gtk - (package - (name "syncthing-gtk") - (version "0.9.4.4") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/syncthing/syncthing-gtk") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0nc0wd7qvyri7841c3dd9in5d7367hys0isyw8znv5fj4c0a6v1f")))) - (build-system python-build-system) - (arguments - `(#:python ,python-2 - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'hardcode-dependencies - (lambda* (#:key inputs #:allow-other-keys) - (let ((psmisc (assoc-ref inputs "psmisc")) - (syncthing (assoc-ref inputs "syncthing"))) - ;; Hardcode dependencies paths to avoid propagation. - (substitute* "syncthing_gtk/tools.py" - (("killall") (string-append psmisc "/bin/killall"))) - (substitute* "syncthing_gtk/configuration.py" - (("/usr/bin/syncthing") (string-append syncthing - "/bin/syncthing")))) - #t)) - (add-after 'wrap 'wrap-libs - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - (wrap-program (string-append out "/bin/syncthing-gtk") - `("GI_TYPELIB_PATH" ":" prefix - (,(getenv "GI_TYPELIB_PATH")))) - #t)))))) - (inputs - `(("gtk+" ,gtk+) - ("libappindicator" ,libappindicator) - ("libnotify" ,libnotify) - ("librsvg" ,librsvg) - ("python2-bcrypt" ,python2-bcrypt) - ("python2-dateutil" ,python2-dateutil) - ("python2-pycairo" ,python2-pycairo) - ("python2-pygobject" ,python2-pygobject) - ("python-nautilus" ,python-nautilus) - ("psmisc" ,psmisc) - ("syncthing" ,syncthing))) - (native-inputs - `(("python2-setuptools" ,python2-setuptools))) - (home-page "https://github.com/syncthing/syncthing-gtk") - (synopsis "GTK3 based GUI and notification area icon for Syncthing") - (description "@code{syncthing-gtk} is a GTK3 Python based GUI and + ;; The commit used below corresponds to the latest commit of the + ;; python3-port branch maintained by Debian. Upstream hasn't bothered + ;; porting to Python 3 (see: + ;; https://github.com/kozec/syncthing-gtk/issues/487). + (let ((revision "1") + (commit "c46fbd8ad1d12d409da8942702a2f119cf45514a")) + (package + (name "syncthing-gtk") + (version (git-version "0.9.4.4" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://salsa.debian.org/debian/syncthing-gtk.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1x1c8snf0jpgjmyyidjw0015ksk5ishqn817wx8vs9i0lfgnnbbg")))) + (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'hardcode-dependencies + (lambda* (#:key inputs #:allow-other-keys) + (let ((psmisc (assoc-ref inputs "psmisc")) + (syncthing (assoc-ref inputs "syncthing"))) + ;; Hardcode dependencies paths to avoid propagation. + (substitute* "syncthing_gtk/tools.py" + (("killall") (string-append psmisc "/bin/killall"))) + (substitute* "syncthing_gtk/configuration.py" + (("/usr/bin/syncthing") (string-append syncthing + "/bin/syncthing")))))) + (add-after 'unpack 'remove-windows.py + (lambda _ + ;; A Windows-specific module that fails to load with + ;; "ModuleNotFoundError: No module named 'msvcrt'. + (delete-file "syncthing_gtk/windows.py"))) + (add-after 'wrap 'wrap-libs + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (wrap-program (string-append out "/bin/syncthing-gtk") + `("GI_TYPELIB_PATH" ":" prefix + (,(getenv "GI_TYPELIB_PATH")))))))))) + (inputs + `(("gtk+" ,gtk+) + ("libappindicator" ,libappindicator) + ("libnotify" ,libnotify) + ("librsvg" ,librsvg) + ("python-bcrypt" ,python-bcrypt) + ("python-dateutil" ,python-dateutil) + ("python-pycairo" ,python-pycairo) + ("python-pygobject" ,python-pygobject) + ("python-nautilus" ,python-nautilus) + ("psmisc" ,psmisc) + ("syncthing" ,syncthing))) + ;; (native-inputs + ;; `(("python2-setuptools" ,python2-setuptools))) + (home-page "https://github.com/syncthing/syncthing-gtk") + (synopsis "GTK3 based GUI and notification area icon for Syncthing") + (description "@code{syncthing-gtk} is a GTK3 Python based GUI and notification area icon for Syncthing. Supported Syncthing features: @itemize @@ -250,7 +259,7 @@ notification area icon for Syncthing. Supported Syncthing features: @item Restart, shutdown server @item Editing daemon settings @end itemize\n") - (license gpl2))) + (license gpl2)))) (define-public go-github-com-jackpal-go-nat-pmp (package diff --git a/gnu/packages/syndication.scm b/gnu/packages/syndication.scm index 54fa221fa6..0e33f99910 100644 --- a/gnu/packages/syndication.scm +++ b/gnu/packages/syndication.scm @@ -196,7 +196,10 @@ file system, and many more features.") (base32 "1g9463bvswsm899j6dfhslcg6np70m5wq143mjicr24zy8d17bm7")))) (build-system glib-or-gtk-build-system) (arguments - `(#:phases + `(#:configure-flags + (list + "--disable-static") + #:phases (modify-phases %standard-phases (add-before 'configure 'prepare-build-environment (lambda* (#:key inputs #:allow-other-keys) @@ -222,7 +225,8 @@ file system, and many more features.") ("pkg-config" ,pkg-config) ("which" ,which))) (inputs - `(("glib-networking" ,glib-networking) + `(("glib" ,glib) + ("glib-networking" ,glib-networking) ("gnome-keyring" ,gnome-keyring) ("gsettings-desktop-schemas" ,gsettings-desktop-schemas) ("gstreamer" ,gstreamer) @@ -230,11 +234,14 @@ file system, and many more features.") ("libnotify" ,libnotify) ("libpeas" ,libpeas) ("libsecret" ,libsecret) + ("libsoup" ,libsoup) ("libxml2" ,libxml2) ("libxslt" ,libxslt) + ("pango" ,pango) ("python" ,python) ("python-pycairo" ,python-pycairo) ("python-pygobject" ,python-pygobject) + ("sqlite" ,sqlite) ("webkitgtk" ,webkitgtk))) (home-page "https://lzone.de/liferea/") (synopsis "News reader for GTK/GNOME") diff --git a/gnu/packages/telegram.scm b/gnu/packages/telegram.scm new file mode 100644 index 0000000000..66b94baf28 --- /dev/null +++ b/gnu/packages/telegram.scm @@ -0,0 +1,557 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2021 Raghav Gururajan <rg@raghavgururajan.name> +;;; +;;; 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 telegram) + #:use-module (gnu packages) + #:use-module (gnu packages aidc) + #:use-module (gnu packages animation) + #:use-module (gnu packages assembly) + #:use-module (gnu packages audio) + #:use-module (gnu packages autotools) + #:use-module (gnu packages base) + #:use-module (gnu packages check) + #:use-module (gnu packages cmake) + #:use-module (gnu packages compression) + #:use-module (gnu packages cpp) + #:use-module (gnu packages digest) + #:use-module (gnu packages fcitx) + #:use-module (gnu packages fcitx5) + #:use-module (gnu packages gcc) + #:use-module (gnu packages glib) + #:use-module (gnu packages gnome) + #:use-module (gnu packages gtk) + #:use-module (gnu packages image) + #:use-module (gnu packages kde-frameworks) + #:use-module (gnu packages language) + #:use-module (gnu packages libreoffice) + #:use-module (gnu packages linux) + #:use-module (gnu packages lxqt) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages protobuf) + #:use-module (gnu packages pulseaudio) + #:use-module (gnu packages python) + #:use-module (gnu packages qt) + #:use-module (gnu packages telephony) + #:use-module (gnu packages tls) + #:use-module (gnu packages video) + #:use-module (gnu packages xiph) + #:use-module (gnu packages xorg) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix packages) + #:use-module (guix git-download) + #:use-module (guix build-system cmake) + #:use-module (guix build-system glib-or-gtk) + #:use-module (guix build-system gnu) + #:use-module (guix build-system meson) + #:use-module (guix build-system qt)) + +(define-public webrtc-for-telegram-desktop + (let ((commit "fa86fcc00c218813d61a272a56feab55c76a1ab9") + (revision "52")) + (hidden-package + (package + (name "webrtc-for-telegram-desktop") + (version + (git-version "0" revision commit)) + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/desktop-app/tg_owt.git") + (commit commit))) + (file-name + (git-file-name name version)) + (sha256 + (base32 "06gcrlym6vqqw7zlds9lpwyg37d5m81d87h16aps19v0v9gzan0l")) + (modules '((guix build utils) + (ice-9 ftw) + (srfi srfi-1))) + (snippet + `(begin + (let ((keep + '( ;; Custom forks which are incompatible with the ones in Guix. + "abseil-cpp" "libsrtp" "openh264" "rnnoise" + ;; Not available in Guix. + "pffft" "usrsctp" + ;; Has cmake support files for libvpx input. + "libvpx"))) + (with-directory-excursion "src/third_party" + (for-each delete-file-recursively + (lset-difference string=? + (scandir ".") + (cons* "." ".." keep)))) + #t))))) + (build-system cmake-build-system) + (arguments + `(#:tests? #f ; No target + #:configure-flags + (list + "-DCMAKE_C_FLAGS=-fPIC" + "-DCMAKE_CXX_FLAGS=-fPIC") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'copy-inputs + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((libvpx-from (assoc-ref inputs "libvpx")) + (libyuv-from (assoc-ref inputs "libyuv")) + (libvpx-to (string-append (getcwd) + "/src/third_party/libvpx/source/libvpx")) + (libyuv-to (string-append (getcwd) + "/src/third_party/libyuv"))) + (copy-recursively libvpx-from libvpx-to) + (copy-recursively libyuv-from libyuv-to)) + #t))))) + (native-inputs + `(("pkg-config" ,pkg-config) + ("python" ,python-wrapper) + ("yasm" ,yasm))) + (inputs + `(("alsa" ,alsa-lib) + ("ffmpeg" ,ffmpeg) + ("libjpeg" ,libjpeg-turbo) + ("libvpx" + ,(origin + (method git-fetch) + (uri + (git-reference + (url "https://chromium.googlesource.com/webm/libvpx") + (commit "5b63f0f821e94f8072eb483014cfc33b05978bb9"))) + (file-name + (git-file-name "libvpx-for-webrtc-for-telegram-desktop" version)) + (sha256 + (base32 "1psvxaddihlw1k5n0anxif3qli6zyw2sa2ywn6mkb8six9myrp68")))) + ("libyuv" + ,(origin + (method git-fetch) + (uri + (git-reference + (url "https://chromium.googlesource.com/libyuv/libyuv") + (commit "ad890067f661dc747a975bc55ba3767fe30d4452"))) + (file-name + (git-file-name "libyuv-for-webrtc-for-telegram-desktop" version)) + (sha256 + (base32 "01knnk4h247rq536097n9n3s3brxlbby3nv3ppdgsqfda3k159ll")))) + ("openssl" ,openssl) + ("opus" ,opus) + ("protobuf" ,protobuf) + ("pulseaudio" ,pulseaudio))) + (synopsis "WebRTC support for Telegram Desktop") + (description "WebRTC-for-Telegram-Desktop is a custom WebRTC fork by +Telegram project, for its use in telegram desktop client.") + (home-page "https://github.com/desktop-app/tg_owt") + (license + (list + ;; Abseil-CPP + license:asl2.0 + ;; LibYuv + (license:non-copyleft "file:///src/third_party/libyuv/LICENSE") + ;; OpenH264 + license:bsd-2 + ;; PFFFT + (license:non-copyleft "file:///src/third_party/pffft/LICENSE") + ;; RnNoise + license:gpl3 + ;; LibSRTP, LibVPx, UsrSCTP and Others + license:bsd-3)))))) + +(define-public rlottie-for-telegram-desktop + (let ((commit "cbd43984ebdf783e94c8303c41385bf82aa36d5b") + (revision "671")) + (hidden-package + (package + (inherit rlottie) + (version + (git-version "0.0.1" revision commit)) + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/desktop-app/rlottie.git") + (commit commit))) + (file-name + (git-file-name "rlottie-for-telegram-desktop" version)) + (sha256 + (base32 "1lxpbgbhps9rmck036mgmiknqrzpjxpas8n7qxykv6pwzn0c8n0c")))) + (arguments + `(#:configure-flags + (list + "-Dlog=true" + "-Ddumptree=true" + "-Dtest=true") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-cxx-flags + (lambda _ + (substitute* "meson.build" + (("werror=true") + "werror=false")) + #t))))))))) + +(define-public libtgvoip-for-telegram-desktop + (let ((commit "37d98e984fd6fa389262307db826d52ab86c8241") + (revision "87")) + (hidden-package + (package + (inherit libtgvoip) + (version + (git-version "2.4.4" revision commit)) + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/telegramdesktop/libtgvoip.git") + (commit commit))) + (file-name + (git-file-name "libtgvoip-for-telegram-desktop" version)) + (sha256 + (base32 "13dzvyq8p20nlhjihv18aj6y97czk07qdl0k6v81vp6mbwcldg7h")))) + (arguments + `(#:configure-flags + (list + "--disable-static" + "--disable-dsp" ; FIXME + "--enable-audio-callback" + "--with-alsa" + "--with-pulse") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-linkers + (lambda _ + (substitute* "Makefile.am" + (("\\$\\(CRYPTO_LIBS\\) \\$\\(OPUS_LIBS\\)") + "$(CRYPTO_LIBS) $(OPUS_LIBS) $(ALSA_LIBS) $(PULSE_LIBS)")) + (substitute* "tgvoip.pc.in" + (("libcrypto opus") + "libcrypto opus alsa libpulse")) + #t))))) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("libtool" ,libtool) + ("pkg-config" ,pkg-config))))))) + +(define-public telegram-desktop + (package + (name "telegram-desktop") + (version "2.5.1") + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/telegramdesktop/tdesktop.git") + (commit + (string-append "v" version)))) + (file-name + (git-file-name name version)) + (sha256 + (base32 "0drirhkr9gnm1g03lcqmvap5ljlk859c29gbsm63hhsgv15dlw0y")) + (modules '((guix build utils) + (ice-9 ftw) + (srfi srfi-1))) + (snippet + `(begin + (let ((keep + '( ;; Not available in Guix. + "SPMediaKeyTap" "statusnotifieritem" "tgcalls"))) + (with-directory-excursion "Telegram/ThirdParty" + (for-each delete-file-recursively + (lset-difference string=? + (scandir ".") + (cons* "." ".." keep)))) + #t))))) + (build-system qt-build-system) + (arguments + `(#:tests? #f ; No target + #:imported-modules + (,@%qt-build-system-modules + (guix build glib-or-gtk-build-system)) + #:modules + ((guix build qt-build-system) + ((guix build glib-or-gtk-build-system) + #:prefix glib-or-gtk:) + (guix build utils) + (ice-9 match)) + #:configure-flags + (list + ;; Client applications must provide their own API-ID and API-HASH, + ;; see also <https://core.telegram.org/api/obtaining_api_id>. + ;; In case, that the credentials below fail to work, contact + ;; Raghav Gururajan <rg@raghavgururajan.name> + "-DTDESKTOP_API_ID=2791056" + "-DTDESKTOP_API_HASH=582d6d0b44f7a2de949e99271fd8b3f2" + ;; Use bundled fonts as fallback. + "-DDESKTOP_APP_USE_PACKAGED_FONTS=OFF") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'make-writable + (lambda _ + (for-each make-file-writable (find-files ".")) + #t)) + (add-after 'make-writable 'copy-inputs + (lambda* (#:key inputs outputs #:allow-other-keys) + (for-each + (match-lambda + ((dst src) + (copy-recursively src dst) + (for-each make-file-writable (find-files dst)))) + `(("cmake" ,(assoc-ref inputs "cmake-helpers")) + ("Telegram/codegen" ,(assoc-ref inputs "codegen-source")) + ("Telegram/lib_base" ,(assoc-ref inputs "lib-base-source")) + ("Telegram/lib_crl" ,(assoc-ref inputs "lib-crl-source")) + ("Telegram/lib_lottie" + ,(assoc-ref inputs "lib-lottie-source")) + ("Telegram/lib_qr" ,(assoc-ref inputs "lib-qr-source")) + ("Telegram/lib_rlottie" + ,(assoc-ref inputs "lib-rlottie-source")) + ("Telegram/lib_rpl" ,(assoc-ref inputs "lib-rpl-source")) + ("Telegram/lib_spellcheck" + ,(assoc-ref inputs "lib-spellcheck-source")) + ("Telegram/lib_storage" + ,(assoc-ref inputs "lib-storage-source")) + ("Telegram/lib_tl" ,(assoc-ref inputs "lib-tl-source")) + ("Telegram/lib_ui" ,(assoc-ref inputs "lib-ui-source")) + ("Telegram/lib_webrtc" ,(assoc-ref inputs "lib-webrtc-source")) + ("Telegram/ThirdParty/tgcalls" + ,(assoc-ref inputs "tgcalls-source")))) + #t)) + (add-before 'configure 'patch-cxx-flags + (lambda _ + (substitute* "cmake/options_linux.cmake" + (("class-memaccess") "all")) + #t)) + (add-after 'install 'glib-or-gtk-compile-schemas + (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-compile-schemas)) + (add-after 'glib-or-gtk-compile-schemas 'glib-or-gtk-wrap + (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap))))) + (native-inputs + `(("cmake-helpers" + ,(origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/desktop-app/cmake_helpers.git") + (commit "a81345a28d407fb5acd5267ec6afa1864f4e8d5b"))) + (file-name + (git-file-name "cmake-helpers-for-telegram-desktop" version)) + (sha256 + (base32 "0s5hxip68dmkaspjq6j30wx1r5v4prnrjza79hdbznz6i57a2248")))) + ("cmake-shared" ,cmake-shared) + ("extra-cmake-modules" ,extra-cmake-modules) + ("gcc" ,gcc-9) + ("glib:bin" ,glib "bin") + ("gobject-introspection" ,gobject-introspection) + ("gtk+:bin" ,gtk+ "bin") + ("pkg-config" ,pkg-config) + ("python" ,python-wrapper) + ("qttools" ,qttools))) + (inputs + `(("alsa" ,alsa-lib) + ("c++-gsl" ,c++-gsl) + ("catch" ,catch-framework2) + ("codegen-source" + ,(origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/desktop-app/codegen.git") + (commit "127968de8129e8ccfa6ac50721c70415a5a087c3"))) + (file-name + (git-file-name "codegen" version)) + (sha256 + (base32 "036hzjrsk134ky62192nra43rsln5kh5gz20q1920s922661zky2")))) + ("expected" ,libexpected) + ("fcitx-qt5" ,fcitx-qt5) + ("fcitx5-qt" ,fcitx5-qt) + ("ffmpeg" ,ffmpeg) + ("glib" ,glib) + ("gtk+" ,gtk+) + ("hime" ,hime) + ("hunspell" ,hunspell) + ("iconv" ,libiconv) + ("lib-base-source" + ,(origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/desktop-app/lib_base.git") + (commit "81df0d0b7842be2b6c88f93dfa136b8efea4c9ad"))) + (file-name + (git-file-name "lib-base-for-telegram-desktop" version)) + (sha256 + (base32 "0ikddprjnjvg0ic8jr2886xq0f18syp587q6z2kci9xmdnvjl217")))) + ("lib-crl-source" + ,(origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/desktop-app/lib_crl.git") + (commit "16150bf71d79382738114b913f137ec1a1a7630c"))) + (file-name + (git-file-name "lib-crl-for-telegram-desktop" version)) + (sha256 + (base32 "0qhagdr26aqb9w7wnchcmk1j7ln28x3wbkkkm06b8h0mybksbj7q")))) + ("lib-lottie-source" + ,(origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/desktop-app/lib_lottie.git") + (commit "fb40f379d82ffa1fc7506e9a8dddcf48847715ae"))) + (file-name + (git-file-name "lib-lottie-for-telegram-desktop" version)) + (sha256 + (base32 "1vq0mqxcrrv7akcqk9cl4mm61zw6dcfmy8adl0pcp49kynm64saw")))) + ("lib-qr-source" + ,(origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/desktop-app/lib_qr.git") + (commit "92ce41a690a463eb462089a4eb1e51e019308018"))) + (file-name + (git-file-name "lib-qr-for-telegram-desktop" version)) + (sha256 + (base32 "182939nv7xs9b3bgah3gl5y9hx5r59mabd2jw3z6717vc96qi2pj")))) + ("lib-rlottie-source" + ,(origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/desktop-app/lib_rlottie.git") + (commit "0671bf70547381effcf442ec9618e04502a8adbc"))) + (file-name + (git-file-name "lib-rlottie-for-telegram-desktop" version)) + (sha256 + (base32 "05qnza7j15356s8jq16pkbyp4zr586lssmd86lz5jq23lcb3raxv")))) + ("lib-rpl-source" + ,(origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/desktop-app/lib_rpl.git") + (commit "e1b96399d9031c4ef0354631e6bb375029d29d9f"))) + (file-name + (git-file-name "lib-rpl-for-telegram-desktop" version)) + (sha256 + (base32 "1wvqazljd2kq1fxlj250jhjrig529499bym9p81dx33kh1l9dgss")))) + ("lib-spellcheck-source" + ,(origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/desktop-app/lib_spellcheck.git") + (commit "1b540b38ed78e9a3cba93e9ba4ce4525ab692277"))) + (file-name + (git-file-name "lib-spellcheck-for-telegram-desktop" version)) + (sha256 + (base32 "0a7042h5zrdvgs7v153ral2dh1zj84di5yjcmgcry5k4s1im9di7")))) + ("lib-storage-source" + ,(origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/desktop-app/lib_storage.git") + (commit "cbe51722b73cfa9ff27bd59294b08aa5ee33c936"))) + (file-name + (git-file-name "lib-storage-for-telegram-desktop" version)) + (sha256 + (base32 "045l5xsyagyz17gbhmmvl2miss4nb92p0dmza7yfs9pkg9gs0f87")))) + ("lib-tl-source" + ,(origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/desktop-app/lib_tl.git") + (commit "404c83d77e5edb8a39f8e9f56a6340960fe5070e"))) + (file-name + (git-file-name "lib-tl-for-telegram-desktop" version)) + (sha256 + (base32 "1k34nkvvcjqw5q81n1qmklid60cvzjk4lmn9qjimk437m6wbii7f")))) + ("lib-ui-source" + ,(origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/desktop-app/lib_ui.git") + (commit "1e2799245cf2720a329ecb5cf5644fded669cce6"))) + (file-name + (git-file-name "lib-ui-for-telegram-desktop" version)) + (sha256 + (base32 "0kd4njcvic2700f00qn25vn3b80vsd2flsm3pi2synnldkiy8lcw")))) + ("lib-webrtc-source" + ,(origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/desktop-app/lib_webrtc.git") + (commit "4bc51d6f6d5740159fdb51cb1593e80ce149ed4e"))) + (file-name + (git-file-name "lib-webrtc-for-telegram-desktop" version)) + (sha256 + (base32 "06hpyq4qglrj3cb1xg8ghlmzm9ra8f5n6vm7hcy67n2wk8sy4cal")))) + ("libdbusmenu-qt" ,libdbusmenu-qt) + ("libjpeg" ,libjpeg-turbo) + ("libtgvoip" ,libtgvoip-for-telegram-desktop) + ("lz4" ,lz4) + ("materialdecoration" ,materialdecoration) + ("minizip" ,minizip) + ("nimf" ,nimf) + ("openal" ,openal) + ("openssl" ,openssl) + ("opus" ,opus) + ("pulseaudio" ,pulseaudio) + ("qrcodegen" ,qrcodegen-cpp) + ("qt" ,qtbase) + ("qt5ct" ,qt5ct) + ("qtimageformats" ,qtimageformats) + ("qtwayland" ,qtwayland) + ("range-v3" ,range-v3) + ("rlottie" ,rlottie-for-telegram-desktop) + ("tgcalls-source" + ,(origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/TelegramMessenger/tgcalls.git") + (commit "178983f72312ca8bd422bc73810fd63f1a89bd9d"))) + (file-name + (git-file-name "tgcalls-for-telegram-desktop" version)) + (sha256 + (base32 "1xad65c9m6mj6zdj08flafvh8xjkd7xi9r1agcyc64y69lr427d0")))) + ("webrtc" ,webrtc-for-telegram-desktop) + ("x11" ,libx11) + ("xcb" ,libxcb) + ("xcb-keysyms" ,xcb-util-keysyms) + ("xxhash" ,xxhash) + ("zlib" ,zlib))) + (propagated-inputs + `(("dconf" ,dconf))) + (synopsis "Telegram Desktop") + (description "Telegram desktop is the official desktop version of the +Telegram instant messager.") + (home-page "https://desktop.telegram.org/") + (license + (list + ;; ThirdParty + license:lgpl2.1+ + ;; Others + license:gpl3+)))) diff --git a/gnu/packages/terminals.scm b/gnu/packages/terminals.scm index e6a7d6b16d..f1364c9024 100644 --- a/gnu/packages/terminals.scm +++ b/gnu/packages/terminals.scm @@ -20,7 +20,7 @@ ;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net> ;;; Copyright © 2020 Valentin Ignatev <valentignatev@gmail.com> ;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de> -;;; Copyright © 2020 Marius Bakke <marius@gnu.org> +;;; Copyright © 2020, 2021 Marius Bakke <marius@gnu.org> ;;; Copyright © 2020, 2021 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; Copyright © 2020 Leo Famulari <leo@famulari.name> ;;; @@ -64,7 +64,6 @@ #:use-module (gnu packages docbook) #:use-module (gnu packages fontutils) #:use-module (gnu packages freedesktop) - #:use-module (gnu packages gcc) #:use-module (gnu packages gettext) #:use-module (gnu packages ghostscript) #:use-module (gnu packages gl) @@ -402,7 +401,7 @@ combining, and so on, with a simple interface.") "1vvjydqf0ax47nvdyyl67jafw5b3sfsav00xid6qpgia1gs2r72n")))) (build-system gnu-build-system) (arguments - `(#:make-flags '("CC=gcc") + `(#:make-flags (list (string-append "CC=" ,(cc-for-target))) #:tests? #f ; no tests #:phases (modify-phases %standard-phases @@ -702,7 +701,7 @@ eye-candy, customizable, and reasonably lightweight.") (define-public foot (package (name "foot") - (version "1.5.4") + (version "1.6.2") (home-page "https://codeberg.org/dnkl/foot") (source (origin (method git-fetch) @@ -710,7 +709,7 @@ eye-candy, customizable, and reasonably lightweight.") (file-name (git-file-name name version)) (sha256 (base32 - "0y6xfsldz5lwy6kp5dy9s27pnii7n5zj754wglvz9d9fp5lkl6id")))) + "08i3jmjky5s2nnc0c95c009cym91rs4sj4876sr4xnlkb7ab4812")))) (build-system meson-build-system) (arguments `(#:meson ,meson-0.55 @@ -720,10 +719,7 @@ eye-candy, customizable, and reasonably lightweight.") ;; Enable LTO as recommended by INSTALL.md. #:configure-flags '("-Db_lto=true"))) (native-inputs - `(;; Foot makes use of modern C features and needs a newer compiler. - ;; Remove when the default compiler is > GCC 7. - ("gcc" ,gcc-10) - ("ncurses" ,ncurses) ;for 'tic' + `(("ncurses" ,ncurses) ;for 'tic' ("pkg-config" ,pkg-config) ("scdoc" ,scdoc) ("wayland-protocols" ,wayland-protocols))) @@ -1210,142 +1206,71 @@ made by suckless.") (define-public alacritty (package (name "alacritty") - (version "0.4.1") + (version "0.7.1") (source (origin + ;; XXX: The crate at "crates.io" has limited contents. In particular, + ;; it does not contain "extra" directory with completions, icon, etc. (method git-fetch) (uri (git-reference (url "https://github.com/jwilm/alacritty") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "05jcg33ifngpzw2hdhgb614j87ihhhlqgar0kky183rywg0dxikg")) - (modules '((guix build utils))) - (snippet - ;; Don't use a custom location for winit-0.20-alpha6. - '(begin (substitute* "Cargo.toml" - (("winit .*") "")) - #t)))) + (base32 "1b9hy3ya72hhpl8nkayc7dy4f97xp75np48dm5na5pgyv8b45agi")))) (build-system cargo-build-system) (arguments - `(#:cargo-inputs - (("rust-clap" ,rust-clap-2) + `(#:cargo-test-flags '("--release" "--" "--skip=config_read_eof") + #:cargo-inputs + (("rust-alacritty-config-derive" ,rust-alacritty-config-derive-0.1) + ("rust-alacritty-terminal" ,rust-alacritty-terminal-0.12) + ("rust-bitflags" ,rust-bitflags-1) + ("rust-clap" ,rust-clap-2) + ("rust-cocoa" ,rust-cocoa-0.24) + ("rust-copypasta" ,rust-copypasta-0.7) + ("rust-crossfont" ,rust-crossfont-0.2) + ("rust-dirs" ,rust-dirs-2) + ("rust-embed-resource" ,rust-embed-resource-1) + ("rust-fnv" ,rust-fnv-1) + ("rust-gl-generator" ,rust-gl-generator-0.14) + ;; XXX: Adjust `add-absolute-library-references' phase when updating + ;; glutin input. + ("rust-glutin" ,rust-glutin-0.26) + ("rust-libc" ,rust-libc-0.2) ("rust-log" ,rust-log-0.4) - ("rust-time" ,rust-time-0.1) - ("rust-env-logger" ,rust-env-logger-0.7) + ("rust-notify" ,rust-notify-4) + ("rust-objc" ,rust-objc-0.2) + ("rust-parking-lot" ,rust-parking-lot-0.11) + ("rust-png" ,rust-png-0.16) + ("rust-raw-window-handle" ,rust-raw-window-handle-0.3) ("rust-serde" ,rust-serde-1) - ("rust-serde-yaml" ,rust-serde-yaml-0.8) ("rust-serde-json" ,rust-serde-json-1) - ("rust-glutin" ,rust-glutin-0.22) ; adjust 'patch-glutin-libgl-path as needed - ("rust-notify" ,rust-notify-4) - ("rust-libc" ,rust-libc-0.2) + ("rust-serde-yaml" ,rust-serde-yaml-0.8) + ("rust-time" ,rust-time-0.1) ("rust-unicode-width" ,rust-unicode-width-0.1) - ("rust-parking-lot" ,rust-parking-lot-0.9) ("rust-urlocator" ,rust-urlocator-0.1) - ("rust-xdg" ,rust-xdg-2) - ("rust-image" ,rust-image-0.22) - ("rust-dirs" ,rust-dirs-2.0) - ("rust-x11-dl" ,rust-x11-dl-2) + ("rust-wayland-client" ,rust-wayland-client-0.28) ("rust-winapi" ,rust-winapi-0.3) - ("rust-base64" ,rust-base64-0.11) - ("rust-bigflags" ,rust-bitflags-1) - ("rust-fnv" ,rust-fnv-1) - ("rust-mio" ,rust-mio-0.6) - ("rust-mio-extras" ,rust-mio-extras-2) - ("rust-terminfo" ,rust-terminfo-0.6) - ("rust-url" ,rust-url-2) - ("rust-vte" ,rust-vte-0.3) - ("rust-nix" ,rust-nix-0.15) - ("rust-miow" ,rust-miow-0.3) - ("rust-mio-anonymous-pipes" ,rust-mio-anonymous-pipes-0.1) - ("rust-mio-named-pipes" ,rust-mio-named-pipes-0.1) - ("rust-signal-hook" ,rust-signal-hook-0.1) - ("rust-clipboard-win" ,rust-clipboard-win-2.1) - ("rust-objc" ,rust-objc-0.2) - ("rust-objc-id" ,rust-objc-id-0.1) - ("rust-objc-foundation" ,rust-objc-foundation-0.1) - ("rust-x11-clipboard" ,rust-x11-clipboard-0.4) - ("rust-smithay-clipboard" ,rust-smithay-clipboard-0.3) - ("rust-wayland-client" ,rust-wayland-client-0.23) - ("rust-euclid" ,rust-euclid-0.20) - ("rust-foreign-types" ,rust-foreign-types-0.5) - ("rust-servo-fontconfig" ,rust-servo-fontconfig-0.4) - ("rust-freetype-rs" ,rust-freetype-rs-0.23) - ("rust-core-foundation" ,rust-core-foundation-0.6) - ("rust-core-foundation-sys" ,rust-core-foundation-sys-0.6) - ("rust-core-text" ,rust-core-text-13) - ("rust-core-graphics" ,rust-core-graphics-0.17) - ("rust-dwrote" ,rust-dwrote-0.9) - ("rust-winpty-sys" ,rust-winpty-sys-0.4)) - #:cargo-development-inputs - (("rust-rustc-tools-util" ,rust-rustc-tools-util-0.2) - ("rust-gl-generator" ,rust-gl-generator-0.14) - ("rust-andrew" ,rust-andrew-0.2) - ("rust-smithay-client-toolkit" ,rust-smithay-client-toolkit-0.6) - ("rust-embed-resource" ,rust-embed-resource-1.3) - ("rust-http-req" ,rust-http-req-0.5) - ("rust-zip" ,rust-zip-0.5) - ("rust-tempfile" ,rust-tempfile-3) - ("rust-named-pipe" ,rust-named-pipe-0.4) - ("rust-winapi" ,rust-winapi-0.3)) + ("rust-x11-dl" ,rust-x11-dl-2) + ("rust-xdg" ,rust-xdg-2)) #:phases (modify-phases %standard-phases (add-after 'configure 'add-absolute-library-references (lambda* (#:key inputs cargo-inputs vendor-dir #:allow-other-keys) - (let* ((glutin-name ,(package-name rust-glutin-0.22)) - (glutin-version ,(package-version rust-glutin-0.22)) + (let* ((glutin-name ,(package-name rust-glutin-0.26)) + (glutin-version ,(package-version rust-glutin-0.26)) (glutin-api (string-append glutin-name "-" glutin-version ".tar.gz/src/api/")) - (smithay-client-toolkit-name - ,(package-name rust-smithay-client-toolkit-0.6)) - (smithay-client-toolkit-version - ,(package-version rust-smithay-client-toolkit-0.6)) - (smithay-client-toolkit-src - (string-append smithay-client-toolkit-name "-" - smithay-client-toolkit-version ".tar.gz/src")) - (wayland-sys-name ,(package-name rust-wayland-sys-0.23)) - (wayland-sys-version ,(package-version rust-wayland-sys-0.23)) - (wayland-sys-src (string-append wayland-sys-name "-" - wayland-sys-version - ".tar.gz/src")) - (libxkbcommon (assoc-ref inputs "libxkbcommon")) - (libwayland (assoc-ref inputs "wayland")) (mesa (assoc-ref inputs "mesa"))) - (substitute* (string-append vendor-dir "/" glutin-api "glx/mod.rs") - (("libGL.so") (string-append mesa "/lib/libGL.so"))) - (substitute* (string-append vendor-dir "/" glutin-api "egl/mod.rs") - (("libEGL.so") (string-append mesa "/lib/libEGL.so"))) - (substitute* (string-append vendor-dir "/" - smithay-client-toolkit-src - "/keyboard/ffi.rs") - (("libxkbcommon\\.so") - (string-append libxkbcommon "/lib/libxkbcommon.so"))) - (substitute* (string-append vendor-dir "/" wayland-sys-src - "/server.rs") - (("libwayland-server\\.so") - (string-append libwayland "/lib/libwayland-server.so"))) - (substitute* (string-append vendor-dir "/" wayland-sys-src - "/cursor.rs") - (("libwayland-cursor\\.so") - (string-append libwayland "/lib/libwayland-cursor.so"))) - (substitute* (string-append vendor-dir "/" wayland-sys-src - "/egl.rs") - (("libwayland-egl\\.so") - (string-append libwayland "/lib/libwayland-egl.so"))) - (substitute* (string-append vendor-dir "/" wayland-sys-src - "/client.rs") - (("libwayland-client\\.so") - (string-append libwayland "/lib/libwayland-client.so"))) - #t))) - (add-after 'configure 'remove-alacritty-vendor - (lambda* (#:key vendor-dir #:allow-other-keys) - ;; We don't want Alacritty to be a dependency of itself - ;; If we don't delete it from guix-vendor then build will fail - ;; because Alacritty has a virtual workspace Cargo.toml. - (delete-file-recursively - (string-append vendor-dir "/alacritty-" ,version ".tar.xz")) - #t)) + (substitute* + (string-append vendor-dir "/" glutin-api "glx/mod.rs") + (("libGL.so") (string-append mesa "/lib/libGL.so"))) + (substitute* + (string-append vendor-dir "/" glutin-api "egl/mod.rs") + (("libEGL.so") (string-append mesa "/lib/libEGL.so"))) + #t))) (replace 'install + ;; Upstream install script only takes care of executable. (lambda* (#:key inputs outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) (bin (string-append out "/bin")) @@ -1354,24 +1279,19 @@ made by suckless.") (tic (string-append (assoc-ref inputs "ncurses") "/bin/tic")) (man (string-append share "/man/man1")) (alacritty-bin "target/release/alacritty")) - ;; Install the executable. (install-file alacritty-bin bin) - ;; Install man pages. (mkdir-p man) (copy-file "extra/alacritty.man" (string-append man "/alacritty.1")) - ;; Install desktop file. - (install-file "extra/linux/alacritty.desktop" + (install-file "extra/linux/Alacritty.desktop" (string-append share "/applications")) - - ;; Install icon + ;; Install icon. (mkdir-p icons) (copy-file "extra/logo/alacritty-term.svg" (string-append icons "/Alacritty.svg")) - ;; Install terminfo. (mkdir-p (string-append share "/terminfo")) ;; We don't compile alacritty-common entry because @@ -1379,18 +1299,19 @@ made by suckless.") (invoke tic "-x" "-e" "alacritty,alacritty-direct" "-o" (string-append share "/terminfo/") "extra/alacritty.info") - ;; Install completions. - (install-file - "extra/completions/alacritty.bash" - (string-append out "/etc/bash_completion.d")) - (install-file - "extra/completions/_alacritty" - (string-append share "/zsh/site-functions")) - (install-file - "extra/completions/alacritty.fish" - (string-append share "/fish/vendor_completions.d")) + (install-file "extra/completions/alacritty.bash" + (string-append out "/etc/bash_completion.d")) + (install-file "extra/completions/_alacritty" + (string-append share "/zsh/site-functions")) + (install-file "extra/completions/alacritty.fish" + (string-append share "/fish/vendor_completions.d")) #t)))))) + (native-inputs + `(("cmake" ,cmake) + ("ncurses" ,ncurses) + ("pkg-config" ,pkg-config) + ("python3" ,python))) (inputs `(("expat" ,expat) ("fontconfig" ,fontconfig) @@ -1404,11 +1325,6 @@ made by suckless.") ("libxxf86vm" ,libxxf86vm) ("wayland" ,wayland) ("mesa" ,mesa))) - (native-inputs - `(("cmake" ,cmake) - ("ncurses" ,ncurses) - ("pkg-config" ,pkg-config) - ("python3" ,python))) (native-search-paths ;; FIXME: This should only be located in 'ncurses'. Nonetheless it is ;; provided for usability reasons. See <https://bugs.gnu.org/22138>. diff --git a/gnu/packages/tor.scm b/gnu/packages/tor.scm index e2ce7afe9d..1ce53a967b 100644 --- a/gnu/packages/tor.scm +++ b/gnu/packages/tor.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2016, 2017, 2018, 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016, 2017 Nikita <nikita@n0.is> -;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2017–2021 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017, 2018, 2019 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com> ;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net> @@ -155,7 +155,7 @@ rejects UDP traffic from the application you're using.") (define-public privoxy (package (name "privoxy") - (version "3.0.29") + (version "3.0.31") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/ijbswa/Sources/" @@ -163,7 +163,7 @@ rejects UDP traffic from the application you're using.") version "-stable-src.tar.gz")) (sha256 (base32 - "17a8fbdyb0ixc0wwq68fg7xn7l6n7jq67njpq93psmxgzng0dii5")))) + "1sq4s0h73r7mynl8s0ynn3a6zl98j06nb2nqx2j254n7maijjxq7")))) (build-system gnu-build-system) (arguments '(;; The default 'sysconfdir' is $out/etc; change that to diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index f53ca9b11b..afbae86772 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -33,6 +33,7 @@ ;;; Copyright © 2020 Tanguy Le Carrour <tanguy@bioneland.org> ;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de> ;;; Copyright © 2021 Greg Hogan <code@greghogan.com> +;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -97,6 +98,7 @@ #:use-module (gnu packages perl-check) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) + #:use-module (gnu packages python-build) #:use-module (gnu packages python-check) #:use-module (gnu packages python-web) #:use-module (gnu packages python-xyz) @@ -1576,14 +1578,14 @@ execution of any hook written in any language before every commit.") (define-public mercurial (package (name "mercurial") - (version "5.5.1") + (version "5.6.1") (source (origin (method url-fetch) (uri (string-append "https://www.mercurial-scm.org/" "release/mercurial-" version ".tar.gz")) (sha256 (base32 - "0x08yjs26j88kh1bvl2g3r24lnfc023ry3i1cxfq6haray6sv5ag")))) + "1bgz8f1a7lnmh6lzcvwg6q1yx6i7yibhwy06l4k55i04957jap75")))) (build-system python-build-system) (arguments `(#:phases @@ -1596,8 +1598,7 @@ execution of any hook written in any language before every commit.") "tests/test-run-tests.t" "tests/test-transplant.t") (("/bin/sh") - (which "sh"))) - #t)) + (which "sh"))))) (replace 'check (lambda* (#:key tests? #:allow-other-keys) (with-directory-excursion "tests" @@ -1608,9 +1609,10 @@ execution of any hook written in any language before every commit.") ;; PATH from before (that's why we are building it!)? "test-hghave.t" - ;; FIXME: Why does this fail in the build container, but - ;; not in 'guix environment -C' (even without /bin/sh)? + ;; These tests fail because the program is not + ;; connected to a TTY in the build container. "test-nointerrupt.t" + "test-transaction-rollback-on-sigpipe.t" ;; FIXME: This gets killed but does not receive an interrupt. "test-commandserver.t" @@ -1639,8 +1641,7 @@ execution of any hook written in any language before every commit.") "--slowtimeout" "86400" ;; The test suite takes a long time and produces little ;; output by default. Prevent timeouts due to silence. - "-v")) - #t)))))) + "-v")))))))) ;; The following inputs are only needed to run the tests. (native-inputs `(("python-nose" ,python-nose) diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm index 2262aa6197..8da57cf6ab 100644 --- a/gnu/packages/virtualization.scm +++ b/gnu/packages/virtualization.scm @@ -87,6 +87,7 @@ #:use-module (gnu packages polkit) #:use-module (gnu packages protobuf) #:use-module (gnu packages python) + #:use-module (gnu packages python-build) #:use-module (gnu packages python-check) #:use-module (gnu packages python-crypto) #:use-module (gnu packages python-web) diff --git a/gnu/packages/vulkan.scm b/gnu/packages/vulkan.scm index ca359e4923..1a0d0d7d63 100644 --- a/gnu/packages/vulkan.scm +++ b/gnu/packages/vulkan.scm @@ -355,10 +355,10 @@ shader compilation.") (license license:asl2.0))) (define-public vkd3d - (let ((commit "ecda316ef54d70bf1b3e860755241bb75873e53f")) ; Release 1.1. + (let ((commit "56cd4a94d541707959ce7677af6d1a34739e5579")) ; Release 1.2. (package (name "vkd3d") - (version "1.1") + (version "1.2") (source (origin (method git-fetch) @@ -367,7 +367,7 @@ shader compilation.") (commit commit))) (sha256 (base32 - "05a28kspy8gzng181w28zjqdb3pj2ss83b0lwnppxbcdzsz7rvrf")) + "1n4a622drgnprvz5hjxzyzcsg2lp5rlf1sajki2vzf5gsx6fdpk8")) (file-name (string-append name "-" version "-checkout")))) (build-system gnu-build-system) (arguments diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index a42913250c..8cbcfd011e 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -30,7 +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, 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr> +;;; Copyright © 2019, 2020, 2021 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; Copyright © 2019 Brendan Tildesley <mail@brendan.scot> ;;; Copyright © 2019 Alex Griffin <a@ajgrf.com> ;;; Copyright © 2019 Hartmut Goebel <h.goebel@crazy-compilers.com> @@ -1478,7 +1478,7 @@ used to validate and fix HTML data.") (define-public esbuild (package (name "esbuild") - (version "0.8.32") + (version "0.8.37") (source (origin (method git-fetch) @@ -1487,7 +1487,7 @@ used to validate and fix HTML data.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "17aa269dq0gsm4nlhh1q2mj6k8mw6v8ig3nygwk3s07l2xl5gqvn")) + (base32 "0c98w2y4y9jaj2wv0334xwdbsvsi5hfh9jdkqr7ffz8lxhmh610f")) (modules '((guix build utils))) (snippet '(begin @@ -4633,8 +4633,8 @@ CDF, Atom 0.3, and Atom 1.0 feeds.") (package-with-python2 python-feedparser)) (define-public guix-data-service - (let ((commit "e3878fefb4184f3ad45a6e6f434767c0bf109db8") - (revision "23")) + (let ((commit "060df92557d5a32dbd3ae4a32c2c5725cd53e09b") + (revision "24")) (package (name "guix-data-service") (version (string-append "0.0.1-" revision "." (string-take commit 7))) @@ -4646,7 +4646,7 @@ CDF, Atom 0.3, and Atom 1.0 feeds.") (file-name (git-file-name name version)) (sha256 (base32 - "0002ckayjnd6mw7a0m7q307jdwc9vsjgiidp72463xyp0yrnjdjf")))) + "0ggwslwm041gkd0i45xhvnalxrhjaj4da27p5wrpknrhpa4ipf6v")))) (build-system gnu-build-system) (arguments '(#:modules ((guix build utils) @@ -6512,7 +6512,7 @@ collection creation and deletion, and locking operations.") (arguments `(#:cargo-inputs (("rust-ansi-parser" ,rust-ansi-parser-0.6) - ("rust-dirs" ,rust-dirs-2.0) + ("rust-dirs" ,rust-dirs-2) ("rust-gdk" ,rust-gdk-0.13) ("rust-gtk" ,rust-gtk-0.8) ("rust-linkify" ,rust-linkify-0.4) diff --git a/gnu/packages/wine.scm b/gnu/packages/wine.scm index 0d93af0dc9..98b435cb8d 100644 --- a/gnu/packages/wine.scm +++ b/gnu/packages/wine.scm @@ -38,7 +38,6 @@ #:use-module (gnu packages base) #:use-module (gnu packages bash) #:use-module (gnu packages bison) - #:use-module (gnu packages compression) #:use-module (gnu packages cups) #:use-module (gnu packages databases) #:use-module (gnu packages fontutils) @@ -52,6 +51,7 @@ #:use-module (gnu packages gstreamer) #:use-module (gnu packages gtk) #:use-module (gnu packages kerberos) + #:use-module (gnu packages libusb) #:use-module (gnu packages linux) #:use-module (gnu packages mingw) #:use-module (gnu packages openldap) @@ -60,7 +60,6 @@ #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) #:use-module (gnu packages mp3) - #:use-module (gnu packages ncurses) #:use-module (gnu packages photo) #:use-module (gnu packages samba) #:use-module (gnu packages scanner) @@ -76,7 +75,7 @@ (define-public wine (package (name "wine") - (version "5.21") + (version "6.0") (source (origin (method url-fetch) @@ -88,7 +87,7 @@ (string-append "https://dl.winehq.org/wine/source/" dir "wine-" version ".tar.xz"))) (sha256 - (base32 "0h185lfpid6cw1sz8rmkpky2l11izpb0w8j0cq6ww6yi94jmq6js")))) + (base32 "0micb3l54cc2cl3v5q92hzvkxxiwi9lmiv72caf45vl35xghd4xl")))) (build-system gnu-build-system) (native-inputs `(("bison" ,bison) @@ -104,7 +103,6 @@ ("faudio" ,faudio) ("fontconfig" ,fontconfig) ("freetype" ,freetype) - ("glu" ,glu) ("gnutls" ,gnutls) ("gst-plugins-base" ,gst-plugins-base) ("lcms" ,lcms) @@ -118,6 +116,7 @@ ("libpcap" ,libpcap) ("libpng" ,libpng) ("libjpeg" ,libjpeg-turbo) + ("libusb" ,libusb) ("libtiff" ,libtiff) ("libICE" ,libice) ("libX11" ,libx11) @@ -130,15 +129,13 @@ ("libXxf86vm" ,libxxf86vm) ("libXcomposite" ,libxcomposite) ("mit-krb5" ,mit-krb5) - ("ncurses" ,ncurses) ("openal" ,openal) ("pulseaudio" ,pulseaudio) ("sdl2" ,sdl2) ("unixodbc" ,unixodbc) ("v4l-utils" ,v4l-utils) ("vkd3d" ,vkd3d) - ("vulkan-loader" ,vulkan-loader) - ("zlib" ,zlib))) + ("vulkan-loader" ,vulkan-loader))) (arguments `(;; Force a 32-bit build targeting a similar architecture, i.e.: ;; armhf for armhf/aarch64, i686 for i686/x86_64. diff --git a/gnu/packages/xfce.scm b/gnu/packages/xfce.scm index c8dd66b2e0..bc5fd9fee6 100644 --- a/gnu/packages/xfce.scm +++ b/gnu/packages/xfce.scm @@ -413,7 +413,7 @@ management D-Bus specification.") (define-public xfce4-panel (package (name "xfce4-panel") - (version "4.16.0") + (version "4.16.1") (source (origin (method url-fetch) (uri (string-append "https://archive.xfce.org/src/xfce/" @@ -421,7 +421,7 @@ management D-Bus specification.") name "-" version ".tar.bz2")) (sha256 (base32 - "0gf57hgx6v44bc2hj570inkafbi291scc6wbhmr6sc3xngp9m5sy")) + "14arjxpvnxdl0a0ajifrmy2py3hv5qy4fykl52wdp4k5pv39n2gs")) (patches (search-patches "xfce4-panel-plugins.patch")))) (build-system gnu-build-system) (arguments @@ -1206,7 +1206,7 @@ of data to either CD/DVD/BD.") (define-public mousepad (package (name "mousepad") - (version "0.5.1") + (version "0.5.2") (source (origin (method url-fetch) (uri (string-append "https://archive.xfce.org/src/apps/mousepad/" @@ -1214,7 +1214,7 @@ of data to either CD/DVD/BD.") version ".tar.bz2")) (sha256 (base32 - "10m52yrh89j7xbr299m9f0mqrhqz95lp3qi5zbqd0bg839xjfbix")))) + "13pvisqhq5rjrkfdw635z600167920fxqzg1ngvismaf39iwbb9h")))) (build-system gnu-build-system) (arguments '(#:configure-flags '(;; Use the GSettings keyfile backend rather than @@ -1620,7 +1620,7 @@ be clicked to open the chosen mount point.") (define-public xfce4-genmon-plugin (package (name "xfce4-genmon-plugin") - (version "4.1.0") + (version "4.1.1") (source (origin (method url-fetch) (uri (string-append "https://archive.xfce.org/src/panel-plugins/" @@ -1629,7 +1629,7 @@ be clicked to open the chosen mount point.") "/xfce4-genmon-plugin-" version ".tar.bz2")) (sha256 (base32 - "0zafr1jrw87l7h4z3wp88gj7n5mcygm22aw42vdpnp2l8x5nn9fi")))) + "0d81npcqnmkw2qaqa8c6igh9j5r4ivgb15zcjwxjkyhrzz89y4dj")))) (build-system gnu-build-system) (native-inputs `(("intltool" ,intltool) @@ -1886,7 +1886,7 @@ favorite search engine or bug tracker right from the Xfce panel.") (define-public xfce4-statusnotifier-plugin (package (name "xfce4-statusnotifier-plugin") - (version "0.2.2") + (version "0.2.3") (source (origin (method url-fetch) (uri (string-append "https://archive.xfce.org/src/panel-plugins/" @@ -1895,7 +1895,7 @@ favorite search engine or bug tracker right from the Xfce panel.") "/xfce4-statusnotifier-plugin-" version ".tar.bz2")) (sha256 (base32 - "1yic99jx7013pywpd0k31pxab8s8lv3wcq364iha99qhsm25k42c")))) + "1d2n56g12dhnjznrq7xvr6d3brpp0lmm080xmgjb7ybc1yygpxrc")))) (build-system gnu-build-system) (native-inputs `(("intltool" ,intltool) |