Merge branch 'master' into core-updates
This commit is contained in:
commit
aedc6e9fc9
|
@ -11626,7 +11626,7 @@ Script to run after starting xorg-server.
|
|||
@item @code{xdisplay-stop} (default @code{#~(string-append #$sddm "/share/sddm/scripts/Xstop")})
|
||||
Script to run before stopping xorg-server.
|
||||
|
||||
@item @code{xsession-command} (default: @code{xinitr })
|
||||
@item @code{xsession-command} (default: @code{xinitrc})
|
||||
Script to run before starting a X session.
|
||||
|
||||
@item @code{xsessions-directory} (default: "/run/current-system/profile/share/xsessions")
|
||||
|
@ -12632,7 +12632,7 @@ profile, and extends polkit with the actions from
|
|||
@end deffn
|
||||
|
||||
Because the GNOME, XFCE and MATE desktop services pull in so many packages,
|
||||
the default @code{%desktop-services} variable doesn't include either of
|
||||
the default @code{%desktop-services} variable doesn't include any of
|
||||
them by default. To add GNOME, XFCE or MATE, just @code{cons} them onto
|
||||
@code{%desktop-services} in the @code{services} field of your
|
||||
@code{operating-system}:
|
||||
|
|
|
@ -1094,6 +1094,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/slim-login.patch \
|
||||
%D%/packages/patches/sooperlooper-build-with-wx-30.patch \
|
||||
%D%/packages/patches/steghide-fixes.patch \
|
||||
%D%/packages/patches/strace-kernel-4.16.patch \
|
||||
%D%/packages/patches/superlu-dist-scotchmetis.patch \
|
||||
%D%/packages/patches/swish-e-search.patch \
|
||||
%D%/packages/patches/swish-e-format-security.patch \
|
||||
|
@ -1154,6 +1155,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/wavpack-CVE-2018-7253.patch \
|
||||
%D%/packages/patches/wavpack-CVE-2018-7254.patch \
|
||||
%D%/packages/patches/weechat-python.patch \
|
||||
%D%/packages/patches/wesnoth-fix-std-bad-cast.patch \
|
||||
%D%/packages/patches/wicd-bitrate-none-fix.patch \
|
||||
%D%/packages/patches/wicd-get-selected-profile-fix.patch \
|
||||
%D%/packages/patches/wicd-urwid-1.3.patch \
|
||||
|
|
|
@ -50,8 +50,11 @@
|
|||
#:use-module (guix build-system trivial)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages bash)
|
||||
#:use-module (gnu packages check)
|
||||
#:use-module (gnu packages cyrus-sasl)
|
||||
#:use-module (gnu packages dns)
|
||||
#:use-module (gnu packages file)
|
||||
#:use-module (gnu packages ncurses)
|
||||
#:use-module (gnu packages readline)
|
||||
#:use-module (gnu packages linux)
|
||||
|
@ -70,6 +73,7 @@
|
|||
#:use-module (gnu packages gnupg)
|
||||
#:use-module (gnu packages bison)
|
||||
#:use-module (gnu packages flex)
|
||||
#:use-module (gnu packages gl)
|
||||
#:use-module (gnu packages glib)
|
||||
#:use-module (gnu packages openldap)
|
||||
#:use-module (gnu packages mcrypt)
|
||||
|
@ -97,7 +101,8 @@
|
|||
#:use-module (gnu packages xml)
|
||||
#:use-module (gnu packages boost)
|
||||
#:use-module (gnu packages elf)
|
||||
#:use-module (gnu packages mpi))
|
||||
#:use-module (gnu packages mpi)
|
||||
#:use-module (gnu packages web))
|
||||
|
||||
(define-public aide
|
||||
(package
|
||||
|
@ -2661,3 +2666,117 @@ Python loading in HPC environments.")
|
|||
;; This package supports x86_64 and PowerPC64
|
||||
(supported-systems '("x86_64-linux"))
|
||||
(license license:lgpl2.1)))
|
||||
|
||||
(define-public inxi-minimal
|
||||
(let ((real-name "inxi"))
|
||||
(package
|
||||
(name "inxi-minimal")
|
||||
(version "3.0.04-1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/smxi/inxi"
|
||||
"/archive/" version "/inxi.tar.gz"))
|
||||
(file-name (string-append real-name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"14zxdsjgh9dbijmpp0hhvg2yiqqfwnqgcc6x8dpl1v15z1h1r7pc"))))
|
||||
(build-system trivial-build-system)
|
||||
(inputs
|
||||
`(("bash" ,bash)
|
||||
("perl" ,perl)))
|
||||
(native-inputs
|
||||
`(("gzip" ,gzip)
|
||||
("tar" ,tar)))
|
||||
(arguments
|
||||
`(#:modules
|
||||
((guix build utils)
|
||||
(ice-9 match)
|
||||
(srfi srfi-26))
|
||||
#:builder
|
||||
(begin
|
||||
(use-modules (guix build utils)
|
||||
(ice-9 match)
|
||||
(srfi srfi-26))
|
||||
(setenv "PATH" (string-append
|
||||
(assoc-ref %build-inputs "bash") "/bin" ":"
|
||||
(assoc-ref %build-inputs "gzip") "/bin" ":"
|
||||
(assoc-ref %build-inputs "perl") "/bin" ":"
|
||||
(assoc-ref %build-inputs "tar") "/bin" ":"))
|
||||
(invoke "tar" "xvf" (assoc-ref %build-inputs "source"))
|
||||
(with-directory-excursion ,(string-append real-name "-" version)
|
||||
(with-fluids ((%default-port-encoding #f))
|
||||
(substitute* "inxi" (("/usr/bin/env perl") (which "perl"))))
|
||||
(let ((bin (string-append %output "/bin")))
|
||||
(install-file "inxi" bin)
|
||||
(wrap-program (string-append bin "/inxi")
|
||||
`("PATH" ":" =
|
||||
("$PATH"
|
||||
,@(map (lambda (input)
|
||||
(match input
|
||||
((name . store)
|
||||
(let ((store-append
|
||||
(cut string-append store <>)))
|
||||
(cond
|
||||
((member name '("util-linux"))
|
||||
(string-append (store-append "/bin") ":"
|
||||
(store-append "/sbin")))
|
||||
((member name '("dmidecode" "iproute2"))
|
||||
(store-append "/sbin"))
|
||||
(else (store-append "/bin")))))))
|
||||
%build-inputs)))
|
||||
`("PERL5LIB" ":" =
|
||||
,(delete
|
||||
""
|
||||
(map (match-lambda
|
||||
(((? (cut string-prefix? "perl-" <>) name) . dir)
|
||||
(string-append dir "/lib/perl5/site_perl"))
|
||||
(_ ""))
|
||||
%build-inputs)))))
|
||||
(invoke "gzip" "inxi.1")
|
||||
(install-file "inxi.1.gz"
|
||||
(string-append %output "/share/doc/man/man1")))
|
||||
#t)))
|
||||
(home-page "https://smxi.org/docs/inxi.htm")
|
||||
(synopsis "Full featured system information script")
|
||||
(description "Inxi is a system information script that can display
|
||||
various things about your hardware and software to users in an IRC chatroom or
|
||||
support forum. It runs with the /exec command in most IRC clients.")
|
||||
(license license:gpl3+))))
|
||||
|
||||
(define-public inxi
|
||||
(package
|
||||
(inherit inxi-minimal)
|
||||
(name "inxi")
|
||||
(inputs
|
||||
`(("dmidecode" ,dmidecode)
|
||||
("file" ,file)
|
||||
("bind:utils" ,isc-bind "utils") ; dig
|
||||
("gzip" ,gzip)
|
||||
("iproute2" ,iproute) ; ip
|
||||
("kmod" ,kmod) ; modinfo
|
||||
("lm-sensors" ,lm-sensors)
|
||||
("mesa-utils" ,mesa-utils)
|
||||
("pciutils" ,pciutils)
|
||||
("procps" ,procps)
|
||||
("tar" ,tar)
|
||||
("tree" ,tree)
|
||||
("util-linux" ,util-linux) ; lsblk
|
||||
("usbutils" ,usbutils) ; lsusb
|
||||
("wmctrl" ,wmctrl)
|
||||
("xdpyinfo" ,xdpyinfo)
|
||||
("xprop" ,xprop)
|
||||
("xrandr" ,xrandr)
|
||||
("coreutils" ,coreutils) ; uptime
|
||||
("inetutils" ,inetutils) ; ifconfig
|
||||
("perl-cpanel-json-xs" ,perl-cpanel-json-xs)
|
||||
("perl-http-tiny" ,perl-http-tiny)
|
||||
("perl-io-socket-ssl" ,perl-io-socket-ssl)
|
||||
("perl-json-xs" ,perl-json-xs)
|
||||
("perl-time-hires" ,perl-time-hires)
|
||||
;; TODO: Add more inputs:
|
||||
;; ipmi-sensors
|
||||
;; hddtemp
|
||||
;; perl-xml-dumper
|
||||
;; ipmitool
|
||||
,@(package-inputs inxi-minimal)))))
|
||||
|
|
|
@ -8396,6 +8396,8 @@ arXiv, Google Scholar, Library of Congress, etc.
|
|||
(base32
|
||||
"1a10snhg6nnnan6w9a7mcziy26vxbsr3c35i0gcarnkdp2yqng36"))))
|
||||
(build-system emacs-build-system)
|
||||
(propagated-inputs
|
||||
`(("emacs-helm" ,emacs-helm)))
|
||||
(home-page "https://github.com/syohex/emacs-helm-gtags")
|
||||
(synopsis "Emacs Helm interface to GNU Global")
|
||||
(description
|
||||
|
@ -9196,6 +9198,8 @@ CSS, JavaScript, JSON.")
|
|||
("(defvar helm-shell-history-file"
|
||||
`(expand-file-name "~/.bash_history"))))
|
||||
#t)))))
|
||||
(propagated-inputs
|
||||
`(("emacs-helm" ,emacs-helm)))
|
||||
(home-page "https://github.com/yuutayamada/helm-shell-history")
|
||||
(synopsis "Find shell history with Emacs Helm")
|
||||
(description "This package provides an Emacs Helm interface to search
|
||||
|
@ -9561,6 +9565,8 @@ functions for defining emms simple players of mpv.")
|
|||
(sha256
|
||||
(base32
|
||||
"0kdp7k7jnnrkhsg0xh1c3h7iz0vgi120gf5xwl1hxy61avivnxrn"))))
|
||||
(propagated-inputs
|
||||
`(("magit" ,magit)))
|
||||
(build-system emacs-build-system)
|
||||
(home-page "https://github.com/danielma/magit-org-todos.el")
|
||||
(synopsis "Get todo.org into Emacs Magit status")
|
||||
|
@ -9594,35 +9600,6 @@ buffer with each of your todos.")
|
|||
"The Fantastic File Finder for Emacs. Find files fast, using helm.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public emacs-dumb-jump
|
||||
(package
|
||||
(name "emacs-dumb-jump")
|
||||
(version "0.5.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/jacktasia/dumb-jump/archive/"
|
||||
"v" version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"07n0xjgpxjpf3vp9gxchkjpydyj0zm166930as0kwiwkhjlsirsf"))))
|
||||
(build-system emacs-build-system)
|
||||
(propagated-inputs
|
||||
`(("emacs-f" ,emacs-f)
|
||||
("emacs-s" ,emacs-s)
|
||||
("emacs-dash" ,emacs-dash)
|
||||
("emacs-popup" ,emacs-popup)))
|
||||
(home-page "https://github.com/jacktasia/dumb-jump")
|
||||
(synopsis "Jump to definition for multiple languages without configuration")
|
||||
(description "Dumb Jump is an Emacs \"jump to definition\" package with
|
||||
support for multiple programming languages that favors \"just working\" over
|
||||
speed or accuracy. This means minimal -- and ideally zero -- configuration
|
||||
with absolutely no stored indexes (TAGS) or persistent background processes.
|
||||
Dumb Jump performs best with The Silver Searcher `ag` or ripgrep `rg`
|
||||
installed. Dumb Jump requires at least GNU Emacs 24.3. ")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public emacs-lice-el
|
||||
(let ((commit "4339929927c62bd636f89bb39ea999d18d269250"))
|
||||
(package
|
||||
|
@ -9786,8 +9763,8 @@ split to display more windows and more buffers, the buffer exits
|
|||
(synopsis "Improved expressions that interactively evaluate Emacs Lisp")
|
||||
(description "This package improves and replaces the GNU Emacs commands
|
||||
that interactively evaluate Emacs Lisp expressions. The new commands replace
|
||||
standard key bindings and are all prefixed with rsw-elisp-. They work the
|
||||
same way as the old commands when called non-interactively; only the
|
||||
standard key bindings and are all prefixed with @code{rsw-elisp-}. They work
|
||||
the same way as the old commands when called non-interactively; only the
|
||||
interactive behavior should be different.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
|
@ -9934,6 +9911,8 @@ compilation/grep buffers. Works with @code{wgrep}, @code{ack}, @code{ag},
|
|||
(sha256
|
||||
(base32
|
||||
"08mjsi2f9s29fkk35cj1rrparjnkm836qmbfdwdz7y51f9varjbs"))))
|
||||
(propagated-inputs
|
||||
`(("emacs-helm" ,emacs-helm)))
|
||||
(build-system emacs-build-system)
|
||||
(home-page "https://github.com/emacs-helm/helm-firefox")
|
||||
(synopsis "Display firefox bookmarks with Emacs Helm interface")
|
||||
|
@ -10041,6 +10020,8 @@ keep Parens and Indentation inline with one another.")
|
|||
(sha256
|
||||
(base32
|
||||
"1x442ylrr7cx587s4rvfh187h3qbkr79qp95qr57a4igxkkw6183"))))
|
||||
(propagated-inputs
|
||||
`(("emacs-helm" ,emacs-helm)))
|
||||
(build-system emacs-build-system)
|
||||
(home-page "https://github.com/emacs-helm/helm-eww/")
|
||||
(synopsis "Helm interface to EWW")
|
||||
|
|
|
@ -139,7 +139,7 @@ TrueType (TTF) files.")
|
|||
"/share/fontconfig/conf.avail")))
|
||||
(copy-recursively "fontconfig" conf-dir)
|
||||
#t))))))
|
||||
(home-page "http://dejavu-fonts.org/")
|
||||
(home-page "https://dejavu-fonts.github.io/")
|
||||
(synopsis "Vera font family derivate with additional characters")
|
||||
(description "DejaVu provides an expanded version of the Vera font family
|
||||
aiming for quality and broader Unicode coverage while retaining the original
|
||||
|
|
|
@ -557,8 +557,7 @@ archive on a per-file basis.")
|
|||
"love-" version "-linux-src.tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1pkwiszmjs0xrwk0wqbc5cp9108b1y8gwsid0gqk1s0x09q9lpmw"))
|
||||
(modules '((guix build utils)))))
|
||||
"1pkwiszmjs0xrwk0wqbc5cp9108b1y8gwsid0gqk1s0x09q9lpmw"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
|
|
|
@ -1819,7 +1819,7 @@ falling, themeable graphics and sounds, and replays.")
|
|||
(define-public wesnoth
|
||||
(package
|
||||
(name "wesnoth")
|
||||
(version "1.12.6")
|
||||
(version "1.14.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/wesnoth/wesnoth-"
|
||||
|
@ -1828,17 +1828,11 @@ falling, themeable graphics and sounds, and replays.")
|
|||
name "-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"0kifp6g1dsr16m6ngjq2hx19h851fqg326ps3krnhpyix963h3x5"))))
|
||||
"09niq53y17faizhmd98anx3dha7hvacvj9a0a64lg8wn915cm0bw"))
|
||||
(patches (search-patches "wesnoth-fix-std-bad-cast.patch"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
'(#:tests? #f ; no check target
|
||||
#:configure-flags
|
||||
;; XXX: Failed to compile with '-Werror=old-style-cast'.
|
||||
;; boost/mpl/assert.hpp:313:58: error:
|
||||
;; use of old-style cast [-Werror=old-style-cast]
|
||||
;; [...]
|
||||
;; cc1plus: all warnings being treated as errors
|
||||
'("-DENABLE_STRICT_COMPILATION=OFF")))
|
||||
`(#:tests? #f)) ; no check target
|
||||
(native-inputs
|
||||
`(("gettext" ,gettext-minimal)
|
||||
("pkg-config" ,pkg-config)))
|
||||
|
@ -1847,12 +1841,10 @@ falling, themeable graphics and sounds, and replays.")
|
|||
("dbus" ,dbus)
|
||||
("fribidi" ,fribidi)
|
||||
("libvorbis" ,libvorbis)
|
||||
("openssl" ,openssl)
|
||||
("pango" ,pango)
|
||||
("sdl-image" ,sdl-image)
|
||||
("sdl-mixer" ,sdl-mixer)
|
||||
("sdl-net" ,sdl-net)
|
||||
("sdl-ttf" ,sdl-ttf)))
|
||||
(home-page "http://www.wesnoth.org/")
|
||||
("sdl-union" ,(sdl-union (list sdl2 sdl2-image sdl2-mixer sdl2-ttf)))))
|
||||
(home-page "https://www.wesnoth.org/")
|
||||
(synopsis "Turn-based strategy game")
|
||||
(description
|
||||
"The Battle for Wesnoth is a fantasy, turn based tactical strategy game,
|
||||
|
@ -1871,19 +1863,12 @@ next campaign.")
|
|||
(name "wesnoth-server")
|
||||
(inputs
|
||||
`(("boost" ,boost)
|
||||
("sdl-net" ,sdl-net)))
|
||||
("icu4c" ,icu4c)
|
||||
("openssl" ,openssl)
|
||||
("sdl2" ,sdl2)))
|
||||
(arguments
|
||||
(append
|
||||
(substitute-keyword-arguments (package-arguments wesnoth)
|
||||
((#:configure-flags configure-flags)
|
||||
`(append ,configure-flags (list "-DENABLE_GAME=OFF"))))
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
;; Delete game assets not required by the server.
|
||||
(add-after 'install 'delete-data
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(delete-file-recursively (string-append (assoc-ref outputs "out")
|
||||
"/share/wesnoth"))))))))
|
||||
`(#:configure-flags '("-DENABLE_GAME=OFF")
|
||||
,@(package-arguments wesnoth)))
|
||||
(synopsis "Dedicated @emph{Battle for Wesnoth} server")
|
||||
(description "This package contains a dedicated server for @emph{The
|
||||
Battle for Wesnoth}.")))
|
||||
|
|
|
@ -485,7 +485,17 @@ Go. It also includes runtime support libraries for these languages.")
|
|||
#t))))
|
||||
(inputs
|
||||
`(("isl" ,isl)
|
||||
,@(package-inputs gcc-4.7)))))
|
||||
,@(package-inputs gcc-4.7)))
|
||||
|
||||
(native-search-paths
|
||||
;; We have to use 'CPATH' for GCC > 5, not 'C_INCLUDE_PATH' & co., due to
|
||||
;; <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70129>.
|
||||
(list (search-path-specification
|
||||
(variable "CPATH")
|
||||
(files '("include")))
|
||||
(search-path-specification
|
||||
(variable "LIBRARY_PATH")
|
||||
(files '("lib" "lib64")))))))
|
||||
|
||||
(define-public gcc-7
|
||||
(package
|
||||
|
|
|
@ -2457,7 +2457,7 @@ libxml to ease remote use of the RESTful API.")
|
|||
(define-public libsoup
|
||||
(package
|
||||
(name "libsoup")
|
||||
(version "2.62.1")
|
||||
(version "2.62.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnome/sources/libsoup/"
|
||||
|
@ -2465,7 +2465,7 @@ libxml to ease remote use of the RESTful API.")
|
|||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1mw3b3j4f4ln7hl03jd296rx78dy35hzlq005a21r6qg5sndsdzh"))))
|
||||
"1dkrz1iwsswscayfmjxqv2q00b87snlq9nxdccn5vck0vbinylwy"))))
|
||||
(build-system gnu-build-system)
|
||||
(outputs '("out" "doc"))
|
||||
(arguments
|
||||
|
|
|
@ -926,6 +926,7 @@ Zerofree requires the file system to be unmounted or mounted read-only.")
|
|||
(method url-fetch)
|
||||
(uri (string-append home-page "/files/" version
|
||||
"/strace-" version ".tar.xz"))
|
||||
(patches (search-patches "strace-kernel-4.16.patch"))
|
||||
(sha256
|
||||
(base32
|
||||
"17dkpnsjxmys1ydidm9wcvc3wscsz44fmlxw3dclspn9cj9d1306"))))
|
||||
|
|
|
@ -1373,7 +1373,7 @@ hashing schemes plugin for @code{Dovecot}.")
|
|||
(home-page "http://isync.sourceforge.net/")
|
||||
(synopsis "Mailbox synchronization program")
|
||||
(description
|
||||
"isync/mbsync is command line tool for two-way synchronization of
|
||||
"isync/mbsync is a command-line tool for two-way synchronization of
|
||||
mailboxes. Currently Maildir and IMAP are supported types.")
|
||||
(license gpl2+)))
|
||||
|
||||
|
|
|
@ -5,7 +5,6 @@
|
|||
;;; Copyright © 2015 Alex Kost <alezost@gmail.com>
|
||||
;;; Copyright © 2015, 2016 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -82,19 +81,11 @@ a flexible and convenient way.")
|
|||
(remove file-is-directory?
|
||||
(find-files "src/tests" ".*")))
|
||||
#t)))
|
||||
(add-after 'unpack 'patch-absolute-paths
|
||||
(add-after 'unpack 'patch-iconv-path
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* "src/man.c"
|
||||
(("\"iconv\"")
|
||||
(string-append "\"" (which "iconv") "\"")))
|
||||
;; Embed an absolute reference to "preconv", otherwise it
|
||||
;; falls back to searching in PATH and ultimately fails
|
||||
;; to render unicode data (see <https://bugs.gnu.org/30785>).
|
||||
(substitute* "lib/encodings.c"
|
||||
(("groff_preconv = NULL")
|
||||
(string-append "groff_preconv = \""
|
||||
(assoc-ref inputs "groff-minimal")
|
||||
"/bin/preconv\"")))
|
||||
#t)))
|
||||
#:configure-flags
|
||||
(let ((groff (assoc-ref %build-inputs "groff"))
|
||||
|
|
|
@ -14,6 +14,7 @@
|
|||
;;; Copyright © 2017 Theodoros Foradis <theodoros@foradis.org>
|
||||
;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com>
|
||||
;;; Copyright © 2018 Leo Famulari <leo@famulari.name>
|
||||
;;; Copyright © 2018 Pierre-Antoine Rouby <contact@parouby.fr>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -181,6 +182,9 @@ end-to-end encryption.")
|
|||
(add-after 'install 'install-etc
|
||||
(lambda* (#:key (make-flags '()) #:allow-other-keys)
|
||||
(zero? (apply system* "make" "install-etc" make-flags))))
|
||||
(add-after 'install-etc 'install-lib
|
||||
(lambda* (#:key (make-flags '()) #:allow-other-keys)
|
||||
(zero? (apply system* "make" "install-dev" make-flags))))
|
||||
(replace 'configure
|
||||
;; bitlbee's configure script does not tolerate many of the
|
||||
;; variable settings that Guix would pass to it.
|
||||
|
@ -199,6 +203,49 @@ identi.ca and status.net).")
|
|||
(home-page "http://www.bitlbee.org/")
|
||||
(license (list license:gpl2+ license:bsd-2))))
|
||||
|
||||
(define-public bitlbee-discord
|
||||
(package
|
||||
(name "bitlbee-discord")
|
||||
(version "0.4.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri
|
||||
(string-append "https://github.com/sm00th/bitlbee-discord/"
|
||||
"archive/" version ".tar.gz"))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1bwqxlg6fwj3749y7w69n9jwsdzf5nl9xqiszbpv9k8x1422i1y1"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'autogen
|
||||
(lambda _
|
||||
(let ((sh (which "sh")))
|
||||
(substitute* "autogen.sh" (("/bin/sh") sh))
|
||||
(setenv "CONFIG_SHELL" sh)
|
||||
(zero? (system* "./autogen.sh")))))
|
||||
(replace 'configure
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(invoke "./configure"
|
||||
(string-append "--with-plugindir="
|
||||
(assoc-ref outputs "out")
|
||||
"/lib/bitlbee/")))))))
|
||||
(inputs `(("glib" ,glib)))
|
||||
(native-inputs `(("pkg-config" ,pkg-config)
|
||||
("autoconf" ,autoconf)
|
||||
("automake" ,automake)
|
||||
("texinfo" ,texinfo)
|
||||
("libtool" ,libtool)
|
||||
("bitlbee" ,bitlbee) ;needs bitlbee headers
|
||||
("bash" ,bash)))
|
||||
(synopsis "Discord plugin for Bitlbee")
|
||||
(description "Bitlbee-discord is a plugin for Bitlbee witch provides
|
||||
access to servers running the Discord protocol.")
|
||||
(home-page "https://github.com/sm00th/bitlbee-discord/")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public hexchat
|
||||
(package
|
||||
(name "hexchat")
|
||||
|
|
|
@ -162,7 +162,7 @@ protocol.")
|
|||
(define-public mpd-mpc
|
||||
(package
|
||||
(name "mpd-mpc")
|
||||
(version "0.29")
|
||||
(version "0.30")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri
|
||||
|
@ -171,7 +171,7 @@ protocol.")
|
|||
"/mpc-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1lxr0z5i5yx4lcvy9nyxj6q32qlz473j3zm6va68zd1cj3ndmw82"))))
|
||||
"1kkzhrypkp0v6xv4d6db415pd0h6jqki29kfpsnfkvrhhh55pz35"))))
|
||||
(build-system meson-build-system)
|
||||
(inputs `(("libmpdclient" ,libmpdclient)))
|
||||
(native-inputs `(("pkg-config" ,pkg-config)))
|
||||
|
|
|
@ -545,7 +545,7 @@ of the same name.")
|
|||
(define-public wireshark
|
||||
(package
|
||||
(name "wireshark")
|
||||
(version "2.4.5")
|
||||
(version "2.6.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -553,7 +553,7 @@ of the same name.")
|
|||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1mvgy67rvnwj2kbc43s4il81jvz5ai0bx2j3j2js7x50zclyrcmk"))))
|
||||
"0zqip4ai18iar7sgialc3jmpng1yxxy4i9bphbaig23ss80py73i"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs `(("c-ares" ,c-ares)
|
||||
("glib" ,glib)
|
||||
|
@ -564,12 +564,14 @@ of the same name.")
|
|||
("libpcap" ,libpcap)
|
||||
("libssh" ,libssh)
|
||||
("libxml2" ,libxml2)
|
||||
("lz4" ,lz4)
|
||||
("lua" ,lua-5.2) ;Lua 5.3 unsupported
|
||||
("krb5" ,mit-krb5)
|
||||
("openssl" ,openssl)
|
||||
("portaudio" ,portaudio)
|
||||
("qtbase" ,qtbase)
|
||||
("qtmultimedia" ,qtmultimedia)
|
||||
("sbc" ,sbc)
|
||||
("snappy" ,snappy)
|
||||
("zlib" ,zlib)))
|
||||
(native-inputs `(("perl" ,perl)
|
||||
("pkg-config" ,pkg-config)
|
||||
|
@ -582,11 +584,12 @@ of the same name.")
|
|||
(string-append "--with-libcap=" (assoc-ref %build-inputs "libcap"))
|
||||
(string-append "--with-libssh=" (assoc-ref %build-inputs "libssh"))
|
||||
(string-append "--with-lua=" (assoc-ref %build-inputs "lua"))
|
||||
(string-append "--with-lz4=" (assoc-ref %build-inputs "lz4"))
|
||||
(string-append "--with-pcap=" (assoc-ref %build-inputs "libpcap"))
|
||||
(string-append "--with-portaudio="
|
||||
(assoc-ref %build-inputs "portaudio"))
|
||||
(string-append "--with-sbc=" (assoc-ref %build-inputs "sbc"))
|
||||
(string-append "--with-ssl=" (assoc-ref %build-inputs "openssl"))
|
||||
(string-append "--with-snappy=" (assoc-ref %build-inputs "snappy"))
|
||||
(string-append "--with-zlib=" (assoc-ref %build-inputs "zlib")))))
|
||||
(synopsis "Network traffic analyzer")
|
||||
(description "Wireshark is a network protocol analyzer, or @dfn{packet
|
||||
|
|
|
@ -0,0 +1,92 @@
|
|||
Fix test failure when using Linux-Libre >= 4.16.
|
||||
|
||||
Taken from upstream:
|
||||
https://github.com/strace/strace/commit/bcff87c31c0f27c678a43d6b7f67dab363a974fa
|
||||
|
||||
From bcff87c31c0f27c678a43d6b7f67dab363a974fa Mon Sep 17 00:00:00 2001
|
||||
From: Masatake YAMATO <yamato@redhat.com>
|
||||
Date: Wed, 2 May 2018 17:11:07 +0900
|
||||
Subject: [PATCH] tests/ioctl_kvm_run.c: handle cpuid at the end of vcpu dentry
|
||||
|
||||
Since Linux 4.16, kernel appends the cpuid as suffix to the entry
|
||||
for a kvm vcpu in /proc/$pid/fd like:
|
||||
|
||||
anon_inode:kvm-vcpu:0
|
||||
|
||||
That was
|
||||
|
||||
anon_inode:kvm-vcpu
|
||||
|
||||
This kernel change causes the test case failure on newer kernels.
|
||||
Update the test to deal with the new name as well as the old one.
|
||||
|
||||
* tests/ioctl_kvm_run.c: Include unistd.h for using readlink(2).
|
||||
(vcpu_dev_should_have_cpuid): New function for detecting whether
|
||||
a proc entry for given fd has the cpuid suffix or not.
|
||||
(main): Trim vcpu_dev to remove the cpuid suffix if needed.
|
||||
(vcpu_dev): Remove const modifier.
|
||||
---
|
||||
tests/ioctl_kvm_run.c | 29 ++++++++++++++++++++++++++++-
|
||||
1 file changed, 28 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/tests/ioctl_kvm_run.c b/tests/ioctl_kvm_run.c
|
||||
index 179461430..e1bef5796 100644
|
||||
--- a/tests/ioctl_kvm_run.c
|
||||
+++ b/tests/ioctl_kvm_run.c
|
||||
@@ -40,6 +40,7 @@
|
||||
# include <string.h>
|
||||
# include <sys/ioctl.h>
|
||||
# include <sys/mman.h>
|
||||
+# include <unistd.h>
|
||||
# include <linux/kvm.h>
|
||||
|
||||
static int
|
||||
@@ -56,7 +57,7 @@ kvm_ioctl(int fd, unsigned long cmd, const char *cmd_str, void *arg)
|
||||
|
||||
static const char dev[] = "/dev/kvm";
|
||||
static const char vm_dev[] = "anon_inode:kvm-vm";
|
||||
-static const char vcpu_dev[] = "anon_inode:kvm-vcpu";
|
||||
+static char vcpu_dev[] = "anon_inode:kvm-vcpu:0";
|
||||
static size_t page_size;
|
||||
|
||||
extern const char code[];
|
||||
@@ -165,6 +166,23 @@ run_kvm(const int vcpu_fd, struct kvm_run *const run, const size_t mmap_size,
|
||||
}
|
||||
}
|
||||
|
||||
+static int
|
||||
+vcpu_dev_should_have_cpuid(int fd)
|
||||
+{
|
||||
+ int r = 0;
|
||||
+ char *filename = NULL;
|
||||
+ char buf[sizeof(vcpu_dev)];
|
||||
+
|
||||
+ if (asprintf(&filename, "/proc/%d/fd/%d", getpid(), fd) < 0)
|
||||
+ error_msg_and_fail("asprintf");
|
||||
+
|
||||
+ if (readlink(filename, buf, sizeof(buf)) == sizeof(buf) - 1
|
||||
+ && (memcmp(buf, vcpu_dev, sizeof(buf) - 1) == 0))
|
||||
+ r = 1;
|
||||
+ free(filename);
|
||||
+ return r;
|
||||
+}
|
||||
+
|
||||
int
|
||||
main(void)
|
||||
{
|
||||
@@ -208,6 +226,15 @@ main(void)
|
||||
(unsigned long) page_size, (unsigned long) page_size, mem);
|
||||
|
||||
int vcpu_fd = KVM_IOCTL(vm_fd, KVM_CREATE_VCPU, NULL);
|
||||
+ if (!vcpu_dev_should_have_cpuid(vcpu_fd))
|
||||
+ /*
|
||||
+ * This is an older kernel that doesn't place a cpuid
|
||||
+ * at the end of the dentry associated with vcpu_fd.
|
||||
+ * Trim the cpuid part of vcpu_dev like:
|
||||
+ * "anon_inode:kvm-vcpu:0" -> "anon_inode:kvm-vcpu"
|
||||
+ */
|
||||
+ vcpu_dev[strlen (vcpu_dev) - 2] = '\0';
|
||||
+
|
||||
printf("ioctl(%d<%s>, KVM_CREATE_VCPU, 0) = %d<%s>\n",
|
||||
vm_fd, vm_dev, vcpu_fd, vcpu_dev);
|
||||
|
|
@ -0,0 +1,67 @@
|
|||
From 18e5ea50a7136cb3686c5a7c51c111ccce73dc54 Mon Sep 17 00:00:00 2001
|
||||
From: Iris Morelle <shadowm@wesnoth.org>
|
||||
Date: Sun, 6 May 2018 16:10:42 -0300
|
||||
Subject: [PATCH] i18n: Blind fix attempt for std::bad_cast being thrown on
|
||||
Windows
|
||||
|
||||
Several reports on Steam and our forums point at std::bad_cast being
|
||||
thrown when accessing Preferences and the Multiplayer menu amongst
|
||||
others. It's possible that the locale configuration on those systems is
|
||||
not quite right, and compare() and icompare() are able to throw
|
||||
std::bad_cast when this happens as they both use std::use_facet().
|
||||
|
||||
Note that much like the macOS/iOS version of icompare(), this stopgap
|
||||
patch doesn't attempt to provide any form of case-insensitive fallback
|
||||
and just uses a case-sensitive comparison instead.
|
||||
---
|
||||
src/gettext_boost.cpp | 29 +++++++++++++++++++++++++++--
|
||||
1 file changed, 27 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/gettext_boost.cpp b/src/gettext_boost.cpp
|
||||
index 3cc7690d5ef..fb04ffeea90 100644
|
||||
--- a/src/gettext_boost.cpp
|
||||
+++ b/src/gettext_boost.cpp
|
||||
@@ -423,7 +423,19 @@ void set_language(const std::string& language, const std::vector<std::string>* /
|
||||
int compare(const std::string& s1, const std::string& s2)
|
||||
{
|
||||
std::lock_guard<std::mutex> lock(get_mutex());
|
||||
- return std::use_facet<std::collate<char>>(get_manager().get_locale()).compare(s1.c_str(), s1.c_str() + s1.size(), s2.c_str(), s2.c_str() + s2.size());
|
||||
+
|
||||
+ try {
|
||||
+ return std::use_facet<std::collate<char>>(get_manager().get_locale()).compare(s1.c_str(), s1.c_str() + s1.size(), s2.c_str(), s2.c_str() + s2.size());
|
||||
+ } catch(const std::bad_cast&) {
|
||||
+ static bool bad_cast_once = false;
|
||||
+
|
||||
+ if(!bad_cast_once) {
|
||||
+ ERR_G << "locale set-up for compare() is broken, falling back to std::string::compare()\n";
|
||||
+ bad_cast_once = true;
|
||||
+ }
|
||||
+
|
||||
+ return s1.compare(s2);
|
||||
+ }
|
||||
}
|
||||
|
||||
int icompare(const std::string& s1, const std::string& s2)
|
||||
@@ -433,8 +445,21 @@ int icompare(const std::string& s1, const std::string& s2)
|
||||
return compare(s1, s2);
|
||||
#else
|
||||
std::lock_guard<std::mutex> lock(get_mutex());
|
||||
- return std::use_facet<bl::collator<char>>(get_manager().get_locale()).compare(
|
||||
+
|
||||
+ try {
|
||||
+ return std::use_facet<bl::collator<char>>(get_manager().get_locale()).compare(
|
||||
bl::collator_base::secondary, s1, s2);
|
||||
+ } catch(const std::bad_cast&) {
|
||||
+ static bool bad_cast_once = false;
|
||||
+
|
||||
+ if(!bad_cast_once) {
|
||||
+ ERR_G << "locale set-up for icompare() is broken, falling back to std::string::compare()\n";
|
||||
+ bad_cast_once = true;
|
||||
+ }
|
||||
+
|
||||
+ // FIXME: not even lazily case-insensitive
|
||||
+ return s1.compare(s2);
|
||||
+ }
|
||||
#endif
|
||||
}
|
||||
|
|
@ -29,14 +29,14 @@
|
|||
(define-public miniupnpc
|
||||
(package
|
||||
(name "miniupnpc")
|
||||
(version "2.0.20180503")
|
||||
(version "2.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://miniupnp.tuxfamily.org/files/"
|
||||
name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "0dv906ibjdrv4wfrccj36z3lvpvgmcg0dwakhi66fqg6y5l97a5k"))))
|
||||
(base32 "1ik440yspbp3clr4m01xsl9skwyrzcvzb5nbm3i0g9x53vhbb7z1"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("python" ,python-2)))
|
||||
|
|
|
@ -55,14 +55,14 @@
|
|||
(define-public webkitgtk
|
||||
(package
|
||||
(name "webkitgtk")
|
||||
(version "2.20.1")
|
||||
(version "2.20.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://www.webkitgtk.org/releases/"
|
||||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0nc9dj05dbk31ciip08b3rdsfja7ckc5mgagrj030fafza2k5r23"))))
|
||||
"1qi6nnj4qidzija1am9xscwjxwfqwhiy7x39ndriqgzh86i97znz"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
'(#:tests? #f ; no tests
|
||||
|
|
|
@ -44,7 +44,7 @@
|
|||
(define-public wget
|
||||
(package
|
||||
(name "wget")
|
||||
(version "1.19.4")
|
||||
(version "1.19.5")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -52,7 +52,7 @@
|
|||
version ".tar.lz"))
|
||||
(sha256
|
||||
(base32
|
||||
"16jmcqcasx3q9k4azssryli9qyxfq0sfijw998g8zp58cnwzzh1g"))))
|
||||
"0xfaxmlnih7dhkyks5wi4vrn0n1xshmy6gx6fb2k1120sprydyr9"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:phases (modify-phases %standard-phases
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2015, 2017 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2015, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2018 Konrad Hinsen <konrad.hinsen@fastmail.net>
|
||||
|
@ -37,12 +37,13 @@
|
|||
#:use-module (gnu packages bootstrap)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages guile)
|
||||
#:autoload (gnu packages base) (tar)
|
||||
#:use-module (gnu packages base)
|
||||
#:autoload (gnu packages package-management) (guix)
|
||||
#:autoload (gnu packages gnupg) (libgcrypt)
|
||||
#:autoload (gnu packages guile) (guile2.0-json guile-json)
|
||||
#:use-module (srfi srfi-1)
|
||||
#:use-module (srfi srfi-9)
|
||||
#:use-module (srfi srfi-26)
|
||||
#:use-module (srfi srfi-37)
|
||||
#:use-module (ice-9 match)
|
||||
#:export (compressor?
|
||||
|
@ -397,9 +398,15 @@ Create a bundle of PACKAGE.\n"))
|
|||
(read/eval-package-expression exp))
|
||||
(x #f)))
|
||||
|
||||
(define (manifest-from-args opts)
|
||||
(let ((packages (filter-map maybe-package-argument opts))
|
||||
(manifest-file (assoc-ref opts 'manifest)))
|
||||
(define (manifest-from-args store opts)
|
||||
(let* ((transform (options->transformation opts))
|
||||
(packages (map (match-lambda
|
||||
(((? package? package) output)
|
||||
(list (transform store package) output))
|
||||
((? package? package)
|
||||
(list (transform store package) "out")))
|
||||
(filter-map maybe-package-argument opts)))
|
||||
(manifest-file (assoc-ref opts 'manifest)))
|
||||
(cond
|
||||
((and manifest-file (not (null? packages)))
|
||||
(leave (G_ "both a manifest and a package list were given~%")))
|
||||
|
@ -409,33 +416,34 @@ Create a bundle of PACKAGE.\n"))
|
|||
(else (packages->manifest packages)))))
|
||||
|
||||
(with-error-handling
|
||||
(let* ((dry-run? (assoc-ref opts 'dry-run?))
|
||||
(manifest (manifest-from-args opts))
|
||||
(pack-format (assoc-ref opts 'format))
|
||||
(name (string-append (symbol->string pack-format)
|
||||
"-pack"))
|
||||
(target (assoc-ref opts 'target))
|
||||
(bootstrap? (assoc-ref opts 'bootstrap?))
|
||||
(compressor (if bootstrap?
|
||||
bootstrap-xz
|
||||
(assoc-ref opts 'compressor)))
|
||||
(tar (if bootstrap?
|
||||
%bootstrap-coreutils&co
|
||||
tar))
|
||||
(symlinks (assoc-ref opts 'symlinks))
|
||||
(build-image (match (assq-ref %formats pack-format)
|
||||
((? procedure? proc) proc)
|
||||
(#f
|
||||
(leave (G_ "~a: unknown pack format")
|
||||
format))))
|
||||
(localstatedir? (assoc-ref opts 'localstatedir?)))
|
||||
(with-store store
|
||||
(parameterize ((%graft? (assoc-ref opts 'graft?))
|
||||
(%guile-for-build (package-derivation
|
||||
store
|
||||
(if (assoc-ref opts 'bootstrap?)
|
||||
%bootstrap-guile
|
||||
(canonical-package guile-2.2)))))
|
||||
(with-store store
|
||||
(parameterize ((%graft? (assoc-ref opts 'graft?))
|
||||
(%guile-for-build (package-derivation
|
||||
store
|
||||
(if (assoc-ref opts 'bootstrap?)
|
||||
%bootstrap-guile
|
||||
(canonical-package guile-2.2))
|
||||
#:graft? (assoc-ref opts 'graft?))))
|
||||
(let* ((dry-run? (assoc-ref opts 'dry-run?))
|
||||
(manifest (manifest-from-args store opts))
|
||||
(pack-format (assoc-ref opts 'format))
|
||||
(name (string-append (symbol->string pack-format)
|
||||
"-pack"))
|
||||
(target (assoc-ref opts 'target))
|
||||
(bootstrap? (assoc-ref opts 'bootstrap?))
|
||||
(compressor (if bootstrap?
|
||||
bootstrap-xz
|
||||
(assoc-ref opts 'compressor)))
|
||||
(tar (if bootstrap?
|
||||
%bootstrap-coreutils&co
|
||||
tar))
|
||||
(symlinks (assoc-ref opts 'symlinks))
|
||||
(build-image (match (assq-ref %formats pack-format)
|
||||
((? procedure? proc) proc)
|
||||
(#f
|
||||
(leave (G_ "~a: unknown pack format")
|
||||
format))))
|
||||
(localstatedir? (assoc-ref opts 'localstatedir?)))
|
||||
;; Set the build options before we do anything else.
|
||||
(set-build-options-from-command-line store opts)
|
||||
|
||||
|
|
|
@ -260,13 +260,18 @@ list of file-name/file-like objects suitable as inputs to 'imported-files'."
|
|||
#:extensions dependencies
|
||||
#:guile-for-build guile-for-build))
|
||||
|
||||
(define *package-modules*
|
||||
(scheme-node "guix-packages"
|
||||
(define *core-package-modules*
|
||||
(scheme-node "guix-packages-base"
|
||||
`((gnu packages)
|
||||
,@(scheme-modules* source "gnu/packages"))
|
||||
(gnu packages base))
|
||||
(list *core-modules* *extra-modules*)
|
||||
#:extensions dependencies
|
||||
#:extra-files ;all the non-Scheme files
|
||||
|
||||
;; Add all the non-Scheme files here. We must do it here so
|
||||
;; that 'search-patches' & co. can find them. Ideally we'd
|
||||
;; keep them next to the .scm files that use them but it's
|
||||
;; difficult to do (XXX).
|
||||
#:extra-files
|
||||
(file-imports source "gnu/packages"
|
||||
(lambda (file stat)
|
||||
(and (eq? 'regular (stat:type stat))
|
||||
|
@ -276,13 +281,21 @@ list of file-name/file-like objects suitable as inputs to 'imported-files'."
|
|||
(not (string-suffix? "~" file)))))
|
||||
#:guile-for-build guile-for-build))
|
||||
|
||||
(define *package-modules*
|
||||
(scheme-node "guix-packages"
|
||||
(scheme-modules* source "gnu/packages")
|
||||
(list *core-modules* *extra-modules* *core-package-modules*)
|
||||
#:extensions dependencies
|
||||
#:guile-for-build guile-for-build))
|
||||
|
||||
(define *system-modules*
|
||||
(scheme-node "guix-system"
|
||||
`((gnu system)
|
||||
(gnu services)
|
||||
,@(scheme-modules* source "gnu/system")
|
||||
,@(scheme-modules* source "gnu/services"))
|
||||
(list *package-modules* *extra-modules* *core-modules*)
|
||||
(list *core-package-modules* *package-modules*
|
||||
*extra-modules* *core-modules*)
|
||||
#:extensions dependencies
|
||||
#:extra-files
|
||||
(file-imports source "gnu/system/examples" (const #t))
|
||||
|
@ -292,7 +305,8 @@ list of file-name/file-like objects suitable as inputs to 'imported-files'."
|
|||
(define *cli-modules*
|
||||
(scheme-node "guix-cli"
|
||||
(scheme-modules* source "/guix/scripts")
|
||||
(list *core-modules* *extra-modules* *package-modules*
|
||||
(list *core-modules* *extra-modules*
|
||||
*core-package-modules* *package-modules*
|
||||
*system-modules*)
|
||||
#:extensions dependencies
|
||||
#:guile-for-build guile-for-build))
|
||||
|
@ -330,6 +344,7 @@ list of file-name/file-like objects suitable as inputs to 'imported-files'."
|
|||
*cli-modules*
|
||||
*system-modules*
|
||||
*package-modules*
|
||||
*core-package-modules*
|
||||
*extra-modules*
|
||||
*core-modules*))
|
||||
|
||||
|
|
|
@ -35,18 +35,23 @@ export GUIX_BUILD_OPTIONS
|
|||
# Build a tarball with no compression.
|
||||
guix pack --compression=none --bootstrap guile-bootstrap
|
||||
|
||||
# Build a tarball (with compression).
|
||||
guix pack --bootstrap guile-bootstrap
|
||||
# Build a tarball (with compression). Check that '-e' works as well.
|
||||
out1="`guix pack --bootstrap guile-bootstrap`"
|
||||
out2="`guix pack --bootstrap -e '(@ (gnu packages bootstrap) %bootstrap-guile)'`"
|
||||
test -n "$out1"
|
||||
test "$out1" = "$out2"
|
||||
|
||||
# Build a tarball with a symlink.
|
||||
the_pack="`guix pack --bootstrap -S /opt/gnu/bin=bin guile-bootstrap`"
|
||||
|
||||
# Try to extract it.
|
||||
# Try to extract it. Note: we cannot test whether /opt/gnu/bin/guile itself
|
||||
# exists because /opt/gnu/bin may be an absolute symlink to a store item that
|
||||
# has been GC'd.
|
||||
test_directory="`mktemp -d`"
|
||||
trap 'rm -rf "$test_directory"' EXIT
|
||||
cd "$test_directory"
|
||||
tar -xf "$the_pack"
|
||||
test -x opt/gnu/bin/guile
|
||||
test -L opt/gnu/bin
|
||||
|
||||
is_available () {
|
||||
# Use the "type" shell builtin to see if the program is on PATH.
|
||||
|
@ -81,3 +86,10 @@ guix pack --dry-run --bootstrap -f docker -S /opt/gnu=/ guile-bootstrap
|
|||
# Build a tarball pack of cross-compiled software. Use coreutils because
|
||||
# guile-bootstrap is not intended to be cross-compiled.
|
||||
guix pack --dry-run --bootstrap --target=arm-unknown-linux-gnueabihf coreutils
|
||||
|
||||
# Make sure package transformation options are honored.
|
||||
mkdir -p "$test_directory"
|
||||
drv1="`guix pack -n guile 2>&1 | grep pack.*\.drv`"
|
||||
drv2="`guix pack -n --with-source=guile=$test_directory guile 2>&1 | grep pack.*\.drv`"
|
||||
test -n "$drv1"
|
||||
test "$drv1" != "$drv2"
|
||||
|
|
Loading…
Reference in New Issue