gnu: leveldb: Update home page.
[jackhill/guix/guix.git] / gnu / packages / squirrel.scm
index 1da0ad9..1b94898 100644 (file)
 (define-module (gnu packages squirrel)
   #:use-module (gnu packages)
   #:use-module (gnu packages cmake)
+  #:use-module (gnu packages sphinx)
   #:use-module (guix build-system cmake)
-  #:use-module (guix git-download)
+  #:use-module (guix download)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix build utils)
   #:use-module (guix packages)
   #:use-module (guix utils))
 
 (define-public squirrel
-  (let ((commit "51137b84e66c4d526809fd8a59f4ba1d38138c76"))
-    (package
-      (name "squirrel")
-      (version "3.1")
-      (source (origin
-                (method git-fetch)
-                (uri (git-reference
-                      (url "https://github.com/albertodemichelis/squirrel.git")
-                      (commit commit)))
-                (file-name (string-append name "-" version "-checkout"))
-                (sha256
-                 (base32
-                  "0vbiv1q3qcy2vj8y0b9a2ckswl9ld398n3jnxijvwddrjgya5zav"))))
-      (build-system cmake-build-system)
-      (arguments
-       '(#:tests? #f)) ; no tests
-      (native-inputs
-       `(("cmake" ,cmake)))
-      (home-page "https://squirrel-lang.org/")
-      (synopsis "High level imperative, object-oriented programming language")
-      (description
-       "Squirrel is a high level imperative, object-oriented programming
+  (package
+    (name "squirrel")
+    (version "3.1")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://sourceforge/squirrel/squirrel3/"
+                                  "squirrel " version " stable/squirrel_"
+                                  (string-join (string-split version #\.) "_")
+                                  "_stable.tar.gz"))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "1jyh1523zrrnh9swanfrda0s14mvwc9431dh07g0nx74hbxsfia8"))))
+    (build-system cmake-build-system)
+    (arguments
+     '(#:configure-flags '("-DDISABLE_STATIC=ON")
+       #:tests? #f ; no tests
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'install 'install-documentation
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (doc-dir (string-append out "/share/doc/squirrel")))
+               (for-each
+                (lambda (file)
+                  (install-file (string-append "../squirrel3/" file) doc-dir))
+                '("COPYRIGHT" "HISTORY" "README"
+                  "doc/sqstdlib3.pdf" "doc/squirrel3.pdf")))
+             #t))
+         (add-after 'install 'install-headers
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (include-dir (string-append out "/include/squirrel")))
+               (mkdir-p include-dir)
+               (for-each
+                (lambda (header-file)
+                  (copy-recursively header-file
+                                    (string-append include-dir
+                                                   "/"
+                                                   (basename header-file))))
+                (find-files "../squirrel3/include")))
+             #t)))))
+    (native-inputs
+     `(("cmake" ,cmake-minimal)
+       ("python-sphinx" ,python-sphinx)))
+    (home-page "https://squirrel-lang.org/")
+    (synopsis "High level imperative, object-oriented programming language")
+    (description
+     "Squirrel is a high level imperative, object-oriented programming
 language, designed to be a light-weight scripting language that fits in the
 size, memory bandwidth, and real-time requirements of applications like video
 games.")
-      (license license:expat))))
+    (license license:expat)))