diff options
Diffstat (limited to 'pkgs/desktops/deepin/dde-daemon/default.nix')
-rw-r--r-- | pkgs/desktops/deepin/dde-daemon/default.nix | 90 |
1 files changed, 90 insertions, 0 deletions
diff --git a/pkgs/desktops/deepin/dde-daemon/default.nix b/pkgs/desktops/deepin/dde-daemon/default.nix new file mode 100644 index 000000000000..fe2c5f8f55a1 --- /dev/null +++ b/pkgs/desktops/deepin/dde-daemon/default.nix @@ -0,0 +1,90 @@ +{ stdenv, buildGoPackage, fetchFromGitHub, fetchpatch, pkgconfig, + dbus-factory, go-dbus-factory, go-gir-generator, go-lib, + deepin-gettext-tools, dde-api, alsaLib, glib, gtk3, libinput, libnl, + librsvg, linux-pam, networkmanager, pulseaudio, xorg, gnome3, + python3Packages, hicolor-icon-theme, go }: + +buildGoPackage rec { + name = "${pname}-${version}"; + pname = "dde-daemon"; + version = "3.2.24.7"; + + goPackagePath = "pkg.deepin.io/dde/daemon"; + + src = fetchFromGitHub { + owner = "linuxdeepin"; + repo = pname; + rev = version; + sha256 = "17dvhqrw0dqy3d0wd9ailb18y2rg7575g3ffy0d5rg9m3y65y1y6"; + }; + + patches = [ + # https://github.com/linuxdeepin/dde-daemon/issues/51 + (fetchpatch { + name = "dde-daemon_3.2.3.patch"; + url = https://github.com/jouyouyun/tap-gesture-patches/raw/master/patches/dde-daemon_3.2.3.patch; + sha256 = "0a3xb15czpfl2vajpf7ycw37vr7fbw2png1a67mvjjkgx7d1k7dg"; + }) + ]; + + goDeps = ./deps.nix; + + outputs = [ "out" ]; + + nativeBuildInputs = [ + pkgconfig + dbus-factory + go-dbus-factory + go-gir-generator + go-lib + deepin-gettext-tools + dde-api + linux-pam + networkmanager + networkmanager.dev + python3Packages.python + ]; + + buildInputs = [ + alsaLib + glib + gnome3.libgudev + gtk3 + hicolor-icon-theme + libinput + libnl + librsvg + pulseaudio + ]; + + postPatch = '' + patchShebangs . + + sed -i network/nm_generator/Makefile -e 's,/usr/share/gir-1.0/NM-1.0.gir,${networkmanager.dev}/share/gir-1.0/NM-1.0.gir,' + + sed -i -e "s|{DESTDIR}/etc|{DESTDIR}$out/etc|" Makefile + sed -i -e "s|{DESTDIR}/var|{DESTDIR}$out/var|" Makefile + sed -i -e "s|{DESTDIR}/lib|{DESTDIR}$out/lib|" Makefile + + find -type f -exec sed -i -e "s,/usr/lib/deepin-daemon,$out/lib/deepin-daemon," {} + + ''; + + buildPhase = '' + make -C go/src/${goPackagePath} + # compilation of the nm module is failing + #make -C go/src/${goPackagePath}/network/nm_generator gen-nm-code + ''; + + installPhase = '' + make install PREFIX="$out" -C go/src/${goPackagePath} + remove-references-to -t ${go} $out/lib/deepin-daemon/* + ''; + + meta = with stdenv.lib; { + description = "Daemon for handling Deepin Desktop Environment session settings"; + homepage = https://github.com/linuxdeepin/dde-daemon; + license = licenses.gpl3; + platforms = platforms.linux; + maintainers = with maintainers; [ romildo ]; + }; +} |