Merge branch 'master' into wip-webkit
commit
256d5b3598
etc/completion/bash
gnu
packages
aux-files/linux-libre
system
guix
import
platforms
|
@ -62,8 +62,7 @@
|
|||
(name "lbraun"))
|
||||
("ACC2 3BA0 59F7 CCF4 08F0 43AD 442A 84B8 C70E 2F87"
|
||||
(name "lilyp"))
|
||||
(;; primary: "4F71 6F9A 8FA2 C80E F1B5 E1BA 5E35 F231 DE1A C5E0"
|
||||
"B051 5948 F1E7 D3C1 B980 38A0 2646 FA30 BACA 7F08"
|
||||
("6840 722E EEE4 D3A6 4EE5 3EAC 6AAC 1963 757F 47FF"
|
||||
(name "lfam"))
|
||||
("BBB0 2DDF 2CEA F6A8 0D1D E643 A2A0 6DF2 A33A 54FA"
|
||||
(name "mbakke"))
|
||||
|
|
|
@ -138,6 +138,7 @@ MODULES = \
|
|||
guix/ipfs.scm \
|
||||
guix/platform.scm \
|
||||
guix/platforms/arm.scm \
|
||||
guix/platforms/avr.scm \
|
||||
guix/platforms/mips.scm \
|
||||
guix/platforms/powerpc.scm \
|
||||
guix/platforms/riscv.scm \
|
||||
|
@ -420,10 +421,6 @@ AUX_FILES = \
|
|||
gnu/packages/aux-files/linux-libre/6.6-arm64.conf \
|
||||
gnu/packages/aux-files/linux-libre/6.6-i686.conf \
|
||||
gnu/packages/aux-files/linux-libre/6.6-x86_64.conf \
|
||||
gnu/packages/aux-files/linux-libre/6.5-arm.conf \
|
||||
gnu/packages/aux-files/linux-libre/6.5-arm64.conf \
|
||||
gnu/packages/aux-files/linux-libre/6.5-i686.conf \
|
||||
gnu/packages/aux-files/linux-libre/6.5-x86_64.conf \
|
||||
gnu/packages/aux-files/linux-libre/6.1-arm.conf \
|
||||
gnu/packages/aux-files/linux-libre/6.1-arm64.conf \
|
||||
gnu/packages/aux-files/linux-libre/6.1-i686.conf \
|
||||
|
|
|
@ -1684,6 +1684,11 @@ command to submit patches. To list the available actions of the script,
|
|||
you can invoke it via the @command{etc/teams.scm help} command. For
|
||||
more information regarding teams, @pxref{Teams}.
|
||||
|
||||
@quotation Note
|
||||
On foreign distros, you might have to use @command{./pre-inst-env git
|
||||
send-email} for @file{etc/teams.scm} to work.
|
||||
@end quotation
|
||||
|
||||
@unnumberedsubsubsec Multiple Patches
|
||||
@anchor{Multiple Patches}
|
||||
@cindex cover letter
|
||||
|
|
101
doc/guix.texi
101
doc/guix.texi
|
@ -119,6 +119,9 @@ Copyright @copyright{} 2023 Tanguy Le Carrour@*
|
|||
Copyright @copyright{} 2023 Zheng Junjie@*
|
||||
Copyright @copyright{} 2023 Brian Cully@*
|
||||
Copyright @copyright{} 2023 Felix Lechner@*
|
||||
Copyright @copyright{} 2023 Foundation Devices, Inc.@*
|
||||
Copyright @copyright{} 2023 Thomas Ieong@*
|
||||
Copyright @copyright{} 2023 Saku Laesvuori@*
|
||||
|
||||
Permission is granted to copy, distribute and/or modify this document
|
||||
under the terms of the GNU Free Documentation License, Version 1.3 or
|
||||
|
@ -4058,6 +4061,7 @@ guix-daemon}). It can also be disabled temporarily by passing the
|
|||
|
||||
@node Getting Substitutes from Other Servers
|
||||
@subsection Getting Substitutes from Other Servers
|
||||
@c Note: This section name appears in a hint printed by 'guix weather'.
|
||||
|
||||
@cindex substitute servers, adding more
|
||||
Guix can look up and fetch substitutes from several servers. This is
|
||||
|
@ -4157,6 +4161,21 @@ can list as many substitute servers as you like, with the caveat that
|
|||
substitute lookup can be slowed down if too many servers need to be
|
||||
contacted.
|
||||
|
||||
@quotation Troubleshooting
|
||||
To diagnose problems, you can run @command{guix weather}. For example,
|
||||
running:
|
||||
|
||||
@example
|
||||
guix weather coreutils
|
||||
@end example
|
||||
|
||||
@noindent
|
||||
not only tells you which of the currently-configured servers has
|
||||
substitutes for the @code{coreutils} package, it also reports whether
|
||||
one of these servers is unauthorized. @xref{Invoking guix weather}, for
|
||||
more information.
|
||||
@end quotation
|
||||
|
||||
Note that there are also situations where one may want to add the URL of
|
||||
a substitute server @emph{without} authorizing its key.
|
||||
@xref{Substitute Authentication}, to understand this fine point.
|
||||
|
@ -16498,7 +16517,10 @@ up building packages by yourself (@pxref{Substitutes}). The
|
|||
specified servers so you can have an idea of whether you'll be grumpy
|
||||
today. It can sometimes be useful info as a user, but it is primarily
|
||||
useful to people running @command{guix publish} (@pxref{Invoking guix
|
||||
publish}).
|
||||
publish}). Sometimes substitutes @emph{are} available but they are not
|
||||
authorized on your system; @command{guix weather} reports it so you can
|
||||
authorize them if you want (@pxref{Getting Substitutes from Other
|
||||
Servers}).
|
||||
|
||||
@cindex statistics, for substitutes
|
||||
@cindex availability of substitutes
|
||||
|
@ -16565,8 +16587,9 @@ The available options are listed below.
|
|||
@table @code
|
||||
@item --substitute-urls=@var{urls}
|
||||
@var{urls} is the space-separated list of substitute server URLs to
|
||||
query. When this option is omitted, the default set of substitute
|
||||
servers is queried.
|
||||
query. When this option is omitted, the URLs specified with the
|
||||
@option{--substitute-urls} option of @command{guix-daemon} are used or,
|
||||
as a last resort, the default set of substitute URLs.
|
||||
|
||||
@item --system=@var{system}
|
||||
@itemx -s @var{system}
|
||||
|
@ -16760,6 +16783,7 @@ The available targets are:
|
|||
|
||||
- aarch64-linux-gnu
|
||||
- arm-linux-gnueabihf
|
||||
- avr
|
||||
- i586-pc-gnu
|
||||
- i686-linux-gnu
|
||||
- i686-w64-mingw32
|
||||
|
@ -19377,7 +19401,8 @@ and DNS-SD.
|
|||
@anchor{guix-configuration-build-machines}
|
||||
@item @code{build-machines} (default: @code{#f})
|
||||
This field must be either @code{#f} or a list of gexps evaluating to a
|
||||
@code{build-machine} record (@pxref{Daemon Offload Setup}).
|
||||
@code{build-machine} record or to a list of @code{build-machine} records
|
||||
(@pxref{Daemon Offload Setup}).
|
||||
|
||||
When it is @code{#f}, the @file{/etc/guix/machines.scm} file is left
|
||||
untouched. Otherwise, the list of of gexps is written to
|
||||
|
@ -19446,7 +19471,8 @@ A list of file-like objects where each element contains a public key.
|
|||
A list of strings where each element is a substitute URL.
|
||||
|
||||
@item @code{build-machines} (default: @code{'()})
|
||||
A list of gexps that evaluate to @code{build-machine} records
|
||||
A list of gexps that evaluate to @code{build-machine} records or to a list of
|
||||
@code{build-machine} records.
|
||||
(@pxref{Daemon Offload Setup}).
|
||||
|
||||
Using this field, a service may add new build machines to receive builds
|
||||
|
@ -27615,6 +27641,66 @@ on TCP port 5232 of @code{localhost} and use the @code{htpasswd} file at
|
|||
@end table
|
||||
@end deftp
|
||||
|
||||
@subsubheading Rspamd Service
|
||||
@cindex email
|
||||
@cindex spam
|
||||
|
||||
@defvar rspamd-service-type
|
||||
This is the type of the @uref{https://rspamd.com/, Rspamd} filtering
|
||||
system whose value should be a @code{rspamd-configuration}.
|
||||
@end defvar
|
||||
|
||||
@c %start of fragment
|
||||
|
||||
@deftp {Data Type} rspamd-configuration
|
||||
Available @code{rspamd-configuration} fields are:
|
||||
|
||||
@table @asis
|
||||
@item @code{package} (default: @code{rspamd}) (type: file-like)
|
||||
The package that provides rspamd.
|
||||
|
||||
@item @code{config-file} (default: @code{%default-rspamd-config-file}) (type: file-like)
|
||||
File-like object of the configuration file to use. By default all
|
||||
workers are enabled except fuzzy and they are binded to their usual
|
||||
ports, e.g localhost:11334, localhost:11333 and so on
|
||||
|
||||
@item @code{local.d-files} (default: @code{()}) (type: directory-tree)
|
||||
Configuration files in local.d, provided as a list of two element lists
|
||||
where the first element is the filename and the second one is a
|
||||
file-like object. Settings in these files will be merged with the
|
||||
defaults.
|
||||
|
||||
@item @code{override.d-files} (default: @code{()}) (type: directory-tree)
|
||||
Configuration files in override.d, provided as a list of two element
|
||||
lists where the first element is the filename and the second one is a
|
||||
file-like object. Settings in these files will override the defaults.
|
||||
|
||||
@item @code{user} (default: @code{%default-rspamd-account}) (type: user-account)
|
||||
The user to run rspamd as.
|
||||
|
||||
@item @code{group} (default: @code{%default-rspamd-group}) (type: user-group)
|
||||
The group to run rspamd as.
|
||||
|
||||
@item @code{debug?} (default: @code{#f}) (type: boolean)
|
||||
Force debug output.
|
||||
|
||||
@item @code{insecure?} (default: @code{#f}) (type: boolean)
|
||||
Ignore running workers as privileged users.
|
||||
|
||||
@item @code{skip-template?} (default: @code{#f}) (type: boolean)
|
||||
Do not apply Jinja templates.
|
||||
|
||||
@item @code{shepherd-requirements} (default: @code{(loopback)}) (type: list-of-symbols)
|
||||
This is a list of symbols naming Shepherd services that this service
|
||||
will depend on.
|
||||
|
||||
@end table
|
||||
|
||||
@end deftp
|
||||
|
||||
|
||||
@c %end of fragment
|
||||
|
||||
@node Messaging Services
|
||||
@subsection Messaging Services
|
||||
|
||||
|
@ -45850,6 +45936,11 @@ Platform targeting x86 CPU running GNU/Hurd (also referred to as
|
|||
``GNU'').
|
||||
@end defvar
|
||||
|
||||
@defvar avr
|
||||
Platform targeting AVR CPUs without an operating system, with run-time support
|
||||
from AVR Libc.
|
||||
@end defvar
|
||||
|
||||
@node System Images
|
||||
@chapter Creating System Images
|
||||
|
||||
|
|
|
@ -139,7 +139,8 @@ _guix_is_dash_f ()
|
|||
{
|
||||
_guix_is_short_option f ||
|
||||
_guix_is_long_option file ||
|
||||
_guix_is_long_option install-from-file
|
||||
_guix_is_long_option install-from-file ||
|
||||
_guix_is_long_option whole-file
|
||||
}
|
||||
|
||||
_guix_is_dash_l ()
|
||||
|
@ -333,6 +334,14 @@ _guix_complete ()
|
|||
else
|
||||
_guix_complete_available_package "$word_at_point"
|
||||
fi
|
||||
elif [[ "$command" = "style" ]]
|
||||
then
|
||||
if _guix_is_dash_f
|
||||
then
|
||||
_guix_complete_file
|
||||
else
|
||||
_guix_complete_available_package "$word_at_point"
|
||||
fi
|
||||
else
|
||||
_guix_complete_available_package "$word_at_point"
|
||||
fi
|
||||
|
|
|
@ -48,6 +48,12 @@
|
|||
;; Search path for target headers when cross-compiling.
|
||||
(map (cut string-append "CROSS_" <>) %gcc-include-paths))
|
||||
|
||||
(define* (patch-genmultilib-shebang #:key inputs native-inputs #:allow-other-keys)
|
||||
"Patch-shebang in the gcc/genmultilib file doesn't work as it contains several
|
||||
scripts inside, each with a #!/bin/sh that needs patching."
|
||||
(substitute* "gcc/genmultilib"
|
||||
(("#!/bin/sh") (string-append "#!" (which "sh")))))
|
||||
|
||||
(define* (make-cross-binutils-visible #:key outputs inputs target
|
||||
#:allow-other-keys)
|
||||
"Create symlinks for 'as', 'nm', and 'ld' in the \"out\" output, under
|
||||
|
@ -162,6 +168,31 @@ C_*INCLUDE_PATH."
|
|||
(cons "LIBRARY_PATH" %gcc-include-paths))
|
||||
#t))
|
||||
|
||||
(define* (set-cross-path/avr #:key inputs #:allow-other-keys)
|
||||
(match (assoc-ref inputs "libc")
|
||||
((? string? libc)
|
||||
(define (cross? x)
|
||||
;; Return #t if X is a cross-libc.
|
||||
(string-prefix? libc x))
|
||||
|
||||
(let ((cpath (string-append libc "/avr/include")))
|
||||
(for-each (cut setenv <> cpath)
|
||||
%gcc-cross-include-paths))
|
||||
|
||||
(setenv "CROSS_LIBRARY_PATH"
|
||||
(string-append libc "/avr/lib"))
|
||||
|
||||
(for-each (lambda (var)
|
||||
(and=> (getenv var)
|
||||
(lambda (value)
|
||||
(let* ((path (search-path-as-string->list value))
|
||||
(native-path (list->search-path-as-string
|
||||
(remove cross? path) ":")))
|
||||
(setenv var native-path)))))
|
||||
(cons "LIBRARY_PATH" %gcc-include-paths)))
|
||||
;; AVR sans-libc cross-compiler.
|
||||
(else #t)))
|
||||
|
||||
(define (install-strip . _)
|
||||
"Install a stripped GCC."
|
||||
;; Unlike our 'strip' phase, this will do the right thing for
|
||||
|
@ -173,14 +204,18 @@ C_*INCLUDE_PATH."
|
|||
"Modify PHASES to include everything needed to build a cross-GCC for TARGET,
|
||||
a target triplet."
|
||||
(modify-phases phases
|
||||
(add-after 'unpack 'patch-genmultilib-shebang
|
||||
patch-genmultilib-shebang)
|
||||
(add-before 'configure 'set-cross-path
|
||||
;; This mingw32 target checking logic should match that of target-mingw?
|
||||
;; in (guix utils), but (guix utils) is too large too copy over to the
|
||||
;; build side entirely and for now we have no way to select variables to
|
||||
;; copy over. See (gnu packages cross-base) for more details.
|
||||
(if (string-suffix? "-mingw32" target)
|
||||
(cut set-cross-path/mingw #:target target <...>)
|
||||
set-cross-path))
|
||||
(cond
|
||||
((string-suffix? "-mingw32" target)
|
||||
(cut set-cross-path/mingw #:target target <...>))
|
||||
((string-prefix? "avr" target) set-cross-path/avr)
|
||||
(#t set-cross-path)))
|
||||
(add-after 'install 'make-cross-binutils-visible
|
||||
(cut make-cross-binutils-visible #:target target <...>))
|
||||
(replace 'install install-strip)))
|
||||
|
|
|
@ -29,6 +29,7 @@ when installed, will make the extension contained in PKG available as an
|
|||
Icecat browser extension. PKG-OUTPUT specifies which output of PKG to use."
|
||||
(package
|
||||
(inherit pkg)
|
||||
(location (package-location pkg))
|
||||
(name (string-append (package-name pkg) "-icecat"))
|
||||
(native-inputs '())
|
||||
(inputs '())
|
||||
|
|
19
gnu/ci.scm
19
gnu/ci.scm
|
@ -190,15 +190,16 @@ SYSTEM."
|
|||
|
||||
(define (pointless? target)
|
||||
;; Return #t if it makes no sense to cross-build to TARGET from SYSTEM.
|
||||
(match system
|
||||
((or "x86_64-linux" "i686-linux")
|
||||
(if (string-contains target "mingw")
|
||||
(not (string=? "x86_64-linux" system))
|
||||
#f))
|
||||
(_
|
||||
;; Don't try to cross-compile from non-Intel platforms: this isn't
|
||||
;; very useful and these are often brittle configurations.
|
||||
#t)))
|
||||
(or (string=? target "avr") ; Nothing for AVR at this time.
|
||||
(match system
|
||||
((or "x86_64-linux" "i686-linux")
|
||||
(if (string-contains target "mingw")
|
||||
(not (string=? "x86_64-linux" system))
|
||||
#f))
|
||||
(_
|
||||
;; Don't try to cross-compile from non-Intel platforms: this isn't
|
||||
;; very useful and these are often brittle configurations.
|
||||
#t))))
|
||||
|
||||
(define (either proc1 proc2 proc3)
|
||||
(lambda (x)
|
||||
|
|
|
@ -201,6 +201,7 @@ GNU_SYSTEM_MODULES = \
|
|||
%D%/packages/crates-graphics.scm \
|
||||
%D%/packages/crates-gtk.scm \
|
||||
%D%/packages/cross-base.scm \
|
||||
%D%/packages/cross-toolchain.scm \
|
||||
%D%/packages/crypto.scm \
|
||||
%D%/packages/cryptsetup.scm \
|
||||
%D%/packages/cups.scm \
|
||||
|
@ -1182,6 +1183,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/fp16-implicit-double.patch \
|
||||
%D%/packages/patches/fp16-system-libraries.patch \
|
||||
%D%/packages/patches/fpc-reproducibility.patch \
|
||||
%D%/packages/patches/fpc-glibc-2.34-compat.patch \
|
||||
%D%/packages/patches/fpm-newer-clamp-fix.patch \
|
||||
%D%/packages/patches/freedink-engine-fix-sdl-hints.patch \
|
||||
%D%/packages/patches/freeimage-libtiff-compat.patch \
|
||||
|
@ -1728,7 +1730,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/openmw-assume-nonconst-SIGSTKSZ.patch \
|
||||
%D%/packages/patches/openssh-trust-guix-store-directory.patch \
|
||||
%D%/packages/patches/openresolv-restartcmd-guix.patch \
|
||||
%D%/packages/patches/openrgb-unbundle-hueplusplus.patch \
|
||||
|
@ -1942,7 +1943,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/rpcbind-CVE-2017-8779.patch \
|
||||
%D%/packages/patches/rtags-separate-rct.patch \
|
||||
%D%/packages/patches/racket-chez-scheme-bin-sh.patch \
|
||||
%D%/packages/patches/racket-backport-8.10-rktboot.patch \
|
||||
%D%/packages/patches/racket-backport-8.11-layered-docs.patch \
|
||||
%D%/packages/patches/racket-rktio-bin-sh.patch \
|
||||
%D%/packages/patches/racket-zuo-bin-sh.patch \
|
||||
%D%/packages/patches/remake-impure-dirs.patch \
|
||||
|
|
|
@ -4486,7 +4486,7 @@ Python loading in HPC environments.")
|
|||
(let ((real-name "inxi"))
|
||||
(package
|
||||
(name "inxi-minimal")
|
||||
(version "3.3.30-1")
|
||||
(version "3.3.31-2")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -4495,7 +4495,7 @@ Python loading in HPC environments.")
|
|||
(commit version)))
|
||||
(file-name (git-file-name real-name version))
|
||||
(sha256
|
||||
(base32 "0k27m4a19p32c00w4jpmqy17v0ca4g5zixyw97yy12932c73d0dy"))))
|
||||
(base32 "1fca5minalpmizbxh5kmjiv8xrl7k6g91zn8d84fxmbhsk8vn3kk"))))
|
||||
(build-system trivial-build-system)
|
||||
(inputs
|
||||
(list bash-minimal
|
||||
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -1,4 +1,7 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2015, 2017 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2022 Artyom V. Poptsov <poptsov.artyom@gmail.com>
|
||||
;;; Copyright © 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;;
|
||||
|
@ -29,13 +32,17 @@
|
|||
#:use-module (gnu packages autotools)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages bash)
|
||||
#:use-module (gnu packages check)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages avr)
|
||||
#:use-module (gnu packages documentation)
|
||||
#:use-module (gnu packages elf)
|
||||
#:use-module (gnu packages gl)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages llvm)
|
||||
#:use-module (gnu packages ncurses)
|
||||
#:use-module (gnu packages version-control)
|
||||
#:use-module (gnu packages vim)
|
||||
#:use-module (gnu packages ruby))
|
||||
|
||||
(define-public simavr
|
||||
|
@ -118,6 +125,7 @@ multipart HEX files.")
|
|||
;; only built).
|
||||
(list
|
||||
#:tests? #f
|
||||
#:target "avr"
|
||||
#:modules '((guix build gnu-build-system)
|
||||
(guix build utils)
|
||||
(ice-9 match)
|
||||
|
@ -168,7 +176,7 @@ multipart HEX files.")
|
|||
(mkdir-p dest)
|
||||
(copy-recursively html dest)))
|
||||
html-dirs)))))))
|
||||
(native-inputs (list doxygen (make-avr-toolchain)))
|
||||
(native-inputs (list doxygen))
|
||||
(home-page "https://www.lufa-lib.org/")
|
||||
(synopsis "Lightweight USB Framework for AVRs")
|
||||
(description "UFA is a simple to use, lightweight framework which sits
|
||||
|
@ -178,3 +186,40 @@ package contains the user-submitted projects and bootloaders for use with
|
|||
compatible microcontroller models, as well as the demos and the
|
||||
documentation.")
|
||||
(license license:expat))) ;see LUFA/License.txt
|
||||
|
||||
(define-public microscheme
|
||||
(package
|
||||
(name "microscheme")
|
||||
(version "0.9.4")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/ryansuchocki/microscheme")
|
||||
(commit (string-append "v" version))))
|
||||
(sha256
|
||||
(base32 "1bflwirpcd58bngbs6hgjfwxl894ni2gpdd4pj10pm2mjhyj5dgw"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:parallel-build? #f ; fails to build otherwise
|
||||
#:tests? #f ; no tests
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure))
|
||||
#:make-flags
|
||||
(list (string-append "PREFIX=" (assoc-ref %outputs "out")))))
|
||||
(native-inputs
|
||||
(list clang cppcheck unzip xxd))
|
||||
(home-page "https://github.com/ryansuchocki/microscheme/")
|
||||
(synopsis "Scheme subset for Atmel microcontrollers")
|
||||
(description
|
||||
"Microscheme, or @code{(ms)} for short, is a functional programming
|
||||
language for the Arduino, and for Atmel 8-bit AVR microcontrollers in general.
|
||||
Microscheme is a subset of Scheme, in the sense that every valid @code{(ms)}
|
||||
program is also a valid Scheme program (with the exception of Arduino
|
||||
hardware-specific primitives). The @code{(ms)} compiler performs function
|
||||
inlining, and features an aggressive tree-shaker, eliminating unused top-level
|
||||
definitions. Microscheme has a robust @dfn{Foreign Function Interface} (FFI)
|
||||
meaning that C code may be invoked directly from (ms) programs.")
|
||||
(license license:expat)))
|
||||
|
|
|
@ -1,9 +1,7 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2014, 2016 Manolis Fragkiskos Ragkousis <manolis837@gmail.com>
|
||||
;;; Copyright © 2015, 2017, 2023 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2017, 2023 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2016 David Thompson <davet@gnu.org>
|
||||
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
|
||||
;;; Copyright © 2020 Arun Isaac <arunisaac@systemreboot.net>
|
||||
;;; Copyright © 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
|
@ -29,18 +27,14 @@
|
|||
#:use-module (guix memoization)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system trivial)
|
||||
#:use-module (gnu packages check)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages cross-base)
|
||||
#:use-module (gnu packages flashing-tools)
|
||||
#:use-module (gnu packages gcc)
|
||||
#:use-module (gnu packages llvm)
|
||||
#:use-module (gnu packages vim)
|
||||
#:export (make-avr-toolchain))
|
||||
#:export (make-avr-libc
|
||||
make-avr-toolchain))
|
||||
|
||||
;;; Commentary:
|
||||
;;;
|
||||
|
@ -84,18 +78,7 @@
|
|||
(format #t
|
||||
"environment variable `CPLUS_INCLUDE_PATH' \
|
||||
changed to ~a~%"
|
||||
(getenv "CPLUS_INCLUDE_PATH")))))
|
||||
;; Without a working multilib build, the resulting GCC lacks
|
||||
;; support for nearly every AVR chip.
|
||||
(add-after 'unpack 'fix-genmultilib
|
||||
(lambda _
|
||||
;; patch-shebang doesn't work here because there are
|
||||
;; actually several scripts inside this script, each with
|
||||
;; a #!/bin/sh that needs patching.
|
||||
(substitute* "gcc/genmultilib"
|
||||
(("#!/bin/sh") (string-append "#!" (which "sh"))))))))
|
||||
((#:configure-flags flags)
|
||||
#~(delete "--disable-multilib" #$flags))))
|
||||
(getenv "CPLUS_INCLUDE_PATH")))))))))
|
||||
(native-search-paths
|
||||
(list (search-path-specification
|
||||
(variable "CROSS_C_INCLUDE_PATH")
|
||||
|
@ -119,7 +102,10 @@ changed to ~a~%"
|
|||
(define make-avr-gcc
|
||||
(memoize make-avr-gcc/implementation))
|
||||
|
||||
(define* (make-avr-libc/implementation #:key (xgcc gcc))
|
||||
(define* (make-avr-libc/implementation #:key
|
||||
(xbinutils (cross-binutils "avr"))
|
||||
(xgcc (cross-gcc "avr"
|
||||
#:xbinutils xbinutils)))
|
||||
(package
|
||||
(name "avr-libc")
|
||||
(version "2.0.0")
|
||||
|
@ -132,12 +118,15 @@ changed to ~a~%"
|
|||
"15svr2fx8j6prql2il2fc0ppwlv50rpmyckaxx38d3gxxv97zpdj"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:out-of-source? #t
|
||||
#:configure-flags '("--host=avr")))
|
||||
(native-inputs `(("avr-binutils" ,(make-avr-binutils))
|
||||
("avr-gcc" ,(make-avr-gcc #:xgcc xgcc))))
|
||||
'(#:target "avr"
|
||||
#:out-of-source? #t
|
||||
;; Avoid including itself as this package is a target input and cannot
|
||||
;; use the normal cross compilation inputs.
|
||||
#:implicit-cross-inputs? #f))
|
||||
(native-inputs `(("cross-binutils" ,xbinutils)
|
||||
("cross-gcc" ,xgcc)))
|
||||
(home-page "https://www.nongnu.org/avr-libc/")
|
||||
(synopsis "The AVR C Library")
|
||||
(synopsis "AVR C Library")
|
||||
(description
|
||||
"AVR Libc is a project whose goal is to provide a high quality C library
|
||||
for use with GCC on Atmel AVR microcontrollers.")
|
||||
|
@ -149,7 +138,7 @@ for use with GCC on Atmel AVR microcontrollers.")
|
|||
|
||||
(define* (make-avr-toolchain/implementation #:key (xgcc gcc))
|
||||
(let ((avr-binutils (make-avr-binutils))
|
||||
(avr-libc (make-avr-libc #:xgcc xgcc))
|
||||
(avr-libc (make-avr-libc #:xgcc (cross-gcc "avr" #:xgcc xgcc)))
|
||||
(avr-gcc (make-avr-gcc #:xgcc xgcc)))
|
||||
;; avr-libc checks the compiler version and passes "--enable-device-lib"
|
||||
;; for avr-gcc > 5.1.0. It wouldn't install the library for atmega32u4
|
||||
|
@ -175,40 +164,3 @@ C++.")
|
|||
|
||||
(define make-avr-toolchain
|
||||
(memoize make-avr-toolchain/implementation))
|
||||
|
||||
(define-public microscheme
|
||||
(package
|
||||
(name "microscheme")
|
||||
(version "0.9.4")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/ryansuchocki/microscheme")
|
||||
(commit (string-append "v" version))))
|
||||
(sha256
|
||||
(base32 "1bflwirpcd58bngbs6hgjfwxl894ni2gpdd4pj10pm2mjhyj5dgw"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:parallel-build? #f ; fails to build otherwise
|
||||
#:tests? #f ; no tests
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure))
|
||||
#:make-flags
|
||||
(list (string-append "PREFIX=" (assoc-ref %outputs "out")))))
|
||||
(native-inputs
|
||||
(list clang cppcheck unzip xxd))
|
||||
(home-page "https://github.com/ryansuchocki/microscheme/")
|
||||
(synopsis "Scheme subset for Atmel microcontrollers")
|
||||
(description
|
||||
"Microscheme, or @code{(ms)} for short, is a functional programming
|
||||
language for the Arduino, and for Atmel 8-bit AVR microcontrollers in general.
|
||||
Microscheme is a subset of Scheme, in the sense that every valid @code{(ms)}
|
||||
program is also a valid Scheme program (with the exception of Arduino
|
||||
hardware-specific primitives). The @code{(ms)} compiler performs function
|
||||
inlining, and features an aggressive tree-shaker, eliminating unused top-level
|
||||
definitions. Microscheme has a robust @dfn{Foreign Function Interface} (FFI)
|
||||
meaning that C code may be invoked directly from (ms) programs.")
|
||||
(license license:expat)))
|
||||
|
|
|
@ -644,13 +644,13 @@ detection, and lossless compression.")
|
|||
(define-public borg
|
||||
(package
|
||||
(name "borg")
|
||||
(version "1.2.6")
|
||||
(version "1.2.7")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "borgbackup" version))
|
||||
(sha256
|
||||
(base32 "178klb3pglhhz553frf928v7zvaiqvri9fbhj33yx7h3hvqgi9mp"))
|
||||
(base32 "06j1v4bw9jkjh6m29ns5sigmp0cslcf0cyy8rrqij11w72ijhgzn"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
#~(begin
|
||||
|
@ -759,7 +759,7 @@ detection, and lossless compression.")
|
|||
lz4
|
||||
openssl
|
||||
;; This is the latest version of msgpack accepted by 'setup.py'.
|
||||
python-msgpack-1.0.2
|
||||
python-msgpack
|
||||
;; FUSE 3 isn't working well, so we stick with FUSE 2 for now:
|
||||
;; <https://issues.guix.gnu.org/53407>
|
||||
python-llfuse
|
||||
|
|
|
@ -2887,13 +2887,13 @@ mass spectrometry} (MS1) data.")
|
|||
(define-public r-agimicrorna
|
||||
(package
|
||||
(name "r-agimicrorna")
|
||||
(version "2.50.0")
|
||||
(version "2.52.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "AgiMicroRna" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1gydc2sy0lf2h83dzr60w9k3ipqd8h62q6764xpn31girwx70rdz"))))
|
||||
"0cimi60asz5mmrq2qmnyqq9x5yg14cc67j8135x9zlklblsfyf35"))))
|
||||
(properties `((upstream-name . "AgiMicroRna")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
|
@ -3300,13 +3300,13 @@ for use in Bioconductor’s AnnotationHub.")
|
|||
(define-public r-anvil
|
||||
(package
|
||||
(name "r-anvil")
|
||||
(version "1.14.0")
|
||||
(version "1.14.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "AnVIL" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0syd1m992i2xqw2djw6s07zwwvrzvd0aksix1cbhx9plpswd2245"))))
|
||||
"06n0as71m3dfbnzjfq8f1s0r40w4flc8am7zb0293c1037clmcig"))))
|
||||
(properties `((upstream-name . "AnVIL")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
|
@ -3862,13 +3862,13 @@ pairs.")
|
|||
(define-public r-aseb
|
||||
(package
|
||||
(name "r-aseb")
|
||||
(version "1.46.0")
|
||||
(version "1.46.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "ASEB" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1hiapxdbp1fg6wk62s31nkv9mkxzvd23hn3zhmf9n0nvqfhi7bdf"))))
|
||||
"1da6ld3ij55l3saj05ink8i1f6gqwyrv896qh8g94dmh6vzn2xbr"))))
|
||||
(properties `((upstream-name . "ASEB")))
|
||||
(build-system r-build-system)
|
||||
(home-page "https://bioconductor.org/packages/ASEB")
|
||||
|
@ -4408,13 +4408,13 @@ usage.")
|
|||
(define-public r-bandits
|
||||
(package
|
||||
(name "r-bandits")
|
||||
(version "1.18.0")
|
||||
(version "1.18.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "BANDITS" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1xdyi61scfay5l5v7c40wjjl83kcvagvypxnfvsws4avh08x3ni3"))))
|
||||
"0y81m37c5irpaw9pfm5b672wk804n4x1g9g5pfh1dp7pggfwbf1z"))))
|
||||
(properties `((upstream-name . "BANDITS")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
|
@ -4516,14 +4516,14 @@ retrieval analyses, or similar technologies.")
|
|||
(define-public r-biocversion
|
||||
(package
|
||||
(name "r-biocversion")
|
||||
(version "3.18.0")
|
||||
(version "3.18.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "BiocVersion" version))
|
||||
(sha256
|
||||
(base32
|
||||
"07zcf19gcbki2d18xgyrdzp3vn90cz2ww45p8ra4lc1mif5gy0c3"))))
|
||||
"15wr651ylbx3am213dsy5kdr1xc8r5c9rfq5ydxzqlmxzjgymj55"))))
|
||||
(properties `((upstream-name . "BiocVersion")))
|
||||
(build-system r-build-system)
|
||||
(home-page "https://bioconductor.org/packages/BiocVersion/")
|
||||
|
@ -4628,13 +4628,13 @@ stochastic dropout events as well as systematic allelic imbalance is used.")
|
|||
(define-public r-cellid
|
||||
(package
|
||||
(name "r-cellid")
|
||||
(version "1.10.0")
|
||||
(version "1.10.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "CelliD" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1x4kp8i204rqas2bgg4qanwdncafilymlpvxvfyv39zpdji91yv5"))))
|
||||
"13hwxhdp268h3n8d8wgr75i60apa9mama9bg049yz7c6mj5ixd1v"))))
|
||||
(properties `((upstream-name . "CelliD")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
|
@ -5269,13 +5269,13 @@ bases such as COSMIC.")
|
|||
(define-public r-degreport
|
||||
(package
|
||||
(name "r-degreport")
|
||||
(version "1.38.0")
|
||||
(version "1.38.5")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "DEGreport" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1ska9fh1bzdqd9pi67vqgx0vz4wz2r5kzmh73fb9zh9m0gnjjr23"))
|
||||
"0s0d40ac1da73w7j96lb20wchgs4c2svfrafsgi9mx5hiswfz25z"))
|
||||
(snippet
|
||||
'(delete-file "docs/jquery.sticky-kit.min.js"))))
|
||||
(properties `((upstream-name . "DEGreport")))
|
||||
|
@ -5298,6 +5298,7 @@ bases such as COSMIC.")
|
|||
r-complexheatmap
|
||||
r-consensusclusterplus
|
||||
r-cowplot
|
||||
r-dendextend
|
||||
r-deseq2
|
||||
r-dplyr
|
||||
r-edger
|
||||
|
@ -5313,6 +5314,7 @@ bases such as COSMIC.")
|
|||
r-rlang
|
||||
r-s4vectors
|
||||
r-scales
|
||||
r-stringi
|
||||
r-stringr
|
||||
r-summarizedexperiment
|
||||
r-tibble
|
||||
|
@ -5481,19 +5483,18 @@ calculation in parallel.")
|
|||
(define-public r-dmrcate
|
||||
(package
|
||||
(name "r-dmrcate")
|
||||
(version "2.14.1")
|
||||
(version "2.16.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "DMRcate" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1va60r297cl6xw5mc4nf9igfizqqzz7i5436x26iw4q35jcwlfjl"))))
|
||||
"19dxpmjjg8v2l71yjjlfj0ycvmhi9rk04q59nwjcp0aw8nvk6l3w"))))
|
||||
(properties `((upstream-name . "DMRcate")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
(list r-biomart
|
||||
r-bsseq
|
||||
r-dss
|
||||
r-edger
|
||||
r-experimenthub
|
||||
r-genomeinfodb
|
||||
|
@ -5700,14 +5701,14 @@ arbitrary genomic intervals along chromosomal ideogram.")
|
|||
(define-public r-infercnv
|
||||
(package
|
||||
(name "r-infercnv")
|
||||
(version "1.18.0")
|
||||
(version "1.18.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "infercnv" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1yxg04644yqy3wbqbsf4hcvvimkk8z60xizpy4rc48i3hxjm7nbf"))))
|
||||
"1d9in3hs2n91pv498715d3qi82c7xsnm42vnzgfyz096zjghgp7a"))))
|
||||
(properties `((upstream-name . "infercnv")))
|
||||
(build-system r-build-system)
|
||||
(inputs (list python))
|
||||
|
@ -6197,14 +6198,14 @@ problems in CEL-level data to help evaluate performance of quality metrics.")
|
|||
(define-public r-affycoretools
|
||||
(package
|
||||
(name "r-affycoretools")
|
||||
(version "1.72.0")
|
||||
(version "1.74.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "affycoretools" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1h065fhw0n2ga74csyhqbj4qfhkg058pqa684ixcski4rhsd7hcf"))))
|
||||
"0bgv8a7hf8ns472zfryf255zqdikjv08np6k6hkpvyivad25vpwy"))))
|
||||
(properties `((upstream-name . "affycoretools")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
|
@ -6215,8 +6216,8 @@ problems in CEL-level data to help evaluate performance of quality metrics.")
|
|||
r-dbi
|
||||
r-edger
|
||||
r-gcrma
|
||||
r-glimma
|
||||
r-ggplot2
|
||||
r-glimma
|
||||
r-gostats
|
||||
r-gplots
|
||||
r-hwriter
|
||||
|
@ -6318,13 +6319,13 @@ microarrays.")
|
|||
(define-public r-annotationdbi
|
||||
(package
|
||||
(name "r-annotationdbi")
|
||||
(version "1.64.0")
|
||||
(version "1.64.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "AnnotationDbi" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0nyw3x5ivq969p2w788zi4pp0pwjv5hhpjpl5lyfzhak9ydylgh6"))))
|
||||
"1bdr303a2z03c8vc8q95a4a4a8i956vimia5yik78yddd1ig9gq3"))))
|
||||
(properties
|
||||
`((upstream-name . "AnnotationDbi")))
|
||||
(build-system r-build-system)
|
||||
|
@ -6563,13 +6564,13 @@ powerful online queries from gene annotation to database mining.")
|
|||
(define-public r-biomartr
|
||||
(package
|
||||
(name "r-biomartr")
|
||||
(version "1.0.6")
|
||||
(version "1.0.7")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "biomartr" version))
|
||||
(sha256
|
||||
(base32
|
||||
"06wd8s2cssw58xp9d078fc7iycpxryccnclrk3gnh757j1h0vzim"))))
|
||||
"0ic6qbk2xmgrcc0xhxyhjafp1xbf2c5dpbqqrbkprrhynr8mq7cx"))))
|
||||
(properties `((upstream-name . "biomartr")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
|
@ -6793,13 +6794,13 @@ analysis.")
|
|||
(define-public r-champ
|
||||
(package
|
||||
(name "r-champ")
|
||||
(version "2.30.0")
|
||||
(version "2.32.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "ChAMP" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1px2pm90lxwh0yn7h1kmmf94flhjs5p4i0iav7ya1xfybyg4w2zc"))))
|
||||
"1gdcdx34bxffd6ch354qx7yjngx3lj9chv5frwjyk56jq12vjjk7"))))
|
||||
(properties `((upstream-name . "ChAMP")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
|
@ -7323,13 +7324,13 @@ global-scaling and full-quantile normalization.")
|
|||
(define-public r-edger
|
||||
(package
|
||||
(name "r-edger")
|
||||
(version "4.0.1")
|
||||
(version "4.0.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "edgeR" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0vjydwjazl7br0hvshy7jip3z6w73bif9vaky20im5rv40pqnchh"))))
|
||||
"0sz46pwa1bsqrff2igswfhhj1fcwzn34zrlawy4fnb58z48kccb0"))))
|
||||
(properties `((upstream-name . "edgeR")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
|
@ -7610,13 +7611,13 @@ genomic intervals. In addition, it can use BAM or BigWig files as input.")
|
|||
(define-public r-genomeinfodb
|
||||
(package
|
||||
(name "r-genomeinfodb")
|
||||
(version "1.38.0")
|
||||
(version "1.38.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "GenomeInfoDb" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1a82xx1ijmfxk6d4pjqy45cdrnf75yrs7l7l64brl5d5dif45s42"))))
|
||||
"07xncxak8yjy04m7zh779jfjbsdmdbk8a5xs4rbajx4zp3hm4wb7"))))
|
||||
(properties
|
||||
`((upstream-name . "GenomeInfoDb")))
|
||||
(build-system r-build-system)
|
||||
|
@ -8288,7 +8289,6 @@ methylation data at the genome scale.")
|
|||
microarray data, using nearest neighbor averaging.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
;; TODO: check javascript
|
||||
(define-public r-interactivedisplay
|
||||
(package
|
||||
(name "r-interactivedisplay")
|
||||
|
@ -8301,40 +8301,50 @@ microarray data, using nearest neighbor averaging.")
|
|||
"0w81c5kc48gjavln50ysgr3vaf8s4fb6632ckzb1q225j9ik2gia"))
|
||||
(snippet
|
||||
'(for-each delete-file
|
||||
'("inst/www/js/jquery.js"
|
||||
'("inst/www/js/d3.v2.js"
|
||||
"inst/www/js/jquery.js"
|
||||
"inst/www/js/jquery.min.js"
|
||||
"inst/www/js/jquery.dataTables.min.js")))))
|
||||
"inst/www/js/jquery.dataTables.min.js"
|
||||
"inst/www/js/jquery.dataTables.nightly.js")))))
|
||||
(properties `((upstream-name . "interactiveDisplay")))
|
||||
(build-system r-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:modules '((guix build utils)
|
||||
(guix build r-build-system)
|
||||
(srfi srfi-1))
|
||||
#:modules
|
||||
'((guix build r-build-system)
|
||||
(guix build minify-build-system)
|
||||
(guix build utils)
|
||||
(ice-9 match))
|
||||
#:imported-modules
|
||||
`(,@%r-build-system-modules
|
||||
(guix build minify-build-system))
|
||||
#:phases
|
||||
'(modify-phases %standard-phases
|
||||
(add-after 'unpack 'process-javascript
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(call-with-values
|
||||
(lambda ()
|
||||
(unzip2
|
||||
`((,(assoc-ref inputs "js-jquery-1.8.2")
|
||||
"inst/www/js/jquery.js")
|
||||
(,(assoc-ref inputs "js-jquery-1.9.1")
|
||||
"inst/www/js/jquery.min.js")
|
||||
(,(search-input-file inputs
|
||||
"/share/javascript/jquery.dataTables.min.js")
|
||||
"inst/www/js/jquery.dataTables.min.js"))))
|
||||
(lambda (sources targets)
|
||||
(for-each (lambda (source target)
|
||||
(format #true "Processing ~a --> ~a~%"
|
||||
source target)
|
||||
(invoke "esbuild" source "--minify"
|
||||
(string-append "--outfile=" target)))
|
||||
sources targets))))))))
|
||||
#~(modify-phases (@ (guix build r-build-system) %standard-phases)
|
||||
(add-after 'unpack 'process-javascript
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(with-directory-excursion "inst/"
|
||||
(for-each (match-lambda
|
||||
((source . target)
|
||||
(minify source #:target target)))
|
||||
`((,(assoc-ref inputs "js-jquery-1.8.2")
|
||||
. "www/js/jquery.js")
|
||||
(,(assoc-ref inputs "js-jquery-1.9.1")
|
||||
. "www/js/jquery.min.js")
|
||||
(,(search-input-file inputs
|
||||
"/share/javascript/jquery.dataTables.min.js")
|
||||
. "www/js/jquery.dataTables.min.js")
|
||||
(,(string-append (assoc-ref inputs "js-datatables-1.9")
|
||||
"/share/javascript/jquery.dataTables.min.js")
|
||||
. "www/js/jquery.dataTables.min.js")
|
||||
(,(string-append (assoc-ref inputs "js-datatables-1.10")
|
||||
"/share/javascript/jquery.dataTables.min.js")
|
||||
. "www/js/jquery.dataTables.nightly.js")
|
||||
(,(assoc-ref inputs "js-d3-v2")
|
||||
. "www/js/d3.v2.js")))))))))
|
||||
(propagated-inputs
|
||||
(list r-annotationdbi
|
||||
r-biocgenerics
|
||||
r-biocmanager ;this is not listed in DESCRIPTION
|
||||
r-category
|
||||
r-ggplot2
|
||||
r-gridsvg
|
||||
|
@ -8347,7 +8357,15 @@ microarray data, using nearest neighbor averaging.")
|
|||
(native-inputs
|
||||
`(("esbuild" ,esbuild)
|
||||
("r-knitr" ,r-knitr)
|
||||
("js-datatables" ,js-datatables)
|
||||
("js-d3-v2"
|
||||
,(origin
|
||||
(method url-fetch)
|
||||
(uri "https://web.archive.org/web/20230428092426id_/https://d3js.org/d3.v2.js")
|
||||
(sha256
|
||||
(base32
|
||||
"1m57mxhcynfaz6gz3v0aph5i6hx5jf455jdygyl8yzs9r2dpp5vr"))))
|
||||
("js-datatables-1.9" ,js-datatables-1.9)
|
||||
("js-datatables-1.10" ,js-datatables)
|
||||
("js-jquery-1.8.2"
|
||||
,(origin
|
||||
(method url-fetch)
|
||||
|
@ -9102,14 +9120,14 @@ package TeXshade.")
|
|||
(define-public r-msnbase
|
||||
(package
|
||||
(name "r-msnbase")
|
||||
(version "2.28.0")
|
||||
(version "2.28.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "MSnbase" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0dway94j3k2dq5p8lqzj49ql85xrxxxgmlgppqg0h8k56xqrmf5i"))))
|
||||
"1622mmm5n8yl4qjq8bda7689qdfz1rhyxyh8s3q5475al1d0mpsl"))))
|
||||
(properties `((upstream-name . "MSnbase")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
|
@ -9592,6 +9610,34 @@ package contains functions for combining the results of multiple runs of gene
|
|||
set analyses.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public r-polyester
|
||||
(package
|
||||
(name "r-polyester")
|
||||
(version "1.38.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "polyester" version))
|
||||
(sha256
|
||||
(base32 "1iycdxj0jhh2faclfzflp2cjc2zmxmhy03avv75h0qg3j5kf35l4"))))
|
||||
(properties `((upstream-name . "polyester")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
(list r-biostrings
|
||||
r-iranges
|
||||
r-limma
|
||||
r-logspline
|
||||
r-s4vectors
|
||||
r-zlibbioc))
|
||||
(native-inputs (list r-knitr))
|
||||
(home-page "https://bioconductor.org/packages/polyester")
|
||||
(synopsis "Simulate RNA-seq reads")
|
||||
(description
|
||||
"The polyester package simulates RNA-seq reads from differential expression
|
||||
experiments with replicates. The reads can then be aligned and used to perform
|
||||
comparisons of methods for differential expression.")
|
||||
(license license:artistic2.0)))
|
||||
|
||||
(define-public r-powertcr
|
||||
(package
|
||||
(name "r-powertcr")
|
||||
|
@ -9792,18 +9838,16 @@ region sets and other genomic features.")
|
|||
(define-public r-reportingtools
|
||||
(package
|
||||
(name "r-reportingtools")
|
||||
(version "2.39.0")
|
||||
(version "2.42.3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "ReportingTools" version))
|
||||
(sha256
|
||||
(base32
|
||||
"15h7vqdxfv7y0f82ff7a8brqnscs324x22izlkgjk2wqahnmr2l1"))
|
||||
"109vmrdsjdjnfrlcdyadzbwz9a50hqaahf7dawwxkbbh4mmdih78"))
|
||||
(snippet
|
||||
'(for-each delete-file
|
||||
(list "inst/doc/jslib/jquery-1.8.0.min.js"
|
||||
"inst/extdata/jslib/jquery-1.8.0.min.js")))))
|
||||
'(delete-file "inst/extdata/jslib/jquery-1.8.0.min.js"))))
|
||||
(properties
|
||||
`((upstream-name . "ReportingTools")))
|
||||
(build-system r-build-system)
|
||||
|
@ -9811,25 +9855,20 @@ region sets and other genomic features.")
|
|||
(list
|
||||
#:modules '((guix build utils)
|
||||
(guix build r-build-system)
|
||||
(srfi srfi-1))
|
||||
(guix build minify-build-system)
|
||||
(ice-9 match))
|
||||
#:imported-modules
|
||||
`(,@%r-build-system-modules
|
||||
(guix build minify-build-system))
|
||||
#:phases
|
||||
'(modify-phases %standard-phases
|
||||
'(modify-phases (@ (guix build r-build-system) %standard-phases)
|
||||
(add-after 'unpack 'process-javascript
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(call-with-values
|
||||
(lambda ()
|
||||
(unzip2
|
||||
`((,(assoc-ref inputs "_")
|
||||
"inst/doc/jslib/jquery-1.8.0.min.js"))))
|
||||
(lambda (sources targets)
|
||||
(for-each (lambda (source target)
|
||||
(format #true "Processing ~a --> ~a~%"
|
||||
source target)
|
||||
(invoke "esbuild" source "--minify"
|
||||
(string-append "--outfile=" target)))
|
||||
sources targets)))
|
||||
(copy-file "inst/doc/jslib/jquery-1.8.0.min.js"
|
||||
"inst/extdata/jslib/jquery-1.8.0.min.js"))))))
|
||||
(for-each (match-lambda
|
||||
((source . target)
|
||||
(minify source #:target target)))
|
||||
`((,(assoc-ref inputs "_")
|
||||
. "inst/extdata/jslib/jquery-1.8.0.min.js"))))))))
|
||||
(propagated-inputs
|
||||
(list r-annotate
|
||||
r-annotationdbi
|
||||
|
@ -9851,7 +9890,7 @@ region sets and other genomic features.")
|
|||
r-r-utils
|
||||
r-xml))
|
||||
(native-inputs
|
||||
(list esbuild r-knitr
|
||||
(list esbuild r-rmarkdown
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri "https://code.jquery.com/jquery-1.8.0.js")
|
||||
|
@ -9875,13 +9914,13 @@ browser.")
|
|||
(define-public r-rhdf5
|
||||
(package
|
||||
(name "r-rhdf5")
|
||||
(version "2.46.0")
|
||||
(version "2.46.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "rhdf5" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1csf5nrg2nkdwh8cz26idz6wrhj7bgnfh559mzlpdj4licnf1ymc"))))
|
||||
"0yfy0y9ywzbbdmvvraxmizv3w2x1iznhfys6hhwyi644pxh4k3xn"))))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
(list r-rhdf5filters r-rhdf5lib r-s4vectors))
|
||||
|
@ -9902,14 +9941,14 @@ the available RAM.")
|
|||
(define-public r-rhdf5filters
|
||||
(package
|
||||
(name "r-rhdf5filters")
|
||||
(version "1.14.0")
|
||||
(version "1.14.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "rhdf5filters" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1appjnggyljrn77nvv9adkwxplbrrlgkrrd1bf2b5r0nsa505hdc"))))
|
||||
"0cqf7k19k4m4swd2c1wd9cyzw9k90s3d3jq0hijjwvza50nn2dk6"))))
|
||||
(properties `((upstream-name . "rhdf5filters")))
|
||||
(build-system r-build-system)
|
||||
(arguments
|
||||
|
@ -10699,13 +10738,13 @@ level.")
|
|||
(define-public r-tcgautils
|
||||
(package
|
||||
(name "r-tcgautils")
|
||||
(version "1.22.0")
|
||||
(version "1.22.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "TCGAutils" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0r79iiqv7q83wz5w3lm271dn3jdrkggmvjdyj1wnjsih1n2viy7d"))))
|
||||
"16pcz52ynx0syb5bcnkywllqxcfp7jipqgzgjr7q70k1z13ah7a3"))))
|
||||
(properties `((upstream-name . "TCGAutils")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs (list r-annotationdbi
|
||||
|
@ -10758,13 +10797,13 @@ identifier translation via the GDC API.")
|
|||
(define-public r-trackviewer
|
||||
(package
|
||||
(name "r-trackviewer")
|
||||
(version "1.38.0")
|
||||
(version "1.38.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "trackViewer" version))
|
||||
(sha256
|
||||
(base32
|
||||
"15agkyqx6gl5zzdxra5nl0czd4j7mw456r587w039l9hzwznwbr8"))
|
||||
"008d1wg8882iq7jfmwijpchxrfva5ysl45ama62iy8s9dm0fpwsj"))
|
||||
(snippet
|
||||
'(delete-file "inst/htmlwidgets/lib/d3/d3.v4.min.js"))))
|
||||
(properties `((upstream-name . "trackViewer")))
|
||||
|
@ -11354,13 +11393,13 @@ R, enabling interactive analysis and visualization of genome-scale data.")
|
|||
(define-public r-variantannotation
|
||||
(package
|
||||
(name "r-variantannotation")
|
||||
(version "1.48.0")
|
||||
(version "1.48.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "VariantAnnotation" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1r1cyimr5l5jzgxvmrm3vq8mvz3f1klfdwy9mz31xvnvgjacr58p"))))
|
||||
"0l9xkrvsrc3m65kdjcyir6jkpa718g7idziwr0pp5yaj84bd3xia"))))
|
||||
(properties
|
||||
`((upstream-name . "VariantAnnotation")))
|
||||
(build-system r-build-system)
|
||||
|
@ -11578,13 +11617,13 @@ libraries for systems that do not have these available via other means.")
|
|||
(define-public r-zellkonverter
|
||||
(package
|
||||
(name "r-zellkonverter")
|
||||
(version "1.12.0")
|
||||
(version "1.12.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "zellkonverter" version))
|
||||
(sha256
|
||||
(base32 "02q9icblcnh0l7vah29mnhcczw8w0gpgd57v19gy7222nrqpcd9m"))))
|
||||
(base32 "029bqn25c90algvgacxbv0fdznpg879xjwfj5hiydfwq30y0kr8r"))))
|
||||
(properties `((upstream-name . "zellkonverter")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
|
@ -14561,13 +14600,13 @@ and Infinium HD arrays are also included.")
|
|||
(define-public r-lefser
|
||||
(package
|
||||
(name "r-lefser")
|
||||
(version "1.11.5")
|
||||
(version "1.12.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "lefser" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1fnccnjllgxf51dlmcvv0r66xs0wvfxrj66qrqisqd99hrpxhws2"))))
|
||||
"0aywwinp4wwwa12rq60gpfk5gn28zyimayxakgj4lhfwjk0byz8m"))))
|
||||
(properties `((upstream-name . "lefser")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
|
@ -15074,14 +15113,14 @@ to multiple hypothesis correction.")
|
|||
(define-public r-dose
|
||||
(package
|
||||
(name "r-dose")
|
||||
(version "3.28.0")
|
||||
(version "3.28.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "DOSE" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1xirazskw2d0fllyf27jvsm69amcil1znx81m9d613vl03dpwswy"))))
|
||||
"0kk4l8cxyvcq4cjjnb59zajf4ci0igml13582qqn8123cqkbf8pf"))))
|
||||
(properties `((upstream-name . "DOSE")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
|
@ -15091,10 +15130,9 @@ to multiple hypothesis correction.")
|
|||
r-ggplot2
|
||||
r-gosemsim
|
||||
r-hdo-db
|
||||
r-hpo-db
|
||||
r-mpo-db
|
||||
r-qvalue
|
||||
r-reshape2))
|
||||
r-reshape2
|
||||
r-yulab-utils))
|
||||
(native-inputs
|
||||
(list r-knitr))
|
||||
(home-page "https://guangchuangyu.github.io/software/DOSE/")
|
||||
|
@ -15783,14 +15821,14 @@ type and symbol colors.")
|
|||
(define-public r-genomicscores
|
||||
(package
|
||||
(name "r-genomicscores")
|
||||
(version "2.14.1")
|
||||
(version "2.14.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "GenomicScores" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1plpmi1sb9vv03480njf3awnc7i19f9iaxi3j6bvjzpi6zmw40dq"))))
|
||||
"1wjq6lb2x7vazlr838hlh1ar5pis2bgzya9lm8ki30d1m0hpk66k"))))
|
||||
(properties `((upstream-name . "GenomicScores")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
|
@ -16512,14 +16550,14 @@ based on @dfn{Continuous Wavelet Transform} (CWT).")
|
|||
(define-public r-xcms
|
||||
(package
|
||||
(name "r-xcms")
|
||||
(version "4.0.0")
|
||||
(version "4.0.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "xcms" version))
|
||||
(sha256
|
||||
(base32
|
||||
"10bvxww489mb4bl5v9ma6klyg359zb9ady5rl95q1mkp54hahdw8"))))
|
||||
"061ihzj8pn2g393q1gdq2jssanxm9gh5qm37fz4gna2hbd6bf79p"))))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
(list r-biobase
|
||||
|
@ -17719,14 +17757,14 @@ for other R packages to compile and link against.")
|
|||
(define-public r-flowworkspace
|
||||
(package
|
||||
(name "r-flowworkspace")
|
||||
(version "4.14.0")
|
||||
(version "4.14.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "flowWorkspace" version))
|
||||
(sha256
|
||||
(base32
|
||||
"09cpbf33b3x9b06yf41qy2fy8zviwrznrpkb9fq3an8vg8gf51lp"))))
|
||||
"0sbixbq99kmhh0ppdid1hqhb75yxb6gsm5pdz75y67i3pgwrv1sj"))))
|
||||
(properties `((upstream-name . "flowWorkspace")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
|
@ -18700,14 +18738,14 @@ populations, splice site strength, conservation, etc.")
|
|||
(define-public r-variancepartition
|
||||
(package
|
||||
(name "r-variancepartition")
|
||||
(version "1.32.1")
|
||||
(version "1.32.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "variancePartition" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1pr321hv5q2sl8lc998hkwdl2mfyzcgf2l70ny2m3hfmlclq5lnn"))))
|
||||
"0cmcg39a5939y517vhvwanqh1fwzyx6pbq47nc5cpswf7pn9cv5x"))))
|
||||
(properties
|
||||
`((upstream-name . "variancePartition")))
|
||||
(build-system r-build-system)
|
||||
|
@ -18725,6 +18763,7 @@ populations, splice site strength, conservation, etc.")
|
|||
r-lmertest
|
||||
r-mass
|
||||
r-matrix
|
||||
r-matrixstats
|
||||
r-pbkrtest
|
||||
r-rdpack
|
||||
r-remacor
|
||||
|
@ -18778,13 +18817,13 @@ features (e.g. genes, microRNAs).")
|
|||
(define-public r-ucell
|
||||
(package
|
||||
(name "r-ucell")
|
||||
(version "2.6.1")
|
||||
(version "2.6.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "UCell" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1ds11f1q6v89sfcj1sinrkv7aw3s0prf5nxf7pz4hdsvqn4zp467"))))
|
||||
"00v4b91f7y3zyndbl4wlfay8wljnqypfc05vrw15yr62d9smd35d"))))
|
||||
(properties `((upstream-name . "UCell")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs (list r-biocneighbors
|
||||
|
@ -20367,14 +20406,14 @@ plot them, and perform logrank or Wilcoxon type tests.")
|
|||
(define-public r-fhtest
|
||||
(package
|
||||
(name "r-fhtest")
|
||||
(version "1.5")
|
||||
(version "1.5.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "FHtest" version))
|
||||
(sha256
|
||||
(base32
|
||||
"00mql2r4f5hxhdqf27q3x9s5rz2zzakx2myym97b1w1s7c5znl4q"))))
|
||||
"0x7lr88w0b09ng7nps490kgj8aqdjzmp9skv9iwqgn871pnpydms"))))
|
||||
(properties `((upstream-name . "FHtest")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
|
@ -20499,13 +20538,13 @@ array-like semantic. It also provides:
|
|||
(define-public r-s4vectors
|
||||
(package
|
||||
(name "r-s4vectors")
|
||||
(version "0.40.1")
|
||||
(version "0.40.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "S4Vectors" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0pja00ssl1pd16v3bls3aybml2cwanylx8igf596zha5srcf5l5h"))))
|
||||
"10lryil0psfyal0006rbhj0dbxyn8f7mpp11h758zc217cxsdnac"))))
|
||||
(properties
|
||||
`((upstream-name . "S4Vectors")))
|
||||
(build-system r-build-system)
|
||||
|
@ -20529,14 +20568,14 @@ S4Vectors package itself.")
|
|||
(define-public r-wgcna
|
||||
(package
|
||||
(name "r-wgcna")
|
||||
(version "1.72-1")
|
||||
(version "1.72-5")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "WGCNA" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1p3zsl5r6l5r6ylnrxmbxjpim5qgmncgdjcgn5j69rzk3rv85gqx"))))
|
||||
"17g7lan1rpy6y4nmqksrf9ddp3gs58vdczfavgq1fp13zx1r2hq3"))))
|
||||
(properties `((upstream-name . "WGCNA")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
|
@ -20548,10 +20587,10 @@ S4Vectors package itself.")
|
|||
r-go-db
|
||||
r-hmisc
|
||||
r-impute
|
||||
r-rcpp
|
||||
r-survival
|
||||
r-matrixstats
|
||||
r-preprocesscore))
|
||||
r-preprocesscore
|
||||
r-rcpp
|
||||
r-survival))
|
||||
(home-page
|
||||
"http://www.genetics.ucla.edu/labs/horvath/CoexpressionNetwork/Rpackages/WGCNA/")
|
||||
(synopsis "Weighted correlation network analysis")
|
||||
|
@ -20726,14 +20765,14 @@ block processing.")
|
|||
(define-public r-rhdf5lib
|
||||
(package
|
||||
(name "r-rhdf5lib")
|
||||
(version "1.24.0")
|
||||
(version "1.24.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "Rhdf5lib" version))
|
||||
(sha256
|
||||
(base32
|
||||
"10n2grfdnri686sx52shz7y0csmcz4cky23k07803dz6qm1ljvmf"))
|
||||
"0lb5dkzfnfvxwrk8s9vzfjp8ab1sbr7b22jnzg41hgmpysi7dswh"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
|
@ -20794,10 +20833,11 @@ block processing.")
|
|||
(("cp \"\\$\\{SZIP_LIB\\}.*") "")
|
||||
(("PKG_LIBS =.*") "PKG_LIBS = -lz -lhdf5\n"))))))))
|
||||
(propagated-inputs
|
||||
(list hdf5-1.10 zlib))
|
||||
(list hdf5-1.10 r-biocstyle r-stringr zlib))
|
||||
(native-inputs
|
||||
`(("hdf5-source" ,(package-source hdf5-1.10))
|
||||
("r-knitr" ,r-knitr)))
|
||||
("r-knitr" ,r-knitr)
|
||||
("r-rmarkdown" ,r-rmarkdown)))
|
||||
(home-page "https://bioconductor.org/packages/Rhdf5lib")
|
||||
(synopsis "HDF5 library as an R package")
|
||||
(description "This package provides C and C++ HDF5 libraries for use in R
|
||||
|
@ -21205,13 +21245,13 @@ of other packages.")
|
|||
(define-public r-scater
|
||||
(package
|
||||
(name "r-scater")
|
||||
(version "1.30.0")
|
||||
(version "1.30.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "scater" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0a8wfrcp09z0aflalqhhwvz675aa32wgprqphk1axvdppknsg7vf"))))
|
||||
"06a4nxxsgmi435m06ir401w4fbrh0xdgh6mkv3i7vw001yrbrfcx"))))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
(list r-beachmat
|
||||
|
@ -21292,13 +21332,13 @@ variable and significantly correlated genes.")
|
|||
(define-public r-sparsearray
|
||||
(package
|
||||
(name "r-sparsearray")
|
||||
(version "1.2.0")
|
||||
(version "1.2.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "SparseArray" version))
|
||||
(sha256
|
||||
(base32 "0a1xg8vkjybgdr09bk2z4i82m06qnw2nhbzviyijadxiwvz6pgsz"))))
|
||||
(base32 "1kjs3v2ycpcc0plr88af1661ngmclmalkiy6am7i4m75cpa3889p"))))
|
||||
(properties `((upstream-name . "SparseArray")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs (list r-biocgenerics
|
||||
|
@ -21420,14 +21460,14 @@ memory usage and processing time is minimized.")
|
|||
(define-public r-mscoreutils
|
||||
(package
|
||||
(name "r-mscoreutils")
|
||||
(version "1.14.0")
|
||||
(version "1.14.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "MsCoreUtils" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0faj4fxfsv7ir935sn9zainhk55vdfi6abgr0s321kwmvs6prc0p"))))
|
||||
"0l6rdkpg89pds3n5y4khvaifgbvm38n0vlpi15h97rnk8x461rsz"))))
|
||||
(properties `((upstream-name . "MsCoreUtils")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
|
@ -21834,14 +21874,14 @@ family of feature/genome hypotheses.")
|
|||
(define-public r-gviz
|
||||
(package
|
||||
(name "r-gviz")
|
||||
(version "1.46.0")
|
||||
(version "1.46.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "Gviz" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0b707xxi0ch4kfxid5id16gkh9pnqwrgqpsvgbm0rc89kg73g4jz"))))
|
||||
"0an8hd2g2hp3p1vfsmxq77fm71xlf5g73j4w5mcy28x1aj073zxf"))))
|
||||
(properties `((upstream-name . "Gviz")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
|
@ -22029,14 +22069,14 @@ on the plot.")
|
|||
(define-public r-abn
|
||||
(package
|
||||
(name "r-abn")
|
||||
(version "3.0.3")
|
||||
(version "3.0.4")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "abn" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1yh9nhfphalxh77132r0fkpp71mqsfhb8jk11is4d5nvlvr5316z"))))
|
||||
"1qqsm6ldbf6rnzvspcnv87l4mkxccg4divzf6nj7j92jnhyadqia"))))
|
||||
(build-system r-build-system)
|
||||
(inputs
|
||||
(list gsl))
|
||||
|
@ -22710,14 +22750,14 @@ input.")
|
|||
(define-public r-basilisk-utils
|
||||
(package
|
||||
(name "r-basilisk-utils")
|
||||
(version "1.14.0")
|
||||
(version "1.14.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "basilisk.utils" version))
|
||||
(sha256
|
||||
(base32
|
||||
"08wsn2znw56svyv5vpxxzcynz93h5hzw1n2r6hb9h3rvc7afyvxl"))))
|
||||
"19m4h90rkk6mizllkih2xmxag8nb45qss3vydkkyj62s5zjhfh27"))))
|
||||
(properties
|
||||
`((upstream-name . "basilisk.utils")))
|
||||
(build-system r-build-system)
|
||||
|
@ -22734,14 +22774,14 @@ package, primarily for creation of the underlying Conda instance.")
|
|||
(define-public r-basilisk
|
||||
(package
|
||||
(name "r-basilisk")
|
||||
(version "1.14.0")
|
||||
(version "1.14.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "basilisk" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1z482gw04psvkgspclmxlkd9qi7srgbnr56ajngcng28sc6zqdhs"))))
|
||||
"1v67z53y2nnss6l6nk7f557kn0d5syg9n0zdgddpsz26rwdmp8ai"))))
|
||||
(properties `((upstream-name . "basilisk")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
|
@ -23101,14 +23141,14 @@ design.")
|
|||
(define-public r-biomvrcns
|
||||
(package
|
||||
(name "r-biomvrcns")
|
||||
(version "1.38.0")
|
||||
(version "1.42.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "biomvRCNS" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0n026b744ah5kcnipsyiqqs7vlz5n5im1kgv35i2pgxyzvf7a8sn"))))
|
||||
"1imni8lpjzf53w2q34ql0j9rwq6drbzxvs0nhzf6s172iqym2hq3"))))
|
||||
(properties `((upstream-name . "biomvRCNS")))
|
||||
(build-system r-build-system)
|
||||
(arguments
|
||||
|
@ -23724,14 +23764,14 @@ embeddings and functions to build new reference.")
|
|||
(define-public r-tximeta
|
||||
(package
|
||||
(name "r-tximeta")
|
||||
(version "1.20.0")
|
||||
(version "1.20.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "tximeta" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0wn7r1dzckiq3zacvcv2w780fj9bvz1vbyzcazv2qvsicbwc4vd8"))))
|
||||
"00wygiv6k75bx5qs27qlq9l6ajv9gl2bbyqi2gv6jaaaj167q4sd"))))
|
||||
(properties `((upstream-name . "tximeta")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
|
|
|
@ -1070,11 +1070,11 @@ similar.")
|
|||
(license license:gpl2+))))
|
||||
|
||||
(define-public r-stringendo
|
||||
(let ((commit "83b8f2d82a09b33b9e895438bb523a021138be01")
|
||||
(let ((commit "15594b1bba11048a812874bafec0eea1dcc8618a")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "r-stringendo")
|
||||
(version (git-version "0.3.4" revision commit))
|
||||
(version (git-version "0.6.0" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -1083,10 +1083,10 @@ similar.")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1ap0nhbyd6xx0yl2vgmwk38p22yrkv4k9hw13r35z4wf343rry6v"))))
|
||||
"15ij4zf2j9c8m9n4bqhmxkchjh2bhddwjfxngfpwv7c5wjqyi6ir"))))
|
||||
(properties `((upstream-name . "Stringendo")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs (list r-devtools r-usethis))
|
||||
(propagated-inputs (list r-clipr))
|
||||
(home-page "https://github.com/vertesy/Stringendo")
|
||||
(synopsis "Stringendo is a string parsing library")
|
||||
(description
|
||||
|
@ -1095,11 +1095,11 @@ plotnames, filenames and paths.")
|
|||
(license license:gpl3))))
|
||||
|
||||
(define-public r-readwriter
|
||||
(let ((commit "12d32cb6533ef4b9eab4d707d1502525c2034aee")
|
||||
(let ((commit "91373c44641014a1ce8e1c3e928747608aae8f54")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "r-readwriter")
|
||||
(version (git-version "0.3.2" revision commit))
|
||||
(version (git-version "1.5.3" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -1108,11 +1108,11 @@ plotnames, filenames and paths.")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1hy47g8d7zppr2i9zlkwl2yb0ii8x710hqk07h089ldx9171qxab"))))
|
||||
"156kvmplrip0w1zhs9yl5r0ayjipa0blhy614l65hbsjn1lwbskr"))))
|
||||
(properties `((upstream-name . "ReadWriter")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
(list r-gdata r-gtools r-openxlsx r-readr r-stringendo))
|
||||
(list r-gtools r-openxlsx r-readr r-stringendo))
|
||||
(home-page "https://github.com/vertesy/ReadWriter")
|
||||
(synopsis "Functions to read and write files conveniently")
|
||||
(description
|
||||
|
@ -15349,7 +15349,9 @@ activity prediction from transcriptomics data, and its R implementation
|
|||
(add-after 'unpack 'set-HOME
|
||||
(lambda _ (setenv "HOME" "/tmp"))))))
|
||||
(propagated-inputs
|
||||
(list r-complexheatmap
|
||||
(list r-basilisk
|
||||
r-basilisk-utils
|
||||
r-complexheatmap
|
||||
r-dplyr
|
||||
r-ggplot2
|
||||
r-magrittr
|
||||
|
@ -17988,7 +17990,7 @@ updated much more frequently.")
|
|||
(define-public python-ctxcore
|
||||
(package
|
||||
(name "python-ctxcore")
|
||||
(version "0.1.1")
|
||||
(version "0.2.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -17998,8 +18000,8 @@ updated much more frequently.")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"16nlj7z8pirgjad7vlgm7226b3hpw4a7n967vyfg26dsf5n8k70d"))))
|
||||
(build-system python-build-system)
|
||||
"0nv4lc46cnzpg5gcdxrsv7b4srmkq55zl3rcadw5pn3yyz5fzd2k"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
|
@ -18011,12 +18013,12 @@ updated much more frequently.")
|
|||
(setenv "SETUPTOOLS_SCM_PRETEND_VERSION" #$version))))))
|
||||
(propagated-inputs
|
||||
(list python-cytoolz
|
||||
python-numba
|
||||
python-frozendict
|
||||
python-numba
|
||||
python-numpy
|
||||
python-pandas
|
||||
python-pyarrow
|
||||
python-pyyaml
|
||||
python-pyarrow-0.16
|
||||
python-tqdm))
|
||||
(native-inputs
|
||||
(list python-pytest
|
||||
|
@ -18064,67 +18066,77 @@ tree-based ensemble regressors.")
|
|||
(license license:bsd-3)))
|
||||
|
||||
(define-public pyscenic
|
||||
(package
|
||||
(name "pyscenic")
|
||||
(version "0.11.2")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/aertslab/pySCENIC")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0pbmmr1zdb1vbbs6wx357s59d13pna6x03wq8blj6ckjws8bbq73"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
;; Numba needs a writable dir to cache functions.
|
||||
(add-before 'check 'set-numba-cache-dir
|
||||
(lambda _
|
||||
(setenv "NUMBA_CACHE_DIR" "/tmp")))
|
||||
(replace 'check
|
||||
(lambda _
|
||||
(invoke "pytest" "-v"))))))
|
||||
(propagated-inputs
|
||||
(list python-ctxcore
|
||||
python-cytoolz
|
||||
python-multiprocessing-on-dill
|
||||
python-llvmlite
|
||||
python-numba
|
||||
python-attrs
|
||||
python-frozendict
|
||||
python-numpy
|
||||
python-pandas
|
||||
python-cloudpickle
|
||||
python-dask
|
||||
python-distributed
|
||||
python-arboreto
|
||||
python-boltons
|
||||
python-setuptools
|
||||
python-pyyaml
|
||||
python-tqdm
|
||||
python-interlap
|
||||
python-umap-learn
|
||||
python-loompy
|
||||
python-networkx
|
||||
python-scipy
|
||||
python-fsspec
|
||||
python-requests
|
||||
python-aiohttp
|
||||
python-scikit-learn))
|
||||
(native-inputs
|
||||
(list python-pytest))
|
||||
(home-page "https://scenic.aertslab.org/")
|
||||
(synopsis "Single-Cell regulatory network inference and clustering")
|
||||
(description
|
||||
"pySCENIC is a Python implementation of the SCENIC pipeline (Single-Cell
|
||||
;; Latest commit from the update-pyarrow branch
|
||||
(let ((commit "5f170fdf474548c37ab381d1849c662820d658ee")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "pyscenic")
|
||||
(version (git-version "0.11.2" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/aertslab/pySCENIC")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"03qkvy400rjndg2ds6bhcaprir71mqr2v3yv9vd77lcnzxgw3s0z"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
'(modify-phases %standard-phases
|
||||
;; The cli modules referenced here have been removed, so this
|
||||
;; breaks the sanity check.
|
||||
(add-after 'unpack 'do-not-reference-deleted-modules
|
||||
(lambda _
|
||||
(substitute* "setup.py"
|
||||
(("'db2feather = .*',") "")
|
||||
(("'invertdb = .*',") "")
|
||||
(("'gmt2regions = pyscenic.cli.gmt2regions:main'") ""))))
|
||||
;; Numba needs a writable dir to cache functions.
|
||||
(add-before 'check 'set-numba-cache-dir
|
||||
(lambda _
|
||||
(setenv "NUMBA_CACHE_DIR" "/tmp"))))))
|
||||
(propagated-inputs
|
||||
(list python-ctxcore
|
||||
python-cytoolz
|
||||
python-multiprocessing-on-dill
|
||||
python-llvmlite
|
||||
python-numba
|
||||
python-attrs
|
||||
python-frozendict
|
||||
python-numpy
|
||||
python-pandas
|
||||
python-cloudpickle
|
||||
python-dask
|
||||
python-pyarrow ;XXX for dask
|
||||
python-distributed
|
||||
python-arboreto
|
||||
python-boltons
|
||||
python-setuptools
|
||||
python-pyyaml
|
||||
python-tqdm
|
||||
python-interlap
|
||||
python-umap-learn
|
||||
python-loompy
|
||||
python-networkx
|
||||
python-scipy
|
||||
python-fsspec
|
||||
python-requests
|
||||
python-aiohttp
|
||||
python-scikit-learn))
|
||||
(native-inputs
|
||||
(list python-pytest))
|
||||
(home-page "https://scenic.aertslab.org/")
|
||||
(synopsis "Single-Cell regulatory network inference and clustering")
|
||||
(description
|
||||
"pySCENIC is a Python implementation of the SCENIC pipeline (Single-Cell
|
||||
rEgulatory Network Inference and Clustering) which enables biologists to infer
|
||||
transcription factors, gene regulatory networks and cell types from
|
||||
single-cell RNA-seq data.")
|
||||
(license license:gpl3+)))
|
||||
(license license:gpl3+))))
|
||||
|
||||
(define-public python-ikarus
|
||||
(package
|
||||
|
|
|
@ -488,12 +488,16 @@ and will take advantage of multiple processor cores where possible.")
|
|||
;; test_fast_extension, test_privacy and test_resolve_links
|
||||
;; to hang, even with FAKETIME_ONLY_CMDS. Not sure why. So
|
||||
;; execute only test_ssl under faketime.
|
||||
(invoke "faketime" "2022-10-24"
|
||||
"ctest"
|
||||
"-R" "^test_ssl$"
|
||||
"-j" jobs
|
||||
"--timeout" timeout
|
||||
"--output-on-failure"))))))))
|
||||
;;
|
||||
;; Note: The test_ssl test times out in the ci.
|
||||
;; Temporarily disable it until that is resolved.
|
||||
;; (invoke "faketime" "2022-10-24"
|
||||
;; "ctest"
|
||||
;; "-R" "^test_ssl$"
|
||||
;; "-j" jobs
|
||||
;; "--timeout" timeout
|
||||
;; "--output-on-failure")
|
||||
)))))))
|
||||
(inputs (list boost openssl))
|
||||
(native-inputs `(("libfaketime" ,libfaketime)
|
||||
("python-wrapper" ,python-wrapper)
|
||||
|
|
|
@ -221,3 +221,33 @@ fill and submit login forms if a matching password entry is found.")
|
|||
|
||||
(define-public passff/icecat
|
||||
(make-icecat-extension passff))
|
||||
|
||||
(define keepassxc-browser
|
||||
(package
|
||||
(name "keepassxc-browser")
|
||||
(version "1.8.10")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url
|
||||
"https://github.com/keepassxreboot/keepassxc-browser")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1059kcb95ig18izbchwlb7pz41l4l3vjwzlmhz3w8zw2qxm6hrvx"))))
|
||||
(build-system copy-build-system)
|
||||
(properties
|
||||
'((addon-id . "keepassxc-browser@keepassxc.org")))
|
||||
(arguments
|
||||
`(#:install-plan
|
||||
'(("keepassxc-browser" ,(assq-ref properties 'addon-id)))))
|
||||
(synopsis "Browser extension for the KeePassXC password manager")
|
||||
(description
|
||||
"This package provides an extension allow the browser to work together
|
||||
with the @uref{https://keepassxc.org, KeePassXC} password manager.")
|
||||
(home-page "https://keepassxc.org")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public keepassxc-browser/icecat
|
||||
(make-icecat-extension keepassxc-browser))
|
||||
|
|
|
@ -952,7 +952,7 @@ CD data, and more. It's mostly compatible with @code{cdrtools}.")
|
|||
(define-public libmirage
|
||||
(package
|
||||
(name "libmirage")
|
||||
(version "3.2.6")
|
||||
(version "3.2.7")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
|
@ -960,7 +960,7 @@ CD data, and more. It's mostly compatible with @code{cdrtools}.")
|
|||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"19pjdmxhzl8y3brhg8fsv99b6jg4lfnl8jvcjgm4jmqrr684czr5"))))
|
||||
"1lxkpmad8l2wl0afp26jahzf5cxp10p0zl1a56lcqjwmsy0292gs"))))
|
||||
(build-system cmake-build-system)
|
||||
(native-inputs
|
||||
(list pkg-config intltool))
|
||||
|
|
|
@ -466,7 +466,7 @@ and 32-bit PowerPC architectures.")
|
|||
(package
|
||||
(inherit chez-scheme)
|
||||
(name "chez-scheme-for-racket")
|
||||
(version "9.9.9-pre-release.17")
|
||||
(version "9.9.9-pre-release.18")
|
||||
;; The version should match `scheme-version`.
|
||||
;; See racket/src/ChezScheme/s/cmacros.ss c. line 360.
|
||||
;; It will always be different than the upstream version!
|
||||
|
|
|
@ -33,14 +33,14 @@
|
|||
(define-public chicken
|
||||
(package
|
||||
(name "chicken")
|
||||
(version "5.2.0")
|
||||
(version "5.3.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://code.call-cc.org/releases/"
|
||||
version "/chicken-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1yl0hxm9cirgcp8jgxp6vv29lpswfvaw3zfkh6rsj0vkrv44k4c1"))))
|
||||
"0xhdvcdwlv9vbhxh7k0fzd32ybhc7fn83y9fj48dhzp1z7c9kbf3"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:modules ((guix build gnu-build-system)
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -13,6 +13,7 @@
|
|||
;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;; Copyright © 2021 Zheng Junjie <873216071@qq.com>
|
||||
;;; Copyright © 2022 Marius Bakke <marius@gnu.org>
|
||||
;;; Copyright © 2023 Jaeme Sifat <jaeme@runbox.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -198,6 +199,32 @@ text or blue underlined text, on ANSI terminals.")
|
|||
"1xif1bh938qpfc3d0f9xgidibpm65xix11w9gszwqnia00q7rb13"))))
|
||||
(arguments `())))
|
||||
|
||||
(define-public rust-ansiterm-0.12
|
||||
(package
|
||||
(name "rust-ansiterm")
|
||||
(version "0.12.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "ansiterm" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "1k14pywvgd829swxzji0nchk4n6yvr9xz6lkwv96v8ax77sqgdaa"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(#:cargo-inputs (("rust-ansi-colours" ,rust-ansi-colours-1)
|
||||
("rust-serde" ,rust-serde-1)
|
||||
("rust-winapi" ,rust-winapi-0.3))
|
||||
#:cargo-development-inputs (("rust-doc-comment" ,rust-doc-comment-0.3)
|
||||
("rust-regex" ,rust-regex-1)
|
||||
("rust-serde-json" ,rust-serde-json-1))))
|
||||
(home-page "https://github.com/rustadopt/ansiterm-rs")
|
||||
(synopsis "Library for ANSI terminal colours and styles (bold, underline)")
|
||||
(description
|
||||
"This package provides a library for ANSI terminal colours and
|
||||
styles (bold, underline).")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public rust-aom-sys-0.3
|
||||
(package
|
||||
(name "rust-aom-sys")
|
||||
|
@ -1134,7 +1161,9 @@ EUI-64, also known as MAC-48 media access control addresses.")
|
|||
(base32
|
||||
"0lilr4f335m1fq1acmshd51zblfaglw1hha6lhalnc1fw3cg0aag"))))
|
||||
(arguments
|
||||
`(#:cargo-inputs
|
||||
`(#:cargo-test-flags
|
||||
'("--release" "--lib" "--bins" "--tests")
|
||||
#:cargo-inputs
|
||||
(("rust-android-glue" ,rust-android-glue-0.2)
|
||||
("rust-cgl" ,rust-cgl-0.3)
|
||||
("rust-cocoa" ,rust-cocoa-0.19)
|
||||
|
@ -1170,7 +1199,9 @@ EUI-64, also known as MAC-48 media access control addresses.")
|
|||
(base32
|
||||
"1ggyyqn7dvz4yx5ygqfvnxwfb78wvdm5y6xqw5my1b4x61dv6wak"))))
|
||||
(arguments
|
||||
`(#:cargo-inputs
|
||||
`(#:cargo-test-flags
|
||||
'("--release" "--lib" "--bins" "--tests")
|
||||
#:cargo-inputs
|
||||
(("rust-android-glue" ,rust-android-glue-0.2)
|
||||
("rust-cgl" ,rust-cgl-0.2)
|
||||
("rust-cocoa" ,rust-cocoa-0.18)
|
||||
|
@ -4025,8 +4056,7 @@ the platform-specific getters provided by winit, or another library.")
|
|||
(uri (crate-uri "y4m" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "1bhdgb7hgx7j92nm6ij5n8wisp50j8ff66ks14jzwdw2mwhrjam7"))))
|
||||
(arguments `(#:skip-build? #t))))
|
||||
(base32 "1bhdgb7hgx7j92nm6ij5n8wisp50j8ff66ks14jzwdw2mwhrjam7"))))))
|
||||
|
||||
;;;
|
||||
;;; Avoid adding new packages to the end of this file. To reduce the chances
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -9,6 +9,7 @@
|
|||
;;; Copyright © 2020 Mathieu Othacehe <m.othacehe@gmail.com>
|
||||
;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;; Copyright © 2023 Josselin Poiret <dev@jpoiret.xyz>
|
||||
;;; Copyright © 2023 Foundation Devices, Inc. <hello@foundationdevices.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -27,11 +28,13 @@
|
|||
|
||||
(define-module (gnu packages cross-base)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages avr)
|
||||
#:use-module (gnu packages gcc)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu packages hurd)
|
||||
#:use-module (gnu packages mingw)
|
||||
#:use-module (guix memoization)
|
||||
#:use-module (guix platform)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix diagnostics)
|
||||
|
@ -39,6 +42,7 @@
|
|||
#:use-module (guix i18n)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system trivial)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (srfi srfi-1)
|
||||
#:use-module (srfi srfi-26)
|
||||
|
@ -48,7 +52,8 @@
|
|||
cross-libc
|
||||
cross-gcc
|
||||
cross-mig
|
||||
cross-kernel-headers))
|
||||
cross-kernel-headers
|
||||
cross-gcc-toolchain))
|
||||
|
||||
(define-syntax %xgcc
|
||||
;; GCC package used as the basis for cross-compilation. It doesn't have to
|
||||
|
@ -196,18 +201,44 @@ base compiler and using LIBC (which may be either a libc package or #f.)"
|
|||
#~((string-append "--with-toolexeclibdir="
|
||||
(assoc-ref %outputs "lib")
|
||||
"/" #$target "/lib"))
|
||||
#~())
|
||||
|
||||
|
||||
#$@(if (target-avr? target)
|
||||
#~("--enable-multilib")
|
||||
#~())
|
||||
|
||||
|
||||
#$@(if (and libc (target-avr? target))
|
||||
#~(;; By default GCC will attemp to compile
|
||||
;; some libraries for other languages (objc,
|
||||
;; fortran) but compilation fails for AVR.
|
||||
"--enable-languages=c,c++"
|
||||
(string-append "--with-native-system-header-dir="
|
||||
#$libc "/" #$target "/include"))
|
||||
#~()))
|
||||
|
||||
#$(if libc
|
||||
flags
|
||||
#~(remove (cut string-match "--enable-languages.*" <>)
|
||||
#$flags))))
|
||||
(remove
|
||||
(lambda (flag)
|
||||
(or (and #$libc
|
||||
(string-prefix? "--enable-languages" flag))
|
||||
(and #$libc
|
||||
#$(target-avr? target)
|
||||
(string-prefix? "--with-native-system-header-dir"
|
||||
flag))
|
||||
(and #$(target-avr? target)
|
||||
(string=? flag "--disable-multilib"))))
|
||||
#$flags)))
|
||||
((#:make-flags flags)
|
||||
(if libc
|
||||
#~(let ((libc (assoc-ref %build-inputs "libc")))
|
||||
#~(let ((libc (assoc-ref %build-inputs "libc"))
|
||||
(lib-prefix (if #$(target-avr? target)
|
||||
(string-append "/" #$target)
|
||||
"")))
|
||||
;; FLAGS_FOR_TARGET are needed for the target libraries to receive
|
||||
;; the -Bxxx for the startfiles.
|
||||
(cons (string-append "FLAGS_FOR_TARGET=-B" libc "/lib")
|
||||
(cons (string-append "FLAGS_FOR_TARGET=-B"
|
||||
libc lib-prefix "/lib")
|
||||
#$flags))
|
||||
flags))
|
||||
((#:phases phases)
|
||||
|
@ -241,6 +272,31 @@ base compiler and using LIBC (which may be either a libc package or #f.)"
|
|||
"-DTOOLDIR_BASE_PREFIX=\\\"../../../../\\\""))
|
||||
#t))
|
||||
|
||||
(define (cross-gcc-search-paths target)
|
||||
"Return list of GCC search path specifications needed for TARGET."
|
||||
(cons (search-path-specification
|
||||
(variable "CROSS_LIBRARY_PATH")
|
||||
(files `("lib" "lib64"
|
||||
,@(list (string-append target "/lib")
|
||||
(string-append target "/lib64")))))
|
||||
|
||||
(map (lambda (variable)
|
||||
(search-path-specification
|
||||
(variable variable)
|
||||
|
||||
;; Add 'include/c++' here so that <cstdlib>'s
|
||||
;; "#include_next <stdlib.h>" finds GCC's
|
||||
;; <stdlib.h>, not libc's.
|
||||
(files (match variable
|
||||
("CROSS_CPLUS_INCLUDE_PATH"
|
||||
`("include/c++" "include"
|
||||
,@(list (string-append target "/include/c++")
|
||||
(string-append target "/include"))))
|
||||
(_
|
||||
`("include"
|
||||
,(string-append target "/include")))))))
|
||||
%gcc-cross-include-paths)))
|
||||
|
||||
(define* (cross-gcc target
|
||||
#:key
|
||||
(xgcc %xgcc)
|
||||
|
@ -321,6 +377,9 @@ target that libc."
|
|||
("libc" ,libc))
|
||||
`(,@inputs
|
||||
("mingw-source" ,(package-source mingw-w64)))))
|
||||
((and libc (target-avr? target))
|
||||
`(,@inputs
|
||||
("libc" ,libc)))
|
||||
(libc
|
||||
`(,@inputs
|
||||
("libc" ,libc)
|
||||
|
@ -333,22 +392,7 @@ target that libc."
|
|||
(inputs '())
|
||||
|
||||
;; Only search target inputs, not host inputs.
|
||||
(search-paths (cons (search-path-specification
|
||||
(variable "CROSS_LIBRARY_PATH")
|
||||
(files '("lib" "lib64")))
|
||||
(map (lambda (variable)
|
||||
(search-path-specification
|
||||
(variable variable)
|
||||
|
||||
;; Add 'include/c++' here so that <cstdlib>'s
|
||||
;; "#include_next <stdlib.h>" finds GCC's
|
||||
;; <stdlib.h>, not libc's.
|
||||
(files (match variable
|
||||
("CROSS_CPLUS_INCLUDE_PATH"
|
||||
'("include/c++" "include"))
|
||||
(_
|
||||
'("include"))))))
|
||||
%gcc-cross-include-paths)))
|
||||
(search-paths (cross-gcc-search-paths target))
|
||||
(native-search-paths '())))
|
||||
|
||||
(define* (cross-kernel-headers . args)
|
||||
|
@ -610,74 +654,127 @@ the base compiler. Use XBINUTILS as the associated cross-Binutils."
|
|||
(xbinutils (cross-binutils target))
|
||||
(xheaders (cross-kernel-headers target)))
|
||||
"Return LIBC cross-built for TARGET, a GNU triplet. Use XGCC and XBINUTILS
|
||||
and the cross tool chain."
|
||||
(if (target-mingw? target)
|
||||
(let ((machine (substring target 0 (string-index target #\-))))
|
||||
(make-mingw-w64 machine
|
||||
#:xgcc xgcc
|
||||
#:xbinutils xbinutils))
|
||||
(package
|
||||
(inherit libc)
|
||||
(name (string-append "glibc-cross-" target))
|
||||
(arguments
|
||||
(substitute-keyword-arguments
|
||||
`( ;; Disable stripping (see above.)
|
||||
#:strip-binaries? #f
|
||||
and the cross tool chain. If TARGET doesn't have a standard C library #f is
|
||||
returned."
|
||||
(match target
|
||||
((? target-mingw?)
|
||||
(let ((machine (substring target 0 (string-index target #\-))))
|
||||
(make-mingw-w64 machine
|
||||
#:xgcc xgcc
|
||||
#:xbinutils xbinutils)))
|
||||
((or (? target-linux?) (? target-hurd?))
|
||||
(package
|
||||
(inherit libc)
|
||||
(name (string-append "glibc-cross-" target))
|
||||
(arguments
|
||||
(substitute-keyword-arguments
|
||||
`(;; Disable stripping (see above.)
|
||||
#:strip-binaries? #f
|
||||
|
||||
;; This package is used as a target input, but it should not have
|
||||
;; the usual cross-compilation inputs since that would include
|
||||
;; itself.
|
||||
#:implicit-cross-inputs? #f
|
||||
;; This package is used as a target input, but it should not have
|
||||
;; the usual cross-compilation inputs since that would include
|
||||
;; itself.
|
||||
#:implicit-cross-inputs? #f
|
||||
|
||||
;; We need SRFI 26.
|
||||
#:modules ((guix build gnu-build-system)
|
||||
(guix build utils)
|
||||
(srfi srfi-26))
|
||||
;; We need SRFI 26.
|
||||
#:modules ((guix build gnu-build-system)
|
||||
(guix build utils)
|
||||
(srfi srfi-26))
|
||||
|
||||
,@(package-arguments libc))
|
||||
((#:configure-flags flags)
|
||||
`(cons ,(string-append "--host=" target)
|
||||
,(if (target-hurd? target)
|
||||
`(append (list "--disable-werror"
|
||||
,@%glibc/hurd-configure-flags)
|
||||
,flags)
|
||||
flags)))
|
||||
((#:phases phases)
|
||||
`(modify-phases ,phases
|
||||
(add-before 'configure 'set-cross-kernel-headers-path
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let* ((kernel (assoc-ref inputs "kernel-headers"))
|
||||
(cpath (string-append kernel "/include")))
|
||||
(for-each (cut setenv <> cpath)
|
||||
',%gcc-cross-include-paths)
|
||||
(setenv "CROSS_LIBRARY_PATH"
|
||||
(string-append kernel "/lib")) ; for Hurd's libihash
|
||||
#t)))
|
||||
,@(if (target-hurd? target)
|
||||
'((add-after 'install 'augment-libc.so
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out")))
|
||||
(substitute* (string-append out "/lib/libc.so")
|
||||
(("/[^ ]+/lib/libc.so.0.3")
|
||||
(string-append out "/lib/libc.so.0.3"
|
||||
" libmachuser.so libhurduser.so"))))
|
||||
#t)))
|
||||
'())))))
|
||||
,@(package-arguments libc))
|
||||
((#:configure-flags flags)
|
||||
`(cons ,(string-append "--host=" target)
|
||||
,(if (target-hurd? target)
|
||||
`(append (list "--disable-werror"
|
||||
,@%glibc/hurd-configure-flags)
|
||||
,flags)
|
||||
flags)))
|
||||
((#:phases phases)
|
||||
`(modify-phases ,phases
|
||||
(add-before 'configure 'set-cross-kernel-headers-path
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let* ((kernel (assoc-ref inputs "kernel-headers"))
|
||||
(cpath (string-append kernel "/include")))
|
||||
(for-each (cut setenv <> cpath)
|
||||
',%gcc-cross-include-paths)
|
||||
(setenv "CROSS_LIBRARY_PATH"
|
||||
(string-append kernel "/lib")) ; for Hurd's libihash
|
||||
#t)))
|
||||
,@(if (target-hurd? target)
|
||||
'((add-after 'install 'augment-libc.so
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out")))
|
||||
(substitute* (string-append out "/lib/libc.so")
|
||||
(("/[^ ]+/lib/libc.so.0.3")
|
||||
(string-append out "/lib/libc.so.0.3"
|
||||
" libmachuser.so libhurduser.so"))))
|
||||
#t)))
|
||||
'())))))
|
||||
|
||||
;; Shadow the native "kernel-headers" because glibc's recipe expects the
|
||||
;; "kernel-headers" input to point to the right thing.
|
||||
(propagated-inputs `(("kernel-headers" ,xheaders)))
|
||||
;; Shadow the native "kernel-headers" because glibc's recipe expects the
|
||||
;; "kernel-headers" input to point to the right thing.
|
||||
(propagated-inputs `(("kernel-headers" ,xheaders)))
|
||||
|
||||
(native-inputs `(("cross-gcc" ,xgcc)
|
||||
("cross-binutils" ,xbinutils)
|
||||
,@(if (target-hurd? target)
|
||||
`(("cross-mig"
|
||||
,(cross-mig target
|
||||
#:xgcc xgcc
|
||||
#:xbinutils xbinutils)))
|
||||
'())
|
||||
,@(package-inputs libc) ;FIXME: static-bash
|
||||
,@(package-native-inputs libc))))))
|
||||
(native-inputs `(("cross-gcc" ,xgcc)
|
||||
("cross-binutils" ,xbinutils)
|
||||
,@(if (target-hurd? target)
|
||||
`(("cross-mig"
|
||||
,(cross-mig target
|
||||
#:xgcc xgcc
|
||||
#:xbinutils xbinutils)))
|
||||
'())
|
||||
,@(package-inputs libc) ;FIXME: static-bash
|
||||
,@(package-native-inputs libc)))))
|
||||
((? target-avr?)
|
||||
(make-avr-libc #:xbinutils xbinutils
|
||||
#:xgcc xgcc))
|
||||
(else #f)))
|
||||
|
||||
(define* (cross-gcc-toolchain/implementation target
|
||||
#:key
|
||||
(base-gcc %xgcc)
|
||||
(xbinutils (cross-binutils target))
|
||||
(libc (cross-libc
|
||||
target
|
||||
#:xgcc (cross-gcc target #:xgcc base-gcc)
|
||||
#:xbinutils xbinutils))
|
||||
(xgcc (cross-gcc target
|
||||
#:xgcc base-gcc
|
||||
#:libc libc
|
||||
#:xbinutils xbinutils)))
|
||||
"Returns PACKAGE that contains a cross-compilation tool chain for TARGET
|
||||
with XBINUTILS, XGCC and LIBC (if exists for TARGET)."
|
||||
(package
|
||||
(name (string-append (package-name xgcc) "-toolchain"))
|
||||
(version (package-version xgcc))
|
||||
(source #f)
|
||||
(build-system trivial-build-system)
|
||||
(arguments
|
||||
(list #:modules '((guix build union))
|
||||
#:builder
|
||||
#~(begin
|
||||
(use-modules (ice-9 match)
|
||||
(guix build union))
|
||||
|
||||
(match %build-inputs
|
||||
(((names . directory) ...)
|
||||
(union-build #$output directory))))))
|
||||
(inputs `(,xbinutils ,xgcc ,@(if libc (list libc) '())))
|
||||
(home-page (package-home-page xgcc))
|
||||
(synopsis
|
||||
(format #f "Complete GCC tool chain for C/C++ development (~a)" target))
|
||||
(description "This package provides a complete GCC cross toolchain for
|
||||
C/C++ development to be installed in user profiles. This includes GCC, as
|
||||
well as libc (headers and binariesl), and Binutils. GCC is the GNU Compiler
|
||||
Collection.")
|
||||
(license (delete-duplicates `(,(package-license xgcc)
|
||||
,(package-license xbinutils)
|
||||
,@(if libc
|
||||
(list (package-license libc))
|
||||
'()))))))
|
||||
|
||||
(define cross-gcc-toolchain
|
||||
(memoize cross-gcc-toolchain/implementation))
|
||||
|
||||
|
||||
;;; Concrete cross tool chains are instantiated like this:
|
||||
|
|
|
@ -0,0 +1,42 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2023 Foundation Devices, Inc. <hello@foundationdevices.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
;;; GNU Guix is free software; you can redistribute it and/or modify it
|
||||
;;; under the terms of the GNU General Public License as published by
|
||||
;;; the Free Software Foundation; either version 3 of the License, or (at
|
||||
;;; your option) any later version.
|
||||
;;;
|
||||
;;; GNU Guix is distributed in the hope that it will be useful, but
|
||||
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
;;; GNU General Public License for more details.
|
||||
;;;
|
||||
;;; You should have received a copy of the GNU General Public License
|
||||
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu packages cross-toolchain)
|
||||
#:use-module (gnu packages cross-base)
|
||||
#:use-module (guix packages))
|
||||
|
||||
;;; Commentary:
|
||||
;;;
|
||||
;;; This module provides packages for cross compilation toolchains. These
|
||||
;;; packages must not be used at the top level to avoid cyclic module
|
||||
;;; dependencies caused by the (gnu packages cross-base) module referring to
|
||||
;;; to top level bindings from (gnu packages gcc).
|
||||
;;;
|
||||
;;; The real purpose of these packages is for installation on profiles by users
|
||||
;;; and other packages should make use of the toolchain through the usual cross
|
||||
;;; compilation methods. For example, by using the `#:target' argument on
|
||||
;;; packages or `--target' on the command line.
|
||||
|
||||
(define-public gcc-cross-avr-toolchain
|
||||
(cross-gcc-toolchain "avr"))
|
||||
|
||||
(define-public gcc-cross-i686-w64-mingw32-toolchain
|
||||
(cross-gcc-toolchain "i686-w64-mingw32"))
|
||||
|
||||
(define-public gcc-cross-x86_64-w64-mingw32-toolchain
|
||||
(cross-gcc-toolchain "x86_64-w64-mingw32"))
|
|
@ -343,7 +343,7 @@ applications''. These must be installed separately.")
|
|||
(define cups-minimal/fixed
|
||||
(package
|
||||
(inherit cups-minimal)
|
||||
(version "2.4.6")
|
||||
(version "2.4.7")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -352,7 +352,7 @@ applications''. These must be installed separately.")
|
|||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name "cups" version))
|
||||
(sha256
|
||||
(base32 "0z70rhfd96qmdx82gdhh2nqjiia0lnvfdwpngjkag2sidw4cm3c1"))))))
|
||||
(base32 "0cj3gs7ki9v0drj19l326s8f1kxrpq7jkzrdfdk7ykrlk7sj645f"))))))
|
||||
|
||||
(define-public cups
|
||||
(package/inherit cups-minimal
|
||||
|
@ -521,14 +521,14 @@ should only be used as part of the Guix cups-pk-helper service.")
|
|||
(define-public hplip
|
||||
(package
|
||||
(name "hplip")
|
||||
(version "3.23.8")
|
||||
(version "3.23.12")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/hplip/hplip/" version
|
||||
"/hplip-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0ihv9ddjrjx5bdf8pwc2fvljkpfzq4qi9r2awm8dgky053v0bk7p"))
|
||||
"1vb9irqsm3d4c2qdr4h6ia940x65bb99h4x31mgxn7dkvv42lv57"))
|
||||
(patches (search-patches "hplip-usb-timeout.patch"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
|
|
|
@ -4393,7 +4393,7 @@ the SQL language using a syntax that reflects the resulting query.")
|
|||
(define-public apache-arrow
|
||||
(package
|
||||
(name "apache-arrow")
|
||||
(version "13.0.0")
|
||||
(version "14.0.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -4403,7 +4403,7 @@ the SQL language using a syntax that reflects the resulting query.")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"03ykynzz01ar2y4blhcxjh6xsi0gqv380h5m669dddfz2isplsf8"))))
|
||||
"08x01jcibmx03g9p0sjikp3dyynw6is6gyn0m3cy1gwkpkwk2ad2"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list
|
||||
|
|
|
@ -149,15 +149,15 @@ contains the archive keys used for that.")
|
|||
(define-public ubuntu-keyring
|
||||
(package
|
||||
(name "ubuntu-keyring")
|
||||
(version "2021.03.26")
|
||||
(version "2023.11.28.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://launchpad.net/ubuntu/+archive/primary/"
|
||||
"+files/" name "_" version ".tar.gz"))
|
||||
"+files/" name "_" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1ccvwh4s51viyhcg8gh189jmvbrhc5wv1bbp4minz3200rffsbj9"))))
|
||||
"0bmafky67hrb79baaydmw7al21lz0wgi4ks5dqfkfqamw5d4bkdf"))))
|
||||
(build-system trivial-build-system)
|
||||
(arguments
|
||||
`(#:modules ((guix build utils))
|
||||
|
@ -167,7 +167,7 @@ contains the archive keys used for that.")
|
|||
(apt (string-append out "/etc/apt/trusted.gpg.d/"))
|
||||
(key (string-append out "/share/keyrings/")))
|
||||
(setenv "PATH" (string-append
|
||||
(assoc-ref %build-inputs "gzip") "/bin:"
|
||||
(assoc-ref %build-inputs "xz") "/bin:"
|
||||
(assoc-ref %build-inputs "tar") "/bin"))
|
||||
(invoke "tar" "xvf" (assoc-ref %build-inputs "source"))
|
||||
(for-each (lambda (file)
|
||||
|
@ -175,10 +175,9 @@ contains the archive keys used for that.")
|
|||
(find-files "." "ubuntu-[^am].*\\.gpg$"))
|
||||
(for-each (lambda (file)
|
||||
(install-file file key))
|
||||
(find-files "." "ubuntu-[am].*\\.gpg$")))
|
||||
#t)))
|
||||
(find-files "." "ubuntu-[am].*\\.gpg$"))))))
|
||||
(native-inputs
|
||||
(list tar gzip))
|
||||
(list tar xz))
|
||||
(home-page "https://launchpad.net/ubuntu/+source/ubuntu-keyring")
|
||||
(synopsis "GnuPG keys of the Ubuntu archive")
|
||||
(description
|
||||
|
|
|
@ -25,28 +25,33 @@
|
|||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages bash)
|
||||
#:use-module (gnu packages boost)
|
||||
#:use-module (gnu packages guile)
|
||||
#:use-module (gnu packages maths)
|
||||
#:use-module (gnu packages pkg-config))
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages pth))
|
||||
|
||||
(define-public dezyne
|
||||
(package
|
||||
(name "dezyne")
|
||||
(version "2.17.8")
|
||||
(version "2.18.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://dezyne.org/download/dezyne/"
|
||||
name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "0m5cnymcyg7k1jhp4xjpvpay7ia72xdzyjnjg0spsr4p7fy7yql4"))))
|
||||
(base32 "1lbrxycpvwmvif3gpjnz8iskvlxp7f8bl71k44j7acwqrp8j2szi"))))
|
||||
(propagated-inputs (list boost
|
||||
guile-json-4
|
||||
guile-readline
|
||||
scmackerel))
|
||||
(inputs (list bash-minimal
|
||||
guile-3.0-latest
|
||||
guile-json-4
|
||||
guile-readline
|
||||
guile-3.0
|
||||
mcrl2-minimal
|
||||
pth
|
||||
sed))
|
||||
(native-inputs (list guile-3.0-latest pkg-config))
|
||||
(native-inputs (list guile-3.0 pkg-config))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
|
@ -58,21 +63,20 @@
|
|||
(lambda _
|
||||
(setenv "GUILE_AUTO_COMPILE" "0")))
|
||||
(add-after 'install 'install-readmes
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(base (string-append #$name "-" #$version))
|
||||
(doc (string-append out "/share/doc/" base)))
|
||||
(lambda _
|
||||
(let* ((base (string-append #$name "-" #$version))
|
||||
(doc (string-append #$output "/share/doc/" base)))
|
||||
(mkdir-p doc)
|
||||
(copy-file "NEWS" (string-append doc "/NEWS")))))
|
||||
(add-after 'install 'wrap-binaries
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(bash (assoc-ref %build-inputs "bash-minimal"))
|
||||
(guile (assoc-ref %build-inputs "guile"))
|
||||
(json (assoc-ref %build-inputs "guile-json"))
|
||||
(mcrl2 (assoc-ref %build-inputs "mcrl2-minimal"))
|
||||
(readline (assoc-ref %build-inputs "guile-readline"))
|
||||
(sed (assoc-ref %build-inputs "sed"))
|
||||
(lambda _
|
||||
(let* ((bash #$(this-package-input "bash-minimal"))
|
||||
(guile #$(this-package-input "guile"))
|
||||
(json #$(this-package-input "guile-json"))
|
||||
(mcrl2 #$(this-package-input "mcrl2-minimal"))
|
||||
(readline #$(this-package-input "guile-readline"))
|
||||
(scmackerel #$(this-package-input "scmackerel"))
|
||||
(sed #$(this-package-input "sed"))
|
||||
(effective (read
|
||||
(open-pipe* OPEN_READ
|
||||
"guile" "-c"
|
||||
|
@ -83,15 +87,17 @@
|
|||
(string-append sed "/bin")))
|
||||
(scm-dir (string-append "/share/guile/site/" effective))
|
||||
(scm-path
|
||||
(list (string-append out scm-dir)
|
||||
(list (string-append #$output scm-dir)
|
||||
(string-append json scm-dir)
|
||||
(string-append readline scm-dir)))
|
||||
(string-append readline scm-dir)
|
||||
(string-append scmackerel scm-dir)))
|
||||
(go-dir (string-append "/lib/guile/" effective
|
||||
"/site-ccache/"))
|
||||
(go-path (list (string-append out go-dir)
|
||||
(go-path (list (string-append #$output go-dir)
|
||||
(string-append json go-dir)
|
||||
(string-append readline go-dir))))
|
||||
(wrap-program (string-append out "/bin/dzn")
|
||||
(string-append readline go-dir)
|
||||
(string-append scmackerel go-dir))))
|
||||
(wrap-program (string-append #$output "/bin/dzn")
|
||||
`("PATH" ":" prefix ,path)
|
||||
`("GUILE_AUTO_COMPILE" ":" = ("0"))
|
||||
`("GUILE_LOAD_PATH" ":" prefix ,scm-path)
|
||||
|
@ -105,3 +111,43 @@ has formal semantics expressed in @url{https://mcrl2.org,mCRL2}.")
|
|||
(license (list license:agpl3+ ;Dezyne itself
|
||||
license:lgpl3+ ;Dezyne runtime library
|
||||
license:cc0)))) ;Code snippets, images, test data
|
||||
|
||||
(define-public scmackerel
|
||||
(package
|
||||
(name "scmackerel")
|
||||
(version "0.5.3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://dezyne.org/download/scmackerel/"
|
||||
name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "1sgrkw3idsni1ylf0slwgzzwq31b1yx6s0j17yq99c88agk9cvd6"))))
|
||||
(inputs (list bash-minimal
|
||||
guile-3.0
|
||||
guile-readline
|
||||
mcrl2-minimal))
|
||||
(native-inputs (list guile-3.0 pkg-config))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:modules `((ice-9 popen)
|
||||
,@%gnu-build-system-modules)
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-before 'configure 'setenv
|
||||
(lambda _
|
||||
(setenv "GUILE_AUTO_COMPILE" "0")))
|
||||
(add-after 'install 'install-readmes
|
||||
(lambda _
|
||||
(let* ((base (string-append #$name "-" #$version))
|
||||
(doc (string-append #$output "/share/doc/" base)))
|
||||
(mkdir-p doc)
|
||||
(copy-file "NEWS" (string-append doc "/NEWS"))))))))
|
||||
(synopsis "AST library in GNU Guile")
|
||||
(description "SCMackerel is a library in GNU Guile to create abstract
|
||||
syntax trees (ASTs). Initially written for @url{https://mcrl2.org,mCRL2} and
|
||||
now also supporting other languages, such as C, C++, and C#. Based on GNU
|
||||
Guix records.")
|
||||
(home-page "https://gitlab.com/janneke/scmackerel")
|
||||
(license (list license:gpl3+))))
|
||||
|
|
|
@ -0,0 +1,294 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2023 Pierre-Henry Fröhring <phfrohring@deeplinks.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
;;; GNU Guix is free software; you can redistribute it and/or modify it
|
||||
;;; under the terms of the GNU General Public License as published by
|
||||
;;; the Free Software Foundation; either version 3 of the License, or (at
|
||||
;;; your option) any later version.
|
||||
;;;
|
||||
;;; GNU Guix is distributed in the hope that it will be useful, but
|
||||
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
;;; GNU General Public License for more details.
|
||||
;;;
|
||||
;;; You should have received a copy of the GNU General Public License
|
||||
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu packages elixir-xyz)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (gnu packages elixir)
|
||||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system mix)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (srfi srfi-1)
|
||||
#:use-module (srfi srfi-26))
|
||||
|
||||
(define-public elixir-nimble-parsec
|
||||
(package
|
||||
(name "elixir-nimble-parsec")
|
||||
(version "1.3.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (hexpm-uri name version))
|
||||
(sha256
|
||||
(base32 "0rxiw6jzz77v0j460wmzcprhdgn71g1hrz3mcc6djn7bnb0f70i6"))))
|
||||
(build-system mix-build-system)
|
||||
(arguments (list #:tests? #f)) ; no tests
|
||||
(synopsis "Text-based parser combinators")
|
||||
(description
|
||||
"This library provides primitives for efficient parser combinators, allowing
|
||||
for higher-level combinators through composition.")
|
||||
(home-page "https://hexdocs.pm/nimble_parsec/")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public elixir-makeup
|
||||
(package
|
||||
(name "elixir-makeup")
|
||||
(version "1.1.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (hexpm-uri name version))
|
||||
(sha256
|
||||
(base32 "19jpprryixi452jwhws3bbks6ki3wni9kgzah3srg22a3x8fsi8a"))))
|
||||
(build-system mix-build-system)
|
||||
(propagated-inputs (list elixir-nimble-parsec))
|
||||
(arguments (list #:tests? #f)) ; no tests
|
||||
(synopsis "Syntax highlighter for source code")
|
||||
(description
|
||||
"Makeup is a generic syntax highlighter in the style of Pygments suitable for use in code hosting,
|
||||
forums, wikis or other applications that need to prettify source code.")
|
||||
(home-page "https://hexdocs.pm/makeup/")
|
||||
(license license:bsd-2)))
|
||||
|
||||
(define-public elixir-jason
|
||||
(package
|
||||
(name "elixir-jason")
|
||||
(version "1.4.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (hexpm-uri name version))
|
||||
(sha256
|
||||
(base32 "18d70i31bz11nr6vgsjn5prvhkvwqbyf3xq22ck5cnsnzp6ixc7v"))))
|
||||
(build-system mix-build-system)
|
||||
(arguments (list #:tests? #f)) ; no tests
|
||||
(synopsis "JSON parser and generator")
|
||||
(description
|
||||
"Parser and generator are written in pure Elixir and optimized for speed. They
|
||||
are at least twice as fast as other Elixir/Erlang libraries (e.g.
|
||||
Poison). The performance is comparable to jiffy, which is implemented in C as
|
||||
a NIF.")
|
||||
(home-page "https://hexdocs.pm/jason/")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public elixir-file-system
|
||||
(package
|
||||
(name "elixir-file-system")
|
||||
(version "0.2.10")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (hexpm-uri name version))
|
||||
(sha256
|
||||
(base32 "1p0myxmnjjds8bbg69dd6fvhk8q3n7lb78zd4qvmjajnzgdmw6a1"))
|
||||
(snippet #~(begin
|
||||
(use-modules (guix build utils) (ice-9 ftw))
|
||||
(mkdir "source")
|
||||
(for-each (lambda (file)
|
||||
(when (not (member file '("." ".." "source")))
|
||||
(rename-file file (string-append "source/" file))))
|
||||
(scandir "."))
|
||||
(with-directory-excursion "source"
|
||||
(invoke (string-append #+gzip "/bin/gunzip") "-v" "contents.tar.gz")
|
||||
(invoke (string-append #+tar "/bin/tar") "-xvf" "contents.tar")
|
||||
(delete-file "contents.tar")
|
||||
(delete-file "priv/inotifywait.exe"))))))
|
||||
(build-system mix-build-system)
|
||||
(propagated-inputs (list inotify-tools))
|
||||
(arguments (list #:tests? #f)) ; no tests
|
||||
(synopsis "File system change watcher")
|
||||
(description "Provides a file system change watcher wrapper based on
|
||||
https://github.com/synrc/fs.")
|
||||
(home-page "https://hexdocs.pm/file_system/")
|
||||
(license license:wtfpl2)))
|
||||
|
||||
(define-public elixir-bunt
|
||||
(package
|
||||
(name "elixir-bunt")
|
||||
(version "0.2.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (hexpm-uri name version))
|
||||
(sha256
|
||||
(base32 "19bp6xh052ql3ha0v3r8999cvja5d2p6cph02mxphfaj4jsbyc53"))))
|
||||
(build-system mix-build-system)
|
||||
(arguments (list #:tests? #f)) ; no tests
|
||||
(synopsis "256 color ANSI coloring in the terminal")
|
||||
(description "Bunt is an Elixir package that enables 256 color ANSI
|
||||
coloring in the terminal and allows users to alias colors to more semantic and
|
||||
application-specific names1.")
|
||||
(home-page "https://hexdocs.pm/bunt/")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public elixir-inch-ex
|
||||
(package
|
||||
(name "elixir-inch-ex")
|
||||
(version "2.0.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (hexpm-uri name version))
|
||||
(sha256
|
||||
(base32 "1a4rjcy3hn5pc40si1d1y7qg0b0mnxx6pw825la67ky8r9gfrl4n"))))
|
||||
(build-system mix-build-system)
|
||||
(arguments (list #:tests? #f)) ; no tests
|
||||
(propagated-inputs (list elixir-bunt elixir-jason))
|
||||
(synopsis
|
||||
"Suggest enhancements for inline documentation")
|
||||
(description
|
||||
"This package provides a Mix task that gives you hints where to improve your
|
||||
inline docs.")
|
||||
(home-page "https://hex.pm/packages/inch_ex")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public elixir-castore
|
||||
(package
|
||||
(name "elixir-castore")
|
||||
(version "1.0.4")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (hexpm-uri name version))
|
||||
(sha256
|
||||
(base32 "1y44amb8falsmrfzpkmf7qp6215g9kdl76g91dpna4af2jwc264l"))))
|
||||
(build-system mix-build-system)
|
||||
(arguments (list #:tests? #f)) ; no tests
|
||||
(synopsis "Up-to-date CA certificate store")
|
||||
(description "The Elixir castore package is a micro-library that provides
|
||||
an up-to-date CA certificate store file for Elixir applications.")
|
||||
(home-page "https://hexdocs.pm/castore/")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public elixir-excoveralls
|
||||
(package
|
||||
(name "elixir-excoveralls")
|
||||
(version "0.18.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (hexpm-uri name version))
|
||||
(sha256
|
||||
(base32 "02x69ll5scvraky0k5gacvnnmldv5k04kgk02x087d9w3y8vn28i"))))
|
||||
(build-system mix-build-system)
|
||||
(propagated-inputs (list elixir-castore elixir-jason))
|
||||
(arguments (list #:tests? #f)) ; no tests
|
||||
(synopsis "Coverage report tool with coveralls.io integration")
|
||||
(description
|
||||
"Library that reports test coverage statistics, with the option to
|
||||
post to coveralls.io service. It uses Erlang's cover to generate coverage
|
||||
information, and posts the test coverage results to coveralls.io through the
|
||||
JSON API.")
|
||||
(home-page "https://hexdocs.pm/excoveralls/")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public elixir-credo
|
||||
(package
|
||||
(name "elixir-credo")
|
||||
(version "1.7.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (hexpm-uri name version))
|
||||
(sha256
|
||||
(base32 "18jqi9s9r1587njzdxycvmmbma30cay9iamni4f3ih54jmh1r1z9"))))
|
||||
(build-system mix-build-system)
|
||||
(arguments (list #:tests? #f)) ; no tests
|
||||
(propagated-inputs (list elixir-bunt elixir-file-system elixir-jason))
|
||||
(native-inputs (list elixir-excoveralls elixir-inch-ex))
|
||||
(synopsis "Static code analysis tool")
|
||||
(description
|
||||
"Credo is a static code analysis tool for the Elixir language with a focus on
|
||||
teaching and code consistency. Credo can show you refactoring opportunities in
|
||||
your code, complex code fragments, warn you about common mistakes, show
|
||||
inconsistencies in your naming scheme and - if needed - help you enforce a
|
||||
desired coding style.")
|
||||
(home-page "https://hexdocs.pm/credo/")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public elixir-erlex
|
||||
(package
|
||||
(name "elixir-erlex")
|
||||
(version "0.2.6")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (hexpm-uri name version))
|
||||
(sha256
|
||||
(base32 "0x8c1j62y748ldvlh46sxzv5514rpzm809vxn594vd7y25by5lif"))))
|
||||
(build-system mix-build-system)
|
||||
(arguments (list #:tests? #f)) ; no tests
|
||||
(synopsis
|
||||
"Convert Erlang style structs and error messages to equivalent Elixir")
|
||||
(description
|
||||
"Converted structs and error messages are useful for pretty printing
|
||||
things like Dialyzer errors and Observer.")
|
||||
(home-page "https://hexdocs.pm/erlex/")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public elixir-dialyxir
|
||||
(package
|
||||
(name "elixir-dialyxir")
|
||||
(version "1.4.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (hexpm-uri name version))
|
||||
(sha256
|
||||
(base32 "00cqwhd1wabwds44jz94rvvr8z8cp12884d3lp69fqkrszb9bdw4"))))
|
||||
(build-system mix-build-system)
|
||||
(arguments (list #:tests? #f)) ; no tests
|
||||
(propagated-inputs (list elixir-erlex))
|
||||
(synopsis "Mix tasks to simplify use of Dialyzer")
|
||||
(description
|
||||
"Mix Tasks are usable from the directory of the mix project you want to analyze.")
|
||||
(home-page "https://hexdocs.pm/dialyxir/")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public elixir-machete
|
||||
(package
|
||||
(name "elixir-machete")
|
||||
(version "0.2.8")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (hexpm-uri name version))
|
||||
(sha256
|
||||
(base32 "0952603bmqsf6v3ja99zpbnbx5d52i4xksjkfj3irl45ccq5pgq9"))))
|
||||
(build-system mix-build-system)
|
||||
(native-inputs (list elixir-credo elixir-dialyxir))
|
||||
(synopsis "Literate test matchers for ExUnit")
|
||||
(description
|
||||
"Machete provides ergonomic match operators that act as building blocks to let
|
||||
you define test expectations that can match data against any combination of
|
||||
literals, variables, or parametrically defined matchers.")
|
||||
(home-page "https://hexdocs.pm/machete/")
|
||||
(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
|
||||
;;; functionality or similar names.
|
||||
;;;
|
|
@ -27,6 +27,7 @@
|
|||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (gnu packages)
|
||||
|
@ -96,9 +97,20 @@
|
|||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
;; Some tests require access to a home directory.
|
||||
(setenv "HOME" "/tmp")))
|
||||
(delete 'configure))))
|
||||
(inputs
|
||||
(list erlang git))
|
||||
(delete 'configure)
|
||||
(add-after 'install 'wrap-programs
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(programs '("elixir" "elixirc" "iex" "mix")))
|
||||
(for-each (lambda (program)
|
||||
(wrap-program (string-append out "/bin/" program)
|
||||
'("ERL_LIBS" prefix ("${GUIX_ELIXIR_LIBS}"))))
|
||||
programs)))))))
|
||||
(inputs (list erlang git))
|
||||
(native-search-paths
|
||||
(list (search-path-specification
|
||||
(variable "GUIX_ELIXIR_LIBS")
|
||||
(files (list (string-append "lib/elixir/" (version-major+minor version)))))))
|
||||
(home-page "https://elixir-lang.org/")
|
||||
(synopsis "Elixir programming language")
|
||||
(description "Elixir is a dynamic, functional language used to build
|
||||
|
@ -106,3 +118,48 @@ scalable and maintainable applications. Elixir leverages the Erlang VM, known
|
|||
for running low-latency, distributed and fault-tolerant systems, while also
|
||||
being successfully used in web development and the embedded software domain.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public elixir-hex
|
||||
(package
|
||||
(name "elixir-hex")
|
||||
(version "2.0.5")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/hexpm/hex.git")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1kvczwvij58kgkhak68004ap81pl26600bczg21mymy2sypkgxmj"))))
|
||||
;; The mix-build-system assumes that Hex exists.
|
||||
;; We build Hex using the gnu-build-system.
|
||||
;; Other Elixir packages use the mix-build-system.
|
||||
(build-system gnu-build-system)
|
||||
(inputs (list elixir))
|
||||
(arguments
|
||||
(list
|
||||
;; Hex is needed to build packages used to test Hex.
|
||||
;; To avoid this circularity, we disable tests.
|
||||
#:tests? #f
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(delete 'bootstrap)
|
||||
(delete 'configure)
|
||||
(replace 'build
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(setenv "MIX_ENV" "prod")
|
||||
(invoke "mix" "compile")))
|
||||
(replace 'install
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(define X.Y #$(version-major+minor (package-version elixir)))
|
||||
(define out (string-append (assoc-ref outputs "out") "/lib/elixir/" X.Y "/hex"))
|
||||
(mkdir-p out)
|
||||
(copy-recursively "_build/prod/lib/hex" out))))))
|
||||
(synopsis "Package manager for the Erlang VM")
|
||||
(description
|
||||
"This project provides tasks that integrate with Mix, Elixir's build
|
||||
tool.")
|
||||
(home-page "https://hexdocs.pm/makeup_elixir/")
|
||||
(license license:bsd-2)))
|
||||
|
|
|
@ -11691,7 +11691,7 @@ them easier to distinguish from other, less important buffers.")
|
|||
(define-public emacs-embark
|
||||
(package
|
||||
(name "emacs-embark")
|
||||
(version "0.23")
|
||||
(version "1.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -11699,7 +11699,7 @@ them easier to distinguish from other, less important buffers.")
|
|||
(url "https://github.com/oantolin/embark")
|
||||
(commit version)))
|
||||
(sha256
|
||||
(base32 "1dmsaw1m819kzmai45c4cqh5lyyha451f7dxzwwfz9crmzg2w5sf"))
|
||||
(base32 "14alpanynww6z7yxxyiiy24c0p4pq1argsb0pmqavq25mdxgn4v2"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
|
|
|
@ -2447,16 +2447,16 @@ system.")
|
|||
(define-public exomizer
|
||||
(package
|
||||
(name "exomizer")
|
||||
(version "3.1.1")
|
||||
(version "3.1.2")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://bitbucket.org/magli143/exomizer.git")
|
||||
(commit "6a152b5605648f7a41eadd4b011a93ec92f74dd8")))
|
||||
(commit version)))
|
||||
(file-name (string-append name "-" version "-checkout"))
|
||||
(sha256
|
||||
(base32
|
||||
"1ynhkb5p2dypkikipc3krzif264l9rmx1wnjzzgw8n88i4zkymzg"))))
|
||||
"04795l75nlbz0g5gp1xx8kiwbrm5pv5pj24ja02cnan6mglj7j0w"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; No target exists
|
||||
|
|
|
@ -866,6 +866,7 @@ and others.")
|
|||
(uri (git-reference
|
||||
(url "https://github.com/gerbv/gerbv")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"06bcm5zw7whsnnmfld3gl2j907lxc68gnsbzr2pc4w6qc923rgmj"))))
|
||||
|
|
|
@ -1158,6 +1158,8 @@ such as:
|
|||
#:make-flags
|
||||
(let ((triplet-without-vendor
|
||||
(and (%current-target-system)
|
||||
;; TODO: Is there a use case for allowing this?
|
||||
(not (target-avr?))
|
||||
(match (string-split (nix-system->gnu-triplet
|
||||
(%current-target-system)) #\-)
|
||||
((arch vendor os ..1)
|
||||
|
@ -1256,6 +1258,7 @@ OVERRIDE.H, to also override the corresponding layout include file."
|
|||
(arguments
|
||||
(list
|
||||
#:tests? #f ;no test suite
|
||||
#:target "avr"
|
||||
#:make-flags
|
||||
#~(list (string-append "LAYOUT=" #$layout)
|
||||
;; Simplify the output directory name.
|
||||
|
@ -1281,7 +1284,7 @@ OVERRIDE.H, to also override the corresponding layout include file."
|
|||
(install-file "firmware.hex" #$output)
|
||||
(install-file "firmware.eep" #$output)
|
||||
(install-file "firmware--layout.html" #$output)))))))
|
||||
(native-inputs (list (make-avr-toolchain) python))
|
||||
(native-inputs (list python))
|
||||
(home-page "https://www.ergodox.io")
|
||||
(synopsis "Firmware for the ErgoDox keyboard")
|
||||
(description (format #f "This package contains the original firmware for
|
||||
|
@ -1343,9 +1346,7 @@ corresponding layout." layout))
|
|||
`("PATH" prefix
|
||||
,(map (compose dirname
|
||||
(cut search-input-file inputs <>))
|
||||
'("bin/avr-ar"
|
||||
"bin/avr-gcc"
|
||||
"bin/avrdude"
|
||||
'("bin/avrdude"
|
||||
"bin/awk"
|
||||
"bin/cmp"
|
||||
"bin/dfu-programmer"
|
||||
|
@ -1358,16 +1359,13 @@ corresponding layout." layout))
|
|||
;; TODO: Remove after git is wrapped with these.
|
||||
"bin/basename"
|
||||
"bin/sed"
|
||||
"bin/uname")))
|
||||
`("CROSS_C_INCLUDE_PATH" = (,(getenv "CROSS_C_INCLUDE_PATH")))
|
||||
`("CROSS_LIBRARY_PATH" = (,(getenv "CROSS_LIBRARY_PATH")))))))))
|
||||
"bin/uname")))))))))
|
||||
;; The inputs are not propagated since qmk is to be used strictly as a
|
||||
;; command.
|
||||
(inputs
|
||||
;; The 'qmk setup' command advises to use GCC at version 8, and there are
|
||||
;; compilation errors in some firmware otherwise.
|
||||
(list (make-avr-toolchain #:xgcc gcc-8)
|
||||
avrdude
|
||||
(list avrdude
|
||||
bash-minimal
|
||||
dfu-programmer
|
||||
dfu-util
|
||||
|
@ -1440,6 +1438,7 @@ provided."
|
|||
(ice-9 ftw)
|
||||
(ice-9 match)
|
||||
(srfi srfi-26))
|
||||
#:target "avr"
|
||||
;; XXX: Running a test target like "test:$keyboard" doesn't seem to run
|
||||
;; anything and causes the .hex file to be regenerated; leave the tests
|
||||
;; out for now.
|
||||
|
|
|
@ -109,8 +109,10 @@
|
|||
#:use-module (gnu packages readline)
|
||||
#:use-module (gnu packages qt)
|
||||
#:use-module (gnu packages sdl)
|
||||
#:use-module (gnu packages serialization)
|
||||
#:use-module (gnu packages speech)
|
||||
#:use-module (gnu packages sphinx)
|
||||
#:use-module (gnu packages sqlite)
|
||||
#:use-module (gnu packages stb)
|
||||
#:use-module (gnu packages texinfo)
|
||||
#:use-module (gnu packages textutils)
|
||||
|
@ -1339,17 +1341,17 @@ and multimedia programs in the Python language.")
|
|||
|
||||
(define-public python-pygame-sdl2
|
||||
(let ((real-version "2.1.0")
|
||||
(renpy-version "8.1.0"))
|
||||
(renpy-version "8.1.3"))
|
||||
(package
|
||||
(inherit python-pygame)
|
||||
(name "python-pygame-sdl2")
|
||||
(version (string-append real-version "-for-renpy-" renpy-version))
|
||||
(version (string-append real-version "+renpy" renpy-version))
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://www.renpy.org/dl/" renpy-version
|
||||
"/pygame_sdl2-" version ".tar.gz"))
|
||||
(sha256 (base32 "1qj39jqnv334p4wnxc2v5qxyahp7nkqf9hpdd2sgqcmgaqwnqqmj"))
|
||||
(sha256 (base32 "0qlprs9n3w254ilizqzvr6s01zx72gh7an0bgwxsq4hm22qypdws"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
|
@ -1390,7 +1392,7 @@ developed mainly for Ren'py.")
|
|||
(define-public python-renpy
|
||||
(package
|
||||
(name "python-renpy")
|
||||
(version "8.1.0")
|
||||
(version "8.1.3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -1398,7 +1400,7 @@ developed mainly for Ren'py.")
|
|||
"/renpy-" version "-source.tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"08l7z2vwqxkskj3rs2a0w9ahah28ixq8hy48h30k2dm9g19h450h"))
|
||||
"1g6fz5dxp7yxhgv6q4brzf5hpfqq3l1g3dfv3fsiwwn6mj0b01z2"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
#~(begin
|
||||
|
@ -1841,38 +1843,37 @@ of use.")
|
|||
(define-public openmw
|
||||
(package
|
||||
(name "openmw")
|
||||
(version "0.47.0")
|
||||
(version "0.48.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/OpenMW/openmw")
|
||||
(commit (string-append "openmw-" version))))
|
||||
(url "https://github.com/OpenMW/openmw")
|
||||
(commit (string-append "openmw-" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"19mcbnjl4279qalb97msf965bjax48mx1r1qczyvwhn28h6n3bsy"))
|
||||
(patches (search-patches "openmw-assume-nonconst-SIGSTKSZ.patch"))))
|
||||
(base32 "0amkxfylk1l67d2igihnhhql62xr89wvg1sxbq2rnhczf6vxaj6f"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; No test target
|
||||
#:configure-flags
|
||||
(list "-DDESIRED_QT_VERSION=5"
|
||||
"-DOPENMW_USE_SYSTEM_RECASTNAVIGATION=ON")))
|
||||
(native-inputs
|
||||
(list boost doxygen pkg-config))
|
||||
(inputs
|
||||
(list bullet
|
||||
ffmpeg-4 ; https://gitlab.com/OpenMW/openmw/-/issues/6631
|
||||
libxt
|
||||
lz4
|
||||
mygui-gl ; OpenMW does not need Ogre.
|
||||
openal
|
||||
openmw-openscenegraph
|
||||
qtbase-5
|
||||
recastnavigation
|
||||
sdl2
|
||||
unshield))
|
||||
`(#:tests? #f ;No test target
|
||||
#:configure-flags (list "-DDESIRED_QT_VERSION=5"
|
||||
"-DOPENMW_USE_SYSTEM_RECASTNAVIGATION=ON")))
|
||||
(native-inputs (list boost doxygen pkg-config))
|
||||
(inputs (list bullet
|
||||
ffmpeg
|
||||
libxt
|
||||
lz4
|
||||
mygui-gl ;OpenMW does not need Ogre.
|
||||
openal
|
||||
openmw-openscenegraph
|
||||
qtbase-5
|
||||
recastnavigation
|
||||
sdl2
|
||||
unshield
|
||||
icu4c
|
||||
yaml-cpp
|
||||
luajit
|
||||
sqlite))
|
||||
(synopsis "Re-implementation of the RPG Morrowind engine")
|
||||
(description
|
||||
"OpenMW is a game engine which reimplements and extends the one that runs
|
||||
|
|
|
@ -3586,11 +3586,19 @@ for dealing with different structured file formats.")
|
|||
;; https://gitlab.gnome.org/GNOME/librsvg/-/issues/955).
|
||||
(substitute* "gdk-pixbuf-loader/librsvg.thumbnailer.in"
|
||||
(("@bindir@/gdk-pixbuf-thumbnailer")
|
||||
(search-input-file inputs "bin/gdk-pixbuf-thumbnailer")))))
|
||||
(string-append #$(this-package-input "gdk-pixbuf")
|
||||
"/bin/gdk-pixbuf-thumbnailer")))))
|
||||
(add-after 'unpack 'prepare-for-build
|
||||
(lambda _
|
||||
;; In lieu of #:make-flags
|
||||
(setenv "CC" #$(cc-for-target))
|
||||
(setenv "PKG_CONFIG" #$(pkg-config-for-target))
|
||||
(when #$(%current-target-system)
|
||||
(setenv "RUST_TARGET"
|
||||
(string-replace
|
||||
#$(%current-target-system)
|
||||
"-unknown-linux-gnu"
|
||||
(string-index #$(%current-target-system) #\-))))
|
||||
;; Something about the build environment resists building
|
||||
;; successfully with the '--locked' flag.
|
||||
(substitute* '("Makefile.am" "Makefile.in")
|
||||
|
@ -3623,9 +3631,18 @@ for dealing with different structured file formats.")
|
|||
(apply (assoc-ref gnu:%standard-phases 'configure)
|
||||
#:configure-flags
|
||||
(list "--disable-static"
|
||||
"--enable-vala"
|
||||
(string-append "--with-html-dir=" #$output
|
||||
"/share/gtk-doc/html"))
|
||||
#$@(if (%current-target-system)
|
||||
#~(;; g-ir-scanner can't import its modules
|
||||
;; and vala currently can't be cross-compiled.
|
||||
"--enable-introspection=no"
|
||||
"--enable-vala=no"
|
||||
;; These two are necessary for cross-compiling.
|
||||
(string-append
|
||||
"--build=" #$(nix-system->gnu-triplet
|
||||
(%current-system)))
|
||||
(string-append
|
||||
"--host=" #$(%current-target-system)))
|
||||
#~("--enable-vala")))
|
||||
args)))
|
||||
(add-after 'configure 'dont-vendor-self
|
||||
(lambda* (#:key vendor-dir #:allow-other-keys)
|
||||
|
@ -3635,13 +3652,14 @@ for dealing with different structured file formats.")
|
|||
(replace 'build
|
||||
(assoc-ref gnu:%standard-phases 'build))
|
||||
(replace 'check
|
||||
(lambda* args
|
||||
((assoc-ref gnu:%standard-phases 'check)
|
||||
#:test-target "check")))
|
||||
(lambda* (#:key tests? #:allow-other-keys #:rest args)
|
||||
(when tests?
|
||||
((assoc-ref gnu:%standard-phases 'check)
|
||||
#:test-target "check"))))
|
||||
(replace 'install
|
||||
(assoc-ref gnu:%standard-phases 'install)))))
|
||||
(native-inputs (list `(,glib "bin") gobject-introspection pkg-config vala))
|
||||
(inputs (list freetype harfbuzz libxml2 pango))
|
||||
(native-inputs (list gdk-pixbuf `(,glib "bin") gobject-introspection pkg-config vala))
|
||||
(inputs (list freetype gobject-introspection harfbuzz libxml2 pango))
|
||||
(propagated-inputs (list cairo gdk-pixbuf glib))
|
||||
(synopsis "SVG rendering library")
|
||||
(description "Librsvg is a library to render SVG images to Cairo surfaces.
|
||||
|
@ -8750,8 +8768,25 @@ the available networks and allows users to easily switch between them.")
|
|||
library.")
|
||||
(license license:lgpl2.1+)))
|
||||
|
||||
;; This is the last release providing the 2.6 API, hence the name.
|
||||
;; This is needed by tascam-gtk
|
||||
(define-public libxml++-3
|
||||
(package
|
||||
(inherit libxml++)
|
||||
(name "libxml++")
|
||||
(version "3.2.4")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/libxmlplusplus/libxmlplusplus")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "07f6l9ka63dnc85npxq5g7bn1ja7lad0w2wixqdlyabdvc4l2hp5"))))
|
||||
(propagated-inputs (modify-inputs (package-propagated-inputs libxml++)
|
||||
(append glibmm-2.64)))))
|
||||
|
||||
;; This is the last release providing the 2.6 API, hence the name.
|
||||
(define-public libxml++-2
|
||||
(package
|
||||
(inherit libxml++)
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2012-2021, 2023 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2013, 2015, 2018 Andreas Enge <andreas@enge.fr>
|
||||
;;; Copyright © 2014, 2018 Eric Bavier <bavier@member.fsf.org>
|
||||
;;; Copyright © 2014, 2015, 2016, 2020 Mark H Weaver <mhw@netris.org>
|
||||
|
@ -130,11 +130,10 @@
|
|||
(symlink (string-append "lock-obj-pub." triplet ".h")
|
||||
(string-append "src/syscfg/lock-obj-pub."
|
||||
source ".h")))
|
||||
#$(let* ((target (%current-target-system))
|
||||
(architecture
|
||||
(string-take target (string-index target #\-))))
|
||||
#$(let ((target (%current-target-system)))
|
||||
(cond ((target-linux? target)
|
||||
(match architecture
|
||||
(match (string-take target
|
||||
(string-index target #\-))
|
||||
("armhf"
|
||||
`(link "arm-unknown-linux-gnueabi" "linux-gnu"))
|
||||
("mips64el"
|
||||
|
|
|
@ -1490,11 +1490,11 @@ in Julia).")
|
|||
(define-public openmw-openscenegraph
|
||||
;; OpenMW prefers its own fork of openscenegraph:
|
||||
;; https://wiki.openmw.org/index.php?title=Development_Environment_Setup#OpenSceneGraph.
|
||||
(let ((commit "69cfecebfb6dc703b42e8de39eed750a84a87489"))
|
||||
(let ((commit "68c5c573d47766507bfb191e0c8d213b1997ad20"))
|
||||
(hidden-package
|
||||
(package
|
||||
(inherit openscenegraph)
|
||||
(version (git-version "3.6" "2" commit))
|
||||
(version (git-version "3.6" "3" commit))
|
||||
(outputs (list "out"))
|
||||
(source
|
||||
(origin
|
||||
|
@ -1505,7 +1505,7 @@ in Julia).")
|
|||
(file-name (git-file-name (package-name openscenegraph) version))
|
||||
(sha256
|
||||
(base32
|
||||
"1qayk2gklm8zvss90dcjfxv6717rvcmwmgmgyy1qzkli67a0zbw2"))))
|
||||
"12xgdmymjh4rb7djzniy15lvi45y0x4i0l5swf031r8g4zn72v2n"))))
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments openscenegraph)
|
||||
((#:configure-flags flags)
|
||||
|
|
|
@ -806,7 +806,8 @@ ever use this library.")
|
|||
;; The CI test suite fails completely on powerpc-linux.
|
||||
;; The name org.gnome.SessionManager was not provided by any .service
|
||||
;; TODO: Wrap 'check phase with 'tests?'.
|
||||
#$@(if (not (target-ppc32?))
|
||||
#$@(if (not (or (target-ppc32?)
|
||||
(%current-target-system)))
|
||||
#~((add-after 'install 'check
|
||||
(lambda _
|
||||
;; xfconfd requires a writable HOME
|
||||
|
|
|
@ -1106,7 +1106,7 @@ for calling methods on remote servers by exchanging JSON objects.")
|
|||
(define-public guile-ares-rs
|
||||
(package
|
||||
(name "guile-ares-rs")
|
||||
(version "0.9.0")
|
||||
(version "0.9.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -1116,7 +1116,7 @@ for calling methods on remote servers by exchanging JSON objects.")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0jl4k54ydi1qxdvif4di0ri5jznlfc2gg1qhs94bhk4y22k0gp8c"))))
|
||||
"173jg8z0cwq5r67lzxsmyir5f6cxd9i5gzb3qryq71cqq4h1c77n"))))
|
||||
(build-system guile-build-system)
|
||||
(arguments
|
||||
(list
|
||||
|
@ -5437,49 +5437,41 @@ high-level API for network management that uses rtnetlink.")
|
|||
(commit (string-append "v" version))))
|
||||
(file-name (string-append name "-" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0srkmchd4kmfa7q65r6fdzwklhgdlck1ll0s7smzs8ddjdgz2lwm"))))
|
||||
(base32 "0srkmchd4kmfa7q65r6fdzwklhgdlck1ll0s7smzs8ddjdgz2lwm"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:make-flags '("GUILE_AUTO_COMPILE=0") ;to prevent guild warnings
|
||||
`(#:make-flags '("GUILE_AUTO_COMPILE=0") ;to prevent guild warnings
|
||||
#:modules (((guix build guile-build-system)
|
||||
#:select (target-guile-effective-version))
|
||||
,@%gnu-build-system-modules)
|
||||
#:imported-modules ((guix build guile-build-system)
|
||||
,@%gnu-build-system-modules)
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'install 'wrap-program
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(bin (string-append out "/bin"))
|
||||
(guile-lib (assoc-ref inputs "guile-lib"))
|
||||
(json (assoc-ref inputs "guile-json"))
|
||||
(tls (assoc-ref inputs "guile-gnutls"))
|
||||
(version (target-guile-effective-version))
|
||||
(scm (string-append "/share/guile/site/"
|
||||
version))
|
||||
(go (string-append "/lib/guile/"
|
||||
version "/site-ccache")))
|
||||
(wrap-program (string-append bin "/gitlab-cli")
|
||||
`("GUILE_LOAD_PATH" prefix
|
||||
(,(string-append out scm)
|
||||
,(string-append guile-lib scm)
|
||||
,(string-append json scm)
|
||||
,(string-append tls scm)))
|
||||
`("GUILE_LOAD_COMPILED_PATH" prefix
|
||||
(,(string-append out go)
|
||||
,(string-append guile-lib go)
|
||||
,(string-append json go)
|
||||
,(string-append tls go))))))))))
|
||||
(native-inputs
|
||||
(list autoconf automake pkg-config texinfo))
|
||||
(inputs
|
||||
`(("bash" ,bash-minimal)
|
||||
("guile" ,guile-2.2)
|
||||
("guile-json" ,guile2.2-json)
|
||||
("guile-lib" ,guile2.2-lib)
|
||||
("guile-gnutls" ,guile2.2-gnutls)))
|
||||
#:phases (modify-phases %standard-phases
|
||||
(add-after 'install 'wrap-program
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(bin (string-append out "/bin"))
|
||||
(guile-lib (assoc-ref inputs "guile2.2-lib"))
|
||||
(json (assoc-ref inputs "guile2.2-json"))
|
||||
(tls (assoc-ref inputs "guile2.2-gnutls"))
|
||||
(version (target-guile-effective-version))
|
||||
(scm (string-append "/share/guile/site/" version))
|
||||
(go (string-append "/lib/guile/" version
|
||||
"/site-ccache")))
|
||||
(wrap-program (string-append bin "/gitlab-cli")
|
||||
`("GUILE_LOAD_PATH" prefix
|
||||
(,(string-append out scm) ,(string-append
|
||||
guile-lib scm)
|
||||
,(string-append json scm)
|
||||
,(string-append tls scm)))
|
||||
`("GUILE_LOAD_COMPILED_PATH" prefix
|
||||
(,(string-append out go) ,(string-append guile-lib
|
||||
go)
|
||||
,(string-append json go)
|
||||
,(string-append tls go))))))))))
|
||||
(native-inputs (list autoconf automake pkg-config texinfo))
|
||||
(inputs (list bash-minimal guile-2.2 guile2.2-json guile2.2-lib
|
||||
guile2.2-gnutls))
|
||||
(home-page "https://github.com/artyom-poptsov/guile-gitlab")
|
||||
(synopsis "Guile interface to GitLab")
|
||||
(description
|
||||
|
@ -5491,7 +5483,7 @@ GitLab instance.")
|
|||
(define-public guile-smc
|
||||
(package
|
||||
(name "guile-smc")
|
||||
(version "0.6.2")
|
||||
(version "0.6.3")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -5501,7 +5493,7 @@ GitLab instance.")
|
|||
(file-name (string-append name "-" version))
|
||||
(sha256
|
||||
(base32
|
||||
"11083lj048ab5zsdgwpkshxi8v5nfdr7kvmmslszbi7lq2pwfqig"))))
|
||||
"1gjwz1l2ls4xkkgg4d2vw3a1klc4var03ab4k6lq1jifdvc8n51f"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:make-flags '("GUILE_AUTO_COMPILE=0") ;to prevent guild warnings
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net>
|
||||
;;; Copyright © 2017, 2019, 2020, 2022 Ricardo Wurmus <rekado@elephly.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 © 2018 Nicolas Goaziou <mail@nicolasgoaziou.fr>
|
||||
|
@ -618,6 +618,21 @@ Javascript library, adding sorting, paging and filtering abilities to plain
|
|||
HTML tables with minimal effort.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public js-datatables-1.9
|
||||
(package
|
||||
(inherit js-datatables)
|
||||
(name "js-datatables")
|
||||
(version "1.9.4")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://datatables.net/releases/DataTables-"
|
||||
version ".zip"))
|
||||
(sha256
|
||||
(base32
|
||||
"0yd6548cbpb4hlpwybjp93b9m084n5rba6v1x5n83y0dvlxcd06g"))))
|
||||
(arguments
|
||||
(list #:javascript-files '(list "media/js/jquery.dataTables.js")))))
|
||||
|
||||
(define-public js-requirejs
|
||||
(package
|
||||
(name "js-requirejs")
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
;;; Copyright © 2020 Brett Gilio <brettg@gnu.org>
|
||||
;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2022 Pradana Aumars <paumars@courrier.dev>
|
||||
;;; Copyright © 2023 Zhu Zihao <all_but_last@163.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -25,6 +26,7 @@
|
|||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix download)
|
||||
|
@ -38,43 +40,34 @@
|
|||
(define-public lean
|
||||
(package
|
||||
(name "lean")
|
||||
(version "3.41.0")
|
||||
(home-page "https://github.com/leanprover-community/lean")
|
||||
(version "3.51.1")
|
||||
(home-page "https://lean-lang.org" )
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference (url home-page)
|
||||
(commit (string-append "v" version))))
|
||||
(uri (git-reference
|
||||
(url "https://github.com/leanprover-community/lean")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0mpxlfjq460x1vi3v6qzgjv74asg0qlhykd51pj347795x5b1hf1"))))
|
||||
"17g4d3lqnbl1yfy2pjannf73v8qhc5003d2jkmrqiy05zkqs8d9n"))))
|
||||
(build-system cmake-build-system)
|
||||
(inputs
|
||||
(list bash-minimal gmp))
|
||||
(list gmp))
|
||||
(arguments
|
||||
`(#:build-type "Release" ; default upstream build type
|
||||
;; XXX: Test phases currently fail on 32-bit sytems.
|
||||
;; Tests for those architectures have been temporarily
|
||||
;; disabled, pending further investigation.
|
||||
#:tests? ,(and (not (%current-target-system))
|
||||
(let ((arch (%current-system)))
|
||||
(not (or (string-prefix? "i686" arch)
|
||||
(string-prefix? "armhf" arch)))))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'patch-source-shebangs 'patch-tests-shebangs
|
||||
(lambda _
|
||||
(let ((sh (which "sh"))
|
||||
(bash (which "bash")))
|
||||
(substitute* (find-files "tests/lean" "\\.sh$")
|
||||
(("#![[:blank:]]?/bin/sh")
|
||||
(string-append "#!" sh))
|
||||
(("#![[:blank:]]?/bin/bash")
|
||||
(string-append "#!" bash))
|
||||
(("#![[:blank:]]?usr/bin/env bash")
|
||||
(string-append "#!" bash))))))
|
||||
(add-before 'configure 'chdir-to-src
|
||||
(lambda _ (chdir "src"))))))
|
||||
(list
|
||||
#:build-type "Release" ; default upstream build type
|
||||
;; XXX: Test phases currently fail on 32-bit sytems.
|
||||
;; Tests for those architectures have been temporarily
|
||||
;; disabled, pending further investigation.
|
||||
#:tests? (and (not (%current-target-system))
|
||||
(let ((arch (%current-system)))
|
||||
(not (or (string-prefix? "i686" arch)
|
||||
(string-prefix? "armhf" arch)))))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-before 'configure 'chdir-to-src
|
||||
(lambda _ (chdir "src"))))))
|
||||
(synopsis "Theorem prover and programming language")
|
||||
(description
|
||||
"Lean is a theorem prover and programming language with a small trusted
|
||||
|
|
|
@ -493,7 +493,7 @@ 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.6-version "6.6.3")
|
||||
(define-public linux-libre-6.6-version "6.6.7")
|
||||
(define-public linux-libre-6.6-gnu-revision "gnu")
|
||||
(define deblob-scripts-6.6
|
||||
(linux-libre-deblob-scripts
|
||||
|
@ -503,30 +503,15 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
|
|||
(base32 "1hg3ck1j8288fhlhcvhgs1zzwh3i62nfvphw7x3vsaqr75kiwbjp")))
|
||||
(define-public linux-libre-6.6-pristine-source
|
||||
(let ((version linux-libre-6.6-version)
|
||||
(hash (base32 "19wmjkyyv5glv1w647qisrv829hhhpba5x905a7p7kch9wyzrv98")))
|
||||
(hash (base32 "0hfqdyxl4nqmm4pspfm1ang8616dbsaj0d968c0186ch0738xrhc")))
|
||||
(make-linux-libre-source version
|
||||
(%upstream-linux-source version hash)
|
||||
deblob-scripts-6.6)))
|
||||
|
||||
(define-public linux-libre-6.5-version "6.5.13")
|
||||
(define-public linux-libre-6.5-gnu-revision "gnu")
|
||||
(define deblob-scripts-6.5
|
||||
(linux-libre-deblob-scripts
|
||||
linux-libre-6.5-version
|
||||
linux-libre-6.5-gnu-revision
|
||||
(base32 "01mm6v67bcrhgm97axsw46x0iix9im7hmlb765f3bkjhwklpxdy7")
|
||||
(base32 "066z5lw5vrfayhv23hpfcm6fh6b7zmn2v13kfv1g3z3jl1wblhfh")))
|
||||
(define-public linux-libre-6.5-pristine-source
|
||||
(let ((version linux-libre-6.5-version)
|
||||
(hash (base32 "1dfbbydmayfj9npx3z0g38p574pmcx3qgs49dv0npigl48wd9yvq")))
|
||||
(make-linux-libre-source version
|
||||
(%upstream-linux-source version hash)
|
||||
deblob-scripts-6.5)))
|
||||
|
||||
;; The "longterm" kernels — the older releases with long-term upstream support.
|
||||
;; Here are the support timelines:
|
||||
;; <https://www.kernel.org/category/releases.html>
|
||||
(define-public linux-libre-6.1-version "6.1.64")
|
||||
(define-public linux-libre-6.1-version "6.1.68")
|
||||
(define-public linux-libre-6.1-gnu-revision "gnu")
|
||||
(define deblob-scripts-6.1
|
||||
(linux-libre-deblob-scripts
|
||||
|
@ -536,12 +521,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
|
|||
(base32 "1hdibv43xbn1lv83i6qjgfmf1bvqxvq17fryfsq4r4sjgs9212js")))
|
||||
(define-public linux-libre-6.1-pristine-source
|
||||
(let ((version linux-libre-6.1-version)
|
||||
(hash (base32 "1ry7dp39010hfja1wial6r6q6ilgygwm7gdz22bg4rzaycwam7b2")))
|
||||
(hash (base32 "1qc4cwqlfni9i6mzh6arghdsd842hp9lb7s832dxw1p261mg4prn")))
|
||||
(make-linux-libre-source version
|
||||
(%upstream-linux-source version hash)
|
||||
deblob-scripts-6.1)))
|
||||
|
||||
(define-public linux-libre-5.15-version "5.15.140")
|
||||
(define-public linux-libre-5.15-version "5.15.143")
|
||||
(define-public linux-libre-5.15-gnu-revision "gnu")
|
||||
(define deblob-scripts-5.15
|
||||
(linux-libre-deblob-scripts
|
||||
|
@ -551,12 +536,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
|
|||
(base32 "1idjrn2w8jrixj8ifkk1awxyyq5042nc4p2mld4rda96azlnp948")))
|
||||
(define-public linux-libre-5.15-pristine-source
|
||||
(let ((version linux-libre-5.15-version)
|
||||
(hash (base32 "0isa9si9wjn10lw41431wdqsbp9y685ch5lzhwswng3g6j5ywaxy")))
|
||||
(hash (base32 "00lyv7zsj97mkg9i7dkb1a6km22mnr0qr687d9zz4ckjq1pb2sq9")))
|
||||
(make-linux-libre-source version
|
||||
(%upstream-linux-source version hash)
|
||||
deblob-scripts-5.15)))
|
||||
|
||||
(define-public linux-libre-5.10-version "5.10.202")
|
||||
(define-public linux-libre-5.10-version "5.10.204")
|
||||
(define-public linux-libre-5.10-gnu-revision "gnu1")
|
||||
(define deblob-scripts-5.10
|
||||
(linux-libre-deblob-scripts
|
||||
|
@ -566,12 +551,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
|
|||
(base32 "0xrrnmb5kcc5r21bdm24aq0fnkk1imn367c1cxlj78b6l6gigx4b")))
|
||||
(define-public linux-libre-5.10-pristine-source
|
||||
(let ((version linux-libre-5.10-version)
|
||||
(hash (base32 "12zs2bz2plps6xp80sdg36zkyr00rf5l5c85jl4dd7b9klly04ij")))
|
||||
(hash (base32 "1vnamiyr378q52xgkg7kvpx80zck729dim77vp06a3q6n580g5gz")))
|
||||
(make-linux-libre-source version
|
||||
(%upstream-linux-source version hash)
|
||||
deblob-scripts-5.10)))
|
||||
|
||||
(define-public linux-libre-5.4-version "5.4.262")
|
||||
(define-public linux-libre-5.4-version "5.4.264")
|
||||
(define-public linux-libre-5.4-gnu-revision "gnu1")
|
||||
(define deblob-scripts-5.4
|
||||
(linux-libre-deblob-scripts
|
||||
|
@ -581,12 +566,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
|
|||
(base32 "0sw67b2pk3lng4y67diqqnhxaggnp3nbkx8dxc5fs27rinfxr4m1")))
|
||||
(define-public linux-libre-5.4-pristine-source
|
||||
(let ((version linux-libre-5.4-version)
|
||||
(hash (base32 "1p34x33gkvpv26zcrpx1i6dr7dknyxj8gnp6caqb8sj58h3slgkx")))
|
||||
(hash (base32 "1c5n47dq9khb15hz24a000k3hj913vv1dda6famnm8wpjbfr176k")))
|
||||
(make-linux-libre-source version
|
||||
(%upstream-linux-source version hash)
|
||||
deblob-scripts-5.4)))
|
||||
|
||||
(define-public linux-libre-4.19-version "4.19.300")
|
||||
(define-public linux-libre-4.19-version "4.19.302")
|
||||
(define-public linux-libre-4.19-gnu-revision "gnu1")
|
||||
(define deblob-scripts-4.19
|
||||
(linux-libre-deblob-scripts
|
||||
|
@ -596,12 +581,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
|
|||
(base32 "1425mhkfxn18vxn05bb4h3li7x1jl7l1hf1zi8xhnqv3wa31h9wl")))
|
||||
(define-public linux-libre-4.19-pristine-source
|
||||
(let ((version linux-libre-4.19-version)
|
||||
(hash (base32 "0ilksl94gjpc4pzc90swfawsl8lvibpq14nkaxzl0831i219ahd8")))
|
||||
(hash (base32 "1kkkpm34p5rq0iijzrzwaq0cb62w543argargw5p1wzg8803rlsk")))
|
||||
(make-linux-libre-source version
|
||||
(%upstream-linux-source version hash)
|
||||
deblob-scripts-4.19)))
|
||||
|
||||
(define-public linux-libre-4.14-version "4.14.331")
|
||||
(define-public linux-libre-4.14-version "4.14.333")
|
||||
(define-public linux-libre-4.14-gnu-revision "gnu1")
|
||||
(define deblob-scripts-4.14
|
||||
(linux-libre-deblob-scripts
|
||||
|
@ -611,7 +596,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
|
|||
(base32 "1faagsj4i31z2bp83hflx3q9vrddjnn37a3ah2b47iaplva7z1nd")))
|
||||
(define-public linux-libre-4.14-pristine-source
|
||||
(let ((version linux-libre-4.14-version)
|
||||
(hash (base32 "03sk82dgvccv70i3hy8gf2hw0n4m305f7rxjw93p7jnjrbpdrp1r")))
|
||||
(hash (base32 "0j5nrankrhi56qzmyjg1pznqx1zgk5f7cfa154smjbn3zlm7lcv6")))
|
||||
(make-linux-libre-source version
|
||||
(%upstream-linux-source version hash)
|
||||
deblob-scripts-4.14)))
|
||||
|
@ -649,11 +634,6 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
|
|||
(list %boot-logo-patch
|
||||
%linux-libre-arm-export-__sync_icache_dcache-patch)))
|
||||
|
||||
(define-public linux-libre-6.5-source
|
||||
(source-with-patches linux-libre-6.5-pristine-source
|
||||
(list %boot-logo-patch
|
||||
%linux-libre-arm-export-__sync_icache_dcache-patch)))
|
||||
|
||||
(define-public linux-libre-6.1-source
|
||||
(source-with-patches linux-libre-6.1-pristine-source
|
||||
(append
|
||||
|
@ -773,11 +753,6 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
|
|||
linux-libre-6.6-gnu-revision
|
||||
linux-libre-6.6-source))
|
||||
|
||||
(define-public linux-libre-headers-6.5
|
||||
(make-linux-libre-headers* linux-libre-6.5-version
|
||||
linux-libre-6.5-gnu-revision
|
||||
linux-libre-6.5-source))
|
||||
|
||||
(define-public linux-libre-headers-6.1
|
||||
(make-linux-libre-headers* linux-libre-6.1-version
|
||||
linux-libre-6.1-gnu-revision
|
||||
|
@ -1131,14 +1106,6 @@ Linux kernel. It has been modified to remove all non-free binary blobs.")
|
|||
(define-public linux-libre-source linux-libre-6.6-source)
|
||||
(define-public linux-libre linux-libre-6.6)
|
||||
|
||||
(define-public linux-libre-6.5
|
||||
(make-linux-libre* linux-libre-6.5-version
|
||||
linux-libre-6.5-gnu-revision
|
||||
linux-libre-6.5-source
|
||||
'("x86_64-linux" "i686-linux" "armhf-linux"
|
||||
"aarch64-linux" "powerpc64le-linux" "riscv64-linux")
|
||||
#:configuration-file kernel-config))
|
||||
|
||||
(define-public linux-libre-6.1
|
||||
(make-linux-libre* linux-libre-6.1-version
|
||||
linux-libre-6.1-gnu-revision
|
||||
|
@ -6618,17 +6585,17 @@ by hand is no trivial task: @command{tmon} aims to make it understandable.")
|
|||
(source (package-source linux-libre))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; no test suite
|
||||
#:make-flags
|
||||
(list (string-append "CC=" ,(cc-for-target))
|
||||
(string-append "PREFIX=" (assoc-ref %outputs "out")))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'enter-subdirectory
|
||||
(lambda _
|
||||
(chdir "tools/power/x86/turbostat")
|
||||
#t))
|
||||
(delete 'configure)))) ; no configure script
|
||||
(list
|
||||
#:tests? #f ;no test suite
|
||||
#:make-flags
|
||||
#~(list (string-append "CC=" #$(cc-for-target))
|
||||
(string-append "PREFIX=" #$output))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'enter-subdirectory
|
||||
(lambda _
|
||||
(chdir "tools/power/x86/turbostat")))
|
||||
(delete 'configure)))) ;no configure script
|
||||
(inputs
|
||||
(list libcap))
|
||||
(supported-systems '("i686-linux" "x86_64-linux"))
|
||||
|
@ -9357,7 +9324,7 @@ types and interfaces and translates so that the X server can use them.")
|
|||
(define-public pipewire
|
||||
(package
|
||||
(name "pipewire")
|
||||
(version "0.3.77")
|
||||
(version "1.0.0")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -9366,7 +9333,7 @@ types and interfaces and translates so that the X server can use them.")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"11jdd9ljm6967cdp97qqf5fa02ad69kdgk3212ap5gfndky2h43m"))))
|
||||
"0a8wvsnbgqanp2vjdpkaxpny0k17hz720rd20zdi00s9xjbcrycr"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
(list
|
||||
|
@ -9380,6 +9347,8 @@ types and interfaces and translates so that the X server can use them.")
|
|||
(native-inputs
|
||||
(list `(,glib "bin")
|
||||
pkg-config
|
||||
doxygen
|
||||
python
|
||||
python-docutils))
|
||||
(inputs (list alsa-lib
|
||||
avahi
|
||||
|
|
|
@ -9995,8 +9995,8 @@ implementation specific equivalent.")
|
|||
(sbcl-package->ecl-package sbcl-trivial-macroexpand-all))
|
||||
|
||||
(define-public sbcl-serapeum
|
||||
(let ((commit "47217ab69f76673db7e1fa65665ab804fb46d974")
|
||||
(revision "11"))
|
||||
(let ((commit "c08442a9757b7fa30ac345cb040e1642f97f6b78")
|
||||
(revision "12"))
|
||||
(package
|
||||
(name "sbcl-serapeum")
|
||||
(version (git-version "0.0.0" revision commit))
|
||||
|
@ -10009,7 +10009,7 @@ implementation specific equivalent.")
|
|||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1mr868z1za6vfhb7gq3j7c1rb606gqfzschxdy7wcqx5xv3ndgpa"))))
|
||||
(base32 "1sabd048agvgv7bhbw126rci9hf45fk08zhghcv6an2h6xwmc3qv"))))
|
||||
(build-system asdf-build-system/sbcl)
|
||||
(inputs
|
||||
(list sbcl-alexandria
|
||||
|
@ -19190,6 +19190,43 @@ Lisp.")
|
|||
(define-public cl-percent-encoding
|
||||
(sbcl-package->cl-source-package sbcl-percent-encoding))
|
||||
|
||||
(define-public sbcl-machine-state
|
||||
(let ((commit "afa7392bc5dcb689cd170bcca765fb6ce6e4efc5")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "sbcl-machine-state")
|
||||
(version (git-version "1.0.0" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/Shinmera/machine-state")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name "machine-state" version))
|
||||
(sha256
|
||||
(base32 "1b897wj06cnalzf5nl6rif1skpa79rzc9a562x1bdhvanhsp7hwa"))))
|
||||
(build-system asdf-build-system/sbcl)
|
||||
(inputs
|
||||
(list sbcl-bordeaux-threads
|
||||
sbcl-cffi
|
||||
sbcl-cl-opengl
|
||||
sbcl-documentation-utils))
|
||||
(arguments
|
||||
'(#:tests? #f ; No tests.
|
||||
#:asd-systems '("machine-state" "machine-state/opengl")))
|
||||
(home-page "https://notabug.org/cage/cl-mount-info.git")
|
||||
(synopsis "Retrieve machine state information about CPU time, memory usage and more")
|
||||
(description
|
||||
"This library implements various functions to access status information
|
||||
about the machine, process, etc.")
|
||||
(license license:zlib))))
|
||||
|
||||
(define-public ecl-machine-state
|
||||
(sbcl-package->ecl-package sbcl-machine-state))
|
||||
|
||||
(define-public cl-machine-state
|
||||
(sbcl-package->cl-source-package sbcl-machine-state))
|
||||
|
||||
(define-public sbcl-cl-mount-info
|
||||
(let ((commit "2024f5037a7f63db3e3587dc9972cd7b9318f06b")
|
||||
(revision "1"))
|
||||
|
|
|
@ -1024,15 +1024,6 @@ the HTML documentation of TXR.")
|
|||
(string-append "INSTALL" match #$output
|
||||
"/share/doc/" #$name "-" #$version)))))
|
||||
(delete 'install-license-files)
|
||||
(add-after 'unpack 'inhibit-doc-syms-generation
|
||||
(lambda _
|
||||
(substitute* "genman.txr"
|
||||
;; Exit from genman.txr before it tries to write to
|
||||
;; stdlib/doc-syms.tl, which is anyway kept up to date
|
||||
;; with each release (and is already compiled to
|
||||
;; stdlib/doc-syms.tlo when genman.txr is run).
|
||||
(("^@\\(output \"stdlib/doc-syms\\.tl\"\\).*" line)
|
||||
(string-append "@(do (exit))\n" line)))))
|
||||
(add-after 'unpack 'fix-paths
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* "stream.c"
|
||||
|
|
|
@ -115,7 +115,8 @@ as \"x86_64-linux\"."
|
|||
("riscv64" => "RISCV64")
|
||||
("x86_64" => "X86_64")
|
||||
("i686" => "X86")
|
||||
("i586" => "X86"))))
|
||||
("i586" => "X86")
|
||||
("avr" => "AVR"))))
|
||||
|
||||
(define (llvm-uri component version)
|
||||
;; LLVM release candidate file names are formatted 'tool-A.B.C-rcN/tool-A.B.CrcN.src.tar.xz'
|
||||
|
@ -603,13 +604,13 @@ output), and Binutils.")
|
|||
'(("14.0.6" . "14f8nlvnmdkp9a9a79wv67jbmafvabczhah8rwnqrgd5g3hfxxxx")
|
||||
("15.0.7" . "12sggw15sxq1krh1mfk3c1f07h895jlxbcifpwk3pznh4m1rjfy2")
|
||||
("16.0.6" . "0jxmapg7shwkl88m4mqgfjv4ziqdmnppxhjz6vz51ycp2x4nmjky")
|
||||
("17.0.5" . "149flpr96vcn7a1ckya6mm93m9yp85l47w156fjd0r99ydxrw5kv")))
|
||||
("17.0.6" . "1a7rq3rgw5vxm8y39fyzr4kv7w97lli4a0c1qrkchwk8p0n07hgh")))
|
||||
|
||||
(define %llvm-patches
|
||||
'(("14.0.6" . ("clang-14.0-libc-search-path.patch"))
|
||||
("15.0.7" . ("clang-15.0-libc-search-path.patch"))
|
||||
("16.0.6" . ("clang-16.0-libc-search-path.patch"))
|
||||
("17.0.5" . ("clang-17.0-libc-search-path.patch"))))
|
||||
("17.0.6" . ("clang-17.0-libc-search-path.patch"))))
|
||||
|
||||
(define (llvm-monorepo version)
|
||||
(origin
|
||||
|
@ -706,6 +707,10 @@ of programming tools as well as libraries with equivalent functionality.")
|
|||
#$(string-append "-DLLVM_TARGETS_TO_BUILD="
|
||||
(system->llvm-target)))
|
||||
'())
|
||||
;; undefined reference to `__atomic_fetch_add_8' in lib/libLLVMOrcJIT.so.14
|
||||
#$@(if (target-ppc32?)
|
||||
(list "-DCMAKE_SHARED_LINKER_FLAGS=-latomic")
|
||||
`())
|
||||
"-DCMAKE_SKIP_BUILD_RPATH=FALSE"
|
||||
"-DCMAKE_BUILD_WITH_INSTALL_RPATH=FALSE"
|
||||
"-DBUILD_SHARED_LIBS:BOOL=TRUE"
|
||||
|
@ -1502,7 +1507,7 @@ Library.")
|
|||
(define-public llvm-17
|
||||
(package
|
||||
(inherit llvm-15)
|
||||
(version "17.0.5")
|
||||
(version "17.0.6")
|
||||
(source (llvm-monorepo version))))
|
||||
|
||||
(define-public clang-runtime-17
|
||||
|
@ -1518,7 +1523,7 @@ Library.")
|
|||
(package-version llvm-17)))
|
||||
(sha256
|
||||
(base32
|
||||
"12dbp10bhq25a44qnvz978mf9y6pdycwpp7sgq8a93by0fpgb72r")))))
|
||||
"1f8szx762c325916gjxb5lw7zxyidynwnvx6fxxqscsx8514cxxa")))))
|
||||
|
||||
(define-public libomp-17
|
||||
(package
|
||||
|
|
|
@ -33,7 +33,7 @@
|
|||
(define-public moreutils
|
||||
(package
|
||||
(name "moreutils")
|
||||
(version "0.67")
|
||||
(version "0.68")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
|
@ -42,7 +42,7 @@
|
|||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"045d2dfvsd4sxxr2i2qvkpgvi912qj9vc4gpc8fb4hr9q912z1q3"))))
|
||||
"1rxn01hgm5nypcpnl4s9v5zr4fxzf8vxinzbg0s781qlpk3lpcay"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list #:phases
|
||||
|
|
|
@ -204,6 +204,46 @@
|
|||
#:use-module (gnu packages xorg)
|
||||
#:use-module ((srfi srfi-1) #:select (last)))
|
||||
|
||||
(define-public alsa-scarlett-gui
|
||||
(package
|
||||
(name "alsa-scarlett-gui")
|
||||
(version "0.3.3")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/geoffreybennett/alsa-scarlett-gui")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1nd764vd7qfy2x8dqapiyh5yrxjimm8b4himhm1qkgpf5hvh734l"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #false ;there is no check target
|
||||
#:make-flags
|
||||
#~(list (string-append "CC=" #$(cc-for-target))
|
||||
(string-append "PREFIX=" #$output))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'chdir
|
||||
(lambda _
|
||||
(substitute* "src/Makefile"
|
||||
((" cc -o")
|
||||
(string-append " "
|
||||
#$(cc-for-target) " -o")))
|
||||
(chdir "src")))
|
||||
(delete 'configure))))
|
||||
(inputs
|
||||
(list alsa-lib glib gtk))
|
||||
(native-inputs
|
||||
(list `(,glib "bin") pkg-config))
|
||||
(home-page "https://github.com/geoffreybennett/alsa-scarlett-gui")
|
||||
(synopsis "ALSA Scarlett2 control panel")
|
||||
(description "This package provides a Gtk4 GUI for the ALSA controls
|
||||
presented by the Linux kernel Focusrite Scarlett2 USB Protocol Mixer Driver.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public audacious
|
||||
(package
|
||||
(name "audacious")
|
||||
|
@ -1895,7 +1935,7 @@ complete studio.")
|
|||
|
||||
(define-public tascam-gtk
|
||||
;; This commit represents the latest version at the time of this writing.
|
||||
(let ((commit "17b8575ff88dfd2ede0f7ef9c5c5597ab8a00702")
|
||||
(let ((commit "69fb86f31efcdb27c7854d2a190457aab42b337a")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "tascam-gtk")
|
||||
|
@ -1908,10 +1948,10 @@ complete studio.")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"07k7rccqqg7lnygkh97a200l1i6s1rl92n01v0q6n4257sinir6f"))))
|
||||
"05fbs5s24nwr6b10jgjhsfi7aj6y65kcickmygl7g84xvsnykdb0"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
(list liblo gtkmm-3 alsa-lib libxml++-2))
|
||||
(list liblo gtkmm-3 alsa-lib libxml++-3))
|
||||
(native-inputs
|
||||
(list `(,glib "bin") pkg-config))
|
||||
(home-page "https://github.com/onkelDead/tascam-gtk")
|
||||
|
|
|
@ -21,14 +21,14 @@
|
|||
(define-module (gnu packages ncdu)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages ncurses)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (guix licenses)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages zig))
|
||||
#:use-module (guix build-system zig))
|
||||
|
||||
(define-public ncdu-1
|
||||
;; This old version is ‘LTS’. Version 2 works fine and has more features,
|
||||
|
@ -73,28 +73,16 @@ ncurses installed.")
|
|||
#~(begin
|
||||
;; Delete a pregenerated man page. We'll build it ourselves.
|
||||
(delete-file "ncdu.1")))))
|
||||
(build-system zig-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:make-flags
|
||||
#~(list (string-append "PREFIX=" #$output)
|
||||
(string-append "CC=" #$(cc-for-target))
|
||||
(string-append "ZIG_FLAGS=-Drelease-fast"))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(delete 'configure) ; No configure script.
|
||||
(add-before 'build 'pre-build
|
||||
(lambda _
|
||||
(setenv "ZIG_GLOBAL_CACHE_DIR"
|
||||
(mkdtemp "/tmp/zig-cache-XXXXXX"))))
|
||||
(delete 'validate-runpath)
|
||||
(add-after 'build 'build-manpage
|
||||
(lambda _
|
||||
(invoke "make" "doc")))
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(invoke "zig" "test" "build.zig")))))))
|
||||
(native-inputs
|
||||
(list perl zig-0.10))
|
||||
(invoke "make" "doc"))))))
|
||||
(native-inputs (list perl))
|
||||
(properties `((tunable? . #t)))))
|
||||
|
||||
(define-public ncdu-2
|
||||
|
|
|
@ -330,8 +330,9 @@ of your system.")
|
|||
"1460d5lc780p3q38l3wc9jfr2a7zlyrcra0li65aynj738cam9yl"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:tests? #f ; no test target
|
||||
#:make-flags (list (string-append "prefix=" (assoc-ref %outputs "out")))
|
||||
`(#:tests? #f ; no test target
|
||||
#:make-flags (list (string-append "prefix=" (assoc-ref %outputs "out"))
|
||||
(string-append "CC=" ,(cc-for-target)))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure) ; there is no configure script
|
||||
|
@ -339,8 +340,7 @@ of your system.")
|
|||
(add-before 'build 'patch-ncursesw
|
||||
(lambda _
|
||||
(substitute* "stfl_internals.h"
|
||||
(("ncursesw/") ""))
|
||||
#t))
|
||||
(("ncursesw/") ""))))
|
||||
(add-after 'install 'install-missing-symlink
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
|
|
|
@ -2677,7 +2677,7 @@ that block port 22.")
|
|||
(define-public iperf
|
||||
(package
|
||||
(name "iperf")
|
||||
(version "3.15")
|
||||
(version "3.16")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -2686,7 +2686,7 @@ that block port 22.")
|
|||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "10fzz3j2kx36yhqd0mvwlawvhdbcm0qc41i3f6jf6a5whm70177q"))))
|
||||
(base32 "0m8zhr050qgmkkaf0jgn2isrr7yyk8majx9c18pf1xsqpr00sxs6"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
;;; Copyright © 2020 Eric Bavier <bavier@posteo.net>
|
||||
;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;; Copyright © 2022 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2023 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -46,6 +47,15 @@
|
|||
(define %fpc-release-date "2021/05/19")
|
||||
|
||||
;;; FIXME: Bootstrap properly; these are prebuilt binaries.
|
||||
(define fpc-bootstrap-aarch64
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/freepascal/Linux/"
|
||||
%fpc-version "/fpc-" %fpc-version ".aarch64-linux.tar"))
|
||||
(sha256
|
||||
(base32
|
||||
"0lalar6qk04acb2j8p6654hlz0yj6zdab046zi82zf5mnvwp155k"))))
|
||||
|
||||
(define fpc-bootstrap-i386
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -55,6 +65,24 @@
|
|||
(base32
|
||||
"0n4r85dsr86zlk7r4hbd4nj14sda6rwgdgzxg4gj4q981fn80agn"))))
|
||||
|
||||
(define fpc-bootstrap-powerpc
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/freepascal/Linux/"
|
||||
%fpc-version "/fpc-" %fpc-version ".powerpc-linux.tar"))
|
||||
(sha256
|
||||
(base32
|
||||
"1zhdypm99bzs5706g4nxwajiadv82jwd87cr300lrivy1rzj5h4a"))))
|
||||
|
||||
(define fpc-bootstrap-powerpc64le
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/freepascal/Linux/"
|
||||
%fpc-version "/fpc-" %fpc-version ".powerpc64le-linux.tar"))
|
||||
(sha256
|
||||
(base32
|
||||
"12p3lmi1vn7agpw4pipp6ra8r85319sjcvbzh7z6kangmry7vic3"))))
|
||||
|
||||
(define fpc-bootstrap-x86_64
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -76,7 +104,8 @@
|
|||
(sha256
|
||||
(base32
|
||||
"07qna2pvlpa7j0i2wdixjxpizdvffv51nbr1waczk0xv8cq9kvw5"))
|
||||
(patches (search-patches "fpc-reproducibility.patch"))
|
||||
(patches (search-patches "fpc-reproducibility.patch"
|
||||
"fpc-glibc-2.34-compat.patch"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
|
@ -90,16 +119,19 @@
|
|||
(rename-file "install-man" "install/man")
|
||||
(delete-file "fpcsrc/tests/utils/dosbox/exitcode.exe")))))
|
||||
(build-system gnu-build-system)
|
||||
(supported-systems '("i686-linux" "x86_64-linux"))
|
||||
(supported-systems '("i686-linux" "x86_64-linux"
|
||||
"powerpc-linux" "powerpc64le-linux"
|
||||
"aarch64-linux"))
|
||||
(inputs
|
||||
(list expat glibc ncurses zlib))
|
||||
(native-inputs
|
||||
;; FPC is built with FPC, so we need bootstrap binaries.
|
||||
`(("fpc-binary" ,(match (or (%current-target-system)
|
||||
(%current-system))
|
||||
("aarch64-linux" fpc-bootstrap-aarch64)
|
||||
("i686-linux" fpc-bootstrap-i386)
|
||||
;;("powerpc64le-linux" fpc-bootstrap-ppc64le)
|
||||
;;("powerpc-linux" fpc-bootstrap-ppc)
|
||||
("powerpc-linux" fpc-bootstrap-powerpc)
|
||||
("powerpc64le-linux" fpc-bootstrap-powerpc64le)
|
||||
("x86_64-linux" fpc-bootstrap-x86_64)
|
||||
;; XXX: Wrong, but innocuous so long
|
||||
;; `supported-systems' is kept in sync.
|
||||
|
@ -109,11 +141,13 @@
|
|||
#:phases
|
||||
(let ((fpc-bootstrap-path
|
||||
(string-append (getcwd) "/" ,name "-" ,version "/fpc-bin"))
|
||||
(arch ,(match (or (%current-target-system)
|
||||
(%current-system))
|
||||
("i686-linux" "i386")
|
||||
("x86_64-linux" "x86_64")
|
||||
(_ "unknown"))))
|
||||
(arch ,(cond
|
||||
((target-aarch64?) "aarch64")
|
||||
((target-x86-32?) "i386")
|
||||
((target-ppc32?) "powerpc")
|
||||
((target-ppc64le?) "powerpc64")
|
||||
((target-x86-64?) "x86_64")
|
||||
(else "unknown"))))
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'unpack-bin
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
|
@ -160,9 +194,14 @@
|
|||
(search-input-file inputs ,(glibc-dynamic-linker)))
|
||||
(("/lib64/ld-linux-x86-64.so.2")
|
||||
(search-input-file inputs ,(glibc-dynamic-linker)))
|
||||
; TODO: /lib/ld-linux-armhf.so.3
|
||||
; TODO: /lib/ld-linux-aarch64.so.1
|
||||
; TODO: /lib64/ld64.so.2
|
||||
(("/lib/ld.so.1")
|
||||
(search-input-file inputs ,(glibc-dynamic-linker)))
|
||||
(("/lib64/ld64.so.[12]")
|
||||
(search-input-file inputs ,(glibc-dynamic-linker)))
|
||||
(("/lib/ld-linux(-armhf)?.so.3")
|
||||
(search-input-file inputs ,(glibc-dynamic-linker)))
|
||||
(("/lib/ld-linux-aarch64.so.1")
|
||||
(search-input-file inputs ,(glibc-dynamic-linker)))
|
||||
;; Add glibc to ld's search path.
|
||||
(("if \\(isdll\\) then")
|
||||
(string-append
|
||||
|
@ -192,9 +231,13 @@
|
|||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
;; This is the suffix of the ppc[arch] binary.
|
||||
(suffix (if (string= arch "x86_64")
|
||||
"x64"
|
||||
"386"))
|
||||
(suffix ,(cond
|
||||
((target-aarch64?) "a64")
|
||||
((target-x86-32?) "386")
|
||||
((target-ppc32?) "ppc")
|
||||
((target-ppc64le?) "ppc64")
|
||||
((target-x86-64?) "x64")
|
||||
(else "")))
|
||||
(ppc (string-append "ppc" suffix)))
|
||||
(invoke "make" "install" "NOGDB=1"
|
||||
(string-append "INSTALL_PREFIX=" out))
|
||||
|
|
|
@ -168,6 +168,25 @@ human.")
|
|||
#~(list "-DWITH_XC_DOCS=NO")))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'record-clipboard-programs
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
;; Record the file names of clipboard programs invoked by
|
||||
;; 'keepassxc-cli clip' and similar.
|
||||
;;
|
||||
;; Note: Use 'QString::fromUtf8' rather than 'QStringLiteral' so
|
||||
;; that the store reference is stored as ASCII instead of
|
||||
;; UTF-16, which would be invisible to the GC's scanner.
|
||||
(substitute* "src/cli/Utils.cpp"
|
||||
(("QStringLiteral\\(\"xclip\"\\)")
|
||||
(string-append
|
||||
"QString::fromUtf8(\""
|
||||
(search-input-file inputs "bin/xclip")
|
||||
"\")"))
|
||||
(("QStringLiteral\\(\"wl-copy\"\\)")
|
||||
(string-append
|
||||
"QString::fromUtf8(\""
|
||||
(search-input-file inputs "bin/wl-copy")
|
||||
"\")")))))
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
|
@ -199,6 +218,8 @@ human.")
|
|||
qtx11extras
|
||||
quazip-0 ; XC_KEESHARE
|
||||
readline
|
||||
wl-clipboard ;for 'wl-copy'
|
||||
xclip ;for 'xclip'
|
||||
yubikey-personalization ; XC_YUBIKEY
|
||||
zlib))
|
||||
(home-page "https://keepassxc.org")
|
||||
|
|
|
@ -0,0 +1,190 @@
|
|||
https://sources.debian.org/data/main/f/fpc/3.2.2%2Bdfsg-22/debian/patches/glibc2.34.patch
|
||||
|
||||
Description: Adjust startup code for glibc 2.34
|
||||
Based on the corresponding changes made in glibc:
|
||||
https://sourceware.org/git/?p=glibc.git;a=commit;h=035c012e32c11e84d64905efaf55e74f704d3668
|
||||
Bug: https://gitlab.com/freepascal.org/fpc/source/-/issues/39295
|
||||
Author: Graham Inggs <ginggs@debian.org>
|
||||
Last-Update: 2022-08-12
|
||||
|
||||
--- a/fpcsrc/rtl/linux/powerpc64/cprt0.as
|
||||
+++ b/fpcsrc/rtl/linux/powerpc64/cprt0.as
|
||||
@@ -351,8 +351,8 @@
|
||||
start_addresses:
|
||||
.quad 0 /* was _SDA_BASE_ but not in 64-bit ABI*/
|
||||
.quad main_stub
|
||||
- .quad __libc_csu_init
|
||||
- .quad __libc_csu_fini
|
||||
+ .quad 0
|
||||
+ .quad 0
|
||||
.size start_adresses, .-start_addresses
|
||||
|
||||
/*
|
||||
--- a/fpcsrc/rtl/linux/powerpc64/gprt0.as
|
||||
+++ b/fpcsrc/rtl/linux/powerpc64/gprt0.as
|
||||
@@ -351,8 +351,8 @@
|
||||
start_addresses:
|
||||
.quad 0 /* was _SDA_BASE_ but not in 64-bit ABI*/
|
||||
.quad main_stub
|
||||
- .quad __libc_csu_init
|
||||
- .quad __libc_csu_fini
|
||||
+ .quad 0
|
||||
+ .quad 0
|
||||
.size start_adresses, .-start_addresses
|
||||
|
||||
/*
|
||||
--- a/fpcsrc/rtl/linux/aarch64/cprt0.as
|
||||
+++ b/fpcsrc/rtl/linux/aarch64/cprt0.as
|
||||
@@ -41,10 +41,8 @@
|
||||
init, fini, rtld_fini, stack_end) */
|
||||
adrp x0,:got:PASCALMAIN
|
||||
ldr x0,[x0,#:got_lo12:PASCALMAIN]
|
||||
- adrp x3,:got:__libc_csu_init
|
||||
- ldr x3,[x3,#:got_lo12:__libc_csu_init]
|
||||
- adrp x4,:got:__libc_csu_fini
|
||||
- ldr x4,[x4,#:got_lo12:__libc_csu_fini]
|
||||
+ mov x3, #0
|
||||
+ mov x4, #0
|
||||
bl __libc_start_main
|
||||
|
||||
/* This should never happen */
|
||||
--- a/fpcsrc/rtl/linux/i386/si_c21.inc
|
||||
+++ b/fpcsrc/rtl/linux/i386/si_c21.inc
|
||||
@@ -35,8 +35,6 @@
|
||||
|
||||
{$asmmode att}
|
||||
|
||||
-procedure __libc_csu_init; cdecl; external;
|
||||
-procedure __libc_csu_fini; cdecl; external;
|
||||
procedure libc_start_main; external name '__libc_start_main';
|
||||
procedure libc_exit(code: longint); cdecl; external name 'exit';
|
||||
|
||||
@@ -93,8 +91,8 @@
|
||||
pushl %esp { stack_end }
|
||||
pushl %edx { function to be registered with
|
||||
atexit(), passed by loader }
|
||||
- pushl $__libc_csu_fini
|
||||
- pushl $__libc_csu_init
|
||||
+ pushl $0
|
||||
+ pushl $0
|
||||
pushl %esi { Push second argument: argv. }
|
||||
pushl %ecx { Push first argument: argc. }
|
||||
|
||||
--- a/fpcsrc/rtl/linux/x86_64/cprt0.as
|
||||
+++ b/fpcsrc/rtl/linux/x86_64/cprt0.as
|
||||
@@ -61,9 +61,8 @@
|
||||
which grow downwards). */
|
||||
pushq %rsp
|
||||
|
||||
- /* Pass address of our own entry points to .fini and .init. */
|
||||
- movq __libc_csu_init@GOTPCREL(%rip), %rcx
|
||||
- movq __libc_csu_fini@GOTPCREL(%rip), %r8
|
||||
+ xorl %r8d, %r8d
|
||||
+ xorl %ecx, %ecx
|
||||
|
||||
movq main_stub@GOTPCREL(%rip), %rdi
|
||||
|
||||
--- a/fpcsrc/rtl/linux/arm/cprt0.as
|
||||
+++ b/fpcsrc/rtl/linux/arm/cprt0.as
|
||||
@@ -82,10 +82,10 @@
|
||||
|
||||
/* Set up the other arguments in registers */
|
||||
ldr a1, =PASCALMAIN
|
||||
- ldr a4, =_init
|
||||
+ ldr a4, = #0
|
||||
|
||||
/* Push fini */
|
||||
- str ip, [sp, #-4]!
|
||||
+ str a4, [sp, #-4]!
|
||||
|
||||
/* __libc_start_main (main, argc, argv, init, fini, rtld_fini, stack_end) */
|
||||
|
||||
--- a/fpcsrc/rtl/linux/powerpc64/si_g.inc
|
||||
+++ b/fpcsrc/rtl/linux/powerpc64/si_g.inc
|
||||
@@ -657,9 +657,6 @@
|
||||
Process start/halt
|
||||
******************************************************************************}
|
||||
|
||||
-procedure __libc_csu_init; cdecl; external;
|
||||
-procedure __libc_csu_fini; cdecl; external;
|
||||
-
|
||||
procedure __libc_start_main(r3,r4,r5,r6,r7,r8,r9: pointer); cdecl; external;
|
||||
|
||||
type
|
||||
@@ -745,8 +742,8 @@
|
||||
end
|
||||
= (sda_base: nil; {* was _SDA_BASE_ but not in 64-bit ABI }
|
||||
main: @main_stub;
|
||||
- libc_csu_init: @__libc_csu_init;
|
||||
- libc_csu_fini: @__libc_csu_fini
|
||||
+ libc_csu_init: pointer(0);
|
||||
+ libc_csu_fini: pointer(0)
|
||||
);
|
||||
|
||||
procedure call_libc_start_main(r3,r4,r5,r6,r7,r8,r9: pointer); cdecl;
|
||||
--- a/fpcsrc/rtl/linux/powerpc64/si_c.inc
|
||||
+++ b/fpcsrc/rtl/linux/powerpc64/si_c.inc
|
||||
@@ -657,9 +657,6 @@
|
||||
Process start/halt
|
||||
******************************************************************************}
|
||||
|
||||
-procedure __libc_csu_init; cdecl; external;
|
||||
-procedure __libc_csu_fini; cdecl; external;
|
||||
-
|
||||
procedure __libc_start_main(r3,r4,r5,r6,r7,r8,r9: pointer); cdecl; external;
|
||||
|
||||
var
|
||||
@@ -724,8 +721,8 @@
|
||||
end
|
||||
= (sda_base: nil; {* was _SDA_BASE_ but not in 64-bit ABI }
|
||||
main: @main_stub;
|
||||
- libc_csu_init: @__libc_csu_init;
|
||||
- libc_csu_fini: @__libc_csu_fini
|
||||
+ libc_csu_init: pointer(0);
|
||||
+ libc_csu_fini: pointer(0)
|
||||
);
|
||||
|
||||
|
||||
--- a/fpcsrc/rtl/linux/powerpc/cprt0.as
|
||||
+++ b/fpcsrc/rtl/linux/powerpc/cprt0.as
|
||||
@@ -35,8 +35,8 @@
|
||||
start_addresses:
|
||||
.long _SDA_BASE_
|
||||
.long main_stub
|
||||
- .long __libc_csu_init
|
||||
- .long __libc_csu_fini
|
||||
+ .long 0
|
||||
+ .long 0
|
||||
.size start_adresses, .-start_addresses
|
||||
|
||||
.section ".text"
|
||||
--- a/fpcsrc/rtl/linux/mips/cprt0.as
|
||||
+++ b/fpcsrc/rtl/linux/mips/cprt0.as
|
||||
@@ -113,10 +113,9 @@
|
||||
and $29, -2 * 4
|
||||
subu $29, 32
|
||||
|
||||
- lw $7,%got(__libc_csu_init)($gp) /* init */
|
||||
- lw $8,%got(__libc_csu_fini)($gp) /* fini */
|
||||
+ move $7, $0
|
||||
|
||||
- sw $8, 16($29) /* fini */
|
||||
+ sw $0, 16($29)
|
||||
sw $2, 20($29) /* rtld_fini */
|
||||
sw $29, 24($29) /* stack_end */
|
||||
|
||||
--- a/fpcsrc/rtl/linux/m68k/cprt0.as
|
||||
+++ b/fpcsrc/rtl/linux/m68k/cprt0.as
|
||||
@@ -41,8 +41,10 @@
|
||||
|
||||
pea (%sp) /* highest available stack address */
|
||||
pea (%a1) /* termination function provided by kernel */
|
||||
- pea __libc_csu_fini
|
||||
- pea __libc_csu_init
|
||||
+
|
||||
+ clr.l -(%sp)
|
||||
+ clr.l -(%sp)
|
||||
+
|
||||
pea (%a0) /* argv */
|
||||
move.l %d0,-(%sp) /* argc */
|
||||
pea PASCALMAIN
|
|
@ -1,39 +0,0 @@
|
|||
From 98a7d90ee258ceef9c70b0b2955d0458ec46f048 Mon Sep 17 00:00:00 2001
|
||||
From: elsid <elsid.mail@gmail.com>
|
||||
Date: Fri, 24 Sep 2021 19:40:29 +0200
|
||||
Subject: [PATCH] Assume SIGSTKSZ is not a constant
|
||||
|
||||
SIGSTKSZ is not defined as constant since glibc 2.34:
|
||||
https://sourceware.org/git/?p=glibc.git;a=commit;h=6c57d320484988e87e446e2e60ce42816bf51d53
|
||||
---
|
||||
components/crashcatcher/crashcatcher.cpp | 5 ++---
|
||||
1 file changed, 2 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/components/crashcatcher/crashcatcher.cpp b/components/crashcatcher/crashcatcher.cpp
|
||||
index 86571e1e3a..c828e1ca81 100644
|
||||
--- a/components/crashcatcher/crashcatcher.cpp
|
||||
+++ b/components/crashcatcher/crashcatcher.cpp
|
||||
@@ -56,8 +56,6 @@ static const char exec_err[] = "!!! Failed to exec debug process\n";
|
||||
|
||||
static char argv0[PATH_MAX];
|
||||
|
||||
-static char altstack[SIGSTKSZ];
|
||||
-
|
||||
|
||||
static struct {
|
||||
int signum;
|
||||
@@ -475,9 +473,10 @@ int crashCatcherInstallHandlers(int argc, char **argv, int num_signals, int *sig
|
||||
|
||||
/* Set an alternate signal stack so SIGSEGVs caused by stack overflows
|
||||
* still run */
|
||||
+ static char* altstack = new char [SIGSTKSZ];
|
||||
altss.ss_sp = altstack;
|
||||
altss.ss_flags = 0;
|
||||
- altss.ss_size = sizeof(altstack);
|
||||
+ altss.ss_size = SIGSTKSZ;
|
||||
sigaltstack(&altss, nullptr);
|
||||
|
||||
memset(&sa, 0, sizeof(sa));
|
||||
--
|
||||
GitLab
|
||||
|
|
@ -1,130 +0,0 @@
|
|||
From 5446e36e0685ec5c7b4f812dec5bf7959db4f906 Mon Sep 17 00:00:00 2001
|
||||
From: Efraim Flashner <efraim@flashner.co.il>
|
||||
Date: Thu, 20 Jul 2023 15:56:21 +0300
|
||||
Subject: [PATCH 1/2] rktboot: Add support for riscv64.
|
||||
|
||||
(cherry picked from commit f80c5d001d5235556ae9cde617b1e3a1322d0505)
|
||||
---
|
||||
racket/src/rktboot/machine-def.rkt | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/racket/src/rktboot/machine-def.rkt b/racket/src/rktboot/machine-def.rkt
|
||||
index 8ff0688652..59ebfc88d8 100644
|
||||
--- a/racket/src/rktboot/machine-def.rkt
|
||||
+++ b/racket/src/rktboot/machine-def.rkt
|
||||
@@ -25,6 +25,7 @@
|
||||
[(regexp-match? #rx"^t?arm32" target-machine) "arm32"]
|
||||
[(regexp-match? #rx"^t?arm64" target-machine) "arm64"]
|
||||
[(regexp-match? #rx"^t?ppc32" target-machine) "ppc32"]
|
||||
+ [(regexp-match? #rx"^t?rv64" target-machine) "rv64"]
|
||||
[(regexp-match? #rx"^t?pb" target-machine) "pb"]
|
||||
[else (error "machine.def: cannot infer architecture")]))]
|
||||
[s (regexp-replace* #rx"[$][(]Mend[)]" s
|
||||
|
||||
base-commit: b10ecfb8311fca2d42636eea2ca12aff0b76b208
|
||||
--
|
||||
2.41.0
|
||||
|
||||
|
||||
From 6261c3582c386e770d654ca6a36f112834f35aef Mon Sep 17 00:00:00 2001
|
||||
From: Philip McGrath <philip@philipmcgrath.com>
|
||||
Date: Sun, 16 Jul 2023 15:47:14 -0400
|
||||
Subject: [PATCH 2/2] rktboot: improve machene type inference
|
||||
|
||||
Related to https://issues.guix.gnu.org/62231
|
||||
Related to https://github.com/racket/racket/issues/3948
|
||||
|
||||
(cherry picked from commit 005488491cee89e7db38109de4c9dcf2d8d5aef0)
|
||||
---
|
||||
racket/src/rktboot/config.rkt | 73 +++++++++++++++++++++++++++++------
|
||||
1 file changed, 61 insertions(+), 12 deletions(-)
|
||||
|
||||
diff --git a/racket/src/rktboot/config.rkt b/racket/src/rktboot/config.rkt
|
||||
index 7a969017ed..2b411e002c 100644
|
||||
--- a/racket/src/rktboot/config.rkt
|
||||
+++ b/racket/src/rktboot/config.rkt
|
||||
@@ -15,20 +15,69 @@
|
||||
(path->complete-path scheme-dir))))))
|
||||
(hash-set! ht 'make-boot-scheme-dir scheme-dir)
|
||||
|
||||
+(define (infer-target-machine)
|
||||
+ ;; Compute a native or pbarch machine string for the current platform.
|
||||
+ ;; Some caveats:
|
||||
+ ;; 1. A pbarch Racket will always infer a pbarch machine,
|
||||
+ ;; even if a native machine exists. Hopefully this is an
|
||||
+ ;; unlikely scenario: if you're running Racket CS, you've
|
||||
+ ;; bootstrapped Chez somehow, so you could use `re.boot`.
|
||||
+ ;; 2. A `tpb` or `pb` Racket on a 32-bit platform would still return
|
||||
+ ;; 64 from `(system-type 'word)`, but, in addition to the above,
|
||||
+ ;; it is not currently possible or desired to build Racket as
|
||||
+ ;; `tpb` or `pb` (as opposed to pbarch variants):
|
||||
+ ;; see <https://github.com/racket/racket/issues/4692>.
|
||||
+ ;; 3. On a hypothetical platform where Chez supported both the
|
||||
+ ;; architecture and the OS, but not the combination of the two,
|
||||
+ ;; (e.g. riscv64 Windows) this code would currently return a
|
||||
+ ;; non-existent native machine (e.g. trv64nt) instead of a
|
||||
+ ;; working pbarch machine. Presumably this could be fixed if
|
||||
+ ;; such a platform came into existence.
|
||||
+ (define s (path->string (system-library-subpath #f)))
|
||||
+ (define arch+os
|
||||
+ (cond
|
||||
+ [(regexp-match #rx"^([^\\]+)\\\\([^\\]+)$" s)
|
||||
+ => (λ (m)
|
||||
+ (reverse (cdr m)))]
|
||||
+ [(regexp-match #rx"^([^-]+)-(.+)$" s)
|
||||
+ => cdr]
|
||||
+ [else
|
||||
+ (error 'infer-target-machine "unknown format for system library subpath"
|
||||
+ "produced" (system-library-subpath #f))]))
|
||||
+ (define arch
|
||||
+ (case (car arch+os)
|
||||
+ [("x86_64" "amd64") "a6"] ; https://github.com/racket/racket/issues/4691
|
||||
+ [("i386") "i3"]
|
||||
+ [("aarch64") "arm64"]
|
||||
+ [("arm") "arm32"]
|
||||
+ [("ppc") "ppc32"]
|
||||
+ [("riscv64") "rv64"]
|
||||
+ [("unknown") #f] ; pb machine types
|
||||
+ [else #f]))
|
||||
+ (define os
|
||||
+ (case (cadr arch+os)
|
||||
+ [("macosx" "darwin" "ios") "osx"]
|
||||
+ [("win32" "cygwin") "nt"]
|
||||
+ [("linux" "android") "le"]
|
||||
+ [("gnu-hurd") "gnu"]
|
||||
+ [("freebsd") "fb"]
|
||||
+ [("openbsd") "ob"]
|
||||
+ [("netbsd") "nb"]
|
||||
+ [("solaris") "s2"] ; NOT "sunos4" (I think)
|
||||
+ [("qnx") "qnx"]
|
||||
+ [("unknown") #f] ; pb machine types
|
||||
+ [else #f]))
|
||||
+ (if (and arch os)
|
||||
+ (string-append "t" arch os)
|
||||
+ (format "tpb~a~a"
|
||||
+ (system-type 'word)
|
||||
+ (if (system-big-endian?)
|
||||
+ "b"
|
||||
+ "l"))))
|
||||
+
|
||||
(define target-machine (or (hash-ref ht 'make-boot-targate-machine #f)
|
||||
(getenv "MACH")
|
||||
- (case (system-type)
|
||||
- [(macosx) (if (eqv? 64 (system-type 'word))
|
||||
- "ta6osx"
|
||||
- "ti3osx")]
|
||||
- [(windows) (if (eqv? 64 (system-type 'word))
|
||||
- "ta6nt"
|
||||
- "ti3nt")]
|
||||
- [else
|
||||
- (case (path->string (system-library-subpath #f))
|
||||
- [("x86_64-linux") "ta6le"]
|
||||
- [("i386-linux") "ti3le"]
|
||||
- [else #f])])))
|
||||
+ (infer-target-machine)))
|
||||
(hash-set! ht 'make-boot-targate-machine target-machine)
|
||||
|
||||
(define optimize-level-init 3)
|
||||
--
|
||||
2.41.0
|
||||
|
|
@ -0,0 +1,36 @@
|
|||
From 1d8dbdf408db9e99f1382323477561d5148cd451 Mon Sep 17 00:00:00 2001
|
||||
From: Philip McGrath <philip@philipmcgrath.com>
|
||||
Date: Fri, 20 Oct 2023 17:19:50 -0400
|
||||
Subject: [PATCH] racket-index: fix release.scrbl for layered installations
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Configure the release notes page to be rendered separately at every
|
||||
installation layer. Otherwise, rendering documentation for packages
|
||||
installed in a new layer might try to write to `release/in.sxref`
|
||||
in the parent layer’s docs directory.
|
||||
|
||||
Related to https://github.com/videolang/video/issues/67
|
||||
Related to https://issues.guix.gnu.org/56534
|
||||
|
||||
(cherry picked from commit 85f21854c0a41564b755fbe180fe6b85de6c4730)
|
||||
---
|
||||
pkgs/racket-index/scribblings/main/info.rkt | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/pkgs/racket-index/scribblings/main/info.rkt b/pkgs/racket-index/scribblings/main/info.rkt
|
||||
index 75c507848a..a6a3798f7c 100644
|
||||
--- a/pkgs/racket-index/scribblings/main/info.rkt
|
||||
+++ b/pkgs/racket-index/scribblings/main/info.rkt
|
||||
@@ -6,4 +6,4 @@
|
||||
("local-redirect.scrbl" (depends-all-main no-depend-on every-main-layer) (omit) "local-redirect" 1 10)
|
||||
("license.scrbl" () (omit))
|
||||
("acks.scrbl" () (omit))
|
||||
- ("release.scrbl" (depends-all-main no-depend-on) (omit))))
|
||||
+ ("release.scrbl" (depends-all-main no-depend-on every-main-layer) (omit))))
|
||||
|
||||
base-commit: c3a502c0ae9f4d615bfd85fc7d88b781826bbb09
|
||||
--
|
||||
2.41.0
|
||||
|
|
@ -824,14 +824,14 @@ and based on PDF specification 1.7.")
|
|||
(define-public mupdf
|
||||
(package
|
||||
(name "mupdf")
|
||||
(version "1.23.4")
|
||||
(version "1.23.7")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://mupdf.com/downloads/archive/"
|
||||
"mupdf-" version "-source.tar.lz"))
|
||||
(sha256
|
||||
(base32 "0068swdrlq9q7pkg3dxn4rschxm5j37pd4vz0cb2pcry75rdmxpc"))
|
||||
(base32 "0d0ig1amxyy50jvfbn6rz49zd0980p6syqzcx5v7wg0c3pl2iwwm"))
|
||||
(modules '((guix build utils)
|
||||
(ice-9 ftw)
|
||||
(srfi srfi-1)))
|
||||
|
@ -1388,7 +1388,7 @@ manage or manipulate PDFs.")
|
|||
(define-public pdfarranger
|
||||
(package
|
||||
(name "pdfarranger")
|
||||
(version "1.9.2")
|
||||
(version "1.10.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -1397,7 +1397,7 @@ manage or manipulate PDFs.")
|
|||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1zj1fdaqih9d878yxy96ivgqyg4j31slvh2gqsyz2l2vj3s8z54x"))))
|
||||
(base32 "0bi3yyns05yamml5jcnqvdaf7i19jg636wb1fj2mwlial9ww7zwp"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
(list
|
||||
|
@ -1409,7 +1409,10 @@ manage or manipulate PDFs.")
|
|||
(let ((program (string-append #$output "/bin/pdfarranger")))
|
||||
(wrap-program program
|
||||
`("GI_TYPELIB_PATH" ":" prefix
|
||||
(,(getenv "GI_TYPELIB_PATH"))))))))))
|
||||
(,(getenv "GI_TYPELIB_PATH")))))))
|
||||
(add-before 'sanity-check 'set-home
|
||||
(lambda _
|
||||
(setenv "HOME" "/tmp"))))))
|
||||
(native-inputs
|
||||
(list intltool python-distutils-extra))
|
||||
(inputs
|
||||
|
|
|
@ -42,18 +42,23 @@
|
|||
(define-public pypy
|
||||
(package
|
||||
(name "pypy")
|
||||
(version "7.3.5")
|
||||
(version "7.3.13")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://downloads.python.org/pypy/"
|
||||
"pypy3.7-v" version "-src.tar.bz2"))
|
||||
"pypy3.10-v" version "-src.tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"18lrdmpcczlbk3cfarkgwqdmilrybz56i1dafk8dkjlyk90gw86r"))))
|
||||
"0v9s6pwrnaxqi5h1pvmaphj6kgyczx07ykl07hcx656h34y77haa"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f ;FIXME: 43 out of 364 tests are failing
|
||||
|
||||
;; XXX: ELF file 'pypy.debug' makes 'validate-needed-in-runpath' throw:
|
||||
;; <https://issues.guix.gnu.org/57653>.
|
||||
#:validate-runpath? #f
|
||||
|
||||
#:modules '((ice-9 ftw) (ice-9 match)
|
||||
(guix build utils) (guix build gnu-build-system))
|
||||
#:disallowed-references (list nss-certs)
|
||||
|
@ -151,7 +156,7 @@
|
|||
(for-each
|
||||
(lambda (x)
|
||||
(delete-file-recursively (string-append
|
||||
"lib-python/3/" x)))
|
||||
"lib/pypy3.10/" x)))
|
||||
'("tkinter/test"
|
||||
"test"
|
||||
"sqlite3/test"
|
||||
|
@ -161,12 +166,12 @@
|
|||
"ctypes/test"
|
||||
"unittest/test"))
|
||||
;; Patch shebang referencing python.
|
||||
(substitute* '("lib-python/3/cgi.py"
|
||||
"lib-python/3/encodings/rot_13.py")
|
||||
(substitute* '("lib/pypy3.10/cgi.py"
|
||||
"lib/pypy3.10/encodings/rot_13.py")
|
||||
((shebang-match-python) shebang-pypy3))
|
||||
(with-fluids ((%default-port-encoding "ISO-8859-1"))
|
||||
(substitute* '("lib_pypy/_md5.py"
|
||||
"lib_pypy/_sha1.py")
|
||||
(substitute* '("lib/pypy3.10/_md5.py"
|
||||
"lib/pypy3.10/_sha1.py")
|
||||
((shebang-match-python) shebang-pypy3))))
|
||||
(copy-recursively dist-dir #$output)))))))
|
||||
(native-inputs
|
||||
|
|
|
@ -2092,6 +2092,7 @@ documentation for more information.")
|
|||
(propagated-inputs
|
||||
(list python-aplus
|
||||
python-blake3
|
||||
python-click ;XXX for dask
|
||||
python-cloudpickle
|
||||
python-dask
|
||||
python-filelock
|
||||
|
|
|
@ -13743,19 +13743,8 @@ reading and writing MessagePack data.")
|
|||
(home-page "https://pypi.org/project/msgpack/")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public python-msgpack-1.0.2
|
||||
(package
|
||||
(inherit python-msgpack)
|
||||
(version "1.0.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "msgpack" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1109s2yynrahwi64ikax68hx0mbclz8p35afmpphw5dwynb49q7s"))))))
|
||||
|
||||
;; This msgpack library's name changed from "python-msgpack" to "msgpack" with
|
||||
;; release 0.5. Some packages like borg still call it by the old name for now.
|
||||
;; release 0.5. Some packages like poetry still call it by the old name for now.
|
||||
;; <https://bugs.gnu.org/30662>
|
||||
(define-public python-msgpack-transitional
|
||||
(package
|
||||
|
|
|
@ -191,8 +191,8 @@
|
|||
;;
|
||||
;; CODE:
|
||||
|
||||
(define %racket-version "8.10") ; Remember to update chez-scheme-for-racket!
|
||||
(define %zuo-version "1.6") ; defined in racket/src/zuo/zuo.c
|
||||
(define %racket-version "8.11.1") ; Remember to update chez-scheme-for-racket!
|
||||
(define %zuo-version "1.7") ; defined in racket/src/zuo/zuo.c
|
||||
(define %racket-commit
|
||||
(string-append "v" %racket-version))
|
||||
(define %racket-origin
|
||||
|
@ -202,10 +202,10 @@
|
|||
(url "https://github.com/racket/racket")
|
||||
(commit %racket-commit)))
|
||||
(sha256
|
||||
(base32 "0xhra47lnz5aq2shvsil4vcravai4n86r4v1lza7r07n6s1pb9s5"))
|
||||
(base32 "1iny1mn1lw07lj6h704ch5g2q1nsf0h88dgwqrlxhf8pwj4i76gl"))
|
||||
(file-name (git-file-name "racket" %racket-version))
|
||||
(patches (search-patches "racket-chez-scheme-bin-sh.patch"
|
||||
"racket-backport-8.10-rktboot.patch"
|
||||
"racket-backport-8.11-layered-docs.patch"
|
||||
"racket-rktio-bin-sh.patch"
|
||||
"racket-zuo-bin-sh.patch"))
|
||||
(modules '((guix build utils)))
|
||||
|
@ -710,16 +710,16 @@ DrRacket IDE, are not included.")
|
|||
"db" (base32 "0xx0k8yw2vb9b4vk2dwjfbpixnmriqsv7kpv3fvfxbwyg42y0db5")
|
||||
'("db" "db-doc" "db-lib"))
|
||||
(simple-racket-origin
|
||||
"deinprogramm" (base32 "0889154ssw56aq6iqxnzgjram9x6c64sscjzrhr4077vnv4h1c93")
|
||||
"deinprogramm" (base32 "0ijngjyg2i528a4xv20db4adirvx5rj4m86fd70l33lgwv53w3s0")
|
||||
'("deinprogramm" "deinprogramm-signature"))
|
||||
(simple-racket-origin
|
||||
"distributed-places" (base32 "1dajpkj9balqcpv6cdk9hwjz592h1vq8rrx5vncariiac4vbdpa0")
|
||||
'("distributed-places" "distributed-places-doc" "distributed-places-lib"))
|
||||
(simple-racket-origin
|
||||
"draw" (base32 "0vf40hp6h14zgs0gx40jzdzxm4ai1vxwpmg65y00lwmdxc97b2ji")
|
||||
"draw" (base32 "1h7mckay8yjcgmj3r0jkf1csn430gn43n8jl1l956q9gcprlmncl")
|
||||
'("draw" "draw-doc" "draw-lib"))
|
||||
(simple-racket-origin
|
||||
"drracket" (base32 "0haban4fysr8i2w071nra9s97zkrrx5f5c874r9pr2k9bhqcp4jq")
|
||||
"drracket" (base32 "00ay3pwl648wq8nnaap665c38clr39k0g1wslh2wclar32wjpgdc")
|
||||
'("drracket"
|
||||
"drracket-plugin-lib"
|
||||
"drracket-tool"
|
||||
|
@ -750,16 +750,16 @@ DrRacket IDE, are not included.")
|
|||
"future-visualizer-pict"
|
||||
"future-visualizer-typed"))
|
||||
(simple-racket-origin
|
||||
"games" (base32 "0kpn3izlx1ccd0pj0dnvmnrhny51b85xy418a7psj70lz8j8415d")
|
||||
"games" (base32 "13z7fnbr48s98lmfxc0nbfhbqkd4hphymy2r63hqm783xzn6ylzi")
|
||||
'(("games" ".")))
|
||||
(simple-racket-origin
|
||||
"gui" (base32 "1s2a8qgm7dqpxyi9plshdbaxzd8klc80i8ppjpc5i5xyhcfmzyvf")
|
||||
"gui" (base32 "10mlajn5xqgdwi7gf9lgszfv609pjp8m24lm97b8xh6fmjlkqi4b")
|
||||
'("gui" "gui-doc" "gui-lib" "tex-table"))
|
||||
(simple-racket-origin
|
||||
"gui-pkg-manager" (base32 "1ji9448d723nklqvycwdswj0ni28sabrncag14f9mx47did5myb5")
|
||||
'("gui-pkg-manager-lib"))
|
||||
(simple-racket-origin
|
||||
"htdp" (base32 "0kd92rg8m8my11pq1dxvv6dyban77j6kvs368xsl6fr52jd7zbkl")
|
||||
"htdp" (base32 "04p2xp4hnnsnmrmvw05fg4fv18k3g2rz5gmgs89sc6g8y886m6zz")
|
||||
'("htdp" "htdp-doc" "htdp-lib"))
|
||||
(simple-racket-origin
|
||||
"html" (base32 "18n1jnjgzfknc8nv8dppi85nb8q08gqdwkg6hfjk08x0p00anx2x")
|
||||
|
@ -821,7 +821,7 @@ DrRacket IDE, are not included.")
|
|||
"option-contract" (base32 "07cncg9pi15cm19k7rzv54vx83wq7y42i2m6bgzaqja1h8vnj2ww")
|
||||
'("option-contract" "option-contract-doc" "option-contract-lib"))
|
||||
(simple-racket-origin
|
||||
"parser-tools" (base32 "11m1x8q0cqb4b082423iv19s86xgkshv29cb4hp8yx84lb0vpwx3")
|
||||
"parser-tools" (base32 "1lp7wixmxcnha7cz834xfqqr48c2nldjbn9lng69bihpw01h9zms")
|
||||
'("parser-tools" "parser-tools-doc" "parser-tools-lib"))
|
||||
(simple-racket-origin
|
||||
"pconvert" (base32 "00czi0p399mmyrvxyrs5kniizpkqfxyz2ncxqi2jy79a7wk79pb1")
|
||||
|
@ -842,7 +842,7 @@ DrRacket IDE, are not included.")
|
|||
"planet" (base32 "0r2yqrzrmdjjyr14k6hhlzc5kzrcx3583m1s02mhrcmpfw0s85w9")
|
||||
'("planet" "planet-doc" "planet-lib"))
|
||||
(simple-racket-origin
|
||||
"plot" (base32 "1p0jxrwdwkb7z6ppp2ccpdzmizjimfpkdgilvbgv8x6mmqf0bf6q")
|
||||
"plot" (base32 "17fhsymy884xr4jqk585rm5kwdgkgz0635916gh5y0fsnp5pir70")
|
||||
'("plot" "plot-compat" "plot-doc" "plot-gui-lib" "plot-lib"))
|
||||
(simple-racket-origin
|
||||
"preprocessor" (base32 "1p5aid58ifnjy4xl0ysh85cq39k25661v975jrpk182z3k5621mg")
|
||||
|
@ -856,8 +856,11 @@ DrRacket IDE, are not included.")
|
|||
(uri (git-reference
|
||||
(url "https://github.com/Metaxal/quickscript")
|
||||
(commit %racket-commit)))
|
||||
(snippet
|
||||
;; See https://github.com/Metaxal/quickscript/issues/73
|
||||
#~(delete-file "register.rkt"))
|
||||
(sha256 (base32
|
||||
"00sf5nw09aacd0l4a4cknnffvcs95p596im3blsdvfz5ck6jdwl8"))
|
||||
"0v27qknghfi0058vk8xwwlwqgqwdsxxmprrmag64cyygdz95sxym"))
|
||||
(file-name (git-file-name "Metaxal-quickscript" %racket-version)))
|
||||
'(("quickscript" ".")))
|
||||
(simple-racket-origin
|
||||
|
@ -881,7 +884,7 @@ DrRacket IDE, are not included.")
|
|||
"racklog" (base32 "0fr8xij0sssfnmwn6dfdi4jj3l62f2yj3jrjljv13kaycrfls032")
|
||||
'(("racklog" ".")))
|
||||
(simple-racket-origin
|
||||
"rackunit" (base32 "03v1yvqgk3f65caqiwnadq00sjbg813ic949hys29f4c8mxz6gic")
|
||||
"rackunit" (base32 "0axcy8283qqmcrhwwn0q0sfjznc8gkwbx06j41anayi5v9xp4698")
|
||||
'("rackunit"
|
||||
"rackunit-doc"
|
||||
"rackunit-gui"
|
||||
|
@ -897,7 +900,7 @@ DrRacket IDE, are not included.")
|
|||
"realm" (base32 "0rlvwyd6rpyl0zda4a5p8dp346fvqzc8555dgfnrhliymkxb6x4g")
|
||||
'(("realm" ".")))
|
||||
(simple-racket-origin
|
||||
"redex" (base32 "00pm0pj3h19a9dar4pzdn8q5l7bvl92q9gkh04k1ddlcx4af1m10")
|
||||
"redex" (base32 "016m2fvfxjnx7l0ai6jlcmz4s8xipbq9k58fq7109akj9mvczgp9")
|
||||
'("redex"
|
||||
"redex-benchmark"
|
||||
"redex-doc"
|
||||
|
@ -912,7 +915,7 @@ DrRacket IDE, are not included.")
|
|||
"scheme-lib" (base32 "0pcf0y8rp4qyjhaz5ww5sr5diq0wpcdfrrnask7zapyklzx1jx8x")
|
||||
'(("scheme-lib" ".")))
|
||||
(simple-racket-origin
|
||||
"scribble" (base32 "1jnbvl98yn8dhblcx411jybd879g4aj6d136xi23i4zwwrbsiy6m")
|
||||
"scribble" (base32 "0igcjgmpzbzzn1jfpa4jq18lqyhr6dsdwnbv6zv87x8cib9rwqrh")
|
||||
'("scribble"
|
||||
"scribble-doc"
|
||||
"scribble-html-lib"
|
||||
|
@ -938,13 +941,13 @@ DrRacket IDE, are not included.")
|
|||
"slatex" (base32 "0pkm2isbbdk63slrbsxcql7rr0wdrw5kapw1xq4ps5k8dhlzv8x0")
|
||||
'(("slatex" ".")))
|
||||
(simple-racket-origin
|
||||
"slideshow" (base32 "0hmg5184cpxjb0ni6v2zkf4l29j8yyzm9pzv1gvmw2fm1rlrry4f")
|
||||
"slideshow" (base32 "147s7si6lxx6hm84wk2rfplk6wprladl9zni9pdvaxfa25chrabf")
|
||||
'("slideshow" "slideshow-doc" "slideshow-exe" "slideshow-lib" "slideshow-plugin"))
|
||||
(simple-racket-origin
|
||||
"snip" (base32 "1b90ccqilnyszbphms3svm3c7dbk7870ifybjjipss5srb32mj2d")
|
||||
'("snip" "snip-lib"))
|
||||
(simple-racket-origin
|
||||
"typed-racket" (base32 "1721qgk1fplzwcgidg342anvykr88prvl1jag4vg8qxz8m28wi08")
|
||||
"typed-racket" (base32 "17mz7zqrialxfzkynj7h3kfhawdd6cgs24ns437gz087g2pmwi1x")
|
||||
'("source-syntax"
|
||||
"typed-racket"
|
||||
"typed-racket-compatibility"
|
||||
|
@ -952,16 +955,16 @@ DrRacket IDE, are not included.")
|
|||
"typed-racket-lib"
|
||||
"typed-racket-more"))
|
||||
(simple-racket-origin
|
||||
"srfi" (base32 "0rvx49ni1v8ikbx1a6qg97pprpkxmy7cgl918f52hq7jlx91b71x")
|
||||
"srfi" (base32 "1l3nr3a8mlp505aaxlyp4i8jfijmpyl9h1wwv8hzm4kzzjv4sl8p")
|
||||
'("srfi" "srfi-doc" "srfi-lib" "srfi-lite-lib"))
|
||||
(simple-racket-origin
|
||||
"string-constants" (base32 "1jxbh91x1r65lahjlix61rmkjikcam2k5w97xj8r7p7z05240dih")
|
||||
"string-constants" (base32 "1djbjhsimikk18dkrajrlgjhlqfyvna4nz64ha4wjcaj5cfgcvdx")
|
||||
'("string-constants" "string-constants-doc" "string-constants-lib"))
|
||||
(simple-racket-origin
|
||||
"swindle" (base32 "1q8vdxpzczzwdw2mys2caab45yvadmqkixsr29k8pl03n8dsg8j9")
|
||||
'(("swindle" ".")))
|
||||
(simple-racket-origin
|
||||
"syntax-color" (base32 "0lcv6glhsx27lkz7wwalzgfr0nb0hdqjic54z3rcfxhag4p6sg8i")
|
||||
"syntax-color" (base32 "1cs0wry7qwv6j690lsjiw86xw0vl10v4i98sk6j8ggrk7irkw48r")
|
||||
'("syntax-color" "syntax-color-doc" "syntax-color-lib"))
|
||||
(simple-racket-origin
|
||||
"trace" (base32 "070ihla5j796hdarn5wxdwn4xj0xnkm50shgh49jy994mribvhia")
|
||||
|
@ -970,13 +973,13 @@ DrRacket IDE, are not included.")
|
|||
"unix-socket" (base32 "02dfwas5ynbpyz74w9kwb4wgb37y5wys7svrlmir8k0n9ph9vq0y")
|
||||
'("unix-socket" "unix-socket-doc" "unix-socket-lib"))
|
||||
(simple-racket-origin
|
||||
"web-server" (base32 "0sizb50rbnqmdx8igpqshj0hzsqyg30faf7wb9fs08sjs0lqkgsf")
|
||||
"web-server" (base32 "0vhw1hwdcv1ham086dy0nkl4r0a5qvsimw8048zjakvax7q4shsg")
|
||||
'("web-server" "web-server-doc" "web-server-lib"))
|
||||
(simple-racket-origin
|
||||
"wxme" (base32 "1qp5gr9gqsakiq3alw6m4yyv5vw4i3hp4y4nhq8vl2nkjmirvn0b")
|
||||
'("wxme" "wxme-lib"))
|
||||
(simple-racket-origin
|
||||
"xrepl" (base32 "19svg0jfs656bld5ikqipz3a5szk5k02zq5fh43209qw527dnfbk")
|
||||
"xrepl" (base32 "0sw531zvd8xqckmrh5da4fiq0sfjyg1nj5d508l7bl3azn35khil")
|
||||
'("xrepl" "xrepl-doc" "xrepl-lib"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
|
|
|
@ -2724,7 +2724,7 @@ various hardware.")
|
|||
(define-public inspectrum
|
||||
(package
|
||||
(name "inspectrum")
|
||||
(version "0.2.3")
|
||||
(version "0.3.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -2733,7 +2733,7 @@ various hardware.")
|
|||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1x6nyn429pk0f7lqzskrgsbq09mq5787xd4piic95add6n1cc355"))))
|
||||
(base32 "11v5idwvfi9w60qg4fgqgvm7ahmb0ys4j094qv4c93r92kd9d3f9"))))
|
||||
(build-system qt-build-system)
|
||||
(native-inputs
|
||||
(list pkg-config))
|
||||
|
|
|
@ -25,6 +25,8 @@
|
|||
;;; Copyright © 2022 Greg Hogan <code@greghogan.com>
|
||||
;;; Copyright © 2023 Arnav Andrew Jose <arnav.jose@gmail.com>
|
||||
;;; Copyright © 2023 Wilko Meyer <w@wmeyer.eu>
|
||||
;;; Copyright © 2023 Jaeme Sifat <jaeme@runbox.com>
|
||||
;;; Copyright © 2023 Steve George <steve@futurile.net>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -80,7 +82,7 @@
|
|||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages python-build)
|
||||
#:use-module (gnu packages python-xyz)
|
||||
#:use-module (gnu packages rust)
|
||||
#:use-module (gnu packages sqlite)
|
||||
#:use-module (gnu packages tls)
|
||||
#:use-module (gnu packages version-control)
|
||||
#:use-module (gnu packages webkit)
|
||||
|
@ -126,7 +128,7 @@ low-end hardware and serving many concurrent requests.")
|
|||
(define-public alfis
|
||||
(package
|
||||
(name "alfis")
|
||||
(version "0.6.10")
|
||||
(version "0.8.4")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -135,7 +137,12 @@ low-end hardware and serving many concurrent requests.")
|
|||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1kgzz92mkyzn7mbsdpik1q21kl38i4almn01k99nww3p0vgx9514"))))
|
||||
(base32 "1zqszjyiab0b76m2b8zfzpndg393hn311whq1fs9syfn53hp7nh4"))
|
||||
(snippet
|
||||
#~(begin (use-modules (guix build utils))
|
||||
;; Use a packaged version of web-view.
|
||||
(substitute* "Cargo.toml"
|
||||
(("git = .*,") "version = \"0.7.3\","))))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(#:cargo-test-flags
|
||||
|
@ -145,15 +152,15 @@ low-end hardware and serving many concurrent requests.")
|
|||
#:cargo-inputs
|
||||
(("rust-getopts" ,rust-getopts-0.2)
|
||||
("rust-log" ,rust-log-0.4)
|
||||
("rust-simplelog" ,rust-simplelog-0.11)
|
||||
("rust-toml" ,rust-toml-0.5)
|
||||
("rust-simplelog" ,rust-simplelog-0.12)
|
||||
("rust-toml" ,rust-toml-0.7)
|
||||
("rust-digest" ,rust-digest-0.10)
|
||||
("rust-sha2" ,rust-sha2-0.10)
|
||||
("rust-ed25519-dalek" ,rust-ed25519-dalek-1)
|
||||
("rust-x25519-dalek" ,rust-x25519-dalek-1)
|
||||
("rust-ecies-ed25519" ,rust-ecies-ed25519-0.5)
|
||||
("rust-chacha20poly1305" ,rust-chacha20poly1305-0.9)
|
||||
("rust-signature" ,rust-signature-1)
|
||||
("rust-signature" ,rust-signature-2)
|
||||
("rust-blakeout" ,rust-blakeout-0.3)
|
||||
("rust-num-cpus" ,rust-num-cpus-1)
|
||||
("rust-byteorder" ,rust-byteorder-1)
|
||||
|
@ -161,23 +168,25 @@ low-end hardware and serving many concurrent requests.")
|
|||
("rust-serde-json" ,rust-serde-json-1)
|
||||
("rust-bincode" ,rust-bincode-1)
|
||||
("rust-serde-cbor" ,rust-serde-cbor-0.11)
|
||||
("rust-base64" ,rust-base64-0.13)
|
||||
("rust-base64" ,rust-base64-0.21)
|
||||
("rust-num-bigint" ,rust-num-bigint-0.4)
|
||||
("rust-num-traits" ,rust-num-traits-0.2)
|
||||
("rust-chrono" ,rust-chrono-0.4)
|
||||
("rust-rand" ,rust-rand-0.8)
|
||||
("rust-rand-0.7" ,rust-rand-0.7) ;For ed25519-dalek
|
||||
("rust-sqlite" ,rust-sqlite-0.26)
|
||||
("rust-uuid" ,rust-uuid-0.8)
|
||||
("rust-sqlite" ,rust-sqlite-0.30)
|
||||
("rust-uuid" ,rust-uuid-1)
|
||||
("rust-mio" ,rust-mio-0.8)
|
||||
("rust-ureq" ,rust-ureq-2)
|
||||
("rust-lru" ,rust-lru-0.7)
|
||||
("rust-lru" ,rust-lru-0.9)
|
||||
("rust-derive-more" ,rust-derive-more-0.99)
|
||||
("rust-lazy-static" ,rust-lazy-static-1)
|
||||
("rust-spmc" ,rust-spmc-0.3)
|
||||
("rust-tinyfiledialogs" ,rust-tinyfiledialogs-3)
|
||||
("rust-web-view" ,rust-web-view-0.7)
|
||||
("rust-open" ,rust-open-2)
|
||||
("rust-thread-priority" ,rust-thread-priority-0.4)
|
||||
("rust-open" ,rust-open-3)
|
||||
("rust-winapi" ,rust-winapi-0.3)
|
||||
("rust-thread-priority" ,rust-thread-priority-0.10)
|
||||
("rust-winres" ,rust-winres-0.1))
|
||||
#:cargo-development-inputs
|
||||
(("rust-serde-bytes" ,rust-serde-bytes-0.11)
|
||||
|
@ -189,6 +198,7 @@ low-end hardware and serving many concurrent requests.")
|
|||
gtk
|
||||
glib
|
||||
pango
|
||||
sqlite
|
||||
webkitgtk-with-libsoup2))
|
||||
(home-page "https://github.com/Revertron/Alfis")
|
||||
(synopsis "Alternative Free Identity System")
|
||||
|
@ -463,6 +473,96 @@ program @code{ls}. It uses colours to distinguish file types and metadata. It
|
|||
also knows about symlinks, extended attributes, and Git.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public eza
|
||||
(package
|
||||
(name "eza")
|
||||
(version "0.15.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "eza" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "14qapnxc1rwqsq6c13b35wgaiypn23niajk39c44i1w3if91rd85"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:install-source? #f
|
||||
#:cargo-inputs `(("rust-ansiterm" ,rust-ansiterm-0.12)
|
||||
("rust-chrono" ,rust-chrono-0.4)
|
||||
("rust-git2" ,rust-git2-0.18)
|
||||
("rust-glob" ,rust-glob-0.3)
|
||||
("rust-libc" ,rust-libc-0.2)
|
||||
("rust-locale" ,rust-locale-0.2)
|
||||
("rust-log" ,rust-log-0.4)
|
||||
("rust-natord" ,rust-natord-1)
|
||||
("rust-num-cpus" ,rust-num-cpus-1)
|
||||
("rust-number-prefix" ,rust-number-prefix-0.4)
|
||||
("rust-once-cell" ,rust-once-cell-1)
|
||||
("rust-percent-encoding" ,rust-percent-encoding-2)
|
||||
("rust-phf" ,rust-phf-0.11)
|
||||
("rust-proc-mounts" ,rust-proc-mounts-0.3)
|
||||
("rust-scoped-threadpool" ,rust-scoped-threadpool-0.1)
|
||||
("rust-terminal-size" ,rust-terminal-size-0.3)
|
||||
("rust-timeago" ,rust-timeago-0.4)
|
||||
("rust-unicode-width" ,rust-unicode-width-0.1)
|
||||
("rust-uutils-term-grid" ,rust-uutils-term-grid-0.3)
|
||||
("rust-uzers" ,rust-uzers-0.11)
|
||||
("rust-windows-sys" ,rust-windows-sys-0.48)
|
||||
("rust-zoneinfo-compiled" ,rust-zoneinfo-compiled-0.5))
|
||||
#:cargo-development-inputs `(("rust-criterion" ,rust-criterion-0.5)
|
||||
("rust-trycmd" ,rust-trycmd-0.14))
|
||||
#:phases #~(modify-phases %standard-phases
|
||||
(add-after 'build 'build-manual
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(when (assoc-ref inputs "pandoc")
|
||||
(map (lambda (page)
|
||||
(with-output-to-file page
|
||||
(lambda _
|
||||
(invoke "pandoc" "--standalone"
|
||||
"-f" "markdown"
|
||||
"-t" "man"
|
||||
(string-append "man/" page ".md")))))
|
||||
(list "eza.1" "eza_colors.5")))))
|
||||
(add-after 'install 'install-extras
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(share (string-append out "/share"))
|
||||
(man1 (string-append share "/man/man1"))
|
||||
(man5 (string-append share "/man/man5")))
|
||||
(when (file-exists? "eza.1")
|
||||
(install-file "eza.1" man1))
|
||||
(when (file-exists? "eza_colors.5")
|
||||
(install-file "eza_colors.5" man5))
|
||||
(mkdir-p (string-append out "/etc/bash_completion.d"))
|
||||
(mkdir-p (string-append
|
||||
share "/fish/vendor_completions.d"))
|
||||
(mkdir-p (string-append share "/zsh/site-functions"))
|
||||
(copy-file "completions/bash/eza"
|
||||
(string-append
|
||||
out "/etc/bash_completion.d/eza"))
|
||||
(copy-file "completions/fish/eza.fish"
|
||||
(string-append
|
||||
share "/fish/vendor_completions.d/eza.fish"))
|
||||
(copy-file "completions/zsh/_eza"
|
||||
(string-append
|
||||
share "/zsh/site-functions/_eza"))))))))
|
||||
(native-inputs
|
||||
(append
|
||||
(list pkg-config)
|
||||
(if (supported-package? pandoc)
|
||||
(list pandoc)
|
||||
'())))
|
||||
(inputs (list libgit2-1.7 zlib))
|
||||
(home-page "https://github.com/eza-community/eza")
|
||||
(synopsis "Modern replacement for ls")
|
||||
(description
|
||||
"@code{eza} is a modern replacement for the command-line
|
||||
program @code{ls}. It uses colours to distinguish file types and
|
||||
metadata. It also knows about symlinks, extended attributes, and Git.
|
||||
This package is the community maintained fork of @code{exa}.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public fd
|
||||
(package
|
||||
(name "fd")
|
||||
|
@ -533,18 +633,19 @@ also knows about symlinks, extended attributes, and Git.")
|
|||
(add-after 'install 'install-extra
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(invoke "make" "completions")
|
||||
;; Manpages
|
||||
(install-file "doc/fd.1" (string-append out "/share/man/man1"))
|
||||
;; Completions
|
||||
(install-file "autocomplete/fd.bash"
|
||||
(string-append out "/etc/bash_completion.d"))
|
||||
(install-file "autocomplete/fd.fish"
|
||||
(string-append out "/share/fish/vendor_completions.d"))
|
||||
(install-file "autocomplete/_fd"
|
||||
(string-append out "/share/zsh/site-functions"))
|
||||
(rename-file (string-append out "/etc/bash_completion.d/fd.bash")
|
||||
(string-append out "/etc/bash_completion.d/fd"))))))))
|
||||
;; Completions require running the built binary.
|
||||
(unless ,(%current-target-system)
|
||||
(invoke "make" "completions")
|
||||
(install-file "autocomplete/fd.bash"
|
||||
(string-append out "/etc/bash_completion.d"))
|
||||
(install-file "autocomplete/fd.fish"
|
||||
(string-append out "/share/fish/vendor_completions.d"))
|
||||
(install-file "autocomplete/_fd"
|
||||
(string-append out "/share/zsh/site-functions"))
|
||||
(rename-file (string-append out "/etc/bash_completion.d/fd.bash")
|
||||
(string-append out "/etc/bash_completion.d/fd")))))))))
|
||||
(inputs (list jemalloc))
|
||||
(home-page "https://github.com/sharkdp/fd")
|
||||
(synopsis "Simple, fast and user-friendly alternative to find")
|
||||
|
@ -600,6 +701,7 @@ characters, ASCII whitespace characters, other ASCII characters and non-ASCII.")
|
|||
`(#:modules ((guix build cargo-build-system)
|
||||
(guix build utils)
|
||||
(srfi srfi-26))
|
||||
#:install-source? #f
|
||||
#:cargo-inputs
|
||||
(("rust-atty" ,rust-atty-0.2)
|
||||
("rust-cfg-if" ,rust-cfg-if-0.1)
|
||||
|
@ -629,13 +731,13 @@ characters, ASCII whitespace characters, other ASCII characters and non-ASCII.")
|
|||
(zsh (string-append share "zsh/site-functions")))
|
||||
(install-file "doc/hyperfine.1" man)
|
||||
(for-each (cut install-file <> bash)
|
||||
(find-files "target/release/build" "^hyperfine.bash$"))
|
||||
(find-files "target" "^hyperfine.bash$"))
|
||||
(rename-file (string-append bash "/hyperfine.bash")
|
||||
(string-append bash "/hyperfine"))
|
||||
(for-each (cut install-file <> fish)
|
||||
(find-files "target/release/build" "^hyperfine.fish$"))
|
||||
(find-files "target" "^hyperfine.fish$"))
|
||||
(for-each (cut install-file <> zsh)
|
||||
(find-files "target/release/build" "^_hyperfine$"))))))))
|
||||
(find-files "target" "^_hyperfine$"))))))))
|
||||
(home-page "https://github.com/sharkdp/hyperfine")
|
||||
(synopsis "Command-line benchmarking tool")
|
||||
(description
|
||||
|
@ -829,12 +931,58 @@ bar. It is also compatible with sway.")
|
|||
(with-output-to-file
|
||||
(string-append share "/elvish/lib/just")
|
||||
(lambda _ (invoke just "--completions" "elvish")))))))))
|
||||
(inputs (list bash-minimal coreutils-minimal))
|
||||
(home-page "https://github.com/casey/just")
|
||||
(synopsis "Just a command runner")
|
||||
(description "This package provides @code{just}, a command runner.
|
||||
@code{just} is a handy way to save and run project-specific commands.")
|
||||
(license license:cc0)))
|
||||
|
||||
(define-public kibi
|
||||
(package
|
||||
(name "kibi")
|
||||
(version "0.2.2")
|
||||
(source
|
||||
(origin
|
||||
;; crates.io doesn't have the config files
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/ilai-deutel/kibi")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1s9ka3pfhpssms2y5707f33n59ljnqqwp7jarh2l55a9dhlnl7d3"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:install-source? #f
|
||||
#:cargo-test-flags `(list "--release" "--"
|
||||
"--skip=syntax::tests::syntax_d_files")
|
||||
#:cargo-inputs `(("rust-libc" ,rust-libc-0.2)
|
||||
("rust-unicode-width" ,rust-unicode-width-0.1)
|
||||
("rust-winapi" ,rust-winapi-0.3)
|
||||
("rust-winapi-util" ,rust-winapi-util-0.1))
|
||||
#:cargo-development-inputs `(("rust-serial-test" ,rust-serial-test-0.5)
|
||||
("rust-tempfile" ,rust-tempfile-3))
|
||||
#:phases #~(modify-phases %standard-phases
|
||||
(add-after 'install 'install-extras
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(share (string-append out "/share"))
|
||||
(syntax.d (string-append share "/syntax.d"))
|
||||
(etc (string-append out "/etc")))
|
||||
(mkdir-p syntax.d)
|
||||
(copy-recursively "syntax.d" syntax.d)
|
||||
(rename-file "config_example.ini" "config.ini")
|
||||
(install-file "config.ini" etc)))))))
|
||||
(home-page "https://github.com/ilai-deutel/kibi")
|
||||
(synopsis "Featureful text editor in less than 1024 lines of code")
|
||||
(description
|
||||
"Inspired by the kilo text editor in C, this package provides a text
|
||||
editor in less than 1024 lines of code with syntax higlighting, search and
|
||||
more.")
|
||||
(license (list license:expat license:asl2.0))))
|
||||
|
||||
(define-public maturin
|
||||
(package
|
||||
(name "maturin")
|
||||
|
@ -985,6 +1133,7 @@ bar. It is also compatible with sway.")
|
|||
(lambda _ (invoke maturin "completions" "elvish")))))))))
|
||||
(propagated-inputs
|
||||
(list python-tomli))
|
||||
(inputs (list bzip2))
|
||||
(native-inputs
|
||||
(list perl
|
||||
python-wheel
|
||||
|
@ -1031,6 +1180,7 @@ bar. It is also compatible with sway.")
|
|||
#:modules ((ice-9 match)
|
||||
(guix build cargo-build-system)
|
||||
(guix build utils))
|
||||
#:install-source? #f
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'build 'install-manpage
|
||||
|
@ -1211,8 +1361,9 @@ touchscreen devices.")
|
|||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(bin (string-append out "/bin")))
|
||||
(install-file "target/release/swc" bin)))))))
|
||||
(bin (string-append out "/bin"))
|
||||
(swc (car (find-files "target" "^swc$"))))
|
||||
(install-file swc bin)))))))
|
||||
(home-page "https://swc.rs/")
|
||||
(synopsis "Typescript/javascript compiler")
|
||||
(description "@code{rust-swc} is a typescript/javascript compiler. It
|
||||
|
@ -1423,67 +1574,6 @@ rebase.")
|
|||
(base32
|
||||
"006rn3fn4njayjxr2vd24g1awssr9i3894nbmfzkybx07j728vav"))))))
|
||||
|
||||
(define-public rust-cbindgen-0.19
|
||||
(package
|
||||
(inherit rust-cbindgen)
|
||||
(name "rust-cbindgen")
|
||||
(version "0.19.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "cbindgen" version))
|
||||
(file-name
|
||||
(string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1yld9fni9g9mzg4r42zfk79aq9mzm2sfzzjrrx4vir4lp4qqqwiq"))))
|
||||
(arguments
|
||||
`(#:cargo-inputs
|
||||
(("rust-clap" ,rust-clap-2)
|
||||
("rust-heck" ,rust-heck-0.3)
|
||||
("rust-indexmap" ,rust-indexmap-1)
|
||||
("rust-log" ,rust-log-0.4)
|
||||
("rust-proc-macro2" ,rust-proc-macro2-1)
|
||||
("rust-quote" ,rust-quote-1)
|
||||
("rust-serde" ,rust-serde-1)
|
||||
("rust-serde-json" ,rust-serde-json-1)
|
||||
("rust-syn" ,rust-syn-1)
|
||||
("rust-tempfile" ,rust-tempfile-3)
|
||||
("rust-toml" ,rust-toml-0.5))
|
||||
#:cargo-development-inputs
|
||||
(("rust-serial-test" ,rust-serial-test-0.5))))
|
||||
(native-inputs
|
||||
(list python-cython))))
|
||||
|
||||
(define-public rust-cbindgen-0.16
|
||||
(package
|
||||
(inherit rust-cbindgen)
|
||||
(name "rust-cbindgen")
|
||||
(version "0.16.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "cbindgen" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "049cai626nzw0km03parx4sxwaxgbr7i5ifjbjwnfxkqkj5k2i4k"))))
|
||||
(arguments
|
||||
`(#:tests? #false ;missing files
|
||||
#:cargo-inputs
|
||||
(("rust-clap" ,rust-clap-2)
|
||||
("rust-heck" ,rust-heck-0.3)
|
||||
("rust-indexmap" ,rust-indexmap-1)
|
||||
("rust-log" ,rust-log-0.4)
|
||||
("rust-proc-macro2" ,rust-proc-macro2-1)
|
||||
("rust-quote" ,rust-quote-1)
|
||||
("rust-serde" ,rust-serde-1)
|
||||
("rust-serde-json" ,rust-serde-json-1)
|
||||
("rust-syn" ,rust-syn-1)
|
||||
("rust-tempfile" ,rust-tempfile-3)
|
||||
("rust-toml" ,rust-toml-0.5))
|
||||
#:cargo-development-inputs
|
||||
(("rust-serial-test" ,rust-serial-test-0.5))))))
|
||||
|
||||
(define-public sniffglue
|
||||
(package
|
||||
(name "sniffglue")
|
||||
|
@ -1553,7 +1643,7 @@ of the project is to be runnable on untrusted networks without crashing.")
|
|||
(base32 "1q4mz2c32gfypx33zlzgd1q9h4322jrk13fzvsf8h676ylclqzpc"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(#:cargo-build-flags '("--release" "--features" "external-harfbuzz")
|
||||
`(#:install-source? #f
|
||||
#:cargo-inputs
|
||||
(("rust-atty" ,rust-atty-0.2)
|
||||
("rust-byte-unit" ,rust-byte-unit-4)
|
||||
|
@ -1917,220 +2007,41 @@ work. This allows the client to be used in a much simpler way, with the
|
|||
background agent taking care of maintaining the necessary state.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public rust-analyzer
|
||||
(package
|
||||
(name "rust-analyzer")
|
||||
(version "2022-01-10")
|
||||
(source
|
||||
(origin
|
||||
;; The crate at "crates.io" is empty.
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/rust-analyzer/rust-analyzer")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1ci85bp8xwqrk8nqr8sh6yj8njgd98nhgnhaks2g00c77wwyra41"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(#:rust ,rust-1.64
|
||||
#:install-source? #f ; virtual manifest
|
||||
#:cargo-test-flags
|
||||
'("--release" "--lib" "--tests" "--"
|
||||
"--skip=tests::test_version_check" ;it need rustc's version
|
||||
;; FIXME: Guix's rust does not install source in
|
||||
;; %out/lib/rustlib/src/rust so "can't load standard library from
|
||||
;; sysroot"
|
||||
"--skip=tests::test_loading_rust_analyzer"
|
||||
;; Failed to run rustfmt from toolchain 'stable'. Please run `rustup
|
||||
;; component add rustfmt --toolchain stable` to install it
|
||||
"--skip=tests::sourcegen::sourcegen_assists_docs" ;need rustfmt
|
||||
"--skip=tests::sourcegen_ast::sourcegen_ast" ;same
|
||||
|
||||
"--skip=tidy::check_licenses" ;it runs cargo metadata
|
||||
"--skip=tidy::check_merge_commits" ;it runs git rev-list
|
||||
"--skip=tidy::check_code_formatting" ;need rustfmt as cargo fmt
|
||||
|
||||
;; These tests require rust <= 1.60 and too many packages
|
||||
;; has as dependency rust-serde-json-1 that use indexmap2
|
||||
;; and it need rust >= 1.64
|
||||
"--skip=tests::list_test_macros"
|
||||
"--skip=tests::test_derive_empty"
|
||||
"--skip=tests::test_attr_macro"
|
||||
"--skip=tests::test_fn_like_macro"
|
||||
"--skip=tests::test_fn_like_macro2"
|
||||
"--skip=tests::test_derive_error")
|
||||
#:cargo-development-inputs
|
||||
(("rust-arbitrary" ,rust-arbitrary-1)
|
||||
("rust-derive-arbitrary" ,rust-derive-arbitrary-1)
|
||||
("rust-expect-test" ,rust-expect-test-1)
|
||||
("rust-oorandom" ,rust-oorandom-11)
|
||||
("rust-quote" ,rust-quote-1.0.10)
|
||||
("rust-rayon" ,rust-rayon-1)
|
||||
("rust-tracing" ,rust-tracing-0.1)
|
||||
("rust-tracing-subscriber" ,rust-tracing-subscriber-0.3)
|
||||
("rust-tracing-tree" ,rust-tracing-tree-0.2)
|
||||
("rust-ungrammar" ,rust-ungrammar-1))
|
||||
#:cargo-inputs
|
||||
(("rust-always-assert" ,rust-always-assert-0.1)
|
||||
("rust-anyhow" ,rust-anyhow-1)
|
||||
("rust-anymap" ,rust-anymap-0.12)
|
||||
("rust-arrayvec" ,rust-arrayvec-0.7)
|
||||
("rust-cargo-metadata" ,rust-cargo-metadata-0.14)
|
||||
("rust-cfg-if" ,rust-cfg-if-1)
|
||||
("rust-chalk-ir" ,rust-chalk-ir-0.75)
|
||||
("rust-chalk-recursive" ,rust-chalk-recursive-0.75)
|
||||
("rust-chalk-solve" ,rust-chalk-solve-0.75)
|
||||
("rust-countme" ,rust-countme-3)
|
||||
("rust-cov-mark" ,rust-cov-mark-2)
|
||||
("rust-crossbeam-channel" ,rust-crossbeam-channel-0.5)
|
||||
("rust-dissimilar" ,rust-dissimilar-1)
|
||||
("rust-dot" ,rust-dot-0.1)
|
||||
("rust-drop-bomb" ,rust-drop-bomb-0.1)
|
||||
("rust-either" ,rust-either-1.6.0)
|
||||
("rust-ena" ,rust-ena-0.14)
|
||||
("rust-env-logger" ,rust-env-logger-0.8)
|
||||
("rust-flate2" ,rust-flate2-1)
|
||||
("rust-fst" ,rust-fst-0.4)
|
||||
("rust-home" ,rust-home-0.5)
|
||||
("rust-indexmap" ,rust-indexmap-1.7)
|
||||
("rust-itertools" ,rust-itertools-0.10)
|
||||
("rust-jod-thread" ,rust-jod-thread-0.1)
|
||||
("rust-libc" ,rust-libc-0.2)
|
||||
("rust-libloading" ,rust-libloading-0.7)
|
||||
("rust-log" ,rust-log-0.4)
|
||||
("rust-lsp-server" ,rust-lsp-server-0.5)
|
||||
("rust-lsp-types" ,rust-lsp-types-0.91)
|
||||
("rust-memmap2" ,rust-memmap2-0.5)
|
||||
("rust-mimalloc" ,rust-mimalloc-0.1)
|
||||
("rust-miow" ,rust-miow-0.4)
|
||||
("rust-notify" ,rust-notify-5-pre.13)
|
||||
("rust-object" ,rust-object-0.28)
|
||||
("rust-once-cell" ,rust-once-cell-1)
|
||||
("rust-parking-lot" ,rust-parking-lot-0.11)
|
||||
("rust-perf-event" ,rust-perf-event-0.4)
|
||||
("rust-proc-macro2" ,rust-proc-macro2-1.0.34)
|
||||
("rust-pulldown-cmark" ,rust-pulldown-cmark-0.8)
|
||||
("rust-pulldown-cmark-to-cmark" ,rust-pulldown-cmark-to-cmark-7)
|
||||
("rust-rowan" ,rust-rowan-0.15)
|
||||
("rust-rustc-ap-rustc-lexer" ,rust-rustc-ap-rustc-lexer-725)
|
||||
("rust-rustc-hash" ,rust-rustc-hash-1)
|
||||
("rust-salsa" ,rust-salsa-0.17)
|
||||
("rust-scoped-tls" ,rust-scoped-tls-1)
|
||||
("rust-serde" ,rust-serde-1)
|
||||
("rust-serde-json" ,rust-serde-json-1.0.73)
|
||||
("rust-serde-path-to-error" ,rust-serde-path-to-error-0.1)
|
||||
("rust-typed-arena" ,rust-typed-arena-2)
|
||||
("rust-smallvec" ,rust-smallvec-1)
|
||||
("rust-smol-str" ,rust-smol-str-0.1)
|
||||
("rust-snap" ,rust-snap-1)
|
||||
("rust-text-size" ,rust-text-size-1)
|
||||
("rust-threadpool" ,rust-threadpool-1)
|
||||
("rust-tikv-jemalloc-ctl" ,rust-tikv-jemalloc-ctl-0.4)
|
||||
("rust-tikv-jemallocator" ,rust-tikv-jemallocator-0.4)
|
||||
("rust-url" ,rust-url-2)
|
||||
("rust-walkdir" ,rust-walkdir-2)
|
||||
("rust-winapi" ,rust-winapi-0.3)
|
||||
("rust-write-json" ,rust-write-json-0.1)
|
||||
("rust-xflags" ,rust-xflags-0.2)
|
||||
("rust-xshell" ,rust-xshell-0.1))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'check 'fix-tests
|
||||
(lambda _
|
||||
(let ((bash (string-append "#!" (which "bash"))))
|
||||
(with-directory-excursion "crates/parser/test_data/lexer/ok"
|
||||
(substitute* "single_line_comments.txt"
|
||||
(("SHEBANG 19")
|
||||
(string-append "SHEBANG "
|
||||
(number->string (string-length bash))))
|
||||
(("#!/usr/bin/env bash") bash))))))
|
||||
(add-before 'install 'install-doc
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(doc (string-append out "/share/doc/rust-analyzer-"
|
||||
,version)))
|
||||
(copy-recursively "docs" doc))))
|
||||
(add-before 'install 'chdir
|
||||
(lambda _
|
||||
(chdir "crates/rust-analyzer")))
|
||||
(add-after 'install 'wrap-program
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(bin (string-append out "/bin"))
|
||||
(rust-src-path (search-input-directory
|
||||
inputs "/lib/rustlib/src/rust/library")))
|
||||
;; if environment variable RUST_SRC_PATH is not set, set it,
|
||||
;; make rust-analyzer work out of box.
|
||||
(with-directory-excursion bin
|
||||
(let* ((prog "rust-analyzer")
|
||||
(wrapped-file (string-append (dirname prog)
|
||||
"/." (basename prog) "-real"))
|
||||
(prog-tmp (string-append wrapped-file "-tmp")))
|
||||
(link prog wrapped-file)
|
||||
(call-with-output-file prog-tmp
|
||||
(lambda (port)
|
||||
(format port "#!~a
|
||||
if test -z \"${RUST_SRC_PATH}\";then export RUST_SRC_PATH=~S;fi;
|
||||
exec -a \"$0\" \"~a\" \"$@\""
|
||||
(which "bash")
|
||||
rust-src-path
|
||||
(canonicalize-path wrapped-file))))
|
||||
(chmod prog-tmp #o755)
|
||||
(rename-file prog-tmp prog))))))
|
||||
(replace 'install-license-files
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(doc (string-append out "/share/doc/rust-analyzer-"
|
||||
,version)))
|
||||
(chdir "../..")
|
||||
(install-file "LICENSE-MIT" doc)
|
||||
(install-file "LICENSE-APACHE" doc)))))))
|
||||
(native-inputs (list rust-src-1.64))
|
||||
(home-page "https://rust-analyzer.github.io/")
|
||||
(synopsis "Experimental Rust compiler front-end for IDEs")
|
||||
(description "Rust-analyzer is a modular compiler frontend for the Rust
|
||||
language. It is a part of a larger rls-2.0 effort to create excellent IDE
|
||||
support for Rust.")
|
||||
(license (list license:expat license:asl2.0))))
|
||||
|
||||
;;; Note: keep in sync with our current Rust/Cargo version.
|
||||
(define-public rust-cargo-c
|
||||
(package
|
||||
(name "rust-cargo-c")
|
||||
(version "0.9.18+cargo-0.69")
|
||||
(version "0.9.27+cargo-0.74.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "cargo-c" version))
|
||||
(file-name
|
||||
(string-append name "-" version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"191d0813g4m2g1c1h8ykgrfp00blkbds6pg3zl044iyxaclng29h"))))
|
||||
(base32 "1xsw17zcxzlg7d7pg40anm9w8g95kvnxfp7ln9sbgv3zhsc9wggq"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(#:cargo-inputs
|
||||
(("rust-anyhow" ,rust-anyhow-1)
|
||||
("rust-cargo" ,rust-cargo-0.69)
|
||||
("rust-cargo" ,rust-cargo-0.74)
|
||||
("rust-cargo-util" ,rust-cargo-util-0.2)
|
||||
("rust-cbindgen" ,rust-cbindgen-0.24)
|
||||
("rust-cbindgen" ,rust-cbindgen-0.26)
|
||||
("rust-cc" ,rust-cc-1)
|
||||
("rust-clap" ,rust-clap-4)
|
||||
("rust-glob" ,rust-glob-0.3)
|
||||
("rust-itertools" ,rust-itertools-0.10)
|
||||
("rust-itertools" ,rust-itertools-0.11)
|
||||
("rust-log" ,rust-log-0.4)
|
||||
("rust-regex" ,rust-regex-1)
|
||||
("rust-semver" ,rust-semver-1)
|
||||
("rust-serde" ,rust-serde-1)
|
||||
("rust-serde-derive" ,rust-serde-derive-1)
|
||||
("rust-serde-json" ,rust-serde-json-1)
|
||||
("rust-toml" ,rust-toml-0.7))))
|
||||
("rust-toml" ,rust-toml-0.7)
|
||||
("rust-windows-sys" ,rust-windows-sys-0.48))))
|
||||
(native-inputs
|
||||
(list pkg-config))
|
||||
(inputs
|
||||
(list curl libgit2 libssh2 openssl zlib))
|
||||
(list curl libgit2-1.6 libssh2 openssl zlib))
|
||||
(home-page "https://github.com/lu-zero/cargo-c")
|
||||
(synopsis "Build and install C-compatible libraries")
|
||||
(description
|
||||
|
@ -2284,6 +2195,66 @@ consecutive lines and since program start.")
|
|||
(define-public rust-skim-0.7
|
||||
(deprecated-package "rust-skim-0.7" skim-0.7))
|
||||
|
||||
(define-public spotifyd
|
||||
(package
|
||||
(name "spotifyd")
|
||||
(version "0.3.5")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "spotifyd" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "1g6k8xmx8xvc2dpak14y8cc2221djhdflzsjczygvqa9gk5jiadd"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(#:install-source? #f
|
||||
#:cargo-inputs (("rust-alsa" ,rust-alsa-0.7)
|
||||
("rust-chrono" ,rust-chrono-0.4)
|
||||
("rust-color-eyre" ,rust-color-eyre-0.6)
|
||||
("rust-daemonize" ,rust-daemonize-0.5)
|
||||
("rust-dbus" ,rust-dbus-0.9)
|
||||
("rust-dbus-crossroads" ,rust-dbus-crossroads-0.5)
|
||||
("rust-dbus-tokio" ,rust-dbus-tokio-0.7)
|
||||
("rust-fern" ,rust-fern-0.6)
|
||||
("rust-futures" ,rust-futures-0.3)
|
||||
("rust-gethostname" ,rust-gethostname-0.4)
|
||||
("rust-hex" ,rust-hex-0.4)
|
||||
("rust-keyring" ,rust-keyring-2)
|
||||
("rust-libc" ,rust-libc-0.2)
|
||||
("rust-librespot-audio" ,rust-librespot-audio-0.4)
|
||||
("rust-librespot-connect" ,rust-librespot-connect-0.4)
|
||||
("rust-librespot-core" ,rust-librespot-core-0.4)
|
||||
("rust-librespot-discovery" ,rust-librespot-discovery-0.4)
|
||||
("rust-librespot-playback" ,rust-librespot-playback-0.4)
|
||||
("rust-log" ,rust-log-0.4)
|
||||
("rust-rspotify" ,rust-rspotify-0.11)
|
||||
("rust-serde" ,rust-serde-1)
|
||||
("rust-sha-1" ,rust-sha-1-0.10)
|
||||
("rust-structopt" ,rust-structopt-0.3)
|
||||
("rust-syslog" ,rust-syslog-6)
|
||||
("rust-tokio" ,rust-tokio-1)
|
||||
("rust-tokio-stream" ,rust-tokio-stream-0.1)
|
||||
("rust-toml" ,rust-toml-0.7)
|
||||
("rust-url" ,rust-url-2)
|
||||
("rust-whoami" ,rust-whoami-1)
|
||||
("rust-xdg" ,rust-xdg-2))
|
||||
#:cargo-development-inputs (("rust-env-logger" ,rust-env-logger-0.10))
|
||||
#:features (list "alsa_backend"
|
||||
"dbus_keyring"
|
||||
;"dbus_mpris" ; Conflicts with rust-chrono-0.4 version.
|
||||
"pulseaudio_backend"
|
||||
"rodio_backend")))
|
||||
(native-inputs (list perl pkg-config))
|
||||
(inputs (list alsa-lib dbus pulseaudio))
|
||||
(home-page "https://github.com/Spotifyd/spotifyd")
|
||||
(synopsis "Spotify streaming daemon with Spotify Connect support")
|
||||
(description
|
||||
"This package provides a light-weight daemon that connects to the Spotify
|
||||
music service. A Spotifyd instance can be controlled by clients that use the
|
||||
Spotify Connect protocol, which includes the official Spotify mobile apps.")
|
||||
(license license:gpl3)))
|
||||
|
||||
(define-public svd2rust
|
||||
(package
|
||||
(name "svd2rust")
|
||||
|
@ -2522,14 +2493,7 @@ It will then write @code{fixup!} commits for each of those changes.")
|
|||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1815hz1a93brj6v9102xypds1qslf6gxgk9vcvxhxlhy1c2pfxvj"))
|
||||
(snippet
|
||||
#~(begin (use-modules (guix build utils))
|
||||
(substitute* "Cargo.toml"
|
||||
(("1\\.0\\.75") "1.0.68") ; rust-anyhow
|
||||
(("0\\.4\\.19") "0.4.17") ; rust-log
|
||||
(("1\\.9\\.4") "1.9.1") ; regex
|
||||
(("3\\.3") "3.0")))))) ; serde-with
|
||||
"1815hz1a93brj6v9102xypds1qslf6gxgk9vcvxhxlhy1c2pfxvj"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(#:features '()
|
||||
|
@ -2667,7 +2631,8 @@ It will then write @code{fixup!} commits for each of those changes.")
|
|||
(base32 "0y5v2vgl9f3n0n0w4b3iddbfyxv0hls0vw5406ry0hcvnnjyy2l3"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
(list #:cargo-inputs
|
||||
(list #:install-source? #f
|
||||
#:cargo-inputs
|
||||
`(("rust-anyhow" ,rust-anyhow-1)
|
||||
("rust-askama" ,rust-askama-0.11)
|
||||
("rust-bincode" ,rust-bincode-1)
|
||||
|
@ -2685,26 +2650,7 @@ It will then write @code{fixup!} commits for each of those changes.")
|
|||
`(("rust-assert-cmd" ,rust-assert-cmd-2)
|
||||
("rust-rstest" ,rust-rstest-0.15)
|
||||
("rust-rstest-reuse" ,rust-rstest-reuse-0.4)
|
||||
("rust-tempfile" ,rust-tempfile-3))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'use-older-rust
|
||||
(lambda _
|
||||
(setenv "RUSTC_BOOTSTRAP" "1")
|
||||
(substitute* "Cargo.toml"
|
||||
(("^rust-version = .*$")
|
||||
(string-append
|
||||
"rust-version = \""
|
||||
#$(package-version rust)
|
||||
"\"\n")))
|
||||
(substitute* "src/main.rs"
|
||||
(("#!\\[allow\\(clippy::single_component_path_imports)]")
|
||||
"#![feature(total_cmp)]"))
|
||||
(substitute* "src/cmd/query.rs"
|
||||
(("let handle = &mut io::stdout\\()\\.lock\\();")
|
||||
"\
|
||||
let _stdout = io::stdout();
|
||||
let handle = &mut _stdout.lock();")))))))
|
||||
("rust-tempfile" ,rust-tempfile-3))))
|
||||
(home-page "https://github.com/ajeetdsouza/zoxide/")
|
||||
(synopsis "Fast way to navigate your file system")
|
||||
(description
|
||||
|
|
|
@ -40,29 +40,34 @@
|
|||
#:use-module (gnu packages bootstrap)
|
||||
#:use-module (gnu packages cmake)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages cross-base)
|
||||
#:use-module (gnu packages curl)
|
||||
#:use-module (gnu packages elf)
|
||||
#:use-module (gnu packages flex)
|
||||
#:use-module (gnu packages gcc)
|
||||
#:use-module (gnu packages gdb)
|
||||
#:use-module (gnu packages jemalloc)
|
||||
#:use-module (gnu packages libunwind)
|
||||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu packages llvm)
|
||||
#:use-module (gnu packages mingw)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages ssh)
|
||||
#:use-module (gnu packages tls)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (guix build-system cargo)
|
||||
#:use-module (guix build-system copy)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system trivial)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix packages)
|
||||
#:use-module ((guix build utils) #:select (alist-replace))
|
||||
#:use-module (guix utils)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (ice-9 match)
|
||||
#:use-module (ice-9 optargs)
|
||||
#:use-module (srfi srfi-26))
|
||||
|
||||
;; This is the hash for the empty file, and the reason it's relevant is not
|
||||
|
@ -103,6 +108,10 @@
|
|||
("aarch64-linux" "aarch64-unknown-linux-gnu")
|
||||
("mips64el-linux" "mips64el-unknown-linux-gnuabi64")
|
||||
("riscv64-linux" "riscv64gc-unknown-linux-gnu")
|
||||
("i586-gnu" "i686-unknown-hurd-gnu")
|
||||
("i686-gnu" "i686-unknown-hurd-gnu")
|
||||
("i686-mingw" "i686-pc-windows-gnu")
|
||||
("x86_64-mingw" "x86_64-pc-windows-gnu")
|
||||
(_ (nix-system->gnu-triplet system))))
|
||||
|
||||
(define* (rust-uri version #:key (dist "static"))
|
||||
|
@ -655,7 +664,7 @@ safety and thread safety guarantees.")
|
|||
(rust-bootstrapped-package
|
||||
rust-1.62 "1.63.0" "1l4rrbzhxv88pnfq94nbyb9m6lfnjwixma3mwjkmvvs2aqlq158z"))
|
||||
|
||||
(define-public rust-1.64
|
||||
(define rust-1.64
|
||||
(let ((base-rust
|
||||
(rust-bootstrapped-package
|
||||
rust-1.63 "1.64.0" "018j720b2n12slp4xk64jc6shkncd46d621qdyzh2a8s3r49zkdk")))
|
||||
|
@ -825,7 +834,7 @@ safety and thread safety guarantees.")
|
|||
;;; Here we take the latest included Rust, make it public, and re-enable tests
|
||||
;;; and extra components such as rustfmt.
|
||||
(define-public rust
|
||||
(let ((base-rust rust-1.70))
|
||||
(let ((base-rust rust-1.73))
|
||||
(package
|
||||
(inherit base-rust)
|
||||
(outputs (cons* "rust-src" "tools" (package-outputs base-rust)))
|
||||
|
@ -856,11 +865,42 @@ safety and thread safety guarantees.")
|
|||
'("fn fetch_downloads_with_git2_first_")))))
|
||||
(add-after 'unpack 'disable-tests-requiring-mercurial
|
||||
(lambda _
|
||||
(with-directory-excursion "src/tools/cargo/tests/testsuite/init"
|
||||
(with-directory-excursion "src/tools/cargo/tests/testsuite/cargo_init"
|
||||
(substitute* '("mercurial_autodetect/mod.rs"
|
||||
"simple_hg_ignore_exists/mod.rs")
|
||||
,@(make-ignore-test-list
|
||||
'("fn case"))))))
|
||||
(add-after 'unpack 'disable-tests-using-cargo-publish
|
||||
(lambda _
|
||||
(with-directory-excursion "src/tools/cargo/tests/testsuite"
|
||||
(substitute* "alt_registry.rs"
|
||||
,@(make-ignore-test-list
|
||||
'("fn warn_for_unused_fields")))
|
||||
(substitute* '("cargo_add/locked_unchanged/mod.rs"
|
||||
"cargo_add/lockfile_updated/mod.rs"
|
||||
"cargo_remove/update_lock_file/mod.rs")
|
||||
,@(make-ignore-test-list
|
||||
'("fn case")))
|
||||
(substitute* "git_shallow.rs"
|
||||
,@(make-ignore-test-list
|
||||
'("fn gitoxide_clones_git_dependency_with_shallow_protocol_and_git2_is_used_for_followup_fetches"
|
||||
"fn gitoxide_clones_registry_with_shallow_protocol_and_aborts_and_updates_again"
|
||||
"fn gitoxide_clones_registry_with_shallow_protocol_and_follow_up_fetch_maintains_shallowness"
|
||||
"fn gitoxide_clones_registry_with_shallow_protocol_and_follow_up_with_git2_fetch"
|
||||
"fn gitoxide_clones_registry_without_shallow_protocol_and_follow_up_fetch_uses_shallowness"
|
||||
"fn gitoxide_shallow_clone_followed_by_non_shallow_update"
|
||||
"fn gitoxide_clones_shallow_two_revs_same_deps"
|
||||
"fn gitoxide_git_dependencies_switch_from_branch_to_rev"
|
||||
"fn shallow_deps_work_with_revisions_and_branches_mixed_on_same_dependency")))
|
||||
(substitute* "install.rs"
|
||||
,@(make-ignore-test-list
|
||||
'("fn failed_install_retains_temp_directory")))
|
||||
(substitute* "offline.rs"
|
||||
,@(make-ignore-test-list
|
||||
'("fn gitoxide_cargo_compile_offline_with_cached_git_dep_shallow_dep")))
|
||||
(substitute* "patch.rs"
|
||||
,@(make-ignore-test-list
|
||||
'("fn gitoxide_clones_shallow_old_git_patch"))))))
|
||||
(add-after 'unpack 'disable-tests-broken-on-aarch64
|
||||
(lambda _
|
||||
(with-directory-excursion "src/tools/cargo/tests/testsuite/"
|
||||
|
@ -998,30 +1038,216 @@ safety and thread safety guarantees.")
|
|||
(copy-recursively "src" (string-append out dest "/src")))))
|
||||
(add-after 'install-rust-src 'wrap-rust-analyzer
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(wrap-program (string-append (assoc-ref outputs "tools")
|
||||
"/bin/rust-analyzer")
|
||||
`("RUST_SRC_PATH" ":" =
|
||||
(,(string-append (assoc-ref outputs "rust-src")
|
||||
"/lib/rustlib/src/rust/library"))))))))))
|
||||
(let ((bin (string-append (assoc-ref outputs "tools") "/bin")))
|
||||
(rename-file (string-append bin "/rust-analyzer")
|
||||
(string-append bin "/.rust-analyzer-real"))
|
||||
(call-with-output-file (string-append bin "/rust-analyzer")
|
||||
(lambda (port)
|
||||
(format port "#!~a
|
||||
if test -z \"${RUST_SRC_PATH}\";then export RUST_SRC_PATH=~S;fi;
|
||||
exec -a \"$0\" \"~a\" \"$@\""
|
||||
(which "bash")
|
||||
(string-append (assoc-ref outputs "rust-src")
|
||||
"/lib/rustlib/src/rust/library")
|
||||
(string-append bin "/.rust-analyzer-real"))))
|
||||
(chmod (string-append bin "/rust-analyzer") #o755))))))))
|
||||
;; Add test inputs.
|
||||
(native-inputs (cons* `("gdb" ,gdb/pinned)
|
||||
`("procps" ,procps)
|
||||
(package-native-inputs base-rust))))))
|
||||
|
||||
(define-public rust-src-1.64
|
||||
(hidden-package
|
||||
(package
|
||||
(inherit rust-1.64)
|
||||
(name "rust-src")
|
||||
(build-system copy-build-system)
|
||||
(native-inputs '())
|
||||
(inputs '())
|
||||
(native-search-paths '())
|
||||
(outputs '("out"))
|
||||
(arguments
|
||||
`(#:install-plan
|
||||
'(("library" "lib/rustlib/src/rust/library")
|
||||
("src" "lib/rustlib/src/rust/src"))))
|
||||
(synopsis "Source code for the Rust standard library")
|
||||
(description "This package provide source code for the Rust standard
|
||||
library, only use by rust-analyzer, make rust-analyzer out of the box."))))
|
||||
(define*-public (make-rust-sysroot target)
|
||||
(let ((base-rust rust))
|
||||
(package
|
||||
(inherit base-rust)
|
||||
(name (string-append "rust-sysroot-for-" target))
|
||||
(outputs '("out"))
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments base-rust)
|
||||
((#:tests? _ #f) #f) ; This package for cross-building.
|
||||
((#:phases phases)
|
||||
`(modify-phases ,phases
|
||||
(add-after 'unpack 'unbundle-xz
|
||||
(lambda _
|
||||
(delete-file-recursively "vendor/lzma-sys/xz-5.2")
|
||||
;; Remove the option of using the static library.
|
||||
;; This is necessary for building the sysroot.
|
||||
(substitute* "vendor/lzma-sys/build.rs"
|
||||
(("!want_static && ") ""))))
|
||||
,@(if (target-mingw? target)
|
||||
`((add-after 'set-env 'patch-for-mingw
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(setenv "LIBRARY_PATH"
|
||||
(string-join
|
||||
(delete
|
||||
(string-append
|
||||
(or (assoc-ref inputs "mingw-w64-i686-winpthreads")
|
||||
(assoc-ref inputs "mingw-w64-x86_64-winpthreads"))
|
||||
"/lib")
|
||||
(string-split (getenv "LIBRARY_PATH") #\:))
|
||||
":"))
|
||||
(setenv "CPLUS_INCLUDE_PATH"
|
||||
(string-join
|
||||
(delete
|
||||
(string-append
|
||||
(or (assoc-ref inputs "mingw-w64-i686-winpthreads")
|
||||
(assoc-ref inputs "mingw-w64-x86_64-winpthreads"))
|
||||
"/include")
|
||||
(string-split (getenv "CPLUS_INCLUDE_PATH") #\:))
|
||||
":"))
|
||||
;; When building a rust-sysroot this crate is only used for
|
||||
;; the rust-installer.
|
||||
(substitute* "vendor/num_cpus/src/linux.rs"
|
||||
(("\\.ceil\\(\\)") ""))
|
||||
;; gcc doesn't recognize this flag.
|
||||
(substitute*
|
||||
"compiler/rustc_target/src/spec/windows_gnullvm_base.rs"
|
||||
((", \"--unwindlib=none\"") "")))))
|
||||
`())
|
||||
(replace 'set-env
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(setenv "SHELL" (which "sh"))
|
||||
(setenv "CONFIG_SHELL" (which "sh"))
|
||||
(setenv "CC" (which "gcc"))
|
||||
;; The Guix LLVM package installs only shared libraries.
|
||||
(setenv "LLVM_LINK_SHARED" "1")
|
||||
|
||||
(setenv "CROSS_LIBRARY_PATH" (getenv "LIBRARY_PATH"))
|
||||
(setenv "CROSS_CPLUS_INCLUDE_PATH" (getenv "CPLUS_INCLUDE_PATH"))
|
||||
(when (assoc-ref inputs (string-append "glibc-cross-" ,target))
|
||||
(setenv "LIBRARY_PATH"
|
||||
(string-join
|
||||
(delete
|
||||
(string-append
|
||||
(assoc-ref inputs
|
||||
(string-append "glibc-cross-" ,target))
|
||||
"/lib")
|
||||
(string-split (getenv "LIBRARY_PATH") #\:))
|
||||
":"))
|
||||
(setenv "CPLUS_INCLUDE_PATH"
|
||||
(string-join
|
||||
(delete
|
||||
(string-append
|
||||
(assoc-ref inputs
|
||||
(string-append "glibc-cross-" ,target))
|
||||
"/include")
|
||||
(string-split (getenv "CPLUS_INCLUDE_PATH") #\:))
|
||||
":")))))
|
||||
(replace 'configure
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(target-cc
|
||||
(search-input-file
|
||||
inputs (string-append "/bin/" ,(cc-for-target target)))))
|
||||
(call-with-output-file "config.toml"
|
||||
(lambda (port)
|
||||
(display (string-append "
|
||||
[llvm]
|
||||
[build]
|
||||
cargo = \"" (search-input-file inputs "/bin/cargo") "\"
|
||||
rustc = \"" (search-input-file inputs "/bin/rustc") "\"
|
||||
docs = false
|
||||
python = \"" (which "python") "\"
|
||||
vendor = true
|
||||
submodules = false
|
||||
target = [\"" ,(nix-system->gnu-triplet-for-rust (gnu-triplet->nix-system target)) "\"]
|
||||
[install]
|
||||
prefix = \"" out "\"
|
||||
sysconfdir = \"etc\"
|
||||
[rust]
|
||||
debug = false
|
||||
jemalloc = false
|
||||
default-linker = \"" target-cc "\"
|
||||
channel = \"stable\"
|
||||
[target." ,(nix-system->gnu-triplet-for-rust) "]
|
||||
# These are all native tools
|
||||
llvm-config = \"" (search-input-file inputs "/bin/llvm-config") "\"
|
||||
linker = \"" (which "gcc") "\"
|
||||
cc = \"" (which "gcc") "\"
|
||||
cxx = \"" (which "g++") "\"
|
||||
ar = \"" (which "ar") "\"
|
||||
[target." ,(nix-system->gnu-triplet-for-rust (gnu-triplet->nix-system target)) "]
|
||||
llvm-config = \"" (search-input-file inputs "/bin/llvm-config") "\"
|
||||
linker = \"" target-cc "\"
|
||||
cc = \"" target-cc "\"
|
||||
cxx = \"" (search-input-file inputs (string-append "/bin/" ,(cxx-for-target target))) "\"
|
||||
ar = \"" (search-input-file inputs (string-append "/bin/" ,(ar-for-target target))) "\"
|
||||
[dist]
|
||||
") port))))))
|
||||
(replace 'build
|
||||
;; Phase overridden to build the necessary directories.
|
||||
(lambda* (#:key parallel-build? #:allow-other-keys)
|
||||
(let ((job-spec (string-append
|
||||
"-j" (if parallel-build?
|
||||
(number->string (parallel-job-count))
|
||||
"1"))))
|
||||
;; This works for us with the --sysroot flag
|
||||
;; and then we can build ONLY library/std
|
||||
(invoke "./x.py" job-spec "build" "library/std"))))
|
||||
(replace 'install
|
||||
(lambda _
|
||||
(invoke "./x.py" "install" "library/std")))
|
||||
(add-after 'install 'remove-uninstall-script
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
;; This script has no use on Guix
|
||||
;; and it retains a reference to the host's bash.
|
||||
(delete-file (string-append (assoc-ref outputs "out")
|
||||
"/lib/rustlib/uninstall.sh"))))
|
||||
(delete 'install-rust-src)
|
||||
(delete 'wrap-rust-analyzer)
|
||||
(delete 'wrap-rustc)))))
|
||||
(inputs
|
||||
(modify-inputs (package-inputs base-rust)
|
||||
(prepend xz))) ; for lzma-sys
|
||||
(propagated-inputs
|
||||
(if (target-mingw? target)
|
||||
(modify-inputs (package-propagated-inputs base-rust)
|
||||
(prepend
|
||||
(if (string=? "i686-w64-mingw32" target)
|
||||
mingw-w64-i686-winpthreads
|
||||
mingw-w64-x86_64-winpthreads)))
|
||||
(package-propagated-inputs base-rust)))
|
||||
(native-inputs
|
||||
(if (target-mingw? target)
|
||||
(modify-inputs (package-native-inputs base-rust)
|
||||
(prepend (cross-gcc target
|
||||
#:libc (cross-libc target))
|
||||
(cross-binutils target)
|
||||
(if (string=? "i686-w64-mingw32" target)
|
||||
mingw-w64-i686-winpthreads
|
||||
mingw-w64-x86_64-winpthreads)
|
||||
libunwind))
|
||||
(modify-inputs (package-native-inputs base-rust)
|
||||
(prepend (cross-gcc target
|
||||
#:libc (cross-libc target))
|
||||
(cross-libc target)
|
||||
(cross-binutils target)))))
|
||||
(properties
|
||||
`((hidden? . #t)
|
||||
,(package-properties base-rust))))))
|
||||
|
||||
(define-public rust-analyzer
|
||||
(package
|
||||
(name "rust-analyzer")
|
||||
(version (package-version rust))
|
||||
(source #f)
|
||||
(build-system trivial-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:modules '((guix build utils))
|
||||
#:builder
|
||||
#~(begin
|
||||
(use-modules (guix build utils))
|
||||
(let ((rust (assoc-ref %build-inputs "rust")))
|
||||
(install-file (string-append rust "/bin/rust-analyzer")
|
||||
(string-append #$output "/bin"))
|
||||
(copy-recursively (string-append rust "/share")
|
||||
(string-append #$output "/share"))))))
|
||||
(inputs
|
||||
(list (list rust "tools")))
|
||||
(home-page "https://rust-analyzer.github.io/")
|
||||
(synopsis "Experimental Rust compiler front-end for IDEs")
|
||||
(description "Rust-analyzer is a modular compiler frontend for the Rust
|
||||
language. It is a part of a larger rls-2.0 effort to create excellent IDE
|
||||
support for Rust.")
|
||||
(license (list license:expat license:asl2.0))))
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -287,6 +287,14 @@ cards.")
|
|||
(("^doc:.*") "doc:\n")
|
||||
(("install-podboat install-docs") "install-podboat")))))
|
||||
'())
|
||||
(add-after 'unpack 'pre-build
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(setenv "CXX" ,(cxx-for-target))
|
||||
(setenv "CXX_FOR_BUILD" (which "g++"))
|
||||
(substitute* "config.sh"
|
||||
(("if curl-config")
|
||||
(string-append
|
||||
"if " (search-input-file inputs "/bin/curl-config"))))))
|
||||
(add-after 'configure 'dont-vendor-self
|
||||
(lambda* (#:key vendor-dir #:allow-other-keys)
|
||||
;; Don't keep the whole tarball in the vendor directory
|
||||
|
@ -301,9 +309,10 @@ cards.")
|
|||
(replace 'build
|
||||
(assoc-ref gnu:%standard-phases 'build))
|
||||
(replace 'check
|
||||
(lambda args
|
||||
((assoc-ref gnu:%standard-phases 'check)
|
||||
#:test-target "test")))
|
||||
(lambda* (#:key tests? #:allow-other-keys #:rest args)
|
||||
(when tests?
|
||||
((assoc-ref gnu:%standard-phases 'check)
|
||||
#:test-target "test"))))
|
||||
(replace 'install
|
||||
(assoc-ref gnu:%standard-phases 'install)))))
|
||||
(native-search-paths
|
||||
|
|
|
@ -1610,14 +1610,14 @@ basic input/output.")
|
|||
(search-input-file inputs "lib/libxkbcommon.so")))))
|
||||
(replace 'install
|
||||
;; Upstream install script only takes care of executable.
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(lambda* (#:key native-inputs inputs outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(bin (string-append out "/bin"))
|
||||
(share (string-append out "/share"))
|
||||
(icons (string-append share "/icons/hicolor/scalable/apps"))
|
||||
(tic (search-input-file inputs "/bin/tic"))
|
||||
(tic (search-input-file (or native-inputs inputs) "/bin/tic"))
|
||||
(man (string-append share "/man/man1"))
|
||||
(alacritty-bin "target/release/alacritty"))
|
||||
(alacritty-bin (car (find-files "target" "^alacritty$"))))
|
||||
;; Install the executable.
|
||||
(install-file alacritty-bin bin)
|
||||
;; Install man pages.
|
||||
|
|
|
@ -63,14 +63,14 @@
|
|||
(define-public tor
|
||||
(package
|
||||
(name "tor")
|
||||
(version "0.4.8.9")
|
||||
(version "0.4.8.10")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://dist.torproject.org/tor-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0rfgn88izn74nh6gy42ggwmiicnylp73skrlwm61n4znj247vfsr"))))
|
||||
"11is8rwa3654kv2z425chmv9ynip64lwy8svf4klgnqfnzxb8a76"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list #:configure-flags
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
;;; Copyright © 2013, 2014, 2022 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
|
||||
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
|
||||
;;; Copyright © 2016, 2020, 2022 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2016, 2020, 2022, 2023 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2020 Marius Bakke <marius@gnu.org>
|
||||
;;; Copyright © 2022 Denis Carikli <GNUtoo@cyberdimension.org>
|
||||
|
@ -85,7 +85,7 @@ management and threading bugs, and profile your programs in detail. You can
|
|||
also use Valgrind to build new tools.")
|
||||
;; https://valgrind.org/info/platforms.html
|
||||
(supported-systems (fold delete %supported-systems
|
||||
'("armhf-linux" "riscv64-linux")))
|
||||
'("i586-gnu" "armhf-linux" "riscv64-linux")))
|
||||
(license gpl2+)
|
||||
|
||||
;; Hide this variant so end users get the "interactive" Valgrind below.
|
||||
|
@ -96,5 +96,5 @@ also use Valgrind to build new tools.")
|
|||
valgrind
|
||||
(inputs
|
||||
;; GDB is needed to provide a sane default for `--db-command'.
|
||||
(list gdb `(,(canonical-package glibc) "debug")))
|
||||
(list gdb `(,(canonical-package (libc-for-target)) "debug")))
|
||||
(properties '())))
|
||||
|
|
|
@ -49,6 +49,7 @@
|
|||
;;; Copyright © 2015, 2022 David Thompson <davet@gnu.org>
|
||||
;;; Copyright © 2023 Nicolas Graves <ngraves@ngraves.fr>
|
||||
;;; Copyright © 2023 Kjartan Oli Agustsson <kjartanoli@disroot.org>
|
||||
;;; Copyright © 2023 Steve George <steve@futurile.net>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -74,6 +75,7 @@
|
|||
#:use-module (guix download)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix hg-download)
|
||||
#:use-module (guix build-system cargo)
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix build-system copy)
|
||||
#:use-module (guix build-system gnu)
|
||||
|
@ -91,6 +93,7 @@
|
|||
#:use-module (gnu packages boost)
|
||||
#:use-module (gnu packages check)
|
||||
#:use-module (gnu packages cook)
|
||||
#:use-module (gnu packages crates-io)
|
||||
#:use-module (gnu packages curl)
|
||||
#:use-module (gnu packages databases)
|
||||
#:use-module (gnu packages docbook)
|
||||
|
@ -886,6 +889,48 @@ write native speed custom Git applications in any language with bindings.")
|
|||
;; GPLv2 with linking exception
|
||||
(license license:gpl2)))
|
||||
|
||||
(define-public libgit2-1.7
|
||||
(package
|
||||
(inherit libgit2)
|
||||
(version "1.7.1")
|
||||
(source (origin
|
||||
(inherit (package-source libgit2))
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/libgit2/libgit2")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name "libgit2" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1wq6a91k97gbsyafla39yvn1lnr559hqc41ksz1qxv7flf5kyvfx"))
|
||||
;; We need to use the bundled xdiff until an option is given
|
||||
;; to use the one from git.
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
(for-each delete-file-recursively
|
||||
'("deps/chromium-zlib"
|
||||
"deps/http-parser"
|
||||
"deps/ntlmclient"
|
||||
"deps/pcre"
|
||||
"deps/winhttp"
|
||||
"deps/zlib"))))))))
|
||||
|
||||
(define-public libgit2-1.6
|
||||
(package
|
||||
(inherit libgit2)
|
||||
(version "1.6.4")
|
||||
(source (origin
|
||||
(inherit (package-source libgit2))
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/libgit2/libgit2")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name "libgit2" version))
|
||||
(sha256
|
||||
(base32
|
||||
"078jnis7lwzb38ha5lcrs8hzi4br3c8v7c9xaqkvkcaa8nifcvcm"))))))
|
||||
|
||||
(define-public libgit2-1.4
|
||||
(package
|
||||
(inherit libgit2)
|
||||
|
@ -1475,6 +1520,91 @@ subcommands helps automate some parts of the flow to make working with it a
|
|||
lot easier.")
|
||||
(license license:bsd-2)))
|
||||
|
||||
(define-public stgit-2
|
||||
(package
|
||||
(name "stgit")
|
||||
(version "2.4.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/stacked-git/stgit")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0cgv7chxqkjaqmzi4691in26j2fm8r0vanw8xzb9cqnz6350wvvj"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(#:cargo-inputs (("rust-anstyle" ,rust-anstyle-1)
|
||||
("rust-anyhow" ,rust-anyhow-1)
|
||||
("rust-bstr" ,rust-bstr-1)
|
||||
("rust-bzip2-rs" ,rust-bzip2-rs-0.1)
|
||||
("rust-clap" ,rust-clap-4)
|
||||
("rust-ctrlc" ,rust-ctrlc-3)
|
||||
("rust-curl" ,rust-curl-0.4)
|
||||
("rust-encoding_rs" ,rust-encoding-rs-0.8)
|
||||
("rust-flate2" ,rust-flate2-1)
|
||||
("rust-gix" ,rust-gix-0.54)
|
||||
("rust-indexmap" ,rust-indexmap-2)
|
||||
("rust-is-terminal" ,rust-is-terminal-0.4)
|
||||
("rust-nom" ,rust-nom-7)
|
||||
("rust-serde" ,rust-serde-1)
|
||||
("rust-serde-json" ,rust-serde-json-1)
|
||||
("rust-strsim" ,rust-strsim-0.10)
|
||||
("rust-tar" ,rust-tar-0.4)
|
||||
("rust-tempfile" ,rust-tempfile-3)
|
||||
("rust-termcolor" ,rust-termcolor-1)
|
||||
("rust-thiserror" ,rust-thiserror-1)
|
||||
("rust-time" ,rust-time-0.3))
|
||||
#:install-source? #f
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'build 'build-extras
|
||||
(lambda _
|
||||
(substitute* "Documentation/Makefile"
|
||||
(("docbook2x-texi") "docbook2texi"))
|
||||
(setenv "PERL_PATH" "perl")
|
||||
(invoke "make" "-C" "Documentation" "info")
|
||||
(invoke "make" "-C" "completion" "stgit.bash")
|
||||
(invoke "make" "-C" "completion" "stg.fish")))
|
||||
(add-after 'install 'install-extras
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(invoke "make" "-C" "Documentation" "install-info"
|
||||
(string-append "prefix=" out))
|
||||
(invoke "make" "-C" "completion" "install"
|
||||
(string-append "prefix=" out)
|
||||
(string-append "bashdir=" out "/etc/bash_completion.d/"))))))))
|
||||
(native-inputs
|
||||
(list pkg-config
|
||||
;; For the documentation
|
||||
asciidoc
|
||||
docbook2x
|
||||
libxslt
|
||||
perl
|
||||
texinfo
|
||||
xmlto))
|
||||
(inputs (list openssl zlib curl))
|
||||
(home-page "https://stacked-git.github.io/")
|
||||
(synopsis "Stacked Git (StGit) manages Git commits as a stack of patches")
|
||||
(description "StGit uses a patch stack workflow. Each individual patch
|
||||
focuses on a single concern, while a stack of patches forms a series of commits.
|
||||
Patches are stored as normal git commits, allowing easy merging of StGit
|
||||
patches into other repositories using standard Git.
|
||||
|
||||
Features include:
|
||||
@itemize
|
||||
@item Import and export patches from Git with @command{stg commit} and
|
||||
@command{stg uncommit}
|
||||
@item Create new patches and add them to the stack with @command{stg new}
|
||||
@item Update a patch from the working tree with @command{stg refresh} and
|
||||
@command{stg edit}
|
||||
@item See information about the stack or patch with @command{stg series} and
|
||||
@command{stg show}
|
||||
@item Export and send a series of patches by email using @command{stg email}
|
||||
@end itemize")
|
||||
(license license:gpl2)))
|
||||
|
||||
(define-public stgit
|
||||
(package
|
||||
(name "stgit")
|
||||
|
|
|
@ -4387,7 +4387,7 @@ practically any type of media.")
|
|||
(define-public libmediainfo
|
||||
(package
|
||||
(name "libmediainfo")
|
||||
(version "23.03")
|
||||
(version "23.11")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://mediaarea.net/download/source/"
|
||||
|
@ -4395,7 +4395,7 @@ practically any type of media.")
|
|||
name "_" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1660lsilm02324c65sxxi41fn225hg78yxqyxff5dyf6fvyzyypm"))))
|
||||
"0gc5brnwagdgaknkpyhkbpwc52q19vf5i3sayifhsg4yqzy58zhr"))))
|
||||
;; TODO add a Big Buck Bunny webm for tests.
|
||||
(native-inputs
|
||||
(list autoconf automake libtool pkg-config))
|
||||
|
@ -4450,7 +4450,7 @@ MPEG-2, MPEG-4, DVD (VOB)...
|
|||
(define-public mediainfo
|
||||
(package
|
||||
(name "mediainfo")
|
||||
(version "23.03")
|
||||
(version "23.11")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
;; Warning: This source has proved unreliable 1 time at least.
|
||||
|
@ -4461,7 +4461,7 @@ MPEG-2, MPEG-4, DVD (VOB)...
|
|||
name "_" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1654pal4x753pcha8h939a70q5z3jzaddgb39cinlrv5fljs8qgh"))))
|
||||
"1hy9m2l94ymhpcrhlqqjpgl24lz33qm239pcdlic3z5zs6qb2740"))))
|
||||
(native-inputs
|
||||
(list autoconf automake libtool pkg-config))
|
||||
(inputs
|
||||
|
@ -5588,12 +5588,9 @@ result in several formats:
|
|||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(invoke "cargo" "cinstall" "--release"
|
||||
(string-append "--prefix=" out)))))
|
||||
(add-after 'install 'delete-static-library
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
;; Delete 93 MiB (!) static library.
|
||||
(delete-file (string-append (assoc-ref outputs "out")
|
||||
"/lib/librav1e.a")))))))
|
||||
;; Only build the dynamic library.
|
||||
"--library-type" "cdylib"
|
||||
(string-append "--prefix=" out))))))))
|
||||
(native-inputs
|
||||
(list nasm pkg-config rust-cargo-c))
|
||||
(inputs
|
||||
|
|
|
@ -838,7 +838,7 @@ this process. It is compatible with Fortinet VPNs.")
|
|||
(define-public openvpn
|
||||
(package
|
||||
(name "openvpn")
|
||||
(version "2.5.8")
|
||||
(version "2.6.7")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
|
@ -846,14 +846,13 @@ this process. It is compatible with Fortinet VPNs.")
|
|||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1cixqm4gn2d1v8qkbww75j30fzvxz13gc7whcmz54i0x4fvibwx6"))))
|
||||
"04wr0g97nmv81javym8r99mglmb86v1i49xmnmzf938x1cs7g67f"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:configure-flags '("--enable-iproute2=yes")))
|
||||
(native-inputs
|
||||
(list iproute))
|
||||
(inputs
|
||||
(list lz4 lzo openssl linux-pam))
|
||||
(native-inputs (list iproute pkg-config))
|
||||
(inputs (append (list lz4 lzo openssl linux-pam)
|
||||
(if (target-linux?) (list libcap-ng) '())))
|
||||
(home-page "https://openvpn.net/")
|
||||
(synopsis "Virtual private network daemon")
|
||||
(description
|
||||
|
|
|
@ -587,7 +587,7 @@ driven and does not detract you from your daily work.")
|
|||
(define-public nyxt
|
||||
(package
|
||||
(name "nyxt")
|
||||
(version "3.9.2")
|
||||
(version "3.10.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -596,13 +596,8 @@ driven and does not detract you from your daily work.")
|
|||
(commit version)))
|
||||
(sha256
|
||||
(base32
|
||||
"1v85jn46d9vacjig6n9z797fch88fw6vzwbfdzlqdkm86vvm8dwn"))
|
||||
(file-name (git-file-name "nyxt" version))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
`(begin
|
||||
(delete-file-recursively "libraries/nasdf")
|
||||
#t))))
|
||||
"1rz2082kk3fdvszqmi3fgndrq205vbxl3i0x4qyli0jy3lpvjin8"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:make-flags (list "nyxt" "NYXT_SUBMODULES=false"
|
||||
|
@ -679,7 +674,6 @@ driven and does not detract you from your daily work.")
|
|||
sbcl-montezuma
|
||||
sbcl-moptilities
|
||||
sbcl-named-readtables
|
||||
sbcl-nasdf
|
||||
sbcl-nclasses
|
||||
sbcl-ndebug
|
||||
sbcl-nfiles
|
||||
|
|
|
@ -8139,7 +8139,7 @@ compressed JSON header blocks.
|
|||
(define-public hpcguix-web
|
||||
(package
|
||||
(name "hpcguix-web")
|
||||
(version "0.3.0")
|
||||
(version "0.4.0")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -8148,7 +8148,7 @@ compressed JSON header blocks.
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1g1sd5d6fhrblqk3rc8hzkk1sxyiilbb45kdgbrfg7ccd1sbic30"))))
|
||||
"19l9gvp2ngn7lc3jynrc16f3il2bgkhq1m8zfaqwxk9vwxiivwrn"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:modules ((guix build gnu-build-system)
|
||||
|
|
|
@ -1035,7 +1035,7 @@ local and remote file systems and manage bookmarks of such.")
|
|||
(define-public parole
|
||||
(package
|
||||
(name "parole")
|
||||
(version "4.18.0")
|
||||
(version "4.18.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://archive.xfce.org/src/apps/"
|
||||
|
@ -1043,7 +1043,7 @@ local and remote file systems and manage bookmarks of such.")
|
|||
name "-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"0w9p9zf87pnpl44bay8srrsczscxpmbsriwzqzv31gis9ny2zrdv"))))
|
||||
"0rjsqm582c8i3lyi1n2ghp638cr0chw358i05g7njbw1hjj68wqc"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
|
|
|
@ -1498,7 +1498,11 @@ treat it as part of their software base when porting.")
|
|||
"1zi0r6mqa1g0hhsp02cdsjcxmsbipiv0v65c1h4pl84fydcjikbm"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:configure-flags '("--disable-static")))
|
||||
`(#:configure-flags '("--disable-static"
|
||||
;; This fixes cross compiling.
|
||||
,@(if (%current-target-system)
|
||||
'("--enable-malloc0returnsnull=yes")
|
||||
'()))))
|
||||
(propagated-inputs
|
||||
(list libx11 libxext xorgproto))
|
||||
(native-inputs
|
||||
|
@ -5013,7 +5017,7 @@ by the Xorg server.")
|
|||
(define-public xorg-server
|
||||
(package
|
||||
(name "xorg-server")
|
||||
(version "21.1.9")
|
||||
(version "21.1.10")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -5021,7 +5025,7 @@ by the Xorg server.")
|
|||
"/xserver/xorg-server-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0fjk9ggcrn96blq0bm80739yj23s3gjjjsc0nxk4jk0v07i7nsgz"))
|
||||
"1l0iaq83vbl9jr34sa7v7630c5bnp64drlw8yg6c6yn5xyib7c6f"))
|
||||
(patches
|
||||
(list
|
||||
;; See:
|
||||
|
|
|
@ -1767,7 +1767,13 @@ archive' public keys, with GUIX."
|
|||
(mkdir-p (dirname machines-file)))
|
||||
|
||||
;; Installed the declared machines file.
|
||||
(symlink #+(scheme-file "machines.scm" machines)
|
||||
(symlink #+(scheme-file "machines.scm"
|
||||
#~((@ (srfi srfi-1) append-map)
|
||||
(lambda (entry)
|
||||
(if (build-machine? entry)
|
||||
(list entry)
|
||||
entry))
|
||||
#$machines))
|
||||
machines-file))))
|
||||
|
||||
(define-record-type* <guix-configuration>
|
||||
|
|
|
@ -374,7 +374,7 @@ documentation for semantics."))
|
|||
(network
|
||||
(oci-container-configuration-network config))
|
||||
(user
|
||||
(oci-container-configuration-user config))
|
||||
(oci-container-configuration-container-user config))
|
||||
(workdir
|
||||
(oci-container-configuration-workdir config)))
|
||||
(apply append
|
||||
|
|
|
@ -5,6 +5,8 @@
|
|||
;;; Copyright © 2017, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2019 Kristofer Buffington <kristoferbuffington@gmail.com>
|
||||
;;; Copyright © 2020 Jonathan Brielmaier <jonathan.brielmaier@web.de>
|
||||
;;; Copyright © 2023 Thomas Ieong <th.ieong@free.fr>
|
||||
;;; Copyright © 2023 Saku Laesvuori <saku@laesvuori.fi>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -80,7 +82,13 @@
|
|||
radicale-configuration
|
||||
radicale-configuration?
|
||||
radicale-service-type
|
||||
%default-radicale-config-file))
|
||||
%default-radicale-config-file
|
||||
|
||||
rspamd-configuration
|
||||
rspamd-service-type
|
||||
%default-rspamd-account
|
||||
%default-rspamd-config-file
|
||||
%default-rspamd-group))
|
||||
|
||||
;;; Commentary:
|
||||
;;;
|
||||
|
@ -1987,3 +1995,193 @@ hosts = localhost:5232"))
|
|||
(service-extension account-service-type (const %radicale-accounts))
|
||||
(service-extension activation-service-type radicale-activation)))
|
||||
(default-value (radicale-configuration))))
|
||||
|
||||
;;;
|
||||
;;; Rspamd.
|
||||
;;;
|
||||
|
||||
(define (directory-tree? xs)
|
||||
(match xs
|
||||
((((? string?) (? file-like?)) ...) #t)
|
||||
(_ #f)))
|
||||
|
||||
(define-configuration/no-serialization rspamd-configuration
|
||||
(package
|
||||
(file-like rspamd)
|
||||
"The package that provides rspamd.")
|
||||
(config-file
|
||||
(file-like %default-rspamd-config-file)
|
||||
"File-like object of the configuration file to use. By default
|
||||
all workers are enabled except fuzzy and they are binded
|
||||
to their usual ports, e.g localhost:11334, localhost:11333 and so on")
|
||||
(local.d-files
|
||||
(directory-tree '())
|
||||
"Configuration files in local.d, provided as a list of two element lists where
|
||||
the first element is the filename and the second one is a file-like object. Settings
|
||||
in these files will be merged with the defaults.")
|
||||
(override.d-files
|
||||
(directory-tree '())
|
||||
"Configuration files in override.d, provided as a list of two element lists where
|
||||
the first element is the filename and the second one is a file-like object. Settings
|
||||
in these files will override the defaults.")
|
||||
(user
|
||||
(user-account %default-rspamd-account)
|
||||
"The user to run rspamd as.")
|
||||
(group
|
||||
(user-group %default-rspamd-group)
|
||||
"The group to run rspamd as.")
|
||||
(debug?
|
||||
(boolean #f)
|
||||
"Force debug output.")
|
||||
(insecure?
|
||||
(boolean #f)
|
||||
"Ignore running workers as privileged users.")
|
||||
(skip-template?
|
||||
(boolean #f)
|
||||
"Do not apply Jinja templates.")
|
||||
(shepherd-requirements
|
||||
(list-of-symbols '(loopback))
|
||||
"This is a list of symbols naming Shepherd services that this service
|
||||
will depend on."))
|
||||
|
||||
(define %default-rspamd-account
|
||||
(user-account
|
||||
(name "rspamd")
|
||||
(group "rspamd")
|
||||
(system? #t)
|
||||
(comment "Rspamd daemon")
|
||||
(home-directory "/var/empty")
|
||||
(shell (file-append shadow "/sbin/nologin"))))
|
||||
|
||||
(define %default-rspamd-group
|
||||
(user-group
|
||||
(name "rspamd")
|
||||
(system? #t)))
|
||||
|
||||
(define %default-rspamd-config-file
|
||||
(plain-file "rspamd.conf" "
|
||||
.include \"$CONFDIR/common.conf\"
|
||||
|
||||
options {
|
||||
pidfile = \"$RUNDIR/rspamd.pid\";
|
||||
.include \"$CONFDIR/options.inc\"
|
||||
.include(try=true; priority=1,duplicate=merge) \"$LOCAL_CONFDIR/local.d/options.inc\"
|
||||
.include(try=true; priority=10) \"$LOCAL_CONFDIR/override.d/options.inc\"
|
||||
}
|
||||
|
||||
logging {
|
||||
type = \"file\";
|
||||
filename = \"$LOGDIR/rspamd.log\";
|
||||
.include \"$CONFDIR/logging.inc\"
|
||||
.include(try=true; priority=1,duplicate=merge) \"$LOCAL_CONFDIR/local.d/logging.inc\"
|
||||
.include(try=true; priority=10) \"$LOCAL_CONFDIR/override.d/logging.inc\"
|
||||
}
|
||||
|
||||
worker \"normal\" {
|
||||
bind_socket = \"localhost:11333\";
|
||||
.include \"$CONFDIR/worker-normal.inc\"
|
||||
.include(try=true; priority=1,duplicate=merge) \"$LOCAL_CONFDIR/local.d/worker-normal.inc\"
|
||||
.include(try=true; priority=10) \"$LOCAL_CONFDIR/override.d/worker-normal.inc\"
|
||||
}
|
||||
|
||||
worker \"controller\" {
|
||||
bind_socket = \"localhost:11334\";
|
||||
.include \"$CONFDIR/worker-controller.inc\"
|
||||
.include(try=true; priority=1,duplicate=merge) \"$LOCAL_CONFDIR/local.d/worker-controller.inc\"
|
||||
.include(try=true; priority=10) \"$LOCAL_CONFDIR/override.d/worker-controller.inc\"
|
||||
}
|
||||
|
||||
worker \"rspamd_proxy\" {
|
||||
bind_socket = \"localhost:11332\";
|
||||
.include \"$CONFDIR/worker-proxy.inc\"
|
||||
.include(try=true; priority=1,duplicate=merge) \"$LOCAL_CONFDIR/local.d/worker-proxy.inc\"
|
||||
.include(try=true; priority=10) \"$LOCAL_CONFDIR/override.d/worker-proxy.inc\"
|
||||
}
|
||||
|
||||
# Local fuzzy storage is disabled by default
|
||||
|
||||
worker \"fuzzy\" {
|
||||
bind_socket = \"localhost:11335\";
|
||||
count = -1; # Disable by default
|
||||
.include \"$CONFDIR/worker-fuzzy.inc\"
|
||||
.include(try=true; priority=1,duplicate=merge) \"$LOCAL_CONFDIR/local.d/worker-fuzzy.inc\"
|
||||
.include(try=true; priority=10) \"$LOCAL_CONFDIR/override.d/worker-fuzzy.inc\"
|
||||
}
|
||||
"))
|
||||
|
||||
(define (rspamd-accounts config)
|
||||
(match-record config <rspamd-configuration>
|
||||
(user group)
|
||||
(list group user)))
|
||||
|
||||
(define (rspamd-shepherd-service config)
|
||||
(match-record config <rspamd-configuration>
|
||||
(package config-file user group debug? insecure? skip-template?
|
||||
local.d-files override.d-files shepherd-requirements)
|
||||
(list
|
||||
(shepherd-service
|
||||
(provision '(rspamd))
|
||||
(documentation "Run the rspamd daemon.")
|
||||
(requirement shepherd-requirements)
|
||||
(start (let ((rspamd (file-append package "/bin/rspamd"))
|
||||
(local-confdir
|
||||
(file-union
|
||||
"rspamd-local-confdir"
|
||||
`(("local.d" ,(file-union "local.d" local.d-files))
|
||||
("override.d" ,(file-union "override.d" override.d-files))))))
|
||||
(with-imported-modules (source-module-closure '((gnu build activation)))
|
||||
#~(begin
|
||||
(use-modules (gnu build activation)) ; for mkdir-p/perms
|
||||
(let ((user (getpwnam #$(user-account-name user))))
|
||||
(mkdir-p/perms "/var/run/rspamd" user #o755)
|
||||
(mkdir-p/perms "/var/log/rspamd" user #o755)
|
||||
(mkdir-p/perms "/var/lib/rspamd" user #o755))
|
||||
(make-forkexec-constructor
|
||||
(list #$rspamd "--config" #$config-file
|
||||
"--var" (string-append "LOCAL_CONFDIR=" #$local-confdir)
|
||||
"--no-fork"
|
||||
#$@(if debug?
|
||||
'("--debug")
|
||||
'())
|
||||
#$@(if insecure?
|
||||
'("--insecure")
|
||||
'())
|
||||
#$@(if skip-template?
|
||||
'("--skip-template")
|
||||
'()))
|
||||
#:user #$(user-account-name user)
|
||||
#:group #$(user-group-name group))))))
|
||||
(stop #~(make-kill-destructor))
|
||||
(actions
|
||||
(list
|
||||
(shepherd-configuration-action config-file)
|
||||
(shepherd-action
|
||||
(name 'reload)
|
||||
(documentation "Reload rspamd.")
|
||||
(procedure
|
||||
#~(lambda (pid)
|
||||
(if pid
|
||||
(begin
|
||||
(kill pid SIGHUP)
|
||||
(display "Service rspamd has been reloaded"))
|
||||
(format #t "Service rspamd is not running.")))))
|
||||
(shepherd-action
|
||||
(name 'reopen)
|
||||
(documentation "Reopen log files.")
|
||||
(procedure
|
||||
#~(lambda (pid)
|
||||
(if pid
|
||||
(begin
|
||||
(kill pid SIGUSR1)
|
||||
(display "Reopening the logs for rspamd"))
|
||||
(format #t "Service rspamd is not running.")))))))))))
|
||||
|
||||
(define rspamd-service-type
|
||||
(service-type
|
||||
(name 'rspamd)
|
||||
(description "Run the rapid spam filtering system.")
|
||||
(extensions
|
||||
(list
|
||||
(service-extension shepherd-root-service-type rspamd-shepherd-service)
|
||||
(service-extension account-service-type rspamd-accounts)))
|
||||
(default-value (rspamd-configuration))))
|
||||
|
|
|
@ -1229,8 +1229,9 @@ a webserver.")
|
|||
(frequency 'weekly))))
|
||||
|
||||
(define (hpcguix-web-shepherd-service config)
|
||||
(let ((specs (hpcguix-web-configuration-specs config))
|
||||
(hpcguix-web (hpcguix-web-package config)))
|
||||
(let* ((specs (hpcguix-web-configuration-specs config))
|
||||
(config-file (and specs (scheme-file "hpcguix-web.scm" specs)))
|
||||
(hpcguix-web (hpcguix-web-package config)))
|
||||
(with-imported-modules (source-module-closure
|
||||
'((gnu build shepherd)))
|
||||
(shepherd-service
|
||||
|
@ -1246,9 +1247,7 @@ a webserver.")
|
|||
#$(number->string
|
||||
(hpcguix-web-configuration-port config))
|
||||
#$@(if specs
|
||||
#~((string-append "--config="
|
||||
#$(scheme-file
|
||||
"hpcguix-web.scm" specs)))
|
||||
#~((string-append "--config=" #$config-file))
|
||||
#~()))
|
||||
#:user "hpcguix-web"
|
||||
#:group "hpcguix-web"
|
||||
|
@ -1256,7 +1255,8 @@ a webserver.")
|
|||
(list "XDG_CACHE_HOME=/var/cache/guix/web"
|
||||
"SSL_CERT_DIR=/etc/ssl/certs")
|
||||
#:log-file #$%hpcguix-web-log-file))
|
||||
(stop #~(make-kill-destructor))))))
|
||||
(stop #~(make-kill-destructor))
|
||||
(actions (list (shepherd-configuration-action config-file)))))))
|
||||
|
||||
(define hpcguix-web-service-type
|
||||
(service-type
|
||||
|
|
|
@ -369,7 +369,7 @@ TARGET in the other system."
|
|||
;; List of know pseudo file system types. This is used when validating file
|
||||
;; system definitions.
|
||||
'("binfmt_misc" "cgroup" "cgroup2" "debugfs" "devpts" "devtmpfs" "efivarfs" "fusectl"
|
||||
"hugetlbfs" "overlay" "proc" "securityfs" "sysfs" "tmpfs" "xenfs"))
|
||||
"hugetlbfs" "overlay" "proc" "securityfs" "sysfs" "tmpfs" "tracefs" "xenfs"))
|
||||
|
||||
(define %fuse-control-file-system
|
||||
;; Control file system for Linux' file systems in user-space (FUSE).
|
||||
|
|
|
@ -6,6 +6,7 @@
|
|||
;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org>
|
||||
;;; Copyright © 2019 Christopher Baines <mail@cbaines.net>
|
||||
;;; Copyright © 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2023 Thomas Ieong <th.ieong@free.fr>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -40,7 +41,8 @@
|
|||
#:export (%test-opensmtpd
|
||||
%test-exim
|
||||
%test-dovecot
|
||||
%test-getmail))
|
||||
%test-getmail
|
||||
%test-rspamd))
|
||||
|
||||
(define %opensmtpd-os
|
||||
(simple-operating-system
|
||||
|
@ -579,3 +581,66 @@ Subject: Hello Nice to meet you!")
|
|||
(name "getmail")
|
||||
(description "Connect to a running Getmail server.")
|
||||
(value (run-getmail-test))))
|
||||
|
||||
(define %rspamd-os
|
||||
(simple-operating-system
|
||||
(service rspamd-service-type)))
|
||||
|
||||
(define (run-rspamd-test)
|
||||
"Return a test of an OS running Rspamd service."
|
||||
|
||||
(define vm
|
||||
(virtual-machine
|
||||
(marionette-operating-system
|
||||
%rspamd-os
|
||||
#:imported-modules '((gnu services herd)))))
|
||||
|
||||
(define test
|
||||
(with-imported-modules '((gnu build marionette))
|
||||
#~(begin
|
||||
(use-modules (srfi srfi-64)
|
||||
(gnu build marionette))
|
||||
|
||||
(define marionette
|
||||
(make-marionette '(#$vm)))
|
||||
|
||||
(test-runner-current (system-test-runner #$output))
|
||||
(test-begin "rspamd")
|
||||
|
||||
(test-assert "service is running"
|
||||
(marionette-eval
|
||||
'(begin
|
||||
(use-modules (gnu services herd))
|
||||
(start-service 'rspamd))
|
||||
marionette))
|
||||
|
||||
(test-assert "rspamd socket ready"
|
||||
(wait-for-unix-socket
|
||||
"/var/lib/rspamd/rspamd.sock"
|
||||
marionette))
|
||||
|
||||
(test-assert "rspamd log file"
|
||||
(wait-for-file "/var/log/rspamd/rspamd.log" marionette))
|
||||
|
||||
;; Check that we can access the web ui
|
||||
|
||||
(test-equal "http-get"
|
||||
200
|
||||
(marionette-eval
|
||||
'(begin
|
||||
(use-modules (web client)
|
||||
(web response))
|
||||
;; HEAD returns 500 internal server error, so use GET even though
|
||||
;; only the headers are relevant
|
||||
(response-code (http-get "http://localhost:11334")))
|
||||
marionette))
|
||||
|
||||
(test-end))))
|
||||
|
||||
(gexp->derivation "rspamd-test" test))
|
||||
|
||||
(define %test-rspamd
|
||||
(system-test
|
||||
(name "rspamd")
|
||||
(description "Basic rspamd service test.")
|
||||
(value (run-rspamd-test))))
|
||||
|
|
|
@ -298,10 +298,10 @@
|
|||
(ice-9 match))
|
||||
|
||||
(define marionette
|
||||
;; Emulate the host CPU so that KVM is available inside as well
|
||||
;; ("nested KVM"), provided
|
||||
;; Emulate as much as the host CPU supports so that, possibly, KVM
|
||||
;; is available inside as well ("nested KVM"), provided
|
||||
;; /sys/module/kvm_intel/parameters/nested (or similar) allows it.
|
||||
(make-marionette (list #$vm "-cpu" "host")))
|
||||
(make-marionette (list #$vm "-cpu" "max")))
|
||||
|
||||
(test-runner-current (system-test-runner #$output))
|
||||
(test-begin "childhurd")
|
||||
|
|
|
@ -55,12 +55,18 @@
|
|||
to NAME and VERSION."
|
||||
(string-append crate-url name "/" version "/download"))
|
||||
|
||||
(define (default-rust)
|
||||
(define (default-rust target)
|
||||
"Return the default Rust package."
|
||||
;; Lazily resolve the binding to avoid a circular dependency.
|
||||
(let ((rust (resolve-interface '(gnu packages rust))))
|
||||
(module-ref rust 'rust)))
|
||||
|
||||
(define (default-rust-sysroot target)
|
||||
"Return the default Rust sysroot for <target>."
|
||||
;; Lazily resolve the binding to avoid a circular dependency.
|
||||
(let ((module (resolve-interface '(gnu packages rust))))
|
||||
(module-ref module 'make-rust-sysroot)))
|
||||
|
||||
(define %cargo-utils-modules
|
||||
;; Build-side modules imported by default.
|
||||
`((guix build cargo-utils)
|
||||
|
@ -126,6 +132,69 @@ to NAME and VERSION."
|
|||
#:graft? #f
|
||||
#:guile-for-build guile))
|
||||
|
||||
(define* (cargo-cross-build name
|
||||
#:key
|
||||
source target
|
||||
build-inputs target-inputs host-inputs
|
||||
(tests? #f)
|
||||
(test-target #f)
|
||||
(vendor-dir "guix-vendor")
|
||||
(cargo-build-flags ''("--release"))
|
||||
(cargo-test-flags ''("--release"))
|
||||
(cargo-package-flags ''("--no-metadata" "--no-verify"))
|
||||
(features ''())
|
||||
(skip-build? #f)
|
||||
(install-source? (not (target-mingw? target)))
|
||||
(phases '%standard-phases)
|
||||
(outputs '("out"))
|
||||
(search-paths '())
|
||||
(native-search-paths '())
|
||||
(system (%current-system))
|
||||
(guile #f)
|
||||
(imported-modules %cargo-build-system-modules)
|
||||
(modules '((guix build cargo-build-system)
|
||||
(guix build utils))))
|
||||
"Cross-build SOURCE using CARGO, and with INPUTS."
|
||||
|
||||
(define builder
|
||||
(with-imported-modules imported-modules
|
||||
#~(begin
|
||||
(use-modules #$@(sexp->gexp modules))
|
||||
|
||||
(cargo-build #:name #$name
|
||||
#:source #+source
|
||||
#:target #+target
|
||||
#:system #$system
|
||||
#:test-target #$test-target
|
||||
#:vendor-dir #$vendor-dir
|
||||
#:cargo-build-flags #$(sexp->gexp cargo-build-flags)
|
||||
#:cargo-test-flags #$(sexp->gexp cargo-test-flags)
|
||||
#:cargo-package-flags #$(sexp->gexp cargo-package-flags)
|
||||
#:features #$(sexp->gexp features)
|
||||
#:skip-build? #$skip-build?
|
||||
#:install-source? #$install-source?
|
||||
#:tests? #$(and tests? (not skip-build?))
|
||||
#:phases #$(if (pair? phases)
|
||||
(sexp->gexp phases)
|
||||
phases)
|
||||
#:outputs #$(outputs->gexp outputs)
|
||||
#:inputs (append #$(input-tuples->gexp host-inputs)
|
||||
#+(input-tuples->gexp target-inputs))
|
||||
#:native-inputs #+(input-tuples->gexp build-inputs)
|
||||
#:make-dynamic-linker-cache? #f ;cross-compiling
|
||||
#:search-paths '#$(sexp->gexp
|
||||
(map search-path-specification->sexp
|
||||
search-paths))
|
||||
#:native-search-paths '#$(sexp->gexp
|
||||
(map search-path-specification->sexp
|
||||
native-search-paths))))))
|
||||
|
||||
(gexp->derivation name builder
|
||||
#:system system
|
||||
#:target target
|
||||
#:graft? #f
|
||||
#:guile-for-build guile))
|
||||
|
||||
(define (package-cargo-inputs p)
|
||||
(apply
|
||||
(lambda* (#:key (cargo-inputs '()) #:allow-other-keys)
|
||||
|
@ -235,7 +304,8 @@ any dependent crates. This can be a benefits:
|
|||
|
||||
(define* (lower name
|
||||
#:key source inputs native-inputs outputs system target
|
||||
(rust (default-rust))
|
||||
(rust (default-rust target))
|
||||
(rust-sysroot (default-rust-sysroot target))
|
||||
(cargo-inputs '())
|
||||
(cargo-development-inputs '())
|
||||
#:allow-other-keys
|
||||
|
@ -243,28 +313,49 @@ any dependent crates. This can be a benefits:
|
|||
"Return a bag for NAME."
|
||||
|
||||
(define private-keywords
|
||||
'(#:target #:rust #:inputs #:native-inputs #:outputs
|
||||
#:cargo-inputs #:cargo-development-inputs))
|
||||
`(#:rust #:inputs #:native-inputs #:outputs
|
||||
#:cargo-inputs #:cargo-development-inputs
|
||||
#:rust-sysroot
|
||||
,@(if target '() '(#:target))))
|
||||
|
||||
(and (not target) ;; TODO: support cross-compilation
|
||||
(bag
|
||||
(name name)
|
||||
(system system)
|
||||
(target target)
|
||||
(host-inputs `(,@(if source
|
||||
`(("source" ,source))
|
||||
'())
|
||||
,@inputs
|
||||
(bag
|
||||
(name name)
|
||||
(system system)
|
||||
(target target)
|
||||
(host-inputs `(,@(if source
|
||||
`(("source" ,source))
|
||||
'())
|
||||
|
||||
;; Keep the standard inputs of 'gnu-build-system'
|
||||
,@(standard-packages)))
|
||||
(build-inputs `(("cargo" ,rust "cargo")
|
||||
("rustc" ,rust)
|
||||
,@(expand-crate-sources cargo-inputs cargo-development-inputs)
|
||||
,@native-inputs))
|
||||
(outputs outputs)
|
||||
(build cargo-build)
|
||||
(arguments (strip-keyword-arguments private-keywords arguments)))))
|
||||
;,@(if target '() inputs)
|
||||
,@(if target inputs '())
|
||||
|
||||
,@(expand-crate-sources cargo-inputs cargo-development-inputs)))
|
||||
(build-inputs `(("cargo" ,rust "cargo")
|
||||
("rustc" ,rust)
|
||||
|
||||
,@native-inputs
|
||||
;,@(if target inputs '())
|
||||
,@(if target '() inputs)
|
||||
;,@inputs
|
||||
|
||||
,@(if target
|
||||
;; Use the standard cross inputs of
|
||||
;; 'gnu-build-system'.
|
||||
(standard-cross-packages target 'host)
|
||||
'())
|
||||
;; Keep the standard inputs of 'gnu-build-system'
|
||||
,@(standard-packages)))
|
||||
(target-inputs `(,@(if target
|
||||
(standard-cross-packages target 'target)
|
||||
'())
|
||||
|
||||
;; This provides a separate sysroot for the regular rustc
|
||||
,@(if target
|
||||
`(("rust-sysroot" ,(rust-sysroot target)))
|
||||
'())))
|
||||
(outputs outputs)
|
||||
(build (if target cargo-cross-build cargo-build))
|
||||
(arguments (strip-keyword-arguments private-keywords arguments))))
|
||||
|
||||
(define cargo-build-system
|
||||
(build-system
|
||||
|
|
|
@ -460,10 +460,13 @@ is one of `host' or `target'."
|
|||
`(("cross-gcc" ,(gcc target
|
||||
#:xbinutils (binutils target)
|
||||
#:libc libc))
|
||||
("cross-libc" ,libc)
|
||||
;; Some targets don't have a libc. (e.g. *-elf targets).
|
||||
,@(if libc
|
||||
`(("cross-libc" ,libc))
|
||||
'())
|
||||
|
||||
;; MinGW's libc doesn't have a "static" output.
|
||||
,@(if (member "static" (package-outputs libc))
|
||||
,@(if (and libc (member "static" (package-outputs libc)))
|
||||
`(("cross-libc:static" ,libc "static"))
|
||||
'()))))))))
|
||||
|
||||
|
|
|
@ -49,11 +49,13 @@ for TRIPLET."
|
|||
`((system . ,(cond ((target-hurd? triplet) "gnu")
|
||||
((target-linux? triplet) "linux")
|
||||
((target-mingw? triplet) "windows")
|
||||
((target-avr? triplet) "none")
|
||||
(#t (error "meson: unknown operating system"))))
|
||||
(cpu_family . ,(cond ((target-x86-32? triplet) "x86")
|
||||
((target-x86-64? triplet) "x86_64")
|
||||
((target-arm32? triplet) "arm")
|
||||
((target-aarch64? triplet) "aarch64")
|
||||
((target-avr? triplet) "avr")
|
||||
((target-mips64el? triplet) "mips64")
|
||||
((target-powerpc? triplet)
|
||||
(if (target-64bit? triplet)
|
||||
|
@ -66,6 +68,7 @@ for TRIPLET."
|
|||
((target-x86-64? triplet) "x86_64")
|
||||
((target-aarch64? triplet) "armv8-a")
|
||||
((target-arm32? triplet) "armv7")
|
||||
((target-avr? triplet) "avr")
|
||||
;; According to #mesonbuild on OFTC, there does not appear
|
||||
;; to be an official-ish list of CPU types recognised by
|
||||
;; Meson, the "cpu" field is not used by Meson itself and
|
||||
|
@ -89,6 +92,13 @@ TRIPLET."
|
|||
(ld . ,(string-append triplet "-ld"))
|
||||
(strip . ,(string-append triplet "-strip"))))
|
||||
|
||||
(define (make-built-in-options-alist triplet)
|
||||
(if (target-avr? triplet)
|
||||
`((b_pie . #f)
|
||||
(b_staticpic . #f)
|
||||
(default_library . "static"))
|
||||
'()))
|
||||
|
||||
(define (make-cross-file triplet)
|
||||
(computed-file "cross-file"
|
||||
(with-imported-modules '((guix build meson-configuration))
|
||||
|
@ -99,7 +109,9 @@ TRIPLET."
|
|||
(write-section-header port "host_machine")
|
||||
(write-assignments port '#$(make-machine-alist triplet))
|
||||
(write-section-header port "binaries")
|
||||
(write-assignments port '#$(make-binaries-alist triplet))))))))
|
||||
(write-assignments port '#$(make-binaries-alist triplet))
|
||||
(write-section-header port "built-in options")
|
||||
(write-assignments port '#$(make-built-in-options-alist triplet))))))))
|
||||
|
||||
(define %meson-build-system-modules
|
||||
;; Build-side modules imported by default.
|
||||
|
|
|
@ -0,0 +1,186 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2023 Pierre-Henry Fröhring <contact@phfrohring.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
;;; GNU Guix is free software; you can redistribute it and/or modify it
|
||||
;;; under the terms of the GNU General Public License as published by
|
||||
;;; the Free Software Foundation; either version 3 of the License, or (at
|
||||
;;; your option) any later version.
|
||||
;;;
|
||||
;;; GNU Guix is distributed in the hope that it will be useful, but
|
||||
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
;;; GNU General Public License for more details.
|
||||
;;;
|
||||
;;; You should have received a copy of the GNU General Public License
|
||||
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
;; Commentary:
|
||||
;;
|
||||
;; Standard build procedure for Elixir packages using 'mix'. This is
|
||||
;; implemented as an extension of 'gnu-build-system'.
|
||||
;;
|
||||
;; Code:
|
||||
|
||||
(define-module (guix build-system mix)
|
||||
#:use-module (guix build mix-build-system)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix monads)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix search-paths)
|
||||
#:use-module (guix store)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (ice-9 match)
|
||||
#:use-module (srfi srfi-1)
|
||||
#:use-module (srfi srfi-26)
|
||||
#:export (mix-build-system hexpm-uri))
|
||||
|
||||
;; Lazily resolve bindings to avoid circular dependencies.
|
||||
(define (default-glibc-utf8-locales)
|
||||
(let* ((base (resolve-interface '(gnu packages base))))
|
||||
(module-ref base 'glibc-utf8-locales)))
|
||||
|
||||
(define (default-elixir-hex)
|
||||
(let ((elixir (resolve-interface '(gnu packages elixir))))
|
||||
(module-ref elixir 'elixir-hex)))
|
||||
|
||||
(define (default-rebar3)
|
||||
(let ((erlang (resolve-interface '(gnu packages erlang))))
|
||||
(module-ref erlang 'rebar3)))
|
||||
|
||||
(define (default-elixir)
|
||||
(let ((elixir (resolve-interface '(gnu packages elixir))))
|
||||
(module-ref elixir 'elixir)))
|
||||
|
||||
(define* (strip-prefix name #:optional (prefix "elixir-"))
|
||||
"Return NAME without the prefix PREFIX."
|
||||
(if (string-prefix? prefix name)
|
||||
(string-drop name (string-length prefix))
|
||||
name))
|
||||
|
||||
(define (hexpm-uri name version)
|
||||
"Return the URI where to fetch the sources of a Hex package NAME at VERSION.
|
||||
NAME is the name of the package which should look like: elixir-pkg-name-X.Y.Z
|
||||
See: https://github.com/hexpm/specifications/blob/main/endpoints.md"
|
||||
((compose
|
||||
(cute string-append "https://repo.hex.pm/tarballs/" <> "-" version ".tar")
|
||||
(cute string-replace-substring <> "-" "_")
|
||||
strip-prefix)
|
||||
name))
|
||||
|
||||
;; A number of environment variables specific to the Mix build system are
|
||||
;; reflected here. They are documented at
|
||||
;; https://hexdocs.pm/mix/1.15.7/Mix.html#module-environment-variables. Other
|
||||
;; parameters located in mix.exs are defined at
|
||||
;; https://hexdocs.pm/mix/1.15.7/Mix.Project.html#module-configuration
|
||||
(define* (mix-build name
|
||||
inputs
|
||||
#:key
|
||||
source
|
||||
(tests? #t)
|
||||
(mix-path #f) ;See MIX_PATH.
|
||||
(mix-exs "mix.exs") ;See MIX_EXS.
|
||||
(build-per-environment #t) ;See :build_per_environment.
|
||||
(phases '%standard-phases)
|
||||
(outputs '("out"))
|
||||
(search-paths '())
|
||||
(system (%current-system))
|
||||
(guile #f)
|
||||
(imported-modules `((guix build mix-build-system)
|
||||
,@%gnu-build-system-modules))
|
||||
(modules '((guix build mix-build-system)
|
||||
(guix build utils))))
|
||||
"Build SOURCE using Elixir, and with INPUTS."
|
||||
|
||||
;; Check the documentation of :build_per_environment here:
|
||||
;; https://hexdocs.pm/mix/1.15.7/Mix.Project.html#module-configuration And
|
||||
;; "Environments" here:
|
||||
;; https://hexdocs.pm/mix/1.15.7/Mix.html#module-environments
|
||||
(define mix-environments
|
||||
(if build-per-environment
|
||||
`("prod" ,@(if tests? '("test") '()))
|
||||
'("shared")))
|
||||
|
||||
(define builder
|
||||
(with-imported-modules imported-modules
|
||||
#~(begin
|
||||
|
||||
(use-modules #$@(sexp->gexp modules))
|
||||
|
||||
#$(with-build-variables inputs outputs
|
||||
#~(mix-build #:name #$name
|
||||
#:source #+source
|
||||
#:system #$system
|
||||
#:tests? #$tests?
|
||||
#:mix-path #$mix-path
|
||||
#:mix-exs #$mix-exs
|
||||
#:mix-environments '#$mix-environments
|
||||
#:build-per-environment #$build-per-environment
|
||||
#:phases #$(if (pair? phases)
|
||||
(sexp->gexp phases)
|
||||
phases)
|
||||
#:outputs %outputs
|
||||
#:search-paths '#$(sexp->gexp
|
||||
(map
|
||||
search-path-specification->sexp
|
||||
search-paths))
|
||||
#:inputs
|
||||
%build-inputs)))))
|
||||
|
||||
(mlet %store-monad ((guile (package->derivation (or guile (default-guile))
|
||||
system
|
||||
#:graft? #f)))
|
||||
(gexp->derivation name
|
||||
builder
|
||||
#:system system
|
||||
#:graft? #f ;consistent with 'gnu-build'
|
||||
#:target #f
|
||||
#:guile-for-build guile)))
|
||||
|
||||
(define* (lower name
|
||||
#:key
|
||||
(elixir (default-elixir))
|
||||
(elixir-hex (default-elixir-hex))
|
||||
(glibc-utf8-locales (default-glibc-utf8-locales))
|
||||
(inputs '())
|
||||
(native-inputs '())
|
||||
(propagated-inputs '())
|
||||
(rebar3 (default-rebar3))
|
||||
(tests? #t)
|
||||
outputs
|
||||
source
|
||||
system
|
||||
target
|
||||
#:allow-other-keys #:rest arguments)
|
||||
"Return a bag for NAME."
|
||||
(let ((private-keywords
|
||||
'(#:inputs #:native-inputs
|
||||
#:outputs #:system #:target
|
||||
#:elixir #:elixir-hex #:glibc-utf8-locales
|
||||
#:rebar3 #:erlang))
|
||||
(build-inputs
|
||||
`(,@(standard-packages)
|
||||
("glibc-utf8-locales" ,glibc-utf8-locales)
|
||||
("erlang" ,(lookup-package-input elixir "erlang"))
|
||||
("rebar3" ,rebar3)
|
||||
("elixir" ,elixir)
|
||||
("elixir-hex" ,elixir-hex)
|
||||
,@inputs
|
||||
,@native-inputs)))
|
||||
(bag (name name)
|
||||
(system system)
|
||||
(build-inputs build-inputs)
|
||||
(host-inputs (if target inputs '()))
|
||||
(outputs outputs)
|
||||
(build mix-build)
|
||||
(arguments (strip-keyword-arguments private-keywords arguments)))))
|
||||
|
||||
(define mix-build-system
|
||||
(build-system (name 'mix)
|
||||
(description "The standard Mix build system")
|
||||
(lower lower)))
|
||||
|
||||
;;; mix.scm ends here
|
|
@ -39,7 +39,6 @@
|
|||
(define %zig-build-system-modules
|
||||
;; Build-side modules imported by default.
|
||||
`((guix build zig-build-system)
|
||||
(guix build syscalls)
|
||||
,@%gnu-build-system-modules))
|
||||
|
||||
(define* (zig-build name inputs
|
||||
|
|
|
@ -119,6 +119,7 @@ libraries or executables."
|
|||
(error "Possible pre-generated files found:" pregenerated-files))))
|
||||
|
||||
(define* (configure #:key inputs
|
||||
target
|
||||
(vendor-dir "guix-vendor")
|
||||
#:allow-other-keys)
|
||||
"Vendor Cargo.toml dependencies as guix inputs."
|
||||
|
@ -146,27 +147,75 @@ libraries or executables."
|
|||
(invoke "tar" "xf" path "-C" crate-dir "--strip-components" "1")))))
|
||||
inputs)
|
||||
|
||||
;; Configure cargo to actually use this new directory.
|
||||
;; For cross-building
|
||||
(when target
|
||||
(setenv "CARGO_BUILD_TARGET"
|
||||
;; Can this be replaced with platform-rust-architecture?
|
||||
;; Keep this synchronized with (guix platforms *)
|
||||
(match target
|
||||
("aarch64-linux-gnu" "aarch64-unknown-linux-gnu")
|
||||
("arm-linux-gnueabihf" "armv7-unknown-linux-gnueabihf")
|
||||
("i686-linux-gnu" "i686-unknown-linux-gnu")
|
||||
("mips64el-linux-gnu" "mips64el-unknown-linux-gnuabi64")
|
||||
("powerpc-linux-gnu" "powerpc-unknown-linux-gnu")
|
||||
("powerpc64-linux-gnu" "powerpc64-unknown-linux-gnu")
|
||||
("powerpc64le-linux-gnu" "powerpc64le-unknown-linux-gnu")
|
||||
("riscv64-linux-gnu" "riscv64gc-unknown-linux-gnu")
|
||||
("x86_64-linux-gnu" "x86_64-unknown-linux-gnu")
|
||||
("i586-pc-gnu" "i686-unknown-hurd-gnu")
|
||||
("i686-w64-mingw32" "i686-pc-windows-gnu")
|
||||
("x86_64-w64-mingw32" "x86_64-pc-windows-gnu")
|
||||
(else #f)))
|
||||
(setenv "RUSTFLAGS" (string-append
|
||||
(or (getenv "RUSTFLAGS") "")
|
||||
" --sysroot " (assoc-ref inputs "rust-sysroot")))
|
||||
|
||||
(setenv "PKG_CONFIG" (string-append target "-pkg-config"))
|
||||
|
||||
;; We've removed all the bundled libraries, don't look for them.
|
||||
(setenv "WINAPI_NO_BUNDLED_LIBRARIES" "1")
|
||||
|
||||
;; Prevent targeting the build machine.
|
||||
(setenv "CRATE_CC_NO_DEFAULTS" "1"))
|
||||
|
||||
;; Configure cargo to actually use this new directory with all the crates.
|
||||
(setenv "CARGO_HOME" (string-append (getcwd) "/.cargo"))
|
||||
(mkdir-p ".cargo")
|
||||
;; Not .cargo/config.toml, rustc/cargo will generate .cargo/config otherwise.
|
||||
(let ((port (open-file ".cargo/config" "w" #:encoding "utf-8")))
|
||||
(display "
|
||||
;; Placed here so it doesn't cause random rebuilds. Neither of these work.
|
||||
;; sysroot = '" (assoc-ref inputs "rust-sysroot") "'
|
||||
;; rustflags = ['--sysroot', '" (assoc-ref inputs "rust-sysroot") "']
|
||||
(when target
|
||||
(display (string-append "
|
||||
[target." (getenv "CARGO_BUILD_TARGET") "]
|
||||
linker = '" target "-gcc'
|
||||
|
||||
[build]
|
||||
target = ['" (getenv "CARGO_BUILD_TARGET") "']") port))
|
||||
(display (string-append "
|
||||
[source.crates-io]
|
||||
replace-with = 'vendored-sources'
|
||||
|
||||
[source.vendored-sources]
|
||||
directory = '" port)
|
||||
(display (string-append (getcwd) "/" vendor-dir) port)
|
||||
(display "'
|
||||
" port)
|
||||
directory = '" vendor-dir "'") port)
|
||||
(close-port port))
|
||||
|
||||
;; Lift restriction on any lints: a crate author may have decided to opt
|
||||
;; into stricter lints (e.g. #![deny(warnings)]) during their own builds
|
||||
;; but we don't want any build failures that could be caused later by
|
||||
;; upgrading the compiler for example.
|
||||
(setenv "RUSTFLAGS" "--cap-lints allow")
|
||||
(setenv "CC" (string-append (assoc-ref inputs "gcc") "/bin/gcc"))
|
||||
(setenv "RUSTFLAGS" (string-append (or (getenv "RUSTFLAGS") "")
|
||||
" --cap-lints allow"))
|
||||
|
||||
(if (assoc-ref inputs "cross-gcc")
|
||||
(begin
|
||||
(setenv "HOST_CC" "gcc")
|
||||
(setenv "TARGET_CC" (string-append target "-gcc"))
|
||||
(setenv "TARGET_AR" (string-append target "-ar"))
|
||||
(setenv "TARGET_PKG_CONFIG" (string-append target "-pkg-config")))
|
||||
(setenv "CC" (string-append (assoc-ref inputs "gcc") "/bin/gcc")))
|
||||
|
||||
(setenv "LIBGIT2_SYS_USE_PKG_CONFIG" "1")
|
||||
(setenv "LIBSSH2_SYS_USE_PKG_CONFIG" "1")
|
||||
(when (assoc-ref inputs "openssl")
|
||||
|
@ -264,7 +313,11 @@ directory = '" port)
|
|||
(unless (eq? (stat:type s) 'symlink)
|
||||
(utime file 0 0 0 0))))
|
||||
(find-files dir #:directories? #t))
|
||||
|
||||
(apply invoke "tar" "czf" (string-append dir ".crate")
|
||||
;; avoid non-determinism in the archive
|
||||
"--sort=name" "--mtime=@0"
|
||||
"--owner=root:0" "--group=root:0"
|
||||
(find-files dir #:directories? #t))
|
||||
(delete-file-recursively dir)))
|
||||
(find-files "." "\\.crate$")))))
|
||||
|
|
|
@ -0,0 +1,161 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2023 Pierre-Henry Fröhring <contact@phfrohring.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
;;; GNU Guix is free software; you can redistribute it and/or modify it
|
||||
;;; under the terms of the GNU General Public License as published by
|
||||
;;; the Free Software Foundation; either version 3 of the License, or (at
|
||||
;;; your option) any later version.
|
||||
;;;
|
||||
;;; GNU Guix is distributed in the hope that it will be useful, but
|
||||
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
;;; GNU General Public License for more details.
|
||||
;;;
|
||||
;;; You should have received a copy of the GNU General Public License
|
||||
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
;; Commentary:
|
||||
;;
|
||||
;; Code:
|
||||
|
||||
(define-module (guix build mix-build-system)
|
||||
#:use-module ((guix build gnu-build-system) #:prefix gnu:)
|
||||
#:use-module (guix build utils)
|
||||
#:use-module (ice-9 ftw)
|
||||
#:use-module (ice-9 match)
|
||||
#:use-module (ice-9 regex)
|
||||
#:use-module (ice-9 string-fun)
|
||||
#:use-module (srfi srfi-1)
|
||||
#:use-module (srfi srfi-26)
|
||||
#:use-module (srfi srfi-71)
|
||||
#:export (mix-build
|
||||
%standard-phases))
|
||||
|
||||
;; The Elixir version is constant as soon as it is computable from the current
|
||||
;; execution. It is a X.Y string where X and Y are respectively the major and
|
||||
;; minor version number of the Elixir used in the build.
|
||||
(define %elixir-version (make-parameter "X.Y"))
|
||||
|
||||
(define* (elixir-libdir path #:optional (version (%elixir-version)))
|
||||
"Return the path where all libraries under PATH for a specified Elixir
|
||||
VERSION are installed."
|
||||
(string-append path "/lib/elixir/" version))
|
||||
|
||||
(define* (strip-prefix name #:optional (prefix "elixir-"))
|
||||
"Return NAME without the prefix PREFIX."
|
||||
(if (string-prefix? prefix name)
|
||||
(string-drop name (string-length prefix))
|
||||
name))
|
||||
|
||||
(define (mix-build-dir mix-build-root mix-env)
|
||||
"Return the directory where build artifacts are to be installed according to
|
||||
en environment MIX-ENV in the current directory. MIX-BUILD-ROOT depends on the
|
||||
package arguments. See: https://hexdocs.pm/mix/1.15/Mix.html#module-environment-variables"
|
||||
(string-append mix-build-root "/" mix-env "/lib"))
|
||||
|
||||
(define (elixir-version inputs)
|
||||
"Return an X.Y string where X and Y are respectively the major and minor version number of PACKAGE.
|
||||
Example: /gnu/store/…-elixir-1.14.0 → 1.14"
|
||||
((compose
|
||||
(cute string-join <> ".")
|
||||
(cute take <> 2)
|
||||
(cute string-split <> #\.)
|
||||
strip-prefix
|
||||
strip-store-file-name)
|
||||
(assoc-ref inputs "elixir")))
|
||||
|
||||
(define* (unpack #:key source mix-path #:allow-other-keys)
|
||||
"Unpack SOURCE in the working directory, and change directory within the
|
||||
source. When SOURCE is a directory, copy it in a sub-directory of the current
|
||||
working directory."
|
||||
(let ((gnu-unpack (assoc-ref gnu:%standard-phases 'unpack)))
|
||||
(gnu-unpack #:source source)
|
||||
(when (file-exists? "contents.tar.gz")
|
||||
(invoke "tar" "xvf" "contents.tar.gz"))))
|
||||
|
||||
(define (list-directories dir)
|
||||
"List absolute paths of directories directly under the directory DIR."
|
||||
(map (cute string-append dir "/" <>)
|
||||
(scandir dir (lambda (filename)
|
||||
(and (not (member filename '("." "..")))
|
||||
(directory-exists? (string-append dir "/" filename)))))))
|
||||
|
||||
(define* (set-mix-env #:key inputs mix-path mix-exs #:allow-other-keys)
|
||||
"Set environment variables.
|
||||
See: https://hexdocs.pm/mix/1.15.7/Mix.html#module-environment-variables"
|
||||
(setenv "MIX_ARCHIVES" "archives")
|
||||
(setenv "MIX_BUILD_ROOT" "_build")
|
||||
(setenv "MIX_DEPS_PATH" "deps")
|
||||
(setenv "MIX_EXS" mix-exs)
|
||||
(setenv "MIX_HOME" (getcwd))
|
||||
(setenv "MIX_PATH" (or mix-path ""))
|
||||
(setenv "MIX_REBAR3" (string-append (assoc-ref inputs "rebar3") "/bin/rebar3")))
|
||||
|
||||
(define* (set-elixir-version #:key inputs #:allow-other-keys)
|
||||
"Store the version number of the Elixir input in a parameter."
|
||||
(%elixir-version (elixir-version inputs))
|
||||
(format #t "Elixir version: ~a~%" (%elixir-version)))
|
||||
|
||||
(define* (build #:key mix-environments #:allow-other-keys)
|
||||
"Builds the Mix project."
|
||||
(for-each (lambda (mix-env)
|
||||
(setenv "MIX_ENV" mix-env)
|
||||
(invoke "mix" "compile" "--no-deps-check"))
|
||||
mix-environments))
|
||||
|
||||
(define* (check #:key (tests? #t) #:allow-other-keys)
|
||||
"Test the Mix project."
|
||||
(if tests?
|
||||
(invoke "mix" "test" "--no-deps-check")
|
||||
(format #t "tests? = ~a~%" tests?)))
|
||||
|
||||
(define* (remove-mix-dirs . _)
|
||||
"Remove all .mix/ directories.
|
||||
We do not want to copy them to the installation directory."
|
||||
(for-each delete-file-recursively
|
||||
(find-files "." (file-name-predicate "\\.mix$") #:directories? #t)))
|
||||
|
||||
(define (package-name->elixir-name name+ver)
|
||||
"Convert the Guix package NAME-VER to the corresponding Elixir name-version
|
||||
format. Example: elixir-a-pkg-1.2.3 -> a_pkg"
|
||||
((compose
|
||||
(cute string-join <> "_")
|
||||
(cute drop-right <> 1)
|
||||
(cute string-split <> #\-))
|
||||
(strip-prefix name+ver)))
|
||||
|
||||
(define* (install #:key
|
||||
inputs
|
||||
outputs
|
||||
name
|
||||
build-per-environment
|
||||
#:allow-other-keys)
|
||||
"Install build artifacts in the store."
|
||||
(let* ((lib-name (package-name->elixir-name name))
|
||||
(lib-dir (string-append (elixir-libdir (assoc-ref outputs "out")) "/" lib-name))
|
||||
(root (getenv "MIX_BUILD_ROOT"))
|
||||
(env (if build-per-environment "prod" "shared")))
|
||||
(mkdir-p lib-dir)
|
||||
(copy-recursively (string-append (mix-build-dir root env) "/" lib-name) lib-dir
|
||||
#:follow-symlinks? #t)))
|
||||
|
||||
(define %standard-phases
|
||||
(modify-phases gnu:%standard-phases
|
||||
(delete 'bootstrap)
|
||||
(delete 'configure)
|
||||
(add-after 'install-locale 'set-mix-env set-mix-env)
|
||||
(add-after 'set-mix-env 'set-elixir-version set-elixir-version)
|
||||
(replace 'unpack unpack)
|
||||
(replace 'build build)
|
||||
(replace 'check check)
|
||||
(add-before 'install 'remove-mix-dirs remove-mix-dirs)
|
||||
(replace 'install install)))
|
||||
|
||||
(define* (mix-build #:key inputs (phases %standard-phases)
|
||||
#:allow-other-keys #:rest args)
|
||||
"Build the given Mix package, applying all of PHASES in order."
|
||||
(apply gnu:gnu-build #:inputs inputs #:phases phases args))
|
||||
|
||||
;;; mix-build-system.scm ends here
|
|
@ -1098,6 +1098,7 @@ Turning finalization off shuts down the finalization thread as a side effect."
|
|||
("armv7l" 120)
|
||||
("aarch64" 220)
|
||||
("ppc64le" 120)
|
||||
("riscv64" 220)
|
||||
(_ #f))))
|
||||
(lambda (flags)
|
||||
"Create a new child process by duplicating the current parent process.
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
;;; Copyright © 2021 Xinglu Chen <public@yoctocell.xyz>
|
||||
;;; Copyright © 2021 Sarah Morgensen <iskarian@mgsn.dev>
|
||||
;;; Copyright © 2021 Simon Tournier <zimon.toutoune@gmail.com>
|
||||
;;; Copyright © 2023 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -28,6 +29,7 @@
|
|||
#:use-module (guix git)
|
||||
#:use-module (guix hash)
|
||||
#:use-module (guix i18n)
|
||||
#:use-module ((guix utils) #:select (version>?))
|
||||
#:use-module (guix diagnostics)
|
||||
#:use-module (guix import utils)
|
||||
#:use-module (guix import json)
|
||||
|
@ -92,6 +94,11 @@
|
|||
|
||||
;;; Code:
|
||||
|
||||
(define (go-package)
|
||||
"Return the 'go' package. This is a lazy reference so that we don't
|
||||
depend on (gnu packages golang)."
|
||||
(module-ref (resolve-interface '(gnu packages golang)) 'go))
|
||||
|
||||
(define http-fetch*
|
||||
;; Like http-fetch, but memoized and returning the body as a string.
|
||||
(memoize (lambda args
|
||||
|
@ -293,7 +300,10 @@ comment, or unknown) and is followed by the indicated data."
|
|||
|
||||
;; The following directives may all be used solo or in a block
|
||||
;; RequireSpec = ModulePath Version newline .
|
||||
(define-peg-pattern require all (and module-path version EOL))
|
||||
(define-peg-pattern require all
|
||||
(and module-path version
|
||||
;; We don't want the transitive dependencies.
|
||||
(not-followed-by (and (* WS) "//" (* WS) "indirect")) EOL))
|
||||
(define-peg-pattern require-top body
|
||||
(and (ignore "require")
|
||||
(or (and block-start (* (or require block-line)) block-end) require)))
|
||||
|
@ -310,7 +320,7 @@ comment, or unknown) and is followed by the indicated data."
|
|||
(define-peg-pattern with all (or (and module-path version) file-path))
|
||||
(define-peg-pattern replace all (and original => with EOL))
|
||||
(define-peg-pattern replace-top body
|
||||
(and (ignore "replace")
|
||||
(and (ignore "replace")
|
||||
(or (and block-start (* (or replace block-line)) block-end) replace)))
|
||||
|
||||
;; RetractSpec = ( Version | "[" Version "," Version "]" ) newline .
|
||||
|
@ -374,6 +384,17 @@ DIRECTIVE."
|
|||
;; Prevent inlining of this procedure, which is accessed by unit tests.
|
||||
(set! go.mod-requirements go.mod-requirements)
|
||||
|
||||
(define (go.mod-go-version go.mod)
|
||||
"Return the minimum version of go required to specified by GO.MOD."
|
||||
(let ((go-version (go.mod-directives go.mod 'go)))
|
||||
(if (null? go-version)
|
||||
;; If the go directive is missing, go 1.16 is assumed.
|
||||
'(version "1.16")
|
||||
(flatten go-version))))
|
||||
|
||||
;; Prevent inlining of this procedure, which is accessed by unit tests.
|
||||
(set! go.mod-go-version go.mod-go-version)
|
||||
|
||||
(define-record-type <vcs>
|
||||
(%make-vcs url-prefix root-regex type)
|
||||
vcs?
|
||||
|
@ -606,6 +627,7 @@ When VERSION is unspecified, the latest version available is used."
|
|||
available-versions
|
||||
module-path))
|
||||
(content (fetch-go.mod goproxy module-path version*))
|
||||
(min-go-version (second (go.mod-go-version (parse-go.mod content))))
|
||||
(dependencies+versions (go.mod-requirements (parse-go.mod content)))
|
||||
(dependencies (if pin-versions?
|
||||
dependencies+versions
|
||||
|
@ -630,10 +652,13 @@ When VERSION is unspecified, the latest version available is used."
|
|||
,(vcs->origin vcs-type vcs-repo-url version*))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
'(#:import-path ,module-path
|
||||
,@(if (string=? module-path-sans-suffix root-module-path)
|
||||
'()
|
||||
`(#:unpack-path ,root-module-path))))
|
||||
(list ,@(if (version>? min-go-version (package-version (go-package)))
|
||||
`(#:go ,(string->number min-go-version))
|
||||
'())
|
||||
#:import-path ,module-path
|
||||
,@(if (string=? module-path-sans-suffix root-module-path)
|
||||
'()
|
||||
`(#:unpack-path ,root-module-path))))
|
||||
,@(maybe-propagated-inputs
|
||||
(map (match-lambda
|
||||
((name version)
|
||||
|
|
|
@ -29,6 +29,7 @@
|
|||
platform-target
|
||||
platform-system
|
||||
platform-linux-architecture
|
||||
platform-rust-target
|
||||
platform-glibc-dynamic-linker
|
||||
|
||||
&platform-not-found-error
|
||||
|
@ -74,6 +75,8 @@
|
|||
(system platform-system)
|
||||
(linux-architecture platform-linux-architecture
|
||||
(default #false))
|
||||
(rust-target platform-rust-target
|
||||
(default #false))
|
||||
(glibc-dynamic-linker platform-glibc-dynamic-linker))
|
||||
|
||||
|
||||
|
|
|
@ -27,6 +27,7 @@
|
|||
(target "arm-linux-gnueabihf")
|
||||
(system "armhf-linux")
|
||||
(linux-architecture "arm")
|
||||
(rust-target "armv7-unknown-linux-gnueabihf")
|
||||
(glibc-dynamic-linker "/lib/ld-linux-armhf.so.3")))
|
||||
|
||||
(define aarch64-linux
|
||||
|
@ -34,4 +35,5 @@
|
|||
(target "aarch64-linux-gnu")
|
||||
(system "aarch64-linux")
|
||||
(linux-architecture "arm64")
|
||||
(rust-target "aarch64-unknown-linux-gnu")
|
||||
(glibc-dynamic-linker "/lib/ld-linux-aarch64.so.1")))
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue