Unverified Commit 10235445 authored by Sandro Jäckel's avatar Sandro Jäckel Committed by GitHub
Browse files

Merge pull request #215433 from wineee/dde-api

parents e1ccff27 e6e02bc9
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -45,6 +45,7 @@ let
    go-lib = callPackage ./go-package/go-lib { inherit replaceAll; };
    go-gir-generator = callPackage ./go-package/go-gir-generator { };
    go-dbus-factory = callPackage ./go-package/go-dbus-factory { };
    dde-api = callPackage ./go-package/dde-api { inherit replaceAll; };
    deepin-pw-check = callPackage ./go-package/deepin-pw-check { };

    #### TOOLS
+39 −0
Original line number Diff line number Diff line
From c8f597bd7286a76e7ce371e4f7982d9d2700868a Mon Sep 17 00:00:00 2001
From: rewine <luhongxu@deepin.org>
Date: Wed, 28 Dec 2022 23:06:53 +0800
Subject: [PATCH] fix PATH for NixOS

---
 device/main.go        | 2 +-
 locale-helper/main.go | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/device/main.go b/device/main.go
index 6c5404c..f79bcfc 100644
--- a/device/main.go
+++ b/device/main.go
@@ -15,7 +15,7 @@ import (
 var logger = log.NewLogger(dbusServiceName)
 
 func main() {
-	os.Setenv("PATH", "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin")
+	os.Setenv("PATH", "/run/current-system/sw/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin")
 	service, err := dbusutil.NewSystemService()
 	if err != nil {
 		logger.Fatal("failed to new system service:", err)
diff --git a/locale-helper/main.go b/locale-helper/main.go
index 0866e48..ef000b5 100644
--- a/locale-helper/main.go
+++ b/locale-helper/main.go
@@ -45,7 +45,7 @@ var (
 )
 
 func main() {
-	os.Setenv("PATH", "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin")
+	os.Setenv("PATH", "/run/current-system/sw/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin")
 	logger.BeginTracing()
 	defer logger.EndTracing()
 
-- 
2.38.1
+109 −0
Original line number Diff line number Diff line
{ stdenv
, lib
, fetchFromGitHub
, buildGoPackage
, replaceAll
, wrapQtAppsHook
, wrapGAppsHook
, gtk3
, pkg-config
, deepin-gettext-tools
, alsa-lib
, go-dbus-factory
, go-gir-generator
, go-lib
, libcanberra
, libgudev
, librsvg
, poppler
, pulseaudio
, gdk-pixbuf-xlib
, dbus
, coreutils
, deepin-desktop-base
}:

buildGoPackage rec {
  pname = "dde-api";
  version = "5.5.32";

  goPackagePath = "github.com/linuxdeepin/dde-api";

  src = fetchFromGitHub {
    owner = "linuxdeepin";
    repo = pname;
    rev = version;
    sha256 = "sha256-F+vEOSpysqVtjs8de5mCmeANuCbYUQ860ZHl5rwNYac=";
  };

  patches = [ ./0001-fix-PATH-for-NixOS.patch ];

  postPatch = replaceAll "/usr/lib/deepin-api" "/run/current-system/sw/lib/deepin-api"
    + replaceAll "/usr/share/i18n/language_info.json" "${deepin-desktop-base}/share/i18n/language_info.json"
    + replaceAll "/usr/bin/dbus-send" "${dbus}/bin/dbus-send"
    + replaceAll "/usr/bin/true" "${coreutils}/bin/true"
    + replaceAll "/usr/sbin/alsactl" "alsactl"
    + ''
    substituteInPlace lunar-calendar/huangli.go adjust-grub-theme/main.go \
      --replace "/usr/share/dde-api" "$out/share/dde-api"
    substituteInPlace themes/{theme.go,settings.go} \
      --replace "/usr/share" "/run/current-system/sw/share"
  '';

  goDeps = ./deps.nix;

  nativeBuildInputs = [
    pkg-config
    deepin-gettext-tools
    wrapQtAppsHook
    wrapGAppsHook
  ];
  dontWrapGApps = true;

  buildInputs = [
    go-dbus-factory
    go-gir-generator
    go-lib
    gtk3
    alsa-lib
    libcanberra
    libgudev
    librsvg
    poppler
    pulseaudio
    gdk-pixbuf-xlib
  ];

  buildPhase = ''
    runHook preBuild
    GOPATH="$GOPATH:${go-dbus-factory}/share/gocode"
    GOPATH="$GOPATH:${go-gir-generator}/share/gocode"
    GOPATH="$GOPATH:${go-lib}/share/gocode"
    make -C go/src/${goPackagePath}
    runHook postBuild
  '';

  installPhase = ''
    runHook preInstall
    make install DESTDIR="$out" PREFIX="/" -C go/src/${goPackagePath}
    runHook postInstall
  '';

  preFixup = ''
    qtWrapperArgs+=("''${gappsWrapperArgs[@]}")
  '';

  postFixup = ''
    for binary in $out/lib/deepin-api/*; do
      wrapProgram $binary "''${qtWrapperArgs[@]}"
    done
  '';

  meta = with lib; {
    description = "Dbus interfaces used for screen zone detecting, thumbnail generating, sound playing, etc";
    homepage = "https://github.com/linuxdeepin/dde-api";
    license = licenses.gpl3Plus;
    platforms = platforms.linux;
    maintainers = teams.deepin.members;
  };
}
+210 −0
Original line number Diff line number Diff line
[
  {
    goPackagePath = "gopkg.in/alecthomas/kingpin.v2";
    fetch = {
      type = "git";
      url = "https://gopkg.in/alecthomas/kingpin.v2";
      rev = "v2.2.6";
      sha256 = "sha256-uViE2kPj7tMrGYVjjdLOl2jFDmmu+3P7GvnZBse2zVY=";
    };
  }
  {
    goPackagePath = "github.com/disintegration/imaging";
    fetch = {
      type = "git";
      url = "https://github.com/disintegration/imaging";
      rev = "v1.6.2";
      sha256 = "sha256-pSeMTPvSkxlthh65LjNYYhPLvCZDkBgVgAGYWW0Aguo=";
    };
  }
  {
    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 = "github.com/mattn/go-sqlites";
    fetch = {
      type = "git";
      url = "https://github.com/mattn/go-sqlite3";
      rev = "v1.14.12";
      sha256 = "sha256-SLW1FyyfJGPUid1epgmJHZGJebI77Wg5WMAPiz1GcYs=";
    };
  }
  {
    goPackagePath = "github.com/godbus/dbus";
    fetch = {
      type = "git";
      url = "https://github.com/godbus/dbus";
      rev = "v5.1.0";
      sha256 = "sha256-JSPtmkGEStBEVrKGszeLCb7P38SzQKgMiDC3eDppXs0=";
    };
  }
  {
    goPackagePath = "github.com/fsnotify/fsnotify";
    fetch = {
      type = "git";
      url = "https://github.com/fsnotify/fsnotify";
      rev = "v1.5.1";
      sha256 = "sha256-B8kZ8yiWgallT7R2j1kSRJcJkSGFVf9ise+TpXa+7XY=";
    };
  }
  {
    goPackagePath = "golang.org/x/sys";
    fetch = {
      type = "git";
      url = "https://github.com/golang/sys";
      rev = "289d7a0edf712062d9f1484b07bdf2383f48802f";
      sha256 = "sha256-AzS/J3OocI7mA0xsIfQzyskNKVija7F2yvuts+EFJBs=";
    };
  }
  {
    goPackagePath = "github.com/stretchr/testify";
    fetch = {
      type = "git";
      url = "https://github.com/stretchr/testify";
      rev = "v1.7.1";
      sha256 = "sha256-disUVIHiIDSj/go3APtJH8awSl8QwKRRFLKI7LRnl0w=";
    };
  }
  {
    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/pmezard/go-difflib";
    fetch = {
      type = "git";
      url = "https://github.com/pmezard/go-difflib";
      rev = "5d4384ee4fb2527b0a1256a821ebfc92f91efefc";
      sha256 = "sha256-XA4Oj1gdmdV/F/+8kMI+DBxKPthZ768hbKsO3d9Gx90=";
    };
  }
  {
    goPackagePath = "github.com/stretchr/objx";
    fetch = {
      type = "git";
      url = "https://github.com/stretchr/objx";
      rev = "v0.3.0";
      sha256 = "sha256-T753/EiD5Cpk6H2JFhd+s1gFvpNptG2XlEHxZF6dQaw=";
    };
  }
  {
    goPackagePath = "gopkg.in/yaml.v3";
    fetch = {
      type = "git";
      url = "https://github.com/go-yaml/yaml";
      rev = "496545a6307b2a7d7a710fd516e5e16e8ab62dbc";
      sha256 = "sha256-j8yDji+vqsitpRZirpb4w/Em8nstgf28wpwkcrOlxBk=";
    };
  }
  {
    goPackagePath = "golang.org/x/image";
    fetch = {
      type = "git";
      url = "https://github.com/golang/image";
      rev = "a8550c1d254a56cf1762a2993881d2b23c0c83dd";
      sha256 = "sha256-gtRGCsCe8tKLsZWhKLL8c5whz9rCMoCHfH13rcSW/OM=";
    };
  }
  {
    goPackagePath = "github.com/alecthomas/units";
    fetch = {
      type = "git";
      url = "https://github.com/alecthomas/units";
      rev = "b94a6e3cc13755c0a75fffecbb089eb346fc4289";
      sha256 = "sha256-uriYmwxT69xbmWKO/5OAyeMa2lFBOJDrU2KtQh/+ZjY=";
    };
  }
  {
    goPackagePath = "github.com/alecthomas/template";
    fetch = {
      type = "git";
      url = "https://github.com/alecthomas/template";
      rev = "fb15b899a75114aa79cc930e33c46b577cc664b1";
      sha256 = "sha256-RsS4qxdRQ3q+GejA8D9Iu31A/mZNms4LbJ7518jWiu4=";
    };
  }
  {
    goPackagePath = "github.com/cryptix/wav";
    fetch = {
      type = "git";
      url = "https://github.com/cryptix/wav";
      rev = "8bdace674401f0bd3b63c65479b6a6ff1f9d5e44";
      sha256 = "sha256-psUCHRFGEOpN3obFbCvSfW0AGEFSI29d0q4MFsHG3qI=";
    };
  }
  {
    goPackagePath = "github.com/fogleman/gg";
    fetch = {
      type = "git";
      url = "https://github.com/fogleman/gg";
      rev = "v1.3.0";
      sha256 = "sha256-Fs2JI0FmF4N5EzXJzGAPZMxZxo6wKyebkN/iBZ9sdNo=";
    };
  }
  {
    goPackagePath = "github.com/golang/freetype";
    fetch = {
      type = "git";
      url = "https://github.com/golang/freetype";
      rev = "e2365dfdc4a05e4b8299a783240d4a7d5a65d4e4";
      sha256 = "sha256-rOOsv1sNLbYEKnwXZtUlB2CXVkFANyzZy2E7w2QbnKQ=";
    };
  }
  {
    goPackagePath = "github.com/gosexy/gettext";
    fetch = {
      type = "git";
      url = "https://github.com/gosexy/gettext";
      rev = "74466a0a0c4a62fea38f44aa161d4bbfbe79dd6b";
      sha256 = "sha256-8U2oSi446U13c3uqcbg/14okypxKmckRuvWfZlGHVys=";
    };
  }
  {
    goPackagePath = "github.com/nfnt/resize";
    fetch = {
      type = "git";
      url = "https://github.com/nfnt/resize";
      rev = "83c6a9932646f83e3267f353373d47347b6036b2";
      sha256 = "sha256-yvPV+HlDOyJsiwAcVHQkmtw8DHSXyw+cXHkigXm8rAA=";
    };
  }
  {
    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=";
    };
  }
]