Merge branch 'master' into staging
This commit is contained in:
		
						commit
						c4ce54055a
					
				
					 67 changed files with 47901 additions and 2122 deletions
				
			
		| 
						 | 
				
			
			@ -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	\
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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.
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -83,11 +83,13 @@ turn doesn't take any constant overhead into account, force a 1-MiB minimum."
 | 
			
		|||
        (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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										102
									
								
								gnu/image.scm
									
										
									
									
									
								
							
							
						
						
									
										102
									
								
								gnu/image.scm
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -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 @@
 | 
			
		|||
  #: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 @@
 | 
			
		|||
            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 @@ that is not in SET, mentioning FIELD in the error message."
 | 
			
		|||
        (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 @@ that is not in SET, mentioning FIELD in the error message."
 | 
			
		|||
  (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 @@ that is not in SET, mentioning FIELD in the error message."
 | 
			
		|||
;;; 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 @@ that is not in SET, mentioning FIELD in the error message."
 | 
			
		|||
;;;
 | 
			
		||||
 | 
			
		||||
(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)))
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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	\
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2504,14 +2504,14 @@ characters can be replaced as well, as can UTF-8 characters.")
 | 
			
		|||
(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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										10509
									
								
								gnu/packages/aux-files/linux-libre/5.19-arm.conf
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										10509
									
								
								gnu/packages/aux-files/linux-libre/5.19-arm.conf
									
										
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load diff
											
										
									
								
							
							
								
								
									
										10995
									
								
								gnu/packages/aux-files/linux-libre/5.19-arm64.conf
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										10995
									
								
								gnu/packages/aux-files/linux-libre/5.19-arm64.conf
									
										
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load diff
											
										
									
								
							
							
								
								
									
										11418
									
								
								gnu/packages/aux-files/linux-libre/5.19-i686.conf
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										11418
									
								
								gnu/packages/aux-files/linux-libre/5.19-i686.conf
									
										
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load diff
											
										
									
								
							
							
								
								
									
										11546
									
								
								gnu/packages/aux-files/linux-libre/5.19-x86_64.conf
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										11546
									
								
								gnu/packages/aux-files/linux-libre/5.19-x86_64.conf
									
										
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load diff
											
										
									
								
							| 
						 | 
				
			
			@ -8697,6 +8697,54 @@ to identify differentially methylated regions in epigenetic epidemiology
 | 
			
		|||
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")
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -10936,7 +10936,7 @@ in an easily configurable manner.")
 | 
			
		|||
(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 @@ in an easily configurable manner.")
 | 
			
		|||
                                  "/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 @@ including:
 | 
			
		|||
    (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
									
								
							
							
						
						
									
										224
									
								
								gnu/packages/bqn.scm
									
										
									
									
									
										Normal 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))))
 | 
			
		||||
| 
						 | 
				
			
			@ -325,6 +325,19 @@ resembles Python.")
 | 
			
		|||
              (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")
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1023,7 +1023,7 @@ Google's C++ code base.")
 | 
			
		|||
  (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 @@ Google's C++ code base.")
 | 
			
		|||
                (file-name (git-file-name name version))
 | 
			
		||||
                (sha256
 | 
			
		||||
                 (base32
 | 
			
		||||
                  "0g9rbhk3mwjdfxk7cscd04vm8fphd5flz9yykpgvyy1nwa34zk3x"))))
 | 
			
		||||
                  "1kyvlpdkkh8spqrdh9yvq2d4ri46hwxljicy3i9mp7mk2rqcnyvj"))))
 | 
			
		||||
      (arguments
 | 
			
		||||
       (substitute-keyword-arguments (package-arguments base)
 | 
			
		||||
         ((#:configure-flags flags)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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 @@ functionality and without weak references.")
 | 
			
		|||
  (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 @@ functionality and without weak references.")
 | 
			
		|||
        (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))))))
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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 @@ and a Python library.")
 | 
			
		|||
(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 @@ and a Python library.")
 | 
			
		|||
               (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 @@ and a Python library.")
 | 
			
		|||
         (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 @@ and a Python library.")
 | 
			
		|||
                               (,(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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -54,6 +54,7 @@
 | 
			
		|||
  #: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)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -44,6 +44,7 @@
 | 
			
		|||
  #: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)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -3015,7 +3015,7 @@ or XEmacs.")
 | 
			
		|||
(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 @@ or XEmacs.")
 | 
			
		|||
       (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 @@ of bibliographic references.")
 | 
			
		|||
(define-public emacs-corfu
 | 
			
		||||
  (package
 | 
			
		||||
    (name "emacs-corfu")
 | 
			
		||||
    (version "0.26")
 | 
			
		||||
    (version "0.27")
 | 
			
		||||
    (source
 | 
			
		||||
     (origin
 | 
			
		||||
       (method git-fetch)
 | 
			
		||||
| 
						 | 
				
			
			@ -3257,7 +3257,7 @@ of bibliographic references.")
 | 
			
		|||
             (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 @@ which is restored where possible when the file is loaded again.")
 | 
			
		|||
(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 @@ which is restored where possible when the file is loaded again.")
 | 
			
		|||
             (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 @@ repetitions for example).")
 | 
			
		|||
(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 @@ repetitions for example).")
 | 
			
		|||
         (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 @@ actually changing the buffer's text.")
 | 
			
		|||
    (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 @@ well as an option for visually flashing evaluated s-expressions.")
 | 
			
		|||
(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 @@ and preferred services can easily be configured.")
 | 
			
		|||
(define-public emacs-vertico
 | 
			
		||||
  (package
 | 
			
		||||
    (name "emacs-vertico")
 | 
			
		||||
    (version "0.25")
 | 
			
		||||
    (version "0.26")
 | 
			
		||||
    (source
 | 
			
		||||
     (origin
 | 
			
		||||
       (method git-fetch)
 | 
			
		||||
| 
						 | 
				
			
			@ -31580,7 +31582,7 @@ and preferred services can easily be configured.")
 | 
			
		|||
             (commit version)))
 | 
			
		||||
       (file-name (git-file-name name version))
 | 
			
		||||
       (sha256
 | 
			
		||||
        (base32 "13lgvaxbbgc08q5dc2pmagnvg1hr2vvl6c9qxvpwqcj06kw9b5ln"))))
 | 
			
		||||
        (base32 "16bv4pfc3k37dqyj1va3cb24db36pn8hsazk3ak4xhrgf2q5l548"))))
 | 
			
		||||
    (build-system emacs-build-system)
 | 
			
		||||
    (arguments
 | 
			
		||||
     `(#:phases
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -36,21 +36,43 @@
 | 
			
		|||
  #: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 @@ assembler, disassembler, and debugging tools for the Linux kernel b43 wireless
 | 
			
		|||
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")
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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, 2020–2022 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 @@
 | 
			
		|||
  #: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-public appstream
 | 
			
		||||
  (package
 | 
			
		||||
    (name "appstream")
 | 
			
		||||
    (version "0.13.1")
 | 
			
		||||
    (version "0.15.5")
 | 
			
		||||
    (source
 | 
			
		||||
     (origin
 | 
			
		||||
       (method url-fetch)
 | 
			
		||||
| 
						 | 
				
			
			@ -134,69 +136,44 @@
 | 
			
		|||
                       "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 @@ specifications for things like an unified software metadata database, screenshot
 | 
			
		|||
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 @@ protocol either in Wayland core, or some other protocol in 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")
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -509,16 +509,16 @@ formats such as PNG.")
 | 
			
		|||
(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
											
										
									
								
							| 
						 | 
				
			
			@ -3086,6 +3086,36 @@ pre-alpha code.")
 | 
			
		|||
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 @@ parameters, which  define* and lambda* special forms")
 | 
			
		|||
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"))
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -304,14 +304,14 @@ to @code{cabal repl}).")
 | 
			
		|||
(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 @@ to @code{cabal repl}).")
 | 
			
		|||
             ;; 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 @@ to @code{cabal repl}).")
 | 
			
		|||
             (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 @@ to @code{cabal repl}).")
 | 
			
		|||
                                       "/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 @@ to @code{cabal repl}).")
 | 
			
		|||
               (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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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 @@ expose it from another module in the hierarchy.
 | 
			
		|||
@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")
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -333,7 +333,17 @@ line for tracing control, a @code{lttng-ctl} library for tracing control and a
 | 
			
		|||
               (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 @@ line for tracing control, a @code{lttng-ctl} library for tracing control and a
 | 
			
		|||
      bash
 | 
			
		||||
      coreutils                         ; cat + rm
 | 
			
		||||
      gawk
 | 
			
		||||
      gcc-toolchain                     ; objdump + ldconfig
 | 
			
		||||
      file
 | 
			
		||||
      perf
 | 
			
		||||
      perl
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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 @@ common build settings used in software produced by the KDE community.")
 | 
			
		|||
    (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 @@ infrastructure.")
 | 
			
		|||
           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 @@ other special events for a geographical region.")
 | 
			
		|||
                "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 @@ integration with a custom editor as well as a ready-to-use
 | 
			
		|||
    (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 @@ configuration pages, message boxes, and password requests.")
 | 
			
		|||
           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 @@ feel.")
 | 
			
		|||
    (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 @@ need.")
 | 
			
		|||
    (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 @@ offers abstract functionality to deal with scripts.")
 | 
			
		|||
    ;; 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
									
								
							
							
						
						
									
										1558
									
								
								gnu/packages/kde-games.scm
									
										
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load diff
											
										
									
								
							| 
						 | 
				
			
			@ -415,38 +415,6 @@ multiple torrents at the same time and comes with extended features to make it
 | 
			
		|||
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")
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -106,7 +106,8 @@ This package is part of the KDE multimedia module.")
 | 
			
		|||
    (native-inputs
 | 
			
		||||
     (list extra-cmake-modules kdoctools))
 | 
			
		||||
    (inputs
 | 
			
		||||
     (list kconfig
 | 
			
		||||
     (list bash-minimal
 | 
			
		||||
           kconfig
 | 
			
		||||
           kconfigwidgets
 | 
			
		||||
           kcoreaddons
 | 
			
		||||
           kcrash
 | 
			
		||||
| 
						 | 
				
			
			@ -246,14 +247,13 @@ This package is part of the KDE multimedia module.")
 | 
			
		|||
        (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 @@ camera.  Use it to take pictures and make videos to share.")
 | 
			
		|||
       (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 @@ camera.  Use it to take pictures and make videos to share.")
 | 
			
		|||
           kconfigwidgets
 | 
			
		||||
           kcrash
 | 
			
		||||
           kdbusaddons
 | 
			
		||||
           kdoctools
 | 
			
		||||
           kglobalaccel
 | 
			
		||||
           ki18n
 | 
			
		||||
           kiconthemes
 | 
			
		||||
| 
						 | 
				
			
			@ -639,7 +638,7 @@ This package is part of the KDE multimedia module.")
 | 
			
		|||
                    "-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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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 @@
 | 
			
		|||
  #: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 @@
 | 
			
		|||
                      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 @@ Akonadi PIM data server.  It uses Xapian for indexing and querying.")
 | 
			
		|||
           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 @@ one of the APIs mentioned above.")
 | 
			
		|||
           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 @@ calendaring applications.")
 | 
			
		|||
           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 @@ package.")
 | 
			
		|||
           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 @@ cryptography to the contents of the clipboard.")
 | 
			
		|||
           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 @@ easier to do so.")
 | 
			
		|||
     (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 @@ protocol for querying and modifying directory services running over TCP/IP.")
 | 
			
		|||
             (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 @@ and retrieving certificates from LDAP servers.")
 | 
			
		|||
             (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 @@ e-mail client programs into KMail and KDE PIM.")
 | 
			
		|||
           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 @@ mail transport.")
 | 
			
		|||
     (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 @@ using a Qt/KMime C++ API.")
 | 
			
		|||
           qtdeclarative-5
 | 
			
		||||
           qtwebchannel-5
 | 
			
		||||
           qtwebengine-5
 | 
			
		||||
           qtwebkit
 | 
			
		||||
           sonnet))
 | 
			
		||||
    (arguments
 | 
			
		||||
     `(#:tests? #f     ;TODO many test fail for quite different reasons
 | 
			
		||||
| 
						 | 
				
			
			@ -1374,7 +1350,7 @@ kwebengineviewer.")
 | 
			
		|||
               (("(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 @@ information in non-ASCII character sets.")
 | 
			
		|||
           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 @@ Features:
 | 
			
		|||
           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 @@ application \"Parts\" to be embedded as a Kontact component (or plugin).")
 | 
			
		|||
             (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 @@ Virtual Contact File}) files to the KPeople contact management library.")
 | 
			
		|||
    (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 @@ Virtual Contact File}) files to the KPeople contact management library.")
 | 
			
		|||
           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 @@ standard protocols for e-mail transmission.")
 | 
			
		|||
           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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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 @@
 | 
			
		|||
  #: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 @@ directly, you need to tell @code{ssh-add} about it.  @code{ssh-add} will then
 | 
			
		|||
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")
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -103,7 +103,7 @@
 | 
			
		|||
           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 @@ well as CD-ROM images.")
 | 
			
		|||
           (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 @@ Kate's features include:
 | 
			
		|||
           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 @@ artists to web-designers to people with low vision.")
 | 
			
		|||
           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 @@ whom pressing buttons hurts.")
 | 
			
		|||
           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 @@ sentences to be re-spoken.")
 | 
			
		|||
           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 @@ to save the times and resume them later.")
 | 
			
		|||
           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 @@ great on your desktop.")
 | 
			
		|||
     (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 @@ either be created or generated from a image.")
 | 
			
		|||
           (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 @@ redone.")
 | 
			
		|||
           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 @@ remind you to take a break now and then.")
 | 
			
		|||
           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 @@ Features:
 | 
			
		|||
           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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -173,8 +173,7 @@ This package contains GUI widgets for baloo.")
 | 
			
		|||
                                       (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 @@ browser for easy news reading.")
 | 
			
		|||
                  `("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 @@ projects.")
 | 
			
		|||
           (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 @@ communicate with each other.  Here's a few things KDE Connect can do:
 | 
			
		|||
           (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 @@ Python, PHP, and Perl.")
 | 
			
		|||
             "-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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -425,13 +425,14 @@ specifications in the document.")
 | 
			
		|||
(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 @@ specifications in the document.")
 | 
			
		|||
                    (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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
 | 
			
		|||
;; The current "stable" kernels. That is, the most recently released major
 | 
			
		||||
;; versions that are still supported upstream.
 | 
			
		||||
 | 
			
		||||
(define-public linux-libre-5.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 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
 | 
			
		|||
  (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 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
 | 
			
		|||
                            (%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 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
 | 
			
		|||
   (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 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
 | 
			
		|||
    (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 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
 | 
			
		|||
    (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 @@ It has been modified to remove all non-free binary blobs.")
 | 
			
		|||
;;; 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 @@ emulates the behaviour of Gunnar Monell's older fbgrab utility.")
 | 
			
		|||
(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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -52,6 +52,7 @@
 | 
			
		|||
  #: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)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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 @@
 | 
			
		|||
 | 
			
		||||
;; 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")
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -22,6 +22,7 @@
 | 
			
		|||
  #: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))
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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 @@ replacement.")
 | 
			
		|||
(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 @@ as phones, embedded computers or microcontrollers.")
 | 
			
		|||
    ;; 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"))
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -136,6 +136,7 @@
 | 
			
		|||
  #: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)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -63,14 +63,14 @@
 | 
			
		|||
(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))
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -36,6 +36,7 @@
 | 
			
		|||
  #: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 @@
 | 
			
		|||
  #: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 @@ encoder in C++.  The developer using protozero has to manually translate the
 | 
			
		|||
              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")
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2287,6 +2287,79 @@ Python objects.  It tries to use the objects available in the standard
 | 
			
		|||
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")
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2796,14 +2796,14 @@ audio playback capability for Python 3 on OSX, Windows, and Linux.")
 | 
			
		|||
(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 @@ both in documentation and via Python’s warnings system, as well as the
 | 
			
		|||
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 @@ Included are implementations of:
 | 
			
		|||
@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 @@ very small subset the Python stubs contained in the complete @code{typeshed}
 | 
			
		|||
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")
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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 @@ data.")
 | 
			
		|||
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))))
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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 @@ browsers to backend services.")
 | 
			
		|||
       (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 @@ browsers to backend services.")
 | 
			
		|||
                                (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 @@ browsers to backend services.")
 | 
			
		|||
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")
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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 @@ classic Web2C implementation of TeX and uses the TeXLive distribution
 | 
			
		|||
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")
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -541,7 +541,7 @@ directory.")
 | 
			
		|||
(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 @@ directory.")
 | 
			
		|||
                              version ".tar.lz"))
 | 
			
		||||
              (sha256
 | 
			
		||||
               (base32
 | 
			
		||||
                "040gyk3n3yp8i30ngdg97n3083g8b6laky2nlh10jqcyjdd550d6"))))
 | 
			
		||||
                "1q985nd3birr5pny74915x098fisa6llas3ijgf1b4gdz5717nzz"))))
 | 
			
		||||
    (build-system gnu-build-system)
 | 
			
		||||
    (native-inputs
 | 
			
		||||
     `(("lzip" ,lzip)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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 @@
 | 
			
		|||
  #: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 @@ pipe and compress.")
 | 
			
		|||
      (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")
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -9680,6 +9680,28 @@ section.
 | 
			
		|||
@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"
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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 @@ scripts/input/X11/C/Shell/HTML/Dired): 49KB.
 | 
			
		|||
(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 @@ scripts/input/X11/C/Shell/HTML/Dired): 49KB.
 | 
			
		|||
              (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 @@ scripts/input/X11/C/Shell/HTML/Dired): 49KB.
 | 
			
		|||
    (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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2460,7 +2460,7 @@ from Subversion to any supported Distributed Version Control System (DVCS).")
 | 
			
		|||
(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 @@ from Subversion to any supported Distributed Version Control System (DVCS).")
 | 
			
		|||
                    version "/tig-" version ".tar.gz"))
 | 
			
		||||
              (sha256
 | 
			
		||||
               (base32
 | 
			
		||||
                "0pwn7mlfnd5ngcbagjs9vsr7jgmia8676p0i91vvfl4v6qrmzfsh"))
 | 
			
		||||
                "0xna55y1r1jssdmrzpinv96p7w00w9hn39q5l3d8l299dg4bmiyv"))
 | 
			
		||||
              (modules '((guix build utils)))
 | 
			
		||||
              (snippet
 | 
			
		||||
               '(begin
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1092,7 +1092,7 @@ H.264 (MPEG-4 AVC) video streams.")
 | 
			
		|||
(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 @@ H.264 (MPEG-4 AVC) video streams.")
 | 
			
		|||
         (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 @@ H.264 (MPEG-4 AVC) video streams.")
 | 
			
		|||
         (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 @@ H.264 (MPEG-4 AVC) video streams.")
 | 
			
		|||
               (("'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 @@ H.264 (MPEG-4 AVC) video streams.")
 | 
			
		|||
           perl-uri-escape
 | 
			
		||||
           wget
 | 
			
		||||
           xdg-utils
 | 
			
		||||
           youtube-dl
 | 
			
		||||
           yt-dlp))
 | 
			
		||||
    (propagated-inputs
 | 
			
		||||
     (list dconf))
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1197,3 +1197,31 @@ public keys and can roam across IP addresses.")
 | 
			
		|||
     "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+)))
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -468,7 +468,7 @@ interface.")
 | 
			
		|||
(define-public qutebrowser
 | 
			
		||||
  (package
 | 
			
		||||
    (name "qutebrowser")
 | 
			
		||||
    (version "2.5.1")
 | 
			
		||||
    (version "2.5.2")
 | 
			
		||||
    (source
 | 
			
		||||
     (origin
 | 
			
		||||
       (method url-fetch)
 | 
			
		||||
| 
						 | 
				
			
			@ -476,7 +476,7 @@ interface.")
 | 
			
		|||
                           "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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -89,7 +89,7 @@
 | 
			
		|||
(define-public libxmlb
 | 
			
		||||
  (package
 | 
			
		||||
    (name "libxmlb")
 | 
			
		||||
    (version "0.3.8")
 | 
			
		||||
    (version "0.3.9")
 | 
			
		||||
    (source
 | 
			
		||||
     (origin
 | 
			
		||||
       (method git-fetch)
 | 
			
		||||
| 
						 | 
				
			
			@ -99,9 +99,7 @@
 | 
			
		|||
         (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))
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -127,7 +127,7 @@
 | 
			
		|||
          (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-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
									
								
							
							
						
						
									
										270
									
								
								gnu/tests/image.scm
									
										
									
									
									
										Normal 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))))
 | 
			
		||||
| 
						 | 
				
			
			@ -128,6 +128,7 @@
 | 
			
		|||
            packages->manifest
 | 
			
		||||
            ca-certificate-bundle
 | 
			
		||||
            %default-profile-hooks
 | 
			
		||||
            %manifest-format-version
 | 
			
		||||
            profile-derivation
 | 
			
		||||
            profile-search-paths
 | 
			
		||||
            load-profile
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -145,6 +145,7 @@ denote ranges as interpreted by 'matching-generations'."
 | 
			
		|||
                                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 @@ hooks\" run when building the profile."
 | 
			
		|||
                     (profile-derivation manifest
 | 
			
		||||
                                         #:allow-collisions? allow-collisions?
 | 
			
		||||
                                         #:hooks (if bootstrap? '() hooks)
 | 
			
		||||
                                         #:format-version format-version
 | 
			
		||||
                                         #:locales? (not bootstrap?))))
 | 
			
		||||
         (prof     (derivation->output-path prof-drv)))
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -452,6 +452,9 @@ true, display what would be built without actually building it."
 | 
			
		|||
  (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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -41,6 +41,7 @@
 | 
			
		|||
  #: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 @@ resulting from command-line parsing."
 | 
			
		|||
                         (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)))
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -34,7 +34,6 @@
 | 
			
		|||
  #: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 @@ currently-deployed commit (from CURRENT-CHANNELS, which is as returned by
 | 
			
		|||
'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~%")))
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Reference in a new issue