Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at devShellTools-shell 86 lines 2.5 kB view raw
1{ 2 lib, 3 stdenv, 4 fetchFromGitHub, 5 pcsclite, 6 boost, 7 pkg-config, 8 testers, 9 beidconnect, 10}: 11stdenv.mkDerivation (finalAttrs: { 12 pname = "beidconnect"; 13 version = "2.11"; 14 15 src = fetchFromGitHub { 16 owner = "Fedict"; 17 repo = "fts-beidconnect"; 18 rev = finalAttrs.version; 19 hash = "sha256-4eKO2yw2Ipfu1PvebgOR+BihsLlnWIJejGWqjztPA2I="; 20 }; 21 22 nativeBuildInputs = [ pkg-config ]; 23 24 buildInputs = [ 25 pcsclite.dev 26 boost 27 ]; 28 29 strictDeps = true; 30 31 postPatch = '' 32 substituteInPlace Makefile \ 33 --replace-fail '$(DESTDIR)/usr/bin' '$(DESTDIR)/bin' 34 ''; 35 36 makeFlags = [ "DESTDIR=$(out)" ]; 37 sourceRoot = "${finalAttrs.src.name}/linux"; 38 39 postInstall = '' 40 install -d \ 41 $out/etc/chromium/native-messaging-hosts \ 42 $out/etc/opt/chrome/native-messaging-hosts/ \ 43 $out/etc/opt/edge/native-messaging-hosts/ \ 44 $out/etc/opt/vivaldi/native-messaging-hosts/ \ 45 $out/etc/opt/brave/native-messaging-hosts/ \ 46 $out/lib/mozilla/native-messaging-hosts \ 47 48 $out/bin/beidconnect -setup $out/bin \ 49 $out/etc/chromium/native-messaging-hosts \ 50 $out/lib/mozilla/native-messaging-hosts 51 52 # Chrome 53 install $out/etc/chromium/native-messaging-hosts/be.bosa.beidconnect.json $out/etc/opt/chrome/native-messaging-hosts/ 54 55 # Edge 56 install $out/etc/chromium/native-messaging-hosts/be.bosa.beidconnect.json $out/etc/opt/edge/native-messaging-hosts/ 57 58 # Vivaldi 59 install $out/etc/chromium/native-messaging-hosts/be.bosa.beidconnect.json $out/etc/opt/vivaldi/native-messaging-hosts/ 60 61 # Brave 62 install $out/etc/chromium/native-messaging-hosts/be.bosa.beidconnect.json $out/etc/opt/brave/native-messaging-hosts/ 63 ''; 64 65 passthru.tests.version = testers.testVersion { 66 package = beidconnect; 67 command = "${beidconnect}/bin/beidconnect -version"; 68 }; 69 70 meta = { 71 description = "BeIDConnect native messaging component"; 72 longDescription = '' 73 The beidconnect is a program to help implementing digital signing services 74 and/or an identity service using the Belgian eID card. It provides 75 services to webbrowsers to read data from cards, and is intended to work 76 together with a WebExtension in the browser. 77 78 This package contains the native code. For the WebExtension, see your 79 webbrowser's extension store. 80 ''; 81 homepage = "https://github.com/Fedict/fts-beidconnect/"; 82 license = lib.licenses.mit; 83 maintainers = [ lib.maintainers.jovandeginste ]; 84 platforms = lib.platforms.linux; 85 }; 86})