me
/
guix
Archived
1
0
Fork 0

Merge remote-tracking branch 'savannah/master' into mesa-updates

Change-Id: Iad185e2ced97067b3dff8fd722435a6c5e2c00e5
master
Christopher Baines 2024-04-09 16:44:22 +01:00
commit 6cae1db889
No known key found for this signature in database
GPG Key ID: 5E28A33B0B84F577
171 changed files with 93583 additions and 57651 deletions

View File

@ -131,10 +131,7 @@
(eval . (put 'with-database 'scheme-indent-function 2))
(eval . (put 'call-with-database 'scheme-indent-function 1))
(eval . (put 'call-with-transaction 'scheme-indent-function 1))
(eval . (put 'with-statement 'scheme-indent-function 3))
(eval . (put 'call-with-retrying-transaction 'scheme-indent-function 1))
(eval . (put 'call-with-savepoint 'scheme-indent-function 1))
(eval . (put 'call-with-retrying-savepoint 'scheme-indent-function 1))
(eval . (put 'call-with-container 'scheme-indent-function 1))
(eval . (put 'container-excursion 'scheme-indent-function 1))

View File

@ -106,7 +106,7 @@ if test "x$guix_build_daemon" = "xyes"; then
dnl Determine the appropriate default list of substitute URLs (GnuTLS
dnl is required so we can default to 'https'.)
guix_substitute_urls="https://ci.guix.gnu.org https://bordeaux.guix.gnu.org"
guix_substitute_urls="https://bordeaux.guix.gnu.org https://ci.guix.gnu.org"
AC_MSG_CHECKING([for default substitute URLs])
AC_MSG_RESULT([$guix_substitute_urls])

View File

@ -70,7 +70,7 @@
(define %cookbook-languages
;; Available translations for the 'guix-cookbook' text domain.
'("de" "en" "fr" "sk"))
'("de" "en" "fr" "ko" "pt_BR" "sk"))
(define %languages
;; Available translations for the document being built.

View File

@ -20,7 +20,9 @@ on-line communication; they can use any name or pseudonym of their
choice.
@menu
* Requirements:: Software needed to build and run Guix.
* Building from Git:: The latest and greatest.
* Running the Test Suite:: Testing Guix.
* Running Guix Before It Is Installed:: Hacker tricks.
* The Perfect Setup:: The right tools.
* Alternative Setups:: Other possible tools that do the job.
@ -36,6 +38,103 @@ choice.
* Translating Guix:: Make Guix speak your native language.
@end menu
@node Requirements
@section Requirements
This section lists requirements when building Guix from source. The
build procedure for Guix is the same as for other GNU software, and is
not covered here. Please see the files @file{README} and @file{INSTALL}
in the Guix source tree for additional details.
@cindex official website
GNU Guix is available for download from its website at
@url{https://www.gnu.org/software/guix/}.
GNU Guix depends on the following packages:
@itemize
@item @url{https://gnu.org/software/guile/, GNU Guile}, version 3.0.x,
version 3.0.3 or later;
@item @url{https://notabug.org/cwebber/guile-gcrypt, Guile-Gcrypt}, version
0.1.0 or later;
@item
@uref{https://gitlab.com/gnutls/guile/, Guile-GnuTLS} (@pxref{Guile
Preparations, how to install the GnuTLS bindings for Guile,,
gnutls-guile, GnuTLS-Guile})@footnote{The Guile bindings to
@uref{https://gnutls.org/, GnuTLS} were distributed as part of GnuTLS
until version 3.7.8 included.};
@item
@uref{https://notabug.org/guile-sqlite3/guile-sqlite3, Guile-SQLite3}, version 0.1.0
or later;
@item @uref{https://notabug.org/guile-zlib/guile-zlib, Guile-zlib},
version 0.1.0 or later;
@item @uref{https://notabug.org/guile-lzlib/guile-lzlib, Guile-lzlib};
@item @uref{https://www.nongnu.org/guile-avahi/, Guile-Avahi};
@item
@uref{https://gitlab.com/guile-git/guile-git, Guile-Git}, version 0.5.0
or later;
@item @uref{https://git-scm.com, Git} (yes, both!);
@item @uref{https://savannah.nongnu.org/projects/guile-json/, Guile-JSON}
4.3.0 or later;
@item @url{https://www.gnu.org/software/make/, GNU Make}.
@end itemize
The following dependencies are optional:
@itemize
@item
@c Note: We need at least 0.13.0 for #:nodelay.
Support for build offloading (@pxref{Daemon Offload Setup}) and
@command{guix copy} (@pxref{Invoking guix copy}) depends on
@uref{https://github.com/artyom-poptsov/guile-ssh, Guile-SSH},
version 0.13.0 or later.
@item
@uref{https://notabug.org/guile-zstd/guile-zstd, Guile-zstd}, for zstd
compression and decompression in @command{guix publish} and for
substitutes (@pxref{Invoking guix publish}).
@item
@uref{https://ngyro.com/software/guile-semver.html, Guile-Semver} for
the @code{crate} importer (@pxref{Invoking guix import}).
@item
@uref{https://www.nongnu.org/guile-lib/doc/ref/htmlprag/, Guile-Lib} for
the @code{go} importer (@pxref{Invoking guix import}) and for some of
the ``updaters'' (@pxref{Invoking guix refresh}).
@item
When @url{http://www.bzip.org, libbz2} is available,
@command{guix-daemon} can use it to compress build logs.
@end itemize
Unless @option{--disable-daemon} was passed to @command{configure}, the
following packages are also needed:
@itemize
@item @url{https://gnupg.org/, GNU libgcrypt};
@item @url{https://sqlite.org, SQLite 3};
@item @url{https://gcc.gnu.org, GCC's g++}, with support for the
C++11 standard.
@end itemize
@cindex state directory
@cindex localstatedir
@cindex system configuration directory
@cindex sysconfdir
When configuring Guix on a system that already has a Guix installation,
be sure to specify the same state directory as the existing installation
using the @option{--localstatedir} option of the @command{configure}
script (@pxref{Directory Variables, @code{localstatedir},, standards,
GNU Coding Standards}). Usually, this @var{localstatedir} option is set
to the value @file{/var}. The @command{configure} script protects
against unintended misconfiguration of @var{localstatedir} so you do not
inadvertently corrupt your store (@pxref{The Store}). The configuration
directory should also be configured by setting the @option{--sysconfdir}
option to the @file{/etc} value, which is the location used by Guix to
store for example the access control list of authorized machines and the
definition of offload machines.
@node Building from Git
@section Building from Git
@ -203,6 +302,107 @@ example, the @code{origin} record) has changed, and all of guix needs
to be recompiled to take that change into account. To do so, run
@command{make clean-go} followed by @command{make}.
Should @command{make} fail with an Automake error message after
updating, you need to repeat the steps outlined in this section,
commencing with @command{./bootstrap}.
@node Running the Test Suite
@section Running the Test Suite
@cindex test suite
After a successful @command{configure} and @code{make} run, it is a good
idea to run the test suite. It can help catch issues with the setup or
environment, or bugs in Guix itself---and really, reporting test
failures is a good way to help improve the software. To run the test
suite, type:
@example
make check
@end example
Test cases can run in parallel: you can use the @code{-j} option of
GNU@tie{}make to speed things up. The first run may take a few minutes
on a recent machine; subsequent runs will be faster because the store
that is created for test purposes will already have various things in
cache.
It is also possible to run a subset of the tests by defining the
@code{TESTS} makefile variable as in this example:
@example
make check TESTS="tests/store.scm tests/cpio.scm"
@end example
By default, tests results are displayed at a file level. In order to
see the details of every individual test cases, it is possible to define
the @code{SCM_LOG_DRIVER_FLAGS} makefile variable as in this example:
@example
make check TESTS="tests/base64.scm" SCM_LOG_DRIVER_FLAGS="--brief=no"
@end example
The underlying SRFI 64 custom Automake test driver used for the 'check'
test suite (located at @file{build-aux/test-driver.scm}) also allows
selecting which test cases to run at a finer level, via its
@option{--select} and @option{--exclude} options. Here's an example, to
run all the test cases from the @file{tests/packages.scm} test file
whose names start with ``transaction-upgrade-entry'':
@example
export SCM_LOG_DRIVER_FLAGS="--select=^transaction-upgrade-entry"
make check TESTS="tests/packages.scm"
@end example
Those wishing to inspect the results of failed tests directly from the
command line can add the @option{--errors-only=yes} option to the
@code{SCM_LOG_DRIVER_FLAGS} makefile variable and set the @code{VERBOSE}
Automake makefile variable, as in:
@example
make check SCM_LOG_DRIVER_FLAGS="--brief=no --errors-only=yes" VERBOSE=1
@end example
The @option{--show-duration=yes} option can be used to print the
duration of the individual test cases, when used in combination with
@option{--brief=no}:
@example
make check SCM_LOG_DRIVER_FLAGS="--brief=no --show-duration=yes"
@end example
@xref{Parallel Test Harness,,,automake,GNU Automake} for more
information about the Automake Parallel Test Harness.
Upon failure, please email @email{bug-guix@@gnu.org} and attach the
@file{test-suite.log} file. Please specify the Guix version being used
as well as version numbers of the dependencies (@pxref{Requirements}) in
your message.
Guix also comes with a whole-system test suite that tests complete
Guix System instances. It can only run on systems where
Guix is already installed, using:
@example
make check-system
@end example
@noindent
or, again, by defining @code{TESTS} to select a subset of tests to run:
@example
make check-system TESTS="basic mcron"
@end example
These system tests are defined in the @code{(gnu tests @dots{})}
modules. They work by running the operating systems under test with
lightweight instrumentation in a virtual machine (VM). They can be
computationally intensive or rather cheap, depending on whether
substitutes are available for their dependencies (@pxref{Substitutes}).
Some of them require a lot of storage space to hold VM images.
Again in case of test failures, please send @email{bug-guix@@gnu.org}
all the details.
@node Running Guix Before It Is Installed
@section Running Guix Before It Is Installed

View File

@ -64,9 +64,11 @@ its API, and related concepts.
@c how to join your own translation team and how to report issues with the
@c translation.
This manual is also available in French (@pxref{Top,,, guix-cookbook.fr,
Livre de recettes de GNU Guix}), German (@pxref{Top,,,
guix-cookbook.de, GNU-Guix-Kochbuch}) and Slovak (@pxref{Top,,,
guix-cookbook.sk, Receptár GNU Guix}). If you would like to translate
Livre de recettes de GNU Guix}), German (@pxref{Top,,, guix-cookbook.de,
GNU-Guix-Kochbuch}), Korean (@pxref{Top,,, guix-cookbook.ko, GNU Guix 쿡북}),
Brazilian Portuguese (@pxref{Top,,, guix-cookbook.pt_BR,
Livro de Receitas do GNU Guix}) and Slovak (@pxref{Top,,, guix-cookbook.sk,
Receptár GNU Guix}). If you would like to translate
this document in your native language, consider joining
@uref{https://translate.fedoraproject.org/projects/guix/documentation-cookbook,
Weblate} (@pxref{Translating Guix,,, guix, GNU Guix reference
@ -3803,7 +3805,7 @@ the guest.
@quotation Important
By default, a single MAC address is used for all guests, unless
provided. Failing to provided different MAC addresses to each virtual
provided. Failing to provide different MAC addresses to each virtual
machine making use of the bridge would cause networking issues.
@end quotation

View File

@ -17,8 +17,8 @@
@set BASE-URL https://ftp.gnu.org/gnu/guix
@c The official substitute server used by default.
@set SUBSTITUTE-SERVER-1 ci.guix.gnu.org
@set SUBSTITUTE-SERVER-2 bordeaux.guix.gnu.org
@set SUBSTITUTE-SERVER-1 bordeaux.guix.gnu.org
@set SUBSTITUTE-SERVER-2 ci.guix.gnu.org
@set SUBSTITUTE-URLS https://@value{SUBSTITUTE-SERVER-1} https://@value{SUBSTITUTE-SERVER-2}
@copying
@ -60,7 +60,7 @@ Copyright @copyright{} 2018, 2021, 2023 Oleg Pykhalov@*
Copyright @copyright{} 2018 Mike Gerwitz@*
Copyright @copyright{} 2018 Pierre-Antoine Rouby@*
Copyright @copyright{} 2018, 2019 Gábor Boskovits@*
Copyright @copyright{} 2018, 2019, 2020, 2022, 2023 Florian Pelz@*
Copyright @copyright{} 2018, 2019, 2020, 2022, 2023, 2024 Florian Pelz@*
Copyright @copyright{} 2018 Laura Lazzati@*
Copyright @copyright{} 2018 Alex Vong@*
Copyright @copyright{} 2019 Josh Holland@*
@ -125,6 +125,7 @@ Copyright @copyright{} 2023 Saku Laesvuori@*
Copyright @copyright{} 2023 Graham James Addis@*
Copyright @copyright{} 2023 Tomas Volf@*
Copyright @copyright{} 2024 Herman Rimm@*
Copyright @copyright{} 2024 Matthew Trzcinski@*
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
@ -227,8 +228,6 @@ Introduction
Installation
* Binary Installation:: Getting Guix running in no time!
* Requirements:: Software needed to build and run Guix.
* Running the Test Suite:: Testing Guix.
* Setting Up the Daemon:: Preparing the build daemon's environment.
* Invoking guix-daemon:: Running the build daemon.
* Application Setup:: Application-specific setup.
@ -358,7 +357,7 @@ Foreign Architectures
System Configuration
* Getting Started with the System:: Your first steps.
* Getting Started with the System:: Your first steps.
* Using the Configuration System:: Customizing your GNU system.
* operating-system Reference:: Detail of operating-system declarations.
* File Systems:: Configuring file system mounts.
@ -691,20 +690,20 @@ to join! @xref{Contributing}, for information about how you can help.
@chapter Installation
@cindex installing Guix
@cindex foreign distro
@cindex Guix System
You can install the package management tool Guix on top of an existing
GNU/Linux or GNU/Hurd system@footnote{Hurd support is currently
limited.}, referred to as a @dfn{foreign distro}. If, instead, you want
to install the complete, standalone GNU system distribution,
@dfn{Guix@tie{}System}, @pxref{System Installation}. This section is
concerned only with the installation of Guix on a foreign distro.
@quotation Note
We recommend the use of this
@uref{https://git.savannah.gnu.org/cgit/guix.git/plain/etc/guix-install.sh,
shell installer script} to install Guix on top of a running GNU/Linux system,
thereafter called a @dfn{foreign distro}.@footnote{This section is concerned
with the installation of the package manager, which can be done on top of a
running GNU/Linux system. If, instead, you want to install the complete GNU
operating system, @pxref{System Installation}.} The script automates the
download, installation, and initial configuration of Guix. It should be run
as the root user.
@quotation Important
This section only applies to systems without Guix. Following it for
existing Guix installations will overwrite important system files.
@end quotation
@cindex foreign distro
@cindex directories related to foreign distro
When installed on a foreign distro, GNU@tie{}Guix complements the available
tools without interference. Its data lives exclusively in two directories,
@ -714,15 +713,8 @@ such as @file{/etc}, are left untouched.
Once installed, Guix can be updated by running @command{guix pull}
(@pxref{Invoking guix pull}).
If you prefer to perform the installation steps manually or want to tweak
them, you may find the following subsections useful. They describe the
software requirements of Guix, as well as how to install it manually and get
ready to use it.
@menu
* Binary Installation:: Getting Guix running in no time!
* Requirements:: Software needed to build and run Guix.
* Running the Test Suite:: Testing Guix.
* Setting Up the Daemon:: Preparing the build daemon's environment.
* Invoking guix-daemon:: Running the build daemon.
* Application Setup:: Application-specific setup.
@ -736,210 +728,69 @@ ready to use it.
@cindex installer script
This section describes how to install Guix from a self-contained tarball
providing binaries for Guix and for all its dependencies. This is often
quicker than installing from source, which is described in the next
sections. Binary installation requires a system using a Hurd or Linux
kernel; the GNU@tie{}tar and Xz commands must also be available.
quicker than installing from source, described later (@pxref{Building
from Git}).
@quotation Important
This section only applies to systems without Guix. Following it for
existing Guix installations will overwrite important system files.
@end quotation
@c Note duplicated from the ``Installation'' node.
We recommend the use of this
@uref{https://git.savannah.gnu.org/cgit/guix.git/plain/etc/guix-install.sh,
shell installer script}. The script automates the download, installation, and
initial configuration steps described below. It should be run as the root
user. As root, you can thus run this:
Some GNU/Linux distributions, such as Debian, Ubuntu, and openSUSE
provide Guix through their own package managers. The version of Guix
may be older than @value{VERSION} but you can update it afterwards by
running @samp{guix pull}.
@example
cd /tmp
wget https://git.savannah.gnu.org/cgit/guix.git/plain/etc/guix-install.sh
chmod +x guix-install.sh
./guix-install.sh
@end example
If you're running Debian or a derivative such as Ubuntu, you can instead
install the package (it might be a version older than @value{VERSION}
but you can update it afterwards by running @samp{guix pull}):
For Debian or a derivative such as Ubuntu, call:
@example
sudo apt install guix
@end example
Likewise on openSUSE:
Likewise, on openSUSE:
@example
sudo zypper install guix
@end example
When you're done, @pxref{Application Setup} for extra configuration you
might need, and @ref{Getting Started} for your first steps!
@end quotation
The Guix project also provides a shell script, @file{guix-install.sh},
which automates the binary installation process without use of a foreign
distro package
manager@footnote{@uref{https://git.savannah.gnu.org/cgit/guix.git/plain/etc/guix-install.sh}}.
Use of @file{guix-install.sh} requires Bash, GnuPG, GNU@tie{}tar, wget,
and Xz.
Installing goes along these lines:
The script guides you through the following:
@enumerate
@item
@cindex downloading Guix binary
Download the binary tarball from
@indicateurl{@value{BASE-URL}/guix-binary-@value{VERSION}.x86_64-linux.tar.xz},
where @code{x86_64-linux} can be replaced with @code{i686-linux} for an
@code{i686} (32-bits) machine already running the kernel Linux, and so on
(@pxref{GNU Distribution}).
@itemize
@item Downloading and extracting the binary tarball
@item Setting up the build daemon
@item Making the guix command available to non-root users
@item Configuring substitute servers
@end itemize
@c The following is somewhat duplicated in ``System Installation''.
Make sure to download the associated @file{.sig} file and to verify the
authenticity of the tarball against it, along these lines:
@example
$ wget @value{BASE-URL}/guix-binary-@value{VERSION}.x86_64-linux.tar.xz.sig
$ gpg --verify guix-binary-@value{VERSION}.x86_64-linux.tar.xz.sig
@end example
If that command fails because you do not have the required public key,
then run this command to import it:
@example
$ wget '@value{OPENPGP-SIGNING-KEY-URL}' \
-qO - | gpg --import -
@end example
@noindent
and rerun the @code{gpg --verify} command.
Take note that a warning like ``This key is not certified with a trusted
signature!'' is normal.
@c end authentication part
@item
Now, you need to become the @code{root} user. Depending on your distribution,
you may have to run @code{su -} or @code{sudo -i}. As @code{root}, run:
As root, run:
@example
# cd /tmp
# tar --warning=no-timestamp -xf \
/path/to/guix-binary-@value{VERSION}.x86_64-linux.tar.xz
# mv var/guix /var/ && mv gnu /
# wget https://git.savannah.gnu.org/cgit/guix.git/plain/etc/guix-install.sh
# chmod +x guix-install.sh
# ./guix-install.sh
@end example
This creates @file{/gnu/store} (@pxref{The Store}) and @file{/var/guix}.
The latter contains a ready-to-use profile for @code{root} (see next
step).
@quotation Note
By default, @file{guix-install.sh} will configure Guix to download
pre-built package binaries, called @dfn{substitutes}
(@pxref{Substitutes}), from the project's build farms. If you choose
not to permit this, Guix will build @emph{everything} from source,
making each installation and upgrade very expensive. @xref{On Trusting
Binaries} for a discussion of why you may want to build packages from
source.
Do @emph{not} unpack the tarball on a working Guix system since that
would overwrite its own essential files.
The @option{--warning=no-timestamp} option makes sure GNU@tie{}tar does
not emit warnings about ``implausibly old time stamps'' (such
warnings were triggered by GNU@tie{}tar 1.26 and older; recent
versions are fine).
They stem from the fact that all the
files in the archive have their modification time set to 1 (which
means January 1st, 1970). This is done on purpose to make sure the
archive content is independent of its creation time, thus making it
reproducible.
@item
Make the profile available under @file{~root/.config/guix/current}, which is
where @command{guix pull} will install updates (@pxref{Invoking guix pull}):
@example
# mkdir -p ~root/.config/guix
# ln -sf /var/guix/profiles/per-user/root/current-guix \
~root/.config/guix/current
@end example
Source @file{etc/profile} to augment @env{PATH} and other relevant
environment variables:
@example
# GUIX_PROFILE="`echo ~root`/.config/guix/current" ; \
source $GUIX_PROFILE/etc/profile
@end example
@item
Create the group and user accounts for build users as explained below
(@pxref{Build Environment Setup}).
@item
Run the daemon, and set it to automatically start on boot.
If your host distro uses the systemd init system, this can be achieved
with these commands:
@c Versions of systemd that supported symlinked service files are not
@c yet widely deployed, so we should suggest that users copy the service
@c files into place.
@c
@c See this thread for more information:
@c https://lists.gnu.org/archive/html/guix-devel/2017-01/msg01199.html
@example
# cp ~root/.config/guix/current/lib/systemd/system/gnu-store.mount \
~root/.config/guix/current/lib/systemd/system/guix-daemon.service \
/etc/systemd/system/
# systemctl enable --now gnu-store.mount guix-daemon
@end example
You may also want to arrange for @command{guix gc} to run periodically:
@example
# cp ~root/.config/guix/current/lib/systemd/system/guix-gc.service \
~root/.config/guix/current/lib/systemd/system/guix-gc.timer \
/etc/systemd/system/
# systemctl enable --now guix-gc.timer
@end example
You may want to edit @file{guix-gc.service} to adjust the command line
options to fit your needs (@pxref{Invoking guix gc}).
If your host distro uses the Upstart init system:
@example
# initctl reload-configuration
# cp ~root/.config/guix/current/lib/upstart/system/guix-daemon.conf \
/etc/init/
# start guix-daemon
@end example
Otherwise, you can still start the daemon manually with:
@example
# ~root/.config/guix/current/bin/guix-daemon \
--build-users-group=guixbuild
@end example
@item
Make the @command{guix} command available to other users on the machine,
for instance with:
@example
# mkdir -p /usr/local/bin
# cd /usr/local/bin
# ln -s /var/guix/profiles/per-user/root/current-guix/bin/guix
@end example
It is also a good idea to make the Info version of this manual available
there:
@example
# mkdir -p /usr/local/share/info
# cd /usr/local/share/info
# for i in /var/guix/profiles/per-user/root/current-guix/share/info/* ;
do ln -s $i ; done
@end example
That way, assuming @file{/usr/local/share/info} is in the search path,
running @command{info guix} will open this manual (@pxref{Other Info
Directories,,, texinfo, GNU Texinfo}, for more details on changing the
Info search path).
@item
@cindex substitutes, authorization thereof
To use substitutes from @code{@value{SUBSTITUTE-SERVER-1}},
@code{@value{SUBSTITUTE-SERVER-2}} or a mirror (@pxref{Substitutes}),
authorize them:
@code{@value{SUBSTITUTE-SERVER-2}} or a mirror, you must authorize them.
For example,
@example
# guix archive --authorize < \
@ -947,28 +798,13 @@ authorize them:
# guix archive --authorize < \
~root/.config/guix/current/share/guix/@value{SUBSTITUTE-SERVER-2}.pub
@end example
@quotation Note
If you do not enable substitutes, Guix will end up building
@emph{everything} from source on your machine, making each installation
and upgrade very expensive. @xref{On Trusting Binaries}, for a
discussion of reasons why one might want do disable substitutes.
@end quotation
@item
Each user may need to perform a few additional steps to make their Guix
environment ready for use, @pxref{Application Setup}.
@end enumerate
Voilà, the installation is complete!
You can confirm that Guix is working by installing a sample package into
the root profile:
@example
# guix install hello
@end example
When you're done installing Guix, @pxref{Application Setup} for extra
configuration you might need, and @ref{Getting Started} for your first
steps!
@quotation Note
The binary installation tarball can be (re)produced and verified simply
by running the following command in the Guix source tree:
@ -985,200 +821,19 @@ guix pack -s @var{system} --localstatedir \
@end example
@xref{Invoking guix pack}, for more info on this handy tool.
@end quotation
@node Requirements
@section Requirements
This section lists requirements when building Guix from source. The
build procedure for Guix is the same as for other GNU software, and is
not covered here. Please see the files @file{README} and @file{INSTALL}
in the Guix source tree for additional details.
@cindex official website
GNU Guix is available for download from its website at
@url{https://www.gnu.org/software/guix/}.
GNU Guix depends on the following packages:
@itemize
@item @url{https://gnu.org/software/guile/, GNU Guile}, version 3.0.x,
version 3.0.3 or later;
@item @url{https://notabug.org/cwebber/guile-gcrypt, Guile-Gcrypt}, version
0.1.0 or later;
@item
@uref{https://gitlab.com/gnutls/guile/, Guile-GnuTLS} (@pxref{Guile
Preparations, how to install the GnuTLS bindings for Guile,,
gnutls-guile, GnuTLS-Guile})@footnote{The Guile bindings to
@uref{https://gnutls.org/, GnuTLS} were distributed as part of GnuTLS
until version 3.7.8 included.};
@item
@uref{https://notabug.org/guile-sqlite3/guile-sqlite3, Guile-SQLite3}, version 0.1.0
or later;
@item @uref{https://notabug.org/guile-zlib/guile-zlib, Guile-zlib},
version 0.1.0 or later;
@item @uref{https://notabug.org/guile-lzlib/guile-lzlib, Guile-lzlib};
@item @uref{https://www.nongnu.org/guile-avahi/, Guile-Avahi};
@item
@uref{https://gitlab.com/guile-git/guile-git, Guile-Git}, version 0.5.0
or later;
@item @uref{https://git-scm.com, Git} (yes, both!);
@item @uref{https://savannah.nongnu.org/projects/guile-json/, Guile-JSON}
4.3.0 or later;
@item @url{https://www.gnu.org/software/make/, GNU Make}.
@end itemize
The following dependencies are optional:
@itemize
@item
@c Note: We need at least 0.13.0 for #:nodelay.
Support for build offloading (@pxref{Daemon Offload Setup}) and
@command{guix copy} (@pxref{Invoking guix copy}) depends on
@uref{https://github.com/artyom-poptsov/guile-ssh, Guile-SSH},
version 0.13.0 or later.
@item
@uref{https://notabug.org/guile-zstd/guile-zstd, Guile-zstd}, for zstd
compression and decompression in @command{guix publish} and for
substitutes (@pxref{Invoking guix publish}).
@item
@uref{https://ngyro.com/software/guile-semver.html, Guile-Semver} for
the @code{crate} importer (@pxref{Invoking guix import}).
@item
@uref{https://www.nongnu.org/guile-lib/doc/ref/htmlprag/, Guile-Lib} for
the @code{go} importer (@pxref{Invoking guix import}) and for some of
the ``updaters'' (@pxref{Invoking guix refresh}).
@item
When @url{http://www.bzip.org, libbz2} is available,
@command{guix-daemon} can use it to compress build logs.
@end itemize
Unless @option{--disable-daemon} was passed to @command{configure}, the
following packages are also needed:
@itemize
@item @url{https://gnupg.org/, GNU libgcrypt};
@item @url{https://sqlite.org, SQLite 3};
@item @url{https://gcc.gnu.org, GCC's g++}, with support for the
C++11 standard.
@end itemize
@cindex state directory
@cindex localstatedir
@cindex system configuration directory
@cindex sysconfdir
When configuring Guix on a system that already has a Guix installation,
be sure to specify the same state directory as the existing installation
using the @option{--localstatedir} option of the @command{configure}
script (@pxref{Directory Variables, @code{localstatedir},, standards,
GNU Coding Standards}). Usually, this @var{localstatedir} option is set
to the value @file{/var}. The @command{configure} script protects
against unintended misconfiguration of @var{localstatedir} so you do not
inadvertently corrupt your store (@pxref{The Store}). The configuration
directory should also be configured by setting the @option{--sysconfdir}
option to the @file{/etc} value, which is the location used by Guix to
store for example the access control list of authorized machines and the
definition of offload machines.
@node Running the Test Suite
@section Running the Test Suite
@cindex test suite
After a successful @command{configure} and @code{make} run, it is a good
idea to run the test suite. It can help catch issues with the setup or
environment, or bugs in Guix itself---and really, reporting test
failures is a good way to help improve the software. To run the test
suite, type:
@cindex uninstalling Guix
@cindex uninstallation, of Guix
Should you eventually want to uninstall Guix, run the same script with
the @option{--uninstall} flag:
@example
make check
./guix-install.sh --uninstall
@end example
Test cases can run in parallel: you can use the @code{-j} option of
GNU@tie{}make to speed things up. The first run may take a few minutes
on a recent machine; subsequent runs will be faster because the store
that is created for test purposes will already have various things in
cache.
It is also possible to run a subset of the tests by defining the
@code{TESTS} makefile variable as in this example:
@example
make check TESTS="tests/store.scm tests/cpio.scm"
@end example
By default, tests results are displayed at a file level. In order to
see the details of every individual test cases, it is possible to define
the @code{SCM_LOG_DRIVER_FLAGS} makefile variable as in this example:
@example
make check TESTS="tests/base64.scm" SCM_LOG_DRIVER_FLAGS="--brief=no"
@end example
The underlying SRFI 64 custom Automake test driver used for the 'check'
test suite (located at @file{build-aux/test-driver.scm}) also allows
selecting which test cases to run at a finer level, via its
@option{--select} and @option{--exclude} options. Here's an example, to
run all the test cases from the @file{tests/packages.scm} test file
whose names start with ``transaction-upgrade-entry'':
@example
export SCM_LOG_DRIVER_FLAGS="--select=^transaction-upgrade-entry"
make check TESTS="tests/packages.scm"
@end example
Those wishing to inspect the results of failed tests directly from the
command line can add the @option{--errors-only=yes} option to the
@code{SCM_LOG_DRIVER_FLAGS} makefile variable and set the @code{VERBOSE}
Automake makefile variable, as in:
@example
make check SCM_LOG_DRIVER_FLAGS="--brief=no --errors-only=yes" VERBOSE=1
@end example
The @option{--show-duration=yes} option can be used to print the
duration of the individual test cases, when used in combination with
@option{--brief=no}:
@example
make check SCM_LOG_DRIVER_FLAGS="--brief=no --show-duration=yes"
@end example
@xref{Parallel Test Harness,,,automake,GNU Automake} for more
information about the Automake Parallel Test Harness.
Upon failure, please email @email{bug-guix@@gnu.org} and attach the
@file{test-suite.log} file. Please specify the Guix version being used
as well as version numbers of the dependencies (@pxref{Requirements}) in
your message.
Guix also comes with a whole-system test suite that tests complete
Guix System instances. It can only run on systems where
Guix is already installed, using:
@example
make check-system
@end example
@noindent
or, again, by defining @code{TESTS} to select a subset of tests to run:
@example
make check-system TESTS="basic mcron"
@end example
These system tests are defined in the @code{(gnu tests @dots{})}
modules. They work by running the operating systems under test with
lightweight instrumentation in a virtual machine (VM). They can be
computationally intensive or rather cheap, depending on whether
substitutes are available for their dependencies (@pxref{Substitutes}).
Some of them require a lot of storage space to hold VM images.
Again in case of test failures, please send @email{bug-guix@@gnu.org}
all the details.
With @option{--uninstall}, the script irreversibly deletes all the Guix
files, configuration, and services.
@node Setting Up the Daemon
@section Setting Up the Daemon
@ -5514,6 +5169,7 @@ account security concerns and deal with authenticated updates.
* Specifying Additional Channels:: Extending the package collection.
* Using a Custom Guix Channel:: Using a customized Guix.
* Replicating Guix:: Running the @emph{exact same} Guix.
* Customizing the System-Wide Guix:: Default channels on Guix System.
* Channel Authentication:: How Guix verifies what it fetches.
* Channels with Substitutes:: Using channels with available substitutes.
* Creating a Channel:: How to write your custom channel.
@ -5671,6 +5327,64 @@ artifacts with very fine grain, and to reproduce software environments at
will---some sort of ``meta reproducibility'' capabilities, if you will.
@xref{Inferiors}, for another way to take advantage of these super powers.
@node Customizing the System-Wide Guix
@section Customizing the System-Wide Guix
@cindex system-wide Guix, customization
@cindex channels, for the default Guix
If you're running Guix System or building system images with it, maybe
you will want to customize the system-wide @command{guix} it
provides---specifically, @file{/run/current-system/profile/bin/guix}.
For example, you might want to provide additional channels or to pin its
revision.
This can be done using the @code{guix-for-channels} procedure, which
returns a package for the given channels, and using it as part of your
operating system configuration, as in this example:
@lisp
(use-modules (guix channels))
(define my-channels
;; Channels that should be available to
;; /run/current-system/profile/bin/guix.
(append
(list (channel
(name 'guix-science)
(url "https://github.com/guix-science/guix-science")
(branch "master")))
%default-channels))
(operating-system
;; @dots{}
(services
;; Change the package used by 'guix-service-type'.
(modify-services %base-services
(guix-service-type
config => (guix-configuration
(inherit config)
(channels my-channels)
(guix (guix-for-channels my-channels)))))))
@end lisp
The resulting operating system will have both the @code{guix} and the
@code{guix-science} channels visible by default. The @code{channels}
field of @code{guix-configuration} above further ensures that
@file{/etc/guix/channels.scm}, which is used by @command{guix pull},
specifies the same set of channels (@pxref{guix-configuration-channels,
@code{channels} field of @code{guix-configuration}}).
The @code{(gnu packages package-management)} module exports the
@code{guix-for-channels} procedure, described below.
@deffn {Procedure} guix-for-channels @var{channels}
Return a package corresponding to @var{channels}.
The result is a ``regular'' package, which can be used in
@code{guix-configuration} as shown above or in any other place that
expects a package.
@end deffn
@node Channel Authentication
@section Channel Authentication
@ -10451,7 +10165,10 @@ field (@pxref{Channels}); alternatively, its source can be a directory
name, in which case an additional @code{#:commit} argument must be
supplied to specify the commit being built (a hexadecimal string).
The resulting package is a Guix instance of the given channel, similar
Optionally, a @code{#:channels} argument specifying additional channels
can be provided.
The resulting package is a Guix instance of the given channel(s), similar
to how @command{guix time-machine} would build it.
@end defvar
@ -12475,9 +12192,10 @@ The resulting file holds references to all the dependencies of @var{exp}
or a subset thereof.
@end deffn
@deffn {Procedure} scheme-file name exp [#:splice? #f] [#:set-load-path? #t]
@deffn {Procedure} scheme-file name exp [#:splice? #f] @
[#:guile #f] [#:set-load-path? #t]
Return an object representing the Scheme file @var{name} that contains
@var{exp}.
@var{exp}. @var{guile} is the Guile package used to produce that file.
This is the declarative counterpart of @code{gexp->file}.
@end deffn
@ -17081,7 +16799,7 @@ instantiated. Then we show how this mechanism can be extended, for
instance to support new system services.
@menu
* Getting Started with the System:: Your first steps.
* Getting Started with the System:: Your first steps.
* Using the Configuration System:: Customizing your GNU system.
* operating-system Reference:: Detail of operating-system declarations.
* File Systems:: Configuring file system mounts.
@ -17649,6 +17367,7 @@ configuration (@pxref{Using the Configuration System}).
@table @asis
@item @code{kernel} (default: @code{linux-libre})
@c footnote duplicated in @pxref{Installation}
The package object of the operating system kernel to
use@footnote{Currently only the Linux-libre kernel is fully supported.
Using GNU@tie{}mach with the GNU@tie{}Hurd is experimental and only
@ -19731,7 +19450,8 @@ This data type represents the configuration of the Guix build daemon.
@table @asis
@item @code{guix} (default: @var{guix})
The Guix package to use.
The Guix package to use. @xref{Customizing the System-Wide Guix} to
learn how to provide a package with a pre-configured set of channels.
@item @code{build-group} (default: @code{"guixbuild"})
Name of the group for build user accounts.

View File

@ -1,7 +1,7 @@
# htmlxref.cnf - reference file for free Texinfo manuals on the web.
# Modified by Ludovic Courtès <ludo@gnu.org> for the GNU Guix manual.
htmlxrefversion=2022-12-18.15; # UTC
htmlxrefversion=2024-03-31.22; # UTC
# Copyright 2010-2020, 2022 Free Software Foundation, Inc.
#
@ -436,6 +436,10 @@ GUIX_COOKBOOK = ${GUIX_ROOT}/cookbook
guix-cookbook.de node ${GUIX_COOKBOOK}/de/html_node/
guix-cookbook.fr mono ${GUIX_COOKBOOK}/fr/guix-cookbook.fr.html
guix-cookbook.fr node ${GUIX_COOKBOOK}/fr/html_node/
guix-cookbook.ko mono ${GUIX_COOKBOOK}/ko/guix-cookbook.ko.html
guix-cookbook.ko node ${GUIX_COOKBOOK}/ko/html_node/
guix-cookbook.pt_BR mono ${GUIX_COOKBOOK}/pt-br/guix-cookbook.pt_BR.html
guix-cookbook.pt_BR node ${GUIX_COOKBOOK}/pt-br/html_node/
guix-cookbook.sk mono ${GUIX_COOKBOOK}/sk/guix-cookbook.sk.html
guix-cookbook.sk node ${GUIX_COOKBOOK}/sk/html_node/
guix-cookbook mono ${GUIX_COOKBOOK}/en/guix-cookbook.html

View File

@ -23,7 +23,7 @@
# If adding a language, update the following variables, and info_TEXINFOS.
MANUAL_LANGUAGES = de es fr pt_BR ru zh_CN
COOKBOOK_LANGUAGES = de fr ko sk
COOKBOOK_LANGUAGES = de fr ko pt_BR sk
# Arg1: A list of languages codes.
# Arg2: The file name stem.
@ -42,6 +42,7 @@ info_TEXINFOS = %D%/guix.texi \
%D%/guix-cookbook.de.texi \
%D%/guix-cookbook.fr.texi \
%D%/guix-cookbook.ko.texi \
%D%/guix-cookbook.pt_BR.texi \
%D%/guix-cookbook.sk.texi
%C%_guix_TEXINFOS = \
@ -231,10 +232,9 @@ $(srcdir)/%D%/guix.1: scripts/guix.in $(sub_commands_mans)
# prerequisite is solely meant to force these docs to be made only after all
# Guile modules have been compiled. We also need the guix script to exist.
$(srcdir)/%D%/guix-%.1: guix/scripts/%.scm $(GOBJECTS) scripts/guix
-@case '$?' in \
*$<*) $(AM_V_P) && set -x || echo " HELP2MAN $@"; \
$(gen_man) --output="$@" "guix $*";; \
*) : ;; \
-@case '$?' in \
*$<*) $(AM_V_HELP2MAN:@%=%)$(gen_man) --output="$@" "guix $*";; \
*) : ;; \
esac
if BUILD_DAEMON

View File

@ -12,6 +12,8 @@
# Copyright © 2021, 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
# Copyright © 2022 Prafulla Giri <prafulla.giri@protonmail.com>
# Copyright © 2023 Andrew Tropin <andrew@trop.in>
# Copyright © 2020 David A. Redick <david.a.redick@gmail.com>
# Copyright © 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
#
# This file is part of GNU Guix.
#
@ -70,7 +72,9 @@ REQUIRE=(
"chmod"
"uname"
"groupadd"
"groupdel"
"useradd"
"userdel"
"tail"
"tr"
"xz"
@ -191,6 +195,7 @@ chk_term()
*)
ERR="[ FAIL ] "
PAS="[ PASS ] "
WAR="[ WARN ] "
;;
esac
fi
@ -377,6 +382,18 @@ sys_create_store()
_msg "${PAS}activated root profile at ${GUIX_PROFILE}"
}
sys_delete_store()
{
_msg "${INF}removing /var/guix"
rm -rf /var/guix
_msg "${INF}removing /gnu"
rm -rf /gnu
_msg "${INF}removing ${ROOT_HOME}/.config/guix"
rm -rf ${ROOT_HOME}/.config/guix
}
sys_create_build_user()
{ # Create the group and user accounts for build users.
@ -411,6 +428,16 @@ sys_create_build_user()
done
}
sys_delete_build_user()
{
for i in $(seq -w 1 10); do
userdel -f guixbuilder${i}
done
_msg "${INF}delete group guixbuild"
groupdel -f guixbuild
}
sys_enable_guix_daemon()
{ # Run the daemon, and set it to automatically start on boot.
@ -500,11 +527,70 @@ sys_enable_guix_daemon()
done
}
sys_delete_guix_daemon()
{ # Disabled, stop and remove the various guix daemons.
local info_path
local local_bin
local var_guix
_debug "--- [ $FUNCNAME ] ---"
info_path="/usr/local/share/info"
local_bin="/usr/local/bin"
case "$INIT_SYS" in
upstart)
_msg "${INF}stopping guix-daemon"
stop guix-daemon
_msg "${INF}removing guix-daemon"
rm /etc/init/guix-daemon.conf
;;
systemd)
_msg "${INF}disabling guix-daemon"
systemctl disable guix-daemon
_msg "${INF}stopping guix-daemon"
systemctl stop guix-daemon
_msg "${INF}removing guix-daemon"
rm -f /etc/systemd/system/guix-daemon.service
if [ -x /etc/systemd/system/gnu-store.mount ]; then
_msg "${INF}disabling gnu-store.mount"
systemctl disable gnu-store.mount
_msg "${INF}stopping gnu-store.mount"
systemctl stop gnu-store.mount
_msg "${INF}removing gnu-store.mount"
rm -f /etc/systemd/system/gnu-store.mount
fi
systemctl daemon-reload
;;
sysv-init)
update-rc.d guix-daemon disable
service guix-daemon stop
rm -rf /etc/init.d/guix-daemon
;;
NA|*)
_msg "${ERR}unsupported init system; disable, stop and remove the daemon manually:"
echo " ${ROOT_HOME}/.config/guix/current/bin/guix-daemon --build-users-group=guixbuild"
;;
esac
_msg "${INF}removing $local_bin/guix"
rm -f "$local_bin"/guix
_msg "${INF}removing $info_path/guix*"
rm -f "$info_path"/guix*
}
sys_authorize_build_farms()
{ # authorize the public key(s) of the build farm(s)
local hosts=(
ci.guix.gnu.org
bordeaux.guix.gnu.org
ci.guix.gnu.org
)
if prompt_yes_no "Permit downloading pre-built package binaries from the \
@ -557,6 +643,10 @@ GUIX_LOCPATH="$GUIX_PROFILE/lib/locale:${GUIX_LOCPATH:+:}$GUIX_LOCPATH"
export GUIX_LOCPATH
# Make Guix modules available
export GUILE_LOAD_PATH="$_GUIX_PROFILE/share/guile/site/3.0${GUILE_LOAD_PATH:+:}$GUILE_LOAD_PATH"
export GUILE_LOAD_COMPILED_PATH="$_GUIX_PROFILE/lib/guile/3.0/site-ccache${GUILE_LOAD_COMPILED_PATH:+:}$GUILE_LOAD_COMPILED_PATH"
EOF
}
@ -623,8 +713,29 @@ sys_maybe_setup_selinux()
restorecon -R /gnu /var/guix
}
sys_delete_init_profile()
{
_msg "${INF}removing /etc/profile.d/guix.sh"
rm -f /etc/profile.d/guix.sh
}
sys_delete_user_profiles()
{
_msg "${INF}removing ${ROOT_HOME}/.guix-profile"
rm -f ${ROOT_HOME}/.guix-profile
rm -rf ${ROOT_HOME}/.cache/guix
_msg "${INF}removing .guix-profile, .cache/guix and .config/guix of all /home users"
for user in `ls -1 /home`; do
rm -f /home/$user/.guix-profile
rm -rf /home/$user/.cache/guix
rm -rf /home/$user/.config/guix
done
}
welcome()
{
local uninstall_flag="$1"
local char
cat<<"EOF"
░░░ ░░░
@ -647,10 +758,17 @@ welcome()
| |__| | |\ | |__| | | |__| | |_| | |> <
\_____|_| \_|\____/ \_____|\__,_|_/_/\_\
This script installs GNU Guix on your system
https://www.gnu.org/software/guix/
EOF
if [ '--uninstall' = "$uninstall_flag" ]; then
echo "${WARN}This script will uninstall GNU Guix from your system"
echo "To install, run this script with no parameters."
else
echo "This script installs GNU Guix on your system"
echo "To uninstall, pass in the '--uninstall' parameter."
fi
# Don't use read -p here! It won't display when run non-interactively.
echo -n "Press return to continue..."$'\r'
if ! read -r char; then
@ -665,7 +783,7 @@ EOF
fi
}
main()
main_install()
{
local tmp_path
welcome
@ -715,4 +833,53 @@ main()
_msg "${INF}Please log out and back in to complete the installation."
}
main_uninstall()
{
welcome --uninstall
_msg "Starting uninstall process ($(date))"
chk_term
chk_require "${REQUIRE[@]}"
# it's ok to leave the gpg key
chk_init_sys
chk_sys_arch
_msg "${INF}system is ${ARCH_OS}"
# stop the build, package system.
sys_delete_guix_daemon
# stop people from accessing their profiles.
sys_delete_user_profiles
# kill guix off all the guts of guix
sys_delete_store
# clean up the system
sys_delete_init_profile
sys_delete_build_user
# these directories are created on the fly during usage.
_msg "${INF}removing /etc/guix"
rm -rf /etc/guix
_msg "${INF}removing /var/log/guix"
rm -rf /var/log/guix
_msg "${PAS}Guix has successfully been uninstalled!"
}
main()
{
# expect no parameters
# or '--uninstall'
if [ 0 -eq $# ]; then
main_install
else
local uninstall_flag="$1"
if [ '--uninstall' = "${uninstall_flag}" ]; then
main_uninstall
else
echo "unsupported parameters: $@"
exit 1
fi
fi
}
main "$@"

View File

@ -31,6 +31,16 @@
(channel-news
(version 0)
(entry (commit "b4aed68e960116b2b60f68ea1468d7a526149823")
(title
(en "Linux-libre LTS kernel updated to 6.6")
(de "Linux-libre LTS Kernel wird auf 6.6 aktualisiert"))
(body
(en "The default version of the @code{linux-libre-lts} kernel has been
updated to the 6.6 longterm release series.")
(de "Der standardmäßig verwendete @code{linux-libre-lts}-Kernel basiert
jetzt auf der 6.6-Versionsreihe (Langzeitunterstützung).")))
(entry (commit "523f3def65ab061a87f4fc9e6f9008e6a78fafb5")
(title
(en "GNOME updated to version 44 with a more modular desktop service")

View File

@ -127,8 +127,8 @@ FULL-VALUE tentatives, spaced by 1 second."
(lambda _ #f))
(alarm 3))
(lambda ()
(or (url-alive? "https://ci.guix.gnu.org")
(url-alive? "https://bordeaux.guix.gnu.org")))
(or (url-alive? "https://bordeaux.guix.gnu.org")
(url-alive? "https://ci.guix.gnu.org")))
(lambda ()
(alarm 0))))

View File

@ -49,7 +49,7 @@
# Copyright © 2021 Simon Tournier <zimon.toutoune@gmail.com>
# Copyright © 2022 Daniel Meißner <daniel.meissner-i4k@ruhr-uni-bochum.de>
# Copyright © 2022 Remco van 't Veer <remco@remworks.net>
# Copyright © 2022 Artyom V. Poptsov <poptsov.artyom@gmail.com>
# Copyright © 2022, 2024 Artyom V. Poptsov <poptsov.artyom@gmail.com>
# Copyright © 2022, 2023 John Kehayias <john.kehayias@protonmail.com>
# Copyright © 2022 muradm <mail@muradm.net>
# Copyright © 2022 Hilton Chain <hako@ultrarare.space>
@ -609,6 +609,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/sml.scm \
%D%/packages/solidity.scm \
%D%/packages/sourcehut.scm \
%D%/packages/specifications.scm \
%D%/packages/speech.scm \
%D%/packages/sphinx.scm \
%D%/packages/spice.scm \
@ -1195,6 +1196,7 @@ dist_patch_DATA = \
%D%/packages/patches/ffmpeg-jami-libopusdec-enable-FEC.patch \
%D%/packages/patches/ffmpeg-jami-libopusenc-enable-FEC.patch \
%D%/packages/patches/ffmpeg-jami-libopusenc-reload-packet-loss-at-encode.patch \
%D%/packages/patches/ffmpeg-jami-pipewiregrab-source-filter.patch \
%D%/packages/patches/ffmpeg-jami-remove-mjpeg-log.patch \
%D%/packages/patches/ffmpeg-jami-screen-sharing-x11-fix.patch \
%D%/packages/patches/fifengine-boost-compat.patch \
@ -1434,6 +1436,7 @@ dist_patch_DATA = \
%D%/packages/patches/gtk4-respect-GUIX_GTK4_PATH.patch \
%D%/packages/patches/gtkglext-disable-disable-deprecated.patch \
%D%/packages/patches/gtksourceview-2-add-default-directory.patch \
%D%/packages/patches/gwenview-kimageannotator.patch \
%D%/packages/patches/gzdoom-search-in-installed-share.patch \
%D%/packages/patches/gzdoom-find-system-libgme.patch \
%D%/packages/patches/hdf4-reproducibility.patch \
@ -1490,8 +1493,9 @@ dist_patch_DATA = \
%D%/packages/patches/itk-snap-alt-glibc-compat.patch \
%D%/packages/patches/jami-disable-integration-tests.patch \
%D%/packages/patches/jami-libjami-headers-search.patch \
%D%/packages/patches/jami-qml-tests-discovery.patch \
%D%/packages/patches/jami-qwindowkit.patch \
%D%/packages/patches/jami-skip-tests-requiring-internet.patch \
%D%/packages/patches/jami-tests-qtwebengine-ifdef-to-if.patch \
%D%/packages/patches/jami-unbundle-dependencies.patch \
%D%/packages/patches/jamvm-1.5.1-aarch64-support.patch \
%D%/packages/patches/jamvm-1.5.1-armv7-support.patch \
@ -1572,6 +1576,7 @@ dist_patch_DATA = \
%D%/packages/patches/liba52-use-mtune-not-mcpu.patch \
%D%/packages/patches/libaio-32bit-test.patch \
%D%/packages/patches/libaio-riscv-test5.patch \
%D%/packages/patches/libarchive-remove-potential-backdoor.patch \
%D%/packages/patches/libbase-fix-includes.patch \
%D%/packages/patches/libbase-use-own-logging.patch \
%D%/packages/patches/libbonobo-activation-test-race.patch \
@ -1762,7 +1767,6 @@ dist_patch_DATA = \
%D%/packages/patches/openboardview-use-system-imgui.patch \
%D%/packages/patches/openboardview-use-system-mpc.patch \
%D%/packages/patches/openbox-python3.patch \
%D%/packages/patches/opencolorio-fix-build-with-gcc11.patch \
%D%/packages/patches/openjdk-currency-time-bomb.patch \
%D%/packages/patches/openjdk-currency-time-bomb2.patch \
%D%/packages/patches/openjdk-9-pointer-comparison.patch \
@ -1773,7 +1777,6 @@ dist_patch_DATA = \
%D%/packages/patches/openjdk-15-xcursor-no-dynamic.patch \
%D%/packages/patches/openjdk-21-fix-rpath.patch \
%D%/packages/patches/openmpi-mtl-priorities.patch \
%D%/packages/patches/openssh-gcc-13-ppc64le-fzero-call-used-regs.patch \
%D%/packages/patches/openssh-trust-guix-store-directory.patch \
%D%/packages/patches/openresolv-restartcmd-guix.patch \
%D%/packages/patches/openrgb-unbundle-hueplusplus.patch \
@ -1961,10 +1964,12 @@ dist_patch_DATA = \
%D%/packages/patches/qemu-fix-agent-paths.patch \
%D%/packages/patches/qrcodegen-cpp-make-install.patch \
%D%/packages/patches/qtbase-absolute-runpath.patch \
%D%/packages/patches/qtbase-find-tools-in-PATH.patch \
%D%/packages/patches/qtbase-qmake-fix-includedir.patch \
%D%/packages/patches/qtbase-qmlimportscanner-qml-import-path.patch \
%D%/packages/patches/qtbase-moc-ignore-gcc-macro.patch \
%D%/packages/patches/qtbase-qmake-use-libname.patch \
%D%/packages/patches/qtbase-5-use-TZDIR.patch \
%D%/packages/patches/qtbase-use-TZDIR.patch \
%D%/packages/patches/qtscript-disable-tests.patch \
%D%/packages/patches/quagga-reproducible-build.patch \
%D%/packages/patches/quickswitch-fix-dmenu-check.patch \

View File

@ -64,6 +64,7 @@
;;; Copyright © 2023 Jaeme Sifat <jaeme@runbox.com>
;;; Copyright © 2023 Nicolas Graves <ngraves@ngraves.fr>
;;; Copyright © 2023 Tomás Ortín Fernández <tomasortin@mailbox.org>
;;; Copyright © 2024 dan <i@dan.games>
;;;
;;; This file is part of GNU Guix.
;;;
@ -99,6 +100,7 @@
#:use-module (guix gexp)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix platform)
#:use-module (guix utils)
#:use-module (gnu packages)
#:use-module (gnu packages acl)
@ -135,6 +137,7 @@
#:use-module (gnu packages golang)
#:use-module (gnu packages golang-build)
#:use-module (gnu packages golang-compression)
#:use-module (gnu packages golang-xyz)
#:use-module (gnu packages groff)
#:use-module (gnu packages gtk)
#:use-module (gnu packages guile)
@ -5119,7 +5122,12 @@ Netgear devices.")
version ".tar.gz"))
(sha256
(base32
"1y4qmc8i7zg2cqrmz38dxbsj8bb2h7jm1zz23gqcdygkgaymwddw"))))
"09prpw20ps6cd8qr63glbcip3jrvnnic0m7j1q02g8hjnw8z50ld"))
(snippet
;; The 'mkdate' script generates a new 'versdate.h' header
;; containing the build date. That makes builds
;; non-reproducible so remove it.
#~(delete-file "mkdate"))))
(build-system gnu-build-system)
(arguments
(list
@ -5160,56 +5168,121 @@ disk utilization, priority, username, state, and exit code.")
`((release-monitoring-url . "https://www.atoptool.nl/downloadatop.php")))
(license license:gpl2+)))
;; TODO: Unvendor u-root (pkg: forth, golang, testutil).
(define fiano
(package
(name "fiano")
(version "5.0.0")
;; TODO: Pack u-root for: forth, and some tests.
(define-public fiano
(package
(name "fiano")
;; The versioning count has been changed since commit <2021-12-01>
;; 1eb599564549691603589219c2be34f966a32ff1.
(version "1.2.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/linuxboot/fiano.git")
(commit (string-append "v" version))))
(file-name (string-append name "-" version "-checkout"))
(file-name (git-file-name name version))
(sha256
(base32
"03ihdwwhb7g6bihx141cn0924sjs5ps6q3ps58pk1cg0g0srrr9h"))
(modules '((guix build utils)))
(snippet
'(begin
(delete-file-recursively "vendor/golang.org")
(delete-file-recursively "vendor/github.com")
#t))))
"0s5fx4lhgb68qbx4ql34rcm678qdf0c4xl97bgc8dx9xwwqifza1"))))
(build-system go-build-system)
(arguments
`(#:import-path "github.com/linuxboot/fiano"
#:unpack-path "github.com/linuxboot/fiano"))
(native-inputs
`())
(list
#:install-source? #f
#:import-path "github.com/linuxboot/fiano"
#:unpack-path "github.com/linuxboot/fiano"
#:phases
#~(modify-phases %standard-phases
;; XXX: Replace this part when it's implemented in go-build-system.
(replace 'build
(lambda* (#:key import-path #:allow-other-keys)
(for-each
(lambda (cmd)
(invoke "go" "build" "-v" "-x" "-ldflags=-s -w" "-trimpath"
(string-append import-path "/cmds/" cmd)))
(list "cbfs"
"create-ffs"
;; TODO: Not packed yet in guix, long jorney:
;; - github.com/tjfoc/gmsm
;;
;; "fittool"
"fmap"
"fspinfo"
"glzma"
"guid2english"
"microcode"
"utk"))))
(replace 'check
(lambda* (#:key import-path tests? #:allow-other-keys)
(when tests?
(for-each
(lambda (dir)
(invoke "go" "test" "-v"
(string-append import-path dir "/...")))
(list "/pkg/bytes"
;; TODO: Not packed yet in Guix, long jorney:
;; - github.com/jedib0t
;;
;; "/pkg/amd"
"/pkg/cbfs"
"/pkg/compression"
"/pkg/fmap"
"/pkg/fsp"
"/pkg/guid"
"/pkg/guid2english"
;; TODO: Not packed yet in Guix, long jorney:
;; - github.com/tjfoc/gmsm
;;
;; "/pkg/intel"
"/pkg/knownguids"
"/pkg/log"
"/pkg/uefi"
"/pkg/unicode"
"/pkg/utk"
"/pkg/visitors"
"/cmds/cbfs"
"/cmds/create-ffs"
;; TODO: Not packed yet in Guix, long jorney:
;; - github.com/u-root/u-root
;;
;; "/cmds/fmap"
;; "/cmds/fittool"
"/cmds/fspinfo"
"/cmds/glzma"
"/cmds/guid2english"
"/cmds/microcode"
"/cmds/utk")))))
(replace 'install
(lambda _
(let ((bindir (string-append #$output "/bin")))
(for-each
(lambda (cmd)
(install-file cmd bindir))
(list "cbfs"
"create-ffs"
;; "fittool"
"fmap"
"fspinfo"
"glzma"
"guid2english"
"microcode"
"utk"))))))))
(inputs
`(("go-golang-org-x-text" ,go-golang-org-x-text)
("go-github-com-ulikunitz-xz" ,go-github-com-ulikunitz-xz)))
(synopsis "UEFI image editor")
(description "This package provides a command-line UEFI image editor.")
(list go-github-com-dustin-go-humanize
go-github-com-hashicorp-errwrap
go-github-com-hashicorp-go-multierror
go-github-com-jessevdk-go-flags
go-github-com-pierrec-lz4
go-github-com-spf13-pflag
go-github-com-ulikunitz-xz
go-golang-org-x-text))
(home-page "https://github.com/linuxboot/fiano")
(synopsis "UEFI image editor")
(description
"This package provides a command-line UEFI image editor, including cbfs,
create-ffs, fmap, fspinfo, glzma, guid2english, microcode and utk CLI
utilities.")
(license license:bsd-3)))
(define-public fiano-utk
(package
(inherit fiano)
(name "fiano-utk")
(arguments
`(#:import-path "github.com/linuxboot/fiano/cmds/utk"
#:unpack-path "github.com/linuxboot/fiano"))))
(define-public fiano-fmap
(package
(inherit fiano)
(name "fiano-fmap")
(arguments
`(#:import-path "github.com/linuxboot/fiano/cmds/fmap"
#:unpack-path "github.com/linuxboot/fiano"))))
(define-public novena-eeprom
(package
(name "novena-eeprom")
@ -5462,7 +5535,14 @@ it won't take longer to install 15 machines than it would to install just 2.")
(man1 (string-append man "/man1"))
(man5 (string-append man "/man5"))
(man7 (string-append man "/man7"))
(release "target/release")
(release ,(if (%current-target-system)
(string-append
"target/"
(platform-rust-target
(lookup-platform-by-target
(%current-target-system)))
"/release")
"target/release"))
(greetd-bin (string-append release "/greetd"))
(agreety-bin (string-append release "/agreety")))
(install-file greetd-bin sbin)
@ -5472,8 +5552,10 @@ it won't take longer to install 15 machines than it would to install just 2.")
(install-file "greetd.5" man5)
(install-file "greetd-ipc.7" man7)
(install-file "agreety.1" man1))))))))
(inputs
(list linux-pam))
(native-inputs
(list linux-pam scdoc))
(list scdoc))
(synopsis "Minimal and flexible login manager daemon")
(description
"greetd is a minimal and flexible login manager daemon

View File

@ -414,7 +414,6 @@ precision.")
glpk-4
gmp
gsl
lapack
libjpeg-turbo
libpng
libsamplerate
@ -426,6 +425,7 @@ precision.")
mpfi
mpfr
ntl
openblas
pari-gp
perl
tcsh))

View File

@ -50,6 +50,7 @@
#:use-module (gnu packages gcc)
#:use-module (gnu packages gnupg)
#:use-module (gnu packages golang)
#:use-module (gnu packages golang-xyz)
#:use-module (gnu packages image)
#:use-module (gnu packages java)
#:use-module (gnu packages linux)

View File

@ -56,7 +56,7 @@
(home-page "https://www.gnu.org/software/apl/")
(inputs
(list gettext-minimal
lapack
openblas
pcre2
readline
sqlite))

View File

@ -323,7 +323,6 @@ rendering of the atmosphere model and examine its properties.
gsl
gtkmm-3
hdf5
lapack
libpng
libsigc++
libxml2
@ -411,7 +410,6 @@ wide set of telescopes.")
fftwf
gfortran
hdf5
lapack
ncurses
openblas
python
@ -1390,7 +1388,7 @@ deconvolution). Such post-processing is not performed by Stackistry.")
qtmultimedia-5
qtpositioning
qtscript
qtserialport
qtserialport-5
qttranslations
qtwebengine-5
qxlsx-qt5

View File

@ -774,7 +774,7 @@ purposes developed at Queen Mary, University of London.")
(define-public ardour
(package
(name "ardour")
(version "8.0")
(version "8.4")
(source (origin
(method git-fetch)
(uri (git-reference
@ -791,7 +791,7 @@ purposes developed at Queen Mary, University of London.")
namespace ARDOUR { const char* revision = \"" version "\" ; const char* date = \"\"; }")))))
(sha256
(base32
"1a2dbysd64njiw087ypkwlvr31qz3dvfaca55nq2bc4fmm71mgv4"))
"17gh1yaaby17zwx43h5v8dsrcznks9pn8jddc3wadq13b5x7zb7a"))
(file-name (string-append name "-" version))))
(build-system waf-build-system)
(arguments
@ -800,6 +800,7 @@ namespace ARDOUR { const char* revision = \"" version "\" ; const char* date = \
'(list "--cxx11" ;required by gtkmm
"--optimize"
"--no-phone-home" ;don't contact ardour.org
"--no-ytk" ;don't use bundled GTK2
"--freedesktop" ;build .desktop file
"--test" ;build unit tests
"--use-external-libs") ;use system libraries
@ -6368,7 +6369,7 @@ and DSD streams.")
(define-public qpwgraph
(package
(name "qpwgraph")
(version "0.6.2")
(version "0.6.3")
(source (origin
(method git-fetch)
(uri (git-reference
@ -6377,7 +6378,7 @@ and DSD streams.")
(file-name (git-file-name name version))
(sha256
(base32
"0185hxbwqxhjiyym0s7bmrm50f3p4bnvx92qqmgvg3zd7r1x8m8s"))))
"04ddcrc1r9il275jzcmr3wpii1is0s3hifc3a3h4aamxf1facdcr"))))
(build-system cmake-build-system)
(arguments
(list #:tests? #f)) ; no tests

View File

@ -85,110 +85,106 @@
(sha256
(base32 "1qffis277wshldr3i939b0r2x3a2mlr53samxqmr2nk1sfm2b4w9"))
(modules '((guix build utils)))
;; Remove pre-built Java binaries.
(snippet
'(begin
;; Remove pre-built Java binaries.
(delete-file-recursively "lib/")
#t))))
'(delete-file-recursively "lib/"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no check target
#:modules ((guix build gnu-build-system)
(list
#:tests? #f ; no check target
#:modules '((guix build gnu-build-system)
(guix build utils)
(srfi srfi-1)
(srfi srfi-26)
(ice-9 match)
(ice-9 regex))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-paths
(lambda* (#:key inputs #:allow-other-keys)
;; prepare ChibiOS
(invoke "unzip" "-o" (assoc-ref inputs "chibios"))
(invoke "mv" "ChibiOS_2.6.9" "chibios")
(with-directory-excursion "chibios/ext"
(invoke "unzip" "-o" "fatfs-0.9-patched.zip"))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-paths
(lambda* (#:key inputs #:allow-other-keys)
;; prepare ChibiOS
(invoke "unzip" "-o" (assoc-ref inputs "chibios"))
(invoke "mv" "ChibiOS_2.6.9" "chibios")
(with-directory-excursion "chibios/ext"
(invoke "unzip" "-o" "fatfs-0.9-patched.zip"))
;; Remove source of non-determinism in ChibiOS
(substitute* "chibios/os/various/shell.c"
(("#ifdef __DATE__") "#if 0"))
;; Remove source of non-determinism in ChibiOS
(substitute* "chibios/os/various/shell.c"
(("#ifdef __DATE__") "#if 0"))
;; Patch shell paths
(substitute* '("src/main/java/qcmds/QCmdCompileFirmware.java"
"src/main/java/qcmds/QCmdCompilePatch.java"
"src/main/java/qcmds/QCmdFlashDFU.java")
(("/bin/sh") (which "sh")))
;; Patch shell paths
(substitute* '("src/main/java/qcmds/QCmdCompileFirmware.java"
"src/main/java/qcmds/QCmdCompilePatch.java"
"src/main/java/qcmds/QCmdFlashDFU.java")
(("/bin/sh") (which "sh")))
;; Override cross compiler base name
(substitute* "firmware/Makefile.patch"
(("arm-none-eabi-(gcc|g\\+\\+|objcopy|objdump)" tool)
(which tool)))
;; Override cross compiler base name
(substitute* "firmware/Makefile.patch"
(("arm-none-eabi-(gcc|g\\+\\+|objcopy|objdump)" tool)
(which tool)))
;; XXX: for some reason the whitespace substitution does not
;; work, so we disable it.
(substitute* "firmware/Makefile.patch"
(("^BDIR=.*") "BDIR=${axoloti_home}/build\n"))
;; XXX: for some reason the whitespace substitution does not
;; work, so we disable it.
(substitute* "firmware/Makefile.patch"
(("^BDIR=.*") "BDIR=${axoloti_home}/build\n"))
;; Hardcode full path to compiler tools
(substitute* '("firmware/Makefile"
"firmware/flasher/Makefile"
"firmware/mounter/Makefile")
(("TRGT =.*")
(string-append "TRGT = "
(assoc-ref inputs "cross-toolchain")
"/bin/arm-none-eabi-\n")))
;; Hardcode full path to compiler tools
(substitute* '("firmware/Makefile"
"firmware/flasher/Makefile"
"firmware/mounter/Makefile")
(("TRGT =.*")
(string-append "TRGT = "
(assoc-ref inputs "cross-toolchain")
"/bin/arm-none-eabi-\n")))
;; Hardcode path to "make"
(substitute* '("firmware/compile_firmware_linux.sh"
"firmware/compile_patch_linux.sh")
(("make") (which "make")))
;; Hardcode path to "make"
(substitute* '("firmware/compile_firmware_linux.sh"
"firmware/compile_patch_linux.sh")
(("make") (which "make")))
;; Hardcode path to "dfu-util"
(substitute* "platform_linux/upload_fw_dfu.sh"
(("-f \"\\$\\{platformdir\\}/bin/dfu-util\"") "-z \"\"")
(("\\./dfu-util") (which "dfu-util")))
#t))
(delete 'configure)
(replace 'build
;; Build Axoloti firmware with cross-compiler
(lambda _
(with-directory-excursion "platform_linux"
(invoke "sh" "compile_firmware.sh"))))
(replace 'install
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(share (string-append out "/share/axoloti/"))
(doc (string-append share "doc"))
(dir (getcwd))
(pats '("/doc/[^/]+$"
"/patches/[^/]+/[^/]+$"
"/objects/[^/]+/[^/]+$"
"/firmware/.+"
"/chibios/[^/]+$"
"/chibios/boards/ST_STM32F4_DISCOVERY/[^/]+$"
"/chibios/(ext|os|docs)/.+"
"/CMSIS/[^/]+/[^/]+$"
"/patch/[^/]+/[^/]+$"
"/[^/]+\\.txt$"))
(pattern (string-append
"(" (string-join
(map (cut string-append dir <>)
pats)
"|") ")"))
(files (find-files dir
(lambda (file stat)
(and (eq? 'regular (stat:type stat))
(string-match pattern file))))))
(for-each (lambda (file)
(install-file file
(string-append
share
(regexp-substitute
#f
(string-match dir (dirname file))
'pre 'post))))
files)
#t))))))
;; Hardcode path to "dfu-util"
(substitute* "platform_linux/upload_fw_dfu.sh"
(("-f \"\\$\\{platformdir\\}/bin/dfu-util\"") "-z \"\"")
(("\\./dfu-util") (which "dfu-util")))))
(delete 'configure)
(replace 'build
;; Build Axoloti firmware with cross-compiler
(lambda _
(with-directory-excursion "platform_linux"
(invoke "sh" "compile_firmware.sh"))))
(replace 'install
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((share (string-append #$output "/share/axoloti/"))
(doc (string-append share "doc"))
(dir (getcwd))
(pats '("/doc/[^/]+$"
"/patches/[^/]+/[^/]+$"
"/objects/[^/]+/[^/]+$"
"/firmware/.+"
"/chibios/[^/]+$"
"/chibios/boards/ST_STM32F4_DISCOVERY/[^/]+$"
"/chibios/(ext|os|docs)/.+"
"/CMSIS/[^/]+/[^/]+$"
"/patch/[^/]+/[^/]+$"
"/[^/]+\\.txt$"))
(pattern (string-append
"(" (string-join
(map (cut string-append dir <>)
pats)
"|") ")"))
(files (find-files dir
(lambda (file stat)
(and (eq? 'regular (stat:type stat))
(string-match pattern file))))))
(for-each (lambda (file)
(install-file file
(string-append
share
(regexp-substitute
#f
(string-match dir (dirname file))
'pre 'post))))
files)))))))
(inputs
`(("chibios"
,(origin
@ -618,3 +614,324 @@ for sketching digital audio algorithms. The patches run on a standalone
powerful microcontroller board: Axoloti Core.")
(license (list license:gpl3+ ; the whole project and GUI
license:bsd-3)))) ; the elfloader
(define-public ksoloti-runtime
(package
(name "ksoloti-runtime")
(version "1.0.12-7")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/ksoloti/ksoloti")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "046jddrzlx1pdn53z0l8wf3rz7jsx7qn6l08ccw104gk996gr3gn"))
(modules '((guix build utils)))
;; Remove pre-built Java binaries.
(snippet
'(delete-file-recursively "lib/"))))
(build-system gnu-build-system)
(arguments
(list
#:tests? #f ; no check target
#:modules '((guix build gnu-build-system)
(guix build utils)
(srfi srfi-1)
(srfi srfi-26)
(ice-9 match)
(ice-9 regex))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-paths
(lambda* (#:key inputs #:allow-other-keys)
;; prepare ChibiOS
(invoke "unzip" "-o" (assoc-ref inputs "chibios"))
(invoke "mv" "ChibiOS_2.6.9" "chibios")
(with-directory-excursion "chibios/ext"
(invoke "unzip" "-o" "fatfs-0.9-patched.zip"))
;; Remove source of non-determinism in ChibiOS
(substitute* "chibios/os/various/shell.c"
(("#ifdef __DATE__") "#if 0"))
;; Patch shell paths
(substitute* '("src/main/java/qcmds/QCmdCompileFirmware.java"
"src/main/java/qcmds/QCmdCompilePatch.java"
"src/main/java/qcmds/QCmdFlashDFU.java")
(("/bin/sh") (which "sh")))
;; Override cross compiler base name
(substitute* '("firmware/Makefile.patch"
"firmware_axoloti_legacy/Makefile.patch")
(("arm-none-eabi-(gcc|g\\+\\+|objcopy|objdump|size)" tool)
(which tool)))
;; XXX: for some reason the whitespace substitution does not
;; work, so we disable it.
(substitute* '("firmware/Makefile.patch"
"firmware_axoloti_legacy/Makefile.patch")
(("^BUILDDIR=.*") "BUILDDIR=${axoloti_libraries}/build\n"))
;; Hardcode full path to compiler tools
(substitute* '("firmware/Makefile"
"firmware/flasher/Makefile"
"firmware/mounter/Makefile"
"firmware_axoloti_legacy/Makefile"
"firmware_axoloti_legacy/flasher/Makefile"
"firmware_axoloti_legacy/mounter/Makefile")
(("TRGT =.*")
(string-append "TRGT = "
(assoc-ref inputs "cross-toolchain")
"/bin/arm-none-eabi-\n")))
;; XXX: Add missing entry for -size tool. This should be
;; upstreamed.
(substitute* '("firmware_axoloti_legacy/flasher/Makefile"
"firmware_axoloti_legacy/mounter/Makefile")
(("^OD.*= \\$\\(TRGT\\)objdump" m)
(string-append m "\nSZ = $(TRGT)size")))
;; Hardcode path to "make"
(substitute* '("firmware/compile_firmware_linux.sh"
"firmware/compile_patch_linux.sh"
"firmware_axoloti_legacy/compile_firmware_linux.sh"
"firmware_axoloti_legacy/compile_patch_linux.sh")
(("make") (which "make")))
;; Hardcode path to "dfu-util"
(substitute* "platform_linux/upload_fw_dfu.sh"
(("-f \"\\$\\{platformdir\\}/bin/dfu-util\"") "-z \"\"")
(("\\./dfu-util") (which "dfu-util")))))
(delete 'configure)
(replace 'build
;; Build Axoloti firmware with cross-compiler
(lambda _
(with-directory-excursion "platform_linux"
(substitute* "compile_firmware.sh"
(("^\"\\$\\{axoloti.*_firmware\\}/compile_firmware_linux.sh" m)
(string-append (which "bash") " " m)))
(invoke "sh" "compile_firmware.sh"))))
(replace 'install
(lambda* (#:key inputs #:allow-other-keys)
(let* ((share (string-append #$output "/share/ksoloti/"))
(doc (string-append share "doc"))
(dir (getcwd))
(pats '("/doc/[^/]+$"
"/patches/[^/]+/[^/]+$"
"/objects/[^/]+/[^/]+$"
"/firmware/.+"
"/firmware_axoloti_legacy/.+"
"/chibios/[^/]+$"
"/chibios/boards/ST_STM32F4_DISCOVERY/[^/]+$"
"/chibios/(ext|os|docs)/.+"
"/CMSIS/[^/]+/[^/]+$"
"/patch/[^/]+/[^/]+$"
"/[^/]+\\.txt$"))
(pattern (string-append
"(" (string-join
(map (cut string-append dir <>)
pats)
"|") ")"))
(files (find-files dir
(lambda (file stat)
(and (eq? 'regular (stat:type stat))
(string-match pattern file))))))
(for-each (lambda (file)
(install-file file
(string-append
share
(regexp-substitute
#f
(string-match dir (dirname file))
'pre 'post))))
files)))))))
(inputs
`(("chibios"
,(origin
(method url-fetch)
(uri "mirror://sourceforge/chibios/ChibiOS%20GPL3/Version%202.6.9/ChibiOS_2.6.9.zip")
(sha256
(base32
"0lb5s8pkj80mqhsy47mmq0lqk34s2a2m3xagzihalvabwd0frhlj"))))
;; for compiling patches
("make" ,gnu-make)
;; for compiling firmware
("cross-toolchain" ,(make-arm-none-eabi-nano-toolchain-4.9))
;; for uploading compiled patches and firmware
("dfu-util" ,dfu-util-for-axoloti)))
(native-inputs (list unzip))
(home-page "https://ksoloti.github.io/")
(synopsis "Audio development environment for the Ksoloti board")
(description
"Ksoloti is an environment for generating and processing digital
audio. It can be a programmable virtual modular synthesizer, polysynth, drone
box, sequencer, chord generator, multi effect, sample player, looper, granular
sampler, MIDI generator/processor, CV or trigger generator, anything in
between, and more.
The Ksoloti Core is a rework of the discontinued Axoloti Core board. In
short, Ksoloti aims for maximum compatibility with the original Axoloti, but
with some layout changes and added features.
This package provides the runtime.")
(license license:gpl3+)))
(define-public ksoloti-patcher
(package
(inherit ksoloti-runtime)
(name "ksoloti-patcher")
(version (package-version ksoloti-runtime))
(arguments
(list
#:tests? #f ; no check target
#:modules '((guix build gnu-build-system)
((guix build ant-build-system) #:prefix ant:)
(guix build utils)
(srfi srfi-1)
(srfi srfi-26)
(ice-9 match)
(ice-9 regex)
(sxml simple)
(sxml xpath)
(sxml transform))
#:imported-modules `((guix build ant-build-system)
,@%gnu-build-system-modules)
#:phases
#~(modify-phases %standard-phases
(delete 'configure)
(replace 'build
(lambda* (#:key inputs #:allow-other-keys)
(setenv "JAVA_HOME"
(dirname
(dirname (search-input-file inputs "/bin/javac"))))
;; We want to use our own jar files instead of the pre-built
;; stuff in lib. So we replace the zipfileset tags in the
;; build.xml with new ones that reference our jars.
(let* ((build.xml (with-input-from-file "build.xml"
(lambda _
(xml->sxml #:trim-whitespace? #t))))
(jars (append-map (match-lambda
(((? (cut string-prefix? "java-" <>)
label) . directory)
(find-files directory "\\.jar$"))
(_ '()))
inputs))
(all-jars (append jars (find-files "lib" "\\.jar$")))
(classpath (string-join all-jars ":"))
(fileset (map (lambda (jar)
`(zipfileset (@ (excludes "META-INF/*.SF")
(src ,jar))))
all-jars)))
(call-with-output-file "build.xml"
(lambda (port)
(sxml->xml
(pre-post-order
build.xml
`( ;; Remove all zipfileset tags from the "jar" tree and
;; inject our own tags.
(jar . ,(lambda (tag . kids)
`(jar ,@(append-map
(filter (lambda (e)
(not (eq? 'zipfileset (car e)))))
kids)
,@fileset)))
;; Skip the "bundle" target (and the "-post-jar" target
;; that depends on it), because we don't need it and it
;; confuses sxml->xml.
(target . ,(lambda (tag . kids)
(let ((name ((sxpath '(name *text*))
(car kids))))
(if (or (member "bundle" name)
(member "-post-jar" name))
'() ; skip
`(,tag ,@kids)))))
(*default* . ,(lambda (tag . kids) `(,tag ,@kids)))
(*text* . ,(lambda (_ txt)
(match txt
;; Remove timestamp.
("${TODAY}" "(unknown)")
(_ txt))))))
port)))
;; Build it!
(invoke "ant"
(string-append "-Djavac.classpath=" classpath)
"-Dbuild.runtime=true"
"-Dbuild.time=01/01/1970 00:00:00"
"-Djavac.source=1.8"
"-Djavac.target=1.8"
(string-append "-Dtag.short.version="
#$version)))))
(replace 'install
(lambda* (#:key inputs #:allow-other-keys)
(let ((share (string-append #$output "/share/ksoloti/")))
(install-file "dist/Ksoloti.jar" share)
;; We do this to ensure that this package retains references to
;; other Java packages' jar files.
(install-file "build.xml" share)
;; Create a launcher script
(mkdir (string-append #$output "/bin"))
(let ((target (string-append #$output "/bin/Ksoloti")))
(with-output-to-file target
(lambda ()
(let* ((dir (string-append #$output "/share/ksoloti"))
(runtime (search-input-directory inputs
"share/ksoloti"))
(toolchain (assoc-ref inputs "cross-toolchain"))
(includes (string-append
toolchain
"/arm-none-eabi/include/:"
toolchain
"/arm-none-eabi/include/c++:"
toolchain
"/arm-none-eabi/include/c++/arm-none-eabi/armv7e-m"))
(marlin.jar
(search-input-file inputs "/share/java/marlin.jar")))
(display
(string-append "#!" (which "sh") "\n"
"export CROSS_CPATH=" includes "\n"
"export CROSS_CPLUS_INCLUDE_PATH=" includes "\n"
"export CROSS_LIBRARY_PATH="
toolchain "/arm-none-eabi/lib" "\n"
(which "java")
" -Xbootclasspath/a:" marlin.jar
" -Dsun.java2d.renderer=org.marlin.pisces.MarlinRenderingEngine"
" -Dsun.java2d.dpiaware=true"
" -Daxoloti_release=" runtime
" -Daxoloti_runtime=" runtime
" -jar " dir "/Ksoloti.jar")))))
(chmod target #o555)))))
(add-after 'install 'strip-jar-timestamps
(assoc-ref ant:%standard-phases 'strip-jar-timestamps)))))
(inputs
`(("openjdk" ,openjdk11 "jdk")
("cross-toolchain" ,(make-arm-none-eabi-nano-toolchain-4.9))
("java-autocomplete" ,java-autocomplete)
("java-flatlaf" ,java-flatlaf)
("java-flatlaf-intellij-themes" ,java-flatlaf-intellij-themes)
("java-jgit" ,java-jgit-4.2)
("java-jsch" ,java-jsch)
("java-marlin-renderer" ,java-marlin-renderer)
("java-rsyntaxtextarea" ,java-rsyntaxtextarea)
("java-simple-xml" ,java-simple-xml)
("java-usb4java" ,java-usb4java)
("java-slf4j-api" ,java-slf4j-api)
("ksoloti-runtime" ,ksoloti-runtime)))
(native-inputs
(list ant zip ;for repacking the jar
unzip))
(description
"Ksoloti is an environment for generating and processing digital
audio. It can be a programmable virtual modular synthesizer, polysynth, drone
box, sequencer, chord generator, multi effect, sample player, looper, granular
sampler, MIDI generator/processor, CV or trigger generator, anything in
between, and more.
The Ksoloti Core is a rework of the discontinued Axoloti Core board. In
short, Ksoloti aims for maximum compatibility with the original Axoloti, but
with some layout changes and added features.
This package provides the patcher application.")))

View File

@ -41,31 +41,31 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages backup)
#:use-module (guix gexp)
#:use-module (guix packages)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix gexp)
#:use-module (guix git-download)
#:use-module (guix download)
#:use-module (guix utils)
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (guix build-system go)
#:use-module (guix build-system python)
#:use-module (guix build-system qt)
#:use-module (guix download)
#:use-module (guix gexp)
#:use-module (guix gexp)
#:use-module (guix git-download)
#:use-module (guix packages)
#:use-module (guix utils)
#:use-module (gnu packages)
#:use-module (gnu packages acl)
#:use-module (gnu packages autotools)
#:use-module (gnu packages bash)
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
#:use-module (gnu packages crypto)
#:use-module (gnu packages databases)
#:use-module (gnu packages datastructures)
#:use-module (gnu packages digest)
#:use-module (gnu packages dbm)
#:use-module (gnu packages dejagnu)
#:use-module (gnu packages digest)
#:use-module (gnu packages ftp)
#:use-module (gnu packages gettext)
#:use-module (gnu packages glib)
@ -259,6 +259,7 @@ backups (called chunks) to allow easy burning to CD/DVD.")
(define-public libarchive
(package
(name "libarchive")
(replacement libarchive/fixed)
(version "3.6.1")
(source
(origin
@ -347,6 +348,25 @@ random access nor for in-place modification. This package provides the
@command{bsdcat}, @command{bsdcpio} and @command{bsdtar} commands.")
(license license:bsd-2)))
(define-public libarchive/fixed
(hidden-package
(package
(inherit libarchive)
(version "3.6.1")
(source
(origin
(method url-fetch)
(uri (list (string-append "https://libarchive.org/downloads/libarchive-"
version ".tar.xz")
(string-append "https://github.com/libarchive/libarchive"
"/releases/download/v" version "/libarchive-"
version ".tar.xz")))
(patches (search-patches "libarchive-remove-potential-backdoor.patch"))
(sha256
(base32
"1rj8q5v26lxxr8x4b4nqbrj7p06qvl91hb8cdxi3xx3qp771lhas")))))))
(define-public rdup
(package
(name "rdup")

View File

@ -10952,13 +10952,13 @@ single-cell RNA-seq.")
(define-public r-seqarray
(package
(name "r-seqarray")
(version "1.42.2")
(version "1.42.3")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "SeqArray" version))
(sha256
(base32
"1bwqyvvfwwscznwi1bm4wh2pqf0fmq68g7siwbbw5ypj087ibnnm"))))
"1500vwsgdxdaafp2fb0252c0hhpz3lhrniv21nb7xnky7mbr7lk6"))))
(properties `((upstream-name . "SeqArray")))
(build-system r-build-system)
(propagated-inputs (list r-biostrings
@ -15037,13 +15037,13 @@ standardization of the analyses and the development of best practices.")
(define-public r-microbiomestat
(package
(name "r-microbiomestat")
(version "1.1")
(version "1.2")
(source (origin
(method url-fetch)
(uri (cran-uri "MicrobiomeStat" version))
(sha256
(base32
"1j5sar85a1gksc83pc4ypxwb0c7whxglx069zarphrgqfazcr1m4"))))
"1kpc68sl63k104xy7r6f3gxan0yx0rs7ksn8ldbq8xla00ddflgq"))))
(properties `((upstream-name . "MicrobiomeStat")))
(build-system r-build-system)
(propagated-inputs (list r-foreach
@ -15054,7 +15054,6 @@ standardization of the analyses and the development of best practices.")
r-matrix
r-matrixstats
r-modeest
r-phyloseq
r-statmod))
(home-page "https://cran.r-project.org/package=MicrobiomeStat")
(synopsis "Statistical methods for microbiome compositional data")
@ -17583,14 +17582,14 @@ Infinium HumanMethylation 450k assay.")
(define-public r-biocfilecache
(package
(name "r-biocfilecache")
(version "2.10.1")
(version "2.10.2")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "BiocFileCache" version))
(sha256
(base32
"044kh1rfgb608y2v4wzbzddirhw5crj3k6i28wr78qgnzqc89mdm"))))
"00gnnc4yypvjnvh1xq4bzqi34j9i9ld1rnjnb2gsxbhaq5nzq31z"))))
(properties `((upstream-name . "BiocFileCache")))
(build-system r-build-system)
(propagated-inputs
@ -22404,14 +22403,14 @@ relevant, and the minimum expression of the most abundant condition.")
(define-public r-catalyst
(package
(name "r-catalyst")
(version "1.26.0")
(version "1.26.1")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "CATALYST" version))
(sha256
(base32
"0dfg9ib0imk8bmhycqrspnn8yvfdlchwvx39wgqxi5fb9zrppfz4"))))
"1zfb4b88j0ksvsxq8kgrjs0xqlr10yzvr772r8nhl797qzwdag08"))))
(properties `((upstream-name . "CATALYST")))
(build-system r-build-system)
(propagated-inputs
@ -23975,14 +23974,14 @@ using aCGH or sequencing.")
(define-public r-bionero
(package
(name "r-bionero")
(version "1.10.2")
(version "1.10.3")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "BioNERO" version))
(sha256
(base32
"1fk48h2v0snsg8y9pi0pav69wa95s8a8gk1rxsvrm7z1bcgi2j51"))))
"1vf3kq4lj4alvwzf0wl09lxb0ky6q0x94ajmrnihlj5saliqb73c"))))
(properties `((upstream-name . "BioNERO")))
(build-system r-build-system)
(propagated-inputs
@ -24470,13 +24469,13 @@ estimates, etc.")
(define-public r-tcgabiolinks
(package
(name "r-tcgabiolinks")
(version "2.30.0")
(version "2.30.4")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "TCGAbiolinks" version))
(sha256
(base32 "1k8xiv4bmil420176ckfda2r6y0s46dk1cm8dbywav86q28bmzzx"))))
(base32 "0br0bgcvxxfy1vclfc8i20b0bsb7rcchwfdx7lkw4f2aqxny8ja8"))))
(properties `((upstream-name . "TCGAbiolinks")))
(build-system r-build-system)
(propagated-inputs

View File

@ -5834,7 +5834,7 @@ of nucleic acid binding proteins.")
(find-files "../bin" ".*"))
#t))))))
(inputs
(list gsl lapack openblas perl
(list gsl openblas perl
`(,gfortran "lib")))
(home-page "https://github.com/DReichLab/EIG")
(synopsis "Tools for population genetics")
@ -8673,7 +8673,9 @@ predicts the locations of structural units in the sequences.")
(substitute* "Makefile"
(("INSTALLDIR=.*")
(string-append
"INSTALLDIR=" (assoc-ref outputs "out") "/bin\n")))
"INSTALLDIR=" (assoc-ref outputs "out") "/bin\n"))
(("-llapack -lblas")
"-lopenblas"))
#t))
(add-before 'install 'make-install-directory
;; The install directory is not created during 'make install'.
@ -8697,7 +8699,6 @@ predicts the locations of structural units in the sequences.")
("perl" ,perl)
("python" ,python-wrapper)
("blast+" ,blast+)
("lapack" ,lapack)
("openblas" ,openblas)))
(native-inputs
(list which))
@ -9662,8 +9663,8 @@ accessed/downloaded on demand across HTTP.")
(arguments
`(#:tests? #f ;no "check" target
#:make-flags ,#~(list (string-append "LIB_LAPACK="
#$(this-package-input "lapack")
"/lib/liblapack.so")
#$(this-package-input "openblas")
"/lib/libopenblas.so")
"WITH_LAPACK=1"
"FORCE_DYNAMIC=1"
;; disable phoning home
@ -9678,7 +9679,7 @@ accessed/downloaded on demand across HTTP.")
"/bin/")))
(install-file "plink" bin)))))))
(inputs
(list zlib lapack))
(list zlib openblas))
(native-inputs
(list unzip gcc-8))
(home-page "http://pngu.mgh.harvard.edu/~purcell/plink/")
@ -9713,7 +9714,7 @@ subsequent visualization, annotation and storage of results.")
(list
#:tests? #false ;TEST_EXTRACT_CHR doesn't produce expected files
#:make-flags
#~(list "BLASFLAGS=-llapack -lopenblas"
#~(list "BLASFLAGS=-lopenblas"
"NO_SSE42=1"
"NO_AVX2=1"
"STATIC_ZSTD="
@ -9740,7 +9741,7 @@ subsequent visualization, annotation and storage of results.")
(string-append
(assoc-ref outputs "out") "/bin")))))))
(inputs
(list lapack openblas zlib `(,zstd "lib")))
(list openblas zlib `(,zstd "lib")))
(native-inputs
(list diffutils plink python simde)) ; for tests
(home-page "https://www.cog-genomics.org/plink/")

View File

@ -81,6 +81,7 @@
#:use-module (gnu packages gnome)
#:use-module (gnu packages golang)
#:use-module (gnu packages golang-build)
#:use-module (gnu packages golang-xyz)
#:use-module (gnu packages gtk)
#:use-module (gnu packages guile)
#:use-module (gnu packages guile-xyz)

View File

@ -30,7 +30,7 @@
(define-public clifm
(package
(name "clifm")
(version "1.17")
(version "1.18")
(source
(origin
(method git-fetch)
@ -39,7 +39,7 @@
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "00f5x0352dsf8f9ixkcwma7wr5pg78maavmd950nni38m647clm6"))))
(base32 "1r83wx6nxsdycnj56h9s32mraisjx1w0rsnmj9xw2nf249j8c05n"))))
(build-system gnu-build-system)
(arguments
`(#:make-flags (list (string-append "CC="

View File

@ -203,14 +203,14 @@ designs.")
(define-public clojure-tools
(package
(name "clojure-tools")
(version "1.11.1.1200")
(version "1.11.1.1413")
(source
(origin
(method url-fetch)
(uri (string-append "https://download.clojure.org/install/clojure-tools-"
version
".tar.gz"))
(sha256 (base32 "075naxfiddi6jqr6rqiywwy91r188n5m8yfqcxddmds2vm5rrpnv"))
(sha256 (base32 "1q0z71ifdxwvyy9gvq8mx8jbygf8cszrlhb3h22walfamnisbhwk"))
;; Remove AOT compiled JAR. The other JAR only contains uncompiled
;; Clojure source code.
(snippet
@ -249,7 +249,7 @@ designs.")
":"))))))))
(inputs (list rlwrap
clojure
clojure-tools-deps-alpha
clojure-tools-deps
java-commons-logging-minimal))
(home-page "https://clojure.org/releases/tools")
(synopsis "CLI tools for the Clojure programming language")
@ -572,7 +572,72 @@ concise, powerful tests.")
work with command-line arguments.")
(license license:epl1.0)))
(define-public clojure-tools-deps
(package
(name "clojure-tools-deps")
(version "0.18.1354")
(home-page "https://github.com/clojure/tools.deps")
(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
"0ls5nixhsjjhf3qz8kbyhmks5lw7a25zxl46yrizbw7vba3mzrpl"))))
(build-system clojure-build-system)
(arguments
`(#:source-dirs '("src/main/clojure" "src/main/resources")
#:test-dirs '("src/test/clojure")
#:doc-dirs '()
;; FIXME: Could not initialize class org.eclipse.aether.transport.http.SslSocketFactory
#:tests? #f
#:phases
(modify-phases %standard-phases
;; FIXME: Currently, the S3 transporter depends on ClojureScript,
;; which is very difficult to package due to dependencies on Java
;; libraries with non-standard build systems. Instead of actually
;; packaging these libraries, we just remove the S3 transporter that
;; depends on them.
(add-after 'unpack 'remove-s3-transporter
(lambda _
(for-each delete-file
(list
(string-append
"src/main/clojure/clojure/"
"tools/deps/util/s3_aws_client.clj")
(string-append
"src/main/clojure/clojure/"
"tools/deps/util/s3_transporter.clj")
(string-append
"src/test/clojure/clojure/"
"tools/deps/util/test_s3_transporter.clj")))
(substitute*
"src/main/clojure/clojure/tools/deps/util/maven.clj"
(("clojure.tools.deps.util.s3-transporter")
"")))))))
(propagated-inputs (list maven-resolver-api
maven-resolver-spi
maven-resolver-impl
maven-resolver-util
maven-resolver-connector-basic
maven-resolver-provider
maven-core
maven-resolver-transport-http
maven-resolver-transport-file
clojure-tools-gitlibs
clojure-tools-cli
clojure-data-xml))
(synopsis "Clojure library supporting clojure-tools")
(description "This package provides a functional API for transitive
dependency graph expansion and the creation of classpaths.")
(license license:epl1.0)))
(define-public clojure-tools-deps-alpha
;; this was superseded by clojure-tools-deps
;; https://github.com/clojure/tools.deps.alpha
;; Keeping it to give downstream packages a chance to upgrade
(package
(name "clojure-tools-deps-alpha")
(version "0.14.1212")

View File

@ -8,7 +8,7 @@
;;; Copyright © 2017, 2018, 2020, 2021 Marius Bakke <marius@gnu.org>
;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2018, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019, 2020, 2021, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2019, 2020, 2021, 2022, 2024 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2019 Pierre-Moana Levesque <pierre.moana.levesque@gmail.com>
;;; Copyright © 2020, 2023 Janneke Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2021 Ricardo Wurmus <rekado@elephly.net>
@ -43,8 +43,10 @@
#:use-module (gnu packages)
#:use-module (gnu packages backup)
#:use-module (gnu packages compression)
#:use-module (gnu packages cpp)
#:use-module (gnu packages crypto)
#:use-module (gnu packages curl)
#:use-module (gnu packages elf)
#:use-module (gnu packages file)
#:use-module (gnu packages kde-frameworks)
#:use-module (gnu packages libevent)
@ -434,3 +436,45 @@ and workspaces that can be used in the compiler environment of your choice.")
(description "@code{cmakeos-mode} provides an Emacs major mode for editing
Cmake files. It supports syntax highlighting, indenting and refilling of
comments.")))
(define-public qmsetup
(let ((commit "89fa57046241c26dfcfd97ceba174728b24bdd27")
(revision "0"))
(package
(name "qmsetup")
;; The base version string is retrieved from the CMakeLists.txt file.
(version (git-version "0.0.1.5" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/stdware/qmsetup")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0nqpblv08yqv97vjv7cxkpf160s3877gnd7jjqxnfrrknm2396r1"))))
(build-system cmake-build-system)
(arguments
(list
#:tests? #f ;no test suite
#:phases #~(modify-phases %standard-phases
(add-after 'unpack 'patch-paths
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "src/corecmd/utils_unix.cpp"
(("\"patchelf\"")
(format #f "~s" (search-input-file
inputs "bin/patchelf")))))))))
(inputs (list patchelf syscmdline))
(home-page "https://github.com/stdware/qmsetup")
(synopsis "CMake modules and basic libraries for C/C++ projects")
(description "QMSetup is a set of CMake Modules and Basic Libraries for
C/C++ projects. It features:
@itemize
@item Helpful CMake utilities
@item Generate configuration header files
@item Reorganize header files
@item Deploy project dependencies and fix rpaths
@item Support calling Doxygen via CMake conveniently
@item Support calling Qt Linguist Tools via CMake conveniently
@end itemize")
(license license:expat))))

View File

@ -17,7 +17,9 @@
;;; Copyright © 2021 lu hui <luhuins@163.com>
;;; Copyright © 2021, 2022 Foo Chuan Wei <chuanwei.foo@hotmail.com>
;;; Copyright © 2022 Michael Rohleder <mike@rohleder.de>
;;; Copyright © 2023 Fries <fries1234@protonmail.com>
;;; Copyright © 2023 Zheng Junjie <873216071@qq.com>
;;; Copyright © 2024 Sharlatan Hellseher <sharlatanus@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -45,6 +47,7 @@
#:use-module (guix build-system cmake)
#:use-module (guix build-system python)
#:use-module (guix build-system trivial)
#:use-module (guix build-system go)
#:use-module (gnu packages)
#:use-module (gnu packages autogen)
#:use-module (gnu packages autotools)
@ -59,7 +62,10 @@
#:use-module (gnu packages emacs)
#:use-module (gnu packages flex)
#:use-module (gnu packages gcc)
#:use-module (gnu packages golang)
#:use-module (gnu packages golang-build)
#:use-module (gnu packages golang-crypto)
#:use-module (gnu packages golang-web)
#:use-module (gnu packages golang-xyz)
#:use-module (gnu packages graphviz)
#:use-module (gnu packages llvm)
#:use-module (gnu packages linux)
@ -95,23 +101,24 @@
(sha256
(base32
"1r0sbw82cf9dbcj3vgnbd4sc1lklzvijic2z5wgkvs21azcm0yzh"))))
(build-system gnu-build-system)
(build-system go-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))
(list
#:tests? #f ;no tests
#:install-source? #f
#:import-path "github.com/Autodesk/AutomaticComponentToolkit/cmd/act"
#:unpack-path "github.com/Autodesk/AutomaticComponentToolkit/"
#:phases
#~(modify-phases %standard-phases
;; Golang produces the final binary based on the current directory
;; name if -o options is not provided, utilize this assumption to
;; completely relay on go-build-system.
(add-before 'build 'pretend-cmd-act
(lambda* (#:key unpack-path #:allow-other-keys)
(let ((act (string-append "src/" unpack-path "/cmd/act"))
(source (string-append "src/" unpack-path "/Source")))
(mkdir-p act)
(copy-recursively source act)))))))
(synopsis "Automatically generate software components")
(description
"The Automatic Component Toolkit (@dfn{ACT}) is a code generator that
@ -379,6 +386,41 @@ cloc contains code from David Wheeler's SLOCCount. Compared to SLOCCount,
cloc can handle a greater variety of programming languages.")
(license license:gpl2+)))
(define-public scc
(package
(name "scc")
(version "3.1.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/boyter/scc")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1rkkfg6jimlc2rkajk6ypd5v0m3zai25ga5idz2pmkmzakv82n21"))))
(build-system go-build-system)
(arguments
(list
#:install-source? #f
#:import-path "github.com/boyter/scc"))
(native-inputs
(list go-github-com-dbaggerman-cuba
go-github-com-json-iterator-go
go-github-com-mattn-go-runewidth
go-github-com-minio-blake2b-simd
go-github-com-spf13-cobra
go-golang-org-x-text
go-gopkg-in-yaml-v2))
(home-page "https://github.com/boyter/scc")
(synopsis "Fast code counter written in Go")
(description
"@command{scc} provides a lines-of-code counter similar to tools like
@command{cloc} and @command{sloccount}. It aims to be fast as possible while
supporting @acronym{COCOMO,Constructive Cost Model} calculation and code
complexity estimation.")
(license license:expat)))
(define-public the-silver-searcher
(package
(name "the-silver-searcher")
@ -495,60 +537,6 @@ support, its ability for the user to define new languages searched by regular
expressions, and its ability to generate emacs-style TAGS files.")
(license license:gpl2+)))
(define-public withershins
(package
(name "withershins")
(version "0.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/cameronwhite/withershins")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1cviqvbbcwljm1zx12j6511hazr3kscwrvcyifrkfi4fpy5z985m"))))
(build-system cmake-build-system)
(arguments
`(#:out-of-source? #f
#:configure-flags
;; XXX A (justified!) misleading-indentation error breaks the build.
(list "-DENABLE_WERROR=OFF")
#:phases
(modify-phases %standard-phases
(add-after
'unpack 'find-libiberty
(lambda _
(let ((libiberty (assoc-ref %build-inputs "libiberty")))
(substitute* "cmake/FindIberty.cmake"
(("/usr/include") (string-append libiberty "/include"))
(("libiberty.a iberty")
(string-append "NAMES libiberty.a iberty\nPATHS \""
libiberty "/lib" "\"")))
#t)))
(replace
'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(include (string-append out "/include"))
(lib (string-append out "/lib")))
(mkdir-p include)
(install-file "src/withershins.hpp" include)
(mkdir-p lib)
(install-file "src/libwithershins.a" lib))
#t)))))
(home-page "https://github.com/cameronwhite/withershins")
(inputs
(list libiberty binutils ;for libbfd
zlib))
(synopsis "C++11 library for generating stack traces")
(description
"Withershins is a simple cross-platform C++11 library for generating
stack traces.")
;; Sources are released under Expat license, but since BFD is licensed
;; under the GPLv3+ the combined work is GPLv3+ as well.
(license license:gpl3+)))
(define-public lcov
(package
(name "lcov")

View File

@ -38,6 +38,7 @@
;;; Copyright © 2022 Greg Hogan <code@greghogan.com>
;;; Copyright © 2022 Zhu Zihao <all_but_last@163.com>
;;; Copyright © 2021 Foo Chuan Wei <chuanwei.foo@hotmail.com>
;;; Copyright © 2024 Vinicius Monego <monego@posteo.net>
;;;
;;; This file is part of GNU Guix.
;;;
@ -769,6 +770,32 @@ This package is mostly for compatibility and historical interest.")
with the sfArk algorithm.")
(license license:gpl3+)))
(define-public minizip-ng
(package
(name "minizip-ng")
(version "4.0.5")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/zlib-ng/minizip-ng")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"0lgx4s4aykxn8x3b4m4c4isasd2608bbyfm4lxc2spcc4xqwhzkz"))))
(build-system cmake-build-system)
(arguments
(list #:configure-flags #~(list "-DBUILD_SHARED_LIBS=ON"
"-DMZ_BUILD_TESTS=ON"
"-DMZ_BUILD_UNIT_TESTS=ON")))
(native-inputs (list googletest pkg-config))
(inputs (list openssl zlib `(,zstd "lib")))
(home-page "https://github.com/zlib-ng/minizip-ng")
(synopsis "Zip manipulation library")
(description "@code{minizip-ng} is a zip manipulation library written in
C, forked from the zip manipulation library found in the zlib distribution.")
(license license:bsd-3)))
(define-public sfarkxtc
(let ((commit "13cd6f93725a90d91ec5ea75babf1dbd694ac463")
(revision "1"))

View File

@ -10,7 +10,7 @@
;;; Copyright © 2020 Roel Janssen <roel@gnu.org>
;;; Copyright © 2020, 2021, 2023, 2024 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
;;; Copyright © 2020, 2021, 2022 Vinicius Monego <monego@posteo.net>
;;; Copyright © 2020, 2021, 2022, 2024 Vinicius Monego <monego@posteo.net>
;;; Copyright © 2020, 2022 Marius Bakke <marius@gnu.org>
;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
;;; Copyright © 2020 Alexandros Theodotou <alex@zrythm.org>
@ -478,6 +478,44 @@ the name of the library itself, which is written in C++.")
(license (list license:expat ; cJSON
license:bsd-4))))) ; everything else (LICENSE.txt)
(define-public pystring
(package
(name "pystring")
(version "1.1.4")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/imageworks/pystring")
(commit (string-append "v" version))))
(sha256
(base32 "0h12x24skrlx4fv0k5vl8wnar8gi6bq091yp93awkwsbnm8qwkzd"))
(file-name (git-file-name name version))))
(build-system cmake-build-system)
(arguments
(list #:phases
#~(modify-phases %standard-phases
;; The install phase doesn't install the header
(add-after 'install 'install-header
(lambda _
(mkdir-p (string-append #$output "/include"))
(copy-file
(string-append #$(package-source this-package)
"/pystring.h")
(string-append #$output
"/include/pystring.h")))))))
(native-inputs (list pkg-config))
(home-page "https://github.com/imageworks/pystring")
(synopsis "C++ functions matching the Python string methods")
(description
"Pystring is a collection of C++ functions which match the interface and
behavior of Python's string class methods using std::string. Implemented in
C++, it does not require or make use of a python interpreter. It provides
convenience and familiarity for common string operations not included in the
standard C++ library. It's also useful in environments where both C++ and
Python are used.")
(license license:bsd-3)))
(define-public dashel
(package
(name "dashel")
@ -925,6 +963,49 @@ concurrent queue for C++11.")
lock-free fixed size queue written in C++11.")
(license license:expat)))
(define-public syscmdline
(package
(name "syscmdline")
(version "0.0.1.4")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/SineStriker/syscmdline")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"00n9vkyymp1dzixxl93f6pkpd3ndsk1vib7shhlxv4zvy5hjqhqw"))))
(build-system cmake-build-system)
(arguments
(list #:configure-flags
#~(list "-DSYSCMDLINE_BUILD_STATIC=OFF" ;build a shared library
"-DSYSCMDLINE_BUILD_TESTS=ON")
#:phases #~(modify-phases %standard-phases
(replace 'check
;; There isn't currently any exposed test target.
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "bin/tst_basic")))))))
(home-page "https://github.com/SineStriker/syscmdline")
(synopsis "C++ advanced command line parser")
(description "SysCmdLine is a C++ command line parser that is inspired by
@code{QCommandLineParser} from Qt and @code{System.CommandLine} from C#. It
has features such as:
@itemize
@item Support sub-commands
@item Support case-insensitive parsing
@item Support global options
@item Support mutually exclusive options
@item Support short options and group flags
@item Support help text customization
@item Support localization
@item Simple tips for typo correction
@item Highly configurable
@item Friendly interface
@end itemize")
(license license:expat)))
(define-public gperftools
(package
(name "gperftools")
@ -1119,7 +1200,7 @@ code and retrieving their output.")
(define-public sobjectizer
(package
(name "sobjectizer")
(version "5.7.2.6")
(version "5.8.2")
(source
(origin
(method git-fetch)
@ -1127,7 +1208,7 @@ code and retrieving their output.")
(url "https://github.com/Stiffstream/sobjectizer")
(commit (string-append "v." version))))
(sha256
(base32 "0n6smpjkkkw0xab8wcpy3p0dpw2v9sxgwl6azl3am6abmv4mff12"))
(base32 "0ya5xlgm3arvzvcnsajw03kc3cibbdbap9p7kgpxn00byqbxixr7"))
(file-name (git-file-name name version))))
(build-system cmake-build-system)
(arguments
@ -1136,8 +1217,7 @@ code and retrieving their output.")
(modify-phases %standard-phases
(add-after 'unpack 'change-directory
(lambda _
(chdir "dev")
#t)))))
(chdir "dev"))))))
(home-page "https://stiffstream.com/en/products/sobjectizer.html")
(synopsis "Cross-platform actor framework for C++")
(description
@ -1172,7 +1252,7 @@ programs.")
(define-public kokkos
(package
(name "kokkos")
(version "4.1.00")
(version "4.2.01")
(source
(origin
(method git-fetch)
@ -1181,7 +1261,7 @@ programs.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "15kjpa54ssrrbid9h2nr94nh85qna5c4vq2152i4iy7gaagigy3c"))
(base32 "1bvxcy11as38ng9vdp93mrdvm7sgwqjrm67p53wr1aj7x3pq3hbp"))
(modules '((guix build utils)))
(snippet
;; Remove bundled googletest.

View File

@ -537,13 +537,13 @@ labels on the node can also be achieved.")
(define-public r-collapse
(package
(name "r-collapse")
(version "2.0.11")
(version "2.0.12")
(source
(origin
(method url-fetch)
(uri (cran-uri "collapse" version))
(sha256
(base32 "0aaqzipgnln6mcwgahlnvg0dhq82xnzrfn95mv4ywgpczaicwg3s"))))
(base32 "0dplfsj4lqafw0zkrqhph9sk22qpkm5i753pgwf9w9cq5d17f537"))))
(properties `((upstream-name . "collapse")))
(build-system r-build-system)
(propagated-inputs (list r-rcpp))
@ -4453,13 +4453,13 @@ particularly easy to create complete web applications using httpuv alone.")
(define-public r-httr2
(package
(name "r-httr2")
(version "1.0.0")
(version "1.0.1")
(source (origin
(method url-fetch)
(uri (cran-uri "httr2" version))
(sha256
(base32
"0jaajfr1hr6bzb1vz2nw2csl2l09kbq619vsq5yrlchcarpjv1fb"))))
"1cpi2yr66g0nwd5ybz6254ivggvxql0bas2hwpakrcw1161jvs9k"))))
(properties `((upstream-name . "httr2")))
(build-system r-build-system)
(propagated-inputs
@ -5084,14 +5084,14 @@ expression estimates for all genes.")
(define-public r-bslib
(package
(name "r-bslib")
(version "0.6.2")
(version "0.7.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "bslib" version))
(sha256
(base32
"0gjnb1ar6n3qg37ljy5yai0pd219zhm0n186jdzhsfwma5498ifh"))
"181cfmdvi64j978q8x69bl7wxwpjpx54a52sh4xng0pk3a2djd91"))
(snippet
'(for-each delete-file
'("inst/components/dist/components.min.js"
@ -5133,6 +5133,7 @@ expression estimates for all genes.")
(propagated-inputs
(list r-base64enc
r-cachem
r-fastmap
r-htmltools
r-jquerylib
r-jsonlite
@ -7696,14 +7697,16 @@ provides an interactive R manager and worker environment.")
(define-public r-rmumps
(package
(name "r-rmumps")
(version "5.2.1-28")
(version "5.2.1-29")
(source
(origin
(method url-fetch)
(uri (cran-uri "rmumps" version))
(sha256
(base32 "1cq7zrq730lj1z5xirzk5fvvlvdq101ppg47n0z7c0v17rvs80n6"))))
(properties `((upstream-name . "rmumps")))
(base32 "1sxx5kyp331dmiyqd4l5m3mdcmlpm1vbdm6cd3kgvnz8ympphlwr"))))
(properties
`((upstream-name . "rmumps")
(updater-extra-inputs . ("zlib"))))
(build-system r-build-system)
(inputs (list zlib))
(propagated-inputs (list r-rcpp))
@ -9706,18 +9709,18 @@ programming} (SQP) based solver).")
(define-public r-hardyweinberg
(package
(name "r-hardyweinberg")
(version "1.7.5")
(version "1.7.7")
(source
(origin
(method url-fetch)
(uri (cran-uri "HardyWeinberg" version))
(sha256
(base32
"0b3szw090dsc3bkas2kvx787ww2i6zzg2qmdyivmqc8amx5arn6g"))))
"058bfb43i2vjrc2iy3q3izlijw2hh61rl47c9gcf327xlp9x6wnh"))))
(properties `((upstream-name . "HardyWeinberg")))
(build-system r-build-system)
(propagated-inputs
(list r-mice r-nnet r-rcpp r-rsolnp))
(list r-mice r-nnet r-rcpp r-rsolnp r-shape))
(home-page "https://cran.r-project.org/package=HardyWeinberg")
(synopsis "Statistical tests and graphics for Hardy-Weinberg equilibrium")
(description
@ -17506,14 +17509,14 @@ results using @code{ggplot2}.")
(define-public r-effectsize
(package
(name "r-effectsize")
(version "0.8.6")
(version "0.8.7")
(source
(origin
(method url-fetch)
(uri (cran-uri "effectsize" version))
(sha256
(base32
"0gdk6f2713k2vhv7qa6dgxl6kgc6r6yb12hb27k4bbibj5njvvni"))))
"07lfa0pvqhanjyyx9hs6gdqw1zyi1y21k539jgvgnrvixfilfkb2"))))
(properties `((upstream-name . "effectsize")))
(build-system r-build-system)
(propagated-inputs
@ -17678,17 +17681,24 @@ repositories.")
(define-public r-gh
(package
(name "r-gh")
(version "1.4.0")
(version "1.4.1")
(source
(origin
(method url-fetch)
(uri (cran-uri "gh" version))
(sha256
(base32
"0wcbnnws472v1i6q012pbdxjpsd4clj6a2cscf73g6s2336rzik8"))))
"1bwj8a2lfansyfx7fiwx2nv8yzhg1fi9ja1n6fk7dbzf64m3zgbn"))))
(build-system r-build-system)
(propagated-inputs
(list r-cli r-gitcreds r-httr2 r-ini r-jsonlite r-rlang))
(list r-cli
r-gitcreds
r-glue
r-httr2
r-ini
r-jsonlite
r-lifecycle
r-rlang))
(native-inputs
(list r-knitr))
(home-page "https://github.com/r-lib/gh#readme")
@ -18847,14 +18857,14 @@ features (e.g. local modes).")
(define-public r-arm
(package
(name "r-arm")
(version "1.13-1")
(version "1.14-4")
(source
(origin
(method url-fetch)
(uri (cran-uri "arm" version))
(sha256
(base32
"0dz9dnsky77da2mc198dr3600kz9vk75z1iihjarnsdrq68a4bf0"))))
"1g8732naydqyv5pq1fkyb1i6qddv62jdmn2ys5lbdvx2zq5cnns2"))))
(build-system r-build-system)
(propagated-inputs
(list r-abind
@ -21582,14 +21592,14 @@ model with finite state space using the Aalen-Johansen estimator.")
(define-public r-epi
(package
(name "r-epi")
(version "2.47.1")
(version "2.48")
(source
(origin
(method url-fetch)
(uri (cran-uri "Epi" version))
(sha256
(base32
"1a4h6hfpwcy3lb49y949h86vr4sdnjfbqqnr4jgc45mc64fhafp1"))))
"06965d2x47hb1c7dbqyhhywgr7k9xdcms1v08m2cx52qg6cdkiyp"))))
(properties `((upstream-name . "Epi")))
(build-system r-build-system)
(propagated-inputs
@ -21826,14 +21836,14 @@ the local machine to, say, distributed processing on a remote compute cluster.")
(define-public r-future-apply
(package
(name "r-future-apply")
(version "1.11.1")
(version "1.11.2")
(source
(origin
(method url-fetch)
(uri (cran-uri "future.apply" version))
(sha256
(base32
"0zf22vip8w50pywc47xjghca9wkvcsvvfaa2yfaydwwzc3ss3bh2"))))
"11qkv2r8ml1i95j5ra191ij5w1dvllgvr9ld5xnq43ayzaq3b9pl"))))
(properties `((upstream-name . "future.apply")))
(build-system r-build-system)
(arguments
@ -24857,13 +24867,13 @@ that fills this gap.")
(define-public r-eulerr
(package
(name "r-eulerr")
(version "7.0.1")
(version "7.0.2")
(source (origin
(method url-fetch)
(uri (cran-uri "eulerr" version))
(sha256
(base32
"1c8yf94ga4h6rf89fyajxfsaq5z6dx1z2840371vxj7kwj9slg3c"))))
"0aw4l338nymrmna7q01vxn2cc7wyzz3lhf1bwazy55qa4hmww3af"))))
(properties `((upstream-name . "eulerr")))
(build-system r-build-system)
(propagated-inputs
@ -34574,14 +34584,14 @@ simple interface for all functions.")
(define-public r-iml
(package
(name "r-iml")
(version "0.11.1")
(version "0.11.2")
(source
(origin
(method url-fetch)
(uri (cran-uri "iml" version))
(sha256
(base32
"0fi37lv9czaxcc123f6r57607shqhs83ks96n2n0b93dl1qs0j52"))))
"1sjv0cj50iivjlb2hri401z78rmidxxh6q5akscd42k98jyw2r30"))))
(properties `((upstream-name . "iml")))
(build-system r-build-system)
(propagated-inputs
@ -34592,7 +34602,6 @@ simple interface for all functions.")
r-future-apply
r-ggplot2
r-metrics
r-prediction
r-r6))
(native-inputs (list r-knitr))
(home-page "https://github.com/christophM/iml")
@ -36733,14 +36742,14 @@ package also provides functions to visualize the observed data and the MLE.")
(define-public r-metafor
(package
(name "r-metafor")
(version "4.4-0")
(version "4.6-0")
(source
(origin
(method url-fetch)
(uri (cran-uri "metafor" version))
(sha256
(base32
"1m4762fn4zbjpnx9vxyy9gvzyzn3avxnqpzmbj45w8241g3s1b32"))))
"0rl6w4j1fqvr7vn0dbzmir28xbi2wdn9m3lrxwjvvf47pp1lqd07"))))
(properties `((upstream-name . "metafor")))
(build-system r-build-system)
(propagated-inputs
@ -38383,14 +38392,14 @@ in same length matches).")
(define-public r-textshape
(package
(name "r-textshape")
(version "1.7.3")
(version "1.7.5")
(source
(origin
(method url-fetch)
(uri (cran-uri "textshape" version))
(sha256
(base32
"0k9injxykgj2qprc7dygd7gafvcbh3r9x84qzaa1al21pk0dz7ds"))))
"1g193dg4rhw8a1iwkyqsswlj95h9irm9xziclwc1mhd3jm5wyify"))))
(properties `((upstream-name . "textshape")))
(build-system r-build-system)
(propagated-inputs

View File

@ -219,7 +219,7 @@ communication, encryption, decryption, signatures, etc.")
(define-public signify
(package
(name "signify")
(version "31")
(version "32")
(home-page "https://github.com/aperezdc/signify")
(source (origin
(method url-fetch)
@ -227,7 +227,7 @@ communication, encryption, decryption, signatures, etc.")
"/download/v" version "/signify-" version ".tar.xz"))
(sha256
(base32
"0x1bipfphnyvf2kl7n9q4gawaglma79368vb8whama6lxsggsm8i"))
"1maq4wv7934gql95rr55pj419gnbj8jkrgn1f25jcg97v5zvklbd"))
(modules '((guix build utils)))
(snippet '(delete-file-recursively "libbsd"))))
(build-system gnu-build-system)

View File

@ -148,6 +148,31 @@ contains the archive keys used for that.")
;; "The keys in the keyrings don't fall under any copyright."
(license license:public-domain)))
(define-public pureos-archive-keyring
(package
(name "pureos-archive-keyring")
(version "2021.11.0")
(source (origin
(method url-fetch)
(uri (string-append
"https://repo.puri.sm/pureos/pool/main/p/pureos-archive-keyring/"
"pureos-archive-keyring_" version ".tar.xz"))
(sha256
(base32
"1a0d084a98bycyhbw531646rbivvlfkdk6ldshl5dy6fvzmbci0d"))))
(build-system copy-build-system)
(arguments
'(#:install-plan '(("keyrings/pureos-archive-keyring.gpg"
"share/keyrings/")
("keyrings/pureos-archive-removed-keys.gpg"
"share/keyrings/"))))
(home-page "https://source.puri.sm/pureos/core/pureos-archive-keyring")
(synopsis "GnuPG archive keys of the Pureos archive")
(description "The Pureos distribution signs its packages. This package
contains the archive keys used for that.")
(license (list license:public-domain ;; the keys
license:gpl2+)))) ;; see debian/copyright
(define-public trisquel-keyring
(package
(name "trisquel-keyring")
@ -233,6 +258,7 @@ contains the archive keys used for that.")
(add-after 'unpack 'patch-source
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((debian #$(this-package-input "debian-archive-keyring"))
(pureos #$(this-package-input "pureos-archive-keyring"))
(trisquel #$(this-package-input "trisquel-keyring"))
(ubuntu #$(this-package-input "ubuntu-keyring")))
(substitute* "Makefile"
@ -246,6 +272,11 @@ contains the archive keys used for that.")
(("/usr") debian))
(substitute* "scripts/gutsy"
(("/usr") ubuntu))
(substitute* "scripts/amber"
(("/usr/share/keyrings/pureos-archive-keyring.gpg")
(string-append
pureos
"/share/keyrings/pureos-archive-keyring.gpg")))
(substitute* "scripts/robur"
(("/usr/share/keyrings/trisquel-archive-keyring.gpg")
(string-append
@ -258,6 +289,8 @@ contains the archive keys used for that.")
(substitute* (find-files "scripts")
(("keyring.*(debian-archive-keyring.gpg)"_ keyring)
(string-append "keyring " debian "/share/keyrings/" keyring))
(("keyring.*(pureos-archive-keyring.gpg)" _ keyring)
(string-append "keyring " pureos "/share/keyrings/" keyring))
(("keyring.*(trisquel-archive-keyring.gpg)" _ keyring)
(string-append "keyring " trisquel "/share/keyrings/" keyring))
(("keyring.*(ubuntu-archive-keyring.gpg)" _ keyring)
@ -284,6 +317,7 @@ contains the archive keys used for that.")
#:tests? #f)) ; no tests
(inputs
(list debian-archive-keyring
pureos-archive-keyring
trisquel-keyring
ubuntu-keyring
bash-minimal

View File

@ -28,6 +28,7 @@
;;; Copyright © 2023 Timotej Lazar <timotej.lazar@araneo.si>
;;; Copyright © 2023 Morgan Smith <Morgan.J.Smith@outlook.com>
;;; Copyright © 2023 Zheng Junjie <873216071@qq.com>
;;; Copyright © 2024 Sharlatan Hellseher <sharlatanus@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -70,6 +71,7 @@
#:use-module (gnu packages gnupg)
#:use-module (gnu packages golang)
#:use-module (gnu packages golang-build)
#:use-module (gnu packages golang-xyz)
#:use-module (gnu packages graphics)
#:use-module (gnu packages gtk)
#:use-module (gnu packages guile)
@ -1294,29 +1296,35 @@ on your file system and offers to remove it. @command{rmlint} can find:
(define-public lf
(package
(name "lf")
;; When updating, remove go-github-com-gdamore-tcell-v2-2.3 from golang.scm.
(version "27")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/gokcehan/lf")
(commit (string-append "r" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1piym8za0iw2s8yryh39y072f90mzisv89ffvn1jzb71f71mbfqa"))))
(version "31")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/gokcehan/lf")
(commit (string-append "r" version))))
(file-name (git-file-name name version))
(sha256
(base32 "03icsf4c3j7295s1d8s6srz5gf09a3lghgw3zfcd86p03zhkzsaf"))))
(build-system go-build-system)
(native-inputs
(list go-github-com-mattn-go-runewidth go-golang-org-x-term
go-gopkg-in-djherbis-times-v1 go-github-com-gdamore-tcell-v2-2.3))
(arguments
`(#:import-path "github.com/gokcehan/lf"))
(list
#:go go-1.18
#:install-source? #f
#:import-path "github.com/gokcehan/lf"))
(native-inputs
(list go-github-com-djherbis-times
go-github-com-gdamore-tcell-v2
go-github-com-mattn-go-runewidth
go-golang-org-x-term
go-gopkg-in-djherbis-times-v1))
(home-page "https://github.com/gokcehan/lf")
(synopsis "Console file browser similar to Ranger")
(description "lf (as in \"list files\") is a terminal file manager
written in Go. It is heavily inspired by ranger with some missing and
extra features. Some of the missing features are deliberately omitted
since they are better handled by external tools.")
(description
"@code{lf} (as in \"list files\") is a terminal file manager written in
Go. It is heavily inspired by @code{ranger} with some missing and extra
features. Some of the missing features are deliberately omitted since they
are better handled by external tools.")
(license license:expat)))
(define-public xfe
@ -1656,7 +1664,7 @@ gone and to help you to clean it up.")
(define-public nwipe
(package
(name "nwipe")
(version "0.35")
(version "0.36")
(source
(origin
(method git-fetch)
@ -1665,7 +1673,7 @@ gone and to help you to clean it up.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1bj20y52qzz2ja56yf1pxqjg3lsda35c2k5hcj3lqm69jpsla2wq"))))
(base32 "075zwakv3lva46v6wab00l5x7bs2k73mzzhwlbvm839r8a6gm0dh"))))
(build-system gnu-build-system)
(arguments
(list #:phases

View File

@ -673,7 +673,7 @@ provisioning etc.")
(define-public cqfd
(package
(name "cqfd")
(version "5.4.0")
(version "5.5.0")
(source (origin
(method git-fetch)
(uri (git-reference
@ -682,7 +682,7 @@ provisioning etc.")
(file-name (git-file-name name version))
(sha256
(base32
"1kilrh4ahza19lka9218s2wkfcbk5r2cq9adczhlnlfggdrqnglg"))))
"1wmrl1vv75af2pllm988xcw51j7bhb0p1xny91bcq9rkc3yxh5yz"))))
(build-system gnu-build-system)
(arguments
;; The test suite requires a docker daemon and connectivity.

View File

@ -192,7 +192,7 @@ of categories with some of the activities available in that category.
qtgraphicaleffects
qtmultimedia-5
qtquickcontrols2-5
qtsensors
qtsensors-5
qtsvg-5))
(home-page "https://gcompris.net/index-en.html")
(synopsis "Educational games for small children")
@ -566,7 +566,7 @@ a pen-tablet display and a beamer.")
(define-public fet
(package
(name "fet")
(version "6.18.1")
(version "6.19.0")
(source
(origin
(method url-fetch)
@ -575,7 +575,7 @@ a pen-tablet display and a beamer.")
(list (string-append directory base)
(string-append directory "old/" base))))
(sha256
(base32 "0yf94z4yybaw53jf0hzi1p53rwa91wl3g6pai7gsr4palssyfxw2"))))
(base32 "1lrlwk9i2nc2d3ay5wajgv79nxkbl8hgv77aflgncikg4ma9yn55"))))
(build-system gnu-build-system)
(arguments
(list

View File

@ -516,7 +516,7 @@ e.g. emacs-geiser-guile for Guile.")
(define-public emacs-gptel
(package
(name "emacs-gptel")
(version "0.8.0")
(version "0.8.5")
(source (origin
(method git-fetch)
(uri (git-reference
@ -525,7 +525,7 @@ e.g. emacs-geiser-guile for Guile.")
(file-name (git-file-name name version))
(sha256
(base32
"1n3kdylv50filla692j2vcjalw6yza80xlg90cw54m9jp9br8sch"))))
"1w9sji73dixch1b5i420j44qb3jd0zknpypz46g33pbyhg9xwqln"))))
(build-system emacs-build-system)
(arguments
(list
@ -1668,6 +1668,10 @@ libgit2 bindings for Emacs, intended to boost the performance of Magit.")
(lambda args
(with-directory-excursion "lisp"
(apply (assoc-ref %standard-phases 'expand-load-path) args))))
(replace 'make-autoloads
(lambda args
(with-directory-excursion "lisp"
(apply (assoc-ref %standard-phases 'make-autoloads) args))))
(replace 'install
(lambda args
(with-directory-excursion "lisp"
@ -2711,15 +2715,25 @@ provides an optional IDE-like error list.")
(list
#:tests? #t
#:test-command
#~(list "emacs" "-Q" "--batch" "-L" "."
"--eval" "(load-file \"tests/test-fb2-reader.el\")")
#~(list "buttercup" "-L" ".")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'qualify-paths
(lambda* (#:key inputs #:allow-other-keys)
(let ((unzip (search-input-file inputs "/bin/unzip")))
(substitute* "fb2-reader.el"
(("unzip") unzip))))))))
(("unzip") unzip)))))
(add-after 'unpack 'fix-tests
(lambda _
;; Lexical binding is required for compatibility with recent
;; Buttercup.
(emacs-batch-edit-file "tests/test-fb2-reader.el"
'(progn
(insert ";;; -*-lexical-binding:t -*-\n")
(basic-save-buffer)))
;; Fix bogus function name.
(substitute* "tests/test-fb2-reader.el"
(("fb2-reader-render") "fb2-reader-render-xml")))))))
(inputs (list unzip))
(native-inputs
(list emacs-async emacs-buttercup emacs-dash emacs-s))
@ -4727,7 +4741,7 @@ of bibliographic references.")
(define-public emacs-corfu
(package
(name "emacs-corfu")
(version "1.2")
(version "1.3")
(source
(origin
(method git-fetch)
@ -4736,7 +4750,7 @@ of bibliographic references.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0l6hpsw2srmad0mhp6x46d5dsg678lvgz5l3glp1845hkg8a0pgi"))))
(base32 "1nrwh00dy2ffzd3np8yk4n0vn0r5iqqhgcr40wbnv5qzgbdw9kas"))))
(build-system emacs-build-system)
(arguments
(list
@ -6494,7 +6508,7 @@ files and directories.")
(define-public emacs-fountain-mode
(package
(name "emacs-fountain-mode")
(version "3.7.2")
(version "3.7.3")
(source
(origin
(method git-fetch)
@ -6503,7 +6517,7 @@ files and directories.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0xy45inihqwaix49vxr5yiqyps4r2djkzdd4g7kkc0fv7kzrm1m4"))))
(base32 "15r0pzdmimm72jx26zgdxf7fwwcppl45vvh33xx5wnhqzd140hwn"))))
(arguments
(list
#:phases #~(modify-phases %standard-phases
@ -7981,7 +7995,7 @@ mode-line.")
(define-public emacs-robe
(package
(name "emacs-robe")
(version "0.8.4")
(version "0.8.6")
(source
(origin
(method git-fetch)
@ -7990,7 +8004,7 @@ mode-line.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0kvyfyr4b0z0l964a8z9shy8nlnxzxc2ljcc02gj2pn1rn1wz0gq"))))
(base32 "14apmvbs89si3v5hsiz11dckp8fdfidm14lc090lswq7mgk7h79s"))))
(build-system emacs-build-system)
(arguments
'(#:include (cons "^lib\\/" %default-include)))
@ -10900,7 +10914,7 @@ sgml/html integration, and indentation (working with sgml).")
(define-public emacs-jinx
(package
(name "emacs-jinx")
(version "1.4")
(version "1.5")
(source
(origin
(method git-fetch)
@ -10910,7 +10924,7 @@ sgml/html integration, and indentation (working with sgml).")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "14zamk2s20f6dnv23v9snya0mi1bs2nq6xpp5bj06kiymzwhcqjw"))))
(base32 "0g8sdfq6fqf6jnv7ig9cgkvmrdfzah6c94yr041anzkwappkziwx"))))
(build-system emacs-build-system)
(arguments
(list
@ -10949,9 +10963,9 @@ sgml/html integration, and indentation (working with sgml).")
(propagated-inputs (list emacs-compat))
(native-inputs (list emacs-compat enchant pkg-config texinfo))
(home-page "https://github.com/minad/jinx")
(synopsis "Emacs Enchanted Spell Checker")
(synopsis "Emacs spell checker based on Enchant library")
(description "Jinx is a just-in-time spell-checker for Emacs
based on the enchant library. It lazily highlights misspelled words in the
based on the Enchant library. It lazily highlights misspelled words in the
text of the visible portion of the buffer by honouring window boundaries as
well as text folding, if any.")
(license license:gpl3+)))
@ -12393,7 +12407,7 @@ expansion and overwriting the marked region with a new snippet completion.")
(define-public emacs-marginalia
(package
(name "emacs-marginalia")
(version "1.5")
(version "1.6")
(source
(origin
(method git-fetch)
@ -12402,7 +12416,7 @@ expansion and overwriting the marked region with a new snippet completion.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "12ncif2lv6d7r2g87lyjr7idbqa283ijb3qgd5a61i3760czs7d6"))))
(base32 "196gjpmzra9azhrnvlhx50dlc59390hq4wxn0f9m4n86ig4i5dr0"))))
(build-system emacs-build-system)
(arguments
(list
@ -18384,6 +18398,25 @@ package.")
memoizing functions.")
(license license:unlicense)))
(define-public emacs-memory-usage
(package
(name "emacs-memory-usage")
(version "0.2")
(source
(origin
(method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/memory-usage-"
version ".el"))
(sha256
(base32 "03qwb7sprdh1avxv3g7hhnhl41pwvnpxcpnqrikl7picy78h1gwj"))))
(build-system emacs-build-system)
(home-page "https://elpa.gnu.org/packages/memory-usage.html")
(synopsis "Analyze the memory usage of Emacs in various ways")
(description
"This package provides the command @code{memory-usage}, which lists all
buffers and how much memory they use.")
(license license:gpl3+)))
(define-public emacs-linum-relative
(package
(name "emacs-linum-relative")
@ -22455,7 +22488,7 @@ the pipeline, featuring the support for running @code{emacsclient}.")
(define-public emacs-jupyter
(package
(name "emacs-jupyter")
(version "0.8.3")
(version "1.0")
(source
(origin
(method git-fetch)
@ -22464,7 +22497,7 @@ the pipeline, featuring the support for running @code{emacsclient}.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0acn964xlpn265vry35lrkkpf9z5y4ml96xg8ifadkxwxymm1sh2"))))
(base32 "0rf8d83bzc05v0w7zpqwcd89cdvrxwzpyf55vmmzj5j755bgxvhs"))))
(build-system emacs-build-system)
(propagated-inputs
(list emacs-company ;optional
@ -22903,7 +22936,7 @@ match and total match information in the mode-line in various search modes.")
(define-public emacs-pg
(package
(name "emacs-pg")
(version "0.30")
(version "0.31")
(source (origin
(method git-fetch)
(uri (git-reference (url "https://github.com/emarsden/pg-el")
@ -22911,7 +22944,7 @@ match and total match information in the mode-line in various search modes.")
(file-name (git-file-name name version))
(sha256
(base32
"1g04izsnvxinbwvzx0sj643ix5jlwdd7dkl61nvaqkkkm3g35jp6"))))
"0h9szmi1l76inr4706s2hpaldzvmnzw1dy7p2cm653pfr6gq8f6x"))))
(build-system emacs-build-system)
(home-page "https://github.com/emarsden/pg-el")
(synopsis "Emacs Lisp interface for PostgreSQL")
@ -23621,7 +23654,7 @@ interactive commands and functions, such as @code{completing-read}.")
(define-public emacs-org-ql
(package
(name "emacs-org-ql")
(version "0.8.4")
(version "0.8.6")
(source (origin
(method git-fetch)
(uri (git-reference
@ -23629,12 +23662,12 @@ interactive commands and functions, such as @code{completing-read}.")
(commit (string-append "v" version))))
(sha256
(base32
"07r9bx0bh7wyj5pbkhnrn8amzz3ynri94cxcxgcn1r3ypdhk6y85"))
"0425r0qjl83d1zq2z9myish3iqa6pc9ml2jlwmffjnj5gm3vgfsj"))
(file-name (git-file-name name version))))
(build-system emacs-build-system)
(arguments
(list
#:tests? #t
#:tests? #f ;FIXME: check phase freezes
#:test-command #~(list "buttercup" "-L" ".")))
(native-inputs
(list emacs-buttercup emacs-with-simulated-input emacs-xr))
@ -24261,7 +24294,7 @@ given function is invoked.")
(define-public emacs-datetime
(package
(name "emacs-datetime")
(version "0.9.1")
(version "0.10")
(source
(origin
(method git-fetch)
@ -24270,7 +24303,7 @@ given function is invoked.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0d918312gpdiyx7zq8kdy19bdww6jqg94hs4j5l0n63bwrxsqdx2"))))
(base32 "0prc29dhc0yvx1lv9ng9iif1x7c0k7x51x1d1z5pzz0vps0w1qsh"))))
(build-system emacs-build-system)
(arguments
`(#:include (cons "^[^/]*\\.extmap$" %default-include)))
@ -24278,8 +24311,9 @@ given function is invoked.")
(list emacs-extmap))
(home-page "https://github.com/doublep/datetime/")
(synopsis "Library to work with dates in Emacs")
(description "Parsing, formatting, matching and recoding
timestamps and date-time format strings library for Emacs.")
(description
"Datetime is an Emacs library for parsing, formatting, matching and
recoding timestamps and date-time format strings.")
(license license:gpl3+)))
(define-public emacs-org-mind-map
@ -25281,7 +25315,7 @@ powerful Org contents.")
(define-public emacs-org-re-reveal
(package
(name "emacs-org-re-reveal")
(version "3.26.0")
(version "3.28.1")
(source
(origin
(method git-fetch)
@ -25290,7 +25324,7 @@ powerful Org contents.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "11if1c1a0i6i2wagjwqmvp2hfkv3slpq7r6dfbpkhlmils2hxr9p"))))
(base32 "09rcjxqv8i7d87x8cnyblpnm3flpa7mdg609fvbzbs6dsc24zpjl"))))
(build-system emacs-build-system)
(propagated-inputs
(list emacs-htmlize emacs-org))
@ -27472,7 +27506,7 @@ image, rotate it, save modified images, and more.")
(define-public emacs-package-lint
(package
(name "emacs-package-lint")
(version "0.22")
(version "0.23")
(source
(origin
(method git-fetch)
@ -27482,7 +27516,7 @@ image, rotate it, save modified images, and more.")
(file-name (git-file-name name version))
(sha256
(base32
"1myhdhb3kwq03f3p7qgb9bk8srs1wlag4ch4kl26yb9213mzx8gv"))))
"1xr7sq7pvvdw9prf2vds048s5s7fq1s0cxs21sxdc54sszy17nsg"))))
(arguments
(list #:include #~(cons "^data/" %default-include)))
(build-system emacs-build-system)
@ -29397,7 +29431,7 @@ targets the Emacs based IDEs (CIDER, ESS, Geiser, Robe, SLIME etc.)")
(define-public emacs-buttercup
(package
(name "emacs-buttercup")
(version "1.34")
(version "1.35")
(source
(origin
(method git-fetch)
@ -29407,7 +29441,7 @@ targets the Emacs based IDEs (CIDER, ESS, Geiser, Robe, SLIME etc.)")
(file-name (git-file-name name version))
(sha256
(base32
"07bsbzqxsb6sbayriymy54bqcy7is7c61fpnm83mg9527w0w4g19"))))
"0s5c7ia7b873dr6rqljkb1z4bf84zb3p3wjvcvpjhdcnf67m5x10"))))
(build-system emacs-build-system)
(arguments
(list
@ -30654,53 +30688,52 @@ the standard @code{Dockerfile} file format.")
(license license:asl2.0)))
(define-public emacs-lsp-mode
(let ((commit "26c4d3e54ad2956623e64132312fe864274d346f")
(revision "1"))
(package
(name "emacs-lsp-mode")
(version (git-version "8.0.1" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/emacs-lsp/lsp-mode")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "0klnik69b5y6s2q00vyshxymlg7k4x9x6m7wpsf7z9w12qn27alx"))))
(build-system emacs-build-system)
(arguments
`(#:emacs ,emacs ;need libxml support
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'move-clients-libraries
;; Move all clients libraries at top-level, as is done, e.g., in
;; MELPA.
(lambda _
(for-each (lambda (f)
(install-file f "."))
(find-files "clients/" "\\.el$"))))
(add-before 'move-clients-libraries 'fix-patch-el-files
;; /bin/ksh is only used on macOS, which we don't support, so we
;; don't want to add it as input.
(lambda _
(substitute* '("clients/lsp-csharp.el" "clients/lsp-fsharp.el")
(("/bin/ksh") "ksh")))))))
(propagated-inputs
(list emacs-dash
emacs-f
emacs-ht
emacs-hydra
emacs-markdown-mode
emacs-spinner))
(home-page "https://emacs-lsp.github.io/lsp-mode/")
(synopsis "Emacs client and library for the Language Server Protocol")
(description
"LSP mode is a client and library implementation for the Language
(package
(name "emacs-lsp-mode")
(version "9.0.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/emacs-lsp/lsp-mode")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1p4979qbmllmmszmnyml0msxkza4pm14rdacmqczbfs3cs9n6bd3"))))
(build-system emacs-build-system)
(arguments
(list
#:emacs emacs ;need libxml support
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'move-clients-libraries
;; Move all clients libraries at top-level, as is done, e.g., in
;; MELPA.
(lambda _
(for-each (lambda (f)
(install-file f "."))
(find-files "clients/" "\\.el$"))))
(add-before 'move-clients-libraries 'fix-patch-el-files
;; /bin/ksh is only used on macOS, which we don't support, so we
;; don't want to add it as input.
(lambda _
(substitute* '("clients/lsp-csharp.el" "clients/lsp-fsharp.el")
(("/bin/ksh") "ksh")))))))
(propagated-inputs
(list emacs-dash
emacs-f
emacs-ht
emacs-hydra
emacs-markdown-mode
emacs-spinner))
(home-page "https://emacs-lsp.github.io/lsp-mode/")
(synopsis "Emacs client and library for the Language Server Protocol")
(description
"LSP mode is a client and library implementation for the Language
Server Protocol. This mode creates an IDE-like experience by providing
optional integration with other popular Emacs packages like Company, Flycheck,
and Projectile.")
(license license:gpl3+))))
(license license:gpl3+)))
(define* (%emacs-lsp-treemacs-upstream-source #:key commit version hash)
(origin
@ -32433,7 +32466,7 @@ through Dash docsets.")
(define-public emacs-devdocs
(package
(name "emacs-devdocs")
(version "0.6")
(version "0.6.1")
(source
(origin
(method url-fetch)
@ -32441,7 +32474,7 @@ through Dash docsets.")
"https://elpa.gnu.org/packages/"
"devdocs-" version ".tar"))
(sha256
(base32 "17av2l61mr4y8la4cqiq1dnaznni4xirr5k3wdix1jzl3q1apypy"))))
(base32 "04m3jd3wymrsdlb1i7z6dz9pf1q8q38ihkbn3jisdca6xkk9jd6p"))))
(build-system emacs-build-system)
(home-page "https://github.com/astoff/devdocs.el")
(synopsis "Emacs viewer for DevDocs")
@ -32783,14 +32816,14 @@ well as an option for visually flashing evaluated s-expressions.")
(define-public emacs-tramp
(package
(name "emacs-tramp")
(version "2.6.2.2")
(version "2.6.3")
(source
(origin
(method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/"
"tramp-" version ".tar"))
(sha256
(base32 "0bbsff2qr71f70nxhdi19b3jzpv6bgfb7x7qkrccsygvsvgyrb2h"))))
(base32 "0z44mfpvn4qy2xc2fsiahw3xir140ljna8aq45dcb7qnmr044xjb"))))
(build-system emacs-build-system)
(arguments
(list
@ -33820,7 +33853,7 @@ time.")
(define-public emacs-mastodon
(package
(name "emacs-mastodon")
(version "1.0.18")
(version "1.0.19")
(source
(origin
(method git-fetch)
@ -33829,7 +33862,7 @@ time.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1l4arid01m5475wq4sy8j598ww13847sbpg9grl71r72rs83071w"))))
(base32 "096zsjlqx2cv4zq607f9n7mr60d5avhfczf3nxsa8wkjsj97qrlh"))))
(build-system emacs-build-system)
(arguments
(list
@ -36269,20 +36302,20 @@ state to and restoring it from a file, with auto-saving and backups.")
(define-public emacs-company-emoji
(package
(name "emacs-company-emoji")
(version "2.8.0")
(version "3.0.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/dunn/company-emoji/")
(url "https://codeberg.org/egirl/company-emoji")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0j35z7hjcg3dkwgd7mdx1yaxcmxkn00h91y9kl8qdci7m4lja460"))))
(base32 "1afy2f1ymzr518npbhy5296kaqshax5hs2ij7wgl28h0hsa2mnk1"))))
(build-system emacs-build-system)
(propagated-inputs
(list emacs-company))
(home-page "https://github.com/dunn/company-emoji/")
(home-page "https://codeberg.org/egirl/company-emoji")
(synopsis "Company completion back-end for emoji")
(description
"This library is a Company back-end providing auto-completion for
@ -37988,7 +38021,11 @@ released, and track their progress in watching a series.")
;; Disable tests that need network access.
(substitute* (list "tests/unit/test-webpaste-provider-creation.el"
"tests/integration/test-webpaste-providers.el")
(("describe") "xdescribe")))))))
(("describe") "xdescribe"))
(emacs-batch-edit-file "tests/integration/test-webpaste-providers.el"
'(progn
(insert ";;; -*-lexical-binding:t -*-\n")
(basic-save-buffer))))))))
(native-inputs
(list emacs-buttercup))
(propagated-inputs
@ -38824,8 +38861,8 @@ headlines, keywords, tables and source blocks.")
(license license:gpl3+)))) ; License is in pyimport.el
(define-public emacs-straight-el
(let ((commit "039e5c9a9b5c00749602afb41341e9e77ba09429")
(revision "2"))
(let ((commit "b3760f5829dba37e855add7323304561eb57a3d4")
(revision "3"))
(package
(name "emacs-straight-el")
(version (git-version "0" revision commit))
@ -38838,7 +38875,7 @@ headlines, keywords, tables and source blocks.")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "05avzakgkwzrj1pxa1pkcv96knqq4mnkv2cszn4cs4kmvr2mchxm"))))
(base32 "10kvm2gzn7yf2wkfprq7cm6m2la83rdi394rcrsxql3yyhd0v599"))))
(build-system emacs-build-system)
(arguments
(list
@ -38858,12 +38895,7 @@ headlines, keywords, tables and source blocks.")
(("\"git\"")
(string-append "\""
(search-input-file inputs "/bin/git")
"\"")))))
(add-after 'check 'delete-tests
;; "tests" directory includes bogus ".el" files that can make
;; `patch-el-files' phase fail.
(lambda _
(delete-file-recursively "tests"))))))
"\""))))))))
(native-inputs
(list texinfo))
(inputs

View File

@ -737,9 +737,7 @@ multipole-accelerated algorithm.")
(list boost
libgit2
qtbase-5
;; TODO: Needs to be renamed to qtserialport-5. when version 6 is
;; packed.
qtserialport
qtserialport-5
qtsvg-5
zlib))
(home-page "https://fritzing.org")
@ -1588,7 +1586,7 @@ or an Ethernet connection.")
(native-inputs
`(("fortran" ,gfortran)))
(inputs
(list lapack))
(list openblas))
(home-page "https://github.com/stevengj/harminv")
(synopsis "Harmonic inversion solver")
(description
@ -1654,7 +1652,7 @@ for scientific simulations.")
("gsl" ,gsl)
("guile" ,guile-2.2)
("hdf5" ,hdf5)
("lapack" ,lapack)
("openblas" ,openblas)
("libctl" ,guile-libctl)
("readline" ,readline)
("zlib" ,zlib)))
@ -1696,7 +1694,7 @@ fully-vectorial and three-dimensional methods.")
("guile" ,guile-2.2)
("harminv" ,harminv)
("hdf5" ,hdf5)
("lapack" ,lapack)
("openblas" ,openblas)
("libctl" ,guile-libctl)
("mpb" ,mpb)
("zlib" ,zlib)))
@ -4229,7 +4227,7 @@ netlists from the drawn schematic, allowing the simulation of the circuit.")
"08rqhl6a5a8s67a8yl16944zgcsnnb08xfv4klzyqwlvaqgfp783"))))
(build-system gnu-build-system)
(native-inputs (list qttools-5))
(inputs (list qtbase-5 qtserialport))
(inputs (list qtbase-5 qtserialport-5))
(arguments
(list #:tests? #f ; no tests.
#:phases #~(modify-phases %standard-phases

View File

@ -76,6 +76,7 @@
#:use-module (gnu packages golang-build)
#:use-module (gnu packages golang-check)
#:use-module (gnu packages golang-crypto)
#:use-module (gnu packages golang-xyz)
#:use-module (gnu packages guile)
#:use-module (gnu packages jemalloc)
#:use-module (gnu packages kerberos)

View File

@ -147,7 +147,7 @@
;; <https://bitcoincore.org/en/lifecycle/#schedule>.
(package
(name "bitcoin-core")
(version "26.0")
(version "26.1")
(source (origin
(method url-fetch)
(uri
@ -155,7 +155,7 @@
version "/bitcoin-" version ".tar.gz"))
(sha256
(base32
"18f0rl7nzr64m54d6hmrphg7z39mmj2ix47kv78n5nr8dqkrj7db"))))
"1vimkcm5bd6dyncy6kw16ibkcbykv526ajgh175j0jkvf5fywr4i"))))
(build-system gnu-build-system)
(native-inputs
(list autoconf
@ -2322,7 +2322,7 @@ and manipulation.")
(define-public xmrig
(package
(name "xmrig")
(version "6.21.0")
(version "6.21.2")
(source
(origin
(method git-fetch)
@ -2330,7 +2330,7 @@ and manipulation.")
(url "https://github.com/xmrig/xmrig")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256 (base32 "1nmzgwd2r7ra7g4p0s5b77bgh099hf1kisbv4d946c9yiwbdzqgc"))
(sha256 (base32 "0rxnrn92v2w9f0zyv4zchilnrc3wa8nw4d4b4isaxx411zxgds6i"))
(modules '((guix build utils)))
(snippet
;; TODO: Try to use system libraries instead of bundled ones in

View File

@ -1503,14 +1503,16 @@ having to run @command{qmk} as root when flashing the firmware.")
(define* (make-qmk-firmware/implementation keyboard keymap
#:key (description "")
keymap-json
keymap-source-directory)
keymap-source-directory
keyboard-source-directory)
"Return a package to build the QMK firmware for KEYBOARD with KEYMAP.
Keyboard should be the name of a sub-directory under the @file{keyboards}
directory. For custom keymaps, KEYMAP-JSON, a file-like object of a JSON
representation of KEYMAP as generated by the @url{https://config.qmk.fm/, QMK
Configurator} tool or KEYMAP-SOURCE-DIRECTORY, a file-like object directory
containing the keymap source files files such as @file{keymap.c}, can be
provided."
Keyboard should be the name of a sub-directory under the @file{keyboards} directory.
For custom keymaps, KEYMAP-JSON, a file-like object of a JSON representation of
KEYMAP as generated by the @url{https://config.qmk.fm/, QMK Configurator} tool or
KEYMAP-SOURCE-DIRECTORY, a file-like object directory containing the keymap source
files files such as @file{keymap.c}, can be provided. For keyboards not available in
upstream repository, provide a file-like object directory containing the whole
keyboard definition in KEYBOARD-SOURCE-DIRECTORY."
(package
(name (string-append "qmk-firmware-"
(string-replace-substring keyboard "_" "-") "-"
@ -1570,6 +1572,15 @@ provided."
(base32
"1rmhm4rxvq8skxqn6vc4n4ly1ak6whj7c386zbsci4pxx548n9h4"))))
"lib/lufa")))
#$@(if keyboard-source-directory
#~((add-after 'unpack 'copy-keyboard-source-directory
(lambda _
(let ((keyboard-dir #$(string-append "keyboards/" keyboard)))
(false-if-exception (delete-file-recursively
keyboard-dir))
(copy-recursively #$keyboard-source-directory
keyboard-dir)))))
#~())
#$@(if keymap-source-directory
#~((add-after 'unpack 'copy-keymap-source-directory
(lambda _

View File

@ -17,7 +17,7 @@
;;; Copyright © 2019 Pierre Neidhardt <mail@ambrevar.xyz>
;;; Copyright © 2019, 2020, 2021 Liliana Marie Prikler <liliana.prikler@gmail.com>
;;; Copyright © 2019 Jethro Cao <jethrocao@gmail.com>
;;; Copyright © 2020-2023 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2020-2024 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2020 Timotej Lazar <timotej.lazar@araneo.si>
;;; Copyright © 2020 Giacomo Leidi <goodoldpaul@autistici.org>
;;; Copyright © 2021 Alexandru-Sergiu Marton <brown121407@posteo.ro>
@ -2828,14 +2828,14 @@ a.k.a. XenoCollide) as described in Game Programming Gems 7.")
(define-public ode
(package
(name "ode")
(version "0.16.4")
(version "0.16.5")
(source
(origin
(method url-fetch)
(uri (string-append "https://bitbucket.org/odedevs/ode/downloads/"
"ode-" version ".tar.gz"))
(sha256
(base32 "0rrl4pn4h3g0ay0i3n61pr6bwyk9vgar17vjal56pj66h617n0vi"))
(base32 "0ya6slmy2iysx3fql7w7r56c7gsk93qp1apfjn3raw252vfmx1xs"))
(modules '((guix build utils)))
(snippet
'(begin
@ -2868,38 +2868,34 @@ computer games, 3D authoring tools and simulation tools.")
(license (list license:lgpl2.1+ license:expat))))
(define-public chipmunk
(package
(name "chipmunk")
(version "7.0.3")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/slembcke/Chipmunk2D")
(commit (string-append "Chipmunk-" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1qmkn01g06p3rnhmbyffmjns6wj5vhgf9cscigk3wzxcpwv1hyxb"))
(modules '((guix build utils)))
(snippet
#~(begin
;; This is fixed in the upstream repository but the fix
;; has not been released.
(substitute* "src/cpHastySpace.c"
(("#include <sys/sysctl.h>") ""))))))
(build-system cmake-build-system)
(arguments
(list #:tests? #f ;no test
#:configure-flags
#~(list "-DBUILD_STATIC=OFF"
"-DBUILD_DEMOS=OFF")))
(inputs
(list freeglut libxmu libxrandr))
(home-page "https://chipmunk-physics.net/")
(synopsis "Fast and lightweight 2D game physics library")
(description "Chipmunk is a simple, lightweight, fast and portable 2D
(let ((commit "d0239ef4599b3688a5a336373f7d0a68426414ba")
(revision "1"))
(package
(name "chipmunk")
(version (git-version "7.0.3" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/slembcke/Chipmunk2D")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "1910rfnanhna99bhfiyny3ki7aip2i9p4jzmwsfcg16m9gip5fd6"))
(modules '((guix build utils)))))
(build-system cmake-build-system)
(arguments
(list #:tests? #f ;no test
#:configure-flags
#~(list "-DBUILD_STATIC=OFF"
"-DBUILD_DEMOS=OFF")))
(inputs
(list freeglut libxmu libxrandr))
(home-page "https://chipmunk-physics.net/")
(synopsis "Fast and lightweight 2D game physics library")
(description "Chipmunk is a simple, lightweight, fast and portable 2D
rigid body physics library written in C.")
(license license:expat)))
(license license:expat))))
(define-public box2d
(package

View File

@ -10528,7 +10528,7 @@ and chess engines.")
(native-inputs
(list qttools-5))
(inputs
(list qtbase-5 qtmultimedia-5 qtspeech qtsvg-5 zlib))
(list qtbase-5 qtmultimedia-5 qtspeech-5 qtsvg-5 zlib))
(arguments
`(#:tests? #f
#:phases

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012-2023 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2012-2024 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014, 2015, 2018 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2014, 2015, 2016, 2017, 2019, 2021 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015, 2023 Andreas Enge <andreas@enge.fr>
@ -969,10 +969,18 @@ using compilers other than GCC."
(if (and (target-ppc64le?)
(version>=? version "11")
(not (version>=? version "12")))
#~((add-after 'unpack 'patch-powerpc
(lambda* (#:key inputs #:allow-other-keys)
(invoke "patch" "--force" "-p1" "-i"
(assoc-ref inputs "powerpc64le-patch")))))
;; TODO: Drop the 'else' branch below on next rebuild
;; cycle.
(if (%current-target-system)
#~((add-after 'unpack 'patch-powerpc ;correct
(lambda* (#:key native-inputs inputs #:allow-other-keys)
(invoke "patch" "--force" "-p1" "-i"
(assoc-ref (or native-inputs inputs)
"powerpc64le-patch")))))
#~((add-after 'unpack 'patch-powerpc ;wrong
(lambda* (#:key inputs #:allow-other-keys)
(invoke "patch" "--force" "-p1" "-i"
(assoc-ref inputs "powerpc64le-patch"))))))
'()))
;; Force rs6000 (i.e., powerpc) libdir to be /lib and not /lib64.
(add-before 'chdir 'fix-rs6000-libdir

View File

@ -101,6 +101,7 @@
#:use-module (gnu packages imagemagick)
#:use-module (gnu packages java)
#:use-module (gnu packages kde)
#:use-module (gnu packages libunwind)
#:use-module (gnu packages libusb)
#:use-module (gnu packages linux)
#:use-module (gnu packages lua)
@ -1229,6 +1230,47 @@ development.")
(home-page "https://www.gaia-gis.it/fossil/spatialite_gui/index")
(license license:gpl3+)))
(define-public pdal
(package
(name "pdal")
(version "2.7.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/PDAL/PDAL")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0gg5lcshlmn3wwak42xr0b8a8gdr4572d7hrcvxn2291kp2c3096"))))
(build-system cmake-build-system)
(arguments
(list #:phases
#~(modify-phases %standard-phases
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "ctest" "-E" ;; This test hangs.
"pdal_io_stac_reader_test")))))))
(native-inputs (list python))
(inputs (list gdal
h3
libgeotiff
libunwind
libxml2
nlohmann-json
openssl
proj
utfcpp
xz
`(,zstd "lib")))
(home-page "https://pdal.io/")
(synopsis "Point Data Abstraction Library")
(description "PDAL is a C++ library for translating and manipulating point
cloud data. It is very much like the GDAL library which handles raster and
vector data.")
(license license:bsd-3)))
(define-public gdal
(package
(name "gdal")
@ -1911,6 +1953,34 @@ persisted.
")
(license license:expat)))
(define-public libmseed
(package
(name "libmseed")
(version "3.1.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/EarthScope/libmseed")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"05sk2h19c7ja98s75b7hbn2cwnjc5l6dr59c23fgnaimmad2rfn7"))))
(build-system gnu-build-system)
(arguments
(list #:make-flags #~(list (string-append "CC=" #$(cc-for-target))
(string-append "PREFIX=" #$output))
#:phases #~(modify-phases %standard-phases
(delete 'configure))))
(home-page "https://earthscope.github.io/libmseed/")
(synopsis "Library for the miniSEED data format")
(description "The miniSEED library provides a framework for manipulation
of SEED data records, a format for commonly used for seismological time
series and related data. The library includes the functionality to read
and write data records, in addition to reconstructing time series
from multiple records.")
(license license:asl2.0)))
(define-public python-rtree
(package
(name "python-rtree")
@ -2574,7 +2644,7 @@ track your position right from your laptop.")
qtbase-5
qtimageformats-5
qtlocation
qtsensors
qtsensors-5
zlib))
(native-inputs
(list doxygen
@ -2609,7 +2679,6 @@ orienteering sport.")
("gdal" ,gdal)
("geos" ,geos)
("glu" ,glu)
("lapack" ,lapack)
("libpng" ,libpng)
("libtiff" ,libtiff)
("mesa" ,mesa)
@ -2643,6 +2712,11 @@ orienteering sport.")
(guix build python-build-system))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-lapack
(lambda _
(substitute* "./configure"
(("-lblas") "-lopenblas")
(("-llapack") "-lopenblas"))))
(replace 'configure
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((shell (search-input-file inputs "/bin/bash")))
@ -2977,7 +3051,7 @@ growing set of geoscientific methods.")
qtkeychain
qtlocation
qtmultimedia-5
qtserialport
qtserialport-5
qtsvg-5
qwt
;; saga

View File

@ -19,6 +19,7 @@
;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
;;; Copyright © 2022 Petr Hodina <phodina@protonmail.com>
;;; Copyright © 2023 Saku Laesvuori <saku@laesvuori.fi>
;;; Copyright © 2024 Zheng Junjie <873216071@qq.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -202,12 +203,12 @@ shared NFS home directories.")
(arguments
(substitute-keyword-arguments (package-arguments dbus)
((#:phases phases)
`(modify-phases ,phases
(add-after 'unpack 'customize-config
(lambda _
(substitute* "bus/session.conf.in"
(("@SYSCONFDIR_FROM_PKGDATADIR@/dbus-1/session-local.conf")
"/var/run/jami/session-local.conf")))))))))))
#~(modify-phases #$phases
(add-after 'unpack 'customize-config
(lambda _
(substitute* "bus/session.conf.in"
(("@SYSCONFDIR_FROM_PKGDATADIR@/dbus-1/session-local.conf")
"/var/run/jami/session-local.conf")))))))))))
(define-public dbus-1.15.0
;; Dbus 1.15.2 has a breaking change.

View File

@ -1011,7 +1011,7 @@ dark, switch backgrounds and run custom commands at sunset and sunrise.")
(define-public gpaste
(package
(name "gpaste")
(version "42.2")
(version "44.1")
(source (origin
(method git-fetch)
(uri (git-reference
@ -1020,12 +1020,12 @@ dark, switch backgrounds and run custom commands at sunset and sunrise.")
(file-name (git-file-name name version))
(sha256
(base32
"0qq2p19p3r3lz8yfynpnf36cipv54bzdbmq1x5zgwhyl4yl41g28"))
"1amfr8hwf7401xa3fzaa8w17w3v3lxx0fkr7rqkkyfy57iavrykk"))
(patches
(search-patches "gpaste-fix-paths.patch"))))
(build-system meson-build-system)
(native-inputs
(list gcr-3
(list gcr
gettext-minimal
gobject-introspection
(list glib "bin") ; for glib-compile-resources
@ -1033,11 +1033,11 @@ dark, switch backgrounds and run custom commands at sunset and sunrise.")
vala))
(inputs
(list appstream-glib
desktop-file-utils ; for update-desktop-database
gjs
gtk
gtk+
mutter
libadwaita
libarchive))
libadwaita))
(arguments
(list #:glib-or-gtk? #true
#:configure-flags

View File

@ -3278,7 +3278,7 @@ the GNOME desktop environment.")
(define-public blueprint-compiler
(package
(name "blueprint-compiler")
(version "0.4.0")
(version "0.12.0")
(source (origin
(method git-fetch)
(uri (git-reference
@ -3288,7 +3288,7 @@ the GNOME desktop environment.")
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"0hj7f4xhwjc4x32r3lswwclbw37fw3spy806g4plkmym25hz4ydy"))))
"15cm2bksmygf8sifryrawxxblvvw27p4w3m42gvp3jlq50a15xm6"))))
(build-system meson-build-system)
(arguments
(list
@ -3303,13 +3303,15 @@ the GNOME desktop environment.")
#~(modify-phases %standard-phases
(add-after 'wrap 'wrap-python
(assoc-ref python:%standard-phases 'wrap))
(add-after 'wrap-python 'wrap-gi
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
(gi-typelib-path (getenv "GI_TYPELIB_PATH")))
(wrap-program (string-append out "/bin/blueprint-compiler")
`("GI_TYPELIB_PATH" ":" suffix (,gi-typelib-path)))))))))
(native-inputs (list gtk python-pygobject python))
(add-before 'check 'pre-check
(lambda _
(system "Xvfb :1 &")
(setenv "DISPLAY" ":1"))))))
(native-inputs (list gtk
libadwaita
python
python-pygobject
xorg-server-for-tests))
(inputs (list python))
(synopsis "Template markup language")
(description
@ -3318,6 +3320,22 @@ compiles to GTKBuilder XML.")
(home-page "https://gitlab.gnome.org/jwestman/blueprint-compiler")
(license license:lgpl3+)))
(define-public blueprint-compiler-0.4
(package
(inherit blueprint-compiler)
(name "blueprint-compiler")
(version "0.4.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url
"https://gitlab.gnome.org/jwestman/blueprint-compiler")
(commit (string-append "v" version))))
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"0hj7f4xhwjc4x32r3lswwclbw37fw3spy806g4plkmym25hz4ydy"))))))
(define-public cambalache
(package
(name "cambalache")
@ -7784,7 +7802,7 @@ javascript engine and the GObject introspection framework.")
(define-public gedit
(package
(name "gedit")
(version "44.1")
(version "44.3")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@ -7792,7 +7810,7 @@ javascript engine and the GObject introspection framework.")
name "-" version ".tar.xz"))
(sha256
(base32
"1nlgbnagahymb8l41kgz3nwc4p9cj3zx39428z6zik44fa6kfqh4"))))
"0j8p7lnf05sbw194babasfhvpd3pp29f17kvzn16ffnh34psn3y9"))))
(build-system meson-build-system)
(arguments
(list
@ -10309,6 +10327,7 @@ playing media, scanning, and much more.")
pulseaudio
shared-mime-info
system-config-printer
xdg-desktop-portal
xdg-user-dirs
yelp
zenity))
@ -12632,7 +12651,7 @@ non-privileged user.")
(define-public geary
(package
(name "geary")
(version "43.0")
(version "44.1")
(source (origin
(method git-fetch)
(uri (git-reference
@ -12641,7 +12660,7 @@ non-privileged user.")
(file-name (git-file-name name version))
(sha256
(base32
"05b8c5ljzx1ly7wq8jzpv8psxmsdlz395sr17xwj49nh495nflz5"))))
"1cx1jfaxsbkxm8774wf8n7ss2n73bzgk4yi2f9i3ab698ygh0h68"))))
(build-system meson-build-system)
(arguments
(list #:glib-or-gtk? #t
@ -13422,7 +13441,7 @@ profiler via Sysprof, debugging support, and more.")
(define-public komikku
(package
(name "komikku")
(version "1.17.0")
(version "1.34.2")
(source
(origin
(method git-fetch)
@ -13432,7 +13451,7 @@ profiler via Sysprof, debugging support, and more.")
(file-name (git-file-name name version))
(sha256
(base32
"0snb6vdgb3l2mw0kr0yb4zjpq46w56rpi554vqn5ks6qwywvs58g"))))
"044m3z7h1hi2avx4z6qgjzhgn1fkf1iclxhr4j7pb6flbqvwnxhs"))))
(build-system meson-build-system)
(arguments
(list
@ -13469,6 +13488,7 @@ profiler via Sysprof, debugging support, and more.")
python-beautifulsoup4
python-brotli
python-cloudscraper
python-colorthief
python-dateparser
python-emoji
python-keyring
@ -13485,7 +13505,8 @@ profiler via Sysprof, debugging support, and more.")
python-unidecode
webkitgtk))
(native-inputs
(list desktop-file-utils
(list blueprint-compiler
desktop-file-utils
gettext-minimal
`(,glib "bin")
gobject-introspection

View File

@ -79,6 +79,7 @@
#:use-module (guix gexp)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix deprecation)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix build-system gnu))
@ -163,14 +164,14 @@ tool to extract metadata from a file and print the results.")
(define-public libmicrohttpd
(package
(name "libmicrohttpd")
(version "0.9.77")
(version "1.0.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/libmicrohttpd/libmicrohttpd-"
version ".tar.gz"))
(sha256
(base32
"185hfvdxs3njcja5rz5c9v73x4x97k0s8vkah396000ja6hj6w4y"))))
"151bi13xx8dz5c9v33chp6ch5q8wmbxb9z7l37g4vqsdkgy0k7m8"))))
(build-system gnu-build-system)
(arguments
(list #:configure-flags
@ -188,77 +189,12 @@ authentication and support for SSL3 and TLS.")
(license license:lgpl2.1+)
(home-page "https://www.gnu.org/software/libmicrohttpd/")))
(define-public gnurl
(package
(name "gnurl")
(version "7.70.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/gnunet/gnurl-" version ".tar.gz"))
(sha256
(base32
"0px9la8v4bj1dzxb95fx3yxk0rcjqjrxpj733ga27cza45wwzkqa"))))
(build-system gnu-build-system)
(outputs '("out"
"doc")) ; 1.8 MiB of man3 pages
(inputs `(("gnutls" ,gnutls/dane)
("libidn2" ,libidn2)
("zlib" ,zlib)))
(native-inputs
(list libtool perl pkg-config python))
(arguments
`(#:configure-flags
;; All of these produce errors during configure.
(list "--disable-ftp"
"--disable-file"
"--disable-ldap"
"--disable-rtsp"
"--disable-dict"
"--disable-telnet"
"--disable-tftp"
"--disable-pop3"
"--disable-imap"
"--disable-smb"
"--disable-smtp"
"--disable-gopher"
"--without-ssl"
"--without-libpsl"
"--without-librtmp"
"--disable-ntlm-wb")
#:phases
(modify-phases %standard-phases
(add-after 'install 'move-man3-pages
(lambda* (#:key outputs #:allow-other-keys)
;; Move section 3 man pages to "doc".
(let ((out (assoc-ref outputs "out"))
(doc (assoc-ref outputs "doc")))
(mkdir-p (string-append doc "/share/man"))
(rename-file (string-append out "/share/man/man3")
(string-append doc "/share/man/man3"))
#t)))
;; We have to patch runtests.pl in tests/ directory
(replace 'check
(lambda _
(substitute* "tests/runtests.pl"
(("/bin/sh") (which "sh")))
;; Make test output more verbose.
(invoke "make" "-C" "tests" "test"))))))
(synopsis "Microfork of cURL with support for the HTTP/HTTPS/GnuTLS subset of cURL")
(description
"Gnurl is a microfork of cURL, a command line tool for transferring data
with URL syntax. While cURL supports many crypto backends, libgnurl only
supports HTTP, HTTPS and GnuTLS.")
(license (license:non-copyleft "file://COPYING"
"See COPYING in the distribution."))
(properties '((ftp-server . "ftp.gnu.org")
(ftp-directory . "/gnunet")))
(home-page "https://gnunet.org/en/gnurl.html")))
(define-deprecated/public-alias gnurl curl)
(define-public gnunet
(package
(name "gnunet")
(version "0.20.0")
(version "0.21.1")
(source
(origin
(method url-fetch)
@ -266,7 +202,7 @@ supports HTTP, HTTPS and GnuTLS.")
".tar.gz"))
(sha256
(base32
"064mmhksznbsymanikwqkgmdhk2f0zjll2aq2cmxa14wm5w9w0jn"))))
"0p3q9590bm0d6q6p17jcbq2yiciqmvk5ys6pwdrp4257mhz8prlk"))))
(build-system gnu-build-system)
(inputs
(list bluez
@ -306,15 +242,17 @@ supports HTTP, HTTPS and GnuTLS.")
#~(modify-phases %standard-phases
(add-after 'unpack 'disable-problematic-tests
(lambda _
(substitute* "src/cadet/Makefile.in"
;; The speed_reliable tests appear to be unreliable (see:
;; https://bugs.gnunet.org/view.php?id=7787).
(("test_cadet_[0-9]+_speed_reliable\\$\\(EXEEXT)")
;; The 'test_communicator_bidirect-tcp' fails
;; non-deterministically (see:
;; https://bugs.gnunet.org/view.php?id=8689).
(substitute* "src/service/transport/Makefile.in"
(("test_communicator_bidirect-tcp\\$\\(EXEEXT) ")
""))
(substitute* "src/core/Makefile.in"
;; The 'test_core_api' test fails non-deterministically (see:
;; https://bugs.gnunet.org/view.php?id=7784).
(("test_core_api\\$\\(EXEEXT) ") ""))))
;; The 'test_fs_search_with_and' fails non-deterministically
;; (see: https://bugs.gnunet.org/view.php?id=8692).
(substitute* "src/service/fs/Makefile.in"
(("test_fs_search_with_and\\$\\(EXEEXT) ")
""))))
(add-before 'check 'set-env-var-for-tests
(lambda _
(setenv "LANG" "en_US.UTF-8")))
@ -433,20 +371,17 @@ The following services are supported:
(license (list license:agpl3+ license:gpl3+ license:fdl1.3+ license:lgpl3+))
(home-page "https://git.gnunet.org/gnunet-scheme.git")))
;; FIXME: "gnunet-setup" segfaults under certain conditions and "gnunet-gtk"
;; does not seem to be fully functional. This has been reported upstream:
;; http://lists.gnu.org/archive/html/gnunet-developers/2016-02/msg00004.html
(define-public gnunet-gtk
(package (inherit gnunet)
(name "gnunet-gtk")
(version "0.20.0")
(version "0.21.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/gnunet/gnunet-gtk-"
version ".tar.gz"))
(sha256
(base32
"0bandj2f24v4wfq1v5j73zn5jp25dn8r7y0wd7znlkmbh86fb4g9"))))
"1b7xfypa0s7zlijgvya8p3rvljnn65w5cjkaw6x83v9ra8l6s0dx"))))
(arguments
(list #:configure-flags
#~(list "--with-libunique"

View File

@ -944,7 +944,7 @@ passphrase when @code{gpg} is run and needs it.")))
(define-public pinentry-rofi
(package
(name "pinentry-rofi")
(version "2.0.3")
(version "2.1.0")
(source (origin
(method git-fetch)
(uri (git-reference
@ -952,7 +952,7 @@ passphrase when @code{gpg} is run and needs it.")))
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0kjzvgni9srl8h5c52pqrvgdxs6avv0nhgk19apd97sx10qdwdhk"))))
(base32 "1v5rl2kkvkj1pw3bn20gwa2pa7caan3hbqnr6fshv5j7h56919i7"))))
(build-system gnu-build-system)
(arguments
`(#:modules

View File

@ -16,6 +16,7 @@
;;; Copyright © 2022 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2023 Benjamin <benjamin@uvy.fr>
;;; Copyright © 2023 Felix Lechner <felix.lechner@lease-up.com>
;;; Copyright © 2023 Fries <fries1234@protonmail.com>
;;; Copyright © 2023 Hilton Chain <hako@ultrarare.space>
;;; Copyright © 2023 Katherine Cox-Buday <cox.katherine.e@gmail.com>
;;; Copyright © 2024 Troy Figiel <troy@troyfigiel.com>
@ -122,6 +123,36 @@
@end itemize\n")
(license license:expat))))
(define-public go-github-com-chzyer-test
(package
(name "go-github-com-chzyer-test")
(version "1.0.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/chzyer/test")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1axdlcnx2qjsn5wsr2pr1m0w0a8k4nk5kkrngh742fgh81vzzy8s"))))
(build-system go-build-system)
(arguments
(list
;; Tests relating to a in-memory disk fail due to a Segfault see
;; <https://github.com/chzyer/test/issues/4>.
#:tests? #f
#:import-path "github.com/chzyer/test"))
(propagated-inputs
(list go-github-com-chzyer-logex))
(home-page "https://github.com/chzyer/test")
(synopsis "Testing library for Go")
;; Description is not provided, see
;; <https://github.com/chzyer/test/issues/3>.
(description
"A testing library for Go programs.")
(license license:expat)))
(define-public go-github-com-davecgh-go-spew
(package
(name "go-github-com-davecgh-go-spew")
@ -160,6 +191,42 @@ style).
@end itemize")
(license license:isc)))
(define-public go-github-com-felixge-fgprof
(package
(name "go-github-com-felixge-fgprof")
(version "0.9.4")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/felixge/fgprof")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "00h4kphvmbcdgad0wmqbaclc4a1pipdb55ay41mwh6cnkdjjvhp0"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/felixge/fgprof"))
(native-inputs
(list go-github-com-stretchr-testify))
(propagated-inputs
(list go-github-com-google-pprof))
(home-page "https://github.com/felixge/fgprof")
(synopsis "Sampling profiler for Golang")
(description
"@code{fgprof} is a sampling Go profiler providing analyze On-CPU as well
as @url{http://www.brendangregg.com/offcpuanalysis.html, Off-CPU} (e.g. I/O)
time together.
Go's builtin sampling CPU profiler can only show On-CPU time, but it's better
than fgprof at that. Go also includes tracing profilers that can analyze I/O,
but they can't be combined with the CPU profiler.
fgprof is designed for analyzing applications with mixed I/O and CPU
workloads. This kind of profiling is also known as wall-clock profiling.")
(license license:expat)))
(define-public go-github-com-frankban-quicktest
(package
(name "go-github-com-frankban-quicktest")
@ -288,6 +355,57 @@ also update a file with new \"golden\" output that is deemed correct.")
values for the purpose of fuzz testing.")
(license license:asl2.0))))
;; XXX: Placing to (gnu package profiling) creates some failing cycles.
(define-public go-github-com-google-pprof
(package
(name "go-github-com-google-pprof")
(version "0.0.0-20240402174815-29b9bb013b0f")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/google/pprof")
(commit (go-version->git-ref version))))
(file-name (git-file-name name version))
(sha256
(base32 "09l37q5dql0q0zj8amlnrynajfvp1vrp846q5vgiwsbwz9b78f18"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/google/pprof"
#:phases
#~(modify-phases %standard-phases
;; To make this package smaller to use as a library where just
;; source is required.
(delete 'build))))
(propagated-inputs
(list go-github-com-chzyer-readline
go-github-com-ianlancetaylor-demangle
go-golang-org-x-sys))
(home-page "https://github.com/google/pprof")
(synopsis "Visualization and analysis of profiling data")
(description
"@code{pprof} is a tool for visualization and analysis of profiling data.
It reads a collection of profiling samples in profile.proto format and
generates reports to visualize and help analyze the data. It can generate
both text and graphical reports (through the use of the dot visualization
package).")
(license (list
;; For go code: LICENSE
license:asl2.0
;; For svgpan: third_party/svgpan/LICENSE
;; original source <https://code.google.com/archive/p/svgpan/>.
license:bsd-3
;; For d3flamegraph: third_party/d3flamegraph/D3_LICENSE
;;
;; Bundle of d3-flame-graph and d3-selection JavaScript library
;; (NPM) <https://www.npmjs.com/package/d3-flame-graph> and
;; <https://www.npmjs.com/package/d3-selection>.
license:asl2.0 ; for bundle and d3-flame-graph
license:isc ; for d3-selection
))))
(define-public go-github-com-hexops-gotextdiff
(package
(name "go-github-com-hexops-gotextdiff")
@ -441,17 +559,17 @@ differently.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1hh6n7q92y0ai8k6rj2yzw6wwxikhyiyk4j92zgvf1zad0gmqqmz"))))
(base32 "1hh6n7q92y0ai8k6rj2yzw6wwxikhyiyk4j92zgvf1zad0gmqqmz"))))
(build-system go-build-system)
(arguments
(list #:import-path "github.com/onsi/ginkgo"))
(list
#:import-path "github.com/onsi/ginkgo"))
(propagated-inputs
(list go-golang-org-x-sys
go-golang-org-x-tools
go-github-com-go-task-slim-sprig
(list go-github-com-go-task-slim-sprig
go-github-com-nxadm-tail
go-github-com-onsi-gomega))
go-github-com-onsi-gomega
go-golang-org-x-sys
go-golang-org-x-tools))
(home-page "https://github.com/onsi/ginkgo")
(synopsis "BDD-style testing framework for Go")
(description
@ -460,6 +578,104 @@ builds on top of Go's builtin @code{testing} library and is complemented by the
Gomega matcher library.")
(license license:expat)))
(define-public go-github-com-onsi-ginkgo-v2
(package
(inherit go-github-com-onsi-ginkgo)
(name "go-github-com-onsi-ginkgo-v2")
(version "2.17.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/onsi/ginkgo")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "089x6pz5563ldbxiwaqvd2g4dqfzlr25dflmas3gfq51ibwzh4vz"))))
(arguments
(list
#:go go-1.20
#:import-path "github.com/onsi/ginkgo/v2"))
(propagated-inputs
(list go-github-com-go-logr-logr
;; go-github-com-google-pprof ; not packed yet in Guix, for profiling
go-github-com-onsi-gomega
go-github-com-go-task-slim-sprig
go-golang-org-x-net
go-golang-org-x-sys
go-golang-org-x-tools))))
(define-public go-github-com-onsi-gomega
(package
(name "go-github-com-onsi-gomega")
(version "1.19.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/onsi/gomega")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "092phwk97sk4sv0nbx5pfhqs6x3x1lnrjwyda1m6b6zwrfmq5c6i"))))
(build-system go-build-system)
(arguments
(list #:import-path "github.com/onsi/gomega"
;; Unless we disable the tests, we have a circular dependency on
;; ginkgo/v2.
#:tests? #f))
(propagated-inputs
(list go-github-com-golang-protobuf-proto
go-golang-org-x-net
go-golang-org-x-sys
go-golang-org-x-text
go-google-golang-org-protobuf
go-gopkg-in-yaml-v2))
(home-page "https://github.com/onsi/gomega")
(synopsis "Matcher library for Ginkgo")
(description
"Gomega is the preferred matcher/assertion library for the Ginkgo test
framework.")
(license license:expat)))
(define-public go-github-com-pkg-profile
(package
(name "go-github-com-pkg-profile")
(version "1.7.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/pkg/profile")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0ifr9gnycjwh7dbvsb5vgs9kzlr548cb4m45zvl8i8lgd3qhppy1"))))
(build-system go-build-system)
(arguments
(list
;; XXX: Unit tests failing, see
;; <https://github.com/pkg/profile/issues/68>.
#:tests? #f
#:import-path "github.com/pkg/profile"
#:phases
#~(modify-phases %standard-phases
;; profile drops a cpu.pprof file inside its source directory
;; after tests which makes it unreproducible so we remove it.
(add-after 'check 'delete-test-file
(lambda* (#:key import-path tests? #:allow-other-keys)
(when tests?
(delete-file (string-append "src/" import-path
"/cpu.pprof"))))))))
(propagated-inputs
(list go-github-com-felixge-fgprof))
(home-page "https://github.com/pkg/profile")
(synopsis "Simple profiling for Go")
(description
"Profile provides a simple way to manage runtime/pprof profiling of your
Go application.")
(license license:bsd-2)))
(define-public go-github-com-prashantv-gostub
(package
(name "go-github-com-prashantv-gostub")
@ -860,6 +1076,20 @@ thoroughly
(description "This package turns unkeyed struct literals (@code{T{1, 2,
3}}) into keyed ones (@code{T{A: 1, B: 2, C: 3}}) in Go.")))
(define-public go-pprof
(package
(inherit go-github-com-google-pprof)
(name "go-pprof")
(arguments
(list
#:install-source? #f
#:go go-1.19
#:import-path "github.com/google/pprof"))
(description
(string-append (package-description go-github-com-google-pprof)
" This package provides an command line interface (CLI)
tool."))))
(define-public go-staticcheck
(package
(inherit go-honnef-co-go-tools)

View File

@ -28,7 +28,8 @@
#:use-module (guix git-download)
#:use-module (guix packages)
#:use-module (guix utils)
#:use-module (gnu packages))
#:use-module (gnu packages)
#:use-module (gnu packages golang-xyz))
;;; Commentary:
;;;
@ -190,6 +191,52 @@ time, as otherwise the internal gzip library will likely be faster.")
"This package provides a library for reading RAR archives with Golang.")
(license license:bsd-2)))
(define-public go-github-com-pierrec-lz4
(package
(name "go-github-com-pierrec-lz4")
(version "2.6.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/pierrec/lz4")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0vfn01gd3hcpbj6gb4ig3pw6bv0g4j5780awr0fv4kf9id8gjvyy"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/pierrec/lz4"))
(home-page "https://github.com/pierrec/lz4")
(synopsis "LZ4 compression in pure Go")
(description
"@code{lz4} provides a streaming interface to
@url{http://fastcompression.blogspot.fr/2013/04/lz4-streaming-format-final.html,
LZ4 data streams} as well as low level compress and uncompress functions for
LZ4 data blocks. The implementation is based on the reference C
@url{https://github.com/lz4/lz4, one}.")
(license license:bsd-3)))
(define-public go-github-com-pierrec-lz4-v4
(package
(inherit go-github-com-pierrec-lz4)
(name "go-github-com-pierrec-lz4-v4")
(version "4.1.21")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/pierrec/lz4")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0nc2aprbw4s6cx2mijaqdswkgnizx8fqb0mzha82wrznl3gz69ni"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/pierrec/lz4/v4"))))
(define-public go-github-com-ulikunitz-xz
(package
(name "go-github-com-ulikunitz-xz")
@ -216,6 +263,28 @@ decompressing data. The package is completely written in Go and doesn't have
any dependency on any C code.")
(license license:bsd-3)))
;;;
;;; Executables:
;;;
(define-public go-lz4c
(package
(inherit go-github-com-pierrec-lz4-v4)
(name "go-lz4c")
(arguments
(list
#:install-source? #f
#:import-path "github.com/pierrec/lz4/cmd/lz4c"
#:unpack-path "github.com/pierrec/lz4"))
(native-inputs
(list go-code-cloudfoundry-org-bytefmt
go-github-com-pierrec-cmdflag
go-github-com-schollz-progressbar-v3))
(description
(string-append (package-description go-github-com-pierrec-lz4-v4)
" This package provides an additional command line
interface tool to compress and decompress LZ4 files."))))
;;;
;;; Avoid adding new packages to the end of this file. To reduce the chances
;;; of a merge conflict, place them above by existing packages with similar

View File

@ -592,17 +592,11 @@ Stealing encryption and decryption methods.")
(build-system go-build-system)
(arguments
'(#:import-path "github.com/libp2p/go-libp2p-peer"))
(native-inputs
(propagated-inputs
(list go-github-com-btcsuite-btcd-btcec
go-github-com-gogo-protobuf
go-github-com-gxed-hashland-keccakpg
go-github-com-libp2p-go-libp2p-crypto
go-github-com-minio-blake2b-simd
go-github-com-minio-sha256-simd
go-github-com-mr-tron-base58
go-github-com-multiformats-go-multihash
go-github-com-spaolacci-murmur3
go-golang-org-x-crypto))
go-github-com-multiformats-go-multihash))
(home-page "https://github.com/libp2p/go-libp2p-peer")
(synopsis "PKI based identities for use in go-libp2p")
(description "PKI based identities for use in @command{go-libp2p}.")
@ -812,7 +806,7 @@ Architecture Processors\" by J. Guilford et al.")
(build-system go-build-system)
(arguments
'(#:import-path "github.com/multiformats/go-multihash"))
(native-inputs
(propagated-inputs
(list go-github-com-mr-tron-base58
go-github-com-gxed-hashland-keccakpg
go-github-com-minio-blake2b-simd

View File

@ -19,6 +19,7 @@
;;; Copyright © 2022 jgart via Guix-patches via <guix-patches@gnu.org>
;;; Copyright © 2022 muradm <mail@muradm.net>
;;; Copyright © 2022, 2023 Sharlatan Hellseher <sharlatanus@gmail.com>
;;; Copyright © 2023 Fries <fries1234@protonmail.com>
;;; Copyright © 2023 Hilton Chain <hako@ultrarare.space>
;;; Copyright © 2023 Katherine Cox-Buday <cox.katherine.e@gmail.com>
;;; Copyright © 2023 Nicolas Graves <ngraves@ngraves.fr>
@ -1188,6 +1189,40 @@ Microsoft AD PAC authorization data.")
transforms one JSON document into another through a JMESPath expression.")
(license license:asl2.0)))
(define-public go-github-com-json-iterator-go
(package
(name "go-github-com-json-iterator-go")
(version "1.1.12")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/json-iterator/go")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1c8f0hxm18wivx31bs615x3vxs2j3ba0v6vxchsjhldc8kl311bz"))))
(build-system go-build-system)
(arguments
(list #:import-path "github.com/json-iterator/go"))
(native-inputs
(list go-github-com-davecgh-go-spew
go-github-com-google-gofuzz
go-github-com-stretchr-testify))
(propagated-inputs
(list go-github-com-modern-go-concurrent
go-github-com-modern-go-reflect2))
(home-page "https://github.com/json-iterator/go")
(synopsis "High-performance replacement for Golang @code{encoding/json}")
(description
"This package implements encoding and decoding of JSON as defined in
@uref{https://rfc-editor.org/rfc/rfc4627.html,RFC 4627} and provides
interfaces with identical syntax of standard lib encoding/json. Converting
from encoding/json to jsoniter is no more than replacing the package with
jsoniter and variable type declarations (if any). jsoniter interfaces gives
100% compatibility with code using standard lib.")
(license license:expat)))
(define-public go-github-com-julienschmidt-httprouter
(package
(name "go-github-com-julienschmidt-httprouter")
@ -1257,14 +1292,8 @@ router.")
(arguments
(list
#:import-path "github.com/multiformats/go-multiaddr"))
(native-inputs
(list go-github-com-gxed-hashland-keccakpg
go-github-com-minio-blake2b-simd
go-github-com-minio-sha256-simd
go-github-com-mr-tron-base58
go-github-com-multiformats-go-multihash
go-github-com-spaolacci-murmur3
go-golang-org-x-crypto))
(propagated-inputs
(list go-github-com-multiformats-go-multihash))
(home-page "https://github.com/multiformats/go-multiaddr")
(synopsis "Composable and future-proof network addresses")
(description
@ -1305,15 +1334,8 @@ following:
;; TODO: Tests fail because they try to access the network.
#:tests? #f
#:import-path "github.com/multiformats/go-multiaddr-net"))
(native-inputs
(list go-github-com-gxed-hashland-keccakpg
go-github-com-minio-blake2b-simd
go-github-com-minio-sha256-simd
go-github-com-mr-tron-base58
go-github-com-multiformats-go-multiaddr
go-github-com-multiformats-go-multihash
go-github-com-spaolacci-murmur3
go-golang-org-x-crypto))
(propagated-inputs
(list go-github-com-multiformats-go-multiaddr))
(home-page "https://github.com/multiformats/go-multiaddr-net")
(synopsis "Multiaddress net tools")
(description

File diff suppressed because it is too large Load Diff

View File

@ -1881,7 +1881,7 @@ retry strategies, such as fixed delay, backoff delay, and random delay.")
(build-system go-build-system)
(arguments `(#:import-path "howett.net/plist"))
(inputs
(list go-github.com-jessevdk-go-flags go-github-com-kr-pretty
(list go-github-com-jessevdk-go-flags go-github-com-kr-pretty
go-gopkg-in-check-v1 go-gopkg-in-yaml-v2))
(home-page "https://github.com/DHowett/go-plist")
(synopsis "Apple property list transcoder")
@ -2839,9 +2839,9 @@ Under Windows, the console APIs are used. Otherwise, ANSI texts are output.")
specified by @uref{https://tools.ietf.org/html/rfc2141, IETF RFC 2141}.")
(license license:expat)))
(define-public go-github.com-jessevdk-go-flags
(define-public go-github-com-jessevdk-go-flags
(package
(name "go-github.com-jessevdk-go-flags")
(name "go-github-com-jessevdk-go-flags")
(version "1.5.0")
(source (origin
(method git-fetch)
@ -3674,31 +3674,6 @@ containers.")
(description "Safe and easy casting from one type to another in Go")
(license license:expat)))
(define-public go-github-com-spf13-cobra
(package
(name "go-github-com-spf13-cobra")
(version "1.8.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/spf13/cobra")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0mhnqfgcwwcknlhk7n07i02q3iqq6ihksj4dwz296zci8ry3w0d0"))))
(build-system go-build-system)
(arguments
`(#:import-path "github.com/spf13/cobra"))
(propagated-inputs
(list go-github-com-spf13-pflag))
(home-page "https://github.com/spf13/cobra")
(synopsis "Go library for creating CLI applications")
(description "Cobra is both a library for creating powerful modern CLI
applications as well as a program to generate applications and command files.")
(license license:asl2.0)))
(define-public go-github-com-spf13-jwalterweatherman
(package
(name "go-github-com-spf13-jwalterweatherman")
@ -4265,43 +4240,6 @@ which satisfies the cron expression.")
(description "Go library for ini files")
(license license:asl2.0)))
(define-public go-gopkg-in-yaml-v2
(package
(name "go-gopkg-in-yaml-v2")
(version "2.4.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://gopkg.in/yaml.v2.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1pbmrpj7gcws34g8vwna4i2nhm9p6235piww36436xhyaa10cldr"))
(modules '((guix build utils)))
(snippet
'(begin
;; https://github.com/go-yaml/yaml/issues/441 and
;; https://github.com/go-yaml/yaml/pull/442
;; Don't assume 64-bit wide integers
(substitute* "decode_test.go"
(("bin: (-0b1000000000000000000000000000000000000000000000000000000000000000)" all number)
(string-append "int64_min_base2: " number))
(("map\\[string\\]interface\\{\\}\\{\"bin\": -9223372036854775808\\}")
"map[string]int64{\"int64_min_base2\": math.MinInt64}"))))))
(build-system go-build-system)
(arguments
'(#:import-path "gopkg.in/yaml.v2"))
(native-inputs
(list go-gopkg-in-check-v1))
(home-page "https://gopkg.in/yaml.v2")
(synopsis "YAML reader and writer for the Go language")
(description
"This package provides a Go library for encode and decode YAML
values.")
(license license:asl2.0)))
(define-public go-gopkg-in-yaml-v3
(package
(name "go-gopkg-in-yaml-v3")
@ -4351,82 +4289,6 @@ The yaml package supports most of YAML 1.2, but preserves some behavior from
(description "This package provides a Golang Matrix client.")
(license license:asl2.0)))
(define-public go-github-com-mattn-go-isatty
(package
(name "go-github-com-mattn-go-isatty")
(version "0.0.20")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/mattn/go-isatty")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0g63n9wpb991qnq9mn2kvd8jk1glrp6gnd851kvwz2wmzdkggiga"))))
(build-system go-build-system)
(propagated-inputs
(list go-golang-org-x-sys))
(arguments
'(#:import-path "github.com/mattn/go-isatty"))
(home-page "https://github.com/mattn/go-isatty")
(synopsis "Provide @code{isatty} for Golang")
(description "This package provides @code{isatty}, a Go module that can
tell you whether a file descriptor points to a terminal and the type of the
terminal.")
(license license:expat)))
(define-public go-github-com-mattn-go-colorable
(package
(name "go-github-com-mattn-go-colorable")
(version "0.1.13")
(home-page "https://github.com/mattn/go-colorable")
(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
"05hl2ddp67p5kj3ix4zzqqjh4fan4ban3vgw8f98simwigs3q41j"))))
(build-system go-build-system)
(propagated-inputs
(list go-github-com-mattn-go-isatty))
(arguments
'(#:import-path "github.com/mattn/go-colorable"))
(synopsis "Handle ANSI color escapes on Windows")
(description "This package provides @code{colorable}, a module that
makes it possible to handle ANSI color escapes on Windows.")
(license license:expat)))
(define-public go-github-com-mattn-go-pointer
(let ((commit "a0a44394634f41e4992b173b24f14fecd3318a67")
(revision "1"))
(package
(name "go-github-com-mattn-go-pointer")
(version (git-version "0.0.0" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/mattn/go-pointer")
(commit commit)))
(sha256
(base32
"09w7hcyc0zz2g23vld6jbcmq4ar27xakp1ldjvh549i5izf2anhz"))
(file-name (git-file-name name version))))
(build-system go-build-system)
(arguments
'(#:import-path "github.com/mattn/go-pointer"))
(home-page "https://github.com/mattn/go-pointer")
(synopsis "Utility for cgo")
(description
"This package allows for a cgo argument to be passed a Go pointer.")
(license license:expat))))
(define-public go-github-com-mgutz-ansi
(let ((commit "9520e82c474b0a04dd04f8a40959027271bab992")
(revision "0"))
@ -5016,20 +4878,14 @@ required by Go's standard Hash interface.")
(build-system go-build-system)
(arguments
'(#:import-path "github.com/libp2p/go-libp2p-metrics"))
(native-inputs
(propagated-inputs
(list go-github-com-libp2p-go-flow-metrics
go-github-com-libp2p-go-libp2p-peer
go-github-com-libp2p-go-libp2p-protocol
go-github-com-libp2p-go-libp2p-crypto
go-github-com-mr-tron-base58
go-github-com-multiformats-go-multihash
go-github-com-btcsuite-btcd-btcec
go-github-com-gogo-protobuf
go-github-com-gxed-hashland-keccakpg
go-github-com-minio-blake2b-simd
go-github-com-minio-sha256-simd
go-github-com-spaolacci-murmur3
go-golang-org-x-crypto))
go-github-com-gogo-protobuf))
(home-page "https://github.com/libp2p/go-libp2p-metrics")
(synopsis "Connection wrapper for go-libp2p that provides bandwidth metrics")
(description "A connection wrapper for @command{go-libp2p} that provides bandwidth
@ -5786,21 +5642,6 @@ systems.")
(modify-inputs (package-inputs go-github-com-gdamore-tcell)
(prepend go-golang-org-x-term go-golang-org-x-sys)))))
(define-public go-github-com-gdamore-tcell-v2-2.3
(package
(inherit go-github-com-gdamore-tcell-v2)
(name "go-github-com-gdamore-tcell")
(version "2.3.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/gdamore/tcell")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0ypbl5080q9sd3irad8mv7zlg4242i8pmg5xyhbyq95kymwibaid"))))))
(define-public go-git-sr-ht-rockorager-tcell-term
(package
(name "go-git-sr-ht-rockorager-tcell-term")
@ -6677,50 +6518,6 @@ improved and cleaner API.")
Proxy functionality.")
(license license:expat)))
(define-public go-github-com-mattn-go-zglob
(package
(name "go-github-com-mattn-go-zglob")
(version "0.0.3")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/mattn/go-zglob")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1923lvakm66mzy62jmngdvcmbmiqclinsvnghs3907rgygnx1qc1"))))
(build-system go-build-system)
(arguments
`(#:import-path "github.com/mattn/go-zglob"))
(home-page "https://github.com/mattn/go-zglob")
(synopsis "Glob library that descends into other directories")
(description "A glob library that implements descending into other
directories. It is optimized for filewalking.")
(license license:expat)))
(define-public go-github-com-mattn-go-sqlite3
(package
(name "go-github-com-mattn-go-sqlite3")
(version "1.14.6")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/mattn/go-sqlite3")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"04anvqkc37mmc3z1dy4xfa6cas67zlxnnab0ywii7sylk864mhxz"))))
(build-system go-build-system)
(arguments
`(#:import-path "github.com/mattn/go-sqlite3"))
(home-page "https://github.com/mattn/go-sqlite3")
(synopsis "Sqlite3 driver for Go")
(description "This package provides a Sqlite3 driver for Go using
@code{database/sql}.")
(license license:expat)))
(define-public go-github-com-bits-and-blooms-bitset
(package
(name "go-github-com-bits-and-blooms-bitset")
@ -9186,31 +8983,6 @@ parser.")
@url{https://unicode.org/reports/tr29/, Unicode Standard Annex #29}.")
(license license:expat)))
(define-public go-github-com-mattn-go-runewidth
(package
(name "go-github-com-mattn-go-runewidth")
(version "0.0.14")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/mattn/go-runewidth")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1iaqw5pd7f4f2xz37540kp0828p2820g4vxx3hz089hwl331sx1v"))))
(build-system go-build-system)
(arguments '(#:import-path "github.com/mattn/go-runewidth"))
(propagated-inputs
(list go-github-com-rivo-uniseg))
(home-page "https://github.com/mattn/go-runewidth")
(synopsis "Rune width implementation for Go")
(description
"This package provides functions to get the fixed width of a character or
string.")
(license license:expat)))
(define-public go-github-com-charmbracelet-bubbletea
(package
(name "go-github-com-charmbracelet-bubbletea")
@ -9640,51 +9412,6 @@ kubernetes-sigs/yaml is a permanent fork of
"Colorstring provides functions for colorizing strings for terminal output.")
(license license:expat)))
(define-public go-github-com-schollz-progressbar-v3
(package
(name "go-github-com-schollz-progressbar-v3")
(version "3.13.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/schollz/progressbar")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1hjahr5r52i7w6iyvl3rpzr46iignhfdh4694fl7m2b4gkaw9gd6"))))
(build-system go-build-system)
(arguments
(list #:import-path "github.com/schollz/progressbar/v3"
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'remove-examples
(lambda* (#:key import-path #:allow-other-keys)
(delete-file-recursively
(string-append "src/" import-path "/examples"))))
(replace 'check
(lambda* (#:key tests? import-path #:allow-other-keys)
(when tests?
;; The full test suite requires Internet access, so only
;; run the short tests.
(invoke "go" "test" "-test.short" import-path)))))))
(propagated-inputs
(list go-golang-org-x-term
go-github-com-stretchr-testify
go-github-com-mitchellh-colorstring
go-github-com-mattn-go-runewidth
go-github-com-mattn-go-isatty
go-github-com-davecgh-go-spew))
(home-page "https://github.com/schollz/progressbar")
(synopsis "Simple command-line interface (CLI) progress bar")
(description
"This package provides a very simple thread-safe progress bar. The
@code{progressbar} implements an @code{io.Writer} so it can automatically
detect the number of bytes written to a stream, so you can use it as a
@code{progressbar} for an @code{io.Reader}. When @code{progressbar}'s length
is undetermined, a customizable spinner is shown.")
(license license:expat)))
(define-public go-git-sr-ht-emersion-go-scfg
(package
(name "go-git-sr-ht-emersion-go-scfg")
@ -10316,37 +10043,6 @@ serialiser for Go.")
library bevacqua/fuzzysearch.")
(license license:expat)))
(define-public go-github-com-onsi-gomega
(package
(name "go-github-com-onsi-gomega")
(version "1.19.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/onsi/gomega")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"092phwk97sk4sv0nbx5pfhqs6x3x1lnrjwyda1m6b6zwrfmq5c6i"))))
(build-system go-build-system)
(arguments
(list #:import-path "github.com/onsi/gomega"
;; Unless we disable the tests, we have a circular dependency on
;; ginkgo/v2.
#:tests? #f))
(propagated-inputs (list go-github-com-golang-protobuf-proto
go-golang-org-x-net
go-golang-org-x-sys
go-golang-org-x-text
go-google-golang-org-protobuf
go-gopkg-in-yaml-v2))
(home-page "https://github.com/onsi/gomega")
(synopsis "Matcher library for Ginkgo")
(description
"Gomega is the preferred matcher library for the Ginkgo test framework.")
(license license:expat)))
;;;
;;; Avoid adding new packages to the end of this file. To reduce the chances
;;; of a merge conflict, place them above by existing packages with similar

View File

@ -195,7 +195,7 @@ distributions in empirical data. SIAM Review 51, 661-703 (2009)}).")
(list arpack-ng
bliss
glpk
lapack
;lapack
openblas
plfit
suitesparse-cxsparse))

View File

@ -74,6 +74,7 @@
#:use-module (gnu packages fonts)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages game-development)
#:use-module (gnu packages gettext)
#:use-module (gnu packages ghostscript)
#:use-module (gnu packages gl)
@ -461,7 +462,7 @@ applications.")
(define-public openvdb
(package
(name "openvdb")
(version "8.2.0")
(version "11.0.0")
(source (origin
(method git-fetch)
(uri (git-reference
@ -471,14 +472,14 @@ applications.")
(file-name (git-file-name name version))
(sha256
(base32
"0856697hnwk8xsp29kx8y2p1kliy0bdwfsznxm38v4690vna15rk"))))
"0r6q7bl8513ggrvx3n73j1s3f7n5x1rxy5xi471qyrya95gy6c60"))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags
(list (string-append "-DCMAKE_EXE_LINKER_FLAGS=-Wl,-rpath="
(assoc-ref %outputs "out") "/lib"))))
(inputs
(list boost c-blosc ilmbase tbb zlib))
(list boost c-blosc jemalloc tbb zlib))
(native-inputs
(list pkg-config))
(home-page "https://www.openvdb.org/")
@ -493,14 +494,14 @@ typically encountered in feature film production.")
(define-public blender
(package
(name "blender")
(version "3.3.5") ;3.3.x is the current LTS version
(version "3.6.10") ;3.6.x is the current LTS version
(source (origin
(method url-fetch)
(uri (string-append "https://download.blender.org/source/"
"blender-" version ".tar.xz"))
(sha256
(base32
"1pwl4lbc00g0bj97rd8l9fnrv3w1gny9ci6mrma3pp2acgs56502"))))
"1srwr365y40hhpjmfsg52rphdybvin0ay2r23pknm7b9pkpw0wqs"))))
(build-system cmake-build-system)
(arguments
(list
@ -521,6 +522,11 @@ typically encountered in feature film production.")
"-DWITH_OPENVDB=ON"
"-DWITH_OPENSUBDIV=ON"
"-DWITH_PYTHON_INSTALL=OFF"
"-DWITH_SYSTEM_BULLET=ON"
"-DWITH_SYSTEM_EIGEN3=ON"
"-DWITH_SYSTEM_FREETYPE=ON"
"-DWITH_SYSTEM_GLOG=ON"
"-DWITH_SYSTEM_LZO=ON"
(string-append "-DPYTHON_LIBRARY=python" #$python-version)
(string-append "-DPYTHON_LIBPATH="
(assoc-ref %build-inputs "python")
@ -536,32 +542,22 @@ typically encountered in feature film production.")
(string-append "-DPYTHON_NUMPY_PATH="
(assoc-ref %build-inputs "python-numpy")
"/lib/python" #$python-version
"/site-packages/")
;; OpenEXR propagates ilmbase, but its include files do not
;; appear in the C_INCLUDE_PATH, so we need to add
;; "$ilmbase/include/OpenEXR/" to the C_INCLUDE_PATH to
;; satisfy the dependency on "half.h" and "Iex.h".
(string-append "-DCMAKE_CXX_FLAGS=-I"
(search-input-directory %build-inputs
"include/OpenEXR"))))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'fix-broken-import
(lambda _
(substitute* "release/scripts/addons/io_scene_fbx/json2fbx.py"
(("import encode_bin")
"from . import encode_bin")))))))
"/site-packages/")))))
(inputs
(list boost
bullet
eigen
embree
ffmpeg-5
fftw
freetype
freetype-with-brotli
glew
glog
gmp ;needed for boolean operations on meshes
ilmbase
imath
jack-1
jemalloc
libepoxy
libjpeg-turbo
libpng
libsndfile
@ -569,9 +565,10 @@ typically encountered in feature film production.")
libx11
libxi
libxrender
lzo
openal
opencolorio
openexr-2
openexr
openimageio
openjpeg
opensubdiv
@ -707,7 +704,7 @@ baking tools to produce normal maps.")
(define-public openshadinglanguage
(package
(name "openshadinglanguage")
(version "1.11.16.0")
(version "1.13.8.0")
(source
(origin
(method git-fetch)
@ -716,52 +713,46 @@ baking tools to produce normal maps.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0x0lc163vl2b57l75bf5zxlr6vm2y1f1izlxdnrw3vsapv3r9k9g"))))
(base32 "1ji4bw8z4ylsh0jvir3d40p6xyhr63g588gh3bag7bzsr3flsb02"))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags (list "-DUSE_PARTIO=OFF") ; TODO: not packaged
#:phases
(modify-phases %standard-phases
(add-after 'set-paths 'add-ilmbase-include-path
(lambda* (#:key inputs #:allow-other-keys)
;; OpenEXR 2 propagates ilmbase, but its include files do not
;; appear in the C_INCLUDE_PATH.
(let ((headers (string-append
(assoc-ref inputs "ilmbase")
"/include/OpenEXR")))
(setenv "C_INCLUDE_PATH"
(string-append headers ":"
(or (getenv "C_INCLUDE_PATH") "")))
(setenv "CPLUS_INCLUDE_PATH"
(string-append headers ":"
(or (getenv "CPLUS_INCLUDE_PATH") ""))))))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "ctest" "--exclude-regex"
(string-join
(list
"osl-imageio" ; OIIO not compiled with freetype
"osl-imageio.opt" ; OIIO not compiled with freetype
"texture-udim" ; file does not exist
"texture-udim.opt" ; file does not exist
"example-deformer" ; could not find OSLConfig
"python-oslquery") ; no module oslquery
"|"))))))))
(list #:configure-flags
#~(list "-DUSE_PARTIO=OFF" ; TODO: not packaged
(string-append "-DLLVM_BC_GENERATOR="
#$(this-package-native-input "clang")
"/bin/clang++"))
#:phases
#~(modify-phases %standard-phases
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke
"ctest" "--exclude-regex"
(string-join
(list
"osl-imageio" ; file does not exist
"osl-imageio.opt" ; file does not exist
"osl-imageio.opt.rs_bitcode" ; file does not exist
"texture-udim" ; file does not exist
"texture-udim.opt" ; file does not exist
"texture-udim.opt.rs_bitcode" ; file does not exist
"example-deformer" ; could not find OSLConfig
"python-oslquery") ; no module oslquery
"|"))))))))
(native-inputs
(list bison
clang-9
clang
flex
llvm-9
llvm
pybind11
python-wrapper))
(inputs
(list boost
imath
openexr-2
openexr
openimageio
pugixml
qtbase-5
qtbase
zlib))
(home-page "https://github.com/AcademySoftwareFoundation/OpenShadingLanguage")
(synopsis "Shading language for production GI renderers")
@ -1311,40 +1302,38 @@ with strong support for multi-part, multi-channel use cases.")
(define-public openimageio
(package
(name "openimageio")
(version "2.2.21.0")
(version "2.5.10.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/OpenImageIO/oiio")
(commit (string-append "Release-" version))))
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0aicxbshzv1g9d8d08vsj1a9klaycxaifvvp565qjv70wyma2vkr"))))
"06x3lqj9qjh5m0zbr5g2g9ii6jk340pgzrhr4fb353y1y2pkx5sw"))))
(build-system cmake-build-system)
;; FIXME: To run all tests successfully, test image sets from multiple
;; third party sources have to be present. For details see
;; <https://github.com/OpenImageIO/oiio/blob/master/INSTALL.md>
(arguments
`(#:tests? #f
#:configure-flags (list "-DUSE_EXTERNAL_PUGIXML=1")))
(list #:tests? #f ; half the tests require online data or use redirection
#:configure-flags #~(list "-DUSE_EXTERNAL_PUGIXML=1"
"-DOIIO_BUILD_TESTS=false")))
(native-inputs
(list pkg-config))
(inputs
`(("boost" ,boost)
("fmt" ,fmt-8)
("libheif" ,libheif)
("libpng" ,libpng)
("libjpeg" ,libjpeg-turbo)
("libtiff" ,libtiff)
("giflib" ,giflib)
("openexr" ,openexr-2)
("ilmbase" ,ilmbase)
("pugixml" ,pugixml)
("python" ,python-wrapper)
("pybind11" ,pybind11)
("robin-map" ,robin-map)
("zlib" ,zlib)))
(list boost
fmt
giflib
imath
libheif
libjpeg-turbo
libpng
libtiff
openexr
pugixml
pybind11
python-wrapper
robin-map
zlib))
(synopsis "C++ library for reading and writing images")
(description
"OpenImageIO is a library for reading and writing images, and a bunch of
@ -1881,7 +1870,7 @@ requirements.")
(define-public opensubdiv
(package
(name "opensubdiv")
(version "3.4.0")
(version "3.6.0")
(source (origin
(method git-fetch)
(uri (git-reference
@ -1891,20 +1880,19 @@ requirements.")
(file-name (git-file-name name version))
(sha256
(base32
"0cippg6aqc5dlya1cmh3908pwssrg52fwgyylnvz5343yrxmgk12"))))
"0h9scxiigijzlpv4r0s0nhxlndhv1cmarb2bqgmlwcln1jjvlb4n"))))
(build-system cmake-build-system)
(arguments
`(#:phases (modify-phases %standard-phases
(add-before 'configure 'set-glew-location
(lambda* (#:key inputs #:allow-other-keys)
(setenv "GLEW_LOCATION" (assoc-ref inputs "glew"))
#t))
(add-before 'check 'start-xorg-server
(lambda* (#:key inputs #:allow-other-keys)
;; The test suite requires a running X server.
(system "Xvfb :1 &")
(setenv "DISPLAY" ":1")
#t)))))
(list #:phases
#~(modify-phases %standard-phases
(add-before 'configure 'set-glew-location
(lambda _
(setenv "GLEW_LOCATION" #$(this-package-input "glew"))))
(add-before 'check 'start-xorg-server
(lambda* (#:key inputs #:allow-other-keys)
;; The test suite requires a running X server.
(system "Xvfb :1 &")
(setenv "DISPLAY" ":1"))))))
(native-inputs
(list xorg-server-for-tests))
(inputs

View File

@ -1166,23 +1166,17 @@ application suites.")
"--no-suite=failing"
"--no-suite=flaky"
"--no-suite=headless" ; requires mutter…
"--no-suite=gsk-compare-broadway")
"--no-suite=gsk-compare-broadway"
;; These seem to fail on aarch64, and Debian has
;; also disabled these, see:
;; https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1050075
"--no-suite=wayland_failing"
"--no-suite=wayland_gles_failing")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'generate-gdk-pixbuf-loaders-cache-file
(assoc-ref glib-or-gtk:%standard-phases
'generate-gdk-pixbuf-loaders-cache-file))
#$@(if (target-aarch64?)
#~((add-after 'unpack 'skip-failing-test
(lambda _
;; MESA: error: ZINK: failed to load libvulkan.so.1
;; libEGL warning: egl: failed to create dri2 screen
;; MESA: error: ZINK: failed to load libvulkan.so.1
;; glx: failed to create drisw screen
;; failed to load driver: zink
(substitute* "testsuite/gsk/meson.build"
((".*big-checkerboard-scaled-down2',\n") "")))))
#~())
(add-after 'unpack 'patch-rst2man
(lambda _
(substitute* "docs/reference/gtk/meson.build"

View File

@ -48,6 +48,7 @@
;;; Copyright © 2022 jgart <jgart@dismail.de>
;;; Copyright © 2023 Andrew Tropin <andrew@trop.in>
;;; Copyright © 2024 Ilya Chernyshov <ichernyshovvv@gmail.com>
;;; Copyright © 2024 Artyom Bologov <mail@aartaka.me>
;;;
;;; This file is part of GNU Guix.
;;;
@ -2025,8 +2026,8 @@ for MySQL.")
(license license:gpl2+)))
(define-public guile-lmdb
(let ((commit "438143ca9ba157faec6f4c2740092c31c733fbfe")
(revision "0"))
(let ((commit "ea9aa1d4b13e03f9fd23ec73d8884f4fae79666b")
(revision "1"))
(package
(name "guile-lmdb")
(version (git-version "0.0.1" revision commit))
@ -2038,7 +2039,7 @@ for MySQL.")
(file-name (git-file-name name version))
(sha256
(base32
"0p43c8ppbhzpi944in0z2jqr7acl8pm7s1x0p5f0idqda6n6f828"))))
"1li92ldyjvbqkhqnkndgw0jk1avkzq9jkbmk8dqiby4na72sxi8k"))))
(build-system guile-build-system)
(arguments
(list
@ -2059,7 +2060,8 @@ for MySQL.")
Most names are the same as LMDB ones, except for prefix absence.
Several conveniences are added on top:
@itemize
@item @code{call-with-env-and-txn} and @code{call-with-cursor} wrappers.
@item @code{call-with-env-and-txn}, @code{call-with-cursor}, and
@code{call-with-wrapped-cursor} helpers and respective @code{with-} macros.
@item @code{for-cursor} procedure for cursor iteration.
@item @code{val} and @code{stat} types.
@item Error signaling instead of integer return values.
@ -2725,14 +2727,14 @@ library.")
(define-public guile-lib
(package
(name "guile-lib")
(version "0.2.7")
(version "0.2.8")
(source (origin
(method url-fetch)
(uri (string-append "mirror://savannah/guile-lib/guile-lib-"
version ".tar.gz"))
(sha256
(base32
"1ph4z4a64m75in36pdb4dw63dzdq3hdgh16gq33q460jby23pvz4"))))
"1nb7swbliw9vx1ivhgd2m0r0p7nlkszw6s41zcgfwb5v1kp05sb4"))))
(build-system gnu-build-system)
(arguments
'(#:make-flags '("GUILE_AUTO_COMPILE=0") ;placate guild warnings
@ -3487,7 +3489,7 @@ from @code{tree-il}.")
(define-public guile-hoot
(package
(name "guile-hoot")
(version "0.3.0")
(version "0.4.0")
(source (origin
(method url-fetch)
(uri (string-append "https://spritely.institute/files/releases"
@ -3495,7 +3497,7 @@ from @code{tree-il}.")
version ".tar.gz"))
(sha256
(base32
"1zgcp7xnx84gwdpxj0wga7xrcxcifp9fyp06b6d54gbxq4as8an1"))))
"0mlj9b9dzhd8k8jg9fgwxyxdy8rsynfq81vm00rjgbh2ivpgr3x2"))))
(build-system gnu-build-system)
(arguments
'(#:make-flags '("GUILE_AUTO_COMPILE=0"
@ -4255,7 +4257,7 @@ debugging code.")
(define-public guile-png
(package
(name "guile-png")
(version "0.7.2")
(version "0.7.3")
(source (origin
(method git-fetch)
(uri (git-reference
@ -4264,7 +4266,7 @@ debugging code.")
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"1ad03r84j17rwfxbxqb0qmf70ggqs01kjyman3x1581lm5dk1757"))))
"0hgdp8fgyg6rdy130fsn4nnb58c98lsrayjyy5491l53814ggy65"))))
(build-system gnu-build-system)
(arguments
(list
@ -4518,6 +4520,45 @@ default dynamic library path. There are up to three bindings for each
function: raw, typed, and functional.")
(license license:lgpl3+))))
(define-public guile-gsl
(let ((commit "e6d1477b0d0456f500c32610a5cae6ebb1b8acfe")
(revision "0"))
(package
(name "guile-gsl")
(version (git-version "0.0.1" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/aartaka/guile-gsl")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "1b4brimmg3phahia9dm0wkcp1f29wnbvmi0q8di5sz7pf7qjzsy0"))))
(build-system guile-build-system)
(arguments
(list
#:source-directory "modules"
#:phases
#~(modify-phases %standard-phases
(add-before 'build 'substitute-gsl-so
(lambda _
(let ((gsl (string-append #$(this-package-input "gsl")
"/lib/libgsl.so"))
(gslcblas (string-append #$(this-package-input "gsl")
"/lib/libgslcblas.so")))
(substitute* '("modules/gsl/core.scm")
(("libgsl.so") gsl)
(("libgslcblas.so") gslcblas))))))))
(native-inputs (list guile-3.0))
(inputs (list guile-3.0 gsl))
(home-page "https://github.com/aartaka/guile-gsl")
(synopsis "Bindings for GNU Scientific library in Guile")
(description
"This package provides a Guile Scheme wrapper for @code{libgsl.so}.
Implements vector, matrix,and BLAS operations.")
(license license:gpl3+))))
(define-public guile-ffi-fftw
(let ((commit "294ad9e7491dcb40026d2fec9be2af05263be1c0")
(revision "2"))

View File

@ -457,7 +457,7 @@ without requiring the source code to be rewritten.")
(define-public guile-next
(let ((version "3.0.9")
(revision "0")
(commit "fb1f5e28b1a575247fd16184b1c83b8838b09716"))
(commit "db7efa5d204b2e46ce9eb82f417d8c12d394858d"))
(package
(inherit guile-3.0)
(name "guile-next")
@ -471,7 +471,7 @@ without requiring the source code to be rewritten.")
(file-name (git-file-name name version))
(sha256
(base32
"1lcc6sz0f3x253pr4a0fggsfkaxmxxw63cspfm2mjis6h82g6jxm"))))
"1mg7pd0ya7i9swgnb38ay99cjwiw61ni0ypyywjrpv6iyvmx8m8q"))))
(arguments
(substitute-keyword-arguments (package-arguments guile-3.0)
((#:phases phases '%standard-phases)

View File

@ -5325,18 +5325,15 @@ Accounting.")
(build-system haskell-build-system)
(properties '((upstream-name . "hmatrix")))
(arguments
`(#:extra-directories ("lapack")))
`(#:configure-flags '("--flags=openblas")
#:extra-directories ("openblas")))
(inputs
(list ghc-random
ghc-split
ghc-storable-complex
ghc-semigroups
ghc-vector
;;("openblas" ,openblas)
lapack))
;; Guix's OpenBLAS is built with the flag "NO_LAPACK=1" which
;; disables inclusion of the LAPACK functions.
;; (arguments `(#:configure-flags '("--flags=openblas")))
openblas))
(home-page "https://github.com/albertoruiz/hmatrix")
(synopsis "Haskell numeric linear algebra library")
(description "The HMatrix package provices a Haskell library for

View File

@ -260,57 +260,36 @@ of external libraries that provide additional functionality.")
(define-public opencolorio
(package
(name "opencolorio")
(version "1.1.1")
(version "2.3.2")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/AcademySoftwareFoundation/OpenColorIO")
(commit (string-append "v" version))))
(patches (search-patches "opencolorio-fix-build-with-gcc11.patch"))
(sha256
(base32 "12srvxca51czpfjl0gabpidj9n84mw78ivxy5w75qhq2mmc798sb"))
(file-name (git-file-name name version))
(modules '((guix build utils)))
(snippet
`(begin
;; Remove bundled tarballs, patches, and .jars(!). XXX: Upstream
;; claims to have fixed USE_EXTERNAL_YAML, but it still fails with:
;; https://github.com/AcademySoftwareFoundation/OpenColorIO/issues/517
;; When removing it, also remove it from the licence field comment.
(for-each delete-file-recursively
(filter
(lambda (full-name)
(let ((file (basename full-name)))
(not (or (string-prefix? "yaml-cpp-0.3" file)
(string=? "unittest.h" file)))))
(find-files "ext" ".*")))
#t))))
(base32 "1h33s2pfy28nj836kx6xx3iks7v38g3kx7c4f6zn1dpskl0zf809"))
(file-name (git-file-name name version))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags
(list (string-append "-DCMAKE_CXX_FLAGS="
"-Wno-error=deprecated-declarations "
"-Wno-error=unused-function")
"-DOCIO_BUILD_STATIC=OFF"
;; "-DUSE_EXTERNAL_YAML=ON"
"-DUSE_EXTERNAL_TINYXML=ON"
"-DUSE_EXTERNAL_LCMS=ON")
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-test-suite
(lambda _
(substitute* "src/core_tests/CMakeLists.txt"
(("/bin/sh") (which "bash")))
#t)))))
;; XXX: GPU tests are failing.
(list #:configure-flags #~(list "-DOCIO_BUILD_GPU_TESTS=false")))
(native-inputs
(list git pkg-config))
;; XXX: OCIO has unit tests for OpenShadingLanguage, but they fail.
;; They also require OIIO, but OCIO is an optional dependency to it.
(list pybind11-2.10 python-wrapper))
(inputs
;; XXX Adding freeglut, glew, ilmbase, mesa, and openimageio for
;; ocioconvert fails: error: conflicting declaration ?typedef void
;; (* PFNGLGETFRAGMENTMATERIALFVSGIXPROC)(GLenum, GLenum, GLfloat*)
(list lcms openexr-2 tinyxml))
(list expat
freeglut
glew
imath
lcms
libglvnd
minizip-ng
openexr
pystring
yaml-cpp
zlib))
(home-page "https://opencolorio.org")
(synopsis "Color management for visual effects and animation")
(description
@ -323,9 +302,7 @@ back-end configuration options suitable for high-end production usage.
OCIO is compatible with the @acronym{ACES, Academy Color Encoding
Specification} and is @acronym{LUT, look-up table}-format agnostic, supporting
many popular formats.")
(license (list license:expat ; docs/ociotheme/static, ext/yaml-cpp-*
license:zlib ; src/core/md5
license:bsd-3)))) ; the rest
(license license:bsd-3)))
(define-public vtk
(package

View File

@ -28,7 +28,7 @@
;;; Copyright © 2020, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2020 Zhu Zihao <all_but_last@163.com>
;;; Copyright © 2020, 2021, 2022, 2023 Vinicius Monego <monego@posteo.net>
;;; Copyright © 2020, 2021, 2022, 2023, 2024 Vinicius Monego <monego@posteo.net>
;;; Copyright © 2021 Sharlatan Hellseher <sharlatanus@gmail.com>
;;; Copyright © 2021 Nicolò Balzarotti <nicolo@nixo.xyz>
;;; Copyright © 2021 Alexandr Vityazev <avityazev@posteo.org>
@ -2547,7 +2547,7 @@ by AOM, including with alpha.")
(define-public libheif
(package
(name "libheif")
(version "1.12.0")
(version "1.17.6")
(source
(origin
(method git-fetch)
@ -2556,16 +2556,14 @@ by AOM, including with alpha.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0cp2d216hp7gw3n56x3g5q5n8jb9ganyanrlibxw8fw16il8nca6"))))
(base32 "00rc8ffc2s9dz9szhy0f0raas8wnn5cyni1imd5lqz79by6qz7x6"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f)) ;no test target although there is a tests folder
(native-inputs
(list autoconf automake libtool pkg-config))
(inputs
`(("gdk-pixbuf" ,gdk-pixbuf) ;optional
("libjpeg" ,libjpeg-turbo)
("libpng" ,libpng)))
(list gdk-pixbuf ; optional
libjpeg-turbo
libpng))
;; Propagated to satisfy 'libheif.pc'.
(propagated-inputs
(list dav1d libaom libde265 x265))
@ -2606,7 +2604,16 @@ Format) file format decoder and encoder.")
"-DJPEGXL_FORCE_SYSTEM_BROTLI=true"
"-DJPEGXL_FORCE_SYSTEM_LCMS2=true"
"-DJPEGXL_FORCE_SYSTEM_HWY=true"
"-DJPEGXL_BUNDLE_LIBPNG=false")))
"-DJPEGXL_BUNDLE_LIBPNG=false")
,@(if (target-riscv64?)
'(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-atomic
(lambda _
(substitute* "lib/jxl/enc_xyb.cc"
(("#include \"lib/jxl/enc_xyb.h\"" a)
(string-append a "\n#include <atomic>")))))))
'())))
(native-inputs
(list asciidoc doxygen googletest pkg-config python))
(inputs

View File

@ -69,6 +69,7 @@
#:use-module (gnu packages golang)
#:use-module (gnu packages golang-build)
#:use-module (gnu packages golang-check)
#:use-module (gnu packages golang-xyz)
#:use-module (gnu packages gtk)
#:use-module (gnu packages guile)
#:use-module (gnu packages guile-xyz)

View File

@ -78,8 +78,8 @@
;;; When updating Jami, make sure that the patches used for ffmpeg-jami are up
;;; to date with those listed in
;;; <https://review.jami.net/plugins/gitiles/jami-daemon/+/refs/heads/master/contrib/src/ffmpeg/rules.mak>.
(define %jami-nightly-version "20240124.3")
(define %jami-daemon-commit "205904ed4dd736b8a0ea6c913ecb91d637b79867")
(define %jami-nightly-version "20240325.0")
(define %jami-daemon-commit "32f39e65483cb22729eb922d72434013b337f2c9")
(define-public libjami
(package
@ -93,7 +93,7 @@
(file-name (git-file-name name version))
(sha256
(base32
"0knq84c5f11bgan0076mhi0kpc7l6wwxj41jpssdy0y1lfzgqd8a"))
"0kha2v46l5hmycklhyxrs2qybm640nbrk98z1xvicjxyq6bfszh4"))
(patches (search-patches
"libjami-ac-config-files.patch"
"jami-disable-integration-tests.patch"))))
@ -106,25 +106,13 @@
;; user scripts too, until more general purpose Scheme bindings are made
;; available (see: test/agent/README.md).
#:configure-flags #~(list "--enable-agent" "--enable-debug")
#:make-flags
#~(list
"V=1" ;build verbosely
;; The 'ut_media_player' is known to fail (see:
;; https://git.jami.net/savoirfairelinux/jami-daemon/-/issues/935).
"XFAIL_TESTS=ut_media_player")
#:make-flags #~(list"V=1") ;build verbosely
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'change-directory/maybe
(lambda _
;; Allow building from the tarball or a git checkout.
(false-if-exception (chdir "daemon"))))
(add-after 'change-directory/maybe 'extend-scheduler-test-timeout
(lambda _
;; The ut_scheduler unit test may fail on slower machines (see:
;; https://git.jami.net/savoirfairelinux/jami-daemon/-/issues/939).
(substitute* "test/unitTest/scheduler.cpp"
(("std::chrono::seconds\\(3)")
"std::chrono::seconds(30)"))))
(add-after 'install 'delete-static-libraries
;; Remove 100+ MiB of static libraries. "--disable-static" cannot
;; be used as the test suite requires access to private symbols
@ -239,11 +227,12 @@ QSortFilterProxyModel conveniently exposed for QML.")
(file-name (git-file-name name version))
(sha256
(base32
"06q4cdizpix12yzjrnhdwqwybskhc58cissffdnf1zw5pbv0mqag"))
"08lv8azjd47n56i25d9ax248xmidixpsnwh5kc4qjxib7985bdhs"))
(patches (search-patches
"jami-libjami-headers-search.patch"
"jami-qml-tests-discovery.patch"
"jami-qwindowkit.patch"
"jami-skip-tests-requiring-internet.patch"
"jami-tests-qtwebengine-ifdef-to-if.patch"
"jami-unbundle-dependencies.patch"))))
(build-system qt-build-system)
(outputs '("out" "debug"))
@ -252,13 +241,15 @@ QSortFilterProxyModel conveniently exposed for QML.")
#:qtbase qtbase
#:configure-flags
#~(list "-DWITH_DAEMON_SUBMODULE=OFF"
"-DENABLE_TESTS=ON"
"-DBUILD_TESTING=ON"
;; Disable the webengine since it grows the closure size by
;; about 450 MiB and requires more resources.
"-DWITH_WEBENGINE=OFF"
;; Use libwrap to link directly to libjami instead of
;; communicating via D-Bus to jamid, the Jami daemon.
"-DENABLE_LIBWRAP=ON")
"-DENABLE_LIBWRAP=ON"
;; Ensure FetchContent contribs are looked from the system.
"-DFETCHCONTENT_TRY_FIND_PACKAGE_MODE=ALWAYS")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'fix-version-string
@ -292,8 +283,9 @@ QSortFilterProxyModel conveniently exposed for QML.")
(display "Running unit tests...\n")
(invoke "tests/unit_tests")
;; XXX: The QML test suite fails, exiting with status code 1 (see:
;; https://git.jami.net/savoirfairelinux/jami-client-qt/-/issues/883).
;; The qml_tests suite is not run, as it currently exits with
;; an unclear status of 1 (see:
;; https://git.jami.net/savoirfairelinux/jami-client-qt/-/issues/1605).
;; (display "Running functional tests...\n")
;; (invoke "tests/qml_tests")
))))))
@ -301,7 +293,9 @@ QSortFilterProxyModel conveniently exposed for QML.")
(list googletest
pkg-config
python
qthttpserver
qttools
qtwebsockets
vulkan-headers))
(inputs
(list ffmpeg-jami
@ -319,6 +313,7 @@ QSortFilterProxyModel conveniently exposed for QML.")
qtnetworkauth
qtpositioning
qtsvg
qwindowkit
tidy-html ;used by src/app/htmlparser.h
vulkan-loader))
(home-page "https://jami.net")

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2019, 2024 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2023 Frank Pursel <frank.pursel@gmail.com>
;;;
;;; This file is part of GNU Guix.
@ -21,6 +21,7 @@
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix gexp)
#:use-module (guix git-download)
#:use-module (guix modules)
#:use-module (guix utils)
@ -149,6 +150,114 @@ ascii art drawings that contain characters that resemble lines like @samp{|}
@samp{/} @samp{-}), into proper bitmap graphics.")
(license license:lgpl3)))
(define-public java-flatlaf
(package
(name "java-flatlaf")
(version "3.4.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/JFormDesigner/FlatLaf")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1qr7g8s5m89q5k31mnxk18lflz3l2hid4i055mim3b0m4vjs40pi"))
(modules '((guix build utils)))
(snippet
'(for-each
delete-file
(find-files "flatlaf-core/src/main/resources/com/formdev/flatlaf/natives/"
".*")))))
(build-system ant-build-system)
(arguments
(list
#:tests? #false ;XXX requires junit5
#:jar-name "flatlaf.jar"
#:source-dir '(list "flatlaf-core/src/main/java")
#:test-dir '(list "flatlaf-core/src/test")
#:phases
#~(modify-phases %standard-phases
(add-before 'configure 'build-native-code
(lambda* (#:key inputs #:allow-other-keys)
(let* ((jdk (assoc-ref inputs "jdk"))
(suffix #$(match (%current-system)
("i686-linux" "i686")
("armhf-linux" "armhf")
("aarch64-linux" "aarch64")
("x86_64-linux" "x86_64")
(_ "generic")))
(lib #$(match (%current-system)
("i686-linux"
"/lib/i386")
("x86_64-linux"
"/lib/amd64")
("armhf-linux"
"/lib/arm")
("aarch64-linux"
"/lib/aarch64")
("powerpc-linux"
"/lib/ppc")
;; We need a catch-all, dropping
;; '-linux' works in most cases.
(_
(string-append
"/lib/"
(string-drop-right
(%current-system) 6)))))
(filename
(string-append "libflatlaf-linux-" suffix ".so"))
(target-dir
(string-append (getcwd)
"/flatlaf-core/src/main/resources/com/formdev/flatlaf/natives")))
(with-directory-excursion "flatlaf-natives/flatlaf-natives-linux/"
(invoke "gcc" "-shared" "-O3" "-fPIC"
"src/main/cpp/ApiVersion.cpp"
"src/main/cpp/X11WmUtils.cpp"
"-Isrc/main/headers"
"-ljawt"
(string-append "-L" jdk lib)
(string-append "-I" jdk "/include")
(string-append "-I" jdk "/include/linux")
"-o" filename)
(install-file filename target-dir)))))
(add-before 'build 'copy-resources
(lambda _
(copy-recursively "flatlaf-core/src/main/resources"
"build/classes"))))))
(inputs (list libx11 libxt))
(home-page "https://www.formdev.com/flatlaf/")
(synopsis "Flat Look and Feel for Java Swing applications")
(description "FlatLaf is a cross-platform Look and Feel for Java Swing
desktop applications. It looks almost flat (no shadows or gradients), clean,
simple and elegant. FlatLaf comes with Light, Dark, IntelliJ and Darcula
themes, scales on HiDPI displays and runs on Java 8 or newer.
The look is heavily inspired by Darcula and IntelliJ themes from IntelliJ IDEA
2019.2+ and uses almost the same colors and icons.")
(license license:asl2.0)))
(define-public java-flatlaf-intellij-themes
(package
(inherit java-flatlaf)
(name "java-flatlaf-intellij-themes")
(arguments
(list
#:tests? #false ;there are none
#:jar-name "flatlaf-intellij-themes.jar"
#:source-dir '(list "flatlaf-intellij-themes/src/main/java")
#:phases
#~(modify-phases %standard-phases
(add-before 'build 'copy-resources
(lambda _
(copy-recursively "flatlaf-intellij-themes/src/main/resources"
"build/classes"))))))
(inputs (list java-flatlaf))
(synopsis "FlatLaf addon with popular themes")
(description "This addon for FlatLaf bundles many popular third party
themes from JetBrains Plugins Repository into a JAR and provides Java classes
to use them.")))
(define-public java-piccolo2d-core
(package
(name "java-piccolo2d-core")
@ -212,7 +321,7 @@ features not found in the core libraries.")))
(define-public java-marlin-renderer
(package
(name "java-marlin-renderer")
(version "0.9.4.2")
(version "0.9.4.8")
(source (origin
(method git-fetch)
(uri (git-reference
@ -224,11 +333,17 @@ features not found in the core libraries.")))
(file-name (git-file-name name version))
(sha256
(base32
"12vb8fmxf1smnyv6w8i1khahy76v6r29j1qwabbykxff8i9ndxqv"))))
"0gcqp9iq0j5n08gdssh8gp0daj3n5zrx0dll1l4ljhbj2b9jm9ym"))))
(build-system ant-build-system)
(arguments
`(#:jar-name "marlin.jar"
#:test-include (list "src/test/java/RunJUnitTest.java")))
(list
#:jar-name "marlin.jar"
#:test-include '(list "src/test/java/RunJUnitTest.java")
#:phases
'(modify-phases %standard-phases
(add-before 'build 'copy-resources
(lambda _
(copy-recursively "src/main/resources" "build/classes"))))))
(inputs
(list java-hamcrest-core java-junit))
(home-page "https://github.com/bourgesl/marlin-renderer/")

View File

@ -2,7 +2,7 @@
;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2017, 2019, 2020, 2022, 2023 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2017, 2018, 2020, 2021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017-2020, 2022, 2023 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017-2020, 2022-2024 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2021 Pierre Neidhardt <mail@ambrevar.xyz>
;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
@ -826,20 +826,29 @@ roots, or wrestle with obscure build systems.")
(define-public quickjs
(package
(name "quickjs")
(version "2021-03-27")
(version "2024-01-13")
(source (origin
(method url-fetch)
(uri (string-append "https://bellard.org/quickjs/quickjs-"
version ".tar.xz"))
(sha256
(base32
"06pywwpmfwjz225h59wf90q96a2fd66qfcw5xa6m6y9k9k7glnx4"))))
"00rf45l1bx0yhlv11gn3bbyfqw9724c153bc93mlp9dzjpwghjrw"))
(snippet
#~(begin (use-modules (guix build utils))
(for-each delete-file
'("doc/quickjs.pdf"
"doc/quickjs.html"
"doc/jsbignum.pdf"
"doc/jsbignum.html"))))))
(build-system gnu-build-system)
(arguments
(list #:make-flags
#~(list "prefix="
(string-append "DESTDIR=" #$output)
#$@(if (target-riscv64?) '("LDFLAGS=-latomic") '()))
#~(list (string-append "PREFIX=" #$output)
#$@(if (or (target-riscv64?)
(target-ppc32?))
'("LDFLAGS=-latomic")
'()))
#:phases #~(modify-phases %standard-phases
(delete 'configure)
(replace 'check
@ -848,11 +857,12 @@ roots, or wrestle with obscure build systems.")
(invoke "make" "microbench")))))))
(home-page "https://bellard.org/quickjs/")
(synopsis "Small embeddable Javascript engine")
(description "QuickJS supports the ES2020 specification including modules,
asynchronous generators, proxies, BigInt and BigDecimal. It can compile
Javascript sources to executables with no external dependency. It includes a
command line interpreter with contextual colorization implemented in
Javascript and a small built-in standard library with C library wrappers.")
(description "QuickJS supports the ES2023 specification including modules,
asynchronous generators, proxies, BigInt, BigDecimal, BigFloat and operator
overloading. It can compile Javascript sources to executables with no external
dependency. It includes a command line interpreter with contextual colorization
implemented in Javascript and a small built-in standard library with C library
wrappers.")
(license license:expat)))
(define-public duktape

View File

@ -103,7 +103,7 @@
(define-public extra-cmake-modules
(package
(name "extra-cmake-modules")
(version "5.114.0")
(version "6.0.0")
(source (origin
(method url-fetch)
(uri (string-append
@ -112,7 +112,7 @@
name "-" version ".tar.xz"))
(sha256
(base32
"0z4nqravsfzlsgvkg5rha2d0qxfr3pfncw7z2fxzzqvzj7mfk6im"))))
"030dyw4krnq8hcp0dsqb15zxb7x7r8c33lbdgmmia5xpkpqjp693"))))
(build-system cmake-build-system)
(native-inputs
;; Add test dependency, except on armhf where building it is too
@ -569,7 +569,7 @@ Internet).")
(define-public kcolorpicker
(package
(name "kcolorpicker")
(version "0.3.0")
(version "0.3.1")
(source
(origin
(method git-fetch)
@ -579,7 +579,7 @@ Internet).")
(file-name (git-file-name name version))
(sha256
(base32
"1zg078mkdapsd6vq7qy2vxbfzn6i382ss1a1w0xzvpy148ifaj42"))))
"1px40rasvz0r5db9av125q9mlyjz4xdnckg2767i3fndj3ic0vql"))))
(build-system qt-build-system)
(propagated-inputs (list qtbase-5))
(arguments
@ -1160,9 +1160,17 @@ protocols used in KDE Plasma.")
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "ctest" "-E"
;; XXX: maybe is upstream bug
"(kwayland-testWaylandRegistry|\
kwayland-testPlasmaShell|kwayland-testPlasmaWindowModel)")))))))
(string-append
"("
(string-join
;; XXX: maybe is upstream bug
'("kwayland-testWaylandRegistry"
"kwayland-testPlasmaShell"
"kwayland-testPlasmaWindowModel"
;; The 'kwayland-testXdgForeign' may fail on
;; powerpc64le with a 'Subprocess aborted' error.
"kwayland-testXdgForeign") "|")
")"))))))))
(home-page "https://community.kde.org/Frameworks")
(synopsis "Qt-style API to interact with the wayland client and server")
(description "As the names suggest they implement a Client respectively a
@ -1853,7 +1861,7 @@ by applications to write metadata.")
(define-public kimageannotator
(package
(name "kimageannotator")
(version "0.7.0")
(version "0.7.1")
(source
(origin
(method git-fetch)
@ -1863,10 +1871,11 @@ by applications to write metadata.")
(file-name (git-file-name name version))
(sha256
(base32
"1ac0cxbq88zzvkgs5d39xpzk0h7xhl57yswgd760x77py0rl5bqf"))))
"1f1y4r5rb971v2g34fgjbr14g0mdms5h66yl5k0p1zf50kr2wnic"))))
(build-system qt-build-system)
(arguments
(list #:configure-flags #~'("-DBUILD_TESTS=ON")
(list #:configure-flags #~'("-DBUILD_SHARED_LIBS=ON"
"-DBUILD_TESTS=ON")
#:phases
#~(modify-phases %standard-phases
(replace 'check
@ -1880,8 +1889,6 @@ by applications to write metadata.")
(list qttools-5 xorg-server-for-tests))
(inputs
(list googletest qtsvg-5 kcolorpicker))
(propagated-inputs
(list qtbase-5))
(home-page "https://github.com/ksnip/kImageAnnotator")
(synopsis "Image annotating library")
(description "This library provides tools to annotate images.")
@ -1991,7 +1998,7 @@ asynchronous jobs.")
phonon
qtdeclarative-5
qtbase-5
qtspeech
qtspeech-5
qtx11extras))
(arguments
(list #:phases #~(modify-phases %standard-phases
@ -2033,9 +2040,6 @@ covers feedback and persistent events.")
qtbase-5))
(arguments
(list
;; The `plasma-querytest' test is known to fail when tests are run in parallel:
;; <https://sources.debian.org/src/kpackage/5.107.0-1/debian/changelog/#L92>
#:parallel-tests? #f
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'patch
@ -2062,6 +2066,13 @@ covers feedback and persistent events.")
"filePath(\"etc\", QStringLiteral(\"passwd\"))")
(("\"/bin/ls\"")
"\"/etc/passwd\""))))
(add-after 'unpack 'disable-problematic-tests
(lambda _
;; The 'plasma-query' test fails non-deterministically, as
;; reported e.g. in <https://bugs.gentoo.org/919151>.
(substitute* "autotests/CMakeLists.txt"
((".*querytest.*")
""))))
(add-before 'check 'check-setup
(lambda _
(setenv "HOME" (getcwd)))))))
@ -3255,7 +3266,7 @@ library.")
kwidgetsaddons
kwindowsystem
qtbase-5
qtspeech))
qtspeech-5))
(home-page "https://community.kde.org/Frameworks")
(synopsis "Text editing widgets")
(description "KTextWidgets provides widgets for displaying and editing text.

View File

@ -849,7 +849,7 @@ functions for accessing calendar data using the kcalcore API.")
qtdeclarative-5
qtkeychain
qtnetworkauth-5
qtspeech
qtspeech-5
qtwebchannel-5
qtwebengine-5
qtxmlpatterns))
@ -1994,7 +1994,7 @@ unnecessary network operations.")
kwidgetsaddons
kxmlgui
qtbase-5
qtspeech
qtspeech-5
sonnet))
(arguments
`(#:tests? #f)) ;; TODO - test suite hangs

View File

@ -793,7 +793,7 @@ PipeWire in Qt projects.")
libkscreen
libxi
plasma-wayland-protocols
qtsensors
qtsensors-5
qtbase-5
qtx11extras
xcb-util))

View File

@ -152,7 +152,7 @@ well as CD-ROM images.")
qtcharts
qtdeclarative-5
qtmultimedia-5
qtserialport))
qtserialport-5))
(home-page "https://atelier.kde.org")
(synopsis "Desktop interface to control 3D printers powered by AtCore")
(description "Atelier provides interface to control and manage your printer.
@ -729,7 +729,7 @@ combinations are distinct enough to be readable and accessible.")
"1830r6ylpn3l7y2frl8cih5cpjgbkfrib9jq7jklf8aszhlsihf2"))))
(build-system qt-build-system)
(native-inputs (list extra-cmake-modules))
(inputs (list qtcharts qtdeclarative-5 qtserialport))
(inputs (list qtcharts qtdeclarative-5 qtserialport-5))
(home-page "https://invent.kde.org/libraries/atcore")
(synopsis "Library for connection and management of 3D printers")
(description
@ -875,7 +875,7 @@ whom pressing buttons hurts.")
kxmlgui
breeze-icons ;; default icon set
qtbase-5
qtspeech))
qtspeech-5))
(home-page "https://apps.kde.org/kmouth/")
(synopsis "Type-and-say frontend for speech synthesizers")
(description "KMouth is a program which enables persons that cannot speak

View File

@ -233,14 +233,15 @@ browser for easy news reading.")
(define-public gwenview
(package
(name "gwenview")
(version "23.04.3")
(version "23.08.5")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://kde/stable/release-service/" version
"/src/gwenview-" version ".tar.xz"))
(sha256
(base32 "0vijsq4174p4asdjq47bzdp2xkfn8hpg7b4dgp3yvapfxwjgp148"))))
(base32 "0f4h2vf8nkz1jcrxw98n52divvdmxh434659m1pd4l5pag0d3z54"))
(patches (search-patches "gwenview-kimageannotator.patch"))))
(build-system qt-build-system)
(arguments
(list #:phases
@ -249,9 +250,18 @@ browser for easy news reading.")
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "ctest" "-E"
"(placetreemodeltest|historymodeltest|contextmanagertest|urlutilstest)")))))))
(string-append
"("
(string-join '("placetreemodeltest"
"historymodeltest"
"contextmanagertest"
"urlutilstest")
"|")
")"))))))))
(native-inputs
(list extra-cmake-modules kdoctools pkg-config))
(list extra-cmake-modules
kdoctools
pkg-config))
(inputs
(list baloo
cfitsio
@ -272,7 +282,7 @@ browser for easy news reading.")
libtiff
phonon
purpose
qtimageformats
qtimageformats-5
qtsvg-5
qtwayland-5
qtx11extras
@ -1603,7 +1613,7 @@ creating routes by drag and drop and more.")
kio
kparts
kpty
qtspeech
qtspeech-5
kwallet
kwindowsystem
libkexiv2

View File

@ -2,7 +2,7 @@
;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2015 Andy Wingo <wingo@igalia.com>
;;; Copyright © 2015, 2016, 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2024 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Theodoros Foradis <theodoros@foradis.org>
;;; Copyright © 2017 Jonathan Brielmaier <jonathan.brielmaier@web.de>
@ -137,11 +137,11 @@ version of libusb to run with newer libusb.")
(define-public libusb4java
;; There is no public release so we take the latest version from git.
(let ((commit "396d642a57678a0d9663b062c980fe100cc0ea1e")
(let ((commit "0842e8104d8772da873314e233aa625f5651fd34")
(revision "1"))
(package
(name "libusb4java")
(version (string-append "0-" revision "." (string-take commit 9)))
(version (git-version "1.3.1" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
@ -150,23 +150,16 @@ version of libusb to run with newer libusb.")
(file-name (git-file-name name version))
(sha256
(base32
"0wqgapalhfh9v38ycbl6i2f5lh1wpr6fzwn5dwd0rdacypkd1gml"))))
"16hz0h8fvrr764gwj90yny1kxpf0y7p2czr7pdrw3qby21fqkzrq"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f ; there are no tests
#:phases
(modify-phases %standard-phases
;; FIXME: libusb 1.0.22 deprecated libusb_set_debug, so the build
;; fails because libusb4java uses a deprecated procedure.
(add-after 'unpack 'disable-Werror
(lambda _
(substitute* "CMakeLists.txt"
(("-Werror") ""))
#t))
(add-before 'configure 'set-JAVA_HOME
(lambda* (#:key inputs #:allow-other-keys)
(setenv "JAVA_HOME" (assoc-ref inputs "jdk"))
#t)))))
(list
#:tests? #f ;there are no tests
#:phases
#~(modify-phases %standard-phases
(add-before 'configure 'set-JAVA_HOME
(lambda _
(setenv "JAVA_HOME" #$(this-package-native-input "jdk")))))))
(inputs
(list libusb))
(native-inputs
@ -213,7 +206,7 @@ Go-like binding.")
(define-public java-usb4java
(package
(name "java-usb4java")
(version "1.2.0")
(version "1.3.0")
(source (origin
(method git-fetch)
(uri (git-reference
@ -222,43 +215,38 @@ Go-like binding.")
(file-name (git-file-name name version))
(sha256
(base32
"0aip6k24czz5g58qwb963mpick0b6ks774drfpdd8gcdvj9iv87j"))))
"0fwf8d2swgm8pmvssy53ixnc0pb5bfvc8iy42mf3dwgvr1zzvgmv"))))
(build-system ant-build-system)
(arguments
`(#:jar-name "usb4java.jar"
#:phases
(modify-phases %standard-phases
;; Usually, native libusb4java libraries for all supported systems
;; would be included in the jar and extracted at runtime. Since we
;; build everything from source we cannot just bundle pre-built
;; binaries for other systems. Instead, we patch the loader to
;; directly return the appropriate library for this system. The
;; downside is that the jar will only work on the same architecture
;; that it was built on.
(add-after 'unpack 'copy-libusb4java
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "src/main/java/org/usb4java/Loader.java"
(("private static String extractLibrary" line)
(string-append
line "(final String a, final String b) {"
"return \""
(assoc-ref inputs "libusb4java") "/lib/libusb4java.so"
"\"; }\n"
"private static String _extractLibrary")))
#t))
(add-after 'unpack 'disable-broken-tests
(lambda _
(with-directory-excursion "src/test/java/org/usb4java"
;; These tests should only be run when USB devices are present.
(substitute* '("LibUsbGlobalTest.java"
"TransferTest.java")
(("this.context = new Context\\(\\);")
"this.context = null;")
(("LibUsb.init") "//"))
(substitute* "DeviceListIteratorTest.java"
(("this.iterator.remove" line)
(string-append "assumeUsbTestsEnabled();" line))))
#t)))))
(list
#:jar-name "usb4java.jar"
#:phases
#~(modify-phases %standard-phases
;; Usually, native libusb4java libraries for all supported systems
;; would be included in the jar and extracted at runtime. Since we
;; build everything from source we cannot just bundle pre-built
;; binaries for other systems. Instead, we patch the loader to
;; directly return the appropriate library for this system. The
;; downside is that the jar will only work on the same architecture
;; that it was built on.
(add-after 'unpack 'copy-libusb4java
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "src/main/java/org/usb4java/Loader.java"
(("private static String extractLibrary" line)
(string-append
line "(final String a, final String b) {"
"return \""
(search-input-file inputs "/lib/libusb4java.so")
"\"; }\n"
"private static String _extractLibrary")))))
(add-after 'unpack 'disable-broken-tests
(lambda _
(with-directory-excursion "src/test/java/org/usb4java"
;; These tests should only be run when USB devices are present.
(substitute* '("LibUsbGlobalTest.java"
"TransferTest.java")
(("this.context = new Context\\(\\);")
"this.context = null;"))))))))
(inputs
(list libusb4java java-commons-lang3 java-junit java-hamcrest-core))
(home-page "http://usb4java.org/")

View File

@ -34,7 +34,7 @@
;;; Copyright © 2018 Vasile Dumitrascu <va511e@yahoo.com>
;;; Copyright © 2019 Tim Gesthuizen <tim.gesthuizen@yahoo.de>
;;; Copyright © 2019 mikadoZero <mikadozero@yandex.com>
;;; Copyright © 2019, 2020, 2021, 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2019, 2020, 2021, 2022, 2023, 2024 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2019 Stefan Stefanović <stefanx2ovic@gmail.com>
;;; Copyright © 2019-2022 Brice Waegeneire <brice@waegenei.re>
;;; Copyright © 2019 Kei Kebreau <kkebreau@posteo.net>
@ -114,6 +114,7 @@
#:use-module (gnu packages calendar)
#:use-module (gnu packages check)
#:use-module (gnu packages cpio)
#:use-module (gnu packages crates-io)
#:use-module (gnu packages crypto)
#:use-module (gnu packages cryptsetup)
#:use-module (gnu packages compression)
@ -123,6 +124,7 @@
#:use-module (gnu packages disk)
#:use-module (gnu packages docbook)
#:use-module (gnu packages documentation)
#:use-module (gnu packages dlang)
#:use-module (gnu packages elf)
#:use-module (gnu packages file)
#:use-module (gnu packages flex)
@ -143,6 +145,7 @@
#:use-module (gnu packages haskell-apps)
#:use-module (gnu packages haskell-xyz)
#:use-module (gnu packages image)
#:use-module (gnu packages kde-frameworks)
#:use-module (gnu packages libunwind)
#:use-module (gnu packages libusb)
#:use-module (gnu packages llvm)
@ -166,6 +169,7 @@
#:use-module (gnu packages pulseaudio)
#:use-module (gnu packages python)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages qt)
#:use-module (gnu packages readline)
#:use-module (gnu packages rrdtool)
#:use-module (gnu packages rsync)
@ -197,6 +201,7 @@
#:use-module (guix build-system meson)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (guix build-system qt)
#:use-module (guix build-system trivial)
#:use-module (guix build-system linux-module)
#:use-module (guix download)
@ -497,17 +502,17 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
;; The current "mainline" kernel.
(define-public linux-libre-6.8-version "6.8.1")
(define-public linux-libre-6.8-version "6.8.4")
(define-public linux-libre-6.8-gnu-revision "gnu")
(define deblob-scripts-6.8
(linux-libre-deblob-scripts
linux-libre-6.8-version
linux-libre-6.8-gnu-revision
(base32 "1kqwcm8baq3zx1z8jrgnvm9yps3y9jbf4pv1pbqqprpdscgl9089")
(base32 "04xk6myysrfrhfpq6zah8wk2ska7idmr968nh6pcd0ixbhas2k92")))
(base32 "0j9pj370zismhzw18iyx3lwcby3l3160xgpmh5xa8i8cr38r2z5h")))
(define-public linux-libre-6.8-pristine-source
(let ((version linux-libre-6.8-version)
(hash (base32 "0s7zgk9m545v8y7qjhv7cprrh58j46gpmb8iynyhy2hlwcv8j34d")))
(hash (base32 "0qwywy89an1w0yvs5957kqyv74mwgxady521w2lmyq00zjaw9pnm")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-6.8)))
@ -517,17 +522,17 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
;; The current "stable" kernels. That is, the most recently released major
;; versions that are still supported upstream.
(define-public linux-libre-6.7-version "6.7.10")
(define-public linux-libre-6.7-version "6.7.12")
(define-public linux-libre-6.7-gnu-revision "gnu")
(define deblob-scripts-6.7
(linux-libre-deblob-scripts
linux-libre-6.7-version
linux-libre-6.7-gnu-revision
(base32 "1ddngihfmwffgvxxv8xsppi76r6grvdxr6zzfzvgl9qw07a6c9fd")
(base32 "1lhsy2qnmz47r8m926k1kng912m64j7pnpcvd1ddgdqpq5byp88j")))
(base32 "16zh4cj1q7khl943ij4fzc815plbcdllns93chv6725gsm338hsl")))
(define-public linux-libre-6.7-pristine-source
(let ((version linux-libre-6.7-version)
(hash (base32 "00vw90mypcliq0d72jdh1ql2dfmm7gpswln2qycxdz7rfsrrzfd9")))
(hash (base32 "113rf3jqfpf3wcv637zbq5ww2hpaaf23y6dsmkds01l8jkipjabc")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-6.7)))
@ -536,52 +541,52 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
;; Here are the support timelines:
;; <https://www.kernel.org/category/releases.html>
(define-public linux-libre-6.6-version "6.6.22")
(define-public linux-libre-6.6-version "6.6.25")
(define-public linux-libre-6.6-gnu-revision "gnu")
(define deblob-scripts-6.6
(linux-libre-deblob-scripts
linux-libre-6.6-version
linux-libre-6.6-gnu-revision
(base32 "1qm8f3fq4yx59f7b6yky5ryyf229ypxnry922sr8cy0s7mp62cmv")
(base32 "014w19b9igdy3rpwrqn21why151zlc9hdx2b1qvdkjsbz6smx3lp")))
(base32 "17hq5pirvxaq1yscb204950xlakrd4r4mknjqayh1rzj4rzngzyq")))
(define-public linux-libre-6.6-pristine-source
(let ((version linux-libre-6.6-version)
(hash (base32 "1x52c6ywmspp3naishzsknhy7i0b7mv9baxx25a0y987cjsygqr3")))
(hash (base32 "0i0zvqlj02rm6wpbidji0rn9559vrpfc1b8gbfjk70lhhyz11llr")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-6.6)))
(define-public linux-libre-6.1-version "6.1.82")
(define-public linux-libre-6.1-version "6.1.84")
(define-public linux-libre-6.1-gnu-revision "gnu")
(define deblob-scripts-6.1
(linux-libre-deblob-scripts
linux-libre-6.1-version
linux-libre-6.1-gnu-revision
(base32 "1sf80f2i4vf888xjcn84ymn4w5ynn30ib9033zwmv7f09yvfhapy")
(base32 "08y5smwgbl2l74dlk850pbvn8d1y14cqvll2gbx80vmvfwlzp8c3")))
(base32 "1kp8zl97x1hsmvmdwaq8s8gndfmf8chvlhsw216f86ishi2prws3")))
(define-public linux-libre-6.1-pristine-source
(let ((version linux-libre-6.1-version)
(hash (base32 "01pcrcjp5mifjjmfz7j1jb8nhq8nkxspavxmv1l7d1qnskcx4l6i")))
(hash (base32 "0ykhl4i6yhryzgjkdbdz4pd3b1ghv84h6mpn7bdx0ra7w7mx55xg")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-6.1)))
(define-public linux-libre-5.15-version "5.15.152")
(define-public linux-libre-5.15-version "5.15.153")
(define-public linux-libre-5.15-gnu-revision "gnu")
(define deblob-scripts-5.15
(linux-libre-deblob-scripts
linux-libre-5.15-version
linux-libre-5.15-gnu-revision
(base32 "18ac30kxg2mf2f6gk3p935hzhz2qs110jy4xwk21kblnnkskbxj8")
(base32 "1a4la9nfdl5qiyfbzhgbqhl638wy1crkgpfnfaj0qf3hg4jsg0g4")))
(base32 "121shkzgixmywa19xx5f2yxg1primarpg4bxin3jyw0214xbfh2n")))
(define-public linux-libre-5.15-pristine-source
(let ((version linux-libre-5.15-version)
(hash (base32 "0zm4wkryj4mim4fr7pf5g9rlzh31yb1c40lkp85lvcm5yhjm507h")))
(hash (base32 "1g44gjcwcdq5552vwinljqwiy90bxax72jjvdasp71x88khv3pfp")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-5.15)))
(define-public linux-libre-5.10-version "5.10.213")
(define-public linux-libre-5.10-version "5.10.214")
(define-public linux-libre-5.10-gnu-revision "gnu1")
(define deblob-scripts-5.10
(linux-libre-deblob-scripts
@ -591,12 +596,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "12csh2zyjrqzgqcv799gv8h4xaw1irxh2zqddn4jqp5p7psx4j5k")))
(define-public linux-libre-5.10-pristine-source
(let ((version linux-libre-5.10-version)
(hash (base32 "105df7w6m5a3fngi6ajqs5qblaq4lbxsgcppllrk7v1r68i31kw4")))
(hash (base32 "0n7m82hw2rkw5mhdqw0vvmq7kq0s43jalr53sbv09wl17vai9w20")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-5.10)))
(define-public linux-libre-5.4-version "5.4.272")
(define-public linux-libre-5.4-version "5.4.273")
(define-public linux-libre-5.4-gnu-revision "gnu1")
(define deblob-scripts-5.4
(linux-libre-deblob-scripts
@ -606,12 +611,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "0x0xg0fcykpd117x3q0gim8jilhx922ashhckjvafxv2gk2zzjhj")))
(define-public linux-libre-5.4-pristine-source
(let ((version linux-libre-5.4-version)
(hash (base32 "0rp3waqrm489crcrms2ls7fxcw5jdkjhazvx82z68gj0kaaxb69m")))
(hash (base32 "0hs7af3mcnk5mmp3c5vjl187nva2kzsdx487nd12a8m7zb9wz84b")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-5.4)))
(define-public linux-libre-4.19-version "4.19.310")
(define-public linux-libre-4.19-version "4.19.311")
(define-public linux-libre-4.19-gnu-revision "gnu1")
(define deblob-scripts-4.19
(linux-libre-deblob-scripts
@ -621,7 +626,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "0fgkp3v7qgqpn7l1987xcwwlrmwsbscqnxfv06p8nkavrhymrv3c")))
(define-public linux-libre-4.19-pristine-source
(let ((version linux-libre-4.19-version)
(hash (base32 "0sfy2g9jzxd8ia0idll72l7npi2kssdkz29h8jjxhilgmg299v4m")))
(hash (base32 "10dww3cyazcf3wjzh8igpa0frb8gvl6amnksh42zfkji4mskh2r6")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.19)))
@ -1136,12 +1141,6 @@ Linux kernel. It has been modified to remove all non-free binary blobs.")
"aarch64-linux" "powerpc64le-linux" "riscv64-linux")
#:configuration-file kernel-config))
(define-public linux-libre-version linux-libre-6.7-version)
(define-public linux-libre-gnu-revision linux-libre-6.7-gnu-revision)
(define-public linux-libre-pristine-source linux-libre-6.7-pristine-source)
(define-public linux-libre-source linux-libre-6.7-source)
(define-public linux-libre linux-libre-6.7)
(define-public linux-libre-6.8
(make-linux-libre* linux-libre-6.8-version
linux-libre-6.8-gnu-revision
@ -1150,6 +1149,12 @@ Linux kernel. It has been modified to remove all non-free binary blobs.")
"aarch64-linux" "powerpc64le-linux" "riscv64-linux")
#:configuration-file kernel-config))
(define-public linux-libre-version linux-libre-6.8-version)
(define-public linux-libre-gnu-revision linux-libre-6.8-gnu-revision)
(define-public linux-libre-pristine-source linux-libre-6.8-pristine-source)
(define-public linux-libre-source linux-libre-6.8-source)
(define-public linux-libre linux-libre-6.8)
(define-public linux-libre-6.6
(make-linux-libre* linux-libre-6.6-version
linux-libre-6.6-gnu-revision
@ -1202,11 +1207,11 @@ Linux kernel. It has been modified to remove all non-free binary blobs.")
;; Linux-Libre.
;; Reference: <https://www.kernel.org/category/releases.html>
(define-public linux-libre-lts-version linux-libre-6.1-version)
(define-public linux-libre-lts-gnu-revision linux-libre-6.1-gnu-revision)
(define-public linux-libre-lts-pristine-source linux-libre-6.1-pristine-source)
(define-public linux-libre-lts-source linux-libre-6.1-source)
(define-public linux-libre-lts linux-libre-6.1)
(define-public linux-libre-lts-version linux-libre-6.6-version)
(define-public linux-libre-lts-gnu-revision linux-libre-6.6-gnu-revision)
(define-public linux-libre-lts-pristine-source linux-libre-6.6-pristine-source)
(define-public linux-libre-lts-source linux-libre-6.6-source)
(define-public linux-libre-lts linux-libre-6.6)
;;;
@ -1382,9 +1387,9 @@ Linux kernel. It has been modified to remove all non-free binary blobs.")
(define-public linux-libre-with-bpf
(let ((base-linux-libre
(make-linux-libre*
linux-libre-6.6-version
linux-libre-6.6-gnu-revision
linux-libre-6.6-source
linux-libre-6.8-version
linux-libre-6.8-gnu-revision
linux-libre-6.8-source
'("x86_64-linux" "i686-linux" "armhf-linux"
"aarch64-linux" "powerpc64le-linux" "riscv64-linux")
#:extra-version "bpf"
@ -1811,7 +1816,7 @@ supported under @file{/sys/class/backlight/}.")
(define-public v4l2loopback-linux-module
(package
(name "v4l2loopback-linux-module")
(version "0.12.7")
(version "0.13.1")
(source (origin
(method git-fetch)
(uri (git-reference
@ -1820,7 +1825,7 @@ supported under @file{/sys/class/backlight/}.")
(file-name (git-file-name name version))
(sha256
(base32
"1yghxl7gjr1zxi3a1kiz6d7yh68z64xayzm925zan4jqhrwv1h68"))))
"0580pzac0bfb98phmsm5rxmarx22wiprca13n8bk23sdgkzwb706"))))
(build-system linux-module-build-system)
(arguments
(list #:tests? #f)) ; no test suite
@ -7134,6 +7139,130 @@ not as a replacement for it.")
license:public-domain ; nist/dfft.c
license:gpl3+)))) ; everything else
(define-public hotspot
(package
(name "hotspot")
(version "1.4.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/KDAB/hotspot")
(commit (string-append "v" version))
;; Include the bundled perfparser and PrefixTickLabels
;; libraries, which are to be used in source form.
(recursive? #t)))
(file-name (git-file-name name version))
(sha256
(base32
"0wz4qr3dwjji79x7kj44g7xp11qsscp3b95h6627k8p7xbpi2vhd"))))
(build-system qt-build-system)
(arguments
(list
;; As mentioned in the option help text, the KAuth helper cannot be
;; installed to a custom prefix and the build fails with "file cannot
;; create directory: /polkit-1/actions. Maybe need administrative"
;; (see: https://bugs.kde.org/show_bug.cgi?id=363678).
#:configure-flags #~(list "-DINSTALL_KAUTH_HELPER=OFF")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-perfparser
;; XXX: This phase is copied from qt-creator: keep them in sync!
(lambda* (#:key inputs #:allow-other-keys)
;; perfparser attempts to dynamically load the demangle
;; libraries; use their absolute file name to avoid having to
;; set LD_LIBRARY_PATH.
(let ((librustc_demangle.so
(with-exception-handler (lambda (ex)
(if (search-error? ex)
#f
(raise-exception ex)))
(lambda ()
(search-input-file inputs "lib/librustc_demangle.so"))
#:unwind? #t)))
(substitute* "3rdparty/perfparser/app/demangler.cpp"
(("loadDemangleLib\\(QStringLiteral\\(\"rustc_demangle\")"
all)
(if librustc_demangle.so
(format #f "loadDemangleLib(QStringLiteral(~s)"
librustc_demangle.so)
all)) ;no rustc_demangle; leave unchanged
(("loadDemangleLib\\(QStringLiteral\\(\"d_demangle\")")
(format #f "loadDemangleLib(QStringLiteral(~s)"
(search-input-file inputs
"lib/libd_demangle.so")))))))
(add-after 'unpack 'path-paths
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "src/perfoutputwidgetkonsole.cpp"
(("\"tail\"")
(format #f "~s" (search-input-file inputs "bin/tail"))))
(substitute* "src/perfrecord.cpp"
(("\"perf( )?\"" _ space)
(string-append "\"" (search-input-file inputs "bin/perf")
(or space "") "\"")))))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
;; The 'tst_models' and 'tst_callgraphgenerator' fail, with
;; the later seemingly requiring sudo or access to the kernel
;; trace points.
(invoke "ctest" "-E"
(string-append
"("
(string-join
;; The 'tst_models' expected output doesn't exactly
;; match.
'("tst_models"
;; The 'tst_callgraphgenerator' perf invocation
;; fails when run in the build container.
"tst_callgraphgenerator"
;; The 'tst_perfparser' test requires sudo/access
;; to the kernel scheduler trace points.
"tst_perfparser")
"|")
")"))))))))
(native-inputs
(list extra-cmake-modules
vulkan-headers))
(inputs
(append
(list coreutils-minimal
d-demangler
elfutils
karchive
kconfig
kcoreaddons
kddockwidgets-1 ;see https://github.com/KDAB/hotspot/issues/610
kgraphviewer
kio
kiconthemes
kitemmodels
kitemviews
knotifications
kparts
ksyntaxhighlighting
kwindowsystem
libxkbcommon
perf
qcustomplot
qtbase-5
qtdeclarative-5
qtquickcontrols2-5
qtsvg-5
qtx11extras
solid
threadweaver
`(,zstd "lib"))
(if (supported-package? rust-rustc-demangle-capi-0.1)
(list rust-rustc-demangle-capi-0.1)
'())))
(home-page "https://github.com/KDAB/hotspot")
(synopsis "Performance analysis GUI for Linux perf")
(description "Hotspot is a standalone GUI for performance data analysis.
It aims to be similar to KCachegrind, but for data collected with the
@command{perf}, a profiler for use with the kernel Linux. Its main feature is
graphically visualizing a @file{perf.data} file.")
(license (list license:gpl2+ license:gpl3+)))) ;dual licensed
(define-public ecryptfs-utils
(package
(name "ecryptfs-utils")

View File

@ -25584,17 +25584,17 @@ Lisp, including:
(substitute* "src/configuration.lisp"
(("\"libblas.so.3gf\"")
(string-append "\"" (assoc-ref inputs "lapack")
"/lib/libblas.so\""))
"/lib/libopenblas.so\""))
(("\"liblapack.so.3gf\"")
(string-append "\"" (assoc-ref inputs "lapack")
"/lib/liblapack.so\""))))))))
"/lib/libopenblas.so\""))))))))
(inputs
`(("anaphora" ,sbcl-anaphora)
("alexandria" ,sbcl-alexandria)
("cffi" ,sbcl-cffi)
("cl-num-utils" ,sbcl-cl-num-utils)
("cl-slice" ,sbcl-cl-slice)
("lapack" ,lapack)
("lapack" ,openblas)
("let-plus" ,sbcl-let-plus)))
(native-inputs
(list sbcl-clunit))

View File

@ -874,7 +874,6 @@ interface.")
("sdl-mixer" ,sdl-mixer)
("sdl-net" ,sdl-net)
("sdl-ttf" ,sdl-ttf)
("lapack" ,lapack)
("libxft" ,libxft)
("fontconfig" ,fontconfig)
("gsl" ,gsl)

View File

@ -541,6 +541,16 @@ Performance is achieved by using the LLVM JIT compiler.")
(build-system cmake-build-system)
(arguments
(list
#:configure-flags #~'("-DLLAMA_BLAS=ON"
"-DLLAMA_BLAS_VENDOR=OpenBLAS"
"-DLLAMA_NATIVE=OFF" ;no '-march=native'
"-DLLAMA_FMA=OFF" ;and no '-mfma', etc.
"-DLLAMA_AVX2=OFF"
"-DLLAMA_AVX512=OFF"
"-DLLAMA_AVX512_VBMI=OFF"
"-DLLAMA_AVX512_VNNI=OFF")
#:modules '((ice-9 textual-ports)
(guix build utils)
((guix build python-build-system) #:prefix python:)
@ -575,8 +585,10 @@ Performance is achieved by using the LLVM JIT compiler.")
(lambda _
(copy-file "bin/main" (string-append #$output "/bin/llama")))))))
(inputs (list python))
(native-inputs (list pkg-config))
(propagated-inputs
(list python-numpy python-pytorch python-sentencepiece))
(list python-numpy python-pytorch python-sentencepiece openblas))
(properties '((tunable? . #true))) ;use AVX512, FMA, etc. when available
(home-page "https://github.com/ggerganov/llama.cpp")
(synopsis "Port of Facebook's LLaMA model in C/C++")
(description "This package provides a port to Facebook's LLaMA collection
@ -1255,7 +1267,7 @@ model packaging, deployment and workflow management.")
("hdf5" ,hdf5)
("atlas" ,atlas)
("arpack" ,arpack-ng)
("lapack" ,lapack)
("openblas" ,openblas)
("glpk" ,glpk)
("libxml2" ,libxml2)
("lzo" ,lzo)
@ -1650,7 +1662,6 @@ than 8 bits, and at the end only some significant 8 bits are kept.")
libnsl))
(inputs
`(("giflib" ,giflib)
("lapack" ,lapack)
("libjpeg" ,libjpeg-turbo)
("libpng" ,libpng)
("libx11" ,libx11)
@ -2518,7 +2529,6 @@ written in C++.")
(base32 "16w90za8narkfi590cxj4p7vc1f5sdxc927g5hk6kh4l3mf6iisl"))))
(inputs
(list alsa-lib
lapack ;compared to base kaldi, replacing `(,gfortran "lib")
glib
gstreamer
jack-2
@ -2537,7 +2547,6 @@ written in C++.")
(replace 'configure
(lambda _
(let ((portaudio #$(this-package-input "portaudio"))
(lapack #$(this-package-input "lapack"))
(openfst #$(this-package-input "openfst"))
(openblas #$(this-package-input "openblas")))
#$@(if (target-x86?)
@ -2571,7 +2580,7 @@ written in C++.")
(string-append "OPENBLASROOT=\"" openblas "\""))
(("-L\\$OPENBLASLIBDIR -l:libopenblas.a -l:libblas.a -l:liblapack.a -l:libf2c.a")
(string-append "-L$OPENBLASLIBDIR -lopenblas "
"-L" lapack "/lib -lblas -llapack")))
"-L" openblas "/lib -lopenblas")))
(mkdir-p #$output) ; must exist
(setenv "CONFIG_SHELL" (which "bash"))
(setenv "OPENFST_VER" #$(package-version openfst))
@ -3501,7 +3510,7 @@ learning libraries.")
(define-public xgboost
(package
(name "xgboost")
(version "1.5.2")
(version "1.7.6")
(source
(origin
(method git-fetch)
@ -3511,7 +3520,7 @@ learning libraries.")
(file-name (git-file-name name version))
(patches (search-patches "xgboost-use-system-dmlc-core.patch"))
(sha256
(base32 "0qx04y7cz8z7qv6bk9q7d7ba9b7xzj53l83l2x9ykdwhzacc3dn0"))))
(base32 "16fbm5y3hn6ccflmbdlmn7krrdq7c0az3mxd8j1d23s9ky8niw05"))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags (list "-DGOOGLE_TEST=ON")))
@ -3538,40 +3547,7 @@ in a fast and accurate way.")
(build-system pyproject-build-system)
(arguments
(list
#:test-flags
'(list "tests/python"
;; FIXME: CLI tests fail with PermissionError.
"--ignore" "tests/python/test_cli.py"
"-k"
(string-append
"not test_cli_regression_demo"
;; These tests use the Boston dataset that has been
;; removed from scipy.
" and not test_sklearn_demo"
" and not test_sklearn_parallel_demo"
" and not test_predict_shape"
" and not test_num_parallel_tree"
" and not test_boston_housing_regression"
" and not test_boston_housing_rf_regression"
" and not test_parameter_tuning"
" and not test_regression_with_custom_objective"
" and not test_RFECV"
;; Pandas incompatibility? Says:
;; '_CalibratedClassifier' object has no attribute
;; 'base_estimator'
" and not test_pandas_input"
;; Accuracy problems?
" and not test_exact"
" and not test_approx"
" and not test_hist"
;; The tests below open a network connection.
" and not test_model_compatibility"
" and not test_get_group"
" and not test_cv_no_shuffle"
" and not test_cv"
" and not test_training"
;; "'['./runexp.sh']' returned non-zero exit status 1"
" and not test_cli_binary_classification"))
#:tests? #f ; all tests require network access
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'preparations
@ -5160,8 +5136,7 @@ linear algebra routines needed for structured matrices (or operators).")
(lambda _ (chdir "src")))
(replace 'configure
(lambda _
(let* ((lapack #$(this-package-input "lapack"))
(openfst #$(this-package-input "openfst"))
(let* ((openfst #$(this-package-input "openfst"))
(openblas #$(this-package-input "openblas"))
(kaldi #$(this-package-input "kaldi")))
(substitute* "./Makefile"
@ -5171,8 +5146,7 @@ linear algebra routines needed for structured matrices (or operators).")
"")
(("-lopenblas -llapack -lblas -lf2c")
(string-append
"-L" openblas "/lib " "-lopenblas "
"-L" lapack "/lib " "-llapack -lblas "))
"-L" openblas "/lib " "-lopenblas "))
(("-lfst -lfstngram")
(string-append
"-L" openfst "/lib " "-lfst -lfstngram "))
@ -5194,7 +5168,7 @@ linear algebra routines needed for structured matrices (or operators).")
(for-each
(lambda (x) (install-file x src))
(find-files "." "\\.h$"))))))))
(inputs (list kaldi openfst lapack openblas))
(inputs (list kaldi openfst openblas))
(home-page "https://alphacephei.com/vosk")
(synopsis "Speech recognition toolkit based on @code{kaldi}")
(description "\

View File

@ -2,6 +2,7 @@
;;; Copyright © 2019 Leo Famulari <leo@famulari.name>
;;; Copyright © 2024 normally_js <normally_js@posteo.net>
;;; Copyright © 2024 Sharlatan Hellseher <sharlatanus@gmail.com>
;;; Copyright © 2024 TakeV <takev@disroot.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -26,6 +27,7 @@
#:use-module (guix gexp)
#:use-module (guix packages)
#:use-module (gnu packages check)
#:use-module (gnu packages python-compression)
#:use-module (gnu packages python-crypto)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz))
@ -101,14 +103,14 @@ together, allowing them to pretend they have a direct connection.")
(define-public magic-wormhole
(package
(name "magic-wormhole")
(version "0.13.0")
(version "0.14.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "magic-wormhole" version))
(sha256
(base32
"05hm5pnrxli69a28h3pbgx6s6pwy8279l506kha7y3i7hs1dcfxc"))))
"105hsv7ck83bs29929zpb29aygr69q00mxpgq9xw7xxzi2gj6v80"))))
(build-system pyproject-build-system)
(arguments
(list
@ -130,12 +132,14 @@ together, allowing them to pretend they have a direct connection.")
python-click
python-hkdf
python-humanize
python-iterable-io
python-noiseprotocol
python-pynacl
python-spake2
python-tqdm
python-twisted
python-txtorcon))
python-txtorcon
python-zipstream-ng))
(home-page "https://github.com/magic-wormhole/magic-wormhole")
(synopsis "Securely transfer data between computers")
(description

View File

@ -402,6 +402,7 @@ triangulations.")
(add-after 'unpack 'find-libraries
(lambda* (#:key inputs #:allow-other-keys)
(setenv "CVXOPT_BLAS_LIB" "openblas")
(setenv "CVXOPT_LAPACK_LIB" "openblas")
(setenv "CVXOPT_BUILD_FFTW" "1")
(setenv "CVXOPT_BUILD_GLPK" "1")
(setenv "CVXOPT_BUILD_GSL" "1")
@ -410,7 +411,6 @@ triangulations.")
(list fftw
glpk
gsl
lapack
openblas
suitesparse))
(home-page "https://www.cvxopt.org")
@ -1071,7 +1071,7 @@ halfspaces) or by their double description with both representations.")
(native-inputs
(list pkg-config))
(inputs
(list eigen lapack gfortran))
(list eigen openblas gfortran))
(synopsis "Fortran subroutines for solving eigenvalue problems")
(description
"ARPACK-NG is a collection of Fortran77 subroutines designed to solve
@ -1198,7 +1198,7 @@ provide LAPACK for someone who does not have access to a Fortran compiler.")
(inputs
`(("mpi" ,openmpi)
("fortran" ,gfortran)
("lapack" ,lapack))) ;for testing only
("lapack" ,openblas))) ;for testing only
(arguments
`(#:configure-flags `("-DBUILD_SHARED_LIBS:BOOL=YES")
#:phases (modify-phases %standard-phases
@ -1434,7 +1434,7 @@ Extern C linkage permits the package routines to be called from C++.")
"153kj4wx386609g21hw3cv5yxps62qqrc64zwb9ryd2xad1w1a4y"))))
(build-system gnu-build-system)
(native-inputs (list gfortran pkg-config))
(inputs (list cbc ipopt lapack))
(inputs (list cbc ipopt openblas))
(home-page "https://coin-or.github.io/Bonmin/")
(synopsis "Basic Open-source Nonlinear Mixed INteger programming")
(description "Bonmin is a code for solving general MINLP (Mixed Integer
@ -2152,7 +2152,7 @@ the resulting text.")
;; SOURCE_DATE_EPOCH
(lambda _
(setenv "FORCE_SOURCE_DATE" "1"))))))
(inputs (list lapack fftw))
(inputs (list openblas fftw))
;; FIXME: Even though the fonts are available dvips complains:
;; "Font cmmi10 not found; characters will be left blank."
(native-inputs
@ -2400,7 +2400,8 @@ online as well as original implementations of various other algorithms.")
"08gznhwhqv1x4baksz350ih8q16r5rd0k8vals6078m3h94khr4b"))))
(build-system gnu-build-system)
(arguments
'(#:phases (modify-phases %standard-phases
'(#:configure-flags (list "--with-lapack=-lopenblas")
#:phases (modify-phases %standard-phases
(add-after 'install 'add--L-flags-in-ipopt.pc
(lambda* (#:key inputs outputs #:allow-other-keys)
;; The '.pc' file lists '-llapack -lblas' in "Libs";
@ -2413,14 +2414,14 @@ online as well as original implementations of various other algorithms.")
(("Libs: (.*)-llapack -lblas(.*)$" _ before after)
(string-append "Libs: " before " " after "\n"
"Libs.private: " before
"-L" lapack "/lib -llapack -lblas "
"-L" openblas "/lib -lopenblas"
after "\n")))
#t))))))
(native-inputs
(list gfortran pkg-config))
(inputs
;; TODO: Maybe add dependency on COIN-MUMPS, ASL, and HSL.
(list lapack)) ;for both libblas and liblapack
(list openblas)) ;for both libblas and liblapack
(home-page "https://www.coin-or.org")
(synopsis "Large-scale nonlinear optimizer")
(description
@ -2763,9 +2764,9 @@ fixed point (16.16) format.")
(lambda* (#:key tests? #:allow-other-keys)
(substitute* "test/Makefile"
(("LIBBLAS .*")
"LIBBLAS = -lblas\n")
"LIBBLAS = -lopenblas\n")
(("LIBLAPACK .*")
"LIBLAPACK = -llapack\n"))
"LIBLAPACK = -lopenblas\n"))
(when tests?
(with-directory-excursion "test"
(mkdir "obj")
@ -2784,7 +2785,7 @@ fixed point (16.16) format.")
"/include/FLAME.h")
(string-append static "/include"))))))))
(inputs (list gfortran))
(native-inputs (list lapack perl python-wrapper))
(native-inputs (list openblas perl python-wrapper))
(synopsis "High-performance library for @acronym{DLA, dense linear algebra} computations")
(description "@code{libflame} is a portable library for dense matrix
computations, providing much of the functionality present in LAPACK, developed
@ -2858,7 +2859,7 @@ with constraints.")
(native-inputs (list pkg-config))
;; These inputs need to be propagated to satisfy dependent packages.
(propagated-inputs (list eigen gflags glog))
(inputs (list openblas lapack suitesparse))
(inputs (list openblas suitesparse))
(synopsis "C++ library for solving large optimization problems")
(description
"Ceres Solver is a C++ library for modeling and solving large,
@ -2925,7 +2926,7 @@ can solve two kinds of problems:
(define-public octave-cli
(package
(name "octave-cli")
(version "8.4.0")
(version "9.1.0")
(source
(origin
(method url-fetch)
@ -2933,7 +2934,7 @@ can solve two kinds of problems:
version ".tar.xz"))
(sha256
(base32
"1a58zyrl1lx6b6wr2jbf6w806vjxr3jzbh6n85iinag47qxdg6kg"))))
"0jqk3amfkqzn1c5rzb9gm3v7r2y5xcgx6cgi4r5w8mpa9814nrgd"))))
(build-system gnu-build-system)
(inputs
(list alsa-lib
@ -2956,10 +2957,10 @@ can solve two kinds of problems:
libjpeg-turbo
hdf5
lapack
libsndfile
libxft
mesa
openblas
pcre
portaudio
qhull
@ -3263,11 +3264,11 @@ compilers.")
glu
gmp
hdf5
lapack
libx11
libxext
mesa
metis
openblas
opencascade-occt))
(inputs
(list fontconfig
@ -4444,7 +4445,6 @@ void mc64ad_dist (int *a, int *b, int *c, int *d, int *e, double *f, int *g,
(inputs
`(("gfortran" ,gfortran)
("blas" ,openblas)
("lapack" ,lapack)
("combblas" ,combinatorial-blas)))
(propagated-inputs
`(("mpi" ,openmpi) ;headers include MPI heades
@ -4455,7 +4455,7 @@ void mc64ad_dist (int *a, int *b, int *c, int *d, int *e, double *f, int *g,
#:configure-flags (list "-DBUILD_SHARED_LIBS:BOOL=YES"
"-DTPL_ENABLE_COMBBLASLIB=YES"
"-DTPL_BLAS_LIBRARIES=-lopenblas"
"-DTPL_LAPACK_LIBRARIES=-llapack"
"-DTPL_LAPACK_LIBRARIES=-lopenblas"
(string-append "-DTPL_PARMETIS_LIBRARIES="
(string-join
'("ptscotchparmetis" "ptscotch" "ptscotcherr"
@ -4731,15 +4731,14 @@ schemes.")
(inputs
`(("fortran" ,gfortran)
("blas" ,openblas)
("lapack" ,lapack)
("zlib" ,zlib)))
(arguments
`(#:configure-flags `(,(string-append "BLAS_LIBS=-L"
(assoc-ref %build-inputs "blas")
" -lopenblas")
,(string-append "LAPACK_LIBS=-L"
(assoc-ref %build-inputs "lapack")
" -llapack"))
(assoc-ref %build-inputs "blas")
" -lopenblas"))
#:phases (modify-phases %standard-phases
(add-before 'check 'mpi-setup
,%openmpi-setup))))
@ -4989,7 +4988,7 @@ full text searching.")
(build-system cmake-build-system)
(arguments `(#:tests? #f)) ; no test target
(inputs
(list openblas lapack arpack-ng))
(list openblas arpack-ng))
(home-page "https://arma.sourceforge.net/")
(synopsis "C++ linear algebra library")
(description
@ -6791,7 +6790,6 @@ A unique design feature of Trilinos is its focus on packages.")
(list arpack-ng
openblas
gfortran
lapack
muparser
zlib))
(propagated-inputs
@ -7108,7 +7106,7 @@ set.")
texlive-xcolor
texlive-xypic))))
(inputs
(list openblas lapack))
(list openblas))
(arguments
`(#:modules ((srfi srfi-1)
,@%gnu-build-system-modules)
@ -7809,7 +7807,6 @@ symmetric matrices.")
(inputs
(list `(,gfortran "lib")
gmp
lapack
metis
mpc
mpfr
@ -8047,7 +8044,7 @@ easily be incorporated into existing simulation codes.")
"0nx4sqhmi126m14myzm7syv2053harav9snl0a247wnkcgs5rxrv"))))
(inputs
(modify-inputs (package-inputs sundials)
(prepend gfortran lapack)))
(prepend gfortran openblas)))
(arguments
'(#:configure-flags `("-DCMAKE_C_FLAGS=-O2 -g -fcommon"
"-DSUNDIALS_INDEX_SIZE=32"
@ -9792,7 +9789,6 @@ computation is supported via MPI.")
fftw
gettext-minimal
hdf5-1.10
lapack
libarchive
libx11
libxml2

View File

@ -88,6 +88,7 @@
#:use-module (gnu packages gnupg)
#:use-module (gnu packages golang)
#:use-module (gnu packages golang-build)
#:use-module (gnu packages golang-xyz)
#:use-module (gnu packages gperf)
#:use-module (gnu packages graphviz)
#:use-module (gnu packages gstreamer)

View File

@ -410,6 +410,7 @@ interface for the Music Player Daemon.")
gsettings-desktop-schemas
gobject-introspection
adwaita-icon-theme
gvfs
python-pygobject))
(synopsis "Elegant client for the Music Player Daemon")
(description "Sonata is an elegant graphical client for the Music Player

View File

@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014, 2015, 2018, 2019 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2014-2023 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014-2024 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net>
;;; Copyright © 2016 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2017 Dave Love <fx@gnu.org>
@ -78,7 +78,9 @@
"doc" ;400+ section 3 man pages
"debug"))
(inputs
(append (list libx11 cairo ncurses expat)
(append (if (%current-target-system)
'() ;fewer dependencies when cross-compiling
(list libx11 cairo ncurses expat))
(if (target-arm32?) '() (list numactl))))
(propagated-inputs
;; hwloc.pc lists it in 'Requires.private'.

View File

@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014, 2019 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2015-2023 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015-2024 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
;;; Copyright © 2016 Al McElrath <hello@yrns.org>
;;; Copyright © 2016, 2017, 2019, 2021-2023 Efraim Flashner <efraim@flashner.co.il>
@ -135,6 +135,7 @@
#:use-module (gnu packages gnunet)
#:use-module (gnu packages gnupg)
#:use-module (gnu packages golang)
#:use-module (gnu packages golang-xyz)
#:use-module (gnu packages gpodder)
#:use-module (gnu packages graphics)
#:use-module (gnu packages graphviz)
@ -208,7 +209,7 @@
(define-public alsa-scarlett-gui
(package
(name "alsa-scarlett-gui")
(version "0.3.3")
(version "0.4.0")
(source (origin
(method git-fetch)
(uri (git-reference
@ -217,7 +218,7 @@
(file-name (git-file-name name version))
(sha256
(base32
"1nd764vd7qfy2x8dqapiyh5yrxjimm8b4himhm1qkgpf5hvh734l"))))
"1397z3c232n3zpqmpc77lbwv8z5szsbagawl3l7hiizn152hkgpv"))))
(build-system gnu-build-system)
(arguments
(list
@ -243,7 +244,7 @@
"/share/glib-2.0/schemas"))))))
(delete 'configure))))
(inputs
(list alsa-lib glib gtk))
(list alsa-lib glib gtk openssl))
(native-inputs
(list `(,glib "bin") pkg-config))
(home-page "https://github.com/geoffreybennett/alsa-scarlett-gui")
@ -2186,7 +2187,7 @@ your own lessons.")
(define-public powertabeditor
(package
(name "powertabeditor")
(version "2.0.0-alpha14")
(version "2.0.0-alpha19")
(source (origin
(method git-fetch)
(uri (git-reference
@ -2195,30 +2196,29 @@ your own lessons.")
(file-name (git-file-name name version))
(sha256
(base32
"1wsvni2aa9h2bpndlic7ckch4n600ahwm56n521y5vxivwjx3jmj"))))
"1fbrfw1ky57nms47pcfdrrwpa2jmgc8vgc68sz96wkvs49zzm5d1"))))
(build-system cmake-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(replace 'check (lambda _ (invoke "bin/pte_tests")))
(add-after 'unpack 'fix-pugixml-detection
(lambda _
(substitute* "cmake/third_party/pugixml.cmake"
(("add_library") "#add_library"))
#t)))))
(list
#:phases
'(modify-phases %standard-phases
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests? (invoke "bin/pte_tests")))))))
(inputs
`(("alsa-lib" ,alsa-lib)
("boost" ,boost)
("minizip" ,minizip)
("pugixml" ,pugixml)
("qtbase" ,qtbase-5)
("rapidjson" ,rapidjson)
("rtmidi" ,rtmidi)
("timidity" ,timidity++)
("zlib" ,zlib)))
(list alsa-lib
boost
minizip
nlohmann-json
pugixml
qtbase-5
qttools-5 ;for Qt5LinguistTools
rtmidi
timidity++
zlib))
(native-inputs
(list doctest pkg-config))
(home-page "https://github.com/powertab/powertabedito")
(home-page "https://github.com/powertab/powertabeditor")
(synopsis "Guitar tablature editor")
(description
"Power Tab Editor 2.0 is the successor to the famous original Power Tab
@ -3098,6 +3098,39 @@ using a system-independent interface.")
"This package provides Python bindings to the PortMidi library.")
(license license:expat))))
(define-public python-pysmf
(let ((commit "8a98a557470301f5a471d07d37f334a5b8892602")
(revision "1"))
(package
(name "python-pysmf")
(version (git-version "0.1.1" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/mididings/pysmf")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "1ic24k8jr7iwcrj7xaw5b9i22al05rxfpjw39bbjsg7v09kvygcv"))))
(build-system pyproject-build-system)
(arguments
(list
#:phases
'(modify-phases %standard-phases
(add-after 'unpack 'fix-build-system
(lambda _
(substitute* "setup.py"
(("from subprocess") "import sys; from subprocess")))))))
(inputs (list libsmf glib))
(native-inputs (list pkg-config python-cython python-pytest))
(home-page "https://github.com/mididings/pysmf")
(synopsis "Read and write Standard MIDI files")
(description
"pysmf is a Python extension module for reading and writing Standard
MIDI files, based on libsmf.")
(license license:bsd-2))))
(define-public frescobaldi
(package
(name "frescobaldi")
@ -4395,6 +4428,69 @@ standard MIDI file with the csvmidi program.")
(home-page "https://www.fourmilab.ch/webtools/midicsv/")
(license license:public-domain)))
(define-public mididings
(let ((commit "d98265be8afe7da20a5c7cfd0515f0d5fae5c53a")
(revision "1"))
(package
(name "mididings")
(version (git-version "0" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/mididings/mididings")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"1a8i4yac5jjkq0vh73nwkv0j7vnvfwbzzagam4xdl1gpnc26n5xi"))))
(build-system pyproject-build-system)
(arguments
(list
#:phases
'(modify-phases %standard-phases
(add-after 'unpack 'build-manpages
(lambda _
(with-directory-excursion "doc/man"
(for-each (lambda (doc)
(system (format #false
"scdoc < ~a.scd > ~a.1" doc doc)))
'(livedings mididings send_midi))))))))
(inputs
(list alsa-lib
boost
jack-2
`(,python "tk")
python-dbus
python-decorator
python-pyinotify
python-pyliblo
python-pysmf))
(native-inputs (list python-pytest pkg-config scdoc))
(home-page "https://github.com/mididings/mididings")
(synopsis "MIDI router and processor")
(description
"mididings is a MIDI router/processor based on Python, supporting ALSA
and JACK MIDI. Features include:
@itemize
@item MIDI routing and filtering; filter events depending on their event type,
channel, note number, velocity, etc., and freely route them between an
arbitrary number of input and output ports.
@item Modifying and converting MIDI events; transpose notes, apply velocity
curves, change controller values and ranges, or convert events to any other
MIDI event type. mididings also includes more complex functions like a
diatonic harmonizer, floating split points, latched notes, and more.
@item Seamless switching between patches; set up different \"scenes\", each
with its own MIDI routing and processing, and switch between them at any time,
even while playing. Switching scenes does not affect notes already held, and
does not result in dropouts or stuck notes!
@item MIDI event monitoring, running external commands; print MIDI event data
to the console to help debugging your patches and configuring your MIDI
controllers. In addition to its MIDI output, mididings can also execute shell
commands and send OSC or DBUS messages.
@end itemize")
(license license:gpl2+))))
(define-public gx-guvnor-lv2
(package
(name "gx-guvnor-lv2")
@ -5727,7 +5823,7 @@ at @code{musicbrainz.org}.")
(define-public clyrics
(package
(name "clyrics")
(version "0.13")
(version "0.16")
(source
(origin
(method git-fetch)
@ -5736,7 +5832,7 @@ at @code{musicbrainz.org}.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0py31linlbphl18wxj5v00gggvxp9djg466mjncf5wpa147hs8r3"))))
(base32 "1izlqnzr1a504djhzk1a5k8dwwrkd5iyjfsfm5x48sb3vjlr1fr3"))))
(build-system trivial-build-system)
(inputs
(list bash ; for the wrapped program
@ -6723,7 +6819,7 @@ and as an LV2 plugin.")
;; distros to make necessary changes to integrate the software into the
;; distribution.
(name "zrythm")
(version "1.0.0-beta.4.9.1")
(version "1.0.0-beta.4.12.5")
(source
(origin
(method url-fetch)
@ -6731,49 +6827,46 @@ and as an LV2 plugin.")
version ".tar.xz"))
(sha256
(base32
"0skdb4bpw4v5175yw9wijrc6j36mxjq8i7p8nn9650lipxg6bshd"))))
"1kixf8rlim5qvkhcm65rf35mxkxv3hij039jc9rvh710vl2xxm0g"))))
(build-system meson-build-system)
(arguments
(list #:glib-or-gtk? #t
#:configure-flags
#~(list "-Dtests=true"
"-Dmanpage=false" ;fish-completions breaks this
"-Ddseg_font=false"
"-Dextra_optimizations=false" ;machine-specific
"-Dgraphviz=enabled" ;for exporting routing graphs
"-Dguile=enabled" ;for Guile scripting
"-Djack=enabled" ;for JACK audio/MIDI backend
"-Drtaudio=enabled" ;for RtAudio backend (ALSA)
"-Drtmidi=enabled" ;for RtMidi backend (ALSA sequencer)
"-Dsdl=enabled") ;for SDL audio backend (which uses ALSA)
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-tests
(lambda _
;; io_mkdir must be called with a GError value, not plain
;; NULL, or else the assertion in io_mkdir segfaults.
(substitute* "tests/helpers/zrythm.h"
(("success = io_mkdir \\(tmp_log_dir, NULL\\);" m)
(string-append "err = NULL;
success = io_mkdir (tmp_log_dir, &err);")))
;; zrythm: fails because curl wants to access the internet.
;; project: unknown failure XXX
;; The other tests fail with this error:
;; error: attempt to map invalid URI `'
;; This means that lilv is given an empty LV2 plugin URI.
;; This is probably because we don't provide all LV2
;; plugins that are needed for running the tests.
(substitute* "tests/meson.build"
(("foreach name, info : tests")
"\
(list
#:glib-or-gtk? #t
#:configure-flags
'(list "-Dtests=true"
"-Dmanpage=false" ;fish-completions breaks this
"-Ddseg_font=false"
"-Dextra_optimizations=false" ;machine-specific
"-Dgraphviz=enabled" ;for exporting routing graphs
"-Dguile=enabled" ;for Guile scripting
"-Djack=enabled" ;for JACK audio/MIDI backend
"-Drtaudio=enabled" ;for RtAudio backend (ALSA)
"-Drtmidi=enabled" ;for RtMidi backend (ALSA sequencer)
"-Dsdl=enabled") ;for SDL audio backend (which uses ALSA)
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-tests
(lambda _
;; zrythm: fails because curl wants to access the internet.
;; project: unknown failure XXX
;; The other tests fail with this error:
;; error: attempt to map invalid URI `'
;; This means that lilv is given an empty LV2 plugin URI.
;; This is probably because we don't provide all LV2
;; plugins that are needed for running the tests.
(substitute* "tests/meson.build"
(("foreach name, info : tests")
"\
disabled_tests = {
'zrythm': 0,
'project': 0,
'audio/midi_track': 0,
'integration/recording': 0,
'actions/mixer_selections_action': 0,
'actions/tracklist_selections': 0
'actions/tracklist_selections': 0,
'dsp/audio_region': 0,
'dsp/audio_track': 0,
'dsp/midi_track': 0,
'dsp/pool': 0,
'integration/recording': 0,
'project': 0,
'zrythm': 0
}
enabled_tests = {}
foreach name, info : tests
@ -6781,17 +6874,21 @@ success = io_mkdir (tmp_log_dir, &err);")))
enabled_tests += {name: info}
endif
endforeach
foreach name, info : enabled_tests"))))
(add-before 'build 'disable-guile-auto-compilation
(lambda _
(setenv "GUILE_AUTO_COMPILE" "0")))
(add-after 'install 'wrap-program
(lambda _
(wrap-program (string-append #$output "/bin/zrythm")
;; Wrapping GDK_PIXBUF_MODULE_FILE allows Zrythm to load
;; its own SVG icons in pure environments.
`("GDK_PIXBUF_MODULE_FILE" =
(,(getenv "GDK_PIXBUF_MODULE_FILE")))))))))
foreach name, info : enabled_tests"))
;; Requires internet access
(substitute* "data/meson.build"
(("if appstream.*\\(\\)")
"if false"))))
(add-before 'build 'disable-guile-auto-compilation
(lambda _
(setenv "GUILE_AUTO_COMPILE" "0")))
(add-after 'install 'wrap-program
(lambda _
(wrap-program (string-append #$output "/bin/zrythm")
;; Wrapping GDK_PIXBUF_MODULE_FILE allows Zrythm to load
;; its own SVG icons in pure environments.
`("GDK_PIXBUF_MODULE_FILE" =
(,(getenv "GDK_PIXBUF_MODULE_FILE")))))))))
(inputs
(list alsa-lib
boost
@ -6810,7 +6907,6 @@ success = io_mkdir (tmp_log_dir, &err);")))
jack-2
json-glib
libadwaita
libaudec
(module-ref
(resolve-interface '(gnu packages debug)) 'libbacktrace)
libcyaml
@ -6820,8 +6916,10 @@ success = io_mkdir (tmp_log_dir, &err);")))
libsndfile
libyaml
lilv
lsp-dsp-lib
lv2
pango
pcre
pipewire
pulseaudio
reproc
@ -6829,6 +6927,7 @@ success = io_mkdir (tmp_log_dir, &err);")))
rtmidi
rubberband
sdl2
soxr
vamp
xdg-utils
xxhash

View File

@ -3757,7 +3757,7 @@ communication over HTTP.")
(define-public restinio
(package
(name "restinio")
(version "0.7.1")
(version "0.7.2")
(source (origin
(method git-fetch)
(uri (git-reference
@ -3766,7 +3766,7 @@ communication over HTTP.")
(file-name (git-file-name name version))
(sha256
(base32
"06p9gcnzgynsgfxxa1lk58pq5755px7sn00x2xh21qjnspwld1sy"))))
"03ajv1d034z6sjf2xapy8zq1mq2xkz5dqvn51vz2p26ws5axbzrn"))))
(build-system cmake-build-system)
(arguments
(list
@ -3776,24 +3776,13 @@ communication over HTTP.")
"-DRESTINIO_DEP_LLHTTP=system"
"-DRESTINIO_DEP_FMT=system"
"-DRESTINIO_DEP_EXPECTED_LITE=system"
"-DRESTINIO_DEP_CATCH2=system"
;; No support to use a system provided so_5
;; (see:
;; https://github.com/Stiffstream/restinio/issues/207).
"-DRESTINIO_WITH_SOBJECTIZER=OFF")
"-DRESTINIO_DEP_CATCH2=find"
"-DRESTINIO_DEP_SOBJECTIZER=find")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'change-directory
(lambda _
(chdir "dev")))
(add-after 'change-directory 'use-system-catch2
;; It's not currently possible to select a system-provided catch2,
;; so patch the build system (see:
;; https://github.com/Stiffstream/restinio/issues/208).
(lambda _
(substitute* "CMakeLists.txt"
(("add_subdirectory\\(catch2\\)")
"find_package(Catch2 REQUIRED)")))))))
(chdir "dev"))))))
(native-inputs
(list catch2-3
expected-lite
@ -3986,8 +3975,8 @@ A very simple IM client working over the DHT.
(define-public dhtnet
;; There is no tag nor release; use the latest available commit.
(let ((revision "1")
(commit "41848a2c770d7eb0940d731014b81643f85e0d07"))
(let ((revision "2")
(commit "024c46fb1f14276d4adf15764ed97b733890826e"))
(package
(name "dhtnet")
;; The base version is taken from the CMakeLists.txt file.
@ -4000,7 +3989,7 @@ A very simple IM client working over the DHT.
(file-name (git-file-name name version))
(sha256
(base32
"18v2pjrxfrd26p2z27s90marx7b593nz1xwi47lnp2ja7lm1pj4m"))))
"191gmfdg22hkmxvzh5i19lr512q4bhgajhlg9mxxgb7jq0842mc6"))))
(outputs (list "out" "debug"))
(build-system cmake-build-system)
(arguments
@ -4016,11 +4005,10 @@ A very simple IM client working over the DHT.
;; The connectionManager test currently segfaults (see:
;; https://git.jami.net/savoirfairelinux/dhtnet/-/issues/18).
((".*tests_connectionManager.*") "")
;; The fileutils test fail, asserting an unexpected returned
;; value for the removeAll call when the directory to be
;; removed is missing (see:
;; https://git.jami.net/savoirfairelinux/dhtnet/-/issues/17).
((".*tests_fileutils.*") "")))))))
;; The ICE tests fail inside the containerized build
;; environment, perhaps relying on a name resolver (see:
;; https://git.jami.net/savoirfairelinux/dhtnet/-/issues/25).
((".*tests_ice.*") "")))))))
(native-inputs (list cppunit pkg-config))
;; This library depends on the Jami fork of pjproject that adds ICE
;; support.
@ -4551,7 +4539,7 @@ network.")
(define-public ngtcp2
(package
(name "ngtcp2")
(version "1.3.0")
(version "1.4.0")
(source
(origin
(method url-fetch)
@ -4559,7 +4547,7 @@ network.")
"releases/download/v" version "/"
"ngtcp2-" version ".tar.xz"))
(sha256
(base32 "16qkik9185ygkr351a7q59l1rv6dzw51j4f7vkzfvzh385kqdqy3"))))
(base32 "0jnay7m4zkg6v2zcidswv9xbyjgsvjbhwf8ykqjcw1jwkwxl7ldm"))))
(build-system gnu-build-system)
(arguments
(list

View File

@ -8342,9 +8342,14 @@ library FFTW.")
(properties '((tunable? . #t)))
(build-system dune-build-system)
(arguments
`(#:tests? #f)) ; No test target.
(list #:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'find-openblas
(lambda* _
(setenv "LACAML_LIBS" "-lopenblas"))))
#:tests? #f)) ; No test target.
(native-inputs
(list openblas lapack ocaml-base ocaml-stdio))
(list openblas ocaml-base ocaml-stdio))
(home-page "https://mmottl.github.io/lacaml/")
(synopsis
"OCaml-bindings to BLAS and LAPACK")

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013-2023 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013-2024 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015, 2017, 2020, 2021, 2022, 2023 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2017 Muriithi Frederick Muriuki <fredmanglis@gmail.com>
;;; Copyright © 2017, 2018 Oleg Pykhalov <go.wigust@gmail.com>
@ -649,6 +649,18 @@ the Nix package manager.")
(modify-inputs (package-propagated-inputs guix)
(delete "guile-ssh"))))))
(define-public (guix-for-channels channels)
"Return a package corresponding to CHANNELS."
(package
(inherit guix)
(source (find guix-channel? channels))
(build-system channel-build-system)
(arguments
`(#:channels ,(remove guix-channel? channels)))
(inputs '())
(native-inputs '())
(propagated-inputs '())))
(define-public current-guix-package
;; This parameter allows callers to override the package that 'current-guix'
;; returns. This is useful when 'current-guix' cannot compute it by itself,
@ -1781,8 +1793,8 @@ in an isolated environment, in separate namespaces.")
(license license:gpl3+)))
(define-public nar-herder
(let ((commit "50de312c3a818afd6a93adc17d16ae4ff97ba436")
(revision "25"))
(let ((commit "6ceb0a3b3000ce85a9263833b2398cb44a2871eb")
(revision "26"))
(package
(name "nar-herder")
(version (git-version "0" revision commit))
@ -1793,7 +1805,7 @@ in an isolated environment, in separate namespaces.")
(commit commit)))
(sha256
(base32
"0nrgh75509ys9cb0p9w5gbsakyz4pcbx6mbfhq47pcjf6h69phb2"))
"15vxpm1i3pyv47yp0xgsm3pn4gq0kcqfd4a02q62vyjmbqf0hrpi"))
(file-name (string-append name "-" version "-checkout"))))
(build-system gnu-build-system)
(arguments

View File

@ -65,14 +65,14 @@
(define-public parallel
(package
(name "parallel")
(version "20240222")
(version "20240322")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://gnu/parallel/parallel-"
version ".tar.bz2"))
(sha256
(base32 "0ml5xicx4lwg2irhl38pdysmq1rmgxcn3m7pjci653r3grm9p87b"))
(base32 "15baksvj028im496wivr55mz9zqh74njrrd7djxggarx42d045qb"))
(snippet
'(begin
(use-modules (guix build utils))

View File

@ -94,6 +94,7 @@
#:use-module (gnu packages golang)
#:use-module (gnu packages golang-build)
#:use-module (gnu packages golang-crypto)
#:use-module (gnu packages golang-xyz)
#:use-module (gnu packages gtk)
#:use-module (gnu packages guile)
#:use-module (gnu packages kerberos)

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,29 @@
Submitted By: Douglas R. Reno <renodr at linuxfromscratch dot org>
Date: 2024-02-26
Initial Package Version: 23.08.5
Upstream Status: Rejected (Qt6 port is primary now)
Origin: Self
Description: Fixes building Gwenview with recent kImageAnnotator
and kColorPicker versions by adjusting their paths
and FOUND variables so that the correct libraries are
selected.
--- gwenview-23.08.5.orig/CMakeLists.txt 2024-02-26 15:02:29.702754535 -0600
+++ gwenview-23.08.5/CMakeLists.txt 2024-02-26 15:09:48.012866877 -0600
@@ -166,11 +166,11 @@ if(NOT WITHOUT_X11)
endif()
if (QT_MAJOR_VERSION STREQUAL "5")
- find_package(kImageAnnotator)
- set_package_properties(kImageAnnotator PROPERTIES URL "https://github.com/ksnip/kImageAnnotator" DESCRIPTION "The kImageAnnotator library provides tools to annotate" TYPE REQUIRED)
- if(kImageAnnotator_FOUND)
- set(KIMAGEANNOTATOR_FOUND 1)
- find_package(kColorPicker REQUIRED)
+ find_package(kImageAnnotator-Qt5)
+ set_package_properties(kImageAnnotator-Qt5 PROPERTIES URL "https://github.com/ksnip/kImageAnnotator" DESCRIPTION "The kImageAnnotator library provides tools to annotate" TYPE REQUIRED)
+ if(kImageAnnotator-Qt5_FOUND)
+ set(kImageAnnotator_FOUND 1)
+ find_package(kColorPicker-Qt5 REQUIRED)
if(NOT kImageAnnotator_VERSION VERSION_LESS 0.5.0)
set(KIMAGEANNOTATOR_CAN_LOAD_TRANSLATIONS 1)
endif()

View File

@ -1,15 +0,0 @@
Upstream status: https://review.jami.net/c/jami-client-qt/+/25640
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
index d50908cf..587c9d15 100644
--- a/tests/CMakeLists.txt
+++ b/tests/CMakeLists.txt
@@ -73,6 +73,8 @@ endif()
string(TOUPPER ${CMAKE_BUILD_TYPE} BUILD_TYPE)
+set(QUICK_TEST_SOURCE_DIR "${CMAKE_SOURCE_DIR}tests/qml/src")
+
set(QML_TESTS_SOURCE_FILES
${CMAKE_SOURCE_DIR}/tests/qml/main.cpp
${TEST_QML_RESOURCES}

View File

@ -0,0 +1,37 @@
Upstream-status: https://lists.gnu.org/archive/html/jami/2024-03/msg00008.html
This makes it possible to use the system-provided qwindowkit library.
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 6d2dccfb..8dedff50 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -100,13 +100,13 @@ endif()
# qwindowkit (frameless window)
add_fetch_content(
- TARGET qwindowkit
+ TARGET QWindowKit
URL https://github.com/stdware/qwindowkit.git
BRANCH 79b1f3110754f9c21af2d7dacbd07b1a9dbaf6ef
PATCHES ${QWINDOWKIT_PATCHES}
OPTIONS ${QWINDOWKIT_OPTIONS}
)
-list(APPEND CLIENT_INCLUDE_DIRS ${QWindowKit_BINARY_DIR}/include)
+
list(APPEND CLIENT_LIBS QWindowKit::Quick)
set(CMAKE_AUTOMOC ON)
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
index b2730b71..4960899e 100644
--- a/tests/CMakeLists.txt
+++ b/tests/CMakeLists.txt
@@ -48,7 +48,7 @@ target_include_directories(test_common_obj PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_SOURCE_DIR}/src)
target_link_directories(test_common_obj PRIVATE ${CLIENT_LINK_DIRS})
-target_link_libraries(test_common_obj ${QML_TEST_LIBS})
+target_link_libraries(test_common_obj ${QML_TEST_LIBS} ${CLIENT_LIBS})
target_compile_definitions(test_common_obj PRIVATE BUILD_TESTING="ON")
set(COMMON_TESTS_SOURCES

View File

@ -0,0 +1,26 @@
Upstream-status: https://lists.gnu.org/archive/html/jami/2024-03/msg00005.html
Fix macro value checking.
diff --git a/tests/qml/main.cpp b/tests/qml/main.cpp
index 2fbecebe..8cb3de69 100644
--- a/tests/qml/main.cpp
+++ b/tests/qml/main.cpp
@@ -35,7 +35,7 @@
#include <QtQuickTest/quicktest.h>
#include <QSignalSpy>
-#ifdef WITH_WEBENGINE
+#if WITH_WEBENGINE
#include <QtWebEngineCore>
#include <QtWebEngineQuick>
#endif
@@ -192,7 +192,7 @@ main(int argc, char** argv)
// Allow the user to enable fatal warnings for certain tests.
Utils::remove_argument(argv, argc, "--failonwarn", [&]() { qputenv("QT_FATAL_WARNINGS", "1"); });
-#ifdef WITH_WEBENGINE
+#if WITH_WEBENGINE
QtWebEngineQuick::initialize();
#endif
QTEST_SET_MAIN_SOURCE_PATH

View File

@ -16,13 +16,14 @@ Change-Id: I637959fefce6a21b0ee73a793acb6c3c42dcdce0
1 file changed, 25 insertions(+), 11 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 38e7a4e2..3f1bd599 100644
index e802357f..6d2dccfb 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -545,19 +545,33 @@ add_subdirectory(3rdparty/SortFilterProxyModel)
@@ -600,20 +600,34 @@ add_subdirectory(3rdparty/SortFilterProxyModel)
set(SFPM_OBJECTS $<TARGET_OBJECTS:SortFilterProxyModel>)
# md4c
-set(BUILD_MD2HTML_EXECUTABLE OFF CACHE BOOL "Don't build md2html executable" FORCE)
-set(BUILD_SHARED_LIBS OFF CACHE BOOL "Don't build shared md4c library" FORCE)
-add_subdirectory(3rdparty/md4c EXCLUDE_FROM_ALL)
-list(APPEND CLIENT_LINK_DIRS ${MD4C_BINARY_DIR}/src)
@ -34,6 +35,7 @@ index 38e7a4e2..3f1bd599 100644
+ list(APPEND CLIENT_LIBS md4c::md4c-html)
+else()
+ message("Using bundled md4c-html library")
+ set(BUILD_MD2HTML_EXECUTABLE OFF CACHE BOOL "Don't build md2html executable" FORCE)
+ set(BUILD_SHARED_LIBS OFF CACHE BOOL "Don't build shared md4c library" FORCE)
+ add_subdirectory(3rdparty/md4c EXCLUDE_FROM_ALL)
+ list(APPEND CLIENT_LINK_DIRS ${MD4C_BINARY_DIR}/src)

View File

@ -0,0 +1,47 @@
Remove code added by 'JiaT75', the malicious actor that backdoored `xz`:
https://github.com/libarchive/libarchive/pull/2101
At libarchive, they are reviewing all code contributed by this actor:
https://github.com/libarchive/libarchive/issues/2103
See the original disclosure and subsequent discussion for more
information about this incident:
https://seclists.org/oss-sec/2024/q1/268
Patch copied from upstream source repository:
https://github.com/libarchive/libarchive/pull/2101/commits/e200fd8abfb4cf895a1cab4d89b67e6eefe83942
From 6110e9c82d8ba830c3440f36b990483ceaaea52c Mon Sep 17 00:00:00 2001
From: Ed Maste <emaste@freebsd.org>
Date: Fri, 29 Mar 2024 18:02:06 -0400
Subject: [PATCH] tar: make error reporting more robust and use correct errno
(#2101)
As discussed in #1609.
---
tar/read.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/tar/read.c b/tar/read.c
index af3d3f42..a7f14a07 100644
--- a/tar/read.c
+++ b/tar/read.c
@@ -371,8 +371,9 @@ read_archive(struct bsdtar *bsdtar, char mode, struct archive *writer)
if (r != ARCHIVE_OK) {
if (!bsdtar->verbose)
safe_fprintf(stderr, "%s", archive_entry_pathname(entry));
- fprintf(stderr, ": %s: ", archive_error_string(a));
- fprintf(stderr, "%s", strerror(errno));
+ safe_fprintf(stderr, ": %s: %s",
+ archive_error_string(a),
+ strerror(archive_errno(a)));
if (!bsdtar->verbose)
fprintf(stderr, "\n");
bsdtar->return_value = 1;
--
2.41.0

View File

@ -1,37 +0,0 @@
Fix build failure with GCC 11:
------
[...]
/tmp/guix-build-opencolorio-1.1.1.drv-0/source/src/core/ImageDesc.cpp:60:51: error: this pointer is null [-Werror=nonnull]
60 | os << "width=" << packedImg->getWidth() << ", ";
| ^
/tmp/guix-build-opencolorio-1.1.1.drv-0/source/src/core/ImageDesc.cpp:274:10: note: in a call to non-static member function long int OpenColorIO::v1::PackedImageDesc::getWidth() const
274 | long PackedImageDesc::getWidth() const
| ^~~~~~~~~~~~~~~
/tmp/guix-build-opencolorio-1.1.1.drv-0/source/src/core/ImageDesc.cpp:61:53: error: this pointer is null [-Werror=nonnull]
61 | os << "height=" << packedImg->getHeight() << ", ";
| ^
/tmp/guix-build-opencolorio-1.1.1.drv-0/source/src/core/ImageDesc.cpp:279:10: note: in a call to non-static member function long int OpenColorIO::v1::PackedImageDesc::getHeight() const
279 | long PackedImageDesc::getHeight() const
| ^~~~~~~~~~~~~~~
cc1plus: all warnings being treated as errors
[...]
------
Patch copied from Gentoo:
https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7e726d850502018b6760da78dbd4a419603016b8
diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt
index 1eb691b6..cff9bd83 100644
--- a/src/core/CMakeLists.txt
+++ b/src/core/CMakeLists.txt
@@ -23,8 +23,6 @@ if(WIN32)
if("${CMAKE_BUILD_TYPE}" STREQUAL "Release")
set(EXTERNAL_COMPILE_FLAGS "${EXTERNAL_COMPILE_FLAGS} /WX")
endif()
-else()
- set(EXTERNAL_COMPILE_FLAGS "${EXTERNAL_COMPILE_FLAGS} -Werror")
endif()
# SHARED

View File

@ -1,61 +0,0 @@
From 1036d77b34a5fa15e56f516b81b9928006848cbd Mon Sep 17 00:00:00 2001
From: Damien Miller <djm@mindrot.org>
Date: Fri, 22 Dec 2023 17:56:26 +1100
Subject: [PATCH] better detection of broken -fzero-call-used-regs
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
gcc 13.2.0 on ppc64le refuses to compile some function, including
cipher.c:compression_alg_list() with an error:
> sorry, unimplemented: argument used is not supportedcw
> for -fzero-call-used-regs on this target
This extends the autoconf will-it-work test with a similarly-
structured function that seems to catch this.
Spotted/tested by Colin Watson; bz3645
---
Taken from upsteam, and for Guix by jackhill@jackhill.us
Thanks Marcel van der Boom for noticing: https://issues.guix.gnu.org/67948#2
m4/openssh.m4 | 12 +++++++++---
1 file changed, 9 insertions(+), 3 deletions(-)
diff --git a/m4/openssh.m4 b/m4/openssh.m4
index 5d4c56280..033df501c 100644
--- a/m4/openssh.m4
+++ b/m4/openssh.m4
@@ -20,18 +20,24 @@ char *f2(char *s, ...) {
va_end(args);
return strdup(ret);
}
+const char *f3(int s) {
+ return s ? "good" : "gooder";
+}
int main(int argc, char **argv) {
- (void)argv;
char b[256], *cp;
+ const char *s;
/* Some math to catch -ftrapv problems in the toolchain */
int i = 123 * argc, j = 456 + argc, k = 789 - argc;
float l = i * 2.1;
double m = l / 0.5;
long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
+ (void)argv;
f(1);
- snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ s = f3(f(2));
+ snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
if (write(1, b, 0) == -1) exit(0);
- cp = f2("%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ cp = f2("%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
+ if (write(1, cp, 0) == -1) exit(0);
free(cp);
/*
* Test fallthrough behaviour. clang 10's -Wimplicit-fallthrough does
--
2.41.0

View File

@ -0,0 +1,49 @@
Patch retrieved from NixOS
https://github.com/NixOS/nixpkgs/blob/93ecdaa1f34354c9476062dc4fe323b442c087d5/pkgs/development/libraries/qt-6/patches/0006-qtbase-find-tools-in-PATH.patch
From a8b9fae710a2bd5e743f5e16364eaa8c38dbd784 Mon Sep 17 00:00:00 2001
From: rewine <luhongxu@deepin.org>
Date: Wed, 29 Mar 2023 11:51:33 +0800
Subject: [PATCH 06/11] qtbase-find-tools-in-PATH
1. find qt's tools in `QTTOOLSPATH` env
qt assumes that all components use the same install prefix
we can't get the real prefix for qttools when build qtbase
we will add /libexec to `QTTOOLSPATH` in qtToolsHook
find_path will also search in 'PATH' by default
see `CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH`
2. disable tool_dependencies_enabled
We can guarantee the build order of qt components in nixpkgs
tools in qttools always build before qtdoc
qdoc_bin is not a build target now, since we find it in `QTTOOLSPATH`
---
cmake/QtDocsHelpers.cmake | 11 ++++++++---
1 file changed, 8 insertions(+), 3 deletions(-)
diff --git a/cmake/QtDocsHelpers.cmake b/cmake/QtDocsHelpers.cmake
index 48ed5a324bf..91d8d41fb1f 100644
--- a/cmake/QtDocsHelpers.cmake
+++ b/cmake/QtDocsHelpers.cmake
@@ -47,9 +47,14 @@ function(qt_internal_add_docs)
set(doc_tools_libexec "${QT_BUILD_INTERNALS_RELOCATABLE_INSTALL_PREFIX}/${INSTALL_LIBEXECDIR}")
endif()
- set(qdoc_bin "${doc_tools_bin}/qdoc${CMAKE_EXECUTABLE_SUFFIX}")
- set(qtattributionsscanner_bin "${doc_tools_libexec}/qtattributionsscanner${CMAKE_EXECUTABLE_SUFFIX}")
- set(qhelpgenerator_bin "${doc_tools_libexec}/qhelpgenerator${CMAKE_EXECUTABLE_SUFFIX}")
+ set(tool_dependencies_enabled FALSE)
+
+ find_path(qdoc_path name qdoc PATHS ENV QTTOOLSPATH)
+ find_path(qtattributionsscanner_path name qtattributionsscanner PATHS ENV QTTOOLSPATH)
+ find_path(qhelpgenerator_path name qhelpgenerator PATHS ENV QTTOOLSPATH)
+ set(qdoc_bin "${qdoc_path}/qdoc${CMAKE_EXECUTABLE_SUFFIX}")
+ set(qtattributionsscanner_bin "${qtattributionsscanner_path}/qtattributionsscanner${CMAKE_EXECUTABLE_SUFFIX}")
+ set(qhelpgenerator_bin "${qhelpgenerator_path}/qhelpgenerator${CMAKE_EXECUTABLE_SUFFIX}")
get_target_property(target_type ${target} TYPE)
if (NOT target_type STREQUAL "INTERFACE_LIBRARY")
--
2.42.0

View File

@ -0,0 +1,29 @@
Patch retrieved from NixOS
https://github.com/NixOS/nixpkgs/blob/93ecdaa1f34354c9476062dc4fe323b442c087d5/pkgs/development/libraries/qt-6/patches/0003-qtbase-qmake-fix-includedir-in-generated-pkg-config.patch
From 6088085d3074316dd74639fc6c1233e5862aff11 Mon Sep 17 00:00:00 2001
From: Nick Cao <nickcao@nichi.co>
Date: Fri, 14 Apr 2023 09:34:46 +0800
Subject: [PATCH 03/11] qtbase: qmake: fix includedir in generated pkg-config
---
qmake/generators/makefile.cpp | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/qmake/generators/makefile.cpp b/qmake/generators/makefile.cpp
index 11d2f0ff7df..c78ed0d3485 100644
--- a/qmake/generators/makefile.cpp
+++ b/qmake/generators/makefile.cpp
@@ -3412,8 +3412,7 @@ MakefileGenerator::writePkgConfigFile()
<< varGlue("QMAKE_PKGCONFIG_CFLAGS", "", " ", " ")
// << varGlue("DEFINES","-D"," -D"," ")
;
- if (!project->values("QMAKE_DEFAULT_INCDIRS").contains(includeDir))
- t << "-I${includedir}";
+ t << "-I${includedir}";
if (target_mode == TARG_MAC_MODE && project->isActiveConfig("lib_bundle")
&& libDir != QLatin1String("/Library/Frameworks")) {
t << " -F${libdir}";
--
2.42.0

View File

@ -0,0 +1,33 @@
Retrieved from nixpkgs.
Modified to use QML_IMPORT_PATH instead of QML2_IMPORT_PATH.
From d7a9a3b0ecdbb1b5829f25954d763d767f1c8794 Mon Sep 17 00:00:00 2001
From: Nick Cao <nickcao@nichi.co>
Date: Tue, 10 Oct 2023 10:12:56 -0400
Subject: [PATCH 07/11] qtbase: pass to qmlimportscanner the QML2_IMPORT_PATH
---
src/tools/macdeployqt/shared/shared.cpp | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/src/tools/macdeployqt/shared/shared.cpp b/src/tools/macdeployqt/shared/shared.cpp
index 2ae4f998944..ba10ae02bcd 100644
--- a/src/tools/macdeployqt/shared/shared.cpp
+++ b/src/tools/macdeployqt/shared/shared.cpp
@@ -1297,6 +1297,13 @@ bool deployQmlImports(const QString &appBundlePath, DeploymentInfo deploymentInf
argumentList.append( "-importPath");
argumentList.append(qmlImportsPath);
+ // In a modularized installation of qt as we have in Nix, instead, we will
+ // read the paths from the environment, as they are spread in multiple
+ // locations and normally set in the environment like this
+ auto envQmlImportPaths = ::qgetenv("QML_IMPORT_PATH").split(':');
+ for (const QString &importPath : envQmlImportPaths)
+ argumentList << "-importPath" << importPath;
+
// run qmlimportscanner
QProcess qmlImportScanner;
qmlImportScanner.start(qmlImportScannerPath, argumentList);
--
2.42.0

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