pantry/projects/pcsclite.apdu.fr/package.yml
Jacob Heider 6d7d374a78 fix(pcsclite)
closes #6053
2024-05-03 15:29:14 -04:00

98 lines
2.2 KiB
YAML

distributable:
url: https://pcsclite.apdu.fr/files/pcsc-lite-{{ version }}.tar.xz
strip-components: 1
ref: v{{version}}}
display-name: pcsc-lite
versions:
url: https://pcsclite.apdu.fr/files/
match: /pcsc-lite-\d+(\.\d+)+\.tar/
strip:
- /pcsc-lite-/
- /\.tar/
dependencies:
libusb.info: ^1
linux:
systemd.io: ^254 # libudev
build:
dependencies:
cmake.org: ^3
mesonbuild.com: ^1
ninja-build.org: ^1
github.com/westes/flex: '*'
perl.org: ^5 # pod2man
script:
- run: |
./configure $ARGS
make install
cd '{{prefix}}/include'
mv PCSC/* .
rmdir PCSC
ln -s . PCSC
if: <2.2
# everything changes in 2.2
- run: |
meson setup . .. $MESON_ARGS
meson compile --verbose
# this tries to write to /sbin regardless of options;
# so we do it by hand
# meson install
mkdir -p '{{prefix}}'/{bin,include,lib/pkgconfig,sbin,share/man/man{1,8}}
# bin
cp ../src/spy/pcsc-spy '{{prefix}}/bin/pcscd-spy'
# include
cp pcsclite.h ../src/PCSC/*.h '{{prefix}}/include/'
ln -s . '{{prefix}}/include/PCSC'
# lib
if test "{{hw.platform}}" = "darwin"; then
cp libpcsc{lite,spy}.*dylib '{{prefix}}/lib/'
else
cp libpcsc{lite,spy}.so{,.?} '{{prefix}}/lib/'
fi
cp meson-private/libpcsclite.pc '{{prefix}}/lib/pkgconfig/'
# sbin
cp pcscd '{{prefix}}/sbin/pcscd'
# share
cp ../pcsc-spy.1 '{{prefix}}/share/man/man1/'
cp pcscd.8 '{{prefix}}/share/man/man8/'
working-directory: build
if: '>=2.2'
env:
ARGS:
- --disable-dependency-tracking
- --disable-silent-rules
- --prefix={{ prefix }}
- --sysconfdir=/etc
# TODO: freedesktop.org/polkit
- --disable-polkit
MESON_ARGS:
- --prefix={{prefix}}
- --sbindir={{prefix}}/sbin
- --buildtype=release
- -Dpolkit=false
linux:
LDFLAGS: $LDFLAGS -ldl
darwin:
ARGS:
- --disable-libsystemd
MESON_ARGS:
- -Dlibsystemd=false
- -Dlibudev=false
provides:
- bin/pcscd
test: pcscd --version