1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
|
{ stdenv
, mkDerivation
, fetchFromGitHub
, pkgconfig
, cmake
, deepin
, qttools
, qtdeclarative
, networkmanager
, qtsvg
, qtx11extras
, dtkcore
, dtkwidget
, geoip
, gsettings-qt
, dde-network-utils
, networkmanager-qt
, xorg
, mtdev
, fontconfig
, freetype
, dde-api
, dde-daemon
, qt5integration
, deepin-desktop-base
, deepin-desktop-schemas
, dbus
, systemd
, dde-qt-dbus-factory
, qtmultimedia
, qtbase
, glib
, gnome3
, which
, substituteAll
, tzdata
, wrapGAppsHook
}:
mkDerivation rec {
pname = "dde-control-center";
version = "5.0.0";
src = fetchFromGitHub {
owner = "linuxdeepin";
repo = pname;
rev = version;
sha256 = "10bx8bpvi3ib32a3l4nyb1j0iq3bch8jm9wfm6d5v0ym1zb92x3b";
};
nativeBuildInputs = [
cmake
deepin.setupHook
pkgconfig
wrapGAppsHook
];
buildInputs = [
dde-api
dde-daemon
dde-network-utils
dde-qt-dbus-factory
deepin-desktop-base
deepin-desktop-schemas
dtkcore
dtkwidget
fontconfig
freetype
geoip
glib
gnome3.networkmanager-l2tp
gnome3.networkmanager-openconnect
gnome3.networkmanager-openvpn
gnome3.networkmanager-vpnc
gsettings-qt
mtdev
networkmanager-qt
qt5integration
qtbase
qtdeclarative
qtmultimedia
qtsvg
qttools
qtx11extras
xorg.libX11
xorg.libXext
xorg.libXrandr
xorg.libxcb
];
cmakeFlags = [
"-DDISABLE_SYS_UPDATE=YES"
"-DDCC_DISABLE_GRUB=YES"
];
patches = [
(substituteAll {
src = ./fix-paths.patch;
nmcli = "${networkmanager}/bin/nmcli";
which = "${which}/bin/which";
# not packaged
# dman = "${deepin-manual}/bin/dman";
inherit tzdata;
# exclusive to deepin linux?
# allows to synchronize configuration files to cloud networks
# deepin_sync = "${deepin-sync}";
})
];
postPatch = ''
searchHardCodedPaths
patchShebangs translate_ts2desktop.sh
patchShebangs translate_generation.sh
patchShebangs translate_desktop2ts.sh
fixPath $out /usr dde-control-center-autostart.desktop \
com.deepin.dde.ControlCenter.service \
src/frame/widgets/utils.h
substituteInPlace dde-control-center.desktop \
--replace "dbus-send" "${dbus}/bin/dbus-send"
substituteInPlace com.deepin.controlcenter.addomain.policy \
--replace "/bin/systemctl" "/run/current-system/sw/bin/systemctl"
'';
dontWrapQtApps = true;
preFixup = ''
gappsWrapperArgs+=(
"''${qtWrapperArgs[@]}"
)
'';
postFixup = ''
# debuging
searchForUnresolvedDLL $out
searchHardCodedPaths $out
'';
passthru.updateScript = deepin.updateScript { inherit pname version src; };
meta = with stdenv.lib; {
description = "Control panel of Deepin Desktop Environment";
homepage = "https://github.com/linuxdeepin/dde-control-center";
license = licenses.gpl3;
platforms = platforms.linux;
maintainers = with maintainers; [ romildo worldofpeace ];
};
}
|