summaryrefslogtreecommitdiff
path: root/guix/import
AgeCommit message (Expand)Author
2022-12-26import: launchpad: Allow updating to a specific version....* guix/import/launchpad.scm (latest-release): Rename to 'import-release', add #:version argument. If version is given, return an upstream-source for this version. Hartmut Goebel
2022-12-26import: kde: Allow updating to a specific version....* guix/import/kde.scm (latest-kde-release): Rename to 'import-kde-release', add #:version argument. Rework the code to not sort the relevant files, but just find the requested or latest version. [find-latest-archive-version]: New function. Hartmut Goebel
2022-12-26import: hexpm: Allow updating to a specific version....* guix/import/hexpm.scm (latest-release): Rename to 'import-release', add #:version argument. If version is given, return an upstream-source for this version. Hartmut Goebel
2022-12-26import: gnome: Allow updating to a specific version....* guix/import/gnome.scm (latest-gnome-release): Rename to 'import-gnome-release', add #:version argument. If version is given, try to find the respective version [find-latest-release]: New function, based on former code. [find-version-release]: New function. Hartmut Goebel
2022-12-26import: github: Allow updating to a specific version....* guix/import/github.scm (latest-released-version): Add #:version argument. If version is given, try to find the respective release. (latest-releease) Rename to 'import-release', add #:version argument and pass it on to 'latest-released-version'. Hartmut Goebel
2022-12-26import: git: Allow updating to a specific version....* guix/import/git.scm (latest-tag): Add #:version argument. If version is given, try to find the respective version tag. (latest-git-tag-version): Add #:version argument and pass it on to called functions. (latest-releease) Rename to 'import-release', add #:version argument and pass it on to called functions. Hartmut Goebel
2022-12-26import: gem: Allow updating to a specific version....* guix/import/gem.scm (latest-release): Rename to 'import-release', add #:version argument. If version is given, return an upstream-source for this version. Hartmut Goebel
2022-12-26import: egg: Allow updating to a specific version....* guix/import/egg.scm (latest-release): Rename to 'import-release', add #:version argument. If version is given, return an upstream-source for this version. Hartmut Goebel
2022-12-26import: crate: Allow updating to a specific version....* guix/import/crate.scm (latest-release): Rename to 'import-release', add #:version argument. If version is given, return an upstream-source for this version. Hartmut Goebel
2022-12-26gnu-maintenance: Allow updating to a specific version....* guix/gnu-maintenance.scm (latest-ftp-release): Rename to … (import-ftp-release) … this, add #:version argument. If version is given, try to find the respective version. (latest-html-release): Rename to … (import-html-release) … this, add #:version argument. If version is given, try to find the respective version. (latest-gnu-release): Rename to … (import-gnu-release) … this, add #:version argument. Refactor to first select archives for respective package, the find the requested or latest version, then create the upstream-source. (latest-release): Rename to … (import-release) … this, add #:version argument, pass on to … (import-ftp-release) … this. (import-release*): Rename to … (import-release*) … this, add #:version argument, pass on to … (latest-release) … this. (latest-savannah-release): Rename to … (import-savannah-release) … this, add keword-argument version, pass on to … (import-html-release) … this. (latest-xorg-release): Rename to … (import-xorg-release) … this, add keword-argument version, pass on to … (import-ftp-release) … this. (latest-kernel.org-release): Rename to … (import-kernel.org-release) … this, add #:version argument, pass on to … (import-html-release) … this. (latest-html-updatable-release): Rename to … (import-html-updatable-release) … this, add #:version argument, pass on to … (import-html-release) … this. * guix/import/gnu.scm(gnu->guix-package): Adjust function call. Hartmut Goebel
2022-12-26import: Issue error-message if version is given....These importer don't support importing a specific version, thus the updater does neither. Issue an error message in case version is given. * guix/import/cpan.scm (latest-release), guix/import/elpa.scm (latest-release), guix/import/hackage.scm (latest-release), guix/import/minetest.scm (latest-minetest-release), guix/import/opam.scm (latest-release): Add #:version argument, issue error if version is given. * guix/import/cran.scm (latest-cran-release): Same. (latest-bioconductor-release) Same. <version>: rename to <latest-version>. * guix/import/stackage.scm (latest-lts-release): For each generated updater, add #:version argument and issue error if version is given. Hartmut Goebel
2022-12-26import: cpan: Remove unused exports....* guix/import/cpan.scm (#:export): Remove unused exports. Hartmut Goebel
2022-12-26upstream-updater: Rename record field....The next commits will make the functions, which are currently importing the latest version of a package, change into importing the latest or a given version of the package (for those updaters supporting specifying a version). Thus the name ‘latest‘ is no longer appropriate. * guix/upstream.scm (upstream-updater) Rename field [latest] to [import]. (lookup-updater, package-latest-release) Adjust fieldname accordingly. * guix/gnu-maintenance.scm (%gnu-updater, %gnu-ftp-updater, %savannah-updater, %sourceforge-updater, %xorg-updater, %kernel.org-updater, %generic-html-updater), guix/import/cpan.scm (%cpan-updater), guix/import/cran.scm (%cran-updater, %bioconductor-updater), guix/import/crate.scm (%crate-updater), guix/import/egg.scm (%egg-updater), guix/import/elpa.scm (%elpa-updater), guix/import/gem.scm (%gem-updater), guix/import/git.scm (%generic-git-updater), guix/import/github.scm (%github-updater), guix/import/gnome.scm (%gnome-updater), guix/import/hackage.scm (%hackage-updater), guix/import/hexpm.scm (%hexpm-updater), guix/import/kde.scm (%kde-updater), guix/import/launchpad.scm (%launchpad-updater), guix/import/minetest.scm (%minetest-updater), guix/import/opam.scm (%opam-updater), guix/import/pypi.scm (%pypi-updater), guix/import/stackage.scm (%stackage-updater), tests/import-github.scm (found-sexp) tests/transformations.scm ("options->transformation, with-latest"): Adjust fieldname accordingly. Hartmut Goebel
2022-12-19import/cran: Add more mappings from sysnames to Guix package names....* guix/import/cran.scm (transform-sysname): Add more mappings. Ricardo Wurmus
2022-11-29import/cran: Add package name mapping....* guix/import/cran.scm (transform-sysname): Add mapping from sqlite3 to sqlite. Ricardo Wurmus
2022-11-24guix: Upgrade to Bioconductor 3.16....* guix/build-system/r.scm (bioconductor-uri): Bump Bioconductor version to 3.16. * guix/import/cran.scm (%bioconductor-version): Same. zimoun
2022-11-20import: egg: Fix typo in docstring....* gnu/import/egg.scm (Commentary): Fix typo in Commentary docstring. Signed-off-by: Christopher Baines <mail@cbaines.net> jgart
2022-11-18import/utils: spdx-string->license: Support '+' operator....Previously, '+' was supported only via special cases for deprecated GNU identifiers like 'GPL-N+'. This commit adds support for other uses of '+', such as 'AFL-2.0+' and 'LPPL-1.0+'. Strictly speaking, '+' is an operator, not part of the SPDX license identifier, but it is useful to handle it here. * guix/import/utils.scm (spdx-string->license): Support '+' operator. * tests/import-utils.scm ("spdx-string->license"): Test it. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Philip McGrath
2022-11-18import/utils: spdx-string->license: Match case-insensitively....SPDX specifies that license identifiers (unlike the 'AND', 'OR', and 'WITH' operators) are matched case-insensitively. * guix/import/utils.scm (%spdx-license-identifiers): New variable. (spdx-string->license): Search in '%spdx-license-identifiers' using 'string-ci=?'. * tests/import-utils.scm ("spdx-string->license"): New test. Co-authored-by: Ludovic Courtès <ludo@gnu.org> Philip McGrath
2022-11-18import/utils: spdx-string->license: Fix incorrect docstring....The result of 'spdx-string->license' is a symbol, not a license object. * guix/import/utils.scm (spdx-string->license): Fix docstring. (license->symbol): Mention 'license:' prefix in docstring. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Philip McGrath
2022-11-16import/cran: Add package mapping for freetype....* guix/import/cran.scm (transform-sysname): Map "freetype2" to "freetype". Ricardo Wurmus
2022-11-11import/cran: Add package name mapping for "booktabs"....* guix/import/cran.scm (transform-sysname): Add mapping for "booktabs". Ricardo Wurmus
2022-11-11import/cran: Add more strings to the list of invalid packages....* guix/import/cran.scm (invalid-packages): Add "c++", "c++17", and "posix.1-2001" to list of invalid packages. Ricardo Wurmus
2022-10-05import/utils: beautify-description: Update to pass tests....* guix/import/utils.scm (beautify-description): Remove single quote wrapping; escape @; exclude common abbreviations and titles from double-spacing; detect more sentence fragments. Ricardo Wurmus
2022-09-29import: print: Quasiquote properties...* guix/import/print.scm (package->code): Quasiquote properties. * tests/print.scm (pkg-with-properties, pkg-with-properties-source): New variables. ("package with properties"): New test Signed-off-by: Ludovic Courtès <ludo@gnu.org> itd
2022-09-29import/utils: alist->package: Include properties....* guix/import/utils.scm (alist->package): Process properties field in input data and include it in the generated package. * tests/import-utils.scm ("alist->package with properties"): New test. Signed-off-by: Ludovic Courtès <ludo@gnu.org> itd
2022-09-28import/cran: Process more complex license strings....* guix/import/cran.scm (string->license): Add more match clauses. (string->licenses): Split license conjunctions at "|" and apply string->license on each license. (description->package): Use string->licenses. Ricardo Wurmus
2022-09-28import/cran: Use beautify-synopsis....* guix/import/cran.scm (description->package): Use beautify-synopsis. Ricardo Wurmus
2022-09-28import/utils: Add beautify-synopsis....* guix/import/utils.scm (beautify-synopsis): New procedure. Ricardo Wurmus
2022-09-28import/cran: Transform external package names to Guix names....* guix/import/cran.scm (transform-sysname): New procedure. (description->package): Use it on inputs that are derived from "sysdepends". Ricardo Wurmus
2022-09-28import/cran: Add more strings to invalid-packages....* guix/import/cran.scm (invalid-packages): Add none, windows, and xcode. Ricardo Wurmus
2022-09-20import/cran: description->package: Use COND and computed booleans....* guix/import/cran.scm (description->package): Use COND with previously computed booleans instead of using CASE on REPOSITORY. Ricardo Wurmus
2022-09-20import/cran: download: Accept optional REF argument....* guix/import/cran.scm (download): Accept REF argument for git downloads. Ricardo Wurmus
2022-09-17import: gem: Support importing a specific version of a gem....* guix/import/gem.scm: (rubygems-fetch, gem->guix-package) (gem-recursive-import): Fix to fetch the specified version of the gem. * guix/scripts/import/gem.scm (show-help): Update the help message. (guix-import-gem): Modify so the version number to be passed to subsequent procedures. * tests/gem.scm: Add tests. * doc/guix.texi (Invoking guix import): Document. Signed-off-by: Christopher Baines <mail@cbaines.net> Taiju HIGASHI
2022-09-13import: gnome: Improve version handling logic....Before this change, we'd get: $ guix refresh gedit updating from version 40.1 to version 43.alpha... This is because the new GNOME version scheme introduced in 2021 with GNOME 40 was not treated correctly. Also, no longer ignore odd numbered minor versions, as this appears to be a declining practice in GNOME. * guix/import/gnome.scm (latest-gnome-release) <pre-release-text?>: New predicate. <even-minor-version?>: Rename to... <release-version?>: ...this. Return #f in case the version corresponds to a development release. * guix/import/gnome.scm (latest-gnome-release): Adjust accordingly. Maxim Cournoyer
2022-09-08import: gnome: Reject version strings such as "43.alpha"....Reported by Maxim Cournoyer. This is a followup to 61b63e7fa73be8828af2b36d196c3676c974e119. * guix/import/gnome.scm (latest-gnome-release)[even-minor-version?]: Reject VERSION is the minor or micro part is not an integer. Ludovic Courtès
2022-09-06import: gnome: Do not require even minor for two-number version strings....That way, "guix refresh gnome-keyring" will properly return "42.1" instead of "42.0". Reported by Maxim Cournoyer. * guix/import/gnome.scm (latest-gnome-release)[even-minor-version?]: Tweak for GNOME applications. Ludovic Courtès
2022-08-25import/utils: beautify-description: Add case for "Implements"....* guix/import/utils.scm (beautify-description): Add case to transform sentences beginning with "Implements". Ricardo Wurmus
2022-07-19import: Enable recursive import for texlive packages....* guix/import/texlive.scm (tlpdb->package): Add VERSION argument; include explicit version field in output. (texlive->guix-package): Set default value for VERSION argument; adjust call of tlpdb->package. (texlive-recursive-import): Accept REPO and VERSION keyword arguments. * guix/import/utils.scm (package->definition): Add a clause to deal with output from tlpdb->package. * guix/scripts/import/texlive.scm (%options): Add "recursive" option. (guix-import-texlive): Honor "recursive" option. * doc/guix.texi (Using TeX and LaTeX): Mention "recursive" option. Ricardo Wurmus
2022-07-15import: pypi: Fix coding style....I missed this remark from the review when pushing the last change. * guix/import/pypi.scm(python->package-name): Replace the trailing '#t'-case by a 'else'. Hartmut Goebel
2022-07-15import: pypi: Add special treatment for Tryton package names,...Trytond modules are Python packages, and treated like this in guix. Anyhow, since they are add-ons for the “Trytond“ application, their guix package name do not get the "python-" prefix like other Python modules, (see also https://issues.guix.gnu.org/46057#1). This change disables adding the "python-" prefix to the guix package name for Trytond modules when importing and updating, thus inhibiting irritating messages like in this example: $ guix refresh -u trytond-party … trytond-party: consider adding this propagated input: python-trytond-country trytond-party: consider removing this propagated input: trytond-country Handling this special case seems appropriate since (as of now) there are about 165 packages for Trytond and the number is growing. * guix/import/pypi.scm(python->package-name): Don't add "python-" prefix for trytond packages. Hartmut Goebel
2022-07-15import: egg: Fix updater....'egg-source-url' did not return the URL, but the quoted expression. This did break the updater, which expects the URL as a string. * guix/import/egg.scm(egg-source-url): Remove. (egg->guix-package)[egg-content]: Use quoted expression directly. (latest-release): Call egg-uri instead of egg-source-url. Hartmut Goebel
2022-07-11import: github: Use correct URL scheme....This effects packages hosted at github with source-uri like …/releases/download/REPO-VERSION/REPO-VERSION.EXT. E.g. ‘guix refresh udisks’ would fail to find the new release of ‘udisks’ before this change. * guix/import/github.scm(updated-url): For one one of the cases add missing 'prefix' and set new version. Hartmut Goebel
2022-06-15import: Add hex.pm importer....hex.pm is a package repository for Erlang and Elixir. * guix/scripts/import.scm (importers): Add "hexpm". * guix/scripts/import/hexpm.scm, guix/import/hexpm.scm, guix/hexpm-download.scm: New files. * guix/import/utils.scm (source-spec->object): Add "hexpm-fetch" to list of fetch methods. * guix/upstream.scm (package-update/hexpm-fetch): New function. (%method-updates) Add it. * Makefile.am: Add them. Hartmut Goebel
2022-06-06import: hackage: Filter upper/mixed case dependencies too....* guix/import/hackage.scm (filter-dependencies): Convert OWN-NAMES to lowercase before filtering. (hackage-module->sexp): Remove #f from OWN-NAMES, which is used for unnamed (default) libraries. * tests/hackage.scm (test-cabal-internal-library-ignored): Add mismatched uppercase letters. Lars-Dominik Braun
2022-06-06import: hackage: Filter internal libraries from inputs and native-inputs....Fixes <https://issues.guix.gnu.org/54760>. * guix/import/hackage.scm (filter-dependencies): Support multiple OWN-NAMES. (hackage-module->sexp): Filter OWN-NAMES from HACKAGE-DEPENDENCIES and HACKAGE-NATIVE-DEPENDENCIES. * tests/hackage.scm (test-cabal-internal-library-ignored): New variable. ("hackage->guix-package test internal libraries are ignored"): New testcase. Lars-Dominik Braun
2022-06-06import: cabal: Support library names...* guix/import/cabal.scm (make-cabal-parser): Add name to section. (is-lib): Add optional name to regular expression. (lex-rx-res): Support selecting different substring. (lex-lib): Match 2nd substring from IS-LIB. (lex-line): Adapt to changes for lex-lib. (cabal-library): Add name field and export CABAL-LIBRARY-NAME. (eval): Remove special case for 'library, which is not required any more. (make-cabal-section): Move special case for LIBRARY. * tests/hackage.scm (test-read-cabal-library-name): New variable. ("read-cabal test 1"): Adapt testcase to changed internal structure. ("read-cabal test: library name"): New testcase. Lars-Dominik Braun
2022-06-06import: cabal: Allow curly bracket before else statement....* guix/import/cabal.scm (is-else): Turn into procedure. (lex-line): Move IS-ELSE… (lex-word): …here. * tests/hackage.scm (test-cabal-elif-brackets): Extend testcase. Lars-Dominik Braun
2022-06-06import: cabal: Allow properties without space between key and value....* guix/import/cabal.scm (lex-word): Add colon to delimiters. * tests/hackage.scm (test-cabal-property-no-space): New variable. ("hackage->guix-package test properties without space"): New test. Lars-Dominik Braun
2022-06-06import: cabal: Allow curly brackets in more positions....* guix/import/cabal.scm (is-layout-property): Do not expect end of line. (lex-layout-property): Check for newline. (lex-property): Stop reading on closing curly bracket. * tests/hackage.scm (test-read-cabal-2): New variable. ("read-cabal test: if brackets on the same line"): New test. Lars-Dominik Braun