Merge branch 'master' into core-updates

This commit is contained in:
Mark H Weaver 2018-05-21 13:22:32 -04:00
commit 0661758e13
No known key found for this signature in database
GPG Key ID: 7CEF29847562C516
51 changed files with 9091 additions and 155 deletions

View File

@ -264,6 +264,7 @@ dist_noinst_DATA = guix/tests.scm guix/tests/http.scm
AUX_FILES = \
gnu/packages/aux-files/emacs/guix-emacs.el \
gnu/packages/aux-files/linux-libre/4.16-arm.conf \
gnu/packages/aux-files/linux-libre/4.16-arm64.conf \
gnu/packages/aux-files/linux-libre/4.16-i686.conf \
gnu/packages/aux-files/linux-libre/4.16-x86_64.conf \
gnu/packages/aux-files/linux-libre/4.14-arm.conf \

7
NEWS
View File

@ -11,6 +11,13 @@ Copyright © 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
Please send Guix bug reports to bug-guix@gnu.org.
* Changes in 0.15.0 (since 0.14.0)
** Distribution
*** New services
enlightenment
** Programming interfaces
*** package-full-name (guix packages) now uses "@" as its delimiter.

View File

@ -5855,9 +5855,16 @@ information on cross-compilation.
An example use of this is on Linux-based systems, which can emulate
different personalities. For instance, passing
@code{--system=i686-linux} on an @code{x86_64-linux} system allows you
@code{--system=i686-linux} on an @code{x86_64-linux} system or
@code{--system=armhf-linux} on an @code{aarch64-linux} system allows you
to build packages in a complete 32-bit environment.
@quotation Note
Building for an @code{armhf-linux} system is unconditionally enabled on
@code{aarch64-linux} machines, although certain aarch64 chipsets do not
allow for this functionality, notably the ThunderX.
@end quotation
Similarly, when transparent emulation with QEMU and @code{binfmt_misc}
is enabled (@pxref{Virtualization Services,
@code{qemu-binfmt-service-type}}), you can build for any system for
@ -12671,11 +12678,11 @@ field of an @code{operating-system} declaration (@pxref{operating-system
Reference, @code{services}}).
Additionally, the @code{gnome-desktop-service},
@code{xfce-desktop-service} and @code{mate-desktop-service}
procedures can add GNOME, XFCE and/or MATE to a system.
To ``add GNOME'' means that system-level services like the
backlight adjustment helpers and the power management utilities are
added to the system, extending @code{polkit} and @code{dbus}
@code{xfce-desktop-service}, @code{mate-desktop-service} and
@code{enlightenment-desktop-service-type} procedures can add GNOME, XFCE, MATE
and/or Enlightenment to a system. To ``add GNOME'' means that system-level
services like the backlight adjustment helpers and the power management
utilities are added to the system, extending @code{polkit} and @code{dbus}
appropriately, allowing GNOME to operate with elevated privileges on a
limited number of special-purpose system interfaces. Additionally,
adding a service made by @code{gnome-desktop-service} adds the GNOME
@ -12688,7 +12695,10 @@ To ``add MATE'' means that @code{polkit} and @code{dbus} are extended
appropriately, allowing MATE to operate with elevated privileges on a
limited number of special-purpose system interfaces. Additionally,
adding a service made by @code{mate-desktop-service} adds the MATE
metapackage to the system profile.
metapackage to the system profile. ``Adding ENLIGHTENMENT'' means that
@code{dbus} is extended appropriately, and several of Enlightenment's binaries
are set as setuid, allowing Enlightenment's screen locker and other
functionality to work as expetected.
The desktop environments in Guix use the Xorg display server by
default. If you'd like to use the newer display server protocol
@ -12718,6 +12728,18 @@ profile, and extends polkit with the actions from
@code{mate-settings-daemon}.
@end deffn
@deffn {Scheme Procedure} enlightenment-desktop-service-type
Return a service that adds the @code{enlightenment} package to the system
profile, and extends dbus with actions from @code{efl}.
@end deffn
@deftp {Data Type} enlightenment-desktop-service-configuration
@table @asis
@item @code{enlightenment} (default @code{enlightenment})
The enlightenment package to use.
@end table
@end deftp
Because the GNOME, XFCE and MATE desktop services pull in so many packages,
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
@ -19234,7 +19256,7 @@ Defaults to @samp{#f}.
@end deftypevr
@deftypevr {@code{cgit-configuration} parameter} list project-list
@deftypevr {@code{cgit-configuration} parameter} project-list project-list
A list of subdirectories inside of @code{repository-directory}, relative
to it, that should loaded as Git repositories. An empty list means that
all subdirectories will be loaded.

View File

@ -86,9 +86,7 @@ chk_require()
_debug "--- [ $FUNCNAME ] ---"
for c in ${cmds[@]}; do
command -v "$c" &>/dev/null
[ "$?" -eq "1" ] &&
warn+=("$c")
command -v "$c" &>/dev/null || warn+=("$c")
done
[ "${#warn}" -ne 0 ] &&

View File

@ -36,6 +36,7 @@
u-boot-mx6cuboxi-bootloader
u-boot-nintendo-nes-classic-edition-bootloader
u-boot-novena-bootloader
u-boot-pine64-plus-bootloader
u-boot-wandboard-bootloader))
(define install-u-boot
@ -65,6 +66,15 @@
(write-file-on-device u-boot (stat:size (stat u-boot))
device (* 8 1024)))))
(define install-allwinner64-u-boot
#~(lambda (bootloader device mount-point)
(let ((spl (string-append bootloader "/libexec/spl/sunxi-spl.bin"))
(u-boot (string-append bootloader "/libexec/u-boot.itb")))
(write-file-on-device spl (stat:size (stat spl))
device (* 8 1024))
(write-file-on-device u-boot (stat:size (stat u-boot))
device (* 40 1024)))))
(define install-imx-u-boot
#~(lambda (bootloader device mount-point)
(let ((spl (string-append bootloader "/libexec/SPL"))
@ -98,6 +108,11 @@
(inherit u-boot-bootloader)
(installer install-allwinner-u-boot)))
(define u-boot-allwinner64-bootloader
(bootloader
(inherit u-boot-bootloader)
(installer install-allwinner64-u-boot)))
(define u-boot-imx-bootloader
(bootloader
(inherit u-boot-bootloader)
@ -142,3 +157,8 @@
(bootloader
(inherit u-boot-imx-bootloader)
(package u-boot-novena)))
(define u-boot-pine64-plus-bootloader
(bootloader
(inherit u-boot-allwinner64-bootloader)
(package u-boot-pine64-plus)))

View File

@ -1,6 +1,6 @@
# GNU Guix --- Functional package management for GNU
# Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
# Copyright © 2013, 2014, 2015, 2016, 2017 Andreas Enge <andreas@enge.fr>
# Copyright © 2013, 2014, 2015, 2016, 2017, 2018 Andreas Enge <andreas@enge.fr>
# Copyright © 2016 Mathieu Lirzin <mthl@gnu.org>
# Copyright © 2013, 2014, 2015, 2016, 2017, 2018 Mark H Weaver <mhw@netris.org>
# Copyright © 2016 Chris Marusich <cmmarusich@gmail.com>
@ -649,6 +649,7 @@ dist_patch_DATA = \
%D%/packages/patches/emacs-highlight-stages-add-gexp.patch \
%D%/packages/patches/emacs-scheme-complete-scheme-r5rs-info.patch \
%D%/packages/patches/emacs-source-date-epoch.patch \
%D%/packages/patches/enlightenment-fix-setuid-path.patch \
%D%/packages/patches/erlang-man-path.patch \
%D%/packages/patches/eudev-rules-directory.patch \
%D%/packages/patches/evilwm-lost-focus-bug.patch \
@ -997,6 +998,7 @@ dist_patch_DATA = \
%D%/packages/patches/pinball-src-deps.patch \
%D%/packages/patches/pinball-system-ltdl.patch \
%D%/packages/patches/pingus-sdl-libs-config.patch \
%D%/packages/patches/pius.patch \
%D%/packages/patches/pixman-CVE-2016-5296.patch \
%D%/packages/patches/plink-1.07-unclobber-i.patch \
%D%/packages/patches/plink-endian-detection.patch \

View File

@ -1265,7 +1265,7 @@ module slots, and the list of I/O ports (e.g. serial, parallel, USB).")
(define-public acpica
(package
(name "acpica")
(version "20180427")
(version "20180508")
(source (origin
(method url-fetch)
(uri (string-append
@ -1273,7 +1273,7 @@ module slots, and the list of I/O ports (e.g. serial, parallel, USB).")
version ".tar.gz"))
(sha256
(base32
"1hfdzyzzznh9h8yjlz54p02zwwxyp5k7fgzxlb9phhj3kalp60md"))))
"05fg4gcgs1jhh5ad71q1dr35vh119g8avjdy806q614yvgcwk3sx"))))
(build-system gnu-build-system)
(native-inputs `(("flex" ,flex)
("bison" ,bison)))

View File

@ -1028,7 +1028,7 @@ follower.")
(define-public fluidsynth
(package
(name "fluidsynth")
(version "1.1.10")
(version "1.1.11")
(source (origin
(method git-fetch)
(uri (git-reference
@ -1037,7 +1037,7 @@ follower.")
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"04jlgq1d1hd8r9cnmkl3lgf1fgm7kgy4hh9nfddap41fm1wp121p"))))
"0n75jq3xgq46hfmjkaaxz3gic77shs4fzajq40c8gk043i84xbdh"))))
(build-system cmake-build-system)
(arguments
'(#:tests? #f ; no check target
@ -2037,9 +2037,9 @@ into various outputs and to start, stop and configure jackd")
(modify-phases %standard-phases
(replace 'configure
(lambda* (#:key outputs #:allow-other-keys)
(zero? (system* "qmake"
(string-append "PREFIX="
(assoc-ref outputs "out")))))))))
(invoke "qmake"
(string-append "PREFIX="
(assoc-ref outputs "out"))))))))
(native-inputs
`(("qtbase" ,qtbase))) ; for qmake
(inputs
@ -3125,7 +3125,7 @@ code, used in @code{libtoxcore}.")
(define-public gsm
(package
(name "gsm")
(version "1.0.17")
(version "1.0.18")
(source
(origin
(method url-fetch)
@ -3134,7 +3134,7 @@ code, used in @code{libtoxcore}.")
"-" version ".tar.gz"))
(sha256
(base32
"00bns0d4wwrvc60lj2w7wz4yk49q1f6rpdrwqzrxsha9d78mfnl5"))))
"041amvpz8cvxykl3pwqldrzxligmmzcg8ncdnxbg32rlqf3q1xh4"))))
(build-system gnu-build-system)
(arguments
`(#:test-target "tst"
@ -3160,7 +3160,7 @@ code, used in @code{libtoxcore}.")
(mkdir-p (string-append out "/include/gsm"))
(copy-recursively "inc"
(string-append out "/include/gsm")))))
(delete 'configure))))
(delete 'configure)))) ; no configure script
(synopsis "GSM 06.10 lossy speech compression library")
(description "This C library provides an encoder and a decoder for the GSM
06.10 RPE-LTP lossy speech compression algorithm.")
@ -3400,7 +3400,7 @@ representations.")
(define-public cava
(package
(name "cava")
(version "0.6.0")
(version "0.6.1")
(source (origin
(method url-fetch)
(uri (string-append
@ -3409,7 +3409,7 @@ representations.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"1p24lz3h4d0h82ffylqr7mq8a8x1c66flm2r2bsv1liw51n1rma2"))))
"13d72swnjs894llf0paandmhf1lf90dz6ygkcdw4bv84wzkq1f4q"))))
(build-system gnu-build-system)
(native-inputs
`(("autoconf" ,autoconf)

File diff suppressed because it is too large Load Diff

View File

@ -9100,6 +9100,19 @@ replacement for strverscmp.")
("python-numpy" ,python-numpy)
;; MultQC checks for the presence of nose at runtime.
("python-nose" ,python-nose)))
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'relax-requirements
(lambda _
(substitute* "setup.py"
;; MultiQC 1.5 requires a version of python-matplotlib older
;; than the one in Guix, but should work fine with 2.2.2.
;; See <https://github.com/ewels/MultiQC/issues/725> and
;; <https://github.com/ewels/MultiQC/issues/732> for details.
(("['\"]matplotlib.*?['\"]")
"'matplotlib'"))
#t)))))
(home-page "http://multiqc.info")
(synopsis "Aggregate bioinformatics analysis reports")
(description
@ -11547,7 +11560,9 @@ browser.")
(replace 'install
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((target (assoc-ref outputs "out"))
(doc (string-append target "/share/doc/f-seq/")))
(bin (string-append target "/bin"))
(doc (string-append target "/share/doc/f-seq"))
(lib (string-append target "/lib")))
(mkdir-p target)
(mkdir-p doc)
(substitute* "bin/linux/fseq"
@ -11556,11 +11571,11 @@ browser.")
(string-append (assoc-ref inputs "java-commons-cli")
"/share/java/commons-cli.jar"))
(("REALDIR=.*")
(string-append "REALDIR=" target "/bin\n")))
(string-append "REALDIR=" bin "\n")))
(install-file "README.txt" doc)
(install-file "bin/linux/fseq" (string-append target "/bin"))
(install-file "build~/fseq.jar" (string-append target "/lib"))
(copy-recursively "lib" (string-append target "/lib"))
(install-file "bin/linux/fseq" bin)
(install-file "build~/fseq.jar" lib)
(copy-recursively "lib" lib)
#t))))))
(inputs
`(("perl" ,perl)

View File

@ -3,7 +3,7 @@
;;; Copyright © 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016, 2018 Leo Famulari <leo@famulari.name>
;;; Copyright © 2016, 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Tomáš Čech <sleep_walker@gnu.org>
;;; Copyright © 2016, 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017 Jelle Licht <jlicht@fsfe.org>
@ -257,7 +257,7 @@ maintained upstream.")
(define-public aria2
(package
(name "aria2")
(version "1.33.1")
(version "1.34.0")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/tatsuhiro-t/aria2/"
@ -265,7 +265,7 @@ maintained upstream.")
name "-" version ".tar.xz"))
(sha256
(base32
"06syqxia701dk96rcbhnd4x0arjj6d22gm3aqksz38am9y2f8f95"))))
"18vpgr430vxlwbcc3598rr1srfmwypls6wp1m4wf21hncc1ahi1s"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags (list "--enable-libaria2"

View File

@ -359,6 +359,47 @@ tree binary files. These are board description files used by Linux and BSD.")
also initializes the boards (RAM etc).")
(license license:gpl2+)))
(define-public u-boot-tools
(package
(inherit u-boot)
(name "u-boot-tools")
(arguments
`(#:make-flags '("HOSTCC=gcc" "NO_SDL=1")
#:test-target "test"
#:phases
(modify-phases %standard-phases
(replace 'configure
(lambda* (#:key make-flags #:allow-other-keys)
(call-with-output-file "configs/tools_defconfig"
(lambda (port)
(display "CONFIG_SYS_TEXT_BASE=0\n" port)))
(apply invoke "make" "tools_defconfig" make-flags)))
(replace 'build
(lambda* (#:key inputs make-flags #:allow-other-keys)
(apply invoke "make" "tools-only" make-flags)
(apply invoke "make" "envtools" make-flags)))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin")))
(for-each (lambda (name)
(install-file name bin))
'("tools/netconsole"
"tools/jtagconsole"
"tools/gen_eth_addr"
"tools/gen_ethaddr_crc"
"tools/img2srec"
"tools/mkenvimage"
"tools/dumpimage"
"tools/mkimage"
"tools/proftool"
"tools/fdtgrep"
"tools/env/fw_printenv"))
#t))))))
(description "U-Boot is a bootloader used mostly for ARM boards. It
also initializes the boards (RAM etc). This package provides its
board-independent tools.")))
(define (make-u-boot-package board triplet)
"Returns a u-boot package for BOARD cross-compiled for TRIPLET."
(let ((same-arch? (if (string-prefix? (%current-system)

View File

@ -659,7 +659,7 @@ decompression of some loosely related file formats used by Microsoft.")
(define-public perl-compress-raw-bzip2
(package
(name "perl-compress-raw-bzip2")
(version "2.074")
(version "2.081")
(source
(origin
(method url-fetch)
@ -667,7 +667,7 @@ decompression of some loosely related file formats used by Microsoft.")
"Compress-Raw-Bzip2-" version ".tar.gz"))
(sha256
(base32
"0b5jwqf15zr787acnx8sfyy2zavdd7gfkd98n1dgy8fs6r8yb8a4"))))
"081mpkjy688lg48997fqh3d7ja12vazmz02fw84495civg4vb4l6"))))
(build-system perl-build-system)
;; TODO: Use our bzip2 package.
(home-page "http://search.cpan.org/dist/Compress-Raw-Bzip2")
@ -679,7 +679,7 @@ compression library.")
(define-public perl-compress-raw-zlib
(package
(name "perl-compress-raw-zlib")
(version "2.076")
(version "2.081")
(source
(origin
(method url-fetch)
@ -687,7 +687,7 @@ compression library.")
"Compress-Raw-Zlib-" version ".tar.gz"))
(sha256
(base32
"1al2h0i6mspldmlf5c09fy5a4j8swsxd31v6zi8zx9iyqk1lw7in"))))
"06rsm9ahp20xfyvd3jc69sd0k8vqysryxc6apzdbn96jbcsdwmp1"))))
(build-system perl-build-system)
(inputs
`(("zlib" ,zlib)))
@ -714,7 +714,7 @@ compression library.")
(define-public perl-io-compress
(package
(name "perl-io-compress")
(version "2.074")
(version "2.081")
(source
(origin
(method url-fetch)
@ -722,11 +722,11 @@ compression library.")
"IO-Compress-" version ".tar.gz"))
(sha256
(base32
"1wlpy2026djfmq0bjync531yq6s695jf7bcnpvjphrasi776igdl"))))
"1na66ns1g3nni0m9q5494ym4swr21hfgpv88mw8wbj2daiswf4aj"))))
(build-system perl-build-system)
(propagated-inputs
`(("perl-compress-raw-zlib" ,perl-compress-raw-zlib) ; >=2.074
("perl-compress-raw-bzip2" ,perl-compress-raw-bzip2))) ; >=2.074
`(("perl-compress-raw-zlib" ,perl-compress-raw-zlib) ; >=2.081
("perl-compress-raw-bzip2" ,perl-compress-raw-bzip2))) ; >=2.081
(home-page "http://search.cpan.org/dist/IO-Compress")
(synopsis "IO Interface to compressed files/buffers")
(description "IO-Compress provides a Perl interface to allow reading and

View File

@ -219,14 +219,14 @@ the embedded @code{RapidXML} C++ library.")
(define-public r-modelr
(package
(name "r-modelr")
(version "0.1.1")
(version "0.1.2")
(source
(origin
(method url-fetch)
(uri (cran-uri "modelr" version))
(sha256
(base32
"1rqw0b583vp107zqp4h3wj51dvv4hb3wszfr1f5f48xassc53f95"))))
"09whg3q5xq6csbqwgwfwav09vda8vgady5j70sk52xcn232k363a"))))
(build-system r-build-system)
(propagated-inputs
`(("r-broom" ,r-broom)
@ -271,13 +271,13 @@ embedded @url{https://github.com/WizardMac/ReadStat,ReadStat} C library.")
(define-public r-amap
(package
(name "r-amap")
(version "0.8-14")
(version "0.8-16")
(source (origin
(method url-fetch)
(uri (cran-uri "amap" version))
(sha256
(base32
"1dz37z9v4zvyvqrs4xvpfv468jwvpxav60qn2w0049bw8llj6xdl"))))
"1qnl2x98x64iaipkx5126rsddq2sx5ml43h75xyiyn30yvbmlxyk"))))
(build-system r-build-system)
(inputs
`(("gfortran" ,gfortran)))

View File

@ -1629,7 +1629,7 @@ type, for example: packages, buffers, files, etc.")
(define-public emacs-guix
(package
(name "emacs-guix")
(version "0.3.4")
(version "0.4")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/alezost/guix.el"
@ -1637,7 +1637,7 @@ type, for example: packages, buffers, files, etc.")
"/emacs-guix-" version ".tar.gz"))
(sha256
(base32
"152zf9vkafmnnf7by5armg165npznb961csgnvr8iwdj3smvivjf"))))
"1nn4b0gd895g0k4fynzrip7z8yb1r3qmvznq9v8a6q7sm84irmqq"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
@ -1646,6 +1646,7 @@ type, for example: packages, buffers, files, etc.")
(dash (assoc-ref %build-inputs "dash"))
(bui (assoc-ref %build-inputs "bui"))
(magit-popup (assoc-ref %build-inputs "magit-popup"))
(edit-indirect (assoc-ref %build-inputs "edit-indirect"))
(site-lisp "/share/emacs/site-lisp"))
(list (string-append "--with-guix-site-dir="
(car (find-files (string-append guix
@ -1669,6 +1670,9 @@ type, for example: packages, buffers, files, etc.")
(string-append "--with-bui-lispdir="
bui site-lisp "/guix.d/bui-"
,(package-version emacs-bui))
(string-append "--with-editindirect-lispdir="
edit-indirect site-lisp "/guix.d/edit-indirect-"
,(package-version emacs-edit-indirect))
(string-append "--with-popup-lispdir="
magit-popup site-lisp "/guix.d/magit-popup-"
,(package-version emacs-magit-popup))))))
@ -1682,6 +1686,7 @@ type, for example: packages, buffers, files, etc.")
`(("geiser" ,geiser)
("dash" ,emacs-dash)
("bui" ,emacs-bui)
("edit-indirect" ,emacs-edit-indirect)
("magit-popup" ,emacs-magit-popup)))
(home-page "https://alezost.github.io/guix.el/")
(synopsis "Emacs interface for GNU Guix")

View File

@ -259,7 +259,8 @@ Libraries with some extra bells and whistles.")
name "/" name "-" version ".tar.xz"))
(sha256
(base32
"16zydv7z94aw3rywmb9gr8ya85k7b75h22wng95lfx1x0y1yb0ad"))))
"16zydv7z94aw3rywmb9gr8ya85k7b75h22wng95lfx1x0y1yb0ad"))
(patches (search-patches "enlightenment-fix-setuid-path.patch"))))
(build-system gnu-build-system)
(arguments
`(#:phases

View File

@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013, 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2013, 2015, 2018 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2014, 2015, 2016 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
@ -592,10 +592,12 @@ signing, decryption, verification, and key-listing parsing.")
version "/pius-" version ".tar.bz2"))
(sha256
(base32
"1893hzpx3zv724drqv48csrn0cm98xw4ymb1zmhs2jvjj1778zfj"))))
"1893hzpx3zv724drqv48csrn0cm98xw4ymb1zmhs2jvjj1778zfj"))
(patches (search-patches "pius.patch"))))
(build-system python-build-system)
(inputs `(("perl" ,perl) ;for 'pius-party-worksheet'
("gpg" ,gnupg)))
("gpg" ,gnupg)
("python-six" ,python2-six)))
(arguments
`(#:tests? #f
#:python ,python-2 ;uses the Python 2 'print' syntax

View File

@ -61,6 +61,7 @@
#:use-module (gnu packages gettext)
#:use-module (gnu packages databases)
#:use-module (gnu packages python)
#:use-module (gnu packages tls)
#:use-module (gnu packages gl)
#:use-module (gnu packages sdl)
#:use-module (gnu packages maths)
@ -2214,4 +2215,156 @@ It has a nice, simple s-expression based syntax.")
messaging library.")
(license license:gpl3+))))
(define-public jupyter-guile-kernel
(let ((commit "a5c5f3ea3215b65e770bcb62f71117b0ec4575ed")
(revision "0"))
(package
(name "jupyter-guile-kernel")
(version (git-version "0.0.0" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/jerry40/guile-kernel")
(commit commit)))
(sha256
(base32
"0y5jr0f0dyskvsawqbf6n0bpg8jirw4mhqbarf2a6p9lxhqha9s9"))))
(build-system trivial-build-system)
(arguments
`(#:modules ((guix build utils))
#:builder
(begin
(use-modules (guix build utils)
(srfi srfi-26)
(ice-9 match)
(ice-9 popen)
(ice-9 rdelim))
(let* ((out (assoc-ref %outputs "out"))
(guile (assoc-ref %build-inputs "guile"))
(effective (read-line
(open-pipe* OPEN_READ
(string-append guile "/bin/guile")
"-c" "(display (effective-version))")))
(module-dir (string-append out "/share/guile/site/"
effective))
(kernel-dir (string-append out "/share/jupyter/kernels/guile"))
(go-dir (string-append out "/lib/guile/"
effective
"/site-ccache"))
(source (string-append (assoc-ref %build-inputs "source")
"/src"))
(scm-files '("hmac.scm"
"tools.scm"
"guile-jupyter-kernel.scm"))
(kernel-file "kernel.json")
(guild (string-append (assoc-ref %build-inputs "guile")
"/bin/guild"))
(g-szmq (assoc-ref %build-inputs "guile-simple-zmq"))
(json (assoc-ref %build-inputs "guile-json"))
(deps (list g-szmq json))
(path (string-join
(map (cut string-append <>
"/share/guile/site/"
effective)
deps)
":"))
(gopath (string-join
(map (cut string-append <>
"/lib/guile/" effective
"/site-ccache/")
deps)
":")))
;; Make installation directories.
(mkdir-p module-dir)
(mkdir-p kernel-dir)
(mkdir-p go-dir)
;; Make a writable copy of SOURCE.
(copy-recursively source ".")
;; Record the absolute file name of the 'openssl' command.
(substitute* "hmac.scm"
(("openssl")
(string-append (assoc-ref %build-inputs "openssl")
"/bin/openssl")))
;; Compile .scm files and install.
(setenv "GUILE_AUTO_COMPILE" "0")
(setenv "GUILE_LOAD_PATH" path)
(setenv "GUILE_LOAD_COMPILED_PATH" gopath)
(for-each (lambda (file)
(let* ((dest-file (string-append module-dir "/"
file))
(go-file (match (string-split file #\.)
((base _)
(string-append go-dir "/"
base ".go")))))
;; Install source module.
(copy-file file dest-file)
;; Install compiled module.
(unless (zero? (system* guild "compile"
"-L" source
"-o" go-file
file))
(error (format #f "Failed to compile ~s to ~s!"
file go-file)))))
scm-files)
;; Install kernel
(copy-file kernel-file (string-append kernel-dir "/"
kernel-file))
;; Fix hard-coded file name in the kernel
(substitute* (string-append kernel-dir "/"
kernel-file)
(("/home/jerry/.local/share/jupyter/kernels/guile/guile-jupyter-kernel.scm")
(string-append module-dir "/guile-jupyter-kernel.scm"))
(("\"guile\"")
(string-append "\"" (assoc-ref %build-inputs "guile")
"/bin/guile\""))
(("-s")
(string-append "--no-auto-compile\", \"-s")))
#t))))
(inputs
`(("openssl" ,openssl)
("guile" ,guile-2.2)))
(propagated-inputs
`(("guile-json" ,guile-json)
("guile-simple-zmq" ,guile-simple-zmq)))
(synopsis "Guile kernel for the Jupyter Notebook")
(description
"This package provides a Guile 2.x kernel for the Jupyter Notebook. It
allows users to interact with the Guile REPL through Jupyter.")
(home-page "https://github.com/jerry40/guile-kernel")
(license license:gpl3+))))
(define-public guile-sparql
(package
(name "guile-sparql")
(version "0.0.7")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/roelj/guile-sparql/releases/download/"
version "/guile-sparql-" version ".tar.gz"))
(sha256
(base32 "1drnvhsgl0gc5crmb16yyw1j98nkhwwcgssv9vgm36ng43nnzffd"))))
(build-system gnu-build-system)
(arguments `(#:tests? #f)) ; There are no tests.
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs
`(("guile" ,guile-2.2)))
(home-page "https://github.com/roelj/guile-sparql")
(synopsis "SPARQL module for Guile")
(description "This package provides the functionality to query a SPARQL
endpoint. Additionally, it provides an interface to write SPARQL queries
using S-expressions.")
(license license:gpl3+)))
;;; guile.scm ends here

View File

@ -9469,58 +9469,53 @@ system dependencies.")
address string against RFC 5322.")
(license license:bsd-3)))
(define-public ghc-array
(define-public ghc-semigroupoids-5.2.2
(package
(name "ghc-array")
(version "0.5.2.0")
(source
(origin
(method url-fetch)
(uri
(string-append "https://hackage.haskell.org/package/array-0.5.2.0/array-"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"12v83s2imxb3p2crnlzrpjh0nk6lpysw9bdk9yahs6f37csa5jaj"))))
(build-system haskell-build-system)
(synopsis "Haskell @code{Data.Array} module")
(description "In addition to providing the @code{Data.Array} module as
specified in the Haskell 2010 Language Report, this package defines the
classes @code{IArray} of immutable arrays and @code{MArray} of arrays mutable
within appropriate monads, as well as some instances of these classes.")
(home-page "https://hackage.haskell.org/package/array")
(license license:bsd-3)))
(inherit ghc-semigroupoids)
(name "ghc-semigroupoids")
(version "5.2.2")
(source (origin
(method url-fetch)
(uri (string-append "https://hackage.haskell.org/package/"
"semigroupoids-" version "/semigroupoids-"
version ".tar.gz"))
(sha256
(base32
"17i96y4iqj8clcs090lf6k0ij3j16nj14vsfwz0mm9nd6i4gbpp4"))))
(inputs `(("ghc-unordered-containers" ,ghc-unordered-containers)
,@(package-inputs ghc-semigroupoids)))))
(define-public ghc-containers
(define-public ghc-bytes
(package
(name "ghc-containers")
(version "0.5.11.0")
(name "ghc-bytes")
(version "0.15.4")
(source
(origin
(method url-fetch)
(uri
(string-append "https://hackage.haskell.org/package/containers-0.5.11.0/containers-"
(string-append "https://hackage.haskell.org/package/bytes-"
version "/bytes-"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"0j29w09kvcn1c0yi4clmrdbgs2gqmpxs2m7q80ib2ix1smm25kaq"))))
"121x3iqlm8pghw8cd9g30cnqbl7jrdpfjxdanmqdqllajw6xivrm"))))
(build-system haskell-build-system)
(inputs `(("ghc-array" ,ghc-array)
("ghc-deepseq" ,ghc-deepseq-generics)
("ghc-hunit" ,ghc-hunit)
("ghc-chasingbottoms" ,ghc-chasingbottoms)
("ghc-test-framework" ,ghc-test-framework)
("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
("ghc-quickcheck" ,ghc-quickcheck)
("ghc-ghc-prim" ,ghc-primitive)))
(synopsis "Haskell containers: Assorted concrete container types")
(description "This Haskell module provides efficient general-purpose
implementations of various immutable container types including sets, maps,
sequences, trees, and graphs.")
(home-page "https://hackage.haskell.org/package/containers")
(inputs `(("ghc-cereal" ,ghc-cereal)
("cabal-doctest" ,cabal-doctest)
("ghc-doctest" ,ghc-doctest-0.13)
("ghc-mtl" ,ghc-mtl)
("ghc-scientific" ,ghc-scientific)
("ghc-text" ,ghc-text)
("ghc-transformers-compat" ,ghc-transformers-compat)
("ghc-unordered-containers" ,ghc-unordered-containers)
("ghc-void" ,ghc-void)
("ghc-vector" ,ghc-vector)))
(synopsis "Serialization between @code{binary} and @code{cereal}")
(description "This package provides a simple compatibility shim that lets
you work with both @code{binary} and @code{cereal} with one chunk of
serialization code.")
(home-page "https://hackage.haskell.org/package/bytes")
(license license:bsd-3)))
;;; haskell.scm ends here

View File

@ -17,6 +17,7 @@
;;; Copyright © 2017 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;; Copyright © 2017 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2018 Joshua Sierles, Nextjournal <joshua@nextjournal.com>
;;; Copyright © 2018 Fis Trivial <ybbs.daans@hotmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -835,6 +836,39 @@ multi-dimensional image processing.")
(license license:expat)
(home-page "https://ukoethe.github.io/vigra/")))
(define-public vigra-c
(let* ((commit "a2ff675f42079e2623318d8ff8b4288dbe7a7f06")
(revision "0")
(version (git-version "0.0.0" revision commit)))
(package
(name "vigra-c")
(version version)
(home-page "https://github.com/BSeppke/vigra_c")
(source (origin
(method git-fetch)
(uri (git-reference
(url home-page)
(commit commit)))
(sha256
(base32
"1f1phmfbbz3dsq9330rd6bjmdg29hxskxi9l17cyx1f4mdqpgdgl"))
(file-name (git-file-name name version))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f)) ; No test target.
(native-inputs
`(("doxygen" ,doxygen)))
(inputs
`(("fftw" ,fftw)
("fftwf" ,fftwf)
("vigra" ,vigra)))
(synopsis "C interface to the VIGRA computer vision library")
(description
"This package provides a C interface to the VIGRA C++ computer vision
library. It is designed primarily to ease the implementation of higher-level
language bindings to VIGRA.")
(license license:expat))))
(define-public libwebp
(package
(name "libwebp")

View File

@ -838,7 +838,7 @@ and to return information on pronunciations, meanings and synonyms.")
(define-public libreoffice
(package
(name "libreoffice")
(version "5.4.7.1")
(version "5.4.7.2")
(source
(origin
(method url-fetch)
@ -848,7 +848,7 @@ and to return information on pronunciations, meanings and synonyms.")
(version-prefix version 3) "/libreoffice-" version ".tar.xz"))
(sha256
(base32
"0g60wzg90n1kanmkiwy01jz4s4xgdkpczvm7vdrmjpp7ifrgijbv"))))
"0s9s4nhp2whwxis54jbxrf1dwpnpl95b9781d1pdj4xk5z9v90fv"))))
(build-system gnu-build-system)
(native-inputs
`(("bison" ,bison)

View File

@ -366,8 +366,10 @@ for ARCH and optionally VARIANT, or #f if there is no such configuration."
(for-each (lambda (file) (install-file file out))
(find-files "." "^(\\.config|bzImage|zImage|Image|vmlinuz|System\\.map)$"))
;; Install device tree files
(for-each (lambda (file) (install-file file dtbdir))
(find-files "." "\\.dtb$"))
(unless (null? (find-files "." "\\.dtb$"))
(mkdir-p dtbdir)
(invoke "make" (string-append "INSTALL_DTBS_PATH=" dtbdir)
"dtbs_install"))
;; Install kernel modules
(mkdir-p moddir)
(invoke "make"
@ -386,14 +388,14 @@ It has been modified to remove all non-free binary blobs.")
(license license:gpl2)))
(define %intel-compatible-systems '("x86_64-linux" "i686-linux"))
(define %linux-compatible-systems '("x86_64-linux" "i686-linux" "armhf-linux"))
(define %linux-compatible-systems '("x86_64-linux" "i686-linux" "armhf-linux" "aarch64-linux"))
;; linux-libre configuration for armhf-linux is derived from Debian armmp. It
;; supports qemu "virt" machine and possibly a large number of ARM boards.
;; See : https://wiki.debian.org/DebianKernel/ARMMP.
(define %linux-libre-version "4.16.9")
(define %linux-libre-hash "13v5pb30v16cn81w2gnwaa4zhxas7q3zz10igpa2rqd5fdiy3rlz")
(define %linux-libre-version "4.16.10")
(define %linux-libre-hash "028xl0jj7wibd8v93r1r0vnw5iifin46p6ghd9m3w095lailqlsi")
(define-public linux-libre
(make-linux-libre %linux-libre-version
@ -401,18 +403,18 @@ It has been modified to remove all non-free binary blobs.")
%linux-compatible-systems
#:configuration-file kernel-config))
(define %linux-libre-4.14-version "4.14.41")
(define %linux-libre-4.14-hash "0qcfw4spnjlzri8bgch1j0yxsw75gjx1m9qyn3h1lk4a33gczih6")
(define %linux-libre-4.14-version "4.14.42")
(define %linux-libre-4.14-hash "12vjzb5g1abg5d5w6z65n1ixw7c3y9f5zwx3gd3854dgnynbq708")
(define-public linux-libre-4.14
(make-linux-libre %linux-libre-4.14-version
%linux-libre-4.14-hash
%linux-compatible-systems
'("x86_64-linux" "i686-linux" "armhf-linux")
#:configuration-file kernel-config))
(define-public linux-libre-4.9
(make-linux-libre "4.9.100"
"1zphlisrjzbgk7nvclbwm23kmrx7vw13w02r1va3g5lzh0rlwx71"
(make-linux-libre "4.9.101"
"1s8zpl3dnz0nrg0by6hnss5z20iwlcwdg5x4251w0l9la81p05v5"
%intel-compatible-systems
#:configuration-file kernel-config))

View File

@ -132,7 +132,7 @@ keys, no previous conversation is compromised.")
(define-public libsignal-protocol-c
(package
(name "libsignal-protocol-c")
(version "2.3.1")
(version "2.3.2")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/WhisperSystems/"
@ -141,7 +141,7 @@ keys, no previous conversation is compromised.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"1klz9jvbnmfc3qy2x6qcswzw14a7kyzs51dlg18yllvir1f1kz0s"))))
"0380hl6fw3ppf265fg897pyrpqygpx4m9j8ifq118bim8lq6z0pk"))))
(arguments
`(;; Required for proper linking and for tests to run.
#:configure-flags '("-DBUILD_SHARED_LIBS=on" "-DBUILD_TESTING=1")))

View File

@ -20,6 +20,7 @@
;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
;;; Copyright © 2018 Adam Van Ymeren <adam@vany.ca>
;;; Copyright © 2018 Fis Trivial <ybbs.daans@hotmail.com>
;;; Copyright © 2018 Tonton <tonton@riseup.net>
;;;
;;; This file is part of GNU Guix.
;;;
@ -1768,3 +1769,75 @@ allowing you to run a client with no graphical interface, and a Web GUI for
remote access. The @command{amulecmd} command allows you to control aMule
remotely.")
(license license:gpl2+)))
(define-public zyre
(package
(name "zyre")
(version "2.0.0")
(source (origin
(method url-fetch)
(uri
(string-append "https://github.com/zeromq/zyre/releases/download/v"
version "/" name "-" version ".tar.gz"))
(sha256
(base32
"0qz2730bng1gs9xbqxhkw88qbsmszgmmrl2g9k6xrg6r3bqvsdc7"))))
(build-system gnu-build-system)
(inputs `(("zeromq" ,zeromq)
("czmq" ,czmq)
("libsodium" ,libsodium)))
(synopsis "Framework for proximity-based peer-to-peer applications")
(description "Zyre provides reliable group messaging over local area
networks using zeromq. It has these key characteristics:
@itemize
@item Zyre needs no administration or configuration.
@item Peers may join and leave the network at any time.
@item Peers talk to each other without any central brokers or servers.
@item Peers can talk directly to each other.
@item Peers can join groups, and then talk to groups.
@item Zyre is reliable, and loses no messages even when the network is heavily loaded.
@item Zyre is fast and has low latency, requiring no consensus protocols.
@item Zyre is designed for WiFi networks, yet also works well on Ethernet networks.
@end itemize")
(home-page "https://github.com/zeromq/zyre")
(license license:mpl2.0)))
(define-public can-utils
(package
(name "can-utils")
(version "2018.02.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/linux-can/can-utils.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0r0zkm67bdcmbfypjr7z041d4zp0xzb379dyl8cvhmflh12fd2jb"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; No tests exist.
#:make-flags (list "CC=gcc"
(string-append "PREFIX="
(assoc-ref %outputs "out")))
#:phases
(modify-phases %standard-phases
(delete 'configure))))
(home-page "https://github.com/linux-can/can-utils")
(synopsis "CAN utilities")
(description "This package provides CAN utilities in the following areas:
@itemize
@item Basic tools to display, record, generate and replay CAN traffic
@item CAN access via IP sockets
@item CAN in-kernel gateway configuration
@item CAN bus measurement and testing
@item ISO-TP (ISO15765-2:2016 - this means messages with a body larger than
eight bytes) tools
@item Log file converters
@item Serial Line Discipline configuration for slcan driver
@end itemize")
;; Either BSD-3 or GPL-2 can be used.
(license (list license:bsd-3 license:gpl2))))

View File

@ -0,0 +1,168 @@
diff --git a/src/bin/e_auth.c b/src/bin/e_auth.c
index 00b0e5d84..98ab4518f 100644
--- a/src/bin/e_auth.c
+++ b/src/bin/e_auth.c
@@ -9,8 +9,7 @@ e_auth_begin(char *passwd)
if (strlen(passwd) == 0) goto out;
- snprintf(buf, sizeof(buf), "%s/enlightenment/utils/enlightenment_ckpasswd",
- e_prefix_lib_get());
+ snprintf(buf, sizeof(buf), "/run/setuid-programs/enlightenment_ckpasswd");
exe = ecore_exe_pipe_run(buf, ECORE_EXE_PIPE_WRITE, NULL);
if (ecore_exe_send(exe, passwd, strlen(passwd)) != EINA_TRUE) goto out;
diff --git a/src/bin/e_backlight.c b/src/bin/e_backlight.c
index 2bced6766..208e583ba 100644
--- a/src/bin/e_backlight.c
+++ b/src/bin/e_backlight.c
@@ -521,8 +521,8 @@ _bl_sys_level_set(double val)
}
// fprintf(stderr, "SET: %1.3f\n", val);
snprintf(buf, sizeof(buf),
- "%s/enlightenment/utils/enlightenment_backlight %i %s",
- e_prefix_lib_get(), (int)(val * 1000.0), bl_sysval);
+ "/run/setuid-programs/enlightenment_backlight %i %s",
+ (int)(val * 1000.0), bl_sysval);
bl_sys_set_exe = ecore_exe_run(buf, NULL);
}
#endif // HAVE_EEZE || __FreeBSD_kernel__
diff --git a/src/bin/e_fm/e_fm_main_eeze.c b/src/bin/e_fm/e_fm_main_eeze.c
index b7d9e3eba..d8a9eb82c 100644
--- a/src/bin/e_fm/e_fm_main_eeze.c
+++ b/src/bin/e_fm/e_fm_main_eeze.c
@@ -318,7 +318,7 @@ _e_fm_main_eeze_volume_eject(E_Volume *v)
{
char buf[PATH_MAX];
- snprintf(buf, sizeof(buf), "%s/enlightenment/utils/enlightenment_sys", eina_prefix_lib_get(pfx));
+ snprintf(buf, sizeof(buf), "/run/setuid-programs/enlightenment_sys");
eeze_disk_mount_wrapper_set(v->disk, buf);
}
v->guard = ecore_timer_loop_add(E_FM_EJECT_TIMEOUT, (Ecore_Task_Cb)_e_fm_main_eeze_vol_eject_timeout, v);
@@ -512,7 +512,7 @@ _e_fm_main_eeze_volume_unmount(E_Volume *v)
{
char buf[PATH_MAX];
- snprintf(buf, sizeof(buf), "%s/enlightenment/utils/enlightenment_sys", eina_prefix_lib_get(pfx));
+ snprintf(buf, sizeof(buf), "/run/setuid-programs/enlightenment_sys");
eeze_disk_mount_wrapper_set(v->disk, buf);
}
v->guard = ecore_timer_loop_add(E_FM_UNMOUNT_TIMEOUT, (Ecore_Task_Cb)_e_fm_main_eeze_vol_unmount_timeout, v);
@@ -548,7 +548,7 @@ _e_fm_main_eeze_volume_mount(E_Volume *v)
{
char buf2[PATH_MAX];
- snprintf(buf2, sizeof(buf2), "%s/enlightenment/utils/enlightenment_sys", eina_prefix_lib_get(pfx));
+ snprintf(buf2, sizeof(buf2), "/run/setuid-programs/enlightenment_sys");
eeze_disk_mount_wrapper_set(v->disk, buf2);
}
v->guard = ecore_timer_loop_add(E_FM_MOUNT_TIMEOUT, (Ecore_Task_Cb)_e_fm_main_eeze_vol_mount_timeout, v);
diff --git a/src/bin/e_sys.c b/src/bin/e_sys.c
index 6781a9b5a..8cd140f1b 100644
--- a/src/bin/e_sys.c
+++ b/src/bin/e_sys.c
@@ -653,20 +653,16 @@ _e_sys_cb_timer(void *data EINA_UNUSED)
e_init_status_set(_("Checking System Permissions"));
snprintf(buf, sizeof(buf),
- "%s/enlightenment/utils/enlightenment_sys -t halt",
- e_prefix_lib_get());
+ "/run/setuid-programs/enlightenment_sys -t halt");
_e_sys_halt_check_exe = ecore_exe_run(buf, NULL);
snprintf(buf, sizeof(buf),
- "%s/enlightenment/utils/enlightenment_sys -t reboot",
- e_prefix_lib_get());
+ "/run/setuid-programs/enlightenment_sys -t reboot");
_e_sys_reboot_check_exe = ecore_exe_run(buf, NULL);
snprintf(buf, sizeof(buf),
- "%s/enlightenment/utils/enlightenment_sys -t suspend",
- e_prefix_lib_get());
+ "/run/setuid-programs/enlightenment_sys -t suspend");
_e_sys_suspend_check_exe = ecore_exe_run(buf, NULL);
snprintf(buf, sizeof(buf),
- "%s/enlightenment/utils/enlightenment_sys -t hibernate",
- e_prefix_lib_get());
+ "/run/setuid-programs/enlightenment_sys -t hibernate");
_e_sys_hibernate_check_exe = ecore_exe_run(buf, NULL);
return ECORE_CALLBACK_CANCEL;
}
@@ -1079,8 +1075,7 @@ _e_sys_action_do(E_Sys_Action a, char *param EINA_UNUSED, Eina_Bool raw)
/* shutdown -h now */
if (e_util_immortal_check()) return 0;
snprintf(buf, sizeof(buf),
- "%s/enlightenment/utils/enlightenment_sys halt",
- e_prefix_lib_get());
+ "/run/setuid-programs/enlightenment_sys halt");
if (_e_sys_exe)
{
if ((ecore_time_get() - _e_sys_begin_time) > 2.0)
@@ -1114,8 +1109,7 @@ _e_sys_action_do(E_Sys_Action a, char *param EINA_UNUSED, Eina_Bool raw)
/* shutdown -r now */
if (e_util_immortal_check()) return 0;
snprintf(buf, sizeof(buf),
- "%s/enlightenment/utils/enlightenment_sys reboot",
- e_prefix_lib_get());
+ "/run/setuid-programs/enlightenment_sys reboot");
if (_e_sys_exe)
{
if ((ecore_time_get() - _e_sys_begin_time) > 2.0)
@@ -1148,8 +1142,7 @@ _e_sys_action_do(E_Sys_Action a, char *param EINA_UNUSED, Eina_Bool raw)
case E_SYS_SUSPEND:
/* /etc/acpi/sleep.sh force */
snprintf(buf, sizeof(buf),
- "%s/enlightenment/utils/enlightenment_sys suspend",
- e_prefix_lib_get());
+ "/run/setuid-programs/enlightenment_sys suspend");
if (_e_sys_exe)
{
if ((ecore_time_get() - _e_sys_begin_time) > 2.0)
@@ -1208,8 +1201,7 @@ _e_sys_action_do(E_Sys_Action a, char *param EINA_UNUSED, Eina_Bool raw)
case E_SYS_HIBERNATE:
/* /etc/acpi/hibernate.sh force */
snprintf(buf, sizeof(buf),
- "%s/enlightenment/utils/enlightenment_sys hibernate",
- e_prefix_lib_get());
+ "/run/setuid-programs/enlightenment_sys hibernate");
if (_e_sys_exe)
{
if ((ecore_time_get() - _e_sys_begin_time) > 2.0)
diff --git a/src/modules/bluez4/e_mod_main.c b/src/modules/bluez4/e_mod_main.c
index 4b5148634..47d34b07f 100644
--- a/src/modules/bluez4/e_mod_main.c
+++ b/src/modules/bluez4/e_mod_main.c
@@ -49,8 +49,8 @@ _ebluez_l2ping_poller(void *data EINA_UNUSED)
if (tmp)
{
- eina_strbuf_append_printf(buf, "%s/enlightenment/utils/enlightenment_sys l2ping %s",
- e_prefix_lib_get(), tmp);
+ eina_strbuf_append_printf(buf, "/run/setuid-programs/enlightenment_sys l2ping %s",
+ tmp);
autolock_exe = ecore_exe_run(eina_strbuf_string_get(buf), NULL);
}
@@ -692,8 +692,7 @@ e_modapi_init(E_Module *m)
autolock_desklock = ecore_event_handler_add(E_EVENT_DESKLOCK, _ebluez_desklock, NULL);
buf = eina_strbuf_new();
- eina_strbuf_append_printf(buf, "%s/enlightenment/utils/enlightenment_sys -t l2ping",
- e_prefix_lib_get());
+ eina_strbuf_append_printf(buf, "/run/setuid-programs/enlightenment_sys -t l2ping");
autolock_exe = ecore_exe_run(eina_strbuf_string_get(buf), NULL);
eina_strbuf_free(buf);
diff --git a/src/modules/cpufreq/e_mod_main.c b/src/modules/cpufreq/e_mod_main.c
index f4ba259b6..ae228bae3 100644
--- a/src/modules/cpufreq/e_mod_main.c
+++ b/src/modules/cpufreq/e_mod_main.c
@@ -1450,8 +1450,7 @@ e_modapi_init(E_Module *m)
}
E_CONFIG_LIMIT(cpufreq_config->poll_interval, 1, 1024);
- snprintf(buf, sizeof(buf), "%s/%s/freqset",
- e_module_dir_get(m), MODULE_ARCH);
+ snprintf(buf, sizeof(buf), "/run/setuid-programs/freqset");
cpufreq_config->set_exe_path = strdup(buf);
if (stat(buf, &st) < 0)

View File

@ -6970,6 +6970,12 @@ Jupyter kernels such as IJulia and IRKernel.")
("python-jupyter-console" ,python-jupyter-console)
("python-nbconvert" ,python-nbconvert)
("python-notebook" ,python-notebook)))
(native-search-paths
(list (search-path-specification
(variable "JUPYTER_PATH")
(files '("share/jupyter")))))
(home-page "http://jupyter.org")
(synopsis "Web application for interactive documents")
(description
@ -13420,3 +13426,39 @@ generators and Python 3.7's context managers into Python 3.5.")
manager compatible with @code{asyncio}.")
(license license:asl2.0)))
(define-public python-glob2
(package
(name "python-glob2")
(version "0.6")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/miracle2k/python-glob2/archive/"
version
".tar.gz"))
(sha256
(base32
"0ja168f0dz4kbz4m06dm0rd3acaypk6hjx2km541pw22y9s40mag"))
(file-name (string-append name "-" version ".tar.gz"))))
(build-system python-build-system)
(home-page "https://github.com/miracle2k/python-glob2/")
(synopsis "Extended Version of the python buildin glob module")
(description "This is an extended version of the Python
@url{http://docs.python.org/library/glob.html, built-in glob module} which
adds:
@itemize
@item The ability to capture the text matched by glob patterns, and return
those matches alongside the file names.
@item A recursive @code{**} globbing syntax, akin for example to the
@code{globstar} option of Bash.
@item The ability to replace the file system functions used, in order to glob
on virtual file systems.
@item Compatible with Python 2 and Python 3 (tested with 3.3).
@end itemize
Glob2 currently based on the glob code from Python 3.3.1.")
(license license:bsd-2)))
(define-public python2-glob2
(package-with-python2 python-glob2))

View File

@ -272,8 +272,8 @@ safety and thread safety guarantees.")
(package-native-inputs base-rust))))))
(define-public mrustc
(let ((commit "4f98e4322ef7aabd3bbef8cd93c0980cd6eeeed1")
(revision "1")
(let ((commit "ee65f12f4aeb27238c8a2fc07fbe84eceafdde26")
(revision "2")
(rustc-version "1.19.0"))
(package
(name "mrustc")
@ -286,7 +286,7 @@ safety and thread safety guarantees.")
(file-name (git-file-name name version))
(sha256
(base32
"1hk1x2iv64il5g2n3z06d6h219hnxg1w84lj7vi1lydqa65qk92p"))))
"0rdjzxfwhrpzf44afpm0i7b8fiqvriccn93z22sys8pxw22pkp0d"))))
(outputs '("out" "cargo"))
(build-system gnu-build-system)
(inputs
@ -320,7 +320,10 @@ safety and thread safety guarantees.")
(invoke "patch" "-p0" "../rust_src.patch")
(chdir "..")
#t))
(delete 'configure)
(replace 'configure
(lambda* (#:key inputs #:allow-other-keys)
(setenv "CC" (string-append (assoc-ref inputs "gcc") "/bin/gcc"))
#t))
(add-after 'build 'build-minicargo
(lambda _
(for-each (lambda (target)

View File

@ -52,7 +52,7 @@
(define-public dash
(package
(name "dash")
(version "0.5.10.1")
(version "0.5.10.2")
(source
(origin
(method url-fetch)
@ -60,7 +60,7 @@
"dash-" version ".tar.gz"))
(sha256
(base32
"1bl4brz5vy07lrss54glp4vfca3q8d73hyc87sqdk99f76z95b6s"))
"0wb0bwmqc661hylqcfdp7l7x12myw3vpqk513ncyqrjwvhckjriw"))
(modules '((guix build utils)))
(snippet
'(begin

View File

@ -2698,13 +2698,13 @@ a column in data frame.")
(define-public r-rsqlite
(package
(name "r-rsqlite")
(version "2.1.0")
(version "2.1.1")
(source (origin
(method url-fetch)
(uri (cran-uri "RSQLite" version))
(sha256
(base32
"0hknfqcgijdapx1ryy20zy68qmm8wsb1hjx4n4hmkgl552z82q5d"))))
"1giwk4335sc6yhj3rs8h070g1mwy38kyqyqv6vcfxvskykj7vp6z"))))
(properties `((upstream-name . "RSQLite")))
(build-system r-build-system)
(propagated-inputs

View File

@ -9,7 +9,7 @@
;;; Copyright © 2016 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;; Copyright © 2016 Danny Milosavljevic <dannym+a@scratchpost.org>
;;; Copyright © 2016 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2016, 2017 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2016, 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017 Ben Woodcroft <donttrustben@gmail.com>
;;; Copyright © 2017 Nils Gillmann <ng0@n0.is>
;;; Copyright © 2017 Julien Lepiller <julien@lepiller.eu>
@ -264,16 +264,16 @@ ISO 8601 dates, time and duration.")
(define-public python-monotonic
(package
(name "python-monotonic")
(version "1.4")
(version "1.5")
(source
(origin
(method url-fetch)
(uri (pypi-uri "monotonic" version))
(sha256
(base32
"110zd5ld3nchdjds34r95lzs1csmmv81pli2px8l1k8qnpai29m0"))))
"1c6z46yb600klbfhqadyl7vq0jdjdxkm72k43ra3iw3d0xakv593"))))
(build-system python-build-system)
(arguments '(#:tests? #f)) ;no tests
(arguments '(#:tests? #f)) ; no tests
(home-page "https://github.com/atdt/monotonic")
(synopsis "Implementation of time.monotonic() for Python 2 & < 3.3")
(description

View File

@ -19,6 +19,7 @@
;;; Copyright © 2017 Stefan Reichör <stefan@xsteve.at>
;;; Copyright © 2017 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2018 Sou Bunnbu <iyzsong@member.fsf.org>
;;; Copyright © 2018 Christopher Baines <mail@cbaines.net>
;;;
;;; This file is part of GNU Guix.
;;;
@ -555,6 +556,21 @@ collaboration using typical untrusted file hosts or services.")
(quoted-file-name (assoc-ref inputs "bzip2") "/bin/bzip2"))
(("\"xz\"")
(quoted-file-name (assoc-ref inputs "xz") "/bin/xz")))
(substitute* "filters/about-formatting.sh"
(("$\\(dirname $0\\)") (string-append (assoc-ref outputs "out")
"/lib/cgit/filters"))
(("\\| tr") (string-append "| " (which "tr"))))
(substitute* "filters/html-converters/txt2html"
(("sed") (which "sed")))
(substitute* "filters/html-converters/man2html"
(("groff") (which "groff")))
(substitute* "filters/html-converters/rst2html"
(("rst2html\\.py") (which "rst2html.py")))
#t))
(delete 'configure) ; no configure script
(add-after 'build 'build-man
@ -573,7 +589,17 @@ collaboration using typical untrusted file hosts or services.")
;; to get it stripped.
(rename-file (string-append out "/share/cgit/cgit.cgi")
(string-append out "/lib/cgit/cgit.cgi"))
#t)))))))
#t))))
(add-after 'install 'wrap-python-scripts
(lambda* (#:key outputs #:allow-other-keys)
(for-each
(lambda (file)
(wrap-program (string-append (assoc-ref outputs "out")
"/lib/cgit/filters/" file)
`("PYTHONPATH" ":" prefix (,(getenv "PYTHONPATH")))))
'("syntax-highlighting.py"
"html-converters/md2html"))
#t)))))
(native-inputs
;; For building manpage.
`(("asciidoc" ,asciidoc)
@ -592,6 +618,11 @@ collaboration using typical untrusted file hosts or services.")
(base32
"1r2aa19gnrvm2y4fqcvpw1g9l72n48axqmpgv18s6d0y2p72vhzj"))))
("openssl" ,openssl)
("groff" ,groff)
("python" ,python)
("python-docutils" ,python-docutils)
("python-markdown" ,python-markdown)
("python-pygments" ,python-pygments)
("zlib" ,zlib)))
(home-page "https://git.zx2c4.com/cgit/")
(synopsis "Web frontend for git repositories")

View File

@ -515,7 +515,7 @@ SMPTE 314M.")
(define-public libmatroska
(package
(name "libmatroska")
(version "1.4.8")
(version "1.4.9")
(source
(origin
(method url-fetch)
@ -523,12 +523,14 @@ SMPTE 314M.")
name "/" name "-" version ".tar.xz"))
(sha256
(base32
"14n9sw974prr3yp4yjb7aadi6x2yz5a0hjw8fs3qigy5shh2piyq"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
"1j4mjzx6mjzfjf9hz8g4w84krf5jccmr5cyynll0j1vwv3aiv9iq"))))
(build-system cmake-build-system)
(inputs
`(("libebml" ,libebml)))
(arguments
`(#:configure-flags
(list "-DBUILD_SHARED_LIBS=YES")
#:tests? #f)) ; no test suite
(home-page "https://www.matroska.org")
(synopsis "C++ library to parse Matroska files (.mkv and .mka)")
(description

View File

@ -3774,13 +3774,13 @@ CDF, Atom 0.3, and Atom 1.0 feeds.")
(define-public r-httpuv
(package
(name "r-httpuv")
(version "1.4.1")
(version "1.4.3")
(source (origin
(method url-fetch)
(uri (cran-uri "httpuv" version))
(sha256
(base32
"1pndv0h870ygibk0bmg9ayzkls60jqscrsyk39k29gy2pvm9ha5y"))))
"15ghxcyg9h0za3qy077fnn3izbpihskvaqwsppm2s43a771imsf6"))))
(build-system r-build-system)
(native-inputs `(("r-rcpp" ,r-rcpp)))
(propagated-inputs
@ -4000,14 +4000,14 @@ objects in HTML format.")
(define-public r-rjson
(package
(name "r-rjson")
(version "0.2.15")
(version "0.2.18")
(source
(origin
(method url-fetch)
(uri (cran-uri "rjson" version))
(sha256
(base32
"1vzjyvf57k1fjizlk28rby65y5lsww5qnfvgnhln74qwda7hvl3p"))))
"18myz05ana8zlyqxi6i4xjs5vmafxln8459ab3ws5kk59c1ardfn"))))
(build-system r-build-system)
(home-page "https://cran.r-project.org/web/packages/rjson")
(synopsis "JSON library for R")

View File

@ -920,7 +920,7 @@ It is inspired by Xmonad and dwm. Its major features include:
(define-public cwm
(package
(name "cwm")
(version "6.2")
(version "6.3")
(source
(origin
(method url-fetch)
@ -928,7 +928,7 @@ It is inspired by Xmonad and dwm. Its major features include:
version ".tar.gz"))
(sha256
(base32
"1b8k2hjxpb0bzqjh2wj6mn2nf2360zacf8z19sw2rw5lxvmfy89x"))))
"17pdp9cfgh2n3n3905l4rl9qk7b722i8psnarhlc2h98qzx7zmac"))))
(build-system gnu-build-system)
(arguments
`(#:make-flags (list "CC=gcc"

View File

@ -22,6 +22,7 @@
;;; Copyright © 2017 Marek Benc <dusxmt@gmx.com>
;;; Copyright © 2017 Mike Gerwitz <mtg@gnu.org>
;;; Copyright © 2018 Thomas Sigurdsen <tonton@riseup.net>
;;; Copyright © 2018 Pierre Neidhardt <ambrevar@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -1435,3 +1436,39 @@ with black color on a white background (colors are configurable on the
commandline).")
(home-page "https://www.joachim-breitner.de/projects#screen-message")
(license license:gpl2+)))
(define-public xss-lock
;; xss-lock does not seem to be maintained any longer, but the last commits
;; fix important issues so we package them.
(let ((version "0.3.0")
(revision "1")
(commit "1e158fb20108058dbd62bd51d8e8c003c0a48717"))
(package
(name "xss-lock")
(version (git-version version revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://bitbucket.org/raymonad/xss-lock.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"10hx7k7ga8g08akwz8qrsvj8iqr5nd4siiva6sjx789jvf0sak7r"))))
(build-system cmake-build-system)
(inputs `(("glib" ,glib)
("xcb-util" ,xcb-util)))
(native-inputs
`(("python-docutils" ,python-docutils)
("pkg-config" ,pkg-config)))
(arguments
`(#:tests? #f))
(synopsis "Use external screen locker on events")
(description "@code{xss-lock} listens to X signals to fire up a
user-defined screensaver. In effect this allows to automatically lock the
screen when closing a laptop lid or after a period of user inactivity (as set
with @code{xset s TIMEOUT}). The notifier command, if specified, is executed
first. Additionally, xss-lock uses the inhibition logic to lock the screen
before the system goes to sleep.")
(home-page "https://bitbucket.org/raymonad/xss-lock")
(license license:expat))))

View File

@ -84,7 +84,7 @@ things the parser might find in the XML document (like start tags).")
(define-public libebml
(package
(name "libebml")
(version "1.3.5")
(version "1.3.6")
(source
(origin
(method url-fetch)
@ -92,8 +92,23 @@ things the parser might find in the XML document (like start tags).")
name "/" name "-" version ".tar.xz"))
(sha256
(base32
"005a0ipqnfbsq47zrc61zszi439jw32q5xd6dc1jyb3lc0zl266q"))))
(build-system gnu-build-system)
"17iynkj22rbszaymxiaq6k02qy9w4fs1appkn1iam4y441w7lnhy"))
(patches
(list
(origin
(method url-fetch)
(uri
(string-append "https://github.com/Matroska-Org/libebml/commit/"
"e46906b80e7662fb78d305f576412f9fa4a22218.patch"))
(file-name "libebml-use-limits-not-climits.patch")
(sha256
(base32
"1803rcj4kzg385xij8j3fcz8h86z43ivciv512zr7jp9jwrafs58")))))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags
(list "-DBUILD_SHARED_LIBS=YES")
#:tests? #f)) ; no test suite
(home-page "https://matroska-org.github.io/libebml/")
(synopsis "C++ library to parse EBML files")
(description "libebml is a C++ library to read and write @dfn{EBML}

View File

@ -5725,7 +5725,7 @@ to answer a question. Xmessage can also exit after a specified time.")
(define-public xterm
(package
(name "xterm")
(version "332")
(version "333")
(source (origin
(method url-fetch)
(uri (list
@ -5735,7 +5735,7 @@ to answer a question. Xmessage can also exit after a specified time.")
name "-" version ".tgz")))
(sha256
(base32
"0zdjiik4ravc3zld5c9i2ndrvazjmwiwbgl2c21348762wki2jsx"))))
"0y7gl26mxw6kwqx9j9mi6lx1lp1v3nrlga19ddn07j2m9q0l479g"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags '("--enable-wide-chars" "--enable-load-vt-fonts"

View File

@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2018 Christopher Baines <mail@cbaines.net>
;;;
;;; This file is part of GNU Guix.
;;;
@ -115,6 +116,10 @@
(define (serialize-file-object field-name val)
(serialize-string field-name val))
(define (project-list? val)
(or (list? val)
(file-object? val)))
;;;
;;; Serialize <nginx-server-configuration>
@ -167,7 +172,12 @@
(if (null? val) ""
(serialize-field
'project-list
(plain-file "project-list" (string-join val "\n")))))
(if (file-object? val)
val
(plain-file "project-list" (string-join val "\n"))))))
(define (serialize-extra-options extra-options)
(string-join extra-options "\n" 'suffix))
(define repository-directory? string?)
@ -543,7 +553,7 @@ disabled.")
"Flag which, when set to @samp{#t}, will make cgit omit the standard
header on all pages.")
(project-list
(list '())
(project-list '())
"A list of subdirectories inside of @code{repository-directory}, relative
to it, that should loaded as Git repositories. An empty list means that all
subdirectories will be loaded.")
@ -641,6 +651,7 @@ for cgit to allow access to that repository.")
(define (rest? field)
(not (memq (configuration-field-name field)
'(project-list
extra-options
repository-directory
repositories))))
#~(string-append
@ -649,6 +660,8 @@ for cgit to allow access to that repository.")
#$(serialize-project-list
'project-list
(cgit-configuration-project-list config))
#$(serialize-extra-options
(cgit-configuration-extra-options config))
#$(serialize-repository-directory
'repository-directory
(cgit-configuration-repository-directory config))

View File

@ -63,7 +63,7 @@ all the services that may be activated by the daemon."
(find-files
(string-append
service
"/share/dbus-1/system-services")
"/share/dbus-1/")
"\\.service$"))
(list #$@services)))

View File

@ -5,6 +5,7 @@
;;; Copyright © 2016 Sou Bunnbu <iyzsong@gmail.com>
;;; Copyright © 2017 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2017 Nils Gillmann <ng0@n0.is>
;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
;;;
@ -32,6 +33,7 @@
#:use-module (gnu services sound)
#:use-module ((gnu system file-systems)
#:select (%elogind-file-systems))
#:use-module (gnu system)
#:use-module (gnu system shadow)
#:use-module (gnu system pam)
#:use-module (gnu packages glib)
@ -45,9 +47,11 @@
#:use-module (gnu packages linux)
#:use-module (gnu packages libusb)
#:use-module (gnu packages mate)
#:use-module (gnu packages enlightenment)
#:use-module (guix records)
#:use-module (guix packages)
#:use-module (guix store)
#:use-module (guix utils)
#:use-module (guix gexp)
#:use-module (srfi srfi-1)
#:use-module (ice-9 match)
@ -97,6 +101,10 @@
x11-socket-directory-service
enlightenment-desktop-configuration
enlightenment-desktop-configuration?
enlightenment-desktop-service-type
%desktop-services))
;;; Commentary:
@ -900,6 +908,60 @@ with the administrator's password."
(let ((directory "/tmp/.X11-unix"))
(mkdir-p directory)
(chmod directory #o777))))))
;;;
;;; Enlightenment desktop service.
;;;
(define-record-type* <enlightenment-desktop-configuration>
enlightenment-desktop-configuration make-enlightenment-desktop-configuration
enlightenment-desktop-configuration?
;; <package>
(enlightenment enlightenment-package
(default enlightenment)))
(define (enlightenment-setuid-programs enlightenment-desktop-configuration)
(match-record enlightenment-desktop-configuration
<enlightenment-desktop-configuration>
(enlightenment)
(list (file-append enlightenment
"/lib/enlightenment/utils/enlightenment_sys")
(file-append enlightenment
"/lib/enlightenment/utils/enlightenment_backlight")
;; TODO: Move this binary to a screen-locker service.
(file-append enlightenment
"/lib/enlightenment/utils/enlightenment_ckpasswd")
(file-append enlightenment
(string-append
"/lib/enlightenment/modules/cpufreq/"
(match (string-tokenize (%current-system)
(char-set-complement (char-set #\-)))
((arch "linux") (string-append "linux-gnu-" arch))
((arch "gnu") (string-append "gnu-" arch)))
"-"
(version-major+minor (package-version enlightenment))
"/freqset")))))
(define enlightenment-desktop-service-type
(service-type
(name 'enlightenment-desktop)
(extensions
(list (service-extension dbus-root-service-type
(compose list
(package-direct-input-selector
"efl")
enlightenment-package))
(service-extension setuid-program-service-type
enlightenment-setuid-programs)
(service-extension profile-service-type
(compose list
enlightenment-package))))
(default-value (enlightenment-desktop-configuration))
(description
"Return a service that adds the @code{enlightenment} package to the system
profile, and extends dbus with the ability for @code{efl} to generate
thumbnails and makes setuid the programs which enlightenment needs to function
as expected.")))
;;;

View File

@ -464,6 +464,8 @@ make an initial adjustment of more than 1,000 seconds."
openntpd-shepherd-service)
(service-extension account-service-type
(const %ntp-accounts))
(service-extension profile-service-type
(compose list openntpd-configuration-openntpd))
(service-extension activation-service-type
openntpd-service-activation)))
(default-value (openntpd-configuration))
@ -952,6 +954,8 @@ wireless networking."))))
(extensions
(list (service-extension shepherd-root-service-type
connman-shepherd-service)
(service-extension polkit-service-type
connman-package)
(service-extension dbus-root-service-type
connman-package)
(service-extension activation-service-type
@ -959,6 +963,7 @@ wireless networking."))))
;; Add connman to the system profile.
(service-extension profile-service-type
connman-package)))
(default-value (connman-configuration))
(description
"Run @url{https://01.org/connman,Connman},
a network connection manager."))))

View File

@ -841,9 +841,8 @@ hardware-related operations as necessary when booting a Linux container."
(define (operating-system-root-file-system os)
"Return the root file system of OS."
(find (match-lambda
(($ <file-system> device title "/") #t)
(x #f))
(find (lambda (fs)
(string=? "/" (file-system-mount-point fs)))
(operating-system-file-systems os)))
(define (operating-system-initrd-file os)

View File

@ -25,8 +25,7 @@
#:re-export (uuid ;backward compatibility
string->uuid
uuid->string)
#:export (<file-system>
file-system
#:export (file-system
file-system?
file-system-device
file-system-title

View File

@ -52,6 +52,7 @@
mx6cuboxi-installation-os
nintendo-nes-classic-edition-installation-os
novena-installation-os
pine64-plus-installation-os
wandboard-installation-os))
;;; Commentary:
@ -447,6 +448,11 @@ The bootloader BOOTLOADER is installed to BOOTLOADER-TARGET."
"/dev/mmcblk0" ; SD card (solder it yourself)
"ttyS0"))
(define pine64-plus-installation-os
(embedded-installation-os u-boot-pine64-plus-bootloader
"/dev/mmcblk0" ; SD card storage
"ttyS0"))
(define wandboard-installation-os
(embedded-installation-os u-boot-wandboard-bootloader
"/dev/mmcblk0" ; SD card storage

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016, 2017 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2017 Danny Milosavljevic <dannym@scratchpost.org>
;;;
;;; This file is part of GNU Guix.
@ -251,7 +251,8 @@ corresponding bytevector; otherwise return #f."
(define-syntax uuid
(lambda (s)
"Return the UUID object corresponding to the given UUID representation."
"Return the UUID object corresponding to the given UUID representation or
#f if the string could not be parsed."
(syntax-case s (quote)
((_ str (quote type))
(and (string? (syntax->datum #'str))
@ -266,9 +267,11 @@ corresponding bytevector; otherwise return #f."
(string? (syntax->datum #'str))
#'(uuid str 'dce))
((_ str)
#'(make-uuid 'dce (string->uuid str 'dce)))
#'(let ((bv (string->uuid str 'dce)))
(and bv (make-uuid 'dce bv))))
((_ str type)
#'(make-uuid type (string->uuid str type))))))
#'(let ((bv (string->uuid str type)))
(and bv (make-uuid type bv)))))))
(define uuid->string
;; Convert the given bytevector or UUID object, to the corresponding UUID

View File

@ -81,14 +81,23 @@ identical, #f otherwise."
(or (eof-object? n1)
(loop))))))))))))))
(define %harmless-collisions
;; This is a list of files that are known to collide, but for which emitting
;; a warning doesn't make sense. For example, "icon-theme.cache" is
;; regenerated by a profile hook which shadows the file provided by
;; individual packages, and "gschemas.compiled" is made available to
;; applications via 'glib-or-gtk-build-system'.
'("icon-theme.cache" "gschemas.compiled"))
(define (warn-about-collision files)
"Handle the collision among FILES by emitting a warning and choosing the
first one of THEM."
(format (current-error-port)
"~%warning: collision encountered:~%~{ ~a~%~}"
files)
(let ((file (first files)))
(format (current-error-port) "warning: choosing ~a~%" file)
(unless (member (basename file) %harmless-collisions)
(format (current-error-port)
"~%warning: collision encountered:~%~{ ~a~%~}"
files)
(format (current-error-port) "warning: choosing ~a~%" file))
file))
(define* (union-build output inputs

View File

@ -843,6 +843,57 @@ MANIFEST. Single-file bundles are required by programs such as Git and Lynx."
#:local-build? #t
#:substitutable? #f))
(define (glib-schemas manifest)
"Return a derivation that unions all schemas from manifest entries and
creates the Glib 'gschemas.compiled' file."
(define glib ; lazy reference
(module-ref (resolve-interface '(gnu packages glib)) 'glib))
(mlet %store-monad ((%glib (manifest-lookup-package manifest "glib"))
;; XXX: Can't use glib-compile-schemas corresponding
;; to the glib referenced by 'manifest'. Because
;; '%glib' can be either a package or store path, and
;; there's no way to get the "bin" output for the later.
(glib-compile-schemas
-> #~(string-append #+glib:bin
"/bin/glib-compile-schemas")))
(define build
(with-imported-modules '((guix build utils)
(guix build union)
(guix build profiles)
(guix search-paths)
(guix records))
#~(begin
(use-modules (guix build utils)
(guix build union)
(guix build profiles)
(srfi srfi-26))
(let* ((destdir (string-append #$output "/share/glib-2.0/schemas"))
(schemadirs (filter file-exists?
(map (cut string-append <> "/share/glib-2.0/schemas")
'#$(manifest-inputs manifest)))))
;; Union all the schemas.
(mkdir-p (string-append #$output "/share/glib-2.0"))
(union-build destdir schemadirs
#:log-port (%make-void-port "w"))
(let ((dir destdir))
(when (file-is-directory? dir)
(ensure-writable-directory dir)
(invoke #+glib-compile-schemas
(string-append "--targetdir=" dir)
dir)))))))
;; Don't run the hook when there's nothing to do.
(if %glib
(gexp->derivation "glib-schemas" build
#:local-build? #t
#:substitutable? #f)
(return #f))))
(define (gtk-icon-themes manifest)
"Return a derivation that unions all icon themes from manifest entries and
creates the GTK+ 'icon-theme.cache' file for each theme."
@ -1198,6 +1249,7 @@ the entries in MANIFEST."
fonts-dir-file
ghc-package-cache-file
ca-certificate-bundle
glib-schemas
gtk-icon-themes
gtk-im-modules
xdg-desktop-database

View File

@ -1244,6 +1244,7 @@ static bool canBuildLocally(const string & platform)
return platform == settings.thisSystem
#if __linux__
|| (platform == "i686-linux" && settings.thisSystem == "x86_64-linux")
|| (platform == "armhf-linux" && settings.thisSystem == "aarch64-linux")
#endif
;
}
@ -2220,6 +2221,13 @@ void DerivationGoal::runChild()
throw SysError("cannot set i686-linux personality");
}
if (drv.platform == "armhf-linux" &&
(settings.thisSystem == "aarch64-linux" ||
(!strcmp(utsbuf.sysname, "Linux") && !strcmp(utsbuf.machine, "aarch64")))) {
if (personality(PER_LINUX32) == -1)
throw SysError("cannot set armhf-linux personality");
}
/* Impersonate a Linux 2.6 machine to get some determinism in
builds that depend on the kernel version. */
if ((drv.platform == "i686-linux" || drv.platform == "x86_64-linux") && settings.impersonateLinux26) {

View File

@ -20,9 +20,9 @@
# Test the `guix pack' command-line utility.
#
# The bootstrap binaries are needed to run these tests, which usually requires
# a network connection.
if ! guix build -q guile-bootstrap; then
# A network connection is required to build %bootstrap-coreutils&co,
# which is required to run these tests with the --bootstrap option.
if ! guile -c '(getaddrinfo "www.gnu.org" "80" AI_NUMERICSERV)' 2> /dev/null; then
exit 77
fi

View File

@ -125,9 +125,9 @@ else
then
# FIXME: With Guile 2.2.0 the error is reported on line 4.
# See <http://bugs.gnu.org/26107>.
grep "$tmpfile:[49]:[0-9]\+: GRUB-config.*[Uu]nbound variable" "$errorfile"
grep "$tmpfile:[49]:[0-9]\+:.*GRUB-config.*[Uu]nbound variable" "$errorfile"
else
grep "$tmpfile:9:[0-9]\+: GRUB-config.*[Uu]nbound variable" "$errorfile"
grep "$tmpfile:9:[0-9]\+:.*GRUB-config.*[Uu]nbound variable" "$errorfile"
fi
fi

View File

@ -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>
;;;
;;; This file is part of GNU Guix.
;;;
@ -57,6 +57,13 @@
"1234-ABCD"
(uuid->string (uuid "1234-abcd" 'fat32)))
(test-assert "uuid, dynamic value"
(let* ((good "4dab5feb-d176-45de-b287-9b0a6e4c01cb")
(bad (string-drop good 3)))
(and (uuid? (uuid good))
(string=? good (uuid->string (uuid good)))
(not (uuid bad)))))
(test-assert "uuid=?"
(and (uuid=? (uuid-bytevector (uuid "1234-abcd" 'fat32))
(uuid "1234-abcd" 'fat32))