mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-11-07 15:36:20 -05:00
Merge branch 'master' into staging
This commit is contained in:
commit
35ed83beae
84 changed files with 1545 additions and 1155 deletions
|
@ -11,23 +11,34 @@
|
|||
. "<https?://\\(debbugs\\|bugs\\)\\.gnu\\.org/\\([0-9]+\\)>")
|
||||
|
||||
;; Emacs-Guix
|
||||
(eval . (setq guix-directory
|
||||
(locate-dominating-file default-directory ".dir-locals.el")))
|
||||
(eval . (setq-local guix-directory
|
||||
(locate-dominating-file default-directory
|
||||
".dir-locals.el")))
|
||||
|
||||
;; Geiser
|
||||
;; This allows automatically setting the `geiser-guile-load-path'
|
||||
;; variable when using various Guix checkouts (e.g., via git worktrees).
|
||||
(eval . (let* ((root-dir (expand-file-name
|
||||
(locate-dominating-file
|
||||
default-directory ".dir-locals.el")))
|
||||
;; Workaround for bug https://issues.guix.gnu.org/43818.
|
||||
(root-dir* (directory-file-name root-dir)))
|
||||
(unless (boundp 'geiser-guile-load-path)
|
||||
(defvar geiser-guile-load-path '()))
|
||||
(make-local-variable 'geiser-guile-load-path)
|
||||
(require 'cl-lib)
|
||||
(cl-pushnew root-dir* geiser-guile-load-path
|
||||
:test #'string-equal)))))
|
||||
(eval . (let ((root-dir-unexpanded (locate-dominating-file
|
||||
default-directory ".dir-locals.el")))
|
||||
;; While Guix should in theory always have a .dir-locals.el
|
||||
;; (we are reading this file, after all) there seems to be a
|
||||
;; strange problem where this code "escapes" to some other buffers,
|
||||
;; at least vc-mode. See:
|
||||
;; https://lists.gnu.org/archive/html/guix-devel/2020-11/msg00296.html
|
||||
;; Upstream report: <https://bugs.gnu.org/44698>
|
||||
;; Hence the following "when", which might otherwise be unnecessary;
|
||||
;; it prevents causing an error when root-dir-unexpanded is nil.
|
||||
(when root-dir-unexpanded
|
||||
(let* ((root-dir (expand-file-name root-dir-unexpanded))
|
||||
;; Workaround for bug https://issues.guix.gnu.org/43818.
|
||||
(root-dir* (directory-file-name root-dir)))
|
||||
|
||||
(unless (boundp 'geiser-guile-load-path)
|
||||
(defvar geiser-guile-load-path '()))
|
||||
(make-local-variable 'geiser-guile-load-path)
|
||||
(require 'cl-lib)
|
||||
(cl-pushnew root-dir* geiser-guile-load-path
|
||||
:test #'string-equal)))))))
|
||||
|
||||
(c-mode . ((c-file-style . "gnu")))
|
||||
(scheme-mode
|
||||
|
@ -123,7 +134,6 @@
|
|||
(eval . (put 'call-with-progress-reporter 'scheme-indent-function 1))
|
||||
(eval . (put 'with-repository 'scheme-indent-function 2))
|
||||
(eval . (put 'with-temporary-git-repository 'scheme-indent-function 2))
|
||||
(eval . (put 'with-temporary-git-worktree 'scheme-indent-function 2))
|
||||
(eval . (put 'with-environment-variables 'scheme-indent-function 1))
|
||||
(eval . (put 'with-fresh-gnupg-setup 'scheme-indent-function 1))
|
||||
|
||||
|
|
23
Makefile.am
23
Makefile.am
|
@ -562,7 +562,7 @@ dist_zshcompletion_DATA = etc/completion/zsh/_guix
|
|||
dist_fishcompletion_DATA = etc/completion/fish/guix.fish
|
||||
|
||||
# SELinux policy
|
||||
nodist_selinux_policy_DATA = etc/guix-daemon.cil.in
|
||||
nodist_selinux_policy_DATA = etc/guix-daemon.cil
|
||||
|
||||
EXTRA_DIST += \
|
||||
HACKING \
|
||||
|
@ -570,6 +570,7 @@ EXTRA_DIST += \
|
|||
TODO \
|
||||
CODE-OF-CONDUCT \
|
||||
.dir-locals.el \
|
||||
.guix-authorizations \
|
||||
.guix-channel \
|
||||
scripts/guix.in \
|
||||
etc/guix-install.sh \
|
||||
|
@ -710,7 +711,7 @@ AM_DISTCHECK_CONFIGURE_FLAGS = \
|
|||
ac_cv_guix_test_root="$(GUIX_TEST_ROOT)"
|
||||
|
||||
# Name of the 'guix' package shipped in the binary tarball.
|
||||
GUIX_FOR_BINARY_TARBALL = guile3.0-guix
|
||||
GUIX_FOR_BINARY_TARBALL = guix
|
||||
|
||||
# The self-contained tarball.
|
||||
guix-binary.%.tar.xz:
|
||||
|
@ -730,8 +731,8 @@ distcheck-hook: assert-binaries-available assert-final-inputs-self-contained
|
|||
|
||||
EXTRA_DIST += $(top_srcdir)/.version
|
||||
BUILT_SOURCES += $(top_srcdir)/.version
|
||||
$(top_srcdir)/.version:
|
||||
echo $(VERSION) > "$@-t" && mv "$@-t" "$@"
|
||||
$(top_srcdir)/.version: config.status
|
||||
$(AM_V_GEN)echo $(VERSION) > "$@-t" && mv "$@-t" "$@"
|
||||
|
||||
gen-tarball-version:
|
||||
echo $(VERSION) > "$(distdir)/.tarball-version"
|
||||
|
@ -826,9 +827,10 @@ release: dist-with-updated-version
|
|||
$(MKDIR_P) "$(releasedir)"
|
||||
rm -f "$(releasedir)"/*
|
||||
mv $(SOURCE_TARBALLS) "$(releasedir)"
|
||||
$(top_builddir)/pre-inst-env "$(GUILE)" \
|
||||
$(top_srcdir)/build-aux/update-guix-package.scm \
|
||||
"`git rev-parse HEAD`" "$(PACKAGE_VERSION)"
|
||||
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) \
|
||||
|
@ -840,9 +842,10 @@ release: dist-with-updated-version
|
|||
mv "guix-binary.$$system.tar.xz" \
|
||||
"$(releasedir)/guix-binary-$(PACKAGE_VERSION).$$system.tar.xz" ; \
|
||||
done
|
||||
$(top_builddir)/pre-inst-env "$(GUILE)" \
|
||||
$(top_srcdir)/build-aux/update-guix-package.scm \
|
||||
"`git rev-parse HEAD`"
|
||||
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`"
|
||||
git add $(top_srcdir)/gnu/packages/package-management.scm
|
||||
git commit -m "gnu: guix: Update to `git rev-parse HEAD | cut -c1-7`."
|
||||
$(top_builddir)/pre-inst-env guix build guix \
|
||||
|
|
4
NEWS
4
NEWS
|
@ -60,6 +60,8 @@ Please send Guix bug reports to bug-guix@gnu.org.
|
|||
*** ‘swap-devices’ field of ‘operating-system’ can contains UUIDs and labels
|
||||
*** Graphical installer uses UUIDs for unencrypted swap partitions
|
||||
*** Graphical installer now supports NTFS file systems
|
||||
*** File systems UUIDs and labels now recognized for F2FS and NTFS
|
||||
*** Root file system can now be on NFS
|
||||
*** New services
|
||||
|
||||
autossh, ganeti, gmnisrv, guix-build-coordinator,
|
||||
|
@ -96,6 +98,8 @@ simulated-wifi, udev-rules, unattended-upgrade, webssh, zram
|
|||
(<https://issues.guix.gnu.org/35394>)
|
||||
*** ‘guix system reconfigure’ now starts services not currently running
|
||||
(<https://bugs.gnu.org/43720>)
|
||||
*** Desktop environments now detect newly installed applications
|
||||
(<https://bugs.gnu.org/35594>)
|
||||
*** Offloading and copying small items is now much faster
|
||||
(<https://issues.guix.gnu.org/43340>)
|
||||
*** GCC switched back to C_INCLUDE_PATH & co. from CPATH
|
||||
|
|
|
@ -44,9 +44,6 @@
|
|||
(define %top-srcdir
|
||||
(string-append (current-source-directory) "/.."))
|
||||
|
||||
(define version-controlled?
|
||||
(git-predicate %top-srcdir))
|
||||
|
||||
(define (package-definition-location)
|
||||
"Return the source properties of the definition of the 'guix' package."
|
||||
(call-with-input-file (location-file (package-location guix))
|
||||
|
@ -114,8 +111,9 @@ (define (git-add-worktree directory commit)
|
|||
"Create a new git worktree at DIRECTORY, detached on commit COMMIT."
|
||||
(invoke "git" "worktree" "add" "--detach" directory commit))
|
||||
|
||||
(define-syntax-rule (with-temporary-git-worktree commit body ...)
|
||||
"Execute BODY in the context of a temporary git worktree created from COMMIT."
|
||||
(define (call-with-temporary-git-worktree commit proc)
|
||||
"Execute PROC in the context of a temporary git worktree created from
|
||||
COMMIT. PROC receives the temporary directory file name as an argument."
|
||||
(call-with-temporary-directory
|
||||
(lambda (tmp-directory)
|
||||
(dynamic-wind
|
||||
|
@ -123,12 +121,12 @@ (define-syntax-rule (with-temporary-git-worktree commit body ...)
|
|||
#t)
|
||||
(lambda ()
|
||||
(git-add-worktree tmp-directory commit)
|
||||
(with-directory-excursion tmp-directory body ...))
|
||||
(proc tmp-directory))
|
||||
(lambda ()
|
||||
(invoke "git" "worktree" "remove" "--force" tmp-directory))))))
|
||||
|
||||
(define %savannah-guix-git-repo-push-url-regexp
|
||||
"git.(savannah|sv).gnu.org/srv/git/guix.git \\(push\\)")
|
||||
"git.(savannah|sv).gnu.org:?/srv/git/guix.git \\(push\\)")
|
||||
|
||||
(define-syntax-rule (with-input-pipe-to-string prog arg ...)
|
||||
(let* ((input-pipe (open-pipe* OPEN_READ prog arg ...))
|
||||
|
@ -156,27 +154,60 @@ (define (commit-already-pushed? remote commit)
|
|||
"git" "branch" "-r" "--contains" commit
|
||||
(string-append remote "/master")))))
|
||||
|
||||
(define (keep-source-in-store store source)
|
||||
"Add SOURCE to the store under the name that the 'guix' package expects."
|
||||
|
||||
;; Add SOURCE to the store, but this time under the real name used in the
|
||||
;; 'origin'. This allows us to build the package without having to make a
|
||||
;; real checkout; thus, it also works when working on a private branch.
|
||||
(reload-module
|
||||
(resolve-module '(gnu packages package-management)))
|
||||
|
||||
(let* ((source (add-to-store store
|
||||
(origin-file-name (package-source guix))
|
||||
#t "sha256" source
|
||||
#:select? (git-predicate source)))
|
||||
(root (store-path-package-name source)))
|
||||
|
||||
;; Add an indirect GC root for SOURCE in the current directory.
|
||||
(false-if-exception (delete-file root))
|
||||
(symlink source root)
|
||||
(add-indirect-root store
|
||||
(string-append (getcwd) "/" root))
|
||||
|
||||
(info (G_ "source code kept in ~a (GC root: ~a)~%")
|
||||
source root)))
|
||||
|
||||
|
||||
(define (main . args)
|
||||
(match args
|
||||
((commit version)
|
||||
(with-directory-excursion %top-srcdir
|
||||
(or (getenv "GUIX_ALLOW_ME_TO_USE_PRIVATE_COMMIT")
|
||||
(commit-already-pushed? (find-origin-remote) commit)
|
||||
(let ((remote (find-origin-remote)))
|
||||
(unless remote
|
||||
(leave (G_ "Failed to find the origin git remote.~%")))
|
||||
(commit-already-pushed? remote commit))
|
||||
(leave (G_ "Commit ~a is not pushed upstream. Aborting.~%") commit))
|
||||
(let* ((hash (with-temporary-git-worktree commit
|
||||
(nix-base32-string->bytevector
|
||||
(string-trim-both
|
||||
(with-output-to-string
|
||||
(lambda ()
|
||||
(guix-hash "-rx" ".")))))))
|
||||
(location (package-definition-location))
|
||||
(old-hash (content-hash-value
|
||||
(origin-hash (package-source guix)))))
|
||||
(edit-expression location
|
||||
(update-definition commit hash
|
||||
#:old-hash old-hash
|
||||
#:version version)))))
|
||||
(call-with-temporary-git-worktree commit
|
||||
(lambda (tmp-directory)
|
||||
(let* ((hash (nix-base32-string->bytevector
|
||||
(string-trim-both
|
||||
(with-output-to-string
|
||||
(lambda ()
|
||||
(guix-hash "-rx" tmp-directory))))))
|
||||
(location (package-definition-location))
|
||||
(old-hash (content-hash-value
|
||||
(origin-hash (package-source guix)))))
|
||||
(edit-expression location
|
||||
(update-definition commit hash
|
||||
#:old-hash old-hash
|
||||
#:version version))
|
||||
;; When GUIX_ALLOW_ME_TO_USE_PRIVATE_COMMIT is set, the sources are
|
||||
;; added to the store. This is used as part of 'make release'.
|
||||
(when (getenv "GUIX_ALLOW_ME_TO_USE_PRIVATE_COMMIT")
|
||||
(with-store store
|
||||
(keep-source-in-store store tmp-directory))))))))
|
||||
((commit)
|
||||
;; Automatically deduce the version and revision numbers.
|
||||
(main commit #f))))
|
||||
|
|
|
@ -1368,11 +1368,6 @@ commit that others can't refer to, a check is made that the commit used
|
|||
has already been pushed to the Savannah-hosted Guix git repository.
|
||||
|
||||
This check can be disabled, @emph{at your own peril}, by setting the
|
||||
@code{GUIX_ALLOW_ME_TO_USE_PRIVATE_COMMIT} environment variable.
|
||||
|
||||
To build the resulting 'guix' package when using a private commit, the
|
||||
following command can be used:
|
||||
|
||||
@example
|
||||
./pre-inst-env guix build guix --with-git-url=guix=$PWD
|
||||
@end example
|
||||
@code{GUIX_ALLOW_ME_TO_USE_PRIVATE_COMMIT} environment variable. When
|
||||
this variable is set, the updated package source is also added to the
|
||||
store. This is used as part of the release process of Guix.
|
||||
|
|
|
@ -17538,7 +17538,7 @@ Available @code{cups-configuration} fields are:
|
|||
The CUPS package.
|
||||
@end deftypevr
|
||||
|
||||
@deftypevr {@code{cups-configuration} parameter} package-list extensions
|
||||
@deftypevr {@code{cups-configuration} parameter} package-list extensions (default: @code{(list escpr hplip-minimal foomatic-filters)})
|
||||
Drivers and other extensions to the CUPS package.
|
||||
@end deftypevr
|
||||
|
||||
|
@ -24906,14 +24906,18 @@ Defaults to @samp{tun}.
|
|||
|
||||
@end deftypevr
|
||||
|
||||
@deftypevr {@code{openvpn-client-configuration} parameter} string ca
|
||||
If you do not have some of these files (eg.@: you use a username and
|
||||
password), you can disable any of the following three fields by setting
|
||||
it to @code{'disabled}.
|
||||
|
||||
@deftypevr {@code{openvpn-client-configuration} parameter} maybe-string ca
|
||||
The certificate authority to check connections against.
|
||||
|
||||
Defaults to @samp{"/etc/openvpn/ca.crt"}.
|
||||
|
||||
@end deftypevr
|
||||
|
||||
@deftypevr {@code{openvpn-client-configuration} parameter} string cert
|
||||
@deftypevr {@code{openvpn-client-configuration} parameter} maybe-string cert
|
||||
The certificate of the machine the daemon is running on. It should be
|
||||
signed by the authority given in @code{ca}.
|
||||
|
||||
|
@ -24921,7 +24925,7 @@ Defaults to @samp{"/etc/openvpn/client.crt"}.
|
|||
|
||||
@end deftypevr
|
||||
|
||||
@deftypevr {@code{openvpn-client-configuration} parameter} string key
|
||||
@deftypevr {@code{openvpn-client-configuration} parameter} maybe-string key
|
||||
The key of the machine the daemon is running on. It must be the key whose
|
||||
certificate is @code{cert}.
|
||||
|
||||
|
@ -25057,14 +25061,18 @@ Defaults to @samp{tun}.
|
|||
|
||||
@end deftypevr
|
||||
|
||||
@deftypevr {@code{openvpn-server-configuration} parameter} string ca
|
||||
If you do not have some of these files (eg.@: you use a username and
|
||||
password), you can disable any of the following three fields by setting
|
||||
it to @code{'disabled}.
|
||||
|
||||
@deftypevr {@code{openvpn-server-configuration} parameter} maybe-string ca
|
||||
The certificate authority to check connections against.
|
||||
|
||||
Defaults to @samp{"/etc/openvpn/ca.crt"}.
|
||||
|
||||
@end deftypevr
|
||||
|
||||
@deftypevr {@code{openvpn-server-configuration} parameter} string cert
|
||||
@deftypevr {@code{openvpn-server-configuration} parameter} maybe-string cert
|
||||
The certificate of the machine the daemon is running on. It should be
|
||||
signed by the authority given in @code{ca}.
|
||||
|
||||
|
@ -25072,7 +25080,7 @@ Defaults to @samp{"/etc/openvpn/client.crt"}.
|
|||
|
||||
@end deftypevr
|
||||
|
||||
@deftypevr {@code{openvpn-server-configuration} parameter} string key
|
||||
@deftypevr {@code{openvpn-server-configuration} parameter} maybe-string key
|
||||
The key of the machine the daemon is running on. It must be the key whose
|
||||
certificate is @code{cert}.
|
||||
|
||||
|
@ -31024,11 +31032,27 @@ a value. Docker images are built to contain exactly what they need, so
|
|||
the @option{--image-size} option is ignored in the case of
|
||||
@code{docker-image}.
|
||||
|
||||
@cindex disk-image, creating disk images
|
||||
The @code{disk-image} command can produce various image types. The
|
||||
image type can be selected using the @command{--image-type} option. It
|
||||
defaults to @code{raw}. When its value is @code{iso9660}, the
|
||||
image type can be selected using the @option{--image-type} option. It
|
||||
defaults to @code{raw}. When its value is @code{iso9660}, the
|
||||
@option{--label} option can be used to specify a volume ID with
|
||||
@code{disk-image}.
|
||||
@code{disk-image}. By default, the root file system of a disk image is
|
||||
mounted non-volatile; the @option{--volatile} option can be provided to
|
||||
make it volatile instead. When using @code{disk-image}, the bootloader
|
||||
installed on the generated image is taken from the provided
|
||||
@code{operating-system} definition. The following example demonstrates
|
||||
how to generate an image that uses the @code{grub-efi-bootloader}
|
||||
bootloader and boot it with QEMU:
|
||||
|
||||
@example
|
||||
image=$(guix system disk-image --image-type=qcow2 \
|
||||
gnu/system/examples/lightweight-desktop.tmpl)
|
||||
cp $image /tmp/my-image.qcow2
|
||||
chmod +w /tmp/my-image.qcow2
|
||||
qemu-system-x86_64 -enable-kvm -hda /tmp/my-image.qcow2 -m 1000 \
|
||||
-bios $(guix build ovmf)/share/firmware/ovmf_x64.bin
|
||||
@end example
|
||||
|
||||
When using the @code{raw} image type, a raw disk image is produced; it
|
||||
can be copied as is to a USB stick, for instance. Assuming
|
||||
|
@ -31042,10 +31066,17 @@ the image to it using the following command:
|
|||
The @code{--list-image-types} command lists all the available image
|
||||
types.
|
||||
|
||||
@cindex vm-image, creating virtual machine images
|
||||
When using @code{vm-image}, the returned image is in qcow2 format, which
|
||||
the QEMU emulator can efficiently use. @xref{Running Guix in a VM},
|
||||
for more information on how to run the image in a virtual machine.
|
||||
the QEMU emulator can efficiently use. @xref{Running Guix in a VM}, for
|
||||
more information on how to run the image in a virtual machine. The
|
||||
@code{grub-bootloader} bootloader is always used independently of what
|
||||
is declared in the @code{operating-system} file passed as argument.
|
||||
This is to make it easier to work with QEMU, which uses the SeaBIOS BIOS
|
||||
by default, expecting a bootloader to be installed in the Master Boot
|
||||
Record (MBR).
|
||||
|
||||
@cindex docker-image, creating docker images
|
||||
When using @code{docker-image}, a Docker image is produced. Guix builds
|
||||
the image from scratch, not from a pre-existing Docker base image. As a
|
||||
result, it contains @emph{exactly} what you define in the operating
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
; -*- lisp -*-
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2020 Daniel Brooks <db48x@db48x.net>
|
||||
;;; Copyright © 2020 Marius Bakke <marius@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -21,6 +23,18 @@
|
|||
;; Intermediate Language (CIL). It refers to types that must be defined in
|
||||
;; the system's base policy.
|
||||
|
||||
;; If you, like me, need advice about fixing an SELinux policy, I recommend
|
||||
;; reading https://danwalsh.livejournal.com/55324.html
|
||||
|
||||
;; In particular, you can run semanage permissive -a guix_daemon.guix_daemon_t
|
||||
;; to allow guix-daemon to do whatever it wants. SELinux will still check its
|
||||
;; permissions, and when it doesn't have permission it will still send an
|
||||
;; audit message to your system logs. This lets you know what permissions it
|
||||
;; ought to have. Use ausearch --raw to find the permissions violations, then
|
||||
;; pipe that to audit2allow to generate an updated policy. You'll still need
|
||||
;; to translate that policy into CIL in order to update this file, but that's
|
||||
;; fairly straight-forward. Annoying, but easy.
|
||||
|
||||
(block guix_daemon
|
||||
;; Require existing types
|
||||
(typeattributeset cil_gen_require init_t)
|
||||
|
@ -34,14 +48,19 @@
|
|||
(roletype object_r guix_daemon_t)
|
||||
(type guix_daemon_conf_t)
|
||||
(roletype object_r guix_daemon_conf_t)
|
||||
(typeattributeset file_type guix_daemon_conf_t)
|
||||
(type guix_daemon_exec_t)
|
||||
(roletype object_r guix_daemon_exec_t)
|
||||
(typeattributeset file_type guix_daemon_exec_t)
|
||||
(type guix_daemon_socket_t)
|
||||
(roletype object_r guix_daemon_socket_t)
|
||||
(typeattributeset file_type guix_daemon_socket_t)
|
||||
(type guix_store_content_t)
|
||||
(roletype object_r guix_store_content_t)
|
||||
(typeattributeset file_type guix_store_content_t)
|
||||
(type guix_profiles_t)
|
||||
(roletype object_r guix_profiles_t)
|
||||
(typeattributeset file_type guix_profiles_t)
|
||||
|
||||
;; These types are domains, thereby allowing process rules
|
||||
(typeattributeset domain (guix_daemon_t guix_daemon_exec_t))
|
||||
|
@ -55,6 +74,30 @@
|
|||
(typetransition guix_store_content_t guix_daemon_exec_t
|
||||
process guix_daemon_t)
|
||||
|
||||
(roletype system_r guix_daemon_t)
|
||||
|
||||
;; allow init_t to read and execute guix files
|
||||
(allow init_t
|
||||
guix_profiles_t
|
||||
(lnk_file (read)))
|
||||
(allow init_t
|
||||
guix_daemon_exec_t
|
||||
(file (execute)))
|
||||
(allow init_t
|
||||
guix_daemon_t
|
||||
(process (transition)))
|
||||
(allow init_t
|
||||
guix_store_content_t
|
||||
(lnk_file (read)))
|
||||
(allow init_t
|
||||
guix_store_content_t
|
||||
(file (open read execute)))
|
||||
|
||||
;; guix-daemon needs to know the names of users
|
||||
(allow guix_daemon_t
|
||||
passwd_file_t
|
||||
(file (getattr open read)))
|
||||
|
||||
;; Permit communication with NSCD
|
||||
(allow guix_daemon_t
|
||||
nscd_var_run_t
|
||||
|
@ -71,25 +114,44 @@
|
|||
(allow guix_daemon_t
|
||||
nscd_t
|
||||
(unix_stream_socket (connectto)))
|
||||
(allow guix_daemon_t nscd_t
|
||||
(nscd (getgrp gethost getpwd getserv shmemgrp shmemhost shmempwd shmemserv)))
|
||||
|
||||
;; permit downloading packages via HTTP(s)
|
||||
(allow guix_daemon_t http_port_t
|
||||
(tcp_socket (name_connect)))
|
||||
(allow guix_daemon_t ftp_port_t
|
||||
(tcp_socket (name_connect)))
|
||||
(allow guix_daemon_t ephemeral_port_t
|
||||
(tcp_socket (name_connect)))
|
||||
|
||||
;; Permit logging and temp file access
|
||||
(allow guix_daemon_t
|
||||
tmp_t
|
||||
(lnk_file (setattr unlink)))
|
||||
(lnk_file (create rename setattr unlink)))
|
||||
(allow guix_daemon_t
|
||||
tmp_t
|
||||
(dir (create
|
||||
rmdir
|
||||
(file (link rename create execute execute_no_trans write unlink setattr map relabelto)))
|
||||
(allow guix_daemon_t
|
||||
tmp_t
|
||||
(fifo_file (open read write create getattr ioctl setattr unlink)))
|
||||
(allow guix_daemon_t
|
||||
tmp_t
|
||||
(dir (create rename
|
||||
rmdir relabelto
|
||||
add_name remove_name
|
||||
open read write
|
||||
getattr setattr
|
||||
search)))
|
||||
(allow guix_daemon_t
|
||||
tmp_t
|
||||
(sock_file (create getattr setattr unlink write)))
|
||||
(allow guix_daemon_t
|
||||
var_log_t
|
||||
(file (create getattr open write)))
|
||||
(allow guix_daemon_t
|
||||
var_log_t
|
||||
(dir (getattr write add_name)))
|
||||
(dir (getattr create write add_name)))
|
||||
(allow guix_daemon_t
|
||||
var_run_t
|
||||
(lnk_file (read)))
|
||||
|
@ -100,10 +162,10 @@
|
|||
;; Spawning processes, execute helpers
|
||||
(allow guix_daemon_t
|
||||
self
|
||||
(process (fork)))
|
||||
(process (fork execmem setrlimit setpgid setsched)))
|
||||
(allow guix_daemon_t
|
||||
guix_daemon_exec_t
|
||||
(file (execute execute_no_trans read open)))
|
||||
(file (execute execute_no_trans read open entrypoint map)))
|
||||
|
||||
;; TODO: unknown
|
||||
(allow guix_daemon_t
|
||||
|
@ -119,38 +181,51 @@
|
|||
;; Build isolation
|
||||
(allow guix_daemon_t
|
||||
guix_store_content_t
|
||||
(file (mounton)))
|
||||
(file (ioctl mounton)))
|
||||
(allow guix_store_content_t
|
||||
fs_t
|
||||
(filesystem (associate)))
|
||||
(allow guix_daemon_t
|
||||
guix_store_content_t
|
||||
(dir (mounton)))
|
||||
(dir (read mounton)))
|
||||
(allow guix_daemon_t
|
||||
guix_daemon_t
|
||||
(capability (net_admin
|
||||
fsetid fowner
|
||||
chown setuid setgid
|
||||
dac_override dac_read_search
|
||||
sys_chroot)))
|
||||
sys_chroot
|
||||
sys_admin)))
|
||||
(allow guix_daemon_t
|
||||
fs_t
|
||||
(filesystem (unmount)))
|
||||
(allow guix_daemon_t
|
||||
devpts_t
|
||||
(dir (search)))
|
||||
(allow guix_daemon_t
|
||||
devpts_t
|
||||
(filesystem (mount)))
|
||||
(allow guix_daemon_t
|
||||
devpts_t
|
||||
(chr_file (setattr getattr)))
|
||||
(chr_file (ioctl open read write setattr getattr)))
|
||||
(allow guix_daemon_t
|
||||
tmpfs_t
|
||||
(filesystem (mount)))
|
||||
(filesystem (getattr mount)))
|
||||
(allow guix_daemon_t
|
||||
tmpfs_t
|
||||
(dir (getattr)))
|
||||
(file (create open read unlink write)))
|
||||
(allow guix_daemon_t
|
||||
tmpfs_t
|
||||
(dir (getattr add_name remove_name write)))
|
||||
(allow guix_daemon_t
|
||||
proc_t
|
||||
(filesystem (mount)))
|
||||
(file (getattr open read)))
|
||||
(allow guix_daemon_t
|
||||
proc_t
|
||||
(dir (read)))
|
||||
(allow guix_daemon_t
|
||||
proc_t
|
||||
(filesystem (associate mount)))
|
||||
(allow guix_daemon_t
|
||||
null_device_t
|
||||
(chr_file (getattr open read write)))
|
||||
|
@ -179,7 +254,7 @@
|
|||
search rename
|
||||
add_name remove_name
|
||||
open write
|
||||
rmdir)))
|
||||
rmdir relabelfrom)))
|
||||
(allow guix_daemon_t
|
||||
guix_store_content_t
|
||||
(file (create
|
||||
|
@ -189,7 +264,7 @@
|
|||
link unlink
|
||||
map
|
||||
rename
|
||||
open read write)))
|
||||
open read write relabelfrom)))
|
||||
(allow guix_daemon_t
|
||||
guix_store_content_t
|
||||
(lnk_file (create
|
||||
|
@ -197,17 +272,23 @@
|
|||
link unlink
|
||||
read
|
||||
rename)))
|
||||
(allow guix_daemon_t
|
||||
guix_store_content_t
|
||||
(fifo_file (create getattr open read unlink write)))
|
||||
(allow guix_daemon_t
|
||||
guix_store_content_t
|
||||
(sock_file (create getattr unlink write)))
|
||||
|
||||
;; Access to configuration files and directories
|
||||
(allow guix_daemon_t
|
||||
guix_daemon_conf_t
|
||||
(dir (search
|
||||
(dir (search create
|
||||
setattr getattr
|
||||
add_name remove_name
|
||||
open read write)))
|
||||
(allow guix_daemon_t
|
||||
guix_daemon_conf_t
|
||||
(file (create
|
||||
(file (create rename
|
||||
lock
|
||||
map
|
||||
getattr setattr
|
||||
|
@ -216,11 +297,17 @@
|
|||
(allow guix_daemon_t
|
||||
guix_daemon_conf_t
|
||||
(lnk_file (create getattr rename unlink)))
|
||||
(allow guix_daemon_t net_conf_t
|
||||
(file (getattr open read)))
|
||||
(allow guix_daemon_t net_conf_t
|
||||
(lnk_file (read)))
|
||||
(allow guix_daemon_t NetworkManager_var_run_t
|
||||
(dir (search)))
|
||||
|
||||
;; Access to profiles
|
||||
(allow guix_daemon_t
|
||||
guix_profiles_t
|
||||
(dir (getattr setattr read open)))
|
||||
(dir (search getattr setattr read write open create add_name)))
|
||||
(allow guix_daemon_t
|
||||
guix_profiles_t
|
||||
(lnk_file (read getattr)))
|
||||
|
@ -233,8 +320,22 @@
|
|||
(allow guix_daemon_t
|
||||
user_home_t
|
||||
(dir (search)))
|
||||
(allow guix_daemon_t
|
||||
cache_home_t
|
||||
(dir (search)))
|
||||
|
||||
;; self upgrades
|
||||
(allow guix_daemon_t
|
||||
self
|
||||
(dir (add_name write)))
|
||||
(allow guix_daemon_t
|
||||
self
|
||||
(netlink_route_socket (bind create getattr nlmsg_read read write)))
|
||||
|
||||
;; Socket operations
|
||||
(allow guix_daemon_t
|
||||
guix_daemon_socket_t
|
||||
(sock_file (unlink)))
|
||||
(allow guix_daemon_t
|
||||
init_t
|
||||
(fd (use)))
|
||||
|
@ -253,12 +354,53 @@
|
|||
read write
|
||||
connect bind accept
|
||||
getopt setopt)))
|
||||
(allow guix_daemon_t
|
||||
self
|
||||
(tcp_socket (accept listen bind connect create setopt getopt getattr ioctl read write shutdown)))
|
||||
(allow guix_daemon_t
|
||||
unreserved_port_t
|
||||
(tcp_socket (name_bind name_connect accept listen)))
|
||||
(allow guix_daemon_t
|
||||
self
|
||||
(udp_socket (connect getattr bind getopt setopt)))
|
||||
(allow guix_daemon_t
|
||||
self
|
||||
(fifo_file (write read)))
|
||||
(allow guix_daemon_t
|
||||
self
|
||||
(udp_socket (ioctl create)))
|
||||
(allow guix_daemon_t
|
||||
self
|
||||
(unix_stream_socket (connectto)))
|
||||
|
||||
(allow guix_daemon_t
|
||||
node_t
|
||||
(tcp_socket (node_bind)))
|
||||
(allow guix_daemon_t
|
||||
node_t
|
||||
(udp_socket (node_bind)))
|
||||
(allow guix_daemon_t
|
||||
port_t
|
||||
(tcp_socket (name_connect)))
|
||||
(allow guix_daemon_t
|
||||
rtp_media_port_t
|
||||
(udp_socket (name_bind)))
|
||||
(allow guix_daemon_t
|
||||
vnc_port_t
|
||||
(tcp_socket (name_bind)))
|
||||
|
||||
;; I guess sometimes it needs random numbers
|
||||
(allow guix_daemon_t
|
||||
random_device_t
|
||||
(chr_file (read)))
|
||||
|
||||
;; guix system vm
|
||||
(allow guix_daemon_t
|
||||
kvm_device_t
|
||||
(chr_file (ioctl open read write)))
|
||||
(allow guix_daemon_t
|
||||
kernel_t
|
||||
(system (ipc_info)))
|
||||
|
||||
;; Label file system
|
||||
(filecon "@guix_sysconfdir@/guix(/.*)?"
|
||||
|
@ -277,5 +419,7 @@
|
|||
file (system_u object_r guix_daemon_exec_t (low low)))
|
||||
(filecon "@storedir@/.+-(guix-.+|profile)/bin/guix-daemon"
|
||||
file (system_u object_r guix_daemon_exec_t (low low)))
|
||||
(filecon "@storedir@/[a-z0-9]+-guix-daemon"
|
||||
file (system_u object_r guix_daemon_exec_t (low low)))
|
||||
(filecon "@guix_localstatedir@/guix/daemon-socket/socket"
|
||||
any (system_u object_r guix_daemon_socket_t (low low))))
|
||||
|
|
|
@ -22,6 +22,8 @@
|
|||
|
||||
(define-module (gnu bootloader)
|
||||
#:use-module (guix discovery)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix profiles)
|
||||
#:use-module (guix records)
|
||||
#:use-module (guix ui)
|
||||
#:use-module (srfi srfi-1)
|
||||
|
@ -66,7 +68,9 @@ (define-module (gnu bootloader)
|
|||
bootloader-configuration-additional-configuration
|
||||
|
||||
%bootloaders
|
||||
lookup-bootloader-by-name))
|
||||
lookup-bootloader-by-name
|
||||
|
||||
efi-bootloader-chain))
|
||||
|
||||
|
||||
;;;
|
||||
|
@ -227,3 +231,122 @@ (define (lookup-bootloader-by-name name)
|
|||
(eq? name (bootloader-name bootloader)))
|
||||
(force %bootloaders))
|
||||
(leave (G_ "~a: no such bootloader~%") name)))
|
||||
|
||||
(define (efi-bootloader-profile files bootloader-package hooks)
|
||||
"Creates a profile with BOOTLOADER-PACKAGE and a directory collection/ with
|
||||
links to additional FILES from the store. This collection is meant to be used
|
||||
by the bootloader installer.
|
||||
|
||||
FILES is a list of file or directory names from the store, which will be
|
||||
symlinked into the collection/ directory. If a directory name ends with '/',
|
||||
then the directory content instead of the directory itself will be symlinked
|
||||
into the collection/ directory.
|
||||
|
||||
FILES may contain file like objects produced by functions like plain-file,
|
||||
local-file, etc., or package contents produced with file-append.
|
||||
|
||||
HOOKS lists additional hook functions to modify the profile."
|
||||
(define (bootloader-collection manifest)
|
||||
(define build
|
||||
(with-imported-modules '((guix build utils)
|
||||
(ice-9 ftw)
|
||||
(srfi srfi-1)
|
||||
(srfi srfi-26))
|
||||
#~(begin
|
||||
(use-modules ((guix build utils)
|
||||
#:select (mkdir-p strip-store-file-name))
|
||||
((ice-9 ftw)
|
||||
#:select (scandir))
|
||||
((srfi srfi-1)
|
||||
#:select (append-map every remove))
|
||||
((srfi srfi-26)
|
||||
#:select (cut)))
|
||||
(define (symlink-to file directory transform)
|
||||
"Creates a symlink to FILE named (TRANSFORM FILE) in DIRECTORY."
|
||||
(symlink file (string-append directory "/" (transform file))))
|
||||
(define (directory-content directory)
|
||||
"Creates a list of absolute path names inside DIRECTORY."
|
||||
(map (lambda (name)
|
||||
(string-append directory name))
|
||||
(or (scandir directory (lambda (name)
|
||||
(not (member name '("." "..")))))
|
||||
'())))
|
||||
(define name-ends-with-/? (cut string-suffix? "/" <>))
|
||||
(define (name-is-store-entry? name)
|
||||
"Return #t if NAME is a direct store entry and nothing inside."
|
||||
(not (string-index (strip-store-file-name name) #\/)))
|
||||
(let* ((collection (string-append #$output "/collection"))
|
||||
(files '#$files)
|
||||
(directories (filter name-ends-with-/? files))
|
||||
(names-from-directories
|
||||
(append-map (lambda (directory)
|
||||
(directory-content directory))
|
||||
directories))
|
||||
(names (append names-from-directories
|
||||
(remove name-ends-with-/? files))))
|
||||
(mkdir-p collection)
|
||||
(if (every file-exists? names)
|
||||
(begin
|
||||
(for-each (lambda (name)
|
||||
(symlink-to name collection
|
||||
(if (name-is-store-entry? name)
|
||||
strip-store-file-name
|
||||
basename)))
|
||||
names)
|
||||
#t)
|
||||
#f)))))
|
||||
|
||||
(gexp->derivation "bootloader-collection"
|
||||
build
|
||||
#:local-build? #t
|
||||
#:substitutable? #f
|
||||
#:properties
|
||||
`((type . profile-hook)
|
||||
(hook . bootloader-collection))))
|
||||
|
||||
(profile (content (packages->manifest (list bootloader-package)))
|
||||
(name "bootloader-profile")
|
||||
(hooks (append (list bootloader-collection) hooks))
|
||||
(locales? #f)
|
||||
(allow-collisions? #f)
|
||||
(relative-symlinks? #f)))
|
||||
|
||||
(define* (efi-bootloader-chain files
|
||||
final-bootloader
|
||||
#:key
|
||||
(hooks '())
|
||||
installer)
|
||||
"Define a bootloader chain with FINAL-BOOTLOADER as the final bootloader and
|
||||
certain directories and files from the store given in the list of FILES.
|
||||
|
||||
FILES may contain file like objects produced by functions like plain-file,
|
||||
local-file, etc., or package contents produced with file-append. They will be
|
||||
collected inside a directory collection/ inside a generated bootloader profile,
|
||||
which will be passed to the INSTALLER.
|
||||
|
||||
If a directory name in FILES ends with '/', then the directory content instead
|
||||
of the directory itself will be symlinked into the collection/ directory.
|
||||
|
||||
The procedures in the HOOKS list can be used to further modify the bootloader
|
||||
profile. It is possible to pass a single function instead of a list.
|
||||
|
||||
If the INSTALLER argument is used, then this function will be called to install
|
||||
the bootloader. Otherwise the installer of the FINAL-BOOTLOADER will be called."
|
||||
(let* ((final-installer (or installer
|
||||
(bootloader-installer final-bootloader)))
|
||||
(profile (efi-bootloader-profile files
|
||||
(bootloader-package final-bootloader)
|
||||
(if (list? hooks)
|
||||
hooks
|
||||
(list hooks)))))
|
||||
(bootloader
|
||||
(inherit final-bootloader)
|
||||
(package profile)
|
||||
(installer
|
||||
#~(lambda (bootloader target mount-point)
|
||||
(#$final-installer bootloader target mount-point)
|
||||
(copy-recursively
|
||||
(string-append bootloader "/collection")
|
||||
(string-append mount-point target)
|
||||
#:follow-symlinks? #t
|
||||
#:log (%make-void-port "w")))))))
|
||||
|
|
|
@ -573,21 +573,24 @@ (define install-grub-disk-image
|
|||
|
||||
(define install-grub-efi
|
||||
#~(lambda (bootloader efi-dir mount-point)
|
||||
;; Install GRUB onto the EFI partition mounted at EFI-DIR, for the
|
||||
;; system whose root is mounted at MOUNT-POINT.
|
||||
(let ((grub-install (string-append bootloader "/sbin/grub-install"))
|
||||
(install-dir (string-append mount-point "/boot"))
|
||||
;; When installing Guix, it's common to mount EFI-DIR below
|
||||
;; MOUNT-POINT rather than /boot/efi on the live image.
|
||||
(target-esp (if (file-exists? (string-append mount-point efi-dir))
|
||||
(string-append mount-point efi-dir)
|
||||
efi-dir)))
|
||||
;; Tell 'grub-install' that there might be a LUKS-encrypted /boot or
|
||||
;; root partition.
|
||||
(setenv "GRUB_ENABLE_CRYPTODISK" "y")
|
||||
(invoke/quiet grub-install "--boot-directory" install-dir
|
||||
"--bootloader-id=Guix"
|
||||
"--efi-directory" target-esp))))
|
||||
;; There is nothing useful to do when called in the context of a disk
|
||||
;; image generation.
|
||||
(when efi-dir
|
||||
;; Install GRUB onto the EFI partition mounted at EFI-DIR, for the
|
||||
;; system whose root is mounted at MOUNT-POINT.
|
||||
(let ((grub-install (string-append bootloader "/sbin/grub-install"))
|
||||
(install-dir (string-append mount-point "/boot"))
|
||||
;; When installing Guix, it's common to mount EFI-DIR below
|
||||
;; MOUNT-POINT rather than /boot/efi on the live image.
|
||||
(target-esp (if (file-exists? (string-append mount-point efi-dir))
|
||||
(string-append mount-point efi-dir)
|
||||
efi-dir)))
|
||||
;; Tell 'grub-install' that there might be a LUKS-encrypted /boot or
|
||||
;; root partition.
|
||||
(setenv "GRUB_ENABLE_CRYPTODISK" "y")
|
||||
(invoke/quiet grub-install "--boot-directory" install-dir
|
||||
"--bootloader-id=Guix"
|
||||
"--efi-directory" target-esp)))))
|
||||
|
||||
(define (install-grub-efi-netboot subdir)
|
||||
"Define a grub-efi-netboot bootloader installer for installation in SUBDIR,
|
||||
|
|
|
@ -41,6 +41,7 @@ (define-module (gnu installer parted)
|
|||
#:use-module (ice-9 regex)
|
||||
#:use-module (rnrs io ports)
|
||||
#:use-module (srfi srfi-1)
|
||||
#:use-module (srfi srfi-19)
|
||||
#:use-module (srfi srfi-26)
|
||||
#:use-module (srfi srfi-34)
|
||||
#:use-module (srfi srfi-35)
|
||||
|
@ -318,7 +319,7 @@ (define (with-delay-device-in-use? file-name)
|
|||
fail. See rereadpt function in wipefs.c of util-linux for an explanation."
|
||||
;; Kernel always return EINVAL for BLKRRPART on loopdevices.
|
||||
(and (not (string-match "/dev/loop*" file-name))
|
||||
(let loop ((try 4))
|
||||
(let loop ((try 16))
|
||||
(usleep 250000)
|
||||
(let ((in-use? (device-in-use? file-name)))
|
||||
(if (and in-use? (> try 0))
|
||||
|
@ -339,15 +340,12 @@ (define (remove-logical-devices)
|
|||
(define (non-install-devices)
|
||||
"Return all the available devices, except the busy one, allegedly the
|
||||
install device. DEVICE-IS-BUSY? is a parted call, checking if the device is
|
||||
mounted. The install image uses an overlayfs so the install device does not
|
||||
appear as mounted and won't be considered as busy. So use also DEVICE-IN-USE?
|
||||
from (guix build syscalls) module, who will try to re-read the device's
|
||||
partition table to determine whether or not it is already used (like sfdisk
|
||||
from util-linux)."
|
||||
mounted."
|
||||
;; FIXME: The install image uses an overlayfs so the install device does not
|
||||
;; appear as mounted and won't be considered as busy.
|
||||
(remove (lambda (device)
|
||||
(let ((file-name (device-path device)))
|
||||
(or (device-is-busy? device)
|
||||
(with-delay-device-in-use? file-name))))
|
||||
(device-is-busy? device)))
|
||||
(devices)))
|
||||
|
||||
|
||||
|
@ -1390,9 +1388,12 @@ (define (free-parted devices)
|
|||
(let ((device-file-names (map device-path devices)))
|
||||
(for-each force-device-sync devices)
|
||||
(for-each (lambda (file-name)
|
||||
(let ((in-use? (with-delay-device-in-use? file-name)))
|
||||
(and in-use?
|
||||
(error
|
||||
(format #f (G_ "Device ~a is still in use.")
|
||||
file-name)))))
|
||||
(let/time ((time in-use?
|
||||
(with-delay-device-in-use? file-name)))
|
||||
(if in-use?
|
||||
(error
|
||||
(format #f (G_ "Device ~a is still in use.")
|
||||
file-name))
|
||||
(syslog "Syncing ~a took ~a seconds.~%"
|
||||
file-name (time-second time)))))
|
||||
device-file-names)))
|
||||
|
|
|
@ -22,6 +22,7 @@ (define-module (gnu installer utils)
|
|||
#:use-module (guix build utils)
|
||||
#:use-module (guix i18n)
|
||||
#:use-module (srfi srfi-1)
|
||||
#:use-module (srfi srfi-19)
|
||||
#:use-module (srfi srfi-34)
|
||||
#:use-module (ice-9 match)
|
||||
#:use-module (ice-9 rdelim)
|
||||
|
@ -36,6 +37,8 @@ (define-module (gnu installer utils)
|
|||
|
||||
syslog-port
|
||||
syslog
|
||||
call-with-time
|
||||
let/time
|
||||
|
||||
with-server-socket
|
||||
current-server-socket
|
||||
|
@ -117,6 +120,17 @@ (define (pause)
|
|||
;;; Logging.
|
||||
;;;
|
||||
|
||||
(define (call-with-time thunk kont)
|
||||
"Call THUNK and pass KONT the elapsed time followed by THUNK's return
|
||||
values."
|
||||
(let* ((start (current-time time-monotonic))
|
||||
(result (call-with-values thunk list))
|
||||
(end (current-time time-monotonic)))
|
||||
(apply kont (time-difference end start) result)))
|
||||
|
||||
(define-syntax-rule (let/time ((time result exp)) body ...)
|
||||
(call-with-time (lambda () exp) (lambda (time result) body ...)))
|
||||
|
||||
(define (open-syslog-port)
|
||||
"Return an open port (a socket) to /dev/log or #f if that wasn't possible."
|
||||
(let ((sock (socket AF_UNIX SOCK_DGRAM 0)))
|
||||
|
|
|
@ -846,7 +846,6 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/binutils-loongson-workaround.patch \
|
||||
%D%/packages/patches/binutils-mingw-w64-timestamp.patch \
|
||||
%D%/packages/patches/binutils-mingw-w64-deterministic.patch \
|
||||
%D%/packages/patches/bitcoin-core-python-compat.patch \
|
||||
%D%/packages/patches/blender-2.79-gcc8.patch \
|
||||
%D%/packages/patches/blender-2.79-gcc9.patch \
|
||||
%D%/packages/patches/blender-2.79-newer-ffmpeg.patch \
|
||||
|
@ -1012,6 +1011,8 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/gcc-4.9-libsanitizer-ustat.patch \
|
||||
%D%/packages/patches/gcc-libsanitizer-ustat.patch \
|
||||
%D%/packages/patches/gcc-4.9-libsanitizer-mode-size.patch \
|
||||
%D%/packages/patches/gcc-6-fix-isl-includes.patch \
|
||||
%D%/packages/patches/gcc-6-fix-buffer-size.patch \
|
||||
%D%/packages/patches/gcc-6-libsanitizer-mode-size.patch \
|
||||
%D%/packages/patches/gcc-7-libsanitizer-mode-size.patch \
|
||||
%D%/packages/patches/gcc-libvtv-runpath.patch \
|
||||
|
@ -1052,6 +1053,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/glib-appinfo-watch.patch \
|
||||
%D%/packages/patches/glib-tests-timer.patch \
|
||||
%D%/packages/patches/glibc-CVE-2018-11236.patch \
|
||||
%D%/packages/patches/glibc-CVE-2018-11237.patch \
|
||||
|
@ -1589,7 +1591,6 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/scotch-build-parallelism.patch \
|
||||
%D%/packages/patches/scotch-integer-declarations.patch \
|
||||
%D%/packages/patches/screen-hurd-path-max.patch \
|
||||
%D%/packages/patches/scribus-1.5.5-poppler-0.86-build-fix.patch \
|
||||
%D%/packages/patches/sdl-libx11-1.6.patch \
|
||||
%D%/packages/patches/seed-webkit.patch \
|
||||
%D%/packages/patches/seq24-rename-mutex.patch \
|
||||
|
@ -1645,7 +1646,6 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/tk-find-library.patch \
|
||||
%D%/packages/patches/transcode-ffmpeg.patch \
|
||||
%D%/packages/patches/ttf2eot-cstddef.patch \
|
||||
%D%/packages/patches/tomb-fix-errors-on-open.patch \
|
||||
%D%/packages/patches/tup-unbundle-dependencies.patch \
|
||||
%D%/packages/patches/tuxpaint-stamps-path.patch \
|
||||
%D%/packages/patches/twinkle-bcg729.patch \
|
||||
|
|
|
@ -1559,10 +1559,10 @@ (define-public wpa-supplicant-minimal
|
|||
#t))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:phases
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'configure
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(lambda _
|
||||
(chdir "wpa_supplicant")
|
||||
(copy-file "defconfig" ".config")
|
||||
(let ((port (open-file ".config" "al")))
|
||||
|
@ -1576,6 +1576,15 @@ (define-public wpa-supplicant-minimal
|
|||
CONFIG_LIBNL32=y
|
||||
CONFIG_READLINE=y\n" port)
|
||||
(close-port port))
|
||||
;; Make sure we have a pkg-config when cross compiling
|
||||
(substitute* '(".config"
|
||||
"Android.mk"
|
||||
"Makefile"
|
||||
"dbus/Makefile")
|
||||
(("pkg-config")
|
||||
(or (which "pkg-config")
|
||||
(which (string-append ,(%current-target-system)
|
||||
"-pkg-config")))))
|
||||
#t))
|
||||
(add-after 'install 'install-documentation
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
|
@ -1604,7 +1613,7 @@ (define (copy-man-page target)
|
|||
"wpa_supplicant.conf"))
|
||||
#t))))
|
||||
|
||||
#:make-flags (list "CC=gcc"
|
||||
#:make-flags (list (string-append "CC=" ,(cc-for-target))
|
||||
(string-append "BINDIR=" (assoc-ref %outputs "out")
|
||||
"/sbin")
|
||||
(string-append "LIBDIR=" (assoc-ref %outputs "out")
|
||||
|
@ -1714,10 +1723,10 @@ (define-public hostapd
|
|||
"1mrbvg4v7vm7mknf0n29mf88k3s4a4qj6r4d51wq8hmjj1m7s7c8"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:phases
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'configure
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(lambda _
|
||||
;; This is mostly copied from 'wpa-supplicant' above.
|
||||
(chdir "hostapd")
|
||||
(copy-file "defconfig" ".config")
|
||||
|
@ -1729,6 +1738,14 @@ (define-public hostapd
|
|||
CONFIG_IEEE80211AC=y\n" port)
|
||||
(close-port port))
|
||||
#t))
|
||||
(add-after 'unpack 'patch-pkg-config
|
||||
(lambda _
|
||||
(substitute* "src/drivers/drivers.mak"
|
||||
(("pkg-config")
|
||||
(or (which "pkg-config")
|
||||
(string-append ,(%current-target-system)
|
||||
"-pkg-config"))))
|
||||
#t))
|
||||
(add-after 'install 'install-man-pages
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
|
@ -1745,7 +1762,7 @@ (define (copy-man-page target)
|
|||
(find-files "." "\\.8"))
|
||||
#t))))
|
||||
|
||||
#:make-flags (list "CC=gcc"
|
||||
#:make-flags (list (string-append "CC=" ,(cc-for-target))
|
||||
(string-append "BINDIR=" (assoc-ref %outputs "out")
|
||||
"/sbin")
|
||||
(string-append "LIBDIR=" (assoc-ref %outputs "out")
|
||||
|
@ -1840,7 +1857,7 @@ (define-public dmidecode
|
|||
(define-public acpica
|
||||
(package
|
||||
(name "acpica")
|
||||
(version "20200925")
|
||||
(version "20201113")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
|
@ -1848,13 +1865,13 @@ (define-public acpica
|
|||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"18n6129fkgj85piid7v4zxxksv3h0amqp4p977vcl9xg3bq0zd2w"))))
|
||||
"0fmck3zklc328c8nzvfzm2xyh2i8zszzrd4k8kk8q30y4avnc6z1"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs `(("flex" ,flex)
|
||||
("bison" ,bison)))
|
||||
(arguments
|
||||
'(#:make-flags (list (string-append "PREFIX=" %output)
|
||||
"CC=gcc"
|
||||
`(#:make-flags (list (string-append "PREFIX=" %output)
|
||||
(string-append "CC=" ,(cc-for-target))
|
||||
"HOST=_LINUX"
|
||||
"OPT_CFLAGS=-Wall -fno-strict-aliasing")
|
||||
#:tests? #f ; no 'check' target
|
||||
|
@ -2374,17 +2391,20 @@ (define-public cpulimit
|
|||
`(#:phases (modify-phases %standard-phases
|
||||
(delete 'configure)
|
||||
(replace 'build
|
||||
(lambda _
|
||||
(invoke "make" "CC=gcc" "-Csrc")))
|
||||
(lambda* (#:key make-flags #:allow-other-keys)
|
||||
(apply invoke "make" "-Csrc" make-flags)))
|
||||
(replace 'check
|
||||
(lambda _
|
||||
(invoke "make" "CC=gcc" "-Ctests")))
|
||||
(lambda* (#:key tests? make-flags #:allow-other-keys)
|
||||
(when tests?
|
||||
(apply invoke "make" "-Ctests" make-flags))
|
||||
#t))
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(bin (string-append out "/bin")))
|
||||
(install-file "src/cpulimit" bin))
|
||||
#t)))))
|
||||
#t)))
|
||||
#:make-flags (list (string-append "CC=" ,(cc-for-target)))))
|
||||
(home-page "https://github.com/opsengine/cpulimit")
|
||||
(synopsis "Limit CPU usage")
|
||||
(description
|
||||
|
@ -3355,14 +3375,14 @@ (define-public pfetch
|
|||
(define-public nnn
|
||||
(package
|
||||
(name "nnn")
|
||||
(version "3.4")
|
||||
(version "3.5")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/jarun/nnn/releases/download/v"
|
||||
version "/nnn-v" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "189h950m1jjrnhvgcvzk6nj89l58rkxim7bxa0441ssajxpaw0vq"))))
|
||||
(base32 "1ww18vvfjkvi36rcamw8kpix4bhk71w5bw9kmnh158crah1x8dp6"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("ncurses" ,ncurses)
|
||||
|
@ -3370,15 +3390,23 @@ (define-public nnn
|
|||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
(arguments
|
||||
'(#:tests? #f ; no tests
|
||||
`(#:tests? #f ; no tests
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure)) ; no configure script
|
||||
(delete 'configure) ; no configure script
|
||||
(add-after 'unpack 'patch-pkg-config
|
||||
(lambda _
|
||||
(substitute* "Makefile"
|
||||
(("pkg-config")
|
||||
(or (which "pkg-config")
|
||||
(string-append ,(%current-target-system)
|
||||
"-pkg-config"))))
|
||||
#t)))
|
||||
#:make-flags
|
||||
(list
|
||||
(string-append "PREFIX="
|
||||
(assoc-ref %outputs "out"))
|
||||
"CC=gcc")))
|
||||
(string-append "CC=" ,(cc-for-target)))))
|
||||
(home-page "https://github.com/jarun/nnn")
|
||||
(synopsis "Terminal file browser")
|
||||
(description "@command{nnn} is a fork of @command{noice}, a blazing-fast
|
||||
|
@ -3459,9 +3487,9 @@ (define-public masscan
|
|||
(inputs
|
||||
`(("libpcap" ,libpcap)))
|
||||
(arguments
|
||||
'(#:test-target "regress"
|
||||
`(#:test-target "regress"
|
||||
#:make-flags
|
||||
(list "CC=gcc"
|
||||
(list (string-append "CC=" ,(cc-for-target))
|
||||
(string-append "PREFIX=" (assoc-ref %outputs "out")))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
|
||||
;;; Copyright © 2013, 2015 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
|
||||
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2016, 2020 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2019 Guy Fleury Iteriteka <hoonandon@gmail.com>
|
||||
;;; Copyright © 2019 Andy Tai <atai@atai.org>
|
||||
|
@ -51,7 +51,7 @@ (define-module (gnu packages assembly)
|
|||
#:use-module (gnu packages shells)
|
||||
#:use-module (gnu packages xml)
|
||||
#:use-module ((guix utils)
|
||||
#:select (%current-system)))
|
||||
#:select (%current-system cc-for-target)))
|
||||
|
||||
(define-public nasm
|
||||
(package
|
||||
|
@ -276,13 +276,21 @@ (define-public rgbds
|
|||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure)
|
||||
(add-after 'unpack 'patch-pkg-config
|
||||
(lambda _
|
||||
(substitute* "Makefile"
|
||||
(("pkg-config")
|
||||
(or (which "pkg-config")
|
||||
(string-append ,(%current-target-system)
|
||||
"-pkg-config"))))
|
||||
#t))
|
||||
(replace 'check
|
||||
(lambda _
|
||||
(with-directory-excursion "test/asm"
|
||||
(invoke "./test.sh"))
|
||||
(with-directory-excursion "test/link"
|
||||
(invoke "./test.sh")))))
|
||||
#:make-flags `("CC=gcc"
|
||||
#:make-flags `(,(string-append "CC=" ,(cc-for-target))
|
||||
,(string-append "PREFIX="
|
||||
(assoc-ref %outputs "out")))))
|
||||
(native-inputs
|
||||
|
|
|
@ -3840,9 +3840,9 @@ (define-public dcadec
|
|||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
;; Test files are missing: https://github.com/foo86/dcadec/issues/53
|
||||
'(#:tests? #f
|
||||
`(#:tests? #f
|
||||
#:make-flags
|
||||
(list "CC=gcc"
|
||||
(list (string-append "CC=" ,(cc-for-target))
|
||||
;; Build shared library.
|
||||
"CONFIG_SHARED=1"
|
||||
(string-append "PREFIX=" (assoc-ref %outputs "out"))
|
||||
|
@ -3917,8 +3917,8 @@ (define-public filteraudio
|
|||
"0hbb290n3wb23f2k692a6bhc23nnqmxqi9sc9j15pnya8wifw64g"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:make-flags (list (string-append "PREFIX=" %output)
|
||||
"CC=gcc")
|
||||
`(#:make-flags (list (string-append "PREFIX=" %output)
|
||||
(string-append "CC=" ,(cc-for-target)))
|
||||
#:tests? #f ; No tests
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2018, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2019 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
|
@ -33,14 +33,14 @@ (define-module (gnu packages authentication)
|
|||
(define-public oath-toolkit
|
||||
(package
|
||||
(name "oath-toolkit")
|
||||
(version "2.6.3")
|
||||
(version "2.6.4")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://download.savannah.nongnu.org/releases/"
|
||||
name "/" name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "1cjial8njck2sd7452jcxspbi5h5fnp3n8v3wbmlw8fzqmgzvxx1"))))
|
||||
(base32 "116na9nncpwshl3ww8w3llzwk49igilplxcjy1k6jzl3mmg2bimz"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
;; TODO ‘--enable-pskc’ causes xmlsec-related test suite failures.
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
|
||||
;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net>
|
||||
;;; Copyright © 2017 Kei Kebreau <kkebreau@posteo.net>
|
||||
;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2017, 2020 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2017 Christopher Allan Webber <cwebber@dustycloud.org>
|
||||
;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com>
|
||||
;;; Copyright © 2018 Mark H Weaver <mhw@netris.org>
|
||||
|
@ -392,7 +392,7 @@ (define-public btar
|
|||
`(("librsync" ,librsync-0.9)))
|
||||
(arguments
|
||||
`(#:make-flags `(,(string-append "PREFIX=" (assoc-ref %outputs "out"))
|
||||
"CC=gcc")
|
||||
,(string-append "CC=" ,(cc-for-target)))
|
||||
#:tests? #f ;test input not distributed
|
||||
#:phases
|
||||
;; no configure phase
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
;;; Copyright © 2014 Taylan Ulrich Bayirli/Kammer <taylanbayirli@gmail.com>
|
||||
;;; Copyright © 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2016, 2017, 2018, 2019, 2020 Leo Famulari <leo@famulari.name>
|
||||
;;; Copyright © 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2016, 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2016 Tomáš Čech <sleep_walker@gnu.org>
|
||||
;;; Copyright © 2016, 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2017 Jelle Licht <jlicht@fsfe.org>
|
||||
|
@ -93,14 +93,18 @@ (define-public transmission
|
|||
(rename-file (string-append out "/bin/transmission-gtk")
|
||||
(string-append gui "/bin/transmission-gtk"))
|
||||
|
||||
;; Move the '.desktop' and icon files as well.
|
||||
(mkdir (string-append gui "/share"))
|
||||
(for-each
|
||||
(lambda (dir)
|
||||
(rename-file (string-append out "/share/" dir)
|
||||
(string-append gui "/share/" dir)))
|
||||
'("applications" "icons" "pixmaps")))
|
||||
#t)))))
|
||||
'("appdata" "applications" "icons" "locale" "pixmaps"))
|
||||
|
||||
(mkdir-p (string-append gui "/share/man/man1"))
|
||||
(rename-file
|
||||
(string-append out "/share/man/man1/transmission-gtk.1")
|
||||
(string-append gui "/share/man/man1/transmission-gtk.1"))
|
||||
#t))))))
|
||||
(inputs
|
||||
`(("libevent" ,libevent)
|
||||
("curl" ,curl)
|
||||
|
@ -355,7 +359,7 @@ (define-public mktorrent
|
|||
(arguments
|
||||
`(#:phases (modify-phases %standard-phases
|
||||
(delete 'configure)) ; no configure script
|
||||
#:make-flags (list "CC=gcc"
|
||||
#:make-flags (list (string-append "CC=" ,(cc-for-target))
|
||||
(string-append "PREFIX=" (assoc-ref %outputs "out"))
|
||||
"NO_HASH_CHECK=1"
|
||||
"USE_LARGE_FILES=1"
|
||||
|
|
|
@ -134,6 +134,19 @@ (define-public grub
|
|||
(string-append (assoc-ref inputs "console-setup")
|
||||
"/bin/ckbcomp ")))
|
||||
#t))
|
||||
(add-after 'unpack 'set-freetype-variables
|
||||
;; These variables need to be set to the native versions
|
||||
;; of the dependencies because they are used to build
|
||||
;; programs which are executed during build time.
|
||||
(lambda* (#:key native-inputs inputs #:allow-other-keys)
|
||||
(let ((freetype (assoc-ref (or native-inputs inputs) "freetype")))
|
||||
(setenv "BUILD_FREETYPE_LIBS"
|
||||
(string-append "-L" freetype
|
||||
"/lib -lfreetype"))
|
||||
(setenv "BUILD_FREETYPE_CFLAGS"
|
||||
(string-append "-I" freetype
|
||||
"/include/freetype2")))
|
||||
#t))
|
||||
(add-before 'check 'disable-flaky-test
|
||||
(lambda _
|
||||
;; This test is unreliable. For more information, see:
|
||||
|
@ -150,10 +163,11 @@ (define-public grub
|
|||
(("test_unset grub_func_test")
|
||||
"test_unset"))
|
||||
#t)))
|
||||
;; Disable tests on ARM and AARCH64 platforms.
|
||||
#:tests? ,(not (any (cute string-prefix? <> (or (%current-target-system)
|
||||
(%current-system)))
|
||||
'("arm" "aarch64")))))
|
||||
;; Disable tests on ARM and AARCH64 platforms or when cross-compiling.
|
||||
#:tests? ,(not (or (any (cute string-prefix? <> (or (%current-target-system)
|
||||
(%current-system)))
|
||||
'("arm" "aarch64"))
|
||||
(%current-target-system)))))
|
||||
(inputs
|
||||
`(("gettext" ,gettext-minimal)
|
||||
|
||||
|
@ -195,6 +209,7 @@ (define-public grub
|
|||
("flex" ,flex)
|
||||
("texinfo" ,texinfo)
|
||||
("help2man" ,help2man)
|
||||
("freetype" ,freetype) ; native version needed for build-grub-mkfont
|
||||
|
||||
;; XXX: When building GRUB 2.02 on 32-bit x86, we need a binutils
|
||||
;; capable of assembling 64-bit instructions. However, our default
|
||||
|
@ -425,7 +440,7 @@ (define-public dtc
|
|||
`(("python" ,python)))
|
||||
(arguments
|
||||
`(#:make-flags
|
||||
(list "CC=gcc"
|
||||
(list (string-append "CC=" ,(cc-for-target))
|
||||
|
||||
;; /bin/fdt{get,overlay,put} need help finding libfdt.so.1.
|
||||
(string-append "LDFLAGS=-Wl,-rpath="
|
||||
|
@ -436,6 +451,15 @@ (define-public dtc
|
|||
"INSTALL=install")
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-pkg-config
|
||||
(lambda _
|
||||
(substitute* '("Makefile"
|
||||
"tests/run_tests.sh")
|
||||
(("pkg-config")
|
||||
(or (which "pkg-config")
|
||||
(string-append ,(%current-target-system)
|
||||
"-pkg-config"))))
|
||||
#t))
|
||||
(delete 'configure)))) ; no configure script
|
||||
(home-page "https://www.devicetree.org")
|
||||
(synopsis "Compiles device tree source files")
|
||||
|
|
|
@ -11,6 +11,7 @@
|
|||
;;; Copyright © 2020 Leo Prikler <leo.prikler@student.tugraz.at>
|
||||
;;; Copyright © 2020 Yuval Kogman <nothingmuch@woobling.org>
|
||||
;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
|
||||
;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -67,7 +68,7 @@ (define-public bam
|
|||
"13br735ig7lygvzyfd15fc2rdygrqm503j6xj5xkrl1r7w2wipq6"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:make-flags `("CC=gcc"
|
||||
`(#:make-flags `(,(string-append "CC=" ,(cc-for-target))
|
||||
,(string-append "INSTALL_PREFIX="
|
||||
(assoc-ref %outputs "out")))
|
||||
#:test-target "test"
|
||||
|
@ -252,7 +253,7 @@ (define-public premake4
|
|||
(native-inputs
|
||||
`(("unzip" ,unzip))) ; for unpacking the source
|
||||
(arguments
|
||||
`(#:make-flags '("CC=gcc")
|
||||
`(#:make-flags (list (string-append "CC=" ,(cc-for-target)))
|
||||
#:tests? #f ; No test suite
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
;;; Copyright © 2016, 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2018, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2018, 2019 Pierre Neidhardt <mail@ambrevar.xyz>
|
||||
;;; Copyright © 2019 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2019 Guillaume Le Vaillant <glv@posteo.net>
|
||||
;;; Copyright © 2019 Andreas Enge <andreas@enge.fr>
|
||||
;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||
|
@ -28,6 +28,7 @@
|
|||
|
||||
(define-module (gnu packages c)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix git-download)
|
||||
|
@ -518,7 +519,8 @@ (define-public unifdef
|
|||
(arguments
|
||||
`(#:phases (modify-phases %standard-phases
|
||||
(delete 'configure))
|
||||
#:make-flags (list "CC=gcc" (string-append "prefix=" %output))
|
||||
#:make-flags (list (string-append "CC=" ,(cc-for-target))
|
||||
(string-append "prefix=" %output))
|
||||
#:tests? #f)) ;no test suite
|
||||
(native-inputs
|
||||
`(("perl" ,perl)))
|
||||
|
|
|
@ -849,9 +849,9 @@ (define-public squashfs-tools
|
|||
"0zmhvczscqz0mzh4b9m8m42asq14db0a6lc8clp5ljq5ybrv70d9"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:tests? #f ; no check target
|
||||
`(#:tests? #f ; no check target
|
||||
#:make-flags
|
||||
(list "CC=gcc"
|
||||
(list (string-append "CC=" ,(cc-for-target))
|
||||
"XZ_SUPPORT=1"
|
||||
"LZO_SUPPORT=1"
|
||||
"LZ4_SUPPORT=1"
|
||||
|
@ -956,7 +956,8 @@ (define-public bsdiff
|
|||
"0j2zm3z271x5aw63mwhr3vymzn45p2vvrlrpm9cz2nywna41b0hq"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:make-flags (list "INSTALL=install" "CC=gcc"
|
||||
`(#:make-flags (list "INSTALL=install"
|
||||
(string-append "CC=" ,(cc-for-target))
|
||||
(string-append "PREFIX=" (assoc-ref %outputs "out")))
|
||||
#:phases (modify-phases %standard-phases
|
||||
(delete 'configure)
|
||||
|
@ -1426,7 +1427,10 @@ (define-public zstd
|
|||
|
||||
#t))))
|
||||
#:make-flags
|
||||
(list "CC=gcc"
|
||||
;; TODO: Integrate in next rebuild cycle.
|
||||
(list ,(if (%current-target-system)
|
||||
(string-append "CC=" (cc-for-target))
|
||||
"CC=gcc")
|
||||
(string-append "PREFIX=" (assoc-ref %outputs "out"))
|
||||
(string-append "LIBDIR=" (assoc-ref %outputs "lib") "/lib")
|
||||
(string-append "INCLUDEDIR=" (assoc-ref %outputs "lib") "/include")
|
||||
|
@ -1458,8 +1462,14 @@ (define-public pzstd
|
|||
(version (package-version zstd))
|
||||
(source (package-source zstd))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(,@(if (%current-target-system)
|
||||
`(("googletest" ,googletest))
|
||||
'())))
|
||||
(native-inputs
|
||||
`(("googletest" ,googletest)))
|
||||
`(,@(if (%current-system)
|
||||
`(("googletest" ,googletest))
|
||||
'())))
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
|
@ -1477,7 +1487,8 @@ (define-public pzstd
|
|||
(install-file "README.md" doc)
|
||||
#t))))
|
||||
#:make-flags
|
||||
(list "CC=gcc"
|
||||
(list (string-append "CC=" ,(cc-for-target))
|
||||
(string-append "CXX=" ,(cxx-for-target))
|
||||
(string-append "PREFIX=" (assoc-ref %outputs "out")))))
|
||||
(home-page (package-home-page zstd))
|
||||
(synopsis "Threaded implementation of the Zstandard compression algorithm")
|
||||
|
|
|
@ -194,7 +194,7 @@ (define-public dashel
|
|||
(define-public xsimd
|
||||
(package
|
||||
(name "xsimd")
|
||||
(version "7.2.3")
|
||||
(version "7.4.9")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -202,7 +202,7 @@ (define-public xsimd
|
|||
(url "https://github.com/QuantStack/xsimd")
|
||||
(commit version)))
|
||||
(sha256
|
||||
(base32 "1ny2qin1j4h35mljivh8z52kwdyjxf4yxlzb8j52ji91v2ccc88j"))
|
||||
(base32 "11by8gbshm4vv6flqp0ihff8c6nmbaqq7ms93b38rrq68bigcply"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
|
@ -212,11 +212,12 @@ (define-public xsimd
|
|||
`(("googletest" ,googletest)))
|
||||
(home-page "https://github.com/QuantStack/xsimd")
|
||||
(synopsis "C++ wrappers for SIMD intrinsics and math implementations")
|
||||
(description "xsimd provides a unified means for using SIMD features for
|
||||
library authors. Namely, it enables manipulation of batches of numbers with
|
||||
the same arithmetic operators as for single values. It also provides
|
||||
accelerated implementation of common mathematical functions operating on
|
||||
batches.")
|
||||
(description
|
||||
"xsimd provides a unified means for using @acronym{SIMD, single instruction
|
||||
multiple data} features for library authors. Namely, it enables manipulation of
|
||||
batches of numbers with the same arithmetic operators as for single values.
|
||||
It also provides accelerated implementation of common mathematical functions
|
||||
operating on batches.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public chaiscript
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
;;; Copyright © 2016 Lukas Gradl <lgradl@openmailbox>
|
||||
;;; Copyright © 2016, 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2016, 2017 Nikita <nikita@n0.is>
|
||||
;;; Copyright © 2016, 2017, 2019 Eric Bavier <bavier@member.fsf.org>
|
||||
;;; Copyright © 2016, 2017, 2019, 2020 Eric Bavier <bavier@posteo.net>
|
||||
;;; Copyright © 2017 Pierre Langlois <pierre.langlois@gmx.com>
|
||||
;;; Copyright © 2018, 2020 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
|
||||
|
@ -444,15 +444,14 @@ (define-public ssss
|
|||
(define-public tomb
|
||||
(package
|
||||
(name "tomb")
|
||||
(version "2.7")
|
||||
(version "2.8")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://files.dyne.org/tomb/"
|
||||
(uri (string-append "https://files.dyne.org/tomb/releases/"
|
||||
"Tomb-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0x3al02796vx1cvy6y6h685c367qx70dwv471g0hmks2gr10f0cn"))
|
||||
(patches (search-patches "tomb-fix-errors-on-open.patch"))))
|
||||
"0bggzzqmpfiknr76lyl8iszybrcpyqlbgiqk47fxq08h2b5ln1ic"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs `(("sudo" ,sudo))) ;presence needed for 'check' phase
|
||||
(inputs
|
||||
|
@ -1230,7 +1229,7 @@ (define-public minisign
|
|||
(define-public libolm
|
||||
(package
|
||||
(name "libolm")
|
||||
(version "3.1.5")
|
||||
(version "3.2.1")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -1238,15 +1237,16 @@ (define-public libolm
|
|||
(commit version)))
|
||||
(sha256
|
||||
(base32
|
||||
"030g0jmmvhx2dh32k708sz6cdd5q1wz48i4gigh6dclqk10w28lm"))
|
||||
"14b5cplcnbf2baq0lvz4f97m6swxpb13rvxdajxyw3s4mbvasia4"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda _
|
||||
(invoke "ctest" "build/tests"))))))
|
||||
(build-system cmake-build-system)
|
||||
(with-directory-excursion "tests"
|
||||
(invoke "ctest" ".")))))))
|
||||
(synopsis "Implementation of the olm and megolm cryptographic ratchets")
|
||||
(description "The libolm library implements the Double Ratchet
|
||||
cryptographic ratchet. It is written in C and C++11, and exposed as a C
|
||||
|
|
|
@ -49,7 +49,7 @@ (define-module (gnu packages cups)
|
|||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix svn-download)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix utils)
|
||||
|
@ -797,27 +797,32 @@ (define-public escpr
|
|||
(license license:gpl2+)))
|
||||
|
||||
(define-public splix
|
||||
;; The last release was in 2009. The SVN repository contains 5 years of
|
||||
;; unreleased bug fixes and support for newer printer models.
|
||||
(let ((revision 315))
|
||||
;; Last released in 2009 <https://sourceforge.net/projects/splix/files/>.
|
||||
;; Last SVN commit was 2013 <https://svn.code.sf.net/p/splix/code/splix/>.
|
||||
;; Use a more maintained fork with several bug fixes and support for newer
|
||||
;; printer models.
|
||||
(let ((commit "76268c4dd7dbc8218ea7426401104c3b40cc707a")
|
||||
(revision "315"))
|
||||
(package
|
||||
(name "splix")
|
||||
(version (string-append "2.0.0-" (number->string revision)))
|
||||
(version (git-version "2.0.0" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method svn-fetch)
|
||||
(uri (svn-reference
|
||||
(url "https://svn.code.sf.net/p/splix/code/splix/")
|
||||
(revision revision)))
|
||||
(file-name (string-append name "-" version "-checkout"))
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://gitlab.com/ScumCoder/splix")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "16wbm4xnz35ca3mw2iggf5f4jaxpyna718ia190ka6y4ah932jxl"))))
|
||||
(base32 "1mxsvllwwr1v8sgrax0b7gkajjhnm0l06s67spmaxz47lyll1qab"))))
|
||||
(build-system gnu-build-system)
|
||||
;; 90% (3.8 MiB) of output are .ppd files. Don't install them by default:
|
||||
;; CUPS has been able to read the .drv sources directly since version 1.2.
|
||||
;; PPDs have been obsolete since CUPS 1.2 and make up 90% of total size.
|
||||
(outputs (list "out" "ppd"))
|
||||
(arguments
|
||||
'(#:make-flags
|
||||
`(#:modules
|
||||
((srfi srfi-26)
|
||||
,@%gnu-build-system-modules)
|
||||
#:make-flags
|
||||
(list (string-append "CUPSDRV="
|
||||
(assoc-ref %outputs "out") "/share/cups/drv")
|
||||
(string-append "CUPSFILTER="
|
||||
|
@ -828,21 +833,28 @@ (define-public splix
|
|||
"THREADS=4") ; compress and print faster
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'enter-subdirectory
|
||||
;; The git repository replicates the top-level SVN layout.
|
||||
(lambda _
|
||||
(chdir "splix")
|
||||
#t))
|
||||
(delete 'configure) ; no configure script
|
||||
(add-before 'build 'build-.drv-files
|
||||
(lambda* (#:key make-flags #:allow-other-keys)
|
||||
(apply invoke "make" "drv" make-flags)))
|
||||
(add-after 'install 'install-.drv-files
|
||||
(lambda* (#:key make-flags #:allow-other-keys)
|
||||
(apply invoke "make" "install" "DRV_ONLY=1" make-flags))))
|
||||
(apply invoke "make" "install" "DRV_ONLY=1" make-flags)))
|
||||
(add-after 'install 'compress-PPDs
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((ppd (assoc-ref outputs "ppd")))
|
||||
(for-each (cut invoke "gzip" "-9" <>)
|
||||
(find-files ppd "\\.ppd$"))))))
|
||||
#:tests? #f)) ; no test suite
|
||||
(inputs
|
||||
`(("cups" ,cups-minimal)
|
||||
("zlib" ,zlib)
|
||||
|
||||
;; This dependency can be dropped by setting DISABLE_JBIG=1, but the
|
||||
;; result will not support some printers like the Samsung CLP-600.
|
||||
("jbigkit" ,jbigkit)))
|
||||
("jbigkit" ,jbigkit)
|
||||
("zlib" ,zlib)))
|
||||
(synopsis "QPDL (SPL2) printer driver")
|
||||
(description
|
||||
"SpliX is a set of CUPS drivers for printers that speak @acronym{QPDL,
|
||||
|
|
|
@ -1308,12 +1308,12 @@ (define-public recutils
|
|||
(native-inputs `(("bc" ,bc)
|
||||
("bash:include" ,bash "include")
|
||||
("check" ,check-0.14)
|
||||
("libuuid" ,util-linux)
|
||||
("pkg-config" ,pkg-config)))
|
||||
|
||||
;; TODO: Add more optional inputs.
|
||||
(inputs `(("curl" ,curl)
|
||||
("libgcrypt" ,libgcrypt)))
|
||||
("libgcrypt" ,libgcrypt)
|
||||
("libuuid" ,util-linux "lib")))
|
||||
(synopsis "Manipulate plain text files as databases")
|
||||
(description
|
||||
"GNU Recutils is a set of tools and libraries for creating and
|
||||
|
@ -2421,17 +2421,16 @@ (define-public libpqxx
|
|||
(define-public python-peewee
|
||||
(package
|
||||
(name "python-peewee")
|
||||
(version "3.13.3")
|
||||
(version "3.14.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "peewee" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0sc376v6rxga4b7ic9kxw2pmf28rmcx016320pa2nlb5d1rsjs8j"))))
|
||||
(base32 "1yl49gxrg0c2x3n3r60z3lixw9am8b61s0477l9vjabhhx1yziar"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f)) ; Fails to import test data
|
||||
`(#:tests? #f)) ; fails to import test data
|
||||
(inputs
|
||||
`(("sqlite" ,sqlite)))
|
||||
(native-inputs
|
||||
|
@ -3458,7 +3457,7 @@ (define-public python2-sql
|
|||
(define-public python-pypika
|
||||
(package
|
||||
(name "python-pypika")
|
||||
(version "0.37.2")
|
||||
(version "0.44.0")
|
||||
(source
|
||||
(origin (method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -3467,7 +3466,7 @@ (define-public python-pypika
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"089z1c778q1fwhzsc88ws8j5gm2hgxknibabn4wpax8rz2bfs3ck"))))
|
||||
"0mpddrw9z1pzcc40j3pzhd583hlgjx96aa8ak6m9zzhpm4bv3ard"))))
|
||||
(build-system python-build-system)
|
||||
(native-inputs
|
||||
`(("python-parameterized" ,python-parameterized)))
|
||||
|
|
|
@ -521,7 +521,7 @@ (define-public f3
|
|||
(define-public python-parted
|
||||
(package
|
||||
(name "python-parted")
|
||||
(version "3.11.6")
|
||||
(version "3.11.7")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -530,7 +530,7 @@ (define-public python-parted
|
|||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1xgrqhvn44vr3676j5sy2x3xfv2dzf7vncg25cmrsmkbd49x3z5j"))))
|
||||
(base32 "01193fmkss9icjvqpw85szpk8ld1pnha7p9kqm7mpwk6rc6gi2m3"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
|
||||
;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr>
|
||||
;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2020 Guillaume Le Vaillant <glv@posteo.net>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -26,9 +27,15 @@ (define-module (gnu packages djvu)
|
|||
#:use-module (guix git-download)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (gnu packages autotools)
|
||||
#:use-module (gnu packages check)
|
||||
#:use-module (gnu packages gettext)
|
||||
#:use-module (gnu packages glib)
|
||||
#:use-module (gnu packages image)
|
||||
#:use-module (gnu packages imagemagick)
|
||||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu packages pdf)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages qt)
|
||||
#:use-module (gnu packages xorg))
|
||||
|
||||
|
@ -112,3 +119,44 @@ (define-public djview
|
|||
The viewer can simultaneously display several pages using a side-by-side or
|
||||
a continuous layout.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public pdf2djvu
|
||||
(package
|
||||
(name "pdf2djvu")
|
||||
(version "0.9.17.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://github.com/jwilk/pdf2djvu/releases/download/" version
|
||||
"/pdf2djvu-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32 "18r648kna6ccw0m0nfxxnsmz541k69d0w9zzqvm1x2l5qyyvgfsv"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("gettext" ,gettext-minimal)
|
||||
("pkg-config" ,pkg-config)
|
||||
("python2" ,python-2)
|
||||
("python2-nose" ,python2-nose)))
|
||||
(inputs
|
||||
`(("djvulibre" ,djvulibre)
|
||||
("exiv2" ,exiv2)
|
||||
("graphicsmagick" ,graphicsmagick)
|
||||
("poppler" ,poppler)
|
||||
("poppler-data" ,poppler-data)
|
||||
("util-linux-lib" ,util-linux "lib"))) ; for libuuid
|
||||
(arguments
|
||||
`(#:test-target "test"))
|
||||
(synopsis "PDF to DjVu converter")
|
||||
(description
|
||||
"@code{pdf2djvu} creates DjVu files from PDF files.
|
||||
It is able to extract:
|
||||
@itemize
|
||||
@item graphics,
|
||||
@item text layer,
|
||||
@item hyperlinks,
|
||||
@item document outline (bookmarks),
|
||||
@item metadata (including XMP metadata).
|
||||
@end itemize\n")
|
||||
(home-page "https://jwilk.net/software/pdf2djvu")
|
||||
(license license:gpl2)))
|
||||
|
|
|
@ -275,7 +275,7 @@ (define-public tipp10
|
|||
(define-public snap
|
||||
(package
|
||||
(name "snap")
|
||||
(version "6.3.1")
|
||||
(version "6.3.3")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -284,7 +284,7 @@ (define-public snap
|
|||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1109xrvq1vszs74jhzdzhc1isij1hx6brb0w45m0i6sl0xxdrdhb"))))
|
||||
(base32 "0zlyk241s6sh5zaqrvfpg4lx7jdifajsdf6c9qhh77vxxh5gwzrc"))))
|
||||
(build-system trivial-build-system)
|
||||
(arguments
|
||||
`(#:modules ((guix build utils))
|
||||
|
|
|
@ -1871,12 +1871,12 @@ (define-public emacs-aggressive-indent
|
|||
(license license:gpl2+)))
|
||||
|
||||
(define-public emacs-gcmh
|
||||
;; No tagged release upstream.
|
||||
(let ((commit "84c43a4c0b41a595ac6e299fa317d2831813e580")
|
||||
(revision "0"))
|
||||
;; No tagged release upstream, but the commit below correspond to the 0.2.1
|
||||
;; release.
|
||||
(let ((commit "0089f9c3a6d4e9a310d0791cf6fa8f35642ecfd9"))
|
||||
(package
|
||||
(name "emacs-gcmh")
|
||||
(version (git-version "0.1" revision commit))
|
||||
(version "0.2.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -1884,7 +1884,7 @@ (define-public emacs-gcmh
|
|||
(url "https://gitlab.com/koral/gcmh")
|
||||
(commit commit)))
|
||||
(sha256
|
||||
(base32 "1r3wiqhrzh7wvqy484nl031fd4bn4cpvkv9646s4cjgvnnnv7jz3"))
|
||||
(base32 "0yh1ap8phv3x44rp0yr6z884xqw2apanbx4c0acqglvj0gaaqx25"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system emacs-build-system)
|
||||
(home-page "https://gitlab.com/koral/gcmh")
|
||||
|
@ -2604,14 +2604,14 @@ (define-public emacs-tablist
|
|||
(define-public emacs-djvu
|
||||
(package
|
||||
(name "emacs-djvu")
|
||||
(version "1.1")
|
||||
(version "1.1.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://elpa.gnu.org/packages/"
|
||||
"djvu-" version ".el"))
|
||||
(sha256
|
||||
(base32 "0njgyx09q225hliacsnjk8wallg5i6xkz6bj501pb05nwqfbvfk7"))))
|
||||
(base32 "0z2qk1v4qkvcwl27ycqfb8vyszq5v6b8ci29b4la00yaki16p04i"))))
|
||||
(build-system emacs-build-system)
|
||||
(inputs `(("djview" ,djview)
|
||||
("djvulibre" ,djvulibre)))
|
||||
|
@ -8904,7 +8904,7 @@ (define-public emacs-wgrep
|
|||
(define-public emacs-helm
|
||||
(package
|
||||
(name "emacs-helm")
|
||||
(version "3.6.5")
|
||||
(version "3.7.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -8913,7 +8913,7 @@ (define-public emacs-helm
|
|||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0yzpb84346v42ig4h0rsnvzmln58ilhc0gsq0ggc7038ypqkdw4d"))))
|
||||
(base32 "0lxq13bsbh7xawgsq08kjm7s28x9yl8mid3538flv5kcc1rv2b9y"))))
|
||||
(build-system emacs-build-system)
|
||||
(propagated-inputs
|
||||
`(("emacs-async" ,emacs-async)
|
||||
|
@ -11371,6 +11371,35 @@ (define-public emacs-cnfonts
|
|||
configuration of Chinese fonts.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public emacs-boon
|
||||
(package
|
||||
(name "emacs-boon")
|
||||
(version "1.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/jyp/boon")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1ss9bjs34q41pa0g0nbdzd8fwpjcbd2239rdlx5aykfv9v0b8j77"))))
|
||||
(build-system emacs-build-system)
|
||||
(propagated-inputs
|
||||
`(("emacs-dash" ,emacs-dash)
|
||||
("emacs-expand-region" ,emacs-expand-region)
|
||||
("emacs-multiple-cursors" ,emacs-multiple-cursors)
|
||||
("emacs-powerline" ,emacs-powerline)
|
||||
("emacs-spaceline" ,emacs-spaceline)))
|
||||
(home-page "https://github.com/jyp/boon")
|
||||
(synopsis "Ergonomic command mode for Emacs")
|
||||
(description "Boon is a complete package for modal editing with a focus on
|
||||
ergonomics and modularity. Spacial allocation of keys comes first, mnemonics
|
||||
second. Most common operations are mapped to the home row, common editing
|
||||
commands are bound to keys reachable with the left hand and movement keys are
|
||||
reached with the right hand.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public emacs-csharp-mode
|
||||
(package
|
||||
(name "emacs-csharp-mode")
|
||||
|
@ -11494,14 +11523,14 @@ (define-public emacs-pyim
|
|||
(define-public emacs-posframe
|
||||
(package
|
||||
(name "emacs-posframe")
|
||||
(version "0.8.2")
|
||||
(version "0.8.3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://elpa.gnu.org/packages/"
|
||||
"posframe-" version ".el"))
|
||||
(sha256
|
||||
(base32 "1yrk2bnlx5bpkjkzqialf0q4bdp9c5pipnvj3zsb5hbjni24x0yb"))))
|
||||
(base32 "05m56aw2yxik0pgcvyr5c92j2mwfksxgq1syzvik6161gy8hdd0g"))))
|
||||
(build-system emacs-build-system)
|
||||
;; emacs-minimal does not include the function font-info.
|
||||
(arguments
|
||||
|
@ -19428,10 +19457,10 @@ (define-public emacs-ov
|
|||
(license license:gpl3+)))
|
||||
|
||||
(define-public emacs-matrix-client
|
||||
(let ((commit "a0623667b07a4bf60980c97b078e9faed97ace79"))
|
||||
(let ((commit "59c792423fd0503f1375f356bec56130e65d3b51"))
|
||||
(package
|
||||
(name "emacs-matrix-client")
|
||||
(version (git-version "0.0.0" "4" commit))
|
||||
(version (git-version "0.0.0" "5" commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -19440,7 +19469,7 @@ (define-public emacs-matrix-client
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1zya8id3y9wzjaj7nplq7br6nhm3lsskv0fkn1xr1y77fzcfgcdb"))))
|
||||
"1gmpw14q9zkvviqpnmvh5vbyxk42038yilxm6b2zqw7mwxfc1xra"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
|
@ -23538,6 +23567,29 @@ (define-public emacs-frames-only-mode
|
|||
managers such as XMonad.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public emacs-modalka
|
||||
(package
|
||||
(name "emacs-modalka")
|
||||
(version "0.1.5")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/mrkkrp/modalka")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0ggj8q92sb6wp3hs1vhpmy56id0p3i9zwnw24g2v7xa7w8ac9s7l"))))
|
||||
(build-system emacs-build-system)
|
||||
(home-page "https://github.com/mrkkrp/modalka")
|
||||
(synopsis "Minor mode to easily define native custom modal editing")
|
||||
(description
|
||||
"This is a building kit to help switch to modal editing in Emacs. The
|
||||
main goal of the package is to make modal editing in Emacs as natural and
|
||||
native as possible. Modalka lets you define your own keys and does not come
|
||||
with a preconfigured set of keys.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public emacs-shrink-path
|
||||
(package
|
||||
(name "emacs-shrink-path")
|
||||
|
|
|
@ -1024,8 +1024,8 @@ (define-public binutils-vc4
|
|||
(home-page "https://github.com/puppeh/vc4-toolchain/"))))
|
||||
|
||||
(define-public gcc-vc4
|
||||
(let ((commit "165f6d0e11d2e76ee799533bb45bd5c92bf60dc2")
|
||||
(xgcc (cross-gcc "vc4-elf" #:xbinutils binutils-vc4)))
|
||||
(let ((commit "0fe4b83897341742f9df65797474cb0feab4b377")
|
||||
(xgcc (cross-gcc "vc4-elf" #:xgcc gcc-6 #:xbinutils binutils-vc4)))
|
||||
(package (inherit xgcc)
|
||||
(name "gcc-vc4")
|
||||
(source (origin
|
||||
|
@ -1039,7 +1039,10 @@ (define-public gcc-vc4
|
|||
"-checkout"))
|
||||
(sha256
|
||||
(base32
|
||||
"13h30qjcwnlz6lfma1d82nnvfmjnhh7abkagip4vly6vm5fpnvf2"))))
|
||||
"0kvaq4s0assvinmmicwqp07d0wwldcw0fv6f4k13whp3q5909jnr"))
|
||||
(patches
|
||||
(search-patches "gcc-6-fix-buffer-size.patch"
|
||||
"gcc-6-fix-isl-includes.patch"))))
|
||||
(native-inputs
|
||||
`(("flex" ,flex)
|
||||
,@(package-native-inputs xgcc)))
|
||||
|
|
|
@ -108,7 +108,7 @@ (define-module (gnu packages finance)
|
|||
(define-public bitcoin-core
|
||||
(package
|
||||
(name "bitcoin-core")
|
||||
(version "0.19.1")
|
||||
(version "0.20.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri
|
||||
|
@ -116,11 +116,13 @@ (define-public bitcoin-core
|
|||
version "/bitcoin-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1h3w7brc18145np920vy7j5ms5hym59hvr40swdjx34fbdaisngj"))
|
||||
(patches (search-patches "bitcoin-core-python-compat.patch"))))
|
||||
"0y5rad68b398arh0abr2wgiwybdw0i5a4dxz9s3fk9fgdbyn5gab"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)
|
||||
`(("autoconf" ,autoconf)
|
||||
("automake" ,automake)
|
||||
("libtool" ,libtool)
|
||||
("pkg-config" ,pkg-config)
|
||||
("python" ,python) ; for the tests
|
||||
("util-linux" ,util-linux) ; provides the hexdump command for tests
|
||||
("qttools" ,qttools)))
|
||||
|
@ -130,7 +132,6 @@ (define-public bitcoin-core
|
|||
("libevent" ,libevent)
|
||||
("miniupnpc" ,miniupnpc)
|
||||
("openssl" ,openssl)
|
||||
("protobuf" ,protobuf)
|
||||
("qtbase" ,qtbase)))
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
|
@ -154,6 +155,13 @@ (define-public bitcoin-core
|
|||
;; Make Qt deterministic.
|
||||
(setenv "QT_RCC_SOURCE_DATE_OVERRIDE" "1")
|
||||
#t))
|
||||
(add-before 'build 'set-no-git-flag
|
||||
(lambda _
|
||||
;; Make it clear we are not building from within a git repository
|
||||
;; (and thus no information regarding this build is available
|
||||
;; from git).
|
||||
(setenv "BITCOIN_GENBUILD_NO_GIT" "1")
|
||||
#t))
|
||||
(add-before 'check 'set-home
|
||||
(lambda _
|
||||
(setenv "HOME" (getenv "TMPDIR")) ; tests write to $HOME
|
||||
|
|
|
@ -444,7 +444,7 @@ (define-public python-xsge
|
|||
(define-public tiled
|
||||
(package
|
||||
(name "tiled")
|
||||
(version "1.2.5")
|
||||
(version "1.4.2")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -453,10 +453,11 @@ (define-public tiled
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"14v2zfka2y3h0r0biw1rl59585lji5074x958s4xnb352jm5h9b9"))))
|
||||
"0nhmv5rnmlnnmkiz95l3iy62f3754d98dm1wyh1m47xb3nbnl05b"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("qtbase" ,qtbase)
|
||||
("qtdeclarative" ,qtdeclarative)
|
||||
("qtsvg" ,qtsvg)
|
||||
("zlib" ,zlib)))
|
||||
(native-inputs
|
||||
|
@ -1842,7 +1843,7 @@ (define-public guile3.0-chickadee
|
|||
(define-public bennu-game-development
|
||||
(package
|
||||
(name "bennu-game-development")
|
||||
(version "348")
|
||||
(version "353")
|
||||
(source (origin
|
||||
(method svn-fetch)
|
||||
(uri (svn-reference
|
||||
|
@ -1851,7 +1852,7 @@ (define-public bennu-game-development
|
|||
(file-name (string-append name "-" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0wpzsbh4zi3931493dnyl5ffmh1b7fj2sx3mzrq304z9zs4d6lqq"))
|
||||
"1iri58ryk9lbqn585cbccnvrfkj8qxlbcsk8rpih40jhvs1j101l"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
|
|
|
@ -1605,7 +1605,14 @@ (define-public gnubg
|
|||
(native-inputs `(("python-2" ,python-2)
|
||||
("pkg-config" ,pkg-config)))
|
||||
(arguments
|
||||
`(#:phases
|
||||
`(#:configure-flags
|
||||
;; SSE instructions are available on Intel systems only.
|
||||
(list ,@(if (any (cute string-prefix? <> (or (%current-target-system)
|
||||
(%current-system)))
|
||||
'("x86_64" "i686"))
|
||||
'("--enable-simd=sse2") ; prevent avx instructions
|
||||
'()))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'install 'install-desktop-file
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
|
|
|
@ -181,6 +181,7 @@ (define glib
|
|||
(package
|
||||
(name "glib")
|
||||
(version "2.62.6")
|
||||
(replacement glib-with-gio-patch)
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnome/sources/"
|
||||
|
@ -387,11 +388,20 @@ (define pattern+procs
|
|||
(home-page "https://developer.gnome.org/glib/")
|
||||
(license license:lgpl2.1+)))
|
||||
|
||||
(define glib-with-gio-patch
|
||||
;; GLib with a fix for <https://bugs.gnu.org/35594>.
|
||||
;; TODO: Fold into 'glib' above in the next rebuild cycle.
|
||||
(package
|
||||
(inherit glib)
|
||||
(source (origin
|
||||
(inherit (package-source glib))
|
||||
(patches (cons (search-patch "glib-appinfo-watch.patch")
|
||||
(origin-patches (package-source glib))))))))
|
||||
|
||||
(define-public glib-with-documentation
|
||||
;; glib's doc must be built in a separate package since it requires gtk-doc,
|
||||
;; which in turn depends on glib.
|
||||
(package
|
||||
(inherit glib)
|
||||
(package/inherit glib
|
||||
(properties (alist-delete 'hidden? (package-properties glib)))
|
||||
(outputs (cons "doc" (package-outputs glib))) ; 20 MiB of GTK-Doc reference
|
||||
(native-inputs
|
||||
|
|
|
@ -9552,19 +9552,21 @@ (define-public gnome-shell-extensions
|
|||
(define-public arc-theme
|
||||
(package
|
||||
(name "arc-theme")
|
||||
(version "20190917")
|
||||
(version "20201013")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/NicoHood/arc-theme")
|
||||
(url "https://github.com/jnsh/arc-theme")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1qgpk4p2hi5hd4yy0hj93kq1vs0b32wb8qkaj1wi90c8gwddq5wa"))))
|
||||
"1x2l1mwjx68dwf3jb1i90c1q8nqsl1wf2zggcn8im6590k5yv39s"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:phases
|
||||
'(#:configure-flags
|
||||
(list "--disable-cinnamon")
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
;; autogen.sh calls configure at the end of the script.
|
||||
(replace 'bootstrap
|
||||
|
@ -10889,7 +10891,7 @@ (define-public terminator
|
|||
(define-public libhandy
|
||||
(package
|
||||
(name "libhandy")
|
||||
(version "1.0.0")
|
||||
(version "1.0.2")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -10898,7 +10900,7 @@ (define-public libhandy
|
|||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "193y09yy0302x8fkyrnq591m805xp68bkd93fl5qggxi52k8pj0v"))))
|
||||
(base32 "1bmmkahshvlvpsnb7zp8bddv7i1h5k4p967n6kxh71g1vnj8x20m"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
|
@ -10927,7 +10929,7 @@ (define-public libhandy
|
|||
;; Test suite dependencies.
|
||||
("xorg-server" ,xorg-server-for-tests)
|
||||
("hicolor-icon-theme" ,hicolor-icon-theme)))
|
||||
(home-page "https://source.puri.sm/Librem5/libhandy")
|
||||
(home-page "https://gitlab.gnome.org/GNOME/libhandy/")
|
||||
(synopsis "Library full of GTK+ widgets for mobile phones")
|
||||
(description "The aim of the handy library is to help with developing user
|
||||
interfaces for mobile devices using GTK+. It provides responsive GTK+ widgets
|
||||
|
@ -11913,7 +11915,7 @@ (define-public gnome-builder
|
|||
(define-public komikku
|
||||
(package
|
||||
(name "komikku")
|
||||
(version "0.21.1")
|
||||
(version "0.22.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -11923,7 +11925,7 @@ (define-public komikku
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"17ss5k2hnymk6xyx1dy3q0y2pwcld78cw7d0cs9c0hnhskh5dirh"))))
|
||||
"0ds4j542zprbyh36qyii1c9mb7kj14cvrfk5miqjvp8y4b5i6mdi"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
`(#:glib-or-gtk? #t
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
;;; Copyright © 2013 Eric Bavier <bavier@member.fsf.org>
|
||||
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
|
||||
;;; Copyright © 2016, 2018, 2020 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -30,15 +31,14 @@ (define-module (gnu packages gnu-pw-mgr)
|
|||
(define-public gnu-pw-mgr
|
||||
(package
|
||||
(name "gnu-pw-mgr")
|
||||
(version "2.7")
|
||||
(version "2.7.4")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/gnu-pw-mgr/gnu-pw-mgr-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1ra8in91qx6n8jydb8kwl2rnqaa2hix5pyawn6nvyqs815h9gx17"))))
|
||||
(base32 "0fhwvsmsqpw0vnivarfg63l8pgwqfv7d5wi6l80jpb41dj6qpjz8"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:phases
|
||||
|
@ -50,7 +50,7 @@ (define-public gnu-pw-mgr
|
|||
#t))
|
||||
(add-before 'check 'pre-check
|
||||
(lambda _
|
||||
;; In build environment, There is no /dev/tty
|
||||
;; In the build environment, there is no /dev/tty.
|
||||
(substitute* "tests/base.test"
|
||||
(("/dev/tty") "/dev/null"))
|
||||
#t)))))
|
||||
|
|
|
@ -401,13 +401,13 @@ (define-public gnupg-1
|
|||
(define-public gpgme
|
||||
(package
|
||||
(name "gpgme")
|
||||
(version "1.14.0")
|
||||
(version "1.15.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnupg/gpgme/gpgme-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32 "01s3rlspykbm9vmi5rfbdm3d20ip6yni69r48idqzlmhlq8ggwff"))))
|
||||
(base32 "0nqfipv5s4npfidsm1rs3kpq0r0av9bfqfd5r035jibx5k0jniqb"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("gnupg" ,gnupg)))
|
||||
|
|
|
@ -550,8 +550,8 @@ (define* (computed-origin-method gexp-promise hash-algo hash
|
|||
#:system system
|
||||
#:guile-for-build guile)))
|
||||
|
||||
(define %icecat-version "78.4.1-guix0-preview1")
|
||||
(define %icecat-build-id "20201110000000") ;must be of the form YYYYMMDDhhmmss
|
||||
(define %icecat-version "78.5.0-guix0-preview1")
|
||||
(define %icecat-build-id "20201117000000") ;must be of the form YYYYMMDDhhmmss
|
||||
|
||||
;; 'icecat-source' is a "computed" origin that generates an IceCat tarball
|
||||
;; from the corresponding upstream Firefox ESR tarball, using the 'makeicecat'
|
||||
|
@ -573,11 +573,11 @@ (define icecat-source
|
|||
"firefox-" upstream-firefox-version ".source.tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0q57b0s6xhps4dzp2cih4ajdj6hdas0j6jx0sidzj72vjzfywy0r"))))
|
||||
"1442yjmwz69hkfcvh8kkb60jf4c9ms0pac04nc3xw2da13v4zxai"))))
|
||||
|
||||
(upstream-icecat-base-version "78.4.1") ; maybe older than base-version
|
||||
(upstream-icecat-base-version "78.5.0") ; maybe older than base-version
|
||||
;;(gnuzilla-commit (string-append "v" upstream-icecat-base-version))
|
||||
(gnuzilla-commit "df2c2e22a0c6ea5b4dcaed52884223bfa6ffacde")
|
||||
(gnuzilla-commit "bcfe407570cae32d00dd33a268de0e0593166f7b")
|
||||
(gnuzilla-source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -589,7 +589,7 @@ (define icecat-source
|
|||
(string-take gnuzilla-commit 8)))
|
||||
(sha256
|
||||
(base32
|
||||
"1y1p2g9xvqsg0im58lhdkrp8z0zlxw6i3qqplqdpbidmjwibmqjz"))))
|
||||
"1pg8fjjg91qyrv7za585ds1xrdvmybbkf2jmkff107fh5y23lxrg"))))
|
||||
|
||||
;; 'search-patch' returns either a valid file name or #f, so wrap it
|
||||
;; in 'assume-valid-file-name' to avoid 'local-file' warnings.
|
||||
|
@ -1161,11 +1161,11 @@ (define-public icecat
|
|||
(cpe-version . ,(first (string-split version #\-)))))))
|
||||
|
||||
;; Update this together with icecat!
|
||||
(define %icedove-build-id "20201021000000") ;must be of the form YYYYMMDDhhmmss
|
||||
(define %icedove-build-id "20201111000000") ;must be of the form YYYYMMDDhhmmss
|
||||
(define-public icedove
|
||||
(package
|
||||
(name "icedove")
|
||||
(version "78.4.0")
|
||||
(version "78.4.3")
|
||||
(source icecat-source)
|
||||
(properties
|
||||
`((cpe-name . "thunderbird_esr")))
|
||||
|
@ -1445,7 +1445,7 @@ (define-public icedove
|
|||
;; in the Thunderbird release tarball. We don't use the release
|
||||
;; tarball because it duplicates the Icecat sources and only adds the
|
||||
;; "comm" directory, which is provided by this repository.
|
||||
,(let ((changeset "d5c3faff83924f56859ea4584eb0610c68a0cafa"))
|
||||
,(let ((changeset "6ee1d79f9e77c90f0f165b9315b5b437a220b665"))
|
||||
(origin
|
||||
(method hg-fetch)
|
||||
(uri (hg-reference
|
||||
|
@ -1454,7 +1454,7 @@ (define-public icedove
|
|||
(file-name (string-append "thunderbird-" version "-checkout"))
|
||||
(sha256
|
||||
(base32
|
||||
"146vp5048j5drzyvmsj9v34ifqcywr1gikwh4f1z4l9zad7b09rs")))))
|
||||
"0m6isazpirmviv14kjav8jn3w3gm3mls0qwyf1n87hj00bj6z6jc")))))
|
||||
("autoconf" ,autoconf-2.13)
|
||||
("cargo" ,rust-1.41 "cargo")
|
||||
("clang" ,clang)
|
||||
|
|
|
@ -431,14 +431,14 @@ (define-public autotrace
|
|||
(define-public blender
|
||||
(package
|
||||
(name "blender")
|
||||
(version "2.83.5")
|
||||
(version "2.83.9")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://download.blender.org/source/"
|
||||
"blender-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0xyawly00a59hfdb6b7va84k5fhcv2mxnzd77vs22bzi9y7sap43"))))
|
||||
"106w9vi6z0gi2nbr73g8pm40w3wn7dkjcibzvvzbc786yrnzvkhb"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(let ((python-version (version-major+minor (package-version python))))
|
||||
|
|
|
@ -451,14 +451,14 @@ (define-public mujs
|
|||
(define-public quickjs
|
||||
(package
|
||||
(name "quickjs")
|
||||
(version "2020-09-06")
|
||||
(version "2020-11-08")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://bellard.org/quickjs/quickjs-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"05vpnnzmws7plnwsnk2brwf7whyj84l5xl0iahi1xdn6rpla6880"))))
|
||||
"0yqqcjxi3cqagw184mqrxpvqg486x7c233r3cp9mxachngd6779f"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:make-flags
|
||||
|
|
|
@ -64,13 +64,16 @@ (define-public lua
|
|||
(build-system gnu-build-system)
|
||||
(inputs `(("readline" ,readline)))
|
||||
(arguments
|
||||
'(#:modules ((guix build gnu-build-system)
|
||||
`(#:modules ((guix build gnu-build-system)
|
||||
(guix build utils)
|
||||
(srfi srfi-1))
|
||||
#:test-target "test"
|
||||
#:make-flags
|
||||
'("MYCFLAGS=-fPIC -DLUA_DL_DLOPEN"
|
||||
"linux")
|
||||
(list "MYCFLAGS=-fPIC -DLUA_DL_DLOPEN"
|
||||
(string-append "CC=" ,(cc-for-target))
|
||||
(string-append "SYSLIBS=-L" (assoc-ref %build-inputs "readline")
|
||||
"/lib")
|
||||
"linux")
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure)
|
||||
|
|
|
@ -38,6 +38,7 @@
|
|||
;;; Copyright © 2020 Tim Gesthuizen <tim.gesthuizen@yahoo.de>
|
||||
;;; Copyright © 2020 Alexandru-Sergiu Marton <brown121407@posteo.ro>
|
||||
;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com>
|
||||
;;; Copyright © 2020 B. Wilson <elaexuotee@wilsonb.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -63,6 +64,7 @@ (define-module (gnu packages mail)
|
|||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages bash)
|
||||
#:use-module (gnu packages bison)
|
||||
#:use-module (gnu packages boost)
|
||||
#:use-module (gnu packages calendar)
|
||||
#:use-module (gnu packages check)
|
||||
#:use-module (gnu packages compression)
|
||||
|
@ -107,6 +109,7 @@ (define-module (gnu packages mail)
|
|||
#:use-module (gnu packages man)
|
||||
#:use-module (gnu packages ncurses)
|
||||
#:use-module (gnu packages networking)
|
||||
#:use-module (gnu packages ninja)
|
||||
#:use-module (gnu packages openldap)
|
||||
#:use-module (gnu packages onc-rpc)
|
||||
#:use-module (gnu packages pcre)
|
||||
|
@ -114,6 +117,7 @@ (define-module (gnu packages mail)
|
|||
#:use-module (gnu packages perl-check)
|
||||
#:use-module (gnu packages perl-web)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages protobuf)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages python-check)
|
||||
#:use-module (gnu packages python-crypto)
|
||||
|
@ -593,12 +597,15 @@ (define-public gmime
|
|||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)
|
||||
("gnupg" ,gnupg))) ; for tests only
|
||||
("gnupg" ,gnupg) ; for tests only
|
||||
("gobject-introspection" ,gobject-introspection)))
|
||||
(inputs `(("glib" ,glib)
|
||||
("gpgme" ,gpgme)
|
||||
("zlib" ,zlib)))
|
||||
(arguments
|
||||
`(#:phases
|
||||
`(#:configure-flags
|
||||
(list "--enable-introspection=yes")
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after
|
||||
'unpack 'patch-paths-in-tests
|
||||
|
@ -700,6 +707,118 @@ (define-public altermime
|
|||
(license (list (license:non-copyleft "file://LICENSE")
|
||||
license:bsd-3))))
|
||||
|
||||
(define-public astroid
|
||||
(package
|
||||
(name "astroid")
|
||||
(version "0.15")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/astroidmail/astroid")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "11cxbva9ni98gii59xmbxh4c6idcg3mg0pgdsp1c3j0yg7ix0lj3"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
;; https://github.com/astroidmail/astroid/pull/685
|
||||
(substitute* "tests/test_composed_message.cc"
|
||||
(("\\\\n\\.\\.\\.") "\\n...\\n"))
|
||||
#t))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:modules ((guix build cmake-build-system)
|
||||
((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:)
|
||||
(guix build utils)
|
||||
(ice-9 match))
|
||||
#:imported-modules ((guix build glib-or-gtk-build-system)
|
||||
,@%cmake-build-system-modules)
|
||||
#:configure-flags (list "-GNinja")
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'skip-markdown-test
|
||||
;; This test relies on the plugins and the test suite
|
||||
;; cannot find the Astroid module.
|
||||
;; gi.require_version ('Astroid', '0.2')
|
||||
;; ValueError: Namespace Astroid not available
|
||||
(lambda _
|
||||
(substitute* "tests/CMakeLists.txt"
|
||||
((".*markdown.*") ""))
|
||||
#t))
|
||||
(replace 'build
|
||||
(lambda _
|
||||
(invoke "ninja" "-j" (number->string (parallel-job-count)))))
|
||||
(add-before 'check 'start-xserver
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let ((xorg-server (assoc-ref inputs "xorg-server")))
|
||||
(setenv "HOME" (getcwd))
|
||||
(system (format #f "~a/bin/Xvfb :1 &" xorg-server))
|
||||
(setenv "DISPLAY" ":1")
|
||||
#t)))
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(setenv "CTEST_OUTPUT_ON_FAILURE" "1")
|
||||
(invoke "ctest" "."))
|
||||
#t))
|
||||
(replace 'install
|
||||
(lambda _
|
||||
(invoke "ninja" "install")))
|
||||
(add-after 'install 'wrap-with-GI_TYPELIB_PATH
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out"))
|
||||
(paths (map (match-lambda
|
||||
((outputs . directory)
|
||||
(let ((girepodir (string-append
|
||||
directory
|
||||
"/lib/girepository-1.0")))
|
||||
(if (file-exists? girepodir)
|
||||
girepodir
|
||||
#f))))
|
||||
inputs)))
|
||||
(wrap-program (string-append out "/bin/astroid")
|
||||
`("GI_TYPELIB_PATH" ":" prefix ,(filter identity paths))))
|
||||
#t))
|
||||
(add-after 'install 'glib-or-gtk-compile-schemas
|
||||
(assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-compile-schemas))
|
||||
(add-after 'install 'glib-or-gtk-wrap
|
||||
(assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap)))))
|
||||
(native-inputs
|
||||
`(("glib-networking" ,glib-networking)
|
||||
("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
|
||||
("gnupg" ,gnupg)
|
||||
("ninja" ,ninja)
|
||||
("pkg-config" ,pkg-config)
|
||||
("ronn" ,ronn)
|
||||
("w3m" ,w3m)
|
||||
("xorg-server" ,xorg-server)))
|
||||
(inputs
|
||||
`(("boost" ,boost)
|
||||
("gmime" ,gmime)
|
||||
("gobject-introspection" ,gobject-introspection) ; it is referenced
|
||||
("gtkmm" ,gtkmm)
|
||||
("libpeas" ,libpeas)
|
||||
("libsass" ,libsass)
|
||||
("notmuch" ,notmuch)
|
||||
("protobuf" ,protobuf)
|
||||
("python" ,python-wrapper)
|
||||
("python-pygobject" ,python-pygobject)
|
||||
("webkitgtk" ,webkitgtk)))
|
||||
(propagated-inputs
|
||||
`(("adwaita-icon-theme" ,adwaita-icon-theme))) ; Required for the thread view
|
||||
(home-page "https://astroidmail.github.io/")
|
||||
(synopsis "GTK frontend to the notmuch mail system")
|
||||
(description
|
||||
"Astroid is a lightweight and fast Mail User Agent that provides a
|
||||
graphical interface to searching, display and composing email, organized in
|
||||
thread and tags. Astroid uses the notmuch backend for searches through tons of
|
||||
email. Astroid searches, displays and compose emails — and relies on other
|
||||
programs for fetching, syncing and sending email.")
|
||||
(license (list license:gpl3+ ; 'this program'
|
||||
license:lgpl2.1+)))) ; code from geary, gmime
|
||||
|
||||
(define-public ripmime
|
||||
;; Upstream does not tag or otherwise provide any releases (only a version
|
||||
;; number in the source)
|
||||
|
@ -2482,17 +2601,68 @@ (define-public mb2md
|
|||
converts them to maildir format directories.")
|
||||
(license license:public-domain)))
|
||||
|
||||
(define-public mblaze
|
||||
(package
|
||||
(name "mblaze")
|
||||
(version "0.2")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/leahneukirchen/mblaze")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0p97zfl35ilrnrx9ynj82igsb698m9klikfaicw5jhjpf6qp2n3y"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("perl" ,perl)))
|
||||
(arguments
|
||||
`(#:tests? #f ; XXX: Upstream tests appear to be broken
|
||||
#:make-flags (list (string-append "CC=" ,(cc-for-target))
|
||||
"PREFIX="
|
||||
(string-append "DESTDIR=" %output))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure))))
|
||||
(home-page "https://github.com/leahneukirchen/mblaze")
|
||||
(synopsis "Unix utilities to deal with Maildir")
|
||||
(description
|
||||
"The mblaze message system is a set of Unix utilities for processing and
|
||||
interacting with mail messages which are stored in maildir folders.
|
||||
|
||||
Its design is roughly inspired by MH, the RAND Message Handling System, but it
|
||||
is a complete implementation from scratch.
|
||||
|
||||
mblaze is a classic command line MUA and has no features for receiving or
|
||||
transferring messages; you can operate on messages in a local maildir spool,
|
||||
or fetch your messages using fdm(1), getmail(1), offlineimap(1), or similar
|
||||
utilities, and send it using dma(8), msmtp(1), sendmail(8), as provided by
|
||||
OpenSMTPD, Postfix, or similar.
|
||||
|
||||
mblaze operates directly on maildir folders and doesn't use its own caches or
|
||||
databases. There is no setup needed for many uses. All utilities have been
|
||||
written with performance in mind. Enumeration of all messages in a maildir is
|
||||
avoided unless necessary, and then optimized to limit syscalls. Parsing
|
||||
message metadata is optimized to limit I/O requests. Initial operations on a
|
||||
large maildir may feel slow, but as soon as they are in the file system cache,
|
||||
everything is blazingly fast. The utilities are written to be memory
|
||||
efficient (i.e. not wasteful), but whole messages are assumed to fit into RAM
|
||||
easily (one at a time).")
|
||||
(license (list license:public-domain
|
||||
license:expat)))) ; mystrverscmp.c and mymemmem
|
||||
|
||||
(define-public mpop
|
||||
(package
|
||||
(name "mpop")
|
||||
(version "1.4.10")
|
||||
(version "1.4.11")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://marlam.de/mpop/releases/"
|
||||
"mpop-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32 "1243hazpiwgvz2m3p48cdh0yw1019i6xjxgc7qyhmxcdy0inb6wy"))))
|
||||
(base32 "1gcxvhin5y0q47svqbf90r5aip0cgywm8sq6m84ygda7km8xylwv"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("gnutls" ,gnutls)))
|
||||
|
|
|
@ -41,6 +41,7 @@
|
|||
;;; Copyright © 2020 B. Wilson <elaexuotee@wilsonb.com>
|
||||
;;; Copyright © 2020 Vinicius Monego <monego@posteo.net>
|
||||
;;; Copyright © 2020 Simon Tournier <zimon.toutoune@gmail.com>
|
||||
;;; Copyright © 2020 Martin Becze <mjbecze@riseup.net>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -306,13 +307,13 @@ (define-public python2-cvxopt
|
|||
(define-public units
|
||||
(package
|
||||
(name "units")
|
||||
(version "2.19")
|
||||
(version "2.21")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/units/units-" version
|
||||
".tar.gz"))
|
||||
(sha256 (base32
|
||||
"0mk562g7dnidjgfgvkxxpvlba66fh1ykmfd9ylzvcln1vxmi6qj2"))))
|
||||
"1bybhqs4yrly9myb5maz3kdmf8k4fhk2m1d5cbcryn40z6lq0gkc"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("readline" ,readline)
|
||||
|
@ -4716,7 +4717,7 @@ (define-public jacal
|
|||
(define-public z3
|
||||
(package
|
||||
(name "z3")
|
||||
(version "4.8.8")
|
||||
(version "4.8.9")
|
||||
(home-page "https://github.com/Z3Prover/z3")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
|
@ -4725,7 +4726,7 @@ (define-public z3
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1rn538ghqwxq0v8i6578j8mflk6fyv0cp4hjfqynzvinjbps56da"))))
|
||||
"1hnbzq10d23drd7ksm3c1n2611c3kd0q0yxgz8y78zaafwczvwxx"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:imported-modules ((guix build python-build-system)
|
||||
|
|
|
@ -158,7 +158,7 @@ (define-public nagios
|
|||
(define-public zabbix-agentd
|
||||
(package
|
||||
(name "zabbix-agentd")
|
||||
(version "5.2.0")
|
||||
(version "5.2.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -166,7 +166,7 @@ (define-public zabbix-agentd
|
|||
"https://cdn.zabbix.com/zabbix/sources/stable/"
|
||||
(version-major+minor version) "/zabbix-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "168yi9igwkb4jcdw38kvp85n8mxnlg2n7lkrgaycp8b0dlgjnidl"))))
|
||||
(base32 "0rz5hg0r2m6qc0dj9b57g96dgilbg8i0rjhm4v9025v51jkby3xq"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
|
|
|
@ -141,6 +141,34 @@ (define-module (gnu packages networking)
|
|||
#:use-module (gnu packages xml)
|
||||
#:use-module (ice-9 match))
|
||||
|
||||
(define-public axel
|
||||
(package
|
||||
(name "axel")
|
||||
(version "2.17.9")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/axel-download-accelerator/axel/"
|
||||
"releases/download/v" version "/"
|
||||
"axel-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32 "0m1smb9rmw9w2fcfcf0162qyffx6a1x0j612sg3fydflandlsdpi"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("gettext" ,gettext-minimal)
|
||||
("pkg-config" ,pkg-config)))
|
||||
(inputs
|
||||
`(("libressl" ,libressl)))
|
||||
(home-page "https://github.com/axel-download-accelerator/axel")
|
||||
(synopsis "Light command line download accelerator")
|
||||
(description
|
||||
"Axel tries to accelerate the download process by using multiple
|
||||
connections per file, and can also balance the load between different
|
||||
servers. It tries to be as light as possible, so it might be useful
|
||||
on byte-critical systems. It supports HTTP, HTTPS, FTP and FTPS
|
||||
protocols.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
;; This package does not have a release yet.
|
||||
;; But this is required to provide a feature in PipeWire.
|
||||
(define-public libcamera
|
||||
|
@ -2142,14 +2170,14 @@ (define-public proxychains-ng
|
|||
(define-public enet
|
||||
(package
|
||||
(name "enet")
|
||||
(version "1.3.16")
|
||||
(version "1.3.17")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://enet.bespin.org/download/"
|
||||
"enet-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "1lggc82rbzscci057dqqyhkbq4j6mr5k01hbrvn06jkzc2xpxdxv"))))
|
||||
(base32 "1p6f9mby86af6cs7pv6h48032ip9g32c05cb7d9mimam8lchz3x3"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
|
|
|
@ -207,14 +207,14 @@ (define-public node
|
|||
(define-public node-10.22
|
||||
(package
|
||||
(inherit node)
|
||||
(version "10.22.0")
|
||||
(version "10.22.1")
|
||||
(source (origin
|
||||
(inherit (package-source node))
|
||||
(uri (string-append "https://nodejs.org/dist/v" version
|
||||
"/node-v" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1nz18fa550li10r0kzsm28c2rvvq61nq8bqdygip0rmvbi2paxg0"))))
|
||||
"0pr569qiabr4m7k38s7rwi3iyzrc5jmx19z2z0k7n4xfvhjlfzzl"))))
|
||||
(inputs
|
||||
(alist-replace "nghttp2" (list nghttp2-1.41 "lib")
|
||||
(package-inputs node)))))
|
||||
|
|
|
@ -5802,7 +5802,9 @@ (define-public ocaml-cairo2
|
|||
"0wzysis9fa850s68qh8vrvqc6svgllhwra3kzll2ibv0wmdqrich"))))
|
||||
(build-system dune-build-system)
|
||||
(arguments
|
||||
`(#:test-target "tests"))
|
||||
`(;; FIXME: (got signal SEGV) #44725
|
||||
#:tests? #f
|
||||
#:test-target "tests"))
|
||||
(inputs
|
||||
`(("cairo" ,cairo)
|
||||
("gtk+-2" ,gtk+-2)
|
||||
|
|
|
@ -130,9 +130,9 @@ (define-public guix
|
|||
;; 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.1.0")
|
||||
(commit "5e7cf66fb35780f930ad0bc5fe21ac330df4411d")
|
||||
(revision 32))
|
||||
(let ((version "1.2.0rc1")
|
||||
(commit "3ba6ffd0dd092ae879d014e4971989f231eaa56d")
|
||||
(revision 1))
|
||||
(package
|
||||
(name "guix")
|
||||
|
||||
|
@ -148,7 +148,7 @@ (define-public guix
|
|||
(commit commit)))
|
||||
(sha256
|
||||
(base32
|
||||
"15clfjp845gvl0p6qw0b1gdibqfq20zwzr6dbxvq8l9fgzj1kb6b"))
|
||||
"1wa67gdipmzqr400hp0cw5ih0rlfvj345h65rqbk9s4g3bkg38hm"))
|
||||
(file-name (string-append "guix-" version "-checkout"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
|
@ -336,7 +336,13 @@ (define code
|
|||
(let ((bash (assoc-ref inputs "bash")))
|
||||
(substitute* (string-append out "/bin/guix")
|
||||
(("^#!.*/bash") (string-append "#! " bash "/bin/bash")))))
|
||||
#t))))))
|
||||
#t)))
|
||||
|
||||
;; The 'guix' executable has 'OUT/libexec/guix/guile' as
|
||||
;; its shebang; that should remain unchanged, thus remove
|
||||
;; the 'patch-shebangs' phase, which would otherwise
|
||||
;; change it to 'GUILE/bin/guile'.
|
||||
(delete 'patch-shebangs))))
|
||||
(native-inputs `(("pkg-config" ,pkg-config)
|
||||
|
||||
;; Guile libraries are needed here for
|
||||
|
|
|
@ -1,28 +0,0 @@
|
|||
Get rid of deprecation warning emitted by Python 3.8, which causes a test failure(!).
|
||||
|
||||
https://github.com/bitcoin/bitcoin/pull/17931
|
||||
|
||||
Taken from upstream:
|
||||
|
||||
https://github.com/bitcoin/bitcoin/commit/f117fb00da747147cddfb071c1427a2754c278cd
|
||||
|
||||
diff --git a/test/functional/p2p_invalid_messages.py b/test/functional/p2p_invalid_messages.py
|
||||
index 20864881c165..07eacf410d88 100755
|
||||
--- a/test/functional/p2p_invalid_messages.py
|
||||
+++ b/test/functional/p2p_invalid_messages.py
|
||||
@@ -145,13 +145,13 @@ def run_test(self):
|
||||
def test_magic_bytes(self):
|
||||
conn = self.nodes[0].add_p2p_connection(P2PDataStore())
|
||||
|
||||
- def swap_magic_bytes():
|
||||
+ async def swap_magic_bytes():
|
||||
conn._on_data = lambda: None # Need to ignore all incoming messages from now, since they come with "invalid" magic bytes
|
||||
conn.magic_bytes = b'\x00\x11\x22\x32'
|
||||
|
||||
# Call .result() to block until the atomic swap is complete, otherwise
|
||||
# we might run into races later on
|
||||
- asyncio.run_coroutine_threadsafe(asyncio.coroutine(swap_magic_bytes)(), NetworkThread.network_event_loop).result()
|
||||
+ asyncio.run_coroutine_threadsafe(swap_magic_bytes(), NetworkThread.network_event_loop).result()
|
||||
|
||||
with self.nodes[0].assert_debug_log(['PROCESSMESSAGE: INVALID MESSAGESTART ping']):
|
||||
conn.send_message(messages.msg_ping(nonce=0xff))
|
15
gnu/packages/patches/gcc-6-fix-buffer-size.patch
Normal file
15
gnu/packages/patches/gcc-6-fix-buffer-size.patch
Normal file
|
@ -0,0 +1,15 @@
|
|||
Fixes a possible buffer overflow. (There are others)
|
||||
Author: Danny Milosavljevic <dannym@scratchpost.org>
|
||||
Date: 2020-11-16
|
||||
|
||||
--- a/gcc/gimplify.c.orig 2020-10-29 08:45:11.532479774 +0100
|
||||
+++ b/gcc/gimplify.c 2020-10-29 08:45:49.584637018 +0100
|
||||
@@ -5229,7 +5229,7 @@
|
||||
flexibility, split it into separate input and output
|
||||
operands. */
|
||||
tree input;
|
||||
- char buf[10];
|
||||
+ char buf[12];
|
||||
|
||||
/* Turn the in/out constraint into an output constraint. */
|
||||
char *p = xstrdup (constraint);
|
16
gnu/packages/patches/gcc-6-fix-isl-includes.patch
Normal file
16
gnu/packages/patches/gcc-6-fix-isl-includes.patch
Normal file
|
@ -0,0 +1,16 @@
|
|||
See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86724
|
||||
Author: Rainer Jung
|
||||
Date: 2018-07-29
|
||||
|
||||
isl 0.20 stopped including other unused header files in their header files.
|
||||
Therefore,now it's necessary to include the stuff ourselves.
|
||||
--- .../gcc/graphite.h 2018-01-03 11:03:58.000000000 +0000
|
||||
+++ .../gcc/graphite.h 2018-07-29 17:42:55.836121000 +0000
|
||||
@@ -37,6 +37,8 @@
|
||||
#include <isl/schedule.h>
|
||||
#include <isl/ast_build.h>
|
||||
#include <isl/schedule_node.h>
|
||||
+#include <isl/id.h>
|
||||
+#include <isl/space.h>
|
||||
|
||||
typedef struct poly_dr *poly_dr_p;
|
92
gnu/packages/patches/glib-appinfo-watch.patch
Normal file
92
gnu/packages/patches/glib-appinfo-watch.patch
Normal file
|
@ -0,0 +1,92 @@
|
|||
This patch lets GLib's GDesktopAppInfo API watch and notice changes
|
||||
to the Guix user and system profiles. That way, the list of available
|
||||
applications shown by the desktop environment is immediately updated
|
||||
when the user runs "guix install", "guix remove", or "guix system
|
||||
reconfigure" (see <https://issues.guix.gnu.org/35594>).
|
||||
|
||||
It does so by monitoring /var/guix/profiles (for changes to the system
|
||||
profile) and /var/guix/profiles/per-user/USER (for changes to the user
|
||||
profile) and crawling their share/applications sub-directory when
|
||||
changes happen.
|
||||
|
||||
diff --git a/gio/gdesktopappinfo.c b/gio/gdesktopappinfo.c
|
||||
index f1e2fdd..095c110 100644
|
||||
--- a/gio/gdesktopappinfo.c
|
||||
+++ b/gio/gdesktopappinfo.c
|
||||
@@ -148,6 +148,7 @@ typedef struct
|
||||
gchar *alternatively_watching;
|
||||
gboolean is_config;
|
||||
gboolean is_setup;
|
||||
+ gchar *guix_profile_watch_dir;
|
||||
GFileMonitor *monitor;
|
||||
GHashTable *app_names;
|
||||
GHashTable *mime_tweaks;
|
||||
@@ -180,6 +181,7 @@ desktop_file_dir_unref (DesktopFileDir *dir)
|
||||
{
|
||||
desktop_file_dir_reset (dir);
|
||||
g_free (dir->path);
|
||||
+ g_free (dir->guix_profile_watch_dir);
|
||||
g_free (dir);
|
||||
}
|
||||
}
|
||||
@@ -204,6 +206,13 @@ desktop_file_dir_get_alternative_dir (DesktopFileDir *dir)
|
||||
{
|
||||
gchar *parent;
|
||||
|
||||
+ /* If DIR is a profile, watch the specified directory--e.g.,
|
||||
+ * /var/guix/profiles/per-user/$USER/ for the user profile. Do not watch
|
||||
+ * ~/.guix-profile or /run/current-system/profile because GFileMonitor does
|
||||
+ * not pass IN_DONT_FOLLOW and thus cannot notice any change. */
|
||||
+ if (dir->guix_profile_watch_dir != NULL)
|
||||
+ return g_strdup (dir->guix_profile_watch_dir);
|
||||
+
|
||||
/* If the directory itself exists then we need no alternative. */
|
||||
if (g_access (dir->path, R_OK | X_OK) == 0)
|
||||
return NULL;
|
||||
@@ -249,11 +258,11 @@ desktop_file_dir_changed (GFileMonitor *monitor,
|
||||
*
|
||||
* If this is a notification for a parent directory (because the
|
||||
* desktop directory didn't exist) then we shouldn't fire the signal
|
||||
- * unless something actually changed.
|
||||
+ * unless something actually changed or it's in /var/guix/profiles.
|
||||
*/
|
||||
g_mutex_lock (&desktop_file_dir_lock);
|
||||
|
||||
- if (dir->alternatively_watching)
|
||||
+ if (dir->alternatively_watching && dir->guix_profile_watch_dir == NULL)
|
||||
{
|
||||
gchar *alternative_dir;
|
||||
|
||||
@@ -1555,6 +1564,32 @@ desktop_file_dirs_lock (void)
|
||||
for (i = 0; dirs[i]; i++)
|
||||
g_ptr_array_add (desktop_file_dirs, desktop_file_dir_new (dirs[i]));
|
||||
|
||||
+ {
|
||||
+ /* Monitor the system and user profile under /var/guix/profiles and
|
||||
+ * treat modifications to them as if they were modifications to their
|
||||
+ * /share sub-directory. */
|
||||
+ const gchar *user;
|
||||
+ DesktopFileDir *system_profile_dir, *user_profile_dir;
|
||||
+
|
||||
+ system_profile_dir =
|
||||
+ desktop_file_dir_new ("/var/guix/profiles/system/profile/share");
|
||||
+ system_profile_dir->guix_profile_watch_dir = g_strdup ("/var/guix/profiles");
|
||||
+ g_ptr_array_add (desktop_file_dirs, desktop_file_dir_ref (system_profile_dir));
|
||||
+
|
||||
+ user = g_get_user_name ();
|
||||
+ if (user != NULL)
|
||||
+ {
|
||||
+ gchar *profile_dir, *user_data_dir;
|
||||
+
|
||||
+ profile_dir = g_build_filename ("/var/guix/profiles/per-user", user, NULL);
|
||||
+ user_data_dir = g_build_filename (profile_dir, "guix-profile", "share", NULL);
|
||||
+ user_profile_dir = desktop_file_dir_new (user_data_dir);
|
||||
+ user_profile_dir->guix_profile_watch_dir = profile_dir;
|
||||
+ g_ptr_array_add (desktop_file_dirs, desktop_file_dir_ref (user_profile_dir));
|
||||
+ g_free (user_data_dir);
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
/* The list of directories will never change after this, unless
|
||||
* g_get_user_config_dir() changes due to %G_TEST_OPTION_ISOLATE_DIRS. */
|
||||
desktop_file_dirs_config_dir = user_config_dir;
|
|
@ -25,7 +25,7 @@ index 8be2362..48716f2 100755
|
|||
-wget -N https://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${FFVERSION}esr/source/firefox-${FFVERSION}esr.source.tar.xz.asc
|
||||
-gpg --recv-keys --keyserver keyserver.ubuntu.com 14F26682D0916CDD81E37B6D61B7B526D98F0353
|
||||
-gpg --verify firefox-${FFVERSION}esr.source.tar.xz.asc
|
||||
-echo -n 1978eedd975b1cf95bd4a04b2381560d1ad9a4223032717f23fac26e3458a760 firefox-${FFVERSION}esr.source.tar.xz |sha256sum -c -
|
||||
-echo -n 51f54ff608aa09de07b304307581ae89112781597322b8999b3099cfabf48290 firefox-${FFVERSION}esr.source.tar.xz |sha256sum -c -
|
||||
-
|
||||
-echo Extracting Firefox tarball
|
||||
-tar -xf firefox-${FFVERSION}esr.source.tar.xz
|
||||
|
@ -37,7 +37,7 @@ index 8be2362..48716f2 100755
|
|||
+# wget -N https://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${FFVERSION}esr/source/firefox-${FFVERSION}esr.source.tar.xz.asc
|
||||
+# gpg --recv-keys --keyserver keyserver.ubuntu.com 14F26682D0916CDD81E37B6D61B7B526D98F0353
|
||||
+# gpg --verify firefox-${FFVERSION}esr.source.tar.xz.asc
|
||||
+# echo -n 1978eedd975b1cf95bd4a04b2381560d1ad9a4223032717f23fac26e3458a760 firefox-${FFVERSION}esr.source.tar.xz |sha256sum -c -
|
||||
+# echo -n 51f54ff608aa09de07b304307581ae89112781597322b8999b3099cfabf48290 firefox-${FFVERSION}esr.source.tar.xz |sha256sum -c -
|
||||
+#
|
||||
+# echo Extracting Firefox tarball
|
||||
+# tar -xf firefox-${FFVERSION}esr.source.tar.xz
|
||||
|
|
|
@ -1,642 +0,0 @@
|
|||
Fix build with Poppler 0.86.
|
||||
|
||||
The original series of patches authored by Craig Bradney <mrb@scribus.info>
|
||||
and Jean Ghali <jghali@libertysurf.fr>, taken from
|
||||
https://gitweb.gentoo.org/repo/gentoo.git/tree/app-office/scribus/files
|
||||
|
||||
diff --git a/scribus/plugins/import/pdf/importpdf.cpp b/scribus/plugins/import/pdf/importpdf.cpp
|
||||
--- a/scribus/plugins/import/pdf/importpdf.cpp
|
||||
+++ b/scribus/plugins/import/pdf/importpdf.cpp
|
||||
@@ -75,7 +75,11 @@ PdfPlug::PdfPlug(ScribusDoc* doc, int flags)
|
||||
QImage PdfPlug::readThumbnail(const QString& fName)
|
||||
{
|
||||
QString pdfFile = QDir::toNativeSeparators(fName);
|
||||
+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 83, 0)
|
||||
+ globalParams.reset(new GlobalParams());
|
||||
+#else
|
||||
globalParams = new GlobalParams();
|
||||
+#endif
|
||||
if (globalParams)
|
||||
{
|
||||
#if defined(Q_OS_WIN32) && POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 62, 0)
|
||||
@@ -90,7 +94,9 @@ QImage PdfPlug::readThumbnail(const QString& fName)
|
||||
if (pdfDoc->getErrorCode() == errEncrypted)
|
||||
{
|
||||
delete pdfDoc;
|
||||
+#if POPPLER_ENCODED_VERSION < POPPLER_VERSION_ENCODE(0, 83, 0)
|
||||
delete globalParams;
|
||||
+#endif
|
||||
return QImage();
|
||||
}
|
||||
if (pdfDoc->isOk())
|
||||
@@ -134,11 +140,15 @@ QImage PdfPlug::readThumbnail(const QString& fName)
|
||||
image.setText("YSize", QString("%1").arg(h));
|
||||
delete dev;
|
||||
delete pdfDoc;
|
||||
+#if POPPLER_ENCODED_VERSION < POPPLER_VERSION_ENCODE(0, 83, 0)
|
||||
delete globalParams;
|
||||
+#endif
|
||||
return image;
|
||||
}
|
||||
delete pdfDoc;
|
||||
+#if POPPLER_ENCODED_VERSION < POPPLER_VERSION_ENCODE(0, 83, 0)
|
||||
delete globalParams;
|
||||
+#endif
|
||||
}
|
||||
}
|
||||
return QImage();
|
||||
@@ -387,7 +397,11 @@ bool PdfPlug::convert(const QString& fn)
|
||||
qApp->processEvents();
|
||||
}
|
||||
|
||||
+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 83, 0)
|
||||
+ globalParams.reset(new GlobalParams());
|
||||
+#else
|
||||
globalParams = new GlobalParams();
|
||||
+#endif
|
||||
GooString *userPW = nullptr;
|
||||
if (globalParams)
|
||||
{
|
||||
@@ -429,7 +443,9 @@ bool PdfPlug::convert(const QString& fn)
|
||||
if (progressDialog)
|
||||
progressDialog->close();
|
||||
delete pdfDoc;
|
||||
+#if POPPLER_ENCODED_VERSION < POPPLER_VERSION_ENCODE(0, 83, 0)
|
||||
delete globalParams;
|
||||
+#endif
|
||||
return false;
|
||||
}
|
||||
if (progressDialog)
|
||||
@@ -474,7 +490,9 @@ bool PdfPlug::convert(const QString& fn)
|
||||
progressDialog->close();
|
||||
delete optImp;
|
||||
delete pdfDoc;
|
||||
+#if POPPLER_ENCODED_VERSION < POPPLER_VERSION_ENCODE(0, 83, 0)
|
||||
delete globalParams;
|
||||
+#endif
|
||||
return false;
|
||||
}
|
||||
pageString = optImp->getPagesString();
|
||||
@@ -838,11 +856,20 @@ bool PdfPlug::convert(const QString& fn)
|
||||
names = catDict.dictLookup("OpenAction");
|
||||
if (names.isDict())
|
||||
{
|
||||
+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 86, 0)
|
||||
+ std::unique_ptr<LinkAction> linkAction;
|
||||
+ linkAction = LinkAction::parseAction(&names, pdfDoc->getCatalog()->getBaseURI());
|
||||
+#else
|
||||
LinkAction *linkAction = nullptr;
|
||||
linkAction = LinkAction::parseAction(&names, pdfDoc->getCatalog()->getBaseURI());
|
||||
+#endif
|
||||
if (linkAction)
|
||||
{
|
||||
- LinkJavaScript *jsa = (LinkJavaScript*)linkAction;
|
||||
+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 86, 0)
|
||||
+ LinkJavaScript *jsa = (LinkJavaScript*) linkAction.get();
|
||||
+#else
|
||||
+ LinkJavaScript *jsa = (LinkJavaScript*) linkAction;
|
||||
+#endif
|
||||
if (jsa->isOk())
|
||||
{
|
||||
QString script = UnicodeParsedString(jsa->getScript());
|
||||
@@ -908,8 +935,12 @@ bool PdfPlug::convert(const QString& fn)
|
||||
}
|
||||
delete pdfDoc;
|
||||
}
|
||||
+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 83, 0)
|
||||
+ globalParams.release();
|
||||
+#else
|
||||
delete globalParams;
|
||||
globalParams = nullptr;
|
||||
+#endif
|
||||
|
||||
// qDebug() << "converting finished";
|
||||
// qDebug() << "Imported" << Elements.count() << "Elements";
|
||||
@@ -1046,3 +1077,43 @@ QString PdfPlug::UnicodeParsedString(POPPLER_CONST GooString *s1)
|
||||
}
|
||||
return result;
|
||||
}
|
||||
+
|
||||
+QString PdfPlug::UnicodeParsedString(const std::string& s1)
|
||||
+{
|
||||
+ if (s1.length() == 0)
|
||||
+ return QString();
|
||||
+ GBool isUnicode;
|
||||
+ int i;
|
||||
+ Unicode u;
|
||||
+ QString result;
|
||||
+ if ((s1.at(0) & 0xff) == 0xfe && (s1.length() > 1 && (s1.at(1) & 0xff) == 0xff))
|
||||
+ {
|
||||
+ isUnicode = gTrue;
|
||||
+ i = 2;
|
||||
+ result.reserve((s1.length() - 2) / 2);
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ isUnicode = gFalse;
|
||||
+ i = 0;
|
||||
+ result.reserve(s1.length());
|
||||
+ }
|
||||
+ while (i < s1.length())
|
||||
+ {
|
||||
+ if (isUnicode)
|
||||
+ {
|
||||
+ u = ((s1.at(i) & 0xff) << 8) | (s1.at(i+1) & 0xff);
|
||||
+ i += 2;
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ u = s1.at(i) & 0xff;
|
||||
+ ++i;
|
||||
+ }
|
||||
+ // #15616: imagemagick may write unicode strings incorrectly in PDF
|
||||
+ if (u == 0)
|
||||
+ continue;
|
||||
+ result += QChar( u );
|
||||
+ }
|
||||
+ return result;
|
||||
+}
|
||||
diff --git a/scribus/plugins/import/pdf/importpdf.h b/scribus/plugins/import/pdf/importpdf.h
|
||||
--- a/scribus/plugins/import/pdf/importpdf.h
|
||||
+++ b/scribus/plugins/import/pdf/importpdf.h
|
||||
@@ -82,6 +82,7 @@ private:
|
||||
bool convert(const QString& fn);
|
||||
QRectF getCBox(int box, int pgNum);
|
||||
QString UnicodeParsedString(POPPLER_CONST GooString *s1);
|
||||
+ QString UnicodeParsedString(const std::string& s1);
|
||||
|
||||
QList<PageItem*> Elements;
|
||||
double baseX, baseY;
|
||||
diff --git a/scribus/plugins/import/pdf/importpdfconfig.h b/scribus/plugins/import/pdf/importpdfconfig.h
|
||||
--- a/scribus/plugins/import/pdf/importpdfconfig.h
|
||||
+++ b/scribus/plugins/import/pdf/importpdfconfig.h
|
||||
@@ -52,4 +52,16 @@ for which a new license (GPL+exception) is in place.
|
||||
#define POPPLER_REF
|
||||
#endif
|
||||
|
||||
+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 82, 0)
|
||||
+#define POPPLER_CONST_082 const
|
||||
+#else
|
||||
+#define POPPLER_CONST_082
|
||||
+#endif
|
||||
+
|
||||
+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 83, 0)
|
||||
+#define POPPLER_CONST_083 const
|
||||
+#else
|
||||
+#define POPPLER_CONST_083
|
||||
+#endif
|
||||
+
|
||||
#endif
|
||||
diff --git a/scribus/plugins/import/pdf/slaoutput.cpp b/scribus/plugins/import/pdf/slaoutput.cpp
|
||||
--- a/scribus/plugins/import/pdf/slaoutput.cpp
|
||||
+++ b/scribus/plugins/import/pdf/slaoutput.cpp
|
||||
@@ -308,9 +308,15 @@ LinkAction* SlaOutputDev::SC_getAction(AnnotWidget *ano)
|
||||
}
|
||||
|
||||
/* Replacement for the crippled Poppler function LinkAction* AnnotWidget::getAdditionalAction(AdditionalActionsType type) */
|
||||
+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 86, 0)
|
||||
+std::unique_ptr<LinkAction> SlaOutputDev::SC_getAdditionalAction(const char *key, AnnotWidget *ano)
|
||||
+{
|
||||
+ std::unique_ptr<LinkAction> linkAction;
|
||||
+#else
|
||||
LinkAction* SlaOutputDev::SC_getAdditionalAction(const char *key, AnnotWidget *ano)
|
||||
{
|
||||
LinkAction *linkAction = nullptr;
|
||||
+#endif
|
||||
Object obj;
|
||||
Ref refa = ano->getRef();
|
||||
|
||||
@@ -455,7 +461,11 @@ bool SlaOutputDev::handleLinkAnnot(Annot* annota, double xCoor, double yCoor, do
|
||||
POPPLER_CONST GooString *ndst = gto->getNamedDest();
|
||||
if (ndst)
|
||||
{
|
||||
+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 86, 0)
|
||||
+ std::unique_ptr<LinkDest> dstn = pdfDoc->findDest(ndst);
|
||||
+#else
|
||||
LinkDest *dstn = pdfDoc->findDest(ndst);
|
||||
+#endif
|
||||
if (dstn)
|
||||
{
|
||||
if (dstn->getKind() == destXYZ)
|
||||
@@ -499,7 +509,11 @@ bool SlaOutputDev::handleLinkAnnot(Annot* annota, double xCoor, double yCoor, do
|
||||
POPPLER_CONST GooString *ndst = gto->getNamedDest();
|
||||
if (ndst)
|
||||
{
|
||||
+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 86, 0)
|
||||
+ std::unique_ptr<LinkDest> dstn = pdfDoc->findDest(ndst);
|
||||
+#else
|
||||
LinkDest *dstn = pdfDoc->findDest(ndst);
|
||||
+#endif
|
||||
if (dstn)
|
||||
{
|
||||
if (dstn->getKind() == destXYZ)
|
||||
@@ -967,7 +981,11 @@ void SlaOutputDev::handleActions(PageItem* ite, AnnotWidget *ano)
|
||||
POPPLER_CONST GooString *ndst = gto->getNamedDest();
|
||||
if (ndst)
|
||||
{
|
||||
+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 86, 0)
|
||||
+ std::unique_ptr<LinkDest> dstn = pdfDoc->findDest(ndst);
|
||||
+#else
|
||||
LinkDest *dstn = pdfDoc->findDest(ndst);
|
||||
+#endif
|
||||
if (dstn)
|
||||
{
|
||||
if (dstn->getKind() == destXYZ)
|
||||
@@ -1019,7 +1037,11 @@ void SlaOutputDev::handleActions(PageItem* ite, AnnotWidget *ano)
|
||||
POPPLER_CONST GooString *ndst = gto->getNamedDest();
|
||||
if (ndst)
|
||||
{
|
||||
+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 86, 0)
|
||||
+ std::unique_ptr<LinkDest> dstn = pdfDoc->findDest(ndst);
|
||||
+#else
|
||||
LinkDest *dstn = pdfDoc->findDest(ndst);
|
||||
+#endif
|
||||
if (dstn)
|
||||
{
|
||||
if (dstn->getKind() == destXYZ)
|
||||
@@ -1088,96 +1110,148 @@ void SlaOutputDev::handleActions(PageItem* ite, AnnotWidget *ano)
|
||||
else
|
||||
qDebug() << "Found unsupported Action of type" << Lact->getKind();
|
||||
}
|
||||
- LinkAction *Aact = SC_getAdditionalAction("D", ano);
|
||||
+ auto Aact = SC_getAdditionalAction("D", ano);
|
||||
if (Aact)
|
||||
{
|
||||
if (Aact->getKind() == actionJavaScript)
|
||||
{
|
||||
- LinkJavaScript *jsa = (LinkJavaScript*)Aact;
|
||||
+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 86, 0)
|
||||
+ LinkJavaScript *jsa = (LinkJavaScript*) Aact.get();
|
||||
+#else
|
||||
+ LinkJavaScript *jsa = (LinkJavaScript*) Aact;
|
||||
+#endif
|
||||
if (jsa->isOk())
|
||||
{
|
||||
ite->annotation().setD_act(UnicodeParsedString(jsa->getScript()));
|
||||
ite->annotation().setAAact(true);
|
||||
}
|
||||
}
|
||||
+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 86, 0)
|
||||
+ Aact.reset();
|
||||
+#else
|
||||
Aact = nullptr;
|
||||
+#endif
|
||||
}
|
||||
Aact = SC_getAdditionalAction("E", ano);
|
||||
if (Aact)
|
||||
{
|
||||
if (Aact->getKind() == actionJavaScript)
|
||||
{
|
||||
- LinkJavaScript *jsa = (LinkJavaScript*)Aact;
|
||||
+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 86, 0)
|
||||
+ LinkJavaScript *jsa = (LinkJavaScript*) Aact.get();
|
||||
+#else
|
||||
+ LinkJavaScript *jsa = (LinkJavaScript*) Aact;
|
||||
+#endif
|
||||
if (jsa->isOk())
|
||||
{
|
||||
ite->annotation().setE_act(UnicodeParsedString(jsa->getScript()));
|
||||
ite->annotation().setAAact(true);
|
||||
}
|
||||
}
|
||||
+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 86, 0)
|
||||
+ Aact.reset();
|
||||
+#else
|
||||
Aact = nullptr;
|
||||
+#endif
|
||||
}
|
||||
Aact = SC_getAdditionalAction("X", ano);
|
||||
if (Aact)
|
||||
{
|
||||
if (Aact->getKind() == actionJavaScript)
|
||||
{
|
||||
- LinkJavaScript *jsa = (LinkJavaScript*)Aact;
|
||||
+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 86, 0)
|
||||
+ LinkJavaScript *jsa = (LinkJavaScript*) Aact.get();
|
||||
+#else
|
||||
+ LinkJavaScript *jsa = (LinkJavaScript*) Aact;
|
||||
+#endif
|
||||
if (jsa->isOk())
|
||||
{
|
||||
ite->annotation().setX_act(UnicodeParsedString(jsa->getScript()));
|
||||
ite->annotation().setAAact(true);
|
||||
}
|
||||
}
|
||||
+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 86, 0)
|
||||
+ Aact.reset();
|
||||
+#else
|
||||
Aact = nullptr;
|
||||
+#endif
|
||||
}
|
||||
Aact = SC_getAdditionalAction("Fo", ano);
|
||||
if (Aact)
|
||||
{
|
||||
if (Aact->getKind() == actionJavaScript)
|
||||
{
|
||||
- LinkJavaScript *jsa = (LinkJavaScript*)Aact;
|
||||
+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 86, 0)
|
||||
+ LinkJavaScript *jsa = (LinkJavaScript*) Aact.get();
|
||||
+#else
|
||||
+ LinkJavaScript *jsa = (LinkJavaScript*) Aact;
|
||||
+#endif
|
||||
if (jsa->isOk())
|
||||
{
|
||||
ite->annotation().setFo_act(UnicodeParsedString(jsa->getScript()));
|
||||
ite->annotation().setAAact(true);
|
||||
}
|
||||
}
|
||||
+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 86, 0)
|
||||
+ Aact.reset();
|
||||
+#else
|
||||
Aact = nullptr;
|
||||
+#endif
|
||||
}
|
||||
Aact = SC_getAdditionalAction("Bl", ano);
|
||||
if (Aact)
|
||||
{
|
||||
if (Aact->getKind() == actionJavaScript)
|
||||
{
|
||||
- LinkJavaScript *jsa = (LinkJavaScript*)Aact;
|
||||
+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 86, 0)
|
||||
+ LinkJavaScript *jsa = (LinkJavaScript*) Aact.get();
|
||||
+#else
|
||||
+ LinkJavaScript *jsa = (LinkJavaScript*) Aact;
|
||||
+#endif
|
||||
if (jsa->isOk())
|
||||
{
|
||||
ite->annotation().setBl_act(UnicodeParsedString(jsa->getScript()));
|
||||
ite->annotation().setAAact(true);
|
||||
}
|
||||
}
|
||||
+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 86, 0)
|
||||
+ Aact.reset();
|
||||
+#else
|
||||
Aact = nullptr;
|
||||
+#endif
|
||||
}
|
||||
Aact = SC_getAdditionalAction("C", ano);
|
||||
if (Aact)
|
||||
{
|
||||
if (Aact->getKind() == actionJavaScript)
|
||||
{
|
||||
- LinkJavaScript *jsa = (LinkJavaScript*)Aact;
|
||||
+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 86, 0)
|
||||
+ LinkJavaScript *jsa = (LinkJavaScript*) Aact.get();
|
||||
+#else
|
||||
+ LinkJavaScript *jsa = (LinkJavaScript*) Aact;
|
||||
+#endif
|
||||
if (jsa->isOk())
|
||||
{
|
||||
ite->annotation().setC_act(UnicodeParsedString(jsa->getScript()));
|
||||
ite->annotation().setAAact(true);
|
||||
}
|
||||
}
|
||||
+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 86, 0)
|
||||
+ Aact.reset();
|
||||
+#else
|
||||
Aact = nullptr;
|
||||
+#endif
|
||||
}
|
||||
Aact = SC_getAdditionalAction("F", ano);
|
||||
if (Aact)
|
||||
{
|
||||
if (Aact->getKind() == actionJavaScript)
|
||||
{
|
||||
- LinkJavaScript *jsa = (LinkJavaScript*)Aact;
|
||||
+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 86, 0)
|
||||
+ LinkJavaScript *jsa = (LinkJavaScript*) Aact.get();
|
||||
+#else
|
||||
+ LinkJavaScript *jsa = (LinkJavaScript*) Aact;
|
||||
+#endif
|
||||
if (jsa->isOk())
|
||||
{
|
||||
ite->annotation().setF_act(UnicodeParsedString(jsa->getScript()));
|
||||
@@ -1185,14 +1259,22 @@ void SlaOutputDev::handleActions(PageItem* ite, AnnotWidget *ano)
|
||||
ite->annotation().setFormat(5);
|
||||
}
|
||||
}
|
||||
+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 86, 0)
|
||||
+ Aact.reset();
|
||||
+#else
|
||||
Aact = nullptr;
|
||||
+#endif
|
||||
}
|
||||
Aact = SC_getAdditionalAction("K", ano);
|
||||
if (Aact)
|
||||
{
|
||||
if (Aact->getKind() == actionJavaScript)
|
||||
{
|
||||
- LinkJavaScript *jsa = (LinkJavaScript*)Aact;
|
||||
+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 86, 0)
|
||||
+ LinkJavaScript *jsa = (LinkJavaScript*) Aact.get();
|
||||
+#else
|
||||
+ LinkJavaScript *jsa = (LinkJavaScript*) Aact;
|
||||
+#endif
|
||||
if (jsa->isOk())
|
||||
{
|
||||
ite->annotation().setK_act(UnicodeParsedString(jsa->getScript()));
|
||||
@@ -1200,21 +1282,33 @@ void SlaOutputDev::handleActions(PageItem* ite, AnnotWidget *ano)
|
||||
ite->annotation().setFormat(5);
|
||||
}
|
||||
}
|
||||
+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 86, 0)
|
||||
+ Aact.reset();
|
||||
+#else
|
||||
Aact = nullptr;
|
||||
+#endif
|
||||
}
|
||||
Aact = SC_getAdditionalAction("V", ano);
|
||||
if (Aact)
|
||||
{
|
||||
if (Aact->getKind() == actionJavaScript)
|
||||
{
|
||||
- LinkJavaScript *jsa = (LinkJavaScript*)Aact;
|
||||
+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 86, 0)
|
||||
+ LinkJavaScript *jsa = (LinkJavaScript*) Aact.get();
|
||||
+#else
|
||||
+ LinkJavaScript *jsa = (LinkJavaScript*) Aact;
|
||||
+#endif
|
||||
if (jsa->isOk())
|
||||
{
|
||||
ite->annotation().setV_act(UnicodeParsedString(jsa->getScript()));
|
||||
ite->annotation().setAAact(true);
|
||||
}
|
||||
}
|
||||
+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 86, 0)
|
||||
+ Aact.reset();
|
||||
+#else
|
||||
Aact = nullptr;
|
||||
+#endif
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1224,6 +1318,11 @@ void SlaOutputDev::startDoc(PDFDoc *doc, XRef *xrefA, Catalog *catA)
|
||||
catalog = catA;
|
||||
pdfDoc = doc;
|
||||
updateGUICounter = 0;
|
||||
+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 84, 0)
|
||||
+ m_fontEngine = new SplashFontEngine(true, true, true, true);
|
||||
+#elif POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 61, 0)
|
||||
+ m_fontEngine = new SplashFontEngine(globalParams->getEnableFreeType(), true, true, true);
|
||||
+#else
|
||||
m_fontEngine = new SplashFontEngine(
|
||||
#if HAVE_T1LIB_H
|
||||
globalParams->getEnableT1lib(),
|
||||
@@ -1234,6 +1333,7 @@ void SlaOutputDev::startDoc(PDFDoc *doc, XRef *xrefA, Catalog *catA)
|
||||
true,
|
||||
#endif
|
||||
true);
|
||||
+#endif
|
||||
}
|
||||
|
||||
void SlaOutputDev::startPage(int pageNum, GfxState *, XRef *)
|
||||
@@ -2784,7 +2884,7 @@ void SlaOutputDev::drawMaskedImage(GfxState *state, Object *ref, Stream *str, i
|
||||
delete[] mbuffer;
|
||||
}
|
||||
|
||||
-void SlaOutputDev::drawImage(GfxState *state, Object *ref, Stream *str, int width, int height, GfxImageColorMap *colorMap, GBool interpolate, int *maskColors, GBool inlineImg)
|
||||
+void SlaOutputDev::drawImage(GfxState *state, Object *ref, Stream *str, int width, int height, GfxImageColorMap *colorMap, GBool interpolate, POPPLER_CONST_082 int* maskColors, GBool inlineImg)
|
||||
{
|
||||
ImageStream * imgStr = new ImageStream(str, width, colorMap->getNumPixelComps(), colorMap->getBits());
|
||||
// qDebug() << "Image Components" << colorMap->getNumPixelComps() << "Mask" << maskColors;
|
||||
@@ -3365,7 +3465,7 @@ err1:
|
||||
fontsrc->unref();
|
||||
}
|
||||
|
||||
-void SlaOutputDev::drawChar(GfxState *state, double x, double y, double dx, double dy, double originX, double originY, CharCode code, int nBytes, Unicode *u, int uLen)
|
||||
+void SlaOutputDev::drawChar(GfxState *state, double x, double y, double dx, double dy, double originX, double originY, CharCode code, int nBytes, POPPLER_CONST_082 Unicode *u, int uLen)
|
||||
{
|
||||
double x1, y1, x2, y2;
|
||||
int render;
|
||||
@@ -3452,7 +3552,7 @@ void SlaOutputDev::drawChar(GfxState *state, double x, double y, double dx, doub
|
||||
}
|
||||
}
|
||||
|
||||
-GBool SlaOutputDev::beginType3Char(GfxState *state, double x, double y, double dx, double dy, CharCode code, Unicode *u, int uLen)
|
||||
+GBool SlaOutputDev::beginType3Char(GfxState *state, double x, double y, double dx, double dy, CharCode code, POPPLER_CONST_082 Unicode *u, int uLen)
|
||||
{
|
||||
// qDebug() << "beginType3Char";
|
||||
GfxFont *gfxFont;
|
||||
@@ -3705,7 +3805,7 @@ QString SlaOutputDev::getAnnotationColor(const AnnotColor *color)
|
||||
return fNam;
|
||||
}
|
||||
|
||||
-QString SlaOutputDev::convertPath(GfxPath *path)
|
||||
+QString SlaOutputDev::convertPath(POPPLER_CONST_083 GfxPath *path)
|
||||
{
|
||||
if (! path)
|
||||
return QString();
|
||||
@@ -3715,7 +3815,7 @@ QString SlaOutputDev::convertPath(GfxPath *path)
|
||||
|
||||
for (int i = 0; i < path->getNumSubpaths(); ++i)
|
||||
{
|
||||
- GfxSubpath * subpath = path->getSubpath(i);
|
||||
+ POPPLER_CONST_083 GfxSubpath * subpath = path->getSubpath(i);
|
||||
if (subpath->getNumPoints() > 0)
|
||||
{
|
||||
output += QString("M %1 %2").arg(subpath->getX(0)).arg(subpath->getY(0));
|
||||
@@ -3922,6 +4022,46 @@ QString SlaOutputDev::UnicodeParsedString(POPPLER_CONST GooString *s1)
|
||||
return result;
|
||||
}
|
||||
|
||||
+QString SlaOutputDev::UnicodeParsedString(const std::string& s1)
|
||||
+{
|
||||
+ if (s1.length() == 0)
|
||||
+ return QString();
|
||||
+ GBool isUnicode;
|
||||
+ int i;
|
||||
+ Unicode u;
|
||||
+ QString result;
|
||||
+ if ((s1.at(0) & 0xff) == 0xfe && (s1.length() > 1 && (s1.at(1) & 0xff) == 0xff))
|
||||
+ {
|
||||
+ isUnicode = gTrue;
|
||||
+ i = 2;
|
||||
+ result.reserve((s1.length() - 2) / 2);
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ isUnicode = gFalse;
|
||||
+ i = 0;
|
||||
+ result.reserve(s1.length());
|
||||
+ }
|
||||
+ while (i < s1.length())
|
||||
+ {
|
||||
+ if (isUnicode)
|
||||
+ {
|
||||
+ u = ((s1.at(i) & 0xff) << 8) | (s1.at(i+1) & 0xff);
|
||||
+ i += 2;
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ u = s1.at(i) & 0xff;
|
||||
+ ++i;
|
||||
+ }
|
||||
+ // #15616: imagemagick may write unicode strings incorrectly in PDF
|
||||
+ if (u == 0)
|
||||
+ continue;
|
||||
+ result += QChar( u );
|
||||
+ }
|
||||
+ return result;
|
||||
+}
|
||||
+
|
||||
bool SlaOutputDev::checkClip()
|
||||
{
|
||||
bool ret = false;
|
||||
diff --git a/scribus/plugins/import/pdf/slaoutput.h b/scribus/plugins/import/pdf/slaoutput.h
|
||||
--- a/scribus/plugins/import/pdf/slaoutput.h
|
||||
+++ b/scribus/plugins/import/pdf/slaoutput.h
|
||||
@@ -20,6 +20,8 @@ for which a new license (GPL+exception) is in place.
|
||||
#include <QTextStream>
|
||||
#include <QTransform>
|
||||
|
||||
+#include <memory>
|
||||
+
|
||||
#include "fpointarray.h"
|
||||
#include "importpdfconfig.h"
|
||||
#include "pageitem.h"
|
||||
@@ -159,7 +161,11 @@ public:
|
||||
virtual ~SlaOutputDev();
|
||||
|
||||
LinkAction* SC_getAction(AnnotWidget *ano);
|
||||
+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 86, 0)
|
||||
+ std::unique_ptr<LinkAction> SC_getAdditionalAction(const char *key, AnnotWidget *ano);
|
||||
+#else
|
||||
LinkAction* SC_getAdditionalAction(const char *key, AnnotWidget *ano);
|
||||
+#endif
|
||||
static GBool annotations_callback(Annot *annota, void *user_data);
|
||||
bool handleTextAnnot(Annot* annota, double xCoor, double yCoor, double width, double height);
|
||||
bool handleLinkAnnot(Annot* annota, double xCoor, double yCoor, double width, double height);
|
||||
@@ -229,7 +235,7 @@ public:
|
||||
|
||||
//----- image drawing
|
||||
void drawImageMask(GfxState *state, Object *ref, Stream *str, int width, int height, GBool invert, GBool interpolate, GBool inlineImg) override;
|
||||
- void drawImage(GfxState *state, Object *ref, Stream *str, int width, int height, GfxImageColorMap *colorMap, GBool interpolate, int *maskColors, GBool inlineImg) override;
|
||||
+ void drawImage(GfxState *state, Object *ref, Stream *str, int width, int height, GfxImageColorMap *colorMap, GBool interpolate, POPPLER_CONST_082 int *maskColors, GBool inlineImg) override;
|
||||
void drawSoftMaskedImage(GfxState *state, Object *ref, Stream *str,
|
||||
int width, int height,
|
||||
GfxImageColorMap *colorMap,
|
||||
@@ -261,8 +267,8 @@ public:
|
||||
//----- text drawing
|
||||
void beginTextObject(GfxState *state) override;
|
||||
void endTextObject(GfxState *state) override;
|
||||
- void drawChar(GfxState *state, double /*x*/, double /*y*/, double /*dx*/, double /*dy*/, double /*originX*/, double /*originY*/, CharCode /*code*/, int /*nBytes*/, Unicode * /*u*/, int /*uLen*/) override;
|
||||
- GBool beginType3Char(GfxState * /*state*/, double /*x*/, double /*y*/, double /*dx*/, double /*dy*/, CharCode /*code*/, Unicode * /*u*/, int /*uLen*/) override;
|
||||
+ void drawChar(GfxState *state, double /*x*/, double /*y*/, double /*dx*/, double /*dy*/, double /*originX*/, double /*originY*/, CharCode /*code*/, int /*nBytes*/, POPPLER_CONST_082 Unicode * /*u*/, int /*uLen*/) override;
|
||||
+ GBool beginType3Char(GfxState * /*state*/, double /*x*/, double /*y*/, double /*dx*/, double /*dy*/, CharCode /*code*/, POPPLER_CONST_082 Unicode * /*u*/, int /*uLen*/) override;
|
||||
void endType3Char(GfxState * /*state*/) override;
|
||||
void type3D0(GfxState * /*state*/, double /*wx*/, double /*wy*/) override;
|
||||
void type3D1(GfxState * /*state*/, double /*wx*/, double /*wy*/, double /*llx*/, double /*lly*/, double /*urx*/, double /*ury*/) override;
|
||||
@@ -282,11 +288,12 @@ private:
|
||||
void getPenState(GfxState *state);
|
||||
QString getColor(GfxColorSpace *color_space, POPPLER_CONST_070 GfxColor *color, int *shade);
|
||||
QString getAnnotationColor(const AnnotColor *color);
|
||||
- QString convertPath(GfxPath *path);
|
||||
+ QString convertPath(POPPLER_CONST_083 GfxPath *path);
|
||||
int getBlendMode(GfxState *state);
|
||||
void applyMask(PageItem *ite);
|
||||
void pushGroup(const QString& maskName = "", GBool forSoftMask = gFalse, GBool alpha = gFalse, bool inverted = false);
|
||||
QString UnicodeParsedString(POPPLER_CONST GooString *s1);
|
||||
+ QString UnicodeParsedString(const std::string& s1);
|
||||
bool checkClip();
|
||||
bool pathIsClosed;
|
||||
QString CurrColorFill;
|
|
@ -1,25 +0,0 @@
|
|||
Description: Avoid error messages when opening a new tomb
|
||||
Make sure control file exists and has user ownership before user writes to it.
|
||||
Author: Sven Geuer <debmaint@g-e-u-e-r.de>
|
||||
Bug: https://github.com/dyne/Tomb/issues/369
|
||||
Last-Update: 2019-11-04
|
||||
--- a/tomb
|
||||
+++ b/tomb
|
||||
@@ -2197,14 +2197,15 @@
|
||||
# {{{ Open
|
||||
|
||||
_update_control_file() {
|
||||
- # replaces a control file with new contents and gives it user ownership
|
||||
+ # make sure a control file exists, gives it user ownership
|
||||
+ # and replaces it with new contents
|
||||
# stdin = contents
|
||||
# $1 = path to control file
|
||||
# $2 = contents
|
||||
[[ "$2" = "" ]] && return 1
|
||||
_sudo touch "$1"
|
||||
- print "$2" > "$1"
|
||||
_sudo chown ${_UID}:${_GID} "$1"
|
||||
+ print "$2" > "$1"
|
||||
_verbose "updated control file $1 = $2"
|
||||
}
|
||||
|
|
@ -1261,7 +1261,7 @@ (define-public pdfgrep
|
|||
(define-public pdfpc
|
||||
(package
|
||||
(name "pdfpc")
|
||||
(version "4.4.0")
|
||||
(version "4.4.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -1270,7 +1270,7 @@ (define-public pdfpc
|
|||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0vh2r32akvasdrghkaq7ard24r2qncp34jfiyshi3zxabm9bhfaa"))))
|
||||
(base32 "11n925c5jj3yfwnqkgxzqrmsrpqh8ls1g4idmqqzpsanpam1xvna"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments '(#:tests? #f)) ; no test target
|
||||
(inputs
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
;;; Copyright © 2018 Tomáš Čech <sleep_walker@gnu.org>
|
||||
;;; Copyright © 2018, 2019 Nicolas Goaziou <mail@nicolasgoaziou.fr>
|
||||
;;; Copyright © 2018 Mathieu Othacehe <m.othacehe@gmail.com>
|
||||
;;; Copyright © 2018 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;; Copyright © 2018, 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;; Copyright © 2019 Vagrant Cascadian <vagrant@debian.org>
|
||||
;;; Copyright © 2019 Brendan Tildesley <mail@brendan.scot>
|
||||
;;; Copyright © 2019 Pierre Langlois <pierre.langlois@gmx.com>
|
||||
|
@ -2898,21 +2898,30 @@ (define-public python-flask-basicauth
|
|||
(name "python-flask-basicauth")
|
||||
(version "0.2.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "Flask-BasicAuth" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1zq1spkjr4sjdnalpp8wl242kdqyk6fhbnhr8hi4r4f0km4bspnz"))))
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "Flask-BasicAuth" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1zq1spkjr4sjdnalpp8wl242kdqyk6fhbnhr8hi4r4f0km4bspnz"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:phases (modify-phases %standard-phases
|
||||
(add-after 'unpack 'fix-imports
|
||||
(lambda _
|
||||
(substitute* '("docs/index.rst"
|
||||
"docs/conf.py"
|
||||
"flask_basicauth.py"
|
||||
"test_basicauth.py")
|
||||
(("flask\\.ext\\.basicauth")
|
||||
"flask_basicauth"))
|
||||
#t)))))
|
||||
(propagated-inputs
|
||||
`(("python-flask" ,python-flask)))
|
||||
(home-page
|
||||
"https://github.com/jpvanhal/flask-basicauth")
|
||||
(synopsis
|
||||
"HTTP basic access authentication for Flask")
|
||||
(home-page "https://github.com/jpvanhal/flask-basicauth")
|
||||
(synopsis "HTTP basic access authentication for Flask")
|
||||
(description
|
||||
"This package provides HTTP basic access authentication for Flask.")
|
||||
"This package provides HTTP basic access authentication for Flask.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public python-flask-htpasswd
|
||||
|
|
|
@ -90,6 +90,7 @@
|
|||
;;; Copyright © 2020 Bonface Munyoki Kilyungi <bonfacemunyoki@gmail.com>
|
||||
;;; Copyright © 2020 Ekaitz Zarraga <ekaitz@elenq.tech>
|
||||
;;; Copyright © 2020 Diego N. Barbato <dnbarbato@posteo.de>
|
||||
;;; Copyright © 2020 Leo Prikler <leo.prikler@student.tugraz.at>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -17200,14 +17201,14 @@ (define-public python-semver
|
|||
(base32
|
||||
"183kg1rhzz3hqizvphkd8hlbf1zxfx8737zhfkmqzxi71jmdw7pd"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:phases (modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda _
|
||||
(delete-file "setup.cfg")
|
||||
(invoke "py.test"))))))
|
||||
(native-inputs
|
||||
`(("python-appdirs" ,python-appdirs)
|
||||
("python-distlib" ,python-distlib)
|
||||
("python-importlib-metadata" ,python-importlib-metadata)
|
||||
("python-filelock" ,python-filelock)
|
||||
("python-six" ,python-six)
|
||||
("python-tox" ,python-tox)
|
||||
("python-virtualenv" ,python-virtualenv)))
|
||||
`(("python-pytest" ,python-pytest)))
|
||||
(home-page "https://github.com/k-bx/python-semver")
|
||||
(synopsis "Python helper for Semantic Versioning")
|
||||
(description "This package provides a Python library for
|
||||
|
@ -18246,6 +18247,109 @@ (define-public python-gipc
|
|||
(define-public python2-gipc
|
||||
(package-with-python2 python-gipc))
|
||||
|
||||
(define-public python-beautifultable
|
||||
(package
|
||||
(name "python-beautifultable")
|
||||
(version "1.0.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "beautifultable" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0wwlbifcbpzy3wfv6yzsxncarsngzizmmxbn6cy5gazlcq7h4k5x"))))
|
||||
(build-system python-build-system)
|
||||
(propagated-inputs
|
||||
`(("python-wcwidth" ,python-wcwidth)))
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-setup.py
|
||||
(lambda _
|
||||
(substitute* "setup.py"
|
||||
(("setup\\(")
|
||||
"setup(\n test_suite=\"test\",")))))))
|
||||
(home-page "https://github.com/pri22296/beautifultable")
|
||||
(synopsis "Print ASCII tables for terminals")
|
||||
(description "@code{python-beautifultable} provides a class for easily
|
||||
printing tabular data in a visually appealing ASCII format to a terminal.
|
||||
|
||||
Features include, but are not limited to:
|
||||
@itemize
|
||||
@item Full customization of the look and feel of the table
|
||||
@item Row and column accessors.
|
||||
@item Full support for colors using ANSI sequences or any library.
|
||||
@item Plenty of predefined styles and option to create custom ones.
|
||||
@item Support for Unicode characters.
|
||||
@item Supports streaming table when data is slow to retrieve.
|
||||
@end itemize")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public python-globber
|
||||
(package
|
||||
(name "python-globber")
|
||||
(version "0.2.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/asharov/globber")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"055xf7ja7zjhxis0ab5fnfsx16fsvr5fvc6mixqybanwxh8sgfjk"))))
|
||||
(build-system python-build-system)
|
||||
(home-page "https://github.com/asharov/globber")
|
||||
(synopsis "Library for string matching with glob patterns")
|
||||
(description
|
||||
"Globber is a Python library for matching file names against glob patterns.
|
||||
In contrast to other glob-matching libraries, it matches arbitrary strings and
|
||||
doesn't require the matched names to be existing files. In addition, it
|
||||
supports the globstar @code{**} operator to match an arbitrary number of
|
||||
path components.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public python-git-hammer
|
||||
(package
|
||||
(name "python-git-hammer")
|
||||
(version "0.3.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/asharov/git-hammer")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0f9xlk86ijzpdj25hr1q4wcy8k72v3w470ngwm9mpdkfj8ng84wr"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-setup.py
|
||||
(lambda _
|
||||
(substitute* "setup.py"
|
||||
(("setup\\(")
|
||||
"setup(\n test_suite=\"test\",")))))))
|
||||
(propagated-inputs
|
||||
`(("python-beautifultable" ,python-beautifultable)
|
||||
("python-dateutil" ,python-dateutil)
|
||||
("python-gitpython" ,python-gitpython)
|
||||
("python-globber" ,python-globber)
|
||||
("python-matplotlib" ,python-matplotlib)
|
||||
("python-sqlalchemy" ,python-sqlalchemy)
|
||||
("python-sqlalchemy-utils"
|
||||
,python-sqlalchemy-utils)))
|
||||
(home-page "https://github.com/asharov/git-hammer")
|
||||
(synopsis "Provide statistics for git repositories")
|
||||
(description
|
||||
"Git Hammer is a statistics tool for projects in git repositories.
|
||||
Its major feature is tracking the number of lines authored by each person for every
|
||||
commit, but it also includes some other useful statistics.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public python-fusepy
|
||||
(package
|
||||
(name "python-fusepy")
|
||||
|
@ -22533,6 +22637,41 @@ (define-public python-rnc2rng
|
|||
equivalent schemata in the XML-based default RELAX NG syntax.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public python-telethon
|
||||
(package
|
||||
(name "python-telethon")
|
||||
(version "1.17.5")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/LonamiWebs/Telethon")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0l9fhdrq576vllgi9aam45xzw5xi6jhgdv5zz8i4ygssdp7cm8jl"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
'(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(invoke "py.test" "-v"))
|
||||
#t)))))
|
||||
(propagated-inputs
|
||||
`(("python-rsa" ,python-rsa)
|
||||
("python-pyaes" ,python-pyaes)))
|
||||
(native-inputs
|
||||
`(("python-pytest" ,python-pytest)
|
||||
("python-pytest-asyncio" ,python-pytest-asyncio)
|
||||
("python-pytest-trio" ,python-pytest-trio)))
|
||||
(home-page "https://docs.telethon.dev")
|
||||
(synopsis "Full-featured Telegram client library for Python 3")
|
||||
(description "This library is designed to make it easy to write Python
|
||||
programs that can interact with Telegram.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public python-citeproc-py
|
||||
(package
|
||||
(name "python-citeproc-py")
|
||||
|
|
|
@ -577,14 +577,14 @@ (define-public gqrx
|
|||
(define-public fldigi
|
||||
(package
|
||||
(name "fldigi")
|
||||
(version "4.1.15")
|
||||
(version "4.1.16")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://www.w1hkj.com/files/fldigi/fldigi-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "1fzbcv2dgg6byb2l8m2d6i69yn0a44pq52mpmms756jdf6z622i6"))))
|
||||
(base32 "1dfkvhs0ri5kbyskk730ik8ix5z138qys26b31p6kixd8jjkw3k4"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
;;; Copyright © 2017, 2018 Nicolas Goaziou <mail@nicolasgoaziou.fr>
|
||||
;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org>
|
||||
;;; Copyright © 2019 Marius Bakke <mbakke@fastmail.com>
|
||||
;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -48,16 +49,14 @@ (define-module (gnu packages scribus)
|
|||
(define-public scribus
|
||||
(package
|
||||
(name "scribus")
|
||||
(version "1.5.5")
|
||||
(version "1.5.6.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/scribus/scribus-devel/"
|
||||
version "/scribus-" version ".tar.xz"))
|
||||
(patches (search-patches "scribus-1.5.5-poppler-0.86-build-fix.patch"))
|
||||
(sha256
|
||||
(base32
|
||||
"0w9zzsiaq3f7vpxybk01c9z2b4qqg67mzpyfb2gjchz8dhdb423r"))))
|
||||
(base32 "1axp8ffnx3nh6k4s5mfa9gbx8d0yql2azgcampg41ylwafapc9fl"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ;no test target
|
||||
|
@ -99,7 +98,7 @@ (define-public scribus
|
|||
("openssl" ,openssl)
|
||||
("podofo" ,podofo)
|
||||
("poppler" ,poppler)
|
||||
("python" ,python-2) ;need Python library
|
||||
("python" ,python) ; need Python library
|
||||
("qtbase" ,qtbase)
|
||||
("qtdeclarative" ,qtdeclarative)
|
||||
("zlib" ,zlib)))
|
||||
|
|
|
@ -391,6 +391,16 @@ (define-public git
|
|||
(install-file "contrib/subtree/git-subtree.1"
|
||||
(string-append subtree "/share/man/man1"))
|
||||
#t)))
|
||||
(add-after 'install 'restore-sample-hooks-shebang
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(dir (string-append out "/share/git-core/templates/hooks")))
|
||||
(for-each (lambda (file)
|
||||
(format #t "restoring shebang on `~a'~%" file)
|
||||
(substitute* file
|
||||
(("^#!.*/bin/sh") "#!/bin/sh")))
|
||||
(find-files dir ".*"))
|
||||
#t)))
|
||||
(add-after 'install 'split
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
;; Split the binaries to the various outputs.
|
||||
|
|
|
@ -2188,14 +2188,14 @@ (define-public libvpx
|
|||
(define-public youtube-dl
|
||||
(package
|
||||
(name "youtube-dl")
|
||||
(version "2020.11.12")
|
||||
(version "2020.11.17")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://youtube-dl.org/downloads/latest/"
|
||||
"youtube-dl-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0c98sjaj6mvxnjp0qnwqbr6fibgb4dlizad2xvkiswf4g4h0pc5f"))))
|
||||
"0b0vsmvnm2jn1k66jmymzly0nb34nk79z97msns0sw0cqhbld1b2"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
;; The problem here is that the directory for the man page and completion
|
||||
|
@ -2653,7 +2653,7 @@ (define-public srt2vtt
|
|||
(define-public avidemux
|
||||
(package
|
||||
(name "avidemux")
|
||||
(version "2.7.4")
|
||||
(version "2.7.6")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
|
@ -2661,7 +2661,7 @@ (define-public avidemux
|
|||
"avidemux_" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1acdb3m37vdzzbm8mwyibcn8msi7birb5v30qfi7jli5r00src3x"))
|
||||
"1kwkn976ppahrcr74bnv6sqx75pzl9y21m1mvr5ksi1m6lgp924s"))
|
||||
(patches (search-patches "avidemux-install-to-lib.patch"))))
|
||||
(build-system cmake-build-system)
|
||||
(native-inputs
|
||||
|
@ -2679,6 +2679,7 @@ (define-public avidemux
|
|||
("glu" ,glu)
|
||||
("jack" ,jack-1)
|
||||
("lame" ,lame)
|
||||
("libaom" ,libaom)
|
||||
("libva" ,libva)
|
||||
("libvdpau" ,libvdpau)
|
||||
("libvorbis" ,libvorbis)
|
||||
|
@ -2693,7 +2694,7 @@ (define-public avidemux
|
|||
#:phases
|
||||
;; Make sure files inside the included ffmpeg tarball are
|
||||
;; patch-shebanged.
|
||||
(let ((ffmpeg "ffmpeg-4.1.4"))
|
||||
(let ((ffmpeg "ffmpeg-4.2.3"))
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'patch-source-shebangs 'unpack-ffmpeg
|
||||
(lambda _
|
||||
|
@ -3798,7 +3799,7 @@ (define-public atomicparsley
|
|||
(define-public livemedia-utils
|
||||
(package
|
||||
(name "livemedia-utils")
|
||||
(version "2019.05.29")
|
||||
(version "2020.11.05")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
|
@ -3806,11 +3807,12 @@ (define-public livemedia-utils
|
|||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"08i63jr8ihn1xiq5z5n3yls3yz6li5sg0s454l56p5bcvbrw81my"))))
|
||||
"1dx5imjil5yiya5dqlvbqkvzgic5pybsfilx5jz1cpi1znkzpgc9"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:tests? #f ; no tests
|
||||
#:make-flags (list "CC=gcc"
|
||||
`(#:tests? #f ; no tests
|
||||
#:make-flags (list (string-append "CC=" ,(cc-for-target))
|
||||
(string-append "CXX=" ,(cxx-for-target))
|
||||
(string-append "LDFLAGS=-Wl,-rpath="
|
||||
(assoc-ref %outputs "out") "/lib")
|
||||
(string-append "PREFIX="
|
||||
|
@ -3825,6 +3827,8 @@ (define-public livemedia-utils
|
|||
(lambda _
|
||||
(invoke "./genMakefiles"
|
||||
"linux-with-shared-libraries"))))))
|
||||
(inputs
|
||||
`(("openssl" ,openssl)))
|
||||
(home-page "http://www.live555.com/liveMedia/")
|
||||
(synopsis "Set of C++ libraries for multimedia streaming")
|
||||
(description "This code forms a set of C++ libraries for multimedia
|
||||
|
|
|
@ -1778,7 +1778,7 @@ (define-public bochs
|
|||
(define-public xen
|
||||
(package
|
||||
(name "xen")
|
||||
(version "4.13.0")
|
||||
(version "4.14.0")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -1787,7 +1787,7 @@ (define-public xen
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0py50n995gv909i0d1lfdcj9wcp5g1d5z6m2291jqqlfyany138g"))))
|
||||
"1s06zhzmkm7wylrxhas5v0sg2ackmmyw01gvv67r9idml55i0dh5"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
|
@ -1901,13 +1901,14 @@ (define (filter-environment! filter-predicate
|
|||
new-search-path ":")))
|
||||
(setenv env-name new-env-value)))
|
||||
environment-variable-names))
|
||||
(setenv "CROSS_CPATH" (getenv "CPATH"))
|
||||
(setenv "CROSS_C_INCLUDE_PATH" (getenv "C_INCLUDE_PATH"))
|
||||
(setenv "CROSS_CPLUS_INCLUDE_PATH" (getenv "CPLUS_INCLUDE_PATH"))
|
||||
(setenv "CROSS_LIBRARY_PATH" (getenv "LIBRARY_PATH"))
|
||||
(filter-environment! cross?
|
||||
'("CROSS_CPATH"
|
||||
'("CROSS_C_INCLUDE_PATH" "CROSS_CPLUS_INCLUDE_PATH"
|
||||
"CROSS_LIBRARY_PATH"))
|
||||
(filter-environment! (lambda (e) (not (cross? e)))
|
||||
'("CPATH"
|
||||
'("C_INCLUDE_PATH" "CPLUS_INCLUDE_PATH"
|
||||
"LIBRARY_PATH"))
|
||||
;; Guix tries to be helpful and automatically adds
|
||||
;; mini-os-git-checkout/include to the include path,
|
||||
|
@ -1916,7 +1917,7 @@ (define (filter-environment! filter-predicate
|
|||
(not
|
||||
(string-contains e
|
||||
"mini-os-git-checkout")))
|
||||
'("CPATH"
|
||||
'("C_INCLUDE_PATH" "CPLUS_INCLUDE_PATH"
|
||||
"LIBRARY_PATH"))
|
||||
(setenv "EFI_VENDOR" "guix")
|
||||
#t))
|
||||
|
|
|
@ -505,7 +505,7 @@ (define-public badvpn
|
|||
(define-public wireguard-linux-compat
|
||||
(package
|
||||
(name "wireguard-linux-compat")
|
||||
(version "1.0.20200623")
|
||||
(version "1.0.20201112")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://git.zx2c4.com/wireguard-linux-compat/"
|
||||
|
@ -513,12 +513,13 @@ (define-public wireguard-linux-compat
|
|||
".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0iclixsqfckaz6kz6a4lhzdary3xhfy1d0pz0pgrwy8m8mr3f28k"))))
|
||||
"1qcpg1rcmy4h529a0spjm50qgxjgjy20j29fpbrqsv5xq3qfgsl9"))))
|
||||
(build-system linux-module-build-system)
|
||||
(outputs '("out"
|
||||
"kernel-patch"))
|
||||
(arguments
|
||||
`(#:tests? #f ; No test suite
|
||||
`(#:linux ,linux-libre-5.4 ; mustn't have WG built-in
|
||||
#:tests? #f ; no test suite
|
||||
#:modules ((guix build linux-module-build-system)
|
||||
(guix build utils)
|
||||
(ice-9 popen)
|
||||
|
@ -538,7 +539,7 @@ (define-public wireguard-linux-compat
|
|||
(call-with-output-file "wireguard.patch"
|
||||
(lambda (port)
|
||||
(format port "~a" str))))
|
||||
#t))
|
||||
#t))
|
||||
(add-after 'install 'install-patch
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(install-file "wireguard.patch"
|
||||
|
|
|
@ -1424,7 +1424,7 @@ (module "tidy")
|
|||
(define-public esbuild
|
||||
(package
|
||||
(name "esbuild")
|
||||
(version "0.8.4")
|
||||
(version "0.8.7")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -1434,7 +1434,7 @@ (define-public esbuild
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0aaqyfnl4dncrpw8n2sqkkavx7ki7i2r9pdi82pp9syql3b5495y"))
|
||||
"14x95dmh4jrfp93p7ln0cv917qxll04sqzlpf9rl6w01fifr2s75"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
|
|
|
@ -843,7 +843,7 @@ (define-public xbanish
|
|||
(define-public xlockmore
|
||||
(package
|
||||
(name "xlockmore")
|
||||
(version "5.62")
|
||||
(version "5.66")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (list (string-append "http://sillycycle.com/xlock/"
|
||||
|
@ -854,7 +854,7 @@ (define-public xlockmore
|
|||
"xlockmore-" version ".tar.xz")))
|
||||
(sha256
|
||||
(base32
|
||||
"0b05wgj4mpssy4hd7km5c48i454dfg45p11mfmsr7xjd2gnz5gqi"))))
|
||||
"0wdb7gpyjw3sigmhiplgg1bqxz6wipr0c3n9492x2a18cv1saxjr"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:configure-flags (list (string-append "--enable-appdefaultdir="
|
||||
|
|
|
@ -6076,17 +6076,17 @@ (define-public xmessage
|
|||
(define-public xterm
|
||||
(package
|
||||
(name "xterm")
|
||||
(version "361")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (list
|
||||
(string-append "http://invisible-mirror.net/archives/xterm/"
|
||||
"xterm-" version ".tgz")
|
||||
(string-append "ftp://ftp.invisible-island.net/xterm/"
|
||||
"xterm-" version ".tgz")))
|
||||
(sha256
|
||||
(base32
|
||||
"0gv27akkfb796aww1snq3c2sxmi8vajgfxk83g60awp4slh0yqc5"))))
|
||||
(version "362")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (list
|
||||
(string-append "https://invisible-mirror.net/archives/xterm/"
|
||||
"xterm-" version ".tgz")
|
||||
(string-append "ftp://ftp.invisible-island.net/xterm/"
|
||||
"xterm-" version ".tgz")))
|
||||
(sha256
|
||||
(base32 "18mch57f5sypgfdbvna22ailcfpnixw0fc5wkf2j3w58dwigwkqx"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:configure-flags '("--enable-wide-chars" "--enable-load-vt-fonts"
|
||||
|
|
|
@ -106,6 +106,12 @@ (define-module (gnu services base)
|
|||
agetty-service-type
|
||||
|
||||
mingetty-configuration
|
||||
mingetty-configuration-tty
|
||||
mingetty-configuration-auto-login
|
||||
mingetty-configuration-login-program
|
||||
mingetty-configuration-login-pause?
|
||||
mingetty-configuration-clear-on-logout?
|
||||
mingetty-configuration-mingetty
|
||||
mingetty-configuration?
|
||||
mingetty-service
|
||||
mingetty-service-type
|
||||
|
|
|
@ -482,7 +482,7 @@ (define-configuration cups-configuration
|
|||
(package cups)
|
||||
"The CUPS package.")
|
||||
(extensions
|
||||
(package-list (list cups-filters))
|
||||
(package-list (list cups-filters escpr hplip-minimal foomatic-filters))
|
||||
"Drivers and other extensions to the CUPS package.")
|
||||
(files-configuration
|
||||
(files-configuration (files-configuration))
|
||||
|
|
|
@ -224,16 +224,21 @@ (define (assert-satisfied-requirements service)
|
|||
|
||||
(for-each assert-satisfied-requirements services))
|
||||
|
||||
(define %store-characters
|
||||
;; Valid store characters; see 'checkStoreName' in the daemon.
|
||||
(string->char-set
|
||||
"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz+-._?="))
|
||||
|
||||
(define (shepherd-service-file-name service)
|
||||
"Return the file name where the initialization code for SERVICE is to be
|
||||
stored."
|
||||
(let ((provisions (string-join (map symbol->string
|
||||
(shepherd-service-provision service)))))
|
||||
(string-append "shepherd-"
|
||||
(string-map (match-lambda
|
||||
(#\/ #\-)
|
||||
(#\ #\-)
|
||||
(chr chr))
|
||||
(string-map (lambda (chr)
|
||||
(if (char-set-contains? %store-characters chr)
|
||||
chr
|
||||
#\-))
|
||||
provisions)
|
||||
".scm")))
|
||||
|
||||
|
|
|
@ -273,16 +273,16 @@ (define-split-configuration openvpn-client-configuration
|
|||
"The device type used to represent the VPN connection.")
|
||||
|
||||
(ca
|
||||
(string "/etc/openvpn/ca.crt")
|
||||
(maybe-string "/etc/openvpn/ca.crt")
|
||||
"The certificate authority to check connections against.")
|
||||
|
||||
(cert
|
||||
(string "/etc/openvpn/client.crt")
|
||||
(maybe-string "/etc/openvpn/client.crt")
|
||||
"The certificate of the machine the daemon is running on. It should be signed
|
||||
by the authority given in @code{ca}.")
|
||||
|
||||
(key
|
||||
(string "/etc/openvpn/client.key")
|
||||
(maybe-string "/etc/openvpn/client.key")
|
||||
"The key of the machine the daemon is running on. It must be the key whose
|
||||
certificate is @code{cert}.")
|
||||
|
||||
|
|
|
@ -576,7 +576,9 @@ (define (root-uuid os)
|
|||
(file-systems-to-keep
|
||||
(srfi-1:remove
|
||||
(lambda (fs)
|
||||
(string=? (file-system-mount-point fs) "/"))
|
||||
(let ((mount-point (file-system-mount-point fs)))
|
||||
(or (string=? mount-point "/")
|
||||
(string=? mount-point "/boot/efi"))))
|
||||
(operating-system-file-systems base-os)))
|
||||
(format (image-format image))
|
||||
(os
|
||||
|
|
|
@ -77,7 +77,6 @@ (define-module (gnu system vm)
|
|||
|
||||
system-qemu-image/shared-store
|
||||
system-qemu-image/shared-store-script
|
||||
system-disk-image-in-vm
|
||||
system-docker-image
|
||||
|
||||
virtual-machine
|
||||
|
@ -563,77 +562,6 @@ (define build
|
|||
;;; VM and disk images.
|
||||
;;;
|
||||
|
||||
(define* (system-disk-image-in-vm os
|
||||
#:key
|
||||
(name "disk-image")
|
||||
(file-system-type "ext4")
|
||||
(disk-image-size (* 900 (expt 2 20)))
|
||||
(volatile? #t)
|
||||
(substitutable? #t))
|
||||
"Return the derivation of a disk image of DISK-IMAGE-SIZE bytes of the
|
||||
system described by OS. Said image can be copied on a USB stick as is. When
|
||||
VOLATILE? is true, the root file system is made volatile; this is useful
|
||||
to USB sticks meant to be read-only.
|
||||
|
||||
SUBSTITUTABLE? determines whether the returned derivation should be marked as
|
||||
substitutable."
|
||||
(define root-label
|
||||
"Guix_image")
|
||||
|
||||
(define (root-uuid os)
|
||||
;; UUID of the root file system, computed in a deterministic fashion.
|
||||
;; This is what we use to locate the root file system so it has to be
|
||||
;; different from the user's own file system UUIDs.
|
||||
(operating-system-uuid os 'dce))
|
||||
|
||||
(define file-systems-to-keep
|
||||
(remove (lambda (fs)
|
||||
(string=? (file-system-mount-point fs) "/"))
|
||||
(operating-system-file-systems os)))
|
||||
|
||||
(let* ((os (operating-system (inherit os)
|
||||
;; Since this is meant to be used on real hardware, don't
|
||||
;; install QEMU networking or anything like that. Assume USB
|
||||
;; mass storage devices (usb-storage.ko) are available.
|
||||
(initrd (lambda (file-systems . rest)
|
||||
(apply (operating-system-initrd os)
|
||||
file-systems
|
||||
#:volatile-root? volatile?
|
||||
rest)))
|
||||
|
||||
(bootloader (operating-system-bootloader os))
|
||||
|
||||
;; Force our own root file system. (We need a "/" file system
|
||||
;; to call 'root-uuid'.)
|
||||
(file-systems (cons (file-system
|
||||
(mount-point "/")
|
||||
(device "/dev/placeholder")
|
||||
(type file-system-type))
|
||||
file-systems-to-keep))))
|
||||
(uuid (root-uuid os))
|
||||
(os (operating-system
|
||||
(inherit os)
|
||||
(file-systems (cons (file-system
|
||||
(mount-point "/")
|
||||
(device uuid)
|
||||
(type file-system-type))
|
||||
file-systems-to-keep))))
|
||||
(bootcfg (operating-system-bootcfg os)))
|
||||
(qemu-image #:name name
|
||||
#:os os
|
||||
#:bootcfg-drv bootcfg
|
||||
#:bootloader (bootloader-configuration-bootloader
|
||||
(operating-system-bootloader os))
|
||||
#:disk-image-size disk-image-size
|
||||
#:disk-image-format "raw"
|
||||
#:file-system-type file-system-type
|
||||
#:file-system-label root-label
|
||||
#:file-system-uuid uuid
|
||||
#:copy-inputs? #t
|
||||
#:inputs `(("system" ,os)
|
||||
("bootcfg" ,bootcfg))
|
||||
#:substitutable? substitutable?)))
|
||||
|
||||
(define* (system-qemu-image os
|
||||
#:key
|
||||
(file-system-type "ext4")
|
||||
|
|
|
@ -51,7 +51,9 @@ (define-module (guix scripts build)
|
|||
#:use-module ((guix progress) #:select (current-terminal-columns))
|
||||
#:use-module ((guix build syscalls) #:select (terminal-columns))
|
||||
#:use-module (guix transformations)
|
||||
#:export (%standard-build-options
|
||||
#:export (log-url
|
||||
|
||||
%standard-build-options
|
||||
set-build-options-from-command-line
|
||||
set-build-options-from-command-line*
|
||||
show-build-options-help
|
||||
|
|
|
@ -59,11 +59,16 @@ (define-module (guix scripts pack)
|
|||
#:use-module (srfi srfi-37)
|
||||
#:use-module (ice-9 match)
|
||||
#:export (compressor?
|
||||
compressor-name
|
||||
compressor-extenstion
|
||||
compressor-command
|
||||
%compressors
|
||||
lookup-compressor
|
||||
self-contained-tarball
|
||||
docker-image
|
||||
squashfs-image
|
||||
|
||||
%formats
|
||||
guix-pack))
|
||||
|
||||
;; Type of a compression tool.
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
;;; Copyright © 2015 David Thompson <davet@gnu.org>
|
||||
;;; Copyright © 2020 by Amar M. Singh <nly@disroot.org>
|
||||
;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -250,6 +251,21 @@ (define %nix-cache-info
|
|||
("WantMassQuery" . 0)
|
||||
("Priority" . 100)))
|
||||
|
||||
;;; A common buffer size value used for the TCP socket SO_SNDBUF option and
|
||||
;;; the gzip compressor buffer size.
|
||||
(define %default-buffer-size
|
||||
(* 208 1024))
|
||||
|
||||
(define %default-socket-options
|
||||
;; List of options passed to 'setsockopt' when transmitting files.
|
||||
(list (list SO_SNDBUF %default-buffer-size)))
|
||||
|
||||
(define* (configure-socket socket #:key (level SOL_SOCKET)
|
||||
(options %default-socket-options))
|
||||
"Apply multiple option tuples in OPTIONS to SOCKET, using LEVEL."
|
||||
(for-each (cut apply setsockopt socket level <>)
|
||||
options))
|
||||
|
||||
(define (signed-string s)
|
||||
"Sign the hash of the string S with the daemon's key. Return a canonical
|
||||
sexp for the signature."
|
||||
|
@ -569,7 +585,7 @@ (define nar
|
|||
(lambda (port)
|
||||
(write-file item port))
|
||||
#:level (compression-level compression)
|
||||
#:buffer-size (* 128 1024))
|
||||
#:buffer-size %default-buffer-size)
|
||||
(rename-file (string-append nar ".tmp") nar))
|
||||
('lzip
|
||||
;; Note: the file port gets closed along with the lzip port.
|
||||
|
@ -866,7 +882,7 @@ (define (nar-response-port response compression)
|
|||
;; 'make-gzip-output-port' wants a file port.
|
||||
(make-gzip-output-port (response-port response)
|
||||
#:level level
|
||||
#:buffer-size (* 64 1024)))
|
||||
#:buffer-size %default-buffer-size))
|
||||
(($ <compression> 'lzip level)
|
||||
(make-lzip-output-port (response-port response)
|
||||
#:level level))
|
||||
|
@ -891,8 +907,7 @@ (define (http-write server client response body)
|
|||
client))
|
||||
(port (begin
|
||||
(force-output client)
|
||||
(setsockopt client SOL_SOCKET
|
||||
SO_SNDBUF (* 128 1024))
|
||||
(configure-socket client)
|
||||
(nar-response-port response compression))))
|
||||
;; XXX: Given our ugly workaround for <http://bugs.gnu.org/21093> in
|
||||
;; 'render-nar', BODY here is just the file name of the store item.
|
||||
|
@ -922,7 +937,7 @@ (define (http-write server client response body)
|
|||
size)
|
||||
client))
|
||||
(output (response-port response)))
|
||||
(setsockopt client SOL_SOCKET SO_SNDBUF (* 128 1024))
|
||||
(configure-socket client)
|
||||
(if (file-port? output)
|
||||
(sendfile output input size)
|
||||
(dump-port input output))
|
||||
|
@ -1067,7 +1082,8 @@ (define* (run-publish-server socket store
|
|||
(define (open-server-socket address)
|
||||
"Return a TCP socket bound to ADDRESS, a socket address."
|
||||
(let ((sock (socket (sockaddr:fam address) SOCK_STREAM 0)))
|
||||
(setsockopt sock SOL_SOCKET SO_REUSEADDR 1)
|
||||
(configure-socket sock #:options (cons (list SO_REUSEADDR 1)
|
||||
%default-socket-options))
|
||||
(bind sock address)
|
||||
sock))
|
||||
|
||||
|
|
|
@ -385,7 +385,7 @@ (define previous
|
|||
(and=> (relative-generation profile -1)
|
||||
(cut generation-file-name profile <>)))
|
||||
|
||||
(when previous
|
||||
(and previous
|
||||
(let ((old-channels (profile-channels previous))
|
||||
(new-channels (profile-channels profile)))
|
||||
;; Find the channels present in both PROFILE and PREVIOUS, and print
|
||||
|
|
|
@ -440,7 +440,7 @@ (define (full-name package)
|
|||
(full-name x)))
|
||||
(lst
|
||||
(format (current-output-port)
|
||||
(N_ "Building the following ~*package would ensure ~d \
|
||||
(N_ "Building the following ~d package would ensure ~d \
|
||||
dependent packages are rebuilt: ~{~a~^ ~}~%"
|
||||
"Building the following ~d packages would ensure ~d \
|
||||
dependent packages are rebuilt: ~{~a~^ ~}~%"
|
||||
|
|
|
@ -674,7 +674,8 @@ (define file-systems
|
|||
(define* (system-derivation-for-action os action
|
||||
#:key image-size image-type
|
||||
full-boot? container-shared-network?
|
||||
mappings label)
|
||||
mappings label
|
||||
volatile-root?)
|
||||
"Return as a monadic value the derivation for OS according to ACTION."
|
||||
(mlet %store-monad ((target (current-target-system)))
|
||||
(case action
|
||||
|
@ -706,7 +707,8 @@ (define* (system-derivation-for-action os action
|
|||
base-image))
|
||||
(target (or base-target target))
|
||||
(size image-size)
|
||||
(operating-system os))))))
|
||||
(operating-system os)
|
||||
(volatile-root? volatile-root?))))))
|
||||
((docker-image)
|
||||
(system-docker-image os
|
||||
#:shared-network? container-shared-network?)))))
|
||||
|
@ -761,6 +763,7 @@ (define* (perform-action action os
|
|||
dry-run? derivations-only?
|
||||
use-substitutes? bootloader-target target
|
||||
image-size image-type
|
||||
volatile-root?
|
||||
full-boot? label container-shared-network?
|
||||
(mappings '())
|
||||
(gc-root #f))
|
||||
|
@ -768,7 +771,8 @@ (define* (perform-action action os
|
|||
bootloader; BOOTLOADER-TAGET is the target for the bootloader; TARGET is the
|
||||
target root directory; IMAGE-SIZE is the size of the image to be built, for
|
||||
the 'vm-image' and 'disk-image' actions. IMAGE-TYPE is the type of image to
|
||||
be built.
|
||||
be built. When VOLATILE-ROOT? is #t, the root file system is mounted
|
||||
volatile.
|
||||
|
||||
FULL-BOOT? is used for the 'vm' action; it determines whether to
|
||||
boot directly to the kernel or to the bootloader. CONTAINER-SHARED-NETWORK?
|
||||
|
@ -816,6 +820,7 @@ (define bootcfg
|
|||
#:label label
|
||||
#:image-type image-type
|
||||
#:image-size image-size
|
||||
#:volatile-root? volatile-root?
|
||||
#:full-boot? full-boot?
|
||||
#:container-shared-network? container-shared-network?
|
||||
#:mappings mappings))
|
||||
|
@ -974,6 +979,8 @@ (define (show-help)
|
|||
--image-size=SIZE for 'vm-image', produce an image of SIZE"))
|
||||
(display (G_ "
|
||||
--no-bootloader for 'init', do not install a bootloader"))
|
||||
(display (G_ "
|
||||
--volatile for 'disk-image', make the root file system volatile"))
|
||||
(display (G_ "
|
||||
--label=LABEL for 'disk-image', label disk image with LABEL"))
|
||||
(display (G_ "
|
||||
|
@ -1048,6 +1055,9 @@ (define %options
|
|||
(option '("no-bootloader" "no-grub") #f #f
|
||||
(lambda (opt name arg result)
|
||||
(alist-cons 'install-bootloader? #f result)))
|
||||
(option '("volatile") #f #f
|
||||
(lambda (opt name arg result)
|
||||
(alist-cons 'volatile-root? #t result)))
|
||||
(option '("label") #t #f
|
||||
(lambda (opt name arg result)
|
||||
(alist-cons 'label arg result)))
|
||||
|
@ -1109,7 +1119,8 @@ (define %default-options
|
|||
(image-type . raw)
|
||||
(image-size . guess)
|
||||
(install-bootloader? . #t)
|
||||
(label . #f)))
|
||||
(label . #f)
|
||||
(volatile-root? . #f)))
|
||||
|
||||
(define (verbosity-level opts)
|
||||
"Return the verbosity level based on OPTS, the alist of parsed options."
|
||||
|
@ -1206,6 +1217,8 @@ (define save-provenance?
|
|||
#:image-type (lookup-image-type-by-name
|
||||
(assoc-ref opts 'image-type))
|
||||
#:image-size (assoc-ref opts 'image-size)
|
||||
#:volatile-root?
|
||||
(assoc-ref opts 'volatile-root?)
|
||||
#:full-boot? (assoc-ref opts 'full-boot?)
|
||||
#:container-shared-network?
|
||||
(assoc-ref opts 'container-shared-network?)
|
||||
|
|
|
@ -400,6 +400,12 @@ (define (available-translations directory domain)
|
|||
(find-files directory
|
||||
"\\.[a-z]{2}(_[A-Z]{2})?\\.po$")))
|
||||
|
||||
(define parallel-jobs
|
||||
;; Limit thread creation by 'n-par-for-each'. Going beyond can
|
||||
;; lead libgc 8.0.4 to abort with:
|
||||
;; mmap(PROT_NONE) failed
|
||||
(min (parallel-job-count) 4))
|
||||
|
||||
(mkdir #$output)
|
||||
(copy-recursively #$documentation "."
|
||||
#:log (%make-void-port "w"))
|
||||
|
@ -415,14 +421,14 @@ (define (available-translations directory domain)
|
|||
(setenv "LC_ALL" "en_US.UTF-8")
|
||||
(setlocale LC_ALL "en_US.UTF-8")
|
||||
|
||||
(n-par-for-each (parallel-job-count)
|
||||
(n-par-for-each parallel-jobs
|
||||
(match-lambda
|
||||
((language . po)
|
||||
(translate-texi "guix" po language
|
||||
#:extras '("contributing"))))
|
||||
(available-translations "." "guix-manual"))
|
||||
|
||||
(n-par-for-each (parallel-job-count)
|
||||
(n-par-for-each parallel-jobs
|
||||
(match-lambda
|
||||
((language . po)
|
||||
(translate-texi "guix-cookbook" po language)))
|
||||
|
|
|
@ -78,6 +78,7 @@ (define-module (guix utils)
|
|||
target-arm?
|
||||
target-64bit?
|
||||
cc-for-target
|
||||
cxx-for-target
|
||||
|
||||
version-compare
|
||||
version>?
|
||||
|
@ -542,6 +543,11 @@ (define* (cc-for-target #:optional (target (%current-target-system)))
|
|||
(string-append target "-gcc")
|
||||
"gcc"))
|
||||
|
||||
(define* (cxx-for-target #:optional (target (%current-target-system)))
|
||||
(if target
|
||||
(string-append target "-g++")
|
||||
"g++"))
|
||||
|
||||
(define version-compare
|
||||
(let ((strverscmp
|
||||
(let ((sym (or (dynamic-func "strverscmp" (dynamic-link))
|
||||
|
|
|
@ -91,4 +91,24 @@ guix/profiles.scm
|
|||
guix/git.scm
|
||||
guix/deprecation.scm
|
||||
guix/derivations.scm
|
||||
guix/scripts/archive.scm
|
||||
guix/scripts/build.scm
|
||||
guix/scripts/environment.scm
|
||||
guix/scripts/time-machine.scm
|
||||
guix/scripts/import/cpan.scm
|
||||
guix/scripts/import/crate.scm
|
||||
guix/scripts/import/gem.scm
|
||||
guix/scripts/import/gnu.scm
|
||||
guix/scripts/import/hackage.scm
|
||||
guix/scripts/import/json.scm
|
||||
guix/scripts/import/nix.scm
|
||||
guix/scripts/import/opam.scm
|
||||
guix/scripts/import/pypi.scm
|
||||
guix/scripts/import/stackage.scm
|
||||
guix/scripts/import/texlive.scm
|
||||
guix/scripts/offload.scm
|
||||
guix/scripts/perform-download.scm
|
||||
guix/scripts/refresh.scm
|
||||
guix/scripts/repl.scm
|
||||
guix/scripts/system/reconfigure.scm
|
||||
nix/nix-daemon/guix-daemon.cc
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2012, 2015, 2016, 2019 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2012, 2015, 2016, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2019 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
|
@ -174,7 +174,7 @@ (define-module (test-build-utils)
|
|||
(let ((script-file-name (string-append directory "/foo")))
|
||||
(call-with-output-file script-file-name
|
||||
(lambda (port)
|
||||
(format port script-contents)))
|
||||
(display script-contents port)))
|
||||
(chmod script-file-name #o777)
|
||||
(wrap-script script-file-name
|
||||
`("GUIX_FOO" prefix ("/some/path"
|
||||
|
|
Loading…
Reference in a new issue