python312Packages.mandown: 1.10.0 -> 1.10.1 (#370595)
[NixPkgs.git] / pkgs / by-name / ro / roccat-tools / package.nix
blob6bf02cbf351bdabf94cfb168f0c3eabf45556786
2   lib,
3   stdenv,
4   fetchurl,
5   cmake,
6   pkg-config,
7   gettext,
8   dbus,
9   dbus-glib,
10   libgaminggear,
11   libgudev,
12   lua,
13   harfbuzz,
14   runtimeShell,
15   coreutils,
16   kmod,
19 stdenv.mkDerivation rec {
20   pname = "roccat-tools";
21   version = "5.9.0";
23   src = fetchurl {
24     url = "mirror://sourceforge/roccat/${pname}-${version}.tar.bz2";
25     sha256 = "12j02rzbz3iqxprz8cj4kcfcdgnqlva142ci177axqmckcq6crvg";
26   };
28   postPatch = ''
29     sed -i -re 's,/(etc/xdg),\1,' roccateventhandler/CMakeLists.txt
31     sed -i -e '/roccat_profile_dir(void).*{/,/}/ {
32       /return/c \
33         return g_build_path("/", g_get_user_data_dir(), "roccat", NULL);
34     }' libroccat/roccat_helper.c
36     substituteInPlace udev/90-roccat-kone.rules \
37       --replace "/bin/sh" "${runtimeShell}" \
38       --replace "/sbin/modprobe" "${kmod}/bin/modprobe" \
39       --replace "/bin/echo" "${coreutils}/bin/echo"
40   '';
42   nativeBuildInputs = [
43     cmake
44     pkg-config
45     gettext
46   ];
47   buildInputs = [
48     dbus
49     dbus-glib
50     libgaminggear
51     libgudev
52     lua
53   ];
55   cmakeFlags = [
56     "-DUDEVDIR=\${out}/lib/udev/rules.d"
57     "-DCMAKE_MODULE_PATH=${libgaminggear.dev}/lib/cmake"
58     "-DWITH_LUA=${lua.luaversion}"
59     "-DLIBDIR=lib"
60   ];
62   env.NIX_CFLAGS_COMPILE = toString [
63     "-I${harfbuzz.dev}/include/harfbuzz"
65     # Workaround build failure on -fno-common toolchains:
66     #   ld: ryos_talk.c.o:(.bss+0x0): multiple definition of `RyosWriteCheckWait';
67     #     ryos_custom_lights.c.o:(.bss+0x0): first defined here
68     "-fcommon"
69   ];
71   meta = {
72     description = "Tools to configure ROCCAT devices";
73     homepage = "https://roccat.sourceforge.net/";
74     platforms = lib.platforms.linux;
75     license = lib.licenses.gpl2Plus;
76   };