Hi.

psutils has been rewritten from Perl to Python.
It requires 3 new dependencies (attached to this mail):

devel/py-test-datafiles
print/py-pypdf
textproc/argparse-manpage

Comments/OK?

Index: Makefile
===================================================================
RCS file: /cvs/ports/print/psutils/Makefile,v
retrieving revision 1.59
diff -u -p -r1.59 Makefile
--- Makefile    5 May 2023 10:28:43 -0000       1.59
+++ Makefile    27 May 2023 09:36:21 -0000
@@ -1,9 +1,7 @@
-PKG_ARCH=      *
+COMMENT=       manipulate PDF and PostScript documents
 
-COMMENT=       utilities for manipulating PostScript documents
-
-V=             2.10
-DISTNAME=      psutils-${V}
+MODPY_EGG_VERSION=     3.0
+DISTNAME=      psutils-${MODPY_EGG_VERSION}
 
 CATEGORIES=    print
 
@@ -11,22 +9,25 @@ HOMEPAGE=    https://github.com/rrthomas/ps
 
 MAINTAINER=    Antoine Jacoutot <ajacou...@openbsd.org>
 
-# BSD-like (${WRKSRC}/LICENSE)
+# GPLv3+
 PERMIT_PACKAGE=        Yes
 
-MASTER_SITES=  https://github.com/rrthomas/psutils/releases/download/v${V}/
-
-MODULES=       perl
+MASTER_SITES=  
https://github.com/rrthomas/psutils/releases/download/v${MODPY_EGG_VERSION}/
 
-BUILD_DEPENDS= print/libpaper
+MODULES=       lang/python
 
-RUN_DEPENDS=   devel/p5-IPC-Run3 \
-               print/libpaper
+MODPY_PYBUILD= setuptools
 
-USE_GMAKE=     Yes
+BUILD_DEPENDS= devel/py-puremagic${MODPY_FLAVOR} \
+               devel/py-test-datafiles${MODPY_FLAVOR} \
+               print/libpaper \
+               print/py-pypdf${MODPY_FLAVOR} \
+               textproc/argparse-manpage
 
-CONFIGURE_STYLE=gnu
+RUN_DEPENDS=   devel/py-puremagic${MODPY_FLAVOR} \
+               print/libpaper \
+               print/py-pypdf${MODPY_FLAVOR}
 
-NO_TEST=       Yes
+FIX_EXTRACT_PERMISSIONS=       Yes
 
 .include <bsd.port.mk>
Index: distinfo
===================================================================
RCS file: /cvs/ports/print/psutils/distinfo,v
retrieving revision 1.17
diff -u -p -r1.17 distinfo
--- distinfo    4 May 2023 18:01:47 -0000       1.17
+++ distinfo    27 May 2023 09:36:21 -0000
@@ -1,2 +1,2 @@
-SHA256 (psutils-2.10.tar.gz) = b4M5/VMi31x4K/s1XZ+J5RM1MiD8oHAKWih3VATX6Ys=
-SIZE (psutils-2.10.tar.gz) = 1220245
+SHA256 (psutils-3.0.tar.gz) = DSI/oVZh1Op27D4i4o0hJu1x5eSlPo7yRqqiHPj3aqU=
+SIZE (psutils-3.0.tar.gz) = 47131
Index: pkg/DESCR
===================================================================
RCS file: /cvs/ports/print/psutils/pkg/DESCR,v
retrieving revision 1.6
diff -u -p -r1.6 DESCR
--- pkg/DESCR   2 Nov 2013 08:38:58 -0000       1.6
+++ pkg/DESCR   27 May 2023 09:36:21 -0000
@@ -1,2 +1,11 @@
-PSUtils is a suite of utilities for manipulating PostScript documents
-produced according to the Document Structuring Conventions.
+PSUtils is a suite of utilities for manipulating PDF and PostScript documents.
+You can select and rearrange pages, including arrangement into signatures for
+booklet printing, combine multple pages into a single page for n-up printing,
+and resize, flip and rotate pages.
+
+PostScript files should conform to the PostScript Document Structuring
+Conventions (DSC); however, PSUtils intentionally does not check this, as some
+programs produce non-conforming output that can be successfully processed
+anyway.
+If PSUtils does not work for you, check whether your software needs to be
+configured to produce DSC-conformant PostScript.
Index: pkg/PLIST
===================================================================
RCS file: /cvs/ports/print/psutils/pkg/PLIST,v
retrieving revision 1.15
diff -u -p -r1.15 PLIST
--- pkg/PLIST   11 Mar 2022 19:51:07 -0000      1.15
+++ pkg/PLIST   27 May 2023 09:36:21 -0000
@@ -11,6 +11,71 @@ bin/psnup
 bin/psresize
 bin/psselect
 bin/pstops
+lib/python${MODPY_VERSION}/site-packages/psutils/
+lib/python${MODPY_VERSION}/site-packages/psutils-3.0.dist-info/
+lib/python${MODPY_VERSION}/site-packages/psutils-3.0.dist-info/COPYING
+lib/python${MODPY_VERSION}/site-packages/psutils-3.0.dist-info/METADATA
+lib/python${MODPY_VERSION}/site-packages/psutils-3.0.dist-info/RECORD
+lib/python${MODPY_VERSION}/site-packages/psutils-3.0.dist-info/WHEEL
+lib/python${MODPY_VERSION}/site-packages/psutils-3.0.dist-info/entry_points.txt
+lib/python${MODPY_VERSION}/site-packages/psutils-3.0.dist-info/top_level.txt
+lib/python${MODPY_VERSION}/site-packages/psutils/__init__.py
+${MODPY_COMMENT}lib/python${MODPY_VERSION}/site-packages/psutils/${MODPY_PYCACHE}/
+lib/python${MODPY_VERSION}/site-packages/psutils/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/psutils/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/psutils/${MODPY_PYCACHE}argparse.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/psutils/${MODPY_PYCACHE}argparse.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/psutils/${MODPY_PYCACHE}io.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/psutils/${MODPY_PYCACHE}io.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/psutils/${MODPY_PYCACHE}libpaper.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/psutils/${MODPY_PYCACHE}libpaper.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/psutils/${MODPY_PYCACHE}psresources.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/psutils/${MODPY_PYCACHE}psresources.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/psutils/${MODPY_PYCACHE}readers.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/psutils/${MODPY_PYCACHE}readers.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/psutils/${MODPY_PYCACHE}transformers.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/psutils/${MODPY_PYCACHE}transformers.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/psutils/${MODPY_PYCACHE}types.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/psutils/${MODPY_PYCACHE}types.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/psutils/${MODPY_PYCACHE}warnings.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/psutils/${MODPY_PYCACHE}warnings.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/psutils/argparse.py
+lib/python${MODPY_VERSION}/site-packages/psutils/command/
+${MODPY_COMMENT}lib/python${MODPY_VERSION}/site-packages/psutils/command/${MODPY_PYCACHE}/
+lib/python${MODPY_VERSION}/site-packages/psutils/command/${MODPY_PYCACHE}epsffit.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/psutils/command/${MODPY_PYCACHE}epsffit.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/psutils/command/${MODPY_PYCACHE}extractres.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/psutils/command/${MODPY_PYCACHE}extractres.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/psutils/command/${MODPY_PYCACHE}includeres.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/psutils/command/${MODPY_PYCACHE}includeres.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/psutils/command/${MODPY_PYCACHE}psbook.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/psutils/command/${MODPY_PYCACHE}psbook.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/psutils/command/${MODPY_PYCACHE}psjoin.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/psutils/command/${MODPY_PYCACHE}psjoin.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/psutils/command/${MODPY_PYCACHE}psnup.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/psutils/command/${MODPY_PYCACHE}psnup.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/psutils/command/${MODPY_PYCACHE}psresize.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/psutils/command/${MODPY_PYCACHE}psresize.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/psutils/command/${MODPY_PYCACHE}psselect.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/psutils/command/${MODPY_PYCACHE}psselect.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/psutils/command/${MODPY_PYCACHE}pstops.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/psutils/command/${MODPY_PYCACHE}pstops.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/psutils/command/epsffit.py
+lib/python${MODPY_VERSION}/site-packages/psutils/command/extractres.py
+lib/python${MODPY_VERSION}/site-packages/psutils/command/includeres.py
+lib/python${MODPY_VERSION}/site-packages/psutils/command/psbook.py
+lib/python${MODPY_VERSION}/site-packages/psutils/command/psjoin.py
+lib/python${MODPY_VERSION}/site-packages/psutils/command/psnup.py
+lib/python${MODPY_VERSION}/site-packages/psutils/command/psresize.py
+lib/python${MODPY_VERSION}/site-packages/psutils/command/psselect.py
+lib/python${MODPY_VERSION}/site-packages/psutils/command/pstops.py
+lib/python${MODPY_VERSION}/site-packages/psutils/io.py
+lib/python${MODPY_VERSION}/site-packages/psutils/libpaper.py
+lib/python${MODPY_VERSION}/site-packages/psutils/psresources.py
+lib/python${MODPY_VERSION}/site-packages/psutils/readers.py
+lib/python${MODPY_VERSION}/site-packages/psutils/transformers.py
+lib/python${MODPY_VERSION}/site-packages/psutils/types.py
+lib/python${MODPY_VERSION}/site-packages/psutils/warnings.py
 @man man/man1/epsffit.1
 @man man/man1/extractres.1
 @man man/man1/includeres.1
@@ -21,5 +86,3 @@ bin/pstops
 @man man/man1/psselect.1
 @man man/man1/pstops.1
 @man man/man1/psutils.1
-share/psutils/
-share/psutils/PSUtils.pm



-- 
Antoine

Attachment: print_py-pypdf.tar.gz
Description: application/tar-gz

Attachment: devel_py-test-datafiles.tar.gz
Description: application/tar-gz

Attachment: textproc_argparse-manpage.tar.gz
Description: application/tar-gz

Reply via email to