lol
1{ lib
2, stdenv
3, fetchurl
4, fetchpatch
5, autoreconfHook
6, dbus
7, doxygen
8, fontconfig
9, gettext
10, graphviz
11, help2man
12, pkg-config
13, sqlite
14, tinyxml
15, cppunit
16}:
17
18stdenv.mkDerivation rec {
19 pname = "presage";
20 version = "0.9.1";
21
22 src = fetchurl {
23 url = "mirror://sourceforge/presage/presage/${version}/presage-${version}.tar.gz";
24 sha256 = "0rm3b3zaf6bd7hia0lr1wyvi1rrvxkn7hg05r5r1saj0a3ingmay";
25 };
26
27 patches = [
28 (fetchpatch {
29 url = "https://git.alpinelinux.org/aports/plain/community/presage/gcc6.patch";
30 sha256 = "0243nx1ygggmsly7057vndb4pkjxg9rpay5gyqqrq9jjzjzh63dj";
31 })
32 ./fixed-cppunit-detection.patch
33 # fix gcc11 build
34 (fetchpatch {
35 name = "presage-0.9.1-gcc11.patch";
36 url = "https://build.opensuse.org/public/source/openSUSE:Factory/presage/presage-0.9.1-gcc11.patch?rev=3f8b4b19c99276296d6ea595cc6c431f";
37 sha256 = "sha256-pLrIFXvJHRvv4x9gBIfal4Y68lByDE3XE2NZNiAXe9k=";
38 })
39 ];
40
41 nativeBuildInputs = [
42 autoreconfHook
43 doxygen
44 fontconfig
45 gettext
46 graphviz
47 help2man
48 pkg-config
49 ];
50
51 preBuild = ''
52 export FONTCONFIG_FILE=${fontconfig.out}/etc/fonts/fonts.conf
53 '';
54
55 buildInputs = [
56 dbus
57 sqlite
58 tinyxml
59 ];
60
61 checkInputs = [
62 cppunit
63 ];
64
65 doCheck = true;
66
67 checkTarget = "check";
68
69 meta = with lib; {
70 description = "An intelligent predictive text entry system";
71 homepage = "https://presage.sourceforge.io/";
72 license = licenses.gpl2Plus;
73 maintainers = with maintainers; [ dotlambda ];
74 };
75}