Files
haikuports/app-text/psutils/psutils-3.3.9.recipe
2025-03-16 17:53:22 +01:00

88 lines
2.1 KiB
Bash

SUMMARY="Utilities for manipulating PostScript documents"
DESCRIPTION="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."
HOMEPAGE="https://github.com/rrthomas/psutils"
COPYRIGHT="2023-2024 Reuben Thomas"
LICENSE="GNU GPL v3"
REVISION="1"
SOURCE_URI="https://github.com/rrthomas/psutils/releases/download/v$portVersion/psutils-$portVersion.tar.gz"
CHECKSUM_SHA256="12bfde60145846e6aaae9eead8c5f0c4a959528cd171727b6ff7044da5d7e57c"
ARCHITECTURES="any"
PROVIDES="
psutils = $portVersion
cmd:epsffit
cmd:extractres
cmd:includeres
cmd:psbook
cmd:psjoin
cmd:psnup
cmd:psresize
cmd:psselect
cmd:pstops
"
REQUIRES="
haiku
cmd:paper
cmd:python3
puremagic_python310
pypdf_python310
"
BUILD_REQUIRES="
haiku_devel
argparse_manpage_python310
build_python310
installer_python310
puremagic_python310
pypdf_python310
pytest_datafiles_python310
setuptools_python310
wand_python310
wheel_python310
"
BUILD_PREREQUIRES="
cmd:paper
cmd:python3
"
TEST_REQUIRES="
cmd:gs
"
BUILD()
{
# workaround for missing paperspecs config file in haikuporter chroot
echo A4,210,297,mm > $(finddir B_SYSTEM_SETTINGS_DIRECTORY)/paperspecs
rm -rf build
python3 -m build --wheel --no-isolation
}
INSTALL()
{
python3 -m installer -p $prefix dist/*.whl
}
TEST()
{
# workaround for missing paperspecs config file in haikuporter chroot
# these are the paper formats that are used in tests
cat <<- EOF > $(finddir B_SYSTEM_SETTINGS_DIRECTORY)/paperspecs
A4,210,297,mm
Letter,8.5,11,in
A5,148,210,mm
A3,297,420,mm
Tabloid,11,17,in
EOF
python3 -m pytest
}