unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: ng0 <contact.ng0@cryptolab.net>
To: Tobias Geerinckx-Rice <me@tobias.gr>, guix-devel@gnu.org
Subject: Re: [PATCH 3/3] gnu: Add zpaq.
Date: Sat, 28 Jan 2017 17:51:49 +0000	[thread overview]
Message-ID: <87o9yrvzre.fsf@wasp.i-did-not-set--mail-host-address--so-tickle-me> (raw)
In-Reply-To: <20170127195924.22959-3-me@tobias.gr>

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

> * gnu/packages/compression.scm (zpaq): New variable.
> ---

Cool! Thanks for working on it.

Functionality seems okay:
  ...Creating an archive:

ng0@wasp /g/s/q/bin> ./zpaq a /home/ng0/test.zpaq /home/ng0/News
Creating /home/ng0/test.zpaq at offset 0 + 0
Adding 0.000000 MB in 0 files -method 14 -threads 2 at 2017-01-28
17:45:52.
+ /home/ng0/News/
+ /home/ng0/News/drafts/
+ /home/ng0/News/drafts/drafts/
+ /home/ng0/News/drafts/queue/
4 +added, 0 -removed.

0.000000 + (0.000000 -> 0.000000 -> 0.000584) = 0.000584 MB
0.014 seconds (all OK)

  ...and listing its content:

ng0@wasp /g/s/q/bin> ./zpaq l /home/ng0/test.zpaq
zpaq v7.15 journaling archiver, compiled Jan 28 2017
/home/ng0/test.zpaq: 1 versions, 4 files, 0 fragments, 0.000584
MB

- 2016-10-27 14:27:19            0 d0755 /home/ng0/News/
- 2016-10-27 14:27:19            0 d0755 /home/ng0/News/drafts/
- 2016-11-21 11:19:39            0 d0755
- /home/ng0/News/drafts/drafts/
- 2016-10-27 14:27:19            0 d0755
- /home/ng0/News/drafts/queue/

0.000000 MB of 0.000000 MB (4 files) shown
  -> 0.000000 MB (0 refs to 0 of 0 frags) after dedupe
  -> 0.000584 MB compressed.
0.001 seconds (all OK)
    

>  gnu/packages/compression.scm | 60 +++++++++++++++++++++++++++++++++++++++++++-
>  1 file changed, 59 insertions(+), 1 deletion(-)
>
> diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm
> index 2e4de81..ca5509c 100644
> --- a/gnu/packages/compression.scm
> +++ b/gnu/packages/compression.scm
> @@ -10,7 +10,7 @@
>  ;;; Copyright © 2015, 2016 Efraim Flashner <efraim@flashner.co.il>
>  ;;; Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com>
>  ;;; Copyright © 2016 Danny Milosavljevic <dannym@scratchpost.org>
> -;;; Copyright © 2016 Tobias Geerinckx-Rice <me@tobias.gr>
> +;;; Copyright © 2016, 2017 Tobias Geerinckx-Rice <me@tobias.gr>
>  ;;; Copyright © 2016 David Craven <david@craven.ch>
>  ;;; Copyright © 2016 Kei Kebreau <kei@openmailbox.org>
>  ;;; Copyright © 2016 Marius Bakke <mbakke@fastmail.com>
> @@ -46,6 +46,8 @@
>    #:use-module (gnu packages perl)
>    #:use-module (gnu packages pkg-config)
>    #:use-module (gnu packages valgrind)
> +  #:use-module (gnu packages zip)
> +  #:use-module (ice-9 match)
>    #:use-module ((srfi srfi-1) #:select (last)))
>  
>  (define-public zlib
> @@ -1001,3 +1003,59 @@ handles the 7z format which features very high compression ratios.")
>      (description "gzstream is a small library for providing zlib
>  functionality in a C++ iostream.")
>      (license license:lgpl2.1+)))
> +
> +(define-public zpaq
> +  (package
> +    (name "zpaq")
> +    (version "7.15")
> +    (source
> +     (origin
> +       (method url-fetch/zipbomb)
> +       (uri (string-append "http://mattmahoney.net/dc/zpaq"
> +                           (string-delete #\. version) ".zip"))
> +       (sha256
> +        (base32
> +         "066l94yyladlfzri877nh2dhkvspagjn3m5bmv725fmhkr9c4pp8"))
> +       (modules '((guix build utils)))
> +       (snippet
> +        ;; Delete irrelevant pre-compiled binaries.
> +        '(for-each delete-file (find-files "." "\\.exe$")))))
> +    (build-system gnu-build-system)
> +    (arguments
> +     `(#:phases
> +       (modify-phases %standard-phases
> +         (delete 'configure))           ; no ‘configure’ script
> +       #:make-flags
> +       (list
> +        (string-append "CPPFLAGS=-Dunix"
> +                       ,(match (or (%current-target-system)
> +                                   (%current-system))
> +                               ("x86_64-linux"	"")
> +                               ("i686-linux"    "")
> +                               (_               " -DNOJIT")))
> +        (string-append "CXXFLAGS=-O3 -mtune=generic -DNDEBUG"
> +                       ,(match (or (%current-target-system)
> +                                   (%current-system))
> +                               ("x86_64-linux"  " -march=nocona")
> +                               ("i686-linux"    " -march=i686")
> +                               (_               "")))

Can you add a comment on the CPPFLAGS?
Otherwise, LGTM!

> +        (string-append "PREFIX="
> +                       (assoc-ref %outputs "out")))))
> +    (native-inputs
> +     `(("perl" ,perl)))                 ; for pod2man
> +    (home-page "http://mattmahoney.net/dc/zpaq.html")
> +    (synopsis "Incremental journaling archiver")
> +    (description "ZPAQ is a command-line archiver that backs up faster and
> +compresses better than most other popular archivers in realistic situations
> +with many duplicate and already compressed files.  It backs up only those files
> +modified since the last update.  All previous versions remain untouched and can
> +be independently recovered.  Identical files are only stored once (known as
> +@dfn{de-duplication}).  Archives can also be encrypted.
> +ZPAQ is intended to back up user data, not entire operating systems. It ignores
> +owner and group IDs, ACLs, extended attributes, or special file types like
> +devices, sockets, or named pipes.  It does not follow or restore symbolic links
> +or junctions, and always follows hard links.")
> +    (license (list license:public-domain
> +                   ;; libzpaq.cpp contains a mix of public-domain and
> +                   ;; expat-licenced (or ‘MIT’) code.
> +                   license:expat))))
> -- 
> 2.9.3
>
>

-- 
♥Ⓐ  ng0 -- https://www.inventati.org/patternsinthechaos/

  reply	other threads:[~2017-01-28 17:52 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-01-27 19:59 [PATCH 1/3] download: url-fetch/tarball: Make ‘name’ truly optional Tobias Geerinckx-Rice
2017-01-27 19:59 ` [PATCH 2/3] download: Add ‘url-fetch/zipbomb’ Tobias Geerinckx-Rice
2017-01-28 17:55   ` ng0
2017-01-30 22:52   ` Ludovic Courtès
2017-01-27 19:59 ` [PATCH 3/3] gnu: Add zpaq Tobias Geerinckx-Rice
2017-01-28 17:51   ` ng0 [this message]
2017-01-28 18:02     ` Tobias Geerinckx-Rice
2017-01-30 22:54   ` Ludovic Courtès
2017-01-30 23:12     ` Tobias Geerinckx-Rice
2017-01-28 18:22 ` [PATCH 1/3] download: url-fetch/tarball: Make ‘name’ truly optional ng0
2017-01-30 22:51 ` Ludovic Courtès

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87o9yrvzre.fsf@wasp.i-did-not-set--mail-host-address--so-tickle-me \
    --to=contact.ng0@cryptolab.net \
    --cc=guix-devel@gnu.org \
    --cc=me@tobias.gr \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).