Commit graph

800 commits

Author SHA1 Message Date
Cayetano Santos
9e3bdb02d8
licenses: Add CERN Open Hardware Licence.
* guix/licenses.scm (ohl2-s): New variable.
(ohl2-p): New variable.
(ohl2-w): New variable.
* guix/import/utils.scm (%spdx-license-identifiers): Add references to them.

Change-Id: I212332041b6438af0ea7b869e38665147f6ce798
Signed-off-by: Danny Milosavljevic <dannym@friendly-machines.com>
2025-08-03 10:58:14 +02:00
Liliana Marie Prikler
abbdfbb775
gnu: Rename minetest to luanti.
* gnu/packages/luanti.scm: New file.
(luanti, luanti-server, luanti-topic, luanti-moreores, luanti-sound-api-core)
(luanti-basic-materials, luanti-coloredwood, luanti-ethereal)
(luanti-homedecor-modpack, luanti-mesecons, luanti-mineclone, luanti-mobs)
(luanti-mobs-animal, luanti-mobs-monster, luanti-pipeworks, luanti-technic)
(luanti-throwing, luanti-throwing-arrows, luanti-worldedit)
(luanti-unifieddyes, luanti-unified-inventory, luanti-advtrains)
(luanti-basic-trains, luanti-oneblock, luanti-wielded-light): New variables.
* gnu/packages/minetest.scm:
(minetest, minetest-server, minetest-topic, minetest-moreores)
(minetest-sound-api-core, minetest-basic-materials, minetest-coloredwood)
(minetest-ethereal, minetest-homedecor-modpack, minetest-mesecons)
(minetest-mineclone, minetest-mobs, minetest-mobs-animal)
(minetest-mobs-monster, minetest-pipeworks, minetest-technic)
(minetest-throwing, minetest-throwing-arrows, minetest-worldedit)
(minetest-unifieddyes, minetest-unified-inventory, minetest-advtrains)
(minetest-basic-trains, minetest-oneblock, minetest-wielded-light): Deprecate
in favor of the above.
(minetest-game): Move to…
* gnu/packages/luanti.scm (minetest-game): … here.
* gnu/local.mk (GNU_SYSTEM_MODULES): Register luanti.scm.
* guix/build-system/luanti.scm: New file.
(luanti-mod-build-system): New public variable.
* guix/build-system/minetest.scm (minetest-mod-build-system): Deprecate in
favor of luanti-mod-build-system.
* guix/build/luanti-build-system.scm: New file, renamed from…
* guix/build/minetest-build-system.scm: … this. Deprecate in favor of
luanti-build-system.
* guix/import/luanti.scm: New file, renamed from guix/import/minetest.scm.
(%contentdb-api): Switch to “https://content.luanti.org/api/”.
(luanti-package?, latest-luanti-release, luanti->guix-package)
(luanti-recursive-import, %luanti-updater): New public variables.
* guix/import/minetest.scm (minetest-package?, latest-minetest-release)
(minetest->guix-package, minetest-recursive-import, %minetest-updater):
Deprecate in favor of the luanti variants above.
* guix/scripts/import/luanti.scm: New file, renamed from
guix/scripts/import/minetest.scm.
(guix-import-luanti): New public variable.
* guix/scripts/import/minetest.scm (guix-import-minetest): Deprecate in favor
of guix-import-luanti.
* tests/minetest.scm: Rename to…
* tests/luanti.scm: … this.
* Makefile.am (MODULES, SCM_TESTS): Adjust accordingly.
* etc/teams.scm (games): Adjust accordingly.
* CODEOWNERS: Adjust accordingly.
2025-07-13 13:54:01 +02:00
Zheng Junjie
92ea9e69ac
import: nuget: Use http-fetch.
* guix/import/nuget.scm (fetch-repo-info-from-snupkg): Use http-fetch, and
guard. Dont use mkstemp, just put-bytevector to file.

Change-Id: Ied9d64651d0ccd7875a9d80ac085cf5947c40c4c
Reviewed-by: Danny Milosavljevic <dannym@friendly-machines.com>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-07-01 08:49:16 +01:00
Zheng Junjie
a8c11ecf1e
import: nuget: make imported package file-name clean.
* guix/import/nuget.scm (nuget->guix-package): make imported package file-name
clean.

Change-Id: Ie5a1dc1a95dc1bf795da4d960e65f5e2bd6d6b63
Reviewed-by: Danny Milosavljevic <dannym@friendly-machines.com>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-07-01 08:49:02 +01:00
Zheng Junjie
388d119187
import: nuget: use maybe-inputs.
* guix/import/nuget.scm (nuget->guix-package): Use maybe-inputs.

Change-Id: I6e1d3395e6c3beb4f960345a82c547307e59293c
Reviewed-by: Danny Milosavljevic <dannym@friendly-machines.com>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-07-01 08:48:58 +01:00
Zheng Junjie
6b861d4b62
import: nuget: Use beautify-description and beautify-synopsis.
* guix/import/nuget.scm(non-empty-string-or-false): New procedure.
* guix/import/nuget.scm (nuget->guix-package): Use beautify-description and
beautify-synopsis.

Change-Id: Ie3b4b676499558af5e6742b91a40d93624f2caf9
Reviewed-by: Danny Milosavljevic <dannym@friendly-machines.com>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-07-01 08:48:51 +01:00
Zheng Junjie
d8a61d2b0b
import: nuget: use xml->sxml's namespaces keyword.
* guix/import/nuget.scm (%nuget-nuspec): New variable.
(fetch-repo-info-from-snupkg): use xml->sxml's namespaces keyword.
reindentation. Do not use square brackets.

Change-Id: Ic86a12ab6557e0a7d627864c9ec39245f9cea892
Reviewed-by: Danny Milosavljevic <dannym@friendly-machines.com>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-07-01 08:48:47 +01:00
Zheng Junjie
8b38fb8fa7
import: nuget: use json-fetch.
* guix/import/nuget.scm (nuget-find-best-version-for-range):
(nuget-fetch-catalog-entry): Use json-fetch.

Change-Id: I5223d264d363004aacfb0cf4a522813ffa485893
Reviewed-by: Danny Milosavljevic <dannym@friendly-machines.com>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-07-01 08:48:42 +01:00
Zheng Junjie
2e6c177149
import: nuget: use snake-case.
* guix/import/nuget.scm (nuget-name->guix-name): use snake-case.

Change-Id: I8371d2fd6b33170c61c86302117f7952123e05b5
Reviewed-by: Danny Milosavljevic <dannym@friendly-machines.com>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-07-01 08:47:14 +01:00
Tomas Volf
eca2591476
import: nuget: Use (ice-9 format).
* guix/import/nuget.scm: Use (ice-9 format) module.

Change-Id: I8db23842a4e4ec0347549bd8ad12beee80904d6b
Signed-off-by: Zheng Junjie <z572@z572.online>
2025-06-28 10:16:56 +08:00
Lars-Dominik Braun
a5768ec093
import: stackage: Adjust API URL.
See https://github.com/commercialhaskell/stackage-server/issues/353.

* guix/import/stackage.scm (%stackage-url): Adjust to new API URL.

Change-Id: I9bc1a10154340f89dcbacf715bd5ea5a9ef90b88
2025-06-19 17:22:10 +02:00
Danny Milosavljevic
a6c8217ee7
guix: nuget importer: Add it.
* guix/import/nuget.scm: New file.
* guix/scripts/import/nuget.scm: New file.
* guix/scripts/import.scm: Add reference to it.
* gnu/packages/guile-xyz.scm (guile-semver): Update to 0.2.0.
[source]: Switch.

Change-Id: I159c5cf3b02b42435b03d989d5815d3fcf001c92
2025-06-19 11:49:42 +02:00
Ludovic Courtès
096dedd0bb
import: texlive: Import the given version when specified.
Fixes a regression in ‘tests/texlive.scm’ introduced in commit
f13f076968 whereby ‘texlive-tags’ would be
called unconditionally, leading to an attempt to build Subversion.

* guix/import/texlive.scm (texlive->guix-package): Honor VERSION when it
is true.

Change-Id: I05e158fe55c65f7547c7150f00a589b4f600a40a
2025-05-24 15:29:10 +02:00
Liliana Marie Prikler
9013a53705
import/elpa: Improve CLI documentation for archive flag.
* guix/import/elpa.scm (elpa-url)[elpa-archives]: Move from here…
(%elpa-archives): … to here.
* guix/scripts/import/elpa.scm (%options): Add “list-archives”.
(show-help): Adjust accordingly.

Change-Id: Ib686bd9ff5eff2d4c37b8751ec1410666d568c1f
Co-authored-by: jgart <jgart@dismail.de>
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2025-05-22 11:18:08 +02:00
Ricardo Wurmus
24dd164ead
import/cran: Record more invalid package names.
* guix/import/cran.scm (invalid-packages): Add more bogus names.

Change-Id: I279996db792ed1677bd596fc7a6b5c1886a0ead4
2025-05-13 14:50:05 +02:00
Ricardo Wurmus
3071ef9397
guix: Update to Bioconductor 3.21.
* guix/build-system/r.scm (bioconductor-uri): Update version in URI to 3.21.
* guix/import/cran.scm (%bioconductor-version): Update to 3.21.

Change-Id: I216576d42d013a00310cc2230e89567ffb1487a2
2025-05-12 08:53:55 +02:00
Nicolas Goaziou
af54888314
guix: texlive importer: Fix recursive calls.
* guix/import/texlive.scm (texlive-recursive-import): Make sure #:guix-name
value accepts only one argument.

Change-Id: Ie3c7f7cee7860e0d926ba95a708f16e147f4d550
2025-05-06 11:25:07 +02:00
Nicolas Goaziou
df887f679f
guix: texlive importer: Improve output for texlive-biber-ms.
* guix/import/texlive.scm (no-bin-propagation-packages): Add "biber-ms".

Change-Id: Id9dadd2194e8d59d68c395b513e4c94673c97bb2
2025-05-06 11:25:07 +02:00
Nicolas Goaziou
9192c195ff
guix: texlive importer: Fix version error when importing a package.
* guix/import/texlive.scm (texlive->guix-package): Use find-version instead of
returning the first version tag.

Change-Id: Ib144d56c034c9ce3e5a4cddcffb78be58cd05e62
2025-05-06 11:25:07 +02:00
Nicolas Goaziou
3cf3880212
guix: texlive importer: Adjust version for meta packages.
* guix/import/texlive.scm (tlpdb->package): Use (package-version
package-source) instead of %texlive-revision when importing a meta package.
* tests/texlive.scm ("texlive->guix-package, meta-package"): Test it.

Change-Id: I2a5d2eb6529dafe0c888b2a7a5a1b38af1160235
2025-05-06 11:25:06 +02:00
Morgan Smith
0772d36076
import/utils: beautify-description: Validate argument.
* guix/import/utils.scm (beautify-description): Fix broken check for
non-strings.  Add a check for empty strings.
* tests/import-utils.scm: Add two tests.

Change-Id: Idf86df02aeb850fcc8808b7c9251082c1f816656
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-04-15 10:21:33 +02:00
Maxim Cournoyer
5af2a0c390
import/pypi: Improve renaming procedure.
A package named upstream like 'tmdb-python' now gets named 'python-tmdb'
instead of 'python-tmdb-python', which is ugly and doesn't match our
convention (info "(guix) Python Modules").

* guix/import/pypi.scm (python->package-name): Turn a -python suffix into a
python- prefix.

Change-Id: I7c0227d569c0afe6b16329d7cedb51728e4365b0
2025-04-14 13:34:00 +09:00
Nicolas Graves via Guix-patches via
d3086f85e0
import: npm-binary: Handle vector of licenses.
* guix/import/npm-binary.scm (<package-revision>)[license]: Handle the
case where a vector of licenses is used.

* tests/npm-binary.scm (foo-json): Redefine as a procedure with
license keyword.
  (test-source-hash): Redefine with direct reference to test-source.
  (foo-sexp): Redefine as a procedure with license keyword.
  (npm-binary->guix-package test): Use foo-json and foo-sexp.
  (npm-binary->guix-package with multiple licenses): Add test.

Change-Id: I9d6adb2ae2820678260fed1a67e91e22feb448b8
Signed-off-by: Jelle Licht <jlicht@fsfe.org>
2025-04-13 14:19:43 +02:00
Nicolas Graves via Guix-patches via
8aca24f41e
import: npm-binary: Improve-style.
* guix/import/binary.scm (resolve-package): Use and-let*.

Change-Id: I41688c319ad4a6e73c04cb5bd4ed70365e6c7e4d
Signed-off-by: Jelle Licht <jlicht@fsfe.org>
2025-04-13 14:19:43 +02:00
Nicolas Graves via Guix-patches via
23e001d9cb
import: npm-binary: Improve npm-package->package-sexp.
* guix/import/npm-binary.scm (npm-package->package-sexp): Use record
matching.

Change-Id: If4e60162a84cb8d9694882eab933afa7028b02d7
Signed-off-by: Jelle Licht <jlicht@fsfe.org>
2025-04-13 14:19:43 +02:00
Nicolas Graves via Guix-patches via
4b47728a6b
import: npm-binary: Fix import.
This is a follow-up to 0881a674cce3af6ebe0c1c85000e2726cbe6fc54.

* guix/import/npm-binary.scm (npm-package->package-sexp): Use modify-json.
* tests/npm-binary.scm (npm-binary->guix-package test): Use modify-json.

Change-Id: I70523a890948b218c0d82d94a6edf8775521473e
Signed-off-by: Jelle Licht <jlicht@fsfe.org>
2025-04-13 14:19:43 +02:00
Evgeny Pisemsky
ea6f4ee097
import: pypi: Fix null at home-page.
Reported in #73314: PyPI importer gives null at home-page for some
packages.

* guix/import/pypi.scm (<project-info>): [home-page]: Apply
NON-EMPTY-STRING-OR-FALSE to make it consistence with similar fields,
covering the case when PyPI's JSON file metadata file does not have the
information.

Change-Id: I501582988cf58b00bd201c12ad47e9b095988fae
Reported-by: Evgeny Pisemsky <mail@pisemsky.site>
Reviewed-by: Simon Tournier <zimon.toutoune@gmail.com>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-04-01 08:55:37 +01:00
Maxim Cournoyer
f13f076968
refresh: Add support for partial target versions.
* guix/import/utils.scm (find-version): New procedure.
* guix/scripts/refresh.scm (<update-spec>) [partial?]: New field.
(update-spec-partial?): New accessor.
(update-spec): Add a PARTIAL? optional argument.
(update-specification->update-spec) <update-spec>: Call with its new PARTIAL?
optional argument when FALLBACK-VERSION is provided, i.e. when
'--target-version' was used.
(update-package): Remove the PACKAGE and VERSION positional arguments, and
replace them with UPDATE-SPEC.  Update doc.  Call `package-update' with its
new #:partial-version? argument.
(check-for-package-update) <package-latest-release>: Pass the new
 #:partial-version? argument to it.
(guix-refresh) <update-package>: Adjust call accordingly.
(show-help): Udate doc.
* guix/upstream.scm (package-latest-release): Add #:partial-version? argument,
and apply it to the importer call.
(package-update): Add #:partial-version?> argument.  Update doc.  Pass it to
the `package-latest-release' call.
* guix/gnu-maintenance.scm (rewrite-url): Add #:partial-version? argument.
Update doc.  Crawl URL for newer compatible versions when provided.
(import-html-release): Add #:partial-version? argument, and pass it to the
`rewrite-url' call.  Use `find-version' to find the best version.
(import-release, import-ftp-release, import-gnu-release)
(import-release*): Add #:partial-version? argument and honor it.
(import-html-updatable-release): Add #:partial-version? argument, and pass it
to the `import-html-release' call.
* guix/import/gnome.scm (import-gnome-release)
<#:partial-version?>: Add new argument and honor it.
* guix/import/texlive.scm (latest-texlive-tag): Rename to...
(texlive-tags): ... this, and have it return all tags.
(texlive->guix-package): Adjust accordingly.
(latest-release): Add a #:partial-version? argument.  Update doc.
* guix/import/stackage.scm (latest-lts-release): New #:partial-version?
argument.
* guix/import/pypi.scm (import-release): New #:partial-version? argument; pass
it to `pypi-package->upstream-source'.
* guix/import/opam.scm (latest-release): New #:partial-version? argument.
* guix/import/minetest.scm (latest-minetest-release): New #:partial-version?
argument.
(pypi-package->upstream-source): New #:partial-version? argument.  Update doc.
* guix/import/launchpad.scm (latest-released-version): Rename to...
(release-versions): ... this, making it return all versions.
(import-release) <#:partial-version?>: New argument.
* guix/import/kde.scm (import-kde-release)
<#:partial-version?>: New argument.  Update doc.  Refactor to honor argument.
* guix/import/hexpm.scm (lookup-hexpm): Update doc.
(hexpm-latest-release): Rename to...
(hexpm-releases): ... this; return all release strings.
(hexpm->guix-package): Adjust accordingly.
(import-release): Add and honor a #:partial-version? argument.  Update doc.
* guix/import/hackage.scm (import-release): New #:partial-version? argument.
* guix/import/cpan.scm (latest-release): New #:partial-version? argument.
* guix/import/crate.scm (max-crate-version-of-semver): Improve doc.
(import-release): Add a #:partial-version? argument and honor it.
* guix/import/egg.scm (find-latest-version): Rename to...
(get-versions): ... this, returning all versions.
(egg-metadata): Adjust accordingly.
(egg->guix-package): Likewise.
(import-release): Add a new #:partial-version? argument and honor it.
* guix/import/elpa.scm (latest-release):  New #:partial-version? argument.
* guix/import/gem.scm (get-versions): New procedure.
(import-release): Add a new #:partial-version? argument and honor it.
* guix/import/git.scm (version-mapping): Update doc; streamline a bit.
(latest-tag): Rename to...
(get-tags): ... this, dropping the #:version keyword and returning the complete
tags alist.  Update doc.
(latest-git-tag-version): Rename to...
(get-package-tags): ... this, returning the complete tags alist of the
package.  Update doc.
(import-git-release): Add a new #:partial-version? argument and honor it.
Update doc.
* guix/import/github.scm (latest-released-version): Rename to...
(get-package-tags): ... this, returning all tags.  Update doc.
(import-release): Add a new #:partial-version? argument and honor it.
* guix/import/cran.scm (latest-cran-release)
(latest-bioconductor-release): Add #:partial-version? argument.
* guix/import/composer.scm (latest-version): Delete procedure.
(composer-fetch): Add #:partial-version? keyword and honor it.  Update doc.
(import-release): Likewise.
* guix/import/test.scm (import-release): Add #:partial-version? argument.
* tests/guix-refresh.sh: Add test.
* tests/gem.scm (test-foo-versions-json): New variable.
(package-latest-release): Mock new URL.
* tests/import-git.scm (latest-git-tag-version): New procedure.
* tests/gnu-maintenance.scm (libuv-dist-html)
(libuv-dist-1.46.0-html, libuv-dist-1.44.2-html)
(libuv-html-data): New variables.
(mock-http-fetch/cached): New procedure.
("rewrite-url, without to-version"): Rewrite using the above.
("rewrite-url, partial to-version"): New test.
* doc/guix.texi <"Invoking guix refresh">: Update doc.

Series-to: 75871@debbugs.gnu.org
Change-Id: I092a58b57ac42e54a2fa55e7761e8c6993af8ad4
2025-02-28 13:36:44 +09:00
Maxim Cournoyer
79a46d6537
gnupg: Automatically fallback to 'always policy when non-interactive.
Previously to this change, the 'guix refresh' download
policy (--key-download)would default to 'interactive', which would throw a
backtrace when guix was invoked with its stdin not connected to a peusdo
terminal (tty).  This change makes the new default value 'auto' use
interactive only in an interactive environment, with 'always' used as
fallback.

* doc/guix.texi (Invoking guix refresh): Adjust doc.
* etc/completion/fish/guix.fish: Adjust accordingly.
* etc/completion/zsh/_guix (_guix_list_installed_packages): Likewise.
* guix/gnupg.scm (gnupg-verify*): Change default #:key-download argument value
to 'auto.  Update doc.  Validate argument.  Raise an error in case read-line
returns #<eof>.
* guix/import/gnu.scm (gnu-package->sexp): <#:key-download>: Change default
value to 'auto.
* guix/import/gnu.scm (gnu->guix-package): <#:key-download>: Likewise.
* guix/scripts/import/gnu.scm (%options): Add "auto" to accepted
--key-download values.
(%default-options): Set default key-download option to the 'auto value.
(show-help): Update doc.
* guix/scripts/refresh.scm (show-help): Update doc.
(update-package) <#:key-download>: Change default value to 'auto.  Update doc.
* guix/upstream.scm (download-tarball): <#:key-download>: Likewise.
(package-update): Likewise.

Change-Id: Id1ca8fd6d453ca4bc5b372534445e3beab9133a8
Fixes: https://issues.guix.gnu.org/76112
Reviewed-by: Ludovic Courtès <ludo@gnu.org>
2025-02-28 13:36:44 +09:00
Efraim Flashner
e582903481
guix: Fix some misspellings.
Change-Id: Ia036217dadc1624c5f0d59fd44f646d46315c1f3
2025-02-19 11:28:40 +02:00
Ekaitz Zarraga
b609498bcf
guix: import: allow empty description
* guix/import/utils.scm (beautify-description)[new-words]: Don't fail
  the `match` when the package has an empty description.

Change-Id: I23e9cfeae1da98bb8705fcfc8ff81906d272d72e
2025-02-16 11:11:15 +01:00
Ricardo Wurmus
729bfe3689
import/utils: Wrap terms starting with @ in descriptions.
* tests/import-utils.scm ("beautify-description: escape @stuff"): Add test.
* guix/import/utils.scm (beautify-description): Also wrap terms in @code{...}
that start with an escaped @.

Change-Id: I424f626635b821af6f4c16c97b8724cdaf99de45
2025-02-11 22:13:10 +01:00
Ricardo Wurmus
36c9996b75
import/utils: Escape @ in synopses.
* tests/import-utils.scm ("beautify-synopsis: escape @"): Add tests.
* guix/import/utils.scm (beautify-synopsis): Replace @ with @@.

Change-Id: I011d61687a098b5b50f44c1acd6f0a4eea06e9f0
2025-02-11 22:13:10 +01:00
Herman Rimm
6b55b971c8
import: crate: Comment out missing dependencies.
* guix/import/crate.scm (package-names->package-inputs): Emit comments.
(make-crate-sexp): Make input into comment if missing.
(crate->guix-package): Take #:mark-missing? argument.
[dependency-name+missing+version+yanked]: Mark as missing.  Rename from
dependency-name+version+yanked.
[sort-map-dependencies]: Adjust.
[remove-missing+yanked-info]: Remove missing info.  Rename from
remove-yanked-info.
* guix/scripts/import/crate.scm (show-help): Explain --mark-missing.
(%options): Add mark-missing option.
(guix-import-crate): Pass mark-missing option as #:mark-missing?.
* doc/guix.texi (Invoking guix import): Document --mark-missing.
* tests/crate.scm ("crate->guix-package-marks-missing-packages"): Add
test.

Change-Id: I065d394e1c04fdc332b8f7f8b9fcbd87c14c6512
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-02-09 18:20:41 +01:00
Herman Rimm
aca2ac3e3d
import: crate: Refactor find-package-version.
* guix/import/crate.scm (crate->guix-package)[find-package-version]:
Move to top-level.
[dependency-name+version+yanked]: Adjust.
(find-package-version): Take allow-yanked? argument.  Use (let) loop,
match, if instead of map, filter, min-element.

Change-Id: I1d05f55a027241e7c5f62cc98a50a09b5639bdcf
Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2025-01-26 09:59:57 +02:00
Herman Rimm
17477101dd
import: crate: Fix find-package-version.
Fixes bug from 5ce1512b0f, where the
earliest existing package (if any) was returned instead.  See also:

https://issues.guix.gnu.org/68346#3-lineno97

* guix/import/crate.scm (crate->guix-package)[find-package-version]:
Invert boolean expression.

Change-Id: I1d05f55a027241e7c5f62cc98a50a09b5639bdcf
Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2025-01-26 09:59:22 +02:00
Sharlatan Hellseher
f0adcca9db
import/go: Fix #:go formation.
Reported by MSavoritias <email@msavoritias.me> in #74992 "guix import go
package definition is not valid".  This change fixes it: instead of
"#:go 1.22" will produce "#:go go-1.22".

* guix/import/go.scm (go-module->guix-package): Fix format for #:go key
argument.

Change-Id: I9db0688b8e2970f5e90b415966d39b45505b7c8e
2025-01-12 19:39:39 +00:00
宋文武
e74040b73c
import: git: Do not search pre-release words in tag prefix.
This fixes tags like 'xfce4-dev-tools-4.20.0'.

* tests/import-git.scm ("latest-git-tag-version: prefix contains pre-release
words"): New test.
* guix/import/git.scm (latest-tag): Don't filter out pre-releases tags.
(version-mapping): Filter out pre-releases tags from versions.
* gnu/packages/xfce.scm (garcon, thunar-archive-plugin, xfce4-dev-tools):
Remove FIXME comments for the 'generic-git' updater.

Change-Id: I7683200fa451d7fad153aa08fa9d5761688de01d
2025-01-12 14:18:03 +08:00
Efraim Flashner
66a1a1fe22
Merge remote-tracking branch 'origin/rust-team'
Change-Id: Ib21a0ea59fb2ae4e802552057227c636f24a6f8c
2025-01-09 10:54:36 +02:00
Herman Rimm
c62d5e77e7
import: texlive: Use downstream-package-name.
* guix/import/texlive.scm (texlive-recursive-import): Use
downstream-package-name.

Change-Id: Ic4ce685e8fc36f0b72797d3ce2d5bc89fc17b7ea
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-01-06 15:59:21 +01:00
Simon Tournier
57fa06352e
import: go: Warn instead of error out when Git fails.
* guix/import/go.scm (git-checkout-hash): Return some hash although updating
the cache fails.

Change-Id: I87e7701023a5f76f5d1494827473616e6a1275aa
2025-01-06 12:15:17 +01:00
Efraim Flashner
67950f46ef
import: crate: Make it clearer when a crate has been yanked.
* guix/import/crate.scm (make-crate-sexp): If a crate has been yanked
then adjust the returned package's source file-name with 'yanked' as
part of the name.

Change-Id: Ib3d16ff2e89a75a7a0755c1f336abadba0189666
2025-01-06 12:14:08 +02:00
Herman Rimm
f6b85da0b9
import: utils: Move downstream-package-name to (guix utils).
* guix/import/elpa.scm: Import (guix utils).
* guix/import/texlive.scm: Import (guix utils).
* guix/import/utils.scm (downstream-package-name): Move to ...
* guix/utils.scm (downstream-package-name): ... here.

Change-Id: If56a452f64ed06c8bb06a96a283a5067cb54d602
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-12-30 13:49:57 +01:00
Herman Rimm
01c4e02e33
import: texlive: Remove guix-name.
* guix/import/texlive.scm (guix-name): Remove.
(list-upstream-inputs, tlpdb->package): Use downstream-package-name.

Change-Id: I8f04d27a42f762c5604cb8874042fabbbe1e9873
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-12-30 13:49:57 +01:00
Herman Rimm
a805c60151
import: utils: Rename guix-name to downstream-package-name.
* guix/import/cran.scm (cran-guix-name): Adjust.
* guix/import/crate.scm (crate-name->package-name): Adjust.
* guix/import/elpa.scm (elpa-guix-name): Adjust.
* guix/import/npm-binary.scm (npm-name->name): Adjust.
* guix/import/utils.scm (downstream-package-name): Add procedure.
[description]: Use definite article, uppercase 'name' argument.
(guix-name): Deprecate.

Change-Id: I374892be18fbeaae1bc051b8d0c79ca4c33ed8c4
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-12-30 13:49:57 +01:00
Ludovic Courtès
4ebc1aba19
import: pypi: Preserve order of dependencies from ‘requires.txt’ and wheel.
Fixes a regression introduced in
a3ffb920f1 and revealed by
‘tests/pypi.scm’.

* guix/import/pypi.scm (parse-requires.txt): Reverse REQUIRED-DEPS and
TEST-DEPS when returning.
(parse-wheel-metadata): Likewise.

Change-Id: I2c374505052f0d9e46e7cc1c11d3e97ab522e068
2024-12-30 11:01:54 +01:00
Lars-Dominik Braun
a3ffb920f1
import: pypi: Move deduplication to final processing step.
* guix/import/pypi.scm (parse-requires.txt): Remove deduplication.
(parse-wheel-metadata): Remove deduplication.
(compute-inputs): Instead do it here on all the collected inputs.

Change-Id: I2504cc693e9bf2e4cc44fd37b5823904dbaaa925
Reviewed-by: Ludovic Courtès <ludo@gnu.org>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2024-12-16 19:28:44 +00:00
Lars-Dominik Braun
c904350a81
import: pypi: Default to setuptools as build system input.
* guix/import/pypi.scm (guess-requirements): Default to setuptools if
pyproject.toml does not exist.

Change-Id: I600bd0a44342847878e3a2a7041bd7e7c7d30769
Reviewed-by: Ludovic Courtès <ludo@gnu.org>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2024-12-16 19:28:34 +00:00
Lars-Dominik Braun
d7890af335
import: pypi: Add python-wheel to native inputs if setuptools is used.
* guix/import/pypi.scm (compute-inputs): Add missing python-wheel if
necessary.

Change-Id: Iedad213a6684856e48349289c4d9beba953f396b
Reviewed-by: Ludovic Courtès <ludo@gnu.org>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2024-12-16 19:28:08 +00:00
Lars-Dominik Braun
8bb3bb19c2
import: pypi: Support extracting dependencies from pyproject.toml.
* guix/import/pypi.scm (guess-requirements): Support extracting
dependencies from pyproject.toml.
* tests/pypi.scm: ("pypi->guix-package, no requires.txt, but wheel."):
Renamed from "pypi->guix-package, wheels", remove requires.txt file,
because the current implementation cannot detect invalid files.
("pypi->guix-package, no usable requirement file, no wheel."): Renamed
from "pypi->guix-package, no usable requirement file.".
(test-pyproject.toml): New variable.
("pypi->guix-package, no wheel, no requires.txt, but pyproject.toml"):
New test.
("pypi->guix-package, no wheel, but requires.txt and pyproject.toml"):
Ditto.

Change-Id: Ib525750eb6ff4139a8209420042b28ae3c850764
Reviewed-by: Ludovic Courtès <ludo@gnu.org>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2024-12-16 19:27:43 +00:00