From 7b016d179ce1c628a7bc84b854d3db845bdaceac Mon Sep 17 00:00:00 2001 From: Hendursaga Date: Tue, 27 Sep 2022 17:55:06 -0400 Subject: gnu: vips: Update to 8.13.1. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/image-processing.scm (vips): Update to 8.13.1. Signed-off-by: 宋文武 --- gnu/packages/image-processing.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/image-processing.scm b/gnu/packages/image-processing.scm index a8f40c4454..778f6c8538 100644 --- a/gnu/packages/image-processing.scm +++ b/gnu/packages/image-processing.scm @@ -671,7 +671,7 @@ things like: (define-public vips (package (name "vips") - (version "8.10.6") + (version "8.13.1") (source (origin (method url-fetch) @@ -679,7 +679,7 @@ things like: "https://github.com/libvips/libvips/releases/download/v" version "/vips-" version ".tar.gz")) (sha256 - (base32 "0vjsh3i0861f6h9as3bch956cidz824zz499pvhjs3lfjn6hhs14")))) + (base32 "00kp3439jcqv9l2gcjg88xzvlq8clv54z1m3x66i3chvarz7ndxd")))) (build-system gnu-build-system) (native-inputs (list gobject-introspection pkg-config)) -- cgit v1.2.3 From ec8c77b8ed4300193f4545b7373679082bee5fb2 Mon Sep 17 00:00:00 2001 From: 宋文武 Date: Wed, 28 Sep 2022 09:48:01 +0800 Subject: gnu: python-pyvips: Update to 2.2.1. * gnu/packages/python-xyz.scm (python-pyvips): Update to 2.2.1. --- gnu/packages/python-xyz.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 54ed7fefed..57942331b2 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -7434,13 +7434,13 @@ data, and scientific formats.") (define-public python-pyvips (package (name "python-pyvips") - (version "2.2.0") + (version "2.2.1") (source (origin (method url-fetch) (uri (pypi-uri "pyvips" version)) (sha256 - (base32 "0lq71iiic4pc8qhxr60gi141w25pjnn4vsh05d5l0fjkgjsv137b")))) + (base32 "1dfbwwvnnsk4g2kj1pw654z9jq3mb72l1m8ma29858jpn12vn7dm")))) (build-system python-build-system) (arguments (list #:phases -- cgit v1.2.3 From 1b85131f6386ddb58e7cd5d41c844627687b0699 Mon Sep 17 00:00:00 2001 From: Hilton Chain Date: Tue, 27 Sep 2022 21:21:00 +0800 Subject: gnu: font-lxgw-wenkai-tc: Update to 0.922.1. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/fonts (font-lxgw-wenkai-tc): Update to 0.922.1. Signed-off-by: 宋文武 --- gnu/packages/fonts.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm index 8e51ff2a6d..11be556540 100644 --- a/gnu/packages/fonts.scm +++ b/gnu/packages/fonts.scm @@ -2758,7 +2758,7 @@ within GB 2312, standard glyphs for Mainland China is used.") (package (inherit font-lxgw-wenkai) (name "font-lxgw-wenkai-tc") - (version "0.922") + (version "0.922.1") (source (origin (method url-fetch) (uri (string-append @@ -2766,7 +2766,7 @@ within GB 2312, standard glyphs for Mainland China is used.") version "/lxgw-wenkai-tc-v" version ".tar.gz")) (sha256 (base32 - "0kb12sfb8ihsj14yzk5ib657xvswqy0hy5gr1vfbn1n05vzy8wyk")))) + "0a1n0yfnh3sc3ldgjxxglw4xyg82i2pk432sk8hfdzrrl4zzjyz3")))) (home-page "https://github.com/lxgw/LxgwWenKaitc") (synopsis "Traditional Chinese Imitation Song typeface") (description -- cgit v1.2.3 From 12fd8b5280ea1cfe442abb7b7284f85e03ae2f9d Mon Sep 17 00:00:00 2001 From: Hilton Chain Date: Tue, 27 Sep 2022 21:19:30 +0800 Subject: gnu: font-lxgw-wenkai: Update to 1.245.1. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/fonts (font-lxgw-wenkai): Update to 1.245.1. Signed-off-by: 宋文武 --- gnu/packages/fonts.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm index 11be556540..8e829c6c17 100644 --- a/gnu/packages/fonts.scm +++ b/gnu/packages/fonts.scm @@ -2736,7 +2736,7 @@ and readability. This package bundles those icons into a font.") (define-public font-lxgw-wenkai (package (name "font-lxgw-wenkai") - (version "1.245") + (version "1.245.1") (source (origin (method url-fetch) (uri (string-append @@ -2744,7 +2744,7 @@ and readability. This package bundles those icons into a font.") version "/lxgw-wenkai-v" version ".tar.gz")) (sha256 (base32 - "01x5nfw0cy7v8vsjw32zayc0ryskiwj22yzqi28252896073mm9k")))) + "13hvr1jz9xpb0cgi4xk3zfbn6w5x258zja55hznbgny2sijnjn8a")))) (build-system font-build-system) (home-page "https://lxgw.github.io/2021/01/28/Klee-Simpchin/") (synopsis "Simplified Chinese Imitation Song typeface") -- cgit v1.2.3 From a5ae3d781bc67000b09bd1a17be7d7110bd29eb2 Mon Sep 17 00:00:00 2001 From: kiasoc5 Date: Tue, 27 Sep 2022 02:06:30 -0400 Subject: gnu: swaylock-effects: Update to 1.6.10, use G-expressions. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/wm.scm (swaylock-effects): Update to 1.6.10. [source]: Switch from commit to release tag. [arguments]: Use G-expressions. [home-page]: Switch to maintained fork. Signed-off-by: 宋文武 --- gnu/packages/wm.scm | 47 +++++++++++++++++++---------------------------- 1 file changed, 19 insertions(+), 28 deletions(-) diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm index 310e62a00d..5699e42540 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -1675,36 +1675,27 @@ modules for building a Wayland compositor.") (license license:expat))) ; MIT license (define-public swaylock-effects - ;; Latest release is from November 2020, but doesn't support disabling SSE. - (let ((commit "5cb9579faaf5662b111f5722311b701eff1c1d00") - (revision "1")) - (package - (inherit swaylock) - (name "swaylock-effects") - (version (git-version "1.6-3" revision commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/mortie/swaylock-effects") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "036dkhfqgk7g9vbr5pxgrs66h5fz0rwdsc67i1w51aa9v01r35ca")))) - (arguments - `(#:configure-flags '("-Dsse=false") - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'patch-meson - (lambda _ - (substitute* "meson.build" - (("'-mtune=native',") ""))))))) - (synopsis "Screen locking utility for Wayland compositors with effects") - (description "@code{Swaylock-effects} is a fork of swaylock with additional + (package + (inherit swaylock) + (name "swaylock-effects") + (version "1.6.10") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/jirutka/swaylock-effects") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1d8ri7bzwfr53ybgf23acz57wyhcl2f1nqprcda1v9bzfgsqfk2n")))) + (arguments + (list #:configure-flags #~'("-Dsse=false"))) + (synopsis "Screen locking utility for Wayland compositors with effects") + (description "@code{Swaylock-effects} is a fork of swaylock with additional features, such as the ability to take a screenshot as the background image, display a clock or apply image manipulation techniques to the background image.") - (home-page "https://github.com/mortie/swaylock-effects")))) + (home-page "https://github.com/jirutka/swaylock-effects"))) (define-public swaybg (package -- cgit v1.2.3 From e122c7b834ed816e6898678d3af80bca2e23a497 Mon Sep 17 00:00:00 2001 From: Thiago Jung Bauermann Date: Tue, 27 Sep 2022 22:49:35 -0300 Subject: news: Add 'pt' translation. * etc/news.scm: Add Portuguese translation of entries about WSL system images and about Guix System image API documentation. Signed-off-by: Mathieu Othacehe --- etc/news.scm | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/etc/news.scm b/etc/news.scm index 9bb6ba876b..0a772a812b 100644 --- a/etc/news.scm +++ b/etc/news.scm @@ -29,7 +29,8 @@ (title (en "Guix System image creation is now documented") (de "Es gibt eine Dokumentation, wie Sie Guix-System-Abbilder („Images“) erzeugen") - (fr "La création d'images pour Guix System est à présent documentée")) + (fr "La création d'images pour Guix System est à présent documentée") + (pt "A criação de imagens do Guix System agora está documentada")) (body (en "The Guix System image API that allows you to create customized system images and turn them into actual bootable images is now documented in @@ -45,12 +46,18 @@ zu bringen.") permettant de créer des images personnalisées et de les transformer en images amorçables est désormais documentée dans le chapitre @code{Création d'images système}. Cette interface devrait être particulièrement utile aux personnes -qui essaient de faire fonctionner Guix sur de nouvelles machines."))) +qui essaient de faire fonctionner Guix sur de nouvelles machines.") + (pt "A API de imagens do Guix System que permite criar imagens de +sistema customizadas e torná-las inicializáveis agora está documentada no +capítulo @code{Creating System Images} da documentação do Guix. Isso é +particularmente útil para pessoas tentando portar o Guix System para um novo +hardware."))) (entry (commit "c8112f3bd95269ce4aca12dedbfe61bb6b37acae") (title (en "WSL system images support") (de "WSL-Systemabbilder werden unterstützt") - (fr "Support pour les images système WSL")) + (fr "Support pour les images système WSL") + (pt "Suporte a imagens de sistema WSL")) (body (en "The @command{guix system image} command can now generate system images for the Windows Subsystem for Linux. To get started, you can for @@ -81,6 +88,16 @@ exemple lancer la commande suivante depuis un répertoire de sources Guix : et importer l'image obtenue de cette manière : +@command{wsl --import Guix ./guix ./wsl2-image.tar.gz} +@command{wsl -d Guix}.") + (pt "Agora o comando @command{guix system image} pode gerar imagens +de sistema para o Subsistema do Windows para Linux. Para começar, você pode +por exemplo rodar a partir de um checkout do repositório do Guix: + +@command{guix system image gnu/system/images/wsl2.scm}, + +e importar a imagem resultante da seguinte maneira: + @command{wsl --import Guix ./guix ./wsl2-image.tar.gz} @command{wsl -d Guix}."))) (entry (commit "11a06d1e49f4d50d6789e05bbf35e2e145ff7838") -- cgit v1.2.3 From fb9f51a81f8086c5f67b75e54217c0789ab1523f Mon Sep 17 00:00:00 2001 From: "(" Date: Tue, 27 Sep 2022 19:00:27 +0100 Subject: etc: teams: Add more scopes to teams. * etc/teams.scm.in (r, julia, ruby, go, rust, kernel, translations, home, mozilla, racket): Add scopes. (emacs)[scope]: Add ``guix import elpa''-related files. (installer)[scope]: Correct ``guix/installer'' to ``gnu/installer''. Signed-off-by: Mathieu Othacehe --- etc/teams.scm.in | 69 +++++++++++++++++++++++++++++++++++++++++++++----------- 1 file changed, 56 insertions(+), 13 deletions(-) diff --git a/etc/teams.scm.in b/etc/teams.scm.in index ba22b80771..4f65f5bcf0 100644 --- a/etc/teams.scm.in +++ b/etc/teams.scm.in @@ -129,13 +129,23 @@ the haskell-build-system." #:name "R team" #:description "The R language, CRAN and Bioconductor repositories, the \"cran\" importer, -and the r-build-system.")) +and the r-build-system." + #:scope (list "gnu/packages/bioconductor.scm" + "gnu/packages/cran.scm" + "guix/build/r-build-system.scm" + "guix/build-system/r.scm" + "guix/import/cran.scm" + "guix/scripts/import/cran.scm" + "tests/cran.scm"))) (define-team julia (team 'julia #:name "Julia team" #:description - "The Julia language, Julia packages, and the julia-build-system.")) + "The Julia language, Julia packages, and the julia-build-system." + #:scope (list (make-regexp "^gnu/packages/julia(-.+|)\\.scm$") + "guix/build/julia-build-system.scm" + "guix/build-system/julia.scm"))) (define-team ocaml (team 'ocaml @@ -185,7 +195,10 @@ ecosystem." #:scope (list (make-regexp "^gnu/packages/emacs(-.+|)\\.scm$") "guix/build/emacs-build-system.scm" "guix/build/emacs-utils.scm" - "guix/build-system/emacs.scm"))) + "guix/build-system/emacs.scm" + "guix/import/elpa.scm" + "guix/scripts/import/elpa.scm" + "tests/elpa.scm"))) (define-team lisp (team 'lisp @@ -200,11 +213,23 @@ asdf-build-system." (define-team ruby (team 'ruby - #:name "Ruby team")) + #:name "Ruby team" + #:scope (list "gnu/packages/ruby.scm" + "guix/build/ruby-build-system.scm" + "guix/build-system/ruby.scm" + "guix/import/gem.scm" + "guix/scripts/import/gem.scm" + "tests/gem.scm"))) (define-team go (team 'go - #:name "Go team")) + #:name "Go team" + #:scope (list "gnu/packages/golang.scm" + "guix/build/go-build-system.scm" + "guix/build-system/go.scm" + "guix/import/go.scm" + "guix/scripts/import/go.scm" + "tests/go.scm"))) (define-team embedded-bootstrap (team 'embedded-bootstrap @@ -212,11 +237,23 @@ asdf-build-system." (define-team rust (team 'rust - #:name "Rust")) + #:name "Rust" + #:scope (list (make-regexp "^gnu/packages/(crates|rust)(-.+|)\\.scm$") + "guix/build/cargo-build-system.scm" + "guix/build/cargo-utils.scm" + "guix/build-system/cargo.scm" + "guix/import/crate.scm" + "guix/scripts/import/crate.scm" + "tests/crate.scm"))) (define-team kernel (team 'kernel - #:name "Linux-libre kernel team")) + #:name "Linux-libre kernel team" + #:scope (list "gnu/build/linux-modules.scm" + "gnu/packages/linux.scm" + "gnu/tests/linux-modules.scm" + "guix/build/linux-module-build-system.scm" + "guix/build-system/linux-module.scm"))) (define-team core (team 'core @@ -316,17 +353,21 @@ asdf-build-system." (define-team translations (team 'translations - #:name "Translations")) + #:name "Translations" + #:scope (list (make-regexp "^po/")))) (define-team installer (team 'installer #:name "Installer script and system installer" - #:scope - (list (make-regexp "^guix/installer(\\.scm$|/)")))) + #:scope (list (make-regexp "^gnu/installer(\\.scm$|/)")))) (define-team home (team 'home - #:name "Team for \"Guix Home\"")) + #:name "Team for \"Guix Home\"" + #:scope (list (make-regexp "^(gnu|guix/scripts)/home(\\.scm$|/)") + "tests/guix-home.sh" + "tests/home-import.scm" + "tests/home-services.scm"))) (define-team mentors (team 'mentors @@ -339,7 +380,8 @@ asdf-build-system." #:name "Mozilla" #:description "Taking care about Icecat and Icedove, built from Mozilla Firefox -and Thunderbird.")) +and Thunderbird." + #:scope (list "gnu/packages/gnuzilla.scm"))) (define-team racket (team 'racket @@ -347,7 +389,8 @@ and Thunderbird.")) #:description "The Racket language and Racket-based languages, Racket packages, Racket's variant of Chez Scheme, and development of a Racket build system and -importer.")) +importer." + #:scope (list "gnu/packages/racket.scm"))) (define-member (person "Thiago Jung Bauermann" -- cgit v1.2.3 From 8710f01e043a98884ea7f37072687500a0e54813 Mon Sep 17 00:00:00 2001 From: "(" Date: Tue, 27 Sep 2022 19:00:28 +0100 Subject: etc: teams: Add (. * etc/teams.scm.in: Add (. Signed-off-by: Mathieu Othacehe --- etc/teams.scm.in | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/etc/teams.scm.in b/etc/teams.scm.in index 4f65f5bcf0..96a1effd24 100644 --- a/etc/teams.scm.in +++ b/etc/teams.scm.in @@ -477,6 +477,10 @@ importer." "dev@jpoiret.xyz") core installer) +(define-member (person "(" + "paren@disroot.org") + home mentors) + (define (find-team name) (or (hash-ref %teams (string->symbol name)) -- cgit v1.2.3 From ea49070a36d48254f1ef167fa2806a16ed0b77a5 Mon Sep 17 00:00:00 2001 From: zimoun Date: Tue, 27 Sep 2022 12:33:36 +0200 Subject: teams: Add Simon Tournier. * etc/teams.scm.in: Add Simon Tournier. Signed-off-by: Mathieu Othacehe --- etc/teams.scm.in | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/etc/teams.scm.in b/etc/teams.scm.in index 96a1effd24..2727505529 100644 --- a/etc/teams.scm.in +++ b/etc/teams.scm.in @@ -481,6 +481,10 @@ importer." "paren@disroot.org") home mentors) +(define-member (person "Simon Tournier" + "zimon.toutoune@gmail.com") + julia core mentors) + (define (find-team name) (or (hash-ref %teams (string->symbol name)) -- cgit v1.2.3 From 70a593242e6b288a0348154f09c4ddbc732463d8 Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Wed, 28 Sep 2022 09:06:10 +0200 Subject: Update NEWS. * NEWS: Add new services for the 1.4.0. --- NEWS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/NEWS b/NEWS index 96d4a65fbf..def969c78c 100644 --- a/NEWS +++ b/NEWS @@ -100,7 +100,7 @@ similar to how 'guix time-machine' would do it, as regular packages. *** New ‘rebar-build-system’ *** New services anonip, bitmask, fail2ban, gitile, greetd, jami, lightdm, log-cleanup, -nar-herder, opendht, rasdaemon, seatd, strongswan +nar-herder, opendht, rasdaemon, samba, seatd, strongswan, wsdd ** Noteworthy bug fixes *** Fall back to Software Heritage when cloning a channel -- cgit v1.2.3 From 6262801bb2a5504285a49db17c758324197a8a80 Mon Sep 17 00:00:00 2001 From: Guillaume Le Vaillant Date: Wed, 28 Sep 2022 09:36:53 +0200 Subject: gnu: Add python-simplesoapy. * gnu/packages/radio.scm (python-simplesoapy): New variable. --- gnu/packages/radio.scm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/gnu/packages/radio.scm b/gnu/packages/radio.scm index 132cc95f12..cff86389f4 100644 --- a/gnu/packages/radio.scm +++ b/gnu/packages/radio.scm @@ -468,6 +468,26 @@ controls for certain tuners which may be paired with an audio device.") "This package provides RTL-SDR devices support to the SoapySDR library.") (license license:expat))) +(define-public python-simplesoapy + (package + (name "python-simplesoapy") + (version "1.5.1") + (source + (origin + (method url-fetch) + (uri (pypi-uri "SimpleSoapy" version)) + (sha256 + (base32 "0bh02m5zj82mp7sxpvwr24ylmrbp3p4r9q7psqcfnxl628w3b4hl")))) + (build-system python-build-system) + (propagated-inputs + (list python-numpy soapysdr)) + (home-page "https://github.com/xmikos/simplesoapy") + (synopsis "Python wrapper for SoapySDR") + (description + "This package provide a simple pythonic wrapper for the SoapySDR +library.") + (license license:expat))) + (define-public aptdec ;; No release since 2013, use commit directly. (let ((commit "51405971fd4e97714d1e987269e49c6edfe4e0da") -- cgit v1.2.3 From 05c13b3149ecba94da30b4cac743f0c770171cf1 Mon Sep 17 00:00:00 2001 From: Guillaume Le Vaillant Date: Wed, 28 Sep 2022 09:49:52 +0200 Subject: gnu: Add python-simplespectral. * gnu/packages/python-science.scm (python-simplespectral): New variable. --- gnu/packages/python-science.scm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/gnu/packages/python-science.scm b/gnu/packages/python-science.scm index 30b75ca7f3..f2cbfb0043 100644 --- a/gnu/packages/python-science.scm +++ b/gnu/packages/python-science.scm @@ -1290,6 +1290,26 @@ powerful visualization backend to facilitate rapid prototyping, analysis, and visual integration of spatially referenced datasets.") (license license:expat))) +(define-public python-simplespectral + (package + (name "python-simplespectral") + (version "1.0.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "SimpleSpectral" version)) + (sha256 + (base32 "0qh3xwdv9cwcqdamvglrhm586p4yaq1hd291py1fvykhk2a2d4w6")))) + (build-system python-build-system) + (propagated-inputs + (list python-numpy python-scipy)) + (home-page "https://github.com/xmikos/simplespectral") + (synopsis "FFT module for Python") + (description + "This package provides a simplified @code{scipy.signal.spectral} module +to do spectral analysis in Python.") + (license license:expat))) + (define-public python-traittypes (package (name "python-traittypes") -- cgit v1.2.3 From 6545438cccc9d2b406998de50266deb2b8d0ce32 Mon Sep 17 00:00:00 2001 From: Guillaume Le Vaillant Date: Wed, 28 Sep 2022 10:18:17 +0200 Subject: gnu: Add soapy-power. * gnu/packages/radio.scm (soapy-power): New variable. --- gnu/packages/radio.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/radio.scm b/gnu/packages/radio.scm index cff86389f4..8cc374e4fa 100644 --- a/gnu/packages/radio.scm +++ b/gnu/packages/radio.scm @@ -488,6 +488,28 @@ controls for certain tuners which may be paired with an audio device.") library.") (license license:expat))) +(define-public soapy-power + (package + (name "soapy-power") + (version "1.6.1") + (source + (origin + (method url-fetch) + (uri (pypi-uri "soapy_power" version)) + (sha256 + (base32 "1rajmygcqvv5ph7yk65r4w581lfszrz0f48csvfmma1ami0lirdm")))) + (build-system python-build-system) + (inputs + (list python-numpy + python-scipy + python-simplesoapy + python-simplespectral)) + (home-page "https://github.com/xmikos/soapy_power") + (synopsis "Obtain power spectrum from SDR devices") + (description "The @code{soapy_power} obtains the power spectrum from SDR +devices that are supported by the SoapySDR library.") + (license license:expat))) + (define-public aptdec ;; No release since 2013, use commit directly. (let ((commit "51405971fd4e97714d1e987269e49c6edfe4e0da") -- cgit v1.2.3 From a9c4040710f469762abd9a9c4683b9ed37ee281a Mon Sep 17 00:00:00 2001 From: Guillaume Le Vaillant Date: Wed, 28 Sep 2022 10:48:47 +0200 Subject: gnu: Add python-qt.py. * gnu/packages/qt.scm (python-qt.py): New variable. --- gnu/packages/qt.scm | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index cb7f72e698..8c94d613d6 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -3229,6 +3229,25 @@ top of the PyQt bindings for Qt. PyQt-builder is used to build PyQt itself.") (PyQt5, PyQt4 and PySide) and additional custom QWidgets.") (license license:expat))) +(define-public python-qt.py + (package + (name "python-qt.py") + (version "1.3.7") + (source + (origin + (method url-fetch) + (uri (pypi-uri "Qt.py" version)) + (sha256 + (base32 "07rvfwzjl378j75j2va0c6xylwx16icxa6dycsjgjc329pgpng40")))) + (build-system python-build-system) + (native-inputs (list python-pyqt)) + (home-page "https://github.com/mottosso/Qt.py") + (synopsis "Abstraction layer for Python Qt bindings") + (description + "This package provides an abstraction layer on top of the various Qt +bindings (PySide, PySide2, PyQt4 and PyQt5).") + (license license:expat))) + (define-public qscintilla (package (name "qscintilla") -- cgit v1.2.3 From a8ff78eaf55f2876e6616720ad63ca0b3fa8a632 Mon Sep 17 00:00:00 2001 From: Guillaume Le Vaillant Date: Wed, 28 Sep 2022 11:26:42 +0200 Subject: gnu: Add qspectrumanalyzer. * gnu/packages/radio.scm (qspectrumanalyzer): New variable. --- gnu/packages/radio.scm | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/gnu/packages/radio.scm b/gnu/packages/radio.scm index 8cc374e4fa..2968f9d390 100644 --- a/gnu/packages/radio.scm +++ b/gnu/packages/radio.scm @@ -510,6 +510,44 @@ library.") devices that are supported by the SoapySDR library.") (license license:expat))) +(define-public qspectrumanalyzer + (package + (name "qspectrumanalyzer") + (version "2.1.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "QSpectrumAnalyzer" version)) + (sha256 + (base32 "1bhl8zp4z7v3595ailyivx9vb7y5si6kr22aylphb5pf60jxqhn0")))) + (build-system python-build-system) + (inputs + (list bash-minimal + python-pyqt + python-pyqtgraph + python-qt.py + python-simplespectral + python-simplesoapy + soapy-power)) + (arguments + (list #:phases + #~(modify-phases %standard-phases + (add-after 'install 'wrap-path + ;; Add the location of the default backend to PATH. + (lambda* (#:key inputs #:allow-other-keys) + (wrap-program (string-append #$output + "/bin/qspectrumanalyzer") + `("PATH" ":" prefix + (,(string-append (assoc-ref inputs "soapy-power") + "/bin"))))))))) + (home-page "https://github.com/xmikos/qspectrumanalyzer") + (synopsis "Spectrum analyzer for multiple SDR platforms") + (description + "This package provides a spectrum analyzer for multiple SDR platforms. +It is a GUI for @code{soapy_power}, @code{hackrf_sweep}, @code{rtl_power}, +@code{rx_power} and other backends.") + (license license:gpl3))) + (define-public aptdec ;; No release since 2013, use commit directly. (let ((commit "51405971fd4e97714d1e987269e49c6edfe4e0da") -- cgit v1.2.3 From 3ff582b82b047f709b761ccf075809c66fef7957 Mon Sep 17 00:00:00 2001 From: gyara Date: Sat, 27 Aug 2022 19:10:37 +0900 Subject: gnu: Add rust-number-prefix-0.4. * gnu/packages/crates-io.scm (rust-number-prefix-0.4): New variable. (rust-number-prefix-0.3): Inherit from rust-number-prefix-0.4. Signed-off-by: Efraim Flashner --- gnu/packages/crates-io.scm | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index 528ad204a7..9329990d22 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -40027,10 +40027,10 @@ mathematics.") giga, kibi.") (license license:expat))) -(define-public rust-number-prefix-0.3 +(define-public rust-number-prefix-0.4 (package (name "rust-number-prefix") - (version "0.3.0") + (version "0.4.0") (source (origin (method url-fetch) @@ -40039,7 +40039,7 @@ giga, kibi.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0slm4mqmpgs6hvz22ycny9lvyvl9ivs80a1lncslp7lszz02zc0p")))) + "1wvh13wvlajqxkb1filsfzbrnq0vrmrw298v2j3sy82z1rm282w3")))) (build-system cargo-build-system) (home-page "https://github.com/ogham/rust-number-prefix") (synopsis "Format numeric prefixes: kilo, giga, kibi") @@ -40048,6 +40048,19 @@ giga, kibi.") giga, kibi.") (license license:expat))) +(define-public rust-number-prefix-0.3 + (package + (inherit rust-number-prefix-0.4) + (name "rust-number-prefix") + (version "0.3.0") + (source (origin + (method url-fetch) + (uri (crate-uri "number_prefix" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0slm4mqmpgs6hvz22ycny9lvyvl9ivs80a1lncslp7lszz02zc0p")))))) + (define-public rust-numtoa-0.1 (package (name "rust-numtoa") -- cgit v1.2.3 From e9352c6475674aa1716b22fdfd9826d4000fd920 Mon Sep 17 00:00:00 2001 From: gyara Date: Sat, 27 Aug 2022 19:10:39 +0900 Subject: gnu: Add rust-iso8601-0.3. * gnu/packages/crates-io.scm (rust-iso8601-0.3): New variable. (rust-iso8601-0.1): Inherit from rust-iso8601-0.3. Signed-off-by: Efraim Flashner --- gnu/packages/crates-io.scm | 28 +++++++++++++++++++++++----- 1 file changed, 23 insertions(+), 5 deletions(-) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index 9329990d22..3193f5a8a9 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -30360,8 +30360,30 @@ and locking in the core framework.") whether or not a given path points to an executable file.") (license (list license:expat license:asl2.0)))) +(define-public rust-iso8601-0.3 + (package + (name "rust-iso8601") + (version "0.3.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "iso8601" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0vvn6f9gv2295ik77nvaz99wzbwz1bmasrd787sz6d9mlwa6ks23")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs (("rust-nom" ,rust-nom-4)))) + (home-page "https://github.com/badboy/iso8601") + (synopsis "Parsing ISO8601 dates using nom") + (description "Parsing ISO8601 dates using nom.") + (license license:expat))) + (define-public rust-iso8601-0.1 (package + (inherit rust-iso8601-0.3) (name "rust-iso8601") (version "0.1.1") (source @@ -30377,11 +30399,7 @@ whether or not a given path points to an executable file.") (arguments `(#:cargo-inputs (("rust-clippy" ,rust-clippy-0.0) - ("rust-nom" ,rust-nom-1)))) - (home-page "https://github.com/badboy/iso8601") - (synopsis "Parsing ISO8601 dates using nom") - (description "Parsing ISO8601 dates using nom.") - (license license:expat))) + ("rust-nom" ,rust-nom-1)))))) (define-public rust-itertools-0.10 (package -- cgit v1.2.3 From b3157f6ba43bfe91c33c27ffc1660dca642bf6da Mon Sep 17 00:00:00 2001 From: gyara Date: Sat, 27 Aug 2022 19:10:41 +0900 Subject: gnu: Add rust-datetime-0.5. * gnu/packages/crates-io.scm (rust-datetime-0.5): New variable. (rust-datetime-0.4): Inherit from rust-datetime-0.5. Signed-off-by: Efraim Flashner --- gnu/packages/crates-io.scm | 41 ++++++++++++++++++++++++++++++++++------- 1 file changed, 34 insertions(+), 7 deletions(-) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index 3193f5a8a9..4f1d2333cd 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -16838,10 +16838,10 @@ hexadecimal, base32, and base64.") "Processing of data: URL according to WHATWG's Fetch Standard.") (license (list license:expat license:asl2.0)))) -(define-public rust-datetime-0.4 +(define-public rust-datetime-0.5 (package (name "rust-datetime") - (version "0.4.7") + (version "0.5.2") (source (origin (method url-fetch) @@ -16850,18 +16850,17 @@ hexadecimal, base32, and base64.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1fd74bq48xg8ki5yw1mr1pa5hd3j5lbk4iqc5r0kh3l62b0vci2w")))) + "1g2lhc2ay46njrnnyc0729ibyzkpv3r3d4g0h3gzwmrygykzghs4")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs - (("rust-iso8601" ,rust-iso8601-0.1) - ("rust-kernel32-sys" ,rust-kernel32-sys-0.2) + (("rust-iso8601" ,rust-iso8601-0.3) ("rust-libc" ,rust-libc-0.2) ("rust-locale" ,rust-locale-0.2) - ("rust-num-traits" ,rust-num-traits-0.1) + ("rust-num-traits" ,rust-num-traits-0.2) ("rust-pad" ,rust-pad-0.1) ("rust-redox-syscall" ,rust-redox-syscall-0.1) - ("rust-winapi" ,rust-winapi-0.2)) + ("rust-winapi" ,rust-winapi-0.3)) #:cargo-development-inputs (("rust-regex" ,rust-regex-0.1) ("rust-rustc-serialize" ,rust-rustc-serialize-0.3)))) @@ -16871,6 +16870,34 @@ hexadecimal, base32, and base64.") and arithmetic.") (license license:expat))) +(define-public rust-datetime-0.4 + (package + (inherit rust-datetime-0.5) + (name "rust-datetime") + (version "0.4.7") + (source + (origin + (method url-fetch) + (uri (crate-uri "datetime" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1fd74bq48xg8ki5yw1mr1pa5hd3j5lbk4iqc5r0kh3l62b0vci2w")))) + (arguments + `(#:cargo-inputs + (("rust-iso8601" ,rust-iso8601-0.1) + ("rust-kernel32-sys" ,rust-kernel32-sys-0.2) + ("rust-libc" ,rust-libc-0.2) + ("rust-locale" ,rust-locale-0.2) + ("rust-num-traits" ,rust-num-traits-0.1) + ("rust-pad" ,rust-pad-0.1) + ("rust-redox-syscall" ,rust-redox-syscall-0.1) + ("rust-winapi" ,rust-winapi-0.2)) + #:cargo-development-inputs + (("rust-regex" ,rust-regex-0.1) + ("rust-rustc-serialize" ,rust-rustc-serialize-0.3)))))) + (define-public rust-dbl-0.3 (package (name "rust-dbl") -- cgit v1.2.3 From 7d60052de88e3eb14235232073d864c66a7632ab Mon Sep 17 00:00:00 2001 From: gyara Date: Sat, 27 Aug 2022 19:10:43 +0900 Subject: gnu: Add rust-zoneinfo-compiled-0.5. * gnu/packages/crates-io.scm (rust-zoneinfo-compiled-0.5): New variable. (rust-zoneinfo-compiled-0.4): Inherit from rust-zoneinfo-compiled-0.5. Signed-off-by: Efraim Flashner --- gnu/packages/crates-io.scm | 27 +++++++++++++++++++++++---- 1 file changed, 23 insertions(+), 4 deletions(-) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index 4f1d2333cd..1f4fa10524 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -74409,10 +74409,10 @@ implementation that works everywhere, even WASM!") "Library to support the reading and writing of zip files.") (license license:expat))) -(define-public rust-zoneinfo-compiled-0.4 +(define-public rust-zoneinfo-compiled-0.5 (package (name "rust-zoneinfo-compiled") - (version "0.4.8") + (version "0.5.1") (source (origin (method url-fetch) @@ -74421,18 +74421,37 @@ implementation that works everywhere, even WASM!") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0bnm19w791q6kp79s0zl1cj9w51bw5xrifrxfy3g1p05i676y4vf")))) + "1pm50w4vv34r08mrajfvyhc1254gv8zv4q6p7gs315c9bvkfpyv4")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-byteorder" ,rust-byteorder-1) - ("rust-datetime" ,rust-datetime-0.4)))) + ("rust-datetime" ,rust-datetime-0.5)))) (home-page "https://github.com/rust-datetime/zoneinfo-compiled/") (synopsis "Library for parsing compiled zoneinfo files") (description "This package provides a library for parsing compiled zoneinfo files.") (license license:expat))) +(define-public rust-zoneinfo-compiled-0.4 + (package + (inherit rust-zoneinfo-compiled-0.5) + (name "rust-zoneinfo-compiled") + (version "0.4.8") + (source + (origin + (method url-fetch) + (uri (crate-uri "zoneinfo_compiled" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0bnm19w791q6kp79s0zl1cj9w51bw5xrifrxfy3g1p05i676y4vf")))) + (arguments + `(#:cargo-inputs + (("rust-byteorder" ,rust-byteorder-1) + ("rust-datetime" ,rust-datetime-0.4)))))) + (define-public rust-zstd-0.9 (package (name "rust-zstd") -- cgit v1.2.3 From 31889c79644946ea8067da9eab3fa0149921df14 Mon Sep 17 00:00:00 2001 From: gyara Date: Sat, 27 Aug 2022 19:10:45 +0900 Subject: gnu: exa: Update to 0.10.1. * gnu/packages/rust-apps.scm (exa): Update to 0.10.1. [arguments]: Delete custom phase 'disable-failing-tests. Add custom 'build-manual phase. Remove trailing #t from phases. [cargo-inputs]: Replace rust-datetime-0.4 with 0.5, rust-git2-0.9 with 0.13, rust-number-prefix-0.3 with 0.4, rust-users-0.9 with 0.11, rust-zoneinfo-compiled-0.4 with 0.5. [cargo-native-inputs]: Replace rust-datetime-0.4 with 0.5. [native-inputs]: Add pandoc. Signed-off-by: Efraim Flashner --- gnu/packages/rust-apps.scm | 74 ++++++++++++++++++---------------------------- 1 file changed, 28 insertions(+), 46 deletions(-) diff --git a/gnu/packages/rust-apps.scm b/gnu/packages/rust-apps.scm index 8e7c4a0ed5..b6d23e9893 100644 --- a/gnu/packages/rust-apps.scm +++ b/gnu/packages/rust-apps.scm @@ -53,6 +53,7 @@ #:use-module (gnu packages documentation) #:use-module (gnu packages fontutils) #:use-module (gnu packages freedesktop) + #:use-module (gnu packages haskell-xyz) #:use-module (gnu packages glib) #:use-module (gnu packages gtk) #:use-module (gnu packages ibus) @@ -365,7 +366,7 @@ Features include: (define-public exa (package (name "exa") - (version "0.9.0") + (version "0.10.1") (source (origin (method url-fetch) @@ -374,14 +375,14 @@ Features include: (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1s902xgplz1167k0r7x235p914lprpsqy2if0kpa1mlb0fswqqq4")))) + "1dd7waq2bnxc1xwygqphi8k1g2qzykr6fk0q4rgrhhxp2jd09f04")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-ansi-term" ,rust-ansi-term-0.12) - ("rust-datetime" ,rust-datetime-0.4) + ("rust-datetime" ,rust-datetime-0.5) ("rust-env-logger" ,rust-env-logger-0.6) - ("rust-git2" ,rust-git2-0.9) + ("rust-git2" ,rust-git2-0.13) ("rust-glob" ,rust-glob-0.3) ("rust-lazy-static" ,rust-lazy-static-1) ("rust-libc" ,rust-libc-0.2) @@ -389,64 +390,45 @@ Features include: ("rust-log" ,rust-log-0.4) ("rust-natord" ,rust-natord-1) ("rust-num-cpus" ,rust-num-cpus-1) - ("rust-number-prefix" ,rust-number-prefix-0.3) + ("rust-number-prefix" ,rust-number-prefix-0.4) ("rust-scoped-threadpool" ,rust-scoped-threadpool-0.1) ("rust-term-grid" ,rust-term-grid-0.1) ("rust-term-size" ,rust-term-size-0.3) ("rust-unicode-width" ,rust-unicode-width-0.1) - ("rust-users" ,rust-users-0.9) - ("rust-zoneinfo-compiled" ,rust-zoneinfo-compiled-0.4)) + ("rust-users" ,rust-users-0.11) + ("rust-zoneinfo-compiled" ,rust-zoneinfo-compiled-0.5)) #:cargo-development-inputs - (("rust-datetime" ,rust-datetime-0.4)) + (("rust-datetime" ,rust-datetime-0.5)) #:phases (modify-phases %standard-phases - ;; Ignoring failing tests. - ;; Reported in https://github.com/ogham/exa/issues/318 - (add-before 'check 'disable-failing-tests + (add-after 'build 'build-manual (lambda _ - (substitute* "src/options/mod.rs" - (("^.*fn oneline_across.*" oneline-across) - (string-append "#[ignore]\n" oneline-across))) - - (substitute* "src/options/view.rs" - (("test!\\(across:.*") "") - (("test!\\(cr:.*") "") - (("test!\\(empty:.*") "") - (("test!\\(gracross:.*") "") - (("test!\\(grid:.*") "") - (("test!\\(icons:.*") "") - (("test!\\(just_binary:.*") "") - (("test!\\(just_blocks:.*") "") - (("test!\\(just_bytes:.*") "") - (("test!\\(just_git:.*") "") - (("test!\\(just_group:.*") "") - (("test!\\(just_header:.*") "") - (("test!\\(just_inode:.*") "") - (("test!\\(just_links:.*") "") - (("test!\\(leg:.*") "") - (("test!\\(lid:.*") "") - (("test!\\(original_g:.*") "")) - #t)) + (map (lambda (page) + (system (string-append + "pandoc --standalone -f markdown -t man man/" + page ".md > " page))) + `("exa.1" "exa_colors.5")))) (add-after 'install 'install-extras (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) (share (string-append out "/share")) - (man1 (string-append share "/man/man1"))) - (install-file "contrib/man/exa.1" man1) + (man1 (string-append share "/man/man1")) + (man5 (string-append share "/man/man5"))) + (install-file "exa.1" man1) + (install-file "exa_colors.5" man5) (mkdir-p (string-append out "/etc/bash_completion.d")) (mkdir-p (string-append share "/fish/vendor_completions.d")) (mkdir-p (string-append share "/zsh/site-functions")) - (copy-file "contrib/completions.bash" + (copy-file "completions/completions.bash" (string-append out "/etc/bash_completion.d/exa")) - (copy-file "contrib/completions.fish" - (string-append share "/fish/vendor_completions.d/exa.fish")) - (copy-file "contrib/completions.zsh" - (string-append share "/zsh/site-functions/_exa")) - #t)))))) - (inputs - (list libgit2 zlib)) - (native-inputs - (list pkg-config)) + (copy-file "completions/completions.fish" + (string-append + share "/fish/vendor_completions.d/exa.fish")) + (copy-file "completions/completions.zsh" + (string-append + share "/zsh/site-functions/_exa")))))))) + (inputs (list libgit2 zlib)) + (native-inputs (list pkg-config pandoc)) (home-page "https://the.exa.website/") (synopsis "Modern replacement for ls") (description "@code{exa} is a modern replacement for the command-line -- cgit v1.2.3 From 62f80d215eea62b120416d638f62668482d40ffb Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 28 Sep 2022 13:34:07 +0300 Subject: gnu: exa: Don't install source. * gnu/packages/rust-apps.scm (exa)[arguments]: Add flag to not install the package source. --- gnu/packages/rust-apps.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/packages/rust-apps.scm b/gnu/packages/rust-apps.scm index b6d23e9893..bced34bfdb 100644 --- a/gnu/packages/rust-apps.scm +++ b/gnu/packages/rust-apps.scm @@ -378,7 +378,8 @@ Features include: "1dd7waq2bnxc1xwygqphi8k1g2qzykr6fk0q4rgrhhxp2jd09f04")))) (build-system cargo-build-system) (arguments - `(#:cargo-inputs + `(#:install-source? #f + #:cargo-inputs (("rust-ansi-term" ,rust-ansi-term-0.12) ("rust-datetime" ,rust-datetime-0.5) ("rust-env-logger" ,rust-env-logger-0.6) -- cgit v1.2.3 From 1590d6d58e4d1dcb482982a88c7eba70c41bc226 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 28 Sep 2022 13:47:54 +0300 Subject: gnu: exa: Only build with pandoc when supported. * gnu/packages/rust-apps.scm (exa)[arguments]: Adjust custom 'build-manual phase to only build when pandoc is available. Adjust custom 'install-extras to only install man pages when they are available. [native-inputs]: Only include pandoc on systems where it is supported. --- gnu/packages/rust-apps.scm | 30 +++++++++++++++++++++--------- 1 file changed, 21 insertions(+), 9 deletions(-) diff --git a/gnu/packages/rust-apps.scm b/gnu/packages/rust-apps.scm index bced34bfdb..74581bc1e5 100644 --- a/gnu/packages/rust-apps.scm +++ b/gnu/packages/rust-apps.scm @@ -403,20 +403,26 @@ Features include: #:phases (modify-phases %standard-phases (add-after 'build 'build-manual - (lambda _ - (map (lambda (page) - (system (string-append - "pandoc --standalone -f markdown -t man man/" - page ".md > " page))) - `("exa.1" "exa_colors.5")))) + (lambda* (#:key inputs #:allow-other-keys) + (when (assoc-ref inputs "pandoc") + (map (lambda (page) + (with-output-to-file page + (lambda _ + (invoke "pandoc" "--standalone" + "-f" "markdown" + "-t" "man" + (string-append "man/" page ".md"))))) + (list "exa.1" "exa_colors.5"))))) (add-after 'install 'install-extras (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) (share (string-append out "/share")) (man1 (string-append share "/man/man1")) (man5 (string-append share "/man/man5"))) - (install-file "exa.1" man1) - (install-file "exa_colors.5" man5) + (when (file-exists? "exa.1") + (install-file "exa.1" man1)) + (when (file-exists? "exa_colors.5") + (install-file "exa_colors.5" man5)) (mkdir-p (string-append out "/etc/bash_completion.d")) (mkdir-p (string-append share "/fish/vendor_completions.d")) (mkdir-p (string-append share "/zsh/site-functions")) @@ -429,7 +435,13 @@ Features include: (string-append share "/zsh/site-functions/_exa")))))))) (inputs (list libgit2 zlib)) - (native-inputs (list pkg-config pandoc)) + (native-inputs + (append + (list pkg-config) + (if (member (%current-system) + (package-transitive-supported-systems pandoc)) + (list pandoc) + '()))) (home-page "https://the.exa.website/") (synopsis "Modern replacement for ls") (description "@code{exa} is a modern replacement for the command-line -- cgit v1.2.3 From f0136c880516fb02c89cad77bddaea207722d302 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 28 Sep 2022 13:55:15 +0300 Subject: Revert "gnu: Add rust-number-prefix-0.4." This reverts commit 3ff582b82b047f709b761ccf075809c66fef7957. This package was already included in Guix. --- gnu/packages/crates-io.scm | 19 +++---------------- 1 file changed, 3 insertions(+), 16 deletions(-) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index 1f4fa10524..f83d7fff6d 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -40072,10 +40072,10 @@ mathematics.") giga, kibi.") (license license:expat))) -(define-public rust-number-prefix-0.4 +(define-public rust-number-prefix-0.3 (package (name "rust-number-prefix") - (version "0.4.0") + (version "0.3.0") (source (origin (method url-fetch) @@ -40084,7 +40084,7 @@ giga, kibi.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1wvh13wvlajqxkb1filsfzbrnq0vrmrw298v2j3sy82z1rm282w3")))) + "0slm4mqmpgs6hvz22ycny9lvyvl9ivs80a1lncslp7lszz02zc0p")))) (build-system cargo-build-system) (home-page "https://github.com/ogham/rust-number-prefix") (synopsis "Format numeric prefixes: kilo, giga, kibi") @@ -40093,19 +40093,6 @@ giga, kibi.") giga, kibi.") (license license:expat))) -(define-public rust-number-prefix-0.3 - (package - (inherit rust-number-prefix-0.4) - (name "rust-number-prefix") - (version "0.3.0") - (source (origin - (method url-fetch) - (uri (crate-uri "number_prefix" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "0slm4mqmpgs6hvz22ycny9lvyvl9ivs80a1lncslp7lszz02zc0p")))))) - (define-public rust-numtoa-0.1 (package (name "rust-numtoa") -- cgit v1.2.3 From c249927ebba47f9b199fdf8a88804a2c1713a097 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 28 Sep 2022 14:53:03 +0300 Subject: gnu: vim: Update to 9.0.0594. * gnu/packages/vim.scm (vim): Update to 9.0.0594. [arguments]: Adjust custom 'patch-absolute-paths phase to add another file to patch. --- gnu/packages/vim.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/vim.scm b/gnu/packages/vim.scm index a6250f71de..c6bfbb5c6b 100644 --- a/gnu/packages/vim.scm +++ b/gnu/packages/vim.scm @@ -77,7 +77,7 @@ (define-public vim (package (name "vim") - (version "9.0.0509") + (version "9.0.0594") (source (origin (method git-fetch) (uri (git-reference @@ -86,7 +86,7 @@ (file-name (git-file-name name version)) (sha256 (base32 - "0affh0q6r5cvf01f4m5nr94bq1k23bzhiwa4xlpqim21yipafamm")))) + "0rb1385pwz75z342b4915gp8212xipp38z9qlaxdqdy3x5m16lcp")))) (build-system gnu-build-system) (arguments `(#:test-target "test" @@ -100,6 +100,7 @@ "src/testdir/test_normal.vim" "src/testdir/test_popupwin.vim" "src/testdir/test_shell.vim" + "src/testdir/test_suspend.vim" "src/testdir/test_terminal.vim" "src/testdir/test_terminal2.vim") (("/bin/sh") (which "sh"))) -- cgit v1.2.3 From 9bd8e145500d8687bb240fb66691e00aa56f66a6 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 28 Sep 2022 15:45:48 +0300 Subject: gnu: git-annex: Update to 10.20220927. * gnu/packages/haskell-apps.scm (git-annex): Update to 10.20220927. [inputs]: Add ghc-clientsession, ghc-wai, ghc-wai-extra, ghc-warp, ghc-warp-tls, ghc-yesod, ghc-yesod-core, ghc-yesod-form, and ghc-yesod-static. --- gnu/packages/haskell-apps.scm | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/gnu/packages/haskell-apps.scm b/gnu/packages/haskell-apps.scm index 50380281d7..58a70dfa3a 100644 --- a/gnu/packages/haskell-apps.scm +++ b/gnu/packages/haskell-apps.scm @@ -304,14 +304,14 @@ to @code{cabal repl}).") (define-public git-annex (package (name "git-annex") - (version "10.20220822") + (version "10.20220927") (source (origin (method url-fetch) (uri (string-append "https://hackage.haskell.org/package/" "git-annex/git-annex-" version ".tar.gz")) (sha256 - (base32 "1qv3cb7p2zyc5mpcr4nfgzdmswfny5jbimd2ip7ygh71jlahrbfc")))) + (base32 "1bqcaddw47g6i3z9g0iym5x7zy1q8fsirzqnjsa63n2bwm6zzplc")))) (build-system haskell-build-system) (arguments `(#:configure-flags @@ -406,6 +406,7 @@ to @code{cabal repl}).") ghc-bloomfilter ghc-byteable ghc-case-insensitive + ghc-clientsession ghc-concurrent-output ghc-conduit ghc-connection @@ -462,6 +463,14 @@ to @code{cabal repl}).") ghc-utf8-string ghc-uuid ghc-vector + ghc-wai + ghc-wai-extra + ghc-warp + ghc-warp-tls + ghc-yesod + ghc-yesod-core + ghc-yesod-form + ghc-yesod-static git rsync)) (native-inputs -- cgit v1.2.3 From 0b59e22c1642648f2129cc6e0ebe0b80fd197701 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 28 Sep 2022 15:45:49 +0300 Subject: gnu: parallel: Update to 20220922. * gnu/packages/parallel.scm (parallel): Update to 20220922. --- gnu/packages/parallel.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/parallel.scm b/gnu/packages/parallel.scm index 9503b1df83..5a5d0f7399 100644 --- a/gnu/packages/parallel.scm +++ b/gnu/packages/parallel.scm @@ -63,14 +63,14 @@ (define-public parallel (package (name "parallel") - (version "20220822") + (version "20220922") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/parallel/parallel-" version ".tar.bz2")) (sha256 - (base32 "05mh3bbl7c9c945jqhlfspjqji79zq8ml27k6ihaqi8bqibl83cx")) + (base32 "1hfar4hvzcic5gv7nl7jr6hafhgiax005zydwxcwxvy1vm4s3cqm")) (snippet '(begin (use-modules (guix build utils)) -- cgit v1.2.3 From 5723c511c2d162e86b6d22592f90faf387c6daaf Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 28 Sep 2022 15:45:49 +0300 Subject: gnu: ffmpeg-5: Update to 5.1.2. * gnu/packages/video.scm (ffmpeg-5): Update to 5.1.2. --- gnu/packages/video.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index f07fe192ed..01c9ae186a 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -1575,14 +1575,14 @@ operate properly.") (define-public ffmpeg-5 (package (name "ffmpeg") - (version "5.1.1") + (version "5.1.2") (source (origin (method url-fetch) (uri (string-append "https://ffmpeg.org/releases/ffmpeg-" version ".tar.xz")) (sha256 (base32 - "0d84pjmlb5ss1yybxic3wlyrr31wcsg29ysqx5qiwlcnqkw3zgwm")))) + "1p7kxr0f9f9d0pyyxq9ciaj9ch2drmcw5p9jk22j111ccrnp17k1")))) (build-system gnu-build-system) (inputs (append -- cgit v1.2.3 From 2703b16005c83925335bfcf75300bb13ecb15c97 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Tue, 27 Sep 2022 17:06:19 -0400 Subject: services: samba: Remove unused variables and modules. * gnu/services/samba.scm (%smb-conf): Delete unused variable. --- gnu/services/samba.scm | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/gnu/services/samba.scm b/gnu/services/samba.scm index 4e930d61dc..dfc7778570 100644 --- a/gnu/services/samba.scm +++ b/gnu/services/samba.scm @@ -17,14 +17,12 @@ ;;; along with GNU Guix. If not, see . (define-module (gnu services samba) - #:use-module (gnu packages) #:use-module (gnu packages base) #:use-module (gnu packages admin) #:use-module (gnu packages samba) #:use-module (gnu services) - #:use-module (gnu services configuration) #:use-module (gnu services shepherd) #:use-module (gnu services base) #:use-module (gnu system shadow) @@ -41,20 +39,10 @@ #:export (samba-service-type samba-configuration - samba-smb-conf wsdd-service-type wsdd-configuration)) -(define %smb-conf - (plain-file "smb.conf" "[global] - workgroup = WORKGROUP - server string = Samba Server - server role = standalone server - log file = /var/log/samba/log.%m - logging = file -")) - (define-record-type* samba-configuration make-samba-configuration -- cgit v1.2.3 From 13ed651870edf99e0729ab547a7ae2691a51c971 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Wed, 28 Sep 2022 08:20:43 -0400 Subject: doc: Clarify Samba Services configuration. * doc/guix.texi (Samba Services): Explicit the fact that no daemons are automatically run. Remove the word "Manually", that suggested otherwise. --- doc/guix.texi | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index c534574f81..275b53f267 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -31335,7 +31335,7 @@ systems. The service type to enable the samba services @code{samba}, @code{nmbd}, @code{smbd} and @code{winbindd}. By default this service type does not -run as an AD DC, hence @code{samba} remains disabled. +run any of the Samba daemons; they must be enabled individually. @end defvar @@ -31350,16 +31350,16 @@ The samba package to use. The config file to use. @item @code{enable-samba?} (default: @code{#f}) -Manually enable the @code{samba} daemon. +Enable the @code{samba} daemon. @item @code{enable-smbd?} (default: @code{#f}) -Manually enable the @code{smbd} daemon. +Enable the @code{smbd} daemon. @item @code{enable-nmbd?} (default: @code{#f}) -Manually enable the @code{nmbd} daemon. +Enable the @code{nmbd} daemon. @item @code{enable-winbindd?} (default: @code{#f}) -Manually enable the @code{winbindd} daemon. +Enable the @code{winbindd} daemon. @end table @end deftp -- cgit v1.2.3 From f2d071c832d4cc556f915ca2595ba958cac3a29c Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Wed, 28 Sep 2022 08:22:45 -0400 Subject: doc: Add a simple Samba share example. * doc/guix.texi (Samba Services): Add a configuration example. --- doc/guix.texi | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/doc/guix.texi b/doc/guix.texi index 275b53f267..5de1fdbd8c 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -31337,6 +31337,38 @@ The service type to enable the samba services @code{samba}, @code{nmbd}, @code{smbd} and @code{winbindd}. By default this service type does not run any of the Samba daemons; they must be enabled individually. +Below is a basic example that configures a simple, anonymous +(unauthenticated) Samba file share exposing the @file{/public} +directory. + +@quotation Tip +The @file{/public} directory and its contents must be world +readable/writable, so you'll want to run @samp{chmod -R 777 /public} on +it. +@end quotation + +@quotation Caution +Such a Samba configuration should only be used in controlled +environments, and you should not share any private files using it, as +anyone connecting to your network would be able to access them. +@end quotation + +@lisp +(service samba-service-type (samba-configuration + (enable-smbd? #t) + (config-file (plain-file "smb.conf" "\ +[global] +map to guest = Bad User +logging = syslog@@1 + +[public] +browsable = yes +path = /public +read only = no +guest ok = yes +guest only = yes\n")))) +@end lisp + @end defvar @deftp{Data Type} samba-service-configuration -- cgit v1.2.3 From b43ed95028c51ce8a3fae6f36c68eac318df405f Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Wed, 28 Sep 2022 09:03:17 -0400 Subject: doc: Mention where one can learn more about the samba config file syntax. * doc/guix.texi (Samba Services): Refer users to "man smb.conf" to learn more about the Samba config file format. --- doc/guix.texi | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/doc/guix.texi b/doc/guix.texi index 5de1fdbd8c..0503c18bb2 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -31379,7 +31379,8 @@ Configuration record for the Samba suite. The samba package to use. @item @code{config-file} (default: @code{#f}) -The config file to use. +The config file to use. To learn about its syntax, run @samp{man +smb.conf}. @item @code{enable-samba?} (default: @code{#f}) Enable the @code{samba} daemon. -- cgit v1.2.3 From 103d8229cbbd3baefe1f3b02bc2edff9c816b0bf Mon Sep 17 00:00:00 2001 From: Sughosha Date: Wed, 21 Sep 2022 20:37:32 +0200 Subject: gnu: gnome: Update propagated dependencies. * gnu/packages/gnome.scm (gnome) [propgated-inputs]: Remove gnome-terminal and gedit. And add gnome-console and gnome-text-editor. Signed-off-by: Maxim Cournoyer --- gnu/packages/gnome.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index c3bc3ca2fb..a634f2c407 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -10019,7 +10019,6 @@ world.") ("epiphany" ,epiphany) ("evince" ,evince) ("file-roller" ,file-roller) - ("gedit" ,gedit) ("gnome-boxes" ,gnome-boxes) ("gnome-calculator" ,gnome-calculator) ("gnome-calendar" ,gnome-calendar) @@ -10033,7 +10032,8 @@ world.") ("gnome-photos" ,gnome-photos) ("gnome-screenshot" ,gnome-screenshot) ("gnome-system-monitor" ,gnome-system-monitor) - ("gnome-terminal" ,gnome-terminal) + ("gnome-text-editor" ,gnome-text-editor) + ("gnome-console" ,gnome-console) ("gnome-weather" ,gnome-weather) ("nautilus" ,nautilus) ("simple-scan" ,simple-scan) -- cgit v1.2.3 From 12b55f1b322f7820e6d7071cf4e4fdce0e70bb5e Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Wed, 28 Sep 2022 12:59:06 -0400 Subject: gnu: gnome: Remove input labels. * gnu/packages/gnome.scm (gnome)[propagated-inputs]: Remove labels. --- gnu/packages/gnome.scm | 171 +++++++++++++++++++++++++------------------------ 1 file changed, 86 insertions(+), 85 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index a634f2c407..9519772fa6 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -9978,92 +9978,93 @@ world.") (build-system trivial-build-system) (arguments '(#:builder (begin (mkdir %output) #t))) (propagated-inputs - `(;; GNOME-Core-OS-Services - ("accountsservice" ,accountsservice) - ("network-manager" ,network-manager) - ("packagekit" ,packagekit) - ("upower" ,upower) - ;; GNOME-Core-Shell - ("adwaita-icon-theme" ,adwaita-icon-theme) - ("gdm" ,gdm) - ("glib-networking" ,glib-networking) - ("gnome-backgrounds" ,gnome-backgrounds) - ("gnome-bluetooth" ,gnome-bluetooth) - ("gnome-color-manager" ,gnome-color-manager) - ("gnome-control-center" ,gnome-control-center) - ("gnome-desktop" ,gnome-desktop) - ("gnome-initial-setup" ,gnome-initial-setup) - ("gnome-keyring" ,gnome-keyring) - ("gnome-menus" ,gnome-menus) - ("gnome-session" ,gnome-session) - ("gnome-settings-daemon" ,gnome-settings-daemon) - ("gnome-shell-extensions" ,gnome-shell-extensions) - ("gnome-shell" ,gnome-shell) - ("gnome-themes-extra" ,gnome-themes-extra) - ("gnome-user-docs" ,gnome-user-docs) - ("gnome-user-share" ,gnome-user-share) - ("gsettings-desktop-schemas" ,gsettings-desktop-schemas) - ("gvfs" ,gvfs) - ("mutter" ,mutter) - ("orca" ,orca) - ("rygel" ,rygel) - ("sushi" ,sushi) - ;; GNOME-Core-Utilities - ("baobab" ,baobab) - ("cheese" ,cheese) - ;; XXX: EoG requires librsvg-next, which depends on Rust, which currently - ;; only works on x86_64, so exclude it on other architectures. - ,@(if (string-prefix? "x86_64" (%current-system)) - `(("eog" ,eog)) + `(,@(if (string-prefix? "x86_64" (%current-system)) + ;; XXX: EoG requires librsvg-next, which depends on Rust, which currently + ;; only works on x86_64, so exclude it on other architectures. + (list eog) '()) - ("epiphany" ,epiphany) - ("evince" ,evince) - ("file-roller" ,file-roller) - ("gnome-boxes" ,gnome-boxes) - ("gnome-calculator" ,gnome-calculator) - ("gnome-calendar" ,gnome-calendar) - ("gnome-characters" ,gnome-characters) - ("gnome-clocks" ,gnome-clocks) - ("gnome-contacts" ,gnome-contacts) - ("gnome-disk-utility" ,gnome-disk-utility) - ("gnome-font-viewer" ,gnome-font-viewer) - ("gnome-maps" ,gnome-maps) - ("gnome-music" ,gnome-music) - ("gnome-photos" ,gnome-photos) - ("gnome-screenshot" ,gnome-screenshot) - ("gnome-system-monitor" ,gnome-system-monitor) - ("gnome-text-editor" ,gnome-text-editor) - ("gnome-console" ,gnome-console) - ("gnome-weather" ,gnome-weather) - ("nautilus" ,nautilus) - ("simple-scan" ,simple-scan) - ("totem" ,totem) - ("tracker-miners" ,tracker-miners) - ("yelp" ,yelp) - ;; Others - ("hicolor-icon-theme" ,hicolor-icon-theme) - ("gnome-online-accounts" ,gnome-online-accounts) - - ;; Packages not part of GNOME proper but that are needed for a good - ;; experience. See . - ;; XXX: Find out exactly which ones are needed and why. - ("font-abattis-cantarell" ,font-abattis-cantarell) - ("font-dejavu" ,font-dejavu) - ("at-spi2-core" ,at-spi2-core-minimal) - ("dbus" ,dbus) - ("dconf" ,dconf) - ("desktop-file-utils" ,desktop-file-utils) - ("gnome-default-applications" ,gnome-default-applications) - ("gst-plugins-base" ,gst-plugins-base) - ("gst-plugins-good" ,gst-plugins-good) - ("gucharmap" ,gucharmap) - ("pinentry-gnome3" ,pinentry-gnome3) - ("pulseaudio" ,pulseaudio) - ("shared-mime-info" ,shared-mime-info) - ("system-config-printer" ,system-config-printer) - ("xdg-user-dirs" ,xdg-user-dirs) - ("yelp" ,yelp) - ("zenity" ,zenity))) + ,@(list + ;; GNOME-Core-OS-Services. + accountsservice + network-manager + packagekit + upower + ;; GNOME-Core-Shell. + adwaita-icon-theme + gdm + glib-networking + gnome-backgrounds + gnome-bluetooth + gnome-color-manager + gnome-control-center + gnome-desktop + gnome-initial-setup + gnome-keyring + gnome-menus + gnome-session + gnome-settings-daemon + gnome-shell-extensions + gnome-shell + gnome-themes-extra + gnome-user-docs + gnome-user-share + gsettings-desktop-schemas + gvfs + mutter + orca + rygel + sushi + ;; GNOME-Core-Utilities. + baobab + cheese + epiphany + evince + file-roller + gnome-boxes + gnome-calculator + gnome-calendar + gnome-characters + gnome-clocks + gnome-contacts + gnome-disk-utility + gnome-font-viewer + gnome-maps + gnome-music + gnome-photos + gnome-screenshot + gnome-system-monitor + gnome-text-editor + gnome-console + gnome-weather + nautilus + simple-scan + totem + tracker-miners + yelp + ;; Others. + hicolor-icon-theme + gnome-online-accounts + + ;; Packages not part of GNOME proper but that are needed for a good + ;; experience. See . + ;; XXX: Find out exactly which ones are needed and why. + font-abattis-cantarell + font-dejavu + at-spi2-core-minimal + dbus + dconf + desktop-file-utils + gnome-default-applications + gst-plugins-base + gst-plugins-good + gucharmap + pinentry-gnome3 + pulseaudio + shared-mime-info + system-config-printer + xdg-user-dirs + yelp + zenity))) (synopsis "The GNU desktop environment") (home-page "https://www.gnome.org/") (description -- cgit v1.2.3 From 2adb33279a2af406d972ac7112b759a7878e2e46 Mon Sep 17 00:00:00 2001 From: Sughosha Date: Mon, 19 Sep 2022 13:54:54 +0200 Subject: gnu: zplugins: Update to 0.2.4 * gnu/packages/music (zplugins): Update to 0.2.4 Signed-off-by: Maxim Cournoyer --- gnu/packages/music.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index 66b4beae0c..bbb58c0241 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -6282,7 +6282,7 @@ as JACK standalone applications.") (define-public zplugins (package (name "zplugins") - (version "0.1.7") + (version "0.2.4") (source (origin (method git-fetch) @@ -6293,7 +6293,7 @@ as JACK standalone applications.") (file-name (git-file-name name version)) (sha256 (base32 - "1rkm2xajmyik6289b20rp5a5br9f3sh1xk8nb1bs6qpmcrfirgbs")))) + "0l6cm6y8j1417mwspraldzixpnps8scx81wd36n2xpx60v4iqss0")))) (build-system meson-build-system) (inputs (list guile-2.2 libsndfile lv2 ztoolkit-rsvg)) -- cgit v1.2.3 From d0975b4e7e2bbf8720eec20c76590a8030f01f34 Mon Sep 17 00:00:00 2001 From: Hilton Chain Date: Sat, 24 Sep 2022 15:09:10 +0800 Subject: gnu: extra-cmake-modules: Update to 5.98.0. * gnu/packages/kde-frameworks.scm (extra-cmake-modules): Update to 5.98.0. Signed-off-by: Liliana Marie Prikler --- gnu/packages/kde-frameworks.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm index 738013fdba..52314fd0ff 100644 --- a/gnu/packages/kde-frameworks.scm +++ b/gnu/packages/kde-frameworks.scm @@ -88,7 +88,7 @@ (define-public extra-cmake-modules (package (name "extra-cmake-modules") - (version "5.91.0") + (version "5.98.0") (source (origin (method url-fetch) (uri (string-append @@ -97,7 +97,7 @@ name "-" version ".tar.xz")) (sha256 (base32 - "0k65rvxh926ya6qahzk2ns7g1fya1429648mlx7iipxa61g8h5wp")))) + "0669m98vqy4hpacfjs7xpgjj1bns24kjybrjipxzp82092g8y69w")))) (build-system cmake-build-system) (native-inputs ;; Add test dependency, except on armhf where building it is too -- cgit v1.2.3 From 98e2629165d8c753e9bf913798c47e6923d4061a Mon Sep 17 00:00:00 2001 From: Hilton Chain Date: Sat, 24 Sep 2022 15:09:38 +0800 Subject: gnu: kcoreaddons: Remove trailing #t. * gnu/packages/kde-frameworks.scm (kcoreaddons)[arguments]<#:phases>: Remove trailing #t. Signed-off-by: Liliana Marie Prikler --- gnu/packages/kde-frameworks.scm | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm index 52314fd0ff..e4337636ac 100644 --- a/gnu/packages/kde-frameworks.scm +++ b/gnu/packages/kde-frameworks.scm @@ -603,20 +603,17 @@ propagate their changes to their respective configuration files.") ;; being interleaved. (display "[test_channels]\n*\n") ;; This fails with ENOSPC because of too many inotify watches. - (display "[benchNotifyWatcher]\n*\n"))) - #t)) + (display "[benchNotifyWatcher]\n*\n"))))) ;; See upstream commit ee424e9b62368485bba4193053cabb553a1d268e (add-after 'unpack 'fix-broken-test (lambda _ (substitute* "autotests/kdirwatch_unittest.cpp" (("QVERIFY\\(waitForRecreationSignal\\(watch, existingFile\\)\\);" m) - (string-append m "\nwaitUntilNewSecond();"))) - #t)) + (string-append m "\nwaitUntilNewSecond();"))))) (add-before 'check 'check-setup (lambda _ (setenv "HOME" (getcwd)) - (setenv "TMPDIR" (getcwd)) - #t))))) + (setenv "TMPDIR" (getcwd))))))) (home-page "https://community.kde.org/Frameworks") (synopsis "Qt addon library with a collection of non-GUI utilities") (description "KCoreAddons provides classes built on top of QtCore to -- cgit v1.2.3 From b23985dc80513791be045c4bcb9eb54f6d1890db Mon Sep 17 00:00:00 2001 From: Hilton Chain Date: Sat, 24 Sep 2022 15:10:09 +0800 Subject: gnu: kcoreaddons: Update to 5.98.0. * gnu/packages/kde-frameworks.scm (kcoreaddons): Update to 5.98.0. [arguments]<#:phases>: Update blocklist for failing tests. Signed-off-by: Liliana Marie Prikler --- gnu/packages/kde-frameworks.scm | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm index e4337636ac..61cbf19bc4 100644 --- a/gnu/packages/kde-frameworks.scm +++ b/gnu/packages/kde-frameworks.scm @@ -574,7 +574,7 @@ propagate their changes to their respective configuration files.") (define-public kcoreaddons (package (name "kcoreaddons") - (version "5.70.0") + (version "5.98.0") (source (origin (method url-fetch) (uri (string-append @@ -583,7 +583,7 @@ propagate their changes to their respective configuration files.") name "-" version ".tar.xz")) (sha256 (base32 - "10a7zys3limsawl7lk9ggymk3msk2bp0y8hp0jmsvk3l405pd1ps")))) + "0lqmyxqsw7w1qgdgmax63v64cy7dwk7n4zi8k53xmrqjmd9jir52")))) (build-system cmake-build-system) (native-inputs (list extra-cmake-modules qttools-5 shared-mime-info @@ -602,14 +602,8 @@ propagate their changes to their respective configuration files.") ;; FIXME: Make it pass. Test failure caused by stout/stderr ;; being interleaved. (display "[test_channels]\n*\n") - ;; This fails with ENOSPC because of too many inotify watches. - (display "[benchNotifyWatcher]\n*\n"))))) - ;; See upstream commit ee424e9b62368485bba4193053cabb553a1d268e - (add-after 'unpack 'fix-broken-test - (lambda _ - (substitute* "autotests/kdirwatch_unittest.cpp" - (("QVERIFY\\(waitForRecreationSignal\\(watch, existingFile\\)\\);" m) - (string-append m "\nwaitUntilNewSecond();"))))) + ;; FIXME + (display "[test_inheritance]\n*\n"))))) (add-before 'check 'check-setup (lambda _ (setenv "HOME" (getcwd)) -- cgit v1.2.3 From 7bcfdebc55f8b50d490201e63461d6533d60c19d Mon Sep 17 00:00:00 2001 From: Hilton Chain Date: Mon, 26 Sep 2022 21:30:24 +0800 Subject: gnu: Add abseil-cpp-cxxstd17. * gnu/packages/cpp.scm (abseil-cpp-cxxstd17): New variable. Signed-off-by: Liliana Marie Prikler --- gnu/packages/cpp.scm | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm index d03e0bc7e1..5e0646444c 100644 --- a/gnu/packages/cpp.scm +++ b/gnu/packages/cpp.scm @@ -1041,6 +1041,15 @@ Google's C++ code base.") `(cons* "-DBUILD_TESTING=ON" (delete "-DABSL_RUN_TESTS=ON" ,flags)))))))) +(define-public abseil-cpp-cxxstd17 + (let ((base abseil-cpp)) + (hidden-package + (package/inherit base + (arguments + (substitute-keyword-arguments (package-arguments base) + ((#:configure-flags flags) + #~(cons* "-DCMAKE_CXX_STANDARD=17" #$flags)))))))) + (define-public pegtl (package (name "pegtl") -- cgit v1.2.3 From dc07a4ce6c34c2b61d0713a4a6ed89bc128783b4 Mon Sep 17 00:00:00 2001 From: Hilton Chain Date: Mon, 26 Sep 2022 21:30:49 +0800 Subject: gnu: Add crc32c. * gnu/packages/cpp.scm (crc32c): New variable. * gnu/packages/patches/crc32c-unbundle-googletest.patch: New file. * gnu/local.mk (dist_patch_DATA): Register it here. Signed-off-by: Liliana Marie Prikler --- gnu/local.mk | 1 + gnu/packages/cpp.scm | 38 ++++++++++++++++++++++ .../patches/crc32c-unbundle-googletest.patch | 21 ++++++++++++ 3 files changed, 60 insertions(+) create mode 100644 gnu/packages/patches/crc32c-unbundle-googletest.patch diff --git a/gnu/local.mk b/gnu/local.mk index 9b3b199c7c..75e2309af5 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -997,6 +997,7 @@ dist_patch_DATA = \ %D%/packages/patches/cpuinfo-system-libraries.patch \ %D%/packages/patches/cpulimit-with-glib-2.32.patch \ %D%/packages/patches/crawl-upgrade-saves.patch \ + %D%/packages/patches/crc32c-unbundle-googletest.patch \ %D%/packages/patches/crda-optional-gcrypt.patch \ %D%/packages/patches/clucene-contribs-lib.patch \ %D%/packages/patches/cube-nocheck.patch \ diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm index 5e0646444c..805413cc61 100644 --- a/gnu/packages/cpp.scm +++ b/gnu/packages/cpp.scm @@ -1916,3 +1916,41 @@ and above. It is header only and has zero dependencies. It provides a templated string type for compatibility with any STL-like string (std::string, std::wstring, etc).") (license license:boost1.0))) + +(define-public crc32c + (package + (name "crc32c") + (version "1.1.2") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/google/crc32c") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0966lyy3w5cnrs0c0fkma4hga51k54hns72l4n76944awqssap7j")) + (patches (search-patches "crc32c-unbundle-googletest.patch")))) + (build-system cmake-build-system) + (arguments + (list #:configure-flags #~(list "-DBUILD_SHARED_LIBS=ON" + "-DCRC32C_BUILD_BENCHMARKS=OFF" + "-DCRC32C_USE_GLOG=OFF" + (string-append + "-DCRC32C_BUILD_TESTS=" + ;; TODO: perhaps infer #:tests? + (if #$(%current-target-system) + "OFF" "ON"))) + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'make-reproducible + (lambda _ + (substitute* "CMakeLists.txt" + (("if\\(HAVE_SSE42\\)") "if(FALSE)"))))))) + (native-inputs (list googletest)) + (home-page "https://github.com/google/crc32c") + (synopsis "Cyclic redundancy check") + (description + "This package provides architecture-specific implementations of the +CRC32C algorithm, which is specified in RFC 3720, section 12.1.") + (license license:bsd-3))) diff --git a/gnu/packages/patches/crc32c-unbundle-googletest.patch b/gnu/packages/patches/crc32c-unbundle-googletest.patch new file mode 100644 index 0000000000..da513c5d4e --- /dev/null +++ b/gnu/packages/patches/crc32c-unbundle-googletest.patch @@ -0,0 +1,21 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 8490728..c7f0952 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -315,15 +315,7 @@ if(CRC32C_BUILD_TESTS) + set(install_gmock OFF) + + # This project is tested using GoogleTest. +- add_subdirectory("third_party/googletest") +- +- # GoogleTest triggers a missing field initializers warning. +- if(CRC32C_HAVE_NO_MISSING_FIELD_INITIALIZERS) +- set_property(TARGET gtest +- APPEND PROPERTY COMPILE_OPTIONS -Wno-missing-field-initializers) +- set_property(TARGET gmock +- APPEND PROPERTY COMPILE_OPTIONS -Wno-missing-field-initializers) +- endif(CRC32C_HAVE_NO_MISSING_FIELD_INITIALIZERS) ++ find_package(GTest REQUIRED) + + add_executable(crc32c_tests "") + target_sources(crc32c_tests -- cgit v1.2.3 From adc3b7d31da74aab2f97d109d9f47b1f09789377 Mon Sep 17 00:00:00 2001 From: Hilton Chain Date: Mon, 26 Sep 2022 21:31:12 +0800 Subject: gnu: webrtc-for-telegram-desktop: Update to 621f3da5. * gnu/packages/patches/webrtc-for-telegram-desktop-fix-gcc12-cstdint.patch: New file. * gnu/local.mk (dist_patch_DATA): Register it here. * gnu/packages/telegram.scm (webrtc-for-telegram-desktop): Update to 621f3da5. [patches]: Add webrtc-for-telegram-desktop-fix-gcc12-cstdint.patch. [snippet]: Unbundle libvpx and openh264. [native-inputs]: Remove perl. [inputs]: Replace pipewire with pipewire-0.3. Add abseil-cpp-cxxstd17, libdrm, libglvnd, libvpx, libxfixes, mesa, openh264. Remove alsa-lib, libx11 and pulseaudio. [arguments]<#:phases>: Adjust accordingly. [license]: Likewise. Signed-off-by: Liliana Marie Prikler --- gnu/local.mk | 1 + ...tc-for-telegram-desktop-fix-gcc12-cstdint.patch | 21 +++++++++ gnu/packages/telegram.scm | 52 ++++++++++++---------- 3 files changed, 51 insertions(+), 23 deletions(-) create mode 100644 gnu/packages/patches/webrtc-for-telegram-desktop-fix-gcc12-cstdint.patch diff --git a/gnu/local.mk b/gnu/local.mk index 75e2309af5..0f813edd69 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1975,6 +1975,7 @@ dist_patch_DATA = \ %D%/packages/patches/warsow-qfusion-fix-bool-return-type.patch \ %D%/packages/patches/webkitgtk-adjust-bubblewrap-paths.patch \ %D%/packages/patches/webrtc-audio-processing-big-endian.patch \ + %D%/packages/patches/webrtc-for-telegram-desktop-fix-gcc12-cstdint.patch \ %D%/packages/patches/websocketpp-fix-for-cmake-3.15.patch \ %D%/packages/patches/widelands-add-missing-map-include.patch \ %D%/packages/patches/widelands-system-wide_minizip.patch \ diff --git a/gnu/packages/patches/webrtc-for-telegram-desktop-fix-gcc12-cstdint.patch b/gnu/packages/patches/webrtc-for-telegram-desktop-fix-gcc12-cstdint.patch new file mode 100644 index 0000000000..f1fd29d0d3 --- /dev/null +++ b/gnu/packages/patches/webrtc-for-telegram-desktop-fix-gcc12-cstdint.patch @@ -0,0 +1,21 @@ +From 86d2bcd7afb8706663d29e30f65863de5a626142 Mon Sep 17 00:00:00 2001 +From: Xiretza +Date: Sun, 15 May 2022 12:47:41 +0200 +Subject: [PATCH] fix(h265_pps_parser): fix missing cstdint include + +--- + src/common_video/h265/h265_pps_parser.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/common_video/h265/h265_pps_parser.h b/src/common_video/h265/h265_pps_parser.h +index 28c95ea9..c180b1b9 100644 +--- a/src/common_video/h265/h265_pps_parser.h ++++ b/src/common_video/h265/h265_pps_parser.h +@@ -12,6 +12,7 @@ + #define COMMON_VIDEO_H265_PPS_PARSER_H_ + + #include "absl/types/optional.h" ++#include + + namespace rtc { + class BitBuffer; diff --git a/gnu/packages/telegram.scm b/gnu/packages/telegram.scm index 6c9869f93e..e7beab5c51 100644 --- a/gnu/packages/telegram.scm +++ b/gnu/packages/telegram.scm @@ -30,6 +30,8 @@ #:use-module (gnu packages digest) #:use-module (gnu packages fcitx) #:use-module (gnu packages fcitx5) + #:use-module (gnu packages freedesktop) + #:use-module (gnu packages gl) #:use-module (gnu packages glib) #:use-module (gnu packages gnome) #:use-module (gnu packages gnupg) @@ -58,6 +60,7 @@ #:use-module (gnu packages tls) #:use-module (gnu packages video) #:use-module (gnu packages web) + #:use-module (gnu packages xdisorg) #:use-module (gnu packages xiph) #:use-module (gnu packages xorg) #:use-module ((guix licenses) #:prefix license:) @@ -297,8 +300,8 @@ "0fvad87hyxli83xn19mgf8jjrrh6y6iaig14pckpbkg33vf4wqkj")))) (define-public webrtc-for-telegram-desktop - (let ((commit "91d836dc84a16584c6ac52b36c04c0de504d9c34") - (revision "166")) + (let ((commit "621f3da55331733bf0d1b223786b96b68c03dca1") + (revision "327")) (hidden-package (package (name "webrtc-for-telegram-desktop") @@ -314,57 +317,62 @@ (file-name (git-file-name name version)) (sha256 - (base32 "0plwdp6xgxi27hif5j7kpq425cidxyxbbga3z2f64dsninwy5p1x")) + (base32 "1ks1572k1jj7pmzwm79p2gdgi31dd4bs761bphnx32zyq4c6skxk")) + (patches + (search-patches + ;; https://github.com/desktop-app/tg_owt/pull/101 + "webrtc-for-telegram-desktop-fix-gcc12-cstdint.patch")) (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" + '("abseil-cpp" "libsrtp" "rnnoise" ;; Not available in Guix. - "pffft" "usrsctp" - ;; Has cmake support files for libvpx input. - "libvpx"))) + "pffft"))) (with-directory-excursion "src/third_party" (for-each delete-file-recursively (lset-difference string=? (scandir ".") - (cons* "." ".." keep))))))))) + (cons* "." ".." keep))))) + ;; Unbundle openh264. + (substitute* "CMakeLists.txt" + (("\\include\\(cmake\\/libopenh264\\.cmake\\)")"")))))) (build-system cmake-build-system) (arguments (list #: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 + (add-after 'unpack 'unpack-additional-sources (lambda _ (let* ((third-party (string-append (getcwd) "/src/third_party")) - (libvpx-to (string-append third-party - "/libvpx/source/libvpx")) + (crc32c-to (string-append third-party "/crc32c/src")) (libyuv-to (string-append third-party "/libyuv"))) - (copy-recursively #$libvpx-for-telegram-desktop libvpx-to) + (copy-recursively #$(package-source crc32c) crc32c-to) (copy-recursively #$libyuv-for-telegram-desktop libyuv-to))))))) - (native-inputs (list perl pkg-config python-wrapper yasm)) + (native-inputs (list pkg-config python-wrapper yasm)) (inputs - (list alsa-lib + (list abseil-cpp-cxxstd17 ffmpeg libjpeg-turbo glib + libdrm + libglvnd + libvpx libxcomposite libxdamage libxrender libxrandr + libxfixes + mesa + openh264 openssl opus - pipewire + pipewire-0.3 protobuf - pulseaudio - libx11 libxext libxtst)) (synopsis "WebRTC support for Telegram Desktop") @@ -377,13 +385,11 @@ Telegram project, for its use in telegram desktop client.") 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 + ;; LibSRTP, Crc32c and Others license:bsd-3)))))) (define-public rlottie-for-telegram-desktop -- cgit v1.2.3 From 4531a6c3df490600a53f52897180e9c7ee3749ef Mon Sep 17 00:00:00 2001 From: Hilton Chain Date: Mon, 26 Sep 2022 21:32:06 +0800 Subject: gnu: webrtc-for-telegram-desktop: Sort inputs alphabetically. * gnu/packages/telegram.scm (webrtc-for-telegram-desktop)[inputs]: Sort inputs alphabetically. Signed-off-by: Liliana Marie Prikler --- gnu/packages/telegram.scm | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/gnu/packages/telegram.scm b/gnu/packages/telegram.scm index e7beab5c51..17bb168b50 100644 --- a/gnu/packages/telegram.scm +++ b/gnu/packages/telegram.scm @@ -357,24 +357,24 @@ (inputs (list abseil-cpp-cxxstd17 ffmpeg - libjpeg-turbo glib libdrm libglvnd + libjpeg-turbo libvpx libxcomposite libxdamage - libxrender - libxrandr + libxext libxfixes + libxrandr + libxrender + libxtst mesa openh264 openssl opus pipewire-0.3 - protobuf - libxext - libxtst)) + protobuf)) (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.") -- cgit v1.2.3 From c9bd729dd1d1e68ee59c56a811a47d6bbb844cba Mon Sep 17 00:00:00 2001 From: Hilton Chain Date: Mon, 26 Sep 2022 21:32:28 +0800 Subject: gnu: Remove libvpx-for-telegram-desktop. * gnu/packages/telegram.scm (libvpx-for-telegram-desktop): Remove variable. Signed-off-by: Liliana Marie Prikler --- gnu/packages/telegram.scm | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/gnu/packages/telegram.scm b/gnu/packages/telegram.scm index 17bb168b50..9bdde49754 100644 --- a/gnu/packages/telegram.scm +++ b/gnu/packages/telegram.scm @@ -77,21 +77,6 @@ (define %telegram-version "2.9.3") -(define libvpx-for-telegram-desktop - (let ((commit "5b63f0f821e94f8072eb483014cfc33b05978bb9") - (revision "112")) - (origin - (method git-fetch) - (uri (git-reference - (url "https://chromium.googlesource.com/webm/libvpx") - (commit commit))) - (file-name (git-file-name - "libvpx-for-telegram-desktop" - (git-version "1.9.0" revision commit))) - (sha256 - (base32 - "1psvxaddihlw1k5n0anxif3qli6zyw2sa2ywn6mkb8six9myrp68"))))) - (define libyuv-for-telegram-desktop (let ((commit "ad890067f661dc747a975bc55ba3767fe30d4452") (revision "2211")) -- cgit v1.2.3 From c59d3d67fd1c26a19ecc27bc5ed9d15d77575525 Mon Sep 17 00:00:00 2001 From: Hilton Chain Date: Mon, 26 Sep 2022 21:32:49 +0800 Subject: gnu: Add libdispatch. * gnu/packages/c.scm (libdispatch): New variable. Signed-off-by: Liliana Marie Prikler --- gnu/packages/c.scm | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/gnu/packages/c.scm b/gnu/packages/c.scm index 10275970b1..84b537022d 100644 --- a/gnu/packages/c.scm +++ b/gnu/packages/c.scm @@ -55,6 +55,7 @@ #:use-module (gnu packages perl) #:use-module (gnu packages texinfo) #:use-module (gnu packages guile) + #:use-module (gnu packages llvm) #:use-module (gnu packages lua) #:use-module (gnu packages multiprecision) #:use-module (gnu packages pcre) @@ -1182,6 +1183,41 @@ performance concurrent systems developed in C99+.") (license (list license:bsd-2 ;everything except... license:asl2.0)))) ;src/ck_hp.c +(define-public libdispatch + (package + (name "libdispatch") + (version "5.7") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/apple/swift-corelibs-libdispatch") + (commit (string-append "swift-" version "-RELEASE")))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0skg1azbhbg7y0ql2a5sx6lmfip8l1rajqm95zzf9xv45n4dg9nn")))) + (build-system cmake-build-system) + (arguments + (list #:phases + #~(modify-phases %standard-phases + ;; Use Clang instead of GCC. + (add-before 'configure 'prepare-build-environment + (lambda _ + (setenv "AR" "llvm-ar") + (setenv "NM" "llvm-nm") + (setenv "CC" "clang") + (setenv "CXX" "clang++")))))) + (native-inputs (list clang llvm)) + (home-page "https://apple.github.io/swift-corelibs-libdispatch/") + (synopsis "Concurrent code execution on multicore hardware") + (description + "Grand Central Dispatch (GCD or libdispatch) implements a concurrency model +wherein program tasks are divided into work items. These can be run +sequentially or in parallel, with optional synchronization in between, and GCD +will take care of dispatching tasks to available cores.") + (license license:asl2.0))) + (define-public utf8-h ;; The latest tag is used as there is no release. (let ((commit "500d4ea9f4c3449e5243c088d8af8700f7189734") -- cgit v1.2.3 From 08abd3e56b5787290a914aa86a6023a69a8fca90 Mon Sep 17 00:00:00 2001 From: Hilton Chain Date: Mon, 26 Sep 2022 21:33:06 +0800 Subject: gnu: telegram-desktop: Update to 4.2.2. * gnu/packages/patches/telegram-desktop-allow-disable-libtgvoip.patch: New file. * gnu/local.mk (dist_patch_DATA): Add patch. * gnu/packages/telegram.scm (tgcalls-for-telegram-desktop) (codegen-for-telegram-desktop,lib-base-for-telegram-desktop) (lib-crl-for-telegram-desktop,lib-lottie-for-telegram-desktop) (lib-qr-for-telegram-desktop,lib-rpl-for-telegram-desktop) (lib-spellcheck-for-telegram-desktop,lib-storage-for-telegram-desktop) (lib-tl-for-telegram-desktop,lib-ui-for-telegram-desktop) (lib-webrtc-for-telegram-desktop,lib-webview-for-telegram-desktop) (cmake-helpers-for-telegram-desktop): Bump to submodule checkout. (rlottie-for-telegram-desktop): Bump to submodule checkout. [snippet]: Switch off werror. [arguments]: Inherit from rlottie. (telegram-desktop): Update to 4.2.2. [patches]: Add telegram-desktop-allow-disable-libtgvoip.patch. [arguments]<#:configure-flags>: Unbundle rlottie. <#:phases>: Adjusted accordingly. [native-inputs]: Add clang-toolchain. Remove cmake-shared, extra-cmake-modules and qttools-5. [inputs]: Add abseil-cpp-cxxstd17, kcoreaddons, libdispatch, libvpx, wayland, webkitgtk. Remove catch2, kwayland, libdbusmenu-qt, libtgvoip-for-telegram-desktop, libx11, materialdecoration and qt5ct. [propagated-inputs]: Remove dconf. [license]: Adjust accordingly. Signed-off-by: Liliana Marie Prikler --- gnu/local.mk | 1 + .../telegram-desktop-allow-disable-libtgvoip.patch | 125 ++++++++++++++++++ gnu/packages/telegram.scm | 139 ++++++++++----------- 3 files changed, 189 insertions(+), 76 deletions(-) create mode 100644 gnu/packages/patches/telegram-desktop-allow-disable-libtgvoip.patch diff --git a/gnu/local.mk b/gnu/local.mk index 0f813edd69..0134fb53d8 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1877,6 +1877,7 @@ dist_patch_DATA = \ %D%/packages/patches/teensy-loader-cli-help.patch \ %D%/packages/patches/tensorflow-c-api-fix.patch \ %D%/packages/patches/texinfo-5-perl-compat.patch \ + %D%/packages/patches/telegram-desktop-allow-disable-libtgvoip.patch \ %D%/packages/patches/telegram-purple-adjust-test.patch \ %D%/packages/patches/texi2html-document-encoding.patch \ %D%/packages/patches/texi2html-i18n.patch \ diff --git a/gnu/packages/patches/telegram-desktop-allow-disable-libtgvoip.patch b/gnu/packages/patches/telegram-desktop-allow-disable-libtgvoip.patch new file mode 100644 index 0000000000..3c062cbd9a --- /dev/null +++ b/gnu/packages/patches/telegram-desktop-allow-disable-libtgvoip.patch @@ -0,0 +1,125 @@ +From 4d1a8351ee82728912fcf7ad0070049b2910c393 Mon Sep 17 00:00:00 2001 +From: Klemens Nanni +Date: Wed, 2 Mar 2022 01:07:48 +0100 +Subject: [PATCH] Introduce TDESKTOP_DISABLE_LEGACY_TGVOIP + +Originally from Alt Linux[0], OpenBSD has so far adapted the removal of +tgvoip in the official net/tdesktop build. + +tgcalls provides everything needed for calls; audio/video/desktop +sharing calls have been working fine across different operating systems +and telegram desktop/mobile versions without problems. + +0: http://www.sisyphus.ru/cgi-bin/srpm.pl/Sisyphus/telegram-desktop/getpatch/1 +--- + Telegram/CMakeLists.txt | 6 +++--- + Telegram/SourceFiles/calls/calls_call.cpp | 6 ++++++ + Telegram/cmake/lib_tgcalls.cmake | 4 ++++ + Telegram/cmake/telegram_options.cmake | 8 ++++++++ + 4 files changed, 21 insertions(+), 3 deletions(-) + +diff --git a/Telegram/CMakeLists.txt b/Telegram/CMakeLists.txt +index fb2bf370f..5d9578f2d 100644 +--- a/Telegram/CMakeLists.txt ++++ b/Telegram/CMakeLists.txt +@@ -28,7 +28,9 @@ get_filename_component(res_loc Resources REALPATH) + include(cmake/telegram_options.cmake) + include(cmake/lib_ffmpeg.cmake) + include(cmake/lib_stripe.cmake) +-include(cmake/lib_tgvoip.cmake) ++if (NOT TDESKTOP_DISABLE_LEGACY_TGVOIP) ++ include(cmake/lib_tgvoip.cmake) ++endif() + include(cmake/lib_tgcalls.cmake) + include(cmake/td_export.cmake) + include(cmake/td_mtproto.cmake) +@@ -52,9 +54,7 @@ target_prepare_qrc(Telegram) + + target_link_libraries(Telegram + PRIVATE +- tdesktop::lib_tgcalls_legacy + tdesktop::lib_tgcalls +- tdesktop::lib_tgvoip + + # Order in this list defines the order of include paths in command line. + # We need to place desktop-app::external_minizip this early to have its +diff --git a/Telegram/SourceFiles/calls/calls_call.cpp b/Telegram/SourceFiles/calls/calls_call.cpp +index 6894d5d90..cd03620e7 100644 +--- a/Telegram/SourceFiles/calls/calls_call.cpp ++++ b/Telegram/SourceFiles/calls/calls_call.cpp +@@ -39,8 +39,10 @@ class InstanceImpl; + class InstanceV2Impl; + class InstanceV2ReferenceImpl; + class InstanceV2_4_0_0Impl; ++#ifndef TDESKTOP_DISABLE_LEGACY_TGVOIP + class InstanceImplLegacy; + void SetLegacyGlobalServerConfig(const std::string &serverConfig); ++#endif + } // namespace tgcalls + + namespace Calls { +@@ -56,7 +58,9 @@ const auto Register = tgcalls::Register(); + const auto RegisterV2 = tgcalls::Register(); + const auto RegV2Ref = tgcalls::Register(); + const auto RegisterV240 = tgcalls::Register(); ++#ifndef TDESKTOP_DISABLE_LEGACY_TGVOIP + const auto RegisterLegacy = tgcalls::Register(); ++#endif + + [[nodiscard]] base::flat_set CollectEndpointIds( + const QVector &list) { +@@ -1322,7 +1326,9 @@ Call::~Call() { + } + + void UpdateConfig(const std::string &data) { ++#ifndef TDESKTOP_DISABLE_LEGACY_TGVOIP + tgcalls::SetLegacyGlobalServerConfig(data); ++#endif + } + + } // namespace Calls +diff --git a/Telegram/cmake/lib_tgcalls.cmake b/Telegram/cmake/lib_tgcalls.cmake +index 34a5ba418..8a784be2c 100644 +--- a/Telegram/cmake/lib_tgcalls.cmake ++++ b/Telegram/cmake/lib_tgcalls.cmake +@@ -267,6 +267,10 @@ PRIVATE + ${tgcalls_loc} + ) + ++if (TDESKTOP_DISABLE_LEGACY_TGVOIP) ++ return() ++endif() ++ + add_library(lib_tgcalls_legacy STATIC) + init_target(lib_tgcalls_legacy) + +diff --git a/Telegram/cmake/telegram_options.cmake b/Telegram/cmake/telegram_options.cmake +index 1c3c25431..033f2bc95 100644 +--- a/Telegram/cmake/telegram_options.cmake ++++ b/Telegram/cmake/telegram_options.cmake +@@ -4,7 +4,9 @@ + # For license and copyright information please follow this link: + # https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL + ++option(TDESKTOP_DISABLE_LEGACY_TGVOIP "Disable legacy tgvoip support." OFF) + option(TDESKTOP_API_TEST "Use test API credentials." OFF) ++ + set(TDESKTOP_API_ID "0" CACHE STRING "Provide 'api_id' for the Telegram API access.") + set(TDESKTOP_API_HASH "" CACHE STRING "Provide 'api_hash' for the Telegram API access.") + +@@ -40,6 +42,12 @@ if (TDESKTOP_API_ID STREQUAL "0" OR TDESKTOP_API_HASH STREQUAL "") + " ") + endif() + ++if (TDESKTOP_DISABLE_LEGACY_TGVOIP) ++ target_compile_definitions(Telegram PRIVATE TDESKTOP_DISABLE_LEGACY_TGVOIP) ++else() ++ target_link_libraries(Telegram PRIVATE tdesktop::lib_tgcalls_legacy tdesktop::lib_tgvoip) ++endif() ++ + if (DESKTOP_APP_DISABLE_SPELLCHECK) + target_compile_definitions(Telegram PRIVATE TDESKTOP_DISABLE_SPELLCHECK) + else() +-- +2.37.3 + diff --git a/gnu/packages/telegram.scm b/gnu/packages/telegram.scm index 9bdde49754..b5aa84a48e 100644 --- a/gnu/packages/telegram.scm +++ b/gnu/packages/telegram.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2021 Raghav Gururajan +;;; Copyright © 2022 Hilton Chain ;;; ;;; This file is part of GNU Guix. ;;; @@ -26,6 +27,7 @@ #:use-module (gnu packages check) #:use-module (gnu packages cmake) #:use-module (gnu packages compression) + #:use-module (gnu packages c) #:use-module (gnu packages cpp) #:use-module (gnu packages digest) #:use-module (gnu packages fcitx) @@ -43,6 +45,7 @@ #:use-module (gnu packages libevent) #:use-module (gnu packages libreoffice) #:use-module (gnu packages linux) + #:use-module (gnu packages llvm) #:use-module (gnu packages lxqt) #:use-module (gnu packages lua) #:use-module (gnu packages perl) @@ -60,6 +63,7 @@ #:use-module (gnu packages tls) #:use-module (gnu packages video) #:use-module (gnu packages web) + #:use-module (gnu packages webkit) #:use-module (gnu packages xdisorg) #:use-module (gnu packages xiph) #:use-module (gnu packages xorg) @@ -75,7 +79,7 @@ #:use-module (guix build-system python) #:use-module (guix build-system qt)) -(define %telegram-version "2.9.3") +(define %telegram-version "4.2.2") (define libyuv-for-telegram-desktop (let ((commit "ad890067f661dc747a975bc55ba3767fe30d4452") @@ -97,72 +101,72 @@ (method git-fetch) (uri (git-reference (url "https://github.com/desktop-app/cmake_helpers.git") - (commit "4d44d822e01b3b5fbec3ce824e01f56aa35d7f72"))) + (commit "f49e254d8c5287752b5ed7b86bd84073f584768e"))) (file-name (git-file-name "cmake-helpers-for-telegram-desktop" %telegram-version)) (sha256 (base32 - "0h6cjiqy014h2mz90h1z5a7plb3ihbnds4bja8994ybr1dy3m7m5")))) + "0yqib2ndhpaj69z603knpcfga0ni978janb5i8rvhslqddvbzfjv")))) (define codegen-for-telegram-desktop (origin (method git-fetch) (uri (git-reference (url "https://github.com/desktop-app/codegen.git") - (commit "248614b49cd7d5aff69d75a737f2e35b79fbb119"))) + (commit "8815d7aec9b901191d08445f29e2edd0aeba7b2c"))) (file-name (git-file-name "codegen-for-telegram-desktop" %telegram-version)) (sha256 (base32 - "00f7g2z6xmkbkrmi3q27hscjl44mg66wf9q0mz3rhy3jaa6cfdrk")))) + "1ly958mjk25kfcpa174kvg134p9r751ixi275afj5kr57by9mbq2")))) (define lib-base-for-telegram-desktop (origin (method git-fetch) (uri (git-reference (url "https://github.com/desktop-app/lib_base.git") - (commit "a23c05c44e4f01dc4428f4d75d4db98c59d313a6"))) + (commit "d932f5048317b05dd414116741d995c82a528542"))) (file-name (git-file-name "lib-base-for-telegram-desktop" %telegram-version)) (sha256 (base32 - "0vh5zgxwalmbnvz8lzlnba87ch8vnpmcz6nvf56w09f3nlxvvq78")))) + "1fnirqxj4qq1gzx52rydrc5r6clw3316bh51dfg652jr8hj6wkp2")))) (define lib-crl-for-telegram-desktop (origin (method git-fetch) (uri (git-reference (url "https://github.com/desktop-app/lib_crl.git") - (commit "3ccf2ed5095442e5874bba8852cb7dc4efeae29f"))) + (commit "4e620bc383d032aadea8e6af02661f8c76695cec"))) (file-name (git-file-name "lib-crl-for-telegram-desktop" %telegram-version)) (sha256 (base32 - "11my7q54m4lvvlgma6pbdyjxi1cv1adk1gph2j50mh18sqlm8myz")))) + "17bngj247qwq0dg4h37xdi5v1mk22y4yp7sp6ph3irmnz4awah0x")))) (define lib-lottie-for-telegram-desktop (origin (method git-fetch) (uri (git-reference (url "https://github.com/desktop-app/lib_lottie.git") - (commit "0770df009db7928df1d0cad0900dc5110106d229"))) + (commit "6ed1c22ed60692d2f288c9222fafd7d5cd62f904"))) (file-name (git-file-name "lib-lottie-for-telegram-desktop" %telegram-version)) (sha256 (base32 - "1gj56ymlbk5dnk82jw674808m511lv9dky8891a5wm4gp3pph5jb")))) + "0l57ibfij9xm4ww4s9cc63q1x8xzpc6ablwaji1krrn3xxksqdd4")))) (define lib-qr-for-telegram-desktop (origin (method git-fetch) (uri (git-reference (url "https://github.com/desktop-app/lib_qr.git") - (commit "2b08c71c6edcfc3e31f7d7f518cc963493b6e189"))) + (commit "501f4c3502fd872ab4d777df8911bdac32de7c48"))) (file-name (git-file-name "lib-qr-for-telegram-desktop" %telegram-version)) (sha256 (base32 - "05hrkmwgrczyjv87r507i2r7m1zr6k2i43mq3my0s6j4szr1rjq0")))) + "0hmwqj7a9vcy8wq7pd1qprl68im3zl5f1wzcn2zzk2wvi0389k9f")))) (define lib-rlottie-for-telegram-desktop (origin @@ -181,60 +185,60 @@ (method git-fetch) (uri (git-reference (url "https://github.com/desktop-app/lib_rpl.git") - (commit "df721be3fa14a27dfc230d2e3c42bb1a7c9d0617"))) + (commit "fd31f5bf382d2679eccdb1abaf8240a56c6a7abe"))) (file-name (git-file-name "lib-rpl-for-telegram-desktop" %telegram-version)) (sha256 (base32 - "15fnv3ssn7rn5d0j52gggdvyqc2wm464678dj7v2x9h8lka2jjxn")))) + "1fpq8nyh8wx6zkb3sjjrx9ydqzyhw4483bdk1i9blp0ijn9xxdxf")))) (define lib-spellcheck-for-telegram-desktop (origin (method git-fetch) (uri (git-reference (url "https://github.com/desktop-app/lib_spellcheck.git") - (commit "68c9b788958904aea7de79f986a0f82ec8c5b094"))) + (commit "0e386e22cb6ba8a114b569840a635e096dcb645e"))) (file-name (git-file-name "lib-spellcheck-for-telegram-desktop" %telegram-version)) (sha256 (base32 - "0d8s4wwk6fxf536mhzq2vb9qw3j0m8nqia7ylvvpsbc4kh09dadn")))) + "06js7ccv6z3nbd4v2p4hp2prrlmz5ww46y3yb922pp7gm317dwyw")))) (define lib-storage-for-telegram-desktop (origin (method git-fetch) (uri (git-reference (url "https://github.com/desktop-app/lib_storage.git") - (commit "403df6c4a29562bd417c92d410e49819f5a48cc1"))) + (commit "839609369d04615475cb1518636de3619106a917"))) (file-name (git-file-name "lib-storage-for-telegram-desktop" %telegram-version)) (sha256 (base32 - "1zxvzfrxbj4d395fzyb5pm9wn3n8jyimxx88cyqjcdd46sx4h7r5")))) + "1l26h2fmqp9dcpr6pfvdd5sjb68j7yh0ms2lnr8na7jf5xqmkwwm")))) (define lib-tl-for-telegram-desktop (origin (method git-fetch) (uri (git-reference (url "https://github.com/desktop-app/lib_tl.git") - (commit "45faed44e7f4d11fec79b7a70e4a35dc91ef3fdb"))) + (commit "36fb95c4de1339d2c8921ad6b2911858c3d0e0fa"))) (file-name (git-file-name "lib-tl-for-telegram-desktop" %telegram-version)) (sha256 (base32 - "0h43xvzklda02494d466jp52hl8c1kmav9f12dyld10dpf1w6c7m")))) + "03rngnssnqwr7ad05qn64mwgji5fb0r3fp5ybkf951p8phr1jvzk")))) (define lib-ui-for-telegram-desktop (origin (method git-fetch) (uri (git-reference (url "https://github.com/desktop-app/lib_ui.git") - (commit "1b590f9e16eb9571a039f072d6fea66c607e419f"))) + (commit "1ceaa0bbcfccb83dbf7f51d7f80a733ff2aa8c22"))) (file-name (git-file-name "lib-ui-for-telegram-desktop" %telegram-version)) (sha256 (base32 - "0ighyhfp29h9h8c7vr70pnhcv2xnsr9ln084pssn8hb5z4pmb62f")))) + "0kyrgxi202xwy14mnx62h1kny0434f5fxqns1ydp24q2c2cr1cxn")))) (define lib-waylandshells-for-telegram-desktop (origin @@ -253,36 +257,36 @@ (method git-fetch) (uri (git-reference (url "https://github.com/desktop-app/lib_webrtc.git") - (commit "ef49f953f12b112008a094a719f40939aaf39db4"))) + (commit "9b11599c3c56047cfa4c68b69f1fcc93b602c33a"))) (file-name (git-file-name "lib-webrtc-for-telegram-desktop" %telegram-version)) (sha256 (base32 - "15k4xs3462p3ddp5cn9im3nvdiaijmxir8wxsf5yrj70ghy26ibw")))) + "0158jx8hj4fv6qpw5pgcr2mdlihj0dxs060dg3iy61zz6q68z5dq")))) (define lib-webview-for-telegram-desktop (origin (method git-fetch) (uri (git-reference (url "https://github.com/desktop-app/lib_webview.git") - (commit "e06427c624515485774e2e2181d4afeb05ad5a67"))) + (commit "546df65eb2424550ed84ce14fc9c5d1bb3586f35"))) (file-name (git-file-name "lib-webview-for-telegram-desktop" %telegram-version)) (sha256 (base32 - "148z7xzfscynwwwqssdsd97npax6yn8zrd64xw8qzbwff2g2r7k4")))) + "0zzjwyw82bggncmmsw969lnjl04pklmqjqm77jjzadinivl52z0l")))) (define tgcalls-for-telegram-desktop (origin (method git-fetch) (uri (git-reference (url "https://github.com/TelegramMessenger/tgcalls.git") - (commit "81e97fa52e25b7775b62ce07bb653533d81e91b3"))) + (commit "82c4921045c440b727c38e464f3a0539708423ff"))) (file-name (git-file-name "tgcalls-for-telegram-desktop" %telegram-version)) (sha256 (base32 - "0fvad87hyxli83xn19mgf8jjrrh6y6iaig14pckpbkg33vf4wqkj")))) + "1109r17abh66yz91b65fn2g4ryfybnsr5g6075sjhbah1gccv9mk")))) (define-public webrtc-for-telegram-desktop (let ((commit "621f3da55331733bf0d1b223786b96b68c03dca1") @@ -378,8 +382,8 @@ Telegram project, for its use in telegram desktop client.") license:bsd-3)))))) (define-public rlottie-for-telegram-desktop - (let ((commit "cbd43984ebdf783e94c8303c41385bf82aa36d5b") - (revision "671")) + (let ((commit "8c69fc20cf2e150db304311f1233a4b55a8892d7") + (revision "678")) (hidden-package (package (inherit rlottie) @@ -395,21 +399,12 @@ Telegram project, for its use in telegram desktop client.") (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))))))))) + (base32 "14gwg3sn6xdx9ymnx5r0vfm4pk8dwk92s10a1wdvfbjpyrxll64i")) + (modules '((guix build utils))) + (snippet + #~(begin + (substitute* "meson.build" + (("werror=true") "werror=false")))))))))) (define-public libtgvoip-for-telegram-desktop (let ((commit "13a5fcb16b04472d808ce122abd695dbf5d206cd") @@ -467,15 +462,19 @@ Telegram project, for its use in telegram desktop client.") (file-name (git-file-name name version)) (sha256 - (base32 "0dzf1y3xhqvizg29bd1kya48cjbkq073d2x10ynwcmmx396l4nd8")) + (base32 "16mcx4gwkl8s70a8gppxczmjsww1a3vmdrz3snfh986nvid64mq7")) + (patches + (search-patches + ;; https://github.com/telegramdesktop/tdesktop/pull/24126 + "telegram-desktop-allow-disable-libtgvoip.patch")) (modules '((guix build utils) (ice-9 ftw) (srfi srfi-1))) (snippet #~(begin (let ((keep - '( ;; Not available in Guix. - "SPMediaKeyTap" "statusnotifieritem" "tgcalls"))) + '(;; Not available in Guix. + "tgcalls"))) (with-directory-excursion "Telegram/ThirdParty" (for-each delete-file-recursively (lset-difference string=? @@ -501,17 +500,15 @@ Telegram project, for its use in telegram desktop client.") ;; also stored in <#$source/snap/snapcraft.yaml>. "-DTDESKTOP_API_ID=611335" "-DTDESKTOP_API_HASH=d524b414d21f4d37f08684c1df41ac9c" - ;; Disable WebkitGTK support as it fails to link - "-DDESKTOP_APP_DISABLE_WEBKITGTK=ON" - ;; Use bundled fonts as fallback. - "-DDESKTOP_APP_USE_PACKAGED_FONTS=OFF") + "-DTDESKTOP_DISABLE_LEGACY_TGVOIP=ON" + "-DDESKTOP_APP_DISABLE_CRASH_REPORTS=ON" + "-DDESKTOP_APP_DISABLE_AUTOUPDATE=ON" + "-DDESKTOP_APP_USE_PACKAGED_RLOTTIE=ON") #:phases #~(modify-phases %standard-phases - (add-after 'unpack 'make-writable - (lambda _ - (for-each make-file-writable (find-files ".")))) - (add-after 'make-writable 'copy-inputs + (add-after 'unpack 'unpack-additional-sources (lambda _ + (for-each make-file-writable (find-files ".")) (for-each (match-lambda ((dst src) @@ -523,35 +520,27 @@ Telegram project, for its use in telegram desktop client.") ("Telegram/lib_crl" #$lib-crl-for-telegram-desktop) ("Telegram/lib_lottie" #$lib-lottie-for-telegram-desktop) ("Telegram/lib_qr" #$lib-qr-for-telegram-desktop) - ("Telegram/lib_rlottie" #$lib-rlottie-for-telegram-desktop) ("Telegram/lib_rpl" #$lib-rpl-for-telegram-desktop) ("Telegram/lib_spellcheck" #$lib-spellcheck-for-telegram-desktop) ("Telegram/lib_storage" #$lib-storage-for-telegram-desktop) ("Telegram/lib_tl" #$lib-tl-for-telegram-desktop) ("Telegram/lib_ui" #$lib-ui-for-telegram-desktop) - ("Telegram/lib_waylandshells" #$lib-waylandshells-for-telegram-desktop) ("Telegram/lib_webrtc" #$lib-webrtc-for-telegram-desktop) ("Telegram/lib_webview" #$lib-webview-for-telegram-desktop) ("Telegram/ThirdParty/tgcalls" #$tgcalls-for-telegram-desktop))))) - (add-before 'configure 'patch-cxx-flags - (lambda _ - (substitute* "cmake/options_linux.cmake" (("class-memaccess") "all")))) (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 - (list cmake-shared - extra-cmake-modules - `(,glib "bin") + (list `(,glib "bin") `(,gtk+ "bin") pkg-config - python-wrapper - qttools-5)) + python-wrapper)) (inputs (list alsa-lib + abseil-cpp-cxxstd17 c++-gsl - catch2 libexpected fcitx-qt5 fcitx5-qt @@ -562,12 +551,11 @@ Telegram project, for its use in telegram desktop client.") hime hunspell jemalloc - kwayland - libdbusmenu-qt + kcoreaddons + libdispatch libjpeg-turbo - libtgvoip-for-telegram-desktop + libvpx lz4 - materialdecoration minizip nimf openal @@ -577,19 +565,18 @@ Telegram project, for its use in telegram desktop client.") qrcodegen-cpp qtbase-5 qtsvg-5 - qt5ct qtimageformats qtwayland range-v3 rlottie-for-telegram-desktop rnnoise + wayland + webkitgtk webrtc-for-telegram-desktop - libx11 libxcb xcb-util-keysyms xxhash zlib)) - (propagated-inputs (list dconf)) (synopsis "Telegram Desktop") (description "Telegram desktop is the official desktop version of the Telegram instant messenger.") @@ -597,7 +584,7 @@ Telegram instant messenger.") (license (list ;; ThirdParty - license:lgpl2.1+ + license:lgpl3 ;; Others license:gpl3+)))) -- cgit v1.2.3 From b906aa6a7ce2dee15d64632805ca3d59305d9505 Mon Sep 17 00:00:00 2001 From: Hilton Chain Date: Mon, 26 Sep 2022 21:33:29 +0800 Subject: gnu: telegram-desktop: Sort inputs alphabetically. * gnu/packages/telegram.scm (telegram-desktop)[inputs]: Sort inputs alphabetically. Signed-off-by: Liliana Marie Prikler --- gnu/packages/telegram.scm | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/gnu/packages/telegram.scm b/gnu/packages/telegram.scm index b5aa84a48e..3461dc7bfb 100644 --- a/gnu/packages/telegram.scm +++ b/gnu/packages/telegram.scm @@ -538,10 +538,9 @@ Telegram project, for its use in telegram desktop client.") pkg-config python-wrapper)) (inputs - (list alsa-lib - abseil-cpp-cxxstd17 + (list abseil-cpp-cxxstd17 + alsa-lib c++-gsl - libexpected fcitx-qt5 fcitx5-qt ffmpeg @@ -553,8 +552,10 @@ Telegram project, for its use in telegram desktop client.") jemalloc kcoreaddons libdispatch + libexpected libjpeg-turbo libvpx + libxcb lz4 minizip nimf @@ -564,8 +565,8 @@ Telegram project, for its use in telegram desktop client.") pulseaudio qrcodegen-cpp qtbase-5 - qtsvg-5 qtimageformats + qtsvg-5 qtwayland range-v3 rlottie-for-telegram-desktop @@ -573,7 +574,6 @@ Telegram project, for its use in telegram desktop client.") wayland webkitgtk webrtc-for-telegram-desktop - libxcb xcb-util-keysyms xxhash zlib)) -- cgit v1.2.3 From c59653b19e42f2ef2c1617fa0c08ac3db1e1df53 Mon Sep 17 00:00:00 2001 From: Hilton Chain Date: Mon, 26 Sep 2022 21:33:46 +0800 Subject: gnu: telegram: Remove unused variables. * gnu/packages/telegram.scm (lib-rlottie-for-telegram-desktop) (lib-waylandshells-for-telegram-desktop,libtgvoip-for-telegram-desktop): Remove variables. Signed-off-by: Liliana Marie Prikler --- gnu/packages/telegram.scm | 65 ----------------------------------------------- 1 file changed, 65 deletions(-) diff --git a/gnu/packages/telegram.scm b/gnu/packages/telegram.scm index 3461dc7bfb..2df68ccca7 100644 --- a/gnu/packages/telegram.scm +++ b/gnu/packages/telegram.scm @@ -168,18 +168,6 @@ (base32 "0hmwqj7a9vcy8wq7pd1qprl68im3zl5f1wzcn2zzk2wvi0389k9f")))) -(define lib-rlottie-for-telegram-desktop - (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" %telegram-version)) - (sha256 - (base32 - "05qnza7j15356s8jq16pkbyp4zr586lssmd86lz5jq23lcb3raxv")))) - (define lib-rpl-for-telegram-desktop (origin (method git-fetch) @@ -240,18 +228,6 @@ (base32 "0kyrgxi202xwy14mnx62h1kny0434f5fxqns1ydp24q2c2cr1cxn")))) -(define lib-waylandshells-for-telegram-desktop - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/desktop-app/lib_waylandshells.git") - (commit "59b0ee55a68976d27f1bf7cec0e11d5939e185e7"))) - (file-name - (git-file-name "lib-waylandshells-for-telegram-desktop" %telegram-version)) - (sha256 - (base32 - "0l2xrpc5mvvdlsj333pmkgfvn9wi1ijfdaaz8skfnw9icw52faaf")))) - (define lib-webrtc-for-telegram-desktop (origin (method git-fetch) @@ -406,47 +382,6 @@ Telegram project, for its use in telegram desktop client.") (substitute* "meson.build" (("werror=true") "werror=false")))))))))) -(define-public libtgvoip-for-telegram-desktop - (let ((commit "13a5fcb16b04472d808ce122abd695dbf5d206cd") - (revision "88")) - (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 "12p6s7vxkf1gh1spdckkdxrx7bjzw881ds9bky7l5fw751cwb3xd")))) - (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 - (list autoconf automake libtool pkg-config)))))) - (define-public telegram-desktop (package (name "telegram-desktop") -- cgit v1.2.3 From c67d462c532cb8079e589d076c6ae9446d59541b Mon Sep 17 00:00:00 2001 From: Liliana Marie Prikler Date: Wed, 28 Sep 2022 20:25:19 +0200 Subject: gnu: gnome: Sort propagated inputs alphabetically within categories. * gnu/packages/gnome.scm (gnome)[propagated-inputs]: Sort alphabetically within categories. --- gnu/packages/gnome.scm | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 9519772fa6..a03b3e150d 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -10003,8 +10003,8 @@ world.") gnome-menus gnome-session gnome-settings-daemon - gnome-shell-extensions gnome-shell + gnome-shell-extensions gnome-themes-extra gnome-user-docs gnome-user-share @@ -10025,6 +10025,7 @@ world.") gnome-calendar gnome-characters gnome-clocks + gnome-console gnome-contacts gnome-disk-utility gnome-font-viewer @@ -10034,7 +10035,6 @@ world.") gnome-screenshot gnome-system-monitor gnome-text-editor - gnome-console gnome-weather nautilus simple-scan @@ -10042,18 +10042,18 @@ world.") tracker-miners yelp ;; Others. - hicolor-icon-theme gnome-online-accounts + hicolor-icon-theme ;; Packages not part of GNOME proper but that are needed for a good ;; experience. See . ;; XXX: Find out exactly which ones are needed and why. - font-abattis-cantarell - font-dejavu at-spi2-core-minimal dbus dconf desktop-file-utils + font-abattis-cantarell + font-dejavu gnome-default-applications gst-plugins-base gst-plugins-good -- cgit v1.2.3 From eca27032d9cf6206b794ac802ba1594c9b7276ef Mon Sep 17 00:00:00 2001 From: Liliana Marie Prikler Date: Wed, 28 Sep 2022 20:56:04 +0200 Subject: gnu: expat: Update replacement to 2.4.9 [fixes CVE-2022-40674]. * gnu/packages/xml.scm (expat/fixed): Update to 2.4.9. --- gnu/packages/xml.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/xml.scm b/gnu/packages/xml.scm index 467f90ab39..42d76bef53 100644 --- a/gnu/packages/xml.scm +++ b/gnu/packages/xml.scm @@ -159,7 +159,7 @@ things the parser might find in the XML document (like start tags).") (define expat/fixed (package (inherit expat) - (version "2.4.7") + (version "2.4.9") (source (let ((dot->underscore (lambda (c) (if (char=? #\. c) #\_ c)))) (origin (method url-fetch) @@ -171,7 +171,7 @@ things the parser might find in the XML document (like start tags).") "/expat-" version ".tar.xz"))) (sha256 (base32 - "0zbss0dssn17mjmvk17qfi5cmvm0lcyzs62cwvqr219hhl864xcq"))))))) + "0m03zh7al39mx4rf0s2bgdn77r658qqf9k3a7bwx6z2wzql0g33f"))))))) (define-public libebml (package -- cgit v1.2.3 From a065c6e0fd0612ebdd27b4701117a5940f53efe6 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 28 Sep 2022 01:58:00 +0200 Subject: gnu: ungoogled-chromium: Update to 106.0.5249.61-1. * gnu/packages/chromium.scm (%preserved-third-party-files): Adjust for M106. (%chromium-version): Set to 106.0.5249.61. (%arch-revision): New variable. (%ungoogled-origin): Update hash. (%chromium-gcc-patchset): Update to chromium-106-patchset-3. (%gcc-patches): Adjust accordingly. (arch-patch): New procedure. (%ungoogled-chromium-unroll-ffmpeg.patch): Remove variable. (%reverse-patches): New variable. (ungoogled-chromium-snippet): Apply %REVERSE-PATCHES instead of just the one. (ungoogled-chromium): Update hash. [arguments]: Adjust compiler flags and header inclusions. --- gnu/packages/chromium.scm | 62 ++++++++++++++++++++++++++--------------------- 1 file changed, 35 insertions(+), 27 deletions(-) diff --git a/gnu/packages/chromium.scm b/gnu/packages/chromium.scm index 77c51a00c6..f730d69da5 100644 --- a/gnu/packages/chromium.scm +++ b/gnu/packages/chromium.scm @@ -100,6 +100,7 @@ "third_party/angle/src/third_party/volk" ;Expat "third_party/apple_apsl" ;APSL2.0 "third_party/axe-core" ;MPL2.0 + "third_party/bidimapper" ;ASL2.0 "third_party/blink" ;BSD-3, LGPL2+ "third_party/boringssl" ;OpenSSL/ISC (Google additions are ISC) "third_party/boringssl/src/third_party/fiat" ;Expat @@ -173,6 +174,7 @@ "third_party/hunspell" ;MPL1.1/GPL2+/LGPL2.1+ "third_party/iccjpeg" ;IJG "third_party/inspector_protocol" ;BSD-3 + "third_party/ipcz" ;BSD-3 "third_party/jinja2" ;BSD-3 "third_party/jstemplate" ;ASL2.0 "third_party/khronos" ;Expat, SGI @@ -317,9 +319,10 @@ ;; run the Blink performance tests, just remove everything to save ~70MiB. '("third_party/blink/perf_tests")) -(define %chromium-version "105.0.5195.125") +(define %chromium-version "106.0.5249.61") (define %ungoogled-revision (string-append %chromium-version "-1")) (define %debian-revision "debian/102.0.5005.61-1") +(define %arch-revision "6afedb08139b97089ce8ef720ece5cd14c83948c") (define %ungoogled-origin (origin @@ -329,7 +332,7 @@ (file-name (git-file-name "ungoogled-chromium" %ungoogled-revision)) (sha256 (base32 - "0k16wma9lj9q34xgz377nasnfzcw7wi73l91r41yilvgb3l2fgw8")))) + "0mz3f4f2q72zl6m9vxxx084z0a1kfmsqf7fcir5bka85ap2klpjl")))) (define %debian-origin (origin @@ -345,7 +348,7 @@ "1ln6r1qzlr7dsgvcbssvvc34my4mpkwv9hmvlb2dhjncs7isp65j")))) (define %chromium-gcc-patchset - (let ((commit "chromium-105-patchset-1")) + (let ((commit "chromium-106-patchset-3")) (origin (method git-fetch) (uri (git-reference @@ -355,7 +358,7 @@ (string-drop commit 9))) (sha256 (base32 - "08c3pbdqjdqi7rmyqkkh6q429611ikakf4gkzwg1gr07vyknwkfa"))))) + "109garl1z19zgn3sgg1y2339aa229kfpmlb238cp6kbd7gv8j43x"))))) (define (origin-file origin file) (computed-file @@ -377,23 +380,27 @@ (define %gcc-patches (map gcc-patch - '("chromium-105-AdjustMaskLayerGeometry-ceilf.patch" - "chromium-105-Bitmap-include.patch" - "chromium-105-browser_finder-include.patch" - "chromium-105-raw_ptr-noexcept.patch" - "chromium-105-Trap-raw_ptr.patch"))) - -;; Take a patch from Arch that reverts a change which requires an unreleased -;; version of ffmpeg. -(define %ungoogled-chromium-unroll-ffmpeg.patch + '("chromium-106-AutofillPopupControllerImpl-namespace.patch" + "chromium-106-LinuxInputMethodContext-include.patch" + "chromium-106-ReverseBeaconTimeoutSorter-constexpr.patch"))) + +(define (arch-patch revision name hash) (origin (method url-fetch) - (uri "https://raw.githubusercontent.com/archlinux/svntogit-packages\ -/f3225f99b900e11ac900725992ea883142d7309c/trunk/roll-src-third_party-ffmpeg.patch") - (file-name "ungoogled-chromium-unroll-ffmpeg.patch") - (sha256 - (base32 - "0i7crn6fcwq09kd6a4smqnffaldyv61lmv2p0drcnpfrwalmkprh")))) + (uri (string-append "https://raw.githubusercontent.com/archlinux" + "/svntogit-packages/" revision "/trunk/" name)) + (sha256 (base32 hash)))) + +(define %reverse-patches + (list + ;; These patches revert changes that require an unreleased ffmpeg. + (arch-patch %arch-revision "REVERT-roll-src-third_party-ffmpeg-m102.patch" + "0i7crn6fcwq09kd6a4smqnffaldyv61lmv2p0drcnpfrwalmkprh") + (arch-patch %arch-revision "REVERT-roll-src-third_party-ffmpeg-m106.patch" + "0li10cvxnppmmmsc7w77b1s7z02s5bzd39zsal9x768708fx64jc") + ;; Fix crash when using Global Media Controls. + (arch-patch %arch-revision "REVERT-enable-GlobalMediaControlsCastStartStop.patch" + "1ilsw421lylkjnq3lvc607bdx7cvwlish8qzgwx9s84l4hzv37vp"))) (define %guix-patches (list (local-file @@ -436,8 +443,11 @@ (append '#+%debian-patches '#+%guix-patches '#+%gcc-patches)) - (invoke "patch" "-Rp1" "--force" "--input" "--no-backup-if-mismatch" - "--input" #$%ungoogled-chromium-unroll-ffmpeg.patch) + ;; These patches are "reversed", i.e. their changes should be undone. + (for-each (lambda (patch) + (invoke "patch" "-Rp1" "-F3" "--force" "--input" + patch "--no-backup-if-mismatch")) + '#+%reverse-patches) (with-directory-excursion #+%ungoogled-origin (format #t "Ungooglifying...~%") @@ -506,7 +516,7 @@ %chromium-version ".tar.xz")) (sha256 (base32 - "0rhay46fnfffqcpk6c856hj414508fmhda600lz5whcacr25q6r0")) + "15qljfg8w124yp65srp1rz3ywrlqhzqzkhimn1h9xz0jkf9cnypj")) (modules '((guix build utils))) (snippet (force ungoogled-chromium-snippet)))) (build-system gnu-build-system) @@ -624,10 +634,10 @@ ;; This include path is added by Debians openjpeg patch. (("/usr/include/openjpeg-2.4") openjpeg)) - ;; Remove contrib/ prefix from minizip header inclusions. + ;; Adjust minizip header inclusions. (substitute* (find-files "third_party/tflite_support\ /src/tensorflow_lite_support/metadata/cc") - (("contrib/minizip/") + (("third_party/zlib/minizip/") "minizip/")) (substitute* @@ -762,11 +772,9 @@ ;; Disable compiler flags that require Clang 15. (substitute* "build/config/compiler/BUILD.gn" - (("\"-no-opaque-pointers\",") - "") (("\"-Wno-unqualified-std-cast-call\"") "") - (("\"-Wno-deprecated-non-prototype\"") + (("\"-Wno-deprecated-builtins\",") "")) ;; TODO: pre-compile instead. Avoids a race condition. -- cgit v1.2.3 From 7d27a5322c6177538049aef86b65bcb7353addab Mon Sep 17 00:00:00 2001 From: jgart Date: Sat, 20 Aug 2022 18:05:57 -0500 Subject: gnu: Add elm-community-random-extra. * gnu/packages/elm.scm (elm-community-random-extra): New variable. Signed-off-by: Maxim Cournoyer Modified-by: Maxim Cournoyer --- gnu/packages/elm.scm | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/gnu/packages/elm.scm b/gnu/packages/elm.scm index 74a43a4ff2..12c7e8301b 100644 --- a/gnu/packages/elm.scm +++ b/gnu/packages/elm.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2019 Robert Vollmert ;;; Copyright © 2022 Philip McGrath +;;; Copyright © 2022 jgart ;;; ;;; This file is part of GNU Guix. ;;; @@ -487,6 +488,23 @@ you.") on the @code{marked} project, which focuses on speed.") (license license:bsd-3))) +(define-public elm-community-random-extra + (package + (name "elm-community-random-extra") + (version "3.2.0") + (source (elm-package-origin + "elm-community/random-extra" version + (base32 "13l48mx4wj7qdxl1shn9ij34izap256vv3k49ncnxpkjb7m1m3xk"))) + (build-system elm-build-system) + (propagated-inputs (list elm-time elm-random elm-core)) + (inputs (list elm-explorations-test)) + (home-page + "https://package.elm-lang.org/packages/elm-community/random-extra/") + (synopsis "Extra functions for the Elm core random library") + (description "@code{emacs-community-random-extra} includes lots of extra +helper functions for the Random module.") + (license license:bsd-3))) + (define-public elm-todomvc (let ((commit "f236e7e56941c7705aba6e42cb020ff515fe3290") (revision "1")) -- cgit v1.2.3 From 3fb7add10fbe44c032155a19633c941abb737a63 Mon Sep 17 00:00:00 2001 From: Petr Hodina Date: Mon, 19 Sep 2022 19:52:27 +0200 Subject: gnu: Add btop. * gnu/packages/admin.scm (btop): New variable. Signed-off-by: Maxim Cournoyer Modified-by: Maxim Cournoyer --- gnu/packages/admin.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index 668d710739..7254ad366f 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -51,6 +51,7 @@ ;;; Copyright © 2021 Artyom V. Poptsov ;;; Copyright © 2022 Wamm K. D. ;;; Copyright © 2022 Roman Riabenko +;;; Copyright © 2022 Petr Hodina ;;; ;;; This file is part of GNU Guix. ;;; @@ -697,6 +698,30 @@ console.") ;; This package uses a modified version of the "ISC License". (license (license:non-copyleft "file://LICENSE"))))) +(define-public btop + (package + (name "btop") + (version "1.2.9") + (source (origin + (method url-fetch) + (uri (string-append + "https://github.com/aristocratos/btop/archive/refs/tags/v" + version ".tar.gz")) + (sha256 + (base32 + "0cb5q7hrb9y378i98km9s6jbi5c50i7wra8m8jik5hf4m4s3930g")))) + (build-system gnu-build-system) + (arguments + (list #:tests? #f ;no test suite + #:make-flags #~(list (string-append "PREFIX=" #$output)) + #:phases #~(modify-phases %standard-phases + (delete 'configure)))) + (home-page "https://github.com/aristocratos/btop") + (synopsis "Resource monitor") + (description "Btop++ provides unified monitoring of CPU, memory, network +and processes.") + (license license:asl2.0))) + (define-public htop (package (name "htop") -- cgit v1.2.3 From 86d91c441118b63ad0aa868f8505059b2770fdcb Mon Sep 17 00:00:00 2001 From: Liliana Marie Prikler Date: Wed, 28 Sep 2022 21:23:57 +0200 Subject: gnu: evolution: Add missing input. In commit e4bf10ab0bc7c397fe7cbc52aea87d5ea2dfda7d, libnotify was removed (and the removal documented). This led to desktop notifications no longer popping up for received emails. Re-adding libnotify fixes this. * gnu/packages/gnome.scm (evolution)[inputs]: Add libnotify. --- gnu/packages/gnome.scm | 1 + 1 file changed, 1 insertion(+) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index a03b3e150d..54355ac9e6 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -11640,6 +11640,7 @@ generic enough to work for everyone.") highlight libcanberra libgweather4 + libnotify libsoup nss openldap -- cgit v1.2.3 From f4442721ebd9a40d69b109944e821737edb8b027 Mon Sep 17 00:00:00 2001 From: Brice Waegeneire Date: Wed, 16 Feb 2022 08:22:32 +0100 Subject: gnu: Add acpilight. * gnu/packages/linux.scm (acpilight): New variable. Signed-off-by: Maxim Cournoyer Modified-by: Maxim Cournoyer --- gnu/packages/linux.scm | 42 +++++++++++++++++++++++++++++++++++++++++- 1 file changed, 41 insertions(+), 1 deletion(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index f49f019e49..e309264c7a 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -35,7 +35,7 @@ ;;; Copyright © 2019 Tim Gesthuizen ;;; Copyright © 2019, 2020, 2021 Maxim Cournoyer ;;; Copyright © 2019 Stefan Stefanović -;;; Copyright © 2019, 2020, 2021 Brice Waegeneire +;;; Copyright © 2019-2022 Brice Waegeneire ;;; Copyright © 2019 Kei Kebreau ;;; Copyright © 2020, 2021 Oleg Pykhalov ;;; Copyright © 2020 Pierre Neidhardt @@ -6948,6 +6948,46 @@ monitoring tools for Linux. These include @code{mpstat}, @code{iostat}, @code{sadf} and @code{sa}.") (license license:gpl2+))) +(define-public acpilight + (package + (name "acpilight") + (version "1.2") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.com/wavexx/acpilight.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1r0r3nx6x6vkpal6vci0zaa1n9dfacypldf6k8fxg7919vzxdn1w")))) + (build-system gnu-build-system) + (arguments + (list #:tests? #f ; no tests + #:make-flags + #~(list (string-append "prefix=" #$output) + (string-append "sysconfdir=" #$output "/etc")) + #:phases + #~(modify-phases %standard-phases + (delete 'configure) + (add-after 'unpack 'patch + (lambda* (#:key inputs #:allow-other-keys) + ;; Prevent reloading udev at build time + (substitute* "Makefile" + (("udevadm") "true")) + (substitute* "90-backlight.rules" + (("/bin") + (string-append #$(this-package-input "coreutils") + "/bin")))))))) + (inputs (list coreutils python)) + (home-page "https://gitlab.com/wavexx/acpilight") + (synopsis "Backward-compatibile xbacklight replacement") + (description "acpilight is a backward-compatibile replacement for +xbacklight that uses the ACPI interface to set the display brightness. On +modern laptops acpilight can control both display and keyboard backlight +uniformly on either X11, the console or Wayland.") + (license license:gpl3+))) + (define-public light (package (name "light") -- cgit v1.2.3 From d1f1947a462eac5eef01fb1787fa22d1c801ced8 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 28 Sep 2022 19:55:48 +0200 Subject: gnu: Add r-rlecuyer. * gnu/packages/cran.scm (r-rlecuyer): New variable. --- gnu/packages/cran.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index da9482b1c0..3108169756 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -26802,6 +26802,28 @@ Yue-Pilon's (Yue, 2002) pre-whitening approaches to determining trends in climate data.") (license license:lgpl2.1))) +(define-public r-rlecuyer + (package + (name "r-rlecuyer") + (version "0.3-5") + (source (origin + (method url-fetch) + (uri (cran-uri "rlecuyer" version)) + (sha256 + (base32 + "09mniai7v8gapr6hd3zm8sm3vi1zcyhgym389904ykb2yx7l68s7")))) + (properties `((upstream-name . "rlecuyer"))) + (build-system r-build-system) + (home-page + "https://www.iro.umontreal.ca/~lecuyer/myftp/papers/streams00.pdf") + (synopsis "R interface to RNG with multiple streams") + (description + "This package provides an interface to the C implementation of the random +number generator with multiple independent streams developed by L'Ecuyer et +al (2002). The main purpose of this package is to enable the use of this +random number generator in parallel R applications.") + (license license:gpl2+))) + (define-public r-rlinsolve (package (name "r-rlinsolve") -- cgit v1.2.3 From c592eb6980f09d314625dd08ba90521fac848d38 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 28 Sep 2022 19:57:13 +0200 Subject: gnu: Add r-pbdmpi. * gnu/packages/cran.scm (r-pbdmpi): New variable. --- gnu/packages/cran.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 3108169756..4f1b89bd4b 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -31954,6 +31954,34 @@ split, combine, and compress. This package interfaces directly to the data you need the @code{pdftools} package.") (license license:asl2.0))) +(define-public r-pbdmpi + (package + (name "r-pbdmpi") + (version "0.4-4") + (source (origin + (method url-fetch) + (uri (cran-uri "pbdMPI" version)) + (sha256 + (base32 + "006pm2yn4mdrpwhfflqcybzv41lz7zssrjrcpq5g98zf60p9c07a")))) + (properties `((upstream-name . "pbdMPI"))) + (build-system r-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'install 'mpi-setup + ,%openmpi-setup)))) + (inputs (list openmpi)) + (propagated-inputs (list r-float r-rlecuyer)) + (native-inputs (list pkg-config)) + (home-page "https://pbdr.org/") + (synopsis "Programming with Big Data -- Interface to MPI") + (description + "This package provides an efficient interface to MPI by utilizing S4 +classes and methods with a focus on @dfn{Single Program/Multiple Data} (SPMD) +parallel programming style, which is intended for batch parallel execution.") + (license license:mpl2.0))) + (define-public r-pdftools (package (name "r-pdftools") -- cgit v1.2.3 From 211031ca0dd2cb4f7bddfa11d47d398a6ffb8c77 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 28 Sep 2022 20:00:09 +0200 Subject: gnu: Add r-bundesligr. * gnu/packages/cran.scm (r-bundesligr): New variable. --- gnu/packages/cran.scm | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 4f1b89bd4b..956c2822ef 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -26144,6 +26144,25 @@ uses a trans-dimensional @dfn{Markov Chain Monte Carlo} (MCMC) approach based on a continuous-time birth-death process.") (license license:gpl2+))) +(define-public r-bundesligr + (package + (name "r-bundesligr") + (version "0.1.0") + (source (origin + (method url-fetch) + (uri (cran-uri "bundesligR" version)) + (sha256 + (base32 + "0dnhbh9jh7dfbk7mfh8msq4ys5kakalr0kwkycycrb2q8rd049vp")))) + (properties `((upstream-name . "bundesligR"))) + (build-system r-build-system) + (home-page "https://github.com/ottlngr/bundesligR") + (synopsis "All final tables of the Bundesliga") + (description + "This package provides all final tables of Germany's highest football +league, the Bundesliga. It contains data from 1964 to 2016.") + (license license:gpl3))) + (define-public r-d3network (package (name "r-d3network") -- cgit v1.2.3 From 1e7696a95b7bd4833364e6c14e0d733f108b4da5 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 28 Sep 2022 20:03:17 +0200 Subject: gnu: Add r-ggthemeassist. * gnu/packages/cran.scm (r-ggthemeassist): New variable. --- gnu/packages/cran.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 956c2822ef..8ab87846d4 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -20034,6 +20034,31 @@ complex formatted plot labels (titles, subtitles, facet labels, axis labels, etc.). Text boxes with automatic word wrap are also supported.") (license license:gpl2))) +(define-public r-ggthemeassist + (package + (name "r-ggthemeassist") + (version "0.1.5") + (source (origin + (method url-fetch) + (uri (cran-uri "ggThemeAssist" version)) + (sha256 + (base32 + "1biw91a8p13h62v4w3yim6ghr98khmyhb3qd0h04asf91vvmpxbv")))) + (properties `((upstream-name . "ggThemeAssist"))) + (build-system r-build-system) + (propagated-inputs + (list r-formatr + r-ggplot2 + r-miniui + r-rstudioapi + r-shiny)) + (home-page "https://github.com/calligross/ggthemeassist") + (synopsis "Add-in to customize ggplot2 themes") + (description + "This package provides an Rstudio add-in that delivers a graphical +interface for editing @code{ggplot2} theme elements.") + (license license:gpl3))) + ;; This package includes minified JavaScript files. When upgrading please ;; check that there are no new minified JavaScript files. (define-public r-flexdashboard -- cgit v1.2.3 From 2995865758bb8ed87750e455c4b5e31981603adc Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 28 Sep 2022 21:55:45 +0200 Subject: gnu: Add js-scianimator. * gnu/packages/javascript.scm (js-scianimator): New variable. --- gnu/packages/javascript.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/javascript.scm b/gnu/packages/javascript.scm index 666a0aa421..f0580eff8b 100644 --- a/gnu/packages/javascript.scm +++ b/gnu/packages/javascript.scm @@ -736,6 +736,29 @@ or for saving sensitive information that shouldn't be sent to an external server.") (license license:expat))) +(define-public js-scianimator + (package + (name "js-scianimator") + (version "1.4") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/brentertz/scianimator.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0b4r6z85gnsjagdchvf1pvrhylfiaidh701hna8jrm0l4kbb735x")))) + (build-system minify-build-system) + (arguments + '(#:javascript-files + (list "assets/js/jquery.scianimator.js"))) + (home-page "https://github.com/brentertz/scianimator") + (synopsis "Scientific image animator plugin for jQuery") + (description "SciAnimator provides a simple yet powerful interface for +animating a series of images.") + (license license:expat))) + (define-public mujs (package (name "mujs") -- cgit v1.2.3 From 190c48c6ba0c4844185d93a20fdf33227cd29c76 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 28 Sep 2022 21:56:35 +0200 Subject: gnu: Add r-animation. * gnu/packages/cran.scm (r-animation): New variable. --- gnu/packages/cran.scm | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 8ab87846d4..003a9624d9 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -24783,6 +24783,61 @@ Mardia, K.V. (2016). Statistical shape analysis, with Applications in R (2nd Edition), John Wiley and Sons.") (license license:gpl2))) +(define-public r-animation + (package + (name "r-animation") + (version "2.7") + (source (origin + (method url-fetch) + (uri (cran-uri "animation" version)) + (sha256 + (base32 + "0sg4sz5lkn85yzpcg22xkr7921cbnh7g74nlp9imjy7c0hdqyhc8")) + (snippet + '(for-each delete-file + '("inst/misc/scianimator/js/jquery.scianimator.min.js" + "inst/misc/scianimator/js/jquery-1.4.4.min.js"))))) + (properties `((upstream-name . "animation"))) + (build-system r-build-system) + (arguments + (list + #:phases + '(modify-phases %standard-phases + (add-after 'unpack 'process-javascript + (lambda* (#:key inputs #:allow-other-keys) + (with-directory-excursion "inst/misc/" + (symlink (search-input-file + inputs + "share/javascript/jquery.scianimator.min.js") + "scianimator/js/jquery.scianimator.min.js") + (invoke "esbuild" (assoc-ref inputs "js-jquery") + "--minify" + (string-append "--outfile=" + "scianimator/js/jquery-1.4.4.min.js")))))))) + (propagated-inputs (list r-magick)) + (inputs (list js-scianimator)) + (native-inputs + `(("esbuild" ,esbuild) + ("js-jquery" + ,(origin + (method url-fetch) + (uri "https://code.jquery.com/jquery-1.4.4.js") + (sha256 + (base32 + "10nl4smq63vrfb0c3n0fknm1zw7ss8gicy6wc6jb6l3rmyad075k")))))) + (home-page "https://yihui.org/animation/") + (synopsis "Gallery of animations and utilities to create animations") + (description + "This package provides functions for animations in statistics, covering +topics in probability theory, mathematical statistics, multivariate +statistics, non-parametric statistics, sampling survey, linear models, time +series, computational statistics, data mining and machine learning. These +functions may be helpful in teaching statistics and data analysis. Also +provided in this package are a series of functions to save animations to +various formats, e.g. GIF, HTML pages, PDF, and videos. PDF animations can be +inserted into Sweave / @code{knitr} easily.") + (license (list license:gpl2+ license:gpl3+)))) + (define-public r-anthropometry (package (name "r-anthropometry") -- cgit v1.2.3 From 352e02a7686c12165843a15d95d873d4bc85ffe8 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 28 Sep 2022 22:03:14 +0200 Subject: gnu: Add r-ggghost. * gnu/packages/cran.scm (r-ggghost): New variable. --- gnu/packages/cran.scm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 003a9624d9..6a561473fc 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -20010,6 +20010,26 @@ inline CSS directives, and it can be rendered both with and without word wrap.") (license license:expat))) +(define-public r-ggghost + (package + (name "r-ggghost") + (version "0.2.1") + (source (origin + (method url-fetch) + (uri (cran-uri "ggghost" version)) + (sha256 + (base32 + "0kvsjadxxdf6yvzk4a6yqkg02q1ysslvf3m0a369bdim396z4hnv")))) + (properties `((upstream-name . "ggghost"))) + (build-system r-build-system) + (propagated-inputs (list r-animation r-ggplot2)) + (home-page "https://github.com/jonocarroll/ggghost") + (synopsis "Capture the spirit of your ggplot2 calls") + (description + "This package lets you create a reproducible @code{ggplot2} object by +storing the data and calls.") + (license license:gpl3+))) + (define-public r-ggtext (package (name "r-ggtext") -- cgit v1.2.3 From 9d86052c2287533d231484a5061ad786e14c04d6 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 28 Sep 2022 22:03:25 +0200 Subject: import/cran: Add more strings to invalid-packages. * guix/import/cran.scm (invalid-packages): Add none, windows, and xcode. --- guix/import/cran.scm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/guix/import/cran.scm b/guix/import/cran.scm index d7f6945675..d60e9a3b1f 100644 --- a/guix/import/cran.scm +++ b/guix/import/cran.scm @@ -360,8 +360,11 @@ empty list when the FIELD cannot be found." (define invalid-packages (list "c++11" "c++14" - "linux" "getopt::long" + "linux" + "none" + "windows" + "xcode" "xquartz")) (define cran-guix-name (cut guix-name "r-" <>)) -- cgit v1.2.3 From e761ed7384a8a086c5fed95336123a0ba6fc0cb1 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 28 Sep 2022 22:04:01 +0200 Subject: import/cran: Transform external package names to Guix names. * guix/import/cran.scm (transform-sysname): New procedure. (description->package): Use it on inputs that are derived from "sysdepends". --- guix/import/cran.scm | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/guix/import/cran.scm b/guix/import/cran.scm index d60e9a3b1f..ec70370863 100644 --- a/guix/import/cran.scm +++ b/guix/import/cran.scm @@ -367,6 +367,14 @@ empty list when the FIELD cannot be found." "xcode" "xquartz")) +(define (transform-sysname sysname) + "Return a Guix package name for the common package name SYSNAME." + (match sysname + ("java" "openjdk") + ("fftw3" "fftw") + ("tcl/tk" "tcl") + (_ sysname))) + (define cran-guix-name (cut guix-name "r-" <>)) (define (tarball-needs-fortran? tarball) @@ -561,7 +569,7 @@ from the alist META, which was derived from the R package's DESCRIPTION file." `((properties ,`(,'quasiquote ((,'upstream-name . ,name))))) '()) (build-system r-build-system) - ,@(maybe-inputs sysdepends) + ,@(maybe-inputs (map transform-sysname sysdepends)) ,@(maybe-inputs (map cran-guix-name propagate) 'propagated-inputs) ,@(maybe-inputs `(,@(if (needs-fortran? source (not (or git? hg?))) -- cgit v1.2.3 From 7ea6e9f79f8d259a75c455183e07afa60771abcc Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 28 Sep 2022 22:05:52 +0200 Subject: import/utils: Add beautify-synopsis. * guix/import/utils.scm (beautify-synopsis): New procedure. --- guix/import/utils.scm | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/guix/import/utils.scm b/guix/import/utils.scm index 7e7d116d1d..dd8c61b79a 100644 --- a/guix/import/utils.scm +++ b/guix/import/utils.scm @@ -72,6 +72,7 @@ snake-case beautify-description + beautify-synopsis alist->package @@ -295,7 +296,22 @@ LENGTH characters." ;; Use double spacing between sentences (fill-paragraph (regexp-substitute/global #f "\\. \\b" cleaned 'pre ". " 'post) - length))) + length))) + +(define (beautify-synopsis synopsis) + "Improve the package SYNOPSIS." + (let ((cleaned (cond + ((not (string? synopsis)) + (G_ "This package lacks a synopsis. Run \ +\"info '(guix) Synopses and Descriptions'\" for more information.")) + ((string-prefix? "A " synopsis) + (substring synopsis 1)) + ;; Remove trailing period. + ((string-suffix? "." synopsis) + (substring synopsis 0 + (1- (string-length synopsis)))) + (else synopsis)))) + (string-trim-both cleaned))) (define* (package-names->package-inputs names #:optional (output #f)) "Given a list of PACKAGE-NAMES or (PACKAGE-NAME VERSION) pairs, and an -- cgit v1.2.3 From 19ea75aa4fd928d3fda51eb144a3cf9e7825f8ed Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 28 Sep 2022 22:06:21 +0200 Subject: import/cran: Use beautify-synopsis. * guix/import/cran.scm (description->package): Use beautify-synopsis. --- guix/import/cran.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/guix/import/cran.scm b/guix/import/cran.scm index ec70370863..57c14e5fbc 100644 --- a/guix/import/cran.scm +++ b/guix/import/cran.scm @@ -582,7 +582,7 @@ from the alist META, which was derived from the R package's DESCRIPTION file." (home-page ,(if (string-null? home-page) (string-append base-url name) home-page)) - (synopsis ,synopsis) + (synopsis ,(beautify-synopsis synopsis)) (description ,(beautify-description (or (assoc-ref meta "Description") ""))) (license ,license)))) -- cgit v1.2.3 From afcc6d636f7d7b1914fa3425da3574db4a94f26f Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 28 Sep 2022 22:07:40 +0200 Subject: import/cran: Process more complex license strings. * guix/import/cran.scm (string->license): Add more match clauses. (string->licenses): Split license conjunctions at "|" and apply string->license on each license. (description->package): Use string->licenses. --- guix/import/cran.scm | 84 ++++++++++++++++++++++++++++++++++++---------------- 1 file changed, 58 insertions(+), 26 deletions(-) diff --git a/guix/import/cran.scm b/guix/import/cran.scm index 57c14e5fbc..17e33d5f52 100644 --- a/guix/import/cran.scm +++ b/guix/import/cran.scm @@ -82,32 +82,64 @@ (define %input-style (make-parameter 'variable)) ; or 'specification -(define string->license - (match-lambda - ("AGPL-3" 'agpl3+) - ("Artistic-2.0" 'artistic2.0) - ("Apache License 2.0" 'asl2.0) - ("BSD_2_clause" 'bsd-2) - ("BSD_2_clause + file LICENSE" 'bsd-2) - ("BSD_3_clause" 'bsd-3) - ("BSD_3_clause + file LICENSE" 'bsd-3) - ("GPL" '(list gpl2+ gpl3+)) - ("GPL (>= 2)" 'gpl2+) - ("GPL (>= 3)" 'gpl3+) - ("GPL-2" 'gpl2) - ("GPL-3" 'gpl3) - ("LGPL-2" 'lgpl2.0) - ("LGPL-2.1" 'lgpl2.1) - ("LGPL-3" 'lgpl3) - ("LGPL (>= 2)" 'lgpl2.0+) - ("LGPL (>= 2.1)" 'lgpl2.1+) - ("LGPL (>= 3)" 'lgpl3+) - ("MIT" 'expat) - ("MIT + file LICENSE" 'expat) - ((x) (string->license x)) - ((lst ...) `(list ,@(map string->license lst))) - (_ #f))) +(define (string->licenses license-string) + (let ((licenses + (map string-trim-both + (string-tokenize license-string + (char-set-complement (char-set #\|)))))) + (string->license licenses))) +(define string->license + (let ((prefix identity)) + (match-lambda + ("AGPL-3" (prefix 'agpl3)) + ("AGPL (>= 3)" (prefix 'agpl3+)) + ("Artistic-2.0" (prefix 'artistic2.0)) + ((or "Apache License 2.0" + "Apache License (== 2.0)") + (prefix 'asl2.0)) + ("BSD_2_clause" (prefix 'bsd-2)) + ("BSD_2_clause + file LICENSE" (prefix 'bsd-2)) + ("BSD_3_clause" (prefix 'bsd-3)) + ("BSD_3_clause + file LICENSE" (prefix 'bsd-3)) + ("CC0" (prefix 'cc0)) + ("CC BY-SA 4.0" (prefix 'cc-by-sa4.0)) + ("CeCILL" (prefix 'cecill)) + ((or "GPL" + "GNU General Public License") + `(list ,(prefix 'gpl2+) ,(prefix 'gpl3+))) + ((or "GPL (>= 2)" + "GPL (>= 2.0)") + (prefix 'gpl2+)) + ((or "GPL (> 2)" + "GPL (>= 3)" + "GPL (>= 3.0)" + "GNU General Public License (>= 3)") + (prefix 'gpl3+)) + ((or "GPL-2" + "GNU General Public License version 2") + (prefix 'gpl2)) + ((or "GPL-3" + "GNU General Public License version 3") + (prefix 'gpl3)) + ((or "GNU Lesser General Public License" + "LGPL") + (prefix 'lgpl2.0+)) + ("LGPL-2" (prefix 'lgpl2.0)) + ("LGPL-2.1" (prefix 'lgpl2.1)) + ("LGPL-3" (prefix 'lgpl3)) + ((or "LGPL (>= 2)" + "LGPL (>= 2.0)") + (prefix 'lgpl2.0+)) + ("LGPL (>= 2.1)" (prefix 'lgpl2.1+)) + ("LGPL (>= 3)" (prefix 'lgpl3+)) + ("MIT" (prefix 'expat)) + ("MIT + file LICENSE" (prefix 'expat)) + ("file LICENSE" + `(,(prefix 'fsdg-compatible) "file://LICENSE")) + ((x) (string->license x)) + ((lst ...) `(list ,@(map string->license lst))) + (unknown `(,(prefix 'fsdg-compatible) ,unknown))))) (define (description->alist description) "Convert a DESCRIPTION string into an alist." @@ -485,7 +517,7 @@ from the alist META, which was derived from the R package's DESCRIPTION file." (name (assoc-ref meta "Package")) (synopsis (assoc-ref meta "Title")) (version (assoc-ref meta "Version")) - (license (string->license (assoc-ref meta "License"))) + (license (string->licenses (assoc-ref meta "License"))) ;; Some packages have multiple home pages. Some have none. (home-page (case repository ((git) (assoc-ref meta 'git)) -- cgit v1.2.3 From f75592533e1921f4b3614a0de345f5c037b90cd6 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Thu, 22 Sep 2022 12:08:16 +0200 Subject: substitute: Split nar download. * guix/scripts/substitute.scm (download-nar): New procedure, with most of the code moved from... (process-substitution): ... here. Call it. --- guix/scripts/substitute.scm | 52 ++++++++++++++++++++++++++++----------------- 1 file changed, 32 insertions(+), 20 deletions(-) diff --git a/guix/scripts/substitute.scm b/guix/scripts/substitute.scm index cdf591ac4d..e3b382d0d8 100755 --- a/guix/scripts/substitute.scm +++ b/guix/scripts/substitute.scm @@ -437,20 +437,13 @@ server certificates." "Bind PORT with EXP... to a socket connected to URI." (call-with-cached-connection uri (lambda (port) exp ...))) -(define* (process-substitution port store-item destination - #:key cache-urls acl - deduplicate? print-build-trace?) - "Substitute STORE-ITEM (a store file name) from CACHE-URLS, and write it to -DESTINATION as a nar file. Verify the substitute against ACL, and verify its -hash against what appears in the narinfo. When DEDUPLICATE? is true, and if -DESTINATION is in the store, deduplicate its files. Print a status line to -PORT." - (define narinfo - (lookup-narinfo cache-urls store-item - (if (%allow-unauthenticated-substitutes?) - (const #t) - (cut valid-narinfo? <> acl)))) - +(define* (download-nar narinfo destination + #:key status-port + deduplicate? print-build-trace?) + "Download the nar prescribed in NARINFO, which is assumed to be authentic +and authorized, and write it to DESTINATION. When DEDUPLICATE? is true, and +if DESTINATION is in the store, deduplicate its files. Print a status line to +STATUS-PORT." (define destination-in-store? (string-prefix? (string-append (%store-prefix) "/") destination)) @@ -490,10 +483,6 @@ PORT." (leave (G_ "unsupported substitute URI scheme: ~a~%") (uri->string uri))))) - (unless narinfo - (leave (G_ "no valid substitute for '~a'~%") - store-item)) - (let ((uri compression file-size (narinfo-best-uri narinfo #:fast-decompression? @@ -575,14 +564,37 @@ PORT." (let ((actual (get-hash))) (if (bytevector=? actual expected) ;; Tell the daemon that we're done. - (format port "success ~a ~a~%" + (format status-port "success ~a ~a~%" (narinfo-hash narinfo) (narinfo-size narinfo)) ;; The actual data has a different hash than that in NARINFO. - (format port "hash-mismatch ~a ~a ~a~%" + (format status-port "hash-mismatch ~a ~a ~a~%" (hash-algorithm-name algorithm) (bytevector->nix-base32-string expected) (bytevector->nix-base32-string actual))))))) +(define* (process-substitution port store-item destination + #:key cache-urls acl + deduplicate? print-build-trace?) + "Substitute STORE-ITEM (a store file name) from CACHE-URLS, and write it to +DESTINATION as a nar file. Verify the substitute against ACL, and verify its +hash against what appears in the narinfo. When DEDUPLICATE? is true, and if +DESTINATION is in the store, deduplicate its files. Print a status line to +PORT." + (define narinfo + (lookup-narinfo cache-urls store-item + (if (%allow-unauthenticated-substitutes?) + (const #t) + (cut valid-narinfo? <> acl)))) + + (unless narinfo + (leave (G_ "no valid substitute for '~a'~%") + store-item)) + + (download-nar narinfo destination + #:status-port port + #:deduplicate? deduplicate? + #:print-build-trace? print-build-trace?)) + ;;; ;;; Entry point. -- cgit v1.2.3 From 8bd4126917f59f4af9a4323c3d5699201862dca2 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Fri, 23 Sep 2022 08:00:13 +0200 Subject: substitute: Retry downloading when a nar is unavailable. Fixes Reported by Attila Lendvai . Previously, if a narinfo was available but its corresponding nar was missing (for instance because the narinfo was cached and the server became unreachable in the meantime), 'guix substitute --substitute' would try to download the nar from its preferred location and abort when that fails. This change forces one retry with each of the URLs. * guix/scripts/substitute.scm (download-nar): Do not catch 'http-get-error?' exceptions. (system-error?, network-error?, process-substitution/fallback): New procedures. (process-substitution): Call 'process-substitution/fallback' upon 'network-error?'. * tests/substitute.scm ("substitute, first URL has narinfo but lacks nar, second URL unauthorized") ("substitute, first URL has narinfo but nar is 404, both URLs authorized") ("substitute, first URL has narinfo but nar is 404, one URL authorized") ("substitute, narinfo is available but nar is missing"): New tests. --- guix/scripts/substitute.scm | 113 +++++++++++++++++++++++++++++++++++--------- tests/substitute.scm | 113 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 203 insertions(+), 23 deletions(-) diff --git a/guix/scripts/substitute.scm b/guix/scripts/substitute.scm index e3b382d0d8..cf59db4315 100755 --- a/guix/scripts/substitute.scm +++ b/guix/scripts/substitute.scm @@ -460,25 +460,20 @@ STATUS-PORT." (let ((port (open-file (uri-path uri) "r0b"))) (values port (stat:size (stat port))))) ((http https) - (guard (c ((http-get-error? c) - (leave (G_ "download from '~a' failed: ~a, ~s~%") - (uri->string (http-get-error-uri c)) - (http-get-error-code c) - (http-get-error-reason c)))) - ;; Test this with: - ;; sudo tc qdisc add dev eth0 root netem delay 1500ms - ;; and then cancel with: - ;; sudo tc qdisc del dev eth0 root - (with-timeout %fetch-timeout - (begin - (warning (G_ "while fetching ~a: server is somewhat slow~%") - (uri->string uri)) - (warning (G_ "try `--no-substitutes' if the problem persists~%"))) - (with-cached-connection uri port - (http-fetch uri #:text? #f - #:port port - #:keep-alive? #t - #:buffered? #f))))) + ;; Test this with: + ;; sudo tc qdisc add dev eth0 root netem delay 1500ms + ;; and then cancel with: + ;; sudo tc qdisc del dev eth0 root + (with-timeout %fetch-timeout + (begin + (warning (G_ "while fetching ~a: server is somewhat slow~%") + (uri->string uri)) + (warning (G_ "try `--no-substitutes' if the problem persists~%"))) + (with-cached-connection uri port + (http-fetch uri #:text? #f + #:port port + #:keep-alive? #t + #:buffered? #f)))) (else (leave (G_ "unsupported substitute URI scheme: ~a~%") (uri->string uri))))) @@ -572,6 +567,68 @@ STATUS-PORT." (bytevector->nix-base32-string expected) (bytevector->nix-base32-string actual))))))) +(define system-error? + (let ((kind-and-args? (exception-predicate &exception-with-kind-and-args))) + (lambda (exception) + "Return true if EXCEPTION is a Guile 'system-error exception." + (and (kind-and-args? exception) + (eq? 'system-error (exception-kind exception)))))) + +(define network-error? + (let ((kind-and-args? (exception-predicate &exception-with-kind-and-args))) + (lambda (exception) + "Return true if EXCEPTION denotes a networking error." + (or (and (system-error? exception) + (let ((errno (system-error-errno + (cons 'system-error (exception-args exception))))) + (memv errno (list ECONNRESET ECONNABORTED + ECONNREFUSED EHOSTUNREACH + ENOENT)))) ;for "file://" + (and (kind-and-args? exception) + (memq (exception-kind exception) + '(gnutls-error getaddrinfo-error))) + (and (http-get-error? exception) + (begin + (warning (G_ "download from '~a' failed: ~a, ~s~%") + (uri->string (http-get-error-uri exception)) + (http-get-error-code exception) + (http-get-error-reason exception)) + #t)))))) + +(define* (process-substitution/fallback port narinfo destination + #:key cache-urls acl + deduplicate? print-build-trace?) + "Attempt to substitute NARINFO, which is assumed to be authorized or +equivalent, by trying to download its nar from each entry in CACHE-URLS. + +This can be less efficient than 'lookup-narinfo', which stops at the first +entry that provides a valid narinfo, but it makes sure we eventually find a +way to download the nar." + ;; Note: Keep NARINFO's uri-base in CACHE-URLS: that lets us retry in case + ;; this was a transient issue. + (let loop ((cache-urls cache-urls)) + (match cache-urls + (() + (leave (G_ "failed to find alternative substitute for '~a'~%") + (narinfo-path narinfo))) + ((cache-url rest ...) + (match (lookup-narinfos cache-url + (list (narinfo-path narinfo)) + #:open-connection + open-connection-for-uri/cached) + ((alternate) + (if (or (equivalent-narinfo? narinfo alternate) + (valid-narinfo? alternate acl) + (%allow-unauthenticated-substitutes?)) + (guard (c ((network-error? c) (loop rest))) + (download-nar alternate destination + #:status-port port + #:deduplicate? deduplicate? + #:print-build-trace? print-build-trace?)) + (loop rest))) + (() + (loop rest))))))) + (define* (process-substitution port store-item destination #:key cache-urls acl deduplicate? print-build-trace?) @@ -590,10 +647,20 @@ PORT." (leave (G_ "no valid substitute for '~a'~%") store-item)) - (download-nar narinfo destination - #:status-port port - #:deduplicate? deduplicate? - #:print-build-trace? print-build-trace?)) + (guard (c ((network-error? c) + (format (current-error-port) + (G_ "retrying download of '~a' with other substitute URLs...~%") + store-item) + (process-substitution/fallback port narinfo destination + #:cache-urls cache-urls + #:acl acl + #:deduplicate? deduplicate? + #:print-build-trace? + print-build-trace?))) + (download-nar narinfo destination + #:status-port port + #:deduplicate? deduplicate? + #:print-build-trace? print-build-trace?))) ;;; diff --git a/tests/substitute.scm b/tests/substitute.scm index 5315292987..9032a50268 100644 --- a/tests/substitute.scm +++ b/tests/substitute.scm @@ -523,6 +523,119 @@ System: mips64el-linux\n"))) (lambda () (false-if-exception (delete-file "substitute-retrieved"))))))) +(test-equal "substitute, first URL has narinfo but lacks nar, second URL unauthorized" + "Substitutable data." + (with-narinfo* + (string-append %narinfo "Signature: " + (signature-field + %narinfo + #:public-key %wrong-public-key)) + %alternate-substitute-directory + + (with-narinfo* (string-append %narinfo "Signature: " + (signature-field %narinfo)) + %main-substitute-directory + + (dynamic-wind + (const #t) + (lambda () + ;; Remove this file so that the substitute can only be retrieved + ;; from %ALTERNATE-SUBSTITUTE-DIRECTORY. + (delete-file (string-append %main-substitute-directory + "/example.nar")) + + (parameterize ((substitute-urls + (map (cut string-append "file://" <>) + (list %main-substitute-directory + %alternate-substitute-directory)))) + (request-substitution (string-append (%store-prefix) + "/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-foo") + "substitute-retrieved")) + (call-with-input-file "substitute-retrieved" get-string-all)) + (lambda () + (false-if-exception (delete-file "substitute-retrieved"))))))) + +(test-equal "substitute, first URL has narinfo but nar is 404, both URLs authorized" + "Substitutable data." + (with-narinfo* + (string-append %narinfo "Signature: " + (signature-field %narinfo)) + %main-substitute-directory + + (with-http-server `((200 ,(string-append %narinfo "Signature: " + (signature-field %narinfo))) + (404 "Sorry, nar is missing!")) + (dynamic-wind + (const #t) + (lambda () + (parameterize ((substitute-urls + (list (%local-url) + (string-append "file://" + %main-substitute-directory)))) + (request-substitution (string-append (%store-prefix) + "/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-foo") + "substitute-retrieved")) + (call-with-input-file "substitute-retrieved" get-string-all)) + (lambda () + (false-if-exception (delete-file "substitute-retrieved"))))))) + +(test-equal "substitute, first URL has narinfo but nar is 404, one URL authorized" + "Substitutable data." + (with-narinfo* + (string-append %narinfo "Signature: " + (signature-field + %narinfo + #:public-key %wrong-public-key)) + %main-substitute-directory + + (with-http-server `((200 ,(string-append %narinfo "Signature: " + (signature-field + %narinfo + #:public-key %wrong-public-key))) + (404 "Sorry, nar is missing!")) + (let ((url1 (%local-url))) + (parameterize ((%http-server-port 0)) + (with-http-server `((200 ,(string-append %narinfo "Signature: " + (signature-field %narinfo))) + (404 "Sorry, nar is missing!")) + (let ((url2 (%local-url))) + (dynamic-wind + (const #t) + (lambda () + (parameterize ((substitute-urls + (list url1 url2 + (string-append "file://" + %main-substitute-directory)))) + (request-substitution (string-append (%store-prefix) + "/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-foo") + "substitute-retrieved")) + (call-with-input-file "substitute-retrieved" get-string-all)) + (lambda () + (false-if-exception (delete-file "substitute-retrieved"))))))))))) + +(test-quit "substitute, narinfo is available but nar is missing" + "failed to find alternative substitute" + (with-narinfo* + (string-append %narinfo "Signature: " + (signature-field + %narinfo + #:public-key %wrong-public-key)) + %main-substitute-directory + + (with-http-server `((200 ,(string-append %narinfo "Signature: " + (signature-field %narinfo))) + (404 "Sorry, nar is missing!")) + (parameterize ((substitute-urls + (list (%local-url) + (string-append "file://" + %main-substitute-directory)))) + (delete-file (string-append %main-substitute-directory + "/example.nar")) + (request-substitution (string-append (%store-prefix) + "/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-foo") + "substitute-retrieved") + (not (file-exists? "substitute-retrieved")))))) + (test-equal "substitute, first narinfo is unsigned and has wrong hash" "Substitutable data." (with-narinfo* (regexp-substitute #f -- cgit v1.2.3 From f33733785a5e218a683a83b902ac79f9e27d3a13 Mon Sep 17 00:00:00 2001 From: Andreas Rammhold Date: Tue, 20 Sep 2022 01:59:56 +0200 Subject: gnu: wpa-supplicant: Enable OWE support. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit With OWE support users are enable to connect to "Opportunistic Wireless Encryption" networks. This means users are able to have an encrypted data channel in an otherwise open wireless network. * gnu/packages/admin.scm (wpa-supplicant)[arguments]: Rename 'configure-for-dbus' phase to 'set-config-options'. Set CONFIG_OWE=y. Remove trailing #t. Co-authored-by: Ludovic Courtès --- gnu/packages/admin.scm | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index 7254ad366f..1a213adfdd 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -52,6 +52,7 @@ ;;; Copyright © 2022 Wamm K. D. ;;; Copyright © 2022 Roman Riabenko ;;; Copyright © 2022 Petr Hodina +;;; Copyright © 2022 Andreas Rammhold ;;; ;;; This file is part of GNU Guix. ;;; @@ -2150,14 +2151,16 @@ command.") (substitute-keyword-arguments (package-arguments wpa-supplicant-minimal) ((#:phases phases) `(modify-phases ,phases - (add-after 'configure 'configure-for-dbus + (add-after 'configure 'set-config-options (lambda _ (let ((port (open-file ".config" "al"))) + ;; Enable Opportunistic Wireless Encryption (OWE) and D-Bus + ;; support. (display " + CONFIG_OWE=y CONFIG_CTRL_IFACE_DBUS_NEW=y CONFIG_CTRL_IFACE_DBUS_INTRO=y\n" port) - (close-port port)) - #t)) + (close-port port)))) (add-after 'install-documentation 'install-dbus-conf (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) -- cgit v1.2.3 From 67cf25e6cd2cdeb5ef0d2404cb753290d4033fc8 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 28 Sep 2022 22:53:35 +0200 Subject: doc: Fix syntax for 'wsdd-configuration'. * doc/guix.texi (Samba Services): Fix syntax of 'wsdd-configuration' data type definition. --- doc/guix.texi | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index 0503c18bb2..af44276ff1 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -31413,8 +31413,8 @@ this service type is a @code{wsdd-configuration} record. The details for the @code{wsdd-configuration} record type are given below. @end defvr -@deftp{Data Type} wsdd-configuration This data type represents the -configuration for the wsdd service. +@deftp {Data Type} wsdd-configuration +This data type represents the configuration for the wsdd service. @table @asis -- cgit v1.2.3 From f63adbf6f91ca77b133212e84a6cef7ac12d9b2a Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 28 Sep 2022 22:58:10 +0200 Subject: doc: Tweak wsdd wording. * doc/guix.texi (Samba Services)[Web Service Discovery Daemon]: Tweak wording. --- doc/guix.texi | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index af44276ff1..84f7064faf 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -31397,17 +31397,17 @@ Enable the @code{winbindd} daemon. @end table @end deftp -@cindex wsdd +@cindex wsdd, Web service discovery daemon @subsubheading Web Service Discovery Daemon -Web Service Discovery Daemon implements +The @acronym{WSDD, Web Service Discovery daemon} implements the @uref{http://docs.oasis-open.org/ws-dd/discovery/1.1/os/wsdd-discovery-1.1-spec-os.html, -Web Services Dynamic Discovery} protocol that enables host discovery -- -similar to Avahi -- over Multicast DNS. It is a drop-in replacement for -SMB hosts that have had SMBv1 disabled for security reasons. +Web Services Dynamic Discovery} protocol that enables host discovery +over Multicast DNS, similar to what Avahi does. It is a drop-in +replacement for SMB hosts that have had SMBv1 disabled for security +reasons. @defvr {Scheme Variable} wsdd-service-type - Service type for the WSD host daemon. The value for this service type is a @code{wsdd-configuration} record. The details for the @code{wsdd-configuration} record type are given below. -- cgit v1.2.3 From 48c938fbc7267cbb7f7d223cffee482b11c3b7d8 Mon Sep 17 00:00:00 2001 From: Wiktor Żelazny Date: Wed, 21 Sep 2022 10:54:10 +0200 Subject: gnu: Add texlive-babel-czech. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/tex.scm (texlive-babel-czech): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/tex.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm index 2dc052b1a7..e5e7921ad7 100644 --- a/gnu/packages/tex.scm +++ b/gnu/packages/tex.scm @@ -11196,6 +11196,33 @@ mechanism. Line numbering may be extended to footnote lines, using the fnlineno package.") (license license:lppl1.3a+))) +(define-public texlive-babel-czech + (let ((template (simple-texlive-package + "texlive-babel-czech" + (list "/source/generic/babel-czech/") + (base32 + "1274pzgdya7gkvxjmdm3v5rb7hc0sj6mqn9pd8y9418yx5449spg")))) + (package + (inherit template) + (arguments + (substitute-keyword-arguments (package-arguments template) + ((#:tex-directory _ '()) + "generic/babel-czech") + ((#:build-targets _ '()) + ''("czech.ins")) ; TODO: use dtx and build documentation + ((#:phases phases) + `(modify-phases ,phases + (add-after 'unpack 'chdir + (lambda _ + (chdir "source/generic/babel-czech"))))))) + (home-page "https://www.ctan.org/pkg/babel-czech") + (synopsis "Babel support for Czech") + (description + "This package provides the language definition file for support of +Czech in @code{babel}. Some shortcuts are defined, as well as translations to +Czech of standard ``LaTeX names''.") + (license license:lppl1.3+)))) + (define-public texlive-babel-dutch (let ((template (simple-texlive-package "texlive-babel-dutch" -- cgit v1.2.3 From 0e367799869281c2cee8c7d563fd68f9e08c3fac Mon Sep 17 00:00:00 2001 From: Trevor Richards Date: Wed, 21 Sep 2022 17:20:35 -0700 Subject: gnu: Add gnome-shell-extension-unite-shell. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/gnome-xyz.scm (gnome-shell-extension-unite-shell): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/gnome-xyz.scm | 41 ++++++++++++++++++++++++++++++++++++++++- 1 file changed, 40 insertions(+), 1 deletion(-) diff --git a/gnu/packages/gnome-xyz.scm b/gnu/packages/gnome-xyz.scm index 34a703c7e1..68166978a1 100644 --- a/gnu/packages/gnome-xyz.scm +++ b/gnu/packages/gnome-xyz.scm @@ -69,7 +69,8 @@ #:use-module (gnu packages tls) #:use-module (gnu packages ruby) #:use-module (gnu packages web) - #:use-module (gnu packages xml)) + #:use-module (gnu packages xml) + #:use-module (gnu packages xorg)) (define-public arc-icon-theme (package @@ -303,6 +304,44 @@ and products. Plots is designed to integrate well with the GNOME desktop and takes advantage of modern hardware using OpenGL.") (license license:gpl3+))) +(define-public gnome-shell-extension-unite-shell + (package + (name "gnome-shell-extension-unite-shell") + (version "65") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/hardpixel/unite-shell") + (commit "127edac6396b89cdedec003bdff38820e6a0f91f"))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1lzhf7hlvzg62nxjfpv265315qibcjz5dv08dzpfckf2dx68nab4")))) + (build-system copy-build-system) + (native-inputs (list `(,glib "bin") gettext-minimal)) + (inputs (list xprop)) + (arguments + (list #:install-plan ''(("./unite@hardpixel.eu" + "share/gnome-shell/extensions/unite@hardpixel.eu")) + #:phases #~(modify-phases %standard-phases + (add-after 'unpack 'patch-xprop-bin + (lambda _ + (substitute* "unite@hardpixel.eu/window.js" + (("xprop") + (string-append #$(this-package-input "xprop") + "/bin/xprop"))))) + (add-before 'install 'compile-schemas + (lambda _ + (with-directory-excursion "unite@hardpixel.eu/schemas" + (invoke "glib-compile-schemas" "."))))))) + (home-page "https://github.com/hardpixel/unite-shell") + (synopsis "Top panel and window decoration extension for GNOME Shell") + (description + "Unite is a GNOME Shell extension which makes a few layout +tweaks to the top panel and removes window decorations to make it look like +Ubuntu Unity Shell.") + (license license:gpl3))) + (define-public gnome-shell-extension-appindicator (package (name "gnome-shell-extension-appindicator") -- cgit v1.2.3 From 16447da515b013240e700ce4a49d68454a0b37bd Mon Sep 17 00:00:00 2001 From: Jonathan Brielmaier Date: Wed, 28 Sep 2022 23:39:17 +0200 Subject: gnu: icedove: Update to 102.3.0. * gnu/packages/gnuzilla.scm (icedove): Update to 102.3.0. [source]: Use icecat-source again. [arguments]: Remove `--frozen` flag from cargo invokation. Remove `--with-user-appdir` flag (no longer honoured since TB91). Disable WASM sandbox for now (needs more dependencies). [inputs]: Add alsa-lib. Use icu4c-71. [native-inputs]: Update hg-reference link. Use rust@1.59 and rust-cbindgen@0.23. --- gnu/packages/gnuzilla.scm | 32 ++++++++++++++++++++------------ 1 file changed, 20 insertions(+), 12 deletions(-) diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm index b3a301709f..f006e79dc5 100644 --- a/gnu/packages/gnuzilla.scm +++ b/gnu/packages/gnuzilla.scm @@ -1520,12 +1520,12 @@ standards of the IceCat project.") icecat-dir))))))))) ;; Update this together with icecat! -(define %icedove-build-id "20220919000000") ;must be of the form YYYYMMDDhhmmss +(define %icedove-build-id "20220920000000") ;must be of the form YYYYMMDDhhmmss (define-public icedove (package (name "icedove") - (version "91.13.1") - (source icecat-91-source) + (version "102.3.0") + (source icecat-source) (properties `((cpe-name . "thunderbird_esr"))) (build-system gnu-build-system) @@ -1557,6 +1557,13 @@ standards of the IceCat project.") (for-each generate-all-checksums '("third_party/rust" "toolkit/library/rust"))))) + (add-after 'patch-cargo-checksums 'remove-cargo-frozen-flag + (lambda _ + ;; Remove --frozen flag from cargo invokation, otherwise it'll + ;; complain that it's not able to change Cargo.lock. + ;; https://bugzilla.mozilla.org/show_bug.cgi?id=1726373 + (substitute* "build/RunCbindgen.py" + (("\"--frozen\",") "")))) ;; Fixes issue where each installation directory generates its own profile. ;; See e.g. https://trac.torproject.org/projects/tor/ticket/31457 (add-after 'patch-source-shebangs 'fix-profile-setting @@ -1709,7 +1716,7 @@ standards of the IceCat project.") "ac_add_options --with-system-nspr\n" ;"ac_add_options --with-system-nss\n" "ac_add_options --with-system-zlib\n" - "ac_add_options --with-user-appdir=\\.icedove\n" + "ac_add_options --without-wasm-sandboxed-libraries\n" "mk_add_options MOZ_MAKE_FLAGS=-j" (number->string (parallel-job-count)) "\n")))) (display (getcwd)) @@ -1759,7 +1766,8 @@ standards of the IceCat project.") `("XDG_DATA_DIRS" prefix (,gtk-share)) `("LD_LIBRARY_PATH" prefix (,pulseaudio-lib ,eudev-lib))))))))) (inputs - (list bzip2 + (list alsa-lib + bzip2 cairo cups dbus-glib @@ -1770,7 +1778,7 @@ standards of the IceCat project.") gtk+ gtk+-2 hunspell - icu4c + icu4c-71 libcanberra libevent libffi @@ -1803,17 +1811,17 @@ 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 "2f9b465346ceb38b4ab79ccc1bfe8d8ad0bc8743")) + ,(let ((changeset "04f60827c1b53ab86121c7d122d3a8216219ff9f")) (origin (method hg-fetch) (uri (hg-reference - (url "https://hg.mozilla.org/releases/comm-esr91") + (url "https://hg.mozilla.org/releases/comm-esr102") (changeset changeset))) (file-name (string-append "thunderbird-" version "-checkout")) (sha256 (base32 - "10vsbwlh5imq7iljwzq3r4y80wzsmj6s2gsi1n64l0wmfq2m6ilb"))))) - ("cargo" ,rust "cargo") + "078jrxpzqj45l84i39a9fq023j71ngca5gs2ngpjsbily51bzx09"))))) + ("cargo" ,(force rust-1.59-promise) "cargo") ("clang" ,clang) ("llvm" ,llvm) ("m4" ,m4) @@ -1822,8 +1830,8 @@ standards of the IceCat project.") ("perl" ,perl) ("pkg-config" ,pkg-config) ("python" ,python-wrapper) - ("rust" ,rust) - ("rust-cbindgen" ,rust-cbindgen-0.19) + ("rust" ,(force rust-1.59-promise)) + ("rust-cbindgen" ,(force rust-cbindgen-0.23-promise)) ("which" ,which) ("yasm" ,yasm))) (home-page "https://www.thunderbird.net") -- cgit v1.2.3 From bb762ac517ff5ab4e55a0efb7e1b534c36c2b7c3 Mon Sep 17 00:00:00 2001 From: Jonathan Brielmaier Date: Wed, 28 Sep 2022 23:47:22 +0200 Subject: gnu: icecat: Remove leftovers from version 91. * gnu/packages/gnuzilla.scm (all-mozilla-91-locales, %icecat-91-version, icecat-91-source): Remove variables. --- gnu/packages/gnuzilla.scm | 280 ---------------------------------------------- 1 file changed, 280 deletions(-) diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm index f006e79dc5..bb285eab70 100644 --- a/gnu/packages/gnuzilla.scm +++ b/gnu/packages/gnuzilla.scm @@ -1239,286 +1239,6 @@ standards of the IceCat project.") (cpe-name . "firefox_esr") (cpe-version . ,(first (string-split version #\-))))))) -(define all-mozilla-91-locales - (mozilla-locales - ;; sha256 changeset locale - ;;--------------------------------------------------------------------------- - ("0f2lkv79gqf46f74905mab3zwyz1532chxlf9d28s548p1hw6lv9" "8312cd2e0777" "ach") - ("1v5jpmd0b04mizm9pjffp4r9q121vpq3yzkkxcgmrcwj4gc5jb2y" "21bf766c19d8" "af") - ("1fqjiq2la543z5pbbvd9kfs0wdc2phmqjbxascfsak854qy1z9f9" "34b6a4f0790d" "an") - ("0pl6j99xnali25glyr3g9fmj67v9vqmhd9k74i97f8q5n4xmv3ym" "513c3e8dac97" "ar") - ("0d1fbk9jcai19pi8b7i4y4r0gscqi1inr9dbahd6h0xbxfwc0zif" "19ca0cd0d1bf" "ast") - ("08f9b63wxxy28zaimjn1ab9w51bvrarc3pp75s7v6kzm5bk1jwic" "44aa0dad7964" "az") - ("15pksy9bgaxcbcnvvp8jwqnqxvvhq9vnljpai6jlh52yyrsglbwi" "5e4499355167" "be") - ("0gdg84jp1i4il4nc6gwaswdhc4ljbb9inyip7vhkng09v3pmwm0h" "98d006107851" "bg") - ("0i6vl0ag74phj4l38cvds1ds3jjdal1c8d7hy6pf4aqrp4ai32mh" "2ca52cbb680a" "bn") - ("16yavargwq8rhipzpmrrvyh68g3a6disz9g5m8xbhxvixhcsi5fr" "ce92556a0a90" "br") - ("1512dzp394pj66i13nsz76qh6fmjpz7r7fmvk8d0h7pjk0d6n0dy" "1c79dabdb120" "bs") - ("19wg0kbr2ihbn4lscsxg9agz04r8bsih4692vfgb6nyn1z8vx2i0" "a22912c01617" "ca") - ("1ixpzjb7caq1d9c7c044rxg3ymxs3hjw120kq85v004jrrb4d9c6" "34bf3fd631d4" "ca-valencia") - ("1abizdmd1c56syni1aanwwrfvmgzz25fmimbj2324bcw801ma9h0" "e2e4ba2c37bc" "cak") - ("0wgrg2wiz1jcj52nd4zl4shfkjhbngfj6p1gw1ywj266hk8g6pvw" "a60792bff6ff" "cs") - ("132f29111jd2z9yxpakkyri80mi2ggnik6zxaxqrp4vlcrd1fxd2" "66369fcad8c7" "cy") - ("04lpic3cxdj1imcwjkbk81avp9dpa1c9b1zcchrr1a4vyy4yfjpy" "af198d43f7d6" "da") - ("1h0rkwlsqls8k1qi1y68plw6xk0z2c5xc2y4nqywiirl71yz7fi5" "816fcef20c05" "de") - ("11lzdyl1h42zb1x2yxiv3r0wih8jy1gr0gzs5d1isdq53sa9cqnq" "962e5a544415" "dsb") - ("146jgrhl41k6zbxg58hxh1s088padsjz7ny8nm59i9i8d00jpv0a" "e7c49fd88463" "el") - ("1qppr44hdnrb1z1igcd1p0w5sy9vpihzilkl2w44y0v0v9rigppv" "5a0e35b08a48" "en-CA") - ("1v2irfms24cx9g5s6r1glmp2c000wi91axyca1pn37s7c01r0n4b" "72f8c5d8305d" "en-GB") - ("1y0rbbmax1w6jy4jacy27xgy4aqnd43izysw8qjwm0qhhfjvf3xh" "40994fca693d" "eo") - ("0kmjvinqpb3y81mqda1qq8k202aa36as9z1z775745bx6sbvkggz" "6cf3c836995d" "es-AR") - ("06rvd1z3l0r7hwnsnw90i0f5j2ysbv6wd3cl64g0bgifmwjk75hi" "8727dda3935e" "es-CL") - ("0gzw1rn9nzpgcrrc10indnbqqpax87azczrfxv8mn5n56j734hc0" "5351aba49895" "es-ES") - ("0bnmgisxfkb6rb12avhipbsj1yr0dyv56qjj9471gnc2ppq7k3c9" "dd834a4af402" "es-MX") - ("1951975h9w813qxanbk3frjz7c8knzx5rvq9i82j9i6x6a3fh6fi" "1f2150796079" "et") - ("1vkb5rd0k6vh9dbll3fhyzg8rfpkxxkd2rxwf66b8l3hg4fqd7f2" "2911663f4a7c" "eu") - ("1cj9zblfp94h86m7zd762bfmcfz0yxc1q4ra35s4wnnlqajarzwj" "04ec3c3bbe92" "fa") - ("1ininsyzaj7xd8ppmklm3zglgw1i0nhdy43iiyva32hb592zxy4m" "0cf866f9bc4e" "ff") - ("1hc308d71iygarrpliv7pxjz49gxwqg10d0pv8j4sbb2pw39bprl" "04a600fc54a4" "fi") - ("02nl54db9130rg59wmrrnh0z726fg5ir1njfcnhxagb4g5b7s69f" "64a3576df276" "fr") - ("1qbby23qlkxjz3vwlk8pd2w1w4cxdff8cq7j0ipk44mijkxkry0c" "c84177dfa254" "fy-NL") - ("1x23pg36ld5qnrmdn149rkl85ia8lmiqbzcac2bm0iqprnjdszii" "31590cffac56" "ga-IE") - ("005fpyr1lvw23dja3yrzx4y8wdih7vx6ljjpisf4pd3k5zai4x81" "ba4f274ac4a1" "gd") - ("0kdlb5q74n0fl5fxfy873s392kry69dmdl8b4gvqdyh5sy66vsqm" "56b41bdcd401" "gl") - ("0v8r8b0nrk1l4xipzhq16klmh0pinzcrma0s0gyhgzqqli6z7aym" "59e2afb65c08" "gn") - ("1grb1lq1f9p5jxgh9v78jl1wswxmsqxkcssm35l30k6y24pglr0m" "33b4409fb615" "gu-IN") - ("172fg55y8l90ix4c8s5x7f8mg6rc7779p6l852cnnkfqjgqa5a5f" "92f9f8238189" "he") - ("0i52nmg0yv3y1y3rkinxcyh51mgjksk7c3jlc8014801m3zvyxj7" "00090f7a2a3f" "hi-IN") - ("074q8n00yq54kzk632dwbs64r0sygvybbvwpd6hbvfpn38lz8hxf" "6e4a3fdc01f3" "hr") - ("1jxiz8zyxbpnwgk5xkwfxlr5f1zfyc88jcsajy8wcaifdkld3cwn" "7fd9bc25e49d" "hsb") - ("0ca11pmkzyd9ccrnrbmk0jrpcb03k88v4zivxblnxj4w03g0hyhq" "ce3b378ce950" "hu") - ("1yszljbh8f7w6lckfw22jwximy3yhis4430lfynfb8lh9nm0fw59" "c91a4a3e8821" "hy-AM") - ("0hhl8b8szqlhjdxhsa81zmgr303kr0jx5d6rzbi840qwf01h12sz" "4f235acc839e" "ia") - ("063yfk3nz3kignbri7r9sr3jwr5p9yyqc6sckgqs94hx6lvc355p" "fface86a34e4" "id") - ("1qszxkgliall4haaq6v0xayxikq43ddcdsn1d4m1mwyp7gdpbry5" "5978ae767b44" "is") - ("1fsfz9iz5pdd5r9ckdal6grvddchsc4r3r8gn4w6f2bja6vpbs05" "0c7d2a0e1304" "it") - ("1phkw0apiicgbw2nq3g392xncw1v2c4yac595h3nchs4q6rp9pd9" "1c923f3e88b9" "ja") - ("1y4gc4l6g72nphhsw4aqhcl80a7wi9qdy61h66c6jc6h14i7278d" "66f700940cfa" "ja-JP-mac") - ("0iqwj0y19zqcdclnn92z490s1g9vh2qr9gmkyfnpsz69llxidx1j" "49b4a7c6bb2c" "ka") - ("111nm2khff0zxnqqfc68rbi3j0b1nx5r4xai7b8yymyv1i0qbsxd" "4854facbd60b" "kab") - ("12p7lg2p6pcqdlb4bqbz5isxilw2r9vb8344sh8zrvv9cb9jq04f" "d2fda8a1b287" "kk") - ("142vpw9npqgc8b5zcg5cy2lh07s4mg8xfbaymg44fb4j3s6agw88" "3a5a1cae9b93" "km") - ("00v1sd2byj2ksxw1020z142cdlxa7ri2v1rzjrhay9l465bj3k8x" "6ed122b33cac" "kn") - ("1s07yhwzpxj0l5vj5lzbvgw115sjx1g2zgbqca5wln95dds39npl" "49bc07645a47" "ko") - ("1b4brfww0w7x1h3ff19i6xi8xq2cb1hxysilira6yq4rb6vhlmly" "93f04df12616" "lij") - ("1i30my0bbgm9z02rxxi7x4vc69bs3bnjs9l2q6jd8xvs1ga3vc7n" "e1f4e0d87509" "lt") - ("1bjh4xlx6562hxq527cqcn4b5295dsdpwn4c4y5ci902nlh6fc8l" "daea4ba4e7f4" "lv") - ("0vig42slcx6bhpisyc1bnyklr95lbv7vqd1ckiywp5c5qzfa9afi" "0c4ca0f4fc17" "mk") - ("10qfnkqi2snmgvm4vcrmp2489klchv3hn2c4rmkdhi5bilfk42jx" "9be8d5951976" "mr") - ("1bkn8ds3fyz710ck4gg4g5vpv23bi573ssm9xbiyl8y59pvbig9b" "0f44d0bcfda2" "ms") - ("1j9af3axbijn0s8y96310mvgaq5a36m0r3ij550jv5bv52862crj" "ccbf0c4355d6" "my") - ("0lspnp9jn3rrgz3djnmc0qrb6ymigvqnr3fb0jbhmf83r4yfs8z1" "a6cf2c6e3594" "nb-NO") - ("1xp2884m9gqm9gaakc747bd9j55wssrh3qsf4y4k02ijh08sfmwb" "c1636a1a7507" "ne-NP") - ("0y1fxp9pxia6x2wxdharh2ynvzdqcmzpya1gdb89pcv5qyrzqgcl" "60ed1c2397a6" "nl") - ("1nbp924p7fp2c76ym71wp34vk96z89i4g2rfgpsi54cgv42a6vgq" "a7f9a3d35875" "nn-NO") - ("1yrmhyvb6skypcyvi6j3py51sdkq9vn35zkryx6rdp8ygqwm1va7" "9ac29828960e" "oc") - ("0rn2414ji1icar627arf5rjwl9r9vxhznbfsyxgrmrf0p6dp72fv" "87720cc32205" "pa-IN") - ("09lam6yaprc8zyisq0pcdj4afpg930c2x3x47gdxnqfyhmcfygs7" "56b2c592ffba" "pl") - ("0mbc1a8wvjs3k928qh0k800d230251i0rw0myhdpc6mk3xjna7i5" "89f1b173c9b1" "pt-BR") - ("1v1qa5slllz78222rlqr4b8k7c8dapmx8d7s5nb90wdffic0zcqy" "27adc5dad781" "pt-PT") - ("04k6h5d7c740lz1hx1vavj6p0fmhgn9mm3nwvk4p9iccy5nw5pmf" "83e2e4833fc3" "rm") - ("0f0hz792wr17mgi6n190dliqx67479aqg3y2ak0jg0fiz2c8qr7p" "69cdc288966f" "ro") - ("17yngj0v30687m7fa1ls0g86vjg8jzxs7bnsca91jpxf3ij44xp6" "03046775600f" "ru") - ("1fvz23nphs9i4gdkx9fcy5ahdk2f879281pchclwi0qlciq7digr" "61ea93a50fff" "sco") - ("0yc1iwqbnpnf1i7yz3zqrx6g8pinc7l53pvbczywfkq3rz6wmmf5" "2b134d24c046" "si") - ("0kizljksn2vn4yw7qlv7c8h2m75f7n9ddg6n6ag3hwxxip83hn4y" "6d69c24dc8db" "sk") - ("1ll936b18wy464623jc5smf3c6dpimh0qwn28a991h7zcw31n3kp" "29e195d1d160" "sl") - ("14w9n994z9gf0wx7vrqisyxkngvhmmnayx8r0vwiq8k7jy81sxlm" "60a3b235fe1d" "son") - ("0z7bcfvq6x6dxf4d4bbjsg36r5npkr89087b0j360ljampk6c2fn" "8588cbc89847" "sq") - ("1fcq9g89lhzckzr2qb6x0w0z6q486n9jdqfi6h70dx8b069b3jfj" "198f7e89f10d" "sr") - ("0ap3m1sbibnaj9s2l139m7l8cc8s2ky4jlxwgzbxdzvqxfz7n954" "b098e2ebc049" "sv-SE") - ("0k93gnwfs5mahb9vz1c65ddcbkav0cwhxnrww3qk7gcmn7q88gqk" "25951b964d5b" "szl") - ("0b0v5pcwvhvhg8vlzy26g3j0m1r8svrpq07hq0q7lxldwlb48phz" "94659c83c9d8" "ta") - ("1v35cl6m3ikzsriq6zkjzjs3p9bhl8zmbp2gl14mga1f1zy4kcah" "eb59646a5d36" "te") - ("0y3r30mjgxngjraqmf5cm00kgqx2pvhbvy8sfxb3fhypv9vda3yr" "10d257301a2d" "th") - ("1inyqk495py20jwjvs4yl0n5ncf3hhb896bs1lwfsgpvbvr5hbq1" "9be6adca0e51" "tl") - ("0vsirjs655cia9n8dys2r84bvg303hcxkk2w6a9j3dkbifq5ymk6" "51354c936bf6" "tr") - ("050x882c0ywil290k4g861njw70ffw2y55dqk3w0kffi972mm909" "d7510f2d01dc" "trs") - ("001ykwxkwibavbi1k42b1hmysb3gmrwcs68zmw96m1vc80p29nz1" "4d1fa878042b" "uk") - ("0lsz6jlmmsqdg47pdx8b1djjvcavi0wlyr0mkpyhjgpginag21zx" "ad3035f28183" "ur") - ("0d3ggm3q76pkpg4n3lz2ji4pbb47n885byqxbp7sk6n9vlgzir7l" "8ea7a5a051db" "uz") - ("0v7d8y6xsr6yf2s1sjxnsjmw0hdnj91f0w2da6spkifb52lmbv6v" "67fe2acb306f" "vi") - ("0j8l09vzqlw4zlkyp6wkh44c5gr1xgbcmnawks1zj7xz02ambwii" "abc22dfb6d84" "xh") - ("1c01pbyswixkjg42714fvfy33b09mpdbf4d8f8kcs88c86jpf07z" "d6d6f9bb6113" "zh-CN") - ("0yq8fqdz862pnlbvfsqfc152rhpsqgncvp8bqkd653mdfv4qkwr4" "0cbdc5f1a048" "zh-TW"))) - -(define %icecat-91-version "91.13.0-guix0-preview1") - -(define icecat-91-source - (let* ((base-version (first (string-split %icecat-91-version #\-))) - - (major-version (first (string-split base-version #\.))) - (minor-version (second (string-split base-version #\.))) - (sub-version (third (string-split base-version #\.))) - - (upstream-firefox-version (string-append base-version "esr")) - (upstream-firefox-source - (origin - (method url-fetch) - (uri (string-append - "https://ftp.mozilla.org/pub/firefox/releases/" - upstream-firefox-version "/source/" - "firefox-" upstream-firefox-version ".source.tar.xz")) - (sha256 - (base32 - "0qh7j960wdp5zcfqhkj8ki47spp9i9ms12xx0v0kxvmmw36jpgjk")))) - - (upstream-icecat-base-version "91.13.0") ; maybe older than base-version - ;;(gnuzilla-commit (string-append "v" upstream-icecat-base-version)) - (gnuzilla-commit "4a87716686104266a9cccc2d83cc249e312f3673") - (gnuzilla-source - (origin - (method git-fetch) - (uri (git-reference - (url "git://git.savannah.gnu.org/gnuzilla.git") - (commit gnuzilla-commit))) - (file-name (git-file-name "gnuzilla" - ;;upstream-icecat-base-version - (string-take gnuzilla-commit 8))) - (sha256 - (base32 - "070j78al04xzchfl5xj1w300hmw17a3iqcw7mnlxf6b8rqlgj20p")))) - - ;; 'search-patch' returns either a valid file name or #f, so wrap it - ;; in 'assume-valid-file-name' to avoid 'local-file' warnings. - (gnuzilla-fixes-patch - (local-file (assume-valid-file-name - (search-patch "icecat-use-older-reveal-hidden-html.patch")))) - (makeicecat-patch - (local-file (assume-valid-file-name - (search-patch "icecat-makeicecat.patch"))))) - - (origin - (method computed-origin-method) - (file-name (string-append "icecat-" %icecat-91-version ".tar.xz")) - (sha256 #f) - (uri - (delay - (with-imported-modules '((guix build utils)) - #~(begin - (use-modules (guix build utils)) - (let ((firefox-dir - (string-append "firefox-" #$base-version)) - (icecat-dir - (string-append "icecat-" #$%icecat-91-version))) - - (set-path-environment-variable - "PATH" '("bin") - (list #+rename - #+python - #+(canonical-package bash) - #+(canonical-package coreutils) - #+(canonical-package findutils) - #+(canonical-package patch) - #+(canonical-package xz) - #+(canonical-package sed) - #+(canonical-package grep) - #+(canonical-package bzip2) - #+(canonical-package gzip) - #+(canonical-package tar))) - - (set-path-environment-variable - "PYTHONPATH" - (list #+(format #f "lib/python~a/site-packages" - (version-major+minor - (package-version python)))) - '#+(cons python-jsonschema - (map second - (package-transitive-propagated-inputs - python-jsonschema)))) - - ;; Needed by the 'makeicecat' script. - (setenv "RENAME_CMD" "rename") - - ;; We copy the gnuzilla source directory because it is - ;; read-only in 'gnuzilla-source', and the makeicecat script - ;; uses "cp -a" to copy parts of it and assumes that the - ;; copies will be writable. - (copy-recursively #+gnuzilla-source "/tmp/gnuzilla" - #:log (%make-void-port "w")) - - (with-directory-excursion "/tmp/gnuzilla" - (make-file-writable "makeicecat") - (invoke "patch" "--force" "--no-backup-if-mismatch" - "-p1" "--input" #+gnuzilla-fixes-patch) - (invoke "patch" "--force" "--no-backup-if-mismatch" - "-p1" "--input" #+makeicecat-patch) - (patch-shebang "makeicecat") - (substitute* "makeicecat" - (("^readonly FFMAJOR=(.*)" all ffmajor) - (unless (string=? #$major-version - (string-trim-both ffmajor)) - ;; The makeicecat script cannot be expected to work - ;; properly on a different version of Firefox, even if - ;; no errors occur during execution. - (error "makeicecat major version mismatch")) - (string-append "readonly FFMAJOR=" #$major-version "\n")) - (("^readonly FFMINOR=.*") - (string-append "readonly FFMINOR=" #$minor-version "\n")) - (("^readonly FFSUB=.*") - (string-append "readonly FFSUB=" #$sub-version "\n")) - (("^readonly DATADIR=.*") - "readonly DATADIR=/tmp/gnuzilla/data\n") - (("^readonly SOURCEDIR=.*") - (string-append "readonly SOURCEDIR=" icecat-dir "\n")) - (("/bin/sed") - #+(file-append (canonical-package sed) "/bin/sed")))) - - (format #t "Unpacking upstream firefox tarball...~%") - (force-output) - (invoke "tar" "xf" #+upstream-firefox-source) - (rename-file firefox-dir icecat-dir) - - (with-directory-excursion icecat-dir - (format #t "Populating l10n directory...~%") - (force-output) - (mkdir "l10n") - (with-directory-excursion "l10n" - (for-each - (lambda (locale-dir) - (let ((locale - (string-drop (basename locale-dir) - (+ 32 ; length of hash - (string-length "-mozilla-locale-"))))) - (format #t " ~a~%" locale) - (force-output) - (copy-recursively locale-dir locale - #:log (%make-void-port "w")) - (for-each make-file-writable (find-files locale)) - (with-directory-excursion locale - (when (file-exists? ".hgtags") - (delete-file ".hgtags")) - (mkdir-p "browser/chrome/browser/preferences") - (call-with-output-file - "browser/chrome/browser/preferences/advanced-scripts.dtd" - (lambda (port) #f))))) - '#+all-mozilla-91-locales) - (copy-recursively #+mozilla-compare-locales - "compare-locales" - #:log (%make-void-port "w")) - (delete-file "compare-locales/.gitignore") - (delete-file "compare-locales/.hgignore") - (delete-file "compare-locales/.hgtags"))) - - (format #t "Running makeicecat script...~%") - (force-output) - (invoke "bash" "/tmp/gnuzilla/makeicecat") - - (format #t "Packing IceCat source tarball...~%") - (force-output) - (setenv "XZ_DEFAULTS" (string-join (%xz-parallel-args))) - (invoke "tar" "cfa" #$output - ;; Avoid non-determinism in the archive. We set the - ;; mtime of files in the archive to early 1980 because - ;; the build process fails if the mtime of source - ;; files is pre-1980, due to the creation of zip - ;; archives. - "--mtime=@315619200" ; 1980-01-02 UTC - "--owner=root:0" - "--group=root:0" - "--sort=name" - icecat-dir))))))))) - ;; Update this together with icecat! (define %icedove-build-id "20220920000000") ;must be of the form YYYYMMDDhhmmss (define-public icedove -- cgit v1.2.3 From 45eac6cdf5c8d9d7b0c564b105c790d2d2007799 Mon Sep 17 00:00:00 2001 From: Brice Waegeneire Date: Thu, 23 Apr 2020 14:00:02 +0200 Subject: services: Add file system utilities to profile. * gnu/services/base.scm (file-system-type->utilities) (file-system-utilities): New procedures. (file-system-service-type): Extend 'profile-service-type' with 'file-system-utilities'. * gnu/system.scm (boot-file-system-service): New procedure. (operating-system-default-essential-services): Use it. (%base-packages): Remove 'e2fsprogs'. Signed-off-by: Maxim Cournoyer Modified-by: Maxim Cournoyer --- gnu/services/base.scm | 37 +++++++++++++++++++++++++++++++++++-- gnu/system.scm | 33 +++++++++++++++++++++------------ 2 files changed, 56 insertions(+), 14 deletions(-) diff --git a/gnu/services/base.scm b/gnu/services/base.scm index 616bc42e69..3f662f1a6c 100644 --- a/gnu/services/base.scm +++ b/gnu/services/base.scm @@ -55,7 +55,9 @@ #:select (file-system-packages)) #:use-module (gnu packages admin) #:use-module ((gnu packages linux) - #:select (alsa-utils crda eudev e2fsprogs fuse gpm kbd lvm2 rng-tools)) + #:select (alsa-utils btrfs-progs crda eudev + e2fsprogs f2fs-tools fuse gpm kbd lvm2 rng-tools + util-linux xfsprogs)) #:use-module (gnu packages bash) #:use-module ((gnu packages base) #:select (coreutils glibc glibc-utf8-locales tar)) @@ -64,7 +66,10 @@ #:autoload (gnu packages hurd) (hurd) #:use-module (gnu packages package-management) #:use-module ((gnu packages gnupg) #:select (guile-gcrypt)) - #:use-module (gnu packages linux) + #:use-module ((gnu packages disk) + #:select (dosfstools)) + #:use-module ((gnu packages file-systems) + #:select (bcachefs-tools exfat-utils jfsutils zfs)) #:use-module (gnu packages terminals) #:use-module ((gnu build file-systems) #:select (mount-flags->bit-mask @@ -86,6 +91,7 @@ #:export (fstab-service-type root-file-system-service file-system-service-type + file-system-utilities swap-service host-name-service %default-console-font @@ -488,6 +494,31 @@ upon boot." (memq 'bind-mount (file-system-flags file-system)))) file-systems)) +(define (file-system-type->utilities type) + "Return the package providing the utilities for file system TYPE, #f +otherwise." + (assoc-ref + `(("bcachefs" . ,bcachefs-tools) + ("btrfs" . ,btrfs-progs) + ("exfat" . ,exfat-utils) + ("ext2" . ,e2fsprogs) + ("ext3" . ,e2fsprogs) + ("ext4" . ,e2fsprogs) + ("fat" . ,dosfstools) + ("f2fs" . ,f2fs-tools) + ("jfs" . ,jfsutils) + ("vfat" . ,dosfstools) + ("xfs" . ,xfsprogs) + ("zfs" . ,zfs)) + type)) + +(define (file-system-utilities file-systems) + "Return a list of packages containing file system utilities for +FILE-SYSTEMS." + (filter-map (lambda (file-system) + (file-system-type->utilities (file-system-type file-system))) + file-systems)) + (define file-system-service-type (service-type (name 'file-systems) (extensions @@ -495,6 +526,8 @@ upon boot." file-system-shepherd-services) (service-extension fstab-service-type file-system-fstab-entries) + (service-extension profile-service-type + file-system-utilities) ;; Have 'user-processes' depend on 'file-systems'. (service-extension user-processes-service-type diff --git a/gnu/system.scm b/gnu/system.scm index a94f0a9a1f..66ca629d63 100644 --- a/gnu/system.scm +++ b/gnu/system.scm @@ -575,6 +575,14 @@ marked as 'needed-for-boot'." (service file-system-service-type (map add-dependencies file-systems))) +(define (boot-file-system-service os) + "Return a service which adds, to the system profile, packages providing the +utilites for the file systems marked as 'needed-for-boot' in OS." + (let ((file-systems (filter file-system-needed-for-boot? + (operating-system-file-systems os)))) + (simple-service 'boot-file-system-utilities profile-service-type + (file-system-utilities file-systems)))) + (define (mapped-device-users device file-systems) "Return the subset of FILE-SYSTEMS that use DEVICE." (let ((targets (map (cut string-append "/dev/mapper/" <>) @@ -720,13 +728,14 @@ bookkeeping." (define known-fs (map file-system-mount-point (operating-system-file-systems os))) - (let* ((mappings (device-mapping-services os)) - (root-fs (root-file-system-service)) - (other-fs (non-boot-file-system-service os)) - (swaps (swap-services os)) - (procs (service user-processes-service-type)) - (host-name (host-name-service (operating-system-host-name os))) - (entries (operating-system-directory-base-entries os))) + (let* ((mappings (device-mapping-services os)) + (root-fs (root-file-system-service)) + (boot-fs (boot-file-system-service os)) + (non-boot-fs (non-boot-file-system-service os)) + (swaps (swap-services os)) + (procs (service user-processes-service-type)) + (host-name (host-name-service (operating-system-host-name os))) + (entries (operating-system-directory-base-entries os))) (cons* (service system-service-type entries) (service linux-builder-service-type (linux-builder-configuration @@ -757,7 +766,7 @@ bookkeeping." (operating-system-setuid-programs os)) (service profile-service-type (operating-system-packages os)) - other-fs + boot-fs non-boot-fs (append mappings swaps ;; Add the firmware service. @@ -887,8 +896,9 @@ of PROVENANCE-SERVICE-TYPE to its services." iw wireless-tools)) (define %base-packages-disk-utilities - ;; A well-rounded set of packages for interacting with disks, partitions - ;; and filesystems. + ;; A well-rounded set of packages for interacting with disks, + ;; partitions and filesystems, included with the Guix installation + ;; image. (list parted gptfdisk ddrescue ;; We used to provide fdisk from GNU fdisk, but as of version 2.0.0a ;; it pulls Guile 1.8, which takes unreasonable space; furthermore @@ -903,8 +913,7 @@ of PROVENANCE-SERVICE-TYPE to its services." (define %base-packages ;; Default set of packages globally visible. It should include anything ;; required for basic administrator tasks. - (append (list e2fsprogs) - %base-packages-artwork + (append %base-packages-artwork %base-packages-interactive %base-packages-linux %base-packages-networking -- cgit v1.2.3