Merge branch 'master' into staging

This commit is contained in:
Marius Bakke 2022-09-01 16:24:18 +02:00
commit c4ce54055a
No known key found for this signature in database
GPG key ID: A2A06DF2A33A54FA
67 changed files with 47901 additions and 2122 deletions

View file

@ -397,6 +397,10 @@ AUX_FILES = \
gnu/packages/aux-files/chromium/master-preferences.json \
gnu/packages/aux-files/emacs/guix-emacs.el \
gnu/packages/aux-files/guix.vim \
gnu/packages/aux-files/linux-libre/5.19-arm.conf \
gnu/packages/aux-files/linux-libre/5.19-arm64.conf \
gnu/packages/aux-files/linux-libre/5.19-i686.conf \
gnu/packages/aux-files/linux-libre/5.19-x86_64.conf \
gnu/packages/aux-files/linux-libre/5.18-arm.conf \
gnu/packages/aux-files/linux-libre/5.18-arm64.conf \
gnu/packages/aux-files/linux-libre/5.18-i686.conf \

View file

@ -36555,7 +36555,7 @@ is an example of a basic, explicit configuration:
(list
(fail2ban-jail-configuration
(name "sshd")
(enabled #t))))))
(enabled? #t))))))
;; There is no implicit dependency on an actual SSH
;; service, so you need to provide one.
(service openssh-service-type))
@ -36580,7 +36580,7 @@ For example:
openssh-service-type
(fail2ban-jail-configuration
(name "sshd")
(enabled #t)))
(enabled? #t)))
(openssh-configuration ...))))
@end lisp
@end deffn
@ -36660,7 +36660,7 @@ Required name of this jail configuration.
Whether this jail is enabled.
@item @code{backend} (type: maybe-symbol)
Backend to use to detect changes in the @code{ogpath}. The default is
Backend to use to detect changes in the @code{log-path}. The default is
'auto. To consult the defaults of the jail configuration, refer to the
@file{/etc/fail2ban/jail.conf} file of the @code{fail2ban} package.

View file

@ -83,11 +83,13 @@ (define* (make-ext-image partition target root
(fs-options (partition-file-system-options partition))
(label (partition-label partition))
(uuid (partition-uuid partition))
(flags (partition-flags partition))
(journal-options "lazy_itable_init=1,lazy_journal_init=1"))
(apply invoke
`("fakeroot" "mke2fs" "-t" ,fs "-d" ,root
"-L" ,label "-U" ,(uuid->string uuid)
"-L" ,label
,@(if uuid
`("-U" ,(uuid->string uuid))
'())
"-E" ,(format #f "root_owner=~a:~a,~a"
owner-uid owner-gid journal-options)
,@fs-options

View file

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2020 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2020, 2022 Mathieu Othacehe <othacehe@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -21,6 +21,7 @@ (define-module (gnu image)
#:use-module (guix records)
#:use-module (guix diagnostics)
#:use-module (guix i18n)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-34)
#:use-module (srfi srfi-35)
#:export (partition
@ -58,23 +59,77 @@ (define-module (gnu image)
os->image
os+platform->image))
;;;
;;; Sanitizers.
;;;
;; Image and partition sizes can be either be a size in bytes or the 'guess
;; symbol denoting that the size should be estimated by Guix, according to the
;; image content.
(define-with-syntax-properties (validate-size (value properties))
(unless (and value
(or (eq? value 'guess) (integer? value)))
(raise
(make-compound-condition
(condition
(&error-location
(location (source-properties->location properties))))
(formatted-message
(G_ "size (~a) can only be 'guess or a numeric expression ~%")
value 'field))))
value)
;;;
;;; Partition record.
;;;
;; The partition offset should be a bytes count as an integer.
(define-with-syntax-properties (validate-partition-offset (value properties))
(unless (and value (integer? value))
(raise
(make-compound-condition
(condition
(&error-location
(location (source-properties->location properties))))
(formatted-message
(G_ "the partition offset (~a) can only be a \
numeric expression ~%") value 'field))))
value)
;; The supported partition flags.
(define-with-syntax-properties (validate-partition-flags (value properties))
(let ((bad-flags (lset-difference eq? value '(boot esp))))
(unless (and (list? value) (null? bad-flags))
(raise
(make-compound-condition
(condition
(&error-location
(location (source-properties->location properties))))
(formatted-message
(G_ "unsupported partition flag(s): ~a ~%") bad-flags)))))
value)
(define-record-type* <partition> partition make-partition
partition?
(device partition-device (default #f))
(size partition-size)
(offset partition-offset (default 0))
(file-system partition-file-system (default "ext4"))
(size partition-size ;size in bytes as integer or 'guess
(sanitize validate-size))
(offset partition-offset
(default 0) ;offset in bytes as integer
(sanitize validate-partition-offset))
(file-system partition-file-system
(default "ext4")) ;string
(file-system-options partition-file-system-options
(default '()))
(label partition-label (default #f))
(uuid partition-uuid (default #f))
(flags partition-flags (default '()))
(initializer partition-initializer (default #f))) ;gexp | #f
(default '())) ;list of strings
(label partition-label) ;string
(uuid partition-uuid
(default #f)) ;<uuid>
(flags partition-flags
(default '()) ;list of symbols
(sanitize validate-partition-flags))
(initializer partition-initializer
(default #f))) ;gexp | #f
;;;
@ -94,8 +149,11 @@ (define-with-syntax-properties (name (value properties))
(formatted-message (G_ "~s: invalid '~a' value") value 'field))))
value))
;; The supported image formats.
(define-set-sanitizer validate-image-format format
(disk-image compressed-qcow2 docker iso9660))
;; The supported partition table types.
(define-set-sanitizer validate-partition-table-type partition-table-type
(mbr gpt))
@ -109,7 +167,8 @@ (define-record-type* <image>
(platform image-platform ;<platform>
(default #f))
(size image-size ;size in bytes as integer
(default 'guess))
(default 'guess)
(sanitize validate-size))
(operating-system image-operating-system ;<operating-system>
(default #f))
(partition-table-type image-partition-table-type ; 'mbr or 'gpt
@ -133,6 +192,22 @@ (define-record-type* <image>
;;; Image type.
;;;
;; The role of this record is to provide a constructor that is able to turn an
;; <operating-system> record into an <image> record. Some basic <image-type>
;; records are defined in the (gnu system image) module. They are able to
;; turn an <operating-system> record into an EFI or an ISO 9660 bootable
;; image, a Docker image or even a QCOW2 image.
;;
;; Other <image-type> records are defined in the (gnu system images ...)
;; modules. They are dedicated to specific machines such as Novena and Pine64
;; SoC boards that require specific images.
;;
;; All the available <image-type> records are collected by the 'image-modules'
;; procedure. This allows the "guix system image" command to turn a given
;; <operating-system> record into an image, thanks to the specified
;; <image-type>. In that case, the <image-type> look up is done using the
;; name field of the <image-type> record.
(define-record-type* <image-type>
image-type make-image-type
image-type?
@ -145,10 +220,15 @@ (define-record-type* <image-type>
;;;
(define* (os->image os #:key type)
"Use the image constructor from TYPE, an <image-type> record to turn the
given OS, an <operating-system> record into an image and return it."
(let ((constructor (image-type-constructor type)))
(constructor os)))
(define* (os+platform->image os platform #:key type)
"Use the image constructor from TYPE, an <image-type> record to turn the
given OS, an <operating-system> record into an image targeting PLATFORM, a
<platform> record and return it."
(image
(inherit (os->image os #:type type))
(platform platform)))

View file

@ -343,6 +343,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/kawa.scm \
%D%/packages/kde.scm \
%D%/packages/kde-frameworks.scm \
%D%/packages/kde-games.scm \
%D%/packages/kde-internet.scm \
%D%/packages/kde-multimedia.scm \
%D%/packages/kde-pim.scm \
@ -750,6 +751,7 @@ GNU_SYSTEM_MODULES = \
%D%/tests/guix.scm \
%D%/tests/monitoring.scm \
%D%/tests/nfs.scm \
%D%/tests/image.scm \
%D%/tests/install.scm \
%D%/tests/ldap.scm \
%D%/tests/linux-modules.scm \
@ -1451,7 +1453,6 @@ dist_patch_DATA = \
%D%/packages/patches/libxml2-terminating-newline.patch \
%D%/packages/patches/libxml2-xpath-recursion-limit.patch \
%D%/packages/patches/libxml2-xpath0-Add-option-xpath0.patch \
%D%/packages/patches/libxmlb-install-xb-tool-into-bindir.patch \
%D%/packages/patches/libxslt-generated-ids.patch \
%D%/packages/patches/libxt-guix-search-paths.patch \
%D%/packages/patches/lierolibre-check-unaligned-access.patch \

View file

@ -2504,14 +2504,14 @@ (define-public detox
(define-public tree
(package
(name "tree")
(version "2.0.2")
(version "2.0.3")
(source (origin
(method url-fetch)
(uri (string-append
"http://mama.indstate.edu/users/ice/tree/src/tree-"
version ".tgz"))
(sha256
(base32 "1bzfkr3kmn2v5x7ljir691fr9hhjvjxqsfz0fc5fgi6ki0fklsbx"))))
(base32 "079vda37d5i3nfx12wx81z6r6bxynv2jww1z1hjziiwxbxxyf55s"))))
(build-system gnu-build-system)
(arguments
(list

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -8697,6 +8697,54 @@ (define-public r-bumphunter
studies.")
(license license:artistic2.0)))
(define-public r-milor
(package
(name "r-milor")
(version "1.4.0")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "miloR" version))
(sha256
(base32
"1jz9p3grnczx0bpdw6j64x21in8zgm3qy19hmm296har2rx9m5zs"))))
(properties `((upstream-name . "miloR")))
(build-system r-build-system)
(propagated-inputs
(list r-biocgenerics
r-biocneighbors
r-biocparallel
r-biocsingular
r-cowplot
r-dplyr
r-edger
r-ggbeeswarm
r-ggplot2
r-ggraph
r-ggrepel
r-gtools
r-igraph
r-irlba
r-limma
r-matrix
r-matrixstats
r-patchwork
r-rcolorbrewer
r-s4vectors
r-singlecellexperiment
r-stringr
r-summarizedexperiment
r-tibble
r-tidyr))
(native-inputs (list r-knitr))
(home-page "https://marionilab.github.io/miloR")
(synopsis "Differential neighbourhood abundance testing on a graph")
(description
"Milo performs single-cell differential abundance testing. Cell states
are modelled as representative neighbourhoods on a nearest neighbour graph.
Hypothesis testing is performed using a negative bionomial generalized linear
model.")
(license license:gpl3)))
(define-public r-minfi
(package
(name "r-minfi")

View file

@ -10936,7 +10936,7 @@ (define-public pigx-chipseq
(define-public pigx-bsseq
(package
(name "pigx-bsseq")
(version "0.1.7")
(version "0.1.8")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/BIMSBbioinfo/pigx_bsseq/"
@ -10944,7 +10944,7 @@ (define-public pigx-bsseq
"/pigx_bsseq-" version ".tar.gz"))
(sha256
(base32
"1hfiignq3410dbl6f67vc6zr69abknpcgxixx475dspky2jb5lyn"))))
"1s8zgrqxabrawrgkga5rmgb0gyzj7ck47p3rkicjkfv7r2yjy0d7"))))
(build-system gnu-build-system)
(arguments
`(;; TODO: tests currently require 12+GB of RAM. See
@ -11592,47 +11592,43 @@ (define-public biobambam2
(license license:gpl3+)))
(define-public r-dyngen
(let ((commit "37fd1798fcbd41093fb3d7775bb2d268e2fc82b6")
(revision "1"))
(package
(name "r-dyngen")
(version (git-version "1.0.3" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/dynverse/dyngen")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "05pr6v1b8yji1jnj3fwx0crmg8ay6yy6lp9qjmcyvhkwbmf3kvc7"))))
(properties `((upstream-name . "dyngen")))
(build-system r-build-system)
(propagated-inputs
(list r-assertthat
r-dplyr
r-dynutils
r-ggplot2
r-ggraph
r-ggrepel
r-gillespiessa2
r-igraph
r-lmds
r-matrix
r-patchwork
r-pbapply
r-purrr
r-rlang
r-tibble
r-tidygraph
r-tidyr
r-viridis))
(home-page "https://github.com/dynverse/dyngen")
(synopsis "Multi-Modal simulator for single-cell omics analyses")
(description
"This package provides a multi-modal simulation engine for studying
(package
(name "r-dyngen")
(version "1.0.4")
(source
(origin
(method url-fetch)
(uri (cran-uri "dyngen" version))
(sha256
(base32
"1qmqy0dyiz30zpf3ii4h2ip6hg2449ghb474sjzrqa1yk9mdpy4i"))))
(properties `((upstream-name . "dyngen")))
(build-system r-build-system)
(propagated-inputs
(list r-assertthat
r-dplyr
r-dynutils
r-ggplot2
r-ggraph
r-ggrepel
r-gillespiessa2
r-igraph
r-lmds
r-matrix
r-patchwork
r-pbapply
r-purrr
r-rlang
r-tibble
r-tidygraph
r-tidyr
r-viridis))
(home-page "https://github.com/dynverse/dyngen")
(synopsis "Multi-Modal simulator for single-cell omics analyses")
(description
"This package provides a multi-modal simulation engine for studying
dynamic cellular processes at single-cell resolution.")
(license license:expat))))
(license license:expat)))
;; Needed for r-liana
(define-public r-omnipathr/devel

224
gnu/packages/bqn.scm Normal file
View file

@ -0,0 +1,224 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2022 Christopher Rodriguez <yewscion@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages bqn)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix gexp)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix build-system copy)
#:use-module (guix build-system gnu)
#:use-module (guix utils)
#:use-module (gnu packages)
#:use-module (gnu packages bash)
#:use-module (gnu packages libffi)
#:use-module (gnu packages base)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages llvm)
#:use-module (gnu packages java)
#:use-module (gnu packages linux)
#:use-module (gnu packages compression))
(define-public dbqn
(let ((commit "88f2b43966a75cc2c382421218eb30003bb16f4a")
(revision "1"))
(package
(name "dbqn")
(version (git-version "0.2.1" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/dzaima/BQN")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"06mzvv7kmandhgwb6jwz3rivsj4ic549sy8afnb5zr6mfn5isyg5"))))
(build-system gnu-build-system)
(arguments
(list
#:imported-modules `(,@%gnu-build-system-modules
(guix build syscalls)
(guix build ant-build-system))
#:modules `((guix build gnu-build-system)
((guix build ant-build-system)
#:prefix ant:)
(guix build utils))
#:phases #~(modify-phases %standard-phases
(delete 'configure)
(replace 'build
(lambda* _
(invoke "./build")
(chmod "./BQN" #o755)))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(system "./BQN ./test/test"))))
(add-after 'install 'reorder-jar-content
(lambda* (#:key outputs #:allow-other-keys)
(apply (assoc-ref ant:%standard-phases
'reorder-jar-content)
#:outputs (list outputs))))
(add-after 'reorder-jar-content 'jar-indices
(lambda* (#:key outputs #:allow-other-keys)
(apply (assoc-ref ant:%standard-phases
'generate-jar-indices)
#:outputs (list outputs))))
(add-after 'jar-indices 'fix-jar-timestamps
(lambda* (#:key outputs #:allow-other-keys)
(apply (assoc-ref ant:%standard-phases
'reorder-jar-content)
#:outputs (list outputs))))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(dest-bin (string-append out "/bin"))
(dest-jar (string-append out "/share/java")))
(mkdir-p dest-bin)
(mkdir-p dest-jar)
(copy-recursively "BQN"
(string-append dest-bin
"/dbqn"))
(install-file "BQN.jar" dest-jar)
(substitute* (string-append dest-bin "/dbqn")
(("BQN.jar")
(string-append dest-jar "/BQN.jar")))))))))
(native-inputs (list `(,icedtea-8 "jdk") zip))
(inputs (list icedtea-8 bash-minimal))
(synopsis "BQN implementation based on dzaima/APL")
(description
"dbqn is a Java implementation of the
@uref{https://mlochbaum.github.io/BQN/, BQN programming language} that does
not need to be bootstrapped, based on an earlier Java implementation of APL by
the same author.")
(home-page "https://github.com/dzaima/BQN")
(license license:expat))))
(define bqn-sources
;; Aside from dbqn above, the main bqn repository is used by other
;; implementations as a "known good" set of sources. CBQN uses dbqn to
;; generate an intermediate bytecode for its own compilation.
(let ((commit "e219af48401473a7bac49bdd8b89d69082cf5dd8"))
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/mlochbaum/BQN")
(commit commit)))
(file-name (git-file-name "bqn-sources" commit))
(sha256
(base32 "0r6pa9lscl2395g4xlvmg90vpdsjzhin4f1r0s7brymmpvmns2yc")))))
(define cbqn-bootstrap
(let* ((revision "1")
(commit "9c1cbdc99863b1da0116df61cd832137b196dc5c"))
(package
(name "cbqn-bootstrap")
(version (git-version "0" "1" commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/dzaima/CBQN")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0w38fhwf20drkyijy6nfnhmc5g5gw0zmzgmy1q605x57znlj85a2"))))
(build-system gnu-build-system)
(arguments
(list #:tests? #f ;skipping tests for bootstrap
#:phases #~(modify-phases %standard-phases
(delete 'configure)
(add-before 'build 'generate-bytecode
(lambda* (#:key inputs #:allow-other-keys)
(system (string-append #+dbqn
"/bin/dbqn ./genRuntime "
#+bqn-sources))))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(mkdir-p (string-append #$output "/bin"))
(chmod "BQN" #o755)
(copy-recursively "BQN"
(string-append #$output
"/bin/bqn")))))))
(native-inputs (list dbqn clang-toolchain bqn-sources))
(inputs (list icedtea-8 libffi))
(synopsis "BQN implementation in C")
(description "This package provides the reference implementation of
@uref{https://mlochbaum.github.io/BQN/, BQN}, a programming language inspired
by APL.")
(home-page "https://mlochbaum.github.io/BQN/")
(license license:gpl3))))
(define singeli-sources
(let ((commit "fd17b144483549dbd2bcf23e3a37a09219171a99"))
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/mlochbaum/Singeli")
(commit commit)))
(file-name (git-file-name "singeli-sources" commit))
(sha256
(base32 "1rr4l7ijzcg25n2igi1mzya6qllh5wsrf3m5i429rlgwv1fwvfji")))))
(define-public cbqn
(package
(inherit cbqn-bootstrap)
(name "cbqn")
(outputs '("out" "lib"))
(arguments
(list #:make-flags '(list "shared-o3" "o3n-singeli")
#:phases #~(modify-phases %standard-phases
(delete 'configure)
(add-before 'build 'link-singeli
(lambda* (#:key inputs #:allow-other-keys)
(symlink #+singeli-sources "Singeli")))
(add-before 'build 'generate-bytecode
(lambda* (#:key inputs #:allow-other-keys)
(system (string-append #+dbqn
"/bin/dbqn ./genRuntime "
#+bqn-sources))))
(replace 'check
(lambda* (#:key inputs tests? #:allow-other-keys)
(when tests?
(system (string-append "./BQN -M 1000 \""
#+bqn-sources
"/test/this.bqn\""))
(map (lambda (x)
(system (string-append "./BQN ./test/" x
".bqn")))
'("cmp" "equal" "copy" "random"))
(system "make -C test/ffi"))))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((bin (string-append (assoc-ref outputs
"out")
"/bin"))
(lib (string-append (assoc-ref outputs
"lib")
"/lib")))
(mkdir-p bin)
(copy-recursively "BQN"
(string-append bin "/bqn"))
(install-file "libcbqn.so" lib)))))))
(native-inputs (list dbqn
bqn-sources
singeli-sources
libffi
clang-toolchain
linux-libre-headers))))

View file

@ -325,6 +325,19 @@ (define-public meson-0.59
(patches (search-patches
"meson-allow-dirs-outside-of-prefix.patch"))))))
(define-public meson-0.63
(package
(inherit meson)
(version "0.63.1")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/mesonbuild/meson/"
"releases/download/" version "/meson-"
version ".tar.gz"))
(sha256
(base32
"1sb5rdra5zc6c3ni8x65zs7r7vsnbarammf5440zzmhkf8li7zh6"))))))
(define-public premake4
(package
(name "premake")

View file

@ -1023,7 +1023,7 @@ (define-public abseil-cpp
(let ((base abseil-cpp-20200923.3))
(package/inherit base
(name "abseil-cpp")
(version "20210324.2")
(version "20220623.0")
(source (origin
(method git-fetch)
(uri (git-reference
@ -1032,7 +1032,7 @@ (define-public abseil-cpp
(file-name (git-file-name name version))
(sha256
(base32
"0g9rbhk3mwjdfxk7cscd04vm8fphd5flz9yykpgvyy1nwa34zk3x"))))
"1kyvlpdkkh8spqrdh9yvq2d4ri46hwxljicy3i9mp7mk2rqcnyvj"))))
(arguments
(substitute-keyword-arguments (package-arguments base)
((#:configure-flags flags)

View file

@ -27,6 +27,7 @@
;;; Copyright © 2022 Aleksandr Vityazev <avityazev@posteo.org>
;;; Copyright © 2022 Marius Bakke <marius@gnu.org>
;;; Copyright © 2022 Evgenii Lepikhin <e.lepikhin@corp.mail.ru>
;;; Copyright © 2022 Gabriel Arazas <foo.dogsquared@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -56150,7 +56151,7 @@ (define-public rust-sha-1-0.9
(package
(inherit rust-sha-1-0.10)
(name "rust-sha-1")
(version "0.9.1")
(version "0.9.8")
(source
(origin
(method url-fetch)
@ -56159,16 +56160,15 @@ (define-public rust-sha-1-0.9
(string-append name "-" version ".tar.gz"))
(sha256
(base32
"0w37j7swjkbzgi9mf7ihkw0zfik6vl97fs6jdpqs6r68hvm3c2hp"))))
"19jibp8l9k5v4dnhj5kfhaczdfd997h22qz0hin6pw9wvc9ngkcr"))))
(arguments
`(#:cargo-inputs
(("rust-block-buffer" ,rust-block-buffer-0.9)
("rust-cfg-if" ,rust-cfg-if-0.1)
("rust-cpuid-bool" ,rust-cpuid-bool-0.1)
("rust-cfg-if" ,rust-cfg-if-1)
("rust-cpufeatures" ,rust-cpufeatures-0.2)
("rust-digest" ,rust-digest-0.9)
("rust-libc" ,rust-libc-0.2)
("rust-opaque-debug" ,rust-opaque-debug-0.3)
("rust-sha1-asm" ,rust-sha1-asm-0.4))
("rust-sha1-asm" ,rust-sha1-asm-0.5))
#:cargo-development-inputs
(("rust-digest" ,rust-digest-0.9)
("rust-hex-literal" ,rust-hex-literal-0.2))))))

View file

@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014, 2015, 2016, 2021 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016, 2017, 2018, 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2017, 2018, 2020-2022 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Sou Bunnbu <iyzsong@gmail.com>
;;; Copyright © 2017, 2018, 2019, 2021 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
@ -238,7 +238,7 @@ (define-public grammalecte
(define-public translate-shell
(package
(name "translate-shell")
(version "0.9.6.12")
(version "0.9.7")
(source
(origin
(method git-fetch)
@ -247,7 +247,7 @@ (define-public translate-shell
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "075vqnha21rhr1b61dim7dqlfwm1yffyzcaa83s36rpk9r5sddzx"))))
(base32 "03p00v8g0y2xs3sza2r2kmhwiajaz9viab6xk9snw7chzw2cddiq"))))
(build-system gnu-build-system)
(arguments
`(#:phases
@ -256,8 +256,7 @@ (define-public translate-shell
(add-after 'unpack 'remove-unnecessary-file
;; This file gets generated during the build phase.
(lambda _
(delete-file "translate")
#t))
(delete-file "translate")))
(add-after 'install 'wrap-binary
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
@ -270,8 +269,7 @@ (define-public translate-shell
(,(string-append out "/bin:"
curl "/bin:"
fribidi "/bin:"
rlwrap "/bin")))))
#t))
rlwrap "/bin")))))))
(add-after 'install 'emacs-install
(assoc-ref emacs:%standard-phases 'install))
(add-after 'emacs-install 'emacs-make-autoloads

View file

@ -54,6 +54,7 @@ (define-module (gnu packages diffoscope)
#:use-module (gnu packages pascal)
#:use-module (gnu packages patchutils)
#:use-module (gnu packages pdf)
#:use-module (gnu packages python-check)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages sqlite)

View file

@ -44,6 +44,7 @@ (define-module (gnu packages django)
#:use-module (gnu packages openldap)
#:use-module (gnu packages python)
#:use-module (gnu packages python-build)
#:use-module (gnu packages python-check)
#:use-module (gnu packages python-crypto)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)

View file

@ -3015,7 +3015,7 @@ (define-public emacs-auctex
(define-public emacs-autothemer
(package
(name "emacs-autothemer")
(version "0.2.9")
(version "0.2.10")
(source
(origin
(method git-fetch)
@ -3025,7 +3025,7 @@ (define-public emacs-autothemer
(file-name (git-file-name name version))
(sha256
(base32
"1p7ii7f0w607zxyqnr8ivi0n0sg2p93pi6dpd9kjqywdagqyrnw1"))))
"1dz09n8qiqvzxckmy6mjnpw4f62jpk35cw16w0lhfpvfa8by4mp8"))))
(build-system emacs-build-system)
(propagated-inputs
(list emacs-dash))
@ -3248,7 +3248,7 @@ (define-public emacs-citeproc-el
(define-public emacs-corfu
(package
(name "emacs-corfu")
(version "0.26")
(version "0.27")
(source
(origin
(method git-fetch)
@ -3257,7 +3257,7 @@ (define-public emacs-corfu
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "00fmw6a1pjl4paawrhvbjw2ydnds3vxl2gjgzc9i13khnbv8wdq1"))))
(base32 "17cdbqkil4454kd3w77w18fv15djwg07qclgcnlp6mimp6sbam9w"))))
(build-system emacs-build-system)
(arguments
`(#:phases
@ -4333,7 +4333,7 @@ (define-public emacs-undo-fu-session
(define-public emacs-s
(package
(name "emacs-s")
(version "1.12.0")
(version "1.13.0")
(source
(origin
(method git-fetch)
@ -4342,7 +4342,7 @@ (define-public emacs-s
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1g8mqd13llj007al4nlxxx4z2lcsg3wk970mgjn0avwrhjjgdmmv"))))
(base32 "010i92kagqbfis46n1ffa28fgkdkjp55n13b6f4izar5r7ixm6wx"))))
(build-system emacs-build-system)
(arguments
`(#:tests? #t
@ -6367,7 +6367,7 @@ (define-public emacs-flycheck-grammalecte
(define-public emacs-flycheck-guile
(package
(name "emacs-flycheck-guile")
(version "0.2")
(version "0.4")
(source
(origin
(method git-fetch)
@ -6377,7 +6377,7 @@ (define-public emacs-flycheck-guile
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0cs5r0ik6a3bl1k3imjl0r8y1i69kx9x9m9cgxj470qk34brwyj5"))))
(base32 "0hkj3y7xlbbnwagmccav620r3qngpc909pj3n5b876r8gp6rm87p"))))
(propagated-inputs
(list emacs-flycheck emacs-geiser emacs-geiser-guile))
(build-system emacs-build-system)
@ -14663,27 +14663,29 @@ (define-public emacs-adaptive-wrap
(license license:gpl3+)))
(define-public emacs-diff-hl
(package
(name "emacs-diff-hl")
(version "1.8.8")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/dgutov/diff-hl")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "075klzf66z1rvhpxv4j694pdkmi7f4fpw6c8q4ncz0h4y5wdbl8w"))))
(build-system emacs-build-system)
(home-page "https://github.com/dgutov/diff-hl")
(synopsis
"Highlight uncommitted changes using VC")
(description
"@code{diff-hl-mode} highlights uncommitted changes on the side of the
;;; XXX: Latest release is not tagged. Use commit matching version bump.
(let ((commit "37b00f3bad841e131d69442a89cbebc3041d996b"))
(package
(name "emacs-diff-hl")
(version "1.9.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/dgutov/diff-hl")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "0s3fcwk6c99n2q25bf0a33lphr9mcrxmvr5wz8qsj86jfbyi1is1"))))
(build-system emacs-build-system)
(home-page "https://github.com/dgutov/diff-hl")
(synopsis
"Highlight uncommitted changes using VC")
(description
"@code{diff-hl-mode} highlights uncommitted changes on the side of the
window (using the fringe, by default), allows you to jump between
the hunks and revert them selectively.")
(license license:gpl3+)))
(license license:gpl3+))))
(define-public emacs-diminish
;; XXX: Upstream did not tag last release.
@ -27083,14 +27085,14 @@ (define-public emacs-counsel-tramp
(define-public emacs-tramp
(package
(name "emacs-tramp")
(version "2.5.3.1")
(version "2.5.3.2")
(source
(origin
(method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/"
"tramp-" version ".tar"))
(sha256
(base32 "0dqc5gmp20isrlanccvj6nhalmmsfg7bmm690gxfgrbqcc2vj69a"))))
(base32 "1jcicb9f7c1nmaqg20yy2j4wd0qfch4llc26ga7q3ckhx41pvbiw"))))
(build-system emacs-build-system)
(arguments
(list
@ -31571,7 +31573,7 @@ (define-public emacs-ivy-avy
(define-public emacs-vertico
(package
(name "emacs-vertico")
(version "0.25")
(version "0.26")
(source
(origin
(method git-fetch)
@ -31580,7 +31582,7 @@ (define-public emacs-vertico
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "13lgvaxbbgc08q5dc2pmagnvg1hr2vvl6c9qxvpwqcj06kw9b5ln"))))
(base32 "16bv4pfc3k37dqyj1va3cb24db36pn8hsazk3ak4xhrgf2q5l548"))))
(build-system emacs-build-system)
(arguments
`(#:phases

View file

@ -36,21 +36,43 @@ (define-module (gnu packages firmware)
#:use-module (guix build-system meson)
#:use-module (gnu packages)
#:use-module (gnu packages admin)
#:use-module (gnu packages autotools)
#:use-module (gnu packages assembly)
#:use-module (gnu packages backup)
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
#:use-module (gnu packages bison)
#:use-module (gnu packages check)
#:use-module (gnu packages cmake)
#:use-module (gnu packages curl)
#:use-module (gnu packages compression)
#:use-module (gnu packages cross-base)
#:use-module (gnu packages curl)
#:use-module (gnu packages efi)
#:use-module (gnu packages elf)
#:use-module (gnu packages flex)
#:use-module (gnu packages gcc)
#:use-module (gnu packages gettext)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
#:use-module (gnu packages gnupg)
#:use-module (gnu packages gtk)
#:use-module (gnu packages hardware)
#:use-module (gnu packages libusb)
#:use-module (gnu packages linux)
#:use-module (gnu packages man)
#:use-module (gnu packages mingw)
#:use-module (gnu packages package-management)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages polkit)
#:use-module (gnu packages protobuf)
#:use-module (gnu packages python)
#:use-module (gnu packages pkg-config))
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages sqlite)
#:use-module (gnu packages tls)
#:use-module (gnu packages version-control)
#:use-module (gnu packages web)
#:use-module (gnu packages xml))
(define-public ath9k-htc-firmware
(package
@ -168,6 +190,89 @@ (define-public b43-tools
driver.")
(license license:gpl2))))
(define-public fwupd
(package
(name "fwupd")
(version "1.8.3")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/fwupd/fwupd")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"02jf052qj1nl47ppqrgz3s9qapq4pajgkf6lbj5rxr5sshlrw44n"))))
(build-system meson-build-system)
(arguments
(list #:configure-flags #~(list "--wrap-mode=nofallback"
"-Dsystemd=false"
(string-append "-Defi_os_dir="
#$gnu-efi "/lib")
"-Defi_binary=false"
(string-append "-Dudevdir="
#$output "/lib/udev")
"--localstatedir=/var"
(string-append "--libexecdir="
#$output "/libexec")
"-Dsupported_build=true")
#:glib-or-gtk? #t ;To wrap binaries and/or compile schemas
#:phases #~(modify-phases %standard-phases
(add-after 'unpack 'make-source-writable
(lambda _
(for-each make-file-writable
(find-files "."))
(substitute* "src/fu-self-test.c"
(("/bin/sh")
(which "sh")))))
(add-before 'build 'setup-home
(lambda _
(setenv "HOME" "/tmp")))
(add-before 'install 'no-polkit-magic
(lambda _
(setenv "PKEXEC_UID" "something"))))))
(native-inputs (list gobject-introspection
python-pygobject
python-pillow
python-pycairo
python
pkg-config
vala
gtk-doc
which
umockdev
`(,glib "bin")
help2man
gettext-minimal))
(inputs (list bash-completion
glib
libgudev
libxmlb
gusb
sqlite
libarchive
libjcat
json-glib
curl
polkit
eudev
gcab
gnutls
libelf
tpm2-tss
cairo
efivar
pango
protobuf-c
mingw-w64-tools
libsmbios
gnu-efi))
(home-page "https://fwupd.org/")
(synopsis "Daemon to allow session software to update firmware")
(description "This package aims to make updating firmware on GNU/Linux
automatic, safe and reliable. It is used by tools such as GNOME Software.")
(license license:lgpl2.1+)))
(define-public openfwwf-firmware
(package
(name "openfwwf-firmware")

View file

@ -9,9 +9,9 @@
;;; Copyright © 2016 Kei Kebreau <kkebreau@posteo.net>
;;; Copyright © 2017 Nikita <nikita@n0.is>
;;; Copyright © 2017, 2018 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2017, 2018, 2019, 2020 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017, 2018, 2019, 2020, 2022 Marius Bakke <marius@gnu.org>
;;; Copyright © 2017, 2018, 2019 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2017, 2020, 2021 Brendan Tildesley <mail@brendan.scot>
;;; Copyright © 2017, 2020, 2021, 2022 Brendan Tildesley <mail@brendan.scot>
;;; Copyright © 2018, 20202022 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
;;; Copyright © 2018 Stefan Stefanović <stefanx2ovic@gmail.com>
@ -30,6 +30,7 @@
;;; Copyright © 2021, 2021, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2022 Daniel Meißner <daniel.meissner-i4k@ruhr-uni-bochum.de>
;;; Copyright © 2022 muradm <mail@muradm.net>
;;; Copyright © 2022 Petr Hodina <phodina@protonmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -72,6 +73,7 @@ (define-module (gnu packages freedesktop)
#:use-module (gnu packages cmake)
#:use-module (gnu packages compression)
#:use-module (gnu packages cryptsetup)
#:use-module (gnu packages curl)
#:use-module (gnu packages databases)
#:use-module (gnu packages disk)
#:use-module (gnu packages docbook)
@ -125,7 +127,7 @@ (define-module (gnu packages freedesktop)
(define-public appstream
(package
(name "appstream")
(version "0.13.1")
(version "0.15.5")
(source
(origin
(method url-fetch)
@ -134,69 +136,44 @@ (define-public appstream
"appstream/releases/"
"AppStream-" version ".tar.xz"))
(sha256
(base32 "09l6ixz1w29pi0nb0flz14m4r3f2hpqpp1fq8y66v9xa4c9fczds"))))
(base32 "1hh41r82a2p7anyadfsp9lmylrrj1a6gknx2g4w6ha97riifs5fb"))))
(build-system meson-build-system)
(arguments
`(#:glib-or-gtk? #t
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-libstemmer
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "meson.build"
(("/usr/include")
(string-append (assoc-ref inputs "libstemmer")
"/include")))
#t))
(add-after 'patch-libstemmer 'patch-docbook-xml
(lambda* (#:key inputs #:allow-other-keys)
(with-directory-excursion "docs/api"
(substitute* "appstream-docs.xml"
(("http://www.oasis-open.org/docbook/xml/4.3/")
(string-append (assoc-ref inputs "docbook-xml-4.3")
"/xml/dtd/docbook/"))))
(for-each (lambda (file)
(substitute* file
(("http://www.oasis-open.org/docbook/xml/4.5/")
(string-append (assoc-ref inputs "docbook-xml")
"/xml/dtd/docbook/"))))
(find-files "scripts/desc" "\\.xml$"))
#t))
(add-after 'patch-docbook-xml 'disable-failing-tests
(lambda _
(substitute* "tests/test-pool.c"
(("[ \t]*g_test_add_func \\(\"/AppStream/PoolRead?.*;")
"")
(("[ \t]*g_test_add_func \\(\"/AppStream/PoolReadAsync?.*;")
"")
(("[ \t]*g_test_add_func \\(\"/AppStream/PoolEmpty?.*;")
"")
(("[ \t]*g_test_add_func \\(\"/AppStream/Cache?.*;")
"")
(("[ \t]*g_test_add_func \\(\"/AppStream/Merges?.*;")
""))
#t))
(add-after 'disable-failing-tests 'patch-install-dir
(lambda* (#:key outputs #:allow-other-keys)
(substitute* "data/meson.build"
(("/etc")
(string-append (assoc-ref outputs "out")
"/etc")))
#t)))))
(list
#:meson meson-0.63
#:glib-or-gtk? #t
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-libstemmer
(lambda* (#:key inputs #:allow-other-keys)
(let ((libstemmer.h (search-input-file inputs
"include/libstemmer.h")))
(substitute* "meson.build"
(("/usr/include")
(dirname libstemmer.h))))))
(add-after 'unpack 'disable-failing-tests
(lambda _
(substitute* "tests/test-pool.c"
(("[ \t]*g_test_add_func \\(\"/AppStream/PoolRead?.*;")
""))))
(add-before 'check 'check-setup
(lambda _
(setenv "HOME" (getcwd)))))))
(native-inputs
`(("cmake" ,cmake)
("docbook-xml-4.3" ,docbook-xml-4.3)
("docbook-xml" ,docbook-xml)
("docbook-xsl" ,docbook-xsl)
("gettext" ,gettext-minimal)
("glib:bin" ,glib "bin")
("gobject-introspection" ,gobject-introspection)
("gperf" ,gperf)
("gtk-doc" ,gtk-doc/stable)
("pkg-config" ,pkg-config)
("python" ,python-wrapper)
("xsltproc" ,libxslt)))
(list docbook-xml-4.3
docbook-xml
docbook-xsl
gettext-minimal
`(,glib "bin")
gobject-introspection
gperf
gtk-doc/stable
itstool
libxslt
pkg-config
python-wrapper))
(inputs
(list libsoup-minimal-2 libstemmer libxml2 libyaml lmdb))
(list curl libsoup-minimal-2 libstemmer libxmlb libxml2 libyaml lmdb))
(propagated-inputs
(list glib))
(synopsis "Tools and libraries to work with AppStream metadata")
@ -209,9 +186,21 @@ (define-public appstream
services and various other things needed to create user-friendly
application-centers for distributions.")
(home-page "https://www.freedesktop.org/wiki/Distributions/AppStream/")
;; XXX: meson.build claims both, headers just indicate lgpl2.1+
;; there are also some (irrelevant) wtfpl2 examples
(license (list license:gpl2+ license:lgpl2.1+))))
(license license:lgpl2.1+)))
(define-public appstream-qt
(package/inherit appstream
(name "appstream-qt")
(native-inputs
(modify-inputs (package-native-inputs appstream)
(prepend qttools-5)))
(inputs
(modify-inputs (package-inputs appstream)
(prepend qtbase-5)))
(arguments
(substitute-keyword-arguments (package-arguments appstream)
((#:configure-flags flags #~'())
#~(append '("-Dqt=true") #$flags))))))
(define-public farstream
(package
@ -1090,6 +1079,21 @@ (define-public wayland-protocols
. "https://wayland.freedesktop.org/releases.html")))
(license license:expat)))
;;; This is just a temporary package that should be deleted
(define-public wayland-protocols-next
(package
(inherit wayland-protocols)
(name "wayland-protocols")
(version "1.26")
(source (origin
(method url-fetch)
(uri (string-append
"https://wayland.freedesktop.org/releases/"
"wayland-protocols-" version ".tar.xz"))
(sha256
(base32
"04vgllmpmrv14x3x64ns01vgwx4hriljayjkz9idgbv83i63hly5"))))))
(define-public waylandpp
(package
(name "waylandpp")

View file

@ -509,16 +509,16 @@ (define-public slade
(define-public tiled
(package
(name "tiled")
(version "1.8.1")
(version "1.8.6")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/bjorn/tiled")
(url "https://github.com/mapeditor/tiled")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"05gczsywkk45bh0z1vv8l6cmrlncc2qj8agavj5ryxpnxkzy69r1"))))
"0iimfj4kbhmjk94586fqz11bk4i7v0zsxby8agx7450cqlh2y3zi"))))
(build-system gnu-build-system)
(inputs
(list qtbase-5 qtdeclarative-5 qtsvg-5 zlib))

File diff suppressed because it is too large Load diff

View file

@ -3086,6 +3086,36 @@ (define-public guile-srfi-89
parameters, which define* and lambda* special forms")
(license license:gpl3+)))
(define-public guile-srfi-128
(package
(name "guile-srfi-128")
(version "0.1.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://inqlab.net/git/guile-srfi-128.git")
(commit (string-append "v" version))))
(sha256
(base32
"03d85q5l2gc2c8cmri6zd4pfndvnadlhwh77hsx6ixvvm8vwq4sy"))
(file-name (git-file-name name version))))
(build-system guile-build-system)
(native-inputs
(list guile-3.0))
(home-page "https://inqlab.net/git/guile-srfi-128.git")
(synopsis "SRFI 128 Comparators (reduced) port for Guile")
(description
"This package provides an implementation of SRFI 128 for Guile.
SRFI 128 defines comparators, which bundles a test type predicate, an
equality predicate, an ordering predicate and a hash function into a
single Scheme object. This can be used in the implementation of data
structures. This package re-uses the SRFI sample implementation.")
(license
(list license:lgpl3+
;; contains ISC code from the SRFI sample implementation
license:isc))))
(define-public guile-srfi-145
(package
(name "guile-srfi-145")
@ -3110,6 +3140,44 @@ (define-public guile-srfi-145
denote the invalidity of certain code paths in a Scheme program.")
(license license:gpl3+)))
(define-public guile-srfi-146
(package
(name "guile-srfi-146")
(version "0.1.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://inqlab.net/git/guile-srfi-146.git")
(commit (string-append "v" version))))
(sha256
(base32
"13dbzlav4fql8lcfr021z5368lwri6i15x0ykv8llzyghlbbx2w6"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(native-inputs
(list guile-3.0
guile-srfi-128 guile-srfi-145 guile-srfi-158
autoconf automake pkg-config))
(inputs (list guile-3.0))
(propagated-inputs
(list guile-srfi-128 guile-srfi-145 guile-srfi-158))
(synopsis "SRFI 146 (Mappings) for Guile")
(description
"This package provides an implementation of SRFI 146 for Guile.
SRFI 146 defines datastructures that implement mappings (finite sets
of associations consiting of a key and a value). Two types of
mappings are defined: One using a comparator to define an order on the
keys and another using a hash function on the keys. The
datastructures and procedures are by default purely-functional. This
package re-uses the SRFI sample implementation that is based on
red-black trees and Hash Array Mapped Trie (HAMT).")
(home-page "https://inqlab.net/git/guile-srfi-146.git")
(license
(list license:lgpl3+
;; contains ISC code from the SRFI sample implementation
license:isc))))
(define-public guile-srfi-158
(let ((commit "13126d1ed37892c864337a600a43d6876625fb99")
(revision "0"))

View file

@ -304,14 +304,14 @@ (define-public ghcid
(define-public git-annex
(package
(name "git-annex")
(version "10.20220624")
(version "10.20220822")
(source
(origin
(method url-fetch)
(uri (string-append "https://hackage.haskell.org/package/"
"git-annex/git-annex-" version ".tar.gz"))
(sha256
(base32 "0a17ph8w620fmbwhm4yhdz2pwp0z8g5d4qsw2bg8k1par2n8rnmz"))))
(base32 "1qv3cb7p2zyc5mpcr4nfgzdmswfny5jbimd2ip7ygh71jlahrbfc"))))
(build-system haskell-build-system)
(arguments
`(#:configure-flags
@ -326,8 +326,7 @@ (define-public git-annex
;; let's temporarily patch it so that we can run the tests.
(copy-file "Utility/Shell.hs" "/tmp/Shell.hs")
(substitute* "Utility/Shell.hs"
(("/bin/sh") (which "sh")))
#t))
(("/bin/sh") (which "sh")))))
(add-before 'configure 'factor-setup
(lambda _
;; Factor out necessary build logic from the provided
@ -341,12 +340,10 @@ (define-public git-annex
(call-with-output-file "Setup.hs"
(lambda (out)
(format out "import Distribution.Simple~%")
(format out "main = defaultMain~%")))
#t))
(format out "main = defaultMain~%")))))
(add-before 'configure 'pre-configure
(lambda _
(invoke "runhaskell" "PreConf.hs")
#t))
(invoke "runhaskell" "PreConf.hs")))
(add-after 'build 'build-manpages
(lambda _
;; The Setup.hs rewrite above removed custom code for building
@ -380,8 +377,7 @@ (define-public git-annex
"/man/man1/")))
(mkdir-p man)
(for-each (lambda (file) (install-file file man))
(find-files "man")))
#t))
(find-files "man")))))
(add-after 'install 'install-symlinks
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
@ -389,8 +385,7 @@ (define-public git-annex
(symlink (string-append bin "/git-annex")
(string-append bin "/git-annex-shell"))
(symlink (string-append bin "/git-annex")
(string-append bin "/git-remote-tor-annex"))
#t)))
(string-append bin "/git-remote-tor-annex")))))
(add-after 'install 'touch-static-output
(lambda* (#:key outputs #:allow-other-keys)
;; The Haskell build system adds a "static" output by

View file

@ -28,7 +28,7 @@
;;; Copyright © 2020 Alexandru-Sergiu Marton <brown121407@member.fsf.org>
;;; Copyright © 2020 Carlo Holl <carloholl@gmail.com>
;;; Copyright © 2020 Christine Lemmer-Webber <cwebber@dustycloud.org>
;;; Copyright © 2021 Alice BRENON <alice.brenon@ens-lyon.fr>
;;; Copyright © 2021, 2022 Alice BRENON <alice.brenon@ens-lyon.fr>
;;; Copyright © 2021 John Kehayias <john.kehayias@protonmail.com>
;;;
;;; This file is part of GNU Guix.
@ -10913,6 +10913,27 @@ (define-public ghc-rio
@end itemize")
(license license:expat)))
(define-public ghc-roman-numerals
(package
(name "ghc-roman-numerals")
(version "0.5.1.5")
(source (origin
(method url-fetch)
(uri (hackage-uri "roman-numerals" version))
(sha256
(base32
"10da5vls9l5i255bapms4b2r7dnwmxgsaa1cdll2lrmid5dikixr"))))
(build-system haskell-build-system)
(inputs (list ghc-base-unicode-symbols))
(home-page "https://github.com/roelvandijk/roman-numerals")
(synopsis "Parsing and pretty printing of Roman numerals")
(description
"This library provides functions for parsing and pretty printing Roman numerals.
Because the notation of Roman numerals has varied through the centuries this
package allows for some customisation using a configuration that is passed to
the conversion functions.")
(license license:bsd-3)))
(define-public ghc-safe
(package
(name "ghc-safe")

View file

@ -333,7 +333,17 @@ (define-public perf-tools
(base32 "1ab735idi0h62yvhzd7822jj3555vygixv4xjrfrdvi8d2hhz6qn"))))
(build-system copy-build-system)
(arguments
`(#:install-plan
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-file-names
(lambda* (#:key inputs #:allow-other-keys)
(substitute* '("execsnoop" "killsnoop" "kernel/funcslower")
(("/usr/bin/gawk")
(search-input-file inputs "/bin/awk")))
(substitute* "execsnoop"
(("/usr/bin/getconf")
(search-input-file inputs "/bin/getconf"))))))
#:install-plan
',(append
(map (cut list <> "bin/")
'("disk/bitesize"
@ -360,7 +370,6 @@ (define-public perf-tools
bash
coreutils ; cat + rm
gawk
gcc-toolchain ; objdump + ldconfig
file
perf
perl

View file

@ -9,6 +9,7 @@
;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2021 Alexandros Theodotou <alex@zrythm.org>
;;; Copyright © 2022 Brendan Tildesley <mail@brendan.scot>
;;;
;;; This file is part of GNU Guix.
;;;
@ -234,7 +235,7 @@ (define-public phonon-backend-gstreamer
(arguments
`(#:configure-flags
'( "-DPHONON_BUILD_PHONON4QT5=ON")))
(home-page "https://phonon.kde.org")
(home-page "https://community.kde.org/Phonon")
(synopsis "Phonon backend which uses GStreamer")
(description "Phonon makes use of backend libraries to provide sound.
Phonon-GStreamer is a backend based on the GStreamer multimedia library.")
@ -715,7 +716,7 @@ (define-public kgraphviewer
qtsvg-5))
(native-inputs
(list pkg-config extra-cmake-modules kdoctools))
(home-page "https://apps.kde.org/en/kgraphviewer")
(home-page "https://apps.kde.org/kgraphviewer/")
(synopsis "Graphviz dot graph viewer for KDE")
(description "KGraphViewer is a Graphviz DOT graph file viewer, aimed to
replace the other outdated Graphviz tools.")
@ -797,8 +798,7 @@ (define-public ki18n
"1f952488492sm904i1iwgjp2gc7z07312mlshw4ckh2801y0qclc"))))
(build-system cmake-build-system)
(propagated-inputs
`(("gettext" ,gettext-minimal)
("python" ,python)))
(list gettext-minimal python))
(native-inputs
(list extra-cmake-modules))
(inputs
@ -1036,6 +1036,30 @@ (define-public ksyntaxhighlighting
(properties `((upstream-name . "syntax-highlighting")))
(license license:lgpl2.1+)))
(define-public plasma-wayland-protocols
(package
(name "plasma-wayland-protocols")
(version "1.6.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://kde/stable/" name "/"
name "-" version ".tar.xz"))
(sha256
(base32
"07zhf2dzacj4xlhackpzaxqnp0d1ldkqlx0f313pw1pgd74zlkxp"))))
(build-system cmake-build-system)
(native-inputs (list extra-cmake-modules))
(arguments '(#:tests? #f)) ;no tests
(home-page "https://community.kde.org/Frameworks")
(synopsis "KDE Plasma Wayland Protocols")
(description
"This package contains XML files describing non-standard Wayland
protocols used in KDE Plasma.")
;; The XML files have varying licenses, open them for details.
(license (list license:bsd-3
license:lgpl2.1+
license:expat))))
(define-public kwayland
(package
(name "kwayland")
@ -1130,11 +1154,11 @@ (define-public kwindowsystem
qttools-5
xorg-server-for-tests)) ; for the tests
(inputs
`(("libxrender" ,libxrender)
("qtbase" ,qtbase-5)
("qtx11extras" ,qtx11extras)
("xcb-utils-keysyms" ,xcb-util-keysyms)
("xcb-util-wm" ,xcb-util-wm)))
(list libxrender
qtbase-5
qtx11extras
xcb-util-keysyms
xcb-util-wm))
(arguments
`(#:phases
(modify-phases %standard-phases
@ -1375,9 +1399,7 @@ (define-public solid
(native-inputs
(list bison dbus extra-cmake-modules flex qttools-5))
(inputs
`(("qtbase" ,qtbase-5)
("qtdeclarative-5" ,qtdeclarative-5)
("udev" ,eudev)))
(list qtbase-5 qtdeclarative-5 eudev))
;; TODO: Add runtime-only dependency MediaPlayerInfo
(home-page "https://community.kde.org/Frameworks")
(synopsis "Desktop hardware abstraction")
@ -3449,19 +3471,18 @@ (define-public kde-frameworkintegration
(native-inputs
(list extra-cmake-modules pkg-config))
;; TODO: Optional packages not yet in Guix: packagekitqt5, AppStreamQt
(inputs
`(("kconfig" ,kconfig)
("kconfigwidgets" ,kconfigwidgets)
("kcoreaddons" ,kcoreaddons)
("ki18n" ,ki18n)
("kiconthemes" ,kiconthemes)
("kitemviews" ,kitemviews)
("knewstuff" ,knewstuff)
("knotificantions" ,knotifications)
("kpackage" ,kpackage)
("kwidgetsaddons" ,kwidgetsaddons)
("qtbase" ,qtbase-5)
("qtx11extras" ,qtx11extras)))
(inputs (list kconfig
kconfigwidgets
kcoreaddons
ki18n
kiconthemes
kitemviews
knewstuff
knotifications
kpackage
kwidgetsaddons
qtbase-5
qtx11extras))
(arguments
`(#:phases
(modify-phases %standard-phases
@ -3784,3 +3805,27 @@ (define-public kross
;; under a variety of licenses.
(license (list license:lgpl2.0+ license:lgpl2.1+
license:lgpl2.0 license:gpl3+))))
(define-public kdav
(package
(name "kdav")
(version "20.04.3")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://kde/stable/release-service/" version
"/src/kdav-" version ".tar.xz"))
(sha256
(base32 "0445gl4xm0h39igkxgb6vmq5iaa04wkgrgbs7nfd0zwngk8xaidn"))))
(build-system qt-build-system)
(native-inputs
(list extra-cmake-modules))
(inputs
(list kcoreaddons ki18n kio qtbase-5 qtxmlpatterns))
(home-page "https://invent.kde.org/frameworks/kdav")
(synopsis "DAV protocol implementation with KJobs")
(description "This is a DAV protocol implementation with KJobs. Calendars
and todos are supported, using either GroupDAV or CalDAV, and contacts are
supported using GroupDAV or CardDAV.")
(license ;; GPL for programs, LGPL for libraries
(list license:gpl2+ license:lgpl2.0+))))

1558
gnu/packages/kde-games.scm Normal file

File diff suppressed because it is too large Load diff

View file

@ -415,38 +415,6 @@ (define-public ktorrent
a full-featured client for BitTorrent.")
(license license:gpl2+)))
(define-public libgravatar
(package
(name "libgravatar")
(version "20.04.1")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://kde/stable/release-service/" version
"/src/libgravatar-" version ".tar.xz"))
(sha256
(base32 "0981ci2kr20v4fk11h57rqya0brgslfazpgq1yk5yqiwyqqm49r2"))))
(build-system qt-build-system)
(native-inputs
(list extra-cmake-modules))
(inputs
(list kconfig
ki18n
kio
kpimcommon
ktextwidgets
kwidgetsaddons
qtbase-5))
(arguments
`(#:tests? #f)) ;; 2/7 tests fail (due to network issues?)
(home-page "https://invent.kde.org/pim/libgravatar")
(synopsis "Online avatar lookup library")
(description "This library retrieves avatar images based on a
hash from a person's email address, as well as local caching to avoid
unnecessary network operations.")
(license ;; GPL for programs, LGPL for libraries
(list license:gpl2+ license:lgpl2.0+))))
(define-public libktorrent
(package
(name "libktorrent")

View file

@ -106,7 +106,8 @@ (define-public dragon
(native-inputs
(list extra-cmake-modules kdoctools))
(inputs
(list kconfig
(list bash-minimal
kconfig
kconfigwidgets
kcoreaddons
kcrash
@ -246,14 +247,13 @@ (define-public juk
(base32 "06vsh7knyhcbcbf632jhldbqpzfkdyils2l8dbcdw5nj5hhgzzmr"))))
(build-system qt-build-system)
(native-inputs
(list extra-cmake-modules))
(list extra-cmake-modules kdoctools))
(inputs
(list kcoreaddons
kcompletion
kconfig
kcrash
kdbusaddons
kdoctools
kglobalaccel
ki18n
kiconthemes
@ -560,7 +560,7 @@ (define-public kmix
(base32 "1na52ypp57wqrc6pl1khinx9i6fidv1k97nnxcy8zb4l7d5sh1nd"))))
(build-system qt-build-system)
(native-inputs
(list extra-cmake-modules pkg-config))
(list extra-cmake-modules kdoctools pkg-config))
(inputs
(list alsa-lib
glib
@ -570,7 +570,6 @@ (define-public kmix
kconfigwidgets
kcrash
kdbusaddons
kdoctools
kglobalaccel
ki18n
kiconthemes
@ -639,7 +638,7 @@ (define-public kmplayer
"-DCMAKE_CXX_FLAGS=-I"
#$(this-package-input "qtx11extras")
"/include/qt5"))))
(home-page "https://kde.org/applications/multimedia/org.kde.kmplayer")
(home-page "https://apps.kde.org/kmplayer/")
(synopsis "Media player using mplayer/phonon as backend")
(description "Kmplayer can play all the audio/video supported by
mplayer/phonon from a local file or URL and be embedded in Konqueror and

View file

@ -2,6 +2,8 @@
;;; Copyright © 2017, 2019, 2020 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;; Copyright © 2020 Marius Bakke <marius@gnu.org>
;;; Copyright © 2021, 2022 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2022 Brendan Tildesley <mail@brendan.scot>
;;; Copyright © 2022 Petr Hodina <phodina@protonmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -34,7 +36,6 @@ (define-module (gnu packages kde-pim)
#:use-module (gnu packages gnupg)
#:use-module (gnu packages kde)
#:use-module (gnu packages kde-frameworks)
#:use-module (gnu packages kde-internet)
#:use-module (gnu packages openldap)
#:use-module (gnu packages qt)
#:use-module (gnu packages search)
@ -105,7 +106,7 @@ (define-public akonadi
get-string-all))))
(rename-file "CMakeLists.txt.new" "CMakeLists.txt"))
#t)))))
(home-page "https://kontact.kde.org/components/akonadi.html")
(home-page "https://kontact.kde.org/components/akonadi/")
(synopsis "Extensible cross-desktop storage service for PIM")
(description "Akonadi is an extensible cross-desktop Personal Information
Management (PIM) storage service. It provides a common framework for
@ -440,7 +441,7 @@ (define-public kaddressbook
prison
qgpgme
qtbase-5))
(home-page "https://kontact.kde.org/components/kaddressbook.html")
(home-page "https://kontact.kde.org/components/kaddressbook/")
(synopsis "Address Book application to manage your contacts")
(description "KAddressBook stores all the personal details of your family,
friends and other contacts. It supports large variety of services, including
@ -561,7 +562,7 @@ (define-public kcalendarsupport
ktextwidgets
kxmlgui
qtbase-5))
(home-page "https://api.kde.org/stable/calendarsupport/")
(home-page "https://api.kde.org/kdepim/calendarsupport/html/index.html")
(synopsis "Calendar Support library for KDE PIM")
(description "The Calendar Support library provides helper utilities for
calendaring applications.")
@ -599,37 +600,13 @@ (define-public kcalutils
qtbase-5))
(arguments
`(#:tests? #f)) ;; TODO: seem to pull in some wrong theme
(home-page "https://api.kde.org/stable/kdepimlibs-apidocs/")
(home-page "https://api.kde.org/kdepim/kcalutils/html/index.html")
(synopsis "Library with utility functions for the handling of calendar
data")
(description "This library provides a utility and user interface
functions for accessing calendar data using the kcalcore API.")
(license license:lgpl2.0+)))
(define-public kdav
(package
(name "kdav")
(version "20.04.3")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://kde/stable/release-service/" version
"/src/kdav-" version ".tar.xz"))
(sha256
(base32 "0445gl4xm0h39igkxgb6vmq5iaa04wkgrgbs7nfd0zwngk8xaidn"))))
(build-system qt-build-system)
(native-inputs
(list extra-cmake-modules))
(inputs
(list kcoreaddons ki18n kio qtbase-5 qtxmlpatterns))
(home-page "https://invent.kde.org/frameworks/kdav")
(synopsis "DAV protocol implementation with KJobs")
(description "This is a DAV protocol implementation with KJobs. Calendars
and todos are supported, using either GroupDAV or CalDAV, and contacts are
supported using GroupDAV or CardDAV.")
(license ;; GPL for programs, LGPL for libraries
(list license:gpl2+ license:lgpl2.0+))))
(define-public kdepim-apps-libs
(package
(name "kdepim-apps-libs")
@ -843,7 +820,7 @@ (define-public kgpg
kxmlgui
oxygen-icons ;; default icon set
qtbase-5))
(home-page "https://kde.org/applications/utilities/org.kde.kgpg")
(home-page "https://apps.kde.org/kgpg/")
(synopsis "Graphical front end for GNU Privacy Guard")
(description "Kgpg manages cryptographic keys for the GNU Privacy Guard,
and can encrypt, decrypt, sign, and verify files. It features a simple editor
@ -911,7 +888,7 @@ (define-public kimap
kio
kmime
qtbase-5))
(home-page "https://api.kde.org/stable/kdepimlibs-apidocs/")
(home-page "https://api.kde.org/kdepim/kimap/html/index.html")
(synopsis "Library for handling IMAP")
(description "This library provides a job-based API for interacting with
an IMAP4rev1 server. It manages connections, encryption and parameter quoting
@ -939,7 +916,7 @@ (define-public kldap
(list ki18n kio kwidgetsaddons qtbase-5))
(propagated-inputs
(list cyrus-sasl openldap))
(home-page "https://api.kde.org/stable/kdepimlibs-apidocs/")
(home-page "https://api.kde.org/kdepim/kldap/html/index.html")
(synopsis "Library for accessing LDAP")
(description " This is a library for accessing LDAP with a convenient Qt
style C++ API. LDAP (Lightweight Directory Access Protocol) is an application
@ -993,7 +970,7 @@ (define-public kleopatra
(when tests?
(invoke "dbus-launch" "ctest" "."))
#t)))))
(home-page "https://kde.org/applications/utilities/org.kde.kleopatra")
(home-page "https://apps.kde.org/kleopatra/")
(synopsis "Certificate Manager and Unified Crypto GUI")
(description "Kleopatra is a certificate manager and a universal crypto
GUI. It supports managing X.509 and OpenPGP certificates in the GpgSM keybox
@ -1082,7 +1059,7 @@ (define-public kmail
(when tests?
(invoke "dbus-launch" "ctest" "."))
#t)))))
(home-page "https://kontact.kde.org/components/kmail.html")
(home-page "https://kontact.kde.org/components/kmail/")
(synopsis "Full featured graphical email client")
(description "KMail supports multiple accounts, mail filtering and email
encryption. The program let you configure your workflow and it has good
@ -1232,7 +1209,7 @@ (define-public kmailtransport
qtbase-5))
(arguments
`(#:tests? #f)) ;; TODO - 3/3 tests fail, require drkonqi
(home-page "https://api.kde.org/stable/kdepimlibs-apidocs/")
(home-page "https://api.kde.org/kdepim/kmailtransport/html/index.html")
(synopsis "Mail transport service library")
(description "This library provides an API and support code for managing
mail transport.")
@ -1254,7 +1231,7 @@ (define-public kmbox
(list extra-cmake-modules))
(inputs
(list kcodecs kmime qtbase-5))
(home-page "https://api.kde.org/stable/kdepimlibs-apidocs/")
(home-page "https://api.kde.org/kdepim/kmbox/html/index.html")
(synopsis "Library for handling mbox mailboxes")
(description "This is a library for handling mailboxes in mbox format,
using a Qt/KMime C++ API.")
@ -1325,7 +1302,6 @@ (define-public kmessagelib
qtdeclarative-5
qtwebchannel-5
qtwebengine-5
qtwebkit
sonnet))
(arguments
`(#:tests? #f ;TODO many test fail for quite different reasons
@ -1374,7 +1350,7 @@ (define-public kmime
(("(Today|Yesterday) 12:34:56" line day)
(string-append day " 12:34 PM")))
#t)))))
(home-page "https://api.kde.org/stable/kdepimlibs-apidocs/")
(home-page "https://api.kde.org/kdepim/kmime/html/index.html")
(synopsis "Library for handling MIME data")
(description "This library provides an API for handling MIME
data. MIME (Multipurpose Internet Mail Extensions) is an Internet Standard
@ -1440,7 +1416,7 @@ (define-public knotes
oxygen-icons ; default icon set, required for tests
qtbase-5
qtx11extras))
(home-page "https://kontact.kde.org/components/knotes.html")
(home-page "https://apps.kde.org/knotes/")
(synopsis "Note-taking utility")
(description "KNotes lets you write the computer equivalent of sticky
notes. The notes are saved automatically when you exit the program, and they
@ -1477,9 +1453,9 @@ (define-public kontactinterface
kwindowsystem
kxmlgui
qtbase-5))
(home-page "https://api.kde.org/stable/kdepimlibs-apidocs/")
(home-page "https://api.kde.org/kdepim/kontactinterface/html/index.html")
(synopsis "Kontact interface library")
(description " This library provides the glue necessary for
(description "This library provides the glue necessary for
application \"Parts\" to be embedded as a Kontact component (or plugin).")
(license license:lgpl2.0+)))
@ -1562,7 +1538,7 @@ (define-public korganizer
(when tests?
(invoke "dbus-launch" "ctest" "."))
#t)))))
(home-page "https://kontact.kde.org/components/korganizer.html")
(home-page "https://apps.kde.org/korganizer/")
(synopsis "Organizational assistant, providing calendars and other similar
functionality to help you organize your life.")
(description "KOrganizer is the calendar and scheduling component of
@ -1665,6 +1641,36 @@ (define-public kpimcommon
(license ;; GPL for programs, LGPL for libraries
(list license:gpl2+ license:lgpl2.0+))))
(define-public libgravatar
(package
(name "libgravatar")
(version "20.04.1")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://kde/stable/release-service/" version
"/src/libgravatar-" version ".tar.xz"))
(sha256
(base32 "0981ci2kr20v4fk11h57rqya0brgslfazpgq1yk5yqiwyqqm49r2"))))
(build-system qt-build-system)
(native-inputs (list extra-cmake-modules))
(inputs (list kconfig
ki18n
kio
kpimcommon
ktextwidgets
kwidgetsaddons
qtbase-5))
(arguments
`(#:tests? #f)) ;; 2/7 tests fail (due to network issues?)
(home-page "https://invent.kde.org/pim/libgravatar")
(synopsis "Online avatar lookup library")
(description "This library retrieves avatar images based on a
hash from a person's email address, as well as local caching to avoid
unnecessary network operations.")
(license ;; GPL for programs, LGPL for libraries
(list license:gpl2+ license:lgpl2.0+))))
(define-public kpimtextedit
(package
(name "kpimtextedit")
@ -1698,7 +1704,7 @@ (define-public kpimtextedit
sonnet))
(arguments
`(#:tests? #f)) ;; TODO - test suite hangs
(home-page "https://api.kde.org/stable/kdepimlibs-apidocs/")
(home-page "https://api.kde.org/kdepim/kpimtextedit/html/index.html")
(synopsis "Library providing a textedit with PIM-specific features")
(description "This package provides a textedit with PIM-specific features.
It also provides so-called rich text builders which can convert the formatted
@ -1769,7 +1775,7 @@ (define-public ktnef
kcoreaddons
ki18n
qtbase-5))
(home-page "https://api.kde.org/stable/kdepimlibs-apidocs/ktnef/html/")
(home-page "https://api.kde.org/kdepim/ktnef/html/index.html")
(synopsis "Library for handling mail attachments using TNEF format")
(description "Ktnef is a library for handling data in the TNEF
format (Transport Neutral Encapsulation Format, a proprietary format of e-mail

View file

@ -5,6 +5,7 @@
;;; Copyright © 2017, 2019, 2020 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2020 Zheng Junjie <873216071@qq.com>
;;; Copyright © 2021 Brendan Tildesley <mail@brendan.scot>
;;;
;;; This file is part of GNU Guix.
;;;
@ -37,6 +38,7 @@ (define-module (gnu packages kde-plasma)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages qt)
#:use-module (gnu packages xdisorg)
#:use-module (gnu packages xorg)
#:use-module (gnu packages web))
@ -157,6 +159,32 @@ (define-public ksshaskpass
call it if it is not associated to a terminal.")
(license license:gpl2+)))
(define-public layer-shell-qt
(package
(name "layer-shell-qt")
(version "5.24.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://kde/stable/plasma/" version
"/layer-shell-qt-" version ".tar.xz"))
(sha256
(base32
"1aq089pws39w9ncsiqzgg3qvfg5hc5a74pzra0smdpy5ipfsb6a4"))))
(build-system qt-build-system)
(native-inputs
(list extra-cmake-modules pkg-config))
(inputs
(list libxkbcommon
qtbase-5
qtdeclarative-5
qtwayland
wayland
wayland-protocols))
(home-page "https://invent.kde.org/plasma/layer-shell-qt")
(synopsis "Qt component for the Wayland ql-layer-shell protocol")
(description "Qt component for the Wayland ql-layer-shell protocol.")
(license license:gpl2+)))
(define-public kscreenlocker
(package
(name "kscreenlocker")

View file

@ -103,7 +103,7 @@ (define-public ark
unzip
zip
zstd))
(home-page "https://apps.kde.org/en/ark")
(home-page "https://apps.kde.org/ark/")
(synopsis "Graphical archiving tool")
(description "Ark is a graphical file compression/decompression utility
with support for multiple formats, including tar, gzip, bzip2, rar and zip, as
@ -154,8 +154,7 @@ (define-public kate
(lambda _
;; make Qt render "offscreen", required for tests
(setenv "QT_QPA_PLATFORM" "offscreen")
(setenv "XDG_CACHE_HOME" "/tmp/xdg-cache")
#t)))))
(setenv "XDG_CACHE_HOME" "/tmp/xdg-cache"))))))
(home-page "https://kate-editor.org/")
(synopsis "Multi-document, multi-view text editor")
(description "Kate is a powerful text editor that can open multiple files
@ -197,7 +196,7 @@ (define-public kmag
oxygen-icons ;; default icon set
;; TODO: QAccessibilityClient - libqaccessibilityclien
qtbase-5))
(home-page "https://kde.org/applications/utilities/org.kde.kmag")
(home-page "https://apps.kde.org/kmag/")
(synopsis "Screen magnifier tool")
(description "You can use KMagnifier to magnify a part of the screen just
as you would use a lens to magnify a newspaper fine-print or a photograph.
@ -235,7 +234,7 @@ (define-public kmousetool
phonon
oxygen-icons ;; default icon set
qtbase-5))
(home-page "https://kde.org/applications/utilities/org.kde.kmousetool")
(home-page "https://apps.kde.org/kmousetool/")
(synopsis "Automatic mouse click and mouse manipulation tool for the
disabled")
(description "KMouseTool clicks the mouse whenever the mouse cursor pauses
@ -271,7 +270,7 @@ (define-public kmouth
oxygen-icons ;; default icon set
qtbase-5
qtspeech))
(home-page "https://kde.org/applications/utilities/org.kde.kmouth")
(home-page "https://apps.kde.org/kmouth/")
(synopsis "Type-and-say frontend for speech synthesizers")
(description "KMouth is a program which enables persons that cannot speak
to let their computer speak, e.g. mutal people or people who have lost their
@ -308,7 +307,7 @@ (define-public kronometer
kxmlgui
oxygen-icons ;; default icon set
qtbase-5))
(home-page "https://kde.org/applications/utilities/org.kde.kronometer")
(home-page "https://apps.kde.org/kronometer/")
(synopsis "Simple stopwatch application")
(description "Kronometer is a stopwatch application. It features the
basic stopwatch actions (pause, resume, reset, laps), as well as the ability
@ -353,7 +352,7 @@ (define-public krusader
qtbase-5
solid
zlib))
(home-page "https://www.krusader.org")
(home-page "https://krusader.org/")
(synopsis "Twin-panel (commander-style) file manager")
(description "Krusader is a simple, easy, yet powerful,
twin-panel (commander-style) file manager, similar to Midnight Commander or
@ -386,7 +385,7 @@ (define-public kxstitch
(list extra-cmake-modules kdoctools pkg-config))
(inputs
(list ktexteditor imagemagick qtbase-5 qtx11extras))
(home-page "https://kde.org/applications/en/graphics/org.kde.kxstitch")
(home-page "https://apps.kde.org/kxstitch/")
(synopsis "Create and print cross stitch patterns")
(description
"KXStitch allows creating and printing cross stitch patterns, which can
@ -435,9 +434,8 @@ (define-public okteta
(lambda _
;; make Qt render "offscreen", required for tests
(setenv "QT_QPA_PLATFORM" "offscreen")
(setenv "HOME" "/tmp/dummy-home")
#t)))))
(home-page "https://kde.org/applications/utilities/org.kde.okteta")
(setenv "HOME" "/tmp/dummy-home"))))))
(home-page "https://apps.kde.org/okteta/")
(synopsis "Hexadecimal editor for binary files")
(description "Okteta is a simple editor for the raw data of files. This
type of program is also called hex editor or binary editor.
@ -484,7 +482,7 @@ (define-public rsibreak
kxmlgui
oxygen-icons ;; default icon set
qtbase-5))
(home-page "https://kde.org/applications/utilities/org.kde.rsibreak")
(home-page "https://apps.kde.org/rsibreak/")
(synopsis "Assists in the Recovery and Prevention of Repetitive Strain
Injury")
(description "Repetitive Strain Injury is an illness which can occur as a
@ -533,7 +531,7 @@ (define-public smb4k
qtbase-5
qtdeclarative-5
solid))
(home-page "https://kde.org/applications/utilities/org.kde.smb4k")
(home-page "https://apps.kde.org/smb4k/")
(synopsis "Samba (SMB) share advanced browser")
(description "Smb4K is an network neighborhood browser for the KDE
Software Compilation and a frontend to the programs of the Samba software
@ -592,7 +590,7 @@ (define-public sweeper
kxmlgui
oxygen-icons ;; default icon set
qtbase-5))
(home-page "https://kde.org/applications/utilities/org.kde.sweeper")
(home-page "https://apps.kde.org/sweeper/")
(synopsis "Temporary file and history cleaner")
(description "
Sweeper helps to clean unwanted traces the user leaves on the system and to

View file

@ -173,8 +173,7 @@ (define-public akregator
(assoc-ref inputs "qtwebengine-5")
"/lib/qt5/libexec/QtWebEngineProcess")))
(wrap-program bin
`("QTWEBENGINEPROCESS_PATH" = (,qt-process-path)))
#t))))))
`("QTWEBENGINEPROCESS_PATH" = (,qt-process-path)))))))))
(native-inputs
(list extra-cmake-modules kdoctools))
(inputs
@ -261,7 +260,7 @@ (define-public kdenlive
`("MLT_PREFIX" ":" =
(,#$(this-package-input "mlt"))))))))))
(native-inputs
(list extra-cmake-modules pkg-config qttools-5))
(list extra-cmake-modules kdoctools pkg-config qttools-5))
(inputs
(list bash-minimal
breeze ; make dark them available easily
@ -383,8 +382,7 @@ (define-public kdevelop
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "cmake/modules/FindClang.cmake"
(("^\\s*PATHS \"\\$\\{CLANG_LIBRARY_DIRS\\}\"" line)
(string-append line " " (assoc-ref inputs "clang") "/lib")))
#t)))))
(string-append line " " (assoc-ref inputs "clang") "/lib"))))))))
(home-page "https://kdevelop.org")
(synopsis "IDE for C, C++, Python, Javascript and PHP")
(description "The KDevelop IDE provides semantic syntax highlighting, as
@ -797,14 +795,12 @@ (define-public labplot
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
;; This test fails, I don't know why.
(invoke "ctest" "-E" "parsertest"))
#t)))))
(native-inputs
`(("bison" ,bison)
("extra-cmake-modules" ,extra-cmake-modules)
("pkg-config" ,pkg-config)
("python" ,python-wrapper)
("qttools-5" ,qttools-5)))
(invoke "ctest" "-E" "parsertest")))))))
(native-inputs (list bison
extra-cmake-modules
pkg-config
python-wrapper
qttools-5))
(inputs
(list breeze ;for dark themes
breeze-icons ;for icons
@ -1007,13 +1003,12 @@ (define-public marble-qt
"-DBUILD_TOUCH=YES"
"-DBUILD_MARBLE_TESTS=FALSE")))
(native-inputs
(list extra-cmake-modules qttools-5))
(list extra-cmake-modules kdoctools qttools-5))
;; One optional dependency missing: libwlocate.
(inputs
(list gpsd
kcoreaddons
kcrash
kdoctools
ki18n
kio
knewstuff

View file

@ -425,13 +425,14 @@ (define-public liblouisutdml
(define-public libstemmer
(package
(name "libstemmer")
(version "2.0.0")
(version "2.2.0")
(source
(origin
(method url-fetch)
(uri "https://snowballstem.org/dist/libstemmer_c.tgz")
(uri (string-append "https://snowballstem.org/dist/libstemmer_c-"
version ".tar.gz"))
(sha256
(base32 "1z2xvrjsaaypc04lwz7dg8mjm5cq1gzmn0l544pn6y2ll3r7ckh5"))))
(base32 "1hvphdl8pfq1q3cgh7bshsabsxc7id6wswrqilplwszkkkzdjhdr"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; No tests exist
@ -450,13 +451,14 @@ (define-public libstemmer
(out-lib (string-append out "/lib")))
(install-file "stemwords" out-bin)
(install-file "include/libstemmer.h" out-include)
(rename-file "libstemmer.o" "libstemmer.a")
(install-file "libstemmer.a" out-lib)
#t))))))
(install-file "libstemmer.a" out-lib)))))))
(synopsis "Stemming Library")
(description "LibStemmer provides stemming library, supporting several
languages.")
(home-page "https://snowballstem.org/")
(properties
'((release-monitoring-url . "https://snowballstem.org/download.html")
(upstream-name . "libstemmer_c")))
(license license:bsd-3)))
(define-public perl-lingua-en-findnumber

View file

@ -63,6 +63,7 @@
;;; Copyright © 2021, 2022 Petr Hodina <phodina@protonmail.com>
;;; Copyright © 2022 Artyom V. Poptsov <poptsov.artyom@gmail.com>
;;; Copyright © 2022 Rene Saavedra <nanuui@protonmail.com>
;;; Copyright © 2022 muradm <mail@muradm.net>
;;;
;;; This file is part of GNU Guix.
@ -352,6 +353,22 @@ (define (%upstream-linux-source version hash)
;; The current "stable" kernels. That is, the most recently released major
;; versions that are still supported upstream.
(define-public linux-libre-5.19-version "5.19.5")
(define-public linux-libre-5.19-gnu-revision "gnu")
(define deblob-scripts-5.19
(linux-libre-deblob-scripts
linux-libre-5.19-version
linux-libre-5.19-gnu-revision
(base32 "0a4pln89nbxiniykm14kyqmnn79gfgj22dr3h94w917xhidq7gp1")
(base32 "1ph67fvg5qvlkh4cynrrmvkngkb0sw6k90b1mwy9466s24khn05i")))
(define-public linux-libre-5.19-pristine-source
(let ((version linux-libre-5.19-version)
(hash (base32 "1g9p4m9w9y0y1gk6vzqvsxzwqspbm10mmhd8n1mhal1yz721qgwc")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-5.19)))
(define-public linux-libre-5.18-version "5.18.19")
(define-public linux-libre-5.18-gnu-revision "gnu")
(define deblob-scripts-5.18
@ -364,7 +381,6 @@ (define-public linux-libre-5.18-pristine-source
(let ((version linux-libre-5.18-version)
(hash (base32 "1mc8zhiw0v7fka64mydpdrxkrvy0jyqggq5lghw3pyqj2wjrpw6z")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-5.18)))
@ -386,7 +402,7 @@ (define-public linux-libre-5.15-pristine-source
(%upstream-linux-source version hash)
deblob-scripts-5.15)))
(define-public linux-libre-5.10-version "5.10.138")
(define-public linux-libre-5.10-version "5.10.139")
(define-public linux-libre-5.10-gnu-revision "gnu1")
(define deblob-scripts-5.10
(linux-libre-deblob-scripts
@ -396,7 +412,7 @@ (define deblob-scripts-5.10
(base32 "1981axxswghza3iadp94q54y8w30h9w9vyq4cbjiiv9alvbv0pb8")))
(define-public linux-libre-5.10-pristine-source
(let ((version linux-libre-5.10-version)
(hash (base32 "1a2vmcqzi71w88j79lxsrgyycq1l1gxp0cvh5ya4afhfisxh7819")))
(hash (base32 "1wdyk1w8lr5l4d038bd44rdndxjvfcva2n51h2i38jd4fp12l00w")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-5.10)))
@ -489,6 +505,11 @@ (define (source-with-patches source patches)
(patches (append (origin-patches source)
patches))))
(define-public linux-libre-5.19-source
(source-with-patches linux-libre-5.19-pristine-source
(list %boot-logo-patch
%linux-libre-arm-export-__sync_icache_dcache-patch)))
(define-public linux-libre-5.18-source
(source-with-patches linux-libre-5.18-pristine-source
(list %boot-logo-patch
@ -603,6 +624,11 @@ (define (make-linux-libre-headers* version gnu-revision source)
(description "Headers of the Linux-Libre kernel.")
(license license:gpl2)))
(define-public linux-libre-headers-5.19
(make-linux-libre-headers* linux-libre-5.19-version
linux-libre-5.19-gnu-revision
linux-libre-5.19-source))
(define-public linux-libre-headers-5.18
(make-linux-libre-headers* linux-libre-5.18-version
linux-libre-5.18-gnu-revision
@ -924,6 +950,13 @@ (define* (make-linux-libre* version gnu-revision source supported-systems
;;; Generic kernel packages.
;;;
(define-public linux-libre-5.19
(make-linux-libre* linux-libre-5.19-version
linux-libre-5.19-gnu-revision
linux-libre-5.19-source
'("x86_64-linux" "i686-linux" "armhf-linux" "aarch64-linux" "riscv64-linux")
#:configuration-file kernel-config))
(define-public linux-libre-5.18
(make-linux-libre* linux-libre-5.18-version
linux-libre-5.18-gnu-revision
@ -8085,23 +8118,26 @@ (define-public fbcat
(define-public libcgroup
(package
(name "libcgroup")
(version "0.41")
(version "2.0.2")
(home-page "https://github.com/libcgroup/libcgroup")
(source
(origin
(method url-fetch)
(uri (string-append
"mirror://sourceforge/libcg/" name "/"
version "/" name "-" version ".tar.bz2"))
(uri (string-append home-page "/releases/download/v"
version "/" name "-" version ".tar.gz"))
(sha256
(base32 "0lgvyq37gq84sk30sg18admxaj0j0p5dq3bl6g74a1ppgvf8pqz4"))))
(base32 "1y0c9ncsawamj77raiw6qkbm5cdsyvhjb2mvgma1kxmgw0r3pxlf"))))
(build-system gnu-build-system)
(arguments
;; Tests are virtualized with lxc, it is not very feasible
;; to make them executable under guix build. Also, note that
;; origin is using source tarball release which is prepared
;; after testing.
`(#:tests? #f))
(native-inputs
(list bison flex))
(inputs
(list linux-pam))
(home-page "https://sourceforge.net/projects/libcg/")
(synopsis "Control groups management tools")
(description "Control groups is Linux kernel method for process resource
restriction, permission handling and more. This package provides userspace

View file

@ -52,6 +52,7 @@ (define-module (gnu packages logging)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages python-build)
#:use-module (gnu packages python-check)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages tcl)
@ -272,7 +273,7 @@ (define-public rsyslog
"--enable-liblogging_stdlog"
"--enable-unlimited_select"
"--enable-usertools"
;; Input plugins
"--enable-imbatchreport"
"--enable-imczmq"
@ -284,7 +285,7 @@ (define-public rsyslog
"--enable-impstats"
"--enable-imptcp"
"--enable-imtuxedoulog"
;; Output plugins
"--enable-clickhouse"
"--enable-elasticsearch"

View file

@ -10,7 +10,7 @@
;;; Copyright © 2019, 2020 Reza Alizadeh Majd <r.majd@pantherx.org>
;;; Copyright © 2020 Fakhri Sajadi <f.sajadi@pantherx.org>
;;; Copyright © 2020 André Batista <nandre@riseup.net>
;;; Copyright © 2021 Brendan Tildesley <mail@brendan.scot>
;;; Copyright © 2021, 2022 Brendan Tildesley <mail@brendan.scot>
;;;
;;; This file is part of GNU Guix.
;;;
@ -69,36 +69,6 @@ (define-module (gnu packages lxqt)
;; Third party libraries
(define-public libdbusmenu-qt
(package
(name "libdbusmenu-qt")
(version "0.9.3+16.04.20160218-0ubuntu1")
(source
(origin
(method git-fetch)
;; Download from github rather than launchpad because launchpad trunk
;; tarball hash is not deterministic.
(uri (git-reference
(url "https://github.com/unity8-team/libdbusmenu-qt")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0b7ii1cvmpcyl79gqal9c3va9m55h055s4hx7fpxkhhqs9463ggg"))))
(build-system cmake-build-system)
(arguments
;; XXX: Tests require a dbus session and some icons.
'(#:tests? #f))
(native-inputs
(list doxygen))
(inputs
(list qtbase-5))
(home-page "https://launchpad.net/libdbusmenu-qt")
(synopsis "Qt implementation of the DBusMenu spec")
(description "This library provides a Qt implementation of the DBusMenu
protocol. The DBusMenu protocol makes it possible for applications to export
and import their menus over DBus.")
(license license:lgpl2.1+)))
(define-public libstatgrab
(package
(name "libstatgrab")

View file

@ -22,6 +22,7 @@ (define-module (gnu packages magic-wormhole)
#:use-module (guix licenses)
#:use-module (guix build-system python)
#:use-module (gnu packages check)
#:use-module (gnu packages python-check)
#:use-module (gnu packages python-crypto)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz))

View file

@ -35,6 +35,7 @@
;;; Copyright © 2022 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2022 Jai Vetrivelan <jaivetrivelan@gmail.com>
;;; Copyright © 2022 Jack Hill <jackhill@jackhill.us>
;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -2653,31 +2654,30 @@ (define-public telegram-purple
(define-public tdlib
(package
(name "tdlib")
(version "1.8.0")
(version "1.8.4")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/tdlib/td")
(commit (string-append "v" version))))
(commit "7eabd8ca60de025e45e99d4e5edd39f4ebd9467e")))
(sha256
(base32 "19psqpyh9a2kzfdhgqkirpif4x8pzy89phvi59dq155y30a3661q"))
(base32 "1chs0ibghjj275v9arsn3k68ppblpm7ysqk0za9kya5vdnldlld5"))
(file-name (git-file-name name version))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags
(list "-DCMAKE_BUILD_TYPE=Release"
"-DTD_ENABLE_LTO=OFF") ; FIXME: Get LTO to work.
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'remove-failing-tests
(lambda _
(substitute* "test/CMakeLists.txt"
;; The test cases are compiled into a distinct binary
;; which uses mtproto.cpp to attempt to connect to
;; a remote server. Removing this file from the sources
;; list disables those specific test cases.
(("\\$\\{CMAKE_CURRENT_SOURCE_DIR\\}/mtproto.cpp") "")))))))
(list
#:build-type "Release"
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'remove-failing-tests
(lambda _
(substitute* "test/CMakeLists.txt"
;; The test cases are compiled into a distinct binary
;; which uses mtproto.cpp to attempt to connect to
;; a remote server. Removing this file from the sources
;; list disables those specific test cases.
(("\\$\\{CMAKE_CURRENT_SOURCE_DIR\\}/mtproto.cpp") "")))))))
(native-inputs
(list gperf openssl zlib php doxygen))
(synopsis "Cross-platform library for building Telegram clients")
@ -2901,6 +2901,36 @@ (define-public mosquitto
;; Dual licensed.
(license (list license:epl1.0 license:edl1.0))))
(define-public python-paho-mqtt
(package
(name "python-paho-mqtt")
(version "1.6.1")
(source (origin
(method git-fetch) ;for tests
(uri (git-reference
(url "https://github.com/eclipse/paho.mqtt.python")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0679iafabd3kvk4fj4lvcl14zg82yq5pz5rji4z659lm2g2zlwgn"))))
(build-system python-build-system)
(arguments (list #:phases
#~(modify-phases %standard-phases
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "pytest" "-vv")))))))
(native-inputs (list python-pytest))
(home-page "https://www.eclipse.org/paho/")
(synopsis "Python implementation of an MQTT client class")
(description "MQTT and MQTT-SN are lightweight publish/subscribe messaging
transports for TCP/IP and connection-less protocols (such as UDP). The
Eclipse Paho project provides client side implementations of MQTT and MQTT-SN
in a variety of programming languages. This package is for the Python
implementation of an MQTT version client class.")
(license (list license:epl2.0 license:edl1.0)))) ;dual licensed
(define-public movim-desktop
(let ((commit "83d583b83629dbd2ec448da9a1ffd81f6c1fb295")
(revision "3"))

View file

@ -136,6 +136,7 @@ (define-module (gnu packages networking)
#:use-module (gnu packages protobuf)
#:use-module (gnu packages pulseaudio)
#:use-module (gnu packages python)
#:use-module (gnu packages python-check)
#:use-module (gnu packages python-crypto)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)

View file

@ -63,14 +63,14 @@ (define-module (gnu packages parallel)
(define-public parallel
(package
(name "parallel")
(version "20220722")
(version "20220822")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://gnu/parallel/parallel-"
version ".tar.bz2"))
(sha256
(base32 "06gh7bj274qzxdlr5bx36b4jrpdnyfcbzpy6k12l63451nn86h0f"))
(base32 "05mh3bbl7c9c945jqhlfspjqji79zq8ml27k6ihaqi8bqibl83cx"))
(snippet
'(begin
(use-modules (guix build utils))

View file

@ -1,100 +0,0 @@
From f91a9cfcd70178404ac2aafdfa124c9a4efe8866 Mon Sep 17 00:00:00 2001
From: Richard Hughes <richard@hughsie.com>
Date: Mon, 18 Apr 2022 10:50:42 +0100
Subject: [PATCH 11/11] Install xb-tool into bindir
Fixes https://github.com/hughsie/libxmlb/issues/123
---
contrib/libxmlb.spec.in | 3 ++-
meson.build | 4 +++-
src/meson.build | 9 ++++++++-
src/xb-tool.1 | 19 +++++++++++++++++++
4 files changed, 32 insertions(+), 3 deletions(-)
create mode 100644 src/xb-tool.1
diff --git a/contrib/libxmlb.spec.in b/contrib/libxmlb.spec.in
index 6be65d1..24478fe 100644
--- a/contrib/libxmlb.spec.in
+++ b/contrib/libxmlb.spec.in
@@ -71,7 +71,8 @@ Executable and data files for installed tests.
%files
%doc README.md
%license LICENSE
-%{_libexecdir}/xb-tool
+%{_bindir}/xb-tool
+%{_mandir}/man1/xb-tool.1*
%dir %{_libdir}/girepository-1.0
%{_libdir}/girepository-1.0/Xmlb-2.0.typelib
%{_libdir}/libxmlb.so.2*
diff --git a/meson.build b/meson.build
index 6870907..53b1324 100644
--- a/meson.build
+++ b/meson.build
@@ -103,16 +103,18 @@ add_project_link_arguments(
)
if host_machine.system() == 'windows'
- libexecdir = get_option('libexecdir')
+ bindir = get_option('bindir')
installed_test_bindir = get_option('libexecdir')
installed_test_datadir = get_option('datadir')
else
prefix = get_option('prefix')
datadir = join_paths(prefix, get_option('datadir'))
+ bindir = join_paths(prefix, get_option('bindir'))
libexecdir = join_paths(prefix, get_option('libexecdir'))
installed_test_bindir = join_paths(libexecdir, 'installed-tests', meson.project_name())
installed_test_datadir = join_paths(datadir, 'installed-tests', meson.project_name())
endif
+mandir = join_paths(prefix, get_option('mandir'))
gio = dependency('gio-2.0', version : '>= 2.45.8')
giounix = dependency('gio-unix-2.0', version : '>= 2.45.8', required: false)
diff --git a/src/meson.build b/src/meson.build
index d7a1401..93fb8ba 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -96,7 +96,14 @@ xb_tool = executable(
libxmlb,
],
install : true,
- install_dir : libexecdir
+ install_dir : bindir
+)
+configure_file(
+ input : 'xb-tool.1',
+ output : 'xb-tool.1',
+ configuration : conf,
+ install: true,
+ install_dir: join_paths(mandir, 'man1'),
)
endif
diff --git a/src/xb-tool.1 b/src/xb-tool.1
new file mode 100644
index 0000000..348d1b1
--- /dev/null
+++ b/src/xb-tool.1
@@ -0,0 +1,19 @@
+.\" Report problems in https://github.com/hughsie/libxmlb
+.TH man 1 "18 April 2022" @PACKAGE_VERSION@ "xb-tool man page"
+.SH NAME
+xb-tool \- standalone XMLb utility
+.SH SYNOPSIS
+xb-tool [CMD]
+.SH DESCRIPTION
+This tool allows creating, dumping and querying binary XML blobs.
+.PP
+Additionally \fBxb-tool\fR can be used to profile specfic tokenized queries.
+.SH OPTIONS
+The xb-tool command takes various options depending on the action.
+Run \fBxb-tool --help\fR for the full list.
+.SH EXIT STATUS
+Commands that successfully execute will return "0", otherwise "1".
+.SH BUGS
+No known bugs.
+.SH AUTHOR
+Richard Hughes (richard@hughsie.com)
--
2.35.1

View file

@ -36,6 +36,7 @@ (define-module (gnu packages protobuf)
#:use-module (guix build-system ruby)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix utils)
#:use-module (gnu packages build-tools)
#:use-module (gnu packages compression)
#:use-module (gnu packages check)
#:use-module (gnu packages gcc)
@ -45,6 +46,7 @@ (define-module (gnu packages protobuf)
#:use-module (gnu packages python-build)
#:use-module (gnu packages python-check)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages rpc)
#:use-module (gnu packages ruby))
(define-public fstrm
@ -237,6 +239,134 @@ (define-public protozero
license:asl2.0 ; for folly
license:bsd-2))))
(define-public nanopb
(package
(name "nanopb")
(version "0.4.6.4")
(source (origin
(method git-fetch) ;for tests
(uri (git-reference
(url "https://github.com/nanopb/nanopb")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"0gb6q4igrjj8jap4p1ijza4y8dkjlingzym3cli1w18f90d7xlh7"))))
(build-system cmake-build-system)
(arguments
(list
#:configure-flags #~(list "-DBUILD_SHARED_LIBS=ON"
"-DBUILD_STATIC_LIBS=OFF")
#:phases
#~(modify-phases %standard-phases
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(with-directory-excursion "../source/tests"
(invoke "scons"))))))))
(native-inputs (list protobuf python-protobuf python-wrapper scons))
(home-page "https://jpa.kapsi.fi/nanopb/")
(synopsis "Small code-size Protocol Buffers implementation in ANSI C")
(description "Nanopb is a small code-size Protocol Buffers implementation
in ansi C. It is especially suitable for use in microcontrollers, but fits
any memory-restricted system.")
(license license:zlib)))
(define-public python-mypy-protobuf
(package
(name "python-mypy-protobuf")
(version "3.3.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/nipunn1313/mypy-protobuf")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0z03h9k68qvnlyhpk0ndwp01bdx77vrjr6mybxq4ldilkkbksklk"))))
(build-system python-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
;; XXX: PEP 517 manual build copied from python-isort.
(replace 'build
(lambda _
;; ZIP does not support timestamps before 1980.
(setenv "SOURCE_DATE_EPOCH" "315532800")
(invoke "python" "-m" "build" "--wheel" "--no-isolation" ".")))
(replace 'install
(lambda _
(let ((whl (car (find-files "dist" "\\.whl$"))))
(invoke "pip" "--no-cache-dir" "--no-input"
"install" "--no-deps" "--prefix" #$output whl))))
(add-before 'check 'generate-protos-for-tests
(lambda _
;; Generate Python sources.
(for-each (lambda (proto)
(invoke "protoc"
"--proto_path=proto"
"--experimental_allow_proto3_optional"
"--python_out=test/generated" proto))
(find-files "." "\\.proto$"))
;; Generate GRPC protos.
(for-each (lambda (proto)
(invoke "python" "-m" "grpc_tools.protoc"
"--proto_path=proto"
"--experimental_allow_proto3_optional"
"--grpc_python_out=test/generated" proto))
(find-files "proto/testproto/grpc" "\\.proto$"))))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(setenv "PYTHONPATH" "test/generated")
(invoke "pytest" "-vv" "--ignore=test/generated" "test"))))))
(native-inputs
(list python-grpc-stubs
python-grpcio-tools
python-pypa-build
python-pytest
python-typing-extensions-next))
(propagated-inputs
(list protobuf
python-protobuf
python-types-protobuf))
(home-page "https://github.com/nipunn1313/mypy-protobuf")
(synopsis "Generate Mypy stub files from protobuf specifications")
(description "This Python package provide tools to generate Mypy stubs
from protobuf specification files.")
(license license:asl2.0)))
(define-public python-nanopb
(package
(inherit nanopb)
(name "python-nanopb")
(build-system python-build-system)
(arguments
(list
#:tests? #f ;no Python-specific tests
#:phases
#~(modify-phases %standard-phases
(replace 'build
(lambda _
(copy-file "extra/poetry/pyproject.toml" "pyproject.toml")
(delete-file "build.py")
;; Mimick extra/poetry/poetry_build.sh.
(mkdir "nanopb")
(copy-recursively "generator" "nanopb/generator")
(invoke "touch" "nanopb/__init__.py"
"nanopb/generator/__init__.py")
(invoke "make" "-C" "nanopb/generator/proto")
(invoke "python" "-m" "build" "--wheel" "--no-isolation" ".")))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let ((whl (car (find-files "dist" "\\.whl$"))))
(invoke "pip" "--no-cache-dir" "--no-input"
"install" "--no-deps" "--prefix" #$output whl)))))))
(native-inputs (list poetry protobuf python-pypa-build))
(propagated-inputs (list python-protobuf))
(synopsis "Small code-size Protocol Buffers implementation in Python")))
(define-public python-protobuf
(package
(name "python-protobuf")

View file

@ -2287,6 +2287,79 @@ (define-public python-test-utils
which make writing and running functional and integration tests easier.")
(license license:asl2.0)))
(define-public python-tox
(package
(name "python-tox")
(version "3.20.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "tox" version))
(sha256
(base32
"0nk0nyzhzamcrvn0qqzzy54isxxqwdi28swml7a2ym78c3f9sqpb"))))
(build-system python-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "pytest" "-vv" "-k"
(string-join
(map (lambda (test)
(string-append "not test_" test))
'("invocation_error"
"create_KeyboadInterrupt"
"exit_code"
"tox_get_python_executable"
"find_alias_on_path"
"get_executable"
"get_executable_no_exist"
"get_sitepackagesdir_error"
"spinner_stdout_not_unicode"
"provision_non_canonical_dep"
"package_setuptools"
"package_poetry"
"parallel_interrupt"
"provision_missing"
"provision_from_pyvenv"
"provision_interrupt_child"
"create"
"run_custom_install_command"
"toxuone_env"
"different_config_cwd"
"test_usedevelop"
"build_backend_without_submodule"
"parallel"
"parallel_live"
"tox_env_var_flags_inserted_isolated"))
" and "))))))))
(propagated-inputs
(list python-filelock
python-packaging
python-pluggy
python-py
python-six
python-toml
python-virtualenv))
(native-inputs
(list python-flaky
python-pathlib2
python-pytest ; >= 2.3.5
python-pytest-freezegun
python-pytest-timeout
python-setuptools-scm))
(home-page "https://tox.readthedocs.io")
(synopsis "Virtualenv-based automation of test activities")
(description "Tox is a generic virtualenv management and test command line
tool. It can be used to check that a package installs correctly with
different Python versions and interpreters, or run tests in each type of
supported environment, or act as a frontend to continuous integration
servers.")
(license license:expat)))
(define-public python-sybil
(package
(name "python-sybil")

View file

@ -2796,14 +2796,14 @@ (define-public python-simpleaudio
(define-public python-simplejson
(package
(name "python-simplejson")
(version "3.17.2")
(version "3.17.6")
(source
(origin
(method url-fetch)
(uri (pypi-uri "simplejson" version))
(sha256
(base32
"0hc8nqwdlll4a9cr1k9msn5kmb6kmbjirpgvhjh254nr4sgwgv3m"))))
"19pqqn01y6qmhhv8q6dh4p1acav49kl923kklnns2qxz5a6h766g"))))
(build-system python-build-system)
(native-inputs
(list python-toml))
@ -14604,43 +14604,6 @@ (define-public python-deprecation
that deprecated code is eventually removed.")
(license license:asl2.0)))
(define-public python-tox
(package
(name "python-tox")
(version "3.20.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "tox" version))
(sha256
(base32
"0nk0nyzhzamcrvn0qqzzy54isxxqwdi28swml7a2ym78c3f9sqpb"))))
(build-system python-build-system)
(arguments
;; FIXME: Tests require pytest-timeout, which itself requires
;; pytest>=2.8.0 for installation.
'(#:tests? #f))
(propagated-inputs
(list python-filelock
python-packaging
python-pluggy
python-py
python-six
python-toml
python-virtualenv))
(native-inputs
(list ; FIXME: Missing: ("python-pytest-timeout" ,python-pytest-timeout)
python-pytest ; >= 2.3.5
python-setuptools-scm))
(home-page "https://tox.readthedocs.io")
(synopsis "Virtualenv-based automation of test activities")
(description "Tox is a generic virtualenv management and test command line
tool. It can be used to check that a package installs correctly with
different Python versions and interpreters, or run tests in each type of
supported environment, or act as a frontend to continuous integration
servers.")
(license license:expat)))
(define-public python-jmespath
(package
(name "python-jmespath")
@ -21720,6 +21683,21 @@ (define-public python-typing-extensions
@end enumerate\n")
(license license:psfl)))
(define-public python-typing-extensions-next
(package
(inherit python-typing-extensions)
(name "python-typing-extensions")
(version "4.2.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/python/typing")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1bbry1rg7q5ppkgzdk4nwl7q1w8bbhajm4q68wb9dm6rf7hg1023"))))))
(define-public bpython
(package
(name "bpython")
@ -29420,6 +29398,24 @@ (define-public python-types-freezegun
collection.")
(license license:asl2.0)))
(define-public python-types-protobuf
(package
(name "python-types-protobuf")
(version "3.20.1")
(source (origin
(method url-fetch)
(uri (pypi-uri "types-protobuf" version))
(sha256
(base32
"000f8n6d4ilihiaf590k73rx3327jh8ima5q5dpxlwz3frj45qrn"))))
(build-system python-build-system)
(home-page "https://github.com/python/typeshed")
(synopsis "Typing stubs for @code{protobuf}")
(description "This package contains typing stubs for @code{protobuf}, a
very small subset the Python stubs contained in the complete @code{typeshed}
collection.")
(license license:asl2.0)))
(define-public python-types-pytz
(package
(name "python-types-pytz")

View file

@ -20,7 +20,7 @@
;;; Copyright © 2020 Jonathan Brielmaier <jonathan.brielmaier@web.de>
;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
;;; Copyright © 2020, 2021, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2021 Brendan Tildesley <mail@brendan.scot>
;;; Copyright © 2021, 2022 Brendan Tildesley <mail@brendan.scot>
;;; Copyright © 2021, 2022 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2021 Nicolò Balzarotti <nicolo@nixo.xyz>
;;; Copyright © 2022 Foo Chuan Wei <chuanwei.foo@hotmail.com>
@ -4056,3 +4056,64 @@ (define-public soqt
also compatible with SGI and TGS Open Inventor, and the API is based on the API
of the InventorXt GUI component toolkit.")
(license license:bsd-3))))
(define-public libdbusmenu-qt
(package
(name "libdbusmenu-qt")
(version "0.9.3+16.04.20160218-0ubuntu1")
(source
(origin
(method git-fetch)
;; Download from github rather than launchpad because launchpad trunk
;; tarball hash is not deterministic.
(uri (git-reference
(url "https://github.com/unity8-team/libdbusmenu-qt")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0b7ii1cvmpcyl79gqal9c3va9m55h055s4hx7fpxkhhqs9463ggg"))))
(build-system cmake-build-system)
(arguments
;; XXX: Tests require a dbus session and some icons.
'(#:tests? #f))
(native-inputs
(list doxygen))
(inputs
(list qtbase-5))
(home-page "https://launchpad.net/libdbusmenu-qt")
(synopsis "Qt implementation of the DBusMenu spec")
(description "This library provides a Qt implementation of the DBusMenu
protocol. The DBusMenu protocol makes it possible for applications to export
and import their menus over DBus.")
(license license:lgpl2.1+)))
(define-public kdsoap
(package
(name "kdsoap")
(version "2.0.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/KDAB/KDSoap/releases/download/"
"kdsoap-" version "/kdsoap-" version ".tar.gz"))
(sha256
(base32
"1vh4rzb09kks1ilay1y60q7gf64gwzdwsca60hmx1xx69w8672fi"))))
(build-system qt-build-system)
(inputs `(("qtbase" ,qtbase-5)))
(arguments
'(#:configure-flags '("-DKDSoap_TESTS=true")
#:phases
(modify-phases %standard-phases
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "ctest" "-E" ;; These tests try connect to the internet.
"(kdsoap-webcalls|kdsoap-webcalls_wsdl|kdsoap-test_calc)"))
#t)))))
(home-page "https://www.kdab.com/development-resources/qt-tools/kd-soap/")
(synopsis "Qt SOAP component")
(description "KD SOAP is a tool for creating client applications for web
services using the XML based SOAP protocol and without the need for a dedicated
web server.")
(license (list license:gpl2 license:gpl3))))

View file

@ -5,6 +5,7 @@
;;; Copyright © 2020 Brett Gilio <brettg@gnu.org>
;;; Copyright © 2021 Greg Hogan <code@greghogan.com>
;;; Copyright © 2021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -24,6 +25,7 @@
(define-module (gnu packages rpc)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix gexp)
#:use-module (guix git-download)
#:use-module (guix download)
#:use-module (guix utils)
@ -154,17 +156,35 @@ (define-public grpc-1.16.1
(delete "abseil-cpp" "protobuf")
(prepend abseil-cpp-20200923.3 protobuf-3.6)))))
(define-public python-grpc-stubs
(package
(name "python-grpc-stubs")
(version "1.24.11")
(source (origin
(method url-fetch)
(uri (pypi-uri "grpc-stubs" version))
(sha256
(base32
"19dkm365g38lvxm799d29dnzg60g8in8251c18qkvsv4n92h8axh"))))
(build-system python-build-system)
(propagated-inputs (list python-grpcio python-typing-extensions))
(home-page "https://github.com/shabbyrobe/grpc-stubs")
(synopsis "gRPC typing stubs for Python")
(description "This is a PEP-561-compliant stub-only package which provides
type information of gRPC.")
(license license:expat)))
(define-public python-grpcio
(package
(name "python-grpcio")
(version "1.27.2")
(version "1.47.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "grpcio" version))
(sha256
(base32
"0zl89jwcff9hkd8mi4yf3qbhns9vbv1s4x4vahm5mkpr7jwk5ras"))
"00gqhz0b1sqnfx6zy7h5z41b6mpsq57r1f3p95xradcvmdgskfsx"))
(modules '((guix build utils) (ice-9 ftw)))
(snippet
'(begin
@ -176,26 +196,33 @@ (define-public python-grpcio
(lambda (file)
(not (member file
'("." ".."
"abseil-cpp"
"address_sorting"
"upb")))))))
#t))))
"upb"
"xxhash")))))))))))
(build-system python-build-system)
(arguments
'(#:phases (modify-phases %standard-phases
(add-before 'build 'use-system-libraries
(lambda _
(setenv "GRPC_PYTHON_BUILD_SYSTEM_CARES" "1")
(setenv "GRPC_PYTHON_BUILD_SYSTEM_OPENSSL" "1")
(setenv "GRPC_PYTHON_BUILD_SYSTEM_ZLIB" "1")
#t))
(add-before 'build 'configure-compiler
(lambda _
(substitute* '("setup.py" "src/python/grpcio/commands.py")
(("'cc'") "'gcc'"))
#t)))))
(list
#:phases
#~(modify-phases %standard-phases
(add-before 'build 'use-system-libraries
(lambda _
(setenv "GRPC_PYTHON_BUILD_SYSTEM_CARES" "1")
(setenv "GRPC_PYTHON_BUILD_SYSTEM_OPENSSL" "1")
(setenv "GRPC_PYTHON_BUILD_SYSTEM_ZLIB" "1")
(setenv "GRPC_PYTHON_BUILD_SYSTEM_RE2" "1")
(setenv "GRPC_PYTHON_BUILD_SYSTEM_ABSL" "1")
;; Fix the linker options to link with abseil-cpp, which is
;; looked under /usr/lib.
(substitute* "setup.py"
(("pathlib.Path\\('/usr').glob\\('lib\\*/libabsl_\\*.so')")
(format #f "pathlib.Path('~a').glob('lib*/libabsl_*.so')"
#$(this-package-input "abseil-cpp"))))))
(add-before 'build 'configure-compiler
(lambda _
(substitute* '("setup.py" "src/python/grpcio/commands.py")
(("'cc'") "'gcc'")))))))
(inputs
(list c-ares openssl zlib))
(list abseil-cpp c-ares openssl re2 zlib))
(propagated-inputs
(list python-six))
(home-page "https://grpc.io")
@ -204,6 +231,34 @@ (define-public python-grpcio
with the HTTP/2-based RPC framework gRPC.")
(license license:asl2.0)))
(define-public python-grpcio-tools
(package
(name "python-grpcio-tools")
(version "1.47.0")
(source (origin
(method url-fetch)
(uri (pypi-uri "grpcio-tools" version))
(modules '((guix build utils)))
(snippet
;; This file is auto-generated.
'(delete-file "grpc_tools/_protoc_compiler.cpp"))
(sha256
(base32
"0g3xwv55lvf5w64zb44dipwqz7729cbqc7rib77ddqab91w56jzn"))))
(build-system python-build-system)
(arguments
(list #:phases #~(modify-phases %standard-phases
(add-after 'unpack 'configure
(lambda _
(setenv "GRPC_PYTHON_BUILD_WITH_CYTHON" "1"))))))
(native-inputs (list python-cython))
(propagated-inputs (list python-grpcio python-protobuf))
(home-page "https://grpc.io")
(synopsis "Protobuf code generator for gRPC")
(description "The gRPC tools for Python provide a special plugin for
generating server and client code from @file{.proto} service definitions.")
(license license:asl2.0)))
(define-public apache-thrift
(package
(name "apache-thrift")

View file

@ -16,6 +16,7 @@
;;; Copyright © 2021 jgart <jgart@dismail.de>
;;; Copyright © 2021 Nicolas Graves <ngraves@ngraves.fr>
;;; Copyright © 2022 Aleksandr Vityazev <avityazev@posteo.org>
;;; Copyright © 2022 Gabriel Arazas <foo.dogsquared@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -1129,6 +1130,62 @@ (define-public tectonic
of support files.")
(license license:expat)))
(define-public treefmt
(package
(name "treefmt")
(version "0.4.1")
(source
(origin
(method url-fetch)
(uri (crate-uri "treefmt" version))
(file-name
(string-append name "-" version ".tar.gz"))
(sha256
(base32 "1rarg6rffzl1cf6r167h9p14wr696kwnzr85kwbdy7x7x5zpj5li"))))
(build-system cargo-build-system)
(arguments
`(#:install-source? #f
#:cargo-inputs
(("rust-anyhow" ,rust-anyhow-1)
("rust-console" ,rust-console-0.13)
("rust-directories" ,rust-directories-3)
("rust-filetime" ,rust-filetime-0.2)
("rust-globset" ,rust-globset-0.4)
("rust-ignore" ,rust-ignore-0.4)
("rust-log" ,rust-log-0.4)
("rust-path-clean" ,rust-path-clean-0.1)
("rust-rayon" ,rust-rayon-1)
("rust-serde" ,rust-serde-1)
("rust-serde-json" ,rust-serde-json-1)
("rust-sha-1" ,rust-sha-1-0.9)
("rust-structopt" ,rust-structopt-0.3)
("rust-tempfile" ,rust-tempfile-3)
("rust-toml" ,rust-toml-0.5)
("rust-which" ,rust-which-4))
#:cargo-development-inputs
(("rust-criterion" ,rust-criterion-0.3))))
(home-page "https://numtide.github.io/treefmt")
(synopsis "Command-line application to format the code tree")
(description
"This application provides a way to unify the formatting process of the
codebase. It is nice for large code trees where using multiple formatters are
common. @command{treefmt} comes with the following features.
@itemize
@item Unified CLI and output.
@item Runs formatters in parallel.
@item Cache changed files for performance.
@end itemize
The application does have some design decisions to keep in mind.
@itemize
@item The source code is kept under version control, making it possible to
revert and check changes.
@item Only one formatter per file, making outputs idempotent.
@end itemize")
(license license:expat)))
(define-public hex
(package
(name "hex")

View file

@ -541,7 +541,7 @@ (define-public sdl2-ttf
(define-public guile-sdl
(package
(name "guile-sdl")
(version "0.5.3")
(version "0.6.1")
(source (origin
(method url-fetch)
(uri
@ -549,7 +549,7 @@ (define-public guile-sdl
version ".tar.lz"))
(sha256
(base32
"040gyk3n3yp8i30ngdg97n3083g8b6laky2nlh10jqcyjdd550d6"))))
"1q985nd3birr5pny74915x098fisa6llas3ijgf1b4gdz5717nzz"))))
(build-system gnu-build-system)
(native-inputs
`(("lzip" ,lzip)

View file

@ -33,6 +33,7 @@
(define-module (gnu packages suckless)
#:use-module (gnu packages)
#:use-module (gnu packages base)
#:use-module (gnu packages crates-io)
#:use-module (gnu packages compression)
#:use-module (gnu packages cups)
#:use-module (gnu packages fonts)
@ -49,6 +50,7 @@ (define-module (gnu packages suckless)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages webkit)
#:use-module (gnu packages xorg)
#:use-module (guix build-system cargo)
#:use-module (guix build-system glib-or-gtk)
#:use-module (guix build-system gnu)
#:use-module (guix download)
@ -1182,6 +1184,33 @@ (define-public farbfeld
(home-page "https://git.suckless.org/farbfeld/")
(license license:isc))))
(define-public snafu
(let ((commit "e436fb4f61ca93a4ec85122506b2c2d4fec30eb6")
(revision "0"))
(package
(name "snafu")
(version (git-version "0.0.0" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/jsbmg/snafu")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "1c6ahxw0qz0703my28k2z0kgi0am5bp5d02l4rgyphgvjk1jfv8h"))))
(arguments
`(#:cargo-inputs
(("rust-chrono" ,rust-chrono-0.4))
#:tests? #f)) ; There are no tests.
(build-system cargo-build-system)
(home-page "https://github.com/jsbmg/snafu")
(synopsis "Status text for DWM window manager")
(description "@code{snafu} provides status text for DWM's builtin bar. It
shows battery status, battery capacity, current WiFi connection, and the time in
a nice format.")
(license license:isc))))
(define-public svkbd
(package
(name "svkbd")

View file

@ -9680,6 +9680,28 @@ (define-public texlive-biblatex
@end enumerate\n")
(license license:lppl1.3c))))
(define-public texlive-biblatex-apa
(package
;; Version 9.16 2022-06-22
(inherit (simple-texlive-package
"texlive-biblatex-apa"
(list "doc/latex/biblatex-apa/"
"tex/latex/biblatex-apa/")
(base32
"0ivf7xbzj4xd57sqfbi87hbr73rraqifkzvx06yxgq0gmzz0x6wl")
#:trivial? #t))
(propagated-inputs
(list texlive-biblatex biber texlive-csquotes))
(home-page
"https://www.ctan.org/pkg/biblatex-apa")
(synopsis "BibLaTeX citation and reference style for APA")
(description
"This is a fairly complete BibLaTeX style (citations and references) for
@acronym{APA, American Psychological Association} publications. It implements
and automates most of the guidelines in the APA 7th edition style guide for
citations and references.")
(license license:lppl1.3c)))
(define-public texlive-todonotes
(let ((template (simple-texlive-package
"texlive-todonotes"

View file

@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016 José Miguel Sánchez García <jmi2k@openmailbox.org>
;;; Copyright © 2016 Carlo Zancanaro <carlo@zancanaro.id.au>
;;; Copyright © 2017, 2018, 2020 Eric Bavier <bavier@posteo.net>
;;; Copyright © 2017, 2018, 2020, 2022 Eric Bavier <bavier@posteo.net>
;;; Copyright © 2017 Feng Shu <tumashu@163.com>
;;; Copyright © 2017 Nikita <nikita@n0.is>
;;; Copyright © 2014 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.org>
@ -651,7 +651,7 @@ (define-public qemacs
(define-public ghostwriter
(package
(name "ghostwriter")
(version "2.0.2")
(version "2.1.4")
(source (origin
(method git-fetch)
(uri (git-reference
@ -660,7 +660,7 @@ (define-public ghostwriter
(file-name (git-file-name name version))
(sha256
(base32
"19cf55b86yj2b5hdazbyw4iyp6xq155243aiyg4m0vhwh0h79nwh"))))
"1w8a6vkhmdbp4kzb7aprvfni9ny47dj0vigbcnsh539dn3sp1gan"))))
(build-system gnu-build-system)
(native-inputs
(list pkg-config qttools-5)) ; for lrelease
@ -675,27 +675,26 @@ (define-public ghostwriter
(propagated-inputs ; To get native-search-path
(list qtwebengine-5))
(arguments
`(#:phases
(modify-phases %standard-phases
(replace 'configure
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(invoke "qmake" (string-append "PREFIX=" out)))))
(add-after 'configure 'create-translations
(lambda _
;; `lrelease` will not overwrite, so delete existing .qm files
(for-each delete-file (find-files "translations" ".*\\.qm"))
(apply invoke "lrelease" (find-files "translations" ".*\\.ts"))))
;; Ensure that icons are found at runtime.
(add-after 'install 'wrap-executable
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(wrap-program (string-append out "/bin/ghostwriter")
`("QT_PLUGIN_PATH" ":" prefix
,(map (lambda (label)
(string-append (assoc-ref inputs label)
"/lib/qt5/plugins/"))
'("qtsvg-5" "qtmultimedia-5"))))))))))
(list
#:phases
#~(modify-phases %standard-phases
(replace 'configure
(lambda* (#:key outputs #:allow-other-keys)
(invoke "qmake" (string-append "PREFIX=" #$output))))
(add-after 'configure 'create-translations
(lambda _
;; `lrelease` will not overwrite, so delete existing .qm files
(for-each delete-file (find-files "translations" ".*\\.qm"))
(apply invoke "lrelease" (find-files "translations" ".*\\.ts"))))
;; Ensure that icons are found at runtime.
(add-after 'install 'wrap-executable
(lambda* (#:key inputs outputs #:allow-other-keys)
(wrap-program (string-append #$output "/bin/ghostwriter")
`("QT_PLUGIN_PATH" ":" prefix
#$(map (lambda (label)
(file-append (this-package-input label)
"/lib/qt5/plugins"))
'("qtsvg" "qtmultimedia")))))))))
(home-page "https://wereturtle.github.io/ghostwriter/")
(synopsis "Write without distractions")
(description

View file

@ -2460,7 +2460,7 @@ (define-public reposurgeon
(define-public tig
(package
(name "tig")
(version "2.5.6")
(version "2.5.7")
(source (origin
(method url-fetch)
(uri (string-append
@ -2468,7 +2468,7 @@ (define-public tig
version "/tig-" version ".tar.gz"))
(sha256
(base32
"0pwn7mlfnd5ngcbagjs9vsr7jgmia8676p0i91vvfl4v6qrmzfsh"))
"0xna55y1r1jssdmrzpinv96p7w00w9hn39q5l3d8l299dg4bmiyv"))
(modules '((guix build utils)))
(snippet
'(begin

View file

@ -1092,7 +1092,7 @@ (define-public mkvtoolnix
(define-public pipe-viewer
(package
(name "pipe-viewer")
(version "0.2.0")
(version "0.2.3")
(source
(origin
(method git-fetch)
@ -1102,7 +1102,7 @@ (define-public pipe-viewer
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "19qfs0nv7l01468f14a5zbvaiff5hrsk3a4zqknh15014xnvw08s"))))
(base32 "0c2v4pj86442sp71ndjmvd2bl1grp6g9ya2ywdaihq1f2djk6jxl"))))
(build-system perl-build-system)
(arguments
`(#:imported-modules
@ -1122,9 +1122,6 @@ (define-public pipe-viewer
(add-after 'unpack 'patch-source
(lambda* (#:key inputs #:allow-other-keys)
(substitute* (find-files "lib" "\\.pm$")
(("\"youtube-dl\"")
(format #f "\"~a/bin/youtube-dl\""
(assoc-ref inputs "youtube-dl")))
(("\"yt-dlp\"")
(format #f "\"~a/bin/yt-dlp\""
(assoc-ref inputs "yt-dlp"))))
@ -1138,9 +1135,6 @@ (define-public pipe-viewer
(("'xdg-open'")
(format #f "'~a/bin/xdg-open'"
(assoc-ref inputs "xdg-utils")))
(("'youtube-dl'")
(format #f "'~a/bin/youtube-dl'"
(assoc-ref inputs "youtube-dl")))
(("'yt-dlp'")
(format #f "'~a/bin/yt-dlp'"
(assoc-ref inputs "yt-dlp"))))))
@ -1194,7 +1188,6 @@ (define-public pipe-viewer
perl-uri-escape
wget
xdg-utils
youtube-dl
yt-dlp))
(propagated-inputs
(list dconf))

View file

@ -1197,3 +1197,31 @@ (define-public xl2tpd
"xl2tpd is an implementation of the Layer 2 Tunnelling Protocol (RFC 2661).
L2TP allows you to tunnel PPP over UDP.")
(license license:gpl2)))
(define-public vpn-slice
(package
(name "vpn-slice")
(version "0.16.1")
(source (origin
(method url-fetch)
(uri (pypi-uri "vpn-slice" version))
(sha256
(base32
"1anfx4hn2ggm6sbwqmqx68s3l2rjcy4z4l038xqb440jnk8jvl18"))))
(build-system python-build-system)
(inputs (list python-dnspython python-setproctitle))
(home-page "https://github.com/dlenski/vpn-slice")
(synopsis "Split tunneling replacement for vpnc-script")
(description "vpn-slice is a replacement for @command{vpnc-script} used by
@code{openconnect} and @code{vpnc}. Instead of trying to copy the behavior of
standard corporate VPN clients, which normally reroute all your network
traffic through the VPN, vpn-slice tries to minimize your contact with an
intrusive VPN. This is also known as a split-tunnel VPN, since it splits your
traffic between the VPN tunnel and your normal network interfaces.
By default, vpn-slice only routes traffic for specific hosts or subnets
through the VPN. It automatically looks up named hosts, using the VPN's DNS
servers, and adds entries for them to your @file{/etc/hosts} (which it cleans
up after VPN disconnection), however it does not otherwise alter your
@file{/etc/resolv.conf} at all.")
(license license:gpl3+)))

View file

@ -468,7 +468,7 @@ (define-public kristall
(define-public qutebrowser
(package
(name "qutebrowser")
(version "2.5.1")
(version "2.5.2")
(source
(origin
(method url-fetch)
@ -476,7 +476,7 @@ (define-public qutebrowser
"qutebrowser/releases/download/v" version "/"
"qutebrowser-" version ".tar.gz"))
(sha256
(base32 "1g7dfrnjgifvbmz1523iq9qxhrsciajr8dv3pak6dlacm235i276"))))
(base32 "0279fi4lx8sfxz3mx6ar0wz01kiiqa1zkv9fxc6xw0y4vlacxgx9"))))
(build-system python-build-system)
(native-inputs
(list python-attrs)) ; for tests

View file

@ -89,7 +89,7 @@ (define-module (gnu packages xml)
(define-public libxmlb
(package
(name "libxmlb")
(version "0.3.8")
(version "0.3.9")
(source
(origin
(method git-fetch)
@ -99,9 +99,7 @@ (define-public libxmlb
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0znz2y1ig2kvlda44a3kxa8x7f222nbg50rjz6nlngzka0ccsgxx"))
;; Drop xb-tool patch after libxmlb 0.3.8, merged upstream
(patches (search-patches "libxmlb-install-xb-tool-into-bindir.patch"))))
(base32 "1n6ffza134sj9ck9nbngdhq8kvbsk5mvjqki3ph4xc283b1ywr71"))))
(build-system meson-build-system)
(arguments
`(#:glib-or-gtk? #t))

View file

@ -127,7 +127,7 @@ (define (fail2ban-jail-configuration-serialize-field-name name)
(string-append "bantime." (substring name 9))))
((string-contains name "-")
(fail2ban-jail-configuration-serialize-field-name
(string-filter (lambda (c) (equal? c #\-)) name)))
(string-filter (lambda (c) (not (equal? c #\-))) name)))
(else name)))
(define (fail2ban-jail-configuration-serialize-string field-name value)
@ -194,13 +194,14 @@ (define-maybe fail2ban-jail-filter-configuration (prefix fail2ban-jail-configura
(define-configuration fail2ban-jail-configuration
(name
string
"Required name of this jail configuration.")
"Required name of this jail configuration."
empty-serializer)
(enabled?
(boolean #t)
"Whether this jail is enabled.")
(backend
maybe-symbol
"Backend to use to detect changes in the @code{ogpath}. The default is
"Backend to use to detect changes in the @code{log-path}. The default is
'auto. To consult the defaults of the jail configuration, refer to the
@file{/etc/fail2ban/jail.conf} file of the @code{fail2ban} package."
fail2ban-jail-configuration-serialize-backend)

270
gnu/tests/image.scm Normal file
View file

@ -0,0 +1,270 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2022 Mathieu Othacehe <othacehe@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu tests image)
#:use-module (gnu)
#:use-module (gnu image)
#:use-module (gnu tests)
#:autoload (gnu system image) (system-image root-offset)
#:use-module (gnu system uuid)
#:use-module (gnu system vm)
#:use-module (gnu packages guile)
#:use-module (gnu packages guile-xyz)
#:use-module (guix gexp)
#:use-module (guix monads)
#:use-module (ice-9 format)
#:export (%test-images))
;;; Commentary:
;;;
;;; This module provides tests for the image creation process that is
;;; performed by "genimage" under the hood.
;;;
;;; The image partitionment is checked using Guile-Parted. The content of the
;;; images is out of the scope of this module. Other test modules such as
;;; (gnu tests installation) make sure that the produced images are viable.
;;;
;;; Code:
;; A dummy initializer creating a simple file in the partition.
(define dummy-initializer
#~(lambda* (root . rest)
(mkdir root)
(call-with-output-file
(string-append root "/test")
(lambda (port)
(format port "content")))))
(define %simple-efi-os
(operating-system
(inherit %simple-os)
(bootloader (bootloader-configuration
(bootloader grub-efi-bootloader)
(targets '("/boot/efi"))))))
;; An MBR disk image with a single ext4 partition.
(define i1
(image
(format 'disk-image)
(operating-system %simple-os)
(partitions
(list
(partition
(size (* 1024 1024)) ;1MiB
(offset root-offset)
(label "test")
(file-system "ext4")
(flags '(boot))
(initializer dummy-initializer))))))
;; A GPT disk image with a single ext4 partition.
(define i2
(image
(format 'disk-image)
(operating-system %simple-efi-os)
(partition-table-type 'gpt)
(partitions
(list
(partition
(size (* 1024 1024)) ;1MiB
(offset root-offset)
(label "test")
(file-system "ext4")
(flags '(boot))
(initializer dummy-initializer))))))
;; An MBR disk image with multiple ext4 partitions.
(define i3
(image
(format 'disk-image)
(operating-system %simple-os)
(partitions
(list
(partition
(size (* 1024 1024)) ;1MiB
(offset root-offset)
(label "test")
(file-system "ext4")
(flags '(boot))
(initializer dummy-initializer))
(partition
(size (* 1024 1024)) ;1MiB
(label "test2")
(file-system "ext4")
(flags '())
(initializer dummy-initializer))))))
;; A GPT disk image with multiple ext4 partitions.
(define i4
(image
(format 'disk-image)
(operating-system %simple-efi-os)
(partition-table-type 'gpt)
(partitions
(list
(partition
(size (* 1024 1024)) ;1MiB
(offset root-offset)
(label "test")
(file-system "ext4")
(flags '(boot))
(initializer dummy-initializer))
(partition
(size (* 1024 1024)) ;1MiB
(label "test2")
(file-system "ext4")
(flags '())
(initializer dummy-initializer))))))
;; A GPT disk image with fat32 and ext4 partitions.
(define i5
(image
(format 'disk-image)
(operating-system %simple-efi-os)
(partition-table-type 'gpt)
(partitions
(list
(partition
(size (* 1024 1024 128)) ;128MiB
(offset root-offset)
(label "test")
(file-system "fat32")
(flags '(esp))
(initializer dummy-initializer))
(partition
(size (* 1024 1024 256)) ;256MiB
(label "test2")
(file-system "ext4")
(flags '(boot))
(initializer dummy-initializer))))))
(define (run-images-test)
(define test
(with-imported-modules '((srfi srfi-64)
(gnu build marionette))
(with-extensions (list guile-parted guile-bytestructures)
#~(begin
(use-modules (gnu build marionette)
(srfi srfi-1)
(srfi srfi-26)
(srfi srfi-64)
(parted))
(define (image->disk img)
(disk-new (get-device img)))
(test-runner-current (system-test-runner #$output))
(test-begin "images")
;; Image i1.
(define i1-image
#$(system-image i1))
(define d1-device
(get-device i1-image))
(test-equal "msdos"
(disk-type-name (disk-probe d1-device)))
(test-equal 1
(disk-get-primary-partition-count (disk-new d1-device)))
(test-assert
(let* ((disk (disk-new d1-device))
(partitions (disk-partitions disk))
(boot-partition (find normal-partition? partitions)))
(partition-get-flag boot-partition PARTITION-FLAG-BOOT)))
;; Image i2.
(define i2-image
#$(system-image i2))
(define d2-device
(get-device i2-image))
(test-equal "gpt"
(disk-type-name (disk-probe d2-device)))
(test-equal 1
(disk-get-primary-partition-count (disk-new d2-device)))
(test-equal "test"
(let* ((disk (disk-new d2-device))
(partitions (disk-partitions disk))
(boot-partition (find normal-partition? partitions)))
(partition-get-name boot-partition)))
;; Image i3.
(define i3-image
#$(system-image i3))
(define d3-device
(get-device i3-image))
(test-equal "msdos"
(disk-type-name (disk-probe d3-device)))
(test-equal 2
(disk-get-primary-partition-count (disk-new d3-device)))
;; Image i4.
(define i4-image
#$(system-image i4))
(define d4-device
(get-device i4-image))
(test-equal "gpt"
(disk-type-name (disk-probe d4-device)))
(test-equal 2
(disk-get-primary-partition-count (disk-new d4-device)))
;; Image i5.
(define i5-image
#$(system-image i5))
(define d5-device
(get-device i5-image))
(define (sector->byte sector)
(/ (* sector (device-sector-size d5-device))
MEBIBYTE-SIZE))
(test-equal "gpt"
(disk-type-name (disk-probe d5-device)))
(test-equal 2
(disk-get-primary-partition-count (disk-new d5-device)))
(test-equal '("fat32" "ext4")
(map (compose filesystem-type-name partition-fs-type)
(filter data-partition?
(disk-partitions (disk-new d5-device)))))
;; The first partition has a 1MiB offset has a 128MiB size. The
;; second partition should then start at 129MiB.
(test-equal '(1 129)
(map (compose sector->byte partition-start)
(filter data-partition?
(disk-partitions (disk-new d5-device)))))
(test-end)))))
(gexp->derivation "images-test" test))
(define %test-images
(system-test
(name "images")
(description "Build and test basic system images.")
(value (run-images-test))))

View file

@ -128,6 +128,7 @@ (define-module (guix profiles)
packages->manifest
ca-certificate-bundle
%default-profile-hooks
%manifest-format-version
profile-derivation
profile-search-paths
load-profile

View file

@ -145,6 +145,7 @@ (define* (build-and-use-profile store profile manifest
dry-run?
(hooks %default-profile-hooks)
allow-collisions?
(format-version %manifest-format-version)
bootstrap?)
"Build a new generation of PROFILE, a file name, using the packages
specified in MANIFEST, a manifest object. When ALLOW-COLLISIONS? is true,
@ -154,6 +155,7 @@ (define* (build-and-use-profile store profile manifest
(profile-derivation manifest
#:allow-collisions? allow-collisions?
#:hooks (if bootstrap? '() hooks)
#:format-version format-version
#:locales? (not bootstrap?))))
(prof (derivation->output-path prof-drv)))

View file

@ -452,6 +452,9 @@ (define guix-command
(mlet %store-monad ((manifest (channel-instances->manifest instances)))
(mbegin %store-monad
(update-profile profile manifest
;; Create a version 3 profile so that it is readable by
;; old instances of Guix.
#:format-version 3
#:hooks %channel-profile-hooks)
(return

View file

@ -41,6 +41,7 @@ (define-module (guix scripts system)
#:use-module (guix grafts)
#:use-module (guix gexp)
#:use-module (guix derivations)
#:use-module (guix diagnostics)
#:use-module (guix packages)
#:use-module (guix utils)
#:use-module (guix monads)
@ -1257,7 +1258,10 @@ (define save-provenance?
(size image-size)
(volatile-root? volatile?)
(shared-network? shared-network?))))
(os (image-operating-system image))
(os (or (image-operating-system image)
(raise
(formatted-message
(G_ "image lacks an operating-system")))))
(target-file (match args
((first second) second)
(_ #f)))

View file

@ -34,7 +34,6 @@ (define-module (guix scripts system reconfigure)
#:use-module (guix monads)
#:use-module (guix store)
#:use-module ((guix self) #:select (make-config.scm))
#:autoload (guix describe) (current-profile)
#:use-module (guix channels)
#:autoload (guix git) (update-cached-checkout)
#:use-module (guix i18n)
@ -372,8 +371,7 @@ (define* (check-forward-update #:optional
'guix system describe' by default) and the target commit (as returned by 'guix
describe')."
(define new
(or (and=> (current-profile) profile-channels)
'()))
((@ (guix describe) current-channels)))
(when (null? current-channels)
(warning (G_ "cannot determine provenance for current system~%")))