diff options
author | Marius Bakke <marius@gnu.org> | 2022-08-27 00:17:57 +0200 |
---|---|---|
committer | Marius Bakke <marius@gnu.org> | 2022-08-27 00:17:57 +0200 |
commit | 1fd262e8d36b4477556ca06b569d39f5604c7176 (patch) | |
tree | 5b0c93931c22787df1f56858c827abfd0c2a02f8 | |
parent | c1a4ef98932799adbd278068fa4fdd8c24fff714 (diff) | |
parent | 9f7236e3baf0523c53193c1836ed888e63449f50 (diff) | |
download | guix-1fd262e8d36b4477556ca06b569d39f5604c7176.tar guix-1fd262e8d36b4477556ca06b569d39f5604c7176.tar.gz |
Merge branch 'master' into staging
142 files changed, 4803 insertions, 2835 deletions
diff --git a/doc/guix.texi b/doc/guix.texi index 86cfe7d49c..7bce8a567c 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -586,7 +586,7 @@ great time to try it and get involved! @item riscv64-linux little-endian 64-bit RISC-V processors, specifically RV64GC, and -Linux-Libre kernel. This playform is available as a "technology preview": +Linux-Libre kernel. This platform is available as a "technology preview": although it is supported, substitutes are not yet available from the build farm (@pxref{Substitutes}), and some packages may fail to build (@pxref{Tracking Bugs and Patches}). That said, the Guix community is @@ -7615,7 +7615,7 @@ procedure returns. Return the list of inputs required by @var{package} for development purposes on @var{system}. When @var{target} is true, return the inputs needed to cross-compile @var{package} from @var{system} to -@var{triplet}, where @var{triplet} is a triplet such as +@var{target}, where @var{target} is a triplet such as @code{"aarch64-linux-gnu"}. Note that the result includes both explicit inputs and implicit @@ -15809,8 +15809,8 @@ cross-compilation, because every instruction needs to be emulated. The availability of substitutes for the architecture targeted by the @code{--system} option can mitigate this problem. An other way to work -around it is to install GNU Guix on a machine which CPU is supporting -the targeted instruction set, an set it up as an offload machine +around it is to install GNU Guix on a machine whose CPU supports +the targeted instruction set, and set it up as an offload machine (@pxref{Daemon Offload Setup}). @node System Configuration @@ -16430,9 +16430,13 @@ Manual}, for more information on these flags. @item @code{options} (default: @code{#f}) This is either @code{#f}, or a string denoting mount options passed to the file system driver. @xref{Mount-Unmount-Remount,,, libc, The GNU C -Library Reference Manual}, for details and run @command{man 8 mount} for -options for various file systems. Note that the -@code{file-system-options->alist} and @code{alist->file-system-options} +Library Reference Manual}, for details. + +Run @command{man 8 mount} for options for various file systems, but +beware that what it lists as file-system-independent ``mount options'' are +in fact flags, and belong in the @code{flags} field described above. + +The @code{file-system-options->alist} and @code{alist->file-system-options} procedures from @code{(gnu system file-systems)} can be used to convert file system options given as an association list to the string representation, and vice-versa. @@ -18555,6 +18559,13 @@ the 'root' account has just been created. @item @code{terminals} (default: @code{'()}) List of @code{greetd-terminal-configuration} per terminal for which @code{greetd} should be started. + +@item @code{greeter-supplementary-groups} (default: @code{'()}) +List of groups which should be added to @code{greeter} user. For instance: +@lisp +(greeter-supplementary-groups '("seat" "video")) +@end lisp +Note that this example will fail if @code{seat} group does not exist. @end table @end deftp @@ -19842,7 +19853,7 @@ network. A specific port value can be provided by appending the @code{:PORT} suffix. By default, it uses the Jami bootstrap nodes, but any host can be specified here. It's also possible to disable bootstrapping by explicitly setting this field to the -@code{'unset} value. +@code{%unset-value} value. @item @code{port} (default: @code{4222}) (type: maybe-number) The UDP port to bind to. When left unspecified, an available port is @@ -23185,6 +23196,30 @@ input), without requiring the applications needing access to be root. %base-services) @end lisp + +@code{seatd} operates over a UNIX domain socket, with @code{libseat} +providing the client side of the protocol. Applications that acquire +access to the shared resources via @code{seatd} (e.g. @code{sway}) +need to be able to talk to this socket. +This can be achieved by adding the user they run under to the group +owning @code{seatd}'s socket (usually ``seat''), like so: + +@lisp +(user-account + (name "alice") + (group "users") + (supplementary-groups '("wheel" ; allow use of sudo, etc. + "seat" ; seat management + "audio" ; sound card + "video" ; video devices such as webcams + "cdrom")) ; the good ol' CD-ROM + (comment "Bob's sister")) +@end lisp + +Depending on your setup, you will have to not only add regular users, +but also system users to this group. For instance, some greetd greeters +require graphics and therefore also need to negotiate with seatd. + @end defvr @deftp {Data Type} seatd-configuration @@ -23194,10 +23229,7 @@ Configuration record for the seatd daemon service. @item @code{seatd} (default: @code{seatd}) The seatd package to use. -@item @code{user} (default: @samp{"root"}) -User to own the seatd socket. - -@item @code{group} (default: @samp{"users"}) +@item @code{group} (default: @samp{"seat"}) Group to own the seatd socket. @item @code{socket} (default: @samp{"/run/seatd.sock"}) @@ -23335,7 +23367,7 @@ Script file to use as @file{default.pa}. In case the directive pointing to @file{/etc/pulse/default.pa.d} is appended to the provided script. -@item @code{extra-script-files} (default: @code{'())}) +@item @code{extra-script-files} (default: @code{'()}) A list of file-like objects defining extra PulseAudio scripts to run at the initialization of the @command{pulseaudio} daemon, after the main @code{script-file}. The scripts are deployed to the @@ -31358,7 +31390,7 @@ Each parameter definition is preceded by its type; for example, @samp{boolean foo} indicates that the @code{foo} parameter should be specified as a boolean. Types starting with @code{maybe-} denote parameters that won't show up in TLP config file when their value is -left unset, or is explicitly set to the @code{'unset} value. +left unset, or is explicitly set to the @code{%unset-value} value. @c The following documentation was initially generated by @c (generate-tlp-documentation) in (gnu services pm). Manually maintained @@ -36662,9 +36694,9 @@ Set the mount @emph{options} of the root file system. It overrides the @item fsck.mode=@var{mode} Whether to check the @var{root} file system for errors before mounting it. @var{mode} is one of @code{skip} (never check), @code{force} (always -check), or @code{auto} to respect the root file-system object's 'check?' -setting (@pxref{File Systems}) and run a full scan only if the file system -was not cleanly shut down. +check), or @code{auto} to respect the root @code{<file-system>} object's +@code{check?} setting (@pxref{File Systems}) and run a full scan only if +the file system was not cleanly shut down. @code{auto} is the default if this option is not present or if @var{mode} is not one of the above. @@ -38928,7 +38960,7 @@ In some cases multiple different configuration records might be defined in the same file, but their serializers for the same type might have to be different, because they have different configuration formats. For example, the @code{serialize-boolean} procedure for the Getmail service -would have to be different for the one for the Transmission service. To +would have to be different from the one for the Transmission service. To make it easier to deal with this situation, one can specify a serializer prefix by using the @code{prefix} literal in the @code{define-configuration} form. This means that one doesn't have to @@ -38979,8 +39011,7 @@ macro which is a shorthand of this. Sometimes a field should not be serialized if the user doesn’t specify a value. To achieve this, you can use the @code{define-maybe} macro to define a ``maybe type''; if the value of a maybe type is left unset, or -is set to the @code{'unset} value, then it will not be -serialized. +is set to the @code{%unset-value} value, then it will not be serialized. When defining a ``maybe type'', the corresponding serializer for the regular type will be used by default. For example, a field of type @@ -38999,7 +39030,7 @@ to be a string, or left unspecified. (name ;; If set to a string, the `serialize-string' procedure will be used ;; to serialize the string. Otherwise this field is not serialized. - maybe-string ; equivalent to (maybe-string *unspecified*) + maybe-string "The name of this module.")) @end lisp @@ -39010,7 +39041,7 @@ serializer name by using the @code{prefix} literal. (define-maybe integer (prefix baz-)) -(define (baz-serialize-interger field-name value) +(define (baz-serialize-integer field-name value) @dots{}) @end lisp @@ -39030,6 +39061,11 @@ whether its value is set or not. @end lisp @end deffn +@deffn (Scheme Procedure) maybe-value-set? @var{value} +Predicate to check whether a user explicitly specified the value of a +maybe field. +@end deffn + @deffn {Scheme Procedure} serialize-configuration @var{configuration} @ @var{fields} Return a G-expression that contains the values corresponding to the @@ -39237,7 +39273,7 @@ software, configuration, and state. Software in mainstream distros are usually installed system-wide, but with GNU Guix most software packages can be installed on a per-user basis without needing root privileges, and are thus considered part of the user’s @dfn{home environment}. -Packages on their own not very useful in many cases, because often they +Packages on their own are not very useful in many cases, because often they require some additional configuration, usually config files that reside in @env{XDG_CONFIG_HOME} (@file{~/.config} by default) or other directories. Everything else can be considered state, like media files, @@ -39397,12 +39433,12 @@ specified) will ignore @file{~/.profile}, even if @file{~/.zprofile} doesn't exist. To make your shell respect @file{~/.profile}, add @code{. ~/.profile} or -@code{source ~/profile} to the startup file for the login shell. In +@code{source ~/.profile} to the startup file for the login shell. In case of Bash, it is @file{~/.bash_profile}, and in case of Zsh, it is @file{~/.zprofile}. @quotation Note -This step is only required if your shell is NOT managed by Guix Home. +This step is only required if your shell is @emph{not} managed by Guix Home. Otherwise, everything will be done automatically. @end quotation @@ -39494,7 +39530,7 @@ export _JAVA_AWT_WM_NONREPARENTING @quotation Note Make sure that module @code{(gnu packages shells)} is imported with @code{use-modules} or any other way, this namespace contains the -definition of the @code{zsh} packages, which is used in the example +definition of the @code{zsh} package, which is used in the example above. @end quotation @@ -39558,12 +39594,95 @@ users @emph{should not} use this service, in most cases it's better to extend the required command using the appropriate service type. @end defvr +@defvr {Scheme Variable} home-files-service-type +The service of this type allows to specify a list of files, which will +go to @file{~/.guix-home/files}, usually this directory contains +configuration files (to be more precise it contains symlinks to files in +@file{/gnu/store}), which should be placed in @file{$XDG_CONFIG_DIR} or +in rare cases in @file{$HOME}. It accepts extension values in the +following format: + +@lisp +`((".sway/config" ,sway-file-like-object) + (".tmux.conf" ,(local-file "./tmux.conf"))) +@end lisp + +Each nested list contains two values: a subdirectory and file-like +object. After building a home environment @file{~/.guix-home/files} +will be populated with apropiate content and all nested directories will +be created accordingly, however, those files won't go any further until +some other service will do it. By default a +@code{home-symlink-manager-service-type}, which creates necessary +symlinks in home folder to files from @file{~/.guix-home/files} and +backs up already existing, but clashing configs and other things, is a +part of essential home services (enabled by default), but it's possible +to use alternative services to implement more advanced use cases like +read-only home. Feel free to experiment and share your results. +@end defvr + +@defvr {Scheme Variable} home-xdg-configuration-files-service-type +The service is very similiar to @code{home-files-service-type} (and +actually extends it), but used for defining files, which will go to +@file{~/.guix-home/files/.config}, which will be symlinked to +@file{$XDG_CONFIG_DIR} by @code{home-symlink-manager-service-type} (for +example) during activation. It accepts extension values in the +following format: + +@lisp +`(("sway/config" ,sway-file-like-object) + ;; -> ~/.guix-home/files/.config/sway/config + ;; -> $XDG_CONFIG_DIR/sway/config (by symlink-manager) + ("tmux/tmux.conf" ,(local-file "./tmux.conf"))) +@end lisp +@end defvr + @defvr {Scheme Variable} home-activation-service-type The service of this type generates a guile script, which runs on every @command{guix home reconfigure} invocation or any other action, which leads to the activation of the home environment. @end defvr +@defvr {Scheme Variable} home-symlink-manager-service-type +The service of this type generates a guile script, which will be +executed during activation of home environment, and do a few following +steps: + +@enumerate +@item +Reads the content of @file{files/} directory of current and pending home +environments. + +@item +Cleans up all symlinks created by symlink-manager on previous +activation. Also, sub-directories, which become empty also will be +cleaned up. + +@item +Creates new symlinks the following way: It looks @file{files/} directory +(usually defined with @code{home-files-service-type}, +@code{home-xdg-configuration-files-service-type} and maybe some others), +takes the files from @file{files/.config/} subdirectory and put +respective links in @env{XDG_CONFIG_DIR}. For example symlink for +@file{files/.config/sway/config} will end up in +@file{$XDG_CONFIG_DIR/sway/config}. The rest files in @file{files/} +outside of @file{files/.config/} subdirectory will be treated slightly +different: symlink will just go to @file{$HOME}. +@file{files/.some-program/config} will end up in +@file{$HOME/.some-program/config}. + +@item +If some sub-directories are missing, they will be created. + +@item +If there is a clashing files on the way, they will be backed up. + +@end enumerate + +symlink-manager is a part of essential home services and is enabled and +used by default. +@end defvr + + @node Shells Home Services @subsection Shells @@ -39633,7 +39752,7 @@ added after the contents of the @code{bash-profile} field. Association list of aliases to set for the Bash session. The aliases will be defined after the contents of the @code{bashrc} field has been put in the @file{.bashrc} file. The alias will automatically be quoted, -so something line this: +so something like this: @lisp '(("ls" . "ls -alF")) @@ -39667,7 +39786,7 @@ process for example). @end deftp You can extend the Bash service by using the @code{home-bash-extension} -configuration record, whose fields most mirror that of +configuration record, whose fields must mirror that of @code{home-bash-configuration} (@pxref{home-bash-configuration}). The contents of the extensions will be added to the end of the corresponding Bash configuration files (@pxref{Bash Startup Files,,, bash, The GNU diff --git a/etc/news.scm b/etc/news.scm index 493685a476..b595173050 100644 --- a/etc/news.scm +++ b/etc/news.scm @@ -17,6 +17,7 @@ ;; Copyright © 2021 Xinglu Chen <public@yoctocell.xyz> ;; Copyright © 2021 Andrew Tropin <andrew@trop.in> ;; Copyright © 2021 Jonathan Brielmaier <jonathan.brielmaier@web.de> +;; Copyright © 2022 Thiago Jung Bauermann <bauermann@kolabnow.com> ;; ;; Copying and distribution of this file, with or without modification, are ;; permitted in any medium without royalty provided the copyright notice and @@ -29,7 +30,8 @@ (title (en "New @option{--whole-file} option for @command{guix style}") (de "Neue Option @option{--whole-file} für @command{guix style}") - (fr "Nouvelle option @option{--whole-file} pour @command{guix style}")) + (fr "Nouvelle option @option{--whole-file} pour @command{guix style}") + (pt "Nova opção @option{--whole-file} para @command{guix style}")) (body (en "The @command{guix style} command has a new @option{--whole-file} option: instead of formatting individual package definitions, this option lets @@ -52,7 +54,14 @@ s'avérer utile par exemple pour mettre en forme son fichier de configuration du système d'exploitation. Lancer @command{info \"(guix.fr) Invoquer guix style\"} pour plus -d'informations."))) +d'informations.") + (pt "O comando @command{guix style} tem uma nova opção +@option{--whole-file}: ao invés de formatar definições de pacote +individualmente, esta opção permite a reformatação de arquivos Scheme por +inteiro. Você pode querer usá-la para formatar seu arquivo de configuração do +sistema operacional, por exemplo. + +Execute @command{info \"(guix) Invoking guix style\"} para mais informações."))) (entry (commit "2ec7ab2610eb67e26dab52b671eb29e46f64ea0f") (title diff --git a/etc/time-travel-manifest.scm b/etc/time-travel-manifest.scm index f09659d20d..ab890dd903 100644 --- a/etc/time-travel-manifest.scm +++ b/etc/time-travel-manifest.scm @@ -42,7 +42,7 @@ ;; concurrent accesses are unsafe. (mparameterize %store-monad ((%repository-cache-directory (string-append (%repository-cache-directory) - "/time-travel"))) + "/time-travel/" system))) (return (mkdir-p (%repository-cache-directory))) (latest-channel-derivation channels))))) diff --git a/gnu/bootloader.scm b/gnu/bootloader.scm index 9cf5457873..70e1836179 100644 --- a/gnu/bootloader.scm +++ b/gnu/bootloader.scm @@ -69,7 +69,6 @@ bootloader-configuration-terminal-inputs bootloader-configuration-serial-unit bootloader-configuration-serial-speed - bootloader-configuration-additional-configuration %bootloaders lookup-bootloader-by-name diff --git a/gnu/ci.scm b/gnu/ci.scm index 9cc3a1a81f..2c51ea7387 100644 --- a/gnu/ci.scm +++ b/gnu/ci.scm @@ -254,37 +254,40 @@ otherwise use the IMAGE name." (parameterize ((%graft? #f)) (derivation->job name drv)))) -(define (image-jobs store system) +(define* (image-jobs store system + #:key source commit) "Return a list of jobs that build images for SYSTEM." (define MiB (expt 2 20)) - (if (member system %guix-system-supported-systems) - `(,(image->job store - (image - (inherit efi-disk-image) - (operating-system installation-os)) - #:name "usb-image" - #:system system) - ,(image->job - store - (image - (inherit (image-with-label - iso9660-image - (string-append "GUIX_" system "_" - (if (> (string-length %guix-version) 7) - (substring %guix-version 0 7) - %guix-version)))) - (operating-system installation-os)) - #:name "iso9660-image" - #:system system) - ;; Only cross-compile Guix System images from x86_64-linux for now. - ,@(if (string=? system "x86_64-linux") - (map (cut image->job store <> - #:system system) - %guix-system-images) - '())) - '())) + (parameterize ((current-guix-package + (channel-source->package source #:commit commit))) + (if (member system %guix-system-supported-systems) + `(,(image->job store + (image + (inherit efi-disk-image) + (operating-system installation-os)) + #:name "usb-image" + #:system system) + ,(image->job + store + (image + (inherit (image-with-label + iso9660-image + (string-append "GUIX_" system "_" + (if (> (string-length %guix-version) 7) + (substring %guix-version 0 7) + %guix-version)))) + (operating-system installation-os)) + #:name "iso9660-image" + #:system system) + ;; Only cross-compile Guix System images from x86_64-linux for now. + ,@(if (string=? system "x86_64-linux") + (map (cut image->job store <> + #:system system) + %guix-system-images) + '())) + '()))) (define* (system-test-jobs store system #:key source commit) @@ -527,7 +530,9 @@ names." hello system)))) ('images ;; Build Guix System images only. - (image-jobs store system)) + (image-jobs store system + #:source source + #:commit commit)) ('system-tests ;; Build Guix System tests only. (system-test-jobs store system diff --git a/gnu/home.scm b/gnu/home.scm index 4ddbafe412..c95d1e0818 100644 --- a/gnu/home.scm +++ b/gnu/home.scm @@ -96,7 +96,7 @@ (home-environment-essential-services he)))) (define* (home-environment-derivation he) - "Return a derivation that builds OS." + "Return a derivation that builds home environment." (let* ((services (home-environment-services he)) (home (fold-services services #:target-type home-service-type))) diff --git a/gnu/home/services.scm b/gnu/home/services.scm index 75ea54743d..99035686f1 100644 --- a/gnu/home/services.scm +++ b/gnu/home/services.scm @@ -420,8 +420,9 @@ extended with one gexp."))) (he-path (string-append (getenv "HOME") "/.guix-home")) (new-home-env (getenv "GUIX_NEW_HOME")) (new-home (or new-home-env - ;; Path of the activation file if called interactively - (dirname (car (command-line))))) + ;; Absolute path of the directory of the activation + ;; file if called interactively. + (canonicalize-path (dirname (car (command-line)))))) (old-home-env (getenv "GUIX_OLD_HOME")) (old-home (or old-home-env (if (file-exists? (he-init-file he-path)) diff --git a/gnu/home/services/ssh.scm b/gnu/home/services/ssh.scm index f0987aee23..d15f5ee912 100644 --- a/gnu/home/services/ssh.scm +++ b/gnu/home/services/ssh.scm @@ -69,17 +69,19 @@ " " value "\n")) (define (address-family? obj) - (memv obj (list 'unset AF_INET AF_INET6))) + (memv obj (list AF_INET AF_INET6))) + +(define-maybe address-family) (define (serialize-address-family field family) - (if (eq? 'unset family) - "" + (if (maybe-value-set? family) (string-append " " (serialize-field-name field) " " (cond ((= family AF_INET) "inet") ((= family AF_INET6) "inet6") ;; The 'else' branch is unreachable. (else (raise (condition (&error))))) - "\n"))) + "\n") + "")) (define (natural-number? obj) (and (integer? obj) (exact? obj) (> obj 0))) @@ -115,7 +117,7 @@ maybe-string "Host name---e.g., @code{\"foo.example.org\"} or @code{\"192.168.1.2\"}.") (address-family - address-family + maybe-address-family "Address family to use when connecting to this host: one of @code{AF_INET} (for IPv4 only), @code{AF_INET6} (for IPv6 only). Additionally, the field can be left unset to allow any address family.") diff --git a/gnu/installer/parted.scm b/gnu/installer/parted.scm index d942a2f49b..641a1f45e8 100644 --- a/gnu/installer/parted.scm +++ b/gnu/installer/parted.scm @@ -80,7 +80,6 @@ efi-installation? default-esp-mount-point - with-delay-device-in-use? force-device-sync eligible-devices partition-user-type diff --git a/gnu/local.mk b/gnu/local.mk index f0c1f60c8a..1094e2dfd5 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1252,6 +1252,7 @@ dist_patch_DATA = \ %D%/packages/patches/guile-ac-d-bus-fix-tests.patch \ %D%/packages/patches/guile-cross-compilation.patch \ %D%/packages/patches/guile-fibers-destroy-peer-schedulers.patch \ + %D%/packages/patches/guile-fibers-epoll-instance-is-dead.patch \ %D%/packages/patches/guile-fibers-wait-for-io-readiness.patch \ %D%/packages/patches/guile-gdbm-ffi-support-gdbm-1.14.patch \ %D%/packages/patches/guile-git-adjust-for-libgit2-1.2.0.patch \ @@ -1379,10 +1380,6 @@ dist_patch_DATA = \ %D%/packages/patches/kodi-set-libcurl-ssl-parameters.patch \ %D%/packages/patches/kodi-skip-test-449.patch \ %D%/packages/patches/laby-make-install.patch \ - %D%/packages/patches/lcalc-default-parameters-1.patch \ - %D%/packages/patches/lcalc-default-parameters-2.patch \ - %D%/packages/patches/lcalc-lcommon-h.patch \ - %D%/packages/patches/lcalc-using-namespace-std.patch \ %D%/packages/patches/ldns-drill-examples.patch \ %D%/packages/patches/leela-zero-gtest.patch \ %D%/packages/patches/less-hurd-path-max.patch \ @@ -1471,7 +1468,6 @@ dist_patch_DATA = \ %D%/packages/patches/llvm-roc-4.0.0-remove-isystem-usr-include.patch \ %D%/packages/patches/llvm-roc-5.0.0-linkdl.patch \ %D%/packages/patches/lm-sensors-hwmon-attrs.patch \ - %D%/packages/patches/lrcalc-includes.patch \ %D%/packages/patches/lsh-fix-x11-forwarding.patch \ %D%/packages/patches/lsof-fatal-test-failures.patch \ %D%/packages/patches/lua-CVE-2014-5461.patch \ @@ -1627,6 +1623,7 @@ dist_patch_DATA = \ %D%/packages/patches/perl-5.14-module-pluggable-search.patch \ %D%/packages/patches/perl-5.14-no-sys-dirs.patch \ %D%/packages/patches/perl-autosplit-default-time.patch \ + %D%/packages/patches/perl-class-methodmaker-reproducible.patch \ %D%/packages/patches/perl-finance-quote-unuse-mozilla-ca.patch \ %D%/packages/patches/perl-image-exiftool-CVE-2021-22204.patch \ %D%/packages/patches/perl-net-amazon-s3-moose-warning.patch \ @@ -1734,8 +1731,6 @@ dist_patch_DATA = \ %D%/packages/patches/python-versioneer-guix-support.patch \ %D%/packages/patches/python-waitress-fix-tests.patch \ %D%/packages/patches/python-werkzeug-tests.patch \ - %D%/packages/patches/python-mypy-12332.patch \ - %D%/packages/patches/python-mypy-use-sys-path.patch \ %D%/packages/patches/python-zeep-Fix-pytest_httpx-test-cases.patch \ %D%/packages/patches/qemu-build-info-manual.patch \ %D%/packages/patches/qemu-glibc-2.27.patch \ diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index 4e8da94b5d..a4c5189222 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -784,7 +784,7 @@ memory, disks, network and processes. It's a Python port and continuation of (define-public pies (package (name "pies") - (version "1.7") + (version "1.8") (source (origin (method url-fetch) @@ -792,7 +792,16 @@ memory, disks, network and processes. It's a Python port and continuation of version ".tar.bz2")) (sha256 (base32 - "0ajcah2y6n55qc0ckspcx0hfpm1yb2xa1apcyij7mclic4q2y330")))) + "0v0xcq0mfil440xq2pa5mjkyva5c9ahqda54z5w2ksl2d78v8a35")) + (snippet + #~(begin + (use-modules (guix build utils)) + (for-each delete-file + (append + ;; Generated by flex. + (find-files "gres/src" "lex\\.c$") + ;; Generated by bison. + (find-files "gres/src" "-gram\\.[ch]$"))))))) (build-system gnu-build-system) (arguments '(#:phases (modify-phases %standard-phases @@ -804,6 +813,7 @@ memory, disks, network and processes. It's a Python port and continuation of (substitute* '("src/progman.c" "src/comp.c") (("\"/bin/sh\"") (string-append "\"" bash "/bin/sh\""))))))))) + (native-inputs (list bison flex)) (home-page "https://www.gnu.org.ua/software/pies/") (synopsis "Program invocation and execution supervisor") (description @@ -4193,7 +4203,7 @@ Python loading in HPC environments.") (let ((real-name "inxi")) (package (name "inxi-minimal") - (version "3.3.19-1") + (version "3.3.20-1") (source (origin (method git-fetch) @@ -4202,7 +4212,7 @@ Python loading in HPC environments.") (commit version))) (file-name (git-file-name real-name version)) (sha256 - (base32 "0g5m43cj4534gb181zy1hwjz5il88xibf8psxw8a4s6jnaq1zdlk")))) + (base32 "182lczpa217gpzn58nfdzjbbinp3bw9lbm1x9lck1mkdmqklgl2a")))) (build-system trivial-build-system) (inputs `(("bash" ,bash-minimal) @@ -5444,3 +5454,40 @@ attempts, it cannot eliminate the risk presented by weak authentication. Set up services to use only two factor, or public/private authentication mechanisms if you really want to protect services.") (license license:gpl2+))) + +(define-public rex + (package + (name "rex") + (version "4.1") + (source (origin + (method url-fetch) + (uri (string-append + "https://download.gnu.org.ua/pub/releases/rex/rex-" + version ".tar.gz")) + (sha256 + (base32 + "1arb8z602invwavskq36nhwy42a3v14iyhi06iqlngfai2k93fai")))) + (build-system gnu-build-system) + (arguments + (list + #:tests? #f ; no tests + #:phases + #~(modify-phases %standard-phases + ;; No configure script and Makefile. + (delete 'configure) + (delete 'build) + (add-before 'install 'patch-exec-expect + (lambda _ + (substitute* "rex" + (("exec expect") (string-append "exec " (which "expect")))))) + (replace 'install + (lambda _ + (invoke "./install" + (string-append "--prefix=" #$output))))))) + (inputs (list expect)) + (home-page "https://www.gnu.org.ua/software/rex/") + (synopsis "Remote execution utility") + (description "@command{rex} runs a supplied command or shell script on +several hosts in succession or in parallel. It can also be used to copy a +file or files to several hosts.") + (license license:gpl3+))) diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm index b3f0823daf..8ccb44c434 100644 --- a/gnu/packages/algebra.scm +++ b/gnu/packages/algebra.scm @@ -1628,7 +1628,7 @@ John Cremona to compute his elliptic curve database.") (define-public lrcalc (package (name "lrcalc") - (version "1.2") + (version "2.1") (source (origin (method git-fetch) (uri (git-reference @@ -1637,18 +1637,10 @@ John Cremona to compute his elliptic curve database.") (file-name (git-file-name name version)) (sha256 (base32 - "1c12d04jdyxkkav4ak8d1aqrv594gzihwhpxvc6p9js0ry1fahss")) - (patches (search-patches "lrcalc-includes.patch")))) + "0s3amf3z75hnrjyszdndrvk4wp5p630dcgyj341i6l57h43d1p4k")))) (build-system gnu-build-system) (native-inputs (list autoconf automake libtool)) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-before 'build 'fix-permission - (lambda _ - (chmod "lrcalc.maple.src" #o644) - #t))))) (synopsis "Littlewood-Richardson calculator in algebraic combinatorics") (description "The Littlewood-Richardson Calculator (lrcalc) is a program designed to compute Littlewood-Richardson coefficients. It computes diff --git a/gnu/packages/animation.scm b/gnu/packages/animation.scm index ba8ce00fbd..b8524681fa 100644 --- a/gnu/packages/animation.scm +++ b/gnu/packages/animation.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2015, 2017 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2018–2021 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2019 Pkill -9 <pkill9@runbox.com> -;;; Copyright © 2020, 2021 Vinicius Monego <monego@posteo.net> +;;; Copyright © 2020, 2021, 2022 Vinicius Monego <monego@posteo.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -323,7 +323,7 @@ audio or video backends, ensuring good performance.") (define-public lightspark (package (name "lightspark") - (version "0.8.5") + (version "0.8.6") (source (origin (method git-fetch) @@ -332,7 +332,7 @@ audio or video backends, ensuring good performance.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "00535ndzjbz5xyr95cih01wlkc2mgvg60bv6amz4lnnglk0c5v0p")))) + (base32 "0v7d7vwb0xqkk3v8dyks0wyk52ga57v5lg93y74v1d2wh7spmmzw")))) (build-system cmake-build-system) (arguments `(#:tests? #f ;requires Adobe Flex SDK, see README.tests @@ -352,29 +352,28 @@ audio or video backends, ensuring good performance.") (when tests? (invoke "./tests"))))))) (native-inputs - `(("gettext" ,gettext-minimal) - ("glib:bin" ,glib "bin") - ("nasm" ,nasm) - ("perl" ,perl) - ("pkg-config" ,pkg-config) - ("python" ,python-wrapper))) + (list gettext-minimal + `(,glib "bin") + nasm + perl + pkg-config + python-wrapper)) (inputs - `(("cairo" ,cairo) - ("curl" ,curl) - ("ffmpeg" ,ffmpeg) - ("freeglut" ,freeglut) - ("glew" ,glew) - ("glibmm" ,glibmm) - ("gnash" ,gnash) - ("gnutls" ,gnutls) - ("libjpeg" ,libjpeg-turbo) - ("openssl" ,openssl) - ("pango" ,pango) - ("pcre2" ,pcre2) - ("rtmpdump" ,rtmpdump) - ("sdl2" ,sdl2) - ("sdl2-mixer" ,sdl2-mixer) - ("zlib" ,zlib))) + (list cairo + curl + ffmpeg + freeglut + glew + glibmm + gnutls + libjpeg-turbo + openssl + pango + pcre2 + rtmpdump + sdl2 + sdl2-mixer + zlib)) (home-page "https://lightspark.github.io/") (synopsis "Flash player implementation") (description diff --git a/gnu/packages/assembly.scm b/gnu/packages/assembly.scm index ca50b00a06..df6587385f 100644 --- a/gnu/packages/assembly.scm +++ b/gnu/packages/assembly.scm @@ -291,7 +291,7 @@ runtime") (define-public rgbds (package (name "rgbds") - (version "0.4.2") + (version "0.5.2") (source (origin (method git-fetch) (uri (git-reference @@ -300,7 +300,7 @@ runtime") (file-name (git-file-name name version)) (sha256 (base32 - "0lygj7jzjlq4w0mkiir7ycysrd1p1akyvzrppjcchja05mi8wy9p")))) + "13zy05xzh2yxyvzf78a5h59pabwrfr6qs5m453pfbdyd3msg2s7w")))) (build-system gnu-build-system) (arguments `(#:phases @@ -312,8 +312,7 @@ runtime") (("pkg-config") (or (which "pkg-config") (string-append ,(%current-target-system) - "-pkg-config")))) - #t)) + "-pkg-config")))))) (replace 'check (lambda _ (with-directory-excursion "test/asm" diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index aad86bac06..8795caef71 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -38,6 +38,7 @@ ;;; Copyright © 2021 Aleksandr Vityazev <avityazev@posteo.org> ;;; Copyright © 2022 Arjan Adriaanse <arjan@adriaan.se> ;;; Copyright © 2022 Juliana Sims <jtsims@protonmail.com> +;;; Copyright © 2022 Simon Streit <simon@netpanic.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -875,6 +876,10 @@ engineers, musicians, soundtrack editors and composers.") (lambda* (#:key inputs #:allow-other-keys) (substitute* '("libraries/lib-files/FileNames.cpp") (("\"/usr/include/linux/magic.h\"") "<linux/magic.h>")))) + (add-after 'install 'delete-gratuitous-script + (lambda* (#:key outputs #:allow-other-keys) + (delete-file (string-append (assoc-ref outputs "out") + "/audacity")))) (add-after 'wrap-program 'glib-or-gtk-wrap (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap))) ;; The test suite is not "well exercised" according to the developers, @@ -5863,3 +5868,30 @@ framework. It provides a visual interface to audio and video connections managed by PipeWire.") (home-page "https://gitlab.freedesktop.org/rncbc/qpwgraph") (license license:gpl2))) + +(define-public streamripper + (package + (name "streamripper") + (version "1.64.6") + (source + (origin + (method url-fetch) + (uri (string-append "https://sourceforge.net/projects/streamripper" + "/files/streamripper%20(current)/" + version "/streamripper-" version ".tar.gz")) + (sha256 + (base32 "0hnyv3206r0rfprn3k7k6a0j959kagsfyrmyjm3gsf3vkhp5zmy1")) + (modules '((guix build utils))) + (snippet + ;; Delete bundled copy of libmad. + '(delete-file-recursively "libmad-0.15.1b")))) + (build-system gnu-build-system) + (native-inputs (list pkg-config)) + (inputs (list faad2 glib libmad libvorbis)) + (home-page "http://streamripper.sourceforge.net") + (synopsis "Record audio streams to your hard drive") + (description "Streamripper records shoutcast-compatible +streams. For shoutcast style streams it finds the “meta data” or track +separation data, and uses that as a marker for where the track should +be separated.") + (license license:gpl2+))) diff --git a/gnu/packages/benchmark.scm b/gnu/packages/benchmark.scm index 7be932f528..1b036e9bd4 100644 --- a/gnu/packages/benchmark.scm +++ b/gnu/packages/benchmark.scm @@ -72,14 +72,14 @@ (define-public fio (package (name "fio") - (version "3.30") + (version "3.31") (source (origin (method url-fetch) (uri (string-append "https://brick.kernel.dk/snaps/" "fio-" version ".tar.bz2")) (sha256 (base32 - "1qjivkisn7dxk8irrb0rglmmdpbnai6n7vindf18ln0j24cc1x56")))) + "03x0n18f2wsyjh6qv57kvgqcwga54rzngwzr6fzlrjsalqw7mxlp")))) (build-system gnu-build-system) (arguments (list #:modules diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm index 94c92abefa..facfb75abf 100644 --- a/gnu/packages/bioconductor.scm +++ b/gnu/packages/bioconductor.scm @@ -35,6 +35,7 @@ #:use-module (guix git-download) #:use-module (guix build-system r) #:use-module (gnu packages) + #:use-module (gnu packages autotools) #:use-module (gnu packages base) #:use-module (gnu packages bioinformatics) #:use-module (gnu packages boost) @@ -1220,6 +1221,27 @@ demonstration purposes in the @code{AneuFinder} package.") from Illumina 450k methylation arrays.") (license license:artistic2.0))) +(define-public r-bladderbatch + (package + (name "r-bladderbatch") + (version "1.34.0") + (source (origin + (method url-fetch) + (uri (bioconductor-uri "bladderbatch" version + 'experiment)) + (sha256 + (base32 + "1dpbaqsqizyi99r0imf5m4lndhhrkyiaqii9bi8rp18fjbjdd72k")))) + (properties `((upstream-name . "bladderbatch"))) + (build-system r-build-system) + (propagated-inputs (list r-biobase)) + (home-page "https://bioconductor.org/packages/bladderbatch") + (synopsis "Bladder gene expression data illustrating batch effects") + (description + "This package contains microarray gene expression data on 57 bladder samples from +5 batches. The data are used as an illustrative example for the sva package.") + (license license:artistic2.0))) + (define-public r-biscuiteerdata (package (name "r-biscuiteerdata") @@ -1540,6 +1562,30 @@ harmonized subsetting of rows (features) and columns (patients / samples) across the entire multi-'omics experiment.") (license license:artistic2.0))) +(define-public r-parathyroidse + (package + (name "r-parathyroidse") + (version "1.34.0") + (source (origin + (method url-fetch) + (uri (bioconductor-uri "parathyroidSE" version + 'experiment)) + (sha256 + (base32 + "1h33x55c4gbzmh085skqif04wdcvjp2l9fm55qzwws27kwd30c16")))) + (properties `((upstream-name . "parathyroidSE"))) + (build-system r-build-system) + (propagated-inputs (list r-summarizedexperiment)) + (home-page "https://bioconductor.org/packages/parathyroidSE") + (synopsis "RangedSummarizedExperiment for RNA-Seq of parathyroid tumors") + (description + "This package provides @code{RangedSummarizedExperiment} objects of read +counts in genes and exonic parts for paired-end RNA-Seq data from experiments on +primary cultures of parathyroid tumors. The sequencing was performed on tumor +cultures from 4 patients at 2 time points over 3 conditions (DPN, OHT and control).") + ;; The author(s) mentions only LGPL without any specific version. + (license license:lgpl2.1+))) + (define-public r-tcgabiolinksgui-data (package (name "r-tcgabiolinksgui-data") @@ -2090,8 +2136,8 @@ canonical cancer pathways.") (description "The project is intended to support the use of @dfn{sequins}(synthetic sequencing spike-in controls) owned and made available by the Garvan Institute -of Medical Research. The goal is to provide a standard open source library for -quantitative analysis, modelling and visualization of spike-in controls.") +of Medical Research. The goal is to provide a standard library for quantitative +analysis, modelling, and visualization of spike-in controls.") (license license:bsd-3))) (define-public r-aneufinder @@ -5016,6 +5062,45 @@ proteowizard library for mzML and mzIdentML. The netCDF reading code has previously been used in XCMS.") (license license:artistic2.0))) +(define-public r-organism-dplyr + (package + (name "r-organism-dplyr") + (version "1.24.0") + (source + (origin + (method url-fetch) + (uri (bioconductor-uri "Organism.dplyr" version)) + (sha256 + (base32 + "0j29f85d66c45ww3417xx376vpz0mmvga5n7h2cl1sd4h70b55as")))) + (properties `((upstream-name . "Organism.dplyr"))) + (build-system r-build-system) + (propagated-inputs + (list r-annotationdbi + r-annotationfilter + r-biocfilecache + r-dbi + r-dbplyr + r-dplyr + r-genomeinfodb + r-genomicfeatures + r-genomicranges + r-iranges + r-rlang + r-rsqlite + r-s4vectors + r-tibble)) + (native-inputs (list r-knitr)) + (home-page "https://bioconductor.org/packages/Organism.dplyr") + (synopsis "Dplyr-based access to Bioconductor annotation resources") + (description + "This package provides an alternative interface to Bioconductor @code{ +annotation} resources, in particular the gene identifier mapping functionality +of the @code{org} packages (e.g., @code{org.Hs.eg.db}) and the genome coordinate +functionality of the @code{TxDb} packages (e.g., +@code{TxDb.Hsapiens.UCSC.hg38.knownGene}).") + (license license:artistic2.0))) + (define-public r-organismdbi (package (name "r-organismdbi") @@ -5048,6 +5133,61 @@ annotation packages each of which has its own schema by taking advantage of the fact that each of these packages implements a select methods.") (license license:artistic2.0))) +(define-public r-pcaexplorer + (package + (name "r-pcaexplorer") + (version "2.22.0") + (source + (origin + (method url-fetch) + (uri (bioconductor-uri "pcaExplorer" version)) + (sha256 + (base32 + "0xkafpi6y5n8hljdaj183hd5z4ik7lpbklg2cbx1hwfz4n4hh1bl")))) + (properties `((upstream-name . "pcaExplorer"))) + (build-system r-build-system) + (propagated-inputs + (list r-annotationdbi + r-base64enc + r-biomart + r-deseq2 + r-dt + r-genefilter + r-genomicranges + r-ggplot2 + r-ggrepel + r-go-db + r-gostats + r-heatmaply + r-iranges + r-knitr + r-limma + r-nmf + r-pheatmap + r-plotly + r-plyr + r-rmarkdown + r-s4vectors + r-scales + r-shiny + r-shinyace + r-shinybs + r-shinydashboard + r-summarizedexperiment + r-threejs + r-tidyr + r-topgo)) + (native-inputs (list r-knitr)) + (home-page "https://github.com/federicomarini/pcaExplorer") + (synopsis + "Interactive Visualization of RNA-seq Data Using a Principal Components Approach") + (description + "This package provides functionality for interactive visualization of RNA-seq +datasets based on Principal Components Analysis. The methods provided allow for +quick information extraction and effective data exploration. A Shiny +application encapsulates the whole analysis.") + (license license:expat))) + (define-public r-pcamethods (package (name "r-pcamethods") @@ -5611,6 +5751,38 @@ a scRNA-seq experiment onto the cell-types or individual cells identified in a different experiment.") (license license:gpl3))) +(define-public r-scry + (package + (name "r-scry") + (version "1.8.0") + (source (origin + (method url-fetch) + (uri (bioconductor-uri "scry" version)) + (sha256 + (base32 + "16mj21r91jy8ircdz8rfrdli9gjy0hrx90kf6ghs305d3d4dl193")))) + (properties `((upstream-name . "scry"))) + (build-system r-build-system) + (propagated-inputs + (list r-biocsingular + r-delayedarray + r-glmpca + r-hdf5array + r-matrix + r-singlecellexperiment + r-summarizedexperiment)) + (native-inputs (list r-knitr)) + (home-page "https://bioconductor.org/packages/scry.html") + (synopsis "Small-count analysis methods for high-dimensional data") + (description + "Many modern biological datasets consist of small counts that are not +well fit by standard linear-Gaussian methods such as principal component +analysis. This package provides implementations of count-based feature +selection and dimension reduction algorithms. These methods can be used to +facilitate unsupervised analysis of any high-dimensional data such as +single-cell RNA-seq.") + (license license:artistic2.0))) + (define-public r-seqlogo (package (name "r-seqlogo") @@ -6541,9 +6713,10 @@ problems in genomics, brain imaging, astrophysics, and data mining.") `(("r-knitr" ,r-knitr))) (home-page "https://github.com/yixuan/RcppNumerical") (synopsis "Rcpp integration for numerical computing libraries") - (description "This package provides a collection of open source libraries -for numerical computing (numerical integration, optimization, etc.) and their -integration with @code{Rcpp}.") + (description + "This package provides a collection of libraries for numerical computing +(numerical integration, optimization, etc.) and their integration with +@code{Rcpp}.") (license license:gpl2+))) (define-public r-apeglm @@ -7917,6 +8090,16 @@ coordinates.") (base32 "0kc708ss5byzw8qh439mb4nq6hsfmz73gfamiznw3lv352brd33g")))) (build-system r-build-system) + (arguments + (list + #:phases + '(modify-phases %standard-phases + (add-after 'unpack 'make-build-order-reproducible + (lambda _ + (substitute* '("src/SYMPHONY/Cgl/configure.ac" + "src/SYMPHONY/Cgl/configure") + (("for file in `ls \\*/Makefile.in`") + "for file in `ls */Makefile.in | sort`"))))))) (inputs (list zlib)) (native-inputs @@ -12985,8 +13168,22 @@ gene expression.") "0q2y4n6bcc9pvz5sgfkw1lrb00rrp7q29i1vh7srdfmfhgpyz6bk")))) (properties `((upstream-name . "bgx"))) (build-system r-build-system) + (arguments + (list + #:phases + '(modify-phases %standard-phases + (add-after 'unpack 'do-not-tune-cflags-for-reproducibility + (lambda _ + (substitute* "configure.ac" + (("AX_GCC_ARCHFLAG.*") "")) + (delete-file "configure") + (invoke "autoreconf" "-vif")))))) + (inputs + (list boost)) (propagated-inputs (list r-affy r-biobase r-gcrma r-rcpp)) + (native-inputs + (list autoconf automake)) (home-page "https://bioconductor.org/packages/bgx/") (synopsis "Bayesian gene expression") (description diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 801c9e1642..2bae609614 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -3985,26 +3985,44 @@ HMMs).") (define-public htseq (package (name "htseq") - (version "0.12.3") + (version "2.0.2") + ;; Sources on pypi do not include everything needed to run the tests. (source (origin - (method url-fetch) - (uri (pypi-uri "HTSeq" version)) + (method git-fetch) + (uri (git-reference + (url "https://github.com/htseq/htseq") + (commit (string-append "release_" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "0pk41vkzxsbb5nv644325mh8akmz4zdply9r2s80dgg5b21pgp0b")))) + "1kbr4ydjjhizz6r5m3xd4f0wj7qnn8zs0vnzghhgaa0yhbya5r19")))) (build-system python-build-system) - (native-inputs - (list python-cython)) - ;; Numpy needs to be propagated when htseq is used as a Python library. + (arguments + (list + #:phases + '(modify-phases %standard-phases + ;; Avoid rebuilding the extension. Everything is built during the + ;; 'install phase anyway. + (delete 'build) + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "pytest" "-v"))))))) (propagated-inputs - (list python-numpy)) - (inputs - (list python-pysam python-matplotlib)) - (home-page "https://htseq.readthedocs.io/") - (synopsis "Analysing high-throughput sequencing data with Python") + (list python-matplotlib + python-numpy + python-pysam)) + (native-inputs + (list python-cython + python-pandas + python-pytest + python-scipy + swig)) + (home-page "https://github.com/htseq") + (synopsis "Framework for analyzing high-throughput sequencing data") (description - "HTSeq is a Python package that provides infrastructure to process data -from high-throughput sequencing assays.") + "This package provides a framework to process and analyze data from +high-throughput sequencing (HTS) assays") (license license:gpl3+))) (define-public java-htsjdk @@ -6276,36 +6294,37 @@ subsequent visualization, annotation and storage of results.") (base32 "0m8wkyvbgvcr5kzc284w8fbhpxwglh2c1xq0yc3yv00a53gs7rv0")))) (build-system gnu-build-system) (arguments - `(#:make-flags - ,#~(list "BLASFLAGS=-llapack -lopenblas" - (string-append "CFLAGS=-Wall -O2 -DDYNAMIC_ZLIB=1" - " -I" (search-input-directory - %build-inputs "include/simde")) - "ZLIB=-lz" - "BIN=plink prettify" - (string-append "CC=" #$(cc-for-target)) - (string-append "PREFIX=" #$output) - "DESTDIR=") - #:phases - (modify-phases %standard-phases + (list + #:tests? #false ;TEST_EXTRACT_CHR doesn't produce expected files + #:make-flags + #~(list "BLASFLAGS=-llapack -lopenblas" + "NO_SSE42=1" + "NO_AVX2=1" + "STATIC_ZSTD=" + (string-append "CC=" #$(cc-for-target)) + (string-append "PREFIX=" #$output) + "DESTDIR=") + #:phases + '(modify-phases %standard-phases (add-after 'unpack 'chdir - (lambda _ (chdir "1.9"))) - (delete 'configure) ; no "configure" script + (lambda _ (chdir "2.0/build_dynamic"))) + (delete 'configure) ; no "configure" script (replace 'check (lambda* (#:key tests? inputs #:allow-other-keys) (when tests? - (symlink "plink" "plink19") - (symlink (search-input-file inputs "/bin/plink") "plink107") (setenv "PATH" (string-append (getcwd) ":" (getenv "PATH"))) - (with-directory-excursion "tests" - ;; The model test fails because of a 0.0001 difference. - (substitute* "tests.py" - (("diff -q test1.model test2.model") - "echo yes")) - (invoke "bash" "test_setup.sh") - (invoke "python3" "tests.py")))))))) + (with-directory-excursion "../Tests" + (substitute* "run_tests.sh" + (("^./run_tests" m) + (string-append (which "bash") " " m))) + (invoke "bash" "run_tests.sh"))))) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (install-file "plink2" + (string-append + (assoc-ref outputs "out") "/bin"))))))) (inputs - (list lapack openblas zlib)) + (list lapack openblas zlib `(,zstd "lib"))) (native-inputs (list diffutils plink python simde)) ; for tests (home-page "https://www.cog-genomics.org/plink/") @@ -6430,6 +6449,86 @@ Values such as sequence name, sequence description, sequence quality and the sequence itself can be retrieved from these databases.") (license license:bsd-3))) +(define-public python-taggd + (package + (name "python-taggd") + (version "0.3.6") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/SpatialTranscriptomicsResearch/taggd") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0j19ah81z7aqrdljah9hyarp91gvgbk63pz6fz3pdpksy1yqyi6k")) + (modules '((guix build utils))) + (snippet + '(for-each delete-file + (find-files "taggd" "\\.c$"))))) + (build-system python-build-system) + (arguments + (list + #:phases + '(modify-phases %standard-phases + (add-after 'unpack 'disable-broken-tests + (lambda _ + (substitute* "tests/taggd_demultiplex_test.py" + (("def test_normal_bam_run") + "def _disabled_test_normal_bam_run"))))))) + (propagated-inputs + (list python-numpy python-pysam python-setuptools)) + (native-inputs + (list python-cython)) + (home-page "https://github.com/SpatialTranscriptomicsResearch/taggd") + (synopsis "Genetic barcode demultiplexing") + (description "This package provides TagGD barcode demultiplexing utilities +for Spatial Transcriptomics data.") + (license license:bsd-3))) + +(define-public stpipeline + (package + (name "stpipeline") + (version "1.8.1") + (source (origin + (method url-fetch) + (uri (pypi-uri "stpipeline" version)) + (sha256 + (base32 + "0har2g42fvaqpiz66lincy86aj1hvwzds26kxhxfamvyvv4721wk")))) + (build-system python-build-system) + (arguments + (list + #:phases + '(modify-phases %standard-phases + (add-after 'unpack 'relax-requirements + (lambda _ + (substitute* "requirements.txt" + (("argparse.*") ""))))))) + (propagated-inputs + (list htseq + python-cython + python-invoke + python-numpy + python-pandas + python-pympler + python-pysam + python-regex + python-scikit-learn + python-scipy + python-seaborn + python-setuptools + python-sqlitedict + python-taggd + samtools + star)) + (home-page "https://github.com/SpatialTranscriptomicsResearch/st_pipeline") + (synopsis "Pipeline for spatial mapping of unique transcripts") + (description + "This package provides an automated pipeline for spatial mapping of +unique transcripts.") + (license license:expat))) + (define-public sra-tools (package (name "sra-tools") @@ -11292,13 +11391,13 @@ cases include: (define-public python-mappy (package (name "python-mappy") - (version "2.18") + (version "2.24") (source (origin (method url-fetch) (uri (pypi-uri "mappy" version)) (sha256 (base32 - "1a05p7rkmxa6qhm108na8flzj2v45jab06drk59kzk1ip2sgvzqq")))) + "1ycszza87p9qvx8mis9v1hry0ac465x1xcxbsn1k45qlxxrzp8im")))) (build-system python-build-system) (native-inputs (list python-cython)) @@ -16097,6 +16196,32 @@ control samples and applying quantile normalization on all markers of interest.") (license license:gpl2+)))) +(define-public r-kbet + (let ((commit "f35171dfb04c7951b8a09ac778faf7424c4b6bc0") + (revision "1")) + (package + (name "r-kbet") + (version (git-version "0.99.6" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/theislab/kBET") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1r91prl2kki3zk694vhlmxdlqh0ixlhs8jfcqw6wc7cdsa0nv67k")))) + (properties `((upstream-name . "kBET"))) + (build-system r-build-system) + (propagated-inputs (list r-cluster r-fnn r-ggplot2 r-mass r-rcolorbrewer)) + (native-inputs (list r-knitr)) + (home-page "https://github.com/theislab/kBET") + (synopsis "k-nearest neighbour batch effect test") + (description + "This tool detects batch effects in high-dimensional data based on chi^2-test.") + ;; Any version of the GPL + (license license:gpl3+)))) + (define-public ccwl (package (name "ccwl") @@ -16330,3 +16455,271 @@ alignment algorithm. It completes MashMap with a high-performance alignment module capable of computing base-level alignments for very large sequences.") (home-page "https://github.com/ekg/wfmash") (license license:expat))) + +(define-public flair + (package + (name "flair") + (version "1.6.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/BrooksLabUCSC/flair") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "106swb2q7l20ki58fca1hg95q5f79bgp9gjb0clr2243ycrzyxf8")))) + (build-system python-build-system) + (arguments + (list + #:tests? #false ;there are none + #:phases + #~(modify-phases %standard-phases + ;; TODO: implement as a feature of python-build-system (PEP-621, + ;; PEP-631, PEP-660) + (replace 'build + (lambda _ + (setenv "SETUPTOOLS_SCM_PRETEND_VERSION" #$version) + ;; ZIP does not support timestamps before 1980. + (setenv "SOURCE_DATE_EPOCH" "315532800") + (invoke "python" "-m" "build" "--wheel" "--no-isolation" "."))) + (replace 'install + (lambda _ + (apply invoke "pip" "--no-cache-dir" "--no-input" + "install" "--no-deps" "--prefix" #$output + (find-files "dist" "\\.whl$"))))))) + (propagated-inputs + (list python-mappy + python-ncls + python-pybedtools + python-pysam + python-tqdm)) + (native-inputs + (list python-pypa-build python-setuptools)) + (home-page "https://flair.readthedocs.io/en/latest/") + (synopsis "Full-length alternative isoform analysis of RNA") + (description "This package implements FLAIR (Full-Length Alternative +Isoform analysis of RNA) for the correction, isoform definition, and +alternative splicing analysis of noisy reads. FLAIR has primarily been used +for nanopore cDNA, native RNA, and PacBio sequencing reads.") + (license license:bsd-3))) + +(define-public go-github-com-biogo-graph + (package + (name "go-github-com-biogo-graph") + (version "0.0.0-20150317020928-057c1989faed") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/biogo/graph") + (commit (go-version->git-ref version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1kpzs5dfd5dsk4mg1g2qjz1prqd84ixhrcxxnf90hq25vxcnk7lh")))) + (build-system go-build-system) + (arguments + '(#:import-path "github.com/biogo/graph" + #:tests? #false)) ;TODO: one of 13 tests fails for unknown reasons + (propagated-inputs + (list go-gopkg-in-check-v1)) + (home-page "https://github.com/biogo/graph") + (synopsis "Undirected graph analysis for biogo") + (description "The package @code{graph} implements graph manipulation +functions.") + (license license:bsd-3))) + +(define-public go-github-com-biogo-store-interval + (package + (name "go-github-com-biogo-store-interval") + (version "0.0.0-20201120204734-aad293a2328f") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/biogo/store") + (commit (go-version->git-ref version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0skizrp1j6vgbl0g1kmh73picagqlvwckaqs0gkl6rai5lckxj8a")))) + (build-system go-build-system) + (arguments + '(#:import-path "github.com/biogo/store/interval" + #:unpack-path "github.com/biogo/store")) + (propagated-inputs + (list go-gopkg-in-check-v1 + go-github-com-kr-pretty)) + (home-page "https://github.com/biogo/store") + (synopsis "Interval store type for biogo") + (description + "The @code{store} package provides a number of data store types that are +useful for bioinformatic analysis.") + (license license:bsd-3))) + +(define-public go-github-com-biogo-store-kdtree + (package + (inherit go-github-com-biogo-store-interval) + (name "go-github-com-biogo-store-kdtree") + (arguments + '(#:import-path "github.com/biogo/store/kdtree" + #:unpack-path "github.com/biogo/store")) + (propagated-inputs + (list go-gopkg-in-check-v1 + go-github-com-kr-pretty)) + (synopsis "kdtree store type for biogo"))) + +(define-public go-github-com-biogo-store-llrb + (package + (inherit go-github-com-biogo-store-interval) + (name "go-github-com-biogo-store-llrb") + (arguments + '(#:import-path "github.com/biogo/store/llrb" + #:unpack-path "github.com/biogo/store")) + (propagated-inputs + (list go-gopkg-in-check-v1 + go-github-com-kr-pretty)) + (synopsis "LLRB store for biogo"))) + +(define-public go-github-com-biogo-store-step + (package + (inherit go-github-com-biogo-store-interval) + (name "go-github-com-biogo-store-step") + (arguments + '(#:import-path "github.com/biogo/store/step" + #:unpack-path "github.com/biogo/store")) + (propagated-inputs + (list go-gopkg-in-check-v1 + go-github-com-kr-pretty)) + (synopsis "Step store for biogo"))) + +(define-public go-github-com-biogo-hts-bam + (package + (name "go-github-com-biogo-hts-bam") + (version "1.4.3") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/biogo/hts") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "013ga6ilc4m3hyfr3yyiva9g4vs81afhj73v2sy7r75b5zxw7lx1")))) + (build-system go-build-system) + (arguments + '(#:import-path "github.com/biogo/hts/bam" + #:unpack-path "github.com/biogo/hts")) + (propagated-inputs + (list go-gopkg-in-check-v1)) + (home-page "https://github.com/biogo/hts") + (synopsis "HTS BAM module for biogo") + (description "This package provides tools for handling BAM files.") + (license license:bsd-3))) + +(define-public go-github-com-biogo-hts-sam + (package + (inherit go-github-com-biogo-hts-bam) + (name "go-github-com-biogo-hts-sam") + (arguments + '(#:import-path "github.com/biogo/hts/sam" + #:unpack-path "github.com/biogo/hts")) + (propagated-inputs + (list go-gopkg-in-check-v1)) + (synopsis "HTS SAM module for biogo") + (description "This package provides tools for handling SAM files."))) + +(define-public go-github-com-biogo-hts-tabix + (package + (inherit go-github-com-biogo-hts-bam) + (name "go-github-com-biogo-hts-tabix") + (arguments + '(#:import-path "github.com/biogo/hts/tabix" + #:unpack-path "github.com/biogo/hts")) + (propagated-inputs + (list go-gopkg-in-check-v1)) + (synopsis "HTS Tabix module for biogo") + (description "This package provides tools for handling Tabix files."))) + +(define-public go-github-com-biogo-hts-bgzf + (package + (inherit go-github-com-biogo-hts-bam) + (name "go-github-com-biogo-hts-bgzf") + (arguments + '(#:import-path "github.com/biogo/hts/bgzf" + #:unpack-path "github.com/biogo/hts")) + (propagated-inputs + (list go-gopkg-in-check-v1)) + (synopsis "HTS bgzf module for biogo") + (description "This package provides tools for handling bgzf files."))) + +(define-public go-github-com-biogo-hts-cram + (package + (inherit go-github-com-biogo-hts-bam) + (name "go-github-com-biogo-hts-cram") + (arguments + '(#:import-path "github.com/biogo/hts/cram" + #:unpack-path "github.com/biogo/hts" + #:tests? #false)) ;require network access + (propagated-inputs + (list go-gopkg-in-check-v1 + go-github.com-ulikunitz-xz + go-github-com-kortschak-utter)) + (synopsis "HTS CRAM module for biogo") + (description "This package provides tools for handling CRAM files."))) + +(define-public go-github-com-biogo-hts-csi + (package + (inherit go-github-com-biogo-hts-bam) + (name "go-github-com-biogo-hts-csi") + (arguments + '(#:import-path "github.com/biogo/hts/csi" + #:unpack-path "github.com/biogo/hts")) + (propagated-inputs + (list go-gopkg-in-check-v1)) + (synopsis "Coordinate sorted indexing for biogo") + (description "This package implements CSIv1 and CSIv2 coordinate sorted +indexing."))) + +(define-public go-github-com-biogo-hts-fai + (package + (inherit go-github-com-biogo-hts-bam) + (name "go-github-com-biogo-hts-fai") + (arguments + '(#:import-path "github.com/biogo/hts/fai" + #:unpack-path "github.com/biogo/hts")) + (propagated-inputs + (list go-gopkg-in-check-v1)) + (synopsis "Fasta sequence file index handling for biogo") + (description "This package implements FAI fasta sequence file index +handling."))) + +(define-public go-github-com-biogo-biogo + (package + (name "go-github-com-biogo-biogo") + (version "1.0.4") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/biogo/biogo") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0ali1mqf3dc26myv6l7wmqfr8i25461rbq3qdad8s0wi29622199")))) + (build-system go-build-system) + (arguments + '(#:import-path "github.com/biogo/biogo")) + (propagated-inputs + (list go-gopkg-in-check-v1 + go-github-com-biogo-store-interval + go-github-com-biogo-store-kdtree + go-github-com-biogo-store-llrb + go-github-com-biogo-store-step + go-github-com-biogo-hts-bam + go-github-com-biogo-graph)) + (home-page "https://github.com/biogo/biogo") + (synopsis "Bioinformatics library for Go") + (description + "Bíogo is a bioinformatics library for the Go language.") + (license license:bsd-3))) diff --git a/gnu/packages/bittorrent.scm b/gnu/packages/bittorrent.scm index 43fc287b95..db5237c997 100644 --- a/gnu/packages/bittorrent.scm +++ b/gnu/packages/bittorrent.scm @@ -16,6 +16,7 @@ ;;; Copyright © 2021 Josselin Poiret <josselin.poiret@protonmail.ch> ;;; Copyright © 2022 Brice Waegeneire <brice@waegenei.re> ;;; Copyright © 2022 Jacob Hart <hartja1@yahoo.com> +;;; Copyright © 2022 Simon Streit <simon@netpanic.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -132,7 +133,7 @@ (string-append gui "/share/man/man1/transmission-gtk.1")) #t)))))) (inputs - (list libevent curl openssl zlib gtk+)) + (list libevent curl openssl zlib gtk+ libappindicator)) (native-inputs (list intltool pkg-config)) (home-page "https://transmissionbt.com/") diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm index d19cf55bc4..b521b57ecd 100644 --- a/gnu/packages/bootloaders.scm +++ b/gnu/packages/bootloaders.scm @@ -7,7 +7,7 @@ ;;; Copyright © 2016, 2017 Danny Milosavljevic <dannym@scratchpost.org> ;;; Copyright © 2016, 2017 David Craven <david@craven.ch> ;;; Copyright © 2017, 2018, 2020, 2021, 2022 Efraim Flashner <efraim@flashner.co.il> -;;; Copyright © 2018, 2019, 2020, 2021 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2018–2022 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2019 nee <nee@cock.li> ;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2020 Björn Höfling <bjoern.hoefling@bjoernhoefling.de> @@ -1157,14 +1157,14 @@ tools, and more.") (define-public os-prober (package (name "os-prober") - (version "1.80") + (version "1.81") (source (origin (method url-fetch) (uri (string-append "mirror://debian/pool/main/o/os-prober/os-prober_" version ".tar.xz")) (sha256 - (base32 "13z3rshgz5xj0328a80wavdimjw925yha9s1ks398sq0kn5w6qw0")))) + (base32 "10w8jz6mqhp0skdcam9mpgv79vx1sv7lkpra3rqjg0jkhvn2in9g")))) (build-system gnu-build-system) (arguments `(#:modules ((guix build gnu-build-system) diff --git a/gnu/packages/browser-extensions.scm b/gnu/packages/browser-extensions.scm index 1012e4b643..63bd11b226 100644 --- a/gnu/packages/browser-extensions.scm +++ b/gnu/packages/browser-extensions.scm @@ -51,7 +51,7 @@ supported content to the Kodi media center.") (define ublock-origin (package (name "ublock-origin") - (version "1.43.0") + (version "1.44.0") (home-page "https://github.com/gorhill/uBlock") (source (origin (method git-fetch) @@ -62,7 +62,7 @@ supported content to the Kodi media center.") (file-name (git-file-name name version)) (sha256 (base32 - "0w0by41v1s1cbd3bfjlb7kxr2bl6r5z3jvizlx02x14hqlppma9k")))) + "0sws7xd8nvxnzcyw92i9sc5xv3hpqw1kzdj9vm8bhfxlh042l7ly")))) (build-system gnu-build-system) (outputs '("xpi" "firefox" "chromium")) (arguments diff --git a/gnu/packages/build-tools.scm b/gnu/packages/build-tools.scm index 1134b8eb3c..38a7ee2783 100644 --- a/gnu/packages/build-tools.scm +++ b/gnu/packages/build-tools.scm @@ -102,7 +102,7 @@ makes a few sacrifices to acquire fast full and incremental build times.") (define-public bear (package (name "bear") - (version "3.0.19") + (version "3.0.20") (source (origin (method git-fetch) @@ -111,7 +111,7 @@ makes a few sacrifices to acquire fast full and incremental build times.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "05jbcx5m923dg27j3i442hc73hdci5n7vp7a671x1w7bdivgqg96")))) + (base32 "0k89ccp9vz3x71w3r2wfpng9b8s0rxp4qr0ch9q32wq6y1ik847j")))) (build-system cmake-build-system) (arguments `(#:phases (modify-phases %standard-phases diff --git a/gnu/packages/c.scm b/gnu/packages/c.scm index 39f048e993..d7d649488b 100644 --- a/gnu/packages/c.scm +++ b/gnu/packages/c.scm @@ -463,7 +463,7 @@ as dictionaries, skip lists, and memory pools.") (define-public packcc (package (name "packcc") - (version "1.7.2") + (version "1.8.0") (home-page "https://github.com/arithy/packcc") (source (origin (method git-fetch) @@ -473,7 +473,7 @@ as dictionaries, skip lists, and memory pools.") (file-name (git-file-name name version)) (sha256 (base32 - "1mb6ys5ylvjz0xpq6769ir98s80p98s9ahd0c9k8p2ra1w20vz33")))) + "0b25p7ri1l2l20awyknljfnj7r4rg7cf2x3bljijx5q6j8rxdcsg")))) (build-system gnu-build-system) (arguments '(#:phases (modify-phases %standard-phases diff --git a/gnu/packages/cdrom.scm b/gnu/packages/cdrom.scm index 56a4ab8a10..6391bd6fec 100644 --- a/gnu/packages/cdrom.scm +++ b/gnu/packages/cdrom.scm @@ -408,58 +408,59 @@ or @command{xorrisofs} to create ISO 9660 images.") (define-public dvdisaster (package (name "dvdisaster") - (version "0.79.9") + (version "0.79.10") (source (origin (method url-fetch) (uri (string-append "https://dvdisaster.jcea.es/downloads/dvdisaster-" version ".tar.bz2")) (sha256 - (base32 "1hz3fvqfdrwb7dn6ggqkpcgyjag37ivm1layw27ncjz9glklxjbr")))) + (base32 "1s3z4098ixdjr3gjs36fg7rykqs0zz1rnvz2v9rvyj0s5zv9y2nx")))) (build-system gnu-build-system) (inputs (list gtk+-2)) (native-inputs - `(("gettext" ,gettext-minimal) - ("pkg-config" ,pkg-config) - ("which" ,which))) + (list gettext-minimal pkg-config which)) (arguments - `(;; Parallel builds appear to be unsafe, see - ;; <http://hydra.gnu.org/build/49331/nixlog/1/raw>. - #:parallel-build? #f - #:phases - (modify-phases %standard-phases - (replace 'check - (lambda _ - (with-directory-excursion "regtest" - (substitute* "common.bash" - (("ISODIR=/var/tmp/regtest") "ISODIR=/tmp")) - (for-each invoke (find-files "." "rs.*\\.bash"))))) - (add-after 'install 'install-desktop - (lambda* (#:key outputs #:allow-other-keys) - (let* ((datadir (string-append (assoc-ref outputs "out") "/share"))) - (substitute* "contrib/dvdisaster.desktop" - (("dvdisaster48.png") "dvdisaster.png")) - (install-file "contrib/dvdisaster.desktop" - (string-append datadir "/applications")) - (for-each - (lambda (png) - (let* ((size (substring png - (string-index png char-set:digit) - (string-rindex png #\.))) - (icondir (string-append datadir "/icons/" - size "x" size "/apps"))) - (mkdir-p icondir) - (copy-file png (string-append icondir "/dvdisaster.png")))) - (find-files "contrib" "dvdisaster[0-9]*\\.png")) - (mkdir-p (string-append datadir "/pixmaps")) - (copy-file "contrib/dvdisaster48.xpm" - (string-append datadir "/pixmaps/dvdisaster.xpm"))))) - (add-after 'install 'remove-uninstall-script - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out"))) - (delete-file - (string-append out "/bin/dvdisaster-uninstall.sh")))))))) + (list #:parallel-build? #f ; http://hydra.gnu.org/build/49331/nixlog/1/raw + #:phases + #~(modify-phases %standard-phases + (replace 'check + (lambda _ + (with-directory-excursion "regtest" + (substitute* "common.bash" + (("ISODIR=/var/tmp/regtest") "ISODIR=/tmp")) + (for-each invoke (find-files "." "rs.*\\.bash"))))) + (add-after 'install 'install-desktop + (lambda* (#:key outputs #:allow-other-keys) + (let* ((datadir (string-append (assoc-ref outputs "out") + "/share"))) + (substitute* "contrib/dvdisaster.desktop" + (("dvdisaster48.png") "dvdisaster.png")) + (install-file "contrib/dvdisaster.desktop" + (string-append datadir "/applications")) + (for-each + (lambda (png) + (let* ((size (substring + png + (string-index png char-set:digit) + (string-rindex png #\.))) + (icondir (string-append datadir "/icons/" + size "x" size "/apps"))) + (mkdir-p icondir) + (copy-file png + (string-append icondir + "/dvdisaster.png")))) + (find-files "contrib" "dvdisaster[0-9]*\\.png")) + (mkdir-p (string-append datadir "/pixmaps")) + (copy-file "contrib/dvdisaster48.xpm" + (string-append datadir + "/pixmaps/dvdisaster.xpm"))))) + (add-after 'install 'remove-uninstall-script + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out"))) + (delete-file + (string-append out "/bin/dvdisaster-uninstall.sh")))))))) (home-page "https://dvdisaster.jcea.es/") (synopsis "Error correcting codes for optical media images") (description "Optical media (CD,DVD,BD) keep their data only for a diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm index b57bfa30d8..1cf953ca2a 100644 --- a/gnu/packages/check.scm +++ b/gnu/packages/check.scm @@ -665,19 +665,27 @@ test) much simpler.") (define-public go-github.com-smartystreets-assertions (package (name "go-github.com-smartystreets-assertions") - (version "1.8.1") + (version "1.13.0") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/smartystreets/assertions") - (commit version))) + (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 - "1j0adgbykl55rf2945g0n5bmqdsnjcqlx5dcmpfh4chki43hiwg9")))) + (base32 "0flf3fb6fsw3bk1viva0fzrzw87djaj1mqvrx2gzg1ssn7xzfrzr")))) (build-system go-build-system) (arguments - '(#:import-path "github.com/smartystreets/assertions")) + (list + #:import-path "github.com/smartystreets/assertions" + #:phases + #~(modify-phases %standard-phases + (replace 'check + (lambda* (#:key inputs #:allow-other-keys #:rest args) + (unless + ;; The tests fail when run with gccgo. + (false-if-exception (search-input-file inputs "/bin/gccgo")) + (apply (assoc-ref %standard-phases 'check) args))))))) (native-inputs (list go-github.com-smartystreets-gunit)) (synopsis "Assertions for testing with Go") diff --git a/gnu/packages/chromium.scm b/gnu/packages/chromium.scm index 52c84ebe8a..a5ce51a456 100644 --- a/gnu/packages/chromium.scm +++ b/gnu/packages/chromium.scm @@ -316,7 +316,7 @@ ;; run the Blink performance tests, just remove everything to save ~70MiB. '("third_party/blink/perf_tests")) -(define %chromium-version "104.0.5112.81") +(define %chromium-version "104.0.5112.101") (define %ungoogled-revision (string-append %chromium-version "-1")) (define %debian-revision "debian/102.0.5005.61-1") @@ -328,7 +328,7 @@ (file-name (git-file-name "ungoogled-chromium" %ungoogled-revision)) (sha256 (base32 - "0dvwh470h06x5a4p8kw22pi4lvch16knh90i2kh10y0wfggqz78w")))) + "0jy5hjn61p5mnbqns3jlybim7iy8w9cmzm3i84wn68cyyx1bk25m")))) (define %debian-origin (origin @@ -477,7 +477,7 @@ %chromium-version ".tar.xz")) (sha256 (base32 - "0x17jzzvn2aqx3ahqyi6ijyn70sn79kg648r0ks9m5gib1bbgf0y")) + "0nrghgngxdn9richjnxii9y94dg5zpwc3gd3vx609r4xaphibw30")) (modules '((guix build utils))) (snippet (force ungoogled-chromium-snippet)))) (build-system gnu-build-system) diff --git a/gnu/packages/ci.scm b/gnu/packages/ci.scm index 9cd2f6884e..86d99c9031 100644 --- a/gnu/packages/ci.scm +++ b/gnu/packages/ci.scm @@ -5,6 +5,7 @@ ;;; Copyright © 2017, 2020, 2021 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2017, 2019, 2020 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org> +;;; Copyright © 2022 Arun Isaac <arunisaac@systemreboot.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -193,16 +194,16 @@ intended as a replacement for Hydra.") (define-public laminar (package (name "laminar") - (version "1.1") + (version "1.2") (source - (origin (method url-fetch) - (uri (string-append "https://github.com/ohwgiles/laminar/archive/" - version - ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (origin (method git-fetch) + (uri (git-reference + (url "https://github.com/ohwgiles/laminar") + (commit version))) + (file-name (git-file-name name version)) (sha256 (base32 - "1lzfmfjygmbdr2n1q49kwwffw8frz5y6iczhdz5skwmzwg0chbsf")))) + "1sg0kccp3nczkn2vxcsqv10vyvmjnhpaykc1nfhh55jyda4xzf9w")))) (build-system cmake-build-system) (arguments `(#:tests? #f ; TODO Can't build tests @@ -223,8 +224,7 @@ intended as a replacement for Hydra.") (("install\\(FILES \\$\\{CMAKE\\_CURRENT\\_BINARY\\_DIR\\}\\/laminar\\.service DESTINATION \\$\\{SYSTEMD\\_UNITDIR\\}\\)") "") (("install\\(FILES etc/laminar\\.conf DESTINATION \\/etc\\)") "") - (("\\/usr\\/") "")) - #t)) + (("\\/usr\\/") "")))) (add-after 'configure 'copy-in-javascript-and-css (lambda* (#:key inputs outputs #:allow-other-keys) (use-modules (ice-9 popen)) @@ -253,9 +253,7 @@ intended as a replacement for Hydra.") ;; ansi_up.js isn't minified (copy-file (assoc-ref inputs "ansi_up.js") - "../build/js/ansi_up.js") - - #t))))) + "../build/js/ansi_up.js")))))) (inputs (list capnproto rapidjson sqlite boost zlib)) (native-inputs diff --git a/gnu/packages/code.scm b/gnu/packages/code.scm index 96736aac84..f4855e12e9 100644 --- a/gnu/packages/code.scm +++ b/gnu/packages/code.scm @@ -390,7 +390,7 @@ features that are not supported by the standard @code{stdio} implementation.") (define-public universal-ctags (package (name "universal-ctags") - (version "5.9.20220626.0") + (version "5.9.20220807.0") (source (origin (method git-fetch) @@ -400,7 +400,7 @@ features that are not supported by the standard @code{stdio} implementation.") (file-name (git-file-name name version)) (sha256 (base32 - "1x5kqqznlbndwln8g0kcxnla6b94i7x7cd63ba2sj0fzzms5gx24")) + "1wjj6hlda7xyjm8yrl2zz74ks7azymm9yyrpz36zxxpx2scf6lsk")) (modules '((guix build utils))) (snippet '(begin diff --git a/gnu/packages/coq.scm b/gnu/packages/coq.scm index bbb6c4d435..bbb34df27d 100644 --- a/gnu/packages/coq.scm +++ b/gnu/packages/coq.scm @@ -101,7 +101,18 @@ It is developed using Objective Caml and Camlp5.") (name "coq-stdlib") (arguments `(#:package "coq-stdlib" - #:test-target ".")) + #:test-target "." + #:phases + (modify-phases %standard-phases + (add-before 'build 'fix-dune + (lambda _ + (substitute* "user-contrib/Ltac2/dune" + (("coq-core.plugins.ltac2") + (string-join + (map (lambda (plugin) (string-append "coq-core.plugins." plugin)) + '("ltac2" "number_string_notation" "tauto" "cc" + "firstorder")) + " ")))))))) (inputs (list coq-core gmp ocaml-zarith)) (native-inputs '()))) diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm index 1c9e57fb1c..e6d734010d 100644 --- a/gnu/packages/cpp.scm +++ b/gnu/packages/cpp.scm @@ -1871,3 +1871,37 @@ std::filesystem compatible helper library, based on the C++17 and C++20 specs, but implemented for C++11, C++14, C++17 or C++20.") (home-page "https://github.com/gulrak/filesystem") (license license:expat))) + +(define-public cpp-mustache + (package + (name "cpp-mustache") + (version "4.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/kainjow/Mustache") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0r9rbk6v1wpld2ismfsk2lkhbyv3dkf0p03hkjivbj05qkfhvlbb")))) + (build-system cmake-build-system) + (arguments + (list #:phases + #~(modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "./mustache")))) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (install-file "../source/mustache.hpp" + (string-append (assoc-ref outputs "out") + "/include"))))))) + (home-page "https://github.com/kainjow/Mustache") + (synopsis "Mustache text templates for modern C++") + (description "@code{cpp-mustache} is a Mustache implementation for C++ 11 +and above. It is header only and has zero dependencies. It provides a +templated string type for compatibility with any STL-like string (std::string, +std::wstring, etc).") + (license license:boost1.0))) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 4ad1bfa760..7aa3ebde97 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -104,6 +104,7 @@ #:use-module (gnu packages python-xyz) #:use-module (gnu packages sqlite) #:use-module (gnu packages statistics) + #:use-module (gnu packages tbb) #:use-module (gnu packages tcl) #:use-module (gnu packages tex) #:use-module (gnu packages textutils) @@ -115,6 +116,35 @@ #:use-module (gnu packages xml) #:use-module (gnu packages xorg)) +(define-public r-aer + (package + (name "r-aer") + (version "1.2-10") + (source (origin + (method url-fetch) + (uri (cran-uri "AER" version)) + (sha256 + (base32 + "1p6vxr0220lim5i4gwsvphqrfd65zbs8h3qydz4gipca9asmy2k5")))) + (properties `((upstream-name . "AER"))) + (build-system r-build-system) + (propagated-inputs + (list r-car + r-formula + r-lmtest + r-sandwich + r-survival + r-zoo)) + (home-page "https://cran.r-project.org/package=AER") + (synopsis "Applied econometrics with R") + (description + "This package provides functions, data sets, examples, demos, and +vignettes for the book Christian Kleiber and Achim Zeileis (2008), Applied +Econometrics with R, Springer-Verlag, New York. ISBN 978-0-387-77316-2. (See +the vignette \"AER\" for a package overview.)") + ;; Either version of the GPL + (license (list license:gpl2 license:gpl3)))) + (define-public r-afpt (package (name "r-afpt") @@ -392,6 +422,28 @@ Gaussian quadrature for a numerical solution.") Distance (EMD).") (license license:expat))) +(define-public r-glmpca + (package + (name "r-glmpca") + (version "0.2.0") + (source (origin + (method url-fetch) + (uri (cran-uri "glmpca" version)) + (sha256 + (base32 + "02xjf0gg52925hw9nw2j0znfmzfzfwbv0fxjl9d2fy9j63drr2h4")))) + (properties `((upstream-name . "glmpca"))) + (build-system r-build-system) + (propagated-inputs (list r-mass)) + (native-inputs (list r-knitr)) + (home-page "https://github.com/willtownes/glmpca") + (synopsis "Dimension Reduction of Non-Normally Distributed Data") + (description + "This package implements a generalized version of principal components +analysis (GLM-PCA) for dimension reduction of non-normally distributed data +such as counts or binary matrices.") + (license license:lgpl3+))) + (define-public r-googledrive (package (name "r-googledrive") @@ -748,6 +800,42 @@ similar rank-based tests for equal probability distributions due to Neuhauser WebAssembly engine.") (license license:expat))) +(define-public r-rvenn + (package + (name "r-rvenn") + (version "1.1.0") + (source + (origin + (method url-fetch) + (uri (cran-uri "RVenn" version)) + (sha256 + (base32 + "016m00xv59lkwm2is32v5nr4lw5a1ymdnz34r3ffflcv9bfrc6n4")))) + (properties `((upstream-name . "RVenn"))) + (build-system r-build-system) + (propagated-inputs + (list r-ggforce + r-ggplot2 + r-magrittr + r-pheatmap + r-purrr + r-rlang + r-vegan)) + (native-inputs (list r-knitr)) + (home-page "https://cran.r-project.org/package=RVenn") + (synopsis "Set operations for many sets") + (description + "The base functions for set operations in @code{R} can be used for only two +sets. This package @code{RVenn} provides functions for dealing with multiple sets. +It uses @code{purr} to find the union, intersection and difference of three or +more sets. This package also provides functions for pairwise set operations among +several sets. Further, based on @code{ggplot2} and @code{ggforce}, a Venn diagram +can be drawn for two or three sets. For bigger data sets, a clustered heatmap +showing the presence or absence of the elements of the sets can be drawn based on +the @code{pheatmap} package. Finally, enrichment test can be applied to two sets +whether an overlap is statistically significant or not.") + (license license:gpl3))) + (define-public r-dot (package (name "r-dot") @@ -1060,6 +1148,65 @@ the reasonable size limit without losing vector properties of the scale-sensitive information.") (license license:expat))) +(define-public r-ggvenn + (package + (name "r-ggvenn") + (version "0.1.9") + (source (origin + (method url-fetch) + (uri (cran-uri "ggvenn" version)) + (sha256 + (base32 + "0bm52j3idchignp6nrw7c76jlbfkjf5zng258957vq019vx9qxrq")))) + (properties `((upstream-name . "ggvenn"))) + (build-system r-build-system) + (propagated-inputs (list r-dplyr r-ggplot2)) + (home-page "https://cran.r-project.org/package=ggvenn") + (synopsis "Draw Venn diagram with ggplot2") + (description + "This package offers an easy to use way to draw a Venn diagram with +@code{ggplot2}.") + (license license:expat))) + +(define-public r-ggvenndiagram + (package + (name "r-ggvenndiagram") + (version "1.2.0") + (source + (origin + (method url-fetch) + (uri (cran-uri "ggVennDiagram" version)) + (sha256 + (base32 + "1mjs488npnxd53nsw936iw2vzv7z38h8d02pm4lwrz4i83jg3www")))) + (properties `((upstream-name . "ggVennDiagram"))) + (build-system r-build-system) + (propagated-inputs + (list r-dplyr + r-ggplot2 + r-magrittr + r-plotly + r-purrr + r-rvenn + r-sf + r-stringr + r-tibble)) + (native-inputs (list r-knitr)) + (home-page "https://github.com/gaospecial/ggVennDiagram") + (synopsis "Implementention of the Venn diagram using ggplot2") + (description + "This package implements easy-to-use functions to generate 2-7 sets Venn +plot in publication quality. @code{ggVennDiagram} plot Venn using +well-defined geometry dataset and @code{ggplot2}. The shapes of 2-4 sets Venn +use circles and ellipses, while the shapes of 4-7 sets Venn use irregular +polygons (4 has both forms), which are developed and imported from another +package @code{venn}. We provide internal functions to integrate shape data +with user provided sets data, and calculated the geometry of every +regions/intersections of them, then separately plot Venn in three components: +set edges, set labels, and regions. From version 1.0, it is possible to +customize these components as you demand in ordinary @code{ggplot2} grammar.") + (license license:gpl3))) + (define-public r-lmds (package (name "r-lmds") @@ -1482,6 +1629,28 @@ qualitative palettes with many (20-30 or more) colors. See Coombes and colleagues (2019) @url{https://doi:10.18637/jss.v090.c01}.") (license license:asl2.0))) +(define-public r-polylabelr + (package + (name "r-polylabelr") + (version "0.2.0") + (source (origin + (method url-fetch) + (uri (cran-uri "polylabelr" version)) + (sha256 + (base32 + "01b2v0l5g8nxwbd6nwqv8ahypgh6gfhd4qabg75brlj7z1iyfzf2")))) + (properties `((upstream-name . "polylabelr"))) + (build-system r-build-system) + (propagated-inputs (list r-rcpp)) + (home-page "https://github.com/jolars/polylabelr") + (synopsis "Finding pole of inaccessibility (visual center) of a polygon") + (description + "This package provides a wrapper around the @code{C++} library @code{ +polylabel} from @code{Mapbox}, providing an efficient routine for finding the +approximate pole of inaccessibility of a polygon, which usually serves as an +excellent candidate for labeling of a polygon.") + (license license:expat))) + (define-public r-poorman (package (name "r-poorman") @@ -3512,6 +3681,24 @@ coordinates.") @end enumerate\n") (license license:gpl2+))) +(define-public r-gensa + (package + (name "r-gensa") + (version "1.1.7") + (source (origin + (method url-fetch) + (uri (cran-uri "GenSA" version)) + (sha256 + (base32 + "03xqwxm7v7rnihx730a4p65dfwhjh4345r3d78y0qxxplk8d76cx")))) + (properties `((upstream-name . "GenSA"))) + (build-system r-build-system) + (home-page "https://cran.r-project.org/package=GenSA") + (synopsis "Generalized simulated annealing") + (description "This package performs search for the global minimum of a very +complex non-linear objective function with a very large number of optima.") + (license license:gpl2))) + (define-public r-geosphere (package (name "r-geosphere") @@ -6393,6 +6580,27 @@ Information-Maximization (Infomax), and @dfn{Joint Approximate Diagonalization of Eigenmatrices} (JADE).") (license license:gpl2+))) +(define-public r-ips + (package + (name "r-ips") + (version "0.0.11") + (source (origin + (method url-fetch) + (uri (cran-uri "ips" version)) + (sha256 + (base32 + "02jxanfhsjrabj33nwjv71vdc87hiyzikyqrfdj9ix6dky6lm199")))) + (properties `((upstream-name . "ips"))) + (build-system r-build-system) + (propagated-inputs (list r-ape r-phangorn r-plyr r-seqinr r-xml)) + (home-page "https://cran.r-project.org/package=ips") + (synopsis "Interfaces to phylogenetic software in R") + (description + "This package provides functions that wrap popular phylogenetic software +for sequence alignment, masking of sequence alignments, and estimation of +phylogenies and ancestral character states.") + (license license:gpl3))) + (define-public r-dtw (package (name "r-dtw") @@ -9216,6 +9424,14 @@ always locate the files relative to your project root.") (base32 "0b1szzsqyc8wcfpkn5517bb1ds064vs2hky71my3p74kfngay991")))) (build-system r-build-system) + (arguments + (list + #:phases + '(modify-phases %standard-phases + (add-after 'unpack 'build-reproducibly + (lambda _ + (setenv "PYTHONHASHSEED" "0") + (setenv "PYTHONDONTWRITEBYTECODE" "1")))))) (inputs (list python)) (propagated-inputs (list r-here @@ -13657,9 +13873,20 @@ package provides a minimal R interface by relying on the Rcpp package.") (uri (cran-uri "RcppParallel" version)) (sha256 (base32 - "1sn211ajlb1p12sglxqns175rg078yvww268m8cp0vvd7cmk55k3")))) + "1sn211ajlb1p12sglxqns175rg078yvww268m8cp0vvd7cmk55k3")) + (modules '((guix build utils))) + (snippet + '(delete-file-recursively "src/tbb/")))) (properties `((upstream-name . "RcppParallel"))) (build-system r-build-system) + (arguments + (list + #:phases + '(modify-phases %standard-phases + (add-after 'unpack 'use-system-tbb + (lambda* (#:key inputs #:allow-other-keys) + (setenv "TBB_ROOT" (assoc-ref inputs "tbb"))))))) + (inputs (list tbb-2020)) (home-page "https://rcppcore.github.io/RcppParallel/") (synopsis "Parallel programming tools for Rcpp") (description @@ -19040,6 +19267,15 @@ packages with Rcpp.") (base32 "17znizh4yabh2zs9mzyr0sl6p0pw49961i61br7cl1b7v9sza18q")))) (build-system r-build-system) + (arguments + (list + #:phases + '(modify-phases %standard-phases + (add-after 'unpack 'build-reproducibly + (lambda _ + (substitute* "R/aaa.R" + (("BASEDATETIME <- Sys.time.*") + "BASEDATETIME <- structure(0, class = c(\"POSIXct\", \"POSIXt\"))\n"))))))) (propagated-inputs (list r-farver r-magrittr r-rcpp r-rlang)) (home-page "https://github.com/thomasp85/tweenr") diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index db820a3d24..dc87ea7cb8 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -25025,14 +25025,14 @@ authenticated encryption cipher.") (define-public rust-ghost-0.1 (package (name "rust-ghost") - (version "0.1.2") + (version "0.1.6") (source (origin (method url-fetch) (uri (crate-uri "ghost" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "0yalg3g1g3cz63n3phy7cdhh7p2qd220mrpxy96alwxbpqdwynqs")))) + (base32 "0fj42hmlgcj1rbqcshlvk65npsks4ba7vdzphb9202gawf6zw6gb")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t @@ -28897,14 +28897,14 @@ Rust.") (define-public rust-indoc-1 (package (name "rust-indoc") - (version "1.0.3") + (version "1.0.7") (source (origin (method url-fetch) (uri (crate-uri "indoc" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "0diih20xsxjb159nr0dq6jxnyhq7gg10dlsnh2siikphmvm5m9z5")))) + (base32 "1qs42cn8rj7kdpmp1dlkzhv62rfmbx3ffwvsfw67zyq86jm1xaxd")))) (build-system cargo-build-system) (arguments `(#:skip-build? #true @@ -29479,8 +29479,37 @@ primitive Rust types.") immutable interval tree.") (license license:expat))) +(define-public rust-inventory-0.2 + (package + (name "rust-inventory") + (version "0.2.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "inventory" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "06h9xw67wx18rank4yyz93iq89j0fk6fbazryfvf5ach1dp4qd44")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-ctor" ,rust-ctor-0.1) + ("rust-ghost" ,rust-ghost-0.1)) + #:cargo-development-inputs + (("rust-rustversion" ,rust-rustversion-1) + ("rust-trybuild" ,rust-trybuild-1)))) + (home-page "https://github.com/dtolnay/inventory") + (synopsis "Typed distributed plugin registration") + (description + "This package provides a way to set up a plugin registry into which +plugins can be registered from any source file linked into your program. +There does not need to be a central list of all the plugins.") + ;; Either license can be chosen at the users option. + (license (list license:expat license:asl2.0)))) + (define-public rust-inventory-0.1 (package + (inherit rust-inventory-0.2) (name "rust-inventory") (version "0.1.11") (source @@ -29490,21 +29519,12 @@ immutable interval tree.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "1m1zdjgs3nzfdxf86mc1i0id56fvk8rfw63rf04yi88bqrh53szh")))) - (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs (("rust-ctor" ,rust-ctor-0.1) ("rust-ghost" ,rust-ghost-0.1) - ("rust-inventory-impl" ,rust-inventory-impl-0.1)))) - (home-page "https://github.com/dtolnay/inventory") - (synopsis "Typed distributed plugin registration") - (description - "This package provides a way to set up a plugin registry into which -plugins can be registered from any source file linked into your program. -There does not need to be a central list of all the plugins.") - ;; Either license can be chosen at the users option. - (license (list license:expat license:asl2.0)))) + ("rust-inventory-impl" ,rust-inventory-impl-0.1)))))) (define-public rust-inventory-impl-0.1 (package @@ -40387,17 +40407,17 @@ platform-native strings.") "11agh8n3x2l4sr3sxvx6byc1j3ryb1g6flb1ywn0qhq7xv1y3cmg")))) (arguments `(#:skip-build? #t)))) -(define-public rust-ouroboros-macro-0.14 +(define-public rust-ouroboros-macro-0.15 (package (name "rust-ouroboros-macro") - (version "0.14.0") + (version "0.15.2") (source (origin (method url-fetch) (uri (crate-uri "ouroboros_macro" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "11cav04x82liknlrv50lpl1i1ln2jw4isdqzdjnjsg0pcpvwik9r")))) + (base32 "01lgyj5nxgr6r1l0m20pp4ilz3m14clsqg2j28hic2rrlsjafjkk")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t @@ -40413,22 +40433,35 @@ platform-native strings.") "This package provides a proc macro for the @code{ouroboros} crate.") (license (list license:expat license:asl2.0)))) -(define-public rust-ouroboros-0.14 +(define-public rust-ouroboros-macro-0.14 (package - (name "rust-ouroboros") + (inherit rust-ouroboros-macro-0.15) + (name "rust-ouroboros-macro") (version "0.14.0") (source (origin (method url-fetch) + (uri (crate-uri "ouroboros_macro" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "11cav04x82liknlrv50lpl1i1ln2jw4isdqzdjnjsg0pcpvwik9r")))))) + +(define-public rust-ouroboros-0.15 + (package + (name "rust-ouroboros") + (version "0.15.2") + (source + (origin + (method url-fetch) (uri (crate-uri "ouroboros" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "1ih1lna1d2is3a6aicmc7lpfhqmg046kssxpryk24kwg8j42ymh6")))) + (base32 "1qhd9cvc4hwdbr37da1jh0k0742slchixlxn4wxgc7g3l63yl9bl")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-aliasable" ,rust-aliasable-0.1) - ("rust-ouroboros-macro" ,rust-ouroboros-macro-0.14) + ("rust-ouroboros-macro" ,rust-ouroboros-macro-0.15) ("rust-stable-deref-trait" ,rust-stable-deref-trait-1)))) (home-page "https://github.com/joshua-maros/ouroboros") (synopsis "Self-referential struct generation") @@ -40436,6 +40469,24 @@ platform-native strings.") "Easy, safe self-referential struct generation for Rust.") (license (list license:expat license:asl2.0)))) +(define-public rust-ouroboros-0.14 + (package + (inherit rust-ouroboros-0.15) + (name "rust-ouroboros") + (version "0.14.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "ouroboros" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1ih1lna1d2is3a6aicmc7lpfhqmg046kssxpryk24kwg8j42ymh6")))) + (arguments + `(#:cargo-inputs + (("rust-aliasable" ,rust-aliasable-0.1) + ("rust-ouroboros-macro" ,rust-ouroboros-macro-0.14) + ("rust-stable-deref-trait" ,rust-stable-deref-trait-1)))))) + (define-public rust-output-vt100-0.1 (package (name "rust-output-vt100") @@ -54504,17 +54555,17 @@ Semantic Versioning.") (base32 "18vhypw6zgccnrlm5ps1pwa0khz7ry927iznpr88b87cagr1v2iq")))))) -(define-public rust-send-wrapper-0.4 +(define-public rust-send-wrapper-0.5 (package (name "rust-send-wrapper") - (version "0.4.0") + (version "0.5.0") (source (origin (method url-fetch) (uri (crate-uri "send_wrapper" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "1l7s28vfnwdbjyrrk3lx81jy4f0dcrv4iwyah2wj6vndxhqxaf7n")))) + (base32 "1mwbg1nv36d5kdjb0iwmprz24km0m8ck08dn59gdngqdc77hl34k")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t)) (home-page "https://github.com/thk1/send_wrapper") @@ -54527,6 +54578,20 @@ also have to make sure that the wrapper is dropped from within the original thread. If any of these constraints is violated, a panic occurs.") (license (list license:expat license:asl2.0)))) +(define-public rust-send-wrapper-0.4 + (package + (inherit rust-send-wrapper-0.5) + (name "rust-send-wrapper") + (version "0.4.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "send_wrapper" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1l7s28vfnwdbjyrrk3lx81jy4f0dcrv4iwyah2wj6vndxhqxaf7n")))) + (arguments `(#:skip-build? #t)))) + (define-public rust-seq-io-0.3 (package (name "rust-seq-io") @@ -71599,10 +71664,10 @@ terms of allowing LLVM's auto-vectorizer to do its job.") (("rust-bytemuck" ,rust-bytemuck-1)))) (license (list license:zlib)))) -(define-public rust-widestring-0.4 +(define-public rust-widestring-0.5 (package (name "rust-widestring") - (version "0.4.2") + (version "0.5.1") (source (origin (method url-fetch) @@ -71610,7 +71675,7 @@ terms of allowing LLVM's auto-vectorizer to do its job.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "13565qy4jhpg4x0xw8mwxzzsh0p8c93p5208lh6kpwp0q01y6qx7")))) + "10qrilijh1qzw362mvd4nsz3vv32dxx530vk41hkcx8hah22z20p")))) (build-system cargo-build-system) (arguments `(#:cargo-development-inputs @@ -71624,6 +71689,23 @@ UTF-32 types are provided, including support for malformed encoding.") (license (list license:asl2.0 license:expat)))) +(define-public rust-widestring-0.4 + (package + (inherit rust-widestring-0.5) + (name "rust-widestring") + (version "0.4.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "widestring" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "13565qy4jhpg4x0xw8mwxzzsh0p8c93p5208lh6kpwp0q01y6qx7")))) + (arguments + `(#:cargo-development-inputs + (("rust-winapi" ,rust-winapi-0.3)))))) + (define-public rust-wild-2 (package (name "rust-wild") diff --git a/gnu/packages/cups.scm b/gnu/packages/cups.scm index 005ec15f11..3de9ddbf22 100644 --- a/gnu/packages/cups.scm +++ b/gnu/packages/cups.scm @@ -50,6 +50,7 @@ #:use-module (gnu packages tls) #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) + #:use-module (guix build-system meson) #:use-module (guix build-system python) #:use-module (guix download) #:use-module (guix git-download) @@ -465,17 +466,33 @@ device-specific programs to convert and print many types of files.") (define-public cups-pk-helper (package (name "cups-pk-helper") - (version "0.2.6") + (version "0.2.7") (source (origin (method url-fetch) (uri (string-append "https://freedesktop.org/software/" name "/releases/" name "-" version ".tar.xz")) (sha256 (base32 - "0a52jw6rm7lr5nbyksiia0rn7sasyb5cjqcb95z1wxm2yprgi6lm")))) - (build-system gnu-build-system) + "0cg8wbxpkz9bkpasz973cdazi02svqpbw9mafvpgrscg8kdhs1v6")))) + (build-system meson-build-system) + (arguments + ;; XXX The tests require a running D-Bus and CUPS daemon, of course. + (list #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'install 'install-compatibility-symlink + ;; XXX Upstream (and, presumably, the world) has moved to + ;; /share/dbus-1 over /etc/dbus-1, but Guix System's + ;; dbus-configuration-directory has yet to catch up. + ;; TODO It should be properly fixed and this phase removed. + (lambda* (#:key outputs #:allow-other-keys) + (with-directory-excursion (assoc-ref outputs "out") + (mkdir-p "etc") + (symlink "../share/dbus-1" "etc/dbus-1"))))))) (native-inputs - (list intltool pkg-config glib polkit cups)) + (list intltool pkg-config `(,glib "bin"))) + (inputs + (list glib polkit cups-minimal)) (home-page "https://www.freedesktop.org/wiki/Software/cups-pk-helper/") (synopsis "PolicyKit helper to configure CUPS with fine-grained privileges") (description @@ -854,7 +871,7 @@ HP@tie{}LaserJet, and possibly other printers. See @file{README} for details.") (define-public epson-inkjet-printer-escpr (package (name "epson-inkjet-printer-escpr") - (version "1.7.18") + (version "1.7.21") ;; XXX: This currently works. But it will break as soon as a newer ;; version is available since the URLs for older versions are not ;; preserved. An alternative source will be added as soon as @@ -862,11 +879,11 @@ HP@tie{}LaserJet, and possibly other printers. See @file{README} for details.") (source (origin (method url-fetch) - (uri (string-append "https://download3.ebz.epson.net/dsc/f/03/00/13/43/" - "81/cbdd80826424935cef20d16be8ee5851388977a7/" - "epson-inkjet-printer-escpr-1.7.18-1lsb3.2.tar.gz")) + (uri (string-append "https://download3.ebz.epson.net/dsc/f/03/00/13/77/" + "93/e85dc2dc266e96fdc242bd95758bd88d1a51963e/" + "epson-inkjet-printer-escpr-1.7.21-1lsb3.2.tar.gz")) (sha256 - (base32 "06pa47rl1gy19bg3fsp4a4y9vdy4ya2maajm14n791ivhf2hcwyh")))) + (base32 "0z1x9p58321plf2swfxgl72wn7ls8bfbyjwd9l9c8jxfr1v2skkz")))) (build-system gnu-build-system) (arguments (list #:modules diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index ad425cb617..6c97dbe413 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -481,14 +481,14 @@ mapping from string keys to string values.") (define-public memcached (package (name "memcached") - (version "1.6.15") + (version "1.6.16") (source (origin (method url-fetch) (uri (string-append "https://memcached.org/files/memcached-" version ".tar.gz")) (sha256 - (base32 "05fmds73hr71bha9gszjfp02lgyacqfyyhkgl6xysy4kchyvwyld")))) + (base32 "1nilmfhy8hc7zzlihnx3hmiqf7siyrpgz2g5s3r3l36xy4xsjl9h")))) (build-system gnu-build-system) (inputs (list libevent cyrus-sasl)) @@ -699,6 +699,38 @@ auto-completion and syntax highlighting.") \"special\", or \"backslash commands\") on PostgreSQL.") (license license:bsd-3))) +(define-public python-sqlitedict + (package + (name "python-sqlitedict") + (version "2.0.0") + (source (origin + (method url-fetch) + (uri (pypi-uri "sqlitedict" version)) + (sha256 + (base32 + "05sxy016k3p5sjjhdg0ad9z15i6vm3rq4cr9m8nrc7jfdx0p18r3")))) + (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" + ;; No idea why these fail. + (string-append "not test_py24_error" + " and not test_tablenames")))))))) + (native-inputs (list python-pytest)) + (home-page "https://github.com/piskvorky/sqlitedict") + (synopsis "Persistent dict backed up by sqlite3 and pickle") + (description + "This package provides a lightweight wrapper around the sqlite3 database +with a simple, Pythonic @code{dict}-like interface and support for +multi-thread access.") + (license license:asl2.0))) + (define-public pgcli (package (name "pgcli") @@ -1489,8 +1521,6 @@ CSV, DB3, iXF, SQLite, MS-SQL or MySQL to PostgreSQL.") (sha256 (base32 "1ry8lxgdc1p3k7gbw20r405jqi5lvhi5wk83kxdbiv8xv3f5kh6q")))) (build-system python-build-system) - (native-inputs - (list python-unittest2)) (inputs (list python-cryptography)) (arguments @@ -3510,44 +3540,37 @@ PickleShare.") (define-public python-apsw (package (name "python-apsw") - (version "3.36.0-r1") + (version "3.39.2.0") (source - (origin - (method url-fetch) - (uri (string-append "https://github.com/rogerbinns/apsw/releases" - "/download/" version "/apsw-" version ".zip")) - (sha256 - (base32 - "0w8q73147hv77dlpqrx6h1gx03acc8xqhvdpfp6vkffdm0wmqd8p")))) + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/rogerbinns/apsw") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0q7fnk8n3m5mpjzh6xyhj409k8sacdbjsfis98my9c50fdn5sr7y")))) (build-system python-build-system) - (native-inputs - (list unzip)) - (inputs - (list sqlite)) + (inputs (list sqlite-next)) ;SQLite 3.39 required. (arguments - `(#:phases - (modify-phases %standard-phases - (replace 'build - (lambda _ - (invoke "python" "setup.py" "build" "--enable-all-extensions" - "--enable=load_extension") - #t)) - (add-after 'build 'build-test-helper - (lambda _ - (invoke "gcc" "-fPIC" "-shared" "-o" "./testextension.sqlext" - "-I." "-Isqlite3" "src/testextension.c") - #t)) - (replace 'check - (lambda* (#:key inputs outputs #:allow-other-keys) - (add-installed-pythonpath inputs outputs) - (invoke "python" "setup.py" "test") - #t))))) + (list #:phases + #~(modify-phases %standard-phases + (replace 'build + (lambda _ + (invoke "python" "setup.py" "build" "--enable-all-extensions" + "--enable=load_extension"))) + (add-after 'build 'build-test-helper + (lambda _ + (invoke "gcc" "-fPIC" "-shared" "-o" "./testextension.sqlext" + "-I." "-Isqlite3" "src/testextension.c")))))) (home-page "https://github.com/rogerbinns/apsw/") (synopsis "Another Python SQLite Wrapper") - (description "APSW is a Python wrapper for the SQLite -embedded relational database engine. In contrast to other wrappers such as -pysqlite it focuses on being a minimal layer over SQLite attempting just to -translate the complete SQLite API into Python.") + (description + "APSW is a Python wrapper for the SQLite embedded relational database +engine. In contrast to other wrappers such as pysqlite it focuses on being a +minimal layer over SQLite attempting just to translate the complete SQLite API +into Python.") (license license:zlib))) (define-public python-aiosqlite @@ -3931,7 +3954,7 @@ reasonable substitute.") (define-public python-rq (package (name "python-rq") - (version "1.5.2") + (version "1.11") (source (origin (method git-fetch) @@ -3940,7 +3963,7 @@ reasonable substitute.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0ikqmpq0g1qiqwd7ar1286l4hqjb6aj2wr844gihhb8ijzwhp8va")))) + (base32 "1dj3m8dh9vf1qiq1drjhfw5xbr975v1kpzn4fwja83cfd7jrpzvy")))) (build-system python-build-system) (arguments '(#:phases (modify-phases %standard-phases @@ -3957,7 +3980,7 @@ reasonable substitute.") (getenv "PATH"))) (invoke "pytest" "-vv"))))))) (native-inputs - (list python-mock python-pytest redis)) + (list python-mock python-psutil python-pytest redis)) (propagated-inputs (list python-click python-redis)) (home-page "https://python-rq.org/") @@ -4757,9 +4780,9 @@ a Gtk.Grid Widget.") sqlite)) (native-inputs (list qttools-5)) (home-page "https://sqlitebrowser.org/") - (synopsis "Database browser for SQLite") - (description "Sqlitebrowser is a high quaility, visual, open source tool to -create design, and edit database file compatible with SQLite.") + (synopsis "Visual database browser and editor for SQLite") + (description "Sqlitebrowser lets you create, design, and edit database files +compatible with SQLite using a graphical user interface.") (license ;; dual license (list license:gpl3+ diff --git a/gnu/packages/debian.scm b/gnu/packages/debian.scm index 5ff09393b9..67b66be38d 100644 --- a/gnu/packages/debian.scm +++ b/gnu/packages/debian.scm @@ -331,9 +331,9 @@ debian/copyright for more information."))))) (home-page "http://apt-mirror.github.io/") (synopsis "Script for mirroring a Debian repository") (description - "apt-mirror is a small tool that provides the ability to -selectively mirror Debian and Ubuntu GNU/Linux distributions or any -other apt sources typically provided by open source developers.") + "apt-mirror is a small tool that provides the ability to selectively +mirror @acronym{APT, advanced package tool} sources, including GNU/Linux +distributions such as Debian and Trisquel.") (license license:gpl2)))) (define-public dpkg diff --git a/gnu/packages/dezyne.scm b/gnu/packages/dezyne.scm index 5b79f0883a..413da49ece 100644 --- a/gnu/packages/dezyne.scm +++ b/gnu/packages/dezyne.scm @@ -31,14 +31,14 @@ (define-public dezyne (package (name "dezyne") - (version "2.15.4") + (version "2.16.0") (source (origin (method url-fetch) (uri (string-append "https://dezyne.org/download/dezyne/" name "-" version ".tar.gz")) (sha256 - (base32 "0d0jnnb3pgmspsz5qbgf33wsav5yp8wb45igns1sfinaz743n870")))) + (base32 "1x14jpv89dmrldar9g8pighbm68pvm4fvxz81mhjkimgf7kb4hbd")))) (inputs (list bash-minimal guile-3.0-latest guile-json-4 diff --git a/gnu/packages/diffoscope.scm b/gnu/packages/diffoscope.scm index 81d1a63652..645138c5d0 100644 --- a/gnu/packages/diffoscope.scm +++ b/gnu/packages/diffoscope.scm @@ -75,7 +75,7 @@ (define-public diffoscope (package (name "diffoscope") - (version "220") + (version "221") (source (origin (method git-fetch) @@ -84,7 +84,7 @@ (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0lkwbyf1z93skgqp1w4p0d7y8wwqf0bs53i43micwaq8p8xjs1ph")) + (base32 "0b89hygd4m18p3wcx7haz0kwx7gn7irjswxz29lv8sb2r1vqq4za")) (patches (search-patches "diffoscope-fix-llvm-test.patch")))) (build-system python-build-system) diff --git a/gnu/packages/dns.scm b/gnu/packages/dns.scm index a6521eafb5..e4dd8365f8 100644 --- a/gnu/packages/dns.scm +++ b/gnu/packages/dns.scm @@ -140,7 +140,7 @@ protocol.") (define-public ldns (package (name "ldns") - (version "1.8.1") + (version "1.8.3") (source (origin (method url-fetch) @@ -148,7 +148,7 @@ protocol.") (string-append "https://www.nlnetlabs.nl/downloads/" "ldns/ldns-" version ".tar.gz")) (sha256 - (base32 "18vzdmyg9bm45janw602d4hifjsncrv143awlwcslfjdrsmjk0lm")) + (base32 "0q3q1svyxpj2g5wdkfy1ndb14m9fzffwyskflpihfabb0g8jvxy3")) (patches (search-patches ;; To create make-flag variables, @@ -333,14 +333,14 @@ and BOOTP/TFTP for network booting of diskless machines.") ;; When updating, check whether isc-dhcp's bundled copy should be as well. ;; The BIND release notes are available here: ;; https://www.isc.org/bind/ - (version "9.16.31") + (version "9.16.32") (source (origin (method url-fetch) (uri (string-append "https://ftp.isc.org/isc/bind9/" version "/bind-" version ".tar.xz")) (sha256 - (base32 "1yvwdvcyy996p50j7nr4b010w16jjj5czw15g87wf1dn6xncp8lc")) + (base32 "0w2rcjxqnbhwzgsdsas36dadjq0qn6s1xjx4g4qk0ph2nvf4gj9j")) (patches (search-patches "bind-re-add-attr-constructor-priority.patch")))) (build-system gnu-build-system) @@ -871,7 +871,7 @@ Extensions} (DNSSEC).") (define-public knot (package (name "knot") - (version "3.1.8") + (version "3.1.9") (source (origin (method git-fetch) @@ -880,7 +880,7 @@ Extensions} (DNSSEC).") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0v3rh27qnyihdqp5nm8bnn9xd5rl2fbwhj4cmdpc8ik4qs21xyf4")) + (base32 "0w3jyz9qgkb34gkv2lr71phk5ad3rycn86qyw7n88ryhdsk45j73")) (modules '((guix build utils))) (snippet '(begin diff --git a/gnu/packages/documentation.scm b/gnu/packages/documentation.scm index 6f24149b5d..585a295fb4 100644 --- a/gnu/packages/documentation.scm +++ b/gnu/packages/documentation.scm @@ -338,12 +338,12 @@ additional metadata about the object to which the docstring belongs.") (list intltool)) (home-page "http://scrollkeeper.sourceforge.net/") (synopsis "Open Documentation Cataloging Project") - (description "ScrollKeeper is a cataloging system for documentation on open -systems. It manages documentation metadata as specified by the Open Source -Metadata Framework and provides a simple API to allow help browsers to find, -sort, and search the document catalog. It will also be able to communicate -with catalog servers on the Net to search for documents which are not on the -local system.") + (description + "ScrollKeeper is a cataloging system for documentation. It manages +documentation metadata as specified by the Open Source Metadata Framework and +provides a simple API to allow help browsers to find, sort, and search the +document catalog. It will also be able to communicate with catalog servers on +the Net to search for documents which are not on the local system.") (license lgpl2.1+))) (define-public zeal diff --git a/gnu/packages/dunst.scm b/gnu/packages/dunst.scm index 35df682d46..0855e45084 100644 --- a/gnu/packages/dunst.scm +++ b/gnu/packages/dunst.scm @@ -41,7 +41,7 @@ (define-public dunst (package (name "dunst") - (version "1.8.1") + (version "1.9.0") (source (origin (method git-fetch) (uri (git-reference @@ -50,7 +50,7 @@ (file-name (git-file-name name version)) (sha256 (base32 - "19bh5789whlc0n5wbyx3yx8px93hccn42f1p6i1dz96hdkk5mjb8")))) + "1nfxf2rahngxpy606yrizrz16d0pswl5sa9jfzpv7h19x6xy24vx")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; no check target diff --git a/gnu/packages/ebook.scm b/gnu/packages/ebook.scm index ccc0bdf88d..c3a27cb113 100644 --- a/gnu/packages/ebook.scm +++ b/gnu/packages/ebook.scm @@ -518,7 +518,7 @@ following formats: (define-public cozy (package (name "cozy") - (version "1.2.0") + (version "1.2.1") (source (origin (method git-fetch) @@ -527,7 +527,7 @@ following formats: (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0igqf9b77i13sxlk4ziw549h379hmz1slrb3vvf8irk94gxabsaw")))) + (base32 "0qky885fl63d5ih5d3rggm8rhp00sk6lny26qljyz3gga8n9y6ki")))) (build-system meson-build-system) (arguments `(#:glib-or-gtk? #t diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 3c1d322db3..379c5fb22c 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -49,7 +49,7 @@ ;;; Copyright © 2019, 2020, 2021 Joseph LaFreniere <joseph@lafreniere.xyz> ;;; Copyright © 2019 Todor Kondić <tk.code@protonmail.com>15669 ;;; Copyright © 2019 Amar Singh <nly@disroot.org> -;;; Copyright © 2019 Baptiste Strazzulla <bstrazzull@hotmail.fr> +;;; Copyright © 2019, 2022 Baptiste Strazzulla <bstrazzull@hotmail.fr> ;;; Copyright © 2019 Giacomo Leidi <goodoldpaul@autistici.org> ;;; Copyright © 2019 Jens Mølgaard <jens@zete.tk> ;;; Copyright © 2019, 2020 Amin Bandali <bandali@gnu.org> @@ -250,7 +250,7 @@ (define-public emacs-geiser (package (name "emacs-geiser") - (version "0.23.2") + (version "0.26") (source (origin (method git-fetch) @@ -259,7 +259,7 @@ (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0p5cwx0xwva4ajgj8hnrk8bx6n3hv1z7aqs4zivp81crnq4077yw")))) + (base32 "1pm33zlcq84h61xhplmrlicckrax1pv39zrmv8ryzhi9mqrb6bdg")))) (build-system emacs-build-system) (arguments '(#:phases @@ -328,7 +328,7 @@ e.g. emacs-geiser-guile for Guile.") (("\\(geiser-activate-implementation .*\\)" all) (string-append "(eval-after-load 'geiser-impl '" all ")")))))))) - (inputs (list guile-3.0)) + (inputs (list guile-3.0-latest)) (propagated-inputs (list emacs-geiser)) (home-page "https://www.nongnu.org/geiser/") (synopsis "Guile Scheme support for Geiser") @@ -642,6 +642,25 @@ outlines, manage all your contacts, your windows and frames, and search across buffers, directory trees, or the web.") (license license:gpl3+))) +(define-public emacs-vlf + (package + (name "emacs-vlf") + (version "1.7.2") + (source + (origin + (method url-fetch) + (uri (string-append "https://elpa.gnu.org/packages/" + "vlf-" version ".tar")) + (sha256 + (base32 "0hpri19z6b7dqmrj5ckp8sf0m0l72lkgahqzvfmwhgpgv2p81bny")))) + (build-system emacs-build-system) + (home-page "https://github.com/m00natic/vlfi/") + (synopsis "View large files in Emacs") + (description +"Vlf is an Emacs minor mode that allows viewing, editing, searching and +comparing large files in batches.") + (license license:gpl2+))) + (define-public emacs-hg-histedit ;; From 2021-03-02. ;; No releases available. @@ -2881,7 +2900,7 @@ while paused.") (package (name "emacs-async") (home-page "https://github.com/jwiegley/emacs-async") - (version "1.9.4") + (version "1.9.6") (source (origin (method git-fetch) (uri (git-reference @@ -2890,7 +2909,7 @@ while paused.") (file-name (git-file-name name version)) (sha256 (base32 - "0hhpyxb3d531jb2f3wvzx25183f0anm8nxv6mh0p825q2gkm6ly7")))) + "1q480ss2jgijdpy6pa4xrjni9pf5q6dwf8hv052fhdpi55bmfdn2")))) (build-system emacs-build-system) (synopsis "Asynchronous processing in Emacs") (description @@ -2961,7 +2980,7 @@ or XEmacs.") (define-public emacs-autothemer (package (name "emacs-autothemer") - (version "0.2.2") + (version "0.2.9") (source (origin (method git-fetch) @@ -2971,7 +2990,7 @@ or XEmacs.") (file-name (git-file-name name version)) (sha256 (base32 - "0cd2pqh6k32sjidkcd8682y4l6mx52xw4a05f38kk8nsrk28m74k")))) + "1p7ii7f0w607zxyqnr8ivi0n0sg2p93pi6dpd9kjqywdagqyrnw1")))) (build-system emacs-build-system) (propagated-inputs (list emacs-dash)) @@ -3162,7 +3181,7 @@ Its features are: (define-public emacs-citeproc-el (package (name "emacs-citeproc-el") - (version "0.9") + (version "0.9.1") (source (origin (method git-fetch) @@ -3171,7 +3190,7 @@ Its features are: (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1m5j1abyk68f3d1v781yrx2xkg42vyfgfckbj2yk2lgk6d7rz0p1")))) + (base32 "0rkwqn9pcimfcyq19wlrcij0kcjyhbwisla7vwbhjj8ang0bq9rm")))) (build-system emacs-build-system) (arguments `(#:emacs ,emacs)) ;need libxml support @@ -4300,6 +4319,34 @@ which is restored where possible when the file is loaded again.") strings.") (license license:gpl3+))) +(define-public emacs-blight + (let ((commit "6bf9c6192d2bf979eebbfae1963401ef3ff4ef5d") + (revision "0")) + (package + (name "emacs-blight") + (version (git-version "0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://codeberg.org/emacs-weirdware/blight") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1x7s1fcva5kkl9iyb5grd6crf38rrz3zb0c6wb85khi9far10vgq")))) + (build-system emacs-build-system) + (home-page "https://codeberg.org/emacs-weirdware/blight") + (synopsis "Control display brightness") + (description + "Blight allows you to control display brightness from Emacs. It +features object-oriented code using EIEIO, a base class implementing +a reasonable API which focuses on the @emph{set the back light to this +percentage} functionality, it includes a concrete implementation that uses +SysFS to control brightness. Other systems (D-Bus, xbacklight, XELB using +XRandR) are easily supportable, giving the same experience across +environments.") + (license license:gpl3+)))) + (define-public emacs-symon (package (name "emacs-symon") @@ -4320,6 +4367,35 @@ strings.") "Tiny graphical system monitor for the Emacs minibuffer when idle.") (license license:gpl2+))) +(define-public emacs-lemon + (let ((commit "37a6e6d6ef0900ca19c820a2dbc122c7fe6d86cf") + (revision "0")) + (package + (name "emacs-lemon") + (version (git-version "2.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://codeberg.org/emacs-weirdware/lemon") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0bc77vzi4p6mlzmhgybbldlpcsiiv4xqrd5lnc7wzvmxv8byhqpm")))) + (build-system emacs-build-system) + (native-inputs + (list emacs-blight emacs-emms)) + (propagated-inputs + (list emacs-s)) + (home-page "https://codeberg.org/emacs-weirdware/lemon") + (synopsis "System monitors in the echo area") + (description + "Lemon is a tiny system monitor which displays system information in +the echo area when Emacs is has been idle for a few seconds. This is a fork +of zk_phi’s Symon, which has been largely rewritten. It works nicely with +EXWM.") + (license license:gpl3+)))) + (define-public emacs-sx (let ((version "20191229") (revision "0") @@ -6629,14 +6705,14 @@ src blocks.") (define-public emacs-debbugs (package (name "emacs-debbugs") - (version "0.32") + (version "0.33") (source (origin (method url-fetch) (uri (string-append "https://elpa.gnu.org/packages/debbugs-" version ".tar")) (sha256 - (base32 "1xp3mj3ndaljma0g7x9abziphgi2a6j8k1v52sb8xwgn4p5gdvby")))) + (base32 "1s4p3jf9yrm8pn5pljpkrw05n2p9v6fpl141rh1df7f7l0w80qbk")))) (build-system emacs-build-system) (arguments '(#:include '("\\.el$" "\\.wsdl$" "\\.info$"))) (propagated-inputs @@ -8708,7 +8784,7 @@ built-in custom themes.") (define-public emacs-gruvbox-theme (package (name "emacs-gruvbox-theme") - (version "1.29.0") + (version "1.30.0") (source (origin (method git-fetch) (uri (git-reference @@ -8717,7 +8793,7 @@ built-in custom themes.") (file-name (git-file-name name version)) (sha256 (base32 - "0ydwr2l3jhqbs3gk5qajirl54vfb8i65qrlzrs04jnsj1pkzq5xa")))) + "1dzaivis9cpqzb53qmkmhijr5l4hl2l3yr2412jxrz2jmqi3q4c5")))) (build-system emacs-build-system) (propagated-inputs (list emacs-autothemer)) @@ -9086,6 +9162,28 @@ Emacs completion function completing-read, which allows quickly selecting from a list of candidates.") (license license:gpl3+))) +(define-public emacs-consult-bibtex + ;; XXX: Upstream contains a single commit, which matches the version below. + (let ((commit "2f870d6eefb54a53216d90a82cff0ff97ba54725")) + (package + (name "emacs-consult-bibtex") + (version "0.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/mohkale/consult-bibtex") + (commit commit))) + (sha256 + (base32 + "0jxjvpg3j8zk77sfhyy27fd1zbj2zz7xayavan3hhj4853q92kwq")))) + (build-system emacs-build-system) + (inputs (list emacs-consult emacs-embark emacs-org-roam-bibtex)) + (home-page "https://github.com/mohkale/consult-bibtex") + (synopsis "Consulting-read interface for BibTeX completion") + (description "This package provides a read interface for BibTeX +completion using Consult.") + (license license:gpl3+)))) + (define-public emacs-consult-dir (package (name "emacs-consult-dir") @@ -9155,6 +9253,31 @@ provides a front-end interface for the workspace/symbols LSP procedure call.") (license license:gpl3+))) +(define-public emacs-consult-yasnippet + (let ((commit "ae0450889484f23dc4ec37518852a2c61b89f184") + (revision "0")) + (package + (name "emacs-consult-yasnippet") + (version (git-version "0.2" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/mohkale/consult-yasnippet") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "13hmmsnmh32vafws61sckzzy354rq0nslqpyzhw97iwvn0fpsa35")))) + (build-system emacs-build-system) + (propagated-inputs (list emacs-consult emacs-yasnippet)) + (home-page "https://github.com/mohkale/consult-yasnippet") + (synopsis "Consulting-read interface for Yasnippet") + (description + "This package allows you to expand Yasnippet' snippets through +a completing-read interface. It supports previewing the current snippet +expansion and overwriting the marked region with a new snippet completion.") + (license license:gpl3+)))) + (define-public emacs-marginalia (package (name "emacs-marginalia") @@ -10503,14 +10626,14 @@ as Fuseki or DBPedia.") (origin (method git-fetch) (uri (git-reference - (url "https://github.com/technomancy/better-defaults") + (url "https://git.sr.ht/~technomancy/better-defaults") (commit version))) (file-name (git-file-name name version)) (sha256 (base32 "1rxznx2l0cdpiz8mad8s6q17m1fngpgb1cki7ch6yh18r3qz8ysr")))) (build-system emacs-build-system) - (home-page "https://github.com/technomancy/better-defaults") + (home-page "https://git.sr.ht/~technomancy/better-defaults") (synopsis "Better defaults for Emacs") (description "Better defaults attempts to address the most obvious deficiencies of the @@ -13618,10 +13741,35 @@ provides functions to convert hash tables from and to alists and plists.") you to deal with multiple log levels.") (license license:gpl3+))) +(define-public emacs-denote + (package + (name "emacs-denote") + (version "0.5.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://git.sr.ht/~protesilaos/denote") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "00f50dhw0x1hn87rc6vkrdwpybnbphg5z0g2c6c4r4cbgaiia8bi")))) + (build-system emacs-build-system) + (native-inputs (list texinfo)) + (home-page "https://protesilaos.com/emacs/denote/") + (synopsis "Simple notes for Emacs") + (description +"Denote is a simple note-taking tool for Emacs. It is based on the idea that +notes should follow a predictable and descriptive file-naming scheme. The +file name must offer a clear indication of what the note is about, without +reference to any other metadata. Denote basically streamlines the creation of +such files while providing facilities to link between them.") + (license license:gpl3+))) + (define-public emacs-logos (package (name "emacs-logos") - (version "0.3.1") + (version "0.4.0") (source (origin (method git-fetch) (uri (git-reference @@ -13630,7 +13778,7 @@ you to deal with multiple log levels.") (file-name (git-file-name name version)) (sha256 (base32 - "1xhnhaxmjqdv0bbh22gj9ak83hha8d59q64b6aa4rynrgcyajk45")))) + "1f40h8kbmza2rgmz84rgwbb4bwqkbfxnc3sc7gqshvxdkz3flbb7")))) (native-inputs (list texinfo)) (build-system emacs-build-system) (arguments @@ -13654,6 +13802,40 @@ structure, or any other pattern.") (license (list license:gpl3+ license:fdl1.3+)))) ; GFDLv1.3+ for the manual +(define-public emacs-tmr + (package + (name "emacs-tmr") + (version "0.4.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://git.sr.ht/~protesilaos/tmr") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1vz9zfqap221baiy41wpxph33g6h2plnanzgpjs0wk8dz1fpwfky")))) + (build-system emacs-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'patch-ffplay + (lambda* (#:key inputs #:allow-other-keys) + (let ((ffplay (search-input-file inputs "/bin/ffplay"))) + (make-file-writable "tmr.el") + (substitute* "tmr.el" + (("\"ffplay") + (string-append "\"" ffplay))))))))) + (native-inputs (list texinfo)) + (inputs (list ffmpeg)) + (home-page "https://protesilaos.com/emacs/tmr/") + (synopsis "Set timers using a convenient notation") + (description + "TMR is an Emacs package that provides facilities for setting timers +using a convenient notation.") + (license license:gpl3+))) + (define-public emacs-gn-mode (package (name "emacs-gn-mode") @@ -14944,7 +15126,7 @@ letter of Pinyin to Simplified/Traditional Chinese characters.") (define-public emacs-reverse-im (package (name "emacs-reverse-im") - (version "0.0.7") + (version "0.0.8") (source (origin (method git-fetch) @@ -14953,7 +15135,7 @@ letter of Pinyin to Simplified/Traditional Chinese characters.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "05k2zp2hldzq5h6nl8gx79dd8lvfn507ad4x3naichdqgn2013nn")))) + (base32 "1h4gpyqir0kqf6a7ni8dbqwd4mr33imay0fmprrpfpfqxj0lj7c1")))) (build-system emacs-build-system) (home-page "https://github.com/a13/reverse-im.el") (synopsis "Reverse mapping for non-default system layouts") @@ -14962,6 +15144,31 @@ letter of Pinyin to Simplified/Traditional Chinese characters.") methods from a given list.") (license license:gpl3+))) +(define-public emacs-mini-frame + (let ((commit "60838f3cab438dcbda8eaa15ab3e5d1af88910e9") + (revision "0")) + (package + (name "emacs-mini-frame") + (version (git-version "1.19" revision commit)) + (source + (origin + (uri (git-reference + (url "https://github.com/muffinmad/emacs-mini-frame.git") + (commit commit))) + (method git-fetch) + (sha256 + (base32 "0q01iymz657bg3mcmq7vcl8r0ypsa1pqj1p6gxs7ywx1d33lan4d")) + (file-name (git-file-name name version)))) + (build-system emacs-build-system) + (home-page "https://github.com/muffinmad/emacs-mini-frame") + (synopsis "Show minibuffer in child frame") + (description + "@dfn{mini-frame-mode} adds an advice around @code{read-from-minibuffer} +to show the minibuffer as a child frame on top of the current frame. +@code{find-file} and similar functions associated mini-buffers may appear at +the center of the screen and not at the bottom.") + (license license:gpl3+)))) + (define-public emacs-posframe (package (name "emacs-posframe") @@ -18673,7 +18880,7 @@ according to a parsing expression grammar.") (define-public emacs-eldev (package (name "emacs-eldev") - (version "1.1.3") + (version "1.2.1") (source (origin (method git-fetch) @@ -18682,7 +18889,7 @@ according to a parsing expression grammar.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1dgbwaar8l8nl79mlzf5g1n49f1j9yj4772yfmim9vv8ppxnzbqk")))) + (base32 "1zf3vrk9yw4f4fj31g3vphjd3rhr2hv3q2crkdsgi7z5xlb8frds")))) (build-system emacs-build-system) (arguments (list @@ -18820,7 +19027,7 @@ Chinese to English.") (define-public emacs-org-auto-tangle (package (name "emacs-org-auto-tangle") - (version "0.4.1") + (version "0.6.0") (source (origin (method git-fetch) (uri (git-reference @@ -18829,7 +19036,7 @@ Chinese to English.") (file-name (git-file-name name version)) (sha256 (base32 - "1zb7vcmhmjiqpbbhqrqci689rnpn10p985cs5jk9sgg66xsbrgs3")))) + "1kn1jsbv97ps280lcdx19d6hs7pvz7q9ng67xlb1kwjb680pa7rl")))) (build-system emacs-build-system) (propagated-inputs (list emacs-async)) (home-page "https://github.com/yilkalargaw/org-auto-tangle") @@ -18942,7 +19149,7 @@ automatically fetched from well-curated sources, and formatted as BibTeX.") (define-public emacs-citar (package (name "emacs-citar") - (version "0.9.7") + (version "1.0") (source (origin (method git-fetch) (uri (git-reference @@ -18951,7 +19158,7 @@ automatically fetched from well-curated sources, and formatted as BibTeX.") (file-name (git-file-name name version)) (sha256 (base32 - "1f49l1zmy4fnz75b0m2rav5jm8yp6hry44bv9xasiszyy3bn0hv8")))) + "1n69lkp7298gasm9hlbx9nhgp9ggh8w8ffyvi1rmbj96lcnpsyi9")))) (build-system emacs-build-system) (arguments `(#:phases (modify-phases %standard-phases @@ -18980,6 +19187,36 @@ With Embark, it also makes available at-point actions in Org citations.") (license license:gpl3+))) +(define-public emacs-citar-org-roam + (package + (name "emacs-citar-org-roam") + (version "0.3") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/emacs-citar/citar-org-roam") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1ldfs7g7ixnrwj23draiph4vy6xq7qgw18vhi7vbw6wvkh9fcv9r")))) + (build-system emacs-build-system) + (propagated-inputs (list emacs-org-roam emacs-citar)) + (home-page "https://github.com/emacs-citar/citar-org-roam") + (synopsis "Emacs pacakge to provide tighter Citar and Org-Roam integration") + (description "\ +Out-of-box, Citar provides default support for file-per-note bibliographic +notes that are compatible with Org-Roam v2. This package integrates directly +with the Org-Roam database, and provides the following additional features to +Citar note support: +@itemize +@item multiple references per note +@item multiple reference notes per file +@item ability to query note citations by reference +@item ``live'' updating of Citar UI for presence of notes +@end itemize") + (license license:gpl3))) + (define-public emacs-helm-bibtex (let ((commit "aa775340ba691d2322948bfdc6a88158568a1399") (revision "3")) @@ -19333,7 +19570,7 @@ navigate and display hierarchy structures.") (define-public emacs-pulsar (package (name "emacs-pulsar") - (version "0.3.0") + (version "0.4.0") (source (origin (method git-fetch) (uri (git-reference @@ -19342,7 +19579,7 @@ navigate and display hierarchy structures.") (file-name (git-file-name name version)) (sha256 (base32 - "09s1r9zqc28g75jjxajdm34ni4m7gynh0xsffy5d60c50igiqa94")))) + "05ig8p3y5k20w4xy0ahaml9z0i0xyw6fkypzvz0mjpldhxl7dbxd")))) (native-inputs (list texinfo)) (build-system emacs-build-system) (arguments @@ -19520,8 +19757,8 @@ never confused by comments or @code{foo-bar} matching @code{foo}.") (define-public emacs-crdt ;; XXX: Upstream does not always tag new releases. The commit below ;; corresponds exactly to latest version bump. - (let ((commit "77be6cded0e2d24fc9c132032ae3bf7ae8ed2cf9") - (version "0.3.0")) + (let ((commit "2feb88ea9a2589946014878790af585cad9f28fc") + (version "0.3.2")) (package (name "emacs-crdt") (version version) @@ -19533,7 +19770,7 @@ never confused by comments or @code{foo-bar} matching @code{foo}.") (commit commit))) (file-name (git-file-name name version)) (sha256 - (base32 "0irf2allz7bp696nqlgg70ma6n336bspz8794bff1s1pramrzlhz")))) + (base32 "1fc98kl5qm7h5hrd70g61zzbdinnbf0zvk9rghf6w78ndp6lv7fz")))) (build-system emacs-build-system) (home-page "https://code.librehq.com/qhong/crdt.el") (synopsis "Real-time collaborative editing environment") @@ -20309,7 +20546,7 @@ powerful Org contents.") (define-public emacs-org-re-reveal (package (name "emacs-org-re-reveal") - (version "3.14.1") + (version "3.15.0") (source (origin (method git-fetch) @@ -20318,7 +20555,7 @@ powerful Org contents.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "180dn5iywarljbmx8lm61y30n2d800kg96psrvc8ghfglnvp6964")))) + (base32 "0mn7qn80289gizvnxyjjs00b7qmlf0692kai7qgzgfj6i87pjc38")))) (build-system emacs-build-system) (propagated-inputs (list emacs-htmlize emacs-org)) @@ -23033,7 +23270,7 @@ source code.") (define-public emacs-rustic (package (name "emacs-rustic") - (version "3.2") + (version "3.3") (source (origin (method git-fetch) @@ -23042,7 +23279,7 @@ source code.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "000awxvnwxg2hmhhn6yd9pnvflr91npfs2v1p5y7hcwg1d6mmvgk")))) + (base32 "088g6arlbq7czxyg5f31zmcm0gla7qh4vapaaskf6866yyqhizvb")))) (build-system emacs-build-system) (propagated-inputs (list emacs-dash @@ -23999,7 +24236,7 @@ targets the Emacs based IDEs (CIDER, ESS, Geiser, Robe, SLIME etc.)") (define-public emacs-buttercup (package (name "emacs-buttercup") - (version "1.25") + (version "1.26") (source (origin (method git-fetch) @@ -24009,18 +24246,18 @@ targets the Emacs based IDEs (CIDER, ESS, Geiser, Robe, SLIME etc.)") (file-name (git-file-name name version)) (sha256 (base32 - "0fsysvsypda6b7azc15bpaprq3bwx4gb6rlq2mj6f8rgwdqc8153")))) + "1zr9lczdr9dfh99n079d5advxm9p32a8f984dx14f3jn5mx750b1")))) (build-system emacs-build-system) (arguments - `(#:tests? #t - #:test-command '("make" "test") - #:phases - (modify-phases %standard-phases - (add-after 'install 'install-bin - (lambda* (#:key outputs #:allow-other-keys) - (install-file "bin/buttercup" - (string-append (assoc-ref outputs "out") "/bin")) - #t))))) + (list + #:tests? #t + #:test-command #~(list "make" "test") + #:phases + #~(modify-phases %standard-phases + (add-after 'install 'install-bin + (lambda _ + (install-file "bin/buttercup" + (string-append #$output "/bin"))))))) (home-page "https://github.com/jorgenschaefer/emacs-buttercup") (synopsis "Behavior driven emacs lisp testing framework") (description "Buttercup is a behavior-driven development framework for @@ -25089,7 +25326,7 @@ constant expressions.") (define-public emacs-dockerfile-mode (package (name "emacs-dockerfile-mode") - (version "1.6") + (version "1.7") (source (origin (method git-fetch) @@ -25099,7 +25336,7 @@ constant expressions.") (file-name (git-file-name name version)) (sha256 (base32 - "0nmybfc9qch0jng06qgs2xb41dl9v52ckc9nc20d7hv3x36w555x")))) + "0hmzwh8m72rj6cwaxfypnv3fmjrs11iqr15vsdw1rw7m55xi675f")))) (build-system emacs-build-system) (propagated-inputs (list emacs-s)) @@ -27962,6 +28199,29 @@ It can also be useful on Unix-like platforms to delay having to enter your passphrase until the first time you push to a remote.") (license license:gpl3+))) +(define-public emacs-super-save + (package + (name "emacs-super-save") + (version "0.3.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/bbatsov/super-save") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "066fyg4r4pksyandpd7s53hagpvm2rw90q5ks4jlpgy7x00hw09l")))) + (build-system emacs-build-system) + (home-page "https://github.com/bbatsov/super-save") + (synopsis "Auto-save buffers, based on your activity") + (description "Super-save auto-saves your buffers, when certain events +happen, e.g., when you switch between buffers or when an Emacs frame loses +focus. You can think of it as both something that augments and replaces the +standard Auto-save mode.") + (license license:gpl3+))) + (define-public emacs-tao-theme (let ((commit "468ee4f6ba7afb9dbfc8855ae2c333cb16ca4408") (revision "1")) @@ -28081,7 +28341,7 @@ Emacs that integrate with major modes like Org-mode.") (define-public emacs-modus-themes (package (name "emacs-modus-themes") - (version "2.5.0") + (version "2.6.0") (source (origin (method git-fetch) @@ -28090,7 +28350,7 @@ Emacs that integrate with major modes like Org-mode.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0ng85240zabw87ac53xnrlrafp10ns5wn6dgv9d1jxvnq40p7zqz")))) + (base32 "1zl1gd3jlkanjmlsxmwhqaiwyblp6kzznfjnw9cq8ah2390y9n1c")))) (native-inputs (list texinfo)) (build-system emacs-build-system) (arguments @@ -28147,7 +28407,7 @@ color. Designed for 256-color terminals. Comes in light and dark!") (define-public emacs-spacemacs-theme (package (name "emacs-spacemacs-theme") - (version "0.2") + (version "0.3") (source (origin (method git-fetch) @@ -28156,7 +28416,7 @@ color. Designed for 256-color terminals. Comes in light and dark!") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "15l9hb8f08nkxsaj8pxbg2mip4pp2msnrl0nvlq22zg40gh7pqsn")))) + (base32 "1yz8xg9ni9290nly5b93djkzk9235q6k4lhb5ghs6snr0r39157n")))) (build-system emacs-build-system) (home-page "https://github.com/nashamri/spacemacs-theme") (synopsis @@ -29432,6 +29692,27 @@ text, such a marking style might be used to show externally included text or example code.") (license license:gpl3+))) +(define-public emacs-buffer-env + (package + (name "emacs-buffer-env") + (version "0.4") + (source (origin + (method url-fetch) + (uri (string-append "https://elpa.gnu.org/packages/buffer-env-" + version ".tar")) + (sha256 + (base32 + "0y8ik87dqldhn6q631zp2ln9z5byqgm9icrvr4xrdx6g8mr9c56z")))) + (build-system emacs-build-system) + (propagated-inputs (list emacs-compat)) + (home-page "https://github.com/astoff/buffer-env") + (synopsis "Create buffer-local process environments") + (description "This package creates buffer-local environments using scripts +similar to Direnv. This allows Emacs to call the correct version of external +programs such as linters, compilers, and language servers on a per-project +basis.") + (license license:gpl3+))) + (define-public emacs-buffer-move (package (name "emacs-buffer-move") @@ -31012,14 +31293,14 @@ work on alists, hash-table and arrays. All functions are prefixed with (define-public emacs-xref (package (name "emacs-xref") - (version "1.4.1") + (version "1.5.0") (source (origin (method url-fetch) (uri (string-append "https://elpa.gnu.org/packages/xref-" version ".tar")) (sha256 - (base32 "1vbpplw0sngymmawi940nlqmncqznb5vp7zi0ib8v66g3y33ijrf")))) + (base32 "0xl6aiwkjbgs44c3wxk6s85diydm3y5lsd7znb0dhbqb7milid2d")))) (build-system emacs-build-system) (home-page "http://elpa.gnu.org/packages/xref.html") (synopsis "Cross-referencing commands") @@ -31762,7 +32043,7 @@ headlines, keywords, tables and source blocks.") (license license:gpl3+)))) ; License is in pyimport.el (define-public emacs-straight-el - (let ((commit "4517e118ee43f849f708025dbb2cf4f281793121") + (let ((commit "fed215348076ba9182f634e0770a175220474b5a") (revision "0")) (package (name "emacs-straight-el") @@ -31772,11 +32053,11 @@ headlines, keywords, tables and source blocks.") (method git-fetch) (uri (git-reference - (url "https://github.com/raxod502/straight.el") + (url "https://github.com/radian-software/straight.el") (commit commit))) (file-name (git-file-name name version)) (sha256 - (base32 "0idhgh203rac9c046286gir9rq0lgnlllzj4b4hrjpd3idg9v0r8")))) + (base32 "0z0j670s18mp1bhrsnng0mybcbnlywarhlz7zmrf9399rr513z1x")))) (build-system emacs-build-system) (arguments (list @@ -31808,7 +32089,7 @@ headlines, keywords, tables and source blocks.") (list git)) (propagated-inputs (list emacs-magit)) - (home-page "https://github.com/raxod502/straight.el/") + (home-page "https://github.com/radian-software/straight.el/") (synopsis "Purely functional package manager for the Emacs hacker") (description "@code{emacs-straight-el} is a purely functional package manager for the Emacs @@ -31925,6 +32206,53 @@ scrolling, and they even don't go away when switching buffer, but you can bind a popon to a specific buffer to only show on that buffer.") (license license:gpl3+)))) +(define-public emacs-consult-lsp + (package + (name "emacs-consult-lsp") + (version "1.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/gagbo/consult-lsp") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "14dyclspkf1a34nvjj800ckz1phsizq07ps8k4x0ah6ik0hfhy1w")))) + (build-system emacs-build-system) + (propagated-inputs (list emacs-consult emacs-lsp-mode emacs-f)) + (home-page "https://github.com/gagbo/consult-lsp/") + (synopsis "LSP-mode and consult helping each other") + (description +"@code{emacs-consult-lsp} provides helpers for interactively selecting LSP +workspace diagnostics, symbols, and file symbols from @{emacs-lsp-mode} +by leveraging @code{emacs-consult} APIs.") + (license license:expat))) + +(define-public emacs-pdb-capf + (let ((commit "31602ccab53aa7dcf26a1af222c7da2bcc1390ed") + (revision "0")) + (package + (name "emacs-pdb-capf") + (version (git-version "1.0" revision commit)) + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/muffinmad/emacs-pdb-capf") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0x2pg03csf25vj8y2zb5sv493dk3n0s4xbkihii2mzhkx82vgpxg")))) + (build-system emacs-build-system) + (home-page "https://github.com/muffinmad/emacs-pdb-capf") + (synopsis "Completion-at-point function for pdb") + (description +"@code{emacs-pdb-capf} provides a @code{completion-at-point} function +for pdb allowing completion in a @code{*gud-pdb*} buffer.") + (license license:gpl3+)))) + (define-public emacs-bitbake-modes (package (name "emacs-bitbake-modes") @@ -31967,3 +32295,27 @@ projects.") tree to go back to previous buffer states. To use vundo, type @kbd{M-x vundo RET} in the buffer you want to undo. An undo tree buffer should pop up.") (license license:gpl3+))) + +(define-public emacs-vertico-posframe + (package + (name "emacs-vertico-posframe") + (version "0.5.4") + (source (origin + (method url-fetch) + (uri (string-append + "https://elpa.gnu.org/packages/vertico-posframe-" version + ".tar")) + (sha256 + (base32 + "19lx6p06wkwfivxgswdljdsh9bgcd1b9zkzx426w3pwicdk0cvgg")))) + (build-system emacs-build-system) + (propagated-inputs (list emacs-posframe emacs-vertico)) + (home-page "https://github.com/tumashu/vertico-posframe") + (synopsis "Pop up a frame at point to show vertical completion UI") + (description + "Vertico is an Emacs package that provides a vertical completion UI based +on the default completion system. Posframe is an Emacs package that provides +a way to pop up a frame at point. Vertico-posframe is an Emacs package and +a Vertico extension which provides a way to pop up a frame at point to show +a vertical completion UI.") + (license license:gpl3+))) diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm index ed87cd8d6a..f195179413 100644 --- a/gnu/packages/engineering.scm +++ b/gnu/packages/engineering.scm @@ -67,6 +67,7 @@ #:use-module (guix build-system cmake) #:use-module (guix build-system emacs) #:use-module (guix build-system gnu) + #:use-module (guix build-system meson) #:use-module (guix build-system python) #:use-module (guix build-system qt) #:use-module (gnu packages) @@ -88,6 +89,7 @@ #:use-module (gnu packages digest) #:use-module (gnu packages docbook) #:use-module (gnu packages documentation) + #:use-module (gnu packages file) #:use-module (gnu packages flex) #:use-module (gnu packages fontutils) #:use-module (gnu packages fpga) @@ -142,6 +144,7 @@ #:use-module (gnu packages tbb) #:use-module (gnu packages tcl) #:use-module (gnu packages texinfo) + #:use-module (gnu packages text-editors) #:use-module (gnu packages tls) #:use-module (gnu packages tex) #:use-module (gnu packages version-control) @@ -2438,7 +2441,7 @@ comments."))) (define-public freecad (package (name "freecad") - (version "0.20") + (version "0.20.1") (source (origin (method git-fetch) @@ -2447,7 +2450,7 @@ comments."))) (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "14bn75bjh93f8k3hinqw913z1q0ywq7niklwbbd99hf5n342hsv4")))) + (base32 "1pgkjlahisqjvi3dd7ywj1zwhsl3wn3p15sifbmrdfdmw9is3z2b")))) (build-system qt-build-system) (native-inputs (list doxygen @@ -2524,12 +2527,11 @@ comments."))) (home-page "https://www.freecadweb.org/") (synopsis "Your Own 3D Parametric Modeler") (description - "FreeCAD is a general purpose feature-based, parametric 3D modeler for -CAD, MCAD, CAx, CAE and PLM, aimed directly at mechanical engineering and -product design but also fits a wider range of uses in engineering, such as -architecture or other engineering specialties. It is 100% Open Source (LGPL2+ -license) and extremely modular, allowing for very advanced extension and -customization.") + "FreeCAD is a general-purpose, feature-based, parametric 3D modeler for +CAD, MCAD, CAx, CAE, and PLM. It is aimed directly at mechanical engineering +and product design but also fits a wider range of uses in engineering, such as +architecture or other engineering specialties. It is modular, allowing for +extension and customization.") (license (list license:lgpl2.1+ @@ -3352,10 +3354,10 @@ facilitate the communication between Cura and its backend and similar code.") "stb_image.h"))))))) (home-page "https://github.com/Ultimaker/CuraEngine") (synopsis "Cura slicing engine") - (description "CuraEngine is a powerful, fast and robust engine for -processing 3D models into 3D printing instruction for Ultimaker and other -GCode based 3D printers. It is part of the larger open source project called -Cura.") + (description + "CuraEngine is an engine for processing 3D models into 3D printing +instructions for Ultimaker and other GCode-based 3D printers. It is part of a +larger project called Cura.") (license license:agpl3+))) (define-public cura-binary-data @@ -3757,3 +3759,57 @@ form, numpad. @item Visualizing G-code files. @end itemize") (license license:gpl3+)))) + +(define-public rizin + (package + (name "rizin") + (version "0.4.0") + (source (origin + (method url-fetch) + (uri (string-append + "https://github.com/rizinorg/rizin/releases/download/v" + version "/rizin-src-v" version ".tar.xz")) + (sha256 + (base32 + "0nkb6v9lks25w5sv5s6p2ghgqnnnsf39md8nlx1cy4z89xlaisq9")))) + (build-system meson-build-system) + (arguments + (list + #:configure-flags + #~(list "-Dpackager=guix" + (string-append "-Dpackager_version=" #$version) + "-Duse_sys_capstone=enabled" + "-Duse_sys_magic=enabled" + "-Duse_sys_libzip=enabled" + "-Duse_sys_zlib=enabled" + "-Duse_sys_lz4=enabled" + "-Duse_sys_xxhash=enabled" + "-Duse_sys_openssl=enabled" + "-Duse_sys_tree_sitter=enabled" + "-Duse_sys_libuv=enabled" + "-Duse_gpl=true") + #:phases + #~(modify-phases %standard-phases + (add-before 'configure 'skip-integration-tests + (lambda _ + ;; Skip integration tests, which require prebuilt binaries at: + ;; <https://github.com/rizinorg/rizin-testbins>. + ;; And 2 of them are failing, reported upstream: + ;; <https://github.com/rizinorg/rizin/issues/2905>. + (substitute* "test/meson.build" + (("subdir\\('integration'\\)") ""))))))) + (native-inputs (list pkg-config)) + (inputs + (list capstone file libuv libzip lz4 openssl tree-sitter xxhash zlib)) + (home-page "https://rizin.re") + (synopsis "Disasm, debug, analyze and manipulate binary files") + (description + "Rizin is a reverse engineering framework and a set of small command-line +utilities, providing a complete binary analysis experience with features like +disassembler, hexadecimal editor, emulation, binary inspection, debugger, and +more.") + ;; Most files are under LGPL-3.0-only, other are under: Apache-2.0, + ;; BSD-2-Clause, BSD-3-Clause, CC0-1.0, CC-BY-SA-4.0, GPL-1.0-or-later, + ;; GPL-2.0-only, GPL-2.0-or-later, GPL-3.0-or-later, LGPL-2.0-or-later, + ;; LGPL-2.1-only, LGPL-2.1-or-later, LGPL-3.0-only, MIT, NCSA. + (license license:gpl3+))) diff --git a/gnu/packages/file-systems.scm b/gnu/packages/file-systems.scm index c6063c42c4..d326b9cc3d 100644 --- a/gnu/packages/file-systems.scm +++ b/gnu/packages/file-systems.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2017, 2018, 2020, 2021 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2017, 2018, 2020–2022 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017 Gábor Boskovits <boskovits@gmail.com> ;;; Copyright © 2017, 2018, 2021 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2018 Leo Famulari <leo@famulari.name> @@ -380,6 +380,48 @@ is corrupted you'll lose the affected file(s) but not the whole back-up.") (home-page "https://www.fsarchiver.org/") (license license:gpl2))) +(define-public fstransform + (package + (name "fstransform") + (version "0.9.4") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/cosmos72/fstransform") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0vhypb6pbghja95av62ds4mhldbg0h8g4yg94k9r7lsxm7bgpfr3")))) + (build-system gnu-build-system) + (arguments + (list #:phases + #~(modify-phases %standard-phases + (add-after 'install 'install-README + ;; There are no man pages. Install a poor substitute. + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (doc (string-append out "/share/doc/" #$name))) + (install-file "README" doc))))))) + (inputs (list e2fsprogs)) + (home-page "https://github.com/cosmos72/fstransform") + (synopsis "Convert file system types in place without copying all data") + (description + "This package provides several command-line tools to transform a supported +file system, such as XFS, into one of a different supported type, such as ext4. +All existing file contents, names, and directories are preserved. + +The conversion happens @dfn{in place}, without the need to create a complete +copy of the original data. This lets you transform almost full file systems on +systems where adding (sufficient) additional storage space is not an option. + +Do @emph{not} use this package when you could simply create an empty file system +from scratch and restore from a back-up. Transformation is limited, slow, and +significantly increases the risk of irreversible data loss!") + ;; Please follow <https://github.com/cosmos72/fstransform/issues/46>. + (license (list license:gpl2 ; fsattr/src/e4attr.* → sbin/fsattr + license:gpl3+)))) ; the rest + (define-public gphotofs (package (name "gphotofs") diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm index 4b5ab2924b..849f9aba99 100644 --- a/gnu/packages/finance.scm +++ b/gnu/packages/finance.scm @@ -9,7 +9,7 @@ ;;; Copyright © 2017–2021 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2018 Adriano Peluso <catonano@gmail.com> -;;; Copyright © 2018, 2019, 2020, 2021 Nicolas Goaziou <mail@nicolasgoaziou.fr> +;;; Copyright © 2018, 2019, 2020, 2021, 2022 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2019, 2020, 2021, 2022 Guillaume Le Vaillant <glv@posteo.net> ;;; Copyright © 2019 Tanguy Le Carrour <tanguy@bioneland.org> @@ -30,6 +30,8 @@ ;;; Copyright © 2022 Aleksandr Vityazev <avityazev@posteo.org> ;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2022 Philip McGrath <philip@philipmcgrath.com> +;;; Copyright © 2022 Collin J. Doering <collin@rekahsoft.ca> +;;; Copyright © 2022 Justin Veilleux <terramorpha@cock.li> ;;; ;;; This file is part of GNU Guix. ;;; @@ -78,14 +80,16 @@ #:use-module (gnu packages documentation) #:use-module (gnu packages dns) #:use-module (gnu packages emacs) + #:use-module (gnu packages emacs-xyz) #:use-module (gnu packages dbm) #:use-module (gnu packages gettext) - #:use-module (gnu packages gnome) - #:use-module (gnu packages golang) #:use-module (gnu packages glib) + #:use-module (gnu packages gnome) #:use-module (gnu packages gnupg) + #:use-module (gnu packages golang) #:use-module (gnu packages graphviz) #:use-module (gnu packages groff) + #:use-module (gnu packages gsasl) #:use-module (gnu packages gtk) #:use-module (gnu packages haskell-check) #:use-module (gnu packages haskell-web) @@ -98,6 +102,7 @@ #:use-module (gnu packages linux) #:use-module (gnu packages man) #:use-module (gnu packages maths) + #:use-module (gnu packages mpi) #:use-module (gnu packages multiprecision) #:use-module (gnu packages ncurses) #:use-module (gnu packages networking) @@ -278,14 +283,14 @@ Accounting.") (define-public homebank (package (name "homebank") - (version "5.5.5") + (version "5.5.6") (source (origin (method url-fetch) (uri (string-append "http://homebank.free.fr/public/homebank-" version ".tar.gz")) (sha256 (base32 - "0rwykjpv4w7bffyvx2j6py17nxw9jcbml7ma4is194i3npn0bkmy")))) + "1nn75wzk9h82zsakxng1v94nlg7hq3ssicvskl1m5hg4fa68w3j6")))) (build-system glib-or-gtk-build-system) (native-inputs (list pkg-config intltool)) @@ -462,6 +467,37 @@ in ability, and easy to use. This package provides the Emacs mode.") (license license:gpl2+)))) +(define-public emacs-hledger-mode + (let ((commit "400bde42a8d2712af80cd7c773c9cdfbb63a515a") + (revision "1")) + (package + (name "emacs-hledger-mode") + (version (git-version "20220515" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/narendraj9/hledger-mode") + (commit commit))) + (sha256 + (base32 + "0xmcfpr3rxli1adwypg18npl8hb8ak5rg6a6i26inzzqja6vr897")))) + (build-system emacs-build-system) + (propagated-inputs + (list emacs-popup + emacs-async + emacs-htmlize)) + (arguments + '(#:include '("^[^/]+.el$") + #:exclude '())) + (home-page "https://github.com/narendraj9/hledger-mode") + (synopsis "Mode for writing journal entries for hledger") + (description + "This major mode for Emacs enables writing and managing hledger +journal files. It generates some useful reports along with some financial +ratios that can help you keep a check on your financial health for users of +the plaintext accounting system hledger.") + (license license:gpl3)))) + (define-public geierlein (package (name "geierlein") @@ -590,7 +626,7 @@ other machines/servers. Electrum does not download the Bitcoin blockchain.") (define-public electron-cash (package (name "electron-cash") - (version "4.2.10") + (version "4.2.11") (source (origin (method git-fetch) @@ -599,7 +635,7 @@ other machines/servers. Electrum does not download the Bitcoin blockchain.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0axpypq9byda61rp3sznrq24b24qxbfwk56j75qp06s1ackg0pcv")))) + (base32 "1g0xnb63c52l379zrqkfhxlkg1d2hf2dgjs2swspa0vah845r282")))) (build-system python-build-system) (arguments (list @@ -671,7 +707,7 @@ blockchain.") ;; the system's dynamically linked library. (package (name "monero") - (version "0.18.0.0") + (version "0.18.1.0") (source (origin (method git-fetch) @@ -689,7 +725,7 @@ blockchain.") delete-file-recursively '("external/miniupnp" "external/rapidjson")))) (sha256 - (base32 "1jq2v2dg50gl3cf9s61jssny5rraclxqj4cc4y0sl00ip8icj08v")))) + (base32 "18yj44pki7x8ir6wg02g1h6yxp1hnqb0nrx9x5dvv94rda48cy66")))) (build-system cmake-build-system) (native-inputs (list doxygen @@ -776,7 +812,7 @@ the Monero command line client and daemon.") (define-public monero-gui (package (name "monero-gui") - (version "0.18.0.0") + (version "0.18.1.0") (source (origin (method git-fetch) @@ -792,7 +828,7 @@ the Monero command line client and daemon.") ;; See the 'extract-monero-sources' phase. (delete-file-recursively "monero"))) (sha256 - (base32 "14rbw9803h3g7ld3d24vc3i9n55n09x13frkmd128xx5jw17v5sr")))) + (base32 "1z627jy9n6cwc9yv0w58fbhix4qnllk0q42ga75mhlawaz68j0qi")))) (build-system qt-build-system) (native-inputs `(,@(package-native-inputs monero) @@ -801,6 +837,7 @@ the Monero command line client and daemon.") (modify-inputs (package-inputs monero) (append libgcrypt monero + p2pool qtbase-5 qtdeclarative-5 qtgraphicaleffects @@ -834,6 +871,17 @@ the Monero command line client and daemon.") (string-append "set(CMAKE_C_FLAGS \"${CMAKE_C_FLAGS} -fPIC\")\n" all))))) + (add-after 'unpack 'fix-p2pool-path + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "src/p2pool/P2PoolManager.cpp" + ;; Location for files created by P2Pool + (("m_p2poolPath = QApplication::applicationDirPath\\(\\);") + "m_p2poolPath = QStandardPaths::writableLocation(QStandardPaths::CacheLocation);") + ;; Location of p2pool program + (("m_p2pool = m_p2poolPath \\+ \"/p2pool\";") + (string-append "m_p2pool = \"" + (search-input-file inputs "/bin/p2pool") + "\";"))))) (replace 'install (lambda _ (let ((bin (string-append #$output "/bin"))) @@ -1236,13 +1284,13 @@ Luhn and family of ISO/IEC 7064 check digit algorithms.") (define-public python-duniterpy (package (name "python-duniterpy") - (version "1.0.0") + (version "1.1.0") (source (origin (method url-fetch) (uri (pypi-uri "duniterpy" version)) (sha256 - (base32 "13kp2ph7fb1cdkx1y6j2h8q33fj2akc104l77ng52cy4v8jic9nz")))) + (base32 "18i5bqz58vjp740pxb4wb4ixg1g2d73cwi0d8gp85fmj5p8f2gx7")))) (build-system python-build-system) (arguments ;; FIXME: Tests fail with: "TypeError: block_uid() missing 1 required @@ -1255,13 +1303,11 @@ Luhn and family of ISO/IEC 7064 check digit algorithms.") (("mnemonic>=0\\.19,<0.20") "mnemonic>=0.19"))))))) (propagated-inputs - (list python-aiohttp - python-attrs + (list python-attrs python-base58 python-jsonschema python-libnacl python-pyaes - python-pylibscrypt python-graphql-core python-mnemonic python-websocket-client @@ -2081,3 +2127,100 @@ analysis of financial market data.") format used by SWIFT. It returns smart Python collections for statistics and manipulation.") (license license:bsd-3))) + +(define-public xmrig + (package + (name "xmrig") + (version "6.18.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/xmrig/xmrig") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 (base32 "1ncnfjpjwjdv29plyiam2nh01bfni49sgfi3qkijygi1450w71dx")) + (modules '((guix build utils))) + (snippet + ;; TODO: Try to use system libraries instead of bundled ones in + ;; "src/3rdparty/". It requires changes to some "cmake/..." scripts + ;; and to some source files. + #~(substitute* "src/donate.h" + (("constexpr const int kDefaultDonateLevel = 1;") + "constexpr const int kDefaultDonateLevel = 0;") + (("constexpr const int kMinimumDonateLevel = 1;") + "constexpr const int kMinimumDonateLevel = 0;"))))) + (build-system cmake-build-system) + (inputs + (list + `(,hwloc "lib") + libuv + openssl)) + (arguments + (list + ;; There are no tests. + #:tests? #f + #:phases + #~(modify-phases + %standard-phases + (replace 'install + ;; There is no 'install' target, we must install xmrig manually + (lambda* (#:key #:allow-other-keys) + (install-file "xmrig" + (string-append #$output "/bin"))))))) + (home-page "https://xmrig.com/") + (synopsis "Monero miner") + (description + "XMRig is a high performance, cross platform RandomX, KawPow, +CryptoNight, AstroBWT and GhostRider unified CPU/GPU miner and RandomX +benchmark. + +Warning: upstream, by default, receives a percentage of the mining time. This +anti-functionality has been neutralised in Guix, but possibly not in all other +distributions. + +Warning: this software, because of it's nature, has high energy consumption. +Also, the energy expenses might be higher that the cryptocurrency gained by +mining.") + (license license:gpl3+))) + +(define-public p2pool + (package + (name "p2pool") + (version "2.2.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/SChernykh/p2pool") + (commit (string-append "v" version)) + (recursive? #t))) + (file-name (git-file-name name version)) + (sha256 (base32 "19pn7axj96yvza2x7678rs79c2vgmhl8d7f9ki72v2n6l2630fw8")) + (modules '((guix build utils))) + (snippet + #~(for-each delete-file-recursively + '("external/lib" + "external/src/cppzmq" + "external/src/curl" + "external/src/libuv" + "external/src/libzmq" + "external/src/rapidjson"))))) + (build-system cmake-build-system) + (inputs + (list cppzmq curl gss libuv rapidjson zeromq)) + (arguments + (list + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (replace 'install + (lambda _ + (install-file "p2pool" (string-append #$output "/bin"))))))) + (home-page "https://p2pool.io/") + (synopsis "Decentralized Monero mining pool") + (description "Monero P2Pool is a peer-to-peer Monero mining pool. P2Pool +combines the advantages of pool and solo mining; you still fully control your +Monero node and what it mines, but you get frequent payouts like on a regular +pool.") + (license license:gpl3))) diff --git a/gnu/packages/firmware.scm b/gnu/packages/firmware.scm index a258af30bf..3ba5078b63 100644 --- a/gnu/packages/firmware.scm +++ b/gnu/packages/firmware.scm @@ -265,9 +265,11 @@ broadband modem as found, for example, on PinePhone.") bin)) #t))))) (home-page "https://github.com/riscv-software-src/opensbi") - (synopsis "RISC-V Open Source Supervisor Binary Interface") - (description "A reference implementation of the RISC-V SBI specifications -for platform-specific firmwares executing in M-mode.") + (synopsis "RISC-V @acronym{SBI, Supervisor Binary Interface} implementation") + (description + "OpenSBI is the reference implementation of the RISC-V @acronym{SBI, +Supervisory Binary Interface} specifications for platform-specific firmwares +executing in M-mode.") (license (list license:bsd-2 ;; lib/utils/libfdt/* is dual licensed under bsd-2 and gpl2+. license:gpl2+ diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm index 20b55bce96..09445cd00c 100644 --- a/gnu/packages/fonts.scm +++ b/gnu/packages/fonts.scm @@ -51,6 +51,7 @@ ;;; Copyright © 2021 Liliana Marie Prikler <liliana.prikler@gmail.com> ;;; Copyright © 2022 Jose G Perez Taveras <josegpt27@gmail.com> ;;; Copyright © 2022 Hilton Chain <hako@ultrarare.space> +;;; Copyright © 2022 Nguyễn Gia Phong <mcsinyx@disroot.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -732,6 +733,26 @@ following fonts in the OpenType format: Adventor, Bonum, Chorus, Cursor, Heros, Pagella, Schola, Termes.") (license license:gfl1.0))) +(define-public font-latin-modern + (package + (name "font-latin-modern") + (version "2.004") + (source + (origin + (method url-fetch/zipbomb) + (uri (string-append "https://www.gust.org.pl/projects/e-foundry/" + "latin-modern/download/lm" version "otf.zip")) + (sha256 + (base32 "06qnvd6kh07gy2197vx3nmskhiqhp7ip9cpi2rkbwa1p3l2kc0jv")))) + (build-system font-build-system) + (home-page "https://www.gust.org.pl/projects/e-foundry/latin-modern") + (synopsis "OpenType fonts based on Computer Modern") + (description "The Latin Modern fonts are a set of scalable fonts based on +the PostScript Type 1 version of the Computer Modern fonts and contain many +additional characters (mostly accented ones). This package provides the +OpenType variant of these fonts.") + (license license:gfl1.0))) + (define-public font-amiri (package (name "font-amiri") @@ -821,7 +842,7 @@ for use at smaller text sizes"))) (define-public font-gnu-unifont (package (name "font-gnu-unifont") - (version "14.0.03") + (version "14.0.04") (source (origin (method url-fetch) @@ -831,7 +852,7 @@ for use at smaller text sizes"))) (string-append "mirror://gnu/unifont/unifont-" version "/unifont-" version ".tar.gz"))) (sha256 - (base32 "1swzwh355ipqhm3vvy7005fqawydlcdbkxm3h04vhicahp8hl06l")))) + (base32 "1fzycjxmgnq77r2s5914w1phg3qdwwnwa6p3zyfa1cscrxy52phz")))) (build-system gnu-build-system) (outputs '("out" ; TrueType version "pcf" ; PCF (bitmap) version diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm index ce4709773d..da324a6a9d 100644 --- a/gnu/packages/fontutils.scm +++ b/gnu/packages/fontutils.scm @@ -195,7 +195,8 @@ them as it goes.") `("PATH" prefix (,bindir)))) commands))))))) (native-inputs - (list ninja python-pytest python-scikit-build python-wheel)) + (list ninja python-pytest python-scikit-build python-setuptools-scm + python-wheel)) (inputs (list java-antlr4-runtime-cpp `(,util-linux "lib"))) (propagated-inputs (list psautohint @@ -389,7 +390,8 @@ converts any cubic curves to quadratic. The most useful function is probably (sha256 (base32 "0a6iq5g6qdxj7nvip8nnf0mf8y5wmpd3wwq0dv7d4nm9bjrh0r6m")))) (build-system python-build-system) - (native-inputs (list python-pytest python-pytest-runner)) + (native-inputs + (list python-pytest python-pytest-runner python-setuptools-scm)) (propagated-inputs (list python-booleanoperations python-cffsubr @@ -497,7 +499,7 @@ implementing the pen protocol for manipulating glyphs.") python-defcon-bootstrap python-fontmath python-fonttools)) - (native-inputs (list unzip)) + (native-inputs (list python-setuptools-scm unzip)) (home-page "https://github.com/robotools/fontParts") (synopsis "Library for interacting with font parts") (description "FontParts is an @acronym{API, Application Programming @@ -734,7 +736,7 @@ paths (intersection, union, difference, xor).") python-fontparts python-fonttools python-mutatormath)) - (native-inputs (list unzip)) + (native-inputs (list python-setuptools-scm unzip)) (home-page "https://github.com/LettError/ufoProcessor") (synopsis "Process and generate @acronym{UFO, Unified Font Object} files") (description "This Python package processes and generates instances for diff --git a/gnu/packages/fpga.scm b/gnu/packages/fpga.scm index b8f98ca63e..06d4a10e7e 100644 --- a/gnu/packages/fpga.scm +++ b/gnu/packages/fpga.scm @@ -226,8 +226,8 @@ For synthesis, the compiler generates netlists in the desired format.") (license license:isc))) (define-public icestorm - (let ((commit "0ec00d892a91cc68e45479b46161f649caea2933") - (revision "3")) + (let ((commit "2bc541743ada3542c6da36a50e66303b9cbd2059") + (revision "4")) (package (name "icestorm") (version (git-version "0.0" revision commit)) @@ -239,7 +239,7 @@ For synthesis, the compiler generates netlists in the desired format.") (file-name (git-file-name name version)) (sha256 (base32 - "1qlh99fafb7xga702k64fmc9m700nsddrfgcq4x8qn8fplsb64f1")))) + "0d0ibdq3rzmjcbv97h4b9wgq8ikvgwlfw60spi2w81mis317lis8")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; no unit tests that don't need an FPGA exist. diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm index 3e0301a199..661e1c0e07 100644 --- a/gnu/packages/game-development.scm +++ b/gnu/packages/game-development.scm @@ -2136,10 +2136,11 @@ of the others") (define-public ioquake3 ;; We follow master since it seems that there won't be releases after 1.3.6. - (let ((commit "95b9cab4d644fa3bf757cfff821cc4f7d76e38b0")) + (let ((revision "2") + (commit "29b0cc3a4d037046eb3247fc04f4b703f6a33452")) (package (name "ioquake3") - (version (git-version "1.3.6" "1" commit)) + (version (git-version "1.3.6" revision commit)) (source (origin (method git-fetch) @@ -2148,48 +2149,48 @@ of the others") (commit commit))) (file-name (git-file-name name version)) (sha256 - (base32 - "1vflk028z9gccg5yfi5451y1k5wxjdh3qbhjf4x6r7w2pzlxh16z")))) + (base32 "0fqq2qpnrgpgf3gs71wvxlkcihxcrvhvllh88ii4ip134c1qbs9q")))) (build-system gnu-build-system) (inputs - `(("sdl2" ,sdl2) - ("libjpeg" ,libjpeg-turbo) - ("openal" ,openal) - ("curl" ,curl) - ("opusfile" ,opusfile) - ("opus" ,opus) - ("libvorbis" ,libvorbis) - ("freetype" ,freetype) - ("libogg" ,libogg))) + (list curl + freetype + libjpeg-turbo + libogg + libvorbis + openal + opus + opusfile + sdl2)) (native-inputs - (list which ; Else SDL_version.h won't be found. + (list which ; else SDL_version.h won't be found. pkg-config)) (arguments - '(#:tests? #f ; No tests. - #:make-flags '("CC=gcc" - "USE_INTERNAL_LIBS=0" - "USE_FREETYPE=1" - "USE_RENDERER_DLOPEN=0" - "USE_OPENAL_DLOPEN=0" - "USE_CURL_DLOPEN=0") - #:phases - (modify-phases %standard-phases - (delete 'configure) - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (invoke "make" "copyfiles" "CC=gcc" - "USE_INTERNAL_LIBS=0" + (list + #:tests? #f ; no tests + #:make-flags + #~(list (string-append "CC=" #$(cc-for-target)) + "USE_INTERNAL_LIBS=0" + "USE_FREETYPE=1" + "USE_RENDERER_DLOPEN=0" + "USE_OPENAL_DLOPEN=0" + "USE_CURL_DLOPEN=0") + #:phases + #~(modify-phases %standard-phases + (delete 'configure) ; no configure-script + (replace 'install + (lambda* (#:key make-flags outputs #:allow-other-keys) + (apply invoke "make" "copyfiles" (string-append "COPYDIR=" (assoc-ref outputs "out") - "/bin"))))))) + "/bin") + make-flags)))))) (home-page "https://ioquake3.org/") (synopsis "FPS game engine based on Quake 3") (description "ioquake3 is a free software first person shooter engine based on the Quake 3: Arena and Quake 3: Team Arena source code. Compared to the original, ioquake3 has been cleaned up, bugs have been fixed and features -added. The permanent goal is to create the open source Quake 3 distribution -upon which people base their games, ports to new platforms, and other -projects.") +added. The permanent goal is to create a Quake 3 distribution upon which +people base their games, ports to new platforms, and other projects.") (license license:gpl2)))) (define-public instead @@ -2651,7 +2652,7 @@ game engine. id Tech 2 is the engine originally behind Quake 2.") (define-public dhewm3 (package (name "dhewm3") - (version "1.5.1") + (version "1.5.2") (source (origin (method url-fetch) (uri (string-append @@ -2659,7 +2660,7 @@ game engine. id Tech 2 is the engine originally behind Quake 2.") version "/dhewm3-" version "-src.tar.xz")) (sha256 (base32 - "0s2brx6wyljhjbpli97iy4lc4fqqsvdc09raz8njg0vgzcsiyrri")))) + "10p0w1x5wx9b7d8mzvb6yqjia9prhkjwz04vbvphy8p383r33am6")))) (build-system cmake-build-system) (arguments `(#:tests? #f ; No tests. @@ -2667,17 +2668,13 @@ game engine. id Tech 2 is the engine originally behind Quake 2.") (modify-phases %standard-phases (add-after 'unpack 'change-to-build-dir (lambda _ - (chdir "neo") - #t))))) + (chdir "neo")))))) (inputs - `(("curl" ,curl) - ("libjpeg" ,libjpeg-turbo) - ("libogg" ,libogg) - ("libvorbis" ,libvorbis) - ("libx11" ,libx11) - ("openal" ,openal) - ("sdl2" ,sdl2) - ("zlib" ,zlib))) + (list curl + libx11 + openal + sdl2 + zlib)) (home-page "https://dhewm3.org/") (synopsis "Port of the original Doom 3 engine") (description @@ -2810,8 +2807,6 @@ construction toolset for games. @item It is automatic, which means that you can throw any level geometry at it and you will get robust mesh out. @item It is fast which means swift turnaround times for level designers. -@item It is open source so it comes with full source and you can - customize it to your heart's content. @end itemize The Recast process starts with constructing a voxel mold from a level diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 99eccca04d..5dc7298acb 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -10,7 +10,7 @@ ;;; Copyright © 2014, 2015, 2019 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2015, 2016 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2015 David Hashe <david.hashe@dhashe.com> -;;; Copyright © 2015, 2017, 2018, 2021 Chris Lemmer Webber <cwebber@dustycloud.org> +;;; Copyright © 2015, 2017, 2018, 2021 Christine Lemmer-Webber <cwebber@dustycloud.org> ;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2021 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2015, 2016, 2017 Alex Kost <alezost@gmail.com> ;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org> @@ -4163,7 +4163,7 @@ falling, themeable graphics and sounds, and replays.") (define-public wesnoth (package (name "wesnoth") - (version "1.16.1") + (version "1.16.5") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/wesnoth/wesnoth-" @@ -4172,7 +4172,7 @@ falling, themeable graphics and sounds, and replays.") "wesnoth-" version ".tar.bz2")) (sha256 (base32 - "0cyrwmdg93pqpdm7030540jznaky9rda355i9ym8am4k9civlcwf")))) + "02pzijbmkgcb8hc4l3f4r3r3mxqda936dp488i9sd9d4m3xdzimh")))) (build-system cmake-build-system) (arguments `(#:tests? #f)) ;no check target @@ -6515,14 +6515,16 @@ fish. The whole game is accompanied by quiet, comforting music.") (define-public crawl (package (name "crawl") - (version "0.28.0") + (version "0.29.0") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/crawl/crawl/releases/download/" - version "/stone_soup-" version "-nodeps.tar.xz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/crawl/crawl") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 "0irg5w4m127fxcj037kyp9vnyqyq1fi4q64rn6yq92w8z1lf2sss")) + (base32 "0cx67ln5qr4bawidi48ss63wflx7x22901da683c9wvy6m41vks8")) (patches (search-patches "crawl-upgrade-saves.patch")))) (build-system gnu-build-system) (inputs @@ -6552,24 +6554,30 @@ fish. The whole game is accompanied by quiet, comforting music.") "BUILD_LUA=" "BUILD_SQLITE=" "BUILD_ZLIB=" - "-Csource") + "-Ccrawl-ref/source") #:phases #~(modify-phases %standard-phases + (add-after 'unpack 'set-version + (lambda _ + (call-with-output-file "crawl-ref/source/util/release_ver" + (lambda (port) + (display #$version port))))) (add-after 'unpack 'find-SDL-image (lambda _ - (substitute* "source/windowmanager-sdl.cc" + (substitute* "crawl-ref/source/windowmanager-sdl.cc" (("SDL_image.h") "SDL2/SDL_image.h")))) (delete 'configure) (replace 'check - (lambda* (#:key make-flags #:allow-other-keys) - (setenv "HOME" (getcwd)) - ;; Fake a terminal for the test cases. - (setenv "TERM" "xterm-256color") - ;; Run the tests that don't require a debug build. - (apply invoke "make" "nondebugtest" - (format #f "-j~d" (parallel-job-count)) - ;; Force command line build for test cases. - (append make-flags '("GAME=crawl" "TILES=")))))))) + (lambda* (#:key tests? make-flags #:allow-other-keys) + (when tests? + (setenv "HOME" (getcwd)) + ;; Fake a terminal for the test cases. + (setenv "TERM" "xterm-256color") + ;; Run the tests that don't require a debug build. + (apply invoke "make" "nondebugtest" + (format #f "-j~d" (parallel-job-count)) + ;; Force command line build for test cases. + (append make-flags '("GAME=crawl" "TILES="))))))))) (synopsis "Roguelike dungeon crawler game") (description "Dungeon Crawl Stone Soup (also known as \"Crawl\" or DCSS for short) is a roguelike adventure through dungeons filled with dangerous @@ -7759,38 +7767,33 @@ quotation from a collection of quotes.") (define xonotic-data (package (name "xonotic-data") - (version "0.8.2") + (version "0.8.5") (source (origin (method url-fetch) - (uri (string-append "http://dl.xonotic.org/xonotic-" + (uri (string-append "https://dl.xonotic.org/xonotic-" version ".zip")) (file-name (string-append name "-" version ".zip")) (sha256 - (base32 - "1mcs6l4clvn7ibfq3q69k2p0z6ww75rxvnngamdq5ic6yhq74bx2")))) + (base32 "1r9pdrrki7mkdw99zh9m7911fqldsfdnl0nrp5cv1bk2hcism4hg")))) (build-system trivial-build-system) - (native-inputs - `(("unzip" ,unzip))) + (native-inputs (list unzip)) (arguments - `(#:modules ((guix build utils)) - #:builder - (begin - (use-modules (guix build utils)) - (let* ((out (assoc-ref %outputs "out")) - (xonotic (string-append out "/share/xonotic")) - (source (assoc-ref %build-inputs "source")) - (unzip (search-input-file %build-inputs "/bin/unzip"))) - (copy-file source (string-append ,name "-" ,version ".zip")) - (invoke unzip (string-append ,name "-" ,version ".zip")) - (mkdir-p out) - (mkdir-p xonotic) - (chdir "Xonotic") - (copy-recursively "data" - (string-append xonotic "/data")) - (copy-recursively "server" - (string-append xonotic "/server")) - (install-file "key_0.d0pk" xonotic))))) + (list #:modules '((guix build utils)) + #:builder + #~(begin + (use-modules (guix build utils)) + (let* ((out (assoc-ref %outputs "out")) + (xonotic (string-append out "/share/xonotic")) + (source (assoc-ref %build-inputs "source")) + (unzip (search-input-file %build-inputs "/bin/unzip"))) + (invoke unzip source) + (chdir "Xonotic") + (install-file "key_0.d0pk" xonotic) + (copy-recursively "data" + (string-append xonotic "/data")) + (copy-recursively "server" + (string-append xonotic "/server")))))) (home-page "http://xonotic.org") (synopsis "Data files for Xonotic") (description @@ -7801,192 +7804,142 @@ quotation from a collection of quotes.") (define-public xonotic (package (name "xonotic") - (version "0.8.2") + (version "0.8.5") (source (origin (method url-fetch) - (uri (string-append "http://dl.xonotic.org/xonotic-" + (uri (string-append "https://dl.xonotic.org/xonotic-" version "-source.zip")) (file-name (string-append name "-" version ".zip")) (sha256 - (base32 - "0axxw04fyz6jlfqd0kp7hdrqa0li31sx1pbipf2j5qp9wvqicsay")))) + (base32 "0pgahai0gk8bjmvkwx948bl50l9f9dhmjzwffl4vyldibajipa51")))) (build-system gnu-build-system) (arguments - `(#:configure-flags (list (string-append "--prefix=" - (assoc-ref %outputs "out")) - "--disable-rijndael") - #:phases - (modify-phases %standard-phases - (add-before 'configure 'make-darkplaces - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (sharedir (string-append out "/share/xonotic/"))) - (invoke "make" "-C" "source/darkplaces" - (string-append "DP_FS_BASEDIR=" - sharedir) - "DP_LINK_TO_LIBJPEG=1" - "DP_SOUND_API=ALSA" - "CC=gcc" - "-f" "makefile" - "cl-release") - (invoke "make" "-C" "source/darkplaces" - (string-append "DP_FS_BASEDIR=" - sharedir) - "DP_LINK_TO_LIBJPEG=1" - "DP_SOUND_API=ALSA" - "CC=gcc" - "-f" "makefile" - "sdl-release") - (invoke "make" "-C" "source/darkplaces" - (string-append "DP_FS_BASEDIR=" - sharedir) - "DP_LINK_TO_LIBJPEG=1" - "DP_SOUND_API=ALSA" - "CC=gcc" - "-f" "makefile" - "sv-release")))) - (add-before 'configure 'bootstrap - (lambda _ - (chdir "source/d0_blind_id") - (invoke "sh" "autogen.sh"))) - (add-after 'build 'install-desktop-entry - (lambda* (#:key outputs #:allow-other-keys) - ;; Add .desktop files for the 2 variants and the symlink - (let* ((output (assoc-ref outputs "out")) - (apps (string-append output "/share/applications"))) - (mkdir-p apps) - (with-output-to-file - (string-append apps "/xonotic-glx.desktop") - (lambda _ - (format #t - "[Desktop Entry]~@ - Name=xonotic-glx~@ - Comment=Xonotic glx~@ - Exec=~a/bin/xonotic-glx~@ - TryExec=~@*~a/bin/xonotic-glx~@ - Icon=xonotic~@ - Categories=Game~@ - Type=Application~%" - output))) - (with-output-to-file - (string-append apps "/xonotic-sdl.desktop") - (lambda _ - (format #t - "[Desktop Entry]~@ - Name=xonotic-sdl~@ - Comment=Xonotic sdl~@ - Exec=~a/bin/xonotic-sdl~@ - TryExec=~@*~a/bin/xonotic-sdl~@ - Icon=xonotic~@ - Categories=Game~@ - Type=Application~%" - output))) - (with-output-to-file - (string-append apps "/xonotic.desktop") + (list #:configure-flags + #~(list (string-append "--prefix=" #$output) + "--disable-rijndael") + #:modules '((guix build gnu-build-system) + (guix build utils) + (srfi srfi-26)) + #:phases + #~(modify-phases %standard-phases + (add-before 'configure 'build-darkplaces + (lambda* (#:key make-flags parallel-build? outputs + #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (share (string-append out "/share/xonotic/"))) + (apply invoke "make" + "-C" "source/darkplaces" + "-f" "makefile" + "-j" (if parallel-build? + (number->string (parallel-job-count)) + "1") + (string-append "CC=" #$(cc-for-target)) + (string-append "DP_FS_BASEDIR=" share) + "DP_LINK_TO_LIBJPEG=1" + "DP_SOUND_API=ALSA" + "cl-release" + "sdl-release" + "sv-release" + make-flags)))) + (add-before 'configure 'preconfigure (lambda _ - (format #t - "[Desktop Entry]~@ - Name=xonotic~@ - Comment=Xonotic~@ - Exec=~a/bin/xonotic-glx~@ - TryExec=~@*~a/bin/xonotic~@ - Icon=xonotic~@ - Categories=Game~@ - Type=Application~%" - output))) - #t))) - (add-after 'install-desktop-entry 'install-icons - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - (with-directory-excursion "../../misc/logos/icons_png/" - (for-each - (lambda (file) - (let* ((size (string-filter char-numeric? file)) - (icons (string-append out "/share/icons/hicolor/" - size "x" size "/apps"))) - (mkdir-p icons) - (copy-file file (string-append icons "/xonotic.png")))) - '("xonotic_16.png" "xonotic_22.png" "xonotic_24.png" - "xonotic_32.png" "xonotic_48.png" "xonotic_64.png" - "xonotic_128.png" "xonotic_256.png" "xonotic_512.png")))))) - (add-after 'install-icons 'install-binaries - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - (define (install src dst) - (let ((dst (string-append out dst))) - (mkdir-p (dirname dst)) - (copy-file src dst))) - (mkdir-p (string-append out "/bin")) - (install "../darkplaces/darkplaces-dedicated" - "/bin/xonotic-dedicated") - (install "../darkplaces/darkplaces-glx" - "/bin/xonotic-glx") - (install "../darkplaces/darkplaces-sdl" - "/bin/xonotic-sdl") - ;; Provide a default xonotic executable, defaulting to SDL. - (symlink (string-append out "/bin/xonotic-sdl") - (string-append out "/bin/xonotic")) - #t))) - (add-after 'install-binaries 'install-data - (lambda* (#:key outputs inputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (data (assoc-ref inputs "xonotic-data"))) - (symlink (string-append data "/share/xonotic") - (string-append out "/share/xonotic")) - #t))) - (add-after 'install-binaries 'wrap-binaries - (lambda* (#:key outputs inputs #:allow-other-keys) - ;; Curl and libvorbis need to be wrapped so that we get - ;; sound and networking. - (let* ((out (assoc-ref outputs "out")) - (bin (string-append out "/bin/xonotic")) - (bin-sdl (string-append out "/bin/xonotic-sdl")) - (bin-glx (string-append out "/bin/xonotic-glx")) - (bin-dedicated (string-append out "/bin/xonotic-dedicated")) - (curl (assoc-ref inputs "curl")) - (vorbis (assoc-ref inputs "libvorbis"))) - (wrap-program bin - `("LD_LIBRARY_PATH" ":" prefix - (,(string-append curl "/lib:" vorbis "/lib")))) - (wrap-program bin-sdl - `("LD_LIBRARY_PATH" ":" prefix - (,(string-append curl "/lib:" vorbis "/lib")))) - (wrap-program bin-glx - `("LD_LIBRARY_PATH" ":" prefix - (,(string-append curl "/lib:" vorbis "/lib")))) - (wrap-program bin-dedicated - `("LD_LIBRARY_PATH" ":" prefix - (,(string-append curl "/lib:" vorbis "/lib")))) - #t)))))) - (inputs - `(("xonotic-data" ,xonotic-data) - ("alsa-lib" ,alsa-lib) - ("curl" ,curl) - ("libjpeg" ,libjpeg-turbo) - ("libmodplug" ,libmodplug) - ("libvorbis" ,libvorbis) - ("libogg" ,libogg) - ("libxpm" ,libxpm) - ("libxxf86dga" ,libxxf86dga) - ("libxxf86vm" ,libxxf86vm) - ("libx11" ,libx11) - ("libxext" ,libxext) - ("libxau" ,libxau) - ("libxdmcp" ,libxdmcp) - ("mesa" ,mesa) - ("glu" ,glu) - ("freetype" ,freetype) - ("sdl2" ,sdl2) - ("libpng" ,libpng) - ("hicolor-icon-theme" ,hicolor-icon-theme))) - (native-inputs - (list unzip - autoconf + (chdir "source/d0_blind_id") + (invoke "sh" "autogen.sh"))) + (add-after 'install 'symlink-data + (lambda* (#:key outputs inputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (data (assoc-ref inputs "xonotic-data"))) + (symlink (string-append data "/share/xonotic") + (string-append out "/share/xonotic"))))) + (add-after 'install 'install-desktop-entries + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (app (string-append out "/share/applications"))) + ;; Add .desktop files for the 2 variants and the symlink. + (for-each + (lambda (variant) + (let* ((file (if variant + (format #f "xonotic-~(~a~)" variant) + "xonotic")) + (name (if variant + (format #f "Xonotic (~a)" variant) + "Xonotic")) + (exec (string-append out "/bin/" file))) + (make-desktop-entry-file + (string-append app "/" file ".desktop") + #:name name + #:comment `((#f #$(package-synopsis this-package))) + #:exec exec + #:try-exec exec + #:icon "xonotic" + #:categories '("Game")))) + (list #f "GLX" "SDL"))))) + (add-after 'install 'install-icons + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (for-each + (lambda (file) + (let* ((size (string-filter char-numeric? file)) + (icons (string-append out "/share/icons/hicolor/" + size "x" size "/apps"))) + (mkdir-p icons) + (copy-file file (string-append icons "/xonotic.png")))) + (find-files "../../misc/logos/icons_png" + "^xonotic_[0-9]+\\.png$"))))) + (add-after 'install 'install-binaries + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin"))) + (for-each + (lambda (variant) + (copy-file + (string-append "../darkplaces/darkplaces-" variant) + (string-append bin "/xonotic-" variant))) + (list "dedicated" "glx" "sdl"))))) + (add-after 'install-binaries 'wrap-binaries + (lambda* (#:key outputs inputs #:allow-other-keys) + ;; All games must be wrapped to get sound and networking. + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin")) + (curl (assoc-ref inputs "curl")) + (vorbis (assoc-ref inputs "libvorbis"))) + (for-each (cut wrap-program <> + `("LD_LIBRARY_PATH" ":" prefix + (,(string-append curl "/lib:" + vorbis "/lib")))) + (find-files bin "^xonotic")) + + ;; Provide a default xonotic executable, defaulting to SDL. + (symlink "xonotic-sdl" (string-append bin "/xonotic")))))))) + (native-inputs + (list autoconf automake - pkg-config + gmp libtool - gmp)) + pkg-config + unzip)) + (inputs + (list alsa-lib + curl + libjpeg-turbo + libmodplug + libvorbis + libogg + libpng + libx11 + libxpm + libxxf86dga + libxxf86vm + libxext + libxau + libxdmcp + mesa + glu + freetype + sdl2 + hicolor-icon-theme + xonotic-data)) (home-page "https://xonotic.org") (synopsis "Fast-paced first-person shooter game") (description @@ -8772,15 +8725,14 @@ game field is extended to 4D space, which has to filled up by the gamer with (define-public arx-libertatis (package (name "arx-libertatis") - (version "1.2") + (version "1.2.1") (source (origin (method url-fetch) (uri (string-append "http://arx-libertatis.org/files/arx-libertatis-" version ".tar.xz")) (sha256 - (base32 - "035dflxffa98bxmxkrqfizmhvnr09wyhhmzaqxk92772qil7gkxs")))) + (base32 "1pxf86sgwvy3785sq2wb4jvz6bdxm81ilrxd8xv7s61dxqqqizda")))) (build-system cmake-build-system) (outputs '("out" "installer")) (arguments diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm index 4c496e31b2..11ee631bf4 100644 --- a/gnu/packages/gcc.scm +++ b/gnu/packages/gcc.scm @@ -702,14 +702,14 @@ It also includes runtime support libraries for these languages.") (package (inherit gcc-11) ;; Note: 'compiler-cpu-architectures' is unchanged compared to GCC 11. - (version "12.1.0") + (version "12.2.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/gcc/gcc-" version "/gcc-" version ".tar.xz")) (sha256 (base32 - "0ywws66myjxcwsmla721g35d2ymlckq6ii7j9av0477ki5467zb2")) + "1zrhca90c7hqnjz3jgr1vl675q3h5lrd92b5ggi00jjryffcyjg5")) (patches (search-patches "gcc-12-strmov-store-file-names.patch" "gcc-5.0-libvtv-runpath.patch")) (modules '((guix build utils))) diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm index fe2174b106..66c97d3d6a 100644 --- a/gnu/packages/geo.scm +++ b/gnu/packages/geo.scm @@ -17,7 +17,7 @@ ;;; Copyright © 2021 Sharlatan Hellseher <sharlatanus@gmail.com> ;;; Copyright © 2021 Vinicius Monego <monego@posteo.net> ;;; Copyright © 2021 Clément Lassieur <clement@lassieur.org> -;;; Copyright © 2021 Nikolay Korotkiy <sikmir@disroot.org> +;;; Copyright © 2021, 2022 Nikolay Korotkiy <sikmir@disroot.org> ;;; Copyright © 2022 Roman Scherer <roman.scherer@burningswell.com> ;;; ;;; This file is part of GNU Guix. @@ -100,6 +100,7 @@ #:use-module (gnu packages perl) #:use-module (gnu packages photo) #:use-module (gnu packages pkg-config) + #:use-module (gnu packages pretty-print) #:use-module (gnu packages protobuf) #:use-module (gnu packages pulseaudio) #:use-module (gnu packages python) @@ -216,7 +217,7 @@ OpenStreetMap written in C using eXpat, Cairo and GLib.") (define-public geos (package (name "geos") - (version "3.10.2") + (version "3.11.0") (source (origin (method url-fetch) (uri (string-append "http://download.osgeo.org/geos/geos-" @@ -224,7 +225,7 @@ OpenStreetMap written in C using eXpat, Cairo and GLib.") ".tar.bz2")) (sha256 (base32 - "05apyh6dvv15fax4xvxa0kr622h4y08w9p3274mlqsrqmjcwbfsh")))) + "12l59pxawyizmc4wn20dvjn7aifqwkim4ysmc78h91mayjmqravr")))) (build-system cmake-build-system) (arguments `(#:phases (modify-phases %standard-phases @@ -940,7 +941,7 @@ development.") (define-public gdal (package (name "gdal") - (version "3.5.0") + (version "3.5.1") (source (origin (method url-fetch) (uri (string-append @@ -948,7 +949,7 @@ development.") version ".tar.gz")) (sha256 (base32 - "0h7dgjx8nk3dd17wwqm2yjnaqciyrd2mz9gcjswpcnmap09wbzrs")) + "1l93q7xf6qx9ck5axfkf3ygmvclxkvrjd8x00ckn7j0d0750ci3w")) (modules '((guix build utils))) (snippet `(begin @@ -1322,7 +1323,7 @@ based on the Osmium library.") (define-public osm2pgsql (package (name "osm2pgsql") - (version "1.5.1") + (version "1.7.0") (source (origin (method git-fetch) @@ -1331,32 +1332,30 @@ based on the Osmium library.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0i18mskcs087dn3f3h9n7j0wafn8502m0h13mrjwin38xsz0crfj")) + (base32 "15fxr4xq7siy237763l7nswx7v0swr3qzs2h3zkjzgvajw4p6qii")) (modules '((guix build utils))) (snippet - '(begin - (delete-file-recursively "contrib/protozero") - (delete-file-recursively "contrib/libosmium") - #t)))) + ;; Remove bundled libraries. + '(delete-file-recursively "contrib")))) (build-system cmake-build-system) (arguments `(#:tests? #f; tests fail because we need to setup a database #:configure-flags - (list (string-append "-DOSMIUM_INCLUDE_DIR=" - (assoc-ref %build-inputs "libosmium") - "/include") - (string-append "-DPROTOZERO_INCLUDE_DIR=" - (assoc-ref %build-inputs "protozero") - "/include")))) + (list "-DEXTERNAL_LIBOSMIUM=ON" + "-DEXTERNAL_PROTOZERO=ON" + "-DEXTERNAL_FMT=ON" + "-DEXTERNAL_RAPIDJSON=ON"))) (inputs (list boost bzip2 expat + fmt libosmium lua postgresql proj protozero + rapidjson zlib)) (native-inputs (list python python-psycopg2)) @@ -1828,7 +1827,7 @@ ways, and relations) and their metadata tags.") (define-public libmaxminddb (package (name "libmaxminddb") - (version "1.4.3") + (version "1.6.0") (source (origin (method url-fetch) @@ -1836,7 +1835,7 @@ ways, and relations) and their metadata tags.") "/releases/download/" version "/" "/libmaxminddb-" version ".tar.gz")) (sha256 - (base32 "0fd4a4sxiiwzbd5h74wl1ijnb7xybjyybb7q41vdq3w8nk3zdzd5")))) + (base32 "0rw2z7rx8jzgdcgqlmc4wqrsjmiwd8vm5wvvrldy472rghcaq83n")))) (build-system gnu-build-system) (arguments `(#:make-flags @@ -1855,14 +1854,14 @@ associated with an address.") (define-public python-maxminddb (package (name "python-maxminddb") - (version "1.5.1") + (version "2.2.0") (source (origin (method url-fetch) (uri (pypi-uri "maxminddb" version)) (sha256 (base32 - "0y9giw81k4wdmpryr4k42w50z292mf364a6vs1vxf83ksc9ig6j4")))) + "1rc4a403r3b4vhmhb03gidd0fmsbvfpbf3qfcw25h4db9zn0fxz3")))) (build-system python-build-system) (arguments `(#:tests? #f)) ;; Tests require a copy of the maxmind database diff --git a/gnu/packages/gnome-xyz.scm b/gnu/packages/gnome-xyz.scm index c37ae27cc5..beab5429bf 100644 --- a/gnu/packages/gnome-xyz.scm +++ b/gnu/packages/gnome-xyz.scm @@ -18,6 +18,7 @@ ;;; Copyright © 2021 Charles Jackson <charles.b.jackson@protonmail.com> ;;; Copyright © 2022 Eric Bavier <bavier@posteo.net> ;;; Copyright © 2022 Sughosha <sughosha@proton.me> +;;; Copyright © 2022 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -1137,7 +1138,7 @@ like GNOME, Unity, Budgie, Pantheon, XFCE, Mate, etc.") (native-inputs (list gtk+ `(,glib "bin") ; for "glib-compile-resources" - librsvg + (librsvg-for-system) pkg-config ruby-sass sassc)) diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm index 8180f3ef65..ad955649cc 100644 --- a/gnu/packages/gnuzilla.scm +++ b/gnu/packages/gnuzilla.scm @@ -366,8 +366,8 @@ in C/C++.") ;; XXXX: Workaround 'snippet' limitations. (define computed-origin-method (@@ (guix packages) computed-origin-method)) -(define %icecat-version "91.12.0-guix0-preview1") -(define %icecat-build-id "20220726000000") ;must be of the form YYYYMMDDhhmmss +(define %icecat-version "91.13.0-guix0-preview1") +(define %icecat-build-id "20220823000000") ;must be of the form YYYYMMDDhhmmss ;; 'icecat-source' is a "computed" origin that generates an IceCat tarball ;; from the corresponding upstream Firefox ESR tarball, using the 'makeicecat' @@ -389,11 +389,11 @@ in C/C++.") "firefox-" upstream-firefox-version ".source.tar.xz")) (sha256 (base32 - "0p1bhc1qla4a7iqk0fc6sj224ld6wplpmj4yw6nfx1b8hbqqy2vc")))) + "0qh7j960wdp5zcfqhkj8ki47spp9i9ms12xx0v0kxvmmw36jpgjk")))) - (upstream-icecat-base-version "91.12.0") ; maybe older than base-version + (upstream-icecat-base-version "91.13.0") ; maybe older than base-version ;;(gnuzilla-commit (string-append "v" upstream-icecat-base-version)) - (gnuzilla-commit "298024d727053a1609df4003fb4438836d5181f4") + (gnuzilla-commit "4a87716686104266a9cccc2d83cc249e312f3673") (gnuzilla-source (origin (method git-fetch) @@ -405,7 +405,7 @@ in C/C++.") (string-take gnuzilla-commit 8))) (sha256 (base32 - "1lgz6knklxbrqr1vaj9d0y0997f4f6v44a8cng8ihkmn7aa7lvwg")))) + "070j78al04xzchfl5xj1w300hmw17a3iqcw7mnlxf6b8rqlgj20p")))) ;; 'search-patch' returns either a valid file name or #f, so wrap it ;; in 'assume-valid-file-name' to avoid 'local-file' warnings. diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index 1ce55875d8..383d4d1618 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -23,7 +23,7 @@ ;;; Copyright © 2020 Marius Bakke <marius@gnu.org> ;;; Copyright © 2020 raingloom <raingloom@riseup.net> ;;; Copyright © 2020 Martin Becze <mjbecze@riseup.net> -;;; Copyright © 2021 Ricardo Wurmus <rekado@elephly.net> +;;; Copyright © 2021, 2022 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net> ;;; Copyright © 2021 Sharlatan Hellseher <sharlatanus@mgail.com> ;;; Copyright © 2021 Sarah Morgensen <iskarian@mgsn.dev> @@ -54,6 +54,7 @@ (define-module (gnu packages golang) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix utils) + #:use-module (guix gexp) #:use-module (guix memoization) #:use-module ((guix build utils) #:select (alist-replace)) #:use-module (guix download) @@ -1142,6 +1143,29 @@ different output targets. Supports colors and text decoration to all popular terminals.") (license license:bsd-3))) +(define-public go-github-com-kortschak-utter + (package + (name "go-github-com-kortschak-utter") + (version "1.5.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/kortschak/utter") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "13lg8gzvgjnljf1lz8qsfz3qcmbvrsxp3ip7mp2kscfz07r69dyw")))) + (build-system go-build-system) + (arguments + '(#:import-path "github.com/kortschak/utter")) + (home-page "https://github.com/kortschak/utter") + (synopsis "Deep pretty printer") + (description + "This package implements a deep pretty printer for Go data structures to +aid data snapshotting.") + (license license:isc))) + (define-public go-github-com-shadowsocks-go-shadowsocks2 (package (name "go-github-com-shadowsocks-go-shadowsocks2") @@ -2415,7 +2439,16 @@ termination.") "1k7xd2q2ysv2xsh373qs801v6f359240kx0vrl0ydh7731lngvk6")))) (build-system go-build-system) (arguments - '(#:import-path "github.com/jtolds/gls")) + (list + #:import-path "github.com/jtolds/gls" + #:phases + #~(modify-phases %standard-phases + (replace 'check + (lambda* (#:key inputs #:allow-other-keys #:rest args) + (unless + ;; The tests fail when run with gccgo. + (false-if-exception (search-input-file inputs "/bin/gccgo")) + (apply (assoc-ref %standard-phases 'check) args))))))) (synopsis "@code{gls} provides Goroutine local storage") (description "The @code{gls} package provides a way to store a retrieve values @@ -2976,7 +3009,7 @@ Go.") (define-public go-github-com-stretchr-objx (package (name "go-github-com-stretchr-objx") - (version "0.2.0") + (version "0.4.0") (source (origin (method git-fetch) @@ -2986,14 +3019,23 @@ Go.") (file-name (git-file-name name version)) (sha256 (base32 - "0pcdvakxgddaiwcdj73ra4da05a3q4cgwbpm2w75ycq4kzv8ij8k")) + "0dygds32qxx6x1x2mmn7msyjr15qi5r70pyzv8dz8cprxq32nzc1")) (modules '((guix build utils))) (snippet '(begin (delete-file-recursively "vendor"))))) (build-system go-build-system) (arguments - '(#:import-path "github.com/stretchr/objx")) + (list + #:import-path "github.com/stretchr/objx" + #:phases + #~(modify-phases %standard-phases + (replace 'check + (lambda* (#:key inputs #:allow-other-keys #:rest args) + (unless + ;; The tests fail when run with gccgo. + (false-if-exception (search-input-file inputs "/bin/gccgo")) + (apply (assoc-ref %standard-phases 'check) args))))))) (propagated-inputs (list go-github-com-davecgh-go-spew go-github-com-pmezard-go-difflib)) @@ -3758,7 +3800,7 @@ application's http.Handlers.") (define-public go-github-com-sirupsen-logrus (package (name "go-github-com-sirupsen-logrus") - (version "1.8.1") + (version "1.9.0") (source (origin (method git-fetch) @@ -3768,14 +3810,23 @@ application's http.Handlers.") (file-name (git-file-name name version)) (sha256 (base32 - "0rvqzic2zz7fpxyizmqxwmhv1m52ii9bgxnqa6km8wsa0l08wh42")))) + "12i402dxq5js4npnncg043vx874h6nk4ffn4gswcccxrp6h10ivz")))) (build-system go-build-system) + (arguments + (list + #:import-path "github.com/sirupsen/logrus" + #:phases + #~(modify-phases %standard-phases + (replace 'check + (lambda* (#:key inputs #:allow-other-keys #:rest args) + (unless + ;; The tests fail when run with gccgo. + (false-if-exception (search-input-file inputs "/bin/gccgo")) + (apply (assoc-ref %standard-phases 'check) args))))))) (propagated-inputs (list go-github-com-davecgh-go-spew go-github-com-pmezard-go-difflib go-github-com-stretchr-testify go-golang-org-x-crypto go-golang-org-x-sys)) - (arguments - '(#:import-path "github.com/sirupsen/logrus")) (home-page "https://github.com/sirupsen/logrus") (synopsis "Structured, pluggable logging for Go") (description "Logrus is a structured logger for Go, completely API @@ -4018,7 +4069,16 @@ which satisfies the cron expression.") "1jwxndf8rsyx0fgrp47d99rp55yzssmryb92jfj3yf7zd8rjjljn")))) (build-system go-build-system) (arguments - '(#:import-path "gopkg.in/check.v1")) + (list + #:import-path "gopkg.in/check.v1" + #:phases + #~(modify-phases %standard-phases + (replace 'check + (lambda* (#:key inputs #:allow-other-keys #:rest args) + (unless + ;; The tests fail when run with gccgo. + (false-if-exception (search-input-file inputs "/bin/gccgo")) + (apply (assoc-ref %standard-phases 'check) args))))))) (propagated-inputs (list go-github-com-kr-pretty)) (home-page "https://gopkg.in/check.v1") @@ -5994,7 +6054,16 @@ decode/encode structures and slices.") "1761pybhc2kqr6v5fm8faj08x9bql8427yqg6vnfv6nhrasx1mwq")))) (build-system go-build-system) (arguments - `(#:import-path "github.com/pkg/errors")) + (list + #:import-path "github.com/pkg/errors" + #:phases + #~(modify-phases %standard-phases + (replace 'check + (lambda* (#:key inputs #:allow-other-keys #:rest args) + (unless + ;; The tests fail when run with gccgo. + (false-if-exception (search-input-file inputs "/bin/gccgo")) + (apply (assoc-ref %standard-phases 'check) args))))))) (synopsis "Go error handling primitives") (description "This package provides @code{error}, which offers simple error handling primitives in Go.") @@ -9069,7 +9138,7 @@ anti-fragmentation protection.") (define-public go-github-com-valyala-fasthttp (package (name "go-github-com-valyala-fasthttp") - (version "1.31.0") + (version "1.39.0") (source (origin (method git-fetch) @@ -9078,10 +9147,19 @@ anti-fragmentation protection.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0ra0n2shcp11736xv37cjnsqn32gvqfm3dkf9v8j98xmch2wqxqg")))) + (base32 "12qwx0yk7wjj25v4fswgmj28r69gk94kqdmzavca8k9f0yznniz1")))) (build-system go-build-system) (arguments - '(#:import-path "github.com/valyala/fasthttp")) + (list + #:import-path "github.com/valyala/fasthttp" + #:phases + #~(modify-phases %standard-phases + (replace 'check + (lambda* (#:key inputs #:allow-other-keys #:rest args) + (unless + ;; Tests hang forever with gccgo. + (false-if-exception (search-input-file inputs "/bin/gccgo")) + (apply (assoc-ref %standard-phases 'check) args))))))) (propagated-inputs (list go-golang-org-x-sys go-golang-org-x-net diff --git a/gnu/packages/graph.scm b/gnu/packages/graph.scm index 9aadab45e6..109ba68675 100644 --- a/gnu/packages/graph.scm +++ b/gnu/packages/graph.scm @@ -537,7 +537,7 @@ of the Louvain algorithm, for a number of different methods.") (define-public edge-addition-planarity-suite (package (name "edge-addition-planarity-suite") - (version "3.0.0.5") + (version "3.0.2.0") (source (origin (method git-fetch) @@ -548,7 +548,7 @@ of the Louvain algorithm, for a number of different methods.") (file-name (git-file-name name version)) (sha256 (base32 - "01cm7ay1njkfsdnmnvh5zwc7wg7x189hq1vbfhh9p3ihrbnmqzh8")))) + "1c7bnxgiz28mqsq3a3msznmjq629w0qqjynm2rqnnjn2qpc22h3i")))) (build-system gnu-build-system) (native-inputs (list autoconf automake libtool)) diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm index 4e0961b9e4..9a378e76a6 100644 --- a/gnu/packages/graphics.scm +++ b/gnu/packages/graphics.scm @@ -177,6 +177,11 @@ framebuffer graphics, audio output and input event.") (arguments `(#:phases (modify-phases %standard-phases + (add-after 'unpack 'remove-buildtime + ;; Remove embedded build time for reproducible builds + (lambda _ + (substitute* "src/core/core.c" + (("..BUILDTIME..") "")))) (add-after 'unpack 'disable-configure-during-bootstrap (lambda _ (substitute* "autogen.sh" @@ -879,6 +884,7 @@ basic geometries.") (native-inputs (list python-defcon-bootstrap python-fontpens-bootstrap + python-setuptools-scm python-pytest python-wheel unzip)) @@ -1942,8 +1948,9 @@ Cflags: -I${includedir}~%" #$output #$version)))))))) (inputs (list expat fontconfig freetype harfbuzz mesa libwebp zlib)) (home-page "https://skia.org/") (synopsis "2D graphics library") - (description "Skia is an open source 2D graphics library. It can be -used for drawing text, geometries, and images and has support for: + (description + "Skia is a 2D graphics library for drawing text, geometries, and images. +It supports: @itemize @item 3x3 matrices with perspective @item antialiasing, transparency, filters @@ -2045,7 +2052,7 @@ Some feature highlights: (define-public openxr (package (name "openxr") - (version "1.0.23") + (version "1.0.24") (source (origin (method git-fetch) @@ -2059,7 +2066,7 @@ Some feature highlights: ;; Delete bundled jsoncpp. (delete-file-recursively "src/external/jsoncpp"))) (sha256 - (base32 "11w5a2ny30r8jghd5jwdxi5b2c84m21fmkp0lhpicbrwr98xgpj3")))) + (base32 "1lkbw03hpwnqcbn0fmxs4cnp5m04hc0ys6y111n7vlrg11sjdpq5")))) (build-system cmake-build-system) (arguments `(#:tests? #f)) ; there are no tests diff --git a/gnu/packages/graphviz.scm b/gnu/packages/graphviz.scm index a49fe348e8..51c1de3932 100644 --- a/gnu/packages/graphviz.scm +++ b/gnu/packages/graphviz.scm @@ -128,6 +128,8 @@ way of representing structural information as diagrams of abstract graphs and networks. It has important applications in networking, bioinformatics, software engineering, database and web design, machine learning, and in visual interfaces for other technical domains.") + (properties + '((release-monitoring-url . "https://graphviz.org/download/source/"))) (license license:epl1.0))) ;; Older Graphviz needed for pygraphviz. See diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm index 8e8a73ad30..a85c7e0fc4 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm @@ -417,43 +417,36 @@ dictionary and suggesting spelling corrections.") (package (name "guile2.0-bash") (version (string-append "0.1.6-" revision "." (string-take commit 7))) - (home-page - "https://anonscm.debian.org/cgit/users/kaction-guest/retired/dev.guile-bash.git") (source (origin (method git-fetch) (uri (git-reference (commit commit) - (url home-page))) + (url "https://git.sr.ht/~kaction/guile-bash"))) (sha256 (base32 "097vny990wp2qpjij6a5a5gwc6fxzg5wk56inhy18iki5v6pif1p")) (file-name (string-append name "-" version "-checkout")))) (build-system gnu-build-system) (arguments - '(#:configure-flags - ;; Add -I to match 'bash.pc' of Bash 4.4. - (list (string-append "CPPFLAGS=-I" - (assoc-ref %build-inputs "bash:include") - "/include/bash/include") - - ;; The '.a' file is useless. - "--disable-static" - - ;; Install 'lib/bash' as Bash 4.4 expects. - (string-append "--libdir=" (assoc-ref %outputs "out") - "/lib/bash")))) - (native-inputs `(("pkg-config" ,pkg-config) - ("autoconf" ,autoconf) - ("automake" ,automake) - ("libtool" ,libtool) - ;; Gettext brings 'AC_LIB_LINKFLAGS_FROM_LIBS'. - ("gettext" ,gettext-minimal) - - ;; Bash with loadable module support, for the test - ;; suite. - ("bash-full" ,bash))) + (list + #:configure-flags + #~(list (string-append "CPPFLAGS=-I" ; match bash.pc + (assoc-ref %build-inputs "bash:include") + "/include/bash/include") + ;; The '.a' file is useless. + "--disable-static" + ;; Install 'lib/bash' as Bash 4.4 expects. + (string-append "--libdir=" #$output "/lib/bash")))) + (native-inputs + (list autoconf + automake + bash ; with loadable module support, for tests + gettext-minimal ; for AC_LIB_LINKFLAGS_FROM_LIBS + libtool + pkg-config)) (inputs `(("guile" ,guile-2.0) ("bash:include" ,bash "include"))) + (home-page "https://git.sr.ht/~kaction/guile-bash") (synopsis "Extend Bash using Guile") (description "Guile-Bash provides a shared library and set of Guile modules, @@ -483,19 +476,20 @@ and then run @command{scm example.scm}.") (inherit guile2.0-bash) (name "guile-bash") (inputs - `(("guile" ,guile-3.0-latest) - ,@(assoc-remove! (package-inputs guile2.0-bash) "guile"))) + (modify-inputs (package-inputs guile2.0-bash) + (replace "guile" guile-3.0-latest))) (arguments - `(#:tests? #f - #:phases (modify-phases %standard-phases - (add-after 'install 'install-guile - (lambda* (#:key inputs outputs #:allow-other-keys) - (copy-recursively - (string-append (assoc-ref outputs "out") - (assoc-ref inputs "guile") "/share") - (string-append (assoc-ref outputs "out") "/share")) - #t))) - ,@(package-arguments guile2.0-bash))))) + (substitute-keyword-arguments (package-arguments guile2.0-bash) + ;; XXX The tests succeed with Guile 2.0 but fail with 3.0. + ((#:tests? _ #f) #f) + ((#:phases phases #~%standard-phases) + #~(modify-phases #$phases + (add-after 'install 'install-guile + (lambda* (#:key inputs outputs #:allow-other-keys) + (copy-recursively + (string-append (assoc-ref outputs "out") + (assoc-ref inputs "guile") "/share") + (string-append (assoc-ref outputs "out") "/share")))))))))) (define-public guile-8sync (let ((commit "183b4f02e68279d4984e79b79e06bfcf1861fcbf") (revision "0")) @@ -621,7 +615,8 @@ Unix-style DSV format and RFC 4180 format.") (base32 "0ll63d7202clapg1k4bilbnlmfa4qvpjnsd7chbkka4kxf5klilc")) (patches - (search-patches "guile-fibers-wait-for-io-readiness.patch")))) + (search-patches "guile-fibers-wait-for-io-readiness.patch" + "guile-fibers-epoll-instance-is-dead.patch")))) (build-system gnu-build-system) (native-inputs (list texinfo pkg-config autoconf automake libtool @@ -3703,12 +3698,12 @@ the style of the Node Package Manager (NPM).") (package (name "guile-hashing") (version "1.2.0") - (home-page "https://github.com/weinholt/hashing") + (home-page "https://gitlab.com/weinholt/hashing") (source (origin (method git-fetch) (uri (git-reference (url home-page) - (commit (string-append "v" version)))) + (commit "f138deaec38d54ddb621c082764ece276deebe7f"))) (file-name (git-file-name name version)) (sha256 (base32 @@ -3761,12 +3756,12 @@ SHA-512).") (package (name "guile-packrat") (version "0.1.1") - (home-page "https://github.com/weinholt/packrat") + (home-page "https://gitlab.com/weinholt/packrat") (source (origin (method git-fetch) (uri (git-reference (url home-page) - (commit (string-append "v" version)))) + (commit "4201ebe741b605db58a21d70195cfb7db3c38eae"))) (file-name (git-file-name name version)) (sha256 (base32 @@ -4176,8 +4171,8 @@ more objects or strings, represented by a Json object or an IRI.") (origin (method git-fetch) (uri (git-reference - (url "https://github.com/weinholt/struct-pack") - (commit (string-append "v" version)))) + (url "https://gitlab.com/weinholt/struct-pack") + (commit "11b71963793ed4a3bf761efdd83cf2fe123239ee"))) (file-name (git-file-name name version)) (sha256 (base32 "0hd72m821pahjphzyjn26i55542v8makr55xzjll2cycja4wsbc1")))) @@ -4205,7 +4200,7 @@ more objects or strings, represented by a Json object or an IRI.") #t))))) (native-inputs (list guile-3.0)) - (home-page "https://github.com/weinholt/struct-pack") + (home-page "https://gitlab.com/weinholt/struct-pack") (synopsis "R6RS library for working with packed byte structures") (description "This is an R6RS library for working with packed byte structures. It is @@ -4215,16 +4210,16 @@ similar to struct in Python or pack and unpack in Perl.") (define-public guile-machine-code (package (name "guile-machine-code") - (version "2.1.0") + (version "2.2.0") (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/weinholt/machine-code") + (url "https://gitlab.com/weinholt/machine-code") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0wzj3caj2jypzyjqfkfqkvr3kkbjabsnhldv9kvnx9w9qnria5yd")))) + (base32 "1yjzpg5p082kg4vaqlwbwddrrhxyxar6gsx9ql72hpwah4ka82h5")))) (build-system guile-build-system) (arguments `(#:compile-flags '("--r6rs" "-Wunbound-variable" "-Warity-mismatch") @@ -4251,7 +4246,7 @@ similar to struct in Python or pack and unpack in Perl.") (list guile-3.0)) (propagated-inputs (list guile-struct-pack)) - (home-page "https://github.com/weinholt/machine-code") + (home-page "https://gitlab.com/weinholt/machine-code") (synopsis "Tools that relate to machine code and object formats") (description "This project is about the development of tools that relate to machine @@ -4268,7 +4263,7 @@ object formats and related areas.") (origin (method git-fetch) (uri (git-reference - (url "https://github.com/weinholt/laesare") + (url "https://gitlab.com/weinholt/laesare") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 @@ -4297,7 +4292,7 @@ object formats and related areas.") #t))))) (native-inputs (list guile-3.0)) - (home-page "https://github.com/weinholt/laesare") + (home-page "https://gitlab.com/weinholt/laesare") (synopsis "R6RS Scheme library that provides a reader") (description "This is an R6RS Scheme library that provides a reader with some extra diff --git a/gnu/packages/hardware.scm b/gnu/packages/hardware.scm index 68c4667662..d47be7a55d 100644 --- a/gnu/packages/hardware.scm +++ b/gnu/packages/hardware.scm @@ -1147,9 +1147,7 @@ applications.") (define-public usbguard (package (name "usbguard") - ;; Note: Use a recent snapshot to get compatibility with newer system - ;; libraries. - (version "1.0.0-55-g466f1f0") + (version "1.1.1") (source (origin (method git-fetch) (uri (git-reference @@ -1157,51 +1155,51 @@ applications.") (commit (string-append "usbguard-" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0rc0213qsfap3sgx9m3m1kppxbjl2fdwmzlbn5rbmn1i33125dfi")))) + (base32 "0lpyhkz5nr0c9mq57mgcvam5c8qfqqwjc4xd46n2ldqc9vhfsask")))) (build-system gnu-build-system) (arguments - '(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'patch-bootstrap-script - (lambda _ - ;; Don't attempt to fetch git submodules. - (substitute* "autogen.sh" - (("^git submodule.*") - "")))) - (add-after 'bootstrap 'patch-build-scripts - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "configure" - (("/usr/include/catch") - (dirname (search-input-file inputs "include/catch.hpp")))) - ;; Do not create log directory. - (substitute* "Makefile.in" ((".*/log/usbguard.*") "")) - ;; Disable LDAP tests: they use 'sudo'. - (substitute* "src/Tests/Makefile.in" - (("\\$\\(am__append_2\\)") "")))) - (add-after 'install 'delete-static-library - (lambda* (#:key outputs #:allow-other-keys) - ;; It can't be direclty disabled since it's needed for the tests. - (delete-file (string-append (assoc-ref outputs "out") - "/lib/libusbguard.a")))) - (add-after 'install 'install-zsh-completion - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (site-functions - (string-append out "/share/zsh/site-functions"))) - (mkdir-p site-functions) - (copy-file "scripts/usbguard-zsh-completion" - (string-append site-functions "/_usbguard")))))) - #:make-flags - (list (string-append "BASH_COMPLETION_DIR=" - (assoc-ref %outputs "out") - "/etc/bash_completion.d")) - #:configure-flags - (list - "--localstatedir=/var" - "--enable-systemd=no" - "--with-ldap" - "--with-dbus" - "--with-polkit"))) + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'patch-bootstrap-script + (lambda _ + ;; Don't attempt to fetch git submodules. + (substitute* "autogen.sh" + (("^git submodule.*") + "")))) + (add-after 'bootstrap 'patch-build-scripts + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "configure" + (("/usr/include/catch") + (dirname (search-input-file inputs "include/catch.hpp")))) + ;; Do not create log directory. + (substitute* "Makefile.in" ((".*/log/usbguard.*") "")) + ;; Disable LDAP tests: they use 'sudo'. + (substitute* "src/Tests/Makefile.in" + (("\\$\\(am__append_2\\)") "")))) + (add-after 'install 'delete-static-library + (lambda args + ;; It can't be directly disabled since it's needed for the tests. + (delete-file (string-append #$output + "/lib/libusbguard.a")))) + (add-after 'install 'install-zsh-completion + (lambda args + (let ((site-functions + (string-append #$output "/share/zsh/site-functions"))) + (mkdir-p site-functions) + (copy-file "scripts/usbguard-zsh-completion" + (string-append site-functions "/_usbguard")))))) + #:make-flags + #~(list (string-append "BASH_COMPLETION_DIR=" + #$output + "/etc/bash_completion.d")) + #:configure-flags + #~(list + "--localstatedir=/var" + "--enable-systemd=no" + "--with-ldap" + "--with-dbus" + "--with-polkit"))) (inputs (list audit catch-framework diff --git a/gnu/packages/image-viewers.scm b/gnu/packages/image-viewers.scm index 88dbba866b..52c9584f67 100644 --- a/gnu/packages/image-viewers.scm +++ b/gnu/packages/image-viewers.scm @@ -24,6 +24,7 @@ ;;; Copyright © 2021 Zheng Junjie <873216071@qq.com> ;;; Copyright © 2021 dissent <disseminatedissent@protonmail.com> ;;; Copyright © 2022 Michael Rohleder <mike@rohleder.de> +;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -287,7 +288,8 @@ collection. Geeqie was initially based on GQview.") (base32 "0hi9v0rdx47nys0wvm9xasdrafa34r5kq6crb074a0ipwmc60iiq")))) (build-system gnu-build-system) - (inputs (list gtk+-2 libjpeg-turbo)) + (arguments (list #:configure-flags #~(list "--enable-gtk3"))) + (inputs (list gtk+ libjpeg-turbo)) (native-inputs (list intltool pkg-config)) (synopsis "Simple and fast image viewer for X") (description "gpicview is a lightweight GTK+ 2.x based image viewer. @@ -411,34 +413,32 @@ needs.") (name "viewnior") (version "1.8") (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/hellosiyan/Viewnior") - (commit (string-append name "-" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 "14qvx1wajncd5ab0207274cwk32f4ipfnlaci6phmah0cwra2did")))) + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/hellosiyan/Viewnior") + (commit (string-append name "-" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "14qvx1wajncd5ab0207274cwk32f4ipfnlaci6phmah0cwra2did")))) (build-system meson-build-system) (arguments - '(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'patch-source - (lambda _ - ;; Don't create 'icon-theme.cache' - (substitute* "meson.build" - (("meson.add_install_script*") "")) - #t))) - #:tests? #f)) ; no tests + '(#:phases (modify-phases %standard-phases + (add-after 'unpack 'patch-source + (lambda _ + ;; Don't create 'icon-theme.cache' + (substitute* "meson.build" + (("meson.add_install_script*") ""))))) + #:tests? #f)) ;no tests (native-inputs - `(("gettext" ,gettext-minimal) - ("glib" ,glib "bin") ; glib-genmarshal - ("pkg-config" ,pkg-config) - ("shared-mime-info" ,shared-mime-info))) + (list gettext-minimal + `(,glib "bin") ;glib-genmarshal + pkg-config + shared-mime-info)) (inputs - `(("exiv2" ,exiv2) - ("gdk-pixbuf" ,gdk-pixbuf) - ("gtk+-2" ,gtk+-2))) + (list exiv2 + gdk-pixbuf + gtk+-2)) (home-page "https://siyanpanayotov.com/project/viewnior") (synopsis "Simple, fast and elegant image viewer") (description "Viewnior is an image viewer program. Created to be simple, diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm index 8771414344..c31688d045 100644 --- a/gnu/packages/image.scm +++ b/gnu/packages/image.scm @@ -33,6 +33,7 @@ ;;; Copyright © 2021 Nicolò Balzarotti <nicolo@nixo.xyz> ;;; Copyright © 2021 Alexandr Vityazev <avityazev@posteo.org> ;;; Copyright © 2022 Jai Vetrivelan <jaivetrivelan@gmail.com> +;;; Copyright © 2022 ( <paren@disroot.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -2444,3 +2445,28 @@ month and day. All files which are not images or videos or those which do not have creation date information will be placed in a folder called @file{unknown}.") (license license:expat))) + +(define-public spng + (package + (name "spng") + (version "0.7.2") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/randy408/libspng") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0src9ii9w9afz2vgridn9r38pa6888myk28x2bjw0ynw5xcd62hs")))) + (build-system meson-build-system) + (inputs (list zlib)) + (native-inputs (list libpng)) + (home-page "https://libspng.org") + (synopsis "Simple PNG loading library") + (description + "@code{libspng} is a simple C library for loading Portable Network +Graphics (PNGs), intended as an easy-to-use replacement for @code{libpng}.") + (license license:bsd-2) + ;; Supports SSE on x86-64 and NEON on AArch64. + (properties '((tunable? . #t))))) diff --git a/gnu/packages/instrumentation.scm b/gnu/packages/instrumentation.scm index f52cf11505..2d2f53225c 100644 --- a/gnu/packages/instrumentation.scm +++ b/gnu/packages/instrumentation.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2021 Olivier Dion <olivier.dion@polymtl.ca> +;;; Copyright © 2021, 2022 Olivier Dion <olivier.dion@polymtl.ca> ;;; ;;; This file is part of GNU Guix. ;;; @@ -50,6 +50,7 @@ #:use-module (guix build-system cmake) #:use-module (guix build-system copy) #:use-module (guix build-system gnu) + #:use-module (guix build-system linux-module) #:use-module (guix download) #:use-module (guix gexp) #:use-module (guix git-download) @@ -206,17 +207,41 @@ interactive SVGs out of traces genated from various tracing tools. It comes with the script @command{flamegraph.pl} and many stackcollapse scripts.") (license license:cddl1.0)))) +(define-public lttng-modules + (package + (name "lttng-modules") + (version "2.13.4") + (source (origin + (method url-fetch) + (uri (string-append "https://lttng.org/files/lttng-modules/" + "lttng-modules-" version ".tar.bz2")) + (sha256 + (base32 + "1vm9nnjvid7acsvgwnjyxd60ih9rmbhnfjldxip58n8x9q7d0nb1")))) + (build-system linux-module-build-system) + (arguments + `(#:tests? #f ; no tests + #:make-flags (list "CONFIG_LTTNG=m" + "CONFIG_LTTNG_CLOCK_PLUGIN_TEST=m"))) + (home-page "https://lttng.org/") + (synopsis "LTTng kernel modules for the LTTng tracer toolset") + (description + "LTTng kernel modules are Linux kernel modules which make +LTTng kernel tracing possible. They include essential control modules and +many probes which instrument numerous interesting parts of Linux.") + (license (list license:lgpl2.1 license:gpl2 license:expat)))) + (define-public lttng-ust (package (name "lttng-ust") - (version "2.13.1") + (version "2.13.3") (source (origin (method url-fetch) (uri (string-append "https://lttng.org/files/lttng-ust/" "lttng-ust-" version ".tar.bz2")) (sha256 (base32 - "1p7d94r275yvby6zqfxaswdl1q46zxbc8x5rkhnjxrp1d41byrsn")))) + "0vwgxp027pgwm0a4xr6bdibday7xjlnv6wmbqh546l2h2i8jzi1c")))) (build-system gnu-build-system) (inputs (list numactl)) @@ -235,14 +260,14 @@ to ring buffers shared with a consumer daemon.") (define-public lttng-tools (package (name "lttng-tools") - (version "2.13.2") + (version "2.13.7") (source (origin (method url-fetch) (uri (string-append "https://lttng.org/files/lttng-tools/" "lttng-tools-" version ".tar.bz2")) (sha256 (base32 - "1gfp9y24lpaiz4lcmbp30yd400jmh99mlay9gb8pz9qd080bmlnf")))) + "13gh4bvlgbh82h9vb80aw8l1cfmdj3xyvjg30cscz9vqy7l04yni")))) (build-system gnu-build-system) (arguments `( ;; FIXME - Currently there's a segmentation fault by swig when enabling diff --git a/gnu/packages/irc.scm b/gnu/packages/irc.scm index efb32a39e0..b82210081c 100644 --- a/gnu/packages/irc.scm +++ b/gnu/packages/irc.scm @@ -261,7 +261,7 @@ using a mouse. It is customizable and extensible with plugins and scripts.") (define-public srain (package (name "srain") - (version "1.4.0") + (version "1.4.1") (source (origin (method git-fetch) @@ -270,7 +270,7 @@ using a mouse. It is customizable and extensible with plugins and scripts.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "113nvai3nr2c8mrr5q56fb7smg5awgb2f243sib4k1zj437v9q51")))) + (base32 "05n8j36yrmk353nkapc1vywf25wklwbzwkl2a4kz92wv74zrwi6f")))) (build-system meson-build-system) (arguments `(#:tests? #f ;there are no tests diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 14fef6986c..73898d120c 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -2284,6 +2284,9 @@ new Date();")) (("^#!.*") "#! java BlockedCertsConverter SHA-256\n")))))))) (home-page "https://openjdk.java.net/projects/jdk/17"))) +;;; Convenience alias to point to the latest version of OpenJDK. +(define-public openjdk openjdk17) + (define-public icedtea icedtea-8) diff --git a/gnu/packages/julia.scm b/gnu/packages/julia.scm index 0bdac66175..29c981189c 100644 --- a/gnu/packages/julia.scm +++ b/gnu/packages/julia.scm @@ -1,10 +1,10 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015, 2016, 2017 Ricardo Wurmus <rekado@elephly.net> -;;; Copyright © 2016, 2020, 2021 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2016, 2020-2022 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2020, 2021 Nicolò Balzarotti <nicolo@nixo.xyz> ;;; Copyright © 2020 Tim Howes <timhowes@lavabit.com> ;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr> -;;; Copyright © 2021 Jean-Baptiste Volatier <jbv@pm.me> +;;; Copyright © 2021, 2022 Jean-Baptiste Volatier <jbv@pm.me> ;;; Copyright © 2021 Simon Tournier <zimon.toutoune@gmail.com> ;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; @@ -139,7 +139,7 @@ libraries. It is also a bit like @code{ldd} and @code{otool -L}.") (define-public julia (package (name "julia") - (version "1.6.3") + (version "1.6.7") (source (origin (method url-fetch) (uri (string-append @@ -147,7 +147,7 @@ libraries. It is also a bit like @code{ldd} and @code{otool -L}.") version "/julia-" version ".tar.gz")) (sha256 (base32 - "1515x8fs25l3f9csbmd1v4nm041zvjnvigy6s5iidy4yrkwdx4r5")) + "0q9xgdpvdkskpzl294w215f6c15c5jk276c9dah5f5w4np3ivbvl")) (patches (search-patches "julia-SOURCE_DATE_EPOCH-mtime.patch" "julia-allow-parallel-build.patch")))) @@ -206,6 +206,10 @@ libraries. It is also a bit like @code{ldd} and @code{otool -L}.") (substitute* "base/Makefile" (("\\$\\$\\(build_depsbindir\\)/libwhich") (search-input-file inputs "/bin/libwhich"))))) + (add-after 'unpack 'activate-gnu-source-for-loader + (lambda _ + (substitute* "cli/Makefile" + (("LOADER_CFLAGS =") "LOADER_CFLAGS = -D_GNU_SOURCE")))) (add-after 'unpack 'change-number-of-precompile-statements (lambda _ ;; Remove nss-certs drops the number of statements below 1200, @@ -222,12 +226,11 @@ libraries. It is also a bit like @code{ldd} and @code{otool -L}.") "base/Makefile") ((".*libquadmath.*") "")) (substitute* "Makefile" - (("libquadmath ") "")) - #t))) + (("libquadmath ") ""))))) '()) (add-before 'check 'set-home ;; Some tests require a home directory to be set. - (lambda _ (setenv "HOME" "/tmp") #t)) + (lambda _ (setenv "HOME" "/tmp"))) (add-before 'build 'fix-include-and-link-paths (lambda* (#:key inputs #:allow-other-keys) ;; LIBUTF8PROC is a linker flag, not a build target. It is @@ -332,10 +335,11 @@ libraries. It is also a bit like @code{ldd} and @code{otool -L}.") (mpfr (assoc-ref inputs "mpfr")) (gmp (assoc-ref inputs "gmp")) (nghttp2 (assoc-ref inputs "libnghttp2")) + (zlib (assoc-ref inputs "zlib")) (suitesparse (assoc-ref inputs "suitesparse"))) ;; Some tests only check to see if the input is the correct version. (substitute* "stdlib/PCRE2_jll/test/runtests.jl" - (("10.36.0") ,(package-version pcre2))) + (("10.40.0") ,(package-version pcre2))) (substitute* "stdlib/MbedTLS_jll/test/runtests.jl" (("2.24.0") ,(package-version mbedtls-apache))) (substitute* "stdlib/MPFR_jll/test/runtests.jl" @@ -344,6 +348,8 @@ libraries. It is also a bit like @code{ldd} and @code{otool -L}.") (("6.2.0") ,(package-version gmp))) (substitute* "stdlib/nghttp2_jll/test/runtests.jl" (("1.41.0") ,(package-version nghttp2))) + (substitute* "stdlib/Zlib_jll/test/runtests.jl" + (("1.2.12") ,(package-version zlib))) (substitute* "stdlib/SuiteSparse_jll/test/runtests.jl" (("5004") ,(string-replace-substring (version-major+minor @@ -355,17 +361,12 @@ libraries. It is also a bit like @code{ldd} and @code{otool -L}.") ;; https://github.com/JuliaLang/julia/pull/41614 ;; https://github.com/JuliaLang/julia/issues/41156 (substitute* "test/choosetests.jl" - (("skip_tests = \\[\\]") - "skip_tests = [\"REPL\", \"precompile\"]")) + (("\"precompile\",") "")) ;; Dates/io tests fail on master when networking is unavailable ;; https://github.com/JuliaLang/julia/issues/34655 (substitute* "stdlib/Dates/test/io.jl" (("using Dates") "import Dates using Dates: @dateformat_str, Date, DateTime, DateFormat, Time")) - ;; Upstream bug I found when packaging - ;; https://github.com/JuliaLang/julia/issues/35785 - (substitute* "test/file.jl" - (("@test dirname\\(t\\) == d") "@test_broken dirname(t) == d")) ;; julia embeds a certificate, we are not doing that (substitute* "stdlib/MozillaCACerts_jll/test/runtests.jl" (("@test isfile\\(MozillaCACerts_jll.cacert\\)") @@ -385,14 +386,7 @@ using Dates: @dateformat_str, Date, DateTime, DateFormat, Time")) (substitute* "test/cmdlineargs.jl" (("test v\\[3") "test_broken v[3") (("test isempty\\(v\\[3") "test_broken isempty(v[3")) - ;; These tests randomly fails because they depend on CPU. - (substitute* "stdlib/LinearAlgebra/test/matmul.jl" - ;; Fixed in v1.6.4 (see: - ;; https://github.com/JuliaLang/julia/blob/v1.6.4/ - ;; stdlib/LinearAlgebra/test/matmul.jl#L155). - (("@test mul\\!\\(C, vf, transpose\\(vf\\), 2, 3\\)\ - == 2vf\\*vf' \\.\\+ 3C0") - "@test mul!(C, vf, transpose(vf), 2, 3) ≈ 2vf*vf' .+ 3C0")) + ;; These test(s) randomly fails because they depend on CPU. (substitute* "test/math.jl" ;; @test_broken cannot be used because if the test randomly ;; passes, then it also raises an error. @@ -447,6 +441,7 @@ using Dates: @dateformat_str, Date, DateTime, DateFormat, Time")) ("" "$JULIA_DEPOT_PATH")))))))) #:make-flags (list + "VERBOSE=1" ;; more helpful logging of what make is doing (string-append "prefix=" (assoc-ref %outputs "out")) ;; Passing the MARCH or JULIA_CPU_TARGET flag is necessary to build diff --git a/gnu/packages/libreoffice.scm b/gnu/packages/libreoffice.scm index aeefba732b..46eba12431 100644 --- a/gnu/packages/libreoffice.scm +++ b/gnu/packages/libreoffice.scm @@ -1253,8 +1253,6 @@ converting QuarkXPress file format. It supports versions 3.1 to 4.1.") (dirname (search-input-file %build-inputs "lib/libboost_system.so"))) - ;; Avoid undefined symbols required by boost::spirit - "LDFLAGS=-lboost_system" ;; Avoid a dependency on ucpp. "--with-idlc-cpp=cpp" ;; The fonts require an external tarball (crosextrafonts). @@ -1281,4 +1279,7 @@ a number of components: Writer, a word processor; Calc, a spreadsheet application; Impress, a presentation engine; Draw, a drawing and flowcharting application; Base, a database and database frontend; Math for editing mathematics.") + (properties + '((release-monitoring-url + . "https://www.libreoffice.org/download/download-libreoffice/"))) (license license:mpl2.0))) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 18313cd481..d19d6b754f 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -352,17 +352,17 @@ 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.18-version "5.18.16") +(define-public linux-libre-5.18-version "5.18.19") (define-public linux-libre-5.18-gnu-revision "gnu") (define deblob-scripts-5.18 (linux-libre-deblob-scripts linux-libre-5.18-version linux-libre-5.18-gnu-revision (base32 "09aikdhij4d89wqd8mmkdr0nrfwqz6dx3n74qm6wx815rfngd2dz") - (base32 "0vjpn8iw9yg39sr6jfhzyvivf159h9zfgnjamwa283zfll0h0a53"))) + (base32 "03w1p49rf7sqsxvwpdndqa0k9hc9748rplyqiiw1q6cbdjficwyw"))) (define-public linux-libre-5.18-pristine-source (let ((version linux-libre-5.18-version) - (hash (base32 "1khi1npn8d8jimwdy8bf3r7l780mxdmvk5azdv419pk33qjqdxgi"))) + (hash (base32 "1mc8zhiw0v7fka64mydpdrxkrvy0jyqggq5lghw3pyqj2wjrpw6z"))) (make-linux-libre-source version (%upstream-linux-source version hash) @@ -371,22 +371,22 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." ;; The "longterm" kernels — the older releases with long-term upstream support. ;; Here are the support timelines: ;; <https://www.kernel.org/category/releases.html> -(define-public linux-libre-5.15-version "5.15.59") +(define-public linux-libre-5.15-version "5.15.63") (define-public linux-libre-5.15-gnu-revision "gnu") (define deblob-scripts-5.15 (linux-libre-deblob-scripts linux-libre-5.15-version linux-libre-5.15-gnu-revision (base32 "1n57mz5agvf1d0ggbg080d7hvx8p9y0iqxkq4ypg10a7n96zy7y5") - (base32 "129qlhwdv2mfb85gbvq03kkbdfp73b444rryr4rrbvi0jmq4cp24"))) + (base32 "1r189c704jvizk452zcsm9v3g27ybjcjchjwxazsy3nx0wdwx7si"))) (define-public linux-libre-5.15-pristine-source (let ((version linux-libre-5.15-version) - (hash (base32 "1jxw6fnc7yaw7r6193wy6l8wdlpy3frw48drnc3dnh3k0m1cdpg6"))) + (hash (base32 "0hbkxgadz0vcslni4r46yc202wcnxblcfvkcph1017b2b8gcvlvd"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-5.15))) -(define-public linux-libre-5.10-version "5.10.135") +(define-public linux-libre-5.10-version "5.10.138") (define-public linux-libre-5.10-gnu-revision "gnu1") (define deblob-scripts-5.10 (linux-libre-deblob-scripts @@ -396,12 +396,12 @@ 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 "0i1kahv739qpyyml7d7sx306nv7gp55i5d97vlb0fryfx4dsd6g4"))) + (hash (base32 "1a2vmcqzi71w88j79lxsrgyycq1l1gxp0cvh5ya4afhfisxh7819"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-5.10))) -(define-public linux-libre-5.4-version "5.4.209") +(define-public linux-libre-5.4-version "5.4.211") (define-public linux-libre-5.4-gnu-revision "gnu1") (define deblob-scripts-5.4 (linux-libre-deblob-scripts @@ -411,12 +411,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (base32 "1vnjbdyssa7dwyjl9kg35alwvf7yh597cl74yr1wy2gk5bc9paw6"))) (define-public linux-libre-5.4-pristine-source (let ((version linux-libre-5.4-version) - (hash (base32 "1kdnz99k7zspzaxqaxahbf6hncigy4cvjlb79jsy7a95qxxr31qf"))) + (hash (base32 "1v1dgsk66fi6x6v9k6hg9ik3f3b3pv7a3gk8mybmgm9cnx0k5d5z"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-5.4))) -(define-public linux-libre-4.19-version "4.19.254") +(define-public linux-libre-4.19-version "4.19.256") (define-public linux-libre-4.19-gnu-revision "gnu1") (define deblob-scripts-4.19 (linux-libre-deblob-scripts @@ -426,12 +426,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (base32 "00i91lx938nqlgy63hiricqd0fnbbf26vgya9c5lb7m1f4x324im"))) (define-public linux-libre-4.19-pristine-source (let ((version linux-libre-4.19-version) - (hash (base32 "1rd40wmdaymbly2zvf60mjqsflkd4n1y232qz0ixn1rfl28yz62i"))) + (hash (base32 "0jgm7ydha9achbcq3a6q85wq1nz4qg7phx122jzk0mqb1339bpk7"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.19))) -(define-public linux-libre-4.14-version "4.14.290") +(define-public linux-libre-4.14-version "4.14.291") (define-public linux-libre-4.14-gnu-revision "gnu1") (define deblob-scripts-4.14 (linux-libre-deblob-scripts @@ -441,12 +441,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (base32 "00i91lx938nqlgy63hiricqd0fnbbf26vgya9c5lb7m1f4x324im"))) (define-public linux-libre-4.14-pristine-source (let ((version linux-libre-4.14-version) - (hash (base32 "0zyxb99a7fa2l85vnzmvg2nry99clj20d4j38piqm921iqxak2j4"))) + (hash (base32 "15h76l81zn733g8dc6gsymf52nz325plhminv3m4x3klwhav34zc"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.14))) -(define-public linux-libre-4.9-version "4.9.325") +(define-public linux-libre-4.9-version "4.9.326") (define-public linux-libre-4.9-gnu-revision "gnu1") (define deblob-scripts-4.9 (linux-libre-deblob-scripts @@ -456,7 +456,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (base32 "0bib3641dbcqdkx3anna3caxnsg3nw9cnmhcklq0s93g3m57041h"))) (define-public linux-libre-4.9-pristine-source (let ((version linux-libre-4.9-version) - (hash (base32 "04msx0x0d8v93zjr3jj0qqkgg7m4hb7rj6hk5vzrzasmgbjmb3dl"))) + (hash (base32 "0yw83a8nk5abjsvqrz8m2sj699c228j2f2wr5q8m95vgqzfw5wrb"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.9))) @@ -1373,81 +1373,6 @@ and the notification, WiFi, and Bluetooth LED.") detection of security vulnerability exploits against the kernel.") (license license:gpl2))) -(define-public rtl8821ce-linux-module - (let ((commit "be733dc86781c68571650b395dd0fa6b53c0a039") - (revision "6")) - (package - (name "rtl8821ce-linux-module") - (version (git-version "0.0.0" revision commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/tomaspinho/rtl8821ce") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "00sd7s0582b9jcpfgy0fw6418dwg700mfyizkfr22jf2x140iy70")))) - (build-system linux-module-build-system) - (arguments - (list #:make-flags - #~(list (string-append "CC=" #$(cc-for-target)) - (string-append "KSRC=" - (assoc-ref %build-inputs - "linux-module-builder") - "/lib/modules/build")) - #:phases - #~(modify-phases %standard-phases - (replace 'build - (lambda* (#:key (make-flags '()) (parallel-build? #t) - #:allow-other-keys) - (apply invoke "make" - `(,@(if parallel-build? - `("-j" ,(number->string (parallel-job-count))) - '()) - ,@make-flags))))) - #:tests? #f)) ; no test suite - (home-page "https://github.com/tomaspinho/rtl8821ce") - (synopsis "Linux driver for Realtek RTL8821CE wireless network adapters") - (description "This is Realtek's RTL8821CE Linux driver for wireless -network adapters.") - (license license:gpl2)))) - -(define-public rtl8812au-aircrack-ng-linux-module - (let ((commit "6d0d9fb56d4d918012a5c7a030b9233cad039cdd") - (revision "8")) - (package - (inherit rtl8821ce-linux-module) - (name "rtl8812au-aircrack-ng-linux-module") - (version (git-version "5.6.4.2" revision commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/aircrack-ng/rtl8812au") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 "012asiy43ik13kl9p97sscdsqq5jihq73s4ws3g5wqqczqcgrsvc")) - (modules '((guix build utils))) - (snippet - #~(begin - ;; Remove bundled tarballs, APKs, word lists, speadsheets, - ;; and other unnecessary unlicenced things. - (for-each delete-file-recursively (list "android" - "docs" - "tools")))))) - (supported-systems '("x86_64-linux" "i686-linux")) - (home-page "https://github.com/aircrack-ng/rtl8812au") - (synopsis "Linux driver for Realtek USB wireless network adapters") - (description - "This is Realtek's rtl8812au Linux driver for USB 802.11n wireless -network adapters, modified by the aircrack-ng project to support monitor mode -and frame injection. It provides a @code{88XXau} kernel module that supports -RTL8812AU, RTL8821AU, and RTL8814AU chips.") - (license license:gpl2+)))) - (define-public vhba-module (package (name "vhba-module") @@ -6704,7 +6629,7 @@ the @code{mce-inject} module loaded if it exists.") (define-public mcelog (package (name "mcelog") - (version "181") + (version "187") (source (origin (method git-fetch) @@ -6713,7 +6638,7 @@ the @code{mce-inject} module loaded if it exists.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0c9zdivv86xd8dmwia0k9fbr52zrafbyzn7ss53mh17sry5gm716")) + (base32 "0zdlwbdqs4s72yrpz4irhp12c1wqzy8kmf4hxahk13dmafd6dbnj")) (modules '((guix build utils))) (snippet `(begin @@ -7326,14 +7251,14 @@ re-use code and to avoid re-inventing the wheel.") (define-public libnftnl (package (name "libnftnl") - (version "1.2.2") + (version "1.2.3") (source (origin (method url-fetch) (uri (string-append "mirror://netfilter.org/libnftnl/" "libnftnl-" version ".tar.bz2")) (sha256 - (base32 "02kdxp4l1ds5lpkw6rxv6f7icc70am6ik3p9z5l8v48mkm7h1z4y")))) + (base32 "0m82bmh8i24hwxmz7rxwxjll4904ghd2b1x1p5h8algrg6dyl5p9")))) (build-system gnu-build-system) (native-inputs (list pkg-config)) @@ -7368,7 +7293,7 @@ used by nftables.") (define-public nftables (package (name "nftables") - (version "1.0.4") + (version "1.0.5") (source (origin (method url-fetch) @@ -7377,7 +7302,7 @@ used by nftables.") (string-append "https://www.nftables.org/projects/nftables" "/files/nftables-" version ".tar.bz2"))) (sha256 - (base32 "0ddsdj6zs78hndffl3iikpa1wzjxcpmr3xqcq4la71gnl7zb2zwj")))) + (base32 "02p59m773l2xqcb7ib7cprlpjfdnp792bahbs6c3dx1s74c4n6wd")))) (build-system gnu-build-system) (arguments `(#:configure-flags '("--disable-static" @@ -7880,14 +7805,14 @@ available in the kernel Linux.") (define-public cpuid (package (name "cpuid") - (version "20220620") + (version "20220812") (source (origin (method url-fetch) (uri (string-append "http://www.etallen.com/cpuid/cpuid-" version ".src.tar.gz")) (sha256 (base32 - "06nb69vlv1szdzq1dp784pgbr9z2py050v1hlrn4rr56jp0a2nci")))) + "1gss85szv4b48d93d6hzkkzggicdvw8dijiwfs84ywclgnwqzxiv")))) (build-system gnu-build-system) (arguments (list #:make-flags diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index 03e474831d..6018c4deff 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -6831,7 +6831,7 @@ extension-points via the concept of hooks.") (synopsis "Common Lisp abstraction layer over platform dependent functionality") (description "@code{s-sysdeps} is an abstraction layer over platform dependent functionality. This simple package is used as a building block in a -number of other open source projects. +number of other projects. @code{s-sysdeps} abstracts: @@ -22665,6 +22665,38 @@ the Processing language and shares some of the API.") (define-public ecl-sketch (sbcl-package->ecl-package sbcl-sketch)) +(define-public sbcl-string-pokemonize + (let ((commit "2dc01643defb497e4d1eb833def71dfc1e8d5da6") + (revision "0")) + (package + (name "sbcl-string-pokemonize") + (version (git-version "20210503" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/phoe/string-pokemonize") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1zk5klc94pxv7mhx6qrp93rk4ypwd6wfijap7gf9l0wpphg90r9x")))) + (build-system asdf-build-system/sbcl) + (arguments + `(#:tests? #f ; There are no tests. + #:asd-systems '("string-pokemonize"))) + (synopsis "Alternate upper- and lowercase") + (description + "@code{string-pokemonize} provides a function that alternates uppercase +and lowercase characters for a given string.") + (home-page "https://github.com/phoe/string-pokemonize") + (license license:expat)))) + +(define-public cl-string-pokemonize + (sbcl-package->cl-source-package sbcl-string-pokemonize)) + +(define-public ecl-string-pokemonize + (sbcl-package->ecl-package sbcl-string-pokemonize)) + (define-public sbcl-binary-types (let ((commit "9ec42042a50403961c08179a892ae3de725b1d7a")) (package diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index 8e59ec956b..2f37b82ea5 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -984,7 +984,7 @@ the HTML documentation of TXR.") (define-public txr (package (name "txr") - (version "278") + (version "280") (source (origin (method git-fetch) @@ -993,7 +993,7 @@ the HTML documentation of TXR.") (commit (string-append "txr-" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "08jmqv245vnvl4xx6x5a5hxlnhdcipfdbja54dvsi6wkiks2fif7")))) + (base32 "1ni2yb9dggldgizfp13mvrw5vzk13pg74dpk2lyn9dijqvs293s4")))) (build-system gnu-build-system) (arguments `(#:configure-flags @@ -1232,7 +1232,7 @@ including a built-in database engine and a GUI system.") (define-public janet (package (name "janet") - (version "1.23.0") + (version "1.24.0") (source (origin (method git-fetch) @@ -1241,7 +1241,7 @@ including a built-in database engine and a GUI system.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1qfahq1203kv5jxd0im7nxm3yy1p9k1wc0pk34b5h2sfships1hm")))) + (base32 "07kyjzbj5g197008n9qwpdnagylzlv8x4zbsf2d233mpskv3dixi")))) (build-system gnu-build-system) (arguments (list #:make-flags diff --git a/gnu/packages/lxde.scm b/gnu/packages/lxde.scm index 55deae26ea..0291f50302 100644 --- a/gnu/packages/lxde.scm +++ b/gnu/packages/lxde.scm @@ -10,6 +10,7 @@ ;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2019 Meiyo Peng <meiyo@riseup.net> ;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net> +;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -59,6 +60,7 @@ #:use-module (guix build-system gnu) #:use-module (guix build-system trivial) #:use-module (guix download) + #:use-module (guix gexp) #:use-module (guix git-download) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) @@ -77,7 +79,8 @@ (base32 "1rfira3lx8v6scz1aq69925j4vslpp36bmgrrzcfby2c60q2c155")))) (build-system gnu-build-system) - (inputs (list glib gtk+-2)) + (arguments (list #:configure-flags #~(list "--with-gtk=3"))) + (inputs (list glib gtk+)) (native-inputs (list intltool `(,glib "bin") ; for gtester libtool @@ -87,7 +90,7 @@ (synopsis "File management support (core library)") (description "LibFM provides file management functions built on top of Glib/GIO giving a higher-level API.") - (home-page "https://lxde.github.io") + (home-page "https://www.lxde.org/") (license license:gpl2+))) (define-public libfm-extra @@ -112,12 +115,13 @@ libFM file management library."))) (sha256 (base32 "0f4bjaamfxxdr9civvy55pa6vv9dx1hjs522gjbbgx7yp1cdh8kj")))) (build-system gnu-build-system) - (inputs (list gtk+-2)) + (arguments (list #:configure-flags #~(list "--enable-gtk3"))) + (inputs (list gtk+)) (native-inputs (list intltool pkg-config)) (synopsis "LXDE GTK+ theme switcher") (description "LXAppearance is a desktop-independent GTK+ theme switcher able to change themes, icons, and fonts used by GTK+ applications.") - (home-page "https://lxde.github.io") + (home-page "https://www.lxde.org/") (license license:gpl2+))) (define-public lxrandr @@ -135,7 +139,8 @@ able to change themes, icons, and fonts used by GTK+ applications.") "04n3vgh3ix12p8jfs4w0dyfq3anbjy33h7g53wbbqqc0f74xyplb")))) (build-system gnu-build-system) (arguments - `(#:phases + `(#:configure-flags (list "--enable-gtk3") + #:phases (modify-phases %standard-phases (add-after 'unpack 'xrandr-absolutely ;; lxrandr is useless without xrandr and gives an unhelpful error @@ -143,9 +148,8 @@ able to change themes, icons, and fonts used by GTK+ applications.") (lambda* (#:key input #:allow-other-keys) (substitute* "src/lxrandr.c" (("(\"|')xrandr\"" _ match) - (string-append match (which "xrandr") "\""))) - #t))))) - (inputs (list gtk+-2 xrandr)) + (string-append match (which "xrandr") "\"")))))))) + (inputs (list gtk+ xrandr)) (native-inputs (list intltool pkg-config)) (synopsis "LXDE monitor configuration tool") (description "LXRandR is a very basic monitor configuration tool. It @@ -153,7 +157,7 @@ relies on the X11 resize-and-rotate (RandR) extension but doesn't aim to be a full frontend of it. LXRandR only gives you some easy and quick options which are intuitive. It's suitable for laptop users who frequently uses projectors or external monitor.") - (home-page "https://lxde.github.io") + (home-page "https://www.lxde.org/") (license license:gpl2+))) (define-public lxtask @@ -170,13 +174,14 @@ or external monitor.") (base32 "0b2fxg8jjjpk219gh7qa18g45365598nd2bq7rrq0bdvqjdxy5i2")))) (build-system gnu-build-system) - (inputs (list gtk+-2)) + (arguments (list #:configure-flags #~(list "--enable-gtk3"))) + (inputs (list gtk+)) (native-inputs (list intltool pkg-config)) (synopsis "LXDE task manager") (description "LXTask is a lightweight task manager derived from Xfce task manager with all dependencies on Xfce removed. LXTask is based on the GTK+ toolkit. It allows users to monitor and control of running processes.") - (home-page "https://lxde.github.io") + (home-page "https://www.lxde.org/") (license license:gpl2+))) (define-public lxterminal @@ -192,14 +197,15 @@ toolkit. It allows users to monitor and control of running processes.") (base32 "1124pghrhnx6q4391ri8nvi6bsmvbj1dx81an08mird8jf2b2rii")))) (build-system gnu-build-system) - (inputs (list gtk+-2 vte/gtk+-2)) + (arguments (list #:configure-flags #~(list "--enable-gtk3"))) + (inputs (list gtk+ vte)) (native-inputs (list intltool pkg-config)) (synopsis "LXDE terminal emulator") (description "LXTerminal is a VTE-based terminal emulator. It supports multiple tabs and has only minimal dependencies thus being completely desktop-independent. In order to reduce memory usage and increase the performance, all instances of the terminal are sharing a single process.") - (home-page "https://lxde.github.io") + (home-page "https://www.lxde.org/") (license license:gpl2+))) (define-public menu-cache @@ -223,7 +229,7 @@ performance, all instances of the terminal are sharing a single process.") (synopsis "LXDE implementation of the freedesktop menu's cache") (description "Menu-cache is a library creating and utilizing caches to speed up the access to freedesktop.org defined application menus.") - (home-page "https://lxde.github.io") + (home-page "https://www.lxde.org/") (license license:lgpl2.1+))) (define-public pcmanfm @@ -239,15 +245,16 @@ speed up the access to freedesktop.org defined application menus.") (base32 "1xqc2k2jh165mm81xg0ghxx0ml1s3rhh4ndvbzkcri4kfhj7pjql")))) (build-system gnu-build-system) - (inputs (list gtk+-2 gvfs ; for trash and mount support + (arguments (list #:configure-flags #~(list "--with-gtk=3"))) + (inputs (list gtk+ gvfs ;for trash and mount support libfm libx11)) (native-inputs (list intltool libtool pkg-config)) (propagated-inputs - (list lxmenu-data)) ; for "Open With..." application list + (list lxmenu-data)) ;for "Open With..." application list (synopsis "LXDE file manager") (description "PCMan is a lightweight GTK+ based file manager, compliant with freedesktop.org standard.") - (home-page "https://lxde.github.io") + (home-page "https://www.lxde.org/") (license license:gpl2+))) (define-public spacefm @@ -415,7 +422,8 @@ customizable menu system, and Bash integration.") (source (origin (method url-fetch) - (uri (string-append "https://downloads.sourceforge.net/lxde/" + (uri (string-append "mirror://sourceforge//lxde/" + "lxmenu-data%20%28desktop%20menu%29/" name "-" version ".tar.xz")) (sha256 (base32 @@ -427,7 +435,7 @@ customizable menu system, and Bash integration.") (description "Lxmenu-data provides files required to build freedesktop.org menu spec-compliant desktop menus for LXDE.") - (home-page "https://lxde.github.io") + (home-page "https://www.lxde.org/") (license license:lgpl2.1+))) (define-public lxde-icon-theme @@ -437,7 +445,8 @@ menu spec-compliant desktop menus for LXDE.") (source (origin (method url-fetch) - (uri (string-append "https://downloads.sourceforge.net/lxde/" + (uri (string-append "mirror://sourceforge/lxde/LXDE%20Icon%20Theme/" + "lxde-icon-theme-" version "/" name "-" version ".tar.xz")) (sha256 (base32 @@ -448,7 +457,7 @@ menu spec-compliant desktop menus for LXDE.") (synopsis "LXDE default icon theme based on nuoveXT2") (description "Lxde-icon-theme provides an default icon theme for LXDE.") - (home-page "https://lxde.github.io") + (home-page "https://www.lxde.org/") (license license:lgpl3))) (define-public lxde-common @@ -458,7 +467,9 @@ menu spec-compliant desktop menus for LXDE.") (source (origin (method url-fetch) - (uri (string-append "https://downloads.sourceforge.net/lxde/" + (uri (string-append "mirror://sourceforge/lxde/" + "lxde-common%20%28default%20config%29/" + "lxde-common%20" (version-major+minor version) "/" name "-" version ".tar.xz")) (sha256 (base32 @@ -484,7 +495,7 @@ menu spec-compliant desktop menus for LXDE.") (synopsis "Common files of the LXDE Desktop") (description "Lxde-common provides common files of the LXDE Desktop.") - (home-page "https://lxde.github.io") + (home-page "https://www.lxde.org/") (license license:gpl2+))) (define-public lxinput @@ -494,21 +505,23 @@ menu spec-compliant desktop menus for LXDE.") (source (origin (method url-fetch) - (uri (string-append "https://downloads.sourceforge.net/lxde/" - name "-" version ".tar.xz")) + (uri (string-append "mirror://sourceforge/lxde/" + "LXInput%20%28Kbd%20and%20amp_%20mouse%20config%29/" + "LXInput%200.3.x/" name "-" version ".tar.xz")) (sha256 (base32 "123f3yn4rp1w5b3n5aj3ad9snkxab29qkrs7bcvf5bx4cn57g3sf")))) (build-system gnu-build-system) + (arguments (list #:configure-flags #~(list "--enable-gtk3"))) (inputs - (list gtk+-2)) + (list gtk+)) (native-inputs (list pkg-config intltool)) (synopsis "Tool for mouse and keyboard configuration in LXDE") (description "Lxinput provides a small program to configure keyboard and mouse in LXDE.") - (home-page "https://lxde.github.io") + (home-page "https://www.lxde.org/") (license license:gpl2+))) (define-public lxsession @@ -518,7 +531,9 @@ in LXDE.") (source (origin (method url-fetch) - (uri (string-append "https://downloads.sourceforge.net/lxde/" + (uri (string-append "mirror://sourceforge/lxde/" + "LXSession%20%28session%20manager%29/" + "LXSession%200.5.x/" "lxsession-" version ".tar.xz")) (sha256 (base32 "0imv9nysip1j9lrb2z96kl05isjgp312323wnnd5b59h0ff0sgp4")) @@ -534,21 +549,20 @@ in LXDE.") (and (string-suffix? ".c" file) (file-exists? (c->vala file)))))) (for-each delete-file - (find-files "." generated-c-file?)) - #t)))) + (find-files "." generated-c-file?)))))) (build-system gnu-build-system) (arguments - `(#:phases + `(#:configure-flags (list "--enable-gtk3") + #:phases (modify-phases %standard-phases (add-after 'unpack 'rm-stamp (lambda _ (for-each delete-file (find-files "." "\\.stamp$")) ;; Force regeneration of configure script. - (delete-file "configure") - #t))))) + (delete-file "configure")))))) (inputs - `(("gtk+-2" ,gtk+-2) - ("polkit" ,polkit))) + (list gtk+ + polkit)) (native-inputs (list pkg-config intltool @@ -560,7 +574,7 @@ in LXDE.") (synopsis "Lightweight X11 session manager") (description "Lxsession provides an lightweight X11 session manager.") - (home-page "https://lxde.github.io") + (home-page "https://www.lxde.org/") (license license:gpl2+))) (define-public lxpanel @@ -570,43 +584,51 @@ in LXDE.") (source (origin (method url-fetch) - (uri (string-append "https://downloads.sourceforge.net/lxde/" - "lxpanel-" version ".tar.xz")) + (uri (string-append "mirror://sourceforge/lxde/" + "LXPanel%20%28desktop%20panel%29/" + "LXPanel%200.10.x/lxpanel-" + version ".tar.xz")) (sha256 (base32 "1s0y8jjkw6qz0r8l90618b8xly0c8g906kah7b162sz3sxbqyc8y")))) (build-system gnu-build-system) (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'install 'wrap - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out")) - (menu (assoc-ref inputs "lxmenu-data"))) - (wrap-program (string-append out "/bin/lxpanel") - `("XDG_DATA_DIRS" ":" prefix - (,(string-append menu "/share")))) - #t)))))) + (list + #:configure-flags #~(list "--enable-gtk3") + #:phases + #~(modify-phases %standard-phases + (add-after 'install 'wrap + (lambda* (#:key inputs outputs #:allow-other-keys) + (wrap-program (search-input-file outputs "bin/lxpanel") + `("XDG_DATA_DIRS" ":" prefix + (,(string-append #$(this-package-input "lxmenu-data") + "/share"))))))))) (inputs - ;; TODO: libindicator-0.3.0 - `(("curl" ,curl) - ("gtk+-2" ,gtk+-2) - ("alsa-lib" ,alsa-lib) - ("libwnck-2" ,libwnck-2) - ("keybinder" ,keybinder) - ("libxmu" ,libxmu) - ("libxpm" ,libxpm) - ("libxml2" ,libxml2) - ("cairo" ,cairo) - ("libx11" ,libx11) - ("wireless-tools" ,wireless-tools))) + (list alsa-lib + bash-minimal ;for wrap-program + cairo + curl + gtk+ + keybinder + libindicator + libwnck + libx11 + libxml2 + libxmu + libxpm + wireless-tools)) (native-inputs - (list pkg-config intltool docbook-xml gettext-minimal)) + (list docbook-xml + gettext-minimal + intltool + pkg-config)) (propagated-inputs - (list lxmenu-data libfm menu-cache)) + (list libfm + lxmenu-data + menu-cache)) (synopsis "X11 Desktop panel for LXDE") (description "Lxpanel provides an X11 desktop panel for LXDE.") - (home-page "https://lxde.github.io") + (home-page "https://www.lxde.org/") (license license:gpl2+))) (define-public lxde @@ -645,7 +667,7 @@ user friendly and slim, while keeping the resource usage low. LXDE uses less RAM and less CPU while being a feature rich desktop environment. Unlike other tightly integrated desktops LXDE strives to be modular, so each component can be used independently with few dependencies.") - (home-page "https://lxde.github.io") + (home-page "https://www.lxde.org/") (license license:gpl2+))) ; And others. ;;; lxde.scm ends here diff --git a/gnu/packages/lxqt.scm b/gnu/packages/lxqt.scm index eab9a24d1d..ceb69f2199 100644 --- a/gnu/packages/lxqt.scm +++ b/gnu/packages/lxqt.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015 Andreas Enge <andreas@enge.fr> -;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com> +;;; Copyright © 2015, 2022 Sou Bunnbu <iyzsong@gmail.com> ;;; Copyright © 2016 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2017 Nikita <nikita@n0.is> @@ -31,6 +31,7 @@ #:use-module (guix download) #:use-module (guix git-download) #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix gexp) #:use-module (guix packages) #:use-module (guix utils) #:use-module (guix build-system cmake) @@ -129,7 +130,7 @@ to statistics about the system on which it's run.") (define-public lxqt-build-tools (package (name "lxqt-build-tools") - (version "0.9.0") + (version "0.11.0") (source (origin (method url-fetch) @@ -137,16 +138,29 @@ to statistics about the system on which it's run.") "/download/" version "/lxqt-build-tools-" version ".tar.xz")) (sha256 - (base32 "0kayad5l72h8n90zkf3hy8fxy72n4b1mrkjglpa9dj0cdj6qg0lp")))) + (base32 "1ff1pkrlxd8h0j8v49p6wrfhnqrz8s5b53hi835m41cvkzjljpfx")))) (build-system cmake-build-system) (arguments - `(#:tests? #f ; no tests - #:configure-flags - ;; 'startlxqt' will add LXQT_DATA_DIR to XDG_DATA_DIRS, - ;; LXQT_ETC_XDG_DIR to XDG_CONFIG_DIRS, and 'lxqt-about' will report - ;; LXQT_ETC_XDG_DIR in its "Technical Info". - '("-DLXQT_DATA_DIR=/run/current-system/profile/share" - "-DLXQT_ETC_XDG_DIR=/run/current-system/profile/etc/xdg"))) + (list + #:tests? #f ; no tests + #:modules `((ice-9 regex) + (guix build cmake-build-system) + (guix build utils)) + ;; In phases and configure-flags: Set LXQT_TRANSLATIONS_DIR, + ;; LXQT_DATA_DIR, etc. to relative paths, so that packages using + ;; LXQtConfigVars.cmake from lxqt-build-tools will install translations + ;; and data files into their outputs, remove the need to patch their + ;; cmake files. + #:phases + #~(modify-phases %standard-phases + (add-after 'install 'patch-LXQtConfigVars.cmake + (lambda _ + (substitute* (string-append #$output + "/share/cmake/lxqt-build-tools" + "/modules/LXQtConfigVars.cmake") + (((regexp-quote (string-append #$output "/"))) ""))))) + #:configure-flags + #~(list "-DLXQT_ETC_XDG_DIR=etc/xdg"))) (native-inputs (list pkg-config glib)) (inputs @@ -164,7 +178,7 @@ itself as well as other components maintained by the LXQt project.") (define-public libqtxdg (package (name "libqtxdg") - (version "3.7.1") + (version "3.9.1") (source (origin (method url-fetch) @@ -172,7 +186,7 @@ itself as well as other components maintained by the LXQt project.") "https://github.com/lxqt/libqtxdg/releases/download/" version "/libqtxdg-" version ".tar.xz")) (sha256 - (base32 "16wav2b948c837cpbvdr6hs1zifwrpdk3yjvbzzp2l1hndvbwz27")))) + (base32 "1kh4hv59bkjifq20ksh1mizf9mp7x30v6fpwccr45mi7hasqvvfi")))) (build-system cmake-build-system) (arguments '(#:configure-flags @@ -196,10 +210,33 @@ itself as well as other components maintained by the LXQt project.") in Qt.") (license license:lgpl2.1+))) +(define-public qtxdg-tools + (package + (name "qtxdg-tools") + (version "3.9.1") + (source + (origin + (method url-fetch) + (uri (string-append + "https://github.com/lxqt/qtxdg-tools/releases/download/" + version "/qtxdg-tools-" version ".tar.xz")) + (sha256 + (base32 "0qn35v4dv71g0a4cqkbikppwmihxmfa560q9kw5pwk2y0xiwpncr")))) + (build-system cmake-build-system) + (arguments '(#:tests? #f)) ; no tests + (propagated-inputs (list libqtxdg)) + (native-inputs (list lxqt-build-tools)) + (home-page "https://github.com/lxqt/qtxdg-tools") + (synopsis "User tools for libqtxdg") + (description "This package contains a CLI MIME tool, @command{qtxdg-mat}, +for handling file associations and opening files with their default +applications.") + (license license:lgpl2.1+))) + (define-public liblxqt (package (name "liblxqt") - (version "0.17.0") + (version "1.1.0") (source (origin (method url-fetch) @@ -207,7 +244,7 @@ in Qt.") "https://github.com/lxqt/" name "/releases/download/" version "/" name "-" version ".tar.xz")) (sha256 - (base32 "0ay3j6zdgffw3mzaq3wdq96la7fnn2dw52ij6987slv31563nknl")))) + (base32 "1fickg1q54pcb8bv3x0ydg4xx02cqykibnjcq09as2kws6xbhk9n")))) (build-system cmake-build-system) (arguments `(#:tests? #f ; no tests @@ -218,13 +255,6 @@ in Qt.") (substitute* "CMakeLists.txt" (("DESTINATION \"\\$\\{POLKITQT-1_POLICY_FILES_INSTALL_DIR\\}") "DESTINATION \"share/polkit-1/actions")) - #t)) - (add-after 'unpack 'patch-translations-dir - (lambda* (#:key outputs #:allow-other-keys) - (substitute* "CMakeLists.txt" - (("\\$\\{LXQT_TRANSLATIONS_DIR\\}") - (string-append (assoc-ref outputs "out") - "/share/lxqt/translations"))) #t))))) (inputs (list kwindowsystem @@ -244,14 +274,14 @@ components of the LXQt desktop environment.") (define-public libsysstat (package (name "libsysstat") - (version "0.4.5") + (version "0.4.6") (source (origin (method url-fetch) (uri (string-append "https://github.com/lxqt/" name "/releases/download/" version "/" name "-" version ".tar.xz")) (sha256 - (base32 "1ljy5ggvqvpm3k6kfy03dn47ygr9lzi8hmqws4dcqfc9sx86b6zi")))) + (base32 "1ghkzgz3ypjii08f00g26pnmw0s5naf344p83dwnf3kfdlykiip6")))) (build-system cmake-build-system) (arguments '(#:tests? #f)) ; no tests (inputs @@ -270,14 +300,14 @@ and memory usage or network traffic.") (define-public lxqt-about (package (name "lxqt-about") - (version "0.17.0") + (version "1.1.0") (source (origin (method url-fetch) (uri (string-append "https://github.com/lxqt/" name "/releases/download/" version "/" name "-" version ".tar.xz")) (sha256 - (base32 "04riqf2xgbcnq67l5zb0dfnnmc4a2zljx8zfn3jlvxirnd73l0zm")))) + (base32 "03bqhbpdnfpan3l4snzzz6j0054m4r9zcgygcg21znslwicbqnw3")))) (build-system cmake-build-system) (inputs (list kwindowsystem @@ -295,13 +325,6 @@ and memory usage or network traffic.") (add-before 'build 'setenv (lambda _ (setenv "QT_RCC_SOURCE_DATE_OVERRIDE" "1") - #t)) - (add-after 'unpack 'patch-translations-dir - (lambda* (#:key outputs #:allow-other-keys) - (substitute* "CMakeLists.txt" - (("\\$\\{LXQT_TRANSLATIONS_DIR\\}") - (string-append (assoc-ref outputs "out") - "/share/lxqt/translations"))) #t))))) (home-page "https://lxqt-project.org") (synopsis "Provides information about LXQt and the system") @@ -312,14 +335,14 @@ LXQt and the system it's running on.") (define-public lxqt-admin (package (name "lxqt-admin") - (version "0.17.0") + (version "1.1.0") (source (origin (method url-fetch) (uri (string-append "https://github.com/lxqt/" name "/releases/download/" version "/" name "-" version ".tar.xz")) (sha256 - (base32 "07fkn3zmpfxjzzsv1hyv50sx0359n10lxjil35qn266nz165wj43")))) + (base32 "1zah3xdnif9miaq52mmfbbzvqjhca7w7h81ngrn25j9pvd2bflm8")))) (build-system cmake-build-system) (inputs (list kwindowsystem @@ -340,14 +363,6 @@ LXQt and the system it's running on.") "lxqt-admin-time/CMakeLists.txt") (("DESTINATION \"\\$\\{POLKITQT-1_POLICY_FILES_INSTALL_DIR\\}") "DESTINATION \"share/polkit-1/actions")) - #t)) - (add-after 'unpack 'patch-translations-dir - (lambda* (#:key outputs #:allow-other-keys) - (substitute* '("lxqt-admin-time/CMakeLists.txt" - "lxqt-admin-user/CMakeLists.txt") - (("\\$\\{LXQT_TRANSLATIONS_DIR\\}") - (string-append (assoc-ref outputs "out") - "/share/lxqt/translations"))) #t))))) (home-page "https://lxqt-project.org") (synopsis "LXQt system administration tool") @@ -358,14 +373,14 @@ the operating system LXQt is running on.") (define-public lxqt-config (package (name "lxqt-config") - (version "0.17.1") + (version "1.1.0") (source (origin (method url-fetch) (uri (string-append "https://github.com/lxqt/" name "/releases/download/" version "/" name "-" version ".tar.xz")) (sha256 - (base32 "0nr43d6fyc5zg4b3iwpca2cy58ry8q0rahrk6ixm7wrvmaiwkh93")))) + (base32 "0f0x82qma86kjdvn08qlg0ydxh9fnqikijfhnicynxdqfnp50ia5")))) (build-system cmake-build-system) (inputs (list eudev @@ -391,12 +406,6 @@ the operating system LXQt is running on.") '(#:tests? #f ; no tests #:phases (modify-phases %standard-phases - (add-after 'unpack 'patch-source - (lambda _ - (substitute* '("src/CMakeLists.txt") - (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}") - "DESTINATION \"etc/xdg")) - #t)) (add-after 'unpack 'set-xkeyboard-config-file-name (lambda* (#:key inputs #:allow-other-keys) ;; Set the file name to xkeyboard-config. @@ -404,21 +413,7 @@ the operating system LXQt is running on.") (substitute* "lxqt-config-input/keyboardlayoutconfig.h" (("/usr/share/X11/xkb/rules/base.lst") (string-append xkb "/share/X11/xkb/rules/base.lst"))) - #t))) - (add-after 'unpack 'patch-translations-dir - (lambda* (#:key outputs #:allow-other-keys) - (substitute* '("lxqt-config-file-associations/CMakeLists.txt" - "lxqt-config-brightness/CMakeLists.txt" - "lxqt-config-appearance/CMakeLists.txt" - "lxqt-config-locale/CMakeLists.txt" - "lxqt-config-monitor/CMakeLists.txt" - "lxqt-config-input/CMakeLists.txt" - "liblxqt-config-cursor/CMakeLists.txt" - "src/CMakeLists.txt") - (("\\$\\{LXQT_TRANSLATIONS_DIR\\}") - (string-append (assoc-ref outputs "out") - "/share/lxqt/translations"))) - #t))))) + #t)))))) (home-page "https://lxqt-project.org") (synopsis "Tools to configure LXQt and the underlying operating system") (description "lxqt-config is providing several tools involved in the @@ -428,7 +423,7 @@ configuration of both LXQt and the underlying operating system.") (define-public lxqt-globalkeys (package (name "lxqt-globalkeys") - (version "0.17.0") + (version "1.1.0") (source (origin (method url-fetch) @@ -436,7 +431,7 @@ configuration of both LXQt and the underlying operating system.") "releases/download/" version "/" "lxqt-globalkeys-" version ".tar.xz")) (sha256 - (base32 "0pnyqiqhaawrnyvw3ljp850d911abaalnl4rgvl2xyzybvlhki4h")))) + (base32 "0bbw85aa59w0qnvkdggm3hbacps6yfcvcrs32d34mvvhc7d6g04l")))) (build-system cmake-build-system) (inputs (list kwindowsystem @@ -447,24 +442,7 @@ configuration of both LXQt and the underlying operating system.") qtx11extras)) (native-inputs (list pkg-config qttools-5 lxqt-build-tools)) - (arguments - '(#:tests? #f ; no tests - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'patch-source - (lambda _ - (substitute* '("autostart/CMakeLists.txt" - "xdg/CMakeLists.txt") - (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}") - "DESTINATION \"etc/xdg")) - #t)) - (add-after 'unpack 'patch-translations-dir - (lambda* (#:key outputs #:allow-other-keys) - (substitute* "config/CMakeLists.txt" - (("\\$\\{LXQT_TRANSLATIONS_DIR\\}") - (string-append (assoc-ref outputs "out") - "/share/lxqt/translations"))) - #t))))) + (arguments '(#:tests? #f)) ; no tests (home-page "https://lxqt-project.org") (synopsis "Daemon used to register global keyboard shortcuts") (description "lxqt-globalkeys is providing tools to set global keyboard @@ -475,14 +453,14 @@ as a whole and are not limited to distinct applications.") (define-public lxqt-notificationd (package (name "lxqt-notificationd") - (version "0.17.0") + (version "1.1.0") (source (origin (method url-fetch) (uri (string-append "https://github.com/lxqt/" name "/releases/download/" version "/" name "-" version ".tar.xz")) (sha256 - (base32 "1dyal7brmfnydfgb6lpxnqww8fj5gzixs7s3wf5nn2ihsz1wm4nk")))) + (base32 "0bz3qdvv591zvpkxqzqqmh1yq5icc3iinmjr13qzws3ajlj19z44")))) (build-system cmake-build-system) (inputs (list kwindowsystem @@ -493,24 +471,7 @@ as a whole and are not limited to distinct applications.") qtx11extras)) (native-inputs (list lxqt-build-tools qttools-5)) - (arguments - '(#:tests? #f ; no test target - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'patch-source - (lambda _ - (substitute* '("autostart/CMakeLists.txt") - (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}") - "DESTINATION \"etc/xdg")) - #t)) - (add-after 'unpack 'patch-translations-dir - (lambda* (#:key outputs #:allow-other-keys) - (substitute* '("config/CMakeLists.txt" - "src/CMakeLists.txt") - (("\\$\\{LXQT_TRANSLATIONS_DIR\\}") - (string-append (assoc-ref outputs "out") - "/share/lxqt/translations"))) - #t))))) + (arguments '(#:tests? #f)) ; no test target (home-page "https://lxqt-project.org") (synopsis "The LXQt notification daemon") (description "lxqt-notificationd is LXQt's implementation of a daemon @@ -520,14 +481,14 @@ according to the Desktop Notifications Specification.") (define-public lxqt-openssh-askpass (package (name "lxqt-openssh-askpass") - (version "0.17.0") + (version "1.1.0") (source (origin (method url-fetch) (uri (string-append "https://github.com/lxqt/" name "/releases/download/" version "/" name "-" version ".tar.xz")) (sha256 - (base32 "0gdcy8c21sbfrlfz9c3zqw4dvdwf309flkjgqanwwl9i8hr26chr")))) + (base32 "1hxix513z2sanmygfzq1fgx30kaxw5rjmmklbyyzl8bv1xzjcwk7")))) (build-system cmake-build-system) (inputs (list kwindowsystem @@ -538,17 +499,7 @@ according to the Desktop Notifications Specification.") qtx11extras)) (native-inputs (list lxqt-build-tools qttools-5)) - (arguments - '(#:tests? #f ; no tests - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'patch-translations-dir - (lambda* (#:key outputs #:allow-other-keys) - (substitute* "CMakeLists.txt" - (("\\$\\{LXQT_TRANSLATIONS_DIR\\}") - (string-append (assoc-ref outputs "out") - "/share/lxqt/translations"))) - #t))))) + (arguments '(#:tests? #f)) ; no tests (home-page "https://lxqt-project.org") (synopsis "GUI to query passwords on behalf of SSH agents") (description "lxqt-openssh-askpass is a GUI to query credentials on behalf @@ -558,14 +509,14 @@ of other programs.") (define-public lxqt-panel (package (name "lxqt-panel") - (version "0.17.1") + (version "1.1.0") (source (origin (method url-fetch) (uri (string-append "https://github.com/lxqt/" name "/releases/download/" version "/" name "-" version ".tar.xz")) (sha256 - (base32 "1k2cfs1mhad486kh93vbxma3jpjksp4hzjv1xmp1g5alb5dgnc0q")))) + (base32 "11dg18ac6kj8qkkrg940bzpykjih6nnw8y3hfww3wiyg6dka9gd7")))) (build-system cmake-build-system) (inputs (list alsa-lib @@ -579,6 +530,7 @@ of other programs.") libxdamage libxkbcommon libxrender + libxtst `(,lm-sensors "lib") lxqt-globalkeys pcre @@ -588,6 +540,7 @@ of other programs.") qtx11extras solid xcb-util + xcb-util-image xkeyboard-config)) (native-inputs (list pkg-config lxqt-build-tools qttools-5)) @@ -599,21 +552,6 @@ of other programs.") '(#:tests? #f ; no tests #:phases (modify-phases %standard-phases - (add-after 'unpack 'patch-source - (lambda _ - (substitute* '("autostart/CMakeLists.txt" - "menu/CMakeLists.txt") - (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}") - "DESTINATION \"etc/xdg")) - #t)) - (add-after 'unpack 'patch-translations-dir - (lambda* (#:key outputs #:allow-other-keys) - (substitute* '("cmake/BuildPlugin.cmake" - "panel/CMakeLists.txt") - (("\\$\\{LXQT_TRANSLATIONS_DIR\\}") - (string-append (assoc-ref outputs "out") - "/share/lxqt/translations"))) - #t)) (add-after 'unpack 'set-xkeyboard-config-file-path (lambda* (#:key inputs #:allow-other-keys) ;; Set the path to xkeyboard-config. @@ -630,14 +568,14 @@ of other programs.") (define-public lxqt-policykit (package (name "lxqt-policykit") - (version "0.17.0") + (version "1.1.0") (source (origin (method url-fetch) (uri (string-append "https://github.com/lxqt/" name "/releases/download/" version "/" name "-" version ".tar.xz")) (sha256 - (base32 "119bjhx208g7wxmr8r0ajb3wl6vagq1aks6zz07df4bgjs3nnpli")))) + (base32 "150ggcfprascnwgsz721vnmay9cbar9annlhp6h2yzkl69iyc49r")))) (build-system cmake-build-system) (inputs (list kwindowsystem @@ -650,23 +588,7 @@ of other programs.") qtx11extras)) (native-inputs (list pkg-config polkit lxqt-build-tools qttools-5)) - (arguments - '(#:tests? #f ; no test target - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'patch-source - (lambda _ - (substitute* '("autostart/CMakeLists.txt") - (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}") - "DESTINATION \"etc/xdg")) - #t)) - (add-after 'unpack 'patch-translations-dir - (lambda* (#:key outputs #:allow-other-keys) - (substitute* "CMakeLists.txt" - (("\\$\\{LXQT_TRANSLATIONS_DIR\\}") - (string-append (assoc-ref outputs "out") - "/share/lxqt/translations"))) - #t))))) + (arguments '(#:tests? #f)) ; no test target (home-page "https://lxqt-project.org") (synopsis "The LXQt PolicyKit agent") (description "lxqt-policykit is the polkit authentication agent of @@ -676,14 +598,14 @@ LXQt.") (define-public lxqt-powermanagement (package (name "lxqt-powermanagement") - (version "0.17.1") + (version "1.1.0") (source (origin (method url-fetch) (uri (string-append "https://github.com/lxqt/" name "/releases/download/" version "/" name "-" version ".tar.xz")) (sha256 - (base32 "00njx8a8cs0zzpz798qc9j16k7i4y0ydy1xmmcq9yv0wawh4gqck")))) + (base32 "0zy6abbf3iwrxsr18gbxidb4m5spsigpa2778xg7y9r7fwgmqqkk")))) (build-system cmake-build-system) (inputs (list kidletime @@ -697,24 +619,7 @@ LXQt.") solid)) (native-inputs (list lxqt-build-tools qttools-5)) - (arguments - '(#:tests? #f ; no tests - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'patch-source - (lambda _ - (substitute* '("autostart/CMakeLists.txt") - (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}") - "DESTINATION \"etc/xdg")) - #t)) - (add-after 'unpack 'patch-translations-dir - (lambda* (#:key outputs #:allow-other-keys) - (substitute* '("config/CMakeLists.txt" - "src/CMakeLists.txt") - (("\\$\\{LXQT_TRANSLATIONS_DIR\\}") - (string-append (assoc-ref outputs "out") - "/share/lxqt/translations"))) - #t))))) + (arguments '(#:tests? #f)) ; no tests (home-page "https://lxqt-project.org") (synopsis "Power management module for LXQt") (description "lxqt-powermanagement is providing tools to monitor power @@ -725,14 +630,14 @@ when laptop batteries are low on power.") (define-public lxqt-qtplugin (package (name "lxqt-qtplugin") - (version "0.17.0") + (version "1.1.0") (source (origin (method url-fetch) (uri (string-append "https://github.com/lxqt/" name "/releases/download/" version "/" name "-" version ".tar.xz")) (sha256 - (base32 "14c6abxfg3vda333wrvb5lk45c45hnb66jclbs3vsmrjxdb13vv5")))) + (base32 "1zw79lnm35gj3dyd4vlnk08n1lnr8391n36nbn81d0fgmvs21yx4")))) (build-system cmake-build-system) (inputs (list libdbusmenu-qt @@ -762,14 +667,14 @@ Qt with LXQt.") (define-public lxqt-runner (package (name "lxqt-runner") - (version "0.17.0") + (version "1.1.0") (source (origin (method url-fetch) (uri (string-append "https://github.com/lxqt/" name "/releases/download/" version "/" name "-" version ".tar.xz")) (sha256 - (base32 "0n53jbvkmp4vgi21a720gsvi407m4ybqk8xrpnm5f48yjr88r9i4")))) + (base32 "1wfng8g28mq97ibrgpfbj353i15vdimmjp83pfqrmkddx0yvzcdv")))) (build-system cmake-build-system) (inputs (list kwindowsystem @@ -783,23 +688,7 @@ Qt with LXQt.") qtx11extras)) (native-inputs (list pkg-config qttools-5 lxqt-build-tools)) - (arguments - '(#:tests? #f ; no tests - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'patch-source - (lambda _ - (substitute* '("autostart/CMakeLists.txt") - (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}") - "DESTINATION \"etc/xdg")) - #t)) - (add-after 'unpack 'patch-translations-dir - (lambda* (#:key outputs #:allow-other-keys) - (substitute* "CMakeLists.txt" - (("\\$\\{LXQT_TRANSLATIONS_DIR\\}") - (string-append (assoc-ref outputs "out") - "/share/lxqt/translations"))) - #t))))) + (arguments '(#:tests? #f)) ; no tests (home-page "https://lxqt-project.org") (synopsis "Tool used to launch programs quickly by typing their names") (description "lxqt-runner provides a GUI that comes up on the desktop and @@ -809,20 +698,20 @@ allows for launching applications or shutting down the system.") (define-public lxqt-session (package (name "lxqt-session") - (version "0.17.1") + (version "1.1.1") (source (origin (method url-fetch) (uri (string-append "https://github.com/lxqt/" name "/releases/download/" version "/" name "-" version ".tar.xz")) (sha256 - (base32 "0iwwfyngpbhs2dwvbw0cci0bf3qbqcpjjw7h5vm46nimvgp8q1fr")))) + (base32 "0j8q5jfpb2l0vvji3xs8y0jcr792z6sxzj111qqvmdrbpxrkwxnw")))) (build-system cmake-build-system) (inputs (list eudev kwindowsystem liblxqt - libqtxdg + qtxdg-tools procps qtbase-5 qtsvg-5 @@ -836,40 +725,28 @@ allows for launching applications or shutting down the system.") (modify-phases %standard-phases (add-after 'unpack 'patch-source (lambda* (#:key outputs #:allow-other-keys) - (substitute* '("autostart/CMakeLists.txt" - "config/CMakeLists.txt") - (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}") - "DESTINATION \"etc/xdg")) (let ((out (assoc-ref outputs "out"))) (substitute* '("xsession/lxqt.desktop.in") (("Exec=startlxqt") (string-append "Exec=" out "/bin/startlxqt")) - (("TryExec=lxqt-session") (string-append "TryExec=" out "/bin/startlxqt"))) - #t))) - ;; add write permission to lxqt-rc.xml file which is stored as read-only in store + (("TryExec=lxqt-session") (string-append "TryExec=" out "/bin/startlxqt")))))) + (add-after 'unpack 'patch-openbox-permission (lambda _ (substitute* "startlxqt.in" + ;; Don't add 'etc/xdg' to XDG_CONFIG_DIRS, and 'share' to XDG_DATA_DIRS. + (("! contains .*;") "false;") + ;; Add write permission to lxqt-rc.xml file which is stored as + ;; read-only in store. (("cp \"\\$LXQT_DEFAULT_OPENBOX_CONFIG\" \"\\$XDG_CONFIG_HOME/openbox\"") (string-append "cp \"$LXQT_DEFAULT_OPENBOX_CONFIG\" \"$XDG_CONFIG_HOME/openbox\"\n" " # fix openbox permission issue\n" - " chmod u+w \"$XDG_CONFIG_HOME/openbox\"/*"))) - #t)) - (add-after 'unpack 'patch-translations-dir - (lambda* (#:key outputs #:allow-other-keys) - (substitute* '("lxqt-config-session/CMakeLists.txt" - "lxqt-leave/CMakeLists.txt" - "lxqt-session/CMakeLists.txt") - (("\\$\\{LXQT_TRANSLATIONS_DIR\\}") - (string-append (assoc-ref outputs "out") - "/share/lxqt/translations"))) - #t)) - (add-after 'install 'wrap-program - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - (wrap-program (string-append out "/bin/startlxqt") - `("XDG_CONFIG_DIRS" ":" suffix ("/run/current-system/profile/share" - "/run/current-system/profile/share/pcmanfm-qt"))) - #t)))))) + " chmod u+w \"$XDG_CONFIG_HOME/openbox\"/*")))))))) + (native-search-paths + (list (search-path-specification + ;; LXQt applications install their default config files into + ;; 'share/lxqt' and search them from XDG_CONFIG_DIRS/lxqt. + (variable "XDG_CONFIG_DIRS") + (files '("share"))))) (home-page "https://lxqt-project.org") (synopsis "Session manager for LXQt") (description "lxqt-session provides the standard session manager @@ -879,14 +756,14 @@ for the LXQt desktop environment.") (define-public lxqt-sudo (package (name "lxqt-sudo") - (version "0.17.0") + (version "1.1.0") (source (origin (method url-fetch) (uri (string-append "https://github.com/lxqt/" name "/releases/download/" version "/" name "-" version ".tar.xz")) (sha256 - (base32 "02s38m0ywp0gjkjczvrc4r1ignshbajlj084xd61d3rcm7vahhic")))) + (base32 "064w40v43m91y9aywxxf2pj5rpcl4gbsgj7dv97pg4vhj9s790b8")))) (build-system cmake-build-system) (inputs (list kwindowsystem @@ -898,17 +775,7 @@ for the LXQt desktop environment.") sudo)) (native-inputs (list pkg-config qttools-5 lxqt-build-tools)) - (arguments - '(#:tests? #f ; no tests - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'patch-translations-dir - (lambda* (#:key outputs #:allow-other-keys) - (substitute* "CMakeLists.txt" - (("\\$\\{LXQT_TRANSLATIONS_DIR\\}") - (string-append (assoc-ref outputs "out") - "/share/lxqt/translations"))) - #t))))) + (arguments '(#:tests? #f)) ; no tests (home-page "https://lxqt-project.org") (synopsis "GUI frontend for sudo/su") (description "lxqt-sudo is a graphical front-end of commands sudo and su @@ -919,30 +786,18 @@ permissions of other users including root.") (define-public lxqt-themes (package (name "lxqt-themes") - (version "0.17.0") + (version "1.1.0") (source (origin (method url-fetch) (uri (string-append "https://github.com/lxqt/" name "/releases/download/" version "/" name "-" version ".tar.xz")) (sha256 - (base32 "0kmvcz6rxghxxgb0m264zbvycc1zjma8mr4cpwg5kyrzb47rdw9z")))) + (base32 "18zrp2j0xpsrzy6m2dw8k55zczcc9jzavncasrp5j1dxscnzwrcr")))) (build-system cmake-build-system) (native-inputs (list lxqt-build-tools)) - (arguments - `(#:tests? #f ; no tests - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'patch-source - (lambda _ - (substitute* '("CMakeLists.txt") - (("DESTINATION \"\\$\\{LXQT_GRAPHICS_DIR\\}") - "DESTINATION \"share/lxqt/graphics")) - (substitute* '("themes/CMakeLists.txt") - (("DESTINATION \"\\$\\{LXQT_SHARE_DIR\\}") - "DESTINATION \"share/lxqt")) - #t))))) + (arguments '(#:tests? #f)) ; no tests (home-page "https://lxqt-project.org") (synopsis "Themes, graphics and icons for LXQt") (description "This package comprises a number of graphic files and themes @@ -957,14 +812,14 @@ for LXQt.") (define-public libfm-qt (package (name "libfm-qt") - (version "0.17.1") + (version "1.1.0") (source (origin (method url-fetch) (uri (string-append "https://github.com/lxqt/" name "/releases/download/" version "/" name "-" version ".tar.xz")) (sha256 - (base32 "1991lm1gnw9s5wwn1yf3vba63bfmrrgsxc70h3nhdl9mh16qygxa")))) + (base32 "0m2fq1wh553yqi64a5nrdvm57fk3jnc3kxgaf0ja7h95jw6czvm5")))) (build-system cmake-build-system) (arguments '(#:tests? #f)) ; no tests @@ -988,32 +843,31 @@ components to build desktop file managers which belongs to LXDE.") (define-public pcmanfm-qt (package (name "pcmanfm-qt") - (version "0.17.0") + (version "1.1.0") (source (origin (method url-fetch) (uri (string-append "https://github.com/lxqt/" name "/releases/download/" version "/" name "-" version ".tar.xz")) (sha256 - (base32 "1axs7dnh2z08ygy28iipfbgfck15k2i2pwlf0v8d8axjrmavzb3l")))) + (base32 "0pwl2j5kbs86vmq86phavq89bl2i82ic839bjk0v8kmxm9q2mrh9")))) (build-system cmake-build-system) + (arguments + (list + #:tests? #f ; no tests + #:phases + #~(modify-phases %standard-phases + (add-before 'configure 'patch-settings.conf.in + (lambda* (#:key inputs #:allow-other-keys) + (let ((wallpaper (search-input-file inputs + "share/lxqt/wallpapers/waves-logo.png"))) + (substitute* "config/pcmanfm-qt/lxqt/settings.conf.in" + (("Wallpaper=.*") + (string-append "Wallpaper=" wallpaper "\n"))))))))) (inputs - (list libfm-qt qtbase-5 qtx11extras)) + (list libfm-qt qtbase-5 qtx11extras lxqt-themes)) (native-inputs (list pkg-config qttools-5 lxqt-build-tools)) - (arguments - '(#:tests? #f ; no tests - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'patch-source - (lambda _ - (substitute* '("autostart/CMakeLists.txt") - (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}") - "DESTINATION \"etc/xdg")) - (substitute* '("config/pcmanfm-qt/lxqt/settings.conf.in") - (("@LXQT_SHARE_DIR@") - "/run/current-system/profile/share/lxqt" )) - #t))))) (home-page "https://lxqt-project.org") (synopsis "File manager and desktop icon manager") (description "PCManFM-Qt is the Qt port of PCManFM, the file manager of @@ -1039,16 +893,7 @@ LXDE.") (list libconfig qtbase-5)) (native-inputs (list lxqt-build-tools pkg-config qttools-5)) - (arguments - '(#:tests? #f ; no tests - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'patch-source - (lambda _ - (substitute* '("autostart/CMakeLists.txt") - (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}") - "DESTINATION \"etc/xdg")) - #t))))) + (arguments '(#:tests? #f)) ; no tests (home-page "https://lxqt-project.org") (synopsis "GUI configuration tool for compton X composite manager") (description "@code{compton-conf} is a configuration tool for X composite @@ -1058,14 +903,14 @@ manager Compton.") (define-public lximage-qt (package (name "lximage-qt") - (version "0.17.0") + (version "1.1.0") (source (origin (method url-fetch) (uri (string-append "https://github.com/lxqt/" name "/releases/download/" version "/" name "-" version ".tar.xz")) (sha256 - (base32 "0g6hs41xfw2ghhwpj0rqr2ciri0x9v984689yrnmnvah88zlya1f")))) + (base32 "0nal8n7nmkafapdbcs9c8rk313md2fak4xjl9m56n10dxcjpi2wb")))) (build-system cmake-build-system) (inputs (list libexif libfm-qt qtbase-5 qtsvg-5 qtx11extras)) @@ -1082,14 +927,14 @@ image viewer.") (define-public obconf-qt (package (name "obconf-qt") - (version "0.16.1") + (version "0.16.2") (source (origin (method url-fetch) (uri (string-append "https://github.com/lxqt/" name "/releases/download/" version "/" name "-" version ".tar.xz")) (sha256 - (base32 "0hlbivdbiw7wjhwrp8qfmq50ks19v0q21m3pyjj0k2na7nv9d3a5")))) + (base32 "0q29f77dkwy005gzrmn2wj2ga1hdnfd2gwp05h72i2dj0qbdla3k")))) (build-system cmake-build-system) (inputs (list imlib2 @@ -1115,14 +960,14 @@ window manager OpenBox.") (define-public pavucontrol-qt (package (name "pavucontrol-qt") - (version "0.17.0") + (version "1.1.0") (source (origin (method url-fetch) (uri (string-append "https://github.com/lxqt/" name "/releases/download/" version "/" name "-" version ".tar.xz")) (sha256 - (base32 "0w51dpjayav78lmhw966fz3gvypkmv64xgsd7x5rqs8am39lq9vc")))) + (base32 "0y3ql25cmg1cmzjvadf7zcb58hh69gcslvr944sxxhaqp4daz10v")))) (build-system cmake-build-system) (inputs (list glib pcre pulseaudio qtbase-5 qtx11extras)) @@ -1139,14 +984,14 @@ window manager OpenBox.") (define-public qps (package (name "qps") - (version "2.3.0") + (version "2.5.0") (source (origin (method url-fetch) (uri (string-append "https://github.com/lxqt/" name "/releases/download/" version "/" name "-" version ".tar.xz")) (sha256 - (base32 "0zg0czrh3dlbnl5smxamhkdbj1g0szm47w1c0fwpaplgc1vv5lfq")))) + (base32 "16ybq07xpkl22mszakc1175xlqcayyj21i2h6wlxb8bmb7csg30n")))) (build-system cmake-build-system) (inputs (list kwindowsystem @@ -1168,14 +1013,14 @@ processes currently in existence, much like code{top} or code{ps}.") (define-public qtermwidget (package (name "qtermwidget") - (version "0.17.0") + (version "1.1.0") (source (origin (method url-fetch) (uri (string-append "https://github.com/lxqt/" name "/releases/download/" version "/" name "-" version ".tar.xz")) (sha256 - (base32 "10lv475qj0x3c3vl4yhjyr6y10qj5pq8n5pal5k24f6pf7xv412f")))) + (base32 "1m64c1m8dkb06fgfk09da2anjspphph6qdk41rqhds2qymh090v4")))) (build-system cmake-build-system) (inputs (list qtbase-5 utf8proc)) @@ -1191,14 +1036,14 @@ processes currently in existence, much like code{top} or code{ps}.") (define-public qterminal (package (name "qterminal") - (version "0.17.0") + (version "1.1.0") (source (origin (method url-fetch) (uri (string-append "https://github.com/lxqt/" name "/releases/download/" version "/" name "-" version ".tar.xz")) (sha256 - (base32 "0rfv7a6ncm8fs8aicinh9l29w4636gxzcqz735jmch2r41v9i1d9")))) + (base32 "1b9568y5xyxymk8r7pkz878ba24dyaxql2sfiy6blr8szf308c5l")))) (build-system cmake-build-system) (inputs (list qtbase-5 qtx11extras qtermwidget)) @@ -1215,14 +1060,14 @@ QTermWidget.") (define-public screengrab (package (name "screengrab") - (version "2.2.0") + (version "2.4.0") (source (origin (method url-fetch) (uri (string-append "https://github.com/lxqt/screengrab/releases/download/" version "/screengrab-" version ".tar.xz")) (sha256 - (base32 "0cilzw7rz5m2klzpax7rrs5rr6whfda2svwzsn2jvmrirmh5by7r")))) + (base32 "14kh287d70v1lpd5w8pji88nmw3jd44q4h927vnszrkv6bwplzx7")))) (build-system cmake-build-system) (inputs (list kwindowsystem libqtxdg qtbase-5 qtsvg-5 qtx11extras)) @@ -1240,14 +1085,14 @@ easily publishing them on internet image hosting services.") (define-public lxqt-archiver (package (name "lxqt-archiver") - (version "0.4.0") + (version "0.6.0") (source (origin (method url-fetch) (uri (string-append "https://github.com/lxqt/" name "/releases/download/" version "/" name "-" version ".tar.xz")) (sha256 - (base32 "0fzgq7cyr7hx8qmq84xfgbsdx04mc1r7vzq5mz79j7bp2ysh134z")))) + (base32 "1cxxr7rpflh2ki272pac927gzcw2w1lp3qz8vplflf148laigwc0")))) (build-system cmake-build-system) (inputs (list glib json-glib libfm-qt qtbase-5 qtx11extras)) @@ -1294,14 +1139,6 @@ like @command{tar} and @command{zip}.") `(#:tests? #f ; no tests #:phases (modify-phases %standard-phases - (add-after 'unpack 'patch-translations-dir - (lambda* (#:key outputs #:allow-other-keys) - (substitute* "CMakeLists.txt" - (("\\$\\{LXQT_TRANSLATIONS_DIR\\}") - (string-append (assoc-ref outputs "out") - "/share/lxqt/translations")) - (("\\$\\{LXQT_ETC_XDG_DIR\\}") "etc/xdg")) - #t)) (add-after 'unpack 'remove-definitions (lambda _ (substitute* "CMakeLists.txt" @@ -1357,7 +1194,7 @@ desktop.") lximage-qt obconf-qt openbox - oxygen-icons + breeze-icons ; default by <lxqt-session>/share/lxqt/lxqt.conf pavucontrol-qt qps qterminal)) diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm index cd0640cd27..c61428486c 100644 --- a/gnu/packages/machine-learning.scm +++ b/gnu/packages/machine-learning.scm @@ -828,10 +828,10 @@ in terms of new algorithms.") (home-page "https://onnx.ai/") (synopsis "Open Neural Network Exchange") (description - "Open Neural Network Exchange (ONNX) provides an open source format for -AI models, both deep learning and traditional ML. It defines an extensible -computation graph model, as well as definitions of built-in operators and -standard data types.") + "@acronym{ONNX, Open Neural Network Exchange} is a format for AI models, +both deep learning and traditional @acronym{ML, machine learning}. It defines +an extensible computation graph model, as well as definitions of built-in +operators and standard data types.") (license license:expat))) (define-public python-onnx diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index 33dcc48e04..646902b4db 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -558,7 +558,7 @@ aliasing facilities to work just as they would on normal mail.") (define-public mutt (package (name "mutt") - (version "2.2.6") + (version "2.2.7") (source (origin (method url-fetch) (uri (list @@ -568,7 +568,7 @@ aliasing facilities to work just as they would on normal mail.") version ".tar.gz"))) (sha256 (base32 - "1lw8111wbsw4hkvrlfsd2cf2l1j25vqwbzys07z0ding2wsxk8pz")) + "1wbdsgx5x7h4alsfmjqac46xvbbakc7djlpngd3rydmvb27qa4zb")) (patches (search-patches "mutt-store-references.patch")))) (build-system gnu-build-system) (inputs @@ -1160,7 +1160,7 @@ security functionality including PGP, S/MIME, SSH, and SSL.") (define-public mu (package (name "mu") - (version "1.8.7") + (version "1.8.9") (source (origin (method git-fetch) (uri (git-reference @@ -1169,7 +1169,7 @@ security functionality including PGP, S/MIME, SSH, and SSL.") (file-name (git-file-name name version)) (sha256 (base32 - "0yfbw234yqnqfnsn5bj1hqwpy78pkxn05vl18z8nvsqdmpzal4gx")))) + "1anpv49242qpayziz111rzznkmfgkd2a9y5xda6xhmzhqdhx79h2")))) (build-system meson-build-system) (native-inputs (list pkg-config @@ -1179,29 +1179,30 @@ security functionality including PGP, S/MIME, SSH, and SSL.") (inputs (list glib gmime xapian)) (arguments - `(#:modules ((guix build meson-build-system) + (list + #:modules '((guix build meson-build-system) (guix build emacs-utils) (guix build utils)) - #:imported-modules (,@%meson-build-system-modules + #:imported-modules `(,@%meson-build-system-modules (guix build emacs-utils)) - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'patch-bin-references - (lambda _ - (substitute* '("guile/tests/test-mu-guile.cc" - "mu/tests/test-mu-cmd.cc" - "mu/tests/test-mu-cmd-cfind.cc" - "mu/tests/test-mu-query.cc") - (("/bin/sh") (which "sh"))) - (substitute* '("lib/tests/bench-indexer.cc" - "lib/utils/mu-utils.cc") - (("/bin/rm") (which "rm"))))) - (add-after 'install 'install-emacs-autoloads - (lambda* (#:key outputs #:allow-other-keys) - (emacs-generate-autoloads - "mu4e" - (string-append (assoc-ref outputs "out") - "/share/emacs/site-lisp"))))))) + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'patch-bin-references + (lambda _ + (substitute* '("guile/tests/test-mu-guile.cc" + "mu/tests/test-mu-cmd.cc" + "mu/tests/test-mu-cmd-cfind.cc" + "mu/tests/test-mu-query.cc") + (("/bin/sh") (which "sh"))) + (substitute* '("lib/tests/bench-indexer.cc" + "lib/utils/mu-test-utils.cc") + (("/bin/rm") (which "rm"))))) + (add-after 'install 'install-emacs-autoloads + (lambda* (#:key outputs #:allow-other-keys) + (emacs-generate-autoloads + "mu4e" + (string-append (assoc-ref outputs "out") + "/share/emacs/site-lisp/mu4e"))))))) (home-page "https://www.djcbsoftware.nl/code/mu/") (synopsis "Quickly find emails") (description diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 2a3fd60510..94e14c8e49 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -1824,6 +1824,12 @@ the resulting text.") (arguments `(#:tests? #f ; Tests require googletest *sources* #:phases (modify-phases %standard-phases + (add-after 'install 'delete-formulas-log + ;; Contains date and timing information which is unreproducible, + ;; and should not be needed when using the package + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (delete-file (string-append out "/share/doc/itpp/html/_formulas.log"))))) (add-after 'unpack 'set-man-page-date (lambda _ (substitute* "itpp-config.1.cmake.in" @@ -7311,6 +7317,64 @@ researchers and developers alike to get started on SAT.") "http://minisat.se/MiniSat.html") (license license:expat)))) +(define-public kissat + (package + (name "kissat") + (version "3.0.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/arminbiere/kissat") + (commit (string-append "rel-" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "04x4w760srbdi4zci0s747qxk717x5d2x59ixraxh5104s9nyn8b")))) + (build-system gnu-build-system) + (inputs (list xz gzip lzip bzip2 p7zip)) + (arguments + (list + #:test-target "test" + #:configure-flags #~(list "-shared") + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'patch-source + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "src/file.c" + (("(bzip2|gzip|lzma|xz) -c" all cmd) + (string-append (search-input-file inputs + (string-append "bin/" cmd)) + " -c")) + (("7z ([ax])" all mode) + (string-append (search-input-file inputs "bin/7z") + " " mode)) + ;; Since we hard-coded the paths, we no longer need to find + ;; them. + (("bool found = kissat_find_executable \\(name\\);") + "bool found = true;")) + (substitute* "test/testmain.c" + ;; SIGINT is ignored inside invoke. + (("^SIGNAL\\(SIGINT\\)") "")))) + (replace 'configure + (lambda* (#:key configure-flags #:allow-other-keys) + ;; The configure script does not support standard GNU options. + (apply invoke "./configure" configure-flags))) + (replace 'install + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (install-file "build/kissat" (string-append out "/bin")) + (install-file "build/libkissat.so" (string-append out "/lib")) + (install-file "src/kissat.h" + (string-append out "/include")))))))) + (home-page "https://github.com/arminbiere/kissat") + (synopsis "Bare-metal SAT solver") + (description + "Kissat is a bare-metal SAT-solver written in C. It is a port of CaDiCaL +back to C with improved data structures, better scheduling of inprocessing and +optimized algorithms and implementation.") + (license license:expat))) + (define-public libqalculate (package (name "libqalculate") diff --git a/gnu/packages/maven.scm b/gnu/packages/maven.scm index f84f1ae177..28ec4eb9a8 100644 --- a/gnu/packages/maven.scm +++ b/gnu/packages/maven.scm @@ -1118,13 +1118,13 @@ gets and puts artifacts through HTTP(S) using Apache HttpClient-4.x."))) (define maven-pom (package (name "maven-pom") - (version "3.8.5") + (version "3.8.6") (source (origin (method url-fetch) (uri (string-append "mirror://apache/maven/" "maven-3/" version "/source/" "apache-maven-" version "-src.tar.gz")) - (sha256 (base32 "01y0fjvlvgy1bl3mdhbjll2xhzpli6aklqb3w29xpbgk6frxn3d6")) + (sha256 (base32 "0jszmcaxp597a62ajrc478jxix1qmw4pknhiygsbjdy3kccc7gvj")) (modules '((guix build utils))) (snippet '(begin diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm index 47798c3586..a2695370e3 100644 --- a/gnu/packages/messaging.scm +++ b/gnu/packages/messaging.scm @@ -3446,4 +3446,35 @@ Discord.") (home-page "https://github.com/taylordotfish/harmony") (license license:gpl3+))) +(define-public pn + (package + (name "pn") + (version "0.9.0") + (home-page "https://github.com/Orange-OpenSource/pn") + (source (origin + (method git-fetch) + (uri (git-reference + (url home-page) + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1lvzb0yixj7wmmqzsri20k9nn3gf06j0yjvmg2mi1zihywq7s4dx")))) + (build-system cmake-build-system) + (arguments + (list #:tests? #f ;no tests + #:phases #~(modify-phases %standard-phases + (add-after 'unpack 'set-lib-destination + (lambda _ + (substitute* "CMakeLists.txt" + (("DESTINATION \\$\\{AWKLIBPATH\\}") + "DESTINATION lib"))))))) + (inputs (list icu4c libphonenumber protobuf)) + (synopsis "Command-line validation tool for phone numbers") + (description + "@code{pn} provides a command line tool that allows users to operate on +phone numbers (get validity information, reformat them, or extract numbers from +a text snippet), using @code{libphonenumber}.") + (license license:asl2.0))) + ;;; messaging.scm ends here diff --git a/gnu/packages/moe.scm b/gnu/packages/moe.scm index 819a6298e3..82db1621db 100644 --- a/gnu/packages/moe.scm +++ b/gnu/packages/moe.scm @@ -28,15 +28,14 @@ (define-public moe (package (name "moe") - (version "1.11") + (version "1.12") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/moe/moe-" version ".tar.lz")) (sha256 - (base32 - "1yg2ln2mm6gzv61cxnv60dw1cr5bl2dhkjy685jrd3aabb7wpyqf")))) + (base32 "1s51swk8h5k32r2z4i1pla2l15b0v0mh35lwsd5f1y16whmmz24a")))) (build-system gnu-build-system) (native-inputs (list lzip)) (inputs (list ncurses)) diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index dcc1a43d2d..e1de632dda 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -2181,7 +2181,7 @@ users to select LV2 plugins and run them with jalv.") (define-public mixxx (package (name "mixxx") - (version "2.3.2") + (version "2.3.3") (source (origin (method git-fetch) @@ -2193,7 +2193,7 @@ users to select LV2 plugins and run them with jalv.") (search-patches "mixxx-link-qtscriptbytearray-qtscript.patch" "mixxx-system-googletest-benchmark.patch")) (sha256 - (base32 "1h26vpf60rk56fsw1nvmxihg7ammlj8q4zgim49q4s4ww7j8wwqj")) + (base32 "0zrmy97lk0xdfnlvygshr8vradypmnypki3s1mhc296xhq96n6rm")) (modules '((guix build utils))) (snippet ;; Delete libraries that we already have or don't need. @@ -3310,7 +3310,7 @@ from the command line.") lilv lv2 qtbase-5 - qtsvg + qtsvg-5 qtx11extras rubberband suil @@ -3724,13 +3724,13 @@ websites such as Libre.fm.") (define-public beets (package (name "beets") - (version "1.5.0") + (version "1.6.0") (source (origin (method url-fetch) (uri (pypi-uri "beets" version)) (sha256 (base32 - "0arl4nc3y8iwa331hf6ggai19y8ns9pl03g5d6ac857wq2x7nzw8")))) + "0paj2nxvdx4zz9xawjpbsh0dy1kp9kfhxg8akh1rpz2awhsbfvxa")))) (build-system python-build-system) (arguments `(#:phases @@ -3773,7 +3773,6 @@ websites such as Libre.fm.") python-munkres python-musicbrainzngs python-pyyaml - python-six python-unidecode ;; Optional dependencies for plugins. Some of these are also required by tests. python-beautifulsoup4 ; For lyrics. @@ -4849,7 +4848,7 @@ studio.") (define-public gsequencer (package (name "gsequencer") - (version "3.18.2") + (version "4.3.4") (source (origin (method git-fetch) @@ -4858,7 +4857,7 @@ studio.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1lkn7rfrjvmds62i69igcgmic2snscgb9f6gdg5nzyfkis1fq5iz")))) + (base32 "10rf9li9kr6qdzkqv66wlg7gw2il18n7kd4fhk848hh5dcmg1icv")))) (build-system glib-or-gtk-build-system) (arguments `(#:phases @@ -4884,18 +4883,18 @@ studio.") fftw gst-plugins-base gstreamer - gtk+ + gtk jack-1 ladspa libinstpatch libsamplerate libsndfile - libsoup-minimal-2 + libsoup libxml2 lv2 pulseaudio `(,util-linux "lib") - webkitgtk-with-libsoup2)) + webkitgtk)) (home-page "https://nongnu.org/gsequencer/") (synopsis "Advanced Gtk+ Sequencer") (description diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm index 21c9014cfe..2fea1b2b59 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -3055,6 +3055,11 @@ interface and a programmable text output for scripting.") (arguments `(#:phases (modify-phases %standard-phases + (add-after 'unpack 'fix-manpage-date + (lambda _ + ;; Replace current date with specific date to build reproducibly + (substitute* "doc/fixmanpages.in" + (("pod2man -d .* -n") "pod2man -d \"1970-01-01\" -n")))) (add-before 'build 'build-doc (lambda* (#:key make-flags #:allow-other-keys) (apply invoke "make" "-C" "doc" "doc" @@ -3756,14 +3761,14 @@ protocol daemons for BGP, IS-IS, LDP, OSPF, PIM, and RIP.") (define-public bird (package (name "bird") - (version "2.0.8") + (version "2.0.10") (source (origin (method url-fetch) (uri (string-append "ftp://bird.network.cz/pub/bird/bird-" version ".tar.gz")) (sha256 (base32 - "1xp7f0im1v8pqqx3xqyfkd1nsxk8vnbqgrdrwnwhg8r5xs1xxlhr")))) + "0npx3zgbjnhm4905zmj2qkz3d13s8hakassq6sbzm1ywv3fl3lvy")))) (inputs (list libssh readline)) (native-inputs @@ -4149,11 +4154,11 @@ cables.") (list lua openssl pcre2 zlib)) (home-page "https://www.haproxy.org/") (synopsis "Reliable, high performance TCP/HTTP load balancer") - (description "HAProxy is a free, very fast and reliable solution offering -high availability, load balancing, and proxying for TCP and HTTP-based -applications. It is particularly suited for web sites crawling under very -high loads while needing persistence or Layer7 processing. Supporting tens of -thousands of connections is clearly realistic with today's hardware.") + (description "HAProxy offers @acronym{HA, high availability}, load +balancing, and proxying for TCP and HTTP-based applications. It is particularly +suited to Web sites crawling under very high loads while needing persistence or +Layer 7 processing. Supporting tens of thousands of connections is clearly +realistic with today's hardware.") (license (list license:gpl2+ license:lgpl2.1 license:lgpl2.1+)))) diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index 6d4f8c8836..0e8e5b2adc 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -591,31 +591,26 @@ for day to day programming.") (define-public ocaml-cudf (package (name "ocaml-cudf") - (version "0.9") - (source - (origin - (method url-fetch) - (uri "https://gforge.inria.fr/frs/download.php/36602/cudf-0.9.tar.gz") - (sha256 - (base32 - "0771lwljqwwn3cryl0plny5a5dyyrj4z6bw66ha5n8yfbpcy8clr")))) - (build-system ocaml-build-system) - (propagated-inputs (list ocaml-extlib)) - (native-inputs - (list perl ocamlbuild ocaml-ounit)) + (version "0.10") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.com/irill/cudf") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1lvrmpscbk1kjv5ag5bzlzv520xk5zw2haf6q7chvz98gcm9g0hk")))) + (build-system dune-build-system) (arguments - `(#:make-flags - ,#~(list - "all" "opt" - (string-append "BINDIR=" #$output "/bin")) - #:phases - (modify-phases %standard-phases - (delete 'configure)))) + '(#:test-target ".")) + (propagated-inputs (list ocaml-extlib)) + (native-inputs (list ocaml-ounit2)) (home-page "https://www.mancoosi.org/cudf/") (synopsis "CUDF library (part of the Mancoosi tools)") - (description "CUDF (for Common Upgradeability Description Format) is a -format for describing upgrade scenarios in package-based Free and Open Source -Software distribution.") + (description + "@acronym{CUDF, Common Upgradeability Description Format} is a format for +describing upgrade scenarios in package-based software distributions.") ;; With static-linking exception (license license:lgpl2.1+))) @@ -783,7 +778,7 @@ the opam file format.") (define-public opam (package (name "opam") - (version "2.1.2") + (version "2.1.3") (source (origin (method git-fetch) (uri (git-reference @@ -792,7 +787,7 @@ the opam file format.") (file-name (git-file-name name version)) (sha256 (base32 - "0mdr32mg63yaw89p44zx8b9dxp1167ckmlxkp8svd6fwgb3z49yx")))) + "1mw535zsw7xlvpgwnk1dan76z3f7lh5imlg0s6kdyhfg0iqisjd7")))) (build-system dune-build-system) (arguments `(#:test-target "." @@ -827,6 +822,12 @@ the opam file format.") ;; home directory. (mkdir-p "test-home") (setenv "HOME" (string-append (getcwd) "/test-home")) + (with-output-to-file (string-append (getcwd) "/test-home/.gitconfig") + (lambda _ + (display "[user] +email = guix@localhost.none +name = Guix Builder") + (newline))) ;; Opam tests require data from opam-repository. Instead of ;; downloading them with wget from the guix environment, copy the @@ -837,11 +838,17 @@ the opam file format.") (assoc-ref inputs (string-append "opam-repo-" commit)) "/ %{targets}) (run chmod +w -R %{targets}")) (("wget[^)]*") "touch %{targets}") - ;; Disable a failing test because of different line wrapping - (("diff cli-versioning.test cli-versioning.out") "run true") ;; Disable a failing test because it tries to clone a git ;; repository from inside bwrap - (("diff upgrade-format.test upgrade-format.out") "run true")) + (("diff upgrade-format.test upgrade-format.out") "run true") + ;; Disable a failing test because it tries to figure out which + ;; distro this is, and it doesn't know Guix + (("diff pin.unix.test pin.unix.out") "run true") + ;; Disable a failing test because of a failed expansion + (("diff opamroot-versions.test opamroot-versions.out") "run true") + ;; Disable a failing test, probably because the repository we + ;; replaced is not as expected + (("diff opamrt-big-upgrade.test opamrt-big-upgrade.out") "run true")) (substitute* "tests/reftests/dune" ;; Because of our changes to the previous file, we cannot check ;; it can be regenerated @@ -879,6 +886,10 @@ the opam file format.") ;; Data for tests ("opam-repo-009e00fa" ,(opam-repo "009e00fa86300d11c311309a2544e5c6c3eb8de2" "1wwy0rwrsjf4q10j1rh1dazk32fbzhzy6f7zl6qmndidx9b1bq7w")) + ("opam-repo-7090735c" ,(opam-repo "7090735c9d1dd2dc481c4128c5ef4d3667238f15" + "1bccsgjhlp64lmvfjfn6viywf3x73ji75myg9ssf1ij1fkmabn0z")) + ("opam-repo-a5d7cdc0" ,(opam-repo "a5d7cdc0c91452b0aef4fa71c331ee5237f6dddd" + "0z7kawqisy07088p5xjxwpvmvzlbj1d9cgdipsj90yx7nc5qh369")) ("opam-repo-ad4dd344" ,(opam-repo "ad4dd344fe5cd1cab49ced49d6758a9844549fb4" "1a1qj47kj8xjdnc4zc50ijrix1kym1n7k20n3viki80a7518baw8")) ("opam-repo-c1d23f0e" ,(opam-repo "c1d23f0e17ec83a036ebfbad1c78311b898a2ca0" @@ -1705,7 +1716,7 @@ full_split, cut, rcut, etc..") (define dune-bootstrap (package (name "dune") - (version "3.3.1") + (version "3.4.1") (source (origin (method git-fetch) (uri (git-reference @@ -1714,7 +1725,7 @@ full_split, cut, rcut, etc..") (file-name (git-file-name name version)) (sha256 (base32 - "0wdja70l7y1cj1d0sijm0q0cbics8xd9wqka7zyb29y1cc57pasa")))) + "02zn79l7y7rvy7b6bimlf5qymrvzc43w8q7l4jx3k8wzn2g5326z")))) (build-system ocaml-build-system) (arguments `(#:tests? #f; require odoc @@ -2428,7 +2439,7 @@ immutability.") (define-public ocaml-alcotest (package (name "ocaml-alcotest") - (version "1.5.0") + (version "1.6.0") (source (origin (method git-fetch) (uri (git-reference @@ -2437,7 +2448,7 @@ immutability.") (file-name (git-file-name name version)) (sha256 (base32 - "1lgadc7p56677fi5gwl7r9bml4z87rzh50khhqaij7bwp37zrmpi")))) + "195612n7p8y5ba6n19glql7qffl8n3aqkl9nrlln5lb9739gpv4w")))) (build-system dune-build-system) (arguments `(#:package "alcotest" @@ -2449,7 +2460,6 @@ immutability.") ;; cmdliner changed the format and the tests fail (substitute* "test/e2e/alcotest/failing/unknown_option.expected" (("`") "'") - (("COMMAND") "[COMMAND]") (("\\.\\.\\.") "…"))))))) (native-inputs (list ocamlbuild)) @@ -2550,21 +2560,21 @@ lets the client choose the concrete timeline.") (define-public ocaml-ssl (package (name "ocaml-ssl") - (version "0.5.10") + (version "0.5.12") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/savonet/ocaml-ssl") - (commit (string-append "v" version)))) + (commit version))) (file-name (git-file-name name version)) (sha256 (base32 - "1rszqiqayh67xlwd5411k8vib47x9kapdr037z1majd2c14z3kcb")))) + "1dr7yghbv0wncvggd2105bj097msgrdzxd9wjkw1xxf2vvp0j1bi")))) (build-system dune-build-system) (arguments `(#:test-target ".")) (native-inputs - (list autoconf automake which)) + (list autoconf automake ocaml-alcotest which)) (propagated-inputs (list openssl)) (home-page "https://github.com/savonet/ocaml-ssl/") (synopsis "OCaml bindings for OpenSSL") @@ -3753,7 +3763,7 @@ big- and little-endian, with their unsafe counter-parts.") (define-public ocaml-cstruct (package (name "ocaml-cstruct") - (version "6.1.0") + (version "6.1.1") (source (origin (method git-fetch) (uri (git-reference @@ -3762,7 +3772,7 @@ big- and little-endian, with their unsafe counter-parts.") (file-name (git-file-name name version)) (sha256 (base32 - "1pwfkfs8zzr88slnvl5b28lx6w2k149ybgvrs6diay3qvwcmkhx5")))) + "0dpbirs6lzp0bclr3wcw407jjspll7iy66z18zks3mjccvlxd21w")))) (build-system dune-build-system) (arguments `(#:package "cstruct" @@ -3946,7 +3956,7 @@ Format module of the OCaml standard library.") (define-public ocaml-piqilib (package (name "ocaml-piqilib") - (version "0.6.15") + (version "0.6.16") (source (origin (method git-fetch) @@ -3955,7 +3965,7 @@ Format module of the OCaml standard library.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0v04hs85xv6d4ysqxyv1dik34dx49yab9shpi4x7iv19qlzl7csb")))) + (base32 "0mbhfrfrik3jlzx9zz680g0qdvv0b7cbjz28cgdlryp7nk4v4kx8")))) (build-system ocaml-build-system) (arguments `(#:phases @@ -4074,7 +4084,7 @@ and 4 (random based) according to RFC 4122.") (define-public ocaml-piqi (package (name "ocaml-piqi") - (version "0.7.7") + (version "0.7.8") (source (origin (method git-fetch) (uri (git-reference @@ -4083,7 +4093,7 @@ and 4 (random based) according to RFC 4122.") (file-name (git-file-name name version)) (sha256 (base32 - "1913jpsb8mvqi8609j4g4sm5jhg50dq0xqxgy8nmvknfryyc89nm")))) + "12m9vxir0cs2155nxs0a3m3npf3w79kyxf9a5lmf18qvvgismfz8")))) (build-system ocaml-build-system) (arguments `(#:make-flags @@ -4293,7 +4303,7 @@ function that follows the prototype of POSIX's wcwidth.") (define-public ocaml-zed (package (name "ocaml-zed") - (version "3.1.0") + (version "3.2.0") (home-page "https://github.com/ocaml-community/zed") (source (origin @@ -4303,14 +4313,18 @@ function that follows the prototype of POSIX's wcwidth.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "04vr1a94imsghm98iigc35rhifsz0rh3qz2qm0wam2wvp6vmrx0p")))) + (base32 "1g171kk5wxnk66d4vwz2crh5i19vhqghp78iybl5am17gl9qf8pb")))) (build-system dune-build-system) + (propagated-inputs + (list ocaml-react + ocaml-result + ocaml-uchar + ocaml-uutf + ocaml-uucp + ocaml-uuseg + ocaml-odoc)) (arguments `(#:test-target ".")) - (propagated-inputs - `(("ocaml-charInfo-width" ,ocaml-charinfo-width) - ("ocaml-camomile" ,ocaml-camomile) - ("ocaml-react" ,ocaml-react))) (properties `((ocaml4.07-variant . ,(delay ocaml4.07-zed)))) (synopsis "Abstract engine for text edition in OCaml") (description @@ -4337,12 +4351,16 @@ capabilities, Zed provides macro recording and cursor management facilities.") (sha256 (base32 "0pa9awinqr0plp4b2az78dwpvh01pwaljnn5ydg8mc6hi7rmir55")))) + (propagated-inputs + `(("ocaml-charInfo-width" ,ocaml-charinfo-width) + ("ocaml-camomile" ,ocaml-camomile) + ("ocaml-react" ,ocaml-react))) (properties '())))) (define-public ocaml-lambda-term (package (name "ocaml-lambda-term") - (version "3.2.0") + (version "3.3.1") (home-page "https://github.com/ocaml-community/lambda-term") (source (origin (method git-fetch) @@ -4352,18 +4370,18 @@ capabilities, Zed provides macro recording and cursor management facilities.") (file-name (git-file-name name version)) (sha256 (base32 - "048k26644wq5wlwk0j179dxrxyz9nxqqq4vvhyh6pqpgxdajd44i")))) + "1pkamblc6h0rsbk901cqn3xr9gqa3g8wrwyx5zryaqvb2xpbhp8b")))) (build-system dune-build-system) (arguments `(#:test-target ".")) (propagated-inputs - (list ocaml-lwt - ocaml-lwt-log - ocaml-react - ocaml-zed - ocaml-camomile + (list ocaml-logs + ocaml-lwt ocaml-lwt-react - ocaml-mew-vi)) + ocaml-mew-vi + ocaml-odoc + ocaml-react + ocaml-zed)) (properties `((ocaml4.07-variant . ,(delay ocaml4.07-lambda-term)))) (synopsis "Terminal manipulation library for OCaml") (description "Lambda-Term is a cross-platform library for manipulating the @@ -4398,7 +4416,7 @@ instead of bindings to a C library.") (define-public ocaml-utop (package (name "ocaml-utop") - (version "2.9.2") + (version "2.10.0") (source (origin (method git-fetch) @@ -4407,15 +4425,19 @@ instead of bindings to a C library.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0z5anakgbndhyzbi570pfs2fy69bnmgq9jflgfbly2rhbhwa7wgj")))) + (base32 "1pcix3h9f7is06581iax4i08zkd6sv8y5hy1vvxhqhcsd9z0qfl3")))) (build-system dune-build-system) (arguments `(#:test-target ".")) (native-inputs (list ocaml-cppo)) (propagated-inputs - (list ocaml-lambda-term ocaml-lwt ocaml-lwt-react ocaml-camomile - ocaml-react)) + (list ocaml-lambda-term + ocaml-logs + ocaml-lwt + ocaml-lwt-react + ocaml-react + ocaml-zed)) (properties `((ocaml4.07-variant . ,(delay ocaml4.07-utop)))) (home-page "https://github.com/ocaml-community/utop") (synopsis "Improved interface to the OCaml toplevel") @@ -4900,31 +4922,20 @@ is also support for writing OCaml syntax extensions in a camlp4 style.") (define-public ocaml-timed (package (name "ocaml-timed") - (version "1.0") + (version "1.1") (home-page "https://github.com/rlepigre/ocaml-timed") (source (origin (method git-fetch) (uri (git-reference (url (string-append home-page ".git")) - (commit (string-append name "_" version)))) + (commit version))) (sha256 (base32 - "0hfxz710faxy5yk97bkfnw87r732jcxxhmjppwrbfdb6pd0wks96")) + "1aqmkpjv5jk95lc2m3qyyrhw8ra7n9wj8pv3bfc83l737zv0hjn1")) (file-name (git-file-name name version)))) - (build-system ocaml-build-system) + (build-system dune-build-system) (arguments - '(#:phases - (modify-phases %standard-phases - (delete 'configure) - (replace 'build - (lambda _ - (invoke "make"))) - (replace 'install - (lambda _ - (invoke "make" "install"))) - (replace 'check - (lambda _ - (invoke "make" "tests")))))) + '(#:test-target ".")) (synopsis "Timed references for imperative state") (description "Timed references for imperative state. This module provides an alternative type for references (or mutable cells) supporting undo/redo @@ -4941,7 +4952,7 @@ than the first one.") (define-public ocaml-biniou (package (name "ocaml-biniou") - (version "1.2.1") + (version "1.2.2") (home-page "https://github.com/mjambon/biniou") (source (origin @@ -4952,7 +4963,7 @@ than the first one.") (file-name (git-file-name name version)) (sha256 (base32 - "0x2kiy809n1j0yf32l7hj102y628jp5jdrkbi3z7ld8jq04h1790")))) + "1gd4nqffm9h7dzxyvpfpww24l61fqgazyh3p5f7k9jvgyv9y4vcn")))) (build-system dune-build-system) (arguments `(#:phases @@ -4960,7 +4971,7 @@ than the first one.") (add-before 'build 'make-writable (lambda _ (for-each make-file-writable (find-files "." "."))))))) (inputs - (list ocaml-easy-format)) + (list ocaml-easy-format ocaml-camlp-streams)) (native-inputs (list which)) (synopsis "Data format designed for speed, safety, ease of use and backward @@ -4975,7 +4986,7 @@ than yojson), with 25-35% space savings.") (define-public ocaml-yojson (package (name "ocaml-yojson") - (version "1.7.0") + (version "2.0.2") (home-page "https://github.com/ocaml-community/yojson") (source (origin @@ -4986,14 +4997,13 @@ than yojson), with 25-35% space savings.") (file-name (git-file-name name version)) (sha256 (base32 - "0zncsw8bgbkh1pfvfc7nh628hfj84lgx6jwhp9ashj3z1z0w3xjn")))) + "1habsh00ihjhk1g1csxqg3hj8izk5zvgc7wm579wyjw35vzcmwr1")))) (build-system dune-build-system) (arguments - `(#:test-target ".")) - (propagated-inputs - (list ocaml-biniou ocaml-easy-format)) - (native-inputs - (list ocaml-alcotest ocaml-cppo)) + `(#:test-target "." + #:package "yojson")) + (propagated-inputs (list ocaml-seq)) + (native-inputs (list ocaml-alcotest ocaml-cppo)) (synopsis "Low-level JSON library for OCaml") (description "Yojson is an optimized parsing and printing library for the JSON format. It addresses a few shortcomings of json-wheel including 2x @@ -5036,10 +5046,10 @@ Mercurial's @code{https://www.selenic.com/blog/?p=663, unified test format}. @code{craml} is released as a single binary (called @code{craml}).") (license license:isc))) -(define-public ocaml-dot-merlin-reader +(define-public ocaml-merlin-lib (package - (name "ocaml-dot-merlin-reader") - (version "4.5-414") + (name "ocaml-merlin-lib") + (version "4.6-414") (source (origin (method git-fetch) @@ -5049,17 +5059,27 @@ format}. @code{craml} is released as a single binary (called @code{craml}).") (file-name (git-file-name name version)) (sha256 (base32 - "125gyk63fg9plqkyrkl3wvpr3czjxgvshf4496fc4swldl7z587c")))) + "1cpa9x45w54l4mqqmc8z3s5gscggw37gb6z9i7wwss86fj1wgclh")))) (build-system dune-build-system) - (arguments '(#:package "dot-merlin-reader" + (arguments '(#:package "merlin-lib" #:tests? #f)) ; no tests - (inputs - (list ocaml-yojson ocaml-csexp ocaml-result)) + (propagated-inputs (list ocaml-csexp ocaml-menhir)) (home-page "https://ocaml.github.io/merlin/") + (synopsis "Merlin libraries") + (description "These libraries provides access to low-level compiler +interfaces and the standard higher-level merlin protocol.") + (license license:expat))) + +(define-public ocaml-dot-merlin-reader + (package + (inherit ocaml-merlin-lib) + (name "ocaml-dot-merlin-reader") + (arguments '(#:package "dot-merlin-reader" + #:tests? #f)) ; no tests + (propagated-inputs (list ocaml-merlin-lib)) (synopsis "Reads config files for @code{ocaml-merlin}") (description "@code{ocaml-dot-merlin-reader} is an external reader for -@code{ocaml-merlin} configurations.") - (license license:expat))) +@code{ocaml-merlin} configurations."))) (define-public ocaml-merlin (package @@ -5073,8 +5093,7 @@ format}. @code{craml} is released as a single binary (called @code{craml}).") (lambda* (#:key tests? #:allow-other-keys) (when tests? (invoke "dune" "runtest" "-p" "merlin,dot-merlin-reader"))))))) - (inputs - (list ocaml-yojson ocaml-csexp ocaml-result)) + (propagated-inputs (list ocaml-merlin-lib ocaml-yojson)) (native-inputs (list ocaml-dot-merlin-reader ; required for tests ocaml-mdx jq)) @@ -5299,11 +5318,17 @@ parsexp_io.") (define-public ocaml-sexplib (package (name "ocaml-sexplib") - (version "0.15.0") + (version "0.15.1") (home-page "https://github.com/janestreet/sexplib") - (source - (janestreet-origin "sexplib" version - "1xs55f11yhscnfrzpvy1vn05j6xi9kxy097465624l615j7k8qm5")) + (source (origin + (method git-fetch) + (uri (git-reference + (url home-page) + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1gcvcc0jw6pb69wwfjnaqz1jk5simap2kdb7g43v7v7mksg8sh9f")))) (build-system dune-build-system) (propagated-inputs (list ocaml-base ocaml-num ocaml-parsexp ocaml-sexplib0)) @@ -7632,7 +7657,8 @@ then run the Bisect_ppx report tool on the generated visitation files.") (base32 "07zjkk455l51i29lcayzrc1q8j5bvbv97sscv8yhcj7x6h6q2nag")))) (build-system dune-build-system) (arguments - `(#:phases + `(#:tests? #f; not compatible with current version of ocaml-yojson + #:phases (modify-phases %standard-phases (add-after 'unpack 'fix-test (lambda _ @@ -7677,7 +7703,7 @@ complexity of the OCaml module system.") (define-public ocaml-odoc-parser (package (name "ocaml-odoc-parser") - (version "1.0.0") + (version "2.0.0") (source (origin (method git-fetch) @@ -7687,10 +7713,10 @@ complexity of the OCaml module system.") (file-name (git-file-name name version)) (sha256 (base32 - "0mvwbnla0wd29bc7ckwpb494qv7p616cx8hnm0zg36np7v3zwy4w")))) + "1x48kf051xs98rd6cri591bk1ccp9hyp93n1rlf6qnxic55jw683")))) (build-system dune-build-system) (propagated-inputs - (list ocaml-astring ocaml-result)) + (list ocaml-astring ocaml-camlp-streams ocaml-result)) (native-inputs (list ocaml-ppx-expect)) (home-page "https://github.com/ocaml-doc/odoc-parser") @@ -7831,7 +7857,7 @@ and SVG file output.") (define-public ocaml-version (package (name "ocaml-version") - (version "3.4.0") + (version "3.5.0") (source (origin (method git-fetch) @@ -7841,7 +7867,7 @@ and SVG file output.") (file-name (git-file-name name version)) (sha256 (base32 - "1c13zk1qna59m5z9jx7da3p7cxd48scpyk7zg7gi6gc6hx5hhjx8")))) + "1pnw2ym021j48zknhbi1kdiyfv9si8p2l04rdzbv4g51fclsqs92")))) (build-system dune-build-system) (arguments `(#:tests? #f)) ; no tests (properties '((upstream-name . "ocaml-version"))) @@ -8206,7 +8232,7 @@ defined in OCaml 4.12.0.") (define-public ocamlformat (package (name "ocamlformat") - (version "0.22.4") + (version "0.24.1") (source (origin (method git-fetch) @@ -8216,7 +8242,7 @@ defined in OCaml 4.12.0.") (file-name (git-file-name name version)) (sha256 (base32 - "171lq3vx4y8xj4by5zy93isx8nhg6ysxg1hxmkqkq16fdaiz8mnc")))) + "0y1j5mwwrliy6a78cmpi6j8gw425shghqg9ylyl3qw5fx4b088pp")))) (build-system dune-build-system) (arguments '(#:package "ocamlformat" @@ -8535,6 +8561,156 @@ It makes it possible to run pure OCaml programs in JavaScript environment like browsers and Node.js.") (license license:lgpl2.1+))) +(define-public ocaml-afl-persistent + (package + (name "ocaml-afl-persistent") + (version "1.3") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/stedolan/ocaml-afl-persistent") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "06yyds2vcwlfr2nd3gvyrazlijjcrd1abnvkfpkaadgwdw3qam1i")))) + (build-system ocaml-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (delete 'configure) + (replace 'build + (lambda _ + (invoke "./build.sh"))) + ;; XXX: The tests are already run in the build.sh script. + (delete 'check)))) + (native-inputs + `(("opam" ,opam))) + (home-page "https://github.com/stedolan/ocaml-afl-persistent") + (synopsis "Use afl-fuzz in persistent mode") + (description + "afl-fuzz normally works by repeatedly forking the program being tested. +Using this package, you can run afl-fuzz in ``persistent mode'', which avoids +repeated forking and is much faster.") + (license license:expat))) + +(define-public ocaml-pprint + (package + (name "ocaml-pprint") + (version "20220103") + (home-page "https://github.com/fpottier/pprint") + (source + (origin + (method git-fetch) + (uri (git-reference + (url home-page) + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "09y6nwnjldifm47406q1r9987njlk77g4ifqg6qs54dckhr64vax")))) + (build-system dune-build-system) + (synopsis "OCaml pretty-printing combinator library and rendering +engine") + (description "This OCaml library offers a set of combinators for building +so-called documents as well as an efficient engine for converting documents to +a textual, fixed-width format. The engine takes care of indentation and line +breaks, while respecting the constraints imposed by the structure of the +document and by the text width.") + (license license:lgpl2.0))) + +(define-public ocaml-crowbar + (package + (name "ocaml-crowbar") + (version "0.2.1") + (home-page "https://github.com/stedolan/crowbar") + (source + (origin + (method git-fetch) + (uri (git-reference + (url home-page) + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "11f3kiw58g8njx15akx16xcplzvzdw9y6c4jpyfxylkxws4g0f6j")))) + (build-system dune-build-system) + (arguments + `(#:test-target ".")) + (propagated-inputs + (list ocaml-ocplib-endian + ocaml-cmdliner + ocaml-afl-persistent)) + (native-inputs + (list ocaml-calendar + ocaml-fpath + ocaml-uucp + ocaml-uunf + ocaml-uutf + ocaml-pprint)) + (synopsis "Ocaml library for tests, let a fuzzer find failing cases") + (description "Crowbar is a library for testing code, combining +QuickCheck-style property-based testing and the magical bug-finding powers of +@uref{http://lcamtuf.coredump.cx/afl/, afl-fuzz}.") + (license license:expat))) + +(define-public ocaml-eqaf + (package + (name "ocaml-eqaf") + (version "0.9") + (home-page "https://github.com/mirage/eqaf") + (source + (origin + (method git-fetch) + (uri (git-reference + (url home-page) + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "16ics56wiqyng70dy2hqikicm8ag1mv5w1h7hkiwvydw1x2j2rsl")))) + (build-system dune-build-system) + (propagated-inputs (list ocaml-cstruct)) + (native-inputs (list ocaml-alcotest ocaml-crowbar)) + (synopsis "OCaml library for constant-time equal function on string") + (description "This OCaml library provides an equal function on string in +constant-time to avoid timing-attack with crypto stuff.") + (license license:expat))) + +(define-public ocaml-digestif + (package + (name "ocaml-digestif") + (version "1.1.2") + (home-page "https://github.com/mirage/digestif") + (source + (origin + (method git-fetch) + (uri (git-reference + (url home-page) + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0mc233d63y04jznsn3bxncgv7fkvyngbv6hcka412iq0y3x4qsmq")))) + (build-system dune-build-system) + (propagated-inputs (list ocaml-eqaf)) + (native-inputs + (list pkg-config + ocaml-fmt + ocaml-alcotest + ocaml-bos + ocaml-astring + ocaml-fpath + ocaml-rresult + ocaml-findlib)) + (synopsis "Simple hash algorithms in OCaml") + (description + "Digestif is an OCaml library that provides implementations of hash +algorithms. Implemented hash algorithms include MD5, SHA1, SHA224, SHA256, +SHA384, SHA512, Blake2b, Blake2s and RIPEMD160.") + (license license:expat))) + (define-public ocaml-bibtex2html (package (name "ocaml-bibtex2html") diff --git a/gnu/packages/ocr.scm b/gnu/packages/ocr.scm index cc0f84d55c..21d257ef24 100644 --- a/gnu/packages/ocr.scm +++ b/gnu/packages/ocr.scm @@ -5,6 +5,7 @@ ;;; Copyright © 2019 Alex Vong <alexvong1995@gmail.com> ;;; Copyright © 2021 Andy Tai <atai@atai.org> ;;; Copyright © 2021, 2022 Nicolas Goaziou <mail@nicolasgoaziou.fr> +;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -28,6 +29,7 @@ #:use-module (guix gexp) #:use-module (guix git-download) #:use-module (guix build-system cmake) + #:use-module (guix build-system copy) #:use-module (guix build-system gnu) #:use-module (guix build-system python) #:use-module (gnu packages) @@ -55,16 +57,16 @@ (define-public ocrad (package (name "ocrad") - (version "0.27") + (version "0.28") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/ocrad/ocrad-" version ".tar.lz")) (sha256 (base32 - "0divffvcaim89g4pvqs8kslbcxi475bcl3b4ynphf284k9zfdgx9")))) + "0bmzpcv7sjf8f5pvd9wwh9yp6s7zqd226876g5csmbdxdmbymk1l")))) (build-system gnu-build-system) - (native-inputs (list lzip)) + (native-inputs (list libpng lzip)) (home-page "https://www.gnu.org/software/ocrad/") (synopsis "Optical character recognition based on feature extraction") (description @@ -73,72 +75,126 @@ feature extraction method. It can read images in PBM, PGM or PPM formats and it produces text in 8-bit or UTF-8 formats.") (license license:gpl3+))) +(define-public tesseract-ocr-tessdata-fast + (package + (name "tesseract-ocr-tessdata-fast") + (version "4.1.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/tesseract-ocr/tessdata_fast") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1m310cpb87xx8l8q7jy9fvzf6a0m8rm0dmjpbiwhc2mi6w4gn084")))) + (build-system copy-build-system) + (arguments (list #:install-plan #~'(("." "share/tesseract-ocr/tessdata")) + #:phases #~(modify-phases %standard-phases + (add-after 'unpack 'delete-broken-links + (lambda _ + (delete-file "configs") + (delete-file "pdf.ttf")))))) + (home-page "https://github.com/tesseract-ocr/tessdata_fast") + (synopsis "Fast integer versions of trained LSTM models") + (description "This repository contains fast integer versions of trained +models for the Tesseract OCR Engine.") + (license license:asl2.0))) + (define-public tesseract-ocr - ;; There are useful commits beyond the last official stable release. - (let ((commit "97079fa353557af6df86fd20b5d2e0dff5d8d5df") - (revision "1")) - (package - (name "tesseract-ocr") - (version (git-version "4.1.1" revision commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/tesseract-ocr/tesseract") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "11137a4aaay7qp64vdjd83hz1l089nzi5a0ql0qgk8gn79pyhi98")))) - (build-system gnu-build-system) - (inputs - `(("cairo" ,cairo) - ("icu" ,icu4c) - ("leptonica" ,leptonica) - ("pango" ,pango) - ("python-wrapper" ,python-wrapper))) - (native-inputs - `(("asciidoc" ,asciidoc) - ("autoconf" ,autoconf) - ("automake" ,automake) - ("docbook-xsl" ,docbook-xsl) - ("libarchive" ,libarchive) - ("libcurl" ,curl) - ("libtool" ,libtool) - ("libtiff" ,libtiff) - ("pkg-config" ,pkg-config) - ("xsltproc" ,libxslt))) - (arguments - `(#:configure-flags - (let ((leptonica (assoc-ref %build-inputs "leptonica"))) - (list (string-append "LIBLEPT_HEADERSDIR=" leptonica "/include"))) - #:tests? #f ; Tests currently result in a segfault - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'fix-docbook - (lambda* (#:key inputs #:allow-other-keys) - ;; Don't attempt to download XSL schema. - (substitute* "doc/Makefile.am" - (("http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl") - (string-append (assoc-ref inputs "docbook-xsl") - "/xml/xsl/docbook-xsl-" - ,(package-version docbook-xsl) - "/manpages/docbook.xsl"))))) - (add-after 'install 'build-training - (lambda _ - (invoke "make" "training"))) - (add-after 'build-training 'install-training - (lambda _ - (invoke "make" "training-install")))))) - (home-page "https://github.com/tesseract-ocr/tesseract") - (synopsis "Optical character recognition engine") - (description - "Tesseract is an optical character recognition (OCR) engine with very + (package + (name "tesseract-ocr") + (version "5.2.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/tesseract-ocr/tesseract") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0dai539h07lqj8lyhznd3wbwdpqr78qrsczq78rsmsryqvmdbyaa")))) + (build-system gnu-build-system) + (arguments + (list + #:configure-flags + #~(list (string-append "LIBLEPT_HEADERSDIR=" + #$(this-package-input "leptonica") "/include") + "--disable-static") ;avoid 6 MiB static archive + ;; The unit tests are disabled because they require building bundled + ;; third party libraries. + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'do-not-override-xml-catalog-files + (lambda _ + (substitute* "configure.ac" + (("AC_SUBST\\(\\[XML_CATALOG_FILES])") + "")))) + (add-after 'unpack 'adjust-TESSDATA_PREFIX-macro + (lambda _ + ;; Use a deeper TESSDATA_PREFIX hierarchy so that a more + ;; specific search-path than '/share' can be specified. The + ;; build system uses CPPFLAGS for itself, so we can't simply set + ;; a make flag. + (substitute* "Makefile.am" + (("-DTESSDATA_PREFIX='\"@datadir@\"'") + "-DTESSDATA_PREFIX='\"@datadir@/tesseract-ocr\"'")))) + (add-after 'build 'build-training + (lambda* (#:key parallel-build? #:allow-other-keys) + (define n (if parallel-build? (number->string + (parallel-job-count)) + "1")) + (invoke "make" "-j" n "training"))) + (add-after 'install 'install-training + (lambda _ + (invoke "make" "training-install"))) + (add-after 'install 'install-minimal-tessdata + ;; tesseract-ocr cannot be used without its trained models data; + ;; install the English language as a minimal base which can be + ;; extended via TESSDATA_PREFIX. + (lambda* (#:key native-inputs inputs #:allow-other-keys) + (define eng.traineddata + "/share/tesseract-ocr/tessdata/eng.traineddata") + (install-file (search-input-file (or native-inputs inputs) + eng.traineddata) + (dirname (string-append #$output + eng.traineddata)))))))) + (native-inputs + (list asciidoc + autoconf + automake + curl + docbook-xsl + libarchive + libtiff + libtool + libxml2 ;for XML_CATALOG_FILES + libxslt + pkg-config + tesseract-ocr-tessdata-fast)) + (inputs + (list cairo + icu4c + leptonica + pango + python-wrapper)) + (native-search-paths (list (search-path-specification + (variable "TESSDATA_PREFIX") + (files (list "share/tesseract-ocr/tessdata")) + (separator #f)))) ;single value + (home-page "https://github.com/tesseract-ocr/tesseract") + (synopsis "Optical character recognition engine") + (description + "Tesseract is an optical character recognition (OCR) engine with very high accuracy. It supports many languages, output text formatting, hOCR positional information and page layout analysis. Several image formats are supported through the Leptonica library. It can also detect whether text is -monospaced or proportional.") - (license license:asl2.0)))) +monospaced or proportional. Support for the English language is included by +default. To add support for more languages, the +@code{tesseract-ocr-tessdata-fast} package should be installed.") + (license license:asl2.0))) (define-public gimagereader (package diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index 0469c73ff5..519924737c 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -1356,6 +1356,23 @@ environments.") ;; and the fonts included in this package are licensed OFL1.1. (license (list license:gpl3+ license:agpl3+ license:silofl1.1)))) +(define-public gwl/next + (let ((commit "706a0895f639ed3ed77d0fe88382f51a6638b514") + (revision "1")) + (package + (inherit gwl) + (name "gwl-next") + (version (git-version "0.5.0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://git.savannah.gnu.org/git/gwl.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0k9zkdyyzir3fvlbcfcqy17k28b51i20rpbjwlx2i1mwd2pw9cxc"))))))) + (define-public guix-build-coordinator (let ((commit "cc884efa7ee8a481cd3dae1b93d27454ac8dfcd2") (revision "59")) diff --git a/gnu/packages/patches/crawl-upgrade-saves.patch b/gnu/packages/patches/crawl-upgrade-saves.patch index 720a94f3e5..831f3c60be 100644 --- a/gnu/packages/patches/crawl-upgrade-saves.patch +++ b/gnu/packages/patches/crawl-upgrade-saves.patch @@ -6,8 +6,8 @@ upgrade is required, but guix nulls all file dates, and crawl would never upgrade saves. diff -ur a/source/database.cc b/source/database.cc ---- a/source/database.cc 2018-08-09 21:49:26.000000000 -0400 -+++ b/source/database.cc 2018-10-07 18:06:41.022445789 -0400 +--- a/crawl-ref/source/database.cc 2018-08-09 21:49:26.000000000 -0400 ++++ b/crawl-ref/source/database.cc 2018-10-07 18:06:41.022445789 -0400 @@ -24,6 +24,7 @@ #include "stringutil.h" #include "syscalls.h" diff --git a/gnu/packages/patches/guile-fibers-epoll-instance-is-dead.patch b/gnu/packages/patches/guile-fibers-epoll-instance-is-dead.patch new file mode 100644 index 0000000000..ba191f765d --- /dev/null +++ b/gnu/packages/patches/guile-fibers-epoll-instance-is-dead.patch @@ -0,0 +1,99 @@ +From 5db4077e9f5166033637d2af9532ec6144b85646 Mon Sep 17 00:00:00 2001 +From: Maxime Devos <maximedevos@telenet.be> +Date: Thu, 30 Jun 2022 14:21:47 +0000 +Subject: [PATCH 1/2] Fix behaviour of 'epoll-wake!' after 'run-fibers'. + +This avoids the "epoll instance is dead" error noticed in +GNUnet-Scheme's test suite, as reported at +<https://github.com/wingo/fibers/issues/61>. +A test is added in the next commit. + +This patch has been applied upstream, but there hasn't been +a new release yet at time of writing. + +* fibers/epoll.scm (epoll-wake!)[dead]: Instead of throwing an error, +just return #t. +--- + fibers/epoll.scm | 8 +++++++- + 1 file changed, 7 insertions(+), 1 deletion(-) + +diff --git a/fibers/epoll.scm b/fibers/epoll.scm +index d26db4d..eb63242 100644 +--- a/fibers/epoll.scm ++++ b/fibers/epoll.scm +@@ -1,6 +1,7 @@ + ;; epoll + + ;;;; Copyright (C) 2016 Andy Wingo <wingo@pobox.com> ++;;;; Copyright (C) 2022 Maxime Devos <maximedevos@telenet.be> + ;;;; + ;;;; This library is free software; you can redistribute it and/or + ;;;; modify it under the terms of the GNU Lesser General Public +@@ -135,7 +136,12 @@ epoll wait (if appropriate)." + ('waiting + (primitive-epoll-wake (fileno (epoll-wake-write-pipe epoll)))) + ('not-waiting #t) +- ('dead (error "epoll instance is dead")))) ++ ;; This can happen if a fiber was waiting on a condition and ++ ;; run-fibers completes before the fiber completes and afterwards ++ ;; the condition is signalled. In that case, we don't have to ++ ;; resurrect the fiber or something, we can just do nothing. ++ ;; (Bug report: https://github.com/wingo/fibers/issues/61) ++ ('dead #t))) + + (define (epoll-default-folder fd events seed) + (acons fd events seed)) + +From c01d3853eb56ea4adacc31f51f6e917f8c0abe1c Mon Sep 17 00:00:00 2001 +From: Maxime Devos <maximedevos@telenet.be> +Date: Thu, 30 Jun 2022 14:18:36 +0000 +Subject: [PATCH 2/2] Test for issue #61. + +* tests/conditions.scm: Add a test. +--- + tests/conditions.scm | 20 ++++++++++++++++++++ + 1 file changed, 20 insertions(+) + +diff --git a/tests/conditions.scm b/tests/conditions.scm +index 505c42a..179605a 100644 +--- a/tests/conditions.scm ++++ b/tests/conditions.scm +@@ -1,6 +1,7 @@ + ;; Fibers: cooperative, event-driven user-space threads. + + ;;;; Copyright (C) 2016 Free Software Foundation, Inc. ++;;;; Copyright (C) 2022 Maxime Devos <maximedevos@telenet.be> + ;;;; + ;;;; This library is free software; you can redistribute it and/or + ;;;; modify it under the terms of the GNU Lesser General Public +@@ -21,6 +22,7 @@ + #:use-module (fibers) + #:use-module (fibers conditions) + #:use-module (fibers operations) ++ #:use-module (fibers scheduler) + #:use-module (fibers timers)) + + (define failed? #f) +@@ -78,4 +80,22 @@ + (wait cv) + #t)) + ++;; Make a condition, wait for it inside a fiber, let the fiber abruptly ++;; terminate and signal the condition afterwards. This tests for the bug ++;; noticed at <https://github.com/wingo/fibers/issues/61>. ++(assert-equal #t ++ (let ((cv (make-condition))) ++ (run-fibers ++ (lambda () ++ (spawn-fiber (lambda () (wait cv))) ++ (yield-current-task)) ; let the other fiber wait forever ++ ;; This test relies on not draining -- this is the default, ++ ;; but let's make this explicit. ++ #:drain? #false ; ++ ;; For simplicity, disable concurrency and preemption. ++ ;; That way, we can use 'yield-current-task' instead of an ++ ;; arbitrary sleep time. ++ #:hz 0 #:parallelism 1) ++ (signal-condition! cv))) ++ + (exit (if failed? 1 0)) diff --git a/gnu/packages/patches/lcalc-default-parameters-1.patch b/gnu/packages/patches/lcalc-default-parameters-1.patch deleted file mode 100644 index 19b0776320..0000000000 --- a/gnu/packages/patches/lcalc-default-parameters-1.patch +++ /dev/null @@ -1,26 +0,0 @@ -Patch taken from the Sage packaging system. - -diff -Naur lcalc-1.23-vanilla/include/Ldirichlet_series.h lcalc-1.23-fixed-gcc.4.9/include/Ldirichlet_series.h ---- lcalc-1.23-vanilla/include/Ldirichlet_series.h 2012-08-08 23:21:55.000000000 +0200 -+++ lcalc-1.23-fixed-gcc.4.9/include/Ldirichlet_series.h 2014-04-21 14:37:59.027464849 +0200 -@@ -43,7 +43,7 @@ - //XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX - template <class ttype> - Complex L_function <ttype>:: --dirichlet_series(Complex s, long long N=-1) -+dirichlet_series(Complex s, long long N) - { - Complex z=0.; - long long m,n; -diff -Naur lcalc-1.23-vanilla/include/L.h lcalc-1.23-fixed-gcc.4.9/include/L.h ---- lcalc-1.23-vanilla/include/L.h 2012-08-08 23:21:55.000000000 +0200 -+++ lcalc-1.23-fixed-gcc.4.9/include/L.h 2014-04-21 14:32:04.003467348 +0200 -@@ -491,7 +491,7 @@ - - //#include "Ldirichlet_series.h" //for computing Dirichlet series - Complex partial_dirichlet_series(Complex s, long long N1, long long N2); -- Complex dirichlet_series(Complex s, long long N); -+ Complex dirichlet_series(Complex s, long long N=-1LL); - - //#include "Ltaylor_series.h" //for computing taylor series for Dirichlet series - //void compute_taylor_series(int N, int K, Complex s_0, Complex *series); diff --git a/gnu/packages/patches/lcalc-default-parameters-2.patch b/gnu/packages/patches/lcalc-default-parameters-2.patch deleted file mode 100644 index 1d881ee0c4..0000000000 --- a/gnu/packages/patches/lcalc-default-parameters-2.patch +++ /dev/null @@ -1,58 +0,0 @@ -Patch taken from the Sage packaging system. - ---- lcalc-1.23/include/Lgamma.h 2012-08-08 23:21:55.000000000 +0200 -+++ lcalc-1.23/include/Lgamma.h 2014-05-18 21:15:27.786889718 +0200 -@@ -77,7 +77,7 @@ - //n=0 should just give log_GAMMA(z)... thus making log_GAMMA - //code obsolete. But leave log_GAMMA intact anyways. - template <class ttype> --precise(ttype) log_GAMMA (ttype z,int n=0) -+precise(ttype) log_GAMMA (ttype z,int n) - { - int M; - precise(ttype) log_G,r,r2,y; -@@ -230,7 +230,7 @@ - //value exp_w which holds exp(-w) - //computes G(z,w), so there's an extra w^(-z) factor. - template <class ttype> --Complex inc_GAMMA (ttype z,ttype w, const char *method="temme", ttype exp_w = 0, bool recycle=false) -+Complex inc_GAMMA (ttype z,ttype w, const char *method, ttype exp_w, bool recycle) - { - - Complex G; -@@ -334,7 +334,7 @@ - - - template <class ttype> --ttype cfrac_GAMMA (ttype z,ttype w, ttype exp_w=0, bool recycle=false) //computes G(z,w) via continued fraction -+ttype cfrac_GAMMA (ttype z,ttype w, ttype exp_w, bool recycle) //computes G(z,w) via continued fraction - { - - ttype G; -@@ -424,7 +424,7 @@ - } - - template <class ttype> --ttype asympt_GAMMA (ttype z,ttype w, ttype exp_w = 0, bool recycle=false) //computes G(z,w) via asymptotic series -+ttype asympt_GAMMA (ttype z,ttype w, ttype exp_w, bool recycle) //computes G(z,w) via asymptotic series - { - - if(my_verbose>3) cout << "called asympt_GAMMA("<<z<<","<<w<<")"<< endl; -@@ -446,7 +446,7 @@ - - - template <class ttype> --ttype comp_inc_GAMMA (ttype z,ttype w,ttype exp_w = 0, bool recycle=false) //computes g(z,w) -+ttype comp_inc_GAMMA (ttype z,ttype w,ttype exp_w, bool recycle) //computes g(z,w) - { - - ttype g; -@@ -604,7 +604,7 @@ - } - - template <class ttype> --Complex gamma_sum(Complex s, int what_type, ttype *coeff, int N, Double g, Complex l, Double Q, Long Period, Complex delta=1, const char *method="temme") -+Complex gamma_sum(Complex s, int what_type, ttype *coeff, int N, Double g, Complex l, Double Q, Long Period, Complex delta, const char *method) - { - Complex SUM=0; - diff --git a/gnu/packages/patches/lcalc-lcommon-h.patch b/gnu/packages/patches/lcalc-lcommon-h.patch deleted file mode 100644 index 897956de64..0000000000 --- a/gnu/packages/patches/lcalc-lcommon-h.patch +++ /dev/null @@ -1,13 +0,0 @@ -Patch taken from the Sage packaging system. - ---- src/include/Lcommon.h 2010-01-31 15:16:45.000000000 +0000 -+++ src/include/Lcommon.h 2011-03-08 21:19:11.849443238 +0000 -@@ -25,7 +25,7 @@ - #ifdef USE_MPFR - inline double lcalc_to_double(const double& x) { return x; } - #endif --//inline double lcalc_to_double(const long double& x) { return x; } -+inline double lcalc_to_double(const long double& x) { return x; } - inline double lcalc_to_double(const int& x) { return x; } - inline double lcalc_to_double(const long long& x) { return x; } - inline double lcalc_to_double(const short& x) { return x; } diff --git a/gnu/packages/patches/lcalc-using-namespace-std.patch b/gnu/packages/patches/lcalc-using-namespace-std.patch deleted file mode 100644 index 6e0075fdc8..0000000000 --- a/gnu/packages/patches/lcalc-using-namespace-std.patch +++ /dev/null @@ -1,43 +0,0 @@ -Patch taken from the Sage packaging system. - -diff --git a/include/Lcommon.h b/include/Lcommon.h -index 1b3be43..bf40532 100644 ---- a/include/Lcommon.h -+++ b/include/Lcommon.h -@@ -48,7 +48,7 @@ const bool outputSeries=true; // Whether to output the coefficients or just th - - // Loop i from m to n - // Useful in tidying up most for loops --#define loop(i,m,n) for(typeof(m) i=(m); i!=(n); i++) -+#define loop(i,m,n) for(auto i=(m); i!=(n); i++) - - // A class for calculations involving polynomials of small degree - // Not efficient enough for huge polynomials -diff --git a/include/Lcommon_ld.h b/include/Lcommon_ld.h -index 86ae4df..33c560c 100644 ---- a/include/Lcommon_ld.h -+++ b/include/Lcommon_ld.h -@@ -53,7 +53,7 @@ const bool outputSeries=true; // Whether to output the coefficients or just th - - // Loop i from m to n - // Useful in tidying up most for loops --#define loop(i,m,n) for(typeof(m) i=(m); i!=(n); i++) -+#define loop(i,m,n) for(auto i=(m); i!=(n); i++) - - // A class for calculations involving polynomials of small degree - // Not efficient enough for huge polynomials -diff --git a/include/Lglobals.h b/include/Lglobals.h -index 60002e4..ca2606c 100644 ---- a/include/Lglobals.h -+++ b/include/Lglobals.h -@@ -24,9 +24,9 @@ - #ifndef Lglobals_H - #define Lglobals_H - -+#include <valarray> - using namespace std; - --#include <valarray> - #ifdef USE_MPFR - #include "Lgmpfrxx.h" - typedef mpfr_class Double; diff --git a/gnu/packages/patches/lrcalc-includes.patch b/gnu/packages/patches/lrcalc-includes.patch deleted file mode 100644 index e15286905b..0000000000 --- a/gnu/packages/patches/lrcalc-includes.patch +++ /dev/null @@ -1,92 +0,0 @@ -Patch taken from the Sage packaging system. - -From 4a5e1c8c3c11efdb1cbb4239825a6bf4bf1c52f8 Mon Sep 17 00:00:00 2001 -From: Anders Skovsted Buch <asbuch@math.rutgers.edu> -Date: Sun, 29 Nov 2015 16:25:56 -0500 -Subject: [PATCH] Patch by Jeroen Demeyer to change include <vector.h> to - "vector.h", plus similar cases. - ---- - src/lrcalc.c | 2 +- - src/maple.c | 4 ++-- - src/schublib.h | 2 +- - src/symfcn.c | 6 +++--- - src/symfcn.h | 4 ++-- - 5 files changed, 9 insertions(+), 9 deletions(-) - -diff --git a/src/lrcalc.c b/src/lrcalc.c -index aff3f75..60df49e 100644 ---- a/src/lrcalc.c -+++ b/src/lrcalc.c -@@ -8,7 +8,7 @@ - #include <stdlib.h> - extern char *optarg; - --#include <vectarg.h> -+#include "vectarg.h" - - #include "symfcn.h" - #include "maple.h" -diff --git a/src/maple.c b/src/maple.c -index fdc0768..a5f4d14 100644 ---- a/src/maple.c -+++ b/src/maple.c -@@ -4,8 +4,8 @@ - */ - - #include <stdio.h> --#include <vector.h> --#include <hashtab.h> -+#include "vector.h" -+#include "hashtab.h" - #include "maple.h" - - -diff --git a/src/schublib.h b/src/schublib.h -index a8e8511..864850c 100644 ---- a/src/schublib.h -+++ b/src/schublib.h -@@ -1,7 +1,7 @@ - #ifndef _SCHUBLIB_H - #define _SCHUBLIB_H - --#include <hashtab.h> -+#include "hashtab.h" - - hashtab *trans(vector *w, int vars, hashtab *res); - hashtab *monk(int i, hashtab *slc, int rank); -diff --git a/src/symfcn.c b/src/symfcn.c -index 4ffbe4b..fd5df5d 100644 ---- a/src/symfcn.c -+++ b/src/symfcn.c -@@ -5,9 +5,9 @@ - - #include <stdio.h> - --#include <alloc.h> --#include <vector.h> --#include <hashtab.h> -+#include "alloc.h" -+#include "vector.h" -+#include "hashtab.h" - - #include "symfcn.h" - -diff --git a/src/symfcn.h b/src/symfcn.h -index b8543b1..29bb00d 100644 ---- a/src/symfcn.h -+++ b/src/symfcn.h -@@ -1,8 +1,8 @@ - #ifndef _SYMFCN_H - #define _SYMFCN_H - --#include <hashtab.h> --#include <vector.h> -+#include "hashtab.h" -+#include "vector.h" - - int part_itr_sz(vector *part); - int part_itr_sub(vector *part, vector *outer); --- -2.1.1.1.g1fb337f - diff --git a/gnu/packages/patches/perl-class-methodmaker-reproducible.patch b/gnu/packages/patches/perl-class-methodmaker-reproducible.patch new file mode 100644 index 0000000000..29a71babd1 --- /dev/null +++ b/gnu/packages/patches/perl-class-methodmaker-reproducible.patch @@ -0,0 +1,21 @@ +Description: make build reproducible by sorting hash keys + cf. https://reproducible.debian.net/dbd/unstable/amd64/libclass-methodmaker-perl_2.21-1.debbindiff.html +Origin: vendor +Bug-Debian: https://bugs.debian.org/778979 +Author: Chris Lamb <lamby@debian.org> +Reviewed-by: gregor herrmann <gregoa@debian.org> +Last-Update: 2015-05-02 +Forwarded: https://rt.cpan.org/Ticket/Display.html?id=104163 +Bug: https://rt.cpan.org/Ticket/Display.html?id=104163 + +--- a/lib/Class/MethodMaker/OptExt.pm ++++ b/lib/Class/MethodMaker/OptExt.pm +@@ -357,7 +357,7 @@ + + # ------------------------------------- + +-sub option_names { grep $_ ne 'DEFAULT', keys %{OPTEXT()} } ++sub option_names { grep $_ ne 'DEFAULT', sort keys %{OPTEXT()} } + + sub optcode { + my $class = shift; diff --git a/gnu/packages/patches/python-mypy-12332.patch b/gnu/packages/patches/python-mypy-12332.patch deleted file mode 100644 index d43cf42ed1..0000000000 --- a/gnu/packages/patches/python-mypy-12332.patch +++ /dev/null @@ -1,68 +0,0 @@ -From 518c864805dd93e62d59439e665a0ce9d6778419 Mon Sep 17 00:00:00 2001 -From: Ekin Dursun <ekindursun@gmail.com> -Date: Thu, 10 Mar 2022 22:06:48 +0300 -Subject: [PATCH] mypyc: Fix overflow in id function (CPyTagged_Id) - -In CPython, the id of an object is its address. It's computed by -converting the pointer to an unsigned integer (PyLong_FromVoidPtr). A -similar logic is present here, pointer is converted to a Py_ssize_t and -CPyTagged_FromSsize_t is called with that integer. - -There is a problem with that approach: Py_ssize_t cannot hold every -pointer value. Sometimes overflow happens and CPyTagged_FromSsize_t is -called with a negative integer. - -With the new approach, the number is checked: If it fits in a -Py_ssize_t, CPyTagged_FromSsize_t is called. If not, it is directly -converted to a PyObject using PyLong_FromVoidPtr. ---- - mypyc/lib-rt/CPy.h | 1 + - mypyc/lib-rt/int_ops.c | 9 +++++++++ - mypyc/lib-rt/misc_ops.c | 2 +- - 3 files changed, 11 insertions(+), 1 deletion(-) - -diff --git a/mypyc/lib-rt/CPy.h b/mypyc/lib-rt/CPy.h -index 987819154ab..9f5ae52d4e4 100644 ---- a/mypyc/lib-rt/CPy.h -+++ b/mypyc/lib-rt/CPy.h -@@ -121,6 +121,7 @@ static inline size_t CPy_FindAttrOffset(PyTypeObject *trait, CPyVTableItem *vtab - - - CPyTagged CPyTagged_FromSsize_t(Py_ssize_t value); -+CPyTagged CPyTagged_FromVoidPtr(void *ptr); - CPyTagged CPyTagged_FromObject(PyObject *object); - CPyTagged CPyTagged_StealFromObject(PyObject *object); - CPyTagged CPyTagged_BorrowFromObject(PyObject *object); -diff --git a/mypyc/lib-rt/int_ops.c b/mypyc/lib-rt/int_ops.c -index 1275f2c1057..edf06314161 100644 ---- a/mypyc/lib-rt/int_ops.c -+++ b/mypyc/lib-rt/int_ops.c -@@ -26,6 +26,15 @@ CPyTagged CPyTagged_FromSsize_t(Py_ssize_t value) { - } - } - -+CPyTagged CPyTagged_FromVoidPtr(void *ptr) { -+ if ((uintptr_t)ptr > PY_SSIZE_T_MAX) { -+ PyObject *object = PyLong_FromVoidPtr(ptr); -+ return ((CPyTagged)object) | CPY_INT_TAG; -+ } else { -+ return CPyTagged_FromSsize_t((Py_ssize_t)ptr); -+ } -+} -+ - CPyTagged CPyTagged_FromObject(PyObject *object) { - int overflow; - // The overflow check knows about CPyTagged's width -diff --git a/mypyc/lib-rt/misc_ops.c b/mypyc/lib-rt/misc_ops.c -index cebd1cf997f..dcce89d9072 100644 ---- a/mypyc/lib-rt/misc_ops.c -+++ b/mypyc/lib-rt/misc_ops.c -@@ -437,7 +437,7 @@ CPyPickle_GetState(PyObject *obj) - } - - CPyTagged CPyTagged_Id(PyObject *o) { -- return CPyTagged_FromSsize_t((Py_ssize_t)o); -+ return CPyTagged_FromVoidPtr(o); - } - - #define MAX_INT_CHARS 22 diff --git a/gnu/packages/patches/python-mypy-use-sys-path.patch b/gnu/packages/patches/python-mypy-use-sys-path.patch deleted file mode 100644 index 1b12526456..0000000000 --- a/gnu/packages/patches/python-mypy-use-sys-path.patch +++ /dev/null @@ -1,130 +0,0 @@ -This patch fixes the annotation files search of mypy on non-FHS distributions. - -Submitted upstream: https://github.com/python/mypy/pull/12530 - -diff --git a/mypy/main.py b/mypy/main.py -index 3d9836587..f9b0cbd39 100644 ---- a/mypy/main.py -+++ b/mypy/main.py -@@ -1033,10 +1033,10 @@ def process_options(args: List[str], - # Set target. - if special_opts.modules + special_opts.packages: - options.build_type = BuildType.MODULE -- egg_dirs, site_packages = get_site_packages_dirs(options.python_executable) -+ site_packages = get_site_packages_dirs(options.python_executable) - search_paths = SearchPaths((os.getcwd(),), - tuple(mypy_path() + options.mypy_path), -- tuple(egg_dirs + site_packages), -+ tuple(site_packages), - ()) - targets = [] - # TODO: use the same cache that the BuildManager will -diff --git a/mypy/modulefinder.py b/mypy/modulefinder.py -index 94d2dd34c..337a2d59b 100644 ---- a/mypy/modulefinder.py -+++ b/mypy/modulefinder.py -@@ -629,7 +629,7 @@ def get_prefixes(python_executable: Optional[str]) -> Tuple[str, str]: - - - @functools.lru_cache(maxsize=None) --def get_site_packages_dirs(python_executable: Optional[str]) -> Tuple[List[str], List[str]]: -+def get_site_packages_dirs(python_executable: Optional[str]) -> List[str]: - """Find package directories for given python. - - This runs a subprocess call, which generates a list of the egg directories, and the site -@@ -648,51 +648,7 @@ def get_site_packages_dirs(python_executable: Optional[str]) -> Tuple[List[str], - site_packages = ast.literal_eval( - subprocess.check_output([python_executable, pyinfo.__file__, 'getsitepackages'], - stderr=subprocess.PIPE).decode()) -- return expand_site_packages(site_packages) -- -- --def expand_site_packages(site_packages: List[str]) -> Tuple[List[str], List[str]]: -- """Expands .pth imports in site-packages directories""" -- egg_dirs: List[str] = [] -- for dir in site_packages: -- if not os.path.isdir(dir): -- continue -- pth_filenames = sorted(name for name in os.listdir(dir) if name.endswith(".pth")) -- for pth_filename in pth_filenames: -- egg_dirs.extend(_parse_pth_file(dir, pth_filename)) -- -- return egg_dirs, site_packages -- -- --def _parse_pth_file(dir: str, pth_filename: str) -> Iterator[str]: -- """ -- Mimics a subset of .pth import hook from Lib/site.py -- See https://github.com/python/cpython/blob/3.5/Lib/site.py#L146-L185 -- """ -- -- pth_file = os.path.join(dir, pth_filename) -- try: -- f = open(pth_file, "r") -- except OSError: -- return -- with f: -- for line in f.readlines(): -- if line.startswith("#"): -- # Skip comment lines -- continue -- if line.startswith(("import ", "import\t")): -- # import statements in .pth files are not supported -- continue -- -- yield _make_abspath(line.rstrip(), dir) -- -- --def _make_abspath(path: str, root: str) -> str: -- """Take a path and make it absolute relative to root if not already absolute.""" -- if os.path.isabs(path): -- return os.path.normpath(path) -- else: -- return os.path.join(root, os.path.normpath(path)) -+ return site_packages - - - def add_py2_mypypath_entries(mypypath: List[str]) -> List[str]: -@@ -781,7 +737,7 @@ def compute_search_paths(sources: List[BuildSource], - if options.python_version[0] == 2: - mypypath = add_py2_mypypath_entries(mypypath) - -- egg_dirs, site_packages = get_site_packages_dirs(options.python_executable) -+ site_packages = get_site_packages_dirs(options.python_executable) - base_prefix, prefix = get_prefixes(options.python_executable) - is_venv = base_prefix != prefix - for site_dir in site_packages: -@@ -801,7 +757,7 @@ def compute_search_paths(sources: List[BuildSource], - - return SearchPaths(python_path=tuple(reversed(python_path)), - mypy_path=tuple(mypypath), -- package_path=tuple(egg_dirs + site_packages), -+ package_path=tuple(site_packages), - typeshed_path=tuple(lib_path)) - - -diff --git a/mypy/pyinfo.py b/mypy/pyinfo.py -index ab2d3286b..9fb0501a1 100644 ---- a/mypy/pyinfo.py -+++ b/mypy/pyinfo.py -@@ -24,16 +24,11 @@ def getprefixes(): - - def getsitepackages(): - # type: () -> List[str] -- res = [] -- if hasattr(site, 'getsitepackages'): -- res.extend(site.getsitepackages()) - -- if hasattr(site, 'getusersitepackages') and site.ENABLE_USER_SITE: -- res.insert(0, site.getusersitepackages()) -- else: -- from distutils.sysconfig import get_python_lib -- res = [get_python_lib()] -- return res -+ # Simply return sys.path, which has already been expanded -+ # correctly via Python's site.py module, which takes care of .pth, -+ # sitecustomize.py files, etc. -+ return sys.path - - - if __name__ == '__main__': diff --git a/gnu/packages/perl-check.scm b/gnu/packages/perl-check.scm index bde3079bef..6562390d20 100644 --- a/gnu/packages/perl-check.scm +++ b/gnu/packages/perl-check.scm @@ -4,7 +4,7 @@ ;;; Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com> ;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2016 Nikita <nikita@n0.is> -;;; Copyright © 2016, 2017, 2019, 2021 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2016, 2017, 2019, 2021, 2022 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016, 2017 Alex Sassmannshausen <alex@pompo.co> ;;; Copyright © 2016, 2017 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2017 Leo Famulari <leo@famulari.name> @@ -1288,14 +1288,14 @@ makes fork(2) safe to use in test cases.") (define-public perl-test-simple (package (name "perl-test-simple") - (version "1.302183") + (version "1.302191") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/E/EX/EXODIST/" "Test-Simple-" version ".tar.gz")) (sha256 (base32 - "1zq6841yrwxmrmhgzmzx0njlymsv9mzl6l5njabfl2j2xjjvs0ws")))) + "1ax7qlmkgy5b78vap8k6c0w3ajljz304zl4rmvf1vvzjqhmnabx8")))) (build-system perl-build-system) (synopsis "Basic utilities for writing tests") (description diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index bdd1756d40..755f5932ce 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -6,7 +6,7 @@ ;;; Copyright © 2015 Eric Dvorsak <eric@dvorsak.fr> ;;; Copyright © 2016, 2018 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2016 Jochem Raat <jchmrt@riseup.net> -;;; Copyright © 2016, 2017, 2018, 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2016-2022 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 Nikita <nikita@n0.is> ;;; Copyright © 2016 Alex Sassmannshausen <alex@pompo.co> ;;; Copyright © 2016, 2018, 2020, 2021 Roel Janssen <roel@gnu.org> @@ -1601,7 +1601,9 @@ Class::Load.") version ".tar.gz")) (sha256 (base32 - "0a03i4k3a33qqwhykhz5k437ld5mag2vq52vvsy03gbynb65ivsy")))) + "0a03i4k3a33qqwhykhz5k437ld5mag2vq52vvsy03gbynb65ivsy")) + (patches (search-patches + "perl-class-methodmaker-reproducible.patch")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Class-MethodMaker") (synopsis "Create generic methods for OO Perl") @@ -2687,7 +2689,7 @@ point values at a low level.") (define-public perl-data-optlist (package (name "perl-data-optlist") - (version "0.110") + (version "0.112") (source (origin (method url-fetch) @@ -2696,7 +2698,7 @@ point values at a low level.") version ".tar.gz")) (sha256 (base32 - "1hzmgr2imdg1fc3hmwx0d56fhsdfyrgmgx7jb4jkyiv6575ifq9n")))) + "1arv203h6c4b3y5q49xzmn2cz21kn108kk3bwfd37mc8mv50rik2")))) (build-system perl-build-system) (propagated-inputs (list perl-sub-install perl-params-util)) diff --git a/gnu/packages/plotutils.scm b/gnu/packages/plotutils.scm index 56d3c4e282..a5e1a1ad55 100644 --- a/gnu/packages/plotutils.scm +++ b/gnu/packages/plotutils.scm @@ -269,14 +269,14 @@ colors, styles, options and details.") (define-public asymptote (package (name "asymptote") - (version "2.81") + (version "2.82") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/asymptote/" version "/asymptote-" version ".src.tgz")) (sha256 - (base32 "0wq0xnkxb8rsphmgls5f38ll61j8i0plh7cr1n0kldvpr14bm3kn")) + (base32 "13blmsapbai4hqynyj1r1sjpypdv6frfassl2f2x7j2ql1dbqvsg")) (modules '((guix build utils))) (snippet ;; Remove bundled RapidJSON. diff --git a/gnu/packages/pulseaudio.scm b/gnu/packages/pulseaudio.scm index 1fb64fd8a6..96ba13d484 100644 --- a/gnu/packages/pulseaudio.scm +++ b/gnu/packages/pulseaudio.scm @@ -450,9 +450,9 @@ only configure local servers, and requires that a special module module-gsettings is loaded in the sound server.") (license l:gpl2))) -(define-public rnnoise +(define-public noise-suppression-for-voice (package - (name "rnnoise") + (name "noise-suppression-for-voice") (version "0.91") (source (origin @@ -472,67 +472,58 @@ module-gsettings is loaded in the sound server.") pulseaudio)) (home-page "https://github.com/werman/noise-suppression-for-voice") (synopsis "Real-time Noise suppression plugin based on Xiph's RNNoise") - (description "The plugin is meant to suppress a wide range of noise -origins: computer fans, office, crowd, airplane, car, train, construction. + (description "This plug-in is meant to suppress a wide range of noise +origins: computer fans, offices, crowds, airplanes, cars, trains, +construction, and more. Mild background noise is always suppressed, loud sounds, like clicking of mechanical keyboard, are suppressed while there is no voice however they are only reduced in volume when voice is present. -The plugin is made to work with 1 or 2 channels (ladspa plugin), +The plug-in is made to work with 1 or 2 channels (LADSPA plugin), 16 bit, 48000 Hz audio input.") (license l:gpl3))) (define-public noisetorch (package (name "noisetorch") - (version "0.8.3") + (version "0.12.2") (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/lawl/NoiseTorch") - (commit version))) + (url "https://github.com/noisetorch/NoiseTorch") + (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "115sq4waq048bv82lnq5sblf62m50yvyakx7x06qq359v7qf5ji1")))) + (base32 "1qwzqv4rww9xywkfnjr79489d35cypa1zm9rgm966g51zzwhxrck")))) (build-system go-build-system) (arguments - `(#:import-path "github.com/lawl/NoiseTorch" + `(#:import-path "github.com/noisetorch/NoiseTorch" #:install-source? #f #:phases (modify-phases %standard-phases - (add-after 'unpack 'symlink-rnnoise + (add-after 'unpack 'copy-rnnoise-library (lambda* (#:key inputs #:allow-other-keys) - (with-directory-excursion "src/github.com/lawl/NoiseTorch" - (let ((dir "librnnoise_ladspa/bin/ladspa") - (rnnoise (assoc-ref inputs "rnnoise"))) + (with-directory-excursion "src/github.com/noisetorch/NoiseTorch" + (let ((lib (search-input-file inputs + "lib/ladspa/librnnoise_ladspa.so")) + (dir "c/ladspa")) (mkdir-p dir) - (symlink (string-append rnnoise "/lib/ladspa/librnnoise_ladspa.so") - (string-append dir "/librnnoise_ladspa.so")))) - #t)) - (add-after 'unpack 'gen-version.go - (lambda _ - (with-directory-excursion "src/github.com/lawl/NoiseTorch" - (substitute* "main.go" - (("//go:generate go run scripts/embedversion\\.go") "")) - (with-output-to-file "version.go" - (lambda () - (format #t "package main~%~%var version=~s~&" ,version)))) - #t)) + ;; Symlinking won't work: ‘cannot embed irregular file’! + (copy-file lib (string-append dir "/rnnoise_ladspa.so")))))) (add-after 'unpack 'disable-update-check.go (lambda _ - (with-directory-excursion "src/github.com/lawl/NoiseTorch" + (with-directory-excursion "src/github.com/noisetorch/NoiseTorch" (substitute* "main.go" - ((".*updateCheck.*") ""))) - #t)) + ((".*updateCheck.*") ""))))) (add-before 'build 'go-generate (lambda _ - (with-directory-excursion "src/github.com/lawl/NoiseTorch" + (with-directory-excursion "src/github.com/noisetorch/NoiseTorch" (invoke "go" "generate"))))))) (inputs - (list rnnoise)) - (home-page "https://github.com/lawl/NoiseTorch") + (list noise-suppression-for-voice)) + (home-page "https://github.com/noisetorch/NoiseTorch") (synopsis "Real-time microphone noise suppression") (description "NoiseTorch creates a virtual PulseAudio microphone that suppresses noise, in any application. Use whichever conferencing or VOIP diff --git a/gnu/packages/python-check.scm b/gnu/packages/python-check.scm index e196f2eccb..7cc266fbce 100644 --- a/gnu/packages/python-check.scm +++ b/gnu/packages/python-check.scm @@ -1771,7 +1771,7 @@ supported by the MyPy typechecker.") (define-public python-mypy (package (name "python-mypy") - (version "0.942") + (version "0.971") (source (origin ;; Because of https://github.com/python/mypy/issues/9584, the @@ -1788,10 +1788,7 @@ supported by the MyPy typechecker.") (file-name (git-file-name name version)) (sha256 (base32 - "0hxnrqhvskiclwfj2s4gyfclzjas1dvpfxhyng8v7mq38rqps1j5")) - (patches - (search-patches "python-mypy-12332.patch" - "python-mypy-use-sys-path.patch")))) + "0i8swdynms1wpiprgqn24za6mx8rlgxr2jash3cb5xi8jyf58n97")))) (build-system python-build-system) (arguments `(#:phases @@ -1799,7 +1796,10 @@ supported by the MyPy typechecker.") (replace 'check (lambda* (#:key tests? #:allow-other-keys) (when tests? - (invoke "pytest" "mypyc"))))))) + (invoke "pytest" "-vv" "mypyc" + ;; XXX: This test gets an unexpected DeprecationWarning + ;; from recent versions of setuptools. Ignore for now. + "-k" "not testImports"))))))) (native-inputs (list python-attrs python-lxml diff --git a/gnu/packages/python-compression.scm b/gnu/packages/python-compression.scm index edfa974a71..0504dd0b2a 100644 --- a/gnu/packages/python-compression.scm +++ b/gnu/packages/python-compression.scm @@ -5,7 +5,7 @@ ;;; Copyright © 2017 Julien Lepiller <julien@lepiller.eu> ;;; Copyright © 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr> -;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com> +;;; Copyright © 2020, 2022 Marius Bakke <marius@gnu.org> ;;; Copyright © 2021 Brendan Tildesley <mail@brendan.scot> ;;; ;;; This file is part of GNU Guix. @@ -195,28 +195,27 @@ Python.") (define-public python-lzo (package (name "python-lzo") - (version "1.12") + (version "1.14") (source (origin (method url-fetch) (uri (pypi-uri "python-lzo" version)) (sha256 - (base32 - "0iakqgd51n1cd7r3lpdylm2rgbmd16y74cra9kcapwg84mlf9a4p")))) + (base32 "0315nq6r39n51n8qqamb7xv0ib0qrh76q7g3a1977172mbndijw3")))) (build-system python-build-system) (arguments - `(#:test-target "check" - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'patch-setuppy - (lambda _ - (substitute* "setup.py" - (("include_dirs.append\\(.*\\)") - (string-append "include_dirs.append('" - (assoc-ref %build-inputs "lzo") - "/include/lzo" - "')"))) - #t))))) + (list + #:test-target "check" + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'patch-setuppy + (lambda _ + (substitute* "setup.py" + (("include_dirs.append\\(.*\\)") + (string-append "include_dirs.append('" + #$(this-package-input "lzo") + "/include/lzo" + "')")))))))) (inputs (list lzo)) (home-page "https://github.com/jd-boyd/python-lzo") @@ -230,14 +229,14 @@ Python strings.") (define-public python-lz4 (package (name "python-lz4") - (version "0.10.1") + (version "4.0.2") (source (origin (method url-fetch) (uri (pypi-uri "lz4" version)) (sha256 (base32 - "0ghv1xbaq693kgww1x9c22bplz479ls9szjsaa4ig778ls834hm0")) + "16vj2bnhhdkcz2a2ai2mx2kf9ngx1cjr18636yp1514kq9r72fq8")) (modules '((guix build utils))) (snippet '(begin @@ -245,8 +244,18 @@ Python strings.") (delete-file-recursively "lz4libs") #t)))) (build-system python-build-system) + (arguments + (list #:phases + #~(modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + ;; Taken from tox.ini (excludes experimental tests). + (invoke "pytest" "-vv" "tests/block" "tests/frame"))))))) (native-inputs - (list pkg-config python-nose python-setuptools-scm)) + (list pkg-config python-pytest python-pkgconfig python-setuptools-scm + ;; For tests. + python-psutil)) (inputs (list lz4)) (home-page "https://github.com/python-lz4/python-lz4") diff --git a/gnu/packages/python-crypto.scm b/gnu/packages/python-crypto.scm index 4c3602ab54..3ff05c0c9f 100644 --- a/gnu/packages/python-crypto.scm +++ b/gnu/packages/python-crypto.scm @@ -441,14 +441,14 @@ is used by the Requests library to verify HTTPS requests.") (define-public python-cryptography-vectors-next (package (name "python-cryptography-vectors") - (version "36.0.1") + (version "37.0.4") (source (origin (method url-fetch) (uri (pypi-uri "cryptography_vectors" version)) (sha256 (base32 - "166mvhhmgglqai1sjkkb76mpdkad2yykam11d2w44hs2snpr117w")))) + "1a1yi37ygw0jp72q280cmxd3qn9y9vmcch2bcnjkg2g2202l0qas")))) (build-system python-build-system) (home-page "https://github.com/pyca/cryptography") (synopsis "Test vectors for the cryptography package") @@ -470,14 +470,14 @@ is used by the Requests library to verify HTTPS requests.") (define-public python-cryptography-next (package (name "python-cryptography") - (version "36.0.1") + (version "37.0.4") (source (origin (method url-fetch) (uri (pypi-uri "cryptography" version)) (sha256 (base32 - "0f1n8bvngarhsssm60xc59xfzkh7yqpyyyypaph3v5bs7pfc3rak")))) + "10haq7sn8mrdlhcfs791rczknnxm0wpww0lkpjzcqx141ryc3yb3")))) (build-system python-build-system) (arguments (list @@ -489,11 +489,13 @@ is used by the Requests library to verify HTTPS requests.") (ice-9 match)) #:phases #~(modify-phases (@ (guix build python-build-system) %standard-phases) - (add-after 'unpack 'loosen-ouroboros-version + (add-after 'unpack 'adjust-pyo3-requirement (lambda _ + ;; The package depends on 0.15.2, which is not on crates.io(!?). + ;; Downgrade to 0.15.1... (substitute* "src/rust/Cargo.toml" - (("ouroboros = \"0\\.13\"") - "ouroboros = \"0.14\"")))) + (("pyo3 = \\{ version = \"0\\.15\\.2\"") + "pyo3 = { version = \"0.15.1\"")))) (add-before 'build 'configure-cargo (lambda* (#:key inputs #:allow-other-keys) ;; Hide irrelevant inputs from cargo-build-system so it does @@ -518,6 +520,9 @@ is used by the Requests library to verify HTTPS requests.") (invoke "pytest" "-vv" "tests"))))))) (inputs (list openssl + ;; TODO: Most of these inputs are transitive dependencies of + ;; the Rust requirements (see src/rust/cargo.toml). Surely + ;; there is a better way than manually listing everything..? rust-aliasable-0.1 rust-asn1-0.8 rust-asn1-derive-0.8 @@ -538,8 +543,8 @@ is used by the Requests library to verify HTTPS requests.") rust-num-integer-0.1 rust-num-traits-0.2 rust-once-cell-1 - rust-ouroboros-0.14 - rust-ouroboros-macro-0.14 + rust-ouroboros-0.15 + rust-ouroboros-macro-0.15 rust-parking-lot-0.11 rust-parking-lot-core-0.8 rust-paste-0.1 @@ -572,6 +577,7 @@ is used by the Requests library to verify HTTPS requests.") python-pretend python-pytz python-pytest + python-pytest-benchmark python-pytest-subtests python-setuptools-rust rust @@ -1610,11 +1616,6 @@ can also encrypt and decrypt messages using RSA and ECDH.") (build-system python-build-system) (arguments '(#:tests? #f)) ;none included (propagated-inputs (list python-six)) - (native-inputs - (list python-mock - python-pyfakefs - python-pytest - python-unittest2)) (home-page "https://github.com/google/pyu2f/") (synopsis "U2F host library for interacting with a U2F device over USB") (description diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm index da5a22e395..8760b3968f 100644 --- a/gnu/packages/python-web.scm +++ b/gnu/packages/python-web.scm @@ -53,6 +53,7 @@ ;;; Copyright © 2022 Peter Polidoro <peter@polidoro.io> ;;; Copyright © 2022 Antero Mejr <antero@mailbox.org> ;;; Copyright © 2022 Luis Henrique Gomes Higino <luishenriquegh2701@gmail.com> +;;; Copyright © 2022 Nicolas Graves <ngraves@ngraves.fr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -362,6 +363,13 @@ for adding, removing and dropping callbacks.") ;; This test probably requires to be run with the ;; library loaded from the the build directory. "not test_c_parser_loaded and " + ;; TODO: These tests fail with recent versions of Pytest + ;; and the fix is difficult to backport: + ;; https://github.com/aio-libs/aiohttp/pull/6872 + ;; Re-enable after 3.9. + "not test_session_close_awaitable and " + "not test_async_with_session and " + "not test_close_run_until_complete_not_deprecated and " ;; Disable the following tests as they require ;; networking. "not TestDeflateBuffer and " @@ -7761,3 +7769,20 @@ admin section of stores using an ActiveResource-like interface similar the ruby Shopify API gem. The library makes HTTP requests to Shopify in order to list, create, update, or delete resources (e.g. Order, Product, Collection).") (license license:expat))) + +(define-public python-whatthepatch + (package + (name "python-whatthepatch") + (version "1.0.2") + (source (origin + (method url-fetch) + (uri (pypi-uri "whatthepatch" version)) + (sha256 + (base32 + "17zspm5sxhvggkdhwq4s0fzf4mkc825xshn734g2j2iy2xcylh65")))) + (build-system python-build-system) + (home-page "https://github.com/cscorley/whatthepatch") + (synopsis "Patch parsing and application") + (description + "This package provides a library to parse and apply patches.") + (license license:expat))) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 85f8c3c00b..d3bfb10acf 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -1211,13 +1211,13 @@ iotop, uptime, pidof, tty, taskset, pmap.") (define-public python-shapely (package (name "python-shapely") - (version "1.8.2") + (version "1.8.4") (source (origin (method url-fetch) (uri (pypi-uri "Shapely" version)) (sha256 - (base32 "1dpbjw0w2l1r9s5drmi4cyr1yd5h2a4m9vip7qhy7mbg03azjajp")))) + (base32 "130rqd0czi128wm5pdn47v4m6czxd7pkzanbya8q48gsm8ffb5d1")))) (build-system python-build-system) (native-inputs (list python-cython python-matplotlib python-pytest @@ -1766,6 +1766,26 @@ client-side scripting and application development around the NETCONF protocol.") (license license:asl2.0))) +(define-public python-ncls + (package + (name "python-ncls") + (version "0.0.65") + (source (origin + (method url-fetch) + (uri (pypi-uri "ncls" version)) + (sha256 + (base32 + "1wx06xqknd2r98w8z93f47g5dpxzn92kamhj8vkq0nj569hf7cg1")))) + (build-system python-build-system) + (propagated-inputs (list python-numpy)) + (home-page "https://github.com/endrebak/ncls") + (synopsis "Nested containment list data structure") + (description + "This package provides a wrapper for the nested containment list data +structure. It is a static interval-tree that is fast for both construction +and lookups.") + (license license:bsd-3))) + (define-public python-license-expression (package (name "python-license-expression") @@ -1792,13 +1812,13 @@ conventions and aliases in the same expression.") (define-public python-wand (package (name "python-wand") - (version "0.6.7") + (version "0.6.10") (source (origin (method url-fetch) (uri (pypi-uri "Wand" version)) (sha256 - (base32 "1nxn7zvbnfgk4kkxajbzglcjpbgr84ilhnxm990nifjxqb61ph7b")))) + (base32 "0mywzs235skwq670c80achrd34kangwy24793k1nij3651zllgrp")))) (build-system python-build-system) (arguments `(#:phases @@ -1814,8 +1834,7 @@ conventions and aliases in the same expression.") (home-page "https://docs.wand-py.org/") (synopsis "MagickWand API binding for Python") (description - "Wand is a ctypes-based binding for the C API of ImageMagick's MagickWand -library.") + "Wand is a ctypes-based binding for ImageMagick's MagickWand library.") (license license:expat))) (define-public python-lockfile @@ -1935,14 +1954,14 @@ other machines, such as over the network.") (define-public python-setuptools (package (name "python-setuptools") - (version "62.0.0") + (version "64.0.3") (source (origin (method url-fetch) (uri (pypi-uri "setuptools" version)) (sha256 (base32 - "0sm8n6y6q640cpac9wjyggidbgi4n9la7vs7pwriyvhvgzccp6br")) + "1sllqf0bhsl2yilf1w0xnlz0r4yaksmwaj0ap91zdc6kgbigdjiv")) (modules '((guix build utils))) (snippet ;; Remove included binaries which are used to build self-extracting @@ -2414,7 +2433,7 @@ for additional processing.") "1cagg06vfph864s6l5jb0zqliwxh647bki8j6lf4a4qrv40jnhs8")))) (build-system python-build-system) (propagated-inputs - (list python-mock python-nose python-six python-unittest2)) + (list python-mock python-nose python-six)) (native-inputs (list python-coverage)) (home-page "https://github.com/celery/case") @@ -4225,7 +4244,6 @@ logging and tracing of the execution.") (list python-lockfile)) (native-inputs (list python-coverage - python-unittest2 python-testtools python-testscenarios python-twine @@ -4866,6 +4884,60 @@ utility, a static analysis tool (linter) for Robot Framework source files.") (description "Pabot is a parallel executor for Robot Framework tests.") (license license:asl2.0))) +(define-public python-sshtunnel + (package + (name "python-sshtunnel") + (version "0.4.0") + (source (origin + (method url-fetch) + (uri (pypi-uri "sshtunnel" version)) + (sha256 + (base32 + "1z7rdgpp9m36ysh9pfzrn3vyiaj05bkjvcjdhj8vz0fvfjkhxjz7")))) + (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? (invoke "pytest" "-vv" "tests"))))))) + (propagated-inputs (list python-paramiko)) + (native-inputs (list openssh python-pytest)) + (home-page "https://github.com/pahaz/sshtunnel") + (synopsis "Python SSH tunnels library") + (description "@code{sshtunnel} is a Python module for easily creating SSH +tunnels in the background, using Python.") + (license license:expat))) + +(define-public python-robotframework-sshtunnellibrary + (package + (name "python-robotframework-sshtunnellibrary") + (version "1.0.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/C-Squad/robotframework-sshtunnellibrary") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1vkkmkb8iql13xpbyj4hvnnmfgzqlr8rffgryp2082cadb3w7xrd")))) + (build-system python-build-system) + (arguments + (list #:phases #~(modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "python" "-m" "unittest" + "discover" "-s" "test"))))))) + (propagated-inputs (list python-robotframework python-sshtunnel)) + (home-page "https://github.com/C-Squad/robotframework-sshtunnellibrary") + (synopsis "Alternative RobotFramework library for SSH tunnels") + (description "SSHTunnelLibrary is an alternative RobotFramework +library (to the more official one that comes from the +@code{robotframework-sshlibrary} package) to support SSH tunnels.") + (license license:asl2.0))) + (define-public python-robotframework-stacktrace (package (name "python-robotframework-stacktrace") @@ -5636,6 +5708,8 @@ with Python. It contains among other things: a powerful N-dimensional array object, sophisticated (broadcasting) functions, tools for integrating C/C++ and Fortran code, useful linear algebra, Fourier transform, and random number capabilities.") + (properties + '((upstream-name . "numpy"))) (license license:bsd-3))) (define-public python-numpy-next @@ -8276,8 +8350,11 @@ module with a few extra procedures.") (lambda* (#:key tests? #:allow-other-keys) (when tests? ;; Do not test the myproject.toml build as it tries to pull - ;; dependencies from the Internet. - (invoke "pytest" "-vv" "-k" "not project")))))))) + ;; dependencies from the Internet. Do not run a test that + ;; tries to emulate a broken proprietary CI set-up, fails + ;; to do so correctly, and then throws an error about it. + (invoke "pytest" "-vv" "-k" + "not project and not test_function_throttled")))))))) (native-inputs (modify-inputs (package-native-inputs python-jaraco-functools-bootstrap) @@ -14129,13 +14206,13 @@ minimal and fast API targeting the following uses: (define-public python-icalendar (package (name "python-icalendar") - (version "4.0.7") + (version "4.1.0") (source (origin (method url-fetch) (uri (pypi-uri "icalendar" version)) (sha256 (base32 - "19574j3jwssm2dkqykih4568xqfgjsa3hcd79yl5s2vfys3qvh8g")))) + "15dkq42rkqjdi17rpvmd1plnbwn4daby0nk1s1c3xi7w5v0bfj4p")))) (build-system python-build-system) (propagated-inputs (list python-dateutil python-pytz)) @@ -17225,13 +17302,13 @@ addresses, and phone numbers.") (define-public python-pyaml (package (name "python-pyaml") - (version "18.11.0") + (version "21.10.1") (source (origin (method url-fetch) (uri (pypi-uri "pyaml" version)) (sha256 (base32 - "0fi604ix8lbpj1266q7js6szm771saprdzzcdwmj43wy83694qmr")))) + "10w3frzqir5sbpglc9bwb8w414dsivmcvji07yxy61mz2gp9ylf6")))) (build-system python-build-system) (native-inputs (list python-unidecode)) @@ -18113,9 +18190,17 @@ JSON) codec.") (arguments `(#:phases (modify-phases %standard-phases - (replace 'check + (add-after 'unpack 'remove-test-hypothesis-deadlines (lambda _ - (invoke "pytest" "-v")))))) + (substitute* "tests/test_utils.py" + (("from hypothesis import given") + "from hypothesis import given, settings") + (("( +)@given" all spaces) + (string-append spaces "@settings(deadline=None)\n" all))))) + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "pytest" "-v"))))))) (native-inputs (list python-hypothesis python-pytest-cov python-pytest-mock python-pytest)) @@ -18125,13 +18210,13 @@ JSON) codec.") (synopsis "Natural sorting for python and shell") (description "Natsort lets you apply natural sorting on lists instead of - lexicographical. If you use the built-in @code{sorted} method in python - on a list such as @code{[@code{a20}, @code{a9}, @code{a1}, @code{a4}, - @code{a10}]}, it would be returned as @code{[@code{a1}, @code{a10}, @code{a20}, - @code{a4}, @code{a9}]}. Natsort provides a function @code{natsorted} that - identifies numbers and sorts them separately from strings. It can also sort - version numbers, real numbers, mixed types and more, and comes with a shell - command @command{natsort} that exposes this functionality in the command line.") +lexicographical. If you use the built-in @code{sorted} method in python on a +list such as @code{[@code{a20}, @code{a9}, @code{a1}, @code{a4}, @code{a10}]}, +it would be returned as @code{[@code{a1}, @code{a10}, @code{a20}, @code{a4}, +@code{a9}]}. Natsort provides a function @code{natsorted} that identifies +numbers and sorts them separately from strings. It can also sort version +numbers, real numbers, mixed types and more, and comes with a shell command +@command{natsort} that exposes this functionality in the command line.") (license license:expat))) (define-public glances @@ -18311,40 +18396,40 @@ JSON) codec.") (define-public python-setproctitle (package (name "python-setproctitle") - (version "1.1.10") + (version "1.3.2") (source (origin (method url-fetch) (uri (pypi-uri "setproctitle" version)) (sha256 (base32 - "163kplw9dcrw0lffq1bvli5yws3rngpnvrxrzdw89pbphjjvg0v2")))) + "1zbp6kyzfbrmbh9j3idai0mnpa28zn5db3k5l07jc3c3gj89gyxr")))) (build-system python-build-system) (arguments '(#:phases (modify-phases %standard-phases (replace 'check - (lambda _ + (lambda* (#:key tests? #:allow-other-keys) (setenv "PYTHON" (or (which "python3") (which "python"))) (setenv "PYCONFIG" (if (which "python3-config") "python3-config --embed" "python-config")) - (setenv "CC" "gcc") - ;; No need to extend PYTHONPATH to find the built package, since - ;; the Makefile will build anyway - (invoke "make" "check")))))) + (substitute* "tests/conftest.py" + (("cc") "gcc")) + (when tests? + (invoke "pytest" "tests/"))))))) (native-inputs - (list procps)) ; required for tests + (list procps python-pytest)) ; required for tests (home-page "https://github.com/dvarrazzo/py-setproctitle") (synopsis "Setproctitle implementation for Python to customize the process title") (description "The library allows a process to change its title (as displayed - by system tools such as ps and top). +by system tools such as @code{ps} and @code{top}). - Changing the title is mostly useful in multi-process systems, for - example when a master process is forked: changing the children's title - allows identifying the task each process is busy with. The technique - is used by PostgreSQL and the OpenSSH Server for example.") +Changing the title is mostly useful in multi-process systems, for example when a +master process is forked: changing the children's title allows identifying the +task each process is busy with. The technique is used by PostgreSQL and the +OpenSSH Server for example.") (license license:bsd-3))) (define-public python-validictory @@ -19087,7 +19172,15 @@ from the header, as well as section details and data available.") (uri (pypi-uri "m2r" version)) (sha256 (base32 - "16gdm8i06jjmlpvckpfmlkr4693dh0vs192vgsqn84fsdkbbm45z")))) + "16gdm8i06jjmlpvckpfmlkr4693dh0vs192vgsqn84fsdkbbm45z")) + (modules '((guix build utils))) + (snippet + ;; Adjust test regex for Python 3.10 compatibility. + ;; Taken from upstream pull request: + ;; https://github.com/miyakogi/m2r/pull/62 + '(substitute* "tests/test_cli.py" + (("self.assertIn\\('optional arguments:', message\\)") + "self.assertRegex(message, r'option(s|al arguments):')"))))) (build-system python-build-system) (propagated-inputs (list python-docutils python-mistune)) @@ -19432,14 +19525,21 @@ builds partial trees by inspecting living objects.") (define-public python-mando (package (name "python-mando") - (version "0.6.4") + (version "0.7.1") (source (origin (method url-fetch) (uri (pypi-uri "mando" version)) (sha256 (base32 - "0q6rl085q1hw1wic52pqfndr0x3nirbxnhqj9akdm5zhq2fv3zkr")))) + "001mikga36i811pbc95rb45m2kzivkx4xb0fn3pzl4xnnjcskfhq")))) (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"))))))) (propagated-inputs (list python-rst2ansi python-six)) (native-inputs @@ -19766,6 +19866,8 @@ while only declaring the test-specific fields.") (substitute* "setup.py" ((".*'future'.*") "") + (("mando>=0\\.6,<0\\.7") + "mando>=0.6") (("colorama==0.4.1") "colorama>=0.4.1")))) (replace 'check @@ -20842,31 +20944,29 @@ Rust Python extensions implemented with @code{PyO3} or @code{rust-cpython}.") (define-public python-pyclipper (package (name "python-pyclipper") - (version "1.1.0.post3") + (version "1.3.0.post3") (source (origin (method url-fetch) - (uri (pypi-uri "pyclipper" version ".zip")) + (uri (pypi-uri "pyclipper" version)) (sha256 - (base32 "164yksvqwqvwzh8f8lq92asg87hd8rvcy2xb5vm4y4ccvd5xgb7i")) + (base32 "0vqzbmq2di1jaj6230m5i1ld0mg6wdb1c6r6i5zli54varavr7v3")) (modules '((guix build utils))) (snippet '(begin ;; This file is generated by Cython. - (delete-file "pyclipper/pyclipper.cpp") #t)))) + (delete-file "src/pyclipper/_pyclipper.cpp") #t)))) (build-system python-build-system) (arguments `(#:phases (modify-phases %standard-phases (add-before 'build 'cythonize-sources (lambda _ - (with-directory-excursion "pyclipper" - (invoke "cython" "--cplus" "pyclipper.pyx"))))))) - (propagated-inputs - (list python-setuptools-scm-git-archive)) + (with-directory-excursion "src/pyclipper" + (invoke "cython" "--cplus" "_pyclipper.pyx"))))))) (native-inputs - (list python-cython python-pytest python-pytest-runner - python-unittest2 unzip)) + (list python-cython python-setuptools-scm + python-pytest python-pytest-runner)) (home-page "https://github.com/greginvm/pyclipper") (synopsis "Wrapper for Angus Johnson's Clipper library") (description @@ -21506,53 +21606,69 @@ based on the CPython 2.7 and 3.7 parsers.") (define-public python-typer (package (name "python-typer") - (version "0.3.2") + (version "0.6.1") (source (origin - ;; Building `python-typer` from the git repository requires the `flit-core` - ;; Python package that is not installed by `python-flit`. - (method url-fetch) - (uri (pypi-uri "typer" version)) + (method git-fetch) + (uri (git-reference + (url "https://github.com/tiangolo/typer") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 "00v3h63dq8yxahp9vg3yb9r27l2niwv8gv0dbds9dzrc298dfmal")))) + (base32 "1knv353qhkl2imav3jfp6bgq47m8wkkqhq1dzmqg2sv8rsy7zgl7")))) (build-system python-build-system) (arguments `(#:phases - (modify-phases %standard-phases - ;; Unfortunately, this doesn't seem to be enough to fix these two - ;; tests, but we'll patch this anyway. - (add-after 'unpack 'patch-shell-reference - (lambda _ - (substitute* "tests/test_completion/test_completion.py" - (("\"bash\"") (string-append "\"" (which "bash") "\"")) - (("\"/bin/bash\"") (string-append "\"" (which "bash") "\""))))) - (replace 'check - (lambda* (#:key tests? #:allow-other-keys) - (when tests? - (setenv "HOME" "/tmp") ; some tests need it - - ;; This is for completion tests - (with-output-to-file "/tmp/.bashrc" (lambda _ (display "# dummy"))) - - (setenv "GUIX_PYTHONPATH" - (string-append (getcwd) ":" - (getenv "GUIX_PYTHONPATH"))) - (let ((disabled-tests (list "test_show_completion" - "test_install_completion"))) - (invoke "python" "-m" "pytest" "tests/" - "-k" - (string-append "not " - (string-join disabled-tests - " and not ")))))))))) + ,#~(modify-phases %standard-phases + ;; Unfortunately, this doesn't seem to be enough to fix these two + ;; tests, but we'll patch this anyway. + (add-after 'unpack 'patch-shell-reference + (lambda _ + (substitute* "tests/test_completion/test_completion.py" + (("\"bash\"") (string-append "\"" (which "bash") "\"")) + (("\"/bin/bash\"") + (string-append "\"" (which "bash") "\""))))) + (replace 'build + (lambda _ + (invoke "flit" "build"))) + (replace 'install + (lambda* (#:key inputs outputs #:allow-other-keys) + (add-installed-pythonpath inputs outputs) + (for-each + (lambda (wheel) + (format #true wheel) + (invoke "python" "-m" "pip" "install" + wheel (string-append "--prefix=" #$output))) + (find-files "dist" "\\.whl$")))) + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (setenv "HOME" "/tmp") ; some tests need it + + ;; This is for completion tests + (with-output-to-file "/tmp/.bashrc" + (lambda _ (display "# dummy"))) + + (setenv "GUIX_PYTHONPATH" + (string-append (getcwd) ":" + (getenv "GUIX_PYTHONPATH"))) + (let ((disabled-tests (list "test_show_completion" + "test_install_completion"))) + (invoke "python" "-m" "pytest" "tests/" + "-k" + (string-append "not " + (string-join disabled-tests + " and not ")))))))))) (propagated-inputs (list python-click)) (native-inputs - (list python-coverage python-pytest python-shellingham)) + (list python-coverage python-flit python-pytest python-rich + python-shellingham)) (home-page "https://github.com/tiangolo/typer") (synopsis - "Typer builds CLI based on Python type hints") + "Typer builds CLI based on Python type hints") (description - "Typer is a library for building CLI applications. It's based on + "Typer is a library for building CLI applications. It's based on Python 3.6+ type hints.") ;; MIT license (license license:expat))) @@ -23348,7 +23464,6 @@ Features: (list python-cfgv python-identify python-importlib-metadata - python-importlib-resources python-nodeenv python-pyyaml python-toml @@ -29733,8 +29848,6 @@ fashion.") (substitute* "prober.py" (("cmd = .cc") (string-append "cmd = \"" #$(cc-for-target))))))))) - (native-inputs - (list python-unittest2)) (home-page "http://semanchuk.com/philip/posix_ipc/") (synopsis "POSIX IPC primitives for Python") (description @@ -30411,7 +30524,7 @@ window managers.") (define-public i3-autotiling (package (name "i3-autotiling") - (version "1.6") + (version "1.6.1") (source (origin (method git-fetch) (uri (git-reference @@ -30420,7 +30533,7 @@ window managers.") (file-name (git-file-name name version)) (sha256 (base32 - "1hjlvg7095s322gb43r9g7mqlsy3pj13l827jpnbn5x0918rq9rr")))) + "1m8k3g83n2n1xws89dh20f3sy6753wvip9dzf6bssv2cz9ll7406")))) (build-system python-build-system) (arguments (list #:tests? #f)) ;no tests (native-inputs (list python-wheel)) @@ -30498,3 +30611,91 @@ both.") package. It can be used by type-checking tools like mypy, PyCharm, pytype etc. to check code that uses @code{orjson}.") (license license:asl2.0))) + +(define-public python-nanoid + ;; There are no tests on PyPi. + (let ((commit "061f9a598f310b0e2e91b9ed6ce725a22770da64") + (revision "0")) + (package + (name "python-nanoid") + (version "2.0.0") + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/puyuan/py-nanoid") + (commit commit))) + (file-name (git-file-name name commit)) + (sha256 + (base32 "0y1bcw0h27g8rkqq7cp33ywn0i0lp0q3rjixzkh4191y1dp9yf8s")))) + (build-system python-build-system) + (native-inputs (list python-pytest)) + (arguments + '(#:phases + (modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? inputs outputs #:allow-other-keys) + (when tests? + (invoke "pytest"))))))) + (home-page "https://github.com/puyuan/py-nanoid") + (synopsis "Unique string ID generator") + (description + "This package provides a tiny, secure, URL-friendly, unique string ID +generator for Python.") + (license license:expat)))) + +(define-public python-misskey + (package + (name "python-misskey") + (version "4.1.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/YuzuRyo61/Misskey.py") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0rma8pdsjsy00cg76q6q4qki4xpldykmz1m6dl3w2bjjxfhlbaz5")))) + (build-system python-build-system) + (arguments (list #:tests? #f)) ;needs network + (propagated-inputs (list python-requests)) + (home-page "https://misskeypy.readthedocs.io") + (synopsis "Python bindings for Misskey's API") + (description + "This package provides access to Misskey's API. Misskey is a SNS +platform using the ActivityPub protocol.") + (license license:expat))) + +(define-public python-lief + (package + (name "python-lief") + (version "0.12.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/lief-project/LIEF") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1xzbh3bxy4rw1yamnx68da1v5s56ay4g081cyamv67256g0qy2i1")))) + (build-system python-build-system) + (native-inputs (list cmake)) + (arguments + (list + #:tests? #f ;needs network + #:phases #~(modify-phases %standard-phases + (replace 'build + (lambda _ + (invoke + "python" "setup.py" "--sdk" "build" + (string-append + "-j" (number->string (parallel-job-count))))))))) + (home-page "https://github.com/lief-project/LIEF") + (synopsis "Library to instrument executable formats") + (description + "@code{python-lief} is a cross platform library which can parse, modify +and abstract ELF, PE and MachO formats.") + (license license:asl2.0))) diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index f8d7d5e428..cc41338b74 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -262,7 +262,7 @@ other text such as code. The syntax uses the syntax of the Django template system, and the core design of Django is reused in Grantlee.") (license license:lgpl2.1+))) -(define (qt5-urls component version) +(define (qt-urls component version) "Return a list of URLs for VERSION of the Qt5 COMPONENT." ;; We can't use a mirror:// scheme because these URLs are not exact copies: ;; the layout differs between them. @@ -290,7 +290,7 @@ system, and the core design of Django is reused in Grantlee.") (version "5.15.5") (source (origin (method url-fetch) - (uri (qt5-urls name version)) + (uri (qt-urls name version)) (sha256 (base32 "1p2fa94m1y8qzhdfi2d7dck93qh1lgsinibwl1wy92bwmacwfhhc")) @@ -543,7 +543,7 @@ developers using C++ or QML, a CSS & JavaScript like language.") (version "6.3.1") (source (origin (inherit (package-source qtbase-5)) - (uri (qt5-urls name version)) + (uri (qt-urls name version)) (sha256 (base32 "00sfya41ihqb0zwg6wf1kiy02iymj6mk584hhk2c4s94khfl4r0a")) @@ -825,7 +825,7 @@ developers using C++ or QML, a CSS & JavaScript like language.") (version "6.3.1") (source (origin (method url-fetch) - (uri (qt5-urls name version)) + (uri (qt-urls name version)) (sha256 (base32 "1zbcaswpl79ixcxzj85qzjq73962s4c7316pibwfrskqswmwcgm4")))) @@ -855,7 +855,7 @@ came with the @{qtgraphicaleffects} Qt 5 package.") (version "5.15.5") (source (origin (method url-fetch) - (uri (qt5-urls name version)) + (uri (qt-urls name version)) (sha256 (base32 "0cdhmhxngv4y7kl5vbcii4l4anbz0hj7dvhlddy1agyl19j9xky4")))) @@ -923,7 +923,7 @@ HostData=lib/qt5 (version "6.3.1") (source (origin (method url-fetch) - (uri (qt5-urls name version)) + (uri (qt-urls name version)) (sha256 (base32 "1xvxz2jfpr1al85rhwss7ji5vkxa812d0b888hry5f7pwqcg86bv")))) @@ -954,7 +954,7 @@ HostData=lib/qt5 (version "5.15.5") (source (origin (method url-fetch) - (uri (qt5-urls name version)) + (uri (qt-urls name version)) (sha256 (base32 "1xjb2z2h1ajw7z9cwq8djpdvjwalpnmirwcwrlbjqv5r4ghmi82a")) @@ -981,7 +981,7 @@ support for MNG, TGA, TIFF and WBMP image formats."))) (version "5.15.5") (source (origin (method url-fetch) - (uri (qt5-urls name version)) + (uri (qt-urls name version)) (sha256 (base32 "0wxsrnnkkn68myy211rfz98brs7j3qmx3hmy097vh5avgsmw11bn")))) @@ -1001,7 +1001,7 @@ from within Qt 5."))) (version "5.15.5") (source (origin (method url-fetch) - (uri (qt5-urls name version)) + (uri (qt-urls name version)) (sha256 (base32 "065vj1gk5i4cg0f9spksyb9ps4px0vssx262y77aakvw408vfmq5")))) @@ -1029,7 +1029,7 @@ xmlpatternsvalidator."))) (version "5.15.5") (source (origin (method url-fetch) - (uri (qt5-urls name version)) + (uri (qt-urls name version)) (sha256 (base32 "0ji5131g7h2mrgxw1wxc5mcvmsn3fbw64j28gzpa25gv3vcnkhaw")))) @@ -1069,7 +1069,7 @@ with JavaScript and C++."))) ;; TODO: Package 'masm' and unbundle from sources. (source (origin (method url-fetch) - (uri (qt5-urls name version)) + (uri (qt-urls name version)) (sha256 (base32 "1s268fha3650dn1lqxf8jfa07wxpw09f6p7rjyiwq3w24d0nkrq3")))) @@ -1196,7 +1196,7 @@ integrate QML code with JavaScript and C++.") (version "5.15.5") (source (origin (method url-fetch) - (uri (qt5-urls name version)) + (uri (qt-urls name version)) (sha256 (base32 "0b2dnxw1rjbp1srhgns148cwl99f50mx29588dal3avv0f73s597")))) @@ -1214,7 +1214,7 @@ with Bluetooth and NFC."))) (version "5.15.5") (source (origin (method url-fetch) - (uri (qt5-urls name version)) + (uri (qt-urls name version)) (sha256 (base32 "0f120rfqnmlffjhrm5jbpipk1qsbzp1a2v3q8gz94hz6n9dqpav6")))) @@ -1237,7 +1237,7 @@ consume data received from the server, or both."))) (version "6.3.1") (source (origin (method url-fetch) - (uri (qt5-urls name version)) + (uri (qt-urls name version)) (sha256 (base32 "06hj0pkdzjicmbiinjp1dk1ziz8cb3fgcwy7a0dxxjvzr680v64z")))) @@ -1276,7 +1276,7 @@ consume data received from the server, or both.") (version "5.15.5") (source (origin (method url-fetch) - (uri (qt5-urls name version)) + (uri (qt-urls name version)) (sha256 (base32 "0zlhm4js02niibb23rw87wf4ik0gy4ai08fwprnwy7zf4rm1ss3d")))) @@ -1305,7 +1305,7 @@ recognition API for devices."))) (version "5.15.5") (source (origin (method url-fetch) - (uri (qt5-urls name version)) + (uri (qt-urls name version)) (sha256 (base32 "0q76iy1frcgm85mid17lh4p6gnn04n19n6zklgpv4w3md1ng97xw")) @@ -1349,7 +1349,7 @@ set of plugins for interacting with pulseaudio and GStreamer."))) (version "6.3.1") (source (origin (method url-fetch) - (uri (qt5-urls name version)) + (uri (qt-urls name version)) ;; Note: the source bundles *patched* glslang and SPIRV-Cross ;; sources. (sha256 @@ -1378,7 +1378,7 @@ Vulkan, OpenGL and other main graphic APIs.") (version "6.3.1") (source (origin (method url-fetch) - (uri (qt5-urls name version)) + (uri (qt-urls name version)) (sha256 (base32 "0dkk3lmzi2fs13cnj8q1lpcs6gghj219826gkwnzyd6nmlm280vy")) @@ -1443,7 +1443,7 @@ set of plugins for interacting with pulseaudio and GStreamer.") (version "5.15.5") (source (origin (method url-fetch) - (uri (qt5-urls name version)) + (uri (qt-urls name version)) (patches (search-patches "qtwayland-gcc-11.patch")) (sha256 (base32 @@ -1491,7 +1491,7 @@ compositor libraries."))) (version "5.15.5") (source (origin (method url-fetch) - (uri (qt5-urls name version)) + (uri (qt-urls name version)) (sha256 (base32 "0xg2djwhrj5jqamawlp75g70nmwbp2ph2hh1pm45s36jkxm0k7al")))) @@ -1520,7 +1520,7 @@ interacting with serial ports from within Qt."))) (version "5.15.5") (source (origin (method url-fetch) - (uri (qt5-urls name version)) + (uri (qt-urls name version)) (sha256 (base32 "180gm1jvqfn0h3251zafdd1wd3af00phwaa5qljsbrj6s6ywj79j")))) @@ -1549,7 +1549,7 @@ and others."))) (version "5.15.5") (source (origin (method url-fetch) - (uri (qt5-urls name version)) + (uri (qt-urls name version)) (sha256 (base32 "1w8mcpdqlphgg3a6yfq18liwlj2nkwrafv0n80h242x5l2mk3ljf")))) @@ -1568,7 +1568,7 @@ popular web engines, Qt WebKit 2 and Qt WebEngine."))) (version "6.3.1") (source (origin (method url-fetch) - (uri (qt5-urls name version)) + (uri (qt-urls name version)) (sha256 (base32 "0s16zx3qn3byldvhmsnwijm8rmizk8vpqj7fnwhjg6c67z10m8ma")))) @@ -1605,7 +1605,7 @@ application).") (version "5.15.5") (source (origin (method url-fetch) - (uri (qt5-urls name version)) + (uri (qt-urls name version)) (sha256 (base32 "1m0p4ssykw07lbip2qyv6w34f8ng13bxb63j0w446f5w0492nn9f")))) @@ -1633,7 +1633,7 @@ OpenGL ES 2.0 and can be used in HTML5 canvas elements"))) (version "5.15.5") (source (origin (method url-fetch) - (uri (qt5-urls name version)) + (uri (qt-urls name version)) (sha256 (base32 "0arwaky3jy5ql3z4d8f7k7diidzb1kncdans7pn50hsa1bzacfal")))) @@ -1652,7 +1652,7 @@ native APIs where it makes sense."))) (version "5.15.5") (source (origin (method url-fetch) - (uri (qt5-urls name version)) + (uri (qt-urls name version)) (sha256 (base32 "0mlhhhcxx3gpr9kh04c6fljxcj50c2j21r0wb9f7d7nk4flip7b2")))) @@ -1678,7 +1678,7 @@ positioning and geolocation plugins."))) (version "6.3.1") (source (origin (method url-fetch) - (uri (qt5-urls name version)) + (uri (qt-urls name version)) (sha256 (base32 "1x8wmc6gwmxk92zjcsrbhrbqbfvnk7302ggghld5wk8jk5lsf2vl")))) @@ -1710,7 +1710,7 @@ plugin for Adobe After Effects.") (version "5.15.5") (source (origin (method url-fetch) - (uri (qt5-urls name version)) + (uri (qt-urls name version)) (sha256 (base32 "0v7wkzq9i8w3qrw0z8al7lb6clr57lfisyb1fm9cnhi73fvph1vd")))) @@ -1732,7 +1732,7 @@ that helps in Qt development."))) (version "6.3.1") (source (origin (method url-fetch) - (uri (qt5-urls name version)) + (uri (qt-urls name version)) (sha256 (base32 "1h96w4bzkbd80vr7lh6hnypdlmbzc1y52c2zrqzvkgm3587pa4n4")))) @@ -1759,7 +1759,7 @@ that helps in Qt development.") (version "5.15.5") (source (origin (method url-fetch) - (uri (qt5-urls name version)) + (uri (qt-urls name version)) (sha256 (base32 "17yk0p8ci47xlfpllc17arlycng47wrnnskimskzz85bspabc8pm")) @@ -1779,7 +1779,7 @@ ECMAScript and Qt."))) (version "5.15.5") (source (origin (method url-fetch) - (uri (qt5-urls name version)) + (uri (qt-urls name version)) (sha256 (base32 "0mjw25wcgd2bvjz9rr4qjydb423c63615rcx1vws4jmydqdihssr")))) @@ -1799,7 +1799,7 @@ can be used to build complete interfaces in Qt Quick."))) (version "5.15.5") (source (origin (method url-fetch) - (uri (qt5-urls name version)) + (uri (qt-urls name version)) (sha256 (base32 "1cxg4ml07k1zcyi5m4lx06sz8f5l67isb5vhk7nakxm0wnn7p8y4")))) @@ -1826,7 +1826,7 @@ not available."))) (version "5.15.5") (source (origin (method url-fetch) - (uri (qt5-urls name version)) + (uri (qt-urls name version)) (sha256 (base32 "0xznn5zqp6xrqfgl54l8cig9asqf9m2hz0p3ga514rh8spmdazr3")))) @@ -1849,7 +1849,7 @@ coloring, and many more."))) (version "5.15.5") (source (origin (method url-fetch) - (uri (qt5-urls name version)) + (uri (qt-urls name version)) (sha256 (base32 "0wa4d8f025hlp4bmdzdy5wcahm9wjg6bkwig8dpw9nrsj3idz5b0")))) @@ -1875,7 +1875,7 @@ and mobile applications targeting TV-like form factors."))) (version "5.15.5") (source (origin (method url-fetch) - (uri (qt5-urls name version)) + (uri (qt-urls name version)) (sha256 (base32 "0xf5mqsrw16h8xjglymgfc8qg2qa5bi4fgdl4j3dkhvvpr7vrphp")) @@ -1904,7 +1904,7 @@ also contains functionality to support data models and executable content."))) (version "6.3.1") (source (origin (method url-fetch) - (uri (qt5-urls name version)) + (uri (qt-urls name version)) (sha256 (base32 "0v78wamvdw02kf9rq7m5v24q2g6jmgq4ch0fnfa014p1r978wy06")))) @@ -1934,7 +1934,7 @@ information and perform area based monitoring.") (version "5.15.5") (source (origin (method url-fetch) - (uri (qt5-urls name version)) + (uri (qt-urls name version)) (sha256 (base32 "04z6mwzn73gg56hgs7gividinfgndx4kmcnp7w6h3wamrdlkfdx7")))) @@ -1950,7 +1950,7 @@ purchasing goods and services."))) (version "5.15.5") (source (origin (method url-fetch) - (uri (qt5-urls name version)) + (uri (qt-urls name version)) (sha256 (base32 "0y051i1837bfybkf8cm7cx8k5wjmbi47pxawaaz6wm0hd2z5b4qi")))) @@ -1979,7 +1979,7 @@ selecting one of the charts themes.") (version "5.15.5") (source (origin (method url-fetch) - (uri (qt5-urls name version)) + (uri (qt-urls name version)) (sha256 (base32 "0sczwqlc36jdywf7bqxz0hm6mr7fn8p1fsnc33jliiqzn9yrg77x")))) @@ -2002,7 +2002,7 @@ customized by using themes or by adding custom items and labels to them.") (version "5.15.5") (source (origin (method url-fetch) - (uri (qt5-urls name version)) + (uri (qt-urls name version)) (sha256 (base32 "0c7mz715rlpg0cqgs6s0aszmslyamkhnpamc1iij6i571sj5j2f1")))) @@ -2018,7 +2018,7 @@ implementation of OAuth and OAuth2 authenticathon methods for Qt."))) (version "6.3.1") (source (origin (method url-fetch) - (uri (qt5-urls name version)) + (uri (qt-urls name version)) (sha256 (base32 "0apvsb2ip1m3kw8vi9spvf6f6q72ys8vr40rpyysi7shsjwm83yn")))) @@ -2038,7 +2038,7 @@ implementation of OAuth and OAuth2 authenticathon methods for Qt.") (version "5.15.5") (source (origin (method url-fetch) - (uri (qt5-urls name version)) + (uri (qt-urls name version)) (sha256 (base32 "1m0xcqlbxsfn0cd4ajin1h3i4l51dajmkw91v0r4a61xi14i0kks")))) @@ -2070,7 +2070,7 @@ processes or computers."))) (version "5.15.5") (source (origin (method url-fetch) - (uri (qt5-urls name version)) + (uri (qt-urls name version)) (sha256 (base32 "0xskp9dzjy5nqszygk8gwvjyiylgynx5sq3nk2vi3zwgfdh5jpm4")))) @@ -2126,7 +2126,7 @@ using the Enchant spell-checking library.") (source (origin (method url-fetch) - (uri (qt5-urls name version)) + (uri (qt-urls name version)) (sha256 (base32 "0zahr9w6rqdxwh2whsgk3fhcszs7wa9j95lq4sqi8xzin2wcgl17")) @@ -2504,7 +2504,7 @@ and binaries removed, and adds modular support for using system libraries.") (source (origin (method url-fetch) - (uri (qt5-urls name version)) + (uri (qt-urls name version)) (sha256 (base32 "0ivfsqd5c0cxsnssj6z37901cf6a47w50zaqgjiysvcm3ar36ymd")) @@ -3202,14 +3202,14 @@ top of the PyQt bindings for Qt. PyQt-builder is used to build PyQt itself.") (define-public python-qtpy (package (name "python-qtpy") - (version "2.0.1") + (version "2.2.0") (source (origin (method url-fetch) (uri (pypi-uri "QtPy" version)) (sha256 (base32 - "13zbhnl2rm30xafwrzfwdb4mjp7gk4s9h2xagbf83pnjzczhgzdd")))) + "051rj10lbv2ny48lz34zhclcbdxxdbk4di2mdk91m9143w91npyq")))) (build-system python-build-system) (propagated-inputs (list python-packaging)) (arguments @@ -3629,7 +3629,7 @@ time Web content can be enhanced with native controls.") (define-public dotherside (package (name "dotherside") - (version "0.6.4") + (version "0.9.0") (source (origin (method git-fetch) @@ -3639,11 +3639,12 @@ time Web content can be enhanced with native controls.") (file-name (git-file-name name version)) (sha256 (base32 - "09fz6v8rp28997f235yaifj8p4vvsyv45knc1iivgdvx7msgcd0m")))) + "13n2qb8q9jz4ihwlbs7y15lw90w9113gb1bgnb1dggpxkj64r953")))) (build-system cmake-build-system) (native-inputs (list qttools-5)) (inputs + ;; TODO: Support Qt 6 (requires qtdeclarative of Qt6). (list qtbase-5 qtdeclarative-5)) (home-page "https://filcuc.github.io/DOtherSide/index.html") (synopsis "C language library for creating bindings for the Qt QML language") diff --git a/gnu/packages/radio.scm b/gnu/packages/radio.scm index 9cd64999a1..bc2c13b847 100644 --- a/gnu/packages/radio.scm +++ b/gnu/packages/radio.scm @@ -1415,14 +1415,14 @@ operators.") (define-public xnec2c (package (name "xnec2c") - (version "4.4.5") + (version "4.4.11") (source (origin (method url-fetch) (uri (string-append "https://www.xnec2c.org/releases/xnec2c-v" version ".tar.gz")) (sha256 - (base32 "0v3qr16d42jri2vwwgrhhknaypdcjyn6ccdjpqfzr8zzr33z5pca")))) + (base32 "13ybnb1v1y9wjmj49s8ir2rpfsz7h8r9jwv0qd4if9wsn44jg29k")))) (build-system gnu-build-system) (native-inputs (list autoconf @@ -2126,7 +2126,7 @@ voice formats.") (define-public sdrangel (package (name "sdrangel") - (version "6.18.1") + (version "7.6.2") (source (origin (method git-fetch) @@ -2135,7 +2135,7 @@ voice formats.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "17lakqy55p481fa5w6ylh79xbd4rdiqk9y21vmi4m2r4wx893zw1")))) + (base32 "193iwwb4mbr29mlgaqb67j8214k10k2q0ky9fcl1ja52vmdzz71b")))) (build-system qt-build-system) (native-inputs (list doxygen graphviz pkg-config)) @@ -2165,6 +2165,8 @@ voice formats.") qtquickcontrols2-5 qtserialport qtspeech + qtwebchannel-5 + qtwebengine-5 qtwebsockets-5 rtl-sdr serialdv diff --git a/gnu/packages/rsync.scm b/gnu/packages/rsync.scm index 2b3673c90c..5f549ef234 100644 --- a/gnu/packages/rsync.scm +++ b/gnu/packages/rsync.scm @@ -39,14 +39,14 @@ (define-public rsync (package (name "rsync") - (version "3.2.4") + (version "3.2.5") (source (origin (method url-fetch) (uri (string-append "https://rsync.samba.org/ftp/rsync/src/rsync-" version ".tar.gz")) (sha256 (base32 - "1lgslprbfirl9p9ca16syh0pzr4kgmrzdxwwayvb0ll0s0w1hxkg")))) + "1flsqq01dmbz0m2vwn4sj46zb9yxlrfc6xy3gf393xyd6lbd5i1a")))) (build-system gnu-build-system) (arguments `(#:configure-flags diff --git a/gnu/packages/sagemath.scm b/gnu/packages/sagemath.scm index bb80ff4db5..4542bc1c88 100644 --- a/gnu/packages/sagemath.scm +++ b/gnu/packages/sagemath.scm @@ -38,6 +38,7 @@ #:use-module (gnu packages lisp) #:use-module (gnu packages multiprecision) #:use-module (gnu packages pkg-config) + #:use-module (gnu packages popt) #:use-module (gnu packages python) #:use-module (gnu packages python-xyz)) @@ -309,59 +310,28 @@ used as internal storage type for polynomial structures.") (define-public lcalc (package (name "lcalc") - (version "1.23") - ;; The original home page of the project has disappeared, as well as - ;; code hosted by the original author on Google Code. The latter has - ;; been copied to gitlab.com/sagemath and purportedly contains patches - ;; for a never released version 1.3, that supposedly follows 1.23. - ;; We use the tarball as well as the patches hosted inside the sage - ;; package system distributed with the sage tarball. - (source - (origin - (method url-fetch) - (uri (string-append "ftp://ftp.fu-berlin.de/unix/misc/sage/spkg/" - "upstream/lcalc/lcalc-1.23.tar.bz2")) - (sha256 - (base32 - "1c6dsdshgxhqppjxvxhp8yhpxaqvnz3d1mlh26r571gkq8z2bm43")) - (patches (search-patches "lcalc-lcommon-h.patch" - "lcalc-default-parameters-1.patch" - "lcalc-default-parameters-2.patch" - "lcalc-using-namespace-std.patch")))) + (version "2.0.5") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.com/sagemath/lcalc") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1rwyx292y3jbsp88wagn9nhl9z7wsnl2yrs5imxkbxq87pnrj5a7")))) (build-system gnu-build-system) (arguments - `(#:tests? #f ;no tests - #:phases - (modify-phases %standard-phases - (delete 'configure) - (add-before 'build 'prepare-build - (lambda* (#:key outputs #:allow-other-keys) - (chdir "src") - (let ((out (assoc-ref outputs "out"))) - (substitute* "Makefile" - (("^INSTALL_DIR= /usr/local") - (string-append "INSTALL_DIR=" out)))) - #t)) - (add-before 'install 'make-output-dirs - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (bin (string-append out "/bin")) - (lib (string-append out "/lib")) - (include (string-append out "/include"))) - (mkdir-p bin) - (mkdir-p lib) - (mkdir-p include)) - #t))))) - ;; FIXME: - ;; We need to add pari-gp and probably pari related patches from the - ;; sage project, as well as uncomment the line setting PARI_DEFINE in - ;; the Makefile to get the full functionality of this package. - ;; For the time being, we hope that sage can be compiled without. - (synopsis "C++ library for L-functions") - (description "Lcalc computes L-functions, in particular the Riemann -zeta function and its twists by quadratic characters.") - (license license:gpl2+) - (home-page "https://gitlab.com/sagemath/sage"))) + (list #:configure-flags '(list "--with-pari"))) + (inputs (list pari-gp)) + (native-inputs (list autoconf automake libtool pkg-config gengetopt)) + (home-page "https://gitlab.com/sagemath/lcalc") + (synopsis "C++ library for computing with L-functions") + (description + "Lcalc computes L-functions, in particular the Riemann zeta function, +Dirichlet L-functions and L-functions attached to elliptic curves and +modular forms.") + (license license:gpl2+))) (define-public ratpoints (package diff --git a/gnu/packages/search.scm b/gnu/packages/search.scm index 2d652f5789..84c4af68a3 100644 --- a/gnu/packages/search.scm +++ b/gnu/packages/search.scm @@ -330,7 +330,7 @@ for parsing HTML files.") (define-public fsearch (package (name "fsearch") - (version "0.1.4") + (version "0.2.2") (source (origin (method git-fetch) @@ -339,7 +339,7 @@ for parsing HTML files.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1lc6fhz4zhjbs29xn53v97dqrxwmqaplhky8sm9776ws6fyifwd7")))) + (base32 "126sg0fa96vxwinih120riqhj42jlxs2h1bp373r6ml7jwkvlyyn")))) (build-system meson-build-system) (native-inputs (list autoconf @@ -350,7 +350,7 @@ for parsing HTML files.") libtool pkg-config)) (inputs - (list gtk+ icu4c pcre)) + (list gtk+ icu4c pcre2)) (home-page "https://github.com/cboxdoerfer/fsearch") (synopsis "Fast file search utility") (description @@ -506,14 +506,14 @@ conflict with slocate compatibility.") (define-public plocate (package (name "plocate") - (version "1.1.15") + (version "1.1.16") (source (origin (method url-fetch) (uri (string-append "https://plocate.sesse.net/download/" "plocate-" version ".tar.gz")) (sha256 - (base32 "0l7igd81acsha5l5mv2rv7n9j1bc4f6ys4hfvs3ii0cbv9a5k1fi")))) + (base32 "0ccn785yi069dgwp4j3g23zvvivzsf5chadbdr357qphkmpxy125")))) (build-system meson-build-system) (arguments `(#:configure-flags diff --git a/gnu/packages/security-token.scm b/gnu/packages/security-token.scm index ef7085d35e..2db387b0aa 100644 --- a/gnu/packages/security-token.scm +++ b/gnu/packages/security-token.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014, 2021 Ludovic Courtès <ludo@gnu.org> -;;; Copyright © 2016, 2021 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2016, 2021, 2022 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 Mike Gerwitz <mtg@gnu.org> ;;; Copyright © 2016 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be> @@ -891,15 +891,15 @@ phone is required.") (define-public libfido2 (package (name "libfido2") - (version "1.9.0") + (version "1.11.0") (source (origin (method git-fetch) (uri (git-reference - (url "git://github.com/Yubico/libfido2") + (url "https://github.com/Yubico/libfido2") (commit version))) (file-name (git-file-name name version)) - (sha256 (base32 "12zy4cnlcffcb64lsx8198y09j1dwi0bcn9rr82q6i1k950yzd3p")))) + (sha256 (base32 "1nk4irmdg36930lgc892qmlmd4whz4fq37wknkdx5ap57i5x18i6")))) (native-inputs (list pkg-config)) (inputs (list eudev libcbor openssl zlib)) (build-system cmake-build-system) diff --git a/gnu/packages/selinux.scm b/gnu/packages/selinux.scm index 0000bc7bc9..b4f074b695 100644 --- a/gnu/packages/selinux.scm +++ b/gnu/packages/selinux.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> -;;; Copyright © 2019, 2020 Marius Bakke <mbakke@fastmail.com> +;;; Copyright © 2019, 2020, 2022 Marius Bakke <marius@gnu.org> ;;; Copyright © 2021 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net> ;;; @@ -23,6 +23,7 @@ (define-module (gnu packages selinux) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) + #:use-module (guix gexp) #:use-module (guix download) #:use-module (guix git-download) #:use-module (guix utils) @@ -49,41 +50,42 @@ (define-public libsepol (package (name "libsepol") - (version "3.2") + (version "3.4") (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/SELinuxProject/selinux") - (commit version))) + (url "https://github.com/SELinuxProject/selinux") + (commit version))) (file-name (git-file-name "selinux" version)) (sha256 (base32 - "03p3lmvrvkcvsmiczsjzhyfgxlxdkdyq0p8igv3s3hdak5n92jjn")))) + "1lcmgmfr0q7g5cwg6b7jm6ncw8cw6c1jblkm93v1g37bfhcgrqc0")))) (build-system gnu-build-system) (arguments - `(#:tests? #f ; tests require checkpolicy, which requires libsepol - #:test-target "test" - #:make-flags - (let ((out (assoc-ref %outputs "out"))) - (list (string-append "PREFIX=" out) - (string-append "SHLIBDIR=" out "/lib") - (string-append "MAN3DIR=" out "/share/man/man3") - (string-append "MAN5DIR=" out "/share/man/man5") - (string-append "MAN8DIR=" out "/share/man/man8") - (string-append "CFLAGS=-Wno-error") - (string-append "LDFLAGS=-Wl,-rpath=" out "/lib") - (string-append "CC=" ,(cc-for-target)))) - #:phases - (modify-phases %standard-phases - (delete 'configure) - (add-after 'unpack 'enter-dir - (lambda _ (chdir ,name))) - (add-after 'enter-dir 'portability - (lambda _ - (substitute* "src/ibpkeys.c" - (("#include \"ibpkey_internal.h\"" line) - (string-append line "\n#include <inttypes.h>\n")) - (("%#lx") "%#\" PRIx64 \""))))))) + (list + #:tests? #f ; tests require checkpolicy, which requires libsepol + #:test-target "test" + #:make-flags + #~(let ((out #$output)) + (list (string-append "PREFIX=" out) + (string-append "SHLIBDIR=" out "/lib") + (string-append "MAN3DIR=" out "/share/man/man3") + (string-append "MAN5DIR=" out "/share/man/man5") + (string-append "MAN8DIR=" out "/share/man/man8") + (string-append "CFLAGS=-Wno-error") + (string-append "LDFLAGS=-Wl,-rpath=" out "/lib") + (string-append "CC=" #$(cc-for-target)))) + #:phases + #~(modify-phases %standard-phases + (delete 'configure) + (add-after 'unpack 'enter-dir + (lambda _ (chdir #$name))) + (add-after 'enter-dir 'portability + (lambda _ + (substitute* "src/ibpkeys.c" + (("#include \"ibpkey_internal.h\"" line) + (string-append line "\n#include <inttypes.h>\n")) + (("%#lx") "%#\" PRIx64 \""))))))) (native-inputs (list flex)) (home-page "https://selinuxproject.org/") @@ -100,25 +102,24 @@ boolean settings).") (package/inherit libsepol (name "checkpolicy") (arguments - `(#:tests? #f ; there is no check target - #:make-flags - (let ((out (assoc-ref %outputs "out"))) - (list (string-append "PREFIX=" out) - (string-append "LIBSEPOLA=" - (assoc-ref %build-inputs "libsepol") - "/lib/libsepol.a") - (string-append "CC=" ,(cc-for-target)))) - #:phases - (modify-phases %standard-phases - (delete 'configure) - (delete 'portability) - (add-after 'unpack 'enter-dir - (lambda _ (chdir ,name)))))) + (list + #:tests? #f ; there is no check target + #:make-flags + #~(list (string-append "PREFIX=" #$output) + (string-append "LIBSEPOLA=" + (search-input-file %build-inputs + "/lib/libsepol.a")) + (string-append "CC=" #$(cc-for-target))) + #:phases + #~(modify-phases %standard-phases + (delete 'configure) + (delete 'portability) + (add-after 'unpack 'enter-dir + (lambda _ (chdir #$name)))))) (inputs - `(("libsepol" ,libsepol))) + (list libsepol)) (native-inputs - `(("bison" ,bison) - ("flex" ,flex))) + (list bison flex)) (synopsis "Check SELinux security policy configurations and modules") (description "This package provides the tools \"checkpolicy\" and \"checkmodule\". @@ -136,44 +137,42 @@ module into a binary representation.") (arguments (substitute-keyword-arguments (package-arguments libsepol) ((#:make-flags flags) - `(cons* "PYTHON=python3" - (string-append "LIBSEPOLA=" - (assoc-ref %build-inputs "libsepol") - "/lib/libsepol.a") - (string-append "PYTHONLIBDIR=" - (assoc-ref %outputs "python") - "/lib/python" - ,(version-major+minor (package-version python)) - "/site-packages/") - ,flags)) + #~(cons* "PYTHON=python3" + (string-append "LIBSEPOLA=" + (search-input-file %build-inputs + "/lib/libsepol.a")) + (string-append "PYTHONLIBDIR=" + #$output:python + "/lib/python" + #$(version-major+minor (package-version python)) + "/site-packages/") + #$flags)) ((#:phases phases) - `(modify-phases ,phases - (delete 'portability) - (replace 'enter-dir - (lambda _ (chdir ,name))) - (add-after 'build 'pywrap - (lambda* (#:key make-flags #:allow-other-keys) - (apply invoke "make" "pywrap" make-flags))) - (add-after 'install 'install-pywrap - (lambda* (#:key make-flags outputs #:allow-other-keys) - ;; The build system uses "python setup.py install" to install - ;; Python bindings. Instruct it to use the correct output. - (substitute* "src/Makefile" - (("--prefix=\\$\\(PREFIX\\)") - (string-append "--prefix=" (assoc-ref outputs "python")))) + #~(modify-phases #$phases + (delete 'portability) + (replace 'enter-dir + (lambda _ (chdir #$name))) + (add-after 'build 'pywrap + (lambda* (#:key make-flags #:allow-other-keys) + (apply invoke "make" "pywrap" make-flags))) + (add-after 'install 'install-pywrap + (lambda* (#:key make-flags #:allow-other-keys) + ;; The build system uses "python setup.py install" to install + ;; Python bindings. Instruct it to use the correct output. + (substitute* "src/Makefile" + (("--prefix=\\$\\(PREFIX\\)") + (string-append "--prefix=" #$output:python))) - (apply invoke "make" "install-pywrap" make-flags))))))) + (apply invoke "make" "install-pywrap" make-flags))))))) ;; These libraries are in "Requires.private" in libselinux.pc. (propagated-inputs - `(("libsepol" ,libsepol) - ("pcre" ,pcre))) + (list libsepol pcre2)) ;; For pywrap phase (inputs - `(("python" ,python-wrapper))) + (list python-wrapper)) ;; These inputs are only needed for the pywrap phase. (native-inputs - `(("swig" ,swig) - ("pkg-config" ,pkg-config))) + (list pkg-config swig)) (synopsis "SELinux core libraries and utilities") (description "The libselinux library provides an API for SELinux applications to get @@ -189,41 +188,33 @@ the core SELinux management utilities.") (arguments (substitute-keyword-arguments (package-arguments libsepol) ((#:make-flags flags) - `(cons* "PYTHON=python3" - (string-append "PYTHONLIBDIR=" - (assoc-ref %outputs "out") - "/lib/python" - ,(version-major+minor (package-version python)) - "/site-packages/") - ,flags)) + #~(cons* "PYTHON=python3" + (string-append "PYTHONLIBDIR=" + #$output + "/lib/python" + #$(version-major+minor (package-version python)) + "/site-packages/") + #$flags)) ((#:phases phases) - `(modify-phases ,phases - (delete 'portability) - (replace 'enter-dir - (lambda _ (chdir ,name))) - (add-before 'install 'adjust-semanage-conf-location - (lambda _ - (substitute* "src/Makefile" - (("DEFAULT_SEMANAGE_CONF_LOCATION=/etc") - "DEFAULT_SEMANAGE_CONF_LOCATION=$(PREFIX)/etc")))) - (add-after 'build 'pywrap - (lambda* (#:key make-flags #:allow-other-keys) - (apply invoke "make" "pywrap" make-flags))) - (add-after 'install 'install-pywrap - (lambda* (#:key make-flags #:allow-other-keys) - (apply invoke "make" "install-pywrap" make-flags))))))) + #~(modify-phases #$phases + (delete 'portability) + (replace 'enter-dir + (lambda _ (chdir #$name))) + (add-before 'install 'adjust-semanage-conf-location + (lambda _ + (substitute* "src/Makefile" + (("DEFAULT_SEMANAGE_CONF_LOCATION=/etc") + "DEFAULT_SEMANAGE_CONF_LOCATION=$(PREFIX)/etc")))) + (add-after 'build 'pywrap + (lambda* (#:key make-flags #:allow-other-keys) + (apply invoke "make" "pywrap" make-flags))) + (add-after 'install 'install-pywrap + (lambda* (#:key make-flags #:allow-other-keys) + (apply invoke "make" "install-pywrap" make-flags))))))) (inputs - `(("libsepol" ,libsepol) - ("libselinux" ,libselinux) - ("audit" ,audit) - ;; For pywrap phase - ("python" ,python-wrapper))) + (list audit libsepol libselinux python-wrapper)) (native-inputs - `(("bison" ,bison) - ("flex" ,flex) - ;; For pywrap phase - ("swig" ,swig) - ("pkg-config" ,pkg-config))) + (list bison flex pkg-config swig)) (synopsis "SELinux policy management libraries") (description "The libsemanage library provides an API for the manipulation of SELinux @@ -236,22 +227,22 @@ binary policies.") (arguments (substitute-keyword-arguments (package-arguments libsepol) ((#:make-flags flags) - `(let ((docbook (assoc-ref %build-inputs "docbook-xsl"))) - (cons (string-append "XMLTO=xmlto --skip-validation -x " - docbook "/xml/xsl/docbook-xsl-" - ,(package-version docbook-xsl) - "/manpages/docbook.xsl") - ,flags))) + #~(let ((xsl (search-input-directory %build-inputs "xml/xsl"))) + (cons (string-append "XMLTO=xmlto --skip-validation -x " + xsl "/docbook-xsl-" + #$(package-version + (this-package-native-input "docbook-xsl")) + "/manpages/docbook.xsl") + #$flags))) ((#:phases phases) - `(modify-phases ,phases - (delete 'portability) - (replace 'enter-dir - (lambda _ (chdir ,name))))))) + #~(modify-phases #$phases + (delete 'portability) + (replace 'enter-dir + (lambda _ (chdir #$name))))))) (inputs - `(("libsepol" ,libsepol))) + (list libsepol)) (native-inputs - `(("xmlto" ,xmlto) - ("docbook-xsl" ,docbook-xsl))) + (list xmlto docbook-xsl)) (synopsis "SELinux common intermediate language (CIL) compiler") (description "The SELinux CIL compiler is a compiler that converts the @dfn{common intermediate language} (CIL) into a kernel binary policy file.") @@ -261,39 +252,41 @@ binary policies.") (package/inherit libsepol (name "python-sepolgen") (arguments - `(#:modules ((srfi srfi-1) - (guix build gnu-build-system) - (guix build utils)) - ,@(substitute-keyword-arguments (package-arguments libsepol) - ((#:phases phases) - `(modify-phases ,phases - (delete 'portability) - (replace 'enter-dir - (lambda _ (chdir "python/sepolgen"))) - ;; By default all Python files would be installed to - ;; $out/gnu/store/...-python-.../, so we override the - ;; PACKAGEDIR to fix this. - (add-after 'enter-dir 'fix-target-path - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((get-python-version - ;; FIXME: copied from python-build-system - (lambda (python) - (let* ((version (last (string-split python #\-))) - (components (string-split version #\.)) - (major+minor (take components 2))) - (string-join major+minor "."))))) - (substitute* "src/sepolgen/Makefile" - (("^PACKAGEDIR.*") - (string-append "PACKAGEDIR=" - (assoc-ref outputs "out") - "/lib/python" - (get-python-version - (assoc-ref inputs "python")) - "/site-packages/sepolgen"))) - (substitute* "src/share/Makefile" - (("\\$\\(DESTDIR\\)") (assoc-ref outputs "out"))))))))))) + (substitute-keyword-arguments (package-arguments libsepol) + ((#:modules _ #~%gnu-build-system-modules) + '((srfi srfi-1) + (guix build gnu-build-system) + (guix build utils))) + ((#:phases phases) + #~(modify-phases #$phases + (delete 'portability) + (replace 'enter-dir + (lambda _ (chdir "python/sepolgen"))) + ;; By default all Python files would be installed to + ;; $out/gnu/store/...-python-.../, so we override the + ;; PACKAGEDIR to fix this. + (add-after 'enter-dir 'fix-target-path + (lambda* (#:key inputs #:allow-other-keys) + (let ((get-python-version + ;; FIXME: copied from python-build-system + (lambda (python) + (let* ((version (last (string-split python #\-))) + (components (string-split version #\.)) + (major+minor (take components 2))) + (string-join major+minor ".")))) + (python (dirname (dirname (search-input-file + inputs "bin/python3"))))) + (substitute* "src/sepolgen/Makefile" + (("^PACKAGEDIR.*") + (string-append "PACKAGEDIR=" + #$output + "/lib/python" + (get-python-version python) + "/site-packages/sepolgen"))) + (substitute* "src/share/Makefile" + (("\\$\\(DESTDIR\\)") #$output))))))))) (inputs - `(("python" ,python-wrapper))) + (list python-wrapper)) (native-inputs '()) (synopsis "Python module for generating SELinux policies") (description @@ -361,51 +354,52 @@ tools, and libraries designed to facilitate SELinux policy analysis.") (package/inherit libsepol (name "policycoreutils") (arguments - `(#:test-target "test" - #:make-flags - (let ((out (assoc-ref %outputs "out"))) - (list (string-append "CC=" ,(cc-for-target)) - (string-append "PREFIX=" out) - (string-append "LOCALEDIR=" out "/share/locale") - (string-append "BASHCOMPLETIONDIR=" out - "/share/bash-completion/completions") - "INSTALL=install -c -p" - "INSTALL_DIR=install -d" - ;; These ones are needed because some Makefiles define the - ;; directories relative to DESTDIR, not relative to PREFIX. - (string-append "SBINDIR=" out "/sbin") - (string-append "ETCDIR=" out "/etc") - (string-append "SYSCONFDIR=" out "/etc/sysconfig") - (string-append "MAN5DIR=" out "/share/man/man5") - (string-append "INSTALL_NLS_DIR=" out "/share/locale") - (string-append "AUTOSTARTDIR=" out "/etc/xdg/autostart") - (string-append "DBUSSERVICEDIR=" out "/share/dbus-1/services") - (string-append "SYSTEMDDIR=" out "/lib/systemd") - (string-append "INITDIR=" out "/etc/rc.d/init.d") - (string-append "SELINUXDIR=" out "/etc/selinux"))) - #:phases - (modify-phases %standard-phases - (delete 'configure) - (add-after 'unpack 'enter-dir - (lambda _ (chdir ,name))) - (add-after 'enter-dir 'ignore-/usr-tests - (lambda* (#:key inputs #:allow-other-keys) - ;; Rewrite lookup paths for header files. - (substitute* '("newrole/Makefile" - "setfiles/Makefile" - "run_init/Makefile") - (("/usr(/include/security/pam_appl.h)" _ file) - (search-input-file inputs file)) - (("/usr(/include/libaudit.h)" _ file) - (search-input-file inputs file)))))))) + (list + #:test-target "test" + #:make-flags + #~(let ((out #$output)) + (list (string-append "CC=" #$(cc-for-target)) + (string-append "PREFIX=" out) + (string-append "LOCALEDIR=" out "/share/locale") + (string-append "BASHCOMPLETIONDIR=" out + "/share/bash-completion/completions") + "INSTALL=install -c -p" + "INSTALL_DIR=install -d" + ;; These ones are needed because some Makefiles define the + ;; directories relative to DESTDIR, not relative to PREFIX. + (string-append "SBINDIR=" out "/sbin") + (string-append "ETCDIR=" out "/etc") + (string-append "SYSCONFDIR=" out "/etc/sysconfig") + (string-append "MAN5DIR=" out "/share/man/man5") + (string-append "INSTALL_NLS_DIR=" out "/share/locale") + (string-append "AUTOSTARTDIR=" out "/etc/xdg/autostart") + (string-append "DBUSSERVICEDIR=" out "/share/dbus-1/services") + (string-append "SYSTEMDDIR=" out "/lib/systemd") + (string-append "INITDIR=" out "/etc/rc.d/init.d") + (string-append "SELINUXDIR=" out "/etc/selinux"))) + #:phases + #~(modify-phases %standard-phases + (delete 'configure) + (add-after 'unpack 'enter-dir + (lambda _ (chdir #$name))) + (add-after 'enter-dir 'ignore-/usr-tests + (lambda* (#:key inputs #:allow-other-keys) + ;; Rewrite lookup paths for header files. + (substitute* '("newrole/Makefile" + "setfiles/Makefile" + "run_init/Makefile") + (("/usr(/include/security/pam_appl.h)" _ file) + (search-input-file inputs file)) + (("/usr(/include/libaudit.h)" _ file) + (search-input-file inputs file)))))))) (inputs - `(("audit" ,audit) - ("pam" ,linux-pam) - ("libsepol" ,libsepol) - ("libselinux" ,libselinux) - ("libsemanage" ,libsemanage))) + (list audit + linux-pam + libsepol + libselinux + libsemanage)) (native-inputs - `(("gettext" ,gettext-minimal))) + (list gettext-minimal)) (synopsis "SELinux core utilities") (description "The policycoreutils package contains the core utilities that are required for the basic operation of an SELinux-enabled GNU system and its diff --git a/gnu/packages/shells.scm b/gnu/packages/shells.scm index 1a5f8fca9f..4d0dd92007 100644 --- a/gnu/packages/shells.scm +++ b/gnu/packages/shells.scm @@ -119,7 +119,7 @@ direct descendant of NetBSD's Almquist Shell (@command{ash}).") (define-public fish (package (name "fish") - (version "3.3.1") + (version "3.5.1") (source (origin (method url-fetch) @@ -127,7 +127,7 @@ direct descendant of NetBSD's Almquist Shell (@command{ash}).") "releases/download/" version "/" "fish-" version ".tar.xz")) (sha256 - (base32 "12dfkyqv5vm52i1fifz91h8f8xg60xjvv94kx6xjqxk9a8dfxd5m")) + (base32 "0a39vf0wqq6asw5xcrwgdsc67h5bxkgxzy77f8bx6pd4qlympm56")) (modules '((guix build utils))) (snippet '(begin @@ -540,13 +540,14 @@ ksh, and tcsh.") (define-public xonsh (package (name "xonsh") - (version "0.13.0") + (version "0.13.1") (source (origin (method url-fetch) (uri (pypi-uri "xonsh" version)) (sha256 - (base32 "12ayz1kw2ag3r407j0lng2kfp75im8xqap1nvpmpa0lmsx8wk7ll")) + (base32 + "1b409wkh41inn6m0qmps4iq6bgvwg465dcfcbffqd15fr1j2d0hq")) (modules '((guix build utils))) (snippet #~(begin @@ -848,7 +849,7 @@ Shell (pdksh).") (define-public oil (package (name "oil") - (version "0.12.0") + (version "0.12.4") (source ;; oil's sources contain a modified version of CPython 2.7.13. ;; According to https://www.oilshell.org/blog/2017/05/05.html @@ -861,7 +862,7 @@ Shell (pdksh).") (uri (string-append "https://www.oilshell.org/download/oil-" version ".tar.gz")) (sha256 - (base32 "1sz5xb88773ass6ip5yxmnby9p6h0bz1d02n6n0cna3hdzqn7bpv")))) + (base32 "1ck59fs2mkid4d9fss6kplvv0aiimsr9m3gv75ckivb376sd8pmc")))) (build-system gnu-build-system) (arguments (list #:strip-binaries? #f ; strip breaks the binary diff --git a/gnu/packages/syncthing.scm b/gnu/packages/syncthing.scm index 717a953f2f..15ce6a8e29 100644 --- a/gnu/packages/syncthing.scm +++ b/gnu/packages/syncthing.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2016 Petter <petter@mykolab.ch> ;;; Copyright © 2016, 2017, 2018, 2019, 2020, 2021 Leo Famulari <leo@famulari.name> ;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr> -;;; Copyright © 2020, 2021 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2020-2022 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2020 Giacomo Leidi <goodoldpaul@autistici.org> ;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2021 Arun Isaac <arunisaac@systemreboot.net> @@ -27,6 +27,7 @@ #:use-module (guix build-system go) #:use-module (guix build-system python) #:use-module (guix build-system trivial) + #:use-module (guix gexp) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix git-download) @@ -1111,7 +1112,7 @@ and RFC 5389).") (define-public go-github-com-cespare-xxhash (package (name "go-github-com-cespare-xxhash") - (version "2.1.0") + (version "2.1.2") (source (origin (method git-fetch) (uri (git-reference @@ -1120,10 +1121,19 @@ and RFC 5389).") (file-name (git-file-name name version)) (sha256 (base32 - "12ad3z7ki9j07c4kx3ywkl6188i2afsjg7sl60wd21p6zkkpfjxq")))) + "1f3wyr9msnnz94szrkmnfps9wm40s5sp9i4ak0kl92zcrkmpy29a")))) (build-system go-build-system) (arguments - '(#:import-path "github.com/cespare/xxhash")) + (list + #:import-path "github.com/cespare/xxhash" + #:phases + #~(modify-phases %standard-phases + (replace 'check + (lambda* (#:key inputs #:allow-other-keys #:rest args) + (unless + ;; The tests fail when run with gccgo. + (false-if-exception (search-input-file inputs "/bin/gccgo")) + (apply (assoc-ref %standard-phases 'check) args))))))) (synopsis "Go implementation of xxHash") (description "This package provides of Go implementation of the 64-bit xxHash algorithm (XXH64).") diff --git a/gnu/packages/telegram.scm b/gnu/packages/telegram.scm index 873ff6246b..4976acbc0c 100644 --- a/gnu/packages/telegram.scm +++ b/gnu/packages/telegram.scm @@ -572,7 +572,7 @@ Telegram project, for its use in telegram desktop client.") ("qtwayland" ,qtwayland) ("range-v3" ,range-v3) ("rlottie" ,rlottie-for-telegram-desktop) - ("rnnoise" ,xiph-rnnoise) + ("rnnoise" ,rnnoise) ("tgcalls-source" ,(origin (method git-fetch) diff --git a/gnu/packages/telephony.scm b/gnu/packages/telephony.scm index 14c7087125..0c12341771 100644 --- a/gnu/packages/telephony.scm +++ b/gnu/packages/telephony.scm @@ -650,7 +650,7 @@ address of one of the participants.") speech-dispatcher speex ; avoid bundled speexdsp ; avoid bundled - ;; xiph-rnnoise ; TODO: unbundle rnnoise + ;; rnnoise ; TODO: unbundle rnnoise )) (native-inputs (list pkg-config python qttools-5)) diff --git a/gnu/packages/terminals.scm b/gnu/packages/terminals.scm index 1b08ec4979..7f9764fa75 100644 --- a/gnu/packages/terminals.scm +++ b/gnu/packages/terminals.scm @@ -31,6 +31,7 @@ ;;; Copyright © 2021 Solene Rapenne <solene@perso.pw> ;;; Copyright © 2021 Petr Hodina <phodina@protonmail.com> ;;; Copyright © 2022 Felipe Balbi <balbi@kernel.org> +;;; Copyright © 2022 ( <paren@disroot.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -1303,60 +1304,7 @@ while also supporting native scrolling and @command{tmux} control mode (license license:asl2.0))) (define-public wterm - (package - (name "wterm") - (version "0.7") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/majestrate/wterm") - (commit "0ae42717c08a85a6509214e881422c7fbe7ecc45"))) - (sha256 - (base32 - "0g4lzmc1w6na81i6hny32xds4xfig4xzswzfijyi6p93a1226dv0")) - (file-name (git-file-name name version)))) - (build-system gnu-build-system) - (native-inputs - (list pkg-config)) - (inputs - `(("fontconfig" ,fontconfig) - ("freetype" ,freetype) - ("libdrm" ,libdrm) - ("libxkbcommon" ,libxkbcommon) - ("ncurses" ,ncurses) - ("pixman" ,pixman) - ("wayland" ,wayland))) - (arguments - '(#:tests? #f - - ;; Without -j1 it fails to find file libwld.a. - #:parallel-build? #f - - #:make-flags (list "CC=gcc" - (string-append "PREFIX=" %output) - (string-append "TERMINFO=" - (assoc-ref %outputs "out") - "/share/terminfo")) - #:phases - (modify-phases %standard-phases - (delete 'configure) - (add-after 'unpack 'terminfo-fix - (lambda _ - (substitute* "Makefile" - (("\ttic .*") "\tmkdir -p $(SHARE_PREFIX)/share/terminfo -\ttic -o $(SHARE_PREFIX)/share/terminfo -s wterm.info\n")) - #t))))) - (native-search-paths - (list (search-path-specification - (variable "TERMINFO_DIRS") - (files '("share/terminfo"))))) - (home-page "https://github.com/majestrate/wterm") - (synopsis "Terminal emulator for Wayland") - (description "wterm is a native Wayland terminal emulator based on -an st fork using wld. st is a simple terminal emulator for X originally -made by suckless.") - (license license:x11))) + (deprecated-package "wterm" foot)) (define-public tio (package diff --git a/gnu/packages/text-editors.scm b/gnu/packages/text-editors.scm index 485661fe6b..839f812733 100644 --- a/gnu/packages/text-editors.scm +++ b/gnu/packages/text-editors.scm @@ -899,14 +899,14 @@ Octave. TeXmacs is completely extensible via Guile.") (define-public scintilla (package (name "scintilla") - (version "5.2.1") + (version "5.2.4") (source (origin (method url-fetch) (uri (let ((v (apply string-append (string-split version #\.)))) (string-append "https://www.scintilla.org/scintilla" v ".tgz"))) (sha256 - (base32 "1q6z8v2anbdwcxqfqjs0mwl2z4cdzarj0hqxj86fvvdxsr25649r")))) + (base32 "0rncbac9r9ahkxgmv7faj4dms4wy0ik2axmb0lp1ffx4r6419vsa")))) (build-system gnu-build-system) (arguments (list diff --git a/gnu/packages/tor.scm b/gnu/packages/tor.scm index a6a1f4edfb..36ad5e765a 100644 --- a/gnu/packages/tor.scm +++ b/gnu/packages/tor.scm @@ -12,6 +12,7 @@ ;;; Copyright © 2020 André Batista <nandre@riseup.net> ;;; Copyright © 2021-2022 Danial Behzadi <dani.behzi@ubuntu.com> ;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com> +;;; Copyright © 2022 Jim Newsome <jnewsome@torproject.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -60,14 +61,14 @@ (define-public tor (package (name "tor") - (version "0.4.7.9") + (version "0.4.7.10") (source (origin (method url-fetch) (uri (string-append "https://dist.torproject.org/tor-" version ".tar.gz")) (sha256 (base32 - "08lva4jrash1fhq8vim56alria5kfganmp3y3lhddx08h9cki7fk")))) + "0nss8g6hx42nqiir6l03dj15r433fvygq9r00nmnv8wylpgmczk4")))) (build-system gnu-build-system) (arguments (list #:configure-flags @@ -160,31 +161,35 @@ This package only provides a client to the Tor Network."))) (define-public torsocks (package (name "torsocks") - (version "2.3.0") - (source (origin - (method url-fetch) - (uri (string-append "https://people.torproject.org/~dgoulet/" - "torsocks/torsocks-" version ".tar.xz")) - (sha256 - (base32 - "08inrkap29gikb6sdmb58z43hw4abwrfw7ny40c4xzdkss0vkwdr")))) + (version "2.4.0") + (source + (origin + (method url-fetch) + (uri (string-append + "https://gitlab.torproject.org/tpo/core/torsocks/-/archive/v" + version "/torsocks-v" version ".tar.bz2")) + (sha256 + (base32 + "1a7k3njdhp7dz603knhisna1zvxw35j3g213p6dvczv9bcjy7cjl")))) (build-system gnu-build-system) (inputs (list libcap)) + (native-inputs + (list autoconf automake libtool)) (arguments - `(#:phases (modify-phases %standard-phases - (add-after 'build 'absolutize - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "src/bin/torsocks" - (("getcap=.*") - (string-append "getcap=" (which "getcap") "\n"))) - #t))))) + `(#:phases + (modify-phases %standard-phases + (add-after 'build 'absolutize + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "src/bin/torsocks" + (("getcap=.*") + (string-append "getcap=" (which "getcap") "\n")))))))) (home-page "https://www.torproject.org/") - (synopsis "Use socks-friendly applications with Tor") + (synopsis "Transparently route an application's traffic through Tor.") (description - "Torsocks allows you to use most socks-friendly applications in a safe -way with Tor. It ensures that DNS requests are handled safely and explicitly -rejects UDP traffic from the application you're using.") + "Torsocks allows you to use most applications in a safe way with Tor. It +ensures that DNS requests are handled safely and explicitly rejects UDP +traffic from the application you're using.") ;; All the files explicitly say "version 2 only". (license license:gpl2))) diff --git a/gnu/packages/upnp.scm b/gnu/packages/upnp.scm index 5718235109..ba2eb5b416 100644 --- a/gnu/packages/upnp.scm +++ b/gnu/packages/upnp.scm @@ -96,14 +96,14 @@ over IRC, instant messaging, network games, and most server software.") (define-public libupnp (package (name "libupnp") - (version "1.14.12") + (version "1.14.13") (source (origin (method url-fetch) (uri (string-append "https://github.com/pupnp/pupnp/releases/download" "/release-" version "/libupnp-" version".tar.bz2")) (sha256 - (base32 "1b5mnn01cx840paggxrajg63gqzmw8mi4p14jhi9r4qyvam80709")))) + (base32 "0klag10gwrr6yx41v72w1jmyz87wzj1qpdcwv45qzjn53bp7lp82")))) (native-inputs (list pkg-config)) (build-system gnu-build-system) diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index 9bf5ac76df..277ea2835b 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -221,14 +221,14 @@ Python 3.3 and later, rather than on Python 2.") (define-public git (package (name "git") - (version "2.37.1") + (version "2.37.2") (source (origin (method url-fetch) (uri (string-append "mirror://kernel.org/software/scm/git/git-" version ".tar.xz")) (sha256 (base32 - "001m3gnal902hv22gp1m44c6247357pb80db0svms74gidmjq5n8")))) + "00xhdm086bxm4v2p8m7ra7vf9kwdppw4l2n3vakfff253j19qg8w")))) (build-system gnu-build-system) (native-inputs `(("native-perl" ,perl) @@ -248,7 +248,7 @@ Python 3.3 and later, rather than on Python 2.") version ".tar.xz")) (sha256 (base32 - "098yz8kzvzmmrkyiv8j79s5nryws302pnq6jcbrqbidrziwcxkjd")))) + "1zhn91fzyyz890a5hm0bvs0vnhy8c81q1fhsk2gfwbbh73z161nz")))) ;; For subtree documentation. ("asciidoc" ,asciidoc) ("docbook-xsl" ,docbook-xsl) @@ -1657,7 +1657,7 @@ visualize your public Git repositories on a web interface.") (define-public pre-commit (package (name "pre-commit") - (version "2.19.0") + (version "2.20.0") (source (origin (method git-fetch) ; no tests in PyPI release @@ -1666,7 +1666,7 @@ visualize your public Git repositories on a web interface.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "102z1n6wjrmk5h4p59l929bi0r91bl3vz62j4k6sz2j7k0a791g5")))) + (base32 "19jcg6nfnscp87h4wmbpw6r3lc8c75zkvb6wqgavq5dh7wkyg6pq")))) (build-system python-build-system) (arguments `(#:phases diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 05b43eb44f..1e2bbd221a 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -143,6 +143,7 @@ #:use-module (gnu packages gnupg) #:use-module (gnu packages gstreamer) #:use-module (gnu packages gtk) + #:use-module (gnu packages haskell-xyz) #:use-module (gnu packages image) #:use-module (gnu packages imagemagick) #:use-module (gnu packages iso-codes) @@ -162,6 +163,7 @@ #:use-module (gnu packages networking) #:use-module (gnu packages ocr) #:use-module (gnu packages pcre) + #:use-module (gnu packages pciutils) #:use-module (gnu packages perl) #:use-module (gnu packages perl-check) #:use-module (gnu packages perl-web) @@ -773,7 +775,7 @@ old-fashioned output methods with powerful ascii-art renderer.") (define-public celluloid (package (name "celluloid") - (version "0.23") + (version "0.24") (source (origin (method url-fetch) @@ -781,12 +783,12 @@ old-fashioned output methods with powerful ascii-art renderer.") "/releases/download/v" version "/celluloid-" version ".tar.xz")) (sha256 - (base32 "0x23y09jwkg8wbb0yp5f03sj5hwjg3kyhbbww2y1a0izs1iijbdj")))) + (base32 "0ns9xh582c8kajw4v2x5ap5jfiba3gxywqc2klc0v6fc3id1gqii")))) (build-system glib-or-gtk-build-system) (native-inputs (list intltool pkg-config)) (inputs - (list gtk libepoxy mpv)) + (list gtk libadwaita libepoxy mpv)) (home-page "https://github.com/celluloid-player/celluloid") (synopsis "GTK+ frontend for the mpv media player") (description "Celluloid is a simple GTK+ frontend for the mpv media player. @@ -2483,26 +2485,16 @@ YouTube.com and many more sites.") (define-public yt-dlp (package/inherit youtube-dl (name "yt-dlp") - (version "2022.07.18") - (source (origin - (method url-fetch) - (uri (string-append "https://github.com/yt-dlp/yt-dlp/" - "releases/download/" - version "/yt-dlp.tar.gz")) - (sha256 - (base32 - "1wmzfqhysx1mqdba4ikvm6nbahasihi4xgqwqad20y3vs701slyj")) - (snippet - #~(begin - ;; Delete the pre-generated files, except for the man page - ;; which requires 'pandoc' to build. - (for-each delete-file - (list "yt-dlp" - ;;pandoc is needed to generate - ;;"yt-dlp.1" - "completions/bash/yt-dlp" - "completions/fish/yt-dlp.fish" - "completions/zsh/_yt-dlp")))))) + (version "2022.08.08") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/yt-dlp/yt-dlp/") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "07qz1zdndlpki0asw35zk5hdjcwpl3n1g54nxg4yb1iykbyv7rll")))) (arguments (substitute-keyword-arguments (package-arguments youtube-dl) ((#:tests? _) #t) @@ -2515,9 +2507,17 @@ YouTube.com and many more sites.") (("\\.get_param\\('ffmpeg_location'\\)" match) (format #f "~a or '~a'" match (which "ffmpeg")))))) (replace 'build-generated-files - (lambda _ - ;; Avoid the yt-dlp.1 target, which requires pandoc. - (invoke "make" "PYTHON=python" "yt-dlp" "completions"))) + (lambda* (#:key inputs #:allow-other-keys) + (if (assoc-ref inputs "pandoc") + (invoke "make" + "PYTHON=python" + "yt-dlp" + "yt-dlp.1" + "completions") + (invoke "make" + "PYTHON=python" + "yt-dlp" + "completions")))) (replace 'fix-the-data-directories (lambda* (#:key outputs #:allow-other-keys) (let ((prefix (assoc-ref outputs "out"))) @@ -2537,8 +2537,14 @@ YouTube.com and many more sites.") python-mutagen python-pycryptodomex python-websockets))) - (native-inputs (modify-inputs (package-native-inputs youtube-dl) - (append python-pytest))) + (native-inputs + (append + ;; To generate the manpage. + (if (member (%current-system) + (package-transitive-supported-systems pandoc)) + (list pandoc) + '()) + (list python-pytest zip))) (description "yt-dlp is a small command-line program to download videos from YouTube.com and many more sites. It is a fork of youtube-dl with a @@ -3147,7 +3153,7 @@ from sites like Twitch.tv and pipes them into a video player of choice.") (define-public mlt (package (name "mlt") - (version "7.6.0") + (version "7.8.0") (source (origin (method git-fetch) @@ -3156,7 +3162,7 @@ from sites like Twitch.tv and pipes them into a video player of choice.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1dj7jb5nk0qy28mlw0pcmj4nd607mgx229nhf14gjc0fq9gx71sd")))) + (base32 "01589xpx1vgx1l1zjg553nbjks5wy31rdvyq1sjnbp9w7p7nzjdg")))) (build-system cmake-build-system) (arguments (list @@ -3312,7 +3318,7 @@ be used for realtime video capture via Linux-specific APIs.") (define-public obs (package (name "obs") - (version "27.1.3") + (version "27.2.4") (source (origin (method git-fetch) (uri (git-reference @@ -3322,7 +3328,7 @@ be used for realtime video capture via Linux-specific APIs.") (file-name (git-file-name name version)) (sha256 (base32 - "1ndiarr3d6qihymaigf34jjml0lrgbj640fnpnffz2ysj7276q0j")) + "13bfzjqmvabli99yr1h0306w5lx72mbl5sxrnr46hjig1a6rw91s")) (patches (search-patches "obs-modules-location.patch")))) (build-system cmake-build-system) @@ -3330,10 +3336,10 @@ be used for realtime video capture via Linux-specific APIs.") (list #:configure-flags #~(list (string-append "-DOBS_VERSION_OVERRIDE=" #$version) - "-DENABLE_UNIT_TESTS=TRUE" + "-DENABLE_UNIT_TESTS=ON" ;; Browser plugin requires cef, but it is not packaged yet. ;; <https://bitbucket.org/chromiumembedded/cef/src/master/> - "-DBUILD_BROWSER=FALSE") + "-DBUILD_BROWSER=OFF") #:phases #~(modify-phases %standard-phases (add-after 'install 'wrap-executable @@ -3351,10 +3357,11 @@ be used for realtime video capture via Linux-specific APIs.") (separator #f) ;single entry (files '("share/obs/obs-plugins"))))) (native-inputs - (list cmocka pkg-config)) + (list cmocka pkg-config swig)) (inputs (list alsa-lib + bash-minimal curl eudev ffmpeg @@ -3365,10 +3372,14 @@ be used for realtime video capture via Linux-specific APIs.") jansson libx264 libxcomposite + libxkbcommon + luajit mbedtls-apache mesa + pciutils pipewire-0.3 pulseaudio + python qtbase-5 qtsvg-5 qtx11extras @@ -4801,7 +4812,7 @@ transitions, and effects and then export your film to many common formats.") (define-public shotcut (package (name "shotcut") - (version "22.04.25") + (version "22.06.23") (source (origin (method git-fetch) @@ -4810,7 +4821,7 @@ transitions, and effects and then export your film to many common formats.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0ccbx2crqrnhl19d7267xc40vs0cjmps2cnhi1g1l6bqxbi7k88x")))) + (base32 "1kvhcblzjdjiv3jggdx41djq9pz6a9hg4ilgcwin13gb19ir7dcc")))) (build-system qt-build-system) (arguments `(#:tests? #f ;there are no tests @@ -4827,14 +4838,6 @@ transitions, and effects and then export your film to many common formats.") (substitute* "src/jobs/meltjob.cpp" (("\"melt\"") (string-append "\"" mlt "/bin/melt\"")) (("\"melt-7\"") (string-append "\"" mlt "/bin/melt-7\"")))))) - (replace 'configure - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out"))) - (invoke "qmake" - (string-append "PREFIX=" out) - "QMAKE_LRELEASE=lrelease" - "QMAKE_LUPDATE=lupdate" - "shotcut.pro")))) (add-after 'install 'wrap-executable (lambda* (#:key inputs outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) @@ -4859,6 +4862,7 @@ transitions, and effects and then export your film to many common formats.") (inputs (list bash-minimal ffmpeg + fftw frei0r-plugins jack-1 ladspa diff --git a/gnu/packages/vim.scm b/gnu/packages/vim.scm index 945c7f3863..a07c681cb3 100644 --- a/gnu/packages/vim.scm +++ b/gnu/packages/vim.scm @@ -77,7 +77,7 @@ (define-public vim (package (name "vim") - (version "9.0.0000") + (version "9.0.0235") (source (origin (method git-fetch) (uri (git-reference @@ -86,7 +86,7 @@ (file-name (git-file-name name version)) (sha256 (base32 - "0zzhpkcx0gi2hngwvp0w8c4f289fzxvdc4955spkb9f1f3119pwb")))) + "1fshlggcq1fw4cbsgmagwxkmdiwv2cla0vds383z49ayqgqnamnj")))) (build-system gnu-build-system) (arguments `(#:test-target "test" @@ -659,7 +659,7 @@ are detected, the user is notified."))) (define-public neovim (package (name "neovim") - (version "0.7.0") + (version "0.7.2") (source (origin (method git-fetch) (uri (git-reference @@ -668,7 +668,7 @@ are detected, the user is notified."))) (file-name (git-file-name name version)) (sha256 (base32 - "1m7xmry66pn27gvk7qj9di83xa1h7zjp4c6ygnf218pqhr08x06g")))) + "1jn4i4ral79ys06i50bimylm515sfh41z503gj50a74h1ylg0z4w")))) (build-system cmake-build-system) (arguments (list #:modules diff --git a/gnu/packages/vpn.scm b/gnu/packages/vpn.scm index c4e0287bf8..1ec619b0c2 100644 --- a/gnu/packages/vpn.scm +++ b/gnu/packages/vpn.scm @@ -4,7 +4,7 @@ ;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2015 Jeff Mickey <j@codemac.net> ;;; Copyright © 2016, 2017, 2019, 2021, 2022 Efraim Flashner <efraim@flashner.co.il> -;;; Copyright © 2016–2021 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2016–2022 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017 Julien Lepiller <julien@lepiller.eu> ;;; Copyright © 2018, 2020 Pierre Langlois <pierre.langlois@gmx.com> ;;; Copyright © 2018 Meiyo Peng <meiyo.peng@gmail.com> @@ -794,7 +794,7 @@ this process. It is compatible with Fortinet VPNs.") (define-public openvpn (package (name "openvpn") - (version "2.5.6") + (version "2.5.7") (source (origin (method url-fetch) (uri (string-append @@ -802,7 +802,7 @@ this process. It is compatible with Fortinet VPNs.") version ".tar.gz")) (sha256 (base32 - "0gdd88rcan9vfiwkzsqn6fxxdim7kb1bsxrcra59c5xksprpwfik")))) + "0s1yq530j4i4kicgvsxgl532vyn03gfhlxfdnsb43j05k4w0ld08")))) (build-system gnu-build-system) (arguments '(#:configure-flags '("--enable-iproute2=yes"))) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 8b41477014..49afdbd54a 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -109,6 +109,7 @@ #:use-module (gnu packages boost) #:use-module (gnu packages check) #:use-module (gnu packages compression) + #:use-module (gnu packages cpp) #:use-module (gnu packages crates-gtk) #:use-module (gnu packages crates-io) #:use-module (gnu packages curl) @@ -1996,6 +1997,8 @@ communication asynchronously. Memory copies and transformations are kept to a minimum to provide high performance operation.") ;; Most of the code is covered by the Apache License, Version 2.0, but the ;; bundled CuTest framework uses a different non-copyleft license. + (properties + '((release-monitoring-url . "https://serf.apache.org/download"))) (license (list license:asl2.0 (license:non-copyleft "file://test/CuTest-README.txt"))))) (define-public libsass @@ -3101,7 +3104,7 @@ RSS 0.91, RSS 1.0, RSS 2.0, Atom.") (define-public perl-file-listing (package (name "perl-file-listing") - (version "6.11") + (version "6.15") (source (origin (method url-fetch) (uri (string-append @@ -3109,7 +3112,7 @@ RSS 0.91, RSS 1.0, RSS 2.0, Atom.") version ".tar.gz")) (sha256 (base32 - "0vmzw1mhv580flzkla80gvwfpficnhlbqr1dnlf9x50bw7n18k62")))) + "033p2ckkjbxrl390x8aq4wq4fpj5aidsazkbw82mhqxrksgzpi26")))) (build-system perl-build-system) (propagated-inputs (list perl-http-date)) @@ -3435,7 +3438,7 @@ jar in conformance with RFC 6265 <http://tools.ietf.org/html/rfc6265>.") (define-public perl-http-cookies (package (name "perl-http-cookies") - (version "6.06") + (version "6.10") (source (origin (method url-fetch) (uri (string-append @@ -3443,7 +3446,7 @@ jar in conformance with RFC 6265 <http://tools.ietf.org/html/rfc6265>.") version ".tar.gz")) (sha256 (base32 - "13rnz3233vbsfariya4njiyfaj6k94j6bvlyh3dmfmh24hpqgx77")))) + "01vhppq18g6ppn3z9mvdfghfzibwg1sczzvnp3jbbrjw7iikcvz3")))) (build-system perl-build-system) (propagated-inputs (list perl-http-message)) @@ -3795,7 +3798,7 @@ select or poll.") (define-public perl-libwww (package (name "perl-libwww") - (version "6.55") + (version "6.67") (source (origin (method url-fetch) (uri (string-append @@ -3803,7 +3806,7 @@ select or poll.") version ".tar.gz")) (sha256 (base32 - "0869hn711d6fd6yil8p88wij6p1zdrbnycy7p9p176q39ajd7l61")))) + "08xp4q90nkvpwnks2qfqjhqgff6447myayqi6kc1panh7w5c9vln")))) (build-system perl-build-system) (native-inputs (list perl-test-fatal perl-test-needs perl-test-requiresinternet)) @@ -4024,7 +4027,7 @@ is limited to http and https.") (define-public perl-net-http (package (name "perl-net-http") - (version "6.21") + (version "6.22") (source (origin (method url-fetch) (uri (string-append @@ -4032,7 +4035,7 @@ is limited to http and https.") "Net-HTTP-" version ".tar.gz")) (sha256 (base32 - "1i7fk6q1iaxzgf82mjd5hg77hvy7dbb79488cijg16dyfrds6nip")))) + "18m1b1274wmsl3cdfwg27pm7s1fgrrlhwy4gw4zl8da2p2jzkyk2")))) (build-system perl-build-system) (propagated-inputs (list perl-io-socket-ssl perl-uri)) @@ -5736,14 +5739,14 @@ on the fly.") "$(ps -p $HITCH_PID -o state= | grep -qv '^Z$')")) #t))))) (native-inputs - `(("pkg-config" ,pkg-config) + (list pkg-config - ;; For tests. - ("curl" ,curl) - ("egrep" ,grep) - ("lsof" ,lsof) - ("procps" ,procps) - ("python" ,python))) + ;; For tests. + curl + grep + lsof + procps + python)) (inputs (list libev openssl)) (synopsis "Scalable TLS proxy") @@ -5843,13 +5846,13 @@ deployments.") (package (name "varnish") (home-page "https://varnish-cache.org/") - (version "7.0.1") + (version "7.1.1") (source (origin (method url-fetch) (uri (string-append home-page "_downloads/varnish-" version ".tgz")) (sha256 (base32 - "0q265fzarz5530g8lasvfpgks8z1kq1yh7rn88bn2qfly3pmpry4")))) + "14512fjjzwini3fics6sib9y83s45vlrpncamixqmmg7j0jvxbrc")))) (build-system gnu-build-system) (arguments `(#:configure-flags (list (string-append "LDFLAGS=-Wl,-rpath=" %output "/lib") @@ -5910,6 +5913,8 @@ deployments.") reverse proxy and load balancer. You install it in front of any server that speaks HTTP and configure it to cache the contents through an extensive configuration language.") + (properties + '((release-monitoring-url . "https://varnish-cache.org/releases/index.html"))) (license (list license:bsd-2 ;main distribution license:zlib ;lib/libvgz/* license:public-domain ;bin/varnishncsa/as64.c, include/miniobj.h @@ -7952,7 +7957,7 @@ concurrency, and return status.") (define-public libzim (package (name "libzim") - (version "6.3.2") + (version "8.0.0") (source (origin (method git-fetch) (uri (git-reference @@ -7960,19 +7965,19 @@ concurrency, and return status.") (commit version))) (sha256 (base32 - "00kc4qc0a69jh1jwk5xhi567b7ffpc3p38ffrf2xaax4hvpjwmn6")) + "1a7wj8kmpx5aqx0wsfcnaqlfsf1gr66iqxyn24cgjnk4d1rjsahm")) (file-name (git-file-name name version)))) (build-system meson-build-system) (arguments ;; TODO: Find out why tests fail. '(#:tests? #f)) (inputs - `(("icu4c" ,icu4c) - ("liblzma" ,xz) - ("libuuid" ,util-linux "lib") - ("python" ,python-wrapper) ;for libzim-compile-resources - ("xapian" ,xapian) - ("zstd" ,zstd "lib"))) + (list icu4c + python-wrapper ; for libzim-compile-resources + xapian + xz + (list util-linux "lib") + (list zstd "lib"))) (native-inputs (list pkg-config googletest)) (home-page "https://wiki.openzim.org/wiki/Main_Page") @@ -7986,7 +7991,7 @@ for ZIM files.") (define-public kiwix-lib (package (name "kiwix-lib") - (version "9.4.1") + (version "11.0.0") (home-page "https://github.com/kiwix/kiwix-lib/") (source (origin (method git-fetch) @@ -7995,7 +8000,7 @@ for ZIM files.") (commit version))) (sha256 (base32 - "034nk6l623v78clrs2d0k1vg69sbzrd8c0q79qiqmlkinck1nkxw")) + "1w5dabzvd3cnhw064qf9166476fszkkxjcml21x35av0dcd1vlk6")) (file-name (git-file-name name version)))) (build-system meson-build-system) (arguments @@ -8003,13 +8008,11 @@ for ZIM files.") (modify-phases %standard-phases (add-before 'configure 'fix-paths-and-includes (lambda* (#:key inputs #:allow-other-keys) - (setenv "CPPFLAGS" (string-append "-I" (assoc-ref inputs "mustache"))) (substitute* "src/aria2.cpp" (("ARIA2_CMD \"aria2c\"") (string-append "ARIA2_CMD \"" - (assoc-ref inputs "aria2") - "/bin/aria2c\""))) - #t))))) + (search-input-file inputs "/bin/aria2c") + "\"")))))))) (inputs (list aria2 curl @@ -8021,19 +8024,10 @@ for ZIM files.") zlib `(,zstd "lib"))) (native-inputs - `(("mustache" ,(origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/kainjow/Mustache") - ;; XXX: Readme says to use version 3. Can we use 3.2.1? - (commit "v4.1"))) - (file-name (git-file-name "mustache" "4.1")) - (sha256 - (base32 - "0r9rbk6v1wpld2ismfsk2lkhbyv3dkf0p03hkjivbj05qkfhvlbb")))) - ("pkg-config" ,pkg-config) - ;; for kiwix-compile-resources - ("python" ,python-wrapper))) + (list cpp-mustache + pkg-config + ;; for kiwix-compile-resources + python-wrapper)) (synopsis "Common code base for all Kiwix ports") (description "The Kiwix library provides the Kiwix software suite core. It contains the code shared by all Kiwix ports.") @@ -8042,7 +8036,7 @@ It contains the code shared by all Kiwix ports.") (define-public kiwix-desktop (package (name "kiwix-desktop") - (version "2.0.5") + (version "2.2.2") (source (origin (method url-fetch) (uri (string-append @@ -8051,7 +8045,7 @@ It contains the code shared by all Kiwix ports.") ".tar.gz")) (sha256 (base32 - "1a9h4qmh6fkfscyp6lax0ri07dvvzw2wp4kr1sm86n0bdk3cwwha")))) + "0ani12d91azcwwys499848ws7rx0m7c23nalcm5fanjak76bg6n6")))) (build-system gnu-build-system) (arguments `(#:phases @@ -8061,30 +8055,17 @@ It contains the code shared by all Kiwix ports.") (invoke "qmake" (string-append "PREFIX=" (assoc-ref outputs "out"))))) - (add-before 'configure 'enable-print-support - (lambda _ - (substitute* "kiwix-desktop.pro" - (("webenginewidgets") "webenginewidgets printsupport")) - #t)) - (add-before 'configure 'substitute-source - ;; Looks like .pro file is missing a feature. - ;; See https://github.com/kiwix/kiwix-desktop/issues/556. - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "kiwix-desktop.pro" - (("webenginewidgets" all) (string-append all " printsupport"))) - #t)) (add-after 'install 'wrap-qt-process-path (lambda* (#:key inputs outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) (bin (string-append out "/bin/kiwix-desktop")) - (qt-process-path (string-append - (assoc-ref inputs "qtwebengine-5") - "/lib/qt5/libexec/QtWebEngineProcess"))) + (qt-process-path (search-input-file + inputs "/lib/qt5/libexec/QtWebEngineProcess"))) (wrap-program bin - `("QTWEBENGINEPROCESS_PATH" = (,qt-process-path))) - #t)))))) + `("QTWEBENGINEPROCESS_PATH" = (,qt-process-path))))))))) (inputs - (list curl + (list bash-minimal + curl icu4c kiwix-lib libmicrohttpd @@ -8098,8 +8079,8 @@ It contains the code shared by all Kiwix ports.") zlib `(,zstd "lib"))) (native-inputs - `(("pkg-config" ,pkg-config) - ("qmake" ,qtbase-5))) + (list pkg-config + qtbase-5)) (home-page "https://wiki.kiwix.org/wiki/Software") (synopsis "Viewer and manager of ZIM files") (description "Kiwix Desktop allows you to enjoy a lot of different content @@ -8109,14 +8090,14 @@ offline (such as Wikipedia), without any access to Internet.") (define-public kiwix-tools (package (name "kiwix-tools") - (version "3.1.2") + (version "3.3.0") (source (origin (method url-fetch) (uri (string-append "https://download.kiwix.org/release/" "kiwix-tools/kiwix-tools-" version ".tar.xz")) (sha256 (base32 - "1npf9ddhpkmx97gxmvmwmi8a69md8kh2szimd9rpg6ggd4big03a")))) + "07mj0lrznydhdbirybdyxswypr7hy290mjdv7lkjr6gxgdp29d37")))) (build-system meson-build-system) (inputs (list curl diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm index f4dcbf742e..7ea6840689 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -1931,8 +1931,8 @@ productive, customizable lisp based systems.") (delete 'cleanup))))))) (define stumpwm-contrib - (let ((commit "a7dc1c663d04e6c73a4772c8a6ad56a34381096a") - (revision "3")) + (let ((commit "d0c05077eca5257d33083de949c10bca4aac4242") + (revision "4")) (package (name "stumpwm-contrib") (version (git-version "0.0.1" revision commit)) ;no upstream release @@ -1944,13 +1944,13 @@ productive, customizable lisp based systems.") (commit commit))) (file-name (git-file-name name version)) (sha256 - (base32 "09akdaaya7lga5lzbq1aj1filsyjwvflghkidpmr0nk0jz5xx1g7")))) + (base32 "0zxhqh9wjfk7zas67kmwfx0a47y8rxmh8f1a5rcs300bv1083lkb")))) (build-system asdf-build-system/sbcl) (inputs `(("stumpwm" ,stumpwm "lib"))) (home-page "https://github.com/stumpwm/stumpwm-contrib") - (synopsis "StumpWM interactive shell") - (description "This package provides a StumpWM interactive shell.") + (synopsis "StumpWM extra modules") + (description "This package provides extra modules for StumpWM.") (license (list license:gpl2+ license:gpl3+ license:bsd-2))))) (define-public stumpish diff --git a/gnu/packages/xfce.scm b/gnu/packages/xfce.scm index 12c490f622..bcf255864f 100644 --- a/gnu/packages/xfce.scm +++ b/gnu/packages/xfce.scm @@ -7,7 +7,7 @@ ;;; Copyright © 2017, 2019 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2017 Petter <petter@mykolab.ch> ;;; Copyright © 2017 Nikita <nikita@n0.is> -;;; Copyright © 2018–2021 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2018–2022 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2019 Pkill -9 <pkill9@runbox.com> ;;; Copyright © 2019 L p R n d n <guix@lprndn.info> ;;; Copyright © 2019 Ingo Ruhnke <grumbel@gmail.com> @@ -218,7 +218,7 @@ to share commonly used Xfce widgets among the Xfce applications.") (define-public catfish (package (name "catfish") - (version "4.16.3") + (version "4.16.4") (source (origin (method url-fetch) (uri (string-append "https://archive.xfce.org/src/apps/" @@ -226,7 +226,7 @@ to share commonly used Xfce widgets among the Xfce applications.") "/catfish-" version ".tar.bz2")) (sha256 (base32 - "1nng7mklrfihgppyxldpssdscl1dzb5z6hyx10akk089s5i9mag9")))) + "1z5m9f4cj473n68rrhhbkq3x5df5k394qp4n27lqqyny6k2h2p3f")))) (build-system python-build-system) (arguments '(#:phases @@ -270,7 +270,7 @@ it to your needs by using several command line options.") (define-public elementary-xfce-icon-theme (package (name "elementary-xfce-icon-theme") - (version "0.16") + (version "0.17") (source (origin (method git-fetch) (uri @@ -280,7 +280,7 @@ it to your needs by using several command line options.") (file-name (git-file-name name version)) (sha256 (base32 - "1s8g7qyjdlq93fbrgysahy5kcbd8b2cpnfmpdvl0vbzyhy2x18d7")))) + "0jlawp6rg55w5cm4d7836r660i2pnc5gkzpdjsq7w5875i85arzm")))) (build-system gnu-build-system) (arguments '(#:tests? #f ; no check target @@ -359,7 +359,7 @@ merging features essential for loading menus modified with menu editors.") (define-public tumbler (package (name "tumbler") - (version "4.16.0") + (version "4.16.1") (source (origin (method url-fetch) (uri (string-append "https://archive.xfce.org/src/xfce/" @@ -367,7 +367,7 @@ merging features essential for loading menus modified with menu editors.") "tumbler-" version ".tar.bz2")) (sha256 (base32 - "0rmga1l7da0pjrs6jlyq1nfn513r543v7cchshrif1341knpy2wv")))) + "0gi77675gi1bbhrrg0p60dy06clf24xa0hz2jb74hnzk2gxbyaw5")))) (build-system gnu-build-system) (native-inputs (list pkg-config intltool @@ -397,7 +397,7 @@ management D-Bus specification.") (define-public xfce4-panel (package (name "xfce4-panel") - (version "4.16.4") + (version "4.16.5") (source (origin (method url-fetch) (uri (string-append "https://archive.xfce.org/src/xfce/" @@ -405,7 +405,7 @@ management D-Bus specification.") name "-" version ".tar.bz2")) (sha256 (base32 - "116dr516dvcgnccc55p0ks5dgc1s7v9rvb66lkdl8lk53al53bqz")) + "0c42qy76wqa1mr2rk8ka2vwj6k8w2bn7dp00zq67dkvnpki96rh9")) (patches (search-patches "xfce4-panel-plugins.patch")))) (build-system gnu-build-system) (arguments @@ -737,7 +737,7 @@ like appearance, display, keyboard and mouse settings.") (define-public thunar (package (name "thunar") - (version "4.16.10") ;stable version = even minor + (version "4.16.11") ;stable version = even minor (source (origin (method url-fetch) (uri (string-append "https://archive.xfce.org/src/xfce/" @@ -745,7 +745,7 @@ like appearance, display, keyboard and mouse settings.") "thunar-" version ".tar.bz2")) (sha256 (base32 - "14lwi4ax0wj77980kkfhdf18b97339b17y8qc8gl2365mgswh1gi")))) + "06wa58dy9z28j7l4a2l7j052sa3h6vfpvxd440cy7qz5na8dwzgl")))) (build-system gnu-build-system) (native-inputs (list pkg-config intltool)) @@ -826,7 +826,7 @@ on the screen.") (define-public xfdesktop (package (name "xfdesktop") - (version "4.16.0") + (version "4.16.1") (source (origin (method url-fetch) (uri (string-append "https://archive.xfce.org/src/xfce/" @@ -834,7 +834,7 @@ on the screen.") "xfdesktop-" version ".tar.bz2")) (sha256 (base32 - "1bjv2mpkv7zmpzssbvvzh0x4pn8cqm8dvhgsv5i1xwngzspsajwk")) + "04dxljc74zlkz7h8wjj3hx9300r202a4d2hj8agfjmdf100cn7g3")) (modules '((guix build utils))) (snippet #~(begin @@ -955,7 +955,7 @@ features playback of local media files, DVD/CD and live streams.") (define-public xfce4-terminal (package (name "xfce4-terminal") - (version "1.0.3") + (version "1.0.4") (source (origin (method url-fetch) (uri (string-append "https://archive.xfce.org/src/apps/" name "/" @@ -963,7 +963,7 @@ features playback of local media files, DVD/CD and live streams.") name "-" version ".tar.bz2")) (sha256 (base32 - "1vgmgz38q5902m4prbww4zy5j8n10pyq5ni3f46z7fpzxp9acs8w")))) + "1x5saijxykxmn2hksf4qvaj965b6i0wy62z9hgrc2vvwmxbmkrbq")))) (build-system gnu-build-system) (native-inputs (list pkg-config intltool)) @@ -1348,7 +1348,7 @@ of data to either CD/DVD/BD.") (define-public xfce4-screenshooter (package (name "xfce4-screenshooter") - (version "1.9.10") + (version "1.9.11") (source (origin (method url-fetch) (uri (string-append "https://archive.xfce.org/src/apps/" @@ -1358,7 +1358,7 @@ of data to either CD/DVD/BD.") version ".tar.bz2")) (sha256 (base32 - "1mwjhakbjv9g6ffn6c55cbrfsrqhb2apwhmffvz8rfgm4y2igd04")))) + "1d7qyc2w4962crmkz5n0mma2qmyp9hhq455karyzacjbb6z0cgg7")))) (build-system gnu-build-system) (native-inputs (list pkg-config intltool @@ -1504,7 +1504,7 @@ watch your every step.") (define-public xfce4-equake-plugin (package (name "xfce4-equake-plugin") - (version "1.3.8") + (version "1.3.8.1") (source (origin (method url-fetch) (uri (string-append "https://archive.xfce.org/src/panel-plugins/" @@ -1513,7 +1513,7 @@ watch your every step.") "/xfce4-equake-plugin-" version ".tar.bz2")) (sha256 (base32 - "09b9k0n5xm115k44x74w4ad0xqklilyfh0hglsps7zj97pd7a5a3")))) + "073lxks7fb0bwgsp5rfwa310b9vd5jz6y5q8aa69kgfi0kbczygg")))) (build-system gnu-build-system) (native-inputs (list intltool pkg-config)) diff --git a/gnu/packages/xiph.scm b/gnu/packages/xiph.scm index aa513d76b0..dffad299e9 100644 --- a/gnu/packages/xiph.scm +++ b/gnu/packages/xiph.scm @@ -499,7 +499,7 @@ icecast server. It handles the socket connection, the timing of the data, and prevents bad data from getting to the icecast server.") (license license:gpl2+))) -(define-public xiph-rnnoise +(define-public rnnoise ;; No upstream release (let ((commit "7f449bf8bd3b933891d12c30112268c4090e4d59") (revision "0")) @@ -517,17 +517,11 @@ and prevents bad data from getting to the icecast server.") "0y8jdvxd9namw4f9hcmcmm2q0f32mnhfyjap8906hl308cws3rkj")))) (build-system gnu-build-system) (native-inputs - `(("autoconf" ,autoconf) - ("automake" ,automake) - ("libtool" ,libtool))) + (list autoconf automake libtool)) (home-page "https://gitlab.xiph.org/xiph/rnnoise") (synopsis "Real-time noise suppression") (description "RNNoise is a noise suppression library based on a recurrent neural network. The algorithm is described in Jean-Marc Valin's paper @cite{A Hybrid DSP/Deep Learning Approach to Real-Time Full-Band Speech Enhancement}.") - (license license:bsd-3) - (properties - ;; There's no public release and a conflicting package, so hide it for - ;; now. - `((hidden? . #t)))))) + (license license:bsd-3)))) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index ea89d87fe0..ed06cb3925 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -450,16 +450,14 @@ Resources file.") (define-public encodings (package (name "encodings") - (version "1.0.5") + (version "1.0.6") (source (origin (method url-fetch) - (uri (string-append - "mirror://xorg/individual/font/encodings-" - version - ".tar.bz2")) + (uri (string-append "mirror://xorg/individual/font/encodings-" + version ".tar.xz")) (sha256 - (base32 "0caafx0yqqnqyvbalxhh3mb0r9v36xmcy5zjhygb2i508dhy35mx")))) + (base32 "09pwhj8arm9hx0819m1yykaw9n77lxavaq4gn4iacd8zcvg03qvp")))) (build-system gnu-build-system) (inputs (list mkfontscale)) @@ -825,16 +823,14 @@ For example: @code{6x10}, @code{9x15bold}, etc.") (define-public font-util (package (name "font-util") - (version "1.3.2") + (version "1.3.3") (source (origin (method url-fetch) - (uri (string-append - "mirror://xorg/individual/font/font-util-" - version - ".tar.bz2")) + (uri (string-append "mirror://xorg/individual/font/font-util-" + version ".tar.xz")) (sha256 - (base32 "10i2a8b3d1h3w7klsqf31iz7zbd6l8wglil54fkhdb1385281n1s")))) + (base32 "1lpb5qd2drilql4wl644m682hvmv67hdbbisnrm0ah4wfy8ci4g7")))) (build-system gnu-build-system) (native-inputs (list pkg-config)) (home-page "https://www.x.org/wiki/") diff --git a/gnu/services/base.scm b/gnu/services/base.scm index 27eae75c46..bb11732de2 100644 --- a/gnu/services/base.scm +++ b/gnu/services/base.scm @@ -2918,17 +2918,6 @@ to handle." "user = " default-session-user "\n" "command = " default-session-command "\n"))) -(define %greetd-accounts - (list (user-account - (name "greeter") - (group "greeter") - ;; video group is required for graphical greeters. - (supplementary-groups '("video")) - (system? #t)) - (user-group - (name "greeter") - (system? #t)))) - (define %greetd-file-systems (list (file-system (device "none") @@ -2956,7 +2945,16 @@ to handle." greetd-configuration? (motd greetd-motd (default %default-motd)) (allow-empty-passwords? greetd-allow-empty-passwords? (default #t)) - (terminals greetd-terminals (default '()))) + (terminals greetd-terminals (default '())) + (greeter-supplementary-groups greetd-greeter-supplementary-groups (default '()))) + +(define (greetd-accounts config) + (list (user-group (name "greeter") (system? #t)) + (user-account + (name "greeter") + (group "greeter") + (supplementary-groups (greetd-greeter-supplementary-groups config)) + (system? #t)))) (define (make-greetd-pam-mount-conf-file config) (computed-file @@ -3033,7 +3031,7 @@ mount/unmount /run/user/<uid> directory for user and @code{greetd} login manager daemon.") (extensions (list - (service-extension account-service-type (const %greetd-accounts)) + (service-extension account-service-type greetd-accounts) (service-extension file-system-service-type (const %greetd-file-systems)) (service-extension etc-service-type greetd-etc-service) (service-extension pam-root-service-type greetd-pam-service) diff --git a/gnu/services/configuration.scm b/gnu/services/configuration.scm index 3007e8de35..83da63c1b3 100644 --- a/gnu/services/configuration.scm +++ b/gnu/services/configuration.scm @@ -57,6 +57,9 @@ serialize-configuration define-maybe define-maybe/no-serialization + %unset-value + maybe-value + maybe-value-set? generate-documentation configuration->documentation empty-serializer @@ -142,7 +145,8 @@ does not have a default value" field kind))) (id #'stem #'serialize-maybe- #'stem)))) #`(begin (define (maybe-stem? val) - (or (eq? val 'unset) (stem? val))) + (or (not (maybe-value-set? val)) + (stem? val))) #,@(if serialize? (list #'(define (serialize-maybe-stem field-name val) (if (stem? val) @@ -170,10 +174,10 @@ does not have a default value" field kind))) (values #'(field-type def))) ((field-type) (identifier? #'field-type) - (values #'(field-type 'unset))) + (values #'(field-type %unset-value))) (field-type (identifier? #'field-type) - (values #'(field-type 'unset))))) + (values #'(field-type %unset-value))))) (define (define-configuration-helper serialize? serializer-prefix syn) (syntax-case syn () @@ -260,11 +264,10 @@ does not have a default value" field kind))) (default-value-thunk (lambda () (display '#,(id #'stem #'% #'stem)) - (if (eq? (syntax->datum field-default) - 'unset) + (if (maybe-value-set? (syntax->datum field-default)) + field-default (configuration-missing-default-value - '#,(id #'stem #'% #'stem) 'field) - field-default))) + '#,(id #'stem #'% #'stem) 'field)))) (documentation doc)) ...)))))))) @@ -300,6 +303,29 @@ does not have a default value" field kind))) (define (empty-serializer field-name val) "") (define serialize-package empty-serializer) +;; Ideally this should be an implementation detail, but we export it +;; to provide a simpler API that enables unsetting a configuration +;; field that has a maybe type, but also a default value. We give it +;; a value that sticks out to the reader when something goes wrong. +;; +;; An example use-case would be something like a network application +;; that uses a default port, but the field can explicitly be unset to +;; request a random port at startup. +(define %unset-value '%unset-marker%) + +(define (maybe-value-set? value) + "Predicate to check whether a 'maybe' value was explicitly provided." + (not (eq? %unset-value value))) + +;; Ideally there should be a compiler macro for this predicate, that expands +;; to a conditional that only instantiates the default value when needed. +(define* (maybe-value value #:optional (default #f)) + "Returns VALUE, unless it is the unset value, in which case it returns +DEFAULT." + (if (maybe-value-set? value) + value + default)) + ;; A little helper to make it easier to document all those fields. (define (generate-documentation documentation documentation-name) (define (str x) (object->string x)) diff --git a/gnu/services/desktop.scm b/gnu/services/desktop.scm index f891d1b5cc..f60365abac 100644 --- a/gnu/services/desktop.scm +++ b/gnu/services/desktop.scm @@ -13,7 +13,7 @@ ;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2020 Reza Alizadeh Majd <r.majd@pantherx.org> ;;; Copyright © 2021 Brice Waegeneire <brice@waegenei.re> -;;; Copyright © 2021 muradm <mail@muradm.net> +;;; Copyright © 2021, 2022 muradm <mail@muradm.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -69,6 +69,7 @@ #:use-module (guix records) #:use-module (guix packages) #:use-module (guix store) + #:use-module (guix ui) #:use-module (guix utils) #:use-module (guix gexp) #:use-module (srfi srfi-1) @@ -1643,12 +1644,19 @@ or setting its password with passwd."))) ;;; seatd-service-type -- minimal seat management daemon ;;; +(define (seatd-group-sanitizer group-or-name) + (match group-or-name + ((? user-group? group) group) + ((? string? group-name) (user-group (name group-name) (system? #t))) + (_ (leave (G_ "seatd: '~a' is not a valid group~%") group-or-name)))) + (define-record-type* <seatd-configuration> seatd-configuration make-seatd-configuration seatd-configuration? (seatd seatd-package (default seatd)) - (user seatd-user (default "root")) - (group seatd-group (default "users")) + (group seatd-group ; string | <user-group> + (default "seat") + (sanitize seatd-group-sanitizer)) (socket seatd-socket (default "/run/seatd.sock")) (logfile seatd-logfile (default "/var/log/seatd.log")) (loglevel seatd-loglevel (default "info"))) @@ -1662,8 +1670,7 @@ or setting its password with passwd."))) (provision '(seatd elogind)) (start #~(make-forkexec-constructor (list #$(file-append (seatd-package config) "/bin/seatd") - "-u" #$(seatd-user config) - "-g" #$(seatd-group config)) + "-g" #$(user-group-name (seatd-group config))) #:environment-variables (list (string-append "SEATD_LOGLEVEL=" #$(seatd-loglevel config)) @@ -1672,9 +1679,12 @@ or setting its password with passwd."))) #:log-file #$(seatd-logfile config))) (stop #~(make-kill-destructor))))) +(define seatd-accounts + (match-lambda (($ <seatd-configuration> _ group) (list group)))) + (define seatd-environment (match-lambda - (($ <seatd-configuration> _ _ _ socket) + (($ <seatd-configuration> _ _ socket) `(("SEATD_SOCK" . ,socket))))) (define seatd-service-type @@ -1685,6 +1695,7 @@ to shared devices (graphics, input), without requiring the applications needing access to be root.") (extensions (list + (service-extension account-service-type seatd-accounts) (service-extension session-environment-service-type seatd-environment) ;; TODO: once cgroups is separate dependency we should not mount it here ;; for now it is mounted here, because elogind mounts it diff --git a/gnu/services/file-sharing.scm b/gnu/services/file-sharing.scm index 5df8b0d597..75e99f20b7 100644 --- a/gnu/services/file-sharing.scm +++ b/gnu/services/file-sharing.scm @@ -114,10 +114,7 @@ type generated and used by Transmission clients, suitable for passing to the ;; name-value pair for the JSON builder. (set! serialize-maybe-string (lambda (field-name val) - (serialize-string field-name - (if (eq? val 'unset) - "" - val)))) + (serialize-string field-name (maybe-value val "")))) (define (string-list? val) (and (list? val) @@ -180,9 +177,9 @@ type generated and used by Transmission clients, suitable for passing to the (define-maybe file-object) (set! serialize-maybe-file-object (lambda (field-name val) - (if (eq? val 'unset) - (serialize-string field-name "") - (serialize-file-object field-name val)))) + (if (maybe-value-set? val) + (serialize-file-object field-name val) + (serialize-string field-name "")))) (define (file-object-list? val) (and (list? val) diff --git a/gnu/services/getmail.scm b/gnu/services/getmail.scm index ce124f6b11..0a1c34cfd3 100644 --- a/gnu/services/getmail.scm +++ b/gnu/services/getmail.scm @@ -111,10 +111,10 @@ "The type of mail retriever to use. Valid values include @samp{passwd} and @samp{static}.") (server - (string 'unset) + string "Name or IP address of the server to retrieve mail from.") (username - (string 'unset) + string "Username to login to the mail server with.") (port (non-negative-integer #f) @@ -143,7 +143,7 @@ (define-configuration getmail-destination-configuration (type - (string 'unset) + string "The type of mail destination. Valid values include @samp{Maildir}, @samp{Mboxrd} and @samp{MDA_external}.") (path diff --git a/gnu/services/kerberos.scm b/gnu/services/kerberos.scm index f845c1bd89..c3c7872734 100644 --- a/gnu/services/kerberos.scm +++ b/gnu/services/kerberos.scm @@ -39,6 +39,7 @@ +;; TODO Use %unset-value and the define-maybe infrastructure. (define unset-field (list 'unset-field)) (define (predicate/unset pred) diff --git a/gnu/services/messaging.scm b/gnu/services/messaging.scm index 00a1c80a14..02712ede7c 100644 --- a/gnu/services/messaging.scm +++ b/gnu/services/messaging.scm @@ -90,7 +90,12 @@ ((new-def ...) (map (lambda (def target) (if (eq? 'common (syntax->datum target)) - #''unset def)) + ;; TODO Use the %unset-value variable, or + ;; even better just simplify this so that it + ;; doesn't interfere with + ;; define-configuration and define-maybe + ;; internals. + #''%unset-marker% def)) #'(def ...) #'(target ...))) ((new-doc ...) (map (lambda (doc target) @@ -200,7 +205,7 @@ (define-maybe file-object-list) (define (raw-content? val) - (not (eq? val 'unset))) + (maybe-value-set? val)) (define (serialize-raw-content field-name val) val) (define-maybe raw-content) @@ -474,12 +479,12 @@ by the Prosody service. See @url{https://prosody.im/doc/logging}." global) (http-max-content-size - (maybe-non-negative-integer 'unset) + (maybe-non-negative-integer %unset-value) "Maximum allowed size of the HTTP body (in bytes)." common) (http-external-url - (maybe-string 'unset) + (maybe-string %unset-value) "Some modules expose their own URL in various ways. This URL is built from the protocol, host and port used. If Prosody sits behind a proxy, the public URL will be @code{http-external-url} instead. See @@ -556,7 +561,7 @@ support. To add an external component, you simply fill the hostname field. See int-component) (mod-muc - (maybe-mod-muc-configuration 'unset) + (maybe-mod-muc-configuration %unset-value) "Multi-user chat (MUC) is Prosody's module for allowing you to create hosted chatrooms/conferences for XMPP users. @@ -573,7 +578,7 @@ See also @url{https://prosody.im/doc/modules/mod_muc}." ext-component) (raw-content - (maybe-raw-content 'unset) + (maybe-raw-content %unset-value) "Raw content that will be added to the configuration file." common))) diff --git a/gnu/services/networking.scm b/gnu/services/networking.scm index 3c6395b6ca..9d85728371 100644 --- a/gnu/services/networking.scm +++ b/gnu/services/networking.scm @@ -772,7 +772,7 @@ logging is disabled.") network. A specific port value can be provided by appending the @code{:PORT} suffix. By default, it uses the Jami bootstrap nodes, but any host can be specified here. It's also possible to disable bootstrapping by explicitly -setting this field to the @code{'unset} value.") +setting this field to @code{%unset-value}.") (port (maybe-number 4222) "The UDP port to bind to. When left unspecified, an available port is diff --git a/gnu/services/telephony.scm b/gnu/services/telephony.scm index 7152f3b38d..3d855221e5 100644 --- a/gnu/services/telephony.scm +++ b/gnu/services/telephony.scm @@ -307,7 +307,7 @@ CONFIG, a <jami-configuration> object." (dbus (jami-configuration-dbus config)) (dbus-daemon (file-append dbus "/bin/dbus-daemon")) (accounts (jami-configuration-accounts config)) - (declarative-mode? (not (eq? 'unset accounts)))) + (declarative-mode? (maybe-value-set? accounts))) (with-extensions (list guile-packrat ;used by guile-ac-d-bus guile-ac-d-bus @@ -649,7 +649,7 @@ argument, either a registered username or the fingerprint of the account.") account-details) (let ((username (archive-name->username archive))) - (when (not (eq? 'unset allowed-contacts)) + (when (not (eq? '#$%unset-value allowed-contacts)) ;; Reject calls from unknown contacts. (set-account-details '(("DHT.PublicInCalls" . "false")) username) @@ -659,7 +659,7 @@ argument, either a registered username or the fingerprint of the account.") ;; Add allowed ones. (for-each (cut add-contact <> username) allowed-contacts)) - (when (not (eq? 'unset moderators)) + (when (not (eq? '#$%unset-value moderators)) ;; Disable the 'AllModerators' property. (set-all-moderators #f username) ;; Remove all moderators. diff --git a/gnu/tests/desktop.scm b/gnu/tests/desktop.scm index 25971f9225..95b33da25e 100644 --- a/gnu/tests/desktop.scm +++ b/gnu/tests/desktop.scm @@ -122,6 +122,7 @@ (service seatd-service-type) (service greetd-service-type (greetd-configuration + (greeter-supplementary-groups '("input" "video")) (terminals (list ;; we can make any terminal active by default @@ -255,6 +256,15 @@ minimal %BASE-SERVICES." (socks (map wait-for-unix-socket-m socks))) (and (= 2 (length socks)) (every identity socks))))) + (test-equal "seatd.sock ownership" + '("root" "seat") + `(,(marionette-eval + '(passwd:name (getpwuid (stat:uid (stat "/run/seatd.sock")))) + marionette) + ,(marionette-eval + '(group:name (getgrgid (stat:gid (stat "/run/seatd.sock")))) + marionette))) + (test-assert "greetd is ready" (begin (marionette-type "ps -C greetd -o pid,args --no-headers > ps-greetd\n" @@ -286,6 +296,13 @@ minimal %BASE-SERVICES." (marionette-type "echo alice > /run/user/1000/test\n" marionette) (file-get-all-strings "/run/user/1000/test"))) + (test-equal "check greeter user has correct groups" + "greeter input video\n" + (begin + (marionette-type "id -Gn greeter > /run/user/1000/greeter-groups\n" + marionette) + (file-get-all-strings "/run/user/1000/greeter-groups"))) + (test-assert "screendump" (begin (marionette-control (string-append "screendump " #$output diff --git a/guix/build-system/gnu.scm b/guix/build-system/gnu.scm index 651415098e..8eea1cd4c2 100644 --- a/guix/build-system/gnu.scm +++ b/guix/build-system/gnu.scm @@ -228,7 +228,7 @@ use `--strip-all' as the arguments to `strip'." (replacement (and=> (package-replacement p) static-package)))) (define* (dist-package p source #:key (phases '%dist-phases)) - "Return a package that runs takes source files from the SOURCE directory, + "Return a package that takes source files from the SOURCE directory, runs `make distcheck' and whose result is one or more source tarballs. The exact build phases are defined by PHASES." (let ((s source)) diff --git a/guix/import/utils.scm b/guix/import/utils.scm index 668b8c8083..7e7d116d1d 100644 --- a/guix/import/utils.scm +++ b/guix/import/utils.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2012, 2013, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2016 Jelle Licht <jlicht@fsfe.org> ;;; Copyright © 2016 David Craven <david@craven.ch> -;;; Copyright © 2017, 2019, 2020 Ricardo Wurmus <rekado@elephly.net> +;;; Copyright © 2017, 2019, 2020, 2022 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com> ;;; Copyright © 2019 Robert Vollmert <rob@vllmrt.net> ;;; Copyright © 2020 Helio Machado <0x2b3bfa0+guix@googlemail.com> @@ -283,6 +283,10 @@ LENGTH characters." (string-append "This package provides" (substring description (string-length "Provides")))) + ((string-prefix? "Implements " description) + (string-append "This package implements" + (substring description + (string-length "Implements")))) ((string-prefix? "Functions " description) (string-append "This package provides functions" (substring description diff --git a/guix/ui.scm b/guix/ui.scm index a7acd41440..dad2b853ac 100644 --- a/guix/ui.scm +++ b/guix/ui.scm @@ -18,6 +18,7 @@ ;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2018 Steve Sprang <scs@stevesprang.com> ;;; Copyright © 2022 Taiju HIGASHI <higashi@taiju.info> +;;; Copyright © 2022 Liliana Marie Prikler <liliana.prikler@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -1511,6 +1512,29 @@ that may return a colorized version of its argument." (sort packages package<?))) " "))) (split-lines list (string-length "dependencies: ")))) + (define (output->recutils package output) + (string-append + "+ " output ": " + (or + (any + (match-lambda + (('output-synopsis key synopsis) + (and (string=? key output) (P_ synopsis))) + (_ #f)) + (package-properties package)) + (assoc-ref `(("bin" . ,(G_ "executable programs and scripts")) + ("debug" . ,(G_ "debug information")) + ("lib" . ,(G_ "shared libraries")) + ("static" . ,(G_ "static libraries")) + ("out" . ,(G_ "everything else"))) + output) + (G_ "see Appendix H")))) + + (define (package-outputs/out-last package) + ((compose append partition) + (negate (cut string=? "out" <>)) + (package-outputs package))) + (define (package<? p1 p2) (string<? (package-full-name p1) (package-full-name p2))) @@ -1522,7 +1546,8 @@ that may return a colorized version of its argument." ;; Note: Don't i18n field names so that people can post-process it. (format port "name: ~a~%" (highlight (package-name p) port*)) (format port "version: ~a~%" (highlight (package-version p) port*)) - (format port "outputs: ~a~%" (string-join (package-outputs p))) + (format port "outputs:~%~{~a~%~}" + (map (cut output->recutils p <>) (package-outputs/out-last p))) (format port "systems: ~a~%" (split-lines (string-join (package-transitive-supported-systems p)) (string-length "systems: "))) diff --git a/po/packages/Makevars b/po/packages/Makevars index 4cdb98d8fe..65912786d8 100644 --- a/po/packages/Makevars +++ b/po/packages/Makevars @@ -10,7 +10,8 @@ top_builddir = ../.. # synopses and descriptions. XGETTEXT_OPTIONS = \ --language=Scheme --from-code=UTF-8 \ - --keyword=synopsis --keyword=description + --keyword=synopsis --keyword=description \ + --keyword=output-synopsis:2 COPYRIGHT_HOLDER = the authors of Guix (msgids) diff --git a/tests/services/configuration.scm b/tests/services/configuration.scm index 649dad26e8..4f8a74dc8a 100644 --- a/tests/services/configuration.scm +++ b/tests/services/configuration.scm @@ -150,7 +150,7 @@ (protocol maybe-symbol "")) ;;; Maybe symbol values are currently seen as serializable, because the -;;; unspecified value is 'unset, which is a symbol itself. +;;; unspecified value is '%unset-marker%, which is a symbol itself. ;;; TODO: Remove expected fail marker after resolution. (test-expect-fail 1) (test-equal "symbol maybe value serialization, unspecified" @@ -169,7 +169,7 @@ (not (defined? 'serialize-maybe-string))) (test-assert "maybe type, no default" - (eq? 'unset + (eq? %unset-value (config-with-maybe-string/no-serialization-name (config-with-maybe-string/no-serialization)))) |