summaryrefslogtreecommitdiff
path: root/gnu/packages
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages')
-rw-r--r--gnu/packages/admin.scm43
-rw-r--r--gnu/packages/animation.scm33
-rw-r--r--gnu/packages/astronomy.scm210
-rw-r--r--gnu/packages/autotools.scm9
-rw-r--r--gnu/packages/backup.scm6
-rw-r--r--gnu/packages/bioinformatics.scm170
-rw-r--r--gnu/packages/bittorrent.scm1
-rw-r--r--gnu/packages/browser-extensions.scm10
-rw-r--r--gnu/packages/check.scm83
-rw-r--r--gnu/packages/chemistry.scm301
-rw-r--r--gnu/packages/chromium.scm44
-rw-r--r--gnu/packages/ci.scm67
-rw-r--r--gnu/packages/cmake.scm29
-rw-r--r--gnu/packages/compression.scm40
-rw-r--r--gnu/packages/connman.scm8
-rw-r--r--gnu/packages/cpp.scm75
-rw-r--r--gnu/packages/crates-graphics.scm762
-rw-r--r--gnu/packages/crates-io.scm851
-rw-r--r--gnu/packages/disk.scm5
-rw-r--r--gnu/packages/dlang.scm25
-rw-r--r--gnu/packages/dns.scm25
-rw-r--r--gnu/packages/emacs-xyz.scm100
-rw-r--r--gnu/packages/emacs.scm16
-rw-r--r--gnu/packages/emulators.scm6
-rw-r--r--gnu/packages/engineering.scm23
-rw-r--r--gnu/packages/fcitx.scm61
-rw-r--r--gnu/packages/fcitx5.scm102
-rw-r--r--gnu/packages/finance.scm1
-rw-r--r--gnu/packages/fpga.scm87
-rw-r--r--gnu/packages/freedesktop.scm9
-rw-r--r--gnu/packages/game-development.scm36
-rw-r--r--gnu/packages/games.scm65
-rw-r--r--gnu/packages/geo.scm27
-rw-r--r--gnu/packages/gnome.scm4
-rw-r--r--gnu/packages/gnupg.scm86
-rw-r--r--gnu/packages/gnuzilla.scm20
-rw-r--r--gnu/packages/graphics.scm16
-rw-r--r--gnu/packages/guile-xyz.scm21
-rw-r--r--gnu/packages/hardware.scm74
-rw-r--r--gnu/packages/haskell-apps.scm4
-rw-r--r--gnu/packages/julia-xyz.scm181
-rw-r--r--gnu/packages/kde-frameworks.scm7
-rw-r--r--gnu/packages/kde.scm6
-rw-r--r--gnu/packages/language.scm279
-rw-r--r--gnu/packages/license.scm33
-rw-r--r--gnu/packages/linux.scm60
-rw-r--r--gnu/packages/lisp-xyz.scm428
-rw-r--r--gnu/packages/machine-learning.scm33
-rw-r--r--gnu/packages/mail.scm7
-rw-r--r--gnu/packages/messaging.scm7
-rw-r--r--gnu/packages/mono.scm4
-rw-r--r--gnu/packages/music.scm6
-rw-r--r--gnu/packages/networking.scm6
-rw-r--r--gnu/packages/openstack.scm25
-rw-r--r--gnu/packages/parallel.scm19
-rw-r--r--gnu/packages/patches/avogadro-boost148.patch69
-rw-r--r--gnu/packages/patches/avogadro-eigen3-update.patch603
-rw-r--r--gnu/packages/patches/avogadro-python-eigen-lib.patch161
-rw-r--r--gnu/packages/patches/c++-gsl-find-system-gtest.patch96
-rw-r--r--gnu/packages/patches/freebayes-devendor-deps.patch2
-rw-r--r--gnu/packages/patches/icecat-makeicecat.patch4
-rw-r--r--gnu/packages/patches/mutt-CVE-2021-3181.patch45
-rw-r--r--gnu/packages/patches/pinentry-efl.patch798
-rw-r--r--gnu/packages/pdf.scm90
-rw-r--r--gnu/packages/perl.scm29
-rw-r--r--gnu/packages/protobuf.scm1
-rw-r--r--gnu/packages/python-build.scm160
-rw-r--r--gnu/packages/python-check.scm21
-rw-r--r--gnu/packages/python-crypto.scm1
-rw-r--r--gnu/packages/python-web.scm27
-rw-r--r--gnu/packages/python-xyz.scm331
-rw-r--r--gnu/packages/qt.scm87
-rw-r--r--gnu/packages/radio.scm41
-rw-r--r--gnu/packages/rust-apps.scm4
-rw-r--r--gnu/packages/search.scm59
-rw-r--r--gnu/packages/sequoia.scm2
-rw-r--r--gnu/packages/sphinx.scm1
-rw-r--r--gnu/packages/ssh.scm11
-rw-r--r--gnu/packages/syncthing.scm115
-rw-r--r--gnu/packages/syndication.scm11
-rw-r--r--gnu/packages/telegram.scm557
-rw-r--r--gnu/packages/terminals.scm202
-rw-r--r--gnu/packages/tor.scm6
-rw-r--r--gnu/packages/version-control.scm17
-rw-r--r--gnu/packages/virtualization.scm1
-rw-r--r--gnu/packages/vulkan.scm6
-rw-r--r--gnu/packages/web.scm14
-rw-r--r--gnu/packages/wine.scm13
-rw-r--r--gnu/packages/xfce.scm16
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)