From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:54267) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fUHva-0000Dd-1w for guix-patches@gnu.org; Sat, 16 Jun 2018 16:36:07 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fUHvW-0005yV-PS for guix-patches@gnu.org; Sat, 16 Jun 2018 16:36:06 -0400 Received: from debbugs.gnu.org ([208.118.235.43]:44226) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1fUHvW-0005yM-Ey for guix-patches@gnu.org; Sat, 16 Jun 2018 16:36:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1fUHvW-0007mK-68 for guix-patches@gnu.org; Sat, 16 Jun 2018 16:36:02 -0400 Subject: [bug#31733] [PATCH] gnu: encfs: Update to 1.9.5. Resent-Message-ID: From: Kei Kebreau References: <20180606094730.15892-1-ambrevar@gmail.com> <87o9gd2zcy.fsf@posteo.net> <87lgbh2yv5.fsf@posteo.net> <877emyhlo6.fsf@gmail.com> <87efh63gcq.fsf@posteo.net> <874li2hh2c.fsf@gmail.com> Date: Sat, 16 Jun 2018 16:35:19 -0400 In-Reply-To: <874li2hh2c.fsf@gmail.com> (Pierre Neidhardt's message of "Sat, 16 Jun 2018 17:44:27 +0200") Message-ID: <87a7ru31x4.fsf@posteo.net> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="==-=-="; micalg=pgp-sha256; protocol="application/pgp-signature" List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org Sender: "Guix-patches" To: Pierre Neidhardt Cc: 31733@debbugs.gnu.org --==-=-= Content-Type: multipart/mixed; boundary="=-=-=" --=-=-= Content-Type: text/plain Pierre Neidhardt writes: > Kei Kebreau writes: > >>> - googletest: this one does not have an option in CMakeList.txt to be >>> used externally. So either we report upstream or we patch the >>> CMakeList.txt. >>> >> >> I see that while CMakeLists.txt doesn't have an external option to >> control this, it *does* look for googletest in the vendor >> directory. Perhaps we can add our own googletest as a native input and >> remove the bundled googletest and CMakeLists.txt's references to it in a >> snippet? > > I have no experience at all with googletest. Do you know how, when and > why to use it? > If so, could you help me with this process? Thanks! I don't have experience with it either, but I did find an interesting way around the issue in the Guix code. (Usually if I have an issue packaging something, I try "grepping" around the existing code to see if someone has already solved a similar problem.) I've attached a patch (based on yours) that covers the method: [...] (snippet '(begin (for-each delete-file-recursively - (find-files "internal" "^tinyxml2-[0-9]" - #:directories? #t)) + '("vendor/github.com/leethomason/tinyxml2" + "vendor/github.com/google/googletest")) #t)))) Here I just remove the tinyxml2 and googletest directories as discussed. [...] ;; Test dependencies. ("expect" ,expect) + ("googletest-source" ,(package-source googletest)) ("perl" ,perl))) (inputs `(("attr" ,attr) As seen in the definition for gnucash, the idea is to extract *our* googletest source code in place of the bundled version. This seems to be the easiest way to deal with replacing googletest in this case rather than completely removing it. [...] + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'unpack-googletest + (lambda* (#:key inputs #:allow-other-keys) + (mkdir-p "vendor/github.com/google/googletest") + (invoke "tar" "xvf" (assoc-ref inputs "googletest-source") + "-C" "vendor/github.com/google/googletest" + "--strip-components=1"))) This phase does the extracting bit. As for the Easylogging++ and google/benchmark replacements, we'd have to start by packaging them. Did this help at all? --=-=-= Content-Type: text/plain Content-Disposition: attachment; filename=0001-gnu-encfs-Update-to-1.9.5.patch Content-Transfer-Encoding: quoted-printable From=2052ce45f9ee4961207b14e7b3a2835a1db78501fd Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Wed, 6 Jun 2018 11:47:30 +0200 Subject: [PATCH] gnu: encfs: Update to 1.9.5. * gnu/packages/crypto.scm (encfs): Update to 1.9.5. Signed-off-by: Kei Kebreau =2D-- gnu/packages/crypto.scm | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/gnu/packages/crypto.scm b/gnu/packages/crypto.scm index 105760afa..338db04f5 100644 =2D-- a/gnu/packages/crypto.scm +++ b/gnu/packages/crypto.scm @@ -32,6 +32,7 @@ #:use-module (gnu packages attr) #:use-module (gnu packages autotools) #:use-module (gnu packages boost) + #:use-module (gnu packages check) #:use-module (gnu packages compression) #:use-module (gnu packages cryptsetup) #:use-module (gnu packages databases) @@ -217,7 +218,7 @@ communication.") (define-public encfs (package (name "encfs") =2D (version "1.9.1") + (version "1.9.5") (source (origin (method url-fetch) @@ -226,13 +227,13 @@ communication.") version "/encfs-" version ".tar.gz")) (sha256 (base32 =2D "1906254dg5hwljh0h4gyrw09ms3b57dlhjfzhfzffv50yzpkl837")) + "0qzxavvv20577bxvly8s7d3y7bqasqclc2mllp0ddfncjm9z02a7")) (modules '((guix build utils))) ;; Remove bundled dependencies in favour of proper inputs. (snippet '(begin (for-each delete-file-recursively =2D (find-files "internal" "^tinyxml2-[0-9]" =2D #:directories? #t)) + '("vendor/github.com/leethomason/tinyxml2" + "vendor/github.com/google/googletest")) #t)))) (build-system cmake-build-system) (native-inputs @@ -240,6 +241,7 @@ communication.") =20 ;; Test dependencies. ("expect" ,expect) + ("googletest-source" ,(package-source googletest)) ("perl" ,perl))) (inputs `(("attr" ,attr) @@ -247,7 +249,18 @@ communication.") ("openssl" ,openssl) ("tinyxml2" ,tinyxml2))) (arguments =2D `(#:configure-flags (list "-DUSE_INTERNAL_TINYXML=3DOFF"))) + `(#:configure-flags (list "-DUSE_INTERNAL_TINYXML=3DOFF") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'unpack-googletest + (lambda* (#:key inputs #:allow-other-keys) + (mkdir-p "vendor/github.com/google/googletest") + (invoke "tar" "xvf" (assoc-ref inputs "googletest-source") + "-C" "vendor/github.com/google/googletest" + "--strip-components=3D1"))) + (add-before 'check 'make-unittests + (lambda _ + (invoke "make" "unittests")))))) (home-page "https://vgough.github.io/encfs") (synopsis "Encrypted virtual file system") (description =2D-=20 2.17.1 --=-=-=-- --==-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEEg7ZwOtzKO2lLzi2m5qXuPBlGeg0FAlsldIcACgkQ5qXuPBlG eg2pqA/8DNn4hVKcKagJB4bM8BEe17wYM1bfic+vCYobUQQ7sDvR9Gyu9rrOjN5w 4C9SK9oI16E9hGKW43l8frSDRXy6rjZoAImHJKktNenaiVBlxSXwVzLMLQ8ryIY0 Y0v+PIMWPobsP1PXHEPwxgfQ04tuvYUQmIh/ZHqs5IWmBrcgtV4PMO33vHGB6If8 iIF2TU/zJixF2A9NlayaM4XO9qnrF6Kr6xPNy9LnX9CKAKvEPTHxpdGYO0/6JBb0 Gg4LZYbSyp16unRGcLhJaOJl2l6rvNOOdjZBXaUEIq45gF9A4+Tq8ETOijxP3h/t BtDNV6DOzeltTAbewQHgw9y+aqsUgP61leSOcWl6KVTtk66Om22g8/ca7RS7wgyN RG6/0RwJlAnLZeVD4CZ4pgjT5l1+g9P5kUGcU8aSYUu7fMuZVmcOo9dUFhTqa/e3 9YsHjtnQX1ialCgnQgMtEqhGqHe3scHKS56PIMtPcmmbflIIM+kdH9deL+1e9xhG HXXSGwZph4bzzP/IhixImr5kyIbOXTvNO2TFE762apmwOOooYBSGpBNpqNyK9o8/ F3Ye9pcPyvOFMzwav6A5CNkF67q7m+sTLgVRDZMgX54c+Wl+m43AA6BVIJaApPt0 O89/j1NFh04OB7/qpL3WcjRB/DetitsDNaqigwZIfO1GSJfMUN4= =6t6A -----END PGP SIGNATURE----- --==-=-=--