me
/
guix
Archived
1
0
Fork 0

Merge branch 'master' into staging

master
Marius Bakke 2020-11-26 01:08:35 +01:00
commit bff94a5a53
No known key found for this signature in database
GPG Key ID: A2A06DF2A33A54FA
66 changed files with 1325 additions and 424 deletions

View File

@ -1954,9 +1954,6 @@ Nevertheless, before you proceed with the installation, be aware of the
following noteworthy limitations applicable to version @value{VERSION}:
@itemize
@item
Support for the Logical Volume Manager (LVM) is missing.
@item
More and more system services are provided (@pxref{Services}), but some
may be missing.
@ -13755,7 +13752,6 @@ Guix extends this notion by considering any device or set of devices that
are @dfn{transformed} in some way to create a new device; for instance,
RAID devices are obtained by @dfn{assembling} several other devices, such
as hard disks or partitions, into a new one that behaves as one partition.
Other examples, not yet implemented, are LVM logical volumes.
Mapped devices are declared using the @code{mapped-device} form,
defined as follows; for examples, see below.
@ -13768,7 +13764,8 @@ the system boots up.
@item source
This is either a string specifying the name of the block device to be mapped,
such as @code{"/dev/sda3"}, or a list of such strings when several devices
need to be assembled for creating a new one.
need to be assembled for creating a new one. In case of LVM this is a
string specifying name of the volume group to be mapped.
@item target
This string specifies the name of the resulting mapped device. For
@ -13777,6 +13774,12 @@ specifying @code{"my-partition"} leads to the creation of
the @code{"/dev/mapper/my-partition"} device.
For RAID devices of type @code{raid-device-mapping}, the full device name
such as @code{"/dev/md0"} needs to be given.
LVM logical volumes of type @code{lvm-device-mapping} need to
be specified as @code{"VGNAME-LVNAME"}.
@item targets
This list of strings specifies names of the resulting mapped devices in case
there are several. The format is identical to @var{target}.
@item type
This must be a @code{mapped-device-kind} object, which specifies how
@ -13797,6 +13800,14 @@ module for the appropriate RAID level to be loaded, such as @code{raid456}
for RAID-4, RAID-5 or RAID-6, or @code{raid10} for RAID-10.
@end defvr
@cindex LVM, logical volume manager
@defvr {Scheme Variable} lvm-device-mapping
This defines one or more logical volumes for the Linux
@uref{https://www.sourceware.org/lvm2/, Logical Volume Manager (LVM)}.
The volume group is activated by the @command{vgchange} command from the
@code{lvm2} package.
@end defvr
@cindex disk encryption
@cindex LUKS
The following example specifies a mapping from @file{/dev/sda3} to
@ -13854,6 +13865,19 @@ Note that the RAID level need not be given; it is chosen during the
initial creation and formatting of the RAID device and is determined
automatically later.
LVM logical volumes ``alpha'' and ``beta'' from volume group ``vg0'' can
be declared as follows:
@lisp
(mapped-device
(source "vg0")
(target (list "vg0-alpha" "vg0-beta"))
(type lvm-device-mapping))
@end lisp
Devices @file{/dev/mapper/vg0-alpha} and @file{/dev/mapper/vg0-beta} can
then be used as the @code{device} of a @code{file-system} declaration
(@pxref{File Systems}).
@node User Accounts
@section User Accounts
@ -16715,7 +16739,7 @@ Connection policy. @var{reject} policy requires to specify @var{known-hosts}.
List of hosts which allowed for SSH connection from @command{webssh}.
@item @code{log-file} (default: @file{"/var/log/webssh.log"})
Name of the file where @command{rsync} writes its log file.
Name of the file where @command{webssh} writes its log file.
@item @code{log-level} (default: @var{#f})
Logging level.

View File

@ -264,6 +264,7 @@
link unlink
map
rename
append
open read write relabelfrom)))
(allow guix_daemon_t
guix_store_content_t
@ -277,7 +278,7 @@
(fifo_file (create getattr open read unlink write)))
(allow guix_daemon_t
guix_store_content_t
(sock_file (create getattr unlink write)))
(sock_file (create getattr setattr unlink write)))
;; Access to configuration files and directories
(allow guix_daemon_t
@ -362,7 +363,7 @@
(tcp_socket (name_bind name_connect accept listen)))
(allow guix_daemon_t
self
(udp_socket (connect getattr bind getopt setopt)))
(udp_socket (connect getattr bind getopt setopt read write)))
(allow guix_daemon_t
self
(fifo_file (write read)))
@ -372,7 +373,11 @@
(allow guix_daemon_t
self
(unix_stream_socket (connectto)))
(allow guix_daemon_t
self
(unix_dgram_socket (create bind connect sendto read write)))
;; For some esoteric build jobs (i.e. PostgreSQL).
(allow guix_daemon_t
node_t
(tcp_socket (node_bind)))
@ -382,6 +387,15 @@
(allow guix_daemon_t
port_t
(tcp_socket (name_connect)))
(allow guix_daemon_t
tmpfs_t
(file (map read write)))
(allow guix_daemon_t
hugetlbfs_t
(file (map read write)))
(allow guix_daemon_t
postgresql_port_t
(tcp_socket (name_connect name_bind)))
(allow guix_daemon_t
rtp_media_port_t
(udp_socket (name_bind)))

View File

@ -18,6 +18,23 @@
(channel-news
(version 0)
(entry (commit "a9a2fdaabcc78e7a54d9a6bcfa4ee3de308e9a90")
(title (en "Logical Volume Manager (LVM) now supported on Guix System"))
(body
(en "On Guix System, the new @code{lvm-device-mapping} variable
allows you to declare ``mapped devices'' for LVM, the Linux Logical Volume
Manager. For example, LVM logical volumes ``alpha'' and ``beta'' from volume
group ``vg0'' can be declared as follows:
@lisp
(mapped-device
(source \"vg0\")
(target (list \"vg0-alpha\" \"vg0-beta\"))
(type lvm-device-mapping))
@end lisp
See @command{info \"(guix) Mapped Devices\"} for more information.")))
(entry (commit "3b6e4e5fd05e72b8a32ff1a2d5e21464260e21e6")
(title (en "List of substitute keys is now declarative on Guix System")
(de "Liste der Substitutschlüssel auf Guix System ist jetzt deklarativ")

View File

@ -8,6 +8,8 @@ gnu: Add ${1:`(with-temp-buffer
"diff" "--staged")
(beginning-of-buffer)
(when (search-forward "+(define-public " nil 'noerror)
(thing-at-point 'sexp 'no-properties)))`}.
(replace-regexp-in-string
"^sbcl-" ""
(thing-at-point 'sexp 'no-properties))))`}.
* `(car (magit-staged-files))` (${1:$(replace-regexp-in-string (rx line-start "sbcl" (optional "-cl")) "cl" yas-text)}, ${1:$(replace-regexp-in-string "^sbcl" "ecl" yas-text)}, $1): New variables.
* `(car (magit-staged-files))` (cl-${1:$(replace-regexp-in-string "^cl-" "" yas-text)}, ecl-$1, sbcl-$1): New variables.

View File

@ -3,6 +3,7 @@
;;; Copyright © 2017, 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2018, 2019 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2020 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2020 Mathieu Othacehe <othacehe@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -209,8 +210,13 @@ SYSTEM."
pine64-barebones-raw-image
pinebook-pro-barebones-raw-image))
(define (hours hours)
(* 3600 hours))
(define (image-jobs store system)
"Return a list of jobs that build images for SYSTEM."
"Return a list of jobs that build images for SYSTEM. Those jobs are
expensive in storage and I/O operations, hence their periodicity is limited by
passing the PERIOD argument."
(define (->alist drv)
`((derivation . ,(derivation-file-name drv))
(log . ,(log-file store (derivation-file-name drv)))
@ -225,6 +231,7 @@ SYSTEM."
(long-description . "This is a demo stand-alone image of the GNU
system.")
(license . ,(license-name gpl3+))
(period . ,(hours 48))
(max-silent-time . 600)
(timeout . 3600)
(home-page . ,%guix-home-page-url)
@ -323,6 +330,9 @@ system.")
(set-guile-for-build (default-guile))
(system-test-value test))))
;; Those tests are extremely expensive in I/O operations and storage
;; size, use the "period" attribute to run them with a period of at
;; least 48 hours.
`((derivation . ,(derivation-file-name drv))
(log . ,(log-file store (derivation-file-name drv)))
(outputs . ,(filter-map (lambda (res)
@ -336,6 +346,7 @@ system.")
(system-test-name test)))
(long-description . ,(system-test-description test))
(license . ,(license-name gpl3+))
(period . ,(hours 48))
(max-silent-time . 600)
(timeout . 3600)
(home-page . ,%guix-home-page-url)
@ -374,7 +385,8 @@ system.")
all its dependencies, and ready to be installed on \"foreign\" distributions.")
(license . ,(license-name gpl3+))
(home-page . ,%guix-home-page-url)
(maintainers . ("bug-guix@gnu.org"))))
(maintainers . ("bug-guix@gnu.org"))
(period . ,(hours 24))))
(define (->job name drv)
(let ((name (symbol-append name (string->symbol ".")

View File

@ -1365,6 +1365,7 @@ dist_patch_DATA = \
%D%/packages/patches/mumps-shared-libseq.patch \
%D%/packages/patches/mumps-shared-mumps.patch \
%D%/packages/patches/mumps-shared-pord.patch \
%D%/packages/patches/mupdf-fix-linkage.patch \
%D%/packages/patches/mupen64plus-ui-console-notice.patch \
%D%/packages/patches/mupen64plus-video-z64-glew-correct-path.patch \
%D%/packages/patches/musl-cross-locale.patch \

View File

@ -58,6 +58,7 @@
#:use-module (gnu packages backup)
#:use-module (gnu packages base)
#:use-module (gnu packages bison)
#:use-module (gnu packages build-tools)
#:use-module (gnu packages boost)
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
@ -4713,7 +4714,7 @@ in the package.")
(define-public libaudec
(package
(name "libaudec")
(version "0.2.3")
(version "0.2.4")
(source
(origin
(method git-fetch)
@ -4723,11 +4724,13 @@ in the package.")
(file-name (git-file-name name version))
(sha256
(base32
"04hw61db8wscj28qjyiaiafx8xl87njgmvqszxyhs4gmg8xgjip7"))))
"1570m2dfia17dbkhd2qhx8jjihrpm7g8nnyg6n4wif4vv229s7dz"))))
(build-system meson-build-system)
(arguments
;; Compile tests.
`(#:configure-flags `("-Dtests=true")))
`(#:meson ,meson-0.55
#:configure-flags
;; Build the tests.
`("-Dtests=true")))
(inputs
`(("libsamplerate" ,libsamplerate)
("libsndfile" ,libsndfile)))

View File

@ -12,7 +12,7 @@
;;; Copyright © 2018 Joshua Sierles, Nextjournal <joshua@nextjournal.com>
;;; Copyright © 2018 Gábor Boskovits <boskovits@gmail.com>
;;; Copyright © 2018, 2019, 2020 Mădălin Ionel Patrașcu <madalinionel.patrascu@mdc-berlin.de>
;;; Copyright © 2019 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2019, 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2019 Brian Leung <bkleung89@gmail.com>
;;; Copyright © 2019 Brett Gilio <brettg@gnu.org>
;;; Copyright © 2020 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
@ -66,6 +66,8 @@
#:use-module (gnu packages boost)
#:use-module (gnu packages check)
#:use-module (gnu packages code)
#:use-module (gnu packages commencement)
#:use-module (gnu packages cmake)
#:use-module (gnu packages compression)
#:use-module (gnu packages cpio)
#:use-module (gnu packages cran)
@ -82,6 +84,7 @@
#:use-module (gnu packages golang)
#:use-module (gnu packages glib)
#:use-module (gnu packages graph)
#:use-module (gnu packages graphics)
#:use-module (gnu packages graphviz)
#:use-module (gnu packages groff)
#:use-module (gnu packages gtk)
@ -91,6 +94,7 @@
#:use-module (gnu packages haskell-web)
#:use-module (gnu packages haskell-xyz)
#:use-module (gnu packages image)
#:use-module (gnu packages image-processing)
#:use-module (gnu packages imagemagick)
#:use-module (gnu packages java)
#:use-module (gnu packages java-compression)
@ -11169,23 +11173,44 @@ programs for inferring phylogenies (evolutionary trees).")
"1z1vcpwbylixk0zywngg5iw0jv083jj1bqphi817jpg3fb9fx2jj"))))
(build-system cmake-build-system)
(arguments
`(;; FIXME: Some tests fail because they produce warnings, others fail
;; because the PYTHONPATH does not include the modeller's directory.
#:tests? #f))
`( ;; CMake 3.17 or newer is required for the CMAKE_TEST_ARGUMENTS used
;; below to have an effect.
#:cmake ,cmake
#:configure-flags
(let ((disabled-tests
'("expensive" ;exclude expensive tests
"IMP.modeller" ;fail to import its own modules
"IMP.parallel-test_sge.py" ;fail in build container
;; The following test fails non-reproducibly on
;; an inexact numbers assertion.
"IMP.em-medium_test_local_fitting.py")))
(list
(string-append
"-DCMAKE_CTEST_ARGUMENTS="
(string-join
(list "-L" "-tests?-" ;select only tests
"-E" (format #f "'(~a)'" (string-join disabled-tests "|")))
";"))))))
(native-inputs
`(("python" ,python-wrapper)
("swig" ,swig)))
(inputs
`(("boost" ,boost)
("cgal" ,cgal)
("gsl" ,gsl)
("swig" ,swig)
("hdf5" ,hdf5)
("fftw" ,fftw)
("eigen" ,eigen)
("python" ,python-2)))
;; Enabling MPI causes the build to use all the available memory and
;; fail (tested on a machine with 32 GiB of RAM).
;;("mpi" ,openmpi)
("opencv" ,opencv)))
(propagated-inputs
`(("python2-numpy" ,python2-numpy)
("python2-scipy" ,python2-scipy)
("python2-pandas" ,python2-pandas)
("python2-scikit-learn" ,python2-scikit-learn)
("python2-networkx" ,python2-networkx)))
`(("python-numpy" ,python-numpy)
("python-scipy" ,python-scipy)
("python-pandas" ,python-pandas)
("python-scikit-learn" ,python-scikit-learn)
("python-networkx" ,python-networkx)))
(home-page "https://integrativemodeling.org")
(synopsis "Integrative modeling platform")
(description "IMP's broad goal is to contribute to a comprehensive
@ -11203,7 +11228,7 @@ applications for tackling some common problems in a user-friendly way.")
(define-public tadbit
(package
(name "tadbit")
(version "0.2.0")
(version "1.0.1")
(source (origin
(method git-fetch)
(uri (git-reference
@ -11212,21 +11237,13 @@ applications for tackling some common problems in a user-friendly way.")
(file-name (git-file-name name version))
(sha256
(base32
"07g3aj648prmsvxp9caz5yl41k0y0647vxh0f5p3w8376mfiljd0"))))
"0hqrlymh2a2bimcfdvlssy1x5h1lp3h1c5a7jj11hmcqczzqn3ni"))))
(build-system python-build-system)
(arguments
`(;; Tests are included and must be run after installation, but
;; they are incomplete and thus cannot be run.
#:tests? #f
#:python ,python-2
#:phases
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-problems-with-setup.py
(lambda* (#:key outputs #:allow-other-keys)
;; setup.py opens these files for writing
(chmod "_pytadbit/_version.py" #o664)
(chmod "README.rst" #o664)
;; Don't attempt to install the bash completions to
;; the home directory.
(rename-file "extras/.bash_completion"
@ -11238,15 +11255,25 @@ applications for tackling some common problems in a user-friendly way.")
"/etc/bash_completion.d\""))
(("extras/\\.bash_completion")
"extras/tadbit"))
#t))
(replace 'check
(lambda* (#:key inputs outputs #:allow-other-keys)
(add-installed-pythonpath inputs outputs)
(invoke "python3" "test/test_all.py")
#t)))))
(native-inputs
`(("glib" ,glib "bin") ;for gtester
("pkg-config" ,pkg-config)))
(inputs
;; TODO: add Chimera for visualization
`(("imp" ,imp)
("mcl" ,mcl)
("python2-scipy" ,python2-scipy)
("python2-numpy" ,python2-numpy)
("python2-matplotlib" ,python2-matplotlib)
("python2-pysam" ,python2-pysam)))
("python-future" ,python-future)
("python-h5py" ,python-h5py)
("python-scipy" ,python-scipy)
("python-numpy" ,python-numpy)
("python-matplotlib" ,python-matplotlib)
("python-pysam" ,python-pysam)))
(home-page "https://3dgenomes.github.io/TADbit/")
(synopsis "Analyze, model, and explore 3C-based data")
(description

View File

@ -312,7 +312,7 @@ Aria2 can be manipulated via built-in JSON-RPC and XML-RPC interfaces.")
(define-public uget
(package
(name "uget")
(version "2.2.0")
(version "2.2.1")
(source
(origin
(method url-fetch)
@ -320,7 +320,7 @@ Aria2 can be manipulated via built-in JSON-RPC and XML-RPC interfaces.")
"uget%20%28stable%29/" version "/uget-"
version ".tar.gz"))
(sha256
(base32 "0rg2mr2cndxvnjib8zm5dp7y2hgbvnqkz2j2jmg0xlzfh9d34b2m"))))
(base32 "0dlrjhnm1pg2vwmp7nl2xv1aia5hyirb3021rl46x859k63zap24"))))
(build-system gnu-build-system)
(inputs
`(("curl" ,curl)

View File

@ -258,21 +258,25 @@ menu to select one of the installed operating systems.")
(fold alist-delete (package-native-inputs grub)
'("help2man" "texinfo" "parted" "qemu" "xorriso")))
(arguments
`(#:configure-flags (list "PYTHON=true")
#:phases (modify-phases %standard-phases
(add-after 'unpack 'patch-stuff
(lambda* (#:key native-inputs inputs #:allow-other-keys)
(substitute* "grub-core/Makefile.in"
(("/bin/sh") (which "sh")))
(substitute-keyword-arguments (package-arguments grub)
((#:configure-flags _ ''())
'(list "PYTHON=true"))
((#:tests? _ #t)
#f)
((#:phases phases '%standard-phases)
`(modify-phases ,phases
(replace 'patch-stuff
(lambda* (#:key native-inputs inputs #:allow-other-keys)
(substitute* "grub-core/Makefile.in"
(("/bin/sh") (which "sh")))
;; Make the font visible.
(copy-file (assoc-ref (or native-inputs inputs)
"unifont")
"unifont.bdf.gz")
(system* "gunzip" "unifont.bdf.gz")
;; Make the font visible.
(copy-file (assoc-ref (or native-inputs inputs)
"unifont")
"unifont.bdf.gz")
(system* "gunzip" "unifont.bdf.gz")
#t)))
#:tests? #f))))
#t))))))))
(define-public grub-efi
(package

View File

@ -68,8 +68,8 @@
(file-name (string-append name "-" version "-checkout")))))))
(define-public cuirass
(let ((commit "df2d13621f4b2ace33a460746e704115b7b1541e")
(revision "53"))
(let ((commit "fd432b8e8f449d691773e96e7d90f44761e01aa3")
(revision "55"))
(package
(name "cuirass")
(version (git-version "0.0.1" revision commit))
@ -81,7 +81,7 @@
(file-name (git-file-name name version))
(sha256
(base32
"1vgb1wl1rkijm1vv5chqllf4i5w1j7g02xqlaf2xmqjh2phy5dxa"))))
"10j3w3px0250avwry2x8wsa0m0plvm957g4qqgnajsbc9gvka554"))))
(build-system gnu-build-system)
(arguments
'(#:modules ((guix build utils)

View File

@ -8,7 +8,7 @@
;;; Copyright © 2017, 2018, 2020 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2019, 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2019 Pierre-Moana Levesque <pierre.moana.levesque@gmail.com>
;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
;;;
@ -297,6 +297,39 @@ and workspaces that can be used in the compiler environment of your choice.")
(package
(inherit cmake-minimal)
(name "cmake")
(version "3.19.0")
;; TODO: Move the following source field to the cmake-bootstrap package in
;; the next rebuild cycle.
(source (origin
(inherit (package-source cmake-bootstrap))
(uri (string-append "https://cmake.org/files/v"
(version-major+minor version)
"/cmake-" version ".tar.gz"))
(sha256
(base32
"14zlrb7awiazxc5wlvgah9rw1dm4ziczbxiyqsvp4zmaan0ninpx"))
(snippet
(match (origin-snippet (package-source cmake-bootstrap))
((_ _ exp ...)
;; Now we can delete the remaining software bundles.
(append `(begin
(define preserved-files
'(,@%preserved-third-party-files
;; TODO: Move this file to the
;; %preserved-third-party-files variable in
;; the next rebuild cycle.
"Utilities/cm3p" ;CMake header wrappers
;; Use the bundled JsonCpp during bootstrap
;; to work around a circular dependency.
;; TODO: JsonCpp can be built with Meson
;; instead of CMake, but meson-build-system
;; currently does not support
;; cross-compilation.
"Utilities/cmjsoncpp"
;; LibUV is required to bootstrap the initial
;; build system.
"Utilities/cmlibuv")))
exp))))))
(arguments
(substitute-keyword-arguments (package-arguments cmake-minimal)
;; Use cmake-minimal this time.
@ -318,6 +351,42 @@ and workspaces that can be used in the compiler environment of your choice.")
,flags))
((#:phases phases)
`(modify-phases ,phases
;; TODO: Remove this override in the next rebuild cycle and adjust
;; the %common-build-phases variable instead: the
;; Utilities/Release/release_cmake.cmake file no longer exists in
;; version 3.19.0.
(replace 'patch-bin-sh
(lambda _
;; Replace "/bin/sh" by the right path in... a lot of
;; files.
(substitute*
'("Modules/CompilerId/Xcode-3.pbxproj.in"
"Modules/Internal/CPack/CPack.RuntimeScript.in"
"Source/cmGlobalXCodeGenerator.cxx"
"Source/cmLocalUnixMakefileGenerator3.cxx"
"Source/cmExecProgramCommand.cxx"
"Tests/CMakeLists.txt"
"Tests/RunCMake/File_Generate/RunCMakeTest.cmake")
(("/bin/sh") (which "sh")))
#t))
;; TODO: Remove this override in the next rebuild cycle and adjust
;; the %common-disabled-tests variable instead.
(replace 'check
(lambda* (#:key tests? parallel-tests? #:allow-other-keys)
(let ((skipped-tests (list ,@%common-disabled-tests
;; This test fails for unknown reason.
"RunCMake.file-GET_RUNTIME_DEPENDENCIES"
;; This test requires the bundled libuv.
"BootstrapTest")))
(if tests?
(begin
(invoke "ctest" "-j" (if parallel-tests?
(number->string (parallel-job-count))
"1")
"--exclude-regex"
(string-append "^(" (string-join skipped-tests "|") ")$")))
(format #t "test suite not run~%"))
#t)))
(add-after 'install 'move-html-doc
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))

View File

@ -2320,7 +2320,7 @@ database.")
(define-public lmdb
(package
(name "lmdb")
(version "0.9.26")
(version "0.9.27")
(source
(origin
(method git-fetch)
@ -2329,7 +2329,7 @@ database.")
(commit (string-append "LMDB_" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0323xwb2rqyrr9vr6gbxc2kl89drhqw0ifmyh9pg9qgqmymyhxdx"))))
(base32 "09xqqm8yjsf1gv4gd4llal48sms76hfhxadx6rik1j2g5v3d3f1k"))))
(build-system gnu-build-system)
(arguments
`(#:test-target "test"

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018, 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2020 Marius Bakke <marius@gnu.org>
;;;
@ -26,12 +26,17 @@
#:use-module (guix build-system gnu)
#:use-module (guix build-system trivial)
#:use-module (gnu packages autotools)
#:use-module (gnu packages backup)
#:use-module (gnu packages base)
#:use-module (gnu packages compression)
#:use-module (gnu packages crypto)
#:use-module (gnu packages dbm)
#:use-module (gnu packages gettext)
#:use-module (gnu packages gnupg)
#:use-module (gnu packages wget)
#:use-module (gnu packages perl))
#:use-module (gnu packages ncurses)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages wget))
(define-public debian-archive-keyring
(package
@ -275,3 +280,114 @@ debian/copyright for more information.")))))
selectively mirror Debian and Ubuntu GNU/Linux distributions or any
other apt sources typically provided by open source developers.")
(license license:gpl2))))
(define-public dpkg
(package
(name "dpkg")
(version "1.20.5")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://git.dpkg.org/git/dpkg/dpkg")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"190q968g1vdz07byvfvc2gladhpq3yl765mfiacglyix3nkisy0j"))))
(build-system gnu-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-before 'bootstrap 'patch-version
(lambda _
(patch-shebang "get-version")
(with-output-to-file ".dist-version"
(lambda () (display ,version)))
#t))
(add-after 'unpack 'set-perl-libdir
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
(perl (assoc-ref inputs "perl")))
(setenv "PERL_LIBDIR"
(string-append out
"/lib/perl5/site_perl/"
,(package-version perl)))
#t))))))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
("gettext" ,gettext-minimal)
("libtool" ,libtool)
("pkg-config" ,pkg-config)
("perl-io-string" ,perl-io-string)))
(inputs
`(("bzip2" ,bzip2)
("libmd" ,libmd)
("ncurses" ,ncurses)
("perl" ,perl)
("xz" ,xz)
("zlib" ,zlib)))
(home-page "https://wiki.debian.org/Teams/Dpkg")
(synopsis "Debian package management system")
(description "This package provides the low-level infrastructure for
handling the installation and removal of Debian software packages.")
(license license:gpl2+)))
(define-public reprepro
(package
(name "reprepro")
(version "5.3.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://salsa.debian.org/brlink/reprepro.git/")
(commit (string-append name "-" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1kn7m5rxay6q2c4vgjgm4407xx2r46skkkb6rn33m6dqk1xfkqnh"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; testtool not found
#:phases
(modify-phases %standard-phases
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(if tests?
(with-directory-excursion "tests"
(invoke (which "sh") "test.sh"))
#t)))
(add-after 'install 'install-completions
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bash (string-append out "/etc/bash_completion.d/"))
(zsh (string-append out "/share/zsh/site-fucnctions/")))
(mkdir-p bash)
(mkdir-p zsh)
(copy-file "docs/reprepro.bash_completion"
(string-append bash "reprepro"))
(copy-file "docs/reprepro.zsh_completion"
(string-append zsh "_reprepro"))
#t))))))
(inputs
`(("bdb" ,bdb)
("bzip2" ,bzip2)
("gpgme" ,gpgme)
("libarchive" ,libarchive)
("xz" ,xz)
("zlib" ,zlib)))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)))
(home-page "https://salsa.debian.org/brlink/reprepro")
(synopsis "Debian package repository producer")
(description "Reprepro is a tool to manage a repository of Debian packages
(@code{.deb}, @code{.udeb}, @code{.dsc}, ...). It stores files either being
injected manually or downloaded from some other repository (partially) mirrored
into one pool/ hierarchy. Managed packages and files are stored in a Berkeley
DB, so no database server is needed. Checking signatures of mirrored
repositories and creating signatures of the generated Package indices is
supported.")
(license license:gpl2)))

View File

@ -317,7 +317,7 @@ and BOOTP/TFTP for network booting of diskless machines.")
(package
(name "bind")
;; When updating, check whether isc-dhcp's bundled copy should be as well.
(version "9.16.8")
(version "9.16.9")
(source (origin
(method url-fetch)
(uri (string-append
@ -325,7 +325,7 @@ and BOOTP/TFTP for network booting of diskless machines.")
"/bind-" version ".tar.xz"))
(sha256
(base32
"0ccdbqmpvnxlbrxjsx2w8ir4xh961svzcw7n87n8dglj6rb9r6wy"))))
"0nja60jxb8d2m5fi6xd55xjpfkzmxhjsmbxqphy6x91qsz295cmw"))))
(build-system gnu-build-system)
(outputs `("out" "utils"))
(inputs

View File

@ -140,7 +140,7 @@ of categories with some of the activities available in that category.
(define-public gcompris-qt
(package
(name "gcompris-qt")
(version "0.98")
(version "1.0")
(source
(origin
(method url-fetch)
@ -148,22 +148,19 @@ of categories with some of the activities available in that category.
"https://gcompris.net/download/qt/src/gcompris-qt-"
version ".tar.xz"))
(sha256
(base32 "1jmjykn0lpk0v6hs2flmch8v4da5bgxl891nav7szxw9l7aqnf4y"))))
(base32 "08dw1q0h4qz2q0ksa5pbmb9v60hr1zv9skx6z8dlq9b1i7harnds"))))
(build-system cmake-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'disable-failing-test
(lambda _
(substitute* "tests/core/CMakeLists.txt"
(("DownloadManagerTest\\.cpp") "#"))
#t))
(add-before 'check 'start-xorg-server
(lambda* (#:key inputs #:allow-other-keys)
;; The test suite requires a running X server.
(system (string-append (assoc-ref inputs "xorg-server")
"/bin/Xvfb :1 &"))
(setenv "DISPLAY" ":1")
;; The test suite wants to write to /homeless-shelter
(setenv "HOME" (getcwd))
#t))
(add-after 'install 'wrap-executable
(lambda* (#:key inputs outputs #:allow-other-keys)
@ -192,7 +189,7 @@ of categories with some of the activities available in that category.
("xorg-server" ,xorg-server-for-tests)))
(inputs
`(("openssl" ,openssl)
("python-2" ,python-2)
("python" ,python-wrapper)
("qtbase" ,qtbase)
("qtdeclarative" ,qtdeclarative)
("qtgraphicaleffects" ,qtgraphicaleffects)
@ -217,7 +214,8 @@ Currently available boards include:
@item reading practice
@item small games (memory games, jigsaw puzzles, ...)
@end enumerate\n")
(license license:gpl3+)))
(license (list license:silofl1.1 ; bundled fonts
license:gpl3+))))
(define-public tipp10
(package

View File

@ -85,6 +85,7 @@
;;; Copyright © 2020 Adam Kandur <rndd@tuta.io>
;;; Copyright © 2020 Tim Howes <timhowes@lavabit.com>
;;; Copyright © 2020 Noah Landis <noahlandis@posteo.net>
;;; Copyright © 2020 Nicolò Balzarotti <nicolo@nixo.xyz>
;;;
;;; This file is part of GNU Guix.
;;;
@ -10357,6 +10358,31 @@ Flx has support for ido (interactively do things) through flx-ido.")
known loosely as deftheme. Many mode-specific customizations are included.")
(license license:gpl3+)))
(define-public emacs-dart-mode
(package
(name "emacs-dart-mode")
(version "1.0.5")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/bradyt/dart-mode")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1qmdlwjmmqyyb65sqvfpygifai5m0llc815vp0jqwp8ldd8ls172"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-dash" ,emacs-dash)
("emacs-flycheck" ,emacs-flycheck)
("emacs-s" ,emacs-s)))
(home-page "https://github.com/bradyt/dart-mode")
(synopsis "Emacs mode for the Dart programming language")
(description
"Dart mode is an Emacs major mode for editing Dart files. It provides
basic syntax highlighting and indentation.")
(license license:gpl3+)))
(define-public emacs-danneskjold-theme
(let* ((commit "8733d2fe8743e8a01826ea6d4430ef376c727e57")
(revision "1"))
@ -10602,6 +10628,28 @@ provides functions to convert hash tables from and to alists and plists.")
you to deal with multiple log levels.")
(license license:gpl3+)))
(define-public emacs-gn-mode
(package
(name "emacs-gn-mode")
(version "0.4.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/lashtear/gn-mode")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0dz5kgzbgsssr38z2kg6m915cvfys42ag1k42bsra3la2pixywfx"))))
(build-system emacs-build-system)
(home-page "https://github.com/lashtear/gn-mode")
(synopsis "Emacs major mode for editing GN (ninja generator) config files")
(description
"GN mode is a major mode for editing @acronym{GN,Ninja Generator} config
files in Emacs. Files of this type (e.g., @file{BUILD.gn} or @file{*.gni})
are common in Chromium-derived projects.")
(license license:bsd-3)))
(define-public emacs-gntp
(package
(name "emacs-gntp")
@ -14111,15 +14159,14 @@ Anzu.zim.")
(define-public emacs-ascii-art-to-unicode
(package
(name "emacs-ascii-art-to-unicode")
(version "1.12")
(version "1.13")
(source
(origin
(method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/ascii-art-to-unicode-"
version ".el"))
(sha256
(base32
"1w9h2lyriafxj71r79774gh822cz8mry3gdfzyj6ym6v9mvqypna"))))
(base32 "1c0jva3amhl9c5xc5yzdpi58c8m1djym4ccj31z6wmakq7npy07p"))))
(build-system emacs-build-system)
(home-page "https://elpa.gnu.org/packages/ascii-art-to-unicode.html")
(synopsis "ASCII to Unicode art converter for Emacs")
@ -19796,7 +19843,7 @@ too ambiguous and navigation in the result buffer.")
(home-page "https://github.com/sebastiencs/frame-local")
(synopsis "Access variables local to an Emacs frame")
(description
"This packages allows setting and accessing variables local to
"This package allows setting and accessing variables local to
an Emacs frame. Note that the variables created with this package do
not have any relation with variables defined by @code{defvar},
@code{defconst}, etc.")
@ -22299,7 +22346,7 @@ and article extracts for Wikipedia.")
(define-public emacs-webfeeder
(package
(name "emacs-webfeeder")
(version "1.1.0")
(version "1.1.1")
(source
(origin
(method url-fetch)
@ -22309,7 +22356,7 @@ and article extracts for Wikipedia.")
".tar"))
(sha256
(base32
"09wz6v58xc86hdnz6g54ckaxkm6844yyk2ffbxh4s5sdvgqrzdd8"))))
"09caj12hfdfhlbcsmjyhw728w1f7yq13hdslh793yvfqv83ipvc4"))))
(build-system emacs-build-system)
(home-page "https://gitlab.com/Ambrevar/emacs-webfeeder")
(synopsis "Build RSS and Atom webfeeds from HTML files")
@ -23955,14 +24002,14 @@ interface.")
(define-public emacs-ivy-posframe
(package
(name "emacs-ivy-posframe")
(version "0.5.2")
(version "0.5.3")
(source
(origin
(method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/"
"ivy-posframe-" version ".el"))
(sha256
(base32 "01zc2yj7g4lfz7qblx7k6sg54v0h4w0frnnmsf92lwypfijd2lsj"))))
(base32 "03ydfb155p5lak7nw4s79ab9zadwsjw1zggzwxgnlydsqdqbr6l6"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-ivy" ,emacs-ivy)

View File

@ -9,7 +9,7 @@
;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2018, 2019 Jonathan Brielmaier <jonathan.brielmaier@web.de>
;;; Copyright © 2018, 2019 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2018, 2019, 2020 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2019 Tim Stahel <swedneck@swedneck.xyz>
;;; Copyright © 2019 Jovany Leandro G.C <bit4bit@riseup.net>
;;; Copyright © 2019 Steve Sprang <scs@stevesprang.com>
@ -74,6 +74,7 @@
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages gcc)
#:use-module (gnu packages gd)
#:use-module (gnu packages geo)
#:use-module (gnu packages gettext)
#:use-module (gnu packages ghostscript)
#:use-module (gnu packages gl)
@ -1076,18 +1077,29 @@ the 'showing the effect of'-style of operation.")
(define-public volk
(package
(name "volk")
(version "2.3.0")
(version "2.4.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://www.libvolk.org/releases/volk-"
version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/gnuradio/volk")
(commit (string-append "v" version))
(recursive? #t))) ; for cpu_features git submodule
(file-name (git-file-name name version))
(sha256
(base32 "1pjxz3piwy49njj5y2zk437prwkv9lfs5g48577jj3kcsg766vi3"))))
(base32 "14y0988r5qi1h3yvkivx5ihccn8r15910lq30r8iy71ih190r5m9"))))
(build-system cmake-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'install 'remove-static-libraries
;; Remove libcpu_features.a (and any others that might appear).
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(lib (string-append out "/lib")))
(for-each delete-file (find-files lib "\\.a$"
#:fail-on-error? #t))
#t)))
(add-after 'install 'wrap-pythonpath
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
@ -2836,3 +2848,39 @@ GUI.")
provides a full-fledged procedural, interactive programming language designed
to describe data structures and to operate on them.")
(license license:gpl3+))))
(define-public pcb2gcode
(package
(name "pcb2gcode")
(version "2.1.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/pcb2gcode/pcb2gcode")
(commit (string-append "v" version))
(recursive? #t)))
(file-name (git-file-name name version))
(sha256
(base32
"0nzglcyh6ban27cc73j4l7w7r9k38qivq0jz8iwnci02pfalw4ry"))))
(build-system gnu-build-system)
(inputs
`(("boost" ,boost)
("geos" ,geos)
("gerbv" ,gerbv)
("glibmm" ,glibmm)
("gtkmm" ,gtkmm-2)
("librsvg" ,librsvg)))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
("libtool" ,libtool)
("pkg-config" ,pkg-config)))
(home-page "https://github.com/pcb2gcode/pcb2gcode")
(synopsis "Generate G-code for milling PCBs")
(description "pcb2gcode is a command-line program for isolation routing
and drilling of PCBs. It takes Gerber files as input and outputs G-code files
for the milling of PCBs. It also includes an autoleveller for the automatic
dynamic calibration of the milling depth.")
(license license:gpl3+)))

View File

@ -711,17 +711,17 @@ for use at smaller text sizes")))
(define-public font-gnu-unifont
(package
(name "font-gnu-unifont")
(version "13.0.03")
(version "13.0.04")
(source
(origin
(method url-fetch)
(uri (list
(string-append "http://unifoundry.com/pub/unifont/unifont-"
(string-append "https://unifoundry.com/pub/unifont/unifont-"
version "/unifont-" version ".tar.gz")
(string-append "mirror://gnu/unifont/unifont-"
version "/unifont-" version ".tar.gz")))
(sha256
(base32 "04l2sbg6il78qsj3jxqfbz5k1xzihvw8vdlckgkp4zfr0nh2q7h7"))))
(base32 "064ilpbnz62cwmpajszs2b08x2zg7yh9whlaiqhjzi7bir3im94j"))))
(build-system gnu-build-system)
(outputs '("out" ; TrueType version
"pcf" ; PCF (bitmap) version

View File

@ -689,7 +689,7 @@ card, or paper tape, or Morse codes), caesar & rot13 (ciphers and deciphers
the input), factor (factorizes a number), number (translates numbers into
text), pig (translates from English to Pig Latin), pom (should print the
Moon's phase), primes (generates primes), rain & worms (plays an screen-saver
in terminal), random (prints randomly choosen lines from files, or returns a
in terminal), random (prints randomly chosen lines from files, or returns a
random exit-code), and wtf (explains what do some acronyms mean).
Board: backgammon (lead the men out of board faster than the friend do),

View File

@ -788,14 +788,14 @@ utilities for data translation and processing.")
(define-public postgis
(package
(name "postgis")
(version "3.0.2")
(version "3.0.3")
(source (origin
(method url-fetch)
(uri (string-append "https://download.osgeo.org/postgis/source/postgis-"
version ".tar.gz"))
(sha256
(base32
"1jmji8i2wjabkrzqil683lypnmimigdmn64a10j3kj3kzlfn98d3"))))
"05s8cx1rlysiq7dd44kf7cid0la61a4p895j9g95bvfb8v8dpzh7"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f

View File

@ -4270,7 +4270,7 @@ passwords in the GNOME keyring.")
`(("graphviz" ,graphviz)))
(propagated-inputs
`(("glib" ,glib))) ; required by libvala-0.40.pc
(home-page "https://live.gnome.org/Vala/")
(home-page "https://wiki.gnome.org/Projects/Vala/")
(synopsis "Compiler for the GObject type system")
(description
"Vala is a programming language that aims to bring modern programming
@ -4282,7 +4282,7 @@ libraries written in C.")
(define-public vala-0.50
(package
(inherit vala)
(version "0.50.1")
(version "0.50.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/vala/"
@ -4290,7 +4290,7 @@ libraries written in C.")
"vala-" version ".tar.xz"))
(sha256
(base32
"0v4g2gvn7x7cl33h8sj1y2xyyskw5ayaj4jm2jrd3my3r439z3cm"))))))
"1nnf0x6vk0a9p2y6z7jwjfvmlxh3qhj581v381r0y1sxsv35s39c"))))))
(define-public vte
(package

View File

@ -326,52 +326,6 @@ libskba (working with X.509 certificates and CMS data).")
(properties '((ftp-server . "ftp.gnupg.org")
(ftp-directory . "/gcrypt/gnupg")))))
(define-public gnupg-2.0
(package (inherit gnupg)
(version "2.0.30")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnupg/gnupg/gnupg-" version
".tar.bz2"))
(sha256
(base32
"0wax4cy14hh0h7kg9hj0hjn9424b71z8lrrc5kbsasrn9xd7hag3"))))
(native-inputs '())
(inputs
`(("adns" ,adns)
("bzip2" ,bzip2)
("curl" ,curl)
("libassuan" ,libassuan)
("libgcrypt" ,libgcrypt)
("libgpg-error" ,libgpg-error)
("libksba" ,libksba)
("pth" ,pth)
("openldap" ,openldap)
("zlib" ,zlib)
("readline" ,readline)))
(arguments
`(#:phases
(modify-phases %standard-phases
(add-before 'configure 'patch-config-files
(lambda _
(substitute* "tests/openpgp/Makefile.in"
(("/bin/sh") (which "sh")))
#t))
(add-after 'install 'rename-v2-commands
(lambda* (#:key outputs #:allow-other-keys)
;; Upstream suggests removing the trailing '2' from command names:
;; <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=22883#58>.
(let ((out (assoc-ref outputs "out")))
(with-directory-excursion (string-append out "/bin")
(rename-file "gpgv2" "gpgv")
(rename-file "gpg2" "gpg")
;; Keep the old name around to ease transition.
(symlink "gpgv" "gpgv2")
(symlink "gpg" "gpg2")
#t)))))))
(properties `((superseded . ,gnupg)))))
(define-public gnupg-1
(package (inherit gnupg)
(version "1.4.23")

View File

@ -9,6 +9,7 @@
;;; Copyright © 2018, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019, 2020 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2020 Leo Prikler <leo.prikler@student.tugraz.at>
;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
;;;
;;; This file is part of GNU Guix.
;;;
@ -713,6 +714,10 @@ model to base your own plug-in on, here it is.")
(("'GST_PLUGIN_SYSTEM_PATH_1_0', ''")
(string-append "'GST_PLUGIN_SYSTEM_PATH_1_0', '"
gst-plugins-good "/lib/gstreamer-1.0'"))
;; FIXME: Why is this failing.
((".*elements/dash_mpd\\.c.*") "")
;; These tests are flaky and occasionally time out:
;; https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/932
((".*elements/curlhttpsrc\\.c.*") "")
@ -746,6 +751,7 @@ model to base your own plug-in on, here it is.")
("libgudev" ,libgudev)
("libkate" ,libkate)
("libmodplug" ,libmodplug)
("libnice" ,libnice)
("librsvg" ,librsvg)
("libsndfile" ,libsndfile)
("libsrtp" ,libsrtp)
@ -770,6 +776,7 @@ model to base your own plug-in on, here it is.")
;; GStreamer is not yet compatible with srt > 1.4.1.
("srt" ,srt-1.4.1)
("x265" ,x265)
("webrtc-audio-processing" ,webrtc-audio-processing)
("wayland" ,wayland)))
(home-page "https://gstreamer.freedesktop.org/")
(synopsis "Plugins for the GStreamer multimedia library")

View File

@ -1509,7 +1509,7 @@ write GNOME applications.")
(define-public perl-cairo
(package
(name "perl-cairo")
(version "1.107")
(version "1.108")
(source (origin
(method url-fetch)
(uri (string-append
@ -1517,7 +1517,7 @@ write GNOME applications.")
version ".tar.gz"))
(sha256
(base32
"0sg1gf1f2pjq7pji0zsv4rbi3bzpsx82z98k7yqxafzrvlkf27ay"))))
"1nh5iya63q6j2w0cdi24x2ygpi8k8wwccnbh8cisnx8nqmywnhk0"))))
(build-system perl-build-system)
(native-inputs
`(("perl-extutils-depends" ,perl-extutils-depends)

View File

@ -686,17 +686,17 @@ Guile's foreign function interface.")
(define-public guile-bytestructures
(package
(name "guile-bytestructures")
(version "1.0.7")
(version "1.0.9")
(home-page "https://github.com/TaylanUB/scheme-bytestructures")
(source (origin
(method git-fetch)
(uri (git-reference
(url home-page)
(commit (string-append "v" version))))
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"0q0habjiy3h9cigb7q1br9kz6z212dn2ab31f6dgd3rrmsfn5rvb"))))
"0r59sqrvwbsknw21bf44bppi6wdhd2rl2v5dw9i2vij3v8w7pgkm"))))
(build-system gnu-build-system)
(arguments
`(#:make-flags '("GUILE_AUTO_COMPILE=0") ;to prevent guild warnings

View File

@ -339,14 +339,14 @@ to @code{cabal repl}).")
(define-public git-annex
(package
(name "git-annex")
(version "8.20201103")
(version "8.20201116")
(source
(origin
(method url-fetch)
(uri (string-append "https://hackage.haskell.org/package/"
"git-annex/git-annex-" version ".tar.gz"))
(sha256
(base32 "1z9ikpsz3by48yfw87qav5dy7j4k9ky4a7nqnasl15kdm3lav9pl"))))
(base32 "0xv7n9f6l90l4k964675v0lgs22gcy97ic86mbfb40rl0fk0jalr"))))
(build-system haskell-build-system)
(arguments
`(#:configure-flags
@ -487,6 +487,7 @@ to @code{cabal repl}).")
("ghc-split" ,ghc-split)
("ghc-stm-chans" ,ghc-stm-chans)
("ghc-tagsoup" ,ghc-tagsoup)
("ghc-torrent" ,ghc-torrent)
("ghc-unix-compat" ,ghc-unix-compat)
("ghc-unordered-containers" ,ghc-unordered-containers)
("ghc-utf8-string" ,ghc-utf8-string)

View File

@ -997,6 +997,32 @@ Users wishing to have an improved Prelude can use BasicPrelude. Developers
wishing to create a new prelude should use CorePrelude.")
(license license:expat)))
(define-public ghc-bencode
(package
(name "ghc-bencode")
(version "0.6.1.1")
(source
(origin
(method url-fetch)
(uri (string-append
"https://hackage.haskell.org/package/bencode/bencode-"
version ".tar.gz"))
(sha256
(base32 "0znv0y3b3zm5jvhlvj5f5s7y93db67j9yd59w1bnrw2pqv30gqaq"))))
(build-system haskell-build-system)
(inputs
`(("ghc-transformers-compat" ,ghc-transformers-compat)))
(native-inputs
`(("ghc-hspec" ,ghc-hspec)
("ghc-quickcheck" ,ghc-quickcheck)))
(home-page "https://hackage.haskell.org/package/bencode")
(synopsis "Parsers and printers for bencoded data")
(description
"This library provides parsers and printers for bencoded data. Bencode
is the encoding used by the peer-to-peer file sharing system BitTorrent for
storing and transmitting loosely structured data.")
(license license:bsd-3)))
(define-public ghc-bifunctors
(package
(name "ghc-bifunctors")
@ -4414,7 +4440,7 @@ file contents, and more.")
(define-public ghc-filepath-bytestring
(package
(name "ghc-filepath-bytestring")
(version "1.4.2.1.1")
(version "1.4.2.1.6")
(source
(origin
(method url-fetch)
@ -4423,7 +4449,7 @@ file contents, and more.")
"filepath-bytestring-" version ".tar.gz"))
(sha256
(base32
"06shdskjj391hb9295slm9gg2rbn5fdq5v6fg0mgn3yl5dv8q5dx"))))
"11xrrzdkm5i96dazbz0gi1qp8nnj2lwbnxzwy7f4cnahskz4f4g7"))))
(build-system haskell-build-system)
(native-inputs
`(("ghc-quickcheck" ,ghc-quickcheck)))
@ -9167,7 +9193,7 @@ require aeson
(home-page "https://hackage.haskell.org/package/text-short")
(synopsis "Memory-efficient representation of Unicode text strings")
(description "This package provides the @code{ShortText} type which
is suitable for keeping many short strings in memory. This is similiar
is suitable for keeping many short strings in memory. This is similar
to how @code{ShortByteString} relates to @code{ByteString}.
The main difference between @code{Text} and @code{ShortText} is that
@ -13797,6 +13823,28 @@ from a shell. The @code{tldr} pages are a community effort to simplify the
man pages with practical examples.")
(license license:bsd-3)))
(define-public ghc-torrent
(package
(name "ghc-torrent")
(version "10000.1.1")
(source
(origin
(method url-fetch)
(uri (string-append
"https://hackage.haskell.org/package/torrent/torrent-"
version ".tar.gz"))
(sha256
(base32 "0m7s0q7f8c7glxzqhf2j86ch5xhk6jnzwwsa4mkywag22119c290"))))
(build-system haskell-build-system)
(inputs
`(("ghc-bencode" ,ghc-bencode)
("ghc-syb" ,ghc-syb)))
(home-page "https://hackage.haskell.org/package/torrent")
(synopsis "BitTorrent file parser and generator")
(description "This library provides support for parsing and generating
BitTorrent files.")
(license license:bsd-3)))
(define-public ghc-transformers
(package
(name "ghc-transformers")

View File

@ -26,6 +26,7 @@
;;; Copyright © 2020 Giacomo Leidi <goodoldpaul@autistici.org>
;;; Copyright © 2020 R Veera Kumar <vkor@vkten.in>
;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2020 Zhu Zihao <all_but_last@163.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -91,6 +92,7 @@
#:use-module (guix build-system copy)
#:use-module (guix build-system meson)
#:use-module (guix build-system python)
#:use-module (guix build-system qt)
#:use-module (guix build-system scons)
#:use-module (guix deprecation)
#:use-module (srfi srfi-1))
@ -1792,33 +1794,26 @@ parsing, viewing, modifying, and saving this metadata.")
(define-public flameshot
(package
(name "flameshot")
(version "0.5.1")
(version "0.8.5")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/lupoDharkael/flameshot")
(url "https://github.com/flameshot-org/flameshot")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"13h77np93r796jf289v4r687cmnpqkyqs34dm9gif4akaig74ky0"))))
(build-system gnu-build-system)
"1z77igs60lz106vsf6wsayxjafxm3llf2lm4dpvsqyyrxybfq191"))))
(build-system qt-build-system)
(native-inputs
`(("qttools" ,qttools)))
(inputs
`(("qtbase" ,qtbase)))
`(("qtbase" ,qtbase)
("qtsvg" ,qtsvg)))
(arguments
`(#:tests? #f ; no tests
#:phases
(modify-phases %standard-phases
(replace 'configure
(lambda* (#:key outputs #:allow-other-keys)
(invoke "qmake"
"CONFIG+=packaging"
(string-append "BASEDIR=" (assoc-ref outputs "out"))
"PREFIX=/"))))))
(home-page "https://github.com/lupoDharkael/flameshot")
`(#:tests? #f)) ;no tests
(home-page "https://github.com/flameshot-org/flameshot")
(synopsis "Powerful yet simple to use screenshot software")
(description "Flameshot is a screenshot program.
Features:

View File

@ -352,7 +352,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
;; The current "stable" kernel. That is, the most recently released major
;; version.
(define-public linux-libre-5.9-version "5.9.10")
(define-public linux-libre-5.9-version "5.9.11")
(define deblob-scripts-5.9
(linux-libre-deblob-scripts
linux-libre-5.9-version
@ -360,7 +360,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "0yb04a4j2wq3mwvks3cj7kcm2pscmfs29lrz3falkxpbvjxbbgq2")))
(define-public linux-libre-5.9-pristine-source
(let ((version linux-libre-5.9-version)
(hash (base32 "0c7hcqn1ld0axlipzpwmjr1jwizrhz5w6bdfbk9npbirx7rb54gm")))
(hash (base32 "0q6jlnigyjjnnxw6l724zv8acgs95s3pafabz4l9jrhhlijhmcjy")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-5.9)))
@ -368,7 +368,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
;; The "longterm" kernels — the older releases with long-term upstream support.
;; Here are the support timelines:
;; <https://www.kernel.org/category/releases.html>
(define-public linux-libre-5.4-version "5.4.79")
(define-public linux-libre-5.4-version "5.4.80")
(define deblob-scripts-5.4
(linux-libre-deblob-scripts
linux-libre-5.4-version
@ -376,12 +376,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "167zcfkw62pm6nv1xdvvhxw0ca724sywcywnv3z00189f8f8p3vg")))
(define-public linux-libre-5.4-pristine-source
(let ((version linux-libre-5.4-version)
(hash (base32 "09ffj66wlp27vx799lnixq4zdkin3y4pqaw4lx2a6rpz13xr3455")))
(hash (base32 "1iv4rsc9mr13xqzayzwz8mpdrdpnc425mn1izz9hylrw3xf45nj9")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-5.4)))
(define-public linux-libre-4.19-version "4.19.159")
(define-public linux-libre-4.19-version "4.19.160")
(define deblob-scripts-4.19
(linux-libre-deblob-scripts
linux-libre-4.19-version
@ -389,12 +389,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "1jiaw0as1ippkrjdpd52657w5mz9qczg3y2hlra7m9k0xawwiqlf")))
(define-public linux-libre-4.19-pristine-source
(let ((version linux-libre-4.19-version)
(hash (base32 "195hlvr9zsa2km80rk71na1gl0222r2mk76rsqx0cxpgg7dhpjv0")))
(hash (base32 "118maapizgqgrgawnw7xmbcz26c61g5d012jzbd8l7n6z4354d0q")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.19)))
(define-public linux-libre-4.14-version "4.14.208")
(define-public linux-libre-4.14-version "4.14.209")
(define deblob-scripts-4.14
(linux-libre-deblob-scripts
linux-libre-4.14-version
@ -402,12 +402,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "1qij18inijj6c3ma8hv98yjagnzxdxyn134da9fd23ky8q6hbvky")))
(define-public linux-libre-4.14-pristine-source
(let ((version linux-libre-4.14-version)
(hash (base32 "0vzn5kprjlgpgnjr1drjq97x9xbyfgigpgs42xsfw61h2qjy3b1q")))
(hash (base32 "171b31c4rz9sn95s4s4yqchd4s46kivmvch78z0jr5zir1f4c0nb")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.14)))
(define-public linux-libre-4.9-version "4.9.245")
(define-public linux-libre-4.9-version "4.9.246")
(define deblob-scripts-4.9
(linux-libre-deblob-scripts
linux-libre-4.9-version
@ -415,12 +415,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "0fxajshb75siq39lj5h8xvhdj8lcmddkslwlyj65rhlwk6g2r4b2")))
(define-public linux-libre-4.9-pristine-source
(let ((version linux-libre-4.9-version)
(hash (base32 "1vxsd3g96vbykrmfnj9qali0p868h678qzcqvf4yrhya47k6pnnb")))
(hash (base32 "1xd9vgc4yj2vrr5r76cy3fp9a1fc3086lj5aws68wf1dsz3ndqj9")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.9)))
(define-public linux-libre-4.4-version "4.4.245")
(define-public linux-libre-4.4-version "4.4.246")
(define deblob-scripts-4.4
(linux-libre-deblob-scripts
linux-libre-4.4-version
@ -428,7 +428,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "0hhin1jpfkd6nwrb6xqxjzl3hdxy4pn8a15hy2d3d83yw6pflbsf")))
(define-public linux-libre-4.4-pristine-source
(let ((version linux-libre-4.4-version)
(hash (base32 "0g1cnis8496kp1ln922gxa7skfr096mdvv89la6676yw7dd4lhyi")))
(hash (base32 "15xd1dqw53kwqvsa71nr1ymp0jp22pkl4h2yks4hqbd132zxw2wy")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.4)))
@ -3215,7 +3215,7 @@ from the module-init-tools project.")
(define-public earlyoom
(package
(name "earlyoom")
(version "1.3.1")
(version "1.6.2")
(source (origin
(method git-fetch)
(uri (git-reference
@ -3224,23 +3224,23 @@ from the module-init-tools project.")
(file-name (git-file-name name version))
(sha256
(base32
"06sd3jpkdrwqbphsf8jrgs5rxfi7j3xjmygjjvj4xjk4gncz7r2i"))))
"16iyn51xlrsbshc7p5xl2338yyfzknaqc538sa7mamgccqwgyvvq"))))
(build-system gnu-build-system)
(arguments
`(#:phases (modify-phases %standard-phases
(delete 'configure)
(add-before 'check 'set-home
(lambda _
(setenv "HOME" (getcwd))
#t))
(add-after 'build 'install-contribs
;; Install what seems useful from the contrib directory.
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(contrib (string-append
out "/share/earlyoom/contrib")))
(install-file "contrib/notify_all_users.py" contrib)
#t))))
`(#:phases
(modify-phases %standard-phases
(delete 'configure) ; no configure script
(add-before 'check 'set-go-HOME
(lambda _
(setenv "HOME" (getcwd))
#t))
(add-before 'check 'disable-failing-test
(lambda _
;; This test relies on writing to /proc/%d/oom_score_adj.
(substitute* "testsuite_cli_test.go"
(("TestI" match)
(string-append "skipped" match)))
#t)))
#:make-flags (let* ((prefix (assoc-ref %outputs "out")))
(list ,(string-append "CC=" (cc-for-target))
(string-append "VERSION=v" ,version)
@ -5980,14 +5980,14 @@ running boot option, and more.")
(define-public sysstat
(package
(name "sysstat")
(version "12.4.0")
(source (origin
(method url-fetch)
(uri (string-append "http://pagesperso-orange.fr/sebastien.godard/"
"sysstat-" version ".tar.xz"))
(sha256
(base32
"05idnvkhvzaynj9awx7q54x1v42jblzrxq0fn5zd1v4mjwrnqmbq"))))
(version "12.4.1")
(source
(origin
(method url-fetch)
(uri (string-append "http://pagesperso-orange.fr/sebastien.godard/"
"sysstat-" version ".tar.xz"))
(sha256
(base32 "02yf2c9n56c3ic72r4p4kb99zjxr8fldvsnmcy7s262izx78vbr4"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no test suite.

View File

@ -1121,6 +1121,40 @@ to DeRemer and Pennello, which is used by Bison and lalr.scm (not lalr.cl).")
(define-public ecl-cl-yacc
(sbcl-package->ecl-package sbcl-cl-yacc))
(define-public sbcl-eager-future2
(let ((commit "54df8effd9d9eccac917509590286b5ac5f9cb30"))
(package
(name "sbcl-eager-future2")
(version (git-version "0.0.0" "1" commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://gitlab.common-lisp.net/vsedach/eager-future2.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"1qs1bv3m0ki8l5czhsflxcryh22r9d9g9a3a3b0cr0pl954q5rld"))))
(build-system asdf-build-system/sbcl)
(inputs
`(("bordeaux-threads" ,sbcl-bordeaux-threads)
("trivial-garbage" ,sbcl-trivial-garbage)))
(synopsis "Futures promises synchronization mechanism for Common Lisp")
(description
"Eager Future2 is a Common Lisp library that provides composable
concurrency primitives that unify parallel and lazy evaluation, are integrated
with the Common Lisp condition system, and have automatic resource
management.")
(home-page "https://gitlab.common-lisp.net/vsedach/eager-future2")
(license license:lgpl3+))))
(define-public cl-eager-future2
(sbcl-package->cl-source-package sbcl-eager-future2))
(define-public ecl-eager-future2
(sbcl-package->ecl-package sbcl-eager-future2))
(define-public sbcl-jpl-util
(let ((commit "0311ed374e19a49d43318064d729fe3abd9a3b62"))
(package
@ -1197,6 +1231,62 @@ several blockable channels.)")
(define-public ecl-jpl-queues
(sbcl-package->ecl-package sbcl-jpl-queues))
(define-public sbcl-calispel
(let ((commit "e9f2f9c1af97f4d7bb4c8ac25fb2a8f3e8fada7a"))
(package
(name "sbcl-calispel")
(version (git-version "0.1" "1" commit))
(source
(origin
(method git-fetch)
(uri (git-reference
;; This fork replaces the dependency on the obsolete
;; eager-future with eager-future2.
(url "https://github.com/hawkir/calispel")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"08bmf3pi7n5hadpmqqkg65cxcj6kbvm997wcs1f53ml1nb79d9z8"))))
(build-system asdf-build-system/sbcl)
(inputs
`(("jpl-queues" ,sbcl-jpl-queues)
("bordeaux-threads" ,sbcl-bordeaux-threads)))
(native-inputs
`(("eager-future2" ,sbcl-eager-future2)))
(synopsis "Thread-safe message-passing channels in Common Lisp")
(description
"Calispel is a Common Lisp library for thread-safe message-passing
channels, in the style of the occam programming language, also known as
communicating sequential processes (CSP). See
@url{https://en.wikipedia.org/wiki/Communicating_sequential_processes}.
Calispel channels let one thread communicate with another, facilitating
unidirectional communication of any Lisp object. Channels may be unbuffered,
where a sender waits for a receiver (or vice versa) before either operation can
continue, or channels may be buffered with flexible policy options.
Because sending and receiving on a channel may block, either operation can time
out after a specified amount of time.
A syntax for alternation is provided (like @code{ALT} in occam, or Unix
@code{select()}): given a sequence of operations, any or all of which may
block, alternation selects the first operation that doesn't block and executes
associated code. Alternation can also time out, executing an \"otherwise\"
clause if no operation becomes available within a set amount of time.
Calispel is a message-passing library, and as such leaves the role of
threading abstractions and utilities left to be filled by complementary
libraries such as Bordeaux-Threads and Eager Future.")
(home-page "https://www.thoughtcrime.us/software/jpl-queues/")
(license license:isc))))
(define-public cl-calispel
(sbcl-package->cl-source-package sbcl-calispel))
(define-public ecl-calispel
(sbcl-package->ecl-package sbcl-calispel))
(define-public sbcl-eos
(let ((commit "b4413bccc4d142cbe1bf49516c3a0a22c9d99243")
(revision "2"))

View File

@ -65,6 +65,7 @@
#:use-module (gnu packages gstreamer)
#:use-module (gnu packages image)
#:use-module (gnu packages linux)
#:use-module (gnu packages llvm)
#:use-module (gnu packages maths)
#:use-module (gnu packages mpi)
#:use-module (gnu packages ocaml)
@ -869,6 +870,77 @@ data analysis.")
(base32
"08zbzi8yx5wdlxfx9jap61vg1malc9ajf576w7a0liv6jvvrxlpj")))))))
(define-public python-pynndescent
(package
(name "python-pynndescent")
(version "0.4.8")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pynndescent" version))
(sha256
(base32 "0li1fclif50v6xrq7wh3lif9vv5jpj7xhrb0z6g89wwjnp9b9833"))))
(build-system python-build-system)
(native-inputs
`(("python-nose" ,python-nose)))
(propagated-inputs
`(("python-joblib" ,python-joblib)
("python-llvmlite" ,python-llvmlite)
("python-numba" ,python-numba)
("python-scikit-learn" ,python-scikit-learn)
("python-scipy" ,python-scipy)))
(home-page "https://github.com/lmcinnes/pynndescent")
(synopsis "Nearest neighbor descent for approximate nearest neighbors")
(description
"PyNNDescent provides a Python implementation of Nearest Neighbor Descent
for k-neighbor-graph construction and approximate nearest neighbor search.")
(license license:bsd-2)))
(define-public python-opentsne
(package
(name "python-opentsne")
(version "0.4.4")
(source
(origin
;; No tests in the PyPI tarball.
(method git-fetch)
(uri (git-reference
(url "https://github.com/pavlin-policar/openTSNE")
(commit (string-append "v" version))))
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32 "08wamsssmyf6511cbmglm67dp48i6xazs89m1cskdk219v90bc76"))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
;; Benchmarks require the 'macosko2015' data files.
(add-after 'unpack 'delete-benchmark
(lambda _
(delete-file-recursively "benchmarks")
#t))
;; Numba needs a writable dir to cache functions.
(add-before 'check 'set-numba-cache-dir
(lambda _
(setenv "NUMBA_CACHE_DIR" "/tmp")
#t)))))
(native-inputs
`(("python-cython" ,python-cython)))
(inputs
`(("fftw" ,fftw)))
(propagated-inputs
`(("python-numpy" ,python-numpy)
("python-pynndescent" ,python-pynndescent)
("python-scikit-learn" ,python-scikit-learn)
("python-scipy" ,python-scipy)))
(home-page "https://github.com/pavlin-policar/openTSNE")
(synopsis "Extensible, parallel implementations of t-SNE")
(description
"This is a modular Python implementation of t-Distributed Stochastic
Neighbor Embedding (t-SNE), a popular dimensionality-reduction algorithm for
visualizing high-dimensional data sets.")
(license license:bsd-3)))
(define-public python-scikit-rebate
(package
(name "python-scikit-rebate")

View File

@ -444,7 +444,7 @@ aliasing facilities to work just as they would on normal mail.")
(define-public mutt
(package
(name "mutt")
(version "1.14.7")
(version "2.0.2")
(source (origin
(method url-fetch)
(uri (list
@ -454,7 +454,7 @@ aliasing facilities to work just as they would on normal mail.")
version ".tar.gz")))
(sha256
(base32
"0r58xnjgkw0kmnnzhb32mk5gkkani5kbi5krybpbag156fqhgxg4"))
"1j0i2jmlk5sc78af9flj3ynj0iiwa8biw7jgf12qm5lppsx1h4j7"))
(patches (search-patches "mutt-store-references.patch"))))
(build-system gnu-build-system)
(inputs
@ -1228,14 +1228,14 @@ invoking @command{notifymuch} from the post-new hook.")
(define-public notmuch
(package
(name "notmuch")
(version "0.31.1")
(version "0.31.2")
(source (origin
(method url-fetch)
(uri (string-append "https://notmuchmail.org/releases/notmuch-"
version ".tar.xz"))
(sha256
(base32
"0pmvwynd4f4kr38agd5m1ml20lq854knc9da7yiqfi776j8fg2rj"))))
"1vzv9imd0ba51y5zw8h358wikm1fh52rlvvyzvp98w330hzbcmhl"))))
(build-system gnu-build-system)
(arguments
`(#:modules ((guix build gnu-build-system)
@ -2604,7 +2604,7 @@ converts them to maildir format directories.")
(define-public mblaze
(package
(name "mblaze")
(version "0.2")
(version "1.0")
(source
(origin
(method git-fetch)
@ -2613,7 +2613,7 @@ converts them to maildir format directories.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0p97zfl35ilrnrx9ynj82igsb698m9klikfaicw5jhjpf6qp2n3y"))))
(base32 "0hxy3mjjv4hg856sl1r15fdmqaw4s9c26b3lidsd5x0kpqy601ai"))))
(build-system gnu-build-system)
(native-inputs
`(("perl" ,perl)))

View File

@ -56,7 +56,7 @@
(define-public mercury-minimal
(package
(name "mercury-minimal")
(version "20.06")
(version "20.06.1")
(source (origin
(method url-fetch)
(uri (string-append
@ -64,7 +64,7 @@
version ".tar.gz"))
(sha256
(base32
"1gkr9w8lsdzqykqwd3f1a1phsqv090648i14ilhv8jdg85frdimr"))))
"07qwkk871yxd4q1sw5xv26g8jrpvnpprmzvfd7zg7i142kl3l2gg"))))
(build-system gnu-build-system)
(arguments
`(#:modules ((guix build gnu-build-system)
@ -173,7 +173,7 @@ separate compilation, and numerous optimization/time trade-offs.")
(define-public mercury
(package (inherit mercury-minimal)
(name "mercury")
(version "20.06")
(version "20.06.1")
(source
(origin
(method git-fetch)
@ -185,7 +185,7 @@ separate compilation, and numerous optimization/time trade-offs.")
(file-name (git-file-name name version))
(sha256
(base32
"1pc51r7vlqmi689rkwdkk1ka2dyk36q11dqvl339cizng6mp72h6"))))
"1b6rmdinw8mj6n9sc7c75kkf42gd2k254rf51x4snlrqckxj7aaz"))))
(arguments
(substitute-keyword-arguments
(package-arguments mercury-minimal)

View File

@ -456,7 +456,7 @@ written in Go with pluggable metric collectors.")
(define-public collectd
(package
(name "collectd")
(version "5.11.0")
(version "5.12.0")
(source (origin
(method url-fetch)
(uri (string-append
@ -465,7 +465,7 @@ written in Go with pluggable metric collectors.")
".tar.bz2"))
(sha256
(base32
"1cjxksxdqcqdccz1nbnc2fp6yy84qq361ynaq5q8bailds00mc9p"))
"1mh97afgq6qgmpvpr84zngh58m0sl1b4wimqgvvk376188q09bjv"))
(patches (search-patches "collectd-5.11.0-noinstallvar.patch"))))
(build-system gnu-build-system)
(arguments

View File

@ -69,6 +69,7 @@
(build-system gnu-build-system)
(outputs '("out" ;'lstopo' & co., depends on Cairo, libx11, etc.
"lib" ;small closure
"doc" ;400+ section 3 man pages
"debug"))
(inputs
`(("libx11" ,libx11)
@ -114,6 +115,15 @@
(substitute* (string-append lib "/lib/pkgconfig/hwloc.pc")
(("^.*prefix=.*$")
""))
#t)))
(add-after 'install 'move-man3-pages
(lambda* (#:key outputs #:allow-other-keys)
;; Move section 3 man pages to the "doc" output.
(let ((out (assoc-ref outputs "out"))
(doc (assoc-ref outputs "doc")))
(copy-recursively (string-append out "/share/man/man3")
(string-append doc "/share/man/man3"))
(delete-file-recursively (string-append out "/share/man/man3"))
#t))))))
(home-page "https://www.open-mpi.org/projects/hwloc/")
(synopsis "Abstraction of hardware architectures")

View File

@ -144,7 +144,7 @@
(define-public axel
(package
(name "axel")
(version "2.17.9")
(version "2.17.10")
(source
(origin
(method url-fetch)
@ -152,7 +152,7 @@
"releases/download/v" version "/"
"axel-" version ".tar.xz"))
(sha256
(base32 "0m1smb9rmw9w2fcfcf0162qyffx6a1x0j612sg3fydflandlsdpi"))))
(base32 "0kmlqk04sgkshsll4r9w3k0rvrgz0gpk987618r50khwl484zss6"))))
(build-system gnu-build-system)
(native-inputs
`(("gettext" ,gettext-minimal)

View File

@ -0,0 +1,27 @@
From: Tobias Geerinckx-Rice <me@tobias.gr>
Date: Tue, 24 Nov 2020 10:29:28 +0000
Subject: [PATCH] gnu: mupdf: Fix linkage.
Replace broken linkage to build/shared-release/libmupdf.so with the
proper -L$(libdir) -lmupdf incantation, and fix libmupdf.so's mode.
--- mupdf-1.18.0-source.org/Makefile
+++ mupdf-1.18.0-source/Makefile
@@ -61,7 +61,7 @@
ifdef RANLIB
RANLIB_CMD = $(QUIET_RANLIB) $(RANLIB) $@
endif
-LINK_CMD = $(QUIET_LINK) $(MKTGTDIR) ; $(CC) $(LDFLAGS) -o $@ $^ $(LIBS)
+LINK_CMD = $(QUIET_LINK) $(MKTGTDIR) ; $(CC) $(LDFLAGS) -o $@ $(subst $(MUPDF_LIB),-L$(libdir) -L$(OUT) -lmupdf,$^) $(LIBS)
TAGS_CMD = $(QUIET_TAGS) ctags -R --c-kinds=+p
WINDRES_CMD = $(QUIET_WINDRES) $(MKTGTDIR) ; $(WINDRES) $< $@
OBJCOPY_CMD = $(QUIET_OBJCOPY) $(MKTGTDIR) ; $(LD) -r -b binary -z noexecstack -o $@ $<
@@ -364,7 +364,7 @@ install: libs apps
install -m 644 include/mupdf/pdf/*.h $(DESTDIR)$(incdir)/mupdf/pdf
install -d $(DESTDIR)$(libdir)
- install -m 644 $(INSTALL_LIBS) $(DESTDIR)$(libdir)
+ install -m 755 $(INSTALL_LIBS) $(DESTDIR)$(libdir)
install -d $(DESTDIR)$(bindir)
install -m 755 $(TOOL_APPS) $(VIEW_APPS) $(DESTDIR)$(bindir)

View File

@ -2,15 +2,16 @@ By default 'mutt' embeds configure flags and the output of 'gcc -v',
which contains the store file name of Bash and GCC. This patch makes
sure we don't embed a reference to these in 'mutt'.
--- mutt-1.5.23/txt2c.sh 2015-06-26 22:56:56.500731643 +0200
+++ mutt-1.5.23/txt2c.sh 2015-06-26 22:57:26.664583900 +0200
diff --git a/txt2c.sh b/txt2c.sh
index f634bb9..53845cf 100755
--- a/txt2c.sh
+++ b/txt2c.sh
@@ -21,6 +21,8 @@ txt2c_fallback () {
echo ";"
}
+echo "unsigned char $1[] = \"value of '$1' not kept\";"
+exit 0
./txt2c test </dev/null >/dev/null 2>&1 &&
./txt2c "$1" ||
txt2c_fallback "$1"
if ./txt2c test </dev/null >/dev/null 2>&1; then
./txt2c "$1"
else

View File

@ -19,6 +19,7 @@
;;; Copyright © 2019,2020 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
;;; Copyright © 2020 Timotej Lazar <timotej.lazar@araneo.si>
;;;
;;; This file is part of GNU Guix.
;;;
@ -45,6 +46,7 @@
#:use-module (guix build-system cmake)
#:use-module (guix build-system meson)
#:use-module (guix build-system python)
#:use-module (guix build-system qt)
#:use-module (guix build-system trivial)
#:use-module (gnu packages)
#:use-module (gnu packages audio)
@ -54,6 +56,7 @@
#:use-module (gnu packages bash)
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
#:use-module (gnu packages cups)
#:use-module (gnu packages curl)
#:use-module (gnu packages djvu)
#:use-module (gnu packages fontutils)
@ -88,6 +91,7 @@
#:use-module (gnu packages sqlite)
#:use-module (gnu packages tex)
#:use-module (gnu packages tls)
#:use-module (gnu packages web)
#:use-module (gnu packages xdisorg)
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg)
@ -218,17 +222,17 @@ please install the @code{flyer-composer-gui} package.")))
(define-public poppler-data
(package
(name "poppler-data")
(version "0.4.9")
(version "0.4.10")
(source (origin
(method url-fetch)
(uri (string-append "https://poppler.freedesktop.org/poppler-data"
"-" version ".tar.gz"))
(sha256
(base32
"04i0wgdkn5lhda8cyxd1ll4a2p41pwqrwd47n9mdpl7cx5ypx70z"))))
"0c3vjs3p7rjc4yfacnhd865r27czmzwcr4j2z4jldi68dvvcwbvf"))))
(build-system gnu-build-system)
(arguments
'(#:tests? #f ; no test suite
'(#:tests? #f ; no test suite
#:make-flags (list (string-append "prefix=" (assoc-ref %outputs "out")))
#:phases
(modify-phases %standard-phases
@ -498,7 +502,7 @@ using the DjVuLibre library.")
(define-public zathura-pdf-mupdf
(package
(name "zathura-pdf-mupdf")
(version "0.3.5")
(version "0.3.6")
(source (origin
(method url-fetch)
(uri
@ -506,7 +510,7 @@ using the DjVuLibre library.")
"/download/zathura-pdf-mupdf-" version ".tar.xz"))
(sha256
(base32
"1pjwsb7zwclxsvz229fl7y2saf1pv3ifwv3ay8viqxgrp9x3z9hq"))))
"1r3v37k9fl2rxipvacgxr36llywvy7n20a25h3ajlyk70697sa66"))))
(native-inputs `(("pkg-config" ,pkg-config)))
(inputs
`(("jbig2dec" ,jbig2dec)
@ -525,6 +529,12 @@ using the DjVuLibre library.")
"-Dlink-external=true")
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'remove-libmupdfthird.a-requirement
(lambda _
;; Ignore a missing (apparently superfluous) static library.
(substitute* "meson.build"
((".*mupdfthird.*") ""))
#t))
(add-before 'configure 'add-mujs-to-dependencies
(lambda _
;; Add mujs to the 'build_dependencies'.
@ -683,30 +693,35 @@ extracting content or merging files.")
(define-public mupdf
(package
(name "mupdf")
(version "1.16.1")
(version "1.18.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://mupdf.com/downloads/archive/"
"mupdf-" version "-source.tar.xz"))
(sha256
(base32
"1npmy92lkj41nnc14b4fpq7z62pminy94zsdbrczj22jpn283rvg"))
(modules '((guix build utils)))
(snippet
;; We keep lcms2 since it is different than our lcms.
'(begin
(for-each
(lambda (dir)
(delete-file-recursively (string-append "thirdparty/" dir)))
'("freeglut" "freetype" "harfbuzz" "jbig2dec"
"libjpeg" "mujs" "openjpeg" "zlib"))
#t))))
(origin
(method url-fetch)
(uri (string-append "https://mupdf.com/downloads/archive/"
"mupdf-" version "-source.tar.xz"))
(sha256
(base32 "16m5sksil22sshxy70xkslsb2qhvcqb1d95i9savnhds1xn4ybar"))
(patches (search-patches "mupdf-fix-linkage.patch"))
(modules '((guix build utils)))
(snippet
'(begin
;; Remove bundled software.
(let* ((keep (list "lcms2")) ; different from our lcms2 package
(from "thirdparty")
(kept (string-append from "~temp")))
(mkdir-p kept)
(for-each (lambda (file) (rename-file (string-append from "/" file)
(string-append kept "/" file)))
keep)
(delete-file-recursively from)
(rename-file kept from))
#t))))
(build-system gnu-build-system)
(inputs
`(("curl" ,curl)
("freeglut" ,freeglut)
("freetype" ,freetype)
("gumbo-parser" ,gumbo-parser)
("harfbuzz" ,harfbuzz)
("jbig2dec" ,jbig2dec)
("libjpeg" ,libjpeg-turbo)
@ -719,14 +734,19 @@ extracting content or merging files.")
(native-inputs
`(("pkg-config" ,pkg-config)))
(arguments
'(#:tests? #f ; no check target
#:make-flags (list "CC=gcc"
`(#:tests? #f ; no check target
#:make-flags (list "verbose=yes"
(string-append "CC=" ,(cc-for-target))
"XCFLAGS=-fpic"
"USE_SYSTEM_LIBS=yes"
"USE_SYSTEM_MUJS=yes"
"shared=yes"
;; Even with the linkage patch we must fix RUNPATH.
(string-append "LDFLAGS=-Wl,-rpath="
(assoc-ref %outputs "out") "/lib")
(string-append "prefix=" (assoc-ref %outputs "out")))
#:phases (modify-phases %standard-phases
(delete 'configure))))
(delete 'configure)))) ; no configure script
(home-page "https://mupdf.com")
(synopsis "Lightweight PDF viewer and toolkit")
(description
@ -789,6 +809,53 @@ program capable of converting PDF into other formats.")
(license (list license:asl2.0 license:clarified-artistic))
(home-page "http://qpdf.sourceforge.net/")))
(define-public qpdfview
(package
(name "qpdfview")
(version "0.4.18")
(source
(origin
(method url-fetch)
(uri (string-append "https://launchpad.net/qpdfview/"
"trunk/" version "/+download/"
"qpdfview-" version ".tar.gz"))
(sha256
(base32 "0v1rl126hvblajnph2hkansgi0s8vjdc5yxrm4y3faa0lxzjwr6c"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs
`(("cups" ,cups)
("djvulibre" ,djvulibre)
("libspectre" ,libspectre)
("poppler-qt5" ,poppler-qt5)
("qtbase" ,qtbase)
("qtsvg" ,qtsvg)))
(arguments
`(#:imported-modules ((guix build qt-build-system)
(guix build cmake-build-system)
,@%gnu-build-system-modules)
#:modules ((guix build utils)
(guix build gnu-build-system)
((guix build qt-build-system) #:prefix qt:))
#:phases
(modify-phases %standard-phases
(replace 'configure
(lambda _
(substitute* "qpdfview.pri"
(("/usr") (assoc-ref %outputs "out")))
(invoke "qmake" "qpdfview.pro")))
;; Otherwise, the user interface will not display any icons.
(add-after 'install 'qt-wrap
(assoc-ref qt:%standard-phases 'qt-wrap)))))
(home-page "https://launchpad.net/qpdfview")
(synopsis "Tabbed document viewer")
(description "@command{qpdfview} is a document viewer for PDF, PS and DJVU
files. It uses the Qt toolkit and features persistent per-file settings,
configurable toolbars and shortcuts, continuous and multipage layouts,
SyncTeX support, and rudimentary support for annotations and forms.")
(license license:gpl2+)))
(define-public xournal
(package
(name "xournal")

View File

@ -208,14 +208,14 @@ colors, styles, options and details.")
(define-public asymptote
(package
(name "asymptote")
(version "2.67")
(version "2.68")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/asymptote/"
version "/asymptote-" version ".src.tgz"))
(sha256
(base32 "16rdwxal27fikzfqsm2sb8ji78whpxl98rdyyp0ky2qlh55mf7la"))))
(base32 "1ch2bc28v0v76x9sbbn7xswvqi88plam9y4966j0kj2dn5fmms71"))))
(build-system gnu-build-system)
;; Note: The 'asy' binary retains a reference to docdir for use with its
;; "help" command in interactive mode, so adding a "doc" output is not

View File

@ -6,6 +6,7 @@
;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2020 Vinicius Monego <monego@posteo.net>
;;; Copyright © 2020 Brett Gilio <brettg@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -82,7 +83,7 @@ data in motion, or as a file format for data at rest.")
(define-public protobuf
(package
(name "protobuf")
(version "3.12.3")
(version "3.14.0")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/google/protobuf/releases/"
@ -90,7 +91,7 @@ data in motion, or as a file format for data at rest.")
version ".tar.gz"))
(sha256
(base32
"0s29dj8l9j6jk04im3ivcji1x9jm42fwjmwcmli0smz0m337xyaf"))))
"0nan2wkkwkcx3qyx0cf5vfzjcjhr5qgh4jfx6v2lwpf5q03mmv2h"))))
(build-system gnu-build-system)
(inputs `(("zlib" ,zlib)))
(outputs (list "out"

View File

@ -439,6 +439,32 @@ doing practical, real world data analysis in Python.")
written in C.")
(license license:bsd-2)))
(define-public python-baycomp
(package
(name "python-baycomp")
(version "1.0.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "baycomp" version))
(sha256
(base32 "1c1354a7b3g8slychjgyjxqdm8z40z9kviyl9n4g9kfpdg0p4d64"))))
(build-system python-build-system)
(propagated-inputs
`(("python-matplotlib" ,python-matplotlib)
("python-numpy" ,python-numpy)
("python-scipy" ,python-scipy)))
(home-page "https://github.com/janezd/baycomp")
(synopsis "Library for comparison of Bayesian classifiers")
(description
"Baycomp is a library for Bayesian comparison of classifiers. Functions
in the library compare two classifiers on one or on multiple data sets. They
compute three probabilities: the probability that the first classifier has
higher scores than the second, the probability that differences are within the
region of practical equivalence (rope), or that the second classifier has
higher scores.")
(license license:expat)))
(define-public python-xarray
(package
(name "python-xarray")

View File

@ -1316,7 +1316,7 @@ another XPath engine to find the matching elements in an XML or HTML document.")
(define-public python-databricks-cli
(package
(name "python-databricks-cli")
(version "0.14.0")
(version "0.14.1")
(home-page "https://github.com/databricks/databricks-cli")
(source (origin
(method git-fetch)
@ -1324,7 +1324,7 @@ another XPath engine to find the matching elements in an XML or HTML document.")
(file-name (git-file-name name version))
(sha256
(base32
"0imwpfda2pxix1rx0nlqs48v58icfw065nsv53rpg0dw4bw9x2wi"))))
"03w19rzh72jll9phai23wp0c2mlv39qsrv50mhckziy39z60yxh8"))))
(build-system python-build-system)
(arguments
`(#:phases (modify-phases %standard-phases

View File

@ -8903,6 +8903,32 @@ Supported netlink families and protocols include:
(define-public python2-wrapt
(package-with-python2 python-wrapt))
(define-public python-commonmark
(package
(name "python-commonmark")
(version "0.9.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "commonmark" version))
(sha256
(base32 "0q7d39lm8kcingpmykk5r959hrwwj6v2icyw3mihczxyb749sbs5"))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(replace 'check
(lambda* (#:key inputs outputs #:allow-other-keys)
(add-installed-pythonpath inputs outputs)
(invoke "python" "setup.py" "test"))))))
(home-page "https://github.com/readthedocs/commonmark.py")
(synopsis "Python parser for the CommonMark Markdown spec")
(description
"This module is a pure Python port of jgm's @code{commonmark.js}, a
Markdown parser and renderer for the CommonMark specification, using only
native modules.")
(license license:bsd-3)))
(define-public python-xlrd
(package
(name "python-xlrd")
@ -15364,14 +15390,14 @@ builds partial trees by inspecting living objects.")
(define-public python-isbnlib
(package
(name "python-isbnlib")
(version "3.10.3")
(version "3.10.4")
(source
(origin
(method url-fetch)
(uri (pypi-uri "isbnlib" version))
(sha256
(base32
"07qhykv0x60d5rsx5pj6s4q15ri4znczscll3xmpf6gyclac1592"))))
"0iin0x2xqwyphyyzd0mzrq5v5xm7b6dlbb294k4dywra5qvbrgzm"))))
(build-system python-build-system)
(arguments '(#:tests? #f)) ; No test
(home-page "https://github.com/xlcnd/isbnlib")
@ -15468,13 +15494,13 @@ in other versions.")
(define-public python-mamba
(package
(name "python-mamba")
(version "0.11.1")
(version "0.11.2")
(source (origin
(method url-fetch)
(uri (pypi-uri "mamba" version))
(sha256
(base32
"1jxy3bva94ac02a0wjsms79rp5104zmalxh8rhqqg6mw95cp6xpr"))))
"15m4dpnpv9m60pdaygvwgi43fwqaivs3qxfxhspwrp47sbgwdkvm"))))
(build-system python-build-system)
(arguments `(#:tests? #f)) ; No test
(propagated-inputs

View File

@ -159,14 +159,14 @@ this package. E.g.: @code{(udev-rules-service 'rtl-sdr rtl-sdr)}")
(define-public chirp
(package
(name "chirp")
(version "20201014")
(version "20201121")
(source
(origin
(method url-fetch)
(uri (string-append "https://trac.chirp.danplanet.com/chirp_daily/daily-"
version "/chirp-daily-" version ".tar.gz"))
(sha256
(base32 "16x3ix2n7a9l7lln2pri1xfmhyfvvzxb0nr3h33iajqimbwckxj0"))))
(base32 "092jryb1jn9li6zj243awv6piz1lhghqsm4phrz7j0rgqf76dy4n"))))
(build-system python-build-system)
(inputs
`(("python2-libxml2" ,python2-libxml2)

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017 Sergei Trofimovich <slyfox@inbox.ru>
;;; Copyright © 2017, 2020 Sergei Trofimovich <slyfox@inbox.ru>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
@ -26,7 +26,7 @@
(define-public re2c
(package
(name "re2c")
(version "1.2.1")
(version "2.0.3")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/skvadrik/" name
@ -34,7 +34,7 @@
name "-" version ".tar.xz"))
(sha256
(base32
"05xq0571mkgr20v827jm63nhsirr8arghg4fszzswrmrnl3dfk0s"))))
"0y22fiyv2pqmq8asb2p5hzcf7ibjdrz7nl16rlpzy8damaw1xg5j"))))
(build-system gnu-build-system)
(home-page "https://re2c.org/")
(synopsis "Lexer generator for C/C++")

View File

@ -3,6 +3,7 @@
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2016, 2020 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2020 Brett Gilio <brettg@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -30,7 +31,7 @@
(define-public re2
(package
(name "re2")
(version "2020-07-06")
(version "2020-11-01")
(home-page "https://github.com/google/re2")
(source (origin
(method git-fetch)
@ -38,7 +39,7 @@
(file-name (git-file-name name version))
(sha256
(base32
"12a9r9y7ry3hq0qf4znl9j7pn9mb5k6xp1f8nrk1sagfj1a504mq"))))
"0ii51fpp6fn51x4qyd99sy4r122s8ayh4x1srwhhijxlh8mzla5k"))))
(build-system gnu-build-system)
(arguments
`(#:modules ((guix build gnu-build-system)

View File

@ -2,6 +2,7 @@
;;; Copyright © 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2020 Brett Gilio <brettg@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -38,12 +39,13 @@
#:use-module (gnu packages protobuf)
#:use-module (gnu packages python)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages regex)
#:use-module (gnu packages tls))
(define-public grpc
(package
(name "grpc")
(version "1.27.3")
(version "1.33.2")
(outputs '("out" "static"))
(source (origin
(method git-fetch)
@ -53,7 +55,7 @@
(file-name (git-file-name name version))
(sha256
(base32
"0czmbwnafc7jnrrq2fnac2av83vs2q7q0wy4k11w9zbpld7j5h6d"))))
"09xd9pkyp10gh051kf8kwxn4myw42zv8kngr9z8wpm6mjy0j4ylw"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f ; no test target
@ -63,6 +65,7 @@
"-DgRPC_CARES_PROVIDER=package"
"-DgRPC_SSL_PROVIDER=package"
"-DgRPC_PROTOBUF_PROVIDER=package"
"-DgRPC_RE2_PROVIDER=package"
(string-append "-DCMAKE_INSTALL_PREFIX="
(assoc-ref %outputs "out"))
"-DCMAKE_INSTALL_LIBDIR=lib"
@ -102,9 +105,11 @@
`(("abseil-cpp" ,abseil-cpp)
("c-ares" ,c-ares/cmake)
("openssl" ,openssl)
("re2" ,re2)
("zlib" ,zlib)))
(native-inputs
`(("protobuf" ,protobuf)
`(("pkg-config" ,pkg-config)
("protobuf" ,protobuf)
("python" ,python-wrapper)))
(home-page "https://grpc.io")
(synopsis "High performance universal RPC framework")

View File

@ -540,7 +540,7 @@ of libraries.")
version "/racket-minimal-" version "-src.tgz")))
(sha256
(base32
"0xvnd7afx058sg7j51bmbikqgn4sl0246nkhr8zlqcrbr3nqi6p4"))
"0yc5zkpq1bavj64h67pllw6mfjhmdp65fgdpyqcaan3syy6b5cia"))
(patches (search-patches
"racket-store-checksum-override.patch"))))
(synopsis "Racket without bundled packages such as Dr. Racket")

View File

@ -295,7 +295,7 @@ systems and other constrained environments, but they work everywhere.")))
(define-public s6-linux-init
(package
(name "s6-linux-init")
(version "1.0.4.2")
(version "1.0.5.1")
(source
(origin
(method url-fetch)
@ -303,7 +303,7 @@ systems and other constrained environments, but they work everywhere.")))
"https://skarnet.org/software/s6-linux-init/s6-linux-init-"
version ".tar.gz"))
(sha256
(base32 "0rp4k78555r38ir57a8w9qlxss4x487jqmhpn40ankpidwjs04gm"))))
(base32 "1gkbjldf4f7i3vmv251f9hw7ma09nh8zkwjmqi2gplpkf7z3i34p"))))
(build-system gnu-build-system)
(inputs
`(("execline" ,execline)
@ -312,6 +312,7 @@ systems and other constrained environments, but they work everywhere.")))
(arguments
'(#:configure-flags
(list
"--disable-static"
(string-append "--with-lib="
(assoc-ref %build-inputs "skalibs")
"/lib/skalibs")

View File

@ -487,36 +487,6 @@ of user keystrokes. It's a replacement for SSH that's more robust and
responsive, especially over Wi-Fi, cellular, and long-distance links.")
(license license:gpl3+)))
(define-public et
(package
(name "et")
(version "3.1.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/MisterTea/EternalTCP")
(commit (string-append "et-v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1m5caxckn2ihwp9s2pbyh5amxlpwr7yc54q8s0kb10fr52w2vfnm"))))
(build-system cmake-build-system)
(arguments `(#:tests? #f))
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs `(("glog" ,glog)
("gflags" ,gflags)
("libsodium" ,libsodium)
("protobuf" ,protobuf)))
(synopsis "Remote shell that automatically reconnects")
(description
"Eternal Terminal (ET) is a remote shell that automatically reconnects
without interrupting the session. Unlike SSH sessions, ET sessions will
survive even network outages and IP changes. ET uses a custom protocol over
TCP, not the SSH protocol.")
(home-page "https://eternalterminal.dev/")
(license license:asl2.0)))
(define-public dropbear
(package
(name "dropbear")

View File

@ -55,14 +55,14 @@
(define-public ceph
(package
(name "ceph")
(version "14.2.14")
(version "14.2.15")
(source (origin
(method url-fetch)
(uri (string-append "https://download.ceph.com/tarballs/ceph-"
version ".tar.gz"))
(sha256
(base32
"10ma8qimgspz1q3lqb4yl990l9xa87iwd0r4dxl5xg89w6j7qwix"))
"1rq4pp7j8x0f4csspd9csllz6h3phiqfh5vlvsqsj60agyhidinc"))
(patches
(search-patches "ceph-disable-cpu-optimizations.patch"))
(modules '((guix build utils)))

View File

@ -16,7 +16,7 @@
;;; Copyright © 2018, 2019 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2019 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2019 Pierre Langlois <pierre.langlois@gmx.com>
;;; Copyright © 2019 Brett Gilio <brettg@gnu.org>
;;; Copyright © 2019, 2020 Brett Gilio <brettg@gnu.org>
;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
;;; Copyright © 2020 Valentin Ignatev <valentignatev@gmail.com>
;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
@ -1044,7 +1044,7 @@ comfortably in a pager or editor.
(define-public eternalterminal
(package
(name "eternalterminal")
(version "6.0.7")
(version "6.0.13")
(source
(origin
(method git-fetch)
@ -1053,7 +1053,7 @@ comfortably in a pager or editor.
(commit (string-append "et-v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "03pdspggqxkmz95qb96pig5x0xw18hy9a7ivszydr32ry6kxxx1h"))))
(base32 "0sb1hypg2276y8c2a5vivrkcxp70swddvhnd9h273if3kv6j879r"))))
(build-system cmake-build-system)
(arguments
'(#:configure-flags '("-DBUILD_TEST=ON")
@ -1081,6 +1081,9 @@ while also supporting native scrolling and @command{tmux} control mode
(@code{tmux -CC}).")
(license license:asl2.0)))
(define-public et
(deprecated-package "et" eternalterminal))
(define-public wterm
(package
(name "wterm")

View File

@ -14,7 +14,7 @@
;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017 Vasile Dumitrascu <va511e@yahoo.com>
;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2017 André <eu@euandre.org>
;;; Copyright © 2017, 2020 EuAndreh <eu@euandre.org>
;;; Copyright © 2017, 2018, 2020 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017 Stefan Reichör <stefan@xsteve.at>
;;; Copyright © 2017, 2020 Oleg Pykhalov <go.wigust@gmail.com>
@ -74,6 +74,7 @@
#:use-module (gnu packages ed)
#:use-module (gnu packages file)
#:use-module (gnu packages flex)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages gettext)
#:use-module (gnu packages gl)
#:use-module (gnu packages golang)
@ -2718,6 +2719,40 @@ videos, datasets, and graphics with text pointers inside Git, while storing the
file contents on a remote server.")
(license license:expat)))
(define-public git-open
(package
(name "git-open")
(version "2.1.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/paulirish/git-open")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "11n46bngvca5wbdbfcxzjhjbfdbad7sgf7h9gf956cb1q8swsdm0"))))
(build-system trivial-build-system)
(propagated-inputs
`(("xdg-utils" ,xdg-utils)))
(arguments
`(#:modules ((guix build utils))
#:builder
(begin
(use-modules (guix build utils))
(let ((source (assoc-ref %build-inputs "source"))
(out (assoc-ref %outputs "out")))
(mkdir-p (string-append out "/bin"))
(copy-file (string-append source "/git-open")
(string-append out "/bin/git-open"))
#t))))
(home-page "https://github.com/paulirish/git-open")
(synopsis "Open a Git repository's homepage from the command-line")
(description
"@code{git open} opens the repository's website from the command-line,
guessing the URL pattern from the @code{origin} remote.")
(license license:expat)))
(define-public tla
(package
(name "gnu-arch")

View File

@ -528,7 +528,7 @@ applications by providing high-level classes for commonly required tasks.")
(define-public libde265
(package
(name "libde265")
(version "1.0.7")
(version "1.0.8")
(source
(origin
(method git-fetch)
@ -538,7 +538,7 @@ applications by providing high-level classes for commonly required tasks.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0x7g9771457z49qvzpk4iswfhq018i0mzsflv9gg8if5hjqhfdp0"))))
(base32 "1dzflqbk248lz5ws0ni5acmf32b3rmnq5gsfaz7691qqjxkl1zml"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
@ -2188,14 +2188,14 @@ To load this plugin, specify the following option when starting mpv:
(define-public youtube-dl
(package
(name "youtube-dl")
(version "2020.11.21.1")
(version "2020.11.26")
(source (origin
(method url-fetch)
(uri (string-append "https://youtube-dl.org/downloads/latest/"
"youtube-dl-" version ".tar.gz"))
(sha256
(base32
"0a9livib328z5j3kfndxys2193dvfs4hh38krx0idg0k26xp7cfl"))))
"0zvgb1b5kzd2y97rvynxf7qvz3narllf1m26xsph1zll1zb6q47v"))))
(build-system python-build-system)
(arguments
;; The problem here is that the directory for the man page and completion
@ -4378,15 +4378,17 @@ transitions, and effects and then export your film to many common formats.")
(define-public dav1d
(package
(name "dav1d")
(version "0.7.1")
(version "0.8.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://downloads.videolan.org/pub/videolan"
"/dav1d/" version "/dav1d-" version ".tar.xz"))
(method git-fetch)
(uri (git-reference
(url "https://code.videolan.org/videolan/dav1d.git")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1hnkfcg57bv5rib6cnj39dy1jx0q7zi5fb2fz52hf2y0bv8bad1k"))))
"0mjn87xjdqv0q1gj4s4f6fdmsj504mhk4qmqiyrhq2rs7yqj4csv"))))
(build-system meson-build-system)
(native-inputs `(("nasm" ,nasm)))
(home-page "https://code.videolan.org/videolan/dav1d")

View File

@ -2053,14 +2053,14 @@ use with virtualization provisioning tools")
(define-public python-transient
(package
(name "python-transient")
(version "0.10")
(version "0.11")
(source
(origin
(method url-fetch)
(uri (pypi-uri "transient" version))
(sha256
(base32
"1740l50483fcq9748g69nkk28s2x69n4hh1l7n8f4s7p6lq1kqjy"))))
"1pcyw8j2l354qa6c8gr58xd7fmxcx1svnfyr2rj5nh04ircx3x7l"))))
(build-system python-build-system)
(arguments
`(#:tests? #f ; Requires behave

View File

@ -1424,7 +1424,7 @@ used to validate and fix HTML data.")
(define-public esbuild
(package
(name "esbuild")
(version "0.8.11")
(version "0.8.14")
(source
(origin
(method git-fetch)
@ -1433,8 +1433,7 @@ used to validate and fix HTML data.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"18cp68jds8cq58hpcwh85cgvh5vlkjfdcpwqp5h754065j896rr3"))
(base32 "0hv6qgkdp5jhb3s3088xgahgddnivb6gc13gjsvjqz5clhscy81d"))
(modules '((guix build utils)))
(snippet
'(begin
@ -1457,7 +1456,7 @@ used to validate and fix HTML data.")
`(("golang.org/x/sys" ,go-golang-org-x-sys)))
(native-inputs
`(("github.com/kylelemons/godebug" ,go-github-com-kylelemons-godebug)))
(home-page "https://github.com/evanw/esbuild")
(home-page "https://esbuild.github.io/")
(synopsis "Bundler and minifier tool for JavaScript and TypeScript")
(description
"The esbuild tool provides a unified bundler, transpiler and

View File

@ -41,6 +41,7 @@
;;; Copyright © 2020 Brett Gilio <brettg@gnu.org>
;;; Copyright © 2020 Gabriel Arazas <foo.dogsquared@gmail.com>
;;; Copyright © 2020 James Smith <jsubuntuxp@disroot.org>
;;; Copyright © 2020 B. Wilson <elaexuotee@wilsonb.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -110,6 +111,38 @@
;; packages outside the x.org system proper
(define-public xtitle
(package
(name "xtitle")
(version "0.4.4")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/baskerville/xtitle")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0f5070k2bwarghl1vq886pl52xck1x5p7x3qhlfchsc2y3dcqms9"))))
(build-system gnu-build-system)
(inputs
`(("libxcb" ,libxcb)
("xcb-util" ,xcb-util)
("xcb-util-wm" ,xcb-util-wm)))
(arguments
`(#:tests? #f ;no test suite
#:make-flags (list (string-append "CC=" ,(cc-for-target))
(string-append "PREFIX=" %output))
#:phases (modify-phases %standard-phases (delete 'configure))))
(home-page "https://github.com/baskerville/xtitle")
(synopsis "Output X window titles")
(description
"If arguments are given, @code{xtitle} outputs the title of each
specified window, otherwise it outputs the title of the active window. With
@emph{snoop} mode on, it continuously monitors the specified windows and
outputs when titles change.")
(license license:unlicense)))
(define-public arandr
(package
(name "arandr")
@ -1458,7 +1491,7 @@ connectivity of the X server running on a particular @code{DISPLAY}.")
(define-public rofi
(package
(name "rofi")
(version "1.6.0")
(version "1.6.1")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/DaveDavenport/rofi/"
@ -1466,7 +1499,7 @@ connectivity of the X server running on a particular @code{DISPLAY}.")
version "/rofi-" version ".tar.xz"))
(sha256
(base32
"0566b499lbpfb1gk4p17iw78ywmk9l2jww1kqjbdanrl22hai1y4"))))
"12p9z8bl1gg8k024m4a6zfz7gf1zbyffardh98raqgabn6knwk22"))))
(build-system gnu-build-system)
(inputs
`(("pango" ,pango)

View File

@ -3012,8 +3012,8 @@ X server.")
(define-public xf86-video-intel
(let ((commit "5ca3ac1a90af177eb111a965e9b4dd8a27cc58fc")
(revision "16"))
(let ((commit "ad5540f6ecaec287c70259f0181e613561b716f6")
(revision "17"))
(package
(name "xf86-video-intel")
(version (git-version "2.99.917" revision commit))
@ -3026,7 +3026,7 @@ X server.")
(commit commit)))
(sha256
(base32
"1y1v6cp3r3isq3bc7mypkvypwjygi205k06slmidx2q3sz4h4mjc"))
"09jdg5wrq708wc83027337qvdjb96827h7sjwjfl5ffiynfpwl95"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(inputs `(("mesa" ,mesa)

View File

@ -298,7 +298,8 @@ FILE-SYSTEM."
(define (mapped-device->shepherd-service-name md)
"Return the symbol that denotes the shepherd service of MD, a <mapped-device>."
(symbol-append 'device-mapping-
(string->symbol (mapped-device-target md))))
(string->symbol (string-join
(mapped-device-targets md) "-"))))
(define dependency->shepherd-service-name
(match-lambda

View File

@ -475,9 +475,9 @@ marked as 'needed-for-boot'."
(let ((device (file-system-device fs)))
(if (string? device) ;title is 'device
(filter (lambda (md)
(string=? (string-append "/dev/mapper/"
(mapped-device-target md))
device))
(any (cut string=? device <>)
(map (cut string-append "/dev/mapper" <>)
(mapped-device-targets md))))
(operating-system-mapped-devices os))
'())))
@ -497,11 +497,12 @@ marked as 'needed-for-boot'."
(define (mapped-device-users device file-systems)
"Return the subset of FILE-SYSTEMS that use DEVICE."
(let ((target (string-append "/dev/mapper/" (mapped-device-target device))))
(let ((targets (map (cut string-append "/dev/mapper/" <>)
(mapped-device-targets device))))
(filter (lambda (fs)
(or (member device (file-system-dependencies fs))
(and (string? (file-system-device fs))
(string=? (file-system-device fs) target))))
(any (cut string=? (file-system-device fs) <>) targets))))
file-systems)))
(define (operating-system-user-mapped-devices os)

View File

@ -195,11 +195,11 @@ upon error."
(define device-mapping-commands
;; List of gexps to open the mapped devices.
(map (lambda (md)
(let* ((source (mapped-device-source md))
(target (mapped-device-target md))
(type (mapped-device-type md))
(open (mapped-device-kind-open type)))
(open source target)))
(let* ((source (mapped-device-source md))
(targets (mapped-device-targets md))
(type (mapped-device-type md))
(open (mapped-device-kind-open type)))
(open source targets)))
mapped-devices))
(define kodir
@ -217,6 +217,7 @@ upon error."
(gnu system file-systems)
((guix build utils) #:hide (delete))
(guix build bournish) ;add the 'bournish' meta-command
(srfi srfi-1) ;for lvm-device-mapping
(srfi srfi-26)
;; FIXME: The following modules are for

View File

@ -28,6 +28,7 @@
formatted-message
&fix-hint
&error-location))
#:use-module (guix deprecation)
#:use-module (gnu services)
#:use-module (gnu services shepherd)
#:use-module (gnu system uuid)
@ -35,17 +36,19 @@
#:autoload (gnu build linux-modules)
(missing-modules)
#:autoload (gnu packages cryptsetup) (cryptsetup-static)
#:autoload (gnu packages linux) (mdadm-static)
#:autoload (gnu packages linux) (mdadm-static lvm2-static)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-26)
#:use-module (srfi srfi-34)
#:use-module (srfi srfi-35)
#:use-module (ice-9 match)
#:use-module (ice-9 format)
#:export (mapped-device
#:export (%mapped-device
mapped-device
mapped-device?
mapped-device-source
mapped-device-target
mapped-device-targets
mapped-device-type
mapped-device-location
@ -61,7 +64,8 @@
check-device-initrd-modules ;XXX: needs a better place
luks-device-mapping
raid-device-mapping))
raid-device-mapping
lvm-device-mapping))
;;; Commentary:
;;;
@ -70,15 +74,36 @@
;;;
;;; Code:
(define-record-type* <mapped-device> mapped-device
(define-record-type* <mapped-device> %mapped-device
make-mapped-device
mapped-device?
(source mapped-device-source) ;string | list of strings
(target mapped-device-target) ;string
(targets mapped-device-targets) ;list of strings
(type mapped-device-type) ;<mapped-device-kind>
(location mapped-device-location
(default (current-source-location)) (innate)))
(define-syntax mapped-device-compatibility-helper
(syntax-rules (target)
((_ () (fields ...))
(%mapped-device fields ...))
((_ ((target exp) rest ...) (others ...))
(%mapped-device others ...
(targets (list exp))
rest ...))
((_ (field rest ...) (others ...))
(mapped-device-compatibility-helper (rest ...)
(others ... field)))))
(define-syntax-rule (mapped-device fields ...)
"Build an <mapped-device> record, automatically converting 'target' field
specifications to 'targets'."
(mapped-device-compatibility-helper (fields ...) ()))
(define-deprecated (mapped-device-target md)
mapped-device-targets
(car (mapped-device-targets md)))
(define-record-type* <mapped-device-type> mapped-device-kind
make-mapped-device-kind
mapped-device-kind?
@ -97,14 +122,14 @@
(shepherd-service-type
'device-mapping
(match-lambda
(($ <mapped-device> source target
(($ <mapped-device> source targets
($ <mapped-device-type> open close))
(shepherd-service
(provision (list (symbol-append 'device-mapping- (string->symbol target))))
(provision (list (symbol-append 'device-mapping- (string->symbol (string-join targets "-")))))
(requirement '(udev))
(documentation "Map a device node using Linux's device mapper.")
(start #~(lambda () #$(open source target)))
(stop #~(lambda _ (not #$(close source target))))
(start #~(lambda () #$(open source targets)))
(stop #~(lambda _ (not #$(close source targets))))
(respawn? #f))))))
(define (device-mapping-service mapped-device)
@ -162,48 +187,52 @@ option of @command{guix system}.\n")
;;; Common device mappings.
;;;
(define (open-luks-device source target)
(define (open-luks-device source targets)
"Return a gexp that maps SOURCE to TARGET as a LUKS device, using
'cryptsetup'."
(with-imported-modules (source-module-closure
'((gnu build file-systems)))
#~(let ((source #$(if (uuid? source)
(uuid-bytevector source)
source)))
;; XXX: 'use-modules' should be at the top level.
(use-modules (rnrs bytevectors) ;bytevector?
((gnu build file-systems)
#:select (find-partition-by-luks-uuid)))
(match targets
((target)
#~(let ((source #$(if (uuid? source)
(uuid-bytevector source)
source)))
;; XXX: 'use-modules' should be at the top level.
(use-modules (rnrs bytevectors) ;bytevector?
((gnu build file-systems)
#:select (find-partition-by-luks-uuid)))
;; Use 'cryptsetup-static', not 'cryptsetup', to avoid pulling the
;; whole world inside the initrd (for when we're in an initrd).
(zero? (system* #$(file-append cryptsetup-static "/sbin/cryptsetup")
"open" "--type" "luks"
;; Use 'cryptsetup-static', not 'cryptsetup', to avoid pulling the
;; whole world inside the initrd (for when we're in an initrd).
(zero? (system* #$(file-append cryptsetup-static "/sbin/cryptsetup")
"open" "--type" "luks"
;; Note: We cannot use the "UUID=source" syntax here
;; because 'cryptsetup' implements it by searching the
;; udev-populated /dev/disk/by-id directory but udev may
;; be unavailable at the time we run this.
(if (bytevector? source)
(or (let loop ((tries-left 10))
(and (positive? tries-left)
(or (find-partition-by-luks-uuid source)
;; If the underlying partition is
;; not found, try again after
;; waiting a second, up to ten
;; times. FIXME: This should be
;; dealt with in a more robust way.
(begin (sleep 1)
(loop (- tries-left 1))))))
(error "LUKS partition not found" source))
source)
;; Note: We cannot use the "UUID=source" syntax here
;; because 'cryptsetup' implements it by searching the
;; udev-populated /dev/disk/by-id directory but udev may
;; be unavailable at the time we run this.
(if (bytevector? source)
(or (let loop ((tries-left 10))
(and (positive? tries-left)
(or (find-partition-by-luks-uuid source)
;; If the underlying partition is
;; not found, try again after
;; waiting a second, up to ten
;; times. FIXME: This should be
;; dealt with in a more robust way.
(begin (sleep 1)
(loop (- tries-left 1))))))
(error "LUKS partition not found" source))
source)
#$target)))))
#$target)))))))
(define (close-luks-device source target)
(define (close-luks-device source targets)
"Return a gexp that closes TARGET, a LUKS device."
#~(zero? (system* #$(file-append cryptsetup-static "/sbin/cryptsetup")
"close" #$target)))
(match targets
((target)
#~(zero? (system* #$(file-append cryptsetup-static "/sbin/cryptsetup")
"close" #$target)))))
(define* (check-luks-device md #:key
needed-for-boot?
@ -235,36 +264,40 @@ option of @command{guix system}.\n")
(close close-luks-device)
(check check-luks-device)))
(define (open-raid-device sources target)
(define (open-raid-device sources targets)
"Return a gexp that assembles SOURCES (a list of devices) to the RAID device
TARGET (e.g., \"/dev/md0\"), using 'mdadm'."
#~(let ((sources '#$sources)
(match targets
((target)
#~(let ((sources '#$sources)
;; XXX: We're not at the top level here. We could use a
;; non-top-level 'use-modules' form but that doesn't work when the
;; code is eval'd, like the Shepherd does.
(every (@ (srfi srfi-1) every))
(format (@ (ice-9 format) format)))
(let loop ((attempts 0))
(unless (every file-exists? sources)
(when (> attempts 20)
(error "RAID devices did not show up; bailing out"
sources))
;; XXX: We're not at the top level here. We could use a
;; non-top-level 'use-modules' form but that doesn't work when the
;; code is eval'd, like the Shepherd does.
(every (@ (srfi srfi-1) every))
(format (@ (ice-9 format) format)))
(let loop ((attempts 0))
(unless (every file-exists? sources)
(when (> attempts 20)
(error "RAID devices did not show up; bailing out"
sources))
(format #t "waiting for RAID source devices~{ ~a~}...~%"
sources)
(sleep 1)
(loop (+ 1 attempts))))
(format #t "waiting for RAID source devices~{ ~a~}...~%"
sources)
(sleep 1)
(loop (+ 1 attempts))))
;; Use 'mdadm-static' rather than 'mdadm' to avoid pulling its whole
;; closure (80 MiB) in the initrd when a RAID device is needed for boot.
(zero? (apply system* #$(file-append mdadm-static "/sbin/mdadm")
"--assemble" #$target sources))))
;; Use 'mdadm-static' rather than 'mdadm' to avoid pulling its whole
;; closure (80 MiB) in the initrd when a RAID device is needed for boot.
(zero? (apply system* #$(file-append mdadm-static "/sbin/mdadm")
"--assemble" #$target sources))))))
(define (close-raid-device sources target)
(define (close-raid-device sources targets)
"Return a gexp that stops the RAID device TARGET."
#~(zero? (system* #$(file-append mdadm-static "/sbin/mdadm")
"--stop" #$target)))
(match targets
((target)
#~(zero? (system* #$(file-append mdadm-static "/sbin/mdadm")
"--stop" #$target)))))
(define raid-device-mapping
;; The type of RAID mapped devices.
@ -272,4 +305,24 @@ TARGET (e.g., \"/dev/md0\"), using 'mdadm'."
(open open-raid-device)
(close close-raid-device)))
(define (open-lvm-device source targets)
#~(and
(zero? (system* #$(file-append lvm2-static "/sbin/lvm")
"vgchange" "--activate" "ay" #$source))
; /dev/mapper nodes are usually created by udev, but udev may be unavailable at the time we run this. So we create them here.
(zero? (system* #$(file-append lvm2-static "/sbin/lvm")
"vgscan" "--mknodes"))
(every file-exists? (map (lambda (file) (string-append "/dev/mapper/" file))
'#$targets))))
(define (close-lvm-device source targets)
#~(zero? (system* #$(file-append lvm2-static "/sbin/lvm")
"vgchange" "--activate" "n" #$source)))
(define lvm-device-mapping
(mapped-device-kind
(open open-lvm-device)
(close close-lvm-device)))
;;; mapped-devices.scm ends here

View File

@ -67,6 +67,7 @@
%test-btrfs-root-on-subvolume-os
%test-jfs-root-os
%test-f2fs-root-os
%test-lvm-separate-home-os
%test-gui-installed-os
%test-gui-installed-os-encrypted
@ -796,6 +797,92 @@ build (current-guix) and then store a couple of full system images.")
(run-basic-test %encrypted-root-os command "encrypted-root-os"
#:initialization enter-luks-passphrase)))))
;;;
;;; Separate /home on LVM
;;;
;; Since LVM support in guix currently doesn't allow root-on-LVM we use /home on LVM
(define-os-with-source (%lvm-separate-home-os %lvm-separate-home-os-source)
(use-modules (gnu) (gnu tests))
(operating-system
(host-name "separate-home-on-lvm")
(timezone "Europe/Paris")
(locale "en_US.utf8")
(bootloader (bootloader-configuration
(bootloader grub-bootloader)
(target "/dev/vdb")))
(kernel-arguments '("console=ttyS0"))
(mapped-devices (list (mapped-device
(source "vg0")
(target "vg0-home")
(type lvm-device-mapping))))
(file-systems (cons* (file-system
(device (file-system-label "root-fs"))
(mount-point "/")
(type "ext4"))
(file-system
(device "/dev/mapper/vg0-home")
(mount-point "/home")
(type "ext4")
(dependencies mapped-devices))
%base-file-systems))
(users %base-user-accounts)
(services (cons (service marionette-service-type
(marionette-configuration
(imported-modules '((gnu services herd)
(guix combinators)))))
%base-services))))
(define %lvm-separate-home-installation-script
"\
. /etc/profile
set -e -x
guix --version
export GUIX_BUILD_OPTIONS=--no-grafts
parted --script /dev/vdb mklabel gpt \\
mkpart primary ext2 1M 3M \\
mkpart primary ext2 3M 1.6G \\
mkpart primary 1.6G 3.2G \\
set 1 boot on \\
set 1 bios_grub on
pvcreate /dev/vdb3
vgcreate vg0 /dev/vdb3
lvcreate -L 1.6G -n home vg0
vgchange -ay
mkfs.ext4 -L root-fs /dev/vdb2
mkfs.ext4 /dev/mapper/vg0-home
mount /dev/vdb2 /mnt
mkdir /mnt/home
mount /dev/mapper/vg0-home /mnt/home
df -h /mnt /mnt/home
herd start cow-store /mnt
mkdir /mnt/etc
cp /etc/target-config.scm /mnt/etc/config.scm
guix system init /mnt/etc/config.scm /mnt --no-substitutes
sync
reboot\n")
(define %test-lvm-separate-home-os
(system-test
(name "lvm-separate-home-os")
(description
"Test functionality of an OS installed with a LVM /home partition")
(value
(mlet* %store-monad ((image (run-install %lvm-separate-home-os
%lvm-separate-home-os-source
#:script
%lvm-separate-home-installation-script
#:packages (list lvm2-static)
#:target-size (* 3200 MiB)))
(command (qemu-command/writable-image image)))
(run-basic-test %lvm-separate-home-os
`(,@command) "lvm-separate-home-os")))))
;;;
;;; Btrfs root file system.

View File

@ -2,6 +2,7 @@
;;; Copyright © 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2018 Kyle Meyer <kyle@kyleam.com>
;;; Copyright © 2020 Simon Tournier <zimon.toutoune@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -30,6 +31,7 @@
#:use-module (guix grafts)
#:use-module (guix gexp)
#:use-module ((guix build syscalls) #:select (terminal-columns))
#:use-module ((guix build utils) #:select (every*))
#:use-module (guix scripts substitute)
#:use-module (guix http-client)
#:use-module (guix ci)
@ -540,23 +542,23 @@ SERVER. Display information for packages with at least THRESHOLD dependents."
(package-outputs packages system))
systems))))))
(exit
(every (lambda (server)
(define coverage
(report-server-coverage server items
#:display-missing?
(assoc-ref opts 'display-missing?)))
(match (assoc-ref opts 'coverage)
(#f #f)
(threshold
;; PACKAGES may include non-package objects coming from a
;; manifest. Filter them out.
(report-package-coverage server
(filter package? packages)
systems
#:threshold threshold)))
(every* (lambda (server)
(define coverage
(report-server-coverage server items
#:display-missing?
(assoc-ref opts 'display-missing?)))
(match (assoc-ref opts 'coverage)
(#f #f)
(threshold
;; PACKAGES may include non-package objects coming from a
;; manifest. Filter them out.
(report-package-coverage server
(filter package? packages)
systems
#:threshold threshold)))
(= 1 coverage))
urls))))))
(= 1 coverage))
urls))))))
;;; Local Variables:
;;; eval: (put 'let/time 'scheme-indent-function 1)