mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-12-24 05:18:07 -05:00
Merge branch 'master' into staging
This commit is contained in:
commit
12878d12ac
42 changed files with 1249 additions and 210 deletions
|
@ -329,6 +329,7 @@ SCM_TESTS = \
|
||||||
tests/base16.scm \
|
tests/base16.scm \
|
||||||
tests/base32.scm \
|
tests/base32.scm \
|
||||||
tests/base64.scm \
|
tests/base64.scm \
|
||||||
|
tests/channels.scm \
|
||||||
tests/cpan.scm \
|
tests/cpan.scm \
|
||||||
tests/cpio.scm \
|
tests/cpio.scm \
|
||||||
tests/crate.scm \
|
tests/crate.scm \
|
||||||
|
|
|
@ -187,14 +187,14 @@ (define MiB
|
||||||
(bootloader u-boot-bootloader)
|
(bootloader u-boot-bootloader)
|
||||||
(target #f))))
|
(target #f))))
|
||||||
#:disk-image-size
|
#:disk-image-size
|
||||||
(* 1024 MiB))))))
|
(* 1500 MiB))))))
|
||||||
(list (->job 'usb-image
|
(list (->job 'usb-image
|
||||||
(run-with-store store
|
(run-with-store store
|
||||||
(mbegin %store-monad
|
(mbegin %store-monad
|
||||||
(set-guile-for-build (default-guile))
|
(set-guile-for-build (default-guile))
|
||||||
(system-disk-image installation-os
|
(system-disk-image installation-os
|
||||||
#:disk-image-size
|
#:disk-image-size
|
||||||
(* 1024 MiB)))))
|
(* 1500 MiB)))))
|
||||||
(->job 'iso9660-image
|
(->job 'iso9660-image
|
||||||
(run-with-store store
|
(run-with-store store
|
||||||
(mbegin %store-monad
|
(mbegin %store-monad
|
||||||
|
|
|
@ -3037,6 +3037,39 @@ the new and upgraded packages that are listed, some like @code{my-gimp} and
|
||||||
@code{my-emacs-with-cool-features} might come from
|
@code{my-emacs-with-cool-features} might come from
|
||||||
@code{my-personal-packages}, while others come from the Guix default channel.
|
@code{my-personal-packages}, while others come from the Guix default channel.
|
||||||
|
|
||||||
|
@cindex dependencies, channels
|
||||||
|
@cindex meta-data, channels
|
||||||
|
@subsection Declaring Channel Dependencies
|
||||||
|
|
||||||
|
Channel authors may decide to augment a package collection provided by other
|
||||||
|
channels. They can declare their channel to be dependent on other channels in
|
||||||
|
a meta-data file @file{.guix-channel}, which is to be placed in the root of
|
||||||
|
the channel repository.
|
||||||
|
|
||||||
|
The meta-data file should contain a simple S-expression like this:
|
||||||
|
|
||||||
|
@lisp
|
||||||
|
(channel
|
||||||
|
(version 0)
|
||||||
|
(dependencies
|
||||||
|
(channel
|
||||||
|
(name 'some-collection)
|
||||||
|
(url "https://example.org/first-collection.git"))
|
||||||
|
(channel
|
||||||
|
(name 'some-other-collection)
|
||||||
|
(url "https://example.org/second-collection.git")
|
||||||
|
(branch "testing"))))
|
||||||
|
@end lisp
|
||||||
|
|
||||||
|
In the above example this channel is declared to depend on two other channels,
|
||||||
|
which will both be fetched automatically. The modules provided by the channel
|
||||||
|
will be compiled in an environment where the modules of all these declared
|
||||||
|
channels are available.
|
||||||
|
|
||||||
|
For the sake of reliability and maintainability, you should avoid dependencies
|
||||||
|
on channels that you don't control, and you should aim to keep the number of
|
||||||
|
dependencies to a minimum.
|
||||||
|
|
||||||
@subsection Replicating Guix
|
@subsection Replicating Guix
|
||||||
|
|
||||||
@cindex pinning, channels
|
@cindex pinning, channels
|
||||||
|
|
|
@ -146,6 +146,7 @@ GNU_SYSTEM_MODULES = \
|
||||||
%D%/packages/documentation.scm \
|
%D%/packages/documentation.scm \
|
||||||
%D%/packages/dunst.scm \
|
%D%/packages/dunst.scm \
|
||||||
%D%/packages/dvtm.scm \
|
%D%/packages/dvtm.scm \
|
||||||
|
%D%/packages/easyrpg.scm \
|
||||||
%D%/packages/ebook.scm \
|
%D%/packages/ebook.scm \
|
||||||
%D%/packages/ed.scm \
|
%D%/packages/ed.scm \
|
||||||
%D%/packages/education.scm \
|
%D%/packages/education.scm \
|
||||||
|
@ -606,7 +607,6 @@ dist_patch_DATA = \
|
||||||
%D%/packages/patches/blast+-fix-makefile.patch \
|
%D%/packages/patches/blast+-fix-makefile.patch \
|
||||||
%D%/packages/patches/blender-newer-ffmpeg.patch \
|
%D%/packages/patches/blender-newer-ffmpeg.patch \
|
||||||
%D%/packages/patches/boost-fix-icu-build.patch \
|
%D%/packages/patches/boost-fix-icu-build.patch \
|
||||||
%D%/packages/patches/borg-respect-storage-quota.patch \
|
|
||||||
%D%/packages/patches/byobu-writable-status.patch \
|
%D%/packages/patches/byobu-writable-status.patch \
|
||||||
%D%/packages/patches/calibre-no-updates-dialog.patch \
|
%D%/packages/patches/calibre-no-updates-dialog.patch \
|
||||||
%D%/packages/patches/calibre-use-packaged-feedparser.patch \
|
%D%/packages/patches/calibre-use-packaged-feedparser.patch \
|
||||||
|
@ -1007,6 +1007,7 @@ dist_patch_DATA = \
|
||||||
%D%/packages/patches/openbabel-fix-crash-on-nwchem-output.patch \
|
%D%/packages/patches/openbabel-fix-crash-on-nwchem-output.patch \
|
||||||
%D%/packages/patches/opencascade-oce-glibc-2.26.patch \
|
%D%/packages/patches/opencascade-oce-glibc-2.26.patch \
|
||||||
%D%/packages/patches/openfoam-4.1-cleanup.patch \
|
%D%/packages/patches/openfoam-4.1-cleanup.patch \
|
||||||
|
%D%/packages/patches/openjdk-10-idlj-reproducibility.patch \
|
||||||
%D%/packages/patches/openldap-CVE-2017-9287.patch \
|
%D%/packages/patches/openldap-CVE-2017-9287.patch \
|
||||||
%D%/packages/patches/openocd-nrf52.patch \
|
%D%/packages/patches/openocd-nrf52.patch \
|
||||||
%D%/packages/patches/opensmtpd-fix-crash.patch \
|
%D%/packages/patches/opensmtpd-fix-crash.patch \
|
||||||
|
@ -1051,6 +1052,7 @@ dist_patch_DATA = \
|
||||||
%D%/packages/patches/plink-endian-detection.patch \
|
%D%/packages/patches/plink-endian-detection.patch \
|
||||||
%D%/packages/patches/plotutils-libpng-jmpbuf.patch \
|
%D%/packages/patches/plotutils-libpng-jmpbuf.patch \
|
||||||
%D%/packages/patches/podofo-cmake-3.12.patch \
|
%D%/packages/patches/podofo-cmake-3.12.patch \
|
||||||
|
%D%/packages/patches/polkit-CVE-2018-19788.patch \
|
||||||
%D%/packages/patches/portaudio-audacity-compat.patch \
|
%D%/packages/patches/portaudio-audacity-compat.patch \
|
||||||
%D%/packages/patches/portmidi-modular-build.patch \
|
%D%/packages/patches/portmidi-modular-build.patch \
|
||||||
%D%/packages/patches/postgresql-disable-resolve_symlinks.patch \
|
%D%/packages/patches/postgresql-disable-resolve_symlinks.patch \
|
||||||
|
|
|
@ -2183,7 +2183,7 @@ (define-public qjackrcd
|
||||||
(define-public supercollider
|
(define-public supercollider
|
||||||
(package
|
(package
|
||||||
(name "supercollider")
|
(name "supercollider")
|
||||||
(version "3.9.3")
|
(version "3.10.0")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append
|
(uri (string-append
|
||||||
|
@ -2192,7 +2192,7 @@ (define-public supercollider
|
||||||
"/SuperCollider-" version "-Source-linux.tar.bz2"))
|
"/SuperCollider-" version "-Source-linux.tar.bz2"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1d8ixfl100jvlialxdizp8wqsl1mp5pi2bam25vp97bhjd59cfdr"))))
|
"16j9psa32czx1p1y2vvq0qf2ib0ngrfc604vx35n2b4llyika84v"))))
|
||||||
(build-system cmake-build-system)
|
(build-system cmake-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
`(#:configure-flags '("-DSYSTEM_BOOST=on" "-DSYSTEM_YAMLCPP=on"
|
`(#:configure-flags '("-DSYSTEM_BOOST=on" "-DSYSTEM_YAMLCPP=on"
|
||||||
|
@ -2230,13 +2230,13 @@ (define-public supercollider
|
||||||
;; https://github.com/supercollider/supercollider/issues/1736
|
;; https://github.com/supercollider/supercollider/issues/1736
|
||||||
(add-after 'rm-bundled-libs 'disable-broken-tests
|
(add-after 'rm-bundled-libs 'disable-broken-tests
|
||||||
(lambda _
|
(lambda _
|
||||||
(substitute* "testsuite/supernova/CMakeLists.txt"
|
(substitute* "testsuite/server/supernova/CMakeLists.txt"
|
||||||
(("server_test.cpp")
|
(("server_test.cpp")
|
||||||
"")
|
"")
|
||||||
(("perf_counter_test.cpp")
|
(("perf_counter_test.cpp")
|
||||||
""))
|
""))
|
||||||
(delete-file "testsuite/supernova/server_test.cpp")
|
(delete-file "testsuite/server/supernova/server_test.cpp")
|
||||||
(delete-file "testsuite/supernova/perf_counter_test.cpp")
|
(delete-file "testsuite/server/supernova/perf_counter_test.cpp")
|
||||||
(substitute* "testsuite/CMakeLists.txt"
|
(substitute* "testsuite/CMakeLists.txt"
|
||||||
(("add_subdirectory\\(sclang\\)")
|
(("add_subdirectory\\(sclang\\)")
|
||||||
""))
|
""))
|
||||||
|
|
|
@ -491,15 +491,14 @@ (define-public libchop
|
||||||
(define-public borg
|
(define-public borg
|
||||||
(package
|
(package
|
||||||
(name "borg")
|
(name "borg")
|
||||||
(version "1.1.7")
|
(version "1.1.8")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (pypi-uri "borgbackup" version))
|
(uri (pypi-uri "borgbackup" version))
|
||||||
(patches (search-patches "borg-respect-storage-quota.patch"))
|
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1p3zia62vyg9vadkdjzzkzbj4dmgijr7ix5lmhfbxpwy5q9imdgp"))
|
"0qqvcscn1l4y83x4sh3izdpmr8zq38j8chjkpfq4q4d01i470hqb"))
|
||||||
(modules '((guix build utils)))
|
(modules '((guix build utils)))
|
||||||
(snippet
|
(snippet
|
||||||
'(begin
|
'(begin
|
||||||
|
|
|
@ -317,6 +317,8 @@ (define-public syslinux
|
||||||
(home-page "https://www.syslinux.org")
|
(home-page "https://www.syslinux.org")
|
||||||
(synopsis "Lightweight Linux bootloader")
|
(synopsis "Lightweight Linux bootloader")
|
||||||
(description "Syslinux is a lightweight Linux bootloader.")
|
(description "Syslinux is a lightweight Linux bootloader.")
|
||||||
|
;; The Makefile specifically targets i386 and x86_64 using nasm.
|
||||||
|
(supported-systems '("i686-linux" "x86_64-linux"))
|
||||||
(license (list license:gpl2+
|
(license (list license:gpl2+
|
||||||
license:bsd-3 ; gnu-efi/*
|
license:bsd-3 ; gnu-efi/*
|
||||||
license:bsd-4 ; gnu-efi/inc/* gnu-efi/lib/*
|
license:bsd-4 ; gnu-efi/inc/* gnu-efi/lib/*
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
;;; Copyright © 2014 John Darrington <jmd@gnu.org>
|
;;; Copyright © 2014 John Darrington <jmd@gnu.org>
|
||||||
;;; Copyright © 2016, 2017, 2018 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 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||||
|
;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
;;;
|
;;;
|
||||||
|
@ -25,6 +26,7 @@ (define-module (gnu packages busybox)
|
||||||
#:use-module (guix build-system gnu)
|
#:use-module (guix build-system gnu)
|
||||||
#:use-module (gnu packages)
|
#:use-module (gnu packages)
|
||||||
#:use-module (gnu packages admin)
|
#:use-module (gnu packages admin)
|
||||||
|
#:use-module (gnu packages algebra)
|
||||||
#:use-module (gnu packages compression)
|
#:use-module (gnu packages compression)
|
||||||
#:use-module (gnu packages perl))
|
#:use-module (gnu packages perl))
|
||||||
|
|
||||||
|
@ -102,3 +104,41 @@ (define-public busybox
|
||||||
(home-page "https://www.busybox.net")
|
(home-page "https://www.busybox.net")
|
||||||
;; Some files are gplv2+
|
;; Some files are gplv2+
|
||||||
(license gpl2)))
|
(license gpl2)))
|
||||||
|
|
||||||
|
(define-public toybox
|
||||||
|
(package
|
||||||
|
(name "toybox")
|
||||||
|
(version "0.7.8")
|
||||||
|
(source (origin
|
||||||
|
(method url-fetch)
|
||||||
|
(uri (string-append
|
||||||
|
"https://landley.net/toybox/downloads/toybox-"
|
||||||
|
version ".tar.gz"))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"1mlqv5hsvy8ii6m698hq6rc316klwv44jlr034knwg6bk1lf2qj9"))))
|
||||||
|
(build-system gnu-build-system)
|
||||||
|
(arguments
|
||||||
|
'(#:phases
|
||||||
|
(modify-phases %standard-phases
|
||||||
|
(add-before 'configure 'set-environment-variables
|
||||||
|
(lambda _
|
||||||
|
(setenv "CC" (which "gcc"))
|
||||||
|
(setenv "HOSTCC" (which "gcc"))
|
||||||
|
#t))
|
||||||
|
(replace 'configure
|
||||||
|
(lambda _ (invoke "make" "defconfig")))
|
||||||
|
(replace 'install
|
||||||
|
(lambda* (#:key outputs #:allow-other-keys)
|
||||||
|
(let ((out (assoc-ref outputs "out")))
|
||||||
|
(invoke "make"
|
||||||
|
(string-append "PREFIX=" out)
|
||||||
|
"install")))))
|
||||||
|
#:test-target "tests"))
|
||||||
|
(native-inputs `(("bc" ,bc)))
|
||||||
|
(synopsis "Many common UNIX utilities in a single executable")
|
||||||
|
(description "ToyBox combines tiny versions of many common UNIX utilities
|
||||||
|
into a single small executable. It provides a fairly complete environment for
|
||||||
|
any small or embedded system.")
|
||||||
|
(home-page "https://landley.net/toybox/")
|
||||||
|
(license bsd-2)))
|
||||||
|
|
|
@ -1414,6 +1414,30 @@ (define-public python-pytest-subtesthack
|
||||||
(define-public python2-pytest-subtesthack
|
(define-public python2-pytest-subtesthack
|
||||||
(package-with-python2 python-pytest-subtesthack))
|
(package-with-python2 python-pytest-subtesthack))
|
||||||
|
|
||||||
|
(define-public python-pytest-sugar
|
||||||
|
(package
|
||||||
|
(name "python-pytest-sugar")
|
||||||
|
(version "0.9.2")
|
||||||
|
(source
|
||||||
|
(origin
|
||||||
|
(method url-fetch)
|
||||||
|
(uri (pypi-uri "pytest-sugar" version))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"1asq7yc4g8bx2sn7yy974mhc9ywvaihasjab4inkirdwn9s7mn7w"))))
|
||||||
|
(build-system python-build-system)
|
||||||
|
(propagated-inputs
|
||||||
|
`(("python-packaging" ,python-packaging)
|
||||||
|
("python-pytest" ,python-pytest)
|
||||||
|
("python-termcolor" ,python-termcolor)))
|
||||||
|
(home-page "https://pivotfinland.com/pytest-sugar/")
|
||||||
|
(synopsis "Plugin for pytest that changes the default look and feel")
|
||||||
|
(description
|
||||||
|
"@code{pytest-sugar} is a plugin for py.test that changes the default
|
||||||
|
look and feel of py.test, using a progress bar and showing failures and errors
|
||||||
|
instantly.")
|
||||||
|
(license license:bsd-3)))
|
||||||
|
|
||||||
(define-public python-hypothesis
|
(define-public python-hypothesis
|
||||||
(package
|
(package
|
||||||
(name "python-hypothesis")
|
(name "python-hypothesis")
|
||||||
|
|
121
gnu/packages/easyrpg.scm
Normal file
121
gnu/packages/easyrpg.scm
Normal file
|
@ -0,0 +1,121 @@
|
||||||
|
;;; GNU Guix --- Functional package management for GNU
|
||||||
|
;;; Copyright © 2018 Sou Bunnbu <iyzsong@member.fsf.org>
|
||||||
|
;;;
|
||||||
|
;;; This file is part of GNU Guix.
|
||||||
|
;;;
|
||||||
|
;;; GNU Guix is free software; you can redistribute it and/or modify it
|
||||||
|
;;; under the terms of the GNU General Public License as published by
|
||||||
|
;;; the Free Software Foundation; either version 3 of the License, or (at
|
||||||
|
;;; your option) any later version.
|
||||||
|
;;;
|
||||||
|
;;; GNU Guix is distributed in the hope that it will be useful, but
|
||||||
|
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
;;; GNU General Public License for more details.
|
||||||
|
;;;
|
||||||
|
;;; You should have received a copy of the GNU General Public License
|
||||||
|
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
(define-module (gnu packages easyrpg)
|
||||||
|
#:use-module (guix packages)
|
||||||
|
#:use-module ((guix licenses) #:prefix license:)
|
||||||
|
#:use-module (guix download)
|
||||||
|
#:use-module (guix build-system gnu)
|
||||||
|
#:use-module (gnu packages audio)
|
||||||
|
#:use-module (gnu packages compression)
|
||||||
|
#:use-module (gnu packages fontutils)
|
||||||
|
#:use-module (gnu packages gtk)
|
||||||
|
#:use-module (gnu packages icu4c)
|
||||||
|
#:use-module (gnu packages image)
|
||||||
|
#:use-module (gnu packages mp3)
|
||||||
|
#:use-module (gnu packages pkg-config)
|
||||||
|
#:use-module (gnu packages pulseaudio)
|
||||||
|
#:use-module (gnu packages sdl)
|
||||||
|
#:use-module (gnu packages xdisorg)
|
||||||
|
#:use-module (gnu packages xiph)
|
||||||
|
#:use-module (gnu packages xml))
|
||||||
|
|
||||||
|
(define-public liblcf
|
||||||
|
(package
|
||||||
|
(name "liblcf")
|
||||||
|
(version "0.5.4")
|
||||||
|
(source (origin
|
||||||
|
(method url-fetch)
|
||||||
|
(uri (string-append
|
||||||
|
"https://easyrpg.org/downloads/player/" version
|
||||||
|
"/liblcf-" version ".tar.gz"))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"1k99bcw5c23801jk3mbz5sj5h18x46w1qxrkknhwhfgqzpvxhwrs"))))
|
||||||
|
(build-system gnu-build-system)
|
||||||
|
(native-inputs
|
||||||
|
`(("pkg-config" ,pkg-config)))
|
||||||
|
(propagated-inputs
|
||||||
|
;; Required by 'liblcf.pc'.
|
||||||
|
`(("expat" ,expat)
|
||||||
|
("icu" ,icu4c)))
|
||||||
|
(home-page "https://easyrpg.org/")
|
||||||
|
(synopsis "Library to handle RPG Maker 2000 and 2003 game data")
|
||||||
|
(description
|
||||||
|
"@code{liblcf} is a library to handle RPG Maker 2000 and 2003 game data.
|
||||||
|
It can read and write LCF and XML files.")
|
||||||
|
;; It includes a copy of Boost Preprocessor Cat and Stringize (boost-1.0):
|
||||||
|
;; src/boost/preprocessor/config.hpp
|
||||||
|
;; src/boost/preprocessor/cat.hpp
|
||||||
|
;; src/boost/preprocessor/stringize.hpp
|
||||||
|
;; and a copy of inih (bsd-3):
|
||||||
|
;; src/ini.h
|
||||||
|
;; src/ini.cpp
|
||||||
|
;; src/inireader.h
|
||||||
|
;; src/inireader.cpp
|
||||||
|
;; TODO: Unbundle them.
|
||||||
|
(license license:expat)))
|
||||||
|
|
||||||
|
(define-public easyrpg-player
|
||||||
|
(package
|
||||||
|
(name "easyrpg-player")
|
||||||
|
(version "0.5.4")
|
||||||
|
(source (origin
|
||||||
|
(method url-fetch)
|
||||||
|
(uri (string-append
|
||||||
|
"https://easyrpg.org/downloads/player/" version
|
||||||
|
"/easyrpg-player-" version ".tar.gz"))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"0w0idr61slg5828j1q31c1kh1h0ryp8psc006y06jph5pp3qgm48"))))
|
||||||
|
(build-system gnu-build-system)
|
||||||
|
(arguments
|
||||||
|
'(#:configure-flags
|
||||||
|
(list (string-append "--with-bash-completion-dir="
|
||||||
|
%output "/etc/bash_completion.d/"))))
|
||||||
|
(native-inputs
|
||||||
|
`(("pkg-config" ,pkg-config)))
|
||||||
|
(inputs
|
||||||
|
`(("freetype" ,freetype)
|
||||||
|
("harfbuzz" ,harfbuzz)
|
||||||
|
("liblcf" ,liblcf)
|
||||||
|
("libpng" ,libpng)
|
||||||
|
("libsndfile" ,libsndfile)
|
||||||
|
("libvorbis" ,libvorbis)
|
||||||
|
("libxmp" ,libxmp)
|
||||||
|
("mpg123" ,mpg123)
|
||||||
|
("opusfile" ,opusfile)
|
||||||
|
("pixman" ,pixman)
|
||||||
|
("sdl2-mixer" ,sdl2-mixer)
|
||||||
|
("sdl2" ,sdl2)
|
||||||
|
("speexdsp" ,speexdsp)
|
||||||
|
;; ("wildmidi" ,wildmidi) ; TODO: package it
|
||||||
|
("zlib" ,zlib)))
|
||||||
|
(home-page "https://easyrpg.org/")
|
||||||
|
(synopsis "Play RPG Maker 2000 and 2003 games")
|
||||||
|
(description
|
||||||
|
"EasyRPG Player is a game interpreter to play RPG Maker 2000, 2003 and
|
||||||
|
EasyRPG games. It uses the LCF parser library (liblcf) to read RPG Maker game
|
||||||
|
data.")
|
||||||
|
;; It bundles FMMidi YM2608 FM synthesizer emulator (bsd-3):
|
||||||
|
;; src/midisynth.h
|
||||||
|
;; src/midisynth.cpp
|
||||||
|
;; and PicoJSON JSON parser/serializer (bsd-2):
|
||||||
|
;; src/picojson.h
|
||||||
|
;; TODO: Unbundle them.
|
||||||
|
(license license:gpl3+)))
|
|
@ -4807,7 +4807,7 @@ (define-public emacs-highlight-indentation
|
||||||
(define-public emacs-elpy
|
(define-public emacs-elpy
|
||||||
(package
|
(package
|
||||||
(name "emacs-elpy")
|
(name "emacs-elpy")
|
||||||
(version "1.26.0")
|
(version "1.27.0")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method git-fetch)
|
(method git-fetch)
|
||||||
(uri (git-reference
|
(uri (git-reference
|
||||||
|
@ -4816,7 +4816,7 @@ (define-public emacs-elpy
|
||||||
(file-name (string-append name "-" version "-checkout"))
|
(file-name (string-append name "-" version "-checkout"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"0wynzp5xmrgiggmam82n6lfaiqmfl4n3ccpsgnh86r6pbsmssxjk"))))
|
"1b76y0kzk7s9ya8k9bpsgn31i9l0rxs4iz6lg7snhjgh03k0ssgv"))))
|
||||||
(build-system emacs-build-system)
|
(build-system emacs-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
`(#:include (cons* "^elpy/[^/]+\\.py$" "^snippets\\/" %default-include)
|
`(#:include (cons* "^elpy/[^/]+\\.py$" "^snippets\\/" %default-include)
|
||||||
|
@ -5214,26 +5214,28 @@ (define-public emacs-helm-make
|
||||||
(define-public emacs-cider
|
(define-public emacs-cider
|
||||||
(package
|
(package
|
||||||
(name "emacs-cider")
|
(name "emacs-cider")
|
||||||
(version "0.15.1")
|
(version "0.18.0")
|
||||||
(source (origin
|
(source
|
||||||
(method url-fetch)
|
(origin
|
||||||
(uri (string-append
|
(method git-fetch)
|
||||||
"https://github.com/clojure-emacs/cider/archive/v"
|
(uri (git-reference
|
||||||
version ".tar.gz"))
|
(url "https://github.com/clojure-emacs/cider.git")
|
||||||
(file-name (string-append name "-" version ".tar.gz"))
|
(commit (string-append "v" version))))
|
||||||
(sha256
|
(file-name (git-file-name name version))
|
||||||
(base32
|
(sha256
|
||||||
"1j5hlmi14ypszv1f9nvq0jjlz7i742flg0ny3055l7i4x089xx6g"))))
|
(base32
|
||||||
|
"1m9kc88vga3q5d731qnpngnsa0n57pf21k3hll20rw8rggrx4vdn"))))
|
||||||
(build-system emacs-build-system)
|
(build-system emacs-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
'(#:exclude ; Don't exclude 'cider-test.el'.
|
'(#:exclude ; Don't exclude 'cider-test.el'.
|
||||||
'("^\\.dir-locals\\.el$" "^test/")))
|
'("^\\.dir-locals\\.el$" "^test/")))
|
||||||
(propagated-inputs
|
(propagated-inputs
|
||||||
`(("emacs-clojure-mode" ,emacs-clojure-mode)
|
`(("emacs-clojure-mode" ,emacs-clojure-mode)
|
||||||
|
("emacs-sesman" ,emacs-sesman)
|
||||||
("emacs-spinner" ,emacs-spinner)
|
("emacs-spinner" ,emacs-spinner)
|
||||||
("emacs-pkg-info" ,emacs-pkg-info)
|
("emacs-pkg-info" ,emacs-pkg-info)
|
||||||
("emacs-queue" ,emacs-queue)))
|
("emacs-queue" ,emacs-queue)))
|
||||||
(home-page "https://cider.readthedocs.org/")
|
(home-page "https://cider.readthedocs.io/")
|
||||||
(synopsis "Clojure development environment for Emacs")
|
(synopsis "Clojure development environment for Emacs")
|
||||||
(description
|
(description
|
||||||
"CIDER (Clojure Interactive Development Environment that Rocks) aims to
|
"CIDER (Clojure Interactive Development Environment that Rocks) aims to
|
||||||
|
@ -12737,3 +12739,29 @@ (define-public emacs-matrix-client
|
||||||
rooms. It also provides an API which allows Emacs to seamlessly create
|
rooms. It also provides an API which allows Emacs to seamlessly create
|
||||||
RPC channels with users and other software.")
|
RPC channels with users and other software.")
|
||||||
(license license:gpl3+))))
|
(license license:gpl3+))))
|
||||||
|
|
||||||
|
(define-public emacs-sesman
|
||||||
|
(package
|
||||||
|
(name "emacs-sesman")
|
||||||
|
(version "0.3.3")
|
||||||
|
(source
|
||||||
|
(origin
|
||||||
|
(method git-fetch)
|
||||||
|
(uri (git-reference
|
||||||
|
(url "https://github.com/vspinu/sesman.git")
|
||||||
|
(commit (string-append "v" version))))
|
||||||
|
(file-name (git-file-name name version))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"0r32f8ma9ddczxrrdz0nadp14j3zmk10q1ch02gb82synkx3xdra"))))
|
||||||
|
(build-system emacs-build-system)
|
||||||
|
(arguments
|
||||||
|
`(#:tests? #t
|
||||||
|
#:test-command '("make" "test")))
|
||||||
|
(home-page "https://github.com/vspinu/sesman")
|
||||||
|
(synopsis "Session manager for Emacs based IDEs")
|
||||||
|
(description "Sesman provides facilities for session management and
|
||||||
|
interactive session association with the current contexts (project, directory,
|
||||||
|
buffers). While sesman can be used to manage arbitrary sessions, it primary
|
||||||
|
targets the Emacs based IDEs (CIDER, ESS, Geiser, Robe, SLIME etc.)")
|
||||||
|
(license license:gpl3+)))
|
||||||
|
|
|
@ -622,7 +622,7 @@ (define-public font-anonymous-pro
|
||||||
(define-public font-gnu-unifont
|
(define-public font-gnu-unifont
|
||||||
(package
|
(package
|
||||||
(name "font-gnu-unifont")
|
(name "font-gnu-unifont")
|
||||||
(version "11.0.02")
|
(version "11.0.03")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append
|
(uri (string-append
|
||||||
|
@ -630,16 +630,14 @@ (define-public font-gnu-unifont
|
||||||
version ".tar.gz"))
|
version ".tar.gz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1di8i44c163b9l5f08jcrjfijnqz0j7p7hpfvf8dcms6cm6s4wvy"))))
|
"171zhm52c4rzpn19qcq4n9nyfbcjl38v50zslhvgpjdcmc5jvhav"))))
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
(outputs '("out" ; TrueType version
|
(outputs '("out" ; TrueType version
|
||||||
"pcf" ; PCF (bitmap) version
|
"pcf" ; PCF (bitmap) version
|
||||||
"psf" ; PSF (console) version
|
"psf" ; PSF (console) version
|
||||||
"bin" ; Utilities to manipulate '.hex' format
|
"bin")) ; Utilities to manipulate '.hex' format
|
||||||
))
|
|
||||||
(arguments
|
(arguments
|
||||||
'(#:parallel-build? #f ; parallel build fails
|
'(#:tests? #f ; no check target
|
||||||
#:tests? #f ; no check target
|
|
||||||
#:phases
|
#:phases
|
||||||
(modify-phases %standard-phases
|
(modify-phases %standard-phases
|
||||||
(replace
|
(replace
|
||||||
|
|
|
@ -652,6 +652,8 @@ (define-public allegro
|
||||||
(uri (string-append "https://github.com/liballeg/allegro5/releases"
|
(uri (string-append "https://github.com/liballeg/allegro5/releases"
|
||||||
"/download/" version "/allegro-"
|
"/download/" version "/allegro-"
|
||||||
version ".tar.gz"))
|
version ".tar.gz"))
|
||||||
|
(patches (search-patches
|
||||||
|
"allegro-fix-compilation-mesa-18.2.5-and-later.patch"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1w9a5yqi5q03b2qvmx5ff90paz0xbr9cy7i7f0xiqa65ava66q9l"))))
|
"1w9a5yqi5q03b2qvmx5ff90paz0xbr9cy7i7f0xiqa65ava66q9l"))))
|
||||||
|
|
|
@ -2306,7 +2306,7 @@ (define-public manaplus
|
||||||
(define openttd-engine
|
(define openttd-engine
|
||||||
(package
|
(package
|
||||||
(name "openttd-engine")
|
(name "openttd-engine")
|
||||||
(version "1.7.1")
|
(version "1.8.0")
|
||||||
(source
|
(source
|
||||||
(origin (method url-fetch)
|
(origin (method url-fetch)
|
||||||
(uri (string-append "http://binaries.openttd.org/releases/"
|
(uri (string-append "http://binaries.openttd.org/releases/"
|
||||||
|
@ -2323,7 +2323,7 @@ (define openttd-engine
|
||||||
"02d1xmb75yv4x6rfnvxk3vvq4l3lvvwr2pfsdzn7lzalic51ziqh")))))
|
"02d1xmb75yv4x6rfnvxk3vvq4l3lvvwr2pfsdzn7lzalic51ziqh")))))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"0dhv5bbbg1dmmq7fi3xss0a9jq2rqgb5sf9fsqzlsjcdm590j6b1"))
|
"0zq8xdg0k92p3s4j9x76591zaqz7k9ra69q008m209vdfffjvly2"))
|
||||||
(modules '((guix build utils)))
|
(modules '((guix build utils)))
|
||||||
(snippet
|
(snippet
|
||||||
;; The DOS port contains proprietary software.
|
;; The DOS port contains proprietary software.
|
||||||
|
@ -2353,7 +2353,7 @@ (define openttd-engine
|
||||||
configure-flags))))))))
|
configure-flags))))))))
|
||||||
(native-inputs `(("pkg-config" ,pkg-config)))
|
(native-inputs `(("pkg-config" ,pkg-config)))
|
||||||
(inputs
|
(inputs
|
||||||
`(("allegro" ,allegro-4)
|
`(("allegro" ,allegro)
|
||||||
("fontconfig" ,fontconfig)
|
("fontconfig" ,fontconfig)
|
||||||
("freetype" ,freetype)
|
("freetype" ,freetype)
|
||||||
("icu4c" ,icu4c)
|
("icu4c" ,icu4c)
|
||||||
|
|
|
@ -62,6 +62,7 @@ (define-module (gnu packages gnuzilla)
|
||||||
#:use-module (gnu packages gl)
|
#:use-module (gnu packages gl)
|
||||||
#:use-module (gnu packages assembly)
|
#:use-module (gnu packages assembly)
|
||||||
#:use-module (gnu packages rust)
|
#:use-module (gnu packages rust)
|
||||||
|
#:use-module (gnu packages llvm)
|
||||||
#:use-module (gnu packages icu4c)
|
#:use-module (gnu packages icu4c)
|
||||||
#:use-module (gnu packages video)
|
#:use-module (gnu packages video)
|
||||||
#:use-module (gnu packages xiph)
|
#:use-module (gnu packages xiph)
|
||||||
|
@ -506,16 +507,38 @@ (define-public icecat
|
||||||
(search-patch "icecat-use-system-media-libs.patch")
|
(search-patch "icecat-use-system-media-libs.patch")
|
||||||
(mozilla-patch "icecat-bug-1464061.patch" "d28761dbff18" "1f58rzwx4s1af66fdwn9lgkcd1ksmq8kn8imvf78p90jqi24h7b4")
|
(mozilla-patch "icecat-bug-1464061.patch" "d28761dbff18" "1f58rzwx4s1af66fdwn9lgkcd1ksmq8kn8imvf78p90jqi24h7b4")
|
||||||
(mozilla-patch "icecat-bug-1479853.patch" "4faeb696dd06" "12891xx9c15s6kby6d3zk64v5nqgaq7sw597zv1fkd3a6x69hlva")
|
(mozilla-patch "icecat-bug-1479853.patch" "4faeb696dd06" "12891xx9c15s6kby6d3zk64v5nqgaq7sw597zv1fkd3a6x69hlva")
|
||||||
(mozilla-patch "icecat-bug-1488295.patch" "12ba39f69876" "1piyq44f0xa0a9z2748aqwpaziaxwp61d86gyhalbyag8lcxfb3p")
|
(mozilla-patch "icecat-CVE-2018-17466.patch" "12ba39f69876" "1piyq44f0xa0a9z2748aqwpaziaxwp61d86gyhalbyag8lcxfb3p")
|
||||||
(mozilla-patch "icecat-bug-1500011.patch" "a0adabeedf26" "0f5wazha3zxzhy2j8f93hx62l9p02b1p40vi07qah3ar67h4ccj9")
|
(mozilla-patch "icecat-CVE-2018-18498.patch" "a0adabeedf26" "0f5wazha3zxzhy2j8f93hx62l9p02b1p40vi07qah3ar67h4ccj9")
|
||||||
(mozilla-patch "icecat-bug-1503082.patch" "19604eb26230" "1wqxgph4z14ijhk2j2m4av5p6gx72d02lzz83q6yy0k065kw8psb")
|
(mozilla-patch "icecat-CVE-2018-12405-pt01.patch" "19604eb26230" "1wqxgph4z14ijhk2j2m4av5p6gx72d02lzz83q6yy0k065kw8psb")
|
||||||
(mozilla-patch "icecat-bug-1499861.patch" "98737ab09270" "0fyl6wv0jxcxpkfpsff46y93k49n8lrw0k7c1p45g8da015dx27a")
|
(mozilla-patch "icecat-CVE-2018-18492.patch" "98737ab09270" "0fyl6wv0jxcxpkfpsff46y93k49n8lrw0k7c1p45g8da015dx27a")
|
||||||
(mozilla-patch "icecat-bug-1504452.patch" "1cf7d80355d5" "19jp4x32vyxam54d1r9fm7jwf6krhhf3xazfqmxb9aw4iwdil7dl")
|
(mozilla-patch "icecat-CVE-2018-18493.patch" "1cf7d80355d5" "19jp4x32vyxam54d1r9fm7jwf6krhhf3xazfqmxb9aw4iwdil7dl")
|
||||||
(mozilla-patch "icecat-bug-1494752.patch" "c264774b8913" "1hxyi131x8jwawrq90cgkph833iv9ixrdrgzl1r978gbzwq10xz2")
|
(mozilla-patch "icecat-CVE-2018-12405-pt02.patch" "c264774b8913" "1hxyi131x8jwawrq90cgkph833iv9ixrdrgzl1r978gbzwq10xz2")
|
||||||
(mozilla-patch "icecat-bug-1477773.patch" "ec13fda7c9b0" "0zj7aylgw55g0y7plaafn5gq8jwcsdr1bpdxacs0hq914nm8zy9z")
|
(mozilla-patch "icecat-bug-1477773.patch" "ec13fda7c9b0" "0zj7aylgw55g0y7plaafn5gq8jwcsdr1bpdxacs0hq914nm8zy9z")
|
||||||
(mozilla-patch "icecat-bug-1500759.patch" "5e1a9644aeef" "1qimrpgyrd8zkiri7w57j0aymk20y9b34am5w7rvr6qj1lhrbfla")
|
(mozilla-patch "icecat-CVE-2018-12405-pt03.patch" "5e1a9644aeef" "1qimrpgyrd8zkiri7w57j0aymk20y9b34am5w7rvr6qj1lhrbfla")
|
||||||
(mozilla-patch "icecat-bug-1485655.patch" "9055726e2d89" "1pppxr94zqh6zmi2mn1ih21qap09vk5ivbhnwxqr8iszvygjg44g")
|
(mozilla-patch "icecat-bug-1485655.patch" "9055726e2d89" "1pppxr94zqh6zmi2mn1ih21qap09vk5ivbhnwxqr8iszvygjg44g")
|
||||||
(mozilla-patch "icecat-bug-1410214.patch" "9e641345e2ef" "0542xss2jdb8drh4g50cfy32l300x69dyywgx3dqs03vgr3qplxy")))
|
(mozilla-patch "icecat-bug-1410214.patch" "9e641345e2ef" "0542xss2jdb8drh4g50cfy32l300x69dyywgx3dqs03vgr3qplxy")
|
||||||
|
|
||||||
|
(mozilla-patch "icecat-CVE-2018-12405-pt04.patch" "6398541ec302" "1c2yi7mkg3d5afxsgj9fp3zq8yhkmphrll5d60d5xsdv88kqqiyf")
|
||||||
|
(mozilla-patch "icecat-bug-1496736.patch" "3bed863ee656" "038k7jk3yp16410crwfdvhyb2vis49c6bplrfr83v51885cqldar")
|
||||||
|
(mozilla-patch "icecat-bug-1498765.patch" "a08c8493ba19" "0bwg4vg03j962lb9q8ihpiy4rmygykf1q9ij8x7h34q7hg43yjya")
|
||||||
|
(mozilla-patch "icecat-CVE-2018-12405-pt05.patch" "ee204e26690e" "1scs45xhlr1mwv6x2q6n22363f42by8cjmifqwzlikggs21f5mcq")
|
||||||
|
(mozilla-patch "icecat-bug-1507035.patch" "cec8b58ab3fe" "1f131ibpkrhsa44l822hnm5qgvapbs3i9pj25iimdwvr933winz8")
|
||||||
|
(mozilla-patch "icecat-bug-1501680.patch" "282c6bb81562" "1zgw7l5zmni8468y3f6cip1nlw63cfdd9vv9b00cbrgy96d1q2cp")
|
||||||
|
(mozilla-patch "icecat-bug-1500310.patch" "b3a439a26186" "0mrjxcmrlv04fyl36dwxk97dw08g2hlikvw2hfa1l0y8zsc4bgw8")
|
||||||
|
(mozilla-patch "icecat-bug-1500366.patch" "abd59256c4e3" "1jgwh2v4kwb6kf2h7mwf128w1k1jj119bfhlgqpmn9ami35wpzf3")
|
||||||
|
(mozilla-patch "icecat-bug-1493080.patch" "a7cabf306d05" "1n7wv67rcaz8wj31jc77ssjdj3kb61gdg7pigj828c5z2cgns1k5")
|
||||||
|
(mozilla-patch "icecat-CVE-2018-12405-pt06.patch" "8bbf80948b50" "1nvc69zgz9nvbw1pwxkil1fx4cxxpr6bsjrpp6l2kv7jhgax1bqk")
|
||||||
|
(mozilla-patch "icecat-bug-1507564.patch" "60619cc47b10" "09fanqr08kqgraw4xp7y2az4jc7ia8nn200rqjfj20vmkyjz97j3")
|
||||||
|
(mozilla-patch "icecat-bug-1507730.patch" "dd0f01818b9c" "14ziq1bm72n58xrvsgzpjj5z6ifpvi70r5jfhbkbj69mf4y4cx2z")
|
||||||
|
(mozilla-patch "icecat-CVE-2018-12405-pt07.patch" "a73a46ddc848" "1bvvyav3xyn6rgn6haicinxn0dasl9dyc1i37fyb7wr5wcpahybs")
|
||||||
|
|
||||||
|
(mozilla-patch "icecat-CVE-2018-18494.patch" "a72ec8e21577" "095zghmwdcbaid5426p9vpl757d8sfbsvgn201bjm7nhm03m4z7i")
|
||||||
|
(mozilla-patch "icecat-CVE-2018-12405-pt08.patch" "b6d0fc61fd0b" "0059avawxi4s4747plybjsjq8j2h4z7amw05p28xyg95a2njwnaa")
|
||||||
|
(mozilla-patch "icecat-bug-1499028.patch" "a62ede2dd3bc" "0ikmnibni8bdvpr9p42wskyyic08vzqdz5qr028bqzyg5119gily")
|
||||||
|
(mozilla-patch "icecat-bug-1426574.patch" "0db86656655b" "0kmccb4ccdzbzncwklx7w1bg7r61zwl2wnfp67vl27hm9xykbck7")
|
||||||
|
(mozilla-patch "icecat-CVE-2018-12405-pt09.patch" "20e31905de62" "0b5a441645wy3q4asaygvdq0inrxmxrh33cpgdp6ngflq9p2i6h0")
|
||||||
|
(mozilla-patch "icecat-CVE-2018-12405-pt10.patch" "c2832f98fe51" "0b4jfjfdyrihwjdfavd54hn9kdg2f017lmfr7mj2llp71flxwwj7")
|
||||||
|
(mozilla-patch "icecat-bug-1511495.patch" "d428d2b8f585" "1f9xs0bjhbphvkv60cnvz34sr2rv38jzvi47wh3nablg41yjpdrk")))
|
||||||
(modules '((guix build utils)))
|
(modules '((guix build utils)))
|
||||||
(snippet
|
(snippet
|
||||||
'(begin
|
'(begin
|
||||||
|
@ -620,6 +643,8 @@ (define-public icecat
|
||||||
;; Icecat 60 checkes for rust>=1.24
|
;; Icecat 60 checkes for rust>=1.24
|
||||||
`(("rust" ,rust-1.24)
|
`(("rust" ,rust-1.24)
|
||||||
("cargo" ,rust-1.24 "cargo")
|
("cargo" ,rust-1.24 "cargo")
|
||||||
|
("llvm" ,llvm-3.9.1)
|
||||||
|
("clang" ,clang-3.9.1)
|
||||||
("perl" ,perl)
|
("perl" ,perl)
|
||||||
("python" ,python-2) ; Python 3 not supported
|
("python" ,python-2) ; Python 3 not supported
|
||||||
("python2-pysqlite" ,python2-pysqlite)
|
("python2-pysqlite" ,python2-pysqlite)
|
||||||
|
@ -639,7 +664,7 @@ (define-public icecat
|
||||||
|
|
||||||
#:imported-modules ,%cargo-build-system-modules ;for `generate-checksums'
|
#:imported-modules ,%cargo-build-system-modules ;for `generate-checksums'
|
||||||
|
|
||||||
#:configure-flags '("--enable-default-toolkit=cairo-gtk3"
|
#:configure-flags `("--enable-default-toolkit=cairo-gtk3"
|
||||||
|
|
||||||
"--with-distribution-id=org.gnu"
|
"--with-distribution-id=org.gnu"
|
||||||
|
|
||||||
|
@ -653,14 +678,25 @@ (define-public icecat
|
||||||
"--disable-eme"
|
"--disable-eme"
|
||||||
"--disable-gconf"
|
"--disable-gconf"
|
||||||
|
|
||||||
;; Stylo requires LLVM/clang. For now, disable it.
|
|
||||||
"--disable-stylo"
|
|
||||||
|
|
||||||
;; Building with debugging symbols takes ~5GiB, so
|
;; Building with debugging symbols takes ~5GiB, so
|
||||||
;; disable it.
|
;; disable it.
|
||||||
"--disable-debug"
|
"--disable-debug"
|
||||||
"--disable-debug-symbols"
|
"--disable-debug-symbols"
|
||||||
|
|
||||||
|
;; Clang is needed to build Stylo, Mozilla's new
|
||||||
|
;; CSS engine. We must specify the clang paths
|
||||||
|
;; manually, because otherwise the Mozilla build
|
||||||
|
;; system looks in the directories returned by
|
||||||
|
;; llvm-config --bindir and llvm-config --libdir,
|
||||||
|
;; which return paths in the llvm package where
|
||||||
|
;; clang is not found.
|
||||||
|
,(string-append "--with-clang-path="
|
||||||
|
(assoc-ref %build-inputs "clang")
|
||||||
|
"/bin/clang")
|
||||||
|
,(string-append "--with-libclang-path="
|
||||||
|
(assoc-ref %build-inputs "clang")
|
||||||
|
"/lib")
|
||||||
|
|
||||||
;; Hack to work around missing
|
;; Hack to work around missing
|
||||||
;; "unofficial" branding in icecat.
|
;; "unofficial" branding in icecat.
|
||||||
"--enable-official-branding"
|
"--enable-official-branding"
|
||||||
|
@ -754,6 +790,20 @@ (define-public icecat
|
||||||
(generate-checksums dir null-file)))
|
(generate-checksums dir null-file)))
|
||||||
(find-files "third_party/rust" ".cargo-checksum.json")))
|
(find-files "third_party/rust" ".cargo-checksum.json")))
|
||||||
#t))
|
#t))
|
||||||
|
(add-before 'configure 'augment-CPLUS_INCLUDE_PATH
|
||||||
|
(lambda* (#:key build inputs #:allow-other-keys)
|
||||||
|
;; Here, we add additional entries to CPLUS_INCLUDE_PATH, to work
|
||||||
|
;; around a problem that otherwise occurs when attempting to
|
||||||
|
;; build Stylo, which requires Rust and Clang. Without these
|
||||||
|
;; additional entries, errors occur during the build indicating
|
||||||
|
;; that the <cstddef> and "c++config.h" headers cannot be found.
|
||||||
|
;; Note that the 'build' keyword argument contains the GNU
|
||||||
|
;; triplet, e.g. "x86_64-unknown-linux-gnu".
|
||||||
|
(let ((gcc (assoc-ref inputs "gcc")))
|
||||||
|
(setenv "CPLUS_INCLUDE_PATH"
|
||||||
|
(string-append gcc "/include/c++" ":"
|
||||||
|
gcc "/include/c++/" build ":"
|
||||||
|
(getenv "CPLUS_INCLUDE_PATH"))))))
|
||||||
(replace
|
(replace
|
||||||
'configure
|
'configure
|
||||||
;; configure does not work followed by both "SHELL=..." and
|
;; configure does not work followed by both "SHELL=..." and
|
||||||
|
@ -770,6 +820,7 @@ (define-public icecat
|
||||||
(setenv "SHELL" bash)
|
(setenv "SHELL" bash)
|
||||||
(setenv "CONFIG_SHELL" bash)
|
(setenv "CONFIG_SHELL" bash)
|
||||||
(setenv "AUTOCONF" (which "autoconf")) ; must be autoconf-2.13
|
(setenv "AUTOCONF" (which "autoconf")) ; must be autoconf-2.13
|
||||||
|
(setenv "CC" "gcc") ; apparently needed when Stylo is enabled
|
||||||
(mkdir "../build")
|
(mkdir "../build")
|
||||||
(chdir "../build")
|
(chdir "../build")
|
||||||
(format #t "build directory: ~s~%" (getcwd))
|
(format #t "build directory: ~s~%" (getcwd))
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
;;; GNU Guix --- Functional package management for GNU
|
;;; GNU Guix --- Functional package management for GNU
|
||||||
;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net>
|
;;; Copyright © 2017, 2018 Arun Isaac <arunisaac@systemreboot.net>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
;;;
|
;;;
|
||||||
|
@ -20,9 +20,13 @@ (define-module (gnu packages ham-radio)
|
||||||
#:use-module ((guix licenses) #:prefix license:)
|
#:use-module ((guix licenses) #:prefix license:)
|
||||||
#:use-module (guix packages)
|
#:use-module (guix packages)
|
||||||
#:use-module (guix download)
|
#:use-module (guix download)
|
||||||
|
#:use-module (gnu packages gtk)
|
||||||
#:use-module (gnu packages libusb)
|
#:use-module (gnu packages libusb)
|
||||||
#:use-module (gnu packages pkg-config)
|
#:use-module (gnu packages pkg-config)
|
||||||
#:use-module (guix build-system cmake))
|
#:use-module (gnu packages python)
|
||||||
|
#:use-module (gnu packages xml)
|
||||||
|
#:use-module (guix build-system cmake)
|
||||||
|
#:use-module (guix build-system python))
|
||||||
|
|
||||||
(define-public rtl-sdr
|
(define-public rtl-sdr
|
||||||
(package
|
(package
|
||||||
|
@ -50,3 +54,30 @@ (define-public rtl-sdr
|
||||||
cheap software defined radio, since the chip allows transferring the raw I/Q
|
cheap software defined radio, since the chip allows transferring the raw I/Q
|
||||||
samples to the host. @code{rtl-sdr} provides drivers for this purpose.")
|
samples to the host. @code{rtl-sdr} provides drivers for this purpose.")
|
||||||
(license license:gpl2+)))
|
(license license:gpl2+)))
|
||||||
|
|
||||||
|
(define-public chirp
|
||||||
|
(package
|
||||||
|
(name "chirp")
|
||||||
|
(version "20181205")
|
||||||
|
(source
|
||||||
|
(origin
|
||||||
|
(method url-fetch)
|
||||||
|
(uri (string-append "https://trac.chirp.danplanet.com/chirp_daily/daily-"
|
||||||
|
version "/chirp-daily-" version ".tar.gz"))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"1cp280b95j39xaxs50zn55jigg7pyfpm9n098hmsyxrplqn8z43c"))))
|
||||||
|
(build-system python-build-system)
|
||||||
|
(inputs
|
||||||
|
`(("python2-libxml2" ,python2-libxml2)
|
||||||
|
("python2-pygtk" ,python2-pygtk)
|
||||||
|
("python2-pyserial" ,python2-pyserial)))
|
||||||
|
(arguments
|
||||||
|
`(#:python ,python-2))
|
||||||
|
(home-page "https://chirp.danplanet.com")
|
||||||
|
(synopsis "Cross-radio programming tool")
|
||||||
|
(description "Chirp is a cross-radio programming tool. It supports a
|
||||||
|
growing list of radios across several manufacturers and allows transferring of
|
||||||
|
memory contents between them.")
|
||||||
|
(license (list license:gpl3+
|
||||||
|
license:lgpl3+)))) ; chirp/elib_intl.py
|
||||||
|
|
|
@ -20,6 +20,7 @@ (define-module (gnu packages ipfs)
|
||||||
#:use-module ((guix licenses) #:prefix license:)
|
#:use-module ((guix licenses) #:prefix license:)
|
||||||
#:use-module (guix packages)
|
#:use-module (guix packages)
|
||||||
#:use-module (guix git-download)
|
#:use-module (guix git-download)
|
||||||
|
#:use-module (guix download)
|
||||||
#:use-module (guix build-system go)
|
#:use-module (guix build-system go)
|
||||||
#:use-module (gnu packages golang))
|
#:use-module (gnu packages golang))
|
||||||
|
|
||||||
|
@ -210,3 +211,29 @@ (define-public gx-go
|
||||||
(description "A subtool for the @command{gx} package manager for packages
|
(description "A subtool for the @command{gx} package manager for packages
|
||||||
written in Go.")
|
written in Go.")
|
||||||
(license license:expat)))
|
(license license:expat)))
|
||||||
|
|
||||||
|
(define-public go-ipfs
|
||||||
|
(package
|
||||||
|
(name "go-ipfs")
|
||||||
|
(version "0.4.18")
|
||||||
|
(source
|
||||||
|
(origin
|
||||||
|
(method url-fetch)
|
||||||
|
(uri (string-append
|
||||||
|
"https://dist.ipfs.io/go-ipfs/v" version
|
||||||
|
"/go-ipfs-source.tar.gz"))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"19hfgbyn5sr1bw0cwm3gsjz0w3b3vh3mmkax1906raah30lavj1x"))))
|
||||||
|
(build-system go-build-system)
|
||||||
|
(arguments
|
||||||
|
'(#:unpack-path "github.com/ipfs/go-ipfs"
|
||||||
|
#:import-path "github.com/ipfs/go-ipfs/cmd/ipfs"))
|
||||||
|
(home-page "https://ipfs.io")
|
||||||
|
(synopsis "Go implementation of IPFS, a peer-to-peer hypermedia protocol")
|
||||||
|
(description "IPFS is a global, versioned, peer-to-peer filesystem. It
|
||||||
|
combines good ideas from Git, BitTorrent, Kademlia, SFS, and the Web. It is
|
||||||
|
like a single bittorrent swarm, exchanging git objects. IPFS provides an
|
||||||
|
interface as simple as the HTTP web, but with permanence built in. You can
|
||||||
|
also mount the world at @code{/ipfs}.")
|
||||||
|
(license license:expat)))
|
||||||
|
|
|
@ -1820,6 +1820,8 @@ (define-public openjdk10
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"0zywq2203b4hx4jms9vbwvjcj1d3k2v3qpx4s33729fkpmid97r4"))
|
"0zywq2203b4hx4jms9vbwvjcj1d3k2v3qpx4s33729fkpmid97r4"))
|
||||||
|
(patches (search-patches
|
||||||
|
"openjdk-10-idlj-reproducibility.patch"))
|
||||||
(modules '((guix build utils)))
|
(modules '((guix build utils)))
|
||||||
(snippet
|
(snippet
|
||||||
`(begin
|
`(begin
|
||||||
|
|
|
@ -400,8 +400,8 @@ (define %linux-compatible-systems '("x86_64-linux" "i686-linux" "armhf-linux" "a
|
||||||
;; supports qemu "virt" machine and possibly a large number of ARM boards.
|
;; supports qemu "virt" machine and possibly a large number of ARM boards.
|
||||||
;; See : https://wiki.debian.org/DebianKernel/ARMMP.
|
;; See : https://wiki.debian.org/DebianKernel/ARMMP.
|
||||||
|
|
||||||
(define %linux-libre-version "4.19.7")
|
(define %linux-libre-version "4.19.8")
|
||||||
(define %linux-libre-hash "1fj038hz6b7g9gdiw9kggydryf8dvrdsfn81snns9bn5b01yp67n")
|
(define %linux-libre-hash "1rmgf3sbcyb47s3sagac7zrrpznq0vlcbzjzlzir95biy7lbswb3")
|
||||||
|
|
||||||
(define %linux-libre-4.19-patches
|
(define %linux-libre-4.19-patches
|
||||||
(list %boot-logo-patch
|
(list %boot-logo-patch
|
||||||
|
@ -423,8 +423,8 @@ (define-public linux-libre
|
||||||
#:patches %linux-libre-4.19-patches
|
#:patches %linux-libre-4.19-patches
|
||||||
#:configuration-file kernel-config))
|
#:configuration-file kernel-config))
|
||||||
|
|
||||||
(define %linux-libre-4.14-version "4.14.86")
|
(define %linux-libre-4.14-version "4.14.87")
|
||||||
(define %linux-libre-4.14-hash "1w98drq4ns2awwrbbkd6vy9fh219w8bfjfni5zndfycs5yh5hg65")
|
(define %linux-libre-4.14-hash "1013h3qbsq76vlhrbl3gci25jbwydzm7k0bg08fbq42qrhjq92ak")
|
||||||
|
|
||||||
(define-public linux-libre-4.14
|
(define-public linux-libre-4.14
|
||||||
(make-linux-libre %linux-libre-4.14-version
|
(make-linux-libre %linux-libre-4.14-version
|
||||||
|
@ -433,8 +433,8 @@ (define-public linux-libre-4.14
|
||||||
#:configuration-file kernel-config))
|
#:configuration-file kernel-config))
|
||||||
|
|
||||||
(define-public linux-libre-4.9
|
(define-public linux-libre-4.9
|
||||||
(make-linux-libre "4.9.143"
|
(make-linux-libre "4.9.144"
|
||||||
"0vg6hs7vc09riyki8lyy73p3ghl6k9q4xfv7dals4s9q61i6b6d6"
|
"1jckikf1j294gr3sf43bfy3h34q3yqbqgqbj9l0px427h3n2vgkk"
|
||||||
%intel-compatible-systems
|
%intel-compatible-systems
|
||||||
#:configuration-file kernel-config))
|
#:configuration-file kernel-config))
|
||||||
|
|
||||||
|
|
|
@ -84,8 +84,8 @@ (define (asdf-substitutions lisp)
|
||||||
,lisp))))
|
,lisp))))
|
||||||
|
|
||||||
(define-public gcl
|
(define-public gcl
|
||||||
(let ((commit "5956140b1083e2302a59d7ce2054b0b7c2cbb417")
|
(let ((commit "d3335e2b3deb63f930eb0328e9b05377744c9512")
|
||||||
(revision "1")) ;Guix package revision
|
(revision "2")) ;Guix package revision
|
||||||
(package
|
(package
|
||||||
(name "gcl")
|
(name "gcl")
|
||||||
(version (string-append "2.6.12-" revision "."
|
(version (string-append "2.6.12-" revision "."
|
||||||
|
@ -98,7 +98,7 @@ (define-public gcl
|
||||||
(commit commit)))
|
(commit commit)))
|
||||||
(file-name (string-append "gcl-" version "-checkout"))
|
(file-name (string-append "gcl-" version "-checkout"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32 "0mwclf2879mh3d9xqkqhghf58lwy7srsnsq9x0f1cc6j302sy4hb"))))
|
(base32 "05v86lhvsby05nzvcd3c4k0wljvgdgd0i6arzd2fx1yd67dl6fgj"))))
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
`(#:parallel-build? #f ; The build system seems not to be thread safe.
|
`(#:parallel-build? #f ; The build system seems not to be thread safe.
|
||||||
|
|
|
@ -1068,7 +1068,7 @@ (define-public claws-mail
|
||||||
(define-public msmtp
|
(define-public msmtp
|
||||||
(package
|
(package
|
||||||
(name "msmtp")
|
(name "msmtp")
|
||||||
(version "1.8.0")
|
(version "1.8.1")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
|
@ -1076,7 +1076,7 @@ (define-public msmtp
|
||||||
"/msmtp-" version ".tar.xz"))
|
"/msmtp-" version ".tar.xz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1k9wwlapkxk9ql3xq05y6vwn6ziqk9b1v8lyhj1866qd02zhqwxx"))))
|
"1nm4vizrnrrnknc4mc8nr7grz9q76m1vraa0hsl5rfm34gnsg8ph"))))
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
(inputs
|
(inputs
|
||||||
`(("libsecret" ,libsecret)
|
`(("libsecret" ,libsecret)
|
||||||
|
|
|
@ -1775,7 +1775,7 @@ (define-public petsc-openmpi
|
||||||
("mumps" ,mumps-openmpi)
|
("mumps" ,mumps-openmpi)
|
||||||
("openmpi" ,openmpi)
|
("openmpi" ,openmpi)
|
||||||
("scalapack" ,scalapack)
|
("scalapack" ,scalapack)
|
||||||
("scotch" ,pt-scotch)
|
("scotch" ,pt-scotch32)
|
||||||
,@(package-inputs petsc)))
|
,@(package-inputs petsc)))
|
||||||
(arguments
|
(arguments
|
||||||
(substitute-keyword-arguments (package-arguments petsc)
|
(substitute-keyword-arguments (package-arguments petsc)
|
||||||
|
|
|
@ -93,6 +93,7 @@ (define-module (gnu packages messaging)
|
||||||
#:use-module (guix build-system meson)
|
#:use-module (guix build-system meson)
|
||||||
#:use-module (guix build-system perl)
|
#:use-module (guix build-system perl)
|
||||||
#:use-module (guix build-system python)
|
#:use-module (guix build-system python)
|
||||||
|
#:use-module (guix build-system trivial)
|
||||||
#:use-module (guix download)
|
#:use-module (guix download)
|
||||||
#:use-module (guix git-download)
|
#:use-module (guix git-download)
|
||||||
#:use-module ((guix licenses) #:prefix license:)
|
#:use-module ((guix licenses) #:prefix license:)
|
||||||
|
@ -588,6 +589,12 @@ (define-public gajim
|
||||||
`(#:test-target "test_nogui"
|
`(#:test-target "test_nogui"
|
||||||
#:phases
|
#:phases
|
||||||
(modify-phases %standard-phases
|
(modify-phases %standard-phases
|
||||||
|
(add-after 'unpack 'add-plugin-dirs
|
||||||
|
(lambda _
|
||||||
|
(substitute* "gajim/common/configpaths.py"
|
||||||
|
(("_paths\\['PLUGINS_USER'\\]")
|
||||||
|
"_paths['PLUGINS_USER'],os.getenv('GAJIM_PLUGIN_PATH')"))
|
||||||
|
#t))
|
||||||
(add-after 'install 'wrap-gi-typelib-path
|
(add-after 'install 'wrap-gi-typelib-path
|
||||||
(lambda* (#:key outputs #:allow-other-keys)
|
(lambda* (#:key outputs #:allow-other-keys)
|
||||||
(let ((out (assoc-ref outputs "out")))
|
(let ((out (assoc-ref outputs "out")))
|
||||||
|
@ -625,6 +632,18 @@ (define-public gajim
|
||||||
(,(string-append (assoc-ref inputs "gtk+")
|
(,(string-append (assoc-ref inputs "gtk+")
|
||||||
"/share/glib-2.0/schemas"))))
|
"/share/glib-2.0/schemas"))))
|
||||||
#t)))))
|
#t)))))
|
||||||
|
(native-search-paths
|
||||||
|
(list (search-path-specification
|
||||||
|
(variable "GAJIM_PLUGIN_PATH")
|
||||||
|
(separator #f) ;single entry
|
||||||
|
(files '("share/gajim/plugins")))
|
||||||
|
;; Gajim needs to use the propagated inputs of its plugins.
|
||||||
|
(search-path-specification
|
||||||
|
(variable "PYTHONPATH")
|
||||||
|
(files (list (string-append
|
||||||
|
"lib/python"
|
||||||
|
(version-major+minor (package-version python))
|
||||||
|
"/site-packages"))))))
|
||||||
(native-inputs
|
(native-inputs
|
||||||
`(("intltool" ,intltool)
|
`(("intltool" ,intltool)
|
||||||
("python-docutils" ,python-docutils)
|
("python-docutils" ,python-docutils)
|
||||||
|
@ -636,7 +655,6 @@ (define-public gajim
|
||||||
("gtkspell3" ,gtkspell3)
|
("gtkspell3" ,gtkspell3)
|
||||||
("hicolor-icon-theme" ,hicolor-icon-theme)
|
("hicolor-icon-theme" ,hicolor-icon-theme)
|
||||||
("libsecret" ,libsecret)
|
("libsecret" ,libsecret)
|
||||||
("python-axolotl" ,python-axolotl)
|
|
||||||
("python-cssutils" ,python-cssutils)
|
("python-cssutils" ,python-cssutils)
|
||||||
("python-dbus" ,python-dbus)
|
("python-dbus" ,python-dbus)
|
||||||
("python-gnupg" ,python-gnupg)
|
("python-gnupg" ,python-gnupg)
|
||||||
|
@ -657,6 +675,41 @@ (define-public gajim
|
||||||
end-to-end encryption support; XML console.")
|
end-to-end encryption support; XML console.")
|
||||||
(license license:gpl3)))
|
(license license:gpl3)))
|
||||||
|
|
||||||
|
(define-public gajim-omemo
|
||||||
|
(package
|
||||||
|
(name "gajim-omemo")
|
||||||
|
(version "2.6.23")
|
||||||
|
(source (origin
|
||||||
|
(method url-fetch/zipbomb)
|
||||||
|
(uri (string-append
|
||||||
|
"https://ftp.gajim.org/plugins_releases/omemo_"
|
||||||
|
version ".zip"))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"134zbscbcnhx4smad0ryvx3ngkqlsspafqf0kk8y2d3vcd9bf3pa"))))
|
||||||
|
(build-system trivial-build-system)
|
||||||
|
(arguments
|
||||||
|
`(#:modules ((guix build utils))
|
||||||
|
#:builder
|
||||||
|
(begin
|
||||||
|
(use-modules (guix build utils))
|
||||||
|
(let* ((out (assoc-ref %outputs "out"))
|
||||||
|
(share (in-vicinity out "share/gajim/plugins"))
|
||||||
|
(source (assoc-ref %build-inputs "source")))
|
||||||
|
(mkdir-p share)
|
||||||
|
(copy-recursively source share)
|
||||||
|
#t))))
|
||||||
|
(propagated-inputs
|
||||||
|
`(("python-axolotl" ,python-axolotl)))
|
||||||
|
(home-page
|
||||||
|
"https://dev.gajim.org/gajim/gajim-plugins/wikis/OmemoGajimPlugin")
|
||||||
|
(synopsis "Gajim OMEMO plugin")
|
||||||
|
(description
|
||||||
|
"This package provides the Gajim OMEMO plugin. OMEMO is an XMPP
|
||||||
|
Extension Protocol (XEP) for secure multi-client end-to-end encryption based
|
||||||
|
on Axolotl and PEP.")
|
||||||
|
(license license:gpl3+)))
|
||||||
|
|
||||||
(define-public dino
|
(define-public dino
|
||||||
;; The only release tarball is for version 0.0, but it is very old and fails
|
;; The only release tarball is for version 0.0, but it is very old and fails
|
||||||
;; to build.
|
;; to build.
|
||||||
|
|
|
@ -28,7 +28,7 @@ (define-module (gnu packages mtools)
|
||||||
(define-public mtools
|
(define-public mtools
|
||||||
(package
|
(package
|
||||||
(name "mtools")
|
(name "mtools")
|
||||||
(version "4.0.21")
|
(version "4.0.23")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
|
@ -36,7 +36,7 @@ (define-public mtools
|
||||||
version ".tar.bz2"))
|
version ".tar.bz2"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1kybydx74qgbwpnjvjn49msf8zipchl43d4cq8zzwcyvfkdzw7h2"))))
|
"1qwfxzr964fasxlzhllahk8mzh7c82s808wvly95dsqsflkdp27i"))))
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
(home-page "https://www.gnu.org/software/mtools/")
|
(home-page "https://www.gnu.org/software/mtools/")
|
||||||
(synopsis "Access MS-DOS disks without mounting")
|
(synopsis "Access MS-DOS disks without mounting")
|
||||||
|
|
|
@ -3942,9 +3942,9 @@ (define-public sorcer
|
||||||
(lambda* (#:key inputs #:allow-other-keys)
|
(lambda* (#:key inputs #:allow-other-keys)
|
||||||
(with-directory-excursion "faust"
|
(with-directory-excursion "faust"
|
||||||
(delete-file "main.cpp")
|
(delete-file "main.cpp")
|
||||||
(zero? (system* "faust" "-i"
|
(invoke "faust" "-i"
|
||||||
"-a" "lv2synth.cpp"
|
"-a" "lv2synth.cpp"
|
||||||
"-o" "main.cpp" "main.dsp"))))))))
|
"-o" "main.cpp" "main.dsp")))))))
|
||||||
(inputs
|
(inputs
|
||||||
`(("boost" ,boost)
|
`(("boost" ,boost)
|
||||||
("lv2" ,lv2)
|
("lv2" ,lv2)
|
||||||
|
|
|
@ -0,0 +1,41 @@
|
||||||
|
Fixes compilation with Mesa >= 18.2.5.
|
||||||
|
|
||||||
|
Taken from upstream:
|
||||||
|
|
||||||
|
https://github.com/liballeg/allegro5/commit/a40d30e21802ecf5c9382cf34af9b01bd3781e47
|
||||||
|
|
||||||
|
diff --git a/include/allegro5/allegro_opengl.h b/include/allegro5/allegro_opengl.h
|
||||||
|
index 0f86a6768..652dd024e 100644
|
||||||
|
--- a/include/allegro5/allegro_opengl.h
|
||||||
|
+++ b/include/allegro5/allegro_opengl.h
|
||||||
|
@@ -103,10 +103,14 @@
|
||||||
|
|
||||||
|
/* HACK: Prevent both Mesa and SGI's broken headers from screwing us */
|
||||||
|
#define __glext_h_
|
||||||
|
+#define __gl_glext_h_
|
||||||
|
#define __glxext_h_
|
||||||
|
+#define __glx_glxext_h_
|
||||||
|
#include <GL/gl.h>
|
||||||
|
#undef __glext_h_
|
||||||
|
+#undef __gl_glext_h_
|
||||||
|
#undef __glxext_h_
|
||||||
|
+#undef __glx_glxext_h_
|
||||||
|
|
||||||
|
#endif /* ALLEGRO_MACOSX */
|
||||||
|
|
||||||
|
diff --git a/include/allegro5/opengl/GLext/glx_ext_defs.h b/include/allegro5/opengl/GLext/glx_ext_defs.h
|
||||||
|
index 49c502091..fba8aea5d 100644
|
||||||
|
--- a/include/allegro5/opengl/GLext/glx_ext_defs.h
|
||||||
|
+++ b/include/allegro5/opengl/GLext/glx_ext_defs.h
|
||||||
|
@@ -1,7 +1,9 @@
|
||||||
|
/* HACK: Prevent both Mesa and SGI's broken headers from screwing us */
|
||||||
|
#define __glxext_h_
|
||||||
|
+#define __glx_glxext_h_
|
||||||
|
#include <GL/glx.h>
|
||||||
|
#undef __glxext_h_
|
||||||
|
+#undef __glx_glxext_h_
|
||||||
|
|
||||||
|
#ifndef GLX_VERSION_1_3
|
||||||
|
#define _ALLEGRO_GLX_VERSION_1_3
|
||||||
|
--
|
||||||
|
2.20.0
|
|
@ -1,32 +0,0 @@
|
||||||
Make sure the client respects the storage quota set by the server:
|
|
||||||
|
|
||||||
https://github.com/borgbackup/borg/issues/4093
|
|
||||||
|
|
||||||
Patch copied from upstream source repository:
|
|
||||||
|
|
||||||
https://github.com/borgbackup/borg/commit/975cc33206e0e3644626fb7204c34d2157715b61
|
|
||||||
|
|
||||||
From 975cc33206e0e3644626fb7204c34d2157715b61 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Manu <manu@snapdragon.cc>
|
|
||||||
Date: Wed, 3 Oct 2018 23:47:36 +0800
|
|
||||||
Subject: [PATCH] Add storage_quota for forced_result if set by serve command.
|
|
||||||
|
|
||||||
---
|
|
||||||
src/borg/archiver.py | 1 +
|
|
||||||
1 file changed, 1 insertion(+)
|
|
||||||
|
|
||||||
diff --git a/src/borg/archiver.py b/src/borg/archiver.py
|
|
||||||
index 916725e7..279194c1 100644
|
|
||||||
--- a/src/borg/archiver.py
|
|
||||||
+++ b/src/borg/archiver.py
|
|
||||||
@@ -4276,6 +4276,7 @@ def get_args(self, argv, cmd):
|
|
||||||
result.restrict_to_paths = forced_result.restrict_to_paths
|
|
||||||
result.restrict_to_repositories = forced_result.restrict_to_repositories
|
|
||||||
result.append_only = forced_result.append_only
|
|
||||||
+ result.storage_quota = forced_result.storage_quota
|
|
||||||
return result
|
|
||||||
|
|
||||||
def parse_args(self, args=None):
|
|
||||||
--
|
|
||||||
2.19.1
|
|
||||||
|
|
36
gnu/packages/patches/openjdk-10-idlj-reproducibility.patch
Normal file
36
gnu/packages/patches/openjdk-10-idlj-reproducibility.patch
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
From a0a0c6a43b88d946f2b5484892cf0209bd7c0e68 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?G=C3=A1bor=20Boskovits?= <boskovits@gmail.com>
|
||||||
|
Date: Sat, 8 Dec 2018 21:25:31 +0100
|
||||||
|
Subject: [PATCH] Make idlj respect SOURCE_DATE_EPOCH.
|
||||||
|
|
||||||
|
---
|
||||||
|
.../sun/tools/corba/se/idl/toJavaPortable/Util.java | 13 ++++++++++++-
|
||||||
|
1 file changed, 12 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/src/java.corba/share/classes/com/sun/tools/corba/se/idl/toJavaPortable/Util.java b/src/java.corba/share/classes/com/sun/tools/corba/se/idl/toJavaPortable/Util.java
|
||||||
|
index 7397619f2..583d6b8e4 100644
|
||||||
|
--- a/src/java.corba/share/classes/com/sun/tools/corba/se/idl/toJavaPortable/Util.java
|
||||||
|
+++ b/src/java.corba/share/classes/com/sun/tools/corba/se/idl/toJavaPortable/Util.java
|
||||||
|
@@ -1146,7 +1146,18 @@ public class Util extends com.sun.tools.corba.se.idl.Util
|
||||||
|
else
|
||||||
|
formatter.setTimeZone (java.util.TimeZone.getDefault ());
|
||||||
|
|
||||||
|
- stream.println ("* " + formatter.format (new Date ()));
|
||||||
|
+ try {
|
||||||
|
+ String epoch = System.getenv("SOURCE_DATE_EPOCH");
|
||||||
|
+ if(epoch != null) {
|
||||||
|
+ long unixTime = Long.parseLong(epoch);
|
||||||
|
+ stream.println ("* " + formatter.format (new Date (unixTime*1000L)));
|
||||||
|
+ } else {
|
||||||
|
+ stream.println ("* " + formatter.format (new Date ()));
|
||||||
|
+ }
|
||||||
|
+ } catch (Exception e) {
|
||||||
|
+ //in case of error fall back to default
|
||||||
|
+ stream.println ("* " + formatter.format (new Date ()));
|
||||||
|
+ }
|
||||||
|
|
||||||
|
// <daz>
|
||||||
|
///////////////
|
||||||
|
--
|
||||||
|
2.19.2
|
||||||
|
|
197
gnu/packages/patches/polkit-CVE-2018-19788.patch
Normal file
197
gnu/packages/patches/polkit-CVE-2018-19788.patch
Normal file
|
@ -0,0 +1,197 @@
|
||||||
|
Fix CVE-2018-19788:
|
||||||
|
|
||||||
|
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-19788
|
||||||
|
https://gitlab.freedesktop.org/polkit/polkit/issues/74
|
||||||
|
|
||||||
|
Patch copied from upstream source repository:
|
||||||
|
|
||||||
|
https://gitlab.freedesktop.org/polkit/polkit/commit/2cb40c4d5feeaa09325522bd7d97910f1b59e379
|
||||||
|
|
||||||
|
From 2cb40c4d5feeaa09325522bd7d97910f1b59e379 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
|
||||||
|
Date: Mon, 3 Dec 2018 10:28:58 +0100
|
||||||
|
Subject: [PATCH] Allow negative uids/gids in PolkitUnixUser and Group objects
|
||||||
|
|
||||||
|
(uid_t) -1 is still used as placeholder to mean "unset". This is OK, since
|
||||||
|
there should be no users with such number, see
|
||||||
|
https://systemd.io/UIDS-GIDS#special-linux-uids.
|
||||||
|
|
||||||
|
(uid_t) -1 is used as the default value in class initialization.
|
||||||
|
|
||||||
|
When a user or group above INT32_MAX is created, the numeric uid or
|
||||||
|
gid wraps around to negative when the value is assigned to gint, and
|
||||||
|
polkit gets confused. Let's accept such gids, except for -1.
|
||||||
|
|
||||||
|
A nicer fix would be to change the underlying type to e.g. uint32 to
|
||||||
|
not have negative values. But this cannot be done without breaking the
|
||||||
|
API, so likely new functions will have to be added (a
|
||||||
|
polkit_unix_user_new variant that takes a unsigned, and the same for
|
||||||
|
_group_new, _set_uid, _get_uid, _set_gid, _get_gid, etc.). This will
|
||||||
|
require a bigger patch.
|
||||||
|
|
||||||
|
Fixes https://gitlab.freedesktop.org/polkit/polkit/issues/74.
|
||||||
|
---
|
||||||
|
src/polkit/polkitunixgroup.c | 15 +++++++++++----
|
||||||
|
src/polkit/polkitunixprocess.c | 12 ++++++++----
|
||||||
|
src/polkit/polkitunixuser.c | 13 ++++++++++---
|
||||||
|
3 files changed, 29 insertions(+), 11 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/polkit/polkitunixgroup.c b/src/polkit/polkitunixgroup.c
|
||||||
|
index c57a1aa..309f689 100644
|
||||||
|
--- a/src/polkit/polkitunixgroup.c
|
||||||
|
+++ b/src/polkit/polkitunixgroup.c
|
||||||
|
@@ -71,6 +71,7 @@ G_DEFINE_TYPE_WITH_CODE (PolkitUnixGroup, polkit_unix_group, G_TYPE_OBJECT,
|
||||||
|
static void
|
||||||
|
polkit_unix_group_init (PolkitUnixGroup *unix_group)
|
||||||
|
{
|
||||||
|
+ unix_group->gid = -1; /* (git_t) -1 is not a valid GID under Linux */
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
@@ -100,11 +101,14 @@ polkit_unix_group_set_property (GObject *object,
|
||||||
|
GParamSpec *pspec)
|
||||||
|
{
|
||||||
|
PolkitUnixGroup *unix_group = POLKIT_UNIX_GROUP (object);
|
||||||
|
+ gint val;
|
||||||
|
|
||||||
|
switch (prop_id)
|
||||||
|
{
|
||||||
|
case PROP_GID:
|
||||||
|
- unix_group->gid = g_value_get_int (value);
|
||||||
|
+ val = g_value_get_int (value);
|
||||||
|
+ g_return_if_fail (val != -1);
|
||||||
|
+ unix_group->gid = val;
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
@@ -131,9 +135,9 @@ polkit_unix_group_class_init (PolkitUnixGroupClass *klass)
|
||||||
|
g_param_spec_int ("gid",
|
||||||
|
"Group ID",
|
||||||
|
"The UNIX group ID",
|
||||||
|
- 0,
|
||||||
|
+ G_MININT,
|
||||||
|
G_MAXINT,
|
||||||
|
- 0,
|
||||||
|
+ -1,
|
||||||
|
G_PARAM_CONSTRUCT |
|
||||||
|
G_PARAM_READWRITE |
|
||||||
|
G_PARAM_STATIC_NAME |
|
||||||
|
@@ -166,9 +170,10 @@ polkit_unix_group_get_gid (PolkitUnixGroup *group)
|
||||||
|
*/
|
||||||
|
void
|
||||||
|
polkit_unix_group_set_gid (PolkitUnixGroup *group,
|
||||||
|
- gint gid)
|
||||||
|
+ gint gid)
|
||||||
|
{
|
||||||
|
g_return_if_fail (POLKIT_IS_UNIX_GROUP (group));
|
||||||
|
+ g_return_if_fail (gid != -1);
|
||||||
|
group->gid = gid;
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -183,6 +188,8 @@ polkit_unix_group_set_gid (PolkitUnixGroup *group,
|
||||||
|
PolkitIdentity *
|
||||||
|
polkit_unix_group_new (gint gid)
|
||||||
|
{
|
||||||
|
+ g_return_val_if_fail (gid != -1, NULL);
|
||||||
|
+
|
||||||
|
return POLKIT_IDENTITY (g_object_new (POLKIT_TYPE_UNIX_GROUP,
|
||||||
|
"gid", gid,
|
||||||
|
NULL));
|
||||||
|
diff --git a/src/polkit/polkitunixprocess.c b/src/polkit/polkitunixprocess.c
|
||||||
|
index 972b777..b02b258 100644
|
||||||
|
--- a/src/polkit/polkitunixprocess.c
|
||||||
|
+++ b/src/polkit/polkitunixprocess.c
|
||||||
|
@@ -159,9 +159,14 @@ polkit_unix_process_set_property (GObject *object,
|
||||||
|
polkit_unix_process_set_pid (unix_process, g_value_get_int (value));
|
||||||
|
break;
|
||||||
|
|
||||||
|
- case PROP_UID:
|
||||||
|
- polkit_unix_process_set_uid (unix_process, g_value_get_int (value));
|
||||||
|
+ case PROP_UID: {
|
||||||
|
+ gint val;
|
||||||
|
+
|
||||||
|
+ val = g_value_get_int (value);
|
||||||
|
+ g_return_if_fail (val != -1);
|
||||||
|
+ polkit_unix_process_set_uid (unix_process, val);
|
||||||
|
break;
|
||||||
|
+ }
|
||||||
|
|
||||||
|
case PROP_START_TIME:
|
||||||
|
polkit_unix_process_set_start_time (unix_process, g_value_get_uint64 (value));
|
||||||
|
@@ -239,7 +244,7 @@ polkit_unix_process_class_init (PolkitUnixProcessClass *klass)
|
||||||
|
g_param_spec_int ("uid",
|
||||||
|
"User ID",
|
||||||
|
"The UNIX user ID",
|
||||||
|
- -1,
|
||||||
|
+ G_MININT,
|
||||||
|
G_MAXINT,
|
||||||
|
-1,
|
||||||
|
G_PARAM_CONSTRUCT |
|
||||||
|
@@ -303,7 +308,6 @@ polkit_unix_process_set_uid (PolkitUnixProcess *process,
|
||||||
|
gint uid)
|
||||||
|
{
|
||||||
|
g_return_if_fail (POLKIT_IS_UNIX_PROCESS (process));
|
||||||
|
- g_return_if_fail (uid >= -1);
|
||||||
|
process->uid = uid;
|
||||||
|
}
|
||||||
|
|
||||||
|
diff --git a/src/polkit/polkitunixuser.c b/src/polkit/polkitunixuser.c
|
||||||
|
index 8bfd3a1..234a697 100644
|
||||||
|
--- a/src/polkit/polkitunixuser.c
|
||||||
|
+++ b/src/polkit/polkitunixuser.c
|
||||||
|
@@ -72,6 +72,7 @@ G_DEFINE_TYPE_WITH_CODE (PolkitUnixUser, polkit_unix_user, G_TYPE_OBJECT,
|
||||||
|
static void
|
||||||
|
polkit_unix_user_init (PolkitUnixUser *unix_user)
|
||||||
|
{
|
||||||
|
+ unix_user->uid = -1; /* (uid_t) -1 is not a valid UID under Linux */
|
||||||
|
unix_user->name = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -112,11 +113,14 @@ polkit_unix_user_set_property (GObject *object,
|
||||||
|
GParamSpec *pspec)
|
||||||
|
{
|
||||||
|
PolkitUnixUser *unix_user = POLKIT_UNIX_USER (object);
|
||||||
|
+ gint val;
|
||||||
|
|
||||||
|
switch (prop_id)
|
||||||
|
{
|
||||||
|
case PROP_UID:
|
||||||
|
- unix_user->uid = g_value_get_int (value);
|
||||||
|
+ val = g_value_get_int (value);
|
||||||
|
+ g_return_if_fail (val != -1);
|
||||||
|
+ unix_user->uid = val;
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
@@ -144,9 +148,9 @@ polkit_unix_user_class_init (PolkitUnixUserClass *klass)
|
||||||
|
g_param_spec_int ("uid",
|
||||||
|
"User ID",
|
||||||
|
"The UNIX user ID",
|
||||||
|
- 0,
|
||||||
|
+ G_MININT,
|
||||||
|
G_MAXINT,
|
||||||
|
- 0,
|
||||||
|
+ -1,
|
||||||
|
G_PARAM_CONSTRUCT |
|
||||||
|
G_PARAM_READWRITE |
|
||||||
|
G_PARAM_STATIC_NAME |
|
||||||
|
@@ -182,6 +186,7 @@ polkit_unix_user_set_uid (PolkitUnixUser *user,
|
||||||
|
gint uid)
|
||||||
|
{
|
||||||
|
g_return_if_fail (POLKIT_IS_UNIX_USER (user));
|
||||||
|
+ g_return_if_fail (uid != -1);
|
||||||
|
user->uid = uid;
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -196,6 +201,8 @@ polkit_unix_user_set_uid (PolkitUnixUser *user,
|
||||||
|
PolkitIdentity *
|
||||||
|
polkit_unix_user_new (gint uid)
|
||||||
|
{
|
||||||
|
+ g_return_val_if_fail (uid != -1, NULL);
|
||||||
|
+
|
||||||
|
return POLKIT_IDENTITY (g_object_new (POLKIT_TYPE_UNIX_USER,
|
||||||
|
"uid", uid,
|
||||||
|
NULL));
|
||||||
|
--
|
||||||
|
2.18.1
|
||||||
|
|
|
@ -429,6 +429,7 @@ (define-public zathura-pdf-mupdf
|
||||||
(inputs
|
(inputs
|
||||||
`(("jbig2dec" ,jbig2dec)
|
`(("jbig2dec" ,jbig2dec)
|
||||||
("libjpeg" ,libjpeg)
|
("libjpeg" ,libjpeg)
|
||||||
|
("mujs", mujs)
|
||||||
("mupdf" ,mupdf)
|
("mupdf" ,mupdf)
|
||||||
("openjpeg" ,openjpeg)
|
("openjpeg" ,openjpeg)
|
||||||
("openssl" ,openssl)
|
("openssl" ,openssl)
|
||||||
|
@ -438,7 +439,18 @@ (define-public zathura-pdf-mupdf
|
||||||
`(#:tests? #f ; package does not contain tests
|
`(#:tests? #f ; package does not contain tests
|
||||||
#:configure-flags (list (string-append "-Dplugindir="
|
#:configure-flags (list (string-append "-Dplugindir="
|
||||||
(assoc-ref %outputs "out")
|
(assoc-ref %outputs "out")
|
||||||
"/lib/zathura"))))
|
"/lib/zathura")
|
||||||
|
"-Dlink-external=true")
|
||||||
|
#:phases
|
||||||
|
(modify-phases %standard-phases
|
||||||
|
(add-before 'configure 'add-mujs-to-dependencies
|
||||||
|
(lambda _
|
||||||
|
;; Add mujs to the 'build_dependencies'.
|
||||||
|
(substitute* "meson.build"
|
||||||
|
(("^ libopenjp2 = dependency.*" x)
|
||||||
|
(string-append x " mujs = cc.find_library('mujs')\n"))
|
||||||
|
(("^ libopenjp2")
|
||||||
|
" libopenjp2, mujs")))))))
|
||||||
(home-page "https://pwmt.org/projects/zathura-pdf-mupdf/")
|
(home-page "https://pwmt.org/projects/zathura-pdf-mupdf/")
|
||||||
(synopsis "PDF support for zathura (mupdf backend)")
|
(synopsis "PDF support for zathura (mupdf backend)")
|
||||||
(description "The zathura-pdf-mupdf plugin adds PDF support to zathura
|
(description "The zathura-pdf-mupdf plugin adds PDF support to zathura
|
||||||
|
|
|
@ -49,6 +49,7 @@ (define-public polkit
|
||||||
(uri (string-append
|
(uri (string-append
|
||||||
"https://www.freedesktop.org/software/polkit/releases/"
|
"https://www.freedesktop.org/software/polkit/releases/"
|
||||||
name "-" version ".tar.gz"))
|
name "-" version ".tar.gz"))
|
||||||
|
(patches (search-patches "polkit-CVE-2018-19788.patch"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"0c91y61y4gy6p91cwbzg32dhavw4b7fflg370rimqhdxpzdfr1rg"))
|
"0c91y61y4gy6p91cwbzg32dhavw4b7fflg370rimqhdxpzdfr1rg"))
|
||||||
|
|
|
@ -908,6 +908,29 @@ (define-public python-semantic-version
|
||||||
(define-public python2-semantic-version
|
(define-public python2-semantic-version
|
||||||
(package-with-python2 python-semantic-version))
|
(package-with-python2 python-semantic-version))
|
||||||
|
|
||||||
|
(define-public python-serpent
|
||||||
|
(package
|
||||||
|
(name "python-serpent")
|
||||||
|
(version "1.27")
|
||||||
|
(source
|
||||||
|
(origin
|
||||||
|
(method url-fetch)
|
||||||
|
(uri (pypi-uri "serpent" version))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"04p9dsrm5pv8vhk3flvih55kgvlzpi38hlaykdiakddmgwqw93bg"))))
|
||||||
|
(build-system python-build-system)
|
||||||
|
(home-page "https://github.com/irmen/Serpent")
|
||||||
|
(synopsis "Serializer for literal Python expressions")
|
||||||
|
(description
|
||||||
|
"Serpent provides ast.literal_eval() compatible object tree
|
||||||
|
serialization. It serializes an object tree into bytes (utf-8 encoded string)
|
||||||
|
that can be decoded and then passed as-is to ast.literal_eval() to rebuild it
|
||||||
|
as the original object tree. As such it is safe to send serpent data to other
|
||||||
|
machines over the network for instance (because only safe literals are
|
||||||
|
encoded).")
|
||||||
|
(license license:expat)))
|
||||||
|
|
||||||
(define-public python-setuptools
|
(define-public python-setuptools
|
||||||
(package
|
(package
|
||||||
(name "python-setuptools")
|
(name "python-setuptools")
|
||||||
|
@ -1048,6 +1071,32 @@ (define-public python-capturer
|
||||||
(define-public python2-capturer
|
(define-public python2-capturer
|
||||||
(package-with-python2 python-capturer))
|
(package-with-python2 python-capturer))
|
||||||
|
|
||||||
|
(define-public python-case
|
||||||
|
(package
|
||||||
|
(name "python-case")
|
||||||
|
(version "1.5.3")
|
||||||
|
(source
|
||||||
|
(origin
|
||||||
|
(method url-fetch)
|
||||||
|
(uri (pypi-uri "case" version))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"1cagg06vfph864s6l5jb0zqliwxh647bki8j6lf4a4qrv40jnhs8"))))
|
||||||
|
(build-system python-build-system)
|
||||||
|
(propagated-inputs
|
||||||
|
`(("python-mock" ,python-mock)
|
||||||
|
("python-nose" ,python-nose)
|
||||||
|
("python-six" ,python-six)
|
||||||
|
("python-unittest2" ,python-unittest2)))
|
||||||
|
(native-inputs
|
||||||
|
`(("python-coverage" ,python-coverage)))
|
||||||
|
(home-page "https://github.com/celery/case")
|
||||||
|
(synopsis "Unittest utilities and convenience methods")
|
||||||
|
(description
|
||||||
|
"The @code{case} package provides utilities on top of unittest, including
|
||||||
|
some helpful Python 2 compatibility convenience methods.")
|
||||||
|
(license license:bsd-3)))
|
||||||
|
|
||||||
(define-public python-verboselogs
|
(define-public python-verboselogs
|
||||||
(package
|
(package
|
||||||
(name "python-verboselogs")
|
(name "python-verboselogs")
|
||||||
|
@ -2268,6 +2317,30 @@ (define-public python-pyyaml
|
||||||
(define-public python2-pyyaml
|
(define-public python2-pyyaml
|
||||||
(package-with-python2 python-pyyaml))
|
(package-with-python2 python-pyyaml))
|
||||||
|
|
||||||
|
(define-public python-vine
|
||||||
|
(package
|
||||||
|
(name "python-vine")
|
||||||
|
(version "1.1.4")
|
||||||
|
(source
|
||||||
|
(origin
|
||||||
|
(method url-fetch)
|
||||||
|
(uri (pypi-uri "vine" version))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"0wkskb2hb494v9gixqnf4bl972p4ibcmxdykzpwjlfa5picns4aj"))))
|
||||||
|
(build-system python-build-system)
|
||||||
|
(native-inputs
|
||||||
|
`(("python-pytest" ,python-pytest)
|
||||||
|
("python-case" ,python-case)))
|
||||||
|
(home-page "https://github.com/celery/vine")
|
||||||
|
(synopsis "Promises for Python")
|
||||||
|
(description
|
||||||
|
"@code{vine} provides a special implementation of promises in that it can
|
||||||
|
be used both for \"promise of a value\" and lazy evaluation. The biggest
|
||||||
|
upside for this is that everything in a promise can also be a promise,
|
||||||
|
e.g. filters, callbacks and errbacks can all be promises.")
|
||||||
|
(license license:bsd-3)))
|
||||||
|
|
||||||
(define-public python-virtualenv
|
(define-public python-virtualenv
|
||||||
(package
|
(package
|
||||||
(name "python-virtualenv")
|
(name "python-virtualenv")
|
||||||
|
@ -8196,18 +8269,21 @@ (define-public python2-anyjson
|
||||||
(define-public python-amqp
|
(define-public python-amqp
|
||||||
(package
|
(package
|
||||||
(name "python-amqp")
|
(name "python-amqp")
|
||||||
(version "1.4.9")
|
(version "2.3.2")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (pypi-uri "amqp" version))
|
(uri (pypi-uri "amqp" version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"06n6q0kxhjnbfz3vn8x9yz09lwmn1xi9d6wxp31h5jbks0b4vsid"))))
|
"1sv600dgqwpimr6i1g59y9hpn50mc236gdqkr7zin13kvlpx0g87"))))
|
||||||
(build-system python-build-system)
|
(build-system python-build-system)
|
||||||
(native-inputs
|
(native-inputs
|
||||||
`(("python-nose" ,python-nose)
|
`(("python-case" ,python-case)
|
||||||
|
("python-pytest-sugar" ,python-pytest-sugar)
|
||||||
("python-mock" ,python-mock)))
|
("python-mock" ,python-mock)))
|
||||||
|
(propagated-inputs
|
||||||
|
`(("python-vine" ,python-vine)))
|
||||||
(home-page "https://github.com/celery/py-amqp")
|
(home-page "https://github.com/celery/py-amqp")
|
||||||
(synopsis
|
(synopsis
|
||||||
"Low-level AMQP client for Python (fork of amqplib)")
|
"Low-level AMQP client for Python (fork of amqplib)")
|
||||||
|
@ -8261,23 +8337,26 @@ (define-public python2-txamqp
|
||||||
(define-public python-kombu
|
(define-public python-kombu
|
||||||
(package
|
(package
|
||||||
(name "python-kombu")
|
(name "python-kombu")
|
||||||
(version "3.0.37")
|
(version "4.2.2")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (pypi-uri "kombu" version))
|
(uri (pypi-uri "kombu" version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"0l16chb314gpq2v7fh94a22c30lcv6w3ylmhsa60bldlcq6a0r70"))))
|
"15k8f7mzqr049sg9vi48m19vjykviafk3f0p5xzgw9by0x0kyxjj"))))
|
||||||
(build-system python-build-system)
|
(build-system python-build-system)
|
||||||
(native-inputs
|
(native-inputs
|
||||||
`(("python-mock" ,python-mock)
|
`(("python-mock" ,python-mock)
|
||||||
("python-nose" ,python-nose)))
|
("python-case" ,python-case)
|
||||||
|
("python-pyro4" ,python-pyro4)
|
||||||
|
("python-pytest-sugar" ,python-pytest-sugar)
|
||||||
|
("python-pytz" ,python-pytz)))
|
||||||
(propagated-inputs
|
(propagated-inputs
|
||||||
`(("python-anyjson" ,python-anyjson)
|
`(("python-anyjson" ,python-anyjson)
|
||||||
("python-amqp" ,python-amqp)
|
("python-amqp" ,python-amqp)
|
||||||
("python-redis" ,python-redis)))
|
("python-redis" ,python-redis)))
|
||||||
(home-page "http://kombu.readthedocs.org")
|
(home-page "https://kombu.readthedocs.io")
|
||||||
(synopsis "Message passing library for Python")
|
(synopsis "Message passing library for Python")
|
||||||
(description "The aim of Kombu is to make messaging in Python as easy as
|
(description "The aim of Kombu is to make messaging in Python as easy as
|
||||||
possible by providing an idiomatic high-level interface for the AMQ protocol,
|
possible by providing an idiomatic high-level interface for the AMQ protocol,
|
||||||
|
@ -8303,17 +8382,18 @@ (define-public python2-kombu
|
||||||
(define-public python-billiard
|
(define-public python-billiard
|
||||||
(package
|
(package
|
||||||
(name "python-billiard")
|
(name "python-billiard")
|
||||||
(version "3.3.0.23")
|
(version "3.5.0.5")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (pypi-uri "billiard" version))
|
(uri (pypi-uri "billiard" version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"02wxsc6bhqvzh8j6w758kvgqbnj14l796mvmrcms8fgfamd2lak9"))))
|
"03msmapj3s5zgqk87d646mafz7a01h5bm2wijalgpi0s80ks5na2"))))
|
||||||
(build-system python-build-system)
|
(build-system python-build-system)
|
||||||
(native-inputs
|
(native-inputs
|
||||||
`(("python-nose" ,python-nose)))
|
`(("python-case" ,python-case)
|
||||||
|
("python-pytest" ,python-pytest)))
|
||||||
(home-page "https://github.com/celery/billiard")
|
(home-page "https://github.com/celery/billiard")
|
||||||
(synopsis
|
(synopsis
|
||||||
"Python multiprocessing fork with improvements and bugfixes")
|
"Python multiprocessing fork with improvements and bugfixes")
|
||||||
|
@ -8337,31 +8417,35 @@ (define-public python2-billiard
|
||||||
(define-public python-celery
|
(define-public python-celery
|
||||||
(package
|
(package
|
||||||
(name "python-celery")
|
(name "python-celery")
|
||||||
(version "3.1.24")
|
(version "4.2.1")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (pypi-uri "celery" version))
|
(uri (pypi-uri "celery" version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"0yh2prhdnx2dgkb67a5drj12hh2zvzx5f611p7mqqg01ydghif4r"))))
|
"0y66rz7z8dfcgs3s0qxmdddlaq57bzbgxgfz896nbp14grkv9nkp"))))
|
||||||
(build-system python-build-system)
|
(build-system python-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
`(#:phases
|
'(;; TODO The tests fail with Python 3.7
|
||||||
|
;; https://github.com/celery/celery/issues/4849
|
||||||
|
#:tests? #f
|
||||||
|
#:phases
|
||||||
(modify-phases %standard-phases
|
(modify-phases %standard-phases
|
||||||
;; These tests break with Python 3.5:
|
(add-after 'unpack 'patch-requirements
|
||||||
;; https://github.com/celery/celery/issues/2897#issuecomment-253066295
|
|
||||||
(replace 'check
|
|
||||||
(lambda _
|
(lambda _
|
||||||
(zero?
|
(substitute* "requirements/test.txt"
|
||||||
(system* "nosetests" "--exclude=^test_safe_to_remove.*")))))))
|
(("pytest>=3\\.0,<3\\.3")
|
||||||
|
"pytest>=3.0"))
|
||||||
|
#t)))))
|
||||||
(native-inputs
|
(native-inputs
|
||||||
`(("python-nose" ,python-nose)))
|
`(("python-case" ,python-case)
|
||||||
|
("python-pytest" ,python-pytest)))
|
||||||
(propagated-inputs
|
(propagated-inputs
|
||||||
`(("python-pytz" ,python-pytz)
|
`(("python-pytz" ,python-pytz)
|
||||||
("python-billiard" ,python-billiard)
|
("python-billiard" ,python-billiard)
|
||||||
("python-kombu" ,python-kombu)))
|
("python-kombu" ,python-kombu)))
|
||||||
(home-page "http://celeryproject.org")
|
(home-page "https://celeryproject.org")
|
||||||
(synopsis "Distributed Task Queue")
|
(synopsis "Distributed Task Queue")
|
||||||
(description "Celery is an asynchronous task queue/job queue based on
|
(description "Celery is an asynchronous task queue/job queue based on
|
||||||
distributed message passing. It is focused on real-time operation, but
|
distributed message passing. It is focused on real-time operation, but
|
||||||
|
@ -9226,6 +9310,13 @@ (define-public python-gevent
|
||||||
(setenv "CPATH"
|
(setenv "CPATH"
|
||||||
(string-append greenlet "/" python)))))
|
(string-append greenlet "/" python)))))
|
||||||
#t))
|
#t))
|
||||||
|
(add-before 'check 'skip-timer-test
|
||||||
|
(lambda _
|
||||||
|
;; XXX: Skip 'TestTimerResolution', which appears to be
|
||||||
|
;; unreliable.
|
||||||
|
(substitute* "src/greentest/test__core_timer.py"
|
||||||
|
(("not greentest.RUNNING_ON_CI") "False"))
|
||||||
|
#t))
|
||||||
(replace 'check
|
(replace 'check
|
||||||
(lambda _
|
(lambda _
|
||||||
;; Make sure the build directory is on PYTHONPATH.
|
;; Make sure the build directory is on PYTHONPATH.
|
||||||
|
@ -9266,17 +9357,6 @@ (define-public python2-gevent
|
||||||
(strip-python2-variant python-gevent))))
|
(strip-python2-variant python-gevent))))
|
||||||
(package
|
(package
|
||||||
(inherit base)
|
(inherit base)
|
||||||
(arguments
|
|
||||||
(substitute-keyword-arguments (package-arguments base)
|
|
||||||
((#:phases phases)
|
|
||||||
`(modify-phases ,phases
|
|
||||||
(add-before 'check 'skip-timer-test
|
|
||||||
(lambda _
|
|
||||||
;; XXX: Skip 'TestTimerResolution', which appears to be
|
|
||||||
;; unreliable.
|
|
||||||
(substitute* "src/greentest/test__core_timer.py"
|
|
||||||
(("not greentest.RUNNING_ON_CI") "False"))
|
|
||||||
#t))))))
|
|
||||||
(native-inputs `(,@(package-native-inputs python-gevent)
|
(native-inputs `(,@(package-native-inputs python-gevent)
|
||||||
("python-mock" ,python2-mock))))))
|
("python-mock" ,python2-mock))))))
|
||||||
|
|
||||||
|
@ -9841,20 +9921,25 @@ (define-public python2-prompt-toolkit
|
||||||
(define-public python-jedi
|
(define-public python-jedi
|
||||||
(package
|
(package
|
||||||
(name "python-jedi")
|
(name "python-jedi")
|
||||||
(version "0.12.1")
|
(version "0.13.1")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (pypi-uri "jedi" version))
|
(uri (pypi-uri "jedi" version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1h8ypnjisn57kiv1zqrkj1im6sbfnhxllqaa8znh39qkd47ys2dl"))))
|
"0j11q42g5vjkyhhjpyy8nb0gdxs78m3rpjai7p1hvgpyl9rkyjdp"))))
|
||||||
(build-system python-build-system)
|
(build-system python-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
`(#:phases
|
`( ;; Many tests are failing with Python 3.7.x as of version 0.13.1 (see:
|
||||||
|
;; https://github.com/davidhalter/jedi/issues/1263)
|
||||||
|
#:tests? #f
|
||||||
|
#:phases
|
||||||
(modify-phases %standard-phases
|
(modify-phases %standard-phases
|
||||||
(replace 'check (lambda _
|
(replace 'check
|
||||||
(invoke "py.test" "-vv"))))))
|
(lambda* (#:key tests? #:allow-other-keys)
|
||||||
|
(when tests?
|
||||||
|
(invoke "py.test" "-vv")))))))
|
||||||
(native-inputs
|
(native-inputs
|
||||||
`(("python-pytest" ,python-pytest)
|
`(("python-pytest" ,python-pytest)
|
||||||
("python-docopt" ,python-docopt)))
|
("python-docopt" ,python-docopt)))
|
||||||
|
@ -13258,6 +13343,28 @@ (define-public python-semver
|
||||||
(define-public python2-semver
|
(define-public python2-semver
|
||||||
(package-with-python2 python-semver))
|
(package-with-python2 python-semver))
|
||||||
|
|
||||||
|
(define-public python-pyro4
|
||||||
|
(package
|
||||||
|
(name "python-pyro4")
|
||||||
|
(version "4.74")
|
||||||
|
(source
|
||||||
|
(origin
|
||||||
|
(method url-fetch)
|
||||||
|
(uri (pypi-uri "Pyro4" version))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"0pzp7c6q3vvkxq0wy9lr6wd5wky40sajz69g697i5rb2q497pvc9"))))
|
||||||
|
(build-system python-build-system)
|
||||||
|
(propagated-inputs
|
||||||
|
`(("python-serpent" ,python-serpent)))
|
||||||
|
(home-page "https://pyro4.readthedocs.io")
|
||||||
|
(synopsis "Distributed object middleware for Python")
|
||||||
|
(description
|
||||||
|
"Pyro enables you to build applications in which objects can talk to each
|
||||||
|
other over the network. You can just use normal Python method calls to call
|
||||||
|
objects on other machines, also known as remote procedure calls (RPC).")
|
||||||
|
(license license:expat)))
|
||||||
|
|
||||||
(define-public python2-pyro
|
(define-public python2-pyro
|
||||||
(package
|
(package
|
||||||
(name "python2-pyro")
|
(name "python2-pyro")
|
||||||
|
|
|
@ -191,6 +191,8 @@ (define rust-1.19
|
||||||
(source (rust-source version "0l8c14qsf42rmkqy92ahij4vf356dbyspxcips1aswpvad81y8qm"
|
(source (rust-source version "0l8c14qsf42rmkqy92ahij4vf356dbyspxcips1aswpvad81y8qm"
|
||||||
#:patches '("rust-1.19-mrustc.patch")))
|
#:patches '("rust-1.19-mrustc.patch")))
|
||||||
(outputs '("out" "cargo"))
|
(outputs '("out" "cargo"))
|
||||||
|
(properties '((timeout . 72000) ;20 hours
|
||||||
|
(max-silent-time . 18000))) ;5 hours (for armel)
|
||||||
(arguments
|
(arguments
|
||||||
`(#:imported-modules ,%cargo-build-system-modules ;for `generate-checksums'
|
`(#:imported-modules ,%cargo-build-system-modules ;for `generate-checksums'
|
||||||
#:modules ((guix build utils) (ice-9 match) (guix build gnu-build-system))
|
#:modules ((guix build utils) (ice-9 match) (guix build gnu-build-system))
|
||||||
|
@ -427,6 +429,7 @@ (define-public rust-1.20
|
||||||
(package
|
(package
|
||||||
(inherit base-rust)
|
(inherit base-rust)
|
||||||
(outputs '("out" "doc" "cargo"))
|
(outputs '("out" "doc" "cargo"))
|
||||||
|
(properties '())
|
||||||
(arguments
|
(arguments
|
||||||
(substitute-keyword-arguments (package-arguments rust-1.19)
|
(substitute-keyword-arguments (package-arguments rust-1.19)
|
||||||
((#:phases phases)
|
((#:phases phases)
|
||||||
|
|
|
@ -51,6 +51,7 @@ (define-module (gnu packages security-token)
|
||||||
#:use-module (gnu packages tex)
|
#:use-module (gnu packages tex)
|
||||||
#:use-module (gnu packages perl)
|
#:use-module (gnu packages perl)
|
||||||
#:use-module (gnu packages pkg-config)
|
#:use-module (gnu packages pkg-config)
|
||||||
|
#:use-module (gnu packages web)
|
||||||
#:use-module (gnu packages xml))
|
#:use-module (gnu packages xml))
|
||||||
|
|
||||||
(define-public ccid
|
(define-public ccid
|
||||||
|
@ -307,3 +308,36 @@ (define-public yubico-piv-tool
|
||||||
;; license for that one file. Please see it for details. The vast
|
;; license for that one file. Please see it for details. The vast
|
||||||
;; majority of files are licensed under bsd-2.
|
;; majority of files are licensed under bsd-2.
|
||||||
(license license:bsd-2)))
|
(license license:bsd-2)))
|
||||||
|
|
||||||
|
(define-public yubikey-personalization
|
||||||
|
(package
|
||||||
|
(name "yubikey-personalization")
|
||||||
|
(version "1.19.0")
|
||||||
|
(source (origin
|
||||||
|
(method url-fetch)
|
||||||
|
(uri (string-append
|
||||||
|
"https://developers.yubico.com/" name
|
||||||
|
"/Releases/ykpers-" version ".tar.gz"))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"104lc0nnqdr365fa7c4vrq67rxp1dp8idndsh9jlhnj9dnhszj1b"))))
|
||||||
|
(build-system gnu-build-system)
|
||||||
|
(arguments
|
||||||
|
'(#:configure-flags (list (string-append "--with-udevrulesdir="
|
||||||
|
(assoc-ref %outputs "out")
|
||||||
|
"/lib/udev/rules.d"))))
|
||||||
|
(inputs
|
||||||
|
`(("json-c" ,json-c)
|
||||||
|
("libusb" ,libusb)
|
||||||
|
;; The library "libyubikey" is also known as "yubico-c".
|
||||||
|
("libyubikey" ,libyubikey)))
|
||||||
|
(native-inputs
|
||||||
|
`(("pkg-config" ,pkg-config)
|
||||||
|
("eudev" ,eudev)))
|
||||||
|
(home-page "https://developers.yubico.com/yubikey-personalization/")
|
||||||
|
(synopsis "Library and tools to personalize YubiKeys")
|
||||||
|
(description
|
||||||
|
"The YubiKey Personalization package contains a C library and command
|
||||||
|
line tools for personalizing YubiKeys. You can use these to set an AES key,
|
||||||
|
retrieve a YubiKey's serial number, and so forth.")
|
||||||
|
(license license:bsd-2)))
|
||||||
|
|
|
@ -529,13 +529,13 @@ (define-public python-acme
|
||||||
(package
|
(package
|
||||||
(name "python-acme")
|
(name "python-acme")
|
||||||
;; Remember to update the hash of certbot when updating python-acme.
|
;; Remember to update the hash of certbot when updating python-acme.
|
||||||
(version "0.28.0")
|
(version "0.29.1")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (pypi-uri "acme" version))
|
(uri (pypi-uri "acme" version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"11dvcbdifn5d02p4k5li8r6r39bl3p5ap9p3zjwvasm24hf2yz5z"))))
|
"0z5l966b1asbcdzl77bmywf22c1q0xill00jj7qyml9wx2nh7qm2"))))
|
||||||
(build-system python-build-system)
|
(build-system python-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
`(#:phases
|
`(#:phases
|
||||||
|
@ -586,7 +586,7 @@ (define-public certbot
|
||||||
(uri (pypi-uri name version))
|
(uri (pypi-uri name version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"02h959qkq7z0s13ivgf7jyl3gnc55wcck6n546k0kh155bpf5qri"))))
|
"14i6yrcb9s7ygy99gccfc8jscymi24xb72s5lgg9b2y40z909ikg"))))
|
||||||
(build-system python-build-system)
|
(build-system python-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
`(,@(substitute-keyword-arguments (package-arguments python-acme)
|
`(,@(substitute-keyword-arguments (package-arguments python-acme)
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
;;; Copyright © 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
|
;;; Copyright © 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
|
||||||
;;; Copyright © 2016, 2017 Nils Gillmann <ng0@n0.is>
|
;;; Copyright © 2016, 2017 Nils Gillmann <ng0@n0.is>
|
||||||
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||||
;;; Copyright © 2017 Eric Bavier <bavier@member.fsf.org>
|
;;; Copyright © 2017, 2018 Eric Bavier <bavier@member.fsf.org>
|
||||||
;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com>
|
;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com>
|
||||||
;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
|
;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
|
||||||
;;;
|
;;;
|
||||||
|
@ -162,7 +162,7 @@ (define-public privoxy
|
||||||
(define-public onionshare
|
(define-public onionshare
|
||||||
(package
|
(package
|
||||||
(name "onionshare")
|
(name "onionshare")
|
||||||
(version "0.9.2")
|
(version "1.3.1")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method git-fetch)
|
(method git-fetch)
|
||||||
|
@ -172,7 +172,7 @@ (define-public onionshare
|
||||||
(file-name (git-file-name name version))
|
(file-name (git-file-name name version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1nzr6m3jp04p1i8b652s27zv0xhybl3zwcn5r6l9h0f7d7x4iglv"))))
|
"02zic4cxwrcfdg22dq9c2rzni3l18wynjxd38scc59s37vlw7w2r"))))
|
||||||
(build-system python-build-system)
|
(build-system python-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
`(#:phases
|
`(#:phases
|
||||||
|
@ -181,55 +181,24 @@ (define-public onionshare
|
||||||
(lambda* (#:key outputs #:allow-other-keys)
|
(lambda* (#:key outputs #:allow-other-keys)
|
||||||
(let* ((out (assoc-ref outputs "out"))
|
(let* ((out (assoc-ref outputs "out"))
|
||||||
(onionshare (string-append out "/share/onionshare")))
|
(onionshare (string-append out "/share/onionshare")))
|
||||||
(substitute* "onionshare/strings.py"
|
(substitute* '("setup.py" "onionshare/common.py")
|
||||||
;; correct the locale directory
|
|
||||||
(("helpers.get_resource_path\\('locale'\\)")
|
|
||||||
(string-append "'" onionshare "/locale'")))
|
|
||||||
(substitute* "onionshare/helpers.py"
|
|
||||||
;; correct the location of version.txt
|
|
||||||
(("get_resource_path\\('version.txt'\\)")
|
|
||||||
(string-append "'" onionshare "/version.txt'"))
|
|
||||||
(("get_resource_path\\('wordlist.txt'\\)")
|
|
||||||
(string-append "'" onionshare "/wordlist.txt'")))
|
|
||||||
(substitute* "onionshare/web.py"
|
|
||||||
;; fix the location of the html files
|
|
||||||
(("helpers.get_resource_path\\('html/denied.html'\\)")
|
|
||||||
(string-append "'" onionshare "/html/denied.html'"))
|
|
||||||
(("helpers.get_resource_path\\('html/404.html'\\)")
|
|
||||||
(string-append "'" onionshare "/html/404.html'"))
|
|
||||||
(("helpers.get_resource_path\\('html/index.html'\\)")
|
|
||||||
(string-append "'" onionshare "/html/index.html'")))
|
|
||||||
(substitute* "onionshare_gui/file_selection.py"
|
|
||||||
;; fancy box image in the GUI
|
|
||||||
(("helpers.get_resource_path\\('images/drop_files.png'\\)")
|
|
||||||
(string-append "'" onionshare "/images/drop_files.png'")))
|
|
||||||
(substitute* "onionshare_gui/server_status.py"
|
|
||||||
(("helpers.get_resource_path\\('images/server_stopped.png'\\)")
|
|
||||||
(string-append "'" onionshare "/images/server_stopped.png'"))
|
|
||||||
(("helpers.get_resource_path\\('images/server_working.png'\\)")
|
|
||||||
(string-append "'" onionshare "/images/server_working.png'"))
|
|
||||||
(("helpers.get_resource_path\\('images/server_started.png'\\)")
|
|
||||||
(string-append "'" onionshare "/images/server_started.png'")))
|
|
||||||
(substitute* "onionshare_gui/onionshare_gui.py"
|
|
||||||
;; for the icon on the GUI
|
|
||||||
(("helpers.get_resource_path\\('images/logo.png'\\)")
|
|
||||||
(string-append "'" onionshare "/images/logo.png'")))
|
|
||||||
(substitute* '("setup.py" "onionshare/helpers.py")
|
|
||||||
(("sys.prefix,") (string-append "'" out "',")))
|
(("sys.prefix,") (string-append "'" out "',")))
|
||||||
(substitute* "setup.py"
|
(substitute* "setup.py"
|
||||||
;; for the nautilus plugin
|
;; for the nautilus plugin
|
||||||
(("/usr/share/nautilus") "share/nautilus"))
|
(("/usr/share/nautilus") "share/nautilus"))
|
||||||
#t)))
|
(substitute* "install/onionshare.desktop"
|
||||||
|
(("/usr") out))
|
||||||
|
#t)))
|
||||||
(delete 'check)
|
(delete 'check)
|
||||||
(add-before 'strip 'tests
|
(add-before 'strip 'tests
|
||||||
;; After all the patching we run the tests after installing.
|
;; After all the patching we run the tests after installing.
|
||||||
;; This is also a known issue:
|
;; This is also a known issue:
|
||||||
;; https://github.com/micahflee/onionshare/issues/284
|
;; https://github.com/micahflee/onionshare/issues/284
|
||||||
(lambda _
|
(lambda _
|
||||||
(invoke "nosetests" "test")
|
(invoke "pytest" "test")
|
||||||
#t)))))
|
#t)))))
|
||||||
(native-inputs
|
(native-inputs
|
||||||
`(("python-nose" ,python-nose)))
|
`(("python-pytest" ,python-pytest)))
|
||||||
(inputs
|
(inputs
|
||||||
`(("python-flask" ,python-flask)
|
`(("python-flask" ,python-flask)
|
||||||
("python-nautilus" ,python-nautilus)
|
("python-nautilus" ,python-nautilus)
|
||||||
|
|
|
@ -146,14 +146,14 @@ (define-public git
|
||||||
(name "git")
|
(name "git")
|
||||||
;; XXX When updating Git, check if the special 'git-source' input to cgit
|
;; XXX When updating Git, check if the special 'git-source' input to cgit
|
||||||
;; needs to be updated as well.
|
;; needs to be updated as well.
|
||||||
(version "2.19.2")
|
(version "2.20.0")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append "mirror://kernel.org/software/scm/git/git-"
|
(uri (string-append "mirror://kernel.org/software/scm/git/git-"
|
||||||
version ".tar.xz"))
|
version ".tar.xz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1scbggzghkzzfqg4ky3qh7h9w87c3zya4ls5disz7dbx56is7sgw"))))
|
"07yq186wb3wqvvmzhhsca57m979p7jprkk4h2a516jz1fd87755w"))))
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
(native-inputs
|
(native-inputs
|
||||||
`(("native-perl" ,perl)
|
`(("native-perl" ,perl)
|
||||||
|
@ -166,7 +166,7 @@ (define-public git
|
||||||
version ".tar.xz"))
|
version ".tar.xz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1sqhllkabylm46paswg0j54fiar44fmcdmkjkysmjn2gj6hqpz95"))))
|
"141n20migxaazy0vfkivjk6bzazi3ydyq7qkf6wmkg186l4amgbr"))))
|
||||||
;; For subtree documentation.
|
;; For subtree documentation.
|
||||||
("asciidoc" ,asciidoc)
|
("asciidoc" ,asciidoc)
|
||||||
("docbook-xsl" ,docbook-xsl)
|
("docbook-xsl" ,docbook-xsl)
|
||||||
|
|
|
@ -1496,7 +1496,7 @@ (define-public you-get
|
||||||
(define-public youtube-viewer
|
(define-public youtube-viewer
|
||||||
(package
|
(package
|
||||||
(name "youtube-viewer")
|
(name "youtube-viewer")
|
||||||
(version "3.4.1")
|
(version "3.5.0")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method git-fetch)
|
(method git-fetch)
|
||||||
(uri (git-reference
|
(uri (git-reference
|
||||||
|
@ -1505,7 +1505,7 @@ (define-public youtube-viewer
|
||||||
(file-name (git-file-name name version))
|
(file-name (git-file-name name version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"0axgb95lx81psgrb2a5rfdd8gl4mhsrzf41jas6l58d1xkaj54ri"))))
|
"1s7hv2a46cx2nbdykrijqfh8hdkf3zqn6q8sg3ajnnc5agaspyrg"))))
|
||||||
(build-system perl-build-system)
|
(build-system perl-build-system)
|
||||||
(native-inputs
|
(native-inputs
|
||||||
`(("perl-module-build" ,perl-module-build)))
|
`(("perl-module-build" ,perl-module-build)))
|
||||||
|
@ -3264,3 +3264,23 @@ (define-public openshot
|
||||||
helps you create the film you have always dreamed of. Easily add sub-titles,
|
helps you create the film you have always dreamed of. Easily add sub-titles,
|
||||||
transitions, and effects and then export your film to many common formats.")
|
transitions, and effects and then export your film to many common formats.")
|
||||||
(license license:gpl3+)))
|
(license license:gpl3+)))
|
||||||
|
|
||||||
|
(define-public dav1d
|
||||||
|
(package
|
||||||
|
(name "dav1d")
|
||||||
|
(version "0.1.0")
|
||||||
|
(source
|
||||||
|
(origin
|
||||||
|
(method url-fetch)
|
||||||
|
(uri (string-append "https://downloads.videolan.org/pub/videolan/"
|
||||||
|
"dav1d/" version "/dav1d-" version ".tar.xz"))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"0dw0liday8cbyrirhm6bgzhxg4cdy66nspfkdlq338gdsfqcvrsc"))))
|
||||||
|
(build-system meson-build-system)
|
||||||
|
(native-inputs `(("nasm" ,nasm)))
|
||||||
|
(home-page "https://code.videolan.org/videolan/dav1d")
|
||||||
|
(synopsis "AV1 decoder")
|
||||||
|
(description "dav1d is a new AV1 cross-platform decoder, and focused on
|
||||||
|
speed and correctness.")
|
||||||
|
(license license:bsd-2)))
|
||||||
|
|
|
@ -1604,7 +1604,15 @@ (define (guix-shepherd-service config)
|
||||||
'())
|
'())
|
||||||
#$@(if tmpdir
|
#$@(if tmpdir
|
||||||
(list (string-append "TMPDIR=" tmpdir))
|
(list (string-append "TMPDIR=" tmpdir))
|
||||||
'()))
|
'())
|
||||||
|
|
||||||
|
;; Make sure we run in a UTF-8 locale so that 'guix
|
||||||
|
;; offload' correctly restores nars that contain UTF-8
|
||||||
|
;; file names such as 'nss-certs'. See
|
||||||
|
;; <https://bugs.gnu.org/32942>.
|
||||||
|
(string-append "GUIX_LOCPATH="
|
||||||
|
#$glibc-utf8-locales "/lib/locale")
|
||||||
|
"LC_ALL=en_US.utf8")
|
||||||
|
|
||||||
#:log-file #$log-file))
|
#:log-file #$log-file))
|
||||||
(stop #~(make-kill-destructor))))))
|
(stop #~(make-kill-destructor))))))
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
;;; GNU Guix --- Functional package management for GNU
|
;;; GNU Guix --- Functional package management for GNU
|
||||||
;;; Copyright © 2018 Ludovic Courtès <ludo@gnu.org>
|
;;; Copyright © 2018 Ludovic Courtès <ludo@gnu.org>
|
||||||
|
;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
;;;
|
;;;
|
||||||
|
@ -27,6 +28,7 @@ (define-module (guix channels)
|
||||||
#:use-module (guix store)
|
#:use-module (guix store)
|
||||||
#:use-module (guix i18n)
|
#:use-module (guix i18n)
|
||||||
#:use-module (srfi srfi-1)
|
#:use-module (srfi srfi-1)
|
||||||
|
#:use-module (srfi srfi-2)
|
||||||
#:use-module (srfi srfi-9)
|
#:use-module (srfi srfi-9)
|
||||||
#:use-module (srfi srfi-11)
|
#:use-module (srfi srfi-11)
|
||||||
#:autoload (guix self) (whole-package)
|
#:autoload (guix self) (whole-package)
|
||||||
|
@ -73,7 +75,6 @@ (define-record-type* <channel> channel make-channel
|
||||||
(commit channel-commit (default #f))
|
(commit channel-commit (default #f))
|
||||||
(location channel-location
|
(location channel-location
|
||||||
(default (current-source-location)) (innate)))
|
(default (current-source-location)) (innate)))
|
||||||
;; TODO: Add a way to express dependencies among channels.
|
|
||||||
|
|
||||||
(define %default-channels
|
(define %default-channels
|
||||||
;; Default list of channels.
|
;; Default list of channels.
|
||||||
|
@ -93,6 +94,12 @@ (define-record-type <channel-instance>
|
||||||
(commit channel-instance-commit)
|
(commit channel-instance-commit)
|
||||||
(checkout channel-instance-checkout))
|
(checkout channel-instance-checkout))
|
||||||
|
|
||||||
|
(define-record-type <channel-metadata>
|
||||||
|
(channel-metadata version dependencies)
|
||||||
|
channel-metadata?
|
||||||
|
(version channel-metadata-version)
|
||||||
|
(dependencies channel-metadata-dependencies))
|
||||||
|
|
||||||
(define (channel-reference channel)
|
(define (channel-reference channel)
|
||||||
"Return the \"reference\" for CHANNEL, an sexp suitable for
|
"Return the \"reference\" for CHANNEL, an sexp suitable for
|
||||||
'latest-repository-commit'."
|
'latest-repository-commit'."
|
||||||
|
@ -100,20 +107,90 @@ (define (channel-reference channel)
|
||||||
(#f `(branch . ,(channel-branch channel)))
|
(#f `(branch . ,(channel-branch channel)))
|
||||||
(commit `(commit . ,(channel-commit channel)))))
|
(commit `(commit . ,(channel-commit channel)))))
|
||||||
|
|
||||||
(define (latest-channel-instances store channels)
|
(define (read-channel-metadata instance)
|
||||||
|
"Return a channel-metadata record read from the channel INSTANCE's
|
||||||
|
description file, or return #F if the channel instance does not include the
|
||||||
|
file."
|
||||||
|
(let* ((source (channel-instance-checkout instance))
|
||||||
|
(meta-file (string-append source "/.guix-channel")))
|
||||||
|
(and (file-exists? meta-file)
|
||||||
|
(and-let* ((raw (call-with-input-file meta-file read))
|
||||||
|
(version (and=> (assoc-ref raw 'version) first))
|
||||||
|
(dependencies (or (assoc-ref raw 'dependencies) '())))
|
||||||
|
(channel-metadata
|
||||||
|
version
|
||||||
|
(map (lambda (item)
|
||||||
|
(let ((get (lambda* (key #:optional default)
|
||||||
|
(or (and=> (assoc-ref item key) first) default))))
|
||||||
|
(and-let* ((name (get 'name))
|
||||||
|
(url (get 'url))
|
||||||
|
(branch (get 'branch "master")))
|
||||||
|
(channel
|
||||||
|
(name name)
|
||||||
|
(branch branch)
|
||||||
|
(url url)
|
||||||
|
(commit (get 'commit))))))
|
||||||
|
dependencies))))))
|
||||||
|
|
||||||
|
(define (channel-instance-dependencies instance)
|
||||||
|
"Return the list of channels that are declared as dependencies for the given
|
||||||
|
channel INSTANCE."
|
||||||
|
(match (read-channel-metadata instance)
|
||||||
|
(#f '())
|
||||||
|
(($ <channel-metadata> version dependencies)
|
||||||
|
dependencies)))
|
||||||
|
|
||||||
|
(define* (latest-channel-instances store channels #:optional (previous-channels '()))
|
||||||
"Return a list of channel instances corresponding to the latest checkouts of
|
"Return a list of channel instances corresponding to the latest checkouts of
|
||||||
CHANNELS."
|
CHANNELS and the channels on which they depend. PREVIOUS-CHANNELS is a list
|
||||||
(map (lambda (channel)
|
of previously processed channels."
|
||||||
(format (current-error-port)
|
;; Only process channels that are unique, or that are more specific than a
|
||||||
(G_ "Updating channel '~a' from Git repository at '~a'...~%")
|
;; previous channel specification.
|
||||||
(channel-name channel)
|
(define (ignore? channel others)
|
||||||
(channel-url channel))
|
(member channel others
|
||||||
(let-values (((checkout commit)
|
(lambda (a b)
|
||||||
(latest-repository-commit store (channel-url channel)
|
(and (eq? (channel-name a) (channel-name b))
|
||||||
#:ref (channel-reference
|
(or (channel-commit b)
|
||||||
channel))))
|
(not (or (channel-commit a)
|
||||||
(channel-instance channel commit checkout)))
|
(channel-commit b))))))))
|
||||||
channels))
|
;; Accumulate a list of instances. A list of processed channels is also
|
||||||
|
;; accumulated to decide on duplicate channel specifications.
|
||||||
|
(match (fold (lambda (channel acc)
|
||||||
|
(match acc
|
||||||
|
((#:channels previous-channels #:instances instances)
|
||||||
|
(if (ignore? channel previous-channels)
|
||||||
|
acc
|
||||||
|
(begin
|
||||||
|
(format (current-error-port)
|
||||||
|
(G_ "Updating channel '~a' from Git repository at '~a'...~%")
|
||||||
|
(channel-name channel)
|
||||||
|
(channel-url channel))
|
||||||
|
(let-values (((checkout commit)
|
||||||
|
(latest-repository-commit store (channel-url channel)
|
||||||
|
#:ref (channel-reference
|
||||||
|
channel))))
|
||||||
|
(let ((instance (channel-instance channel commit checkout)))
|
||||||
|
(let-values (((new-instances new-channels)
|
||||||
|
(latest-channel-instances
|
||||||
|
store
|
||||||
|
(channel-instance-dependencies instance)
|
||||||
|
previous-channels)))
|
||||||
|
`(#:channels
|
||||||
|
,(append (cons channel new-channels)
|
||||||
|
previous-channels)
|
||||||
|
#:instances
|
||||||
|
,(append (cons instance new-instances)
|
||||||
|
instances))))))))))
|
||||||
|
`(#:channels ,previous-channels #:instances ())
|
||||||
|
channels)
|
||||||
|
((#:channels channels #:instances instances)
|
||||||
|
(let ((instance-name (compose channel-name channel-instance-channel)))
|
||||||
|
;; Remove all earlier channel specifications if they are followed by a
|
||||||
|
;; more specific one.
|
||||||
|
(values (delete-duplicates instances
|
||||||
|
(lambda (a b)
|
||||||
|
(eq? (instance-name a) (instance-name b))))
|
||||||
|
channels)))))
|
||||||
|
|
||||||
(define* (checkout->channel-instance checkout
|
(define* (checkout->channel-instance checkout
|
||||||
#:key commit
|
#:key commit
|
||||||
|
@ -235,8 +312,21 @@ (define dependencies
|
||||||
(lambda (instance)
|
(lambda (instance)
|
||||||
(if (eq? instance core-instance)
|
(if (eq? instance core-instance)
|
||||||
(return core)
|
(return core)
|
||||||
(build-channel-instance instance
|
(match (channel-instance-dependencies instance)
|
||||||
(cons core dependencies))))
|
(()
|
||||||
|
(build-channel-instance instance
|
||||||
|
(cons core dependencies)))
|
||||||
|
(channels
|
||||||
|
(mlet %store-monad ((dependencies-derivation
|
||||||
|
(latest-channel-derivation
|
||||||
|
;; %default-channels is used here to
|
||||||
|
;; ensure that the core channel is
|
||||||
|
;; available for channels declared as
|
||||||
|
;; dependencies.
|
||||||
|
(append channels %default-channels))))
|
||||||
|
(build-channel-instance instance
|
||||||
|
(cons dependencies-derivation
|
||||||
|
(cons core dependencies))))))))
|
||||||
instances)))
|
instances)))
|
||||||
|
|
||||||
(define (whole-package-for-legacy name modules)
|
(define (whole-package-for-legacy name modules)
|
||||||
|
|
|
@ -179,24 +179,24 @@ (define (list-updaters-and-exit)
|
||||||
|
|
||||||
(let* ((packages (fold-packages cons '()))
|
(let* ((packages (fold-packages cons '()))
|
||||||
(total (length packages)))
|
(total (length packages)))
|
||||||
(define covered
|
(define uncovered
|
||||||
(fold (lambda (updater covered)
|
(fold (lambda (updater uncovered)
|
||||||
(let ((matches (count (upstream-updater-predicate updater)
|
(let ((matches (filter (upstream-updater-predicate updater)
|
||||||
packages)))
|
packages)))
|
||||||
;; TRANSLATORS: The parenthetical expression here is rendered
|
;; TRANSLATORS: The parenthetical expression here is rendered
|
||||||
;; like "(42% coverage)" and denotes the fraction of packages
|
;; like "(42% coverage)" and denotes the fraction of packages
|
||||||
;; covered by the given updater.
|
;; covered by the given updater.
|
||||||
(format #t (G_ " - ~a: ~a (~2,1f% coverage)~%")
|
(format #t (G_ " - ~a: ~a (~2,1f% coverage)~%")
|
||||||
(upstream-updater-name updater)
|
(upstream-updater-name updater)
|
||||||
(G_ (upstream-updater-description updater))
|
(G_ (upstream-updater-description updater))
|
||||||
(* 100. (/ matches total)))
|
(* 100. (/ (length matches) total)))
|
||||||
(+ covered matches)))
|
(lset-difference eq? uncovered matches)))
|
||||||
0
|
packages
|
||||||
(force %updaters)))
|
(force %updaters)))
|
||||||
|
|
||||||
(newline)
|
(newline)
|
||||||
(format #t (G_ "~2,1f% of the packages are covered by these updaters.~%")
|
(format #t (G_ "~2,1f% of the packages are covered by these updaters.~%")
|
||||||
(* 100. (/ covered total))))
|
(* 100. (/ (- total (length uncovered)) total))))
|
||||||
(exit 0))
|
(exit 0))
|
||||||
|
|
||||||
(define (warn-no-updater package)
|
(define (warn-no-updater package)
|
||||||
|
|
139
tests/channels.scm
Normal file
139
tests/channels.scm
Normal file
|
@ -0,0 +1,139 @@
|
||||||
|
;;; GNU Guix --- Functional package management for GNU
|
||||||
|
;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
|
||||||
|
;;;
|
||||||
|
;;; This file is part of GNU Guix.
|
||||||
|
;;;
|
||||||
|
;;; GNU Guix is free software; you can redistribute it and/or modify it
|
||||||
|
;;; under the terms of the GNU General Public License as published by
|
||||||
|
;;; the Free Software Foundation; either version 3 of the License, or (at
|
||||||
|
;;; your option) any later version.
|
||||||
|
;;;
|
||||||
|
;;; GNU Guix is distributed in the hope that it will be useful, but
|
||||||
|
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
;;; GNU General Public License for more details.
|
||||||
|
;;;
|
||||||
|
;;; You should have received a copy of the GNU General Public License
|
||||||
|
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
(define-module (test-channels)
|
||||||
|
#:use-module (guix channels)
|
||||||
|
#:use-module ((guix build syscalls) #:select (mkdtemp!))
|
||||||
|
#:use-module (guix tests)
|
||||||
|
#:use-module (srfi srfi-1)
|
||||||
|
#:use-module (srfi srfi-64)
|
||||||
|
#:use-module (ice-9 match))
|
||||||
|
|
||||||
|
(test-begin "channels")
|
||||||
|
|
||||||
|
(define* (make-instance #:key
|
||||||
|
(name 'fake)
|
||||||
|
(commit "cafebabe")
|
||||||
|
(spec #f))
|
||||||
|
(define instance-dir (mkdtemp! "/tmp/checkout.XXXXXX"))
|
||||||
|
(and spec
|
||||||
|
(with-output-to-file (string-append instance-dir "/.guix-channel")
|
||||||
|
(lambda _ (format #t "~a" spec))))
|
||||||
|
((@@ (guix channels) channel-instance)
|
||||||
|
name commit instance-dir))
|
||||||
|
|
||||||
|
(define instance--boring (make-instance))
|
||||||
|
(define instance--no-deps
|
||||||
|
(make-instance #:spec
|
||||||
|
'(channel
|
||||||
|
(version 0)
|
||||||
|
(dependencies
|
||||||
|
(channel
|
||||||
|
(name test-channel)
|
||||||
|
(url "https://example.com/test-channel"))))))
|
||||||
|
(define instance--simple
|
||||||
|
(make-instance #:spec
|
||||||
|
'(channel
|
||||||
|
(version 0)
|
||||||
|
(dependencies
|
||||||
|
(channel
|
||||||
|
(name test-channel)
|
||||||
|
(url "https://example.com/test-channel"))))))
|
||||||
|
(define instance--with-dupes
|
||||||
|
(make-instance #:spec
|
||||||
|
'(channel
|
||||||
|
(version 0)
|
||||||
|
(dependencies
|
||||||
|
(channel
|
||||||
|
(name test-channel)
|
||||||
|
(url "https://example.com/test-channel"))
|
||||||
|
(channel
|
||||||
|
(name test-channel)
|
||||||
|
(url "https://example.com/test-channel")
|
||||||
|
(commit "abc1234"))
|
||||||
|
(channel
|
||||||
|
(name test-channel)
|
||||||
|
(url "https://example.com/test-channel-elsewhere"))))))
|
||||||
|
|
||||||
|
(define read-channel-metadata
|
||||||
|
(@@ (guix channels) read-channel-metadata))
|
||||||
|
|
||||||
|
|
||||||
|
(test-equal "read-channel-metadata returns #f if .guix-channel does not exist"
|
||||||
|
#f
|
||||||
|
(read-channel-metadata instance--boring))
|
||||||
|
|
||||||
|
(test-assert "read-channel-metadata returns <channel-metadata>"
|
||||||
|
(every (@@ (guix channels) channel-metadata?)
|
||||||
|
(map read-channel-metadata
|
||||||
|
(list instance--no-deps
|
||||||
|
instance--simple
|
||||||
|
instance--with-dupes))))
|
||||||
|
|
||||||
|
(test-assert "read-channel-metadata dependencies are channels"
|
||||||
|
(let ((deps ((@@ (guix channels) channel-metadata-dependencies)
|
||||||
|
(read-channel-metadata instance--simple))))
|
||||||
|
(match deps
|
||||||
|
(((? channel? dep)) #t)
|
||||||
|
(_ #f))))
|
||||||
|
|
||||||
|
(test-assert "latest-channel-instances includes channel dependencies"
|
||||||
|
(let* ((channel (channel
|
||||||
|
(name 'test)
|
||||||
|
(url "test")))
|
||||||
|
(test-dir (channel-instance-checkout instance--simple)))
|
||||||
|
(mock ((guix git) latest-repository-commit
|
||||||
|
(lambda* (store url #:key ref)
|
||||||
|
(match url
|
||||||
|
("test" (values test-dir 'whatever))
|
||||||
|
(_ (values "/not-important" 'not-important)))))
|
||||||
|
(let ((instances (latest-channel-instances #f (list channel))))
|
||||||
|
(and (eq? 2 (length instances))
|
||||||
|
(lset= eq?
|
||||||
|
'(test test-channel)
|
||||||
|
(map (compose channel-name channel-instance-channel)
|
||||||
|
instances)))))))
|
||||||
|
|
||||||
|
(test-assert "latest-channel-instances excludes duplicate channel dependencies"
|
||||||
|
(let* ((channel (channel
|
||||||
|
(name 'test)
|
||||||
|
(url "test")))
|
||||||
|
(test-dir (channel-instance-checkout instance--with-dupes)))
|
||||||
|
(mock ((guix git) latest-repository-commit
|
||||||
|
(lambda* (store url #:key ref)
|
||||||
|
(match url
|
||||||
|
("test" (values test-dir 'whatever))
|
||||||
|
(_ (values "/not-important" 'not-important)))))
|
||||||
|
(let ((instances (latest-channel-instances #f (list channel))))
|
||||||
|
(and (eq? 2 (length instances))
|
||||||
|
(lset= eq?
|
||||||
|
'(test test-channel)
|
||||||
|
(map (compose channel-name channel-instance-channel)
|
||||||
|
instances))
|
||||||
|
;; only the most specific channel dependency should remain,
|
||||||
|
;; i.e. the one with a specified commit.
|
||||||
|
(find (lambda (instance)
|
||||||
|
(and (eq? (channel-name
|
||||||
|
(channel-instance-channel instance))
|
||||||
|
'test-channel)
|
||||||
|
(eq? (channel-commit
|
||||||
|
(channel-instance-channel instance))
|
||||||
|
'abc1234)))
|
||||||
|
instances))))))
|
||||||
|
|
||||||
|
(test-end "channels")
|
Loading…
Reference in a new issue