me
/
guix
Archived
1
0
Fork 0

Merge remote-tracking branch 'origin/master' into core-updates

Conflicts:
	gnu/local.mk
	gnu/packages/boost.scm
	gnu/packages/chez.scm
	gnu/packages/compression.scm
	gnu/packages/crates-io.scm
	gnu/packages/docbook.scm
	gnu/packages/engineering.scm
	gnu/packages/gcc.scm
	gnu/packages/gl.scm
	gnu/packages/gtk.scm
	gnu/packages/nettle.scm
	gnu/packages/python-check.scm
	gnu/packages/python-xyz.scm
	gnu/packages/radio.scm
	gnu/packages/rust.scm
	gnu/packages/sqlite.scm
	guix/build-system/node.scm
master
Efraim Flashner 2021-04-16 14:39:48 +03:00
commit fcc39864db
No known key found for this signature in database
GPG Key ID: 41AAE7DCCA3D8351
283 changed files with 23915 additions and 6384 deletions

View File

@ -8,8 +8,6 @@
(name "andreas"))
("2A39 3FFF 68F4 EF7A 3D29 12AF 6F51 20A0 22FB B2D5"
(name "ajgrf"))
("306F CB8F 2C01 C25D 29D3 0556 61EF 502E F602 52F2"
(name "alexvong1995"))
("4FB9 9F49 2B12 A365 7997 E664 8246 0C08 2A0E E98F"
(name "alezost"))
("50F3 3E2E 5B0C 3D90 0424 ABE8 9BDC F497 A4BB CC7F"
@ -27,8 +25,6 @@
(;; primary: "34FF 38BC D151 25A6 E340 A0B5 3453 2F9F AFCA 8B8E"
"A0C5 E352 2EF8 EF5C 64CD B7F0 FD73 CAC7 19D3 2566"
(name "bavier"))
("BCF8 F737 2CED 080A 67EB 592D 2A6A D9F4 AAC2 0DF6"
(name "benwoodcroft"))
("45CC 63B8 5258 C9D5 5F34 B239 D37D 0EA7 CECC 3912"
(name "biscuolo"))
("7988 3B9F 7D6A 4DBF 3719 0367 2506 A96C CF63 0B21"
@ -92,8 +88,6 @@
(name "lfam"))
("148B CB8B D80B FB16 B1DE 0E91 45A8 B1E8 6BCD 10A6"
(name "lle_bout"))
("2AE3 1395 932B E642 FC0E D99C 9BED 6EDA 32E5 B0BC"
(name "lsl88"))
("8887 84C4 1459 ACCB 83E7 E84C 634C 6E89 79FA BEC2"
(name "m1gu3l"))
("CBF5 9755 CBE7 E7EF EF18 3FB1 DD40 9A15 D822 469D"
@ -121,12 +115,12 @@
(name "pgarlick"))
("3A86 380E 58A8 B942 8D39 60E1 327C 1EF3 8DF5 4C32"
(name "phant0mas"))
("CD2D 5EAA A98C CB37 DA91 D6B0 5F58 1664 7F8B E551"
(name "raghavgururajan"))
("74D6 A930 F44B 9B84 9EA5 5606 C166 AA49 5F7F 189C"
(name "reepca"))
("BCA6 89B6 3655 3801 C3C6 2150 197A 5888 235F ACAC"
(name "rekado"))
("0154 E1B9 1CC9 D9EF 7764 8DE7 F3A7 27DB 44FC CA36"
(name "rhelling"))
(;; From commit cc51c03ff867d4633505354819c6d88af88bf919 (March 2020).
;; See <https://lists.gnu.org/archive/html/guix-devel/2020-03/msg00070.html>.
"F556 FD94 FB8F 8B87 79E3 6832 CBD0 CD51 38C1 9AFC"
@ -138,22 +132,10 @@
(;; primary: "D6B0 C593 DA8C 5EDC A44C 7A58 C336 91F7 1188 B004"
"A02C 2D82 0EF4 B25B A6B5 1D90 2AC6 A5EC 1C35 7C59"
(name "samplet"))
("77DD AD2D 97F5 31BB C0F3 C7FD DFB5 EB09 AA62 5423"
(name "sleep_walker"))
("F494 72F4 7A59 00D5 C235 F212 89F9 6D48 08F3 59C7"
(name "snape"))
("9ADE 9ECF 2B19 C180 9C99 5CEA A1F4 CFCC 5283 6BAC"
(name "taylanub"))
;; https://lists.gnu.org/archive/html/guix-devel/2017-03/msg00826.html
(;; primary: "1DD1 681F E285 E07F 11DC 0C59 2E15 A6BC D77D 54FD"
"3D2C DA58 819C 08C2 A649 D43D 5C3B 064C 724A 5726"
(name "thomasd"))
("6580 7361 3BFC C5C7 E2E4 5D45 DC51 8FC8 7F97 16AA"
(name "vagrantc"))
(;; primary: "C955 CC5D C048 7FB1 7966 40A9 199A F6A3 67E9 4ABB"
"7238 7123 8EAC EB63 4548 5857 167F 8EA5 001A FA9C"
(name "wigust"))
("FF47 8FB2 64DE 32EC 2967 25A3 DDC0 F535 8812 F8F2"
(name "wingo"))))
(name "wigust"))))

View File

@ -126,6 +126,7 @@ MODULES = \
guix/cache.scm \
guix/cve.scm \
guix/workers.scm \
guix/ipfs.scm \
guix/build-system.scm \
guix/build-system/android-ndk.scm \
guix/build-system/ant.scm \

View File

@ -285,8 +285,7 @@ interface (FFI) of Guile.")
#:select? select?))
(gexp->script "compute-guix-derivation"
#~(begin
(use-modules (ice-9 match)
(ice-9 threads))
(use-modules (ice-9 match))
(eval-when (expand load eval)
;; (gnu packages …) modules are going to be looked up
@ -320,23 +319,9 @@ interface (FFI) of Guile.")
(guix derivations)
(srfi srfi-1))
(define (spin system)
(define spin
(circular-list "-" "\\" "|" "/" "-" "\\" "|" "/"))
(format (current-error-port)
"Computing Guix derivation for '~a'... "
system)
(when (isatty? (current-error-port))
(let loop ((spin spin))
(display (string-append "\b" (car spin))
(current-error-port))
(force-output (current-error-port))
(sleep 1)
(loop (cdr spin)))))
(match (command-line)
((_ source system version protocol-version)
((_ source system version protocol-version
build-output)
;; The current input port normally wraps a file
;; descriptor connected to the daemon, or it is
;; connected to /dev/null. In the former case, reuse
@ -349,16 +334,18 @@ interface (FFI) of Guile.")
(current-input-port)
"w+0")
#:version proto)
(open-connection))))
(call-with-new-thread
(lambda ()
(spin system)))
(open-connection)))
(sock (socket AF_UNIX SOCK_STREAM 0)))
;; Connect to BUILD-OUTPUT and send it the raw
;; build output.
(connect sock AF_UNIX build-output)
(display
(and=>
;; Silence autoload warnings and the likes.
(parameterize ((current-warning-port
(%make-void-port "w")))
(%make-void-port "w"))
(current-build-output-port sock))
(run-with-store store
(guix-derivation source version
#$guile-version
@ -370,6 +357,28 @@ interface (FFI) of Guile.")
derivation-file-name))))))
#:module-path (list source))))
(define (proxy input output)
"Dump the contents of INPUT to OUTPUT until EOF is reached on INPUT.
Display a spinner when nothing happens."
(define spin
(circular-list "-" "\\" "|" "/" "-" "\\" "|" "/"))
(setvbuf input 'block 16384)
(let loop ((spin spin))
(match (select (list input) '() '() 1)
((() () ())
(when (isatty? (current-error-port))
(display (string-append "\b" (car spin))
(current-error-port))
(force-output (current-error-port)))
(loop (cdr spin)))
(((_) () ())
;; Read from INPUT as much as can be read without blocking.
(let ((bv (get-bytevector-some input)))
(unless (eof-object? bv)
(put-bytevector output bv)
(loop spin)))))))
(define (call-with-clean-environment thunk)
(let ((env (environ)))
(dynamic-wind
@ -426,7 +435,14 @@ files."
;; way, we know 'open-pipe*' will not close it on 'exec'. If PORT is
;; not a file port (e.g., it's an SSH channel), then the subprocess's
;; stdin will actually be /dev/null.
(let* ((pipe (with-input-from-port port
(let* ((sock (socket AF_UNIX SOCK_STREAM 0))
(node (let ((file (string-append (or (getenv "TMPDIR") "/tmp")
"/guix-build-output-"
(number->string (getpid)))))
(bind sock AF_UNIX file)
(listen sock 1)
file))
(pipe (with-input-from-port port
(lambda ()
;; Make sure BUILD is not influenced by
;; $GUILE_LOAD_PATH & co.
@ -442,30 +458,45 @@ files."
(if (file-port? port)
(number->string
(logior major minor))
"none"))))))
(str (get-string-all pipe))
(status (close-pipe pipe)))
(match str
((? eof-object?)
(error "build program failed" (list build status)))
((? derivation-path? drv)
(mbegin %store-monad
(return (newline (current-error-port)))
((store-lift add-temp-root) drv)
(return (read-derivation-from-file drv))))
("#f"
;; Unsupported PULL-VERSION.
(return #f))
((? string? str)
(raise (condition
(&message
(message (format #f "You found a bug: the program '~a'
"none")
node))))))
(format (current-error-port) "Computing Guix derivation for '~a'... "
system)
;; Wait for a connection on SOCK and proxy build output so it can be
;; processed according to the settings currently in effect (build
;; traces, verbosity level, and so on).
(match (accept sock)
((port . _)
(close-port sock)
(delete-file node)
(proxy port (current-build-output-port))))
;; Now that the build output connection was closed, read the result, a
;; derivation file name, from PIPE.
(let ((str (get-string-all pipe))
(status (close-pipe pipe)))
(match str
((? eof-object?)
(error "build program failed" (list build status)))
((? derivation-path? drv)
(mbegin %store-monad
(return (newline (current-error-port)))
((store-lift add-temp-root) drv)
(return (read-derivation-from-file drv))))
("#f"
;; Unsupported PULL-VERSION.
(return #f))
((? string? str)
(raise (condition
(&message
(message (format #f "You found a bug: the program '~a'
failed to compute the derivation for Guix (version: ~s; system: ~s;
host version: ~s; pull-version: ~s).
Please report it by email to <~a>.~%"
(derivation->output-path build)
version system %guix-version pull-version
%guix-bug-report-address)))))))))))
(derivation->output-path build)
version system %guix-version pull-version
%guix-bug-report-address))))))))))))
;; This file is loaded by 'guix pull'; return it the build procedure.
build

View File

@ -126,10 +126,10 @@ Store}, for information about this), usually @file{/var}. Note that you
will probably not run @command{make install} at the end (you don't have
to) but it's still important to pass the right @code{localstatedir}.
Finally, you have to invoke @code{make check} to run tests
(@pxref{Running the Test Suite}). If anything
fails, take a look at installation instructions (@pxref{Installation})
or send a message to the @email{guix-devel@@gnu.org, mailing list}.
Finally, you have to invoke @code{make && make check} to build Guix and
run the tests (@pxref{Running the Test Suite}). If anything fails, take
a look at installation instructions (@pxref{Installation}) or send a
message to the @email{guix-devel@@gnu.org, mailing list}.
From there on, you can authenticate all the commits included in your
checkout by running:
@ -445,6 +445,14 @@ the project name chosen upstream, with underscores replaced with
hyphens. For instance, GNUnet is available as @code{gnunet}, and
SDL_net as @code{sdl-net}.
A noteworthy exception to this rule is when the project name is only a
single character, or if an older maintained project with the same name
already exists---regardless of whether it has already been packaged for
Guix. Use common sense to make such names unambiguous and meaningful.
For example, Guix's package for the shell called ``s'' upstream is
@code{s-shell} and @emph{not} @code{s}. Feel free to ask your fellow
hackers for inspiration.
We do not add @code{lib} prefixes for library packages, unless these are
already part of the official project name. But @pxref{Python
Modules} and @ref{Perl Modules} for special rules concerning modules for

View File

@ -31,14 +31,14 @@ Copyright @copyright{} 2015 Taylan Ulrich Bayırlı/Kammer@*
Copyright @copyright{} 2015, 2016, 2017, 2019, 2020, 2021 Leo Famulari@*
Copyright @copyright{} 2015, 2016, 2017, 2018, 2019, 2020 Ricardo Wurmus@*
Copyright @copyright{} 2016 Ben Woodcroft@*
Copyright @copyright{} 2016, 2017, 2018 Chris Marusich@*
Copyright @copyright{} 2016, 2017, 2018, 2021 Chris Marusich@*
Copyright @copyright{} 2016, 2017, 2018, 2019, 2020, 2021 Efraim Flashner@*
Copyright @copyright{} 2016 John Darrington@*
Copyright @copyright{} 2016, 2017 Nikita Gillmann@*
Copyright @copyright{} 2016, 2017, 2018, 2019, 2020 Jan Nieuwenhuizen@*
Copyright @copyright{} 2016, 2017, 2018, 2019, 2020 Julien Lepiller@*
Copyright @copyright{} 2016 Alex ter Weele@*
Copyright @copyright{} 2016, 2017, 2018, 2019 Christopher Baines@*
Copyright @copyright{} 2016, 2017, 2018, 2019, 2020, 2021 Christopher Baines@*
Copyright @copyright{} 2017, 2018, 2019 Clément Lassieur@*
Copyright @copyright{} 2017, 2018, 2020, 2021 Mathieu Othacehe@*
Copyright @copyright{} 2017 Federico Beffa@*
@ -49,7 +49,7 @@ Copyright @copyright{} 2017, 2021 Christopher Lemmer Webber@*
Copyright @copyright{} 2017, 2018, 2019, 2020 Marius Bakke@*
Copyright @copyright{} 2017, 2019, 2020 Hartmut Goebel@*
Copyright @copyright{} 2017, 2019, 2020, 2021 Maxim Cournoyer@*
Copyright @copyright{} 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice@*
Copyright @copyright{} 2017, 2018, 2019, 2020, 2021 Tobias Geerinckx-Rice@*
Copyright @copyright{} 2017 George Clemmer@*
Copyright @copyright{} 2017 Andy Wingo@*
Copyright @copyright{} 2017, 2018, 2019, 2020 Arun Isaac@*
@ -87,6 +87,7 @@ Copyright @copyright{} 2020 Daniel Brooks@*
Copyright @copyright{} 2020 John Soo@*
Copyright @copyright{} 2020 Jonathan Brielmaier@*
Copyright @copyright{} 2020 Edgar Vincent@*
Copyright @copyright{} 2021 Maxime Devos@*
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
@ -240,13 +241,13 @@ Channels
* Using a Custom Guix Channel:: Using a customized Guix.
* Replicating Guix:: Running the @emph{exact same} Guix.
* Channel Authentication:: How Guix verifies what it fetches.
* Channels with Substitutes:: Using channels with available substitutes.
* Creating a Channel:: How to write your custom channel.
* Package Modules in a Sub-directory:: Specifying the channel's package modules location.
* Declaring Channel Dependencies:: How to depend on other channels.
* Specifying Channel Authorizations:: Defining channel authors authorizations.
* Primary URL:: Distinguishing mirror to original.
* Writing Channel News:: Communicating information to channel's users.
* Channels with Substitutes:: Using channels with available substitutes.
Development
@ -342,7 +343,7 @@ Services
* DNS Services:: DNS daemons.
* VPN Services:: VPN daemons.
* Network File System:: NFS related services.
* Continuous Integration:: The Cuirass service.
* Continuous Integration:: Cuirass and Laminar services.
* Power Management Services:: Extending battery life.
* Audio Services:: The MPD.
* Virtualization Services:: Virtualization services.
@ -523,6 +524,17 @@ supported; in particular, there is no ongoing work to ensure that this
architecture still works. Should someone decide they wish to revive this
architecture then the code is still available.
@item powerpc64le-linux
little-endian 64-bit Power ISA processors, Linux-Libre kernel. This
includes POWER9 systems such as the
@uref{https://www.fsf.org/news/talos-ii-mainboard-and-talos-ii-lite-mainboard-now-fsf-certified-to-respect-your-freedom,
RYF Talos II mainboard}. This platform is available as a "technology
preview": although it is supported, substitutes are not yet available
from the build farm (@pxref{Substitutes}), and some packages may fail to
build (@pxref{Tracking Bugs and Patches}). That said, the Guix
community is actively working on improving this support, and now is a
great time to try it and get involved!
@end table
With Guix@tie{}System, you @emph{declare} all aspects of the operating system
@ -534,7 +546,7 @@ Manual}), the well-known GNU utilities and tool chain, as well as the
graphical environment or system services of your choice.
Guix System is available on all the above platforms except
@code{mips64el-linux}.
@code{mips64el-linux} and @code{powerpc64le-linux}.
@noindent
For information on porting to other architectures or kernels,
@ -641,7 +653,7 @@ If that command fails because you do not have the required public key,
then run this command to import it:
@example
$ wget @value{OPENPGP-SIGNING-KEY-URL} \
$ wget '@value{OPENPGP-SIGNING-KEY-URL}' \
-qO - | gpg --import -
@end example
@ -836,7 +848,8 @@ version 0.1.0 or later;
@item @uref{https://notabug.org/guile-lzlib/guile-lzlib, Guile-lzlib};
@item @uref{https://www.nongnu.org/guile-avahi/, Guile-Avahi};
@item
@c FIXME: Specify a version number once a release has been made.
@c FIXME: We need the #:fetch-options parameter of 'submodule-update',
@c which appeared in 0.5.0. Change below after string freeze.
@uref{https://gitlab.com/guile-git/guile-git, Guile-Git}, version 0.3.0
or later;
@item @uref{https://savannah.nongnu.org/projects/guile-json/, Guile-JSON}
@ -1043,10 +1056,10 @@ Bash syntax and the @code{shadow} commands):
@c for why `-G' is needed.
@example
# groupadd --system guixbuild
# for i in `seq -w 1 10`;
# for i in $(seq -w 1 10);
do
useradd -g guixbuild -G guixbuild \
-d /var/empty -s `which nologin` \
-d /var/empty -s $(which nologin) \
-c "Guix build user $i" --system \
guixbuilder$i;
done
@ -1417,7 +1430,7 @@ the Guix daemon.
@code{guix_daemon_socket_t} isnt actually used. None of the socket
operations involve contexts that have anything to do with
@code{guix_daemon_socket_t}. It doesnt hurt to have this unused label,
but it would be preferrable to define socket rules for only this label.
but it would be preferable to define socket rules for only this label.
@item
@code{guix gc} cannot access arbitrary links to profiles. By design,
@ -4213,7 +4226,7 @@ Return the derivation(s) leading to the given store items
For example, this command:
@example
guix gc --derivers `guix package -I ^emacs$ | cut -f4`
guix gc --derivers $(guix package -I ^emacs$ | cut -f4)
@end example
@noindent
@ -4694,7 +4707,7 @@ these procedures.
Inferior packages can be used transparently like any other package or
file-like object in G-expressions (@pxref{G-Expressions}). They are also
transparently handled by the @code{packages->manifest} procedure, which is
commonly use in manifests (@pxref{Invoking guix package, the
commonly used in manifests (@pxref{Invoking guix package, the
@option{--manifest} option of @command{guix package}}). Thus you can insert
an inferior package pretty much anywhere you would insert a regular package:
in manifests, in the @code{packages} field of your @code{operating-system}
@ -5009,13 +5022,13 @@ updates.
* Using a Custom Guix Channel:: Using a customized Guix.
* Replicating Guix:: Running the @emph{exact same} Guix.
* Channel Authentication:: How Guix verifies what it fetches.
* Channels with Substitutes:: Using channels with available substitutes.
* Creating a Channel:: How to write your custom channel.
* Package Modules in a Sub-directory:: Specifying the channel's package modules location.
* Declaring Channel Dependencies:: How to depend on other channels.
* Specifying Channel Authorizations:: Defining channel authors authorizations.
* Primary URL:: Distinguishing mirror to original.
* Writing Channel News:: Communicating information to channel's users.
* Channels with Substitutes:: Using channels with available substitutes.
@end menu
@node Specifying Additional Channels
@ -5171,6 +5184,31 @@ introduction from a trusted source since that is the root of your trust.
If you're curious about the authentication mechanics, read on!
@node Channels with Substitutes
@section Channels with Substitutes
When running @command{guix pull}, Guix will first compile the
definitions of every available package. This is an expensive operation
for which substitutes (@pxref{Substitutes}) may be available. The
following snippet in @file{channels.scm} will ensure that @command{guix
pull} uses the latest commit with available substitutes for the package
definitions: this is done by querying the continuous integration
server at @url{https://ci.guix.gnu.org}.
@lisp
(use-modules (guix ci))
(list (channel-with-substitutes-available
%default-guix-channel
"https://ci.guix.gnu.org"))
@end lisp
Note that this does not mean that all the packages that you will
install after running @command{guix pull} will have available
substitutes. It only ensures that @command{guix pull} will not try to
compile package definitions. This is particularly useful when using
machines with limited resources.
@node Creating a Channel
@section Creating a Channel
@ -5487,31 +5525,6 @@ xgettext -o news.po -l scheme -ken etc/news.txt
To sum up, yes, you could use your channel as a blog. But beware, this
is @emph{not quite} what your users might expect.
@node Channels with Substitutes
@section Channels with Substitutes
When running @command{guix pull}, Guix will first compile the
definitions of every available package. This is an expensive operation
for which substitutes (@pxref{Substitutes}) may be available. The
following snippet in @file{channels.scm} will ensure that @command{guix
pull} uses the latest commit with available substitutes for the package
definitions: this is done by querying the continuous integration
server at @url{https://ci.guix.gnu.org}.
@lisp
(use-modules (guix ci))
(list (channel-with-substitutes-available
%default-guix-channel
"https://ci.guix.gnu.org"))
@end lisp
Note that this does not mean that all the packages that you will
install after running @command{guix pull} will have available
substitutes. It only ensures that @command{guix pull} will not try to
compile package definitions. This is particularly useful when using
machines with limited resources.
@c *********************************************************************
@node Development
@chapter Development
@ -7288,55 +7301,7 @@ standards, GNU Coding Standards}).
In a nutshell, packages using it are configured, built, and installed with
the usual @code{./configure && make && make check && make install}
command sequence. In practice, a few additional steps are often needed.
All these steps are split up in separate @dfn{phases},
notably@footnote{Please see the @code{(guix build gnu-build-system)}
modules for more details about the build phases.}:
@table @code
@item unpack
Unpack the source tarball, and change the current directory to the
extracted source tree. If the source is actually a directory, copy it
to the build tree, and enter that directory.
@item patch-source-shebangs
Patch shebangs encountered in source files so they refer to the right
store file names. For instance, this changes @code{#!/bin/sh} to
@code{#!/gnu/store/@dots{}-bash-4.3/bin/sh}.
@item configure
Run the @file{configure} script with a number of default options, such
as @option{--prefix=/gnu/store/@dots{}}, as well as the options specified
by the @code{#:configure-flags} argument.
@item build
Run @code{make} with the list of flags specified with
@code{#:make-flags}. If the @code{#:parallel-build?} argument is true
(the default), build with @code{make -j}.
@item check
Run @code{make check}, or some other target specified with
@code{#:test-target}, unless @code{#:tests? #f} is passed. If the
@code{#:parallel-tests?} argument is true (the default), run @code{make
check -j}.
@item install
Run @code{make install} with the flags listed in @code{#:make-flags}.
@item patch-shebangs
Patch shebangs on the installed executable files.
@item strip
Strip debugging symbols from ELF files (unless @code{#:strip-binaries?}
is false), copying them to the @code{debug} output when available
(@pxref{Installing Debugging Files}).
@end table
@vindex %standard-phases
The build-side module @code{(guix build gnu-build-system)} defines
@code{%standard-phases} as the default list of build phases.
@code{%standard-phases} is a list of symbol/procedure pairs, where the
procedure implements the actual phase.
All these steps are split up in separate @dfn{phases}.
@xref{Build Phases}, for more info on build phases and ways to customize
them.
@ -7346,6 +7311,84 @@ Coreutils, Bash, Make, Diffutils, grep, and sed (see the @code{(guix
build-system gnu)} module for a complete list). We call these the
@dfn{implicit inputs} of a package, because package definitions do not
have to mention them.
This build system supports a number of keyword arguments, which can be
passed @i{via} the @code{arguments} field of a package. Here are some
of the main parameters:
@table @code
@item #:phases
This argument specifies build-side code that evaluates to an alist of
build phases. @xref{Build Phases}, for more information.
@item #:configure-flags
This is a list of flags (strings) passed to the @command{configure}
script. @xref{Defining Packages}, for an example.
@item #:make-flags
This list of strings contains flags passed as arguments to
@command{make} invocations in the @code{build}, @code{check}, and
@code{install} phases.
@item #:out-of-source?
This Boolean, @code{#f} by default, indicates whether to run builds in a
build directory separate from the source tree.
When it is true, the @code{configure} phase creates a separate build
directory, changes to that directory, and runs the @code{configure}
script from there. This is useful for packages that require it, such as
@code{glibc}.
@item #:tests?
This Boolean, @code{#t} by default, indicates whether the @code{check}
phase should run the package's test suite.
@item #:test-target
This string, @code{"check"} by default, gives the name of the makefile
target used by the @code{check} phase.
@item #:parallel-build?
@itemx #:parallel-tests?
These Boolean values specify whether to build, respectively run the test
suite, in parallel, with the @code{-j} flag of @command{make}. When
they are true, @code{make} is passed @code{-j@var{n}}, where @var{n} is
the number specified as the @option{--cores} option of
@command{guix-daemon} or that of the @command{guix} client command
(@pxref{Common Build Options, @option{--cores}}).
@cindex RUNPATH, validation
@item #:validate-runpath?
This Boolean, @code{#t} by default, determines whether to ``validate''
the @code{RUNPATH} of ELF binaries (@code{.so} shared libraries as well
as executables) previously installed by the @code{install} phase.
This validation step consists in making sure that all the shared
libraries needed by an ELF binaries, which are listed as
@code{DT_NEEDED} entries in its @code{PT_DYNAMIC} segment, appear in the
@code{DT_RUNPATH} entry of that binary. In other words, it ensures that
running or using those binaries will not result in a ``file not found''
error at run time. @xref{Options, @option{-rpath},, ld, The GNU
Linker}, for more information on @code{RUNPATH}.
@item #:substitutable?
This Boolean, @code{#t} by default, tells whether the package outputs
should be substitutable---i.e., whether users should be able to obtain
substitutes for them instead of building locally (@pxref{Substitutes}).
@item #:allowed-references
@itemx #:disallowed-references
When true, these arguments must be a list of dependencies that must not
appear among the references of the build results. If, upon build
completion, some of these references are retained, the build process
fails.
This is useful to ensure that a package does not erroneously keep a
reference to some of it build-time inputs, in cases where doing so
would, for example, unnecessarily increase its size (@pxref{Invoking
guix size}).
@end table
Most other build systems support these keyword arguments.
@end defvr
Other @code{<build-system>} objects are defined to support other
@ -7754,13 +7797,13 @@ The Julia package name is read from the file @file{Project.toml}. This
value can be overridden by passing the argument @code{#:julia-package-name}
(which must be correctly capitalized).
Julia packages usually manage they binary dependencies via
Julia packages usually manage their binary dependencies via
@code{JLLWrappers.jl}, a Julia package that creates a module (named
after the wrapped library followed by @code{_jll.jl}.
To add the binary path @code{_jll.jl} packages, you need to patch the
files under @file{src/wrappers/}, replacing the call to the macro
@code{JLLWrappers.@@generate_wrapper_header}, adding as a secound
@code{JLLWrappers.@@generate_wrapper_header}, adding as a second
argument containing the store path the binary.
As an example, in the MbedTLS Julia package, we add a build phase
@ -8246,16 +8289,53 @@ exception is the ``bare-bones'' @code{trivial-build-system}
(@pxref{Build Systems}).
As discussed in the previous section, those build systems provide a
standard list of phases. For @code{gnu-build-system}, the standard
phases include an @code{unpack} phase to unpack the source code tarball,
a @command{configure} phase to run @code{./configure}, a @code{build}
phase to run @command{make}, and (among others) an @code{install} phase
to run @command{make install}; @pxref{Build Systems}, for a more
detailed view of these phases. Likewise, @code{cmake-build-system}
inherits these phases, but its @code{configure} phase runs
@command{cmake} instead of @command{./configure}. Other build systems,
such as @code{python-build-system}, have a wholly different list of
standard phases. All this code runs on the @dfn{build side}: it is
standard list of phases. For @code{gnu-build-system}, the main build
phases are the following:
@table @code
@item unpack
Unpack the source tarball, and change the current directory to the
extracted source tree. If the source is actually a directory, copy it
to the build tree, and enter that directory.
@item patch-source-shebangs
Patch shebangs encountered in source files so they refer to the right
store file names. For instance, this changes @code{#!/bin/sh} to
@code{#!/gnu/store/@dots{}-bash-4.3/bin/sh}.
@item configure
Run the @file{configure} script with a number of default options, such
as @option{--prefix=/gnu/store/@dots{}}, as well as the options specified
by the @code{#:configure-flags} argument.
@item build
Run @code{make} with the list of flags specified with
@code{#:make-flags}. If the @code{#:parallel-build?} argument is true
(the default), build with @code{make -j}.
@item check
Run @code{make check}, or some other target specified with
@code{#:test-target}, unless @code{#:tests? #f} is passed. If the
@code{#:parallel-tests?} argument is true (the default), run @code{make
check -j}.
@item install
Run @code{make install} with the flags listed in @code{#:make-flags}.
@item patch-shebangs
Patch shebangs on the installed executable files.
@item strip
Strip debugging symbols from ELF files (unless @code{#:strip-binaries?}
is false), copying them to the @code{debug} output when available
(@pxref{Installing Debugging Files}).
@end table
Other build systems have similar phases, with some variations. For
example, @code{cmake-build-system} has same-named phases but its
@code{configure} phases runs @code{cmake} instead of @code{./configure}.
Others, such as @code{python-build-system}, have a wholly different list
of standard phases. All this code runs on the @dfn{build side}: it is
evaluated when you actually build the package, in a dedicated build
process spawned by the build daemon (@pxref{Invoking guix-daemon}).
@ -8266,6 +8346,7 @@ is a procedure that accepts an arbitrary number of arguments. By
convention, those procedures receive information about the build in the
form of @dfn{keyword parameters}, which they can use or ignore.
@vindex %standard-phases
For example, here is how @code{(guix build gnu-build-system)} defines
@code{%standard-phases}, the variable holding its alist of build
phases@footnote{We present a simplified view of those build phases, but
@ -10130,7 +10211,7 @@ Similarly, the following command builds all the available packages:
@example
guix build --quiet --keep-going \
`guix package -A | cut -f1,2 --output-delimiter=@@`
$(guix package -A | cut -f1,2 --output-delimiter=@@)
@end example
@var{package-or-derivation} may be either the name of a package found in
@ -10263,9 +10344,10 @@ guix-daemon, @option{--timeout}}).
@cindex build logs, verbosity
@item -v @var{level}
@itemx --verbosity=@var{level}
Use the given verbosity @var{level}, an integer. Choosing 0 means that no
output is produced, 1 is for quiet output, and 2 shows all the build log
output on standard error.
Use the given verbosity @var{level}, an integer. Choosing 0 means that
no output is produced, 1 is for quiet output; 2 is similar to 1 but it
additionally displays download URLs; 3 shows all the build log output on
standard error.
@item --cores=@var{n}
@itemx -c @var{n}
@ -10835,8 +10917,8 @@ This works regardless of how packages or derivations are specified. For
instance, the following invocations are equivalent:
@example
guix build --log-file `guix build -d guile`
guix build --log-file `guix build guile`
guix build --log-file $(guix build -d guile)
guix build --log-file $(guix build guile)
guix build --log-file guile
guix build --log-file -e '(@@ (gnu packages guile) guile-2.0)'
@end example
@ -11551,13 +11633,13 @@ Select the given repository (a repository name). Possible values include:
Import metadata for a Go module using
@uref{https://proxy.golang.org, proxy.golang.org}.
This importer is highly experimental. See the source code for more info
about the current state.
@example
guix import go gopkg.in/yaml.v2
@end example
It is possible to use a package specification with a @code{@@VERSION}
suffix to import a specific version.
Additional options include:
@table @code
@ -11566,6 +11648,14 @@ Additional options include:
Traverse the dependency graph of the given upstream package recursively
and generate package expressions for all those packages that are not yet
in Guix.
@item --pin-versions
When using this option, the importer preserves the exact versions of the
Go modules dependencies instead of using their latest available
versions. This can be useful when attempting to import packages that
recursively depend on former versions of themselves to build. When
using this mode, the symbol of the package is made by appending the
version to its name, so that multiple versions of the same package can
coexist.
@end table
@end table
@ -11577,10 +11667,13 @@ is welcome here (@pxref{Contributing}).
@section Invoking @command{guix refresh}
@cindex @command {guix refresh}
The primary audience of the @command{guix refresh} command is developers
of the GNU software distribution. By default, it reports any packages
provided by the distribution that are outdated compared to the latest
upstream version, like this:
The primary audience of the @command{guix refresh} command is packagers.
As a user, you may be interested in the @option{--with-latest} option,
which can bring you package update superpowers built upon @command{guix
refresh} (@pxref{Package Transformation Options,
@option{--with-latest}}). By default, @command{guix refresh} reports
any packages provided by the distribution that are outdated compared to
the latest upstream version, like this:
@example
$ guix refresh
@ -11708,6 +11801,8 @@ list of updaters). Currently, @var{updater} may be one of:
the updater for GNU packages;
@item savannah
the updater for packages hosted at @uref{https://savannah.gnu.org, Savannah};
@item sourceforge
the updater for packages hosted at @uref{https://sourceforge.net, SourceForge};
@item gnome
the updater for GNOME packages;
@item kde
@ -11752,6 +11847,12 @@ gnu/packages/statistics.scm:819:13: r-testthat would be upgraded from 0.10.0 to
gnu/packages/emacs.scm:856:13: emacs-auctex would be upgraded from 11.88.6 to 11.88.9
@end example
@item --list-updaters
@itemx -L
List available updaters and exit (see @option{--type} above).
For each updater, display the fraction of packages it covers; at the
end, display the fraction of packages covered by all these updaters.
@end table
In addition, @command{guix refresh} can be passed one or more package
@ -11764,7 +11865,13 @@ $ ./pre-inst-env guix refresh -u emacs idutils gcc@@4.8
@noindent
The command above specifically updates the @code{emacs} and
@code{idutils} packages. The @option{--select} option would have no
effect in this case.
effect in this case. You might also want to update definitions that
correspond to the packages installed in your profile:
@example
$ ./pre-inst-env guix refresh -u \
$(guix package --list-installed | cut -f1)
@end example
When considering whether to upgrade a package, it is sometimes
convenient to know which packages would be affected by the upgrade and
@ -11773,13 +11880,6 @@ be used when passing @command{guix refresh} one or more package names:
@table @code
@item --list-updaters
@itemx -L
List available updaters and exit (see @option{--type} above).
For each updater, display the fraction of packages it covers; at the
end, display the fraction of packages covered by all these updaters.
@item --list-dependent
@itemx -l
List top-level dependent packages that would need to be rebuilt as a
@ -12336,7 +12436,7 @@ For this type of graph, it is also possible to pass a @file{.drv} file
name instead of a package name, as in:
@example
guix graph -t derivation `guix system build -d my-config.scm`
guix graph -t derivation $(guix system build -d my-config.scm)
@end example
@item module
@ -12365,7 +12465,7 @@ example, the command below produces the reference graph of your profile
(which can be big!):
@example
guix graph -t references `readlink -f ~/.guix-profile`
guix graph -t references $(readlink -f ~/.guix-profile)
@end example
@item referrers
@ -12937,7 +13037,7 @@ their dependencies over to @var{host}, logged in as @var{user}:
@example
guix copy --to=@var{user}@@@var{host} \
coreutils `readlink -f ~/.guix-profile`
coreutils $(readlink -f ~/.guix-profile)
@end example
If some of the items to be copied are already present on @var{host},
@ -13498,6 +13598,14 @@ following expression returns a list that contains all the services in
%desktop-services)
@end lisp
Alternatively, the @code{modify-services} macro can be used:
@lisp
(modify-services %desktop-services
(delete avahi-service-type))
@end lisp
@unnumberedsubsec Instantiating the System
Assuming the @code{operating-system} declaration
@ -14808,7 +14916,7 @@ declaration.
* DNS Services:: DNS daemons.
* VPN Services:: VPN daemons.
* Network File System:: NFS related services.
* Continuous Integration:: The Cuirass service.
* Continuous Integration:: Cuirass and Laminar services.
* Power Management Services:: Extending battery life.
* Audio Services:: The MPD.
* Virtualization Services:: Virtualization services.
@ -15180,6 +15288,12 @@ in automatically without prompting for their login name or password.
@item @code{hardware-acceleration?} (default: #f)
Whether to use hardware acceleration.
@item @code{font-engine} (default: @code{"pango"})
Font engine used in Kmscon.
@item @code{font-size} (default: @code{12})
Font size used in Kmscon.
@item @code{kmscon} (default: @var{kmscon})
The Kmscon package to use.
@ -15630,7 +15744,7 @@ This allows neighboring Guix devices with discovery on (see
@code{guix-configuration} above) to discover this @command{guix publish}
instance and to automatically download substitutes from it.
@item @code{compression} (default: @code{'(("gzip" 3))})
@item @code{compression} (default: @code{'(("gzip" 3) ("zstd" 3))})
This is a list of compression method/level tuple used when compressing
substitutes. For example, to compress all substitutes with @emph{both} lzip
at level 7 and gzip at level 9, write:
@ -16399,7 +16513,7 @@ netfilter project that aims to replace the existing iptables, ip6tables,
arptables and ebtables framework. It provides a new packet filtering
framework, a new user-space utility @command{nft}, and a compatibility layer
for iptables. This service comes with a default ruleset
@code{%default-nftables-ruleset} that rejecting all incomming connections
@code{%default-nftables-ruleset} that rejecting all incoming connections
except those to the ssh port 22. To use it, simply write:
@lisp
@ -16802,7 +16916,7 @@ Data type representing the configuration for @code{syncthing-service-type}.
List of command-line arguments passing to @code{syncthing} binary.
@item @code{logflags} (default: @var{0})
Sum of loging flags, see
Sum of logging flags, see
@uref{https://docs.syncthing.net/users/syncthing.html#cmdoption-logflags, Syncthing documentation logflags}.
@item @code{user} (default: @var{#f})
@ -17472,6 +17586,37 @@ address, delete everything except these options:
@end table
@end deftp
@cindex IPFS
@defvr {Scheme Variable} ipfs-service-type
The service type for connecting to the @uref{https://ipfs.io,IPFS network},
a global, versioned, peer-to-peer file system. Pass it a
@code{ipfs-configuration} to change the ports used for the gateway and API.
Here's an example configuration, using some non-standard ports:
@lisp
(service ipfs-service-type
(ipfs-configuration
(gateway "/ip4/127.0.0.1/tcp/8880")
(api "/ip4/127.0.0.1/tcp/8881")))
@end lisp
@end defvr
@deftp {Data Type} ipfs-configuration
Data type representing the configuration of IPFS.
@table @asis
@item @code{package} (default: @code{go-ipfs})
Package object of IPFS.
@item @code{gateway} (default: @code{"/ip4/127.0.0.1/tcp/8082"})
Address of the gateway, in multiaddress format.
@item @code{api} (default: @code{"/ip4/127.0.0.1/tcp/5001"})
Address of the API endpoint, in multiaddress format.
@end table
@end deftp
@cindex keepalived
@deffn {Scheme Variable} keepalived-service-type
This is the type for the @uref{https://www.keepalived.org/, Keepalived}
@ -17761,9 +17906,8 @@ and tty8.
(service slim-service-type (slim-configuration
(display ":1")
(vt "vt8")))
(remove (lambda (service)
(eq? (service-kind service) gdm-service-type))
%desktop-services))))
(modify-services %desktop-services
(delete gdm-service-type)))))
@end lisp
@end defvr
@ -19697,12 +19841,15 @@ configuration.
@item @code{ident-file} (default: @code{%default-postgres-ident})
Filename or G-expression for the user name mapping configuration.
@item @code{socket-directory} (default: @code{"/var/run/postgresql"})
@item @code{socket-directory} (default: @code{#false})
Specifies the directory of the Unix-domain socket(s) on which PostgreSQL
is to listen for connections from client applications. If set to
@code{#false} PostgreSQL does not listen on any Unix-domain sockets, in
is to listen for connections from client applications. If set to
@code{""} PostgreSQL does not listen on any Unix-domain sockets, in
which case only TCP/IP sockets can be used to connect to the server.
By default, the @code{#false} value means the PostgreSQL default value
will be used, which is currently @samp{/tmp}.
@item @code{extra-config} (default: @code{'()})
List of additional keys and values to include in the PostgreSQL config
file. Each entry in the list should be a list where the first element
@ -25887,7 +26034,7 @@ this amount of time. After this period, resolvers will invalidate their cache
and check again that it still exists.
@item @code{nx} (default: @code{3600})
Default TTL of inexistant records. This delay is usually short because you want
Default TTL of inexistent records. This delay is usually short because you want
your new domains to reach everyone quickly.
@end table
@ -27311,6 +27458,64 @@ the store items being published.
@end table
@end deftp
@subsubheading Laminar
@uref{https://laminar.ohwg.net/, Laminar} is a lightweight and modular
Continuous Integration service. It doesn't have a configuration web UI
instead uses version-controllable configuration files and scripts.
Laminar encourages the use of existing tools such as bash and cron
instead of reinventing them.
@defvr {Scheme Procedure} laminar-service-type
The type of the Laminar service. Its value must be a
@code{laminar-configuration} object, as described below.
All configuration values have defaults, a minimal configuration to get
Laminar running is shown below. By default, the web interface is
available on port 8080.
@lisp
(service laminar-service-type)
@end lisp
@end defvr
@deftp {Data Type} laminar-configuration
Data type representing the configuration of Laminar.
@table @asis
@item @code{laminar} (default: @code{laminar})
The Laminar package to use.
@item @code{home-directory} (default: @code{"/var/lib/laminar"})
The directory for job configurations and run directories.
@item @code{bind-http} (default: @code{"*:8080"})
The interface/port or unix socket on which laminard should listen for
incoming connections to the web frontend.
@item @code{bind-rpc} (default: @code{"unix-abstract:laminar"})
The interface/port or unix socket on which laminard should listen for
incoming commands such as build triggers.
@item @code{title} (default: @code{"Laminar"})
The page title to show in the web frontend.
@item @code{keep-rundirs} (default: @code{0})
Set to an integer defining how many rundirs to keep per job. The
lowest-numbered ones will be deleted. The default is 0, meaning all run
dirs will be immediately deleted.
@item @code{archive-url} (default: @code{#f})
The web frontend served by laminard will use this URL to form links to
artefacts archived jobs.
@item @code{base-url} (default: @code{#f})
Base URL to use for links to laminar itself.
@end table
@end deftp
@node Power Management Services
@subsection Power Management Services
@ -28719,7 +28924,7 @@ service:
@lisp
(service qemu-binfmt-service-type
(qemu-binfmt-configuration
(platforms (lookup-qemu-platforms "arm"))
(platforms (lookup-qemu-platforms "arm"))))
@end lisp
You can run:
@ -31030,7 +31235,7 @@ coordinator.
@deftp {Data Type} guix-build-coordinator-agent-dynamic-auth
Data type representing an agent authenticating with a coordinator via a
dyanmic auth token and agent name.
dynamic auth token and agent name.
@table @asis
@item @code{agent-name}
@ -31047,7 +31252,7 @@ database, and is used by the agent to authenticate.
@deftp {Data Type} guix-build-coordinator-agent-dynamic-auth-with-file
Data type representing an agent authenticating with a coordinator via a
dyanmic auth token read from a file and agent name.
dynamic auth token read from a file and agent name.
@table @asis
@item @code{agent-name}
@ -32899,8 +33104,8 @@ system configuration file. You can then load the image and launch a
Docker container using commands like the following:
@example
image_id="`docker load < guix-system-docker-image.tar.gz`"
container_id="`docker create $image_id`"
image_id="$(docker load < guix-system-docker-image.tar.gz)"
container_id="$(docker create $image_id)"
docker start $container_id
@end example
@ -33424,7 +33629,7 @@ The default @command{run-vm.sh} script that is returned by an invocation of
@command{guix system vm} does not add a @command{-nic user} flag by default.
To get network access from within the vm add the @code{(dhcp-client-service)}
to your system definition and start the VM using
@command{`guix system vm config.scm` -nic user}. An important caveat of using
@command{$(guix system vm config.scm) -nic user}. An important caveat of using
@command{-nic user} for networking is that @command{ping} will not work, because
it uses the ICMP protocol. You'll have to use a different command to check for
network connectivity, for example @command{guix download}.
@ -33439,13 +33644,13 @@ To enable SSH inside a VM you need to add an SSH server like
22 by default, to the host. You can do this with
@example
`guix system vm config.scm` -nic user,model=virtio-net-pci,hostfwd=tcp::10022-:22
$(guix system vm config.scm) -nic user,model=virtio-net-pci,hostfwd=tcp::10022-:22
@end example
To connect to the VM you can run
@example
ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 10022
ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 10022 localhost
@end example
The @command{-p} tells @command{ssh} the port you want to connect to.
@ -34201,7 +34406,7 @@ This service represents PID@tie{}1.
@cindex man pages
@cindex manual pages
In most cases packages installed with Guix come with documentation.
There are two main documentation formats: ``Info'', a browseable
There are two main documentation formats: ``Info'', a browsable
hypertext format used for GNU software, and ``manual pages'' (or ``man
pages''), the linear documentation format traditionally found on Unix.
Info manuals are accessed with the @command{info} command or with Emacs,
@ -34507,7 +34712,7 @@ To verify which Bash your whole profile refers to, you can run
(@pxref{Invoking guix gc}):
@example
guix gc -R `readlink -f ~/.guix-profile` | grep bash
guix gc -R $(readlink -f ~/.guix-profile) | grep bash
@end example
@noindent
@ -34515,7 +34720,7 @@ guix gc -R `readlink -f ~/.guix-profile` | grep bash
Likewise for a complete Guix system generation:
@example
guix gc -R `guix system build my-config.scm` | grep bash
guix gc -R $(guix system build my-config.scm) | grep bash
@end example
Lastly, to check which Bash running processes are using, you can use the
@ -34625,7 +34830,7 @@ traditional bootstrap of the rest of the Guix System.
The only significant binary bootstrap seeds that remain@footnote{
Ignoring the 68KB @code{mescc-tools}; that will be removed later,
together with @code{mes}.} are a Scheme intepreter and a Scheme
together with @code{mes}.} are a Scheme interpreter and a Scheme
compiler: GNU Mes and GNU Guile@footnote{Not shown in this graph are the
static binaries for @file{bash}, @code{tar}, and @code{xz} that are used
to get Guile running.}.

View File

@ -3,7 +3,7 @@
!#
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2020 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2020, 2021 Ricardo Wurmus <rekado@elephly.net>
;;;
;;; This file is part of GNU Guix.
;;;
@ -28,7 +28,10 @@
(import (sxml xpath)
(srfi srfi-1)
(srfi srfi-2)
(srfi srfi-9)
(srfi srfi-11)
(srfi srfi-26)
(ice-9 format)
(ice-9 popen)
(ice-9 match)
@ -63,7 +66,8 @@ LINE-NO in PORT."
(make-hunk file-name
old-line-number
new-line-number
diff)
diff-lines
definition?)
hunk?
(file-name hunk-file-name)
;; Line number before the change
@ -71,38 +75,45 @@ LINE-NO in PORT."
;; Line number after the change
(new-line-number hunk-new-line-number)
;; The full diff to be used with "git apply --cached"
(diff hunk-diff))
(diff-lines hunk-diff-lines)
;; Does this hunk add a definition?
(definition? hunk-definition?))
(define* (hunk->patch hunk #:optional (port (current-output-port)))
(let ((file-name (hunk-file-name hunk)))
(format port
"diff --git a/~a b/~a~%--- a/~a~%+++ b/~a~%~a"
file-name file-name file-name file-name
(hunk-diff hunk))))
(string-join (hunk-diff-lines hunk) ""))))
(define (diff-info)
"Read the diff and return a list of <hunk> values."
(let ((port (open-pipe* OPEN_READ
"git" "diff"
"git" "diff-files"
"--no-prefix"
;; Do not include any context lines. This makes it
;; easier to find the S-expression surrounding the
;; change.
"--unified=0")))
;; Only include one context line to avoid lumping in
;; new definitions with changes to existing
;; definitions.
"--unified=1"
"gnu")))
(define (extract-line-number line-tag)
(abs (string->number
(car (string-split line-tag #\,)))))
(define (read-hunk)
(reverse
(let loop ((lines '()))
(let ((line (read-line port 'concat)))
(cond
((eof-object? line) lines)
((or (string-prefix? "@@ " line)
(string-prefix? "diff --git" line))
(unget-string port line)
lines)
(else (loop (cons line lines))))))))
(let loop ((lines '())
(definition? #false))
(let ((line (read-line port 'concat)))
(cond
((eof-object? line)
(values (reverse lines) definition?))
((or (string-prefix? "@@ " line)
(string-prefix? "diff --git" line))
(unget-string port line)
(values (reverse lines) definition?))
(else
(loop (cons line lines)
(or definition?
(string-prefix? "+(define" line))))))))
(define info
(let loop ((acc '())
(file-name #f))
@ -116,29 +127,42 @@ LINE-NO in PORT."
((string-prefix? "@@ " line)
(match (string-split line #\space)
((_ old-start new-start . _)
(loop (cons (make-hunk file-name
(extract-line-number old-start)
(extract-line-number new-start)
(string-join (cons* line "\n"
(read-hunk)) ""))
acc)
file-name))))
(let-values
(((diff-lines definition?) (read-hunk)))
(loop (cons (make-hunk file-name
(extract-line-number old-start)
(extract-line-number new-start)
(cons (string-append line "\n")
diff-lines)
definition?) acc)
file-name)))))
(else (loop acc file-name))))))
(close-pipe port)
info))
(define (lines-to-first-change hunk)
"Return the number of diff lines until the first change."
(1- (count (lambda (line)
((negate char-set-contains?)
(char-set #\+ #\-)
(string-ref line 0)))
(hunk-diff-lines hunk))))
(define (old-sexp hunk)
"Using the diff information in HUNK return the unmodified S-expression
corresponding to the top-level definition containing the staged changes."
;; TODO: We can't seek with a pipe port...
(let* ((port (open-pipe* OPEN_READ
"git" "show" (string-append "HEAD:"
(hunk-file-name hunk))))
"git" "cat-file" "-p" (string-append
"HEAD:"
(hunk-file-name hunk))))
(contents (get-string-all port)))
(close-pipe port)
(call-with-input-string contents
(lambda (port)
(surrounding-sexp port (hunk-old-line-number hunk))))))
(surrounding-sexp port
(+ (lines-to-first-change hunk)
(hunk-old-line-number hunk)))))))
(define (new-sexp hunk)
"Using the diff information in HUNK return the modified S-expression
@ -146,9 +170,10 @@ corresponding to the top-level definition containing the staged changes."
(call-with-input-file (hunk-file-name hunk)
(lambda (port)
(surrounding-sexp port
(hunk-new-line-number hunk)))))
(+ (lines-to-first-change hunk)
(hunk-new-line-number hunk))))))
(define* (commit-message file-name old new #:optional (port (current-output-port)))
(define* (change-commit-message file-name old new #:optional (port (current-output-port)))
"Print ChangeLog commit message for changes between OLD and NEW."
(define (get-values expr field)
(match ((sxpath `(// ,field quasiquote *)) expr)
@ -193,6 +218,12 @@ corresponding to the top-level definition containing the staged changes."
(listify added)))))))))
'(inputs propagated-inputs native-inputs)))
(define* (add-commit-message file-name variable-name #:optional (port (current-output-port)))
"Print ChangeLog commit message for a change to FILE-NAME adding a definition."
(format port
"gnu: Add ~a.~%~%* ~a (~a): New variable.~%"
variable-name file-name variable-name))
(define (group-hunks-by-sexp hunks)
"Return a list of pairs associating all hunks with the S-expression they are
modifying."
@ -218,14 +249,45 @@ modifying."
(cons* new (old-sexp (first hunks)) hunks)))
(group-hunks-by-sexp hunks)))
(define %delay 1000)
(define (main . args)
(match (diff-info)
(()
(display "Nothing to be done." (current-error-port)))
(display "Nothing to be done.\n" (current-error-port)))
(hunks
(for-each (match-lambda
((new old . hunks)
(for-each (lambda (hunk)
(let-values
(((definitions changes)
(partition hunk-definition? hunks)))
;; Additions.
(for-each (lambda (hunk)
(and-let*
((define-line (find (cut string-prefix? "+(define" <>)
(hunk-diff-lines hunk)))
(variable-name (and=> (string-tokenize define-line) second)))
(add-commit-message (hunk-file-name hunk) variable-name)
(let ((port (open-pipe* OPEN_WRITE
"git" "apply"
"--cached"
"--unidiff-zero")))
(hunk->patch hunk port)
(unless (eqv? 0 (status:exit-val (close-pipe port)))
(error "Cannot apply")))
(let ((port (open-pipe* OPEN_WRITE "git" "commit" "-F" "-")))
(add-commit-message (hunk-file-name hunk)
variable-name port)
(usleep %delay)
(unless (eqv? 0 (status:exit-val (close-pipe port)))
(error "Cannot commit"))))
(usleep %delay))
definitions)
;; Changes.
(for-each (match-lambda
((new old . hunks)
(for-each (lambda (hunk)
(let ((port (open-pipe* OPEN_WRITE
"git" "apply"
"--cached"
@ -233,18 +295,20 @@ modifying."
(hunk->patch hunk port)
(unless (eqv? 0 (status:exit-val (close-pipe port)))
(error "Cannot apply")))
(sleep 1))
(usleep %delay))
hunks)
(commit-message (hunk-file-name (first hunks))
old new
(current-output-port))
(change-commit-message (hunk-file-name (first hunks))
old new
(current-output-port))
(let ((port (open-pipe* OPEN_WRITE "git" "commit" "-F" "-")))
(commit-message (hunk-file-name (first hunks))
old new
port)
(sleep 1)
(change-commit-message (hunk-file-name (first hunks))
old new
port)
(usleep %delay)
(unless (eqv? 0 (status:exit-val (close-pipe port)))
(error "Cannot commit")))))
(new+old+hunks hunks)))))
;; XXX: we recompute the hunks here because previous
;; insertions lead to offsets.
(new+old+hunks (diff-info)))))))
(main)

View File

@ -330,15 +330,20 @@ sys_create_build_user()
_msg "${PAS}group <guixbuild> created"
fi
if [ $(getent group kvm) ]; then
_msg "${INF}group kvm exists and build users will be added to it"
local KVMGROUP=,kvm
fi
for i in $(seq -w 1 10); do
if id "guixbuilder${i}" &>/dev/null; then
_msg "${INF}user is already in the system, reset"
usermod -g guixbuild -G guixbuild \
usermod -g guixbuild -G guixbuild${KVMGROUP} \
-d /var/empty -s "$(which nologin)" \
-c "Guix build user $i" \
"guixbuilder${i}";
else
useradd -g guixbuild -G guixbuild \
useradd -g guixbuild -G guixbuild${KVMGROUP} \
-d /var/empty -s "$(which nologin)" \
-c "Guix build user $i" --system \
"guixbuilder${i}";

View File

@ -12,6 +12,8 @@
;; Copyright © 2020, 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;; Copyright © 2021 Leo Famulari <leo@famulari.name>
;; Copyright © 2021 Zhu Zihao <all_but_last@163.com>
;; Copyright © 2021 Chris Marusich <cmmarusich@gmail.com>
;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
;;
;; Copying and distribution of this file, with or without modification, are
;; permitted in any medium without royalty provided the copyright notice and
@ -20,6 +22,98 @@
(channel-news
(version 0)
(entry (commit "2161820ebbbab62a5ce76c9101ebaec54dc61586")
(title
(en "Risk of local privilege escalation during user account creation")
(de "Risiko lokaler Rechteausweitung während der Erstellung von Benutzerkonten"))
(body
(en "A security vulnerability that can lead to local privilege
escalation has been found in the code that creates user accounts on Guix
System---Guix on other distros is unaffected. The system is only vulnerable
during the activation of user accounts that do not already exist.
This bug is fixed and Guix System users are advised to upgrade their system,
with a command along the lines of:
@example
guix system reconfigure /run/current-system/configuration.scm
@end example
The attack can happen when @command{guix system reconfigure} is running.
Running @command{guix system reconfigure} can trigger the creation of new user
accounts if the configuration specifies new accounts. If a user whose account
is being created manages to log in after the account has been created but
before ``skeleton files'' copied to its home directory have the right
ownership, they may, by creating an appropriately-named symbolic link in the
home directory pointing to a sensitive file, such as @file{/etc/shadow}, get
root privileges.
See @uref{https://issues.guix.gnu.org/47584} for more information on this
bug.")
(de "Eine Sicherheitslücke, die eine lokale Rechteausweitung zur
Folge haben kann, wurde in dem Code gefunden, mit dem Benutzerkonten auf Guix
System angelegt werden  Guix auf anderen Distributionen ist nicht betroffen.
Das System kann nur während der Aktivierung noch nicht existierender
Benutzerkonten angegriffen werden.
Der Fehler wurde behoben und wir empfehlen Nutzern von Guix System, ihre
Systeme zu aktualisieren, mit einem Befehl wie:
@example
guix system reconfigure /run/current-system/configuration.scm
@end example
Der Angriff kann erfolgen, während @command{guix system reconfigure} läuft.
Wenn @command{guix system reconfigure} ausgeführt wird, kann das die Erzeugung
neuer Benutzerkonten auslösen, wenn in der Konfiguration neue Konten angegeben
wurden. Wenn ein Benutzer, dessen Konto gerade angelegt wird, es
fertigbringt, sich anzumelden, bevor Skeleton-Dateien in seinem Persönlichen
Verzeichnis den richtigen Besitzer haben, kann er durch Anlegen einer gezielt
benannten symbolischen Verknüpfung in seinem Persönlichen Verzeichnis auf eine
sensible Datei wie @file{/etc/shadow} Administratorrechte erlangen.
Siehe @uref{https://issues.guix.gnu.org/47584} für mehr Informationen zu
diesem Fehler.")))
(entry (commit "e52ec6c64a17a99ae4bb6ff02309067499915b06")
(title
(en "New supported platform: powerpc64le-linux")
(de "Neue Plattform wird unterstützt: powerpc64le-linux")
(fr "Nouvelle plate-forme prise en charge : powerpc64le-linux"))
(body
(en "A new platform, powerpc64le-linux, has been added for
little-endian 64-bit Power ISA processors using the Linux-Libre kernel. This
includes POWER9 systems such as the
@uref{https://www.fsf.org/news/talos-ii-mainboard-and-talos-ii-lite-mainboard-now-fsf-certified-to-respect-your-freedom,
RYF Talos II mainboard}. This platform is available as a \"technology
preview\": although it is supported, substitutes are not yet available from
the build farm, and some packages may fail to build. In addition, Guix System
is not yet available on this platform. That said, the Guix community is
actively working on improving this support, and now is a great time to try it
and get involved!")
(de "Eine neue Plattform, powerpc64le-linux, wurde hinzugefügt. Mit
ihr können Prozessoren mit 64-Bit-Power-Befehlssatz, little-endian, mit dem
Linux-Libre-Kernel betrieben werden. Dazu gehören POWER9-Systeme wie die
@uref{https://www.fsf.org/news/talos-ii-mainboard-and-talos-ii-lite-mainboard-now-fsf-certified-to-respect-your-freedom,
RYF-zertifizierte Talos-II-Hauptplatine}. Bei der Plattform handelt es sich
um eine Technologievorschau; obwohl sie unterstützt wird, gibt es noch keine
Substitute von der Erstellungsfarm und bei manchen Paketen könnte die
Erstellung fehlschlagen. Des Weiteren ist Guix System auf dieser Plattform
noch nicht verfügbar. Dennoch arbeitet die Guix-Gemeinde aktiv daran, diese
Unterstützung auszubauen, und jetzt ist eine gute Gelegenheit, sie
auszuprobieren und mitzumachen!")
(fr "Une nouvelle plate-forme, powerpc64le-linux, a été ajoutée pour
les processeurs POWER 64-bits utilisant le noyau Linux-libre. Ça inclut les
systèmes POWER9 tels que les
@uref{https://www.fsf.org/news/talos-ii-mainboard-and-talos-ii-lite-mainboard-now-fsf-certified-to-respect-your-freedom,
cartes Talos II RYF}. Il s'agit pour le moment d'un « avant-goût » de la
technologie : bien que la plate-forme soit prise en charge, la ferme de
compilation ne fournit pas encore de substituts et certains paquets risquent
de ne pas compiler. En outre, Guix System n'est pas encore disponible sur
cette plate-forme. Ceci dit, la communauté Guix travaille activement pour
améliorer cette prise en charge et c'est maintenant un bon moment pour
l'essayer et pour s'impliquer !")))
(entry (commit "9ade2b720af91acecf76278b4d9b99ace406781e")
(title
(en "Update on previous @command{guix-daemon} local privilege escalation")

View File

@ -666,7 +666,7 @@ relatively form MOUNT-POINT/TARGET/SUBDIR/grub.cfg to
MOUNT-POINT/boot/grub/grub.cfg, and the second symlink points relatively from
MOUNT-POINT/TARGET/%store-prefix to MOUNT-POINT/%store-prefix.
It is important to note that these symlinks need to be relativ, as the absolute
It is important to note that these symlinks need to be relative, as the absolute
paths on the TFTP server side are unknown.
It is also important to note that both symlinks will point outside the TFTP root

View File

@ -107,7 +107,8 @@ Warning: this is currently suspect to a TOCTTOU race!"
(directory %skeleton-directory)
uid gid)
"Copy the account skeletons from DIRECTORY to HOME. When UID is an integer,
make it the owner of all the files created; likewise for GID."
make it the owner of all the files created except the home directory; likewise
for GID."
(define (set-owner file)
(when (or uid gid)
(chown file (or uid -1) (or gid -1))))
@ -115,7 +116,6 @@ make it the owner of all the files created; likewise for GID."
(let ((files (scandir directory (negate dot-or-dot-dot?)
string<?)))
(mkdir-p home)
(set-owner home)
(for-each (lambda (file)
(let ((target (string-append home "/" file)))
(copy-recursively (string-append directory "/" file)
@ -215,10 +215,15 @@ they already exist."
(uid (passwd:uid pw))
(gid (passwd:gid pw)))
(mkdir-p home)
(chown home uid gid)
(chmod home #o700)
(copy-account-skeletons home
#:uid uid #:gid gid))))))
#:uid uid #:gid gid)
;; It is important 'chown' be called after
;; 'copy-account-skeletons'. Otherwise, a malicious user with
;; good timing could create a symlink in HOME that would be
;; dereferenced by 'copy-account-skeletons'.
(chown home uid gid))))))
(for-each ensure-user-home users))

View File

@ -79,12 +79,9 @@
(define* (derivation->job name drv
#:key
period
(max-silent-time 3600)
(timeout 3600))
"Return a Cuirass job called NAME and describing DRV. PERIOD is the minimal
duration that must separate two evaluations of the same job. If PERIOD is
false, then the job will be evaluated as soon as possible.
"Return a Cuirass job called NAME and describing DRV.
MAX-SILENT-TIME and TIMEOUT are build options passed to the daemon when
building the derivation."
@ -98,7 +95,6 @@ building the derivation."
(derivation->output-paths drv)))
(#:nix-name . ,(derivation-name drv))
(#:system . ,(derivation-system drv))
(#:period . ,period)
(#:max-silent-time . ,max-silent-time)
(#:timeout . ,timeout)))
@ -237,14 +233,11 @@ SYSTEM."
(* 3600 hours))
(define (image-jobs store 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."
"Return a list of jobs that build images for SYSTEM."
(define (->job name drv)
(let ((name (string-append name "." system)))
(parameterize ((%graft? #f))
(derivation->job name drv
#:period (hours 48)))))
(derivation->job name drv))))
(define (build-image image)
(run-with-store store
@ -324,29 +317,25 @@ passing the PERIOD argument."
#:key source commit)
"Return a list of jobs for the system tests."
(define (->job test)
(parameterize ((current-guix-package
(channel-source->package source #:commit commit)))
(let ((name (string-append "test." (system-test-name test)
"." system))
(drv (run-with-store store
(mbegin %store-monad
(set-current-system system)
(set-grafting #f)
(set-guile-for-build (default-guile))
(system-test-value test)))))
(let ((name (string-append "test." (system-test-name test)
"." system))
(drv (run-with-store store
(mbegin %store-monad
(set-current-system system)
(set-grafting #f)
(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->job name drv
#:period (hours 24)))))
(derivation->job name drv)))
(if (member system %guix-system-supported-systems)
;; Override the value of 'current-guix' used by system tests. Using a
;; channel instance makes tests that rely on 'current-guix' less
;; expensive. It also makes sure we get a valid Guix package when this
;; code is not running from a checkout.
(map ->job (all-system-tests))
(parameterize ((current-guix-package
(channel-source->package source #:commit commit)))
(map ->job (all-system-tests)))
'()))
(define (tarball-jobs store system)
@ -354,8 +343,7 @@ passing the PERIOD argument."
(define (->job name drv)
(let ((name (string-append name "." system)))
(parameterize ((%graft? #f))
(derivation->job name drv
#:period (hours 24)))))
(derivation->job name drv))))
;; XXX: Add a job for the stable Guix?
(list
@ -495,11 +483,6 @@ valid."
(package->job store package system))))
(append
(filter-map job all)
(image-jobs store system)
(system-test-jobs store system
#:source source
#:commit commit)
(tarball-jobs store system)
(cross-jobs store system))))
('core
;; Build core packages only.
@ -519,6 +502,17 @@ valid."
(let ((hello (specification->package "hello")))
(list (package-job store (job-name hello)
hello system))))
('images
;; Build Guix System images only.
(image-jobs store system))
('system-tests
;; Build Guix System tests only.
(system-test-jobs store system
#:source source
#:commit commit))
('tarball
;; Build Guix tarball only.
(tarball-jobs store system))
(('channels . channels)
;; Build only the packages from CHANNELS.
(let ((all (all-packages)))

View File

@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2018, 2019 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2020 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2020, 2021 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -20,6 +20,7 @@
(define-module (gnu installer steps)
#:use-module (guix records)
#:use-module (guix build utils)
#:use-module (guix i18n)
#:use-module (gnu installer utils)
#:use-module (ice-9 match)
#:use-module (ice-9 pretty-print)
@ -245,8 +246,13 @@ found in RESULTS."
(mkdir-p (dirname filename))
(call-with-output-file filename
(lambda (port)
(format port ";; This is an operating system configuration generated~%")
(format port ";; by the graphical installer.~%")
;; TRANSLATORS: This is a comment within a Scheme file. Each line must
;; start with ";; " (two semicolons and a space). Please keep line
;; length below 60 characters.
(display (G_ "\
;; This is an operating system configuration generated
;; by the graphical installer.\n")
port)
(newline port)
(for-each (lambda (part)
(if (null? part)

View File

@ -34,13 +34,14 @@
# Copyright © 2020, 2021 Felix Gruber <felgru@posteo.net>
# Copyright © 2020 Ryan Prior <rprior@protonmail.com>
# Copyright © 2020 Jan Wielkiewicz <tona_kosmicznego_smiecia@interia.pl>
# Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
# Copyright © 2020, 2021 Brice Waegeneire <brice@waegenei.re>
# Copyright © 2020 Tanguy Le Carrour <tanguy@bioneland.org>
# Copyright © 2020 Martin Becze <mjbecze@riseup.net>
# Copyright © 2020 Malte Frank Gerdes <mate.f.gerdes@gmail.com>
# Copyright © 2020 Vinicius Monego <monego@posteo.net>
# Copyright © 2021 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
# Copyright © 2021 Greg Hogan <code@greghogan.com>
# Copyright © 2021 Philip McGrath <philip@philipmcgrath.com>
#
# This file is part of GNU Guix.
#
@ -694,6 +695,7 @@ GNU_SYSTEM_MODULES = \
%D%/tests/desktop.scm \
%D%/tests/dict.scm \
%D%/tests/docker.scm \
%D%/tests/file-sharing.scm \
%D%/tests/ganeti.scm \
%D%/tests/guix.scm \
%D%/tests/monitoring.scm \
@ -887,6 +889,7 @@ dist_patch_DATA = \
%D%/packages/patches/cdparanoia-fpic.patch \
%D%/packages/patches/cdrtools-3.01-mkisofs-isoinfo.patch \
%D%/packages/patches/ceph-disable-cpu-optimizations.patch \
%D%/packages/patches/chez-scheme-build-util-paths-backport.patch \
%D%/packages/patches/chmlib-inttypes.patch \
%D%/packages/patches/cl-asdf-config-directories.patch \
%D%/packages/patches/clamav-config-llvm-libs.patch \
@ -912,7 +915,6 @@ dist_patch_DATA = \
%D%/packages/patches/collectd-5.11.0-noinstallvar.patch \
%D%/packages/patches/combinatorial-blas-awpm.patch \
%D%/packages/patches/combinatorial-blas-io-fix.patch \
%D%/packages/patches/containerd-test-with-go1.13.patch \
%D%/packages/patches/coreutils-ls.patch \
%D%/packages/patches/cpufrequtils-fix-aclocal.patch \
%D%/packages/patches/crawl-upgrade-saves.patch \
@ -920,6 +922,7 @@ dist_patch_DATA = \
%D%/packages/patches/clucene-contribs-lib.patch \
%D%/packages/patches/cube-nocheck.patch \
%D%/packages/patches/curl-use-ssl-cert-env.patch \
%D%/packages/patches/curl-7.76-use-ssl-cert-env.patch \
%D%/packages/patches/cursynth-wave-rand.patch \
%D%/packages/patches/cvs-CVE-2017-12836.patch \
%D%/packages/patches/cyrus-sasl-ac-try-run-fix.patch \
@ -1078,6 +1081,7 @@ dist_patch_DATA = \
%D%/packages/patches/ghostscript-no-header-id.patch \
%D%/packages/patches/ghostscript-no-header-uuid.patch \
%D%/packages/patches/ghostscript-no-header-creationdate.patch \
%D%/packages/patches/gimp-make-gegl-introspect-optional.patch \
%D%/packages/patches/glib-appinfo-watch.patch \
%D%/packages/patches/glibc-CVE-2018-11236.patch \
%D%/packages/patches/glibc-CVE-2018-11237.patch \
@ -1195,6 +1199,10 @@ dist_patch_DATA = \
%D%/packages/patches/id3lib-UTF16-writing-bug.patch \
%D%/packages/patches/idris-disable-test.patch \
%D%/packages/patches/ilmbase-fix-tests.patch \
%D%/packages/patches/imagemagick-CVE-2020-27829.patch \
%D%/packages/patches/imagemagick-ReadDCMImage-fix.patch \
%D%/packages/patches/imagemagick-ReadDCMPixels-fix.patch \
%D%/packages/patches/imagemagick-WriteTHUMBNAILImage-fix.patch \
%D%/packages/patches/inkscape-poppler-0.76.patch \
%D%/packages/patches/intel-xed-fix-nondeterminism.patch \
%D%/packages/patches/intltool-perl-compatibility.patch \
@ -1230,8 +1238,9 @@ dist_patch_DATA = \
%D%/packages/patches/kdbusaddons-kinit-file-name.patch \
%D%/packages/patches/libffi-3.3-powerpc-fixes.patch \
%D%/packages/patches/libffi-float128-powerpc64le.patch \
%D%/packages/patches/libvirt-create-machine-cgroup.patch \
%D%/packages/patches/libvirt-add-install-prefix.patch \
%D%/packages/patches/libziparchive-add-includes.patch \
%D%/packages/patches/lksctp-tools-1.0.18-fix-header-file-name.patch \
%D%/packages/patches/localed-xorg-keyboard.patch \
%D%/packages/patches/kdiagram-Fix-missing-link-libraries.patch \
%D%/packages/patches/kiki-level-selection-crash.patch \
@ -1328,11 +1337,12 @@ dist_patch_DATA = \
%D%/packages/patches/lierolibre-try-building-other-arch.patch \
%D%/packages/patches/linbox-fix-pkgconfig.patch \
%D%/packages/patches/linkchecker-tests-require-network.patch \
%D%/packages/patches/linphoneqt-tabbutton.patch \
%D%/packages/patches/linphone-desktop-without-sdk.patch \
%D%/packages/patches/linux-libre-support-for-Pinebook-Pro.patch \
%D%/packages/patches/linux-pam-no-setfsuid.patch \
%D%/packages/patches/lirc-localstatedir.patch \
%D%/packages/patches/lirc-reproducible-build.patch \
%D%/packages/patches/llhttp-bootstrap-CVE-2020-8287.patch \
%D%/packages/patches/llvm-3.5-fix-clang-build-with-gcc5.patch \
%D%/packages/patches/llvm-9-fix-bitcast-miscompilation.patch \
%D%/packages/patches/llvm-9-fix-lpad-miscompilation.patch \
@ -1351,6 +1361,7 @@ dist_patch_DATA = \
%D%/packages/patches/lvm2-static-link.patch \
%D%/packages/patches/mailutils-fix-uninitialized-variable.patch \
%D%/packages/patches/make-impure-dirs.patch \
%D%/packages/patches/mariadb-CVE-2021-27928.patch \
%D%/packages/patches/mars-install.patch \
%D%/packages/patches/mars-sfml-2.3.patch \
%D%/packages/patches/maxima-defsystem-mkdir.patch \
@ -1362,7 +1373,6 @@ dist_patch_DATA = \
%D%/packages/patches/mcrypt-CVE-2012-4527.patch \
%D%/packages/patches/libmemcached-build-with-gcc7.patch \
%D%/packages/patches/libmhash-hmac-fix-uaf.patch \
%D%/packages/patches/mediastreamer2-srtp2.patch \
%D%/packages/patches/mesa-skip-tests.patch \
%D%/packages/patches/mescc-tools-boot.patch \
%D%/packages/patches/metabat-fix-compilation.patch \
@ -1434,7 +1444,6 @@ dist_patch_DATA = \
%D%/packages/patches/opencascade-oce-glibc-2.26.patch \
%D%/packages/patches/opencv-fix-build-of-grfmt_jpeg2000.cpp.patch \
%D%/packages/patches/opencv-rgbd-aarch64-test-fix.patch \
%D%/packages/patches/opendht-fix-jami.patch \
%D%/packages/patches/openfoam-4.1-cleanup.patch \
%D%/packages/patches/openjdk-10-idlj-reproducibility.patch \
%D%/packages/patches/openmpi-mtl-priorities.patch \
@ -1486,7 +1495,6 @@ dist_patch_DATA = \
%D%/packages/patches/picard-fix-id3-rename-test.patch \
%D%/packages/patches/picprog-non-intel-support.patch \
%D%/packages/patches/pidgin-add-search-path.patch \
%D%/packages/patches/pidgin-vv-gst.patch \
%D%/packages/patches/pinball-const-fix.patch \
%D%/packages/patches/pinball-cstddef.patch \
%D%/packages/patches/pinball-missing-separators.patch \
@ -1521,7 +1529,6 @@ dist_patch_DATA = \
%D%/packages/patches/pybugz-stty.patch \
%D%/packages/patches/pygpgme-disable-problematic-tests.patch \
%D%/packages/patches/pyqt-configure.patch \
%D%/packages/patches/pyqt-public-sip.patch \
%D%/packages/patches/python-2-deterministic-build-info.patch \
%D%/packages/patches/python-2.7-adjust-tests.patch \
%D%/packages/patches/python-2.7-search-paths.patch \
@ -1575,6 +1582,7 @@ dist_patch_DATA = \
%D%/packages/patches/qemu-build-info-manual.patch \
%D%/packages/patches/qemu-CVE-2021-20203.patch \
%D%/packages/patches/qemu-glibc-2.27.patch \
%D%/packages/patches/qemu-glibc-2.30.patch \
%D%/packages/patches/qpdfview-qt515-compat.patch \
%D%/packages/patches/qrcodegen-cpp-make-install.patch \
%D%/packages/patches/qt4-ldflags.patch \
@ -1603,6 +1611,7 @@ dist_patch_DATA = \
%D%/packages/patches/ripperx-missing-file.patch \
%D%/packages/patches/rpcbind-CVE-2017-8779.patch \
%D%/packages/patches/rtags-separate-rct.patch \
%D%/packages/patches/racket-sh-via-rktio.patch \
%D%/packages/patches/racket-store-checksum-override.patch \
%D%/packages/patches/remake-impure-dirs.patch \
%D%/packages/patches/retroarch-LIBRETRO_DIRECTORY.patch \
@ -1610,7 +1619,6 @@ dist_patch_DATA = \
%D%/packages/patches/rnp-disable-ruby-rnp-tests.patch \
%D%/packages/patches/rnp-unbundle-googletest.patch \
%D%/packages/patches/ruby-sanitize-system-libxml.patch \
%D%/packages/patches/runc-CVE-2019-5736.patch \
%D%/packages/patches/rust-coresimd-doctest.patch \
%D%/packages/patches/rust-ndarray-remove-blas-src-dep.patch \
%D%/packages/patches/rust-nettle-disable-vendor.patch \
@ -1730,6 +1738,7 @@ dist_patch_DATA = \
%D%/packages/patches/unzip-zipbomb-part2.patch \
%D%/packages/patches/unzip-zipbomb-part3.patch \
%D%/packages/patches/unzip-32bit-zipbomb-fix.patch \
%D%/packages/patches/upx-CVE-2021-20285.patch \
%D%/packages/patches/ustr-fix-build-with-gcc-5.patch \
%D%/packages/patches/util-linux-tests.patch \
%D%/packages/patches/upower-builddir.patch \
@ -1761,6 +1770,7 @@ dist_patch_DATA = \
%D%/packages/patches/wordnet-CVE-2008-3908-pt1.patch \
%D%/packages/patches/wordnet-CVE-2008-3908-pt2.patch \
%D%/packages/patches/wpa-supplicant-CVE-2021-27803.patch \
%D%/packages/patches/wpa-supplicant-CVE-2021-30004.patch \
%D%/packages/patches/x265-arm-flags.patch \
%D%/packages/patches/xf86-video-ark-remove-mibstore.patch \
%D%/packages/patches/xf86-video-mach64-glibc-2.20.patch \

View File

@ -6,6 +6,7 @@
;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2019 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2021 Lars-Dominik Braun <ldb@leibniz-psychology.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -26,13 +27,15 @@
#:use-module (guix licenses)
#:use-module (gnu packages attr)
#:use-module (gnu packages base)
#:use-module (gnu packages check)
#:use-module (gnu packages hurd)
#:use-module (gnu packages gettext)
#:use-module (gnu packages perl)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (gnu packages)
#:use-module (guix build-system gnu))
#:use-module (guix build-system gnu)
#:use-module (guix build-system python))
(define-public acl
(package
@ -93,3 +96,41 @@
(description
"Library and tools for manipulating access control lists.")
(license (list gpl2+ lgpl2.1+))))
(define-public python-pylibacl
(package
(name "python-pylibacl")
(version "0.6.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pylibacl" version))
(sha256
(base32
"1zyrk2m20p5b6bdwxhrwib273i6i71zyr5hzssbxfqis5qra9848"))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'disable-tests
(lambda* (#:key outputs inputs #:allow-other-keys)
;; These tests operate on real files, but our tempfs does not support
;; ACLs
(substitute* "tests/test_acls.py"
(("( *)def test_applyto(_extended(_mixed)?)?" match indent)
(string-append indent "@pytest.mark.skip(reason=\"guix\")\n" match)))
#t))
(replace 'check
(lambda* (#:key inputs outputs tests? #:allow-other-keys)
(when tests?
(add-installed-pythonpath inputs outputs)
(invoke "pytest" "tests"))
#t)))))
(inputs `(("acl" ,acl)))
(native-inputs `(("python-pytest" ,python-pytest)))
(home-page "https://pylibacl.k1024.org/")
(synopsis "POSIX.1e ACLs for python")
(description "Python 3.4+ extension module that allows you to manipulate
the POSIX.1e Access Control Lists present in some OS/file-systems
combinations.")
(license lgpl2.1+)))

View File

@ -40,6 +40,7 @@
;;; Copyright © 2021 Stefan Reichör <stefan@xsteve.at>
;;; Copyright © 2021 qblade <qblade@protonmail.com>
;;; Copyright © 2021 Hyunseok Kim <lasnesne@lagunposprasihopre.org>
;;; Copyright © 2021 David Larsson <david.larsson@selfhosted.xyz>
;;;
;;; This file is part of GNU Guix.
;;;
@ -330,6 +331,38 @@ interface and is based on GNU Guile.")
#t)))
,@(package-arguments shepherd)))))
(define-public cfm
(package
(name "cfm")
(version "0.6.6")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/WillEccles/cfm")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "14gapia902f29wa4dlrrj8jcwcff9bfvyhjccw9ddy2gxx2g8wmr"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no test suite
#:make-flags
(list (string-append "CC=" ,(cc-for-target))
(string-append "PREFIX=" (assoc-ref %outputs "out")))
#:phases
(modify-phases %standard-phases
;; Keeping xdg-open optional avoids a size increase of 293%.
(delete 'configure)))) ; no configure script
(home-page "https://eccles.dev/cfm/")
(synopsis
"Simple terminal file manager with @command{vi}-inspired key bindings")
(description
"The Cactus File Manager (@command{cfm}) helps you manage your files
visually from a text terminal. It aims to be simple and fast, with key bindings
inspired by @command{vi}.")
(license license:mpl2.0)))
(define-public cloud-utils
(package
(name "cloud-utils")
@ -463,7 +496,7 @@ graphs and can export its output to different formats.")
(define-public facter
(package
(name "facter")
(version "4.0.51")
(version "4.0.52")
(source (origin
(method git-fetch)
(uri (git-reference
@ -472,7 +505,7 @@ graphs and can export its output to different formats.")
(file-name (git-file-name name version))
(sha256
(base32
"1s98rq2wjmh8bqdfdibvfp9j2ynd97k0c4hairryrzl9nna3j542"))))
"05j4q87sak1f1isj7ngzr59h3j3xskfwjjwfv0xd7lhwcaxg3a3c"))))
(build-system ruby-build-system)
(arguments
`(#:phases
@ -1027,6 +1060,36 @@ recursive runs on the generated subnets. (also IPv6)
@end itemize\n")
(license license:bsd-3)))
(define-public prips
(package
(name "prips")
(version "1.1.1")
(source
(origin
(method url-fetch)
(uri (string-append "https://devel.ringlet.net/files/sys/"
name "/" name "-" version ".tar.xz"))
(sha256
(base32 "1a33vbl4w603mk6mm5r3vhk87fy3dfk5wdpch0yd3ncbkg3fmvqn"))))
(build-system gnu-build-system)
(arguments
`(#:make-flags (list (string-append "CC=" ,(cc-for-target)))
#:test-target "test"
#:phases (modify-phases %standard-phases
(delete 'configure)
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(install-file "prips"
(string-append out "/bin"))))))))
(native-inputs `(("perl-test-harness" ,perl-test-harness)))
(synopsis "Tool that prints the IP addresses in a given range")
(description "Prips can be used to print all of the IP addresses in
a given range. This allows the enhancement of tools only work
on one host at a time (e.g. whois).")
(home-page "https://devel.ringlet.net/sysutils/prips/")
(license license:gpl2+)))
(define-public alive
(package
(name "alive")
@ -1663,7 +1726,8 @@ features of sudo with a fraction of the codebase.")
(string-append "#" line)))
#t))
(patches
(search-patches "wpa-supplicant-CVE-2021-27803.patch"))))
(search-patches "wpa-supplicant-CVE-2021-27803.patch"
"wpa-supplicant-CVE-2021-30004.patch"))))
(build-system gnu-build-system)
(arguments
`(#:phases
@ -1829,7 +1893,8 @@ command.")
(base32
"1mrbvg4v7vm7mknf0n29mf88k3s4a4qj6r4d51wq8hmjj1m7s7c8"))
(patches
(search-patches "wpa-supplicant-CVE-2021-27803.patch"))))
(search-patches "wpa-supplicant-CVE-2021-27803.patch"
"wpa-supplicant-CVE-2021-30004.patch"))))
(build-system gnu-build-system)
(arguments
`(#:phases
@ -1966,7 +2031,7 @@ module slots, and the list of I/O ports (e.g. serial, parallel, USB).")
(define-public acpica
(package
(name "acpica")
(version "20210105")
(version "20210331")
(source (origin
(method url-fetch)
(uri (string-append
@ -1974,7 +2039,7 @@ module slots, and the list of I/O ports (e.g. serial, parallel, USB).")
version ".tar.gz"))
(sha256
(base32
"1gi7qzfywg118g5nlqn5lawxk25pg2sz01gmbz40vvmikks4ri9r"))))
"1h98pvc9iy1c49cid0ppjwk5zsy2m1xbvfqb72pkwkrd4rn35arx"))))
(build-system gnu-build-system)
(native-inputs `(("flex" ,flex)
("bison" ,bison)))
@ -2928,13 +2993,13 @@ a new command using the matched rule, and runs it.")
(define-public di
(package
(name "di")
(version "4.49")
(version "4.50")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/diskinfo-di/di-" version ".tar.gz"))
(sha256
(base32 "1y38jhp2bpwbwzdzjlhgfqc7bxxz9cwapxd61799zjf54jkslkf0"))))
(base32 "0aj9ldkvmj8fmrk685vd2gagz0q8lwsn2nfbx6r6mza94mn8pw42"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; obscure test failures
@ -3506,14 +3571,14 @@ information tool.")
(define-public nnn
(package
(name "nnn")
(version "3.5")
(version "3.6")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/jarun/nnn/releases/download/v"
version "/nnn-v" version ".tar.gz"))
(sha256
(base32 "1ww18vvfjkvi36rcamw8kpix4bhk71w5bw9kmnh158crah1x8dp6"))))
(base32 "1dbq16cdipij5ws59ab3alfmxli7n4wx28ip7gsyq8ncxg598l47"))))
(build-system gnu-build-system)
(inputs
`(("ncurses" ,ncurses)
@ -4105,14 +4170,14 @@ tcpdump and snoop.")
(define-public pam-mount
(package
(name "pam-mount")
(version "2.17")
(version "2.18")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/pam-mount/pam_mount/"
"pam_mount-" version ".tar.xz"))
(sha256
(base32 "1q2n6a2ah6nghdn8i6ad2wj247njwb5nx48cggxknaa6lqxylidy"))))
(base32 "0832nh2qf9pisgwnbgx6hkylx5d7i416l19y3ly4ifv7k1p7mxqa"))))
(build-system gnu-build-system)
(native-inputs
`(("perl" ,perl)
@ -4124,7 +4189,7 @@ tcpdump and snoop.")
("linux-pam" ,linux-pam)
("lvm2" ,lvm2)
("openssl" ,openssl)
("pcre" ,pcre)
("pcre2" ,pcre2)
("libmount" ,util-linux "lib")
("util-linux" ,util-linux)))
(arguments
@ -4288,7 +4353,7 @@ entries, providing commands to add, remove, comment, and search.")
(define-public nmrpflash
(package
(name "nmrpflash")
(version "0.9.14")
(version "0.9.15")
(source
(origin
(method git-fetch)
@ -4297,7 +4362,7 @@ entries, providing commands to add, remove, comment, and search.")
(url "https://github.com/jclehner/nmrpflash")
(commit (string-append "v" version))))
(sha256
(base32 "1fdjrxhjs96rdclbkld57xarf592slhkp79h46z833npxpn12ck1"))
(base32 "0ssfls1sfh8w748qsnkfgndlpw395100x2yynzbk5jd56scxvp20"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(native-inputs
@ -4503,7 +4568,7 @@ the XMODEM/YMODEM/ZMODEM file transfer protocols.")
(define-public nq
(package
(name "nq")
(version "0.3.1")
(version "0.4")
(source
(origin
(method git-fetch)
@ -4512,7 +4577,7 @@ the XMODEM/YMODEM/ZMODEM file transfer protocols.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1db96ykz35r273jyhf7cdknqk4p2jj9l8gbz7pjy1hq4pb6ffk99"))))
(base32 "0sdamjzvmf6cxhjmd1rjvn7zm6k10fp5n6vabyxd3yl30cgrxw2i"))))
(build-system gnu-build-system)
(native-inputs
`(("perl" ,perl)))

View File

@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 John Darringon <jmd@gnu.org>
;;; Copyright © 2016, 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 Guillaume Le Vaillant <glv@posteo.net>
@ -108,16 +108,25 @@ formats.")
(define-public qrencode
(package
(name "qrencode")
(version "4.0.2")
(version "4.1.1")
(source (origin
(method url-fetch)
(uri (string-append
"https://fukuchi.org/works/qrencode/qrencode-" version
".tar.bz2"))
(uri (string-append "https://fukuchi.org/works/qrencode/"
"qrencode-" version ".tar.bz2"))
(sha256
(base32
"1d2q5d3v8g3hsi3h5jq4n177bjhf3kawms09immw7p187f6jgjy9"))))
"08v9d8jn26bva2a8x4hghq3mgl8zcid393iqkidwyhc05xrxjmg4"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags '("--with-tests")
#:phases
(modify-phases %standard-phases
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(with-directory-excursion "tests"
(invoke "./test_basic.sh")))
#t)))))
(inputs `(("libpng" ,libpng)))
(native-inputs `(("pkg-config" ,pkg-config)))
(synopsis "Encode data into a QR Code symbol")

View File

@ -5,7 +5,7 @@
;;; Copyright © 2014, 2018 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2016, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2017, 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 20172021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017, 2019 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
@ -563,14 +563,14 @@ these types and other mathematical functions.")
(define-public ntl
(package
(name "ntl")
(version "11.4.3")
(version "11.4.4")
(source (origin
(method url-fetch)
(uri (string-append "https://shoup.net/ntl/ntl-"
version ".tar.gz"))
(sha256
(base32
"1lisp3064rch3jaa2wrhy1s9kll7i3ka3d0y6lj6l3l4ckfcrhdp"))
"1nr1h27j2gdz6badzz9lk2pknxhdijqdxqhd3haryh0sw616wzwx"))
(modules '((guix build utils)))
(snippet
'(begin

View File

@ -44,14 +44,14 @@
(define-public clamav
(package
(name "clamav")
(version "0.103.1")
(version "0.103.2")
(source (origin
(method url-fetch)
(uri (string-append "https://www.clamav.net/downloads/production/"
"clamav-" version ".tar.gz"))
(sha256
(base32
"0mz2aq8dh4i7mh59r71scczgyjbsj8l0a51nkwxsys5ji5xw823k"))
"1lhv4xw89sszi519agvc9mi6jz5aiivm9yr6lciy8qk2csnd1dfl"))
(modules '((guix build utils)))
(snippet
'(begin

View File

@ -343,7 +343,7 @@ package for the Game Boy and Game Boy Color. It consists of:
(define-public wla-dx
(package
(name "wla-dx")
(version "9.11")
(version "9.12")
(source (origin
(method git-fetch)
(uri (git-reference
@ -352,7 +352,7 @@ package for the Game Boy and Game Boy Color. It consists of:
(file-name (git-file-name name version))
(sha256
(base32
"0i8pxvyaih79pqnyvqyqd9rwdid91pna76cap0k1n5zhg8xswf2f"))))
"1wlbqv2rgk9q6m9an1mi0i29250zl8lw7zipki2bbi9mczpyczli"))))
(build-system cmake-build-system)
(native-inputs
`(("sphinx" ,python-sphinx))) ; to generate man pages

View File

@ -118,7 +118,7 @@ for reading and writing.")
(define-public erfa
(package
(name "erfa")
(version "1.7.2")
(version "1.7.3")
(source
(origin
(method git-fetch)
@ -127,7 +127,7 @@ for reading and writing.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1vsqwvzlk7r8q7nwyb7i710blcfdl5kwcm2va9km07a820nsp84a"))))
(base32 "0nh12dr7gk4ki55lz95pkm4fpf7kazirra3zax9pab6v4qql4hlw"))))
(build-system gnu-build-system)
(native-inputs
`(("automake" ,automake)
@ -137,8 +137,10 @@ for reading and writing.")
(home-page "https://github.com/liberfa/erfa")
(synopsis "Essential Routines for Fundamental Astronomy")
(description
"ERFA is a C library containing key algorithms for astronomy, and is based
on the SOFA library published by the International Astronomical Union (IAU).")
"The @acronym{ERFA, Essential Routines for Fundamental Astronomy} C library
contains key algorithms for astronomy, and is based on the @acronym{SOFA,
Standards of Fundamental Astronomy} library published by the @acronym{IAU,
International Astronomical Union}.")
(license license:bsd-3)))
(define-public eye
@ -399,7 +401,7 @@ deconvolution). Such post-processing is not performed by Stackistry.")
(define-public stellarium
(package
(name "stellarium")
(version "0.20.4")
(version "0.21.0")
(source
(origin
(method url-fetch)
@ -407,7 +409,7 @@ deconvolution). Such post-processing is not performed by Stackistry.")
"/releases/download/v" version
"/stellarium-" version ".tar.gz"))
(sha256
(base32 "1253zlr0mi4kdbj119spxk7spg4rkahb4rlpd0hz1d81mnv3n0v3"))))
(base32 "04vg2asj9gygwnrs32scqc8192ln2lyqa9v7cjqk8zd4frkwszwp"))))
(build-system cmake-build-system)
(inputs
`(("qtbase" ,qtbase)
@ -1009,13 +1011,13 @@ astronomical images, especially when there is no WCS information available.")
(define-public python-skyfield
(package
(name "python-skyfield")
(version "1.36")
(version "1.38")
(source
(origin
(method url-fetch)
(uri (pypi-uri "skyfield" version))
(sha256
(base32 "1dm1327a4qv3klj9blrvddbhl72v1fqz52ym9km8qjj9vdkpywh6"))))
(base32 "1qi1l8qn6irdv6w41qq30s2yjwak7h6ayywr1pry9gwcm2c25bv5"))))
(build-system python-build-system)
(arguments
;; NOTE: (Sharlatan-20210207T163305+0000): tests depend on custom test

View File

@ -18,7 +18,7 @@
;;; Copyright © 2018 Thorsten Wilms <t_w_@freenet.de>
;;; Copyright © 2018 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2018 Brendan Tildesley <mail@brendan.scot>
;;; Copyright © 2019 Pierre Langlois <pierre.langlois@gmx.com>
;;; Copyright © 2019, 2021 Pierre Langlois <pierre.langlois@gmx.com>
;;; Copyright © 2019, 2021 Leo Famulari <leo@famulari.name>
;;; Copyright © 2019 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2019 Arun Isaac <arunisaac@systemreboot.net>
@ -78,6 +78,7 @@
#:use-module (gnu packages gnome)
#:use-module (gnu packages gnunet) ; libmicrohttpd
#:use-module (gnu packages gperf)
#:use-module (gnu packages gstreamer)
#:use-module (gnu packages gtk)
#:use-module (gnu packages guile)
#:use-module (gnu packages icu4c)
@ -567,11 +568,11 @@ streams from live audio.")
(define-public ardour
(package
(name "ardour")
(version "5.12")
(version "6.6")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://git.ardour.org/ardour/ardour.git")
(url "git://git.ardour.org/ardour/ardour.git")
(commit version)))
(snippet
;; Ardour expects this file to exist at build time. The revision
@ -581,15 +582,16 @@ streams from live audio.")
"libs/ardour/revision.cc"
(lambda (port)
(format port ,(string-append "#include \"ardour/revision.h\"
namespace ARDOUR { const char* revision = \"" version "\" ; }"))
namespace ARDOUR { const char* revision = \"" version "\" ; const char* date = \"\"; }"))
#t)))
(sha256
(base32
"0mla5lm51ryikc2rrk53max2m7a5ds6i1ai921l2h95wrha45nkr"))
"0k5rxh8b3d8si3lj01gfqj0pmd448d8sj4asnb205mwhwbfgn0cp"))
(file-name (string-append name "-" version))))
(build-system waf-build-system)
(arguments
`(#:configure-flags '("--cxx11" ; required by gtkmm
"--optimize"
"--no-phone-home" ; don't contact ardour.org
"--freedesktop" ; build .desktop file
"--test") ; build unit tests
@ -619,8 +621,7 @@ namespace ARDOUR { const char* revision = \"" version "\" ; }"))
ver ".appdata.xml")
(string-append share "/appdata/")))
#t)))
#:test-target "test"
#:python ,python-2))
#:test-target "test"))
(inputs
`(("alsa-lib" ,alsa-lib)
("atkmm" ,atkmm)
@ -628,6 +629,7 @@ namespace ARDOUR { const char* revision = \"" version "\" ; }"))
("boost" ,boost)
("cairomm" ,cairomm)
("curl" ,curl)
("dbus" ,dbus)
("eudev" ,eudev)
("fftw" ,fftw)
("fftwf" ,fftwf)
@ -644,17 +646,21 @@ namespace ARDOUR { const char* revision = \"" version "\" ; }"))
("libsndfile" ,libsndfile)
("libusb" ,libusb)
("libvorbis" ,libvorbis)
("libwebsockets" ,libwebsockets)
("libxml2" ,libxml2)
("lilv" ,lilv)
("lrdf" ,lrdf)
("lv2" ,lv2)
("openssl" ,openssl) ; Required by libwebsockets.
("pangomm" ,pangomm)
("python-rdflib" ,python-rdflib)
("pulseaudio" ,pulseaudio)
("readline" ,readline)
("redland" ,redland)
("rubberband" ,rubberband)
("serd" ,serd)
("sord" ,sord)
("soundtouch" ,soundtouch)
("sratom" ,sratom)
("suil" ,suil)
("taglib" ,taglib)
@ -3259,31 +3265,26 @@ stretching and pitch scaling of audio. This package contains the library.")
(define-public wavpack
(package
(name "wavpack")
(version "5.3.2")
(version "5.4.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/dbry/WavPack")
(commit "e4e8d191e8dd74cbdbeaef3232c16a7ef517e68d")))
(method url-fetch)
(uri (string-append "https://github.com/dbry/WavPack/releases/download/"
version "/wavpack-" version ".tar.xz"))
(sha256
(base32 "1zj8svk6giy1abq3940sz32ygz7zldppxl47852zgn5wfm3l2spx"))
(file-name (git-file-name name version))))
(base32 "0ycbqarw25x7208jilh86vwwiqklr7f617jps9mllqc659mnmpjb"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags
(list "--disable-static")
(list "--disable-static"
"--enable-tests")
#:phases
(modify-phases %standard-phases
(replace 'bootstrap
;; Running ./autogen.sh would cause premature configuration.
(lambda _
(invoke "autoreconf" "-vif")
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "./cli/wvtest" "--default" "--short"))
#t)))))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
("libtool" ,libtool)))
(home-page "https://www.wavpack.com/")
(synopsis "Hybrid lossless audio codec")
(description
@ -4093,7 +4094,7 @@ kbps at 24 bit/96 kHz.")
(home-page "https://github.com/Arkq/bluez-alsa")
(synopsis "Bluetooth ALSA backend")
(description "This project is a rebirth of a direct integration between
Bluez and ALSA. Since Bluez >= 5, the build-in integration has been removed
Bluez and ALSA. Since Bluez >= 5, the built-in integration has been removed
in favor of 3rd party audio applications. From now on, Bluez acts as a
middleware between an audio application, which implements Bluetooth audio
profile, and a Bluetooth audio device. BlueALSA registers all known Bluetooth
@ -4260,7 +4261,7 @@ the following features:
(home-page "https://github.com/werman/noise-suppression-for-voice")
(synopsis "Speech denoise LV2 plugin based on Xiph's RNNoise library")
(description "RNNoise is a library that uses deep learning to apply
noise supression to audio sources with voice presence. This package provides
noise suppression to audio sources with voice presence. This package provides
an LV2 audio plugin.")
(license license:lgpl3+))))
@ -4465,7 +4466,7 @@ library.")
(define-public faudio
(package
(name "faudio")
(version "19.11")
(version "21.04")
(source
(origin
(method git-fetch)
@ -4474,19 +4475,24 @@ library.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0ckpr6ffz8ssfh1y850dhip5s5jv0j6n90qz5yx1v9d6gpwf08rp"))))
(base32 "1g3zp7igh4ns31sqnxddxqhgibijngkbcqqsj23i9d1lah6k4747"))))
(arguments
'(#:tests? #f ; No tests.
#:configure-flags '("-DFFMPEG=ON")))
#:configure-flags '("-DGSTREAMER=ON")))
(build-system cmake-build-system)
(native-inputs `(("pkg-config" ,pkg-config)))
(inputs `(("ffmpeg" ,ffmpeg)
(inputs `(("gstreamer" ,gstreamer)
("gst-plugins-base" ,gst-plugins-base)
("sdl2" ,sdl2)))
(home-page "https://github.com/FNA-XNA/FAudio")
(synopsis "XAudio reimplementation")
(description "FAudio is an XAudio reimplementation that focuses solely on
developing fully accurate DirectX Audio runtime libraries.")
(license license:zlib)))
(license
(list license:zlib
;; stb & utils/{ui,wav}common are dual-licenced under either of:
license:expat
license:public-domain))))
(define-public gnaural
(package
@ -4922,7 +4928,7 @@ minimum.")
(define-public libinstpatch
(package
(name "libinstpatch")
(version "1.1.5")
(version "1.1.6")
(source
(origin
(method git-fetch)
@ -4931,7 +4937,7 @@ minimum.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0psx4hc5yksfd3k2xqsc7c8lbz2d4yybikyddyd9hlkhq979cmjb"))))
(base32 "1w3nk0vvd1cxic70n45zjip0bdsrja969myvyvkhq3ngbarbykir"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f)) ;there are no tests
@ -5134,14 +5140,14 @@ while still staying in time.")
(define-public butt
(package
(name "butt")
(version "0.1.28")
(version "0.1.29")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/butt/butt/butt-"
version "/butt-" version ".tar.gz"))
(sha256
(base32
"1rbp4v6dlyapld6y4aqbpfmcaiafa06f2zqd1rhk4r3ld3bndafm"))))
"0nbz0z4d7krvhmnwn10594gwc61gn2dlb5fazmynjfisrfdswqlg"))))
(build-system gnu-build-system)
(arguments
`(#:phases
@ -5178,7 +5184,7 @@ while still staying in time.")
version "_manual.pdf"))
(sha256
(base32
"04wz2sqhk22h9gymwh5r6kp6sxc994mia8rg9lwpmy1r18w4pvsl"))))))
"1hhgdhdg5s86hjcbwh856gcd3kcch0i5xgi3i3v02zz3xmzl7gg3"))))))
(home-page "https://danielnoethen.de/butt/")
(synopsis "Audio streaming tool")
(description "Butt is a tool to stream audio to a ShoutCast or

View File

@ -545,7 +545,7 @@ complexity of working with shared libraries across platforms.")
(native-inputs
`(("help2man" ,help2man)))
(home-page "https://savannah.gnu.org/projects/config")
(synopsis "Ubiquitious config.guess and config.sub scripts")
(synopsis "Ubiquitous config.guess and config.sub scripts")
(description "The `config.guess' script tries to guess a canonical system triple,
and `config.sub' validates and canonicalizes. These are used as part of
configuration in nearly all GNU packages (and many others).")

View File

@ -8146,7 +8146,7 @@ CONFIG_HYPERV_BALLOON=m
#
CONFIG_XEN_BALLOON=y
CONFIG_XEN_BALLOON_MEMORY_HOTPLUG=y
CONFIG_XEN_BALLOON_MEMORY_HOTPLUG_LIMIT=512
CONFIG_XEN_MEMORY_HOTPLUG_LIMIT=512
CONFIG_XEN_SCRUB_PAGES_DEFAULT=y
CONFIG_XEN_DEV_EVTCHN=m
CONFIG_XEN_BACKEND=y

View File

@ -8212,7 +8212,7 @@ CONFIG_HYPERV_BALLOON=m
#
CONFIG_XEN_BALLOON=y
CONFIG_XEN_BALLOON_MEMORY_HOTPLUG=y
CONFIG_XEN_BALLOON_MEMORY_HOTPLUG_LIMIT=512
CONFIG_XEN_MEMORY_HOTPLUG_LIMIT=512
CONFIG_XEN_SCRUB_PAGES_DEFAULT=y
CONFIG_XEN_DEV_EVTCHN=m
CONFIG_XEN_BACKEND=y

View File

@ -147,18 +147,7 @@
(delete 'configure)
(replace 'build
;; Build Axoloti firmware with cross-compiler
(lambda* (#:key inputs #:allow-other-keys)
(let* ((toolchain (assoc-ref inputs "cross-toolchain"))
(headers (string-append
toolchain
"/arm-none-eabi/include:"
toolchain
"/arm-none-eabi/include/arm-none-eabi/armv7e-m")))
(setenv "CROSS_CPATH" headers)
(setenv "CROSS_CPLUS_INCLUDE_PATH" headers)
(setenv "CROSS_LIBRARY_PATH"
(string-append toolchain
"/arm-none-eabi/lib")))
(lambda _
(with-directory-excursion "platform_linux"
(invoke "sh" "compile_firmware.sh"))))
(replace 'install

View File

@ -1236,7 +1236,9 @@ command.")
(define-public tzdata
(package
(name "tzdata")
(version "2020f")
;; This package should be kept in sync with python-pytz in (gnu packages
;; time).
(version "2021a")
(source (origin
(method url-fetch)
(uri (string-append
@ -1244,7 +1246,7 @@ command.")
version ".tar.gz"))
(sha256
(base32
"10b8cr55x6ji14n3kqkn3avj1s9b79b8gszh81fxrrisij8k248j"))))
"022fn6gkmp7pamlgab04x0dm5hnyn2m2fcnyr3pvm36612xd5rrr"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f
@ -1303,7 +1305,7 @@ command.")
version ".tar.gz"))
(sha256
(base32
"1i998crd9fxdfhv4jd241j1arx0ng7j7cvczpmj4y5j5fwmfmvng"))))))
"1l02b0jiwp3fl0xd6227i69d26rmx3yrnq0ssq9vvdmm4jhvyipb"))))))
(home-page "https://www.iana.org/time-zones")
(synopsis "Database of current and historical time zones")
(description "The Time Zone Database (often called tz or zoneinfo)

View File

@ -619,6 +619,32 @@ as provided by UCSC (hg38, Dec. 2013) and stored in Biostrings objects.")
"This package exposes an annotation database generated from Ensembl.")
(license license:artistic2.0)))
(define-public r-txdb-dmelanogaster-ucsc-dm6-ensgene
(package
(name "r-txdb-dmelanogaster-ucsc-dm6-ensgene")
(version "3.12.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "TxDb.Dmelanogaster.UCSC.dm6.ensGene"
version 'annotation))
(sha256
(base32
"0yij7zyqkmmr13389rs2gfa5anvvw648nnl1kjbsgvyxkggif8q4"))))
(properties
`((upstream-name . "TxDb.Dmelanogaster.UCSC.dm6.ensGene")))
(build-system r-build-system)
(propagated-inputs
`(("r-annotationdbi" ,r-annotationdbi)
("r-genomicfeatures" ,r-genomicfeatures)))
(home-page
"https://bioconductor.org/packages/TxDb.Dmelanogaster.UCSC.dm6.ensGene")
(synopsis "Annotation package for TxDb object(s)")
(description
"This package exposes an annotation databases generated from UCSC by
exposing these as TxDb objects.")
(license license:artistic2.0)))
(define-public r-txdb-hsapiens-ucsc-hg19-knowngene
(package
(name "r-txdb-hsapiens-ucsc-hg19-knowngene")
@ -1087,7 +1113,7 @@ package @code{affy}.")
(properties `((upstream-name . "gageData")))
(build-system r-build-system)
(home-page "https://bioconductor.org/packages/gageData")
(synopsis "Auxillary data for gage package")
(synopsis "Auxiliary data for the gage package")
(description
"This is a supportive data package for the software package @code{gage}.
However, the data supplied here are also useful for gene set or pathway
@ -1233,6 +1259,39 @@ data. In addition, provides numerous plotting functions for commonly
used visualizations.")
(license license:artistic2.0)))
(define-public r-delayedarray
(package
(name "r-delayedarray")
(version "0.16.3")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "DelayedArray" version))
(sha256
(base32
"0w1wppy6m2iv41852dscg3y19sq84ahdx3m7c2p2pxjcznmv6hys"))))
(properties
`((upstream-name . "DelayedArray")))
(build-system r-build-system)
(propagated-inputs
`(("r-biocgenerics" ,r-biocgenerics)
("r-s4vectors" ,r-s4vectors)
("r-iranges" ,r-iranges)
("r-matrix" ,r-matrix)
("r-matrixgenerics" ,r-matrixgenerics)))
(native-inputs
`(("r-knitr" ,r-knitr)))
(home-page "https://bioconductor.org/packages/DelayedArray")
(synopsis "Delayed operations on array-like objects")
(description
"Wrapping an array-like object (typically an on-disk object) in a
@code{DelayedArray} object allows one to perform common array operations on it
without loading the object in memory. In order to reduce memory usage and
optimize performance, operations on the object are either delayed or executed
using a block processing mechanism. Note that this also works on in-memory
array-like objects like @code{DataFrame} objects (typically with Rle columns),
@code{Matrix} objects, and ordinary arrays and data frames.")
(license license:artistic2.0)))
(define-public r-bluster
(package
(name "r-bluster")
@ -1315,6 +1374,60 @@ naming and share the same rich and consistent \"Vector API\" as much as
possible.")
(license license:artistic2.0)))
;; This is a CRAN package, but it depends on r-biobase and r-limma from Bioconductor.
(define-public r-absfiltergsea
(package
(name "r-absfiltergsea")
(version "1.5.1")
(source
(origin
(method url-fetch)
(uri (cran-uri "AbsFilterGSEA" version))
(sha256
(base32 "15srxkxsvn38kd5frdrwfdf0ad8gskrd0h01wmdf9hglq8fjrp7w"))))
(properties `((upstream-name . "AbsFilterGSEA")))
(build-system r-build-system)
(propagated-inputs
`(("r-biobase" ,r-biobase)
("r-deseq" ,r-deseq)
("r-limma" ,r-limma)
("r-rcpp" ,r-rcpp)
("r-rcpparmadillo" ,r-rcpparmadillo)))
(home-page "https://cran.r-project.org/web/packages/AbsFilterGSEA/")
(synopsis "Improved false positive control of gene-permuting with absolute filtering")
(description
"This package provides a function that performs gene-permuting of a gene-set
enrichment analysis (GSEA) calculation with or without the absolute filtering.
Without filtering, users can perform (original) two-tailed or one-tailed
absolute GSEA.")
(license license:gpl2)))
;; This is a CRAN package, but it depends on r-biobase from Bioconductor.
(define-public r-bisquerna
(package
(name "r-bisquerna")
(version "1.0.4")
(source (origin
(method url-fetch)
(uri (cran-uri "BisqueRNA" version))
(sha256
(base32
"01g34n87ml7n3pck77497ddgbv3rr5p4153ac8ninpgjijlm3jw2"))))
(properties `((upstream-name . "BisqueRNA")))
(build-system r-build-system)
(propagated-inputs
`(("r-biobase" ,r-biobase)
("r-limsolve" ,r-limsolve)))
(home-page "https://www.biorxiv.org/content/10.1101/669911v1")
(synopsis "Decomposition of bulk expression with single-cell sequencing")
(description "This package provides tools to accurately estimate cell type
abundances from heterogeneous bulk expression. A reference-based method
utilizes single-cell information to generate a signature matrix and
transformation of bulk expression for accurate regression based estimates.
A marker-based method utilizes known cell-specific marker genes to measure
relative abundances across samples.")
(license license:gpl3)))
;; This is a CRAN package, but it depends on r-bsgenome-hsapiens-ucsc-hg19
;; from Bioconductor.
(define-public r-deconstructsigs
@ -1559,6 +1672,35 @@ structure.")
microarrays.")
(license license:artistic2.0)))
(define-public r-annotationdbi
(package
(name "r-annotationdbi")
(version "1.52.0")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "AnnotationDbi" version))
(sha256
(base32
"0zqxgh3nx6y8ry12s2vss2f4axz5vpqxha1y4ifhhcx4zhpzsglr"))))
(properties
`((upstream-name . "AnnotationDbi")))
(build-system r-build-system)
(propagated-inputs
`(("r-biobase" ,r-biobase)
("r-biocgenerics" ,r-biocgenerics)
("r-dbi" ,r-dbi)
("r-iranges" ,r-iranges)
("r-rsqlite" ,r-rsqlite)
("r-s4vectors" ,r-s4vectors)))
(native-inputs
`(("r-knitr" ,r-knitr)))
(home-page "https://bioconductor.org/packages/AnnotationDbi")
(synopsis "Annotation database interface")
(description
"This package provides user interface and database connection code for
annotation data packages using SQLite data storage.")
(license license:artistic2.0)))
(define-public r-annotationforge
(package
(name "r-annotationforge")
@ -1591,6 +1733,148 @@ microarrays.")
databases. Packages produced are intended to be used with AnnotationDbi.")
(license license:artistic2.0)))
(define-public r-biobase
(package
(name "r-biobase")
(version "2.50.0")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "Biobase" version))
(sha256
(base32
"11kgc4flywlm3i18603558l8ksv91c24vkc5fnnbcd375i2dhhd4"))))
(properties
`((upstream-name . "Biobase")))
(build-system r-build-system)
(propagated-inputs
`(("r-biocgenerics" ,r-biocgenerics)))
(home-page "https://bioconductor.org/packages/Biobase")
(synopsis "Base functions for Bioconductor")
(description
"This package provides functions that are needed by many other packages
on Bioconductor or which replace R functions.")
(license license:artistic2.0)))
(define-public r-biomart
(package
(name "r-biomart")
(version "2.46.3")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "biomaRt" version))
(sha256
(base32
"0gwmd0ykpv0gyh34c56g5m12lil20fvig49f3ih1jxrxf3q4wmq7"))))
(properties
`((upstream-name . "biomaRt")))
(build-system r-build-system)
(propagated-inputs
`(("r-annotationdbi" ,r-annotationdbi)
("r-biocfilecache" ,r-biocfilecache)
("r-httr" ,r-httr)
("r-openssl" ,r-openssl)
("r-progress" ,r-progress)
("r-rappdirs" ,r-rappdirs)
("r-stringr" ,r-stringr)
("r-xml" ,r-xml)
("r-xml2" ,r-xml2)))
(native-inputs
`(("r-knitr" ,r-knitr)))
(home-page "https://bioconductor.org/packages/biomaRt")
(synopsis "Interface to BioMart databases")
(description
"biomaRt provides an interface to a growing collection of databases
implementing the @url{BioMart software suite, http://www.biomart.org}. The
package enables retrieval of large amounts of data in a uniform way without
the need to know the underlying database schemas or write complex SQL queries.
Examples of BioMart databases are Ensembl, COSMIC, Uniprot, HGNC, Gramene,
Wormbase and dbSNP mapped to Ensembl. These major databases give biomaRt
users direct access to a diverse set of data and enable a wide range of
powerful online queries from gene annotation to database mining.")
(license license:artistic2.0)))
(define-public r-biocparallel
(package
(name "r-biocparallel")
(version "1.24.1")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "BiocParallel" version))
(sha256
(base32
"1iryicvmcagcrj29kp49mqhiq2kn72j4idj380hi9illmdrg9ism"))))
(properties
`((upstream-name . "BiocParallel")))
(build-system r-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'make-reproducible
(lambda _
;; Remove generated documentation.
(for-each delete-file
'("inst/doc/BiocParallel_BatchtoolsParam.pdf"
"inst/doc/Introduction_To_BiocParallel.pdf"
"inst/doc/Errors_Logs_And_Debugging.pdf"
"inst/doc/BiocParallel_BatchtoolsParam.R"
"inst/doc/Introduction_To_BiocParallel.R"
"inst/doc/Errors_Logs_And_Debugging.R"))
;; Remove time-dependent macro
(substitute* '("inst/doc/BiocParallel_BatchtoolsParam.Rnw"
"inst/doc/Introduction_To_BiocParallel.Rnw"
"inst/doc/Errors_Logs_And_Debugging.Rnw"
"vignettes/BiocParallel_BatchtoolsParam.Rnw"
"vignettes/Introduction_To_BiocParallel.Rnw"
"vignettes/Errors_Logs_And_Debugging.Rnw")
(("\\today") "later"))
;; Initialize the random number generator seed when building.
(substitute* "R/internal_rng_stream.R"
(("\"L'Ecuyer-CMRG\"\\)" m)
(string-append
m "; if (!is.na(Sys.getenv(\"SOURCE_DATE_EPOCH\"))) {set.seed(100)}\n"))))))))
(propagated-inputs
`(("r-futile-logger" ,r-futile-logger)
("r-snow" ,r-snow)
("r-bh" ,r-bh)))
(native-inputs
`(("r-knitr" ,r-knitr)))
(home-page "https://bioconductor.org/packages/BiocParallel")
(synopsis "Bioconductor facilities for parallel evaluation")
(description
"This package provides modified versions and novel implementation of
functions for parallel evaluation, tailored to use with Bioconductor
objects.")
(license (list license:gpl2+ license:gpl3+))))
(define-public r-biostrings
(package
(name "r-biostrings")
(version "2.58.0")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "Biostrings" version))
(sha256
(base32
"1rbqhs73mhfr1gi0rx28jiyan7i3hb45ai3jpl1656fnrhgjfxq5"))))
(properties
`((upstream-name . "Biostrings")))
(build-system r-build-system)
(propagated-inputs
`(("r-biocgenerics" ,r-biocgenerics)
("r-crayon" ,r-crayon)
("r-iranges" ,r-iranges)
("r-s4vectors" ,r-s4vectors)
("r-xvector" ,r-xvector)))
(home-page "https://bioconductor.org/packages/Biostrings")
(synopsis "String objects and algorithms for biological sequences")
(description
"This package provides memory efficient string containers, string
matching algorithms, and other utilities, for fast manipulation of large
biological sequences or sets of sequences.")
(license license:artistic2.0)))
(define-public r-category
(package
(name "r-category")
@ -1764,13 +2048,13 @@ high-throughput sequencing experiments.")
(define-public r-genomeinfodb
(package
(name "r-genomeinfodb")
(version "1.26.4")
(version "1.26.6")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "GenomeInfoDb" version))
(sha256
(base32
"1sbhdpgabqbi749ixih8nlmq5id7sg8y6kkfj46r00642rc293ys"))))
"1wy4dwiv0pgim975var802z565py4a0nakx6zdvbhry4c0dfczd1"))))
(properties
`((upstream-name . "GenomeInfoDb")))
(build-system r-build-system)
@ -1791,6 +2075,37 @@ translation between different chromosome sequence naming conventions (e.g.,
names in their natural, rather than lexicographic, order.")
(license license:artistic2.0)))
(define-public r-genomicranges
(package
(name "r-genomicranges")
(version "1.42.0")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "GenomicRanges" version))
(sha256
(base32
"0j4py5g6pdj35xhlaqhxxhg55j9l4mcdk3yck4dgyavv5f2dh24i"))))
(properties
`((upstream-name . "GenomicRanges")))
(build-system r-build-system)
(propagated-inputs
`(("r-biocgenerics" ,r-biocgenerics)
("r-genomeinfodb" ,r-genomeinfodb)
("r-iranges" ,r-iranges)
("r-s4vectors" ,r-s4vectors)
("r-xvector" ,r-xvector)))
(native-inputs
`(("r-knitr" ,r-knitr)))
(home-page "https://bioconductor.org/packages/GenomicRanges")
(synopsis "Representation and manipulation of genomic intervals")
(description
"This package provides tools to efficiently represent and manipulate
genomic annotations and alignments is playing a central role when it comes to
analyzing high-throughput sequencing data (a.k.a. NGS data). The
GenomicRanges package defines general purpose containers for storing and
manipulating genomic intervals and variables defined along a genome.")
(license license:artistic2.0)))
(define-public r-gostats
(package
(name "r-gostats")
@ -1871,6 +2186,25 @@ Enrichment Analysis} (GSEA).")
the Human Protein Atlas project.")
(license license:artistic2.0)))
(define-public r-limma
(package
(name "r-limma")
(version "3.46.0")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "limma" version))
(sha256
(base32
"1xxv493q1kip9bjfv7v7k5dnq7hz7gvl80i983v4mvwavhgnbxfz"))))
(build-system r-build-system)
(home-page "http://bioinf.wehi.edu.au/limma")
(synopsis "Package for linear models for microarray and RNA-seq data")
(description "This package can be used for the analysis of gene expression
studies, especially the use of linear models for analysing designed experiments
and the assessment of differential expression. The analysis methods apply to
different technologies, including microarrays, RNA-seq, and quantitative PCR.")
(license license:gpl2+)))
(define-public r-rbgl
(package
(name "r-rbgl")
@ -1975,6 +2309,49 @@ reports together for a particular project that can be viewed in a web
browser.")
(license license:artistic2.0)))
(define-public r-rsamtools
(package
(name "r-rsamtools")
(version "2.6.0")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "Rsamtools" version))
(sha256
(base32
"040pggkwglc6wy90qnc7xcdnaj0v3iqlykvvsl74241409qly554"))))
(properties
`((upstream-name . "Rsamtools")))
(build-system r-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'use-system-zlib
(lambda _
(substitute* "DESCRIPTION"
(("zlibbioc, ") ""))
(substitute* "NAMESPACE"
(("import\\(zlibbioc\\)") ""))
#t)))))
(propagated-inputs
`(("r-biocgenerics" ,r-biocgenerics)
("r-biocparallel" ,r-biocparallel)
("r-biostrings" ,r-biostrings)
("r-bitops" ,r-bitops)
("r-genomeinfodb" ,r-genomeinfodb)
("r-genomicranges" ,r-genomicranges)
("r-iranges" ,r-iranges)
("r-rhtslib" ,r-rhtslib)
("r-s4vectors" ,r-s4vectors)
("r-xvector" ,r-xvector)))
(home-page "https://bioconductor.org/packages/release/bioc/html/Rsamtools.html")
(synopsis "Interface to samtools, bcftools, and tabix")
(description
"This package provides an interface to the @code{samtools},
@code{bcftools}, and @code{tabix} utilities for manipulating SAM (Sequence
Alignment / Map), FASTA, binary variant call (BCF) and compressed indexed
tab-delimited (tabix) files.")
(license license:expat)))
(define-public r-shortread
(package
(name "r-shortread")
@ -2110,6 +2487,42 @@ annotation infrastructure.")
coding changes and predict coding outcomes.")
(license license:artistic2.0)))
(define-public r-xvector
(package
(name "r-xvector")
(version "0.30.0")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "XVector" version))
(sha256
(base32
"1pqljikg4f6jb7wgm5537zwgq5b013nyz1agjrwfq2cljb0ym6lq"))))
(properties
`((upstream-name . "XVector")))
(build-system r-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'use-system-zlib
(lambda _
(substitute* "DESCRIPTION"
(("zlibbioc, ") ""))
(substitute* "NAMESPACE"
(("import\\(zlibbioc\\)") ""))
#t)))))
(inputs
`(("zlib" ,zlib)))
(propagated-inputs
`(("r-biocgenerics" ,r-biocgenerics)
("r-iranges" ,r-iranges)
("r-s4vectors" ,r-s4vectors)))
(home-page "https://bioconductor.org/packages/XVector")
(synopsis "Representation and manpulation of external sequences")
(description
"This package provides memory efficient S4 classes for storing sequences
\"externally\" (behind an R external pointer, or on disk).")
(license license:artistic2.0)))
(define-public r-geneplotter
(package
(name "r-geneplotter")
@ -2318,14 +2731,14 @@ signal in the input, that lead to spurious peaks during peak calling.")
(define-public r-diffbind
(package
(name "r-diffbind")
(version "3.0.14")
(version "3.0.15")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "DiffBind" version))
(sha256
(base32
"1siabhjd0w7bb6v2gfhsm9j7c7c86z8m6lfsyl8p84h0zhjs2vrw"))))
"06f613s8d9z51njyf839g22gwybx9zs5n6xghwr5j1ad2n4m6qwi"))))
(properties `((upstream-name . "DiffBind")))
(build-system r-build-system)
(propagated-inputs
@ -2532,14 +2945,14 @@ determining dependencies between variables, code improvement suggestions.")
(define-public r-chippeakanno
(package
(name "r-chippeakanno")
(version "3.24.1")
(version "3.24.2")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "ChIPpeakAnno" version))
(sha256
(base32
"0qdkwjv8s46d1kmgg2chijv7yzy9sv49kiks18w8x2z89prn15gj"))))
"0l417aygs89wf1j9fjpfjhahzskbpbgcrm8xpx3qm4s0307vfzkw"))))
(properties `((upstream-name . "ChIPpeakAnno")))
(build-system r-build-system)
(propagated-inputs
@ -2548,6 +2961,7 @@ determining dependencies between variables, code improvement suggestions.")
("r-biomart" ,r-biomart)
("r-biostrings" ,r-biostrings)
("r-dbi" ,r-dbi)
("r-dplyr" ,r-dplyr)
("r-ensembldb" ,r-ensembldb)
("r-genomeinfodb" ,r-genomeinfodb)
("r-genomicalignments" ,r-genomicalignments)
@ -6521,14 +6935,14 @@ annotations.")
(define-public r-rsubread
(package
(name "r-rsubread")
(version "2.4.2")
(version "2.4.3")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "Rsubread" version))
(sha256
(base32
"1wczrw5jb69x45hd3rdqqs9vkysdqwlxn9h3kjzn57r4x5q7jrra"))))
"0c4akc89p5467n5rzq9bi7h0h15rbpqpvh7fw42qcj7g2vc41wba"))))
(properties `((upstream-name . "Rsubread")))
(build-system r-build-system)
(inputs `(("zlib" ,zlib)))
@ -7987,14 +8401,14 @@ data.")
(define-public r-universalmotif
(package
(name "r-universalmotif")
(version "1.8.3")
(version "1.8.4")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "universalmotif" version))
(sha256
(base32
"1ys2kbayc1rzv8nzi60208yfslm4kzynndfg7vw2n0c30dvzycrc"))))
"0pmi5mp5v0srr482vlkfmkp28bywq969fvv9g5kjl5rxki963zmr"))))
(properties
`((upstream-name . "universalmotif")))
(build-system r-build-system)
@ -10140,8 +10554,8 @@ experiments, and visualize de influence of the involved factors.")
by spectral counts, to discover differentially expressed proteins between two
biological conditions. Three tests are available: Poisson GLM regression,
quasi-likelihood GLM regression, and the negative binomial of the edgeR
package.The three models admit blocking factors to control for nuissance
variables.To assure a good level of reproducibility a post-test filter is
package. The three models admit blocking factors to control for nuisance
variables. To assure a good level of reproducibility a post-test filter is
available, where we may set the minimum effect size considered biologicaly
relevant, and the minimum expression of the most abundant condition.")
(license license:gpl2)))
@ -10415,14 +10829,14 @@ family of feature/genome hypotheses.")
(define-public r-gviz
(package
(name "r-gviz")
(version "1.34.0")
(version "1.34.1")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "Gviz" version))
(sha256
(base32
"0v7bz46b91dnrr55ah42ljj1i2xs3090s4w0lw8098pag00p4vh2"))))
"0bmlfz9ri1gkwyl605a2hqi5b8jdpvynrxwghwmrsd657ip6c7n1"))))
(properties `((upstream-name . "Gviz")))
(build-system r-build-system)
(propagated-inputs
@ -10677,7 +11091,7 @@ the earlier snpMatrix package, allowing for uncertainty in genotypes.")
(description
"This package implements functions for combinatorial and differential
analysis of ChIP-seq data. It includes uni- and multivariate peak-calling,
export to genome browser viewable files, and functi ons for enrichment
export to genome browser viewable files, and functions for enrichment
analyses.")
(license license:artistic2.0)))

View File

@ -8,7 +8,7 @@
;;; Copyright © 2016, 2020 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2016, 2018 Raoul Bonnal <ilpuccio.febo@gmail.com>
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2017, 2021 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2018 Joshua Sierles, Nextjournal <joshua@nextjournal.com>
;;; Copyright © 2018 Gábor Boskovits <boskovits@gmail.com>
;;; Copyright © 2018, 2019, 2020, 2021 Mădălin Ionel Patrașcu <madalinionel.patrascu@mdc-berlin.de>
@ -2546,15 +2546,27 @@ accessing bigWig files.")
(define-public python-schema-salad
(package
(name "python-schema-salad")
(version "7.0.20200811075006")
(version "7.1.20210316164414")
(source
(origin
(method url-fetch)
(uri (pypi-uri "schema-salad" version))
(sha256
(base32
"0wanbwmqb189x1m0vacnhpivfsr8rwbqknngivzxxs8j46yj80bg"))))
"04jaykdpgfnkrghvli5swxzqp7yba842am4bz42hcfljsmkrxvrk"))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-before 'check 'skip-failing-tests
(lambda _
;; Skip tests that require network access.
(substitute* "schema_salad/tests/test_cwl11.py"
(("^def test_(secondaryFiles|outputBinding)" all)
(string-append "@pytest.mark.skip(reason="
"\"test requires network access\")\n"
all)))
#t)))))
(propagated-inputs
`(("python-cachecontrol" ,python-cachecontrol-0.11)
("python-lockfile" ,python-lockfile)
@ -2582,7 +2594,7 @@ and record oriented data modeling and the Semantic Web.")
(define-public cwltool
(package
(name "cwltool")
(version "3.0.20201121085451")
(version "3.0.20210319143721")
(source (origin
(method git-fetch)
(uri (git-reference
@ -2591,7 +2603,7 @@ and record oriented data modeling and the Semantic Web.")
(file-name (git-file-name name version))
(sha256
(base32
"1awf99n7aglxc5zszrlrv6jxp355jp45ws7wpsgjlgcdv7advn0w"))))
"1sgs9ckyxb9f9169mc3wm9lnjg4080ai42xqsrwpw9l8apy4c9m5"))))
(build-system python-build-system)
(arguments
`(#:phases
@ -2599,8 +2611,9 @@ and record oriented data modeling and the Semantic Web.")
(add-after 'unpack 'loosen-version-restrictions
(lambda _
(substitute* "setup.py"
(("== 1.5.1") ">=1.5.1") ; prov
((", < 3.5") "")) ; shellescape
(("== 1.5.1") ">=1.5.1") ; prov
((", < 3.5") "") ; shellescape
((" >= 6.0.2, < 6.2") "")) ; pytest
#t))
(add-after 'unpack 'dont-use-git
(lambda _
@ -2612,6 +2625,7 @@ and record oriented data modeling and the Semantic Web.")
(add-after 'unpack 'modify-tests
(lambda _
;; Tries to connect to the internet.
(delete-file "tests/test_content_type.py")
(delete-file "tests/test_udocker.py")
(delete-file "tests/test_http_input.py")
(substitute* "tests/test_load_tool.py"
@ -6235,7 +6249,7 @@ subsequent visualization, annotation and storage of results.")
(define-public plink-ng
(package (inherit plink)
(name "plink-ng")
(version "1.90b4")
(version "2.00a2.3")
(source
(origin
(method git-fetch)
@ -6244,29 +6258,26 @@ subsequent visualization, annotation and storage of results.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "02npdwgkpfkdnhw819rhj5kw02a5k5m90b14zq9zzya4hyg929c0"))))
(base32 "1p88lz9agzjlspjhciz61qjc36cfniv4nkxszyy0njqyc5rzc0cd"))))
(build-system gnu-build-system)
(arguments
'(#:tests? #f ;no "check" target
`(#:tests? #f ;no "check" target
#:make-flags (list "BLASFLAGS=-llapack -lopenblas"
"CFLAGS=-Wall -O2 -DDYNAMIC_ZLIB=1"
"ZLIB=-lz"
"-f" "Makefile.std")
"BIN=plink prettify"
(string-append "CC=" ,(cc-for-target))
(string-append "PREFIX=" (assoc-ref %outputs "out"))
"DESTDIR=")
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'chdir
(lambda _ (chdir "1.9") #t))
(delete 'configure) ; no "configure" script
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let ((bin (string-append (assoc-ref outputs "out")
"/bin/")))
(install-file "plink" bin)
#t))))))
(delete 'configure)))) ; no "configure" script
(inputs
`(("zlib" ,zlib)
("lapack" ,lapack)
("openblas" ,openblas)))
`(("lapack" ,lapack)
("openblas" ,openblas)
("zlib" ,zlib)))
(home-page "https://www.cog-genomics.org/plink/")
(license license:gpl3+)))
@ -6728,9 +6739,9 @@ of these reads to align data quickly through a hash-based indexing scheme.")
(synopsis "Biological sequence analysis tool for NGS reads")
(description
"SortMeRNA is a biological sequence analysis tool for filtering, mapping
and operational taxonomic unit (OTU) picking of next generation
sequencing (NGS) reads. The core algorithm is based on approximate seeds and
allows for fast and sensitive analyses of nucleotide sequences. The main
and @acronym{OTU, operational taxonomic unit} picking of @acronym{NGS, next
generation sequencing} reads. The core algorithm is based on approximate seeds
and allows for fast and sensitive analyses of nucleotide sequences. The main
application of SortMeRNA is filtering rRNA from metatranscriptomic data.")
;; The source includes x86 specific code
(supported-systems '("x86_64-linux" "i686-linux"))
@ -7622,311 +7633,6 @@ including VCF header and contents in RDF and JSON.")
(home-page "https://github.com/vcflib/bio-vcf")
(license license:expat)))
(define-public r-limma
(package
(name "r-limma")
(version "3.46.0")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "limma" version))
(sha256
(base32
"1xxv493q1kip9bjfv7v7k5dnq7hz7gvl80i983v4mvwavhgnbxfz"))))
(build-system r-build-system)
(home-page "http://bioinf.wehi.edu.au/limma")
(synopsis "Package for linear models for microarray and RNA-seq data")
(description "This package can be used for the analysis of gene expression
studies, especially the use of linear models for analysing designed experiments
and the assessment of differential expression. The analysis methods apply to
different technologies, including microarrays, RNA-seq, and quantitative PCR.")
(license license:gpl2+)))
(define-public r-xvector
(package
(name "r-xvector")
(version "0.30.0")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "XVector" version))
(sha256
(base32
"1pqljikg4f6jb7wgm5537zwgq5b013nyz1agjrwfq2cljb0ym6lq"))))
(properties
`((upstream-name . "XVector")))
(build-system r-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'use-system-zlib
(lambda _
(substitute* "DESCRIPTION"
(("zlibbioc, ") ""))
(substitute* "NAMESPACE"
(("import\\(zlibbioc\\)") ""))
#t)))))
(inputs
`(("zlib" ,zlib)))
(propagated-inputs
`(("r-biocgenerics" ,r-biocgenerics)
("r-iranges" ,r-iranges)
("r-s4vectors" ,r-s4vectors)))
(home-page "https://bioconductor.org/packages/XVector")
(synopsis "Representation and manpulation of external sequences")
(description
"This package provides memory efficient S4 classes for storing sequences
\"externally\" (behind an R external pointer, or on disk).")
(license license:artistic2.0)))
(define-public r-genomicranges
(package
(name "r-genomicranges")
(version "1.42.0")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "GenomicRanges" version))
(sha256
(base32
"0j4py5g6pdj35xhlaqhxxhg55j9l4mcdk3yck4dgyavv5f2dh24i"))))
(properties
`((upstream-name . "GenomicRanges")))
(build-system r-build-system)
(propagated-inputs
`(("r-biocgenerics" ,r-biocgenerics)
("r-genomeinfodb" ,r-genomeinfodb)
("r-iranges" ,r-iranges)
("r-s4vectors" ,r-s4vectors)
("r-xvector" ,r-xvector)))
(native-inputs
`(("r-knitr" ,r-knitr)))
(home-page "https://bioconductor.org/packages/GenomicRanges")
(synopsis "Representation and manipulation of genomic intervals")
(description
"This package provides tools to efficiently represent and manipulate
genomic annotations and alignments is playing a central role when it comes to
analyzing high-throughput sequencing data (a.k.a. NGS data). The
GenomicRanges package defines general purpose containers for storing and
manipulating genomic intervals and variables defined along a genome.")
(license license:artistic2.0)))
(define-public r-biobase
(package
(name "r-biobase")
(version "2.50.0")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "Biobase" version))
(sha256
(base32
"11kgc4flywlm3i18603558l8ksv91c24vkc5fnnbcd375i2dhhd4"))))
(properties
`((upstream-name . "Biobase")))
(build-system r-build-system)
(propagated-inputs
`(("r-biocgenerics" ,r-biocgenerics)))
(home-page "https://bioconductor.org/packages/Biobase")
(synopsis "Base functions for Bioconductor")
(description
"This package provides functions that are needed by many other packages
on Bioconductor or which replace R functions.")
(license license:artistic2.0)))
(define-public r-annotationdbi
(package
(name "r-annotationdbi")
(version "1.52.0")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "AnnotationDbi" version))
(sha256
(base32
"0zqxgh3nx6y8ry12s2vss2f4axz5vpqxha1y4ifhhcx4zhpzsglr"))))
(properties
`((upstream-name . "AnnotationDbi")))
(build-system r-build-system)
(propagated-inputs
`(("r-biobase" ,r-biobase)
("r-biocgenerics" ,r-biocgenerics)
("r-dbi" ,r-dbi)
("r-iranges" ,r-iranges)
("r-rsqlite" ,r-rsqlite)
("r-s4vectors" ,r-s4vectors)))
(native-inputs
`(("r-knitr" ,r-knitr)))
(home-page "https://bioconductor.org/packages/AnnotationDbi")
(synopsis "Annotation database interface")
(description
"This package provides user interface and database connection code for
annotation data packages using SQLite data storage.")
(license license:artistic2.0)))
(define-public r-biomart
(package
(name "r-biomart")
(version "2.46.3")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "biomaRt" version))
(sha256
(base32
"0gwmd0ykpv0gyh34c56g5m12lil20fvig49f3ih1jxrxf3q4wmq7"))))
(properties
`((upstream-name . "biomaRt")))
(build-system r-build-system)
(propagated-inputs
`(("r-annotationdbi" ,r-annotationdbi)
("r-biocfilecache" ,r-biocfilecache)
("r-httr" ,r-httr)
("r-openssl" ,r-openssl)
("r-progress" ,r-progress)
("r-rappdirs" ,r-rappdirs)
("r-stringr" ,r-stringr)
("r-xml" ,r-xml)
("r-xml2" ,r-xml2)))
(native-inputs
`(("r-knitr" ,r-knitr)))
(home-page "https://bioconductor.org/packages/biomaRt")
(synopsis "Interface to BioMart databases")
(description
"biomaRt provides an interface to a growing collection of databases
implementing the @url{BioMart software suite, http://www.biomart.org}. The
package enables retrieval of large amounts of data in a uniform way without
the need to know the underlying database schemas or write complex SQL queries.
Examples of BioMart databases are Ensembl, COSMIC, Uniprot, HGNC, Gramene,
Wormbase and dbSNP mapped to Ensembl. These major databases give biomaRt
users direct access to a diverse set of data and enable a wide range of
powerful online queries from gene annotation to database mining.")
(license license:artistic2.0)))
(define-public r-biocparallel
(package
(name "r-biocparallel")
(version "1.24.1")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "BiocParallel" version))
(sha256
(base32
"1iryicvmcagcrj29kp49mqhiq2kn72j4idj380hi9illmdrg9ism"))))
(properties
`((upstream-name . "BiocParallel")))
(build-system r-build-system)
(propagated-inputs
`(("r-futile-logger" ,r-futile-logger)
("r-snow" ,r-snow)
("r-bh" ,r-bh)))
(native-inputs
`(("r-knitr" ,r-knitr)))
(home-page "https://bioconductor.org/packages/BiocParallel")
(synopsis "Bioconductor facilities for parallel evaluation")
(description
"This package provides modified versions and novel implementation of
functions for parallel evaluation, tailored to use with Bioconductor
objects.")
(license (list license:gpl2+ license:gpl3+))))
(define-public r-biostrings
(package
(name "r-biostrings")
(version "2.58.0")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "Biostrings" version))
(sha256
(base32
"1rbqhs73mhfr1gi0rx28jiyan7i3hb45ai3jpl1656fnrhgjfxq5"))))
(properties
`((upstream-name . "Biostrings")))
(build-system r-build-system)
(propagated-inputs
`(("r-biocgenerics" ,r-biocgenerics)
("r-crayon" ,r-crayon)
("r-iranges" ,r-iranges)
("r-s4vectors" ,r-s4vectors)
("r-xvector" ,r-xvector)))
(home-page "https://bioconductor.org/packages/Biostrings")
(synopsis "String objects and algorithms for biological sequences")
(description
"This package provides memory efficient string containers, string
matching algorithms, and other utilities, for fast manipulation of large
biological sequences or sets of sequences.")
(license license:artistic2.0)))
(define-public r-rsamtools
(package
(name "r-rsamtools")
(version "2.6.0")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "Rsamtools" version))
(sha256
(base32
"040pggkwglc6wy90qnc7xcdnaj0v3iqlykvvsl74241409qly554"))))
(properties
`((upstream-name . "Rsamtools")))
(build-system r-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'use-system-zlib
(lambda _
(substitute* "DESCRIPTION"
(("zlibbioc, ") ""))
(substitute* "NAMESPACE"
(("import\\(zlibbioc\\)") ""))
#t)))))
(propagated-inputs
`(("r-biocgenerics" ,r-biocgenerics)
("r-biocparallel" ,r-biocparallel)
("r-biostrings" ,r-biostrings)
("r-bitops" ,r-bitops)
("r-genomeinfodb" ,r-genomeinfodb)
("r-genomicranges" ,r-genomicranges)
("r-iranges" ,r-iranges)
("r-rhtslib" ,r-rhtslib)
("r-s4vectors" ,r-s4vectors)
("r-xvector" ,r-xvector)))
(home-page "https://bioconductor.org/packages/release/bioc/html/Rsamtools.html")
(synopsis "Interface to samtools, bcftools, and tabix")
(description
"This package provides an interface to the @code{samtools},
@code{bcftools}, and @code{tabix} utilities for manipulating SAM (Sequence
Alignment / Map), FASTA, binary variant call (BCF) and compressed indexed
tab-delimited (tabix) files.")
(license license:expat)))
(define-public r-delayedarray
(package
(name "r-delayedarray")
(version "0.16.2")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "DelayedArray" version))
(sha256
(base32
"09lpj951v1afxkrnjvnhzp4qgklq23ykdwlny7k1lyfcdy9q6wm0"))))
(properties
`((upstream-name . "DelayedArray")))
(build-system r-build-system)
(propagated-inputs
`(("r-biocgenerics" ,r-biocgenerics)
("r-s4vectors" ,r-s4vectors)
("r-iranges" ,r-iranges)
("r-matrix" ,r-matrix)
("r-matrixgenerics" ,r-matrixgenerics)))
(native-inputs
`(("r-knitr" ,r-knitr)))
(home-page "https://bioconductor.org/packages/DelayedArray")
(synopsis "Delayed operations on array-like objects")
(description
"Wrapping an array-like object (typically an on-disk object) in a
@code{DelayedArray} object allows one to perform common array operations on it
without loading the object in memory. In order to reduce memory usage and
optimize performance, operations on the object are either delayed or executed
using a block processing mechanism. Note that this also works on in-memory
array-like objects like @code{DataFrame} objects (typically with Rle columns),
@code{Matrix} objects, and ordinary arrays and data frames.")
(license license:artistic2.0)))
(define-public r-summarizedexperiment
(package
(name "r-summarizedexperiment")
@ -8045,13 +7751,13 @@ as well as query and modify the browser state, such as the current viewport.")
(define-public r-genomicfeatures
(package
(name "r-genomicfeatures")
(version "1.42.2")
(version "1.42.3")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "GenomicFeatures" version))
(sha256
(base32
"17ns5hvx5q8mrmkgb6linspwml62mi34i6al5bxlib5xi9d9f04s"))))
"168cf261vmcqffbzassavkjyz9a2af0l6zbv9cagkx6b1qrk3siz"))))
(properties
`((upstream-name . "GenomicFeatures")))
(build-system r-build-system)

View File

@ -16,6 +16,7 @@
;;; Copyright © 2020 Jonathan Brielmaier <jonathan.brielmaier@web.de>
;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2021 Greg Hogan <code@greghogan.com>
;;; Copyright © 2021 Franck Pérignon <franck.perignon@univ-grenoble-alpes.fr>
;;;
;;; This file is part of GNU Guix.
;;;
@ -47,6 +48,7 @@
#:use-module (gnu packages perl)
#:use-module (gnu packages python)
#:use-module (gnu packages shells)
#:use-module (gnu packages mpi)
#:use-module (srfi srfi-1))
(define (version-with-underscores version)
@ -333,6 +335,30 @@ Boost.Thread.")
signals and slots system.")
(license (license:x11-style "https://www.boost.org/LICENSE_1_0.txt"))))
(define-public boost-mpi
(package
(inherit boost)
(name "boost-mpi")
(native-inputs
`(("perl" ,perl)
,@(if (%current-target-system)
'()
`(("python" ,python-wrapper)))
("openmpi" , openmpi)))
(arguments
(substitute-keyword-arguments (package-arguments boost)
((#:phases phases)
`(modify-phases ,phases
(add-after 'configure 'update-jam
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((output-port (open-file "project-config.jam" "a")))
(display "using mpi ;" output-port)
(newline output-port)
(close output-port))))))))
(home-page "https://www.boost.org")
(synopsis "Message Passing Interface (MPI) library for C++")))
(define-public mdds
(package
(name "mdds")

View File

@ -478,15 +478,15 @@ tree binary files. These are board description files used by Linux and BSD.")
(define u-boot
(package
(name "u-boot")
(version "2021.01")
(version "2021.04")
(source (origin
(method url-fetch)
(uri (string-append
"ftp://ftp.denx.de/pub/u-boot/"
"https://ftp.denx.de/pub/u-boot/"
"u-boot-" version ".tar.bz2"))
(sha256
(base32
"0m04glv9kn3bhs62sn675w60wkrl4m3a4hnbnnw67s3l198y21xl"))))
"06p1vymf0dl6jc2xy5w7p42mpgppa46lmpm2ishmgsycnldqnhqd"))))
(native-inputs
`(("bc" ,bc)
("bison" ,bison)

View File

@ -316,7 +316,7 @@ resembles Python.")
(define-public meson-next
(package
(inherit meson)
(version "0.57.1")
(version "0.57.2")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/mesonbuild/meson/"
@ -324,7 +324,7 @@ resembles Python.")
version ".tar.gz"))
(sha256
(base32
"19n8alcpzv6npgp27iqljkmvdmr7s2c7zm8y997j1nlvpa1cgqbj"))))))
"1iac7p99zfgkznq4qlnkk7b8xwwlilcrnkf33sczm56yqnqyg0rs"))))))
(define-public premake4
(package
@ -535,3 +535,43 @@ besides executing the make build command, updates the JSON compilation
database file corresponding to that build, resulting in a command-line
interface similar to Bear.")
(license license:gpl3)))
(define-public build
(package
(name "build")
(version "0.3.10")
(source
(origin
(method url-fetch)
(uri (string-append "https://www.codesynthesis.com/download/"
"build/" (version-major+minor version)
"/build-" version ".tar.bz2"))
(sha256
(base32 "1lx5rpnmsbip43zpp0a57sl5rm7pjb0y6i2si6rfglfp4p9d3z76"))))
(build-system gnu-build-system)
(arguments
`(#:make-flags (list (string-append "install_prefix=" %output))
#:tests? #f
#:phases (modify-phases %standard-phases
(delete 'build)
(delete 'configure))))
(home-page "https://www.codesynthesis.com/projects/build/")
(synopsis "Massively-parallel build system implemented on top of GNU make")
(description "Build is a massively-parallel software build system
implemented on top of GNU Make, designed with the following tasks in mind:
@itemize
@item configuration
@item building
@item testing
@item installation
@end itemize
Build has features such as:
@itemize
@item Position-independent makefiles.
@item Non-recursive multi-makefile include-based structure.
@item Leaf makefiles are full-fledged GNU makefiles, not just variable definitions.
@item Complete dependency graph.
@item Inter-project dependency tracking.
@item Extensible language/compiler framework.
@end itemize")
(license license:gpl2+)))

View File

@ -546,7 +546,7 @@ portability.")
(define-public aws-c-common
(package
(name "aws-c-common")
(version "0.5.2")
(version "0.5.3")
(source (origin
(method git-fetch)
(uri (git-reference
@ -555,7 +555,7 @@ portability.")
(file-name (git-file-name name version))
(sha256
(base32
"0rd2qzaa9mmn5f6f2bl1wgv54f17pqx3vwyy9f8ylh59qfnilpmg"))))
"03fcvh3l1l6fkzkcbaprk10qmy8l77zhmh60h1px2ik09sqd9p72"))))
(build-system cmake-build-system)
(arguments
'(#:configure-flags

View File

@ -156,7 +156,7 @@ the <tz.h> library for handling time zones and leap seconds.")
(native-inputs
`(("docbook-xml" ,docbook-xml-4.3)
("gobject-introspection" ,gobject-introspection)
("gtk-doc" ,gtk-doc)
("gtk-doc" ,gtk-doc/stable)
("perl" ,perl)
("pkg-config" ,pkg-config)
("vala" ,vala)))

View File

@ -2,6 +2,7 @@
;;; Copyright © 2014, 2015, 2016, 2018 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2021 Greg Hogan <code@greghogan.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -22,7 +23,7 @@
#:use-module (guix packages)
#:use-module ((guix licenses) #:select (gpl3+))
#:use-module (guix download)
#:use-module (guix build-system gnu)
#:use-module (guix build-system cmake)
#:use-module (gnu packages)
#:use-module (gnu packages perl)
#:use-module (gnu packages compression))
@ -30,25 +31,32 @@
(define-public ccache
(package
(name "ccache")
(version "3.7.12")
(version "4.2")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/ccache/ccache/releases/download/v"
version "/ccache-" version ".tar.xz"))
(sha256
(base32 "005liq8csgxdn7m9hj2ah07hishww855p8sc96y1hrnwc21lwbx0"))))
(build-system gnu-build-system)
(base32 "0kx9ggbbm899zwyyxvm4dgzn1b95zi1niz0l734pi5y3i0cb251g"))))
(build-system cmake-build-system)
(native-inputs `(("perl" ,perl) ; for test/run
("which" ,(@ (gnu packages base) which))))
(inputs `(("zlib" ,zlib)))
(inputs `(("zlib" ,zlib)
("zstd" ,zstd "lib")))
(arguments
'(#:phases (modify-phases %standard-phases
(add-before 'check 'setup-tests
(lambda _
(substitute* '("unittest/test_hashutil.c" "test/suites/base.bash")
(("#!/bin/sh") (string-append "#!" (which "sh"))))
#t)))))
'(#:phases
(modify-phases %standard-phases
(add-before 'configure 'setup-tests
(lambda _
(substitute* '("unittest/test_hashutil.cpp" "test/suites/base.bash")
(("#!/bin/sh") (string-append "#!" (which "sh"))))
#t))
;; tests require a writable HOME
(add-before 'check 'set-home
(lambda _
(setenv "HOME" (getenv "TMPDIR"))
#t)))))
(home-page "https://ccache.dev/")
(synopsis "Compiler cache")
(description

View File

@ -111,7 +111,7 @@ taken from the NSS package and thus ultimately from the Mozilla project.")
(define-public le-certs
(package
(name "le-certs")
(version "0")
(version "1")
(source #f)
(build-system trivial-build-system)
(arguments
@ -119,9 +119,12 @@ taken from the NSS package and thus ultimately from the Mozilla project.")
#:builder
(begin
(use-modules (guix build utils))
(let ((root (assoc-ref %build-inputs "isrgrootx1.pem"))
(intermediate (assoc-ref %build-inputs "letsencryptauthorityx3.pem"))
(backup (assoc-ref %build-inputs "letsencryptauthorityx4.pem"))
(let ((root-rsa (assoc-ref %build-inputs "isrgrootx1.pem"))
(root-ecdsa (assoc-ref %build-inputs "isrgrootx2.pem"))
(intermediate-rsa (assoc-ref %build-inputs "letsencryptauthorityr3.pem"))
(intermediate-ecdsa (assoc-ref %build-inputs "letsencryptauthoritye1.pem"))
(backup-rsa (assoc-ref %build-inputs "letsencryptauthorityr4.pem"))
(backup-ecdsa (assoc-ref %build-inputs "letsencryptauthoritye2.pem"))
(out (string-append (assoc-ref %outputs "out") "/etc/ssl/certs"))
(openssl (assoc-ref %build-inputs "openssl"))
(perl (assoc-ref %build-inputs "perl")))
@ -130,7 +133,9 @@ taken from the NSS package and thus ultimately from the Mozilla project.")
(lambda (cert)
(copy-file cert (string-append out "/"
(strip-store-file-name cert))))
(list root intermediate backup))
(list root-rsa root-ecdsa
intermediate-rsa intermediate-ecdsa
backup-rsa backup-ecdsa))
;; Create hash symlinks suitable for OpenSSL ('SSL_CERT_DIR' and
;; similar.)
@ -150,26 +155,55 @@ taken from the NSS package and thus ultimately from the Mozilla project.")
(sha256
(base32
"1la36n2f31j9s03v847ig6ny9lr875q3g7smnq33dcsmf2i5gd92"))))
;; "Lets Encrypt Authority X3", the active Let's Encrypt intermediate
;; certificate.
("letsencryptauthorityx3.pem"
; Upcoming ECDSA Let's Encrypt root certificate, "ISRG Root X2"
; Let's Encrypt describes it as "Active, limited availability"
("isrgrootx2.pem"
,(origin
(method url-fetch)
(uri "https://letsencrypt.org/certs/letsencryptauthorityx3.pem")
(uri "https://letsencrypt.org/certs/isrg-root-x2.pem")
(sha256
(base32
"100lxxvqv4fj563bm03zzk5r36hq5jx9nnrajzs38g825c5k0cg2"))))
;; "Lets Encrypt Authority X4", the backup Let's Encrypt intermediate
;; certificate. This will be used for disaster recovery and will only be
;; used should Let's Encrypt lose the ability to issue with "Lets
;; Encrypt Authority X3".
("letsencryptauthorityx4.pem"
,(origin
(method url-fetch)
(uri "https://letsencrypt.org/certs/letsencryptauthorityx4.pem")
(sha256
(base32
"0d5256gwf73drq6q6jala28rfzhrgbk5pjfq27vc40ly91pdyh8m"))))))
"04xh8912nwkghqydbqvvmslpqbcafgxgjh9qnn0z2vgy24g8hgd1"))))
;; "Lets Encrypt Authority R3", the active Let's Encrypt intermediate
;; RSA certificate.
("letsencryptauthorityr3.pem"
,(origin
(method url-fetch)
(uri "https://letsencrypt.org/certs/lets-encrypt-r3.pem")
(sha256
(base32
"0clxry49rx6qd3pgbzknpgzywbg3j96zy0227wwjnwivqj7inzhp"))))
;; "Lets Encrypt Authority E1", the active Let's Encrypt intermediate
;; ECDSA certificate.
("letsencryptauthoritye1.pem"
,(origin
(method url-fetch)
(uri "https://letsencrypt.org/certs/lets-encrypt-e1.pem")
(sha256
(base32
"1zwrc6dlk1qig0z23x6x7fib14rrw41ccbf2ds0rw75zccc59xx0"))))
;; "Lets Encrypt Authority R4", the backup Let's Encrypt intermediate
;; RSA certificate. This will be used for disaster recovery and will only be
;; used should Let's Encrypt lose the ability to issue with "Lets
;; Encrypt Authority R3".
("letsencryptauthorityr4.pem"
,(origin
(method url-fetch)
(uri "https://letsencrypt.org/certs/lets-encrypt-r4.pem")
(sha256
(base32
"09bzxzbwb9x2xxan3p1fyj1pi2p5yks0879gwz5f28y9mzq8vmd8"))))
;; "Lets Encrypt Authority E2", the backup Let's Encrypt intermediate
;; ECDSA certificate. This will be used for disaster recovery and will
;; only be used should Let's Encrypt lose the ability to issue with "Lets
;; Encrypt Authority E1".
("letsencryptauthoritye2.pem"
,(origin
(method url-fetch)
(uri "https://letsencrypt.org/certs/lets-encrypt-e2.pem")
(sha256
(base32
"1wfmsa29lyi9dkh6xdcamb2rhkp5yl2ppnsgrzcrjl5c7gbqh9ml"))))))
(home-page "https://letsencrypt.org/certificates/")
(synopsis "Let's Encrypt root and intermediate certificates")
(description "This package provides a certificate store containing only the

View File

@ -24,11 +24,11 @@
;;; Copyright © 2017, 2019 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2017, 2019 Kei Kebreau <kkebreau@posteo.net>
;;; Copyright © 2017 Nikita <nikita@n0.is>
;;; Copyright © 2015, 2017, 2018, 2020 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015, 2017, 2018, 2020, 2021 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016, 2017, 2018, 2019, 2020 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017, 2018, 2020 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2018 Fis Trivial <ybbs.daans@hotmail.com>
;;; Copyright © 2019 Pierre Langlois <pierre.langlois@gmx.com>
;;; Copyright © 2019, 2021 Pierre Langlois <pierre.langlois@gmx.com>
;;; Copyright © 2019 Chris Marusich <cmmarusich@gmail.com>
;;; Copyright © 2020 Lars-Dominik Braun <ldb@leibniz-psychology.org>
;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
@ -562,7 +562,7 @@ and it supports a very flexible form of test discovery.")
(define-public doctest
(package
(name "doctest")
(version "2.4.5")
(version "2.4.6")
(home-page "https://github.com/onqtam/doctest")
(source (origin
(method git-fetch)
@ -570,7 +570,7 @@ and it supports a very flexible form of test discovery.")
(file-name (git-file-name name version))
(sha256
(base32
"1pc34dvpgdzx3paqdf0khgs87kvjncx27yn434f5ic33r1lwr9r4"))))
"14m3q6d96zg6d99x1152jkly50gdjrn5ylrbhax53pfgfzzc5yqx"))))
(build-system cmake-build-system)
(synopsis "C++ test framework")
(description
@ -1089,6 +1089,37 @@ supports coverage of subprocesses.")
(define-public python2-pytest-cov
(package-with-python2 python-pytest-cov))
(define-public python-pytest-httpserver
(package
(name "python-pytest-httpserver")
(version "1.0.0")
(source (origin
(method url-fetch)
(uri (pypi-uri "pytest_httpserver" version))
(sha256
(base32
"0vbls0j570l5my83j4jnk5blmnir44i0w511azlh41nl6k8rac5f"))))
(build-system python-build-system)
(native-inputs
`(("python-pytest" ,python-pytest)))
(propagated-inputs
`(("python-werkzeug" ,python-werkzeug)))
(arguments
'(#:phases
(modify-phases %standard-phases
(add-before 'check 'fix-library-loading
(lambda _
(setenv "PYTHONPATH" (string-append (getenv "PYTHONPATH") ":."))))
(replace 'check
(lambda _
(invoke "pytest" "tests" "-vv")
(invoke "pytest" "tests" "-vv" "--ssl"))))))
(home-page "https://github.com/csernazs/pytest-httpserver")
(synopsis "HTTP server for pytest")
(description "Pytest plugin library to test http clients without
contacting the real http server.")
(license license:expat)))
(define-public python-pytest-runner
(package
(name "python-pytest-runner")
@ -1704,7 +1735,7 @@ C/C++, R, and more, and uploads it to the @code{codecov.io} service.")
(define-public python-testpath
(package
(name "python-testpath")
(version "0.2")
(version "0.4.4")
(source
(origin
(method git-fetch)
@ -1714,7 +1745,7 @@ C/C++, R, and more, and uploads it to the @code{codecov.io} service.")
(file-name (git-file-name name version))
(sha256
(base32
"0r4iiizjql6ny1ln7ciw7rrbjadz1s9zrf2hl0xkgnh3ypd8936f"))))
"1fwv4d3p54xx1x942s104irr35lszvv6jnr4nn1scsfvc0m1qmbk"))))
(build-system python-build-system)
(arguments
`(#:tests? #f ; this package does not even have a setup.py
@ -1723,19 +1754,25 @@ C/C++, R, and more, and uploads it to the @code{codecov.io} service.")
(srfi srfi-1))
#:phases
(modify-phases %standard-phases
(delete 'install)
(replace 'build
(lambda _
;; A ZIP archive should be generated, but it fails with "ZIP does
;; not support timestamps before 1980". Luckily,
;; SOURCE_DATE_EPOCH is respected, which we set to some time in
;; 1980.
(setenv "SOURCE_DATE_EPOCH" "315532800")
(invoke "flit" "build")))
(replace 'install
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((version (last
(string-split (assoc-ref inputs "python") #\-)))
(x.y (string-join (take (string-split version #\.) 2)
"."))
(dir (string-append
(assoc-ref outputs "out")
"/lib/python" x.y "/site-packages/testpath")))
(mkdir-p dir)
(copy-recursively "testpath" dir))
#t)))))
(add-installed-pythonpath inputs outputs)
(let ((out (assoc-ref outputs "out")))
(for-each (lambda (wheel)
(format #true wheel)
(invoke "python" "-m" "pip" "install"
wheel (string-append "--prefix=" out)))
(find-files "dist" "\\.whl$"))))))))
(native-inputs
`(("python-flit" ,python-flit)))
(home-page "https://github.com/takluyver/testpath")
(synopsis "Test utilities for code working with files and commands")
(description
@ -2687,7 +2724,7 @@ provides a simple way to achieve this.")
(native-inputs
`(("vala" ,vala)
("gobject-introspection" ,gobject-introspection)
("gtk-doc" ,gtk-doc)
("gtk-doc" ,gtk-doc/stable)
("pkg-config" ,pkg-config)
;; For tests.

View File

@ -4,6 +4,7 @@
;;; Copyright © 2017, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 Brett Gilio <brettg@gnu.org>
;;; Copyright © 2020 Brendan Tildesley <mail@brendan.scot>
;;; Copyright © 2021 Philip McGrath <philip@philipmcgrath.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -29,6 +30,7 @@
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix utils)
#:use-module (guix gexp)
#:use-module (guix build-system gnu)
#:use-module (gnu packages compression)
#:use-module (gnu packages ncurses)
@ -43,23 +45,27 @@
#:use-module (srfi srfi-1))
(define nanopass
(let ((version "1.9.1"))
(let ((version "1.9.2"))
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/nanopass/nanopass-framework-scheme")
(commit (string-append "v" version))))
(sha256 (base32 "1synadgaycca39jfx525975ss9y0lkl516sdrc62wrrllamm8n21"))
(sha256 (base32 "16vjsik9rrzbabbhbxbaha51ppi3f9n8rk59pc6zdyffs0vziy4i"))
(file-name (git-file-name "nanopass" version)))))
(define stex
(let ((version "1.2.2"))
;; This commit includes a fix, which we would otherwise want to use as
;; patch. Let's revert to tagged releases as soon as one becomes available.
(let* ((commit "54051494434a197772bf6ca5b4e6cf6be55f39a5")
(version "1.2.2")
(version (git-version version "1" commit)))
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/dybvig/stex")
(commit (string-append "v" version))))
(sha256 (base32 "1q5i8pf4cdfjsj6r2k1rih7ljbfggyxdng2p2fvsgarzihpsin2i"))
(commit commit)))
(sha256 (base32 "01jnvw8qw33gnpzwrakwhsr05h6b609lm180jnspcrb7lds2p23d"))
(file-name (git-file-name "stex" version)))))
(define-public chez-scheme
@ -74,21 +80,41 @@
(commit (string-append "v" version))))
(sha256
(base32 "0prgn2z9l888j93ydxaf04ph424g0fi3a8w7f8m0b2r7fr1v7388"))
(file-name (git-file-name name version))))
(file-name (git-file-name name version))
(patches
(search-patches
;; backported from upstream: remove on next release
"chez-scheme-build-util-paths-backport.patch"))
(snippet
;; remove bundled libraries
(with-imported-modules '((guix build utils))
#~(begin
(use-modules (guix build utils))
(for-each (lambda (dir)
(when (directory-exists? dir)
(delete-file-recursively dir)))
'("stex"
"nanopass"
"lz4"
"zlib")))))))
(build-system gnu-build-system)
(inputs
`(("ncurses" ,ncurses)
("libuuid" ,util-linux "lib")
("libx11" ,libx11)
("lz4" ,lz4)
("lz4:static" ,lz4 "static")
("xorg-rgb" ,xorg-rgb)
("nanopass" ,nanopass)
`(("libuuid" ,util-linux "lib")
("zlib" ,zlib)
("zlib:static" ,zlib "static")
("stex" ,stex)))
("lz4" ,lz4)
("lz4:static" ,lz4 "static")
;; for expeditor:
("ncurses" ,ncurses)
;; for X11 clipboard support in expeditor:
;; https://github.com/cisco/ChezScheme/issues/9#issuecomment-222057232
("libx11" ,libx11)))
(native-inputs
`(("texlive" ,(texlive-updmap.cfg (list texlive-latex-oberdiek
`(("nanopass" ,nanopass) ; source only
;; for docs
("stex" ,stex)
("xorg-rgb" ,xorg-rgb)
("texlive" ,(texlive-union (list texlive-latex-oberdiek
texlive-generic-epsf)))
("ghostscript" ,ghostscript)
("netpbm" ,netpbm)))
@ -98,96 +124,54 @@
(files (list (string-append "lib/csv" version "-site"))))))
(outputs '("out" "doc"))
(arguments
`(#:modules ((guix build gnu-build-system)
(guix build utils)
(ice-9 match))
`(#:modules
((guix build gnu-build-system)
(guix build utils)
(ice-9 ftw)
(ice-9 match))
#:test-target "test"
#:configure-flags
(list ,(match (or (%current-target-system) (%current-system))
("x86_64-linux" '(list "--machine=ta6le"))
("i686-linux" '(list "--machine=ti3le"))
;; Let autodetection have its attempt on other architectures.
(_
'())))
'("--threads") ;; TODO when we fix armhf, it doesn't support --threads
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-processor-detection
(lambda _ (substitute* "configure"
(("uname -a") "uname -m"))
#t))
;; Adapt the custom 'configure' script.
;; put these where configure expects them to be
(add-after 'unpack 'unpack-nanopass+stex
(lambda* (#:key native-inputs inputs #:allow-other-keys)
(for-each (lambda (dep)
(define src
(assoc-ref (or native-inputs inputs) dep))
(copy-recursively src dep
#:keep-mtime? #t))
'("nanopass" "stex"))
#t))
;; NOTE: the custom Chez 'configure' script doesn't allow
;; unrecognized flags, such as those automatically added
;; by `gnu-build-system`.
(replace 'configure
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
(nanopass (assoc-ref inputs "nanopass"))
(stex (assoc-ref inputs "stex"))
(lz4-static (assoc-ref inputs "lz4:static"))
(zlib-static (assoc-ref inputs "zlib:static"))
(unpack (assoc-ref %standard-phases 'unpack))
(patch-source-shebangs
(assoc-ref %standard-phases 'patch-source-shebangs)))
(map (match-lambda
((src orig-name new-name)
(with-directory-excursion "."
(apply unpack (list #:source src))
(apply patch-source-shebangs (list #:source src)))
(delete-file-recursively new-name)
(invoke "mv" orig-name new-name)))
`((,nanopass "source" "nanopass")
(,stex "source" "stex")))
;; The configure step wants to CURL all submodules as it
;; detects a checkout without submodules. Disable curling,
;; and manually patch the needed modules for compilation.
(substitute* "configure"
(("! -f '") "-d '")) ; working around CURL.
(substitute* (find-files "mats" "Mf-.*")
(("^[[:space:]]+(cc ) *") "\tgcc "))
(substitute*
(find-files "." (string-append
"("
"Mf-[a-zA-Z0-9.]+"
"|Makefile[a-zA-Z0-9.]*"
"|checkin"
"|stex\\.stex"
"|newrelease"
"|workarea"
"|unix\\.ms"
"|^6\\.ms"
;;"|[a-zA-Z0-9.]+\\.ms" ; guile can't read
")"))
(("/bin/rm") (which "rm"))
(("/bin/ln") (which "ln"))
(("/bin/cp") (which "cp"))
(("/bin/echo") (which "echo")))
(substitute* "makefiles/installsh"
(("/bin/true") (which "true")))
(substitute* "stex/Makefile"
(("PREFIX=/usr") (string-append "PREFIX=" out)))
(invoke "./configure" "--threads"
(string-append "ZLIB=" zlib-static "/lib/libz.a")
(string-append "LZ4=" lz4-static "/lib/liblz4.a")
(string-append "--installprefix=" out)))))
;; Installation of the documentation requires a running "chez".
(add-after 'install 'install-doc
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((doc (string-append (assoc-ref outputs "doc")
"/share/doc/" ,name "-" ,version)))
(invoke "make" "docs")
(with-directory-excursion "csug"
(substitute* "Makefile"
;; The installdir= can't be overruled on the command line.
(("/tmp/csug9") doc)
;; $m is the machine type, e.g. ta6le on x86_64, but is
;; set incorrectly for some reason, e.g. to a6le on x86_64.
;; Avoid the whole mess by running the (machine-independent)
;; installsh script at its original location.
(("\\$m/installsh") "makefiles/installsh"))
(invoke "make" "install")
(install-file "csug.pdf" doc))
(with-directory-excursion "release_notes"
(install-file "release_notes.pdf" doc))
(lambda* (#:key inputs outputs
(configure-flags '())
#:allow-other-keys)
(let* ((zlib-static (assoc-ref inputs "zlib:static"))
(lz4-static (assoc-ref inputs "lz4:static"))
(out (assoc-ref outputs "out"))
;; add flags which are always required:
(flags (cons*
(string-append "--installprefix=" out)
(string-append "ZLIB=" zlib-static "/lib/libz.a")
(string-append "LZ4=" lz4-static "/lib/liblz4.a")
;; Guix will do compress man pages,
;; and letting Chez try causes an error
"--nogzip-man-pages"
configure-flags)))
(format #t "configure flags: ~s~%" flags)
;; Some makefiles (for tests) don't seem to propagate CC
;; properly, so we take it out of their hands:
(setenv "CC" ,(cc-for-target))
(apply invoke
"./configure"
flags)
#t)))
;; The binary file name is called "scheme" as the one from MIT/GNU
;; The binary file name is called "scheme" as is the one from MIT/GNU
;; Scheme. We add a symlink to use in case both are installed.
(add-after 'install 'install-symlink
(lambda* (#:key outputs #:allow-other-keys)
@ -202,16 +186,75 @@
"/" name ".boot")))
(find-files lib "scheme.boot"))
#t)))
(add-before 'reset-gzip-timestamps 'make-manpages-writable
(lambda* (#:key outputs #:allow-other-keys)
(map (lambda (file)
(make-file-writable file))
(find-files (string-append (assoc-ref outputs "out")
"/share/man")
".*\\.gz$"))
#t)))))
;; According to the documentation MIPS is not supported.
;; Cross-compiling for the Raspberry Pi is supported, but not native ARM.
;; Building explicitly lets us avoid using substitute*
;; to re-write makefiles.
(add-after 'install-symlink 'prepare-stex
(lambda* (#:key native-inputs inputs outputs #:allow-other-keys)
(let* ((stex+version
(strip-store-file-name
(assoc-ref (or native-inputs inputs) "stex")))
;; Eventually we want to install stex as a real
;; package so it's reusable. For now:
(stex-output "/tmp")
(doc-dir (string-append stex-output
"/share/doc/"
stex+version)))
(with-directory-excursion "stex"
(invoke "make"
"install"
(string-append "LIB="
stex-output
"/lib/"
stex+version)
(string-append "Scheme="
(assoc-ref outputs "out")
"/bin/scheme"))
(for-each (lambda (pth)
(install-file pth doc-dir))
'("ReadMe" ; includes the license
"doc/stex.html"
"doc/stex.css"
"doc/stex.pdf"))
#t))))
;; Building the documentation requires stex and a running scheme.
;; FIXME: this is probably wrong for cross-compilation
(add-after 'prepare-stex 'install-doc
(lambda* (#:key native-inputs inputs outputs #:allow-other-keys)
(let* ((chez+version (strip-store-file-name
(assoc-ref outputs "out")))
(stex+version
(strip-store-file-name
(assoc-ref (or native-inputs inputs) "stex")))
(scheme (string-append (assoc-ref outputs "out")
"/bin/scheme"))
;; see note on stex-output in phase build-stex, above:
(stexlib (string-append "/tmp"
"/lib/"
stex+version))
(doc-dir (string-append (assoc-ref outputs "doc")
"/share/doc/"
chez+version)))
(define* (stex-make #:optional (suffix ""))
(invoke "make"
"install"
(string-append "Scheme=" scheme)
(string-append "STEXLIB=" stexlib)
(string-append "installdir=" doc-dir suffix)))
(with-directory-excursion "csug"
(stex-make "/csug"))
(with-directory-excursion "release_notes"
(stex-make "/release_notes"))
(with-directory-excursion doc-dir
(symlink "release_notes/release_notes.pdf"
"release_notes.pdf")
(symlink "csug/csug9_5.pdf"
"csug.pdf"))
#t))))))
;; Chez Scheme does not have a MIPS backend.
;; FIXME: Debian backports patches to get armhf working.
;; We should too. It is the Chez machine type arm32le
;; (no threaded version upstream yet, though there is in
;; Racket's fork), more specifically (per the release notes) ARMv6.
(supported-systems (fold delete %supported-systems
'("mips64el-linux" "armhf-linux")))
(home-page "https://cisco.github.io/ChezScheme/")

View File

@ -21,8 +21,6 @@
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix gexp)
#:use-module (guix store)
#:use-module (guix monads)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix utils)
@ -305,7 +303,7 @@
(string-append "ungoogled-chromium-" category "-" name))))
(sha256 (base32 hash))))
(define %ungoogled-revision "89.0.4389.90-1")
(define %ungoogled-revision "89.0.4389.114-1")
(define %debian-revision "debian/84.0.4147.105-1")
(define %debian-patches
@ -325,7 +323,7 @@
%ungoogled-revision)))
(sha256
(base32
"0pr756d1b4wc67d61b21yszi7mx1hsjy14i44j0kvcwm05pgnf79"))))
"0cr2i51gxhgl55c8f9w0ra3m5q2dk03sf7p2qn4bqq1l1l72hw6s"))))
(define %guix-patches
(list (local-file
@ -466,7 +464,7 @@
".tar.xz"))
(sha256
(base32
"16i7bgk2jbcqs2p28nk5mlf0k6wah594pcsfm8b154nxbyf0iihi"))
"007df9p78bbmk3iyfi8qn57mmn68qqrdhx6z8n2hl8ksd7lspw7j"))
(modules '((guix build utils)))
(snippet (force ungoogled-chromium-snippet))))
(build-system gnu-build-system)

View File

@ -25,49 +25,38 @@
#:use-module ((guix licenses) #:prefix l:)
#:use-module (gnu packages)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix download)
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
#:use-module (gnu packages boost)
#:use-module (gnu packages check)
#:use-module (gnu packages docbook)
#:use-module (gnu packages compression)
#:use-module (gnu packages databases)
#:use-module (gnu packages guile)
#:use-module (gnu packages guile-xyz)
#:use-module (gnu packages gnupg)
#:use-module (gnu packages lisp-xyz)
#:use-module (gnu packages mail)
#:use-module (gnu packages package-management)
#:use-module (gnu packages perl)
#:use-module (gnu packages perl-compression)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages serialization)
#:use-module (gnu packages sqlite)
#:use-module (gnu packages tls)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages version-control)
#:use-module (gnu packages web)
#:use-module (gnu packages xml)
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu))
(define-public guile-mastodon-dev
(let ((commit "88115d85221876b1baea4accb7c76995da32f479")
(revision "1"))
(package
(inherit guile-mastodon)
(name "guile-mastodon")
(version (git-version "0.0.1" revision commit))
(home-page "https://framagit.org/mothacehe/guile-mastodon.git")
(source (origin
(method git-fetch)
(uri (git-reference
(url home-page)
(commit commit)))
(sha256
(base32
"04dgxliz9bmhn0f7h1n0dj0r5h0fzhg80nxl1rpbxh4zs1yw9qvj"))
(file-name (string-append name "-" version "-checkout")))))))
(define-public cuirass
(let ((commit "6f4a203a0bb2d441d091d561c1735fbe2d170cf7")
(revision "2"))
(let ((commit "922cc66089035d4dbc277df06366e41a0806bffb")
(revision "11"))
(package
(name "cuirass")
(version (git-version "1.0.0" revision commit))
@ -80,17 +69,29 @@
(file-name (git-file-name name version))
(sha256
(base32
"120cnnjy4j2dinfmas1ddmqzzc7ikj9c76sl4li6g6dn8g7s8f69"))))
"1kanag19dvaqpij7j6gznsfzajc5iir9qj6vq016bc4al5x6ggj4"))))
(build-system gnu-build-system)
(arguments
'(#:modules ((guix build utils)
`(#:modules ((guix build utils)
(guix build gnu-build-system)
(ice-9 rdelim)
(ice-9 popen))
#:configure-flags '("--localstatedir=/var") ;for /var/log/cuirass
;; XXX: HTTP tests fail on aarch64 due to Fibers errors, disable them
;; on that architecture for now.
#:tests? ,(let ((s (or (%current-target-system)
(%current-system))))
(not (string-prefix? "aarch64" s)))
#:parallel-tests? #f
#:phases
(modify-phases %standard-phases
(add-before 'bootstrap 'fix-version-gen
(lambda _
(patch-shebang "build-aux/git-version-gen")
(call-with-output-file ".tarball-version"
(lambda (port)
(display ,version port)))))
(add-before 'check 'set-PATH-for-tests
(lambda* (#:key inputs #:allow-other-keys)
(let ((pg (assoc-ref inputs "ephemeralpg"))
@ -158,7 +159,7 @@
("guile-squee" ,guile-squee)
("guile-git" ,guile-git)
("guile-zlib" ,guile-zlib)
("guile-mastodon" ,guile-mastodon-dev)
("guile-mastodon" ,guile-mastodon)
("gnutls" ,gnutls)
("mailutils" ,mailutils)
;; FIXME: this is propagated by "guile-git", but it needs to be among
@ -186,5 +187,120 @@
(description
"Cuirass is a continuous integration tool using GNU Guix. It is
intended as a replacement for Hydra.")
(home-page "https://www.gnu.org/software/guix/")
(home-page "https://guix.gnu.org/cuirass/")
(license l:gpl3+))))
(define-public laminar
(package
(name "laminar")
(version "1.0")
(source
(origin (method url-fetch)
(uri (string-append "https://github.com/ohwgiles/laminar/archive/"
version
".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"11m6h3rdmj2rsmsryy7r40gqccj4gg1cnqwy6blscs87gx4s423g"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f ; TODO Can't build tests
#:configure-flags
(list "-DCMAKE_CXX_STANDARD=17"
;; "-DBUILD_TESTS=true" TODO: objcopy: js/stPskyUS: can't add
;; section '.note.GNU-stack': file format not recognized
(string-append "-DLAMINAR_VERSION=" ,version))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-CMakeLists.txt
(lambda _
(substitute* "CMakeLists.txt"
(("file\\(DOWNLOAD.*\n$")
"# file download removed by Guix --")
(("install\\(FILES etc/laminar.service DESTINATION \\$\\{SYSTEMD\\_UNITDIR\\}\\)")
"")
(("install\\(FILES \\$\\{CMAKE\\_CURRENT\\_BINARY\\_DIR\\}\\/laminar\\.service DESTINATION \\$\\{SYSTEMD\\_UNITDIR\\}\\)")
"")
(("install\\(FILES etc/laminar\\.conf DESTINATION \\/etc\\)") "")
(("\\/usr\\/") ""))
#t))
(add-after 'configure 'copy-in-javascript-and-css
(lambda* (#:key inputs outputs #:allow-other-keys)
(use-modules (ice-9 popen))
(mkdir-p "../build/js")
(for-each (lambda (name)
(let* ((file
(assoc-ref inputs (string-append name ".js")))
(port
(open-pipe* OPEN_READ "uglify-js" file))
(destination
(string-append
"../build/js/" name ".min.js")))
(call-with-output-file destination
(lambda (output-port)
(dump-port port output-port)))
(let ((exit (close-pipe port)))
(unless (zero? exit)
(error "uglify-js failed" exit)))))
'("vue"
"vue-router"
"Chart"))
;; ansi_up.js isn't minified
(copy-file (assoc-ref inputs "ansi_up.js")
"../build/js/ansi_up.js")
#t)))))
(inputs
`(("capnproto" ,capnproto)
("rapidjson" ,rapidjson)
("sqlite" ,sqlite)
("boost" ,boost)
("zlib" ,zlib)))
(native-inputs
`(("googletest" ,googletest)
("uglify-js" ,uglify-js)
("vue.js"
,(origin (method url-fetch)
(uri (string-append "https://raw.githubusercontent.com/"
"vuejs/vue/v2.6.12/dist/vue.js"))
(sha256
(base32
"1mq2dn6yqbmzar77xf4x2bvvanf9xc9nwfq06sksl5zmr300m7qm"))))
("vue-router.js"
,(origin (method url-fetch)
(uri (string-append "https://raw.githubusercontent.com/"
"vuejs/vue-router/v3.4.8/dist/vue-router.js"))
(sha256
(base32
"1hkrbgzhpnrsb4zdafslqagy1vkac6bkdj7kh49js2lhkp9z4nj5"))))
("ansi_up.js"
,(origin (method url-fetch)
(uri (string-append "https://raw.githubusercontent.com/"
"drudru/ansi_up/v1.3.0/ansi_up.js"))
(sha256
(base32
"1993dywxqi2ylnxybwk7m0s0bg2bq7kfllpyr0s8ck6chd0p8i6r"))))
("Chart.js"
,(origin (method url-fetch)
(uri (string-append "https://github.com/chartjs/Chart.js/"
"releases/download/v2.7.2/Chart.js"))
(sha256
(base32
"05m3gk6hqjx92j20drnk7q075qpjraywqaf25lnglmsgsgpiqsr7"))))))
(synopsis "Lightweight continuous integration service")
(description
"Laminar is a lightweight and modular continuous integration service. It
doesn't have a configuration web UI instead uses version-controllable
configuration files and scripts.
Laminar encourages the use of existing tools such as bash and cron instead of
reinventing them.")
(home-page "https://laminar.ohwg.net/")
(license l:gpl3+)))

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2015, 2018, 2020 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013, 2015, 2018, 2020, 2021 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2015, 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016, 2017, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
@ -180,7 +180,7 @@ around in a large, deeply nested project.")
(version "2.26")
(source (origin
(method url-fetch)
(uri (string-append "http://www.dwheeler.com/sloccount/sloccount-"
(uri (string-append "https://dwheeler.com/sloccount/sloccount-"
version ".tar.gz"))
(sha256
(base32
@ -221,7 +221,7 @@ around in a large, deeply nested project.")
#:make-flags (list (string-append "PREFIX="
(assoc-ref %outputs "out")))))
(inputs `(("perl" ,perl)))
(home-page "http://www.dwheeler.com/sloccount/")
(home-page "https://dwheeler.com/sloccount/")
(synopsis "Count physical source lines of code (SLOC)")
(description
"SLOCCount is a set of the programs for counting source lines of

View File

@ -7,7 +7,7 @@
;;; Copyright © 2015, 2016, 2017, 2018, 2020 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015, 2017, 2018 Leo Famulari <leo@famulari.name>
;;; Copyright © 2015 Jeff Mickey <j@codemac.net>
;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com>
;;; Copyright © 2016 Danny Milosavljevic <dannym@scratchpost.org>
;;; Copyright © 20162021 Tobias Geerinckx-Rice <me@tobias.gr>
@ -2072,7 +2072,8 @@ decompression is a little bit slower.")
version "/upx-" version "-src.tar.xz"))
(sha256
(base32
"051pk5jk8fcfg5mpgzj43z5p4cn7jy5jbyshyn78dwjqr7slsxs7"))))
"051pk5jk8fcfg5mpgzj43z5p4cn7jy5jbyshyn78dwjqr7slsxs7"))
(patches (search-patches "upx-CVE-2021-20285.patch"))))
(build-system gnu-build-system)
(native-inputs
`(("perl" ,perl)))

View File

@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017 Ethan R. Jones <doubleplusgood23@gmail.com>
;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 20182021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Fis Trivial <ybbs.daans@hotmail.com>
;;; Copyright © 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2019, 2020 Mathieu Othacehe <m.othacehe@gmail.com>
@ -17,6 +17,8 @@
;;; Copyright © 2020, 2021 Greg Hogan <code@greghogan.com>
;;; Copyright © 2020 Brett Gilio <brettg@gnu.org>
;;; Copyright © 2020 Milkey Mouse <milkeymouse@meme.institute>
;;; Copyright © 2021 Raghav Gururajan <rg@raghavgururajan.name>
;;;
;;; This file is part of GNU Guix.
;;;
@ -37,6 +39,7 @@
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix utils)
#:use-module (guix git-download)
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
@ -45,6 +48,7 @@
#:use-module (gnu packages)
#:use-module (gnu packages autotools)
#:use-module (gnu packages boost)
#:use-module (gnu packages build-tools)
#:use-module (gnu packages c)
#:use-module (gnu packages check)
#:use-module (gnu packages code)
@ -59,12 +63,14 @@
#:use-module (gnu packages llvm)
#:use-module (gnu packages logging)
#:use-module (gnu packages maths)
#:use-module (gnu packages onc-rpc)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages popt)
#:use-module (gnu packages pretty-print)
#:use-module (gnu packages tls)
#:use-module (gnu packages web))
#:use-module (gnu packages web)
#:use-module (gnu packages xml))
(define-public range-v3
(package
@ -267,7 +273,7 @@ combination of these streams.")
(define-public xsimd
(package
(name "xsimd")
(version "7.4.9")
(version "7.4.10")
(source
(origin
(method git-fetch)
@ -275,7 +281,7 @@ combination of these streams.")
(url "https://github.com/QuantStack/xsimd")
(commit version)))
(sha256
(base32 "11by8gbshm4vv6flqp0ihff8c6nmbaqq7ms93b38rrq68bigcply"))
(base32 "097yvxrxdldi5s5m4nsxv8f4gwv9xj42mqig98a1z3hkjj1j2gn5"))
(file-name (git-file-name name version))))
(build-system cmake-build-system)
(arguments
@ -482,7 +488,7 @@ tools (containers, algorithms) used by other QuantStack packages.")
(define-public ccls
(package
(name "ccls")
(version "0.20201025")
(version "0.20201219")
(source
(origin
(method git-fetch)
@ -490,8 +496,7 @@ tools (containers, algorithms) used by other QuantStack packages.")
(url "https://github.com/MaskRay/ccls")
(commit version)))
(sha256
(base32
"13v00q1bz8g0ckw1sv0zyicbc44irc00vhwxdv3vvwlvylm7s21p"))
(base32 "0nkg92rgb1x6scpiwdamfrd1ag87j7ajxyn5qi861r916m5mh9m8"))
(file-name (git-file-name name version))))
(build-system cmake-build-system)
(arguments
@ -1015,3 +1020,194 @@ Linear Congruential Generator (LCG) with a permutation function to increase
output randomness while retaining speed, simplicity, and conciseness.")
(home-page "https://www.pcg-random.org")
(license (list license:expat license:asl2.0))))) ; dual licensed
(define-public libcutl
(package
(name "libcutl")
(version "1.10.0")
(source (origin
(method url-fetch)
(uri (string-append
"https://www.codesynthesis.com/download/libcutl/"
(version-major+minor version)
"/libcutl-" version ".tar.bz2"))
(sha256
(base32
"070j2x02m4gm1fn7gnymrkbdxflgzxwl7m96aryv8wp3f3366l8j"))
(modules '((guix build utils)))
(snippet
'(begin
;; Remove bundled sources.
(with-directory-excursion "cutl/details"
(for-each delete-file-recursively
;; FIXME: Boost_RegEx isn't being detected.
(list
;;"boost"
"expat")))))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags (list "--disable-static"
;;"--with-external-boost"
"--with-external-expat")))
(inputs
`(;;("boost ,boost)
("expat" ,expat)))
(home-page "https://www.codesynthesis.com/projects/libcutl/")
(synopsis "C++ utility library with generic and independent components")
(description "libcutl is a C++ utility library. It contains a collection
of generic and independent components such as meta-programming tests, smart
pointers, containers, compiler building blocks, etc.")
(license (list license:expat ;everything except...
license:boost1.0)))) ;...the files under cutl/details/boost
(define-public libxsd-frontend
(package
(name "libxsd-frontend")
(version "2.0.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://www.codesynthesis.com/download/"
"libxsd-frontend/" (version-major+minor version)
"/libxsd-frontend-" version ".tar.bz2"))
(sha256
(base32 "1nmzchsvwvn66jpmcx18anzyl1a3l309x1ld4zllrg37ijc31fim"))))
(build-system gnu-build-system)
(arguments
`(#:test-target "test"
#:imported-modules ((guix build copy-build-system)
,@%gnu-build-system-modules)
#:modules (((guix build copy-build-system) #:prefix copy:)
(guix build gnu-build-system)
(guix build utils))
#:make-flags (list (string-append "--include-dir="
(assoc-ref %build-inputs "build")
"/include/"))
#:phases
(modify-phases %standard-phases
(delete 'configure)
(replace 'install
(lambda args
(apply (assoc-ref copy:%standard-phases 'install)
#:install-plan
'(("xsd-frontend" "include/xsd-frontend"
#:include-regexp ("\\.?xx$"))
("xsd-frontend" "lib"
#:include-regexp ("\\.so$")))
args))))))
(native-inputs
`(("build" ,build)))
(inputs
`(("libcutl" ,libcutl)
("libxerces-c" ,xerces-c)))
(synopsis "XSD Front-end")
(description "@code{libxsd-frontend} is a compiler frontend for the W3C
XML Schema definition language. It includes a parser, semantic graph types
and a traversal mechanism.")
(home-page "https://www.codesynthesis.com/projects/libxsd-frontend/")
(license license:gpl2+)))
(define-public cli
(package
(name "cli")
(version "1.1.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://www.codesynthesis.com/download/"
"cli/" (version-major+minor version)
"/cli-" version ".tar.bz2"))
(sha256
(base32 "0bg0nsai2q4h3mldpnj0jz4iy4svs0bcfvmq0v0c9cdyknny606g"))))
(build-system gnu-build-system)
(arguments
`(#:test-target "test"
#:make-flags (list (string-append "--include-dir="
(assoc-ref %build-inputs "build")
"/include")
(string-append "install_prefix="
(assoc-ref %outputs "out")))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch
(lambda _
(substitute* (find-files "." "\\.make$")
(("build-0\\.3")
(string-append (assoc-ref %build-inputs "build")
"/include/build-0.3")))
;; Add the namespace prefix, to avoid errors such as "error:
;; iterate_and_dispatch was not declared in this scope".
(substitute* (find-files "." "\\.?xx$")
(("add \\(typeid \\(type\\), \\*this\\);" all)
(string-append "traverser_map<B>::" all))
(("iterate_and_dispatch \\(s\\.names_begin.*;" all)
(string-append "edge_dispatcher::" all)))))
(delete 'configure))))
(native-inputs
`(("build" ,build)))
(inputs
`(("libcutl" ,libcutl)))
(synopsis "C++ Command Line Interface (CLI) definition language")
(description "@code{cli} is a domain-specific language (DSL) for defining
command line interfaces of C++ programs. It allows you to describe the
options that your program supports, their types, default values, and
documentation.")
(home-page "https://codesynthesis.com/projects/cli/")
(license license:expat)))
(define-public xsd
(package
(name "xsd")
(version "4.0.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://www.codesynthesis.com/download/"
"xsd/" (version-major+minor version)
"/xsd-" version ".tar.bz2"))
(sha256
(base32 "1hi9ppxd34np8ydv1h0vgc2qpdmgcd1cdzgk30aidv670xjg91fx"))))
(build-system gnu-build-system)
(outputs '("out" "doc")) ;3.8 MiB of doc and examples
(arguments
`(#:test-target "test"
#:make-flags (list (string-append "--include-dir="
(assoc-ref %build-inputs "build")
"/include/")
(string-append "install_prefix="
(assoc-ref %outputs "out")))
#:phases (modify-phases %standard-phases
(add-after 'install 'move-doc
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
(doc (assoc-ref outputs "doc")))
(mkdir-p (string-append doc "/share/doc"))
(rename-file (string-append out "/share/doc/xsd")
(string-append doc "/share/doc/xsd-"
,version)))))
(delete 'configure))))
(native-inputs
`(("build" ,build)
("cli" ,cli)))
(inputs
`(("libcutl" ,libcutl)
("libnsl" ,libnsl)
("libxsd-frontend" ,libxsd-frontend)))
(propagated-inputs
;; The code XSD generates requires the following library at run time;
;; propagate it for convenience.
`(("xerces-c" ,xerces-c)))
(synopsis "XML Data Binding for C++")
(description "CodeSynthesis XSD (also known as libxsd or xsdcxx) is an XML
Schema to C++ data binding compiler. Provided with an XML instance
specification (XML Schema), it generates C++ classes that represent the given
vocabulary as well as XML parsing and serialization code. The data stored in
XML can then be accessed using types and functions that semantically
correspond to an application domain rather than dealing with the intricacies
of reading and writing XML.")
(home-page "https://codesynthesis.com/projects/xsd/")
;; Exceptions are made to allow using the generated source files as well
;; as the libxsd library in free software projects whose license is
;; incompatible with the GPL v2. Refer to the file named FLOSSE for the
;; details.
(license license:gpl2+)))

File diff suppressed because it is too large Load Diff

View File

@ -1934,6 +1934,7 @@ interactive applications.")
("rust-arbitrary" ,rust-arbitrary-0.4)
("rust-arg-enum-proc-macro" ,rust-arg-enum-proc-macro-0.3)
("rust-arrayvec" ,rust-arrayvec-0.5)
("rust-assert-cmd" ,rust-assert-cmd-1)
("rust-av-metrics" ,rust-av-metrics-0.6)
("rust-backtrace" ,rust-backtrace-0.3)
("rust-bitstream-io" ,rust-bitstream-io-1)
@ -1942,6 +1943,7 @@ interactive applications.")
("rust-cfg-if" ,rust-cfg-if-1)
("rust-clap" ,rust-clap-2)
("rust-console" ,rust-console-0.14)
("rust-criterion" ,rust-criterion-0.3)
("rust-crossbeam" ,rust-crossbeam-0.8)
("rust-dav1d-sys" ,rust-dav1d-sys-0.3)
("rust-fern" ,rust-fern-0.6)
@ -1957,6 +1959,7 @@ interactive applications.")
("rust-num-derive" ,rust-num-derive-0.3)
("rust-num-traits" ,rust-num-traits-0.2)
("rust-paste" ,rust-paste-1)
("rust-pretty-assertions" ,rust-pretty-assertions-0.6)
("rust-rand" ,rust-rand-0.8)
("rust-rand-chacha" ,rust-rand-chacha-0.3)
("rust-rayon" ,rust-rayon-1)

View File

@ -14,7 +14,7 @@
;;; Copyright © 2020 Antoine Côté <antoine.cote@posteo.net>
;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2021 aecepoglu <aecepoglu@fastmail.fm>
;;; Copyright @ 2021 Zheng Junjie <873216071@qq.com>
;;; Copyright © 2021 Zheng Junjie <873216071@qq.com>
;;; Copyright © 2021 Alexandru-Sergiu Marton <brown121407@posteo.ro>
;;;
;;; This file is part of GNU Guix.
@ -12978,6 +12978,26 @@ Standard.")
"Streaming transcoding for encoding_rs.")
(license (list license:asl2.0 license:expat))))
(define-public rust-endian-type-0.1
(package
(name "rust-endian-type")
(version "0.1.2")
(source
(origin
(method url-fetch)
(uri (crate-uri "endian-type" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "0bbh88zaig1jfqrm7w3gx0pz81kw2jakk3055vbgapw3dmk08ky3"))))
(build-system cargo-build-system)
(arguments `(#:skip-build? #t))
(home-page "https://github.com/Lolirofle/endian-type")
(synopsis "Type safe wrappers for types with a defined byte order")
(description
"This crates provides type safe wrappers for types with a defined byte
order.")
(license license:expat)))
(define-public rust-enum-as-inner-0.3
(package
(name "rust-enum-as-inner")
@ -13950,7 +13970,7 @@ supported in purely NFA-based implementations.")
(synopsis "Find the physical space used by a file")
(description
"@code{filesize} abstracts platform-specific methods of determining the
real space used by files, taking into account filesystem compression and
real space used by files, taking into account file system compression and
sparse files.")
(license license:expat)))
@ -17252,6 +17272,29 @@ highlighting for a large number of languages, git integration, and automatic
paging.")
(license (list license:expat license:asl2.0))))
(define-public rust-hamcrest2-0.3
(package
(name "rust-hamcrest2")
(version "0.3.0")
(source
(origin
(method url-fetch)
(uri (crate-uri "hamcrest2" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "0x8hx7jyzz2bl0wf6nir62imd26yhp6qcr7zf76cjpg05p33gy29"))))
(build-system cargo-build-system)
(arguments
`(#:skip-build? #t
#:cargo-inputs
(("rust-num" ,rust-num-0.2)
("rust-regex" ,rust-regex-1))))
(home-page "https://github.com/Valloric/hamcrest2-rust")
(synopsis "Rust port of the Hamcrest testing library")
(description
"This package provides a port of the Hamcrest testing library.")
(license (list license:expat license:asl2.0))))
(define-public rust-handlebars-2
(package
(name "rust-handlebars")
@ -18038,8 +18081,8 @@ Hash-based Message Authentication Code}.")
(home-page "https://github.com/pantsman0/rust-hmac-sha1")
(synopsis "Minimal implementation of HMAC-SHA1 in Rust")
(description
"This package is a pure Rust implementation of the Hash-based Message
Authentication Code Algoritm (HMAC) for SHA1.")
"This package is a pure Rust implementation of the @acronym{HMAC,
Hash-based Message Authentication Code algorithm} for SHA1.")
(license license:bsd-3)))
(define-public rust-hostname-0.3
@ -22313,14 +22356,13 @@ image together with its neighboring pixels.")
(name "rust-lopdf")
(version "0.26.0")
(source
(origin
(method url-fetch)
(uri (crate-uri "lopdf" version))
(file-name
(string-append name "-" version ".tar.gz"))
(sha256
(base32
"1wqnmibs8qzi6pr3ig4h3sg6bfkkgyv4ngdng81x069725r056ml"))))
(origin
(method url-fetch)
(uri (crate-uri "lopdf" version))
(file-name
(string-append name "-" version ".tar.gz"))
(sha256
(base32 "1wqnmibs8qzi6pr3ig4h3sg6bfkkgyv4ngdng81x069725r056ml"))))
(build-system cargo-build-system)
(arguments
`(#:cargo-inputs
@ -22328,7 +22370,7 @@ image together with its neighboring pixels.")
("rust-dtoa" ,rust-dtoa-0.4)
("rust-encoding" ,rust-encoding-0.2)
("rust-flate2" ,rust-flate2-1)
("rust-image" ,rust-image-0.23)
("rust-image" ,rust-image-0.20)
("rust-itoa" ,rust-itoa-0.4)
("rust-linked-hash-map" ,rust-linked-hash-map-0.5)
("rust-log" ,rust-log-0.4)
@ -22336,17 +22378,7 @@ image together with its neighboring pixels.")
("rust-nom" ,rust-nom-6)
("rust-pom" ,rust-pom-3)
("rust-rayon" ,rust-rayon-1)
("rust-time" ,rust-time-0.2))
#:phases (modify-phases %standard-phases
(add-before 'check 'disable-problematic-tests
(lambda _
;; This tests depends on the test_1_create.pdf file
;; having created by create_document, but the file does
;; not always exist at the time the test run (see:
;; https://github.com/J-F-Liu/lopdf/issues/137).
(substitute* "src/parser_aux.rs"
(("fn load_and_save" all)
(string-append "#[ignore] " all))))))))
("rust-time" ,rust-time-0.2))))
(home-page "https://github.com/J-F-Liu/lopdf")
(synopsis "Rust library for PDF document manipulation")
(description
@ -24853,6 +24885,27 @@ cryptographic library.")
release (fork of debug_unreachable)")
(license license:expat)))
(define-public rust-nibble-vec-0.1
(package
(name "rust-nibble-vec")
(version "0.1.0")
(source
(origin
(method url-fetch)
(uri (crate-uri "nibble_vec" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "0hsdp3s724s30hkqz74ky6sqnadhp2xwcj1n1hzy4vzkz4yxi9bp"))))
(build-system cargo-build-system)
(arguments
`(#:skip-build? #t
#:cargo-inputs
(("rust-smallvec" ,rust-smallvec-1))))
(home-page "https://github.com/michaelsproul/rust_nibble_vec")
(synopsis "Vector data-structure for half-byte values")
(description "NibbleVec is a data structure for storing a sequence of half-bytes.")
(license license:expat)))
(define-public rust-nickel-0.11
(package
(name "rust-nickel")
@ -24918,8 +24971,36 @@ selectors. You can use the jQuery-like syntax to query and manipulate an HTML
document quickly.")
(license (list license:expat license:asl2.0))))
(define-public rust-nix-0.20
(package
(name "rust-nix")
(version "0.20.0")
(source
(origin
(method url-fetch)
(uri (crate-uri "nix" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "12n1syfd967hblrcrrqk63a4s1h4hsybfqwblh71rihvv8cli6zs"))))
(build-system cargo-build-system)
(arguments
`(#:skip-build? #t
#:cargo-inputs
(("rust-bitflags" ,rust-bitflags-1)
("rust-cc" ,rust-cc-1)
("rust-cfg-if" ,rust-cfg-if-1)
("rust-libc" ,rust-libc-0.2))))
(home-page "https://github.com/nix-rust/nix")
(synopsis "Rust friendly bindings to *nix APIs")
(description
"Nix seeks to provide friendly bindings to various *nix platform APIs.
The goal is to not provide a 100% unified interface, but to unify what can be
while still providing platform specific APIs.")
(license license:expat)))
(define-public rust-nix-0.19
(package
(inherit rust-nix-0.20)
(name "rust-nix")
(version "0.19.1")
(source
@ -24929,7 +25010,6 @@ document quickly.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "1wk1pmaf9pv84sc4jf19gm1as2yq3ydwcx0n5nc1bpsgzq6bmk5j"))))
(build-system cargo-build-system)
(arguments
`(#:tests? #f ; test suite hangs
#:cargo-inputs
@ -24944,14 +25024,7 @@ document quickly.")
("rust-rand" ,rust-rand-0.6)
("rust-semver" ,rust-semver-0.9)
("rust-sysctl" ,rust-sysctl-0.1)
("rust-tempfile" ,rust-tempfile-3))))
(home-page "https://github.com/nix-rust/nix")
(synopsis "Rust friendly bindings to *nix APIs")
(description
"Nix seeks to provide friendly bindings to various *nix platform APIs.
The goal is to not provide a 100% unified interface, but to unify what can be
while still providing platform specific APIs.")
(license license:expat)))
("rust-tempfile" ,rust-tempfile-3))))))
(define-public rust-nix-0.18
(package
@ -31051,6 +31124,31 @@ that must be shared-mutable, but merely may use atomic instructions to do so.")
radix.")
(license license:asl2.0)))
(define-public rust-radix-trie-0.2
(package
(name "rust-radix-trie")
(version "0.2.1")
(source
(origin
(method url-fetch)
(uri (crate-uri "radix_trie" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "1zaq3im5ss03w91ij11cj97vvzc5y1f3064d9pi2ysnwziww2sf0"))))
(build-system cargo-build-system)
(arguments
`(#:skip-build? #t
#:cargo-inputs
(("rust-endian-type" ,rust-endian-type-0.1)
("rust-nibble-vec" ,rust-nibble-vec-0.1)
("rust-serde" ,rust-serde-1))))
(home-page "https://github.com/michaelsproul/rust_radix_trie")
(synopsis "Generic radix trie data-structure")
(description
"This is a Radix Trie implementation in Rust, building on the lessons
learnt from TrieMap and Sequence Trie.")
(license license:expat)))
(define-public rust-rand-0.8
(package
(name "rust-rand")
@ -31271,14 +31369,14 @@ useful types and distributions, and some randomness-related algorithms.")
(define-public rust-rand-core-0.6
(package
(name "rust-rand-core")
(version "0.6.1")
(version "0.6.2")
(source
(origin
(method url-fetch)
(uri (crate-uri "rand_core" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "1rfjrcyaj7blz2nawv2pypm5kqc59p80n6f5pg691399iggxf9n0"))))
(base32 "1rvas1afjvd2827b8mf2ilg78h3ksl9npkrdds3wbw9x33mndkrl"))))
(build-system cargo-build-system)
(arguments
`(#:skip-build? #t
@ -33090,14 +33188,14 @@ MessagePack format.")
(define-public rust-rocket-0.4
(package
(name "rust-rocket")
(version "0.4.6")
(version "0.4.7")
(source
(origin
(method url-fetch)
(uri (crate-uri "rocket" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "1sb6i0y65hq4wy4awa14diyv19wcd1sii2mfjdlcwam3mbbfbisg"))))
(base32 "04ybnhjw92zaan92lsmx6mkhqc9cpsg3885svb3wzyj39pyzvsvz"))))
(build-system cargo-build-system)
(arguments
`(#:skip-build? #t
@ -33127,14 +33225,14 @@ and speed.")
(define-public rust-rocket-codegen-0.4
(package
(name "rust-rocket-codegen")
(version "0.4.6")
(version "0.4.7")
(source
(origin
(method url-fetch)
(uri (crate-uri "rocket_codegen" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "0n4k00fwwabvkjvnl62gwdc5v7rsg6bnmmwwiwm5bzpmdnqm94ai"))))
(base32 "18s2dll8c4sd26s8cfr6cizj5z55xwnk6r6x7b2wvcf8n9ajrb6f"))))
(build-system cargo-build-system)
(arguments
`(#:skip-build? #t
@ -33155,14 +33253,14 @@ and speed.")
(define-public rust-rocket-http-0.4
(package
(name "rust-rocket-http")
(version "0.4.6")
(version "0.4.7")
(source
(origin
(method url-fetch)
(uri (crate-uri "rocket_http" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "0msjjclqcgh8kpa54b4kv6zbybambc9kmkfm1q5adiq3fbg8gl59"))))
(base32 "0ga98nbcga8amg4xhrfkn1wljnqx9h0vv7mnay9g66vsxl042dnf"))))
(build-system cargo-build-system)
(arguments
`(#:skip-build? #t
@ -35152,8 +35250,46 @@ sub-processes using a fork-like interface.")
("rust-tempfile" ,rust-tempfile-3)
("rust-wait-timeout" ,rust-wait-timeout-0.2))))))
(define-public rust-rustyline-8
(package
(name "rust-rustyline")
(version "8.0.0")
(source
(origin
(method url-fetch)
(uri (crate-uri "rustyline" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "14z8hyx33ygyhm5ihcl9n2g646dawlw3ajavnbbb3vnizjbvbqdr"))))
(build-system cargo-build-system)
(arguments
`(#:skip-build? #t
#:cargo-inputs
(("rust-bitflags" ,rust-bitflags-1)
("rust-cfg-if" ,rust-cfg-if-1)
("rust-dirs-next" ,rust-dirs-next-2)
("rust-fs2" ,rust-fs2-0.4)
("rust-libc" ,rust-libc-0.2)
("rust-log" ,rust-log-0.4)
("rust-memchr" ,rust-memchr-2)
("rust-nix" ,rust-nix-0.20)
("rust-radix-trie" ,rust-radix-trie-0.2)
("rust-scopeguard" ,rust-scopeguard-1)
("rust-smallvec" ,rust-smallvec-1)
("rust-unicode-segmentation" ,rust-unicode-segmentation-1)
("rust-unicode-width" ,rust-unicode-width-0.1)
("rust-utf8parse" ,rust-utf8parse-0.2)
("rust-winapi" ,rust-winapi-0.3)
("skim" ,skim))))
(home-page "https://github.com/kkawakam/rustyline")
(synopsis "Readline implementation in Rust")
(description
"Rustyline is a readline implementation based on the linenoise package.")
(license license:expat)))
(define-public rust-rustyline-7
(package
(inherit rust-rustyline-8)
(name "rust-rustyline")
(version "7.1.0")
(source
@ -35163,7 +35299,6 @@ sub-processes using a fork-like interface.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "1v1czmy3ir7d06xldp8bg94l97hrm15hcgdxxkq3cwbizhdk09w2"))))
(build-system cargo-build-system)
(arguments
`(#:skip-build? #t
#:cargo-inputs
@ -35180,12 +35315,7 @@ sub-processes using a fork-like interface.")
("rust-unicode-width" ,rust-unicode-width-0.1)
("rust-utf8parse" ,rust-utf8parse-0.2)
("rust-winapi" ,rust-winapi-0.3)
("skim" ,skim-0.7))))
(home-page "https://github.com/kkawakam/rustyline")
(synopsis "Readline implementation in Rust")
(description
"Rustyline, a readline implementation based on the linenoise package.")
(license license:expat)))
("skim" ,skim-0.7))))))
(define-public rust-rustyline-6
(package
@ -35673,8 +35803,9 @@ with one of the implemented strategies.")
(("rust-fs2" ,rust-fs2-0.4))))
(home-page "https://github.com/dtolnay/scratch")
(synopsis "Compile-time temporary directory")
(description "This crate exposes a compile-time temporary directory sharable
by multiple crates in a build graph and erased by @code{cargo clean}.")
(description "This crate exposes a compile-time temporary directory
shareable by multiple crates in a build graph and erased by @code{cargo
clean}.")
(license (list license:expat license:asl2.0))))
(define-public rust-scrypt-0.3
@ -38890,7 +39021,7 @@ I/O programming.")
(define-public rust-smallvec-1
(package
(name "rust-smallvec")
(version "1.4.1")
(version "1.6.1")
(source
(origin
(method url-fetch)
@ -38899,7 +39030,7 @@ I/O programming.")
(string-append name "-" version ".tar.gz"))
(sha256
(base32
"0gqgmbfj8228lc55xxg331flizzwq6hfyy6gw4j2y6hni6fwnmrp"))))
"0kk08axr0ybfbjzk65a41k84mb6sfhyajmfndaka9igkx34kf3zy"))))
(build-system cargo-build-system)
(arguments
`(#:cargo-inputs

View File

@ -153,7 +153,7 @@ base compiler and using LIBC (which may be either a libc package or #f.)"
"--disable-decimal-float" ;would need libc
"--disable-libcilkrts"
,@(if (equal? "powerpc64le-linux-gnu" target)
,@(if (string-prefix? "powerpc64le-" target)
;; On POWER9 (little endian) glibc needs
;; the 128-bit long double type.
'("--with-long-double-128")

View File

@ -773,15 +773,18 @@ data on your platform, so the seed itself will be as random as possible.
(define-public crypto++
(package
(name "crypto++")
(version "8.4.0")
(version "8.5.0")
(source (origin
(method url-fetch/zipbomb)
(uri (string-append "https://cryptopp.com/cryptopp"
(string-join (string-split version #\.) "")
".zip"))
(method git-fetch)
(uri
(git-reference
(url "https://github.com/weidai11/cryptopp")
(commit
(string-append "CRYPTOPP_"
(string-replace-substring version "." "_")))))
(sha256
(base32
"16kvfm11xv7j9a3yykzysjgw38a9b7lnc5n5x5h82g395k6ybxf0"))))
"0in7rlazq91vfi519g9wr7bh87hii47cimxv7fmj0f88vhjaidq3"))))
(build-system gnu-build-system)
(arguments
`(#:make-flags

View File

@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2016 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 20192021 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
@ -35,7 +35,7 @@
(define-public cryptsetup
(package
(name "cryptsetup")
(version "2.3.4")
(version "2.3.5")
(source (origin
(method url-fetch)
(uri (string-append "mirror://kernel.org/linux/utils/cryptsetup/v"
@ -43,7 +43,7 @@
"/cryptsetup-" version ".tar.xz"))
(sha256
(base32
"0wrpz2fzbsszmsgxxbssxjgylpyiindh24z8g13m2fxmjsxyw5lx"))))
"1hbhzlv4vbib1da20vnrqaikhxi7ljnchbzrv8v2a4sd8ipr9nff"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags

View File

@ -744,14 +744,15 @@ printer/driver specific, but spooler-independent PPD file.")
(define-public foo2zjs
(package
(name "foo2zjs")
(version "20200610")
(source (origin
(method url-fetch)
;; XXX: This is an unversioned URL!
(uri "http://foo2zjs.rkkda.com/foo2zjs.tar.gz")
(sha256
(base32
"11ddx6wf8b5ksl4fqw6fnyz9m3y470lryyrskkya2bsch2bvj9lg"))))
(version "20200610.1")
(source
(origin
(method url-fetch)
;; The upstream tarball is unversioned: use a stable snapshot.
(uri (string-append "https://web.archive.org/web/20210224094943if_/"
"http://foo2zjs.rkkda.com/foo2zjs.tar.gz"))
(sha256
(base32 "03ncif50n7ck7drggqxbc7w0kgzdb90ha0dbvqk98ky8lw3k76xd"))))
(build-system gnu-build-system)
(arguments
'(#:phases (modify-phases %standard-phases

View File

@ -62,6 +62,7 @@
(base32
"1j2g04m6als6hmqzvddv84c31m0x90bfgyz3bjrwdkarbkby40k3"))
(patches (search-patches "curl-use-ssl-cert-env.patch"))))
(replacement curl/fixed)
(build-system gnu-build-system)
(outputs '("out"
"doc")) ;1.2 MiB of man3 pages
@ -145,6 +146,20 @@ tunneling, and so on.")
(define-public curl-minimal
(deprecated-package "curl-minimal" curl))
(define-public curl/fixed
(package
(inherit curl)
(version "7.76.0")
(source
(origin
(inherit (package-source curl))
(uri (string-append "https://curl.haxx.se/download/curl-"
version ".tar.xz"))
(patches (search-patches "curl-7.76-use-ssl-cert-env.patch"))
(sha256
(base32
"1j2g04m6als6hmqzvddv84c31m0x90bfgyz3bjrwdkarbkby40k3"))))))
(define-public kurly
(package
(name "kurly")

View File

@ -48,6 +48,7 @@
;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
;;; Copyright © 2021 Sharlatan Hellseher <sharlatanus@gmail.com>
;;; Copyright © 2021 Greg Hogan <code@greghogan.com>
;;; Copyright © 2021 David Larsson <david.larsson@selfhosted.xyz>
;;;
;;; This file is part of GNU Guix.
;;;
@ -734,6 +735,7 @@ Language.")
(append (find-files "extra/wolfssl")
(find-files "zlib")))
#t))))
(replacement mariadb/fixed)
(build-system cmake-build-system)
(outputs '("out" "lib" "dev"))
(arguments
@ -969,6 +971,13 @@ Language.")
as a drop-in replacement of MySQL.")
(license license:gpl2)))
(define mariadb/fixed
(package
(inherit mariadb)
(source (origin
(inherit (package-source mariadb))
(patches (search-patches "mariadb-CVE-2021-27928.patch"))))))
(define-public mariadb-connector-c
(package
(name "mariadb-connector-c")
@ -994,6 +1003,31 @@ as a drop-in replacement of MySQL.")
developed in C/C++ to MariaDB and MySQL databases.")
(license license:lgpl2.1+)))
(define-public galera
(package
(name "galera")
(version "26.4.7")
(source (origin
(method git-fetch)
(uri (git-reference
(commit "bac8171266cb982fe013ce496d78085438c6f23e")
(url "https://github.com/codership/galera")
(recursive? #t)))
(file-name (git-file-name name version))
(sha256
(base32 "0h7s670pcasq8wzprhyxqfca2cghi62b8xz2kikb2a86wd453qil"))))
(build-system cmake-build-system)
(inputs
`(("check" ,check)
("boost" ,boost)
("openssl" ,openssl)))
(home-page "https://github.com/codership/galera/")
(synopsis "Extension to the MariaDB database server")
(description
"Galera is a wsrep-provider that is used with MariaDB for load-balancing
and high-availability (HA).")
(license license:gpl2))) ;'COPYING' says "version 2" only
;; Don't forget to update the other postgresql packages when upgrading this one.
(define-public postgresql-13
(package
@ -2467,7 +2501,10 @@ can autogenerate peewee models using @code{pwiz}, a model generator.")
(lambda _
(substitute* "setup.py"
(("pypika>=0\\.44\\.0,<0\\.45\\.0") "pypika")
(("aiosqlite>=0.16.0,<0.17.0") "aiosqlite"))
(("aiosqlite>=0.16.0,<0.17.0") "aiosqlite")
(("pytz>=2020\\.4,<2021\\.0") "pytz")
;; Not required, since ciso8601 is used.
(("'iso8601>=0\\.1\\.13,<0\\.2\\.0',") ""))
#t)))))
(native-inputs
`(("python-asynctest" ,python-asynctest)
@ -2476,6 +2513,7 @@ can autogenerate peewee models using @code{pwiz}, a model generator.")
`(("python-aiosqlite" ,python-aiosqlite)
("python-pypika" ,python-pypika)
("python-ciso8601" ,python-ciso8601)
("python-pytz" ,python-pytz)
("python-typing-extensions"
,python-typing-extensions)))
(home-page
@ -3776,7 +3814,8 @@ The drivers officially supported by @code{libdbi} are:
(base32
"14x2gjblkgpflv75wl144cyjp1sis5rbxnr9r2gj3yw16v2av0bp"))))
(build-system cmake-build-system)
(inputs
(propagated-inputs
;; Headers of soci has include-references to headers of these inputs.
`(("firebird" ,firebird)
("postgresql" ,postgresql)
("sqlite" ,sqlite)
@ -3799,14 +3838,14 @@ PostreSQL, SQLite, ODBC and MySQL.")
(define-public freetds
(package
(name "freetds")
(version "1.2.18")
(version "1.2.19")
(source
(origin
(method url-fetch)
(uri (string-append "https://www.freetds.org/files/stable/"
"freetds-" version ".tar.gz"))
(sha256
(base32 "1hspvwxwdd1apadsy2b40dpjik8kfwcvdamvhpg3lnm15n02fb50"))))
(base32 "11xf2w8gh2p9cq4i38jfvdiwgig8wqbg098xjc08kx4iii8lxy3m"))))
(build-system gnu-build-system)
(arguments
;; NOTE: (Sharlatan-20210110213908+0000) some tests require DB connection,

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2018, 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018, 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2020 Marius Bakke <marius@gnu.org>
;;;
@ -41,7 +41,7 @@
(define-public debian-archive-keyring
(package
(name "debian-archive-keyring")
(version "2019.1")
(version "2021.1.1")
(source
(origin
(method git-fetch)
@ -51,7 +51,7 @@
(file-name (git-file-name name version))
(sha256
(base32
"0bphwji3ywk1zi5bq8bhqk7l51fwjy1idwsw7zfqnxca8m5wvw1g"))))
"0dcmv7y1k6j3a646kr0rkd2a0c4j2wrz868bh8j9zjx1npzns73q"))))
(build-system gnu-build-system)
(arguments
'(#:test-target "verify-results"
@ -84,7 +84,7 @@ contains the archive keys used for that.")
(define-public ubuntu-keyring
(package
(name "ubuntu-keyring")
(version "2018.09.18.1")
(version "2021.03.26")
(source
(origin
(method url-fetch)
@ -92,7 +92,7 @@ contains the archive keys used for that.")
"+files/" name "_" version ".tar.gz"))
(sha256
(base32
"0csx2n62rj9rxjv4y8qhby7l9rbybfwrb0406pc2cjr7f2yk91af"))))
"1ccvwh4s51viyhcg8gh189jmvbrhc5wv1bbp4minz3200rffsbj9"))))
(build-system trivial-build-system)
(arguments
`(#:modules ((guix build utils))
@ -284,7 +284,7 @@ other apt sources typically provided by open source developers.")
(define-public dpkg
(package
(name "dpkg")
(version "1.20.7.1")
(version "1.20.9")
(source
(origin
(method git-fetch)
@ -294,7 +294,7 @@ other apt sources typically provided by open source developers.")
(file-name (git-file-name name version))
(sha256
(base32
"0d1cppigwhpv0z1ac94gjalkzs3n0gjyi383pkhz1h9d4fvmadk9"))))
"16wlb8hwbdvxar187bjd4pzdzj95g3l2ryi2khqqmwbyca4sjm1n"))))
(build-system gnu-build-system)
(arguments
`(#:phases

View File

@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014, 2015, 2016, 2017, 2019, 2020 Eric Bavier <bavier@posteo.net>
;;; Copyright © 2016, 2017, 2018, 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2017, 2018, 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018, 2019 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2019 Pkill -9 <pkill9@runbox.com>
@ -179,12 +179,13 @@ tools that process C/C++ code.")
("aarch64-linux" "aarch64")
("armhf-linux" "arm")
("mips64el-linux" "mips64el")
("powerpc-linux" "ppc")
;; Prevent errors when querying this package on unsupported
;; platforms, e.g. when running "guix package --search="
(_ "UNSUPPORTED"))))
(package
(name "american-fuzzy-lop")
(version "2.56b") ;It seems all releases have the 'b' suffix
(version "2.57b") ;It seems all releases have the 'b' suffix
(source
(origin
(method git-fetch)
@ -192,7 +193,7 @@ tools that process C/C++ code.")
(url "https://github.com/google/AFL")
(commit (string-append "v" version))))
(sha256
(base32 "1q1g59gkm48aa4cg9h70jx4i2gapmypgp5rzs156b2avd95vwkn1"))
(base32 "0ks0s8iizp7mpc9mlpv126rsny0dkljfsw68689g9jiisjz2z530"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(inputs
@ -254,6 +255,7 @@ down the road.")
("aarch64-linux" "aarch64")
("armhf-linux" "arm")
("mips64el-linux" "mips64el")
("powerpc-linux" "ppc")
;; Prevent errors when querying this package on unsupported
;; platforms, e.g. when running "guix package --search="
(_ "UNSUPPORTED"))))
@ -269,7 +271,8 @@ down the road.")
(base32
"17w21spvaxaidi2am5lpsln8yjpyp2zi3s3gc6nsxj5arlgamzgw"))
(patches
(search-patches "qemu-glibc-2.27.patch"))))
(search-patches "qemu-glibc-2.27.patch"
"qemu-glibc-2.30.patch"))))
(build-system gnu-build-system)
(arguments
`(;; Running tests in parallel can occasionally lead to failures, like:

View File

@ -72,7 +72,7 @@
(define-public diffoscope
(package
(name "diffoscope")
(version "170")
(version "172")
(source (origin
(method git-fetch)
(uri (git-reference
@ -81,7 +81,7 @@
(file-name (git-file-name name version))
(sha256
(base32
"0s1z4yc5d10ns4x28d2lm8py30r7sq4764q6b8yxcwxwfrjibmb0"))))
"1lglxn9h8s7kvmfd2rsyhrcv3y8a4bppbxr9nf2sgnlbdln1vwqq"))))
(build-system python-build-system)
(arguments
`(#:phases (modify-phases %standard-phases

View File

@ -3,7 +3,7 @@
;;; Copyright © 2015 Mathieu Lirzin <mthl@gnu.org>
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2016, 20182021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2016, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2016 Roel Janssen <roel@gnu.org>
;;; Copyright © 2016, 2017 Marius Bakke <mbakke@fastmail.com>
@ -302,17 +302,69 @@ fdisk. fdisk is used for the creation and manipulation of disk partition
tables, and it understands a variety of different formats.")
(license license:gpl3+)))
(define-public gpart
;; The latest (0.3) release is from 2015 and is missing a crash fix.
(let ((commit "ec03350a01ad69708b5a3e2d47b8e002b0eba6c9")
(revision "0"))
(package
(name "gpart")
(version (git-version "0.3" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/baruch/gpart")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "1dassswliaiwhhmx7yz540yyxgk53fvg672dbvgc5q0v6cqrh5jx"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
(list (string-append "--docdir=" (assoc-ref %outputs "out") "/share/doc/"
,name "-" ,version))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'skip-premature-configuration
(lambda _
(substitute* "autogen.sh"
(("\\./configure") "")))))))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)))
(home-page "https://github.com/baruch/gpart")
(synopsis "Guess and recover PC-style partition tables")
(description
"Gpart tries to guess the partitions on a PC-style, MBR-partitioned disk
after they have been inadvertently deleted or the primary partition table at
sector 0 damaged. In both cases, the contents of these partitions still exist
on the disk but the operating system cannot access them.
Gpart ignores the partition table and scans each sector of the device or image
file for several known file system and partition types. Only partitions which
have been formatted in some way can be recognized. Several file system guessing
modules are built in; more can be written and loaded at run time.
The guessed table can be restored manually, for example with @command{fdisk},
written to a file, or---if you firmly believe it's entirely correct---directly
to disk.
It should be stressed that gpart does a very heuristic job. It can easily be
right in its guesswork but it can also be terribly wrong. Never believe its
output without any plausibility checks.")
(license license:gpl2+))))
(define-public gptfdisk
(package
(name "gptfdisk")
(version "1.0.6")
(version "1.0.7")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/gptfdisk/gptfdisk/"
version "/gptfdisk-" version ".tar.gz"))
(sha256
(base32 "1a4c2ss6n2s6x8v11h79jykh96y46apd6i838ka0ngx58gb53ifx"))))
(base32 "1h1871gwlq05gdc2wym98ghfmq6pn5lh8g5cqy3r49svz2vh8h3m"))))
(build-system gnu-build-system)
(inputs
`(("gettext" ,gettext-minimal)
@ -363,6 +415,8 @@ scheme.")
(sha256
(base32 "0qqh38izl5ppap9a5izf3hijh94k65s3zbfkczd4b7x04syqwlyf"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags (list (string-append "CXX=" ,(cxx-for-target)))))
(home-page "https://www.gnu.org/software/ddrescue/ddrescue.html")
(synopsis "Data recovery utility")
(native-inputs `(("lzip" ,lzip)))

View File

@ -48,13 +48,13 @@
(define-public python-django
(package
(name "python-django")
(version "3.1.7")
(version "3.1.8")
(source (origin
(method url-fetch)
(uri (pypi-uri "Django" version))
(sha256
(base32
"19v5lfijnjx18y9ax962z3gnbxy9k8i3w4j0qfzcp85nx4p7kkij"))))
"1b0ymqv09b523k3c2jnpb2gjy2fsy6irbfyc2g9x5hjyw41k2fgq"))))
(build-system python-build-system)
(arguments
'(#:phases
@ -120,13 +120,13 @@ to the @dfn{don't repeat yourself} (DRY) principle.")
(define-public python-django-2.2
(package
(inherit python-django)
(version "2.2.19")
(version "2.2.20")
(source (origin
(method url-fetch)
(uri (pypi-uri "Django" version))
(sha256
(base32
"0hysjf8bz4g8xrn2cdx6pmawimpyr6ag2fg3jxsnc1byr3g3bhih"))))
"0r3a6gbhwngxl172yy6n0sq5knibl2vxc0wbk1g8licfbzfgjs95"))))
(native-inputs
`(;; XXX: In 2.2 and 3.0, selenium is required for the test suite.
("python-selenium" ,python-selenium)

View File

@ -18,6 +18,7 @@
;;; Copyright © 2020 Leo Famulari <leo@famulari.name>
;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
;;; Copyright © 2020 Simon South <simon@simonsouth.net>
;;; Copyright © 2021 Zheng Junjie <873216071@qq.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -277,7 +278,7 @@ prompt the user with the option to go with insecure DNS only.")
(define-public dnsmasq
(package
(name "dnsmasq")
(version "2.84")
(version "2.85")
(source (origin
(method url-fetch)
(uri (string-append
@ -285,7 +286,7 @@ prompt the user with the option to go with insecure DNS only.")
version ".tar.xz"))
(sha256
(base32
"0305a0c3snwqcv77sipyynr55xip1fp2843yn04pc4vk9g39acb0"))))
"1yhjwgz8g5qrqvxh6bbmg3443zi8qqjks3q872wyb1zn7n0d765d"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
@ -538,14 +539,14 @@ asynchronous fashion.")
(define-public nsd
(package
(name "nsd")
(version "4.3.5")
(version "4.3.6")
(source
(origin
(method url-fetch)
(uri (string-append "https://www.nlnetlabs.nl/downloads/nsd/nsd-"
version ".tar.gz"))
(sha256
(base32 "0wj490rxqs86z8s4lxjwk06ry5pvkdqqyq1cf83z7mxk60zb98kx"))))
(base32 "062zwx4k5rgpg2c0b4721ldj36aj8clrxv79mlfw9b15ap7w1rmy"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
@ -812,7 +813,7 @@ Extensions} (DNSSEC).")
(define-public knot
(package
(name "knot")
(version "3.0.4")
(version "3.0.5")
(source
(origin
(method git-fetch)
@ -821,7 +822,7 @@ Extensions} (DNSSEC).")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1mbjl18zi8yxs7pa3395lqjwdw0agjbfpl32x42i6d9zb8fsblzs"))
(base32 "16rgcmgj21w2niyz45d3zjlci9i22gxcvfzqw7g5zwsjdy9610nx"))
(modules '((guix build utils)))
(snippet
'(begin
@ -942,14 +943,14 @@ synthesis, and on-the-fly re-configuration.")
(define-public knot-resolver
(package
(name "knot-resolver")
(version "5.3.0")
(version "5.3.1")
(source (origin
(method url-fetch)
(uri (string-append "https://secure.nic.cz/files/knot-resolver/"
"knot-resolver-" version ".tar.xz"))
(sha256
(base32
"0gp3ivv3zccz4b6s1wxbsvvlrc837lw2g089l3cbvzsg7z0b4v7v"))))
"1j99sz6r1hdvvd8rffx1917r9cyb7z46ivp5934sq57irmxnnkcx"))))
(build-system meson-build-system)
(outputs '("out" "doc"))
(arguments
@ -1109,20 +1110,17 @@ attempts the update when it has changed.")
(license license:gpl2+)))
(define-public hnsd
;; There have been no releases yet, hence this commit.
(let ((revision "0")
(commit "895d89c25d316d18df9d374fe78aae3902bc89fb"))
(package
(name "hnsd")
(version (git-version "0.0" revision commit))
(version "1.0.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/handshake-org/hnsd")
(commit commit)))
(commit (string-append "v" version))))
(sha256
(base32
"0704y73sddn24jga9csw4gxyfb3pnrfnk0vdcph84n1h38490l16"))
"1kdgff8rf8gmvwz2p758ilbjxpvz4xm6z41pa5353asg6xb853bb"))
(file-name (git-file-name name version))
(modules '((guix build utils)))
(snippet
@ -1159,7 +1157,7 @@ attempts the update when it has changed.")
(description
"@command{hnsd} is a @dfn{host name resolver} for the Handshake Naming
System (HNS) peer-to-peer network.")
(license license:expat))))
(license license:expat)))
(define-public libmicrodns
(package

View File

@ -5,6 +5,7 @@
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2020 Marius Bakke <marius@gnu.org>
;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2021 Mark H Weaver <mhw@netris.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -35,6 +36,7 @@
#:use-module (guix licenses)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module ((guix build utils) #:select (alist-replace))
#:use-module (guix build-system gnu)
#:use-module (guix build-system trivial)
#:use-module (guix build-system python))
@ -469,6 +471,17 @@ DB2LaTeX.")
;; lib/contrib/which is under an X11 license
(license gpl2+)))
;; This is a variant of the 'dblatex' package that is not updated often. It
;; is intended to be used as a native-input at build-time only, e.g. by
;; 'gtk-doc' for generating package documentation. This allows the main
;; 'dblatex' and 'imagemagick' packages to be freely updated on the 'master'
;; branch without triggering an excessive number of rebuilds.
(define-public dblatex/stable
(hidden-package
(package/inherit dblatex
(inputs (alist-replace "imagemagick" `(,imagemagick/stable)
(package-inputs dblatex))))))
(define-public docbook-utils
(package
(name "docbook-utils")

View File

@ -2,7 +2,7 @@
;;; Copyright © 2016 David Thompson <davet@gnu.org>
;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019, 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2019, 2020, 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
;;; Copyright © 2020 Katherine Cox-Buday <cox.katherine.e@gmail.com>
;;; Copyright © 2020 Jesse Dowell <jessedowell@gmail.com>
@ -177,7 +177,7 @@ Python without keeping their credentials in a Docker configuration file.")
(define-public containerd
(package
(name "containerd")
(version "1.3.10")
(version "1.4.4")
(source
(origin
(method git-fetch)
@ -186,49 +186,55 @@ Python without keeping their credentials in a Docker configuration file.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "10fz7359aydbz0yb01qkrsq2diypayfal618lvvb1x0gvgkp526i"))))
(base32 "0qjbfj1dw6pykxhh8zahcxlgpyjzgnrngk5vjaf34akwyan8nrxb"))))
(build-system go-build-system)
(arguments
`(#:import-path "github.com/containerd/containerd"
#:phases
(modify-phases %standard-phases
(add-after 'chdir 'patch-paths
(lambda* (#:key inputs import-path outputs #:allow-other-keys)
;; TODO: Patch "socat", "unpigz".
(with-directory-excursion (string-append "src/" import-path)
(substitute* "./runtime/v1/linux/runtime.go"
(("defaultRuntime[ \t]*=.*")
(string-append "defaultRuntime = \""
(assoc-ref inputs "runc")
"/sbin/runc\"\n"))
(("defaultShim[ \t]*=.*")
(string-append "defaultShim = \""
(assoc-ref outputs "out")
"/bin/containerd-shim\"\n")))
(substitute* "./vendor/github.com/containerd/go-runc/runc.go"
(("DefaultCommand[ \t]*=.*")
(string-append "DefaultCommand = \""
(assoc-ref inputs "runc")
"/sbin/runc\"\n")))
(substitute* "vendor/github.com/containerd/continuity/testutil/loopback/loopback_linux.go"
(("exec\\.Command\\(\"losetup\"") ; )
(string-append "exec.Command(\""
(assoc-ref inputs "util-linux")
"/sbin/losetup\""))) ;)
#t)))
(replace 'build
(lambda* (#:key import-path (make-flags '()) #:allow-other-keys)
(with-directory-excursion (string-append "src/" import-path)
(apply invoke "make" make-flags))))
(replace 'install
(lambda* (#:key import-path outputs (make-flags '()) #:allow-other-keys)
(with-directory-excursion (string-append "src/" import-path)
(let* ((out (assoc-ref outputs "out")))
(apply invoke "make" (string-append "DESTDIR=" out) "install"
make-flags))))))))
(let ((make-flags (list (string-append "VERSION=" version)
"REVISION=0")))
`(#:import-path "github.com/containerd/containerd"
#:phases
(modify-phases %standard-phases
(add-after 'chdir 'patch-paths
(lambda* (#:key inputs import-path outputs #:allow-other-keys)
(with-directory-excursion (string-append "src/" import-path)
(substitute* "runtime/v1/linux/runtime.go"
(("defaultRuntime[ \t]*=.*")
(string-append "defaultRuntime = \""
(assoc-ref inputs "runc")
"/sbin/runc\"\n"))
(("defaultShim[ \t]*=.*")
(string-append "defaultShim = \""
(assoc-ref outputs "out")
"/bin/containerd-shim\"\n")))
(substitute* "vendor/github.com/containerd/go-runc/runc.go"
(("DefaultCommand[ \t]*=.*")
(string-append "DefaultCommand = \""
(assoc-ref inputs "runc")
"/sbin/runc\"\n")))
(substitute* "vendor/github.com/containerd/continuity/testutil\
/loopback/loopback_linux.go"
(("exec\\.Command\\(\"losetup\"")
(string-append "exec.Command(\""
(assoc-ref inputs "util-linux")
"/sbin/losetup\"")))
(substitute* "archive/compression/compression.go"
(("exec\\.LookPath\\(\"unpigz\"\\)")
(string-append "\"" (assoc-ref inputs "pigz")
"/bin/unpigz\", error(nil)"))))))
(replace 'build
(lambda* (#:key import-path #:allow-other-keys)
(with-directory-excursion (string-append "src/" import-path)
(apply invoke "make" ',make-flags))))
(replace 'install
(lambda* (#:key import-path outputs #:allow-other-keys)
(with-directory-excursion (string-append "src/" import-path)
(let* ((out (assoc-ref outputs "out")))
(apply invoke "make" (string-append "DESTDIR=" out) "install"
',make-flags)))))))))
(inputs
`(("btrfs-progs" ,btrfs-progs)
("libseccomp" ,libseccomp)
("pigz" ,pigz)
("runc" ,runc)
("util-linux" ,util-linux)))
(native-inputs

View File

@ -2,7 +2,7 @@
;;; Copyright © 2015, 2016 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2016, 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2017 Alex Griffin <a@ajgrf.com>
;;; Copyright © 2017, 2019, 2020 Brendan Tildesley <mail@brendan.scot>
;;; Copyright © 2017, 2019, 2020, 2021 Brendan Tildesley <mail@brendan.scot>
;;; Copyright © 2017 Roel Janssen <roel@gnu.org>
;;; Copyright © 20182021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
@ -58,10 +58,14 @@
#:use-module (gnu packages pdf)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages python-build)
#:use-module (gnu packages python-compression)
#:use-module (gnu packages python-crypto)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages qt)
#:use-module (gnu packages serialization)
#:use-module (gnu packages speech)
#:use-module (gnu packages sqlite)
#:use-module (gnu packages time)
#:use-module (gnu packages tls)
@ -88,10 +92,30 @@
(description "CHMLIB is a library for dealing with ITSS/CHM format files.")
(license license:lgpl2.1+)))
(define-public python-pychm
(package
(name "python-pychm")
(version "0.8.6")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pychm" version))
(sha256
(base32
"0wpn9ijlsmrpyiwg3drmgz4dms1i1i347adgqw37bkrh3vn6yq16"))))
(build-system python-build-system)
(inputs
`(("chmlib" ,chmlib)))
(home-page "https://github.com/dottedmag/pychm")
(synopsis "Handle CHM files")
(description "This package provides a Python module for interacting
with Microsoft Compiled HTML (CHM) files")
(license license:gpl2+)))
(define-public calibre
(package
(name "calibre")
(version "4.18.0")
(version "5.14.0")
(source
(origin
(method url-fetch)
@ -100,7 +124,7 @@
version ".tar.xz"))
(sha256
(base32
"0w9pcfvskjh4v00vjw3i6hzrafy863pgsmmqdx4lffip3p856brw"))
"0w8j9r9qa56r8gm9b10dwh8zrzqlv79s2br82jqg02lrnrbwwv0q"))
(modules '((guix build utils)))
(snippet
'(begin
@ -112,8 +136,6 @@
""))
;; Remove unneeded resources.
(delete-file "resources/viewer.js")
(delete-file "resources/viewer.html")
(delete-file "resources/mozilla-ca-certs.pem")
(delete-file "resources/calibre-portable.bat")
(delete-file "resources/calibre-portable.sh")
@ -125,57 +147,60 @@
(native-inputs
`(("pkg-config" ,pkg-config)
("qtbase" ,qtbase) ; for qmake
("python2-flake8" ,python2-flake8)
("python-flake8" ,python-flake8)
("python-pyqt-builder" ,python-pyqt-builder)
("xdg-utils" ,xdg-utils)))
(inputs
`(("chmlib" ,chmlib)
("fontconfig" ,fontconfig)
`(("fontconfig" ,fontconfig)
("font-liberation" ,font-liberation)
("glib" ,glib)
("hunspell" ,hunspell)
("hyphen" ,hyphen)
("icu4c" ,icu4c)
("js-mathjax" ,js-mathjax)
("libmtp" ,libmtp)
("libpng" ,libpng)
("libjpeg" ,libjpeg-turbo)
("libjxr" ,libjxr)
("libusb" ,libusb)
("openssl" ,openssl)
("optipng" ,optipng)
("podofo" ,podofo)
("poppler" ,poppler)
("python" ,python-2)
("python2-apsw" ,python2-apsw)
("python2-beautifulsoup4" ,python2-beautifulsoup4)
("python2-chardet" ,python2-chardet)
("python2-cssselect" ,python2-cssselect)
("python2-css-parser" ,python2-css-parser)
("python2-dateutil" ,python2-dateutil)
("python2-dbus" ,python2-dbus)
("python2-dnspython" ,python2-dnspython-1.16)
("python2-dukpy" ,python2-dukpy)
("python2-feedparser" ,python2-feedparser)
("python2-html2text" ,python2-html2text)
("python2-html5-parser" ,python2-html5-parser)
("python2-html5lib" ,python2-html5lib)
("python2-lxml" ,python2-lxml)
("python2-markdown" ,python2-markdown)
("python2-mechanize" ,python2-mechanize)
;; python2-msgpack is needed for the network content server to work.
("python2-msgpack" ,python2-msgpack)
("python2-netifaces" ,python2-netifaces)
("python2-odfpy" ,python2-odfpy)
("python2-pillow" ,python2-pillow)
("python2-psutil" ,python2-psutil)
("python2-pygments" ,python2-pygments)
("python2-pyqtwebengine" ,python2-pyqtwebengine)
("python2-pyqt" ,python2-pyqt)
("python2-sip" ,python2-sip)
("python2-regex" ,python2-regex)
("python-apsw" ,python-apsw)
("python-beautifulsoup4" ,python-beautifulsoup4)
("python-cchardet" ,python-cchardet)
("python-css-parser" ,python-css-parser)
("python-cssselect" ,python-cssselect)
("python-dateutil" ,python-dateutil)
("python-dbus" ,python-dbus)
("python-dnspython" ,python-dnspython-1.16)
("python-dukpy" ,python-dukpy)
("python-feedparser" ,python-feedparser)
("python-html2text" ,python-html2text)
("python-html5-parser" ,python-html5-parser)
("python-html5lib" ,python-html5lib)
("python-lxml" ,python-lxml)
("python-markdown" ,python-markdown)
("python-mechanize" ,python-mechanize)
;; python-msgpack is needed for the network content server to work.
("python-msgpack" ,python-msgpack)
("python-netifaces" ,python-netifaces)
("python-odfpy" ,python-odfpy)
("python-pillow" ,python-pillow)
("python-psutil" ,python-psutil)
("python-py7zr" ,python-py7zr)
("python-pychm" ,python-pychm)
("python-pycryptodome" ,python-pycryptodome)
("python-pygments" ,python-pygments)
("python-pyqt" ,python-pyqt)
("python-pyqtwebengine" ,python-pyqtwebengine)
("python-regex" ,python-regex)
("python-speechd" ,speech-dispatcher)
("python-zeroconf" ,python-zeroconf)
("qtwebengine" ,qtwebengine)
("sqlite" ,sqlite)))
(arguments
`(#:python ,python-2
;; Calibre is using setuptools by itself, but the setup.py is not
`(;; Calibre is using setuptools by itself, but the setup.py is not
;; compatible with the shim wrapper (taken from pip) we are using.
#:use-setuptools? #f
#:phases
@ -207,18 +232,27 @@
(add-before 'build 'configure
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((podofo (assoc-ref inputs "podofo"))
(pyqt (assoc-ref inputs "python2-pyqt"))
(python-sip (assoc-ref inputs "python2-sip"))
(pyqt (assoc-ref inputs "python-pyqt"))
(python-sip (assoc-ref inputs "python-sip"))
(out (assoc-ref outputs "out")))
(substitute* "setup/build_environment.py"
(("= get_sip_dir\\(\\)")
(string-append "= '" pyqt "/share/sip'")))
(substitute* "setup/build.py"
(("\\[tool.sip.bindings.pictureflow\\]")
"[tool.sip.bindings.pictureflow]
tags = [\"WS_X11\"]")
(("\\[tool.sip.project\\]")
(string-append "[tool.sip.project]
sip-include-dirs = [\"" pyqt "/share/sip" "\"]")))
(substitute* "src/calibre/ebooks/pdf/pdftohtml.py"
(("PDFTOHTML = 'pdftohtml'")
(string-append "PDFTOHTML = \"" (assoc-ref inputs "poppler")
"/bin/pdftohtml\"")))
;; get_exe_path looks in poppler's output for these binaries. Make
;; it not do that.
(substitute* "src/calibre/utils/img.py"
(("get_exe_path..jpegtran..") (string-append "'" (which "jpegtran") "'"))
(("get_exe_path..cjpeg..") (string-append "'" (which "cjpeg") "'"))
(("get_exe_path..optipng..") (string-append "'" (which "optipng") "'"))
(("get_exe_path..JxrDecApp..") (string-append "'" (which "JxrDecApp") "'")))
;; Calibre thinks we are installing desktop files into a home
;; directory, but here we butcher the script in to installing
;; to calibres /share directory.
@ -237,7 +271,6 @@
"/share/fonts")
"/tmp/.fonts")
(setenv "SIP_BIN" (string-append python-sip "/bin/sip"))
(setenv "PODOFO_INC_DIR" (string-append podofo "/include/podofo"))
(setenv "PODOFO_LIB_DIR" (string-append podofo "/lib"))
;; This informs the tests we are a continuous integration
@ -248,13 +281,11 @@
;; fix it, so I'm not sure how to fix it. TODO: Fix test and remove this.
(setenv "SKIP_QT_BUILD_TEST" "true")
#t)))
(add-after 'build 'build-extra
(add-after 'install 'install-rapydscript
(lambda* (#:key inputs #:allow-other-keys)
(invoke "python2" "setup.py" "mathjax""--system-mathjax"
"--path-to-mathjax" (string-append
(assoc-ref inputs "js-mathjax")
"/share/javascript/mathjax"))
(invoke "python2" "setup.py" "rapydscript")
;; Unset so QtWebengine doesn't dump temporary files here.
(unsetenv "XDG_DATA_HOME")
(invoke "python" "setup.py" "rapydscript")
#t))
(add-after 'install 'install-man-pages
(lambda* (#:key outputs #:allow-other-keys)

View File

@ -689,17 +689,6 @@ language and very flexible regarding to new or unknown keyboard layouts.")
(sha256
(base32 "10lm2p8w26c9n6lhvw3301myfss0dq7hl7rawzb3hsy1lqvmvdib"))))
(build-system qt-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'configure 'patch-makefiles
(lambda* (#:key inputs #:allow-other-keys)
(let ((qtdec (assoc-ref inputs "qtdeclarative")))
(substitute* '("src/CMakeFiles/ktouch_autogen.dir/build.make"
"src/CMakeFiles/ktouch.dir/build.make")
(("/gnu/store/.*qmlcachegen")
(string-append qtdec "/bin/qmlcachegen"))))
#t)))))
(native-inputs
`(("extra-cmake-modules" ,extra-cmake-modules)
("kdoctools" ,kdoctools)

View File

@ -38,14 +38,14 @@
(define-public gnu-efi
(package
(name "gnu-efi")
(version "3.0.12")
(version "3.0.13")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/gnu-efi/"
"gnu-efi-" version ".tar.bz2"))
(sha256
(base32 "0sbn6am3k5lqafycggh1g964fcwjwnh0i9hhwrk4ncrwzphz55h1"))))
(base32 "0z9v5pl5pmlw8pjpd66iyh9pml2hh6pqd4c5qilywilw4wazgk1g"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; none exist

View File

@ -85,7 +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>
;;; Copyright © 2020, 2021 Nicolò Balzarotti <nicolo@nixo.xyz>
;;; Copyright © 2020 André A. Gomes <andremegafone@gmail.com>
;;; Copyright © 2020 Jonathan Rostran <rostranjj@gmail.com>
;;; Copyright © 2020, 2021 Noah Evans <noah@nevans.me>
@ -95,6 +95,8 @@
;;; Copyright © 2021 Alexey Abramov <levenson@mmer.org>
;;; Copyright © 2021 Xinglu Chen <public@yoctocell.xyz>
;;; Copyright © 2021 Stefan Reichör <stefan@xsteve.at>
;;; Copyright © 2021 Simon Tournier <zimon.toutoune@gmail.com>
;;; Copyright © 2021 Eugene Klimov <lipklim@mailbox.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -139,6 +141,7 @@
#:use-module (gnu packages djvu)
#:use-module (gnu packages ebook)
#:use-module (gnu packages emacs)
#:use-module (gnu packages golang)
#:use-module (gnu packages guile)
#:use-module (gnu packages gtk)
#:use-module (gnu packages gnome)
@ -937,6 +940,29 @@ Files with the @file{.graphql} and @file{.gql} extensions are
automatically opened with this mode.")
(license license:gpl3+))))
(define-public emacs-ghq
(package
(name "emacs-ghq")
(version "0.1.2")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/rcoedo/emacs-ghq")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0rh2k93c3a0vl073a3s3a3h6gkw454v1lyd7y8l3pd24vw9hc628"))))
(build-system emacs-build-system)
(propagated-inputs
`(("ghq" ,ghq)))
(home-page "https://github.com/rcoedo/emacs-ghq")
(synopsis "Emacs interface for @code{ghq} tool")
(description
"This package provides a set of functions wrapping @code{ghq}, a tool for
organizing remote Go repository clones.")
(license license:gpl3+)))
(define-public emacs-ghub
(package
(name "emacs-ghub")
@ -1525,6 +1551,46 @@ reformat the current buffer using a command-line program, together with an
optional minor mode which can apply this command automatically on save.")
(license license:gpl3+)))
(define-public emacs-relative-buffers
(let ((release "0.0.1")
(revision "0")
(commit "9762fe268e9ff150dcec2e2e45d862d82d5c4008"))
(package
(name "emacs-relative-buffers")
(version (git-version release revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/emacsattic/relative-buffers")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "0fzhwbpyndwrmxip9zlcwkrr675l5pzwcygi45hv7w1hn39w0hxp"))
(snippet
'(begin
;; Delete the Cask test runners.
(for-each delete-file '("Cask" "test/test-helper.el"))
#t))))
(build-system emacs-build-system)
(arguments
`(#:tests? #t
#:test-command '("ert-runner")))
(native-inputs
`(("ert-runner" ,emacs-ert-runner)))
(propagated-inputs
`(("emacs-dash" ,emacs-dash)
("emacs-f" ,emacs-f)
("emacs-s" ,emacs-s)))
(home-page "https://github.com/emacsattic/relative-buffers")
(synopsis "Minor mode to rename buffers by project structure")
(description
"This package provides a minor mode for renaming buffers according to
project structure. For Python buffers, that will be the whole module name.
For temporary files and directories, that will be the relative path from the
project root.")
(license license:gpl3+))))
(define-public emacs-relint
(package
(name "emacs-relint")
@ -1742,14 +1808,14 @@ incrementally confined in Isearch manner.")
(define emacs-emms-print-metadata
(package
(name "emacs-emms-print-metadata")
(version "6.3")
(version "7.1")
(source
(origin
(method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/"
"emms-" version ".tar"))
(sha256
(base32 "12cfq503li0gcqmm5bmqz8yjvfdif5xvz0l9vx3g5jl6ljygwgmf"))))
(base32 "1dng8dy0w0wsdvvnjnrllwv5a8wq3kj20jik994b7prdx5dn6y52"))))
(build-system gnu-build-system)
(arguments
`(#:make-flags '("emms-print-metadata")
@ -2210,14 +2276,14 @@ as a library for other Emacs packages.")
(define-public emacs-auctex
(package
(name "emacs-auctex")
(version "13.0.5")
(version "13.0.6")
(source
(origin
(method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/"
"auctex-" version ".tar"))
(sha256
(base32 "072wwsqfl8n2gi2inbp0s8k1ydr6fh1zyvc3rgynwzibjjniy319"))))
(base32 "00wp388rh2nnk8fam53kilykg90jylps31qxv9ijy1lsp1hqdjys"))))
(build-system emacs-build-system)
;; We use 'emacs' because AUCTeX requires dbus at compile time
;; ('emacs-minimal' does not provide dbus).
@ -2522,15 +2588,15 @@ into mode hooks and is intended to be used that way.")
(define-public emacs-ggtags
(package
(name "emacs-ggtags")
(version "0.8.13")
(version "0.9.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/ggtags-"
version ".el"))
version ".tar"))
(sha256
(base32
"1qa7lcrcmf76sf6dy8sxbg4adq7rg59fm0n5848w3qxgsr0h45fg"))))
"0p79x9g94jynl83ndvqp9349vhgkzxzhnc517r8hn44iqxqf6ghg"))))
(build-system emacs-build-system)
(inputs
`(("global" ,global)))
@ -2675,9 +2741,9 @@ using the DOT syntax, and use Graphviz to convert these files to diagrams.")
(license license:gpl2+)))
(define-public emacs-imenu-list
(let ((commit "46008738f8fef578a763c308cf6695e5b4d4aa77")
(revision "0")
(version "0.8"))
(let ((commit "b50222378412fbe321622a84cb2b036e084c697a")
(revision "1")
(version "0.9"))
(package
(name "emacs-imenu-list")
(version (git-version version revision commit))
@ -2690,7 +2756,7 @@ using the DOT syntax, and use Graphviz to convert these files to diagrams.")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "14l3yw9y1nk103s7z5i1fmd6kvlb2p6ayi6sf9l1x1ydg9glrpl8"))))
(base32 "1936dd41fa05ndzf2bwhllvjz97iz0rflkazjipr7dvz5q072wj2"))))
(build-system emacs-build-system)
(home-page "https://github.com/bmag/imenu-list")
(synopsis
@ -3535,7 +3601,7 @@ representation.")
(define-public emacs-git-gutter
(package
(name "emacs-git-gutter")
(version "0.90")
(version "0.91")
(source
(origin
(method git-fetch)
@ -3544,7 +3610,7 @@ representation.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1abagq0psip7cgsqbfjv72qy60ywsny0ibsfcn74ldj6a9v17mz5"))))
(base32 "0zc9f73app1d7j4yb10sy4xidh5252ncyxlvr5kh0kiqk88ck6j9"))))
(build-system emacs-build-system)
(home-page "https://github.com/syohex/emacs-git-gutter")
(synopsis "See and manage hunks of text in a version control system")
@ -3587,7 +3653,7 @@ window.")
(define-public emacs-git-link
(package
(name "emacs-git-link")
(version "0.7.5")
(version "0.8.3")
(source
(origin
(method git-fetch)
@ -3596,7 +3662,7 @@ window.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "04xa6lp8wkjb6zs096bf4sz124grcjj15xv1h009bmn2j95rggj6"))))
(base32 "0l7xmvmj5s93hc39wjjv75f22zbhahnmcxpmvx3dfvsbig9pmk75"))))
(build-system emacs-build-system)
(arguments
`(#:tests? #t
@ -4639,6 +4705,32 @@ Also included are keybindings for spec files and Dired buffers, as well as
snippets for yasnippet.")
(license license:gpl3+))))
(define-public emacs-mode-line-idle
;; Package has no release. Version is extracted from "Version:" keyword in
;; main file.
(let ((commit "02b1da6278e43cc9cc0356110cc6bfbb37eb8241")
(revision "1"))
(package
(name "emacs-mode-line-idle")
(version (git-version "0.1" revision commit))
(source
(origin
(method git-fetch)
(file-name (git-file-name name version))
(uri (git-reference
(url "https://gitlab.com/ideasman42/emacs-mode-line-idle")
(commit commit)))
(sha256
(base32 "0ky330b2sfbzkbxbfp9b21hdywsjw26bllspglz08hrbni7jmry8"))))
(build-system emacs-build-system)
(home-page "https://gitlab.com/ideasman42/emacs-mode-line-idle")
(synopsis "Simple delayed text evaluation for the mode-line")
(description
"Mode Line Idle provides a convenient way to defer text evaluation
which integrates into existing mode-line without requiring a minor mode or
configuration.")
(license license:gpl3+))))
(define-public emacs-smart-mode-line
(package
(name "emacs-smart-mode-line")
@ -8696,6 +8788,69 @@ E-Prime forbids the use of the \"to be\" form to strengthen your writing.")
programming language.")
(license license:expat)))
(define-public emacs-julia-repl
(package
(name "emacs-julia-repl")
(version "1.3.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/tpapp/julia-repl")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"11vpqqnxqj9nxh8kccj4y6h3f8lib6jxnsk6vxc2j2fqw6alnafm"))))
(build-system emacs-build-system)
(home-page "https://github.com/tpapp/julia-repl")
(synopsis "Minor mode for interacting with a Julia REPL")
(description "This package provides a minor mode for interacting with a
Julia REPL running inside Emacs. The julia process is started in an ANSI
terminal (term), which allows text formatting and colors, and interaction with
the help system and the debugger. It is recommended that you use this minor
mode with the package emacs-julia-mode.")
(license license:expat)))
(define-public emacs-julia-snail
(package
(name "emacs-julia-snail")
(version "1.0.0rc4") ;rc5 requires CSTParser (julia package)
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/gcv/julia-snail")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"065ix3jycsx3wvkq7a6060i93caxisdvgxgqb1l6rq15n4qln78y"))))
(build-system emacs-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'install 'JuliaSnail-jl
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(install-file "JuliaSnail.jl"
(string-append out "/share/emacs/site-lisp/")))
#t)))))
(inputs
`(("emacs-dash" ,emacs-dash)
("emacs-s" ,emacs-s)
("emacs-spinner" ,emacs-spinner)
("emacs-xref" ,emacs-xref)))
(propagated-inputs
`(("libvterm" ,libvterm)
("emacs-julia-mode" ,emacs-julia-mode) ;required by parser
("emacs-parsec" ,emacs-parsec) ;required by parser
("emacs-vterm" ,emacs-vterm)))
(home-page "https://github.com/gcv/julia-snail")
(synopsis "Development environment and REPL interaction package for Julia")
(description "This package provides a development environment and REPL
interaction package for Julia in the spirit of Common Lisps SLIME and
Clojures CIDER. It enables convenient and dynamic REPL-driven development.")
(license license:gpl3)))
(define-public emacs-smex
(package
(name "emacs-smex")
@ -9079,6 +9234,30 @@ duplicated a lot. Org-mode makes the book keeping of tags and feeds
much easier.")
(license license:gpl3+))))
(define-public emacs-elfeed-protocol
(package
(name "emacs-elfeed-protocol")
(version "0.8.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/fasheng/elfeed-protocol")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "07r1qlldgd0kfikd0y737y5n42ab3nkw2s5jx7frimj41yandbdp"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-elfeed" ,emacs-elfeed)))
(home-page "https://github.com/fasheng/elfeed-protocol")
(synopsis "Fever/NewsBlur/ownCloud/tt-RSS protocols for Elfeed")
(description
"Elfeed-protocol provides extra protocols to make self-hosting RSS
readers like Fever, NewsBlur, ownCloud News and Tiny TIny RSS work
with Elfeed.")
(license license:gpl3+)))
(define-public emacs-elfeed-score
(package
(name "emacs-elfeed-score")
@ -10905,13 +11084,13 @@ passive voice.")
(name "emacs-org")
;; emacs-org-contrib inherits from this package. Please update it as
;; well.
(version "9.4.4")
(version "9.4.5")
(source
(origin
(method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/org-" version ".tar"))
(sha256
(base32 "05ma8n6hr10323d85ay8ai0xrpc9q2m93n8avqh7j9fmmb3bhr0b"))))
(base32 "0h5qhrd984vf17qc227wz68191xfgbpq32dyhw0lcz2d9i0pl3xk"))))
(build-system emacs-build-system)
(arguments
`(#:phases
@ -10932,7 +11111,7 @@ passive voice.")
(doc-dir (string-append share "/doc/" ,name "-" ,version)))
(install-file "org.info" info-dir)
(install-file "orgguide.info" info-dir)
;; XXX: "orgcard.pdf" is not built in Org 9.4.4.
;; XXX: "orgcard.pdf" is not built in Org 9.4.5.
;; (install-file "orgcard.pdf" doc-dir)
)
#t)))))
@ -10948,14 +11127,14 @@ programming and reproducible research.")
(package
(inherit emacs-org)
(name "emacs-org-contrib")
(version "20201222")
(version "20210329")
(source
(origin
(method url-fetch)
(uri (string-append "https://orgmode.org/elpa/"
"org-plus-contrib-" version ".tar"))
(sha256
(base32 "1pa8h5dpi5yj3j7v0aaby8sjwxvmgnbip2ilyl5pac1rlbz0jn40"))
(base32 "1l0ycz77hwmjb4sffhabb0d0hg1c9ypxbpbyv8xj5ib4nbi87f2h"))
;; ob-sclang.el is packaged separately to avoid the dependency on
;; SuperCollider and qtwebengine.
(modules '((guix build utils)))
@ -12382,13 +12561,11 @@ using Imenu, and Compilation mode support for MSBuild, devenv and xbuild.")
(base32 "0bs9q62bd7885c39v7x1qz3w1fhpmpdgm72xwsk2yygw0ii425nn"))))
(build-system emacs-build-system)
(arguments
`(#:include (cons "^lisp/" %default-include)
#:phases
`(#:phases
(modify-phases %standard-phases
(add-after 'add-source-to-load-path 'add-lisp-dir-to-emacs-load-path
(add-after 'unpack 'enter-source-directory
(lambda _
(setenv "EMACSLOADPATH"
(string-append (getcwd) "/lisp:" (getenv "EMACSLOADPATH"))))))))
(chdir "lisp"))))))
(propagated-inputs `(("emacs-projectile" ,emacs-projectile)))
(home-page "https://github.com/ejmr/php-mode")
(synopsis "Major mode for editing PHP code")
@ -12473,14 +12650,14 @@ shuangpin, wubi and cangjie.")
(define-public emacs-posframe
(package
(name "emacs-posframe")
(version "0.8.8")
(version "1.0.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/"
"posframe-" version ".tar"))
(sha256
(base32 "1ij6brzcxv9viz37qafcinlfx5l20w8x8s6786r1rsda5n1xsmvd"))))
(base32 "1k06dbh9xqn2vix5qkcapl57v0c21b344r8dx6j5qr4jxirsn2x5"))))
(build-system emacs-build-system)
;; emacs-minimal does not include the function font-info.
(arguments
@ -19176,7 +19353,7 @@ try completing. See @code{fish-completion-fallback-on-bash-p}.")
(define-public emacs-gif-screencast
(package
(name "emacs-gif-screencast")
(version "1.1")
(version "1.2")
(source
(origin
(method git-fetch)
@ -19186,7 +19363,7 @@ try completing. See @code{fish-completion-fallback-on-bash-p}.")
(file-name (git-file-name name version))
(sha256
(base32
"1g1by8lvf8c9vzm4wwsi5kp285kaj0ahsl54048ympin4pi0njw9"))))
"1yf6yipvhhna29mzaan5vb3d5qvbrkp2awr5diyf381mvxgk8akh"))))
(build-system emacs-build-system)
(inputs
`(("scrot" ,scrot)
@ -21335,6 +21512,33 @@ DBI, and provides DB-accessing API and the simple management UI.")
to open SQLite databases.")
(license license:gpl3+))))
(define-public emacs-nice-citation
(let ((commit "1013b56d9d1495a335f40a5f76203034dc5fa0ea")
(revision "0"))
(package
(name "emacs-nice-citation")
(version (git-version "0.0.2" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/damiencollard/nice-citation")
(commit commit)))
(sha256
(base32 "00xqr7haca5vd0bzd043lc6x4fjb903z96frz9b8cbd7spp63z7q"))
(file-name (git-file-name name version))))
(build-system emacs-build-system)
(home-page "https://github.com/damiencollard/nice-citation")
(synopsis "Depth-colored citations for Gnus")
(description
"This package replaces the traditional chevron citation marks @samp{>}
with a Unicode vertical bar with the same color as the text it is quoting.
It is purely presentation: the underlying text is unchanged. In particular,
if you send a message containing a citation, it will contain the traditional
chevron marks.")
(license license:gpl3+))))
(define-public emacs-nix-mode
(package
(name "emacs-nix-mode")
@ -21470,6 +21674,31 @@ stored playlists.")
display a terminal in an Emacs buffer.")
(license license:gpl3+))))
(define-public emacs-vterm-toggle
;; There have been no releases.
(let ((commit "d10239b7bb89b78dddb82f66ac2286bc0b02747b")
(revision "1"))
(package
(name "emacs-vterm-toggle")
(version (git-version "0.0.4" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/jixiuf/vterm-toggle")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "0r9n23wg9cfy10h5f9zqr8jpkvw34f9rylri3nxq870awjab7rqi"))))
(build-system emacs-build-system)
(propagated-inputs `(("emacs-vterm" ,emacs-vterm)))
(home-page "https://github.com/jixiuf/vterm-toggle")
(synopsis "Toggle between a vterm buffer and other buffers")
(description
"This package provides a DWIM way to switch from an Emacs buffer to
a vterm buffer and back again.")
(license license:gpl3+))))
(define-public emacs-simple-mpc
;; There have been no releases.
(let ((commit "bee8520e81292b4c7353e45b193f9a13b482f5b2")
@ -22808,9 +23037,9 @@ based on diff output.")
(license license:gpl3+))))
(define-public emacs-all-the-icons-dired
(let ((commit "980b7747d6c4a7992a1ec56afad908956db0a519")
(let ((commit "fc2dfa1e9eb8bf1c402a675e7089638d702a27a5")
(version "1.0")
(revision "1"))
(revision "2"))
(package
(name "emacs-all-the-icons-dired")
(version (git-version version revision commit))
@ -22823,7 +23052,7 @@ based on diff output.")
(file-name (git-file-name name version))
(sha256
(base32
"1pvbgyxfj4j205nj1r02045f1y4wgavdsk7f45hxkkhms1rj8jyy"))))
"0zhyhz4lhx0d8wwh1xxxf7ck4s621fk9757ql2ypxbr4iqh7sjlp"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-all-the-icons" ,emacs-all-the-icons)))
@ -23299,6 +23528,39 @@ Dash docsets.")
through Dash docsets.")
(license license:expat))))
(define-public emacs-cascading-dir-locals
(let ((release "0.1")
(revision "0")
(commit "efdf5e6d62b955ee0ca3c170eae1d388799f9fa0"))
(package
(name "emacs-cascading-dir-locals")
(version (git-version release revision commit))
(home-page "https://github.com/fritzgrabo/cascading-dir-locals")
(source
(origin
(method git-fetch)
(uri (git-reference
(url home-page)
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "1jwd99kk5l588n7wwi1x3b4bgimm66x1icna3n20pwaj49kf0zy8"))))
(build-system emacs-build-system)
(synopsis "Apply all @file{.dir-locals.el} from root to current directory")
(description
"This package provides a global minor mode that changes how Emacs
handles the lookup of applicable dir-locals files (@file{.dir-locals.el}):
instead of starting at the directory of the visited file and moving up the
directory tree only until a first dir-locals file is found, collect and apply
all (!) dir-locals files found from the current directory up to the root one.
Values specified in files nearer to the current directory take precedence over
values in files farther away from it.
You might want to use this to globally set dir-local variables that apply to
all of your projects, then override or add variables on a per-project basis.")
(license license:gpl3+))))
(define-public emacs-calibredb
(package
(name "emacs-calibredb")
@ -23438,14 +23700,14 @@ well as an option for visually flashing evaluated s-expressions.")
(define-public emacs-tramp
(package
(name "emacs-tramp")
(version "2.5.0.2")
(version "2.5.0.3")
(source
(origin
(method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/"
"tramp-" version ".tar"))
(sha256
(base32 "16f782rjkmxxs5sz3wv4d46i7hbl483ashmrkvljf7lpnrl91s93"))))
(base32 "0c77d1ihn17lzk9jb7ss346ryprnbii1zmijl6zj0kk4lm8fpfl3"))))
(build-system emacs-build-system)
(arguments
`(#:emacs ,emacs ;need D-Bus
@ -25248,21 +25510,21 @@ current buffer.")
(define-public emacs-repl-toggle
(package
(name "emacs-repl-toggle")
(version "0.6.1")
(version "0.7.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/tomterl/repl-toggle")
(url "https://git.sr.ht/~tomterl/repl-toggle")
(commit version)))
(sha256
(base32
"12h3xxja3isnhvrqx7m2g7a5d8h68cc85pbqyhiipfxyafyl1yxd"))
"0nycm8a4wwkkaif958z4m89slayp17k20lp2h7lvddjx8prn6yfp"))
(file-name (git-file-name name version))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-fullframe" ,emacs-fullframe)))
(home-page "https://github.com/tomterl/repl-toggle")
(home-page "https://git.sr.ht/~tomterl/repl-toggle")
(synopsis "Switch to and from current major mode's REPL")
(description "This package provides a function to switch to and from a
REPL appropriate to the current major mode.")
@ -25367,14 +25629,14 @@ interface.")
(define-public emacs-ivy-posframe
(package
(name "emacs-ivy-posframe")
(version "0.5.5")
(version "0.6.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/"
"ivy-posframe-" version ".tar"))
(sha256
(base32 "184730grclxmlw6nfs41d4g6fvz9c6xnclvwgqx1ii0xm7p9xy95"))))
(base32 "07dzglrcdl54lkznyphw97xwd9bcwzdcgzkav0vqfk7f5cwh1wkf"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-ivy" ,emacs-ivy)
@ -25409,6 +25671,56 @@ can specify how popup-displaying functions occupy the screen.")
(home-page "https://github.com/wasamasa/shackle")
(license license:gpl3+))))
(define-public emacs-showtip
(let ((commit "930da302809a4257e8d69425455b29e1cc91949b")
(revision "0"))
(package
(name "emacs-showtip")
(version (git-version "0.01" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/emacsorphanage/showtip")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "01zak0zhha6dp7a2hm28d065gjnc462iwpsfyxhbxgfzcdlicqc7"))))
(build-system emacs-build-system)
(home-page "https://github.com/emacsorphanage/showtip")
(synopsis "Show tip at cursor")
(description
"This library provide one function to show tooltip near the cursor.")
(license license:gpl2+))))
(define-public emacs-sdcv
;; No tagged version upstream.
(let ((commit "943ae3e90cc9a0a88a37cc710acd7424fd4defc4" )
(revision "0"))
(package
(name "emacs-sdcv")
(version (git-version "1.5.2" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/stardiviner/sdcv.el")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "0i1ylvw7p46pkf3yyyzcdmdhsspzymnnnvx8s0i7vynngr5x0vzh"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-popup" ,emacs-popup)
("emacs-pos-tip" ,emacs-pos-tip)
("emacs-showtip" ,emacs-showtip)))
(home-page "https://www.emacswiki.org/emacs/download/sdcv.el")
(synopsis "Emacs interface for @code{sdcv}")
(description
"This plugin translates words with @code{sdcv}, and displays
translation using a tooltip or in a dedicated buffer.")
(license license:gpl3+))))
(define-public emacs-helm-lacarte
(let ((commit "40a6c449720be521435b6b1da7911af3a0b9dca0")
(revision "1"))
@ -26441,34 +26753,36 @@ snippets for Emacs.")
(license license:expat))))
(define-public emacs-org-roam
(package
(name "emacs-org-roam")
(version "1.2.3")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/org-roam/org-roam")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0n8c0yxqb62i39kn0d5x83s96vwc0nbg0sx5hplffnbkfbj88bba"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-company" ,emacs-company)
("emacs-dash" ,emacs-dash)
("emacs-emacsql-sqlite3" ,emacs-emacsql-sqlite3)
("emacs-f" ,emacs-f)
("emacs-org-ref" ,emacs-org-ref)
("emacs-s" ,emacs-s)))
(home-page "https://github.com/org-roam/org-roam/")
(synopsis "Non-hierarchical note-taking with Org mode")
(description "Emacs Org Roam is a solution for taking non-hierarchical
(let ((commit "8ad57b121831eda8d226faa14ff2ba7ab652849c")
(revision "0")
(version "1.2.3"))
(package
(name "emacs-org-roam")
(version (git-version version revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/org-roam/org-roam")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "162qhb6rkpl1n0l8yhnwgagsx56ykaj9lchsny1id5z1257kgw9w"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-dash" ,emacs-dash)
("emacs-emacsql-sqlite3" ,emacs-emacsql-sqlite3)
("emacs-f" ,emacs-f)
("emacs-org" ,emacs-org)
("emacs-s" ,emacs-s)))
(home-page "https://github.com/org-roam/org-roam/")
(synopsis "Non-hierarchical note-taking with Org mode")
(description "Emacs Org Roam is a solution for taking non-hierarchical
notes with Org mode. Notes are captured without hierarchy and are connected
by tags. Notes can be found and created quickly. Org Roam should also work
as a plug-and-play solution for anyone already using Org mode for their
personal wiki.")
(license license:gpl3+)))
(license license:gpl3+))))
(define-public emacs-org-roam-bibtex
(package
@ -27240,7 +27554,7 @@ rules about where space should be left to separate words and parentheses.")
(description "This mode allows to paste whole buffers or parts of buffers
to pastebin-like services. It supports more than one service and will
failover if one service fails. More services can easily be added over time
and prefered services can easily be configured.")
and preferred services can easily be configured.")
(license license:gpl3+)))
(define-public emacs-keystore-mode
@ -27302,6 +27616,39 @@ and prefered services can easily be configured.")
"This package adds a \"C-'\" binding to Ivy minibuffer that uses Avy.")
(license license:gpl3+)))
(define-public emacs-vertico
(package
(name "emacs-vertico")
(version "0.4")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/minad/vertico")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0ijahr9dzs7v56w2n74xp0akzbzbxlw5852bywc4h24xdspakj52"))))
(build-system emacs-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-before 'install 'build-doc
(lambda _
(invoke "makeinfo" "vertico.texi"))))))
(native-inputs
`(("texinfo" ,texinfo)))
(home-page "https://github.com/minad/vertico")
(synopsis "Vertical interactive completion")
(description
"Vertico provides a minimalistic vertical completion UI, which is based
on Emacs' default completion system. By reusing the default system, it
achieves full compatibility with built-in Emacs commands and completion
tables. Vertico is pretty bare-bone and only provides a minimal set of
commands. Additional optional enhancements can be provided externally by
complementary packages.")
(license license:gpl3+)))
(define-public emacs-ivy-hydra
(package
(name "emacs-ivy-hydra")
@ -27325,3 +27672,4 @@ and prefered services can easily be configured.")
quasi-prefix map, with many useful bindings. These bindings are
shorter than usual, using mostly unprefixed keys.")
(license license:gpl3+)))

View File

@ -15,7 +15,7 @@
;;; Copyright © 2017 Jan Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018, 2019, 2021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 Jesse John Gildersleve <jessejohngildersleve@zohomail.eu>
;;; Copyright © 2019 Valentin Ignatev <valentignatev@gmail.com>
;;; Copyright © 2019 Leo Prikler <leo.prikler@student.tugraz.at>
@ -77,14 +77,14 @@
(define-public emacs
(package
(name "emacs")
(version "27.1")
(version "27.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/emacs/emacs-"
version ".tar.xz"))
(sha256
(base32
"0h9f2wpmp6rb5rfwvqwv1ia1nw86h74p7hnz3vb3gjazj67i4k2a"))
"1ff182gjw9wqsbx1kj5gl2r5pbqhp4ar54g04j33fgz6g17cr9xl"))
(patches (search-patches "emacs-exec-path.patch"
"emacs-fix-scheme-indent-function.patch"
"emacs-ignore-empty-xim-styles.patch"

View File

@ -8,6 +8,7 @@
;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2020 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
;;; Copyright © 2021 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2021 Morgan Smith <Morgan.J.Smith@outlook.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -147,7 +148,9 @@
(files '("arm-none-eabi/include")))
(search-path-specification
(variable "CROSS_CPLUS_INCLUDE_PATH")
(files '("arm-none-eabi/include")))
(files '("arm-none-eabi/include"
"arm-none-eabi/include/c++"
"arm-none-eabi/include/c++/arm-none-eabi")))
(search-path-specification
(variable "CROSS_LIBRARY_PATH")
(files '("arm-none-eabi/lib"))))))))
@ -227,7 +230,41 @@ usable on embedded products.")
"--enable-lite-exit"
"--enable-newlib-global-atexit"
"--enable-newlib-nano-formatted-io"
"--disable-nls"))))
"--disable-nls"))
((#:phases phases)
`(modify-phases ,phases
;; XXX: Most arm toolchains offer both *.a and *_nano.a as newlib
;; and newlib-nano respectively. The headers are usually
;; arm-none-eabi/include/newlib.h for newlib and
;; arm-none-eabi/include/newlib-nano/newlib.h for newlib-nano. We
;; have two different toolchain packages for each which works but
;; is a little strange.
(add-after 'install 'hardlink-newlib
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
;; The nano.specs file says that newlib-nano files should end
;; in "_nano.a" instead of just ".a". Note that this applies
;; to all the multilib folders too.
(for-each
(lambda (file)
(link file
(string-append
;; Strip ".a" off the end
(substring file 0 (- (string-length file) 2))
;; Add "_nano.a" onto the end
"_nano.a")))
(find-files
out
"^(libc.a|libg.a|librdimon.a|libstdc\\+\\+.a|libsupc\\+\\+.a)$"))
;; newlib.h is usually in this location instead so both
;; newlib and newlib-nano can be in the toolchain at the same
;; time
(mkdir (string-append out "/arm-none-eabi/include/newlib-nano"))
(symlink
"../newlib.h"
(string-append out "/arm-none-eabi/include/newlib-nano/newlib.h"))
#t)))))))
(synopsis "Newlib variant for small systems with limited memory")))
@ -317,7 +354,9 @@ usable on embedded products.")
(files '("arm-none-eabi/include")))
(search-path-specification
(variable "CROSS_CPLUS_INCLUDE_PATH")
(files '("arm-none-eabi/include")))
(files '("arm-none-eabi/include"
"arm-none-eabi/include/c++"
"arm-none-eabi/include/c++/arm-none-eabi")))
(search-path-specification
(variable "CROSS_LIBRARY_PATH")
(files '("arm-none-eabi/lib"))))))))
@ -380,7 +419,7 @@ usable on embedded products.")
"--with-newlib"
,(string-append "--with-gxx-include-dir="
(assoc-ref %outputs "out")
"/arm-none-eabi/include")))))
"/arm-none-eabi/include/c++")))))
(native-inputs
`(("newlib" ,newlib)
("xgcc" ,xgcc)

View File

@ -540,7 +540,7 @@ The following systems are supported:
(define-public mgba
(package
(name "mgba")
(version "0.8.4")
(version "0.9.0")
(source
(origin
(method git-fetch)
@ -549,7 +549,7 @@ The following systems are supported:
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0nqj4bnn5c2z1bq4bnbw1wznc0wpmq4sy3w8pipd6n6620b9m4qq"))
(base32 "16v08m9irping65d94vb5skp4m6nc63zj6bfajbzhmf944dswmi5"))
(modules '((guix build utils)))
(snippet
;; Make sure we don't use the bundled software.
@ -1589,7 +1589,7 @@ This is a part of the TiLP project.")
(define-public mame
(package
(name "mame")
(version "0.229")
(version "0.230")
(source
(origin
(method git-fetch)
@ -1598,7 +1598,7 @@ This is a part of the TiLP project.")
(commit (apply string-append "mame" (string-split version #\.)))))
(file-name (git-file-name name version))
(sha256
(base32 "0s5q6fjk739p1bfh72fmh35xi13fwbrgjqrn45i5xzx3v3gadmbg"))
(base32 "0dk8q2691pycv9mq77h6sdfwjnwdrfwrblf8nwyykrmdawzi56ks"))
(modules '((guix build utils)))
(snippet
;; Remove bundled libraries.
@ -1743,7 +1743,7 @@ This is a part of the TiLP project.")
("texinfo" ,texinfo)))
(inputs
`(("alsa-lib" ,alsa-lib)
("asio" ,asio)
("asio" ,asio-1.12) ;the bundled copy is at 1.11
("expat" ,expat)
("flac" ,flac)
("fontconfig" ,fontconfig)

View File

@ -6,7 +6,7 @@
;;; Copyright © 2016, 2017, 2018, 2019, 2021 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016, 2017, 2018 Theodoros Foradis <theodoros@foradis.org>
;;; Copyright © 2017 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 20182021 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, 2020 Arun Isaac <arunisaac@systemreboot.net>
@ -17,7 +17,7 @@
;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
;;; Copyright © 2020,2021 Vincent Legoll <vincent.legoll@gmail.com>
;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2020 Ekaitz Zarraga <ekaitz@elenq.tech>
;;; Copyright © 2020, 2021 Ekaitz Zarraga <ekaitz@elenq.tech>
;;; Copyright © 2020 B. Wilson <elaexuotee@wilsonb.com>
;;; Copyright © 2020, 2021 Vinicius Monego <monego@posteo.net>
;;; Copyright © 2020, 2021 Morgan Smith <Morgan.J.Smith@outlook.com>
@ -112,6 +112,8 @@
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages qt)
#:use-module (gnu packages readline)
#:use-module (gnu packages serialization)
#:use-module (gnu packages sqlite)
#:use-module (gnu packages swig)
#:use-module (gnu packages tbb)
#:use-module (gnu packages tcl)
@ -122,6 +124,7 @@
#:use-module (gnu packages web)
#:use-module (gnu packages wxwidgets)
#:use-module (gnu packages xml)
#:use-module (gnu packages xiph)
#:use-module (gnu packages openkinect)
#:use-module (gnu packages xorg))
@ -266,7 +269,7 @@ plans and designs.")
suite grouped together under the gEDA name. gEDA/gaf is a collection of tools
which currently includes: gschem, a schematic capture program; gnetlist, a
netlist generation program; gsymcheck, a syntax checker for schematic symbols;
gattrib, a spreadsheet programm that manipulates the properties of symbols of
gattrib, a spreadsheet programme that manipulates the properties of symbols of
a schematic; libgeda, libraries for gschem gnetlist and gsymcheck; gsch2pcb, a
tool to forward annotation from your schematic to layout using PCB; some minor
utilities.")
@ -1248,7 +1251,7 @@ replacement for the OpenDWG libraries.")
(define-public minicom
(package
(name "minicom")
(version "2.7.1")
(version "2.8")
(source
(origin
(method git-fetch)
@ -1256,13 +1259,16 @@ replacement for the OpenDWG libraries.")
(url "https://salsa.debian.org/minicom-team/minicom.git")
(commit (string-append "v" version))))
(sha256
(base32 "0f36wv015zpz1x895qv0z6marlynzyh0d5mfkyd7lfyy2xd1i2w0"))
(base32 "0kfihxbh9qkjk9m1932ajyqx384c2aj3d9yaphh3i9i7y1shxlpx"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags '("--enable-lock-dir=/var/lock")
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'make-git-checkout-writable
(lambda _
(for-each make-file-writable (find-files "."))))
(replace 'bootstrap
;; autogen.sh needlessly hard-codes aclocal-1.14.
(lambda _
@ -2016,256 +2022,6 @@ parallel computing platforms. It also supports serial execution.")
(license (list license:gpl2+
license:lgpl2.0+)))) ; freehdl's libraries
(define-public qucs
;; Qucs 0.0.19 segfaults when using glibc-2.26. Temporarily build from git.
;; TODO: When qucs-0.0.20 is released, revert the commit that introduced this
;; comment and update the package.
(let ((commit "b4f27d9222568066cd59e4c387c51a35056c99d8")
(revision "0"))
(package
(name "qucs")
(version (git-version "0.0.19" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Qucs/qucs")
(commit commit)))
(sha256
(base32 "10bclay9xhkffmsh4j4l28kj1qpxx0pnxja5vx6305cllnq4r3gb"))
(file-name (string-append name "-" version "-checkout"))))
(build-system gnu-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-before 'bootstrap 'patch-bootstrap
(lambda _
(for-each patch-shebang
'("bootstrap"
"qucs/bootstrap"
"qucs-doc/bootstrap"
"qucs-core/bootstrap"))
#t))
(add-before 'configure 'patch-configure
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "qucs/configure"
(("\\$QTDIR") (assoc-ref inputs "qt4")))
#t))
(add-after 'patch-configure 'patch-scripts
(lambda* (#:key inputs outputs #:allow-other-keys)
(substitute* '("qucs/qucs/qucsdigi"
"qucs/qucs/qucsdigilib"
"qucs/qucs/qucsveri")
(("\\$BINDIR")
(string-append (assoc-ref outputs "out") "/bin"))
(("freehdl-config")
(string-append (assoc-ref inputs "freehdl") "/bin/freehdl-config"))
(("freehdl-v2cc")
(string-append (assoc-ref inputs "freehdl") "/bin/freehdl-v2cc"))
(("cp ")
(string-append (assoc-ref inputs "coreutils") "/bin/cp "))
(("glibtool")
(string-append (assoc-ref inputs "libtool") "/bin/libtool"))
(("sed")
(string-append (assoc-ref inputs "sed") "/bin/sed"))
(("iverilog")
(string-append (assoc-ref inputs "iverilog") "/bin/iverilog"))
(("vvp")
(string-append (assoc-ref inputs "iverilog") "/bin/vvp")))
#t))
(add-before 'check 'pre-check
(lambda _
;; The test suite requires a running X server.
(system "Xvfb :1 &")
(setenv "DISPLAY" ":1")
#t))
(add-after 'install 'make-wrapper
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
;; 'qucs' directly invokes gcc, hence this wrapping.
(wrap-program (string-append out "/bin/qucs")
`("CPLUS_INCLUDE_PATH" ":" prefix
(,(string-append (assoc-ref inputs "gcc-toolchain")
"/include")))
`("PATH" ":" prefix
(,(string-append (assoc-ref inputs "gcc-toolchain")
"/bin")))
`("LIBRARY_PATH" ":" prefix
(,(string-append (assoc-ref inputs "gcc-toolchain")
"/lib")))
`("ADMSXMLBINDIR" ":" prefix
(,(string-append (assoc-ref inputs "adms") "/bin")))
`("ASCOBINDIR" ":" prefix
(,(string-append (assoc-ref inputs "asco") "/bin")))
`("QUCS_OCTAVE" ":" prefix
(,(string-append (assoc-ref inputs "octave") "/bin/octave")))))
#t)))
#:parallel-build? #f ; race condition
#:configure-flags '("--disable-doc"))) ; we need octave-epstk
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
("bison" ,bison)
("flex" ,flex)
("gperf" ,gperf)
("libtool-native" ,libtool)
("pkg-config" ,pkg-config)
("python" ,python-2) ; for tests
("matplotlib" ,python2-matplotlib) ; for tests
("numpy" ,python2-numpy) ; for tests
("xorg-server" ,xorg-server-for-tests))) ; for tests
(inputs
`(("adms" ,adms)
("asco" ,asco)
("coreutils" ,coreutils)
("freehdl" ,freehdl)
("gcc-toolchain" ,gcc-toolchain)
("iverilog" ,iverilog)
("libtool" ,libtool)
("octave" ,octave-cli)
("qt4" ,qt-4)
("sed" ,sed)))
(home-page "http://qucs.sourceforge.net/")
(synopsis "Circuit simulator with graphical user interface")
(description
"Qucs is a circuit simulator with graphical user interface. The software
aims to support all kinds of circuit simulation types---e.g. DC, AC,
S-parameter, transient, noise and harmonic balance analysis. Pure digital
simulations are also supported.")
(license license:gpl2+))))
(define-public qucs-s
(package
(name "qucs-s")
(version "0.0.21")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/ra3xdh/qucs_s/archive/"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"12m1jwhb9qwvb141qzyskbxnw3wn1x22d02z4b4862p7xvccl5h7"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f ; no tests
#:phases
(modify-phases %standard-phases
(add-before 'configure 'patch-scripts
(lambda* (#:key inputs #:allow-other-keys)
(substitute* '("qucs/qucsdigi"
"qucs/qucsdigilib"
"qucs/qucsveri")
(("\\$BINDIR")
(string-append (assoc-ref inputs "qucs") "/bin"))
(("freehdl-config")
(string-append (assoc-ref inputs "freehdl") "/bin/freehdl-config"))
(("freehdl-v2cc")
(string-append (assoc-ref inputs "freehdl") "/bin/freehdl-v2cc"))
(("cp ")
(string-append (assoc-ref inputs "coreutils") "/bin/cp "))
(("glibtool")
(string-append (assoc-ref inputs "libtool") "/bin/libtool"))
(("sed")
(string-append (assoc-ref inputs "sed") "/bin/sed"))
(("iverilog")
(string-append (assoc-ref inputs "iverilog") "/bin/iverilog"))
(("vvp")
(string-append (assoc-ref inputs "iverilog") "/bin/vvp")))
#t))
(add-after 'patch-scripts 'patch-paths
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "qucs/main.cpp"
(((string-append "QucsSettings\\.Qucsator = QucsSettings\\.BinDir "
"\\+ \"qucsator\" \\+ executableSuffix"))
(string-append "}{ QucsSettings.Qucsator = \""
(assoc-ref inputs "qucs") "/bin/qucsator\""))
(((string-append "QucsSettings\\.XyceExecutable = "
"\"/usr/local/Xyce-Release-6.8.0-OPENSOURCE/bin/Xyce"))
(string-append "}{ QucsSettings.XyceExecutable = \""
(assoc-ref inputs "xyce-serial") "/bin/Xyce"))
(((string-append "else QucsSettings\\.XyceParExecutable = "
"\"mpirun -np %p /usr/local"
"/Xyce-Release-6.8.0-OPENMPI-OPENSOURCE/bin/Xyce"))
(string-append "QucsSettings.XyceParExecutable = \""
(assoc-ref inputs "mpi") "/bin/mpirun -np %p "
(assoc-ref inputs "xyce-parallel") "/bin/Xyce"))
(("else QucsSettings\\.NgspiceExecutable = \"ngspice\"")
(string-append "QucsSettings.NgspiceExecutable = " "\""
(assoc-ref inputs "ngspice") "/bin/ngspice\"")))
(substitute* "qucs/extsimkernels/ngspice.cpp"
(("share/qucs/xspice_cmlib") "share/qucs-s/xspice_cmlib"))
(substitute* "qucs/qucs_actions.cpp"
(("qucstrans")
(string-append (assoc-ref inputs "qucs") "/bin/qucstrans"))
(("qucsattenuator")
(string-append (assoc-ref inputs "qucs") "/bin/qucsattenuator"))
(("qucsrescodes")
(string-append (assoc-ref inputs "qucs") "/bin/qucsrescodes")))
#t))
(add-after 'install 'install-scripts
(lambda* (#:key inputs outputs #:allow-other-keys)
(for-each
(lambda (script)
(let ((file (string-append "../qucs_s-" ,version
"/qucs/" script))
(out (assoc-ref outputs "out")))
(install-file file (string-append out "/bin"))
(chmod (string-append out "/bin/" script) #o555)))
'("qucsdigi" "qucsdigilib" "qucsveri"))
#t))
(add-after 'install-scripts 'make-wrapper
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(file (string-append out "/bin/qucs-s"))
(qucs (assoc-ref inputs "qucs"))
(qucsator (string-append qucs "/bin/qucsator")))
(wrap-program file
`("CPLUS_INCLUDE_PATH" ":" prefix
(,(string-append (assoc-ref inputs "gcc-toolchain")
"/include")))
`("PATH" ":" prefix
(,(string-append (assoc-ref inputs "gcc-toolchain")
"/bin")))
`("LIBRARY_PATH" ":" prefix
(,(string-append (assoc-ref inputs "gcc-toolchain")
"/lib")))
`("QUCSATOR" ":" prefix (,qucsator))
`("QUCSCONV" ":" prefix (,(string-append qucsator "/bin/qucsconv")))
`("ADMSXMLBINDIR" ":" prefix (,(string-append (assoc-ref inputs "adms")
"/bin")))
`("ASCOBINDIR" ":" prefix (,(string-append (assoc-ref inputs "asco")
"/bin")))
`("QUCS_OCTAVE" ":" prefix (,(string-append (assoc-ref inputs "octave")
"/bin/octave"))))
(symlink qucsator (string-append out "/bin/qucsator"))
#t))))))
(native-inputs
`(("libtool-native" ,libtool)))
(inputs
`(("adms" ,adms)
("asco" ,asco)
("coreutils" ,coreutils)
("freehdl" ,freehdl)
("gcc-toolchain" ,gcc-toolchain)
("iverilog" ,iverilog)
("libtool" ,libtool)
("mpi" ,openmpi)
("ngspice" ,ngspice)
("octave" ,octave-cli)
("qt4" ,qt-4)
("qucs" ,qucs)
("sed" ,sed)
("xyce-serial" ,xyce-serial)
("xyce-parallel" ,xyce-parallel)))
(home-page "https://ra3xdh.github.io/")
(synopsis "Circuit simulator with graphical user interface")
(description
"Qucs-S is a spin-off of the Qucs cross-platform circuit simulator.
The S letter indicates SPICE. The purpose of the Qucs-S subproject is to use
free SPICE circuit simulation kernels with the Qucs GUI. It provides the
simulator backends @code{Qucsator}, @code{ngspice} and @code{Xyce}.")
(license license:gpl2+)))
(define-public librepcb
(package
(name "librepcb")
@ -2601,104 +2357,120 @@ OpenSCAD code. It supports syntax highlighting, indenting and refilling of
comments.")))
(define-public freecad
(let ((commit-ref "7616153b3c31ace006169cdc2fdafab484498858")
(revision "1"))
(package
(name "freecad")
(version (git-version "0.18.5" revision commit-ref))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/FreeCAD/FreeCAD")
(commit commit-ref)))
(file-name (git-file-name name version))
(sha256
(base32
"16965yxnp2pq7nm8z3p0pjkzjdyq62vfrj8j3nk26bwc898czyn2"))))
(build-system qt-build-system)
(native-inputs
`(("doxygen" ,doxygen)
("graphviz" ,graphviz)
("qttools" ,qttools)
("pkg-config" ,pkg-config)
("python-pyside-2-tools" ,python-pyside-2-tools)
("swig" ,swig)))
(inputs
`(("boost" ,boost)
("coin3D" ,coin3D)
("eigen" ,eigen)
("freetype" ,freetype)
("glew" ,glew)
("hdf5" ,hdf5-1.10)
("libarea" ,libarea)
("libmedfile" ,libmedfile)
("libspnav" ,libspnav)
("libxi" ,libxi)
("libxmu" ,libxmu)
("openmpi" ,openmpi)
("opencascade-occt" ,opencascade-occt)
("python-matplotlib" ,python-matplotlib)
("python-pyside-2" ,python-pyside-2)
("python-shiboken-2" ,python-shiboken-2)
("python-pivy" ,python-pivy)
("python-wrapper" ,python-wrapper)
("qtbase" ,qtbase)
("qtsvg" ,qtsvg)
("qtx11extras" ,qtx11extras)
("qtxmlpatterns" ,qtxmlpatterns)
("qtwebkit" ,qtwebkit)
("tbb" ,tbb)
("vtk" ,vtk)
("xerces-c" ,xerces-c)
("zlib" ,zlib)))
(arguments
`(#:tests? #f
#:configure-flags
(list
"-DBUILD_QT5=ON"
(string-append "-DCMAKE_INSTALL_LIBDIR=" (assoc-ref %outputs "out") "/lib")
(string-append "-DPYSIDE2UICBINARY="
(assoc-ref %build-inputs "python-pyside-2-tools")
"/bin/uic")
(string-append "-DPYSIDE2RCCBINARY="
(assoc-ref %build-inputs "python-pyside-2-tools")
"/bin/rcc")
"-DPYSIDE_LIBRARY=PySide2::pyside2"
(string-append
"-DPYSIDE_INCLUDE_DIR="
(assoc-ref %build-inputs "python-pyside-2") "/include;"
(assoc-ref %build-inputs "python-pyside-2") "/include/PySide2;"
(assoc-ref %build-inputs "python-pyside-2") "/include/PySide2/QtCore;"
(assoc-ref %build-inputs "python-pyside-2") "/include/PySide2/QtWidgets;"
(assoc-ref %build-inputs "python-pyside-2") "/include/PySide2/QtGui;")
"-DSHIBOKEN_LIBRARY=Shiboken2::libshiboken"
(string-append "-DSHIBOKEN_INCLUDE_DIR="
(assoc-ref %build-inputs "python-shiboken-2")
"/include/shiboken2"))
#:phases
(modify-phases %standard-phases
(add-after 'install 'wrap-pythonpath
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(wrap-program (string-append out "/bin/FreeCAD")
(list "GUIX_PYTHONPATH"
'prefix (list (getenv "GUIX_PYTHONPATH"))))))))))
(home-page "https://www.freecadweb.org/")
(synopsis "Your Own 3D Parametric Modeler")
(description
"FreeCAD is a general purpose feature-based, parametric 3D modeler for
(package
(name "freecad")
(version "0.19.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/FreeCAD/FreeCAD")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"0c53q2iawy4yfp11czyc7lbr9ivp3r7v24x4c20myh11wyplffc0"))))
(build-system qt-build-system)
(native-inputs
`(("doxygen" ,doxygen)
("graphviz" ,graphviz)
("qttools" ,qttools)
("pkg-config" ,pkg-config)
("python-pyside-2-tools" ,python-pyside-2-tools)
("swig" ,swig)))
(inputs
`(("boost" ,boost)
("coin3D" ,coin3D)
("double-conversion" ,double-conversion)
("eigen" ,eigen)
("freetype" ,freetype)
("gl2ps" ,gl2ps)
("glew" ,glew)
("hdf5" ,hdf5-1.10)
("jsoncpp" ,jsoncpp)
("libarea" ,libarea)
("libjpeg-turbo" ,libjpeg-turbo)
("libmedfile" ,libmedfile)
("libspnav" ,libspnav)
("libtheora" ,libtheora)
("libtiff" ,libtiff)
("libxi" ,libxi)
("libxmlplusplus" ,libxmlplusplus)
("libxmu" ,libxmu)
("lz4" ,lz4)
("netcdf" ,netcdf)
("opencascade-occt" ,opencascade-occt)
("openmpi" ,openmpi)
("proj" ,proj)
("python-gitpython" ,python-gitpython)
("python-matplotlib" ,python-matplotlib)
("python-pivy" ,python-pivy)
("python-pyside-2" ,python-pyside-2)
("python-pyyaml" ,python-pyyaml)
("python-shiboken-2" ,python-shiboken-2)
("python-wrapper" ,python-wrapper)
("qtbase" ,qtbase)
("qtsvg" ,qtsvg)
("qtwebkit" ,qtwebkit)
("qtx11extras" ,qtx11extras)
("qtxmlpatterns" ,qtxmlpatterns)
("sqlite" ,sqlite)
("tbb" ,tbb)
("vtk" ,vtk-8)
("xerces-c" ,xerces-c)
("zlib" ,zlib)))
(arguments
`(#:tests? #f ; Project has no tests
#:configure-flags
(list
"-DBUILD_QT5=ON"
"-DBUILD_FLAT_MESH:BOOL=ON"
(string-append "-DCMAKE_INSTALL_LIBDIR=" (assoc-ref %outputs "out") "/lib")
(string-append "-DPYSIDE2UICBINARY="
(assoc-ref %build-inputs "python-pyside-2-tools")
"/bin/uic")
(string-append "-DPYSIDE2RCCBINARY="
(assoc-ref %build-inputs "python-pyside-2-tools")
"/bin/rcc")
"-DPYSIDE_LIBRARY=PySide2::pyside2"
(string-append
"-DPYSIDE_INCLUDE_DIR="
(assoc-ref %build-inputs "python-pyside-2") "/include;"
(assoc-ref %build-inputs "python-pyside-2") "/include/PySide2;"
(assoc-ref %build-inputs "python-pyside-2") "/include/PySide2/QtCore;"
(assoc-ref %build-inputs "python-pyside-2") "/include/PySide2/QtWidgets;"
(assoc-ref %build-inputs "python-pyside-2") "/include/PySide2/QtGui;")
"-DSHIBOKEN_LIBRARY=Shiboken2::libshiboken"
(string-append "-DSHIBOKEN_INCLUDE_DIR="
(assoc-ref %build-inputs "python-shiboken-2")
"/include/shiboken2"))
#:phases
(modify-phases %standard-phases
(add-before 'configure 'restore-pythonpath
(lambda _
(substitute* "src/Main/MainGui.cpp"
(("_?putenv\\(\"PYTHONPATH=\"\\);") ""))))
(add-after 'install 'wrap-pythonpath
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(wrap-program (string-append out "/bin/FreeCAD")
(list "PYTHONPATH"
'prefix (list (getenv "PYTHONPATH"))))))))))
(home-page "https://www.freecadweb.org/")
(synopsis "Your Own 3D Parametric Modeler")
(description
"FreeCAD is a general purpose feature-based, parametric 3D modeler for
CAD, MCAD, CAx, CAE and PLM, aimed directly at mechanical engineering and
product design but also fits a wider range of uses in engineering, such as
architecture or other engineering specialties. It is 100% Open Source (LGPL2+
license) and extremely modular, allowing for very advanced extension and
customization.")
(license
(list
license:lgpl2.1+
license:lgpl2.0+
license:gpl3+
license:bsd-3)))))
(license
(list
license:lgpl2.1+
license:lgpl2.0+
license:gpl3+
license:bsd-3))))
(define-public libmedfile
(package

View File

@ -172,14 +172,14 @@ client.")
(define-public libime
(package
(name "libime")
(version "1.0.5")
(version "1.0.6")
(source
(origin
(method url-fetch)
(uri (string-append "https://download.fcitx-im.org/fcitx5/libime/libime-"
version "_dict.tar.xz"))
(sha256
(base32 "1w3cxk11kbfmz7snivxq948zfav6dy2245j12ghlxcmdxjshrlhq"))))
(base32 "1s8gzpzyn16pg9gm7kw1nhl09drdndi6j4mjam14ymqsrfsdqr1r"))))
(build-system cmake-build-system)
(inputs
`(("fcitx5" ,fcitx5)
@ -190,7 +190,7 @@ client.")
("python" ,python))) ;needed to run test
(home-page "https://github.com/fcitx/libime")
(synopsis "Library for implementing generic input method")
(description "Libime is a library for implmenting various input methods
(description "Libime is a library for implementing various input methods
editors.")
(license license:lgpl2.1+)))

View File

@ -80,7 +80,7 @@
(define-public autofs
(package
(name "autofs")
(version "5.1.6")
(version "5.1.7")
(source
(origin
(method url-fetch)
@ -88,7 +88,7 @@
"v" (version-major version) "/"
"autofs-" version ".tar.xz"))
(sha256
(base32 "1vya21mb4izj3khcr3flibv7xc15vvx2v0rjfk5yd31qnzcy7pnx"))))
(base32 "1myfz6a3wj2c4j9h5g44zj796fdi82jhp1s92w2hg6xp2632csx3"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
@ -112,6 +112,12 @@
(("^searchpath=\".*\"")
"searchpath=\"$PATH\""))
#t))
(add-before 'configure 'fix-rpath
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(substitute* "Makefile.rules"
(("^AUTOFS_LIB_LINK.*=" match)
(string-append match " -Wl,-rpath=" out "/lib"))))))
(add-before 'install 'omit-obsolete-lookup_nis.so-link
;; Building lookup_yp.so depends on $(YPCLNT) but this doesn't,
;; leading to a make error. Since it's broken, comment it out.
@ -178,7 +184,7 @@ large and/or frequently changing (network) environment.")
(home-page "https://bindfs.org")
(synopsis "Bind mount a directory and alter permission bits")
(description
"@command{bindfs} is a FUSE filesystem for mounting a directory to
"@command{bindfs} is a FUSE file system for mounting a directory to
another location, similar to @command{mount --bind}. It can be used for:
@itemize
@item Making a directory read-only.
@ -245,9 +251,9 @@ another location, similar to @command{mount --bind}. It can be used for:
(description
"The @acronym{WebDAV, Web Distributed Authoring and Versioning} extension
to the HTTP protocol defines a standard way to author resources on a remote Web
server. Davfs2 exposes such resources as a typical filesystem which can be used
by standard applications with no built-in support for WebDAV, such as the GNU
coreutils (@command{cp}, @command{mv}, etc.) or a graphical word processor.
server. Davfs2 exposes such resources as a typical file system which can be
used by standard applications with no built-in support for WebDAV, such as the
GNU coreutils (@command{cp}, @command{mv}, etc.) or a graphical word processor.
Davfs2 works with most WebDAV servers with no or little configuration. It
supports TLS (HTTPS), HTTP proxies, HTTP basic and digest authentication, and
@ -334,8 +340,8 @@ from a mounted file system.")
(license license:gpl2+)))
(define-public bcachefs-tools
(let ((commit "612f6b9ab73c7f46e0254355b707d494a8ad9270")
(revision "3"))
(let ((commit "bb6eccc2ecd4728871bfc70462d3a4a20daa9d68")
(revision "4"))
(package
(name "bcachefs-tools")
(version (git-version "0.1" revision commit))
@ -347,7 +353,7 @@ from a mounted file system.")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "1a62wkv1i6pg5k1cjw7fzn933cbz8cp8y40cdpfd8rxjx0wg2szb"))))
(base32 "0ziqmcxbrak6bjck6s46hqrqx44zc97yaj0kbk3amsxf18rsfs0n"))))
(build-system gnu-build-system)
(arguments
`(#:make-flags
@ -1077,14 +1083,14 @@ compatible directories.")
(define-public python-dropbox
(package
(name "python-dropbox")
(version "11.2.0")
(version "11.5.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "dropbox" version))
(sha256
(base32
"0ml6z37k6nkhkiy483kvifs8im8z7vabd2g9jl6fkf1fzy3n6bym"))))
"16bxx9xqx2s4d9khrw57a0bj4q7nc6kq355wl4pfddn9cqvh9rg2"))))
(build-system python-build-system)
(arguments '(#:tests? #f)) ; Tests require a network connection.
(native-inputs
@ -1189,10 +1195,10 @@ local file system using FUSE.")
`(("go-github-com-mattn-go-sqlite3" ,go-github-com-mattn-go-sqlite3)
("go-github-com-hanwen-fuse" ,go-github-com-hanwen-fuse)))
(home-page "https://github.com/oniony/TMSU")
(synopsis "Tag files and access them through a virtual filesystem")
(synopsis "Tag files and access them through a virtual file system")
(description
"TMSU is a tool for tagging your files. It provides a simple
command-line utility for applying tags and a virtual filesystem to give you a
command-line utility for applying tags and a virtual file system to give you a
tag-based view of your files from any other program. TMSU does not alter your
files in any way: they remain unchanged on disk, or on the network, wherever
your put them. TMSU maintains its own database and you simply gain an

View File

@ -47,6 +47,8 @@
`(("self" ,this-package))
'()))
(properties
`((release-monitoring-url . "http://ftp.astron.com/pub/file/")))
(synopsis "File type guesser")
(description
"The file command is a file type guesser, a command-line tool that tells

View File

@ -601,6 +601,7 @@ other machines/servers. Electrum does not download the Bitcoin blockchain.")
("python-hidapi" ,python-hidapi)
("python-jsonrpclib-pelix" ,python-jsonrpclib-pelix)
("python-keepkey" ,python-keepkey)
("python-pathvalidate" ,python-pathvalidate)
("python-protobuf" ,python-protobuf)
("python-pyaes" ,python-pyaes)
("python-pyqt" ,python-pyqt)
@ -651,7 +652,7 @@ other machines/servers. Electroncash does not download the Bitcoin Cash blockch
;; the system's dynamically linked library.
(package
(name "monero")
(version "0.17.1.9")
(version "0.17.2.0")
(source
(origin
(method git-fetch)
@ -671,7 +672,7 @@ other machines/servers. Electroncash does not download the Bitcoin Cash blockch
"external/unbound"))
#t))
(sha256
(base32 "0jqss4csvkcrhrmaa3vrnyv6yiwqpbfw7037clx9xcfm4qrrfiwy"))))
(base32 "0jwlmrpzisvw1c06cvd5b3s3hd4w0pa1qmrypfwah67qj3x6hnb6"))))
(build-system cmake-build-system)
(native-inputs
`(("doxygen" ,doxygen)
@ -761,7 +762,7 @@ the Monero command line client and daemon.")
(define-public monero-gui
(package
(name "monero-gui")
(version "0.17.1.9")
(version "0.17.2.0")
(source
(origin
(method git-fetch)
@ -778,7 +779,7 @@ the Monero command line client and daemon.")
(delete-file-recursively "monero")
#t))
(sha256
(base32 "0vpvpvsbbj547yir15g84qy9l9lwbip795zlliz79i7d66l23b1w"))))
(base32 "17il26gh0g69x7lqkyb461x1712959wajg3iadx0p08djr3m13mf"))))
(build-system qt-build-system)
(native-inputs
`(,@(package-native-inputs monero)
@ -1404,16 +1405,16 @@ following three utilities are included with the library:
(define-public bitcoin-unlimited
(package
(name "bitcoin-unlimited")
(version "1.9.0.1")
(version "1.9.1.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/BitcoinUnlimited/BitcoinUnlimited")
(url "https://gitlab.com/bitcoinunlimited/BCHUnlimited.git/")
(commit (string-append "BCHunlimited" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1pan24g3d5csa004d7zvlizj4mv58ly5i579341isp944phl3g5v"))))
(base32 "0vyvfawss40v9jaic9zq0z3cjvxiq04d4wgq4rnkha7ilm9zqyd7"))))
(build-system gnu-build-system)
(native-inputs
`(("autoconf" ,autoconf)

View File

@ -7,6 +7,7 @@
;;; Copyright © 2017 Jonathan Brielmaier <jonathan.brielmaier@web.de>
;;; Copyright © 2017 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2021 Ricardo Wurmus <rekado@elephly.net>
;;;
;;; This file is part of GNU Guix.
;;;
@ -32,18 +33,23 @@
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (guix build-system python)
#:use-module (gnu packages autotools)
#:use-module (gnu packages admin)
#:use-module (gnu packages base)
#:use-module (gnu packages bison)
#:use-module (gnu packages boost)
#:use-module (gnu packages compression)
#:use-module (gnu packages flex)
#:use-module (gnu packages elf)
#:use-module (gnu packages flex)
#:use-module (gnu packages ghostscript)
#:use-module (gnu packages gnupg)
#:use-module (gnu packages groff)
#:use-module (gnu packages pciutils)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages libusb)
#:use-module (gnu packages libftdi)
#:use-module (gnu packages pciutils)
#:use-module (gnu packages qt)
#:use-module (gnu packages autotools)
#:use-module (gnu packages admin))
#:use-module (gnu packages qt))
(define-public flashrom
(package
@ -476,3 +482,38 @@ ME as far as possible (it only edits ME firmware image files).")
(description "@code{uefitool} is a graphical image file editor for
Unifinished Extensible Firmware Interface (UEFI) images.")
(license license:bsd-2)))
(define-public srecord
(package
(name "srecord")
(version "1.64")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/srecord/srecord/"
version "/srecord-" version ".tar.gz"))
(sha256
(base32
"1qk75q0k5vzmm3932q9hqz2gp8n9rrdfjacsswxc02656f3l3929"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
(list (string-append "SH="
(assoc-ref %build-inputs "bash")
"/bin/bash"))))
(inputs
`(("boost" ,boost)
("libgcrypt" ,libgcrypt)))
(native-inputs
`(("bison" ,bison)
("diffutils" ,diffutils)
("ghostscript" ,ghostscript)
("groff" ,groff)
("libtool" ,libtool)
("which" ,which)))
(home-page "http://srecord.sourceforge.net/")
(synopsis "Tools for EPROM files")
(description "The SRecord package is a collection of powerful tools for
manipulating EPROM load files. It reads and writes numerous EPROM file
formats, and can perform many different manipulations.")
(license license:gpl3+)))

View File

@ -998,7 +998,7 @@ Unicode Charts. It was developed for use with DejaVu Fonts project.")
(arguments
`(#:configure-flags (list "--disable-static")))
(native-inputs
`(("gtk-doc" ,gtk-doc)
`(("gtk-doc" ,gtk-doc/stable)
("pkg-config" ,pkg-config)
("python" ,python-wrapper)))
(inputs

View File

@ -22,6 +22,7 @@
;;; Copyright © 2020 Nicolò Balzarotti <nicolo@nixo.xyz>
;;; Copyright © 2020 Anders Thuné <asse.97@gmail.com>
;;; Copyright © 2020 Raghav Gururajan <raghavgururajan@disroot.org>
;;; Copyright © 2021 Brendan Tildesley <mail@brendan.scot>
;;;
;;; This file is part of GNU Guix.
;;;
@ -173,7 +174,7 @@
("glib:bin" ,glib "bin")
("gobject-introspection" ,gobject-introspection)
("gperf" ,gperf)
("gtk-doc" ,gtk-doc)
("gtk-doc" ,gtk-doc/stable)
("pkg-config" ,pkg-config)
("python" ,python-wrapper)
("xsltproc" ,libxslt)))
@ -261,7 +262,7 @@ application-centers for distributions.")
("docbook-xml" ,docbook-xml-4.1.2)
("docbook-xsl" ,docbook-xsl)
("gobject-introspection" ,gobject-introspection)
("gtk-doc" ,gtk-doc)
("gtk-doc" ,gtk-doc/stable)
("libtool" ,libtool)
("perl" ,perl)
("pkg-config" ,pkg-config)
@ -313,7 +314,7 @@ for videoconferencing.")
`(("glib:bin" ,glib "bin")
("gobject-introspection" ,gobject-introspection)
("pkg-config" ,pkg-config)
("gtk-doc" ,gtk-doc)))
("gtk-doc" ,gtk-doc/stable)))
(inputs
`(("dbus" ,dbus)
("glib" ,glib)))
@ -1230,7 +1231,7 @@ Analysis and Reporting Technology) functionality.")
("glib:bin" ,glib "bin") ; for glib-mkenums
("gnome-common" ,gnome-common) ; TODO: Why is this needed?
("gobject-introspection" ,gobject-introspection)
("gtk-doc" ,gtk-doc)
("gtk-doc" ,gtk-doc/stable)
("intltool" ,intltool)
("pkg-config" ,pkg-config)
("xsltproc" ,libxslt)))
@ -1626,7 +1627,7 @@ wish to perform colour calibration.")
`(("eudev" ,eudev)
("glib:bin" ,glib "bin") ; for {glib-,}mkenums
("gobject-introspection" ,gobject-introspection)
("gtk-doc" ,gtk-doc) ; for 88 KiB of API documentation
("gtk-doc" ,gtk-doc/stable) ; for 88 KiB of API documentation
("pkg-config" ,pkg-config)))
(inputs
`(("glib" ,glib)
@ -1948,6 +1949,26 @@ encoding names are iconv-compatible.")
;; combination is GPL 2.0+.
(license license:gpl2+)))
(define-public python-cchardet
(package
(name "python-cchardet")
(version "2.1.7")
(source
(origin
(method url-fetch)
(uri (pypi-uri "cchardet" version))
(sha256
(base32
"1bqfz85cd51sw0bvhvdq9ikccxi2ld7g5jpni4jkq1a5clrvca64"))))
(build-system python-build-system)
(inputs
`(("uchardet" ,uchardet)))
(home-page "https://github.com/PyYoshi/cChardet")
(synopsis "High-performance character encoding detection for Python")
(description "cChardet is a character encoding detector, written in
Python, that binds to the C library @code{uchardet} to increase performance.")
(license license:gpl2+)))
(define-public udiskie
(package
(name "udiskie")
@ -2225,7 +2246,7 @@ fallback to generic Systray support if none of those are available.")
#t))))))
(native-inputs
`(("pkg-config" ,pkg-config)
("gtk-doc" ,gtk-doc)
("gtk-doc" ,gtk-doc/stable)
("docbook-xsl" ,docbook-xsl)
("docbook-xml" ,docbook-xml)
("libxml2" ,libxml2)

View File

@ -1,9 +1,10 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014, 2015, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014, 2015, 2018, 2021, 2021 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2016, 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 20162021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017 Rene Saavedra <rennes@openmailbox.org>
;;; Copyright © 2021 David Larsson <david.larsson@selfhosted.xyz>
;;;
;;; This file is part of GNU Guix.
;;;
@ -28,12 +29,14 @@
#:use-module (gnu packages)
#:use-module (gnu packages autotools)
#:use-module (gnu packages check)
#:use-module (gnu packages cpio)
#:use-module (gnu packages compression)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages gettext)
#:use-module (gnu packages glib)
#:use-module (gnu packages gtk)
#:use-module (gnu packages libidn)
#:use-module (gnu packages linux)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages nettle)
#:use-module (gnu packages pkg-config)
@ -115,6 +118,8 @@ reliability in mind.")
(("a freeware program")
"free software"))
#t))))
(properties
`((release-monitoring-url . "https://www.ncftp.com/download/")))
(build-system gnu-build-system)
(arguments
'(#:phases
@ -251,40 +256,82 @@ directory comparison and more.")
(properties '((upstream-name . "FileZilla")))))
(define-public vsftpd
(package
(name "vsftpd")
(version "3.0.3")
(source (origin
(method url-fetch)
(uri (string-append "https://security.appspot.com/downloads/"
name "-" version ".tar.gz"))
(sha256
(base32
"1xsyjn68k3fgm2incpb3lz2nikffl9by2safp994i272wvv2nkcx"))))
(build-system gnu-build-system)
(arguments
`(#:make-flags '("LDFLAGS=-lcrypt")
#:tests? #f ; No tests exist.
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-installation-directory
(lambda* (#:key outputs #:allow-other-keys)
(substitute* "Makefile"
(("/usr") (assoc-ref outputs "out")))
#t))
(add-before 'install 'mkdir
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(mkdir-p out)
(mkdir (string-append out "/sbin"))
(mkdir (string-append out "/man"))
(mkdir (string-append out "/man/man5"))
(mkdir (string-append out "/man/man8"))
#t)))
(delete 'configure))))
(synopsis "vsftpd FTP daemon")
(description "@command{vsftpd} is a daemon that listens on a TCP socket
;; Use a significantly patched CentOS variant with TLSv1.2 support and
;; further bug and security fixes.
(let ((upstream-version "3.0.3")
(centos-version "8.3.2011")
(revision "32.el8"))
(package
(name "vsftpd")
(version (string-append upstream-version "-" revision))
(source
(origin
(method url-fetch)
(uri (string-append
"https://vault.centos.org/centos/" centos-version
"/AppStream/Source/SPackages/vsftpd-" upstream-version "-"
revision ".src.rpm"))
(sha256
(base32 "1xl0kqcismf82hl99klqbvvpylpyk1yr1qjy5hd8f80cj4lyl0f4"))))
(build-system gnu-build-system)
(arguments
`(#:make-flags '("LDFLAGS=-lcrypt -lssl -pie")
#:tests? #f ; no tests exist
#:phases
(modify-phases %standard-phases
(replace 'unpack
(lambda* (#:key source #:allow-other-keys)
(invoke "7z" "e" source "-ocpio")
(invoke "cpio" "-idmv"
(string-append "--file=cpio/vsftpd-"
,upstream-version "-" ,revision
".src.cpio"))
(invoke "tar" "xvf"
(string-append "vsftpd-" ,upstream-version ".tar.gz"))
(chdir (string-append "vsftpd-" ,upstream-version))))
(add-after 'unpack 'apply-CentOS-patches
;; Apply all patches as enumerated in vsftpd.spec, in order:
;; simply using FIND-FILES would silently corrupt the result.
(lambda _
(call-with-input-file "../vsftpd.spec"
(lambda (port)
(use-modules (ice-9 rdelim))
(let loop ()
(let ((line (read-line port)))
(unless (eof-object? line)
(when (string-prefix? "Patch" line)
(let* ((space (string-rindex line #\space))
(patch (string-drop line (+ 1 space))))
(format #t "Applying '~a'.\n" patch)
(invoke "patch" "-Np1"
"-i" (string-append "../" patch))))
(loop))))))))
(add-after 'unpack 'patch-installation-directory
(lambda* (#:key outputs #:allow-other-keys)
(substitute* "Makefile"
(("/usr") (assoc-ref outputs "out")))
#t))
(add-before 'install 'mkdir
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(mkdir-p out)
(mkdir (string-append out "/sbin"))
(mkdir (string-append out "/man"))
(mkdir (string-append out "/man/man5"))
(mkdir (string-append out "/man/man8"))
#t)))
(delete 'configure))))
(native-inputs
;; Used to unpack the source RPM.
`(("p7zip" ,p7zip)
("cpio" ,cpio)))
(inputs
`(("libcap" ,libcap)
("linux-pam" ,linux-pam)
("openssl" ,openssl)))
(home-page "https://security.appspot.com/vsftpd.html")
(synopsis "Share files securely over FTP or FTPS")
(description "@command{vsftpd} is a daemon that listens on a TCP socket
for clients and gives them access to local files via File Transfer
Protocol.")
(home-page "https://security.appspot.com/vsftpd.html")
(license gpl2)))
(license gpl2))))

View File

@ -20,6 +20,7 @@
;;; Copyright © 2020, 2021 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2020 Timotej Lazar <timotej.lazar@araneo.si>
;;; Copyright © 2020 Giacomo Leidi <goodoldpaul@autistici.org>
;;; Copyright © 2021 Alexandru-Sergiu Marton <brown121407@posteo.ro>
;;;
;;; This file is part of GNU Guix.
;;;
@ -55,6 +56,7 @@
#:use-module (gnu packages base)
#:use-module (gnu packages boost)
#:use-module (gnu packages compression)
#:use-module (gnu packages check)
#:use-module (gnu packages curl)
#:use-module (gnu packages documentation)
#:use-module (gnu packages fltk)
@ -446,7 +448,7 @@ support.")
(define-public tiled
(package
(name "tiled")
(version "1.4.3")
(version "1.5.0")
(source (origin
(method git-fetch)
(uri (git-reference
@ -455,7 +457,7 @@ support.")
(file-name (git-file-name name version))
(sha256
(base32
"14bx4gywfzr2f07ldqk3la82g5ag1agj21f7ccrxip12ydmpx0xb"))))
"1prajkx1xpp3csa0xpkrn3c2cnzvmwzxgrqb9d3gqszp3sllr2dg"))))
(build-system gnu-build-system)
(inputs
`(("qtbase" ,qtbase)
@ -1090,7 +1092,7 @@ to create fully featured games and multimedia programs in the python language.")
(define-public python2-pygame-sdl2
(let ((real-version "2.1.0")
(renpy-version "7.4.2"))
(renpy-version "7.4.4"))
(package
(inherit python2-pygame)
(name "python2-pygame-sdl2")
@ -1100,7 +1102,7 @@ to create fully featured games and multimedia programs in the python language.")
(method url-fetch)
(uri (string-append "https://www.renpy.org/dl/" renpy-version
"/pygame_sdl2-" version ".tar.gz"))
(sha256 (base32 "1lpk69nh379x5pdlr838x5b49spzksn9hyqiq2g0q28k0xk4lm67"))
(sha256 (base32 "1lj5c3kfnl8s824j3hs47dg3g5rlabscmwrbb0lgpyy4633pv9ka"))
(modules '((guix build utils)))
(snippet
'(begin
@ -1143,13 +1145,13 @@ developed mainly for Ren'py.")
(define-public python2-renpy
(package
(name "python2-renpy")
(version "7.4.2")
(version "7.4.4")
(source
(origin
(method url-fetch)
(uri (string-append "https://www.renpy.org/dl/" version
"/renpy-" version "-source.tar.bz2"))
(sha256 (base32 "1mlrq9q3r36izyskq674qhp8s32iirvvfb4r8z6hi26189aaydsw"))
(sha256 (base32 "1cbbvsk1snjrsh59blb8q2h86555gi23pylmwlnk9dx0jxckdi21"))
(modules '((guix build utils)))
(patches
(search-patches
@ -1760,6 +1762,44 @@ provide high-quality 3D rendering, it contains an animation editor, and can be
scripted in a Python-like language.")
(license license:expat)))
(define-public entt
(package
(name "entt")
(version "3.7.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/skypjack/entt")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0nzvnhiw3r6nkmxp749zwxc8kzja09nijyxibdbri3g2i7pysf58"))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags (list "-DENTT_BUILD_TESTING=ON"
"-DENTT_FIND_GTEST_PACKAGE=ON"
"-DENTT_BUILD_DOCS=ON")
;; Only tests are compiled, and they need assertions to work correctly.
#:build-type "Debug"))
(native-inputs
`(;; for testing
("googletest" ,googletest)
;; for documentation
("doxygen" ,doxygen)
("graphviz" ,graphviz)))
(synopsis "Entity component system")
(description "EnTT is a header-only library, containing (among other things)
@itemize
@item an entity component system based on sparse sets,
@item a configuration system using the monostate pattern,
@item a static reflection system,
@item and a cooperative scheduler.
@end itemize")
(home-page "https://github.com/skypjack/entt")
(license (list license:expat ; code
license:cc-by4.0)))) ; documentation
(define-public eureka
(package
(name "eureka")

View File

@ -52,7 +52,7 @@
;;; Copyright © 2020 Jack Hill <jackhill@jackhill.us>
;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
;;; Copyright © 2020, 2021 Michael Rohleder <mike@rohleder.de>
;;; Copyright © 2020 Trevor Hass <thass@okstate.edu>
;;; Copyright © 2020, 2021 Trevor Hass <thass@okstate.edu>
;;; Copyright © 2020, 2021 Leo Prikler <leo.prikler@student.tugraz.at>
;;; Copyright © 2020 Lu hux <luhux@outlook.com>
;;; Copyright © 2020 Tomás Ortín Fernández <tomasortin@mailbox.org>
@ -743,7 +743,7 @@ battlestar (explore the world around, starting from dying spaceship),
phantasia (role-play as an rogue), trek (hunt the Klingons, and save the
Federation), and wump (hunt the big smelly Wumpus in a dark cave).
Quizes: arithmetic, and quiz.")
Quizzes: arithmetic and quiz.")
;; "Auxiliary and data files, distributed with the games in NetBSD, but
;; not bearing copyright notices, probably fall under the terms of the UCB
;; or NetBSD copyrights and licences. The file "fortune/Notes" contains a
@ -2325,7 +2325,7 @@ and defeat them with your bubbles!")
(name "solarus")
;; XXX: When updating this package, please also update hash in
;; `solarus-quest-editor' below.
(version "1.6.4")
(version "1.6.5")
(source
(origin
(method git-fetch)
@ -2334,7 +2334,7 @@ and defeat them with your bubbles!")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1n6l91yyqjx0pz4w1lp3yybpq0fs2yjswfcm8c1wjfkxwiznbdxi"))))
(base32 "0ny9dgqphjv2l39rff2621hnrzpf8qin8vmnv7jdz20azjk4m8id"))))
(build-system cmake-build-system)
(arguments
`(#:phases
@ -2393,19 +2393,9 @@ in mind.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1qbc2j9kalk7xqk9j27s7wnm5zawiyjs47xqkqphw683idmzmjzn"))))
(base32 "1pvjgd4faxii5sskw1h55lw90hlbazhwni8nxyywzrmkjbq7irm0"))))
(arguments
`(#:tests? #false ;no test
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-qt-build
;; XXX: Fix build with Qt 5.15. It has been applied upstream as
;; 81d5c7f1 and can be removed at next upgrade.
(lambda _
(substitute* "src/entities/jumper.cpp"
(("#include <QPainter>" all)
(string-append all "\n" "#include <QPainterPath>\n")))
#t)))))
`(#:tests? #false)) ; no test suite
(inputs
`(("solarus" ,solarus)
,@(package-inputs solarus)))
@ -3464,7 +3454,7 @@ match, cannon keep, and grave-itation pit.")
(define-public minetest
(package
(name "minetest")
(version "5.4.0")
(version "5.4.1")
(source (origin
(method git-fetch)
(uri (git-reference
@ -3473,7 +3463,7 @@ match, cannon keep, and grave-itation pit.")
(file-name (git-file-name name version))
(sha256
(base32
"1a17g6cmxrscnqwpwrd4w2ck3dgvplyfq4kzyimilfpqar1q69j9"))
"062ilb7s377q3hwfhl8q06vvcw2raydz5ljzlzwy2dmyzmdcndb8"))
(modules '((guix build utils)))
(snippet
'(begin
@ -3496,8 +3486,13 @@ match, cannon keep, and grave-itation pit.")
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-sources
(lambda _
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "src/filesys.cpp"
;; Use store-path for "rm" instead of non-existing FHS path.
(("\"/bin/rm\"")
(string-append "\"" (assoc-ref inputs "coreutils") "/bin/rm\"")))
(substitute* "src/CMakeLists.txt"
;; Let minetest binary remain in build directory.
(("set\\(EXECUTABLE_OUTPUT_PATH .*\\)") ""))
(substitute* "src/unittest/test_servermodmanager.cpp"
;; do no override MINETEST_SUBGAME_PATH
@ -3521,7 +3516,8 @@ match, cannon keep, and grave-itation pit.")
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs
`(("curl" ,curl)
`(("coreutils" ,coreutils)
("curl" ,curl)
("freetype" ,freetype)
("gettext" ,gettext-minimal)
("gmp" ,gmp)
@ -3561,7 +3557,7 @@ in different ways.")
(file-name (git-file-name name version))
(sha256
(base32
"11dz36z0pj2r7i8xm8v5lskzws81ckj6sc0avlmvdl8qdc9x83w5"))))
"0i45lbnikvgj9kxdp0yphpjjwjcgp4ibn49xkj78j5ic1s9n8jd4"))))
(build-system trivial-build-system)
(native-inputs
`(("source" ,source)))
@ -5847,7 +5843,7 @@ for Un*x systems with X11.")
(define-public freeciv
(package
(name "freeciv")
(version "2.6.3")
(version "2.6.4")
(source
(origin
(method url-fetch)
@ -5859,7 +5855,7 @@ for Un*x systems with X11.")
(version-major+minor version) "/" version
"/freeciv-" version ".tar.bz2")))
(sha256
(base32 "1lgq7wcbhwpy2yqdw4biwfmp5q8fh7lhlwxcgm0fpaapfl12whvp"))))
(base32 "1kn122f57wn5a8ryxaz73dlbd5m93mqx3bqmmz2lkgdccrvrbns0"))))
(build-system gnu-build-system)
(inputs
`(("curl" ,curl)
@ -8738,7 +8734,7 @@ where the player draws runes in real time to effect the desired spell.")
(define-public edgar
(package
(name "edgar")
(version "1.33")
(version "1.34")
(source
(origin
(method url-fetch)
@ -8746,7 +8742,7 @@ where the player draws runes in real time to effect the desired spell.")
(string-append "https://github.com/riksweeney/edgar/releases/download/"
version "/edgar-" version "-1.tar.gz"))
(sha256
(base32 "1mbx7dvizdca4g1blcv3bdh6yxd13k47rkya4rdzg0nvvz24m175"))))
(base32 "1121rq5wk3g8rs413av84s2kcy6qj6maspgy2vsxs36c2jd3yygl"))))
(build-system gnu-build-system)
(arguments '(#:tests? #f ; there are no tests
#:make-flags

View File

@ -571,20 +571,19 @@ It also includes runtime support libraries for these languages.")))
(define-public gcc-10
(package
(inherit gcc-8)
(version "10.2.0")
(version "10.3.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/gcc/gcc-"
version "/gcc-" version ".tar.xz"))
(sha256
(base32
"130xdkhmz1bc2kzx061s3sfwk36xah1fw5w332c0nzwwpdl47pdq"))
"0i6378ig6h397zkhd7m4ccwjx5alvzrf2hm27p1pzwjhlv0h9x34"))
(patches (search-patches "gcc-9-strmov-store-file-names.patch"
"gcc-5.0-libvtv-runpath.patch"))))))
;; Note: When changing the default gcc version, update
;; the gcc-toolchain-* definitions and the gfortran definition
;; accordingly.
;; the gcc-toolchain-* definitions.
(define-public gcc gcc-8)
(define-public (make-libstdc++ gcc)

View File

@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2019 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2020, 2021 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
@ -39,7 +39,7 @@
(define-public gramps
(package
(name "gramps")
(version "5.1.2")
(version "5.1.3")
(source
(origin
(method git-fetch)
@ -48,7 +48,7 @@
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "175iwvdp6c1a8rskl2wpk4yvzl437j7hm23v481974a85qy43iv8"))))
(base32 "109dwkswz2h2328xkqk2zj736d117s9pp7rz5cc1qg2vxn1lpm93"))))
(build-system python-build-system)
(native-inputs
`(("gettext" ,gettext-minimal)

View File

@ -151,7 +151,7 @@
("automake" ,automake)
("docbook-xml" ,docbook-xml-4.3)
("gobject-introspection" ,gobject-introspection)
("gtk-doc" ,gtk-doc)
("gtk-doc" ,gtk-doc/stable)
("libtool" ,libtool)
("pkg-config" ,pkg-config)
("python" ,python-wrapper)
@ -294,36 +294,6 @@ and driving.")
(home-page "https://wiki.gnome.org/Apps/Maps")
(license license:gpl2+)))
(define-public libgaiagraphics
(package
(name "libgaiagraphics")
(version "0.5")
(source
(origin
(method url-fetch)
(uri (string-append "https://www.gaia-gis.it/gaia-sins/libgaiagraphics-"
version ".tar.gz"))
(sha256
(base32
"076afqv417ag3hfvnif0qc7qscmnq1dsf6y431yygwgf34rjkayc"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs
`(("cairo" ,cairo)
("libpng" ,libpng)
("libjpeg-turbo" ,libjpeg-turbo)
("libtiff" ,libtiff)
("libgeotiff" ,libgeotiff)
("proj.4" ,proj.4)
("libxml2" ,libxml2)
("zlib" ,zlib)))
(synopsis "Gaia common graphics support")
(description "libgaiagraphics is a library supporting
common-utility raster handling methods.")
(home-page "https://www.gaia-gis.it/fossil/libgaiagraphics/index")
(license license:lgpl3+)))
(define-public libgeotiff
(package
(name "libgeotiff")
@ -373,6 +343,63 @@ writing GeoTIFF information tags.")
(license:non-copyleft "file://LICENSE"
"See LICENSE in the distribution.")))))
(define-public librasterlite2
(package
(name "librasterlite2")
(version "1.1.0-beta1")
(source
(origin
(method url-fetch)
(uri (string-append
"https://www.gaia-gis.it/gaia-sins/librasterlite2-sources/"
"librasterlite2-" version ".tar.gz"))
(sha256
(base32
"1x24gqp4hsq97c31ncwxblab0x0863q8v1z42jil7lvsq3glqa7p"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs
`(("cairo" ,cairo)
("curl" ,curl)
("freetype" ,freetype)
("freexl" ,freexl)
("giflib" ,giflib)
("libgeotiff" ,libgeotiff)
("libjpeg-turbo" ,libjpeg-turbo)
("libpng" ,libpng)
("librttopo" ,librttopo)
("libspatialite" ,libspatialite)
("libtiff" ,libtiff)
("libwebp" ,libwebp)
("libxml2" ,libxml2)
("lz4" ,lz4)
("minizip" ,minizip)
("openjpeg" ,openjpeg)
("proj" ,proj)
("sqlite" ,sqlite)
("zstd" ,zstd "lib")))
(synopsis "Library to work with huge raster coverages using a SpatiaLite")
(description
"librasterlite2 is a library that stores and retrieves huge raster
coverages using a SpatiaLite DBMS.")
(home-page "https://www.gaia-gis.it/fossil/librasterlite2/index")
;; For the genuine librasterlite-sources holds:
;; Any of the licenses MPL1.1, GPL2+ or LGPL2.1+ may be picked.
;; Files under src/control_points are from GRASS
;; and are licensed under GPL2+ only.
;; src/md5.[ch]: Placed into the public domain by Alexander Peslyak.
;; The tools supporting the library (both rl2tool and wmslite) are
;; licensed under the GPL v3 (or any subsequent version) terms.
;; The test/*.svg files are placed in the public domain, except for
;; test/Car_Yellow.svg which is licensed under the Free Art License 1.3.
(license (list license:gpl2+
license:gpl3+
license:lal1.3
license:lgpl2.1+
license:mpl1.1
license:public-domain))))
(define-public librttopo
(package
(name "librttopo")
@ -442,9 +469,8 @@ writing GeoTIFF information tags.")
("librttopo" ,librttopo)
("libxml2" ,libxml2)
("minizip" ,minizip)
("proj.4" ,proj.4)
("sqlite" ,sqlite)
("zlib" ,zlib)))
("proj" ,proj)
("sqlite" ,sqlite)))
(arguments
`(#:configure-flags
'("--enable-rttopo=yes")
@ -454,7 +480,7 @@ writing GeoTIFF information tags.")
(add-after 'unpack 'ignore-broken-tests
(lambda _
(substitute* '("test/Makefile.in")
(("\tcheck_sql_stm.*" all) "\tcheck_multithread$(EXEEXT) \\\n")
(("\tcheck_sql_stmt.* (check_sql_.*)" all tiny) (string-append "\t" tiny))
(("(\tch.*) check_v.*ble2.*$" all vt1) (string-append vt1 " \\\n"))
(("\tch.* (check_v.*ble4.*)$" all vt4) (string-append "\t" vt4)))
#t)))))
@ -686,29 +712,39 @@ development.")
(define-public spatialite-gui
(package
(name "spatialite-gui")
(version "1.7.1")
(version "2.1.0-beta1")
(source
(origin
(method url-fetch)
(uri (string-append "https://www.gaia-gis.it/gaia-sins/spatialite_gui-"
version ".tar.gz"))
(uri (string-append
"https://www.gaia-gis.it/gaia-sins/spatialite-gui-sources/"
"spatialite_gui-" version ".tar.gz"))
(sha256
(base32
"1r05dz9pyc8vsd2wbqxcsracpfbaamz470rcyp2myfpqwznv376b"))))
(base32 "0cyv4cycl073p9lnnnglcb72qn71g8h9g5zn4gzw7swcy5nxjj5s"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs
`(("freexl" ,freexl)
`(("curl" ,curl)
("freexl" ,freexl)
("geos" ,geos)
("libgaiagraphics" ,libgaiagraphics)
("giflib" ,giflib)
("libjpeg-turbo" ,libjpeg-turbo)
("librasterlite2" ,librasterlite2)
("librttopo" ,librttopo)
("libspatialite" ,libspatialite)
("libwebp" ,libwebp)
("libxlsxwriter" ,libxlsxwriter)
("libxml2" ,libxml2)
("proj.4" ,proj.4)
("lz4" ,lz4)
("minizip" ,minizip)
("openjpeg" ,openjpeg)
("postgresql" ,postgresql)
("proj" ,proj)
("sqlite" ,sqlite)
("wxwidgets" ,wxwidgets-2)
("zlib" ,zlib)))
("virtualpg" ,virtualpg)
("wxwidgets" ,wxwidgets)
("zstd" ,zstd "lib")))
(arguments
`(#:phases (modify-phases %standard-phases
(add-after 'unpack 'fix-gui
@ -1066,7 +1102,7 @@ map, geocoding with Nominatim, or general analysis.")
(define-public tippecanoe
(package
(name "tippecanoe")
(version "1.31.5")
(version "1.36.0")
(source
(origin
(method git-fetch)
@ -1075,14 +1111,14 @@ map, geocoding with Nominatim, or general analysis.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1m0x931a945sr7axyhcvpwh798m58hx1zxh6ikgf9gsgqhdhmszz"))))
(base32 "0lbmhly4ivnqc6qk1k3sdqvsg6x3nfd8gnjx846bhqj4wag3f88m"))))
(build-system gnu-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases (delete 'configure))
#:test-target "test"
#:make-flags
(list "CC=gcc"
(list (string-append "CC=" ,(cc-for-target))
(string-append "PREFIX=" (assoc-ref %outputs "out")))))
(inputs
`(("perl" ,perl)
@ -1138,7 +1174,7 @@ OpenStreetMap data files.")
(build-system gnu-build-system)
(native-inputs
`(("gnome-common" ,gnome-common)
("gtk-doc" ,gtk-doc)
("gtk-doc" ,gtk-doc/stable)
("pkg-config" ,pkg-config)))
(inputs
`(("cairo" ,cairo)
@ -1748,10 +1784,9 @@ associated attribute file (@file{.dbf}).")
("libspatialite" ,libspatialite)
("libxml2" ,libxml2)
("minizip" ,minizip)
("proj.4" ,proj.4)
("proj" ,proj)
("readosm" ,readosm)
("sqlite" ,sqlite)
("zlib" ,zlib)))
("sqlite" ,sqlite)))
(synopsis "Collection of command line tools for SpatiaLite")
(description
"@code{spatialite-tools} is a collection of Command Line Interface (CLI)
@ -1978,7 +2013,7 @@ visualization.")
(define-public saga
(package
(name "saga")
(version "7.6.2")
(version "7.9.0")
(source
(origin
(method url-fetch)
@ -1986,7 +2021,7 @@ visualization.")
(version-major version) "/SAGA%20-%20" version
"/saga-" version ".tar.gz"))
(sha256
(base32 "09j5magmayq2y620kqa490mfd1kpdp3lng2ifcgbrmssc079ybm0"))))
(base32 "1n051yxxkylly0k9rlkx2ih3j2lf9d4csg00sm7161r7nhjvggd1"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
@ -2001,7 +2036,7 @@ visualization.")
("libtiff" ,libtiff)
("opencv" ,opencv)
("postgresql" ,postgresql)
("proj.4" ,proj.4)
("proj" ,proj)
("python" ,python)
("qhull" ,qhull)
("unixodbc" ,unixodbc)
@ -2047,7 +2082,21 @@ growing set of geoscientific methods.")
(("sip_dir = cfg.default_sip_dir")
(string-append "sip_dir = \""
(assoc-ref inputs "python-pyqt+qscintilla")
"/share/sip\"")))
"/share/sip\""))
;; Fix building with python-sip@5.
;;
;; The reason for this is that python-sip@5 introduces some
;; changes such as a new build system 'sip-build' as well as the
;; use of the path "/lib/pythonX.X/site-packages/*/bindings/"
;; instead of "/share/sip/" for .sip files. However, we do not
;; actually use that those yet. QGIS detects SIP5 and assumes we
;; are, messing up the build. The long term solution is to fully
;; upgrade SIP, use sip-build and fix all failing packages, but
;; for now I just want to get the build working.
((".pyqt_sip_dir...os.path.join.*,")
(string-append "'pyqt_sip_dir': \""
(assoc-ref inputs "python-pyqt+qscintilla")
"/share/sip" "\",")))
(substitute* (list "scripts/prepare_commit.sh"
"scripts/qstringfixup.sh"
"scripts/release.pl"

View File

@ -36,7 +36,9 @@
#:use-module (gnu packages algebra)
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
#:use-module (gnu packages build-tools)
#:use-module (gnu packages documentation)
#:use-module (gnu packages graphviz)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages glib)
#:use-module (gnu packages gtk)
@ -166,7 +168,7 @@ of a larger interface.")
(define-public babl
(package
(name "babl")
(version "0.1.78")
(version "0.1.86")
(source (origin
(method url-fetch)
(uri (list (string-append "https://download.gimp.org/pub/babl/"
@ -180,10 +182,11 @@ of a larger interface.")
"/babl-" version ".tar.xz")))
(sha256
(base32
"0fjjfb0pbgimlqi7rk8cqz8pq595b7gw8nrpkxfmixdz6cv4km8p"))))
"1w68h81kqkqnziixrx21qs0gfv2z79651h19sxn226xdb58mjgqb"))))
(build-system meson-build-system)
(arguments
`(#:configure-flags
`(#:meson ,meson-0.55
#:configure-flags
(list "-Denable-gir=false")))
(native-inputs
`(("pkg-config" ,pkg-config)))
@ -205,7 +208,7 @@ provided, as well as a framework to add new color models and data types.")
(define-public gegl
(package
(name "gegl")
(version "0.4.26")
(version "0.4.28")
(source (origin
(method url-fetch)
(uri (list (string-append "https://download.gimp.org/pub/gegl/"
@ -219,10 +222,11 @@ provided, as well as a framework to add new color models and data types.")
"/gegl-" version ".tar.xz")))
(sha256
(base32
"097427icgpgvcx40019b3dm8m84cchz79pixzpz648drs8p1wdqg"))))
"003ri7yv7lm2fi86ama3vlkwnz656yyib4r36hxwlk6mfy2hs48x"))))
(build-system meson-build-system)
(arguments
`(#:configure-flags
`(#:meson ,meson-0.55
#:configure-flags
(list "-Dintrospection=false")
#:phases
(modify-phases %standard-phases
@ -266,14 +270,15 @@ buffers.")
(package
(name "gimp")
(version "2.10.22")
(source (origin
(method url-fetch)
(uri (string-append "https://download.gimp.org/pub/gimp/v"
(version-major+minor version)
"/gimp-" version ".tar.bz2"))
(sha256
(base32
"1fqqyshakvdarf1jipk2n33ibqr23ni22z3d8srq13bpydblpf1d"))))
(source
(origin
(method url-fetch)
(uri (string-append "https://download.gimp.org/pub/gimp/v"
(version-major+minor version)
"/gimp-" version ".tar.bz2"))
(sha256
(base32 "1fqqyshakvdarf1jipk2n33ibqr23ni22z3d8srq13bpydblpf1d"))
(patches (search-patches "gimp-make-gegl-introspect-optional.patch"))))
(build-system gnu-build-system)
(outputs '("out"
"doc")) ; 9 MiB of gtk-doc HTML
@ -541,6 +546,29 @@ healing the border, increasing the resolution while adding detail, and
transferring the style of an image.")
(license license:gpl3+)))
(define gegl-for-glimpse
;; Remove this when GIMP commit 2cae9b9acf9da98c4c9990819ffbd5aabe23017e
;; makes it into Glimpse.
(package
(inherit gegl)
(arguments
(substitute-keyword-arguments (package-arguments gegl)
((#:phases phases)
`(modify-phases ,phases
(add-after 'unpack 'refer-to-dot
;; XXX Without dot in $PATH, Glimpse would fail to start with an
;; extremely obtuse GEGL operation missing! error.
(lambda _
(substitute* "gegl/gegl-dot.c"
(("\"dot ")
(format #f "\"~a " (which "dot"))))
(substitute* "operations/common/introspect.c"
(("g_find_program_in_path \\(\"dot\"\\)")
(format #f "g_strdup (\"~a\")" (which "dot"))))))))))
(inputs
`(,@(package-inputs gegl)
("graphviz" ,graphviz)))))
(define-public glimpse
(package
(name "glimpse")
@ -620,7 +648,7 @@ transferring the style of an image.")
("poppler-data" ,poppler-data)
("python" ,python-2) ; optional, Python support
("python2-pygtk" ,python2-pygtk) ; optional, Python support
("gegl" ,gegl)))
("gegl" ,gegl-for-glimpse))) ; XXX see comment in gegl-for-glimpse
(home-page "https://glimpse-editor.github.io/")
(synopsis "Glimpse Image Editor")
(description "The Glimpse Image Editor is an application for image

View File

@ -271,7 +271,7 @@ also known as DXTn or DXTC) for Mesa.")
("libxrandr" ,libxrandr)
("libxvmc" ,libxvmc)
,@(match (%current-system)
((or "x86_64-linux" "i686-linux")
((or "x86_64-linux" "i686-linux" "powerpc64le-linux")
;; Note: update the 'clang' input of mesa-opencl when bumping this.
`(("llvm" ,llvm-11)))
(_
@ -283,7 +283,7 @@ also known as DXTn or DXTC) for Mesa.")
("flex" ,flex)
("gettext" ,gettext-minimal)
,@(match (%current-system)
((or "x86_64-linux" "i686-linux")
((or "x86_64-linux" "i686-linux" "powerpc64le-linux")
`(("glslang" ,glslang)))
(_
`()))
@ -296,8 +296,10 @@ also known as DXTn or DXTC) for Mesa.")
`(#:configure-flags
'(,@(match (%current-system)
((or "armhf-linux" "aarch64-linux")
;; TODO: Fix svga driver for aarch64 and armhf.
;; TODO: Fix svga driver for non-Intel architectures.
'("-Dgallium-drivers=etnaviv,freedreno,kmsro,lima,nouveau,panfrost,r300,r600,swrast,tegra,v3d,vc4,virgl"))
("powerpc64le-linux"
'("-Dgallium-drivers=nouveau,r300,r600,radeonsi,swrast,virgl"))
(_
'("-Dgallium-drivers=iris,nouveau,r300,r600,radeonsi,svga,swrast,virgl")))
;; Enable various optional features. TODO: opencl requires libclc,
@ -314,16 +316,18 @@ also known as DXTn or DXTC) for Mesa.")
"-Dgbm=enabled"
"-Dshared-glapi=enabled"
;; Enable Vulkan on i686-linux and x86-64-linux.
;; Explicitly enable Vulkan on some architectures.
,@(match (%current-system)
((or "i686-linux" "x86_64-linux")
'("-Dvulkan-drivers=intel,amd"))
("powerpc64le-linux"
'("-Dvulkan-drivers=amd"))
(_
'("-Dvulkan-drivers=auto")))
;; Enable the Vulkan overlay layer on i686-linux and x86-64-linux.
;; Enable the Vulkan overlay layer on architectures using llvm.
,@(match (%current-system)
((or "x86_64-linux" "i686-linux")
((or "x86_64-linux" "i686-linux" "powerpc64le-linux")
'("-Dvulkan-overlay-layer=true"))
(_
'()))
@ -337,6 +341,9 @@ also known as DXTn or DXTC) for Mesa.")
((or "x86_64-linux" "i686-linux")
'("-Ddri-drivers=i915,i965,nouveau,r200,r100"
"-Dllvm=enabled")) ; default is x86/x86_64 only
("powerpc64le-linux"
'("-Ddri-drivers=nouveau,r200,r100"
"-Dllvm=enabled"))
(_
'("-Ddri-drivers=nouveau,r200,r100"))))
@ -350,6 +357,15 @@ also known as DXTn or DXTC) for Mesa.")
(guix build meson-build-system))
#:phases
(modify-phases %standard-phases
,@(if (string-prefix? "powerpc64le" (or (%current-target-system)
(%current-system)))
;; Disable some of the llvmpipe tests.
`((add-after 'unpack 'disable-failing-test
(lambda _
(substitute* "src/gallium/drivers/llvmpipe/lp_test_arit.c"
(("0\\.5, ") ""))
#t)))
'())
,@(if (string-prefix? "i686" (or (%current-target-system)
(%current-system)))
;; Disable new test from Mesa 19 that fails on i686. Upstream
@ -390,7 +406,7 @@ also known as DXTn or DXTC) for Mesa.")
(let ((out (assoc-ref outputs "out"))
(bin (assoc-ref outputs "bin")))
,@(match (%current-system)
((or "i686-linux" "x86_64-linux")
((or "i686-linux" "x86_64-linux" "powerpc64le-linux")
;; Install the Vulkan overlay control script to a separate
;; output to prevent a reference on Python, saving ~70 MiB
;; on the closure size.
@ -728,7 +744,7 @@ OpenGL graphics API.")
(description
"libglvnd is a vendor-neutral dispatch layer for arbitrating OpenGL
API calls between multiple vendors. It allows multiple drivers from
different vendors to coexist on the same filesystem, and determines which
different vendors to coexist on the same file system, and determines which
vendor to dispatch each API call to at runtime.
Both GLX and EGL are supported, in any combination with OpenGL and OpenGL ES.")
@ -783,7 +799,7 @@ OpenGL.")
(define-public glfw
(package
(name "glfw")
(version "3.3.3")
(version "3.3.4")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/glfw/glfw"
@ -791,7 +807,7 @@ OpenGL.")
"/glfw-" version ".zip"))
(sha256
(base32
"0xrrahhbs4sn7sgvdk9sgz5zla4sw3ajq6kxpqrx635l8nnqfc3j"))))
"1kcrpl4d6b6h23ib5j9q670d9w3knd07whgbanbmwwhbcqnc9lmv"))))
(build-system cmake-build-system)
(arguments
'(#:tests? #f ; no test target

View File

@ -1159,7 +1159,7 @@ other API remains the same.")
`(("bison" ,bison)
("flex" ,flex)
("glib:bin" ,glib "bin") ;; For glib-mkenums
("gtk-doc" ,gtk-doc)
("gtk-doc" ,gtk-doc/stable)
("pkg-config" ,pkg-config)
("vala" ,vala)))
(home-page "https://gitlab.gnome.org/GNOME/template-glib")

View File

@ -950,9 +950,9 @@ feature-set for programming Vala effectively.")
#:exclude ("README.md" "LICENSE" "Art/" "package.json"
"package-lock.json" "Gulpfile.js")))))
(home-page "https://github.com/EliverLara/Nordic")
(synopsis "Dark Gtk3.20+ theme using the Nord color pallete")
(synopsis "Dark Gtk3.20+ theme using the Nord color palette")
(description "Nordic is a Gtk3.20+ theme created using the Nord color
pallete.")
palette.")
(license license:gpl3))))
(define-public tiramisu

View File

@ -202,7 +202,6 @@
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg)
#:use-module (gnu artwork)
#:use-module ((guix build utils) #:select (modify-phases))
#:use-module (guix build-system cargo)
#:use-module (guix build-system cmake)
#:use-module (guix build-system glib-or-gtk)
@ -216,8 +215,6 @@
#:use-module (guix packages)
#:use-module (guix utils)
#:use-module (guix gexp)
#:use-module (guix monads)
#:use-module (guix store)
#:use-module (ice-9 match)
#:use-module (srfi srfi-1))
@ -264,7 +261,7 @@
("glib:bin" ,glib "bin")
("gobject-introspection" ,gobject-introspection)
("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
("gtk-doc" ,gtk-doc)
("gtk-doc" ,gtk-doc/stable)
("pkg-config" ,pkg-config)))
(propagated-inputs
`(("glib" ,glib)
@ -367,7 +364,7 @@ features to enable users to create their discs easily and quickly.")
(native-inputs
`(("glib:bin" ,glib "bin")
("gobject-introspection" ,gobject-introspection)
("gtk-doc" ,gtk-doc)
("gtk-doc" ,gtk-doc/stable)
("pkg-config" ,pkg-config)
("vala" ,vala)))
(inputs
@ -416,7 +413,7 @@ services.")
(native-inputs
`(("docbook-xml" ,docbook-xml-4.1.2)
("gobject-introspection" ,gobject-introspection)
("gtk-doc" ,gtk-doc)
("gtk-doc" ,gtk-doc/stable)
("pkg-config" ,pkg-config)))
(propagated-inputs
`(("glib" ,glib)
@ -513,7 +510,7 @@ bindings.")
("docbook-xml" ,docbook-xml-4.1.2)
("gettext" ,gettext-minimal)
("gobject-introspection" ,gobject-introspection)
("gtk-doc" ,gtk-doc)
("gtk-doc" ,gtk-doc/stable)
("intltool" ,intltool)
("libtool" ,libtool)
("pkg-config" ,pkg-config)))
@ -623,7 +620,7 @@ It is written in C using GObject and libsoup.")
"/share/gtk-doc/html"))))
(native-inputs
`(("gobject-introspection" ,gobject-introspection)
("gtk-doc" ,gtk-doc)
("gtk-doc" ,gtk-doc/stable)
("pkg-config" ,pkg-config)))
(propagated-inputs
`(("glib" ,glib)))
@ -693,7 +690,7 @@ of writing test cases for asynchronous interactions.")
("dbus-test-runner" ,dbus-test-runner)
("docbook-xml" ,docbook-xml-4.3)
("gobject-introspection" ,gobject-introspection)
("gtk-doc" ,gtk-doc)
("gtk-doc" ,gtk-doc/stable)
;; Would only be required by configure flag "--enable-extended-tests".
;("gtx" ,gtx)
("pkg-config" ,pkg-config)
@ -769,7 +766,7 @@ of known objects without needing a central registrar.")
("docbook-xml" ,docbook-xml-4.3)
("gettext" ,gettext-minimal)
("gobject-introspection" ,gobject-introspection)
("gtk-doc" ,gtk-doc)
("gtk-doc" ,gtk-doc/stable)
("libtool" ,libtool)
("pkg-config" ,pkg-config)
("vala" ,vala)
@ -1178,7 +1175,7 @@ Library reference documentation.")
`(("docbook-xml" ,docbook-xml-4.3)
("gettext" ,gettext-minimal)
("glib:bin" ,glib "bin")
("gtk-doc" ,gtk-doc)
("gtk-doc" ,gtk-doc/stable)
("pkg-config" ,pkg-config)))
(inputs
`(("avahi" ,avahi)
@ -1296,7 +1293,7 @@ It has miners for Facebook, Flickr, Google, ownCloud and SkyDrive.")
`(("gettext" ,gettext-minimal)
("glib:bin" ,glib "bin")
("gobject-introspection" ,gobject-introspection)
("gtk-doc" ,gtk-doc)
("gtk-doc" ,gtk-doc/stable)
("pkg-config" ,pkg-config)
("vala" ,vala)))
(inputs
@ -1327,7 +1324,7 @@ a debugging tool, @command{gssdp-device-sniffer}.")
`(("gettext" ,gettext-minimal)
("glib:bin" ,glib "bin")
("gobject-introspection" ,gobject-introspection)
("gtk-doc" ,gtk-doc)
("gtk-doc" ,gtk-doc/stable)
("pkg-config" ,pkg-config)
("vala" ,vala)))
(inputs
@ -1358,7 +1355,7 @@ for creating UPnP devices and control points, written in C using
`(("gettext" ,gettext-minimal)
("glib:bin" ,glib "bin")
("gobject-introspection" ,gobject-introspection)
("gtk-doc" ,gtk-doc)
("gtk-doc" ,gtk-doc/stable)
("libxml" ,libxml2)
("pkg-config" ,pkg-config)
("vala" ,vala)))
@ -1392,7 +1389,7 @@ given profile, etc. DLNA is a subset of UPnP A/V.")
`(("gettext" ,gettext-minimal)
("glib:bin" ,glib "bin")
("gobject-introspection" ,gobject-introspection)
("gtk-doc" ,gtk-doc)
("gtk-doc" ,gtk-doc/stable)
("libxml" ,libxml2)
("pkg-config" ,pkg-config)))
(inputs
@ -1608,7 +1605,7 @@ preview files on the GNOME desktop.")
(native-inputs
`(("gettext" ,gettext-minimal)
("gobject-introspection" ,gobject-introspection)
("gtk-doc" ,gtk-doc)
("gtk-doc" ,gtk-doc/stable)
("pkg-config" ,pkg-config)
("vala" ,vala)))
(inputs
@ -1670,7 +1667,7 @@ client devices can handle.")
`(("docbook-xml" ,docbook-xml-4.3)
("gettext" ,gettext-minimal)
("glib:bin" ,glib "bin")
("gtk-doc" ,gtk-doc)
("gtk-doc" ,gtk-doc/stable)
("gobject-introspection" ,gobject-introspection)
("pkg-config" ,pkg-config)
("vala" ,vala)))
@ -2417,7 +2414,7 @@ GNOME Desktop.")
("automake" ,automake)
("glib" ,glib "bin") ; for glib-genmarshal, etc.
("gnome-common" ,gnome-common)
("gtk-doc" ,gtk-doc)
("gtk-doc" ,gtk-doc/stable)
("intltool" ,intltool)
("pkg-config" ,pkg-config)
("libtool" ,libtool)
@ -3057,7 +3054,7 @@ configuring CUPS.")
("gobject-introspection" ,gobject-introspection)
;; For the documentation.
("gtk-doc" ,gtk-doc)
("gtk-doc" ,gtk-doc/stable)
("xsltproc" ,libxslt)
("docbook-xsl" ,docbook-xsl)))
(home-page "https://developer-next.gnome.org/libnotify/")
@ -4216,6 +4213,57 @@ engineering.")
;; Dual licensed under GPLv2 or GPLv3 (both without "or later")
(list license:gpl2 license:gpl3))))
(define-public drawing
(package
(name "drawing")
(version "0.6.5")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/maoschanz/drawing")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1kfgmalakifcvzhzss9zhmqjbdk24zr22c5xwkkahlvfcafp13wn"))))
(build-system meson-build-system)
(arguments
`(#:glib-or-gtk? #t
#:phases
(modify-phases %standard-phases
(add-after 'glib-or-gtk-wrap 'python-and-gi-wrap
(lambda* (#:key outputs #:allow-other-keys)
(let ((prog (string-append (assoc-ref outputs "out")
"/bin/drawing"))
(pylib (string-append (assoc-ref outputs "out")
"/lib/python"
,(version-major+minor
(package-version python))
"/site-packages")))
(wrap-program prog
`("PYTHONPATH" = (,(getenv "PYTHONPATH") ,pylib))
`("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
#t))))))
(native-inputs
`(("desktop-file-utils" ,desktop-file-utils)
("gettext" ,gettext-minimal)
("glib:bin" ,glib "bin")
("gobject-introspection" ,gobject-introspection)
("gtk+:bin" ,gtk+ "bin")
("pkg-config" ,pkg-config)))
(inputs
`(("gdk-pixbuf" ,gdk-pixbuf+svg)
("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
("gtk+" ,gtk+)
("pango" ,pango)
("python-pycairo" ,python-pycairo)
("python-pygobject" ,python-pygobject)))
(home-page "https://maoschanz.github.io/drawing/")
(synopsis "Basic image editor for GNOME")
(description
"Drawing is a basic image editor aiming at the GNOME desktop.")
(license license:gpl3+)))
(define-public gnome-themes-standard
(package
(name "gnome-themes-standard")
@ -4409,7 +4457,7 @@ editors, IDEs, etc.")
"0rnm5c6m3abbm81jsfdas0y80z299ny54gr4syn4bfrms3s4g19l"))))
(build-system meson-build-system)
(native-inputs
`(("gtk-doc" ,gtk-doc)
`(("gtk-doc" ,gtk-doc/stable)
,@(package-native-inputs vte)))
(arguments
`(#:configure-flags '("-Ddocs=true")))
@ -4526,7 +4574,7 @@ and RDP protocols.")
("docbook-xml" ,docbook-xml-4.2)
("docbook-xsl" ,docbook-xsl)
("glib:bin" ,glib "bin")
("gtk-doc" ,gtk-doc)
("gtk-doc" ,gtk-doc/stable)
("pkg-config" ,pkg-config)
("vala" ,vala)))
(arguments
@ -4634,7 +4682,7 @@ GLib and GObject, and integrates JSON with GLib data types.")
`(("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
("gobject-introspection" ,gobject-introspection)
("pkg-config" ,pkg-config)
("gtk-doc" ,gtk-doc)
("gtk-doc" ,gtk-doc/stable)
("intltool" ,intltool)
("which" ,which)
("autoconf" ,autoconf)
@ -4863,7 +4911,7 @@ libxml to ease remote use of the RESTful API.")
`(("docbook-xml" ,docbook-xml-4.1.2)
("glib:bin" ,glib "bin") ; for glib-mkenums
("gobject-introspection" ,gobject-introspection)
("gtk-doc" ,gtk-doc)
("gtk-doc" ,gtk-doc/stable)
("intltool" ,intltool)
("pkg-config" ,pkg-config)
("python" ,python-wrapper)
@ -5230,7 +5278,7 @@ keyboard shortcuts.")
`(("glib:bin" ,glib "bin") ; for glib-compile-resources, etc.
("gettext" ,gettext-minimal)
("gobject-introspection" ,gobject-introspection)
("gtk-doc" ,gtk-doc)
("gtk-doc" ,gtk-doc/stable)
("pkg-config" ,pkg-config)
("vala" ,vala)))
(propagated-inputs
@ -5275,7 +5323,7 @@ output devices.")
("gobject-introspection" ,gobject-introspection)
("modem-manager" ,modem-manager)
("libnotify" ,libnotify)
("gtk-doc" ,gtk-doc)
("gtk-doc" ,gtk-doc/stable)
("intltool" ,intltool)))
(inputs
`(("avahi" ,avahi)
@ -5320,7 +5368,7 @@ permission from user.")
("glibc-locales" ,glibc-locales) ; for tests
("gettext" ,gettext-minimal)
("gobject-introspection" ,gobject-introspection)
("gtk-doc" ,gtk-doc)
("gtk-doc" ,gtk-doc/stable)
("pkg-config" ,pkg-config)
("json-glib" ,json-glib)))
(propagated-inputs
@ -5626,7 +5674,7 @@ which are easy to play with the aid of a mouse.")
(native-inputs
`(("gobject-introspection" ,gobject-introspection)
("glib:bin" ,glib "bin") ; for glib-mkenums
("gtk-doc" ,gtk-doc)
("gtk-doc" ,gtk-doc/stable)
("pkg-config" ,pkg-config)))
(inputs
`(("glib" ,glib)
@ -6043,7 +6091,7 @@ as possible!")
("intltool" ,intltool)
("pkg-config" ,pkg-config)
("gobject-introspection" ,gobject-introspection)
("gtk-doc" ,gtk-doc)
("gtk-doc" ,gtk-doc/stable)
("vala" ,vala)))
(inputs
`(("cyrus-sasl" ,cyrus-sasl)
@ -6477,7 +6525,7 @@ part of udev-extras, then udev, then systemd. It's now a project on its own.")
(native-inputs
`(("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
("gettext" ,gettext-minimal)
("gtk-doc" ,gtk-doc)
("gtk-doc" ,gtk-doc/stable)
("pkg-config" ,pkg-config)
("xsltproc" ,libxslt)))
(inputs
@ -6542,7 +6590,7 @@ DAV, and others.")
`(("gobject-introspection" ,gobject-introspection)
("pkg-config" ,pkg-config)
("vala" ,vala)
("gtk-doc" ,gtk-doc)))
("gtk-doc" ,gtk-doc/stable)))
(propagated-inputs
;; Both of these are required by gusb.pc.
`(("glib" ,glib)
@ -6655,9 +6703,11 @@ almost all of them.")
("python-pygobject" ,python-pygobject)
("python-pycairo" ,python-pycairo)
("python-pycrypto" ,python-pycrypto)
("libhandy" ,libhandy)
("libsecret" ,libsecret)
("gtkspell3" ,gtkspell3)
("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
("gnome-settings-daemon" ,gnome-settings-daemon) ; desktop-schemas are not enough
("webkitgtk" ,webkitgtk)))
(home-page "https://wiki.gnome.org/Apps/Eolie")
(synopsis "Web browser for GNOME")
@ -7752,7 +7802,7 @@ users.")
`(("glib" ,glib)))
(native-inputs
`(("glib:bin" ,glib "bin") ; for gdbus-codegen
("gtk-doc" ,gtk-doc)
("gtk-doc" ,gtk-doc/stable)
("gobject-introspection" ,gobject-introspection)
("docbook-xml" ,docbook-xml)
("docbook-xsl" ,docbook-xsl)
@ -8009,7 +8059,7 @@ Cisco's AnyConnect SSL VPN.")
`(("intltool" ,intltool)
("glib:bin" ,glib "bin") ; for glib-compile-resources, etc.
("gobject-introspection" ,gobject-introspection)
("gtk-doc" ,gtk-doc)
("gtk-doc" ,gtk-doc/stable)
("pkg-config" ,pkg-config)))
(propagated-inputs
;; libnm-gtk.pc refers to all these.
@ -9758,7 +9808,7 @@ compiled.")
"--enable-introspection")))
(native-inputs
`(("gobject-introspection" ,gobject-introspection)
("gtk-doc" ,gtk-doc)
("gtk-doc" ,gtk-doc/stable)
("pkg-config" ,pkg-config)
;; The 0.2.4 release tarball isn't bootstrapped.
@ -9830,7 +9880,7 @@ environment, which can notably display keyboard layouts.")
`(("pkg-config" ,pkg-config)
("gobject-introspection" ,gobject-introspection)
("glib:bin" ,glib "bin")
("gtk-doc" ,gtk-doc)))
("gtk-doc" ,gtk-doc/stable)))
(propagated-inputs
;; Referred to in .h files and .pc.
`(("gtk+" ,gtk+)))
@ -10415,7 +10465,7 @@ photo-booth-like software, such as Cheese.")
("docbook-xml" ,docbook-xml-4.3)
("gettext" ,gettext-minimal)
("glib:bin" ,glib "bin")
("gtk-doc" ,gtk-doc)
("gtk-doc" ,gtk-doc/stable)
("itstool" ,itstool)
("libxml2" ,libxml2)
("libxslt" ,libxslt)
@ -10847,7 +10897,7 @@ advanced image management tool")
(define-public terminator
(package
(name "terminator")
(version "2.1.0")
(version "2.1.1")
(source
(origin
(method url-fetch)
@ -10855,8 +10905,7 @@ advanced image management tool")
"releases/download/v" version "/"
name "-" version ".tar.gz"))
(sha256
(base32
"1vap4li2i24l1iz2q4b8wvhj8flamarf18xcmzq5ik2vzcrisbjy"))))
(base32 "0xdgmam7ghnxw6g38a4gjw3kk3rhga8c66lns18k928jlr9fmddw"))))
(build-system python-build-system)
(native-inputs
`(("gettext" ,gettext-minimal)
@ -10954,7 +11003,7 @@ tabs, and it supports drag and drop re-ordering of terminals.")
`(("glib:bin" ,glib "bin")
("gobject-introspection" ,gobject-introspection) ; for g-ir-scanner
("vala" ,vala)
("gtk-doc" ,gtk-doc)
("gtk-doc" ,gtk-doc/stable)
("pkg-config" ,pkg-config)
("gettext" ,gettext-minimal)
@ -11489,7 +11538,7 @@ card sheets that youll find at most office supply stores.")
`(("gettext" ,gettext-minimal)
("glib:bin" ,glib "bin")
("gobject-introspection" ,gobject-introspection)
("gtk-doc" ,gtk-doc)
("gtk-doc" ,gtk-doc/stable)
("intltool" ,intltool)
("itstool" ,itstool)
("pkg-config" ,pkg-config)
@ -12081,7 +12130,7 @@ developed with the aim of being used with the Librem 5 phone.")
("glib:bin" ,glib "bin")
("gnome-common" ,gnome-common)
("gobject-introspection" ,gobject-introspection)
("gtk-doc" ,gtk-doc)
("gtk-doc" ,gtk-doc/stable)
("intltool" ,intltool)
("libtool" ,libtool)
("pkg-config" ,pkg-config)

View File

@ -56,7 +56,7 @@ list.")
(define-public gnu-standards
(package
(name "gnu-standards")
(version "2018-02-18")
(version "2020-11-25")
(source
(origin
(method cvs-fetch)
@ -64,11 +64,11 @@ list.")
(root-directory
":pserver:anonymous@cvs.savannah.gnu.org:/sources/gnustandards")
(module "gnustandards")
(revision "2018-02-18")))
(revision version)))
(sha256
(base32
"03yh25fpvfn5pnd0d4x7a2wkh01ffk6vbs1vjnzqicqkgc2g33sd"))
(file-name "gnu-standards-src")))
"1xlwmgcnvp81ipgfir4ckpgl922mbckvxy1x758r0lksq5vrpglj"))
(file-name (string-append name "-" version "-checkout"))))
(build-system trivial-build-system)
(native-inputs `(("gzip" ,gzip)
("source" ,source)

View File

@ -1305,11 +1305,11 @@ standards of the IceCat project.")
(cpe-version . ,(first (string-split version #\-)))))))
;; Update this together with icecat!
(define %icedove-build-id "20210223000000") ;must be of the form YYYYMMDDhhmmss
(define %icedove-build-id "20210323000000") ;must be of the form YYYYMMDDhhmmss
(define-public icedove
(package
(name "icedove")
(version "78.8.0")
(version "78.9.0")
(source icecat-source)
(properties
`((cpe-name . "thunderbird_esr")))
@ -1589,7 +1589,7 @@ standards of the IceCat project.")
;; in the Thunderbird release tarball. We don't use the release
;; tarball because it duplicates the Icecat sources and only adds the
;; "comm" directory, which is provided by this repository.
,(let ((changeset "d801a94f25867ca5f2f3488c4700532351987999"))
,(let ((changeset "1a5cd2aa11de609116f258b413afcf113ed72f3a"))
(origin
(method hg-fetch)
(uri (hg-reference
@ -1598,7 +1598,7 @@ standards of the IceCat project.")
(file-name (string-append "thunderbird-" version "-checkout"))
(sha256
(base32
"19h1s9qcxzcvbd1m07xajk5lhpikj53k5fp3nwvl38xj7a3s0gxw")))))
"0qgz9qj8gbn2ccmhvk3259ahs9p435ipvkzsysn3xj8a6klbz02w")))))
("autoconf" ,autoconf-2.13)
("cargo" ,rust "cargo")
("clang" ,clang)

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016, 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2017, 2018, 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Matthew Jordan <matthewjordandevops@yandex.com>
;;; Copyright © 2016 Andy Wingo <wingo@igalia.com>
;;; Copyright © 2016, 2019 Ludovic Courtès <ludo@gnu.org>
@ -2099,7 +2099,7 @@ application's http.Handlers.")
(define-public go-github-com-sirupsen-logrus
(package
(name "go-github-com-sirupsen-logrus")
(version "1.0.5")
(version "1.8.1")
(source
(origin
(method git-fetch)
@ -2109,17 +2109,16 @@ application's http.Handlers.")
(file-name (git-file-name name version))
(sha256
(base32
"0g5z7al7kky11ai2dhac6gkp3b5pxsvx72yj3xg4wg3265gbn7yz"))))
"0rvqzic2zz7fpxyizmqxwmhv1m52ii9bgxnqa6km8wsa0l08wh42"))))
(build-system go-build-system)
(propagated-inputs
`(("go-golang-org-x-crypto"
,go-golang-org-x-crypto)
("go-github-com-stretchr-testify"
,go-github-com-stretchr-testify)
`(("go-github-com-davecgh-go-spew" ,go-github-com-davecgh-go-spew)
("go-github-com-pmezard-go-difflib" ,go-github-com-pmezard-go-difflib)
("go-github-com-stretchr-testify" ,go-github-com-stretchr-testify)
("go-golang-org-x-crypto" ,go-golang-org-x-crypto)
("go-golang-org-x-sys" ,go-golang-org-x-sys)))
(arguments
'(#:tests? #f ;FIXME missing dependencies
#:import-path "github.com/sirupsen/logrus"))
'(#:import-path "github.com/sirupsen/logrus"))
(home-page "https://github.com/sirupsen/logrus")
(synopsis "Structured, pluggable logging for Go")
(description "Logrus is a structured logger for Go, completely API
@ -3966,7 +3965,7 @@ without requiring a real database connection.")
(home-page "https://github.com/go-sql-driver/mysql")
(synopsis "MySQL driver for golang")
(description
"This is a pure Go implementaton of the MySQL API, compatible with
"This is a pure Go implementation of the MySQL API, compatible with
golang's database/sql package.")
(license license:mpl2.0)))
@ -5505,7 +5504,7 @@ the parse trees produced by the html package.")
(build-system go-build-system)
(arguments
`(#:import-path "github.com/PuerkitoBio/goquery"))
(native-inputs
(propagated-inputs
`(("go-github-com-andybalholm-cascadia" ,go-github-com-andybalholm-cascadia)
("go-golang-org-x-net" ,go-golang-org-x-net)))
(home-page "https://github.com/PuerkitoBio/goquery")
@ -5828,7 +5827,7 @@ which produce colorized output using github.com/fatih/color.")
(synopsis "Write handsome command-line tools with glamour")
(description "@code{glamour} lets you render markdown documents and
templates on ANSI compatible terminals. You can create your own stylesheet or
use one of our glamourous default themes.")
use one of our glamorous default themes.")
(license license:expat)))
(define-public go-github-com-coreos-go-semver
@ -6912,7 +6911,7 @@ atomic access.")
(propagated-inputs
`(("go-go-uber-org-atomic" ,go-go-uber-org-atomic)))
(home-page "https://go.uber.org/multierr")
(synopsis "Error combination fo Go")
(synopsis "Error combination for Go")
(description
"@code{multierr} allows combining one or more Go errors together.")
(license license:expat)))

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2019, 2020 Pierre Langlois <pierre.langlois@gmx.com>
;;; Copyright © 2019, 2020, 2021 Pierre Langlois <pierre.langlois@gmx.com>
;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
@ -25,6 +25,7 @@
#:use-module (guix build-system cmake)
#:use-module (guix build-system python)
#:use-module (gnu packages)
#:use-module (gnu packages base)
#:use-module (gnu packages check)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages glib)
@ -38,7 +39,7 @@
(define-public gpodder
(package
(name "gpodder")
(version "3.10.17")
(version "3.10.18")
(source
(origin
(method git-fetch)
@ -46,18 +47,23 @@
(url "https://github.com/gpodder/gpodder")
(commit version)))
(sha256
(base32 "0wrk8d4q6ricbcjzlhk10vrk1qg9hi323kgyyd0c8nmh7a82h8pd"))
(base32 "1d73q46sqandzbn74nfw9bzzah99z91wsxq2hcivwdgnsv2g2d8y"))
(file-name (git-file-name name version))
(patches (search-patches "gpodder-disable-updater.patch"))))
(build-system python-build-system)
(native-inputs
`(("intltool" ,intltool)
("python-coverage" ,python-coverage)
("python-minimock" ,python-minimock)))
("python-minimock" ,python-minimock)
("python-pytest" ,python-pytest)
("python-pytest-cov" ,python-pytest-cov)
("python-pytest-httpserver" ,python-pytest-httpserver)
("which" ,which)))
(inputs
`(("gtk+" ,gtk+)
("python-pygobject" ,python-pygobject)
("python-pycairo" ,python-pycairo)
("python-requests" ,python-requests)
("python-dbus" ,python-dbus)
("python-html5lib" ,python-html5lib)
("python-mygpoclient" ,python-mygpoclient)

View File

@ -3,7 +3,7 @@
;;; Copyright © 2015 Tomáš Čech <sleep_walker@gnu.org>
;;; Copyright © 2016, 2019 Leo Famulari <leo@famulari.name>
;;; Copyright © 2016, 2017, 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016, 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2018, 2021 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2017 Manolis Fragkiskos Ragkousis <manolis837@gmail.com>
;;; Copyright © 2017, 2018 Ben Woodcroft <donttrustben@gmail.com>
@ -25,6 +25,7 @@
;;; Copyright © 2020 Gabriel Arazas <foo.dogsquared@gmail.com>
;;; Copyright © 2021 Antoine Côté <antoine.cote@posteo.net>
;;; Copyright © 2021 Andy Tai <atai@atai.org>
;;; Copyright © 2021 Ekaitz Zarraga <ekaitz@elenq.tech>
;;;
;;; This file is part of GNU Guix.
;;;
@ -463,6 +464,42 @@ Embree is meant to increase performance of photo-realistic rendering
applications.")
(license license:asl2.0)))
(define-public openvdb
(package
(name "openvdb")
(version "8.0.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/AcademySoftwareFoundation/openvdb/")
(commit (string-append "v" version))
(recursive? #t)))
(file-name (git-file-name name version))
(sha256
(base32
"0qzx6l5c183k6j9zki31gg9aixf5s1j46wdi7wr1h3bz7k53syg9"))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags
(list (string-append "-DCMAKE_EXE_LINKER_FLAGS=-Wl,-rpath="
(assoc-ref %outputs "out") "/lib"))))
(inputs
`(("boost" ,boost)
("c-blosc" ,c-blosc)
("ilmbase" ,ilmbase)
("tbb" ,tbb)
("zlib" ,zlib)))
(native-inputs
`(("pkg-config" ,pkg-config)))
(home-page "https://www.openvdb.org/")
(synopsis "Sparse volume data structure and tools")
(description "OpenVDB is a C++ library comprising a hierarchical data
structure and a large suite of tools for the efficient storage and
manipulation of sparse volumetric data discretized on three-dimensional grids.
It was developed by DreamWorks Animation for use in volumetric applications
typically encountered in feature film production.")
(license license:mpl2.0)))
(define-public blender
(package
(name "blender")
@ -753,7 +790,7 @@ many more.")
(define-public ilmbase
(package
(name "ilmbase")
(version "2.5.2")
(version "2.5.5")
(source (origin
(method git-fetch)
(uri (git-reference
@ -762,7 +799,7 @@ many more.")
(file-name (git-file-name "ilmbase" version))
(sha256
(base32
"1vf8bqld2bpcdi99jbr043y6vp01cp3fvbiasrn66xn91mf6imbn"))
"0mjzb3fd8b9pcqmrgy5cdsmvqd70hmlvjnfypi66v59h3fhrmgd8"))
(patches (search-patches "ilmbase-fix-tests.patch"))))
(build-system cmake-build-system)
(arguments

View File

@ -9,6 +9,7 @@
;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
;;; Copyright © 2020 Pjotr Prins <pjotr.guix@thebird.nl>
;;; Copyright © 2021 Bonface Munyoki Kilyungi <me@bonfacemunyoki.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -48,7 +49,9 @@
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages python-check)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages sphinx)
#:use-module (gnu packages swig)
#:use-module (gnu packages tcl)
#:use-module (gnu packages tex)
@ -242,6 +245,55 @@ structure and layout algorithms.")
(define-public python2-pygraphviz
(package-with-python2 python-pygraphviz))
(define-public python-uqbar
(package
(name "python-uqbar")
(version "0.5.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/josiah-wolf-oberholtzer/uqbar")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0413nyhd8z8v3lvsgaghhafnyxg90fi1q80j1kbl21gpmpnc9a7n"))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch
(lambda _
(substitute* "setup.py"
;; Latest versions of sphink-rtd-theme require npm to build.
(("sphinx-rtd-theme >= 0.4.0") "sphinx-rtd-theme >= 0.2.4")
(("black == 19.10b0") "black >= 19.10b0"))
#t))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "python" "-m" "pytest" "tests"))
#t)))))
(native-inputs
`(("graphviz" ,graphviz)
("python-flake8" ,python-flake8)
("python-isort" ,python-isort)
("python-mypy" ,python-mypy)
("python-pytest" ,python-pytest)
("python-pytest-cov" ,python-pytest-cov)))
(propagated-inputs
`(("python-black" ,python-black)
("python-sphinx" ,python-sphinx)
("python-sphinx-rtd-theme" ,python-sphinx-rtd-theme)
("python-unidecode" ,python-unidecode)))
(home-page "https://github.com/josiah-wolf-oberholtzer/uqbar")
(synopsis "Tools for building documentation with Sphinx, Graphviz and LaTeX")
(description
"This package contains tools for building documentation with Sphinx,
Graphviz and LaTeX.")
(license license:expat)))
(define-public gts
(package
(name "gts")

View File

@ -384,7 +384,7 @@ http://www.tux.org/~ricdude/overview.html")
"if (error) return 77;"))
#t)))))
(native-inputs
`(("gtk-doc" ,gtk-doc)))
`(("gtk-doc" ,gtk-doc/stable)))
(home-page "https://gstreamer.freedesktop.org/modules/orc.html")
(synopsis "Oil runtime compiler")
(description

View File

@ -8,7 +8,7 @@
;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
;;; Copyright © 2015 Andy Wingo <wingo@igalia.com>
;;; Copyright © 2015 David Hashe <david.hashe@dhashe.com>
;;; Coypright © 2015, 2016, 2017, 2018, 2020, 2021 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015, 2016, 2017, 2018, 2020, 2021 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016, 2017, 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Fabian Harfert <fhmgufs@web.de>
;;; Copyright © 2016 Kei Kebreau <kkebreau@posteo.net>
@ -48,6 +48,7 @@
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module ((guix build utils) #:select (alist-replace))
#:use-module (guix build-system glib-or-gtk)
#:use-module (guix build-system gnu)
#:use-module (guix build-system meson)
@ -2079,6 +2080,17 @@ with some extra work.")
;; Others.
license:gpl2+))))
;; This is a variant of the 'gtk-doc' package that is not updated often. It
;; is intended to be used as a native-input at build-time only. This allows
;; the main 'gtk-doc', 'dblatex' and 'imagemagick' packages to be freely
;; updated on the 'master' branch without triggering an excessive number of
;; rebuilds.
(define-public gtk-doc/stable
(hidden-package
(package/inherit gtk-doc
(inputs (alist-replace "dblatex" `(,dblatex/stable)
(package-inputs gtk-doc))))))
(define-public gtk-engines
(package
(name "gtk-engines")
@ -2485,7 +2497,7 @@ popovers.")
`(("gettext" ,gettext-minimal)
("glib-bin" ,glib "bin")
("gobject-introspection" ,gobject-introspection)
("gtk-doc" ,gtk-doc)
("gtk-doc" ,gtk-doc/stable)
("pkg-config" ,pkg-config)
("python" ,python)))
(inputs

View File

@ -28,7 +28,7 @@
;;; Copyright © 2020 Jack Hill <jackhill@jackhill.us>
;;; Copyright © 2020 Julien Lepiler <julien@lepiller.eu>
;;; Copyright © 2020 Marius Bakke <marius@gnu.org>
;;; Copyright © 2020 Masaya Tojo <masaya@tojo.tokyo>
;;; Copyright © 2020, 2021 Masaya Tojo <masaya@tojo.tokyo>
;;; Copyright © 2020 Jesse Gibbons <jgibbons2357@gmail.com>
;;; Copyright © 2020 Mike Rosset <mike.rosset@gmail.com>
;;; Copyright © 2020 Leo Prikler <leo.prikler@student.tugraz.at>
@ -91,6 +91,7 @@
#:use-module (gnu packages networking)
#:use-module (gnu packages noweb)
#:use-module (gnu packages nss)
#:use-module (gnu packages package-management)
#:use-module (gnu packages password-utils)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
@ -1313,44 +1314,37 @@ Scheme by using Guiles foreign function interface.")
(deprecated-package "guile3.0-newt" guile-newt))
(define-public guile-mastodon
(package
(name "guile-mastodon")
(version "0.0.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://framagit.org/prouby/guile-mastodon.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1vblf3d1bbwna3l09p2ap5y8ycvl549bz6whgk78imyfmn28ygry"))
(modules '((guix build utils)))
(snippet
'(begin
;; Allow builds with Guile 3.0.
(substitute* "configure.ac"
(("^PKG_CHECK.*") "")
(("^GUILE_PKG.*")
"GUILE_PKG([3.0 2.2])\n"))
#t))))
(build-system gnu-build-system)
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
("emacs" ,emacs-minimal)
("pkg-config" ,pkg-config)
("texinfo" ,texinfo)))
(inputs
`(("guile" ,guile-3.0)
("gnutls" ,gnutls)
("guile-json" ,guile-json-4)))
(home-page "https://framagit.org/prouby/guile-mastodon")
(synopsis "Guile Mastodon REST API module")
(description "This package provides Guile modules to access the
(let ((commit "74b75bcf547df92acee1e0466ecd7ec07f775392")
(revision "1"))
(package
(name "guile-mastodon")
(version (git-version "0.0.1" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://framagit.org/prouby/guile-mastodon.git")
(commit commit)))
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"1wx5h6wa9c0na8mrnr2nv1nzjvq68zyrly8yyp11dsskhaw4y33h"))))
(build-system gnu-build-system)
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
("emacs" ,emacs-minimal)
("pkg-config" ,pkg-config)
("texinfo" ,texinfo)))
(inputs
`(("guile" ,guile-3.0)
("gnutls" ,gnutls)
("guile-json" ,guile-json-4)))
(home-page "https://framagit.org/prouby/guile-mastodon")
(synopsis "Guile Mastodon REST API module")
(description "This package provides Guile modules to access the
@uref{https://docs.joinmastodon.org/api/, REST API of Mastodon}, a federated
microblogging service.")
(license license:gpl3+)))
(license license:gpl3+))))
(define-public guile-parted
(package
@ -1752,6 +1746,35 @@ The library is shipped with documentation in Info format and usage examples.")
(define-public guile3.0-ics
(deprecated-package "guile3.0-ics" guile-ics))
(define-public guile-imanifest
(let ((commit "ccd5a2111b008d778106f5595a3a585954d95d0")
(revision "0"))
(package
(name "guile-imanifest")
(version (git-version "0.0.0" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://git.sr.ht/~brown121407/guile-imanifest")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0i5qllcrhdjhspyj7j9h4dc9y37d3cfbpackmybm3030qgfxqirf"))))
(build-system guile-build-system)
(native-inputs
`(("guile" ,guile-3.0)))
(propagated-inputs
`(("guile-readline" ,guile-readline)
("guile-colorized" ,guile-colorized)
("guix" ,guix)))
(home-page "https://sr.ht/~brown121407/guile-imanifest")
(synopsis "Interactive Guix manifests")
(description "This package provides functions to generate Guix manifests
interactively. It works by scanning an alist of package categories, to ask the
user which package sets would they like to install from it.")
(license license:gpl3+))))
(define-public guile-wisp
(package
(name "guile-wisp")
@ -2362,22 +2385,14 @@ inspired by the SCSH regular expression system.")
(define-public haunt
(package
(name "haunt")
(version "0.2.4")
(version "0.2.5")
(source (origin
(method url-fetch)
(uri (string-append "https://files.dthompson.us/haunt/haunt-"
version ".tar.gz"))
(sha256
(base32
"056z4znikk83nr5mr0x2ac3iinqbywa2bvb37mhr566a1q50isfc"))
(modules '((guix build utils)))
(snippet
'(begin
;; Allow builds with Guile 3.0.
(substitute* "configure"
(("2\\.2 2\\.0")
"3.0 2.2 2.0"))
#t))))
"1gy45l6m91b3wpdbpd9bpisp00zl8610zs0a2nwmbjlpd2cbf90k"))))
(build-system gnu-build-system)
(arguments
`(#:modules ((ice-9 match) (ice-9 ftw)
@ -2626,8 +2641,8 @@ format is also supported.")
(deprecated-package "guile3.0-mcron" mcron))
(define-public guile-picture-language
(let ((commit "291a746a1d3b4784d38b05239bdd7b8e796ce761")
(revision "4"))
(let ((commit "a1322bf11945465241ca5b742a70893f24156d12")
(revision "5"))
(package
(name "guile-picture-language")
(version (git-version "0.0.1" revision commit))
@ -2639,7 +2654,7 @@ format is also supported.")
(file-name (git-file-name name version))
(sha256
(base32
"0rnhf13ds92sbdicshy4sy4kl2kc431fy9vzm1divw974p7v57sd"))))
"03i528z92ainccgm28shg4haxiav5x4cyhyi5dggq1rm027vbm99"))))
(build-system gnu-build-system)
(inputs
`(("guile" ,guile-3.0)))
@ -3496,7 +3511,7 @@ feature-set, fully programmable in Guile Scheme.")
texlive-fonts-iwona)))
("pkg-config" ,pkg-config)))
(propagated-inputs
`(("guile-lib" ,guile-lib)))
`(("guile-lib" ,guile2.2-lib)))
(home-page "https://www.gnu.org/software/guile-cv/")
(synopsis "Computer vision library for Guile")
(description "Guile-CV is a Computer Vision functional programming library
@ -4426,7 +4441,7 @@ tools.")
(synopsis "Guile implementation of the Encoding for Robust Immutable Storage (ERIS)")
(description
"Guile-ERIS is the reference implementation of the Encoding for Robust
Immutable Storage (ERIS). ERIS allows arbirtary content to be encoded into
Immutable Storage (ERIS). ERIS allows arbitrary content to be encoded into
uniformly sized, encrypted blocks that can be reassembled using a short
read-capability.")
(home-page "https://inqlab.net/git/eris.git")

View File

@ -770,16 +770,16 @@ type system, elevating types to first-class status.")
(define-public guile-git
(package
(name "guile-git")
(version "0.4.0")
(version "0.5.0")
(home-page "https://gitlab.com/guile-git/guile-git.git")
(source (origin
(method url-fetch)
(uri (string-append "https://gitlab.com/guile-git/guile-git/uploads/"
"2600bb0dfdfb00bfbe46811dccad51d8/guile-git-"
"30be542d90619ca844dd3a3ed2e13808/guile-git-"
version ".tar.gz"))
(sha256
(base32
"1kxyg9x2aa1pg69cl48wysq0pbxvwfahy1xpl5ab6p8babhf7kic"))))
"1j39c1cq9cbwir90mpnbdijpbwh7wkxampgl2r177bv8bfw6y203"))))
(build-system gnu-build-system)
(arguments
`(#:make-flags '("GUILE_AUTO_COMPILE=0"))) ; to prevent guild warnings

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 20182021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
;;; Copyright © 2021 Evgeny Pisemsky <evgeny@pisemsky.com>
@ -61,14 +61,14 @@
(define-public ddcutil
(package
(name "ddcutil")
(version "0.9.9")
(version "1.1.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://www.ddcutil.com/tarballs/"
"ddcutil-" version ".tar.gz"))
(sha256
(base32 "0anyxy53k2613hq9glaad16llqlv6iim5p8gz0rs5pnpp8p00dg1"))))
(base32 "19kkwb9ijzn6ya3mvjanggh1c96fcc0lkbk7xnyi2qp6wsr4nhxp"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))

View File

@ -342,14 +342,14 @@ to @code{cabal repl}).")
(define-public git-annex
(package
(name "git-annex")
(version "8.20210310")
(version "8.20210330")
(source
(origin
(method url-fetch)
(uri (string-append "https://hackage.haskell.org/package/"
"git-annex/git-annex-" version ".tar.gz"))
(sha256
(base32 "1a4pr9z2li3wns1xycz7735nzzsv3cs8milr0q74k5qcqk5f22nx"))))
(base32 "07dhxlmnj48drgndcplafc7xhby0w3rks68fz9wsppxan929240p"))))
(build-system haskell-build-system)
(arguments
`(#:configure-flags

View File

@ -2266,7 +2266,7 @@ server no longer receives pings, it shuts down.")
("ghc-websockets" ,ghc-websockets)))
(home-page "https://github.com/larskuhtz/wai-cors")
(synopsis "Cross-Origin Resource Sharing (CORS) for WAI")
(description "This package provides an implemenation of Cross-Origin
(description "This package provides an implementation of Cross-Origin
Resource Sharing (CORS) for the Web Application Framework (WAI) that
aims to be compliant with @url{https://www.w3.org/TR/cors}.")
(license license:expat)))

View File

@ -1,10 +1,10 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017 John Darrington <jmd@gnu.org>
;;; Copyright © 2017, 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2014 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014, 2021 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2016 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 20182021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
;;; Copyright © 2018 Lprndn <guix@lprndn.info>
;;; Copyright © 2019, 2021 Efraim Flashner <efraim@flashner.co.il>
@ -14,6 +14,8 @@
;;; Copyright © 2020 Brendan Tildesley <mail@brendan.scot>
;;; Copyright © 2021 Oleh Malyi <astroclubzp@gmail.com>
;;; Copyright © 2021 Felix Gruber <felgru@posteo.net>
;;; Copyright © 2021 Andy Tai <atai@atai.org>
;;; Copyright © 2021 Ekaitz Zarraga <ekaitz@elenq.tech>
;;;
;;; This file is part of GNU Guix.
;;;
@ -246,7 +248,7 @@ many popular formats.")
(define-public vtk
(package
(name "vtk")
(version "8.2.0")
(version "9.0.1")
(source (origin
(method url-fetch)
(uri (string-append "https://vtk.org/files/release/"
@ -254,7 +256,7 @@ many popular formats.")
"/VTK-" version ".tar.gz"))
(sha256
(base32
"1fspgp8k0myr6p2a6wkc21ldcswb4bvmb484m12mxgk1a9vxrhrl"))
"1ir2lq9i45ls374lcmjzw0nrm5l5hnm1w47lg8g8d0n2j7hsaf8v"))
(patches
(search-patches "vtk-fix-freetypetools-build-failure.patch"))
(modules '((guix build utils)))
@ -264,35 +266,47 @@ many popular formats.")
(lambda (dir)
(delete-file-recursively
(string-append "ThirdParty/" dir "/vtk" dir)))
;; ogg, pugixml depended upon unconditionally
;; pugixml depended upon unconditionally
'("doubleconversion" "eigen" "expat" "freetype" "gl2ps"
"glew" "hdf5" "jpeg" "jsoncpp" "libproj" "libxml2" "lz4"
"netcdf" "png" "sqlite" "theora" "tiff" "zlib"))
"netcdf" "ogg" "png" "sqlite" "theora" "tiff" "zlib"))
#t))))
(properties `((release-monitoring-url . "https://vtk.org/download/")))
(build-system cmake-build-system)
(arguments
'(#:build-type "Release" ;Build without '-g' to save space.
#:configure-flags '(;"-DBUILD_TESTING:BOOL=TRUE"
;"-DVTK_MODULE_USE_EXTERNAL_vtkogg:BOOL=TRUE" ; not honored
"-DVTK_USE_SYSTEM_DOUBLECONVERSION:BOOL=TRUE"
"-DVTK_USE_SYSTEM_EIGEN:BOOL=TRUE"
"-DVTK_USE_SYSTEM_EXPAT:BOOL=TRUE"
"-DVTK_USE_SYSTEM_FREETYPE:BOOL=TRUE"
"-DVTK_USE_SYSTEM_GL2PS:BOOL=TRUE"
"-DVTK_USE_SYSTEM_GLEW:BOOL=TRUE"
"-DVTK_USE_SYSTEM_HDF5:BOOL=TRUE"
"-DVTK_USE_SYSTEM_JPEG:BOOL=TRUE"
"-DVTK_USE_SYSTEM_JSONCPP:BOOL=TRUE"
"-DVTK_USE_SYSTEM_LIBPROJ:BOOL=TRUE"
"-DVTK_USE_SYSTEM_LIBXML2:BOOL=TRUE"
"-DVTK_USE_SYSTEM_LZ4:BOOL=TRUE"
"-DVTK_USE_SYSTEM_NETCDF:BOOL=TRUE"
"-DVTK_USE_SYSTEM_PNG:BOOL=TRUE"
;"-DVTK_USE_SYSTEM_PUGIXML:BOOL=TRUE" ; breaks IO/CityGML
"-DVTK_USE_SYSTEM_SQLITE:BOOL=TRUE"
"-DVTK_USE_SYSTEM_THEORA:BOOL=TRUE"
"-DVTK_USE_SYSTEM_TIFF:BOOL=TRUE"
"-DVTK_USE_SYSTEM_ZLIB:BOOL=TRUE")
; ; not honored
"-DVTK_USE_EXTERNAL=OFF" ;; default
"-DVTK_MODULE_USE_EXTERNAL_VTK_doubleconversion=ON"
"-DVTK_MODULE_USE_EXTERNAL_VTK_eigen=ON"
"-DVTK_MODULE_USE_EXTERNAL_VTK_expat=ON"
"-DVTK_MODULE_USE_EXTERNAL_VTK_freetype=ON"
"-DVTK_MODULE_USE_EXTERNAL_VTK_gl2ps=ON"
"-DVTK_MODULE_USE_EXTERNAL_VTK_glew=ON"
"-DVTK_MODULE_USE_EXTERNAL_VTK_hdf5=ON"
"-DVTK_MODULE_USE_EXTERNAL_VTK_jpeg=ON"
"-DVTK_MODULE_USE_EXTERNAL_VTK_jsoncpp=ON"
"-DVTK_MODULE_USE_EXTERNAL_VTK_libproj=ON"
"-DVTK_MODULE_USE_EXTERNAL_VTK_libxml2=ON"
"-DVTK_MODULE_USE_EXTERNAL_VTK_lz4=ON"
"-DVTK_MODULE_USE_EXTERNAL_VTK_netcdf=ON"
"-DVTK_MODULE_USE_EXTERNAL_VTK_ogg=ON"
"-DVTK_MODULE_USE_EXTERNAL_VTK_png=ON"
;"-DVTK_MODULE_USE_EXTERNAL_VTK_pugixml=ON" ; breaks IO/CityGML
"-DVTK_MODULE_USE_EXTERNAL_VTK_sqlite=ON"
"-DVTK_MODULE_USE_EXTERNAL_VTK_theora=ON"
"-DVTK_MODULE_USE_EXTERNAL_VTK_tiff=ON"
"-DVTK_MODULE_USE_EXTERNAL_VTK_zlib=ON"
)
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-sources
(lambda _
(substitute* "Common/Core/vtkFloatingPointExceptions.cxx"
(("<fenv.h>") "<cfenv>"))
(substitute* "Common/Core/CMakeLists.txt"
(("fenv.h") "cfenv")))))
#:tests? #f)) ;XXX: test data not included
(inputs
`(("double-conversion" ,double-conversion)
@ -305,7 +319,6 @@ many popular formats.")
("hdf5" ,hdf5)
("jpeg" ,libjpeg-turbo)
("jsoncpp" ,jsoncpp)
;("libogg" ,libogg)
("libtheora" ,libtheora)
("libX11" ,libx11)
("libxml2" ,libxml2)
@ -320,6 +333,10 @@ many popular formats.")
("tiff" ,libtiff)
("xorgproto" ,xorgproto)
("zlib" ,zlib)))
(propagated-inputs
;; VTK's 'VTK-vtk-module-find-packages.cmake' calls
;; 'find_package(THEORA)', which in turns looks for libogg.
`(("libogg" ,libogg)))
(home-page "https://vtk.org/")
(synopsis "Libraries for 3D computer graphics")
(description
@ -333,6 +350,22 @@ a suite of 3D interaction widgets, supports parallel processing, and
integrates with various databases on GUI toolkits such as Qt and Tk.")
(license license:bsd-3)))
;; freecad needs an old version of VTK, because VTK's API changed from 8 to 9
(define-public vtk-8
(package (inherit vtk)
(version "8.2.0")
(source (origin
(method url-fetch)
(uri (string-append "https://vtk.org/files/release/"
(version-major+minor version)
"/VTK-" version ".tar.gz"))
(sha256
(base32
"1fspgp8k0myr6p2a6wkc21ldcswb4bvmb484m12mxgk1a9vxrhrl"))))
(inputs
`(("jsoncpp" ,jsoncpp-for-tensorflow)
,@(alist-delete "jsoncpp" (package-inputs vtk))))))
;; itksnap needs an older variant of VTK.
(define-public vtk-6
(package (inherit vtk)
@ -556,7 +589,7 @@ vision algorithms. It can be used to do things like:
(define-public vips
(package
(name "vips")
(version "8.10.5")
(version "8.10.6")
(source
(origin
(method url-fetch)
@ -564,7 +597,7 @@ vision algorithms. It can be used to do things like:
"https://github.com/libvips/libvips/releases/download/v"
version "/vips-" version ".tar.gz"))
(sha256
(base32 "1n6gw7cw66rfn1wdb92ydpkv7gfmjiinsg6d6gqxpdja6gsz5vm4"))))
(base32 "0vjsh3i0861f6h9as3bch956cidz824zz499pvhjs3lfjn6hhs14"))))
(build-system gnu-build-system)
(native-inputs
`(("gobject-introspection" ,gobject-introspection)
@ -606,14 +639,14 @@ due to its architecture which automatically parallelises the image workflows.")
(define-public gmic
(package
(name "gmic")
(version "2.9.6")
(version "2.9.7")
(source
(origin
(method url-fetch)
(uri (string-append "https://gmic.eu/files/source/gmic_"
version ".tar.gz"))
(sha256
(base32 "06n1dcskky7aqg3a0cp7biwz8agc4xqvr8091l2wsvgib98yhbyj"))))
(base32 "05kzaplsl5qvxs7v6g73q0lq8dii8g6v77ap609188m7gr43f9cl"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f ;there are no tests

View File

@ -3,7 +3,7 @@
;;; Copyright © 2015 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
;;; Copyright © 2016 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2016, 2021 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com>
@ -42,130 +42,125 @@
#:use-module (gnu packages image)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg))
#:use-module (gnu packages xorg)
#:use-module (srfi srfi-1))
(define-public imagemagick
(package
(name "imagemagick")
;; The 7 release series has an incompatible API, while the 6 series is still
;; maintained. Don't update to 7 until we've made sure that the ImageMagick
;; users are ready for the 7-series API.
(version "6.9.11-48")
(replacement imagemagick/fixed)
(source (origin
(method url-fetch)
(uri (string-append "mirror://imagemagick/ImageMagick-"
version ".tar.xz"))
(sha256
(base32
"0m8nkmywkqwyrr01q7aiakj6mi4rb2psjgzv8n0x82x3s1rpfyql"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags '("--with-frozenpaths" "--without-gcc-arch"
;; This is a variant of the 'imagemagick' package that is not updated often.
;; It is intended to be used as a native-input at build-time only, e.g. by
;; 'gtk-doc' (via 'dblatex') for generating package documentation. This
;; allows the main 'imagemagick' package to be freely updated on the 'master'
;; branch without triggering an excessive number of rebuilds.
;;
;; Normally the grafts mechanism would be used, but there are often
;; difficulties grafting imagemagick, e.g. because upstream changes the ABI
;; between micro version updates. Also, the overwhelming majority of
;; dependencies on imagemagick are via 'gtk-doc' in 'native-inputs', where
;; grafting is ineffective. See:
;; <https://lists.gnu.org/archive/html/guix-devel/2021-03/msg00381.html>.
(define-public imagemagick/stable
(hidden-package
(package
(name "imagemagick")
;; The 7 release series has an incompatible API, while the 6 series is still
;; maintained. Don't update to 7 until we've made sure that the ImageMagick
;; users are ready for the 7-series API.
(version "6.9.11-48")
(source (origin
(method url-fetch)
(uri (string-append "mirror://imagemagick/ImageMagick-"
version ".tar.xz"))
(sha256
(base32
"0m8nkmywkqwyrr01q7aiakj6mi4rb2psjgzv8n0x82x3s1rpfyql"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags '("--with-frozenpaths" "--without-gcc-arch"
;; Do not embed the build date in binaries.
"--enable-reproducible-build")
;; Do not embed the build date in binaries.
"--enable-reproducible-build")
;; FIXME: The test suite succeeded before version 6.9.6-2.
;; Try enabling it again with newer releases.
#:tests? #f
#:phases (modify-phases %standard-phases
(add-before
'build 'pre-build
(lambda* (#:key outputs #:allow-other-keys)
(substitute* "Makefile"
;; Clear the `LIBRARY_PATH' setting, which otherwise
;; interferes with our own use.
(("^LIBRARY_PATH[[:blank:]]*=.*$")
"")
;; FIXME: The test suite succeeded before version 6.9.6-2.
;; Try enabling it again with newer releases.
#:tests? #f
#:phases (modify-phases %standard-phases
(add-before
'build 'pre-build
(lambda* (#:key outputs #:allow-other-keys)
(substitute* "Makefile"
;; Clear the `LIBRARY_PATH' setting, which otherwise
;; interferes with our own use.
(("^LIBRARY_PATH[[:blank:]]*=.*$")
"")
;; Since the Makefile overrides $docdir, modify it to
;; refer to what we want.
(("^DOCUMENTATION_PATH[[:blank:]]*=.*$")
(let ((doc (assoc-ref outputs "doc")))
(string-append "DOCUMENTATION_PATH = "
doc "/share/doc/"
,name "-"
,(package-version this-package) "\n"))))
#t))
(add-before
'configure 'strip-configure-xml
(lambda _
(substitute* "config/configure.xml.in"
;; Do not record 'configure' arguments in the
;; configure.xml file that gets installed: That would
;; include --docdir, and thus retain a reference to the
;; 'doc' output.
(("@CONFIGURE_ARGS@")
"not recorded"))
#t)))))
;; TODO: Add Jasper etc.
(inputs `(("fftw" ,fftw)
("graphviz" ,graphviz)
("ghostscript" ,ghostscript)
("lcms" ,lcms)
("libx11" ,libx11)
("zlib" ,zlib)
("libxml2" ,libxml2)
("libtiff" ,libtiff)
("libpng" ,libpng)
("libjpeg" ,libjpeg-turbo)
("pango" ,pango)
("freetype" ,freetype)
("bzip2" ,bzip2)
("xz" ,xz)))
(native-inputs `(("pkg-config" ,pkg-config)))
(outputs '("out"
"doc")) ; 26 MiB of HTML documentation
(home-page "https://www.imagemagick.org/")
(synopsis "Create, edit, compose, or convert bitmap images")
(description
"ImageMagick is a software suite to create, edit, compose, or convert
;; Since the Makefile overrides $docdir, modify it to
;; refer to what we want.
(("^DOCUMENTATION_PATH[[:blank:]]*=.*$")
(let ((doc (assoc-ref outputs "doc")))
(string-append "DOCUMENTATION_PATH = "
doc "/share/doc/"
,name "-"
,(package-version this-package) "\n"))))
#t))
(add-before
'configure 'strip-configure-xml
(lambda _
(substitute* "config/configure.xml.in"
;; Do not record 'configure' arguments in the
;; configure.xml file that gets installed: That would
;; include --docdir, and thus retain a reference to the
;; 'doc' output.
(("@CONFIGURE_ARGS@")
"not recorded"))
#t)))))
;; TODO: Add Jasper etc.
(inputs `(("fftw" ,fftw)
("graphviz" ,graphviz)
("ghostscript" ,ghostscript)
("lcms" ,lcms)
("libx11" ,libx11)
("zlib" ,zlib)
("libxml2" ,libxml2)
("libtiff" ,libtiff)
("libpng" ,libpng)
("libjpeg" ,libjpeg-turbo)
("pango" ,pango)
("freetype" ,freetype)
("bzip2" ,bzip2)
("xz" ,xz)))
(native-inputs `(("pkg-config" ,pkg-config)))
(outputs '("out"
"doc")) ; 26 MiB of HTML documentation
(home-page "https://www.imagemagick.org/")
(synopsis "Create, edit, compose, or convert bitmap images")
(description
"ImageMagick is a software suite to create, edit, compose, or convert
bitmap images. It can read and write images in a variety of formats (over 100)
including DPX, EXR, GIF, JPEG, JPEG-2000, PDF, PhotoCD, PNG, Postscript, SVG,
and TIFF. Use ImageMagick to resize, flip, mirror, rotate, distort, shear and
transform images, adjust image colors, apply various special effects, or draw
text, lines, polygons, ellipses and Bézier curves.")
(license (license:fsf-free "http://www.imagemagick.org/script/license.php"))))
(license (license:fsf-free "http://www.imagemagick.org/script/license.php")))))
(define-public imagemagick/fixed
(define-public imagemagick
(package
(inherit imagemagick)
(name "imagemagick")
;; 'g' for 'guix', appended character to retain version length so grafting
;; works properly.
(version "6.9.12-2g")
(inherit imagemagick/stable)
(properties (alist-delete 'hidden? (package-properties imagemagick/stable)))
;; The 7 release series has an incompatible API, while the 6 series is still
;; maintained. Don't update to 7 until we've made sure that the ImageMagick
;; users are ready for the 7-series API.
(version "6.9.12-4")
(source (origin
(method url-fetch)
(uri (string-append "mirror://imagemagick/ImageMagick-"
;; Hardcode the version here since we had to
;; change it above.
"6.9.12-2.tar.xz"))
version ".tar.xz"))
(sha256
(base32
"17da5zihz58qm41y61sbvw626m5xfwr2nzszlikrvxyq1j1q7asa"))))
(arguments
(substitute-keyword-arguments (package-arguments imagemagick)
((#:phases phases)
`(modify-phases ,phases
(add-after 'install 'fix-compat-cheat-rename-so
(lambda* (#:key outputs #:allow-other-keys)
(with-directory-excursion
(string-append (assoc-ref outputs "out")
"/lib")
(symlink "libMagick++-6.Q16.so.9.0.0"
"libMagick++-6.Q16.so.8.0.0")
(symlink "libMagick++-6.Q16.so.9"
"libMagick++-6.Q16.so.8")
(symlink "libMagickCore-6.Q16.so.7.0.0"
"libMagickCore-6.Q16.so.6.0.0")
(symlink "libMagickCore-6.Q16.so.7"
"libMagickCore-6.Q16.so.6")
(symlink "libMagickWand-6.Q16.so.7.0.0"
"libMagickWand-6.Q16.so.6.0.0")
(symlink "libMagickWand-6.Q16.so.7"
"libMagickWand-6.Q16.so.6"))
#t))))))))
"1pkwij76yz7vd5grl6520pgpa912qb6kh34qamx4zfndwcx6cf6b"))
(patches
(search-patches "imagemagick-ReadDCMImage-fix.patch"
"imagemagick-ReadDCMPixels-fix.patch"
"imagemagick-WriteTHUMBNAILImage-fix.patch"
"imagemagick-CVE-2020-27829.patch"))))))
(define-public perl-image-magick
(package

Some files were not shown because too many files have changed in this diff Show More