diff mbox series

[bug#52027] Add lz4json

Message ID PA4PR03MB7101460B8ABA8E1330BF86F2B99E9@PA4PR03MB7101.eurprd03.prod.outlook.com
State New
Headers show
Series [bug#52027] Add lz4json | expand

Checks

Context Check Description
cbaines/comparison success View comparision
cbaines/git branch success View Git branch
cbaines/applying patch fail View Laminar job
cbaines/issue success View issue

Commit Message

Baptiste Strazzulla Nov. 21, 2021, 7:55 p.m. UTC
Hello,

I couldn't figure out a license for this package. It says " * Copyright (c) 2014 Intel Corporation" in the source. I don't even know if it's an actual license. In any case, it doesn't seem really engaging and there's no mention of it in `licenses.scm`… How shall I proceed?

Kind regards,
Baptiste

Comments

Nicolas Goaziou Nov. 21, 2021, 8:27 p.m. UTC | #1
Hello,

Baptiste Strazzulla <bstrazzull@hotmail.fr> writes:

> I couldn't figure out a license for this package. It says " *
> Copyright (c) 2014 Intel Corporation" in the source. I don't even know
> if it's an actual license.
> In any case, it doesn't seem really
> engaging and there's no mention of it in `licenses.scm`… How shall
> I proceed?

The license is below, in the lz4jsoncat.c header. It's bsd-2


> +(define-public lz4json
> +  (package
> +    (name "lz4json")
> +    (version "2")
> +    (home-page "https://github.com/andikleen/lz4json")

This should be moved right before the synopsis field.

> +    (source
> +     (origin
> +       (method git-fetch)
> +       (uri
> +        (git-reference (url home-page) (commit (string-append "v" version))))

(url ...) should provide the github URL and not re-use the home-page.
Also there should be newline characters before and after the url field.

> +    (arguments
> +     '(#:phases
> +       (modify-phases %standard-phases
> +         (delete 'configure)
> +         (delete 'check)
> +         (replace 'install

Could you add comment explaining why 'configure' is deleted (probably
because there is no configure script) and 'install' is replaced
(probably because upstream provides no install script either).

Instead of deleting `check', you should use:

  #:tests? #false

instead.

> +           (lambda* (#:key outputs #:allow-other-keys)
> +             (let* ((out (assoc-ref outputs "out"))
> +                    (bin (string-append out "/bin"))
> +                    (man (string-append out "/share/man/man1")))
> +               (install-file "lz4jsoncat" bin)
> +               (install-file "lz4jsoncat.1" man))
> +             #t)))

You can remove the trailing boolean at the end of the phase.

> +       #:make-flags '("CC=gcc")))

The above is not cross-compilation friendly. It should become

  `(,(string-append "CC=" (cc-for-target)))

instead.

> +    (synopsis "C decompress tool for mozilla lz4json format")
> +    (description
> +     "A little utility to unpack lz4json files as generated by Firefox's
> +bookmark backups and session restore.  This is a different format from what
> +the normal lz4 utility expects.  The data is dumped to stdout.")

The description should consist of full sentences. So it may start as

  @code{lz4json} is a little utility to unpack lz4json files…

> +    (license license:gpl3+)))

This should be license:bsd-2.

Thanks for your work. Could you send an updated patch?

Regards,
diff mbox series

Patch

From 8307da6cad6b9604f368eb2165c79906b9f9c0fd Mon Sep 17 00:00:00 2001
From: Zzull <bstrazzull@hotmail.fr>
Date: Sun, 21 Nov 2021 20:19:44 +0100
Subject: [PATCH] gnu: Add lz4json

* gnu/packages/gnuzilla.scm
---
 gnu/packages/gnuzilla.scm | 37 +++++++++++++++++++++++++++++++++++++
 1 file changed, 37 insertions(+)

diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm
index 9edfcaa2ab..029a1be480 100644
--- a/gnu/packages/gnuzilla.scm
+++ b/gnu/packages/gnuzilla.scm
@@ -1992,3 +1992,40 @@  (define-public firefox-decrypt
     (description "Firefox Decrypt is a tool to extract passwords from
 Mozilla (Firefox, Waterfox, Thunderbird, SeaMonkey) profiles.")
     (license license:gpl3+)))
+
+(define-public lz4json
+  (package
+    (name "lz4json")
+    (version "2")
+    (home-page "https://github.com/andikleen/lz4json")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference (url home-page) (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "1xxn8yzr6j8j6prmbj6mxspdczigarfiv3vlm9k70yxmky65ijh3"))))
+    (build-system gnu-build-system)
+    (native-inputs `(("pkg-config" ,pkg-config)))
+    (inputs `(("lz4" ,lz4)))
+    (arguments
+     '(#:phases
+       (modify-phases %standard-phases
+         (delete 'configure)
+         (delete 'check)
+         (replace 'install
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (bin (string-append out "/bin"))
+                    (man (string-append out "/share/man/man1")))
+               (install-file "lz4jsoncat" bin)
+               (install-file "lz4jsoncat.1" man))
+             #t)))
+       #:make-flags '("CC=gcc")))
+    (synopsis "C decompress tool for mozilla lz4json format")
+    (description
+     "A little utility to unpack lz4json files as generated by Firefox's
+bookmark backups and session restore.  This is a different format from what
+the normal lz4 utility expects.  The data is dumped to stdout.")
+    (license license:gpl3+)))
-- 
2.33.1