all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Ricardo Wurmus <rekado@elephly.net>
To: Kei Kebreau <kei@openmailbox.org>
Cc: guix-devel@gnu.org
Subject: Re: [PATCH] gnu: Add p7zip.
Date: Mon, 22 Aug 2016 13:06:53 +0200	[thread overview]
Message-ID: <87r39hysdu.fsf@elephly.net> (raw)
In-Reply-To: <87k2floj6v.fsf@openmailbox.org>


Kei Kebreau <kei@openmailbox.org> writes:

> Here's the corresponding patch. Maybe you or someone else can double (or triple?)
> check and make sure there are no proprietary files the source after running
> "./pre-inst-env guix build -S p7zip."

The patch looks good.  It’s fine to delete the non-free files in a
snippet.  I have a couple of changes that I’d to see in the package
expression, though.

> +
> +(define-public p7zip
> +  (package
> +    (name "p7zip")
> +    (version "16.02")
> +    (source (origin
> +              (method url-fetch)
> +              (uri (string-append "mirror://sourceforge/" name "/" name "/"
> +                                  version "/" name "_" version
> +                                  "_src_all.tar.bz2"))
> +              (sha256
> +               (base32
> +                "07rlwbbgszq8i7m8jh3x6j2w2hc9a72dc7fmqawnqkwlwb00mcjy"))
> +              (modules '((guix build utils)))
> +              (snippet
> +               '(begin
> +                  ;; Remove non-free source files
> +                  (for-each delete-file
> +                            (find-files "CPP/7zip/Compress/"
> +                                        (string-append "Rar*")))

You don’t need “string-append” here.

> +                  (delete-file-recursively "CPP/7zip/Compress/Rar")))

I think we may want to delete even more Rar stuff to be on the safe
side, so the total list of deletions would be:

    CPP/7zip/Archive/Rar/
    CPP/7zip/Archive/Rar*
    CPP/7zip/Crypto/Rar*
    CPP/7zip/Compress/Rar*
    DOC/unRarLicense.txt
    Utils/file_Codecs_Rar_so.py

What do you think?

Also note that the snippet should end on “#t”.

> +              (patches (search-patches "remove-unused-p7zip-code.patch"))))
> +    (build-system gnu-build-system)
> +    (arguments
> +     `(#:make-flags
> +       (list (let ((system ,(or (%current-target-system)
> +                                (%current-system))))
> +               (string-append "-f "
> +                              (cond
> +                               ((string-prefix? "x86_64" system)
> +                                "makefile.linux_amd64_asm")
> +                               ((string-prefix? "i686" system)
> +                                "makefile.linux_x86_asm_gcc_4.X")
> +                               (else
> +                                "makefile.linux_any_cpu_gcc_4.X")))))
> +       #:phases
> +       (modify-phases %standard-phases
> +         (replace 'configure
> +           (lambda* (#:key system outputs #:allow-other-keys)
> +             ;; fix install directory
> +             (substitute* "install.sh"
> +               (("/usr/local") (assoc-ref outputs "out")))))

We should end phases with “#t”.  However, in this case I think we should
better move this to the replaced install phase to keep related things in
one place.

> +         (replace 'build
> +           (lambda _
> +             (zero? (system* "make" "all3"))))

I think we can avoid replacing the build phase by adding

    #:make-flags '("all3")

instead.  What do you think?

> +         (replace 'check
> +           (lambda _
> +             (and (zero? (system* "make" "test"))
> +                  (zero? (system* "make" "test_7z"))
> +                  (zero? (system* "make" "test_7zr")))))
> +         ;; without replacing the install phase, install.sh would be passed
> +         ;; arguments containing the wrong installation directories.
> +         (replace 'install
> +           (lambda _
> +             (zero? (system* "sh" "install.sh")))))))

I don’t understand the comment.  The makefiles don’t seem to have an
“install” target at all.

> +    (inputs
> +     `(,@(cond ((string-prefix? "x86_64" (or (%current-target-system)
> +                                             (%current-system)))
> +                `(("yasm" ,yasm)))
> +               ((string-prefix? "i686" (or (%current-target-system)
> +                                           (%current-system)))
> +                `(("nasm" ,nasm)))
> +               (else '()))))
> +    (home-page "http://p7zip.sourceforge.net/")
> +    (synopsis "Command-line file archiver with high compression ratio")
> +    (description "p7zip is the Unix command-line port of 7-Zip, a file archiver
> +that handles the 7z format which features very high compression
> ratios.")

How about replacing “Unix” with “POSIX”?

> +    (license (list license:lgpl2.1+ license:gpl2+
> license:public-domain))))

Here I’d like to see a comment that explains what this list means.

Do you think you could provide us with an updated patch?  If you’re
already tired of this patch I could perform the changes on your behalf
some time later.

Thanks for your patience so far :)

~~ Ricardo

  reply	other threads:[~2016-08-22 11:07 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-08-02  0:52 [PATCH] gnu: Add p7zip Kei Kebreau
2016-08-02  7:06 ` Ricardo Wurmus
2016-08-02 15:54   ` Kei Kebreau
2016-08-04  2:45     ` Kei Kebreau
2016-08-02 18:38   ` Eric Bavier
2016-08-08 19:58     ` Leo Famulari
2016-08-09  8:05       ` Ricardo Wurmus
2016-08-09 16:15         ` kei
2016-08-09 19:16           ` Ricardo Wurmus
2016-08-09 20:06             ` Kei Kebreau
2016-08-09 20:33               ` Ricardo Wurmus
2016-08-12 19:29                 ` Kei Kebreau
2016-08-22 11:06                   ` Ricardo Wurmus [this message]
2016-08-22 23:58                     ` Kei Kebreau
2016-08-27 10:36                       ` Kei Kebreau
2016-08-31 20:45                         ` Ricardo Wurmus
2016-09-01 15:57                           ` Kei Kebreau
2016-09-01 18:29                             ` Ricardo Wurmus
2016-09-01 19:05                               ` Kei Kebreau
2016-09-02  8:26                                 ` Efraim Flashner
2016-09-02 11:51                                   ` Ricardo Wurmus
2016-09-02 12:06                                     ` Efraim Flashner
2016-09-02 12:12                                       ` Ricardo Wurmus
2016-09-02 13:49                                     ` Kei Kebreau
2016-09-04 14:31                                 ` Ricardo Wurmus

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

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

  git send-email \
    --in-reply-to=87r39hysdu.fsf@elephly.net \
    --to=rekado@elephly.net \
    --cc=guix-devel@gnu.org \
    --cc=kei@openmailbox.org \
    /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 external index

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

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.