anvil-editor: init at 0.4
[NixPkgs.git] / pkgs / applications / networking / browsers / lagrange / default.nix
blobc91d9d1fe91cb061c0bcffa6c2b432f7e9e7fa8f
2   stdenv,
3   lib,
4   fetchFromGitHub,
5   nix-update-script,
6   cmake,
7   pkg-config,
8   fribidi,
9   harfbuzz,
10   libogg,
11   libwebp,
12   mpg123,
13   opusfile,
14   SDL2,
15   the-foundation,
16   AppKit,
17   zip,
18   enableTUI ? false,
19   ncurses,
20   sealcurses,
23 stdenv.mkDerivation (finalAttrs: {
24   pname = "lagrange";
25   version = "1.18.3";
27   src = fetchFromGitHub {
28     owner = "skyjake";
29     repo = "lagrange";
30     rev = "v${finalAttrs.version}";
31     hash = "sha256-ewpSZD+pCr6gbzT+4lW2+6tssPNLq4rqgUx7p8IsjIY=";
32   };
34   nativeBuildInputs = [
35     cmake
36     pkg-config
37     zip
38   ];
40   buildInputs =
41     [
42       the-foundation
43       fribidi
44       harfbuzz
45       libogg
46       libwebp
47       mpg123
48       opusfile
49       SDL2
50     ]
51     ++ lib.optionals enableTUI [
52       ncurses
53       sealcurses
54     ]
55     ++ lib.optional stdenv.hostPlatform.isDarwin AppKit;
57   cmakeFlags = [
58     (lib.cmakeBool "ENABLE_TUI" enableTUI)
59     (lib.cmakeFeature "CMAKE_INSTALL_DATAROOTDIR" "${placeholder "out"}/share")
60   ];
62   installPhase =
63     lib.optionalString stdenv.hostPlatform.isDarwin ''
64       mkdir -p $out/Applications
65       mv Lagrange.app $out/Applications
66     ''
67     + lib.optionalString (stdenv.hostPlatform.isDarwin && enableTUI) ''
68       # https://github.com/skyjake/lagrange/issues/610
69       make install
70       install -d $out/share/lagrange
71       ln -s $out/Applications/Lagrange.app/Contents/Resources/resources.lgr $out/share/lagrange/resources.lgr
72     '';
74   passthru = {
75     updateScript = nix-update-script { };
76   };
78   meta = {
79     description = "Beautiful Gemini Client";
80     homepage = "https://gmi.skyjake.fi/lagrange/";
81     license = lib.licenses.bsd2;
82     maintainers = with lib.maintainers; [ sikmir ];
83     platforms = lib.platforms.unix;
84   };