unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* [PATCH 0/2] Owncloud-client
@ 2015-11-02 20:49 Efraim Flashner
  2015-11-02 20:49 ` [PATCH 1/2] gnu: Add qtkeychain Efraim Flashner
  2015-11-02 20:49 ` [PATCH 2/2] gnu: Add owncloud-client Efraim Flashner
  0 siblings, 2 replies; 12+ messages in thread
From: Efraim Flashner @ 2015-11-02 20:49 UTC (permalink / raw)
  To: guix-devel

Owncloud-client depends on qtkeychain, so both are packaged. I have learned
that if/when I write my own programs I'm not such a fan of cmake.

Efraim Flashner (2):
  gnu: Add qtkeychain.
  gnu: Add owncloud-client.

 gnu-system.am             |  1 +
 gnu/packages/owncloud.scm | 76 +++++++++++++++++++++++++++++++++++++++++++++++
 gnu/packages/qt.scm       | 37 ++++++++++++++++++++++-
 3 files changed, 113 insertions(+), 1 deletion(-)
 create mode 100644 gnu/packages/owncloud.scm

-- 
2.6.2

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [PATCH 1/2] gnu: Add qtkeychain.
  2015-11-02 20:49 [PATCH 0/2] Owncloud-client Efraim Flashner
@ 2015-11-02 20:49 ` Efraim Flashner
  2015-11-05 21:28   ` Ludovic Courtès
  2015-11-02 20:49 ` [PATCH 2/2] gnu: Add owncloud-client Efraim Flashner
  1 sibling, 1 reply; 12+ messages in thread
From: Efraim Flashner @ 2015-11-02 20:49 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/qt.scm (qtkeychain): New variable.
---
 gnu/packages/qt.scm | 37 ++++++++++++++++++++++++++++++++++++-
 1 file changed, 36 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 9813f5b..6f430f1 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -2,6 +2,7 @@
 ;;; Copyright © 2013, 2014, 2015 Andreas Enge <andreas@enge.fr>
 ;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
 ;;; Copyright © 2015 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2015 Efraim Flashner <efraim@flashner.co.il>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -19,10 +20,11 @@
 ;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
 
 (define-module (gnu packages qt)
-  #:use-module ((guix licenses) #:select (gpl2 gpl3 lgpl2.1 x11-style))
+  #:use-module ((guix licenses) #:select (bsd-3 gpl2 gpl3 lgpl2.1 x11-style))
   #:use-module (guix packages)
   #:use-module (guix download)
   #:use-module (guix build utils)
+  #:use-module (guix build-system cmake)
   #:use-module (guix build-system gnu)
   #:use-module (guix packages)
   #:use-module (guix utils)
@@ -518,3 +520,36 @@ contain over 620 classes.")
        ("qt" ,qt-4)))
     (inputs
      `(("python" ,python-2)))))
+
+(define-public qtkeychain
+  (package
+    (name "qtkeychain")
+    (version "0.5.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (string-append "https://github.com/frankosterfeld/qtkeychain/"
+                            "archive/v" version ".tar.gz"))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32 "055mkd4pz6cyff4cw0784wjc1w92m8x223sxi96ph15fr3lplbg6"))))
+    (build-system cmake-build-system)
+    (inputs
+     `(("qt", qt)))
+    (arguments
+     `(#:tests? #f ; No tests included
+       #:phases
+       (modify-phases
+         %standard-phases
+         (add-before
+          'configure 'set-qt-trans-dir
+           (lambda _
+             (substitute* "CMakeLists.txt"
+              (("\\$\\{qt_translations_dir\\}")
+                "${CMAKE_INSTALL_PREFIX}/share/qtkeychain/translations")))))))
+    (home-page "https://github.com/frankosterfeld/qtkeychain")
+    (synopsis "Qt API to store passwords")
+    (description
+      "QtKeychain is a Qt API to store passwords and other secret data
+securely.  It will not store any data unencrypted unless explicitly requested.")
+    (license bsd-3)))
-- 
2.6.2

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [PATCH 2/2] gnu: Add owncloud-client.
  2015-11-02 20:49 [PATCH 0/2] Owncloud-client Efraim Flashner
  2015-11-02 20:49 ` [PATCH 1/2] gnu: Add qtkeychain Efraim Flashner
@ 2015-11-02 20:49 ` Efraim Flashner
  2015-11-05 21:32   ` Ludovic Courtès
  1 sibling, 1 reply; 12+ messages in thread
From: Efraim Flashner @ 2015-11-02 20:49 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/owncloud.scm (owncloud-client): New variable.
* gnu-system.am [GNU_SYSTEM_MODULES]: Add it.
---
 gnu-system.am             |  1 +
 gnu/packages/owncloud.scm | 76 +++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 77 insertions(+)
 create mode 100644 gnu/packages/owncloud.scm

diff --git a/gnu-system.am b/gnu-system.am
index 36e7b6e..ff92bf5 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -241,6 +241,7 @@ GNU_SYSTEM_MODULES =				\
   gnu/packages/openstack.scm			\
   gnu/packages/orpheus.scm			\
   gnu/packages/ots.scm				\
+  gnu/packages/owncloud.scm			\
   gnu/packages/package-management.scm		\
   gnu/packages/parallel.scm			\
   gnu/packages/password-utils.scm		\
diff --git a/gnu/packages/owncloud.scm b/gnu/packages/owncloud.scm
new file mode 100644
index 0000000..b37b9b6
--- /dev/null
+++ b/gnu/packages/owncloud.scm
@@ -0,0 +1,76 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2015 Efraim Flashner <efraim@flashner.co.il>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages owncloud)
+  #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (guix build-system cmake)
+  #:use-module (guix download)
+  #:use-module (guix packages)
+  #:use-module (gnu packages compression)
+  #:use-module (gnu packages databases)
+  #:use-module (gnu packages linux)
+  #:use-module (gnu packages perl)
+  #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages python)
+  #:use-module (gnu packages qt)
+  #:use-module (gnu packages ruby)
+  #:use-module (gnu packages tls))
+
+(define-public owncloud-client
+  (package
+    (name "owncloud-client")
+    (version "2.0.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://download.owncloud.com/desktop/stable/"
+                           "owncloudclient-" version ".tar.xz"))
+       (sha256
+        (base32 "0a42nqx0gn10n7ikhxwif0lqddmb6gbvr45bqbbl30an9gixq598"))))
+    (build-system cmake-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+        (add-after 'unpack 'change-rpath-dirs
+          (lambda _
+           (substitute* '("src/libsync/CMakeLists.txt"
+                          "csync/src/CMakeLists.txt")
+                         (("\\/\\$\\{APPLICATION_EXECUTABLE\\}") ""))
+           (substitute* '("src/cmd/CMakeLists.txt"
+                          "src/crashreporter/CMakeLists.txt"
+                          "src/gui/CMakeLists.txt")
+                         (("\\/\\$\\{APPLICATION_EXECUTABLE\\}\\\"") "\"")))))))
+    (native-inputs `(("pkg-config" ,pkg-config)))
+    (inputs
+     `(("inotify-tools" ,inotify-tools)
+       ("openssl" ,openssl)
+       ("perl" ,perl)
+       ("python-wrapper" ,python-wrapper)
+       ("qt" ,qt)
+       ("qtkeychain" ,qtkeychain)
+       ("ruby" ,ruby)
+       ("sqlite" ,sqlite)
+       ("zlib" ,zlib)))
+    (home-page "https://owncloud.org")
+    (synopsis "GUI folder synchronization with an ownCloud server")
+    (description "The ownCloudSync system lets you always have your latest
+files wherever you are.  Just specify one or more folders on the local machine
+to and a server to synchronize to.  You can configure more computers to
+synchronize to the same server and any change to the files on one computer will
+silently and reliably flow across to every other.")
+    (license license:gpl2+)))
-- 
2.6.2

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* Re: [PATCH 1/2] gnu: Add qtkeychain.
  2015-11-02 20:49 ` [PATCH 1/2] gnu: Add qtkeychain Efraim Flashner
@ 2015-11-05 21:28   ` Ludovic Courtès
  2015-11-07 18:31     ` Efraim Flashner
  0 siblings, 1 reply; 12+ messages in thread
From: Ludovic Courtès @ 2015-11-05 21:28 UTC (permalink / raw)
  To: Efraim Flashner; +Cc: guix-devel

Efraim Flashner <efraim@flashner.co.il> skribis:

> * gnu/packages/qt.scm (qtkeychain): New variable.

[...]

> +       (modify-phases
> +         %standard-phases

‘%standard-phases’ goes on the previous line.

> +         (add-before
> +          'configure 'set-qt-trans-dir
> +           (lambda _
> +             (substitute* "CMakeLists.txt"
> +              (("\\$\\{qt_translations_dir\\}")
> +                "${CMAKE_INSTALL_PREFIX}/share/qtkeychain/translations")))))))

Is Qt able to find translations installed there?  Is some environment
variable needed to tell it where to look for them?

> +    (synopsis "Qt API to store passwords")
> +    (description
> +      "QtKeychain is a Qt API to store passwords and other secret data
> +securely.  It will not store any data unencrypted unless explicitly requested.")

What about “service” or “service and library” rather than “API”?

Thanks,
Ludo’.

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH 2/2] gnu: Add owncloud-client.
  2015-11-02 20:49 ` [PATCH 2/2] gnu: Add owncloud-client Efraim Flashner
@ 2015-11-05 21:32   ` Ludovic Courtès
  2015-11-07 18:35     ` Efraim Flashner
  0 siblings, 1 reply; 12+ messages in thread
From: Ludovic Courtès @ 2015-11-05 21:32 UTC (permalink / raw)
  To: Efraim Flashner; +Cc: guix-devel

Efraim Flashner <efraim@flashner.co.il> skribis:

> * gnu/packages/owncloud.scm (owncloud-client): New variable.
> * gnu-system.am [GNU_SYSTEM_MODULES]: Add it.

[...]

> +       (modify-phases %standard-phases
> +        (add-after 'unpack 'change-rpath-dirs
> +          (lambda _
> +           (substitute* '("src/libsync/CMakeLists.txt"
> +                          "csync/src/CMakeLists.txt")
> +                         (("\\/\\$\\{APPLICATION_EXECUTABLE\\}") ""))
> +           (substitute* '("src/cmd/CMakeLists.txt"
> +                          "src/crashreporter/CMakeLists.txt"
> +                          "src/gui/CMakeLists.txt")
> +                         (("\\/\\$\\{APPLICATION_EXECUTABLE\\}\\\"") "\"")))))))

Please indent as in other files.  Also, could you add a comment
explaining what this does?

> +    (synopsis "GUI folder synchronization with an ownCloud server")

I’d remove “GUI” here (looks weird.)

> +    (description "The ownCloudSync system lets you always have your latest

… and s/system/GUI/ here.

Could you send an updated patch?

Thanks,
Ludo’.

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH 1/2] gnu: Add qtkeychain.
  2015-11-05 21:28   ` Ludovic Courtès
@ 2015-11-07 18:31     ` Efraim Flashner
  2015-11-08  6:17       ` Efraim Flashner
  2015-11-10 18:07       ` Ludovic Courtès
  0 siblings, 2 replies; 12+ messages in thread
From: Efraim Flashner @ 2015-11-07 18:31 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: guix-devel


[-- Attachment #1.1: Type: text/plain, Size: 1819 bytes --]

On Thu, 05 Nov 2015 22:28:42 +0100
ludo@gnu.org (Ludovic Courtès) wrote:

> Efraim Flashner <efraim@flashner.co.il> skribis:
> 
> > * gnu/packages/qt.scm (qtkeychain): New variable.  
> 
> [...]
> 
> > +       (modify-phases
> > +         %standard-phases  
> 
> ‘%standard-phases’ goes on the previous line.
> 
> > +         (add-before
> > +          'configure 'set-qt-trans-dir
> > +           (lambda _
> > +             (substitute* "CMakeLists.txt"
> > +              (("\\$\\{qt_translations_dir\\}")
> > +                "${CMAKE_INSTALL_PREFIX}/share/qtkeychain/translations")))))))  
> 
> Is Qt able to find translations installed there?  Is some environment
> variable needed to tell it where to look for them?

I don't really know. Without this it tries to install them to /gnu/store/...qt5/translations, so I tried to make a directory that would make sense. In this patch I've changed it to just /translations, but I still didn't see it in .guix-profile/share/{de,ro}/LC_MESSAGES/, so I don't really know what to do with it.
> 
> > +    (synopsis "Qt API to store passwords")
> > +    (description
> > +      "QtKeychain is a Qt API to store passwords and other secret data
> > +securely.  It will not store any data unencrypted unless explicitly requested.")  
> 
> What about “service” or “service and library” rather than “API”?

I think library works best. It can interact with gnome-keyring and the like
but would never be installed on its own. Plus as just library it doesn't go
on to the next line :)
> 
> Thanks,
> Ludo’.



-- 
Efraim Flashner   <efraim@flashner.co.il>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1.2: 0001-gnu-Add-qtkeychain.patch --]
[-- Type: text/x-patch, Size: 2700 bytes --]

From f4ae6cc0036556d1c205e8dbce658fd47f81b7fd Mon Sep 17 00:00:00 2001
From: Efraim Flashner <efraim@flashner.co.il>
Date: Wed, 16 Sep 2015 15:24:27 +0300
Subject: [PATCH 1/2] gnu: Add qtkeychain.

* gnu/packages/qt.scm (qtkeychain): New variable.
---
 gnu/packages/qt.scm | 36 +++++++++++++++++++++++++++++++++++-
 1 file changed, 35 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 9813f5b..242c21a 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -2,6 +2,7 @@
 ;;; Copyright © 2013, 2014, 2015 Andreas Enge <andreas@enge.fr>
 ;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
 ;;; Copyright © 2015 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2015 Efraim Flashner <efraim@flashner.co.il>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -19,10 +20,11 @@
 ;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
 
 (define-module (gnu packages qt)
-  #:use-module ((guix licenses) #:select (gpl2 gpl3 lgpl2.1 x11-style))
+  #:use-module ((guix licenses) #:select (bsd-3 gpl2 gpl3 lgpl2.1 x11-style))
   #:use-module (guix packages)
   #:use-module (guix download)
   #:use-module (guix build utils)
+  #:use-module (guix build-system cmake)
   #:use-module (guix build-system gnu)
   #:use-module (guix packages)
   #:use-module (guix utils)
@@ -518,3 +520,35 @@ contain over 620 classes.")
        ("qt" ,qt-4)))
     (inputs
      `(("python" ,python-2)))))
+
+(define-public qtkeychain
+  (package
+    (name "qtkeychain")
+    (version "0.5.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (string-append "https://github.com/frankosterfeld/qtkeychain/"
+                            "archive/v" version ".tar.gz"))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32 "055mkd4pz6cyff4cw0784wjc1w92m8x223sxi96ph15fr3lplbg6"))))
+    (build-system cmake-build-system)
+    (inputs
+     `(("qt", qt)))
+    (arguments
+     `(#:tests? #f ; No tests included
+       #:phases
+       (modify-phases %standard-phases
+         (add-before
+          'configure 'set-qt-trans-dir
+           (lambda _
+             (substitute* "CMakeLists.txt"
+              (("\\$\\{qt_translations_dir\\}")
+                "${CMAKE_INSTALL_PREFIX}/translations")))))))
+    (home-page "https://github.com/frankosterfeld/qtkeychain")
+    (synopsis "Qt API to store passwords")
+    (description
+      "QtKeychain is a Qt library to store passwords and other secret data
+securely.  It will not store any data unencrypted unless explicitly requested.")
+    (license bsd-3)))
-- 
2.6.2


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* Re: [PATCH 2/2] gnu: Add owncloud-client.
  2015-11-05 21:32   ` Ludovic Courtès
@ 2015-11-07 18:35     ` Efraim Flashner
  2015-11-10 18:02       ` Ludovic Courtès
  0 siblings, 1 reply; 12+ messages in thread
From: Efraim Flashner @ 2015-11-07 18:35 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: guix-devel


[-- Attachment #1.1: Type: text/plain, Size: 1892 bytes --]

On Thu, 05 Nov 2015 22:32:21 +0100
ludo@gnu.org (Ludovic Courtès) wrote:

> Efraim Flashner <efraim@flashner.co.il> skribis:
> 
> > * gnu/packages/owncloud.scm (owncloud-client): New variable.
> > * gnu-system.am [GNU_SYSTEM_MODULES]: Add it.  
> 
> [...]
> 
> > +       (modify-phases %standard-phases
> > +        (add-after 'unpack 'change-rpath-dirs
> > +          (lambda _
> > +           (substitute* '("src/libsync/CMakeLists.txt"
> > +                          "csync/src/CMakeLists.txt")
> > +                         (("\\/\\$\\{APPLICATION_EXECUTABLE\\}") ""))
> > +           (substitute* '("src/cmd/CMakeLists.txt"
> > +                          "src/crashreporter/CMakeLists.txt"
> > +                          "src/gui/CMakeLists.txt")
> > +                         (("\\/\\$\\{APPLICATION_EXECUTABLE\\}\\\"") "\"")))))))  
> 
> Please indent as in other files.  Also, could you add a comment
> explaining what this does?

Intenting fixed. I also added a comment that the default is to save the
libraries in /usr/lib/name/ and we store them in $out/lib/, hence removing
the last piece

> 
> > +    (synopsis "GUI folder synchronization with an ownCloud server")  
> 
> I’d remove “GUI” here (looks weird.)

ok

> 
> > +    (description "The ownCloudSync system lets you always have your latest  
> 
> … and s/system/GUI/ here.

ok. Also, this package has both the GUI sync client and the cli sync client.
Debian splits the output into two packages, but I'm assuming that wouldn't
actually save that much of the build time.

> 
> Could you send an updated patch?

of course

> 
> Thanks,
> Ludo’.



-- 
Efraim Flashner   <efraim@flashner.co.il>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1.2: 0002-gnu-Add-owncloud-client.patch --]
[-- Type: text/x-patch, Size: 4649 bytes --]

From 56d9cb2f5132838cbaefb9a5488fb2cdd9b126e2 Mon Sep 17 00:00:00 2001
From: Efraim Flashner <efraim@flashner.co.il>
Date: Mon, 2 Nov 2015 19:31:31 +0200
Subject: [PATCH 2/2] gnu: Add owncloud-client.

* gnu/packages/owncloud.scm (owncloud-client): New variable.
* gnu-system.am [GNU_SYSTEM_MODULES]: Add it.
---
 gnu-system.am             |  1 +
 gnu/packages/owncloud.scm | 80 +++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 81 insertions(+)
 create mode 100644 gnu/packages/owncloud.scm

diff --git a/gnu-system.am b/gnu-system.am
index f3ded69..3612958 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -241,6 +241,7 @@ GNU_SYSTEM_MODULES =				\
   gnu/packages/openstack.scm			\
   gnu/packages/orpheus.scm			\
   gnu/packages/ots.scm				\
+  gnu/packages/owncloud.scm			\
   gnu/packages/package-management.scm		\
   gnu/packages/parallel.scm			\
   gnu/packages/password-utils.scm		\
diff --git a/gnu/packages/owncloud.scm b/gnu/packages/owncloud.scm
new file mode 100644
index 0000000..58c2a51
--- /dev/null
+++ b/gnu/packages/owncloud.scm
@@ -0,0 +1,80 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2015 Efraim Flashner <efraim@flashner.co.il>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages owncloud)
+  #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (guix build-system cmake)
+  #:use-module (guix download)
+  #:use-module (guix packages)
+  #:use-module (gnu packages compression)
+  #:use-module (gnu packages databases)
+  #:use-module (gnu packages linux)
+  #:use-module (gnu packages perl)
+  #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages python)
+  #:use-module (gnu packages qt)
+  #:use-module (gnu packages ruby)
+  #:use-module (gnu packages tls))
+
+(define-public owncloud-client
+  (package
+    (name "owncloud-client")
+    (version "2.0.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://download.owncloud.com/desktop/stable/"
+                           "owncloudclient-" version ".tar.xz"))
+       (sha256
+        (base32 "0a42nqx0gn10n7ikhxwif0lqddmb6gbvr45bqbbl30an9gixq598"))))
+    (build-system cmake-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'change-rpath-dirs
+          (lambda _
+            (substitute* '("src/libsync/CMakeLists.txt"
+                           "csync/src/CMakeLists.txt")
+              ;; We store the libs in out/lib and not /usr/lib/appname, so we 
+              ;; need the executable to point to the libraries in /lib and not
+              ;; in /lib/appname. 
+              (("\\/\\$\\{APPLICATION_EXECUTABLE\\}") ""))
+            (substitute* '("src/cmd/CMakeLists.txt"
+                           "src/crashreporter/CMakeLists.txt"
+                           "src/gui/CMakeLists.txt")
+              ;; This has the same issue as the substitution above.
+              (("\\/\\$\\{APPLICATION_EXECUTABLE\\}\\\"") "\"")))))))
+    (native-inputs `(("pkg-config" ,pkg-config)))
+    (inputs
+     `(("inotify-tools" ,inotify-tools)
+       ("openssl" ,openssl)
+       ("perl" ,perl)
+       ("python-wrapper" ,python-wrapper)
+       ("qt" ,qt)
+       ("qtkeychain" ,qtkeychain)
+       ("ruby" ,ruby)
+       ("sqlite" ,sqlite)
+       ("zlib" ,zlib)))
+    (home-page "https://owncloud.org")
+    (synopsis "Folder synchronization with an ownCloud server")
+    (description "The ownCloudSync system lets you always have your latest
+files wherever you are.  Just specify one or more folders on the local machine
+to and a server to synchronize to.  You can configure more computers to
+synchronize to the same server and any change to the files on one computer will
+silently and reliably flow across to every other.")
+    (license license:gpl2+)))
-- 
2.6.2


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* Re: [PATCH 1/2] gnu: Add qtkeychain.
  2015-11-07 18:31     ` Efraim Flashner
@ 2015-11-08  6:17       ` Efraim Flashner
  2015-11-10 18:07       ` Ludovic Courtès
  1 sibling, 0 replies; 12+ messages in thread
From: Efraim Flashner @ 2015-11-08  6:17 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: guix-devel


[-- Attachment #1.1: Type: text/plain, Size: 2064 bytes --]

On Sat, 7 Nov 2015 20:31:45 +0200
Efraim Flashner <efraim@flashner.co.il> wrote:

> On Thu, 05 Nov 2015 22:28:42 +0100
> ludo@gnu.org (Ludovic Courtès) wrote:
> 
> > Efraim Flashner <efraim@flashner.co.il> skribis:
> >   
> > > * gnu/packages/qt.scm (qtkeychain): New variable.    
> > 
> > [...]
> >   
> > > +       (modify-phases
> > > +         %standard-phases    
> > 
> > ‘%standard-phases’ goes on the previous line.
> >   
> > > +         (add-before
> > > +          'configure 'set-qt-trans-dir
> > > +           (lambda _
> > > +             (substitute* "CMakeLists.txt"
> > > +              (("\\$\\{qt_translations_dir\\}")
> > > +                "${CMAKE_INSTALL_PREFIX}/share/qtkeychain/translations")))))))    
> > 
> > Is Qt able to find translations installed there?  Is some environment
> > variable needed to tell it where to look for them?  
> 
> I don't really know. Without this it tries to install them to /gnu/store/...qt5/translations, so I tried to make a directory that would make sense. In this patch I've changed it to just /translations, but I still didn't see it in .guix-profile/share/{de,ro}/LC_MESSAGES/, so I don't really know what to do with it.
> >   
--
> > Thanks,
> > Ludo’.  
> 

I took a look at Nix's qtkeychain package and I saw they put the translations
in /share/qt/translations so I changed the output (again) to there, and when
I installed it, there it was in .guix-profile/share/qt/translations, so I
think we may actually be at the right point with it. I don't know what the
difference is between /share/qt/translations and /share/$lang/LC_MESSAGES. I
installed qt and didn't see any difference. I could change the output so that
it lands in LC_MESSAGES, but that seems even messier than the other options
since it has to be filtered by language.


-- 
Efraim Flashner   <efraim@flashner.co.il>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1.2: 0001-gnu-Add-qtkeychain.patch --]
[-- Type: text/x-patch, Size: 2709 bytes --]

From f4ae6cc0036556d1c205e8dbce658fd47f81b7fd Mon Sep 17 00:00:00 2001
From: Efraim Flashner <efraim@flashner.co.il>
Date: Wed, 16 Sep 2015 15:24:27 +0300
Subject: [PATCH 1/2] gnu: Add qtkeychain.

* gnu/packages/qt.scm (qtkeychain): New variable.
---
 gnu/packages/qt.scm | 36 +++++++++++++++++++++++++++++++++++-
 1 file changed, 35 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 9813f5b..242c21a 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -2,6 +2,7 @@
 ;;; Copyright © 2013, 2014, 2015 Andreas Enge <andreas@enge.fr>
 ;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
 ;;; Copyright © 2015 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2015 Efraim Flashner <efraim@flashner.co.il>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -19,10 +20,11 @@
 ;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
 
 (define-module (gnu packages qt)
-  #:use-module ((guix licenses) #:select (gpl2 gpl3 lgpl2.1 x11-style))
+  #:use-module ((guix licenses) #:select (bsd-3 gpl2 gpl3 lgpl2.1 x11-style))
   #:use-module (guix packages)
   #:use-module (guix download)
   #:use-module (guix build utils)
+  #:use-module (guix build-system cmake)
   #:use-module (guix build-system gnu)
   #:use-module (guix packages)
   #:use-module (guix utils)
@@ -518,3 +520,35 @@ contain over 620 classes.")
        ("qt" ,qt-4)))
     (inputs
      `(("python" ,python-2)))))
+
+(define-public qtkeychain
+  (package
+    (name "qtkeychain")
+    (version "0.5.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (string-append "https://github.com/frankosterfeld/qtkeychain/"
+                            "archive/v" version ".tar.gz"))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32 "055mkd4pz6cyff4cw0784wjc1w92m8x223sxi96ph15fr3lplbg6"))))
+    (build-system cmake-build-system)
+    (inputs
+     `(("qt", qt)))
+    (arguments
+     `(#:tests? #f ; No tests included
+       #:phases
+       (modify-phases %standard-phases
+         (add-before
+          'configure 'set-qt-trans-dir
+           (lambda _
+             (substitute* "CMakeLists.txt"
+              (("\\$\\{qt_translations_dir\\}")
+                "${CMAKE_INSTALL_PREFIX}/share/qt/translations")))))))
+    (home-page "https://github.com/frankosterfeld/qtkeychain")
+    (synopsis "Qt API to store passwords")
+    (description
+      "QtKeychain is a Qt library to store passwords and other secret data
+securely.  It will not store any data unencrypted unless explicitly requested.")
+    (license bsd-3)))
-- 
2.6.2


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* Re: [PATCH 2/2] gnu: Add owncloud-client.
  2015-11-07 18:35     ` Efraim Flashner
@ 2015-11-10 18:02       ` Ludovic Courtès
  0 siblings, 0 replies; 12+ messages in thread
From: Ludovic Courtès @ 2015-11-10 18:02 UTC (permalink / raw)
  To: Efraim Flashner; +Cc: guix-devel

Efraim Flashner <efraim@flashner.co.il> skribis:

> From 56d9cb2f5132838cbaefb9a5488fb2cdd9b126e2 Mon Sep 17 00:00:00 2001
> From: Efraim Flashner <efraim@flashner.co.il>
> Date: Mon, 2 Nov 2015 19:31:31 +0200
> Subject: [PATCH 2/2] gnu: Add owncloud-client.
>
> * gnu/packages/owncloud.scm (owncloud-client): New variable.
> * gnu-system.am [GNU_SYSTEM_MODULES]: Add it.

Should be parentheses instead of square brackets here (see ‘git log’.)

Otherwise LGTM, thanks!

Ludo’.

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH 1/2] gnu: Add qtkeychain.
  2015-11-07 18:31     ` Efraim Flashner
  2015-11-08  6:17       ` Efraim Flashner
@ 2015-11-10 18:07       ` Ludovic Courtès
  2015-11-12 12:22         ` Efraim Flashner
  1 sibling, 1 reply; 12+ messages in thread
From: Ludovic Courtès @ 2015-11-10 18:07 UTC (permalink / raw)
  To: Efraim Flashner; +Cc: guix-devel

Efraim Flashner <efraim@flashner.co.il> skribis:

> On Thu, 05 Nov 2015 22:28:42 +0100
> ludo@gnu.org (Ludovic Courtès) wrote:
>
>> Efraim Flashner <efraim@flashner.co.il> skribis:
>> 
>> > * gnu/packages/qt.scm (qtkeychain): New variable.  
>> 
>> [...]
>> 
>> > +       (modify-phases
>> > +         %standard-phases  
>> 
>> ‘%standard-phases’ goes on the previous line.
>> 
>> > +         (add-before
>> > +          'configure 'set-qt-trans-dir
>> > +           (lambda _
>> > +             (substitute* "CMakeLists.txt"
>> > +              (("\\$\\{qt_translations_dir\\}")
>> > +                "${CMAKE_INSTALL_PREFIX}/share/qtkeychain/translations")))))))  
>> 
>> Is Qt able to find translations installed there?  Is some environment
>> variable needed to tell it where to look for them?
>
> I don't really know.

Could you check by running it with a non-English locale listed that
appears in the ‘translations’ directory?

Maybe run the application in ‘strace’ to see whether/where it looks for
its translation files.

> Without this it tries to install them to
> /gnu/store/...qt5/translations, so I tried to make a directory that
> would make sense. In this patch I've changed it to just /translations,
> but I still didn't see it in .guix-profile/share/{de,ro}/LC_MESSAGES/,
> so I don't really know what to do with it.

Qt has its own mechanism for translation of UI messages.  The
LC_MESSAGES thing is used by the ‘gettext’ function, part of libc.

Applications using ‘gettext’ tell libc the location of their
translations using ‘bindtextdomain’.

Qt must have a way to know where translations are; maybe it has a
function similar to ‘bindtextdomain’, in which case things will just
work regardless of where translations are installed.

TIA,
Ludo’.

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH 1/2] gnu: Add qtkeychain.
  2015-11-10 18:07       ` Ludovic Courtès
@ 2015-11-12 12:22         ` Efraim Flashner
  2015-11-12 13:03           ` Ludovic Courtès
  0 siblings, 1 reply; 12+ messages in thread
From: Efraim Flashner @ 2015-11-12 12:22 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: guix-devel

[-- Attachment #1: Type: text/plain, Size: 2460 bytes --]

On Tue, 10 Nov 2015 19:07:20 +0100
ludo@gnu.org (Ludovic Courtès) wrote:

> Efraim Flashner <efraim@flashner.co.il> skribis:
> 
> > On Thu, 05 Nov 2015 22:28:42 +0100
> > ludo@gnu.org (Ludovic Courtès) wrote:
> >  
> >> Efraim Flashner <efraim@flashner.co.il> skribis:
> >>   
> >> > * gnu/packages/qt.scm (qtkeychain): New variable.    
> >> 
> >> [...]
> >>   
> >> > +       (modify-phases
> >> > +         %standard-phases    
> >> 
> >> ‘%standard-phases’ goes on the previous line.
> >>   
> >> > +         (add-before
> >> > +          'configure 'set-qt-trans-dir
> >> > +           (lambda _
> >> > +             (substitute* "CMakeLists.txt"
> >> > +              (("\\$\\{qt_translations_dir\\}")
> >> > +                "${CMAKE_INSTALL_PREFIX}/share/qtkeychain/translations")))))))    
> >> 
> >> Is Qt able to find translations installed there?  Is some environment
> >> variable needed to tell it where to look for them?  
> >
> > I don't really know.  
> 
> Could you check by running it with a non-English locale listed that
> appears in the ‘translations’ directory?
> 
> Maybe run the application in ‘strace’ to see whether/where it looks for
> its translation files.
> 
> > Without this it tries to install them to
> > /gnu/store/...qt5/translations, so I tried to make a directory that
> > would make sense. In this patch I've changed it to just /translations,
> > but I still didn't see it in .guix-profile/share/{de,ro}/LC_MESSAGES/,
> > so I don't really know what to do with it.  
> 
> Qt has its own mechanism for translation of UI messages.  The
> LC_MESSAGES thing is used by the ‘gettext’ function, part of libc.
> 
> Applications using ‘gettext’ tell libc the location of their
> translations using ‘bindtextdomain’.
> 
> Qt must have a way to know where translations are; maybe it has a
> function similar to ‘bindtextdomain’, in which case things will just
> work regardless of where translations are installed.
> 
> TIA,
> Ludo’.

It works! I did `export LANG=de` and then
ran /./gnu/store/...owncloud/bin/owncloud, and I got a German popup telling
me there was no associated keychain and I had to enter the password myself.
-- 
Efraim Flashner   <efraim@flashner.co.il>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH 1/2] gnu: Add qtkeychain.
  2015-11-12 12:22         ` Efraim Flashner
@ 2015-11-12 13:03           ` Ludovic Courtès
  0 siblings, 0 replies; 12+ messages in thread
From: Ludovic Courtès @ 2015-11-12 13:03 UTC (permalink / raw)
  To: Efraim Flashner; +Cc: guix-devel

Efraim Flashner <efraim@flashner.co.il> skribis:

> On Tue, 10 Nov 2015 19:07:20 +0100
> ludo@gnu.org (Ludovic Courtès) wrote:
>
>> Efraim Flashner <efraim@flashner.co.il> skribis:
>> 
>> > On Thu, 05 Nov 2015 22:28:42 +0100
>> > ludo@gnu.org (Ludovic Courtès) wrote:
>> >  
>> >> Efraim Flashner <efraim@flashner.co.il> skribis:
>> >>   
>> >> > * gnu/packages/qt.scm (qtkeychain): New variable.    
>> >> 
>> >> [...]
>> >>   
>> >> > +       (modify-phases
>> >> > +         %standard-phases    
>> >> 
>> >> ‘%standard-phases’ goes on the previous line.
>> >>   
>> >> > +         (add-before
>> >> > +          'configure 'set-qt-trans-dir
>> >> > +           (lambda _
>> >> > +             (substitute* "CMakeLists.txt"
>> >> > +              (("\\$\\{qt_translations_dir\\}")
>> >> > +                "${CMAKE_INSTALL_PREFIX}/share/qtkeychain/translations")))))))    
>> >> 
>> >> Is Qt able to find translations installed there?  Is some environment
>> >> variable needed to tell it where to look for them?  
>> >
>> > I don't really know.  
>> 
>> Could you check by running it with a non-English locale listed that
>> appears in the ‘translations’ directory?

[...]

> It works! I did `export LANG=de` and then
> ran /./gnu/store/...owncloud/bin/owncloud, and I got a German popup telling
> me there was no associated keychain and I had to enter the password myself.

Good!

So I think, with the tiny stylistic issues I reported fixed, you
can push.

Thank you for your patience!

Ludo’.

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2015-11-12 13:03 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-11-02 20:49 [PATCH 0/2] Owncloud-client Efraim Flashner
2015-11-02 20:49 ` [PATCH 1/2] gnu: Add qtkeychain Efraim Flashner
2015-11-05 21:28   ` Ludovic Courtès
2015-11-07 18:31     ` Efraim Flashner
2015-11-08  6:17       ` Efraim Flashner
2015-11-10 18:07       ` Ludovic Courtès
2015-11-12 12:22         ` Efraim Flashner
2015-11-12 13:03           ` Ludovic Courtès
2015-11-02 20:49 ` [PATCH 2/2] gnu: Add owncloud-client Efraim Flashner
2015-11-05 21:32   ` Ludovic Courtès
2015-11-07 18:35     ` Efraim Flashner
2015-11-10 18:02       ` Ludovic Courtès

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).