summary refs log tree commit diff
diff options
context:
space:
mode:
authorRicardo Wurmus <rekado@elephly.net>2017-11-17 23:26:03 +0100
committerRicardo Wurmus <rekado@elephly.net>2017-11-18 07:44:27 +0100
commitb3b07df403a86f3ccb28a0fb1b3ab3a3b8b1e9aa (patch)
tree0de5ef3d107f296162e39efecc9453c3c39a199e
parentd8e257113c48b3b748de43458295331f120d04c3 (diff)
downloadguix-b3b07df403a86f3ccb28a0fb1b3ab3a3b8b1e9aa.tar.gz
gnu: dino: Update to 0.0-2-2a514d096.
* gnu/packages/messaging.scm (dino): Update to 0.0-2-2a514d096.
[source]: Do not fetch libsignal-protocol-c submodule.
[arguments]: Add phase "unpack-sources" to unpack our sources for
libsignal-protocol-c.
[native-inputs]: Add "libsignal-protocol-c-source".
-rw-r--r--gnu/packages/messaging.scm23
1 files changed, 17 insertions, 6 deletions
diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index a38004b0bf..a9a77ae711 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -567,8 +567,8 @@ end-to-end encryption support; XML console.")
 (define-public dino
   ;; The only release tarball is for version 0.0, but it is very old and fails
   ;; to build.
-  (let ((commit "f6ac5bbd26638412a2289fd1d28ef12de1d7e8b5")
-        (revision "1"))
+  (let ((commit "2a514d0969f5c25d5e2d14421125a47df6b14974")
+        (revision "2"))
     (package
       (name "dino")
       (version (string-append "0.0-" revision "." (string-take commit 9)))
@@ -576,13 +576,11 @@ end-to-end encryption support; XML console.")
                 (method git-fetch)
                 (uri (git-reference
                       (url "https://github.com/dino/dino.git")
-                      (commit commit)
-                      (recursive? #t))) ; Needed for the 'libsignal-protocol-c'
-                                        ; submodule.
+                      (commit commit)))
                 (file-name (string-append name "-" version "-checkout"))
                 (sha256
                  (base32
-                  "14vk5jmvn8igjikrvg7pinrzahw8gryysb1v9y3vw47ncyic8b7p"))))
+                  "0v9fqikxvamdw7bxbwc4s01x0vf30vl77149y16krijaqnq6kzv0"))))
       (build-system cmake-build-system)
       (arguments
        `(#:tests? #f ; there are no tests
@@ -597,6 +595,18 @@ end-to-end encryption support; XML console.")
                              (guix build glib-or-gtk-build-system))
          #:phases
          (modify-phases %standard-phases
+           ;; The signal-protocol plugin accesses internal headers of
+           ;; libsignal-protocol-c, so we need to put the sources there.
+           (add-after 'unpack 'unpack-sources
+             (lambda* (#:key inputs #:allow-other-keys)
+               (let ((unpack (lambda (source target)
+                               (with-directory-excursion target
+                                 (zero? (system* "tar" "xvf"
+                                                 (assoc-ref inputs source)
+                                                 "--strip-components=1"))))))
+                 (unpack "libsignal-protocol-c-source"
+                         "plugins/signal-protocol/libsignal-protocol-c")
+                 #t)))
            (add-after 'install 'glib-or-gtk-wrap
              (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap)))))
       (inputs
@@ -611,6 +621,7 @@ end-to-end encryption support; XML console.")
          ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)))
       (native-inputs
        `(("pkg-config" ,pkg-config)
+         ("libsignal-protocol-c-source", (package-source libsignal-protocol-c))
          ("glib" ,glib "bin")
          ("vala" ,vala)
          ("gettext" ,gettext-minimal)))