Merge branch 'master' into staging
This commit is contained in:
commit
92af3ce417
2
README
2
README
@ -24,7 +24,7 @@ GNU Guix currently depends on the following packages:
|
||||
- [[https://gnupg.org/][GNU libgcrypt]]
|
||||
- [[https://www.gnu.org/software/make/][GNU Make]]
|
||||
- [[https://www.gnutls.org][GnuTLS]] compiled with guile support enabled
|
||||
- [[https://notabug.org/civodul/guile-sqlite3][Guile-SQLite3]]
|
||||
- [[https://notabug.org/civodul/guile-sqlite3][Guile-SQLite3]], version 0.1.0 or later
|
||||
- [[https://gitlab.com/guile-git/guile-git][Guile-Git]]
|
||||
- [[http://www.zlib.net/][zlib]]
|
||||
- optionally [[https://savannah.nongnu.org/projects/guile-json/][Guile-JSON]], for the 'guix import pypi' command
|
||||
|
@ -265,8 +265,20 @@ person's version identifier."
|
||||
(loop (cdr spin))))
|
||||
|
||||
(match (command-line)
|
||||
((_ source system version)
|
||||
(with-store store
|
||||
((_ source system version protocol-version)
|
||||
;; The current input port normally wraps a file
|
||||
;; descriptor connected to the daemon, or it is
|
||||
;; connected to /dev/null. In the former case, reuse
|
||||
;; the connection such that we inherit build options
|
||||
;; such as substitute URLs and so on; in the latter
|
||||
;; case, attempt to open a new connection.
|
||||
(let* ((proto (string->number protocol-version))
|
||||
(store (if (integer? proto)
|
||||
(port->connection (duplicate-port
|
||||
(current-input-port)
|
||||
"w+0")
|
||||
#:version proto)
|
||||
(open-connection))))
|
||||
(call-with-new-thread
|
||||
(lambda ()
|
||||
(spin system)))
|
||||
@ -297,15 +309,28 @@ files."
|
||||
;; SOURCE.
|
||||
(mlet %store-monad ((build (build-program source version guile-version
|
||||
#:pull-version pull-version))
|
||||
(system (if system (return system) (current-system))))
|
||||
(system (if system (return system) (current-system)))
|
||||
(port ((store-lift nix-server-socket)))
|
||||
(major ((store-lift nix-server-major-version)))
|
||||
(minor ((store-lift nix-server-minor-version))))
|
||||
(mbegin %store-monad
|
||||
(show-what-to-build* (list build))
|
||||
(built-derivations (list build))
|
||||
(let* ((pipe (begin
|
||||
(setenv "GUILE_WARN_DEPRECATED" "no") ;be quiet and drive
|
||||
(open-pipe* OPEN_READ
|
||||
(derivation->output-path build)
|
||||
source system version)))
|
||||
|
||||
;; Use the port beneath the current store as the stdin of BUILD. This
|
||||
;; way, we know 'open-pipe*' will not close it on 'exec'. If PORT is
|
||||
;; not a file port (e.g., it's an SSH channel), then the subprocess's
|
||||
;; stdin will actually be /dev/null.
|
||||
(let* ((pipe (with-input-from-port port
|
||||
(lambda ()
|
||||
(setenv "GUILE_WARN_DEPRECATED" "no") ;be quiet and drive
|
||||
(open-pipe* OPEN_READ
|
||||
(derivation->output-path build)
|
||||
source system version
|
||||
(if (file-port? port)
|
||||
(number->string
|
||||
(logior major minor))
|
||||
"none")))))
|
||||
(str (get-string-all pipe))
|
||||
(status (close-pipe pipe)))
|
||||
(match str
|
||||
|
@ -249,7 +249,7 @@ Services
|
||||
* VPN Services:: VPN daemons.
|
||||
* Network File System:: NFS related services.
|
||||
* Continuous Integration:: The Cuirass service.
|
||||
* Power management Services:: The TLP tool.
|
||||
* Power Management Services:: Extending battery life.
|
||||
* Audio Services:: The MPD.
|
||||
* Virtualization Services:: Virtualization services.
|
||||
* Version Control Services:: Providing remote access to Git repositories.
|
||||
@ -614,8 +614,8 @@ later, including 2.2.x;
|
||||
(@pxref{Guile Preparations, how to install the GnuTLS bindings for
|
||||
Guile,, gnutls-guile, GnuTLS-Guile});
|
||||
@item
|
||||
@c FIXME: Specify a version number once a release has been made.
|
||||
@uref{https://notabug.org/civodul/guile-sqlite3, Guile-SQLite3};
|
||||
@uref{https://notabug.org/civodul/guile-sqlite3, Guile-SQLite3}, version 0.1.0
|
||||
or later;
|
||||
@item
|
||||
@c FIXME: Specify a version number once a release has been made.
|
||||
@uref{https://gitlab.com/guile-git/guile-git, Guile-Git}, from August
|
||||
@ -988,7 +988,7 @@ Port number of SSH server on the machine.
|
||||
|
||||
@item @code{private-key} (default: @file{~root/.ssh/id_rsa})
|
||||
The SSH private key file to use when connecting to the machine, in
|
||||
OpenSSH format.
|
||||
OpenSSH format. This key must not be protected with a passphrase.
|
||||
|
||||
Note that the default value is the private key @emph{of the root
|
||||
account}. Make sure it exists if you use the default.
|
||||
@ -8641,21 +8641,21 @@ create a file system on the relevant partition(s)@footnote{Currently
|
||||
GuixSD only supports ext4 and btrfs file systems. In particular, code
|
||||
that reads file system UUIDs and labels only works for these file system
|
||||
types.}. For the ESP, if you have one and assuming it is
|
||||
@file{/dev/sda2}, run:
|
||||
@file{/dev/sda1}, run:
|
||||
|
||||
@example
|
||||
mkfs.fat -F32 /dev/sda2
|
||||
mkfs.fat -F32 /dev/sda1
|
||||
@end example
|
||||
|
||||
Preferably, assign file systems a label so that you can easily and
|
||||
reliably refer to them in @code{file-system} declarations (@pxref{File
|
||||
Systems}). This is typically done using the @code{-L} option of
|
||||
@command{mkfs.ext4} and related commands. So, assuming the target root
|
||||
partition lives at @file{/dev/sda1}, a file system with the label
|
||||
partition lives at @file{/dev/sda2}, a file system with the label
|
||||
@code{my-root} can be created with:
|
||||
|
||||
@example
|
||||
mkfs.ext4 -L my-root /dev/sda1
|
||||
mkfs.ext4 -L my-root /dev/sda2
|
||||
@end example
|
||||
|
||||
@cindex encrypted disk
|
||||
@ -8663,12 +8663,12 @@ If you are instead planning to encrypt the root partition, you can use
|
||||
the Cryptsetup/LUKS utilities to do that (see @inlinefmtifelse{html,
|
||||
@uref{https://linux.die.net/man/8/cryptsetup, @code{man cryptsetup}},
|
||||
@code{man cryptsetup}} for more information.) Assuming you want to
|
||||
store the root partition on @file{/dev/sda1}, the command sequence would
|
||||
store the root partition on @file{/dev/sda2}, the command sequence would
|
||||
be along these lines:
|
||||
|
||||
@example
|
||||
cryptsetup luksFormat /dev/sda1
|
||||
cryptsetup open --type luks /dev/sda1 my-partition
|
||||
cryptsetup luksFormat /dev/sda2
|
||||
cryptsetup open --type luks /dev/sda2 my-partition
|
||||
mkfs.ext4 -L my-root /dev/mapper/my-partition
|
||||
@end example
|
||||
|
||||
@ -8688,11 +8688,11 @@ by @code{guix system init} afterwards.
|
||||
Finally, if you plan to use one or more swap partitions (@pxref{Memory
|
||||
Concepts, swap space,, libc, The GNU C Library Reference Manual}), make
|
||||
sure to initialize them with @command{mkswap}. Assuming you have one
|
||||
swap partition on @file{/dev/sda2}, you would run:
|
||||
swap partition on @file{/dev/sda3}, you would run:
|
||||
|
||||
@example
|
||||
mkswap /dev/sda2
|
||||
swapon /dev/sda2
|
||||
mkswap /dev/sda3
|
||||
swapon /dev/sda3
|
||||
@end example
|
||||
|
||||
Alternatively, you may use a swap file. For example, assuming that in
|
||||
@ -9938,7 +9938,7 @@ declaration.
|
||||
* VPN Services:: VPN daemons.
|
||||
* Network File System:: NFS related services.
|
||||
* Continuous Integration:: The Cuirass service.
|
||||
* Power management Services:: The TLP tool.
|
||||
* Power Management Services:: Extending battery life.
|
||||
* Audio Services:: The MPD.
|
||||
* Virtualization Services:: Virtualization services.
|
||||
* Version Control Services:: Providing remote access to Git repositories.
|
||||
@ -17583,10 +17583,13 @@ The Cuirass package to use.
|
||||
@end table
|
||||
@end deftp
|
||||
|
||||
@node Power management Services
|
||||
@subsubsection Power management Services
|
||||
@node Power Management Services
|
||||
@subsubsection Power Management Services
|
||||
|
||||
@cindex tlp
|
||||
@cindex power management with TLP
|
||||
@subsubheading TLP daemon
|
||||
|
||||
The @code{(gnu services pm)} module provides a Guix service definition
|
||||
for the Linux power management tool TLP.
|
||||
|
||||
@ -18087,6 +18090,9 @@ Defaults to @samp{#f}.
|
||||
|
||||
@end deftypevr
|
||||
|
||||
@cindex thermald
|
||||
@cindex CPU frequency scaling with thermald
|
||||
@subsubheading Thermald daemon
|
||||
|
||||
The @code{(gnu services pm)} module provides an interface to
|
||||
thermald, a CPU frequency scaling service which helps prevent overheating.
|
||||
|
@ -387,12 +387,18 @@ submenu \"GNU system, old configurations...\" {~%")
|
||||
;; 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")))
|
||||
(install-dir (string-append mount-point "/boot"))
|
||||
;; When installing GuixSD, 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")
|
||||
(unless (zero? (system* grub-install "--boot-directory" install-dir
|
||||
"--efi-directory" efi-dir))
|
||||
"--bootloader-id=GuixSD"
|
||||
"--efi-directory" target-esp))
|
||||
(error "failed to install GRUB (EFI)")))))
|
||||
|
||||
|
||||
|
@ -34,6 +34,7 @@
|
||||
#:use-module (ice-9 format)
|
||||
#:use-module (ice-9 match)
|
||||
#:use-module (ice-9 regex)
|
||||
#:use-module (ice-9 popen)
|
||||
#:use-module (srfi srfi-1)
|
||||
#:use-module (srfi srfi-9)
|
||||
#:use-module (srfi srfi-26)
|
||||
@ -408,42 +409,67 @@ SYSTEM-DIRECTORY is the name of the directory of the 'system' derivation."
|
||||
register-closures? (closures '()))
|
||||
"Given a GRUB package, creates an iso image as TARGET, using CONFIG-FILE as
|
||||
GRUB configuration and OS-DRV as the stuff in it."
|
||||
(let ((grub-mkrescue (string-append grub "/bin/grub-mkrescue"))
|
||||
(target-store (string-append "/tmp/root" (%store-directory))))
|
||||
(populate-root-file-system os-drv "/tmp/root")
|
||||
(define grub-mkrescue
|
||||
(string-append grub "/bin/grub-mkrescue"))
|
||||
|
||||
(mount (%store-directory) target-store "" MS_BIND)
|
||||
(define target-store
|
||||
(string-append "/tmp/root" (%store-directory)))
|
||||
|
||||
(when register-closures?
|
||||
(display "registering closures...\n")
|
||||
(for-each (lambda (closure)
|
||||
(register-closure
|
||||
"/tmp/root"
|
||||
(string-append "/xchg/" closure)
|
||||
;; XXX: Using deduplication causes cross device link errors.
|
||||
#:deduplicate? #f))
|
||||
closures))
|
||||
(define items
|
||||
;; The store items to add to the image.
|
||||
(delete-duplicates
|
||||
(append-map (lambda (closure)
|
||||
(map store-info-item
|
||||
(call-with-input-file (string-append "/xchg/" closure)
|
||||
read-reference-graph)))
|
||||
closures)))
|
||||
|
||||
(apply invoke
|
||||
`(,grub-mkrescue "-o" ,target
|
||||
,(string-append "boot/grub/grub.cfg=" config-file)
|
||||
,(string-append "gnu/store=" os-drv "/..")
|
||||
"etc=/tmp/root/etc"
|
||||
"var=/tmp/root/var"
|
||||
"run=/tmp/root/run"
|
||||
;; /mnt is used as part of the installation
|
||||
;; process, as the mount point for the target
|
||||
;; file system, so create it.
|
||||
"mnt=/tmp/root/mnt"
|
||||
"--"
|
||||
"-volid" ,(string-upcase volume-id)
|
||||
,@(if volume-uuid
|
||||
`("-volume_date" "uuid"
|
||||
,(string-filter (lambda (value)
|
||||
(not (char=? #\- value)))
|
||||
(iso9660-uuid->string
|
||||
volume-uuid)))
|
||||
`())))))
|
||||
(populate-root-file-system os-drv "/tmp/root")
|
||||
(mount (%store-directory) target-store "" MS_BIND)
|
||||
|
||||
(when register-closures?
|
||||
(display "registering closures...\n")
|
||||
(for-each (lambda (closure)
|
||||
(register-closure
|
||||
"/tmp/root"
|
||||
(string-append "/xchg/" closure)
|
||||
|
||||
;; TARGET-STORE is a read-only bind-mount so we shouldn't try
|
||||
;; to modify it.
|
||||
#:deduplicate? #f
|
||||
#:reset-timestamps? #f))
|
||||
closures)
|
||||
(register-bootcfg-root "/tmp/root" config-file))
|
||||
|
||||
(let ((pipe
|
||||
(apply open-pipe* OPEN_WRITE
|
||||
grub-mkrescue "-o" target
|
||||
(string-append "boot/grub/grub.cfg=" config-file)
|
||||
"etc=/tmp/root/etc"
|
||||
"var=/tmp/root/var"
|
||||
"run=/tmp/root/run"
|
||||
;; /mnt is used as part of the installation
|
||||
;; process, as the mount point for the target
|
||||
;; file system, so create it.
|
||||
"mnt=/tmp/root/mnt"
|
||||
"-path-list" "-"
|
||||
"--"
|
||||
"-volid" (string-upcase volume-id)
|
||||
(if volume-uuid
|
||||
`("-volume_date" "uuid"
|
||||
,(string-filter (lambda (value)
|
||||
(not (char=? #\- value)))
|
||||
(iso9660-uuid->string
|
||||
volume-uuid)))
|
||||
`()))))
|
||||
;; Pass lines like 'gnu/store/…-x=/gnu/store/…-x' corresponding to the
|
||||
;; '-path-list -' option.
|
||||
(for-each (lambda (item)
|
||||
(format pipe "~a=~a~%"
|
||||
(string-drop item 1) item))
|
||||
items)
|
||||
(unless (zero? (close-pipe pipe))
|
||||
(error "oh, my! grub-mkrescue failed" grub-mkrescue))))
|
||||
|
||||
(define* (initialize-hard-disk device
|
||||
#:key
|
||||
|
@ -582,6 +582,7 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/azr3.patch \
|
||||
%D%/packages/patches/bash-completion-directories.patch \
|
||||
%D%/packages/patches/bazaar-CVE-2017-14176.patch \
|
||||
%D%/packages/patches/beignet-correct-file-names.patch \
|
||||
%D%/packages/patches/bind-CVE-2018-5738.patch \
|
||||
%D%/packages/patches/binutils-aarch64-symbol-relocation.patch \
|
||||
%D%/packages/patches/binutils-loongson-workaround.patch \
|
||||
@ -647,7 +648,6 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/elfutils-tests-ptrace.patch \
|
||||
%D%/packages/patches/elogind-glibc-2.27.patch \
|
||||
%D%/packages/patches/einstein-build.patch \
|
||||
%D%/packages/patches/emacs-browse-at-remote-cgit-gnu.patch \
|
||||
%D%/packages/patches/emacs-exec-path.patch \
|
||||
%D%/packages/patches/emacs-fix-scheme-indent-function.patch \
|
||||
%D%/packages/patches/emacs-json-reformat-fix-tests.patch \
|
||||
@ -706,6 +706,7 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/gcc-6-cross-environment-variables.patch \
|
||||
%D%/packages/patches/gcc-6-source-date-epoch-1.patch \
|
||||
%D%/packages/patches/gcc-6-source-date-epoch-2.patch \
|
||||
%D%/packages/patches/gcc-8-strmov-store-file-names.patch \
|
||||
%D%/packages/patches/gcr-disable-failing-tests.patch \
|
||||
%D%/packages/patches/gcr-fix-collection-tests-to-work-with-gpg-21.patch \
|
||||
%D%/packages/patches/gd-CVE-2018-5711.patch \
|
||||
@ -795,6 +796,7 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/hurd-fix-eth-multiplexer-dependency.patch \
|
||||
%D%/packages/patches/hydra-disable-darcs-test.patch \
|
||||
%D%/packages/patches/icecat-avoid-bundled-libraries.patch \
|
||||
%D%/packages/patches/icecat-bug-1413868-pt1.patch \
|
||||
%D%/packages/patches/icecat-CVE-2018-5157-and-CVE-2018-5158.patch \
|
||||
%D%/packages/patches/icecat-use-system-graphite2.patch \
|
||||
%D%/packages/patches/icecat-use-system-harfbuzz.patch \
|
||||
@ -886,6 +888,8 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/libtheora-config-guess.patch \
|
||||
%D%/packages/patches/libtiff-CVE-2017-9935.patch \
|
||||
%D%/packages/patches/libtiff-CVE-2017-18013.patch \
|
||||
%D%/packages/patches/libtiff-CVE-2018-8905.patch \
|
||||
%D%/packages/patches/libtiff-CVE-2018-10963.patch \
|
||||
%D%/packages/patches/libtool-skip-tests2.patch \
|
||||
%D%/packages/patches/libusb-0.1-disable-tests.patch \
|
||||
%D%/packages/patches/libusb-for-axoloti.patch \
|
||||
@ -1083,6 +1087,7 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/qemu-CVE-2018-11806.patch \
|
||||
%D%/packages/patches/qt4-ldflags.patch \
|
||||
%D%/packages/patches/qtbase-use-TZDIR.patch \
|
||||
%D%/packages/patches/qtoctave-qt-5.11-fix.patch \
|
||||
%D%/packages/patches/qtscript-disable-tests.patch \
|
||||
%D%/packages/patches/quagga-reproducible-build.patch \
|
||||
%D%/packages/patches/quassel-qt-5.11.patch \
|
||||
|
@ -140,13 +140,13 @@ usual file attributes can be checked for inconsistencies.")
|
||||
(define-public progress
|
||||
(package
|
||||
(name "progress")
|
||||
(version "0.13.1")
|
||||
(version "0.14")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/Xfennec/"
|
||||
name "/archive/v" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "199rk6608q9m6l0fbjm0xl2w1c5krf8245dqnksdp4rqp7l9ak06"))
|
||||
(base32 "1wcanixfsi5k4i9h5vrnncgjdncalsdfqllrxibxwpgfnf20sji1"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
@ -865,7 +865,7 @@ over ssh connections.")
|
||||
(define-public rename
|
||||
(package
|
||||
(name "rename")
|
||||
(version "0.20")
|
||||
(version "0.35")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
@ -873,7 +873,7 @@ over ssh connections.")
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1cf6xx2hiy1xalp35fh8g73j67r0w0g66jpcbc6971x9jbm7bvjy"))))
|
||||
"052iqmn7ya3w1nadpiyavmr3rx566r0lbflx94y8b5wx9q5c16rq"))))
|
||||
(build-system perl-build-system)
|
||||
(native-inputs
|
||||
`(("perl-module-build" ,perl-module-build)
|
||||
@ -1651,7 +1651,7 @@ limits.")
|
||||
(define-public autojump
|
||||
(package
|
||||
(name "autojump")
|
||||
(version "22.3.4")
|
||||
(version "22.5.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
@ -1660,7 +1660,7 @@ limits.")
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"113rcpr37ngf2xs8da41qdarq5qmj0dwx8ggqy3lhlb0kvqq7g9z"))))
|
||||
"17z9j9936x0nizwrzf664bngh60x5qbvrrf1s5qdzd0f2gdanpvn"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs ;for tests
|
||||
`(("python-mock" ,python-mock)
|
||||
@ -1668,36 +1668,19 @@ limits.")
|
||||
(inputs
|
||||
`(("python" ,python-wrapper)))
|
||||
(arguments
|
||||
`(#:phases (modify-phases %standard-phases
|
||||
(delete 'configure)
|
||||
(delete 'build)
|
||||
(replace 'check
|
||||
(lambda _
|
||||
(zero?
|
||||
(system* "python" "tests/unit/autojump_utils_test.py"))))
|
||||
(replace 'install
|
||||
;; The install.py script doesn't allow system installation
|
||||
;; into an arbitrary prefix, so do our own install.
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(bin (string-append out "/bin"))
|
||||
(share (string-append out "/share/autojump"))
|
||||
(py (string-append out "/lib/python"
|
||||
,(version-major+minor
|
||||
(package-version python-wrapper))
|
||||
"/site-packages"))
|
||||
(man (string-append out "/share/man/man1")))
|
||||
(install-file "bin/autojump" bin)
|
||||
(for-each (λ (f) (install-file f py))
|
||||
(find-files "bin" "\\.py$"))
|
||||
(for-each (λ (f) (install-file f share))
|
||||
(find-files "bin" "autojump\\..*$"))
|
||||
(substitute* (string-append share "/autojump.sh")
|
||||
(("/usr/local") out))
|
||||
(install-file "docs/autojump.1" man)
|
||||
(wrap-program (string-append bin "/autojump")
|
||||
`("PYTHONPATH" ":" prefix (,py)))
|
||||
#t))))))
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure)
|
||||
(delete 'build)
|
||||
(replace 'check
|
||||
(lambda _
|
||||
(invoke "python" "tests/unit/autojump_utils_test.py")))
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(setenv "SHELL" (which "bash"))
|
||||
(invoke "python" "install.py"
|
||||
(string-append "--destdir="
|
||||
(assoc-ref outputs "out"))))))))
|
||||
(home-page "https://github.com/wting/autojump")
|
||||
(synopsis "Shell extension for file system navigation")
|
||||
(description
|
||||
@ -2649,7 +2632,7 @@ Python loading in HPC environments.")
|
||||
(let ((real-name "inxi"))
|
||||
(package
|
||||
(name "inxi-minimal")
|
||||
(version "3.0.12-1")
|
||||
(version "3.0.13-1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@ -2658,7 +2641,7 @@ Python loading in HPC environments.")
|
||||
(commit version)))
|
||||
(sha256
|
||||
(base32
|
||||
"1a2sjz90gzzvhp63x89hs0a424rkd13qrff2njqmjxp322zyp527"))))
|
||||
"0732ligzmzwpwaxin4g8rbfj91ghyvf69lx2jyrahi4df0bfamh5"))))
|
||||
(build-system trivial-build-system)
|
||||
(inputs
|
||||
`(("bash" ,bash)
|
||||
|
@ -1,5 +1,6 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2015, 2017 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@ -226,10 +227,10 @@ contains the graphical user interface for synfig.")
|
||||
"\nLIBS +=" libsndfile
|
||||
"/lib/libsndfile.so\n"
|
||||
"win32 {"))))
|
||||
(zero? (system* "qmake"
|
||||
(string-append "DESTDIR="
|
||||
(assoc-ref outputs "out")
|
||||
"/bin")))))
|
||||
(invoke "qmake"
|
||||
(string-append "DESTDIR="
|
||||
(assoc-ref outputs "out")
|
||||
"/bin"))))
|
||||
;; Ensure that all required Qt plugins are found at runtime.
|
||||
(add-after 'install 'wrap-executable
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
|
@ -1,5 +1,5 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2013, 2014, 2015, 2018 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2013, 2014 Andreas Enge <andreas@enge.fr>
|
||||
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
|
||||
;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
|
||||
@ -46,9 +46,10 @@
|
||||
#:use-module (gnu packages xml)
|
||||
#:use-module (gnu packages gtk)
|
||||
#:use-module (gnu packages glib)
|
||||
#:use-module (gnu packages man)
|
||||
#:use-module (gnu packages m4)
|
||||
#:use-module (gnu packages man)
|
||||
#:use-module (gnu packages mp3)
|
||||
#:use-module (gnu packages music)
|
||||
#:use-module (gnu packages ncurses)
|
||||
#:use-module (gnu packages elf)
|
||||
#:use-module (gnu packages wxwidgets)
|
||||
@ -57,6 +58,7 @@
|
||||
#:use-module (gnu packages readline)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages perl-web)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages image)
|
||||
#:use-module (gnu packages photo)
|
||||
@ -513,6 +515,9 @@ from an audio CD.")
|
||||
(parano (assoc-ref inputs "cdparanoia"))
|
||||
(which (assoc-ref inputs "which"))
|
||||
(discid (assoc-ref inputs "cd-discid"))
|
||||
(perl-discid (assoc-ref inputs "perl-musicbrainz-discid"))
|
||||
(perl-ws (assoc-ref inputs "perl-webservice-musicbrainz"))
|
||||
(perl-mojo (assoc-ref inputs "perl-mojolicious"))
|
||||
(flac (assoc-ref inputs "flac"))
|
||||
(out (assoc-ref outputs "out")))
|
||||
(define (wrap file)
|
||||
@ -524,7 +529,14 @@ from an audio CD.")
|
||||
which "/bin:"
|
||||
vorbis "/bin:"
|
||||
discid "/bin:"
|
||||
parano "/bin")))))
|
||||
parano "/bin")))
|
||||
`("PERL5LIB" ":" prefix
|
||||
(,(string-append perl-discid
|
||||
"/lib/perl5/site_perl:"
|
||||
perl-ws
|
||||
"/lib/perl5/site_perl:"
|
||||
perl-mojo
|
||||
"/lib/perl5/site_perl")))))
|
||||
|
||||
(for-each wrap
|
||||
(find-files (string-append out "/bin")
|
||||
@ -538,6 +550,10 @@ from an audio CD.")
|
||||
("vorbis-tools" ,vorbis-tools)
|
||||
("flac" ,flac)
|
||||
|
||||
("perl-musicbrainz-discid" ,perl-musicbrainz-discid)
|
||||
("perl-webservice-musicbrainz" ,perl-webservice-musicbrainz)
|
||||
("perl-mojolicious" ,perl-mojolicious) ;indirect dependency
|
||||
|
||||
;; A couple of Python and Perl scripts are included.
|
||||
("python" ,python)
|
||||
("perl" ,perl)))
|
||||
|
@ -1,5 +1,6 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2018 Sou Bunnbu <iyzsong@member.fsf.org>
|
||||
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@ -30,7 +31,7 @@
|
||||
(define-public keepalived
|
||||
(package
|
||||
(name "keepalived")
|
||||
(version "2.0.1")
|
||||
(version "2.0.4")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
@ -38,18 +39,11 @@
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0hp8i56zkf0398bmpi32a85f05cv2fy9wizkdfbxk7gav4z6yx18"))))
|
||||
"0qf46bfxv4w7qx7d73qq26pp72cvbyfjvna3hxn208vynvapalh0"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'configure 'patch-configure
|
||||
(lambda _
|
||||
;; XXX: The 'configure' script doesn't handle '-L' flags in the
|
||||
;; output of 'pkg-config'.
|
||||
(substitute* "configure"
|
||||
(("PKG_CONFIG --libs") "PKG_CONFIG --libs-only-l"))
|
||||
#t))
|
||||
(add-after 'build 'build-info
|
||||
(lambda _
|
||||
(invoke "make" "-C" "doc" "texinfo")
|
||||
@ -77,11 +71,11 @@
|
||||
("libnfnetlink" ,libnfnetlink)
|
||||
("libnl" ,libnl)))
|
||||
(home-page "http://www.keepalived.org/")
|
||||
(synopsis "Loadbalancing and high-availability frameworks")
|
||||
(synopsis "Load balancing and high-availability frameworks")
|
||||
(description
|
||||
"Keepalived provides frameworks for both load balancing and high
|
||||
availability. The load balancing framework relies on the Linux Virtual
|
||||
Server (IPVS) kernel module. High availability is achieved by the Virtual
|
||||
Redundancy Routing Protocol (VRRP). Each Keepalived framework can be used
|
||||
Server (@dfn{IPVS}) kernel module. High availability is achieved by the Virtual
|
||||
Redundancy Routing Protocol (@dfn{VRRP}). Each Keepalived framework can be used
|
||||
independently or together to provide resilient infrastructures.")
|
||||
(license license:gpl2+)))
|
||||
|
@ -1,7 +1,7 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2013, 2015, 2018 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
|
||||
;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2015, 2018 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2017, 2018 Clément Lassieur <clement@lassieur.org>
|
||||
@ -581,7 +581,7 @@ Objective@tie{}C, D, Java, Pawn, and Vala). Features:
|
||||
(define-public astyle
|
||||
(package
|
||||
(name "astyle")
|
||||
(version "2.05")
|
||||
(version "3.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
@ -589,7 +589,7 @@ Objective@tie{}C, D, Java, Pawn, and Vala). Features:
|
||||
version "/astyle_" version "_linux.tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0f9sh9kq5ajp1yz133h00fr9235p1m698x7n3h7zbrhjiwgynd6s"))))
|
||||
"1ms54wcs7hg1bsywqwf2lhdfizgbk7qxc9ghasxk8i99jvwlrk6b"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ;no tests
|
||||
|
@ -1069,4 +1069,7 @@ and binaries, plus debugging symbols in the 'debug' output), and Binutils.")
|
||||
(define-public gcc-toolchain-7
|
||||
(make-gcc-toolchain gcc-7))
|
||||
|
||||
(define-public gcc-toolchain-8
|
||||
(make-gcc-toolchain gcc-8))
|
||||
|
||||
;;; commencement.scm ends here
|
||||
|
@ -246,15 +246,17 @@ into a pipeline of data manipulation and visualisation.")
|
||||
(define-public r-haven
|
||||
(package
|
||||
(name "r-haven")
|
||||
(version "1.1.1")
|
||||
(version "1.1.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "haven" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1fkcvsrnw8waqwggv0aydbvbi99x5kp9g78xfxj4w6s3xvdzcysz"))))
|
||||
"0pp8xjf5lzqg1wr8cwxj4njx99vxwlflwjrd7jvyzwlfpwh7n1qa"))))
|
||||
(build-system r-build-system)
|
||||
(inputs
|
||||
`(("zlib" ,zlib)))
|
||||
(propagated-inputs
|
||||
`(("r-forcats" ,r-forcats)
|
||||
("r-hms" ,r-hms)
|
||||
@ -1577,14 +1579,14 @@ Delaunay triangulation and convex hull computation.")
|
||||
(define-public r-ddalpha
|
||||
(package
|
||||
(name "r-ddalpha")
|
||||
(version "1.3.3")
|
||||
(version "1.3.4")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "ddalpha" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0g4iqhrz2gym05q40ih6srilyajw2l2mv46pchn65bc7hw4vkgrk"))))
|
||||
"16cn0bhbaz9l9k4y79sv2d4f7pvs7dyka273y89igs5jvr99kfj1"))))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
`(("r-bh" ,r-bh)
|
||||
@ -4287,14 +4289,14 @@ and adds the annotation to the plot.")
|
||||
(define-public r-ggpubr
|
||||
(package
|
||||
(name "r-ggpubr")
|
||||
(version "0.1.6")
|
||||
(version "0.1.7")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "ggpubr" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0mvw215bj887958p34f0dzlrb8mgyfcz9b5zvsschvbhamqinqna"))))
|
||||
"110ny8p41kmbz0a5rl0mv9cqpjkx6yr3ybflp1r0fmcvhwv7cr3i"))))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
`(("r-cowplot" ,r-cowplot)
|
||||
|
@ -19,21 +19,21 @@
|
||||
(define-module (gnu packages digest)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix build-system gnu))
|
||||
|
||||
(define-public xxhash
|
||||
(package
|
||||
(name "xxhash")
|
||||
(version "0.6.4")
|
||||
(version "0.6.5")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/Cyan4973/xxHash/archive/v"
|
||||
version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/Cyan4973/xxHash")
|
||||
(commit (string-append "v" version))))
|
||||
(sha256
|
||||
(base32 "08nv9h3jzg6y85ysy2dj3qvvfsdz0rwkk497a2366syz278wqw25"))))
|
||||
(base32 "137hifc3f3cb4ib64rd6y83arc9hmbyncgrij2v8m94mx66g2aks"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:make-flags
|
||||
@ -41,6 +41,8 @@
|
||||
"XXH_FORCE_MEMORY_ACCESS=1" ; improved performance with GCC
|
||||
(string-append "prefix=" (assoc-ref %outputs "out")))
|
||||
#:test-target "test"
|
||||
;; Parallel testing tries to run ‘xxhsum’ before it's been built.
|
||||
#:parallel-tests? #f
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure)))) ; no configure script
|
||||
|
@ -1641,15 +1641,14 @@ type, for example: packages, buffers, files, etc.")
|
||||
(define-public emacs-guix
|
||||
(package
|
||||
(name "emacs-guix")
|
||||
(version "0.4")
|
||||
(version "0.4.1.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/alezost/guix.el"
|
||||
"/releases/download/v" version
|
||||
"/emacs-guix-" version ".tar.gz"))
|
||||
(uri (string-append "https://emacs-guix.gitlab.io/website/"
|
||||
"releases/emacs-guix-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1nn4b0gd895g0k4fynzrip7z8yb1r3qmvznq9v8a6q7sm84irmqq"))))
|
||||
"0jbnrcazbks7h50rngpw5l40a6vn2794kb53cpva3yzdjmrc1955"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
@ -1700,7 +1699,7 @@ type, for example: packages, buffers, files, etc.")
|
||||
("bui" ,emacs-bui)
|
||||
("edit-indirect" ,emacs-edit-indirect)
|
||||
("magit-popup" ,emacs-magit-popup)))
|
||||
(home-page "https://alezost.github.io/guix.el/")
|
||||
(home-page "https://emacs-guix.gitlab.io/website/")
|
||||
(synopsis "Emacs interface for GNU Guix")
|
||||
(description
|
||||
"Emacs-Guix provides a visual interface, tools and features for the GNU
|
||||
@ -4437,7 +4436,7 @@ indentation command behavior very similar to that of python-mode.")
|
||||
(define-public emacs-web-mode
|
||||
(package
|
||||
(name "emacs-web-mode")
|
||||
(version "14")
|
||||
(version "16")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://raw.githubusercontent.com/fxbois"
|
||||
@ -4445,7 +4444,7 @@ indentation command behavior very similar to that of python-mode.")
|
||||
(file-name (string-append "web-mode-" version ".el"))
|
||||
(sha256
|
||||
(base32
|
||||
"086hik5fmxg3kx74qmransx9cz961qd22d4m6ah2dw6cwaj1s3s5"))))
|
||||
"1hs5w7kdvcyn4ihyw1kfjg48djn5p7lz4rlbhzzdqv1g56xqx3gw"))))
|
||||
(build-system emacs-build-system)
|
||||
(synopsis "Major mode for editing web templates")
|
||||
(description "Web-mode is an Emacs major mode for editing web templates
|
||||
@ -7028,39 +7027,35 @@ Idris.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public emacs-browse-at-remote
|
||||
(let ((commit "31dcf77d7c89a12f230e2b2332585db2c44530ef")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "emacs-browse-at-remote")
|
||||
(version (string-append "0.9.0-" revision "."
|
||||
(string-take commit 7)))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/rmuslimov/browse-at-remote.git")
|
||||
(commit commit)))
|
||||
(file-name (string-append name "-" version "-checkout"))
|
||||
(patches
|
||||
(search-patches "emacs-browse-at-remote-cgit-gnu.patch"))
|
||||
(sha256
|
||||
(base32
|
||||
"017cb8lf7zbg0jmr7zxzd7d5kz2jy35cvw5vcpdmq1fdr3wqwkgj"))))
|
||||
(build-system emacs-build-system)
|
||||
(propagated-inputs
|
||||
`(("emacs-f" ,emacs-f)
|
||||
("emacs-s" ,emacs-s)))
|
||||
(native-inputs
|
||||
`(("ert-runner" ,ert-runner)))
|
||||
(arguments
|
||||
`(#:tests? #t
|
||||
#:test-command '("ert-runner")))
|
||||
(home-page "https://github.com/rmuslimov/browse-at-remote")
|
||||
(synopsis "Open github/gitlab/bitbucket/stash page from Emacs")
|
||||
(description
|
||||
"This Emacs package allows you to open a target page on
|
||||
(package
|
||||
(name "emacs-browse-at-remote")
|
||||
(version "0.10.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://github.com/rmuslimov/browse-at-remote/archive/"
|
||||
version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0ymslsp6i1naw25zckv25bf4aaq6qwkbkn95qyzlwg869l802686"))))
|
||||
(build-system emacs-build-system)
|
||||
(propagated-inputs
|
||||
`(("emacs-f" ,emacs-f)
|
||||
("emacs-s" ,emacs-s)))
|
||||
(native-inputs
|
||||
`(("ert-runner" ,ert-runner)))
|
||||
(arguments
|
||||
`(#:tests? #t
|
||||
#:test-command '("ert-runner")))
|
||||
(home-page "https://github.com/rmuslimov/browse-at-remote")
|
||||
(synopsis "Open github/gitlab/bitbucket/stash page from Emacs")
|
||||
(description
|
||||
"This Emacs package allows you to open a target page on
|
||||
github/gitlab (or bitbucket) by calling @code{browse-at-remote} command.
|
||||
It supports dired buffers and opens them in tree mode at destination.")
|
||||
(license license:gpl3+))))
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public emacs-tiny
|
||||
(package
|
||||
|
@ -1181,7 +1181,7 @@ play them on systems for which they were never designed!")
|
||||
(define-public mame
|
||||
(package
|
||||
(name "mame")
|
||||
(version "0.198")
|
||||
(version "0.199")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@ -1191,7 +1191,7 @@ play them on systems for which they were never designed!")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0kl7qll8d6xlx7bj5920ljs888a6nc1fj2kfw1fz0r8za3m7wiq9"))
|
||||
"0rb2k6dxss36jjalbpvj2xsqdwqyqy89qab7jpv8ig1y08dpg36n"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
;; Remove bundled libraries.
|
||||
|
@ -1,7 +1,7 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2017 Gábor Boskovits <boskovits@gmail.com>
|
||||
;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@ -144,7 +144,7 @@ non-determinism in the build process.")
|
||||
(define-public glusterfs
|
||||
(package
|
||||
(name "glusterfs")
|
||||
(version "3.10.7")
|
||||
(version "3.10.12")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
@ -153,7 +153,7 @@ non-determinism in the build process.")
|
||||
"/glusterfs-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"02sn9s3jjva2i1l47y3in326n8jgp57rbykz5s8m87y4bzpw0ym1"))
|
||||
"01ysvamvfv2l5pswa1rygpg8w0954h2wkh1ba97h3nx03m5n0prg"))
|
||||
(patches
|
||||
(search-patches "glusterfs-use-PATH-instead-of-hardcodes.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
@ -170,11 +170,12 @@ non-determinism in the build process.")
|
||||
;; must be replaced.
|
||||
(install-file (string-append (assoc-ref inputs "automake")
|
||||
"/share/automake-"
|
||||
,(package-version automake) "/config.sub")
|
||||
,(version-major+minor (package-version automake)) "/config.sub")
|
||||
".")
|
||||
#t))
|
||||
;; Fix flex error. This has already been fixed with upstream commit
|
||||
;; db3fe245a9e8812829eae7d143e49d0bfdfef9a7.
|
||||
;; db3fe245a9e8812829eae7d143e49d0bfdfef9a7, but is not available in
|
||||
;; current releases.
|
||||
(add-before 'configure 'fix-lex
|
||||
(lambda _
|
||||
(substitute* "libglusterfs/src/Makefile.in"
|
||||
|
@ -330,15 +330,16 @@ X11-system or any other graphical user interface.")
|
||||
(define-public teckit
|
||||
(package
|
||||
(name "teckit")
|
||||
(version "2.5.7")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://github.com/silnrsi/teckit/releases/download/v"
|
||||
version "/teckit-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1pbp97vcpj6x4yixx6ww0vsi1rrr99fksxdjafs6gdargzd24cj4"))))
|
||||
(version "2.5.8")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/silnrsi/teckit")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1jmsdmfz7bgq1n5qsqgpq1b1n77f1hll0czfw5wkxz4knzb14ndn"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("zlib" ,zlib)
|
||||
|
@ -1062,16 +1062,16 @@ games.")
|
||||
(define-public godot
|
||||
(package
|
||||
(name "godot")
|
||||
(version "3.0.2")
|
||||
(version "3.0.4")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri
|
||||
(string-append "https://github.com/godotengine/godot/archive/"
|
||||
version "-stable.tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/godotengine/godot")
|
||||
(commit (string-append version "-stable"))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0ldnk3j4w2kh454mzclmq8nk7zqrn758yrqq85i4kzljpkf93g0m"))
|
||||
"0i4ssfb6igga9zwvsmahrnasx9cyqrsd6mlmssjgc482fy9q2kz4"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
|
@ -177,82 +177,70 @@ settings to tweak as well.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public cataclysm-dda
|
||||
(package
|
||||
(name "cataclysm-dda")
|
||||
(version "0.C")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/CleverRaven/Cataclysm-DDA/"
|
||||
"archive/" version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1xlajmgl9cviqyjpp5g5q4rbljy9gqc49v54bi8gpzr68s14gsb9"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
;; Import cmath header for the std::pow function.
|
||||
'(begin
|
||||
(for-each (lambda (file)
|
||||
(substitute* file
|
||||
(("#include <math.h>")
|
||||
"#include <cmath>")))
|
||||
(find-files "src"))
|
||||
#t))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out"))
|
||||
"USE_HOME_DIR=1" "DYNAMIC_LINKING=1" "RELEASE=1")
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'configure
|
||||
(lambda _
|
||||
(substitute* "Makefile"
|
||||
(("ncursesw5-config") "ncursesw6-config")
|
||||
(("RELEASE_FLAGS = -Werror") "RELEASE_FLAGS ="))
|
||||
#t))
|
||||
(add-after 'build 'build-tiles
|
||||
(lambda* (#:key make-flags outputs #:allow-other-keys)
|
||||
;; Change prefix directory and enable tile graphics and sound.
|
||||
(zero?
|
||||
(apply system* "make" "TILES=1" "SOUND=1"
|
||||
(string-append "PREFIX="
|
||||
(assoc-ref outputs "tiles"))
|
||||
(cdr make-flags)))))
|
||||
(add-after 'install 'install-tiles
|
||||
(lambda* (#:key make-flags outputs #:allow-other-keys)
|
||||
(zero?
|
||||
(apply system* "make" "install" "TILES=1" "SOUND=1"
|
||||
(string-append "PREFIX="
|
||||
(assoc-ref outputs "tiles"))
|
||||
(cdr make-flags))))))
|
||||
;; TODO: Add libtap++ from https://github.com/cbab/libtappp as a native
|
||||
;; input in order to support tests.
|
||||
#:tests? #f))
|
||||
(outputs '("out"
|
||||
"tiles")) ; For tile graphics and sound support.
|
||||
(native-inputs
|
||||
`(("gettext" ,gettext-minimal)
|
||||
("pkg-config" ,pkg-config)))
|
||||
(inputs
|
||||
`(("freetype" ,freetype)
|
||||
("libogg" ,libogg)
|
||||
("libvorbis" ,libvorbis)
|
||||
("ncurses" ,ncurses)
|
||||
("sdl2" ,sdl2)
|
||||
("sdl2-image" ,sdl2-image)
|
||||
("sdl2-ttf" ,sdl2-ttf)
|
||||
("sdl2-mixer" ,sdl2-mixer)))
|
||||
(home-page "http://en.cataclysmdda.com/")
|
||||
(synopsis "Survival horror roguelike video game")
|
||||
(description
|
||||
"Cataclysm: Dark Days Ahead is a roguelike set in a post-apocalyptic world.
|
||||
Struggle to survive in a harsh, persistent, procedurally generated world.
|
||||
Scavenge the remnants of a dead civilization for food, equipment, or, if you are
|
||||
lucky, a vehicle with a full tank of gas to get you out of Dodge. Fight to
|
||||
defeat or escape from a wide variety of powerful monstrosities, from zombies to
|
||||
giant insects to killer robots and things far stranger and deadlier, and against
|
||||
the others like yourself, that want what you have.")
|
||||
(license license:cc-by-sa3.0)))
|
||||
(let ((commit "ad3b0c3d521292d119f97a83390e7acfe9e9e7f7")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "cataclysm-dda")
|
||||
;; This denotes the version released after the 0.C release.
|
||||
;; Revert to a normal version number if updating to stable version 0.D.
|
||||
(version (git-version "0.C" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/CleverRaven/Cataclysm-DDA.git")
|
||||
(commit commit)))
|
||||
(sha256
|
||||
(base32
|
||||
"1kdgbl8zqd53f5yilm2c9nyq3w6585yxl5jvgxy65dlpzxcqqj7y"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out"))
|
||||
"USE_HOME_DIR=1" "DYNAMIC_LINKING=1" "RELEASE=1")
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure)
|
||||
(add-after 'build 'build-tiles
|
||||
(lambda* (#:key make-flags outputs #:allow-other-keys)
|
||||
;; Change prefix directory and enable tile graphics and sound.
|
||||
(apply invoke "make" "TILES=1" "SOUND=1"
|
||||
(string-append "PREFIX="
|
||||
(assoc-ref outputs "tiles"))
|
||||
(cdr make-flags))))
|
||||
(add-after 'install 'install-tiles
|
||||
(lambda* (#:key make-flags outputs #:allow-other-keys)
|
||||
(apply invoke "make" "install" "TILES=1" "SOUND=1"
|
||||
(string-append "PREFIX="
|
||||
(assoc-ref outputs "tiles"))
|
||||
(cdr make-flags)))))
|
||||
;; TODO: Add libtap++ from https://github.com/cbab/libtappp as a native
|
||||
;; input in order to support tests.
|
||||
#:tests? #f))
|
||||
(outputs '("out"
|
||||
"tiles")) ; For tile graphics and sound support.
|
||||
(native-inputs
|
||||
`(("gettext" ,gettext-minimal)
|
||||
("pkg-config" ,pkg-config)))
|
||||
(inputs
|
||||
`(("freetype" ,freetype)
|
||||
("libogg" ,libogg)
|
||||
("libvorbis" ,libvorbis)
|
||||
("ncurses" ,ncurses)
|
||||
("sdl2" ,sdl2)
|
||||
("sdl2-image" ,sdl2-image)
|
||||
("sdl2-ttf" ,sdl2-ttf)
|
||||
("sdl2-mixer" ,sdl2-mixer)))
|
||||
(home-page "http://en.cataclysmdda.com/")
|
||||
(synopsis "Survival horror roguelike video game")
|
||||
(description
|
||||
"Cataclysm: Dark Days Ahead is a roguelike set in a post-apocalyptic
|
||||
world. Struggle to survive in a harsh, persistent, procedurally generated
|
||||
world. Scavenge the remnants of a dead civilization for food, equipment, or,
|
||||
if you are lucky, a vehicle with a full tank of gas to get you out of Dodge.
|
||||
Fight to defeat or escape from a wide variety of powerful monstrosities, from
|
||||
zombies to giant insects to killer robots and things far stranger and deadlier,
|
||||
and against the others like yourself, that want what you have.")
|
||||
(license license:cc-by-sa3.0))))
|
||||
|
||||
(define-public cowsay
|
||||
(package
|
||||
@ -3678,46 +3666,43 @@ emerges from a sewer hole and pulls her below ground.")
|
||||
license:cc-by-sa3.0)))))
|
||||
|
||||
(define-public cdogs-sdl
|
||||
;; XXX: Use version 0.6.7 when it's available.
|
||||
(let ((commit "bab2031369b9ea2dbeb7eedbde10a43dd8ca83db")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "cdogs-sdl")
|
||||
(version (git-version "0.6.6" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/cxong/cdogs-sdl.git")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"09sfqhrrffhvxbhigvrxfmai52w01w3f9kjmixjhqvqlkhn77c9n"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
(list (string-append "-DCDOGS_DATA_DIR="
|
||||
(assoc-ref %outputs "out")
|
||||
"/share/cdogs-sdl/"))))
|
||||
(inputs
|
||||
`(("mesa" ,mesa)
|
||||
("sdl2" ,sdl2)
|
||||
("sdl2-image" ,sdl2-image)
|
||||
("sdl2-mixer" ,sdl2-mixer)))
|
||||
(home-page "https://cxong.github.io/cdogs-sdl/")
|
||||
(synopsis "Classic overhead run-and-gun game")
|
||||
(description "C-Dogs SDL is a classic overhead run-and-gun game,
|
||||
(package
|
||||
(name "cdogs-sdl")
|
||||
(version "0.6.7")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/cxong/cdogs-sdl.git")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1frafzsj3f83xkmn4llr7g728c82lcqi424ini1hv3gv5zjgpa15"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
(list (string-append "-DCDOGS_DATA_DIR="
|
||||
(assoc-ref %outputs "out")
|
||||
"/share/cdogs-sdl/"))))
|
||||
(inputs
|
||||
`(("mesa" ,mesa)
|
||||
("sdl2" ,sdl2)
|
||||
("sdl2-image" ,sdl2-image)
|
||||
("sdl2-mixer" ,sdl2-mixer)))
|
||||
(home-page "https://cxong.github.io/cdogs-sdl/")
|
||||
(synopsis "Classic overhead run-and-gun game")
|
||||
(description "C-Dogs SDL is a classic overhead run-and-gun game,
|
||||
supporting up to 4 players in co-op and deathmatch modes. Customize your
|
||||
player, choose from many weapons, and blast, slide and slash your way through
|
||||
over 100 user-created campaigns.")
|
||||
;; GPLv2+ for code (includes files under BSD-2 and BSD-3),
|
||||
;; CC0/CC-BY/CC-BY-SA for assets.
|
||||
(license (list license:gpl2+
|
||||
license:bsd-2
|
||||
license:bsd-3
|
||||
license:cc0
|
||||
license:cc-by3.0
|
||||
license:cc-by-sa3.0)))))
|
||||
;; GPLv2+ for code (includes files under BSD-2 and BSD-3),
|
||||
;; CC0/CC-BY/CC-BY-SA for assets.
|
||||
(license (list license:gpl2+
|
||||
license:bsd-2
|
||||
license:bsd-3
|
||||
license:cc0
|
||||
license:cc-by3.0
|
||||
license:cc-by-sa3.0))))
|
||||
|
||||
(define-public kiki
|
||||
(package
|
||||
|
@ -6,6 +6,7 @@
|
||||
;;; Copyright © 2015, 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2016 Carlos Sánchez de La Lama <csanchezdll@gmail.com>
|
||||
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@ -515,6 +516,20 @@ Go. It also includes runtime support libraries for these languages.")
|
||||
for several languages, including C, C++, Objective-C, Fortran, Ada, and Go.
|
||||
It also includes runtime support libraries for these languages.")))
|
||||
|
||||
(define-public gcc-8
|
||||
(package
|
||||
(inherit gcc-7)
|
||||
(version "8.1.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/gcc/gcc-"
|
||||
version "/gcc-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0lxil8x0jjx7zbf90cy1rli650akaa6hpk8wk8s62vk2jbwnc60x"))
|
||||
(patches (search-patches "gcc-8-strmov-store-file-names.patch"
|
||||
"gcc-5.0-libvtv-runpath.patch"))))))
|
||||
|
||||
;; Note: When changing the default gcc version, update
|
||||
;; the gcc-toolchain-* definitions and the gfortran definition
|
||||
;; accordingly.
|
||||
|
@ -30,7 +30,7 @@
|
||||
(define-public gnu-pw-mgr
|
||||
(package
|
||||
(name "gnu-pw-mgr")
|
||||
(version "2.3.1")
|
||||
(version "2.3.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
@ -38,7 +38,7 @@
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"05vv6n5sqdswhzm21cqn8m2p6avblxl3cv7b39nqx8yxf58gi2xv"))))
|
||||
"0x60g0syqpd107l8w4bl213imy2lspm4kz1j18yr1sh10rdxlgxd"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:phases
|
||||
|
@ -479,27 +479,43 @@ security standards.")
|
||||
(mozilla-patch "icecat-CVE-2018-5150-pt08.patch" "134c728799c1" "16hbwx6fx1hrddsyjjbd3z954ql3pg348xs13h9riyblq8crzmam")
|
||||
(mozilla-patch "icecat-CVE-2018-5150-pt09.patch" "14eab155eaa8" "0wr4xgblxzk4c2gvlnpl7ic1196mrhry1hgwdl1jivq0ji5cbvbd")
|
||||
(mozilla-patch "icecat-bug-1452619.patch" "2b75d55ccf0e" "1g87aybw6ggv6hyk385bplv0lx63n020gwyq0d6d4pqld48hsm1i")
|
||||
(mozilla-patch "icecat-bug-1453127.patch" "89857f35df29" "0gzi47svrw5ajdlm3i12193psm702zx70x5h1rwp4gb7gxh4m4d9")
|
||||
(mozilla-patch "icecat-CVE-2018-5156-pt1.patch" "89857f35df29" "0gzi47svrw5ajdlm3i12193psm702zx70x5h1rwp4gb7gxh4m4d9")
|
||||
(mozilla-patch "icecat-CVE-2018-5150-pt10.patch" "3f2ec03c0405" "0w02952dlxd2gmwghck2nm4rjjmc5ylg62bw6m1rvi35kcr134lr")
|
||||
(mozilla-patch "icecat-CVE-2018-5183.patch" "f729bf78fb3a" "0xkj6jwxwdqkvb5c7wi16b8cm8qrnlrd3s9jnd46jg03iykrx56f")
|
||||
(mozilla-patch "icecat-bug-1437842.patch" "eb896089db47" "10lppk4x2d3pim71a36ky1dmg08rs5ckfiljwvfnr1cw6934qxl4")
|
||||
(mozilla-patch "icecat-bug-1458270.patch" "2374dca97bde" "0y1g55wvj44nzb1qfkl271jcf8s1ik8lcl1785z0zim4qzn7qkpa")
|
||||
(mozilla-patch "icecat-bug-1452576.patch" "70b6298e0c9e" "0n5jfy6c421dkybk8m18vd61y95zz0r64g1p1zlya3fps5knfaqi")
|
||||
(mozilla-patch "icecat-bug-1459206-pt1.patch" "4ef79fe9b3b7" "1c32z1ki1i6xj1nbb0xlxwqnmz48ikmy8dmp37rkjz8ssn04wgfg")
|
||||
(mozilla-patch "icecat-bug-1459206-pt2.patch" "9ad16112044a" "0ayya67sx7avcb8bplfdxb92l9g4mjrb1s3hby283llhqv0ikg9b")
|
||||
(mozilla-patch "icecat-bug-1459162.patch" "11d8a87fb6d6" "1rkmdk18llw0x1jakix75hlhy0hpsmlminnflagbzrzjli81gwm1")
|
||||
(mozilla-patch "icecat-bug-1451297.patch" "407b10ad1273" "16qzsfirw045xag96f1qvpdlibm8lwdj9l1mlli4n1vz0db91v9q")
|
||||
(mozilla-patch "icecat-bug-1462682.patch" "e76e2e481b17" "0hnx13msjy28n3bpa2c24kpzalam4bdk5gnp0f9k671l48rs9yb3")
|
||||
(mozilla-patch "icecat-bug-1450688.patch" "2c75bfcd465c" "1pjinj8qypafqm2fk68s3hzcbzcijn09qzrpcxvzq6bl1yfc1xfd")
|
||||
(mozilla-patch "icecat-bug-1456975.patch" "042f80f3befd" "0av918kin4bkrq7gnjz0h9w8kkq8rk9l93250lfl5kqrinza1gsk")
|
||||
(mozilla-patch "icecat-bugs-1442722+1455071+1433642+1456604+1458320.patch"
|
||||
(mozilla-patch "icecat-CVE-2018-5188-pt01.patch" "eb896089db47" "10lppk4x2d3pim71a36ky1dmg08rs5ckfiljwvfnr1cw6934qxl4")
|
||||
(mozilla-patch "icecat-CVE-2018-5188-pt02.patch" "2374dca97bde" "0y1g55wvj44nzb1qfkl271jcf8s1ik8lcl1785z0zim4qzn7qkpa")
|
||||
(mozilla-patch "icecat-CVE-2018-5188-pt03.patch" "70b6298e0c9e" "0n5jfy6c421dkybk8m18vd61y95zz0r64g1p1zlya3fps5knfaqi")
|
||||
(mozilla-patch "icecat-CVE-2018-12365-pt1.patch" "4ef79fe9b3b7" "1c32z1ki1i6xj1nbb0xlxwqnmz48ikmy8dmp37rkjz8ssn04wgfg")
|
||||
(mozilla-patch "icecat-CVE-2018-12365-pt2.patch" "9ad16112044a" "0ayya67sx7avcb8bplfdxb92l9g4mjrb1s3hby283llhqv0ikg9b")
|
||||
(mozilla-patch "icecat-CVE-2018-12359.patch" "11d8a87fb6d6" "1rkmdk18llw0x1jakix75hlhy0hpsmlminnflagbzrzjli81gwm1")
|
||||
(mozilla-patch "icecat-CVE-2018-5188-pt04.patch" "407b10ad1273" "16qzsfirw045xag96f1qvpdlibm8lwdj9l1mlli4n1vz0db91v9q")
|
||||
(mozilla-patch "icecat-CVE-2018-6126.patch" "e76e2e481b17" "0hnx13msjy28n3bpa2c24kpzalam4bdk5gnp0f9k671l48rs9yb3")
|
||||
(mozilla-patch "icecat-CVE-2018-5188-pt05.patch" "2c75bfcd465c" "1pjinj8qypafqm2fk68s3hzcbzcijn09qzrpcxvzq6bl1yfc1xfd")
|
||||
(mozilla-patch "icecat-CVE-2018-5188-pt06.patch" "042f80f3befd" "0av918kin4bkrq7gnjz0h9w8kkq8rk9l93250lfl5kqrinza1gsk")
|
||||
(mozilla-patch "icecat-CVE-2018-5188-pt07+bugs-1455071+1433642+1456604+1458320.patch"
|
||||
"bb0451c9c4a0" "1lhm1b2a7c6jwhzsg3c830hfhp17p8j9zbcmgchpb8c5jkc3vw0x")
|
||||
(mozilla-patch "icecat-bug-1465108-pt1.patch" "8189b262e3b9" "13rh86ddwmj1bhv3ibbil3sv5xbqq1c9v1czgbsna5hxxkzc1y3b")
|
||||
(mozilla-patch "icecat-bug-1465108-pt2.patch" "9f81ae3f6e1d" "05vfg8a8jrzd93n1wvncmvdmqgf9cgsl8ryxgjs3032gbbjkga7q")
|
||||
(mozilla-patch "icecat-bug-1459693.patch" "face7a3dd5d7" "0jclw30mf693w8lrmvn0iankggj21nh4j3zh51q5363rj5xncdzx")
|
||||
(mozilla-patch "icecat-bug-1464829.patch" "7afb58c046c8" "1r0569r76712x7x1sw6xr0x06ilv6iw3fncb0f8r8b9mp6wrpx34")
|
||||
(mozilla-patch "icecat-bug-1452375-pt1.patch" "f1a745f8c42d" "11q73pb7a8f09xjzil4rhg5nr49zrnz1vb0prni0kqvrnppf5s40")
|
||||
(mozilla-patch "icecat-bug-1452375-pt2.patch" "1f9a430881cc" "0f79rv7njliqxx33z07n60b50jg0a596d1km7ayz2hivbl2d0168")))
|
||||
(mozilla-patch "icecat-CVE-2018-5188-pt08.patch" "8189b262e3b9" "13rh86ddwmj1bhv3ibbil3sv5xbqq1c9v1czgbsna5hxxkzc1y3b")
|
||||
(mozilla-patch "icecat-CVE-2018-5188-pt09.patch" "9f81ae3f6e1d" "05vfg8a8jrzd93n1wvncmvdmqgf9cgsl8ryxgjs3032gbbjkga7q")
|
||||
(mozilla-patch "icecat-CVE-2018-12360.patch" "face7a3dd5d7" "0jclw30mf693w8lrmvn0iankggj21nh4j3zh51q5363rj5xncdzx")
|
||||
(mozilla-patch "icecat-CVE-2018-5188-pt10.patch" "7afb58c046c8" "1r0569r76712x7x1sw6xr0x06ilv6iw3fncb0f8r8b9mp6wrpx34")
|
||||
(mozilla-patch "icecat-CVE-2018-12362-pt1.patch" "f1a745f8c42d" "11q73pb7a8f09xjzil4rhg5nr49zrnz1vb0prni0kqvrnppf5s40")
|
||||
(mozilla-patch "icecat-CVE-2018-12362-pt2.patch" "1f9a430881cc" "0f79rv7njliqxx33z07n60b50jg0a596d1km7ayz2hivbl2d0168")
|
||||
(mozilla-patch "icecat-CVE-2018-5188-pt11.patch" "28f4fc0a5141" "1a8f9z6c80in8ccj82ysdrcr2lqypp29l4acs50kwncm0c0b01zl")
|
||||
(mozilla-patch "icecat-CVE-2018-12363.patch" "ad5a53a1d2b1" "0rhl4r39ydb3lkfp5pkwvhhzqgfh33s9r7b7jccgkrx6f13xyq78")
|
||||
(mozilla-patch "icecat-CVE-2018-5188-pt12.patch" "0ddfc03c0454" "1b0xw2kj9765lvpl8iwr3wwcz40bdfp3dp4y9f546a61qsi9q9d6")
|
||||
(mozilla-patch "icecat-CVE-2018-5156-pt2.patch" "dbf36189a364" "1awbyhy0r79i03sns2p0m78f9hb6c7kp4hwia2khx4qszlsr4j95")
|
||||
(mozilla-patch "icecat-CVE-2018-5188-pt13.patch" "32509dfde003" "0cc3c92dgf5qynk093prq610c9x815l2fa24ddrw9czdzbwblsdq")
|
||||
(mozilla-patch "icecat-bug-1462912.patch" "f18535a212da" "0zkqz9il89f1s1yrp5c6hj6kysy2x02iy50vgwdj30lr56gkpzmk")
|
||||
(mozilla-patch "icecat-CVE-2018-5188-pt14.patch" "e8e9e1ef79f2" "0dc8p6fsppq3bhbpmp41f8mjxbr31pvgpga0a73dqdaicq5ydgj4")
|
||||
(search-patch "icecat-bug-1413868-pt1.patch")
|
||||
(mozilla-patch "icecat-CVE-2018-5188-pt15.patch" "9d4d31b2630d" "1lcbmsyi09kp80h1jgxj5l45zl24xn22h1lq7drbyjxsn1kggq4g")
|
||||
(mozilla-patch "icecat-CVE-2018-12366-pt1.patch" "edf2c7dff493" "06xmyk7nm54cm9m6qc59wz8cxxfa5r25mf2xzdzy74iq5hwa1ac8")
|
||||
(mozilla-patch "icecat-CVE-2018-5188-pt16.patch" "05549a4d1b80" "10q68cllshmmhlrbirm9h4gyc3ffrcpsxihfpcbxh90nv2h16jci")
|
||||
(mozilla-patch "icecat-CVE-2018-12364.patch" "67b2d8924841" "197riigbb6l30959pygr0zlv7vaims78dg1mh0pg33pa7cbna0ds")
|
||||
(mozilla-patch "icecat-CVE-2018-12366-pt2.patch" "528d4d997bb3" "0f375i96a404dkn0fanmd9pgfj3wyrhjfc5dwslw2s44gwfjhljb")
|
||||
(mozilla-patch "icecat-bug-1369771.patch" "fab16ad7f256" "0kd8qm04sjgfgfg8yw3ivcxazb1d7v430g86chw4n64qybsh9ka3")
|
||||
(mozilla-patch "icecat-CVE-2018-5188-pt17.patch" "068e249d02b4" "1iy9by1mg5qhp8502h31m8zm99aq2hx0c5n3hadd5pk11lfnq6ll")
|
||||
(mozilla-patch "icecat-bug-1413868-pt2.patch" "755067c14b06" "089dwqwzcdg1l6aimi0i65q4dgb2iny5h8yjx63h9zgv77n0700a")))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
|
@ -1,6 +1,6 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2014, 2015 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2018 Mathieu Othacehe <m.othacehe@gmail.com>
|
||||
;;;
|
||||
@ -147,7 +147,7 @@ between two other data points.")
|
||||
(define-public gama
|
||||
(package
|
||||
(name "gama")
|
||||
(version "1.22")
|
||||
(version "2.00")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
@ -155,7 +155,7 @@ between two other data points.")
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"01q3g2zi5d5r2l10hc8jwwz6w61dwkv7nyj9xd67vvq0gajw0a7r"))))
|
||||
"1p51jlzr6qqqvzx0sq8j7fxqfij62c3pjcsb53vgx0jx0qdqyjba"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments '(#:parallel-tests? #f)) ; race condition
|
||||
(native-inputs
|
||||
|
@ -724,6 +724,74 @@ format is also supported.")
|
||||
;; This was mthl's mcron development branch, and it became mcron 1.1.
|
||||
(deprecated-package "mcron2" mcron))
|
||||
|
||||
(define-public guile-hall
|
||||
(package
|
||||
(name "guile-hall")
|
||||
(version "0.1.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://gitlab.com/a-sassmannshausen/guile-hall")
|
||||
(commit "7d1094a12fe917209ce5b76c681cc8c862d4c65b")))
|
||||
(file-name "guile-hall-0.1.1-checkout")
|
||||
(sha256
|
||||
(base32
|
||||
"03kb09cjca98hlbx9mj12mqinzsnnvp6ci6i975n88pjhaxigyp1"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:modules
|
||||
((ice-9 match)
|
||||
(ice-9 ftw)
|
||||
,@%gnu-build-system-modules)
|
||||
#:phases
|
||||
(modify-phases
|
||||
%standard-phases
|
||||
(add-after
|
||||
'install
|
||||
'hall-wrap-binaries
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(bin (string-append out "/bin/"))
|
||||
(site (string-append out "/share/guile/site")))
|
||||
(match (scandir site)
|
||||
(("." ".." version)
|
||||
(let ((modules (string-append site "/" version))
|
||||
(compiled-modules
|
||||
(string-append
|
||||
out
|
||||
"/lib/guile/"
|
||||
version
|
||||
"/site-ccache")))
|
||||
(for-each
|
||||
(lambda (file)
|
||||
(wrap-program
|
||||
(string-append bin file)
|
||||
`("GUILE_LOAD_PATH" ":" prefix (,modules))
|
||||
`("GUILE_LOAD_COMPILED_PATH"
|
||||
":"
|
||||
prefix
|
||||
(,compiled-modules))))
|
||||
,(list 'list "hall"))
|
||||
#t)))))))))
|
||||
(native-inputs
|
||||
`(("autoconf" ,autoconf)
|
||||
("automake" ,automake)
|
||||
("pkg-config" ,pkg-config)
|
||||
("texinfo" ,texinfo)))
|
||||
(inputs `(("guile" ,guile-2.2)))
|
||||
(propagated-inputs
|
||||
`(("guile-config" ,guile-config)))
|
||||
(synopsis "Guile project tooling")
|
||||
(description
|
||||
"Hall is a command-line application and a set of Guile libraries that
|
||||
allow you to quickly create and publish Guile projects. It allows you to
|
||||
transparently support the GNU build system, manage a project hierarchy &
|
||||
provides tight coupling to Guix.")
|
||||
(home-page
|
||||
"https://gitlab.com/a-sassmannshausen/guile-hall")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public guile-ics
|
||||
(package
|
||||
(name "guile-ics")
|
||||
@ -767,14 +835,23 @@ The library is shipped with documentation in Info format and usage examples.")
|
||||
(define-public guile-lib
|
||||
(package
|
||||
(name "guile-lib")
|
||||
(version "0.2.5.1")
|
||||
(version "0.2.6")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://savannah/guile-lib/guile-lib-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"19q420i3is3d4jmkdqs5y7ir7ipp4s795saflqgwf6617cx2zpj4"))))
|
||||
"0n1lf5bsr5s9gqi07sdfkl1hpin6dzvkcj1xa63jd1w8aglwv8r1"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
;; 'pre-inst-env' sets an incorrect load path, missing the
|
||||
;; "/src" bit. Add it.
|
||||
(substitute* "pre-inst-env.in"
|
||||
(("abs_top_(builddir|srcdir)=([[:graph:]]+)" _ dir value)
|
||||
(string-append "abs_top_" dir "=" value "/src")))
|
||||
#t))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:make-flags
|
||||
@ -835,7 +912,8 @@ for Guile\".")
|
||||
"AC_SUBST([GUILE_EFFECTIVE_VERSION])\n")))
|
||||
(substitute* '("Makefile.am" "json/Makefile.am")
|
||||
(("moddir[[:blank:]]*=.*/share/guile/site" all)
|
||||
(string-append all "/@GUILE_EFFECTIVE_VERSION@")))))))
|
||||
(string-append all "/@GUILE_EFFECTIVE_VERSION@")))
|
||||
#t))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs `(("autoconf" ,autoconf)
|
||||
("automake" ,automake)
|
||||
@ -1206,58 +1284,31 @@ Guile's foreign function interface.")
|
||||
(deprecated-package "guile2.2-gdbm-ffi" guile-gdbm-ffi))
|
||||
|
||||
(define-public guile-sqlite3
|
||||
(let ((commit "10c13a7e02ab1655c8a758e560cafc9d6eff26f4")
|
||||
(revision "4"))
|
||||
(package
|
||||
(name "guile-sqlite3")
|
||||
(version (git-version "0.0" revision commit))
|
||||
|
||||
;; XXX: This used to be available read-only at
|
||||
;; <https://www.gitorious.org/guile-sqlite3/guile-sqlite3.git/> but it
|
||||
;; eventually disappeared, so we have our own copy here.
|
||||
(home-page "https://notabug.org/civodul/guile-sqlite3.git")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url home-page)
|
||||
(commit commit)))
|
||||
(sha256
|
||||
(base32
|
||||
"0nhhswpd7nb2f0gfr55fzcc2xm3l2xx4rbljsd1clrm8fj2d7q9d"))
|
||||
(file-name (string-append name "-" version "-checkout"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
;; Upgrade 'Makefile.am' to the current way of doing things.
|
||||
'(begin
|
||||
(substitute* "Makefile.am"
|
||||
(("TESTS_ENVIRONMENT")
|
||||
"TEST_LOG_COMPILER"))
|
||||
#t))))
|
||||
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("autoconf" ,autoconf)
|
||||
("automake" ,automake)
|
||||
("pkg-config" ,pkg-config)))
|
||||
(inputs
|
||||
`(("guile" ,guile-2.2)
|
||||
("sqlite" ,sqlite)))
|
||||
(arguments
|
||||
'(#:phases (modify-phases %standard-phases
|
||||
(add-after 'unpack 'autoreconf
|
||||
(lambda _
|
||||
(zero? (system* "autoreconf" "-vfi"))))
|
||||
(add-before 'build 'set-sqlite3-file-name
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* "sqlite3.scm"
|
||||
(("\"libsqlite3\"")
|
||||
(string-append "\"" (assoc-ref inputs "sqlite")
|
||||
"/lib/libsqlite3\"")))
|
||||
#t)))))
|
||||
(synopsis "Access SQLite databases from Guile")
|
||||
(description
|
||||
"This package provides Guile bindings to the SQLite database system.")
|
||||
(license license:gpl3+))))
|
||||
(package
|
||||
(name "guile-sqlite3")
|
||||
(version "0.1.0")
|
||||
(home-page "https://notabug.org/civodul/guile-sqlite3.git")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url home-page)
|
||||
(commit (string-append "v" version))))
|
||||
(sha256
|
||||
(base32
|
||||
"1nv8j7wk6b5n4p22szyi8lv8fs31rrzxhzz16gyj8r38c1fyp9qp"))
|
||||
(file-name (string-append name "-" version "-checkout"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("autoconf" ,autoconf)
|
||||
("automake" ,automake)
|
||||
("pkg-config" ,pkg-config)))
|
||||
(inputs
|
||||
`(("guile" ,guile-2.2)
|
||||
("sqlite" ,sqlite)))
|
||||
(synopsis "Access SQLite databases from Guile")
|
||||
(description
|
||||
"This package provides Guile bindings to the SQLite database system.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public haunt
|
||||
(package
|
||||
@ -1320,30 +1371,24 @@ interface for reading articles in any format.")
|
||||
(define-public guile-config
|
||||
(package
|
||||
(name "guile-config")
|
||||
(version "0.2")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/a-sassmannshausen/guile-config")
|
||||
(commit "guile-config-0.2")))
|
||||
(file-name (string-append name "-" version "-checkout"))
|
||||
(sha256
|
||||
(base32
|
||||
"07q86vqdwmm81wwxz1d1ah27hbhs6qbn8kiizrfpj0s4bf95w3r9"))))
|
||||
(version "0.3")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://gitlab.com/a-sassmannshausen/guile-config")
|
||||
(commit "ce12de3f438c6b2b59c43ee21bcd58251835fdf3")))
|
||||
(file-name "guile-config-0.3-checkout")
|
||||
(sha256 (base32 "02zbpin0r9m2vxmr7mv68v3xdn247dcck56kbzjn0gj4c2rhih85"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:phases (modify-phases %standard-phases
|
||||
(add-after 'unpack 'autoreconf
|
||||
(lambda _
|
||||
(zero? (system* "autoreconf" "-fi")))))))
|
||||
(native-inputs
|
||||
`(("autoconf" ,autoconf)
|
||||
("automake" ,automake)
|
||||
("pkg-config" ,pkg-config)
|
||||
("texinfo" ,texinfo)))
|
||||
(inputs
|
||||
`(("guile" ,guile-2.2)))
|
||||
(synopsis "Guile application configuration parsing library")
|
||||
(inputs `(("guile" ,guile-2.2)))
|
||||
(synopsis
|
||||
"Guile application configuration parsing library.")
|
||||
(description
|
||||
"Guile Config is a library providing a declarative approach to
|
||||
application configuration specification. The library provides clean
|
||||
@ -1352,7 +1397,8 @@ configuration file creation; configuration file parsing; command-line
|
||||
parameter parsing using getopt-long; basic GNU command-line parameter
|
||||
generation (--help, --usage, --version); automatic output generation for the
|
||||
above command-line parameters.")
|
||||
(home-page "https://github.com/a-sassmannshausen/guile-config")
|
||||
(home-page
|
||||
"https://gitlab.com/a-sassmannshausen/guile-config")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public guile-redis
|
||||
|
@ -60,7 +60,7 @@
|
||||
(define-public feh
|
||||
(package
|
||||
(name "feh")
|
||||
(version "2.26.3")
|
||||
(version "2.27")
|
||||
(home-page "https://feh.finalrewind.org/")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
@ -68,7 +68,7 @@
|
||||
name "-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"08aagymgajcvciagwy2zdxhicvdfnjmd2xyx9bqjy7l1n16ydwrz"))))
|
||||
"0kn6cka9m76697i495npd60ad64jnfnzv5z6znzyr0vlxx2nhcmg"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:phases (modify-phases %standard-phases (delete 'configure))
|
||||
|
@ -394,6 +394,7 @@ extracting icontainer icon files.")
|
||||
(define-public libtiff
|
||||
(package
|
||||
(name "libtiff")
|
||||
(replacement libtiff/fixed)
|
||||
(version "4.0.9")
|
||||
(source
|
||||
(origin
|
||||
@ -426,6 +427,17 @@ collection of tools for doing simple manipulations of TIFF images.")
|
||||
"See COPYRIGHT in the distribution."))
|
||||
(home-page "http://www.simplesystems.org/libtiff/")))
|
||||
|
||||
(define libtiff/fixed
|
||||
(package
|
||||
(inherit libtiff)
|
||||
(source
|
||||
(origin
|
||||
(inherit (package-source libtiff))
|
||||
(patches
|
||||
(append (origin-patches (package-source libtiff))
|
||||
(search-patches "libtiff-CVE-2018-8905.patch"
|
||||
"libtiff-CVE-2018-10963.patch")))))))
|
||||
|
||||
(define-public leptonica
|
||||
(package
|
||||
(name "leptonica")
|
||||
|
@ -47,14 +47,14 @@
|
||||
;; The 7 release series has an incompatible API, while the 6 series is still
|
||||
;; maintained. Don't update to 7 until we've made sure that the ImageMagick
|
||||
;; users are ready for the 7-series API.
|
||||
(version "6.9.9-43")
|
||||
(version "6.9.10-3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://imagemagick/ImageMagick-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"09vfxb1ljfma7mvkcqp17bs7adlrfh6kc6k9hifkhgxf51vr7hk6"))))
|
||||
"0njq3vp0f3d5992jsah5nhbc5id2bnl7myhdw669k0vmc55mmlcj"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags '("--with-frozenpaths" "--without-gcc-arch")
|
||||
|
@ -2683,7 +2683,16 @@ documentation tools.")
|
||||
"code.google.com/jarjar/jarjar-src-" version ".zip"))
|
||||
(sha256
|
||||
(base32
|
||||
"1v8irhni9cndcw1l1wxqgry013s2kpj0qqn57lj2ji28xjq8ndjl"))))
|
||||
"1v8irhni9cndcw1l1wxqgry013s2kpj0qqn57lj2ji28xjq8ndjl"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
;; Delete bundled thirds-party jar archives.
|
||||
;; TODO: unbundle maven-plugin-api.
|
||||
(delete-file "lib/asm-4.0.jar")
|
||||
(delete-file "lib/asm-commons-4.0.jar")
|
||||
(delete-file "lib/junit-4.8.1.jar")
|
||||
#t))))
|
||||
(build-system ant-build-system)
|
||||
(arguments
|
||||
`(;; Tests require junit, which ultimately depends on this package.
|
||||
@ -2691,6 +2700,26 @@ documentation tools.")
|
||||
#:build-target "jar"
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'build 'do-not-use-bundled-asm
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* "build.xml"
|
||||
(("<path id=\"path.build\">")
|
||||
(string-append "<path id=\"path.build\"><fileset dir=\""
|
||||
(assoc-ref inputs "java-asm-bootstrap")
|
||||
"/share/java\" includes=\"**/*.jar\"/>"))
|
||||
(("<zipfileset src=\"lib/asm-4.0.jar\"/>") "")
|
||||
(("lib/asm-commons-4.0.jar")
|
||||
(string-append (assoc-ref inputs "java-asm-bootstrap")
|
||||
"/share/java/asm-6.0.jar"))
|
||||
(("<include name=\"org/objectweb/asm/commons/Remap\\*\\.class\"/>")
|
||||
(string-append "<include name=\"org/objectweb/asm/"
|
||||
"commons/Remap*.class\"/>"
|
||||
"<include name=\"org/objectweb/asm/*.class\"/>"
|
||||
"<include name=\"org/objectweb/asm/"
|
||||
"signature/*.class\"/>"
|
||||
"<include name=\"org/objectweb/asm/"
|
||||
"commons/SignatureRemapper.class\"/>")))
|
||||
#t))
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((target (string-append (assoc-ref outputs "out")
|
||||
@ -2698,6 +2727,8 @@ documentation tools.")
|
||||
(install-file (string-append "dist/jarjar-" ,version ".jar")
|
||||
target))
|
||||
#t)))))
|
||||
(inputs
|
||||
`(("java-asm-bootstrap" ,java-asm-bootstrap)))
|
||||
(native-inputs
|
||||
`(("unzip" ,unzip)))
|
||||
(home-page "https://code.google.com/archive/p/jarjar/")
|
||||
@ -7111,7 +7142,8 @@ it manages project dependencies, gives diffs jars, and much more.")
|
||||
(name "java-aqute-libg-bootstrap")
|
||||
(arguments
|
||||
;; Disable tests, at this stage of bootstrap we have no test frameworks.
|
||||
`(#:tests? #f))
|
||||
(substitute-keyword-arguments (package-arguments java-aqute-libg)
|
||||
((#:tests? _ #f) #f)))
|
||||
(inputs
|
||||
`(("slf4j-bootstrap" ,java-slf4j-api-bootstrap)
|
||||
,@(delete `("slf4j" ,java-slf4j-api)
|
||||
|
@ -7,6 +7,7 @@
|
||||
;;; Copyright © 2016 Theodoros Foradis <theodoros@foradis.org>
|
||||
;;; Copyright © 2017 Jonathan Brielmaier <jonathan.brielmaier@web.de>
|
||||
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2018 Vagrant Cascadian <vagrant@debian.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@ -214,6 +215,49 @@ with usb4java.")
|
||||
implementing @code{javax.usb} (JSR-80).")
|
||||
(license expat)))
|
||||
|
||||
(define-public python-libusb1
|
||||
(package
|
||||
(name "python-libusb1")
|
||||
(version "1.6.4")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "libusb1" version))
|
||||
(sha256
|
||||
(base32
|
||||
"03b7xrz8vqg8w0za5r503jhcmbd1ls5610jcja1rqz833nf0v4wc"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:modules ((srfi srfi-1)
|
||||
(guix build utils)
|
||||
(guix build python-build-system))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'install-license-files 'remove-incorrect-license
|
||||
(lambda* (#:key out #:allow-other-keys)
|
||||
;; Was relicensed to LGPL 2.1+, but old COPYING file still left
|
||||
;; in source. Remove it so it does not get installed.
|
||||
(delete-file "COPYING")
|
||||
#t))
|
||||
(add-after 'unpack 'fix-libusb-reference
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* "usb1/libusb1.py"
|
||||
(("libusb_path = ctypes.util.find_library\\(base_name\\)")
|
||||
(string-append
|
||||
"libusb_path = \""
|
||||
(find (negate symbolic-link?)
|
||||
(find-files (assoc-ref inputs "libusb")
|
||||
"^libusb.*\\.so\\..*"))
|
||||
"\"")))
|
||||
#t)))))
|
||||
(inputs `(("libusb" ,libusb)))
|
||||
(home-page "https://github.com/vpelletier/python-libusb1")
|
||||
(synopsis "Pure-python wrapper for libusb-1.0")
|
||||
(description "Libusb is a library that gives applications easy access to
|
||||
USB devices on various operating systems. This package provides a Python
|
||||
wrapper for accessing libusb-1.0.")
|
||||
(license lgpl2.1+)))
|
||||
|
||||
(define-public python-pyusb
|
||||
(package
|
||||
(name "python-pyusb")
|
||||
|
@ -402,8 +402,8 @@ It has been modified to remove all non-free binary blobs.")
|
||||
;; supports qemu "virt" machine and possibly a large number of ARM boards.
|
||||
;; See : https://wiki.debian.org/DebianKernel/ARMMP.
|
||||
|
||||
(define %linux-libre-version "4.17.2")
|
||||
(define %linux-libre-hash "0xkswi9vhbzi466pqvyli7glkvdyxhphn8yjg69kpw37rpw8ix5l")
|
||||
(define %linux-libre-version "4.17.3")
|
||||
(define %linux-libre-hash "06mjbs3i0xq1h1cgr6xldr6a8rxsy30mf86wp3n2ff6l5v78iw2q")
|
||||
|
||||
(define-public linux-libre
|
||||
(make-linux-libre %linux-libre-version
|
||||
@ -411,8 +411,8 @@ It has been modified to remove all non-free binary blobs.")
|
||||
%linux-compatible-systems
|
||||
#:configuration-file kernel-config))
|
||||
|
||||
(define %linux-libre-4.14-version "4.14.51")
|
||||
(define %linux-libre-4.14-hash "1ifczslgp3ng0948l5p0khcnfkv9i44mq0bzk1y8mwdhy4mik0b9")
|
||||
(define %linux-libre-4.14-version "4.14.52")
|
||||
(define %linux-libre-4.14-hash "0lx916iw33n32h1fca59r7mh6l2smyml6igvzhimcah62hqx4rk8")
|
||||
|
||||
(define-public linux-libre-4.14
|
||||
(make-linux-libre %linux-libre-4.14-version
|
||||
@ -421,8 +421,8 @@ It has been modified to remove all non-free binary blobs.")
|
||||
#:configuration-file kernel-config))
|
||||
|
||||
(define-public linux-libre-4.9
|
||||
(make-linux-libre "4.9.109"
|
||||
"1i27fmlr0b05n4qri2vxdbg0qddwk1clyaramwbl3w0w10k63qkc"
|
||||
(make-linux-libre "4.9.110"
|
||||
"0nzfna9w9a45y521d3dcxkdv66gn38n4pq814rdqazk74qb5macn"
|
||||
%intel-compatible-systems
|
||||
#:configuration-file kernel-config))
|
||||
|
||||
|
@ -49,6 +49,7 @@
|
||||
#:use-module (gnu packages maths)
|
||||
#:use-module (gnu packages mpi)
|
||||
#:use-module (gnu packages ocaml)
|
||||
#:use-module (gnu packages onc-rpc)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages python)
|
||||
@ -233,7 +234,7 @@ classification.")
|
||||
#t))
|
||||
(add-after 'disable-broken-tests 'autogen
|
||||
(lambda _
|
||||
(zero? (system* "bash" "autogen.sh")))))))
|
||||
(invoke "bash" "autogen.sh"))))))
|
||||
(inputs
|
||||
`(("python" ,python-2) ; only Python 2 is supported
|
||||
("libxml2" ,libxml2)))
|
||||
@ -667,15 +668,18 @@ and a QP solver.")
|
||||
;; No test target, so we build and run the unit tests here.
|
||||
(let ((test-dir (string-append "../dlib-" ,version "/dlib/test")))
|
||||
(with-directory-excursion test-dir
|
||||
(and (zero? (system* "make" "-j" (number->string (parallel-job-count))))
|
||||
(zero? (system* "./dtest" "--runall")))))))
|
||||
(invoke "make" "-j" (number->string (parallel-job-count)))
|
||||
(invoke "./dtest" "--runall"))
|
||||
#t)))
|
||||
(add-after 'install 'delete-static-library
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(delete-file (string-append (assoc-ref outputs "out")
|
||||
"/lib/libdlib.a"))
|
||||
#t)))))
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
`(("pkg-config" ,pkg-config)
|
||||
;; For tests.
|
||||
("libnsl" ,libnsl)))
|
||||
(inputs
|
||||
`(("giflib" ,giflib)
|
||||
("lapack" ,lapack)
|
||||
@ -726,7 +730,7 @@ computing environments.")
|
||||
(setenv "HOME" "/tmp")
|
||||
;; Step out of the source directory just to be sure.
|
||||
(chdir "..")
|
||||
(zero? (system* "nosetests" "-v" "sklearn")))))))
|
||||
(invoke "nosetests" "-v" "sklearn"))))))
|
||||
(inputs
|
||||
`(("openblas" ,openblas)))
|
||||
(native-inputs
|
||||
|
@ -3,7 +3,7 @@
|
||||
;;; Copyright © 2015 David Thompson <davet@gnu.org>
|
||||
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2017 Nils Gillmann <ng0@n0.is>
|
||||
;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@ -137,10 +137,9 @@ convert it to structurally valid XHTML (or HTML).")
|
||||
(replace 'configure
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(setenv "CC" "gcc")
|
||||
(zero? (system*
|
||||
"./configure.sh"
|
||||
(invoke "./configure.sh"
|
||||
(string-append "--prefix=" (assoc-ref outputs "out"))
|
||||
"--shared")))))))
|
||||
"--shared"))))))
|
||||
(synopsis "Markdown processing library, written in C")
|
||||
(description
|
||||
"Discount is a markdown implementation, written in C. It provides a
|
||||
|
@ -1400,12 +1400,18 @@ script files.")
|
||||
(define-public qtoctave
|
||||
(package (inherit octave)
|
||||
(name "qtoctave")
|
||||
(source (origin
|
||||
(inherit (package-source octave))
|
||||
(patches (append (origin-patches (package-source octave))
|
||||
(search-patches
|
||||
"qtoctave-qt-5.11-fix.patch")))))
|
||||
(inputs
|
||||
`(("qscintilla" ,qscintilla)
|
||||
("qt" ,qtbase)
|
||||
,@(package-inputs octave)))
|
||||
(native-inputs
|
||||
`(("qttools" , qttools) ;for lrelease
|
||||
("texlive" ,texlive) ;for texi2dvi
|
||||
,@(package-native-inputs octave)))
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments octave)
|
||||
@ -1598,7 +1604,7 @@ September 2004}")
|
||||
,@configure-flags)))
|
||||
(format #t "build directory: ~s~%" (getcwd))
|
||||
(format #t "configure flags: ~s~%" flags)
|
||||
(zero? (apply system* "./configure" flags)))))
|
||||
(apply invoke "./configure" flags))))
|
||||
(add-after 'configure 'clean-local-references
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
@ -1755,7 +1761,8 @@ savings are consistently > 5x.")
|
||||
;; documentation is difficult.
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out")))
|
||||
(for-each delete-file (find-files out "\\.html$")))))
|
||||
(for-each delete-file (find-files out "\\.html$"))
|
||||
#t)))
|
||||
(add-after 'install 'clean-install
|
||||
;; Clean up unnecessary build logs from installation.
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
@ -1766,7 +1773,8 @@ savings are consistently > 5x.")
|
||||
(delete-file f))))
|
||||
'("configure.log" "make.log" "gmake.log"
|
||||
"test.log" "error.log" "RDict.db"
|
||||
"uninstall.py"))))))))
|
||||
"uninstall.py"))
|
||||
#t))))))
|
||||
(home-page "http://slepc.upv.es")
|
||||
(synopsis "Scalable library for eigenproblems")
|
||||
(description "SLEPc is a software library for the solution of large sparse
|
||||
@ -1911,8 +1919,8 @@ IORDERINGSC = $(IPORD) $(IMETIS) $(ISCOTCH)"
|
||||
;; By default only the d-precision library is built. Make with "all"
|
||||
;; target so that all precision libraries and examples are built.
|
||||
(lambda _
|
||||
(zero? (system* "make" "all"
|
||||
(format #f "-j~a" (parallel-job-count))))))
|
||||
(invoke "make" "all"
|
||||
(format #f "-j~a" (parallel-job-count)))))
|
||||
(replace 'check
|
||||
;; Run the simple test drivers, which read test input from stdin:
|
||||
;; from the "real" input for the single- and double-precision
|
||||
@ -2231,11 +2239,11 @@ CDEFS = -DAdd_"
|
||||
;; isn't used anyway.)
|
||||
(setenv "OMPI_MCA_plm_rsh_agent" (which "cat"))
|
||||
(with-directory-excursion "EXAMPLE"
|
||||
(and
|
||||
(zero? (system* "mpirun" "-n" "2"
|
||||
"./pddrive" "-r" "1" "-c" "2" "g20.rua"))
|
||||
(zero? (system* "mpirun" "-n" "2"
|
||||
"./pzdrive" "-r" "1" "-c" "2" "cg20.cua"))))))
|
||||
(invoke "mpirun" "-n" "2"
|
||||
"./pddrive" "-r" "1" "-c" "2" "g20.rua")
|
||||
(invoke "mpirun" "-n" "2"
|
||||
"./pzdrive" "-r" "1" "-c" "2" "cg20.cua"))
|
||||
#t))
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
;; Library is placed in lib during the build phase. Copy over
|
||||
@ -2283,7 +2291,7 @@ implemented in ANSI C, and MPI for communications.")
|
||||
(modify-phases %standard-phases
|
||||
(add-after
|
||||
'unpack 'chdir-to-src
|
||||
(lambda _ (chdir "src")))
|
||||
(lambda _ (chdir "src") #t))
|
||||
(replace
|
||||
'configure
|
||||
(lambda _
|
||||
@ -2320,7 +2328,8 @@ YACC = bison -pscotchyy -y -b y
|
||||
;; XXX: Causes invalid frees in superlu-dist tests
|
||||
;; "SCOTCH_PTHREAD"
|
||||
;; "SCOTCH_PTHREAD_NUMBER=2"
|
||||
"restrict=__restrict"))))))
|
||||
"restrict=__restrict"))))
|
||||
#t))
|
||||
(add-after
|
||||
'build 'build-esmumps
|
||||
(lambda _
|
||||
@ -2330,24 +2339,25 @@ YACC = bison -pscotchyy -y -b y
|
||||
;; isn't used anyway.)
|
||||
(setenv "OMPI_MCA_plm_rsh_agent" (which "cat"))
|
||||
|
||||
(zero? (system* "make"
|
||||
(format #f "-j~a" (parallel-job-count))
|
||||
"esmumps"))))
|
||||
(invoke "make"
|
||||
(format #f "-j~a" (parallel-job-count))
|
||||
"esmumps")))
|
||||
(replace
|
||||
'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(mkdir out)
|
||||
(zero? (system* "make"
|
||||
(string-append "prefix=" out)
|
||||
"install"))
|
||||
(invoke "make"
|
||||
(string-append "prefix=" out)
|
||||
"install")
|
||||
;; esmumps files are not installed with the above
|
||||
(for-each (lambda (f)
|
||||
(copy-file f (string-append out "/include/" f)))
|
||||
(find-files "../include" ".*esmumps.h$"))
|
||||
(for-each (lambda (f)
|
||||
(copy-file f (string-append out "/lib/" f)))
|
||||
(find-files "../lib" "^lib.*esmumps.*"))))))))
|
||||
(find-files "../lib" "^lib.*esmumps.*"))
|
||||
#t))))))
|
||||
(home-page "http://www.labri.fr/perso/pelegrin/scotch/")
|
||||
(synopsis "Programs and libraries for graph algorithms")
|
||||
(description "SCOTCH is a set of programs and libraries which implement
|
||||
|
@ -73,7 +73,7 @@ extensive examples, including parsers for the Javascript and C99 languages.")
|
||||
(let ((triplet "i686-unknown-linux-gnu"))
|
||||
(package
|
||||
(name "mes")
|
||||
(version "0.15")
|
||||
(version "0.16")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://gitlab.com/janneke/mes"
|
||||
@ -81,7 +81,7 @@ extensive examples, including parsers for the Javascript and C99 languages.")
|
||||
"/mes-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0kj2ywgii1795gxj6k29zxa0848h2j0ihbwlgn55wdalswl165dq"))))
|
||||
"0c4vz1qw767af5h615055hh8zjwwmwf5mwkb64l0l921zaa9hg2n"))))
|
||||
(build-system gnu-build-system)
|
||||
(supported-systems '("i686-linux" "x86_64-linux"))
|
||||
(propagated-inputs
|
||||
@ -120,7 +120,7 @@ Guile-] Scheme interpreter prototype in C and a Nyacc-based C compiler in
|
||||
(define-public mescc-tools
|
||||
(package
|
||||
(name "mescc-tools")
|
||||
(version "0.4")
|
||||
(version "0.5.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
@ -130,7 +130,7 @@ Guile-] Scheme interpreter prototype in C and a Nyacc-based C compiler in
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1iwc8xqwzdaqckb4jkkisljrgn8ii4bl7dzk1l2kpv98hsyq9vi1"))))
|
||||
"0rsxbjc3bg0jl3h7ai4hndxx2iyyk8bvwj9nd3xv2vgz3bmypnah"))))
|
||||
(build-system gnu-build-system)
|
||||
(supported-systems '("i686-linux" "x86_64-linux"))
|
||||
(arguments
|
||||
|
@ -276,7 +276,7 @@ information about tracks being played to a scrobbler, such as Libre.FM.")
|
||||
'(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda _ (zero? (system* "python" "mpd_test.py")))))))
|
||||
(lambda _ (invoke "python" "mpd_test.py"))))))
|
||||
(native-inputs `(("python-mock" ,python-mock)))
|
||||
(home-page "https://github.com/Mic92/python-mpd2")
|
||||
(synopsis "Python MPD client library")
|
||||
|
@ -17,6 +17,7 @@
|
||||
;;; Copyright © 2018 nee <nee.git@hidamari.blue>
|
||||
;;; Copyright © 2018 Stefan Reichör <stefan@xsteve.at>
|
||||
;;; Copyright © 2018 Pierre Neidhardt <ambrevar@gmail.com>
|
||||
;;; Copyright © 2018 Ludovic Courtès <ludo@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@ -43,6 +44,7 @@
|
||||
#:use-module (guix build-system ant)
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix build-system meson)
|
||||
#:use-module (guix build-system perl)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (guix build-system scons)
|
||||
#:use-module (guix build-system glib-or-gtk)
|
||||
@ -104,6 +106,7 @@
|
||||
#:use-module (gnu packages pcre)
|
||||
#:use-module (gnu packages pdf)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages perl-web)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages protobuf)
|
||||
#:use-module (gnu packages pulseaudio) ;libsndfile
|
||||
@ -3510,16 +3513,16 @@ audio samples and various soft sythesizers. It can receive input from a MIDI ke
|
||||
(define-public musescore
|
||||
(package
|
||||
(name "musescore")
|
||||
(version "2.2.1")
|
||||
(version "2.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://github.com/musescore/MuseScore/archive/"
|
||||
"v" version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/musescore/MuseScore.git")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1ml99ayzpdyd18cypcp0lbsbasfg3abw57i5fl7ph5739vikj6i6"))
|
||||
"1y5x0a40x7ji4g4181adm95qxk2dfjiy5xb5wksps90ji9q2qlcs"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
;; Un-bundle OpenSSL and remove unused libraries.
|
||||
@ -3540,8 +3543,8 @@ audio samples and various soft sythesizers. It can receive input from a MIDI ke
|
||||
`(,(string-append "PREFIX=" (assoc-ref %outputs "out"))
|
||||
"USE_SYSTEM_FREETYPE=ON"
|
||||
"DOWNLOAD_SOUNDFONT=OFF"
|
||||
;; The following is not supported since Qt 5.11. Can be
|
||||
;; removed in Musescore 2.2.2+.
|
||||
;; The following is not supported since Qt 5.11. May be removed in
|
||||
;; a future release.
|
||||
"BUILD_WEBKIT=OFF")
|
||||
;; There are tests, but no simple target to run. The command
|
||||
;; used to run them is:
|
||||
@ -3554,14 +3557,6 @@ audio samples and various soft sythesizers. It can receive input from a MIDI ke
|
||||
#:tests? #f
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
;; Fix Qt 5.11 upgrade. Should be fixed in 2.2.2+, see:
|
||||
;; <https://github.com/musescore/MuseScore/commit/d10e70415c8e52e2ba9d45de564467e42f66c102>
|
||||
(add-after 'unpack 'patch-sources
|
||||
(lambda _
|
||||
(substitute* "all.h"
|
||||
(("#include <QRadioButton>") "#include <QRadioButton>
|
||||
#include <QButtonGroup>"))
|
||||
#t))
|
||||
(delete 'configure))))
|
||||
(inputs
|
||||
`(("alsa-lib" ,alsa-lib)
|
||||
@ -4019,6 +4014,57 @@ mb_client, is a development library geared towards developers who wish to add
|
||||
MusicBrainz lookup capabilities to their applications.")
|
||||
(license license:lgpl2.1+)))
|
||||
|
||||
(define-public perl-musicbrainz-discid
|
||||
(package
|
||||
(name "perl-musicbrainz-discid")
|
||||
(version "0.04")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"mirror://cpan/authors/id/N/NJ/NJH/MusicBrainz-DiscID-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1i4qk1qfcmxdibqkyfjrrjdq2zk42vjcz590qgiyc47fi9p6xx1j"))))
|
||||
(build-system perl-build-system)
|
||||
(native-inputs `(("pkg-config" ,pkg-config)
|
||||
("which" ,which)))
|
||||
(inputs `(("libdiscid" ,libdiscid)))
|
||||
(home-page "https://metacpan.org/release/MusicBrainz-DiscID")
|
||||
(synopsis "Perl interface to the MusicBrainz libdiscid library")
|
||||
(description
|
||||
"The @code{MusicBrainz::DiscID} module is a Perl interface to the
|
||||
MusicBrainz libdiscid library, allowing you to manipulate digital audio
|
||||
compact disc (CDDA) identifiers.")
|
||||
(license license:gpl2)))
|
||||
|
||||
(define-public perl-webservice-musicbrainz
|
||||
(package
|
||||
(name "perl-webservice-musicbrainz")
|
||||
(version "1.0.4")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"mirror://cpan/authors/id/B/BF/BFAIST/WebService-MusicBrainz-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"182z3xjajk6s7k5xm3kssjy3hqx2qbnq4f8864hma098ryy2ph3a"))))
|
||||
(build-system perl-build-system)
|
||||
(arguments
|
||||
;; Tests try to connect to http://musicbrainz.org.
|
||||
'(#:tests? #f))
|
||||
(native-inputs
|
||||
`(("perl-module-build" ,perl-module-build)))
|
||||
(propagated-inputs
|
||||
`(("perl-mojolicious" ,perl-mojolicious)))
|
||||
(home-page "https://metacpan.org/release/WebService-MusicBrainz")
|
||||
(synopsis "Web service API to the MusicBrainz database")
|
||||
(description
|
||||
"This module searches the MusicBrainz database through their web service
|
||||
at @code{musicbrainz.org}.")
|
||||
(license license:perl-license)))
|
||||
|
||||
(define-public clyrics
|
||||
(package
|
||||
(name "clyrics")
|
||||
|
@ -4,6 +4,7 @@
|
||||
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
|
||||
;;; Copyright © 2015, 2018 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@ -163,8 +164,8 @@ minimalist than ntpd.")
|
||||
;; date that is recorded in binaries. It must be a
|
||||
;; "recent date" since it is used to detect bogus dates
|
||||
;; received from servers.
|
||||
(setenv "COMPILE_DATE" (number->string 1450563040))
|
||||
(zero? (system* "sh" "autogen.sh")))))))
|
||||
(setenv "COMPILE_DATE" (number->string 1530144000))
|
||||
(invoke "sh" "autogen.sh"))))))
|
||||
(inputs `(("openssl" ,openssl)
|
||||
("libevent" ,libevent)))
|
||||
(native-inputs `(("pkg-config" ,pkg-config)
|
||||
|
@ -21,9 +21,21 @@
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix packages)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (gnu packages python))
|
||||
#:use-module (guix packages)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages gl)
|
||||
#:use-module (gnu packages gnupg)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages libedit)
|
||||
#:use-module (gnu packages llvm)
|
||||
#:use-module (gnu packages ncurses)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages ruby)
|
||||
#:use-module (gnu packages video)
|
||||
#:use-module (gnu packages xdisorg)
|
||||
#:use-module (gnu packages xorg))
|
||||
|
||||
;; This file adds OpenCL implementation related packages. Due to the fact that
|
||||
;; OpenCL devices are not available during build (store environment), tests are
|
||||
@ -118,3 +130,161 @@ programming.")
|
||||
(description
|
||||
"This package provides the @dfn{host API} C++ headers for OpenCL.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public ocl-icd
|
||||
(package
|
||||
(name "ocl-icd")
|
||||
(version "2.2.12")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://forge.imag.fr/frs/download.php/836/ocl-icd-"
|
||||
version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1x2dr8p4dkfds56r38av360i3nv1y3326jmshxvjngaf6mlg6rbn"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(delete-file-recursively "khronos-headers"))))
|
||||
(native-inputs
|
||||
`(("opencl-headers" ,opencl-headers)
|
||||
("ruby" ,ruby)))
|
||||
(inputs
|
||||
`(("libgcrypt" ,libgcrypt)))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:configure-flags '("DEBUG_OCL_ICD=1")))
|
||||
(native-search-paths
|
||||
(list (search-path-specification
|
||||
(variable "OPENCL_VENDOR_PATH")
|
||||
(files '("etc/OpenCL/vendors")))))
|
||||
(search-paths native-search-paths)
|
||||
(home-page "https://forge.imag.fr/projects/ocl-icd/")
|
||||
(synopsis "OpenCL loader for Installable Client Drivers (ICDs)")
|
||||
(description
|
||||
"OpenCL implementations are provided as ICDs (Installable Client
|
||||
Drivers). An OpenCL program can use several ICDs thanks to the use of an ICD
|
||||
Loader as provided by this package.")
|
||||
(license license:bsd-2)))
|
||||
|
||||
(define-public clinfo
|
||||
(package
|
||||
(name "clinfo")
|
||||
(version "2.2.18.04.06")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://github.com/Oblomov/clinfo/archive/"
|
||||
version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0v7cy01irwdgns6lzaprkmm0502pp5a24zhhffydxz1sgfjj2w7p"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("opencl-headers" ,opencl-headers)))
|
||||
(inputs
|
||||
`(("ocl-icd" ,ocl-icd)))
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure)
|
||||
(replace 'build
|
||||
(lambda _
|
||||
(let ((cores (number->string (parallel-job-count))))
|
||||
(setenv "CC" "gcc")
|
||||
(invoke "make" "-j" cores))))
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(invoke "make" "install" (string-append
|
||||
"PREFIX="
|
||||
(assoc-ref outputs "out"))))))
|
||||
#:tests? #f))
|
||||
(home-page "https://github.com/Oblomov/clinfo")
|
||||
(synopsis "Print information about OpenCL platforms and devices")
|
||||
;; Only the implementation installed via Guix will be detected.
|
||||
(description
|
||||
"This package provides the @command{clinfo} command that enumerates all
|
||||
possible (known) properties of the OpenCL platform and devices available on
|
||||
the system.")
|
||||
(license license:cc0)))
|
||||
|
||||
(define-public beignet
|
||||
(package
|
||||
(name "beignet")
|
||||
(version "1.3.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://github.com/intel/beignet/archive/Release_v"
|
||||
version
|
||||
".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"18r0lq3dkd4yn6bxa45s2lrr9cjbg70nr2nn6xablvgqwzw0jb0r"))
|
||||
(patches (search-patches "beignet-correct-file-names.patch"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
;; There's a suspicious .isa binary file under kernels/.
|
||||
;; Remove it.
|
||||
'(for-each delete-file (find-files "." "\\.isa$")))))
|
||||
(native-inputs `(("pkg-config" ,pkg-config)
|
||||
("python" ,python)))
|
||||
(inputs `(("clang@3.7" ,clang-3.7)
|
||||
("clang-runtime@3.7" ,clang-runtime-3.7)
|
||||
("glu" ,glu)
|
||||
("llvm@3.7" ,llvm-3.7)
|
||||
("libdrm" ,libdrm)
|
||||
("libedit" ,libedit)
|
||||
("libpthread-stubs", libpthread-stubs)
|
||||
("libsm" ,libsm)
|
||||
("libva" ,libva)
|
||||
("libxfixes" ,libxfixes)
|
||||
("libxext" ,libxext)
|
||||
("mesa-utils" ,mesa-utils)
|
||||
("ncurses" ,ncurses)
|
||||
("ocl-icd" ,ocl-icd)
|
||||
("opencl-headers" ,opencl-headers)
|
||||
("xextproto" ,xextproto)
|
||||
("zlib" ,zlib)))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
(list (string-append "-DCLANG_LIBRARY_DIR="
|
||||
(assoc-ref %build-inputs "clang@3.7") "/lib")
|
||||
"-DENABLE_GL_SHARING=ON"
|
||||
"-DEXPERIMENTAL_DOUBLE=ON")
|
||||
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'install 'remove-headers
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(delete-file-recursively
|
||||
(string-append out "/include"))
|
||||
#t)))
|
||||
(add-after 'remove-headers 'install-kernels
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(builddir (getcwd))
|
||||
(source-dir (string-append
|
||||
builddir
|
||||
"/../beignet-Release_v1.3.2/kernels")))
|
||||
(copy-recursively source-dir
|
||||
(string-append out "/lib/beignet/kernels"))
|
||||
#t))))
|
||||
;; Beignet tries to find GPU when running tests, which is not available
|
||||
;; during build.
|
||||
#:tests? #f))
|
||||
(home-page "https://wiki.freedesktop.org/www/Software/Beignet/")
|
||||
(synopsis "OpenCL framework for Intel GPUs")
|
||||
(description
|
||||
"Beignet is an implementation of the OpenCL specification. This code
|
||||
base contains the code to run OpenCL programs on Intel GPUs---IvyBridge,
|
||||
Haswell, Skylake, Apollolake, etc. It defines and implements the OpenCL host
|
||||
functions required to initialize the device, create the command queues, the
|
||||
kernels and the programs, and run them on the GPU. The code also contains a
|
||||
back-end for the LLVM compiler framework.")
|
||||
(license license:lgpl2.1+)))
|
||||
|
@ -2,7 +2,7 @@
|
||||
;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2015, 2017 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2017 Muriithi Frederick Muriuki <fredmanglis@gmail.com>
|
||||
;;; Copyright © 2017 Oleg Pykhalov <go.wigust@gmail.com>
|
||||
;;; Copyright © 2017, 2018 Oleg Pykhalov <go.wigust@gmail.com>
|
||||
;;; Copyright © 2017 Roel Janssen <roel@gnu.org>
|
||||
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2018 Julien Lepiller <julien@lepiller.eu>
|
||||
@ -41,6 +41,7 @@
|
||||
#:use-module (gnu packages curl)
|
||||
#:use-module (gnu packages databases)
|
||||
#:use-module (gnu packages docbook)
|
||||
#:use-module (gnu packages emacs)
|
||||
#:use-module (gnu packages file)
|
||||
#:use-module (gnu packages gettext)
|
||||
#:use-module (gnu packages glib)
|
||||
@ -433,20 +434,27 @@ sub-directory.")
|
||||
|
||||
(define-public emacs-nix-mode
|
||||
(package
|
||||
(inherit nix)
|
||||
(name "emacs-nix-mode")
|
||||
(version "1.2.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/NixOS/nix-mode/archive/v"
|
||||
version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"06aqz0czznsj8835jqnk794sy2p6pa8kxfqwh0nl5d5vxivria6z"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'chdir-elisp
|
||||
;; Elisp directory is not in root of the source.
|
||||
(lambda _
|
||||
(chdir "misc/emacs"))))))
|
||||
(inputs
|
||||
`(("emacs-company" ,emacs-company)
|
||||
("emacs-mmm-mode" ,emacs-mmm-mode)))
|
||||
(home-page "https://github.com/NixOS/nix-mode")
|
||||
(synopsis "Emacs major mode for editing Nix expressions")
|
||||
(description "@code{nixos-mode} provides an Emacs major mode for editing
|
||||
Nix expressions. It supports syntax highlighting, indenting and refilling of
|
||||
comments.")))
|
||||
comments.")
|
||||
(license license:lgpl2.1+)))
|
||||
|
||||
(define-public stow
|
||||
(package
|
||||
|
32
gnu/packages/patches/beignet-correct-file-names.patch
Normal file
32
gnu/packages/patches/beignet-correct-file-names.patch
Normal file
@ -0,0 +1,32 @@
|
||||
Help CMake find Clang's libraries.
|
||||
Have it install the ICD file in the right place.
|
||||
|
||||
diff --git a/CMake/FindLLVM.cmake b/CMake/FindLLVM.cmake
|
||||
index 5457f248..e8e8f94a 100644
|
||||
--- a/CMake/FindLLVM.cmake
|
||||
+++ b/CMake/FindLLVM.cmake
|
||||
@@ -107,7 +107,7 @@ endif (LLVM_VERSION_NODOT VERSION_GREATER 34)
|
||||
macro(add_one_lib name)
|
||||
FIND_LIBRARY(CLANG_LIB
|
||||
NAMES ${name}
|
||||
- PATHS ${LLVM_LIBRARY_DIR} NO_DEFAULT_PATH)
|
||||
+ PATHS ${CLANG_LIBRARY_DIR} NO_DEFAULT_PATH)
|
||||
set(CLANG_LIBRARIES ${CLANG_LIBRARIES} ${CLANG_LIB})
|
||||
unset(CLANG_LIB CACHE)
|
||||
endmacro()
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index c11acbb2..fb99e5c8 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -217,7 +217,7 @@ IF(OCLIcd_FOUND)
|
||||
"intel-beignet.icd.in"
|
||||
"${ICD_FILE_NAME}"
|
||||
)
|
||||
- install (FILES ${CMAKE_CURRENT_BINARY_DIR}/${ICD_FILE_NAME} DESTINATION /etc/OpenCL/vendors)
|
||||
+ install (FILES ${CMAKE_CURRENT_BINARY_DIR}/${ICD_FILE_NAME} DESTINATION etc/OpenCL/vendors COMPONENT config)
|
||||
ELSE(OCLIcd_FOUND)
|
||||
MESSAGE(STATUS "Looking for OCL ICD header file - not found")
|
||||
MESSAGE(FATAL_ERROR "OCL ICD loader miss. If you really want to disable OCL ICD support, please run cmake with option -DOCLICD_COMPAT=0.")
|
||||
--
|
||||
2.14.3
|
||||
|
@ -1,59 +0,0 @@
|
||||
Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com>
|
||||
|
||||
This patch adds a support for Git repositories hosted on git.savannah.gnu.org.
|
||||
|
||||
Upstream bug URL:
|
||||
|
||||
https://github.com/rmuslimov/browse-at-remote/pull/46
|
||||
|
||||
From cd2ccdaef8b1d97337d790175f71cc3dbcfcff64 Mon Sep 17 00:00:00 2001
|
||||
From: Oleg Pykhalov <go.wigust@gmail.com>
|
||||
Date: Fri, 26 Jan 2018 00:05:30 +0300
|
||||
Subject: [PATCH] Add support for repositories that are hosted on gnu cgit
|
||||
|
||||
---
|
||||
browse-at-remote.el | 21 ++++++++++++++++++++-
|
||||
1 file changed, 20 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/browse-at-remote.el b/browse-at-remote.el
|
||||
index 66967b3..e210d18 100644
|
||||
--- a/browse-at-remote.el
|
||||
+++ b/browse-at-remote.el
|
||||
@@ -44,7 +44,8 @@
|
||||
(defcustom browse-at-remote-remote-type-domains
|
||||
'(("bitbucket.org" ."bitbucket")
|
||||
("github.com" . "github")
|
||||
- ("gitlab.com" . "gitlab"))
|
||||
+ ("gitlab.com" . "gitlab")
|
||||
+ ("git.savannah.gnu.org" . "gnu"))
|
||||
"Alist of domain patterns to remote types."
|
||||
|
||||
:type '(alist :key-type (string :tag "Domain")
|
||||
@@ -199,6 +200,24 @@ If HEAD is detached, return nil."
|
||||
(if (fboundp formatter)
|
||||
formatter nil)))
|
||||
|
||||
+(defun browse-at-remote-gnu-format-url (repo-url)
|
||||
+ "Get a gnu formatted URL."
|
||||
+ (replace-regexp-in-string
|
||||
+ (concat "https://" (car (rassoc "gnu" browse-at-remote-remote-type-domains))
|
||||
+ "/\\(git\\).*\\'")
|
||||
+ "cgit" repo-url nil nil 1))
|
||||
+
|
||||
+(defun browse-at-remote--format-region-url-as-gnu (repo-url location filename &optional linestart lineend)
|
||||
+ "URL formatter for gnu."
|
||||
+ (let ((repo-url (browse-at-remote-gnu-format-url repo-url)))
|
||||
+ (cond
|
||||
+ (linestart (format "%s.git/tree/%s?h=%s#n%d" repo-url filename location linestart))
|
||||
+ (t (format "%s.git/tree/%s?h=%s" repo-url filename location)))))
|
||||
+
|
||||
+(defun browse-at-remote--format-commit-url-as-gnu (repo-url commithash)
|
||||
+ "Commit URL formatted for gnu"
|
||||
+ (format "%s.git/commit/?id=%s" (browse-at-remote-gnu-format-url repo-url) commithash))
|
||||
+
|
||||
(defun browse-at-remote--format-region-url-as-github (repo-url location filename &optional linestart lineend)
|
||||
"URL formatted for github."
|
||||
(cond
|
||||
--
|
||||
2.15.1
|
||||
|
110
gnu/packages/patches/gcc-8-strmov-store-file-names.patch
Normal file
110
gnu/packages/patches/gcc-8-strmov-store-file-names.patch
Normal file
@ -0,0 +1,110 @@
|
||||
Make sure that statements such as:
|
||||
|
||||
strcpy (dst, "/gnu/store/…");
|
||||
|
||||
or
|
||||
|
||||
static const char str[] = "/gnu/store/…";
|
||||
…
|
||||
strcpy (dst, str);
|
||||
|
||||
do not result in chunked /gnu/store strings that are undetectable by
|
||||
Guix's GC and its grafting code. See <https://bugs.gnu.org/24703>
|
||||
and <https://bugs.gnu.org/30395>.
|
||||
|
||||
--- gcc-5.3.0/gcc/builtins.c 2016-10-18 10:50:46.080616285 +0200
|
||||
+++ gcc-5.3.0/gcc/builtins.c 2016-11-09 15:26:43.693042737 +0100
|
||||
@@ -3012,6 +3012,58 @@ determine_block_size (tree len, rtx len_rtx,
|
||||
GET_MODE_MASK (GET_MODE (len_rtx)));
|
||||
}
|
||||
|
||||
+extern void debug_tree (tree);
|
||||
+
|
||||
+/* Return true if STR contains the string "/gnu/store". */
|
||||
+
|
||||
+bool
|
||||
+store_reference_p (tree str)
|
||||
+{
|
||||
+ if (getenv ("GUIX_GCC_DEBUG") != NULL)
|
||||
+ debug_tree (str);
|
||||
+
|
||||
+ if (TREE_CODE (str) == ADDR_EXPR)
|
||||
+ str = TREE_OPERAND (str, 0);
|
||||
+
|
||||
+ if (TREE_CODE (str) == VAR_DECL
|
||||
+ && TREE_STATIC (str)
|
||||
+ && TREE_READONLY (str))
|
||||
+ {
|
||||
+ /* STR may be a 'static const' variable whose initial value
|
||||
+ is a string constant. See <https://bugs.gnu.org/30395>. */
|
||||
+ str = DECL_INITIAL (str);
|
||||
+ if (str == NULL_TREE)
|
||||
+ return false;
|
||||
+ }
|
||||
+
|
||||
+ if (TREE_CODE (str) != STRING_CST)
|
||||
+ return false;
|
||||
+
|
||||
+ int len;
|
||||
+ const char *store;
|
||||
+
|
||||
+ store = getenv ("NIX_STORE") ? getenv ("NIX_STORE") : "/gnu/store";
|
||||
+ len = strlen (store);
|
||||
+
|
||||
+ /* Size of the hash part of store file names, including leading slash and
|
||||
+ trailing hyphen. */
|
||||
+ const int hash_len = 34;
|
||||
+
|
||||
+ if (TREE_STRING_LENGTH (str) < len + hash_len)
|
||||
+ return false;
|
||||
+
|
||||
+ /* We cannot use 'strstr' because 'TREE_STRING_POINTER' returns a string
|
||||
+ that is not necessarily NUL-terminated. */
|
||||
+
|
||||
+ for (int i = 0; i < TREE_STRING_LENGTH (str) - (len + hash_len); i++)
|
||||
+ {
|
||||
+ if (strncmp (TREE_STRING_POINTER (str) + i, store, len) == 0)
|
||||
+ return true;
|
||||
+ }
|
||||
+
|
||||
+ return false;
|
||||
+}
|
||||
+
|
||||
/* Try to verify that the sizes and lengths of the arguments to a string
|
||||
manipulation function given by EXP are within valid bounds and that
|
||||
the operation does not lead to buffer overflow or read past the end.
|
||||
@@ -3605,6 +3657,13 @@ expand_builtin_memory_copy_args (tree dest, tree src, tree len,
|
||||
unsigned HOST_WIDE_INT max_size;
|
||||
unsigned HOST_WIDE_INT probable_max_size;
|
||||
|
||||
+ /* Do not emit block moves, which translate to the 'movabs' instruction on
|
||||
+ x86_64, when SRC refers to store items. That way, store references
|
||||
+ remain visible to the Guix GC and grafting code. See
|
||||
+ <https://bugs.gnu.org/24703>. */
|
||||
+ if (store_reference_p (src))
|
||||
+ return NULL_RTX;
|
||||
+
|
||||
/* If DEST is not a pointer type, call the normal function. */
|
||||
if (dest_align == 0)
|
||||
return NULL_RTX;
|
||||
--- gcc-5.5.0/gcc/gimple-fold.c 2018-03-20 11:36:16.709442004 +0100
|
||||
+++ gcc-5.5.0/gcc/gimple-fold.c 2018-03-20 11:46:43.838487065 +0100
|
||||
@@ -635,6 +635,8 @@ var_decl_component_p (tree var)
|
||||
return SSA_VAR_P (inner);
|
||||
}
|
||||
|
||||
+extern bool store_reference_p (tree);
|
||||
+
|
||||
/* If the SIZE argument representing the size of an object is in a range
|
||||
of values of which exactly one is valid (and that is zero), return
|
||||
true, otherwise false. */
|
||||
@@ -742,6 +744,9 @@ gimple_fold_builtin_memory_op (gimple_stmt_iterator *gsi,
|
||||
off0 = build_int_cst (build_pointer_type_for_mode (char_type_node,
|
||||
ptr_mode, true), 0);
|
||||
|
||||
+ if (store_reference_p (src))
|
||||
+ return false;
|
||||
+
|
||||
/* If we can perform the copy efficiently with first doing all loads
|
||||
and then all stores inline it that way. Currently efficiently
|
||||
means that we can load all the memory into a single integer
|
663
gnu/packages/patches/icecat-bug-1413868-pt1.patch
Normal file
663
gnu/packages/patches/icecat-bug-1413868-pt1.patch
Normal file
@ -0,0 +1,663 @@
|
||||
Based on <https://hg.mozilla.org/releases/mozilla-esr52/rev/431fa5dd4016>
|
||||
Adapted to apply cleanly to GNU IceCat.
|
||||
|
||||
# HG changeset patch
|
||||
# User Honza Bambas <honzab.moz@firemni.cz>
|
||||
# Date 1528830658 14400
|
||||
# Node ID 431fa5dd4016bdab7e4bb0d3c4df85468fe337b0
|
||||
# Parent e8e9e1ef79f2a18c61ec1b87cfb214c8d4960f8e
|
||||
Bug 1413868. r=valentin, a=RyanVM
|
||||
|
||||
diff --git a/toolkit/xre/nsAppRunner.cpp b/toolkit/xre/nsAppRunner.cpp
|
||||
--- a/toolkit/xre/nsAppRunner.cpp
|
||||
+++ b/toolkit/xre/nsAppRunner.cpp
|
||||
@@ -4,16 +4,17 @@
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
#include "mozilla/dom/ContentParent.h"
|
||||
#include "mozilla/dom/ContentChild.h"
|
||||
#include "mozilla/ipc/GeckoChildProcessHost.h"
|
||||
|
||||
#include "mozilla/ArrayUtils.h"
|
||||
#include "mozilla/Attributes.h"
|
||||
+#include "mozilla/FilePreferences.h"
|
||||
#include "mozilla/ChaosMode.h"
|
||||
#include "mozilla/IOInterposer.h"
|
||||
#include "mozilla/Likely.h"
|
||||
#include "mozilla/MemoryChecking.h"
|
||||
#include "mozilla/Poison.h"
|
||||
#include "mozilla/Preferences.h"
|
||||
#include "mozilla/ScopeExit.h"
|
||||
#include "mozilla/Services.h"
|
||||
@@ -4304,16 +4305,20 @@ XREMain::XRE_mainRun()
|
||||
// Need to write out the fact that the profile has been removed and potentially
|
||||
// that the selected/default profile changed.
|
||||
mProfileSvc->Flush();
|
||||
}
|
||||
}
|
||||
|
||||
mDirProvider.DoStartup();
|
||||
|
||||
+ // As FilePreferences need the profile directory, we must initialize right here.
|
||||
+ mozilla::FilePreferences::InitDirectoriesWhitelist();
|
||||
+ mozilla::FilePreferences::InitPrefs();
|
||||
+
|
||||
OverrideDefaultLocaleIfNeeded();
|
||||
|
||||
#ifdef MOZ_CRASHREPORTER
|
||||
nsCString userAgentLocale;
|
||||
// Try a localized string first. This pref is always a localized string in
|
||||
// IceCatMobile, and might be elsewhere, too.
|
||||
if (NS_SUCCEEDED(Preferences::GetLocalizedCString("general.useragent.locale", &userAgentLocale))) {
|
||||
CrashReporter::AnnotateCrashReport(NS_LITERAL_CSTRING("useragent_locale"), userAgentLocale);
|
||||
diff --git a/toolkit/xre/nsEmbedFunctions.cpp b/toolkit/xre/nsEmbedFunctions.cpp
|
||||
--- a/toolkit/xre/nsEmbedFunctions.cpp
|
||||
+++ b/toolkit/xre/nsEmbedFunctions.cpp
|
||||
@@ -46,16 +46,17 @@
|
||||
#include "nsX11ErrorHandler.h"
|
||||
#include "nsGDKErrorHandler.h"
|
||||
#include "base/at_exit.h"
|
||||
#include "base/command_line.h"
|
||||
#include "base/message_loop.h"
|
||||
#include "base/process_util.h"
|
||||
#include "chrome/common/child_process.h"
|
||||
|
||||
+#include "mozilla/FilePreferences.h"
|
||||
#include "mozilla/ipc/BrowserProcessSubThread.h"
|
||||
#include "mozilla/ipc/GeckoChildProcessHost.h"
|
||||
#include "mozilla/ipc/IOThreadChild.h"
|
||||
#include "mozilla/ipc/ProcessChild.h"
|
||||
#include "ScopedXREEmbed.h"
|
||||
|
||||
#include "mozilla/plugins/PluginProcessChild.h"
|
||||
#include "mozilla/dom/ContentProcess.h"
|
||||
@@ -680,16 +681,18 @@ XRE_InitChildProcess(int aArgc,
|
||||
::SetProcessShutdownParameters(0x280 - 1, SHUTDOWN_NORETRY);
|
||||
#endif
|
||||
|
||||
#if defined(MOZ_SANDBOX) && defined(XP_WIN)
|
||||
// We need to do this after the process has been initialised, as
|
||||
// InitLoggingIfRequired may need access to prefs.
|
||||
mozilla::sandboxing::InitLoggingIfRequired(aChildData->ProvideLogFunction);
|
||||
#endif
|
||||
+ mozilla::FilePreferences::InitDirectoriesWhitelist();
|
||||
+ mozilla::FilePreferences::InitPrefs();
|
||||
|
||||
OverrideDefaultLocaleIfNeeded();
|
||||
|
||||
#if defined(MOZ_CRASHREPORTER)
|
||||
#if defined(MOZ_CONTENT_SANDBOX) && !defined(MOZ_WIDGET_GONK)
|
||||
AddContentSandboxLevelAnnotation();
|
||||
#endif
|
||||
#endif
|
||||
diff --git a/xpcom/io/FilePreferences.cpp b/xpcom/io/FilePreferences.cpp
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/xpcom/io/FilePreferences.cpp
|
||||
@@ -0,0 +1,271 @@
|
||||
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
||||
+/* vim: set ts=8 sts=2 et sw=2 tw=80: */
|
||||
+/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
+* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
+* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
+
|
||||
+#include "FilePreferences.h"
|
||||
+
|
||||
+#include "mozilla/Preferences.h"
|
||||
+#include "nsAppDirectoryServiceDefs.h"
|
||||
+#include "nsDirectoryServiceDefs.h"
|
||||
+#include "nsDirectoryServiceUtils.h"
|
||||
+
|
||||
+namespace mozilla {
|
||||
+namespace FilePreferences {
|
||||
+
|
||||
+static bool sBlockUNCPaths = false;
|
||||
+typedef nsTArray<nsString> Paths;
|
||||
+
|
||||
+static Paths& PathArray()
|
||||
+{
|
||||
+ static Paths sPaths;
|
||||
+ return sPaths;
|
||||
+}
|
||||
+
|
||||
+static void AllowDirectory(char const* directory)
|
||||
+{
|
||||
+ nsCOMPtr<nsIFile> file;
|
||||
+ NS_GetSpecialDirectory(directory, getter_AddRefs(file));
|
||||
+ if (!file) {
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ nsString path;
|
||||
+ if (NS_FAILED(file->GetTarget(path))) {
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ // The whitelist makes sense only for UNC paths, because this code is used
|
||||
+ // to block only UNC paths, hence, no need to add non-UNC directories here
|
||||
+ // as those would never pass the check.
|
||||
+ if (!StringBeginsWith(path, NS_LITERAL_STRING("\\\\"))) {
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ if (!PathArray().Contains(path)) {
|
||||
+ PathArray().AppendElement(path);
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+void InitPrefs()
|
||||
+{
|
||||
+ sBlockUNCPaths = Preferences::GetBool("network.file.disable_unc_paths", false);
|
||||
+}
|
||||
+
|
||||
+void InitDirectoriesWhitelist()
|
||||
+{
|
||||
+ // NS_GRE_DIR is the installation path where the binary resides.
|
||||
+ AllowDirectory(NS_GRE_DIR);
|
||||
+ // NS_APP_USER_PROFILE_50_DIR and NS_APP_USER_PROFILE_LOCAL_50_DIR are the two
|
||||
+ // parts of the profile we store permanent and local-specific data.
|
||||
+ AllowDirectory(NS_APP_USER_PROFILE_50_DIR);
|
||||
+ AllowDirectory(NS_APP_USER_PROFILE_LOCAL_50_DIR);
|
||||
+}
|
||||
+
|
||||
+namespace { // anon
|
||||
+
|
||||
+class Normalizer
|
||||
+{
|
||||
+public:
|
||||
+ Normalizer(const nsAString& aFilePath, const char16_t aSeparator);
|
||||
+ bool Get(nsAString& aNormalizedFilePath);
|
||||
+
|
||||
+private:
|
||||
+ bool ConsumeItem();
|
||||
+ bool ConsumeSeparator();
|
||||
+ bool IsEOF() { return mFilePathCursor == mFilePathEnd; }
|
||||
+
|
||||
+ bool ConsumeName();
|
||||
+ bool CheckParentDir();
|
||||
+ bool CheckCurrentDir();
|
||||
+
|
||||
+ nsString::const_char_iterator mFilePathCursor;
|
||||
+ nsString::const_char_iterator mFilePathEnd;
|
||||
+
|
||||
+ nsDependentSubstring mItem;
|
||||
+ char16_t const mSeparator;
|
||||
+ nsTArray<nsDependentSubstring> mStack;
|
||||
+};
|
||||
+
|
||||
+Normalizer::Normalizer(const nsAString& aFilePath, const char16_t aSeparator)
|
||||
+ : mFilePathCursor(aFilePath.BeginReading())
|
||||
+ , mFilePathEnd(aFilePath.EndReading())
|
||||
+ , mSeparator(aSeparator)
|
||||
+{
|
||||
+}
|
||||
+
|
||||
+bool Normalizer::ConsumeItem()
|
||||
+{
|
||||
+ if (IsEOF()) {
|
||||
+ return false;
|
||||
+ }
|
||||
+
|
||||
+ nsString::const_char_iterator nameBegin = mFilePathCursor;
|
||||
+ while (mFilePathCursor != mFilePathEnd) {
|
||||
+ if (*mFilePathCursor == mSeparator) {
|
||||
+ break; // don't include the separator
|
||||
+ }
|
||||
+ ++mFilePathCursor;
|
||||
+ }
|
||||
+
|
||||
+ mItem.Rebind(nameBegin, mFilePathCursor);
|
||||
+ return true;
|
||||
+}
|
||||
+
|
||||
+bool Normalizer::ConsumeSeparator()
|
||||
+{
|
||||
+ if (IsEOF()) {
|
||||
+ return false;
|
||||
+ }
|
||||
+
|
||||
+ if (*mFilePathCursor != mSeparator) {
|
||||
+ return false;
|
||||
+ }
|
||||
+
|
||||
+ ++mFilePathCursor;
|
||||
+ return true;
|
||||
+}
|
||||
+
|
||||
+bool Normalizer::Get(nsAString& aNormalizedFilePath)
|
||||
+{
|
||||
+ aNormalizedFilePath.Truncate();
|
||||
+
|
||||
+ if (IsEOF()) {
|
||||
+ return true;
|
||||
+ }
|
||||
+ if (ConsumeSeparator()) {
|
||||
+ aNormalizedFilePath.Append(mSeparator);
|
||||
+ }
|
||||
+
|
||||
+ if (IsEOF()) {
|
||||
+ return true;
|
||||
+ }
|
||||
+ if (ConsumeSeparator()) {
|
||||
+ aNormalizedFilePath.Append(mSeparator);
|
||||
+ }
|
||||
+
|
||||
+ while (!IsEOF()) {
|
||||
+ if (!ConsumeName()) {
|
||||
+ return false;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ for (auto const& name : mStack) {
|
||||
+ aNormalizedFilePath.Append(name);
|
||||
+ }
|
||||
+
|
||||
+ return true;
|
||||
+}
|
||||
+
|
||||
+bool Normalizer::ConsumeName()
|
||||
+{
|
||||
+ if (!ConsumeItem()) {
|
||||
+ return true;
|
||||
+ }
|
||||
+
|
||||
+ if (CheckCurrentDir()) {
|
||||
+ return true;
|
||||
+ }
|
||||
+
|
||||
+ if (CheckParentDir()) {
|
||||
+ if (!mStack.Length()) {
|
||||
+ // This means there are more \.. than valid names
|
||||
+ return false;
|
||||
+ }
|
||||
+
|
||||
+ mStack.RemoveElementAt(mStack.Length() - 1);
|
||||
+ return true;
|
||||
+ }
|
||||
+
|
||||
+ if (mItem.IsEmpty()) {
|
||||
+ // this means an empty name (a lone slash), which is illegal
|
||||
+ return false;
|
||||
+ }
|
||||
+
|
||||
+ if (ConsumeSeparator()) {
|
||||
+ mItem.Rebind(mItem.BeginReading(), mFilePathCursor);
|
||||
+ }
|
||||
+ mStack.AppendElement(mItem);
|
||||
+
|
||||
+ return true;
|
||||
+}
|
||||
+
|
||||
+bool Normalizer::CheckCurrentDir()
|
||||
+{
|
||||
+ if (mItem == NS_LITERAL_STRING(".")) {
|
||||
+ ConsumeSeparator();
|
||||
+ // EOF is acceptable
|
||||
+ return true;
|
||||
+ }
|
||||
+
|
||||
+ return false;
|
||||
+}
|
||||
+
|
||||
+bool Normalizer::CheckParentDir()
|
||||
+{
|
||||
+ if (mItem == NS_LITERAL_STRING("..")) {
|
||||
+ ConsumeSeparator();
|
||||
+ // EOF is acceptable
|
||||
+ return true;
|
||||
+ }
|
||||
+
|
||||
+ return false;
|
||||
+}
|
||||
+
|
||||
+} // anon
|
||||
+
|
||||
+bool IsBlockedUNCPath(const nsAString& aFilePath)
|
||||
+{
|
||||
+ if (!sBlockUNCPaths) {
|
||||
+ return false;
|
||||
+ }
|
||||
+
|
||||
+ if (!StringBeginsWith(aFilePath, NS_LITERAL_STRING("\\\\"))) {
|
||||
+ return false;
|
||||
+ }
|
||||
+
|
||||
+ nsAutoString normalized;
|
||||
+ if (!Normalizer(aFilePath, L'\\').Get(normalized)) {
|
||||
+ // Broken paths are considered invalid and thus inaccessible
|
||||
+ return true;
|
||||
+ }
|
||||
+
|
||||
+ for (const auto& allowedPrefix : PathArray()) {
|
||||
+ if (StringBeginsWith(normalized, allowedPrefix)) {
|
||||
+ if (normalized.Length() == allowedPrefix.Length()) {
|
||||
+ return false;
|
||||
+ }
|
||||
+ if (normalized[allowedPrefix.Length()] == L'\\') {
|
||||
+ return false;
|
||||
+ }
|
||||
+
|
||||
+ // When we are here, the path has a form "\\path\prefixevil"
|
||||
+ // while we have an allowed prefix of "\\path\prefix".
|
||||
+ // Note that we don't want to add a slash to the end of a prefix
|
||||
+ // so that opening the directory (no slash at the end) still works.
|
||||
+ break;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ return true;
|
||||
+}
|
||||
+
|
||||
+void testing::SetBlockUNCPaths(bool aBlock)
|
||||
+{
|
||||
+ sBlockUNCPaths = aBlock;
|
||||
+}
|
||||
+
|
||||
+void testing::AddDirectoryToWhitelist(nsAString const & aPath)
|
||||
+{
|
||||
+ PathArray().AppendElement(aPath);
|
||||
+}
|
||||
+
|
||||
+bool testing::NormalizePath(nsAString const & aPath, nsAString & aNormalized)
|
||||
+{
|
||||
+ Normalizer normalizer(aPath, L'\\');
|
||||
+ return normalizer.Get(aNormalized);
|
||||
+}
|
||||
+
|
||||
+} // ::FilePreferences
|
||||
+} // ::mozilla
|
||||
diff --git a/xpcom/io/FilePreferences.h b/xpcom/io/FilePreferences.h
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/xpcom/io/FilePreferences.h
|
||||
@@ -0,0 +1,25 @@
|
||||
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
||||
+/* vim: set ts=8 sts=2 et sw=2 tw=80: */
|
||||
+/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
+* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
+* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
+
|
||||
+#include "nsIObserver.h"
|
||||
+
|
||||
+namespace mozilla {
|
||||
+namespace FilePreferences {
|
||||
+
|
||||
+void InitPrefs();
|
||||
+void InitDirectoriesWhitelist();
|
||||
+bool IsBlockedUNCPath(const nsAString& aFilePath);
|
||||
+
|
||||
+namespace testing {
|
||||
+
|
||||
+void SetBlockUNCPaths(bool aBlock);
|
||||
+void AddDirectoryToWhitelist(nsAString const& aPath);
|
||||
+bool NormalizePath(nsAString const & aPath, nsAString & aNormalized);
|
||||
+
|
||||
+}
|
||||
+
|
||||
+} // FilePreferences
|
||||
+} // mozilla
|
||||
diff --git a/xpcom/io/moz.build b/xpcom/io/moz.build
|
||||
--- a/xpcom/io/moz.build
|
||||
+++ b/xpcom/io/moz.build
|
||||
@@ -79,24 +79,26 @@ EXPORTS += [
|
||||
'nsUnicharInputStream.h',
|
||||
'nsWildCard.h',
|
||||
'SlicedInputStream.h',
|
||||
'SpecialSystemDirectory.h',
|
||||
]
|
||||
|
||||
EXPORTS.mozilla += [
|
||||
'Base64.h',
|
||||
+ 'FilePreferences.h',
|
||||
'SnappyCompressOutputStream.h',
|
||||
'SnappyFrameUtils.h',
|
||||
'SnappyUncompressInputStream.h',
|
||||
]
|
||||
|
||||
UNIFIED_SOURCES += [
|
||||
'Base64.cpp',
|
||||
'crc32c.c',
|
||||
+ 'FilePreferences.cpp',
|
||||
'nsAnonymousTemporaryFile.cpp',
|
||||
'nsAppFileLocationProvider.cpp',
|
||||
'nsBinaryStream.cpp',
|
||||
'nsDirectoryService.cpp',
|
||||
'nsEscape.cpp',
|
||||
'nsInputStreamTee.cpp',
|
||||
'nsIOUtil.cpp',
|
||||
'nsLinebreakConverter.cpp',
|
||||
diff --git a/xpcom/io/nsLocalFileWin.cpp b/xpcom/io/nsLocalFileWin.cpp
|
||||
--- a/xpcom/io/nsLocalFileWin.cpp
|
||||
+++ b/xpcom/io/nsLocalFileWin.cpp
|
||||
@@ -41,16 +41,17 @@
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <mbstring.h>
|
||||
|
||||
#include "nsXPIDLString.h"
|
||||
#include "prproces.h"
|
||||
#include "prlink.h"
|
||||
|
||||
+#include "mozilla/FilePreferences.h"
|
||||
#include "mozilla/Mutex.h"
|
||||
#include "SpecialSystemDirectory.h"
|
||||
|
||||
#include "nsTraceRefcnt.h"
|
||||
#include "nsXPCOMCIDInternal.h"
|
||||
#include "nsThreadUtils.h"
|
||||
#include "nsXULAppAPI.h"
|
||||
|
||||
@@ -1162,16 +1163,20 @@ nsLocalFile::InitWithPath(const nsAStrin
|
||||
char16_t secondChar = *(++begin);
|
||||
|
||||
// just do a sanity check. if it has any forward slashes, it is not a Native path
|
||||
// on windows. Also, it must have a colon at after the first char.
|
||||
if (FindCharInReadable(L'/', begin, end)) {
|
||||
return NS_ERROR_FILE_UNRECOGNIZED_PATH;
|
||||
}
|
||||
|
||||
+ if (FilePreferences::IsBlockedUNCPath(aFilePath)) {
|
||||
+ return NS_ERROR_FILE_ACCESS_DENIED;
|
||||
+ }
|
||||
+
|
||||
if (secondChar != L':' && (secondChar != L'\\' || firstChar != L'\\')) {
|
||||
return NS_ERROR_FILE_UNRECOGNIZED_PATH;
|
||||
}
|
||||
|
||||
if (secondChar == L':') {
|
||||
// Make sure we have a valid drive, later code assumes the drive letter
|
||||
// is a single char a-z or A-Z.
|
||||
if (PathGetDriveNumberW(aFilePath.Data()) == -1) {
|
||||
@@ -1974,16 +1979,20 @@ nsLocalFile::CopySingleFile(nsIFile* aSo
|
||||
bool path1Remote, path2Remote;
|
||||
if (!IsRemoteFilePath(filePath.get(), path1Remote) ||
|
||||
!IsRemoteFilePath(destPath.get(), path2Remote) ||
|
||||
path1Remote || path2Remote) {
|
||||
dwCopyFlags |= COPY_FILE_NO_BUFFERING;
|
||||
}
|
||||
}
|
||||
|
||||
+ if (FilePreferences::IsBlockedUNCPath(destPath)) {
|
||||
+ return NS_ERROR_FILE_ACCESS_DENIED;
|
||||
+ }
|
||||
+
|
||||
if (!move) {
|
||||
copyOK = ::CopyFileExW(filePath.get(), destPath.get(), nullptr,
|
||||
nullptr, nullptr, dwCopyFlags);
|
||||
} else {
|
||||
copyOK = ::MoveFileExW(filePath.get(), destPath.get(),
|
||||
MOVEFILE_REPLACE_EXISTING);
|
||||
|
||||
// Check if copying the source file to a different volume,
|
||||
diff --git a/xpcom/tests/gtest/TestFilePreferencesWin.cpp b/xpcom/tests/gtest/TestFilePreferencesWin.cpp
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/xpcom/tests/gtest/TestFilePreferencesWin.cpp
|
||||
@@ -0,0 +1,141 @@
|
||||
+#include "gtest/gtest.h"
|
||||
+
|
||||
+#include "mozilla/FilePreferences.h"
|
||||
+#include "nsIFile.h"
|
||||
+#include "nsXPCOMCID.h"
|
||||
+
|
||||
+TEST(FilePreferencesWin, Normalization)
|
||||
+{
|
||||
+ nsAutoString normalized;
|
||||
+
|
||||
+ mozilla::FilePreferences::testing::NormalizePath(
|
||||
+ NS_LITERAL_STRING("foo"), normalized);
|
||||
+ ASSERT_TRUE(normalized == NS_LITERAL_STRING("foo"));
|
||||
+
|
||||
+ mozilla::FilePreferences::testing::NormalizePath(
|
||||
+ NS_LITERAL_STRING("\\foo"), normalized);
|
||||
+ ASSERT_TRUE(normalized == NS_LITERAL_STRING("\\foo"));
|
||||
+
|
||||
+ mozilla::FilePreferences::testing::NormalizePath(
|
||||
+ NS_LITERAL_STRING("\\\\foo"), normalized);
|
||||
+ ASSERT_TRUE(normalized == NS_LITERAL_STRING("\\\\foo"));
|
||||
+
|
||||
+ mozilla::FilePreferences::testing::NormalizePath(
|
||||
+ NS_LITERAL_STRING("foo\\some"), normalized);
|
||||
+ ASSERT_TRUE(normalized == NS_LITERAL_STRING("foo\\some"));
|
||||
+
|
||||
+ mozilla::FilePreferences::testing::NormalizePath(
|
||||
+ NS_LITERAL_STRING("\\\\.\\foo"), normalized);
|
||||
+ ASSERT_TRUE(normalized == NS_LITERAL_STRING("\\\\foo"));
|
||||
+
|
||||
+ mozilla::FilePreferences::testing::NormalizePath(
|
||||
+ NS_LITERAL_STRING("\\\\."), normalized);
|
||||
+ ASSERT_TRUE(normalized == NS_LITERAL_STRING("\\\\"));
|
||||
+
|
||||
+ mozilla::FilePreferences::testing::NormalizePath(
|
||||
+ NS_LITERAL_STRING("\\\\.\\"), normalized);
|
||||
+ ASSERT_TRUE(normalized == NS_LITERAL_STRING("\\\\"));
|
||||
+
|
||||
+ mozilla::FilePreferences::testing::NormalizePath(
|
||||
+ NS_LITERAL_STRING("\\\\.\\."), normalized);
|
||||
+ ASSERT_TRUE(normalized == NS_LITERAL_STRING("\\\\"));
|
||||
+
|
||||
+ mozilla::FilePreferences::testing::NormalizePath(
|
||||
+ NS_LITERAL_STRING("\\\\foo\\bar"), normalized);
|
||||
+ ASSERT_TRUE(normalized == NS_LITERAL_STRING("\\\\foo\\bar"));
|
||||
+
|
||||
+ mozilla::FilePreferences::testing::NormalizePath(
|
||||
+ NS_LITERAL_STRING("\\\\foo\\bar\\"), normalized);
|
||||
+ ASSERT_TRUE(normalized == NS_LITERAL_STRING("\\\\foo\\bar\\"));
|
||||
+
|
||||
+ mozilla::FilePreferences::testing::NormalizePath(
|
||||
+ NS_LITERAL_STRING("\\\\foo\\bar\\."), normalized);
|
||||
+ ASSERT_TRUE(normalized == NS_LITERAL_STRING("\\\\foo\\bar\\"));
|
||||
+
|
||||
+ mozilla::FilePreferences::testing::NormalizePath(
|
||||
+ NS_LITERAL_STRING("\\\\foo\\bar\\.\\"), normalized);
|
||||
+ ASSERT_TRUE(normalized == NS_LITERAL_STRING("\\\\foo\\bar\\"));
|
||||
+
|
||||
+ mozilla::FilePreferences::testing::NormalizePath(
|
||||
+ NS_LITERAL_STRING("\\\\foo\\bar\\..\\"), normalized);
|
||||
+ ASSERT_TRUE(normalized == NS_LITERAL_STRING("\\\\foo\\"));
|
||||
+
|
||||
+ mozilla::FilePreferences::testing::NormalizePath(
|
||||
+ NS_LITERAL_STRING("\\\\foo\\bar\\.."), normalized);
|
||||
+ ASSERT_TRUE(normalized == NS_LITERAL_STRING("\\\\foo\\"));
|
||||
+
|
||||
+ mozilla::FilePreferences::testing::NormalizePath(
|
||||
+ NS_LITERAL_STRING("\\\\foo\\..\\bar\\..\\"), normalized);
|
||||
+ ASSERT_TRUE(normalized == NS_LITERAL_STRING("\\\\"));
|
||||
+
|
||||
+ mozilla::FilePreferences::testing::NormalizePath(
|
||||
+ NS_LITERAL_STRING("\\\\foo\\..\\bar"), normalized);
|
||||
+ ASSERT_TRUE(normalized == NS_LITERAL_STRING("\\\\bar"));
|
||||
+
|
||||
+ mozilla::FilePreferences::testing::NormalizePath(
|
||||
+ NS_LITERAL_STRING("\\\\foo\\bar\\..\\..\\"), normalized);
|
||||
+ ASSERT_TRUE(normalized == NS_LITERAL_STRING("\\\\"));
|
||||
+
|
||||
+ mozilla::FilePreferences::testing::NormalizePath(
|
||||
+ NS_LITERAL_STRING("\\\\foo\\bar\\.\\..\\.\\..\\"), normalized);
|
||||
+ ASSERT_TRUE(normalized == NS_LITERAL_STRING("\\\\"));
|
||||
+
|
||||
+ bool result;
|
||||
+
|
||||
+ result = mozilla::FilePreferences::testing::NormalizePath(
|
||||
+ NS_LITERAL_STRING("\\\\.."), normalized);
|
||||
+ ASSERT_FALSE(result);
|
||||
+
|
||||
+ result = mozilla::FilePreferences::testing::NormalizePath(
|
||||
+ NS_LITERAL_STRING("\\\\..\\"), normalized);
|
||||
+ ASSERT_FALSE(result);
|
||||
+
|
||||
+ result = mozilla::FilePreferences::testing::NormalizePath(
|
||||
+ NS_LITERAL_STRING("\\\\.\\..\\"), normalized);
|
||||
+ ASSERT_FALSE(result);
|
||||
+
|
||||
+ result = mozilla::FilePreferences::testing::NormalizePath(
|
||||
+ NS_LITERAL_STRING("\\\\foo\\\\bar"), normalized);
|
||||
+ ASSERT_FALSE(result);
|
||||
+
|
||||
+ result = mozilla::FilePreferences::testing::NormalizePath(
|
||||
+ NS_LITERAL_STRING("\\\\foo\\bar\\..\\..\\..\\..\\"), normalized);
|
||||
+ ASSERT_FALSE(result);
|
||||
+
|
||||
+ result = mozilla::FilePreferences::testing::NormalizePath(
|
||||
+ NS_LITERAL_STRING("\\\\\\"), normalized);
|
||||
+ ASSERT_FALSE(result);
|
||||
+
|
||||
+ result = mozilla::FilePreferences::testing::NormalizePath(
|
||||
+ NS_LITERAL_STRING("\\\\.\\\\"), normalized);
|
||||
+ ASSERT_FALSE(result);
|
||||
+
|
||||
+ result = mozilla::FilePreferences::testing::NormalizePath(
|
||||
+ NS_LITERAL_STRING("\\\\..\\\\"), normalized);
|
||||
+ ASSERT_FALSE(result);
|
||||
+}
|
||||
+
|
||||
+TEST(FilePreferencesWin, AccessUNC)
|
||||
+{
|
||||
+ nsCOMPtr<nsIFile> lf = do_CreateInstance(NS_LOCAL_FILE_CONTRACTID);
|
||||
+
|
||||
+ nsresult rv;
|
||||
+
|
||||
+ mozilla::FilePreferences::testing::SetBlockUNCPaths(false);
|
||||
+
|
||||
+ rv = lf->InitWithPath(NS_LITERAL_STRING("\\\\nice\\..\\evil\\share"));
|
||||
+ ASSERT_EQ(rv, NS_OK);
|
||||
+
|
||||
+ mozilla::FilePreferences::testing::SetBlockUNCPaths(true);
|
||||
+
|
||||
+ rv = lf->InitWithPath(NS_LITERAL_STRING("\\\\nice\\..\\evil\\share"));
|
||||
+ ASSERT_EQ(rv, NS_ERROR_FILE_ACCESS_DENIED);
|
||||
+
|
||||
+ mozilla::FilePreferences::testing::AddDirectoryToWhitelist(NS_LITERAL_STRING("\\\\nice"));
|
||||
+
|
||||
+ rv = lf->InitWithPath(NS_LITERAL_STRING("\\\\nice\\share"));
|
||||
+ ASSERT_EQ(rv, NS_OK);
|
||||
+
|
||||
+ rv = lf->InitWithPath(NS_LITERAL_STRING("\\\\nice\\..\\evil\\share"));
|
||||
+ ASSERT_EQ(rv, NS_ERROR_FILE_ACCESS_DENIED);
|
||||
+}
|
||||
diff --git a/xpcom/tests/gtest/moz.build b/xpcom/tests/gtest/moz.build
|
||||
--- a/xpcom/tests/gtest/moz.build
|
||||
+++ b/xpcom/tests/gtest/moz.build
|
||||
@@ -51,16 +51,21 @@ UNIFIED_SOURCES += [
|
||||
if CONFIG['MOZ_DEBUG'] and CONFIG['OS_ARCH'] not in ('WINNT') and CONFIG['OS_TARGET'] != 'Android':
|
||||
# FIXME bug 523392: TestDeadlockDetector doesn't like Windows
|
||||
# Bug 1054249: Doesn't work on Android
|
||||
UNIFIED_SOURCES += [
|
||||
'TestDeadlockDetector.cpp',
|
||||
'TestDeadlockDetectorScalability.cpp',
|
||||
]
|
||||
|
||||
+if CONFIG['OS_TARGET'] == 'WINNT':
|
||||
+ UNIFIED_SOURCES += [
|
||||
+ 'TestFilePreferencesWin.cpp',
|
||||
+ ]
|
||||
+
|
||||
if CONFIG['WRAP_STL_INCLUDES'] and not CONFIG['CLANG_CL']:
|
||||
UNIFIED_SOURCES += [
|
||||
'TestSTLWrappers.cpp',
|
||||
]
|
||||
|
||||
# Compile TestAllocReplacement separately so Windows headers don't pollute
|
||||
# the global namespace for other files.
|
||||
SOURCES += [
|
||||
|
40
gnu/packages/patches/libtiff-CVE-2018-10963.patch
Normal file
40
gnu/packages/patches/libtiff-CVE-2018-10963.patch
Normal file
@ -0,0 +1,40 @@
|
||||
Fix CVE-2018-10963:
|
||||
|
||||
http://bugzilla.maptools.org/show_bug.cgi?id=2795
|
||||
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-10963
|
||||
|
||||
Patch copied from upstream source repository:
|
||||
|
||||
https://gitlab.com/libtiff/libtiff/commit/de144fd228e4be8aa484c3caf3d814b6fa88c6d9
|
||||
|
||||
From de144fd228e4be8aa484c3caf3d814b6fa88c6d9 Mon Sep 17 00:00:00 2001
|
||||
From: Even Rouault <even.rouault@spatialys.com>
|
||||
Date: Sat, 12 May 2018 14:24:15 +0200
|
||||
Subject: [PATCH] TIFFWriteDirectorySec: avoid assertion. Fixes
|
||||
http://bugzilla.maptools.org/show_bug.cgi?id=2795. CVE-2018-10963
|
||||
|
||||
---
|
||||
libtiff/tif_dirwrite.c | 7 +++++--
|
||||
1 file changed, 5 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/libtiff/tif_dirwrite.c b/libtiff/tif_dirwrite.c
|
||||
index 2430de6d..c15a28db 100644
|
||||
--- a/libtiff/tif_dirwrite.c
|
||||
+++ b/libtiff/tif_dirwrite.c
|
||||
@@ -695,8 +695,11 @@ TIFFWriteDirectorySec(TIFF* tif, int isimage, int imagedone, uint64* pdiroff)
|
||||
}
|
||||
break;
|
||||
default:
|
||||
- assert(0); /* we should never get here */
|
||||
- break;
|
||||
+ TIFFErrorExt(tif->tif_clientdata,module,
|
||||
+ "Cannot write tag %d (%s)",
|
||||
+ TIFFFieldTag(o),
|
||||
+ o->field_name ? o->field_name : "unknown");
|
||||
+ goto bad;
|
||||
}
|
||||
}
|
||||
}
|
||||
--
|
||||
2.17.0
|
||||
|
61
gnu/packages/patches/libtiff-CVE-2018-8905.patch
Normal file
61
gnu/packages/patches/libtiff-CVE-2018-8905.patch
Normal file
@ -0,0 +1,61 @@
|
||||
Fix CVE-2018-8095:
|
||||
|
||||
http://bugzilla.maptools.org/show_bug.cgi?id=2780
|
||||
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-8905
|
||||
|
||||
Patch copied from upstream source repository:
|
||||
|
||||
https://gitlab.com/libtiff/libtiff/commit/58a898cb4459055bb488ca815c23b880c242a27d
|
||||
|
||||
From 58a898cb4459055bb488ca815c23b880c242a27d Mon Sep 17 00:00:00 2001
|
||||
From: Even Rouault <even.rouault@spatialys.com>
|
||||
Date: Sat, 12 May 2018 15:32:31 +0200
|
||||
Subject: [PATCH] LZWDecodeCompat(): fix potential index-out-of-bounds write.
|
||||
Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2780 / CVE-2018-8905
|
||||
|
||||
The fix consists in using the similar code LZWDecode() to validate we
|
||||
don't write outside of the output buffer.
|
||||
---
|
||||
libtiff/tif_lzw.c | 18 ++++++++++++------
|
||||
1 file changed, 12 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/libtiff/tif_lzw.c b/libtiff/tif_lzw.c
|
||||
index 4ccb443c..94d85e38 100644
|
||||
--- a/libtiff/tif_lzw.c
|
||||
+++ b/libtiff/tif_lzw.c
|
||||
@@ -602,6 +602,7 @@ LZWDecodeCompat(TIFF* tif, uint8* op0, tmsize_t occ0, uint16 s)
|
||||
char *tp;
|
||||
unsigned char *bp;
|
||||
int code, nbits;
|
||||
+ int len;
|
||||
long nextbits, nextdata, nbitsmask;
|
||||
code_t *codep, *free_entp, *maxcodep, *oldcodep;
|
||||
|
||||
@@ -753,13 +754,18 @@ LZWDecodeCompat(TIFF* tif, uint8* op0, tmsize_t occ0, uint16 s)
|
||||
} while (--occ);
|
||||
break;
|
||||
}
|
||||
- assert(occ >= codep->length);
|
||||
- op += codep->length;
|
||||
- occ -= codep->length;
|
||||
- tp = op;
|
||||
+ len = codep->length;
|
||||
+ tp = op + len;
|
||||
do {
|
||||
- *--tp = codep->value;
|
||||
- } while( (codep = codep->next) != NULL );
|
||||
+ int t;
|
||||
+ --tp;
|
||||
+ t = codep->value;
|
||||
+ codep = codep->next;
|
||||
+ *tp = (char)t;
|
||||
+ } while (codep && tp > op);
|
||||
+ assert(occ >= len);
|
||||
+ op += len;
|
||||
+ occ -= len;
|
||||
} else {
|
||||
*op++ = (char)code;
|
||||
occ--;
|
||||
--
|
||||
2.17.0
|
||||
|
26
gnu/packages/patches/qtoctave-qt-5.11-fix.patch
Normal file
26
gnu/packages/patches/qtoctave-qt-5.11-fix.patch
Normal file
@ -0,0 +1,26 @@
|
||||
This patch comes from upstream:
|
||||
https://hg.savannah.gnu.org/hgweb/octave/rev/cdaa884568b1.
|
||||
|
||||
# HG changeset patch
|
||||
# User Mike Miller <mtmiller@octave.org>
|
||||
# Date 1527214835 25200
|
||||
# Node ID cdaa884568b159549bd373f04386ff62417f6df9
|
||||
# Parent 9e39a53b4e007d3f79f88b711ab9fa5f2f24fbc9
|
||||
add Qt include needed to build against Qt 5.11 (bug #53978)
|
||||
|
||||
* settings-dialog.cc: Add missing include for <QButtonGroup> to fix build
|
||||
failure with Qt 5.11.
|
||||
|
||||
diff --git a/libgui/src/settings-dialog.cc b/libgui/src/settings-dialog.cc
|
||||
--- a/libgui/src/settings-dialog.cc
|
||||
+++ b/libgui/src/settings-dialog.cc
|
||||
@@ -34,6 +34,8 @@
|
||||
#include "workspace-model.h"
|
||||
#include "settings-dialog.h"
|
||||
#include "ui-settings-dialog.h"
|
||||
+
|
||||
+#include <QButtonGroup>
|
||||
#include <QDir>
|
||||
#include <QFileInfo>
|
||||
#include <QFileDialog>
|
||||
|
@ -69,21 +69,31 @@
|
||||
(define-public libraw
|
||||
(package
|
||||
(name "libraw")
|
||||
(version "0.18.12")
|
||||
(version "0.19.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://www.libraw.org/data/LibRaw-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1m2khr2cij8z6lawgbmdksjn14fpnjsy8ad4qahnpqapm1slsxap"))))
|
||||
"0nfj7s7qmgfy1cl8s3ck7dxjvprfq5glfi6iidmvmy8r7gl52gz8"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
(inputs
|
||||
`(("libjpeg" ,libjpeg-8))) ;for lossy DNGs and old Kodak cameras
|
||||
(propagated-inputs
|
||||
`(("lcms" ,lcms))) ;for color profiles
|
||||
(home-page "https://www.libraw.org")
|
||||
(synopsis "Raw image decoder")
|
||||
(description
|
||||
"LibRaw is a library for reading RAW files obtained from digital photo
|
||||
cameras (CRW/CR2, NEF, RAF, DNG, and others).")
|
||||
(license license:lgpl2.1+)))
|
||||
;; LibRaw is distributed under both LGPL2.1 and CDDL 1.0. From the README:
|
||||
;; "You may use one of these licensing modes and switch between them. If
|
||||
;; you modify LibRaw source and made your changes public, you should accept
|
||||
;; both two licensing modes for your changes/additions."
|
||||
(license (list license:lgpl2.1 license:cddl1.0))))
|
||||
|
||||
(define-public libexif
|
||||
(package
|
||||
@ -109,14 +119,14 @@ data as produced by digital cameras.")
|
||||
(define-public libgphoto2
|
||||
(package
|
||||
(name "libgphoto2")
|
||||
(version "2.5.17")
|
||||
(version "2.5.18")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/gphoto/libgphoto/"
|
||||
version "/libgphoto2-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"0mdmjb8a07g37bb5q69h11sixw0w6y5g3kbii9z97yhklgq68x21"))))
|
||||
"1v57ayp17j88bj79nl7rf4iyajbxx00kgb4l5k3kbv50gjfvh5sv"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs `(("pkg-config" ,pkg-config)))
|
||||
(inputs
|
||||
@ -184,7 +194,7 @@ MTP, and much more.")
|
||||
(define-public perl-image-exiftool
|
||||
(package
|
||||
(name "perl-image-exiftool")
|
||||
(version "10.80")
|
||||
(version "11.01")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
@ -192,7 +202,7 @@ MTP, and much more.")
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"14rwr5wk2snqv4yva6fax1gfsdv88941n237m0wyzn3n0xh9dy5w"))))
|
||||
"175w34n73mypdpbaqj2vgqsfp59yvfrn8k7zmx4cawnp895bypvh"))))
|
||||
(build-system perl-build-system)
|
||||
(arguments
|
||||
'(#:phases
|
||||
|
@ -17,6 +17,7 @@
|
||||
;;; Copyright © 2017 Carlo Zancanaro <carlo@zancanaro.id.au>
|
||||
;;; Copyright © 2018 Tomáš Čech <sleep_walker@gnu.org>
|
||||
;;; Copyright © 2018 Nicolas Goaziou <mail@nicolasgoaziou.fr>
|
||||
;;; Copyright © 2018 Vagrant Cascadian <vagrant@debian.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@ -173,6 +174,32 @@ John the Ripper).")
|
||||
(define-public python2-py-bcrypt
|
||||
(package-with-python2 python-py-bcrypt))
|
||||
|
||||
(define-public python-pyblake2
|
||||
(package
|
||||
(name "python-pyblake2")
|
||||
(version "1.1.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "pyblake2" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0gz9hgznv5zw4qjq43xa56y0yikimx30gffvibxzm0nv5sq7xk2w"))))
|
||||
(build-system python-build-system)
|
||||
(home-page "https://github.com/dchest/pyblake2")
|
||||
(synopsis "BLAKE2 hash function for Python")
|
||||
(description "BLAKE2 is a cryptographic hash function, which offers
|
||||
stronger security while being as fast as MD5 or SHA-1, and comes in two
|
||||
flavors: @code{BLAKE2b}, optimized for 64-bit platforms and produces digests
|
||||
of any size between 1 and 64 bytes, and @code{BLAKE2s}, optimized for 8- to
|
||||
32-bit platforms and produces digests of any size between 1 and 32 bytes.
|
||||
|
||||
This package provides a Python interface for BLAKE2.")
|
||||
;; The COPYING file declares it as public domain, with the option to
|
||||
;; alternatively use and redistribute it under a variety of permissive
|
||||
;; licenses. cc0 is explicitly mentioned in setup.py and pyblake2module.c.
|
||||
(license (list license:public-domain license:cc0))))
|
||||
|
||||
(define-public python-paramiko
|
||||
(package
|
||||
(name "python-paramiko")
|
||||
@ -403,14 +430,14 @@ message digests and key derivation functions.")
|
||||
(define-public python-pyopenssl
|
||||
(package
|
||||
(name "python-pyopenssl")
|
||||
(version "17.5.0")
|
||||
(version "18.0.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "pyOpenSSL" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0wv78mwsdqbxqwdwllf4maqybhbj3vb8328ia04hnb558sxcy41c"))))
|
||||
"1055rb456nvrjcij3sqj6c6l3kmh5cqqay0nsmx3pxq07d1g3234"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
'(#:phases
|
||||
|
@ -1413,14 +1413,14 @@ file.")
|
||||
(define-public python-webtest
|
||||
(package
|
||||
(name "python-webtest")
|
||||
(version "2.0.29")
|
||||
(version "2.0.30")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "WebTest" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0bcj1ica5lnmj5zbvk46x28kgphcsgh7sfnwjmn0cr94mhawrg6v"))))
|
||||
"1mb7m4ndklv84mh0pdkhv73yrflcnra61yczj5g3bvwbqlygfsaw"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(;; Unfortunately we have to disable tests!
|
||||
|
@ -1211,13 +1211,13 @@ human-friendly syntax.")
|
||||
(define-public python-pandas
|
||||
(package
|
||||
(name "python-pandas")
|
||||
(version "0.22.0")
|
||||
(version "0.23.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "pandas" version))
|
||||
(sha256
|
||||
(base32 "0v0fi2i10kwnmlpsl6f1fgajcpx3q6766qf6xqi5kw3ivn8l1aa4"))))
|
||||
(base32 "142nvwb01r2wv42y2cz40bx33hd8ffh6s6gynapg859fmzr2mdah"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:modules ((guix build utils)
|
||||
@ -1237,7 +1237,8 @@ human-friendly syntax.")
|
||||
(for-each delete-file
|
||||
'("pandas/tests/io/conftest.py"
|
||||
"pandas/tests/io/json/test_compression.py"
|
||||
"pandas/tests/io/test_excel.py"))
|
||||
"pandas/tests/io/test_excel.py"
|
||||
"pandas/tests/io/test_parquet.py"))
|
||||
(invoke "pytest" "-v" "pandas" "-k"
|
||||
(string-append
|
||||
"not network and not disabled"
|
||||
@ -1249,7 +1250,9 @@ human-friendly syntax.")
|
||||
("python-dateutil" ,python-dateutil)))
|
||||
(native-inputs
|
||||
`(("python-cython" ,python-cython)
|
||||
("python-beautifulsoup4" ,python-beautifulsoup4)
|
||||
("python-lxml" ,python-lxml)
|
||||
("python-html5lib" ,python-html5lib)
|
||||
("python-nose" ,python-nose)
|
||||
("python-pytest" ,python-pytest)))
|
||||
(home-page "https://pandas.pydata.org")
|
||||
@ -2680,14 +2683,14 @@ and several other projects.")
|
||||
(define-public python-rst.linker
|
||||
(package
|
||||
(name "python-rst.linker")
|
||||
(version "1.9")
|
||||
(version "1.10")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "rst.linker" version))
|
||||
(sha256
|
||||
(base32
|
||||
"16crgnai6020vdmnpwdimw1vm3jb74ysfyb3kmcidb0lgma5xq2d"))))
|
||||
"0iqaacp7pj1s8avs4kc0qg0r7dscywaq37y6l9j14glqdikk0wdj"))))
|
||||
(build-system python-build-system)
|
||||
(propagated-inputs
|
||||
`(("python-dateutil" ,python-dateutil)
|
||||
@ -2911,7 +2914,7 @@ between language specification and implementation aspects.")
|
||||
(define-public python-numpy
|
||||
(package
|
||||
(name "python-numpy")
|
||||
(version "1.14.3")
|
||||
(version "1.14.5")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
@ -2920,7 +2923,7 @@ between language specification and implementation aspects.")
|
||||
version "/numpy-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1yim2bxlycn4dhxmfxid6slplpmcb4ynhp411b37ahmsm2lwgkyg"))))
|
||||
"0admjpkih63lm19zbbilq8ck4f6ny5kqi03dk3m6b2mnixsh4jhv"))))
|
||||
(build-system python-build-system)
|
||||
(inputs
|
||||
`(("openblas" ,openblas)
|
||||
@ -10423,14 +10426,14 @@ network.")
|
||||
(define-public python-xopen
|
||||
(package
|
||||
(name "python-xopen")
|
||||
(version "0.3.2")
|
||||
(version "0.3.3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "xopen" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0bzjmn3rl1cd3d2q39cjwnkhaspk2b0hfj3rl64pclm44ihg5fb6"))
|
||||
"1a0wbil552wsmklwd89ssmgz3pjd86qa9i7jh8wqb9wslc8a2qjr"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))))
|
||||
(build-system python-build-system)
|
||||
(home-page "https://github.com/marcelm/xopen/")
|
||||
@ -10443,7 +10446,12 @@ possible on all supported Python versions.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public python2-xopen
|
||||
(package-with-python2 python-xopen))
|
||||
(let ((base (package-with-python2
|
||||
(strip-python2-variant python-xopen))))
|
||||
(package
|
||||
(inherit base)
|
||||
(propagated-inputs `(("python2-bz2file" ,python2-bz2file)
|
||||
,@(package-propagated-inputs base))))))
|
||||
|
||||
(define-public python2-cheetah
|
||||
(package
|
||||
@ -13416,14 +13424,14 @@ time-based (TOTP) passwords.")
|
||||
(define-public python-parso
|
||||
(package
|
||||
(name "python-parso")
|
||||
(version "0.2.0")
|
||||
(version "0.2.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "parso" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0lamywk6dm5xshlkdvxxf5j6fa2k2zpi7xagf0bwidaay3vnpgb2"))))
|
||||
"0zvh4rdhv2wkglkgh0h9kn9ndpsw5p639wcwv47jn1kfp504lq7h"))))
|
||||
(native-inputs
|
||||
`(("python-pytest" ,python-pytest)))
|
||||
(build-system python-build-system)
|
||||
|
@ -29,7 +29,7 @@
|
||||
(define-public re2
|
||||
(package
|
||||
(name "re2")
|
||||
(version "2018-04-01")
|
||||
(version "2018-07-01")
|
||||
(home-page "https://github.com/google/re2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
@ -37,7 +37,7 @@
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"04n9ngikvpikpshwcrl26sxgn8qbrymy3b5wlbsyfdhknx35951g"))))
|
||||
"1zh7kzyv4h7960rdp31a3bq6y4qrdxyf6k86j67yzpkf2h8phg40"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:modules ((guix build gnu-build-system)
|
||||
|
@ -76,7 +76,7 @@
|
||||
;; The 6.7 tarball is missing ‘install.sh’. Create it.
|
||||
(add-after 'unpack 'autoreconf
|
||||
(lambda _
|
||||
(zero? (system* "autoreconf" "-i"))))
|
||||
(invoke "autoreconf" "-i")))
|
||||
(add-before 'configure 'set-root-sbin
|
||||
(lambda _ ; Don't try to install in "/sbin".
|
||||
(setenv "ROOTSBINDIR"
|
||||
@ -150,14 +150,14 @@ anywhere.")
|
||||
(define-public samba
|
||||
(package
|
||||
(name "samba")
|
||||
(version "4.8.2")
|
||||
(version "4.8.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://download.samba.org/pub/samba/stable/"
|
||||
"samba-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"08mz29jmjxqvyyhm6pa388paagw1i2i21lc7pd2aprj9dllm5rb2"))))
|
||||
"1vc21c0m7wky70hpyjhw6ph6zlzljsvivlgxy54znpaxc259lmp0"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
@ -178,8 +178,7 @@ anywhere.")
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(libdir (string-append out "/lib")))
|
||||
(zero? (system*
|
||||
"./configure"
|
||||
(invoke "./configure"
|
||||
"--enable-fhs"
|
||||
;; XXX: heimdal not packaged.
|
||||
"--bundled-libraries=com_err"
|
||||
@ -188,7 +187,7 @@ anywhere.")
|
||||
;; Install public and private libraries into
|
||||
;; a single directory to avoid RPATH issues.
|
||||
(string-append "--libdir=" libdir)
|
||||
(string-append "--with-privatelibdir=" libdir))))))
|
||||
(string-append "--with-privatelibdir=" libdir)))))
|
||||
(add-before 'install 'disable-etc-samba-directory-creation
|
||||
(lambda _
|
||||
(substitute* "dynconfig/wscript"
|
||||
|
@ -314,15 +314,14 @@ Scheme and C programs and between Scheme and Java programs.")
|
||||
(replace 'configure
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(zero?
|
||||
(system* "./configure"
|
||||
(string-append "--prefix=" out)
|
||||
(string-append "--blflags="
|
||||
;; user flags completely override useful
|
||||
;; default flags, so repeat them here.
|
||||
"-copt \\$(CPICFLAGS) "
|
||||
"-L \\$(BUILDLIBDIR) "
|
||||
"-ldopt -Wl,-rpath," out "/lib")))))))))
|
||||
(invoke "./configure"
|
||||
(string-append "--prefix=" out)
|
||||
(string-append "--blflags="
|
||||
;; user flags completely override useful
|
||||
;; default flags, so repeat them here.
|
||||
"-copt \\$(CPICFLAGS) "
|
||||
"-L \\$(BUILDLIBDIR) "
|
||||
"-ldopt -Wl,-rpath," out "/lib"))))))))
|
||||
(inputs `(("avahi" ,avahi)
|
||||
("bigloo" ,bigloo)
|
||||
("libgc" ,libgc)
|
||||
@ -661,7 +660,8 @@ threads.")
|
||||
"| mit-scheme")))
|
||||
(with-directory-excursion "scmutils/scmutils"
|
||||
(and (zero? (system "mit-scheme < compile.scm"))
|
||||
(zero? (system make-img)))))))
|
||||
(zero? (system make-img))))
|
||||
#t)))
|
||||
(add-before 'install 'fix-directory-names
|
||||
;; Correct directory names in the startup script.
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
@ -685,8 +685,8 @@ threads.")
|
||||
;; code.
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(with-directory-excursion "scmutils/scmutils"
|
||||
(zero? (apply system* "etags"
|
||||
(find-files "." "\\.scm"))))))
|
||||
(apply invoke "etags" (find-files "." "\\.scm")))
|
||||
#t))
|
||||
(replace 'install
|
||||
;; Copy files to the store.
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
@ -882,12 +882,13 @@ regular-expression notation.")
|
||||
(add-after 'install 'remove-bin-share
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(delete-file-recursively
|
||||
(string-append (assoc-ref outputs "out") "/bin"))))
|
||||
(string-append (assoc-ref outputs "out") "/bin"))
|
||||
#t))
|
||||
(replace 'configure
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(zero? (system* "./configure"
|
||||
(string-append "--prefix="
|
||||
(assoc-ref outputs "out")))))))))
|
||||
(invoke "./configure"
|
||||
(string-append "--prefix="
|
||||
(assoc-ref outputs "out"))))))))
|
||||
(native-inputs `(("unzip" ,unzip)
|
||||
("texinfo" ,texinfo)))
|
||||
(home-page "http://people.csail.mit.edu/jaffer/SLIB.html")
|
||||
@ -916,39 +917,34 @@ utility functions for all standard Scheme implementations.")
|
||||
(modify-phases %standard-phases
|
||||
(replace 'configure
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(zero? (system* "./configure"
|
||||
(string-append "--prefix="
|
||||
(assoc-ref outputs "out"))))))
|
||||
(invoke "./configure"
|
||||
(string-append "--prefix="
|
||||
(assoc-ref outputs "out")))))
|
||||
(add-before 'build 'pre-build
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* "Makefile"
|
||||
(("ginstall-info") "install-info"))))
|
||||
(("ginstall-info") "install-info"))
|
||||
#t))
|
||||
(replace 'build
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(setenv "SCHEME_LIBRARY_PATH"
|
||||
(string-append (assoc-ref inputs "slib")
|
||||
"/lib/slib/"))
|
||||
(and
|
||||
(zero? (system* "make" "scmlit" "CC=gcc"))
|
||||
(zero? (system* "make" "all")))))
|
||||
(invoke "make" "scmlit" "CC=gcc")
|
||||
(invoke "make" "all")))
|
||||
(add-after 'install 'post-install
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let ((req
|
||||
(string-append (assoc-ref outputs "out")
|
||||
"/lib/scm/require.scm")))
|
||||
(and
|
||||
(delete-file req)
|
||||
(format (open req (logior O_WRONLY O_CREAT))
|
||||
"(define (library-vicinity) ~s)\n"
|
||||
(string-append (assoc-ref inputs "slib")
|
||||
"/lib/slib/"))
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(req (string-append out "/lib/scm/require.scm")))
|
||||
(delete-file req)
|
||||
(format (open req (logior O_WRONLY O_CREAT))
|
||||
"(define (library-vicinity) ~s)\n"
|
||||
(string-append (assoc-ref inputs "slib")
|
||||
"/lib/slib/"))
|
||||
|
||||
;; We must generate the slibcat file
|
||||
(zero? (system*
|
||||
(string-append
|
||||
(assoc-ref outputs "out")
|
||||
"/bin/scm")
|
||||
"-br" "new-catalog")))))))))
|
||||
;; We must generate the slibcat file.
|
||||
(invoke (string-append out "/bin/scm")
|
||||
"-br" "new-catalog")))))))
|
||||
(inputs `(("slib" ,slib)))
|
||||
(native-inputs `(("unzip" ,unzip)
|
||||
("texinfo" ,texinfo)))
|
||||
|
@ -3,6 +3,7 @@
|
||||
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2016 Nicolas Goaziou <mail@nicolasgoaziou.fr>
|
||||
;;; Copyright © 2016 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@ -132,14 +133,15 @@ such as ones for networking and GUI programming.")
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(with-directory-excursion "bld"
|
||||
(zero?
|
||||
(system* "../unix/cmake/configure"
|
||||
(invoke "../unix/cmake/configure"
|
||||
(string-append "--prefix=" out)
|
||||
"--without-quartz"))))))
|
||||
"--without-quartz")
|
||||
#t))))
|
||||
(replace 'build
|
||||
(lambda _
|
||||
(with-directory-excursion "bld"
|
||||
(zero? (system* "make"))))))))
|
||||
(invoke "make"))
|
||||
#t)))))
|
||||
(synopsis "Smalltalk programming language and environment")
|
||||
(description "Squeak is a full-featured implementation of the Smalltalk
|
||||
programming language and environment based on (and largely compatible with)
|
||||
|
@ -1816,7 +1816,8 @@ and fast file reading.")
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'check (lambda _ (zero? (system* "nosetests" "-v")))))))
|
||||
(replace 'check
|
||||
(lambda _ (invoke "nosetests" "-v"))))))
|
||||
(propagated-inputs
|
||||
`(("python-numpy" ,python-numpy)
|
||||
("python-scipy" ,python-scipy)
|
||||
|
@ -2,6 +2,7 @@
|
||||
;;; Copyright © 2015, 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2018 Ludovic Courtès <ludo@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@ -21,17 +22,24 @@
|
||||
(define-module (gnu packages sync)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix build-system meson)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages acl)
|
||||
#:use-module (gnu packages check)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages curl)
|
||||
#:use-module (gnu packages databases)
|
||||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu packages lua)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages qt)
|
||||
#:use-module (gnu packages rsync)
|
||||
#:use-module (gnu packages selinux)
|
||||
#:use-module (gnu packages tls))
|
||||
|
||||
(define-public owncloud-client
|
||||
@ -208,3 +216,46 @@ machines. Lsyncd is thus a light-weight live mirror solution that is
|
||||
comparatively easy to install not requiring new file systems or block devices
|
||||
and does not hamper local file system performance.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public casync
|
||||
(package
|
||||
(name "casync")
|
||||
(version "2")
|
||||
(home-page "https://github.com/systemd/casync/")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url home-page)
|
||||
(commit (string-append "v" version))))
|
||||
(sha256
|
||||
(base32
|
||||
"0znkp3fcksrykcsv06y2mjvf2lbwmin25snmvfa8i5qfm3f4rm88"))
|
||||
(file-name (string-append name "-" version "-checkout"))))
|
||||
(build-system meson-build-system)
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)
|
||||
("python-sphinx" ,python-sphinx)
|
||||
("rsync" ,rsync))) ;for tests
|
||||
(inputs
|
||||
`(("xz" ,xz) ;for liblzma
|
||||
("zstd" ,zstd)
|
||||
("curl" ,curl)
|
||||
("acl" ,acl)
|
||||
("libselinux" ,libselinux)
|
||||
("fuse" ,fuse)
|
||||
("openssl" ,openssl)
|
||||
("zlib" ,zlib)))
|
||||
(synopsis "File synchronization and backup system")
|
||||
(description
|
||||
"casync is a @dfn{content-addressable data synchronizer} that can be used
|
||||
as the basis of a backup system. It is:
|
||||
|
||||
@itemize
|
||||
@item A combination of the rsync algorithm and content-addressable storage;
|
||||
@item An efficient way to store and retrieve multiple related versions of
|
||||
large file systems or directory trees;
|
||||
@item An efficient way to deliver and update OS, VM, IoT and container images
|
||||
over the Internet in an HTTP and CDN friendly way;
|
||||
@item An efficient backup system.
|
||||
@end itemize\n")
|
||||
(license license:lgpl2.1+)))
|
||||
|
@ -218,7 +218,7 @@ internet.")
|
||||
(define-public libsrtp
|
||||
(package
|
||||
(name "libsrtp")
|
||||
(version "1.6.0")
|
||||
(version "2.2.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/cisco/libsrtp/archive/v"
|
||||
@ -226,31 +226,13 @@ internet.")
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1ppdqsrx5ni54vmd4kdzzmvgmf5ixb04w0jw7idy8mad6l27jghs"))))
|
||||
"02x5l5h2nq6f9gq1bmgz5v9jmnqaab51p8aldglng1z7pjbp9za4"))))
|
||||
(native-inputs
|
||||
`(("psmisc" ,psmisc) ;some tests require 'killall'
|
||||
("procps" ,procps)))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:test-target "runtest"
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-mips-variable-in-testsuite
|
||||
;; This comes from https://github.com/cisco/libsrtp/pull/151
|
||||
(lambda _
|
||||
(substitute* "test/srtp_driver.c"
|
||||
(("mips ") "mips_est ")
|
||||
(("mips\\)") "mips_est)"))
|
||||
#t))
|
||||
(add-after 'unpack 'patch-dictionary-location
|
||||
;; With the above changes, the rtpw_test.sh test finally runs, and fails.
|
||||
(lambda _
|
||||
(substitute* "test/rtpw.c"
|
||||
(("/usr/share/dict/words")
|
||||
(string-append (assoc-ref %build-inputs "procps")
|
||||
"/share/doc/procps-ng/FAQ"))
|
||||
(("words.txt") "FAQ"))
|
||||
#t)))))
|
||||
'(#:test-target "runtest"))
|
||||
(synopsis "Secure RTP (SRTP) Reference Implementation")
|
||||
(description
|
||||
"This package provides an implementation of the Secure Real-time Transport
|
||||
|
@ -579,9 +579,8 @@ collaboration using typical untrusted file hosts or services.")
|
||||
(add-after 'unpack 'unpack-git
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
;; Unpack the source of git into the 'git' directory.
|
||||
(zero? (system*
|
||||
"tar" "--strip-components=1" "-C" "git" "-xf"
|
||||
(assoc-ref inputs "git:src")))))
|
||||
(invoke "tar" "--strip-components=1" "-C" "git" "-xf"
|
||||
(assoc-ref inputs "git:src"))))
|
||||
(add-after 'unpack 'patch-absolute-file-names
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(define (quoted-file-name input path)
|
||||
@ -612,21 +611,20 @@ collaboration using typical untrusted file hosts or services.")
|
||||
(delete 'configure) ; no configure script
|
||||
(add-after 'build 'build-man
|
||||
(lambda* (#:key make-flags #:allow-other-keys)
|
||||
(zero? (apply system* `("make" ,@make-flags "doc-man")))))
|
||||
(apply invoke "make" "doc-man" make-flags)))
|
||||
(replace 'install
|
||||
(lambda* (#:key make-flags outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(and (zero? (apply system*
|
||||
`("make" ,@make-flags
|
||||
,(string-append "prefix=" out)
|
||||
,(string-append
|
||||
"CGIT_SCRIPT_PATH=" out "/share/cgit")
|
||||
"install" "install-man")))
|
||||
;; Move the platform-dependent 'cgit.cgi' into lib
|
||||
;; to get it stripped.
|
||||
(rename-file (string-append out "/share/cgit/cgit.cgi")
|
||||
(string-append out "/lib/cgit/cgit.cgi"))
|
||||
#t))))
|
||||
(apply invoke
|
||||
"make" "install" "install-man"
|
||||
(string-append "prefix=" out)
|
||||
(string-append "CGIT_SCRIPT_PATH=" out "/share/cgit")
|
||||
make-flags)
|
||||
;; Move the platform-dependent 'cgit.cgi' into lib to get it
|
||||
;; stripped.
|
||||
(rename-file (string-append out "/share/cgit/cgit.cgi")
|
||||
(string-append out "/lib/cgit/cgit.cgi"))
|
||||
#t)))
|
||||
(add-after 'install 'wrap-python-scripts
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(for-each
|
||||
@ -914,7 +912,7 @@ lot easier.")
|
||||
;; two tests will fail -> disable them. TODO: fix the failing tests
|
||||
(delete-file "t/t3300-edit.sh")
|
||||
(delete-file "t/t7504-commit-msg-hook.sh")
|
||||
(zero? (system* "make" "test")))))))
|
||||
(invoke "make" "test"))))))
|
||||
(home-page "http://procode.org/stgit/")
|
||||
(synopsis "Stacked Git")
|
||||
(description
|
||||
@ -1467,7 +1465,8 @@ accessed and migrated on modern systems.")
|
||||
"libaegis/getpw_cache.cc")
|
||||
(find-files "test" "\\.sh"))
|
||||
(("/bin/sh") (which "sh")))
|
||||
(setenv "SH" (which "sh"))))
|
||||
(setenv "SH" (which "sh"))
|
||||
#t))
|
||||
(replace 'check
|
||||
(lambda _
|
||||
(let ((home (string-append (getcwd) "/my-new-home")))
|
||||
@ -1475,12 +1474,20 @@ accessed and migrated on modern systems.")
|
||||
(mkdir home)
|
||||
(setenv "HOME" home)
|
||||
|
||||
;; This test assumes that flex has been symlinked to "lex".
|
||||
;; This test assumes that flex has been symlinked to "lex".
|
||||
(substitute* "test/00/t0011a.sh"
|
||||
(("type lex") "type flex"))
|
||||
|
||||
;; XXX Disable tests that fail, for unknown reasons, ‘for now’.
|
||||
(for-each
|
||||
(lambda (test) (substitute* "Makefile"
|
||||
(((string-append "test/" test "\\.ES ")) "")))
|
||||
(list "00/t0011a"
|
||||
"00/t0049a"
|
||||
"01/t0196a"))
|
||||
|
||||
;; The author decided to call the check rule "sure".
|
||||
(zero? (system* "make" "sure"))))))))
|
||||
(invoke "make" "sure")))))))
|
||||
(home-page "http://aegis.sourceforge.net")
|
||||
(synopsis "Project change supervisor")
|
||||
(description "Aegis is a project change supervisor, and performs some of
|
||||
@ -1897,9 +1904,10 @@ unique algebra of patches called @url{http://darcs.net/Theory,Patchtheory}.
|
||||
(add-after 'build 'add-properties
|
||||
(lambda* (#:key jar-name #:allow-other-keys)
|
||||
(with-directory-excursion "src"
|
||||
(zero? (apply system* "jar" "-uf"
|
||||
(string-append "../build/jar/" jar-name)
|
||||
(find-files "." "\\.properties$")))))))))
|
||||
(apply invoke "jar" "-uf"
|
||||
(string-append "../build/jar/" jar-name)
|
||||
(find-files "." "\\.properties$")))
|
||||
#t)))))
|
||||
(inputs
|
||||
`(("java-classpathx-servletapi" ,java-classpathx-servletapi)
|
||||
("java-javaewah" ,java-javaewah)
|
||||
@ -2034,7 +2042,7 @@ directory full of HOWTOs.")
|
||||
(define-public git-annex
|
||||
(package
|
||||
(name "git-annex")
|
||||
(version "6.20180529")
|
||||
(version "6.20180626")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
@ -2042,7 +2050,7 @@ directory full of HOWTOs.")
|
||||
"git-annex/git-annex-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1rx0m4yrl3gl2ca8rbbv74fdlg4s2jnddzljhph7271a7bpyxsx5"))))
|
||||
"0vq3x9p4h3m266pcm2r3m9p51pz5z9zskh7z5nk0adh33j30xf7q"))))
|
||||
(build-system haskell-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
|
@ -25,6 +25,7 @@
|
||||
;;; Copyright © 2018 Roel Janssen <roel@gnu.org>
|
||||
;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com>
|
||||
;;; Copyright © 2018 Pierre Neidhardt <ambrevar@gmail.com>
|
||||
;;; Copyright © 2018 Leo Famulari <leo@famulari.name>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@ -1610,7 +1611,7 @@ device without having to bother about the decryption.")
|
||||
(synopsis "SubRip to WebVTT subtitle converter")
|
||||
(description "srt2vtt converts SubRip formatted subtitles to WebVTT format
|
||||
for use with HTML5 video.")
|
||||
(home-page "http://dthompson.us/pages/software/srt2vtt")
|
||||
(home-page "https://dthompson.us/projects/srt2vtt.html")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public avidemux
|
||||
@ -2974,3 +2975,27 @@ format and some of its derived file formats, including MP4. It operates as a
|
||||
multiplexer and demultiplexer, and can mux video and audio in several formats
|
||||
using standalone executable files.")
|
||||
(license license:isc)))
|
||||
|
||||
(define-public qtfaststart
|
||||
(package
|
||||
(name "qtfaststart")
|
||||
(version "1.8")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "qtfaststart" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0hcjfik8hhb1syqvyh5c6aillpvzal26nkjflcq1270z64aj6i5h"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
'(#:tests? #f)) ; no test suite
|
||||
(synopsis "Move QuickTime and MP4 metadata to the beginning of the file")
|
||||
(description "qtfaststart enables streaming and pseudo-streaming of
|
||||
QuickTime and MP4 files by moving metadata and offset information to the
|
||||
beginning of the file. It can also print some useful information about the
|
||||
structure of the file. This program is based on qt-faststart.c from the FFmpeg
|
||||
project, which is released into the public domain, as well as ISO 14496-12:2005
|
||||
(the official spec for MP4), which can be obtained from the ISO or found
|
||||
online.")
|
||||
(home-page "https://github.com/danielgtaylor/qtfaststart")
|
||||
(license license:expat)))
|
||||
|
@ -233,7 +233,8 @@ and the ICD.")
|
||||
"16p25ry2i4zrj00zihfpf210f8xd7g398ffbw25igvi9mbn4nbfd"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
`(#:tests? #f ; FIXME: Tests fail.
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'configure
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
|
@ -26,6 +26,7 @@
|
||||
;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com>
|
||||
;;; Copyright © 2018 Julien Lepiller <julien@lepiller.eu>
|
||||
;;; Copyright © 2018 Pierre-Antoine Rouby <pierre-antoine.rouby@inria.fr>
|
||||
;;; Copyright © 2018 Gábor Boskovits <boskovits@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@ -6113,6 +6114,7 @@ artifact.")))
|
||||
`(#:jar-name "eclipse-jetty-security.jar"
|
||||
#:source-dir "src/main/java"
|
||||
#:jdk ,icedtea-8
|
||||
#:test-exclude (list "**/ConstraintTest.*") ; This test fails
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'configure 'chdir
|
||||
@ -6139,11 +6141,6 @@ infrastructure")))
|
||||
(inherit java-eclipse-jetty-security)
|
||||
(version (package-version java-eclipse-jetty-util-9.2))
|
||||
(source (package-source java-eclipse-jetty-util-9.2))
|
||||
(arguments
|
||||
`(#:test-exclude
|
||||
;; This test fails.
|
||||
(list "**/ConstraintTest.*")
|
||||
,@(package-arguments java-eclipse-jetty-security)))
|
||||
(inputs
|
||||
`(("util" ,java-eclipse-jetty-util-9.2)
|
||||
("http" ,java-eclipse-jetty-http-9.2)
|
||||
|
@ -3,6 +3,7 @@
|
||||
;;; Copyright © 2014, 2015, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com>
|
||||
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@ -149,9 +150,9 @@ online pastebin services.")
|
||||
(find-files "."))
|
||||
(substitute* "./gnulib/gnulib-tool.py"
|
||||
(("/usr/bin/python") (which "python3")))
|
||||
(zero? (system* "sh" "./bootstrap"
|
||||
(invoke "sh" "./bootstrap"
|
||||
"--gnulib-srcdir=gnulib"
|
||||
"--no-git")))))))
|
||||
"--no-git"))))))
|
||||
(inputs `(("autoconf" ,autoconf)
|
||||
("automake" ,automake)
|
||||
("doxygen" ,doxygen)
|
||||
|
@ -69,7 +69,7 @@
|
||||
(define-public wine
|
||||
(package
|
||||
(name "wine")
|
||||
(version "3.0.1")
|
||||
(version "3.0.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://dl.winehq.org/wine/source/"
|
||||
@ -77,7 +77,7 @@
|
||||
"/wine-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1wr63n70pli83p3rmclr2j4lxzs4ll1cwlpdlaajfrf6v9yhvl5s"))))
|
||||
"1zv3nk31s758ghp4795ym3w8l5868c2dllmjx9245qh9ahvp3mya"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs `(("pkg-config" ,pkg-config)
|
||||
("gettext" ,gettext-minimal)
|
||||
|
@ -265,25 +265,23 @@ between desktops, and change the number of desktops.")
|
||||
(define-public xeyes
|
||||
(package
|
||||
(name "xeyes")
|
||||
(version "1.0.1")
|
||||
(version "1.1.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"http://xeyes.sourcearchive.com/downloads/1.0.1/xeyes_"
|
||||
version
|
||||
".orig.tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"04c3md570j67g55h3bix1qbngcslnq91skli51k3g1avki88zkm9"))))
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://www.x.org/releases/individual/app/"
|
||||
name "-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32 "0lq5j7fryx1wn998jq6h3icz1h6pqrsbs3adskjzjyhn5l6yrg2p"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("libxext" ,libxext)
|
||||
("libxmu" ,libxmu)
|
||||
("libxrender" ,libxrender)
|
||||
("libxt" ,libxt)))
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
(home-page "http://xeyes.sourcearchive.com/")
|
||||
(home-page "https://www.x.org/") ; no dedicated Xeyes page exists
|
||||
(synopsis "Follow-the-mouse X demo")
|
||||
(description "Xeyes is a demo program for x.org. It shows eyes
|
||||
following the mouse.")
|
||||
@ -736,17 +734,16 @@ Guile will work for XBindKeys.")
|
||||
(define-public sxhkd
|
||||
(package
|
||||
(name "sxhkd")
|
||||
(version "0.5.6")
|
||||
(version "0.5.9")
|
||||
(source
|
||||
(origin
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://github.com/baskerville/sxhkd/archive/"
|
||||
version ".tar.gz"))
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/baskerville/sxhkd")
|
||||
(commit version)))
|
||||
(sha256
|
||||
(base32
|
||||
"15grmzpxz5fqlbfg2slj7gb7r6nzkvjmflmbkqx7mlby9pm6wdkj"))))
|
||||
"0cw547x7vky55k3ksrmzmrra4zhslqcwq9xw0y4cmbvy4s1qf64v"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("asciidoc" ,asciidoc)
|
||||
@ -755,10 +752,14 @@ Guile will work for XBindKeys.")
|
||||
("xcb-util-keysyms" ,xcb-util-keysyms)
|
||||
("xcb-util-wm" ,xcb-util-wm)))
|
||||
(arguments
|
||||
'(#:phases (modify-phases %standard-phases (delete 'configure))
|
||||
`(#:phases (modify-phases %standard-phases (delete 'configure))
|
||||
#:tests? #f ; no check target
|
||||
#:make-flags (list "CC=gcc"
|
||||
(string-append "PREFIX=" %output))))
|
||||
#:make-flags
|
||||
(list "CC=gcc"
|
||||
(string-append "PREFIX=" %output)
|
||||
;; Keep the documentation where the build system installs LICENSE.
|
||||
(string-append "DOCPREFIX=" %output
|
||||
"/share/doc/" ,name "-" ,version))))
|
||||
(home-page "https://github.com/baskerville/sxhkd")
|
||||
(synopsis "Simple X hotkey daemon")
|
||||
(description "sxhkd is a simple X hotkey daemon with a powerful and
|
||||
|
@ -793,7 +793,7 @@ inhibit interface which allows applications to prevent automatic sleep.")
|
||||
(define-public ristretto
|
||||
(package
|
||||
(name "ristretto")
|
||||
(version "0.8.2")
|
||||
(version "0.8.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://archive.xfce.org/src/apps/ristretto/"
|
||||
@ -801,7 +801,7 @@ inhibit interface which allows applications to prevent automatic sleep.")
|
||||
name "-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"1f01d47kd85kjd1k4bzpcck4cb40qpjm5fzirzwdsxzwlrybgwzq"))))
|
||||
"0r96r8r1qslr6cqvwldm99ha563adkw9v2zvaznxkpqn11v1374c"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("intltool" ,intltool)
|
||||
|
@ -5928,7 +5928,7 @@ basic eye-candy effects.")
|
||||
(define-public xpra
|
||||
(package
|
||||
(name "xpra")
|
||||
(version "2.3.1")
|
||||
(version "2.3.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
@ -5936,7 +5936,7 @@ basic eye-candy effects.")
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0wghjmrw77pkh6agc5rz7ynr6s8yyc68qvj9rnp0vlwa3x1fl3ry"))))
|
||||
"02wpnlx43dwacaahpm8db5kbnjw2msm3ycq71gib0n2zamd71ni6"))))
|
||||
(build-system python-build-system)
|
||||
(inputs `(("ffmpeg" ,ffmpeg)
|
||||
("flac" ,flac)
|
||||
|
@ -199,10 +199,10 @@ Invoke the garbage collector.\n"))
|
||||
;; Attempt to have at least SPACE bytes available in STORE.
|
||||
(let ((free (free-disk-space (%store-prefix))))
|
||||
(if (> free space)
|
||||
(info (G_ "already ~h bytes available on ~a, nothing to do~%")
|
||||
free (%store-prefix))
|
||||
(info (G_ "already ~h MiBs available on ~a, nothing to do~%")
|
||||
(/ free 1024. 1024.) (%store-prefix))
|
||||
(let ((to-free (- space free)))
|
||||
(info (G_ "freeing ~h bytes~%") to-free)
|
||||
(info (G_ "freeing ~h MiBs~%") (/ to-free 1024. 1024.))
|
||||
(collect-garbage store to-free)))))
|
||||
|
||||
(with-error-handling
|
||||
@ -234,10 +234,10 @@ Invoke the garbage collector.\n"))
|
||||
(ensure-free-space store free-space))
|
||||
(min-freed
|
||||
(let-values (((paths freed) (collect-garbage store min-freed)))
|
||||
(info (G_ "freed ~h bytes~%") freed)))
|
||||
(info (G_ "freed ~h MiBs~%") (/ freed 1024. 1024.))))
|
||||
(else
|
||||
(let-values (((paths freed) (collect-garbage store)))
|
||||
(info (G_ "freed ~h bytes~%") freed))))))
|
||||
(info (G_ "freed ~h MiBs~%") (/ freed 1024. 1024.)))))))
|
||||
((delete)
|
||||
(delete-paths store (map direct-store-path paths)))
|
||||
((list-references)
|
||||
|
@ -83,6 +83,7 @@ GUILE-VERSION (\"2.0\" or \"2.2\"), or #f if none of the packages matches."
|
||||
("guile-ssh" (ref '(gnu packages ssh) 'guile-ssh))
|
||||
("guile-git" (ref '(gnu packages guile) 'guile-git))
|
||||
("guile-sqlite3" (ref '(gnu packages guile) 'guile-sqlite3))
|
||||
("gnutls" (ref '(gnu packages tls) 'gnutls))
|
||||
("libgcrypt" (ref '(gnu packages gnupg) 'libgcrypt))
|
||||
("zlib" (ref '(gnu packages compression) 'zlib))
|
||||
("gzip" (ref '(gnu packages compression) 'gzip))
|
||||
@ -92,6 +93,7 @@ GUILE-VERSION (\"2.0\" or \"2.2\"), or #f if none of the packages matches."
|
||||
("guile2.0-ssh" (ref '(gnu packages ssh) 'guile2.0-ssh))
|
||||
("guile2.0-git" (ref '(gnu packages guile) 'guile2.0-git))
|
||||
;; XXX: No "guile2.0-sqlite3".
|
||||
("guile2.0-gnutls" (ref '(gnu packages tls) 'gnutls/guile-2.0))
|
||||
(_ #f)))) ;no such package
|
||||
|
||||
|
||||
@ -459,11 +461,16 @@ assumed to be part of MODULES."
|
||||
"guile-sqlite3"
|
||||
"guile2.0-sqlite3"))
|
||||
|
||||
(define gnutls
|
||||
(package-for-guile guile-version
|
||||
"gnutls" "guile2.0-gnutls"))
|
||||
|
||||
(define dependencies
|
||||
(match (append-map (lambda (package)
|
||||
(cons (list "x" package)
|
||||
(package-transitive-propagated-inputs package)))
|
||||
(list guile-git guile-json guile-ssh guile-sqlite3))
|
||||
(list gnutls guile-git guile-json
|
||||
guile-ssh guile-sqlite3))
|
||||
(((labels packages _ ...) ...)
|
||||
packages)))
|
||||
|
||||
|
@ -65,6 +65,7 @@
|
||||
build-mode
|
||||
|
||||
open-connection
|
||||
port->connection
|
||||
close-connection
|
||||
with-store
|
||||
set-build-options
|
||||
@ -517,6 +518,23 @@ for this connection will be pinned. Return a server object."
|
||||
(or done? (process-stderr conn)))
|
||||
conn)))))))))
|
||||
|
||||
(define* (port->connection port
|
||||
#:key (version %protocol-version))
|
||||
"Assimilate PORT, an input/output port, and return a connection to the
|
||||
daemon, assuming the given protocol VERSION.
|
||||
|
||||
Warning: this procedure assumes that the initial handshake with the daemon has
|
||||
already taken place on PORT and that we're just continuing on this established
|
||||
connection. Use with care."
|
||||
(let-values (((output flush)
|
||||
(buffering-output-port port (make-bytevector 8192))))
|
||||
(%make-nix-server port
|
||||
(protocol-major version)
|
||||
(protocol-minor version)
|
||||
output flush
|
||||
(make-hash-table 100)
|
||||
(make-hash-table 100))))
|
||||
|
||||
(define (write-buffered-output server)
|
||||
"Flush SERVER's output port."
|
||||
(force-output (nix-server-output-port server))
|
||||
|
30
guix/ui.scm
30
guix/ui.scm
@ -421,8 +421,21 @@ report them in a user-friendly way."
|
||||
(lambda _
|
||||
(setlocale LC_ALL ""))
|
||||
(lambda args
|
||||
(warning (G_ "failed to install locale: ~a~%")
|
||||
(strerror (system-error-errno args))))))
|
||||
(cond-expand
|
||||
;; Guile 2.2 already emits a warning, so let's not add a second one.
|
||||
(guile-2.2 #t)
|
||||
(else (warning (G_ "failed to install locale: ~a~%")
|
||||
(strerror (system-error-errno args)))))
|
||||
(display-hint (G_ "Consider installing the @code{glibc-utf8-locales} or
|
||||
@code{glibc-locales} package and defining @code{GUIX_LOCPATH}, along these
|
||||
lines:
|
||||
|
||||
@example
|
||||
guix package -i glibc-utf8-locales
|
||||
export GUIX_LOCPATH=\"$HOME/.guix-profile/lib/locale\"
|
||||
@end example
|
||||
|
||||
See the \"Application Setup\" section in the manual, for more info.\n")))))
|
||||
|
||||
(define (initialize-guix)
|
||||
"Perform the usual initialization for stand-alone Guix commands."
|
||||
@ -1209,11 +1222,14 @@ field in the final score.
|
||||
A score of zero means that OBJ does not match any of REGEXPS. The higher the
|
||||
score, the more relevant OBJ is to REGEXPS."
|
||||
(define (score str)
|
||||
(let ((counts (filter-map (lambda (regexp)
|
||||
(match (regexp-exec regexp str)
|
||||
(#f #f)
|
||||
(m (match:count m))))
|
||||
regexps)))
|
||||
(let ((counts (map (lambda (regexp)
|
||||
(match (fold-matches regexp str '() cons)
|
||||
(() 0)
|
||||
((m) (if (string=? (match:substring m) str)
|
||||
5 ;exact match
|
||||
1))
|
||||
(lst (length lst))))
|
||||
regexps)))
|
||||
;; Compute a score that's proportional to the number of regexps matched
|
||||
;; and to the number of matches for each regexp.
|
||||
(* (length counts) (reduce + 0 counts))))
|
||||
|
789
po/guix/pt_BR.po
789
po/guix/pt_BR.po
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user