From ee7041cdf6fa87ac5117e1bcf8d6f5fc9173757c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Romildo=20Malaquias?= Date: Mon, 12 Nov 2018 18:51:50 -0200 Subject: [PATCH] deepin.startdde: init at 5.0.1 --- pkgs/desktops/deepin/default.nix | 1 + pkgs/desktops/deepin/startdde/default.nix | 136 ++++++++++++++++++++++ pkgs/desktops/deepin/startdde/deps.nix | 30 +++++ 3 files changed, 167 insertions(+) create mode 100644 pkgs/desktops/deepin/startdde/default.nix create mode 100644 pkgs/desktops/deepin/startdde/deps.nix diff --git a/pkgs/desktops/deepin/default.nix b/pkgs/desktops/deepin/default.nix index 57b0b35a5327..64dbdbfd104c 100644 --- a/pkgs/desktops/deepin/default.nix +++ b/pkgs/desktops/deepin/default.nix @@ -50,6 +50,7 @@ let qcef = callPackage ./qcef { }; qt5dxcb-plugin = callPackage ./qt5dxcb-plugin { }; qt5integration = callPackage ./qt5integration { }; + startdde = callPackage ./startdde { }; udisks2-qt5 = callPackage ./udisks2-qt5 { }; }; diff --git a/pkgs/desktops/deepin/startdde/default.nix b/pkgs/desktops/deepin/startdde/default.nix new file mode 100644 index 000000000000..137b3f690a67 --- /dev/null +++ b/pkgs/desktops/deepin/startdde/default.nix @@ -0,0 +1,136 @@ +{ stdenv, buildGoPackage, fetchFromGitHub, pkgconfig, alsaLib, + coreutils, dbus-factory, dde-api, dde-daemon, dde-dock, + dde-file-manager, dde-polkit-agent, dde-session-ui, deepin, + deepin-desktop-base, deepin-desktop-schemas, deepin-turbo, + dde-kwin, glib, gnome3, go, go-dbus-factory, go-gir-generator, + go-lib, gtk3, jq, kmod, libX11, libXi, libcgroup, pciutils, psmisc, + pulseaudio, systemd, xorg, wrapGAppsHook }: + +buildGoPackage rec { + name = "${pname}-${version}"; + pname = "startdde"; + version = "5.0.1"; + + goPackagePath = "pkg.deepin.io/dde/startdde"; + + src = fetchFromGitHub { + owner = "linuxdeepin"; + repo = pname; + rev = version; + sha256 = "1xydmglydksy7hjlavf5pbfy0s0lndgavh8x3kg2mg7d36mbra43"; + }; + + goDeps = ./deps.nix; + + outputs = [ "out" ]; + + nativeBuildInputs = [ + pkgconfig + dbus-factory + dde-api + go-dbus-factory + go-gir-generator + go-lib + jq + wrapGAppsHook + deepin.setupHook + ]; + + buildInputs = [ + alsaLib + dde-daemon + dde-dock + dde-file-manager + dde-kwin + dde-polkit-agent + dde-session-ui + deepin-desktop-schemas + deepin-turbo + glib + gnome3.dconf + gnome3.gnome-keyring + gnome3.libgnome-keyring + gtk3 + kmod + libX11 + libXi + libcgroup + pciutils + psmisc + pulseaudio + systemd + xorg.xdriinfo + ]; + + postPatch = '' + searchHardCodedPaths # debugging + + # Commented lines below indicates a doubt about how to fix the hard coded path + + fixPath $out /etc/X11 Makefile + #fixPath ? /etc/xdg/autostop autostop/autostop.go + fixPath ${coreutils} /bin/ls copyfile_test.go + fixPath $out /usr/share/startdde/auto_launch.json launch_group.go + #fixPath ? /usr/bin/kwin_no_scale main.go # not found on deepin linux and archlinux + fixPath $out /usr/share/startdde/memchecker.json memchecker/config.go + fixPath $out /usr/bin/startdde misc/00deepin-dde-env + fixPath ${dde-file-manager} /usr/bin/dde-file-manager misc/auto_launch/chinese.json + fixPath ${deepin-turbo} /usr/lib/deepin-turbo/booster-dtkwidget misc/auto_launch/chinese.json + fixPath ${dde-daemon} /usr/lib/deepin-daemon/dde-session-daemon misc/auto_launch/chinese.json misc/auto_launch/default.json + fixPath ${dde-dock} /usr/bin/dde-dock misc/auto_launch/chinese.json misc/auto_launch/default.json + fixPath ${dde-file-manager} /usr/bin/dde-desktop misc/auto_launch/chinese.json misc/auto_launch/default.json + fixPath $out /usr/bin/startdde misc/deepin-session + #fixPath ? /usr/lib/lightdm/config-error-dialog.sh misc/deepin-session # provided by lightdm on deepin linux + #fixPath ? /usr/sbin/lightdm-session misc/deepin-session # provided by lightdm on deepin linux + fixPath ${dde-session-ui} /usr/bin/dde-lock session.go + fixPath ${dde-session-ui} /usr/bin/dde-shutdown session.go + fixPath ${dde-session-ui} /usr/lib/deepin-daemon/dde-osd session.go + fixPath ${deepin-desktop-base} /etc/deepin-version session.go + fixPath ${gnome3.gnome-keyring} /usr/bin/gnome-keyring-daemon session.go + fixPath ${pulseaudio} /usr/bin/pulseaudio sound_effect.go + #fixPath ? /usr/lib/UIAppSched.hooks startmanager.go # not found anything about this + fixPath ${dde-session-ui} /usr/lib/deepin-daemon/dde-welcome utils.go + fixPath ${dde-polkit-agent} /usr/lib/polkit-1-dde/dde-polkit-agent watchdog/dde_polkit_agent.go + #fixPath ? /var/log/Xorg.0.log wm/driver.go + #fixPath ? /etc/deepin-wm-switcher/config.json wm/switcher_config.go # not present on nixos, deepin linux and archlinux + + substituteInPlace wm/driver.go --replace '/sbin/lsmod' "${kmod}/bin/lsmod" + + substituteInPlace session.go --replace 'LookPath("cgexec"' 'LookPath("${libcgroup}/bin/cgexec"' + substituteInPlace vm.go --replace 'Command("dde-wm-chooser"' 'Command("${dde-session-ui}/bin/dde-wm-chooser"' + substituteInPlace vm.go --replace 'Command("systemd-detect-virt"' 'Command("${systemd}/bin/systemd-detect-virt"' + substituteInPlace wm/card_info.go --replace 'Command("lspci"' 'Command("${pciutils}/bin/lspci"' + substituteInPlace wm/driver.go --replace 'Command("lspci"' 'Command("${pciutils}/bin/lspci"' + substituteInPlace wm/driver.go --replace 'Command("xdriinfo"' 'Command("${xorg.xdriinfo}/bin/xdriinfo"' + substituteInPlace wm/platform.go --replace 'Command("gsettings"' 'Command("${glib}/bin/gsettings"' + substituteInPlace wm/platform.go --replace 'Command("uname"' 'Command("${coreutils}/bin/uname"' + substituteInPlace wm/switcher.go --replace 'Command("killall"' 'Command("${psmisc}/bin/killall"' + ''; + + buildPhase = '' + make -C go/src/${goPackagePath} + ''; + + installPhase = '' + make install PREFIX="$out" -C go/src/${goPackagePath} + rm -rf $out/share/lightdm # this is uselesss for NixOS + remove-references-to -t ${go} $out/bin/* $out/sbin/* + ''; + + postFixup = '' + searchHardCodedPaths $out # debugging + ''; + + passthru = { + updateScript = deepin.updateScript { inherit name; }; + providedSessions = [ "deepin" ]; + }; + + meta = with stdenv.lib; { + description = "Starter of deepin desktop environment"; + homepage = https://github.com/linuxdeepin/startdde; + license = licenses.gpl3; + platforms = platforms.linux; + maintainers = with maintainers; [ romildo ]; + }; +} diff --git a/pkgs/desktops/deepin/startdde/deps.nix b/pkgs/desktops/deepin/startdde/deps.nix new file mode 100644 index 000000000000..8898b8c50fb7 --- /dev/null +++ b/pkgs/desktops/deepin/startdde/deps.nix @@ -0,0 +1,30 @@ +# This file was generated by https://github.com/kamilchm/go2nix v1.3.0 +[ + { + goPackagePath = "github.com/cryptix/wav"; + fetch = { + type = "git"; + url = "https://github.com/cryptix/wav"; + rev = "8bdace674401f0bd3b63c65479b6a6ff1f9d5e44"; + sha256 = "18nyqv0ic35fs9fny8sj84c00vbxs8mnric6vr6yl42624fh5id6"; + }; + } + { + goPackagePath = "github.com/linuxdeepin/go-x11-client"; + fetch = { + type = "git"; + url = "https://github.com/linuxdeepin/go-x11-client"; + rev = "b5b01565d224d5ccd5a4143d9099acceb23e182a"; + sha256 = "1lnffjp8bqy6f8caw6drg1js6hny5w7432riqchcrcd4q85d94rs"; + }; + } + { + goPackagePath = "golang.org/x/net"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/net"; + rev = "daa7c04131f568e31c51927b359a2d197a357058"; + sha256 = "17gbfvb5iqyayzw0zd6q218zsbf7x74rflvn18wkxvsw95n1y54h"; + }; + } +]