Florian Klink bd2b8cc4a1 libdigidoc: add myself as maintainer
I'd like to get notifications for bumps of this, considering it's used
in qdigidoc, a package I maintain.
2025-08-03 22:01:48 +02:00

81 lines
1.7 KiB
Nix

{
lib,
stdenv,
fetchFromGitHub,
cmake,
libtool,
libxml2,
minizip,
pcsclite,
opensc,
openssl,
pkg-config,
zlib,
xmlsec,
xxd,
}:
stdenv.mkDerivation rec {
version = "4.2.0";
pname = "libdigidocpp";
src = fetchFromGitHub {
owner = "open-eid";
repo = "libdigidocpp";
tag = "v${version}";
hash = "sha256-o/2hF82uRaBDp7I9urn8R6r9YQMkp241M1v92qD66NM=";
};
nativeBuildInputs = [
cmake
pkg-config
xxd
];
buildInputs = [
libxml2
minizip
pcsclite
opensc
openssl
zlib
xmlsec
];
outputs = [
"out"
"lib"
"dev"
"bin"
];
cmakeFlags = [
(lib.cmakeFeature "PKCS11_MODULE" "${lib.getLib opensc}/lib/opensc-pkcs11.so")
];
# This wants to link to ${CMAKE_DL_LIBS} (ltdl), and there doesn't seem to be
# a way to tell CMake where this should be pulled from.
# A cleaner fix would probably be to patch cmake to use
# `-L${libtool.lib}/lib -ltdl` for `CMAKE_DL_LIBS`, but that's a world rebuild.
env.NIX_LDFLAGS = "-L${libtool.lib}/lib";
# Prevent cmake from creating a file that sets INTERFACE_INCLUDE_DIRECTORIES to the wrong location,
# causing downstream build failures.
postFixup = ''
sed '/^ INTERFACE_INCLUDE_DIRECTORIES/s|"[^"]*/include"|"${placeholder "dev"}/include"|' \
-i "$dev"/lib/cmake/libdigidocpp/libdigidocpp-config.cmake
'';
meta = with lib; {
description = "Library for creating DigiDoc signature files";
mainProgram = "digidoc-tool";
homepage = "https://www.id.ee/";
license = licenses.lgpl21Plus;
platforms = platforms.linux;
maintainers = [
maintainers.flokli
maintainers.jagajaga
];
};
}