pantry/projects/gnupg.org/package.yml
Jacob Heider 05b6933b65 fix(gpg)
closes #6535
2024-06-28 12:05:05 -04:00

91 lines
2.4 KiB
YAML

distributable:
url: https://gnupg.org/ftp/gcrypt/gnupg/gnupg-{{version}}.tar.bz2
strip-components: 1
versions:
url: https://gnupg.org/ftp/gcrypt/gnupg/
match: /gnupg-(\d+\.\d+(\.\d+)?)\.tar\.bz2/
strip:
- /gnupg-/
- /.tar.bz2/
runtime:
env:
# allows us to be relocatable provided `gpgconf.ctl` exists alongside
# the `gpgconf` binary. NOTE causes warning messages on Darwin:
# error reading symlink '/proc/curproc/file': No such file or directory
# which seemingly cannot be avoided without a patch
GNUPG_BUILD_ROOT: '{{prefix}}'
dependencies:
zlib.net: ^1.1
sourceware.org/bzip2: '*'
gnupg.org/npth: '*'
gnupg.org/libgpg-error: '*'
gnupg.org/libksba: '*'
gnupg.org/libassuan: 2
gnupg.org/libgcrypt: '*'
gnupg.org/pinentry: '*'
gnutls.org: ^3
openldap.org: ^2
gnu.org/readline: ^8
sqlite.org: ^3
darwin: # nobody added a comment to say why this is Darwin only
gnu.org/gettext: ^0.21
build:
freedesktop.org/pkg-config: '*'
linux:
gnu.org/gcc: '*'
script:
- ./configure $ARGS
- make --jobs {{ hw.concurrency }}
- make --jobs {{ hw.concurrency }} install
# this makes the lookup machinery relocatable, see above
- cp props/gpgconf.ctl {{prefix}}/bin
- run: |
sed -i.bak "s|{{prefix}}|\$(dirname \$0)/..|g" gpg-wks-client
rm gpg-wks-client.bak
working-directory: '{{prefix}}/libexec'
- run: |
mkdir -p var/run etc/gnupg
chmod 700 etc/gnupg
working-directory: '{{prefix}}'
# nobody added a comment explaining why this conf is required
- run: cp props/gpg.conf {{prefix}}/etc/gnupg/gpg.conf
env:
ARGS:
- --prefix={{prefix}}
- --libdir={{prefix}}/lib
- --sysconfdir={{prefix}}/etc
- --disable-debug
- --disable-dependency-tracking
- --disable-silent-rules
- --with-pinentry-pgm={{deps.gnupg.org/pinentry.prefix}}/bin/pinentry
provides:
- bin/gpg
- bin/gpg-agent
- bin/gpg-connect-agent
- bin/gpg-wks-server
- bin/gpgconf
- bin/gpgparsemail
- bin/gpgscm
- bin/gpgsm
- bin/gpgsplit
- bin/gpgtar
- bin/gpgv
- bin/kbxutil
- bin/watchgnupg
test:
script:
- killall gpg-agent || true
- gpg --version | grep {{version}}
- gpg --quick-gen-key --batch --passphrase "" "Testing" default default never
- gpg --detach-sign test.txt
- gpg --verify test.txt.sig