Merge pull request #215433 from wineee/dde-api

This commit is contained in:
Sandro 2023-02-16 20:50:47 +01:00 committed by GitHub
commit 10235445f9
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 359 additions and 0 deletions

View file

@ -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

View file

@ -0,0 +1,39 @@
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

View file

@ -0,0 +1,109 @@
{ 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;
};
}

View file

@ -0,0 +1,210 @@
[
{
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=";
};
}
]