From 3b4f6ef9686d462fc8986d835ee6fad5604e3c48 Mon Sep 17 00:00:00 2001 From: Jo Vandeginste Date: Sun, 18 Aug 2024 15:36:31 +0200 Subject: [PATCH] beidconnect: init at 2.10 Signed-off-by: Jo Vandeginste --- pkgs/by-name/be/beidconnect/package.nix | 86 +++++++++++++++++++++++++ 1 file changed, 86 insertions(+) create mode 100644 pkgs/by-name/be/beidconnect/package.nix diff --git a/pkgs/by-name/be/beidconnect/package.nix b/pkgs/by-name/be/beidconnect/package.nix new file mode 100644 index 000000000000..5acd92acefab --- /dev/null +++ b/pkgs/by-name/be/beidconnect/package.nix @@ -0,0 +1,86 @@ +{ + lib, + stdenv, + fetchFromGitHub, + pcsclite, + boost, + pkg-config, + testers, + beidconnect, +}: +stdenv.mkDerivation (finalAttrs: { + pname = "beidconnect"; + version = "2.10"; + + src = fetchFromGitHub { + owner = "Fedict"; + repo = "fts-beidconnect"; + rev = finalAttrs.version; + hash = "sha256-xkBldXOlgLMgrvzm7ajXzJ92mpXrxHD1RX4DeBxU3kk="; + }; + + nativeBuildInputs = [ pkg-config ]; + + buildInputs = [ + pcsclite.dev + boost + ]; + + strictDeps = true; + + postPatch = '' + substituteInPlace Makefile \ + --replace-fail '$(DESTDIR)/usr/bin' '$(DESTDIR)/bin' + ''; + + makeFlags = [ "DESTDIR=$(out)" ]; + sourceRoot = "${finalAttrs.src.name}/linux"; + + postInstall = '' + install -d \ + $out/etc/chromium/native-messaging-hosts \ + $out/etc/opt/chrome/native-messaging-hosts/ \ + $out/etc/opt/edge/native-messaging-hosts/ \ + $out/etc/opt/vivaldi/native-messaging-hosts/ \ + $out/etc/opt/brave/native-messaging-hosts/ \ + $out/lib/mozilla/native-messaging-hosts \ + + $out/bin/beidconnect -setup $out/bin \ + $out/etc/chromium/native-messaging-hosts \ + $out/lib/mozilla/native-messaging-hosts + + # Chrome + install $out/etc/chromium/native-messaging-hosts/be.bosa.beidconnect.json $out/etc/opt/chrome/native-messaging-hosts/ + + # Edge + install $out/etc/chromium/native-messaging-hosts/be.bosa.beidconnect.json $out/etc/opt/edge/native-messaging-hosts/ + + # Vivaldi + install $out/etc/chromium/native-messaging-hosts/be.bosa.beidconnect.json $out/etc/opt/vivaldi/native-messaging-hosts/ + + # Brave + install $out/etc/chromium/native-messaging-hosts/be.bosa.beidconnect.json $out/etc/opt/brave/native-messaging-hosts/ + ''; + + passthru.tests.version = testers.testVersion { + package = beidconnect; + command = "${beidconnect}/bin/beidconnect -version"; + }; + + meta = { + description = "BeIDConnect native messaging component"; + longDescription = '' + The beidconnect is a program to help implementing digital signing services + and/or an identity service using the Belgian eID card. It provides + services to webbrowsers to read data from cards, and is intended to work + together with a WebExtension in the browser. + + This package contains the native code. For the WebExtension, see your + webbrowser's extension store. + ''; + homepage = "https://github.com/Fedict/fts-beidconnect/"; + license = lib.licenses.mit; + maintainers = [ lib.maintainers.jovandeginste ]; + platforms = lib.platforms.linux; + }; +})