diff options
Diffstat (limited to 'nixpkgs/pkgs/desktops/deepin/go-package/startdde/default.nix')
-rw-r--r-- | nixpkgs/pkgs/desktops/deepin/go-package/startdde/default.nix | 102 |
1 files changed, 102 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/desktops/deepin/go-package/startdde/default.nix b/nixpkgs/pkgs/desktops/deepin/go-package/startdde/default.nix new file mode 100644 index 000000000000..e0502deaf9cf --- /dev/null +++ b/nixpkgs/pkgs/desktops/deepin/go-package/startdde/default.nix @@ -0,0 +1,102 @@ +{ stdenv +, lib +, fetchFromGitHub +, buildGoPackage +, pkg-config +, go-dbus-factory +, go-gir-generator +, go-lib +, gettext +, dde-api +, libgnome-keyring +, gtk3 +, alsa-lib +, libpulseaudio +, libgudev +, libsecret +, jq +, wrapGAppsHook +, runtimeShell +, dde-polkit-agent +}: + +buildGoPackage rec { + pname = "startdde"; + version = "5.10.1"; + + goPackagePath = "github.com/linuxdeepin/startdde"; + + src = fetchFromGitHub { + owner = "linuxdeepin"; + repo = pname; + rev = version; + sha256 = "sha256-dbTcYS7dEvT0eP45jKE8WiG9Pm4LU6jvR8hjMQv/yxU="; + }; + + patches = [ + ./0001-avoid-use-hardcode-path.patch + ]; + + postPatch = '' + substituteInPlace display/manager.go session.go \ + --replace "/bin/bash" "${runtimeShell}" + substituteInPlace display/manager.go main.go utils.go session.go \ + --replace "/usr/lib/deepin-daemon" "/run/current-system/sw/lib/deepin-daemon" + substituteInPlace misc/xsessions/deepin.desktop.in --subst-var-by PREFIX $out + substituteInPlace watchdog/dde_polkit_agent.go misc/auto_launch/{default.json,chinese.json} \ + --replace "/usr/lib/polkit-1-dde/dde-polkit-agent" "${dde-polkit-agent}/lib/polkit-1-dde/dde-polkit-agent" + substituteInPlace startmanager.go launch_group.go memchecker/config.go \ + --replace "/usr/share/startdde" "$out/share/startdde" + substituteInPlace misc/lightdm.conf --replace "/usr" "$out" + ''; + + goDeps = ./deps.nix; + + nativeBuildInputs = [ + gettext + pkg-config + jq + wrapGAppsHook + ]; + + buildInputs = [ + go-dbus-factory + go-gir-generator + go-lib + dde-api + libgnome-keyring + gtk3 + alsa-lib + libpulseaudio + libgudev + libsecret + ]; + + buildPhase = '' + runHook preBuild + addToSearchPath GOPATH "${go-dbus-factory}/share/gocode" + addToSearchPath GOPATH "${go-gir-generator}/share/gocode" + addToSearchPath GOPATH "${go-lib}/share/gocode" + addToSearchPath GOPATH "${dde-api}/share/gocode" + make -C go/src/${goPackagePath} + runHook postBuild + ''; + + installPhase = '' + make install DESTDIR="$out" PREFIX="/" -C go/src/${goPackagePath} + ''; + + passthru.providedSessions = [ "deepin" ]; + + meta = with lib; { + description = "Starter of deepin desktop environment"; + longDescription = '' + Startdde is used for launching DDE components and invoking user's + custom applications which compliant with xdg autostart specification + ''; + homepage = "https://github.com/linuxdeepin/startdde"; + license = licenses.gpl3Plus; + platforms = platforms.linux; + maintainers = teams.deepin.members; + }; +} |