summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbill-auger <mr.j.spam.me@gmail.com>2022-09-29 11:11:45 -0400
committerbill-auger <mr.j.spam.me@gmail.com>2022-09-29 11:59:30 -0400
commit4ba032a04a2b4488ee41b462ef1ba0c0902302d7 (patch)
treed2e74fba7ea3c4bcdf3f77ee091e1c1950b507f5
parent72876c4debfc08053f20432cabc34edd4a7845bc (diff)
[cups-filters]: upgrade to v1.28.16
-rw-r--r--libre/cups-filters/PKGBUILD63
1 files changed, 53 insertions, 10 deletions
diff --git a/libre/cups-filters/PKGBUILD b/libre/cups-filters/PKGBUILD
index 280af8094..c05d4c3a0 100644
--- a/libre/cups-filters/PKGBUILD
+++ b/libre/cups-filters/PKGBUILD
@@ -10,28 +10,66 @@
pkgname=cups-filters
-pkgver=1.28.10
-pkgrel=1
+pkgver=1.28.16
+pkgrel=2
pkgrel+=.parabola1
pkgdesc="OpenPrinting CUPS Filters"
-pkgdesc+=", without foomatic-db-nonfree recommendation"
arch=('x86_64')
arch+=('armv7h' 'i686')
url="https://wiki.linuxfoundation.org/openprinting/cups-filters"
license=('custom')
-depends=('lcms2' 'poppler' 'qpdf' 'imagemagick' 'liblouis' 'ijs' 'libcups>=2.2.6-2' 'systemd')
+depends=('lcms2' 'poppler' 'qpdf' 'ijs' 'libcups>=2.2.6-2' 'systemd' 'libexif')
depends=( ${depends[@]/systemd/udev} )
-depends+=(libpoppler.so libpoppler-cpp.so)
-makedepends=('ghostscript' 'ttf-dejavu' 'python' 'mupdf-tools') # ttf-dejavu for make check
+makedepends=('ghostscript' 'python' 'mupdf-tools' 'liblouis')
makedepends_i686=('pkgconf')
optdepends=('ghostscript: for non-PostScript printers to print with CUPS to convert PostScript to raster images'
'foomatic-db: drivers use Ghostscript to convert PostScript to a printable form directly'
'foomatic-db-engine: drivers use Ghostscript to convert PostScript to a printable form directly'
- 'antiword: to convert MS Word documents'
- 'docx2txt: to convert Microsoft OOXML text from DOCX files')
+ 'imagemagick: for Braille embosser support'
+ 'liblouis: for Braille embosser support'
+ 'antiword: to convert MS Word documents for Braille embosser support'
+ 'docx2txt: to convert Microsoft OOXML text from DOCX files for Braille embosser support')
backup=(etc/cups/cups-browsed.conf)
source=(https://www.openprinting.org/download/cups-filters/$pkgname-$pkgver.tar.xz)
-sha256sums=('cf8c904694c44cf689b5724e46d23da9ae5125d54374b340c642077cc29ca837')
+sha256sums=('3a400bfa751da2020775cd7d48d1647448551ff051f9345abc1df6357b199ac0')
+
+_SHOULD_SKIP_CHECK=0 # check() requires networking
+
+
+_version_constraint() # (dep_pkgname [precision])
+{
+ local dep_pkgname=$1
+ local req_precision=$2
+ local full_version=$(pacman -S --print-format='%v' ${dep_pkgname} | tail -n 1)
+ local n_dots=$(tmp=${full_version%-*} ; tmp=${tmp//[^\.]} ; echo "${#tmp}" ;)
+ local def_precision=$(( n_dots + 1 ))
+ local is_reqprecision_valid=$( [[ "${req_precision}" =~ ^[1-${def_precision}]$ ]] && echo 1 || echo 0 )
+ local precision=$( (( is_reqprecision_valid )) && echo ${req_precision} || echo ${def_precision} )
+ local pkgver_rx='[^-\.\ ]+'
+ local subver_rx='\.'${pkgver_rx}
+ local pkgrel_rx='[^-\ ]+'
+ local capture_rx=${pkgver_rx}
+ for (( n_dots=1 ; n_dots < precision ; ++n_dots )) ; do capture_rx+=${subver_rx} ; done ;
+
+ if [[ "${full_version}" =~ ^(${capture_rx})(${subver_rx})*-(${pkgrel_rx})$ ]]
+ then local version=${BASH_REMATCH[1]}
+ local pkgrel=${BASH_REMATCH[3]%%.*}
+ local subver_inc=$(( ${version##*.} + 1 )) # right-trims from any non-numeric
+ local pkgrel_inc=$(( pkgrel + 1 ))
+ local version_min=$( (( ! is_reqprecision_valid )) && echo ${full_version%-*}-${pkgrel} || \
+ echo ${version} )
+ local version_max=$( ( (( ! is_reqprecision_valid )) && echo ${full_version%-*}-${pkgrel_inc} ) || \
+ ( [[ "${version}" =~ \. ]] && echo ${version%.*}.${subver_inc} ) || \
+ echo ${subver_inc} )
+ local constraint_string="${dep_pkgname}>=${version_min} ${dep_pkgname}<${version_max}"
+
+ echo "applied version constraint: '${constraint_string}'" >&2
+ else echo "ERROR: _version_constraint() error parsing: dep_pkgname='${dep_pkgname}' full_version='${full_version}'" >&2
+ exit 1
+ fi
+
+ echo -n "${constraint_string}"
+}
build() {
cd "$pkgname"-$pkgver
@@ -42,18 +80,23 @@ build() {
--with-rcdir=no \
--enable-avahi \
--with-browseremoteprotocols=DNSSD,CUPS \
- --enable-auto-setup-driverless \
--with-test-font-path=/usr/share/fonts/TTF/DejaVuSans.ttf
sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
make
}
check() {
+ (( _SHOULD_SKIP_CHECK )) && return || :
+
cd "$pkgname"-$pkgver
make check
}
package() {
+ # pin to strongly-coupled dependency versions
+ depends=( ${depends[*]/qpdf/} $(_version_constraint qpdf 1) )
+ depends+=( libpoppler.so libpoppler-cpp.so )
+
cd "$pkgname"-$pkgver
make DESTDIR="$pkgdir/" install