summaryrefslogtreecommitdiff
path: root/guix/import
AgeCommit message (Collapse)Author
2025-07-13gnu: Rename minetest to luanti.Liliana Marie Prikler
* 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-01import: nuget: Use http-fetch.Zheng Junjie
* 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-01import: nuget: make imported package file-name clean.Zheng Junjie
* 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-01import: nuget: use maybe-inputs.Zheng Junjie
* 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-01import: nuget: Use beautify-description and beautify-synopsis.Zheng Junjie
* 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-01import: nuget: use xml->sxml's namespaces keyword.Zheng Junjie
* 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-01import: nuget: use json-fetch.Zheng Junjie
* 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-01import: nuget: use snake-case.Zheng Junjie
* 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-06-28import: nuget: Use (ice-9 format).Tomas Volf
* guix/import/nuget.scm: Use (ice-9 format) module. Change-Id: I8db23842a4e4ec0347549bd8ad12beee80904d6b Signed-off-by: Zheng Junjie <z572@z572.online>
2025-06-19import: stackage: Adjust API URL.Lars-Dominik Braun
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-19guix: nuget importer: Add it.Danny Milosavljevic
* 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-05-24import: texlive: Import the given version when specified.Ludovic Courtès
Fixes a regression in ‘tests/texlive.scm’ introduced in commit f13f0769688493271f43f31a016957355dbecb30 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-22import/elpa: Improve CLI documentation for archive flag.Liliana Marie Prikler
* 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-13import/cran: Record more invalid package names.Ricardo Wurmus
* guix/import/cran.scm (invalid-packages): Add more bogus names. Change-Id: I279996db792ed1677bd596fc7a6b5c1886a0ead4
2025-05-12guix: Update to Bioconductor 3.21.Ricardo Wurmus
* 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-06guix: texlive importer: Fix recursive calls.Nicolas Goaziou
* guix/import/texlive.scm (texlive-recursive-import): Make sure #:guix-name value accepts only one argument. Change-Id: Ie3c7f7cee7860e0d926ba95a708f16e147f4d550
2025-05-06guix: texlive importer: Improve output for texlive-biber-ms.Nicolas Goaziou
* guix/import/texlive.scm (no-bin-propagation-packages): Add "biber-ms". Change-Id: Id9dadd2194e8d59d68c395b513e4c94673c97bb2
2025-05-06guix: texlive importer: Fix version error when importing a package.Nicolas Goaziou
* guix/import/texlive.scm (texlive->guix-package): Use find-version instead of returning the first version tag. Change-Id: Ib144d56c034c9ce3e5a4cddcffb78be58cd05e62
2025-05-06guix: texlive importer: Adjust version for meta packages.Nicolas Goaziou
* 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-04-15import/utils: beautify-description: Validate argument.Morgan Smith
* 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-14import/pypi: Improve renaming procedure.Maxim Cournoyer
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-13import: npm-binary: Handle vector of licenses.Nicolas Graves via Guix-patches via
* 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-13import: npm-binary: Improve-style.Nicolas Graves via Guix-patches via
* guix/import/binary.scm (resolve-package): Use and-let*. Change-Id: I41688c319ad4a6e73c04cb5bd4ed70365e6c7e4d Signed-off-by: Jelle Licht <jlicht@fsfe.org>
2025-04-13import: npm-binary: Improve npm-package->package-sexp.Nicolas Graves via Guix-patches via
* 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-13import: npm-binary: Fix import.Nicolas Graves via Guix-patches via
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-01import: pypi: Fix null at home-page.Evgeny Pisemsky
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-02-28refresh: Add support for partial target versions.Maxim Cournoyer
* 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-28gnupg: Automatically fallback to 'always policy when non-interactive.Maxim Cournoyer
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-19guix: Fix some misspellings.Efraim Flashner
Change-Id: Ia036217dadc1624c5f0d59fd44f646d46315c1f3
2025-02-16guix: import: allow empty descriptionEkaitz Zarraga
* 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-11import/utils: Wrap terms starting with @ in descriptions.Ricardo Wurmus
* 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-11import/utils: Escape @ in synopses.Ricardo Wurmus
* tests/import-utils.scm ("beautify-synopsis: escape @"): Add tests. * guix/import/utils.scm (beautify-synopsis): Replace @ with @@. Change-Id: I011d61687a098b5b50f44c1acd6f0a4eea06e9f0
2025-02-09import: crate: Comment out missing dependencies.Herman Rimm
* 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-01-26import: crate: Refactor find-package-version.Herman Rimm
* 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-26import: crate: Fix find-package-version.Herman Rimm
Fixes bug from 5ce1512b0f68cf39cb399623a14302f309c06129, 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-12import/go: Fix #:go formation.Sharlatan Hellseher
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-12import: 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-09Merge remote-tracking branch 'origin/rust-team'Efraim Flashner
Change-Id: Ib21a0ea59fb2ae4e802552057227c636f24a6f8c
2025-01-06import: texlive: Use downstream-package-name.Herman Rimm
* 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-06import: go: Warn instead of error out when Git fails.Simon Tournier
* guix/import/go.scm (git-checkout-hash): Return some hash although updating the cache fails. Change-Id: I87e7701023a5f76f5d1494827473616e6a1275aa
2025-01-06import: crate: Make it clearer when a crate has been yanked.Efraim Flashner
* 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
2024-12-30import: utils: Move downstream-package-name to (guix utils).Herman Rimm
* 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-30import: texlive: Remove guix-name.Herman Rimm
* 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-30import: utils: Rename guix-name to downstream-package-name.Herman Rimm
* 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-30import: pypi: Preserve order of dependencies from ‘requires.txt’ and wheel.Ludovic Courtès
Fixes a regression introduced in a3ffb920f14cd0d31d1e7067e11dc523fe380996 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-16import: pypi: Move deduplication to final processing step.Lars-Dominik Braun
* 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-16import: pypi: Default to setuptools as build system input.Lars-Dominik Braun
* 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-16import: pypi: Add python-wheel to native inputs if setuptools is used.Lars-Dominik Braun
* 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-16import: pypi: Support extracting dependencies from pyproject.toml.Lars-Dominik Braun
* 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-16import/pypi: Fix project URL discovery when the project name contains periods.Maxim Cournoyer
* guix/import/pypi.scm (find-project-url): Add an extra candidate rewriting periods to underscores in the project name. Change-Id: I7e3afc63bcc87fafa40fcff2b394b90633d23067