summary refs log tree commit diff
diff options
context:
space:
mode:
authorPaul Garlick <pgarlick@tourbillion-technology.com>2020-04-24 13:07:07 +0100
committerPaul Garlick <pgarlick@tourbillion-technology.com>2020-04-29 09:36:29 +0100
commitadd3e168bb25e0af8a6225f5c93a311aae0268b2 (patch)
tree62d3450c67ef8c7fc98008b1108819658f37f67c
parentcf480830e22e7725b8607b5b895e49f74d4e1525 (diff)
downloadguix-add3e168bb25e0af8a6225f5c93a311aae0268b2.tar.gz
gnu: ikiwiki: Fetch sources from git repository.
* gnu/packages/web.scm (ikiwiki)[source]: Use GIT-FETCH and
GIT-FILE-NAME.
[source](snippet): New field.
[arguments]<#:phases>[set-modification-times]: New phase.
-rw-r--r--gnu/packages/web.scm25
1 files changed, 20 insertions, 5 deletions
diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index f5189dc7f9..bfd8486dff 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -4813,13 +4813,20 @@ NetSurf project.")
     (version "3.20190228")
     (source
      (origin
-       (method url-fetch)
-       (uri (string-append "http://snapshot.debian.org/archive/debian/"
-                           "20190301T035241Z/pool/main/i/ikiwiki/ikiwiki_"
-                           version ".orig.tar.xz"))
+       (method git-fetch)
+       (uri (git-reference
+             (url "git://git.ikiwiki.info/")
+             (commit version)))
+       (file-name (git-file-name name version))
        (sha256
         (base32
-         "17pyblaqhkb61lxl63bzndiffism8k859p54k3k4sghclq6lsynh"))))
+         "1c0i48jp2vpiwn2pacr6jbjdj26v7s9vzzs7j7gc16bx37dfgbbi"))
+       (snippet
+        '(begin
+           ;; The POT file requires write permission during the build
+           ;; phase.
+           (chmod "po/ikiwiki.pot" #o644)
+           #t))))
     (build-system perl-build-system)
     (arguments
      `(#:phases
@@ -4838,6 +4845,14 @@ NetSurf project.")
              (substitute* "Makefile.PL"
                (("SYSCONFDIR\\?=") "SYSCONFDIR?=$(PREFIX)"))
              #t))
+         (add-before 'build 'set-modification-times
+           ;; The wiki '--refresh' steps, which are executed during
+           ;; the check phase, require recent timestamps on files in
+           ;; the 'doc' and 'underlays' directories.
+           (lambda _
+             (invoke "find"  "doc" "underlays" "-type" "f" "-exec"
+                     "touch" "{}" "+")
+             #t))
          (add-after 'install 'wrap-programs
            (lambda* (#:key outputs #:allow-other-keys)
              (let* ((out  (assoc-ref outputs "out"))