Subject: [PATCH v3 04/18] import: sourceforge: Issue error-message if version is given.

From: Hartmut Goebel <[email-masked]>
Date: Tue, 20 Dec 2022 10:34:09 +0100

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 not
implement this.

* guix/gnu-maintenance.scm (latest-sourceforge-release): Add #:version
  argument.  Issue error-message if version is given.
---
 guix/gnu-maintenance.scm | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/guix/gnu-maintenance.scm b/guix/gnu-maintenance.scm
index 3067ee18b3..e414de8e28 100644
--- a/guix/gnu-maintenance.scm
+++ b/guix/gnu-maintenance.scm
@@ -37,6 +37,8 @@
   #:autoload   (guix download) (%mirrors)
   #: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)
@@ -705,7 +707,7 @@ GNOME packages; EMMS is included though, because its releases are on gnu.org."
                          #:base-url %savannah-base
                          #:directory directory)))
 
-(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.
@@ -720,6 +722,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"))
-- 
2.30.6