[bug#57460,04/20] import: sourceforge: Issue error-message if version is given.
Commit Message
Due to the complicated directory structure at sourceforce,
enabling the sourceforge importer to update to a specific version
is very complicated to implement. Since only 2.0% of the
packages in guix are covered by this updater I dedided to now
implement this.
* guix/gnu-maintenance.scm(latest-sourceforge-release): Issue
error-message if version is given.
---
guix/gnu-maintenance.scm | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
Comments
On 28-08-2022 15:18, Hartmut Goebel wrote:
> Due to the complicated directory structure at sourceforce,
> enabling the sourceforge importer to update to a specific version
> is very complicated to implement. Since only 2.0% of the
> packages in guix are covered by this updater I dedided to now
> implement this.
Nitpick: now -> not?
@@ -34,6 +34,8 @@
#:use-module ((guix http-client) #:hide (open-socket-for-uri))
#:use-module (guix ftp-client)
#:use-module (guix utils)
+ #:use-module (guix diagnostics)
+ #:use-module (guix i18n)
#:use-module (guix memoization)
#:use-module (guix records)
#:use-module (guix upstream)
@@ -683,7 +685,7 @@ GNOME packages; EMMS is included though, because its releases are on gnu.org."
#:directory directory)
(cut adjusted-upstream-source <> rewrite))))
-(define (latest-sourceforge-release package)
+(define* (latest-sourceforge-release package #:key (version #f))
"Return the latest release of PACKAGE."
(define (uri-append uri extension)
;; Return URI with EXTENSION appended.
@@ -698,6 +700,12 @@ GNOME packages; EMMS is included though, because its releases are on gnu.org."
((200 302) #t)
(else #f))))
+ (when version
+ (error
+ (formatted-message
+ (G_ "Updating to a specific version is not yet implemented for ~a, sorry.")
+ "sourceforge")))
+
(let* ((name (package-upstream-name package))
(base (string-append "https://sourceforge.net/projects/"
name "/files"))