Merge branch 'master' into staging
This commit is contained in:
commit
d9bcd1a8d6
@ -428,8 +428,6 @@ AUX_FILES = \
|
||||
gnu/packages/aux-files/linux-libre/4.14-arm.conf \
|
||||
gnu/packages/aux-files/linux-libre/4.14-i686.conf \
|
||||
gnu/packages/aux-files/linux-libre/4.14-x86_64.conf \
|
||||
gnu/packages/aux-files/linux-libre/4.9-i686.conf \
|
||||
gnu/packages/aux-files/linux-libre/4.9-x86_64.conf \
|
||||
gnu/packages/aux-files/pack-audit.c \
|
||||
gnu/packages/aux-files/python/sanity-check.py \
|
||||
gnu/packages/aux-files/python/sanity-check-next.py \
|
||||
|
@ -21,7 +21,8 @@ Copyright @copyright{} 2020 Brice Waegeneire@*
|
||||
Copyright @copyright{} 2020 André Batista@*
|
||||
Copyright @copyright{} 2020 Christine Lemmer-Webber@*
|
||||
Copyright @copyright{} 2021 Joshua Branson@*
|
||||
Copyright @copyright{} 2022 Maxim Cournoyer*
|
||||
Copyright @copyright{} 2022 Maxim Cournoyer@*
|
||||
Copyright @copyright{} 2023 Ludovic Courtès
|
||||
|
||||
Permission is granted to copy, distribute and/or modify this document
|
||||
under the terms of the GNU Free Documentation License, Version 1.3 or
|
||||
@ -73,8 +74,9 @@ Weblate} (@pxref{Translating Guix,,, guix, GNU Guix reference manual}).
|
||||
* Packaging:: Packaging tutorials
|
||||
* System Configuration:: Customizing the GNU System
|
||||
* Containers:: Isolated environments and nested systems
|
||||
* Advanced package management:: Power to the users!
|
||||
* Advanced package management:: Power to the users!
|
||||
* Environment management:: Control environment
|
||||
* Installing Guix on a Cluster:: High-performance computing.
|
||||
|
||||
* Acknowledgments:: Thanks!
|
||||
* GNU Free Documentation License:: The license of this document.
|
||||
@ -83,28 +85,45 @@ Weblate} (@pxref{Translating Guix,,, guix, GNU Guix reference manual}).
|
||||
@detailmenu
|
||||
--- The Detailed Node Listing ---
|
||||
|
||||
Scheme tutorials
|
||||
|
||||
* A Scheme Crash Course:: Learn the basics of Scheme
|
||||
|
||||
Packaging
|
||||
|
||||
* Packaging Tutorial:: Let's add a package to Guix!
|
||||
* Packaging Tutorial:: A tutorial on how to add packages to Guix.
|
||||
|
||||
System Configuration
|
||||
|
||||
* Auto-Login to a Specific TTY:: Automatically Login a User to a Specific TTY
|
||||
* Customizing the Kernel:: Creating and using a custom Linux kernel on Guix System.
|
||||
* Guix System Image API:: Customizing images to target specific platforms.
|
||||
* Using security keys:: How to use security keys with Guix System.
|
||||
* Connecting to Wireguard VPN:: Connecting to a Wireguard VPN.
|
||||
* Customizing a Window Manager:: Handle customization of a Window manager on Guix System.
|
||||
* Running Guix on a Linode Server:: Running Guix on a Linode Server. Running Guix on a Linode Server
|
||||
* Setting up a bind mount:: Setting up a bind mount in the file-systems definition.
|
||||
* Getting substitutes from Tor:: Configuring Guix daemon to get substitutes through Tor.
|
||||
* Setting up NGINX with Lua:: Configuring NGINX web-server to load Lua modules.
|
||||
* Auto-Login to a Specific TTY:: Automatically Login a User to a Specific TTY
|
||||
* Customizing the Kernel:: Creating and using a custom Linux kernel on Guix System.
|
||||
* Guix System Image API:: Customizing images to target specific platforms.
|
||||
* Using security keys:: How to use security keys with Guix System.
|
||||
* Connecting to Wireguard VPN:: Connecting to a Wireguard VPN.
|
||||
* Customizing a Window Manager:: Handle customization of a Window manager on Guix System.
|
||||
* Running Guix on a Linode Server:: Running Guix on a Linode Server
|
||||
* Setting up a bind mount:: Setting up a bind mount in the file-systems definition.
|
||||
* Getting substitutes from Tor:: Configuring Guix daemon to get substitutes through Tor.
|
||||
* Setting up NGINX with Lua:: Configuring NGINX web-server to load Lua modules.
|
||||
* Music Server with Bluetooth Audio:: Headless music player with Bluetooth output.
|
||||
|
||||
Containers
|
||||
|
||||
* Guix Containers:: Perfectly isolated environments
|
||||
* Guix System Containers:: A system inside your system
|
||||
|
||||
Advanced package management
|
||||
|
||||
* Guix Profiles in Practice:: Strategies for multiple profiles and manifests.
|
||||
|
||||
Environment management
|
||||
|
||||
* Guix environment via direnv:: Setup Guix environment with direnv
|
||||
|
||||
Installing Guix on a Cluster
|
||||
|
||||
* Setting Up a Head Node:: The node that runs the daemon.
|
||||
* Setting Up Compute Nodes:: Client nodes.
|
||||
* Cluster Network Access:: Dealing with network access restrictions.
|
||||
* Cluster Disk Usage:: Disk usage considerations.
|
||||
* Cluster Security Considerations:: Keeping the cluster secure.
|
||||
|
||||
@end detailmenu
|
||||
@end menu
|
||||
|
||||
@ -3635,6 +3654,380 @@ will have predefined environment variables and procedures.
|
||||
|
||||
Run @command{direnv allow} to setup the environment for the first time.
|
||||
|
||||
|
||||
@c *********************************************************************
|
||||
@node Installing Guix on a Cluster
|
||||
@chapter Installing Guix on a Cluster
|
||||
|
||||
@cindex cluster installation
|
||||
@cindex high-performance computing, HPC
|
||||
@cindex HPC, high-performance computing
|
||||
Guix is appealing to scientists and @acronym{HPC, high-performance
|
||||
computing} practitioners: it makes it easy to deploy potentially complex
|
||||
software stacks, and it lets you do so in a reproducible fashion---you
|
||||
can redeploy the exact same software on different machines and at
|
||||
different points in time.
|
||||
|
||||
In this chapter we look at how a cluster sysadmin can install Guix for
|
||||
system-wide use, such that it can be used on all the cluster nodes, and
|
||||
discuss the various tradeoffs@footnote{This chapter is adapted from a
|
||||
@uref{https://hpc.guix.info/blog/2017/11/installing-guix-on-a-cluster/,
|
||||
blog post published on the Guix-HPC web site in 2017}.}.
|
||||
|
||||
@quotation Note
|
||||
Here we assume that the cluster is running a GNU/Linux distro other than
|
||||
Guix System and that we are going to install Guix on top of it.
|
||||
@end quotation
|
||||
|
||||
@menu
|
||||
* Setting Up a Head Node:: The node that runs the daemon.
|
||||
* Setting Up Compute Nodes:: Client nodes.
|
||||
* Cluster Network Access:: Dealing with network access restrictions.
|
||||
* Cluster Disk Usage:: Disk usage considerations.
|
||||
* Cluster Security Considerations:: Keeping the cluster secure.
|
||||
@end menu
|
||||
|
||||
@node Setting Up a Head Node
|
||||
@section Setting Up a Head Node
|
||||
|
||||
The recommended approach is to set up one @emph{head node} running
|
||||
@command{guix-daemon} and exporting @file{/gnu/store} over NFS to
|
||||
compute nodes.
|
||||
|
||||
Remember that @command{guix-daemon} is responsible for spawning build
|
||||
processes and downloads on behalf of clients (@pxref{Invoking
|
||||
guix-daemon,,, guix, GNU Guix Reference Manual}), and more generally
|
||||
accessing @file{/gnu/store}, which contains all the package binaries
|
||||
built by all the users (@pxref{The Store,,, guix, GNU Guix Reference
|
||||
Manual}). ``Client'' here refers to all the Guix commands that users
|
||||
see, such as @code{guix install}. On a cluster, these commands may be
|
||||
running on the compute nodes and we'll want them to talk to the head
|
||||
node's @code{guix-daemon} instance.
|
||||
|
||||
To begin with, the head node can be installed following the usual binary
|
||||
installation instructions (@pxref{Binary Installation,,, guix, GNU Guix
|
||||
Reference Manual}). Thanks to the installation script, this should be
|
||||
quick. Once installation is complete, we need to make some adjustments.
|
||||
|
||||
Since we want @code{guix-daemon} to be reachable not just from the head
|
||||
node but also from the compute nodes, we need to arrange so that it
|
||||
listens for connections over TCP/IP. To do that, we'll edit the systemd
|
||||
startup file for @command{guix-daemon},
|
||||
@file{/etc/systemd/system/guix-daemon.service}, and add a
|
||||
@code{--listen} argument to the @code{ExecStart} line so that it looks
|
||||
something like this:
|
||||
|
||||
@example
|
||||
ExecStart=/var/guix/profiles/per-user/root/current-guix/bin/guix-daemon --build-users-group=guixbuild --listen=/var/guix/daemon-socket/socket --listen=0.0.0.0
|
||||
@end example
|
||||
|
||||
For these changes to take effect, the service needs to be restarted:
|
||||
|
||||
@example
|
||||
systemctl daemon-reload
|
||||
systemctl restart guix-daemon
|
||||
@end example
|
||||
|
||||
@quotation Note
|
||||
The @code{--listen=0.0.0.0} bit means that @code{guix-daemon} will
|
||||
process @emph{all} incoming TCP connections on port 44146
|
||||
(@pxref{Invoking guix-daemon,,, guix, GNU Guix Reference Manual}). This
|
||||
is usually fine in a cluster setup where the head node is reachable
|
||||
exclusively from the cluster's local area network---you don't want that
|
||||
to be exposed to the Internet!
|
||||
@end quotation
|
||||
|
||||
The next step is to define our NFS exports in
|
||||
@uref{https://linux.die.net/man/5/exports,@file{/etc/exports}} by adding
|
||||
something along these lines:
|
||||
|
||||
@example
|
||||
/gnu/store *(ro)
|
||||
/var/guix *(rw, async)
|
||||
/var/log/guix *(ro)
|
||||
@end example
|
||||
|
||||
The @file{/gnu/store} directory can be exported read-only since only
|
||||
@command{guix-daemon} on the master node will ever modify it.
|
||||
@file{/var/guix} contains @emph{user profiles} as managed by @code{guix
|
||||
package}; thus, to allow users to install packages with @code{guix
|
||||
package}, this must be read-write.
|
||||
|
||||
Users can create as many profiles as they like in addition to the
|
||||
default profile, @file{~/.guix-profile}. For instance, @code{guix
|
||||
package -p ~/dev/python-dev -i python} installs Python in a profile
|
||||
reachable from the @code{~/dev/python-dev} symlink. To make sure that
|
||||
this profile is protected from garbage collection---i.e., that Python
|
||||
will not be removed from @file{/gnu/store} while this profile exists---,
|
||||
@emph{home directories should be mounted on the head node} as well so
|
||||
that @code{guix-daemon} knows about these non-standard profiles and
|
||||
avoids collecting software they refer to.
|
||||
|
||||
It may be a good idea to periodically remove unused bits from
|
||||
@file{/gnu/store} by running @command{guix gc} (@pxref{Invoking guix
|
||||
gc,,, guix, GNU Guix Reference Manual}). This can be done by adding a
|
||||
crontab entry on the head node:
|
||||
|
||||
@example
|
||||
root@@master# crontab -e
|
||||
@end example
|
||||
|
||||
@noindent
|
||||
... with something like this:
|
||||
|
||||
@example
|
||||
# Every day at 5AM, run the garbage collector to make sure
|
||||
# at least 10 GB are free on /gnu/store.
|
||||
0 5 * * 1 /usr/local/bin/guix gc -F10G
|
||||
@end example
|
||||
|
||||
We're done with the head node! Let's look at compute nodes now.
|
||||
|
||||
@node Setting Up Compute Nodes
|
||||
@section Setting Up Compute Nodes
|
||||
|
||||
First of all, we need compute nodes to mount those NFS directories that
|
||||
the head node exports. This can be done by adding the following lines
|
||||
to @uref{https://linux.die.net/man/5/fstab,@file{/etc/fstab}}:
|
||||
|
||||
@example
|
||||
@var{head-node}:/gnu/store /gnu/store nfs defaults,_netdev,vers=3 0 0
|
||||
@var{head-node}:/var/guix /var/guix nfs defaults,_netdev,vers=3 0 0
|
||||
@var{head-node}:/var/log/guix /var/log/guix nfs defaults,_netdev,vers=3 0 0
|
||||
@end example
|
||||
|
||||
@noindent
|
||||
... where @var{head-node} is the name or IP address of your head node.
|
||||
From there on, assuming the mount points exist, you should be able to
|
||||
mount each of these on the compute nodes.
|
||||
|
||||
Next, we need to provide a default @command{guix} command that users can
|
||||
run when they first connect to the cluster (eventually they will invoke
|
||||
@command{guix pull}, which will provide them with their ``own''
|
||||
@command{guix} command). Similar to what the binary installation script
|
||||
did on the head node, we'll store that in @file{/usr/local/bin}:
|
||||
|
||||
@example
|
||||
mkdir -p /usr/local/bin
|
||||
ln -s /var/guix/profiles/per-user/root/current-guix/bin/guix \
|
||||
/usr/local/bin/guix
|
||||
@end example
|
||||
|
||||
We then need to tell @code{guix} to talk to the daemon running on our
|
||||
master node, by adding these lines to @code{/etc/profile}:
|
||||
|
||||
@example
|
||||
GUIX_DAEMON_SOCKET="guix://@var{head-node}"
|
||||
export GUIX_DAEMON_SOCKET
|
||||
@end example
|
||||
|
||||
To avoid warnings and make sure @code{guix} uses the right locale, we
|
||||
need to tell it to use locale data provided by Guix (@pxref{Application
|
||||
Setup,,, guix, GNU Guix Reference Manual}):
|
||||
|
||||
@example
|
||||
GUIX_LOCPATH=/var/guix/profiles/per-user/root/guix-profile/lib/locale
|
||||
export GUIX_LOCPATH
|
||||
|
||||
# Here we must use a valid locale name. Try "ls $GUIX_LOCPATH/*"
|
||||
# to see what names can be used.
|
||||
LC_ALL=fr_FR.utf8
|
||||
export LC_ALL
|
||||
@end example
|
||||
|
||||
For convenience, @code{guix package} automatically generates
|
||||
@file{~/.guix-profile/etc/profile}, which defines all the environment
|
||||
variables necessary to use the packages---@code{PATH},
|
||||
@code{C_INCLUDE_PATH}, @code{PYTHONPATH}, etc. Thus it's a good idea to
|
||||
source it from @code{/etc/profile}:
|
||||
|
||||
@example
|
||||
GUIX_PROFILE="$HOME/.guix-profile"
|
||||
if [ -f "$GUIX_PROFILE/etc/profile" ]; then
|
||||
. "$GUIX_PROFILE/etc/profile"
|
||||
fi
|
||||
@end example
|
||||
|
||||
Last but not least, Guix provides command-line completion notably for
|
||||
Bash and zsh. In @code{/etc/bashrc}, consider adding this line:
|
||||
|
||||
@verbatim
|
||||
. /var/guix/profiles/per-user/root/current-guix/etc/bash_completion.d/guix
|
||||
@end verbatim
|
||||
|
||||
Voilà!
|
||||
|
||||
You can check that everything's in place by logging in on a compute node
|
||||
and running:
|
||||
|
||||
@example
|
||||
guix install hello
|
||||
@end example
|
||||
|
||||
The daemon on the head node should download pre-built binaries on your
|
||||
behalf and unpack them in @file{/gnu/store}, and @command{guix install}
|
||||
should create @file{~/.guix-profile} containing the
|
||||
@file{~/.guix-profile/bin/hello} command.
|
||||
|
||||
@node Cluster Network Access
|
||||
@section Network Access
|
||||
|
||||
Guix requires network access to download source code and pre-built
|
||||
binaries. The good news is that only the head node needs that since
|
||||
compute nodes simply delegate to it.
|
||||
|
||||
It is customary for cluster nodes to have access at best to a
|
||||
@emph{white list} of hosts. Our head node needs at least
|
||||
@code{ci.guix.gnu.org} in this white list since this is where it gets
|
||||
pre-built binaries from by default, for all the packages that are in
|
||||
Guix proper.
|
||||
|
||||
Incidentally, @code{ci.guix.gnu.org} also serves as a
|
||||
@emph{content-addressed mirror} of the source code of those packages.
|
||||
Consequently, it is sufficient to have @emph{only}
|
||||
@code{ci.guix.gnu.org} in that white list.
|
||||
|
||||
Software packages maintained in a separate repository such as one of the
|
||||
various @uref{https://hpc.guix.info/channels, HPC channels} are of
|
||||
course unavailable from @code{ci.guix.gnu.org}. For these packages, you
|
||||
may want to extend the white list such that source and pre-built
|
||||
binaries (assuming this-party servers provide binaries for these
|
||||
packages) can be downloaded. As a last resort, users can always
|
||||
download source on their workstation and add it to the cluster's
|
||||
@file{/gnu/store}, like this:
|
||||
|
||||
@verbatim
|
||||
GUIX_DAEMON_SOCKET=ssh://compute-node.example.org \
|
||||
guix download http://starpu.gforge.inria.fr/files/starpu-1.2.3/starpu-1.2.3.tar.gz
|
||||
@end verbatim
|
||||
|
||||
The above command downloads @code{starpu-1.2.3.tar.gz} @emph{and} sends
|
||||
it to the cluster's @code{guix-daemon} instance over SSH.
|
||||
|
||||
Air-gapped clusters require more work. At the moment, our suggestion
|
||||
would be to download all the necessary source code on a workstation
|
||||
running Guix. For instance, using the @option{--sources} option of
|
||||
@command{guix build} (@pxref{Invoking guix build,,, guix, GNU Guix
|
||||
Reference Manual}), the example below downloads all the source code the
|
||||
@code{openmpi} package depends on:
|
||||
|
||||
@example
|
||||
$ guix build --sources=transitive openmpi
|
||||
|
||||
@dots{}
|
||||
|
||||
/gnu/store/xc17sm60fb8nxadc4qy0c7rqph499z8s-openmpi-1.10.7.tar.bz2
|
||||
/gnu/store/s67jx92lpipy2nfj5cz818xv430n4b7w-gcc-5.4.0.tar.xz
|
||||
/gnu/store/npw9qh8a46lrxiwh9xwk0wpi3jlzmjnh-gmp-6.0.0a.tar.xz
|
||||
/gnu/store/hcz0f4wkdbsvsdky3c0vdvcawhdkyldb-mpfr-3.1.5.tar.xz
|
||||
/gnu/store/y9akh452n3p4w2v631nj0injx7y0d68x-mpc-1.0.3.tar.gz
|
||||
/gnu/store/6g5c35q8avfnzs3v14dzl54cmrvddjm2-glibc-2.25.tar.xz
|
||||
/gnu/store/p9k48dk3dvvk7gads7fk30xc2pxsd66z-hwloc-1.11.8.tar.bz2
|
||||
/gnu/store/cry9lqidwfrfmgl0x389cs3syr15p13q-gcc-5.4.0.tar.xz
|
||||
/gnu/store/7ak0v3rzpqm2c5q1mp3v7cj0rxz0qakf-libfabric-1.4.1.tar.bz2
|
||||
/gnu/store/vh8syjrsilnbfcf582qhmvpg1v3rampf-rdma-core-14.tar.gz
|
||||
…
|
||||
@end example
|
||||
|
||||
(In case you're wondering, that's more than 320@ MiB of
|
||||
@emph{compressed} source code.)
|
||||
|
||||
We can then make a big archive containing all of this (@pxref{Invoking
|
||||
guix archive,,, guix, GNU Guix Reference Manual}):
|
||||
|
||||
@verbatim
|
||||
$ guix archive --export \
|
||||
`guix build --sources=transitive openmpi` \
|
||||
> openmpi-source-code.nar
|
||||
@end verbatim
|
||||
|
||||
@dots{} and we can eventually transfer that archive to the cluster on
|
||||
removable storage and unpack it there:
|
||||
|
||||
@verbatim
|
||||
$ guix archive --import < openmpi-source-code.nar
|
||||
@end verbatim
|
||||
|
||||
This process has to be repeated every time new source code needs to be
|
||||
brought to the cluster.
|
||||
|
||||
As we write this, the research institutes involved in Guix-HPC do not
|
||||
have air-gapped clusters though. If you have experience with such
|
||||
setups, we would like to hear feedback and suggestions.
|
||||
|
||||
@node Cluster Disk Usage
|
||||
@section Disk Usage
|
||||
|
||||
@cindex disk usage, on a cluster
|
||||
A common concern of sysadmins' is whether this is all going to eat a lot
|
||||
of disk space. If anything, if something is going to exhaust disk
|
||||
space, it's going to be scientific data sets rather than compiled
|
||||
software---that's our experience with almost ten years of Guix usage on
|
||||
HPC clusters. Nevertheless, it's worth taking a look at how Guix
|
||||
contributes to disk usage.
|
||||
|
||||
First, having several versions or variants of a given package in
|
||||
@file{/gnu/store} does not necessarily cost much, because
|
||||
@command{guix-daemon} implements deduplication of identical files, and
|
||||
package variants are likely to have a number of common files.
|
||||
|
||||
As mentioned above, we recommend having a cron job to run @code{guix gc}
|
||||
periodically, which removes @emph{unused} software from
|
||||
@file{/gnu/store}. However, there's always a possibility that users will
|
||||
keep lots of software in their profiles, or lots of old generations of
|
||||
their profiles, which is ``live'' and cannot be deleted from the
|
||||
viewpoint of @command{guix gc}.
|
||||
|
||||
The solution to this is for users to regularly remove old generations of
|
||||
their profile. For instance, the following command removes generations
|
||||
that are more than two-month old:
|
||||
|
||||
@example
|
||||
guix package --delete-generations=2m
|
||||
@end example
|
||||
|
||||
Likewise, it's a good idea to invite users to regularly upgrade their
|
||||
profile, which can reduce the number of variants of a given piece of
|
||||
software stored in @file{/gnu/store}:
|
||||
|
||||
@example
|
||||
guix pull
|
||||
guix upgrade
|
||||
@end example
|
||||
|
||||
As a last resort, it is always possible for sysadmins to do some of this
|
||||
on behalf of their users. Nevertheless, one of the strengths of Guix is
|
||||
the freedom and control users get on their software environment, so we
|
||||
strongly recommend leaving users in control.
|
||||
|
||||
@node Cluster Security Considerations
|
||||
@section Security Considerations
|
||||
|
||||
@cindex security, on a cluster
|
||||
On an HPC cluster, Guix is typically used to manage scientific software.
|
||||
Security-critical software such as the operating system kernel and
|
||||
system services such as @code{sshd} and the batch scheduler remain under
|
||||
control of sysadmins.
|
||||
|
||||
The Guix project has a good track record delivering security updates in
|
||||
a timely fashion (@pxref{Security Updates,,, guix, GNU Guix Reference
|
||||
Manual}). To get security updates, users have to run @code{guix pull &&
|
||||
guix upgrade}.
|
||||
|
||||
Because Guix uniquely identifies software variants, it is easy to see if
|
||||
a vulnerable piece of software is in use. For instance, to check whether
|
||||
the glibc@ 2.25 variant without the mitigation patch against
|
||||
``@uref{https://www.qualys.com/2017/06/19/stack-clash/stack-clash.txt,Stack
|
||||
Clash}'', one can check whether user profiles refer to it at all:
|
||||
|
||||
@example
|
||||
guix gc --referrers /gnu/store/…-glibc-2.25
|
||||
@end example
|
||||
|
||||
This will report whether profiles exist that refer to this specific
|
||||
glibc variant.
|
||||
|
||||
|
||||
@c *********************************************************************
|
||||
@node Acknowledgments
|
||||
@chapter Acknowledgments
|
||||
@ -3656,8 +4049,10 @@ information on these fine people. The @file{THANKS} file lists people
|
||||
who have helped by reporting bugs, taking care of the infrastructure,
|
||||
providing artwork and themes, making suggestions, and more---thank you!
|
||||
|
||||
This document includes adapted sections from articles that have previously
|
||||
been published on the Guix blog at @uref{https://guix.gnu.org/blog}.
|
||||
This document includes adapted sections from articles that have
|
||||
previously been published on the Guix blog at
|
||||
@uref{https://guix.gnu.org/blog} and on the Guix-HPC blog at
|
||||
@uref{https://hpc.guix.info/blog}.
|
||||
|
||||
|
||||
@c *********************************************************************
|
||||
|
@ -18482,6 +18482,10 @@ herd set-http-proxy guix-daemon
|
||||
@item @code{tmpdir} (default: @code{#f})
|
||||
A directory path where the @command{guix-daemon} will perform builds.
|
||||
|
||||
@item @code{environment} (default: @code{'()})
|
||||
Environment variables to be set before starting the daemon, as a list of
|
||||
@code{key=value} strings.
|
||||
|
||||
@end table
|
||||
@end deftp
|
||||
|
||||
|
14
etc/news.scm
14
etc/news.scm
@ -5,7 +5,7 @@
|
||||
;; Copyright © 2019, 2020 Miguel Ángel Arruga Vivas <rosen644835@gmail.com>
|
||||
;; Copyright © 2019, 2020 Konrad Hinsen <konrad.hinsen@fastmail.net>
|
||||
;; Copyright © 2019, 2020, 2021 Julien Lepiller <julien@lepiller.eu>
|
||||
;; Copyright © 2019–2022 Florian Pelz <pelzflorian@pelzflorian.de>
|
||||
;; Copyright © 2019–2023 Florian Pelz <pelzflorian@pelzflorian.de>
|
||||
;; Copyright © 2020, 2022 Marius Bakke <marius@gnu.org>
|
||||
;; Copyright © 2020, 2021 Mathieu Othacehe <m.othacehe@gmail.com>
|
||||
;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||
@ -26,6 +26,18 @@
|
||||
(channel-news
|
||||
(version 0)
|
||||
|
||||
(entry (commit "064c5b7e450f9f6d55cfcd0ec2bc9e96ee0b2958")
|
||||
(title
|
||||
(en "Linux-libre 4.9 removed due to end of upstream support")
|
||||
(de "Linux-libre 4.9 wurde entfernt"))
|
||||
(body
|
||||
(en "The linux-libre 4.9 kernel series has reach the end of its life,
|
||||
and is no longer supported upstream. For this reason, it has been removed from
|
||||
GNU Guix.")
|
||||
(de "Vom Kernel @code{linux-libre} wird die 4.9-Versionsreihe keine
|
||||
Unterstützung von dessen Anbieter mehr erfahren („end of life“). Daher ist es
|
||||
aus GNU Guix entfernt worden.")))
|
||||
|
||||
(entry (commit "dfc6957a5af7d179d4618eb19d4f555c519bc6f2")
|
||||
(title
|
||||
(en "New @code{customize-linux} procedure")
|
||||
|
@ -1,5 +1,5 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2021 Andrew Tropin <andrew@trop.in>
|
||||
;;; Copyright © 2021-2023 Andrew Tropin <andrew@trop.in>
|
||||
;;; Copyright © 2021 Xinglu Chen <public@yoctocell.xyz>
|
||||
;;; Copyright © 2022-2023 Ludovic Courtès <ludo@gnu.org>
|
||||
;;;
|
||||
@ -192,7 +192,7 @@ ensures variable values are properly quoted."
|
||||
(list->string (string-fold-right
|
||||
(lambda (chr lst)
|
||||
(if (memq chr quoted-chars)
|
||||
(append (list chr #\\) lst)
|
||||
(append (list #\\ chr) lst)
|
||||
(cons chr lst)))
|
||||
'()
|
||||
value))))
|
||||
@ -212,7 +212,9 @@ ensures variable values are properly quoted."
|
||||
"")
|
||||
((key . #t)
|
||||
#~(string-append "export " #$key "\n"))
|
||||
((key . (? string? value))
|
||||
((key . (or (? string? value)
|
||||
(? file-like? value)
|
||||
(? gexp? value)))
|
||||
#~(string-append "export " #$key "="
|
||||
(shell-double-quote #$value)
|
||||
"\n"))
|
||||
|
@ -338,9 +338,11 @@ GNU_SYSTEM_MODULES = \
|
||||
%D%/packages/iso-codes.scm \
|
||||
%D%/packages/jami.scm \
|
||||
%D%/packages/java.scm \
|
||||
%D%/packages/java-bootstrap.scm \
|
||||
%D%/packages/java-compression.scm \
|
||||
%D%/packages/java-graphics.scm \
|
||||
%D%/packages/java-maths.scm \
|
||||
%D%/packages/java-xml.scm \
|
||||
%D%/packages/javascript.scm \
|
||||
%D%/packages/jemalloc.scm \
|
||||
%D%/packages/jrnl.scm \
|
||||
@ -1713,6 +1715,7 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/python-3-fix-tests.patch \
|
||||
%D%/packages/patches/python-3-hurd-configure.patch \
|
||||
%D%/packages/patches/python-3-no-static-lib.patch \
|
||||
%D%/packages/patches/python-afdko-suppress-copyright-test.patch \
|
||||
%D%/packages/patches/python-aionotify-0.2.0-py3.8.patch \
|
||||
%D%/packages/patches/python-argcomplete-1.11.1-fish31.patch \
|
||||
%D%/packages/patches/python-cross-compile.patch \
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -33,11 +33,11 @@
|
||||
#:use-module (gnu packages flashing-tools)
|
||||
#:use-module (gnu packages java)
|
||||
#:use-module (gnu packages java-graphics)
|
||||
#:use-module (gnu packages java-xml)
|
||||
#:use-module (gnu packages libusb)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages textutils)
|
||||
#:use-module (gnu packages version-control)
|
||||
#:use-module (gnu packages xml))
|
||||
#:use-module (gnu packages version-control))
|
||||
|
||||
;; XXX The patch does not apply to libusb 1.0.24.
|
||||
;; See https://github.com/axoloti/axoloti/issues/464
|
||||
|
@ -27,8 +27,8 @@
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages java)
|
||||
#:use-module (gnu packages textutils)
|
||||
#:use-module (gnu packages xml))
|
||||
#:use-module (gnu packages java-xml)
|
||||
#:use-module (gnu packages textutils))
|
||||
|
||||
(define-public java-w3c-smil-3.0
|
||||
(package
|
||||
|
@ -1,5 +1,5 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2015-2023 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2016, 2017, 2018, 2020, 2021 Roel Janssen <roel@gnu.org>
|
||||
;;; Copyright © 2016 Pjotr Prins <pjotr.guix@thebird.nl>
|
||||
;;; Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com>
|
||||
@ -4997,13 +4997,13 @@ only one command.")
|
||||
(define-public r-biocparallel
|
||||
(package
|
||||
(name "r-biocparallel")
|
||||
(version "1.32.4")
|
||||
(version "1.32.5")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "BiocParallel" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1m4i27zx3ajwygwp38lrxf36rs575dkaxxc6jawpj1kzn7whi5ym"))))
|
||||
"1yd6ln9cl3dcvfziar52fkvqi2lzm31l7j21r1rwl1mpkz0xapir"))))
|
||||
(properties
|
||||
`((upstream-name . "BiocParallel")))
|
||||
(build-system r-build-system)
|
||||
@ -5118,13 +5118,13 @@ effort and encourages consistency.")
|
||||
(define-public r-bsgenome
|
||||
(package
|
||||
(name "r-bsgenome")
|
||||
(version "1.66.1")
|
||||
(version "1.66.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "BSgenome" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1gzpvajw5n3qmym3312qaks450sq3w456kj4gqwaabgpjxbq7frm"))))
|
||||
"0p75c52sw464bdqz7dyda9h8k2wsxdpdxxhya5awh977xaly90pf"))))
|
||||
(properties
|
||||
`((upstream-name . "BSgenome")))
|
||||
(build-system r-build-system)
|
||||
@ -5811,13 +5811,13 @@ genomic intervals. In addition, it can use BAM or BigWig files as input.")
|
||||
(define-public r-genomeinfodb
|
||||
(package
|
||||
(name "r-genomeinfodb")
|
||||
(version "1.34.4")
|
||||
(version "1.34.6")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "GenomeInfoDb" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1nskqmlar85zg96c1fbacl7dqg6r0gl814rc7yh482y4wgmwyg0r"))))
|
||||
"123kp69fmy5pbqh0j6qxdkvkm4g9pdwzms01i8qnix3m1b9j597w"))))
|
||||
(properties
|
||||
`((upstream-name . "GenomeInfoDb")))
|
||||
(build-system r-build-system)
|
||||
@ -6483,14 +6483,14 @@ in SNV base substitution data.")
|
||||
(define-public r-msnbase
|
||||
(package
|
||||
(name "r-msnbase")
|
||||
(version "2.24.0")
|
||||
(version "2.24.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "MSnbase" version))
|
||||
(sha256
|
||||
(base32
|
||||
"16apm4qn7sbv06pk2i8k5z7qgkv0yq0h8ri32vikdplqxxh7h0cz"))))
|
||||
"0jdq41rhn9qyhxfihvrgim76fzdrycc02wjsjdrff42gmray49w7"))))
|
||||
(properties `((upstream-name . "MSnbase")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
@ -9916,14 +9916,14 @@ multiplication and calculation of row/column sums or means.")
|
||||
(define-public r-batchelor
|
||||
(package
|
||||
(name "r-batchelor")
|
||||
(version "1.14.0")
|
||||
(version "1.14.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "batchelor" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1cdpq8zfn718qmsqjp79siddh3kzag4a90p276v261xbjvrxavjv"))))
|
||||
"1yj84ba6px14hbqg8526527vfcxmzvmly34f7hba4vybdm1jscfm"))))
|
||||
(properties `((upstream-name . "batchelor")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
@ -13629,38 +13629,31 @@ for other R packages to compile and link against.")
|
||||
(define-public r-flowworkspace
|
||||
(package
|
||||
(name "r-flowworkspace")
|
||||
(version "4.10.0")
|
||||
(version "4.10.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "flowWorkspace" version))
|
||||
(sha256
|
||||
(base32
|
||||
"07w2pnnzmivfc621c8pvndqrn1k245cwjrb0nnk2i85i3si4j9c3"))))
|
||||
"0jmbfclkfm0n2mshk94906kivii7awlskf7l7ydn8ki8wrpzxqg4"))))
|
||||
(properties `((upstream-name . "flowWorkspace")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
(list r-aws-s3
|
||||
r-aws-signature
|
||||
r-bh
|
||||
(list r-bh
|
||||
r-biobase
|
||||
r-biocgenerics
|
||||
r-cpp11
|
||||
r-cytolib
|
||||
r-data-table
|
||||
r-delayedarray
|
||||
r-digest
|
||||
r-dplyr
|
||||
r-flowcore
|
||||
r-ggplot2
|
||||
r-graph
|
||||
r-lattice
|
||||
r-latticeextra
|
||||
r-matrixstats
|
||||
r-ncdfflow
|
||||
r-rbgl
|
||||
r-rcpp
|
||||
r-rcpparmadillo
|
||||
r-rcppparallel
|
||||
r-rgraphviz
|
||||
r-rhdf5lib
|
||||
r-rprotobuflib
|
||||
@ -14646,14 +14639,14 @@ arrays based on fast wavelet-based functional models.")
|
||||
(define-public r-variancepartition
|
||||
(package
|
||||
(name "r-variancepartition")
|
||||
(version "1.28.0")
|
||||
(version "1.28.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "variancePartition" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1mn91r0yrhz08m3vs2h3i35rcbxyc7sdfknmk6vcw1z75znjsnpl"))))
|
||||
"0ypw3ckaf4qll83rl2bjzfc7g2m4v0n2mq645ppyfga8wv8kwssy"))))
|
||||
(properties
|
||||
`((upstream-name . "variancePartition")))
|
||||
(build-system r-build-system)
|
||||
@ -14674,6 +14667,7 @@ arrays based on fast wavelet-based functional models.")
|
||||
r-pbkrtest
|
||||
r-progress
|
||||
r-rdpack
|
||||
r-remacor
|
||||
r-reshape2
|
||||
r-rhpcblasctl
|
||||
r-rlang
|
||||
@ -15614,13 +15608,13 @@ functionality.")
|
||||
(define-public r-biocviews
|
||||
(package
|
||||
(name "r-biocviews")
|
||||
(version "1.66.1")
|
||||
(version "1.66.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "biocViews" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1xplkzm29v6aysfhb6kf2nnmvc37jmcvv6vsgbx8z8qccn96jk02"))))
|
||||
"0fdxlixwf4d3p1prq37cgfvaiym44h2yd4bym6wp4dl8h648v99y"))))
|
||||
(properties
|
||||
`((upstream-name . "biocViews")))
|
||||
(build-system r-build-system)
|
||||
@ -15860,14 +15854,14 @@ analytics on packages.")
|
||||
(define-public r-biocset
|
||||
(package
|
||||
(name "r-biocset")
|
||||
(version "1.12.0")
|
||||
(version "1.12.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "BiocSet" version))
|
||||
(sha256
|
||||
(base32
|
||||
"197cy5gdlvac7jqwb4dm4dbqfms2nvc3paqs75nsg9mpp1h5z8l8"))))
|
||||
"1cqp5m6yic5vsp8k05r50sx2cmi9cwzxfmlswcjw28nascq3gpv0"))))
|
||||
(properties `((upstream-name . "BiocSet")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
|
@ -110,6 +110,7 @@
|
||||
#:use-module (gnu packages imagemagick)
|
||||
#:use-module (gnu packages java)
|
||||
#:use-module (gnu packages java-compression)
|
||||
#:use-module (gnu packages java-xml)
|
||||
#:use-module (gnu packages jemalloc)
|
||||
#:use-module (gnu packages jupyter)
|
||||
#:use-module (gnu packages libffi)
|
||||
@ -7688,6 +7689,38 @@ sequence.")
|
||||
(supported-systems '("i686-linux" "x86_64-linux"))
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public r-gg3d
|
||||
(let ((commit "ffdd837d30c1671cd0895db94bdd7b1594dbfcb0")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "r-gg3d")
|
||||
(version (git-version "0.0.0.9000" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/AckerDWM/gg3D")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0vz5laj5vz9m1jzb7h7q9f37zjmxwhylhaidlsg61r57wpxvjr3p"))))
|
||||
(properties `((upstream-name . "gg3D")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
(list r-dplyr
|
||||
r-ggplot2
|
||||
r-magrittr
|
||||
r-plot3d
|
||||
r-plyr
|
||||
r-scales))
|
||||
(native-inputs (list r-knitr))
|
||||
(home-page "https://github.com/AckerDWM/gg3D")
|
||||
(synopsis "3D perspective plots for ggplot2")
|
||||
(description
|
||||
"This package adds 3D perspective plotting of points, paths, and line,
|
||||
3D perspective axes, 3D perspective annotations, and wireframe plots.")
|
||||
(license license:gpl3+))))
|
||||
|
||||
(define-public r-gutils
|
||||
(let ((commit "10e36c7b580aacb2d952140a3fdd82418aaddea6")
|
||||
(revision "1"))
|
||||
|
@ -12,7 +12,7 @@
|
||||
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
|
||||
;;; Copyright © 2019 Hartmut Goebel <h.goebel@goebel-consult.de>
|
||||
;;; Copyright © 2020, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;; Copyright © 2020, 2021 Marius Bakke <marius@gnu.org>
|
||||
;;; Copyright © 2020, 2021, 2023 Marius Bakke <marius@gnu.org>
|
||||
;;; Copyright © 2020 Julien Lepiller <julien@lepiller.eu>
|
||||
;;; Copyright © 2021 lu hui <luhuins@163.com>
|
||||
;;; Copyright © 2021, 2022 Foo Chuan Wei <chuanwei.foo@hotmail.com>
|
||||
@ -58,6 +58,7 @@
|
||||
#:use-module (gnu packages emacs)
|
||||
#:use-module (gnu packages flex)
|
||||
#:use-module (gnu packages gcc)
|
||||
#:use-module (gnu packages golang)
|
||||
#:use-module (gnu packages graphviz)
|
||||
#:use-module (gnu packages llvm)
|
||||
#:use-module (gnu packages linux)
|
||||
@ -80,6 +81,44 @@
|
||||
|
||||
;;; Tools to deal with source code: metrics, cross-references, etc.
|
||||
|
||||
(define-public automatic-component-toolkit
|
||||
(package
|
||||
(name "automatic-component-toolkit")
|
||||
(version "1.6.0")
|
||||
(home-page "https://github.com/Autodesk/AutomaticComponentToolkit")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference (url home-page)
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1r0sbw82cf9dbcj3vgnbd4sc1lklzvijic2z5wgkvs21azcm0yzh"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list #:tests? #false ;no tests
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(delete 'configure)
|
||||
(replace 'build
|
||||
(lambda _
|
||||
(setenv "HOME" "/tmp")
|
||||
(invoke "bash" "Build/build.sh")))
|
||||
(replace 'install
|
||||
(lambda _
|
||||
(let ((bin (string-append #$output "/bin")))
|
||||
(mkdir-p bin)
|
||||
(copy-file "act.linux"
|
||||
(string-append #$output "/bin/act"))))))))
|
||||
(native-inputs (list go))
|
||||
(synopsis "Automatically generate software components")
|
||||
(description
|
||||
"The Automatic Component Toolkit (@dfn{ACT}) is a code generator that
|
||||
takes an instance of an Interface Description Language (@dfn{IDL}) file and
|
||||
generates a thin C89-API, implementation stubs, and language bindings of your
|
||||
desired software component.")
|
||||
(license license:bsd-2)))
|
||||
|
||||
(define-public cflow
|
||||
(package
|
||||
(name "cflow")
|
||||
|
@ -1,5 +1,5 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2015-2023 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
|
||||
;;; Copyright © 2015, 2016 Pjotr Prins <pjotr.guix@thebird.nl>
|
||||
;;; Copyright © 2016, 2017 Ben Woodcroft <donttrustben@gmail.com>
|
||||
@ -259,13 +259,13 @@ automatically pruning objects to maintain the constraints.")
|
||||
(define-public r-collections
|
||||
(package
|
||||
(name "r-collections")
|
||||
(version "0.3.6")
|
||||
(version "0.3.7")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "collections" version))
|
||||
(sha256
|
||||
(base32 "19y7nds67700zy6354s1i0aglgjylzv65psccz5x3ih8f48sakr3"))))
|
||||
(base32 "003zlp5s2ilq3pq0imlp7p46jkfihwzg1hkkgk7378ikcbwnz17z"))))
|
||||
(properties `((upstream-name . "collections")))
|
||||
(build-system r-build-system)
|
||||
(home-page "https://github.com/randy3k/collections")
|
||||
@ -2802,6 +2802,38 @@ particularly easy to create complete web applications using httpuv alone.")
|
||||
;; obtained here: https://github.com/rstudio/httpuv/blob/master/LICENSE
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public r-httr2
|
||||
(package
|
||||
(name "r-httr2")
|
||||
(version "0.2.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "httr2" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1gzjsw3w7c3rsp3gb9rdbfmmnmd2sq09s3wza49730gp84jvc6jx"))))
|
||||
(properties `((upstream-name . "httr2")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
(list r-cli
|
||||
r-curl
|
||||
r-glue
|
||||
r-magrittr
|
||||
r-openssl
|
||||
r-r6
|
||||
r-rappdirs
|
||||
r-rlang
|
||||
r-withr))
|
||||
(native-inputs (list r-knitr))
|
||||
(home-page "https://httr2.r-lib.org")
|
||||
(synopsis "Perform HTTP requests and process the responses")
|
||||
(description
|
||||
"This package provides tools for creating and modifying HTTP requests,
|
||||
then performing them and processing the results. @code{httr2} is a
|
||||
re-imagining of @code{httr} that uses a pipe-based interface and solves more
|
||||
of the problems that API wrapping packages face.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public r-jsonlite
|
||||
(package
|
||||
(name "r-jsonlite")
|
||||
@ -2894,13 +2926,13 @@ a list of p-values.")
|
||||
(define-public r-htmlwidgets
|
||||
(package
|
||||
(name "r-htmlwidgets")
|
||||
(version "1.6.0")
|
||||
(version "1.6.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "htmlwidgets" version))
|
||||
(sha256
|
||||
(base32
|
||||
"06prjx6ic2bddaw50ksz6l7hsidkzwb69m85vzc0apxvwaygz0gh"))))
|
||||
"0hqfjvfs3mcpqwim79vac1738k19ipr10zvdqrw5kzpwpsy3qls2"))))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
(list r-htmltools r-jsonlite
|
||||
@ -3081,14 +3113,14 @@ rules and utility functions for adaptive GH quadrature.")
|
||||
(define-public r-rstpm2
|
||||
(package
|
||||
(name "r-rstpm2")
|
||||
(version "1.5.8")
|
||||
(version "1.5.9")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "rstpm2" version))
|
||||
(sha256
|
||||
(base32
|
||||
"038qq5kar9f5ygd18aicwfqrr7fl37p0r9shgpc6wf2vmj564crn"))))
|
||||
"1zl7z1l19s960mrhlzvpga07kzqfrhhq7qlkgln4wj0gcmhicyc6"))))
|
||||
(properties `((upstream-name . "rstpm2")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
@ -6046,14 +6078,14 @@ these progress updates.")
|
||||
(define-public r-lava
|
||||
(package
|
||||
(name "r-lava")
|
||||
(version "1.7.0")
|
||||
(version "1.7.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "lava" version))
|
||||
(sha256
|
||||
(base32
|
||||
"092y5v5mp9a9mqia47fqh22br31crp8w5b4ks2y15242ydlxly1h"))))
|
||||
"0r7panw0pb9xi10navih9796r08yc5l6j914pfn8wzlm4mfwr7bs"))))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
(list r-future-apply r-numderiv r-progressr r-squarem r-survival))
|
||||
@ -6163,14 +6195,14 @@ included in this package.")
|
||||
(define-public r-timedate
|
||||
(package
|
||||
(name "r-timedate")
|
||||
(version "4021.107")
|
||||
(version "4022.108")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "timeDate" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1i54a425r5hi08yl9rb2qh1nynh29ppv9b4h46cxyzn1ybqlr9sg"))))
|
||||
"1vyfpz2ac43c0s6a4j4d0xfc430mwgw3syf03xszzggnw97rp555"))))
|
||||
(properties `((upstream-name . "timeDate")))
|
||||
(build-system r-build-system)
|
||||
(home-page "https://www.rmetrics.org")
|
||||
@ -6900,14 +6932,14 @@ clustered data.")
|
||||
(define-public r-mitml
|
||||
(package
|
||||
(name "r-mitml")
|
||||
(version "0.4-3")
|
||||
(version "0.4-4")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "mitml" version))
|
||||
(sha256
|
||||
(base32
|
||||
"00i18nnvrdrg91crgcp2a431xs71cawaip3xkqk2myv0iav3xga9"))))
|
||||
"12mgjvifpprzlpjbcybd08fkps0kdxim45saan4cng4lc4klh880"))))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
(list r-haven r-jomo r-pan))
|
||||
@ -7715,14 +7747,14 @@ Markdown documents.")
|
||||
(define-public r-seriation
|
||||
(package
|
||||
(name "r-seriation")
|
||||
(version "1.4.0")
|
||||
(version "1.4.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "seriation" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1bcd559wsjjdmpc1892vsf8wrkh4ijgn1y71h3y3v5clmd21ycmx"))))
|
||||
"1b8z7alav4d0i90251crzrq3yp3f11w0zlalh1f3b7si5yl2dkmr"))))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
(list r-ca
|
||||
@ -7813,13 +7845,13 @@ to variables on the left-hand side of the assignment.")
|
||||
(define-public r-zlog
|
||||
(package
|
||||
(name "r-zlog")
|
||||
(version "1.0.0")
|
||||
(version "1.0.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "zlog" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1d5j31p0h3rrn230087h3ngpvwknlisjv0f1qdbicdj9m177spci"))))
|
||||
"0fi9aqrmikdg5ibwhn82kslj4lxih03vm27jmi14m73h09yy4in5"))))
|
||||
(properties `((upstream-name . "zlog")))
|
||||
(build-system r-build-system)
|
||||
(native-inputs (list r-knitr))
|
||||
@ -8798,14 +8830,14 @@ sample Robust Rank-Order Distributional Test.")
|
||||
(define-public r-expm
|
||||
(package
|
||||
(name "r-expm")
|
||||
(version "0.999-6")
|
||||
(version "0.999-7")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "expm" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1p5dapwv8ycxaysgi6imnby04i4kh1c5a2czqa4wygz0s8pr2y9c"))))
|
||||
"1wd03dcqxyi7kyznfq7107ix1bsp7rwzqqv6w7p37pdq2jwlkwi8"))))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs (list r-matrix))
|
||||
(native-inputs (list gfortran))
|
||||
@ -8977,14 +9009,14 @@ powerful and convenient features.")
|
||||
(define-public r-heatmaply
|
||||
(package
|
||||
(name "r-heatmaply")
|
||||
(version "1.4.0")
|
||||
(version "1.4.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "heatmaply" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0q1vkf55a5r0ssybdbi2fyhn13p29kw04yp46c34n7apm0k2ymgi"))))
|
||||
"0zgaqmbc1nha38c8kx5xdjdjbwmykrf2acq8ydki8dqixv6b34la"))))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
(list r-assertthat
|
||||
@ -10219,14 +10251,14 @@ Python's @url{https://github.com/ActiveState/appdirs,Appdirs} to R.")
|
||||
(define-public r-rastervis
|
||||
(package
|
||||
(name "r-rastervis")
|
||||
(version "0.51.4")
|
||||
(version "0.51.5")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "rasterVis" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1z4vwjmx8n01jc2ypqs1pmx70rc3pjaz3ahk8j8zcif40v0qgy6i"))))
|
||||
"18bsrw629p4pkyhrpjmiyhq73w882bhgpwmkih0gjnw3ywwgx7rs"))))
|
||||
(properties `((upstream-name . "rasterVis")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
@ -10399,14 +10431,14 @@ always locate the files relative to your project root.")
|
||||
(define-public r-reticulate
|
||||
(package
|
||||
(name "r-reticulate")
|
||||
(version "1.26")
|
||||
(version "1.27")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "reticulate" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1ibliic3qp597nskak2bfa6iyl721ssgcavwvfaf1c71plilimrz"))))
|
||||
"19k96g43ll9zp72g9kmf9gg7k9cwwpyxzf2nd6fvx5jal5bq8mlx"))))
|
||||
(build-system r-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@ -10459,13 +10491,13 @@ file.")
|
||||
(define-public r-billboarder
|
||||
(package
|
||||
(name "r-billboarder")
|
||||
(version "0.3.1")
|
||||
(version "0.4.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "billboarder" version))
|
||||
(sha256
|
||||
(base32 "189ngvg84rcwhrivxskmjv3srhadvzr4p1v8pf11axyv2qn01b0x"))
|
||||
(base32 "1llac7fyyfax6q8n9b8lccyl9c8vxqvkfp341sz59mrw8yhwb2hr"))
|
||||
(snippet
|
||||
'(delete-file "inst/htmlwidgets/lib/billboard/billboard.pkgd.min.js"))))
|
||||
(properties `((upstream-name . "billboarder")))
|
||||
@ -10501,10 +10533,10 @@ file.")
|
||||
("js-billboard"
|
||||
,(origin
|
||||
(method url-fetch)
|
||||
(uri "https://unpkg.com/billboard.js@3.2.0/dist/billboard.js")
|
||||
(uri "https://unpkg.com/billboard.js@3.6.3/dist/billboard.js")
|
||||
(sha256
|
||||
(base32
|
||||
"1kx5rqmn87pgal2cwmcij2rrnwa0fgcsw6y99m4i0l2sdm0qffv2"))))))
|
||||
"1lyj4yl95qgh06iygb2y2mdg1zxijzxi5h85z7kp8ngm825z6rpi"))))))
|
||||
(home-page "https://github.com/dreamRs/billboarder")
|
||||
(synopsis "Create interactive charts with the JavaScript Billboard library")
|
||||
(description
|
||||
@ -11057,17 +11089,17 @@ references and Rd files.")
|
||||
(define-public r-officer
|
||||
(package
|
||||
(name "r-officer")
|
||||
(version "0.5.0")
|
||||
(version "0.5.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "officer" version))
|
||||
(sha256
|
||||
(base32
|
||||
"19kms5pjgb5mjqyqzgnpykd5divbkrs5apz8z27ivgw78iizsqh6"))))
|
||||
"1r885h8ma2py3idxkki2bnsbcimrw36qd6km2bhyhlav79n7bh4w"))))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
(list r-r6 r-uuid r-xml2 r-zip))
|
||||
(list r-openssl r-r6 r-uuid r-xml2 r-zip))
|
||||
(home-page "https://davidgohel.github.io/officer")
|
||||
(synopsis "Manipulation of Word and PowerPoint documents")
|
||||
(description
|
||||
@ -11464,14 +11496,14 @@ documents.")
|
||||
(define-public r-writexl
|
||||
(package
|
||||
(name "r-writexl")
|
||||
(version "1.4.1")
|
||||
(version "1.4.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "writexl" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1qhf7p14mijdyl5i40gfpzgvdflcs6s8xnwrabsnjxpa17xbamkn"))))
|
||||
"09whcadnwqcshicbhv1vnvdai087yimmnz9lvc3rld5nn8z66xcg"))))
|
||||
(build-system r-build-system)
|
||||
(inputs (list zlib))
|
||||
(home-page "https://github.com/ropensci/writexl")
|
||||
@ -12045,14 +12077,14 @@ visualization and candidate genes around SNPs.")
|
||||
(define-public r-precrec
|
||||
(package
|
||||
(name "r-precrec")
|
||||
(version "0.12.9")
|
||||
(version "0.14.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "precrec" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1dfz2rqx2ww2l5r40ahg0qdj3rjrwiwh427mw7j5ynhpcj21j2qm"))))
|
||||
"04pyqwc4p3bzwfcf7a74nkh7b2001053jagzvz9ghpyj380f66x8"))))
|
||||
(properties `((upstream-name . "precrec")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
@ -12061,6 +12093,7 @@ visualization and candidate genes around SNPs.")
|
||||
r-ggplot2
|
||||
r-gridextra
|
||||
r-rcpp
|
||||
r-rlang
|
||||
r-withr))
|
||||
(native-inputs (list r-knitr))
|
||||
(home-page "https://evalclass.github.io/precrec/")
|
||||
@ -12073,14 +12106,14 @@ of precision-recall and ROC (Receiver Operator Characteristics) curves.")
|
||||
(define-public r-netrep
|
||||
(package
|
||||
(name "r-netrep")
|
||||
(version "1.2.4")
|
||||
(version "1.2.6")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "NetRep" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1swlb2k9bc7whvslxbklz864j9ynvna73hvq5rhv61cv5vy05ksd"))))
|
||||
"0hyj91fr4y9csj2dy4z9cpr92hh8gk3xnjr6zpk9n0wk37sx44h6"))))
|
||||
(properties `((upstream-name . "NetRep")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
@ -12373,14 +12406,14 @@ a library of prediction algorithms to be used in the super learner.")
|
||||
(define-public r-drtmle
|
||||
(package
|
||||
(name "r-drtmle")
|
||||
(version "1.1.1")
|
||||
(version "1.1.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "drtmle" version))
|
||||
(sha256
|
||||
(base32
|
||||
"12vplpz9bg5444jy29mbdr70hqby073vb3iw76v2csrwy3ws3f21"))))
|
||||
"0qvdxzvpi7a66gx61v6fj31zy4y5cid18g4qgv5lir7qc74rbbx0"))))
|
||||
(properties `((upstream-name . "drtmle")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
@ -12593,14 +12626,14 @@ used to teach mathematics, statistics, computation and modeling.")
|
||||
(define-public r-raster
|
||||
(package
|
||||
(name "r-raster")
|
||||
(version "3.6-11")
|
||||
(version "3.6-13")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "raster" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1arvmhf3ijzh3aanw8n6mdnwk4h26axsxpszvr5g43l7g5vfmggf"))))
|
||||
"035hb1063lrlcs3l5aiccminax228ji0363hijmnxkvl7fsydxp1"))))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
(list r-rcpp r-sp r-terra))
|
||||
@ -14579,6 +14612,31 @@ vector giving the index of the cluster each observation belongs to.")
|
||||
algorithms, clusterings, and individual clusters.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public r-clustergeneration
|
||||
(package
|
||||
(name "r-clustergeneration")
|
||||
(version "1.3.7")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "clusterGeneration" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0p1dwl08bf20h7pnspnsycrp3v48nm2miwcnlklyc4gdyzc2jksk"))))
|
||||
(properties `((upstream-name . "clusterGeneration")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs (list r-mass))
|
||||
(home-page "https://cran.r-project.org/package=clusterGeneration")
|
||||
(synopsis "Random cluster generation (with specified degree of separation)")
|
||||
(description
|
||||
"The clusterGeneration package provides functions for generating random
|
||||
clusters, generating random covariance/correlation matrices, calculating a
|
||||
separation index (data and population version) for pairs of clusters or
|
||||
cluster distributions, and 1-D and 2-D projection plots to visualize clusters.
|
||||
The package also contains a function to generate random clusters based on
|
||||
factorial designs with factors such as degree of separation, number of
|
||||
clusters, number of variables, number of noisy variables.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public r-tweedie
|
||||
(package
|
||||
(name "r-tweedie")
|
||||
@ -14651,14 +14709,14 @@ analysing multivariate abundance data in community ecology.")
|
||||
(define-public r-afex
|
||||
(package
|
||||
(name "r-afex")
|
||||
(version "1.2-0")
|
||||
(version "1.2-1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "afex" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1hii6mx4qbmv4m1hy44sp19xf0r7mc68p767bwc58qrgpawgymwb"))))
|
||||
"1jxahp2nq2clmi7wqi0n0b23xyvsjckvz9bmj81j35fv8v6wxa73"))))
|
||||
(build-system r-build-system)
|
||||
;; This is needed for the vignette builder
|
||||
(arguments
|
||||
@ -14959,14 +15017,14 @@ other values.")
|
||||
(define-public r-ncdf4
|
||||
(package
|
||||
(name "r-ncdf4")
|
||||
(version "1.20")
|
||||
(version "1.21")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "ncdf4" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1kpi5xygx1nj8ybxrn9z0jxi3lbcibdvc7mjgyvm6f9plwjlxjvq"))))
|
||||
"03dk47xz6qlpky9kkpkkxc472czq542yml3fdg39bic2yggffnig"))))
|
||||
(build-system r-build-system)
|
||||
(inputs
|
||||
(list netcdf zlib))
|
||||
@ -15006,14 +15064,14 @@ Bioconductor packages.")
|
||||
(define-public r-rgl
|
||||
(package
|
||||
(name "r-rgl")
|
||||
(version "0.110.2")
|
||||
(version "0.111.6")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "rgl" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0v9lrsdmhw0wqfbrrjirgppd40cn00ignq3rg2jn3q8ak70ih4fs"))))
|
||||
"1h6nbcnbl0knmc91923wfhghs58yjc84mhnmk2byd474lrgzxynd"))))
|
||||
(build-system r-build-system)
|
||||
(native-inputs
|
||||
(list pkg-config
|
||||
@ -15300,14 +15358,14 @@ al. (2010) <DOI:10.1016/j.neuroimage.2010.04.241>, Tabelow and Polzehl (2011)
|
||||
(define-public r-fmsb
|
||||
(package
|
||||
(name "r-fmsb")
|
||||
(version "0.7.4")
|
||||
(version "0.7.5")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "fmsb" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1rmmvx38rmamiw0ajqhlksgxj6fgm8ymq903yxqq2bzxx8fhj5n2"))))
|
||||
"082qj08kzyzwvjacwq0sl3xxdx6iz5hgx6q24jv1mnvx7z5xn5ry"))))
|
||||
(build-system r-build-system)
|
||||
(home-page "http://minato.sip21c.org/msb/")
|
||||
(synopsis "Functions for medical statistics book with demographic data")
|
||||
@ -16132,13 +16190,13 @@ Touzet and Varre (2007).")
|
||||
(define-public r-rncl
|
||||
(package
|
||||
(name "r-rncl")
|
||||
(version "0.8.6")
|
||||
(version "0.8.7")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "rncl" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1ywgwqn82z8h6zpcxxq4hgngdpfa6dj0lr7bfq4cwfml9z075jgw"))))
|
||||
"0flrqz7pansy11ds23qv06bcmh6vxqljq0517v6292ibbx7nx1qx"))))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
(list r-progress r-rcpp))
|
||||
@ -18619,14 +18677,14 @@ probabilities from a standard bivariate normal CDF.")
|
||||
(define-public r-lavaan
|
||||
(package
|
||||
(name "r-lavaan")
|
||||
(version "0.6-12")
|
||||
(version "0.6-13")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "lavaan" version))
|
||||
(sha256
|
||||
(base32
|
||||
"17h79pnww1mihvlp6ap0r6d8wnly9bwszj13l5dkby0284z2fj40"))))
|
||||
"0glcam1g8zx3xvvp8nsbsj5vi8hba0sm20akyf4rivbr6s745y1a"))))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
(list r-mass r-mnormt r-numderiv r-pbivnorm))
|
||||
@ -18927,6 +18985,36 @@ can also be used to join clusters obtained from affinity propagation. Various
|
||||
plotting functions are available for analyzing clustering results.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public r-remacor
|
||||
(package
|
||||
(name "r-remacor")
|
||||
(version "0.0.11")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "remaCor" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0hhk1zrjz6sxg219h9ca7jya0vc8dmrvwaddajkcdns6bv3rj1km"))))
|
||||
(properties `((upstream-name . "remaCor")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
(list r-clustergeneration
|
||||
r-ggplot2
|
||||
r-mvtnorm
|
||||
r-rdpack
|
||||
r-reshape2
|
||||
r-runit))
|
||||
(native-inputs (list r-knitr))
|
||||
(home-page "https://diseaseneurogenomics.github.io/remaCor/")
|
||||
(synopsis "Random effects meta-analysis for correlated test statistics")
|
||||
(description
|
||||
"Meta-analysis is widely used to summarize estimated effects sizes across
|
||||
multiple statistical tests. Standard fixed and random effect meta-analysis
|
||||
methods assume that the estimated of the effect sizes are statistically
|
||||
independent. Here we relax this assumption and enable meta-analysis when the
|
||||
correlation matrix between effect size estimates is known.")
|
||||
(license license:artistic2.0)))
|
||||
|
||||
(define-public r-rematch2
|
||||
(package
|
||||
(name "r-rematch2")
|
||||
@ -20816,14 +20904,14 @@ layer by layer.")
|
||||
(define-public r-gkmsvm
|
||||
(package
|
||||
(name "r-gkmsvm")
|
||||
(version "0.81.0")
|
||||
(version "0.82.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "gkmSVM" version))
|
||||
(sha256
|
||||
(base32
|
||||
"119g5rhc7ffyviz04r04aj5z1g6abnj3ddd01g7db505sdr6lapj"))))
|
||||
"1m2cq4b0srghaj04p5ffbc21zv1rg7avi8pn765bybjhvrn567bm"))))
|
||||
(properties `((upstream-name . "gkmSVM")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
@ -26295,13 +26383,13 @@ finding peaks in spectra, converting humidity measures.")
|
||||
(define-public r-qqconf
|
||||
(package
|
||||
(name "r-qqconf")
|
||||
(version "1.3.0")
|
||||
(version "1.3.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "qqconf" version))
|
||||
(sha256
|
||||
(base32
|
||||
"11sh0q5bwmqdygqd1gspx7xc5mysj18whz11afnz6s1m820snhhw"))))
|
||||
"1vvw79l8nqpqvmfpff5khgdjbs1s2q5ylg72lvkihd2qfk0d8cf5"))))
|
||||
(properties `((upstream-name . "qqconf")))
|
||||
(build-system r-build-system)
|
||||
(inputs (list fftw))
|
||||
@ -26828,14 +26916,14 @@ Raftery, Appl.Statistics, 1989); it includes inference and basic methods.")
|
||||
(define-public r-forecast
|
||||
(package
|
||||
(name "r-forecast")
|
||||
(version "8.19")
|
||||
(version "8.20")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "forecast" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1l3mdldghsf319fh8gx81w8f5i5mnrcn70rjjylzk4j8n7gicpih"))))
|
||||
"03ll4v4r2l4kk4lbwnrvmd24003qm6j81lzr06qlns311zf4dv9v"))))
|
||||
(properties `((upstream-name . "forecast")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
@ -31533,14 +31621,14 @@ vignettes in all common formats.")
|
||||
(define-public r-tidytext
|
||||
(package
|
||||
(name "r-tidytext")
|
||||
(version "0.4.0")
|
||||
(version "0.4.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "tidytext" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1ywx4zhx1a0r1lyd11w3cbz33silpx5m1sk9rd3kvj21wvfdramk"))))
|
||||
"05f8209qx1rvddnkl0h05yig09xahs8lqgq9w5dvdiwarji50rsj"))))
|
||||
(properties `((upstream-name . "tidytext")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
@ -31912,14 +32000,14 @@ covariate (usually group indicator) and the scores.")
|
||||
(define-public r-qtl
|
||||
(package
|
||||
(name "r-qtl")
|
||||
(version "1.54")
|
||||
(version "1.58")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "qtl" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1rzkxkmcgd6drxbgqp6w6jab5bs7vla2x2ndv3l4nlbcwzi41jw0"))))
|
||||
"15wxn3sdvmgjgmfxl0qsxhkr7b7kn1hz2962cd6k0qmffz0mmjkf"))))
|
||||
(build-system r-build-system)
|
||||
(home-page "https://rqtl.org/")
|
||||
(synopsis "R package for analyzing QTL experiments in genetics")
|
||||
@ -32678,13 +32766,13 @@ computational operations, add-on packages provide additional functionality.")
|
||||
(define-public r-mlr3learners
|
||||
(package
|
||||
(name "r-mlr3learners")
|
||||
(version "0.5.5")
|
||||
(version "0.5.6")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "mlr3learners" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0m5s7jfqfh48gxllvi93wb5w2pzhzx8rcx5bz87lkmv1cnj65q84"))))
|
||||
"1m0psjqcl2pfy73wmc29vyz122v0kqmws6d0dgl7wsy1csfjsjm2"))))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
(list r-checkmate
|
||||
@ -33827,20 +33915,21 @@ supply the workflow to create thematic maps. This package also facilitates
|
||||
(define-public r-rtweet
|
||||
(package
|
||||
(name "r-rtweet")
|
||||
(version "1.0.2")
|
||||
(version "1.1.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "rtweet" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1dhdq2c2zl88h29caqpm7zh2i5970q7rfg98zf2xb7x4zak7bq9x"))))
|
||||
"0dq6ckf2mp6wm6y8xzjby21s356760fmck1m8nsnv5gz8lhy6dhg"))))
|
||||
(properties `((upstream-name . "rtweet")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
(list r-bit64
|
||||
r-curl
|
||||
r-httr
|
||||
r-httr2
|
||||
r-jsonlite
|
||||
r-lifecycle
|
||||
r-progress
|
||||
@ -36028,13 +36117,13 @@ options for aggregating multi-layer rasters.")
|
||||
(define-public r-bien
|
||||
(package
|
||||
(name "r-bien")
|
||||
(version "1.2.5")
|
||||
(version "1.2.6")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "BIEN" version))
|
||||
(sha256
|
||||
(base32 "0s98n6zbf48vssd3h63k6kashcxv1kawcb026n0ngsfpc5dv6i48"))))
|
||||
(base32 "17zrj5ckxaz4mdbgywxi8kf51ssbf2md1d2azf30dh96kzc2ayps"))))
|
||||
(properties `((upstream-name . "BIEN")))
|
||||
(build-system r-build-system)
|
||||
(native-inputs
|
||||
@ -36046,11 +36135,9 @@ options for aggregating multi-layer rasters.")
|
||||
r-fasterize
|
||||
r-foreach
|
||||
r-raster
|
||||
r-rgdal
|
||||
r-rgeos
|
||||
r-rpostgresql
|
||||
r-sf
|
||||
r-sp))
|
||||
r-terra))
|
||||
(home-page "https://cran.r-project.org/package=BIEN")
|
||||
(synopsis "Tools for accessing the BIEN database")
|
||||
(description
|
||||
|
@ -1,7 +1,7 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2019 Ivan Petkov <ivanppetkov@gmail.com>
|
||||
;;; Copyright © 2019, 2020, 2021, 2022 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2019-2022 Nicolas Goaziou <mail@nicolasgoaziou.fr>
|
||||
;;; Copyright © 2019-2023 Nicolas Goaziou <mail@nicolasgoaziou.fr>
|
||||
;;; Copyright © 2019 Giacomo Leidi <goodoldpaul@autistici.org>
|
||||
;;; Copyright © 2019–2021 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2019, 2020 John Soo <jsoo1@asu.edu>
|
||||
@ -70,6 +70,7 @@
|
||||
#:use-module (gnu packages gettext)
|
||||
#:use-module (gnu packages gl)
|
||||
#:use-module (gnu packages glib)
|
||||
#:use-module (gnu packages icu4c)
|
||||
#:use-module (gnu packages image)
|
||||
#:use-module (gnu packages jemalloc)
|
||||
#:use-module (gnu packages linux)
|
||||
@ -58289,19 +58290,22 @@ Rust bindings.")
|
||||
(define-public rust-tectonic-bridge-graphite2-0.2
|
||||
(package
|
||||
(name "rust-tectonic-bridge-graphite2")
|
||||
(version "0.2.0")
|
||||
(version "0.2.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "tectonic_bridge_graphite2" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "1qsq337y4p3z832kmn2xcaj6xh3z6ngr0izn4jgdjrymnsq1ac81"))))
|
||||
(base32 "1lkpqxz0y7m2ib1g0k850g2d7g6z8062niaw7vgvql33f2n94xkr"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(#:skip-build? #t
|
||||
#:cargo-inputs
|
||||
`(#:cargo-inputs
|
||||
(("rust-tectonic-dep-support" ,rust-tectonic-dep-support-0.1))))
|
||||
(native-inputs
|
||||
(list pkg-config))
|
||||
(inputs
|
||||
(list graphite2))
|
||||
(home-page "https://tectonic-typesetting.github.io/")
|
||||
(synopsis "Expose the graphite2 library to Rust/Cargo")
|
||||
(description
|
||||
@ -58361,28 +58365,31 @@ bindings.")
|
||||
bindings.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public rust-tectonic-bundles-0.2
|
||||
(define-public rust-tectonic-bundles-0.3
|
||||
(package
|
||||
(name "rust-tectonic-bundles")
|
||||
(version "0.2.0")
|
||||
(version "0.3.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "tectonic_bundles" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "17wwgfcl5nzvgzil7ayi42ljjkx9ffv4c35v6ywcmzdhk9zhki2f"))))
|
||||
(base32 "1ccykccvddvx31h1dfkzdxsnqhgyls21ks2qbvad09m1jzqzl5nj"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(#:skip-build? #t
|
||||
#:cargo-inputs
|
||||
`(#:cargo-inputs
|
||||
(("rust-flate2" ,rust-flate2-1)
|
||||
("rust-fs2" ,rust-fs2-0.4)
|
||||
("rust-tectonic-errors" ,rust-tectonic-errors-0.2)
|
||||
("rust-tectonic-geturl" ,rust-tectonic-geturl-0.3)
|
||||
("rust-tectonic-io-base" ,rust-tectonic-io-base-0.3)
|
||||
("rust-tectonic-io-base" ,rust-tectonic-io-base-0.4)
|
||||
("rust-tectonic-status-base" ,rust-tectonic-status-base-0.2)
|
||||
("rust-zip" ,rust-zip-0.5))))
|
||||
(native-inputs
|
||||
(list pkg-config))
|
||||
(inputs
|
||||
(list openssl zlib))
|
||||
(home-page "https://tectonic-typesetting.github.io/")
|
||||
(synopsis "Tectonic ``bundle'' (support file collection) implementations")
|
||||
(description
|
||||
@ -58441,21 +58448,20 @@ providing whatever fiddly features are needed to enable the Tectonic build
|
||||
process.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public rust-tectonic-docmodel-0.1
|
||||
(define-public rust-tectonic-docmodel-0.2
|
||||
(package
|
||||
(name "rust-tectonic-docmodel")
|
||||
(version "0.1.2")
|
||||
(version "0.2.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "tectonic_docmodel" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "1b5vdqcnjbbda6am0mb7qyxyc6pn8v0pqz0w10xia87ycyyfflxw"))))
|
||||
(base32 "1z3yhw7h11a5xggi3bjip3kz1931mjl5gi53vx2zwd89rg99373y"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(#:skip-build? #t
|
||||
#:cargo-inputs
|
||||
`(#:cargo-inputs
|
||||
(("rust-serde" ,rust-serde-1)
|
||||
("rust-tectonic-errors" ,rust-tectonic-errors-0.2)
|
||||
("rust-toml" ,rust-toml-0.5))))
|
||||
@ -58524,21 +58530,20 @@ document model, including the @file{Tectonic.toml} file.")
|
||||
output to HTML.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public rust-tectonic-engine-xetex-0.2
|
||||
(define-public rust-tectonic-engine-xetex-0.4
|
||||
(package
|
||||
(name "rust-tectonic-engine-xetex")
|
||||
(version "0.2.0")
|
||||
(version "0.4.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "tectonic_engine_xetex" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "1kn9gxkgf3jbwif14n1kmp869s4b69khhc7iwm78qqpmy79lrhkw"))))
|
||||
(base32 "1ckx9sg1nwyghg7142zk5x75g32f4s19psk6c50y0n0ikf5xq9sd"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(#:skip-build? #t
|
||||
#:cargo-inputs
|
||||
`(#:cargo-inputs
|
||||
(("rust-cc" ,rust-cc-1)
|
||||
("rust-libc" ,rust-libc-0.2)
|
||||
("rust-tectonic-bridge-core" ,rust-tectonic-bridge-core-0.3)
|
||||
@ -58547,8 +58552,16 @@ output to HTML.")
|
||||
("rust-tectonic-bridge-harfbuzz" ,rust-tectonic-bridge-harfbuzz-0.2)
|
||||
("rust-tectonic-cfg-support" ,rust-tectonic-cfg-support-0.1)
|
||||
("rust-tectonic-errors" ,rust-tectonic-errors-0.2)
|
||||
("rust-tectonic-pdf-io" ,rust-tectonic-pdf-io-0.1)
|
||||
("rust-tectonic-xetex-layout" ,rust-tectonic-xetex-layout-0.1))))
|
||||
("rust-tectonic-pdf-io" ,rust-tectonic-pdf-io-0.4)
|
||||
("rust-tectonic-xetex-layout" ,rust-tectonic-xetex-layout-0.2))))
|
||||
(native-inputs
|
||||
(list pkg-config))
|
||||
(inputs
|
||||
(list fontconfig
|
||||
freetype
|
||||
graphite2
|
||||
icu4c
|
||||
zlib))
|
||||
(home-page "https://tectonic-typesetting.github.io/")
|
||||
(synopsis "XeTeX engine as a reusable crate")
|
||||
(description
|
||||
@ -58556,27 +58569,29 @@ output to HTML.")
|
||||
engine as a reusable crate.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public rust-tectonic-engine-xdvipdfmx-0.1
|
||||
(define-public rust-tectonic-engine-xdvipdfmx-0.4
|
||||
(package
|
||||
(name "rust-tectonic-engine-xdvipdfmx")
|
||||
(version "0.1.0")
|
||||
(version "0.4.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "tectonic_engine_xdvipdfmx" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "00kjsxzlzlc8lmh8mhb5v6iw1lb7rq09ski2mjzlyw604dcq1k3p"))))
|
||||
(base32 "0ajmb9pcq5pak28z4bhsnxfgfy9hpr1mm02bp6ph16nvdn8m2ir1"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(#:skip-build? #t
|
||||
#:cargo-inputs
|
||||
(("rust-cbindgen" ,rust-cbindgen-0.16)
|
||||
("rust-cc" ,rust-cc-1)
|
||||
`(#:cargo-inputs
|
||||
(("rust-cc" ,rust-cc-1)
|
||||
("rust-libc" ,rust-libc-0.2)
|
||||
("rust-tectonic-bridge-core" ,rust-tectonic-bridge-core-0.1)
|
||||
("rust-tectonic-bridge-core" ,rust-tectonic-bridge-core-0.3)
|
||||
("rust-tectonic-errors" ,rust-tectonic-errors-0.2)
|
||||
("rust-tectonic-pdf-io" ,rust-tectonic-pdf-io-0.1))))
|
||||
("rust-tectonic-pdf-io" ,rust-tectonic-pdf-io-0.4))))
|
||||
(native-inputs
|
||||
(list pkg-config))
|
||||
(inputs
|
||||
(list libpng zlib))
|
||||
(home-page "https://tectonic-typesetting.github.io/")
|
||||
(synopsis "@code{xdvipdfmx} program as a reusable crate")
|
||||
(description
|
||||
@ -58729,23 +58744,22 @@ streams.")
|
||||
("rust-tectonic-status-base" ,rust-tectonic-status-base-0.1)
|
||||
("rust-thiserror" ,rust-thiserror-1))))))
|
||||
|
||||
(define-public rust-tectonic-pdf-io-0.1
|
||||
(define-public rust-tectonic-pdf-io-0.4
|
||||
(package
|
||||
(name "rust-tectonic-pdf-io")
|
||||
(version "0.1.0")
|
||||
(version "0.4.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "tectonic_pdf_io" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "0ry5g6vh54i8ih8rjlz3ci7b8gi4irsllg34pv57mcwrhwcikg6x"))))
|
||||
(base32 "0rmk31n96r299k5j2ydyqryzywn2dbfbnl1rwh0lx86zaqac9qcn"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(#:skip-build? #t
|
||||
#:cargo-inputs
|
||||
`(#:cargo-inputs
|
||||
(("rust-cc" ,rust-cc-1)
|
||||
("rust-tectonic-bridge-core" ,rust-tectonic-bridge-core-0.1)
|
||||
("rust-tectonic-bridge-core" ,rust-tectonic-bridge-core-0.3)
|
||||
("rust-tectonic-bridge-flate" ,rust-tectonic-bridge-flate-0.1)
|
||||
("rust-tectonic-cfg-support" ,rust-tectonic-cfg-support-0.1)
|
||||
("rust-tectonic-dep-support" ,rust-tectonic-dep-support-0.1))))
|
||||
@ -58824,29 +58838,36 @@ types for reporting status messages to a user.")
|
||||
used by XeTeX and Tectonic.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public rust-tectonic-xetex-layout-0.1
|
||||
(define-public rust-tectonic-xetex-layout-0.2
|
||||
(package
|
||||
(name "rust-tectonic-xetex-layout")
|
||||
(version "0.1.0")
|
||||
(version "0.2.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "tectonic_xetex_layout" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "063fq6bhhqac30bg6vmcfpd9zikn0p6rd189avz0f34ka4mir0yi"))))
|
||||
(base32 "102z52hhazz2b2qsbr93dn2y4q0103s548ixzws40il7imzg99ly"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(#:skip-build? #t
|
||||
#:cargo-inputs
|
||||
`(#:cargo-inputs
|
||||
(("rust-cc" ,rust-cc-1)
|
||||
("rust-tectonic-bridge-core" ,rust-tectonic-bridge-core-0.1)
|
||||
("rust-tectonic-bridge-core" ,rust-tectonic-bridge-core-0.3)
|
||||
("rust-tectonic-bridge-freetype2" ,rust-tectonic-bridge-freetype2-0.2)
|
||||
("rust-tectonic-bridge-graphite2" ,rust-tectonic-bridge-graphite2-0.2)
|
||||
("rust-tectonic-bridge-harfbuzz" ,rust-tectonic-bridge-harfbuzz-0.2)
|
||||
("rust-tectonic-bridge-icu" ,rust-tectonic-bridge-icu-0.2)
|
||||
("rust-tectonic-cfg-support" ,rust-tectonic-cfg-support-0.1)
|
||||
("rust-tectonic-dep-support" ,rust-tectonic-dep-support-0.1))))
|
||||
(native-inputs
|
||||
(list pkg-config))
|
||||
(inputs
|
||||
(list fontconfig
|
||||
freetype
|
||||
graphite2
|
||||
icu4c
|
||||
zlib))
|
||||
(home-page "https://tectonic-typesetting.github.io/")
|
||||
(synopsis "XeTeX's font loading and layout interface encapsulation")
|
||||
(description
|
||||
|
@ -16,7 +16,7 @@
|
||||
;;; Copyright © 2019 John Soo <jsoo1@asu.edu>
|
||||
;;; 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, 2023 Marius Bakke <marius@gnu.org>
|
||||
;;; Copyright © 2020, 2021 Ekaitz Zarraga <ekaitz@elenq.tech>
|
||||
;;; Copyright © 2020 B. Wilson <elaexuotee@wilsonb.com>
|
||||
;;; Copyright © 2020, 2021, 2022 Vinicius Monego <monego@posteo.net>
|
||||
@ -81,6 +81,7 @@
|
||||
#:use-module (gnu packages c)
|
||||
#:use-module (gnu packages check)
|
||||
#:use-module (gnu packages cmake)
|
||||
#:use-module (gnu packages code)
|
||||
#:use-module (gnu packages commencement)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages cpp)
|
||||
@ -2290,7 +2291,7 @@ engineers for reverse engineers.")
|
||||
(define-public lib3mf
|
||||
(package
|
||||
(name "lib3mf")
|
||||
(version "2.1.1")
|
||||
(version "2.2.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@ -2299,20 +2300,48 @@ engineers for reverse engineers.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1417xlxc1y5jnipixhbjfrrjgkrprbbraj8647sff9051m3hpxc3"))))
|
||||
"05zqvnzmi7j8rhp2mrskvxf1bxl7kb4c72dfx4y86219i1hx7i2q"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
;; Delete pre-compiled ACT.
|
||||
(delete-file-recursively "AutomaticComponentToolkit/bin")
|
||||
|
||||
;; Remove bundled software. Preserve cpp-base64 as it has been
|
||||
;; modified and cannot easily be unbundled.
|
||||
(for-each delete-file-recursively
|
||||
'("Include/Libraries/libzip"
|
||||
"Include/Libraries/zlib"
|
||||
"Source/Libraries/libzip"
|
||||
"Source/Libraries/zlib"))
|
||||
|
||||
;; Adjust header includes such that system headers are found.
|
||||
(substitute* '("Include/Common/OPC/NMR_OpcPackageReader.h"
|
||||
"Include/Common/Platform/NMR_ImportStream_ZIP.h"
|
||||
"Include/Common/Platform/NMR_ExportStream_ZIP.h"
|
||||
"Include/Common/Platform/NMR_ImportStream_Compressed.h"
|
||||
"Include/Common/Platform/NMR_ExportStream_Compressed.h"
|
||||
"Source/Common/Platform/NMR_PortableZIPWriterEntry.cpp")
|
||||
(("Libraries/libzip/") "")
|
||||
(("Libraries/zlib/") ""))))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags (list "-DUSE_INCLUDED_ZLIB=0"
|
||||
"-DUSE_INCLUDED_LIBZIP=0"
|
||||
"-DUSE_INCLUDED_GTEST=0"
|
||||
"-DUSE_INCLUDED_SSL=0")))
|
||||
"-DUSE_INCLUDED_SSL=0")
|
||||
#:phases (modify-phases %standard-phases
|
||||
(add-after 'unpack 'provide-act
|
||||
(lambda* (#:key native-inputs inputs #:allow-other-keys)
|
||||
(let ((act (search-input-file (or native-inputs inputs)
|
||||
"bin/act"))
|
||||
(dir "AutomaticComponentToolkit/bin"))
|
||||
(mkdir-p dir)
|
||||
(symlink act (string-append dir "/act.linux"))))))))
|
||||
(native-inputs
|
||||
(list googletest pkg-config))
|
||||
(list automatic-component-toolkit googletest pkg-config))
|
||||
(inputs
|
||||
`(("libuuid" ,util-linux "lib")
|
||||
("libzip" ,libzip)
|
||||
("libressl" ,libressl)
|
||||
("zlib" ,zlib)))
|
||||
(list `(,util-linux "lib") libzip libressl zlib))
|
||||
(synopsis "Implementation of the 3D Manufacturing Format (3MF) file standard")
|
||||
(description
|
||||
"Lib3MF is a C++ implementation of the 3D Manufacturing Format (3MF) file
|
||||
|
@ -146,6 +146,7 @@ them as it goes.")
|
||||
(uri (pypi-uri "afdko" version))
|
||||
(sha256
|
||||
(base32 "0k1204vykgx32saa495s1lgmz1dixcp8bjiv486imx77killvm02"))
|
||||
(patches (search-patches "python-afdko-suppress-copyright-test.patch"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
#~(begin
|
||||
|
@ -26,6 +26,7 @@
|
||||
#:use-module (guix build-system ant)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages java)
|
||||
#:use-module (gnu packages java-xml)
|
||||
#:use-module (gnu packages xml))
|
||||
|
||||
(define java-groovy-bootstrap
|
||||
|
@ -18,6 +18,7 @@
|
||||
;;; Copyright © 2021 EuAndreh <eu@euandre.org>
|
||||
;;; Copyright © 2021 Stefan Reichör <stefan@xsteve.at>
|
||||
;;; Copyright © 2021 Morgan Smith <Morgan.J.Smith@outlook.com>
|
||||
;;; Copyright © 2022 David Thompson <dthompson2@worcester.edu>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@ -42,6 +43,7 @@
|
||||
#:use-module (guix build-system haskell)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages curl)
|
||||
#:use-module (gnu packages freedesktop)
|
||||
#:use-module (gnu packages gl)
|
||||
#:use-module (gnu packages haskell)
|
||||
#:use-module (gnu packages haskell-check)
|
||||
@ -327,6 +329,13 @@ to @code{cabal repl}).")
|
||||
(copy-file "Utility/Shell.hs" "/tmp/Shell.hs")
|
||||
(substitute* "Utility/Shell.hs"
|
||||
(("/bin/sh") (which "sh")))))
|
||||
(add-before 'configure 'patch-webapp
|
||||
(lambda _
|
||||
;; Replace loose references to xdg-open so that 'git annex
|
||||
;; webapp' runs without making the user also install xdg-utils.
|
||||
(substitute* '("Assistant/WebApp/DashBoard.hs"
|
||||
"Utility/WebApp.hs")
|
||||
(("xdg-open") (which "xdg-open")))))
|
||||
(add-before 'configure 'factor-setup
|
||||
(lambda _
|
||||
;; Factor out necessary build logic from the provided
|
||||
@ -471,7 +480,8 @@ to @code{cabal repl}).")
|
||||
ghc-yesod-core
|
||||
ghc-yesod-form
|
||||
ghc-yesod-static
|
||||
rsync))
|
||||
rsync
|
||||
xdg-utils))
|
||||
(propagated-inputs
|
||||
(list git))
|
||||
(native-inputs
|
||||
|
724
gnu/packages/java-bootstrap.scm
Normal file
724
gnu/packages/java-bootstrap.scm
Normal file
@ -0,0 +1,724 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019, 2021 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2021 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
|
||||
;;; Copyright © 2017, 2022 Marius Bakke <marius@gnu.org>
|
||||
;;; Copyright © 2018, 2020 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2018 Gábor Boskovits <boskovits@gmail.com>
|
||||
;;; Copyright © 2018 Mark H Weaver <mhw@netris.org>
|
||||
;;; Copyright © 2019 Andrius Štikonas <andrius@stikonas.eu>
|
||||
;;; Copyright © 2020 Simon South <simon@simonsouth.net>
|
||||
;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
;;; GNU Guix is free software; you can redistribute it and/or modify it
|
||||
;;; under the terms of the GNU General Public License as published by
|
||||
;;; the Free Software Foundation; either version 3 of the License, or (at
|
||||
;;; your option) any later version.
|
||||
;;;
|
||||
;;; GNU Guix is distributed in the hope that it will be useful, but
|
||||
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
;;; GNU General Public License for more details.
|
||||
;;;
|
||||
;;; You should have received a copy of the GNU General Public License
|
||||
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu packages java-bootstrap)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix packages)
|
||||
#: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 (guix build-system trivial)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages autotools)
|
||||
#:use-module (gnu packages bash)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages gettext)
|
||||
#:use-module (gnu packages guile)
|
||||
#:use-module (gnu packages libffi)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages texinfo)
|
||||
#:export (classpath-devel
|
||||
ecj4-javac-wrapper
|
||||
jamvm-with-ecj4
|
||||
ant-bootstrap))
|
||||
|
||||
|
||||
;;;
|
||||
;;; Java bootstrap toolchain.
|
||||
;;;
|
||||
|
||||
;; The Java bootstrap begins with Jikes, a Java compiler written in C++. We
|
||||
;; use it to build a simple version of GNU Classpath, the Java standard
|
||||
;; library. We chose version 0.93 because it is the last version that can be
|
||||
;; built with Jikes. With Jikes and this version of GNU Classpath we can
|
||||
;; build JamVM, a Java Virtual Machine. We build version 1.5.1 because it is
|
||||
;; the last version of JamVM that works with a version of GNU classpath that
|
||||
;; does not require ECJ. These three packages make up the bootstrap JDK.
|
||||
|
||||
;; This is sufficient to build an older version of Ant, which is needed to
|
||||
;; build an older version of ECJ, an incremental Java compiler, both of which
|
||||
;; are written in Java.
|
||||
;;
|
||||
;; ECJ is needed to build the latest release (0.99) and the development
|
||||
;; version of GNU Classpath. The development version of GNU Classpath has
|
||||
;; much more support for Java 1.6 than the latest release, but we need to
|
||||
;; build 0.99 first to get a working version of javah. ECJ, the development
|
||||
;; version of GNU Classpath, and the latest version of JamVM make up the
|
||||
;; second stage JDK with which we can build the OpenJDK with the Icedtea 2.x
|
||||
;; build framework. We then build the more recent JDK Icedtea 3.x, and all
|
||||
;; other versions of OpenJDK.
|
||||
|
||||
(define jikes
|
||||
(package
|
||||
(name "jikes")
|
||||
(version "1.22")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/jikes/Jikes/"
|
||||
version "/jikes-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"1qqldrp74pzpy5ly421srqn30qppmm9cvjiqdngk8hf47dv2rc0c"))))
|
||||
(build-system gnu-build-system)
|
||||
(home-page "http://jikes.sourceforge.net/")
|
||||
(synopsis "Compiler for the Java language")
|
||||
(description "Jikes is a compiler that translates Java source files as
|
||||
defined in The Java Language Specification into the bytecoded instruction set
|
||||
and binary format defined in The Java Virtual Machine Specification.")
|
||||
(license license:ibmpl1.0)))
|
||||
|
||||
;; This is the last version of GNU Classpath that can be built without ECJ.
|
||||
(define classpath-bootstrap
|
||||
(package
|
||||
(name "classpath")
|
||||
(version "0.93")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/classpath/classpath-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0i99wf9xd3hw1sj2sazychb9prx8nadxh2clgvk3zlmb28v0jbfz"))
|
||||
(patches (search-patches "classpath-aarch64-support.patch"
|
||||
"classpath-miscompilation.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
(list (string-append "JAVAC="
|
||||
(search-input-file %build-inputs "/bin/jikes"))
|
||||
"--disable-Werror"
|
||||
"--disable-gmp"
|
||||
"--disable-gtk-peer"
|
||||
"--disable-gconf-peer"
|
||||
"--disable-plugin"
|
||||
"--disable-dssi"
|
||||
"--disable-alsa"
|
||||
"--disable-gjdoc")
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'install 'install-data
|
||||
(lambda _ (invoke "make" "install-data"))))))
|
||||
(native-inputs
|
||||
(list jikes fastjar libltdl pkg-config))
|
||||
(home-page "https://www.gnu.org/software/classpath/")
|
||||
(synopsis "Essential libraries for Java")
|
||||
(description "GNU Classpath is a project to create core class libraries
|
||||
for use with runtimes, compilers and tools for the Java programming
|
||||
language.")
|
||||
;; GPLv2 or later, with special linking exception.
|
||||
(license license:gpl2+)))
|
||||
|
||||
;; This is the last version of JamVM that works with a version of GNU
|
||||
;; classpath that does not require ECJ.
|
||||
(define jamvm-1-bootstrap
|
||||
(package
|
||||
(name "jamvm")
|
||||
(version "1.5.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/jamvm/jamvm/"
|
||||
"JamVM%20" version "/jamvm-"
|
||||
version ".tar.gz"))
|
||||
(patches (search-patches "jamvm-1.5.1-aarch64-support.patch"
|
||||
"jamvm-1.5.1-armv7-support.patch"))
|
||||
(sha256
|
||||
(base32
|
||||
"06lhi03l3b0h48pc7x58bk9my2nrcf1flpmglvys3wyad6yraf36"))
|
||||
;; Remove precompiled software.
|
||||
(snippet
|
||||
'(delete-file "lib/classes.zip"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
(list (string-append "--with-classpath-install-dir="
|
||||
(assoc-ref %build-inputs "classpath"))
|
||||
"--disable-int-caching"
|
||||
"--enable-runtime-reloc-checks"
|
||||
"--enable-ffi")
|
||||
#:phases
|
||||
,(if (string-prefix? "aarch64" (or (%current-system)
|
||||
(%current-target-system)))
|
||||
;; Makefiles and the configure script need to be regenerated to
|
||||
;; incorporate support for AArch64.
|
||||
'(modify-phases %standard-phases
|
||||
(replace 'bootstrap
|
||||
(lambda _ (invoke "autoreconf" "-vif"))))
|
||||
'%standard-phases)))
|
||||
(inputs
|
||||
(list classpath-bootstrap jikes libffi
|
||||
zip zlib))
|
||||
(native-inputs
|
||||
(if (string-prefix? "aarch64" (or (%current-system)
|
||||
(%current-target-system)))
|
||||
;; Additional packages needed for autoreconf.
|
||||
`(("autoconf" ,autoconf)
|
||||
("automake" ,automake)
|
||||
("libtool" ,libtool))
|
||||
'()))
|
||||
(home-page "http://jamvm.sourceforge.net/")
|
||||
(synopsis "Small Java Virtual Machine")
|
||||
(description "JamVM is a Java Virtual Machine conforming to the JVM
|
||||
specification edition 2 (blue book). It is extremely small. However, unlike
|
||||
other small VMs it supports the full spec, including object finalisation and
|
||||
JNI.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define ant-bootstrap
|
||||
(package
|
||||
(name "ant-bootstrap")
|
||||
;; The 1.10.x series requires Java 8. 1.9.0 and later use generics, which
|
||||
;; are not supported. The 1.8.x series is the last to use only features
|
||||
;; supported by Jikes.
|
||||
(version "1.8.4")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://apache/"
|
||||
"ant/source/apache-ant-"
|
||||
version "-src.tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"1cg0lga887qz5iizh6mlkxp01lciymrhmp7wzxpl6zpnldxmzrjx"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:modules ((srfi srfi-1)
|
||||
(guix build gnu-build-system)
|
||||
(guix build utils))
|
||||
#:tests? #f ; no "check" target
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'bootstrap)
|
||||
(delete 'configure)
|
||||
(add-before 'build 'define-java-environment-variables
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
;; First, set environment variables (eases debugging on -K).
|
||||
(setenv "JAVA_HOME" (assoc-ref inputs "jamvm"))
|
||||
(setenv "JAVACMD" (search-input-file inputs "/bin/jamvm"))
|
||||
(setenv "JAVAC" (search-input-file inputs "/bin/jikes"))
|
||||
(setenv "CLASSPATH" (search-input-file inputs "/lib/rt.jar"))))
|
||||
(replace 'build
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
;; Ant complains if this file doesn't exist.
|
||||
(setenv "HOME" "/tmp")
|
||||
(with-output-to-file "/tmp/.ant.properties"
|
||||
(lambda _ (display "")))
|
||||
|
||||
;; Use jikes instead of javac for <javac ...> tags in build.xml
|
||||
(setenv "ANT_OPTS" "-Dbuild.compiler=jikes")
|
||||
|
||||
;; jikes produces lots of warnings, but they are not very
|
||||
;; interesting, so we silence them.
|
||||
(setenv "$BOOTJAVAC_OPTS" "-nowarn")
|
||||
|
||||
;; Without these JamVM options the build may freeze.
|
||||
(substitute* "bootstrap.sh"
|
||||
(("^\"\\$\\{JAVACMD\\}\" " m)
|
||||
,@(if (string-prefix? "armhf" (or (%current-system)
|
||||
(%current-target-system)))
|
||||
`((string-append m "-Xnocompact "))
|
||||
`((string-append m "-Xnocompact -Xnoinlining ")))))
|
||||
|
||||
;; Disable tests because we are bootstrapping and thus don't have
|
||||
;; any of the dependencies required to build and run the tests.
|
||||
(substitute* "build.xml"
|
||||
(("depends=\"jars,test-jar\"") "depends=\"jars\""))
|
||||
(invoke "bash" "bootstrap.sh"
|
||||
(string-append "-Ddist.dir="
|
||||
(assoc-ref outputs "out")))))
|
||||
(add-after 'build 'strip-jar-timestamps ;based on ant-build-system
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(define (repack-archive jar)
|
||||
(let* ((dir (mkdtemp "jar-contents.XXXXXX"))
|
||||
(manifest (string-append dir "/META-INF/MANIFESTS.MF")))
|
||||
(with-directory-excursion dir
|
||||
(invoke "unzip" jar))
|
||||
(delete-file jar)
|
||||
;; XXX: copied from (gnu build install)
|
||||
(for-each (lambda (file)
|
||||
(let ((s (lstat file)))
|
||||
(unless (eq? (stat:type s) 'symlink)
|
||||
(utime file 0 0 0 0))))
|
||||
(find-files dir #:directories? #t))
|
||||
;; It is important that the manifest appears first.
|
||||
(with-directory-excursion dir
|
||||
(let* ((files (find-files "." ".*" #:directories? #t))
|
||||
;; To ensure that the reference scanner can
|
||||
;; detect all store references in the jars
|
||||
;; we disable compression with the "-0" option.
|
||||
(command (if (file-exists? manifest)
|
||||
`("zip" "-0" "-X" ,jar ,manifest
|
||||
,@files)
|
||||
`("zip" "-0" "-X" ,jar ,@files))))
|
||||
(apply invoke command)))))
|
||||
(for-each repack-archive
|
||||
(find-files
|
||||
(string-append (assoc-ref %outputs "out") "/lib")
|
||||
"\\.jar$"))))
|
||||
(delete 'install))))
|
||||
(native-inputs
|
||||
(list jikes jamvm-1-bootstrap unzip zip))
|
||||
(home-page "https://ant.apache.org")
|
||||
(synopsis "Build tool for Java")
|
||||
(description
|
||||
"Ant is a platform-independent build tool for Java. It is similar to
|
||||
make but is implemented using the Java language, requires the Java platform,
|
||||
and is best suited to building Java projects. Ant uses XML to describe the
|
||||
build process and its dependencies, whereas Make uses Makefile format.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
;; Version 3.2.2 is the last version without a dependency on a full-fledged
|
||||
;; compiler for Java 1.5.
|
||||
(define ecj-bootstrap
|
||||
(package
|
||||
(name "ecj-bootstrap")
|
||||
(version "3.2.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://archive.eclipse.org/eclipse/"
|
||||
"downloads/drops/R-" version
|
||||
"-200702121330/ecjsrc.zip"))
|
||||
(sha256
|
||||
(base32
|
||||
"05hj82kxd23qaglsjkaqcj944riisjha7acf7h3ljhrjyljx8307"))))
|
||||
;; It would be so much easier if we could use the ant-build-system, but we
|
||||
;; cannot as we don't have ant at this point. We use ecj for
|
||||
;; bootstrapping the JDK.
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; there are no tests
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'configure
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(setenv "CLASSPATH"
|
||||
(string-join
|
||||
(cons (search-input-file inputs "/lib/rt.jar")
|
||||
(find-files (string-append
|
||||
(assoc-ref inputs "ant-bootstrap")
|
||||
"/lib")
|
||||
"\\.jar$"))
|
||||
":"))))
|
||||
(replace 'build
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
;; The unpack phase enters the "org" directory by mistake.
|
||||
(chdir "..")
|
||||
|
||||
;; Create a simple manifest to make ecj executable.
|
||||
(with-output-to-file "manifest"
|
||||
(lambda _
|
||||
(display "Manifest-Version: 1.0
|
||||
Main-Class: org.eclipse.jdt.internal.compiler.batch.Main\n")))
|
||||
|
||||
;; Compile it all!
|
||||
(and (apply invoke "jikes"
|
||||
(find-files "." "\\.java$"))
|
||||
(invoke "fastjar" "cvfm"
|
||||
"ecj-bootstrap.jar" "manifest" "."))))
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((share (string-append (assoc-ref outputs "out")
|
||||
"/share/java/")))
|
||||
(mkdir-p share)
|
||||
(install-file "ecj-bootstrap.jar" share)))))))
|
||||
(native-inputs
|
||||
(list ant-bootstrap
|
||||
unzip
|
||||
jikes
|
||||
jamvm-1-bootstrap
|
||||
fastjar))
|
||||
(home-page "https://eclipse.org")
|
||||
(synopsis "Eclipse Java development tools core batch compiler")
|
||||
(description "This package provides the Eclipse Java core batch compiler
|
||||
for bootstrapping purposes. The @dfn{Eclipse compiler for Java} (ecj) is a
|
||||
requirement for all GNU Classpath releases after version 0.93.")
|
||||
(license license:epl1.0)))
|
||||
|
||||
(define ecj-javac-wrapper
|
||||
(package (inherit ecj-bootstrap)
|
||||
(name "ecj-javac-wrapper")
|
||||
(source #f)
|
||||
(build-system trivial-build-system)
|
||||
(arguments
|
||||
`(#:modules ((guix build utils))
|
||||
#:builder
|
||||
,#~(begin
|
||||
(use-modules (guix build utils))
|
||||
(let* ((bin (string-append #$output "/bin"))
|
||||
(target (string-append bin "/javac"))
|
||||
(guile (string-append (assoc-ref %build-inputs "guile")
|
||||
"/bin/guile"))
|
||||
(ecj (string-append #$(this-package-native-input "ecj-bootstrap")
|
||||
"/share/java/ecj-bootstrap.jar"))
|
||||
(java (string-append #$(this-package-native-input "jamvm")
|
||||
"/bin/jamvm"))
|
||||
(bootcp (let ((jvmlib (string-append
|
||||
#$(this-package-native-input "classpath")
|
||||
"/share/classpath")))
|
||||
(string-append jvmlib "/glibj.zip:"
|
||||
jvmlib "/tools.zip"))))
|
||||
(mkdir-p bin)
|
||||
(with-output-to-file target
|
||||
(lambda _
|
||||
(format #t "#!~a --no-auto-compile\n!#\n" guile)
|
||||
(write
|
||||
`(begin (use-modules (ice-9 match)
|
||||
(ice-9 receive)
|
||||
(ice-9 hash-table)
|
||||
(srfi srfi-1)
|
||||
(srfi srfi-26))
|
||||
(define defaults
|
||||
'(("-bootclasspath" ,bootcp)
|
||||
("-source" "1.5")
|
||||
("-target" "1.5")
|
||||
("-cp" ".")))
|
||||
(define (main args)
|
||||
(let ((classpath (getenv "CLASSPATH")))
|
||||
(setenv "CLASSPATH"
|
||||
(string-join (list ,ecj (or classpath ""))
|
||||
":")))
|
||||
(receive (vm-args other-args)
|
||||
;; Separate VM arguments from arguments to ECJ.
|
||||
(partition (cut string-prefix? "-J" <>)
|
||||
(fold (lambda (default acc)
|
||||
(if (member (first default) acc)
|
||||
acc (append default acc)))
|
||||
args defaults))
|
||||
(apply system* ,java
|
||||
(append
|
||||
;; Remove "-J" prefix
|
||||
(map (cut string-drop <> 2) vm-args)
|
||||
'("org.eclipse.jdt.internal.compiler.batch.Main")
|
||||
(cons "-nowarn" other-args)))))
|
||||
;; Entry point
|
||||
(let ((args (cdr (command-line))))
|
||||
(if (null? args)
|
||||
(format (current-error-port) "javac: no arguments given!\n")
|
||||
(main args)))))))
|
||||
(chmod target #o755)))))
|
||||
(native-inputs
|
||||
(list guile-3.0 ecj-bootstrap jamvm-1-bootstrap classpath-bootstrap))
|
||||
(description "This package provides a wrapper around the @dfn{Eclipse
|
||||
compiler for Java} (ecj) with a command line interface that is compatible with
|
||||
the standard javac executable.")))
|
||||
|
||||
;; The classpath-bootstrap was built without a virtual machine, so it does not
|
||||
;; provide a wrapper for javah. We cannot build the development version of
|
||||
;; Classpath without javah.
|
||||
(define classpath-0.99
|
||||
(package (inherit classpath-bootstrap)
|
||||
(version "0.99")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/classpath/classpath-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1j7cby4k66f1nvckm48xcmh352b1d1b33qk7l6hi7dp9i9zjjagr"))
|
||||
(patches (search-patches "classpath-aarch64-support.patch"))))
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
(list (string-append "--with-ecj-jar="
|
||||
(assoc-ref %build-inputs "ecj-bootstrap")
|
||||
"/share/java/ecj-bootstrap.jar")
|
||||
(string-append "JAVAC="
|
||||
(assoc-ref %build-inputs "ecj-javac-wrapper")
|
||||
"/bin/javac")
|
||||
(string-append "JAVA="
|
||||
(assoc-ref %build-inputs "jamvm")
|
||||
"/bin/jamvm")
|
||||
"GCJ_JAVAC_TRUE=no"
|
||||
"ac_cv_prog_java_works=yes" ; trust me
|
||||
"--disable-Werror"
|
||||
"--disable-gmp"
|
||||
"--disable-gtk-peer"
|
||||
"--disable-gconf-peer"
|
||||
"--disable-plugin"
|
||||
"--disable-dssi"
|
||||
"--disable-alsa"
|
||||
"--disable-gjdoc")
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'install 'install-data
|
||||
(lambda _ (invoke "make" "install-data"))))))
|
||||
(native-inputs
|
||||
(list classpath-bootstrap
|
||||
ecj-bootstrap ecj-javac-wrapper
|
||||
fastjar jamvm-1-bootstrap
|
||||
libltdl pkg-config))))
|
||||
|
||||
;; We need this because classpath-bootstrap does not provide all of the tools
|
||||
;; we need to build classpath-devel.
|
||||
(define classpath-jamvm-wrappers
|
||||
(package (inherit classpath-0.99)
|
||||
(name "classpath-jamvm-wrappers")
|
||||
(source #f)
|
||||
(build-system trivial-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:modules '((guix build utils))
|
||||
#:builder
|
||||
#~(begin
|
||||
(use-modules (guix build utils))
|
||||
(let ((bash #$(this-package-native-input "bash-minimal"))
|
||||
(jamvm #$(this-package-native-input "jamvm"))
|
||||
(classpath #$(this-package-native-input "classpath"))
|
||||
(bin (string-append #$output "/bin/")))
|
||||
(mkdir-p bin)
|
||||
(for-each (lambda (tool)
|
||||
(with-output-to-file (string-append bin tool)
|
||||
(lambda _
|
||||
#$@(if (string-prefix? "armhf" (or (%current-system)
|
||||
(%current-target-system)))
|
||||
`((format #t "#!~a/bin/sh
|
||||
~a/bin/jamvm -Xnocompact -classpath ~a/share/classpath/tools.zip \
|
||||
gnu.classpath.tools.~a.~a $@"
|
||||
bash jamvm classpath tool
|
||||
(if (string=? "native2ascii" tool)
|
||||
"Native2ASCII" "Main")))
|
||||
`((format #t "#!~a/bin/sh
|
||||
~a/bin/jamvm -Xnocompact -Xnoinlining -classpath ~a/share/classpath/tools.zip \
|
||||
gnu.classpath.tools.~a.~a $@"
|
||||
bash jamvm classpath tool
|
||||
(if (string=? "native2ascii" tool)
|
||||
"Native2ASCII" "Main"))))))
|
||||
(chmod (string-append bin tool) #o755))
|
||||
(list "javah"
|
||||
"rmic"
|
||||
"rmid"
|
||||
"orbd"
|
||||
"rmiregistry"
|
||||
"native2ascii"))))))
|
||||
(native-inputs
|
||||
(list bash-minimal jamvm-1-bootstrap classpath-0.99))
|
||||
(inputs '())
|
||||
(synopsis "Executables from GNU Classpath")
|
||||
(description "This package provides wrappers around the tools provided by
|
||||
the GNU Classpath library. They are executed by the JamVM virtual
|
||||
machine.")))
|
||||
|
||||
;; The last release of GNU Classpath is 0.99 and it happened in 2012. Since
|
||||
;; then Classpath has gained much more support for Java 1.6.
|
||||
(define classpath-devel
|
||||
(let ((commit "e7c13ee0cf2005206fbec0eca677f8cf66d5a103")
|
||||
(revision "1"))
|
||||
(package (inherit classpath-bootstrap)
|
||||
(version (string-append "0.99-" revision "." (string-take commit 9)))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://git.savannah.gnu.org/git/classpath.git")
|
||||
(commit commit)))
|
||||
(file-name (string-append "classpath-" version "-checkout"))
|
||||
(sha256
|
||||
(base32
|
||||
"1v2rww76ww322mpg3s12a1kkc6gkp31bm9gcxs532h0wq285fiw4"))
|
||||
(patches (search-patches "classpath-aarch64-support.patch"))))
|
||||
(arguments
|
||||
`(#:make-flags
|
||||
;; Ensure that the initial heap size is smaller than the maximum
|
||||
;; size. By default only Xmx is set, which can lead to invalid
|
||||
;; memory settings on some machines with a lot of memory.
|
||||
'("JAVAC_MEM_OPT=-J-Xms512M -J-Xmx768M")
|
||||
#:configure-flags
|
||||
(list (string-append "--with-ecj-jar="
|
||||
(assoc-ref %build-inputs "ecj-bootstrap")
|
||||
"/share/java/ecj-bootstrap.jar")
|
||||
(string-append "--with-javac="
|
||||
(assoc-ref %build-inputs "ecj-javac-wrapper")
|
||||
"/bin/javac")
|
||||
(string-append "JAVA="
|
||||
(assoc-ref %build-inputs "jamvm")
|
||||
"/bin/jamvm")
|
||||
"GCJ_JAVAC_TRUE=no"
|
||||
"ac_cv_prog_java_works=yes" ; trust me
|
||||
"--disable-Werror"
|
||||
"--disable-gmp"
|
||||
"--disable-gtk-peer"
|
||||
"--disable-gconf-peer"
|
||||
"--disable-plugin"
|
||||
"--disable-dssi"
|
||||
"--disable-alsa"
|
||||
"--disable-gjdoc")
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
;; XXX The bootstrap phase executes autogen.sh, which fails after
|
||||
;; complaining about the lack of gettext.
|
||||
(replace 'bootstrap
|
||||
(lambda _ (invoke "autoreconf" "-vif")))
|
||||
(add-after 'unpack 'remove-unsupported-annotations
|
||||
(lambda _
|
||||
(substitute* (find-files "java" "\\.java$")
|
||||
(("@Override") ""))))
|
||||
(add-after 'install 'install-data
|
||||
(lambda _ (invoke "make" "install-data"))))))
|
||||
(native-inputs
|
||||
(list autoconf automake libltdl libtool gettext-minimal texinfo
|
||||
pkg-config
|
||||
classpath-jamvm-wrappers ;for javah
|
||||
ecj-bootstrap ecj-javac-wrapper fastjar
|
||||
jamvm-1-bootstrap)))))
|
||||
|
||||
(define jamvm
|
||||
(package (inherit jamvm-1-bootstrap)
|
||||
(version "2.0.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/jamvm/jamvm/"
|
||||
"JamVM%20" version "/jamvm-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1nl0zxz8y5x8gwsrm7n32bry4dx8x70p8z3s9jbdvs8avyb8whkn"))
|
||||
(patches
|
||||
(search-patches "jamvm-2.0.0-disable-branch-patching.patch"
|
||||
"jamvm-2.0.0-opcode-guard.patch"
|
||||
"jamvm-2.0.0-aarch64-support.patch"))
|
||||
;; Remove precompiled software.
|
||||
(snippet
|
||||
'(delete-file "src/classlib/gnuclasspath/lib/classes.zip"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments jamvm-1-bootstrap)
|
||||
((#:configure-flags _)
|
||||
'(list (string-append "--with-classpath-install-dir="
|
||||
(assoc-ref %build-inputs "classpath"))))))
|
||||
(inputs
|
||||
`(("classpath" ,classpath-devel)
|
||||
("ecj-javac-wrapper" ,ecj-javac-wrapper)
|
||||
("zip" ,zip)
|
||||
("zlib" ,zlib)))))
|
||||
|
||||
(define ecj-javac-wrapper-final
|
||||
(package (inherit ecj-javac-wrapper)
|
||||
(native-inputs
|
||||
(list guile-3.0 ecj-bootstrap jamvm classpath-devel))))
|
||||
|
||||
;; We jump ahead by patching the sources of ECJ 4.2.1 so that our bootstrap
|
||||
;; JDK can build it. ECJ 4 allows us to skip the build of the first version
|
||||
;; of icedtea and build icedtea 2.x directly.
|
||||
(define ecj4-bootstrap
|
||||
(package
|
||||
(name "ecj-bootstrap")
|
||||
(version "4.2.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://archive.eclipse.org/eclipse/"
|
||||
"downloads/drops4/R-" version
|
||||
"-201209141800/ecjsrc-" version ".jar"))
|
||||
(sha256
|
||||
(base32
|
||||
"1x281p87m14zylvinkiz6gc23ss7pzlx419qjbql11jriwav4qfj"))))
|
||||
;; It would be so much easier if we could use the ant-build-system, but we
|
||||
;; cannot as we don't have ant at this point. We use ecj for
|
||||
;; bootstrapping the JDK.
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; there are no tests
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'unpack
|
||||
(lambda* (#:key source #:allow-other-keys)
|
||||
(mkdir "src")
|
||||
(with-directory-excursion "src"
|
||||
(invoke "gjar" "-xf" source))
|
||||
(chdir "src")))
|
||||
(replace 'configure
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(setenv "CLASSPATH"
|
||||
(string-join
|
||||
(cons (search-input-file inputs "/lib/rt.jar")
|
||||
(find-files (string-append
|
||||
(assoc-ref inputs "ant-bootstrap")
|
||||
"/lib")
|
||||
"\\.jar$"))
|
||||
":"))
|
||||
;; This directive is not supported by our simple bootstrap JDK.
|
||||
(substitute* (find-files "." "\\.java$")
|
||||
(("@Override") ""))))
|
||||
(replace 'build
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
;; We can't compile these yet, but we don't need them at this
|
||||
;; point anyway.
|
||||
(delete-file "org/eclipse/jdt/core/JDTCompilerAdapter.java")
|
||||
(delete-file-recursively "org/eclipse/jdt/internal/antadapter")
|
||||
|
||||
;; Create a simple manifest to make ecj executable.
|
||||
(mkdir-p "META-INF")
|
||||
(with-output-to-file "META-INF/MANIFESTS.MF"
|
||||
(lambda _
|
||||
(display "Manifest-Version: 1.0
|
||||
Main-Class: org.eclipse.jdt.internal.compiler.batch.Main\n")))
|
||||
|
||||
;; Compile it all!
|
||||
(apply invoke "javac"
|
||||
(find-files "." "\\.java$"))
|
||||
|
||||
;; Pack it all up! We don't use "jar" here, because
|
||||
;; it doesn't produce reproducible zip archives.
|
||||
;; XXX: copied from (gnu build install)
|
||||
(for-each (lambda (file)
|
||||
(let ((s (lstat file)))
|
||||
(unless (eq? (stat:type s) 'symlink)
|
||||
(utime file 0 0 0 0))))
|
||||
(find-files "." #:directories? #t))
|
||||
|
||||
;; It is important that the manifest appears first.
|
||||
(apply invoke "zip" "-0" "-X" "ecj-bootstrap.jar"
|
||||
"META-INF/MANIFESTS.MF"
|
||||
(delete "./META-INF/MANIFESTS.MF"
|
||||
(find-files "." ".*" #:directories? #t)))))
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((share (string-append (assoc-ref outputs "out")
|
||||
"/share/java/")))
|
||||
(mkdir-p share)
|
||||
(install-file "ecj-bootstrap.jar" share)))))))
|
||||
(native-inputs
|
||||
(list ant-bootstrap classpath-devel ecj-javac-wrapper-final jamvm
|
||||
unzip zip))
|
||||
(home-page "https://eclipse.org")
|
||||
(synopsis "Eclipse Java development tools core batch compiler")
|
||||
(description "This package provides the Eclipse Java core batch compiler
|
||||
for bootstrapping purposes. The @dfn{Eclipse compiler for Java} (ecj) is a
|
||||
requirement for all GNU Classpath releases after version 0.93. This version
|
||||
supports sufficient parts of Java 7 to build Icedtea 2.x.")
|
||||
(license license:epl1.0)))
|
||||
|
||||
(define ecj4-javac-wrapper
|
||||
(package
|
||||
(inherit ecj-javac-wrapper)
|
||||
(native-inputs
|
||||
(list guile-3.0 ecj4-bootstrap jamvm classpath-devel))))
|
||||
|
||||
(define jamvm-with-ecj4
|
||||
(package
|
||||
(inherit jamvm)
|
||||
(inputs
|
||||
(modify-inputs (package-inputs jamvm)
|
||||
(replace "ecj-javac-wrapper" ecj4-javac-wrapper)))))
|
||||
|
688
gnu/packages/java-xml.scm
Normal file
688
gnu/packages/java-xml.scm
Normal file
@ -0,0 +1,688 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2017, 2021, 2023 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2017, 2018, 2021 Julien Lepiller <julien@lepiller.eu>
|
||||
;;; Copyright © 2018 Gábor Boskovits <boskovits@gmail.com>
|
||||
;;; Copyright © 2019, 2021 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
|
||||
;;; Copyright © 2021 Léo Le Bouter <lle-bout@zaclys.net>
|
||||
;;; Copyright © 2022 Christopher Baines <mail@cbaines.net>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
;;; GNU Guix is free software; you can redistribute it and/or modify it
|
||||
;;; under the terms of the GNU General Public License as published by
|
||||
;;; the Free Software Foundation; either version 3 of the License, or (at
|
||||
;;; your option) any later version.
|
||||
;;;
|
||||
;;; GNU Guix is distributed in the hope that it will be useful, but
|
||||
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
;;; GNU General Public License for more details.
|
||||
;;;
|
||||
;;; You should have received a copy of the GNU General Public License
|
||||
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu packages java-xml)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages check)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages gtk)
|
||||
#:use-module (gnu packages java)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix build-system ant)
|
||||
#:use-module (guix utils))
|
||||
|
||||
(define-public java-simple-xml
|
||||
(package
|
||||
(name "java-simple-xml")
|
||||
(version "2.7.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/simple/simple-xml-"
|
||||
version ".zip"))
|
||||
(sha256
|
||||
(base32
|
||||
"0w19k1awslmihpwsxwjbg89hv0vjhk4k3i0vrfchy3mqknd988y5"))
|
||||
(patches (search-patches "java-simple-xml-fix-tests.patch"))))
|
||||
(build-system ant-build-system)
|
||||
(arguments
|
||||
`(#:build-target "build"
|
||||
#:test-target "test"
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'install (install-jars "jar"))
|
||||
(add-before 'check 'disable-failing-test
|
||||
(lambda _
|
||||
;; This test sometimes fails with an out of memory exception
|
||||
(delete-file
|
||||
"test/src/org/simpleframework/xml/core/NoAnnotationsRequiredTest.java"))))))
|
||||
(native-inputs
|
||||
(list unzip))
|
||||
(home-page "http://simple.sourceforge.net/")
|
||||
(synopsis "XML serialization framework for Java")
|
||||
(description "Simple is a high performance XML serialization and
|
||||
configuration framework for Java. Its goal is to provide an XML framework
|
||||
that enables rapid development of XML configuration and communication systems.
|
||||
This framework aids the development of XML systems with minimal effort and
|
||||
reduced errors. It offers full object serialization and deserialization,
|
||||
maintaining each reference encountered.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
;; TODO: Debian builds several jars out of this: jaxp-1.4.jar,
|
||||
;; xml-apis.jar and xml-apis-1.4.01.jar.
|
||||
(define-public java-jaxp
|
||||
(package
|
||||
(name "java-jaxp")
|
||||
(version "1.4.01")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://apache/xerces/xml-commons/source/"
|
||||
"xml-commons-external-" version "-src.tar.gz"))
|
||||
(sha256
|
||||
(base32 "0rhq32a7dl9yik7zx9h0naz2iz068qgcdiayak91wp4wr26xhjyk"))))
|
||||
(build-system ant-build-system)
|
||||
(arguments
|
||||
`(#:jar-name "jaxp.jar"
|
||||
#:jdk ,icedtea-8
|
||||
#:source-dir ".."
|
||||
#:tests? #f)); no tests
|
||||
(home-page "http://xerces.apache.org/xml-commons/")
|
||||
(synopsis "Java XML parser and transformer APIs (DOM, SAX, JAXP, TrAX)")
|
||||
(description "Jaxp from the Apache XML Commons project is used by
|
||||
the Xerces-J XML parser and Xalan-J XSLT processor and specifies these APIs:
|
||||
|
||||
@itemize
|
||||
@item Document Object Model (DOM)
|
||||
@item Simple API for XML (SAX)
|
||||
@item Java APIs for XML Processing (JAXP)
|
||||
@item Transformation API for XML (TrAX)
|
||||
@item Document Object Model (DOM) Load and Save
|
||||
@item JSR 206 Java API for XML Processing
|
||||
@end itemize")
|
||||
(license (list license:asl2.0
|
||||
license:w3c ;; Files under org.w3c
|
||||
license:public-domain)))) ;; org.xml.sax
|
||||
|
||||
(define-public java-apache-xml-commons-resolver
|
||||
(package
|
||||
(name "java-apache-xml-commons-resolver")
|
||||
(version "1.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://apache/xerces/xml-commons/"
|
||||
"xml-commons-resolver-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "1zhy4anc3fg9f8y348bj88vmab15aavrg6nf419ifb25asyygnsm"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
(for-each delete-file (find-files "." ".*\\.(jar|zip)"))
|
||||
#t))))
|
||||
(build-system ant-build-system)
|
||||
(arguments
|
||||
`(#:jar-name (string-append "xml-resolver.jar")
|
||||
#:tests? #f)); no tests
|
||||
(inputs
|
||||
(list java-junit))
|
||||
(home-page "http://xerces.apache.org/xml-commons/")
|
||||
(synopsis "Catalog-based entity and URI resolution")
|
||||
(description "The resolver class implements the full semantics of OASIS Technical
|
||||
Resolution 9401:1997 (Amendment 2 to TR 9401) catalogs and the 06 Aug
|
||||
2001 Committee Specification of OASIS XML Catalogs.
|
||||
|
||||
It also includes a framework of classes designed to read catalog files
|
||||
in a number of formats:
|
||||
|
||||
@itemize
|
||||
@item The plain-text flavor described by TR9401.
|
||||
@item The XCatalog XML format defined by John Cowan
|
||||
@item The XML Catalog format defined by the OASIS Entity Resolution
|
||||
Technical Committee.
|
||||
@end itemize")
|
||||
(license license:asl2.0)))
|
||||
|
||||
;; Jaxen requires java-dom4j and java-xom that in turn require jaxen.
|
||||
;; This package is a bootstrap version without dependencies on dom4j and xom.
|
||||
(define java-jaxen-bootstrap
|
||||
(package
|
||||
(name "java-jaxen-bootstrap")
|
||||
(version "1.1.6")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
;; No release on github
|
||||
(uri (string-append "https://repo1.maven.org/maven2/jaxen/jaxen/"
|
||||
version "/jaxen-" version "-sources.jar"))
|
||||
(sha256
|
||||
(base32
|
||||
"18pa8mks3gfhazmkyil8wsp6j1g1x7rggqxfv4k2mnixkrj5x1kx"))))
|
||||
(build-system ant-build-system)
|
||||
(arguments
|
||||
`(#:jar-name "jaxen.jar"
|
||||
#:source-dir "src"
|
||||
#:tests? #f; no tests
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'build 'remove-dom4j
|
||||
(lambda _
|
||||
(delete-file-recursively "src/org/jaxen/dom4j")
|
||||
(delete-file-recursively "src/org/jaxen/xom")
|
||||
#t)))))
|
||||
(inputs
|
||||
`(("java-jdom" ,java-jdom)))
|
||||
(home-page "https://github.com/jaxen-xpath/jaxen")
|
||||
(synopsis "XPath library")
|
||||
(description "Jaxen is an XPath library written in Java. It is adaptable
|
||||
to many different object models, including DOM, XOM, dom4j, and JDOM. It is
|
||||
also possible to write adapters that treat non-XML trees such as compiled
|
||||
Java byte code or Java beans as XML, thus enabling you to query these trees
|
||||
with XPath too.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public java-jaxen
|
||||
(package
|
||||
(inherit java-jaxen-bootstrap)
|
||||
(name "java-jaxen")
|
||||
(inputs
|
||||
(list java-jdom java-xom java-dom4j))))
|
||||
|
||||
(define-public java-xom
|
||||
(package
|
||||
(name "java-xom")
|
||||
(version "127")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/elharo/xom")
|
||||
(commit (string-append "XOM_" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1jh6y03g5zzdhsb5jm6ms1xnamr460qmn96y3w6aw0ikfwqlg0bq"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
(for-each delete-file
|
||||
(find-files "." "\\.jar$"))
|
||||
#t))))
|
||||
(build-system ant-build-system)
|
||||
(arguments
|
||||
`(#:jar-name "xom.jar"
|
||||
#:jdk ,icedtea-8
|
||||
#:tests? #f ; no tests
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'make-git-checkout-writable
|
||||
(lambda _
|
||||
(for-each make-file-writable (find-files "."))
|
||||
#t))
|
||||
(add-before 'configure 'fix-tagsoup-dep
|
||||
(lambda _
|
||||
;; FIXME: Where is tagsoup source?
|
||||
(delete-file "src/nu/xom/tools/XHTMLJavaDoc.java")
|
||||
#t)))))
|
||||
(inputs
|
||||
(list java-jdom java-junit java-classpathx-servletapi
|
||||
java-jaxen-bootstrap java-xerces))
|
||||
(home-page "https://xom.nu/")
|
||||
(synopsis "XML Object Model")
|
||||
(description "XOM is a new XML Object Model for processing XML with Java
|
||||
that strives for correctness and simplicity.")
|
||||
;; 2.1 only
|
||||
(license license:lgpl2.1)))
|
||||
|
||||
(define-public java-xsdlib
|
||||
(package
|
||||
(name "java-xsdlib")
|
||||
(version "2013.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://repo1.maven.org/maven2/com/sun/msv/"
|
||||
"datatype/xsd/xsdlib/" version "/xsdlib-"
|
||||
version "-sources.jar"))
|
||||
(sha256
|
||||
(base32
|
||||
"185i48p1xp09wbq03i9zgfl701qa262rq46yf4cajzmk3336kqim"))))
|
||||
(build-system ant-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f; no tests
|
||||
#:jar-name "xsdlib.jar"
|
||||
#:jdk ,icedtea-8))
|
||||
(inputs
|
||||
(list java-xerces))
|
||||
(home-page (string-append "https://web.archive.org/web/20161127144537/"
|
||||
"https://msv.java.net//"))
|
||||
(synopsis "Sun Multi-Schema Validator")
|
||||
(description "Xsdlib contains an implementation of sun.com.msv, an XML
|
||||
validator.")
|
||||
(license license:bsd-2)))
|
||||
|
||||
(define-public java-xpp3
|
||||
(package
|
||||
(name "java-xpp3")
|
||||
(version "1.1.4")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://ci.guix.gnu.org/file/"
|
||||
"xpp3-1.1.4_src.tgz"
|
||||
"/sha256/"
|
||||
"1b99zrhyij5qwyhilyjdl1ykxvhk902vsvflh6gx4fir8hfvdl5p"))
|
||||
(file-name (string-append name "-" version "_src.tgz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1b99zrhyij5qwyhilyjdl1ykxvhk902vsvflh6gx4fir8hfvdl5p"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin ;; Delete bundled jar archives.
|
||||
(for-each delete-file (find-files "." ".*\\.jar"))
|
||||
#t))))
|
||||
(build-system ant-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f; no tests
|
||||
#:build-target "jar"
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'install (install-jars "build")))))
|
||||
(home-page "http://www.extreme.indiana.edu/xgws/xsoap/xpp/")
|
||||
(synopsis "Streaming pull XML parser")
|
||||
(description "Xml Pull Parser (in short XPP) is a streaming pull XML
|
||||
parser and should be used when there is a need to process quickly and
|
||||
efficiently all input elements (for example in SOAP processors). This
|
||||
package is a stable XmlPull parsing engine that is based on ideas from XPP
|
||||
and in particular XPP2 but completely revised and rewritten to take the best
|
||||
advantage of JIT JVMs.")
|
||||
(license (license:non-copyleft "file://LICENSE.txt"))))
|
||||
|
||||
(define-public java-xmlpull2
|
||||
(package
|
||||
(name "java-xmlpull2")
|
||||
(version "2.1.10")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
;; Unfortunately, archive.org does not have a copy of this file.
|
||||
(uri (string-append "https://ftp.fau.de/gentoo/distfiles/"
|
||||
"PullParser" version ".tgz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1kw9nhyqb7bzhn2zjbwlpi5vp5rzj89amzi3hadw2acyh2dmd0md"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin ;; Delete bundled jar archives.
|
||||
(for-each delete-file (find-files "." ".*\\.jar"))
|
||||
#t))))
|
||||
(build-system ant-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f; no tests
|
||||
#:build-target "impl"
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'install (install-jars "build/lib")))))
|
||||
(home-page (string-append "https://web.archive.org/web/20210225153105/"
|
||||
"https://www.extreme.indiana.edu/"))
|
||||
(synopsis "Streaming pull XML parser")
|
||||
(description "Xml Pull Parser (in short XPP) is a streaming pull XML
|
||||
parser and should be used when there is a need to process quickly and
|
||||
efficiently all input elements (for example in SOAP processors). This
|
||||
package is in maintenance mode.")
|
||||
(license (license:non-copyleft "file:///LICENSE.txt"))))
|
||||
|
||||
(define-public java-xmlpull-api-v1
|
||||
(package
|
||||
(name "java-xmlpull-api-v1")
|
||||
(version "1.1.3.4b")
|
||||
(source (origin
|
||||
;; The package is originally from Extreme! Lab, but the website
|
||||
;; is now gone. This repositories contains the sources of the
|
||||
;; latest version.
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/aslom/xmlpull-api-v1")
|
||||
;; No releases, this is the latest commit
|
||||
(commit "abeaa4aa87b2625af70c32f658f44e11355fe568")))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"15bdqxfncnakskna4m9gsh4f9iczxy83qxn2anqiqd15z406a5ih"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
`(begin
|
||||
(delete-file-recursively "lib")
|
||||
(mkdir-p "lib")
|
||||
;; prevents a failure in "dist_lite"
|
||||
(substitute* "build.xml"
|
||||
(("README.html") "README.md"))))))
|
||||
(build-system ant-build-system)
|
||||
(arguments
|
||||
`(#:test-target "junit"
|
||||
#:build-target "dist"
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(doc (string-append out "/share/doc/" ,name "-" ,version))
|
||||
(java (string-append out "/share/java"))
|
||||
(project (string-append
|
||||
"xmlpull_"
|
||||
,(string-join (string-split version #\.) "_"))))
|
||||
(mkdir-p doc)
|
||||
(copy-recursively (string-append "build/dist/" project "/doc/")
|
||||
doc)
|
||||
(mkdir-p java)
|
||||
(copy-file (string-append "build/dist/" project "/" project ".jar")
|
||||
(string-append java "/" project ".jar")))
|
||||
)))))
|
||||
(home-page "https://github.com/aslom/xmlpull-api-v1")
|
||||
(synopsis "XML pull parsing API")
|
||||
(description "XmlPull v1 API is a simple to use XML pull parsing API. XML
|
||||
pull parsing allows incremental (sometimes called streaming) parsing of XML
|
||||
where application is in control - the parsing can be interrupted at any given
|
||||
moment and resumed when application is ready to consume more input.")
|
||||
(license license:public-domain)))
|
||||
|
||||
(define-public java-dom4j
|
||||
(package
|
||||
(name "java-dom4j")
|
||||
(version "2.1.1")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/dom4j/dom4j")
|
||||
(commit (string-append "version-" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0q907srj9v4hwicpcrn4slyld5npf2jv7hzchsgrg29q2xmbwkdl"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin ;; Delete bundled jar archives.
|
||||
(for-each delete-file (find-files "." ".*\\.jar"))
|
||||
#t))))
|
||||
(build-system ant-build-system)
|
||||
(arguments
|
||||
`(#:jar-name "dom4j.jar"
|
||||
#:jdk ,icedtea-8
|
||||
#:source-dir "src/main/java"
|
||||
;; FIXME: Requires xalan, but xalan depends on java-cup which has a
|
||||
;; dependency on itself through jflex.
|
||||
#:tests? #f
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'build 'copy-jaxen-sources
|
||||
;; java-jaxen-bootstrap is not enough. These files have a circular
|
||||
;; dependency and there is no subset of dom4j that would allow
|
||||
;; breaking the circle.
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(mkdir-p "jaxen-sources")
|
||||
(with-directory-excursion "jaxen-sources"
|
||||
(system* "jar" "xf" (assoc-ref inputs "java-jaxen-sources")))
|
||||
(mkdir-p "src/main/java/org/jaxen/dom4j")
|
||||
(copy-file "jaxen-sources/org/jaxen/dom4j/DocumentNavigator.java"
|
||||
"src/main/java/org/jaxen/dom4j/DocumentNavigator.java")
|
||||
(copy-file "jaxen-sources/org/jaxen/dom4j/Dom4jXPath.java"
|
||||
"src/main/java/org/jaxen/dom4j/Dom4jXPath.java")
|
||||
#t))
|
||||
(add-before 'build 'fix-old-xpp2
|
||||
(lambda _
|
||||
;; This package normally depends on xpp2 2.0, but version 2.1.10
|
||||
;; is the only version whose source code is published.
|
||||
(substitute* "src/main/java/org/dom4j/xpp/ProxyXmlStartTag.java"
|
||||
(("public void resetStartTag")
|
||||
"public boolean removeAttributeByRawName(String name) {\n
|
||||
return false;\n
|
||||
}\n
|
||||
public boolean removeAttributeByName(String name, String name2) {\n
|
||||
return false;\n
|
||||
}\n\npublic void resetStartTag")
|
||||
(("Atttribute") "Attribute"))
|
||||
#t)))))
|
||||
(inputs
|
||||
`(("java-jaxen-bootstrap" ,java-jaxen-bootstrap)
|
||||
("java-jaxen-sources" ,(package-source java-jaxen-bootstrap))
|
||||
("java-xmlpull2" ,java-xmlpull2)
|
||||
("java-xpp3" ,java-xpp3)
|
||||
("java-xsdlib" ,java-xsdlib)))
|
||||
(native-inputs
|
||||
(list java-testng java-xerces))
|
||||
(home-page "https://dom4j.github.io/")
|
||||
(synopsis "Flexible XML framework for Java")
|
||||
(description "Dom4j is a flexible XML framework for Java. DOM4J works
|
||||
with DOM, SAX, XPath, and XSLT. It can parse large XML documents with very
|
||||
low memory footprint.")
|
||||
;; some BSD-like 5-clause license
|
||||
(license (license:non-copyleft "file://LICENSE"))))
|
||||
|
||||
(define-public java-kxml2
|
||||
(package
|
||||
(name "java-kxml2")
|
||||
(version "2.4.2")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/stefanhaustein/kxml2")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0g6d8c9r9sh3x04sf4wdpgwvhkqvk11k3kq9skx91i60h4vn01hg"))))
|
||||
(build-system ant-build-system)
|
||||
(arguments
|
||||
`(#:jar-name "kxml2.jar"
|
||||
#:source-dir "src/main/java"
|
||||
#:test-include (list "TestWb.java")
|
||||
;; Test failure: it was expected to get an XML entity but got the
|
||||
;; equivalent Unicode character instead.
|
||||
#:tests? #f
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'make-git-checkout-writable
|
||||
(lambda _
|
||||
(for-each make-file-writable (find-files "."))
|
||||
#t))
|
||||
(add-before 'build 'copy-resources
|
||||
(lambda _
|
||||
(copy-recursively "src/main/resources" "build/classes")
|
||||
#t)))))
|
||||
(inputs
|
||||
(list java-xpp3))
|
||||
(native-inputs
|
||||
(list java-junit))
|
||||
(home-page "http://kxml.org")
|
||||
(synopsis "XML pull parser")
|
||||
(description "kXML is a small XML pull parser, specially designed for
|
||||
constrained environments such as Applets, Personal Java or devices compliant
|
||||
with the Mobile Information Device Profile (MIDP).")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public java-stax
|
||||
(package
|
||||
(name "java-stax")
|
||||
(version "1.2.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://repo1.maven.org/maven2/stax/stax/"
|
||||
version "/stax-" version "-sources.jar"))
|
||||
(sha256
|
||||
(base32
|
||||
"04ba4qvbrps45j8bldbakxq31k7gjlsay9pppa9yn13fr00q586z"))))
|
||||
(build-system ant-build-system)
|
||||
(arguments
|
||||
`(#:jar-name "stax.jar"
|
||||
#:tests? #f; no tests
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'configure 'fix-utf8
|
||||
(lambda _
|
||||
;; This file is ISO-8859-1 but java expects UTF-8.
|
||||
;; Remove special characters in comments.
|
||||
(with-fluids ((%default-port-encoding "ISO-8859-1"))
|
||||
(substitute* "src/com/wutka/dtd/Scanner.java"
|
||||
(("//.*") "\n")))
|
||||
#t)))))
|
||||
(home-page "https://repo1.maven.org/maven2/stax/stax/")
|
||||
(synopsis "Streaming API for XML")
|
||||
(description "This package provides the reference implementation of the
|
||||
@dfn{Streaming API for XML} (StAX). It is used for streaming XML data to
|
||||
and from a Java application. It provides a standard pull parser interface.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public java-jettison
|
||||
(package
|
||||
(name "java-jettison")
|
||||
(version "1.3.7")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/codehaus/jettison")
|
||||
(commit (string-append "jettison-" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"15sydmi5chdh4126qc7v8bsrp7fp4ldaya8a05iby4pq2324q0qw"))))
|
||||
(build-system ant-build-system)
|
||||
(arguments
|
||||
`(#:jar-name "jettison.jar"
|
||||
#:source-dir "src/main/java"
|
||||
#:test-exclude (list "**/Abstract*.java"
|
||||
;; Abstract classes
|
||||
"**/DOMTest.java"
|
||||
"**/BadgerFishDOMTest.java"
|
||||
"**/MappedDOMTest.java")))
|
||||
(native-inputs
|
||||
(list java-junit))
|
||||
(home-page "https://github.com/codehaus/jettison")
|
||||
(synopsis "StAX implementation for JSON")
|
||||
(description "Jettison is a Java library for converting XML to JSON and
|
||||
vice-versa with the help of the @dfn{Streaming API for XML} (StAX). It
|
||||
implements @code{XMLStreamWriter} and @code{XMLStreamReader} and supports
|
||||
@code{Mapped} and @code{BadgerFish} conventions.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public java-jdom2
|
||||
(package
|
||||
(name "java-jdom")
|
||||
(version "2.0.6.1")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/hunterhacker/jdom")
|
||||
(commit (string-append "JDOM-" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1r4pwl0z7hm45v9l2wbq3fjmqi13zmwzbrggyqizrwv31kghhx56"))))
|
||||
(build-system ant-build-system)
|
||||
(arguments
|
||||
`(#:build-target "package"
|
||||
#:tests? #f ; tests are run as part of the build process
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'install
|
||||
(install-jars "build")))))
|
||||
(home-page "http://jdom.org/")
|
||||
(synopsis "Access, manipulate, and output XML data")
|
||||
(description "Jdom is a Java-based solution for accessing, manipulating, and
|
||||
outputting XML data from Java code.")
|
||||
(license license:bsd-4)))
|
||||
|
||||
(define-public java-xstream
|
||||
(package
|
||||
(name "java-xstream")
|
||||
(version "1.4.16")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/x-stream/xstream")
|
||||
(commit (string-append
|
||||
"XSTREAM_"
|
||||
(string-map (lambda (x) (if (eq? x #\.) #\_ x))
|
||||
version)))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "16k2mc63h2fw7lxv74qmhg4p8q9hfrw114daa6nxwnpv08cnq755"))))
|
||||
(build-system ant-build-system)
|
||||
(arguments
|
||||
`(#:jar-name "xstream.jar"
|
||||
;; FIXME: Tests are not in a java subdirectory as assumed by ant-build-system.
|
||||
#:tests? #f
|
||||
#:jdk ,icedtea-8
|
||||
#:source-dir "xstream/src/java"))
|
||||
(inputs
|
||||
`(("java-jdom" ,java-jdom)
|
||||
("java-jdom2" ,java-jdom2)
|
||||
("java-cglib" ,java-cglib)
|
||||
("java-joda-time" ,java-joda-time)
|
||||
("java-jettison" ,java-jettison)
|
||||
("java-xom" ,java-xom)
|
||||
("java-mxparser" ,java-mxparser)
|
||||
("java-xpp3" ,java-xpp3)
|
||||
("java-dom4j" ,java-dom4j)
|
||||
("java-stax2-api" ,java-stax2-api)
|
||||
("java-woodstox-core" ,java-woodstox-core)
|
||||
("java-kxml2" ,java-kxml2)
|
||||
("java-stax" ,java-stax)))
|
||||
(home-page "https://x-stream.github.io")
|
||||
(synopsis "XML serialization library")
|
||||
(description "XStream is a simple library to serialize Java objects to XML
|
||||
and back again.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public java-mxparser
|
||||
(package
|
||||
(name "java-mxparser")
|
||||
(version "1.2.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/x-stream/mxparser")
|
||||
(commit (string-append "v-" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0i3jrjbz4hgf62fm1ix7nlcmhi4kcv4flqsfvh7a3l2v7nsp5ryb"))))
|
||||
(build-system ant-build-system)
|
||||
(arguments
|
||||
`(#:jar-name "mxparser.jar"
|
||||
#:source-dir "src/main/java"
|
||||
#:test-dir "src/test"
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'build 'copy-resources
|
||||
(lambda _
|
||||
(copy-recursively "src/main/resources" "build/classes")
|
||||
#t)))))
|
||||
(propagated-inputs
|
||||
(list java-xmlpull-api-v1))
|
||||
(native-inputs
|
||||
(list java-junit))
|
||||
(home-page "https://github.com/x-stream/mxparser")
|
||||
(synopsis "Streaming pull XML parser forked from @code{java-xpp3}")
|
||||
(description "Xml Pull Parser (in short XPP) is a streaming pull XML
|
||||
parser and should be used when there is a need to process quickly and
|
||||
efficiently all input elements (for example in SOAP processors). This
|
||||
package is a stable XmlPull parsing engine that is based on ideas from XPP
|
||||
and in particular XPP2 but completely revised and rewritten to take the best
|
||||
advantage of JIT JVMs.
|
||||
|
||||
MXParser is a fork of xpp3_min 1.1.7 containing only the parser with merged
|
||||
changes of the Plexus fork. It is an implementation of the XMLPULL V1 API
|
||||
(parser only).")
|
||||
(license (license:non-copyleft "file://LICENSE.txt"))))
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -15,7 +15,7 @@
|
||||
;;; Copyright © 2016, 2018, 2019, 2020, 2021, 2022 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2016 David Craven <david@craven.ch>
|
||||
;;; Copyright © 2016 John Darrington <jmd@gnu.org>
|
||||
;;; Copyright © 2016-2022 Marius Bakke <marius@gnu.org>
|
||||
;;; Copyright © 2016-2023 Marius Bakke <marius@gnu.org>
|
||||
;;; Copyright © 2016, 2018 Rene Saavedra <pacoon@protonmail.com>
|
||||
;;; Copyright © 2016 Carlos Sánchez de La Lama <csanchezdll@gmail.com>
|
||||
;;; Copyright © 2016, 2017 Nikita <nikita@n0.is>
|
||||
@ -588,21 +588,6 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
|
||||
(%upstream-linux-source version hash)
|
||||
deblob-scripts-4.14)))
|
||||
|
||||
(define-public linux-libre-4.9-version "4.9.337")
|
||||
(define-public linux-libre-4.9-gnu-revision "gnu1")
|
||||
(define deblob-scripts-4.9
|
||||
(linux-libre-deblob-scripts
|
||||
linux-libre-4.9-version
|
||||
linux-libre-4.9-gnu-revision
|
||||
(base32 "0nai5m4rbh37qaj1xf2qj7656l2gacfh0847q5d07y22b048fq5n")
|
||||
(base32 "0bib3641dbcqdkx3anna3caxnsg3nw9cnmhcklq0s93g3m57041h")))
|
||||
(define-public linux-libre-4.9-pristine-source
|
||||
(let ((version linux-libre-4.9-version)
|
||||
(hash (base32 "1imkn3dbxsr35br79sp9s2r9hy1xqvsm652icbsf6rn7apnam1ak")))
|
||||
(make-linux-libre-source version
|
||||
(%upstream-linux-source version hash)
|
||||
deblob-scripts-4.9)))
|
||||
|
||||
(define %boot-logo-patch
|
||||
;; Linux-Libre boot logo featuring Freedo and a gnu.
|
||||
(origin
|
||||
@ -671,10 +656,6 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
|
||||
(source-with-patches linux-libre-4.14-pristine-source
|
||||
(list %boot-logo-patch)))
|
||||
|
||||
(define-public linux-libre-4.9-source
|
||||
(source-with-patches linux-libre-4.9-pristine-source
|
||||
(list %boot-logo-patch)))
|
||||
|
||||
|
||||
;;;
|
||||
;;; Kernel headers.
|
||||
@ -787,11 +768,6 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
|
||||
linux-libre-4.14-gnu-revision
|
||||
linux-libre-4.14-source))
|
||||
|
||||
(define-public linux-libre-headers-4.9
|
||||
(make-linux-libre-headers* linux-libre-4.9-version
|
||||
linux-libre-4.9-gnu-revision
|
||||
linux-libre-4.9-source))
|
||||
|
||||
;; The following package is used in the early bootstrap, and thus must be kept
|
||||
;; stable and with minimal build requirements.
|
||||
(define-public linux-libre-headers-5.10.35
|
||||
@ -1159,13 +1135,6 @@ Linux kernel. It has been modified to remove all non-free binary blobs.")
|
||||
"powerpc64le-linux")
|
||||
#:configuration-file kernel-config))
|
||||
|
||||
(define-public linux-libre-4.9
|
||||
(make-linux-libre* linux-libre-4.9-version
|
||||
linux-libre-4.9-gnu-revision
|
||||
linux-libre-4.9-source
|
||||
'("x86_64-linux" "i686-linux" "powerpc64le-linux")
|
||||
#:configuration-file kernel-config))
|
||||
|
||||
;; Linux-Libre-LTS points to the *newest* released long-term support version of
|
||||
;; Linux-Libre.
|
||||
;; Reference: https://jxself.org/linux-libre/
|
||||
@ -6594,30 +6563,20 @@ The following service daemons are also provided:
|
||||
(define-public perftest
|
||||
(package
|
||||
(name "perftest")
|
||||
(version "4.4-0.4")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/linux-rdma/perftest/releases/download/v"
|
||||
version "/perftest-" version ".g0927198.tar.gz"))
|
||||
(sha256
|
||||
(base32 "11ix4h0rrmqqyi84y55a9xnkvwsmwq0sywr46hvxzm4rqz4ma8vq"))))
|
||||
(version "4.5-0.20")
|
||||
(home-page "https://github.com/linux-rdma/perftest")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference (url home-page)
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1hrpzmkz1kq4jwpy6b5fl8073iy7dllcq2hfzdw6waaf5920vd64"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-header-paths
|
||||
(lambda _
|
||||
(substitute* '("src/raw_ethernet_fs_rate.c"
|
||||
"src/raw_ethernet_resources.c"
|
||||
"src/raw_ethernet_resources.h"
|
||||
"src/raw_ethernet_send_burst_lat.c"
|
||||
"src/raw_ethernet_send_bw.c"
|
||||
"src/raw_ethernet_send_lat.c")
|
||||
(("/usr/include/netinet/ip.h") "netinet/ip.h"))
|
||||
#t)))))
|
||||
(inputs (list rdma-core))
|
||||
(home-page "https://github.com/linux-rdma/perftest/")
|
||||
(native-inputs
|
||||
(list autoconf automake libtool))
|
||||
(inputs (list pciutils rdma-core))
|
||||
(synopsis "Open Fabrics Enterprise Distribution (OFED) Performance Tests")
|
||||
(description "This is a collection of tests written over uverbs intended for
|
||||
use as a performance micro-benchmark. The tests may be used for hardware or
|
||||
|
@ -562,11 +562,11 @@ output), and Binutils.")
|
||||
|
||||
(define %llvm-monorepo-hashes
|
||||
'(("14.0.6" . "14f8nlvnmdkp9a9a79wv67jbmafvabczhah8rwnqrgd5g3hfxxxx")
|
||||
("15.0.5" . "1z2szqlanksdmj91590wnxqav5z437mpasg00ghb610xkam2v34m")))
|
||||
("15.0.6" . "13vj0q6if5095a3awq8d97l17qdsc7fks6avkai9k80kl0kzxpv6")))
|
||||
|
||||
(define %llvm-patches
|
||||
'(("14.0.6" . ("clang-14.0-libc-search-path.patch"))
|
||||
("15.0.5" . ("clang-15.0-libc-search-path.patch"))))
|
||||
("15.0.6" . ("clang-15.0-libc-search-path.patch"))))
|
||||
|
||||
(define (llvm-monorepo version)
|
||||
(origin
|
||||
@ -582,7 +582,7 @@ output), and Binutils.")
|
||||
(define-public llvm-15
|
||||
(package
|
||||
(name "llvm")
|
||||
(version "15.0.5")
|
||||
(version "15.0.6")
|
||||
(source (llvm-monorepo version))
|
||||
(build-system cmake-build-system)
|
||||
(outputs '("out" "opt-viewer"))
|
||||
@ -739,7 +739,7 @@ of programming tools as well as libraries with equivalent functionality.")
|
||||
(package-version llvm-15)))
|
||||
(sha256
|
||||
(base32
|
||||
"0sa6si9v7ddsa9vmg6s3918xx969rvck2v1a0g7hb0fp9jk9j4r1")))))
|
||||
"099v2yqg11h0h8qqddzkny6b77pafcr7vy5ksc33kqggji173ccj")))))
|
||||
|
||||
(define-public clang-14
|
||||
(clang-from-llvm
|
||||
|
@ -32,9 +32,9 @@
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages java)
|
||||
#:use-module (gnu packages java-xml)
|
||||
#:use-module (gnu packages maven-parent-pom)
|
||||
#:use-module (gnu packages web)
|
||||
#:use-module (gnu packages xml)
|
||||
#:use-module (ice-9 match))
|
||||
|
||||
(define-public maven-resolver-api
|
||||
|
@ -472,6 +472,31 @@ bunnies, chickens, cows, kittens, rats, sheep, warthogs, penguins and pandas.")
|
||||
(license (list license:cc0 license:expat))
|
||||
(properties `((upstream-name . "TenPlus1/mobs_animal")))))
|
||||
|
||||
(define-public minetest-mobs-monster
|
||||
(package
|
||||
(name "minetest-mobs-monster")
|
||||
;; Upstream does not use version numbers, so use the release title
|
||||
;; from ContentDB instead;
|
||||
(version "2022-12-10")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://notabug.org/TenPlus1/mobs_monster")
|
||||
(commit "1b197f9ae136179a764ef45824464b667ade52e6")))
|
||||
(sha256
|
||||
(base32 "15g8acrzvsiccxchfmgjhyf2lmkbrpdjqv3v7hmqz7xqypi8wm3h"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system minetest-mod-build-system)
|
||||
(propagated-inputs (list minetest-mobs))
|
||||
(home-page "https://notabug.org/TenPlus1/mobs_monster")
|
||||
(synopsis "Add monsters with Mobs Redo on minetest")
|
||||
(description
|
||||
"This Minetest mod adds many types of monsters to Minetest, that live on the
|
||||
surface or deep underground.")
|
||||
(license license:expat)
|
||||
(properties `((upstream-name . "TenPlus1/mobs_monster")))))
|
||||
|
||||
(define-public minetest-pipeworks
|
||||
(package
|
||||
(name "minetest-pipeworks")
|
||||
@ -769,3 +794,25 @@ build your island in the sky. Every 30 seconds you will receive a random
|
||||
block or item from the oneblock to expand the island!")
|
||||
(license license:gpl3+)
|
||||
(properties `((upstream-name . "NO11/oneblock")))))
|
||||
|
||||
(define-public minetest-wielded-light
|
||||
(package
|
||||
(name "minetest-wielded-light")
|
||||
(version "2022-06-24")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/minetest-mods/wielded_light")
|
||||
(commit "b5236562af9772dff8522fe2bda5b5f738e81b88")))
|
||||
(sha256
|
||||
(base32
|
||||
"0m5rf8wkc9iq04xppjfva9d83qmhlnx8fibdbi2d3pkwwl6p2y5c"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system minetest-mod-build-system)
|
||||
(home-page (minetest-topic 19378))
|
||||
(synopsis "Adds shining for wielded and dropped items")
|
||||
(description
|
||||
"With this Minetest extension, all bright nodes lighten the player
|
||||
environment if wielded.")
|
||||
(license license:gpl3+)
|
||||
(properties `((upstream-name . "bell07/wielded_light")))))
|
||||
|
@ -0,0 +1,20 @@
|
||||
Supress copyright check in tests which can differ based on current year.
|
||||
|
||||
https://github.com/adobe-type-tools/afdko/issues/1589
|
||||
|
||||
Adapted from upstream:
|
||||
|
||||
https://github.com/adobe-type-tools/afdko/commit/feebd77d9b6507a0b32f837535511be3c94d9c6f
|
||||
|
||||
diff --git a/tests/tx_test.py b/tests/tx_test.py
|
||||
--- a/tests/tx_test.py
|
||||
+++ b/tests/tx_test.py
|
||||
@@ -1246,7 +1246,7 @@ def test_ufo_fontinfo_parsing(file, msg, ret_code):
|
||||
if (ret_code == 0):
|
||||
expected_path = generate_ps_dump(expected_path)
|
||||
output_path = generate_ps_dump(output_path)
|
||||
- assert differ([expected_path, output_path])
|
||||
+ assert differ([expected_path, output_path, '-s'] + PFA_SKIP)
|
||||
else:
|
||||
arg = [TOOL, '-t1', '-f', ufo_input_path]
|
||||
assert subprocess.call(arg) == 6
|
@ -6,7 +6,7 @@
|
||||
;;; Copyright © 2020 Leo Famulari <leo@famulari.name>
|
||||
;;; Copyright © 2020 Mark H Weaver <mhw@netris.org>
|
||||
;;; Copyright © 2020 Gabriel Arazas <foo.dogsquared@gmail.com>
|
||||
;;; Copyright © 2020-2022 Nicolas Goaziou <mail@nicolasgoaziou.fr>
|
||||
;;; Copyright © 2020-2023 Nicolas Goaziou <mail@nicolasgoaziou.fr>
|
||||
;;; Copyright © 2020 Arun Isaac <arunisaac@systemreboot.net>
|
||||
;;; Copyright © 2021 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2021 Sharlatan Hellseher <sharlatanus@gmail.ccom>
|
||||
@ -1314,14 +1314,14 @@ of the project is to be runnable on untrusted networks without crashing.")
|
||||
(define-public tectonic
|
||||
(package
|
||||
(name "tectonic")
|
||||
(version "0.8.2")
|
||||
(version "0.12.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "tectonic" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "041v887a3aybrkn5fnrjwy95wxfk4npl6lj8ar8dnidjmfh92bka"))))
|
||||
(base32 "1q4mz2c32gfypx33zlzgd1q9h4322jrk13fzvsf8h676ylclqzpc"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(#:cargo-build-flags '("--release" "--features" "external-harfbuzz")
|
||||
@ -1341,18 +1341,17 @@ of the project is to be runnable on untrusted networks without crashing.")
|
||||
("rust-sha2" ,rust-sha2-0.9)
|
||||
("rust-structopt" ,rust-structopt-0.3)
|
||||
("rust-tectonic-bridge-core" ,rust-tectonic-bridge-core-0.3)
|
||||
("rust-tectonic-bundles" ,rust-tectonic-bundles-0.2)
|
||||
("rust-tectonic-docmodel" ,rust-tectonic-docmodel-0.1)
|
||||
("rust-tectonic-bundles" ,rust-tectonic-bundles-0.3)
|
||||
("rust-tectonic-docmodel" ,rust-tectonic-docmodel-0.2)
|
||||
("rust-tectonic-engine-bibtex" ,rust-tectonic-engine-bibtex-0.1)
|
||||
("rust-tectonic-engine-spx2html" ,rust-tectonic-engine-spx2html-0.1)
|
||||
("rust-tectonic-engine-xdvipdfmx" ,rust-tectonic-engine-xdvipdfmx-0.1)
|
||||
("rust-tectonic-engine-xetex" ,rust-tectonic-engine-xetex-0.2)
|
||||
("rust-tectonic-engine-xdvipdfmx" ,rust-tectonic-engine-xdvipdfmx-0.4)
|
||||
("rust-tectonic-engine-xetex" ,rust-tectonic-engine-xetex-0.4)
|
||||
("rust-tectonic-errors" ,rust-tectonic-errors-0.2)
|
||||
("rust-tectonic-geturl" ,rust-tectonic-geturl-0.3)
|
||||
("rust-tectonic-io-base" ,rust-tectonic-io-base-0.4)
|
||||
("rust-tectonic-status-base" ,rust-tectonic-status-base-0.2)
|
||||
("rust-tectonic-xdv" ,rust-tectonic-xdv-0.2)
|
||||
("rust-tectonic-xetex-layout" ,rust-tectonic-xetex-layout-0.1)
|
||||
("rust-tempfile" ,rust-tempfile-3)
|
||||
("rust-termcolor" ,rust-termcolor-1)
|
||||
("rust-toml" ,rust-toml-0.5)
|
||||
|
@ -1138,14 +1138,14 @@ designed by Cynthia Brewer as described at http://colorbrewer2.org")
|
||||
(define-public r-sendmailr
|
||||
(package
|
||||
(name "r-sendmailr")
|
||||
(version "1.3-1")
|
||||
(version "1.3-2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "sendmailR" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1vxs9pdz1qbm7gzzigmvn5ybglakj4fska8dfj94azdvpkijs6hx"))))
|
||||
"0yyxxzhm88xipk68vzqxcckcpjgl9lajnqyxxbkp1i29jcpfgdfa"))))
|
||||
(properties `((upstream-name . "sendmailR")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
@ -5038,13 +5038,13 @@ Wall Street Journal, among others. This package also provides
|
||||
(define-public r-statmod
|
||||
(package
|
||||
(name "r-statmod")
|
||||
(version "1.4.37")
|
||||
(version "1.5.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "statmod" version))
|
||||
(sha256
|
||||
(base32
|
||||
"04v9nynv3lakhnd7b17v5syrlnscrxml71jnd3r93chckskwillh"))))
|
||||
"1jbf07h0mnncn2qp4wcw5bnbvsw3lizpd3cg0cpb8mcxn3wkw76n"))))
|
||||
(build-system r-build-system)
|
||||
(home-page "https://cran.r-project.org/web/packages/statmod")
|
||||
(native-inputs
|
||||
@ -5521,14 +5521,14 @@ of the points.")
|
||||
(define-public r-fpc
|
||||
(package
|
||||
(name "r-fpc")
|
||||
(version "2.2-9")
|
||||
(version "2.2-10")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "fpc" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0f7sfmpcycr9y7cy5gasyjm2ardxa62kglqms92mcr68jrp01c19"))))
|
||||
"1lj7j74yx747iic1hcngzbym0sqxppja8bxw64m0j6na5s7m9d4r"))))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
(list r-class
|
||||
|
@ -19,7 +19,7 @@
|
||||
;;; Copyright © 2016–2022 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2016 Bake Timmons <b3timmons@speedymail.org>
|
||||
;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
|
||||
;;; Copyright © 2017, 2018, 2020, 2021, 2022 Marius Bakke <marius@gnu.org>
|
||||
;;; Copyright © 2017-2018, 2020-2023 Marius Bakke <marius@gnu.org>
|
||||
;;; Copyright © 2017 Kei Kebreau <kkebreau@posteo.net>
|
||||
;;; Copyright © 2017 Petter <petter@mykolab.ch>
|
||||
;;; Copyright © 2017, 2021 Pierre Langlois <pierre.langlois@gmx.com>
|
||||
@ -5230,28 +5230,34 @@ NetSurf project.")
|
||||
(find-files bin))
|
||||
#t))))))
|
||||
(native-inputs
|
||||
`(("which" ,which)
|
||||
("gettext" ,gettext-minimal)
|
||||
("subversion" ,subversion)
|
||||
("git" ,git)
|
||||
("bazaar" ,bazaar)
|
||||
("cvs" ,cvs)
|
||||
("mercurial" ,mercurial)))
|
||||
(list which
|
||||
gettext-minimal
|
||||
subversion
|
||||
git
|
||||
bazaar
|
||||
cvs
|
||||
mercurial))
|
||||
(inputs
|
||||
`(("python" ,python-wrapper)
|
||||
("perl-authen-passphrase" ,perl-authen-passphrase)
|
||||
("perl-cgi-simple" ,perl-cgi-simple)
|
||||
("perl-db-file" ,perl-db-file)
|
||||
("perl-file-mimeinfo" ,perl-file-mimeinfo)
|
||||
("perl-html-tagset" ,perl-html-tagset)
|
||||
("perl-image-magick" ,perl-image-magick)
|
||||
("perl-ipc-run" ,perl-ipc-run)
|
||||
("perl-lwpx-paranoidagent" ,perl-lwpx-paranoidagent)
|
||||
("perl-xml-feed" ,perl-xml-feed)
|
||||
("perl-xml-sax" ,perl-xml-sax)
|
||||
("perl-xml-twig" ,perl-xml-twig)
|
||||
("perl-yaml-tiny" ,perl-yaml-tiny)
|
||||
("po4a" ,po4a)))
|
||||
(list python-wrapper
|
||||
perl-authen-passphrase
|
||||
perl-cgi-simple
|
||||
perl-db-file
|
||||
perl-file-mimeinfo
|
||||
perl-html-tagset
|
||||
perl-image-magick
|
||||
perl-ipc-run
|
||||
perl-lwpx-paranoidagent
|
||||
perl-xml-feed
|
||||
perl-xml-sax
|
||||
perl-xml-twig
|
||||
perl-yaml-tiny
|
||||
|
||||
;; Ikiwiki loads po4a as a library, and thus needs the po4a dependencies
|
||||
;; available. Duplicate them here.
|
||||
;; XXX: It would be ideal to hard code these in po4a somehow.
|
||||
perl-syntax-keyword-try
|
||||
perl-xs-parse-keyword
|
||||
po4a))
|
||||
(propagated-inputs
|
||||
(list perl-cgi-formbuilder
|
||||
perl-cgi-session
|
||||
|
@ -64,7 +64,6 @@
|
||||
#:use-module (gnu packages gnupg)
|
||||
#:use-module (gnu packages graphviz)
|
||||
#:use-module (gnu packages gtk)
|
||||
#:use-module (gnu packages java)
|
||||
#:use-module (gnu packages nss)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages perl-check)
|
||||
@ -76,7 +75,6 @@
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix build-system ant)
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system meson)
|
||||
@ -1544,42 +1542,6 @@ Excel(TM) since version 2007.")
|
||||
(home-page "https://github.com/brechtsanders/xlsxio")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public java-simple-xml
|
||||
(package
|
||||
(name "java-simple-xml")
|
||||
(version "2.7.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/simple/simple-xml-"
|
||||
version ".zip"))
|
||||
(sha256
|
||||
(base32
|
||||
"0w19k1awslmihpwsxwjbg89hv0vjhk4k3i0vrfchy3mqknd988y5"))
|
||||
(patches (search-patches "java-simple-xml-fix-tests.patch"))))
|
||||
(build-system ant-build-system)
|
||||
(arguments
|
||||
`(#:build-target "build"
|
||||
#:test-target "test"
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'install (install-jars "jar"))
|
||||
(add-before 'check 'disable-failing-test
|
||||
(lambda _
|
||||
;; This test sometimes fails with an out of memory exception
|
||||
(delete-file
|
||||
"test/src/org/simpleframework/xml/core/NoAnnotationsRequiredTest.java"))))))
|
||||
(native-inputs
|
||||
(list unzip))
|
||||
(home-page "http://simple.sourceforge.net/")
|
||||
(synopsis "XML serialization framework for Java")
|
||||
(description "Simple is a high performance XML serialization and
|
||||
configuration framework for Java. Its goal is to provide an XML framework
|
||||
that enables rapid development of XML configuration and communication systems.
|
||||
This framework aids the development of XML systems with minimal effort and
|
||||
reduced errors. It offers full object serialization and deserialization,
|
||||
maintaining each reference encountered.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public perl-xml-xpathengine
|
||||
(package
|
||||
(name "perl-xml-xpathengine")
|
||||
@ -1735,610 +1697,6 @@ XML), full XPath support (unless you use @code{XML::Twig::XPath}), nor DOM
|
||||
support.")
|
||||
(license license:perl-license)))
|
||||
|
||||
;; TODO: Debian builds several jars out of this: jaxp-1.4.jar,
|
||||
;; xml-apis.jar and xml-apis-1.4.01.jar.
|
||||
(define-public java-jaxp
|
||||
(package
|
||||
(name "java-jaxp")
|
||||
(version "1.4.01")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://apache/xerces/xml-commons/source/"
|
||||
"xml-commons-external-" version "-src.tar.gz"))
|
||||
(sha256
|
||||
(base32 "0rhq32a7dl9yik7zx9h0naz2iz068qgcdiayak91wp4wr26xhjyk"))))
|
||||
(build-system ant-build-system)
|
||||
(arguments
|
||||
`(#:jar-name "jaxp.jar"
|
||||
#:jdk ,icedtea-8
|
||||
#:source-dir ".."
|
||||
#:tests? #f)); no tests
|
||||
(home-page "http://xerces.apache.org/xml-commons/")
|
||||
(synopsis "Java XML parser and transformer APIs (DOM, SAX, JAXP, TrAX)")
|
||||
(description "Jaxp from the Apache XML Commons project is used by
|
||||
the Xerces-J XML parser and Xalan-J XSLT processor and specifies these APIs:
|
||||
|
||||
@itemize
|
||||
@item Document Object Model (DOM)
|
||||
@item Simple API for XML (SAX)
|
||||
@item Java APIs for XML Processing (JAXP)
|
||||
@item Transformation API for XML (TrAX)
|
||||
@item Document Object Model (DOM) Load and Save
|
||||
@item JSR 206 Java API for XML Processing
|
||||
@end itemize")
|
||||
(license (list license:asl2.0
|
||||
license:w3c ;; Files under org.w3c
|
||||
license:public-domain)))) ;; org.xml.sax
|
||||
|
||||
(define-public java-apache-xml-commons-resolver
|
||||
(package
|
||||
(name "java-apache-xml-commons-resolver")
|
||||
(version "1.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://apache/xerces/xml-commons/"
|
||||
"xml-commons-resolver-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "1zhy4anc3fg9f8y348bj88vmab15aavrg6nf419ifb25asyygnsm"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
(for-each delete-file (find-files "." ".*\\.(jar|zip)"))
|
||||
#t))))
|
||||
(build-system ant-build-system)
|
||||
(arguments
|
||||
`(#:jar-name (string-append "xml-resolver.jar")
|
||||
#:tests? #f)); no tests
|
||||
(inputs
|
||||
(list java-junit))
|
||||
(home-page "http://xerces.apache.org/xml-commons/")
|
||||
(synopsis "Catalog-based entity and URI resolution")
|
||||
(description "The resolver class implements the full semantics of OASIS Technical
|
||||
Resolution 9401:1997 (Amendment 2 to TR 9401) catalogs and the 06 Aug
|
||||
2001 Committee Specification of OASIS XML Catalogs.
|
||||
|
||||
It also includes a framework of classes designed to read catalog files
|
||||
in a number of formats:
|
||||
|
||||
@itemize
|
||||
@item The plain-text flavor described by TR9401.
|
||||
@item The XCatalog XML format defined by John Cowan
|
||||
@item The XML Catalog format defined by the OASIS Entity Resolution
|
||||
Technical Committee.
|
||||
@end itemize")
|
||||
(license license:asl2.0)))
|
||||
|
||||
;; Jaxen requires java-dom4j and java-xom that in turn require jaxen.
|
||||
;; This package is a bootstrap version without dependencies on dom4j and xom.
|
||||
(define java-jaxen-bootstrap
|
||||
(package
|
||||
(name "java-jaxen-bootstrap")
|
||||
(version "1.1.6")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
;; No release on github
|
||||
(uri (string-append "https://repo1.maven.org/maven2/jaxen/jaxen/"
|
||||
version "/jaxen-" version "-sources.jar"))
|
||||
(sha256
|
||||
(base32
|
||||
"18pa8mks3gfhazmkyil8wsp6j1g1x7rggqxfv4k2mnixkrj5x1kx"))))
|
||||
(build-system ant-build-system)
|
||||
(arguments
|
||||
`(#:jar-name "jaxen.jar"
|
||||
#:source-dir "src"
|
||||
#:tests? #f; no tests
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'build 'remove-dom4j
|
||||
(lambda _
|
||||
(delete-file-recursively "src/org/jaxen/dom4j")
|
||||
(delete-file-recursively "src/org/jaxen/xom")
|
||||
#t)))))
|
||||
(inputs
|
||||
`(("java-jdom" ,java-jdom)))
|
||||
(home-page "https://github.com/jaxen-xpath/jaxen")
|
||||
(synopsis "XPath library")
|
||||
(description "Jaxen is an XPath library written in Java. It is adaptable
|
||||
to many different object models, including DOM, XOM, dom4j, and JDOM. It is
|
||||
also possible to write adapters that treat non-XML trees such as compiled
|
||||
Java byte code or Java beans as XML, thus enabling you to query these trees
|
||||
with XPath too.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public java-jaxen
|
||||
(package
|
||||
(inherit java-jaxen-bootstrap)
|
||||
(name "java-jaxen")
|
||||
(inputs
|
||||
(list java-jdom java-xom java-dom4j))))
|
||||
|
||||
(define-public java-xom
|
||||
(package
|
||||
(name "java-xom")
|
||||
(version "127")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/elharo/xom")
|
||||
(commit (string-append "XOM_" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1jh6y03g5zzdhsb5jm6ms1xnamr460qmn96y3w6aw0ikfwqlg0bq"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
(for-each delete-file
|
||||
(find-files "." "\\.jar$"))
|
||||
#t))))
|
||||
(build-system ant-build-system)
|
||||
(arguments
|
||||
`(#:jar-name "xom.jar"
|
||||
#:jdk ,icedtea-8
|
||||
#:tests? #f ; no tests
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'make-git-checkout-writable
|
||||
(lambda _
|
||||
(for-each make-file-writable (find-files "."))
|
||||
#t))
|
||||
(add-before 'configure 'fix-tagsoup-dep
|
||||
(lambda _
|
||||
;; FIXME: Where is tagsoup source?
|
||||
(delete-file "src/nu/xom/tools/XHTMLJavaDoc.java")
|
||||
#t)))))
|
||||
(inputs
|
||||
(list java-jdom java-junit java-classpathx-servletapi
|
||||
java-jaxen-bootstrap java-xerces))
|
||||
(home-page "https://xom.nu/")
|
||||
(synopsis "XML Object Model")
|
||||
(description "XOM is a new XML Object Model for processing XML with Java
|
||||
that strives for correctness and simplicity.")
|
||||
;; 2.1 only
|
||||
(license license:lgpl2.1)))
|
||||
|
||||
(define-public java-xsdlib
|
||||
(package
|
||||
(name "java-xsdlib")
|
||||
(version "2013.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://repo1.maven.org/maven2/com/sun/msv/"
|
||||
"datatype/xsd/xsdlib/" version "/xsdlib-"
|
||||
version "-sources.jar"))
|
||||
(sha256
|
||||
(base32
|
||||
"185i48p1xp09wbq03i9zgfl701qa262rq46yf4cajzmk3336kqim"))))
|
||||
(build-system ant-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f; no tests
|
||||
#:jar-name "xsdlib.jar"
|
||||
#:jdk ,icedtea-8))
|
||||
(inputs
|
||||
(list java-xerces))
|
||||
(home-page (string-append "https://web.archive.org/web/20161127144537/"
|
||||
"https://msv.java.net//"))
|
||||
(synopsis "Sun Multi-Schema Validator")
|
||||
(description "Xsdlib contains an implementation of sun.com.msv, an XML
|
||||
validator.")
|
||||
(license license:bsd-2)))
|
||||
|
||||
(define-public java-xpp3
|
||||
(package
|
||||
(name "java-xpp3")
|
||||
(version "1.1.4")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://ci.guix.gnu.org/file/"
|
||||
"xpp3-1.1.4_src.tgz"
|
||||
"/sha256/"
|
||||
"1b99zrhyij5qwyhilyjdl1ykxvhk902vsvflh6gx4fir8hfvdl5p"))
|
||||
(file-name (string-append name "-" version "_src.tgz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1b99zrhyij5qwyhilyjdl1ykxvhk902vsvflh6gx4fir8hfvdl5p"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin ;; Delete bundled jar archives.
|
||||
(for-each delete-file (find-files "." ".*\\.jar"))
|
||||
#t))))
|
||||
(build-system ant-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f; no tests
|
||||
#:build-target "jar"
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'install (install-jars "build")))))
|
||||
(home-page "http://www.extreme.indiana.edu/xgws/xsoap/xpp/")
|
||||
(synopsis "Streaming pull XML parser")
|
||||
(description "Xml Pull Parser (in short XPP) is a streaming pull XML
|
||||
parser and should be used when there is a need to process quickly and
|
||||
efficiently all input elements (for example in SOAP processors). This
|
||||
package is a stable XmlPull parsing engine that is based on ideas from XPP
|
||||
and in particular XPP2 but completely revised and rewritten to take the best
|
||||
advantage of JIT JVMs.")
|
||||
(license (license:non-copyleft "file://LICENSE.txt"))))
|
||||
|
||||
(define-public java-xmlpull2
|
||||
(package
|
||||
(name "java-xmlpull2")
|
||||
(version "2.1.10")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
;; Unfortunately, archive.org does not have a copy of this file.
|
||||
(uri (string-append "https://ftp.fau.de/gentoo/distfiles/"
|
||||
"PullParser" version ".tgz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1kw9nhyqb7bzhn2zjbwlpi5vp5rzj89amzi3hadw2acyh2dmd0md"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin ;; Delete bundled jar archives.
|
||||
(for-each delete-file (find-files "." ".*\\.jar"))
|
||||
#t))))
|
||||
(build-system ant-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f; no tests
|
||||
#:build-target "impl"
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'install (install-jars "build/lib")))))
|
||||
(home-page (string-append "https://web.archive.org/web/20210225153105/"
|
||||
"https://www.extreme.indiana.edu/"))
|
||||
(synopsis "Streaming pull XML parser")
|
||||
(description "Xml Pull Parser (in short XPP) is a streaming pull XML
|
||||
parser and should be used when there is a need to process quickly and
|
||||
efficiently all input elements (for example in SOAP processors). This
|
||||
package is in maintenance mode.")
|
||||
(license (license:non-copyleft "file:///LICENSE.txt"))))
|
||||
|
||||
(define-public java-xmlpull-api-v1
|
||||
(package
|
||||
(name "java-xmlpull-api-v1")
|
||||
(version "1.1.3.4b")
|
||||
(source (origin
|
||||
;; The package is originally from Extreme! Lab, but the website
|
||||
;; is now gone. This repositories contains the sources of the
|
||||
;; latest version.
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/aslom/xmlpull-api-v1")
|
||||
;; No releases, this is the latest commit
|
||||
(commit "abeaa4aa87b2625af70c32f658f44e11355fe568")))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"15bdqxfncnakskna4m9gsh4f9iczxy83qxn2anqiqd15z406a5ih"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
`(begin
|
||||
(delete-file-recursively "lib")
|
||||
(mkdir-p "lib")
|
||||
;; prevents a failure in "dist_lite"
|
||||
(substitute* "build.xml"
|
||||
(("README.html") "README.md"))))))
|
||||
(build-system ant-build-system)
|
||||
(arguments
|
||||
`(#:test-target "junit"
|
||||
#:build-target "dist"
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(doc (string-append out "/share/doc/" ,name "-" ,version))
|
||||
(java (string-append out "/share/java"))
|
||||
(project (string-append
|
||||
"xmlpull_"
|
||||
,(string-join (string-split version #\.) "_"))))
|
||||
(mkdir-p doc)
|
||||
(copy-recursively (string-append "build/dist/" project "/doc/")
|
||||
doc)
|
||||
(mkdir-p java)
|
||||
(copy-file (string-append "build/dist/" project "/" project ".jar")
|
||||
(string-append java "/" project ".jar")))
|
||||
)))))
|
||||
(home-page "https://github.com/aslom/xmlpull-api-v1")
|
||||
(synopsis "XML pull parsing API")
|
||||
(description "XmlPull v1 API is a simple to use XML pull parsing API. XML
|
||||
pull parsing allows incremental (sometimes called streaming) parsing of XML
|
||||
where application is in control - the parsing can be interrupted at any given
|
||||
moment and resumed when application is ready to consume more input.")
|
||||
(license license:public-domain)))
|
||||
|
||||
(define-public java-dom4j
|
||||
(package
|
||||
(name "java-dom4j")
|
||||
(version "2.1.1")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/dom4j/dom4j")
|
||||
(commit (string-append "version-" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0q907srj9v4hwicpcrn4slyld5npf2jv7hzchsgrg29q2xmbwkdl"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin ;; Delete bundled jar archives.
|
||||
(for-each delete-file (find-files "." ".*\\.jar"))
|
||||
#t))))
|
||||
(build-system ant-build-system)
|
||||
(arguments
|
||||
`(#:jar-name "dom4j.jar"
|
||||
#:jdk ,icedtea-8
|
||||
#:source-dir "src/main/java"
|
||||
;; FIXME: Requires xalan, but xalan depends on java-cup which has a
|
||||
;; dependency on itself through jflex.
|
||||
#:tests? #f
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'build 'copy-jaxen-sources
|
||||
;; java-jaxen-bootstrap is not enough. These files have a circular
|
||||
;; dependency and there is no subset of dom4j that would allow
|
||||
;; breaking the circle.
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(mkdir-p "jaxen-sources")
|
||||
(with-directory-excursion "jaxen-sources"
|
||||
(system* "jar" "xf" (assoc-ref inputs "java-jaxen-sources")))
|
||||
(mkdir-p "src/main/java/org/jaxen/dom4j")
|
||||
(copy-file "jaxen-sources/org/jaxen/dom4j/DocumentNavigator.java"
|
||||
"src/main/java/org/jaxen/dom4j/DocumentNavigator.java")
|
||||
(copy-file "jaxen-sources/org/jaxen/dom4j/Dom4jXPath.java"
|
||||
"src/main/java/org/jaxen/dom4j/Dom4jXPath.java")
|
||||
#t))
|
||||
(add-before 'build 'fix-old-xpp2
|
||||
(lambda _
|
||||
;; This package normally depends on xpp2 2.0, but version 2.1.10
|
||||
;; is the only version whose source code is published.
|
||||
(substitute* "src/main/java/org/dom4j/xpp/ProxyXmlStartTag.java"
|
||||
(("public void resetStartTag")
|
||||
"public boolean removeAttributeByRawName(String name) {\n
|
||||
return false;\n
|
||||
}\n
|
||||
public boolean removeAttributeByName(String name, String name2) {\n
|
||||
return false;\n
|
||||
}\n\npublic void resetStartTag")
|
||||
(("Atttribute") "Attribute"))
|
||||
#t)))))
|
||||
(inputs
|
||||
`(("java-jaxen-bootstrap" ,java-jaxen-bootstrap)
|
||||
("java-jaxen-sources" ,(package-source java-jaxen-bootstrap))
|
||||
("java-xmlpull2" ,java-xmlpull2)
|
||||
("java-xpp3" ,java-xpp3)
|
||||
("java-xsdlib" ,java-xsdlib)))
|
||||
(native-inputs
|
||||
(list java-testng java-xerces))
|
||||
(home-page "https://dom4j.github.io/")
|
||||
(synopsis "Flexible XML framework for Java")
|
||||
(description "Dom4j is a flexible XML framework for Java. DOM4J works
|
||||
with DOM, SAX, XPath, and XSLT. It can parse large XML documents with very
|
||||
low memory footprint.")
|
||||
;; some BSD-like 5-clause license
|
||||
(license (license:non-copyleft "file://LICENSE"))))
|
||||
|
||||
(define-public java-kxml2
|
||||
(package
|
||||
(name "java-kxml2")
|
||||
(version "2.4.2")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/stefanhaustein/kxml2")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0g6d8c9r9sh3x04sf4wdpgwvhkqvk11k3kq9skx91i60h4vn01hg"))))
|
||||
(build-system ant-build-system)
|
||||
(arguments
|
||||
`(#:jar-name "kxml2.jar"
|
||||
#:source-dir "src/main/java"
|
||||
#:test-include (list "TestWb.java")
|
||||
;; Test failure: it was expected to get an XML entity but got the
|
||||
;; equivalent Unicode character instead.
|
||||
#:tests? #f
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'make-git-checkout-writable
|
||||
(lambda _
|
||||
(for-each make-file-writable (find-files "."))
|
||||
#t))
|
||||
(add-before 'build 'copy-resources
|
||||
(lambda _
|
||||
(copy-recursively "src/main/resources" "build/classes")
|
||||
#t)))))
|
||||
(inputs
|
||||
(list java-xpp3))
|
||||
(native-inputs
|
||||
(list java-junit))
|
||||
(home-page "http://kxml.org")
|
||||
(synopsis "XML pull parser")
|
||||
(description "kXML is a small XML pull parser, specially designed for
|
||||
constrained environments such as Applets, Personal Java or devices compliant
|
||||
with the Mobile Information Device Profile (MIDP).")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public java-stax
|
||||
(package
|
||||
(name "java-stax")
|
||||
(version "1.2.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://repo1.maven.org/maven2/stax/stax/"
|
||||
version "/stax-" version "-sources.jar"))
|
||||
(sha256
|
||||
(base32
|
||||
"04ba4qvbrps45j8bldbakxq31k7gjlsay9pppa9yn13fr00q586z"))))
|
||||
(build-system ant-build-system)
|
||||
(arguments
|
||||
`(#:jar-name "stax.jar"
|
||||
#:tests? #f; no tests
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'configure 'fix-utf8
|
||||
(lambda _
|
||||
;; This file is ISO-8859-1 but java expects UTF-8.
|
||||
;; Remove special characters in comments.
|
||||
(with-fluids ((%default-port-encoding "ISO-8859-1"))
|
||||
(substitute* "src/com/wutka/dtd/Scanner.java"
|
||||
(("//.*") "\n")))
|
||||
#t)))))
|
||||
(home-page "https://repo1.maven.org/maven2/stax/stax/")
|
||||
(synopsis "Streaming API for XML")
|
||||
(description "This package provides the reference implementation of the
|
||||
@dfn{Streaming API for XML} (StAX). It is used for streaming XML data to
|
||||
and from a Java application. It provides a standard pull parser interface.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public java-jettison
|
||||
(package
|
||||
(name "java-jettison")
|
||||
(version "1.3.7")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/codehaus/jettison")
|
||||
(commit (string-append "jettison-" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"15sydmi5chdh4126qc7v8bsrp7fp4ldaya8a05iby4pq2324q0qw"))))
|
||||
(build-system ant-build-system)
|
||||
(arguments
|
||||
`(#:jar-name "jettison.jar"
|
||||
#:source-dir "src/main/java"
|
||||
#:test-exclude (list "**/Abstract*.java"
|
||||
;; Abstract classes
|
||||
"**/DOMTest.java"
|
||||
"**/BadgerFishDOMTest.java"
|
||||
"**/MappedDOMTest.java")))
|
||||
(native-inputs
|
||||
(list java-junit))
|
||||
(home-page "https://github.com/codehaus/jettison")
|
||||
(synopsis "StAX implementation for JSON")
|
||||
(description "Jettison is a Java library for converting XML to JSON and
|
||||
vice-versa with the help of the @dfn{Streaming API for XML} (StAX). It
|
||||
implements @code{XMLStreamWriter} and @code{XMLStreamReader} and supports
|
||||
@code{Mapped} and @code{BadgerFish} conventions.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public java-jdom2
|
||||
(package
|
||||
(name "java-jdom")
|
||||
(version "2.0.6.1")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/hunterhacker/jdom")
|
||||
(commit (string-append "JDOM-" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1r4pwl0z7hm45v9l2wbq3fjmqi13zmwzbrggyqizrwv31kghhx56"))))
|
||||
(build-system ant-build-system)
|
||||
(arguments
|
||||
`(#:build-target "package"
|
||||
#:tests? #f ; tests are run as part of the build process
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'install
|
||||
(install-jars "build")))))
|
||||
(home-page "http://jdom.org/")
|
||||
(synopsis "Access, manipulate, and output XML data")
|
||||
(description "Jdom is a Java-based solution for accessing, manipulating, and
|
||||
outputting XML data from Java code.")
|
||||
(license license:bsd-4)))
|
||||
|
||||
(define-public java-xstream
|
||||
(package
|
||||
(name "java-xstream")
|
||||
(version "1.4.16")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/x-stream/xstream")
|
||||
(commit (string-append
|
||||
"XSTREAM_"
|
||||
(string-map (lambda (x) (if (eq? x #\.) #\_ x))
|
||||
version)))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "16k2mc63h2fw7lxv74qmhg4p8q9hfrw114daa6nxwnpv08cnq755"))))
|
||||
(build-system ant-build-system)
|
||||
(arguments
|
||||
`(#:jar-name "xstream.jar"
|
||||
;; FIXME: Tests are not in a java subdirectory as assumed by ant-build-system.
|
||||
#:tests? #f
|
||||
#:jdk ,icedtea-8
|
||||
#:source-dir "xstream/src/java"))
|
||||
(inputs
|
||||
`(("java-jdom" ,java-jdom)
|
||||
("java-jdom2" ,java-jdom2)
|
||||
("java-cglib" ,java-cglib)
|
||||
("java-joda-time" ,java-joda-time)
|
||||
("java-jettison" ,java-jettison)
|
||||
("java-xom" ,java-xom)
|
||||
("java-mxparser" ,java-mxparser)
|
||||
("java-xpp3" ,java-xpp3)
|
||||
("java-dom4j" ,java-dom4j)
|
||||
("java-stax2-api" ,java-stax2-api)
|
||||
("java-woodstox-core" ,java-woodstox-core)
|
||||
("java-kxml2" ,java-kxml2)
|
||||
("java-stax" ,java-stax)))
|
||||
(home-page "https://x-stream.github.io")
|
||||
(synopsis "XML serialization library")
|
||||
(description "XStream is a simple library to serialize Java objects to XML
|
||||
and back again.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public java-mxparser
|
||||
(package
|
||||
(name "java-mxparser")
|
||||
(version "1.2.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/x-stream/mxparser")
|
||||
(commit (string-append "v-" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0i3jrjbz4hgf62fm1ix7nlcmhi4kcv4flqsfvh7a3l2v7nsp5ryb"))))
|
||||
(build-system ant-build-system)
|
||||
(arguments
|
||||
`(#:jar-name "mxparser.jar"
|
||||
#:source-dir "src/main/java"
|
||||
#:test-dir "src/test"
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'build 'copy-resources
|
||||
(lambda _
|
||||
(copy-recursively "src/main/resources" "build/classes")
|
||||
#t)))))
|
||||
(propagated-inputs
|
||||
(list java-xmlpull-api-v1))
|
||||
(native-inputs
|
||||
(list java-junit))
|
||||
(home-page "https://github.com/x-stream/mxparser")
|
||||
(synopsis "Streaming pull XML parser forked from @code{java-xpp3}")
|
||||
(description "Xml Pull Parser (in short XPP) is a streaming pull XML
|
||||
parser and should be used when there is a need to process quickly and
|
||||
efficiently all input elements (for example in SOAP processors). This
|
||||
package is a stable XmlPull parsing engine that is based on ideas from XPP
|
||||
and in particular XPP2 but completely revised and rewritten to take the best
|
||||
advantage of JIT JVMs.
|
||||
|
||||
MXParser is a fork of xpp3_min 1.1.7 containing only the parser with merged
|
||||
changes of the Plexus fork. It is an implementation of the XMLPULL V1 API
|
||||
(parser only).")
|
||||
(license (license:non-copyleft "file://LICENSE.txt"))))
|
||||
|
||||
(define-public xmlrpc-c
|
||||
(package
|
||||
(name "xmlrpc-c")
|
||||
|
@ -198,6 +198,7 @@
|
||||
guix-configuration-generate-substitute-key?
|
||||
guix-configuration-extra-options
|
||||
guix-configuration-log-file
|
||||
guix-configuration-environment
|
||||
|
||||
guix-extension
|
||||
guix-extension?
|
||||
@ -1654,7 +1655,9 @@ archive' public keys, with GUIX."
|
||||
(http-proxy guix-http-proxy ;string | #f
|
||||
(default #f))
|
||||
(tmpdir guix-tmpdir ;string | #f
|
||||
(default #f)))
|
||||
(default #f))
|
||||
(environment guix-configuration-environment ;list of strings
|
||||
(default '())))
|
||||
|
||||
(define %default-guix-configuration
|
||||
(guix-configuration))
|
||||
@ -1710,7 +1713,7 @@ proxy of 'guix-daemon'...~%")
|
||||
(guix build-group build-accounts authorize-key? authorized-keys
|
||||
use-substitutes? substitute-urls max-silent-time timeout
|
||||
log-compression discover? extra-options log-file
|
||||
http-proxy tmpdir chroot-directories)
|
||||
http-proxy tmpdir chroot-directories environment)
|
||||
(list (shepherd-service
|
||||
(documentation "Run the Guix daemon.")
|
||||
(provision '(guix-daemon))
|
||||
@ -1799,7 +1802,8 @@ proxy of 'guix-daemon'...~%")
|
||||
(if proxy
|
||||
(list (string-append "http_proxy=" proxy)
|
||||
(string-append "https_proxy=" proxy))
|
||||
'()))
|
||||
'())
|
||||
'#$environment)
|
||||
|
||||
#:log-file #$log-file))))
|
||||
(stop #~(make-kill-destructor))))))
|
||||
|
@ -57,7 +57,6 @@
|
||||
%test-linux-libre-5.4
|
||||
%test-linux-libre-4.19
|
||||
%test-linux-libre-4.14
|
||||
%test-linux-libre-4.9
|
||||
%test-halt
|
||||
%test-root-unmount
|
||||
%test-cleanup
|
||||
@ -584,9 +583,6 @@ functionality tests, using the given KERNEL.")
|
||||
(define %test-linux-libre-4.14
|
||||
(test-basic-os linux-libre-4.14))
|
||||
|
||||
(define %test-linux-libre-4.9
|
||||
(test-basic-os linux-libre-4.9))
|
||||
|
||||
|
||||
;;;
|
||||
;;; Halt.
|
||||
|
@ -1,5 +1,5 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2012-2021 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2012-2021, 2023 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2016, 2017 Mathieu Lirzin <mthl@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
@ -484,17 +484,21 @@ things as appropriate and is thus more efficient."
|
||||
(fold-right (lambda (output result)
|
||||
(match output
|
||||
((name path "" "")
|
||||
;; Regular derivation.
|
||||
(alist-cons name
|
||||
(make-derivation-output path #f #f #f)
|
||||
result))
|
||||
((name path hash-algo hash)
|
||||
;; fixed-output
|
||||
;; Fixed-output, unless HASH is the empty string (in that
|
||||
;; case, HASH-ALGO must be preserved despite being
|
||||
;; unused).
|
||||
(let* ((rec? (string-prefix? "r:" hash-algo))
|
||||
(algo (string->symbol
|
||||
(if rec?
|
||||
(string-drop hash-algo 2)
|
||||
hash-algo)))
|
||||
(hash (base16-string->bytevector hash)))
|
||||
(hash (and (not (string-null? hash))
|
||||
(base16-string->bytevector hash))))
|
||||
(alist-cons name
|
||||
(make-derivation-output path algo
|
||||
hash rec?)
|
||||
|
@ -1,5 +1,5 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2015, 2016, 2017, 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
|
||||
;;; Copyright © 2020 Martin Becze <mjbecze@riseup.net>
|
||||
@ -732,12 +732,12 @@ s-expression corresponding to that package, or #f on failure."
|
||||
(define latest-version
|
||||
(latest-bioconductor-package-version upstream-name))
|
||||
|
||||
(and version
|
||||
(and latest-version
|
||||
;; Bioconductor does not provide signatures.
|
||||
(upstream-source
|
||||
(package (package-name pkg))
|
||||
(version latest-version)
|
||||
(urls (bioconductor-uri upstream-name version))
|
||||
(urls (bioconductor-uri upstream-name latest-version))
|
||||
(input-changes
|
||||
(changed-inputs
|
||||
pkg
|
||||
|
@ -1,5 +1,5 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2021-2022 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2021-2023 Ludovic Courtès <ludo@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@ -488,6 +488,19 @@ each line except the first one (they're assumed to be already there)."
|
||||
(8 "#o"))
|
||||
(number->string integer base)))
|
||||
|
||||
(define %special-non-extended-symbols
|
||||
;; Special symbols that can be written without the #{...}# notation for
|
||||
;; extended symbols: 1+, 1-, 123/, etc.
|
||||
(make-regexp "^[0-9]+[[:graph:]]+$" regexp/icase))
|
||||
|
||||
(define (symbol->display-string symbol context)
|
||||
"Return the most appropriate representation of SYMBOL, resorting to extended
|
||||
symbol notation only when strictly necessary."
|
||||
(let ((str (symbol->string symbol)))
|
||||
(if (regexp-exec %special-non-extended-symbols str)
|
||||
str ;no need for the #{...}# notation
|
||||
(object->string symbol))))
|
||||
|
||||
(define* (pretty-print-with-comments port obj
|
||||
#:key
|
||||
(format-comment
|
||||
@ -561,7 +574,8 @@ FORMAT-VERTICAL-SPACE; a useful value of 'canonicalize-vertical-space'."
|
||||
((? string? str)
|
||||
(>= (+ (string-width str) 2 indent) max-width))
|
||||
((? symbol? symbol)
|
||||
(>= (+ (string-width (symbol->string symbol)) indent)
|
||||
(>= (+ (string-width (symbol->display-string symbol context))
|
||||
indent)
|
||||
max-width))
|
||||
((? boolean?)
|
||||
(>= (+ 2 indent) max-width))
|
||||
@ -647,7 +661,7 @@ FORMAT-VERTICAL-SPACE; a useful value of 'canonicalize-vertical-space'."
|
||||
;; and following arguments are less indented.
|
||||
(let* ((lead (special-form-lead head context))
|
||||
(context (cons head context))
|
||||
(head (symbol->string head))
|
||||
(head (symbol->display-string head (cdr context)))
|
||||
(total (length arguments)))
|
||||
(unless delimited? (display " " port))
|
||||
(display "(" port)
|
||||
@ -727,6 +741,8 @@ FORMAT-VERTICAL-SPACE; a useful value of 'canonicalize-vertical-space'."
|
||||
(printed-string obj context))
|
||||
((integer? obj)
|
||||
(integer->string obj context))
|
||||
((symbol? obj)
|
||||
(symbol->display-string obj context))
|
||||
(else
|
||||
(object->string obj))))
|
||||
(len (string-width str)))
|
||||
|
@ -1,5 +1,5 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2013-2022 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2013-2023 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2014 Nikita Karetnikov <nikita@karetnikov.org>
|
||||
;;; Copyright © 2018 Kyle Meyer <kyle@kyleam.com>
|
||||
;;; Copyright © 2020 Christopher Baines <mail@cbaines.net>
|
||||
@ -706,10 +706,12 @@ substitutes may be unavailable\n")))))
|
||||
(string-drop option=value (+ 1 equal-sign))))))
|
||||
(string-tokenize newline-separated %not-newline)))))
|
||||
|
||||
(define (find-daemon-option option)
|
||||
"Return the value of build daemon option OPTION, or #f if it could not be
|
||||
(define find-daemon-option
|
||||
(let ((options (delay (daemon-options))))
|
||||
(lambda (option)
|
||||
"Return the value of build daemon option OPTION, or #f if it could not be
|
||||
found."
|
||||
(assoc-ref (daemon-options) option))
|
||||
(assoc-ref (force options) option))))
|
||||
|
||||
(define %default-substitute-urls
|
||||
(match (and=> (or (find-daemon-option "untrusted-substitute-urls") ;client
|
||||
|
@ -76,8 +76,11 @@ string printHash(const Hash & hash)
|
||||
Hash parseHash(HashType ht, const string & s)
|
||||
{
|
||||
Hash hash(ht);
|
||||
if (s.length() != hash.hashSize * 2)
|
||||
throw Error(format("invalid hash `%1%'") % s);
|
||||
if (s.length() != hash.hashSize * 2) {
|
||||
string algo = gcry_md_algo_name(ht);
|
||||
throw Error(format("invalid %1% hash '%2%' (%3% bytes but expected %4%)")
|
||||
% algo % s % (s.length() / 2) % hash.hashSize);
|
||||
}
|
||||
for (unsigned int i = 0; i < hash.hashSize; i++) {
|
||||
string s2(s, i * 2, 2);
|
||||
if (!isxdigit(s2[0]) || !isxdigit(s2[1]))
|
||||
|
@ -1,5 +1,5 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2012-2022 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2012-2023 Ludovic Courtès <ludo@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@ -256,6 +256,21 @@
|
||||
(build-derivations %store (list drv))
|
||||
#f)))
|
||||
|
||||
(test-assert "'download' built-in builder, no fixed-output hash"
|
||||
;; 'guix perform-download' should bail out with a message saying "not a
|
||||
;; fixed-output derivation".
|
||||
(with-http-server '((200 "This should not be downloaded."))
|
||||
(let* ((drv (derivation %store "download-without-hash"
|
||||
"builtin:download" '()
|
||||
#:env-vars `(("url"
|
||||
. ,(object->string (%local-url))))
|
||||
#:hash-algo 'sha256
|
||||
#:hash #f)))
|
||||
(guard (c ((store-protocol-error? c)
|
||||
(string-contains (store-protocol-error-message c) "failed")))
|
||||
(build-derivations %store (list drv))
|
||||
#f))))
|
||||
|
||||
(test-assert "'download' built-in builder, check mode"
|
||||
;; Make sure rebuilding the 'builtin:download' derivation in check mode
|
||||
;; works. See <http://bugs.gnu.org/25089>.
|
||||
@ -316,6 +331,13 @@
|
||||
#:hash hash #:hash-algo 'sha256)))
|
||||
(fixed-output-derivation? drv)))
|
||||
|
||||
(test-assert "fixed-output-derivation?, no hash"
|
||||
;; A derivation that has #:hash-algo and #:hash #f is *not* fixed-output.
|
||||
(let* ((drv (derivation %store "not-quite-fixed"
|
||||
"builtin:download" '()
|
||||
#:hash #f #:hash-algo 'sha256)))
|
||||
(not (fixed-output-derivation? drv))))
|
||||
|
||||
(test-equal "fixed-output derivation"
|
||||
'(sha1 sha256 sha512)
|
||||
(map (lambda (hash-algorithm)
|
||||
@ -374,6 +396,18 @@
|
||||
(call-with-input-file p get-bytevector-all))
|
||||
(bytevector? (query-path-hash %store p)))))))
|
||||
|
||||
(test-assert "fixed-output derivation, invalid hash size"
|
||||
(guard (c ((store-protocol-error? c)
|
||||
(string-contains-ci (store-protocol-error-message c)
|
||||
"invalid SHA512 hash")))
|
||||
(derivation %store "download-with-invalid-hash"
|
||||
"builtin:download" '()
|
||||
#:env-vars `(("url"
|
||||
. ,(object->string "http://example.org")))
|
||||
#:hash-algo 'sha512
|
||||
#:hash #vu8(1 2 3))
|
||||
#f))
|
||||
|
||||
(test-assert "derivation with a fixed-output input"
|
||||
;; A derivation D using a fixed-output derivation F doesn't has the same
|
||||
;; output path when passed F or F', as long as F and F' have the same output
|
||||
@ -543,6 +577,22 @@
|
||||
read-derivation)))
|
||||
(equal? drv* drv)))
|
||||
|
||||
(test-assert "read-derivation with hash = #f"
|
||||
;; Passing #:hash-algo together with #:hash #f is accepted and #:hash-algo
|
||||
;; is preserved. However it is not a fixed-output derivation. It used to
|
||||
;; be that 'read-derivation' would incorrectly return #vu8() instead of #f
|
||||
;; for the hash in this case:
|
||||
;; <https://lists.gnu.org/archive/html/guix-devel/2023-01/msg00040.html>.
|
||||
(let* ((drv1 (derivation %store "almost-fixed-output"
|
||||
"builtin:download" '()
|
||||
#:env-vars `(("url" . "http://example.org"))
|
||||
#:hash-algo 'sha256
|
||||
#:hash #f))
|
||||
(drv2 (call-with-input-file (derivation-file-name drv1)
|
||||
read-derivation)))
|
||||
(and (not (eq? drv1 drv2)) ;ensure memoization doesn't kick in
|
||||
(equal? drv1 drv2))))
|
||||
|
||||
(test-assert "multiple-output derivation, derivation-path->output-path"
|
||||
(let* ((builder (add-text-to-store %store "builder.sh"
|
||||
"echo one > $out ; echo two > $second"
|
||||
|
@ -1,5 +1,5 @@
|
||||
# GNU Guix --- Functional package management for GNU
|
||||
# Copyright © 2021 Andrew Tropin <andrew@trop.in>
|
||||
# Copyright © 2021-2023 Andrew Tropin <andrew@trop.in>
|
||||
# Copyright © 2021 Oleg Pykhalov <go.wigust@gmail.com>
|
||||
# Copyright © 2022 Ludovic Courtès <ludo@gnu.org>
|
||||
#
|
||||
@ -62,6 +62,7 @@ trap 'chmod -Rf +w "$test_directory"; rm -rf "$test_directory"' EXIT
|
||||
(gnu home)
|
||||
(gnu home services)
|
||||
(gnu home services shells)
|
||||
(gnu packages bash)
|
||||
(gnu services))
|
||||
|
||||
(home-environment
|
||||
@ -82,6 +83,10 @@ trap 'chmod -Rf +w "$test_directory"; rm -rf "$test_directory"' EXIT
|
||||
(simple-service 'add-environment-variable
|
||||
home-environment-variables-service-type
|
||||
`(("TODAY" . "26 messidor")
|
||||
("SHELL" . ,(file-append bash "/bin/bash"))
|
||||
("BUILDHOST_TIME" . ,#~(strftime "%c"
|
||||
(localtime (current-time))))
|
||||
("STRING_WITH_ESCAPES" . "chars: \" /\\")
|
||||
("LITERAL" . ,(literal-string "${abc}"))))
|
||||
|
||||
(simple-service 'home-bash-service-extension-test
|
||||
@ -149,8 +154,13 @@ EOF
|
||||
# the content of bashrc-test-config.sh"
|
||||
grep -q "the content of ~/.config/test.conf" "${HOME}/.config/test.conf"
|
||||
grep '^export PS1="\$GUIX_ENVIRONMENT λ "$' "${HOME}/.bash_profile"
|
||||
|
||||
( . "${HOME}/.guix-home/setup-environment"; test "$TODAY" = "26 messidor" )
|
||||
( . "${HOME}/.guix-home/setup-environment"; test "$LITERAL" = '${abc}' )
|
||||
( . "${HOME}/.guix-home/setup-environment";
|
||||
test "$STRING_WITH_ESCAPES" = "chars: \" /\\")
|
||||
( . "${HOME}/.guix-home/setup-environment";
|
||||
echo "$SHELL" | grep "/gnu/store/.*/bin/bash" )
|
||||
|
||||
# This one should still be here.
|
||||
grep "stay around" "$HOME/.config/random-file"
|
||||
|
@ -1,5 +1,5 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2021-2022 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2021-2023 Ludovic Courtès <ludo@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@ -142,6 +142,11 @@ expressions."
|
||||
(+ x y))"
|
||||
#:max-width 11)
|
||||
|
||||
(test-pretty-print "\
|
||||
(begin
|
||||
1+ 1- 123/ 456*
|
||||
(1+ 41))")
|
||||
|
||||
(test-pretty-print "\
|
||||
(lambda (x y)
|
||||
;; This is a procedure.
|
||||
|
Loading…
Reference in New Issue
Block a user