unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* bug#27044: [PATCH 1/3] gnu: video: Add libzen.
@ 2017-05-23 20:43 Ethan R. Jones
  2017-05-23 20:43 ` bug#27045: [PATCH 2/3] gnu: video: Add libmediainfo Ethan R. Jones
                   ` (5 more replies)
  0 siblings, 6 replies; 14+ messages in thread
From: Ethan R. Jones @ 2017-05-23 20:43 UTC (permalink / raw)
  To: 27044; +Cc: Ethan R. Jones

* gnu/packages/video.scm (libzen): New variable.
---
 gnu/packages/video.scm | 36 ++++++++++++++++++++++++++++++++++++
 1 file changed, 36 insertions(+)

diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index b7c26a042..bc3fa48b8 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -2052,3 +2052,39 @@ file format that has been used as a multimedia file format in a variety of platf
 applications.  It is a very powerful and extensible format that can accommodate
 practically any type of media.")
     (license license:mpl1.1)))
+
+(define-public libzen
+  (package
+    (name "libzen")
+    (version "0.4.35")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://mediaarea.net/download/source/"
+                                  name "/" version "/"
+                                  name "_" version ".tar.bz2"))
+              (file-name (string-append name "-" version ".tar.bz2"))
+              (sha256
+               (base32
+                "12a1icgcffgv503ii2k1453kxg5hfly09mf4zjcc80aq8a6rf8by"))))
+    (native-inputs
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("libtool" ,libtool)))
+    (build-system gnu-build-system)
+    (arguments
+     '(#:phases
+       ;; build scripts not in root of archive
+       (modify-phases %standard-phases
+         (add-before
+             'configure 'pre-configure
+           (lambda _
+             (chdir "Project/GNU/Library")))
+         (add-before 'configure 'autogen
+           (lambda _
+             (zero? (system* "./autogen.sh")))))))
+    (home-page "https://github.com/MediaArea/ZenLib")
+    (synopsis "C++ utility library")
+    (description "ZenLib is a C++ utility library.  It includes classes for handling
+strings, configuration, bit streams, threading, translation, and cross-platform
+operating system functions.")
+    (license license:bsd-2)))
-- 
2.13.0

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

* bug#27045: [PATCH 2/3] gnu: video: Add libmediainfo.
  2017-05-23 20:43 bug#27044: [PATCH 1/3] gnu: video: Add libzen Ethan R. Jones
@ 2017-05-23 20:43 ` Ethan R. Jones
  2017-05-24 16:34   ` Marius Bakke
  2017-05-23 20:43 ` bug#27046: [PATCH 3/3] gnu: video: Add mediainfo Ethan R. Jones
                   ` (4 subsequent siblings)
  5 siblings, 1 reply; 14+ messages in thread
From: Ethan R. Jones @ 2017-05-23 20:43 UTC (permalink / raw)
  To: 27045; +Cc: Ethan R. Jones

* gnu/packages/video.scm (libmediainfo): New variable.
---
 gnu/packages/video.scm | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 54 insertions(+)

diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index bc3fa48b8..b8dc02e2f 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -2088,3 +2088,57 @@ practically any type of media.")
 strings, configuration, bit streams, threading, translation, and cross-platform
 operating system functions.")
     (license license:bsd-2)))
+
+(define-public libmediainfo
+  (package
+    (name "libmediainfo")
+    (version "0.7.95")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://mediaarea.net/download/source/"
+                                  name "/" version"/"
+                                  name "_" version ".tar.bz2"))
+              (file-name (string-append name "-" version ".tar.bz2"))
+              (sha256
+               (base32
+                "1kchh6285b07z5nixv619hc9gml2ysdayicdiv30frrlqiyxqw4b"))))
+    (native-inputs
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("libtool" ,libtool)
+       ("pkg-config" ,pkg-config)
+       ("zlib" ,zlib)
+       ("tinyxml2" ,tinyxml2)
+       ("curl" ,curl)
+       ("libzen" ,libzen)))
+    (build-system gnu-build-system)
+    (arguments
+     '(#:tests? #f ; test currently requires an external video file
+       #:phases
+       ;; build scripts not in root of archive
+       (modify-phases %standard-phases
+         (add-before
+             'configure 'pre-configure
+           (lambda _
+             (chdir "Project/GNU/Library")))
+         (add-before 'configure 'autogen
+           (lambda _
+             (zero? (system* "./autogen.sh")))))))
+    (home-page "https://mediaarea.net/en/MediaInfo")
+    (synopsis "Library for retrieving media metadata")
+    (description " MediaInfo is a library used for retrieving
+technical information and other metadata about audio or video files.
+A non-exhaustive list of the information MediaInfo can retrieve from media files include:
+ - General: title, author, director, album, track number, date, duration...
+ - Video: codec, aspect, fps, bitrate...
+ - Audio: codec, sample rate, channels, language, bitrate...
+ - Text: language of subtitle
+ - Chapters: number of chapters, list of chapters
+MediaInfo supports the following formats:
+ - Video: MKV, OGM, AVI, DivX, WMV, QuickTime, Real, MPEG-1, MPEG-2,
+          MPEG-4, DVD (VOB)...
+ - Video Codecs: DivX, XviD, MSMPEG4, ASP, H.264, AVC...)
+ - Audio: OGG, MP3, WAV, RA, AC3, DTS, AAC, M4A, AU, AIFF...
+ - Subtitles: SRT, SSA, ASS, SAMI...")
+    (license license:bsd-2)))
+
-- 
2.13.0

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

* bug#27046: [PATCH 3/3] gnu: video: Add mediainfo.
  2017-05-23 20:43 bug#27044: [PATCH 1/3] gnu: video: Add libzen Ethan R. Jones
  2017-05-23 20:43 ` bug#27045: [PATCH 2/3] gnu: video: Add libmediainfo Ethan R. Jones
@ 2017-05-23 20:43 ` Ethan R. Jones
  2017-05-24 16:37   ` Marius Bakke
  2017-05-24 16:29 ` bug#26934: bug#27044: [PATCH 1/3] gnu: video: Add libzen Marius Bakke
                   ` (3 subsequent siblings)
  5 siblings, 1 reply; 14+ messages in thread
From: Ethan R. Jones @ 2017-05-23 20:43 UTC (permalink / raw)
  To: 27046; +Cc: Ethan R. Jones

* gnu/packages/video.scm (mediainfo): New variable.
---
 gnu/packages/video.scm | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 54 insertions(+)

diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index b8dc02e2f..285d20a12 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -18,6 +18,7 @@
 ;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2017 Chris Marusich <cmmarusich@gmail.com>
 ;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
+;;; Copyright © 2017 Ethan R. Jones <doubleplusgood23@gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -2142,3 +2143,56 @@ MediaInfo supports the following formats:
  - Subtitles: SRT, SSA, ASS, SAMI...")
     (license license:bsd-2)))
 
+;; TODO also have a GUI version available
+(define-public mediainfo
+  (package
+    (name "mediainfo")
+    (version "0.7.95")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://mediaarea.net/download/source/"
+                                  name "/" version "/"
+                                  name "_" version ".tar.bz2"))
+              (file-name (string-append name "-" version ".tar.bz2"))
+              (sha256
+               (base32
+                "0dy51a3i79jppmg1gi4f6h7jx4hcgnkmfim4d7d3gmnlbkjh8anv"))))
+    (native-inputs
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("libtool" ,libtool)
+       ("pkg-config" ,pkg-config)
+       ("zlib" ,zlib)
+       ("libmediainfo", libmediainfo)
+       ("libzen" ,libzen)))
+    (build-system gnu-build-system)
+    (arguments
+     '(#:tests? #f ; lacks tests
+       #:phases
+       ;; build scripts not in root of archive
+       (modify-phases %standard-phases
+         (add-before
+             'configure 'pre-configure
+           (lambda _
+             (chdir "Project/GNU/CLI")))
+         (add-before 'configure 'autogen
+           (lambda _
+             (zero? (system* "./autogen.sh")))))))
+    (home-page "https://mediaarea.net/en/MediaInfo")
+    (synopsis "Utility for reading media metadata")
+    (description "MediaInfo is a utility used for retrieving technical
+information and other metadata about audio or video files.
+A non-exhaustive list of the information MediaInfo can retrieve from media files include:
+ - General: title, author, director, album, track number, date, duration...
+ - Video: codec, aspect, fps, bitrate...
+ - Audio: codec, sample rate, channels, language, bitrate...
+ - Text: language of subtitle
+ - Chapters: number of chapters, list of chapters
+MediaInfo supports the following formats:
+ - Video: MKV, OGM, AVI, DivX, WMV, QuickTime, Real, MPEG-1, MPEG-2,
+          MPEG-4, DVD (VOB)...
+ - Video Codecs: DivX, XviD, MSMPEG4, ASP, H.264, AVC...)
+ - Audio: OGG, MP3, WAV, RA, AC3, DTS, AAC, M4A, AU, AIFF...
+ - Subtitles: SRT, SSA, ASS, SAMI...
+MediaInfo supplies technical and tag information about a video or audio file")
+    (license license:bsd-2)))
-- 
2.13.0

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

* bug#26934: bug#27044: [PATCH 1/3] gnu: video: Add libzen.
  2017-05-23 20:43 bug#27044: [PATCH 1/3] gnu: video: Add libzen Ethan R. Jones
  2017-05-23 20:43 ` bug#27045: [PATCH 2/3] gnu: video: Add libmediainfo Ethan R. Jones
  2017-05-23 20:43 ` bug#27046: [PATCH 3/3] gnu: video: Add mediainfo Ethan R. Jones
@ 2017-05-24 16:29 ` Marius Bakke
  2017-05-27 15:19 ` bug#27044: [PATCH 1/3] gnu: cpp: libzen: " Ethan R. Jones
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 14+ messages in thread
From: Marius Bakke @ 2017-05-24 16:29 UTC (permalink / raw)
  To: Ethan R. Jones, 27044; +Cc: 26934-done

[-- Attachment #1: Type: text/plain, Size: 2558 bytes --]

"Ethan R. Jones" <doubleplusgood23@gmail.com> writes:

> * gnu/packages/video.scm (libzen): New variable.
> ---
>  gnu/packages/video.scm | 36 ++++++++++++++++++++++++++++++++++++
>  1 file changed, 36 insertions(+)
>
> diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
> index b7c26a042..bc3fa48b8 100644
> --- a/gnu/packages/video.scm
> +++ b/gnu/packages/video.scm
> @@ -2052,3 +2052,39 @@ file format that has been used as a multimedia file format in a variety of platf
>  applications.  It is a very powerful and extensible format that can accommodate
>  practically any type of media.")
>      (license license:mpl1.1)))
> +
> +(define-public libzen
> +  (package
> +    (name "libzen")
> +    (version "0.4.35")
> +    (source (origin
> +              (method url-fetch)
> +              (uri (string-append "https://mediaarea.net/download/source/"
> +                                  name "/" version "/"
> +                                  name "_" version ".tar.bz2"))
> +              (file-name (string-append name "-" version ".tar.bz2"))

Is it necessary to set a file-name here? IMO $name_$version is fine, but
the linter may have a different opinion.

> +              (sha256
> +               (base32
> +                "12a1icgcffgv503ii2k1453kxg5hfly09mf4zjcc80aq8a6rf8by"))))
> +    (native-inputs
> +     `(("autoconf" ,autoconf)
> +       ("automake" ,automake)
> +       ("libtool" ,libtool)))
> +    (build-system gnu-build-system)
> +    (arguments
> +     '(#:phases
> +       ;; build scripts not in root of archive
> +       (modify-phases %standard-phases
> +         (add-before
> +             'configure 'pre-configure
> +           (lambda _
> +             (chdir "Project/GNU/Library")))
> +         (add-before 'configure 'autogen
> +           (lambda _
> +             (zero? (system* "./autogen.sh")))))))
> +    (home-page "https://github.com/MediaArea/ZenLib")
> +    (synopsis "C++ utility library")
> +    (description "ZenLib is a C++ utility library.  It includes classes for handling
> +strings, configuration, bit streams, threading, translation, and cross-platform
> +operating system functions.")
> +    (license license:bsd-2)))

I don't think video.scm is a good location for this package definition.
Though I'm not sure which module is most appropriate. Maybe 'code.scm'?
Or perhaps create a "cpp.scm" for these generic C++ libraries?

PS: No need to open separate bugs, you can just send the updated patches
here. Bonus points if you add a subject prefix like "PATCH v2" for the
next batch.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]

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

* bug#27045: [PATCH 2/3] gnu: video: Add libmediainfo.
  2017-05-23 20:43 ` bug#27045: [PATCH 2/3] gnu: video: Add libmediainfo Ethan R. Jones
@ 2017-05-24 16:34   ` Marius Bakke
  0 siblings, 0 replies; 14+ messages in thread
From: Marius Bakke @ 2017-05-24 16:34 UTC (permalink / raw)
  To: Ethan R. Jones, 27045

[-- Attachment #1: Type: text/plain, Size: 1781 bytes --]

"Ethan R. Jones" <doubleplusgood23@gmail.com> writes:

> * gnu/packages/video.scm (libmediainfo): New variable.

[...]

> +    (arguments
> +     '(#:tests? #f ; test currently requires an external video file

Do they offer a video file for this purpose, or will anything do? Please
add a TODO here, sounds like we can just add some video file as a
native-input and use that.

> +       #:phases
> +       ;; build scripts not in root of archive
> +       (modify-phases %standard-phases
> +         (add-before
> +             'configure 'pre-configure
> +           (lambda _
> +             (chdir "Project/GNU/Library")))
> +         (add-before 'configure 'autogen
> +           (lambda _
> +             (zero? (system* "./autogen.sh")))))))
> +    (home-page "https://mediaarea.net/en/MediaInfo")
> +    (synopsis "Library for retrieving media metadata")
> +    (description " MediaInfo is a library used for retrieving
> +technical information and other metadata about audio or video files.
> +A non-exhaustive list of the information MediaInfo can retrieve from media files include:
> + - General: title, author, director, album, track number, date, duration...
> + - Video: codec, aspect, fps, bitrate...
> + - Audio: codec, sample rate, channels, language, bitrate...
> + - Text: language of subtitle
> + - Chapters: number of chapters, list of chapters
> +MediaInfo supports the following formats:
> + - Video: MKV, OGM, AVI, DivX, WMV, QuickTime, Real, MPEG-1, MPEG-2,
> +          MPEG-4, DVD (VOB)...
> + - Video Codecs: DivX, XviD, MSMPEG4, ASP, H.264, AVC...)
> + - Audio: OGG, MP3, WAV, RA, AC3, DTS, AAC, M4A, AU, AIFF...
> + - Subtitles: SRT, SSA, ASS, SAMI...")

Can you convert this list to use "@itemize" instead? Grep around
gnu/packages for some examples.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]

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

* bug#27046: [PATCH 3/3] gnu: video: Add mediainfo.
  2017-05-23 20:43 ` bug#27046: [PATCH 3/3] gnu: video: Add mediainfo Ethan R. Jones
@ 2017-05-24 16:37   ` Marius Bakke
  0 siblings, 0 replies; 14+ messages in thread
From: Marius Bakke @ 2017-05-24 16:37 UTC (permalink / raw)
  To: Ethan R. Jones, 27046

[-- Attachment #1: Type: text/plain, Size: 1732 bytes --]

"Ethan R. Jones" <doubleplusgood23@gmail.com> writes:

> * gnu/packages/video.scm (mediainfo): New variable.

[...]

> +    (arguments
> +     '(#:tests? #f ; lacks tests
> +       #:phases
> +       ;; build scripts not in root of archive
> +       (modify-phases %standard-phases
> +         (add-before
> +             'configure 'pre-configure

Can you also move the 'configure line up after '(add-before'? Goes for
the other patches too.

> +           (lambda _
> +             (chdir "Project/GNU/CLI")))
> +         (add-before 'configure 'autogen
> +           (lambda _
> +             (zero? (system* "./autogen.sh")))))))
> +    (home-page "https://mediaarea.net/en/MediaInfo")
> +    (synopsis "Utility for reading media metadata")
> +    (description "MediaInfo is a utility used for retrieving technical
> +information and other metadata about audio or video files.
> +A non-exhaustive list of the information MediaInfo can retrieve from media files include:
> + - General: title, author, director, album, track number, date, duration...
> + - Video: codec, aspect, fps, bitrate...
> + - Audio: codec, sample rate, channels, language, bitrate...
> + - Text: language of subtitle
> + - Chapters: number of chapters, list of chapters
> +MediaInfo supports the following formats:
> + - Video: MKV, OGM, AVI, DivX, WMV, QuickTime, Real, MPEG-1, MPEG-2,
> +          MPEG-4, DVD (VOB)...
> + - Video Codecs: DivX, XviD, MSMPEG4, ASP, H.264, AVC...)
> + - Audio: OGG, MP3, WAV, RA, AC3, DTS, AAC, M4A, AU, AIFF...
> + - Subtitles: SRT, SSA, ASS, SAMI...
> +MediaInfo supplies technical and tag information about a video or audio file")

Please also convert this list to use @itemize. Can you send updated
patches? TIA! :-)

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]

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

* bug#27044: [PATCH 1/3] gnu: cpp: libzen: Add libzen.
  2017-05-23 20:43 bug#27044: [PATCH 1/3] gnu: video: Add libzen Ethan R. Jones
                   ` (2 preceding siblings ...)
  2017-05-24 16:29 ` bug#26934: bug#27044: [PATCH 1/3] gnu: video: Add libzen Marius Bakke
@ 2017-05-27 15:19 ` Ethan R. Jones
  2017-05-27 15:19   ` bug#27044: [PATCH 2/3] gnu: video: Add libmediainfo Ethan R. Jones
                     ` (2 more replies)
  2017-05-27 15:34 ` bug#27044: oops Ethan R. Jones
  2017-05-27 15:42 ` bug#27044: [PATCH] gnu: video: Add mediainfo Ethan R. Jones
  5 siblings, 3 replies; 14+ messages in thread
From: Ethan R. Jones @ 2017-05-27 15:19 UTC (permalink / raw)
  To: 27044, mbakke; +Cc: Ethan R. Jones

* gnu/local.mk (GNU_SYSTEM_MODULES): Add new file.
* gnu/packages/cpp.scm (libzen): New varible.
---
 gnu/local.mk         |  1 +
 gnu/packages/cpp.scm | 59 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 60 insertions(+)
 create mode 100644 gnu/packages/cpp.scm

diff --git a/gnu/local.mk b/gnu/local.mk
index 178ad3548..2c5a8bff1 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -94,6 +94,7 @@ GNU_SYSTEM_MODULES =				\
   %D%/packages/connman.scm			\
   %D%/packages/cook.scm				\
   %D%/packages/cpio.scm				\
+  %D%/packages/cpp.scm 				\
   %D%/packages/cppi.scm				\
   %D%/packages/cross-base.scm			\
   %D%/packages/crypto.scm			\
diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
new file mode 100644
index 000000000..73e902cc2
--- /dev/null
+++ b/gnu/packages/cpp.scm
@@ -0,0 +1,59 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2017 Ethan R. Jones <doubleplusgood23@gmail.com>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages cpp)
+  #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (guix packages)
+  #:use-module (guix download)
+  #:use-module (guix build-system gnu)
+  #:use-module (gnu packages)
+  #:use-module (gnu packages autotools))
+
+(define-public libzen
+  (package
+    (name "libzen")
+    (version "0.4.35")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://mediaarea.net/download/source/"
+                                  name "/" version "/"
+                                  name "_" version ".tar.bz2"))
+              (sha256
+               (base32
+                "12a1icgcffgv503ii2k1453kxg5hfly09mf4zjcc80aq8a6rf8by"))))
+    (native-inputs
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("libtool" ,libtool)))
+    (build-system gnu-build-system)
+    (arguments
+     '(#:phases
+       ;; build scripts not in root of archive
+       (modify-phases %standard-phases
+         (add-before 'configure 'pre-configure
+           (lambda _
+             (chdir "Project/GNU/Library")))
+         (add-before 'configure 'autogen
+           (lambda _
+             (zero? (system* "./autogen.sh")))))))
+    (home-page "https://github.com/MediaArea/ZenLib")
+    (synopsis "C++ utility library")
+    (description "ZenLib is a C++ utility library.  It includes classes for handling
+strings, configuration, bit streams, threading, translation, and cross-platform
+operating system functions.")
+    (license license:bsd-2)))
-- 
2.13.0

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

* bug#27044: [PATCH 2/3] gnu: video: Add libmediainfo
  2017-05-27 15:19 ` bug#27044: [PATCH 1/3] gnu: cpp: libzen: " Ethan R. Jones
@ 2017-05-27 15:19   ` Ethan R. Jones
  2017-05-31 14:44     ` Ludovic Courtès
  2017-05-27 15:19   ` bug#27044: [PATCH 3/3] gnu: video: Add mediainfo Ethan R. Jones
  2017-05-31 14:44   ` bug#27044: [PATCH 1/3] gnu: cpp: libzen: Add libzen Ludovic Courtès
  2 siblings, 1 reply; 14+ messages in thread
From: Ethan R. Jones @ 2017-05-27 15:19 UTC (permalink / raw)
  To: 27044, mbakke; +Cc: Ethan R. Jones

* gnu/packages/video.scm (libmediainfo): New module.
* gnu/packages/video.scm (libmediainfo): New variable.
---
 gnu/packages/video.scm | 59 ++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 59 insertions(+)

diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 5399334f2..37258efe5 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -18,6 +18,7 @@
 ;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2017 Chris Marusich <cmmarusich@gmail.com>
 ;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
+;;; Copyright © 2017 Ethan R. Jones <doubleplusgood23@gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -58,6 +59,7 @@
   #:use-module (gnu packages cdrom)
   #:use-module (gnu packages cmake)
   #:use-module (gnu packages compression)
+  #:use-module (gnu packages cpp)
   #:use-module (gnu packages curl)
   #:use-module (gnu packages databases)
   #:use-module (gnu packages dejagnu)
@@ -2052,3 +2054,60 @@ file format that has been used as a multimedia file format in a variety of platf
 applications.  It is a very powerful and extensible format that can accommodate
 practically any type of media.")
     (license license:mpl1.1)))
+
+(define-public libmediainfo
+  (package
+    (name "libmediainfo")
+    (version "0.7.95")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://mediaarea.net/download/source/"
+                                  name "/" version"/"
+                                  name "_" version ".tar.bz2"))
+              (sha256
+               (base32
+                "1kchh6285b07z5nixv619hc9gml2ysdayicdiv30frrlqiyxqw4b"))))
+    ;; TODO add a Big Buck Bunny webm for tests.
+    (native-inputs
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("libtool" ,libtool)
+       ("pkg-config" ,pkg-config)
+       ("zlib" ,zlib)
+       ("tinyxml2" ,tinyxml2)
+       ("curl" ,curl)
+       ("libzen" ,libzen)))
+    (build-system gnu-build-system)
+    (arguments
+     '(#:tests? #f ; see above TODO
+       #:phases
+       ;; build scripts not in root of archive
+       (modify-phases %standard-phases
+         (add-before 'configure 'pre-configure
+           (lambda _
+             (chdir "Project/GNU/Library")))
+         (add-before 'configure 'autogen
+           (lambda _
+             (zero? (system* "./autogen.sh")))))))
+    (home-page "https://mediaarea.net/en/MediaInfo")
+    (synopsis "Library for retrieving media metadata")
+    (description " MediaInfo is a library used for retrieving
+technical information and other metadata about audio or video files.
+A non-exhaustive list of the information MediaInfo can retrieve from media files include:
+@itemize
+@item General: title, author, director, album, track number, date, duration...
+@item Video: codec, aspect, fps, bitrate...
+@item Audio: codec, sample rate, channels, language, bitrate...
+@item Text: language of subtitle
+@item Chapters: number of chapters, list of chapters
+@end itemize\n
+MediaInfo supports the following formats:
+@itemize
+@item Video: MKV, OGM, AVI, DivX, WMV, QuickTime, Real, MPEG-1,
+MPEG-2, MPEG-4, DVD (VOB)...
+@item Video Codecs: DivX, XviD, MSMPEG4, ASP, H.264, AVC...)
+@item Audio: OGG, MP3, WAV, RA, AC3, DTS, AAC, M4A, AU, AIFF...
+@item  Subtitles: SRT, SSA, ASS, SAMI...
+@end itemize \n")
+    (license license:bsd-2)))
+
-- 
2.13.0

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

* bug#27044: [PATCH 3/3] gnu: video: Add mediainfo
  2017-05-27 15:19 ` bug#27044: [PATCH 1/3] gnu: cpp: libzen: " Ethan R. Jones
  2017-05-27 15:19   ` bug#27044: [PATCH 2/3] gnu: video: Add libmediainfo Ethan R. Jones
@ 2017-05-27 15:19   ` Ethan R. Jones
  2017-05-31 14:44   ` bug#27044: [PATCH 1/3] gnu: cpp: libzen: Add libzen Ludovic Courtès
  2 siblings, 0 replies; 14+ messages in thread
From: Ethan R. Jones @ 2017-05-27 15:19 UTC (permalink / raw)
  To: 27044, mbakke; +Cc: Ethan R. Jones

* gnu/packages/video.scm (mediainfo): New variable.
---
 gnu/packages/video.scm |   54 +++
 po/guix/pl.po          | 1253 ++++++++++++++++++++++++++++++------------------
 2 files changed, 831 insertions(+), 476 deletions(-)

diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 37258efe5..76b345cd8 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -2111,3 +2111,57 @@ MPEG-2, MPEG-4, DVD (VOB)...
 @end itemize \n")
     (license license:bsd-2)))
 
+;; TODO also have a GUI version available
+(define-public mediainfo
+  (package
+    (name "mediainfo")
+    (version "0.7.95")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://mediaarea.net/download/source/"
+                                  name "/" version "/"
+                                  name "_" version ".tar.bz2"))
+              (sha256
+               (base32
+                "0dy51a3i79jppmg1gi4f6h7jx4hcgnkmfim4d7d3gmnlbkjh8anv"))))
+    (native-inputs
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("libtool" ,libtool)
+       ("pkg-config" ,pkg-config)
+       ("zlib" ,zlib)
+       ("libmediainfo", libmediainfo)
+       ("libzen" ,libzen)))
+    (build-system gnu-build-system)
+    (arguments
+     '(#:tests? #f ; lacks tests
+       #:phases
+       ;; build scripts not in root of archive
+       (modify-phases %standard-phases
+         (add-before 'configure 'pre-configure
+           (lambda _
+             (chdir "Project/GNU/CLI")))
+         (add-before 'configure 'autogen
+           (lambda _
+             (zero? (system* "./autogen.sh")))))))
+    (home-page "https://mediaarea.net/en/MediaInfo")
+    (synopsis "Utility for reading media metadata")
+    (description "MediaInfo is a utility used for retrieving technical
+information and other metadata about audio or video files.
+A non-exhaustive list of the information MediaInfo can retrieve from media files include:
+@itemize
+@item General: title, author, director, album, track number, date, duration...
+@item Video: codec, aspect, fps, bitrate...
+@item Audio: codec, sample rate, channels, language, bitrate...
+@item Text: language of subtitle
+@item Chapters: number of chapters, list of chapters
+@end itemize\n
+MediaInfo supports the following formats:
+@itemize
+@item Video: MKV, OGM, AVI, DivX, WMV, QuickTime, Real, MPEG-1,
+MPEG-2, MPEG-4, DVD (VOB)...
+@item Video Codecs: DivX, XviD, MSMPEG4, ASP, H.264, AVC...)
+@item Audio: OGG, MP3, WAV, RA, AC3, DTS, AAC, M4A, AU, AIFF...
+@item  Subtitles: SRT, SSA, ASS, SAMI...
+@end itemize \n")
+    (license license:bsd-2)))
diff --git a/po/guix/pl.po b/po/guix/pl.po
index 74d1f82ac..3a644bedf 100644
--- a/po/guix/pl.po
+++ b/po/guix/pl.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: guix 0.11.0\n"
 "Report-Msgid-Bugs-To: ludo@gnu.org\n"
-"POT-Creation-Date: 2016-07-29 10:16+0200\n"
+"POT-Creation-Date: 2017-05-25 12:14-0400\n"
 "PO-Revision-Date: 2016-08-11 03:21+0200\n"
 "Last-Translator: Daniel Koć <daniel@xn--ko-wla.pl>\n"
 "Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n"
@@ -15,457 +15,515 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
+"|| n%100>=20) ? 1 : 2);\n"
 "X-Generator: Poedit 1.8.7.1\n"
 
-#: gnu/packages.scm:79
+#: gnu/packages.scm:90
 #, scheme-format
 msgid "~a: patch not found"
 msgstr "~a: nie znaleziono łatki"
 
-#: gnu/packages.scm:95
+#: gnu/packages.scm:106
 #, scheme-format
 msgid "could not find bootstrap binary '~a' for system '~a'"
 msgstr ""
 
-#: gnu/packages.scm:147
-#, scheme-format
-msgid "cannot access `~a': ~a~%"
-msgstr "brak dostępu do `~a': ~a~%"
-
-#: gnu/packages.scm:301
+#: gnu/packages.scm:236
 #, scheme-format
 msgid "ambiguous package specification `~a'~%"
 msgstr "niejasna specyfikacja pakietu `~a'~%"
 
-#: gnu/packages.scm:302
-#, scheme-format
-msgid "choosing ~a from ~a~%"
+#: gnu/packages.scm:237
+#, fuzzy, scheme-format
+msgid "choosing ~a@~a from ~a~%"
 msgstr "wybieranie ~a z ~a~%"
 
-#: gnu/packages.scm:306
+#: gnu/packages.scm:242 guix/scripts/package.scm:272
 #, scheme-format
-msgid "deprecated NAME-VERSION syntax; use NAME@VERSION instead~%"
+msgid "package '~a' has been superseded by '~a'~%"
 msgstr ""
 
-#: gnu/packages.scm:311
+#: gnu/packages.scm:249
 #, scheme-format
 msgid "~A: package not found for version ~a~%"
 msgstr "~A: nie znalezino pakietu w wersji ~a~%"
 
-#: gnu/packages.scm:321
+#: gnu/packages.scm:250
 #, scheme-format
 msgid "~A: unknown package~%"
 msgstr "~A: nieznany pakiet~%"
 
-#: gnu/packages.scm:349
+#: gnu/packages.scm:278
 #, scheme-format
 msgid "package `~a' lacks output `~a'~%"
 msgstr ""
 
-#: gnu/services.scm:540
+#: gnu/services.scm:186
+#, scheme-format
+msgid "~a: no value specified for service of type '~a'"
+msgstr ""
+
+#: gnu/services.scm:627
 #, scheme-format
 msgid "no target of type '~a' for service ~s"
 msgstr ""
 
-#: gnu/services.scm:551 gnu/services.scm:612
+#: gnu/services.scm:638 gnu/services.scm:699
 #, scheme-format
 msgid "more than one target service of type '~a'"
 msgstr ""
 
-#: gnu/services.scm:602
+#: gnu/services.scm:689
 #, scheme-format
 msgid "service of type '~a' not found"
 msgstr ""
 
-#: gnu/system.scm:500
+#: gnu/system.scm:279
 #, scheme-format
-msgid "using a string for file '~a' is deprecated; use 'plain-file' instead~%"
+msgid "unrecognized boot parameters for '~a'~%"
 msgstr ""
 
-#: gnu/system.scm:516
+#: gnu/system.scm:642
 #, scheme-format
-msgid "using a monadic value for '~a' is deprecated; use 'plain-file' instead~%"
+msgid "using a string for file '~a' is deprecated; use 'plain-file' instead~%"
 msgstr ""
 
-#: gnu/system.scm:650
+#: gnu/system.scm:658
 #, scheme-format
-msgid "~a: invalid locale name"
+msgid ""
+"using a monadic value for '~a' is deprecated; use 'plain-file' instead~%"
 msgstr ""
 
-#: gnu/system.scm:770
+#: gnu/system.scm:800
 #, scheme-format
-msgid "unrecognized boot parameters for '~a'~%"
+msgid "~a: invalid locale name"
 msgstr ""
 
-#: gnu/services/shepherd.scm:162
+#: gnu/services/shepherd.scm:166
 #, scheme-format
 msgid "service '~a' provided more than once"
 msgstr ""
 
-#: gnu/services/shepherd.scm:177
+#: gnu/services/shepherd.scm:181
 #, scheme-format
 msgid "service '~a' requires '~a', which is not provided by any service"
 msgstr ""
 
-#: gnu/system/shadow.scm:240
+#: gnu/system/shadow.scm:223
 #, scheme-format
 msgid "supplementary group '~a' of user '~a' is undeclared"
 msgstr ""
 
-#: gnu/system/shadow.scm:250
+#: gnu/system/shadow.scm:233
 #, scheme-format
 msgid "primary group '~a' of user '~a' is undeclared"
 msgstr "podstawowa grupa '~a' użytkownika '~a' nie została określona"
 
-#: guix/scripts.scm:52
+#: guix/scripts.scm:56
 #, scheme-format
 msgid "invalid argument: ~a~%"
 msgstr "nieprawidłowy argument: ~a~%"
 
-#: guix/scripts.scm:78 guix/scripts/download.scm:99 guix/scripts/gc.scm:164
-#: guix/scripts/import/cran.scm:78 guix/scripts/import/elpa.scm:77
-#: guix/scripts/pull.scm:219 guix/scripts/lint.scm:916
-#: guix/scripts/publish.scm:549 guix/scripts/graph.scm:383
+#: guix/scripts.scm:82 guix/scripts/download.scm:133 guix/scripts/gc.scm:164
+#: guix/scripts/import/cran.scm:82 guix/scripts/import/elpa.scm:77
+#: guix/scripts/lint.scm:1061 guix/scripts/publish.scm:821
+#: guix/scripts/edit.scm:81 guix/scripts/graph.scm:456
 #, scheme-format
 msgid "~A: unrecognized option~%"
 msgstr "~A: nieznana opcja~%"
 
-#: guix/scripts/build.scm:121
+#: guix/scripts.scm:175
+#, scheme-format
+msgid "Your Guix installation is ~a day old.\n"
+msgid_plural "Your Guix installation is ~a days old.\n"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+
+#: guix/scripts.scm:180
+#, scheme-format
+msgid ""
+"Consider running 'guix pull' followed by\n"
+"'~a' to get up-to-date packages and security updates.\n"
+msgstr ""
+
+#: guix/scripts/build.scm:124
 #, scheme-format
 msgid "failed to create GC root `~a': ~a~%"
 msgstr ""
 
-#: guix/scripts/build.scm:198
+#: guix/scripts/build.scm:206
 #, scheme-format
 msgid "invalid replacement specification: ~s~%"
 msgstr ""
 
-#: guix/scripts/build.scm:246
+#: guix/scripts/build.scm:263
 msgid ""
 "\n"
 "      --with-source=SOURCE\n"
 "                         use SOURCE when building the corresponding package"
 msgstr ""
 
-#: guix/scripts/build.scm:249
+#: guix/scripts/build.scm:266
 msgid ""
 "\n"
 "      --with-input=PACKAGE=REPLACEMENT\n"
 "                         replace dependency PACKAGE by REPLACEMENT"
 msgstr ""
 
-#: guix/scripts/build.scm:274
+#: guix/scripts/build.scm:269
+msgid ""
+"\n"
+"      --with-graft=PACKAGE=REPLACEMENT\n"
+"                         graft REPLACEMENT on packages that refer to PACKAGE"
+msgstr ""
+
+#: guix/scripts/build.scm:294
 #, scheme-format
 msgid "transformation '~a' had no effect on ~a~%"
 msgstr ""
 
-#: guix/scripts/build.scm:292
+#: guix/scripts/build.scm:312
 msgid ""
 "\n"
 "  -L, --load-path=DIR    prepend DIR to the package module search path"
 msgstr ""
 
-#: guix/scripts/build.scm:294
+#: guix/scripts/build.scm:314
 msgid ""
 "\n"
 "  -K, --keep-failed      keep build tree of failed builds"
 msgstr ""
 
-#: guix/scripts/build.scm:296
+#: guix/scripts/build.scm:316
 msgid ""
 "\n"
 "  -k, --keep-going       keep going when some of the derivations fail"
 msgstr ""
 
-#: guix/scripts/build.scm:298
+#: guix/scripts/build.scm:318
 msgid ""
 "\n"
 "  -n, --dry-run          do not build the derivations"
 msgstr ""
 
-#: guix/scripts/build.scm:300
+#: guix/scripts/build.scm:320
 msgid ""
 "\n"
 "      --fallback         fall back to building when the substituter fails"
 msgstr ""
 
-#: guix/scripts/build.scm:302
+#: guix/scripts/build.scm:322
 msgid ""
 "\n"
 "      --no-substitutes   build instead of resorting to pre-built substitutes"
 msgstr ""
 
-#: guix/scripts/build.scm:304 guix/scripts/size.scm:217
+#: guix/scripts/build.scm:324 guix/scripts/size.scm:222
 msgid ""
 "\n"
 "      --substitute-urls=URLS\n"
 "                         fetch substitute from URLS if they are authorized"
 msgstr ""
 
-#: guix/scripts/build.scm:307
+#: guix/scripts/build.scm:327
 msgid ""
 "\n"
 "      --no-grafts        do not graft packages"
 msgstr ""
 
-#: guix/scripts/build.scm:309
+#: guix/scripts/build.scm:329
 msgid ""
 "\n"
 "      --no-build-hook    do not attempt to offload builds via the build hook"
 msgstr ""
 
-#: guix/scripts/build.scm:311
+#: guix/scripts/build.scm:331
 msgid ""
 "\n"
 "      --max-silent-time=SECONDS\n"
 "                         mark the build as failed after SECONDS of silence"
 msgstr ""
 
-#: guix/scripts/build.scm:314
+#: guix/scripts/build.scm:334
 msgid ""
 "\n"
 "      --timeout=SECONDS  mark the build as failed after SECONDS of activity"
 msgstr ""
 
-#: guix/scripts/build.scm:316
+#: guix/scripts/build.scm:336
 msgid ""
 "\n"
 "      --verbosity=LEVEL  use the given verbosity LEVEL"
 msgstr ""
 
-#: guix/scripts/build.scm:318
+#: guix/scripts/build.scm:338
 msgid ""
 "\n"
 "      --rounds=N         build N times in a row to detect non-determinism"
 msgstr ""
 
-#: guix/scripts/build.scm:320
+#: guix/scripts/build.scm:340
 msgid ""
 "\n"
 "  -c, --cores=N          allow the use of up to N CPU cores for the build"
 msgstr ""
 
-#: guix/scripts/build.scm:322
+#: guix/scripts/build.scm:342
 msgid ""
 "\n"
 "  -M, --max-jobs=N       allow at most N build jobs"
 msgstr ""
 
-#: guix/scripts/build.scm:428 guix/scripts/build.scm:435
+#: guix/scripts/build.scm:448 guix/scripts/build.scm:455
 #, scheme-format
 msgid "not a number: '~a' option argument: ~a~%"
 msgstr ""
 
-#: guix/scripts/build.scm:455
+#: guix/scripts/build.scm:474
 msgid ""
 "Usage: guix build [OPTION]... PACKAGE-OR-DERIVATION...\n"
 "Build the given PACKAGE-OR-DERIVATION and return their output paths.\n"
 msgstr ""
 
-#: guix/scripts/build.scm:457
+#: guix/scripts/build.scm:476
 msgid ""
 "\n"
 "  -e, --expression=EXPR  build the package or derivation EXPR evaluates to"
 msgstr ""
 
-#: guix/scripts/build.scm:459
+#: guix/scripts/build.scm:478
 msgid ""
 "\n"
-"  -f, --file=FILE        build the package or derivation that the code within\n"
+"  -f, --file=FILE        build the package or derivation that the code "
+"within\n"
 "                         FILE evaluates to"
 msgstr ""
 
-#: guix/scripts/build.scm:462
+#: guix/scripts/build.scm:481
 msgid ""
 "\n"
 "  -S, --source           build the packages' source derivations"
 msgstr ""
 
-#: guix/scripts/build.scm:464
+#: guix/scripts/build.scm:483
 msgid ""
 "\n"
-"      --sources[=TYPE]   build source derivations; TYPE may optionally be one\n"
+"      --sources[=TYPE]   build source derivations; TYPE may optionally be "
+"one\n"
 "                         of \"package\", \"all\" (default), or \"transitive\""
 msgstr ""
 
-#: guix/scripts/build.scm:467
+#: guix/scripts/build.scm:486 guix/scripts/pack.scm:337
 msgid ""
 "\n"
 "  -s, --system=SYSTEM    attempt to build for SYSTEM--e.g., \"i686-linux\""
 msgstr ""
 
-#: guix/scripts/build.scm:469
+#: guix/scripts/build.scm:488 guix/scripts/pack.scm:339
 msgid ""
 "\n"
 "      --target=TRIPLET   cross-build for TRIPLET--e.g., \"armel-linux-gnu\""
 msgstr ""
 
-#: guix/scripts/build.scm:471
+#: guix/scripts/build.scm:490
 msgid ""
 "\n"
 "  -d, --derivations      return the derivation paths of the given packages"
 msgstr ""
 
-#: guix/scripts/build.scm:473
+#: guix/scripts/build.scm:492
 msgid ""
 "\n"
 "      --check            rebuild items to check for non-determinism issues"
 msgstr ""
 
-#: guix/scripts/build.scm:475
+#: guix/scripts/build.scm:494
+msgid ""
+"\n"
+"      --repair           repair the specified items"
+msgstr ""
+
+#: guix/scripts/build.scm:496
 msgid ""
 "\n"
 "  -r, --root=FILE        make FILE a symlink to the result, and register it\n"
 "                         as a garbage collector root"
 msgstr ""
 
-#: guix/scripts/build.scm:478
+#: guix/scripts/build.scm:499
 msgid ""
 "\n"
 "  -q, --quiet            do not show the build log"
 msgstr ""
 
-#: guix/scripts/build.scm:480
+#: guix/scripts/build.scm:501
 msgid ""
 "\n"
 "      --log-file         return the log file names for the given derivations"
 msgstr ""
 
-#: guix/scripts/build.scm:487 guix/scripts/download.scm:56
-#: guix/scripts/package.scm:388 guix/scripts/gc.scm:74
-#: guix/scripts/hash.scm:56 guix/scripts/import.scm:91
-#: guix/scripts/import/cran.scm:46 guix/scripts/pull.scm:83
-#: guix/scripts/substitute.scm:827 guix/scripts/system.scm:695
-#: guix/scripts/lint.scm:865 guix/scripts/publish.scm:73
-#: guix/scripts/edit.scm:44 guix/scripts/size.scm:225
-#: guix/scripts/graph.scm:364 guix/scripts/challenge.scm:182
-#: guix/scripts/container.scm:33 guix/scripts/container/exec.scm:43
+#: guix/scripts/build.scm:508 guix/scripts/download.scm:81
+#: guix/scripts/package.scm:419 guix/scripts/gc.scm:74 guix/scripts/hash.scm:59
+#: guix/scripts/import.scm:92 guix/scripts/import/cran.scm:47
+#: guix/scripts/pull.scm:94 guix/scripts/substitute.scm:810
+#: guix/scripts/system.scm:792 guix/scripts/lint.scm:1010
+#: guix/scripts/publish.scm:93 guix/scripts/edit.scm:44
+#: guix/scripts/size.scm:230 guix/scripts/graph.scm:436
+#: guix/scripts/challenge.scm:227 guix/scripts/copy.scm:121
+#: guix/scripts/pack.scm:348 guix/scripts/container.scm:33
+#: guix/scripts/container/exec.scm:43
 msgid ""
 "\n"
 "  -h, --help             display this help and exit"
 msgstr ""
 
-#: guix/scripts/build.scm:489 guix/scripts/download.scm:58
-#: guix/scripts/package.scm:390 guix/scripts/gc.scm:76
-#: guix/scripts/hash.scm:58 guix/scripts/import.scm:93
-#: guix/scripts/import/cran.scm:48 guix/scripts/pull.scm:85
-#: guix/scripts/substitute.scm:829 guix/scripts/system.scm:697
-#: guix/scripts/lint.scm:869 guix/scripts/publish.scm:75
-#: guix/scripts/edit.scm:46 guix/scripts/size.scm:227
-#: guix/scripts/graph.scm:366 guix/scripts/challenge.scm:184
-#: guix/scripts/container.scm:35 guix/scripts/container/exec.scm:45
+#: guix/scripts/build.scm:510 guix/scripts/download.scm:83
+#: guix/scripts/package.scm:421 guix/scripts/gc.scm:76 guix/scripts/hash.scm:61
+#: guix/scripts/import.scm:94 guix/scripts/import/cran.scm:49
+#: guix/scripts/pull.scm:96 guix/scripts/substitute.scm:812
+#: guix/scripts/system.scm:794 guix/scripts/lint.scm:1014
+#: guix/scripts/publish.scm:95 guix/scripts/edit.scm:46
+#: guix/scripts/size.scm:232 guix/scripts/graph.scm:438
+#: guix/scripts/challenge.scm:229 guix/scripts/copy.scm:123
+#: guix/scripts/pack.scm:350 guix/scripts/container.scm:35
+#: guix/scripts/container/exec.scm:45
 msgid ""
 "\n"
 "  -V, --version          display version information and exit"
 msgstr ""
 
-#: guix/scripts/build.scm:516
+#: guix/scripts/build.scm:537
 #, scheme-format
 msgid ""
 "invalid argument: '~a' option argument: ~a, ~\n"
 "must be one of 'package', 'all', or 'transitive'~%"
 msgstr ""
 
-#: guix/scripts/build.scm:563
+#: guix/scripts/build.scm:590
 #, scheme-format
 msgid "~s: not something we can build~%"
 msgstr ""
 
-#: guix/scripts/build.scm:643
+#: guix/scripts/build.scm:644
+#, scheme-format
+msgid "~a: warning: package '~a' has no source~%"
+msgstr ""
+
+#: guix/scripts/build.scm:678
 #, scheme-format
 msgid "no build log for '~a'~%"
 msgstr ""
 
-#: guix/scripts/download.scm:47
+#: guix/discovery.scm:56
+#, scheme-format
+msgid "cannot access `~a': ~a~%"
+msgstr "brak dostępu do `~a': ~a~%"
+
+#: guix/scripts/download.scm:67
 msgid ""
 "Usage: guix download [OPTION] URL\n"
-"Download the file at URL, add it to the store, and print its store path\n"
-"and the hash of its contents.\n"
+"Download the file at URL to the store or to the given file, and print its\n"
+"file name and the hash of its contents.\n"
 "\n"
 "Supported formats: 'nix-base32' (default), 'base32', and 'base16'\n"
 "('hex' and 'hexadecimal' can be used as well).\n"
 msgstr ""
 
-#: guix/scripts/download.scm:53 guix/scripts/hash.scm:51
+#: guix/scripts/download.scm:73 guix/scripts/hash.scm:54
 msgid ""
 "\n"
 "  -f, --format=FMT       write the hash in the given format"
 msgstr ""
 
-#: guix/scripts/download.scm:76 guix/scripts/hash.scm:76
+#: guix/scripts/download.scm:75
+msgid ""
+"\n"
+"      --no-check-certificate\n"
+"                         do not validate the certificate of HTTPS servers "
+msgstr ""
+
+#: guix/scripts/download.scm:78
+msgid ""
+"\n"
+"  -o, --output=FILE      download to FILE"
+msgstr ""
+
+#: guix/scripts/download.scm:101 guix/scripts/hash.scm:82
 #, scheme-format
 msgid "unsupported hash format: ~a~%"
 msgstr ""
 
-#: guix/scripts/download.scm:102 guix/scripts/package.scm:842
-#: guix/scripts/publish.scm:551
+#: guix/scripts/download.scm:136 guix/scripts/package.scm:884
+#: guix/scripts/publish.scm:823
 #, scheme-format
 msgid "~A: extraneous argument~%"
 msgstr ""
 
-#: guix/scripts/download.scm:111
+#: guix/scripts/download.scm:144
 #, scheme-format
 msgid "no download URI was specified~%"
 msgstr ""
 
-#: guix/scripts/download.scm:113
+#: guix/scripts/download.scm:146
 #, scheme-format
 msgid "~a: failed to parse URI~%"
 msgstr ""
 
-#: guix/scripts/download.scm:126
+#: guix/scripts/download.scm:156
 #, scheme-format
 msgid "~a: download failed~%"
 msgstr "~a: pobieranie nie powiodło się~%"
 
-#: guix/scripts/package.scm:104
+#: guix/scripts/package.scm:107
 #, scheme-format
 msgid "Try \"info '(guix) Invoking guix package'\" for more information.~%"
-msgstr "Wpisz \"info '(guix) Invoking guix package'\" aby dowiedzieć się więcej.~%"
+msgstr ""
+"Wpisz \"info '(guix) Invoking guix package'\" aby dowiedzieć się więcej.~%"
 
-#: guix/scripts/package.scm:126
+#: guix/scripts/package.scm:129
 #, scheme-format
 msgid "error: while creating directory `~a': ~a~%"
 msgstr "błąd: podczas tworzenia katalogu `~a': ~a~%"
 
-#: guix/scripts/package.scm:130
+#: guix/scripts/package.scm:133
 #, scheme-format
 msgid "Please create the `~a' directory, with you as the owner.~%"
 msgstr ""
 
-#: guix/scripts/package.scm:137
+#: guix/scripts/package.scm:140
 #, scheme-format
 msgid "error: directory `~a' is not owned by you~%"
 msgstr "błąd: katalog `~a' nie należy do ciebie~%"
 
-#: guix/scripts/package.scm:140
+#: guix/scripts/package.scm:143
 #, scheme-format
 msgid "Please change the owner of `~a' to user ~s.~%"
 msgstr ""
 
-#: guix/scripts/package.scm:175
+#: guix/scripts/package.scm:178
 #, scheme-format
 msgid "not removing generation ~a, which is current~%"
 msgstr ""
 
-#: guix/scripts/package.scm:182
+#: guix/scripts/package.scm:185
 #, scheme-format
 msgid "no matching generation~%"
 msgstr ""
 
-#: guix/scripts/package.scm:185 guix/scripts/package.scm:659
-#: guix/scripts/system.scm:502
+#: guix/scripts/package.scm:188 guix/scripts/package.scm:702
+#: guix/scripts/system.scm:555
 #, scheme-format
 msgid "invalid syntax: ~a~%"
 msgstr "nieprawidłowa składnia: ~a~%"
 
-#: guix/scripts/package.scm:210
+#: guix/scripts/package.scm:214
 #, scheme-format
 msgid "nothing to be done~%"
 msgstr "nie ma nic do zrobienia~%"
 
-#: guix/scripts/package.scm:224
+#: guix/scripts/package.scm:228
 #, scheme-format
 msgid "~a package in profile~%"
 msgid_plural "~a packages in profile~%"
@@ -473,32 +531,32 @@ msgstr[0] "~a pakiet w profilu~%"
 msgstr[1] "~a pakiety w profilu~%"
 msgstr[2] "~a pakietów w profilu~%"
 
-#: guix/scripts/package.scm:313
+#: guix/scripts/package.scm:344
 #, scheme-format
 msgid "The following environment variable definitions may be needed:~%"
 msgstr ""
 
-#: guix/scripts/package.scm:329
+#: guix/scripts/package.scm:360
 msgid ""
 "Usage: guix package [OPTION]...\n"
 "Install, remove, or upgrade packages in a single transaction.\n"
 msgstr ""
 
-#: guix/scripts/package.scm:331
+#: guix/scripts/package.scm:362
 msgid ""
 "\n"
 "  -i, --install PACKAGE ...\n"
 "                         install PACKAGEs"
 msgstr ""
 
-#: guix/scripts/package.scm:334
+#: guix/scripts/package.scm:365
 msgid ""
 "\n"
 "  -e, --install-from-expression=EXP\n"
 "                         install the package EXP evaluates to"
 msgstr ""
 
-#: guix/scripts/package.scm:337
+#: guix/scripts/package.scm:368
 msgid ""
 "\n"
 "  -f, --install-from-file=FILE\n"
@@ -506,126 +564,126 @@ msgid ""
 "                         evaluates to"
 msgstr ""
 
-#: guix/scripts/package.scm:341
+#: guix/scripts/package.scm:372
 msgid ""
 "\n"
 "  -r, --remove PACKAGE ...\n"
 "                         remove PACKAGEs"
 msgstr ""
 
-#: guix/scripts/package.scm:344
+#: guix/scripts/package.scm:375
 msgid ""
 "\n"
 "  -u, --upgrade[=REGEXP] upgrade all the installed packages matching REGEXP"
 msgstr ""
 
-#: guix/scripts/package.scm:346
+#: guix/scripts/package.scm:377
 msgid ""
 "\n"
 "  -m, --manifest=FILE    create a new profile generation with the manifest\n"
 "                         from FILE"
 msgstr ""
 
-#: guix/scripts/package.scm:349
+#: guix/scripts/package.scm:380
 msgid ""
 "\n"
 "      --do-not-upgrade[=REGEXP] do not upgrade any packages matching REGEXP"
 msgstr ""
 
-#: guix/scripts/package.scm:351
+#: guix/scripts/package.scm:382
 msgid ""
 "\n"
 "      --roll-back        roll back to the previous generation"
 msgstr ""
 
-#: guix/scripts/package.scm:353
+#: guix/scripts/package.scm:384
 msgid ""
 "\n"
 "      --search-paths[=KIND]\n"
 "                         display needed environment variable definitions"
 msgstr ""
 
-#: guix/scripts/package.scm:356
+#: guix/scripts/package.scm:387
 msgid ""
 "\n"
 "  -l, --list-generations[=PATTERN]\n"
 "                         list generations matching PATTERN"
 msgstr ""
 
-#: guix/scripts/package.scm:359
+#: guix/scripts/package.scm:390
 msgid ""
 "\n"
 "  -d, --delete-generations[=PATTERN]\n"
 "                         delete generations matching PATTERN"
 msgstr ""
 
-#: guix/scripts/package.scm:362
+#: guix/scripts/package.scm:393
 msgid ""
 "\n"
 "  -S, --switch-generation=PATTERN\n"
 "                         switch to a generation matching PATTERN"
 msgstr ""
 
-#: guix/scripts/package.scm:365
+#: guix/scripts/package.scm:396
 msgid ""
 "\n"
 "  -p, --profile=PROFILE  use PROFILE instead of the user's default profile"
 msgstr ""
 
-#: guix/scripts/package.scm:368
+#: guix/scripts/package.scm:399
 msgid ""
 "\n"
 "      --bootstrap        use the bootstrap Guile to build the profile"
 msgstr ""
 
-#: guix/scripts/package.scm:370 guix/scripts/pull.scm:76
+#: guix/scripts/package.scm:401 guix/scripts/pull.scm:86
 msgid ""
 "\n"
 "      --verbose          produce verbose output"
 msgstr ""
 
-#: guix/scripts/package.scm:373
+#: guix/scripts/package.scm:404
 msgid ""
 "\n"
 "  -s, --search=REGEXP    search in synopsis and description using REGEXP"
 msgstr ""
 
-#: guix/scripts/package.scm:375
+#: guix/scripts/package.scm:406
 msgid ""
 "\n"
 "  -I, --list-installed[=REGEXP]\n"
 "                         list installed packages matching REGEXP"
 msgstr ""
 
-#: guix/scripts/package.scm:378
+#: guix/scripts/package.scm:409
 msgid ""
 "\n"
 "  -A, --list-available[=REGEXP]\n"
 "                         list available packages matching REGEXP"
 msgstr ""
 
-#: guix/scripts/package.scm:381
+#: guix/scripts/package.scm:412
 msgid ""
 "\n"
 "      --show=PACKAGE     show details about PACKAGE"
 msgstr ""
 
-#: guix/scripts/package.scm:476
+#: guix/scripts/package.scm:507
 #, scheme-format
 msgid "~a: unsupported kind of search path~%"
 msgstr ""
 
-#: guix/scripts/package.scm:755
+#: guix/scripts/package.scm:793
 #, scheme-format
 msgid "cannot switch to generation '~a'~%"
 msgstr ""
 
-#: guix/scripts/package.scm:771
+#: guix/scripts/package.scm:809
 #, scheme-format
 msgid "would install new manifest from '~a' with ~d entries~%"
 msgstr ""
 
-#: guix/scripts/package.scm:773
+#: guix/scripts/package.scm:811
 #, scheme-format
 msgid "installing new manifest from '~a' with ~d entries~%"
 msgstr ""
@@ -733,7 +791,7 @@ msgstr ""
 msgid "freed ~h bytes~%"
 msgstr "zwolniono ~h bajtów~%"
 
-#: guix/scripts/hash.scm:46
+#: guix/scripts/hash.scm:47
 msgid ""
 "Usage: guix hash [OPTION] FILE\n"
 "Return the cryptographic hash of FILE.\n"
@@ -742,75 +800,82 @@ msgid ""
 "and 'hexadecimal' can be used as well).\n"
 msgstr ""
 
-#: guix/scripts/hash.scm:53
+#: guix/scripts/hash.scm:52
+msgid ""
+"\n"
+"  -x, --exclude-vcs      exclude version control directories"
+msgstr ""
+
+#: guix/scripts/hash.scm:56
 msgid ""
 "\n"
 "  -r, --recursive        compute the hash on FILE recursively"
 msgstr ""
 
-#: guix/scripts/hash.scm:104
+#: guix/scripts/hash.scm:109
 #, scheme-format
 msgid "unrecognized option: ~a~%"
 msgstr "nieznana opcja: ~a~%"
 
-#: guix/scripts/hash.scm:135 guix/ui.scm:477
+#: guix/scripts/hash.scm:155 guix/ui.scm:264 guix/ui.scm:505 guix/ui.scm:558
 #, scheme-format
 msgid "~a~%"
 msgstr "~a~%"
 
-#: guix/scripts/hash.scm:138 guix/scripts/system.scm:825
+#: guix/scripts/hash.scm:158 guix/scripts/system.scm:931
+#: guix/scripts/system.scm:938 guix/scripts/system.scm:945
 #, scheme-format
 msgid "wrong number of arguments~%"
 msgstr "nieprawidłowa liczba argumentów~%"
 
-#: guix/scripts/import.scm:85
+#: guix/scripts/import.scm:86
 msgid ""
 "Usage: guix import IMPORTER ARGS ...\n"
 "Run IMPORTER with ARGS.\n"
 msgstr ""
 
-#: guix/scripts/import.scm:88
+#: guix/scripts/import.scm:89
 msgid "IMPORTER must be one of the importers listed below:\n"
 msgstr ""
 
-#: guix/scripts/import.scm:102
+#: guix/scripts/import.scm:103
 #, scheme-format
 msgid "guix import: missing importer name~%"
 msgstr ""
 
-#: guix/scripts/import.scm:115
+#: guix/scripts/import.scm:123
 #, scheme-format
 msgid "'~a' import failed~%"
 msgstr ""
 
-#: guix/scripts/import.scm:116
+#: guix/scripts/import.scm:124
 #, scheme-format
 msgid "~a: invalid importer~%"
 msgstr ""
 
-#: guix/scripts/import/cran.scm:42
+#: guix/scripts/import/cran.scm:43
 msgid ""
 "Usage: guix import cran PACKAGE-NAME\n"
 "Import and convert the CRAN package for PACKAGE-NAME.\n"
 msgstr ""
 
-#: guix/scripts/import/cran.scm:44
+#: guix/scripts/import/cran.scm:45
 msgid ""
 "\n"
 "  -a, --archive=ARCHIVE  specify the archive repository"
 msgstr ""
 
-#: guix/scripts/import/cran.scm:94
+#: guix/scripts/import/cran.scm:108
 #, scheme-format
 msgid "failed to download description for package '~a'~%"
 msgstr "nie udało się pobrać opisu dla pakietu '~a'~%"
 
-#: guix/scripts/import/cran.scm:98 guix/scripts/import/elpa.scm:95
+#: guix/scripts/import/cran.scm:112 guix/scripts/import/elpa.scm:95
 #, scheme-format
 msgid "too few arguments~%"
 msgstr "za mało argumentów~%"
 
-#: guix/scripts/import/cran.scm:100 guix/scripts/import/elpa.scm:97
+#: guix/scripts/import/cran.scm:114 guix/scripts/import/elpa.scm:97
 #, scheme-format
 msgid "too many arguments~%"
 msgstr "za dużo argumentów~%"
@@ -844,194 +909,189 @@ msgstr ""
 msgid "failed to download package '~a'~%"
 msgstr "nie udało się pobrać pakietu '~a'~%"
 
-#: guix/scripts/pull.scm:74
+#: guix/scripts/pull.scm:84
 msgid ""
 "Usage: guix pull [OPTION]...\n"
 "Download and deploy the latest version of Guix.\n"
 msgstr ""
 
-#: guix/scripts/pull.scm:78
+#: guix/scripts/pull.scm:88
 msgid ""
 "\n"
 "      --url=URL          download the Guix tarball from URL"
 msgstr ""
 
-#: guix/scripts/pull.scm:80
+#: guix/scripts/pull.scm:90
 msgid ""
 "\n"
 "      --bootstrap        use the bootstrap Guile to build the new Guix"
 msgstr ""
 
-#: guix/scripts/pull.scm:134
+#: guix/scripts/pull.scm:150
 msgid "tarball did not produce a single source directory"
 msgstr ""
 
-#: guix/scripts/pull.scm:152
+#: guix/scripts/pull.scm:168
 #, scheme-format
 msgid "unpacking '~a'...~%"
 msgstr "rozpakowywanie '~a'...~%"
 
-#: guix/scripts/pull.scm:161
+#: guix/scripts/pull.scm:177
 msgid "failed to unpack source code"
 msgstr "nie udało się rozpakowywać kodu źródłowego"
 
-#: guix/scripts/pull.scm:204
+#: guix/scripts/pull.scm:220
 msgid "Guix already up to date\n"
 msgstr "Guix jest już aktualny\n"
 
-#: guix/scripts/pull.scm:209
+#: guix/scripts/pull.scm:225
 #, scheme-format
 msgid "updated ~a successfully deployed under `~a'~%"
 msgstr ""
 
-#: guix/scripts/pull.scm:212
+#: guix/scripts/pull.scm:228
 #, scheme-format
 msgid "failed to update Guix, check the build log~%"
 msgstr ""
 
-#: guix/scripts/pull.scm:221
-#, scheme-format
-msgid "~A: unexpected argument~%"
-msgstr "~A: nieoczekiwany argument~%"
-
-#: guix/scripts/pull.scm:230
+#: guix/scripts/pull.scm:255
 msgid "failed to download up-to-date source, exiting\n"
 msgstr "nie udało się pobrać aktualnego kodu źródłowego, zakończenie pracy\n"
 
-#: guix/scripts/substitute.scm:113
+#: guix/scripts/substitute.scm:114
 #, scheme-format
 msgid "authentication and authorization of substitutes disabled!~%"
 msgstr ""
 
-#: guix/scripts/substitute.scm:188
+#: guix/scripts/substitute.scm:189
 #, scheme-format
 msgid "download from '~a' failed: ~a, ~s~%"
 msgstr "pobieranie z '~a' nie powiodło się: ~a, ~s~%"
 
-#: guix/scripts/substitute.scm:201
+#: guix/scripts/substitute.scm:202
 #, scheme-format
 msgid "while fetching ~a: server is somewhat slow~%"
 msgstr "podczas pobierania ~a: serwer jest nieco wolny~%"
 
-#: guix/scripts/substitute.scm:203
+#: guix/scripts/substitute.scm:204
 #, scheme-format
 msgid "try `--no-substitutes' if the problem persists~%"
 msgstr ""
 
-#: guix/scripts/substitute.scm:219
+#: guix/scripts/substitute.scm:222
 #, scheme-format
 msgid "unsupported substitute URI scheme: ~a~%"
 msgstr ""
 
-#: guix/scripts/substitute.scm:252
+#: guix/scripts/substitute.scm:257
 #, scheme-format
 msgid "while fetching '~a': ~a (~s)~%"
 msgstr "podczas pobierania '~a': ~a (~s)~%"
 
-#: guix/scripts/substitute.scm:257
+#: guix/scripts/substitute.scm:262
 #, scheme-format
 msgid "ignoring substitute server at '~s'~%"
 msgstr ""
 
-#: guix/scripts/substitute.scm:306
+#: guix/scripts/substitute.scm:312
 #, scheme-format
 msgid "signature version must be a number: ~s~%"
 msgstr "wersja podpisu musi być liczbą: ~s~%"
 
-#: guix/scripts/substitute.scm:310
+#: guix/scripts/substitute.scm:316
 #, scheme-format
 msgid "unsupported signature version: ~a~%"
 msgstr ""
 
-#: guix/scripts/substitute.scm:318
+#: guix/scripts/substitute.scm:324
 #, scheme-format
 msgid "signature is not a valid s-expression: ~s~%"
 msgstr ""
 
-#: guix/scripts/substitute.scm:322
+#: guix/scripts/substitute.scm:328
 #, scheme-format
 msgid "invalid format of the signature field: ~a~%"
 msgstr "nieprawidłowy format pola podpisu: ~a~%"
 
-#: guix/scripts/substitute.scm:357
+#: guix/scripts/substitute.scm:363
 #, scheme-format
 msgid "invalid signature for '~a'~%"
 msgstr "nieprawidłowy podpis dla '~a'~%"
 
-#: guix/scripts/substitute.scm:359
+#: guix/scripts/substitute.scm:365
 #, scheme-format
 msgid "hash mismatch for '~a'~%"
 msgstr ""
 
-#: guix/scripts/substitute.scm:361
+#: guix/scripts/substitute.scm:367
 #, scheme-format
 msgid "'~a' is signed with an unauthorized key~%"
 msgstr ""
 
-#: guix/scripts/substitute.scm:363
+#: guix/scripts/substitute.scm:369
 #, scheme-format
 msgid "signature on '~a' is corrupt~%"
 msgstr "podpis dla '~a' jest uszkodzony~%"
 
-#: guix/scripts/substitute.scm:401
+#: guix/scripts/substitute.scm:407
 #, scheme-format
 msgid "substitute at '~a' lacks a signature~%"
 msgstr ""
 
-#: guix/scripts/substitute.scm:409
-#, scheme-format
-msgid "~%Found valid signature for ~a~%"
+#: guix/scripts/substitute.scm:414
+#, fuzzy, scheme-format
+msgid "Found valid signature for ~a~%"
 msgstr "~%Znaleziono prawidłowy podpis dla ~a~%"
 
-#: guix/scripts/substitute.scm:412
+#: guix/scripts/substitute.scm:417
 #, scheme-format
 msgid "From ~a~%"
 msgstr "Z adresu ~a~%"
 
-#: guix/scripts/substitute.scm:452
+#: guix/scripts/substitute.scm:451
 #, scheme-format
 msgid "'~a' does not name a store item~%"
 msgstr ""
 
-#: guix/scripts/substitute.scm:596
+#: guix/scripts/substitute.scm:599
 #, scheme-format
 msgid "updating list of substitutes from '~a'... ~5,1f%"
 msgstr ""
 
-#: guix/scripts/substitute.scm:646
+#: guix/scripts/substitute.scm:654
 #, scheme-format
 msgid "~s: unsupported server URI scheme~%"
 msgstr ""
 
-#: guix/scripts/substitute.scm:656
+#: guix/scripts/substitute.scm:664
 #, scheme-format
 msgid "'~a' uses different store '~a'; ignoring it~%"
 msgstr ""
 
-#: guix/scripts/substitute.scm:801
+#: guix/scripts/substitute.scm:784
 #, scheme-format
 msgid "host name lookup error: ~a~%"
 msgstr ""
 
-#: guix/scripts/substitute.scm:806
+#: guix/scripts/substitute.scm:789
 #, scheme-format
 msgid "TLS error in procedure '~a': ~a~%"
 msgstr ""
 
-#: guix/scripts/substitute.scm:817
+#: guix/scripts/substitute.scm:800
 msgid ""
 "Usage: guix substitute [OPTION]...\n"
 "Internal tool to substitute a pre-built binary to a local build.\n"
 msgstr ""
 
-#: guix/scripts/substitute.scm:819
+#: guix/scripts/substitute.scm:802
 msgid ""
 "\n"
 "      --query            report on the availability of substitutes for the\n"
 "                         store file names passed on the standard input"
 msgstr ""
 
-#: guix/scripts/substitute.scm:822
+#: guix/scripts/substitute.scm:805
 msgid ""
 "\n"
 "      --substitute STORE-FILE DESTINATION\n"
@@ -1042,612 +1102,723 @@ msgstr ""
 #. TRANSLATORS: The second part of this message looks like
 #. "(4.1MiB installed)"; it shows the size of the package once
 #. installed.
-#: guix/scripts/substitute.scm:895
+#: guix/scripts/substitute.scm:878
 #, scheme-format
 msgid "Downloading ~a~:[~*~; (~a installed)~]...~%"
 msgstr "Pobieranie ~a~:[~*~; (zainstalowano ~a)~]...~%"
 
-#: guix/scripts/substitute.scm:951
-msgid "ACL for archive imports seems to be uninitialized, substitutes may be unavailable\n"
+#: guix/scripts/substitute.scm:935
+msgid ""
+"ACL for archive imports seems to be uninitialized, substitutes may be "
+"unavailable\n"
 msgstr ""
 
-#: guix/scripts/substitute.scm:1047
+#: guix/scripts/substitute.scm:985
+#, fuzzy, scheme-format
+msgid "~a: invalid URI~%"
+msgstr "~a: nieprawidłowa liczba~%"
+
+#: guix/scripts/substitute.scm:1043
 #, scheme-format
 msgid "~a: unrecognized options~%"
 msgstr "~a: nieznana opcja~%"
 
-#: guix/scripts/authenticate.scm:58
+#: guix/scripts/authenticate.scm:59
 #, scheme-format
 msgid "cannot find public key for secret key '~a'~%"
 msgstr ""
 
-#: guix/scripts/authenticate.scm:78
+#: guix/scripts/authenticate.scm:79
 #, scheme-format
 msgid "error: invalid signature: ~a~%"
 msgstr ""
 
-#: guix/scripts/authenticate.scm:80
+#: guix/scripts/authenticate.scm:81
 #, scheme-format
 msgid "error: unauthorized public key: ~a~%"
 msgstr ""
 
-#: guix/scripts/authenticate.scm:82
+#: guix/scripts/authenticate.scm:83
 #, scheme-format
 msgid "error: corrupt signature data: ~a~%"
 msgstr ""
 
-#: guix/scripts/authenticate.scm:120
+#: guix/scripts/authenticate.scm:121
 msgid ""
 "Usage: guix authenticate OPTION...\n"
 "Sign or verify the signature on the given file.  This tool is meant to\n"
 "be used internally by 'guix-daemon'.\n"
 msgstr ""
 
-#: guix/scripts/authenticate.scm:126
+#: guix/scripts/authenticate.scm:127
 msgid "wrong arguments"
 msgstr "nieprawidłowe argumenty"
 
-#: guix/scripts/system.scm:111
+#: guix/scripts/system.scm:133
 #, scheme-format
 msgid "failed to register '~a' under '~a'~%"
 msgstr ""
 
-#: guix/scripts/system.scm:144
-#, scheme-format
-msgid "failed to install GRUB on device '~a'~%"
+#: guix/scripts/system.scm:172
+#, fuzzy, scheme-format
+msgid "failed to install bootloader on device ~a '~a'~%"
 msgstr "nie udało się zainstalować GRUB na urządzeniu '~a'~%"
 
-#: guix/scripts/system.scm:162
+#: guix/scripts/system.scm:193
 #, scheme-format
 msgid "initializing the current root file system~%"
 msgstr ""
 
-#: guix/scripts/system.scm:176
+#: guix/scripts/system.scm:207
 #, scheme-format
 msgid "not running as 'root', so the ownership of '~a' may be incorrect!~%"
 msgstr ""
 
-#: guix/scripts/system.scm:234
+#: guix/scripts/system.scm:253
 #, scheme-format
 msgid "while talking to shepherd: ~a~%"
 msgstr ""
 
-#: guix/scripts/system.scm:248
+#: guix/scripts/system.scm:260
 #, scheme-format
 msgid "service '~a' could not be found~%"
 msgstr ""
 
-#: guix/scripts/system.scm:251
+#: guix/scripts/system.scm:263
 #, scheme-format
 msgid "service '~a' does not have an action '~a'~%"
 msgstr ""
 
-#: guix/scripts/system.scm:255
+#: guix/scripts/system.scm:267
 #, scheme-format
 msgid "exception caught while executing '~a' on service '~a':~%"
 msgstr ""
 
-#: guix/scripts/system.scm:263
+#: guix/scripts/system.scm:275
 #, scheme-format
 msgid "something went wrong: ~s~%"
 msgstr "coś poszło nie tak: ~s~%"
 
-#: guix/scripts/system.scm:266
+#: guix/scripts/system.scm:278
 #, scheme-format
 msgid "shepherd error~%"
 msgstr ""
 
-#: guix/scripts/system.scm:302
+#: guix/scripts/system.scm:295
 #, scheme-format
 msgid "failed to obtain list of shepherd services~%"
 msgstr ""
 
-#: guix/scripts/system.scm:322
+#: guix/scripts/system.scm:315
 #, scheme-format
 msgid "unloading service '~a'...~%"
 msgstr ""
 
-#: guix/scripts/system.scm:330
+#: guix/scripts/system.scm:323
 #, scheme-format
 msgid "loading new services:~{ ~a~}...~%"
 msgstr ""
 
-#: guix/scripts/system.scm:354
+#: guix/scripts/system.scm:347
 #, scheme-format
 msgid "activating system...~%"
 msgstr "uruchamianie systemu...~%"
 
-#: guix/scripts/system.scm:445
+#: guix/scripts/system.scm:422
+#, scheme-format
+msgid "cannot switch to system generation '~a'~%"
+msgstr ""
+
+#: guix/scripts/system.scm:494
 msgid "the DAG of services"
 msgstr ""
 
-#: guix/scripts/system.scm:458
+#: guix/scripts/system.scm:507
 msgid "the dependency graph of shepherd services"
 msgstr ""
 
-#: guix/scripts/system.scm:479
+#: guix/scripts/system.scm:531
 #, scheme-format
 msgid "  file name: ~a~%"
 msgstr "  nazwa pliku: ~a~%"
 
-#: guix/scripts/system.scm:480
+#: guix/scripts/system.scm:532
 #, scheme-format
 msgid "  canonical file name: ~a~%"
 msgstr "  kanoniczna nazwa pliku: ~a~%"
 
 #. TRANSLATORS: Please preserve the two-space indentation.
-#: guix/scripts/system.scm:482
+#: guix/scripts/system.scm:534
 #, scheme-format
 msgid "  label: ~a~%"
 msgstr "  etykieta: ~a~%"
 
-#: guix/scripts/system.scm:483
+#: guix/scripts/system.scm:535
+#, fuzzy, scheme-format
+msgid "  bootloader: ~a~%"
+msgstr "  etykieta: ~a~%"
+
+#: guix/scripts/system.scm:536
 #, scheme-format
 msgid "  root device: ~a~%"
 msgstr ""
 
-#: guix/scripts/system.scm:484
+#: guix/scripts/system.scm:537
 #, scheme-format
 msgid "  kernel: ~a~%"
 msgstr "  jądro: ~a~%"
 
-#: guix/scripts/system.scm:541
+#: guix/scripts/system.scm:594
 #, scheme-format
 msgid "~a not found: 'guix pull' was never run~%"
 msgstr ""
 
-#: guix/scripts/system.scm:542
+#: guix/scripts/system.scm:595
 #, scheme-format
 msgid "Consider running 'guix pull' before 'reconfigure'.~%"
 msgstr ""
 
-#: guix/scripts/system.scm:543
+#: guix/scripts/system.scm:596
 #, scheme-format
 msgid "Failing to do that may downgrade your system!~%"
 msgstr ""
 
-#: guix/scripts/system.scm:613
+#: guix/scripts/system.scm:694
 #, scheme-format
 msgid "initializing operating system under '~a'...~%"
 msgstr ""
 
-#: guix/scripts/system.scm:652
+#: guix/scripts/system.scm:740
 msgid ""
-"Usage: guix system [OPTION] ACTION [FILE]\n"
+"Usage: guix system [OPTION ...] ACTION [ARG ...] [FILE]\n"
 "Build the operating system declared in FILE according to ACTION.\n"
+"Some ACTIONS support additional ARGS.\n"
 msgstr ""
 
-#: guix/scripts/system.scm:655 guix/scripts/container.scm:28
+#: guix/scripts/system.scm:744 guix/scripts/container.scm:28
 msgid "The valid values for ACTION are:\n"
 msgstr ""
 
-#: guix/scripts/system.scm:657
+#: guix/scripts/system.scm:746
 msgid "   reconfigure      switch to a new operating system configuration\n"
 msgstr ""
 
-#: guix/scripts/system.scm:659
+#: guix/scripts/system.scm:748
+msgid ""
+"   roll-back        switch to the previous operating system configuration\n"
+msgstr ""
+
+#: guix/scripts/system.scm:750
+msgid ""
+"   switch-generation switch to an existing operating system configuration\n"
+msgstr ""
+
+#: guix/scripts/system.scm:752
 msgid "   list-generations list the system generations\n"
 msgstr ""
 
-#: guix/scripts/system.scm:661
-msgid "   build            build the operating system without installing anything\n"
+#: guix/scripts/system.scm:754
+msgid ""
+"   build            build the operating system without installing anything\n"
 msgstr ""
 
-#: guix/scripts/system.scm:663
+#: guix/scripts/system.scm:756
 msgid "   container        build a container that shares the host's store\n"
 msgstr ""
 
-#: guix/scripts/system.scm:665
-msgid "   vm               build a virtual machine image that shares the host's store\n"
+#: guix/scripts/system.scm:758
+msgid ""
+"   vm               build a virtual machine image that shares the host's "
+"store\n"
 msgstr ""
 
-#: guix/scripts/system.scm:667
+#: guix/scripts/system.scm:760
 msgid "   vm-image         build a freestanding virtual machine image\n"
 msgstr ""
 
-#: guix/scripts/system.scm:669
+#: guix/scripts/system.scm:762
 msgid "   disk-image       build a disk image, suitable for a USB stick\n"
 msgstr ""
 
-#: guix/scripts/system.scm:671
+#: guix/scripts/system.scm:764
 msgid "   init             initialize a root file system to run GNU\n"
 msgstr ""
 
-#: guix/scripts/system.scm:673
+#: guix/scripts/system.scm:766
 msgid "   extension-graph  emit the service extension graph in Dot format\n"
 msgstr ""
 
-#: guix/scripts/system.scm:675
+#: guix/scripts/system.scm:768
 msgid "   shepherd-graph   emit the graph of shepherd services in Dot format\n"
 msgstr ""
 
-#: guix/scripts/system.scm:679
+#: guix/scripts/system.scm:772
 msgid ""
 "\n"
 "  -d, --derivation       return the derivation of the given system"
 msgstr ""
 
-#: guix/scripts/system.scm:681
+#: guix/scripts/system.scm:774
 msgid ""
 "\n"
 "      --on-error=STRATEGY\n"
-"                         apply STRATEGY when an error occurs while reading FILE"
+"                         apply STRATEGY when an error occurs while reading "
+"FILE"
 msgstr ""
 
-#: guix/scripts/system.scm:684
+#: guix/scripts/system.scm:777
 msgid ""
 "\n"
 "      --image-size=SIZE  for 'vm-image', produce an image of SIZE"
 msgstr ""
 
-#: guix/scripts/system.scm:686
+#: guix/scripts/system.scm:779
 msgid ""
 "\n"
-"      --no-grub          for 'init', do not install GRUB"
+"      --no-bootloader    for 'init', do not install a bootloader"
 msgstr ""
 
-#: guix/scripts/system.scm:688
+#: guix/scripts/system.scm:781
 msgid ""
 "\n"
 "      --share=SPEC       for 'vm', share host file system according to SPEC"
 msgstr ""
 
-#: guix/scripts/system.scm:690
+#: guix/scripts/system.scm:783
+msgid ""
+"\n"
+"  -r, --root=FILE        for 'vm', 'vm-image', 'disk-image', 'container',\n"
+"                         and 'build', make FILE a symlink to the result, "
+"and\n"
+"                         register it as a garbage collector root"
+msgstr ""
+
+#: guix/scripts/system.scm:787
 msgid ""
 "\n"
 "      --expose=SPEC      for 'vm', expose host file system according to SPEC"
 msgstr ""
 
-#: guix/scripts/system.scm:692
+#: guix/scripts/system.scm:789
 msgid ""
 "\n"
 "      --full-boot        for 'vm', make a full boot sequence"
 msgstr ""
 
-#: guix/scripts/system.scm:777
+#: guix/scripts/system.scm:877
 #, scheme-format
 msgid "no configuration file specified~%"
 msgstr "nie podano pliku konfiguracji~%"
 
-#: guix/scripts/system.scm:840
+#: guix/scripts/system.scm:964
 #, scheme-format
 msgid "~a: unknown action~%"
 msgstr ""
 
-#: guix/scripts/system.scm:855
+#: guix/scripts/system.scm:979
 #, scheme-format
 msgid "wrong number of arguments for action '~a'~%"
 msgstr ""
 
-#: guix/scripts/system.scm:860
+#: guix/scripts/system.scm:984
 #, scheme-format
 msgid "guix system: missing command name~%"
 msgstr ""
 
-#: guix/scripts/system.scm:862
+#: guix/scripts/system.scm:986
 #, scheme-format
 msgid "Try 'guix system --help' for more information.~%"
 msgstr "Wpisz 'guix system --help' aby uzyskać więcej informacji.~%"
 
-#: guix/scripts/lint.scm:130
+#: guix/scripts/lint.scm:135
 #, scheme-format
 msgid "Available checkers:~%"
 msgstr ""
 
-#: guix/scripts/lint.scm:150
+#: guix/scripts/lint.scm:159
 msgid "description should not be empty"
 msgstr "opis nie powinien być pusty"
 
-#: guix/scripts/lint.scm:160
+#: guix/scripts/lint.scm:169
 msgid "Texinfo markup in description is invalid"
 msgstr ""
 
-#: guix/scripts/lint.scm:168
+#: guix/scripts/lint.scm:179
+#, fuzzy, scheme-format
+msgid ""
+"description should not contain ~\n"
+"trademark sign '~a' at ~d"
+msgstr "opis nie powinien być pusty"
+
+#. TRANSLATORS: '@code' is Texinfo markup and must be kept
+#. as is.
+#: guix/scripts/lint.scm:192
+msgid "use @code or similar ornament instead of quotes"
+msgstr ""
+
+#: guix/scripts/lint.scm:199
 msgid "description should start with an upper-case letter or digit"
 msgstr ""
 
-#: guix/scripts/lint.scm:184
+#: guix/scripts/lint.scm:215
 #, scheme-format
 msgid ""
 "sentences in description should be followed ~\n"
 "by two spaces; possible infraction~p at ~{~a~^, ~}"
 msgstr ""
 
-#: guix/scripts/lint.scm:200
+#: guix/scripts/lint.scm:233
 #, scheme-format
 msgid "invalid description: ~s"
 msgstr "nieprawidłowy opis: ~s"
 
-#: guix/scripts/lint.scm:220
+#: guix/scripts/lint.scm:278
 #, scheme-format
 msgid "'~a' should probably be a native input"
 msgstr ""
 
-#: guix/scripts/lint.scm:238
+#: guix/scripts/lint.scm:294
+#, scheme-format
+msgid "'~a' should probably not be an input at all"
+msgstr ""
+
+#: guix/scripts/lint.scm:311
 msgid "synopsis should not be empty"
 msgstr ""
 
-#: guix/scripts/lint.scm:246
+#: guix/scripts/lint.scm:319
 msgid "no period allowed at the end of the synopsis"
 msgstr ""
 
-#: guix/scripts/lint.scm:258
+#: guix/scripts/lint.scm:331
 msgid "no article allowed at the beginning of the synopsis"
 msgstr ""
 
-#: guix/scripts/lint.scm:265
+#: guix/scripts/lint.scm:338
 msgid "synopsis should be less than 80 characters long"
 msgstr ""
 
-#: guix/scripts/lint.scm:271
+#: guix/scripts/lint.scm:344
 msgid "synopsis should start with an upper-case letter or digit"
 msgstr ""
 
-#: guix/scripts/lint.scm:278
+#: guix/scripts/lint.scm:351
 msgid "synopsis should not start with the package name"
 msgstr ""
 
-#: guix/scripts/lint.scm:292
+#: guix/scripts/lint.scm:361
+msgid "Texinfo markup in synopsis is invalid"
+msgstr ""
+
+#: guix/scripts/lint.scm:380
 #, scheme-format
 msgid "invalid synopsis: ~s"
 msgstr ""
 
-#: guix/scripts/lint.scm:383
+#: guix/scripts/lint.scm:480
 #, scheme-format
 msgid "URI ~a returned suspiciously small file (~a bytes)"
 msgstr ""
 
-#: guix/scripts/lint.scm:392 guix/scripts/lint.scm:404
+#: guix/scripts/lint.scm:489 guix/scripts/lint.scm:501
 #, scheme-format
 msgid "URI ~a not reachable: ~a (~s)"
 msgstr ""
 
-#: guix/scripts/lint.scm:411
+#: guix/scripts/lint.scm:508
 #, scheme-format
 msgid "URI ~a domain not found: ~a"
 msgstr ""
 
-#: guix/scripts/lint.scm:419
+#: guix/scripts/lint.scm:516
 #, scheme-format
 msgid "URI ~a unreachable: ~a"
 msgstr ""
 
-#: guix/scripts/lint.scm:445
+#: guix/scripts/lint.scm:525 guix/scripts/lint.scm:780
+#, scheme-format
+msgid "TLS certificate error: ~a"
+msgstr ""
+
+#: guix/scripts/lint.scm:546
 msgid "invalid value for home page"
 msgstr "nieprawidłowa wartość dla strony domowej"
 
-#: guix/scripts/lint.scm:448
+#: guix/scripts/lint.scm:549
 #, scheme-format
 msgid "invalid home page URL: ~s"
 msgstr "nieprawidłowy adres strony domowej: ~s"
 
-#: guix/scripts/lint.scm:468
+#: guix/scripts/lint.scm:569
 msgid "file names of patches should start with the package name"
 msgstr ""
 
-#: guix/scripts/lint.scm:507
+#: guix/scripts/lint.scm:607
 #, scheme-format
 msgid "~a: ~a: proposed synopsis: ~s~%"
 msgstr ""
 
-#: guix/scripts/lint.scm:520
+#: guix/scripts/lint.scm:620
 #, scheme-format
 msgid "~a: ~a: proposed description:~%     \"~a\"~%"
 msgstr ""
 
-#: guix/scripts/lint.scm:557
+#: guix/scripts/lint.scm:662
 msgid "all the source URIs are unreachable:"
 msgstr ""
 
-#: guix/scripts/lint.scm:580
+#: guix/scripts/lint.scm:684
 msgid "the source file name should contain the package name"
 msgstr ""
 
-#: guix/scripts/lint.scm:589 guix/scripts/lint.scm:593
+#: guix/scripts/lint.scm:700
+#, scheme-format
+msgid "URL should be 'mirror://~a/~a'"
+msgstr ""
+
+#: guix/scripts/lint.scm:718 guix/scripts/lint.scm:722
 #, scheme-format
 msgid "failed to create derivation: ~a"
 msgstr ""
 
-#: guix/scripts/lint.scm:607
+#: guix/scripts/lint.scm:736
 #, scheme-format
 msgid "failed to create derivation: ~s~%"
 msgstr ""
 
-#: guix/scripts/lint.scm:617
+#: guix/scripts/lint.scm:746
 msgid "invalid license field"
 msgstr "nieprawidłowe pole licencji"
 
-#: guix/scripts/lint.scm:634
+#: guix/scripts/lint.scm:763
 #, scheme-format
 msgid "failed to retrieve CVE vulnerabilities from ~s: ~a (~s)~%"
 msgstr ""
 
-#: guix/scripts/lint.scm:639 guix/scripts/lint.scm:647
+#: guix/scripts/lint.scm:768 guix/scripts/lint.scm:777
+#: guix/scripts/lint.scm:782
 #, scheme-format
 msgid "assuming no CVE vulnerabilities~%"
 msgstr ""
 
-#: guix/scripts/lint.scm:645
+#: guix/scripts/lint.scm:775
 #, fuzzy, scheme-format
-#| msgid "failed to install locale: ~a~%"
 msgid "failed to lookup NIST host: ~a~%"
 msgstr "instalacja tłumaczeń nie powiodła się: ~a~%"
 
-#: guix/scripts/lint.scm:683
+#: guix/scripts/lint.scm:820
 #, scheme-format
 msgid "probably vulnerable to ~a"
 msgstr ""
 
-#: guix/scripts/lint.scm:698
+#: guix/scripts/lint.scm:835
 #, scheme-format
 msgid "tabulation on line ~a, column ~a"
 msgstr ""
 
-#: guix/scripts/lint.scm:707
+#: guix/scripts/lint.scm:844
 #, scheme-format
 msgid "trailing white space on line ~a"
 msgstr ""
 
-#: guix/scripts/lint.scm:717
+#: guix/scripts/lint.scm:854
 #, scheme-format
 msgid "line ~a is way too long (~a characters)"
 msgstr ""
 
-#: guix/scripts/lint.scm:728
+#: guix/scripts/lint.scm:865
 #, scheme-format
 msgid "line ~a: parentheses feel lonely, move to the previous or next line"
 msgstr ""
 
-#: guix/scripts/lint.scm:783
+#: guix/scripts/lint.scm:920
 msgid "Validate package descriptions"
 msgstr ""
 
-#: guix/scripts/lint.scm:787
+#: guix/scripts/lint.scm:924
 msgid "Validate synopsis & description of GNU packages"
 msgstr ""
 
-#: guix/scripts/lint.scm:791
+#: guix/scripts/lint.scm:928
 msgid "Identify inputs that should be native inputs"
 msgstr ""
 
-#: guix/scripts/lint.scm:795
+#: guix/scripts/lint.scm:932
+msgid "Identify inputs that should be inputs at all"
+msgstr ""
+
+#: guix/scripts/lint.scm:936
 msgid "Validate file names and availability of patches"
 msgstr ""
 
-#: guix/scripts/lint.scm:799
+#: guix/scripts/lint.scm:940
 msgid "Validate home-page URLs"
 msgstr ""
 
 #. TRANSLATORS: <license> is the name of a data type and must not be
 #. translated.
-#: guix/scripts/lint.scm:805
+#: guix/scripts/lint.scm:946
 msgid "Make sure the 'license' field is a <license> or a list thereof"
 msgstr ""
 
-#: guix/scripts/lint.scm:810
+#: guix/scripts/lint.scm:951
 msgid "Validate source URLs"
 msgstr ""
 
-#: guix/scripts/lint.scm:814
+#: guix/scripts/lint.scm:955
+msgid "Suggest 'mirror://' URLs"
+msgstr ""
+
+#: guix/scripts/lint.scm:959
 msgid "Validate file names of sources"
 msgstr ""
 
-#: guix/scripts/lint.scm:818
+#: guix/scripts/lint.scm:963
 msgid "Report failure to compile a package to a derivation"
 msgstr ""
 
-#: guix/scripts/lint.scm:822
+#: guix/scripts/lint.scm:967
 msgid "Validate package synopses"
 msgstr ""
 
-#: guix/scripts/lint.scm:826
+#: guix/scripts/lint.scm:971
 msgid "Check the Common Vulnerabilities and Exposures (CVE) database"
 msgstr ""
 
-#: guix/scripts/lint.scm:831
+#: guix/scripts/lint.scm:976
 msgid "Look for formatting issues in the source"
 msgstr ""
 
-#: guix/scripts/lint.scm:859
+#: guix/scripts/lint.scm:1004
 msgid ""
 "Usage: guix lint [OPTION]... [PACKAGE]...\n"
 "Run a set of checkers on the specified package; if none is specified,\n"
 "run the checkers on all packages.\n"
 msgstr ""
 
-#: guix/scripts/lint.scm:862
+#: guix/scripts/lint.scm:1007
 msgid ""
 "\n"
 "  -c, --checkers=CHECKER1,CHECKER2...\n"
 "                         only run the specified checkers"
 msgstr ""
 
-#: guix/scripts/lint.scm:867
+#: guix/scripts/lint.scm:1012
 msgid ""
 "\n"
 "  -l, --list-checkers    display the list of available lint checkers"
 msgstr ""
 
-#: guix/scripts/lint.scm:887
+#: guix/scripts/lint.scm:1032
 #, scheme-format
 msgid "~a: invalid checker~%"
 msgstr ""
 
-#: guix/scripts/publish.scm:57
+#: guix/scripts/publish.scm:67
 #, scheme-format
 msgid ""
 "Usage: guix publish [OPTION]...\n"
 "Publish ~a over HTTP.\n"
 msgstr ""
 
-#: guix/scripts/publish.scm:59
+#: guix/scripts/publish.scm:69
 msgid ""
 "\n"
 "  -p, --port=PORT        listen on PORT"
 msgstr ""
 
-#: guix/scripts/publish.scm:61
+#: guix/scripts/publish.scm:71
 msgid ""
 "\n"
 "      --listen=HOST      listen on the network interface for HOST"
 msgstr ""
 
-#: guix/scripts/publish.scm:63
+#: guix/scripts/publish.scm:73
 msgid ""
 "\n"
 "  -u, --user=USER        change privileges to USER as soon as possible"
 msgstr ""
 
-#: guix/scripts/publish.scm:65
+#: guix/scripts/publish.scm:75
 msgid ""
 "\n"
 "  -C, --compression[=LEVEL]\n"
 "                         compress archives at LEVEL"
 msgstr ""
 
-#: guix/scripts/publish.scm:68
+#: guix/scripts/publish.scm:78
+msgid ""
+"\n"
+"  -c, --cache=DIRECTORY  cache published items to DIRECTORY"
+msgstr ""
+
+#: guix/scripts/publish.scm:80
+msgid ""
+"\n"
+"      --workers=N        use N workers to bake items"
+msgstr ""
+
+#: guix/scripts/publish.scm:82
 msgid ""
 "\n"
 "      --ttl=TTL          announce narinfos can be cached for TTL seconds"
 msgstr ""
 
-#: guix/scripts/publish.scm:70
+#: guix/scripts/publish.scm:84
 msgid ""
 "\n"
-"  -r, --repl[=PORT]      spawn REPL server on PORT"
+"      --nar-path=PATH    use PATH as the prefix for nar URLs"
 msgstr ""
 
 #: guix/scripts/publish.scm:86
+msgid ""
+"\n"
+"      --public-key=FILE  use FILE as the public key for signatures"
+msgstr ""
+
+#: guix/scripts/publish.scm:88
+msgid ""
+"\n"
+"      --private-key=FILE use FILE as the private key for signatures"
+msgstr ""
+
+#: guix/scripts/publish.scm:90
+msgid ""
+"\n"
+"  -r, --repl[=PORT]      spawn REPL server on PORT"
+msgstr ""
+
+#: guix/scripts/publish.scm:106
 #, scheme-format
 msgid "lookup of host '~a' failed: ~a~%"
 msgstr "wyszukiwanie serwera '~a' nie powiodło się: ~a~%"
 
-#: guix/scripts/publish.scm:124
+#: guix/scripts/publish.scm:151
 #, scheme-format
 msgid "lookup of host '~a' returned nothing"
 msgstr "wyszukiwanie serwera '~a' nie dało wyniku"
 
-#: guix/scripts/publish.scm:137
+#: guix/scripts/publish.scm:164
 #, scheme-format
 msgid "zlib support is missing; compression disabled~%"
 msgstr "zlib jest niedostępne; wyłączono kompresję~%"
 
-#: guix/scripts/publish.scm:144
+#: guix/scripts/publish.scm:178
 #, scheme-format
 msgid "~a: invalid duration~%"
 msgstr ""
 
-#: guix/scripts/publish.scm:537
+#: guix/scripts/publish.scm:809
 #, scheme-format
 msgid "user '~a' not found: ~a~%"
 msgstr "użytkownik '~a' nie znaleziony: ~a~%"
 
-#: guix/scripts/publish.scm:574
+#: guix/scripts/publish.scm:850
 #, scheme-format
 msgid "server running as root; consider using the '--user' option!~%"
 msgstr ""
 
-#: guix/scripts/publish.scm:576
+#: guix/scripts/publish.scm:855
 #, scheme-format
 msgid "publishing ~a on ~a, port ~d~%"
 msgstr ""
@@ -1663,35 +1834,34 @@ msgstr ""
 msgid "file '~a' not found in search path ~s~%"
 msgstr ""
 
-#: guix/scripts/edit.scm:83
+#: guix/scripts/edit.scm:90
 #, scheme-format
 msgid "source location of package '~a' is unknown~%"
 msgstr ""
 
-#: guix/scripts/edit.scm:96
+#: guix/scripts/edit.scm:103
 #, fuzzy, scheme-format
-#| msgid "failed to install locale: ~a~%"
 msgid "failed to launch '~a': ~a~%"
 msgstr "instalacja tłumaczeń nie powiodła się: ~a~%"
 
-#: guix/scripts/size.scm:76
+#: guix/scripts/size.scm:77
 #, scheme-format
 msgid "no available substitute information for '~a'~%"
 msgstr ""
 
-#: guix/scripts/size.scm:84
+#: guix/scripts/size.scm:85
 msgid "store item"
 msgstr ""
 
-#: guix/scripts/size.scm:84
+#: guix/scripts/size.scm:85
 msgid "total"
 msgstr "razem"
 
-#: guix/scripts/size.scm:84
+#: guix/scripts/size.scm:85
 msgid "self"
 msgstr ""
 
-#: guix/scripts/size.scm:95
+#: guix/scripts/size.scm:97
 #, scheme-format
 msgid "total: ~,1f MiB~%"
 msgstr ""
@@ -1699,169 +1869,290 @@ msgstr ""
 #. TRANSLATORS: This is the title of a graph, meaning that the graph
 #. represents a profile of the store (the "store" being the place where
 #. packages are stored.)
-#: guix/scripts/size.scm:206
+#: guix/scripts/size.scm:211
 msgid "store profile"
 msgstr ""
 
-#: guix/scripts/size.scm:215
+#: guix/scripts/size.scm:220
 msgid ""
 "Usage: guix size [OPTION]... PACKAGE\n"
 "Report the size of PACKAGE and its dependencies.\n"
 msgstr ""
 
-#: guix/scripts/size.scm:220
+#: guix/scripts/size.scm:225
 msgid ""
 "\n"
 "  -s, --system=SYSTEM    consider packages for SYSTEM--e.g., \"i686-linux\""
 msgstr ""
 
-#: guix/scripts/size.scm:222
+#: guix/scripts/size.scm:227
 msgid ""
 "\n"
 "  -m, --map-file=FILE    write to FILE a graphical map of disk usage"
 msgstr ""
 
-#: guix/scripts/size.scm:276
+#: guix/scripts/size.scm:281
 msgid "missing store item argument\n"
 msgstr ""
 
-#: guix/scripts/graph.scm:82
+#: guix/scripts/graph.scm:84
 #, scheme-format
 msgid "~a: invalid argument (package name expected)"
 msgstr ""
 
-#: guix/scripts/graph.scm:93
+#: guix/scripts/graph.scm:95
 msgid "the DAG of packages, excluding implicit inputs"
 msgstr ""
 
-#: guix/scripts/graph.scm:150
+#: guix/scripts/graph.scm:121
+msgid "the reverse DAG of packages"
+msgstr ""
+
+#: guix/scripts/graph.scm:171
 msgid "the DAG of packages, including implicit inputs"
 msgstr ""
 
-#: guix/scripts/graph.scm:160
+#: guix/scripts/graph.scm:181
 msgid "the DAG of packages and origins, including implicit inputs"
 msgstr ""
 
-#: guix/scripts/graph.scm:191
+#: guix/scripts/graph.scm:211
 msgid "same as 'bag', but without the bootstrap nodes"
 msgstr ""
 
-#: guix/scripts/graph.scm:237
+#: guix/scripts/graph.scm:257
 msgid "the DAG of derivations"
 msgstr ""
 
-#: guix/scripts/graph.scm:249
+#: guix/scripts/graph.scm:269
 msgid "unsupported argument for derivation graph"
 msgstr ""
 
-#: guix/scripts/graph.scm:270
+#: guix/scripts/graph.scm:295
+msgid "unsupported argument for this type of graph"
+msgstr ""
+
+#: guix/scripts/graph.scm:308
 #, scheme-format
 msgid "references for '~a' are not known~%"
 msgstr ""
 
-#: guix/scripts/graph.scm:277
+#: guix/scripts/graph.scm:315
 msgid "the DAG of run-time dependencies (store references)"
 msgstr ""
 
-#: guix/scripts/graph.scm:290
-msgid "unsupported argument for reference graph"
+#: guix/scripts/graph.scm:331
+msgid "the DAG of referrers in the store"
 msgstr ""
 
-#: guix/scripts/graph.scm:315
+#: guix/scripts/graph.scm:358
 #, scheme-format
 msgid "~a: unknown node type~%"
 msgstr ""
 
-#: guix/scripts/graph.scm:319
+#: guix/scripts/graph.scm:365
+#, fuzzy, scheme-format
+msgid "~a: unknown backend~%"
+msgstr "~A: nieznany pakiet~%"
+
+#: guix/scripts/graph.scm:369
 msgid "The available node types are:\n"
 msgstr ""
 
+#: guix/scripts/graph.scm:379
+msgid "The available backend types are:\n"
+msgstr ""
+
 #. TRANSLATORS: Here 'dot' is the name of a program; it must not be
 #. translated.
-#: guix/scripts/graph.scm:355
+#: guix/scripts/graph.scm:423
 msgid ""
 "Usage: guix graph PACKAGE...\n"
 "Emit a Graphviz (dot) representation of the dependencies of PACKAGE...\n"
 msgstr ""
 
-#: guix/scripts/graph.scm:357
+#: guix/scripts/graph.scm:425
+msgid ""
+"\n"
+"  -b, --backend=TYPE     produce a graph with the given backend TYPE"
+msgstr ""
+
+#: guix/scripts/graph.scm:427
+msgid ""
+"\n"
+"      --list-backends    list the available graph backends"
+msgstr ""
+
+#: guix/scripts/graph.scm:429
 msgid ""
 "\n"
 "  -t, --type=TYPE        represent nodes of the given TYPE"
 msgstr ""
 
-#: guix/scripts/graph.scm:359
+#: guix/scripts/graph.scm:431
 msgid ""
 "\n"
 "      --list-types       list the available graph types"
 msgstr ""
 
-#: guix/scripts/graph.scm:361
+#: guix/scripts/graph.scm:433 guix/scripts/pack.scm:335
 msgid ""
 "\n"
 "  -e, --expression=EXPR  consider the package EXPR evaluates to"
 msgstr ""
 
-#: guix/scripts/challenge.scm:105
+#: guix/scripts/challenge.scm:191
 #, scheme-format
-msgid "~a: no substitute at '~a'~%"
+msgid "  local hash: ~a~%"
 msgstr ""
 
-#: guix/scripts/challenge.scm:121
+#: guix/scripts/challenge.scm:192
 #, scheme-format
-msgid "no substitutes for '~a'~%"
+msgid "  no local build for '~a'~%"
 msgstr ""
 
-#: guix/scripts/challenge.scm:138 guix/scripts/challenge.scm:158
+#: guix/scripts/challenge.scm:194
 #, scheme-format
-msgid "no local build for '~a'~%"
-msgstr ""
+msgid "  ~50a: ~a~%"
+msgstr "  ~50a: ~a~%"
 
-#: guix/scripts/challenge.scm:155
+#: guix/scripts/challenge.scm:202
 #, scheme-format
 msgid "~a contents differ:~%"
 msgstr ""
 
-#: guix/scripts/challenge.scm:157
+#: guix/scripts/challenge.scm:205
 #, scheme-format
-msgid "  local hash: ~a~%"
+msgid "could not challenge '~a': no local build~%"
 msgstr ""
 
-#: guix/scripts/challenge.scm:162
+#: guix/scripts/challenge.scm:207
 #, scheme-format
-msgid "  ~50a: ~a~%"
-msgstr "  ~50a: ~a~%"
+msgid "could not challenge '~a': no substitutes~%"
+msgstr ""
 
-#: guix/scripts/challenge.scm:166
+#: guix/scripts/challenge.scm:210
 #, scheme-format
-msgid "  ~50a: unavailable~%"
-msgstr "  ~50a: niedostępne~%"
+msgid "~a contents match:~%"
+msgstr ""
 
-#: guix/scripts/challenge.scm:176
+#: guix/scripts/challenge.scm:219
 msgid ""
 "Usage: guix challenge [PACKAGE...]\n"
 "Challenge the substitutes for PACKAGE... provided by one or more servers.\n"
 msgstr ""
 
-#: guix/scripts/challenge.scm:178
+#: guix/scripts/challenge.scm:221
 msgid ""
 "\n"
 "      --substitute-urls=URLS\n"
 "                         compare build results with those at URLS"
 msgstr ""
 
-#: guix/gnu-maintenance.scm:532
+#: guix/scripts/challenge.scm:224
+msgid ""
+"\n"
+"      -v, --verbose      show details about successful comparisons"
+msgstr ""
+
+#: guix/scripts/copy.scm:59
+#, fuzzy, scheme-format
+msgid "~a: invalid TCP port number~%"
+msgstr "~a: nieprawidłowa liczba~%"
+
+#: guix/scripts/copy.scm:61
+#, scheme-format
+msgid "~a: invalid SSH specification~%"
+msgstr ""
+
+#: guix/scripts/copy.scm:112
+msgid ""
+"Usage: guix copy [OPTION]... ITEMS...\n"
+"Copy ITEMS to or from the specified host over SSH.\n"
+msgstr ""
+
+#: guix/scripts/copy.scm:114
+msgid ""
+"\n"
+"      --to=HOST          send ITEMS to HOST"
+msgstr ""
+
+#: guix/scripts/copy.scm:116
+msgid ""
+"\n"
+"      --from=HOST        receive ITEMS from HOST"
+msgstr ""
+
+#: guix/scripts/copy.scm:168
+#, scheme-format
+msgid "use '--to' or '--from'~%"
+msgstr ""
+
+#: guix/scripts/pack.scm:74
+#, fuzzy, scheme-format
+msgid "~a: compressor not found~%"
+msgstr "guix: ~a: nie znaleziono polecenia~%"
+
+#: guix/scripts/pack.scm:317
+#, scheme-format
+msgid "~a: invalid symlink specification~%"
+msgstr ""
+
+#: guix/scripts/pack.scm:327
+msgid ""
+"Usage: guix pack [OPTION]... PACKAGE...\n"
+"Create a bundle of PACKAGE.\n"
+msgstr ""
+
+#: guix/scripts/pack.scm:333
+msgid ""
+"\n"
+"  -f, --format=FORMAT    build a pack in the given FORMAT"
+msgstr ""
+
+#: guix/scripts/pack.scm:341
+msgid ""
+"\n"
+"  -C, --compression=TOOL compress using TOOL--e.g., \"lzip\""
+msgstr ""
+
+#: guix/scripts/pack.scm:343
+msgid ""
+"\n"
+"  -S, --symlink=SPEC     create symlinks to the profile according to SPEC"
+msgstr ""
+
+#: guix/scripts/pack.scm:345
+msgid ""
+"\n"
+"      --localstatedir    include /var/guix in the resulting pack"
+msgstr ""
+
+#: guix/scripts/pack.scm:389
+#, fuzzy, scheme-format
+msgid "~a: unknown pack format"
+msgstr "~A: nieznany pakiet~%"
+
+#: guix/gnu-maintenance.scm:562
 msgid "Updater for GNU packages"
 msgstr ""
 
-#: guix/gnu-maintenance.scm:539
+#: guix/gnu-maintenance.scm:569
 msgid "Updater for GNOME packages"
 msgstr ""
 
-#: guix/gnu-maintenance.scm:546
+#: guix/gnu-maintenance.scm:576
+msgid "Updater for KDE packages"
+msgstr ""
+
+#: guix/gnu-maintenance.scm:583
 msgid "Updater for X.org packages"
 msgstr ""
 
+#: guix/gnu-maintenance.scm:590
+msgid "Updater for packages hosted on kernel.org"
+msgstr ""
+
 #: guix/scripts/container.scm:25
 msgid ""
 "Usage: guix container ACTION ARGS...\n"
@@ -1874,7 +2165,6 @@ msgstr ""
 
 #: guix/scripts/container.scm:53
 #, fuzzy, scheme-format
-#| msgid "guix: missing command name~%"
 msgid "guix container: missing action~%"
 msgstr "guix: brakująca nazwa polecenia~%"
 
@@ -1894,93 +2184,100 @@ msgstr ""
 msgid "~a: extraneous argument~%"
 msgstr ""
 
-#: guix/scripts/container/exec.scm:80
+#: guix/scripts/container/exec.scm:87
 #, scheme-format
 msgid "no pid specified~%"
 msgstr "nie podano PID~%"
 
-#: guix/scripts/container/exec.scm:83
+#: guix/scripts/container/exec.scm:90
 #, scheme-format
 msgid "no command specified~%"
 msgstr "nie podano polecenia~%"
 
-#: guix/scripts/container/exec.scm:86
+#: guix/scripts/container/exec.scm:93
 #, scheme-format
 msgid "no such process ~d~%"
 msgstr "nie ma takiego procesu ~d~%"
 
-#: guix/scripts/container/exec.scm:94
+#: guix/scripts/container/exec.scm:105
 #, scheme-format
 msgid "exec failed with status ~d~%"
 msgstr ""
 
-#: guix/upstream.scm:157
+#: guix/upstream.scm:212
 #, scheme-format
 msgid "signature verification failed for `~a'~%"
 msgstr ""
 
-#: guix/upstream.scm:159
+#: guix/upstream.scm:214
 #, scheme-format
 msgid "(could be because the public key is not in your keyring)~%"
 msgstr ""
 
-#: guix/upstream.scm:191
-msgid "gz"
-msgstr "gz"
-
-#: guix/upstream.scm:234
+#: guix/upstream.scm:293
 #, scheme-format
 msgid "~a: could not locate source file"
 msgstr ""
 
-#: guix/upstream.scm:239
+#: guix/upstream.scm:298
 #, scheme-format
 msgid "~a: ~a: no `version' field in source; skipping~%"
 msgstr ""
 
-#: guix/ui.scm:238
+#: guix/ui.scm:241
 msgid "entering debugger; type ',bt' for a backtrace\n"
 msgstr ""
 
-#: guix/ui.scm:254 guix/ui.scm:271
+#: guix/ui.scm:257 guix/ui.scm:278 guix/ui.scm:285
 #, scheme-format
 msgid "failed to load '~a': ~a~%"
 msgstr ""
 
-#: guix/ui.scm:257
+#: guix/ui.scm:260
 #, scheme-format
 msgid "~a: error: ~a~%"
 msgstr "~a: bład: ~a~%"
 
-#: guix/ui.scm:260 guix/ui.scm:529
+#: guix/ui.scm:267 guix/ui.scm:561
 #, scheme-format
 msgid "exception thrown: ~s~%"
 msgstr ""
 
-#: guix/ui.scm:262 guix/ui.scm:280
+#: guix/ui.scm:269 guix/ui.scm:291
 #, scheme-format
 msgid "failed to load '~a':~%"
 msgstr ""
 
-#: guix/ui.scm:274
+#: guix/ui.scm:281
 #, scheme-format
 msgid "~a: warning: ~a~%"
 msgstr "~a: ostrzeżenie: ~a~%"
 
-#: guix/ui.scm:277
+#: guix/ui.scm:288
 #, scheme-format
 msgid "failed to load '~a': exception thrown: ~s~%"
 msgstr ""
 
-#: guix/ui.scm:289
+#: guix/ui.scm:300
 #, scheme-format
 msgid "failed to install locale: ~a~%"
 msgstr "instalacja tłumaczeń nie powiodła się: ~a~%"
 
-#: guix/ui.scm:308
+#. TRANSLATORS: Translate "(C)" to the copyright symbol
+#. (C-in-a-circle), if this symbol is available in the user's
+#. locale.  Otherwise, do not translate "(C)"; leave it as-is.  */
+#: guix/ui.scm:330
+msgid "(C)"
+msgstr ""
+
+#: guix/ui.scm:331
+msgid "the Guix authors\n"
+msgstr ""
+
+#: guix/ui.scm:332
 msgid ""
-"Copyright (C) 2016 the Guix authors\n"
-"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
+"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
+"html>\n"
 "This is free software: you are free to change and redistribute it.\n"
 "There is NO WARRANTY, to the extent permitted by law.\n"
 msgstr ""
@@ -1989,7 +2286,7 @@ msgstr ""
 #. package.  Please add another line saying "Report translation bugs to
 #. ...\n" with the address for translation bugs (typically your translation
 #. team's web or email address).
-#: guix/ui.scm:320
+#: guix/ui.scm:344
 #, scheme-format
 msgid ""
 "\n"
@@ -2000,7 +2297,7 @@ msgstr ""
 "\n"
 "Zgłaszanie błędów w tłumaczeniu: translation-team-pl@lists.sourceforge.net"
 
-#: guix/ui.scm:322
+#: guix/ui.scm:346
 #, scheme-format
 msgid ""
 "\n"
@@ -2009,7 +2306,7 @@ msgstr ""
 "\n"
 "~a strona domowa: <~a>"
 
-#: guix/ui.scm:324
+#: guix/ui.scm:348
 msgid ""
 "\n"
 "General help using GNU software: <http://www.gnu.org/gethelp/>"
@@ -2017,102 +2314,107 @@ msgstr ""
 "\n"
 "Ogólna pomoc na temat oprogramowania GNU: <http://www.gnu.org/gethelp/>"
 
-#: guix/ui.scm:369
+#: guix/ui.scm:393
 #, scheme-format
 msgid "'~a' is not a valid regular expression: ~a~%"
 msgstr ""
 
-#: guix/ui.scm:375
+#: guix/ui.scm:399
 #, scheme-format
 msgid "~a: invalid number~%"
 msgstr "~a: nieprawidłowa liczba~%"
 
-#: guix/ui.scm:392
+#: guix/ui.scm:416
 #, scheme-format
 msgid "invalid number: ~a~%"
 msgstr "nieprawidłowa liczba: ~a~%"
 
-#: guix/ui.scm:415
+#: guix/ui.scm:439
 #, scheme-format
 msgid "unknown unit: ~a~%"
 msgstr "nieznana jednostka: ~a~%"
 
-#: guix/ui.scm:432
+#: guix/ui.scm:456
 #, scheme-format
 msgid "~a:~a:~a: package `~a' has an invalid input: ~s~%"
 msgstr ""
 
-#: guix/ui.scm:439
+#: guix/ui.scm:463
 #, scheme-format
 msgid "~a: ~a: build system `~a' does not support cross builds~%"
 msgstr ""
 
-#: guix/ui.scm:444
+#: guix/ui.scm:469
+#, scheme-format
+msgid "~s: invalid G-expression input~%"
+msgstr ""
+
+#: guix/ui.scm:472
 #, scheme-format
 msgid "profile '~a' does not exist~%"
 msgstr "profil '~a' nie istnieje~%"
 
-#: guix/ui.scm:447
+#: guix/ui.scm:475
 #, scheme-format
 msgid "generation ~a of profile '~a' does not exist~%"
 msgstr ""
 
-#: guix/ui.scm:454
+#: guix/ui.scm:482
 #, scheme-format
 msgid "corrupt input while restoring '~a' from ~s~%"
 msgstr ""
 
-#: guix/ui.scm:456
+#: guix/ui.scm:484
 #, scheme-format
 msgid "corrupt input while restoring archive from ~s~%"
 msgstr ""
 
-#: guix/ui.scm:459
+#: guix/ui.scm:487
 #, scheme-format
 msgid "failed to connect to `~a': ~a~%"
 msgstr ""
 
-#: guix/ui.scm:464
+#: guix/ui.scm:492
 #, scheme-format
 msgid "build failed: ~a~%"
 msgstr "budowanie nie powiodło się: ~a~%"
 
-#: guix/ui.scm:467
+#: guix/ui.scm:495
 #, scheme-format
 msgid "reference to invalid output '~a' of derivation '~a'~%"
 msgstr ""
 
-#: guix/ui.scm:471
+#: guix/ui.scm:499
 #, scheme-format
 msgid "file '~a' could not be found in these directories:~{ ~a~}~%"
 msgstr ""
 
-#: guix/ui.scm:483
+#: guix/ui.scm:511
 #, scheme-format
 msgid "~a: ~a~%"
 msgstr "~a: ~a~%"
 
-#: guix/ui.scm:518
+#: guix/ui.scm:546
 #, scheme-format
 msgid "failed to read expression ~s: ~s~%"
 msgstr ""
 
-#: guix/ui.scm:524
+#: guix/ui.scm:552
 #, scheme-format
 msgid "failed to evaluate expression '~a':~%"
 msgstr ""
 
-#: guix/ui.scm:527
+#: guix/ui.scm:555
 #, scheme-format
 msgid "syntax error: ~a~%"
 msgstr "błąd składni: ~a~%"
 
-#: guix/ui.scm:541
+#: guix/ui.scm:573
 #, scheme-format
 msgid "expression ~s does not evaluate to a package~%"
 msgstr ""
 
-#: guix/ui.scm:603
+#: guix/ui.scm:635
 #, scheme-format
 msgid "~:[The following derivation would be built:~%~{   ~a~%~}~;~]"
 msgid_plural "~:[The following derivations would be built:~%~{   ~a~%~}~;~]"
@@ -2120,7 +2422,7 @@ msgstr[0] ""
 msgstr[1] ""
 msgstr[2] ""
 
-#: guix/ui.scm:608
+#: guix/ui.scm:640
 #, scheme-format
 msgid "~:[The following file would be downloaded:~%~{   ~a~%~}~;~]"
 msgid_plural "~:[The following files would be downloaded:~%~{   ~a~%~}~;~]"
@@ -2128,7 +2430,7 @@ msgstr[0] ""
 msgstr[1] ""
 msgstr[2] ""
 
-#: guix/ui.scm:614
+#: guix/ui.scm:646
 #, scheme-format
 msgid "~:[The following derivation will be built:~%~{   ~a~%~}~;~]"
 msgid_plural "~:[The following derivations will be built:~%~{   ~a~%~}~;~]"
@@ -2136,7 +2438,7 @@ msgstr[0] ""
 msgstr[1] ""
 msgstr[2] ""
 
-#: guix/ui.scm:619
+#: guix/ui.scm:651
 #, scheme-format
 msgid "~:[The following file will be downloaded:~%~{   ~a~%~}~;~]"
 msgid_plural "~:[The following files will be downloaded:~%~{   ~a~%~}~;~]"
@@ -2144,7 +2446,7 @@ msgstr[0] ""
 msgstr[1] ""
 msgstr[2] ""
 
-#: guix/ui.scm:674
+#: guix/ui.scm:707
 #, scheme-format
 msgid "The following package would be removed:~%~{~a~%~}~%"
 msgid_plural "The following packages would be removed:~%~{~a~%~}~%"
@@ -2152,7 +2454,7 @@ msgstr[0] ""
 msgstr[1] ""
 msgstr[2] ""
 
-#: guix/ui.scm:679
+#: guix/ui.scm:712
 #, scheme-format
 msgid "The following package will be removed:~%~{~a~%~}~%"
 msgid_plural "The following packages will be removed:~%~{~a~%~}~%"
@@ -2160,7 +2462,7 @@ msgstr[0] ""
 msgstr[1] ""
 msgstr[2] ""
 
-#: guix/ui.scm:692
+#: guix/ui.scm:725
 #, scheme-format
 msgid "The following package would be downgraded:~%~{~a~%~}~%"
 msgid_plural "The following packages would be downgraded:~%~{~a~%~}~%"
@@ -2168,7 +2470,7 @@ msgstr[0] ""
 msgstr[1] ""
 msgstr[2] ""
 
-#: guix/ui.scm:697
+#: guix/ui.scm:730
 #, scheme-format
 msgid "The following package will be downgraded:~%~{~a~%~}~%"
 msgid_plural "The following packages will be downgraded:~%~{~a~%~}~%"
@@ -2176,7 +2478,7 @@ msgstr[0] ""
 msgstr[1] ""
 msgstr[2] ""
 
-#: guix/ui.scm:710
+#: guix/ui.scm:743
 #, scheme-format
 msgid "The following package would be upgraded:~%~{~a~%~}~%"
 msgid_plural "The following packages would be upgraded:~%~{~a~%~}~%"
@@ -2184,7 +2486,7 @@ msgstr[0] ""
 msgstr[1] ""
 msgstr[2] ""
 
-#: guix/ui.scm:715
+#: guix/ui.scm:748
 #, scheme-format
 msgid "The following package will be upgraded:~%~{~a~%~}~%"
 msgid_plural "The following packages will be upgraded:~%~{~a~%~}~%"
@@ -2192,7 +2494,7 @@ msgstr[0] ""
 msgstr[1] ""
 msgstr[2] ""
 
-#: guix/ui.scm:726
+#: guix/ui.scm:759
 #, scheme-format
 msgid "The following package would be installed:~%~{~a~%~}~%"
 msgid_plural "The following packages would be installed:~%~{~a~%~}~%"
@@ -2200,7 +2502,7 @@ msgstr[0] ""
 msgstr[1] ""
 msgstr[2] ""
 
-#: guix/ui.scm:731
+#: guix/ui.scm:764
 #, scheme-format
 msgid "The following package will be installed:~%~{~a~%~}~%"
 msgid_plural "The following packages will be installed:~%~{~a~%~}~%"
@@ -2208,20 +2510,20 @@ msgstr[0] ""
 msgstr[1] ""
 msgstr[2] ""
 
-#: guix/ui.scm:748
+#: guix/ui.scm:781
 msgid "<unknown location>"
 msgstr "<nieznane położenie>"
 
-#: guix/ui.scm:767
+#: guix/ui.scm:801
 #, scheme-format
 msgid "failed to create configuration directory `~a': ~a~%"
 msgstr ""
 
-#: guix/ui.scm:890 guix/ui.scm:904
+#: guix/ui.scm:932 guix/ui.scm:946
 msgid "unknown"
 msgstr "nieznane"
 
-#: guix/ui.scm:1062
+#: guix/ui.scm:1105
 #, scheme-format
 msgid "Generation ~a\t~a"
 msgstr ""
@@ -2229,27 +2531,27 @@ msgstr ""
 #. TRANSLATORS: The word "current" here is an adjective for
 #. "Generation", as in "current generation".  Use the appropriate
 #. gender where applicable.
-#: guix/ui.scm:1072
+#: guix/ui.scm:1115
 #, scheme-format
 msgid "~a\t(current)~%"
 msgstr ""
 
-#: guix/ui.scm:1089
+#: guix/ui.scm:1158
 #, scheme-format
 msgid "switched from generation ~a to ~a~%"
 msgstr ""
 
-#: guix/ui.scm:1105
+#: guix/ui.scm:1174
 #, scheme-format
 msgid "deleting ~a~%"
 msgstr "usuwanie ~a~%"
 
-#: guix/ui.scm:1153
+#: guix/ui.scm:1205
 #, scheme-format
 msgid "Try `guix --help' for more information.~%"
 msgstr "Wpisz `guix --help' aby dowiedzieć się więcej.~%"
 
-#: guix/ui.scm:1180
+#: guix/ui.scm:1233
 msgid ""
 "Usage: guix COMMAND ARGS...\n"
 "Run COMMAND with ARGS.\n"
@@ -2257,33 +2559,34 @@ msgstr ""
 "Użycie: guix POLECENIE ARGUMENTY...\n"
 "Podaj POLECENIE i jego ARGUMENTY.\n"
 
-#: guix/ui.scm:1183
+#: guix/ui.scm:1236
 msgid "COMMAND must be one of the sub-commands listed below:\n"
 msgstr "POLECENIE musi być jednym z poniżej podanych:\n"
 
-#: guix/ui.scm:1203
+#: guix/ui.scm:1256
 #, scheme-format
 msgid "guix: ~a: command not found~%"
 msgstr "guix: ~a: nie znaleziono polecenia~%"
 
-#: guix/ui.scm:1220
+#: guix/ui.scm:1275
 #, scheme-format
 msgid "guix: missing command name~%"
 msgstr "guix: brakująca nazwa polecenia~%"
 
-#: guix/ui.scm:1228
+#: guix/ui.scm:1283
 #, scheme-format
 msgid "guix: unrecognized option '~a'~%"
 msgstr "guix: nieznana opcja '~a'~%"
 
-#: guix/http-client.scm:266
+#: guix/http-client.scm:265
 #, scheme-format
 msgid "following redirection to `~a'...~%"
 msgstr ""
 
-#: guix/http-client.scm:275
-msgid "download failed"
-msgstr "pobieranie nie powiodło się"
+#: guix/http-client.scm:277
+#, fuzzy, scheme-format
+msgid "~a: HTTP download failed: ~a (~s)"
+msgstr "~a: pobieranie nie powiodło się~%"
 
 #: guix/nar.scm:155
 msgid "signature is not a valid s-expression"
@@ -2332,7 +2635,10 @@ msgid "guix-daemon -- perform derivation builds and store accesses"
 msgstr ""
 
 #: nix/nix-daemon/guix-daemon.cc:63
-msgid "This program is a daemon meant to run in the background.  It serves requests sent over a Unix-domain socket.  It accesses the store, and builds derivations on behalf of its clients."
+msgid ""
+"This program is a daemon meant to run in the background.  It serves requests "
+"sent over a Unix-domain socket.  It accesses the store, and builds "
+"derivations on behalf of its clients."
 msgstr ""
 
 #: nix/nix-daemon/guix-daemon.cc:87
@@ -2435,22 +2741,17 @@ msgstr ""
 msgid "produce debugging output"
 msgstr ""
 
-#: nix/nix-daemon/guix-daemon.cc:201
-#, c-format
-msgid "error: %s: invalid number of rounds\n"
-msgstr ""
+#~ msgid "~A: unexpected argument~%"
+#~ msgstr "~A: nieoczekiwany argument~%"
 
-#: nix/nix-daemon/guix-daemon.cc:220 nix/nix-daemon/guix-daemon.cc:396
-#, c-format
-msgid "error: %s\n"
-msgstr "błąd: %s\n"
+#~ msgid "  ~50a: unavailable~%"
+#~ msgstr "  ~50a: niedostępne~%"
 
-#: nix/nix-daemon/guix-daemon.cc:281
-#, c-format
-msgid "error: libgcrypt version mismatch\n"
-msgstr ""
+#~ msgid "gz"
+#~ msgstr "gz"
 
-#: nix/nix-daemon/guix-daemon.cc:372
-#, c-format
-msgid "warning: daemon is running as root, so using `--build-users-group' is highly recommended\n"
-msgstr ""
+#~ msgid "download failed"
+#~ msgstr "pobieranie nie powiodło się"
+
+#~ msgid "error: %s\n"
+#~ msgstr "błąd: %s\n"
-- 
2.13.0

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

* bug#27044: oops
  2017-05-23 20:43 bug#27044: [PATCH 1/3] gnu: video: Add libzen Ethan R. Jones
                   ` (3 preceding siblings ...)
  2017-05-27 15:19 ` bug#27044: [PATCH 1/3] gnu: cpp: libzen: " Ethan R. Jones
@ 2017-05-27 15:34 ` Ethan R. Jones
  2017-05-27 15:42 ` bug#27044: [PATCH] gnu: video: Add mediainfo Ethan R. Jones
  5 siblings, 0 replies; 14+ messages in thread
From: Ethan R. Jones @ 2017-05-27 15:34 UTC (permalink / raw)
  To: 27044, mbakke

That'll show me not to send patches half-awake.

Seems like I staged the various .po files in the third commit. Oh well,
I'll try to salvage it.

p.s. feel free to make any other small modifications.

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

* bug#27044: [PATCH] gnu: video: Add mediainfo.
  2017-05-23 20:43 bug#27044: [PATCH 1/3] gnu: video: Add libzen Ethan R. Jones
                   ` (4 preceding siblings ...)
  2017-05-27 15:34 ` bug#27044: oops Ethan R. Jones
@ 2017-05-27 15:42 ` Ethan R. Jones
  2017-05-31 14:51   ` Ludovic Courtès
  5 siblings, 1 reply; 14+ messages in thread
From: Ethan R. Jones @ 2017-05-27 15:42 UTC (permalink / raw)
  To: 27044, mbakke; +Cc: Ethan R. Jones

* gnu/packages/video.scm (mediainfo): Add new variable.
---
 gnu/packages/video.scm | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 54 insertions(+)

diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 37258efe5..76b345cd8 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -2111,3 +2111,57 @@ MPEG-2, MPEG-4, DVD (VOB)...
 @end itemize \n")
     (license license:bsd-2)))
 
+;; TODO also have a GUI version available
+(define-public mediainfo
+  (package
+    (name "mediainfo")
+    (version "0.7.95")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://mediaarea.net/download/source/"
+                                  name "/" version "/"
+                                  name "_" version ".tar.bz2"))
+              (sha256
+               (base32
+                "0dy51a3i79jppmg1gi4f6h7jx4hcgnkmfim4d7d3gmnlbkjh8anv"))))
+    (native-inputs
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("libtool" ,libtool)
+       ("pkg-config" ,pkg-config)
+       ("zlib" ,zlib)
+       ("libmediainfo", libmediainfo)
+       ("libzen" ,libzen)))
+    (build-system gnu-build-system)
+    (arguments
+     '(#:tests? #f ; lacks tests
+       #:phases
+       ;; build scripts not in root of archive
+       (modify-phases %standard-phases
+         (add-before 'configure 'pre-configure
+           (lambda _
+             (chdir "Project/GNU/CLI")))
+         (add-before 'configure 'autogen
+           (lambda _
+             (zero? (system* "./autogen.sh")))))))
+    (home-page "https://mediaarea.net/en/MediaInfo")
+    (synopsis "Utility for reading media metadata")
+    (description "MediaInfo is a utility used for retrieving technical
+information and other metadata about audio or video files.
+A non-exhaustive list of the information MediaInfo can retrieve from media files include:
+@itemize
+@item General: title, author, director, album, track number, date, duration...
+@item Video: codec, aspect, fps, bitrate...
+@item Audio: codec, sample rate, channels, language, bitrate...
+@item Text: language of subtitle
+@item Chapters: number of chapters, list of chapters
+@end itemize\n
+MediaInfo supports the following formats:
+@itemize
+@item Video: MKV, OGM, AVI, DivX, WMV, QuickTime, Real, MPEG-1,
+MPEG-2, MPEG-4, DVD (VOB)...
+@item Video Codecs: DivX, XviD, MSMPEG4, ASP, H.264, AVC...)
+@item Audio: OGG, MP3, WAV, RA, AC3, DTS, AAC, M4A, AU, AIFF...
+@item  Subtitles: SRT, SSA, ASS, SAMI...
+@end itemize \n")
+    (license license:bsd-2)))
-- 
2.13.0

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

* bug#27044: [PATCH 1/3] gnu: cpp: libzen: Add libzen.
  2017-05-27 15:19 ` bug#27044: [PATCH 1/3] gnu: cpp: libzen: " Ethan R. Jones
  2017-05-27 15:19   ` bug#27044: [PATCH 2/3] gnu: video: Add libmediainfo Ethan R. Jones
  2017-05-27 15:19   ` bug#27044: [PATCH 3/3] gnu: video: Add mediainfo Ethan R. Jones
@ 2017-05-31 14:44   ` Ludovic Courtès
  2 siblings, 0 replies; 14+ messages in thread
From: Ludovic Courtès @ 2017-05-31 14:44 UTC (permalink / raw)
  To: Ethan R. Jones; +Cc: 27044-done

Hi Ethan,

"Ethan R. Jones" <doubleplusgood23@gmail.com> skribis:

> * gnu/local.mk (GNU_SYSTEM_MODULES): Add new file.
> * gnu/packages/cpp.scm (libzen): New varible.

[...]

> +    (home-page "https://github.com/MediaArea/ZenLib")
> +    (synopsis "C++ utility library")
> +    (description "ZenLib is a C++ utility library.  It includes classes for handling
> +strings, configuration, bit streams, threading, translation, and cross-platform
> +operating system functions.")
> +    (license license:bsd-2)))

I changed the license to ‘license:zlib’ since that’s what it is and
committed.  Thanks!

Ludo’.

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

* bug#27044: [PATCH 2/3] gnu: video: Add libmediainfo
  2017-05-27 15:19   ` bug#27044: [PATCH 2/3] gnu: video: Add libmediainfo Ethan R. Jones
@ 2017-05-31 14:44     ` Ludovic Courtès
  0 siblings, 0 replies; 14+ messages in thread
From: Ludovic Courtès @ 2017-05-31 14:44 UTC (permalink / raw)
  To: Ethan R. Jones; +Cc: 27044-done

"Ethan R. Jones" <doubleplusgood23@gmail.com> skribis:

> * gnu/packages/video.scm (libmediainfo): New module.
> * gnu/packages/video.scm (libmediainfo): New variable.

Applied, thanks!

Ludo'.

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

* bug#27044: [PATCH] gnu: video: Add mediainfo.
  2017-05-27 15:42 ` bug#27044: [PATCH] gnu: video: Add mediainfo Ethan R. Jones
@ 2017-05-31 14:51   ` Ludovic Courtès
  0 siblings, 0 replies; 14+ messages in thread
From: Ludovic Courtès @ 2017-05-31 14:51 UTC (permalink / raw)
  To: Ethan R. Jones; +Cc: 27044-done

[-- Attachment #1: Type: text/plain, Size: 1233 bytes --]

"Ethan R. Jones" <doubleplusgood23@gmail.com> skribis:

> * gnu/packages/video.scm (mediainfo): Add new variable.

[...]

> +    (synopsis "Utility for reading media metadata")
> +    (description "MediaInfo is a utility used for retrieving technical
> +information and other metadata about audio or video files.
> +A non-exhaustive list of the information MediaInfo can retrieve from media files include:
> +@itemize
> +@item General: title, author, director, album, track number, date, duration...
> +@item Video: codec, aspect, fps, bitrate...
> +@item Audio: codec, sample rate, channels, language, bitrate...
> +@item Text: language of subtitle
> +@item Chapters: number of chapters, list of chapters
> +@end itemize\n
> +MediaInfo supports the following formats:
> +@itemize
> +@item Video: MKV, OGM, AVI, DivX, WMV, QuickTime, Real, MPEG-1,
> +MPEG-2, MPEG-4, DVD (VOB)...
> +@item Video Codecs: DivX, XviD, MSMPEG4, ASP, H.264, AVC...)
> +@item Audio: OGG, MP3, WAV, RA, AC3, DTS, AAC, M4A, AU, AIFF...
> +@item  Subtitles: SRT, SSA, ASS, SAMI...
> +@end itemize \n")

I stripped the description as show below to avoid duplicating what we
have in libmediainfo.

Committed, thanks!

Ludo’.


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: Type: text/x-patch, Size: 1337 bytes --]

diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 64773edb3..ac2eec5f9 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -2150,21 +2150,6 @@ MPEG-2, MPEG-4, DVD (VOB)...
     (home-page "https://mediaarea.net/en/MediaInfo")
     (synopsis "Utility for reading media metadata")
     (description "MediaInfo is a utility used for retrieving technical
-information and other metadata about audio or video files.
-A non-exhaustive list of the information MediaInfo can retrieve from media files include:
-@itemize
-@item General: title, author, director, album, track number, date, duration...
-@item Video: codec, aspect, fps, bitrate...
-@item Audio: codec, sample rate, channels, language, bitrate...
-@item Text: language of subtitle
-@item Chapters: number of chapters, list of chapters
-@end itemize\n
-MediaInfo supports the following formats:
-@itemize
-@item Video: MKV, OGM, AVI, DivX, WMV, QuickTime, Real, MPEG-1,
-MPEG-2, MPEG-4, DVD (VOB)...
-@item Video Codecs: DivX, XviD, MSMPEG4, ASP, H.264, AVC...)
-@item Audio: OGG, MP3, WAV, RA, AC3, DTS, AAC, M4A, AU, AIFF...
-@item  Subtitles: SRT, SSA, ASS, SAMI...
-@end itemize \n")
+information and other metadata about audio or video files.  It supports the
+many codecs and formats supported by libmediainfo.")
     (license license:bsd-2)))

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

end of thread, other threads:[~2017-05-31 14:52 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-05-23 20:43 bug#27044: [PATCH 1/3] gnu: video: Add libzen Ethan R. Jones
2017-05-23 20:43 ` bug#27045: [PATCH 2/3] gnu: video: Add libmediainfo Ethan R. Jones
2017-05-24 16:34   ` Marius Bakke
2017-05-23 20:43 ` bug#27046: [PATCH 3/3] gnu: video: Add mediainfo Ethan R. Jones
2017-05-24 16:37   ` Marius Bakke
2017-05-24 16:29 ` bug#26934: bug#27044: [PATCH 1/3] gnu: video: Add libzen Marius Bakke
2017-05-27 15:19 ` bug#27044: [PATCH 1/3] gnu: cpp: libzen: " Ethan R. Jones
2017-05-27 15:19   ` bug#27044: [PATCH 2/3] gnu: video: Add libmediainfo Ethan R. Jones
2017-05-31 14:44     ` Ludovic Courtès
2017-05-27 15:19   ` bug#27044: [PATCH 3/3] gnu: video: Add mediainfo Ethan R. Jones
2017-05-31 14:44   ` bug#27044: [PATCH 1/3] gnu: cpp: libzen: Add libzen Ludovic Courtès
2017-05-27 15:34 ` bug#27044: oops Ethan R. Jones
2017-05-27 15:42 ` bug#27044: [PATCH] gnu: video: Add mediainfo Ethan R. Jones
2017-05-31 14:51   ` Ludovic Courtès

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