summaryrefslogtreecommitdiff
path: root/dev-python/stapler
diff options
context:
space:
mode:
authorroot <root@alpha.trunkmasters.com>2026-06-04 05:35:26 -0500
committerroot <root@alpha.trunkmasters.com>2026-06-04 05:35:26 -0500
commitf716a9fe6455d39eef01e718aae68dae61c19704 (patch)
tree0c52bbae1c242fbc296bd650fcd1167685f81492 /dev-python/stapler
parent3f9cf298e89cd5037b982abba06091224ee76daf (diff)
downloadbaldeagleos-repo-f716a9fe6455d39eef01e718aae68dae61c19704.tar.gz
baldeagleos-repo-f716a9fe6455d39eef01e718aae68dae61c19704.tar.xz
baldeagleos-repo-f716a9fe6455d39eef01e718aae68dae61c19704.zip
Adding metadata
Diffstat (limited to 'dev-python/stapler')
-rw-r--r--dev-python/stapler/Manifest1
-rw-r--r--dev-python/stapler/files/stapler-1.0.0_p20220330-PyPDF2-to-pypdf-r1.patch52
-rw-r--r--dev-python/stapler/files/stapler-1.0.0_p20220330-fix-tests-for-PyPDF2-2.x.patch13
-rw-r--r--dev-python/stapler/files/stapler-1.0.0_p20220330-port-to-PyPDF2-3.0.0.patch302
-rw-r--r--dev-python/stapler/files/stapler-1.0.0_p20220330-use-poetry-core-backend-for-PEP517.patch32
-rw-r--r--dev-python/stapler/metadata.xml13
-rw-r--r--dev-python/stapler/stapler-1.0.0_p20220330-r4.ebuild39
7 files changed, 0 insertions, 452 deletions
diff --git a/dev-python/stapler/Manifest b/dev-python/stapler/Manifest
deleted file mode 100644
index 8509b2111ea0..000000000000
--- a/dev-python/stapler/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST stapler-382f1edc62296e071093a5419811a2fca9d78d93.tar.gz 43659 BLAKE2B 10c24868d51086b37dd2d517aa84e3c3fc0b6becc7a29ebf496646bdd65494eb0c43488f725241d7bd7b3083ce5703538db3e05de9976a2e5029731fc2e645d2 SHA512 acd2dfec0dfab46b2cf6b440cba6c0db5399be2ba2194ca12530c311c6c5a8028614164af45b850061e7d22cbec33458ceff7757f1b104c722228dc2d02cae0a
diff --git a/dev-python/stapler/files/stapler-1.0.0_p20220330-PyPDF2-to-pypdf-r1.patch b/dev-python/stapler/files/stapler-1.0.0_p20220330-PyPDF2-to-pypdf-r1.patch
deleted file mode 100644
index 8e4a30327ee5..000000000000
--- a/dev-python/stapler/files/stapler-1.0.0_p20220330-PyPDF2-to-pypdf-r1.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-diff --git a/staplelib/commands.py b/staplelib/commands.py
-index caf75f9..e67f419 100644
---- a/staplelib/commands.py
-+++ b/staplelib/commands.py
-@@ -4,7 +4,7 @@ import math
- import os
-
- try:
-- from PyPDF2 import PdfWriter, PdfReader
-+ from pypdf import PdfWriter, PdfReader
- except:
- from pyPdf import PdfWriter, PdfReader
-
-diff --git a/staplelib/iohelper.py b/staplelib/iohelper.py
-index 8df365c..5474898 100644
---- a/staplelib/iohelper.py
-+++ b/staplelib/iohelper.py
-@@ -7,7 +7,7 @@ import re
- import sys
-
- try:
-- from PyPDF2 import PdfWriter, PdfReader
-+ from pypdf import PdfWriter, PdfReader
- except ImportError:
- from pyPdf import PdfWriter, PdfReader
-
-diff --git a/staplelib/tests.py b/staplelib/tests.py
-index 86db178..423406d 100755
---- a/staplelib/tests.py
-+++ b/staplelib/tests.py
-@@ -5,7 +5,7 @@ import shutil
- import tempfile
- import unittest
-
--from PyPDF2 import PdfReader
-+from pypdf import PdfReader
-
- from staplelib import main, CommandError
-
-diff --git a/pyproject.toml b/pyproject.toml
-index d34823e..765db3d 100644
---- a/pyproject.toml
-+++ b/pyproject.toml
-@@ -15,7 +15,7 @@ packages = [
-
- [tool.poetry.dependencies]
- python = "^3.4"
--PyPDF2 = ">=1.26"
-+pypdf = ">=3.1.0"
-
- [tool.poetry.dev-dependencies]
- pytest = "*"
diff --git a/dev-python/stapler/files/stapler-1.0.0_p20220330-fix-tests-for-PyPDF2-2.x.patch b/dev-python/stapler/files/stapler-1.0.0_p20220330-fix-tests-for-PyPDF2-2.x.patch
deleted file mode 100644
index 125b06a7735a..000000000000
--- a/dev-python/stapler/files/stapler-1.0.0_p20220330-fix-tests-for-PyPDF2-2.x.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/staplelib/tests.py b/staplelib/tests.py
-index 4d59153..447d48a 100755
---- a/staplelib/tests.py
-+++ b/staplelib/tests.py
-@@ -5,7 +5,7 @@ import shutil
- import tempfile
- import unittest
-
--from PyPDF2.pdf import PdfFileReader
-+from PyPDF2 import PdfFileReader
-
- from staplelib import main, CommandError
-
diff --git a/dev-python/stapler/files/stapler-1.0.0_p20220330-port-to-PyPDF2-3.0.0.patch b/dev-python/stapler/files/stapler-1.0.0_p20220330-port-to-PyPDF2-3.0.0.patch
deleted file mode 100644
index 91eea95ae217..000000000000
--- a/dev-python/stapler/files/stapler-1.0.0_p20220330-port-to-PyPDF2-3.0.0.patch
+++ /dev/null
@@ -1,302 +0,0 @@
-From 48d6ab21369f1e71dc57890f9bf78fff66c00a90 Mon Sep 17 00:00:00 2001
-From: Ben Kohler <bkohler@gentoo.org>
-Date: Wed, 28 Dec 2022 10:08:30 -0600
-Subject: [PATCH 2/2] Port to PyPDF2-3.0.0
-
-Lots of functions got renamed in the recent PyPDF2-3.0.0 release
-
-Signed-off-by: Ben Kohler <bkohler@gentoo.org>
----
- staplelib/commands.py | 46 +++++++++++++++++++++----------------------
- staplelib/iohelper.py | 12 +++++------
- staplelib/tests.py | 34 ++++++++++++++++----------------
- 3 files changed, 46 insertions(+), 46 deletions(-)
-
-diff --git a/staplelib/commands.py b/staplelib/commands.py
-index d37bfa7..caf75f9 100644
---- a/staplelib/commands.py
-+++ b/staplelib/commands.py
-@@ -4,9 +4,9 @@ import math
- import os
-
- try:
-- from PyPDF2 import PdfFileWriter, PdfFileReader
-+ from PyPDF2 import PdfWriter, PdfReader
- except:
-- from pyPdf import PdfFileWriter, PdfFileReader
-+ from pyPdf import PdfWriter, PdfReader
-
- from . import CommandError, iohelper
- import staplelib
-@@ -33,7 +33,7 @@ def select(args, inverse=False):
- if not filesandranges or not outputfilename:
- raise CommandError("Both input and output filenames are required.")
-
-- output = PdfFileWriter()
-+ output = PdfWriter()
- try:
- for input in filesandranges:
- pdf = input['pdf']
-@@ -44,21 +44,21 @@ def select(args, inverse=False):
- if not inverse:
- pagerange = input['pages'] or [
- (p, iohelper.ROTATION_NONE) for p in
-- range(1, pdf.getNumPages() + 1)]
-+ range(1, len(pdf.pages) + 1)]
- else:
- excluded = [p for p, r in input['pages']]
- pagerange = [(p, iohelper.ROTATION_NONE) for p in
-- range(1, pdf.getNumPages() + 1) if
-+ range(1, len(pdf.pages) + 1) if
- p not in excluded]
-
- for pageno, rotate in pagerange:
-- if 1 <= pageno <= pdf.getNumPages():
-+ if 1 <= pageno <= len(pdf.pages):
- if verbose:
- print("Using page: {} (rotation: {} deg.)".format(
- pageno, rotate))
-
-- output.addPage(pdf.getPage(pageno-1)
-- .rotateClockwise(rotate))
-+ output.add_page(pdf.pages[pageno-1]
-+ .rotate(rotate))
- else:
- raise CommandError("Page {} not found in {}.".format(
- pageno, input['name']))
-@@ -98,14 +98,14 @@ def split(args):
- base,
- '_',
- '%0',
-- str(math.ceil(math.log10(input.getNumPages()))),
-+ str(math.ceil(math.log10(len(input.pages)))),
- 'd',
- ext
- ])
-
-- for pageno in range(input.getNumPages()):
-- output = PdfFileWriter()
-- output.addPage(input.getPage(pageno))
-+ for pageno in range(len(input.pages)):
-+ output = PdfWriter()
-+ output.add_page(input.pages[pageno])
-
- outputname = output_template % (pageno + 1)
- if verbose:
-@@ -150,17 +150,17 @@ def zip_pdf_pages(filesandranges, verbose):
- # empty range means "include all pages"
- pagerange = input['pages'] or [
- (p, iohelper.ROTATION_NONE) for p in
-- range(1, pdf.getNumPages() + 1)]
-+ range(1, len(pdf.pages) + 1)]
-
- pagestozip = []
- for pageno, rotate in pagerange:
-- if 1 <= pageno <= pdf.getNumPages():
-+ if 1 <= pageno <= len(pdf.pages):
- if verbose:
- print("Using page: {} (rotation: {} deg.)".format(
- pageno, rotate))
-
-- pagestozip.append(pdf.getPage(pageno-1)
-- .rotateClockwise(rotate))
-+ pagestozip.append(pdf.pages[pageno-1]
-+ .rotate(rotate))
- else:
- raise CommandError("Page {} not found in {}.".format(
- pageno, input['name']))
-@@ -181,7 +181,7 @@ def background(args):
- try:
- filestozip = zip_pdf_pages(filesandranges, verbose)
-
-- output = PdfFileWriter()
-+ output = PdfWriter()
- for pageno in range(max(map(len, filestozip))):
- page = None
- for listno in range(len(filestozip)):
-@@ -190,8 +190,8 @@ def background(args):
- if not page:
- page = p
- else:
-- page.mergePage(p)
-- output.addPage(page)
-+ page.merge_page(p)
-+ output.add_page(page)
-
- except Exception as e:
- import sys
-@@ -213,11 +213,11 @@ def zip(args):
- filestozip = zip_pdf_pages(filesandranges, verbose)
-
- # Interweave pages.
-- output = PdfFileWriter()
-+ output = PdfWriter()
- for pageno in range(max(map(len, filestozip))):
- for listno in range(len(filestozip)):
- if pageno < len(filestozip[listno]):
-- output.addPage(filestozip[listno][pageno])
-+ output.add_page(filestozip[listno][pageno])
-
- _write_output(output, outputfilename)
-
-@@ -266,7 +266,7 @@ def pdf_page_enumeration(pdf):
- pagelabels = pdf.trailer["/Root"]["/PageLabels"]
- except:
- # ("No /Root/PageLabels object"), so infer the list.
-- return range(1, pdf.getNumPages() + 1)
-+ return range(1, len(pdf.pages) + 1)
-
- # """Select the item that is most likely to contain the information you desire; e.g.
- # {'/Nums': [0, IndirectObject(42, 0)]}
-@@ -292,7 +292,7 @@ def pdf_page_enumeration(pdf):
- style = '/D'
- prefix = ''
- next_pageno = 1
-- for i in range(0, pdf.getNumPages()):
-+ for i in range(0, len(pdf.pages)):
- if len(pagelabels_nums_list) > 0 and i >= pagelabels_nums_list[0]:
- pagelabels_nums_list.pop(0) # discard index
- pnle = pagelabels_nums_list.pop(0)
-diff --git a/staplelib/iohelper.py b/staplelib/iohelper.py
-index 959e900..8df365c 100644
---- a/staplelib/iohelper.py
-+++ b/staplelib/iohelper.py
-@@ -7,9 +7,9 @@ import re
- import sys
-
- try:
-- from PyPDF2 import PdfFileWriter, PdfFileReader
-+ from PyPDF2 import PdfWriter, PdfReader
- except ImportError:
-- from pyPdf import PdfFileWriter, PdfFileReader
-+ from pyPdf import PdfWriter, PdfReader
-
-
- from . import CommandError
-@@ -31,8 +31,8 @@ def read_pdf(filename):
- """Open a PDF file with PyPDF2."""
- if not os.path.exists(filename):
- raise CommandError("{} does not exist".format(filename))
-- pdf = PdfFileReader(open(filename, "rb"))
-- if pdf.isEncrypted:
-+ pdf = PdfReader(open(filename, "rb"))
-+ if pdf.is_encrypted:
- while True:
- pw = prompt_for_pw(filename)
- matched = pdf.decrypt(pw)
-@@ -46,7 +46,7 @@ def read_pdf(filename):
- def write_pdf(pdf, filename):
- force = staplelib.OPTIONS.force
-
-- """Write the content of a PdfFileWriter object to a file."""
-+ """Write the content of a PdfWriter object to a file."""
- if os.path.exists(filename) and not force:
- raise CommandError("File already exists: {}".format(filename))
-
-@@ -123,7 +123,7 @@ def parse_ranges(handles_files_and_ranges):
- "page range '{}'".format(handle_key, inputname))
-
- current = operations[-1]
-- max_page = current['pdf'].getNumPages()
-+ max_page = len(current['pdf'].pages)
- # allow "end" as alias for the last page
- replace_end = lambda page: (
- max_page if page.lower() == 'end' else int(page))
-diff --git a/staplelib/tests.py b/staplelib/tests.py
-index 4d59153..3350dfc 100755
---- a/staplelib/tests.py
-+++ b/staplelib/tests.py
-@@ -5,7 +5,7 @@ import shutil
- import tempfile
- import unittest
-
--from PyPDF2 import PdfFileReader
-+from PyPDF2 import PdfReader
-
- from staplelib import main, CommandError
-
-@@ -38,40 +38,40 @@ class TestStapler(unittest.TestCase):
- self.outputfile])
- self.assertTrue(os.path.isfile(self.outputfile))
- with open(self.outputfile, 'rb') as outputfile:
-- pdf = PdfFileReader(outputfile)
-- self.assertEqual(pdf.getNumPages(), 6)
-+ pdf = PdfReader(outputfile)
-+ self.assertEqual(len(pdf.pages), 6)
-
- def test_sel_one_page(self):
- """Test select of a one page from a PDF file."""
- run_stapler(['sel', 'A=' + FIVEPAGE_PDF, 'A2', self.outputfile])
- self.assertTrue(os.path.isfile(self.outputfile))
- with open(self.outputfile, 'rb') as outputfile:
-- pdf = PdfFileReader(outputfile)
-- self.assertEqual(pdf.getNumPages(), 1)
-+ pdf = PdfReader(outputfile)
-+ self.assertEqual(len(pdf.pages), 1)
-
- def test_sel_range(self):
- """Test select of more pages from a PDF file."""
- run_stapler(['cat', 'A=' + FIVEPAGE_PDF, 'A2-4', self.outputfile])
- self.assertTrue(os.path.isfile(self.outputfile))
- with open(self.outputfile, 'rb') as outputfile:
-- pdf = PdfFileReader(outputfile)
-- self.assertEqual(pdf.getNumPages(), 3)
-+ pdf = PdfReader(outputfile)
-+ self.assertEqual(len(pdf.pages), 3)
-
- def test_del_one_page(self):
- """Test del command for inverse select of one page."""
- run_stapler(['del', 'A=' + FIVEPAGE_PDF, 'A1', self.outputfile])
- self.assertTrue(os.path.isfile(self.outputfile))
- with open(self.outputfile, 'rb') as outputfile:
-- pdf = PdfFileReader(outputfile)
-- self.assertEqual(pdf.getNumPages(), 4)
-+ pdf = PdfReader(outputfile)
-+ self.assertEqual(len(pdf.pages), 4)
-
- def test_del_range(self):
- """Test del command for inverse select multiple pages."""
- run_stapler(['del', 'A=' + FIVEPAGE_PDF, 'A2-4', self.outputfile])
- self.assertTrue(os.path.isfile(self.outputfile))
- with open(self.outputfile, 'rb') as outputfile:
-- pdf = PdfFileReader(outputfile)
-- self.assertEqual(pdf.getNumPages(), 2)
-+ pdf = PdfReader(outputfile)
-+ self.assertEqual(len(pdf.pages), 2)
-
- def test_split(self):
- """Make sure a file is properly split into pages."""
-@@ -81,24 +81,24 @@ class TestStapler(unittest.TestCase):
- self.assertEqual(len(filelist), 5)
- for f in os.listdir(self.tmpdir):
- with open(os.path.join(self.tmpdir, f), 'rb') as pdf_file:
-- pdf = PdfFileReader(pdf_file)
-- self.assertEqual(pdf.getNumPages(), 1)
-+ pdf = PdfReader(pdf_file)
-+ self.assertEqual(len(pdf.pages), 1)
-
- def test_background(self):
- """Test background."""
- run_stapler(['background', ONEPAGE_PDF, FIVEPAGE_PDF, self.outputfile])
- self.assertTrue(os.path.isfile(self.outputfile))
- with open(self.outputfile, 'rb') as outputfile:
-- pdf = PdfFileReader(outputfile)
-- self.assertEqual(pdf.getNumPages(), 5)
-+ pdf = PdfReader(outputfile)
-+ self.assertEqual(len(pdf.pages), 5)
-
- def test_zip(self):
- """Test zip."""
- run_stapler(['zip', ONEPAGE_PDF, FIVEPAGE_PDF, self.outputfile])
- self.assertTrue(os.path.isfile(self.outputfile))
- with open(self.outputfile, 'rb') as outputfile:
-- pdf = PdfFileReader(outputfile)
-- self.assertEqual(pdf.getNumPages(), 6)
-+ pdf = PdfReader(outputfile)
-+ self.assertEqual(len(pdf.pages), 6)
-
- def test_output_file_already_exists(self):
- """Test zip."""
---
-2.39.0
-
diff --git a/dev-python/stapler/files/stapler-1.0.0_p20220330-use-poetry-core-backend-for-PEP517.patch b/dev-python/stapler/files/stapler-1.0.0_p20220330-use-poetry-core-backend-for-PEP517.patch
deleted file mode 100644
index 276df746791f..000000000000
--- a/dev-python/stapler/files/stapler-1.0.0_p20220330-use-poetry-core-backend-for-PEP517.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 3907d86f515ff0e9f042df7111515205e9abaa11 Mon Sep 17 00:00:00 2001
-From: Ben Kohler <bkohler@gentoo.org>
-Date: Thu, 26 May 2022 13:33:38 -0500
-Subject: [PATCH 1/2] pyproject.toml: use poetry-core backend for PEP517
-
-Per poetry upstream, "If your pyproject.toml file still references
-poetry directly as a build backend, you should update it to reference
-poetry-core instead."
-
-https://python-poetry.org/docs/pyproject/#poetry-and-pep-517
-https://projects.gentoo.org/python/guide/distutils.html#deprecated-pep-517-backends
-
-Signed-off-by: Ben Kohler <bkohler@gentoo.org>
----
- pyproject.toml | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/pyproject.toml b/pyproject.toml
-index efa98ea..d34823e 100644
---- a/pyproject.toml
-+++ b/pyproject.toml
-@@ -28,5 +28,5 @@ pdf-stapler = 'staplelib:main'
-
- # this section is for PEP517 compliance. It is technically unnecessary if using Poetry
- [build-system]
--requires = ["poetry>=1.0"]
--build-backend = "poetry.masonry.api"
-+requires = ["poetry-core>=1.0.0"]
-+build-backend = "poetry.core.masonry.api"
---
-2.39.0
-
diff --git a/dev-python/stapler/metadata.xml b/dev-python/stapler/metadata.xml
deleted file mode 100644
index 94829933b887..000000000000
--- a/dev-python/stapler/metadata.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>bkohler@gentoo.org</email>
- <name>Ben Kohler</name>
- </maintainer>
- <stabilize-allarches/>
- <upstream>
- <remote-id type="github">hellerbarde/stapler</remote-id>
- <remote-id type="pypi">stapler</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/stapler/stapler-1.0.0_p20220330-r4.ebuild b/dev-python/stapler/stapler-1.0.0_p20220330-r4.ebuild
deleted file mode 100644
index 79f28a49abef..000000000000
--- a/dev-python/stapler/stapler-1.0.0_p20220330-r4.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1
-
-EGIT_COMMIT="382f1edc62296e071093a5419811a2fca9d78d93"
-MY_P="${PN}-${EGIT_COMMIT}"
-DESCRIPTION="Suite of tools for PDF files manipulation written in Python"
-HOMEPAGE="
- https://github.com/hellerbarde/stapler/
- https://pypi.org/project/stapler/
-"
-SRC_URI="
- https://github.com/hellerbarde/stapler/archive/${EGIT_COMMIT}.tar.gz
- -> ${MY_P}.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-
-RDEPEND="
- dev-python/pypdf[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests unittest
-
-PATCHES=(
- "${FILESDIR}"/${P}-fix-tests-for-PyPDF2-2.x.patch
- "${FILESDIR}"/${P}-port-to-PyPDF2-3.0.0.patch
- "${FILESDIR}"/${P}-use-poetry-core-backend-for-PEP517.patch
- "${FILESDIR}"/${P}-PyPDF2-to-pypdf-r1.patch
-)