mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-12-23 21:17:11 -05:00
Merge remote-tracking branch 'origin/master' into core-updates
This commit is contained in:
commit
378de69c59
49 changed files with 1318 additions and 775 deletions
|
@ -221,7 +221,8 @@ GOBJECTS = $(MODULES:%.scm=%.go) guix/config.go $(dist_noinst_DATA:%.scm=%.go)
|
|||
nobase_dist_guilemodule_DATA = \
|
||||
$(MODULES) $(AUX_FILES) $(EXAMPLES) \
|
||||
$(MISC_DISTRO_FILES)
|
||||
nobase_nodist_guilemodule_DATA = $(GOBJECTS) guix/config.scm
|
||||
nobase_nodist_guilemodule_DATA = guix/config.scm
|
||||
nobase_nodist_guileobject_DATA = $(GOBJECTS)
|
||||
|
||||
# Do we need to provide our own non-broken (srfi srfi-37) module?
|
||||
if INSTALL_SRFI_37
|
||||
|
@ -456,14 +457,14 @@ SUFFIXES = .go
|
|||
# files. See
|
||||
# <http://lists.gnu.org/archive/html/guile-devel/2010-07/msg00125.html>
|
||||
# for details.
|
||||
guix_install_go_files = install-nobase_nodist_guilemoduleDATA
|
||||
guix_install_go_files = install-nobase_nodist_guileobjectDATA
|
||||
$(guix_install_go_files): install-nobase_dist_guilemoduleDATA
|
||||
|
||||
# The above trick doesn't work for 'config.go' because both 'config.scm' and
|
||||
# 'config.go' are listed in $(nobase_nodist_guilemodule_DATA). Thus, give it
|
||||
# 'config.go' are listed in $(nobase_nodist_guileobject_DATA). Thus, give it
|
||||
# special treatment.
|
||||
install-data-hook: set-bootstrap-executable-permissions
|
||||
touch "$(DESTDIR)$(guilemoduledir)/guix/config.go"
|
||||
touch "$(DESTDIR)$(guileobjectdir)/guix/config.go"
|
||||
|
||||
|
||||
SUBDIRS = po/guix po/packages
|
||||
|
|
|
@ -85,9 +85,11 @@ if test "x$GUILE_EFFECTIVE_VERSION" = "x2.0"; then
|
|||
PKG_CHECK_MODULES([GUILE], [guile-2.0 >= 2.0.9])
|
||||
fi
|
||||
|
||||
dnl Installation directory for .scm and .go files.
|
||||
dnl Installation directories for .scm and .go files.
|
||||
guilemoduledir="${datarootdir}/guile/site/$GUILE_EFFECTIVE_VERSION"
|
||||
guileobjectdir="${libdir}/guile/$GUILE_EFFECTIVE_VERSION/site-ccache"
|
||||
AC_SUBST([guilemoduledir])
|
||||
AC_SUBST([guileobjectdir])
|
||||
|
||||
dnl The GnuTLS bindings are necessary for substitutes over HTTPS and for 'guix
|
||||
dnl pull', among other things.
|
||||
|
|
|
@ -9516,6 +9516,22 @@ equivalent role to password authentication, you should disable either
|
|||
@item @code{print-last-log?} (default: @code{#t})
|
||||
Specifies whether @command{sshd} should print the date and time of the
|
||||
last user login when a user logs in interactively.
|
||||
|
||||
@item @code{subsystems} (default: @code{'(("sftp" "internal-sftp"))})
|
||||
Configures external subsystems (e.g. file transfer daemon).
|
||||
|
||||
This is a list of two-element lists, each of which containing the
|
||||
subsystem name and a command (with optional arguments) to execute upon
|
||||
subsystem request.
|
||||
|
||||
The command @command{internal-sftp} implements an in-process SFTP
|
||||
server. Alternately, one can specify the @command{sftp-server} command:
|
||||
@example
|
||||
(service openssh-service-type
|
||||
(openssh-configuration
|
||||
(subsystems
|
||||
'(("sftp" ,(file-append openssh "/libexec/sftp-server"))))))
|
||||
@end example
|
||||
@end table
|
||||
@end deftp
|
||||
|
||||
|
|
|
@ -778,7 +778,6 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/netsurf-y2038-tests.patch \
|
||||
%D%/packages/patches/netsurf-longer-test-timeout.patch \
|
||||
%D%/packages/patches/ngircd-handle-zombies.patch \
|
||||
%D%/packages/patches/ngircd-no-dns-in-tests.patch \
|
||||
%D%/packages/patches/ninja-zero-mtime.patch \
|
||||
%D%/packages/patches/node-9077.patch \
|
||||
%D%/packages/patches/nss-increase-test-timeout.patch \
|
||||
|
@ -964,7 +963,6 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/util-linux-CVE-2017-2616.patch \
|
||||
%D%/packages/patches/upower-builddir.patch \
|
||||
%D%/packages/patches/valgrind-enable-arm.patch \
|
||||
%D%/packages/patches/vim-CVE-2017-5953.patch \
|
||||
%D%/packages/patches/virglrenderer-CVE-2017-6386.patch \
|
||||
%D%/packages/patches/vorbis-tools-CVE-2014-9638+CVE-2014-9639.patch \
|
||||
%D%/packages/patches/vorbis-tools-CVE-2014-9640.patch \
|
||||
|
|
|
@ -143,6 +143,7 @@ (define-public stellarium
|
|||
#:phases (modify-phases %standard-phases
|
||||
(add-before 'check 'set-offscreen-display
|
||||
(lambda _
|
||||
;; make Qt render "offscreen", required for tests
|
||||
(setenv "QT_QPA_PLATFORM" "offscreen")
|
||||
(setenv "HOME" "/tmp")
|
||||
#t)))))
|
||||
|
|
|
@ -52,8 +52,8 @@ (define-public audacity
|
|||
(inputs
|
||||
;; TODO: Add portSMF and libwidgetextra once they're packaged. In-tree
|
||||
;; versions shipping with Audacity are used for now.
|
||||
`(("wxwidgets" ,wxwidgets-gtk2)
|
||||
("gtk" ,gtk+-2)
|
||||
`(("wxwidgets" ,wxwidgets)
|
||||
("gtk" ,gtk+)
|
||||
("alsa-lib" ,alsa-lib)
|
||||
("jack" ,jack-1)
|
||||
("expat" ,expat)
|
||||
|
|
|
@ -639,7 +639,23 @@ (define-public obnam
|
|||
"0qlipsq50hca71zc0dp1mg9zs12qm0sbblw7qfzl0hj6mk2rv1by"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:python ,python-2))
|
||||
`(#:python ,python-2
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda _
|
||||
(substitute* "obnamlib/vfs_local_tests.py"
|
||||
;; Check for the nobody user instead of root
|
||||
(("self.fs.get_username\\(0\\), 'root'")
|
||||
"self.fs.get_username(65534), 'nobody'")
|
||||
;; Disable tests checking for root group
|
||||
(("self.fs.get_groupname\\(0\\)") "'root'"))
|
||||
(substitute* "obnamlib/vfs_local.py"
|
||||
;; Don't cover get_groupname function
|
||||
(("def get_groupname\\(self, gid\\):")
|
||||
"def get_groupname(self, gid): # pragma: no cover"))
|
||||
;; Can't run network tests
|
||||
(zero? (system* "./check" "--unit-tests")))))))
|
||||
(inputs
|
||||
`(("python2-cliapp" ,python2-cliapp)
|
||||
("python2-larch" ,python2-larch)
|
||||
|
@ -647,6 +663,12 @@ (define-public obnam
|
|||
("python2-pyaml" ,python2-pyaml)
|
||||
("python2-tracing" ,python2-tracing)
|
||||
("python2-ttystatus" ,python2-ttystatus)))
|
||||
(native-inputs
|
||||
`(("gnupg" ,gnupg)
|
||||
("python2-coverage" ,python2-coverage)
|
||||
("python2-coverage-test-runner" ,python2-coverage-test-runner)
|
||||
("python2-pep8" ,python2-pep8)
|
||||
("python2-pylint" ,python2-pylint)))
|
||||
(home-page "https://obnam.org/")
|
||||
(synopsis "Easy and secure backup program")
|
||||
(description "Obnam is an easy, secure backup program. Features
|
||||
|
|
|
@ -228,15 +228,15 @@ (define-public syslinux
|
|||
(define-public dtc
|
||||
(package
|
||||
(name "dtc")
|
||||
(version "1.4.2")
|
||||
(version "1.4.4")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://www.kernel.org/pub/software/utils/dtc/"
|
||||
"mirror://kernel.org/software/utils/dtc/"
|
||||
"dtc-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1b7si8niyca4wxbfah3qw4p4wli81mc1qwfhaswvrfqahklnwi8k"))))
|
||||
"1yygyvnnpdh241hl90n9p3kxcdvk3jxmsr4ndb961c8mq3ak21s7"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("bison" ,bison)
|
||||
|
|
|
@ -50,7 +50,6 @@ (define-public compton
|
|||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("dbus" ,dbus)
|
||||
("docbook-xml" ,docbook-xml)
|
||||
("libconfig" ,libconfig)
|
||||
("libx11" ,libx11)
|
||||
("libxcomposite" ,libxcomposite)
|
||||
|
@ -58,10 +57,8 @@ (define-public compton
|
|||
("libxext" ,libxext)
|
||||
("libxfixes" ,libxfixes)
|
||||
("libxinerama" ,libxinerama)
|
||||
("libxml2" ,libxml2)
|
||||
("libxrandr" ,libxrandr)
|
||||
("libxrender" ,libxrender)
|
||||
("libxslt" ,libxslt)
|
||||
("mesa" ,mesa)
|
||||
("xprop" ,xprop)
|
||||
("xwininfo" ,xwininfo)))
|
||||
|
|
|
@ -41,7 +41,7 @@ (define-module (gnu packages display-managers)
|
|||
(define-public greenisland
|
||||
(package
|
||||
(name "greenisland")
|
||||
(version "0.8.1")
|
||||
(version "0.9.0.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
|
@ -50,7 +50,7 @@ (define-public greenisland
|
|||
"greenisland-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1c9rlq7fqrsd5nb37anjvnp9xspqjz1kc0fvydv5xdy3abg8mw40"))))
|
||||
"1flmha31hmii6m2mdvmn1q5dc0fhnvgc4lp1b4wgkz20y7x4f1fm"))))
|
||||
(build-system cmake-build-system)
|
||||
(native-inputs
|
||||
`(("extra-cmake-modules" ,extra-cmake-modules)
|
||||
|
@ -100,6 +100,7 @@ (define-public greenisland
|
|||
(add-before 'check 'check-setup
|
||||
(lambda _
|
||||
(setenv "CTEST_OUTPUT_ON_FAILURE" "1") ; Enable debug output
|
||||
;; make Qt render "offscreen", required for tests
|
||||
(setenv "QT_QPA_PLATFORM" "offscreen")
|
||||
(setenv "XDG_RUNTIME_DIR" (getcwd))
|
||||
#t))
|
||||
|
|
|
@ -294,8 +294,10 @@ (define-public yadifa
|
|||
(arguments
|
||||
`(#:phases (modify-phases %standard-phases
|
||||
(add-before 'configure 'omit-example-configurations
|
||||
(lambda _ (substitute* "Makefile.in"
|
||||
((" (etc|var)") "")))))
|
||||
(lambda _
|
||||
(substitute* "Makefile.in"
|
||||
((" (etc|var)") ""))
|
||||
#t)))
|
||||
#:configure-flags (list "--sysconfdir=/etc" "--localstatedir=/var"
|
||||
"--enable-shared" "--disable-static"
|
||||
"--enable-messages" "--enable-ctrl"
|
||||
|
@ -334,7 +336,8 @@ (define-public knot
|
|||
(("contrib/dnstap ") ""))
|
||||
(with-directory-excursion "src/contrib"
|
||||
(for-each delete-file-recursively
|
||||
(list "dnstap" "lmdb")))))))
|
||||
(list "dnstap" "lmdb")))
|
||||
#t))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
|
@ -354,7 +357,8 @@ (define-public knot
|
|||
(add-before 'configure 'disable-directory-pre-creation
|
||||
(lambda _
|
||||
;; Don't install empty directories like ‘/etc’ outside the store.
|
||||
(substitute* "src/Makefile.in" (("\\$\\(INSTALL\\) -d") "true"))))
|
||||
(substitute* "src/Makefile.in" (("\\$\\(INSTALL\\) -d") "true"))
|
||||
#t))
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
;;; Copyright © 2015 Alex Kost <alezost@gmail.com>
|
||||
;;; Copyright © 2015, 2016 David Thompson <davet@gnu.org>
|
||||
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2016 Kei Kebreau <kei@openmailbox.org>
|
||||
;;; Copyright © 2016, 2017 Kei Kebreau <kei@openmailbox.org>
|
||||
;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2016 Julian Graham <joolean@gmail.com>
|
||||
;;;
|
||||
|
@ -95,6 +95,55 @@ (define-public bullet
|
|||
is used in some video games and movies.")
|
||||
(license license:zlib)))
|
||||
|
||||
(define-public deutex
|
||||
(package
|
||||
(name "deutex")
|
||||
(version "4.4.902")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/Doom-Utils/" name
|
||||
"/archive/v" version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0rwz1yzgd539x4h25kzhar4q02xyxjwfrcpz4m8ixi312a82p7cn"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:tests? #f ; no check target
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
;; The provided configure script takes a restricted number of arguments.
|
||||
(replace 'configure
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(zero? (system* "./configure" "--prefix"
|
||||
(assoc-ref %outputs "out")))))
|
||||
;; "make install" is broken for this package.
|
||||
;; Notably, the binaries overrwrite one another upon installation as
|
||||
;; they are all installed to the "bin" file in the output directory,
|
||||
;; and the manual page fails to install because the directory for the
|
||||
;; manual page is not created.
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref %outputs "out"))
|
||||
(bin (string-append out "/bin"))
|
||||
(share (string-append out "/share")))
|
||||
(install-file "deusf" bin)
|
||||
(install-file "deutex" bin)
|
||||
(install-file "deutex.6" (string-append share "/man/man6")))
|
||||
#t)))))
|
||||
(home-page "https://github.com/Doom-Utils/deutex")
|
||||
(synopsis "WAD file composer for Doom and related games")
|
||||
(description
|
||||
"DeuTex is a wad composer for Doom, Heretic, Hexen and Strife. It can be
|
||||
used to extract the lumps of a wad and save them as individual files.
|
||||
Conversely, it can also build a wad from separate files. When extracting a
|
||||
lump to a file, it does not just copy the raw data, it converts it to an
|
||||
appropriate format (such as PPM for graphics, Sun audio for samples, etc.).
|
||||
Conversely, when it reads files for inclusion in pwads, it does the necessary
|
||||
conversions (for example, from PPM to Doom picture format). In addition,
|
||||
DeuTex has functions such as merging wads, etc.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public gzochi
|
||||
(package
|
||||
(name "gzochi")
|
||||
|
|
|
@ -25,6 +25,7 @@
|
|||
;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
|
||||
;;; Copyright © 2016 Steve Webber <webber.sl@gmail.com>
|
||||
;;; Copyright © 2017 Adonay "adfeno" Felipe Nogueira <https://libreplanet.org/wiki/User:Adfeno> <adfeno@openmailbox.org>
|
||||
;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -58,6 +59,7 @@ (define-module (gnu packages games)
|
|||
#:use-module (gnu packages audio)
|
||||
#:use-module (gnu packages avahi)
|
||||
#:use-module (gnu packages boost)
|
||||
#:use-module (gnu packages documentation)
|
||||
#:use-module (gnu packages fltk)
|
||||
#:use-module (gnu packages fribidi)
|
||||
#:use-module (gnu packages game-development)
|
||||
|
@ -69,6 +71,7 @@ (define-module (gnu packages games)
|
|||
#:use-module (gnu packages gperf)
|
||||
#:use-module (gnu packages gtk)
|
||||
#:use-module (gnu packages guile)
|
||||
#:use-module (gnu packages imagemagick)
|
||||
#:use-module (gnu packages libcanberra)
|
||||
#:use-module (gnu packages libunwind)
|
||||
#:use-module (gnu packages haskell)
|
||||
|
@ -107,12 +110,85 @@ (define-module (gnu packages games)
|
|||
#:use-module (gnu packages tls)
|
||||
#:use-module (gnu packages pcre)
|
||||
#:use-module (gnu packages cyrus-sasl)
|
||||
#:use-module (gnu packages messaging)
|
||||
#:use-module (gnu packages upnp)
|
||||
#:use-module (gnu packages wxwidgets)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system haskell)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix build-system trivial))
|
||||
|
||||
(define-public freedoom
|
||||
(package
|
||||
(name "freedoom")
|
||||
(version "0.11.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/" name "/" name
|
||||
"/archive/v" version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"060dqppd9fi079yw6c82klsjaslcabq6xan67wf9hs0cy39i0kpv"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:make-flags `(,(string-append "prefix=" (assoc-ref %outputs "out")))
|
||||
#:parallel-build? #f
|
||||
#:tests? #f ; no check target
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'unpack 'no (lambda _ #t))
|
||||
(replace 'configure
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let* ((dejavu (assoc-ref inputs "font-dejavu"))
|
||||
(freedoom (assoc-ref outputs "out"))
|
||||
(wad-dir (string-append freedoom "/share/games/doom")))
|
||||
;; Replace the font-searching function in a shell
|
||||
;; script with a direct path to the required font.
|
||||
;; This is necessary because ImageMagick can only find the
|
||||
;; most basic fonts while in the build environment.
|
||||
(substitute* "graphics/titlepic/create_caption"
|
||||
(("font=\\$\\(find_font.*$")
|
||||
(string-append
|
||||
"font=" dejavu
|
||||
"/share/fonts/truetype/DejaVuSansCondensed-Bold.ttf\n")))
|
||||
;; Make icon creation reproducible.
|
||||
(substitute* "dist/Makefile"
|
||||
(("freedm.png")
|
||||
"-define png:exclude-chunks=date freedm.png")
|
||||
(("freedoom1.png")
|
||||
"-define png:exclude-chunks=date freedoom1.png")
|
||||
(("freedoom2.png")
|
||||
"-define png:exclude-chunks=date freedoom2.png"))
|
||||
;; Make sure that the install scripts know where to find
|
||||
;; the appropriate WAD files.
|
||||
(substitute* "dist/freedoom"
|
||||
(("IWAD=freedm.wad")
|
||||
(string-append "IWAD=" wad-dir "/freedm.wad"))
|
||||
(("IWAD=freedoom1.wad")
|
||||
(string-append "IWAD=" wad-dir "/freedoom1.wad"))
|
||||
(("IWAD=freedoom2.wad")
|
||||
(string-append "IWAD=" wad-dir "/freedoom2.wad")))
|
||||
#t))))))
|
||||
(native-inputs
|
||||
`(("asciidoc" ,asciidoc)
|
||||
("deutex" ,deutex)
|
||||
("font-dejavu" ,font-dejavu)
|
||||
("imagemagick" ,imagemagick)
|
||||
("python" ,python-2)))
|
||||
(inputs
|
||||
`(("prboom-plus" ,prboom-plus)))
|
||||
(home-page "https://freedoom.github.io/")
|
||||
(synopsis "Free content game based on the Doom engine")
|
||||
(description
|
||||
"The Freedoom project aims to create a complete free content first person
|
||||
shooter game. Freedoom by itself is just the raw material for a game: it must
|
||||
be paired with a compatible game engine (such as @code{prboom-plus}) to be
|
||||
played. Freedoom complements the Doom engine with free levels, artwork, sound
|
||||
effects and music to make a completely free game.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public gnubg
|
||||
(package
|
||||
(name "gnubg")
|
||||
|
@ -3267,3 +3343,81 @@ (define-public no-more-secrets
|
|||
it will apply the hollywood effect, initially showing encrypted data, then
|
||||
starting a decryption sequence to reveal the original plaintext characters.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public megaglest-data
|
||||
(package
|
||||
(name "megaglest-data")
|
||||
(version "3.13.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://github.com/MegaGlest/megaglest-data"
|
||||
"/releases/download/" version "/megaglest-data-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0ipgza33z89fw3si32iafm981f3fvm0zldvbxj29whghd2k3rpj3"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f))
|
||||
(home-page "https://megaglest.org/")
|
||||
(synopsis "Data files for MegaGlest")
|
||||
(description "This package contains the data files required for MegaGlest.")
|
||||
(license license:cc-by-sa3.0)))
|
||||
|
||||
(define-public megaglest
|
||||
(package
|
||||
(name "megaglest")
|
||||
(version "3.13.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://github.com/MegaGlest/megaglest-source"
|
||||
"/releases/download/" version "/megaglest-source-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1ffck3ii1wp5k3nn5p0ga06jgp7pzk4zw0xln3xim2w7qrxzdzh9"))))
|
||||
(build-system cmake-build-system)
|
||||
(inputs
|
||||
`(("curl" ,curl)
|
||||
("fontconfig" ,fontconfig)
|
||||
("ftgl" ,ftgl)
|
||||
("glew" ,glew)
|
||||
("libjpeg-turbo" ,libjpeg-turbo)
|
||||
("megaglest-data" ,megaglest-data)
|
||||
("mesa" ,mesa)
|
||||
("miniupnpc" ,miniupnpc)
|
||||
("openal" ,openal)
|
||||
("libircclient" ,libircclient)
|
||||
("libpng" ,libpng)
|
||||
("libvorbis" ,libvorbis)
|
||||
("lua" ,lua)
|
||||
("sdl2" ,sdl2)
|
||||
("wxwidgets" ,wxwidgets)))
|
||||
(native-inputs
|
||||
`(("cppunit" ,cppunit)
|
||||
("pkg-config" ,pkg-config)))
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
(list (string-append "-DCUSTOM_DATA_INSTALL_PATH="
|
||||
(assoc-ref %build-inputs "megaglest-data")
|
||||
"/share/megaglest")
|
||||
"-DBUILD_MEGAGLEST_TESTS=ON")
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'fix-ini-search-path
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(substitute* "source/glest_game/global/config.cpp"
|
||||
(("/usr/share/megaglest/")
|
||||
(string-append (assoc-ref outputs "out")
|
||||
"/share/megaglest/"))))))
|
||||
#:test-target "megaglest_tests"))
|
||||
(home-page "https://megaglest.org/")
|
||||
(synopsis "3D real-time strategy (RTS) game")
|
||||
(description "MegaGlest is a cross-platform 3D real-time strategy (RTS)
|
||||
game, where you control the armies of one of seven different factions: Tech,
|
||||
Magic, Egypt, Indians, Norsemen, Persian or Romans.")
|
||||
(license license:gpl2+)))
|
||||
|
|
|
@ -3658,7 +3658,7 @@ (define-public gusb
|
|||
(define-public simple-scan
|
||||
(package
|
||||
(name "simple-scan")
|
||||
(version "3.22.0.1")
|
||||
(version "3.24.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://launchpad.net/simple-scan/"
|
||||
|
@ -3667,7 +3667,7 @@ (define-public simple-scan
|
|||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0l1b3llkdlqq0bcjx1cadba67l2zb4zfykdaprpjbjbr6gkbc1f5"))))
|
||||
"19klldnbnknpq6ikz9x93861ywcyg0pg9ngijvw66ncbnb7lx912"))))
|
||||
(build-system glib-or-gtk-build-system)
|
||||
(inputs
|
||||
`(("gtk" ,gtk+)
|
||||
|
|
|
@ -932,7 +932,7 @@ (define-public jasper
|
|||
(define-public zimg
|
||||
(package
|
||||
(name "zimg")
|
||||
(version "2.3")
|
||||
(version "2.5")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -941,7 +941,7 @@ (define-public zimg
|
|||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1yh6kkq8596a9cxcmcxzqvwbwmxwqapwsq31xpccznw6z62j75h9"))))
|
||||
"0kbq2dy659645fmgxpzg38b6y6x82kwkydhc380kdkaikv2brcjh"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("autoconf" ,autoconf)
|
||||
|
|
|
@ -650,6 +650,7 @@ (define-public kguiaddons
|
|||
(modify-phases %standard-phases
|
||||
(add-before 'check 'check-setup
|
||||
(lambda _
|
||||
;; make Qt render "offscreen", required for tests
|
||||
(setenv "QT_QPA_PLATFORM" "offscreen")
|
||||
#t)))))
|
||||
(home-page "https://community.kde.org/Frameworks")
|
||||
|
@ -984,7 +985,8 @@ (define-public kwidgetsaddons
|
|||
(modify-phases %standard-phases
|
||||
(add-before 'check 'check-setup
|
||||
(lambda _
|
||||
(setenv "QT_QPA_PLATFORM" "offscreen") ; a better solution to Xvfb
|
||||
;; make Qt render "offscreen", required for tests
|
||||
(setenv "QT_QPA_PLATFORM" "offscreen")
|
||||
(setenv "CTEST_OUTPUT_ON_FAILURE" "1") ; enable debug info
|
||||
(setenv "DBUS_FATAL_WARNINGS" "0")
|
||||
#t))
|
||||
|
@ -1307,6 +1309,7 @@ (define-public kcompletion
|
|||
(modify-phases %standard-phases
|
||||
(add-before 'check 'check-setup
|
||||
(lambda _
|
||||
;; make Qt render "offscreen", required for tests
|
||||
(setenv "QT_QPA_PLATFORM" "offscreen")
|
||||
#t)))))
|
||||
(home-page "https://community.kde.org/Frameworks")
|
||||
|
@ -1692,6 +1695,7 @@ (define-public baloo
|
|||
(add-before 'check 'check-setup
|
||||
(lambda _
|
||||
(setenv "HOME" (getcwd))
|
||||
;; make Qt render "offscreen", required for tests
|
||||
(setenv "QT_QPA_PLATFORM" "offscreen")
|
||||
#t))
|
||||
(replace 'check
|
||||
|
@ -1816,6 +1820,7 @@ (define-public kbookmarks
|
|||
(add-before 'check 'check-setup
|
||||
(lambda _
|
||||
(setenv "HOME" (getcwd))
|
||||
;; make Qt render "offscreen", required for tests
|
||||
(setenv "QT_QPA_PLATFORM" "offscreen")
|
||||
#t)))))
|
||||
(home-page "https://community.kde.org/Frameworks")
|
||||
|
@ -1894,6 +1899,7 @@ (define-public kconfigwidgets
|
|||
(modify-phases %standard-phases
|
||||
(add-before 'check 'check-setup
|
||||
(lambda _
|
||||
;; make Qt render "offscreen", required for tests
|
||||
(setenv "QT_QPA_PLATFORM" "offscreen")
|
||||
#t)))))
|
||||
(home-page "https://community.kde.org/Frameworks")
|
||||
|
@ -2024,6 +2030,7 @@ (define-public kdesignerplugin
|
|||
(modify-phases %standard-phases
|
||||
(add-before 'check 'check-setup
|
||||
(lambda _
|
||||
;; make Qt render "offscreen", required for tests
|
||||
(setenv "QT_QPA_PLATFORM" "offscreen")
|
||||
#t)))))
|
||||
(home-page "https://community.kde.org/Frameworks")
|
||||
|
@ -2096,6 +2103,7 @@ (define-public kemoticons
|
|||
(lambda _
|
||||
(setenv "HOME" (getcwd))
|
||||
(setenv "CTEST_OUTPUT_ON_FAILURE" "1") ; Enable debug output
|
||||
;; make Qt render "offscreen", required for tests
|
||||
(setenv "QT_QPA_PLATFORM" "offscreen")
|
||||
#t)))))
|
||||
(home-page "https://community.kde.org/Frameworks")
|
||||
|
@ -2139,6 +2147,7 @@ (define-public kglobalaccel
|
|||
(modify-phases %standard-phases
|
||||
(add-before 'check 'check-setup
|
||||
(lambda _
|
||||
;; make Qt render "offscreen", required for tests
|
||||
(setenv "QT_QPA_PLATFORM" "offscreen")
|
||||
#t)))))
|
||||
(home-page "https://community.kde.org/Frameworks")
|
||||
|
@ -2188,6 +2197,7 @@ (define-public kiconthemes
|
|||
"/share"))
|
||||
(setenv "HOME" (getcwd))
|
||||
(setenv "CTEST_OUTPUT_ON_FAILURE" "1") ; Enable debug output
|
||||
;; make Qt render "offscreen", required for tests
|
||||
(setenv "QT_QPA_PLATFORM" "offscreen")
|
||||
#t)))))
|
||||
(home-page "https://community.kde.org/Frameworks")
|
||||
|
@ -2297,6 +2307,7 @@ (define-public kio
|
|||
(setenv "HOME" (getcwd))
|
||||
(setenv "XDG_RUNTIME_DIR" (getcwd))
|
||||
(setenv "CTEST_OUTPUT_ON_FAILURE" "1")
|
||||
;; make Qt render "offscreen", required for tests
|
||||
(setenv "QT_QPA_PLATFORM" "offscreen")
|
||||
#t)))))
|
||||
;;(replace 'check
|
||||
|
@ -2361,6 +2372,7 @@ (define-public knewstuff
|
|||
(lambda _ ; XDG_DATA_DIRS isn't set
|
||||
(setenv "HOME" (getcwd))
|
||||
(setenv "CTEST_OUTPUT_ON_FAILURE" "1")
|
||||
;; make Qt render "offscreen", required for tests
|
||||
(setenv "QT_QPA_PLATFORM" "offscreen")
|
||||
#t)))))
|
||||
(home-page "https://community.kde.org/Frameworks")
|
||||
|
@ -2454,6 +2466,7 @@ (define-public kparts
|
|||
(modify-phases %standard-phases
|
||||
(add-before 'check 'check-setup
|
||||
(lambda _
|
||||
;; make Qt render "offscreen", required for tests
|
||||
(setenv "QT_QPA_PLATFORM" "offscreen")
|
||||
#t)))))
|
||||
(home-page "https://community.kde.org/Frameworks")
|
||||
|
@ -2494,6 +2507,7 @@ (define-public kpeople
|
|||
(add-before 'check 'check-setup
|
||||
(lambda _
|
||||
(setenv "CTEST_OUTPUT_ON_FAILURE" "1") ; Enable debug output
|
||||
;; make Qt render "offscreen", required for tests
|
||||
(setenv "QT_QPA_PLATFORM" "offscreen")
|
||||
#t)))))
|
||||
(home-page "https://community.kde.org/Frameworks")
|
||||
|
@ -2550,6 +2564,7 @@ (define-public krunner
|
|||
(add-before 'check 'check-setup
|
||||
(lambda _
|
||||
(setenv "CTEST_OUTPUT_ON_FAILURE" "1") ; Enable debug output
|
||||
;; make Qt render "offscreen", required for tests
|
||||
(setenv "QT_QPA_PLATFORM" "offscreen")
|
||||
#t)))))
|
||||
(home-page "https://community.kde.org/Frameworks")
|
||||
|
@ -2595,6 +2610,7 @@ (define-public kservice
|
|||
(lambda _
|
||||
(setenv "HOME" (getcwd))
|
||||
(setenv "CTEST_OUTPUT_ON_FAILURE" "1")
|
||||
;; make Qt render "offscreen", required for tests
|
||||
(setenv "QT_QPA_PLATFORM" "offscreen")
|
||||
#t)))))
|
||||
(home-page "https://community.kde.org/Frameworks")
|
||||
|
@ -2661,6 +2677,7 @@ (define-public ktexteditor
|
|||
(add-before 'check 'check-setup
|
||||
(lambda _
|
||||
(setenv "HOME" (getcwd))
|
||||
;; make Qt render "offscreen", required for tests
|
||||
(setenv "QT_QPA_PLATFORM" "offscreen")
|
||||
(setenv "CTEST_OUTPUT_ON_FAILURE" "1")
|
||||
#t)))))
|
||||
|
@ -2708,6 +2725,7 @@ (define-public ktextwidgets
|
|||
(modify-phases %standard-phases
|
||||
(add-before 'check 'check-setup
|
||||
(lambda _
|
||||
;; make Qt render "offscreen", required for tests
|
||||
(setenv "QT_QPA_PLATFORM" "offscreen")
|
||||
#t)))))
|
||||
(home-page "https://community.kde.org/Frameworks")
|
||||
|
@ -2798,6 +2816,7 @@ (define-public kxmlgui
|
|||
(add-before 'check 'check-setup
|
||||
(lambda _
|
||||
(setenv "HOME" (getcwd))
|
||||
;; make Qt render "offscreen", required for tests
|
||||
(setenv "QT_QPA_PLATFORM" "offscreen")
|
||||
(setenv "CTEST_OUTPUT_ON_FAILURE" "1")
|
||||
#t)))))
|
||||
|
@ -2910,6 +2929,7 @@ (define-public plasma-framework
|
|||
(lambda _
|
||||
(setenv "HOME" (getcwd))
|
||||
(setenv "CTEST_OUTPUT_ON_FAILURE" "1") ; Enable debug output
|
||||
;; make Qt render "offscreen", required for tests
|
||||
(setenv "QT_QPA_PLATFORM" "offscreen")
|
||||
#t)))))
|
||||
(home-page "https://community.kde.org/Frameworks")
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2015 David Thompson <davet@gnu.org>
|
||||
;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -22,13 +23,13 @@ (define-module (gnu packages kodi)
|
|||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (gnu packages algebra)
|
||||
#:use-module (gnu packages audio)
|
||||
#:use-module (gnu packages autotools)
|
||||
#:use-module (gnu packages avahi)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages boost)
|
||||
#:use-module (gnu packages cdrom)
|
||||
#:use-module (gnu packages cmake)
|
||||
#:use-module (gnu packages compression)
|
||||
|
@ -52,6 +53,7 @@ (define-module (gnu packages kodi)
|
|||
#:use-module (gnu packages mp3)
|
||||
#:use-module (gnu packages pcre)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages pretty-print)
|
||||
#:use-module (gnu packages pulseaudio)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages samba)
|
||||
|
@ -119,153 +121,301 @@ (define-public crossguid
|
|||
(home-page "https://github.com/graeme-hill/crossguid")
|
||||
(license license:expat))))
|
||||
|
||||
;; Kodi requires using their own special forks of these libraries.
|
||||
;; In addition, it insists on downloading and building these as part
|
||||
;; of the standard build process. To make things easier, we bootstrap
|
||||
;; and patch shebangs here, so we don't have to worry about it later.
|
||||
(define libdvdnav/kodi
|
||||
(let ((commit "981488f7f27554b103cca10c1fbeba027396c94a"))
|
||||
(package
|
||||
(name "libdvdnav-bootstrapped")
|
||||
(version commit)
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/xbmc/libdvdnav.git")
|
||||
(commit commit)))
|
||||
(file-name (string-append name "-" version "-checkout"))
|
||||
(sha256
|
||||
(base32
|
||||
"089pswc51l3avh95zl4cpsh7gh1innh7b2y4xgx840mcmy46ycr8"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:tests? #f
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'bootstrap
|
||||
(lambda _ (zero? (system* "autoreconf" "-vif"))))
|
||||
(delete 'configure)
|
||||
(delete 'build)
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(copy-recursively "." (assoc-ref outputs "out"))
|
||||
#t)))))
|
||||
(native-inputs
|
||||
`(("autoconf" ,autoconf)
|
||||
("automake" ,automake)
|
||||
("libtool" ,libtool)
|
||||
("pkg-config" ,pkg-config)))
|
||||
(home-page "https://github.com/xbmc/libdvdnav")
|
||||
(synopsis (package-synopsis libdvdnav))
|
||||
(description (package-description libdvdnav))
|
||||
(license license:gpl2+))))
|
||||
|
||||
(define libdvdread/kodi
|
||||
(let ((commit "17d99db97e7b8f23077b342369d3c22a6250affd"))
|
||||
(package
|
||||
(name "libdvdread-bootstrapped")
|
||||
(version commit)
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/xbmc/libdvdread.git")
|
||||
(commit commit)))
|
||||
(file-name (string-append name "-" version "-checkout"))
|
||||
(sha256
|
||||
(base32
|
||||
"1gr5aq1cjr3as9mnwrw29cxn4m6f6pfrxdahkdcjy70q3ldg90sl"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:tests? #f
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'bootstrap
|
||||
(lambda _ (zero? (system* "autoreconf" "-vif"))))
|
||||
(delete 'configure)
|
||||
(delete 'build)
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(copy-recursively "." (assoc-ref outputs "out"))
|
||||
#t)))))
|
||||
(native-inputs
|
||||
`(("autoconf" ,autoconf)
|
||||
("automake" ,automake)
|
||||
("libtool" ,libtool)
|
||||
("pkg-config" ,pkg-config)))
|
||||
(home-page "https://github.com/xbmc/libdvdread")
|
||||
(synopsis (package-synopsis libdvdread))
|
||||
(description (package-description libdvdread))
|
||||
(license (list license:gpl2+ license:lgpl2.1+)))))
|
||||
|
||||
(define libdvdcss/kodi
|
||||
(let ((commit "2f12236bc1c92f73c21e973363f79eb300de603f"))
|
||||
(package
|
||||
(name "libdvdcss-bootstrapped")
|
||||
(version commit)
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/xbmc/libdvdcss.git")
|
||||
(commit commit)))
|
||||
(file-name (string-append name "-" version "-checkout"))
|
||||
(sha256
|
||||
(base32
|
||||
"198r0q73i55ga1dvyqq9nfcri0zq08b94hy8671lg14i3izx44dd"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:tests? #f
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'bootstrap
|
||||
(lambda _ (zero? (system* "autoreconf" "-vif"))))
|
||||
(delete 'configure)
|
||||
(delete 'build)
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(copy-recursively "." (assoc-ref outputs "out"))
|
||||
#t)))))
|
||||
(native-inputs
|
||||
`(("autoconf" ,autoconf)
|
||||
("automake" ,automake)
|
||||
("libtool" ,libtool)
|
||||
("pkg-config" ,pkg-config)))
|
||||
(home-page "https://github.com/xbmc/libdvdcss")
|
||||
(synopsis (package-synopsis libdvdcss))
|
||||
(description (package-description libdvdcss))
|
||||
(license license:gpl2+))))
|
||||
|
||||
(define-public kodi
|
||||
;; We package the git version because the current released
|
||||
;; version was cut while the cmake transition was in turmoil.
|
||||
(let ((commit "b35147e2bec41ce332b9788f4a6ac94d2e5999e3")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "kodi")
|
||||
(version "16.0")
|
||||
(version (string-append "18.0_alpha-" revision "-" (string-take commit 7)))
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://mirrors.kodi.tv/releases/source/"
|
||||
version "-Jarvis.tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/xbmc/xbmc.git")
|
||||
(commit commit)))
|
||||
(file-name (string-append name "-" version "-checkout"))
|
||||
(sha256
|
||||
(base32
|
||||
"0iirspvv7czf785l2lqf232dvdaj87srbn9ni97ngvnd6w9yl884"))
|
||||
"0rhb9rcz5h8mky8mx6idzybnpgjh2lxcjkh16z1x6fr4pis2jcbj"))
|
||||
(snippet
|
||||
;; Delete bundled ffmpeg.
|
||||
;; TODO: Delete every other bundled library.
|
||||
'(begin
|
||||
(use-modules (guix build utils))
|
||||
(delete-file-recursively "tools/depends/target/ffmpeg")))
|
||||
(for-each delete-file-recursively
|
||||
'("project/BuildDependencies/bin/"
|
||||
;; TODO: Purge these jars.
|
||||
;;"tools/codegenerator/groovy"
|
||||
;; And these sources:
|
||||
;; "tools/depend/native/JsonSchemaBuilder"
|
||||
;; "tools/depend/native/TexturePacker"
|
||||
;; "lib/UnrarXlib"
|
||||
;; "lib/gtest"
|
||||
;; "lib/cpluff"
|
||||
;; "lib/libexif"
|
||||
;; "lib/libUPnP"
|
||||
"lib/libUPnP/Neptune/ThirdParty"
|
||||
"project/Win32BuildSetup/tools/7z"))
|
||||
#t))
|
||||
(modules '((guix build utils)))))
|
||||
(build-system gnu-build-system)
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
'(#:configure-flags '("--with-ffmpeg=shared") ; don't use bundled ffmpeg
|
||||
'(#:modules ((srfi srfi-1)
|
||||
(guix build cmake-build-system)
|
||||
(guix build utils))
|
||||
#:configure-flags
|
||||
(list "-DENABLE_INTERNAL_FFMPEG=OFF"
|
||||
"-DENABLE_INTERNAL_CROSSGUID=OFF"
|
||||
(string-append "-Dlibdvdread_URL="
|
||||
(assoc-ref %build-inputs "libdvdread-bootstrapped"))
|
||||
(string-append "-Dlibdvdnav_URL="
|
||||
(assoc-ref %build-inputs "libdvdnav-bootstrapped"))
|
||||
(string-append "-Dlibdvdcss_URL="
|
||||
(assoc-ref %build-inputs "libdvdcss-bootstrapped"))
|
||||
"-DENABLE_NONFREE=OFF")
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
;; JsonSchemaBuilder is a small tool needed by the build system that
|
||||
;; comes bundled with the source. The build system tries to build it
|
||||
;; during the bootstrapping phase, which causes serious issues
|
||||
;; The build system tries to bootstrap these bundled components
|
||||
;; during the regular build phase, which causes serious issues
|
||||
;; because there's no time for shebangs to be patched. So, we
|
||||
;; bootstrap it on our own instead.
|
||||
(add-after 'unpack 'bootstrap-jsonschemabuilder
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let ((dir "tools/depends/native/JsonSchemaBuilder/src"))
|
||||
(with-directory-excursion dir
|
||||
(zero? (system* "sh" "autogen.sh"))))))
|
||||
;; Now we can do the regular bootstrapping process, but only after
|
||||
;; the first round of shebang patching. We must repeat the patching
|
||||
;; after bootstrapping so that all of the files generated by the
|
||||
;; Autotools et al. are patched appropriately.
|
||||
(add-after 'patch-source-shebangs 'bootstrap
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
;; We bootstrapped JsonSchemaBuilder in the previous phase, so we
|
||||
;; need to make sure it isn't done a second time. Otherwise, it
|
||||
;; would undo the shebang patching that we worked so hard for.
|
||||
(substitute* '("tools/depends/native/JsonSchemaBuilder/Makefile")
|
||||
(("\\./autogen\\.sh") ""))
|
||||
;; This essentially does what their 'bootstrap' script does, but
|
||||
;; additionally passes the correct CONFIG_SHELL.
|
||||
(let ((bash (string-append (assoc-ref inputs "bash") "/bin/sh")))
|
||||
(define (run-make makefile)
|
||||
(zero? (system* "make" "-f" makefile
|
||||
"BOOTSTRAP_STANDALONE=1"
|
||||
(string-append "CONFIG_SHELL=" bash))))
|
||||
(and (run-make "bootstrap.mk")
|
||||
(run-make "codegenerator.mk")))))
|
||||
(add-after 'bootstrap 'patch-source-shebangs-again
|
||||
(assoc-ref %standard-phases 'patch-source-shebangs))
|
||||
;; 3 tests fail that appear harmless, so we disable them.
|
||||
(add-before 'check 'disable-some-tests
|
||||
(add-after 'unpack 'bootstrap-bundled-software
|
||||
(lambda _
|
||||
(let ((dirs '("tools/depends/native/JsonSchemaBuilder/src"
|
||||
"lib/cpluff")))
|
||||
(every (lambda (third-party)
|
||||
(with-directory-excursion third-party
|
||||
(zero? (system* "autoreconf" "-vif"))))
|
||||
dirs))))
|
||||
(add-after 'bootstrap-bundled-software 'patch-stuff
|
||||
(lambda _
|
||||
;; Prevent the build scripts from calling autoreconf in the
|
||||
;; build stage. Otherwise, it would undo the bootstrapping
|
||||
;; and shebang patching that we worked so hard for.
|
||||
(substitute* "cmake/modules/FindCpluff.cmake"
|
||||
(("autoreconf -vif") "true"))
|
||||
(substitute* "lib/cpluff/po/Makefile.in.in"
|
||||
(("/bin/sh") (which "sh")))
|
||||
(substitute* "cmake/modules/FindLibDvd.cmake"
|
||||
;; The libdvd* sources that we bootstrapped separately are
|
||||
;; unpacked in the build phase. This is our best opportunity
|
||||
;; to make them writable before the build process starts.
|
||||
(("autoreconf -vif") "chmod -R u+w ."))
|
||||
|
||||
;; Let's disable some tests that are known not to work here.
|
||||
;; Doing this later while in the cmake "../build" directory
|
||||
;; is trickier.
|
||||
(substitute* '("xbmc/utils/test/TestSystemInfo.cpp")
|
||||
(("TEST_F\\(TestSystemInfo, GetOsPrettyNameWithVersion\\)")
|
||||
"TEST_F(TestSystemInfo, DISABLED_GetOsPrettyNameWithVersion)")
|
||||
(("TEST_F\\(TestSystemInfo, GetOsName\\)")
|
||||
"TEST_F(TestSystemInfo, DISABLED_GetOsName)")
|
||||
(("TEST_F\\(TestSystemInfo, GetOsVersion\\)")
|
||||
"TEST_F(TestSystemInfo, DISABLED_GetOsVersion)")))))))
|
||||
"TEST_F(TestSystemInfo, DISABLED_GetOsVersion)"))
|
||||
;; FIXME: Why are these failing.
|
||||
(substitute* "xbmc/network/test/TestWebServer.cpp"
|
||||
(("TEST_F\\(TestWebServer, Can")
|
||||
"TEST_F(TestWebServer, DISABLED_Can"))
|
||||
#t))
|
||||
(add-before 'build 'set-build-environment
|
||||
(lambda _
|
||||
;; Some bundled build scripts fall back to /bin/sh
|
||||
;; if this is not set.
|
||||
(setenv "CONFIG_SHELL" (which "sh"))
|
||||
#t))
|
||||
(add-before 'check 'build-kodi-test
|
||||
(lambda _
|
||||
(zero? (system* "make" "kodi-test"))))
|
||||
(add-after 'install 'wrap
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out"))
|
||||
(curl (string-append (assoc-ref inputs "curl") "/lib")))
|
||||
(wrap-program (string-append out "/bin/kodi")
|
||||
`("LD_LIBRARY_PATH" suffix (,curl)))
|
||||
#t))))))
|
||||
;; TODO: Add dependencies for:
|
||||
;; - vdpau
|
||||
;; - nfs
|
||||
;;
|
||||
;; FIXME: libusb detection fails.
|
||||
;;
|
||||
;; FIXME: As you can see, we use a lot of external libraries, but it seems
|
||||
;; that a few bundled ones are still being used.
|
||||
;; - cec
|
||||
;; - plist
|
||||
;; - shairplay
|
||||
(native-inputs
|
||||
`(("autoconf" ,autoconf)
|
||||
("automake" ,automake)
|
||||
("cmake" ,cmake)
|
||||
("doxygen" ,doxygen)
|
||||
("gawk" ,gawk)
|
||||
("gettext" ,gettext-minimal)
|
||||
("icedtea" ,icedtea) ; needed at build-time only, mandatory
|
||||
("libdvdcss-bootstrapped" ,libdvdcss/kodi)
|
||||
("libdvdnav-bootstrapped" ,libdvdnav/kodi)
|
||||
("libdvdread-bootstrapped" ,libdvdread/kodi)
|
||||
("libtool" ,libtool)
|
||||
("pkg-config" ,pkg-config)
|
||||
("swig" ,swig)
|
||||
("which" ,which)
|
||||
("yasm" ,yasm)))
|
||||
(inputs
|
||||
`(("alsa-lib" ,alsa-lib)
|
||||
("avahi" ,avahi)
|
||||
("bluez" ,bluez)
|
||||
("boost" ,boost)
|
||||
("bzip2" ,bzip2)
|
||||
("crossguid" ,crossguid)
|
||||
("curl" ,curl)
|
||||
("dcadec" ,dcadec)
|
||||
("dbus" ,dbus)
|
||||
("enca" ,enca)
|
||||
("eudev" ,eudev)
|
||||
("ffmpeg" ,ffmpeg)
|
||||
("flac" ,flac)
|
||||
("fmt" ,fmt)
|
||||
("fontconfig" ,fontconfig)
|
||||
("freetype" ,freetype)
|
||||
("fribidi" ,fribidi)
|
||||
("giflib" ,giflib)
|
||||
("glew" ,glew)
|
||||
("gnutls" ,gnutls)
|
||||
("gperf" ,gperf)
|
||||
("jasper" ,jasper)
|
||||
("lame" ,lame)
|
||||
("lcms" ,lcms)
|
||||
("libass" ,libass)
|
||||
("libbluray" ,libbluray)
|
||||
("libcap" ,libcap)
|
||||
("libcdio" ,libcdio)
|
||||
("libdrm" ,libdrm)
|
||||
("libgcrypt" ,libgcrypt)
|
||||
("libjpeg" ,libjpeg)
|
||||
("libltdl" ,libltdl)
|
||||
("libmad" ,libmad)
|
||||
("libmicrohttpd" ,libmicrohttpd)
|
||||
("libmodplug" ,libmodplug)
|
||||
("libmpeg2" ,libmpeg2)
|
||||
("libogg" ,libogg)
|
||||
("libpng" ,libpng)
|
||||
("libsamplerate" ,libsamplerate)
|
||||
("libssh" ,libssh)
|
||||
("libtiff" ,libtiff)
|
||||
("libva" ,libva)
|
||||
("libvorbis" ,libvorbis)
|
||||
("libxml2" ,libxml2)
|
||||
("libxmu" ,libxmu)
|
||||
("libxrandr" ,libxrandr)
|
||||
("libxrender" ,libxrender)
|
||||
("libxslt" ,libxslt)
|
||||
("libxt" ,libxt)
|
||||
("libyajl" ,libyajl)
|
||||
("lzo" ,lzo)
|
||||
("mesa-utils" ,mesa-utils)
|
||||
("mysql" ,mysql)
|
||||
("openssl" ,openssl)
|
||||
("pcre" ,pcre)
|
||||
("pulseaudio" ,pulseaudio)
|
||||
("python" ,python-2)
|
||||
("samba" ,samba)
|
||||
("sdl2" ,sdl2)
|
||||
("sqlite" ,sqlite)
|
||||
("taglib" ,taglib)
|
||||
("tinyxml" ,tinyxml)
|
||||
("unzip" ,unzip)
|
||||
("util-linux" ,util-linux)
|
||||
("zip" ,zip)
|
||||
("zlib" ,zlib)))
|
||||
|
@ -274,4 +424,11 @@ (define (run-make makefile)
|
|||
music, games, etc. Kodi is highly customizable and features a theme and
|
||||
plug-in system.")
|
||||
(home-page "http://kodi.tv")
|
||||
(license license:gpl2+)))
|
||||
;; XBMC is largely GPL2+, with some library components as LGPL2.1+, but
|
||||
;; there are some other licenses spread throughout.
|
||||
(license (list license:gpl2+ license:lgpl2.1+
|
||||
license:gpl3+ ;WiiRemote client
|
||||
license:expat ;cpluff, dbwrappers
|
||||
license:public-domain ;cpluff/examples
|
||||
license:bsd-3 ;misc, gtest
|
||||
license:bsd-2))))) ;xbmc/freebsd
|
||||
|
|
|
@ -2222,8 +2222,6 @@ (define-public perf
|
|||
|
||||
;; Documentation.
|
||||
("libxml2" ,libxml2) ;for $XML_CATALOG_FILES
|
||||
("libxslt" ,libxslt)
|
||||
("docbook-xml" ,docbook-xml)
|
||||
("docbook-xsl" ,docbook-xsl)
|
||||
("xmlto" ,xmlto)
|
||||
("asciidoc" ,asciidoc)))
|
||||
|
@ -2801,7 +2799,6 @@ (define-public btrfs-progs
|
|||
("xmlto" ,xmlto)
|
||||
;; For building documentation.
|
||||
("libxml2" ,libxml2)
|
||||
("docbook-xml" ,docbook-xml)
|
||||
("docbook-xsl" ,docbook-xsl)
|
||||
;; For tests.
|
||||
("which" ,which)))
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
;;; Copyright © 2016 Troy Sankey <sankeytms@gmail.com>
|
||||
;;; Copyright © 2016, 2017 <contact.ng0@cryptolab.net>
|
||||
;;; Copyright © 2016 Clément Lassieur <clement@lassieur.org>
|
||||
;;; Copyright © 2016 Arun Isaac <arunisaac@systemreboot.net>
|
||||
;;; Copyright © 2016, 2017 Arun Isaac <arunisaac@systemreboot.net>
|
||||
;;; Copyright © 2016 John Darrington <jmd@gnu.org>
|
||||
;;; Copyright © 2016 Marius Bakke <mbakke@fastmail.com>
|
||||
;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
|
||||
|
@ -423,8 +423,7 @@ (define-public offlineimap
|
|||
"0i5dvygps1ai2qwgamab8kngrp0c5m3bgaw0jk34l8ypsk54wj8r"))))
|
||||
(build-system python-build-system)
|
||||
(native-inputs
|
||||
`(("asciidoc" ,asciidoc)
|
||||
("libxslt" ,libxslt))) ; for xsltproc
|
||||
`(("asciidoc" ,asciidoc)))
|
||||
(inputs `(("python2-pysqlite" ,python2-pysqlite)
|
||||
("python2-six" ,python2-six)))
|
||||
(arguments
|
||||
|
@ -2099,3 +2098,52 @@ (define-public blists
|
|||
are supported). @code{bit} is a CGI/SSI program that generates web pages
|
||||
on the fly. Both programs are written in C and are very fast.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public swaks
|
||||
(package
|
||||
(name "swaks")
|
||||
(version "20170101.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"http://jetmore.org/john/code/swaks/files/swaks-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0pli4mlhasnqqxmmxalwyg3x7n2vhcbgsnp2xgddamjavv82vrl4"))))
|
||||
(build-system perl-build-system)
|
||||
(inputs
|
||||
`(("perl-net-dns" ,perl-net-dns)
|
||||
("perl-net-ssleay" ,perl-net-ssleay)))
|
||||
(arguments
|
||||
`(#:tests? #f ; No tests
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure)
|
||||
(replace 'build
|
||||
(lambda _
|
||||
(zero? (system* "pod2man" "doc/ref.pod" "swaks.1"))))
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(install-file "swaks" (string-append out "/bin"))
|
||||
(install-file "swaks.1" (string-append out "/share/man/man1")))
|
||||
#t))
|
||||
(add-after 'install 'wrap-program
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(wrap-program (string-append (assoc-ref outputs "out")
|
||||
"/bin/swaks")
|
||||
`("PERL5LIB" ":" = (,(getenv "PERL5LIB"))))
|
||||
#t)))))
|
||||
(home-page "http://jetmore.org/john/code/swaks/")
|
||||
(synopsis "Featureful SMTP test tool")
|
||||
(description "Swaks is a flexible, scriptable, transaction-oriented SMTP
|
||||
test tool. It handles SMTP features and extensions such as TLS,
|
||||
authentication, and pipelining; multiple versions of the SMTP protocol
|
||||
including SMTP, ESMTP, and LMTP; and multiple transport methods including
|
||||
unix-domain sockets, internet-domain sockets, and pipes to spawned processes.
|
||||
Options can be specified in environment variables, configuration files, and
|
||||
the command line allowing maximum configurability and ease of use for
|
||||
operators and scripters.")
|
||||
(license gpl2+)))
|
||||
|
|
|
@ -9,6 +9,8 @@
|
|||
;;; Copyright © 2016 Andy Patterson <ajpatter@uwaterloo.ca>
|
||||
;;; Copyright © 2016, 2017 Clément Lassieur <clement@lassieur.org>
|
||||
;;; Copyright © 2017 Mekeor Melire <mekeor.melire@gmail.com>
|
||||
;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net>
|
||||
;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -201,16 +203,15 @@ (define-public hexchat
|
|||
(define-public ngircd
|
||||
(package
|
||||
(name "ngircd")
|
||||
(version "22")
|
||||
(version "24")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://arthur.barton.de/pub/ngircd/ngircd-"
|
||||
(uri (string-append "https://arthur.barton.de/pub/ngircd/ngircd-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"17k3g9qd9d010czk5846qxvzkmw4fihv8l6m2a2287crbxm3xhd4"))
|
||||
(patches (search-patches "ngircd-no-dns-in-tests.patch"
|
||||
"ngircd-handle-zombies.patch"))))
|
||||
"020h9d1awyxqr0l42x1fhs47q7cmm17fdxzjish8p2kq23ma0gqp"))
|
||||
(patches (search-patches "ngircd-handle-zombies.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
;; Needed for the test suite.
|
||||
(native-inputs `(("procps" ,procps)
|
||||
|
@ -234,34 +235,34 @@ (define-public ngircd
|
|||
'("--with-pam")
|
||||
'()))
|
||||
#:phases
|
||||
;; Necessary for the test suite.
|
||||
(alist-cons-after
|
||||
'configure 'post-configure
|
||||
(lambda _
|
||||
(substitute* "src/ngircd/Makefile"
|
||||
(("/bin/sh") (which "sh")))
|
||||
;; The default getpid.sh does a sloppy grep over 'ps -ax' output,
|
||||
;; which fails arbitrarily.
|
||||
(with-output-to-file "src/testsuite/getpid.sh"
|
||||
(lambda ()
|
||||
(display
|
||||
(string-append
|
||||
"#!" (which "sh") "\n"
|
||||
"ps -C \"$1\" -o pid=\n"))))
|
||||
;; Our variant of getpid.sh does not work for interpreter names if a
|
||||
;; shebang script is run directly as "./foo", so patch cases where
|
||||
;; the test suite relies on this.
|
||||
(substitute* "src/testsuite/start-server.sh"
|
||||
;; It runs 'getpid.sh sh' to test if it works at all. Run it on
|
||||
;; 'make' instead.
|
||||
(("getpid.sh sh") "getpid.sh make")))
|
||||
%standard-phases)))
|
||||
(home-page "http://ngircd.barton.de/")
|
||||
(modify-phases %standard-phases
|
||||
;; Necessary for the test suite.
|
||||
(add-after 'configure 'post-configure
|
||||
(lambda _
|
||||
(substitute* "src/ngircd/Makefile"
|
||||
(("/bin/sh") (which "sh")))
|
||||
;; The default getpid.sh does a sloppy grep over 'ps -ax' output,
|
||||
;; which fails arbitrarily.
|
||||
(with-output-to-file "src/testsuite/getpid.sh"
|
||||
(lambda ()
|
||||
(display
|
||||
(string-append
|
||||
"#!" (which "sh") "\n"
|
||||
"ps -C \"$1\" -o pid=\n"))))
|
||||
;; Our variant of getpid.sh does not match interpreter names
|
||||
;; when the script's shebang is invoked directly as "./foo".
|
||||
;; Patch cases where the test suite relies on this.
|
||||
(substitute* "src/testsuite/start-server.sh"
|
||||
;; It runs 'getpid.sh sh' to test if it works at all. Run it on
|
||||
;; 'make' instead.
|
||||
(("getpid.sh sh") "getpid.sh make")))))))
|
||||
(home-page "https://ngircd.barton.de/")
|
||||
(synopsis "Lightweight Internet Relay Chat server for small networks")
|
||||
(description
|
||||
"ngIRCd is a lightweight Internet Relay Chat server for small or private
|
||||
networks. It is easy to configure, can cope with dynamic IP addresses, and
|
||||
supports IPv6, SSL-protected connections as well as PAM for authentication.")
|
||||
"ngIRCd is a lightweight @dfn{Internet Relay Chat} (IRC) server for small
|
||||
or private networks. It is easy to configure, can cope with dynamic IP
|
||||
addresses, and supports IPv6, SSL-protected connections, as well as PAM for
|
||||
authentication.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public pidgin
|
||||
|
@ -398,12 +399,23 @@ (define-public znc
|
|||
"1jia6kq6bp8yxfj02d5vj9vqb4pylqcldspyjj6iz82kkka2a0ig"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:tests? #f ; tries to download GoogleTest with wget
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'unpack-googletest
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(zero? (system* "tar" "xf"
|
||||
(assoc-ref inputs "googletest-source"))))))
|
||||
#:configure-flags '("--enable-python"
|
||||
"--enable-perl"
|
||||
"--enable-cyrus")))
|
||||
"--enable-cyrus"
|
||||
,(string-append "--with-gtest="
|
||||
"googletest-release-"
|
||||
(package-version googletest)
|
||||
"/googletest"))
|
||||
#:test-target "test"))
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)
|
||||
`(("googletest-source" ,(package-source googletest))
|
||||
("pkg-config" ,pkg-config)
|
||||
("perl" ,perl)
|
||||
("python" ,python)))
|
||||
(inputs
|
||||
|
@ -1329,4 +1341,36 @@ (define-public profanity
|
|||
(home-page "http://www.profanity.im")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public libircclient
|
||||
(package
|
||||
(name "libircclient")
|
||||
(version "1.9")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/libircclient/libircclient/"
|
||||
version "/libircclient-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0r60i76jh4drjh2jgp5sx71chagqllmkaq49zv67nrhqwvp9ghw1"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("openssl" ,openssl)))
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
(list (string-append "--libdir="
|
||||
(assoc-ref %outputs "out") "/lib")
|
||||
"--enable-shared"
|
||||
"--enable-ipv6"
|
||||
"--enable-openssl")
|
||||
;; no test suite
|
||||
#:tests? #f))
|
||||
(home-page "https://www.ulduzsoft.com/libircclient/")
|
||||
(synopsis "Library implementing the client IRC protocol")
|
||||
(description "Libircclient is a library which implements the client IRC
|
||||
protocol. It is designed to be small, fast, portable and compatible with the
|
||||
RFC standards as well as non-standard but popular features. It can be used for
|
||||
building the IRC clients and bots.")
|
||||
(license license:lgpl3+)))
|
||||
|
||||
;;; messaging.scm ends here
|
||||
|
|
|
@ -75,7 +75,7 @@ (define-public libmpdclient
|
|||
(define-public mpd
|
||||
(package
|
||||
(name "mpd")
|
||||
(version "0.20.4")
|
||||
(version "0.20.6")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri
|
||||
|
@ -84,7 +84,7 @@ (define-public mpd
|
|||
"/mpd-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0a4psqsf71vc6hfgyv55jclsx8yb7lf4w840qlq6cq8j3hsjaavi"))))
|
||||
"0isbpa79m7zf09w3s1ry638cw96rxasy1ch66zl01k75i48mw1gl"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
|
|
|
@ -9,6 +9,7 @@
|
|||
;;; Copyright © 2016 John J. Foerch <jjfoerch@earthlink.net>
|
||||
;;; Copyright © 2016 Alex Griffin <a@ajgrf.com>
|
||||
;;; Copyright © 2017 ng0 <contact.ng0@cryptolab.net>
|
||||
;;; Copyright © 2017 Rodger Fox <thylakoid@openmailbox.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -2827,3 +2828,55 @@ (define-public libsmf
|
|||
conversions between time and pulses, tempo map handling and more. The only dependencies
|
||||
are a C compiler and glib. Full API documentation and examples are included.")
|
||||
(license license:bsd-2)))
|
||||
|
||||
(define-public lmms
|
||||
(package
|
||||
(name "lmms")
|
||||
(version "1.1.3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/LMMS/lmms/archive/v"
|
||||
version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1g76z7ha3hd53vbqaq9n1qg6s3lw8zzaw51iny6y2bz0j1xqwcsr"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; no tests
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before
|
||||
'configure 'set-ldflags
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(setenv "LDFLAGS"
|
||||
(string-append
|
||||
"-Wl,-rpath=\""
|
||||
(assoc-ref outputs "out") "/lib/lmms"
|
||||
":"
|
||||
(assoc-ref outputs "out") "/lib/lmms/ladspa"
|
||||
"\"")))))))
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
(inputs
|
||||
`(("sdl" ,sdl)
|
||||
("qt" ,qt-4)
|
||||
("fltk" ,fltk)
|
||||
("libogg" ,libogg)
|
||||
("libsamplerate" ,libsamplerate)
|
||||
("fluidsynth" ,fluidsynth)
|
||||
("libvorbis" ,libvorbis)
|
||||
("alsa-lib" ,alsa-lib)
|
||||
("portaudio" ,portaudio)
|
||||
("ladspa" ,ladspa)
|
||||
("libsndfile1" ,libsndfile)
|
||||
("libxft" ,libxft)
|
||||
("freetype2" ,freetype)
|
||||
("fftw3f" ,fftwf)))
|
||||
(home-page "https://lmms.io/")
|
||||
(synopsis "Music composition tool")
|
||||
(description "LMMS is a digital audio workstation. It includes tools for sequencing
|
||||
melodies and beats and for mixing and arranging songs. LMMS includes instruments based on
|
||||
audio samples and various soft sythesizers. It can receive input from a MIDI keyboard.")
|
||||
(license license:gpl2+)))
|
||||
|
|
|
@ -39,7 +39,7 @@ (define-module (gnu packages ntp)
|
|||
(define-public ntp
|
||||
(package
|
||||
(name "ntp")
|
||||
(version "4.2.8p9")
|
||||
(version "4.2.8p10")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -53,7 +53,7 @@ (define-public ntp
|
|||
"/ntp-" version ".tar.gz")))
|
||||
(sha256
|
||||
(base32
|
||||
"0whbyf82lrczbri4adbsa4hg1ppfa6c7qcj7nhjwdfp1g1vjh95p"))
|
||||
"17xrk7gxrl3hgg0i73n8qm53knyh01lf0f3l1zx9x6r1cip3dlnx"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2014 Marek Benc <merkur32@gmail.com>
|
||||
;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -35,9 +36,13 @@ (define-public ots
|
|||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/libots/libots/"
|
||||
name "-" version "/" name "-" version
|
||||
".tar.gz"))
|
||||
;; libots seems to have left sourceforge and taken their release
|
||||
;; tarballs with them
|
||||
(uri (list (string-append "mirror://debian/pool/main/o/ots/ots_"
|
||||
version ".orig.tar.gz")
|
||||
(string-append "mirror://sourceforge/libots/libots/"
|
||||
name "-" version "/" name "-" version
|
||||
".tar.gz")))
|
||||
(sha256
|
||||
(base32 "0dz1ccd7ymzk4swz1aly4im0k3pascnshmgg1whd2rk14li8v47a"))
|
||||
(patches (search-patches "ots-no-include-missing-file.patch"))))
|
||||
|
@ -48,17 +53,18 @@ (define-public ots
|
|||
;; before libots-1.la has been built.
|
||||
'(#:parallel-build? #f
|
||||
|
||||
#:phases (alist-cons-after
|
||||
'configure 'set-shared-lib-extension
|
||||
(lambda _
|
||||
;; For some reason, the 'libtool' script (from Libtool
|
||||
;; 1.5.2, Debian variant) sets 'shrext_cmds' instead of
|
||||
;; 'shrext' for the shared library file name extension.
|
||||
;; This leads to the creation of 'libots-1' instead of
|
||||
;; 'libots-1.so'. Fix that.
|
||||
(substitute* "libtool"
|
||||
(("shrext_cmds") "shrext")))
|
||||
%standard-phases)))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'configure 'set-shared-lib-extension
|
||||
(lambda _
|
||||
;; For some reason, the 'libtool' script (from Libtool
|
||||
;; 1.5.2, Debian variant) sets 'shrext_cmds' instead of
|
||||
;; 'shrext' for the shared library file name extension.
|
||||
;; This leads to the creation of 'libots-1' instead of
|
||||
;; 'libots-1.so'. Fix that.
|
||||
(substitute* "libtool"
|
||||
(("shrext_cmds") "shrext"))
|
||||
#t)))))
|
||||
(inputs
|
||||
`(("glib" ,glib)
|
||||
("popt" ,popt)
|
||||
|
|
|
@ -1,368 +0,0 @@
|
|||
From 3f807e104572b38143a1015be57d875088ceaebb Mon Sep 17 00:00:00 2001
|
||||
From: Alexander Barton <alex@barton.de>
|
||||
Date: Thu, 17 Apr 2014 23:57:38 +0200
|
||||
Subject: [PATCH] Test suite: Don't use DNS lookups
|
||||
|
||||
Different operating systems do behave quite differently when doing DNS
|
||||
lookups, for example "127.0.0.1" sometimes resolves to "localhost" and
|
||||
sometimes to "localhost.localdomain" (for example OpenBSD). And other
|
||||
systems resolve "localhost" to the real host name (for example Cygwin).
|
||||
|
||||
So not using DNS at all makes the test site much more portable.
|
||||
---
|
||||
src/testsuite/channel-test.e | 2 +-
|
||||
src/testsuite/check-idle.e | 2 +-
|
||||
src/testsuite/connect-test.e | 2 +-
|
||||
src/testsuite/invite-test.e | 2 +-
|
||||
src/testsuite/join-test.e | 2 +-
|
||||
src/testsuite/kick-test.e | 2 +-
|
||||
src/testsuite/message-test.e | 31 ++++++++++++-------------------
|
||||
src/testsuite/misc-test.e | 8 ++++----
|
||||
src/testsuite/mode-test.e | 2 +-
|
||||
src/testsuite/ngircd-test1.conf | 1 +
|
||||
src/testsuite/ngircd-test2.conf | 1 +
|
||||
src/testsuite/opless-channel-test.e | 2 +-
|
||||
src/testsuite/server-link-test.e | 2 +-
|
||||
src/testsuite/stress-A.e | 2 +-
|
||||
src/testsuite/who-test.e | 6 +++---
|
||||
src/testsuite/whois-test.e | 14 +++++++-------
|
||||
16 files changed, 38 insertions(+), 43 deletions(-)
|
||||
|
||||
diff --git a/src/testsuite/channel-test.e b/src/testsuite/channel-test.e
|
||||
index dd7eb66..39ad16a 100644
|
||||
--- a/src/testsuite/channel-test.e
|
||||
+++ b/src/testsuite/channel-test.e
|
||||
@@ -1,7 +1,7 @@
|
||||
# ngIRCd test suite
|
||||
# Channel test
|
||||
|
||||
-spawn telnet localhost 6789
|
||||
+spawn telnet 127.0.0.1 6789
|
||||
expect {
|
||||
timeout { exit 1 }
|
||||
"Connected"
|
||||
diff --git a/src/testsuite/check-idle.e b/src/testsuite/check-idle.e
|
||||
index 41b8eb4..ad112b2 100644
|
||||
--- a/src/testsuite/check-idle.e
|
||||
+++ b/src/testsuite/check-idle.e
|
||||
@@ -1,7 +1,7 @@
|
||||
# ngIRCd test suite
|
||||
# Idle test
|
||||
|
||||
-spawn telnet localhost 6789
|
||||
+spawn telnet 127.0.0.1 6789
|
||||
expect {
|
||||
timeout { exit 1 }
|
||||
"Connected"
|
||||
diff --git a/src/testsuite/connect-test.e b/src/testsuite/connect-test.e
|
||||
index 662f5f7..b51be0d 100644
|
||||
--- a/src/testsuite/connect-test.e
|
||||
+++ b/src/testsuite/connect-test.e
|
||||
@@ -1,7 +1,7 @@
|
||||
# ngIRCd test suite
|
||||
# Server connect test
|
||||
|
||||
-spawn telnet localhost 6789
|
||||
+spawn telnet 127.0.0.1 6789
|
||||
expect {
|
||||
timeout { exit 1 }
|
||||
"Connected"
|
||||
diff --git a/src/testsuite/invite-test.e b/src/testsuite/invite-test.e
|
||||
index 3716d19..5179d8a 100644
|
||||
--- a/src/testsuite/invite-test.e
|
||||
+++ b/src/testsuite/invite-test.e
|
||||
@@ -1,7 +1,7 @@
|
||||
# ngIRCd test suite
|
||||
# INVITE test
|
||||
|
||||
-spawn telnet localhost 6789
|
||||
+spawn telnet 127.0.0.1 6789
|
||||
expect {
|
||||
timeout { exit 1 }
|
||||
"Connected"
|
||||
diff --git a/src/testsuite/join-test.e b/src/testsuite/join-test.e
|
||||
index 28b4c54..c088f5c 100644
|
||||
--- a/src/testsuite/join-test.e
|
||||
+++ b/src/testsuite/join-test.e
|
||||
@@ -1,7 +1,7 @@
|
||||
# ngIRCd test suite
|
||||
# JOIN test
|
||||
|
||||
-spawn telnet localhost 6789
|
||||
+spawn telnet 127.0.0.1 6789
|
||||
expect {
|
||||
timeout { exit 1 }
|
||||
"Connected"
|
||||
diff --git a/src/testsuite/kick-test.e b/src/testsuite/kick-test.e
|
||||
index 3d3c1ee..89da611 100644
|
||||
--- a/src/testsuite/kick-test.e
|
||||
+++ b/src/testsuite/kick-test.e
|
||||
@@ -1,7 +1,7 @@
|
||||
# ngIRCd test suite
|
||||
# KICK test
|
||||
|
||||
-spawn telnet localhost 6789
|
||||
+spawn telnet 127.0.0.1 6789
|
||||
expect {
|
||||
timeout { exit 1 }
|
||||
"Connected"
|
||||
diff --git a/src/testsuite/message-test.e b/src/testsuite/message-test.e
|
||||
index 0e70640..5dc325d 100644
|
||||
--- a/src/testsuite/message-test.e
|
||||
+++ b/src/testsuite/message-test.e
|
||||
@@ -1,7 +1,7 @@
|
||||
# ngIRCd test suite
|
||||
# PRIVMSG and NOTICE test
|
||||
|
||||
-spawn telnet localhost 6789
|
||||
+spawn telnet 127.0.0.1 6789
|
||||
expect {
|
||||
timeout { exit 1 }
|
||||
"Connected"
|
||||
@@ -72,24 +72,17 @@ expect {
|
||||
"MODE nick :-b"
|
||||
}
|
||||
|
||||
-# The following two tests using "localhost" as host name
|
||||
-# had to be disabled, because there are operating systems
|
||||
-# out there, that use "localhost.<domain>" as host name
|
||||
-# for 127.0.0.1 instead of just "localhost".
|
||||
-# (for example OpenBSD 4, OpenSolaris, ...)
|
||||
-#
|
||||
-#send "privmsg ~user\%localhost :test\r"
|
||||
-#expect {
|
||||
-# timeout { exit 1 }
|
||||
-# "@* PRIVMSG nick :test"
|
||||
-#}
|
||||
-#
|
||||
-#send "privmsg Nick!~User@LocalHost :test\r"
|
||||
-#expect {
|
||||
-# timeout { exit 1 }
|
||||
-# "@* PRIVMSG nick :test"
|
||||
-# "401"
|
||||
-#}
|
||||
+send "privmsg ~user\%127.0.0.1 :test\r"
|
||||
+expect {
|
||||
+ timeout { exit 1 }
|
||||
+ "@* PRIVMSG nick :test"
|
||||
+}
|
||||
+
|
||||
+send "privmsg Nick!~User@127.0.0.1 :test\r"
|
||||
+expect {
|
||||
+ timeout { exit 1 }
|
||||
+ "@* PRIVMSG nick :test"
|
||||
+}
|
||||
|
||||
send "away :away\r"
|
||||
expect {
|
||||
diff --git a/src/testsuite/misc-test.e b/src/testsuite/misc-test.e
|
||||
index a83bc5b..f69e7c3 100644
|
||||
--- a/src/testsuite/misc-test.e
|
||||
+++ b/src/testsuite/misc-test.e
|
||||
@@ -1,7 +1,7 @@
|
||||
# ngIRCd test suite
|
||||
# Misc test
|
||||
|
||||
-spawn telnet localhost 6789
|
||||
+spawn telnet 127.0.0.1 6789
|
||||
expect {
|
||||
timeout { exit 1 }
|
||||
"Connected"
|
||||
@@ -130,7 +130,7 @@ expect {
|
||||
send "userhost nick\r"
|
||||
expect {
|
||||
timeout { exit 1 }
|
||||
- -re ":ngircd.test.server 302 nick :?nick=+.*@(localhos.*|127.0.0.1)"
|
||||
+ -re ":ngircd.test.server 302 nick :?nick=+.*@127.0.0.1"
|
||||
}
|
||||
|
||||
send "userhost doesnotexist\r"
|
||||
@@ -142,7 +142,7 @@ expect {
|
||||
send "userhost nick doesnotexist nick doesnotexist\r"
|
||||
expect {
|
||||
timeout { exit 1 }
|
||||
- -re ":ngircd.test.server 302 nick :nick=+.*@(localhos.*|127.0.0.1) nick=+.*@(localhos.*|127.0.0.1)"
|
||||
+ -re ":ngircd.test.server 302 nick :nick=+.*@127.0.0.1 nick=+.*@127.0.0.1"
|
||||
}
|
||||
|
||||
send "away :testing\r"
|
||||
@@ -154,7 +154,7 @@ expect {
|
||||
send "userhost nick nick nick nick nick nick\r"
|
||||
expect {
|
||||
timeout { exit 1 }
|
||||
- -re ":ngircd.test.server 302 nick :nick=-.*@(localhos.*|127.0.0.1) nick=-.*@(localhos.*|127.0.0.1) nick=-.*@(localhos.*|127.0.0.1) nick=-.*@(localhos.*|127.0.0.1) nick=-.*@(localhos.*|127.0.0.1)\r"
|
||||
+ -re ":ngircd.test.server 302 nick :nick=-.*@127.0.0.1 nick=-.*@127.0.0.1 nick=-.*@127.0.0.1 nick=-.*@127.0.0.1 nick=-.*@127.0.0.1\r"
|
||||
}
|
||||
|
||||
send "quit\r"
|
||||
diff --git a/src/testsuite/mode-test.e b/src/testsuite/mode-test.e
|
||||
index d6726a4..86e4f2d 100644
|
||||
--- a/src/testsuite/mode-test.e
|
||||
+++ b/src/testsuite/mode-test.e
|
||||
@@ -1,7 +1,7 @@
|
||||
# ngIRCd test suite
|
||||
# MODE test
|
||||
|
||||
-spawn telnet localhost 6789
|
||||
+spawn telnet 127.0.0.1 6789
|
||||
expect {
|
||||
timeout { exit 1 }
|
||||
"Connected"
|
||||
diff --git a/src/testsuite/ngircd-test1.conf b/src/testsuite/ngircd-test1.conf
|
||||
index 0d0cccc..4dec533 100644
|
||||
--- a/src/testsuite/ngircd-test1.conf
|
||||
+++ b/src/testsuite/ngircd-test1.conf
|
||||
@@ -17,6 +17,7 @@
|
||||
OperCanUseMode = yes
|
||||
Ident = no
|
||||
IncludeDir = /var/empty
|
||||
+ DNS = no
|
||||
PAM = no
|
||||
|
||||
[Operator]
|
||||
diff --git a/src/testsuite/ngircd-test2.conf b/src/testsuite/ngircd-test2.conf
|
||||
index c9d7f6c..0d24c4a 100644
|
||||
--- a/src/testsuite/ngircd-test2.conf
|
||||
+++ b/src/testsuite/ngircd-test2.conf
|
||||
@@ -17,6 +17,7 @@
|
||||
OperCanUseMode = yes
|
||||
Ident = no
|
||||
IncludeDir = /var/empty
|
||||
+ DNS = no
|
||||
PAM = no
|
||||
|
||||
[Operator]
|
||||
diff --git a/src/testsuite/opless-channel-test.e b/src/testsuite/opless-channel-test.e
|
||||
index 7d94172..4611fe1 100644
|
||||
--- a/src/testsuite/opless-channel-test.e
|
||||
+++ b/src/testsuite/opless-channel-test.e
|
||||
@@ -1,7 +1,7 @@
|
||||
# ngIRCd test suite
|
||||
# Op-less channel test
|
||||
|
||||
-spawn telnet localhost 6789
|
||||
+spawn telnet 127.0.0.1 6789
|
||||
expect {
|
||||
timeout { exit 1 }
|
||||
"Connected"
|
||||
diff --git a/src/testsuite/server-link-test.e b/src/testsuite/server-link-test.e
|
||||
index cf3fae8..910f8c8 100644
|
||||
--- a/src/testsuite/server-link-test.e
|
||||
+++ b/src/testsuite/server-link-test.e
|
||||
@@ -1,7 +1,7 @@
|
||||
# ngIRCd test suite
|
||||
# server-server link test
|
||||
|
||||
-spawn telnet localhost 6790
|
||||
+spawn telnet 127.0.0.1 6790
|
||||
expect {
|
||||
timeout { exit 1 }
|
||||
"Connected"
|
||||
diff --git a/src/testsuite/stress-A.e b/src/testsuite/stress-A.e
|
||||
index 256d5d1..d51adaa 100644
|
||||
--- a/src/testsuite/stress-A.e
|
||||
+++ b/src/testsuite/stress-A.e
|
||||
@@ -3,7 +3,7 @@
|
||||
|
||||
set timeout 30
|
||||
|
||||
-spawn telnet localhost 6789
|
||||
+spawn telnet 127.0.0.1 6789
|
||||
expect {
|
||||
timeout { exit 1 }
|
||||
"Connected"
|
||||
diff --git a/src/testsuite/who-test.e b/src/testsuite/who-test.e
|
||||
index a41e6b6..39d50ed 100644
|
||||
--- a/src/testsuite/who-test.e
|
||||
+++ b/src/testsuite/who-test.e
|
||||
@@ -1,7 +1,7 @@
|
||||
# ngIRCd test suite
|
||||
# WHO test
|
||||
|
||||
-spawn telnet localhost 6789
|
||||
+spawn telnet 127.0.0.1 6789
|
||||
expect {
|
||||
timeout { exit 1 }
|
||||
"Connected"
|
||||
@@ -62,7 +62,7 @@ expect {
|
||||
":ngircd.test.server 352 nick #channel * * ngircd.test.server nick G@ :0 Real Name"
|
||||
}
|
||||
|
||||
-send "who localhos*\r"
|
||||
+send "who 127.0.0.*\r"
|
||||
expect {
|
||||
timeout { exit 1 }
|
||||
":ngircd.test.server 352 nick \* * * ngircd.test.server nick G :0 Real Name"
|
||||
@@ -120,7 +120,7 @@ expect {
|
||||
"305 nick"
|
||||
}
|
||||
|
||||
-send "who ??cal*ho*\r"
|
||||
+send "who ??7.*0*\r"
|
||||
expect {
|
||||
timeout { exit 1 }
|
||||
":ngircd.test.server 352 nick \* * * ngircd.test.server nick H* :0 Real Name"
|
||||
diff --git a/src/testsuite/whois-test.e b/src/testsuite/whois-test.e
|
||||
index 16b1184..44eee66 100644
|
||||
--- a/src/testsuite/whois-test.e
|
||||
+++ b/src/testsuite/whois-test.e
|
||||
@@ -1,7 +1,7 @@
|
||||
# ngIRCd test suite
|
||||
# WHOIS test
|
||||
|
||||
-spawn telnet localhost 6789
|
||||
+spawn telnet 127.0.0.1 6789
|
||||
expect {
|
||||
timeout { exit 1 }
|
||||
"Connected"
|
||||
@@ -17,7 +17,7 @@ expect {
|
||||
send "whois nick\r"
|
||||
expect {
|
||||
timeout { exit 1 }
|
||||
- "311 nick nick ~user localhost* \* :Real Name\r"
|
||||
+ "311 nick nick ~user 127.0.0.1 \* :Real Name\r"
|
||||
}
|
||||
expect {
|
||||
timeout { exit 1 }
|
||||
@@ -27,25 +27,25 @@ expect {
|
||||
send "whois *\r"
|
||||
expect {
|
||||
timeout { exit 1 }
|
||||
- "311 nick nick ~user localhost* \* :Real Name\r"
|
||||
+ "311 nick nick ~user 127.0.0.1* \* :Real Name\r"
|
||||
}
|
||||
|
||||
send "whois n*\r"
|
||||
expect {
|
||||
timeout { exit 1 }
|
||||
- "311 nick nick ~user localhost* \* :Real Name\r"
|
||||
+ "311 nick nick ~user 127.0.0.1* \* :Real Name\r"
|
||||
}
|
||||
|
||||
send "whois ?ick\r"
|
||||
expect {
|
||||
timeout { exit 1 }
|
||||
- "311 nick nick ~user localhost* \* :Real Name\r"
|
||||
+ "311 nick nick ~user 127.0.0.1* \* :Real Name\r"
|
||||
}
|
||||
|
||||
send "whois ????,n?*k\r"
|
||||
expect {
|
||||
timeout { exit 1 }
|
||||
- "311 nick nick ~user localhost* \* :Real Name\r"
|
||||
+ "311 nick nick ~user 127.0.0.1* \* :Real Name\r"
|
||||
}
|
||||
|
||||
send "whois unknown\r"
|
||||
@@ -61,7 +61,7 @@ expect {
|
||||
send "whois ngircd.test.server2 nick\r"
|
||||
expect {
|
||||
timeout { exit 1 }
|
||||
- ":ngircd.test.server2 311 nick nick ~user localhost* \* :Real Name\r"
|
||||
+ ":ngircd.test.server2 311 nick nick ~user 127.0.0.1* \* :Real Name\r"
|
||||
}
|
||||
|
||||
send "whois nosuchserver unknown\r"
|
||||
--
|
||||
1.9.1
|
||||
|
|
@ -1,32 +0,0 @@
|
|||
Fix CVE-2017-5953:
|
||||
|
||||
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5953
|
||||
https://groups.google.com/forum/#!topic/vim_dev/t-3RSdEnrHY
|
||||
|
||||
This change is adapted from the upstream source repository:
|
||||
|
||||
https://github.com/vim/vim/commit/6d3c8586fc81b022e9f06c611b9926108fb878c7
|
||||
|
||||
diff --git a/src/spellfile.c b/src/spellfile.c
|
||||
index c7d87c6..00ef019 100644
|
||||
--- a/src/spellfile.c
|
||||
+++ b/src/spellfile.c
|
||||
@@ -1585,7 +1585,7 @@ spell_read_tree(
|
||||
int prefixtree, /* TRUE for the prefix tree */
|
||||
int prefixcnt) /* when "prefixtree" is TRUE: prefix count */
|
||||
{
|
||||
- int len;
|
||||
+ long len;
|
||||
int idx;
|
||||
char_u *bp;
|
||||
idx_T *ip;
|
||||
@@ -1595,6 +1595,9 @@ spell_read_tree(
|
||||
len = get4c(fd);
|
||||
if (len < 0)
|
||||
return SP_TRUNCERROR;
|
||||
+ if (len >= LONG_MAX / (long)sizeof(int))
|
||||
+ /* Invalid length, multiply with sizeof(int) would overflow. */
|
||||
+ return SP_FORMERROR;
|
||||
if (len > 0)
|
||||
{
|
||||
/* Allocate the byte array. */
|
|
@ -14,6 +14,7 @@
|
|||
;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
|
||||
;;; Copyright © 2017 Raoul J.P. Bonnal <ilpuccio.febo@gmail.com>
|
||||
;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
|
||||
;;; Copyright © 2017 humanitiesNerd <catonano@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -1369,6 +1370,26 @@ (define-public perl-crypt-randpasswd
|
|||
Password Generator\".")
|
||||
(license (package-license perl))))
|
||||
|
||||
(define-public perl-crypt-rc4
|
||||
(package
|
||||
(name "perl-crypt-rc4")
|
||||
(version "2.02")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"mirror://cpan/authors/id/S/SI/SIFUKURT/Crypt-RC4-"
|
||||
version
|
||||
".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1sp099cws0q225h6j4y68hmfd1lnv5877gihjs40f8n2ddf45i2y"))))
|
||||
(build-system perl-build-system)
|
||||
(home-page "http://search.cpan.org/dist/Crypt-RC4")
|
||||
(synopsis "Perl implementation of the RC4 encryption algorithm")
|
||||
(description "A pure Perl implementation of the RC4 algorithm.")
|
||||
(license (package-license perl))))
|
||||
|
||||
(define-public perl-cwd-guard
|
||||
(package
|
||||
(name "perl-cwd-guard")
|
||||
|
@ -5157,6 +5178,29 @@ (define-public perl-object-signature
|
|||
signatures.")
|
||||
(license (package-license perl))))
|
||||
|
||||
(define-public perl-ole-storage-lite
|
||||
(package
|
||||
(name "perl-ole-storage-lite")
|
||||
(version "0.19")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"mirror://cpan/authors/id/J/JM/JMCNAMARA/OLE-Storage_Lite-"
|
||||
version
|
||||
".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"179cxwqxb0f9dpx8954nvwjmggxxi5ndnang41yav1dx6mf0abp7"))))
|
||||
(build-system perl-build-system)
|
||||
(home-page "http://search.cpan.org/dist/OLE-Storage_Lite")
|
||||
(synopsis "Read and write OLE storage files")
|
||||
(description "This module allows you to read and write
|
||||
an OLE-Structured file. @dfn{OLE} (Object Linking and Embedding) is a
|
||||
technology to store hierarchical information such as links to other
|
||||
documents within a single file.")
|
||||
(license (package-license perl))))
|
||||
|
||||
(define-public perl-package-anon
|
||||
(package
|
||||
(name "perl-package-anon")
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
|
||||
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -22,6 +23,7 @@ (define-module (gnu packages pretty-print)
|
|||
#:use-module (guix packages)
|
||||
#:use-module (guix licenses)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages ghostscript)
|
||||
|
@ -34,7 +36,8 @@ (define-module (gnu packages pretty-print)
|
|||
#:use-module (gnu packages gperf)
|
||||
#:use-module (gnu packages lua)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages pkg-config))
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages zip))
|
||||
|
||||
(define-public a2ps
|
||||
(package
|
||||
|
@ -147,6 +150,30 @@ (define-public enscript
|
|||
different programming languages.")
|
||||
(license gpl3+)))
|
||||
|
||||
(define-public fmt
|
||||
(package
|
||||
(name "fmt")
|
||||
(version "3.0.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://github.com/fmtlib/fmt/releases/download/"
|
||||
version "/fmt-" version ".zip"))
|
||||
(sha256
|
||||
(base32
|
||||
"0l4514mk83cjimynci3ghrfdchjy8cya1qa45c1fg2lsj7fg16jc"))))
|
||||
(build-system cmake-build-system)
|
||||
(native-inputs
|
||||
`(("unzip" ,unzip)))
|
||||
(home-page "http://fmtlib.net/latest/")
|
||||
(synopsis "Small and fast C++ formatting library")
|
||||
(description
|
||||
"@code{fmt} (formerly @code{cppformat}) is a formatting library for C++.
|
||||
It can be used as a safe alternative to @code{printf} or as a fast alternative
|
||||
to @code{IOStreams}.")
|
||||
;; The library is bsd-2, but documentation and tests include other licenses.
|
||||
(license (list bsd-2 bsd-3 psfl))))
|
||||
|
||||
(define-public source-highlight
|
||||
(package
|
||||
(name "source-highlight")
|
||||
|
|
|
@ -1749,14 +1749,14 @@ (define-public python-pafy
|
|||
(define-public python-py
|
||||
(package
|
||||
(name "python-py")
|
||||
(version "1.4.31")
|
||||
(version "1.4.32")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "py" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0561gz2w3i825gyl42mcq14y3dcgkapfiv5zv9a2bz15qxiijl56"))))
|
||||
"19s1pql9pq85h1qzsdwgyb8a3k1qgkvh33b02m8kfqhizz8rzf64"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
;; FIXME: "ImportError: 'test' module incorrectly imported from
|
||||
|
@ -3144,14 +3144,14 @@ (define-public python2-rst.linker
|
|||
(define-public python-feedgenerator
|
||||
(package
|
||||
(name "python-feedgenerator")
|
||||
(version "1.8")
|
||||
(version "1.9")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "feedgenerator" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0mkimp1fpdan4p3882vzcws4l594k71ich4g0wq97jbra7p602n0"))
|
||||
"01mirwkm7xfx539hmvj7g9da1j51gw5lsx74dr0glizskjm5vq2s"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
|
@ -5873,6 +5873,9 @@ (define-public snakemake
|
|||
(arguments
|
||||
;; TODO: Package missing test dependencies.
|
||||
'(#:tests? #f))
|
||||
(propagated-inputs
|
||||
`(("python-wrapt" ,python-wrapt)
|
||||
("python-requests" ,python-requests)))
|
||||
(home-page "https://bitbucket.org/snakemake/snakemake/wiki/Home")
|
||||
(synopsis "Python-based execution environment for make-like workflows")
|
||||
(description
|
||||
|
@ -6491,14 +6494,14 @@ (define-public python2-mistune
|
|||
(define-public python-markdown
|
||||
(package
|
||||
(name "python-markdown")
|
||||
(version "2.6.7")
|
||||
(version "2.6.8")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "Markdown" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1h055llfd0ps0ig7qb3v1j9068xv90dc9s7xkhkgz9zg8r4g5sys"))))
|
||||
"0cqfhr1km2s5d8jm6hbwgkrrj9hvkjf2gab3s2axlrw1clgaij0a"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
|
@ -6858,17 +6861,14 @@ (define-public python2-netaddr
|
|||
(define-public python-wrapt
|
||||
(package
|
||||
(name "python-wrapt")
|
||||
(version "1.10.5")
|
||||
(version "1.10.8")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://pypi.python.org/packages/source/w/wrapt/wrapt-"
|
||||
version
|
||||
".tar.gz"))
|
||||
(uri (pypi-uri "wrapt" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0cq8rlpzkxzk48b50yrfhzn1d1hrq4gjcdqlrgq4v5palgiv9jwr"))))
|
||||
"0wrcm1mydvfivbkzz0h81ygzdchnscshi6xvy5n3r21r9s0px8af"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
;; Tests are not included in the tarball, they are only available in the
|
||||
|
@ -8247,15 +8247,14 @@ (define-public python2-zope-security
|
|||
(define-public python-zope-component
|
||||
(package
|
||||
(name "python-zope-component")
|
||||
(version "4.2.2")
|
||||
(version "4.3.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://pypi.python.org/packages/source/z"
|
||||
"/zope.component/zope.component-" version ".tar.gz"))
|
||||
(uri (pypi-uri "zope.component" version))
|
||||
(sha256
|
||||
(base32
|
||||
"06pqr8m5jv12xjyy5b59hh9anl61cxkzhw9mka33r3nxalmi2b18"))))
|
||||
"1hlvzwj1kcfz1qms1dzhwsshpsf38z9clmyksb1gh41n8k3kchdv"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
;; Skip tests due to circular dependency with python-zope-security.
|
||||
|
@ -8497,14 +8496,14 @@ (define-public python2-contextlib2
|
|||
(define-public python-texttable
|
||||
(package
|
||||
(name "python-texttable")
|
||||
(version "0.8.4")
|
||||
(version "0.8.7")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "texttable" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0bkhs4dx9s6g7fpb969hygq56hyz4ncfamlynw72s0n6nqfbd1w5"))))
|
||||
"1liiiydgkg37i46a418aw19fyf6z3ds51wdwwpyjbs12x0phhf4a"))))
|
||||
(build-system python-build-system)
|
||||
(arguments '(#:tests? #f)) ; no tests
|
||||
(home-page "https://github.com/foutaise/texttable/")
|
||||
|
@ -8542,13 +8541,13 @@ (define-public python2-websocket-client
|
|||
(define-public python-atomicwrites
|
||||
(package
|
||||
(name "python-atomicwrites")
|
||||
(version "1.1.0")
|
||||
(version "1.1.5")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "atomicwrites" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1s01dci8arsl9d9vr5nz1fk9znldp1z3l4yl43f0c27z12b8yxl0"))))
|
||||
"11bm90fwm2avvf4f3ib8g925w7jr4m11vcsinn1bi6ns4bm32214"))))
|
||||
(build-system python-build-system)
|
||||
(synopsis "Atomic file writes in Python")
|
||||
(description "Library for atomic file writes using platform dependent tools
|
||||
|
@ -10053,14 +10052,14 @@ (define-public python2-sphinx-repoze-autointerface
|
|||
(define-public python-psycopg2
|
||||
(package
|
||||
(name "python-psycopg2")
|
||||
(version "2.6.1")
|
||||
(version "2.6.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "psycopg2" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0k4hshvrwsh8yagydyxgmd0pjm29lwdxkngcq9fzfzkmpsxrmkva"))))
|
||||
"0p60z2gwfcal30y2w8gprflchp1kcg9qblc5rn782p4wxl90wjbh"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
;; Tests would require a postgresql database "psycopg2_test"
|
||||
|
@ -11163,17 +11162,14 @@ (define-public python2-pykafka
|
|||
(define-public python-wcwidth
|
||||
(package
|
||||
(name "python-wcwidth")
|
||||
(version "0.1.6")
|
||||
(version "0.1.7")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://pypi.python.org/packages/"
|
||||
"c2/d1/7689293086a8d5320025080cde0e3155b94ae0a7496fb89a3fbaa92c354a/"
|
||||
"wcwidth-" version ".tar.gz"))
|
||||
(uri (pypi-uri "wcwidth" version))
|
||||
(sha256
|
||||
(base32
|
||||
"02wjrpf001gjdjsaxxbzcwfg19crlk2dbddayrfc2v06f53yrcyw"))))
|
||||
"0pn6dflzm609m4r3i8ik5ni9ijjbb5fa3vg1n7hn6vkd49r77wrx"))))
|
||||
(build-system python-build-system)
|
||||
(home-page "https://github.com/jquast/wcwidth")
|
||||
(synopsis "Measure number of terminal column cells of wide-character codes")
|
||||
|
@ -12542,13 +12538,13 @@ (define-public python2-snowballstemmer
|
|||
(define-public python-sphinx-cloud-sptheme
|
||||
(package
|
||||
(name "python-sphinx-cloud-sptheme")
|
||||
(version "1.7.1")
|
||||
(version "1.8.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "cloud_sptheme" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0zm9ap4p5dzln8f1m2immadaxv2xpg8jg4w53y52rhfl7pdb58vy"))))
|
||||
"1dniqb6a39yh786f86c4jn666rwnyi1jvzn4616zhcchb7sfdshd"))))
|
||||
(build-system python-build-system)
|
||||
;; FIXME: The 'pypi' release archive does not contain tests.
|
||||
(arguments '(#:tests? #f))
|
||||
|
@ -13671,3 +13667,212 @@ (define-public python-flask-login
|
|||
|
||||
(define-public python2-flask-login
|
||||
(package-with-python2 python-flask-login))
|
||||
|
||||
(define-public python-astroid
|
||||
(package
|
||||
(name "python-astroid")
|
||||
(version "1.4.9")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://github.com/PyCQA/astroid/archive/astroid-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0j0wgy54d13a470vm4b9rdjk99n1hmdxpf34x9k3pbmi9w9b566z"))))
|
||||
(build-system python-build-system)
|
||||
(propagated-inputs
|
||||
`(("python-lazy-object-proxy" ,python-lazy-object-proxy)
|
||||
("python-six" ,python-six)
|
||||
("python-wrapt" ,python-wrapt)))
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda _
|
||||
(zero? (system* "python" "-m" "unittest" "discover"
|
||||
"-p" "unittest*.py")))))))
|
||||
(home-page "https://github.com/PyCQA/astroid")
|
||||
(synopsis "Common base representation of python source code for pylint and
|
||||
other projects")
|
||||
(description "@code{python-astroid} provides a common base representation
|
||||
of python source code for projects such as pychecker, pyreverse, pylint, etc.
|
||||
|
||||
It provides a compatible representation which comes from the _ast module. It
|
||||
rebuilds the tree generated by the builtin _ast module by recursively walking
|
||||
down the AST and building an extended ast. The new node classes have
|
||||
additional methods and attributes for different usages. They include some
|
||||
support for static inference and local name scopes. Furthermore, astroid
|
||||
builds partial trees by inspecting living objects.")
|
||||
(license license:lgpl2.1+)))
|
||||
|
||||
(define-public python2-astroid
|
||||
(package-with-python2 python-astroid))
|
||||
|
||||
(define-public python-isort
|
||||
(package
|
||||
(name "python-isort")
|
||||
(version "4.2.5")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://github.com/timothycrosley/isort/archive/"
|
||||
version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0zsrgkb0krn5476yncy5dd56k7dk34zqb4bnlvwy44ixgilyjmfh"))))
|
||||
(build-system python-build-system)
|
||||
(native-inputs
|
||||
`(("python-mock" ,python-mock)
|
||||
("python-pytest" ,python-pytest)))
|
||||
(home-page "https://github.com/timothycrosley/isort")
|
||||
(synopsis "Python utility/library to sort python imports")
|
||||
(description "@code{python-isort} is a python utility/library to sort
|
||||
imports alphabetically, and automatically separated into sections. It
|
||||
provides a command line utility, a python library and plugins for various
|
||||
editors.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public python2-isort
|
||||
(package-with-python2 python-isort))
|
||||
|
||||
(define-public python2-backports-functools-lru-cache
|
||||
(package
|
||||
(name "python2-backports-functools-lru-cache")
|
||||
(version "1.3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
;; only the pypi tarballs contain the necessary metadata
|
||||
(uri (pypi-uri "backports.functools_lru_cache" version))
|
||||
(sha256
|
||||
(base32
|
||||
"158ysf2hb0q4p4695abfiym9x1ywg0dgh8a3apd7gqaaxjy22jj4"))))
|
||||
(build-system python-build-system)
|
||||
(native-inputs
|
||||
`(("python2-setuptools-scm" ,python2-setuptools-scm)))
|
||||
(arguments
|
||||
`(#:python ,python-2))
|
||||
(home-page "https://github.com/jaraco/backports.functools_lru_cache")
|
||||
(synopsis "Backport of functools.lru_cache from Python 3.3")
|
||||
(description "@code{python2-backports-functools-lru-cache} is a backport
|
||||
of @code{functools.lru_cache} from python 3.3.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public python-configparser
|
||||
(package
|
||||
(name "python-configparser")
|
||||
(version "3.5.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://bitbucket.org/ambv/configparser/get/"
|
||||
version ".tar.bz2"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0waq40as14abwzbb321hfz4vr1fi363nscy32ga14qvfygrg96wa"))))
|
||||
(build-system python-build-system)
|
||||
(home-page "http://docs.python.org/py3k/library/configparser.html")
|
||||
(synopsis "Backport of configparser from python 3.5")
|
||||
(description "@code{python-configparser} is a backport of
|
||||
@code{configparser} from Python 3.5 so that it can be used directly
|
||||
in other versions.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public python2-configparser
|
||||
(package-with-python2 python-configparser))
|
||||
|
||||
(define-public python2-coverage-test-runner
|
||||
(package
|
||||
(name "python2-coverage-test-runner")
|
||||
(version "1.11")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"http://git.liw.fi/cgi-bin/cgit/cgit.cgi/"
|
||||
"coverage-test-runner/snapshot/coverage-test-runner-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0y1m7z3dl63kmhcmydl1mwg0hacnf6ghrx9dah17j9iasssfa3g7"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:python ,python-2
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda _
|
||||
(zero? (system* "./testrun")))))))
|
||||
(propagated-inputs
|
||||
`(("python2-coverage" ,python2-coverage)))
|
||||
(home-page "https://liw.fi/coverage-test-runner/")
|
||||
(synopsis "Python module for running unit tests")
|
||||
(description "@code{CoverageTestRunner} is a python module for running
|
||||
unit tests and failing them if the unit test module does not excercise all
|
||||
statements in the module it tests.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public python-pylint
|
||||
(package
|
||||
(name "python-pylint")
|
||||
(version "1.6.5")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://github.com/PyCQA/pylint/archive/pylint-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"08pmgflmq2zrzrn9nkfadzwa5vybz46wvwxhrsd2mjlcgsh4rzbm"))))
|
||||
(build-system python-build-system)
|
||||
(native-inputs
|
||||
`(("python-tox" ,python-tox)))
|
||||
(propagated-inputs
|
||||
`(("python-astroid" ,python-astroid)
|
||||
("python-isort" ,python-isort)
|
||||
("python-mccabe" ,python-mccabe)
|
||||
("python-six" ,python-six)))
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda _
|
||||
;; Somehow, tests for python2-pylint
|
||||
;; fail if run from the build directory
|
||||
(let ((work "/tmp/work"))
|
||||
(mkdir-p work)
|
||||
(setenv "PYTHONPATH"
|
||||
(string-append (getenv "PYTHONPATH") ":" work))
|
||||
(copy-recursively "." work)
|
||||
(with-directory-excursion "/tmp"
|
||||
(zero? (system* "python" "-m" "unittest" "discover"
|
||||
"-s" (string-append work "/pylint/test")
|
||||
"-p" "*test_*.py")))))))))
|
||||
(home-page "https://github.com/PyCQA/pylint")
|
||||
(synopsis "Python source code analyzer which looks for coding standard
|
||||
errors")
|
||||
(description "Pylint is a Python source code analyzer which looks
|
||||
for programming errors, helps enforcing a coding standard and sniffs
|
||||
for some code smells (as defined in Martin Fowler's Refactoring book).
|
||||
|
||||
Pylint has many rules enabled by default, way too much to silence them
|
||||
all on a minimally sized program. It's highly configurable and handle
|
||||
pragmas to control it from within your code. Additionally, it is
|
||||
possible to write plugins to add your own checks.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public python2-pylint
|
||||
(let ((pylint (package-with-python2 python-pylint)))
|
||||
(package (inherit pylint)
|
||||
(propagated-inputs
|
||||
`(("python2-backports-functools-lru-cache"
|
||||
,python2-backports-functools-lru-cache)
|
||||
("python2-configparser" ,python2-configparser)
|
||||
,@(package-propagated-inputs pylint))))))
|
||||
|
|
|
@ -568,6 +568,7 @@ (define-public qtsvg
|
|||
#t)))
|
||||
(add-before 'check 'set-display
|
||||
(lambda _
|
||||
;; make Qt render "offscreen", required for tests
|
||||
(setenv "QT_QPA_PLATFORM" "offscreen")
|
||||
#t)))))))
|
||||
|
||||
|
|
|
@ -120,7 +120,7 @@ (define-public libssh2
|
|||
(define-public openssh
|
||||
(package
|
||||
(name "openssh")
|
||||
(version "7.4p1")
|
||||
(version "7.5p1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (let ((tail (string-append name "-" version ".tar.gz")))
|
||||
|
@ -131,7 +131,7 @@ (define-public openssh
|
|||
(string-append "http://ftp2.fr.openbsd.org/pub/OpenBSD/OpenSSH/portable/"
|
||||
tail))))
|
||||
(sha256 (base32
|
||||
"1l8r3x4fr2kb6xm95s7kjdif1wp6f94d4kljh4qjj9109shw87qv"))))
|
||||
"1w7rb5gbrikxdkp8w7zxnci4549gk4bw1lml01s59w5rzb2y6ilq"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs `(("groff" ,groff)
|
||||
("openssl" ,openssl)
|
||||
|
|
|
@ -5151,3 +5151,38 @@ (define-public r-tsne
|
|||
(description
|
||||
"This package provides a pure R implementation of the t-SNE algorithm.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public r-cairo
|
||||
(package
|
||||
(name "r-cairo")
|
||||
(version "1.5-9")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "Cairo" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1x1q99r3r978rlkkm5gixkv03p0mcr6k7ydcqdmisrwnmrn7p1ia"))))
|
||||
(properties `((upstream-name . "Cairo")))
|
||||
(build-system r-build-system)
|
||||
(inputs
|
||||
`(("cairo" ,cairo)
|
||||
("libxt" ,libxt)))
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
(home-page "http://www.rforge.net/Cairo/")
|
||||
(synopsis "R graphics device using Cairo graphics library")
|
||||
(description
|
||||
"This package provides a Cairo graphics device that can be use to
|
||||
create high-quality vector (PDF, PostScript and SVG) and bitmap
|
||||
output (PNG,JPEG,TIFF), and high-quality rendering in displays (X11
|
||||
and Win32). Since it uses the same back-end for all output, copying
|
||||
across formats is WYSIWYG. Files are created without the dependence
|
||||
on X11 or other external programs. This device supports alpha
|
||||
channel (semi-transparent drawing) and resulting images can contain
|
||||
transparent and semi-transparent regions. It is ideal for use in
|
||||
server environments (file output) and as a replacement for other
|
||||
devices that don't have Cairo's capabilities such as alpha support or
|
||||
anti-aliasing. Backends are modular such that any subset of backends
|
||||
is supported.")
|
||||
(license license:gpl2)))
|
||||
|
|
|
@ -137,7 +137,6 @@ (define-public kakoune
|
|||
;; without them the tests fail.
|
||||
(zero? (system* "chmod" "-R" "u+w" "../test")))))))
|
||||
(native-inputs `(("gcc" ,gcc-5)
|
||||
("libxslt" ,libxslt)
|
||||
("asciidoc" ,asciidoc)
|
||||
("ruby" ,ruby)))
|
||||
(inputs `(("gcc:lib" ,gcc-5 "lib")
|
||||
|
|
|
@ -112,14 +112,14 @@ (define-public bazaar
|
|||
(define-public git
|
||||
(package
|
||||
(name "git")
|
||||
(version "2.12.0")
|
||||
(version "2.12.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://kernel.org/software/scm/git/git-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"09r0lcjj5v2apj39f0ziqzjq2bi1jpnhszc9q4n0ab86g5j7c88q"))))
|
||||
"18mdlg4ws78s4asfrn6licm9v6qw4wp9m0kdjq0y2r5pci1nf4fv"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("native-perl" ,perl)
|
||||
|
@ -132,7 +132,7 @@ (define-public git
|
|||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0ws7h04ijqr2l0pp9qbds65v9cd70v0qfpnhqncn9zqfspw5d0wb"))))))
|
||||
"1km0sbrqgni0q88abh4zb1m7xa9ld3d4qi36095b11a3vr6w7xgv"))))))
|
||||
(inputs
|
||||
`(("curl" ,curl)
|
||||
("expat" ,expat)
|
||||
|
@ -451,11 +451,7 @@ (define-public cgit
|
|||
#t)))))))
|
||||
(native-inputs
|
||||
;; For building manpage.
|
||||
`(("asciidoc" ,asciidoc)
|
||||
("docbook-xml" ,docbook-xml)
|
||||
("docbook-xsl" ,docbook-xsl)
|
||||
("xmllint" ,libxml2)
|
||||
("xsltprot" ,libxslt)))
|
||||
`(("asciidoc" ,asciidoc)))
|
||||
(inputs
|
||||
`(("git:src" ,(package-source git@2.9))
|
||||
("openssl" ,openssl)
|
||||
|
@ -857,10 +853,6 @@ (define-public cvs-fast-export
|
|||
(list "CC=gcc" (string-append "prefix?=" (assoc-ref %outputs "out")))))
|
||||
(inputs `(("git" ,git)))
|
||||
(native-inputs `(("asciidoc" ,asciidoc)
|
||||
("docbook-xml" ,docbook-xml)
|
||||
("docbook-xsl" ,docbook-xsl)
|
||||
("xmllint" ,libxml2)
|
||||
("xsltproc" ,libxslt)
|
||||
;; These are needed for the tests.
|
||||
("cvs" ,cvs)
|
||||
("python" ,python-2)
|
||||
|
|
|
@ -1311,7 +1311,7 @@ (define-public avidemux
|
|||
(define-public vapoursynth
|
||||
(package
|
||||
(name "vapoursynth")
|
||||
(version "35")
|
||||
(version "37")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
|
@ -1320,7 +1320,7 @@ (define-public vapoursynth
|
|||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0629ys2lf618n9cc644xlvx0vx52v2fp3sx14p4mx5rg9nlasb3n"))))
|
||||
"1g3hc079jw4mz1cmkv2y28pdb556wqc8ql7iravgh1rg8j3f1zi5"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("autoconf" ,autoconf)
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2016, 2017 ng0 <contact.ng0@cryptolab.net>
|
||||
;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -22,6 +23,7 @@
|
|||
(define-module (gnu packages vim)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix build-system cmake)
|
||||
|
@ -58,16 +60,15 @@ (define-module (gnu packages vim)
|
|||
(define-public vim
|
||||
(package
|
||||
(name "vim")
|
||||
(version "8.0.0300")
|
||||
(version "8.0.0494")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/vim/vim/archive/v"
|
||||
version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(patches (search-patches "vim-CVE-2017-5953.patch"))
|
||||
(sha256
|
||||
(base32
|
||||
"04samk2bakyixbxyc3p0g6ypls45105sikibg0wc6lmak9bqjs85"))))
|
||||
"08kzimdyla35ndrbn68jf8pmzm7nd2qrydnvk57j089m6ajic62r"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:test-target "test"
|
||||
|
@ -128,9 +129,27 @@ (define-public vim-full
|
|||
"--enable-xim"
|
||||
"--disable-selinux"
|
||||
"--enable-gui")
|
||||
,@(package-arguments vim)))
|
||||
,@(substitute-keyword-arguments (package-arguments vim)
|
||||
((#:phases phases)
|
||||
`(modify-phases ,phases
|
||||
(add-after 'build 'drop-failing-tests
|
||||
(lambda _
|
||||
;; These tests fail mysteriously with GUI enabled.
|
||||
;; https://github.com/vim/vim/issues/1460
|
||||
(substitute* "src/testdir/test_cmdline.vim"
|
||||
(("call assert_equal\\(.+getcmd.+\\(\\)\\)") ""))
|
||||
#t))
|
||||
(add-before 'check 'start-xserver
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
;; Some tests require an X server, but does not start one.
|
||||
(let ((xorg-server (assoc-ref inputs "xorg-server"))
|
||||
(display ":1"))
|
||||
(setenv "DISPLAY" display)
|
||||
(zero? (system (string-append xorg-server "/bin/Xvfb "
|
||||
display " &")))))))))))
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
`(("pkg-config" ,pkg-config)
|
||||
("xorg-server" ,xorg-server)))
|
||||
(inputs
|
||||
`(("acl" ,acl)
|
||||
("atk" ,atk)
|
||||
|
|
|
@ -626,11 +626,7 @@ (define-public tinyproxy
|
|||
%standard-phases)))
|
||||
;; All of the below are used to generate the documentation
|
||||
;; (Should they be propagated inputs of asciidoc ??)
|
||||
(native-inputs `(("asciidoc" ,asciidoc)
|
||||
("libxml2" ,libxml2)
|
||||
("docbook-xml" ,docbook-xml)
|
||||
("docbook-xsl" ,docbook-xsl)
|
||||
("libxslt" ,libxslt)))
|
||||
(native-inputs `(("asciidoc" ,asciidoc)))
|
||||
(home-page "https://tinyproxy.github.io/")
|
||||
(synopsis "Light-weight HTTP/HTTPS proxy daemon")
|
||||
(description "Tinyproxy is a light-weight HTTP/HTTPS proxy
|
||||
|
@ -4479,11 +4475,7 @@ (define-public qutebrowser
|
|||
"0pf91nc0xcykahc3x7ww525c9czm8zpg80nxl8n2mrzc4ilgvass"))))
|
||||
(build-system python-build-system)
|
||||
(native-inputs
|
||||
`(("asciidoc" ,asciidoc)
|
||||
("docbook-xsl" ,docbook-xsl)
|
||||
("docbook-xml" ,docbook-xml)
|
||||
("libxml2" ,libxml2) ;for xmllint
|
||||
("libxslt" ,libxslt))) ;for xsltproc
|
||||
`(("asciidoc" ,asciidoc)))
|
||||
(inputs
|
||||
`(("python-colorama" ,python-colorama)
|
||||
("python-cssutils" ,python-cssutils)
|
||||
|
|
|
@ -177,26 +177,12 @@ (define-public i3-wm
|
|||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:make-flags
|
||||
(let* ((docbook-xsl-name-version ,(string-append
|
||||
(package-name docbook-xsl) "-"
|
||||
(package-version docbook-xsl)))
|
||||
(docbook-xsl-catalog-file (string-append
|
||||
(assoc-ref %build-inputs "docbook-xsl")
|
||||
"/xml/xsl/"
|
||||
docbook-xsl-name-version
|
||||
"/catalog.xml"))
|
||||
(docbook-xml-catalog-file (string-append
|
||||
(assoc-ref %build-inputs "docbook-xml")
|
||||
"/xml/dtd/docbook/catalog.xml")))
|
||||
;; Reference the catalog files required to build the manpages.
|
||||
(list (string-append "XML_CATALOG_FILES=" docbook-xsl-catalog-file " "
|
||||
docbook-xml-catalog-file)
|
||||
"CC=gcc"
|
||||
(string-append "PREFIX=" %output)
|
||||
;; This works around the following error:
|
||||
;; 'error: ‘for’ loop initial declarations are only allowed in C99
|
||||
;; or C11 mode'
|
||||
"CFLAGS=-std=c11"))
|
||||
(list "CC=gcc"
|
||||
(string-append "PREFIX=" %output)
|
||||
;; This works around the following error:
|
||||
;; 'error: ‘for’ loop initial declarations are only allowed in C99
|
||||
;; or C11 mode'
|
||||
"CFLAGS=-std=c11")
|
||||
;; The build system tries to build in a separate directory, but that
|
||||
;; seems to be unnecessary.
|
||||
#:configure-flags '("--disable-builddir")
|
||||
|
@ -215,7 +201,6 @@ (define-public i3-wm
|
|||
("asciidoc" ,asciidoc)
|
||||
("xmlto" ,xmlto)
|
||||
("perl-pod-simple" ,perl-pod-simple)
|
||||
("docbook-xml" ,docbook-xml)
|
||||
("libx11" ,libx11)
|
||||
("pcre" ,pcre)
|
||||
("startup-notification" ,startup-notification)
|
||||
|
@ -226,6 +211,7 @@ (define-public i3-wm
|
|||
("perl" ,perl)
|
||||
("pkg-config" ,pkg-config)
|
||||
;; For building the documentation.
|
||||
("libxml2" ,libxml2)
|
||||
("docbook-xsl" ,docbook-xsl)))
|
||||
(home-page "https://i3wm.org/")
|
||||
(synopsis "Improved tiling window manager")
|
||||
|
|
|
@ -65,7 +65,7 @@ (define-public wxwidgets
|
|||
("libsm" ,libsm)
|
||||
("libtiff" ,libtiff)
|
||||
("mesa" ,mesa)
|
||||
("webkitgtk" ,webkitgtk-2.4)
|
||||
("webkitgtk" ,webkitgtk)
|
||||
("sdl" ,sdl)))
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
|
@ -89,34 +89,6 @@ (define-public wxwidgets
|
|||
and many other languages.")
|
||||
(license (list l:lgpl2.0+ (l:fsf-free "file://doc/license.txt")))))
|
||||
|
||||
(define-public wxwidgets-2
|
||||
(package
|
||||
(inherit wxwidgets)
|
||||
(version "2.8.12")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/wxWidgets/wxWidgets/"
|
||||
"releases/download/v" version
|
||||
"/wxGTK-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "1gjs9vfga60mk4j4ngiwsk9h6c7j22pw26m3asxr1jwvqbr8kkqk"))))
|
||||
(inputs
|
||||
`(("gtk" ,gtk+-2)
|
||||
("libjpeg" ,libjpeg)
|
||||
("libtiff" ,libtiff)
|
||||
("libmspack" ,libmspack)
|
||||
("sdl" ,sdl)
|
||||
("unixodbc" ,unixodbc)))
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
'("--enable-unicode" "--with-regex=sys" "--with-sdl")
|
||||
#:make-flags
|
||||
(list (string-append "LDFLAGS=-Wl,-rpath="
|
||||
(assoc-ref %outputs "out") "/lib"))
|
||||
;; No 'check' target.
|
||||
#:tests? #f))))
|
||||
|
||||
(define-public wxwidgets-gtk2
|
||||
(package (inherit wxwidgets)
|
||||
(inputs `(("gtk+" ,gtk+-2)
|
||||
|
|
|
@ -31,6 +31,8 @@ (define-module (gnu services base)
|
|||
#:use-module (gnu system shadow) ; 'user-account', etc.
|
||||
#:use-module (gnu system file-systems) ; 'file-system', etc.
|
||||
#:use-module (gnu system mapped-devices)
|
||||
#:use-module ((gnu system linux-initrd)
|
||||
#:select (file-system-packages))
|
||||
#:use-module (gnu packages admin)
|
||||
#:use-module ((gnu packages linux)
|
||||
#:select (alsa-utils crda eudev e2fsprogs fuse gpm kbd lvm2 rng-tools))
|
||||
|
|
|
@ -260,28 +260,42 @@ (define* (lsh-service #:key
|
|||
(define-record-type* <openssh-configuration>
|
||||
openssh-configuration make-openssh-configuration
|
||||
openssh-configuration?
|
||||
(openssh openssh-configuration-openssh ;package
|
||||
;; <package>
|
||||
(openssh openssh-configuration-openssh
|
||||
(default openssh))
|
||||
;; string
|
||||
(pid-file openssh-configuration-pid-file
|
||||
(default "/var/run/sshd.pid"))
|
||||
(port-number openssh-configuration-port-number ;integer
|
||||
;; integer
|
||||
(port-number openssh-configuration-port-number
|
||||
(default 22))
|
||||
(permit-root-login openssh-configuration-permit-root-login ;Boolean | 'without-password
|
||||
;; Boolean | 'without-password
|
||||
(permit-root-login openssh-configuration-permit-root-login
|
||||
(default #f))
|
||||
(allow-empty-passwords? openssh-configuration-allow-empty-passwords? ;Boolean
|
||||
;; Boolean
|
||||
(allow-empty-passwords? openssh-configuration-allow-empty-passwords?
|
||||
(default #f))
|
||||
(password-authentication? openssh-configuration-password-authentication? ;Boolean
|
||||
;; Boolean
|
||||
(password-authentication? openssh-configuration-password-authentication?
|
||||
(default #t))
|
||||
;; Boolean
|
||||
(public-key-authentication? openssh-configuration-public-key-authentication?
|
||||
(default #t)) ;Boolean
|
||||
(x11-forwarding? openssh-configuration-x11-forwarding? ;Boolean
|
||||
(default #t))
|
||||
;; Boolean
|
||||
(x11-forwarding? openssh-configuration-x11-forwarding?
|
||||
(default #f))
|
||||
;; Boolean
|
||||
(challenge-response-authentication? openssh-challenge-response-authentication?
|
||||
(default #f)) ;Boolean
|
||||
(default #f))
|
||||
;; Boolean
|
||||
(use-pam? openssh-configuration-use-pam?
|
||||
(default #t)) ;Boolean
|
||||
(default #t))
|
||||
;; Boolean
|
||||
(print-last-log? openssh-configuration-print-last-log?
|
||||
(default #t))) ;Boolean
|
||||
(default #t))
|
||||
;; list of two-element lists
|
||||
(subsystems openssh-configuration-subsystems
|
||||
(default '(("sftp" "internal-sftp")))))
|
||||
|
||||
(define %openssh-accounts
|
||||
(list (user-group (name "sshd") (system? #t))
|
||||
|
@ -316,40 +330,48 @@ (define (openssh-config-file config)
|
|||
"Return the sshd configuration file corresponding to CONFIG."
|
||||
(computed-file
|
||||
"sshd_config"
|
||||
#~(call-with-output-file #$output
|
||||
(lambda (port)
|
||||
(display "# Generated by 'openssh-service'.\n" port)
|
||||
(format port "Port ~a\n"
|
||||
#$(number->string (openssh-configuration-port-number config)))
|
||||
(format port "PermitRootLogin ~a\n"
|
||||
#$(match (openssh-configuration-permit-root-login config)
|
||||
(#t "yes")
|
||||
(#f "no")
|
||||
('without-password "without-password")))
|
||||
(format port "PermitEmptyPasswords ~a\n"
|
||||
#$(if (openssh-configuration-allow-empty-passwords? config)
|
||||
"yes" "no"))
|
||||
(format port "PasswordAuthentication ~a\n"
|
||||
#$(if (openssh-configuration-password-authentication? config)
|
||||
"yes" "no"))
|
||||
(format port "PubkeyAuthentication ~a\n"
|
||||
#$(if (openssh-configuration-public-key-authentication? config)
|
||||
"yes" "no"))
|
||||
(format port "X11Forwarding ~a\n"
|
||||
#$(if (openssh-configuration-x11-forwarding? config)
|
||||
"yes" "no"))
|
||||
(format port "PidFile ~a\n"
|
||||
#$(openssh-configuration-pid-file config))
|
||||
(format port "ChallengeResponseAuthentication ~a\n"
|
||||
#$(if (openssh-challenge-response-authentication? config)
|
||||
"yes" "no"))
|
||||
(format port "UsePAM ~a\n"
|
||||
#$(if (openssh-configuration-use-pam? config)
|
||||
"yes" "no"))
|
||||
(format port "PrintLastLog ~a\n"
|
||||
#$(if (openssh-configuration-print-last-log? config)
|
||||
"yes" "no"))
|
||||
#t))))
|
||||
#~(begin
|
||||
(use-modules (ice-9 match))
|
||||
(call-with-output-file #$output
|
||||
(lambda (port)
|
||||
(display "# Generated by 'openssh-service'.\n" port)
|
||||
(format port "Port ~a\n"
|
||||
#$(number->string
|
||||
(openssh-configuration-port-number config)))
|
||||
(format port "PermitRootLogin ~a\n"
|
||||
#$(match (openssh-configuration-permit-root-login config)
|
||||
(#t "yes")
|
||||
(#f "no")
|
||||
('without-password "without-password")))
|
||||
(format port "PermitEmptyPasswords ~a\n"
|
||||
#$(if (openssh-configuration-allow-empty-passwords? config)
|
||||
"yes" "no"))
|
||||
(format port "PasswordAuthentication ~a\n"
|
||||
#$(if (openssh-configuration-password-authentication? config)
|
||||
"yes" "no"))
|
||||
(format port "PubkeyAuthentication ~a\n"
|
||||
#$(if (openssh-configuration-public-key-authentication?
|
||||
config)
|
||||
"yes" "no"))
|
||||
(format port "X11Forwarding ~a\n"
|
||||
#$(if (openssh-configuration-x11-forwarding? config)
|
||||
"yes" "no"))
|
||||
(format port "PidFile ~a\n"
|
||||
#$(openssh-configuration-pid-file config))
|
||||
(format port "ChallengeResponseAuthentication ~a\n"
|
||||
#$(if (openssh-challenge-response-authentication? config)
|
||||
"yes" "no"))
|
||||
(format port "UsePAM ~a\n"
|
||||
#$(if (openssh-configuration-use-pam? config)
|
||||
"yes" "no"))
|
||||
(format port "PrintLastLog ~a\n"
|
||||
#$(if (openssh-configuration-print-last-log? config)
|
||||
"yes" "no"))
|
||||
(for-each
|
||||
(match-lambda
|
||||
((name command) (format port "Subsystem\t~a\t~a\n" name command)))
|
||||
'#$(openssh-configuration-subsystems config))
|
||||
#t)))))
|
||||
|
||||
(define (openssh-shepherd-service config)
|
||||
"Return a <shepherd-service> for openssh with CONFIG."
|
||||
|
|
|
@ -22,8 +22,6 @@ (define-module (gnu system file-systems)
|
|||
#:use-module (guix records)
|
||||
#:use-module ((gnu build file-systems)
|
||||
#:select (string->uuid uuid->string))
|
||||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu packages disk)
|
||||
#:re-export (string->uuid
|
||||
uuid->string)
|
||||
#:export (<file-system>
|
||||
|
@ -41,6 +39,8 @@ (define-module (gnu system file-systems)
|
|||
file-system-create-mount-point?
|
||||
file-system-dependencies
|
||||
|
||||
file-system-type-predicate
|
||||
|
||||
file-system->spec
|
||||
spec->file-system
|
||||
specification->file-system-mapping
|
||||
|
@ -67,8 +67,6 @@ (define-module (gnu system file-systems)
|
|||
|
||||
file-system-mapping->bind-mount
|
||||
|
||||
file-system-packages
|
||||
|
||||
%store-mapping
|
||||
%network-configuration-files
|
||||
%network-file-mappings))
|
||||
|
@ -77,6 +75,9 @@ (define-module (gnu system file-systems)
|
|||
;;;
|
||||
;;; Declaring file systems to be mounted.
|
||||
;;;
|
||||
;;; Note: this file system is used both in the Shepherd and on the "host
|
||||
;;; side", so it must not include (gnu packages …) modules.
|
||||
;;;
|
||||
;;; Code:
|
||||
|
||||
;; File system declaration.
|
||||
|
@ -416,25 +417,9 @@ (define %network-file-mappings
|
|||
%network-configuration-files))
|
||||
|
||||
(define (file-system-type-predicate type)
|
||||
"Return a predicate that, when passed a file system, returns #t if that file
|
||||
system has the given TYPE."
|
||||
(lambda (fs)
|
||||
(string=? (file-system-type fs) type)))
|
||||
|
||||
(define* (file-system-packages file-systems #:key (volatile-root? #f))
|
||||
`(,@(if (find (lambda (fs)
|
||||
(string-prefix? "ext" (file-system-type fs)))
|
||||
file-systems)
|
||||
(list e2fsck/static)
|
||||
'())
|
||||
,@(if (find (lambda (fs)
|
||||
(string-suffix? "fat" (file-system-type fs)))
|
||||
file-systems)
|
||||
(list fatfsck/static)
|
||||
'())
|
||||
,@(if (find (file-system-type-predicate "btrfs") file-systems)
|
||||
(list btrfs-progs/static)
|
||||
'())
|
||||
,@(if volatile-root?
|
||||
(list unionfs-fuse/static)
|
||||
'())))
|
||||
|
||||
;;; file-systems.scm ends here
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2013, 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2016 Mark H Weaver <mhw@netris.org>
|
||||
;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
|
||||
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
|
||||
|
@ -43,6 +43,7 @@ (define-module (gnu system linux-initrd)
|
|||
#:use-module (srfi srfi-26)
|
||||
#:export (expression->initrd
|
||||
raw-initrd
|
||||
file-system-packages
|
||||
base-initrd))
|
||||
|
||||
|
||||
|
@ -199,6 +200,26 @@ (define device-mapping-commands
|
|||
#:volatile-root? '#$volatile-root?)))
|
||||
#:name "raw-initrd")))
|
||||
|
||||
(define* (file-system-packages file-systems #:key (volatile-root? #f))
|
||||
"Return the list of statically-linked, stripped packages to check
|
||||
FILE-SYSTEMS."
|
||||
`(,@(if (find (lambda (fs)
|
||||
(string-prefix? "ext" (file-system-type fs)))
|
||||
file-systems)
|
||||
(list e2fsck/static)
|
||||
'())
|
||||
,@(if (find (lambda (fs)
|
||||
(string-suffix? "fat" (file-system-type fs)))
|
||||
file-systems)
|
||||
(list fatfsck/static)
|
||||
'())
|
||||
,@(if (find (file-system-type-predicate "btrfs") file-systems)
|
||||
(list btrfs-progs/static)
|
||||
'())
|
||||
,@(if volatile-root?
|
||||
(list unionfs-fuse/static)
|
||||
'())))
|
||||
|
||||
(define* (base-initrd file-systems
|
||||
#:key
|
||||
(linux linux-libre)
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2016 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -54,10 +55,12 @@ (define (os-with-service service)
|
|||
(services (cons service
|
||||
(operating-system-user-services %base-os)))))
|
||||
|
||||
(define (run-ssh-test name ssh-service pid-file)
|
||||
(define* (run-ssh-test name ssh-service pid-file #:key (sftp? #f))
|
||||
"Run a test of an OS running SSH-SERVICE, which writes its PID to PID-FILE.
|
||||
SSH-SERVICE must be configured to listen on port 22 and to allow for root and
|
||||
empty-password logins."
|
||||
empty-password logins.
|
||||
|
||||
When SFTP? is true, run an SFTP server test."
|
||||
(mlet* %store-monad ((os -> (marionette-operating-system
|
||||
(os-with-service ssh-service)
|
||||
#:imported-modules '((gnu services herd)
|
||||
|
@ -80,7 +83,8 @@ (define test
|
|||
(ice-9 match)
|
||||
(ssh session)
|
||||
(ssh auth)
|
||||
(ssh channel))
|
||||
(ssh channel)
|
||||
(ssh sftp))
|
||||
|
||||
(define marionette
|
||||
;; Enable TCP forwarding of the guest's port 22.
|
||||
|
@ -101,6 +105,47 @@ (define (wait-for-file file)
|
|||
(error "file didn't show up" ,file))))
|
||||
marionette))
|
||||
|
||||
(define (make-session-for-test)
|
||||
"Make a session with predefined parameters for a test."
|
||||
(make-session #:user "root"
|
||||
#:port 2222
|
||||
#:host "localhost"
|
||||
#:log-verbosity 'protocol))
|
||||
|
||||
(define (call-with-connected-session proc)
|
||||
"Call the one-argument procedure PROC with a freshly created and
|
||||
connected SSH session object, return the result of the procedure call. The
|
||||
session is disconnected when the PROC is finished."
|
||||
(let ((session (make-session-for-test)))
|
||||
(dynamic-wind
|
||||
(lambda ()
|
||||
(let ((result (connect! session)))
|
||||
(unless (equal? result 'ok)
|
||||
(error "Could not connect to a server"
|
||||
session result))))
|
||||
(lambda () (proc session))
|
||||
(lambda () (disconnect! session)))))
|
||||
|
||||
(define (call-with-connected-session/auth proc)
|
||||
"Make an authenticated session. We should be able to connect as
|
||||
root with an empty password."
|
||||
(call-with-connected-session
|
||||
(lambda (session)
|
||||
;; Try the simple authentication methods. Dropbear requires
|
||||
;; 'none' when there are no passwords, whereas OpenSSH accepts
|
||||
;; 'password' with an empty password.
|
||||
(let loop ((methods (list (cut userauth-password! <> "")
|
||||
(cut userauth-none! <>))))
|
||||
(match methods
|
||||
(()
|
||||
(error "all the authentication methods failed"))
|
||||
((auth rest ...)
|
||||
(match (pk 'auth (auth session))
|
||||
('success
|
||||
(proc session))
|
||||
('denied
|
||||
(loop rest)))))))))
|
||||
|
||||
(mkdir #$output)
|
||||
(chdir #$output)
|
||||
|
||||
|
@ -131,37 +176,34 @@ (define (wait-for-file file)
|
|||
(current-services))))
|
||||
marionette))
|
||||
|
||||
;; Connect to the guest over SSH. We should be able to connect as
|
||||
;; "root" with an empty password. Make sure we can run a shell
|
||||
;; Connect to the guest over SSH. Make sure we can run a shell
|
||||
;; command there.
|
||||
(test-equal "connect"
|
||||
(test-equal "shell command"
|
||||
'hello
|
||||
(let* ((session (make-session #:user "root"
|
||||
#:port 2222 #:host "localhost"
|
||||
#:log-verbosity 'protocol)))
|
||||
(match (connect! session)
|
||||
('ok
|
||||
;; Try the simple authentication methods. Dropbear
|
||||
;; requires 'none' when there are no passwords, whereas
|
||||
;; OpenSSH accepts 'password' with an empty password.
|
||||
(let loop ((methods (list (cut userauth-password! <> "")
|
||||
(cut userauth-none! <>))))
|
||||
(match methods
|
||||
(()
|
||||
(error "all the authentication methods failed"))
|
||||
((auth rest ...)
|
||||
(match (pk 'auth (auth session))
|
||||
('success
|
||||
;; FIXME: 'get-server-public-key' segfaults.
|
||||
;; (get-server-public-key session)
|
||||
(let ((channel (make-channel session)))
|
||||
(channel-open-session channel)
|
||||
(channel-request-exec channel
|
||||
"echo hello > /root/witness")
|
||||
(and (zero? (channel-get-exit-status channel))
|
||||
(wait-for-file "/root/witness"))))
|
||||
('denied
|
||||
(loop rest))))))))))
|
||||
(call-with-connected-session/auth
|
||||
(lambda (session)
|
||||
;; FIXME: 'get-server-public-key' segfaults.
|
||||
;; (get-server-public-key session)
|
||||
(let ((channel (make-channel session)))
|
||||
(channel-open-session channel)
|
||||
(channel-request-exec channel "echo hello > /root/witness")
|
||||
(and (zero? (channel-get-exit-status channel))
|
||||
(wait-for-file "/root/witness"))))))
|
||||
|
||||
;; Connect to the guest over SFTP. Make sure we can write and
|
||||
;; read a file there.
|
||||
(unless #$sftp?
|
||||
(test-skip 1))
|
||||
(test-equal "SFTP file writing and reading"
|
||||
'hello
|
||||
(call-with-connected-session/auth
|
||||
(lambda (session)
|
||||
(let ((sftp-session (make-sftp-session session))
|
||||
(witness "/root/sftp-witness"))
|
||||
(call-with-remote-output-file sftp-session witness
|
||||
(cut display "hello" <>))
|
||||
(call-with-remote-input-file sftp-session witness
|
||||
read)))))
|
||||
|
||||
(test-end)
|
||||
(exit (= (test-runner-fail-count (test-runner-current)) 0)))))
|
||||
|
@ -179,7 +221,8 @@ (define %test-openssh
|
|||
(openssh-configuration
|
||||
(permit-root-login #t)
|
||||
(allow-empty-passwords? #t)))
|
||||
"/var/run/sshd.pid"))))
|
||||
"/var/run/sshd.pid"
|
||||
#:sftp? #t))))
|
||||
|
||||
(define %test-dropbear
|
||||
(system-test
|
||||
|
|
|
@ -241,7 +241,18 @@ (define (nar-uri-abbreviation uri)
|
|||
(define* (ftp-fetch uri file #:key timeout)
|
||||
"Fetch data from URI and write it to FILE. Return FILE on success. Bail
|
||||
out if the connection could not be established in less than TIMEOUT seconds."
|
||||
(let* ((conn (ftp-open (uri-host uri) #:timeout timeout))
|
||||
(let* ((userinfo (string-split (uri-userinfo uri) #\:))
|
||||
(conn (match userinfo
|
||||
(("")
|
||||
(ftp-open (uri-host uri) #:timeout timeout))
|
||||
(((? string? user))
|
||||
(ftp-open (uri-host uri) #:timeout timeout
|
||||
#:username user))
|
||||
(((? string? user) (? string? pass))
|
||||
(ftp-open (uri-host uri) #:timeout timeout
|
||||
#:username user
|
||||
#:password pass))
|
||||
(_ (ftp-open (uri-host uri) #:timeout timeout))))
|
||||
(size (false-if-exception (ftp-size conn (uri-path uri))))
|
||||
(in (ftp-retr conn (basename (uri-path uri))
|
||||
(dirname (uri-path uri)))))
|
||||
|
|
|
@ -125,7 +125,6 @@ (define %mirrors
|
|||
"http://vorboss.dl.sourceforge.net/project/"
|
||||
"http://netassist.dl.sourceforge.net/project/")
|
||||
(kernel.org
|
||||
"http://www.all.kernel.org/pub/"
|
||||
"http://ramses.wh2.tu-dresden.de/pub/mirrors/kernel.org/"
|
||||
"http://linux-kernel.uio.no/pub/"
|
||||
"http://kernel.osuosl.org/pub/"
|
||||
|
|
|
@ -121,7 +121,10 @@ (define (raise-error errno)
|
|||
(raise-error errno)))))
|
||||
(connect s sockaddr)))
|
||||
|
||||
(define* (ftp-open host #:optional (port "ftp") #:key timeout)
|
||||
(define* (ftp-open host #:optional (port "ftp")
|
||||
#:key timeout
|
||||
(username "anonymous")
|
||||
(password "guix@example.com"))
|
||||
"Open an FTP connection to HOST on PORT (a service-identifying string,
|
||||
or a TCP port number), and return it.
|
||||
|
||||
|
@ -156,7 +159,7 @@ (define addresses
|
|||
(if (eqv? code 220)
|
||||
(begin
|
||||
;;(%ftp-command "OPTS UTF8 ON" 200 s)
|
||||
(%ftp-login "anonymous" "guix@example.com" s)
|
||||
(%ftp-login username password s)
|
||||
(%make-ftp-connection s ai))
|
||||
(begin
|
||||
(close s)
|
||||
|
|
|
@ -30,10 +30,12 @@
|
|||
|
||||
(define config-lookup
|
||||
(let ((config '(("prefix" . "@prefix@")
|
||||
("exec_prefix" . "@exec_prefix@")
|
||||
("datarootdir" . "@datarootdir@")
|
||||
("guilemoduledir" . "@guilemoduledir@")
|
||||
("guileobjectdir" . "@guileobjectdir@")
|
||||
("localedir" . "@localedir@")))
|
||||
(var-ref-regexp (make-regexp "\\$\\{([a-z]+)\\}")))
|
||||
(var-ref-regexp (make-regexp "\\$\\{([a-z_]+)\\}")))
|
||||
(define (expand-var-ref match)
|
||||
(lookup (match:substring match 1)))
|
||||
(define (expand str)
|
||||
|
@ -45,14 +47,17 @@
|
|||
|
||||
(define (maybe-augment-load-paths!)
|
||||
(unless (getenv "GUIX_UNINSTALLED")
|
||||
(let ((module-dir (config-lookup "guilemoduledir")))
|
||||
(let ((module-dir (config-lookup "guilemoduledir"))
|
||||
(object-dir (config-lookup "guileobjectdir")))
|
||||
(push! module-dir %load-path)
|
||||
(push! module-dir %load-compiled-path))
|
||||
(push! object-dir %load-compiled-path))
|
||||
(let ((updates-dir (and=> (or (getenv "XDG_CONFIG_HOME")
|
||||
(and=> (getenv "HOME")
|
||||
(cut string-append <> "/.config")))
|
||||
(cut string-append <> "/guix/latest"))))
|
||||
(when (and updates-dir (file-exists? updates-dir))
|
||||
;; XXX: Currently 'guix pull' puts both .scm and .go files in
|
||||
;; UPDATES-DIR.
|
||||
(push! updates-dir %load-path)
|
||||
(push! updates-dir %load-compiled-path)))))
|
||||
|
||||
|
|
|
@ -20,8 +20,10 @@ (define-module (test-file-systems)
|
|||
#:use-module (guix store)
|
||||
#:use-module (guix modules)
|
||||
#:use-module (gnu system file-systems)
|
||||
#:use-module (srfi srfi-1)
|
||||
#:use-module (srfi srfi-64)
|
||||
#:use-module (rnrs bytevectors))
|
||||
#:use-module (rnrs bytevectors)
|
||||
#:use-module (ice-9 match))
|
||||
|
||||
;; Test the (gnu system file-systems) module.
|
||||
|
||||
|
@ -80,4 +82,12 @@ (define-module (test-file-systems)
|
|||
(not (member '(guix config)
|
||||
(source-module-closure '((gnu system file-systems))))))
|
||||
|
||||
(test-equal "does not pull (gnu packages …)"
|
||||
;; Same story: (gnu packages …) should not be pulled.
|
||||
#f
|
||||
(find (match-lambda
|
||||
(('gnu 'packages _ ..1) #t)
|
||||
(_ #f))
|
||||
(source-module-closure '((gnu system file-systems)))))
|
||||
|
||||
(test-end)
|
||||
|
|
Loading…
Reference in a new issue