nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 stdenv,
4 fetchFromGitHub,
5 testers,
6 cmake,
7 pkg-config,
8 wrapQtAppsHook,
9 pcsclite,
10 qtscxml,
11 qtsvg,
12 qttools,
13 qtwayland,
14 qtwebsockets,
15 gitUpdater,
16}:
17stdenv.mkDerivation (finalAttrs: {
18 pname = "ausweisapp";
19 version = "2.3.2";
20
21 src = fetchFromGitHub {
22 owner = "Governikus";
23 repo = "AusweisApp2";
24 rev = finalAttrs.version;
25 hash = "sha256-xY5V5Z6HVtkFzLzWOVRTKdms356OO0EKnG+Nymurowo=";
26 };
27
28 nativeBuildInputs = [
29 cmake
30 pkg-config
31 wrapQtAppsHook
32 ];
33
34 # The build scripts copy the entire translations directory from Qt
35 # which ends up being read-only because it's in the store.
36 preBuild = ''
37 chmod +w resources/translations
38 '';
39
40 buildInputs = [
41 pcsclite
42 qtscxml
43 qtsvg
44 qttools
45 qtwayland
46 qtwebsockets
47 ];
48
49 passthru = {
50 tests.version = testers.testVersion {
51 package = finalAttrs.finalPackage;
52 command = "QT_QPA_PLATFORM=offscreen ${finalAttrs.meta.mainProgram} --version";
53 };
54 updateScript = gitUpdater { };
55 };
56
57 meta = {
58 description = "Official authentication app for German ID card and residence permit";
59 downloadPage = "https://github.com/Governikus/AusweisApp2/releases";
60 homepage = "https://www.ausweisapp.bund.de/open-source-software";
61 license = lib.licenses.eupl12;
62 mainProgram = "AusweisApp";
63 maintainers = with lib.maintainers; [ b4dm4n ];
64 platforms = lib.platforms.linux;
65 };
66})