summary refs log tree commit diff
path: root/pkgs/applications/editors/code-browser/default.nix
blob: ed11298c621ac9dd9150e4cbf9b9d8f81e52608a (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
{ stdenv
, fetchurl
, copper
, ruby
, python3
, qtbase
, gtk3
, pkg-config
, withQt ? false
, withGtk ? false, wrapQtAppsHook ? null
}:
stdenv.mkDerivation rec {
  pname = "code-browser";
  version = "7.1.20";
  src = fetchurl {
    url = "https://tibleiz.net/download/code-browser-${version}-src.tar.gz";
    sha256 = "1svi0v3h42h2lrb8c7pjvqc8019v1p20ibsnl48pfhl8d96mmdnz";
  };
  postPatch = ''
    substituteInPlace Makefile --replace "LFLAGS=-no-pie" "LFLAGS=-no-pie -L."
    substituteInPlace libs/copper-ui/Makefile --replace "moc -o" "${qtbase.dev}/bin/moc -o"
    patchShebangs .
  '';
  nativeBuildInputs = [ copper
                        python3
                        ruby
                        qtbase
                        gtk3
                        pkg-config
                      ]
  ++ stdenv.lib.optionals withQt [ wrapQtAppsHook ];
  buildInputs = stdenv.lib.optionals withQt [ qtbase ]
                ++ stdenv.lib.optionals withGtk [ gtk3 ];
  makeFlags = [
    "prefix=$(out)"
    "COPPER=${copper}/bin/copper-elf64"
    "with-local-libs"
    "QINC=${qtbase.dev}/include"
  ]
  ++ stdenv.lib.optionals withQt [ "UI=qt" ]
  ++ stdenv.lib.optionals withGtk [ "UI=gtk" ];
  meta = with stdenv.lib; {
    description = "Folding text editor, designed to hierarchically structure any kind of text file and especially source code";
    homepage = "https://tibleiz.net/code-browser/";
    license = licenses.gpl2;
    platforms = platforms.x86_64;
  };
}