me
/
guix
Archived
1
0
Fork 0

Merge branch 'master' into core-updates

master
Ludovic Courtès 2021-05-15 22:55:24 +02:00
commit 25487c3fe6
No known key found for this signature in database
GPG Key ID: 090B11993D9AEBB5
131 changed files with 178526 additions and 124433 deletions

8
.gitignore vendored
View File

@ -1,6 +1,7 @@
*.eps
*.go
*.log
*.mo
*.pdf
*.png
*.tar.xz
@ -75,7 +76,7 @@
/etc/guix-publish.service
/etc/init.d/guix-daemon
/etc/openrc/guix-daemon
/guix-daemon
/guix-*
/guix/config.scm
/libformat.a
/libstore.a
@ -93,6 +94,7 @@
/nix/config.h
/nix/config.h.in
/po/doc/*.mo
/po/doc/*.pot
/po/guix/*.gmo
/po/guix/*.insert-header
/po/guix/*.mo
@ -128,6 +130,7 @@
/po/packages/remove-potcdate.sin
/po/packages/stamp-po
/pre-inst-env
/release-*
/scripts/guix
/test-env
/test-tmp
@ -145,8 +148,9 @@ stamp-h[0-9]
tmp
/doc/os-config-lightweight-desktop.texi
/nix/scripts/download
/.tarball-version
/.version
/doc/stamp-[0-9]*
/doc/stamp-*
/gnu/packages/bootstrap
/gnu/packages/aux-files/guile-guile-launcher.o
/guile

View File

@ -736,22 +736,22 @@ AM_DISTCHECK_CONFIGURE_FLAGS = \
--enable-daemon \
ac_cv_guix_test_root="$(GUIX_TEST_ROOT)"
# Name of the 'guix' package shipped in the binary tarball.
GUIX_FOR_BINARY_TARBALL = guix
# The self-contained tarball.
guix-binary.%.tar.xz:
$(AM_V_GEN)GUIX_PACKAGE_PATH= \
tarball=`$(top_builddir)/pre-inst-env guix pack -C xz \
--fallback \
-s "$*" --localstatedir --profile-name=current-guix \
$(GUIX_FOR_BINARY_TARBALL)` ; \
guix` ; \
cp "$$tarball" "$@.tmp" ; mv "$@.tmp" "$@"
# The dependency on doc-pot-update is to generate the .pot files, which are
# not checked in.
dist: doc-pot-update
dist-hook: gen-ChangeLog gen-AUTHORS gen-tarball-version
dist-hook: assert-no-store-file-names
dist-hook: doc-po-update
distcheck-hook: assert-binaries-available assert-final-inputs-self-contained
@ -832,21 +832,20 @@ system_flags = $(foreach system,$(1),-s $(system))
# The release process works in several phases:
#
# 0. We assume the developer created a 'vX.Y' tag.
# 0. We assume the developer created a 'vX.Y.Z' tag.
# 1. Build the source tarball.
# 2. Update the 'guix' package so that it corresponds to the 'vX.Y' tag.
# 2. Update the 'guix' package so that it corresponds to the 'vX.Y.Z' tag.
# 3. Build the binary tarballs for that 'guix' package.
# 4. Update the 'guix' package again.
# 5. Build the installation images. The images will run 'guix'
# corresponding to 'vX.Y' + 1 commit, and they will install 'vX.Y'.
# 5. Build the installation and VM images. The images will run 'guix'
# corresponding to 'vX.Y.Z' + 1 commit, and they will install 'vX.Y.Z'.
#
# This 'release' target takes care of everything and copies the resulting
# files to $(releasedir).
#
# XXX: Depend on 'dist' rather than 'distcheck' to work around the Gettext
# issue described at <https://savannah.gnu.org/bugs/index.php?51027>.
release: dist-with-updated-version
cd po; git checkout .
release: dist-with-updated-version all
@if ! git diff-index --quiet HEAD; then \
echo "There are uncommitted changes; stopping." >&2 ; \
exit 1 ; \
@ -854,21 +853,24 @@ release: dist-with-updated-version
$(MKDIR_P) "$(releasedir)"
rm -f "$(releasedir)"/*
mv $(SOURCE_TARBALLS) "$(releasedir)"
# Bump the Guix package version and build it.
GUIX_ALLOW_ME_TO_USE_PRIVATE_COMMIT=yes \
$(top_builddir)/pre-inst-env "$(GUILE)" \
$(top_srcdir)/build-aux/update-guix-package.scm \
"`git rev-parse HEAD`" "$(PACKAGE_VERSION)"
git add $(top_srcdir)/gnu/packages/package-management.scm
git commit -m "gnu: guix: Update to $(PACKAGE_VERSION)."
$(top_builddir)/pre-inst-env guix build $(GUIX_FOR_BINARY_TARBALL) \
$(top_builddir)/pre-inst-env guix build guix \
$(call system_flags,$(SUPPORTED_SYSTEMS)) \
-v1 --no-grafts --fallback
# Generate the binary release tarballs.
rm -f $(BINARY_TARBALLS)
$(MAKE) $(BINARY_TARBALLS)
for system in $(SUPPORTED_SYSTEMS) ; do \
mv "guix-binary.$$system.tar.xz" \
"$(releasedir)/guix-binary-$(PACKAGE_VERSION).$$system.tar.xz" ; \
done
# Bump the Guix package version and build it (again).
GUIX_ALLOW_ME_TO_USE_PRIVATE_COMMIT=yes \
$(top_builddir)/pre-inst-env "$(GUILE)" \
$(top_srcdir)/build-aux/update-guix-package.scm \
@ -878,9 +880,10 @@ release: dist-with-updated-version
$(top_builddir)/pre-inst-env guix build guix \
$(call system_flags,$(GUIX_SYSTEM_SUPPORTED_SYSTEMS)) \
-v1 --no-grafts --fallback
# Generate the ISO installation images.
for system in $(GUIX_SYSTEM_SUPPORTED_SYSTEMS) ; do \
image=`$(top_builddir)/pre-inst-env \
guix system disk-image -t iso9660 \
guix system image -t iso9660 \
--label="GUIX_$${system}_$(VERSION)" \
--system=$$system --fallback \
gnu/system/install.scm` ; \
@ -888,13 +891,14 @@ release: dist-with-updated-version
echo "failed to produced Guix installation image for $$system" >&2 ; \
exit 1 ; \
fi ; \
xz < "$$image" > "$(releasedir)/$(GUIX_SYSTEM_IMAGE_BASE).$$system.iso.xz.tmp" ; \
mv "$(releasedir)/$(GUIX_SYSTEM_IMAGE_BASE).$$system.iso.xz.tmp" \
"$(releasedir)/$(GUIX_SYSTEM_IMAGE_BASE).$$system.iso.xz" ; \
cp "$$image" "$(releasedir)/$(GUIX_SYSTEM_IMAGE_BASE).$$system.iso.tmp" ; \
mv "$(releasedir)/$(GUIX_SYSTEM_IMAGE_BASE).$$system.iso.tmp" \
"$(releasedir)/$(GUIX_SYSTEM_IMAGE_BASE).$$system.iso" ; \
done
# Generate the VM images.
for system in $(GUIX_SYSTEM_VM_SYSTEMS) ; do \
image=`$(top_builddir)/pre-inst-env \
guix system vm-image $(GUIX_SYSTEM_VM_IMAGE_FLAGS) \
guix system image -t qcow2 $(GUIX_SYSTEM_VM_IMAGE_FLAGS) \
--save-provenance \
--system=$$system --fallback \
gnu/system/examples/vm-image.tmpl` ; \
@ -902,9 +906,7 @@ release: dist-with-updated-version
echo "failed to produced Guix VM image for $$system" >&2 ; \
exit 1 ; \
fi ; \
xz < "$$image" > "$(releasedir)/$(GUIX_SYSTEM_VM_IMAGE_BASE).$$system.xz.tmp" ; \
mv "$(releasedir)/$(GUIX_SYSTEM_VM_IMAGE_BASE).$$system.xz.tmp" \
"$(releasedir)/$(GUIX_SYSTEM_VM_IMAGE_BASE).$$system.xz" ; \
cp "$$image" "$(releasedir)/$(GUIX_SYSTEM_VM_IMAGE_BASE).$$system.qcow2"; \
done
@echo
@echo "Congratulations! All the release files are now in $(releasedir)."

133
NEWS
View File

@ -2,7 +2,7 @@
#+TITLE: Guix NEWS history of user-visible changes
#+STARTUP: content hidestars
Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org>
Copyright © 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
Copying and distribution of this file, with or without modification,
@ -11,6 +11,137 @@ Copyright © 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
Please send Guix bug reports to bug-guix@gnu.org.
* Changes in 1.3.0 (since 1.2.0)
** Package management
*** POWER9 (powerpc64le-linux) is now supported as a technology preview
*** New --export-manifest and --export-channels options of guix package
*** New --profile option for guix environment
*** New --discover option of guix-daemon, for local substitute discovery
*** New --advertise option of guix publish
*** New --with-patch and --with-latest package transformation options
*** guix system image supersedes the disk-image and vm-image sub-commands
*** --verbosity=1 no longer displays download URLs
*** guix publish -C now supports zstd compression via Guile-zstd
*** guix-daemon now supports zstd substitutes, which decompress faster
*** New guix import go command, to import Go packages
*** guix import opam now supports Coq packages and has a --repo option
*** guix import crate now honors semantic versioning (“semver”)
*** guix import nix has been removed
*** New updaters (see guix refresh): sourceforge and generic-html
*** Substitute installation has been optimized
*** guix commands suggest alternative sub-commands or options upon typos
*** Offloading no longer requires guile to be in $PATH on build machines
*** GUIX_EXTENSIONS_PATH is honored when looking for extensions such as GWL
*** New --format option for guix processes
*** guix upgrade can now be passed several regexps
** Distribution
*** The Guix System demonstration VM now supports the SPICE protocol
*** The installation script can now run in a fully automated manner
*** qemu-binfmt-service-type now relies on statically-linked QEMU
*** sysctl-service-type enables Linux protected hardlinks/symlinks by default
*** %base-services now includes a default sysctl-service-type instance
*** Linux Logical Volumne Manager (LVM) now supported, via lvm-device-mapping
*** guix system init has been optimized
*** guix system warns when users/groups appear more than once
*** guix system image -t rock64-raw produces images for Rock64 devices
*** herd discover guix-daemon on turns on substitute server discovery
*** Default initrd now supports bcachefs
*** CUPS service includes brlaser extension by default
*** “lp” group is no longer included in %base-groups
*** New --graph-backend option for guix system {extension,shepherd}-graph
*** New services
agate, cuirass-remote-worker, ipfs, keepalived, laminar, radicale, syncthing,
transmission-daemon, wireguard, xorg-server
*** 2009 new packages
*** 3100 package updates
Noteworthy updates:
emacs 27.2, gcc-toolchain 10.3.0, ghc 8.8.3, glibc 2.31, gnome 3.34.5,
gnupg 2.2.27, go 1.14.15, guile 3.0.5, icecat 78.10.0-guix0-preview1,
icedtea 3.7.0, inkscape 1.0.2, julia 1.5.3, libreoffice 6.4.7.2,
linux-libre 5.11.15, ocaml 4.11.1, octave 6.2.0, openjdk 14.0,
python 3.8.2, racket 8.0, rust 1.51.0, r 4.0.4, sbcl 2.1.3, xfce 4.16.0,
xorg-server 1.20.10
** Programming interfaces
*** New channel-with-substitutes-available procedure in (guix channels)
*** New modules (guix substitutes), (guix narinfo), and (guix avahi)
*** <image> records can be passed to guix system image
*** New (guix ipfs) module to interact with an IPFS gateway
** Noteworthy bug fixes
*** Risk of local privilege escalation via guix-daemon fixed
(<https://issues.guix.gnu.org/47229>, CVE-2021-27851)
*** Setuid programs on Guix System are no longer setgid root
(<https://issues.guix.gnu.org/46395>)
*** Risk of local privilege escalation during reconfigure fixed
(<https://issues.guix.gnu.org/47584>)
*** Grafting recognizes UTF-16 and UTF-32 store references
(<https://issues.guix.gnu.org/33848>)
*** (guix git) honors HTTP/HTTPS proxy settings for Git submodules
(<https://issues.guix.gnu.org/44593>)
*** Fix guix substitute crash when interleaving lzip and gzip
(<https://issues.guix.gnu.org/46967>)
*** Fix GnuTLS memory corruption when used from Guile
(<https://issues.guix.gnu.org/46330>)
*** Update GnuTLS to 3.6.15, addressing a time-dependent test failure
(<https://issues.guix.gnu.org/44559>)
*** Booted system is fully protected from garbage collection
(<https://issues.guix.gnu.org/46767>)
*** Add MSDOS disk label support on UEFI systems
(<https://issues.guix.gnu.org/47889>)
*** Installers kmscon no longer uses up 100% CPU
(<https://issues.guix.gnu.org/39341>)
*** Git checkouts can be updated to the remotes default HEAD
(<https://issues.guix.gnu.org/45187>)
*** guix pull correctly displays early builds and downloads
(<https://issues.guix.gnu.org/41930>)
*** Fix OpenRC init scripts for guix-daemon
(<https://issues.guix.gnu.org/46871>)
*** Activate system when switching generations
(<https://issues.guix.gnu.org/38884>)
*** guix environment -C preserves original mount flags
(<https://issues.guix.gnu.org/46292>)
*** Remove duplicates in profile transactions
(<https://issues.guix.gnu.org/23874>)
*** Fix sound problems with ALSA plugins on foreign distros
(<https://issues.guix.gnu.org/40832>)
** Native language support
*** Updated translations of the manual
The manual is fully translated into French and German, 90% translated into
Spanish, and has preliminary translations into Chinese, Brazilian Portuguese,
and Russian.
*** Update translations of the cookbook
The cookbook is fully translated in French and German and has a preliminary
translation into Korean.
*** Updated translations of messages
This version of Guix is fully translated in French, German, and Slovak; it has
good translation into Brazilian Portuguese and Spanish, and preliminary
translations in a dozen other languages.
*** Translations now hosted on Fedoras Weblate instance
Translations are now handled at
<https://translate.fedoraproject.org/projects/guix/guix/> (thanks, Fedora!).
You can join to help improve translations in your native language of messages,
documentation, package descriptions, and the web site.
* Changes in 1.2.0 (since 1.1.0)
** Package management

View File

@ -95,7 +95,7 @@ paragraph."
(with-atomic-file-replacement news-file
(lambda (input output)
(rewrite-org-section input output
(make-regexp "^(\\*+) (.*) new packages")
(make-regexp "^(\\*+).*new packages")
(lambda (match port)
(let ((stars (match:substring match 1)))
(format port
@ -141,7 +141,7 @@ paragraph."
(with-atomic-file-replacement news-file
(lambda (input output)
(rewrite-org-section input output
(make-regexp "^(\\*+) (.*) package updates")
(make-regexp "^(\\*+).*package updates")
(lambda (match port)
(let ((stars (match:substring match 1))
(lst (map (match-lambda
@ -166,16 +166,22 @@ paragraph."
(string-append data-directory "/packages-"
version ".txt"))
(define (package<? p1 p2)
(string<? (package-full-name p1) (package-full-name p2)))
(let-values (((previous-version new-version)
(call-with-input-file news-file NEWS->versions)))
(format (current-error-port) "Updating NEWS for ~a to ~a...~%"
previous-version new-version)
(let* ((old (call-with-input-file (package-file previous-version)
read))
(new (fold-packages (lambda (p r)
(alist-cons (package-name p) (package-version p)
r))
'())))
(all-packages/sorted (sort (fold-packages (lambda (p r)
(cons p r))
'())
package<?))
(new (map (lambda (p)
(cons (package-name p) (package-version p)))
all-packages/sorted)))
(call-with-output-file (package-file new-version)
(lambda (port)
(pretty-print new port)))

View File

@ -21,7 +21,7 @@ dnl For the C++ code. This must be used early.
AC_USE_SYSTEM_EXTENSIONS
AM_GNU_GETTEXT([external])
AM_GNU_GETTEXT_VERSION([0.18.1])
AM_GNU_GETTEXT_VERSION([0.19.1])
GUIX_SYSTEM_TYPE
GUIX_ASSERT_SUPPORTED_SYSTEM
@ -150,6 +150,13 @@ if test "x$guix_cv_have_recent_guile_git" != "xyes"; then
AC_MSG_ERROR([A recent Guile-Git could not be found; please install it.])
fi
dnl Check for the optional Guile-Lib.
GUILE_MODULE_EXPORTS([have_guile_lib], [(htmlprag)], [%strict-tokenizer?])
AM_CONDITIONAL([HAVE_GUILE_LIB], [test "x$have_guile_lib" = "xyes"])
AM_COND_IF(HAVE_GUILE_LIB,,
[AC_MSG_WARN([The Guile-Lib requirement was not satisfied (>= 0.2.7);
Some features such as the Go importer will not be usable.])])
dnl Check for Guile-zlib.
GUIX_CHECK_GUILE_ZLIB
if test "x$guix_cv_have_recent_guile_zlib" != "xyes"; then

View File

@ -242,7 +242,7 @@ Manual}). First, you need more than an editor, you need
wonderful @url{https://nongnu.org/geiser/, Geiser}. To set that up, run:
@example
guix package -i emacs guile emacs-geiser
guix package -i emacs guile emacs-geiser emacs-geiser-guile
@end example
Geiser allows for interactive and incremental development from within

View File

@ -10,8 +10,8 @@
@include version.texi
@c Identifier of the OpenPGP key used to sign tarballs and such.
@set OPENPGP-SIGNING-KEY-ID 3CE464558A84FDC69DB40CFB090B11993D9AEBB5
@set OPENPGP-SIGNING-KEY-URL https://sv.gnu.org/people/viewgpg.php?user_id=15145
@set OPENPGP-SIGNING-KEY-ID 27D586A4F8900854329FF09F1260E46482E63562
@set OPENPGP-SIGNING-KEY-URL https://sv.gnu.org/people/viewgpg.php?user_id=127547
@c Base URL for downloads.
@set BASE-URL https://ftp.gnu.org/gnu/guix
@ -2100,7 +2100,7 @@ about their support in GNU/Linux.
An ISO-9660 installation image that can be written to a USB stick or
burnt to a DVD can be downloaded from
@indicateurl{@value{BASE-URL}/guix-system-install-@value{VERSION}.x86_64-linux.iso.xz},
@indicateurl{@value{BASE-URL}/guix-system-install-@value{VERSION}.x86_64-linux.iso},
where you can replace @code{x86_64-linux} with one of:
@table @code
@ -2116,8 +2116,8 @@ Make sure to download the associated @file{.sig} file and to verify the
authenticity of the image against it, along these lines:
@example
$ wget @value{BASE-URL}/guix-system-install-@value{VERSION}.x86_64-linux.iso.xz.sig
$ gpg --verify guix-system-install-@value{VERSION}.x86_64-linux.iso.xz.sig
$ wget @value{BASE-URL}/guix-system-install-@value{VERSION}.x86_64-linux.iso.sig
$ gpg --verify guix-system-install-@value{VERSION}.x86_64-linux.iso.sig
@end example
If that command fails because you do not have the required public key,
@ -2141,17 +2141,6 @@ It is meant to be copied @emph{as is} to a large-enough USB stick or DVD.
@unnumberedsubsec Copying to a USB Stick
To copy the image to a USB stick, follow these steps:
@enumerate
@item
Decompress the image using the @command{xz} command:
@example
xz -d guix-system-install-@value{VERSION}.x86_64-linux.iso.xz
@end example
@item
Insert a USB stick of 1@tie{}GiB or more into your machine, and determine
its device name. Assuming that the USB stick is known as @file{/dev/sdX},
copy the image with:
@ -2162,21 +2151,9 @@ sync
@end example
Access to @file{/dev/sdX} usually requires root privileges.
@end enumerate
@unnumberedsubsec Burning on a DVD
To copy the image to a DVD, follow these steps:
@enumerate
@item
Decompress the image using the @command{xz} command:
@example
xz -d guix-system-install-@value{VERSION}.x86_64-linux.iso.xz
@end example
@item
Insert a blank DVD into your machine, and determine
its device name. Assuming that the DVD drive is known as @file{/dev/srX},
copy the image with:
@ -2186,7 +2163,6 @@ growisofs -dvd-compat -Z /dev/srX=guix-system-install-@value{VERSION}.x86_64-lin
@end example
Access to @file{/dev/srX} usually requires root privileges.
@end enumerate
@unnumberedsubsec Booting
@ -33666,12 +33642,11 @@ Whether or not the droplet should be created with IPv6 networking.
@section Running Guix in a Virtual Machine
@cindex virtual machine
To run Guix in a virtual machine (VM), one can use the pre-built Guix VM image
distributed at
@url{@value{BASE-URL}/guix-system-vm-image-@value{VERSION}.x86_64-linux.xz}.
This image is a compressed image in QCOW format. You will first need to
decompress with @command{xz -d}, and then you can pass it to an emulator such
as QEMU (see below for details).
To run Guix in a virtual machine (VM), one can use the pre-built Guix VM
image distributed at
@url{@value{BASE-URL}/guix-system-vm-image-@value{VERSION}.x86_64-linux.qcow2}.
This image is a compressed image in QCOW format. You can pass it to an
emulator such as @uref{https://qemu.org/, QEMU} (see below for details).
This image boots the Xfce graphical environment and it contains some
commonly used tools. You can install more software in the image by running
@ -33680,10 +33655,8 @@ also reconfigure the system based on its initial configuration file available
as @file{/run/current-system/configuration.scm} (@pxref{Using the
Configuration System}).
Instead of using this pre-built image, one can also build their own virtual
machine image using @command{guix system vm-image} (@pxref{Invoking guix
system}). The returned image is in qcow2 format, which the
@uref{https://qemu.org/, QEMU emulator} can efficiently use.
Instead of using this pre-built image, one can also build their own
image using @command{guix system image} (@pxref{Invoking guix system}).
@cindex QEMU
If you built your own image, you must copy it out of the store
@ -34290,6 +34263,28 @@ configuration when you use @command{guix system reconfigure},
@command{guix system init}, or @command{guix deploy}.
@end defvr
@defvr {Scheme Variable} linux-loadable-module-service-type
Type of the service that collects lists of packages containing
kernel-loadable modules, and adds them to the set of kernel-loadable
modules.
This service type is intended to be extended by other service types,
such as below:
@lisp
(define module-installing-service-type
(service-type
(name 'module-installing-service)
(extensions (list (service-extension linux-loadable-module-service-type
(const (list module-to-install-1
module-to-install-2)))))
(default-value #f)))
@end lisp
This does not actually load modules at bootup, only adds it to the
kernel profile so that it @emph{can} be loaded by other means.
@end defvr
@node Shepherd Services
@subsection Shepherd Services

View File

@ -4,7 +4,7 @@
# Copyright © 2013 Andreas Enge <andreas@enge.fr>
# Copyright © 2016 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
# Copyright © 2016, 2018 Mathieu Lirzin <mthl@gnu.org>
# Copyright © 2018 Julien Lepiller <julien@lepiller.eu>
# Copyright © 2018, 2021 Julien Lepiller <julien@lepiller.eu>
#
# This file is part of GNU Guix.
#
@ -21,6 +21,16 @@
# You should have received a copy of the GNU General Public License
# along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
# If adding a language, update the following variables, and info_TEXINFOS.
MANUAL_LANGUAGES = de es fa fr it ko pt_BR ru sk zh_CN
COOKBOOK_LANGUAGES = de fa fr ko zh_Hans
# Arg1: A list of languages codes.
# Arg2: The file name stem.
lang_to_texinfo = $(foreach lang,$(1),%D%/$(2).$(lang).texi)
# Automake does not understand GNU Make non-standard extensions,
# unfortunately, so we cannot use the above patsubst-based function here.
info_TEXINFOS = %D%/guix.texi \
%D%/guix.de.texi \
%D%/guix.es.texi \
@ -70,33 +80,10 @@ OS_CONFIG_EXAMPLES_TEXI = \
%D%/os-config-desktop.texi \
%D%/os-config-lightweight-desktop.texi
# Do not forget to update these, when updating info_TEXINFOS
TRANSLATED_INFO = \
%D%/guix.de.texi \
%D%/guix.es.texi \
%D%/guix.fa.texi \
%D%/guix.fr.texi \
%D%/guix.it.texi \
%D%/guix.ko.texi \
%D%/guix.pt_BR.texi \
%D%/guix.ru.texi \
%D%/guix.sk.texi \
%D%/guix.zh_CN.texi \
%D%/contributing.de.texi \
%D%/contributing.es.texi \
%D%/contributing.fa.texi \
%D%/contributing.fr.texi \
%D%/contributing.it.texi \
%D%/contributing.ko.texi \
%D%/contributing.pt_BR.texi \
%D%/contributing.ru.texi \
%D%/contributing.sk.texi \
%D%/contributing.zh_CN.texi \
%D%/guix-cookbook.de.texi \
%D%/guix-cookbook.fa.texi \
%D%/guix-cookbook.fr.texi \
%D%/guix-cookbook.ko.texi \
%D%/guix-cookbook.zh_Hans.texi
TRANSLATED_INFO = \
$(call lang_to_texinfo,$(MANUAL_LANGUAGES),guix) \
$(call lang_to_texinfo,$(MANUAL_LANGUAGES),contributing) \
$(call lang_to_texinfo,$(COOKBOOK_LANGUAGES),guix-cookbook)
# Bundle this file so that makeinfo finds it in out-of-source-tree builds.
BUILT_SOURCES += $(OS_CONFIG_EXAMPLES_TEXI) $(TRANSLATED_INFO)

View File

@ -9,6 +9,7 @@
# Copyright © 2020 Daniel Brooks <db48x@db48x.net>
# Copyright © 2021 Jakub Kądziołka <kuba@kadziolka.net>
# Copyright © 2021 Chris Marusich <cmmarusich@gmail.com>
# Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
#
# This file is part of GNU Guix.
#
@ -71,11 +72,6 @@ declare -A GPG_SIGNING_KEYS
GPG_SIGNING_KEYS[15145]=3CE464558A84FDC69DB40CFB090B11993D9AEBB5 # ludo
GPG_SIGNING_KEYS[127547]=27D586A4F8900854329FF09F1260E46482E63562 # maxim
# This script needs to know where root's home directory is. However, we
# cannot simply use the HOME environment variable, since there is no guarantee
# that it points to root's home directory.
ROOT_HOME="$(echo ~root)"
# ------------------------------------------------------------------------------
#+UTILITIES
@ -96,13 +92,25 @@ _debug()
fi
}
# Return true if user answered yes, false otherwise.
# $1: The prompt question.
prompt_yes_no() {
while true; do
read -rp "$1" yn
case $yn in
[Yy]*) return 0;;
[Nn]*) return 1;;
*) _msg "Please answer yes or no."
esac
done
}
chk_require()
{ # Check that every required command is available.
declare -a warn
local c
_debug "--- [ $FUNCNAME ] ---"
_debug "--- [ ${FUNCNAME[0]} ] ---"
for c in "$@"; do
command -v "$c" &>/dev/null || warn+=("$c")
@ -117,7 +125,7 @@ chk_require()
chk_gpg_keyring()
{ # Check whether the Guix release signing public key is present.
_debug "--- [ $FUNCNAME ] ---"
_debug "--- [ ${FUNCNAME[0]} ] ---"
local user_id
local gpg_key_id
local exit_flag
@ -127,26 +135,34 @@ chk_gpg_keyring()
# Without --dry-run this command will create a ~/.gnupg owned by root on
# systems where gpg has never been used, causing errors and confusion.
if ! gpg --dry-run --list-keys "$gpg_key_id" >/dev/null 2>&1; then
_err "${ERR}Missing OpenPGP public key ($gpg_key_id). Fetch it with this command:"
echo " wget \"https://sv.gnu.org/people/viewgpg.php?user_id=$user_id\" -qO - | sudo -i gpg --import -"
exit_flag=yes
if prompt_yes_no "${INF}The following OpenPGP public key is \
required to verify the Guix binary signature: $gpg_key_id.
Would you like me to fetch it for you? (yes/no)"; then
wget "https://sv.gnu.org/people/viewgpg.php?user_id=$user_id" \
-qO - | gpg --import -
else
_err "${ERR}Missing OpenPGP public key ($gpg_key_id).
Fetch it with this command:
wget \"https://sv.gnu.org/people/viewgpg.php?user_id=$user_id\" -qO - | \
sudo -i gpg --import -"
exit_flag=yes
fi
fi
done
test "$exit_flag" = yes && exit 1 || true
if [ "$exit_flag" = yes ]; then
exit 1
fi
}
chk_term()
{ # Check for ANSI terminal for color printing.
local ansi_term
if [ -t 2 ]; then
if [ "${TERM+set}" = 'set' ]; then
case "$TERM" in
xterm*|rxvt*|urxvt*|linux*|vt*|eterm*|screen*)
ansi_term=true
;;
*)
ansi_term=false
ERR="[ FAIL ] "
PAS="[ PASS ] "
;;
@ -243,7 +259,7 @@ guix_get_bin_list()
local latest_ver
local default_ver
_debug "--- [ $FUNCNAME ] ---"
_debug "--- [ ${FUNCNAME[0]} ] ---"
# Filter only version and architecture
bin_ver_ls=("$(wget -qO- "$gnu_url" \
@ -272,25 +288,25 @@ guix_get_bin()
local url="$1"
local bin_ver="$2"
local dl_path="$3"
local wget_args=()
_debug "--- [ $FUNCNAME ] ---"
_debug "--- [ ${FUNCNAME[0]} ] ---"
_msg "${INF}Downloading Guix release archive"
wget --help | grep -q '\--show-progress' && \
_PROGRESS_OPT="-q --show-progress" || _PROGRESS_OPT=""
wget $_PROGRESS_OPT -P "$dl_path" "${url}/${bin_ver}.tar.xz" "${url}/${bin_ver}.tar.xz.sig"
wget --help | grep -q '\--show-progress' \
&& wget_args=("-q" "--show-progress")
if [[ "$?" -eq 0 ]]; then
_msg "${PAS}download completed."
if wget "${wget_args[@]}" -P "$dl_path" \
"${url}/${bin_ver}.tar.xz" "${url}/${bin_ver}.tar.xz.sig"; then
_msg "${PAS}download completed."
else
_err "${ERR}could not download ${url}/${bin_ver}.tar.xz."
exit 1
fi
pushd "${dl_path}" >/dev/null
gpg --verify "${bin_ver}.tar.xz.sig" >/dev/null 2>&1
if [[ "$?" -eq 0 ]]; then
if gpg --verify "${bin_ver}.tar.xz.sig" >/dev/null 2>&1; then
_msg "${PAS}Signature is valid."
popd >/dev/null
else
@ -304,45 +320,44 @@ sys_create_store()
local pkg="$1"
local tmp_path="$2"
_debug "--- [ $FUNCNAME ] ---"
cd "$tmp_path"
tar --extract \
--file "$pkg" &&
_msg "${PAS}unpacked archive"
_debug "--- [ ${FUNCNAME[0]} ] ---"
if [[ -e "/var/guix" || -e "/gnu" ]]; then
_err "${ERR}A previous Guix installation was found. Refusing to overwrite."
exit 1
else
_msg "${INF}Installing /var/guix and /gnu..."
mv "${tmp_path}/var/guix" /var/
mv "${tmp_path}/gnu" /
fi
_msg "${INF}Linking the root user's profile"
mkdir -p "${ROOT_HOME}/.config/guix"
ln -sf /var/guix/profiles/per-user/root/current-guix \
"${ROOT_HOME}/.config/guix/current"
cd "$tmp_path"
tar --extract --file "$pkg" && _msg "${PAS}unpacked archive"
GUIX_PROFILE="${ROOT_HOME}/.config/guix/current"
_msg "${INF}Installing /var/guix and /gnu..."
mv "${tmp_path}/var/guix" /var/
mv "${tmp_path}/gnu" /
_msg "${INF}Linking the root user's profile"
mkdir -p "~root/.config/guix"
ln -sf /var/guix/profiles/per-user/root/current-guix \
"~root/.config/guix/current"
GUIX_PROFILE="~root/.config/guix/current"
# shellcheck disable=SC1090
source "${GUIX_PROFILE}/etc/profile"
_msg "${PAS}activated root profile at ${ROOT_HOME}/.config/guix/current"
_msg "${PAS}activated root profile at ${GUIX_PROFILE}"
}
sys_create_build_user()
{ # Create the group and user accounts for build users.
_debug "--- [ $FUNCNAME ] ---"
_debug "--- [ ${FUNCNAME[0]} ] ---"
if [ $(getent group guixbuild) ]; then
if getent group guixbuild > /dev/null; then
_msg "${INF}group guixbuild exists"
else
groupadd --system guixbuild
_msg "${PAS}group <guixbuild> created"
fi
if [ $(getent group kvm) ]; then
if getent group kvm > /dev/null; then
_msg "${INF}group kvm exists and build users will be added to it"
local KVMGROUP=,kvm
fi
@ -371,7 +386,7 @@ sys_enable_guix_daemon()
local local_bin
local var_guix
_debug "--- [ $FUNCNAME ] ---"
_debug "--- [ ${FUNCNAME[0]} ] ---"
info_path="/usr/local/share/info"
local_bin="/usr/local/bin"
@ -380,7 +395,7 @@ sys_enable_guix_daemon()
case "$INIT_SYS" in
upstart)
{ initctl reload-configuration;
cp "${ROOT_HOME}/.config/guix/current/lib/upstart/system/guix-daemon.conf" \
cp "~root/.config/guix/current/lib/upstart/system/guix-daemon.conf" \
/etc/init/ &&
start guix-daemon; } &&
_msg "${PAS}enabled Guix daemon via upstart"
@ -389,15 +404,15 @@ sys_enable_guix_daemon()
{ # systemd .mount units must be named after the target directory.
# Here we assume a hard-coded name of /gnu/store.
# XXX Work around <https://issues.guix.gnu.org/41356> until next release.
if [ -f "${ROOT_HOME}/.config/guix/current/lib/systemd/system/gnu-store.mount" ]; then
cp "${ROOT_HOME}/.config/guix/current/lib/systemd/system/gnu-store.mount" \
if [ -f "~root/.config/guix/current/lib/systemd/system/gnu-store.mount" ]; then
cp "~root/.config/guix/current/lib/systemd/system/gnu-store.mount" \
/etc/systemd/system/;
chmod 664 /etc/systemd/system/gnu-store.mount;
systemctl daemon-reload &&
systemctl enable gnu-store.mount;
fi
cp "${ROOT_HOME}/.config/guix/current/lib/systemd/system/guix-daemon.service" \
cp "~root/.config/guix/current/lib/systemd/system/guix-daemon.service" \
/etc/systemd/system/;
chmod 664 /etc/systemd/system/guix-daemon.service;
@ -418,7 +433,7 @@ sys_enable_guix_daemon()
;;
sysv-init)
{ mkdir -p /etc/init.d;
cp "${ROOT_HOME}/.config/guix/current/etc/init.d/guix-daemon" \
cp "~root/.config/guix/current/etc/init.d/guix-daemon" \
/etc/init.d/guix-daemon;
chmod 775 /etc/init.d/guix-daemon;
@ -429,7 +444,7 @@ sys_enable_guix_daemon()
;;
openrc)
{ mkdir -p /etc/init.d;
cp "${ROOT_HOME}/.config/guix/current/etc/openrc/guix-daemon" \
cp "~root/.config/guix/current/etc/openrc/guix-daemon" \
/etc/init.d/guix-daemon;
chmod 775 /etc/init.d/guix-daemon;
@ -439,7 +454,7 @@ sys_enable_guix_daemon()
;;
NA|*)
_msg "${ERR}unsupported init system; run the daemon manually:"
echo " ${ROOT_HOME}/.config/guix/current/bin/guix-daemon --build-users-group=guixbuild"
echo " ~root/.config/guix/current/bin/guix-daemon --build-users-group=guixbuild"
;;
esac
@ -456,21 +471,18 @@ sys_enable_guix_daemon()
sys_authorize_build_farms()
{ # authorize the public key of the build farm
while true; do
read -p "Permit downloading pre-built package binaries from the project's build farm? (yes/no) " yn
case $yn in
[Yy]*) guix archive --authorize < "${ROOT_HOME}/.config/guix/current/share/guix/ci.guix.gnu.org.pub" &&
_msg "${PAS}Authorized public key for ci.guix.gnu.org";
break;;
[Nn]*) _msg "${INF}Skipped authorizing build farm public keys"
break;;
*) _msg "Please answer yes or no.";
esac
done
if prompt_yes_no "Permit downloading pre-built package binaries from the \
project's build farm? (yes/no) "; then
guix archive --authorize \
< "~root/.config/guix/current/share/guix/ci.guix.gnu.org.pub" \
&& _msg "${PAS}Authorized public key for ci.guix.gnu.org"
else
_msg "${INF}Skipped authorizing build farm public keys"
fi
}
sys_create_init_profile()
{ # Create /etc/profile.d/guix.sh for better desktop integration
{ # Define for better desktop integration
# This will not take effect until the next shell or desktop session!
[ -d "/etc/profile.d" ] || mkdir /etc/profile.d # Just in case
cat <<"EOF" > /etc/profile.d/guix.sh
@ -544,7 +556,7 @@ This script installs GNU Guix on your system
https://www.gnu.org/software/guix/
EOF
echo -n "Press return to continue..."
read -r ANSWER
read -r
}
main()
@ -574,7 +586,7 @@ main()
if ! [[ $GUIX_BINARY_FILE_NAME =~ $ARCH_OS ]]; then
_err "$ARCH_OS not in ${GUIX_BINARY_FILE_NAME}; aborting"
fi
_msg "Using manually provided binary ${GUIX_BINARY_FILE_NAME}"
_msg "${INF}Using manually provided binary ${GUIX_BINARY_FILE_NAME}"
GUIX_BINARY_FILE_NAME=$(realpath "$GUIX_BINARY_FILE_NAME")
fi

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2020 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2020, 2021 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
;;;
;;; This file is part of GNU Guix.
@ -49,6 +49,14 @@ TARGET."
'("bootstrap-tarballs" "gcc-toolchain" "nss-certs"
"openssh" "emacs" "vim" "python" "guile" "guix")))
(define %base-packages/armhf
;; XXX: Relax requirements for armhf-linux for lack of enough build power.
(map (lambda (package)
(if (string=? (package-name package) "emacs")
(specification->package "emacs-no-x")
package))
%base-packages))
(define %base-packages/hurd
;; XXX: For now we are less demanding of "i586-gnu".
(map specification->package
@ -100,9 +108,18 @@ TARGET."
(manifest
(append-map (lambda (system)
(map (cut package->manifest-entry* <> system)
(if (string=? system "i586-gnu")
%base-packages/hurd
%base-packages)))
(cond ((string=? system "i586-gnu")
%base-packages/hurd)
((string=? system "armhf-linux")
;; FIXME: Drop special case when ci.guix.gnu.org
;; has more ARMv7 build power.
%base-packages/armhf)
((string=? system "powerpc64le-linux")
;; FIXME: Drop 'bootstrap-tarballs' until
;; <https://bugs.gnu.org/48055> is fixed.
(drop %base-packages 1))
(else
%base-packages))))
%cuirass-supported-systems)))
(define %system-manifest

View File

@ -1087,6 +1087,7 @@ dist_patch_DATA = \
%D%/packages/patches/ghostscript-no-header-id.patch \
%D%/packages/patches/ghostscript-no-header-uuid.patch \
%D%/packages/patches/ghostscript-no-header-creationdate.patch \
%D%/packages/patches/giara-fix-login.patch \
%D%/packages/patches/glib-appinfo-watch.patch \
%D%/packages/patches/glib-skip-failing-test.patch \
%D%/packages/patches/glibc-CVE-2018-11236.patch \
@ -1199,7 +1200,6 @@ dist_patch_DATA = \
%D%/packages/patches/hubbub-sort-entities.patch \
%D%/packages/patches/hurd-cross.patch \
%D%/packages/patches/hurd-xattr.patch \
%D%/packages/patches/hplip-remove-imageprocessor.patch \
%D%/packages/patches/hydra-disable-darcs-test.patch \
%D%/packages/patches/icecat-makeicecat.patch \
%D%/packages/patches/icecat-avoid-bundled-libraries.patch \
@ -1660,6 +1660,7 @@ dist_patch_DATA = \
%D%/packages/patches/slim-login.patch \
%D%/packages/patches/slim-display.patch \
%D%/packages/patches/snappy-add-O2-flag-in-CmakeLists.txt.patch \
%D%/packages/patches/snappy-add-inline-for-GCC.patch \
%D%/packages/patches/sphinxbase-fix-doxygen.patch \
%D%/packages/patches/sssd-fix-samba.patch \
%D%/packages/patches/sssd-system-directories.patch \

View File

@ -1601,7 +1601,7 @@ system administrator.")
(define-public sudo
(package
(name "sudo")
(version "1.9.6p1")
(version "1.9.7")
(source (origin
(method url-fetch)
(uri
@ -1611,7 +1611,7 @@ system administrator.")
version ".tar.gz")))
(sha256
(base32
"146alf6cwnzjcckia8m0ibcj9ram2z469f5z7v6vkzpsb30cvsd9"))
"0jg5vf6hc0j2bh4vqwsb4jybhryrsh4kz97r1salvf4rcqnprgib"))
(modules '((guix build utils)))
(snippet
'(begin
@ -4092,7 +4092,7 @@ Logitech Unifying Receiver.")
(package
(name "lynis")
;; Also update the lynis-sdk input to the commit matching this release.
(version "3.0.3")
(version "3.0.4")
(source
(origin
(method git-fetch)
@ -4101,7 +4101,7 @@ Logitech Unifying Receiver.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0sdjh2f1563qalp740vkaaxdxl56ny98h168cggpm10h2yq366gr"))
(base32 "1i556d8xpas6k5k3ad0xvc6ihxnw27nzrjkf14759jkcqrbpb4gy"))
(modules '((guix build utils)))
(snippet
'(begin
@ -4118,10 +4118,10 @@ Logitech Unifying Receiver.")
(method git-fetch)
(uri (git-reference
(url "https://github.com/CISOfy/lynis-sdk")
(commit "ea7a39774fbd71113a1955cf1a4937b489935174")))
(commit "a4087770b7ee794901c5135673e006e8f84bfd3d")))
(file-name (git-file-name "lynis-sdk" version))
(sha256
(base32 "0q5j2myshjkz9qwvcg8n7c33yw2cp80yvzhckd60qmzabv4g4qb5"))))))
(base32 "00wikqydhrjcn0ampgr4qjg30y12as1gm23z94bs72ff035lhcpw"))))))
(arguments
`(#:phases
(modify-phases %standard-phases

View File

@ -2718,15 +2718,15 @@ different audio devices such as ALSA or PulseAudio.")
(define-public qjackctl
(package
(name "qjackctl")
(version "0.9.1")
(version "0.9.3")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/qjackctl/qjackctl/"
version "/qjackctl-" version ".tar.gz"))
(sha256
(base32
"0m72kglwwvn91dxnka4lx765p3r0bcpqw251svymxr2wxjc4rgjg"))))
(build-system gnu-build-system)
"065x66rr1mb2bkqr88l50rcn5c8rsiq4hp5hrlyqqg46371gzhp9"))))
(build-system cmake-build-system)
(arguments
'(#:tests? #f)) ; no check target
(inputs

View File

@ -1096,14 +1096,14 @@ backup.")
(define-public disarchive
(package
(name "disarchive")
(version "0.2.0")
(version "0.2.1")
(source (origin
(method url-fetch)
(uri (string-append "https://files.ngyro.com/disarchive/"
"disarchive-" version ".tar.gz"))
(sha256
(base32
"12d4r4i7vi8fxilr2aww6kzq56jax5ymhjfm3cpgx26vj4c70kb6"))))
"1jypk0gdwxqbqxiblww863nzq0kwnc676q68j32sprqd7ilnq02s"))))
(build-system gnu-build-system)
(native-inputs
`(("autoconf" ,autoconf)

View File

@ -89,6 +89,17 @@ C or C++ programs, though that is not its primary goal.")
(license (x11-style (string-append home-page "license.txt")))))
(define-public libgc/disable-munmap
;; TODO: Use '--disable-munmap' by default on next rebuild cycle.
(package/inherit libgc
(arguments
;; Work around <https://github.com/ivmai/bdwgc/issues/353>.
(substitute-keyword-arguments (package-arguments libgc)
((#:configure-flags flags ''())
`(cons "--disable-munmap" ,flags))))
(properties `((hidden? . #t)
,@(package-properties libgc)))))
;; TODO: Add a static output in libgc in the next rebuild cycle.
(define-public libgc/static-libs
(package/inherit

View File

@ -7554,14 +7554,18 @@ experience substantial biological insertions and deletions.")
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin")))
(bin (string-append out "/bin"))
(scripts (find-files "." "prinseq.*.pl")))
(substitute* scripts
(("\"perl -pe")
(string-append "\"" (which "perl") " -pe")))
(for-each (lambda (file)
(chmod file #o555)
(install-file file bin)
(wrap-script (string-append bin "/" (basename file))
`("PERL5LIB" ":" prefix
(,(getenv "PERL5LIB")))))
(find-files "." "prinseq.*.pl"))))))))
scripts)))))))
(inputs
`(("guile" ,guile-3.0) ; for wrapper scripts
("perl" ,perl)

View File

@ -17,6 +17,7 @@
;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2021 Greg Hogan <code@greghogan.com>
;;; Copyright © 2021 Franck Pérignon <franck.perignon@univ-grenoble-alpes.fr>
;;; Copyright © 2021 Greg Hogan <code@greghogan.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -68,7 +69,7 @@
(version "1.75.0")
(source (origin
(method url-fetch)
(uri (string-append "https://dl.bintray.com/boostorg/release/"
(uri (string-append "https://boostorg.jfrog.io/artifactory/main/release/"
version "/source/boost_"
(version-with-underscores version) ".tar.bz2"))
; Should be included in next Boost update

View File

@ -218,8 +218,7 @@ programs and other files depend.")
(add-before 'configure 'set-build-environment
(lambda _
(setenv "CC" "gcc") (setenv "CXX" "g++")
(setenv "AR" "ar")
#t))
(setenv "AR" "ar")))
(replace 'configure
(lambda _
(invoke "python" "build/gen.py"
@ -234,16 +233,15 @@ programs and other files depend.")
(string-append
"#define LAST_COMMIT_POSITION_NUM ~a\n"
"#define LAST_COMMIT_POSITION \"~a (~a)\"\n")
,revision ,revision ,(string-take commit 8))
#t))))
,revision ,revision ,(string-take commit 8))))))
(replace 'build
(lambda _
(invoke "ninja" "-C" "out" "gn"
"-j" (number->string (parallel-job-count)))))
(replace 'check
(lambda* (#:key (tests? #t) #:allow-other-keys)
(lambda* (#:key tests? #:allow-other-keys)
(if tests?
(lambda ()
(begin
(invoke "ninja" "-C" "out" "gn_unittests"
"-j" (number->string (parallel-job-count)))
(invoke "./out/gn_unittests"))
@ -251,11 +249,10 @@ programs and other files depend.")
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(install-file "out/gn" (string-append out "/bin"))
#t))))))
(install-file "out/gn" (string-append out "/bin"))))))))
(native-inputs
`(("ninja" ,ninja)
("python" ,python-2)))
("python" ,python-wrapper)))
(synopsis "Generate Ninja build files")
(description
"GN is a tool that collects information about a project from @file{.gn}

View File

@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014, 2015, 2016, 2018 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 20182021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2021 Greg Hogan <code@greghogan.com>
;;;
;;; This file is part of GNU Guix.
@ -31,14 +31,14 @@
(define-public ccache
(package
(name "ccache")
(version "4.2")
(version "4.3")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/ccache/ccache/releases/download/v"
version "/ccache-" version ".tar.xz"))
(sha256
(base32 "0kx9ggbbm899zwyyxvm4dgzn1b95zi1niz0l734pi5y3i0cb251g"))))
(base32 "1d4995lkmqshzfxlmbyn101m1rxs02yb8dgh4rl30p26hhhhyjjh"))))
(build-system cmake-build-system)
(native-inputs `(("perl" ,perl) ; for test/run
("which" ,(@ (gnu packages base) which))))
@ -52,8 +52,8 @@
(substitute* '("unittest/test_hashutil.cpp" "test/suites/base.bash")
(("#!/bin/sh") (string-append "#!" (which "sh"))))
#t))
;; tests require a writable HOME
(add-before 'check 'set-home
;; Tests require a writable HOME.
(lambda _
(setenv "HOME" (getenv "TMPDIR"))
#t)))))

View File

@ -320,7 +320,7 @@
(string-append "ungoogled-chromium-" category "-" name))))
(sha256 (base32 hash))))
(define %chromium-version "90.0.4430.93")
(define %chromium-version "90.0.4430.212")
(define %debian-revision "debian/90.0.4430.85-1")
(define %ungoogled-revision "90.0.4430.85-1-11-g3184907")
@ -481,7 +481,7 @@
%chromium-version ".tar.xz"))
(sha256
(base32
"0zimr975vp0v12zz1nqjwag3f0q147wrmdhpzgi4yf089rgwfbjk"))
"17nmhrkl81qqvzbh861k2mmifncx4wg1mv1fmn52f8gzn461vqdb"))
(modules '((guix build utils)))
(snippet (force ungoogled-chromium-snippet))))
(build-system gnu-build-system)

View File

@ -67,6 +67,7 @@
#:use-module (gnu packages autotools)
#:use-module (gnu packages backup)
#:use-module (gnu packages base)
#:use-module (gnu packages benchmark)
#:use-module (gnu packages boost)
#:use-module (gnu packages check)
#:use-module (gnu packages curl)
@ -1001,7 +1002,7 @@ tarballs.")
(define-public libjcat
(package
(name "libjcat")
(version "0.1.6")
(version "0.1.7")
(source
(origin
(method git-fetch)
@ -1011,7 +1012,7 @@ tarballs.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1a2z34m8611xvna9kwch8ralxx7c9mk4rm9vrxx7p9hr8sbqbsaz"))))
(base32 "110c8h3p7m4ibrfvgja592z7j5h88qqanllxsvmxkjz3b129i02r"))))
(build-system meson-build-system)
(native-inputs
`(("gobject-introspection" ,gobject-introspection)
@ -1109,7 +1110,7 @@ well as bzip2.")
(define-public snappy
(package
(name "snappy")
(version "1.1.8")
(version "1.1.9")
(source
(origin
(method git-fetch)
@ -1118,11 +1119,35 @@ well as bzip2.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1j0kslq2dvxgkcxl1gakhvsa731yrcvcaipcp5k8k7ayicvkv9jv"))
(patches (search-patches "snappy-add-O2-flag-in-CmakeLists.txt.patch"))))
(base32 "03zz56h79z0sgvi5sangjqn9dahhzvf645v26n1y0gwmfbmsax95"))
(patches
(search-patches "snappy-add-O2-flag-in-CmakeLists.txt.patch"
"snappy-add-inline-for-GCC.patch"))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags '("-DBUILD_SHARED_LIBS=ON")))
`(#:configure-flags
(list "-DBUILD_SHARED_LIBS=ON"
;; These would be installed alongside Snappy otherwise.
"-DBENCHMARK_ENABLE_INSTALL=OFF"
"-DINSTALL_GTEST=OFF")
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'unpack-third_party-subprojects
(lambda* (#:key inputs #:allow-other-keys)
(with-directory-excursion "third_party"
(for-each (lambda (subproject)
(let* ((input (string-append subproject "-source"))
(source (assoc-ref inputs input)))
(with-directory-excursion subproject
;; Take advantage of the coincidence that both
;; use GIT-FETCH, which creates a directory.
(copy-recursively source "."))))
(list "benchmark"
"googletest"))
#;punt))))))
(native-inputs
`(("benchmark-source" ,(package-source benchmark))
("googletest-source" ,(package-source googletest))))
(home-page "https://github.com/google/snappy")
(synopsis "Fast compressor/decompressor")
(description "Snappy is a compression/decompression library. It does not

View File

@ -1581,17 +1581,17 @@ using AES-NI for high performance.")
"This package provides a failure resistant deserialization derive.")
(license (list license:expat license:asl2.0))))
(define-public rust-alacritty-terminal-0.12
(define-public rust-alacritty-terminal-0.13
(package
(name "rust-alacritty-terminal")
(version "0.12.0")
(version "0.13.0")
(source
(origin
(method url-fetch)
(uri (crate-uri "alacritty_terminal" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "1q7sm7rm5yny4lka8w4vji2v2crkkbwj3y8l5qnq01qlwmkjmkfd"))))
(base32 "13f0pzy9jci57pmmvdd9qcbiycs2fsjqda4qgafxjm6s27sphdx7"))))
(build-system cargo-build-system)
(arguments
`(#:skip-build? #t
@ -2198,7 +2198,7 @@ ArrayVec and ArrayString.")
(define-public rust-as-slice-0.1
(package
(name "rust-as-slice")
(version "0.1.4")
(version "0.1.5")
(source
(origin
(method url-fetch)
@ -2206,7 +2206,7 @@ ArrayVec and ArrayString.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"1rmhdfj11va424163d6r79wbgf2043i2p37s59ky6x2v8wiiqkdv"))))
"1q3a9494ikaq38zjg5px5gwwrbdgnyj23b505224njlmwd4knh25"))))
(build-system cargo-build-system)
(arguments
`(#:cargo-inputs
@ -5538,8 +5538,35 @@ system calls. Second, exposing the internal buffer allows the user to work
with data in place, which avoids another copy.")
(license license:gpl3)))
(define-public rust-bugreport-0.4
(package
(name "rust-bugreport")
(version "0.4.0")
(source
(origin
(method url-fetch)
(uri (crate-uri "bugreport" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "0gday6f2brqgzl12a0vf7fx1hh1mim6gdjxc6dfwk9v4i19pxsd0"))))
(build-system cargo-build-system)
(arguments
`(#:skip-build? #t
#:cargo-inputs
(("rust-git-version" ,rust-git-version-0.3)
("rust-shell-escape" ,rust-shell-escape-0.1)
("rust-sys-info" ,rust-sys-info-0.9))))
(home-page "https://github.com/sharkdp/bugreport")
(synopsis "Collect system and environment information for bug reports")
(description
"bugreport is a Rust library that helps application developers to
automatically collect information about the system and the environment that
users can send along with a bug report.")
(license (list license:expat license:asl2.0))))
(define-public rust-bugreport-0.3
(package
(inherit rust-bugreport-0.4)
(name "rust-bugreport")
(version "0.3.0")
(source
@ -5549,19 +5576,11 @@ with data in place, which avoids another copy.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "1n5f1nkqbc5yf9bckjap49pwnqnvdczm6x9y23caaghpgw0n4rqi"))))
(build-system cargo-build-system)
(arguments
`(#:skip-build? #t
#:cargo-inputs
(("rust-snailquote" ,rust-snailquote-0.3)
("rust-sys-info" ,rust-sys-info-0.7))))
(home-page "https://github.com/sharkdp/bugreport")
(synopsis "Collect system and environment information for bug reports")
(description
"bugreport is a Rust library that helps application developers to
automatically collect information about the system and the environment that
users can send along with a bug report.")
(license (list license:expat license:asl2.0))))
("rust-sys-info" ,rust-sys-info-0.7))))))
(define-public rust-build-const-0.2
(package
@ -7737,6 +7756,25 @@ combinator.")
and 1.0.")
(license (list license:expat license:asl2.0))))
(define-public rust-common-path-1
(package
(name "rust-common-path")
(version "1.0.0")
(source
(origin
(method url-fetch)
(uri (crate-uri "common-path" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "00firjly5xpb5hhmivnnhwakr1cwbqv8ckzyj0vbxczl89czg0i3"))))
(build-system cargo-build-system)
(arguments `(#:skip-build? #t))
(home-page "https://gitlab.com/pwoolcoc/common-path")
(synopsis "Find the common prefix between a set of paths")
(description
"Common path finds the common prefix between a set of paths.")
(license (list license:expat license:asl2.0))))
;; This package requires features which are unavailable
;; on the stable releases of Rust.
(define-public rust-compiler-builtins-0.1
@ -7924,14 +7962,14 @@ this to write Rust programs which can be customized by end users easily.")
(define-public rust-console-0.14
(package
(name "rust-console")
(version "0.14.0")
(version "0.14.1")
(source
(origin
(method url-fetch)
(uri (crate-uri "console" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "1ajnr0rga4vya0fza12ighf3ffkm86w1rv8p5wf443s8nd30kj3w"))))
(base32 "0i8z1bdbv8is1lamd81jdsf4pa1ww2jl3h0yjdshc5mabd2fd4rr"))))
(build-system cargo-build-system)
(arguments
`(#:skip-build? #t
@ -12403,14 +12441,14 @@ programs.")
(define-public rust-dyn-clone-1
(package
(name "rust-dyn-clone")
(version "1.0.2")
(version "1.0.4")
(source
(origin
(method url-fetch)
(uri (crate-uri "dyn-clone" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "10idzzq2sad7dhrfhrhcx7yckzj8il2bzr16204683ryclxdqlsc"))))
(base32 "1kxb16nxiixn558gn82yaq2fl6271jay4rqkrw31lmnprjpjc9pf"))))
(arguments
`(#:skip-build? #t))
(build-system cargo-build-system)
@ -12632,7 +12670,7 @@ signing, and verification in pure Rust.")
(define-public rust-either-1
(package
(name "rust-either")
(version "1.5.3")
(version "1.6.1")
(source
(origin
(method url-fetch)
@ -12641,7 +12679,7 @@ signing, and verification in pure Rust.")
(string-append name "-" version ".tar.gz"))
(sha256
(base32
"1qyz1b1acad6w0k5928jw5zaq900zhsk7p8dlcp4hh61w4f6n7xv"))))
"0mwl9vngqf5jvrhmhn9x60kr5hivxyjxbmby2pybncxfqhf4z3g7"))))
(build-system cargo-build-system)
(arguments
`(#:skip-build? #t
@ -15941,7 +15979,7 @@ API library @code{gdi32}.")
(define-public rust-generic-array-0.14
(package
(name "rust-generic-array")
(version "0.14.2")
(version "0.14.4")
(source
(origin
(method url-fetch)
@ -15950,7 +15988,7 @@ API library @code{gdi32}.")
(string-append name "-" version ".tar.gz"))
(sha256
(base32
"107r1fpm8zcab3lzci4x9par6ik8bra390c60rhxvnmz7dgnlx5c"))))
"05qqwm9v5asbil9z28wjkmpfvs1c5c99n8n9gwxis3d3r3n6c52h"))))
(build-system cargo-build-system)
(arguments
`(#:cargo-inputs
@ -15971,7 +16009,7 @@ API library @code{gdi32}.")
(package
(inherit rust-generic-array-0.14)
(name "rust-generic-array")
(version "0.13.2")
(version "0.13.3")
(source
(origin
(method url-fetch)
@ -15980,7 +16018,7 @@ API library @code{gdi32}.")
(string-append name "-" version ".tar.gz"))
(sha256
(base32
"1kddwxpd58y807y1r3lijg7sw3gxm6nczl6wp57gamhv6mhygl8f"))))
"02g3zhqc086zmsb6kcmjs2fiprz8gq12g0xbm9g23215ydxfd5zp"))))
(arguments
`(#:cargo-inputs
(("rust-serde" ,rust-serde-1)
@ -15993,7 +16031,7 @@ API library @code{gdi32}.")
(package
(inherit rust-generic-array-0.13)
(name "rust-generic-array")
(version "0.12.3")
(version "0.12.4")
(source
(origin
(method url-fetch)
@ -16002,7 +16040,7 @@ API library @code{gdi32}.")
(string-append name "-" version ".tar.gz"))
(sha256
(base32
"1v5jg7djicq34nbiv1dwaki71gkny002wyy9qfn3y0hfmrs053y6"))))))
"1gfpay78vijl9vrwl1k9v7fbvbhkhcmnrk4kfg9l6x24y4s9zpzz"))))))
(define-public rust-generic-array-0.9
(package
@ -16462,6 +16500,55 @@ debugging format.")
DWARF debugging format.")
(license (list license:asl2.0 license:expat))))
(define-public rust-git-version-0.3
(package
(name "rust-git-version")
(version "0.3.4")
(source
(origin
(method url-fetch)
(uri (crate-uri "git-version" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "1qj1rd19v8vg094b3fj0gy6ca53v93lhrl31wg1fs7g0y61qx4cl"))))
(build-system cargo-build-system)
(arguments
`(#:skip-build? #t
#:cargo-inputs
(("rust-git-version-macro" ,rust-git-version-macro-0.3)
("rust-proc-macro-hack" ,rust-proc-macro-hack-0.5))))
(home-page "https://github.com/fusion-engineering/rust-git-version")
(synopsis "Embed git information in your code at compile-time")
(description
"This crates compiles the git version (tag name, or hash otherwise) and
dirty state into your program.")
(license license:bsd-2)))
(define-public rust-git-version-macro-0.3
(package
(name "rust-git-version-macro")
(version "0.3.4")
(source
(origin
(method url-fetch)
(uri (crate-uri "git-version-macro" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "0mynlf8sfaa4xx7qff0qgnr339fbf1svgr569yip067fzm97ma9l"))))
(build-system cargo-build-system)
(arguments
`(#:skip-build? #t
#:cargo-inputs
(("rust-proc-macro-hack" ,rust-proc-macro-hack-0.5)
("rust-proc-macro2" ,rust-proc-macro2-1)
("rust-quote" ,rust-quote-1)
("rust-syn" ,rust-syn-1))))
(home-page "https://github.com/fusion-engineering/rust-git-version")
(synopsis "Internal macro crate for git-version")
(description
"This is an internal macro crate for git-version.")
(license license:bsd-2)))
(define-public rust-git2-0.13
(package
(name "rust-git2")
@ -16563,6 +16650,24 @@ reading and writing git repositories.")
("rust-thread-id" ,rust-thread-id-3)
("rust-time" ,rust-time-0.1))))))
(define-public rust-gjson-0.7
(package
(name "rust-gjson")
(version "0.7.5")
(source
(origin
(method url-fetch)
(uri (crate-uri "gjson" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "0vhary4ha77scriaw6r4nv16ha9pfzirm84sjc240csqwb542p10"))))
(build-system cargo-build-system)
(arguments `(#:skip-build? #t))
(home-page "https://github.com/tidwall/gjson.rs")
(synopsis "JSON parser for Rust")
(description "Gjson is a JSON parser for Rust.")
(license license:expat)))
(define-public rust-glium-0.25
(package
(name "rust-glium")
@ -17644,8 +17749,36 @@ their key-value pairs in a user controllable order.")
(("rust-bytes" ,rust-bytes-0.4)
("rust-http" ,rust-http-0.1))))))
(define-public rust-heapless-0.6
(package
(name "rust-heapless")
(version "0.6.1")
(source
(origin
(method url-fetch)
(uri (crate-uri "heapless" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "08il083hcffis6km4is24kf2j0cnqs0bzz2b196l495zkk9d8jv3"))))
(build-system cargo-build-system)
(arguments
`(#:skip-build? #t
#:cargo-inputs
(("rust-as-slice" ,rust-as-slice-0.1)
("rust-generic-array" ,rust-generic-array-0.14)
("rust-hash32" ,rust-hash32-0.1)
("rust-serde" ,rust-serde-1)
("rust-stable-deref-trait" ,rust-stable-deref-trait-1)
("rust-ufmt-write" ,rust-ufmt-write-0.1))))
(home-page "https://github.com/japaric/heapless")
(synopsis "@code{statice} friendly data structures")
(description "This package provides @code{static} friendly data structures
that don't require dynamic memory allocation.")
(license (list license:expat license:asl2.0))))
(define-public rust-heapless-0.5
(package
(inherit rust-heapless-0.6)
(name "rust-heapless")
(version "0.5.5")
(source
@ -17656,7 +17789,6 @@ their key-value pairs in a user controllable order.")
(sha256
(base32
"1h1d6s1f9zn0rz2vkdn0b42kcnkmlpd90yhfyqqhpirv38ws5a3k"))))
(build-system cargo-build-system)
(arguments
`(#:cargo-inputs
(("rust-as-slice" ,rust-as-slice-0.1)
@ -17667,12 +17799,7 @@ their key-value pairs in a user controllable order.")
("rust-ufmt-write" ,rust-ufmt-write-0.1))
#:cargo-development-inputs
(("rust-scoped-threadpool" ,rust-scoped-threadpool-0.1)
("rust-ufmt" ,rust-ufmt-0.1))))
(home-page "https://github.com/japaric/heapless")
(synopsis "@code{statice} friendly data structures")
(description "This package provides @code{static} friendly data structures
that don't require dynamic memory allocation.")
(license (list license:expat license:asl2.0))))
("rust-ufmt" ,rust-ufmt-0.1))))))
(define-public rust-heapsize-0.4
(package
@ -41170,17 +41297,17 @@ syntax extension expansion.")
(description "This package provides a backport of libsyntax.")
(license (list license:expat license:asl2.0))))
(define-public rust-sys-info-0.7
(define-public rust-sys-info-0.9
(package
(name "rust-sys-info")
(version "0.7.0")
(version "0.9.0")
(source
(origin
(method url-fetch)
(uri (crate-uri "sys-info" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "0facyh6hswp1i7airri8ly5kl6sv5bvkkd21vs51k2b3z22bvkz5"))))
(base32 "0fiqhnj1rk69rahz4077lzs8x72gv4zcyknqdg7k359k97pfrz1k"))))
(build-system cargo-build-system)
(arguments
`(#:skip-build? #t
@ -41193,6 +41320,19 @@ syntax extension expansion.")
"This Rust crate gathers system information.")
(license license:expat)))
(define-public rust-sys-info-0.7
(package
(inherit rust-sys-info-0.9)
(name "rust-sys-info")
(version "0.7.0")
(source
(origin
(method url-fetch)
(uri (crate-uri "sys-info" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "0facyh6hswp1i7airri8ly5kl6sv5bvkkd21vs51k2b3z22bvkz5"))))))
(define-public rust-sysctl-0.4
(package
(name "rust-sysctl")
@ -41245,27 +41385,26 @@ syntax extension expansion.")
(define-public rust-sysinfo-0.16
(package
(name "rust-sysinfo")
(version "0.16.1")
(version "0.16.5")
(source
(origin
(method url-fetch)
(uri (crate-uri "sysinfo" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "1rj3rdy1jd9la9a5xzwk0gcimln7qvzqf1sqwg9xi6cf0vvy453w"))))
(base32 "06x5kvd4glq35jjy23xj8p7nd64dk8g4kc0v9qdfhyr0y0792zjn"))))
(build-system cargo-build-system)
(arguments
`(#:skip-build? #t
#:cargo-inputs
(("rust-cc" ,rust-cc-1)
("rust-cfg-if" ,rust-cfg-if-1)
("rust-core-foundation-sys" ,rust-core-foundation-sys-0.8)
("rust-doc-comment" ,rust-doc-comment-0.3)
("rust-libc" ,rust-libc-0.2)
("rust-ntapi" ,rust-ntapi-0.3)
("rust-once-cell" ,rust-once-cell-1)
("rust-rayon" ,rust-rayon-1)
("rust-winapi" ,rust-winapi-0.3))))
(("rust-cfg-if" ,rust-cfg-if-1)
("rust-core-foundation-sys" ,rust-core-foundation-sys-0.8)
("rust-doc-comment" ,rust-doc-comment-0.3)
("rust-libc" ,rust-libc-0.2)
("rust-ntapi" ,rust-ntapi-0.3)
("rust-once-cell" ,rust-once-cell-1)
("rust-rayon" ,rust-rayon-1)
("rust-winapi" ,rust-winapi-0.3))))
(home-page "https://github.com/GuillaumeGomez/sysinfo")
(synopsis "System handler to interact with processes")
(description
@ -48469,6 +48608,32 @@ WebAssembly binary files.")
"Bindings for all Web APIs, a procedurally generated crate from WebIDL.")
(license (list license:expat license:asl2.0))))
(define-public rust-webbrowser-0.5
(package
(name "rust-webbrowser")
(version "0.5.5")
(source
(origin
(method url-fetch)
(uri (crate-uri "webbrowser" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "12hmi768mnpssfh9w61ys75v706jj3pcy4fliqq21dnnj1j1bbgc"))))
(build-system cargo-build-system)
(arguments
`(#:skip-build? #t
#:cargo-inputs
(("rust-web-sys" ,rust-web-sys-0.3)
("rust-widestring" ,rust-widestring-0.4)
("rust-winapi" ,rust-winapi-0.3))))
(home-page
"https://github.com/amodm/webbrowser-rs")
(synopsis "Open URLs in web browsers available on a platform")
(description
"Webbrowser-rs is a Rust library to open URLs in the web browsers
available on a platform.")
(license (list license:expat license:asl2.0))))
(define-public rust-webpki-0.21
(package
(name "rust-webpki")
@ -48762,20 +48927,20 @@ using @code{bindgen}.")
(define-public rust-which-4
(package
(name "rust-which")
(version "4.0.2")
(version "4.1.0")
(source
(origin
(method url-fetch)
(uri (crate-uri "which" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "1vqih4glz0kh3p08bl8mdzk4c02195ws7v6mfpyfrf5qw7vlxhc7"))))
(base32 "1zixp9631knhnvd8c3si4wn01fldq063s86jxlmwxwmx5kj52mdm"))))
(build-system cargo-build-system)
(arguments
`(#:skip-build? #t
#:cargo-inputs
(("rust-libc" ,rust-libc-0.2)
("rust-thiserror" ,rust-thiserror-1))))
(("rust-either" ,rust-either-1)
("rust-libc" ,rust-libc-0.2))))
(home-page "https://github.com/harryfei/which-rs.git")
(synopsis "Rust equivalent of Unix command @command{which}")
(description

View File

@ -487,16 +487,15 @@ should only be used as part of the Guix cups-pk-helper service.")
(define-public hplip
(package
(name "hplip")
(version "3.21.2")
(version "3.21.4")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/hplip/hplip/" version
"/hplip-" version ".tar.gz"))
(sha256
(base32
"0hbwx9d4c8177vi0gavz9pxi7rc97jciacndp90ms8327shj2121"))
"1lsa0g8lafnmfyia0vy9x1j9q2l80xjjm7clkrawrbg53y3x7ixx"))
(modules '((guix build utils)))
(patches (search-patches "hplip-remove-imageprocessor.patch"))
(snippet
'(begin
;; Delete non-free blobs: .so files, pre-compiled
@ -505,7 +504,14 @@ should only be used as part of the Guix cups-pk-helper service.")
(find-files "."
(lambda (file stat)
(elf-file? file))))
;; Now remove some broken references to them.
(delete-file "prnt/hpcups/ImageProcessor.h")
(substitute* "Makefile.in"
((" -lImageProcessor ") " ")
(("(\\@HPLIP_BUILD_TRUE\\@[[:blank:]]*).*libImageProcessor.*"
_ prefix)
(string-append prefix ":; \\\n")))
;; Install binaries under libexec/hplip instead of
;; share/hplip; that'll at least ensure they get stripped.
@ -530,7 +536,8 @@ should only be used as part of the Guix cups-pk-helper service.")
;; TODO install apparmor profile files eventually.
(arguments
`(#:configure-flags
`("--disable-network-build"
`("--disable-imageProcessor-build"
"--disable-network-build"
,(string-append "--prefix=" (assoc-ref %outputs "out"))
,(string-append "--sysconfdir=" (assoc-ref %outputs "out") "/etc")
,(string-append "LDFLAGS=-Wl,-rpath="

View File

@ -50,6 +50,7 @@
;;; Copyright © 2021 Greg Hogan <code@greghogan.com>
;;; Copyright © 2021 David Larsson <david.larsson@selfhosted.xyz>
;;; Copyright © 2021 Pjotr Prins <pjotr.guix@thebird.nl>
;;; Copyright © 2021 Bonface Munyoki Kilyungi <me@bonfacemunyoki.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -114,6 +115,7 @@
#:use-module (gnu packages popt)
#:use-module (gnu packages protobuf)
#:use-module (gnu packages python)
#:use-module (gnu packages python-check)
#:use-module (gnu packages python-crypto)
#:use-module (gnu packages python-science)
#:use-module (gnu packages python-web)
@ -2907,6 +2909,28 @@ simple and Pythonic domain language.")
(define-public python2-sqlalchemy
(package-with-python2 python-sqlalchemy))
(define-public python-sqlalchemy-stubs
(package
(name "python-sqlalchemy-stubs")
(version "0.4")
(source
(origin
(method url-fetch)
(uri (pypi-uri "sqlalchemy-stubs" version))
(sha256
(base32
"1bppjmv7v7m0q8gwg791pgxbx4ay7mna0zq204pn9vw28kfxcrf6"))))
(build-system python-build-system)
(propagated-inputs
`(("python-mypy" ,python-mypy)
("python-typing-extensions" ,python-typing-extensions)))
(home-page "https://github.com/dropbox/sqlalchemy-stubs")
(synopsis "SQLAlchemy stubs and mypy plugin")
(description "This package contains type stubs and a mypy plugin to
provide more precise static types and type inference for SQLAlchemy
framework.")
(license license:asl2.0)))
(define-public python-sqlalchemy-utils
(package
(name "python-sqlalchemy-utils")

View File

@ -19,6 +19,7 @@
;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
;;; Copyright © 2020 Raghav Gururajan <raghavgururajan@disroot.org>
;;; Copyright © 2021 Michael Rohleder <mike@rohleder.de>
;;; Copyright © 2021 Mathieu Othacehe <othacehe@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -1067,19 +1068,27 @@ since they are better handled by external tools.")
(define-public xfe
(package
(name "xfe")
(version "1.43.2")
(version "1.44")
(source
(origin
(method url-fetch)
(uri
(string-append "mirror://sourceforge/xfe/xfe/" version "/"
"xfe-" version ".tar.gz"))
"xfe-" version ".tar.xz"))
(sha256
(base32 "1fl51k5jm2vrfc2g66agbikzirmp0yb0lqhmsssixfb4mky3hpzs"))))
(base32 "1dihq03jqjllb69r78d9ihjjadi39v7sgzdf68qpxz5xhp8i8k2r"))))
(build-system gnu-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-potfiles
(lambda _
;; To add missing entry 'intl/plural.c' to potfiles list.
;; Refer to https://sourceforge.net/p/xfe/bugs/257/
(substitute* "po/POTFILES.in"
(("src/help.h")
(string-append "src/help.h\n"
"intl/plural.c")))))
(add-after 'unpack 'patch-bin-dirs
(lambda* (#:key inputs #:allow-other-keys)
(let* ((bash (assoc-ref inputs "bash"))
@ -1253,3 +1262,39 @@ and a partitioning of the heap between kinds of memory (for NUMA).")
(description "mmc-utils is a command-line tool for configuring and
inspecting MMC storage devices from userspace.")
(license license:gpl2))))
(define-public bmaptools
(package
(name "bmaptools")
(version "3.6")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/intel/bmap-tools")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"01xzrv5nvd2nvj91lz4x9s91y9825j9pj96z0ap6yvy3w2dgvkkl"))))
(build-system python-build-system)
(arguments
'(#:phases
(modify-phases %standard-phases
(replace 'check
(lambda _
;; XXX: Remove failing test.
(invoke "nosetests" "-v"
"--exclude" "test_bmap_helpers"))))))
(native-inputs
`(("python-mock" ,python-mock)
("python-nose" ,python-nose)))
(propagated-inputs
`(("python-six" ,python-six)))
(home-page "https://github.com/intel/bmap-tools")
(synopsis "Create block map for a file or copy a file using block map")
(description "Bmaptool is a tool for creating the block map (bmap) for a
file and copying files using the block map. The idea is that large files,
like raw system image files, can be copied or flashed a lot faster and more
reliably with @code{bmaptool} than with traditional tools, like @code{dd} or
@code{cp}.")
(license license:gpl2)))

View File

@ -813,7 +813,7 @@ Extensions} (DNSSEC).")
(define-public knot
(package
(name "knot")
(version "3.0.5")
(version "3.0.6")
(source
(origin
(method git-fetch)
@ -822,7 +822,7 @@ Extensions} (DNSSEC).")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "16rgcmgj21w2niyz45d3zjlci9i22gxcvfzqw7g5zwsjdy9610nx"))
(base32 "0mjgjx43yb3w688jw16g5m1724wb0wnv4y7di2rslrp0s11wl2a9"))
(modules '((guix build utils)))
(snippet
'(begin

View File

@ -97,6 +97,7 @@
;;; Copyright © 2021 Stefan Reichör <stefan@xsteve.at>
;;; Copyright © 2021 Simon Tournier <zimon.toutoune@gmail.com>
;;; Copyright © 2021 Eugene Klimov <lipklim@mailbox.org>
;;; Copyright © 2021 Zheng Junjie <873216071@qq.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -1881,14 +1882,14 @@ incrementally confined in Isearch manner.")
(define emacs-emms-print-metadata
(package
(name "emacs-emms-print-metadata")
(version "7.1")
(version "7.2")
(source
(origin
(method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/"
"emms-" version ".tar"))
(sha256
(base32 "1dng8dy0w0wsdvvnjnrllwv5a8wq3kj20jik994b7prdx5dn6y52"))))
(base32 "11vqqh9rnzibsfw7wx62rgzl8i8ldpf0hv1sj43nhl5c6dlc8d5z"))))
(build-system gnu-build-system)
(arguments
`(#:make-flags '("emms-print-metadata")
@ -12779,13 +12780,13 @@ containing words from the Rime project.")
(define-public emacs-pyim
(package
(name "emacs-pyim")
(version "3.7.3")
(version "3.7.6")
(source
(origin
(method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/pyim-" version ".tar"))
(sha256
(base32 "0h6cp48hjdfnwbi799hrar5hlcag2339ygdq8qfds2iawrzk6y74"))))
(base32 "1crimmvyppjmds9shfvxy9j5zi3mk133bv5av0fgicm7ddkivksr"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-async" ,emacs-async)
@ -25720,7 +25721,8 @@ REPL appropriate to the current major mode.")
(base32 "1a50cziwg7lpgh26yvwxs46jfyfq1m0l6igbg5g5m288mz4d3an9"))))
(build-system emacs-build-system)
(arguments
'(#:phases
'(#:include (cons "\\.so$" %default-include)
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-rime-data-path
(lambda* (#:key inputs #:allow-other-keys)
@ -25732,13 +25734,7 @@ REPL appropriate to the current major mode.")
#t))
(add-before 'install 'build-emacs-module
(lambda _
(invoke "make" "lib")))
(add-after 'install 'install-emacs-module
(lambda* (#:key outputs #:allow-other-keys)
(install-file "librime-emacs.so"
(string-append (assoc-ref outputs "out")
"/share/emacs/site-lisp"))
#t)))))
(invoke "make" "lib"))))))
(inputs
`(("librime" ,librime)
("rime-data" ,rime-data)))

View File

@ -1467,7 +1467,7 @@ handling communication with eBUS devices connected to a 2-wire bus system
(define-public ucsim
(package
(name "ucsim")
(version "0.6-pre67")
(version "0.6-pre68")
(source (origin
(method url-fetch)
(uri (string-append
@ -1475,7 +1475,7 @@ handling communication with eBUS devices connected to a 2-wire bus system
"devel/ucsim-" version ".tar.gz"))
(sha256
(base32
"0aahj9pbfjphjrm4hgs9pfmp6d5aikaq4yvxlrvhywjinnnf0qp1"))))
"1bfj21f5pcfcg1xqqynlcfr8mn6qj5705cgc2lfr2s3n97qsd9df"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags '("--enable-avr-port"
@ -1547,6 +1547,12 @@ and Zilog Z80 families, plus many of their variants.")
(lambda _
(substitute* (find-files "." "(\\.mk$|\\.in$)")
(("/bin/sh") (which "sh")))
;; --disable-ucsim disables sdcc-misc, patch it back in.
(substitute* "Makefile.in"
(("debugger/mcs51" line)
(string-append line "\n"
"TARGETS += sdcc-misc\n"
"PKGS += $(SDCC_MISC)")))
#t)))))
(home-page "http://sdcc.sourceforge.net")
(synopsis "C compiler suite for 8-bit microcontrollers")

View File

@ -39,6 +39,7 @@
#:use-module (guix utils)
#:use-module (gnu packages)
#:use-module (gnu packages acl)
#:use-module (gnu packages admin)
#:use-module (gnu packages attr)
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
@ -56,12 +57,14 @@
#:use-module (gnu packages glib)
#:use-module (gnu packages gnupg)
#:use-module (gnu packages golang)
#:use-module (gnu packages guile)
#:use-module (gnu packages kerberos)
#:use-module (gnu packages libffi)
#:use-module (gnu packages linux)
#:use-module (gnu packages nfs)
#:use-module (gnu packages onc-rpc)
#:use-module (gnu packages openldap)
#:use-module (gnu packages perl)
#:use-module (gnu packages photo)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
@ -72,6 +75,7 @@
#:use-module (gnu packages rsync)
#:use-module (gnu packages sssd)
#:use-module (gnu packages sqlite)
#:use-module (gnu packages time)
#:use-module (gnu packages tls)
#:use-module (gnu packages valgrind)
#:use-module (gnu packages version-control)
@ -854,6 +858,161 @@ APFS.")
(home-page "https://github.com/sgan81/apfs-fuse")
(license license:gpl2+))))
(define-public xfstests
;; The last release (1.1.0) is from 2011.
(let ((revision "0")
(commit "1c18b9ec2fcc94bd05ecdd136aa51c97bf3fa70d"))
(package
(name "xfstests")
(version (git-version "1.1.0" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "git://git.kernel.org/pub/scm/fs/xfs/xfstests-dev.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "0rrv0rs9nhaza0jk5k0bj27w4lcd1s4a1ls8nr679qi02bgx630x"))))
(build-system gnu-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-tool-locations
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "common/config"
;; Make absolute file names relative.
(("(MKFS_PROG=\").*(\")" _ pre post)
(string-append pre "mkfs" post)))
(for-each (lambda (file)
(substitute* file
(("( -s|#.|[= ])(/bin/sh|/bin/bash)" _ pre match)
(string-append pre
(assoc-ref inputs "bash")
match))
(("/bin/(rm|true)" match)
(string-append (assoc-ref inputs "coreutils")
match))
(("/usr(/bin/time)" _ match)
(string-append (assoc-ref inputs "time")
match))))
(append (find-files "common" ".*")
(find-files "tests" ".*")
(find-files "tools" ".*")
(find-files "src" "\\.(c|sh)$")))))
(replace 'bootstrap
(lambda* (#:key make-flags #:allow-other-keys)
(substitute* "Makefile"
;; Avoid a mysterious (to me) permission denied error.
(("cp ") "cp -f "))
(substitute* "m4/package_utilies.m4"
;; Fix the bogus hard-coded paths for every single binary.
(("(AC_PATH_PROG\\(.*, ).*(\\))" _ pre post)
(string-append pre (getenv "PATH") post)))
(apply invoke "make" "configure" make-flags)))
(add-after 'install 'wrap-xfstests/check
;; Keep wrapping distinct from 'create-helper-script below: users
;; must be able to invoke xfstests/check directly if they prefer.
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out")))
(wrap-program (string-append out "/xfstests/check")
;; Prefix the user's PATH with the minimum required tools.
;; The suite has many other optional dependencies and will
;; automatically select tests based on the original PATH.
`("PATH" ":" prefix
,(map (lambda (name)
(let ((input (assoc-ref inputs name)))
(string-append input "/bin:"
input "/sbin")))
(list "acl"
"attr"
"coreutils"
"inetutils"
"xfsprogs")))))))
(add-after 'install 'create-helper
;; Upstream installs only a check script that's not in $PATH and
;; would try to write to the store without explaining how to change
;; that. Install a simple helper script to make it discoverable.
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(check (string-append out "/xfstests/check"))
(bin (string-append out "/bin"))
(helper (string-append bin "/xfstests-check")))
(mkdir-p bin)
(with-output-to-file helper
(lambda _
(format #t "#!~a --no-auto-compile\n!#\n"
(string-append (assoc-ref inputs "guile")
"/bin/guile"))
(write
`(begin
(define (try proc dir)
"Try to PROC DIR. Return DIR on success, else #f."
(with-exception-handler (const #f)
(lambda _ (proc dir) dir)
#:unwind? #t))
(define args
(cdr (command-line)))
(when (or (member "--help" args)
(member "-h" args))
(format #t "Usage: ~a [OPTION]...
This Guix helper sets up a new writable RESULT_BASE if it's unset, then executes
xfstest's \"~a\" command (with any OPTIONs) as documented below.\n\n"
,(basename helper)
,(basename check)))
(let* ((gotenv-base (getenv "RESULT_BASE"))
(base (or gotenv-base
(let loop ((count 0))
(or (try mkdir
(format #f "xfstests.~a"
count))
(loop (+ 1 count))))))
(result-base (if (string-prefix? "/" base)
base
(string-append (getcwd) "/"
base))))
(setenv "RESULT_BASE" result-base)
;; CHECK must run in its own directory or will fail.
(chdir ,(dirname check))
(let ((status
(status:exit-val (apply system* ,check args))))
(unless gotenv-base
(try rmdir result-base))
status))))))
(chmod helper #o755)))))))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
("libtool" ,libtool)))
(inputs
`(("acl" ,acl)
("attr" ,attr)
("guile" ,guile-3.0) ; for our xfstests-check helper script
("inetutils" ,inetutils) ; for hostname
("libuuid" ,util-linux "lib")
("perl" ,perl) ; to automagically patch shebangs
("time" ,time)
("xfsprogs" ,xfsprogs)))
(home-page "https://git.kernel.org/pub/scm/fs/xfs/xfstests-dev.git")
(synopsis "File system @acronym{QA, Quality Assurance} test suite")
(description
"The @acronym{FSQA, File System Quality Assurance} regression test suite,
more commonly known as xfstests, comprises over 1,500 tests that exercise
(@dfn{torture}) both the user- and kernel-space parts of many different file
systems.
As the package's name subtly implies, it was originally developed to test the
XFS file system. Today, xfstests is the primary test suite for all major file
systems supported by the kernel Linux including XFS, ext4, and Btrfs, but also
virtual and network file systems such as NFS, 9P, and the overlay file system.
The packaged @command{check} script is not in @env{PATH} but can be invoked
with the included @command{xfstests-check} helper.")
(license license:gpl2))))
(define-public zfs
(package
(name "zfs")
@ -983,6 +1142,84 @@ originally developed for Solaris and is now maintained by the OpenZFS
community.")
(license license:cddl1.0)))
(define-public zfs-auto-snapshot
(package
(name "zfs-auto-snapshot")
(version "1.2.4")
(source
(origin
(method git-fetch)
(uri (git-reference
(url
(string-append "https://github.com/zfsonlinux/" name))
(commit
(string-append "upstream/" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0m4xw7h5qlbn5zdf9wb137pcr5l7hyrr7w2dgr16dfm5ay64vvfq"))))
(build-system gnu-build-system)
(inputs
;; Note: if you are inheriting from the above zfs package in order
;; to provide a specific stable kernel version, you should also
;; inherit this package and replace the sole input below.
`(("zfs" ,zfs)))
(arguments
`(#:tests? #f ; No tests
#:phases
(modify-phases %standard-phases
(delete 'configure)
(delete 'build)
;; Guix System may not have a traditional cron system, but
;; the cron scripts installed by this package are convenient
;; to use as targets for an mcron job specification, so make
;; sure they can be run in-store.
(add-before 'install 'fix-scripts
(lambda* (#:key outputs inputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(zfs-auto-snapshot (string-append
out
"/sbin/zfs-auto-snapshot"))
(zfs-package (assoc-ref inputs "zfs"))
(zpool (string-append
zfs-package
"/sbin/zpool"))
(zfs (string-append
zfs-package
"/sbin/zfs")))
(substitute* '("etc/zfs-auto-snapshot.cron.daily"
"etc/zfs-auto-snapshot.cron.frequent"
"etc/zfs-auto-snapshot.cron.hourly"
"etc/zfs-auto-snapshot.cron.monthly"
"etc/zfs-auto-snapshot.cron.weekly")
(("zfs-auto-snapshot")
zfs-auto-snapshot))
(substitute* "src/zfs-auto-snapshot.sh"
(("LC_ALL=C zfs list")
(string-append "LC_ALL=C " zfs " list"))
(("LC_ALL=C zpool status")
(string-append "LC_ALL=C " zpool " status"))
(("zfs snapshot")
(string-append zfs " snapshot"))
(("zfs destroy")
(string-append zfs " destroy"))))))
;; Provide DESTDIR and PREFIX on make command.
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(invoke "make" "install"
"PREFIX="
(string-append "DESTDIR=" out)))
#t)))))
(home-page "https://github.com/zfsonlinux/zfs-auto-snapshot")
(synopsis "Automatically create, rotate and destroy ZFS snapshots")
(description "An alternative implementation of the zfs-auto-snapshot
service for Linux that is compatible with zfs-linux (now OpenZFS) and
zfs-fuse.
On Guix System, you will need to invoke the included shell scripts as
@code{job} definitions in your @code{operating-system} declaration.")
(license license:gpl2+)))
(define-public mergerfs
(package
(name "mergerfs")

View File

@ -23,6 +23,7 @@
;;; Copyright © 2020 Anders Thuné <asse.97@gmail.com>
;;; Copyright © 2020 Raghav Gururajan <raghavgururajan@disroot.org>
;;; Copyright © 2021 Brendan Tildesley <mail@brendan.scot>
;;; Copyright © 2021 pineapples <guixuser6392@protonmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -95,6 +96,7 @@
#:use-module (gnu packages python)
#:use-module (gnu packages python-crypto)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages samba)
#:use-module (gnu packages sqlite)
#:use-module (gnu packages valgrind)
#:use-module (gnu packages video)
@ -827,6 +829,36 @@ GNOME Shell. The @command{localectl} command-line tool allows you to interact
with localed. This package is extracted from the broader systemd package.")
(license license:lgpl2.1+)))
(define-public seatd
(package
(name "seatd")
(version "0.5.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://git.sr.ht/~kennylevinsen/seatd")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1kglq8v4rnr3415mfaghyv2s2f8mxsy5s881gmm2908ig4n4j297"))))
(build-system meson-build-system)
(arguments
`(#:configure-flags '("-Dlogind=enabled")))
(native-inputs
`(("pkg-config" ,pkg-config)
("scdoc" ,scdoc)))
(inputs
`(("elogind" ,elogind)))
(home-page "https://sr.ht/~kennylevinsen/seatd")
(synopsis "Seat management daemon and library")
(description
"This package provides a minimal seat management daemon whose task is to
mediate access to shared devices, such as graphics and input, for applications
that require it. It also provides a universal seat management library that
allows applications to use whatever seat management is available.")
(license license:expat)))
(define-public packagekit
(package
(name "packagekit")
@ -2358,3 +2390,35 @@ which uses GTK+ and various pieces of GNOME infrastructure, such as the
@code{org.gnome.Shell.Screenshot} or @code{org.gnome.SessionManager} D-Bus
interfaces.")
(license license:lgpl2.1+)))
(define-public xdg-desktop-portal-wlr
(package
(name "xdg-desktop-portal-wlr")
(version "0.3.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/emersion/xdg-desktop-portal-wlr")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"18nlkqqxgxh7k0r2nk867wnp2nmaiinl6z67lrfv7rmiym0x82p8"))))
(build-system meson-build-system)
(native-inputs
`(("cmake" ,cmake)
("pkg-config" ,pkg-config)))
(inputs
`(("elogind" ,elogind)
("iniparser" ,iniparser)
("pipewire" ,pipewire-0.3)
("wayland" ,wayland)
("wayland-protocols" ,wayland-protocols)))
(home-page "https://github.com/emersion/xdg-desktop-portal-wlr")
(synopsis "@code{xdg-desktop-portal} backend for wlroots")
(description
"This package provides @code{xdg-desktop-portal-wlr}. This project
seeks to add support for the screenshot, screencast, and possibly
remote-desktop @code{xdg-desktop-portal} interfaces for wlroots based
compositors.")
(license license:expat)))

View File

@ -348,14 +348,14 @@ files) into @file{.grf} and/or @file{.nfo} files.")
(define-public python-sge
(package
(name "python-sge")
(version "1.7")
(version "2.0.post0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "sge" version))
(sha256
(base32
"02fn6v6bxk3sngwd4kd3mglrp0jlnhx7x6h8nnkik6wdv150a0wv"))))
"0s5d5qzlzfmqb10iyrqi62n36ll94d99xjaznp5ca6dz1b91qkvr"))))
(build-system python-build-system)
(propagated-inputs
`(("python-pygame" ,python-pygame)

View File

@ -19,7 +19,7 @@
;;; Copyright © 2016 Albin Söderqvist <albin@fripost.org>
;;; Copyright © 2016, 2017, 2018, 2019, 2020 Kei Kebreau <kkebreau@posteo.net>
;;; Copyright © 2016 Alex Griffin <a@ajgrf.com>
;;; Copyright © 2016, 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2017, 2018, 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2016 Steve Webber <webber.sl@gmail.com>
;;; Copyright © 2017 Adonay "adfeno" Felipe Nogueira <https://libreplanet.org/wiki/User:Adfeno> <adfeno@hyperbola.info>
@ -2086,8 +2086,8 @@ Every puzzle has a complete solution, although there may be more than one.")
(license license:gpl2+)))
(define-public retux
(let ((release "1.4.1")
(revision 1))
(let ((release "1.5")
(revision 0))
(package
(name "retux")
(version (if (zero? revision)
@ -2099,10 +2099,10 @@ Every puzzle has a complete solution, although there may be more than one.")
(uri (string-append "https://github.com/retux-game/retux/"
"releases/download/v"
version "/retux-"
release "-src.tar.gz"))
release "-src.zip"))
(sha256
(base32
"1vrldg2qh2gqfswj7vkpc589ldrrjd903j6cnfdik9zh0jhlq4h2"))))
"1yima7s36hn2kh5h08lczc5iid8jbdxk7x1g5ms6knaznzj7rll3"))))
(build-system python-build-system)
(arguments
`(#:tests? #f ; no check target
@ -2125,6 +2125,8 @@ Every puzzle has a complete solution, although there may be more than one.")
(copy-file "retux.py" (string-append bin "/retux"))
(copy-recursively "data" data)
#t))))))
(native-inputs
`(("unzip" ,unzip)))
(inputs
`(("python-sge-pygame" ,python-sge-pygame)
("python-six" ,python-six)
@ -3154,7 +3156,7 @@ asynchronously and at a user-defined speed.")
(define-public chess
(package
(name "chess")
(version "6.2.7")
(version "6.2.8")
(source
(origin
(method url-fetch)
@ -3162,7 +3164,7 @@ asynchronously and at a user-defined speed.")
".tar.gz"))
(sha256
(base32
"0ilq4bfl0lwyzf11q7n2skydjhalfn3bgxhrp5hjxs5bc5d6fdp5"))))
"0irqb0wl30c2i1rs8f6mm1c89l7l9nxxv7533lr408h1m36lc16m"))))
(build-system gnu-build-system)
(arguments
'(#:phases

View File

@ -58,6 +58,7 @@
;;; Copyright © 2020 Tim Gesthuizen <tim.gesthuizen@yahoo.de>
;;; Copyright © 2020, 2021 Andy Tai <atai@atai.org>
;;; Copyright © 2020, 2021 Sébastien Lerique <sl@eauchat.org>
;;; Copyright © 2021 Trevor Hass <thass@okstate.edu>
;;;
;;; This file is part of GNU Guix.
;;;
@ -10451,7 +10452,7 @@ apply fancy special effects and lets you share the fun with others.")
(define-public passwordsafe
(package
(name "passwordsafe")
(version "3.99.2")
(version "5.0")
(source
(origin
(method git-fetch)
@ -10460,7 +10461,7 @@ apply fancy special effects and lets you share the fun with others.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0pi2l4gwf8paxm858mxrcsk5nr0c0zw5ycax40mghndb6b1qmmhf"))))
(base32 "1xh64bbg10gnfzlck5jvqy2zk6hbk9cyqgv85xc9kbdvs8n4lhgh"))))
(build-system meson-build-system)
(arguments
`(#:glib-or-gtk? #t
@ -10490,7 +10491,7 @@ apply fancy special effects and lets you share the fun with others.")
`(("glib" ,glib)
("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
("gtk+" ,gtk+)
("libhandy" ,libhandy-0.0)
("libhandy" ,libhandy)
("libpwquality" ,libpwquality)
("python-pygobject" ,python-pygobject)
("python-pykeepass" ,python-pykeepass)))

View File

@ -3,7 +3,7 @@
;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
;;; Copyright © 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2017, 2018, 2019, 2021 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Alex Griffin <a@ajgrf.com>
;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2017, 2018 Nikita <nikita@n0.is>
@ -948,12 +948,6 @@ from forcing GEXP-PROMISE."
`(#:tests? #f ; no check target
#:out-of-source? #t ; must be built outside of the source directory
;; XXX: There are RUNPATH issues such as
;; $prefix/lib/icecat-31.6.0/plugin-container NEEDing libmozalloc.so,
;; which is not in its RUNPATH, but they appear to be harmless in
;; practice somehow. See <http://hydra.gnu.org/build/378133>.
#:validate-runpath? #f
#:configure-flags `("--enable-default-toolkit=cairo-gtk3-wayland"
"--with-distribution-id=org.gnu"
@ -1201,6 +1195,9 @@ from forcing GEXP-PROMISE."
(setenv "AUTOCONF" (which "autoconf")) ; must be autoconf-2.13
(setenv "CC" "gcc") ; apparently needed when Stylo is enabled
(setenv "MOZ_BUILD_DATE" ,%icecat-build-id) ; avoid timestamp
(setenv "LDFLAGS" (string-append "-Wl,-rpath="
(assoc-ref outputs "out")
"/lib/icecat"))
(mkdir "../build")
(chdir "../build")
(format #t "build directory: ~s~%" (getcwd))

View File

@ -36,6 +36,8 @@
;;; Copyright © 2021 Bonface Munyoki Kilyungi <me@bonfacemunyoki.com>
;;; Copyright © 2021 Xinglu Chen <public@yoctocell.xyz>
;;; Copyright © 2021 Leo Le Bouter <lle-bout@zaclys.net>
;;; Copyright © 2021 Zelphir Kaltstahl <zelphirkaltstahl@posteo.de>
;;; Copyright © 2021 Oleg Pykhalov <go.wigust@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -361,13 +363,13 @@ $(datadir)/guile/site/$(GUILE_EFFECTIVE_VERSION)\n"))
dictionary and suggesting spelling corrections.")
(license license:gpl3+)))
(define-public guile-bash
(define-public guile2.0-bash
;; This project is currently retired. It was initially announced here:
;; <https://lists.gnu.org/archive/html/guile-user/2015-02/msg00003.html>.
(let ((commit "1eabc563ca5692b3e08d84f1f0e6fd2283284469")
(revision "0"))
(package
(name "guile-bash")
(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")
@ -430,6 +432,25 @@ enable -f ~/.guix-profile/lib/bash/libguile-bash.so scm
and then run @command{scm example.scm}.")
(license license:gpl3+))))
(define-public guile-bash
(package
(inherit guile2.0-bash)
(name "guile-bash")
(inputs
`(("guile" ,guile-3.0-latest)
,@(assoc-remove! (package-inputs guile2.0-bash) "guile")))
(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)))))
(define-public guile-8sync
(package
(name "guile-8sync")
@ -2106,6 +2127,38 @@ microAdapton. Both miniAdapton and microAdapton are designed to be easy to
understand, extend, and port to host languages other than Scheme.")
(license license:expat))))
(define-public guile-raw-strings
(let ((commit "aa1cf783f2542811b473f797e12490920b779baa")
(revision "0"))
(package
(name "guile-raw-strings")
(version (git-version "0.0.0" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/lloda/guile-raw-strings")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"1r2gx86zw5hb6byllra3nap3fw9p7q7rvdmg6qn9myrdxyjpns3l"))))
(build-system guile-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'build 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "guile" "-L" "." "-s" "test.scm")))))))
(native-inputs
`(("guile" ,guile-3.0)))
(home-page "https://github.com/lloda/guile-raw-strings")
(synopsis "Guile reader extension for `raw strings'")
(description "This package provides A Guile reader extension for `raw
strings', it lets you write verbatim strings without having to escape double
quotes. ")
(license license:public-domain))))
(define-public guile-reader
(package
(name "guile-reader")
@ -4665,3 +4718,27 @@ properties inspired by ghc-quickcheck. You can use it to express properties,
which functions should satisfy, as Scheme code and then check whether they hold
in a large number of randomly generated test cases.")
(license license:gpl3+)))
(define-public guile-fslib
(package
(name "guile-fslib")
(version "0.2.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://notabug.org/ZelphirKaltstahl/guile-fslib/")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"118d84p443w7hrslv8hjyhgws631ia08mggiyklkmk0b9plfdsvz"))))
(build-system guile-build-system)
(inputs
`(("guile" ,guile-3.0)))
(home-page "https://notabug.org/ZelphirKaltstahl/guile-fslib")
(synopsis "Helper functions for working with locations in file systems")
(description
"This package contains helper functions for working with file system
locations.")
(license license:agpl3+)))

View File

@ -316,8 +316,42 @@ without requiring the source code to be rewritten.")
"share/guile/site/3.0")))))))
(define-public guile-3.0-latest
;; The latest 3.0.x version.
guile-3.0)
;; TODO: Make this 'guile-3.0' on the next rebuild cycle.
(package
(inherit guile-3.0)
(version "3.0.7")
(source (origin
(inherit (package-source guile-3.0)) ;preserve snippet
(patches '())
(uri (string-append "mirror://gnu/guile/guile-"
version ".tar.xz"))
(sha256
(base32
"1dwiwsrpm4f96alfnz6wibq378242z4f16vsxgy1n9r00v3qczgm"))))
;; Build with the bundled mini-GMP to avoid interference with GnuTLS' own
;; use of GMP via Nettle: <https://issues.guix.gnu.org/46330>. Use
;; LIBGC/DISABLE-MUNMAP to work around <https://bugs.gnu.org/40525>.
;; Remove libltdl, which is no longer used.
(propagated-inputs
`(("bdw-gc" ,libgc/disable-munmap)
,@(srfi-1:fold srfi-1:alist-delete (package-propagated-inputs guile-3.0)
'("gmp" "libltdl" "bdw-gc"))))
(arguments
(substitute-keyword-arguments (package-arguments guile-3.0)
((#:configure-flags flags ''())
`(cons "--enable-mini-gmp" ,flags))))))
(define-public guile-3.0/libgc-7
;; Using libgc-7 avoid crashes that can occur, particularly when loading
;; data in to the Guix Data Service:
;; https://debbugs.gnu.org/cgi/bugreport.cgi?bug=40525
(hidden-package
(package
(inherit guile-3.0-latest)
(propagated-inputs
`(("bdw-gc" ,libgc-7)
,@(srfi-1:alist-delete "bdw-gc" (package-propagated-inputs guile-3.0)))))))
(define-public guile-3.0/fixed
;; A package of Guile that's rarely changed. It is the one used in the

View File

@ -356,7 +356,7 @@ 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.12-version "5.12.2")
(define-public linux-libre-5.12-version "5.12.3")
(define deblob-scripts-5.12
(linux-libre-deblob-scripts
linux-libre-5.12-version
@ -364,12 +364,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "1qp25fd4wgjyk7dzdq9yirm1z5w68sd1p3wv8lch8259i51gwjnf")))
(define-public linux-libre-5.12-pristine-source
(let ((version linux-libre-5.12-version)
(hash (base32 "03gp5vq8vkwvksjsa1birds37rmrr73s9ik6m1wvgz8mdncvk64c")))
(hash (base32 "13c7jbizf254rh4arvlgzk87vx7sz6psba47jnax23lbgal18dqk")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-5.12)))
(define-public linux-libre-5.11-version "5.11.19")
(define-public linux-libre-5.11-version "5.11.20")
(define deblob-scripts-5.11
(linux-libre-deblob-scripts
linux-libre-5.11-version
@ -377,7 +377,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "0yvr80g200hdryz54gdnzj4fl38pf7g4qbgj475rhcfwixhp1j7n")))
(define-public linux-libre-5.11-pristine-source
(let ((version linux-libre-5.11-version)
(hash (base32 "0jrb8wbxj0dadyadggcn49hlxzxgz8mz8xr0ckgbnnvb8snikvjs")))
(hash (base32 "15q7pw1wvl6ndvb6154p6vjr4qa4fa6lpbqpxvwy2kywc2jyxykk")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-5.11)))
@ -385,7 +385,7 @@ 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.10-version "5.10.35")
(define-public linux-libre-5.10-version "5.10.36")
(define deblob-scripts-5.10
(linux-libre-deblob-scripts
linux-libre-5.10-version
@ -393,12 +393,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "0hh27ccqimagr3aij7ygwikxw66y63sqwd0xlf49bhpjd090r9a7")))
(define-public linux-libre-5.10-pristine-source
(let ((version linux-libre-5.10-version)
(hash (base32 "1zcqsjzqgcvlhkjwhzs6sxgbhzkfg898pbisivjqfymp8nfs2dxc")))
(hash (base32 "0s5jw7y17hnl66iybw6f4pbc5j5rilphqbv3iql22wq053vyg749")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-5.10)))
(define-public linux-libre-5.4-version "5.4.117")
(define-public linux-libre-5.4-version "5.4.118")
(define deblob-scripts-5.4
(linux-libre-deblob-scripts
linux-libre-5.4-version
@ -406,7 +406,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "1xghbbnaisjd0k1klbyn1p7r6r4x5a1bpmkm56a3gh2zvw4s7mj8")))
(define-public linux-libre-5.4-pristine-source
(let ((version linux-libre-5.4-version)
(hash (base32 "0w679qymqh8dlb1mh2vxr382m1pzxdjwlp3bqzjr4043fmbrp62f")))
(hash (base32 "06w2vhw6pdy49n3dcnq12bn50glbg9pwaqvs4nlzbljg4yf50w6r")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-5.4)))
@ -4416,14 +4416,14 @@ isolation or root privileges.")
(define-public hdparm
(package
(name "hdparm")
(version "9.61")
(version "9.62")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/hdparm/hdparm/"
"hdparm-" version ".tar.gz"))
(sha256
(base32
"0hskvzsg58hw8abkkmxh5kky0hhilv516870x2bq62zihww1q6ns"))))
"0zvppv8qw0y1shlhn34iq1g4883i1cywsa514n595nmyrmsrs3rc"))))
(build-system gnu-build-system)
(arguments
`(#:make-flags
@ -5163,7 +5163,7 @@ and copy/paste text in the console and in xterm.")
(define-public btrfs-progs
(package
(name "btrfs-progs")
(version "5.11.1")
(version "5.12")
(source (origin
(method url-fetch)
(uri (string-append "mirror://kernel.org/linux/kernel/"
@ -5171,7 +5171,7 @@ and copy/paste text in the console and in xterm.")
"btrfs-progs-v" version ".tar.xz"))
(sha256
(base32
"1zpbpmq8qndwls40yg2c9xj9ca6mcxdziadj5i8fbi3ffp2crap3"))))
"0mgdcqyww20fvh0js717yvla1hkky12c6dfhascicmrfw5fdcfcf"))))
(build-system gnu-build-system)
(outputs '("out"
"static")) ; static versions of the binaries in "out"
@ -5216,6 +5216,9 @@ and copy/paste text in the console and in xterm.")
("asciidoc" ,asciidoc)
("python" ,python)
("xmlto" ,xmlto)
;; Remove this input entirely when the default headers
;; version provides blk_zone.capacity (>= 5.9).
("linux-libre-headers" ,linux-libre-headers-5.10)
;; For building documentation.
("libxml2" ,libxml2)
("docbook-xsl" ,docbook-xsl)

View File

@ -67,6 +67,7 @@
#:use-module (gnu packages fontutils)
#:use-module (gnu packages gl)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
#:use-module (gnu packages gtk)
#:use-module (gnu packages image)
#:use-module (gnu packages imagemagick)
@ -16434,3 +16435,145 @@ operations in 3D space.")
(define-public cl-3d-matrices
(sbcl-package->cl-source-package sbcl-3d-matrices))
(define-public sbcl-messagebox
(let ((commit "ea3688d9a9954bee7079c0173bc7b3f327021e9f")
(revision "1"))
(package
(name "sbcl-messagebox")
(version (git-version "1.0.0" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Shinmera/messagebox")
(commit commit)))
(file-name (git-file-name "messagebox" version))
(sha256
(base32 "0jkbzlca0wvspgsfj0b0hjwlyyy8jlywsldsbkp79q48fc3aa8jd"))))
(build-system asdf-build-system/sbcl)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-zenity-path
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "zenity.lisp"
(("\"zenity\"")
(string-append "\"" (assoc-ref inputs "zenity")
"/bin/zenity\""))))))))
(inputs
`(("documentation-utils" ,sbcl-documentation-utils)
("trivial-features" ,sbcl-trivial-features)
("zenity" ,zenity)))
(home-page "https://shinmera.github.io/messagebox/")
(synopsis "Display a native GUI message box")
(description
"This is a small library to display a native GUI message box. This can be
useful to show error messages and other informational pieces should the
application fail and be unable to do so using its standard UI.")
(license license:zlib))))
(define-public ecl-messagebox
(sbcl-package->ecl-package sbcl-messagebox))
(define-public cl-messagebox
(sbcl-package->cl-source-package sbcl-messagebox))
(define-public sbcl-glsl-toolkit
(let ((commit "d00ba1906e3b5eb08ea346ac300a1e77bb999d04")
(revision "1"))
(package
(name "sbcl-glsl-toolkit")
(version (git-version "1.0.0" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Shirakumo/glsl-toolkit")
(commit commit)))
(file-name (git-file-name "glsl-toolkit" version))
(sha256
(base32 "0as5796yazchq1qkna3srxlz5v7cf7ffny9cbqi41wsa2s20vbh9"))))
(build-system asdf-build-system/sbcl)
(inputs
`(("cl-ppcre" ,sbcl-cl-ppcre)
("documentation-utils" ,sbcl-documentation-utils)
("parse-float" ,sbcl-parse-float)
("trivial-indent" ,sbcl-trivial-indent)))
(home-page "https://shirakumo.github.io/glsl-toolkit/")
(synopsis "Parser for OpenGL Shader Language source files")
(description
"This package provides a Common Lisp system collecting tools written to
allow to wrangle OpenGL Shader Language (GLSL) source files.")
(license license:zlib))))
(define-public ecl-glsl-toolkit
(sbcl-package->ecl-package sbcl-glsl-toolkit))
(define-public cl-glsl-toolkit
(sbcl-package->cl-source-package sbcl-glsl-toolkit))
(define-public sbcl-simple-tasks
(let ((commit "745d4b54eac9bf5d6909792e63ecd2ef8d303cf2")
(revision "1"))
(package
(name "sbcl-simple-tasks")
(version (git-version "1.3.0" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Shinmera/simple-tasks")
(commit commit)))
(file-name (git-file-name "simple-tasks" version))
(sha256
(base32 "1ls1pij7dvb65g4nam7nvik1218jvfk5iplr48vy290fw3lq7v98"))))
(build-system asdf-build-system/sbcl)
(inputs
`(("array-utils" ,sbcl-array-utils)
("bordeaux-threads" ,sbcl-bordeaux-threads)
("dissect" ,sbcl-dissect)))
(home-page "https://shinmera.github.io/simple-tasks/")
(synopsis "Simple task scheduling framework")
(description "This is a task scheduling framework for Common Lisp.")
(license license:zlib))))
(define-public ecl-simple-tasks
(sbcl-package->ecl-package sbcl-simple-tasks))
(define-public cl-simple-tasks
(sbcl-package->cl-source-package sbcl-simple-tasks))
(define-public sbcl-trivial-main-thread
(let ((commit "25f114973bb69eb63e01d0bbfead31f8e682846a")
(revision "1"))
(package
(name "sbcl-trivial-main-thread")
(version (git-version "1.0.0" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Shinmera/trivial-main-thread")
(commit commit)))
(file-name (git-file-name "trivial-main-thread" version))
(sha256
(base32 "0bw1887i7396lqg75qvmgjfzz4xbiq9w5dp8wxdgrcsm0qwlraw7"))))
(build-system asdf-build-system/sbcl)
(inputs
`(("bordeaux-threads" ,sbcl-bordeaux-threads)
("simple-tasks" ,sbcl-simple-tasks)
("trivial-features" ,sbcl-trivial-features)))
(home-page "https://shinmera.github.io/trivial-main-thread/")
(synopsis "Compatibility library to run things in the main thread")
(description
"This package provides a Common Lisp system which wraps the
BORDEAUX-THREADS system to be able to run things in the main thread of the
implementation, for example drawing calls of GUI applications.")
(license license:zlib))))
(define-public ecl-trivial-main-thread
(sbcl-package->ecl-package sbcl-trivial-main-thread))
(define-public cl-trivial-main-thread
(sbcl-package->cl-source-package sbcl-trivial-main-thread))

View File

@ -1698,14 +1698,14 @@ TCP connection, TLS handshake and so on) in the terminal.")
(define-public squid
(package
(name "squid")
(version "4.14")
(version "4.15")
(source
(origin
(method url-fetch)
(uri (string-append "http://www.squid-cache.org/Versions/v4/squid-"
version ".tar.xz"))
(sha256
(base32 "1z4zf98q24ps19fq840n0hwh6z1la65rf061kcapr29lcjm7s2gi"))))
(base32 "09aaz0hi7q4s5jalgl5i5fakmgzv5akf03gnajlah498mgjs94xn"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags

View File

@ -4,7 +4,7 @@
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
;;; Copyright © 2015, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 20182021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;;
;;; This file is part of GNU Guix.
@ -43,14 +43,14 @@
(define-public chrony
(package
(name "chrony")
(version "4.0")
(version "4.1")
(source
(origin
(method url-fetch)
(uri (string-append "https://download.tuxfamily.org/chrony/"
"chrony-" version ".tar.gz"))
(sha256
(base32 "09f6w2x5h5kamb4rhcbaz911q1f730qdalgsn8s48yjyqlafl9xy"))))
(base32 "0k0nf5qqzl01106lkmwc32n6a1fxagalpbci38iccyilz79z4xpd"))))
(build-system gnu-build-system)
(arguments
`(#:modules ((srfi srfi-26)

View File

@ -2,7 +2,7 @@
;;; Copyright © 2014, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016 John Darrington <jmd@gnu.org>
;;; Copyright © 2017, 2018 Leo Famulari <leo@famulari.name>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018, 2021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2020 Ricardo Wurmus <rekado@elephly.net>
;;;
@ -86,7 +86,7 @@ IPv4 and IPv6. ONC RPC is notably used by the network file system (NFS).")
(define-public rpcbind
(package
(name "rpcbind")
(version "1.2.5")
(version "1.2.6")
(source
(origin
(method url-fetch)
@ -95,8 +95,7 @@ IPv4 and IPv6. ONC RPC is notably used by the network file system (NFS).")
name "-" version ".tar.bz2"))
(patches (search-patches "rpcbind-CVE-2017-8779.patch"))
(sha256
(base32
"0ynszy5hpc7wbz8xngqwyhgbi9cay73y43izqhcmrcv375l61qrc"))))
(base32 "1pp8xvprsfz8nlmmvxf829gilx0ibb08bfs3lhisxrfai5j784sn"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags

View File

@ -131,9 +131,9 @@
;; Latest version of Guix, which may or may not correspond to a release.
;; Note: the 'update-guix-package.scm' script expects this definition to
;; start precisely like this.
(let ((version "1.2.0")
(commit "4dff6ecde85eec473ab231cf75f51e98e8aca1e9")
(revision 21))
(let ((version "1.3.0")
(commit "771b866c55e5f992df60f6c32f5fdd78b64e17f6")
(revision 1))
(package
(name "guix")
@ -149,7 +149,7 @@
(commit commit)))
(sha256
(base32
"1n16j7rb4n4pjmp8ck5g206rphmzxii2mbyz1nk4qk70zc3mwszq"))
"0w8w05w6v3lc6478vfw67jzn0hbd9nsncpx9i9ch1lck53r8vs44"))
(file-name (string-append "guix-" version "-checkout"))))
(build-system gnu-build-system)
(arguments
@ -312,9 +312,11 @@ $(prefix)/etc/openrc\n")))
"guile-bytestructures"))
(ssh (assoc-ref inputs "guile-ssh"))
(gnutls (assoc-ref inputs "gnutls"))
(disarchive (assoc-ref inputs "disarchive"))
(locales (assoc-ref inputs "glibc-utf8-locales"))
(deps (list gcrypt json sqlite gnutls git
bs ssh zlib lzlib zstd guile-lib))
bs ssh zlib lzlib zstd guile-lib
disarchive))
(deps* (if avahi (cons avahi deps) deps))
(effective
(read-line
@ -416,6 +418,8 @@ $(prefix)/etc/openrc\n")))
("bootstrap/tar" ,(bootstrap-executable "tar" (%current-system)))
("bootstrap/xz" ,(bootstrap-executable "xz" (%current-system)))
("disarchive" ,disarchive) ;for 'guix perform-download'
("glibc-utf8-locales" ,glibc-utf8-locales)))
(propagated-inputs
`(("gnutls" ,gnutls)

View File

@ -0,0 +1,27 @@
From f4adc1f52d777cea3331b4acae0c3bdec4d0eb70 Mon Sep 17 00:00:00 2001
From: Paper <paper@tilde.institute>
Date: Fri, 12 Mar 2021 21:10:34 +0000
Subject: [PATCH] fix login by removing everything after # from URL
---
giara/__main__.py | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/giara/__main__.py b/giara/__main__.py
index 10b9ae2..d235332 100644
--- a/giara/__main__.py
+++ b/giara/__main__.py
@@ -53,8 +53,9 @@ class GApplication(Gtk.Application):
def open(self, app, files, *args):
target = files[0].get_uri()
print(target)
+ code = target.split('=')[-1].split('#')[0]
get_authorized_client(
- reddit=self._unauth_reddit, code=target.split('=')[-1]
+ reddit=self._unauth_reddit, code=code
)
self.continue_activate(self._unauth_reddit)
--
GitLab

View File

@ -1,245 +0,0 @@
This patch is based heavily on the Debian patch, but was updated to
apply to subsequent upstream changes not yet in Debian.
https://salsa.debian.org/printing-team/hplip/raw/debian/3.18.10+dfsg0-1/debian/patches/0025-Remove-all-ImageProcessor-functionality-which-is-clo.patch
---
Makefile.am | 22 +++-------------------
Makefile.in | 33 +++++----------------------------
prnt/hpcups/HPCupsFilter.cpp | 21 ---------------------
3 files changed, 8 insertions(+), 68 deletions(-)
diff --git a/Makefile.am b/Makefile.am
index ef6480f..ecada5c 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -166,7 +166,7 @@ if !HPLIP_CLASS_DRIVER
dist_hplip_SCRIPTS = hpssd.py __init__.py hpdio.py
endif #HPLIP_CLASS_DRIVER
-dist_noinst_DATA += prnt/drv/hpijs.drv.in.template prnt/drv/hpcups.drv.in.template prnt/hpcups/libImageProcessor-x86_64.so prnt/hpcups/libImageProcessor-x86_32.so
+dist_noinst_DATA += prnt/drv/hpijs.drv.in.template prnt/drv/hpcups.drv.in.template
dist_noinst_SCRIPTS += dat2drv.py install.py hplip-install init-suse-firewall init-iptables-firewall class_rpm_build.sh hplipclassdriver.spec createPPD.sh Makefile_dat2drv hpijs-drv
if !HPLIP_CLASS_DRIVER
@@ -590,11 +590,10 @@ hpcups_SOURCES = prnt/hpcups/HPCupsFilter.cpp prnt/hpcups/HPCupsFilter.h prnt/hp
prnt/hpcups/flate_colorspace.h prnt/hpcups/RunLenEncoding.h prnt/hpcups/common_defines.h \
prnt/hpcups/genPCLm.h \
common/utils.c common/utils.h prnt/hpcups/Hbpl1_Wrapper.cpp prnt/hpcups/genPCLm.cpp \
- prnt/hpcups/genJPEGStrips.cpp prnt/hpcups/RunLenEncoding.cpp \
- prnt/hpcups/ImageProcessor.h
+ prnt/hpcups/genJPEGStrips.cpp prnt/hpcups/RunLenEncoding.cpp
hpcups_CXXFLAGS = $(APDK_ENDIAN_FLAG) $(DBUS_CFLAGS)
-hpcups_LDADD = -L./prnt/hpcups/ -ljpeg -ldl -lImageProcessor -lcups -lcupsimage -lz $(DBUS_LIBS)
+hpcups_LDADD = -L./prnt/hpcups/ -ljpeg -ldl -lcups -lcupsimage -lz $(DBUS_LIBS)
#else
#hpcupsdir = $(cupsfilterdir)
#hpcups_PROGRAMS = hpcups
@@ -679,21 +678,10 @@ printpluginsdir=$(cupsfilterdir)
dist_filter_DATA = hpcups hpps dat2drv
-dist_printplugins_DATA = prnt/plugins/hbpl1-arm32.so prnt/plugins/hbpl1-arm64.so prnt/plugins/hbpl1-x86_32.so prnt/plugins/hbpl1-x86_64.so prnt/plugins/lj-arm32.so prnt/plugins/lj-arm64.so prnt/plugins/lj-x86_32.so prnt/plugins/lj-x86_64.so
endif #HPLIP_CLASS_DRIVER
install-data-hook:
if HPLIP_BUILD
- if [ \( "$(UNAME)" = "x86_64" -a -d "$(libdir)/" \) ]; then \
- cp prnt/hpcups/libImageProcessor-x86_64.so $(libdir)/ ; \
- chmod 775 $(libdir)/libImageProcessor-x86_64.so ; \
- ln -sf $(libdir)/libImageProcessor-x86_64.so $(libdir)/libImageProcessor.so ; \
- fi; \
- if [ \( \( "$(UNAME)" = "i686" -o "$(UNAME)" = "i386" \) -a -d "$(libdir)/" \) ]; then \
- cp prnt/hpcups/libImageProcessor-x86_32.so $(libdir)/ ; \
- chmod 775 $(libdir)/libImageProcessor-x86_32.so ; \
- ln -sf $(libdir)/libImageProcessor-x86_32.so $(libdir)/libImageProcessor.so ; \
- fi
if !HPLIP_CLASS_DRIVER
# If scanner build, add hpaio entry to sane dll.conf.
if [ "$(scan_build)" = "yes" ]; then \
@@ -874,10 +862,6 @@ if HPLIP_CLASS_DRIVER
rm -rf $(distdir)/setup.py
rm -rf $(distdir)/systray.py
rm -rf $(distdir)/timedate.py
- rm -rf $(distdir)/prnt/plugins/lj-arm32.so
- rm -rf $(distdir)/prnt/plugins/lj-arm64.so
- rm -rf $(distdir)/prnt/plugins/lj-x86_32.so
- rm -rf $(distdir)/prnt/plugins/lj-x86_64.so
rm -rf $(distdir)/hpijs-drv
rm -rf $(distdir)/prnt/hpcups/
rm -rf $(distdir)/prnt/ps/
diff --git a/Makefile.in b/Makefile.in
index 910a268..cd44203 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -103,7 +103,7 @@ DIST_COMMON = $(am__configure_deps) \
# ip library
@HPLIP_BUILD_TRUE@am__append_12 = libhpip.la
-@FULL_BUILD_TRUE@@HPLIP_BUILD_TRUE@am__append_13 = prnt/drv/hpijs.drv.in.template prnt/drv/hpcups.drv.in.template prnt/hpcups/libImageProcessor-x86_64.so prnt/hpcups/libImageProcessor-x86_32.so
+@FULL_BUILD_TRUE@@HPLIP_BUILD_TRUE@am__append_13 = prnt/drv/hpijs.drv.in.template prnt/drv/hpcups.drv.in.template
@FULL_BUILD_TRUE@@HPLIP_BUILD_TRUE@am__append_14 = dat2drv.py install.py hplip-install init-suse-firewall init-iptables-firewall class_rpm_build.sh hplipclassdriver.spec createPPD.sh Makefile_dat2drv hpijs-drv
@FULL_BUILD_TRUE@@HPLIP_BUILD_TRUE@@HPLIP_CLASS_DRIVER_FALSE@am__append_15 = scan/sane/hpaio.desc \
@FULL_BUILD_TRUE@@HPLIP_BUILD_TRUE@@HPLIP_CLASS_DRIVER_FALSE@ installer/text_install.py \
@@ -500,8 +500,7 @@ am__hpcups_SOURCES_DIST = prnt/hpcups/HPCupsFilter.cpp \
prnt/hpcups/RunLenEncoding.h prnt/hpcups/common_defines.h \
prnt/hpcups/genPCLm.h common/utils.c common/utils.h \
prnt/hpcups/Hbpl1_Wrapper.cpp prnt/hpcups/genPCLm.cpp \
- prnt/hpcups/genJPEGStrips.cpp prnt/hpcups/RunLenEncoding.cpp \
- prnt/hpcups/ImageProcessor.h
+ prnt/hpcups/genJPEGStrips.cpp prnt/hpcups/RunLenEncoding.cpp
@HPCUPS_INSTALL_TRUE@am_hpcups_OBJECTS = \
@HPCUPS_INSTALL_TRUE@ hpcups-HPCupsFilter.$(OBJEXT) \
@HPCUPS_INSTALL_TRUE@ hpcups-dbuscomm.$(OBJEXT) \
@@ -723,8 +722,7 @@ am__dist_locatedriver_DATA_DIST = locatedriver
am__dist_models_DATA_DIST = data/models/models.dat
am__dist_noinst_DATA_DIST = prnt/drv/hpijs.drv.in.template \
prnt/drv/hpcups.drv.in.template \
- prnt/hpcups/libImageProcessor-x86_64.so \
- prnt/hpcups/libImageProcessor-x86_32.so scan/sane/hpaio.desc \
+ scan/sane/hpaio.desc \
installer/text_install.py data/localization/hplip_de.ts \
data/localization/hplip_es.ts data/localization/hplip_fr.ts \
data/localization/hplip_it.ts data/localization/hplip_pt.ts \
@@ -1932,11 +1930,6 @@ am__dist_ppd_DATA_DIST = prnt/ps/hp-designjet_z6810ps_42in-ps.ppd.gz \
ppd/classppd/ps/hp-postscript-inkjet.ppd.gz \
ppd/classppd/ps/hp-postscript-laserjet-pro.ppd.gz \
ppd/classppd/ps/hp-postscript-laserjet.ppd.gz
-am__dist_printplugins_DATA_DIST = prnt/plugins/hbpl1-arm32.so \
- prnt/plugins/hbpl1-arm64.so prnt/plugins/hbpl1-x86_32.so \
- prnt/plugins/hbpl1-x86_64.so prnt/plugins/lj-arm32.so \
- prnt/plugins/lj-arm64.so prnt/plugins/lj-x86_32.so \
- prnt/plugins/lj-x86_64.so
am__dist_prnt_DATA_DIST = prnt/cups.py prnt/__init__.py prnt/ldl.py \
prnt/pcl.py prnt/colorcal.py
am__dist_rules_DATA_DIST = data/rules/56-hpmud.rules \
@@ -4665,11 +4658,10 @@ libapdk_la_CFLAGS = $(libapdk_la_CXXFLAGS) -Iprnt/hpijs
@HPCUPS_INSTALL_TRUE@ prnt/hpcups/flate_colorspace.h prnt/hpcups/RunLenEncoding.h prnt/hpcups/common_defines.h \
@HPCUPS_INSTALL_TRUE@ prnt/hpcups/genPCLm.h \
@HPCUPS_INSTALL_TRUE@ common/utils.c common/utils.h prnt/hpcups/Hbpl1_Wrapper.cpp prnt/hpcups/genPCLm.cpp \
-@HPCUPS_INSTALL_TRUE@ prnt/hpcups/genJPEGStrips.cpp prnt/hpcups/RunLenEncoding.cpp \
-@HPCUPS_INSTALL_TRUE@ prnt/hpcups/ImageProcessor.h
+@HPCUPS_INSTALL_TRUE@ prnt/hpcups/genJPEGStrips.cpp prnt/hpcups/RunLenEncoding.cpp
@HPCUPS_INSTALL_TRUE@hpcups_CXXFLAGS = $(APDK_ENDIAN_FLAG) $(DBUS_CFLAGS)
-@HPCUPS_INSTALL_TRUE@hpcups_LDADD = -L./prnt/hpcups/ -ljpeg -ldl -lImageProcessor -lcups -lcupsimage -lz $(DBUS_LIBS)
+@HPCUPS_INSTALL_TRUE@hpcups_LDADD = -L./prnt/hpcups/ -ljpeg -ldl -lcups -lcupsimage -lz $(DBUS_LIBS)
#else
#hpcupsdir = $(cupsfilterdir)
#hpcups_PROGRAMS = hpcups
@@ -4717,7 +4709,6 @@ ppddir = $(hpppddir)
@HPLIP_CLASS_DRIVER_TRUE@filterdir = $(cupsfilterdir)
@HPLIP_CLASS_DRIVER_TRUE@printpluginsdir = $(cupsfilterdir)
@HPLIP_CLASS_DRIVER_TRUE@dist_filter_DATA = hpcups hpps dat2drv
-@HPLIP_CLASS_DRIVER_TRUE@dist_printplugins_DATA = prnt/plugins/hbpl1-arm32.so prnt/plugins/hbpl1-arm64.so prnt/plugins/hbpl1-x86_32.so prnt/plugins/hbpl1-x86_64.so prnt/plugins/lj-arm32.so prnt/plugins/lj-arm64.so prnt/plugins/lj-x86_32.so prnt/plugins/lj-x86_64.so
all: all-am
.SUFFIXES:
@@ -9380,16 +9371,6 @@ uninstall-am: uninstall-apparmor_abstractionDATA \
install-data-hook:
-@HPLIP_BUILD_TRUE@ if [ \( "$(UNAME)" = "x86_64" -a -d "$(libdir)/" \) ]; then \
-@HPLIP_BUILD_TRUE@ cp prnt/hpcups/libImageProcessor-x86_64.so $(libdir)/ ; \
-@HPLIP_BUILD_TRUE@ chmod 775 $(libdir)/libImageProcessor-x86_64.so ; \
-@HPLIP_BUILD_TRUE@ ln -sf $(libdir)/libImageProcessor-x86_64.so $(libdir)/libImageProcessor.so ; \
-@HPLIP_BUILD_TRUE@ fi; \
-@HPLIP_BUILD_TRUE@ if [ \( \( "$(UNAME)" = "i686" -o "$(UNAME)" = "i386" \) -a -d "$(libdir)/" \) ]; then \
-@HPLIP_BUILD_TRUE@ cp prnt/hpcups/libImageProcessor-x86_32.so $(libdir)/ ; \
-@HPLIP_BUILD_TRUE@ chmod 775 $(libdir)/libImageProcessor-x86_32.so ; \
-@HPLIP_BUILD_TRUE@ ln -sf $(libdir)/libImageProcessor-x86_32.so $(libdir)/libImageProcessor.so ; \
-@HPLIP_BUILD_TRUE@ fi
# If scanner build, add hpaio entry to sane dll.conf.
@HPLIP_BUILD_TRUE@@HPLIP_CLASS_DRIVER_FALSE@ if [ "$(scan_build)" = "yes" ]; then \
@HPLIP_BUILD_TRUE@@HPLIP_CLASS_DRIVER_FALSE@ $(mkinstalldirs) $(DESTDIR)/etc/sane.d; \
@@ -9556,10 +9537,6 @@ dist-hook:
@HPLIP_CLASS_DRIVER_TRUE@ rm -rf $(distdir)/setup.py
@HPLIP_CLASS_DRIVER_TRUE@ rm -rf $(distdir)/systray.py
@HPLIP_CLASS_DRIVER_TRUE@ rm -rf $(distdir)/timedate.py
-@HPLIP_CLASS_DRIVER_TRUE@ rm -rf $(distdir)/prnt/plugins/lj-arm32.so
-@HPLIP_CLASS_DRIVER_TRUE@ rm -rf $(distdir)/prnt/plugins/lj-arm64.so
-@HPLIP_CLASS_DRIVER_TRUE@ rm -rf $(distdir)/prnt/plugins/lj-x86_32.so
-@HPLIP_CLASS_DRIVER_TRUE@ rm -rf $(distdir)/prnt/plugins/lj-x86_64.so
@HPLIP_CLASS_DRIVER_TRUE@ rm -rf $(distdir)/hpijs-drv
@HPLIP_CLASS_DRIVER_TRUE@ rm -rf $(distdir)/prnt/hpcups/
@HPLIP_CLASS_DRIVER_TRUE@ rm -rf $(distdir)/prnt/ps/
diff --git a/prnt/hpcups/HPCupsFilter.cpp b/prnt/hpcups/HPCupsFilter.cpp
index 5b282d8..0bacfaf 100644
--- a/prnt/hpcups/HPCupsFilter.cpp
+++ b/prnt/hpcups/HPCupsFilter.cpp
@@ -31,7 +31,6 @@
\*****************************************************************************/
#include "HPCupsFilter.h"
-#include "ImageProcessor.h"
#include <signal.h>
#include <sys/wait.h>
@@ -651,21 +650,8 @@
sprintf(hpPreProcessedRasterFile, "%s/hp_%s_cups_SwapedPagesXXXXXX",CUPS_TMP_DIR, m_JA.user_name);
- image_processor_t* imageProcessor=NULL;
- IMAGE_PROCESSOR_ERROR result;
- //added if condition to check if pinter language is "ljzjstream"
- //If so, then bypass imageprocessing functions while running HPCUPS filter.
- if(strncmp(m_JA.printer_platform, "ljzjstream",10) == 0){
- imageProcessor = imageProcessorCreate();
- }
while (cupsRasterReadHeader2(cups_raster, &cups_header))
{
- if(strncmp(m_JA.printer_platform, "ljzjstream",10) == 0){
- result = imageProcessorStartPage(imageProcessor, &cups_header);
- if (result != IPE_SUCCESS){
- dbglog("DEBUG: imageProcessorStartPage failed result = %d\n", result);
- }
- }
current_page_number++;
if (current_page_number == 1) {
@@ -764,14 +750,6 @@
color_raster = rgbRaster;
black_raster = kRaster;
- if(strncmp(m_JA.printer_platform, "ljzjstream",10) == 0)
- {
- result = imageProcessorProcessLine(imageProcessor, m_pPrinterBuffer, cups_header.cupsBytesPerLine);
- if (result != IPE_SUCCESS){
- dbglog("DEBUG: imageProcessorProcessLine failed result = %d\n", result);
- }
- }
-
if ((y == 0) && !is_ljmono) {
//For ljmono, make sure that first line is not a blankRaster line.Otherwise printer
//may not skip blank lines before actual data
@@ -801,14 +779,6 @@
}
} // for() loop end
- if(strncmp(m_JA.printer_platform, "ljzjstream",10) == 0)
- {
- result = imageProcessorEndPage(imageProcessor);
- if (result != IPE_SUCCESS){
- dbglog("DEBUG: imageProcessorEndPage failed result = %d\n", result);
- }
- }
-
m_Job.NewPage();
if (err != NO_ERROR) {
break;
@@ -823,11 +793,6 @@
rgbRaster = NULL;
}
-
- if(strncmp(m_JA.printer_platform, "ljzjstream",10) == 0)
- {
- imageProcessorDestroy(imageProcessor);
- }
unlink(hpPreProcessedRasterFile);
return ret_status;
}
--
2.19.1

View File

@ -0,0 +1,67 @@
From 0c716d435abe65250100c2caea0e5126ac4e14bd Mon Sep 17 00:00:00 2001
From: "Georgi D. Sotirov" <gdsotirov@gmail.com>
Date: Wed, 5 May 2021 14:16:46 +0300
Subject: [PATCH] Add inline with SNAPPY_ATTRIBUTE_ALWAYS_INLINE
Add inline with SNAPPY_ATTRIBUTE_ALWAYS_INLINE on AdvanceToNextTag to
fix the following compilation errors and a warning with GCC:
[ 2%] Building CXX object CMakeFiles/snappy.dir/snappy.cc.o
/usr/bin/c++ -DHAVE_CONFIG_H -Dsnappy_EXPORTS
-I/tmp/snappy-1.1.9/build -I/tmp/snappy-1.1.9 -O3
-march=i586 -mtune=i686 -Wall -Wextra -fno-exceptions -fno-rtti -O3
-DNDEBUG -fPIC -std=c++11 -o CMakeFiles/snappy.dir/snappy.cc.o -c
/tmp/snappy-1.1.9/snappy.cc
/tmp/snappy-1.1.9/snappy.cc:1017:8: warning: always_inline
function might not be inlinable [-Wattributes]
size_t AdvanceToNextTag(const uint8_t** ip_p, size_t* tag) {
^
/tmp/snappy-1.1.9/snappy.cc: In function 'std::pair<const
unsigned char*, int> snappy::DecompressBranchless(const uint8_t*, const
uint8_t*, ptrdiff_t, T, ptrdiff_t) [with T = char*; uint8_t = unsigned
char; ptrdiff_t = int]':
/tmp/snappy-1.1.9/snappy.cc:1017:8: error: inlining failed in
call to always_inline 'size_t snappy::AdvanceToNextTag(const uint8_t**,
size_t*)': function body can be overwritten at link time
/tmp/snappy-1.1.9/snappy.cc:1097:53: error: called from here
size_t tag_type = AdvanceToNextTag(&ip, &tag);
^
/tmp/snappy-1.1.9/snappy.cc:1017:8: error: inlining failed in
call to always_inline 'size_t snappy::AdvanceToNextTag(const uint8_t**,
size_t*)': function body can be overwritten at link time
size_t AdvanceToNextTag(const uint8_t** ip_p, size_t* tag) {
^
/tmp/snappy-1.1.9/snappy.cc:1097:53: error: called from here
size_t tag_type = AdvanceToNextTag(&ip, &tag);
^
/tmp/snappy-1.1.9/snappy.cc:1017:8: error: inlining failed in
call to always_inline 'size_t snappy::AdvanceToNextTag(const uint8_t**,
size_t*)': function body can be overwritten at link time
size_t AdvanceToNextTag(const uint8_t** ip_p, size_t* tag) {
^
/tmp/snappy-1.1.9/snappy.cc:1097:53: error: called from here
size_t tag_type = AdvanceToNextTag(&ip, &tag);
^
CMakeFiles/snappy.dir/build.make:137: recipe for target
'CMakeFiles/snappy.dir/snappy.cc.o' failed
Just like with other functions using SNAPPY_ATTRIBUTE_ALWAYS_INLINE
macro (i.e. __attribute__((always_inline)) ) it is necessary to use C++
inline specifier.
---
snappy.cc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/snappy.cc b/snappy.cc
index 79dc0e8..51157be 100644
--- a/snappy.cc
+++ b/snappy.cc
@@ -1014,7 +1014,7 @@ void MemMove(ptrdiff_t dst, const void* src, size_t size) {
}
SNAPPY_ATTRIBUTE_ALWAYS_INLINE
-size_t AdvanceToNextTag(const uint8_t** ip_p, size_t* tag) {
+inline size_t AdvanceToNextTag(const uint8_t** ip_p, size_t* tag) {
const uint8_t*& ip = *ip_p;
// This section is crucial for the throughput of the decompression loop.
// The latency of an iteration is fundamentally constrained by the

View File

@ -1101,13 +1101,13 @@ the PDF pages.")
(define-public img2pdf
(package
(name "img2pdf")
(version "0.4.0")
(version "0.4.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "img2pdf" version))
(sha256
(base32 "1jdhmpzgj8815bhargb3xp3ydlqxwkz0mcadrflx2ga0p056kvpa"))))
(base32 "0ljmxp7myxccfdy4kxpn4jzq35qs4pbmmmnih9vis8abm2f2589q"))))
(build-system python-build-system)
(propagated-inputs
`(("python-pikepdf" ,python-pikepdf)

View File

@ -41,6 +41,7 @@
;;; Copyright © 2020 Konrad Hinsen <konrad.hinsen@fastmail.net>
;;; Copyright © 2020 Giacomo Leidi <goodoldpaul@autistici.org>
;;; Copyright © 2021 Ekaitz Zarraga <ekaitz@elenq.tech>
;;; Copyright © 2021 Greg Hogan <code@greghogan.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -1189,8 +1190,7 @@ Amazon S3 compatible object storage server.")
(source
(origin
(method url-fetch)
(uri (string-append "https://dl.bintray.com/pycurl/pycurl/pycurl-"
version ".tar.gz"))
(uri (pypi-uri "pycurl" version))
(sha256
(base32 "1cwlb76vddqp2mxqvjbhf367caddzy82rhangddjjhjqaj8x4zgc"))))
(build-system python-build-system)

View File

@ -99,6 +99,7 @@
;;; Copyright © 2021 Sharlatan Hellseher <sharlatanus@gmail.com>
;;; Copyright © 2021 Ellis Kenyő <me@elken.dev>
;;; Copyright © 2021 LibreMiami <packaging-guix@libremiami.org>
;;; Copyright © 2021 Xinglu Chen <public@yoctocell.xyz>
;;;
;;; This file is part of GNU Guix.
;;;
@ -181,6 +182,7 @@
#:use-module (gnu packages qt)
#:use-module (gnu packages rdf)
#:use-module (gnu packages readline)
#:use-module (gnu packages regex)
#:use-module (gnu packages sdl)
#:use-module (gnu packages search)
#:use-module (gnu packages scanner)
@ -1287,6 +1289,30 @@ conventions and aliases in the same expression.")
API for locking files.")
(license license:expat)))
(define-public python-fb-re2
(package
(name "python-fb-re2")
(version "1.0.7")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/facebook/pyre2")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0snprxdnh3m45r3b0az4v0l28h90ycmfbybzla6xg1qviwv9w1ak"))))
(build-system python-build-system)
(inputs
`(("re2" ,re2)))
(home-page "https://github.com/facebook/pyre2")
(synopsis "Python wrapper for RE2")
(description "This package provides a Python extension that wraps Google's
RE2 regular expression library. It implements many of the features of
Python's built-in @code{re} module with compatible interfaces.")
(license license:bsd-3)))
(define-public python-filelock
(package
(name "python-filelock")
@ -6089,13 +6115,13 @@ the OleFileIO module from PIL, the Python Image Library.")
(define-public python-pikepdf
(package
(name "python-pikepdf")
(version "2.11.4")
(version "2.12.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pikepdf" version))
(sha256
(base32 "0kd5ydnsmlikkg69r255wvq4vy7plh7dx077s2saly5s5vdcqlkk"))))
(base32 "1fgk93v5zac38ak00nw94mi44z9701kn20dkdfpwqr3588vnxfzw"))))
(build-system python-build-system)
(arguments
`(#:tests? #false)) ;require python-xmp-toolkit
@ -7557,7 +7583,18 @@ without using the configuration machinery.")
"env = {'PATH': '', 'PYTHONPATH': os.environ['PYTHONPATH']}")
(("env = \\{'PATH': str\\(b\\)\\}")
"env = {'PATH': str(b), 'PYTHONPATH': os.environ['PYTHONPATH']}"))
#t)))))
#t))
;; Migration is running whenever etc/jupyter exists, but the
;; Guix-managed directory will never contain any migratable IPython
;; config files and cannot be written to anyway, so just pretend we
;; already did that.
(add-after 'install 'disable-migration
(lambda* (#:key outputs #:allow-other-keys)
(mkdir-p (string-append (assoc-ref outputs "out") "/etc/jupyter"))
(invoke "touch"
(string-append
(assoc-ref outputs "out")
"/etc/jupyter/migrated")))))))
(propagated-inputs
`(("python-traitlets" ,python-traitlets)))
(native-inputs
@ -8342,13 +8379,13 @@ interfaces in an easy and portable manner.")
(define-public python-networkx
(package
(name "python-networkx")
(version "2.5")
(version "2.5.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "networkx" version))
(sha256
(base32 "00hnii2lplig2s324k1hvi29pyfab6z7i22922f67jgv4da9ay3r"))))
(base32 "0ni3pdisdr8vfp5m9sw8jzr7jwzgqqmc9hq327vrf4n4ra2xb70h"))))
(build-system python-build-system)
(arguments
'(#:phases (modify-phases %standard-phases

View File

@ -66,14 +66,14 @@
(define-public racket-minimal
(package
(name "racket-minimal")
(version "8.0") ; note: remember to also update racket!
(version "8.1") ; note: remember to also update racket!
(source
(origin
(method url-fetch)
(uri (map (lambda (base)
(string-append base version "/racket-minimal-src.tgz"))
%installer-mirrors))
(sha256 "0mwyffw4gcci8wmzxa3j28h03h0gsz55aard8qrk3lri8r2xyg21")
(sha256 "04zzqybpxss50n1jrwwq98539gw0y0ygpw9civl2sq3s4ww7m8l3")
(patches (search-patches
"racket-sh-via-rktio.patch"))))
(home-page "https://racket-lang.org")
@ -100,36 +100,6 @@
(srfi srfi-1))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-chez-configure
(lambda* (#:key inputs outputs #:allow-other-keys)
(substitute* "src/cs/c/Makefile.in"
(("/bin/sh") (which "sh")))
;; TODO: Racket CS uses a fork of Chez Scheme.
;; Most of this is copy-pasted from the "chez.scm",
;; but maybe there's a way to reuse more directly.
(with-directory-excursion "src/ChezScheme"
(substitute* (find-files "mats" "Mf-.*")
(("^[[:space:]]+(cc ) *") "\tgcc "))
(substitute*
(find-files "." (string-append
"("
"Mf-[a-zA-Z0-9.]+"
"|Makefile[a-zA-Z0-9.]*"
"|checkin"
"|stex\\.stex"
"|newrelease"
"|workarea"
"|unix\\.ms"
"|^6\\.ms"
;;"|[a-zA-Z0-9.]+\\.ms" ; guile can't read
")"))
(("/bin/rm") (which "rm"))
(("/bin/ln") (which "ln"))
(("/bin/cp") (which "cp"))
(("/bin/echo") (which "echo")))
(substitute* "makefiles/installsh"
(("/bin/true") (which "true"))))
#t))
(add-before 'configure 'pre-configure-minimal
(lambda* (#:key inputs #:allow-other-keys)
(chdir "src")
@ -215,7 +185,7 @@ DrRacket IDE, are not included.")
%installer-mirrors))
(sha256
(base32
"047wpjblfzmf1msz7snrp2c2h0zxyzlmbsqr9bwsyvz3frcg0888"))))
"0xdqwrwm604bbnr97h75dps2ixxz2svlw0fn0f674bn04dcfd60f"))))
(inputs
`(;; sqlite and libraries for `racket/draw' are needed to build the doc.
("cairo" ,cairo)

View File

@ -497,7 +497,6 @@ environment.")
`(("doxygen" ,doxygen)
("pkg-config" ,pkg-config)
("pybind11" ,pybind11)
("python" ,python)
("python-mako" ,python-mako)
("python-six" ,python-six)))
(inputs
@ -509,8 +508,21 @@ environment.")
("hackrf" ,hackrf)
("libsndfile" ,libsndfile)
("log4cpp" ,log4cpp)
("python" ,python)
("python-numpy" ,python-numpy)
("python-pyqt" ,python-pyqt)
("rtl-sdr" ,rtl-sdr)
("volk" ,volk)))
(arguments
`(#:modules ((guix build cmake-build-system)
((guix build python-build-system) #:prefix python:)
(guix build utils))
#:imported-modules (,@%cmake-build-system-modules
(guix build python-build-system))
#:phases
(modify-phases %standard-phases
(add-after 'install 'wrap-python
(assoc-ref python:%standard-phases 'wrap)))))
(synopsis "GNU Radio block for interfacing with various radio hardware")
(description "This is a block for GNU Radio allowing to use a common API
to access different radio hardware.")

View File

@ -2793,6 +2793,33 @@ high-level toolkit for building cryptographic systems and protocols.")
(home-page "https://github.com/crypto-rb/rbnacl")
(license license:expat)))
(define-public ruby-hkdf
(package
(name "ruby-hkdf")
(version "1.0.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/jtdowney/hkdf")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1xqwdmxfnhagivwgb5v9ilwpb4jxlsqwj7pnj43d65zzg5m8p9r5"))))
(build-system ruby-build-system)
(arguments
`(#:test-target "default"))
(native-inputs
`(("ruby-rspec" ,ruby-rspec)))
(synopsis "HMAC-based Key Derivation Function")
(description
"This package provides a Ruby implementation of RFC5869: @acronym{HKDF,
HMAC-based Extract-and-Expand Key Derivation Function}. The goal of HKDF is to
take some source key material and generate suitable cryptographic keys from it.")
(home-page "https://github.com/jtdowney/hkdf")
(license license:expat)))
(define-public ruby-nenv
(package
(name "ruby-nenv")
@ -11270,6 +11297,40 @@ indentation will probably be an issue and hence this gem.")
YAML.load suitable for accepting user input in Ruby applications.")
(license license:expat)))
(define-public ruby-yaml-lint
(package
(name "ruby-yaml-lint")
(version "0.0.10")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Pryz/yaml-lint")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1jz26mxjkdyjbgqp7f9isnzd1i6vkizsswyj1v639nmq31hwfh0d"))))
(build-system ruby-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "rspec"))
#t)))))
(native-inputs
`(("ruby-coveralls" ,ruby-coveralls)
("ruby-rspec" ,ruby-rspec)
("ruby-simplecov" ,ruby-simplecov)))
(synopsis "Simple YAML check tool")
(description
"@code{yaml-lint} will simply try to load the YAML file with the built-in
Ruby yaml library.")
(home-page "https://github.com/Pryz/yaml-lint")
(license license:expat)))
(define-public ruby-mercenary
(package
(name "ruby-mercenary")

View File

@ -83,21 +83,22 @@ low-end hardware and serving many concurrent requests.")
(define-public bat
(package
(name "bat")
(version "0.18.0")
(version "0.18.1")
(source
(origin
(method url-fetch)
(uri (crate-uri "bat" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "1hr6vzkw8mdy9v0sg1pg9gibamabhip05s7zdkwzwlv69qnhgs1z"))))
(base32 "0nvqkddpjxsmd27gqn8czql07faad50mihin5ivb9sxxnni28wnc"))))
(build-system cargo-build-system)
(arguments
`(#:cargo-inputs
(("rust-ansi-colours" ,rust-ansi-colours-1)
("rust-ansi-term" ,rust-ansi-term-0.12)
("rust-atty" ,rust-atty-0.2)
("rust-bugreport" ,rust-bugreport-0.3)
("rust-bugreport" ,rust-bugreport-0.4)
("rust-clap" ,rust-clap-2)
("rust-clap" ,rust-clap-2)
("rust-clircle" ,rust-clircle-0.3)
("rust-console" ,rust-console-0.14)
@ -118,7 +119,7 @@ low-end hardware and serving many concurrent requests.")
("rust-wild" ,rust-wild-2))
#:cargo-development-inputs
(("rust-assert-cmd" ,rust-assert-cmd-1)
("rust-nix" ,rust-nix-0.19)
("rust-nix" ,rust-nix-0.20)
("rust-predicates" ,rust-predicates-1)
("rust-serial-test" ,rust-serial-test-0.5)
("rust-tempfile" ,rust-tempfile-3)

File diff suppressed because it is too large Load Diff

View File

@ -265,7 +265,7 @@ Internet and from a wide variety of machine architectures.")
(define-public spice-vdagent
(package
(name "spice-vdagent")
(version "0.20.0")
(version "0.21.0")
(source (origin
(method url-fetch)
(uri (string-append
@ -273,11 +273,14 @@ Internet and from a wide variety of machine architectures.")
"spice-vdagent-" version ".tar.bz2"))
(sha256
(base32
"0n9k2kna2gd1zi6jv45zsp2jlv439nz5l5jjijirxqaycwi74srf"))))
"0n8jlc1pv6mkry161y656b1nk9hhhminjq6nymzmmyjl7k95ymzx"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
'("--localstatedir=/var")
;; The test-session-info test fails for unknown reasons (see:
;; https://gitlab.freedesktop.org/spice/linux/vd_agent/-/issues/24).
#:make-flags '("XFAIL_TESTS=tests/test-session-info")
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-makefile.in
@ -285,19 +288,27 @@ Internet and from a wide variety of machine architectures.")
(substitute* "Makefile.in"
(((string-append "\\$\\(mkdir_p\\) \\$\\(DESTDIR\\)"
"\\$\\(localstatedir\\)/run/spice-vdagentd"))
"-$(mkdir_p) $(DESTDIR)$(localstatedir)/run/spice-vdagentd"))
#t))
"-$(mkdir_p) $(DESTDIR)$(localstatedir)/run/spice-vdagentd"))))
(add-after 'unpack 'patch-spice-vdagent.desktop
(lambda* (#:key outputs #:allow-other-keys)
(substitute* "data/spice-vdagent.desktop"
(("Exec=/usr/bin/spice-vdagent")
(string-append "Exec=" (assoc-ref outputs "out")
"/bin/spice-vdagent")))
#t)))))
"/bin/spice-vdagent")))))
(add-after 'unpack 'fix-test-termination
(lambda _
;; The termination tests depend on finding the socket file name
;; in the spice-vdagent command line it launched, but by default
;; ps truncates its output, which causes the test to fail (see:
;; https://gitlab.freedesktop.org/spice/linux/vd_agent/-/merge_requests/36).
(substitute* "tests/test-termination.c"
(("ps -ef")
"ps -efww")))))))
(inputs
`(("alsa-lib" ,alsa-lib)
("dbus" ,dbus)
("glib" ,glib)
("gtk+" ,gtk+)
("libdrm" ,libdrm)
("libpciaccess" ,libpciaccess)
("libx11" ,libx11)
@ -307,7 +318,8 @@ Internet and from a wide variety of machine architectures.")
("libxrandr" ,libxrandr)
("spice-protocol" ,spice-protocol)))
(native-inputs
`(("pkg-config" ,pkg-config)))
`(("pkg-config" ,pkg-config)
("procps" ,procps))) ;tests use 'ps'
(synopsis "Spice agent for Linux")
(description "Spice-vdagent enables sharing the clipboard and guest display
resolution scaling on graphical console window resize.")

View File

@ -23,6 +23,7 @@
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix packages)
#:use-module (guix utils)
#:use-module (guix build-system cargo)
#:use-module (guix build-system glib-or-gtk)
#:use-module (guix build-system gnu)
@ -36,6 +37,7 @@
#:use-module (gnu packages crates-io)
#:use-module (gnu packages curl)
#:use-module (gnu packages documentation)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages gettext)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
@ -57,8 +59,162 @@
#:use-module (gnu packages web)
#:use-module (gnu packages webkit)
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg)
#:use-module (srfi srfi-1))
(define-public cawbird
(package
(name "cawbird")
(version "1.4.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/IBBoard/cawbird")
(commit (string-append "v"version))))
(file-name (git-file-name name version))
(sha256
(base32 "0lmrgcj1ky1vhzynl36k6ba3ws089x4qdrnkjk3lbr334kicx9na"))))
(build-system meson-build-system)
(arguments
`(#:glib-or-gtk? #t
#:configure-flags
;; Cawbirds's default key and secret for OAuth process with twitter.
(list
"-Dconsumer_key_base64=VmY5dG9yRFcyWk93MzJEZmhVdEk5Y3NMOA=="
"-Dconsumer_secret_base64=MThCRXIxbWRESDQ2Y0podzVtVU13SGUyVGlCRXhPb3BFRHhGYlB6ZkpybG5GdXZaSjI=")
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'disable-failing-tests
(lambda _
;; These tests require networking.
(substitute* "tests/meson.build"
(("[ \t]*.*avatardownload.*$") "")
(("[ \t]*.*filters.*$") "")
(("[ \t]*.*friends.*$") "")
(("[ \t]*.*inlinemediadownloader.*$") "")
(("[ \t]*.*tweetparsing.*$") "")
(("[ \t]*.*usercounter.*$") ""))))
(delete 'check)
(add-after 'install 'custom-check
(lambda* (#:key outputs tests? #:allow-other-keys)
(when tests?
;; Tests require a running X server.
(system "Xvfb :1 +extension GLX &")
(setenv "DISPLAY" ":1")
;; Tests write to $HOME.
(setenv "HOME" (getcwd))
;; Tests look for gsettings-schemas installed by the package.
(setenv "XDG_DATA_DIRS"
(string-append (getenv "XDG_DATA_DIRS")
":" (assoc-ref outputs "out") "/share"))
(invoke "meson" "test"))
#t))
(add-after 'glib-or-gtk-wrap 'wrap-paths
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin/"))
(gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH"))
(gi-typelib-path (getenv "GI_TYPELIB_PATH")))
(wrap-program (string-append bin "cawbird")
`("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))
`("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
#t)))))
(native-inputs
`(("gettext" ,gettext-minimal)
("glib:bin" ,glib "bin")
("gobject-introspection" ,gobject-introspection)
("gtk+:bin" ,gtk+ "bin")
("pkg-config" ,pkg-config)
("vala" ,vala)
("xmllint" ,libxml2)
("xorg-server" ,xorg-server-for-tests)))
(inputs
`(("glib" ,glib)
("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
("gspell" ,gspell)
("gstreamer" ,gstreamer)
("gst-libav" ,gst-libav)
("gst-plugins-bad" ,gst-plugins-bad)
("gst-plugins-base" ,gst-plugins-base)
("gst-plugins-good" ,gst-plugins-good)
("gtk+" ,gtk+)
("json-glib" ,json-glib)
("liboauth" ,liboauth)
("libsoup" ,libsoup)
("rest" ,rest)
("sqlite" ,sqlite)
("x11" ,libx11)))
(propagated-inputs
`(("dconf" ,dconf)))
(synopsis "Client for Twitter")
(description "Cawbird is a Twitter client built with GTK and Vala.
It supports all features except non-mention notifications, polls, threads and
cards.")
(home-page "https://ibboard.co.uk/cawbird/")
(license license:gpl3+)))
(define-public giara
(package
(name "giara")
(version "0.3")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://gitlab.gnome.org/World/giara")
(commit version)))
(file-name (git-file-name name version))
;; To fix authentication while adding accounts.
(patches (search-patches "giara-fix-login.patch"))
(sha256
(base32 "004qmkfrgd37axv0b6hfh6v7nx4pvy987k5yv4bmlmkj9sbqm6f9"))))
(build-system meson-build-system)
(arguments
`(#:glib-or-gtk? #t
#:phases
(modify-phases %standard-phases
(add-after 'glib-or-gtk-wrap 'wrap-paths
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin/"))
(lib (string-append out "/lib/python"
,(version-major+minor
(package-version python))
"/site-packages")))
(wrap-program (string-append bin "giara")
`("PYTHONPATH" ":" prefix (,(getenv "PYTHONPATH") ,lib))
`("GI_TYPELIB_PATH" ":" prefix (,(getenv "GI_TYPELIB_PATH")))))
#t)))))
(native-inputs
`(("gettext" ,gettext-minimal)
("glib:bin" ,glib "bin")
("gobject-introspection" ,gobject-introspection)
("gtk+:bin" ,gtk+ "bin")
("pkg-config" ,pkg-config)
("xmllint" ,libxml2)))
(inputs
`(("glib" ,glib)
("gtk+" ,gtk+)
("gtksourceview" ,gtksourceview)
("libhandy" ,libhandy)
("python" ,python)
("python-beautifulsoup" ,python-beautifulsoup4)
("python-dateutil" ,python-dateutil)
("python-mistune" ,python-mistune)
("python-pillow" ,python-pillow)
("python-praw" ,python-praw)
("python-pycairo" ,python-pycairo)
("python-pygobject" ,python-pygobject)
("python-requests" ,python-requests)
("webkitgtk" ,webkitgtk)))
(propagated-inputs
`(("dconf" ,dconf)))
(synopsis "Client for Reddit")
(description "Giara is a reddit app, built with Python, GTK and Handy.")
(home-page "https://giara.gabmus.org/")
(license license:gpl3+)))
(define-public newsboat
(package
(name "newsboat")

View File

@ -1265,7 +1265,7 @@ basic input/output.")
(define-public alacritty
(package
(name "alacritty")
(version "0.7.1")
(version "0.7.2")
(source
(origin
;; XXX: The crate at "crates.io" has limited contents. In particular,
@ -1276,14 +1276,14 @@ basic input/output.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1b9hy3ya72hhpl8nkayc7dy4f97xp75np48dm5na5pgyv8b45agi"))))
(base32 "1isa61rivqchzfms8aakr4nks4kflwnfr9f2pik91157hg1plxam"))))
(build-system cargo-build-system)
(arguments
`(#:install-source? #f ; virtual manifest
#:cargo-test-flags '("--release" "--" "--skip=config_read_eof")
#:cargo-inputs
(("rust-alacritty-config-derive" ,rust-alacritty-config-derive-0.1)
("rust-alacritty-terminal" ,rust-alacritty-terminal-0.12)
("rust-alacritty-terminal" ,rust-alacritty-terminal-0.13)
("rust-clap" ,rust-clap-2)
("rust-cocoa" ,rust-cocoa-0.24)
("rust-copypasta" ,rust-copypasta-0.7)

View File

@ -54,14 +54,14 @@
(define-public tor
(package
(name "tor")
(version "0.4.5.7")
(version "0.4.5.8")
(source (origin
(method url-fetch)
(uri (string-append "https://dist.torproject.org/tor-"
version ".tar.gz"))
(sha256
(base32
"0x7hhl0svfc4yh9xvq7kkzgmwjcw1ak9i0794wjg4biy2fmclzs4"))))
"09z22gc01yh5zms7i31md6qpr0ir8i5fzrrz06qfpp5wx28x1pjp"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags

View File

@ -96,14 +96,14 @@ over IRC, instant messaging, network games, and most server software.")
(define-public libupnp
(package
(name "libupnp")
(version "1.14.6")
(version "1.14.7")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/pupnp/pupnp/releases/download"
"/release-" version "/libupnp-" version".tar.bz2"))
(sha256
(base32 "00x5y1a7ygyjzc1ljfamynclqrzd44vhdsnnmx2nwaif6mvgcs1i"))))
(base32 "093wmhk7rdmg2ixyam4hpxa43g25555jgb3i4y7223mwhr5aqrkv"))))
(native-inputs
`(("pkg-config" ,pkg-config)))
(build-system gnu-build-system)

View File

@ -29,7 +29,7 @@
;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
;;; Copyright © 2020 John D. Boy <jboy@bius.moe>
;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2020 Vinicius Monego <monego@posteo.net>
;;; Copyright © 2020, 2021 Vinicius Monego <monego@posteo.net>
;;; Copyright © 2020 Tanguy Le Carrour <tanguy@bioneland.org>
;;; Copyright © 2020, 2021 Michael Rohleder <mike@rohleder.de>
;;; Copyright © 2021 Greg Hogan <code@greghogan.com>
@ -1518,7 +1518,7 @@ control to Git repositories.")
(define-public pre-commit
(package
(name "pre-commit")
(version "2.8.1")
(version "2.12.1")
(source
(origin
;; No tests in the PyPI tarball.
@ -1528,12 +1528,12 @@ control to Git repositories.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0b3ks6viccq3n4p8i8zgfd40vp1k5nkhmmlz7p4nxcdizw8zxgn8"))))
(base32 "0gwy5bnjnlj6yjcmghsibrcijvz9isxcygln7ihvi728p04rgymf"))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-before 'check 'set-up-git
(add-before 'check 'prepare-check-env
(lambda _
;; Change from /homeless-shelter to /tmp for write permission.
(setenv "HOME" "/tmp")
@ -1542,72 +1542,36 @@ control to Git repositories.")
(setenv "GIT_COMMITTER_NAME" "Your Name")
(setenv "GIT_AUTHOR_EMAIL" "you@example.com")
(setenv "GIT_COMMITTER_EMAIL" "you@example.com")
;; Some tests still fail with PermissionError. Make the source
;; tree writable.
(for-each make-file-writable (find-files "."))
;; Some tests will need a working git repository.
(invoke "git" "init")
(invoke "git" "config" "--global" "user.name" "Your Name")
(invoke "git" "config" "--global" "user.email" "you@example.com")
#t))
#t))
(replace 'check
(lambda* (#:key inputs outputs #:allow-other-keys)
(add-installed-pythonpath inputs outputs)
(invoke "pytest" "tests" "-k"
;; The file below contains about 30 tests that fail because they
;; depend on tools from multiple languages (cargo, npm, cpan,
;; Rscript, etc). There are other tests that pass, but it's more
;; convenient to skip the whole file than list 30 tests to skip.
(invoke "pytest" "--ignore=tests/repository_test.py"
;; Ruby and Node tests require node and gem.
"--ignore=tests/languages/node_test.py"
"--ignore=tests/languages/ruby_test.py"
;; FIXME: Python tests fail because of distlib version
;; mismatch. Even with python-distlib/next it is
;; pulling version 0.3.0, while 0.3.1 is required.
"--ignore=tests/languages/python_test.py" "-k"
(string-append
;; Disable conda tests.
"not test_conda_hook"
" and not test_conda_with_additional_dependencies_hook"
" and not test_local_conda_additional_dependencies"
;; Disable cpan tests.
" and not test_local_perl_additional_dependencies"
" and not test_perl_hook"
;; Disable Ruby tests.
" and not test_additional_ruby_dependencies_installed"
" and not test_install_rbenv"
" and not test_install_rbenv_with_version"
" and not test_run_a_ruby_hook"
" and not test_run_ruby_hook_with_disable_shared_gems"
" and not test_run_versioned_ruby_hook"
;; Disable Cargo tests.
" and not test_additional_rust_cli_dependencies_installed"
" and not test_additional_rust_lib_dependencies_installed"
" and not test_local_rust_additional_dependencies"
" and not test_rust_hook"
;; Disable dotnet tests.
" and not test_dotnet_hook"
;; Disable nodejs tests.
" and not test_unhealthy_if_system_node_goes_missing"
" and not test_installs_without_links_outside_env"
" and not test_healthy_system_node"
;; Disable python2 test.
" and not test_switch_language_versions_doesnt_clobber"
;; These tests try to open a network socket.
" and not test_additional_golang_dependencies_installed"
" and not test_additional_node_dependencies_installed"
" and not test_golang_hook"
" and not test_golang_hook_still_works_when_gobin_is_set"
" and not test_local_golang_additional_dependencies"
" and not test_main"
" and not test_node_hook_with_npm_userconfig_set"
" and not test_run_a_node_hook"
" and not test_run_versioned_node_hook"
;; Tests failing with a permission error.
;; They try to write to the filesystem.
" and not test_autoupdate_hook_disappearing_repo"
" and not test_hook_disppearing_repo_raises"
" and not test_img_conflict"
" and not test_img_something_unstaged"
" and not test_installed_from_venv"
" and not test_too_new_version"
" and not test_try_repo_uncommitted_changes"
" and not test_versions_ok"
;; This test tries to activate a virtualenv.
" and not test_healthy_venv_creator"
;; Fatal error: Not a Git repository.
" and not test_all_cmds"
" and not test_try_repo"
;; No module named 'pip._internal.cli.main'.
" and not test_additional_dependencies_roll_forward"
;; Assertion errors.
" and not test_install_existing_hooks_no_overwrite"
" and not test_uninstall_restores_legacy_hooks"))))
(add-before 'reset-gzip-timestamps 'make-files-writable
;; TODO: these tests fail with AssertionError. It may
;; be possible to fix them.
"not test_install_existing_hooks_no_overwrite"
" and not test_uninstall_restores_legacy_hooks"
" and not test_installed_from_venv"))))
(add-before 'reset-gzip-timestamps 'make-gz-writable
(lambda* (#:key outputs #:allow-other-keys)
;; Make sure .gz files are writable so that the
;; 'reset-gzip-timestamps' phase can do its work.
@ -1617,8 +1581,13 @@ control to Git repositories.")
#t))))))
(native-inputs
`(("git" ,git-minimal)
("python-covdefaults" ,python-covdefaults)
("python-coverage" ,python-coverage)
("python-distlib" ,python-distlib/next)
("python-pytest" ,python-pytest)
("python-re-assert" ,python-re-assert)))
("python-pytest-env" ,python-pytest-env)
("python-re-assert" ,python-re-assert)
("which" ,which)))
;; Propagate because pre-commit is also used as a module.
(propagated-inputs
`(("python-cfgv" ,python-cfgv)
@ -1638,18 +1607,21 @@ execution of any hook written in any language before every commit.")
(define-public mercurial
(package
(name "mercurial")
(version "5.6.1")
(version "5.8")
(source (origin
(method url-fetch)
(uri (string-append "https://www.mercurial-scm.org/"
"release/mercurial-" version ".tar.gz"))
(sha256
(base32
"1bgz8f1a7lnmh6lzcvwg6q1yx6i7yibhwy06l4k55i04957jap75"))))
(build-system python-build-system)
"17rhlmmkqz5ll3k68jfzpcifg3nndbcbc2nx7kw8xn3qcj7nlpgw"))))
(build-system gnu-build-system)
(arguments
`(#:phases
`(#:make-flags
(list (string-append "PREFIX=" (assoc-ref %outputs "out")))
#:phases
(modify-phases %standard-phases
(delete 'configure)
(add-after 'unpack 'patch-tests
(lambda _
(substitute* '("tests/test-extdiff.t"
@ -1702,17 +1674,20 @@ execution of any hook written in any language before every commit.")
;; The test suite takes a long time and produces little
;; output by default. Prevent timeouts due to silence.
"-v"))))))))
;; The following inputs are only needed to run the tests.
(native-inputs
`(("python-nose" ,python-nose)
`(("python-docutils", python-docutils)
;; The following inputs are only needed to run the tests.
("python-nose" ,python-nose)
("unzip" ,unzip)
("which" ,which)))
(inputs
`(("python" ,python)))
(home-page "https://www.mercurial-scm.org/")
(synopsis "Decentralized version control system")
(description
"Mercurial is a free, distributed source control management tool.
It efficiently handles projects of any size
and offers an easy and intuitive interface.")
"Mercurial is a free, distributed source control management tool. It
efficiently handles projects of any size and offers an easy and intuitive
interface.")
(license license:gpl2+)))
(define-public python-hg-evolve

View File

@ -3816,7 +3816,7 @@ practically any type of media.")
(define-public libmediainfo
(package
(name "libmediainfo")
(version "20.09")
(version "21.03")
(source (origin
(method url-fetch)
(uri (string-append "https://mediaarea.net/download/source/"
@ -3824,7 +3824,7 @@ practically any type of media.")
name "_" version ".tar.xz"))
(sha256
(base32
"15ni9pnch6688m72swwax109a7mg4a08yx75qknrx7qa6dbyhz6h"))))
"1jm4mk539wf3crgpcddgwdixshwdzm37mkb5441lifhcz2mykdsn"))))
;; TODO add a Big Buck Bunny webm for tests.
(native-inputs
`(("autoconf" ,autoconf)
@ -3874,7 +3874,7 @@ MPEG-2, MPEG-4, DVD (VOB)...
(define-public mediainfo
(package
(name "mediainfo")
(version "20.09")
(version "21.03")
(source (origin
(method url-fetch)
;; Warning: This source has proved unreliable 1 time at least.
@ -3885,7 +3885,7 @@ MPEG-2, MPEG-4, DVD (VOB)...
name "_" version ".tar.xz"))
(sha256
(base32
"0rqg9z7s5bk7vlvjrs4gackzg7ib05a0dffi2ihsjf5a7kw7wcir"))))
"07h2a1lbw5ak6c9bcn8qydchl0wpgk945rf9sfcqjyv05h5wll6y"))))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
@ -4756,7 +4756,7 @@ transcode or reformat the videos in any way, producing perfect backups.")
(define-public svt-av1
(package
(name "svt-av1")
(version "0.8.6")
(version "0.8.7")
(source
(origin
(method git-fetch)
@ -4765,7 +4765,7 @@ transcode or reformat the videos in any way, producing perfect backups.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1wzamg89azi1f93wxvdy7silsgklckc754ca066k33drvyacicyw"))))
(base32 "1xlxb6kn6hqz9dxz0nd905m4i2mwjwq1330rbabwzmg4b66cdslg"))))
(build-system cmake-build-system)
;; SVT-AV1 only supports 64-bit Intel-compatible CPUs.
(supported-systems '("x86_64-linux"))

View File

@ -29,22 +29,130 @@
#:use-module (guix utils)
#:use-module (gnu packages)
#:use-module (gnu packages autotools)
#:use-module (gnu packages avahi)
#:use-module (gnu packages base)
#:use-module (gnu packages cmake)
#:use-module (gnu packages commencement)
#:use-module (gnu packages compression)
#:use-module (gnu packages crypto)
#:use-module (gnu packages cups)
#:use-module (gnu packages fltk)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages gettext)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
#:use-module (gnu packages gnupg)
#:use-module (gnu packages gtk)
#:use-module (gnu packages image)
#:use-module (gnu packages linux)
#:use-module (gnu packages pcre)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages rdesktop)
#:use-module (gnu packages sdl)
#:use-module (gnu packages spice)
#:use-module (gnu packages ssh)
#:use-module (gnu packages tls)
#:use-module (gnu packages video)
#:use-module (gnu packages webkit)
#:use-module (gnu packages xdisorg)
#:use-module (gnu packages xorg))
(define-public remmina
(package
(name "remmina")
(version "1.4.16")
(source
(origin
(method git-fetch)
(uri
(git-reference
(url "https://gitlab.com/Remmina/Remmina")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "09sjsgvh13jnhs6mhj9icyka0ad3qlnkbzvg7djj9rajzaf1y048"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f ; No target
#:configure-flags
(list
;; Disable online version checking.
"-DWITH_NEWS=OFF")
#:imported-modules
((guix build glib-or-gtk-build-system)
,@%cmake-build-system-modules)
#:modules
(((guix build glib-or-gtk-build-system)
#:prefix glib-or-gtk:)
(guix build cmake-build-system)
(guix build utils))
#:phases
(modify-phases %standard-phases
(add-after 'install 'glib-or-gtk-compile-schemas
(assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-compile-schemas))
(add-after 'glib-or-gtk-compile-schemas 'glib-or-gtk-wrap
(assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap))
(add-after 'glib-or-gtk-wrap 'wrap-typelibs
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(for-each
(lambda (name)
(let ((file (string-append out "/bin/" name))
(gi-typelib-path (getenv "GI_TYPELIB_PATH")))
(wrap-program file
`("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path)))))
'("remmina" "remmina-file-wrapper")))
#t)))))
(native-inputs
`(("gettext" ,gettext-minimal)
("glib:bin" ,glib "bin")
("gobject-introspection" ,gobject-introspection)
("gtk+:bin" ,gtk+ "bin")
("intl" ,intltool)
("pkg-config" ,pkg-config)))
(inputs
`(("app-indicator" ,libappindicator)
("atk" ,atk)
("avahi" ,avahi)
("cairo" ,cairo)
("cups" ,cups)
("ffmpeg" ,ffmpeg)
("freerdp" ,freerdp) ; for rdp plugin
("gcrypt" ,libgcrypt)
("gdk-pixbuf" ,gdk-pixbuf+svg)
("glib" ,glib)
("gnome-keyring" ,gnome-keyring)
("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
("gtk+" ,gtk+)
("harfbuzz" ,harfbuzz)
("json-glib" ,json-glib)
("libsecret" ,libsecret) ; for secret plugin
("libsoup" ,libsoup)
("libssh" ,libssh) ; for ssh plugin
("libvnc" ,libvnc) ; for vnc plugin
("openssl" ,openssl)
("pango" ,pango)
("pcre2" ,pcre2) ; for exec plugin
("shared-mime-info" ,shared-mime-info)
("sodium" ,libsodium)
("spice-client-gtk" ,spice-gtk) ; for spice plugin
("telepathy" ,telepathy-glib)
("vte" ,vte) ; for st plugin
("wayland" ,wayland)
("webkitgtk" ,webkitgtk) ; for www plugin
("x11" ,libx11)
("xext" ,libxext) ; for xdmcp plugin
("xdg-utils" ,xdg-utils)
("xkbfile" ,libxkbfile))) ; for nx plugin
(propagated-inputs
`(("dconf" ,dconf)))
(home-page "https://remmina.org/")
(synopsis "Remote Desktop Client")
(description "Remmina is a client to use other desktops remotely.
RDP, VNC, SPICE, NX, XDMCP, SSH and EXEC network protocols are supported.")
(license license:gpl2+)))
(define-public tigervnc-client
(package
(name "tigervnc-client")

View File

@ -49,6 +49,7 @@
;;; Copyright © 2020 Alexandru-Sergiu Marton <brown121407@posteo.ro>
;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2021 Stefan Reichör <stefan@xsteve.at>
;;; Copyright © 2021 la snesne <lasnesne@lagunposprasihopre.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -6534,7 +6535,7 @@ snippets on @url{https://commandlinefu.com}.")
(define-public rss-bridge
(package
(name "rss-bridge")
(version "2019-09-12")
(version "2020-11-10")
(source
(origin
(method git-fetch)
@ -6543,19 +6544,23 @@ snippets on @url{https://commandlinefu.com}.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1mx7f3l45nqhcrng531l4cq8kpzm164hhbwn26g5akb2pamdlnra"))))
(build-system trivial-build-system)
(base32 "1mir6mcm37sbdrhl5kgs6schpp3l4r5mfamhiic0yfbz4hqwmg44"))))
(build-system copy-build-system)
(arguments
'(#:modules ((guix build utils))
#:builder
(begin
(use-modules (guix build utils)
(ice-9 match))
(let* ((out (assoc-ref %outputs "out"))
(share-rss-bridge (string-append out "/share/rss-bridge")))
(mkdir-p share-rss-bridge)
(copy-recursively (assoc-ref %build-inputs "source") share-rss-bridge)
#t))))
'(#:install-plan
'(("." "share/rss-bridge"))
#:phases
(modify-phases %standard-phases
;;Change paths to not use source directory.
(add-before 'install 'patch-paths
(lambda _
(substitute* "lib/rssbridge.php"
(("PATH_ROOT . 'cache/'")
"'/var/cache/rss-bridge/'")
(("PATH_ROOT . 'whitelist.txt'")
"'/etc/rss-bridge/whitelist.txt'")
(("PATH_ROOT . 'config.ini.php'")
"'/etc/rss-bridge/config.ini.php'")))))))
(home-page "https://github.com/RSS-Bridge/rss-bridge")
(synopsis "Generate Atom feeds for social networking websites")
(description "rss-bridge generates Atom feeds for social networking

View File

@ -226,14 +226,14 @@ acceleration in mind, leveraging common 3D graphics APIs for best performance.")
(define-public webkitgtk
(package
(name "webkitgtk")
(version "2.32.0")
(version "2.32.1")
(source (origin
(method url-fetch)
(uri (string-append "https://www.webkitgtk.org/releases/"
"webkitgtk-" version ".tar.xz"))
(sha256
(base32
"1w3b0w8izp0i070grhv19j631sdcd0mcqnjnax13k8mdx7dg8zcx"))
"05v9hgpkc6mi2klrd8nqql1n8xzq8rgdz3hvyy369xkhgwqifq8k"))
(patches (search-patches "webkitgtk-share-store.patch"
"webkitgtk-bind-all-fonts.patch"))))
(build-system cmake-build-system)

View File

@ -3,6 +3,7 @@
;;; Copyright © 2016 Chris Marusich <cmmarusich@gmail.com>
;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2020, 2021 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2021 raid5atemyhomework <raid5atemyhomework@protonmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -34,6 +35,8 @@
#:use-module (guix diagnostics)
#:autoload (guix openpgp) (openpgp-format-fingerprint)
#:use-module (guix modules)
#:use-module (guix packages)
#:use-module (guix utils)
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
#:use-module (gnu packages hurd)
@ -107,6 +110,12 @@
profile-service-type
firmware-service-type
gc-root-service-type
linux-builder-service-type
linux-builder-configuration
linux-builder-configuration?
linux-builder-configuration-kernel
linux-builder-configuration-modules
linux-loadable-module-service-type
%boot-service
%activation-service
@ -883,6 +892,87 @@ as Wifi cards.")))
will not be reclaimed by the garbage collector.")
(default-value '())))
;; Configuration for the Linux kernel builder.
(define-record-type* <linux-builder-configuration>
linux-builder-configuration
make-linux-builder-configuration
linux-builder-configuration?
this-linux-builder-configuration
(kernel linux-builder-configuration-kernel) ; package
(modules linux-builder-configuration-modules (default '()))) ; list of packages
(define (package-for-kernel target-kernel module-package)
"Return a package like MODULE-PACKAGE, adapted for TARGET-KERNEL, if
possible (that is if there's a LINUX keyword argument in the build system)."
(package
(inherit module-package)
(arguments
(substitute-keyword-arguments (package-arguments module-package)
((#:linux kernel #f)
target-kernel)))))
(define (linux-builder-configuration->system-entry config)
"Return the kernel entry of the 'system' directory."
(let* ((kernel (linux-builder-configuration-kernel config))
(modules (linux-builder-configuration-modules config))
(kernel (profile
(content (packages->manifest
(cons kernel
(map (lambda (module)
(cond
((package? module)
(package-for-kernel kernel module))
;; support (,package "kernel-module-output")
((and (list? module) (package? (car module)))
(cons (package-for-kernel kernel
(car module))
(cdr module)))
(else
module)))
modules))))
(hooks (list linux-module-database)))))
(with-monad %store-monad
(return `(("kernel" ,kernel))))))
(define linux-builder-service-type
(service-type (name 'linux-builder)
(extensions
(list (service-extension system-service-type
linux-builder-configuration->system-entry)))
(default-value '())
(compose identity)
(extend (lambda (config modifiers)
(if (null? modifiers)
config
((apply compose modifiers) config))))
(description "Builds the linux-libre kernel profile, containing
the kernel itself and any linux-loadable kernel modules. This can be extended
with a function that accepts the current configuration and returns a new
configuration.")))
(define (linux-loadable-module-builder-modifier modules)
"Extends linux-builder-service-type by appending the given MODULES to the
configuration of linux-builder-service-type."
(lambda (config)
(linux-builder-configuration
(inherit config)
(modules (append (linux-builder-configuration-modules config)
modules)))))
(define linux-loadable-module-service-type
(service-type (name 'linux-loadable-modules)
(extensions
(list (service-extension linux-builder-service-type
linux-loadable-module-builder-modifier)))
(default-value '())
(compose concatenate)
(extend append)
(description "Adds packages and package outputs as modules
included in the booted linux-libre profile. Other services can extend this
service type to add particular modules to the set of linux-loadable modules.")))
;;;
;;; Service folding.

View File

@ -34,41 +34,42 @@
(spice-vdagent spice-vdagent-configuration-spice-vdagent
(default spice-vdagent)))
(define (spice-vdagent-activation config)
"Return the activation gexp for CONFIG."
#~(begin
(use-modules (guix build utils))
(mkdir-p "/var/run/spice-vdagentd")))
(define (spice-vdagent-shepherd-service config)
"Return a <shepherd-service> for spice-vdagentd with CONFIG."
(define spice-vdagent (spice-vdagent-configuration-spice-vdagent config))
(define spice-vdagentd-command
(list
(file-append spice-vdagent "/sbin/spice-vdagentd")
"-x"))
(file-append spice-vdagent "/sbin/spice-vdagentd")
"-x"))
(list
(shepherd-service
(documentation "Spice vdagentd service")
(requirement '(udev))
(provision '(spice-vdagentd))
(start #~(make-forkexec-constructor '#$spice-vdagentd-command))
(stop #~(make-kill-destructor)))))
(shepherd-service
(documentation "Spice vdagentd service")
(requirement '(dbus-system))
(provision '(spice-vdagentd))
(start #~(lambda args
;; spice-vdagentd supports being activated upon the client
;; connecting to its socket; when not using such feature, the
;; socket should not exist before vdagentd creates it itself.
(mkdir-p "/run/spice-vdagentd")
(false-if-exception
(delete-file "/run/spice-vdagentd/spice-vdagent-sock"))
(fork+exec-command '#$spice-vdagentd-command)))
(stop #~(make-kill-destructor)))))
(define spice-vdagent-profile
(compose list spice-vdagent-configuration-spice-vdagent))
(define spice-vdagent-service-type
(service-type (name 'spice-vdagent)
(extensions
(list (service-extension shepherd-root-service-type
spice-vdagent-shepherd-service)
(service-extension activation-service-type
spice-vdagent-activation)
(service-extension profile-service-type
spice-vdagent-profile)))))
(service-type
(name 'spice-vdagent)
(default-value (spice-vdagent-configuration))
(extensions
(list (service-extension shepherd-root-service-type
spice-vdagent-shepherd-service)
(service-extension profile-service-type
spice-vdagent-profile)))))
(define* (spice-vdagent-service
#:optional (config (spice-vdagent-configuration)))

View File

@ -13,6 +13,7 @@
;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <jannek@gnu.org>
;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
;;; Copyright © 2021 raid5atemyhomework <raid5atemyhomework@protonmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -62,6 +63,7 @@
#:use-module (gnu packages package-management)
#:use-module (gnu packages pciutils)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages wget)
#:use-module (gnu packages zile)
#:use-module (gnu services)
#:use-module (gnu services shepherd)
@ -601,16 +603,6 @@ OS."
(file-append (operating-system-kernel os)
"/" (system-linux-image-file-name))))
(define (package-for-kernel target-kernel module-package)
"Return a package like MODULE-PACKAGE, adapted for TARGET-KERNEL, if
possible (that is if there's a LINUX keyword argument in the build system)."
(package
(inherit module-package)
(arguments
(substitute-keyword-arguments (package-arguments module-package)
((#:linux kernel #f)
target-kernel)))))
(define %default-modprobe-blacklist
;; List of kernel modules to blacklist by default.
'("usbmouse" ;races with bcm5974, see <https://bugs.gnu.org/35574>
@ -628,23 +620,12 @@ value of the SYSTEM-SERVICE-TYPE service."
(let* ((locale (operating-system-locale-directory os))
(kernel (operating-system-kernel os))
(hurd (operating-system-hurd os))
(modules (operating-system-kernel-loadable-modules os))
(kernel (if hurd
kernel
(profile
(content (packages->manifest
(cons kernel
(map (lambda (module)
(if (package? module)
(package-for-kernel kernel
module)
module))
modules))))
(hooks (list linux-module-database)))))
(initrd (and (not hurd) (operating-system-initrd-file os)))
(params (operating-system-boot-parameters-file os)))
`(("kernel" ,kernel)
,@(if hurd `(("hurd" ,hurd)) '())
`(,@(if hurd
`(("hurd" ,hurd)
("kernel" ,kernel))
'())
("parameters" ,params)
,@(if initrd `(("initrd" ,initrd)) '())
("locale" ,locale)))) ;used by libc
@ -664,6 +645,10 @@ bookkeeping."
(host-name (host-name-service (operating-system-host-name os)))
(entries (operating-system-directory-base-entries os)))
(cons* (service system-service-type entries)
(service linux-builder-service-type
(linux-builder-configuration
(kernel (operating-system-kernel os))
(modules (operating-system-kernel-loadable-modules os))))
%boot-service
;; %SHEPHERD-ROOT-SERVICE must come last so that the gexp that
@ -806,6 +791,7 @@ of PROVENANCE-SERVICE-TYPE to its services."
;; Default set of networking packages.
(list inetutils isc-dhcp
iproute
wget
;; wireless-tools is deprecated in favor of iw, but it's still what
;; many people are familiar with, so keep it around.
iw wireless-tools))

View File

@ -5,7 +5,7 @@
;;
(use-modules (gnu) (guix) (srfi srfi-1))
(use-service-modules desktop networking ssh xorg)
(use-service-modules desktop mcron networking spice ssh xorg)
(use-package-modules bootloaders certs fonts nvi
package-management wget xorg)
@ -24,6 +24,18 @@ Run '\x1b[1;37minfo guix\x1b[0m' to browse documentation.
accounts.\x1b[0m
"))
;;; XXX: Xfce does not implement what is needed for the SPICE dynamic
;;; resolution to work (see:
;;; https://gitlab.xfce.org/xfce/xfce4-settings/-/issues/142). Workaround it
;;; by manually invoking xrandr every second.
(define auto-update-resolution-crutch
#~(job '(next-second)
(lambda ()
(setenv "DISPLAY" ":0.0")
(setenv "XAUTHORITY" "/home/guest/.Xauthority")
(execl (string-append #$xrandr "/bin/xrandr") "xrandr" "-s" "0"))
#:user "guest"))
(operating-system
(host-name "gnu")
(timezone "Etc/UTC")
@ -75,11 +87,23 @@ root ALL=(ALL) ALL
(default-user "guest")
(xorg-configuration
(xorg-configuration
;; The QXL virtual GPU driver is added to provide
;; a better SPICE experience.
(modules (cons xf86-video-qxl
%default-xorg-modules))
(keyboard-layout keyboard-layout)))))
;; Uncomment the line below to add an SSH server.
;;(service openssh-service-type)
;; Add support for the SPICE protocol, which enables dynamic
;; resizing of the guest screen resolution, clipboard
;; integration with the host, etc.
(service spice-vdagent-service-type)
(simple-service 'cron-jobs mcron-service-type
(list auto-update-resolution-crutch))
;; Use the DHCP client service rather than NetworkManager.
(service dhcp-client-service-type))

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014, 2015, 2016, 2017, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014, 2015, 2016, 2017, 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2018 Mark H Weaver <mhw@netris.org>
;;;
;;; This file is part of GNU Guix.

View File

@ -2,6 +2,7 @@
;;; Copyright © 2019 Jakob L. Kreuze <zerodaysfordays@sdf.org>
;;; Copyright © 2020 Danny Milosavljevic <dannym@scratchpost.org>
;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
;;; Copyright © 2021 raid5atemyhomework <raid5atemyhomework@protonmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -34,7 +35,10 @@
#:use-module (guix utils)
#:export (%test-loadable-kernel-modules-0
%test-loadable-kernel-modules-1
%test-loadable-kernel-modules-2))
%test-loadable-kernel-modules-2
%test-loadable-kernel-modules-service-0
%test-loadable-kernel-modules-service-1
%test-loadable-kernel-modules-service-2))
;;; Commentary:
;;;
@ -66,17 +70,11 @@ that MODULES are actually loaded."
(member module modules string=?))
'#$modules))))))
(define* (run-loadable-kernel-modules-test module-packages module-names)
"Run a test of an OS having MODULE-PACKAGES, and verify that MODULE-NAMES
are loaded in memory."
(define* (run-loadable-kernel-modules-test-base base-os module-names)
"Run a test of BASE-OS, verifying that MODULE-NAMES are loaded in memory."
(define os
(marionette-operating-system
(operating-system
(inherit (simple-operating-system))
(services (cons (service kernel-module-loader-service-type module-names)
(operating-system-user-services
(simple-operating-system))))
(kernel-loadable-modules module-packages))
base-os
#:imported-modules '((guix combinators))))
(define vm (virtual-machine os))
(define (test script)
@ -98,6 +96,36 @@ are loaded in memory."
(gexp->derivation "loadable-kernel-modules"
(test (modules-loaded?-program os module-names))))
(define* (run-loadable-kernel-modules-test module-packages module-names)
"Run a test of an OS having MODULE-PACKAGES, and verify that MODULE-NAMES
are loaded in memory."
(run-loadable-kernel-modules-test-base
(operating-system
(inherit (simple-operating-system))
(services (cons (service kernel-module-loader-service-type module-names)
(operating-system-user-services
(simple-operating-system))))
(kernel-loadable-modules module-packages))
module-names))
(define* (run-loadable-kernel-modules-service-test module-packages module-names)
"Run a test of an OS having MODULE-PACKAGES, which are loaded by creating a
service that extends LINUXL-LOADABLE-MODULE-SERVICE-TYPE. Then verify that
MODULE-NAMES are loaded in memory."
(define module-installing-service-type
(service-type
(name 'module-installing-service)
(extensions (list (service-extension linux-loadable-module-service-type
(const module-packages))))
(default-value #f)))
(run-loadable-kernel-modules-test-base
(operating-system
(inherit (simple-operating-system))
(services (cons* (service module-installing-service-type)
(operating-system-user-services
(simple-operating-system)))))
module-names))
(define %test-loadable-kernel-modules-0
(system-test
(name "loadable-kernel-modules-0")
@ -129,3 +157,35 @@ with two extra modules.")
(package-arguments
ddcci-driver-linux))))))
'("acpi_call" "ddcci")))))
(define %test-loadable-kernel-modules-service-0
(system-test
(name "loadable-kernel-modules-service-0")
(description "Tests loadable kernel modules extensible service with no
extra modules.")
(value (run-loadable-kernel-modules-service-test '() '()))))
(define %test-loadable-kernel-modules-service-1
(system-test
(name "loadable-kernel-modules-service-1")
(description "Tests loadable kernel modules extensible service with one
extra module.")
(value (run-loadable-kernel-modules-service-test
(list ddcci-driver-linux)
'("ddcci")))))
(define %test-loadable-kernel-modules-service-2
(system-test
(name "loadable-kernel-modules-service-2")
(description "Tests loadable kernel modules extensible service with two
extra modules.")
(value (run-loadable-kernel-modules-service-test
(list acpi-call-linux-module
(package
(inherit ddcci-driver-linux)
(arguments
`(#:linux #f
,@(strip-keyword-arguments '(#:linux)
(package-arguments
ddcci-driver-linux))))))
'("acpi_call" "ddcci")))))

View File

@ -657,10 +657,11 @@ that unconditionally resumes the continuation."
store))))
(define* (build-from-source instance
#:key core verbose? (dependencies '()))
#:key core verbose? (dependencies '()) system)
"Return a derivation to build Guix from INSTANCE, using the self-build
script contained therein. When CORE is true, build package modules under
SOURCE using CORE, an instance of Guix."
SOURCE using CORE, an instance of Guix. By default, build for the current
system, or SYSTEM if specified."
(define name
(symbol->string
(channel-name (channel-instance-channel instance))))
@ -700,20 +701,22 @@ SOURCE using CORE, an instance of Guix."
(with-trivial-build-handler
(build source
#:verbose? verbose? #:version commit
#:system system
#:channel-metadata (channel-instance->sexp instance)
#:pull-version %pull-version))))
;; Build a set of modules that extend Guix using the standard method.
(standard-module-derivation name source core dependencies)))
(define* (build-channel-instance instance
(define* (build-channel-instance instance system
#:optional core (dependencies '()))
"Return, as a monadic value, the derivation for INSTANCE, a channel
instance. DEPENDENCIES is a list of extensions providing Guile modules that
INSTANCE depends on."
instance, for SYSTEM. DEPENDENCIES is a list of extensions providing Guile
modules that INSTANCE depends on."
(build-from-source instance
#:core core
#:dependencies dependencies))
#:dependencies dependencies
#:system system))
(define (resolve-dependencies instances)
"Return a procedure that, given one of the elements of INSTANCES, returns
@ -743,9 +746,9 @@ list of instances it depends on."
(lambda (instance)
(vhash-foldq* cons '() instance edges)))
(define (channel-instance-derivations instances)
(define* (channel-instance-derivations instances #:key system)
"Return the list of derivations to build INSTANCES, in the same order as
INSTANCES."
INSTANCES. Build for the current system by default, or SYSTEM if specified."
(define core-instance
;; The 'guix' channel is treated specially: it's an implicit dependency of
;; all the other channels.
@ -757,13 +760,13 @@ INSTANCES."
(resolve-dependencies instances))
(define (instance->derivation instance)
(mlet %store-monad ((system (current-system)))
(mlet %store-monad ((system (if system (return system) (current-system))))
(mcached (if (eq? instance core-instance)
(build-channel-instance instance)
(build-channel-instance instance system)
(mlet %store-monad ((core (instance->derivation core-instance))
(deps (mapm %store-monad instance->derivation
(edges instance))))
(build-channel-instance instance core deps)))
(build-channel-instance instance system core deps)))
instance
system)))
@ -865,9 +868,10 @@ derivation."
intro))))))
'()))))
(define (channel-instances->manifest instances)
(define* (channel-instances->manifest instances #:key system)
"Return a profile manifest with entries for all of INSTANCES, a list of
channel instances."
channel instances. By default, build for the current system, or SYSTEM if
specified."
(define (instance->entry instance drv)
(let ((commit (channel-instance-commit instance))
(channel (channel-instance-channel instance)))
@ -883,7 +887,8 @@ channel instances."
(properties
`((source ,(channel-instance->sexp instance)))))))
(mlet* %store-monad ((derivations (channel-instance-derivations instances))
(mlet* %store-monad ((derivations (channel-instance-derivations instances
#:system system))
(entries -> (map instance->entry instances derivations)))
(return (manifest entries))))

View File

@ -122,15 +122,24 @@ lives in, or the empty list if this is not applicable."
(mlambda ()
"Return the list of channels currently available, including the 'guix'
channel. Return the empty list if this information is missing."
(define (build-time-metadata)
(match (channel-metadata)
(#f '())
(sexp (or (and=> (sexp->channel sexp 'guix) list) '()))))
(match (current-profile-entries)
(()
;; As a fallback, if we're not running from a profile, use 'guix'
;; channel metadata from (guix config).
(match (channel-metadata)
(#f '())
(sexp (or (and=> (sexp->channel sexp 'guix) list) '()))))
(build-time-metadata))
(entries
(filter-map manifest-entry-channel entries)))))
(match (filter-map manifest-entry-channel entries)
(()
;; This profile lacks provenance metadata, so fall back to
;; build-time metadata as returned by 'channel-metadata'.
(build-time-metadata))
(lst
lst))))))
(define (package-path-entries)
"Return two values: the list of package path entries to be added to the

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015, 2016, 2017, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015, 2016, 2017, 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -253,10 +253,11 @@ taken since we do not import the archives."
NARINFO."
(let*-values (((uri compression size)
(narinfo-best-uri narinfo))
((port response)
((port actual-size)
(http-fetch uri)))
(define reporter
(progress-reporter/file (narinfo-path narinfo) size
(progress-reporter/file (narinfo-path narinfo)
(max size (or actual-size 0)) ;defensive
#:abbreviation (const (uri-host uri))))
(define result

View File

@ -301,4 +301,11 @@ text. The hyperlink links to a web view of COMMIT, when available."
(channels
(display-profile-info #f format channels))))
(profile
(display-profile-info (canonicalize-profile profile) format))))))
;; For the current profile, resort to 'current-channels', which has a
;; fallback to metadata from (guix config) in case PROFILE lacks it.
(let ((channels (if (and (current-profile)
(string=? profile (current-profile)))
(current-channels)
(profile-channels profile))))
(display-profile-info (canonicalize-profile profile)
format channels)))))))

View File

@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2020 Katherine Cox-Buday <cox.katherine.e@gmail.com>
;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2021 Zheng Junjie <873216071@qq.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -68,9 +69,7 @@ that are not yet in Guix"))
(alist-cons 'recursive #t result)))
(option '(#\p "goproxy") #t #f
(lambda (opt name arg result)
(alist-cons 'goproxy
(string->symbol arg)
(alist-delete 'goproxy result))))
(alist-cons 'goproxy arg (alist-delete 'goproxy result))))
(option '("pin-versions") #f #f
(lambda (opt name arg result)
(alist-cons 'pin-versions? #t result)))

View File

@ -717,6 +717,7 @@ checking this by themselves in their 'check' procedure."
(lower-object (system-image image)))
((docker-image)
(system-docker-image os
#:memory-size 1024
#:shared-network? container-shared-network?)))))
(define (maybe-suggest-running-guix-pull)

View File

@ -63,6 +63,7 @@
("guile-zstd" (ref '(gnu packages guile) 'guile-zstd))
("guile-gcrypt" (ref '(gnu packages gnupg) 'guile-gcrypt))
("gnutls" (ref '(gnu packages tls) 'gnutls))
("disarchive" (ref '(gnu packages backup) 'disarchive))
("gzip" (ref '(gnu packages compression) 'gzip))
("bzip2" (ref '(gnu packages compression) 'bzip2))
("xz" (ref '(gnu packages compression) 'xz))
@ -842,6 +843,9 @@ itself."
(define gnutls
(specification->package "gnutls"))
(define disarchive
(specification->package "disarchive"))
(define dependencies
(append-map transitive-package-dependencies
(list guile-gcrypt gnutls guile-git guile-avahi
@ -1026,7 +1030,8 @@ itself."
(let* ((modules (built-modules (compose list node-source+compiled)))
(command (guix-command modules
#:source source
#:dependencies dependencies
#:dependencies
(cons disarchive dependencies)
#:guile guile-for-build
#:guile-version guile-version)))
(whole-package name modules dependencies

View File

@ -268,7 +268,7 @@ EXP never returns or calls 'primitive-exit' when it's done."
;; Use 'connect-to-daemon' to honor GUIX_DAEMON_SOCKET.
(let ((sock (connect-to-daemon (or (getenv "GUIX_DAEMON_SOCKET")
socket-name)))
,socket-name)))
(stdin (current-input-port))
(stdout (current-output-port))
(select* (lambda (read write except)

View File

@ -455,7 +455,11 @@ URL could not be found."
(match (lookup-origin url)
(#f #f)
(origin
(match (filter visit-snapshot-url (origin-visits origin))
(match (filter (lambda (visit)
;; Return #f if (visit-snapshot VISIT) would return #f.
(and (visit-snapshot-url visit)
(eq? 'full (visit-status visit))))
(origin-visits origin))
((visit . _)
(let ((snapshot (visit-snapshot visit)))
(match (and=> (find (lambda (branch)

View File

@ -7,7 +7,7 @@ msgstr ""
"Project-Id-Version: guix manual checkout\n"
"Report-Msgid-Bugs-To: bug-guix@gnu.org\n"
"POT-Creation-Date: 2021-01-25 00:00+0100\n"
"PO-Revision-Date: 2021-02-19 10:40+0000\n"
"PO-Revision-Date: 2021-05-03 02:58+0000\n"
"Last-Translator: Soheil Khanalipur <soheil@disroot.org>\n"
"Language-Team: Persian <https://translate.fedoraproject.org/projects/guix/documentation-cookbook/fa/>\n"
"Language: fa\n"
@ -15,7 +15,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Generator: Weblate 4.4.2\n"
"X-Generator: Weblate 4.6.1\n"
#. type: Plain text
#: guix-git/doc/guix-cookbook.texi:7
@ -154,7 +154,7 @@ msgstr ""
#. type: menuentry
#: guix-git/doc/guix-cookbook.texi:74
msgid "Thanks!"
msgstr "سپاس"
msgstr "سِپاس!"
#. type: appendix
#: guix-git/doc/guix-cookbook.texi:74 guix-git/doc/guix-cookbook.texi:2941

File diff suppressed because it is too large Load Diff

View File

@ -71,7 +71,7 @@ msgstr "GNU Guix 개발자"
#: guix-git/doc/guix-cookbook.texi:48
#, no-wrap
msgid "Top"
msgstr "Top"
msgstr "정상"
#. type: Plain text
#: guix-git/doc/guix-cookbook.texi:55

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,5 +1,6 @@
# GNU Guix --- Functional package management for GNU
# Copyright © 2018 Julien Lepiller <julien@lepiller.eu>
# Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
#
# This file is part of GNU Guix.
#
@ -16,7 +17,7 @@
# You should have received a copy of the GNU General Public License
# along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
DOC_PO_FILES= \
DOC_PO_FILES = \
%D%/guix-manual.es.po \
%D%/guix-manual.de.po \
%D%/guix-manual.fa.po \
@ -28,11 +29,11 @@ DOC_PO_FILES= \
%D%/guix-manual.sk.po \
%D%/guix-manual.zh_CN.po
DOC_COOKBOOK_PO_FILES= \
%D%/guix-cookbook.de.po \
%D%/guix-cookbook.fa.po \
%D%/guix-cookbook.fr.po \
%D%/guix-cookbook.ko.po \
DOC_COOKBOOK_PO_FILES = \
%D%/guix-cookbook.de.po \
%D%/guix-cookbook.fa.po \
%D%/guix-cookbook.fr.po \
%D%/guix-cookbook.ko.po \
%D%/guix-cookbook.zh_Hans.po
EXTRA_DIST = \
@ -41,77 +42,18 @@ EXTRA_DIST = \
$(DOC_PO_FILES) \
$(DOC_COOKBOOK_PO_FILES)
POT_OPTIONS = --package-name "guix manual" --package-version "$(VERSION)" \
--copyright-holder "the authors of Guix (msgids)" \
--msgid-bugs-address "bug-guix@gnu.org"
POT_OPTIONS = \
--package-name "guix manual" --package-version "$(VERSION)" \
--copyright-holder "the authors of Guix (msgids)" \
--msgid-bugs-address "bug-guix@gnu.org"
doc-po-update-%:
@lang=`echo "$@" | sed -e's/^doc-po-update-//'` ; \
output="$(srcdir)/po/doc/guix-manual.$$lang.po" ; \
input="$(srcdir)/po/doc/guix-manual.pot" ; \
if test -f "$$output"; then \
test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
echo "$${cdcmd}$(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $$output $$input"; \
cd $(srcdir) \
&& { case `$(MSGMERGE_UPDATE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \
'' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \
$(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) "$$output" "$$input";; \
*) \
$(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} "$$output" "$$input";; \
esac; \
}; \
touch "$$output"; \
else \
echo "File $$output does not exist. If you are a translator, you can create it with 'msginit'." 1>&2; \
exit 1; \
fi
doc-po-update-cookbook-%:
@lang=`echo "$@" | sed -e's/^doc-po-update-cookbook-//'` ; \
output="$(srcdir)/po/doc/guix-cookbook.$$lang.po" ; \
input="$(srcdir)/po/doc/guix-cookbook.pot" ; \
if test -f "$$output"; then \
test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
echo "$${cdcmd}$(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $$output $$input"; \
cd $(srcdir) \
&& { case `$(MSGMERGE_UPDATE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \
'' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \
$(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) "$$output" "$$input";; \
*) \
$(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} "$$output" "$$input";; \
esac; \
}; \
touch "$$output"; \
else \
echo "File $$output does not exist. If you are a translator, you can create it with 'msginit'." 1>&2; \
exit 1; \
fi
$(srcdir)/po/doc/%.pot-update: doc/%.texi
%D%/%.pot: $(srcdir)/doc/%.texi
$(AM_V_PO4A)$(PO4A_UPDATEPO) -M UTF-8 -f texinfo -m "$<" \
-p "$$(echo $@ | sed 's|-update||')" $(POT_OPTIONS)
@touch "$$(echo $@ | sed 's|-update||')"
-p "$@" $(POT_OPTIONS) && \
touch $@
TMP_POT_FILES = contributing.pot guix.pot
%D%/guix-manual.pot: %D%/guix.pot %D%/contributing.pot
msgcat $^ > $@
doc-pot-update:
for f in $(TMP_POT_FILES); do \
$(MAKE) $(srcdir)/po/doc/guix.pot-update; \
$(MAKE) $(srcdir)/po/doc/contributing.pot-update; \
done
$(MAKE) $(srcdir)/po/doc/guix-cookbook.pot-update;
msgcat $(addprefix $(srcdir)/po/doc/, $(TMP_POT_FILES)) > $(srcdir)/po/doc/guix-manual.pot
rm -f $(addprefix $(srcdir)/po/doc/, $(TMP_POT_FILES))
doc-po-update: doc-pot-update
for f in $(DOC_PO_FILES); do \
lang="`echo "$$f" | $(SED) -es'|.*/guix-manual\.\(.*\)\.po$$|\1|g'`"; \
$(MAKE) "doc-po-update-$$lang"; \
done
for f in $(DOC_COOKBOOK_PO_FILES); do \
lang="`echo "$$f" | $(SED) -es'|.*/guix-cookbook\.\(.*\)\.po$$|\1|g'`"; \
$(MAKE) "doc-po-update-cookbook-$$lang"; \
done
.PHONY: doc-po-update doc-pot-update
doc-pot-update: %D%/guix-manual.pot %D%/guix-cookbook.pot
.PHONY: doc-pot-update

View File

@ -12,9 +12,11 @@ hu
it
ko
nl
oc
pl
pt_BR
ru
si
sk
sr
sv

View File

@ -26,3 +26,8 @@ EXTRA_LOCALE_CATEGORIES =
# "make distcheck -j4".
# See <https://lists.gnu.org/archive/html/bug-gettext/2014-08/msg00005.html>.
DIST_DEPENDS_ON_UPDATE_PO = no
# Ignore the timestamp of the .pot file, as .po files are updated by
# `make download-po` only. This ensures po files are not modified on the
# first `make` invocation.
PO_DEPENDS_ON_POT = no

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

Some files were not shown because too many files have changed in this diff Show More