unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#60941] Update diffoscope to 232
@ 2023-01-19  1:31 Vagrant Cascadian
       [not found] ` <handler.60941.B.16740919305557.ack@debbugs.gnu.org>
  0 siblings, 1 reply; 12+ messages in thread
From: Vagrant Cascadian @ 2023-01-19  1:31 UTC (permalink / raw)
  To: 60941

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

Working on updating diffoscope to 232.

Mostly routine changes. Notable differences are:

* Needed a newer version of python-pypdf, as the python-pypdf2 included
  in guix is too old, referred to as PyPDF2 1.x, newer versions include
  PyPDF2 2.x or PyPdf2 3.x... It is also not PyPDF 1.x or PyPDF 2.x,
  which are very old, and I am not sure where PyPDF3 or PyPDF4 fit in,
  but they exist and one is even packaged in guix... For clarity, and I
  try to say this without laughing, this new package is based on the
  very recently released PyPDF 3.2.1.

* Added lzip to native-inputs and upsteam code

* Dropped mono from upstream code

The upstream diffoscope changes were pushed to git upstream, so can
eventually be dropped once diffoscope 233+ is eventually released.

I have less hope for soring out the pypdf versioning madness.

live well,
  vagrant

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

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

* [bug#60941] [PATCH 1/2] gnu: Add python-pypdf.
       [not found] ` <handler.60941.B.16740919305557.ack@debbugs.gnu.org>
@ 2023-01-19  1:36   ` Vagrant Cascadian
  2023-01-19  1:38     ` [bug#60941] [PATCH 2/2] gnu: diffoscope: Update to 232 Vagrant Cascadian
                       ` (2 more replies)
  0 siblings, 3 replies; 12+ messages in thread
From: Vagrant Cascadian @ 2023-01-19  1:36 UTC (permalink / raw)
  To: 60941


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1.1: 0001-gnu-Add-python-pypdf.patch --]
[-- Type: text/x-diff, Size: 2546 bytes --]

From e2082819efee20a72b026eebcfc14af279e424c7 Mon Sep 17 00:00:00 2001
From: Vagrant Cascadian <vagrant@reproducible-builds.org>
Date: Wed, 18 Jan 2023 16:26:41 -0800
Subject: [PATCH 1/2] gnu: Add python-pypdf.

* gnu/packages/pdf.scm (python-pypdf): New varaible.
---
 gnu/packages/pdf.scm | 39 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 39 insertions(+)

diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm
index 4b9d0623fe..cb94c29bde 100644
--- a/gnu/packages/pdf.scm
+++ b/gnu/packages/pdf.scm
@@ -1260,6 +1260,45 @@ (define-public pdf2svg
 converter using the Poppler and Cairo libraries.")
     (license license:gpl2+)))
 
+(define-public python-pypdf
+  (package
+    (name "python-pypdf")
+    (version "3.2.1")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "pypdf" version))
+              (sha256
+               (base32
+                "1pdq4nbkknx61pk8w75jvx5j921m2676wfkyizsrap5mj92cssxc"))))
+    (build-system python-build-system)
+    (arguments
+     (list #:tests? #f ;pypi source does not contains tests
+           #:phases #~(modify-phases %standard-phases
+                        (replace 'build
+                          (lambda _
+                            (invoke "flit" "build")))
+                        (replace 'install
+                          (lambda* (#:key inputs outputs #:allow-other-keys)
+                            (add-installed-pythonpath inputs outputs)
+                            (for-each (lambda (wheel)
+                                        (invoke "python"
+                                                "-m"
+                                                "pip"
+                                                "install"
+                                                wheel
+                                                (string-append "--prefix="
+                                                               #$output)))
+                                      (find-files "dist" "\\.whl$")))))))
+    (native-inputs (list python-flit))
+    (propagated-inputs (list python-typing-extensions))
+    (home-page "https://github.com/py-pdf/pypdf")
+    (synopsis
+     "A pure-python PDF library")
+    (description
+     "This package provides a pure-python PDF library capable of splitting, merging,
+cropping, and transforming PDF files")
+    (license license:bsd-3)))
+
 (define-public python-pypdf2
   (package
     (name "python-pypdf2")
-- 
2.39.0


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

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

* [bug#60941] [PATCH 2/2] gnu: diffoscope: Update to 232.
  2023-01-19  1:36   ` [bug#60941] [PATCH 1/2] gnu: Add python-pypdf Vagrant Cascadian
@ 2023-01-19  1:38     ` Vagrant Cascadian
  2023-01-19  1:48       ` [bug#60941] Update diffoscope " Maxim Cournoyer
  2023-01-22  3:32       ` [bug#60941] [PATCH v2 2/2] gnu: diffoscope: Update to 233 Vagrant Cascadian
  2023-01-19  1:42     ` [bug#60941] [PATCH 1/2] gnu: Add python-pypdf Maxim Cournoyer
  2023-01-22  3:30     ` [bug#60941] [PATCH v2 " Vagrant Cascadian
  2 siblings, 2 replies; 12+ messages in thread
From: Vagrant Cascadian @ 2023-01-19  1:38 UTC (permalink / raw)
  To: 60941


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1.1: 0002-gnu-diffoscope-Update-to-232.patch --]
[-- Type: text/x-diff, Size: 3075 bytes --]

From 784d33dad1ff114e4f8043b7b766c785e7fef79f Mon Sep 17 00:00:00 2001
From: Vagrant Cascadian <vagrant@reproducible-builds.org>
Date: Wed, 18 Jan 2023 11:00:46 -0800
Subject: [PATCH 2/2] gnu: diffoscope: Update to 232.

* gnu/packages/diffoscope.scm (diffoscope): Update to 232.
  [native-inputs]: Add lzip and python-pdf, drop python-pypdf2.
  [phases]: Add lzip-external-tool and remove-mono-external-tool.
---
 gnu/packages/diffoscope.scm | 22 +++++++++++++++++++---
 1 file changed, 19 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/diffoscope.scm b/gnu/packages/diffoscope.scm
index f730d976fe..59875c2e8e 100644
--- a/gnu/packages/diffoscope.scm
+++ b/gnu/packages/diffoscope.scm
@@ -75,7 +75,7 @@ (define-module (gnu packages diffoscope)
 (define-public diffoscope
   (package
     (name "diffoscope")
-    (version "224")
+    (version "232")
     (source
      (origin
        (method git-fetch)
@@ -84,7 +84,7 @@ (define-public diffoscope
              (commit version)))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "1qdivsf4yygg2az5018pw0q4169zas3hfqjydd0q3bhdrfpl0q4q"))
+        (base32 "0zix2m1rlgj7kyx8bkfjb9dnc5idblz6xhmxqq0w3jpnkxxjj8yq"))
        (patches
         (search-patches "diffoscope-fix-llvm-test.patch"))))
     (build-system python-build-system)
@@ -112,6 +112,21 @@ (define-public diffoscope
                          (string-append "[\"" (which "stat") "\","))
                         (("\\[\"getfacl\",")
                          (string-append "[\"" (which "getfacl") "\",")))))
+                  (add-after 'unpack 'lzip-external-tool
+                    ;; Fixed upstream, remove this phase when updating to
+                    ;; diffoscope 233
+                    (lambda _
+                      (substitute* "diffoscope/external_tools.py"
+                        ((".debian.: .lzip.")
+                         "\"debian\": \"lzip\", \"guix\": \"lzip\""))))
+                  (add-after 'unpack 'remove-mono-external-tool
+                    ;; Fixed upstream, remove this phase when updating to
+                    ;; diffoscope 233
+                    (lambda _
+                      (substitute* "diffoscope/external_tools.py"
+                        ;; "guix": "mono",
+                        ((".guix.: .mono.,")
+                         ""))))
                   (add-after 'build 'build-man-page
                     (lambda* (#:key (make-flags '()) #:allow-other-keys)
                       (apply invoke "make" "-C" "doc" make-flags)))
@@ -160,7 +175,7 @@ (define-public diffoscope
              python-pytest
              python-chardet
              python-h5py
-             python-pypdf2
+             python-pypdf
              python-progressbar33
 
              abootimg
@@ -195,6 +210,7 @@ (define-public diffoscope
              libarchive
              llvm-9
              lz4
+             lzip
              ocaml
              odt2txt
              openssh
-- 
2.39.0


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

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

* [bug#60941] [PATCH 1/2] gnu: Add python-pypdf.
  2023-01-19  1:36   ` [bug#60941] [PATCH 1/2] gnu: Add python-pypdf Vagrant Cascadian
  2023-01-19  1:38     ` [bug#60941] [PATCH 2/2] gnu: diffoscope: Update to 232 Vagrant Cascadian
@ 2023-01-19  1:42     ` Maxim Cournoyer
  2023-01-22  3:30     ` [bug#60941] [PATCH v2 " Vagrant Cascadian
  2 siblings, 0 replies; 12+ messages in thread
From: Maxim Cournoyer @ 2023-01-19  1:42 UTC (permalink / raw)
  To: Vagrant Cascadian; +Cc: 60941

Hello,

Vagrant Cascadian <vagrant@reproducible-builds.org> writes:

> From e2082819efee20a72b026eebcfc14af279e424c7 Mon Sep 17 00:00:00 2001
> From: Vagrant Cascadian <vagrant@reproducible-builds.org>
> Date: Wed, 18 Jan 2023 16:26:41 -0800
> Subject: [PATCH 1/2] gnu: Add python-pypdf.
>
> * gnu/packages/pdf.scm (python-pypdf): New varaible.
> ---
>  gnu/packages/pdf.scm | 39 +++++++++++++++++++++++++++++++++++++++
>  1 file changed, 39 insertions(+)
>
> diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm
> index 4b9d0623fe..cb94c29bde 100644
> --- a/gnu/packages/pdf.scm
> +++ b/gnu/packages/pdf.scm
> @@ -1260,6 +1260,45 @@ (define-public pdf2svg
>  converter using the Poppler and Cairo libraries.")
>      (license license:gpl2+)))
>  
> +(define-public python-pypdf
> +  (package
> +    (name "python-pypdf")
> +    (version "3.2.1")
> +    (source (origin
> +              (method url-fetch)
> +              (uri (pypi-uri "pypdf" version))
> +              (sha256
> +               (base32
> +                "1pdq4nbkknx61pk8w75jvx5j921m2676wfkyizsrap5mj92cssxc"))))
> +    (build-system python-build-system)

You should use pyproject-build-system, which knows how to build a
project from a PEP 517 build system.

> +    (arguments
> +     (list #:tests? #f ;pypi source does not contains tests

When this occurs, you can fetch from git instead.  Typically Python
packages come with test suites, and this one is no exception.

> +           #:phases #~(modify-phases %standard-phases
> +                        (replace 'build
> +                          (lambda _
> +                            (invoke "flit" "build")))
> +                        (replace 'install
> +                          (lambda* (#:key inputs outputs #:allow-other-keys)
> +                            (add-installed-pythonpath inputs outputs)
> +                            (for-each (lambda (wheel)
> +                                        (invoke "python"
> +                                                "-m"
> +                                                "pip"
> +                                                "install"
> +                                                wheel
> +                                                (string-append "--prefix="
> +                                                               #$output)))
> +                                      (find-files "dist" "\\.whl$")))))))
> +    (native-inputs (list python-flit))
> +    (propagated-inputs (list python-typing-extensions))
> +    (home-page "https://github.com/py-pdf/pypdf")
> +    (synopsis
> +     "A pure-python PDF library")

guix lint should complain about the leading determinant ("A").

> +    (description
> +     "This package provides a pure-python PDF library capable of splitting, merging,
> +cropping, and transforming PDF files")

Missing period, and "pure-python" is odd.  Perhaps just "This package
provides a Python PDF library [...]"

-- 
Thanks,
Maxim




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

* [bug#60941] Update diffoscope to 232
  2023-01-19  1:38     ` [bug#60941] [PATCH 2/2] gnu: diffoscope: Update to 232 Vagrant Cascadian
@ 2023-01-19  1:48       ` Maxim Cournoyer
  2023-01-22  3:26         ` Vagrant Cascadian
  2023-01-22  3:32       ` [bug#60941] [PATCH v2 2/2] gnu: diffoscope: Update to 233 Vagrant Cascadian
  1 sibling, 1 reply; 12+ messages in thread
From: Maxim Cournoyer @ 2023-01-19  1:48 UTC (permalink / raw)
  To: Vagrant Cascadian; +Cc: 60941

Hi,

Vagrant Cascadian <vagrant@reproducible-builds.org> writes:

> From 784d33dad1ff114e4f8043b7b766c785e7fef79f Mon Sep 17 00:00:00 2001
> From: Vagrant Cascadian <vagrant@reproducible-builds.org>
> Date: Wed, 18 Jan 2023 11:00:46 -0800
> Subject: [PATCH 2/2] gnu: diffoscope: Update to 232.
>
> * gnu/packages/diffoscope.scm (diffoscope): Update to 232.
>   [native-inputs]: Add lzip and python-pdf, drop python-pypdf2.
>   [phases]: Add lzip-external-tool and remove-mono-external-tool.

Nitpick: GNU Change Logs style doesn't use a hanging indent in the left
margin (see: info '(standards) Style of Change Logs').

> ---
>  gnu/packages/diffoscope.scm | 22 +++++++++++++++++++---
>  1 file changed, 19 insertions(+), 3 deletions(-)
>
> diff --git a/gnu/packages/diffoscope.scm b/gnu/packages/diffoscope.scm
> index f730d976fe..59875c2e8e 100644
> --- a/gnu/packages/diffoscope.scm
> +++ b/gnu/packages/diffoscope.scm
> @@ -75,7 +75,7 @@ (define-module (gnu packages diffoscope)
>  (define-public diffoscope
>    (package
>      (name "diffoscope")
> -    (version "224")
> +    (version "232")
>      (source
>       (origin
>         (method git-fetch)
> @@ -84,7 +84,7 @@ (define-public diffoscope
>               (commit version)))
>         (file-name (git-file-name name version))
>         (sha256
> -        (base32 "1qdivsf4yygg2az5018pw0q4169zas3hfqjydd0q3bhdrfpl0q4q"))
> +        (base32 "0zix2m1rlgj7kyx8bkfjb9dnc5idblz6xhmxqq0w3jpnkxxjj8yq"))
>         (patches
>          (search-patches "diffoscope-fix-llvm-test.patch"))))
>      (build-system python-build-system)
> @@ -112,6 +112,21 @@ (define-public diffoscope
>                           (string-append "[\"" (which "stat") "\","))
>                          (("\\[\"getfacl\",")
>                           (string-append "[\"" (which "getfacl") "\",")))))
> +                  (add-after 'unpack 'lzip-external-tool
> +                    ;; Fixed upstream, remove this phase when updating to
> +                    ;; diffoscope 233

nitpick: stand-alone comments should end with a period (complete
sentence).

> +                    (lambda _
> +                      (substitute* "diffoscope/external_tools.py"
> +                        ((".debian.: .lzip.")
> +                         "\"debian\": \"lzip\", \"guix\": \"lzip\""))))
> +                  (add-after 'unpack 'remove-mono-external-tool
> +                    ;; Fixed upstream, remove this phase when updating to
> +                    ;; diffoscope 233
> +                    (lambda _
> +                      (substitute* "diffoscope/external_tools.py"
> +                        ;; "guix": "mono",
> +                        ((".guix.: .mono.,")
> +                         ""))))
>                    (add-after 'build 'build-man-page
>                      (lambda* (#:key (make-flags '()) #:allow-other-keys)

There are no #:make-flags argument for the python or pyproject build
systems, so that's useless.

>                        (apply invoke "make" "-C" "doc" make-flags)))
> @@ -160,7 +175,7 @@ (define-public diffoscope
>               python-pytest
>               python-chardet
>               python-h5py
> -             python-pypdf2
> +             python-pypdf
>               python-progressbar33
>  
>               abootimg
> @@ -195,6 +210,7 @@ (define-public diffoscope
>               libarchive
>               llvm-9
>               lz4
> +             lzip
>               ocaml
>               odt2txt
>               openssh

The rest LGTM, thanks for the update!

-- 
Thanks,
Maxim




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

* [bug#60941] Update diffoscope to 232
  2023-01-19  1:48       ` [bug#60941] Update diffoscope " Maxim Cournoyer
@ 2023-01-22  3:26         ` Vagrant Cascadian
  2023-01-23  1:04           ` Maxim Cournoyer
  0 siblings, 1 reply; 12+ messages in thread
From: Vagrant Cascadian @ 2023-01-22  3:26 UTC (permalink / raw)
  To: Maxim Cournoyer; +Cc: 60941

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

On 2023-01-18, Maxim Cournoyer wrote:
> Vagrant Cascadian <vagrant@reproducible-builds.org> writes:
>> Subject: [PATCH 2/2] gnu: diffoscope: Update to 232.
>>
>> * gnu/packages/diffoscope.scm (diffoscope): Update to 232.
>>   [native-inputs]: Add lzip and python-pdf, drop python-pypdf2.
>>   [phases]: Add lzip-external-tool and remove-mono-external-tool.
>
> Nitpick: GNU Change Logs style doesn't use a hanging indent in the left
> margin (see: info '(standards) Style of Change Logs').

Wow, I think every single one of my commits to date has that issue... hah!


>> diff --git a/gnu/packages/diffoscope.scm b/gnu/packages/diffoscope.scm
>> index f730d976fe..59875c2e8e 100644
>> --- a/gnu/packages/diffoscope.scm
>> +++ b/gnu/packages/diffoscope.scm
...
>> +                  (add-after 'unpack 'remove-mono-external-tool
>> +                    ;; Fixed upstream, remove this phase when updating to
>> +                    ;; diffoscope 233
>> +                    (lambda _
>> +                      (substitute* "diffoscope/external_tools.py"
>> +                        ;; "guix": "mono",
>> +                        ((".guix.: .mono.,")
>> +                         ""))))
>>                    (add-after 'build 'build-man-page
>>                      (lambda* (#:key (make-flags '()) #:allow-other-keys)
>
> There are no #:make-flags argument for the python or pyproject build
> systems, so that's useless.

I would welcome a fix for that... I could not figure out how to make it
build successfully without it, but that does not say a whole lot. :)

live well,
  vagrant

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

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

* [bug#60941] [PATCH v2 1/2] gnu: Add python-pypdf.
  2023-01-19  1:36   ` [bug#60941] [PATCH 1/2] gnu: Add python-pypdf Vagrant Cascadian
  2023-01-19  1:38     ` [bug#60941] [PATCH 2/2] gnu: diffoscope: Update to 232 Vagrant Cascadian
  2023-01-19  1:42     ` [bug#60941] [PATCH 1/2] gnu: Add python-pypdf Maxim Cournoyer
@ 2023-01-22  3:30     ` Vagrant Cascadian
  2023-01-22  7:03       ` [bug#60941] [PATCH v3 " Vagrant Cascadian
  2 siblings, 1 reply; 12+ messages in thread
From: Vagrant Cascadian @ 2023-01-22  3:30 UTC (permalink / raw)
  To: 60941; +Cc: Maxim Cournoyer


[-- Attachment #1.1: Type: text/plain, Size: 154 bytes --]

This series switches to pyproject-build-system, git-fetch, and has
tests! Some tests are disabled due to network access requirements and
non-free assets.

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1.2: 0001-gnu-Add-python-pypdf.patch --]
[-- Type: text/x-diff, Size: 6385 bytes --]

From a7286537cf92b07798d6b537003675555c5f84ba Mon Sep 17 00:00:00 2001
From: Vagrant Cascadian <vagrant@reproducible-builds.org>
Date: Sat, 21 Jan 2023 19:17:23 -0800
Subject: [PATCH 1/2] gnu: Add python-pypdf.

* gnu/packages/pdf.scm (python-pypdf): New variable.
* gnu/packages/patches/python-pypdf-annotate-tests-appropriately.patch: New
file.
* gnu/local.mk (dist_patch_DATA): Add patch.
---
 gnu/local.mk                                  |  1 +
 ...n-pypdf-annotate-tests-appropriately.patch | 96 +++++++++++++++++++
 gnu/packages/pdf.scm                          | 29 ++++++
 3 files changed, 126 insertions(+)
 create mode 100644 gnu/packages/patches/python-pypdf-annotate-tests-appropriately.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 3da47858ff..310c9f1f90 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1639,6 +1639,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/python-louvain-fix-test.patch		\
   %D%/packages/patches/python-random2-getrandbits-test.patch		\
   %D%/packages/patches/python-poppler-qt5-fix-build.patch	\
+  %D%/packages/patches/python-pypdf-annotate-tests-appropriately.patch	\
   %D%/packages/patches/python-telingo-fix-comparison.patch	\
   %D%/packages/patches/python-w3lib-fix-test-failure.patch	\
   %D%/packages/patches/sdcc-disable-non-free-code.patch		\
diff --git a/gnu/packages/patches/python-pypdf-annotate-tests-appropriately.patch b/gnu/packages/patches/python-pypdf-annotate-tests-appropriately.patch
new file mode 100644
index 0000000000..14f1f73924
--- /dev/null
+++ b/gnu/packages/patches/python-pypdf-annotate-tests-appropriately.patch
@@ -0,0 +1,96 @@
+Origin: https://github.com/py-pdf/pypdf/commit/767047b98ee3ea7aca331cfbd63502a284bfed93
+From 767047b98ee3ea7aca331cfbd63502a284bfed93 Mon Sep 17 00:00:00 2001
+From: dkg <dkg@fifthhorseman.net>
+Date: Sat, 14 Jan 2023 03:32:45 -0500
+Subject: [PATCH 03/14] Annotate tests appropriately (#1551)
+
+By annotating these tests, we can use pytest markers to skip external
+tests and tests that depend on sample-files.
+---
+ tests/test_reader.py | 5 +++++
+ tests/test_writer.py | 4 ++++
+ 2 files changed, 9 insertions(+)
+
+diff --git a/tests/test_reader.py b/tests/test_reader.py
+index 710e6c5..62eb7b7 100644
+--- a/tests/test_reader.py
++++ b/tests/test_reader.py
+@@ -176,6 +176,7 @@ def test_get_outline(src, outline_elements):
+     assert len(outline) == outline_elements
+ 
+ 
++@pytest.mark.samples
+ @pytest.mark.parametrize(
+     ("src", "expected_images"),
+     [
+@@ -866,6 +867,7 @@ def test_get_fields():
+     assert dict(fields["c1-1"]) == ({"/FT": "/Btn", "/T": "c1-1"})
+ 
+ 
++@pytest.mark.external
+ def test_get_full_qualified_fields():
+     url = "https://github.com/py-pdf/PyPDF2/files/10142389/fields_with_dots.pdf"
+     name = "fields_with_dots.pdf"
+@@ -1214,6 +1216,7 @@ def test_zeroing_xref():
+     len(reader.pages)
+ 
+ 
++@pytest.mark.external
+ def test_thread():
+     url = "https://github.com/py-pdf/pypdf/files/9066120/UTA_OSHA_3115_Fall_Protection_Training_09162021_.pdf"
+     name = "UTA_OSHA.pdf"
+@@ -1226,6 +1229,7 @@ def test_thread():
+     assert len(reader.threads) >= 1
+ 
+ 
++@pytest.mark.external
+ def test_build_outline_item(caplog):
+     url = "https://github.com/py-pdf/pypdf/files/9464742/shiv_resume.pdf"
+     name = "shiv_resume.pdf"
+@@ -1253,6 +1257,7 @@ def test_build_outline_item(caplog):
+     assert "Unexpected destination 2" in exc.value.args[0]
+ 
+ 
++@pytest.mark.samples
+ @pytest.mark.parametrize(
+     ("src", "page_labels"),
+     [
+diff --git a/tests/test_writer.py b/tests/test_writer.py
+index 60b4a17..20c4de0 100644
+--- a/tests/test_writer.py
++++ b/tests/test_writer.py
+@@ -930,6 +930,7 @@ def test_startup_dest():
+     pdf_file_writer.open_destination = None
+ 
+ 
++@pytest.mark.external
+ def test_iss471():
+     url = "https://github.com/py-pdf/pypdf/files/9139245/book.pdf"
+     name = "book_471.pdf"
+@@ -942,6 +943,7 @@ def test_iss471():
+     )
+ 
+ 
++@pytest.mark.external
+ def test_reset_translation():
+     url = "https://corpora.tika.apache.org/base/docs/govdocs1/924/924666.pdf"
+     name = "tika-924666.pdf"
+@@ -977,6 +979,7 @@ def test_threads_empty():
+     assert thr == thr2
+ 
+ 
++@pytest.mark.external
+ def test_append_without_annots_and_articles():
+     url = "https://corpora.tika.apache.org/base/docs/govdocs1/924/924666.pdf"
+     name = "tika-924666.pdf"
+@@ -993,6 +996,7 @@ def test_append_without_annots_and_articles():
+     assert len(writer.threads) >= 1
+ 
+ 
++@pytest.mark.external
+ def test_append_multiple():
+     url = "https://corpora.tika.apache.org/base/docs/govdocs1/924/924666.pdf"
+     name = "tika-924666.pdf"
+-- 
+2.39.1
+
diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm
index 4b9d0623fe..446d833e51 100644
--- a/gnu/packages/pdf.scm
+++ b/gnu/packages/pdf.scm
@@ -1260,6 +1260,35 @@ (define-public pdf2svg
 converter using the Poppler and Cairo libraries.")
     (license license:gpl2+)))
 
+(define-public python-pypdf
+  (package
+    (name "python-pypdf")
+    (version "3.2.1")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/py-pdf/pypdf")
+                    (commit version)))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1qwvjr694sabfblx22zd54b9ny40f2gbv3bv6q43myrlxwvvisk6"))
+              (patches (search-patches
+                        "python-pypdf-annotate-tests-appropriately.patch"))))
+    (build-system pyproject-build-system)
+    (native-inputs (list python-pytest python-flit))
+    (propagated-inputs (list python-typing-extensions))
+    (home-page "https://github.com/py-pdf/pypdf")
+    (arguments
+     (list
+           ;; Disable tests that use the network and non-free assets.
+           #:test-flags #~(list "-m" "not external and not samples")))
+    (synopsis "Python PDF library")
+    (description
+     "This package provides a PDF library capable of splitting, merging,
+cropping, and transforming PDF files.")
+    (license license:bsd-3)))
+
 (define-public python-pypdf2
   (package
     (name "python-pypdf2")
-- 
2.39.0


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

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

* [bug#60941] [PATCH v2 2/2] gnu: diffoscope: Update to 233.
  2023-01-19  1:38     ` [bug#60941] [PATCH 2/2] gnu: diffoscope: Update to 232 Vagrant Cascadian
  2023-01-19  1:48       ` [bug#60941] Update diffoscope " Maxim Cournoyer
@ 2023-01-22  3:32       ` Vagrant Cascadian
  1 sibling, 0 replies; 12+ messages in thread
From: Vagrant Cascadian @ 2023-01-22  3:32 UTC (permalink / raw)
  To: 60941


[-- Attachment #1.1: Type: text/plain, Size: 101 bytes --]

New upstream version which includes some of the changes monkey-patched
in from the previous version.

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1.2: 0002-gnu-diffoscope-Update-to-233.patch --]
[-- Type: text/x-diff, Size: 1742 bytes --]

From 7d56d84b140931d434c8b0178797de5b93474173 Mon Sep 17 00:00:00 2001
From: Vagrant Cascadian <vagrant@reproducible-builds.org>
Date: Sat, 21 Jan 2023 19:17:46 -0800
Subject: [PATCH 2/2] gnu: diffoscope: Update to 233.

* gnu/packages/diffoscope.scm (diffoscope): Update to 233.
[native-inputs]: Add lzip and python-pdf, drop python-pypdf2.
---
 gnu/packages/diffoscope.scm | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/diffoscope.scm b/gnu/packages/diffoscope.scm
index f730d976fe..6decb86f02 100644
--- a/gnu/packages/diffoscope.scm
+++ b/gnu/packages/diffoscope.scm
@@ -75,7 +75,7 @@ (define-module (gnu packages diffoscope)
 (define-public diffoscope
   (package
     (name "diffoscope")
-    (version "224")
+    (version "233")
     (source
      (origin
        (method git-fetch)
@@ -84,7 +84,7 @@ (define-public diffoscope
              (commit version)))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "1qdivsf4yygg2az5018pw0q4169zas3hfqjydd0q3bhdrfpl0q4q"))
+        (base32 "1m6fc7k8cd7ahra05vqccw1fdbjj6d20vr3q8v67ynnyih5nmbnb"))
        (patches
         (search-patches "diffoscope-fix-llvm-test.patch"))))
     (build-system python-build-system)
@@ -160,7 +160,7 @@ (define-public diffoscope
              python-pytest
              python-chardet
              python-h5py
-             python-pypdf2
+             python-pypdf
              python-progressbar33
 
              abootimg
@@ -195,6 +195,7 @@ (define-public diffoscope
              libarchive
              llvm-9
              lz4
+             lzip
              ocaml
              odt2txt
              openssh
-- 
2.39.0


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

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

* [bug#60941] [PATCH v3 1/2] gnu: Add python-pypdf.
  2023-01-22  3:30     ` [bug#60941] [PATCH v2 " Vagrant Cascadian
@ 2023-01-22  7:03       ` Vagrant Cascadian
  2023-01-22  7:06         ` [bug#60941] [PATCH v3 2/2] gnu: diffoscope: Update to 233 Vagrant Cascadian
  0 siblings, 1 reply; 12+ messages in thread
From: Vagrant Cascadian @ 2023-01-22  7:03 UTC (permalink / raw)
  To: 60941; +Cc: Maxim Cournoyer


[-- Attachment #1.1: Type: text/plain, Size: 11 bytes --]

No change.

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1.2: 0001-gnu-Add-python-pypdf.patch --]
[-- Type: text/x-diff, Size: 6385 bytes --]

From 421c017a26ffa77120a2e8792779296a141ecbb5 Mon Sep 17 00:00:00 2001
From: Vagrant Cascadian <vagrant@reproducible-builds.org>
Date: Sat, 21 Jan 2023 19:17:23 -0800
Subject: [PATCH 1/2] gnu: Add python-pypdf.

* gnu/packages/pdf.scm (python-pypdf): New variable.
* gnu/packages/patches/python-pypdf-annotate-tests-appropriately.patch: New
file.
* gnu/local.mk (dist_patch_DATA): Add patch.
---
 gnu/local.mk                                  |  1 +
 ...n-pypdf-annotate-tests-appropriately.patch | 96 +++++++++++++++++++
 gnu/packages/pdf.scm                          | 29 ++++++
 3 files changed, 126 insertions(+)
 create mode 100644 gnu/packages/patches/python-pypdf-annotate-tests-appropriately.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 3da47858ff..310c9f1f90 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1639,6 +1639,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/python-louvain-fix-test.patch		\
   %D%/packages/patches/python-random2-getrandbits-test.patch		\
   %D%/packages/patches/python-poppler-qt5-fix-build.patch	\
+  %D%/packages/patches/python-pypdf-annotate-tests-appropriately.patch	\
   %D%/packages/patches/python-telingo-fix-comparison.patch	\
   %D%/packages/patches/python-w3lib-fix-test-failure.patch	\
   %D%/packages/patches/sdcc-disable-non-free-code.patch		\
diff --git a/gnu/packages/patches/python-pypdf-annotate-tests-appropriately.patch b/gnu/packages/patches/python-pypdf-annotate-tests-appropriately.patch
new file mode 100644
index 0000000000..14f1f73924
--- /dev/null
+++ b/gnu/packages/patches/python-pypdf-annotate-tests-appropriately.patch
@@ -0,0 +1,96 @@
+Origin: https://github.com/py-pdf/pypdf/commit/767047b98ee3ea7aca331cfbd63502a284bfed93
+From 767047b98ee3ea7aca331cfbd63502a284bfed93 Mon Sep 17 00:00:00 2001
+From: dkg <dkg@fifthhorseman.net>
+Date: Sat, 14 Jan 2023 03:32:45 -0500
+Subject: [PATCH 03/14] Annotate tests appropriately (#1551)
+
+By annotating these tests, we can use pytest markers to skip external
+tests and tests that depend on sample-files.
+---
+ tests/test_reader.py | 5 +++++
+ tests/test_writer.py | 4 ++++
+ 2 files changed, 9 insertions(+)
+
+diff --git a/tests/test_reader.py b/tests/test_reader.py
+index 710e6c5..62eb7b7 100644
+--- a/tests/test_reader.py
++++ b/tests/test_reader.py
+@@ -176,6 +176,7 @@ def test_get_outline(src, outline_elements):
+     assert len(outline) == outline_elements
+ 
+ 
++@pytest.mark.samples
+ @pytest.mark.parametrize(
+     ("src", "expected_images"),
+     [
+@@ -866,6 +867,7 @@ def test_get_fields():
+     assert dict(fields["c1-1"]) == ({"/FT": "/Btn", "/T": "c1-1"})
+ 
+ 
++@pytest.mark.external
+ def test_get_full_qualified_fields():
+     url = "https://github.com/py-pdf/PyPDF2/files/10142389/fields_with_dots.pdf"
+     name = "fields_with_dots.pdf"
+@@ -1214,6 +1216,7 @@ def test_zeroing_xref():
+     len(reader.pages)
+ 
+ 
++@pytest.mark.external
+ def test_thread():
+     url = "https://github.com/py-pdf/pypdf/files/9066120/UTA_OSHA_3115_Fall_Protection_Training_09162021_.pdf"
+     name = "UTA_OSHA.pdf"
+@@ -1226,6 +1229,7 @@ def test_thread():
+     assert len(reader.threads) >= 1
+ 
+ 
++@pytest.mark.external
+ def test_build_outline_item(caplog):
+     url = "https://github.com/py-pdf/pypdf/files/9464742/shiv_resume.pdf"
+     name = "shiv_resume.pdf"
+@@ -1253,6 +1257,7 @@ def test_build_outline_item(caplog):
+     assert "Unexpected destination 2" in exc.value.args[0]
+ 
+ 
++@pytest.mark.samples
+ @pytest.mark.parametrize(
+     ("src", "page_labels"),
+     [
+diff --git a/tests/test_writer.py b/tests/test_writer.py
+index 60b4a17..20c4de0 100644
+--- a/tests/test_writer.py
++++ b/tests/test_writer.py
+@@ -930,6 +930,7 @@ def test_startup_dest():
+     pdf_file_writer.open_destination = None
+ 
+ 
++@pytest.mark.external
+ def test_iss471():
+     url = "https://github.com/py-pdf/pypdf/files/9139245/book.pdf"
+     name = "book_471.pdf"
+@@ -942,6 +943,7 @@ def test_iss471():
+     )
+ 
+ 
++@pytest.mark.external
+ def test_reset_translation():
+     url = "https://corpora.tika.apache.org/base/docs/govdocs1/924/924666.pdf"
+     name = "tika-924666.pdf"
+@@ -977,6 +979,7 @@ def test_threads_empty():
+     assert thr == thr2
+ 
+ 
++@pytest.mark.external
+ def test_append_without_annots_and_articles():
+     url = "https://corpora.tika.apache.org/base/docs/govdocs1/924/924666.pdf"
+     name = "tika-924666.pdf"
+@@ -993,6 +996,7 @@ def test_append_without_annots_and_articles():
+     assert len(writer.threads) >= 1
+ 
+ 
++@pytest.mark.external
+ def test_append_multiple():
+     url = "https://corpora.tika.apache.org/base/docs/govdocs1/924/924666.pdf"
+     name = "tika-924666.pdf"
+-- 
+2.39.1
+
diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm
index 4b9d0623fe..446d833e51 100644
--- a/gnu/packages/pdf.scm
+++ b/gnu/packages/pdf.scm
@@ -1260,6 +1260,35 @@ (define-public pdf2svg
 converter using the Poppler and Cairo libraries.")
     (license license:gpl2+)))
 
+(define-public python-pypdf
+  (package
+    (name "python-pypdf")
+    (version "3.2.1")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/py-pdf/pypdf")
+                    (commit version)))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1qwvjr694sabfblx22zd54b9ny40f2gbv3bv6q43myrlxwvvisk6"))
+              (patches (search-patches
+                        "python-pypdf-annotate-tests-appropriately.patch"))))
+    (build-system pyproject-build-system)
+    (native-inputs (list python-pytest python-flit))
+    (propagated-inputs (list python-typing-extensions))
+    (home-page "https://github.com/py-pdf/pypdf")
+    (arguments
+     (list
+           ;; Disable tests that use the network and non-free assets.
+           #:test-flags #~(list "-m" "not external and not samples")))
+    (synopsis "Python PDF library")
+    (description
+     "This package provides a PDF library capable of splitting, merging,
+cropping, and transforming PDF files.")
+    (license license:bsd-3)))
+
 (define-public python-pypdf2
   (package
     (name "python-pypdf2")
-- 
2.39.0


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

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

* [bug#60941] [PATCH v3 2/2] gnu: diffoscope: Update to 233.
  2023-01-22  7:03       ` [bug#60941] [PATCH v3 " Vagrant Cascadian
@ 2023-01-22  7:06         ` Vagrant Cascadian
  2023-01-23  1:07           ` bug#60941: " Maxim Cournoyer
  0 siblings, 1 reply; 12+ messages in thread
From: Vagrant Cascadian @ 2023-01-22  7:06 UTC (permalink / raw)
  To: 60941; +Cc: Maxim Cournoyer


[-- Attachment #1.1: Type: text/plain, Size: 154 bytes --]

Fix typo in commit message (python-pdf -> python-pypdf).

Hopefully patchwork will correctly identify the python-pypdf patch as a
dependency this time...

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1.2: 0002-gnu-diffoscope-Update-to-233.patch --]
[-- Type: text/x-diff, Size: 1744 bytes --]

From 420781d76b8323df36e27dea0cd7561d150f874b Mon Sep 17 00:00:00 2001
From: Vagrant Cascadian <vagrant@reproducible-builds.org>
Date: Sat, 21 Jan 2023 19:17:46 -0800
Subject: [PATCH 2/2] gnu: diffoscope: Update to 233.

* gnu/packages/diffoscope.scm (diffoscope): Update to 233.
[native-inputs]: Add lzip and python-pypdf, drop python-pypdf2.
---
 gnu/packages/diffoscope.scm | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/diffoscope.scm b/gnu/packages/diffoscope.scm
index f730d976fe..6decb86f02 100644
--- a/gnu/packages/diffoscope.scm
+++ b/gnu/packages/diffoscope.scm
@@ -75,7 +75,7 @@ (define-module (gnu packages diffoscope)
 (define-public diffoscope
   (package
     (name "diffoscope")
-    (version "224")
+    (version "233")
     (source
      (origin
        (method git-fetch)
@@ -84,7 +84,7 @@ (define-public diffoscope
              (commit version)))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "1qdivsf4yygg2az5018pw0q4169zas3hfqjydd0q3bhdrfpl0q4q"))
+        (base32 "1m6fc7k8cd7ahra05vqccw1fdbjj6d20vr3q8v67ynnyih5nmbnb"))
        (patches
         (search-patches "diffoscope-fix-llvm-test.patch"))))
     (build-system python-build-system)
@@ -160,7 +160,7 @@ (define-public diffoscope
              python-pytest
              python-chardet
              python-h5py
-             python-pypdf2
+             python-pypdf
              python-progressbar33
 
              abootimg
@@ -195,6 +195,7 @@ (define-public diffoscope
              libarchive
              llvm-9
              lz4
+             lzip
              ocaml
              odt2txt
              openssh
-- 
2.39.0


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

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

* [bug#60941] Update diffoscope to 232
  2023-01-22  3:26         ` Vagrant Cascadian
@ 2023-01-23  1:04           ` Maxim Cournoyer
  0 siblings, 0 replies; 12+ messages in thread
From: Maxim Cournoyer @ 2023-01-23  1:04 UTC (permalink / raw)
  To: Vagrant Cascadian; +Cc: 60941

Hi,

Vagrant Cascadian <vagrant@reproducible-builds.org> writes:

[...]

>>> diff --git a/gnu/packages/diffoscope.scm b/gnu/packages/diffoscope.scm
>>> index f730d976fe..59875c2e8e 100644
>>> --- a/gnu/packages/diffoscope.scm
>>> +++ b/gnu/packages/diffoscope.scm
> ...
>>> +                  (add-after 'unpack 'remove-mono-external-tool
>>> +                    ;; Fixed upstream, remove this phase when updating to
>>> +                    ;; diffoscope 233
>>> +                    (lambda _
>>> +                      (substitute* "diffoscope/external_tools.py"
>>> +                        ;; "guix": "mono",
>>> +                        ((".guix.: .mono.,")
>>> +                         ""))))
>>>                    (add-after 'build 'build-man-page
>>>                      (lambda* (#:key (make-flags '()) #:allow-other-keys)
>>
>> There are no #:make-flags argument for the python or pyproject build
>> systems, so that's useless.
>
> I would welcome a fix for that... I could not figure out how to make it
> build successfully without it, but that does not say a whole lot. :)

I addressed it in a subsequent commit ("gnu: diffoscope: Simplify the
build-man-page phase.").

-- 
Thanks,
Maxim




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

* bug#60941: [PATCH v3 2/2] gnu: diffoscope: Update to 233.
  2023-01-22  7:06         ` [bug#60941] [PATCH v3 2/2] gnu: diffoscope: Update to 233 Vagrant Cascadian
@ 2023-01-23  1:07           ` Maxim Cournoyer
  0 siblings, 0 replies; 12+ messages in thread
From: Maxim Cournoyer @ 2023-01-23  1:07 UTC (permalink / raw)
  To: Vagrant Cascadian; +Cc: 60941-done

Hi,

Vagrant Cascadian <vagrant@reproducible-builds.org> writes:

> Fix typo in commit message (python-pdf -> python-pypdf).
>
> Hopefully patchwork will correctly identify the python-pypdf patch as a
> dependency this time...
>
> From 420781d76b8323df36e27dea0cd7561d150f874b Mon Sep 17 00:00:00 2001
> From: Vagrant Cascadian <vagrant@reproducible-builds.org>
> Date: Sat, 21 Jan 2023 19:17:46 -0800
> Subject: [PATCH 2/2] gnu: diffoscope: Update to 233.
>
> * gnu/packages/diffoscope.scm (diffoscope): Update to 233.
> [native-inputs]: Add lzip and python-pypdf, drop python-pypdf2.

Applied, along with python-pypdf.

-- 
Thanks,
Maxim




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

end of thread, other threads:[~2023-01-23  1:08 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-01-19  1:31 [bug#60941] Update diffoscope to 232 Vagrant Cascadian
     [not found] ` <handler.60941.B.16740919305557.ack@debbugs.gnu.org>
2023-01-19  1:36   ` [bug#60941] [PATCH 1/2] gnu: Add python-pypdf Vagrant Cascadian
2023-01-19  1:38     ` [bug#60941] [PATCH 2/2] gnu: diffoscope: Update to 232 Vagrant Cascadian
2023-01-19  1:48       ` [bug#60941] Update diffoscope " Maxim Cournoyer
2023-01-22  3:26         ` Vagrant Cascadian
2023-01-23  1:04           ` Maxim Cournoyer
2023-01-22  3:32       ` [bug#60941] [PATCH v2 2/2] gnu: diffoscope: Update to 233 Vagrant Cascadian
2023-01-19  1:42     ` [bug#60941] [PATCH 1/2] gnu: Add python-pypdf Maxim Cournoyer
2023-01-22  3:30     ` [bug#60941] [PATCH v2 " Vagrant Cascadian
2023-01-22  7:03       ` [bug#60941] [PATCH v3 " Vagrant Cascadian
2023-01-22  7:06         ` [bug#60941] [PATCH v3 2/2] gnu: diffoscope: Update to 233 Vagrant Cascadian
2023-01-23  1:07           ` bug#60941: " Maxim Cournoyer

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