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-arm.conf \
|
||||||
gnu/packages/aux-files/linux-libre/4.14-i686.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.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/pack-audit.c \
|
||||||
gnu/packages/aux-files/python/sanity-check.py \
|
gnu/packages/aux-files/python/sanity-check.py \
|
||||||
gnu/packages/aux-files/python/sanity-check-next.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 André Batista@*
|
||||||
Copyright @copyright{} 2020 Christine Lemmer-Webber@*
|
Copyright @copyright{} 2020 Christine Lemmer-Webber@*
|
||||||
Copyright @copyright{} 2021 Joshua Branson@*
|
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
|
Permission is granted to copy, distribute and/or modify this document
|
||||||
under the terms of the GNU Free Documentation License, Version 1.3 or
|
under the terms of the GNU Free Documentation License, Version 1.3 or
|
||||||
@ -75,6 +76,7 @@ Weblate} (@pxref{Translating Guix,,, guix, GNU Guix reference manual}).
|
|||||||
* Containers:: Isolated environments and nested systems
|
* Containers:: Isolated environments and nested systems
|
||||||
* Advanced package management:: Power to the users!
|
* Advanced package management:: Power to the users!
|
||||||
* Environment management:: Control environment
|
* Environment management:: Control environment
|
||||||
|
* Installing Guix on a Cluster:: High-performance computing.
|
||||||
|
|
||||||
* Acknowledgments:: Thanks!
|
* Acknowledgments:: Thanks!
|
||||||
* GNU Free Documentation License:: The license of this document.
|
* GNU Free Documentation License:: The license of this document.
|
||||||
@ -83,13 +85,9 @@ Weblate} (@pxref{Translating Guix,,, guix, GNU Guix reference manual}).
|
|||||||
@detailmenu
|
@detailmenu
|
||||||
--- The Detailed Node Listing ---
|
--- The Detailed Node Listing ---
|
||||||
|
|
||||||
Scheme tutorials
|
|
||||||
|
|
||||||
* A Scheme Crash Course:: Learn the basics of Scheme
|
|
||||||
|
|
||||||
Packaging
|
Packaging
|
||||||
|
|
||||||
* Packaging Tutorial:: Let's add a package to Guix!
|
* Packaging Tutorial:: A tutorial on how to add packages to Guix.
|
||||||
|
|
||||||
System Configuration
|
System Configuration
|
||||||
|
|
||||||
@ -99,12 +97,33 @@ System Configuration
|
|||||||
* Using security keys:: How to use security keys with Guix System.
|
* Using security keys:: How to use security keys with Guix System.
|
||||||
* Connecting to Wireguard VPN:: Connecting to a Wireguard VPN.
|
* Connecting to Wireguard VPN:: Connecting to a Wireguard VPN.
|
||||||
* Customizing a Window Manager:: Handle customization of a Window manager on Guix System.
|
* 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
|
* 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.
|
* 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.
|
* 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.
|
* Setting up NGINX with Lua:: Configuring NGINX web-server to load Lua modules.
|
||||||
* Music Server with Bluetooth Audio:: Headless music player with Bluetooth output.
|
* 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 detailmenu
|
||||||
@end menu
|
@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.
|
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 *********************************************************************
|
@c *********************************************************************
|
||||||
@node Acknowledgments
|
@node Acknowledgments
|
||||||
@chapter 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,
|
who have helped by reporting bugs, taking care of the infrastructure,
|
||||||
providing artwork and themes, making suggestions, and more---thank you!
|
providing artwork and themes, making suggestions, and more---thank you!
|
||||||
|
|
||||||
This document includes adapted sections from articles that have previously
|
This document includes adapted sections from articles that have
|
||||||
been published on the Guix blog at @uref{https://guix.gnu.org/blog}.
|
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 *********************************************************************
|
@c *********************************************************************
|
||||||
|
@ -18482,6 +18482,10 @@ herd set-http-proxy guix-daemon
|
|||||||
@item @code{tmpdir} (default: @code{#f})
|
@item @code{tmpdir} (default: @code{#f})
|
||||||
A directory path where the @command{guix-daemon} will perform builds.
|
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 table
|
||||||
@end deftp
|
@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 Miguel Ángel Arruga Vivas <rosen644835@gmail.com>
|
||||||
;; Copyright © 2019, 2020 Konrad Hinsen <konrad.hinsen@fastmail.net>
|
;; Copyright © 2019, 2020 Konrad Hinsen <konrad.hinsen@fastmail.net>
|
||||||
;; Copyright © 2019, 2020, 2021 Julien Lepiller <julien@lepiller.eu>
|
;; 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, 2022 Marius Bakke <marius@gnu.org>
|
||||||
;; Copyright © 2020, 2021 Mathieu Othacehe <m.othacehe@gmail.com>
|
;; Copyright © 2020, 2021 Mathieu Othacehe <m.othacehe@gmail.com>
|
||||||
;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||||
@ -26,6 +26,18 @@
|
|||||||
(channel-news
|
(channel-news
|
||||||
(version 0)
|
(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")
|
(entry (commit "dfc6957a5af7d179d4618eb19d4f555c519bc6f2")
|
||||||
(title
|
(title
|
||||||
(en "New @code{customize-linux} procedure")
|
(en "New @code{customize-linux} procedure")
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
;;; GNU Guix --- Functional package management for GNU
|
;;; 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 © 2021 Xinglu Chen <public@yoctocell.xyz>
|
||||||
;;; Copyright © 2022-2023 Ludovic Courtès <ludo@gnu.org>
|
;;; Copyright © 2022-2023 Ludovic Courtès <ludo@gnu.org>
|
||||||
;;;
|
;;;
|
||||||
@ -192,7 +192,7 @@ ensures variable values are properly quoted."
|
|||||||
(list->string (string-fold-right
|
(list->string (string-fold-right
|
||||||
(lambda (chr lst)
|
(lambda (chr lst)
|
||||||
(if (memq chr quoted-chars)
|
(if (memq chr quoted-chars)
|
||||||
(append (list chr #\\) lst)
|
(append (list #\\ chr) lst)
|
||||||
(cons chr lst)))
|
(cons chr lst)))
|
||||||
'()
|
'()
|
||||||
value))))
|
value))))
|
||||||
@ -212,7 +212,9 @@ ensures variable values are properly quoted."
|
|||||||
"")
|
"")
|
||||||
((key . #t)
|
((key . #t)
|
||||||
#~(string-append "export " #$key "\n"))
|
#~(string-append "export " #$key "\n"))
|
||||||
((key . (? string? value))
|
((key . (or (? string? value)
|
||||||
|
(? file-like? value)
|
||||||
|
(? gexp? value)))
|
||||||
#~(string-append "export " #$key "="
|
#~(string-append "export " #$key "="
|
||||||
(shell-double-quote #$value)
|
(shell-double-quote #$value)
|
||||||
"\n"))
|
"\n"))
|
||||||
|
@ -338,9 +338,11 @@ GNU_SYSTEM_MODULES = \
|
|||||||
%D%/packages/iso-codes.scm \
|
%D%/packages/iso-codes.scm \
|
||||||
%D%/packages/jami.scm \
|
%D%/packages/jami.scm \
|
||||||
%D%/packages/java.scm \
|
%D%/packages/java.scm \
|
||||||
|
%D%/packages/java-bootstrap.scm \
|
||||||
%D%/packages/java-compression.scm \
|
%D%/packages/java-compression.scm \
|
||||||
%D%/packages/java-graphics.scm \
|
%D%/packages/java-graphics.scm \
|
||||||
%D%/packages/java-maths.scm \
|
%D%/packages/java-maths.scm \
|
||||||
|
%D%/packages/java-xml.scm \
|
||||||
%D%/packages/javascript.scm \
|
%D%/packages/javascript.scm \
|
||||||
%D%/packages/jemalloc.scm \
|
%D%/packages/jemalloc.scm \
|
||||||
%D%/packages/jrnl.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-fix-tests.patch \
|
||||||
%D%/packages/patches/python-3-hurd-configure.patch \
|
%D%/packages/patches/python-3-hurd-configure.patch \
|
||||||
%D%/packages/patches/python-3-no-static-lib.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-aionotify-0.2.0-py3.8.patch \
|
||||||
%D%/packages/patches/python-argcomplete-1.11.1-fish31.patch \
|
%D%/packages/patches/python-argcomplete-1.11.1-fish31.patch \
|
||||||
%D%/packages/patches/python-cross-compile.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 flashing-tools)
|
||||||
#:use-module (gnu packages java)
|
#:use-module (gnu packages java)
|
||||||
#:use-module (gnu packages java-graphics)
|
#:use-module (gnu packages java-graphics)
|
||||||
|
#:use-module (gnu packages java-xml)
|
||||||
#:use-module (gnu packages libusb)
|
#:use-module (gnu packages libusb)
|
||||||
#:use-module (gnu packages pkg-config)
|
#:use-module (gnu packages pkg-config)
|
||||||
#:use-module (gnu packages textutils)
|
#:use-module (gnu packages textutils)
|
||||||
#:use-module (gnu packages version-control)
|
#:use-module (gnu packages version-control))
|
||||||
#:use-module (gnu packages xml))
|
|
||||||
|
|
||||||
;; XXX The patch does not apply to libusb 1.0.24.
|
;; XXX The patch does not apply to libusb 1.0.24.
|
||||||
;; See https://github.com/axoloti/axoloti/issues/464
|
;; See https://github.com/axoloti/axoloti/issues/464
|
||||||
|
@ -27,8 +27,8 @@
|
|||||||
#:use-module (gnu packages)
|
#:use-module (gnu packages)
|
||||||
#:use-module (gnu packages compression)
|
#:use-module (gnu packages compression)
|
||||||
#:use-module (gnu packages java)
|
#:use-module (gnu packages java)
|
||||||
#:use-module (gnu packages textutils)
|
#:use-module (gnu packages java-xml)
|
||||||
#:use-module (gnu packages xml))
|
#:use-module (gnu packages textutils))
|
||||||
|
|
||||||
(define-public java-w3c-smil-3.0
|
(define-public java-w3c-smil-3.0
|
||||||
(package
|
(package
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
;;; GNU Guix --- Functional package management for GNU
|
;;; 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, 2017, 2018, 2020, 2021 Roel Janssen <roel@gnu.org>
|
||||||
;;; Copyright © 2016 Pjotr Prins <pjotr.guix@thebird.nl>
|
;;; Copyright © 2016 Pjotr Prins <pjotr.guix@thebird.nl>
|
||||||
;;; Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com>
|
;;; Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com>
|
||||||
@ -4997,13 +4997,13 @@ only one command.")
|
|||||||
(define-public r-biocparallel
|
(define-public r-biocparallel
|
||||||
(package
|
(package
|
||||||
(name "r-biocparallel")
|
(name "r-biocparallel")
|
||||||
(version "1.32.4")
|
(version "1.32.5")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (bioconductor-uri "BiocParallel" version))
|
(uri (bioconductor-uri "BiocParallel" version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1m4i27zx3ajwygwp38lrxf36rs575dkaxxc6jawpj1kzn7whi5ym"))))
|
"1yd6ln9cl3dcvfziar52fkvqi2lzm31l7j21r1rwl1mpkz0xapir"))))
|
||||||
(properties
|
(properties
|
||||||
`((upstream-name . "BiocParallel")))
|
`((upstream-name . "BiocParallel")))
|
||||||
(build-system r-build-system)
|
(build-system r-build-system)
|
||||||
@ -5118,13 +5118,13 @@ effort and encourages consistency.")
|
|||||||
(define-public r-bsgenome
|
(define-public r-bsgenome
|
||||||
(package
|
(package
|
||||||
(name "r-bsgenome")
|
(name "r-bsgenome")
|
||||||
(version "1.66.1")
|
(version "1.66.2")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (bioconductor-uri "BSgenome" version))
|
(uri (bioconductor-uri "BSgenome" version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1gzpvajw5n3qmym3312qaks450sq3w456kj4gqwaabgpjxbq7frm"))))
|
"0p75c52sw464bdqz7dyda9h8k2wsxdpdxxhya5awh977xaly90pf"))))
|
||||||
(properties
|
(properties
|
||||||
`((upstream-name . "BSgenome")))
|
`((upstream-name . "BSgenome")))
|
||||||
(build-system r-build-system)
|
(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
|
(define-public r-genomeinfodb
|
||||||
(package
|
(package
|
||||||
(name "r-genomeinfodb")
|
(name "r-genomeinfodb")
|
||||||
(version "1.34.4")
|
(version "1.34.6")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (bioconductor-uri "GenomeInfoDb" version))
|
(uri (bioconductor-uri "GenomeInfoDb" version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1nskqmlar85zg96c1fbacl7dqg6r0gl814rc7yh482y4wgmwyg0r"))))
|
"123kp69fmy5pbqh0j6qxdkvkm4g9pdwzms01i8qnix3m1b9j597w"))))
|
||||||
(properties
|
(properties
|
||||||
`((upstream-name . "GenomeInfoDb")))
|
`((upstream-name . "GenomeInfoDb")))
|
||||||
(build-system r-build-system)
|
(build-system r-build-system)
|
||||||
@ -6483,14 +6483,14 @@ in SNV base substitution data.")
|
|||||||
(define-public r-msnbase
|
(define-public r-msnbase
|
||||||
(package
|
(package
|
||||||
(name "r-msnbase")
|
(name "r-msnbase")
|
||||||
(version "2.24.0")
|
(version "2.24.2")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (bioconductor-uri "MSnbase" version))
|
(uri (bioconductor-uri "MSnbase" version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"16apm4qn7sbv06pk2i8k5z7qgkv0yq0h8ri32vikdplqxxh7h0cz"))))
|
"0jdq41rhn9qyhxfihvrgim76fzdrycc02wjsjdrff42gmray49w7"))))
|
||||||
(properties `((upstream-name . "MSnbase")))
|
(properties `((upstream-name . "MSnbase")))
|
||||||
(build-system r-build-system)
|
(build-system r-build-system)
|
||||||
(propagated-inputs
|
(propagated-inputs
|
||||||
@ -9916,14 +9916,14 @@ multiplication and calculation of row/column sums or means.")
|
|||||||
(define-public r-batchelor
|
(define-public r-batchelor
|
||||||
(package
|
(package
|
||||||
(name "r-batchelor")
|
(name "r-batchelor")
|
||||||
(version "1.14.0")
|
(version "1.14.1")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (bioconductor-uri "batchelor" version))
|
(uri (bioconductor-uri "batchelor" version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1cdpq8zfn718qmsqjp79siddh3kzag4a90p276v261xbjvrxavjv"))))
|
"1yj84ba6px14hbqg8526527vfcxmzvmly34f7hba4vybdm1jscfm"))))
|
||||||
(properties `((upstream-name . "batchelor")))
|
(properties `((upstream-name . "batchelor")))
|
||||||
(build-system r-build-system)
|
(build-system r-build-system)
|
||||||
(propagated-inputs
|
(propagated-inputs
|
||||||
@ -13629,38 +13629,31 @@ for other R packages to compile and link against.")
|
|||||||
(define-public r-flowworkspace
|
(define-public r-flowworkspace
|
||||||
(package
|
(package
|
||||||
(name "r-flowworkspace")
|
(name "r-flowworkspace")
|
||||||
(version "4.10.0")
|
(version "4.10.1")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (bioconductor-uri "flowWorkspace" version))
|
(uri (bioconductor-uri "flowWorkspace" version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"07w2pnnzmivfc621c8pvndqrn1k245cwjrb0nnk2i85i3si4j9c3"))))
|
"0jmbfclkfm0n2mshk94906kivii7awlskf7l7ydn8ki8wrpzxqg4"))))
|
||||||
(properties `((upstream-name . "flowWorkspace")))
|
(properties `((upstream-name . "flowWorkspace")))
|
||||||
(build-system r-build-system)
|
(build-system r-build-system)
|
||||||
(propagated-inputs
|
(propagated-inputs
|
||||||
(list r-aws-s3
|
(list r-bh
|
||||||
r-aws-signature
|
|
||||||
r-bh
|
|
||||||
r-biobase
|
r-biobase
|
||||||
r-biocgenerics
|
r-biocgenerics
|
||||||
|
r-cpp11
|
||||||
r-cytolib
|
r-cytolib
|
||||||
r-data-table
|
r-data-table
|
||||||
r-delayedarray
|
r-delayedarray
|
||||||
r-digest
|
|
||||||
r-dplyr
|
r-dplyr
|
||||||
r-flowcore
|
r-flowcore
|
||||||
r-ggplot2
|
r-ggplot2
|
||||||
r-graph
|
r-graph
|
||||||
r-lattice
|
|
||||||
r-latticeextra
|
|
||||||
r-matrixstats
|
r-matrixstats
|
||||||
r-ncdfflow
|
r-ncdfflow
|
||||||
r-rbgl
|
r-rbgl
|
||||||
r-rcpp
|
|
||||||
r-rcpparmadillo
|
|
||||||
r-rcppparallel
|
|
||||||
r-rgraphviz
|
r-rgraphviz
|
||||||
r-rhdf5lib
|
r-rhdf5lib
|
||||||
r-rprotobuflib
|
r-rprotobuflib
|
||||||
@ -14646,14 +14639,14 @@ arrays based on fast wavelet-based functional models.")
|
|||||||
(define-public r-variancepartition
|
(define-public r-variancepartition
|
||||||
(package
|
(package
|
||||||
(name "r-variancepartition")
|
(name "r-variancepartition")
|
||||||
(version "1.28.0")
|
(version "1.28.1")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (bioconductor-uri "variancePartition" version))
|
(uri (bioconductor-uri "variancePartition" version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1mn91r0yrhz08m3vs2h3i35rcbxyc7sdfknmk6vcw1z75znjsnpl"))))
|
"0ypw3ckaf4qll83rl2bjzfc7g2m4v0n2mq645ppyfga8wv8kwssy"))))
|
||||||
(properties
|
(properties
|
||||||
`((upstream-name . "variancePartition")))
|
`((upstream-name . "variancePartition")))
|
||||||
(build-system r-build-system)
|
(build-system r-build-system)
|
||||||
@ -14674,6 +14667,7 @@ arrays based on fast wavelet-based functional models.")
|
|||||||
r-pbkrtest
|
r-pbkrtest
|
||||||
r-progress
|
r-progress
|
||||||
r-rdpack
|
r-rdpack
|
||||||
|
r-remacor
|
||||||
r-reshape2
|
r-reshape2
|
||||||
r-rhpcblasctl
|
r-rhpcblasctl
|
||||||
r-rlang
|
r-rlang
|
||||||
@ -15614,13 +15608,13 @@ functionality.")
|
|||||||
(define-public r-biocviews
|
(define-public r-biocviews
|
||||||
(package
|
(package
|
||||||
(name "r-biocviews")
|
(name "r-biocviews")
|
||||||
(version "1.66.1")
|
(version "1.66.2")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (bioconductor-uri "biocViews" version))
|
(uri (bioconductor-uri "biocViews" version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1xplkzm29v6aysfhb6kf2nnmvc37jmcvv6vsgbx8z8qccn96jk02"))))
|
"0fdxlixwf4d3p1prq37cgfvaiym44h2yd4bym6wp4dl8h648v99y"))))
|
||||||
(properties
|
(properties
|
||||||
`((upstream-name . "biocViews")))
|
`((upstream-name . "biocViews")))
|
||||||
(build-system r-build-system)
|
(build-system r-build-system)
|
||||||
@ -15860,14 +15854,14 @@ analytics on packages.")
|
|||||||
(define-public r-biocset
|
(define-public r-biocset
|
||||||
(package
|
(package
|
||||||
(name "r-biocset")
|
(name "r-biocset")
|
||||||
(version "1.12.0")
|
(version "1.12.1")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (bioconductor-uri "BiocSet" version))
|
(uri (bioconductor-uri "BiocSet" version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"197cy5gdlvac7jqwb4dm4dbqfms2nvc3paqs75nsg9mpp1h5z8l8"))))
|
"1cqp5m6yic5vsp8k05r50sx2cmi9cwzxfmlswcjw28nascq3gpv0"))))
|
||||||
(properties `((upstream-name . "BiocSet")))
|
(properties `((upstream-name . "BiocSet")))
|
||||||
(build-system r-build-system)
|
(build-system r-build-system)
|
||||||
(propagated-inputs
|
(propagated-inputs
|
||||||
|
@ -110,6 +110,7 @@
|
|||||||
#:use-module (gnu packages imagemagick)
|
#:use-module (gnu packages imagemagick)
|
||||||
#:use-module (gnu packages java)
|
#:use-module (gnu packages java)
|
||||||
#:use-module (gnu packages java-compression)
|
#:use-module (gnu packages java-compression)
|
||||||
|
#:use-module (gnu packages java-xml)
|
||||||
#:use-module (gnu packages jemalloc)
|
#:use-module (gnu packages jemalloc)
|
||||||
#:use-module (gnu packages jupyter)
|
#:use-module (gnu packages jupyter)
|
||||||
#:use-module (gnu packages libffi)
|
#:use-module (gnu packages libffi)
|
||||||
@ -7688,6 +7689,38 @@ sequence.")
|
|||||||
(supported-systems '("i686-linux" "x86_64-linux"))
|
(supported-systems '("i686-linux" "x86_64-linux"))
|
||||||
(license license:bsd-3)))
|
(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
|
(define-public r-gutils
|
||||||
(let ((commit "10e36c7b580aacb2d952140a3fdd82418aaddea6")
|
(let ((commit "10e36c7b580aacb2d952140a3fdd82418aaddea6")
|
||||||
(revision "1"))
|
(revision "1"))
|
||||||
|
@ -12,7 +12,7 @@
|
|||||||
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
|
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
|
||||||
;;; Copyright © 2019 Hartmut Goebel <h.goebel@goebel-consult.de>
|
;;; Copyright © 2019 Hartmut Goebel <h.goebel@goebel-consult.de>
|
||||||
;;; Copyright © 2020, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
;;; 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 © 2020 Julien Lepiller <julien@lepiller.eu>
|
||||||
;;; Copyright © 2021 lu hui <luhuins@163.com>
|
;;; Copyright © 2021 lu hui <luhuins@163.com>
|
||||||
;;; Copyright © 2021, 2022 Foo Chuan Wei <chuanwei.foo@hotmail.com>
|
;;; Copyright © 2021, 2022 Foo Chuan Wei <chuanwei.foo@hotmail.com>
|
||||||
@ -58,6 +58,7 @@
|
|||||||
#:use-module (gnu packages emacs)
|
#:use-module (gnu packages emacs)
|
||||||
#:use-module (gnu packages flex)
|
#:use-module (gnu packages flex)
|
||||||
#:use-module (gnu packages gcc)
|
#:use-module (gnu packages gcc)
|
||||||
|
#:use-module (gnu packages golang)
|
||||||
#:use-module (gnu packages graphviz)
|
#:use-module (gnu packages graphviz)
|
||||||
#:use-module (gnu packages llvm)
|
#:use-module (gnu packages llvm)
|
||||||
#:use-module (gnu packages linux)
|
#:use-module (gnu packages linux)
|
||||||
@ -80,6 +81,44 @@
|
|||||||
|
|
||||||
;;; Tools to deal with source code: metrics, cross-references, etc.
|
;;; 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
|
(define-public cflow
|
||||||
(package
|
(package
|
||||||
(name "cflow")
|
(name "cflow")
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
;;; GNU Guix --- Functional package management for GNU
|
;;; 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 Andreas Enge <andreas@enge.fr>
|
||||||
;;; Copyright © 2015, 2016 Pjotr Prins <pjotr.guix@thebird.nl>
|
;;; Copyright © 2015, 2016 Pjotr Prins <pjotr.guix@thebird.nl>
|
||||||
;;; Copyright © 2016, 2017 Ben Woodcroft <donttrustben@gmail.com>
|
;;; Copyright © 2016, 2017 Ben Woodcroft <donttrustben@gmail.com>
|
||||||
@ -259,13 +259,13 @@ automatically pruning objects to maintain the constraints.")
|
|||||||
(define-public r-collections
|
(define-public r-collections
|
||||||
(package
|
(package
|
||||||
(name "r-collections")
|
(name "r-collections")
|
||||||
(version "0.3.6")
|
(version "0.3.7")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (cran-uri "collections" version))
|
(uri (cran-uri "collections" version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32 "19y7nds67700zy6354s1i0aglgjylzv65psccz5x3ih8f48sakr3"))))
|
(base32 "003zlp5s2ilq3pq0imlp7p46jkfihwzg1hkkgk7378ikcbwnz17z"))))
|
||||||
(properties `((upstream-name . "collections")))
|
(properties `((upstream-name . "collections")))
|
||||||
(build-system r-build-system)
|
(build-system r-build-system)
|
||||||
(home-page "https://github.com/randy3k/collections")
|
(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
|
;; obtained here: https://github.com/rstudio/httpuv/blob/master/LICENSE
|
||||||
(license license:gpl3+)))
|
(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
|
(define-public r-jsonlite
|
||||||
(package
|
(package
|
||||||
(name "r-jsonlite")
|
(name "r-jsonlite")
|
||||||
@ -2894,13 +2926,13 @@ a list of p-values.")
|
|||||||
(define-public r-htmlwidgets
|
(define-public r-htmlwidgets
|
||||||
(package
|
(package
|
||||||
(name "r-htmlwidgets")
|
(name "r-htmlwidgets")
|
||||||
(version "1.6.0")
|
(version "1.6.1")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (cran-uri "htmlwidgets" version))
|
(uri (cran-uri "htmlwidgets" version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"06prjx6ic2bddaw50ksz6l7hsidkzwb69m85vzc0apxvwaygz0gh"))))
|
"0hqfjvfs3mcpqwim79vac1738k19ipr10zvdqrw5kzpwpsy3qls2"))))
|
||||||
(build-system r-build-system)
|
(build-system r-build-system)
|
||||||
(propagated-inputs
|
(propagated-inputs
|
||||||
(list r-htmltools r-jsonlite
|
(list r-htmltools r-jsonlite
|
||||||
@ -3081,14 +3113,14 @@ rules and utility functions for adaptive GH quadrature.")
|
|||||||
(define-public r-rstpm2
|
(define-public r-rstpm2
|
||||||
(package
|
(package
|
||||||
(name "r-rstpm2")
|
(name "r-rstpm2")
|
||||||
(version "1.5.8")
|
(version "1.5.9")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (cran-uri "rstpm2" version))
|
(uri (cran-uri "rstpm2" version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"038qq5kar9f5ygd18aicwfqrr7fl37p0r9shgpc6wf2vmj564crn"))))
|
"1zl7z1l19s960mrhlzvpga07kzqfrhhq7qlkgln4wj0gcmhicyc6"))))
|
||||||
(properties `((upstream-name . "rstpm2")))
|
(properties `((upstream-name . "rstpm2")))
|
||||||
(build-system r-build-system)
|
(build-system r-build-system)
|
||||||
(propagated-inputs
|
(propagated-inputs
|
||||||
@ -6046,14 +6078,14 @@ these progress updates.")
|
|||||||
(define-public r-lava
|
(define-public r-lava
|
||||||
(package
|
(package
|
||||||
(name "r-lava")
|
(name "r-lava")
|
||||||
(version "1.7.0")
|
(version "1.7.1")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (cran-uri "lava" version))
|
(uri (cran-uri "lava" version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"092y5v5mp9a9mqia47fqh22br31crp8w5b4ks2y15242ydlxly1h"))))
|
"0r7panw0pb9xi10navih9796r08yc5l6j914pfn8wzlm4mfwr7bs"))))
|
||||||
(build-system r-build-system)
|
(build-system r-build-system)
|
||||||
(propagated-inputs
|
(propagated-inputs
|
||||||
(list r-future-apply r-numderiv r-progressr r-squarem r-survival))
|
(list r-future-apply r-numderiv r-progressr r-squarem r-survival))
|
||||||
@ -6163,14 +6195,14 @@ included in this package.")
|
|||||||
(define-public r-timedate
|
(define-public r-timedate
|
||||||
(package
|
(package
|
||||||
(name "r-timedate")
|
(name "r-timedate")
|
||||||
(version "4021.107")
|
(version "4022.108")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (cran-uri "timeDate" version))
|
(uri (cran-uri "timeDate" version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1i54a425r5hi08yl9rb2qh1nynh29ppv9b4h46cxyzn1ybqlr9sg"))))
|
"1vyfpz2ac43c0s6a4j4d0xfc430mwgw3syf03xszzggnw97rp555"))))
|
||||||
(properties `((upstream-name . "timeDate")))
|
(properties `((upstream-name . "timeDate")))
|
||||||
(build-system r-build-system)
|
(build-system r-build-system)
|
||||||
(home-page "https://www.rmetrics.org")
|
(home-page "https://www.rmetrics.org")
|
||||||
@ -6900,14 +6932,14 @@ clustered data.")
|
|||||||
(define-public r-mitml
|
(define-public r-mitml
|
||||||
(package
|
(package
|
||||||
(name "r-mitml")
|
(name "r-mitml")
|
||||||
(version "0.4-3")
|
(version "0.4-4")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (cran-uri "mitml" version))
|
(uri (cran-uri "mitml" version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"00i18nnvrdrg91crgcp2a431xs71cawaip3xkqk2myv0iav3xga9"))))
|
"12mgjvifpprzlpjbcybd08fkps0kdxim45saan4cng4lc4klh880"))))
|
||||||
(build-system r-build-system)
|
(build-system r-build-system)
|
||||||
(propagated-inputs
|
(propagated-inputs
|
||||||
(list r-haven r-jomo r-pan))
|
(list r-haven r-jomo r-pan))
|
||||||
@ -7715,14 +7747,14 @@ Markdown documents.")
|
|||||||
(define-public r-seriation
|
(define-public r-seriation
|
||||||
(package
|
(package
|
||||||
(name "r-seriation")
|
(name "r-seriation")
|
||||||
(version "1.4.0")
|
(version "1.4.1")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (cran-uri "seriation" version))
|
(uri (cran-uri "seriation" version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1bcd559wsjjdmpc1892vsf8wrkh4ijgn1y71h3y3v5clmd21ycmx"))))
|
"1b8z7alav4d0i90251crzrq3yp3f11w0zlalh1f3b7si5yl2dkmr"))))
|
||||||
(build-system r-build-system)
|
(build-system r-build-system)
|
||||||
(propagated-inputs
|
(propagated-inputs
|
||||||
(list r-ca
|
(list r-ca
|
||||||
@ -7813,13 +7845,13 @@ to variables on the left-hand side of the assignment.")
|
|||||||
(define-public r-zlog
|
(define-public r-zlog
|
||||||
(package
|
(package
|
||||||
(name "r-zlog")
|
(name "r-zlog")
|
||||||
(version "1.0.0")
|
(version "1.0.2")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (cran-uri "zlog" version))
|
(uri (cran-uri "zlog" version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1d5j31p0h3rrn230087h3ngpvwknlisjv0f1qdbicdj9m177spci"))))
|
"0fi9aqrmikdg5ibwhn82kslj4lxih03vm27jmi14m73h09yy4in5"))))
|
||||||
(properties `((upstream-name . "zlog")))
|
(properties `((upstream-name . "zlog")))
|
||||||
(build-system r-build-system)
|
(build-system r-build-system)
|
||||||
(native-inputs (list r-knitr))
|
(native-inputs (list r-knitr))
|
||||||
@ -8798,14 +8830,14 @@ sample Robust Rank-Order Distributional Test.")
|
|||||||
(define-public r-expm
|
(define-public r-expm
|
||||||
(package
|
(package
|
||||||
(name "r-expm")
|
(name "r-expm")
|
||||||
(version "0.999-6")
|
(version "0.999-7")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (cran-uri "expm" version))
|
(uri (cran-uri "expm" version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1p5dapwv8ycxaysgi6imnby04i4kh1c5a2czqa4wygz0s8pr2y9c"))))
|
"1wd03dcqxyi7kyznfq7107ix1bsp7rwzqqv6w7p37pdq2jwlkwi8"))))
|
||||||
(build-system r-build-system)
|
(build-system r-build-system)
|
||||||
(propagated-inputs (list r-matrix))
|
(propagated-inputs (list r-matrix))
|
||||||
(native-inputs (list gfortran))
|
(native-inputs (list gfortran))
|
||||||
@ -8977,14 +9009,14 @@ powerful and convenient features.")
|
|||||||
(define-public r-heatmaply
|
(define-public r-heatmaply
|
||||||
(package
|
(package
|
||||||
(name "r-heatmaply")
|
(name "r-heatmaply")
|
||||||
(version "1.4.0")
|
(version "1.4.2")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (cran-uri "heatmaply" version))
|
(uri (cran-uri "heatmaply" version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"0q1vkf55a5r0ssybdbi2fyhn13p29kw04yp46c34n7apm0k2ymgi"))))
|
"0zgaqmbc1nha38c8kx5xdjdjbwmykrf2acq8ydki8dqixv6b34la"))))
|
||||||
(build-system r-build-system)
|
(build-system r-build-system)
|
||||||
(propagated-inputs
|
(propagated-inputs
|
||||||
(list r-assertthat
|
(list r-assertthat
|
||||||
@ -10219,14 +10251,14 @@ Python's @url{https://github.com/ActiveState/appdirs,Appdirs} to R.")
|
|||||||
(define-public r-rastervis
|
(define-public r-rastervis
|
||||||
(package
|
(package
|
||||||
(name "r-rastervis")
|
(name "r-rastervis")
|
||||||
(version "0.51.4")
|
(version "0.51.5")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (cran-uri "rasterVis" version))
|
(uri (cran-uri "rasterVis" version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1z4vwjmx8n01jc2ypqs1pmx70rc3pjaz3ahk8j8zcif40v0qgy6i"))))
|
"18bsrw629p4pkyhrpjmiyhq73w882bhgpwmkih0gjnw3ywwgx7rs"))))
|
||||||
(properties `((upstream-name . "rasterVis")))
|
(properties `((upstream-name . "rasterVis")))
|
||||||
(build-system r-build-system)
|
(build-system r-build-system)
|
||||||
(propagated-inputs
|
(propagated-inputs
|
||||||
@ -10399,14 +10431,14 @@ always locate the files relative to your project root.")
|
|||||||
(define-public r-reticulate
|
(define-public r-reticulate
|
||||||
(package
|
(package
|
||||||
(name "r-reticulate")
|
(name "r-reticulate")
|
||||||
(version "1.26")
|
(version "1.27")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (cran-uri "reticulate" version))
|
(uri (cran-uri "reticulate" version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1ibliic3qp597nskak2bfa6iyl721ssgcavwvfaf1c71plilimrz"))))
|
"19k96g43ll9zp72g9kmf9gg7k9cwwpyxzf2nd6fvx5jal5bq8mlx"))))
|
||||||
(build-system r-build-system)
|
(build-system r-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
(list
|
(list
|
||||||
@ -10459,13 +10491,13 @@ file.")
|
|||||||
(define-public r-billboarder
|
(define-public r-billboarder
|
||||||
(package
|
(package
|
||||||
(name "r-billboarder")
|
(name "r-billboarder")
|
||||||
(version "0.3.1")
|
(version "0.4.0")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (cran-uri "billboarder" version))
|
(uri (cran-uri "billboarder" version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32 "189ngvg84rcwhrivxskmjv3srhadvzr4p1v8pf11axyv2qn01b0x"))
|
(base32 "1llac7fyyfax6q8n9b8lccyl9c8vxqvkfp341sz59mrw8yhwb2hr"))
|
||||||
(snippet
|
(snippet
|
||||||
'(delete-file "inst/htmlwidgets/lib/billboard/billboard.pkgd.min.js"))))
|
'(delete-file "inst/htmlwidgets/lib/billboard/billboard.pkgd.min.js"))))
|
||||||
(properties `((upstream-name . "billboarder")))
|
(properties `((upstream-name . "billboarder")))
|
||||||
@ -10501,10 +10533,10 @@ file.")
|
|||||||
("js-billboard"
|
("js-billboard"
|
||||||
,(origin
|
,(origin
|
||||||
(method url-fetch)
|
(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
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1kx5rqmn87pgal2cwmcij2rrnwa0fgcsw6y99m4i0l2sdm0qffv2"))))))
|
"1lyj4yl95qgh06iygb2y2mdg1zxijzxi5h85z7kp8ngm825z6rpi"))))))
|
||||||
(home-page "https://github.com/dreamRs/billboarder")
|
(home-page "https://github.com/dreamRs/billboarder")
|
||||||
(synopsis "Create interactive charts with the JavaScript Billboard library")
|
(synopsis "Create interactive charts with the JavaScript Billboard library")
|
||||||
(description
|
(description
|
||||||
@ -11057,17 +11089,17 @@ references and Rd files.")
|
|||||||
(define-public r-officer
|
(define-public r-officer
|
||||||
(package
|
(package
|
||||||
(name "r-officer")
|
(name "r-officer")
|
||||||
(version "0.5.0")
|
(version "0.5.1")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (cran-uri "officer" version))
|
(uri (cran-uri "officer" version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"19kms5pjgb5mjqyqzgnpykd5divbkrs5apz8z27ivgw78iizsqh6"))))
|
"1r885h8ma2py3idxkki2bnsbcimrw36qd6km2bhyhlav79n7bh4w"))))
|
||||||
(build-system r-build-system)
|
(build-system r-build-system)
|
||||||
(propagated-inputs
|
(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")
|
(home-page "https://davidgohel.github.io/officer")
|
||||||
(synopsis "Manipulation of Word and PowerPoint documents")
|
(synopsis "Manipulation of Word and PowerPoint documents")
|
||||||
(description
|
(description
|
||||||
@ -11464,14 +11496,14 @@ documents.")
|
|||||||
(define-public r-writexl
|
(define-public r-writexl
|
||||||
(package
|
(package
|
||||||
(name "r-writexl")
|
(name "r-writexl")
|
||||||
(version "1.4.1")
|
(version "1.4.2")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (cran-uri "writexl" version))
|
(uri (cran-uri "writexl" version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1qhf7p14mijdyl5i40gfpzgvdflcs6s8xnwrabsnjxpa17xbamkn"))))
|
"09whcadnwqcshicbhv1vnvdai087yimmnz9lvc3rld5nn8z66xcg"))))
|
||||||
(build-system r-build-system)
|
(build-system r-build-system)
|
||||||
(inputs (list zlib))
|
(inputs (list zlib))
|
||||||
(home-page "https://github.com/ropensci/writexl")
|
(home-page "https://github.com/ropensci/writexl")
|
||||||
@ -12045,14 +12077,14 @@ visualization and candidate genes around SNPs.")
|
|||||||
(define-public r-precrec
|
(define-public r-precrec
|
||||||
(package
|
(package
|
||||||
(name "r-precrec")
|
(name "r-precrec")
|
||||||
(version "0.12.9")
|
(version "0.14.1")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (cran-uri "precrec" version))
|
(uri (cran-uri "precrec" version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1dfz2rqx2ww2l5r40ahg0qdj3rjrwiwh427mw7j5ynhpcj21j2qm"))))
|
"04pyqwc4p3bzwfcf7a74nkh7b2001053jagzvz9ghpyj380f66x8"))))
|
||||||
(properties `((upstream-name . "precrec")))
|
(properties `((upstream-name . "precrec")))
|
||||||
(build-system r-build-system)
|
(build-system r-build-system)
|
||||||
(propagated-inputs
|
(propagated-inputs
|
||||||
@ -12061,6 +12093,7 @@ visualization and candidate genes around SNPs.")
|
|||||||
r-ggplot2
|
r-ggplot2
|
||||||
r-gridextra
|
r-gridextra
|
||||||
r-rcpp
|
r-rcpp
|
||||||
|
r-rlang
|
||||||
r-withr))
|
r-withr))
|
||||||
(native-inputs (list r-knitr))
|
(native-inputs (list r-knitr))
|
||||||
(home-page "https://evalclass.github.io/precrec/")
|
(home-page "https://evalclass.github.io/precrec/")
|
||||||
@ -12073,14 +12106,14 @@ of precision-recall and ROC (Receiver Operator Characteristics) curves.")
|
|||||||
(define-public r-netrep
|
(define-public r-netrep
|
||||||
(package
|
(package
|
||||||
(name "r-netrep")
|
(name "r-netrep")
|
||||||
(version "1.2.4")
|
(version "1.2.6")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (cran-uri "NetRep" version))
|
(uri (cran-uri "NetRep" version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1swlb2k9bc7whvslxbklz864j9ynvna73hvq5rhv61cv5vy05ksd"))))
|
"0hyj91fr4y9csj2dy4z9cpr92hh8gk3xnjr6zpk9n0wk37sx44h6"))))
|
||||||
(properties `((upstream-name . "NetRep")))
|
(properties `((upstream-name . "NetRep")))
|
||||||
(build-system r-build-system)
|
(build-system r-build-system)
|
||||||
(propagated-inputs
|
(propagated-inputs
|
||||||
@ -12373,14 +12406,14 @@ a library of prediction algorithms to be used in the super learner.")
|
|||||||
(define-public r-drtmle
|
(define-public r-drtmle
|
||||||
(package
|
(package
|
||||||
(name "r-drtmle")
|
(name "r-drtmle")
|
||||||
(version "1.1.1")
|
(version "1.1.2")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (cran-uri "drtmle" version))
|
(uri (cran-uri "drtmle" version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"12vplpz9bg5444jy29mbdr70hqby073vb3iw76v2csrwy3ws3f21"))))
|
"0qvdxzvpi7a66gx61v6fj31zy4y5cid18g4qgv5lir7qc74rbbx0"))))
|
||||||
(properties `((upstream-name . "drtmle")))
|
(properties `((upstream-name . "drtmle")))
|
||||||
(build-system r-build-system)
|
(build-system r-build-system)
|
||||||
(propagated-inputs
|
(propagated-inputs
|
||||||
@ -12593,14 +12626,14 @@ used to teach mathematics, statistics, computation and modeling.")
|
|||||||
(define-public r-raster
|
(define-public r-raster
|
||||||
(package
|
(package
|
||||||
(name "r-raster")
|
(name "r-raster")
|
||||||
(version "3.6-11")
|
(version "3.6-13")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (cran-uri "raster" version))
|
(uri (cran-uri "raster" version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1arvmhf3ijzh3aanw8n6mdnwk4h26axsxpszvr5g43l7g5vfmggf"))))
|
"035hb1063lrlcs3l5aiccminax228ji0363hijmnxkvl7fsydxp1"))))
|
||||||
(build-system r-build-system)
|
(build-system r-build-system)
|
||||||
(propagated-inputs
|
(propagated-inputs
|
||||||
(list r-rcpp r-sp r-terra))
|
(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.")
|
algorithms, clusterings, and individual clusters.")
|
||||||
(license license:expat)))
|
(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
|
(define-public r-tweedie
|
||||||
(package
|
(package
|
||||||
(name "r-tweedie")
|
(name "r-tweedie")
|
||||||
@ -14651,14 +14709,14 @@ analysing multivariate abundance data in community ecology.")
|
|||||||
(define-public r-afex
|
(define-public r-afex
|
||||||
(package
|
(package
|
||||||
(name "r-afex")
|
(name "r-afex")
|
||||||
(version "1.2-0")
|
(version "1.2-1")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (cran-uri "afex" version))
|
(uri (cran-uri "afex" version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1hii6mx4qbmv4m1hy44sp19xf0r7mc68p767bwc58qrgpawgymwb"))))
|
"1jxahp2nq2clmi7wqi0n0b23xyvsjckvz9bmj81j35fv8v6wxa73"))))
|
||||||
(build-system r-build-system)
|
(build-system r-build-system)
|
||||||
;; This is needed for the vignette builder
|
;; This is needed for the vignette builder
|
||||||
(arguments
|
(arguments
|
||||||
@ -14959,14 +15017,14 @@ other values.")
|
|||||||
(define-public r-ncdf4
|
(define-public r-ncdf4
|
||||||
(package
|
(package
|
||||||
(name "r-ncdf4")
|
(name "r-ncdf4")
|
||||||
(version "1.20")
|
(version "1.21")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (cran-uri "ncdf4" version))
|
(uri (cran-uri "ncdf4" version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1kpi5xygx1nj8ybxrn9z0jxi3lbcibdvc7mjgyvm6f9plwjlxjvq"))))
|
"03dk47xz6qlpky9kkpkkxc472czq542yml3fdg39bic2yggffnig"))))
|
||||||
(build-system r-build-system)
|
(build-system r-build-system)
|
||||||
(inputs
|
(inputs
|
||||||
(list netcdf zlib))
|
(list netcdf zlib))
|
||||||
@ -15006,14 +15064,14 @@ Bioconductor packages.")
|
|||||||
(define-public r-rgl
|
(define-public r-rgl
|
||||||
(package
|
(package
|
||||||
(name "r-rgl")
|
(name "r-rgl")
|
||||||
(version "0.110.2")
|
(version "0.111.6")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (cran-uri "rgl" version))
|
(uri (cran-uri "rgl" version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"0v9lrsdmhw0wqfbrrjirgppd40cn00ignq3rg2jn3q8ak70ih4fs"))))
|
"1h6nbcnbl0knmc91923wfhghs58yjc84mhnmk2byd474lrgzxynd"))))
|
||||||
(build-system r-build-system)
|
(build-system r-build-system)
|
||||||
(native-inputs
|
(native-inputs
|
||||||
(list pkg-config
|
(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
|
(define-public r-fmsb
|
||||||
(package
|
(package
|
||||||
(name "r-fmsb")
|
(name "r-fmsb")
|
||||||
(version "0.7.4")
|
(version "0.7.5")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (cran-uri "fmsb" version))
|
(uri (cran-uri "fmsb" version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1rmmvx38rmamiw0ajqhlksgxj6fgm8ymq903yxqq2bzxx8fhj5n2"))))
|
"082qj08kzyzwvjacwq0sl3xxdx6iz5hgx6q24jv1mnvx7z5xn5ry"))))
|
||||||
(build-system r-build-system)
|
(build-system r-build-system)
|
||||||
(home-page "http://minato.sip21c.org/msb/")
|
(home-page "http://minato.sip21c.org/msb/")
|
||||||
(synopsis "Functions for medical statistics book with demographic data")
|
(synopsis "Functions for medical statistics book with demographic data")
|
||||||
@ -16132,13 +16190,13 @@ Touzet and Varre (2007).")
|
|||||||
(define-public r-rncl
|
(define-public r-rncl
|
||||||
(package
|
(package
|
||||||
(name "r-rncl")
|
(name "r-rncl")
|
||||||
(version "0.8.6")
|
(version "0.8.7")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (cran-uri "rncl" version))
|
(uri (cran-uri "rncl" version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1ywgwqn82z8h6zpcxxq4hgngdpfa6dj0lr7bfq4cwfml9z075jgw"))))
|
"0flrqz7pansy11ds23qv06bcmh6vxqljq0517v6292ibbx7nx1qx"))))
|
||||||
(build-system r-build-system)
|
(build-system r-build-system)
|
||||||
(propagated-inputs
|
(propagated-inputs
|
||||||
(list r-progress r-rcpp))
|
(list r-progress r-rcpp))
|
||||||
@ -18619,14 +18677,14 @@ probabilities from a standard bivariate normal CDF.")
|
|||||||
(define-public r-lavaan
|
(define-public r-lavaan
|
||||||
(package
|
(package
|
||||||
(name "r-lavaan")
|
(name "r-lavaan")
|
||||||
(version "0.6-12")
|
(version "0.6-13")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (cran-uri "lavaan" version))
|
(uri (cran-uri "lavaan" version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"17h79pnww1mihvlp6ap0r6d8wnly9bwszj13l5dkby0284z2fj40"))))
|
"0glcam1g8zx3xvvp8nsbsj5vi8hba0sm20akyf4rivbr6s745y1a"))))
|
||||||
(build-system r-build-system)
|
(build-system r-build-system)
|
||||||
(propagated-inputs
|
(propagated-inputs
|
||||||
(list r-mass r-mnormt r-numderiv r-pbivnorm))
|
(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.")
|
plotting functions are available for analyzing clustering results.")
|
||||||
(license license:gpl2+)))
|
(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
|
(define-public r-rematch2
|
||||||
(package
|
(package
|
||||||
(name "r-rematch2")
|
(name "r-rematch2")
|
||||||
@ -20816,14 +20904,14 @@ layer by layer.")
|
|||||||
(define-public r-gkmsvm
|
(define-public r-gkmsvm
|
||||||
(package
|
(package
|
||||||
(name "r-gkmsvm")
|
(name "r-gkmsvm")
|
||||||
(version "0.81.0")
|
(version "0.82.0")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (cran-uri "gkmSVM" version))
|
(uri (cran-uri "gkmSVM" version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"119g5rhc7ffyviz04r04aj5z1g6abnj3ddd01g7db505sdr6lapj"))))
|
"1m2cq4b0srghaj04p5ffbc21zv1rg7avi8pn765bybjhvrn567bm"))))
|
||||||
(properties `((upstream-name . "gkmSVM")))
|
(properties `((upstream-name . "gkmSVM")))
|
||||||
(build-system r-build-system)
|
(build-system r-build-system)
|
||||||
(propagated-inputs
|
(propagated-inputs
|
||||||
@ -26295,13 +26383,13 @@ finding peaks in spectra, converting humidity measures.")
|
|||||||
(define-public r-qqconf
|
(define-public r-qqconf
|
||||||
(package
|
(package
|
||||||
(name "r-qqconf")
|
(name "r-qqconf")
|
||||||
(version "1.3.0")
|
(version "1.3.1")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (cran-uri "qqconf" version))
|
(uri (cran-uri "qqconf" version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"11sh0q5bwmqdygqd1gspx7xc5mysj18whz11afnz6s1m820snhhw"))))
|
"1vvw79l8nqpqvmfpff5khgdjbs1s2q5ylg72lvkihd2qfk0d8cf5"))))
|
||||||
(properties `((upstream-name . "qqconf")))
|
(properties `((upstream-name . "qqconf")))
|
||||||
(build-system r-build-system)
|
(build-system r-build-system)
|
||||||
(inputs (list fftw))
|
(inputs (list fftw))
|
||||||
@ -26828,14 +26916,14 @@ Raftery, Appl.Statistics, 1989); it includes inference and basic methods.")
|
|||||||
(define-public r-forecast
|
(define-public r-forecast
|
||||||
(package
|
(package
|
||||||
(name "r-forecast")
|
(name "r-forecast")
|
||||||
(version "8.19")
|
(version "8.20")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (cran-uri "forecast" version))
|
(uri (cran-uri "forecast" version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1l3mdldghsf319fh8gx81w8f5i5mnrcn70rjjylzk4j8n7gicpih"))))
|
"03ll4v4r2l4kk4lbwnrvmd24003qm6j81lzr06qlns311zf4dv9v"))))
|
||||||
(properties `((upstream-name . "forecast")))
|
(properties `((upstream-name . "forecast")))
|
||||||
(build-system r-build-system)
|
(build-system r-build-system)
|
||||||
(propagated-inputs
|
(propagated-inputs
|
||||||
@ -31533,14 +31621,14 @@ vignettes in all common formats.")
|
|||||||
(define-public r-tidytext
|
(define-public r-tidytext
|
||||||
(package
|
(package
|
||||||
(name "r-tidytext")
|
(name "r-tidytext")
|
||||||
(version "0.4.0")
|
(version "0.4.1")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (cran-uri "tidytext" version))
|
(uri (cran-uri "tidytext" version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1ywx4zhx1a0r1lyd11w3cbz33silpx5m1sk9rd3kvj21wvfdramk"))))
|
"05f8209qx1rvddnkl0h05yig09xahs8lqgq9w5dvdiwarji50rsj"))))
|
||||||
(properties `((upstream-name . "tidytext")))
|
(properties `((upstream-name . "tidytext")))
|
||||||
(build-system r-build-system)
|
(build-system r-build-system)
|
||||||
(propagated-inputs
|
(propagated-inputs
|
||||||
@ -31912,14 +32000,14 @@ covariate (usually group indicator) and the scores.")
|
|||||||
(define-public r-qtl
|
(define-public r-qtl
|
||||||
(package
|
(package
|
||||||
(name "r-qtl")
|
(name "r-qtl")
|
||||||
(version "1.54")
|
(version "1.58")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (cran-uri "qtl" version))
|
(uri (cran-uri "qtl" version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1rzkxkmcgd6drxbgqp6w6jab5bs7vla2x2ndv3l4nlbcwzi41jw0"))))
|
"15wxn3sdvmgjgmfxl0qsxhkr7b7kn1hz2962cd6k0qmffz0mmjkf"))))
|
||||||
(build-system r-build-system)
|
(build-system r-build-system)
|
||||||
(home-page "https://rqtl.org/")
|
(home-page "https://rqtl.org/")
|
||||||
(synopsis "R package for analyzing QTL experiments in genetics")
|
(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
|
(define-public r-mlr3learners
|
||||||
(package
|
(package
|
||||||
(name "r-mlr3learners")
|
(name "r-mlr3learners")
|
||||||
(version "0.5.5")
|
(version "0.5.6")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (cran-uri "mlr3learners" version))
|
(uri (cran-uri "mlr3learners" version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"0m5s7jfqfh48gxllvi93wb5w2pzhzx8rcx5bz87lkmv1cnj65q84"))))
|
"1m0psjqcl2pfy73wmc29vyz122v0kqmws6d0dgl7wsy1csfjsjm2"))))
|
||||||
(build-system r-build-system)
|
(build-system r-build-system)
|
||||||
(propagated-inputs
|
(propagated-inputs
|
||||||
(list r-checkmate
|
(list r-checkmate
|
||||||
@ -33827,20 +33915,21 @@ supply the workflow to create thematic maps. This package also facilitates
|
|||||||
(define-public r-rtweet
|
(define-public r-rtweet
|
||||||
(package
|
(package
|
||||||
(name "r-rtweet")
|
(name "r-rtweet")
|
||||||
(version "1.0.2")
|
(version "1.1.0")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (cran-uri "rtweet" version))
|
(uri (cran-uri "rtweet" version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1dhdq2c2zl88h29caqpm7zh2i5970q7rfg98zf2xb7x4zak7bq9x"))))
|
"0dq6ckf2mp6wm6y8xzjby21s356760fmck1m8nsnv5gz8lhy6dhg"))))
|
||||||
(properties `((upstream-name . "rtweet")))
|
(properties `((upstream-name . "rtweet")))
|
||||||
(build-system r-build-system)
|
(build-system r-build-system)
|
||||||
(propagated-inputs
|
(propagated-inputs
|
||||||
(list r-bit64
|
(list r-bit64
|
||||||
r-curl
|
r-curl
|
||||||
r-httr
|
r-httr
|
||||||
|
r-httr2
|
||||||
r-jsonlite
|
r-jsonlite
|
||||||
r-lifecycle
|
r-lifecycle
|
||||||
r-progress
|
r-progress
|
||||||
@ -36028,13 +36117,13 @@ options for aggregating multi-layer rasters.")
|
|||||||
(define-public r-bien
|
(define-public r-bien
|
||||||
(package
|
(package
|
||||||
(name "r-bien")
|
(name "r-bien")
|
||||||
(version "1.2.5")
|
(version "1.2.6")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (cran-uri "BIEN" version))
|
(uri (cran-uri "BIEN" version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32 "0s98n6zbf48vssd3h63k6kashcxv1kawcb026n0ngsfpc5dv6i48"))))
|
(base32 "17zrj5ckxaz4mdbgywxi8kf51ssbf2md1d2azf30dh96kzc2ayps"))))
|
||||||
(properties `((upstream-name . "BIEN")))
|
(properties `((upstream-name . "BIEN")))
|
||||||
(build-system r-build-system)
|
(build-system r-build-system)
|
||||||
(native-inputs
|
(native-inputs
|
||||||
@ -36046,11 +36135,9 @@ options for aggregating multi-layer rasters.")
|
|||||||
r-fasterize
|
r-fasterize
|
||||||
r-foreach
|
r-foreach
|
||||||
r-raster
|
r-raster
|
||||||
r-rgdal
|
|
||||||
r-rgeos
|
|
||||||
r-rpostgresql
|
r-rpostgresql
|
||||||
r-sf
|
r-sf
|
||||||
r-sp))
|
r-terra))
|
||||||
(home-page "https://cran.r-project.org/package=BIEN")
|
(home-page "https://cran.r-project.org/package=BIEN")
|
||||||
(synopsis "Tools for accessing the BIEN database")
|
(synopsis "Tools for accessing the BIEN database")
|
||||||
(description
|
(description
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
;;; GNU Guix --- Functional package management for GNU
|
;;; GNU Guix --- Functional package management for GNU
|
||||||
;;; Copyright © 2019 Ivan Petkov <ivanppetkov@gmail.com>
|
;;; Copyright © 2019 Ivan Petkov <ivanppetkov@gmail.com>
|
||||||
;;; Copyright © 2019, 2020, 2021, 2022 Efraim Flashner <efraim@flashner.co.il>
|
;;; 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 Giacomo Leidi <goodoldpaul@autistici.org>
|
||||||
;;; Copyright © 2019–2021 Tobias Geerinckx-Rice <me@tobias.gr>
|
;;; Copyright © 2019–2021 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||||
;;; Copyright © 2019, 2020 John Soo <jsoo1@asu.edu>
|
;;; Copyright © 2019, 2020 John Soo <jsoo1@asu.edu>
|
||||||
@ -70,6 +70,7 @@
|
|||||||
#:use-module (gnu packages gettext)
|
#:use-module (gnu packages gettext)
|
||||||
#:use-module (gnu packages gl)
|
#:use-module (gnu packages gl)
|
||||||
#:use-module (gnu packages glib)
|
#:use-module (gnu packages glib)
|
||||||
|
#:use-module (gnu packages icu4c)
|
||||||
#:use-module (gnu packages image)
|
#:use-module (gnu packages image)
|
||||||
#:use-module (gnu packages jemalloc)
|
#:use-module (gnu packages jemalloc)
|
||||||
#:use-module (gnu packages linux)
|
#:use-module (gnu packages linux)
|
||||||
@ -58289,19 +58290,22 @@ Rust bindings.")
|
|||||||
(define-public rust-tectonic-bridge-graphite2-0.2
|
(define-public rust-tectonic-bridge-graphite2-0.2
|
||||||
(package
|
(package
|
||||||
(name "rust-tectonic-bridge-graphite2")
|
(name "rust-tectonic-bridge-graphite2")
|
||||||
(version "0.2.0")
|
(version "0.2.1")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (crate-uri "tectonic_bridge_graphite2" version))
|
(uri (crate-uri "tectonic_bridge_graphite2" version))
|
||||||
(file-name (string-append name "-" version ".tar.gz"))
|
(file-name (string-append name "-" version ".tar.gz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32 "1qsq337y4p3z832kmn2xcaj6xh3z6ngr0izn4jgdjrymnsq1ac81"))))
|
(base32 "1lkpqxz0y7m2ib1g0k850g2d7g6z8062niaw7vgvql33f2n94xkr"))))
|
||||||
(build-system cargo-build-system)
|
(build-system cargo-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
`(#:skip-build? #t
|
`(#:cargo-inputs
|
||||||
#:cargo-inputs
|
|
||||||
(("rust-tectonic-dep-support" ,rust-tectonic-dep-support-0.1))))
|
(("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/")
|
(home-page "https://tectonic-typesetting.github.io/")
|
||||||
(synopsis "Expose the graphite2 library to Rust/Cargo")
|
(synopsis "Expose the graphite2 library to Rust/Cargo")
|
||||||
(description
|
(description
|
||||||
@ -58361,28 +58365,31 @@ bindings.")
|
|||||||
bindings.")
|
bindings.")
|
||||||
(license license:expat)))
|
(license license:expat)))
|
||||||
|
|
||||||
(define-public rust-tectonic-bundles-0.2
|
(define-public rust-tectonic-bundles-0.3
|
||||||
(package
|
(package
|
||||||
(name "rust-tectonic-bundles")
|
(name "rust-tectonic-bundles")
|
||||||
(version "0.2.0")
|
(version "0.3.0")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (crate-uri "tectonic_bundles" version))
|
(uri (crate-uri "tectonic_bundles" version))
|
||||||
(file-name (string-append name "-" version ".tar.gz"))
|
(file-name (string-append name "-" version ".tar.gz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32 "17wwgfcl5nzvgzil7ayi42ljjkx9ffv4c35v6ywcmzdhk9zhki2f"))))
|
(base32 "1ccykccvddvx31h1dfkzdxsnqhgyls21ks2qbvad09m1jzqzl5nj"))))
|
||||||
(build-system cargo-build-system)
|
(build-system cargo-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
`(#:skip-build? #t
|
`(#:cargo-inputs
|
||||||
#:cargo-inputs
|
|
||||||
(("rust-flate2" ,rust-flate2-1)
|
(("rust-flate2" ,rust-flate2-1)
|
||||||
("rust-fs2" ,rust-fs2-0.4)
|
("rust-fs2" ,rust-fs2-0.4)
|
||||||
("rust-tectonic-errors" ,rust-tectonic-errors-0.2)
|
("rust-tectonic-errors" ,rust-tectonic-errors-0.2)
|
||||||
("rust-tectonic-geturl" ,rust-tectonic-geturl-0.3)
|
("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-tectonic-status-base" ,rust-tectonic-status-base-0.2)
|
||||||
("rust-zip" ,rust-zip-0.5))))
|
("rust-zip" ,rust-zip-0.5))))
|
||||||
|
(native-inputs
|
||||||
|
(list pkg-config))
|
||||||
|
(inputs
|
||||||
|
(list openssl zlib))
|
||||||
(home-page "https://tectonic-typesetting.github.io/")
|
(home-page "https://tectonic-typesetting.github.io/")
|
||||||
(synopsis "Tectonic ``bundle'' (support file collection) implementations")
|
(synopsis "Tectonic ``bundle'' (support file collection) implementations")
|
||||||
(description
|
(description
|
||||||
@ -58441,21 +58448,20 @@ providing whatever fiddly features are needed to enable the Tectonic build
|
|||||||
process.")
|
process.")
|
||||||
(license license:expat)))
|
(license license:expat)))
|
||||||
|
|
||||||
(define-public rust-tectonic-docmodel-0.1
|
(define-public rust-tectonic-docmodel-0.2
|
||||||
(package
|
(package
|
||||||
(name "rust-tectonic-docmodel")
|
(name "rust-tectonic-docmodel")
|
||||||
(version "0.1.2")
|
(version "0.2.0")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (crate-uri "tectonic_docmodel" version))
|
(uri (crate-uri "tectonic_docmodel" version))
|
||||||
(file-name (string-append name "-" version ".tar.gz"))
|
(file-name (string-append name "-" version ".tar.gz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32 "1b5vdqcnjbbda6am0mb7qyxyc6pn8v0pqz0w10xia87ycyyfflxw"))))
|
(base32 "1z3yhw7h11a5xggi3bjip3kz1931mjl5gi53vx2zwd89rg99373y"))))
|
||||||
(build-system cargo-build-system)
|
(build-system cargo-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
`(#:skip-build? #t
|
`(#:cargo-inputs
|
||||||
#:cargo-inputs
|
|
||||||
(("rust-serde" ,rust-serde-1)
|
(("rust-serde" ,rust-serde-1)
|
||||||
("rust-tectonic-errors" ,rust-tectonic-errors-0.2)
|
("rust-tectonic-errors" ,rust-tectonic-errors-0.2)
|
||||||
("rust-toml" ,rust-toml-0.5))))
|
("rust-toml" ,rust-toml-0.5))))
|
||||||
@ -58524,21 +58530,20 @@ document model, including the @file{Tectonic.toml} file.")
|
|||||||
output to HTML.")
|
output to HTML.")
|
||||||
(license license:expat)))
|
(license license:expat)))
|
||||||
|
|
||||||
(define-public rust-tectonic-engine-xetex-0.2
|
(define-public rust-tectonic-engine-xetex-0.4
|
||||||
(package
|
(package
|
||||||
(name "rust-tectonic-engine-xetex")
|
(name "rust-tectonic-engine-xetex")
|
||||||
(version "0.2.0")
|
(version "0.4.1")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (crate-uri "tectonic_engine_xetex" version))
|
(uri (crate-uri "tectonic_engine_xetex" version))
|
||||||
(file-name (string-append name "-" version ".tar.gz"))
|
(file-name (string-append name "-" version ".tar.gz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32 "1kn9gxkgf3jbwif14n1kmp869s4b69khhc7iwm78qqpmy79lrhkw"))))
|
(base32 "1ckx9sg1nwyghg7142zk5x75g32f4s19psk6c50y0n0ikf5xq9sd"))))
|
||||||
(build-system cargo-build-system)
|
(build-system cargo-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
`(#:skip-build? #t
|
`(#:cargo-inputs
|
||||||
#:cargo-inputs
|
|
||||||
(("rust-cc" ,rust-cc-1)
|
(("rust-cc" ,rust-cc-1)
|
||||||
("rust-libc" ,rust-libc-0.2)
|
("rust-libc" ,rust-libc-0.2)
|
||||||
("rust-tectonic-bridge-core" ,rust-tectonic-bridge-core-0.3)
|
("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-bridge-harfbuzz" ,rust-tectonic-bridge-harfbuzz-0.2)
|
||||||
("rust-tectonic-cfg-support" ,rust-tectonic-cfg-support-0.1)
|
("rust-tectonic-cfg-support" ,rust-tectonic-cfg-support-0.1)
|
||||||
("rust-tectonic-errors" ,rust-tectonic-errors-0.2)
|
("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)
|
||||||
("rust-tectonic-xetex-layout" ,rust-tectonic-xetex-layout-0.1))))
|
("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/")
|
(home-page "https://tectonic-typesetting.github.io/")
|
||||||
(synopsis "XeTeX engine as a reusable crate")
|
(synopsis "XeTeX engine as a reusable crate")
|
||||||
(description
|
(description
|
||||||
@ -58556,27 +58569,29 @@ output to HTML.")
|
|||||||
engine as a reusable crate.")
|
engine as a reusable crate.")
|
||||||
(license license:expat)))
|
(license license:expat)))
|
||||||
|
|
||||||
(define-public rust-tectonic-engine-xdvipdfmx-0.1
|
(define-public rust-tectonic-engine-xdvipdfmx-0.4
|
||||||
(package
|
(package
|
||||||
(name "rust-tectonic-engine-xdvipdfmx")
|
(name "rust-tectonic-engine-xdvipdfmx")
|
||||||
(version "0.1.0")
|
(version "0.4.0")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (crate-uri "tectonic_engine_xdvipdfmx" version))
|
(uri (crate-uri "tectonic_engine_xdvipdfmx" version))
|
||||||
(file-name (string-append name "-" version ".tar.gz"))
|
(file-name (string-append name "-" version ".tar.gz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32 "00kjsxzlzlc8lmh8mhb5v6iw1lb7rq09ski2mjzlyw604dcq1k3p"))))
|
(base32 "0ajmb9pcq5pak28z4bhsnxfgfy9hpr1mm02bp6ph16nvdn8m2ir1"))))
|
||||||
(build-system cargo-build-system)
|
(build-system cargo-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
`(#:skip-build? #t
|
`(#:cargo-inputs
|
||||||
#:cargo-inputs
|
(("rust-cc" ,rust-cc-1)
|
||||||
(("rust-cbindgen" ,rust-cbindgen-0.16)
|
|
||||||
("rust-cc" ,rust-cc-1)
|
|
||||||
("rust-libc" ,rust-libc-0.2)
|
("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-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/")
|
(home-page "https://tectonic-typesetting.github.io/")
|
||||||
(synopsis "@code{xdvipdfmx} program as a reusable crate")
|
(synopsis "@code{xdvipdfmx} program as a reusable crate")
|
||||||
(description
|
(description
|
||||||
@ -58729,23 +58744,22 @@ streams.")
|
|||||||
("rust-tectonic-status-base" ,rust-tectonic-status-base-0.1)
|
("rust-tectonic-status-base" ,rust-tectonic-status-base-0.1)
|
||||||
("rust-thiserror" ,rust-thiserror-1))))))
|
("rust-thiserror" ,rust-thiserror-1))))))
|
||||||
|
|
||||||
(define-public rust-tectonic-pdf-io-0.1
|
(define-public rust-tectonic-pdf-io-0.4
|
||||||
(package
|
(package
|
||||||
(name "rust-tectonic-pdf-io")
|
(name "rust-tectonic-pdf-io")
|
||||||
(version "0.1.0")
|
(version "0.4.0")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (crate-uri "tectonic_pdf_io" version))
|
(uri (crate-uri "tectonic_pdf_io" version))
|
||||||
(file-name (string-append name "-" version ".tar.gz"))
|
(file-name (string-append name "-" version ".tar.gz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32 "0ry5g6vh54i8ih8rjlz3ci7b8gi4irsllg34pv57mcwrhwcikg6x"))))
|
(base32 "0rmk31n96r299k5j2ydyqryzywn2dbfbnl1rwh0lx86zaqac9qcn"))))
|
||||||
(build-system cargo-build-system)
|
(build-system cargo-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
`(#:skip-build? #t
|
`(#:cargo-inputs
|
||||||
#:cargo-inputs
|
|
||||||
(("rust-cc" ,rust-cc-1)
|
(("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-bridge-flate" ,rust-tectonic-bridge-flate-0.1)
|
||||||
("rust-tectonic-cfg-support" ,rust-tectonic-cfg-support-0.1)
|
("rust-tectonic-cfg-support" ,rust-tectonic-cfg-support-0.1)
|
||||||
("rust-tectonic-dep-support" ,rust-tectonic-dep-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.")
|
used by XeTeX and Tectonic.")
|
||||||
(license license:expat)))
|
(license license:expat)))
|
||||||
|
|
||||||
(define-public rust-tectonic-xetex-layout-0.1
|
(define-public rust-tectonic-xetex-layout-0.2
|
||||||
(package
|
(package
|
||||||
(name "rust-tectonic-xetex-layout")
|
(name "rust-tectonic-xetex-layout")
|
||||||
(version "0.1.0")
|
(version "0.2.1")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (crate-uri "tectonic_xetex_layout" version))
|
(uri (crate-uri "tectonic_xetex_layout" version))
|
||||||
(file-name (string-append name "-" version ".tar.gz"))
|
(file-name (string-append name "-" version ".tar.gz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32 "063fq6bhhqac30bg6vmcfpd9zikn0p6rd189avz0f34ka4mir0yi"))))
|
(base32 "102z52hhazz2b2qsbr93dn2y4q0103s548ixzws40il7imzg99ly"))))
|
||||||
(build-system cargo-build-system)
|
(build-system cargo-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
`(#:skip-build? #t
|
`(#:cargo-inputs
|
||||||
#:cargo-inputs
|
|
||||||
(("rust-cc" ,rust-cc-1)
|
(("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-freetype2" ,rust-tectonic-bridge-freetype2-0.2)
|
||||||
("rust-tectonic-bridge-graphite2" ,rust-tectonic-bridge-graphite2-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-harfbuzz" ,rust-tectonic-bridge-harfbuzz-0.2)
|
||||||
("rust-tectonic-bridge-icu" ,rust-tectonic-bridge-icu-0.2)
|
("rust-tectonic-bridge-icu" ,rust-tectonic-bridge-icu-0.2)
|
||||||
("rust-tectonic-cfg-support" ,rust-tectonic-cfg-support-0.1)
|
("rust-tectonic-cfg-support" ,rust-tectonic-cfg-support-0.1)
|
||||||
("rust-tectonic-dep-support" ,rust-tectonic-dep-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/")
|
(home-page "https://tectonic-typesetting.github.io/")
|
||||||
(synopsis "XeTeX's font loading and layout interface encapsulation")
|
(synopsis "XeTeX's font loading and layout interface encapsulation")
|
||||||
(description
|
(description
|
||||||
|
@ -16,7 +16,7 @@
|
|||||||
;;; Copyright © 2019 John Soo <jsoo1@asu.edu>
|
;;; Copyright © 2019 John Soo <jsoo1@asu.edu>
|
||||||
;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
|
;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
|
||||||
;;; Copyright © 2020,2021 Vincent Legoll <vincent.legoll@gmail.com>
|
;;; 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, 2021 Ekaitz Zarraga <ekaitz@elenq.tech>
|
||||||
;;; Copyright © 2020 B. Wilson <elaexuotee@wilsonb.com>
|
;;; Copyright © 2020 B. Wilson <elaexuotee@wilsonb.com>
|
||||||
;;; Copyright © 2020, 2021, 2022 Vinicius Monego <monego@posteo.net>
|
;;; Copyright © 2020, 2021, 2022 Vinicius Monego <monego@posteo.net>
|
||||||
@ -81,6 +81,7 @@
|
|||||||
#:use-module (gnu packages c)
|
#:use-module (gnu packages c)
|
||||||
#:use-module (gnu packages check)
|
#:use-module (gnu packages check)
|
||||||
#:use-module (gnu packages cmake)
|
#:use-module (gnu packages cmake)
|
||||||
|
#:use-module (gnu packages code)
|
||||||
#:use-module (gnu packages commencement)
|
#:use-module (gnu packages commencement)
|
||||||
#:use-module (gnu packages compression)
|
#:use-module (gnu packages compression)
|
||||||
#:use-module (gnu packages cpp)
|
#:use-module (gnu packages cpp)
|
||||||
@ -2290,7 +2291,7 @@ engineers for reverse engineers.")
|
|||||||
(define-public lib3mf
|
(define-public lib3mf
|
||||||
(package
|
(package
|
||||||
(name "lib3mf")
|
(name "lib3mf")
|
||||||
(version "2.1.1")
|
(version "2.2.0")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method git-fetch)
|
(method git-fetch)
|
||||||
@ -2299,20 +2300,48 @@ engineers for reverse engineers.")
|
|||||||
(file-name (git-file-name name version))
|
(file-name (git-file-name name version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(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)
|
(build-system cmake-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
`(#:configure-flags (list "-DUSE_INCLUDED_ZLIB=0"
|
`(#:configure-flags (list "-DUSE_INCLUDED_ZLIB=0"
|
||||||
"-DUSE_INCLUDED_LIBZIP=0"
|
"-DUSE_INCLUDED_LIBZIP=0"
|
||||||
"-DUSE_INCLUDED_GTEST=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
|
(native-inputs
|
||||||
(list googletest pkg-config))
|
(list automatic-component-toolkit googletest pkg-config))
|
||||||
(inputs
|
(inputs
|
||||||
`(("libuuid" ,util-linux "lib")
|
(list `(,util-linux "lib") libzip libressl zlib))
|
||||||
("libzip" ,libzip)
|
|
||||||
("libressl" ,libressl)
|
|
||||||
("zlib" ,zlib)))
|
|
||||||
(synopsis "Implementation of the 3D Manufacturing Format (3MF) file standard")
|
(synopsis "Implementation of the 3D Manufacturing Format (3MF) file standard")
|
||||||
(description
|
(description
|
||||||
"Lib3MF is a C++ implementation of the 3D Manufacturing Format (3MF) file
|
"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))
|
(uri (pypi-uri "afdko" version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32 "0k1204vykgx32saa495s1lgmz1dixcp8bjiv486imx77killvm02"))
|
(base32 "0k1204vykgx32saa495s1lgmz1dixcp8bjiv486imx77killvm02"))
|
||||||
|
(patches (search-patches "python-afdko-suppress-copyright-test.patch"))
|
||||||
(modules '((guix build utils)))
|
(modules '((guix build utils)))
|
||||||
(snippet
|
(snippet
|
||||||
#~(begin
|
#~(begin
|
||||||
|
@ -26,6 +26,7 @@
|
|||||||
#:use-module (guix build-system ant)
|
#:use-module (guix build-system ant)
|
||||||
#:use-module (gnu packages)
|
#:use-module (gnu packages)
|
||||||
#:use-module (gnu packages java)
|
#:use-module (gnu packages java)
|
||||||
|
#:use-module (gnu packages java-xml)
|
||||||
#:use-module (gnu packages xml))
|
#:use-module (gnu packages xml))
|
||||||
|
|
||||||
(define java-groovy-bootstrap
|
(define java-groovy-bootstrap
|
||||||
|
@ -18,6 +18,7 @@
|
|||||||
;;; Copyright © 2021 EuAndreh <eu@euandre.org>
|
;;; Copyright © 2021 EuAndreh <eu@euandre.org>
|
||||||
;;; Copyright © 2021 Stefan Reichör <stefan@xsteve.at>
|
;;; Copyright © 2021 Stefan Reichör <stefan@xsteve.at>
|
||||||
;;; Copyright © 2021 Morgan Smith <Morgan.J.Smith@outlook.com>
|
;;; Copyright © 2021 Morgan Smith <Morgan.J.Smith@outlook.com>
|
||||||
|
;;; Copyright © 2022 David Thompson <dthompson2@worcester.edu>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
;;;
|
;;;
|
||||||
@ -42,6 +43,7 @@
|
|||||||
#:use-module (guix build-system haskell)
|
#:use-module (guix build-system haskell)
|
||||||
#:use-module (gnu packages)
|
#:use-module (gnu packages)
|
||||||
#:use-module (gnu packages curl)
|
#:use-module (gnu packages curl)
|
||||||
|
#:use-module (gnu packages freedesktop)
|
||||||
#:use-module (gnu packages gl)
|
#:use-module (gnu packages gl)
|
||||||
#:use-module (gnu packages haskell)
|
#:use-module (gnu packages haskell)
|
||||||
#:use-module (gnu packages haskell-check)
|
#:use-module (gnu packages haskell-check)
|
||||||
@ -327,6 +329,13 @@ to @code{cabal repl}).")
|
|||||||
(copy-file "Utility/Shell.hs" "/tmp/Shell.hs")
|
(copy-file "Utility/Shell.hs" "/tmp/Shell.hs")
|
||||||
(substitute* "Utility/Shell.hs"
|
(substitute* "Utility/Shell.hs"
|
||||||
(("/bin/sh") (which "sh")))))
|
(("/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
|
(add-before 'configure 'factor-setup
|
||||||
(lambda _
|
(lambda _
|
||||||
;; Factor out necessary build logic from the provided
|
;; Factor out necessary build logic from the provided
|
||||||
@ -471,7 +480,8 @@ to @code{cabal repl}).")
|
|||||||
ghc-yesod-core
|
ghc-yesod-core
|
||||||
ghc-yesod-form
|
ghc-yesod-form
|
||||||
ghc-yesod-static
|
ghc-yesod-static
|
||||||
rsync))
|
rsync
|
||||||
|
xdg-utils))
|
||||||
(propagated-inputs
|
(propagated-inputs
|
||||||
(list git))
|
(list git))
|
||||||
(native-inputs
|
(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, 2018, 2019, 2020, 2021, 2022 Ricardo Wurmus <rekado@elephly.net>
|
||||||
;;; Copyright © 2016 David Craven <david@craven.ch>
|
;;; Copyright © 2016 David Craven <david@craven.ch>
|
||||||
;;; Copyright © 2016 John Darrington <jmd@gnu.org>
|
;;; 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, 2018 Rene Saavedra <pacoon@protonmail.com>
|
||||||
;;; Copyright © 2016 Carlos Sánchez de La Lama <csanchezdll@gmail.com>
|
;;; Copyright © 2016 Carlos Sánchez de La Lama <csanchezdll@gmail.com>
|
||||||
;;; Copyright © 2016, 2017 Nikita <nikita@n0.is>
|
;;; 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)
|
(%upstream-linux-source version hash)
|
||||||
deblob-scripts-4.14)))
|
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
|
(define %boot-logo-patch
|
||||||
;; Linux-Libre boot logo featuring Freedo and a gnu.
|
;; Linux-Libre boot logo featuring Freedo and a gnu.
|
||||||
(origin
|
(origin
|
||||||
@ -671,10 +656,6 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
|
|||||||
(source-with-patches linux-libre-4.14-pristine-source
|
(source-with-patches linux-libre-4.14-pristine-source
|
||||||
(list %boot-logo-patch)))
|
(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.
|
;;; 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-gnu-revision
|
||||||
linux-libre-4.14-source))
|
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
|
;; The following package is used in the early bootstrap, and thus must be kept
|
||||||
;; stable and with minimal build requirements.
|
;; stable and with minimal build requirements.
|
||||||
(define-public linux-libre-headers-5.10.35
|
(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")
|
"powerpc64le-linux")
|
||||||
#:configuration-file kernel-config))
|
#: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-LTS points to the *newest* released long-term support version of
|
||||||
;; Linux-Libre.
|
;; Linux-Libre.
|
||||||
;; Reference: https://jxself.org/linux-libre/
|
;; Reference: https://jxself.org/linux-libre/
|
||||||
@ -6594,30 +6563,20 @@ The following service daemons are also provided:
|
|||||||
(define-public perftest
|
(define-public perftest
|
||||||
(package
|
(package
|
||||||
(name "perftest")
|
(name "perftest")
|
||||||
(version "4.4-0.4")
|
(version "4.5-0.20")
|
||||||
(source
|
(home-page "https://github.com/linux-rdma/perftest")
|
||||||
(origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method git-fetch)
|
||||||
(uri (string-append "https://github.com/linux-rdma/perftest/releases/download/v"
|
(uri (git-reference (url home-page)
|
||||||
version "/perftest-" version ".g0927198.tar.gz"))
|
(commit (string-append "v" version))))
|
||||||
|
(file-name (git-file-name name version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32 "11ix4h0rrmqqyi84y55a9xnkvwsmwq0sywr46hvxzm4rqz4ma8vq"))))
|
(base32
|
||||||
|
"1hrpzmkz1kq4jwpy6b5fl8073iy7dllcq2hfzdw6waaf5920vd64"))))
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
(arguments
|
(native-inputs
|
||||||
`(#:phases
|
(list autoconf automake libtool))
|
||||||
(modify-phases %standard-phases
|
(inputs (list pciutils rdma-core))
|
||||||
(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/")
|
|
||||||
(synopsis "Open Fabrics Enterprise Distribution (OFED) Performance Tests")
|
(synopsis "Open Fabrics Enterprise Distribution (OFED) Performance Tests")
|
||||||
(description "This is a collection of tests written over uverbs intended for
|
(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
|
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
|
(define %llvm-monorepo-hashes
|
||||||
'(("14.0.6" . "14f8nlvnmdkp9a9a79wv67jbmafvabczhah8rwnqrgd5g3hfxxxx")
|
'(("14.0.6" . "14f8nlvnmdkp9a9a79wv67jbmafvabczhah8rwnqrgd5g3hfxxxx")
|
||||||
("15.0.5" . "1z2szqlanksdmj91590wnxqav5z437mpasg00ghb610xkam2v34m")))
|
("15.0.6" . "13vj0q6if5095a3awq8d97l17qdsc7fks6avkai9k80kl0kzxpv6")))
|
||||||
|
|
||||||
(define %llvm-patches
|
(define %llvm-patches
|
||||||
'(("14.0.6" . ("clang-14.0-libc-search-path.patch"))
|
'(("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)
|
(define (llvm-monorepo version)
|
||||||
(origin
|
(origin
|
||||||
@ -582,7 +582,7 @@ output), and Binutils.")
|
|||||||
(define-public llvm-15
|
(define-public llvm-15
|
||||||
(package
|
(package
|
||||||
(name "llvm")
|
(name "llvm")
|
||||||
(version "15.0.5")
|
(version "15.0.6")
|
||||||
(source (llvm-monorepo version))
|
(source (llvm-monorepo version))
|
||||||
(build-system cmake-build-system)
|
(build-system cmake-build-system)
|
||||||
(outputs '("out" "opt-viewer"))
|
(outputs '("out" "opt-viewer"))
|
||||||
@ -739,7 +739,7 @@ of programming tools as well as libraries with equivalent functionality.")
|
|||||||
(package-version llvm-15)))
|
(package-version llvm-15)))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"0sa6si9v7ddsa9vmg6s3918xx969rvck2v1a0g7hb0fp9jk9j4r1")))))
|
"099v2yqg11h0h8qqddzkny6b77pafcr7vy5ksc33kqggji173ccj")))))
|
||||||
|
|
||||||
(define-public clang-14
|
(define-public clang-14
|
||||||
(clang-from-llvm
|
(clang-from-llvm
|
||||||
|
@ -32,9 +32,9 @@
|
|||||||
#:use-module (gnu packages base)
|
#:use-module (gnu packages base)
|
||||||
#:use-module (gnu packages compression)
|
#:use-module (gnu packages compression)
|
||||||
#:use-module (gnu packages java)
|
#:use-module (gnu packages java)
|
||||||
|
#:use-module (gnu packages java-xml)
|
||||||
#:use-module (gnu packages maven-parent-pom)
|
#:use-module (gnu packages maven-parent-pom)
|
||||||
#:use-module (gnu packages web)
|
#:use-module (gnu packages web)
|
||||||
#:use-module (gnu packages xml)
|
|
||||||
#:use-module (ice-9 match))
|
#:use-module (ice-9 match))
|
||||||
|
|
||||||
(define-public maven-resolver-api
|
(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))
|
(license (list license:cc0 license:expat))
|
||||||
(properties `((upstream-name . "TenPlus1/mobs_animal")))))
|
(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
|
(define-public minetest-pipeworks
|
||||||
(package
|
(package
|
||||||
(name "minetest-pipeworks")
|
(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!")
|
block or item from the oneblock to expand the island!")
|
||||||
(license license:gpl3+)
|
(license license:gpl3+)
|
||||||
(properties `((upstream-name . "NO11/oneblock")))))
|
(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 Leo Famulari <leo@famulari.name>
|
||||||
;;; Copyright © 2020 Mark H Weaver <mhw@netris.org>
|
;;; Copyright © 2020 Mark H Weaver <mhw@netris.org>
|
||||||
;;; Copyright © 2020 Gabriel Arazas <foo.dogsquared@gmail.com>
|
;;; 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 © 2020 Arun Isaac <arunisaac@systemreboot.net>
|
||||||
;;; Copyright © 2021 Tobias Geerinckx-Rice <me@tobias.gr>
|
;;; Copyright © 2021 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||||
;;; Copyright © 2021 Sharlatan Hellseher <sharlatanus@gmail.ccom>
|
;;; 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
|
(define-public tectonic
|
||||||
(package
|
(package
|
||||||
(name "tectonic")
|
(name "tectonic")
|
||||||
(version "0.8.2")
|
(version "0.12.0")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (crate-uri "tectonic" version))
|
(uri (crate-uri "tectonic" version))
|
||||||
(file-name (string-append name "-" version ".tar.gz"))
|
(file-name (string-append name "-" version ".tar.gz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32 "041v887a3aybrkn5fnrjwy95wxfk4npl6lj8ar8dnidjmfh92bka"))))
|
(base32 "1q4mz2c32gfypx33zlzgd1q9h4322jrk13fzvsf8h676ylclqzpc"))))
|
||||||
(build-system cargo-build-system)
|
(build-system cargo-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
`(#:cargo-build-flags '("--release" "--features" "external-harfbuzz")
|
`(#: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-sha2" ,rust-sha2-0.9)
|
||||||
("rust-structopt" ,rust-structopt-0.3)
|
("rust-structopt" ,rust-structopt-0.3)
|
||||||
("rust-tectonic-bridge-core" ,rust-tectonic-bridge-core-0.3)
|
("rust-tectonic-bridge-core" ,rust-tectonic-bridge-core-0.3)
|
||||||
("rust-tectonic-bundles" ,rust-tectonic-bundles-0.2)
|
("rust-tectonic-bundles" ,rust-tectonic-bundles-0.3)
|
||||||
("rust-tectonic-docmodel" ,rust-tectonic-docmodel-0.1)
|
("rust-tectonic-docmodel" ,rust-tectonic-docmodel-0.2)
|
||||||
("rust-tectonic-engine-bibtex" ,rust-tectonic-engine-bibtex-0.1)
|
("rust-tectonic-engine-bibtex" ,rust-tectonic-engine-bibtex-0.1)
|
||||||
("rust-tectonic-engine-spx2html" ,rust-tectonic-engine-spx2html-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-xdvipdfmx" ,rust-tectonic-engine-xdvipdfmx-0.4)
|
||||||
("rust-tectonic-engine-xetex" ,rust-tectonic-engine-xetex-0.2)
|
("rust-tectonic-engine-xetex" ,rust-tectonic-engine-xetex-0.4)
|
||||||
("rust-tectonic-errors" ,rust-tectonic-errors-0.2)
|
("rust-tectonic-errors" ,rust-tectonic-errors-0.2)
|
||||||
("rust-tectonic-geturl" ,rust-tectonic-geturl-0.3)
|
("rust-tectonic-geturl" ,rust-tectonic-geturl-0.3)
|
||||||
("rust-tectonic-io-base" ,rust-tectonic-io-base-0.4)
|
("rust-tectonic-io-base" ,rust-tectonic-io-base-0.4)
|
||||||
("rust-tectonic-status-base" ,rust-tectonic-status-base-0.2)
|
("rust-tectonic-status-base" ,rust-tectonic-status-base-0.2)
|
||||||
("rust-tectonic-xdv" ,rust-tectonic-xdv-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-tempfile" ,rust-tempfile-3)
|
||||||
("rust-termcolor" ,rust-termcolor-1)
|
("rust-termcolor" ,rust-termcolor-1)
|
||||||
("rust-toml" ,rust-toml-0.5)
|
("rust-toml" ,rust-toml-0.5)
|
||||||
|
@ -1138,14 +1138,14 @@ designed by Cynthia Brewer as described at http://colorbrewer2.org")
|
|||||||
(define-public r-sendmailr
|
(define-public r-sendmailr
|
||||||
(package
|
(package
|
||||||
(name "r-sendmailr")
|
(name "r-sendmailr")
|
||||||
(version "1.3-1")
|
(version "1.3-2")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (cran-uri "sendmailR" version))
|
(uri (cran-uri "sendmailR" version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1vxs9pdz1qbm7gzzigmvn5ybglakj4fska8dfj94azdvpkijs6hx"))))
|
"0yyxxzhm88xipk68vzqxcckcpjgl9lajnqyxxbkp1i29jcpfgdfa"))))
|
||||||
(properties `((upstream-name . "sendmailR")))
|
(properties `((upstream-name . "sendmailR")))
|
||||||
(build-system r-build-system)
|
(build-system r-build-system)
|
||||||
(propagated-inputs
|
(propagated-inputs
|
||||||
@ -5038,13 +5038,13 @@ Wall Street Journal, among others. This package also provides
|
|||||||
(define-public r-statmod
|
(define-public r-statmod
|
||||||
(package
|
(package
|
||||||
(name "r-statmod")
|
(name "r-statmod")
|
||||||
(version "1.4.37")
|
(version "1.5.0")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (cran-uri "statmod" version))
|
(uri (cran-uri "statmod" version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"04v9nynv3lakhnd7b17v5syrlnscrxml71jnd3r93chckskwillh"))))
|
"1jbf07h0mnncn2qp4wcw5bnbvsw3lizpd3cg0cpb8mcxn3wkw76n"))))
|
||||||
(build-system r-build-system)
|
(build-system r-build-system)
|
||||||
(home-page "https://cran.r-project.org/web/packages/statmod")
|
(home-page "https://cran.r-project.org/web/packages/statmod")
|
||||||
(native-inputs
|
(native-inputs
|
||||||
@ -5521,14 +5521,14 @@ of the points.")
|
|||||||
(define-public r-fpc
|
(define-public r-fpc
|
||||||
(package
|
(package
|
||||||
(name "r-fpc")
|
(name "r-fpc")
|
||||||
(version "2.2-9")
|
(version "2.2-10")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (cran-uri "fpc" version))
|
(uri (cran-uri "fpc" version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"0f7sfmpcycr9y7cy5gasyjm2ardxa62kglqms92mcr68jrp01c19"))))
|
"1lj7j74yx747iic1hcngzbym0sqxppja8bxw64m0j6na5s7m9d4r"))))
|
||||||
(build-system r-build-system)
|
(build-system r-build-system)
|
||||||
(propagated-inputs
|
(propagated-inputs
|
||||||
(list r-class
|
(list r-class
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
;;; Copyright © 2016–2022 Tobias Geerinckx-Rice <me@tobias.gr>
|
;;; Copyright © 2016–2022 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||||
;;; Copyright © 2016 Bake Timmons <b3timmons@speedymail.org>
|
;;; Copyright © 2016 Bake Timmons <b3timmons@speedymail.org>
|
||||||
;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
|
;;; 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 Kei Kebreau <kkebreau@posteo.net>
|
||||||
;;; Copyright © 2017 Petter <petter@mykolab.ch>
|
;;; Copyright © 2017 Petter <petter@mykolab.ch>
|
||||||
;;; Copyright © 2017, 2021 Pierre Langlois <pierre.langlois@gmx.com>
|
;;; Copyright © 2017, 2021 Pierre Langlois <pierre.langlois@gmx.com>
|
||||||
@ -5230,28 +5230,34 @@ NetSurf project.")
|
|||||||
(find-files bin))
|
(find-files bin))
|
||||||
#t))))))
|
#t))))))
|
||||||
(native-inputs
|
(native-inputs
|
||||||
`(("which" ,which)
|
(list which
|
||||||
("gettext" ,gettext-minimal)
|
gettext-minimal
|
||||||
("subversion" ,subversion)
|
subversion
|
||||||
("git" ,git)
|
git
|
||||||
("bazaar" ,bazaar)
|
bazaar
|
||||||
("cvs" ,cvs)
|
cvs
|
||||||
("mercurial" ,mercurial)))
|
mercurial))
|
||||||
(inputs
|
(inputs
|
||||||
`(("python" ,python-wrapper)
|
(list python-wrapper
|
||||||
("perl-authen-passphrase" ,perl-authen-passphrase)
|
perl-authen-passphrase
|
||||||
("perl-cgi-simple" ,perl-cgi-simple)
|
perl-cgi-simple
|
||||||
("perl-db-file" ,perl-db-file)
|
perl-db-file
|
||||||
("perl-file-mimeinfo" ,perl-file-mimeinfo)
|
perl-file-mimeinfo
|
||||||
("perl-html-tagset" ,perl-html-tagset)
|
perl-html-tagset
|
||||||
("perl-image-magick" ,perl-image-magick)
|
perl-image-magick
|
||||||
("perl-ipc-run" ,perl-ipc-run)
|
perl-ipc-run
|
||||||
("perl-lwpx-paranoidagent" ,perl-lwpx-paranoidagent)
|
perl-lwpx-paranoidagent
|
||||||
("perl-xml-feed" ,perl-xml-feed)
|
perl-xml-feed
|
||||||
("perl-xml-sax" ,perl-xml-sax)
|
perl-xml-sax
|
||||||
("perl-xml-twig" ,perl-xml-twig)
|
perl-xml-twig
|
||||||
("perl-yaml-tiny" ,perl-yaml-tiny)
|
perl-yaml-tiny
|
||||||
("po4a" ,po4a)))
|
|
||||||
|
;; 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
|
(propagated-inputs
|
||||||
(list perl-cgi-formbuilder
|
(list perl-cgi-formbuilder
|
||||||
perl-cgi-session
|
perl-cgi-session
|
||||||
|
@ -64,7 +64,6 @@
|
|||||||
#:use-module (gnu packages gnupg)
|
#:use-module (gnu packages gnupg)
|
||||||
#:use-module (gnu packages graphviz)
|
#:use-module (gnu packages graphviz)
|
||||||
#:use-module (gnu packages gtk)
|
#:use-module (gnu packages gtk)
|
||||||
#:use-module (gnu packages java)
|
|
||||||
#:use-module (gnu packages nss)
|
#:use-module (gnu packages nss)
|
||||||
#:use-module (gnu packages perl)
|
#:use-module (gnu packages perl)
|
||||||
#:use-module (gnu packages perl-check)
|
#:use-module (gnu packages perl-check)
|
||||||
@ -76,7 +75,6 @@
|
|||||||
#:use-module (guix packages)
|
#:use-module (guix packages)
|
||||||
#:use-module (guix download)
|
#:use-module (guix download)
|
||||||
#:use-module (guix git-download)
|
#:use-module (guix git-download)
|
||||||
#:use-module (guix build-system ant)
|
|
||||||
#:use-module (guix build-system cmake)
|
#:use-module (guix build-system cmake)
|
||||||
#:use-module (guix build-system gnu)
|
#:use-module (guix build-system gnu)
|
||||||
#:use-module (guix build-system meson)
|
#:use-module (guix build-system meson)
|
||||||
@ -1544,42 +1542,6 @@ Excel(TM) since version 2007.")
|
|||||||
(home-page "https://github.com/brechtsanders/xlsxio")
|
(home-page "https://github.com/brechtsanders/xlsxio")
|
||||||
(license license:expat)))
|
(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
|
(define-public perl-xml-xpathengine
|
||||||
(package
|
(package
|
||||||
(name "perl-xml-xpathengine")
|
(name "perl-xml-xpathengine")
|
||||||
@ -1735,610 +1697,6 @@ XML), full XPath support (unless you use @code{XML::Twig::XPath}), nor DOM
|
|||||||
support.")
|
support.")
|
||||||
(license license:perl-license)))
|
(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
|
(define-public xmlrpc-c
|
||||||
(package
|
(package
|
||||||
(name "xmlrpc-c")
|
(name "xmlrpc-c")
|
||||||
|
@ -198,6 +198,7 @@
|
|||||||
guix-configuration-generate-substitute-key?
|
guix-configuration-generate-substitute-key?
|
||||||
guix-configuration-extra-options
|
guix-configuration-extra-options
|
||||||
guix-configuration-log-file
|
guix-configuration-log-file
|
||||||
|
guix-configuration-environment
|
||||||
|
|
||||||
guix-extension
|
guix-extension
|
||||||
guix-extension?
|
guix-extension?
|
||||||
@ -1654,7 +1655,9 @@ archive' public keys, with GUIX."
|
|||||||
(http-proxy guix-http-proxy ;string | #f
|
(http-proxy guix-http-proxy ;string | #f
|
||||||
(default #f))
|
(default #f))
|
||||||
(tmpdir guix-tmpdir ;string | #f
|
(tmpdir guix-tmpdir ;string | #f
|
||||||
(default #f)))
|
(default #f))
|
||||||
|
(environment guix-configuration-environment ;list of strings
|
||||||
|
(default '())))
|
||||||
|
|
||||||
(define %default-guix-configuration
|
(define %default-guix-configuration
|
||||||
(guix-configuration))
|
(guix-configuration))
|
||||||
@ -1710,7 +1713,7 @@ proxy of 'guix-daemon'...~%")
|
|||||||
(guix build-group build-accounts authorize-key? authorized-keys
|
(guix build-group build-accounts authorize-key? authorized-keys
|
||||||
use-substitutes? substitute-urls max-silent-time timeout
|
use-substitutes? substitute-urls max-silent-time timeout
|
||||||
log-compression discover? extra-options log-file
|
log-compression discover? extra-options log-file
|
||||||
http-proxy tmpdir chroot-directories)
|
http-proxy tmpdir chroot-directories environment)
|
||||||
(list (shepherd-service
|
(list (shepherd-service
|
||||||
(documentation "Run the Guix daemon.")
|
(documentation "Run the Guix daemon.")
|
||||||
(provision '(guix-daemon))
|
(provision '(guix-daemon))
|
||||||
@ -1799,7 +1802,8 @@ proxy of 'guix-daemon'...~%")
|
|||||||
(if proxy
|
(if proxy
|
||||||
(list (string-append "http_proxy=" proxy)
|
(list (string-append "http_proxy=" proxy)
|
||||||
(string-append "https_proxy=" proxy))
|
(string-append "https_proxy=" proxy))
|
||||||
'()))
|
'())
|
||||||
|
'#$environment)
|
||||||
|
|
||||||
#:log-file #$log-file))))
|
#:log-file #$log-file))))
|
||||||
(stop #~(make-kill-destructor))))))
|
(stop #~(make-kill-destructor))))))
|
||||||
|
@ -57,7 +57,6 @@
|
|||||||
%test-linux-libre-5.4
|
%test-linux-libre-5.4
|
||||||
%test-linux-libre-4.19
|
%test-linux-libre-4.19
|
||||||
%test-linux-libre-4.14
|
%test-linux-libre-4.14
|
||||||
%test-linux-libre-4.9
|
|
||||||
%test-halt
|
%test-halt
|
||||||
%test-root-unmount
|
%test-root-unmount
|
||||||
%test-cleanup
|
%test-cleanup
|
||||||
@ -584,9 +583,6 @@ functionality tests, using the given KERNEL.")
|
|||||||
(define %test-linux-libre-4.14
|
(define %test-linux-libre-4.14
|
||||||
(test-basic-os 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.
|
;;; Halt.
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
;;; GNU Guix --- Functional package management for GNU
|
;;; 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>
|
;;; Copyright © 2016, 2017 Mathieu Lirzin <mthl@gnu.org>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
@ -484,17 +484,21 @@ things as appropriate and is thus more efficient."
|
|||||||
(fold-right (lambda (output result)
|
(fold-right (lambda (output result)
|
||||||
(match output
|
(match output
|
||||||
((name path "" "")
|
((name path "" "")
|
||||||
|
;; Regular derivation.
|
||||||
(alist-cons name
|
(alist-cons name
|
||||||
(make-derivation-output path #f #f #f)
|
(make-derivation-output path #f #f #f)
|
||||||
result))
|
result))
|
||||||
((name path hash-algo hash)
|
((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))
|
(let* ((rec? (string-prefix? "r:" hash-algo))
|
||||||
(algo (string->symbol
|
(algo (string->symbol
|
||||||
(if rec?
|
(if rec?
|
||||||
(string-drop hash-algo 2)
|
(string-drop hash-algo 2)
|
||||||
hash-algo)))
|
hash-algo)))
|
||||||
(hash (base16-string->bytevector hash)))
|
(hash (and (not (string-null? hash))
|
||||||
|
(base16-string->bytevector hash))))
|
||||||
(alist-cons name
|
(alist-cons name
|
||||||
(make-derivation-output path algo
|
(make-derivation-output path algo
|
||||||
hash rec?)
|
hash rec?)
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
;;; GNU Guix --- Functional package management for GNU
|
;;; 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 © 2015, 2016, 2017, 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org>
|
||||||
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
|
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
|
||||||
;;; Copyright © 2020 Martin Becze <mjbecze@riseup.net>
|
;;; Copyright © 2020 Martin Becze <mjbecze@riseup.net>
|
||||||
@ -732,12 +732,12 @@ s-expression corresponding to that package, or #f on failure."
|
|||||||
(define latest-version
|
(define latest-version
|
||||||
(latest-bioconductor-package-version upstream-name))
|
(latest-bioconductor-package-version upstream-name))
|
||||||
|
|
||||||
(and version
|
(and latest-version
|
||||||
;; Bioconductor does not provide signatures.
|
;; Bioconductor does not provide signatures.
|
||||||
(upstream-source
|
(upstream-source
|
||||||
(package (package-name pkg))
|
(package (package-name pkg))
|
||||||
(version latest-version)
|
(version latest-version)
|
||||||
(urls (bioconductor-uri upstream-name version))
|
(urls (bioconductor-uri upstream-name latest-version))
|
||||||
(input-changes
|
(input-changes
|
||||||
(changed-inputs
|
(changed-inputs
|
||||||
pkg
|
pkg
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
;;; GNU Guix --- Functional package management for GNU
|
;;; 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.
|
;;; 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"))
|
(8 "#o"))
|
||||||
(number->string integer base)))
|
(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
|
(define* (pretty-print-with-comments port obj
|
||||||
#:key
|
#:key
|
||||||
(format-comment
|
(format-comment
|
||||||
@ -561,7 +574,8 @@ FORMAT-VERTICAL-SPACE; a useful value of 'canonicalize-vertical-space'."
|
|||||||
((? string? str)
|
((? string? str)
|
||||||
(>= (+ (string-width str) 2 indent) max-width))
|
(>= (+ (string-width str) 2 indent) max-width))
|
||||||
((? symbol? symbol)
|
((? symbol? symbol)
|
||||||
(>= (+ (string-width (symbol->string symbol)) indent)
|
(>= (+ (string-width (symbol->display-string symbol context))
|
||||||
|
indent)
|
||||||
max-width))
|
max-width))
|
||||||
((? boolean?)
|
((? boolean?)
|
||||||
(>= (+ 2 indent) max-width))
|
(>= (+ 2 indent) max-width))
|
||||||
@ -647,7 +661,7 @@ FORMAT-VERTICAL-SPACE; a useful value of 'canonicalize-vertical-space'."
|
|||||||
;; and following arguments are less indented.
|
;; and following arguments are less indented.
|
||||||
(let* ((lead (special-form-lead head context))
|
(let* ((lead (special-form-lead head context))
|
||||||
(context (cons head context))
|
(context (cons head context))
|
||||||
(head (symbol->string head))
|
(head (symbol->display-string head (cdr context)))
|
||||||
(total (length arguments)))
|
(total (length arguments)))
|
||||||
(unless delimited? (display " " port))
|
(unless delimited? (display " " port))
|
||||||
(display "(" port)
|
(display "(" port)
|
||||||
@ -727,6 +741,8 @@ FORMAT-VERTICAL-SPACE; a useful value of 'canonicalize-vertical-space'."
|
|||||||
(printed-string obj context))
|
(printed-string obj context))
|
||||||
((integer? obj)
|
((integer? obj)
|
||||||
(integer->string obj context))
|
(integer->string obj context))
|
||||||
|
((symbol? obj)
|
||||||
|
(symbol->display-string obj context))
|
||||||
(else
|
(else
|
||||||
(object->string obj))))
|
(object->string obj))))
|
||||||
(len (string-width str)))
|
(len (string-width str)))
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
;;; GNU Guix --- Functional package management for GNU
|
;;; 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 © 2014 Nikita Karetnikov <nikita@karetnikov.org>
|
||||||
;;; Copyright © 2018 Kyle Meyer <kyle@kyleam.com>
|
;;; Copyright © 2018 Kyle Meyer <kyle@kyleam.com>
|
||||||
;;; Copyright © 2020 Christopher Baines <mail@cbaines.net>
|
;;; Copyright © 2020 Christopher Baines <mail@cbaines.net>
|
||||||
@ -706,10 +706,12 @@ substitutes may be unavailable\n")))))
|
|||||||
(string-drop option=value (+ 1 equal-sign))))))
|
(string-drop option=value (+ 1 equal-sign))))))
|
||||||
(string-tokenize newline-separated %not-newline)))))
|
(string-tokenize newline-separated %not-newline)))))
|
||||||
|
|
||||||
(define (find-daemon-option option)
|
(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
|
"Return the value of build daemon option OPTION, or #f if it could not be
|
||||||
found."
|
found."
|
||||||
(assoc-ref (daemon-options) option))
|
(assoc-ref (force options) option))))
|
||||||
|
|
||||||
(define %default-substitute-urls
|
(define %default-substitute-urls
|
||||||
(match (and=> (or (find-daemon-option "untrusted-substitute-urls") ;client
|
(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 parseHash(HashType ht, const string & s)
|
||||||
{
|
{
|
||||||
Hash hash(ht);
|
Hash hash(ht);
|
||||||
if (s.length() != hash.hashSize * 2)
|
if (s.length() != hash.hashSize * 2) {
|
||||||
throw Error(format("invalid hash `%1%'") % s);
|
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++) {
|
for (unsigned int i = 0; i < hash.hashSize; i++) {
|
||||||
string s2(s, i * 2, 2);
|
string s2(s, i * 2, 2);
|
||||||
if (!isxdigit(s2[0]) || !isxdigit(s2[1]))
|
if (!isxdigit(s2[0]) || !isxdigit(s2[1]))
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
;;; GNU Guix --- Functional package management for GNU
|
;;; 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.
|
;;; This file is part of GNU Guix.
|
||||||
;;;
|
;;;
|
||||||
@ -256,6 +256,21 @@
|
|||||||
(build-derivations %store (list drv))
|
(build-derivations %store (list drv))
|
||||||
#f)))
|
#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"
|
(test-assert "'download' built-in builder, check mode"
|
||||||
;; Make sure rebuilding the 'builtin:download' derivation in check mode
|
;; Make sure rebuilding the 'builtin:download' derivation in check mode
|
||||||
;; works. See <http://bugs.gnu.org/25089>.
|
;; works. See <http://bugs.gnu.org/25089>.
|
||||||
@ -316,6 +331,13 @@
|
|||||||
#:hash hash #:hash-algo 'sha256)))
|
#:hash hash #:hash-algo 'sha256)))
|
||||||
(fixed-output-derivation? drv)))
|
(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"
|
(test-equal "fixed-output derivation"
|
||||||
'(sha1 sha256 sha512)
|
'(sha1 sha256 sha512)
|
||||||
(map (lambda (hash-algorithm)
|
(map (lambda (hash-algorithm)
|
||||||
@ -374,6 +396,18 @@
|
|||||||
(call-with-input-file p get-bytevector-all))
|
(call-with-input-file p get-bytevector-all))
|
||||||
(bytevector? (query-path-hash %store p)))))))
|
(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"
|
(test-assert "derivation with a fixed-output input"
|
||||||
;; A derivation D using a fixed-output derivation F doesn't has the same
|
;; 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
|
;; output path when passed F or F', as long as F and F' have the same output
|
||||||
@ -543,6 +577,22 @@
|
|||||||
read-derivation)))
|
read-derivation)))
|
||||||
(equal? drv* drv)))
|
(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"
|
(test-assert "multiple-output derivation, derivation-path->output-path"
|
||||||
(let* ((builder (add-text-to-store %store "builder.sh"
|
(let* ((builder (add-text-to-store %store "builder.sh"
|
||||||
"echo one > $out ; echo two > $second"
|
"echo one > $out ; echo two > $second"
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
# GNU Guix --- Functional package management for GNU
|
# 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 © 2021 Oleg Pykhalov <go.wigust@gmail.com>
|
||||||
# Copyright © 2022 Ludovic Courtès <ludo@gnu.org>
|
# 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)
|
||||||
(gnu home services)
|
(gnu home services)
|
||||||
(gnu home services shells)
|
(gnu home services shells)
|
||||||
|
(gnu packages bash)
|
||||||
(gnu services))
|
(gnu services))
|
||||||
|
|
||||||
(home-environment
|
(home-environment
|
||||||
@ -82,6 +83,10 @@ trap 'chmod -Rf +w "$test_directory"; rm -rf "$test_directory"' EXIT
|
|||||||
(simple-service 'add-environment-variable
|
(simple-service 'add-environment-variable
|
||||||
home-environment-variables-service-type
|
home-environment-variables-service-type
|
||||||
`(("TODAY" . "26 messidor")
|
`(("TODAY" . "26 messidor")
|
||||||
|
("SHELL" . ,(file-append bash "/bin/bash"))
|
||||||
|
("BUILDHOST_TIME" . ,#~(strftime "%c"
|
||||||
|
(localtime (current-time))))
|
||||||
|
("STRING_WITH_ESCAPES" . "chars: \" /\\")
|
||||||
("LITERAL" . ,(literal-string "${abc}"))))
|
("LITERAL" . ,(literal-string "${abc}"))))
|
||||||
|
|
||||||
(simple-service 'home-bash-service-extension-test
|
(simple-service 'home-bash-service-extension-test
|
||||||
@ -149,8 +154,13 @@ EOF
|
|||||||
# the content of bashrc-test-config.sh"
|
# the content of bashrc-test-config.sh"
|
||||||
grep -q "the content of ~/.config/test.conf" "${HOME}/.config/test.conf"
|
grep -q "the content of ~/.config/test.conf" "${HOME}/.config/test.conf"
|
||||||
grep '^export PS1="\$GUIX_ENVIRONMENT λ "$' "${HOME}/.bash_profile"
|
grep '^export PS1="\$GUIX_ENVIRONMENT λ "$' "${HOME}/.bash_profile"
|
||||||
|
|
||||||
( . "${HOME}/.guix-home/setup-environment"; test "$TODAY" = "26 messidor" )
|
( . "${HOME}/.guix-home/setup-environment"; test "$TODAY" = "26 messidor" )
|
||||||
( . "${HOME}/.guix-home/setup-environment"; test "$LITERAL" = '${abc}' )
|
( . "${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.
|
# This one should still be here.
|
||||||
grep "stay around" "$HOME/.config/random-file"
|
grep "stay around" "$HOME/.config/random-file"
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
;;; GNU Guix --- Functional package management for GNU
|
;;; 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.
|
;;; This file is part of GNU Guix.
|
||||||
;;;
|
;;;
|
||||||
@ -142,6 +142,11 @@ expressions."
|
|||||||
(+ x y))"
|
(+ x y))"
|
||||||
#:max-width 11)
|
#:max-width 11)
|
||||||
|
|
||||||
|
(test-pretty-print "\
|
||||||
|
(begin
|
||||||
|
1+ 1- 123/ 456*
|
||||||
|
(1+ 41))")
|
||||||
|
|
||||||
(test-pretty-print "\
|
(test-pretty-print "\
|
||||||
(lambda (x y)
|
(lambda (x y)
|
||||||
;; This is a procedure.
|
;; This is a procedure.
|
||||||
|
Loading…
Reference in New Issue
Block a user