From 56f73eadc018bef27d895d6f3fd21d6b16a5ce50 Mon Sep 17 00:00:00 2001
From: Julien Lepiller <julien@lepiller.eu>
Date: Thu, 22 Dec 2016 20:05:46 +0100
Subject: [PATCH] gnu: ocaml: Use a helper function to download from
 ocaml-forge.

* gnu/packages/ocaml.scm (ocaml-forge-origin): New procedure.
  (lablgtk)[origin]: Use it.

Signed-off-by: David Craven <david@craven.ch>
---
 gnu/packages/ocaml.scm | 21 +++++++++++++--------
 1 file changed, 13 insertions(+), 8 deletions(-)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 88e95a84833..dd437416379 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -50,6 +50,13 @@ (define-module (gnu packages ocaml)
   #:use-module (guix svn-download)
   #:use-module (guix utils))
 
+;; A shortcut for files from ocaml forge. Downloaded files are computed from
+;; their number, not their name.
+(define (ocaml-forge-uri name version file-number)
+  (string-append "https://forge.ocamlcore.org/frs/download.php/"
+                 (number->string file-number) "/" name "-" version
+                 ".tar.gz"))
+
 (define-public ocaml
   (package
     (name "ocaml")
@@ -509,14 +516,12 @@ (define-public lablgtk
   (package
     (name "lablgtk")
     (version "2.18.5")
-    (source
-      (origin
-        (method url-fetch)
-          (uri (string-append "https://forge.ocamlcore.org/frs/download.php/"
-                              "1627/lablgtk-2.18.5.tar.gz"))
-          (sha256
-            (base32
-              "0cyj6sfdvzx8hw7553lhgwc0krlgvlza0ph3dk9gsxy047dm3wib"))))
+    (source (origin
+              (method url-fetch)
+              (uri (ocaml-forge-uri name version 1627))
+              (sha256
+               (base32
+                "0cyj6sfdvzx8hw7553lhgwc0krlgvlza0ph3dk9gsxy047dm3wib"))))
     (build-system gnu-build-system)
     (native-inputs
      `(("camlp4" ,camlp4)
-- 
GitLab