nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 stdenv,
4 fetchFromGitHub,
5 cmake,
6 cmark,
7 git,
8 libssh2,
9 lua5_4,
10 hunspell,
11 ninja,
12 openssl,
13 pkg-config,
14 qtbase,
15 qttools,
16 wrapQtAppsHook,
17}:
18
19stdenv.mkDerivation rec {
20 pname = "gittyup";
21 version = "1.4.0";
22
23 src = fetchFromGitHub {
24 owner = "Murmele";
25 repo = "Gittyup";
26 rev = "gittyup_v${version}";
27 hash = "sha256-anyjHSF0ZCBJTuqNdH49iwngt3zeJZat5XGDsKbiwPE=";
28 fetchSubmodules = true;
29 };
30
31 patches = [
32 # Fix GCC 14 build error (remove for next update)
33 # https://github.com/Murmele/Gittyup/pull/759
34 ./0001-Fix-incorrect-order-of-argument-to-calloc-345.patch
35 ];
36
37 cmakeFlags =
38 let
39 inherit (lib) cmakeBool;
40 in
41 [
42 (cmakeBool "BUILD_SHARED_LIBS" false)
43 (cmakeBool "USE_SYSTEM_CMARK" true)
44 (cmakeBool "USE_SYSTEM_GIT" true)
45 (cmakeBool "USE_SYSTEM_HUNSPELL" true)
46 # upstream uses its own fork of libgit2 as of 1.2.2, however this may change in the future
47 # (cmakeBool "USE_SYSTEM_LIBGIT2" true)
48 (cmakeBool "USE_SYSTEM_LIBSSH2" true)
49 (cmakeBool "USE_SYSTEM_LUA" true)
50 (cmakeBool "USE_SYSTEM_OPENSSL" true)
51 (cmakeBool "ENABLE_UPDATE_OVER_GUI" false)
52 ];
53
54 nativeBuildInputs = [
55 cmake
56 cmark
57 ninja
58 pkg-config
59 wrapQtAppsHook
60 ];
61
62 buildInputs = [
63 cmark
64 git
65 hunspell
66 libssh2
67 lua5_4
68 openssl
69 qtbase
70 qttools
71 ];
72
73 postInstall = ''
74 # Those are not program libs, just some Qt5 libs that the build system leaks for some reason
75 rm -rf $out/{include,lib}
76 '';
77
78 meta = with lib; {
79 description = "Graphical Git client designed to help you understand and manage your source code history";
80 homepage = "https://murmele.github.io/Gittyup";
81 license = with licenses; [ mit ];
82 maintainers = with maintainers; [
83 fliegendewurst
84 phijor
85 ];
86 platforms = platforms.unix;
87 broken = stdenv.hostPlatform.isDarwin;
88 };
89}