From 6045b360fa1d3b120e0b9a7517560655cc9fc947 Mon Sep 17 00:00:00 2001 From: rewine Date: Tue, 26 Sep 2023 14:40:40 +0800 Subject: [PATCH] startdde: 5.10.1 -> 6.0.10 --- .../0001-avoid-use-hardcode-path.patch | 120 ++------- .../deepin/go-package/startdde/default.nix | 64 ++--- .../deepin/go-package/startdde/deps.nix | 236 ------------------ 3 files changed, 38 insertions(+), 382 deletions(-) delete mode 100644 pkgs/desktops/deepin/go-package/startdde/deps.nix diff --git a/pkgs/desktops/deepin/go-package/startdde/0001-avoid-use-hardcode-path.patch b/pkgs/desktops/deepin/go-package/startdde/0001-avoid-use-hardcode-path.patch index 2dac0993d590..69e4c8aba56d 100644 --- a/pkgs/desktops/deepin/go-package/startdde/0001-avoid-use-hardcode-path.patch +++ b/pkgs/desktops/deepin/go-package/startdde/0001-avoid-use-hardcode-path.patch @@ -1,69 +1,8 @@ -From 47a700c64329f76ab91ac01d83a93f43bebe638b Mon Sep 17 00:00:00 2001 -From: rewine -Date: Sun, 9 Apr 2023 17:14:00 +0800 -Subject: [PATCH] avoid use hardcode path - ---- - display/wayland.go | 4 ++-- - main.go | 10 +++++----- - misc/auto_launch/chinese.json | 4 ++-- - session.go | 15 +++++++++------ - 4 files changed, 18 insertions(+), 15 deletions(-) - -diff --git a/display/wayland.go b/display/wayland.go -index b980425..e44342a 100644 ---- a/display/wayland.go -+++ b/display/wayland.go -@@ -556,7 +556,7 @@ func (mm *kMonitorManager) applyByWLOutput(monitorMap map[uint32]*Monitor) error - - if len(args_enable) > 0 { - ctx, cancel := context.WithTimeout(context.Background(), time.Second*5) -- cmdline := exec.CommandContext(ctx, "/usr/bin/dde_wloutput", "set") -+ cmdline := exec.CommandContext(ctx, "dde_wloutput", "set") - cmdline.Args = append(cmdline.Args, args_enable...) - logger.Info("cmd line args_enable:", cmdline.Args) - -@@ -572,7 +572,7 @@ func (mm *kMonitorManager) applyByWLOutput(monitorMap map[uint32]*Monitor) error - } - if len(args_disable) > 0 { - ctx, cancel := context.WithTimeout(context.Background(), time.Second*5) -- cmdline := exec.CommandContext(ctx, "/usr/bin/dde_wloutput", "set") -+ cmdline := exec.CommandContext(ctx, "dde_wloutput", "set") - cmdline.Args = append(cmdline.Args, args_disable...) - logger.Info("cmd line args_disable:", cmdline.Args) - -diff --git a/main.go b/main.go -index 77b4e78..30aa3fd 100644 ---- a/main.go -+++ b/main.go -@@ -96,17 +96,17 @@ func shouldUseDDEKWin() bool { - } - - end: -- _, err = os.Stat("/usr/bin/kwin_no_scale") -+ _, err = exec.LookPath("kwin_no_scale") - return err == nil - } - - const ( -- cmdKWin = "/usr/bin/kwin_no_scale" -+ cmdKWin = "kwin_no_scale" - cmdDdeSessionDaemon = "/usr/lib/deepin-daemon/dde-session-daemon" -- cmdDdeDock = "/usr/bin/dde-dock" -- cmdDdeDesktop = "/usr/bin/dde-desktop" -+ cmdDdeDock = "dde-dock" -+ cmdDdeDesktop = "dde-desktop" - cmdLoginReminderHelper = "/usr/libexec/deepin/login-reminder-helper" -- cmdDdeHintsDialog = "/usr/bin/dde-hints-dialog" -+ cmdDdeHintsDialog = "dde-hints-dialog" - - loginReminderTimeout = 5 * time.Second - loginReminderTimeFormat = "2006-01-02 15:04:05" diff --git a/misc/auto_launch/chinese.json b/misc/auto_launch/chinese.json -index 079a521..1856ab1 100644 +index 14b8bff..2b2c412 100644 --- a/misc/auto_launch/chinese.json +++ b/misc/auto_launch/chinese.json -@@ -13,7 +13,7 @@ +@@ -3,7 +3,7 @@ "Priority": 9, "Group": [ { @@ -72,7 +11,7 @@ index 079a521..1856ab1 100644 "Wait": false, "Args": [ "-d" -@@ -39,7 +39,7 @@ +@@ -25,7 +25,7 @@ "Priority": 7, "Group": [ { @@ -82,39 +21,27 @@ index 079a521..1856ab1 100644 "Args": [ "-d" diff --git a/session.go b/session.go -index 26f89ef..f412ca4 100644 +index da76626..bf9a2c4 100644 --- a/session.go +++ b/session.go -@@ -18,6 +18,7 @@ import ( +@@ -14,6 +14,7 @@ import ( + "sync" "syscall" "time" ++ "strings" -+ "github.com/adrg/xdg" - "github.com/godbus/dbus" - "github.com/linuxdeepin/dde-api/soundutils" - daemon "github.com/linuxdeepin/go-dbus-factory/com.deepin.daemon.daemon" -@@ -53,8 +54,10 @@ const ( - - xsKeyQtFontName = "Qt/FontName" - xsKeyQtMonoFontName = "Qt/MonoFontName" -+) - -- ddeLockDesktopFile = "/usr/share/applications/dde-lock.desktop" -+var ( -+ ddeLockDesktopFile, _ = xdg.SearchDataFile("applications/dde-lock.desktop"); - ) - - type SessionManager struct { -@@ -90,7 +93,7 @@ type SessionManager struct { + "github.com/adrg/xdg" + "github.com/godbus/dbus/v5" +@@ -85,7 +86,7 @@ type SessionManager struct { } const ( - cmdShutdown = "/usr/bin/dde-shutdown" + cmdShutdown = "dde-shutdown" - lockFrontDest = "com.deepin.dde.lockFront" + lockFrontDest = "org.deepin.dde.LockFront1" lockFrontIfc = lockFrontDest - lockFrontObjPath = "/com/deepin/dde/lockFront" -@@ -471,7 +474,7 @@ func (m *SessionManager) SetLocked(sender dbus.Sender, value bool) *dbus.Error { + lockFrontObjPath = "/org/deepin/dde/LockFront1" +@@ -458,7 +459,7 @@ func (m *SessionManager) SetLocked(sender dbus.Sender, value bool) *dbus.Error { return dbusutil.ToError(err) } @@ -123,7 +50,7 @@ index 26f89ef..f412ca4 100644 m.setLocked(value) return nil } -@@ -491,7 +494,7 @@ func (m *SessionManager) SetLocked(sender dbus.Sender, value bool) *dbus.Error { +@@ -478,7 +479,7 @@ func (m *SessionManager) SetLocked(sender dbus.Sender, value bool) *dbus.Error { return dbusutil.ToError(fmt.Errorf("desktop file %q is invalid", desktopFile)) } exe = info.GetExecutable() @@ -132,22 +59,3 @@ index 26f89ef..f412ca4 100644 return dbusutil.ToError(fmt.Errorf("exe %q of desktop file %q is invalid", exe, desktopFile)) } -@@ -798,7 +801,7 @@ func setupEnvironments2() { - // man gnome-keyring-daemon: - // The daemon will print out various environment variables which should be set - // in the user's environment, in order to interact with the daemon. -- gnomeKeyringOutput, err := exec.Command("/usr/bin/gnome-keyring-daemon", "--start", -+ gnomeKeyringOutput, err := exec.Command("gnome-keyring-daemon", "--start", - "--components=secrets,pkcs11,ssh").Output() - if err == nil { - lines := bytes.Split(gnomeKeyringOutput, []byte{'\n'}) -@@ -1389,4 +1392,4 @@ func initXEventMonitor() { - setDPMSMode(true) - } - }) --} -\ No newline at end of file -+} --- -2.39.2 - diff --git a/pkgs/desktops/deepin/go-package/startdde/default.nix b/pkgs/desktops/deepin/go-package/startdde/default.nix index e0502deaf9cf..8ad13e1156d7 100644 --- a/pkgs/desktops/deepin/go-package/startdde/default.nix +++ b/pkgs/desktops/deepin/go-package/startdde/default.nix @@ -1,99 +1,83 @@ { stdenv , lib +, buildGoModule , fetchFromGitHub -, buildGoPackage -, pkg-config -, go-dbus-factory -, go-gir-generator -, go-lib , gettext -, dde-api +, pkg-config +, jq +, wrapGAppsHook +, glib , libgnome-keyring , gtk3 , alsa-lib -, libpulseaudio +, pulseaudio , libgudev , libsecret -, jq -, wrapGAppsHook , runtimeShell -, dde-polkit-agent +, dbus }: -buildGoPackage rec { +buildGoModule rec { pname = "startdde"; - version = "5.10.1"; - - goPackagePath = "github.com/linuxdeepin/startdde"; + version = "6.0.10"; src = fetchFromGitHub { owner = "linuxdeepin"; repo = pname; rev = version; - sha256 = "sha256-dbTcYS7dEvT0eP45jKE8WiG9Pm4LU6jvR8hjMQv/yxU="; + hash = "sha256-B2B8QlA1Ps/ybVzionngtwDwTLd7H02RKJwcXymGlJM="; }; patches = [ ./0001-avoid-use-hardcode-path.patch ]; + vendorHash = "sha256-5BEOazAygYL1N+CaGAbUwdpHZ1EiHr6yNW27/bXNdZg="; + postPatch = '' substituteInPlace display/manager.go session.go \ --replace "/bin/bash" "${runtimeShell}" - substituteInPlace display/manager.go main.go utils.go session.go \ + + substituteInPlace misc/systemd_task/dde-display-task-refresh-brightness.service \ + --replace "/usr/bin/dbus-send" "${dbus}/bin/dbus-send" + + substituteInPlace display/manager.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 + glib ]; buildInputs = [ - go-dbus-factory - go-gir-generator - go-lib - dde-api libgnome-keyring gtk3 alsa-lib - libpulseaudio + pulseaudio 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} + make GO_BUILD_FLAGS="$GOFLAGS" runHook postBuild ''; installPhase = '' - make install DESTDIR="$out" PREFIX="/" -C go/src/${goPackagePath} + runHook preInstall + make install DESTDIR="$out" PREFIX="/" + runHook postInstall ''; - 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; diff --git a/pkgs/desktops/deepin/go-package/startdde/deps.nix b/pkgs/desktops/deepin/go-package/startdde/deps.nix deleted file mode 100644 index 0a0b403ea44e..000000000000 --- a/pkgs/desktops/deepin/go-package/startdde/deps.nix +++ /dev/null @@ -1,236 +0,0 @@ -[ - { - goPackagePath = "github.com/cryptix/wav"; - fetch = { - type = "git"; - url = "https://github.com/cryptix/wav"; - rev = "8bdace674401f0bd3b63c65479b6a6ff1f9d5e44"; - sha256 = "18nyqv0ic35fs9fny8sj84c00vbxs8mnric6vr6yl42624fh5id6"; - }; - } - { - goPackagePath = "github.com/davecgh/go-spew"; - fetch = { - type = "git"; - url = "https://github.com/davecgh/go-spew"; - rev = "v1.1.1"; - sha256 = "sha256-nhzSUrE1fCkN0+RL04N4h8jWmRFPPPWbCuDc7Ss0akI="; - }; - } - { - goPackagePath = "github.com/linuxdeepin/go-x11-client"; - fetch = { - type = "git"; - url = "https://github.com/linuxdeepin/go-x11-client"; - rev = "0.6.9"; - sha256 = "sha256-xXNaXpFFHJN1fCFLoVrQFCXQ4ya+Kga55QWcJL/InkA="; - }; - } - { - goPackagePath = "golang.org/x/xerrors"; - fetch = { - type = "git"; - url = "https://github.com/golang/xerrors"; - rev = "2f41105eb62f341cfe208d06de4ee3bdd3a083da"; - sha256 = "sha256-yZNeG+jcarcw/aOFhrhxWWE20r0P+/VJF4i/0JQfv1c="; - }; - } - { - goPackagePath = "github.com/fsnotify/fsnotify"; - fetch = { - type = "git"; - url = "https://github.com/fsnotify/fsnotify"; - rev = "v1.5.1"; - sha256 = "sha256-B8kZ8yiWgallT7R2j1kSRJcJkSGFVf9ise+TpXa+7XY="; - }; - } - { - goPackagePath = "github.com/godbus/dbus"; - fetch = { - type = "git"; - url = "https://github.com/godbus/dbus"; - rev = "v5.1.0"; - sha256 = "sha256-JSPtmkGEStBEVrKGszeLCb7P38SzQKgMiDC3eDppXs0="; - }; - } - { - goPackagePath = "github.com/stretchr/testify"; - fetch = { - type = "git"; - url = "https://github.com/stretchr/testify"; - rev = "v1.7.1"; - sha256 = "sha256-disUVIHiIDSj/go3APtJH8awSl8QwKRRFLKI7LRnl0w="; - }; - } - { - goPackagePath = "golang.org/x/sys"; - fetch = { - type = "git"; - url = "https://github.com/golang/sys"; - rev = "289d7a0edf712062d9f1484b07bdf2383f48802f"; - sha256 = "sha256-AzS/J3OocI7mA0xsIfQzyskNKVija7F2yvuts+EFJBs="; - }; - } - { - goPackagePath = "gopkg.in/yaml.v3"; - fetch = { - type = "git"; - url = "https://github.com/go-yaml/yaml"; - rev = "496545a6307b2a7d7a710fd516e5e16e8ab62dbc"; - sha256 = "sha256-j8yDji+vqsitpRZirpb4w/Em8nstgf28wpwkcrOlxBk="; - }; - } - { - goPackagePath = "github.com/stretchr/objx"; - fetch = { - type = "git"; - url = "https://github.com/stretchr/objx"; - rev = "v0.3.0"; - sha256 = "sha256-T753/EiD5Cpk6H2JFhd+s1gFvpNptG2XlEHxZF6dQaw="; - }; - } - { - goPackagePath = "github.com/pmezard/go-difflib"; - fetch = { - type = "git"; - url = "https://github.com/pmezard/go-difflib"; - rev = "5d4384ee4fb2527b0a1256a821ebfc92f91efefc"; - sha256 = "sha256-XA4Oj1gdmdV/F/+8kMI+DBxKPthZ768hbKsO3d9Gx90="; - }; - } - { - goPackagePath = "github.com/axgle/mahonia"; - fetch = { - type = "git"; - url = "https://github.com/axgle/mahonia"; - rev = "3358181d7394e26beccfae0ffde05193ef3be33a"; - sha256 = "0b8wsrxmv8a0cqbnsg55lpf29pxy2zw8azvgh3ck664lqpcfybhq"; - }; - } - { - goPackagePath = "golang.org/x/text"; - fetch = { - type = "git"; - url = "https://github.com/golang/text"; - rev = "v0.3.7"; - sha256 = "sha256-XpIbgE6MxWwDQQcPXr2NIsE2cev2+CIabi566TYGfHY="; - }; - } - { - goPackagePath = "golang.org/x/image"; - fetch = { - type = "git"; - url = "https://github.com/golang/image"; - rev = "70e8d0d3baa9a699c3865c753cbfa8ae65bd86ce"; - sha256 = "sha256-oMbDIke/qQ6cp7JLNsMusf7EIUfuj0WavFVfI0lxTDs="; - }; - } - { - goPackagePath = "github.com/nfnt/resize"; - fetch = { - type = "git"; - url = "https://github.com/nfnt/resize"; - rev = "83c6a9932646f83e3267f353373d47347b6036b2"; - sha256 = "005cpiwq28krbjf0zjwpfh63rp4s4is58700idn24fs3g7wdbwya"; - }; - } - { - goPackagePath = "github.com/Lofanmi/pinyin-golang"; - fetch = { - type = "git"; - url = "https://github.com/Lofanmi/pinyin-golang"; - rev = "1db892057f20c56a3286cc1517e0642dacbff54c"; - sha256 = "sha256-nhO6AYZ3vc7nwgmmfTlE6m33caY9gGZoKiSYvFLqHQc="; - }; - } - { - goPackagePath = "github.com/mozillazg/go-pinyin"; - fetch = { - type = "git"; - url = "https://github.com/mozillazg/go-pinyin"; - rev = "8930bc1fcb5693689dc35d98ad2a4153662e34b1"; - sha256 = "sha256-kuMNiWpPeqsIsFgYIOsffxUfwcLPaMZWdZRBJAMDVvA="; - }; - } - { - goPackagePath = "github.com/kelvins/sunrisesunset"; - fetch = { - type = "git"; - url = "https://github.com/kelvins/sunrisesunset"; - rev = "39fa1bd816d52927b4cfcab0a1535b17eafe0a3d"; - sha256 = "sha256-awklKAW1YM3sWM21irbyu2sUMIo3kCOj12lzyVzDefw="; - }; - } - { - goPackagePath = "github.com/rickb777/date"; - fetch = { - type = "git"; - url = "https://github.com/rickb777/date"; - rev = "v1.18"; - sha256 = "sha256-8r8eFOF5dKtowE3dnjpSMIXJ/yX2IjiR7nZ/EApUZbA="; - }; - } - { - goPackagePath = "github.com/rickb777/plural"; - fetch = { - type = "git"; - url = "https://github.com/rickb777/plural"; - rev = "v1.4.1"; - sha256 = "sha256-nhN+ApdfUie45L+M2OZAPtSoiIZ1pZ2UpDX/DePS6Yw="; - }; - } - { - goPackagePath = "github.com/gosexy/gettext"; - fetch = { - type = "git"; - url = "https://github.com/gosexy/gettext"; - rev = "v0.9"; - sha256 = "0asphx8nd7zmp88wk6aakk5292np7yw73akvfdvlvs9q5r5ahkgi"; - }; - } - { - goPackagePath = "github.com/msteinert/pam"; - fetch = { - type = "git"; - url = "https://github.com/msteinert/pam"; - rev = "v1.0.0"; - sha256 = "sha256-Ji13ckPyZUBAovhK2hRHgf2LB1ieglX/XrIJBxVcsXc="; - }; - } - { - goPackagePath = "github.com/youpy/go-wav"; - fetch = { - type = "git"; - url = "https://github.com/youpy/go-wav"; - rev = "v0.3.2"; - sha256 = "sha256-jNqXW3F3fcgjT47+d2MVXauWkA7+1KfYVu3ZZpRCTkM="; - }; - } - { - goPackagePath = "github.com/zaf/g711"; - fetch = { - type = "git"; - url = "https://github.com/zaf/g711"; - rev = "v1.2"; - sha256 = "sha256-G+0cgGw/fcOUFVn32AeqUE0YjyOS82Z5MTcn6IANhCY="; - }; - } - { - goPackagePath = "github.com/youpy/go-riff"; - fetch = { - type = "git"; - url = "https://github.com/youpy/go-riff"; - rev = "v0.1.0"; - sha256 = "sha256-d/3rkxDeRTPveZblArKc61gB4LJVV08n7g0THieuhx8="; - }; - } - { - goPackagePath = "github.com/adrg/xdg"; - fetch = { - type = "git"; - url = "https://github.com/adrg/xdg"; - rev = "v0.4.0"; - sha256 = "sha256-zGjkdUQmrVqD6rMO9oDY+TeJCpuqnHyvkPCaXDlac/U="; - }; - } -]