mirror of
git://git.savannah.gnu.org/guix.git
synced 2023-12-14 03:33:07 +01:00
Merge branch 'master' into staging
This commit is contained in:
commit
f66067febc
44 changed files with 1661 additions and 845 deletions
2
NEWS
2
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
|
||||
|
|
|
@ -31335,7 +31335,39 @@ 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.
|
||||
|
||||
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
|
||||
|
||||
|
@ -31347,41 +31379,42 @@ 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})
|
||||
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
|
||||
|
||||
@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.
|
||||
@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
|
||||
|
||||
|
|
23
etc/news.scm
23
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")
|
||||
|
|
|
@ -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"
|
||||
|
@ -434,6 +477,14 @@ importer."))
|
|||
"dev@jpoiret.xyz")
|
||||
core installer)
|
||||
|
||||
(define-member (person "("
|
||||
"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))
|
||||
|
|
|
@ -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 \
|
||||
|
@ -1868,6 +1869,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 \
|
||||
|
@ -1967,6 +1969,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 \
|
||||
|
|
|
@ -51,6 +51,8 @@
|
|||
;;; Copyright © 2021 Artyom V. Poptsov <poptsov.artyom@gmail.com>
|
||||
;;; Copyright © 2022 Wamm K. D. <jaft.r@outlook.com>
|
||||
;;; Copyright © 2022 Roman Riabenko <roman@riabenko.com>
|
||||
;;; Copyright © 2022 Petr Hodina <phodina@protonmail.com>
|
||||
;;; Copyright © 2022 Andreas Rammhold <andreas@rammhold.de>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -697,6 +699,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")
|
||||
|
@ -2125,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"))
|
||||
|
|
|
@ -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")
|
||||
|
|
|
@ -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")))
|
||||
'("chromium-106-AutofillPopupControllerImpl-namespace.patch"
|
||||
"chromium-106-LinuxInputMethodContext-include.patch"
|
||||
"chromium-106-ReverseBeaconTimeoutSorter-constexpr.patch")))
|
||||
|
||||
;; Take a patch from Arch that reverts a change which requires an unreleased
|
||||
;; version of ffmpeg.
|
||||
(define %ungoogled-chromium-unroll-ffmpeg.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.
|
||||
|
|
|
@ -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")
|
||||
|
@ -1907,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)))
|
||||
|
|
|
@ -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")
|
||||
|
@ -20034,6 +20054,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
|
||||
|
@ -24758,6 +24803,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")
|
||||
|
@ -26144,6 +26244,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")
|
||||
|
@ -26802,6 +26921,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")
|
||||
|
@ -31932,6 +32073,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")
|
||||
|
|
|
@ -16861,8 +16861,41 @@ 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.5
|
||||
(package
|
||||
(name "rust-datetime")
|
||||
(version "0.5.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "datetime" version))
|
||||
(file-name
|
||||
(string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1g2lhc2ay46njrnnyc0729ibyzkpv3r3d4g0h3gzwmrygykzghs4"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(#:cargo-inputs
|
||||
(("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.2)
|
||||
("rust-pad" ,rust-pad-0.1)
|
||||
("rust-redox-syscall" ,rust-redox-syscall-0.1)
|
||||
("rust-winapi" ,rust-winapi-0.3))
|
||||
#:cargo-development-inputs
|
||||
(("rust-regex" ,rust-regex-0.1)
|
||||
("rust-rustc-serialize" ,rust-rustc-serialize-0.3))))
|
||||
(home-page "https://github.com/rust-datetime/datetime")
|
||||
(synopsis "Library for date and time formatting and arithmetic")
|
||||
(description "This package provides a library for date and time formatting
|
||||
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
|
||||
|
@ -16874,7 +16907,6 @@ hexadecimal, base32, and base64.")
|
|||
(sha256
|
||||
(base32
|
||||
"1fd74bq48xg8ki5yw1mr1pa5hd3j5lbk4iqc5r0kh3l62b0vci2w"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(#:cargo-inputs
|
||||
(("rust-iso8601" ,rust-iso8601-0.1)
|
||||
|
@ -16887,12 +16919,7 @@ hexadecimal, base32, and base64.")
|
|||
("rust-winapi" ,rust-winapi-0.2))
|
||||
#:cargo-development-inputs
|
||||
(("rust-regex" ,rust-regex-0.1)
|
||||
("rust-rustc-serialize" ,rust-rustc-serialize-0.3))))
|
||||
(home-page "https://github.com/rust-datetime/datetime")
|
||||
(synopsis "Library for date and time formatting and arithmetic")
|
||||
(description "This package provides a library for date and time formatting
|
||||
and arithmetic.")
|
||||
(license license:expat)))
|
||||
("rust-rustc-serialize" ,rust-rustc-serialize-0.3))))))
|
||||
|
||||
(define-public rust-dbl-0.3
|
||||
(package
|
||||
|
@ -30422,8 +30449,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
|
||||
|
@ -30439,11 +30488,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
|
||||
|
@ -74614,8 +74659,33 @@ 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.5
|
||||
(package
|
||||
(name "rust-zoneinfo-compiled")
|
||||
(version "0.5.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "zoneinfo_compiled" version))
|
||||
(file-name
|
||||
(string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1pm50w4vv34r08mrajfvyhc1254gv8zv4q6p7gs315c9bvkfpyv4"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(#:cargo-inputs
|
||||
(("rust-byteorder" ,rust-byteorder-1)
|
||||
("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
|
||||
|
@ -74627,16 +74697,10 @@ implementation that works everywhere, even WASM!")
|
|||
(sha256
|
||||
(base32
|
||||
"0bnm19w791q6kp79s0zl1cj9w51bw5xrifrxfy3g1p05i676y4vf"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(#:cargo-inputs
|
||||
(("rust-byteorder" ,rust-byteorder-1)
|
||||
("rust-datetime" ,rust-datetime-0.4))))
|
||||
(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)))
|
||||
("rust-datetime" ,rust-datetime-0.4))))))
|
||||
|
||||
(define-public rust-zstd-0.9
|
||||
(package
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2019 Robert Vollmert <rob@vllmrt.net>
|
||||
;;; Copyright © 2022 Philip McGrath <philip@philipmcgrath.com>
|
||||
;;; Copyright © 2022 jgart <jgart@dismail.de>
|
||||
;;;
|
||||
;;; 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"))
|
||||
|
|
|
@ -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")
|
||||
|
@ -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
|
||||
|
|
|
@ -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")
|
||||
|
|
|
@ -9997,92 +9997,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)
|
||||
("gedit" ,gedit)
|
||||
("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-terminal" ,gnome-terminal)
|
||||
("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)
|
||||
,@(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
|
||||
gnome-shell-extensions
|
||||
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-console
|
||||
gnome-contacts
|
||||
gnome-disk-utility
|
||||
gnome-font-viewer
|
||||
gnome-maps
|
||||
gnome-music
|
||||
gnome-photos
|
||||
gnome-screenshot
|
||||
gnome-system-monitor
|
||||
gnome-text-editor
|
||||
gnome-weather
|
||||
nautilus
|
||||
simple-scan
|
||||
totem
|
||||
tracker-miners
|
||||
yelp
|
||||
;; Others.
|
||||
gnome-online-accounts
|
||||
hicolor-icon-theme
|
||||
|
||||
;; Packages not part of GNOME proper but that are needed for a good
|
||||
;; experience. See <https://bugs.gnu.org/39646>.
|
||||
;; 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)))
|
||||
;; Packages not part of GNOME proper but that are needed for a good
|
||||
;; experience. See <https://bugs.gnu.org/39646>.
|
||||
;; XXX: Find out exactly which ones are needed and why.
|
||||
at-spi2-core-minimal
|
||||
dbus
|
||||
dconf
|
||||
desktop-file-utils
|
||||
font-abattis-cantarell
|
||||
font-dejavu
|
||||
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
|
||||
|
@ -11658,6 +11659,7 @@ generic enough to work for everyone.")
|
|||
highlight
|
||||
libcanberra
|
||||
libgweather4
|
||||
libnotify
|
||||
libsoup
|
||||
nss
|
||||
openldap
|
||||
|
|
|
@ -1263,293 +1263,13 @@ 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 "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)
|
||||
|
@ -1581,6 +1301,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
|
||||
|
@ -1733,7 +1460,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))
|
||||
|
@ -1783,7 +1510,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
|
||||
|
@ -1794,7 +1522,7 @@ standards of the IceCat project.")
|
|||
gtk+
|
||||
gtk+-2
|
||||
hunspell
|
||||
icu4c
|
||||
icu4c-71
|
||||
libcanberra
|
||||
libevent
|
||||
libffi
|
||||
|
@ -1827,17 +1555,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)
|
||||
|
@ -1846,8 +1574,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")
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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))
|
||||
|
|
|
@ -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")
|
||||
|
|
|
@ -92,7 +92,7 @@
|
|||
(define-public extra-cmake-modules
|
||||
(package
|
||||
(name "extra-cmake-modules")
|
||||
(version "5.96.0")
|
||||
(version "5.98.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
|
@ -101,7 +101,7 @@
|
|||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1ngxjvf584zgfb93s5sbr5f5nyw0sqc5i0jlbcgbrjg2n83l9ddx"))))
|
||||
"0669m98vqy4hpacfjs7xpgjj1bns24kjybrjipxzp82092g8y69w"))))
|
||||
(build-system cmake-build-system)
|
||||
(native-inputs
|
||||
;; Add test dependency, except on armhf where building it is too
|
||||
|
@ -569,7 +569,7 @@ propagate their changes to their respective configuration files.")
|
|||
(define-public kcoreaddons
|
||||
(package
|
||||
(name "kcoreaddons")
|
||||
(version "5.96.0")
|
||||
(version "5.98.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
|
@ -578,7 +578,7 @@ propagate their changes to their respective configuration files.")
|
|||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1n5mzj02si8allg907l6vn77c2i95qdgfvn48gsqgalwlyd4q6nj"))))
|
||||
"0lqmyxqsw7w1qgdgmax63v64cy7dwk7n4zi8k53xmrqjmd9jir52"))))
|
||||
(build-system cmake-build-system)
|
||||
(native-inputs
|
||||
(list extra-cmake-modules qttools-5 shared-mime-info))
|
||||
|
@ -588,13 +588,20 @@ propagate their changes to their respective configuration files.")
|
|||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(add-before 'check 'blacklist-failing-test
|
||||
(lambda _
|
||||
;; Blacklist failing tests.
|
||||
(with-output-to-file "autotests/BLACKLIST"
|
||||
(lambda _
|
||||
;; FIXME: Make it pass. Test failure caused by stout/stderr
|
||||
;; being interleaved.
|
||||
(display "[test_channels]\n*\n")
|
||||
;; FIXME
|
||||
(display "[test_inheritance]\n*\n")))))
|
||||
(add-before 'check 'check-setup
|
||||
(lambda _
|
||||
(setenv "HOME" (getcwd))
|
||||
(setenv "TMPDIR" (getcwd))
|
||||
(when tests? ;; kdirwatch test fails inconsistently. kprocesstest fails.
|
||||
(invoke "ctest" "-E" "(kdirwatch_qfswatch_unittest|kprocesstest|\
|
||||
kdirwatch_stat_unittest)")))))))
|
||||
(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
|
||||
|
|
|
@ -35,7 +35,7 @@
|
|||
;;; Copyright © 2019 Tim Gesthuizen <tim.gesthuizen@yahoo.de>
|
||||
;;; Copyright © 2019, 2020, 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;; Copyright © 2019 Stefan Stefanović <stefanx2ovic@gmail.com>
|
||||
;;; Copyright © 2019, 2020, 2021 Brice Waegeneire <brice@waegenei.re>
|
||||
;;; Copyright © 2019-2022 Brice Waegeneire <brice@waegenei.re>
|
||||
;;; Copyright © 2019 Kei Kebreau <kkebreau@posteo.net>
|
||||
;;; Copyright © 2020, 2021 Oleg Pykhalov <go.wigust@gmail.com>
|
||||
;;; Copyright © 2020 Pierre Neidhardt <mail@ambrevar.xyz>
|
||||
|
@ -6944,6 +6944,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")
|
||||
|
|
|
@ -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))
|
||||
|
|
|
@ -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))
|
||||
|
|
21
gnu/packages/patches/crc32c-unbundle-googletest.patch
Normal file
21
gnu/packages/patches/crc32c-unbundle-googletest.patch
Normal file
|
@ -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
|
|
@ -0,0 +1,125 @@
|
|||
From 4d1a8351ee82728912fcf7ad0070049b2910c393 Mon Sep 17 00:00:00 2001
|
||||
From: Klemens Nanni <klemens@posteo.de>
|
||||
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<tgcalls::InstanceImpl>();
|
||||
const auto RegisterV2 = tgcalls::Register<tgcalls::InstanceV2Impl>();
|
||||
const auto RegV2Ref = tgcalls::Register<tgcalls::InstanceV2ReferenceImpl>();
|
||||
const auto RegisterV240 = tgcalls::Register<tgcalls::InstanceV2_4_0_0Impl>();
|
||||
+#ifndef TDESKTOP_DISABLE_LEGACY_TGVOIP
|
||||
const auto RegisterLegacy = tgcalls::Register<tgcalls::InstanceImplLegacy>();
|
||||
+#endif
|
||||
|
||||
[[nodiscard]] base::flat_set<int64> CollectEndpointIds(
|
||||
const QVector<MTPPhoneConnection> &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
|
||||
|
|
@ -0,0 +1,21 @@
|
|||
From 86d2bcd7afb8706663d29e30f65863de5a626142 Mon Sep 17 00:00:00 2001
|
||||
From: Xiretza <xiretza@xiretza.xyz>
|
||||
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 <cstdint>
|
||||
|
||||
namespace rtc {
|
||||
class BitBuffer;
|
|
@ -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")
|
||||
|
|
|
@ -7415,13 +7415,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
|
||||
|
|
|
@ -3234,6 +3234,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")
|
||||
|
|
|
@ -468,6 +468,86 @@ 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 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 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")
|
||||
|
|
|
@ -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,15 @@ Features include:
|
|||
(string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1s902xgplz1167k0r7x235p914lprpsqy2if0kpa1mlb0fswqqq4"))))
|
||||
"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.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 +391,57 @@ 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
|
||||
(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))
|
||||
(add-after 'build 'build-manual
|
||||
(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")))
|
||||
(install-file "contrib/man/exa.1" man1)
|
||||
(man1 (string-append share "/man/man1"))
|
||||
(man5 (string-append share "/man/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"))
|
||||
(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))
|
||||
(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))
|
||||
(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
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2021 Raghav Gururajan <rg@raghavgururajan.name>
|
||||
;;; Copyright © 2022 Hilton Chain <hako@ultrarare.space>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -26,10 +27,13 @@
|
|||
#: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)
|
||||
#: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)
|
||||
|
@ -41,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)
|
||||
|
@ -58,6 +63,8 @@
|
|||
#: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)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
|
@ -72,22 +79,7 @@
|
|||
#:use-module (guix build-system python)
|
||||
#:use-module (guix build-system qt))
|
||||
|
||||
(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 %telegram-version "4.2.2")
|
||||
|
||||
(define libyuv-for-telegram-desktop
|
||||
(let ((commit "ad890067f661dc747a975bc55ba3767fe30d4452")
|
||||
|
@ -109,196 +101,172 @@
|
|||
(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"))))
|
||||
|
||||
(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"))))
|
||||
"0hmwqj7a9vcy8wq7pd1qprl68im3zl5f1wzcn2zzk2wvi0389k9f"))))
|
||||
|
||||
(define lib-rpl-for-telegram-desktop
|
||||
(origin
|
||||
(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"))))
|
||||
|
||||
(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"))))
|
||||
"0kyrgxi202xwy14mnx62h1kny0434f5fxqns1ydp24q2c2cr1cxn"))))
|
||||
|
||||
(define lib-webrtc-for-telegram-desktop
|
||||
(origin
|
||||
(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 "91d836dc84a16584c6ac52b36c04c0de504d9c34")
|
||||
(revision "166"))
|
||||
(let ((commit "621f3da55331733bf0d1b223786b96b68c03dca1")
|
||||
(revision "327"))
|
||||
(hidden-package
|
||||
(package
|
||||
(name "webrtc-for-telegram-desktop")
|
||||
|
@ -314,59 +282,64 @@
|
|||
(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
|
||||
libjpeg-turbo
|
||||
libvpx
|
||||
libxcomposite
|
||||
libxdamage
|
||||
libxrender
|
||||
libxext
|
||||
libxfixes
|
||||
libxrandr
|
||||
libxrender
|
||||
libxtst
|
||||
mesa
|
||||
openh264
|
||||
openssl
|
||||
opus
|
||||
pipewire
|
||||
protobuf
|
||||
pulseaudio
|
||||
libx11
|
||||
libxext
|
||||
libxtst))
|
||||
pipewire-0.3
|
||||
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.")
|
||||
|
@ -377,18 +350,16 @@ 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
|
||||
(let ((commit "cbd43984ebdf783e94c8303c41385bf82aa36d5b")
|
||||
(revision "671"))
|
||||
(let ((commit "8c69fc20cf2e150db304311f1233a4b55a8892d7")
|
||||
(revision "678"))
|
||||
(hidden-package
|
||||
(package
|
||||
(inherit rlottie)
|
||||
|
@ -404,62 +375,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)))))))))
|
||||
|
||||
(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))))))
|
||||
(base32 "14gwg3sn6xdx9ymnx5r0vfm4pk8dwk92s10a1wdvfbjpyrxll64i"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
#~(begin
|
||||
(substitute* "meson.build"
|
||||
(("werror=true") "werror=false"))))))))))
|
||||
|
||||
(define-public telegram-desktop
|
||||
(package
|
||||
|
@ -476,15 +397,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=?
|
||||
|
@ -510,17 +435,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)
|
||||
|
@ -532,36 +455,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
|
||||
(list abseil-cpp-cxxstd17
|
||||
alsa-lib
|
||||
c++-gsl
|
||||
catch2
|
||||
libexpected
|
||||
fcitx-qt5
|
||||
fcitx5-qt
|
||||
ffmpeg
|
||||
|
@ -571,12 +485,13 @@ Telegram project, for its use in telegram desktop client.")
|
|||
hime
|
||||
hunspell
|
||||
jemalloc
|
||||
kwayland
|
||||
libdbusmenu-qt
|
||||
kcoreaddons
|
||||
libdispatch
|
||||
libexpected
|
||||
libjpeg-turbo
|
||||
libtgvoip-for-telegram-desktop
|
||||
libvpx
|
||||
libxcb
|
||||
lz4
|
||||
materialdecoration
|
||||
minizip
|
||||
nimf
|
||||
openal
|
||||
|
@ -585,20 +500,18 @@ Telegram project, for its use in telegram desktop client.")
|
|||
pulseaudio
|
||||
qrcodegen-cpp
|
||||
qtbase-5
|
||||
qtsvg-5
|
||||
qt5ct
|
||||
qtimageformats
|
||||
qtsvg-5
|
||||
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.")
|
||||
|
@ -606,7 +519,7 @@ Telegram instant messenger.")
|
|||
(license
|
||||
(list
|
||||
;; ThirdParty
|
||||
license:lgpl2.1+
|
||||
license:lgpl3
|
||||
;; Others
|
||||
license:gpl3+))))
|
||||
|
||||
|
|
|
@ -11194,6 +11194,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"
|
||||
|
|
|
@ -1573,14 +1573,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
|
||||
|
|
|
@ -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")))
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -17,14 +17,12 @@
|
|||
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(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>
|
||||
samba-configuration
|
||||
make-samba-configuration
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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."
|
||||
|
@ -360,10 +392,21 @@ 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 (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)
|
||||
|
@ -474,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))
|
||||
|
@ -558,7 +601,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?)))
|
||||
|
@ -571,7 +614,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))))
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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))
|
||||
|
@ -467,33 +460,24 @@ 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)))))
|
||||
|
||||
(unless narinfo
|
||||
(leave (G_ "no valid substitute for '~a'~%")
|
||||
store-item))
|
||||
|
||||
(let ((uri compression file-size
|
||||
(narinfo-best-uri narinfo
|
||||
#:fast-decompression?
|
||||
|
@ -575,14 +559,109 @@ 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 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?)
|
||||
"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))
|
||||
|
||||
(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?)))
|
||||
|
||||
|
||||
;;;
|
||||
;;; Entry point.
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue