unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* [PATCH 1/2] gnu: Add tinyxml2.
@ 2016-09-11  1:13 Tobias Geerinckx-Rice
  2016-09-11  1:13 ` [PATCH 2/2] gnu: encfs: Update to 1.9 Tobias Geerinckx-Rice
  2016-09-12 13:40 ` [PATCH 1/2] gnu: Add tinyxml2 Ludovic Courtès
  0 siblings, 2 replies; 9+ messages in thread
From: Tobias Geerinckx-Rice @ 2016-09-11  1:13 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/xml.scm (tinyxml2): New variable.
---
 gnu/packages/xml.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/xml.scm b/gnu/packages/xml.scm
index e9074db..7befad5 100644
--- a/gnu/packages/xml.scm
+++ b/gnu/packages/xml.scm
@@ -12,6 +12,7 @@
 ;;; Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com>
 ;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
 ;;; Copyright © 2016 ng0 <ng0@we.make.ritual.n0.is>
+;;; Copyright © 2016 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -883,6 +884,27 @@ C++ programming language.")
     (home-page "http://www.grinninglizard.com/tinyxml/index.html")
     (license license:zlib)))
 
+(define-public tinyxml2
+  (package
+    (name "tinyxml2")
+    (version "4.0.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://github.com/leethomason/tinyxml2/archive/"
+                           version ".tar.gz"))
+       (sha256
+       (base32
+        "083z4r4khcndxi9k840lcr48sqxvar4gpsnf749xfdn1bkr8xcql"))))
+    (build-system cmake-build-system)
+    (arguments
+     `(#:tests? #f))    ; no tests
+    (synopsis "Small XML parser for C++")
+    (description "TinyXML2 is a small and simple XML parsing library for the
+C++ programming language.")
+    (home-page "http://www.grinninglizard.com/tinyxml2/")
+    (license license:zlib)))
+
 (define-public xmlstarlet
  (package
    (name "xmlstarlet")
-- 
2.7.4

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

* [PATCH 2/2] gnu: encfs: Update to 1.9.
  2016-09-11  1:13 [PATCH 1/2] gnu: Add tinyxml2 Tobias Geerinckx-Rice
@ 2016-09-11  1:13 ` Tobias Geerinckx-Rice
  2016-09-12 13:42   ` Ludovic Courtès
  2016-09-12 13:40 ` [PATCH 1/2] gnu: Add tinyxml2 Ludovic Courtès
  1 sibling, 1 reply; 9+ messages in thread
From: Tobias Geerinckx-Rice @ 2016-09-11  1:13 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/crypto.scm (encfs): Update to 1.9.
[source]: Remove bundled TinyXML2 in a snippet.
[build-system]: Switch to cmake-build-system.
[arguments]: Remove autotools-related phases and configure-flags.
Don't use bundled TinyXML2.
[native-inputs]: Remove autoconf, automake, libtool, and pkg-config.
Add expect.
[inputs]: Remove boost and rlog, while adding attr and tinyxml2.
[license]: Add expat licence for new easylogging++.h file.
---
 gnu/packages/crypto.scm | 41 ++++++++++++++++++++++-------------------
 1 file changed, 22 insertions(+), 19 deletions(-)

diff --git a/gnu/packages/crypto.scm b/gnu/packages/crypto.scm
index 055551f..ea1eba1 100644
--- a/gnu/packages/crypto.scm
+++ b/gnu/packages/crypto.scm
@@ -23,6 +23,7 @@
 
 (define-module (gnu packages crypto)
   #:use-module (gnu packages)
+  #:use-module (gnu packages attr)
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages boost)
   #:use-module (gnu packages gettext)
@@ -34,11 +35,14 @@
   #:use-module (gnu packages perl)
   #:use-module (gnu packages readline)
   #:use-module (gnu packages serialization)
+  #:use-module (gnu packages tcl)
   #:use-module (gnu packages tls)
+  #:use-module (gnu packages xml)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
   #:use-module (guix download)
   #:use-module (guix git-download)
+  #:use-module (guix build-system cmake)
   #:use-module (guix build-system gnu))
 
 (define-public libsodium
@@ -185,7 +189,7 @@ communication.")
 (define-public encfs
   (package
     (name "encfs")
-    (version "1.8.1")
+    (version "1.9")
     (source
      (origin
        (method url-fetch)
@@ -194,27 +198,25 @@ communication.")
                        version "/encfs-" version ".tar.gz"))
        (sha256
         (base32
-         "1lfmcsk187qr6ahy8c8959p7jrk9d5rd9kcsx572850ca3zmf0la"))))
-    (build-system gnu-build-system)
+         "1gzlhq2dlwan3hll414wqinj92lb05wd4j370j190dgcalaxplih"))
+       (modules '((guix build utils)))
+       ;; Remove bundled dependencies in favour of proper inputs.
+       (snippet '(for-each delete-file-recursively
+                           (find-files "internal" "tinyxml2")))))
+    (build-system cmake-build-system)
     (arguments
-     `(#:configure-flags '("--with-boost-serialization=boost_wserialization"
-                           "--with-boost-filesystem=boost_filesystem")
-       #:phases (modify-phases %standard-phases
-                  (add-before 'configure 'autoconf
-                    (lambda _
-                      (zero? (system* "autoreconf" "-vfi")))))))
+     `(#:configure-flags (list "-DUSE_INTERNAL_TINYXML=OFF")))
     (native-inputs
-     `(("autoconf" ,autoconf)
-       ("automake" ,automake)
-       ("gettext" ,gnu-gettext)
-       ("libtool" ,libtool)
-       ("perl" ,perl)
-       ("pkg-config" ,pkg-config)))
+     `(("gettext" ,gnu-gettext)
+
+       ;; Test dependencies.
+       ("expect" ,expect)
+       ("perl" ,perl)))
     (inputs
-     `(("boost" ,boost)
+     `(("attr" ,attr)
        ("fuse" ,fuse)
        ("openssl" ,openssl)
-       ("rlog" ,rlog)))
+       ("tinyxml2" ,tinyxml2)))
     (home-page "https://vgough.github.io/encfs")
     (synopsis "Encrypted virtual file system")
     (description
@@ -223,8 +225,9 @@ created under an EncFS mount point is stored as a separate encrypted file on
 the underlying file system.  Like most encrypted file systems, EncFS is meant
 to provide security against off-line attacks, such as a drive falling into
 the wrong hands.")
-    (license (list license:lgpl3+                 ;encfs library
-                   license:gpl3+))))              ;command-line tools
+    (license (list license:expat                  ; internal/easylogging++.h
+                   license:lgpl3+                 ; encfs library
+                   license:gpl3+))))              ; command-line tools
 
 (define-public keyutils
   (package
-- 
2.7.4

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

* Re: [PATCH 1/2] gnu: Add tinyxml2.
  2016-09-11  1:13 [PATCH 1/2] gnu: Add tinyxml2 Tobias Geerinckx-Rice
  2016-09-11  1:13 ` [PATCH 2/2] gnu: encfs: Update to 1.9 Tobias Geerinckx-Rice
@ 2016-09-12 13:40 ` Ludovic Courtès
  2016-09-13 15:31   ` Tobias Geerinckx-Rice
  1 sibling, 1 reply; 9+ messages in thread
From: Ludovic Courtès @ 2016-09-12 13:40 UTC (permalink / raw)
  To: Tobias Geerinckx-Rice; +Cc: guix-devel

Tobias Geerinckx-Rice <me@tobias.gr> skribis:

> * gnu/packages/xml.scm (tinyxml2): New variable.

[...]

> +    (synopsis "Small XML parser for C++")
> +    (description "TinyXML2 is a small and simple XML parsing library for the
> +C++ programming language.")

Does it honor an environment variable like XML_CATALOG_FILES that could
be put in ‘search-paths’?

Otherwise LGTM, thanks!

Ludo’.

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

* Re: [PATCH 2/2] gnu: encfs: Update to 1.9.
  2016-09-11  1:13 ` [PATCH 2/2] gnu: encfs: Update to 1.9 Tobias Geerinckx-Rice
@ 2016-09-12 13:42   ` Ludovic Courtès
  2016-09-12 13:54     ` Tobias Geerinckx-Rice
  0 siblings, 1 reply; 9+ messages in thread
From: Ludovic Courtès @ 2016-09-12 13:42 UTC (permalink / raw)
  To: Tobias Geerinckx-Rice; +Cc: guix-devel

Tobias Geerinckx-Rice <me@tobias.gr> skribis:

> * gnu/packages/crypto.scm (encfs): Update to 1.9.
> [source]: Remove bundled TinyXML2 in a snippet.
> [build-system]: Switch to cmake-build-system.
> [arguments]: Remove autotools-related phases and configure-flags.
> Don't use bundled TinyXML2.
> [native-inputs]: Remove autoconf, automake, libtool, and pkg-config.
> Add expect.
> [inputs]: Remove boost and rlog, while adding attr and tinyxml2.
> [license]: Add expat licence for new easylogging++.h file.

[...]

> +       (snippet '(for-each delete-file-recursively
> +                           (find-files "internal" "tinyxml2")))))

Note that the 2nd argument to ‘find-files’ is a regexp.  Is this really
intended?

Otherwise LGTM, thanks!

Ludo’.

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

* Re: [PATCH 2/2] gnu: encfs: Update to 1.9.
  2016-09-12 13:42   ` Ludovic Courtès
@ 2016-09-12 13:54     ` Tobias Geerinckx-Rice
  2016-09-13 12:11       ` Ludovic Courtès
  0 siblings, 1 reply; 9+ messages in thread
From: Tobias Geerinckx-Rice @ 2016-09-12 13:54 UTC (permalink / raw)
  To: ludo; +Cc: guix-devel


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

Ludo',

On 12/09/16 15:42, Ludovic Courtès wrote:
>> +       (snippet '(for-each delete-file-recursively
>> +                           (find-files "internal" "tinyxml2")))))
> 
> Note that the 2nd argument to ‘find-files’ is a regexp.  Is this really
> intended?

It is. The directory to be deleted is actually named "tinyxml2-3.0.0"
(or so), with future version bumps too easy to miss.

This seemed like the clea{n,r}est syntax, but then I'm already familiar
with find-files. I could change it to "^tinyxml2" for no other reason
than to scream ‘I'm a regex’ if you think that's needed.

> Otherwise LGTM, thanks!

Thank you!

Kind regards,

T G-R


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

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

* Re: [PATCH 2/2] gnu: encfs: Update to 1.9.
  2016-09-12 13:54     ` Tobias Geerinckx-Rice
@ 2016-09-13 12:11       ` Ludovic Courtès
  2016-09-13 18:25         ` Tobias Geerinckx-Rice
  0 siblings, 1 reply; 9+ messages in thread
From: Ludovic Courtès @ 2016-09-13 12:11 UTC (permalink / raw)
  To: Tobias Geerinckx-Rice; +Cc: guix-devel

Tobias Geerinckx-Rice <me@tobias.gr> skribis:

> On 12/09/16 15:42, Ludovic Courtès wrote:
>>> +       (snippet '(for-each delete-file-recursively
>>> +                           (find-files "internal" "tinyxml2")))))
>> 
>> Note that the 2nd argument to ‘find-files’ is a regexp.  Is this really
>> intended?
>
> It is. The directory to be deleted is actually named "tinyxml2-3.0.0"
> (or so), with future version bumps too easy to miss.

OK, makes sense.

However, ‘find-files’ does not include directories in its result, unless
you explicitly ask for it.  So probably it should be:

  (for-each delete-file-recursively
            (find-files "internal" "^tinyxml2"
                        #:directories? #t))

?

Ludo’.

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

* Re: [PATCH 1/2] gnu: Add tinyxml2.
  2016-09-12 13:40 ` [PATCH 1/2] gnu: Add tinyxml2 Ludovic Courtès
@ 2016-09-13 15:31   ` Tobias Geerinckx-Rice
  0 siblings, 0 replies; 9+ messages in thread
From: Tobias Geerinckx-Rice @ 2016-09-13 15:31 UTC (permalink / raw)
  To: ludo; +Cc: guix-devel


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

Ludo',

On 12/09/16 15:40, Ludovic Courtès wrote:
> Does it honor an environment variable like XML_CATALOG_FILES that could
> be put in ‘search-paths’?

None that I can find, after a quick grep of the source ball for things
like ‘env’ and ‘PATH’.

Kind regards,

T G-R


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

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

* Re: [PATCH 2/2] gnu: encfs: Update to 1.9.
  2016-09-13 12:11       ` Ludovic Courtès
@ 2016-09-13 18:25         ` Tobias Geerinckx-Rice
  2016-09-13 21:59           ` Ludovic Courtès
  0 siblings, 1 reply; 9+ messages in thread
From: Tobias Geerinckx-Rice @ 2016-09-13 18:25 UTC (permalink / raw)
  To: ludo; +Cc: guix-devel


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

Ludo',

On 13/09/16 14:11, Ludovic Courtès wrote:
> However, ‘find-files’ does not include directories in its result, 
> unless you explicitly ask for it.  So probably it should be:
> 
> (for-each delete-file-recursively (find-files "internal" "^tinyxml2" 
> #:directories? #t))

Indeed, thanks. I'll push with the more specific

    (snippet '(for-each delete-file-recursively
                        (find-files "internal" "^tinyxml2-[0-9]"
                                    #:directories? #t)))))

unless anyone raises any objections. Otherwise, find-files returns some
matching subdirectories as well (‘^tinyxml2-.*/.*/tinyxml2-.*’) which
delete-file-recursively still tries to delete after the parent is gone.

Kind regards,

T G-R


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

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

* Re: [PATCH 2/2] gnu: encfs: Update to 1.9.
  2016-09-13 18:25         ` Tobias Geerinckx-Rice
@ 2016-09-13 21:59           ` Ludovic Courtès
  0 siblings, 0 replies; 9+ messages in thread
From: Ludovic Courtès @ 2016-09-13 21:59 UTC (permalink / raw)
  To: Tobias Geerinckx-Rice; +Cc: guix-devel

Tobias Geerinckx-Rice <me@tobias.gr> skribis:

> Ludo',
>
> On 13/09/16 14:11, Ludovic Courtès wrote:
>> However, ‘find-files’ does not include directories in its result, 
>> unless you explicitly ask for it.  So probably it should be:
>> 
>> (for-each delete-file-recursively (find-files "internal" "^tinyxml2" 
>> #:directories? #t))
>
> Indeed, thanks. I'll push with the more specific
>
>     (snippet '(for-each delete-file-recursively
>                         (find-files "internal" "^tinyxml2-[0-9]"
>                                     #:directories? #t)))))
>
> unless anyone raises any objections. Otherwise, find-files returns some
> matching subdirectories as well (‘^tinyxml2-.*/.*/tinyxml2-.*’) which
> delete-file-recursively still tries to delete after the parent is gone.

Sounds good!

Thanks,
Ludo’.

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

end of thread, other threads:[~2016-09-13 21:59 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-09-11  1:13 [PATCH 1/2] gnu: Add tinyxml2 Tobias Geerinckx-Rice
2016-09-11  1:13 ` [PATCH 2/2] gnu: encfs: Update to 1.9 Tobias Geerinckx-Rice
2016-09-12 13:42   ` Ludovic Courtès
2016-09-12 13:54     ` Tobias Geerinckx-Rice
2016-09-13 12:11       ` Ludovic Courtès
2016-09-13 18:25         ` Tobias Geerinckx-Rice
2016-09-13 21:59           ` Ludovic Courtès
2016-09-12 13:40 ` [PATCH 1/2] gnu: Add tinyxml2 Ludovic Courtès
2016-09-13 15:31   ` Tobias Geerinckx-Rice

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).