texstudio: 4.8.4 -> 4.8.5 (#365076)
[NixPkgs.git] / pkgs / applications / editors / geany / default.nix
blob4c98f18c4346d4f65f5c7909cbb04d6e4bb1ad23
2   lib,
3   stdenv,
4   fetchurl,
5   gtk3,
6   which,
7   pkg-config,
8   intltool,
9   file,
10   libintl,
11   hicolor-icon-theme,
12   python3,
13   wrapGAppsHook3,
16 stdenv.mkDerivation (finalAttrs: {
17   pname = "geany";
18   version = "2.0";
20   outputs = [
21     "out"
22     "dev"
23     "doc"
24     "man"
25   ];
27   src = fetchurl {
28     url = "https://download.geany.org/geany-${finalAttrs.version}.tar.bz2";
29     hash = "sha256-VltM0vAxHB46Fn7HHEoy26ZC4P5VSuW7a4F3t6dMzJI=";
30   };
32   patches = [
33     # The test runs into UB in headless environments and crashes at least on headless Darwin.
34     # Remove if https://github.com/geany/geany/pull/3676 is merged (or the issue fixed otherwise).
35     ./disable-test-sidebar.patch
36   ];
38   nativeBuildInputs = [
39     pkg-config
40     intltool
41     libintl
42     which
43     file
44     hicolor-icon-theme
45     python3
46     wrapGAppsHook3
47   ];
49   buildInputs = [
50     gtk3
51   ];
53   preCheck = ''
54     patchShebangs --build tests/ctags/runner.sh
55     patchShebangs --build scripts
56   '';
58   doCheck = true;
60   enableParallelBuilding = true;
62   meta = with lib; {
63     description = "Small and lightweight IDE";
64     longDescription = ''
65       Geany is a small and lightweight Integrated Development Environment.
66       It was developed to provide a small and fast IDE, which has only a few dependencies from other packages.
67       Another goal was to be as independent as possible from a special Desktop Environment like KDE or GNOME.
68       Geany only requires the GTK runtime libraries.
69       Some basic features of Geany:
70       - Syntax highlighting
71       - Code folding
72       - Symbol name auto-completion
73       - Construct completion/snippets
74       - Auto-closing of XML and HTML tags
75       - Call tips
76       - Many supported filetypes including C, Java, PHP, HTML, Python, Perl, Pascal (full list)
77       - Symbol lists
78       - Code navigation
79       - Build system to compile and execute your code
80       - Simple project management
81       - Plugin interface
82     '';
83     homepage = "https://www.geany.org/";
84     license = licenses.gpl2Plus;
85     maintainers = with maintainers; [ frlan ];
86     platforms = platforms.all;
87     mainProgram = "geany";
88   };