3
4
Fork 0
mirror of git://git.savannah.gnu.org/guix.git synced 2023-12-14 03:33:07 +01:00
guix/guix/build-system
Maxim Cournoyer a8b927a562
import: go: Add an option to use pinned versions.
The ability to pin versions is handy when having to deal to packages that
bootstrap themselves through a chain of former versions.  Not using pinned
versions in these case could introduce dependency cycles.

* guix/build-system/go.scm (guix)
(%go-version-rx): Rename to...
(%go-pseudo-version-rx): ... this.  Simplify the regular expression, which in
turns makes it more robust.
* guix/build-system/go.scm (go-version->git-ref): Adjust following the above
rename.
(go-pseudo-version?): New predicate.
(go-module-latest-version): Rename to ...
(go-module-version-string): ... this.  Rename goproxy-url argument to just
goproxy.  Add a VERSION keyword argument, update docstring and adjust to have
it used.
(go-module-available-versions): New procedure.
(%go.mod-require-directive-rx): Document regexp.
(parse-go.mod): Harmonize the way dependencies are recorded to a list of lists
rather than a list of pairs, as done for other importers.  Rewrite to directly pass
multiple values rather than a record object.  Filter the replaced modules in a
functional style.
(go-module->guix-package): Add docstring.
[version, pin-versions?]: New arguments.  Rename the GOPROXY-URL argument to
GOPROXY.  Adjust to the new returned value of fetch-go.mod, which is a string.
Fail when the provided version doesn't exist.  Return a list dependencies and
their versions when in pinned versions mode, else just the dependencies.
(go-module-recursive-import)[version, pin-versions?]: New arguments.
Honor the new arguments and guard against network errors.
* guix/scripts/import/go.scm (%default-options): Register a default value for
the goproxy argument.
(show-help): Document that a version can be specified.  Remove the --version
argument and add a --pin-versions argument.
(%options)[version]: Remove option.
[pin-versions]: Add option.
(guix-import-go): Adjust so the version provided from the module name is
honored, along the new pin-versions? argument.
* tests/go.scm: Adjust and add new tests.
2021-04-09 22:41:32 -04:00
..
android-ndk.scm gnu: android-make-stub: Update to 0.6.0. 2018-05-10 15:35:28 +02:00
ant.scm guix: java-utils: Add Maven-related phases. 2020-07-17 04:10:28 +02:00
asdf.scm build-system: asdf: Read all .asd files if no #:asd-files specified. 2020-09-15 14:36:24 +02:00
cargo.scm build-system/cargo: Propagate crates across builds. 2021-03-14 19:52:44 +02:00
chicken.scm build-system: Add chicken-build-system. 2020-12-03 16:18:33 +01:00
clojure.scm build-system/clojure: Provide only the right modules in scope. 2020-01-08 23:21:14 +01:00
cmake.scm build-system: cmake: Add substitutable keyword. 2020-06-16 16:40:27 +03:00
copy.scm build-system: Fix copy-build-system default install plan. 2020-02-24 11:22:02 +01:00
dub.scm Adjust all users of (gnu packages ldc) to use (gnu packages dlang). 2018-09-10 15:44:32 -04:00
dune.scm guix: dune-build-system: Add a package parameter. 2019-03-23 22:58:52 +01:00
emacs.scm build-system/emacs: Allow usage of #:parallel-tests? key 2020-08-09 22:12:40 +02:00
font.scm gnu: Move contents of zip module into compression module. 2017-06-20 18:10:35 +05:30
glib-or-gtk.scm gnu: gcc: Switch back to using 'C_INCLUDE_PATH' instead of 'CPATH'. 2020-02-06 18:47:15 +01:00
gnu.scm build-system/gnu: Cross builds properly handle #:allowed-references & co. 2020-06-20 23:35:58 +02:00
go.scm import: go: Add an option to use pinned versions. 2021-04-09 22:41:32 -04:00
guile.scm build-system/guile: Expose #:scheme-file-regexp. 2020-05-18 15:37:23 +02:00
haskell.scm build-system/haskell: Disable parallel builds. 2020-10-19 00:07:37 +02:00
julia.scm build-system/julia: Don't rely on file name to set module name. 2021-01-30 15:36:56 +01:00
linux-module.scm build-system: linux-module: Delete some huge items that we probably don't need. 2020-09-14 10:15:43 +02:00
maven.scm build-system/maven: Make default-maven-plugins a procedure. 2020-07-17 09:45:19 +01:00
meson.scm gnu: gcc: Switch back to using 'C_INCLUDE_PATH' instead of 'CPATH'. 2020-02-06 18:47:15 +01:00
minify.scm gnu: uglify-js: Move back next to sbcl-cl-uglify-js definition. 2020-01-03 15:03:36 +01:00
node.scm gnu: Add node-lts. 2021-04-02 18:04:24 +02:00
ocaml.scm guix: ocaml: Add package-with-ocaml4.09. 2020-11-10 16:02:59 +01:00
perl.scm Move search path specifications to (guix search-paths). 2015-05-04 23:30:51 +02:00
python.scm gnu: Use PACKAGE/INHERIT in more places. 2021-03-17 03:58:10 -04:00
qt.scm build-system: qt: Adjust indentation. 2019-12-23 15:48:21 +01:00
r.scm import: cran: Update the Bioconductor version to 3.12. 2020-12-09 12:12:19 +01:00
rakudo.scm build: Add rakudo-build-system. 2019-03-23 22:26:48 +02:00
renpy.scm build-system: Add renpy-build-system. 2021-02-07 15:17:55 +01:00
ruby.scm build: ruby: Rewrite build system to use gem archives. 2015-08-18 17:58:13 -04:00
scons.scm gnu: Add nsis-x86_64 and nsis-i686. 2019-10-11 11:44:44 -04:00
texlive.scm build-system/texlive: Update to texlive-2019.3, revision 51265. 2020-01-14 00:18:09 +01:00
trivial.scm build-system/trivial: Add support for #:allowed-references. 2018-02-28 22:47:42 +01:00
waf.scm Move search path specifications to (guix search-paths). 2015-05-04 23:30:51 +02:00