nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 stdenv,
4 fetchurl,
5 SDL2,
6 ftgl,
7 pkg-config,
8 libpng,
9 libjpeg,
10 pcre2,
11 SDL2_image,
12 freetype,
13 glew,
14 libGLU,
15 libGL,
16 libX11,
17 boost,
18 glm,
19 tinyxml,
20}:
21
22stdenv.mkDerivation rec {
23 pname = "gource";
24 version = "0.55";
25
26 src = fetchurl {
27 url = "https://github.com/acaudwell/Gource/releases/download/${pname}-${version}/${pname}-${version}.tar.gz";
28 hash = "sha256-yCOSEtKLB1CNnkd2GZdoAmgWKPwl6z4E9mcRdwE8AUI=";
29 };
30
31 postPatch = ''
32 # remove bundled library
33 rm -r src/tinyxml
34 '';
35
36 nativeBuildInputs = [ pkg-config ];
37 buildInputs = [
38 glew
39 SDL2
40 ftgl
41 libpng
42 libjpeg
43 pcre2
44 SDL2_image
45 libGLU
46 libGL
47 libX11
48 boost
49 glm
50 freetype
51 tinyxml
52 ];
53
54 configureFlags = [
55 "--with-boost-libdir=${boost.out}/lib"
56 "--with-tinyxml"
57 ];
58
59 enableParallelBuilding = true;
60
61 meta = {
62 homepage = "https://gource.io/";
63 description = "Software version control visualization tool";
64 license = lib.licenses.gpl3Plus;
65 longDescription = ''
66 Software projects are displayed by Gource as an animated tree with
67 the root directory of the project at its centre. Directories
68 appear as branches with files as leaves. Developers can be seen
69 working on the tree at the times they contributed to the project.
70
71 Currently Gource includes built-in log generation support for Git,
72 Mercurial and Bazaar and SVN. Gource can also parse logs produced
73 by several third party tools for CVS repositories.
74 '';
75 platforms = lib.platforms.unix;
76 maintainers = with lib.maintainers; [ pSub ];
77 mainProgram = "gource";
78 };
79}