Files
haikuports/app-crypt/gcr/gcr-3.41.1.recipe

146 lines
4.1 KiB
Bash

SUMMARY="A library for bits of crypto UI and parsing"
DESCRIPTION="GCR is a library for displaying certificates and crypto UI, accessing key stores. \
It also provides the viewer for crypto files on the GNOME desktop.
GCK is a library for accessing PKCS#11 modules like smart cards, in a (G)object oriented way."
HOMEPAGE="https://gitlab.gnome.org/GNOME/gcr"
COPYRIGHT="2010-2022 Stefan Walter
2010-2021 Collabora Ltd
2020 Marco Trevisan"
LICENSE="GNU LGPL v2.1"
REVISION="4"
SOURCE_URI="https://gitlab.gnome.org/GNOME/gcr/-/archive/$portVersion/gcr-$portVersion.tar.gz"
CHECKSUM_SHA256="f25de5063ffe6359c79f86d70a53c2d398db4e256e2de58c2a3bd2e8111b8f11"
PATCHES="gcr-$portVersion.patchset"
ADDITIONAL_FILES="compile-schemas.sh"
ARCHITECTURES="all !x86_gcc2"
SECONDARY_ARCHITECTURES="x86"
POST_INSTALL_SCRIPTS="
$relativePostInstallDir/compile-schemas.sh
"
PROVIDES="
gcr$secondaryArchSuffix = $portVersion compat >= 3
cmd:gcr_viewer$secondaryArchSuffix
cmd:gcr_ssh_askpass$secondaryArchSuffix
cmd:gcr_prompter$secondaryArchSuffix
lib:libgck_1$secondaryArchSuffix = 0.0.0 compat >= 0
lib:libgcr_3$secondaryArchSuffix = 1.0.0 compat >= 1
lib:libgcr_base_3$secondaryArchSuffix = 1.0.0 compat >= 1
lib:libgcr_ui_3$secondaryArchSuffix = 1.0.0 compat >= 1
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libcairo$secondaryArchSuffix
lib:libgcrypt$secondaryArchSuffix
lib:libgdk_3$secondaryArchSuffix
lib:libgdk_pixbuf_2.0$secondaryArchSuffix
lib:libgio_2.0$secondaryArchSuffix
lib:libgirepository_1.0$secondaryArchSuffix
lib:libglib_2.0$secondaryArchSuffix
lib:libgobject_2.0$secondaryArchSuffix
lib:libgtk_3$secondaryArchSuffix
lib:libintl$secondaryArchSuffix
lib:libp11_kit$secondaryArchSuffix
lib:libpango_1.0$secondaryArchSuffix
cmd:gpg
cmd:ssh_add
"
PROVIDES_devel="
gcr${secondaryArchSuffix}_devel = $portVersion compat >= 3
devel:libgck_1$secondaryArchSuffix = 0.0.0 compat >= 0
devel:libgcr_3$secondaryArchSuffix = 1.0.0 compat >= 1
devel:libgcr_base_3$secondaryArchSuffix = 1.0.0 compat >= 1
devel:libgcr_ui_3$secondaryArchSuffix = 1.0.0 compat >= 1
"
REQUIRES_devel="
gcr$secondaryArchSuffix == $portVersion base
devel:libcairo$secondaryArchSuffix
devel:libgcrypt$secondaryArchSuffix
devel:libgdk_3$secondaryArchSuffix
devel:libgdk_pixbuf_2.0$secondaryArchSuffix
devel:libgirepository_1.0$secondaryArchSuffix
devel:libgio_2.0$secondaryArchSuffix
devel:libglib_2.0$secondaryArchSuffix
devel:libgobject_2.0$secondaryArchSuffix
devel:libgtk_3$secondaryArchSuffix
devel:libintl$secondaryArchSuffix
devel:libp11_kit$secondaryArchSuffix
devel:libpango_1.0$secondaryArchSuffix
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
devel:libgcrypt$secondaryArchSuffix
devel:libgirepository_1.0$secondaryArchSuffix
devel:libglib_2.0$secondaryArchSuffix
devel:libgtk_3$secondaryArchSuffix
devel:libp11_kit$secondaryArchSuffix
devel:libxml2$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:find
cmd:gcc$secondaryArchSuffix
cmd:gpg
cmd:gtkdocize
cmd:ld$secondaryArchSuffix
cmd:meson
cmd:msgfmt
cmd:pkg_config$secondaryArchSuffix
cmd:ssh_add
cmd:vapigen
"
BUILD()
{
CFLAGS="-D_BSD_SOURCE" \
LDFLAGS="-lbsd -lgnu -lnetwork" \
meson build \
--buildtype=release \
--prefix="$prefix" \
--libdir="$libDir" \
--includedir="$includeDir" \
--bindir="$binDir" \
--libexecdir="$binDir" \
--datadir="$dataDir" \
--localedir="$dataDir/locale" \
-Dsystemd=disabled \
-Dssh_agent=false \
-Dgtk_doc=false \
-Dintrospection=true
ninja -C build
}
INSTALL()
{
ninja install -C build
# remove mime and schemas cache
rm -rf $dataDir/mime/{aliases,generic-icons,globs,globs2,icons,magic}
rm -rf $dataDir/mime/{mime.cache,subclasses,treemagic,types,version,XMLnamespaces}
rm -rf $dataDir/glib-2.0/schemas/gschemas.compiled
rm -rf $dataDir/icons/hicolor/icon-theme.cache
# copy postinstall script
mkdir -p $postInstallDir
cp -f $portDir/additional-files/compile-schemas.sh $postInstallDir
chmod -v a+rx $postInstallDir/compile-schemas.sh
prepareInstalledDevelLibs \
libgcr-3 \
libgcr-base-3 \
libgcr-ui-3 \
libgck-1
ln -s $developLibDir/libgcr-3.so.* $libDir
fixPkgconfig
# devel package
packageEntries devel \
$developDir
}