* guix/build-system/go.scm (go-target): New procedure.
(go-build): Add goarch, goos keywords. Adjust bag depending if doing a
native or cross compile.
(go-cross-build): New procedure.
* guix/build/go-build-system.scm (setup-go-environment): Accept goarch,
goos keywords. Set go environment variables based on target architecture.
* doc/guix.texi (Build Systems): Mention new go-build-system keywords.
Suggested by Maxime Devos <maximedevos@telenet.be>.
* guix/packages.scm (current-definition-location): New syntax parameter.
(define-public*): New macro.
(<package>)[definition-location]: New field.
(package-definition-location): New procedure.
* tests/packages.scm ("package-definition-location"): New test.
This is slightly more efficient than storing an alist in terms of .go
file size (< 1% smaller) and load time.
* guix/packages.scm (current-location-vector): New macro.
(sanitize-location): New procedure.
(<package>)[location]: Change 'default' and add 'sanitize'.
(package-location): New procedure.
…by merging the duplicate ‘libxmlplusplus’ package definition back into
‘libxml++’.
Reported-by: Guillaume Le Vaillant <glv@posteo.net>
* gnu/packages/gnome.scm (libxml++): Update to 3.2.0.
[source]: Build from git.
[home-page]: Adjust accordingly.
[arguments]: Add a 'fix-documentation phase.
[native-inputs]: Add autoconf, automake, doxygen, docbook-xml,
docbook-xsl, graphviz, libtool, libxslt, and mm-common.
(libxml++-2)[source]: Follow suit by building from git.
No other changes.
Otherwise, remotes without a branch named 'master' will cause an error when
importing.
* guix/import/elpa (git-repository->origin): Fallback to HEAD instead of the
'master' branch.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
The `build-stamp` configuration key should generally be set to an empty
string for a release build. The automatically inferred build stamp is
especially unhelpful with Guix, since it ends up being the Unix epoch.
* gnu/packages/racket.scm (racket-minimal)[arguments]: Adjust the
'initialize-config.rktd phase to set 'build-stamp to "".
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
This commit backports an upstream repair for a bug exposed by Guix's
change in Racket 8.2 to make the `racket` package a layered/tethered
installation that chains to the `racket-minimal` package. When using a
layered/tethered installation, the `setup/variant` library would fail to
recognize the default Racet variant (CS, 3M, or CGC), leading to
confusing failures from `raco exe`, `create-embedding-executable`, and
other clients.
For further details, see <https://issues.guix.gnu.org/50118> and
<https://github.com/racket/racket/issues/3969>.
* gnu/packages/patches/racket-minimal-backport-1629887.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/racket.scm (racket-minimal)[source]: Use it.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Previously the path to query the vault or request cooking of a directory
was /api/1/vault/directory/ID. It is now deprecated in favor if
/api/1/vault/flat/SWHID. This commit adjusts code accordingly and also
prepares for 'git-bare' support.
* guix/swh.scm (vault-url): New procedure.
(query-vault, request-cooking): Make 'kind' optional, and add #:archive-type.
Use 'vault-url'.
(vault-fetch): Make 'kind' optional and add #:archive-type. Adjust
'query-vault' and 'request-cooking' calls accordingly.
This makes bytevector->base16-string two times faster.
* guix/base16.scm (bytevector->base16-string): Use utf8->string
and iteration instead of string-concatenate and named let.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
This removes a cross-module top-level reference, which could lead to
build errors when importing (gnu packages rocm) in another module.
* gnu/packages/rocm.scm (llvm-for-rocm): Move to...
* gnu/packages/llvm.scm (llvm-for-rocm): ... here.
* gnu/packages/patches/go-github-com-urfave-cli-v2-fix-tests.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.
* gnu/packages/golang.scm (go-github-com-urfave-cli-v2)[origin]: Apply it.
Signed-off-by: Leo Famulari <leo@famulari.name>