deepin: remove from nixpkgs
The Deepin Desktop Environment (DDE) is not yet fully packaged in nixpkgs and it has shown a very difficult task to complete, as discussed in https://github.com/NixOS/nixpkgs/issues/94870. The conclusion is that it is better to completely remove it.
This commit is contained in:
parent
f6d71ecb8a
commit
b768afb2e9
@ -297,7 +297,6 @@
|
||||
./services/desktops/accountsservice.nix
|
||||
./services/desktops/bamf.nix
|
||||
./services/desktops/blueman.nix
|
||||
./services/desktops/deepin/deepin.nix
|
||||
./services/desktops/dleyna-renderer.nix
|
||||
./services/desktops/dleyna-server.nix
|
||||
./services/desktops/pantheon/files.nix
|
||||
|
@ -1,123 +0,0 @@
|
||||
# deepin
|
||||
|
||||
{ config, pkgs, lib, ... }:
|
||||
|
||||
{
|
||||
|
||||
###### interface
|
||||
|
||||
options = {
|
||||
|
||||
services.deepin.core.enable = lib.mkEnableOption "
|
||||
Basic dbus and systemd services, groups and users needed by the
|
||||
Deepin Desktop Environment.
|
||||
";
|
||||
|
||||
services.deepin.deepin-menu.enable = lib.mkEnableOption "
|
||||
DBus service for unified menus in Deepin Desktop Environment.
|
||||
";
|
||||
|
||||
services.deepin.deepin-turbo.enable = lib.mkEnableOption "
|
||||
Turbo service for the Deepin Desktop Environment. It is a daemon
|
||||
that helps to launch applications faster.
|
||||
";
|
||||
|
||||
};
|
||||
|
||||
|
||||
###### implementation
|
||||
|
||||
config = lib.mkMerge [
|
||||
|
||||
(lib.mkIf config.services.deepin.core.enable {
|
||||
environment.systemPackages = [
|
||||
pkgs.deepin.dde-api
|
||||
pkgs.deepin.dde-calendar
|
||||
pkgs.deepin.dde-control-center
|
||||
pkgs.deepin.dde-daemon
|
||||
pkgs.deepin.dde-dock
|
||||
pkgs.deepin.dde-launcher
|
||||
pkgs.deepin.dde-file-manager
|
||||
pkgs.deepin.dde-session-ui
|
||||
pkgs.deepin.deepin-anything
|
||||
pkgs.deepin.deepin-image-viewer
|
||||
];
|
||||
|
||||
services.dbus.packages = [
|
||||
pkgs.deepin.dde-api
|
||||
pkgs.deepin.dde-calendar
|
||||
pkgs.deepin.dde-control-center
|
||||
pkgs.deepin.dde-daemon
|
||||
pkgs.deepin.dde-dock
|
||||
pkgs.deepin.dde-launcher
|
||||
pkgs.deepin.dde-file-manager
|
||||
pkgs.deepin.dde-session-ui
|
||||
pkgs.deepin.deepin-anything
|
||||
pkgs.deepin.deepin-image-viewer
|
||||
];
|
||||
|
||||
systemd.packages = [
|
||||
pkgs.deepin.dde-api
|
||||
pkgs.deepin.dde-daemon
|
||||
pkgs.deepin.dde-file-manager
|
||||
pkgs.deepin.deepin-anything
|
||||
];
|
||||
|
||||
boot.extraModulePackages = [ config.boot.kernelPackages.deepin-anything ];
|
||||
|
||||
boot.kernelModules = [ "vfs_monitor" ];
|
||||
|
||||
users.groups.deepin-sound-player = { };
|
||||
|
||||
users.users.deepin-sound-player = {
|
||||
description = "Deepin sound player";
|
||||
group = "deepin-sound-player";
|
||||
isSystemUser = true;
|
||||
};
|
||||
|
||||
users.groups.deepin-daemon = { };
|
||||
|
||||
users.users.deepin-daemon = {
|
||||
description = "Deepin daemon user";
|
||||
group = "deepin-daemon";
|
||||
isSystemUser = true;
|
||||
};
|
||||
|
||||
users.groups.deepin_anything_server = { };
|
||||
|
||||
users.users.deepin_anything_server = {
|
||||
description = "Deepin Anything Server";
|
||||
group = "deepin_anything_server";
|
||||
isSystemUser = true;
|
||||
};
|
||||
|
||||
security.pam.services.deepin-auth-keyboard.text = ''
|
||||
# original at ${pkgs.deepin.dde-daemon}/etc/pam.d/deepin-auth-keyboard
|
||||
auth [success=2 default=ignore] pam_lsass.so
|
||||
auth [success=1 default=ignore] pam_unix.so nullok_secure try_first_pass
|
||||
auth requisite pam_deny.so
|
||||
auth required pam_permit.so
|
||||
'';
|
||||
|
||||
environment.etc = {
|
||||
"polkit-1/localauthority/10-vendor.d/com.deepin.api.device.pkla".source = "${pkgs.deepin.dde-api}/etc/polkit-1/localauthority/10-vendor.d/com.deepin.api.device.pkla";
|
||||
"polkit-1/localauthority/10-vendor.d/com.deepin.daemon.Accounts.pkla".source = "${pkgs.deepin.dde-daemon}/etc/polkit-1/localauthority/10-vendor.d/com.deepin.daemon.Accounts.pkla";
|
||||
"polkit-1/localauthority/10-vendor.d/com.deepin.daemon.Grub2.pkla".source = "${pkgs.deepin.dde-daemon}/etc/polkit-1/localauthority/10-vendor.d/com.deepin.daemon.Grub2.pkla";
|
||||
};
|
||||
|
||||
services.deepin.deepin-menu.enable = true;
|
||||
services.deepin.deepin-turbo.enable = true;
|
||||
})
|
||||
|
||||
(lib.mkIf config.services.deepin.deepin-menu.enable {
|
||||
services.dbus.packages = [ pkgs.deepin.deepin-menu ];
|
||||
})
|
||||
|
||||
(lib.mkIf config.services.deepin.deepin-turbo.enable {
|
||||
environment.systemPackages = [ pkgs.deepin.deepin-turbo ];
|
||||
systemd.packages = [ pkgs.deepin.deepin-turbo ];
|
||||
})
|
||||
|
||||
];
|
||||
|
||||
}
|
@ -1,81 +0,0 @@
|
||||
{ stdenv, lib, fontconfig, zlib, libGL, glib, pango
|
||||
, gdk-pixbuf, freetype, atk, cairo, libsForQt5, xorg
|
||||
, sqlite, taglib, nss, nspr, cups, dbus, alsaLib
|
||||
, libpulseaudio, deepin, qt5, harfbuzz, p11-kit
|
||||
, libgpgerror, libudev0-shim, makeWrapper, dpkg, fetchurl }:
|
||||
let
|
||||
rpath = lib.makeLibraryPath [
|
||||
fontconfig.lib
|
||||
zlib
|
||||
stdenv.cc.cc.lib
|
||||
libGL
|
||||
glib
|
||||
pango
|
||||
gdk-pixbuf
|
||||
freetype
|
||||
atk
|
||||
cairo
|
||||
libsForQt5.vlc
|
||||
sqlite
|
||||
taglib
|
||||
nss
|
||||
nspr
|
||||
cups.lib
|
||||
dbus.lib
|
||||
alsaLib
|
||||
libpulseaudio
|
||||
xorg.libX11
|
||||
xorg.libXext
|
||||
xorg.libXtst
|
||||
xorg.libXdamage
|
||||
xorg.libXScrnSaver
|
||||
xorg.libxcb
|
||||
xorg.libXi
|
||||
deepin.qcef
|
||||
qt5.qtwebchannel
|
||||
qt5.qtbase
|
||||
qt5.qtx11extras
|
||||
qt5.qtdeclarative
|
||||
harfbuzz
|
||||
p11-kit
|
||||
libgpgerror
|
||||
];
|
||||
|
||||
runtimeLibs = lib.makeLibraryPath [ libudev0-shim ];
|
||||
|
||||
in stdenv.mkDerivation rec {
|
||||
pname = "netease-cloud-music";
|
||||
version = "1.2.0";
|
||||
src = fetchurl {
|
||||
url = "http://d1.music.126.net/dmusic/netease-cloud-music_1.2.0_amd64_deepin_stable_20190424.deb";
|
||||
sha256 = "0hg8jqim77vd0fmk8gfbz2fmlj99byxcm9jn70xf7vk1sy7wp6h1";
|
||||
curlOpts = "-A 'Mozilla/5.0'";
|
||||
};
|
||||
unpackCmd = "${dpkg}/bin/dpkg -x $src .";
|
||||
sourceRoot = ".";
|
||||
|
||||
nativeBuildInputs = [ qt5.wrapQtAppsHook makeWrapper ];
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out
|
||||
cp -r usr/* $out
|
||||
'';
|
||||
|
||||
preFixup = ''
|
||||
local exefile="$out/bin/netease-cloud-music"
|
||||
patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" "$exefile"
|
||||
patchelf --set-rpath "$out/libs:$(patchelf --print-rpath "$exefile"):${rpath}" "$exefile"
|
||||
|
||||
wrapProgram $out/bin/netease-cloud-music \
|
||||
--prefix LD_LIBRARY_PATH : "${runtimeLibs}" \
|
||||
--set QCEF_INSTALL_PATH "${deepin.qcef}/lib/qcef"
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Client for Netease Cloud Music service";
|
||||
homepage = "https://music.163.com";
|
||||
platforms = [ "i686-linux" "x86_64-linux" ];
|
||||
maintainers = [ stdenv.lib.maintainers.mlatus ];
|
||||
license = stdenv.lib.licenses.unfreeRedistributable;
|
||||
};
|
||||
}
|
@ -1,127 +0,0 @@
|
||||
{ stdenv
|
||||
, buildGoPackage
|
||||
, fetchFromGitHub
|
||||
, pkgconfig
|
||||
, alsaLib
|
||||
, bc
|
||||
, blur-effect
|
||||
, coreutils
|
||||
, deepin
|
||||
, deepin-gettext-tools
|
||||
, fontconfig
|
||||
, go
|
||||
, go-dbus-factory
|
||||
, go-gir-generator
|
||||
, go-lib
|
||||
, grub2
|
||||
, gtk3
|
||||
, libcanberra
|
||||
, libgudev
|
||||
, librsvg
|
||||
, poppler
|
||||
, pulseaudio
|
||||
, utillinux
|
||||
, xcur2png
|
||||
}:
|
||||
|
||||
buildGoPackage rec {
|
||||
pname = "dde-api";
|
||||
version = "5.0.0";
|
||||
|
||||
goPackagePath = "pkg.deepin.io/dde/api";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "linuxdeepin";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "0iv4krj6dqdknwvmax7aj40k1h96259kqcfnljadrwpl7cvsvp5p";
|
||||
};
|
||||
|
||||
goDeps = ./deps.nix;
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkgconfig
|
||||
deepin-gettext-tools # build
|
||||
deepin.setupHook
|
||||
|
||||
# TODO: using $PATH to find run time executable does not work with cross compiling
|
||||
bc # run (to adjust grub theme?)
|
||||
blur-effect # run (is it really needed?)
|
||||
coreutils # run (is it really needed?)
|
||||
fontconfig # run (is it really needed?)
|
||||
utillinux # run
|
||||
xcur2png # run
|
||||
grub2 # run (is it really needed?)
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
go-dbus-factory # needed
|
||||
go-gir-generator # needed
|
||||
go-lib # build
|
||||
|
||||
alsaLib # needed
|
||||
#glib # ? arch
|
||||
gtk3 # build run
|
||||
libcanberra # build run
|
||||
libgudev # needed
|
||||
librsvg # build run
|
||||
poppler # build run
|
||||
pulseaudio # needed
|
||||
#locales # run (locale-helper needs locale-gen, which is unavailable on NixOS?)
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
searchHardCodedPaths # debugging
|
||||
|
||||
fixPath $out /usr/lib/deepin-api \
|
||||
lunar-calendar/main.go \
|
||||
misc/services/com.deepin.api.CursorHelper.service \
|
||||
misc/services/com.deepin.api.Graphic.service \
|
||||
misc/services/com.deepin.api.LunarCalendar.service \
|
||||
misc/services/com.deepin.api.Pinyin.service \
|
||||
misc/system-services/com.deepin.api.Device.service \
|
||||
misc/system-services/com.deepin.api.LocaleHelper.service \
|
||||
misc/system-services/com.deepin.api.SoundThemePlayer.service \
|
||||
misc/systemd/system/deepin-shutdown-sound.service \
|
||||
theme_thumb/gtk/gtk.go \
|
||||
thumbnails/gtk/gtk.go
|
||||
fixPath $out /boot/grub Makefile # TODO: confirm where to install grub themes
|
||||
fixPath $out /var Makefile
|
||||
|
||||
# This package wants to install polkit local authority files into
|
||||
# /var/lib. Nix does not allow a package to install files into /var/lib
|
||||
# because it is outside of the Nix store and should contain applications
|
||||
# state information (persistent data modified by programs as they
|
||||
# run). Polkit looks for them in both /etc/polkit-1 and
|
||||
# /var/lib/polkit-1 (with /etc having priority over /var/lib). An
|
||||
# work around is to install them to $out/etc and simlnk them to
|
||||
# /etc in the deepin module.
|
||||
|
||||
sed -i -e "s,/var/lib/polkit-1,/etc/polkit-1," Makefile
|
||||
'';
|
||||
|
||||
buildPhase = ''
|
||||
export GOCACHE="$TMPDIR/go-cache";
|
||||
make -C go/src/${goPackagePath}
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
make install PREFIX="$out" SYSTEMD_LIB_DIR="$out/lib" -C go/src/${goPackagePath}
|
||||
mv $out/share/gocode $out/share/go
|
||||
'';
|
||||
|
||||
postFixup = ''
|
||||
searchHardCodedPaths $out # debugging
|
||||
'';
|
||||
|
||||
passthru.updateScript = deepin.updateScript { inherit pname version src; };
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Go-lang bindings for dde-daemon";
|
||||
homepage = "https://github.com/linuxdeepin/dde-api";
|
||||
license = licenses.gpl3;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ romildo ];
|
||||
broken = true; # 2020-08-22 https://hydra.nixos.org/build/125354866/nixlog/2
|
||||
};
|
||||
}
|
102
pkgs/desktops/deepin/dde-api/deps.nix
generated
102
pkgs/desktops/deepin/dde-api/deps.nix
generated
@ -1,102 +0,0 @@
|
||||
# This file was generated by https://github.com/kamilchm/go2nix v1.3.0
|
||||
[
|
||||
{
|
||||
goPackagePath = "github.com/alecthomas/template";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://github.com/alecthomas/template";
|
||||
rev = "fb15b899a75114aa79cc930e33c46b577cc664b1";
|
||||
sha256 = "1vlasv4dgycydh5wx6jdcvz40zdv90zz1h7836z7lhsi2ymvii26";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "github.com/alecthomas/units";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://github.com/alecthomas/units";
|
||||
rev = "f65c72e2690dc4b403c8bd637baf4611cd4c069b";
|
||||
sha256 = "04jyqm7m3m01ppfy1f9xk4qvrwvs78q9zml6llyf2b3v5k6b2bbc";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "github.com/cryptix/wav";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://github.com/cryptix/wav";
|
||||
rev = "8bdace674401f0bd3b63c65479b6a6ff1f9d5e44";
|
||||
sha256 = "18nyqv0ic35fs9fny8sj84c00vbxs8mnric6vr6yl42624fh5id6";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "github.com/disintegration/imaging";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://github.com/disintegration/imaging";
|
||||
rev = "9aab30e6aa535fe3337b489b76759ef97dfaf362";
|
||||
sha256 = "015amm3x989hl3r4gxnixj602fl9j8z53n0lrq804cbfbk7a31fw";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "github.com/fogleman/gg";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://github.com/fogleman/gg";
|
||||
rev = "4dc34561c649343936bb2d29e23959bd6d98ab12";
|
||||
sha256 = "1x1finzdrr80dd3r7wvf7zb184yjf4dawz7s581p2dr64dcialww";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "github.com/golang/freetype";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://github.com/golang/freetype";
|
||||
rev = "e2365dfdc4a05e4b8299a783240d4a7d5a65d4e4";
|
||||
sha256 = "194w3djc6fv1rgcjqds085b9fq074panc5vw582bcb8dbfzsrqxc";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "github.com/linuxdeepin/go-x11-client";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://github.com/linuxdeepin/go-x11-client";
|
||||
rev = "b5b01565d224d5ccd5a4143d9099acceb23e182a";
|
||||
sha256 = "1lnffjp8bqy6f8caw6drg1js6hny5w7432riqchcrcd4q85d94rs";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "github.com/nfnt/resize";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://github.com/nfnt/resize";
|
||||
rev = "83c6a9932646f83e3267f353373d47347b6036b2";
|
||||
sha256 = "005cpiwq28krbjf0zjwpfh63rp4s4is58700idn24fs3g7wdbwya";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "golang.org/x/image";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://go.googlesource.com/image";
|
||||
rev = "e7c1f5e7dbb87d8921928a6d9fc52fb31ce73b24";
|
||||
sha256 = "0czp897aicqw1dgybj0hc2zzwb20rhqkdqm7siqci3yk7yk9cymf";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "golang.org/x/net";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://go.googlesource.com/net";
|
||||
rev = "daa7c04131f568e31c51927b359a2d197a357058";
|
||||
sha256 = "17gbfvb5iqyayzw0zd6q218zsbf7x74rflvn18wkxvsw95n1y54h";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "gopkg.in/alecthomas/kingpin.v2";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://gopkg.in/alecthomas/kingpin.v2";
|
||||
rev = "947dcec5ba9c011838740e680966fd7087a71d0d";
|
||||
sha256 = "0mndnv3hdngr3bxp7yxfd47cas4prv98sqw534mx7vp38gd88n5r";
|
||||
};
|
||||
}
|
||||
]
|
@ -1,57 +0,0 @@
|
||||
{ stdenv
|
||||
, mkDerivation
|
||||
, fetchFromGitHub
|
||||
, pkgconfig
|
||||
, cmake
|
||||
, qttools
|
||||
, deepin-gettext-tools
|
||||
, dtkcore
|
||||
, dtkwidget
|
||||
, deepin
|
||||
}:
|
||||
|
||||
mkDerivation rec {
|
||||
pname = "dde-calendar";
|
||||
version = "5.0.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "linuxdeepin";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "1zzr3crkz4l5l135y0m53vqhv7fkrbvbspk8295swz9gsm3f7ah9";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
pkgconfig
|
||||
qttools
|
||||
deepin-gettext-tools
|
||||
deepin.setupHook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
dtkcore
|
||||
dtkwidget
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
searchHardCodedPaths
|
||||
patchShebangs translate_generation.sh
|
||||
patchShebangs translate_desktop.sh
|
||||
|
||||
fixPath $out /usr com.deepin.Calendar.service
|
||||
|
||||
sed -i translate_desktop.sh \
|
||||
-e "s,/usr/bin/deepin-desktop-ts-convert,deepin-desktop-ts-convert,"
|
||||
'';
|
||||
|
||||
passthru.updateScript = deepin.updateScript { inherit pname version src; };
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Calendar for Deepin Desktop Environment";
|
||||
homepage = "https://github.com/linuxdeepin/dde-calendar";
|
||||
license = licenses.gpl3;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ romildo ];
|
||||
};
|
||||
}
|
@ -1,150 +0,0 @@
|
||||
{ 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 ];
|
||||
};
|
||||
}
|
@ -1,65 +0,0 @@
|
||||
diff --git a/src/frame/frame.cpp b/src/frame/frame.cpp
|
||||
index 90d06f8..7cdad04 100644
|
||||
--- a/src/frame/frame.cpp
|
||||
+++ b/src/frame/frame.cpp
|
||||
@@ -375,7 +375,7 @@ void Frame::keyPressEvent(QKeyEvent *e)
|
||||
#ifdef QT_DEBUG
|
||||
case Qt::Key_Escape: qApp->quit(); break;
|
||||
#endif
|
||||
- case Qt::Key_F1: QProcess::startDetached("dman", QStringList("dde")); break;
|
||||
+ case Qt::Key_F1: QProcess::startDetached("@dman@", QStringList("dde")); break;
|
||||
default:;
|
||||
}
|
||||
}
|
||||
diff --git a/src/frame/modules/datetime/timezone_dialog/timezone.cpp b/src/frame/modules/datetime/timezone_dialog/timezone.cpp
|
||||
index 3dd4aad..5f1b363 100644
|
||||
--- a/src/frame/modules/datetime/timezone_dialog/timezone.cpp
|
||||
+++ b/src/frame/modules/datetime/timezone_dialog/timezone.cpp
|
||||
@@ -46,7 +46,7 @@ namespace installer {
|
||||
namespace {
|
||||
|
||||
// Absolute path to zone.tab file.
|
||||
-const char kZoneTabFile[] = "/usr/share/zoneinfo/zone.tab";
|
||||
+const char kZoneTabFile[] = "@tzdata@/share/zoneinfo/zone.tab";
|
||||
|
||||
// Absolute path to backward timezone file.
|
||||
const char kTimezoneAliasFile[] = "/timezone_alias";
|
||||
diff --git a/src/frame/modules/network/connectionvpneditpage.cpp b/src/frame/modules/network/connectionvpneditpage.cpp
|
||||
index e292865..95c5a2b 100644
|
||||
--- a/src/frame/modules/network/connectionvpneditpage.cpp
|
||||
+++ b/src/frame/modules/network/connectionvpneditpage.cpp
|
||||
@@ -215,7 +215,7 @@ void ConnectionVpnEditPage::exportConnConfig()
|
||||
qDebug() << Q_FUNC_INFO << args;
|
||||
|
||||
QProcess p;
|
||||
- p.start("nmcli", args);
|
||||
+ p.start("@nmcli@", args);
|
||||
p.waitForFinished();
|
||||
qDebug() << p.readAllStandardOutput();
|
||||
qDebug() << p.readAllStandardError();
|
||||
diff --git a/src/frame/modules/network/vpnpage.cpp b/src/frame/modules/network/vpnpage.cpp
|
||||
index 521a603..450d1a6 100644
|
||||
--- a/src/frame/modules/network/vpnpage.cpp
|
||||
+++ b/src/frame/modules/network/vpnpage.cpp
|
||||
@@ -224,7 +224,7 @@ void VpnPage::importVPN()
|
||||
qDebug() << args;
|
||||
|
||||
QProcess p;
|
||||
- p.start("nmcli", args);
|
||||
+ p.start("@nmcli@", args);
|
||||
p.waitForFinished();
|
||||
const auto stat = p.exitCode();
|
||||
const QString output = p.readAllStandardOutput();
|
||||
diff --git a/src/frame/modules/sync/syncworker.cpp b/src/frame/modules/sync/syncworker.cpp
|
||||
index 3f929bf..6f240d9 100644
|
||||
--- a/src/frame/modules/sync/syncworker.cpp
|
||||
+++ b/src/frame/modules/sync/syncworker.cpp
|
||||
@@ -24,7 +24,7 @@ SyncWorker::SyncWorker(SyncModel *model, QObject *parent)
|
||||
|
||||
m_model->setSyncIsValid(
|
||||
QProcess::execute(
|
||||
- "which", QStringList() << "/usr/lib/deepin-sync-daemon/deepin-sync-daemon") ==
|
||||
+ "@which@", QStringList() << "@deepin_sync@/lib/deepin-sync-daemon/deepin-sync-daemon") ==
|
||||
0 &&
|
||||
valueByQSettings<bool>(DCC_CONFIG_FILES, "CloudSync", "AllowCloudSync", false));
|
||||
}
|
@ -1,158 +0,0 @@
|
||||
{ stdenv
|
||||
, buildGoPackage
|
||||
, fetchFromGitHub
|
||||
, fetchpatch
|
||||
, pkgconfig
|
||||
, go-dbus-factory
|
||||
, go-gir-generator
|
||||
, go-lib
|
||||
, deepin-gettext-tools
|
||||
, gettext
|
||||
, dde-api
|
||||
, deepin-desktop-schemas
|
||||
, deepin-wallpapers
|
||||
, deepin-desktop-base
|
||||
, alsaLib
|
||||
, glib
|
||||
, gtk3
|
||||
, libgudev
|
||||
, libinput
|
||||
, libnl
|
||||
, librsvg
|
||||
, linux-pam
|
||||
, networkmanager
|
||||
, pulseaudio
|
||||
, python3
|
||||
, hicolor-icon-theme
|
||||
, glibc
|
||||
, tzdata
|
||||
, go
|
||||
, deepin
|
||||
, makeWrapper
|
||||
, xkeyboard_config
|
||||
, wrapGAppsHook
|
||||
}:
|
||||
|
||||
buildGoPackage rec {
|
||||
pname = "dde-daemon";
|
||||
version = "5.0.0";
|
||||
|
||||
goPackagePath = "pkg.deepin.io/dde/daemon";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "linuxdeepin";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "08jri31bvzbaxaq78rpp46ndv0li2dij63hakvd9b9gs786srql1";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# https://github.com/linuxdeepin/dde-daemon/issues/51
|
||||
(fetchpatch {
|
||||
url = "https://github.com/jouyouyun/tap-gesture-patches/raw/master/patches/dde-daemon_3.8.0.patch";
|
||||
sha256 = "1ampdsp9zlg263flswdw9gj10n7gxh7zi6w6z9jgh29xlai05pvh";
|
||||
})
|
||||
];
|
||||
|
||||
goDeps = ./deps.nix;
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkgconfig
|
||||
deepin-gettext-tools
|
||||
gettext
|
||||
networkmanager
|
||||
networkmanager.dev
|
||||
python3
|
||||
makeWrapper
|
||||
wrapGAppsHook
|
||||
deepin.setupHook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
go-dbus-factory
|
||||
go-gir-generator
|
||||
go-lib
|
||||
linux-pam
|
||||
|
||||
alsaLib
|
||||
dde-api
|
||||
deepin-desktop-base
|
||||
deepin-desktop-schemas
|
||||
deepin-wallpapers
|
||||
glib
|
||||
libgudev
|
||||
gtk3
|
||||
hicolor-icon-theme
|
||||
libinput
|
||||
libnl
|
||||
librsvg
|
||||
pulseaudio
|
||||
tzdata
|
||||
xkeyboard_config
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
searchHardCodedPaths # debugging
|
||||
patchShebangs network/nm_generator/gen_nm_consts.py
|
||||
|
||||
fixPath $out /usr/share/dde/data launcher/manager.go dock/dock_manager_init.go
|
||||
fixPath $out /usr/share/dde-daemon launcher/manager.go gesture/config.go
|
||||
fixPath ${networkmanager.dev} /usr/share/gir-1.0/NM-1.0.gir network/nm_generator/Makefile
|
||||
fixPath ${glibc.bin} /usr/bin/getconf systeminfo/utils.go
|
||||
fixPath ${deepin-desktop-base} /etc/deepin-version systeminfo/version.go accounts/deepinversion.go
|
||||
fixPath ${tzdata} /usr/share/zoneinfo timedate/zoneinfo/zone.go
|
||||
fixPath ${dde-api} /usr/lib/deepin-api grub2/modify_manger.go accounts/image_blur.go
|
||||
fixPath ${deepin-wallpapers} /usr/share/wallpapers appearance/background/list.go accounts/user.go
|
||||
fixPath ${xkeyboard_config} /usr/share/X11/xkb inputdevices/layout_list.go
|
||||
|
||||
# TODO: deepin-system-monitor comes from dde-extra
|
||||
|
||||
sed -i -e "s|{DESTDIR}/etc|{DESTDIR}$out/etc|" Makefile
|
||||
sed -i -e "s|{DESTDIR}/lib|{DESTDIR}$out/lib|" Makefile
|
||||
sed -i -e "s|{DESTDIR}/var|{DESTDIR}$out/var|" Makefile
|
||||
|
||||
find -type f -exec sed -i -e "s,/usr/lib/deepin-daemon,$out/lib/deepin-daemon," {} +
|
||||
|
||||
# This package wants to install polkit local authority files into
|
||||
# /var/lib. Nix does not allow a package to install files into /var/lib
|
||||
# because it is outside of the Nix store and should contain applications
|
||||
# state information (persistent data modified by programs as they
|
||||
# run). Polkit looks for them in both /etc/polkit-1 and
|
||||
# /var/lib/polkit-1 (with /etc having priority over /var/lib). An
|
||||
# work around is to install them to $out/etc and simlnk them to
|
||||
# /etc in the deepin module.
|
||||
|
||||
sed -i -e "s,/var/lib/polkit-1,/etc/polkit-1," Makefile
|
||||
'';
|
||||
|
||||
buildPhase = ''
|
||||
export PAM_MODULE_DIR="$out/lib/security"
|
||||
# compilation of the nm module is failing
|
||||
#make -C go/src/${goPackagePath}/network/nm_generator gen-nm-code
|
||||
make -C go/src/${goPackagePath}
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
make install PREFIX="$out" -C go/src/${goPackagePath}
|
||||
searchHardCodedPaths $out
|
||||
'';
|
||||
|
||||
postFixup = ''
|
||||
# wrapGAppsHook does not work with binaries outside of $out/bin or $out/libexec
|
||||
for binary in $out/lib/deepin-daemon/*; do
|
||||
wrapGApp "$binary"
|
||||
done
|
||||
|
||||
searchHardCodedPaths $out # debugging
|
||||
'';
|
||||
|
||||
passthru.updateScript = deepin.updateScript { inherit pname version src; };
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Daemon for handling Deepin Desktop Environment session settings";
|
||||
homepage = "https://github.com/linuxdeepin/dde-daemon";
|
||||
license = licenses.gpl3;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ romildo ];
|
||||
};
|
||||
}
|
111
pkgs/desktops/deepin/dde-daemon/deps.nix
generated
111
pkgs/desktops/deepin/dde-daemon/deps.nix
generated
@ -1,111 +0,0 @@
|
||||
# This file was generated by https://github.com/kamilchm/go2nix v1.3.0
|
||||
[
|
||||
{
|
||||
goPackagePath = "github.com/alecthomas/template";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://github.com/alecthomas/template";
|
||||
rev = "fb15b899a75114aa79cc930e33c46b577cc664b1";
|
||||
sha256 = "1vlasv4dgycydh5wx6jdcvz40zdv90zz1h7836z7lhsi2ymvii26";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "github.com/alecthomas/units";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://github.com/alecthomas/units";
|
||||
rev = "f65c72e2690dc4b403c8bd637baf4611cd4c069b";
|
||||
sha256 = "04jyqm7m3m01ppfy1f9xk4qvrwvs78q9zml6llyf2b3v5k6b2bbc";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "github.com/axgle/mahonia";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://github.com/axgle/mahonia";
|
||||
rev = "3358181d7394e26beccfae0ffde05193ef3be33a";
|
||||
sha256 = "0b8wsrxmv8a0cqbnsg55lpf29pxy2zw8azvgh3ck664lqpcfybhq";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "github.com/cryptix/wav";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://github.com/cryptix/wav";
|
||||
rev = "8bdace674401f0bd3b63c65479b6a6ff1f9d5e44";
|
||||
sha256 = "18nyqv0ic35fs9fny8sj84c00vbxs8mnric6vr6yl42624fh5id6";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "github.com/gosexy/gettext";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://github.com/gosexy/gettext";
|
||||
rev = "74466a0a0c4a62fea38f44aa161d4bbfbe79dd6b";
|
||||
sha256 = "0asphx8nd7zmp88wk6aakk5292np7yw73akvfdvlvs9q5r5ahkgi";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "github.com/linuxdeepin/go-x11-client";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://github.com/linuxdeepin/go-x11-client";
|
||||
rev = "b5b01565d224d5ccd5a4143d9099acceb23e182a";
|
||||
sha256 = "1lnffjp8bqy6f8caw6drg1js6hny5w7432riqchcrcd4q85d94rs";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "github.com/msteinert/pam";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://github.com/msteinert/pam";
|
||||
rev = "f29b9f28d6f9a1f6c4e6fd5db731999eb946574b";
|
||||
sha256 = "1v5z51mgyz2glm7v0mg60xs1as88wx6cqhys2khc5d3khkr8q0qp";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "github.com/nfnt/resize";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://github.com/nfnt/resize";
|
||||
rev = "83c6a9932646f83e3267f353373d47347b6036b2";
|
||||
sha256 = "005cpiwq28krbjf0zjwpfh63rp4s4is58700idn24fs3g7wdbwya";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "golang.org/x/image";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://go.googlesource.com/image";
|
||||
rev = "e7c1f5e7dbb87d8921928a6d9fc52fb31ce73b24";
|
||||
sha256 = "0czp897aicqw1dgybj0hc2zzwb20rhqkdqm7siqci3yk7yk9cymf";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "golang.org/x/net";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://go.googlesource.com/net";
|
||||
rev = "daa7c04131f568e31c51927b359a2d197a357058";
|
||||
sha256 = "17gbfvb5iqyayzw0zd6q218zsbf7x74rflvn18wkxvsw95n1y54h";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "golang.org/x/text";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://go.googlesource.com/text";
|
||||
rev = "4b67af870c6ffd08258ef1202f371aebccaf7b68";
|
||||
sha256 = "01mhy1xs2dh18kp6wdk1xnb34lbzv2qkvdwj7w5ha2qgm5rrm4ik";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "gopkg.in/alecthomas/kingpin.v2";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://gopkg.in/alecthomas/kingpin.v2";
|
||||
rev = "947dcec5ba9c011838740e680966fd7087a71d0d";
|
||||
sha256 = "0mndnv3hdngr3bxp7yxfd47cas4prv98sqw534mx7vp38gd88n5r";
|
||||
};
|
||||
}
|
||||
]
|
@ -1,39 +0,0 @@
|
||||
From c48867b73485b34b95f14e9b9bbb54507fc77648 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Jos=C3=A9=20Romildo=20Malaquias?= <malaquias@gmail.com>
|
||||
Date: Fri, 19 Apr 2019 18:21:49 -0300
|
||||
Subject: [PATCH] Use an environment variable for the plugins directory
|
||||
|
||||
---
|
||||
frame/controller/dockpluginscontroller.cpp | 2 +-
|
||||
plugins/tray/system-trays/systemtrayscontroller.cpp | 2 +-
|
||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/frame/controller/dockpluginscontroller.cpp b/frame/controller/dockpluginscontroller.cpp
|
||||
index 32a5885..efd53c8 100644
|
||||
--- a/frame/controller/dockpluginscontroller.cpp
|
||||
+++ b/frame/controller/dockpluginscontroller.cpp
|
||||
@@ -126,7 +126,7 @@ void DockPluginsController::startLoader()
|
||||
{
|
||||
QString pluginsDir("../plugins");
|
||||
if (!QDir(pluginsDir).exists()) {
|
||||
- pluginsDir = "/usr/lib/dde-dock/plugins";
|
||||
+ pluginsDir = QProcessEnvironment::systemEnvironment().value("DDE_DOCK_PLUGINS_DIR", "@out@/lib/dde-dock/plugins");
|
||||
}
|
||||
qDebug() << "using dock plugins dir:" << pluginsDir;
|
||||
|
||||
diff --git a/plugins/tray/system-trays/systemtrayscontroller.cpp b/plugins/tray/system-trays/systemtrayscontroller.cpp
|
||||
index 0c8ca88..7c47d25 100644
|
||||
--- a/plugins/tray/system-trays/systemtrayscontroller.cpp
|
||||
+++ b/plugins/tray/system-trays/systemtrayscontroller.cpp
|
||||
@@ -159,7 +159,7 @@ void SystemTraysController::startLoader()
|
||||
{
|
||||
QString pluginsDir("../plugins/system-trays");
|
||||
if (!QDir(pluginsDir).exists()) {
|
||||
- pluginsDir = "/usr/lib/dde-dock/plugins/system-trays";
|
||||
+ pluginsDir = QProcessEnvironment::systemEnvironment().value("DDE_DOCK_PLUGINS_DIR", "@out@/lib/dde-dock/plugins") + "/system-trays";
|
||||
}
|
||||
qDebug() << "using system tray plugins dir:" << pluginsDir;
|
||||
|
||||
--
|
||||
2.21.0
|
||||
|
@ -1,116 +0,0 @@
|
||||
{ stdenv
|
||||
, mkDerivation
|
||||
, fetchFromGitHub
|
||||
, cmake
|
||||
, pkgconfig
|
||||
, qttools
|
||||
, qtx11extras
|
||||
, qtsvg
|
||||
, polkit
|
||||
, gsettings-qt
|
||||
, dtkcore
|
||||
, dtkwidget
|
||||
, dde-qt-dbus-factory
|
||||
, dde-network-utils
|
||||
, dde-daemon
|
||||
, deepin-desktop-schemas
|
||||
, xorg
|
||||
, glib
|
||||
, wrapGAppsHook
|
||||
, deepin
|
||||
, plugins ? [ ]
|
||||
, symlinkJoin
|
||||
, makeWrapper
|
||||
, libdbusmenu
|
||||
}:
|
||||
|
||||
let
|
||||
unwrapped = mkDerivation rec {
|
||||
pname = "dde-dock";
|
||||
version = "5.0.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "linuxdeepin";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "12dshsqhzajnxm7r53qg0c84b6xlj313qnssnx2m25z4jdp5i7pr";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
pkgconfig
|
||||
qttools
|
||||
wrapGAppsHook
|
||||
deepin.setupHook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
dde-daemon
|
||||
dde-network-utils
|
||||
dde-qt-dbus-factory
|
||||
deepin-desktop-schemas
|
||||
dtkcore
|
||||
dtkwidget
|
||||
glib
|
||||
gsettings-qt
|
||||
libdbusmenu
|
||||
polkit
|
||||
qtsvg
|
||||
qtx11extras
|
||||
xorg.libXdmcp
|
||||
xorg.libXtst
|
||||
xorg.libpthreadstubs
|
||||
];
|
||||
|
||||
patches = [
|
||||
./dde-dock.plugins-dir.patch
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
searchHardCodedPaths
|
||||
patchShebangs translate_generation.sh
|
||||
fixPath $out /etc/dde-dock plugins/keyboard-layout/CMakeLists.txt
|
||||
fixPath $out /usr cmake/DdeDock/DdeDockConfig.cmake
|
||||
fixPath $out /usr dde-dock.pc
|
||||
fixPath $out /usr/bin/dde-dock frame/com.deepin.dde.Dock.service
|
||||
fixPath $out /usr/share/dbus-1 CMakeLists.txt
|
||||
fixPath ${dde-daemon} /usr/lib/deepin-daemon frame/item/showdesktopitem.cpp
|
||||
fixPath ${dde-network-utils} /usr/share/dde-network-utils frame/main.cpp
|
||||
fixPath ${polkit} /usr/bin/pkexec plugins/overlay-warning/overlay-warning-plugin.cpp
|
||||
|
||||
substituteInPlace frame/controller/dockpluginscontroller.cpp --subst-var-by out $out
|
||||
substituteInPlace plugins/tray/system-trays/systemtrayscontroller.cpp --subst-var-by out $out
|
||||
'';
|
||||
|
||||
cmakeFlags = [ "-DDOCK_TRAY_USE_NATIVE_POPUP=YES" ];
|
||||
|
||||
dontWrapQtApps = true;
|
||||
|
||||
preFixup = ''
|
||||
gappsWrapperArgs+=(
|
||||
"''${qtWrapperArgs[@]}"
|
||||
)
|
||||
'';
|
||||
|
||||
postFixup = ''
|
||||
searchHardCodedPaths $out
|
||||
'';
|
||||
|
||||
passthru.updateScript = deepin.updateScript { inherit pname version src; };
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Dock for Deepin Desktop Environment";
|
||||
homepage = "https://github.com/linuxdeepin/dde-dock";
|
||||
license = licenses.gpl3;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ romildo ];
|
||||
};
|
||||
};
|
||||
|
||||
in
|
||||
if plugins == [ ]
|
||||
then unwrapped
|
||||
else import ./wrapper.nix {
|
||||
inherit makeWrapper symlinkJoin plugins;
|
||||
dde-dock = unwrapped;
|
||||
}
|
@ -1,25 +0,0 @@
|
||||
{ makeWrapper
|
||||
, symlinkJoin
|
||||
, dde-dock
|
||||
, plugins
|
||||
}:
|
||||
|
||||
symlinkJoin {
|
||||
name = "dde-dock-with-plugins-${dde-dock.version}";
|
||||
|
||||
paths = [ dde-dock ] ++ plugins;
|
||||
|
||||
buildInputs = [ makeWrapper ];
|
||||
|
||||
postBuild = ''
|
||||
wrapProgram $out/bin/dde-dock \
|
||||
--set DDE_DOCK_PLUGINS_DIR "$out/lib/dde-dock/plugins"
|
||||
|
||||
rm $out/share/dbus-1/services/com.deepin.dde.Dock.service
|
||||
|
||||
substitute ${dde-dock}/share/dbus-1/services/com.deepin.dde.Dock.service $out/share/dbus-1/services/com.deepin.dde.Dock.service \
|
||||
--replace ${dde-dock} $out
|
||||
'';
|
||||
|
||||
inherit (dde-dock) meta;
|
||||
}
|
@ -1,323 +0,0 @@
|
||||
From 29f4ad88e2294ae70b10180e7361d135c4e5c896 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Jos=C3=A9=20Romildo=20Malaquias?= <malaquias@gmail.com>
|
||||
Date: Mon, 13 May 2019 00:09:42 -0300
|
||||
Subject: [PATCH 2/2] Use XDG to look for mime cache
|
||||
|
||||
---
|
||||
.../shutil/mimesappsmanager.cpp | 230 ++++++++++--------
|
||||
.../shutil/mimesappsmanager.h | 6 +-
|
||||
2 files changed, 125 insertions(+), 111 deletions(-)
|
||||
|
||||
diff --git a/dde-file-manager-lib/shutil/mimesappsmanager.cpp b/dde-file-manager-lib/shutil/mimesappsmanager.cpp
|
||||
index c9e53630..7a21df51 100644
|
||||
--- a/dde-file-manager-lib/shutil/mimesappsmanager.cpp
|
||||
+++ b/dde-file-manager-lib/shutil/mimesappsmanager.cpp
|
||||
@@ -552,14 +552,20 @@ QString MimesAppsManager::getMimeAppsCacheFile()
|
||||
return QString("%1/%2").arg(DFMStandardPaths::location(DFMStandardPaths::CachePath), "MimeApps.json");
|
||||
}
|
||||
|
||||
-QString MimesAppsManager::getMimeInfoCacheFilePath()
|
||||
+QStringList MimesAppsManager::getMimeInfoCacheFilePath()
|
||||
{
|
||||
- return "/usr/share/applications/mimeinfo.cache";
|
||||
+ QStringList paths;
|
||||
+ for (const QString dir : getMimeInfoCacheFileRootPath() )
|
||||
+ paths.append(dir + QDir::separator() + "mimeinfo.cache");
|
||||
+ qDebug() << "getMimeInfoCacheFilePath: " << paths;
|
||||
+ return paths;
|
||||
}
|
||||
|
||||
-QString MimesAppsManager::getMimeInfoCacheFileRootPath()
|
||||
+QStringList MimesAppsManager::getMimeInfoCacheFileRootPath()
|
||||
{
|
||||
- return "/usr/share/applications";
|
||||
+ QStringList paths = QStandardPaths::standardLocations(QStandardPaths::ApplicationsLocation);
|
||||
+ qDebug() << "getMimeInfoCacheFileRootPath: " << paths;
|
||||
+ return paths;
|
||||
}
|
||||
|
||||
QString MimesAppsManager::getDesktopFilesCacheFile()
|
||||
@@ -574,23 +580,27 @@ QString MimesAppsManager::getDesktopIconsCacheFile()
|
||||
|
||||
QStringList MimesAppsManager::getDesktopFiles()
|
||||
{
|
||||
- QStringList desktopFiles;
|
||||
+ QStringList desktopFiles;
|
||||
|
||||
- foreach (QString desktopFolder, getApplicationsFolders()) {
|
||||
- QDirIterator it(desktopFolder, QStringList("*.desktop"),
|
||||
- QDir::Files | QDir::NoDotAndDotDot,
|
||||
- QDirIterator::Subdirectories);
|
||||
- while (it.hasNext()) {
|
||||
- it.next();
|
||||
- desktopFiles.append(it.filePath());
|
||||
- }
|
||||
- }
|
||||
- return desktopFiles;
|
||||
+ foreach (QString desktopFolder, getApplicationsFolders()) {
|
||||
+ QDirIterator it(desktopFolder, QStringList("*.desktop"),
|
||||
+ QDir::Files | QDir::NoDotAndDotDot,
|
||||
+ QDirIterator::Subdirectories);
|
||||
+ while (it.hasNext()) {
|
||||
+ it.next();
|
||||
+ desktopFiles.append(it.filePath());
|
||||
+ }
|
||||
+ }
|
||||
+ return desktopFiles;
|
||||
}
|
||||
|
||||
-QString MimesAppsManager::getDDEMimeTypeFile()
|
||||
+QStringList MimesAppsManager::getDDEMimeTypeFile()
|
||||
{
|
||||
- return QString("%1/%2/%3").arg(getMimeInfoCacheFileRootPath(), "deepin", "dde-mimetype.list");
|
||||
+ QStringList paths;
|
||||
+ for (const QString path : getMimeInfoCacheFileRootPath())
|
||||
+ paths.append(QString("%1/%2/%3").arg(path, "deepin", "dde-mimetype.list"));
|
||||
+ qDebug() << "getDDEMimeTypeFile: " << paths;
|
||||
+ return paths;
|
||||
}
|
||||
|
||||
QMap<QString, DesktopFile> MimesAppsManager::getDesktopObjs()
|
||||
@@ -663,124 +673,128 @@ void MimesAppsManager::initMimeTypeApps()
|
||||
MimeApps.insert(key, orderApps);
|
||||
}
|
||||
|
||||
- //check mime apps from cache
|
||||
- QFile f(getMimeInfoCacheFilePath());
|
||||
- if(!f.open(QIODevice::ReadOnly)){
|
||||
- qDebug () << "failed to read mime info cache file:" << f.errorString();
|
||||
- return;
|
||||
- }
|
||||
-
|
||||
QStringList audioDesktopList;
|
||||
QStringList imageDeksopList;
|
||||
QStringList textDekstopList;
|
||||
QStringList videoDesktopList;
|
||||
|
||||
- while (!f.atEnd()) {
|
||||
- QString data = f.readLine();
|
||||
- QString _desktops = data.split("=").last();
|
||||
- QString mimeType = data.split("=").first();
|
||||
- QStringList desktops = _desktops.split(";");
|
||||
-
|
||||
- foreach (const QString desktop, desktops) {
|
||||
- if(desktop.isEmpty() || audioDesktopList.contains(desktop))
|
||||
- continue;
|
||||
+ //check mime apps from cache
|
||||
+ for (const QString path : getMimeInfoCacheFilePath()) {
|
||||
+ QFile f(path);
|
||||
+ if(!f.open(QIODevice::ReadOnly)){
|
||||
+ qDebug () << "failed to read mime info cache file:" << f.errorString();
|
||||
+ return;
|
||||
+ }
|
||||
|
||||
- if(mimeType.startsWith("audio")){
|
||||
- if(!audioDesktopList.contains(desktop))
|
||||
- audioDesktopList << desktop;
|
||||
- } else if(mimeType.startsWith("image")){
|
||||
- if(!imageDeksopList.contains(desktop))
|
||||
- imageDeksopList << desktop;
|
||||
- } else if(mimeType.startsWith("text")){
|
||||
- if(!textDekstopList.contains(desktop))
|
||||
- textDekstopList << desktop;
|
||||
- } else if(mimeType.startsWith("video")){
|
||||
- if(!videoDesktopList.contains(desktop))
|
||||
- videoDesktopList << desktop;
|
||||
+ while (!f.atEnd()) {
|
||||
+ QString data = f.readLine();
|
||||
+ QString _desktops = data.split("=").last();
|
||||
+ QString mimeType = data.split("=").first();
|
||||
+ QStringList desktops = _desktops.split(";");
|
||||
+
|
||||
+ foreach (const QString desktop, desktops) {
|
||||
+ if(desktop.isEmpty() || audioDesktopList.contains(desktop))
|
||||
+ continue;
|
||||
+
|
||||
+ if(mimeType.startsWith("audio")){
|
||||
+ if(!audioDesktopList.contains(desktop))
|
||||
+ audioDesktopList << desktop;
|
||||
+ } else if(mimeType.startsWith("image")){
|
||||
+ if(!imageDeksopList.contains(desktop))
|
||||
+ imageDeksopList << desktop;
|
||||
+ } else if(mimeType.startsWith("text")){
|
||||
+ if(!textDekstopList.contains(desktop))
|
||||
+ textDekstopList << desktop;
|
||||
+ } else if(mimeType.startsWith("video")){
|
||||
+ if(!videoDesktopList.contains(desktop))
|
||||
+ videoDesktopList << desktop;
|
||||
+ }
|
||||
}
|
||||
}
|
||||
+ f.close();
|
||||
}
|
||||
- f.close();
|
||||
|
||||
- const QString mimeInfoCacheRootPath = getMimeInfoCacheFileRootPath();
|
||||
- foreach (QString desktop, audioDesktopList) {
|
||||
- const QString path = QString("%1/%2").arg(mimeInfoCacheRootPath,desktop);
|
||||
- if(!QFile::exists(path))
|
||||
- continue;
|
||||
- DesktopFile df(path);
|
||||
- AudioMimeApps.insert(path, df);
|
||||
- }
|
||||
+ for (const QString mimeInfoCacheRootPath : getMimeInfoCacheFileRootPath()) {
|
||||
+ foreach (QString desktop, audioDesktopList) {
|
||||
+ const QString path = QString("%1/%2").arg(mimeInfoCacheRootPath,desktop);
|
||||
+ if(!QFile::exists(path))
|
||||
+ continue;
|
||||
+ DesktopFile df(path);
|
||||
+ AudioMimeApps.insert(path, df);
|
||||
+ }
|
||||
|
||||
- foreach (QString desktop, imageDeksopList) {
|
||||
- const QString path = QString("%1/%2").arg(mimeInfoCacheRootPath,desktop);
|
||||
- if(!QFile::exists(path))
|
||||
- continue;
|
||||
- DesktopFile df(path);
|
||||
- ImageMimeApps.insert(path, df);
|
||||
- }
|
||||
+ foreach (QString desktop, imageDeksopList) {
|
||||
+ const QString path = QString("%1/%2").arg(mimeInfoCacheRootPath,desktop);
|
||||
+ if(!QFile::exists(path))
|
||||
+ continue;
|
||||
+ DesktopFile df(path);
|
||||
+ ImageMimeApps.insert(path, df);
|
||||
+ }
|
||||
|
||||
- foreach (QString desktop, textDekstopList) {
|
||||
- const QString path = QString("%1/%2").arg(mimeInfoCacheRootPath,desktop);
|
||||
- if(!QFile::exists(path))
|
||||
- continue;
|
||||
- DesktopFile df(path);
|
||||
- TextMimeApps.insert(path, df);
|
||||
- }
|
||||
+ foreach (QString desktop, textDekstopList) {
|
||||
+ const QString path = QString("%1/%2").arg(mimeInfoCacheRootPath,desktop);
|
||||
+ if(!QFile::exists(path))
|
||||
+ continue;
|
||||
+ DesktopFile df(path);
|
||||
+ TextMimeApps.insert(path, df);
|
||||
+ }
|
||||
|
||||
- foreach (QString desktop, videoDesktopList) {
|
||||
- const QString path = QString("%1/%2").arg(mimeInfoCacheRootPath,desktop);
|
||||
- if(!QFile::exists(path))
|
||||
- continue;
|
||||
- DesktopFile df(path);
|
||||
- VideoMimeApps.insert(path, df);
|
||||
+ foreach (QString desktop, videoDesktopList) {
|
||||
+ const QString path = QString("%1/%2").arg(mimeInfoCacheRootPath,desktop);
|
||||
+ if(!QFile::exists(path))
|
||||
+ continue;
|
||||
+ DesktopFile df(path);
|
||||
+ VideoMimeApps.insert(path, df);
|
||||
+ }
|
||||
}
|
||||
-
|
||||
return;
|
||||
}
|
||||
|
||||
void MimesAppsManager::loadDDEMimeTypes()
|
||||
{
|
||||
- QSettings settings(getDDEMimeTypeFile(), QSettings::IniFormat);
|
||||
- qDebug() << settings.childGroups();
|
||||
+ for (const QString path : getDDEMimeTypeFile()) {
|
||||
+ QSettings settings(path, QSettings::IniFormat);
|
||||
+ qDebug() << settings.childGroups();
|
||||
|
||||
- QFile file(getDDEMimeTypeFile());
|
||||
- if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) {
|
||||
- return;
|
||||
- }
|
||||
+ QFile file(path);
|
||||
+ if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) {
|
||||
+ continue;
|
||||
+ }
|
||||
+
|
||||
+ // Read propeties
|
||||
+ QTextStream in(&file);
|
||||
+ QString desktopKey;
|
||||
+ while (!in.atEnd()) {
|
||||
|
||||
- // Read propeties
|
||||
- QTextStream in(&file);
|
||||
- QString desktopKey;
|
||||
- while (!in.atEnd()) {
|
||||
+ // Read new line
|
||||
+ QString line = in.readLine();
|
||||
|
||||
- // Read new line
|
||||
- QString line = in.readLine();
|
||||
+ // Skip empty line or line with invalid format
|
||||
+ if (line.trimmed().isEmpty()) {
|
||||
+ continue;
|
||||
+ }
|
||||
|
||||
- // Skip empty line or line with invalid format
|
||||
- if (line.trimmed().isEmpty()) {
|
||||
- continue;
|
||||
- }
|
||||
+ // Read group
|
||||
+ // NOTE: symbols '[' and ']' can be found not only in group names, but
|
||||
+ // only group can start with '['
|
||||
|
||||
- // Read group
|
||||
- // NOTE: symbols '[' and ']' can be found not only in group names, but
|
||||
- // only group can start with '['
|
||||
+ if (line.trimmed().startsWith("[") && line.trimmed().endsWith("]")) {
|
||||
+ QString tmp = line.trimmed().replace("[", "").replace("]", "");
|
||||
+ desktopKey = tmp;
|
||||
+ continue;
|
||||
+ }
|
||||
|
||||
- if (line.trimmed().startsWith("[") && line.trimmed().endsWith("]")) {
|
||||
- QString tmp = line.trimmed().replace("[", "").replace("]", "");
|
||||
- desktopKey = tmp;
|
||||
- continue;
|
||||
- }
|
||||
-
|
||||
- // If we are in correct group and line contains assignment then read data
|
||||
- int first_equal = line.indexOf('=');
|
||||
- if (!desktopKey.isEmpty() && first_equal >= 0) {
|
||||
- QString value = line.mid(first_equal + 1);
|
||||
- QStringList mimetypes = value.split(";");
|
||||
- DDE_MimeTypes.insert(desktopKey, mimetypes);
|
||||
- desktopKey.clear();
|
||||
+ // If we are in correct group and line contains assignment then read data
|
||||
+ int first_equal = line.indexOf('=');
|
||||
+ if (!desktopKey.isEmpty() && first_equal >= 0) {
|
||||
+ QString value = line.mid(first_equal + 1);
|
||||
+ QStringList mimetypes = value.split(";");
|
||||
+ DDE_MimeTypes.insert(desktopKey, mimetypes);
|
||||
+ desktopKey.clear();
|
||||
+ }
|
||||
}
|
||||
+ file.close();
|
||||
}
|
||||
- file.close();
|
||||
}
|
||||
|
||||
bool MimesAppsManager::lessByDateTime(const QFileInfo &f1, const QFileInfo &f2)
|
||||
diff --git a/dde-file-manager-lib/shutil/mimesappsmanager.h b/dde-file-manager-lib/shutil/mimesappsmanager.h
|
||||
index 223c80aa..00a61302 100644
|
||||
--- a/dde-file-manager-lib/shutil/mimesappsmanager.h
|
||||
+++ b/dde-file-manager-lib/shutil/mimesappsmanager.h
|
||||
@@ -101,12 +101,12 @@ public:
|
||||
|
||||
static QStringList getApplicationsFolders();
|
||||
static QString getMimeAppsCacheFile();
|
||||
- static QString getMimeInfoCacheFilePath();
|
||||
- static QString getMimeInfoCacheFileRootPath();
|
||||
+ static QStringList getMimeInfoCacheFilePath();
|
||||
+ static QStringList getMimeInfoCacheFileRootPath();
|
||||
static QString getDesktopFilesCacheFile();
|
||||
static QString getDesktopIconsCacheFile();
|
||||
static QStringList getDesktopFiles();
|
||||
- static QString getDDEMimeTypeFile();
|
||||
+ static QStringList getDDEMimeTypeFile();
|
||||
static QMap<QString, DesktopFile> getDesktopObjs();
|
||||
static void initMimeTypeApps();
|
||||
static void loadDDEMimeTypes();
|
||||
--
|
||||
2.21.0
|
||||
|
@ -1,89 +0,0 @@
|
||||
From e68d983a6befd223087916cb3fe31baee77decc4 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Jos=C3=A9=20Romildo=20Malaquias?= <malaquias@gmail.com>
|
||||
Date: Sun, 12 May 2019 08:50:07 -0300
|
||||
Subject: [PATCH 1/2] Use qt library to determine where to look for application
|
||||
files
|
||||
|
||||
---
|
||||
dde-file-manager-lib/shutil/fileutils.cpp | 34 ++++++++++++-------
|
||||
.../shutil/mimesappsmanager.cpp | 11 ++----
|
||||
2 files changed, 25 insertions(+), 20 deletions(-)
|
||||
|
||||
diff --git a/dde-file-manager-lib/shutil/fileutils.cpp b/dde-file-manager-lib/shutil/fileutils.cpp
|
||||
index ae8120d3..d6a0573a 100644
|
||||
--- a/dde-file-manager-lib/shutil/fileutils.cpp
|
||||
+++ b/dde-file-manager-lib/shutil/fileutils.cpp
|
||||
@@ -242,13 +242,19 @@ bool FileUtils::isArchive(const QString &path)
|
||||
*/
|
||||
QStringList FileUtils::getApplicationNames() {
|
||||
QStringList appNames;
|
||||
- QDirIterator it("/usr/share/applications", QStringList("*.desktop"),
|
||||
- QDir::Files | QDir::NoDotAndDotDot,
|
||||
- QDirIterator::Subdirectories);
|
||||
- while (it.hasNext()) {
|
||||
- it.next();
|
||||
- appNames.append(it.fileName());
|
||||
+
|
||||
+ const QStringList desktopDirs = QStandardPaths::standardLocations(QStandardPaths::ApplicationsLocation);
|
||||
+ qDebug() << "dde-file-manager getApplicationNames desktopDirs:" << desktopDirs;
|
||||
+ for (const QString &dir : desktopDirs) {
|
||||
+ QDirIterator it(dir, QStringList("*.desktop"),
|
||||
+ QDir::Files | QDir::NoDotAndDotDot,
|
||||
+ QDirIterator::Subdirectories);
|
||||
+ while (it.hasNext()) {
|
||||
+ it.next();
|
||||
+ appNames.append(it.fileName());
|
||||
+ }
|
||||
}
|
||||
+
|
||||
return appNames;
|
||||
}
|
||||
//---------------------------------------------------------------------------
|
||||
@@ -259,12 +265,16 @@ QStringList FileUtils::getApplicationNames() {
|
||||
*/
|
||||
QList<DesktopFile> FileUtils::getApplications() {
|
||||
QList<DesktopFile> apps;
|
||||
- QDirIterator it("/usr/share/applications", QStringList("*.desktop"),
|
||||
- QDir::Files | QDir::NoDotAndDotDot,
|
||||
- QDirIterator::Subdirectories);
|
||||
- while (it.hasNext()) {
|
||||
- it.next();
|
||||
- apps.append(DesktopFile(it.filePath()));
|
||||
+ const QStringList desktopDirs = QStandardPaths::standardLocations(QStandardPaths::ApplicationsLocation);
|
||||
+ qDebug() << "dde-file-manager getApplications desktopDirs:" << desktopDirs;
|
||||
+ for (const QString &dir : desktopDirs) {
|
||||
+ QDirIterator it(dir, QStringList("*.desktop"),
|
||||
+ QDir::Files | QDir::NoDotAndDotDot,
|
||||
+ QDirIterator::Subdirectories);
|
||||
+ while (it.hasNext()) {
|
||||
+ it.next();
|
||||
+ apps.append(DesktopFile(it.filePath()));
|
||||
+ }
|
||||
}
|
||||
return apps;
|
||||
}
|
||||
diff --git a/dde-file-manager-lib/shutil/mimesappsmanager.cpp b/dde-file-manager-lib/shutil/mimesappsmanager.cpp
|
||||
index c6149702..c9e53630 100644
|
||||
--- a/dde-file-manager-lib/shutil/mimesappsmanager.cpp
|
||||
+++ b/dde-file-manager-lib/shutil/mimesappsmanager.cpp
|
||||
@@ -542,14 +542,9 @@ QStringList MimesAppsManager::getrecommendedAppsFromMimeWhiteList(const DUrl &ur
|
||||
|
||||
QStringList MimesAppsManager::getApplicationsFolders()
|
||||
{
|
||||
- QStringList desktopFolders;
|
||||
- desktopFolders << QString("/usr/share/applications/")
|
||||
- << QString("/usr/local/share/applications/")
|
||||
- << QString("/usr/share/gnome/applications/")
|
||||
- << QString("/var/lib/flatpak/exports/share/applications")
|
||||
- << QDir::homePath() + QString("/.local/share/flatpak/exports/share/applications")
|
||||
- << QDir::homePath() + QString( "/.local/share/applications" );
|
||||
- return desktopFolders;
|
||||
+ QStringList paths = QStandardPaths::standardLocations(QStandardPaths::ApplicationsLocation);
|
||||
+ qDebug() << "dde-file-manager getApplicationsFolders:" << paths;
|
||||
+ return paths;
|
||||
}
|
||||
|
||||
QString MimesAppsManager::getMimeAppsCacheFile()
|
||||
--
|
||||
2.21.0
|
||||
|
@ -1,38 +0,0 @@
|
||||
From 084c3cfcf4995c109ca2e96f042fe341f925b0b4 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Jos=C3=A9=20Romildo=20Malaquias?= <malaquias@gmail.com>
|
||||
Date: Thu, 16 May 2019 19:00:52 -0300
|
||||
Subject: [PATCH 4/4] Use xdg to look for pixmap icons
|
||||
|
||||
---
|
||||
dde-file-manager-lib/shutil/fileutils.cpp | 15 ++++++++++-----
|
||||
1 file changed, 10 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/dde-file-manager-lib/shutil/fileutils.cpp b/dde-file-manager-lib/shutil/fileutils.cpp
|
||||
index d6a0573a..e912e7c2 100644
|
||||
--- a/dde-file-manager-lib/shutil/fileutils.cpp
|
||||
+++ b/dde-file-manager-lib/shutil/fileutils.cpp
|
||||
@@ -362,11 +362,16 @@ QIcon FileUtils::searchAppIcon(const DesktopFile &app,
|
||||
}
|
||||
|
||||
// Last chance
|
||||
- QDir appIcons("/usr/share/pixmaps","", 0, QDir::Files | QDir::NoDotAndDotDot);
|
||||
- QStringList iconFiles = appIcons.entryList();
|
||||
- QStringList searchIcons = iconFiles.filter(name);
|
||||
- if (searchIcons.count() > 0) {
|
||||
- return QIcon("/usr/share/pixmaps/" + searchIcons.at(0));
|
||||
+ const QStringList dirs = QStandardPaths::standardLocations(QStandardPaths::GenericDataLocation);
|
||||
+ qDebug() << "searchAppIcon: last chance: look for pixmaps at: " << dirs;
|
||||
+ for (const QString &dir : dirs) {
|
||||
+ const QString path = dir + QDir::separator() + "pixmaps";
|
||||
+ QDir appIcons(path,"", 0, QDir::Files | QDir::NoDotAndDotDot);
|
||||
+ QStringList iconFiles = appIcons.entryList();
|
||||
+ QStringList searchIcons = iconFiles.filter(name);
|
||||
+ if (searchIcons.count() > 0) {
|
||||
+ return QIcon(path + QDir::separator() + searchIcons.at(0));
|
||||
+ }
|
||||
}
|
||||
|
||||
// Default icon
|
||||
--
|
||||
2.21.0
|
||||
|
@ -1,298 +0,0 @@
|
||||
{ stdenv
|
||||
, mkDerivation
|
||||
, fetchFromGitHub
|
||||
, pkgconfig
|
||||
, avfs
|
||||
, dde-daemon
|
||||
, dde-dock
|
||||
, dde-polkit-agent
|
||||
, dde-qt-dbus-factory
|
||||
, deepin
|
||||
, deepin-anything
|
||||
, deepin-desktop-schemas
|
||||
, deepin-gettext-tools
|
||||
, deepin-movie-reborn
|
||||
, deepin-shortcut-viewer
|
||||
, deepin-terminal
|
||||
, disomaster
|
||||
, dtkcore
|
||||
, dtkwidget
|
||||
, ffmpegthumbnailer
|
||||
, file
|
||||
, glib
|
||||
, gnugrep
|
||||
, gsettings-qt
|
||||
, gvfs
|
||||
, jemalloc
|
||||
, kcodecs
|
||||
, libX11
|
||||
, libsecret
|
||||
, polkit
|
||||
, polkit-qt
|
||||
, poppler
|
||||
, procps
|
||||
, qmake
|
||||
, qt5integration
|
||||
, qtmultimedia
|
||||
, qtsvg
|
||||
, qttools
|
||||
, qtx11extras
|
||||
, runtimeShell
|
||||
, samba
|
||||
, shadow
|
||||
, taglib
|
||||
, udisks2-qt5
|
||||
, xdg-user-dirs
|
||||
, xorg
|
||||
, zlib
|
||||
, wrapGAppsHook
|
||||
}:
|
||||
|
||||
mkDerivation rec {
|
||||
pname = "dde-file-manager";
|
||||
version = "5.0.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "linuxdeepin";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "0n2nl09anqdq0n5yn688n385rn81lcpybs0sa8m311k3k9ndkkyr";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
deepin.setupHook
|
||||
qmake
|
||||
qttools
|
||||
pkgconfig
|
||||
deepin-gettext-tools
|
||||
wrapGAppsHook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
avfs
|
||||
dde-daemon
|
||||
dde-dock
|
||||
dde-polkit-agent
|
||||
dde-qt-dbus-factory
|
||||
deepin-anything
|
||||
deepin-desktop-schemas
|
||||
deepin-movie-reborn.dev
|
||||
deepin-shortcut-viewer
|
||||
deepin-terminal
|
||||
disomaster
|
||||
dtkcore
|
||||
dtkwidget
|
||||
ffmpegthumbnailer
|
||||
file
|
||||
glib
|
||||
gnugrep
|
||||
gsettings-qt
|
||||
gvfs
|
||||
jemalloc
|
||||
kcodecs
|
||||
libsecret
|
||||
polkit
|
||||
polkit-qt
|
||||
poppler
|
||||
procps
|
||||
qt5integration
|
||||
qtmultimedia
|
||||
qtsvg
|
||||
qtx11extras
|
||||
samba
|
||||
taglib
|
||||
udisks2-qt5
|
||||
xdg-user-dirs
|
||||
xorg.libX11
|
||||
xorg.libxcb
|
||||
xorg.xcbutil
|
||||
xorg.xcbutilwm
|
||||
xorg.xorgproto
|
||||
zlib
|
||||
];
|
||||
|
||||
patches = [
|
||||
./dde-file-manager.fix-paths.patch
|
||||
./dde-file-manager.fix-mime-cache-paths.patch
|
||||
./dde-file-manager.pixmaps-paths.patch
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
searchHardCodedPaths
|
||||
|
||||
patchShebangs dde-desktop/translate_generation.sh
|
||||
patchShebangs dde-desktop/translate_ts2desktop.sh
|
||||
patchShebangs dde-file-manager-lib/generate_translations.sh
|
||||
patchShebangs dde-file-manager/generate_translations.sh
|
||||
patchShebangs dde-file-manager/translate_ts2desktop.sh
|
||||
patchShebangs usb-device-formatter/generate_translations.sh
|
||||
patchShebangs usb-device-formatter/translate_ts2desktop.sh
|
||||
|
||||
# x-terminal-emulator is a virtual package in Debian systems. The
|
||||
# terminal emulator is configured by Debian's alternative system.
|
||||
# It is not available on NixOS. Use deepin-terminal instead
|
||||
sed -i -e "s,x-terminal-emulator,deepin-terminal," \
|
||||
dde-file-manager-lib/shutil/fileutils.cpp
|
||||
|
||||
sed -i -e "s,\$\$\\[QT_INSTALL_LIBS\\],$out/lib," \
|
||||
dde-file-manager-lib/dde-file-manager-lib.pro \
|
||||
dde-file-thumbnail-tool/common.pri \
|
||||
common/common.pri
|
||||
|
||||
sed -i '/^QMAKE_PKGCONFIG_DESTDIR/i QMAKE_PKGCONFIG_PREFIX = $$PREFIX' \
|
||||
dde-file-manager-lib/dde-file-manager-lib.pro
|
||||
|
||||
fixPath ${dde-dock} /usr/include/dde-dock \
|
||||
dde-dock-plugins/disk-mount/disk-mount.pro
|
||||
|
||||
# treefrog is not available in NixOS, and I am not sure if it is really needed
|
||||
#fixPath $ {treefrog-framework} /usr/include/treefrog \
|
||||
# dde-sharefiles/appbase.pri
|
||||
|
||||
fixPath ${deepin-anything} /usr/share/dbus-1/interfaces \
|
||||
dde-file-manager-lib/dbusinterface/dbusinterface.pri
|
||||
|
||||
sed -i -e "s,\$\$system(\$\$PKG_CONFIG --variable libdir deepin-anything-server-lib),$out/lib," \
|
||||
deepin-anything-server-plugins/dde-anythingmonitor/dde-anythingmonitor.pro
|
||||
|
||||
fixPath ${dde-daemon} /usr/lib/deepin-daemon/desktop-toggle \
|
||||
dde-zone/mainwindow.h
|
||||
|
||||
fixPath ${deepin-gettext-tools} /usr/bin/deepin-desktop-ts-convert \
|
||||
dde-desktop/translate_desktop2ts.sh \
|
||||
dde-desktop/translate_ts2desktop.sh \
|
||||
dde-file-manager/translate_desktop2ts.sh \
|
||||
dde-file-manager/translate_ts2desktop.sh \
|
||||
usb-device-formatter/translate_desktop2ts.sh \
|
||||
usb-device-formatter/translate_ts2desktop.sh
|
||||
|
||||
fixPath ${avfs} /usr/bin/mountavfs dde-file-manager-lib/shutil/fileutils.cpp
|
||||
fixPath ${avfs} /usr/bin/umountavfs dde-file-manager-lib/shutil/fileutils.cpp
|
||||
|
||||
fixPath ${deepin-terminal} /usr/bin/deepin-terminal \
|
||||
dde-file-manager-lib/shutil/fileutils.cpp
|
||||
|
||||
fixPath $out /usr/share/dde-file-manager \
|
||||
dde-sharefiles/appbase.pri \
|
||||
dde-sharefiles/dde-sharefiles.pro
|
||||
|
||||
fixPath $out /usr/share/usb-device-formatter \
|
||||
usb-device-formatter/main.cpp
|
||||
|
||||
fixPath $out /usr/share/applications \
|
||||
dde-file-manager/mips/dde-file-manager-autostart.desktop \
|
||||
dde-desktop/development.pri
|
||||
|
||||
fixPath $out /usr/bin \
|
||||
dbusservices/com.deepin.dde.desktop.service \
|
||||
dde-desktop/data/com.deepin.dde.desktop.service \
|
||||
dde-desktop/dbus/filedialog/com.deepin.filemanager.filedialog.service \
|
||||
dde-desktop/dbus/filemanager1/org.freedesktop.FileManager.service \
|
||||
dde-file-manager-daemon/dbusservice/com.deepin.filemanager.daemon.service \
|
||||
dde-file-manager-daemon/dbusservice/dde-filemanager-daemon.service \
|
||||
dde-file-manager-daemon/dde-file-manager-daemon.pro \
|
||||
dde-file-manager-lib/dde-file-manager-lib.pro \
|
||||
dde-file-manager-lib/pkexec/com.deepin.pkexec.dde-file-manager.policy \
|
||||
dde-file-manager/dde-file-manager-xdg-autostart.desktop \
|
||||
dde-file-manager/dde-file-manager.desktop \
|
||||
dde-file-manager/dde-file-manager.pro \
|
||||
dde-file-manager/mips/dde-file-manager-autostart.desktop \
|
||||
dde-file-manager/mips/dde-file-manager.desktop \
|
||||
dde-file-manager/pkexec/com.deepin.pkexec.dde-file-manager.policy \
|
||||
usb-device-formatter/pkexec/com.deepin.pkexec.usb-device-formatter.policy \
|
||||
usb-device-formatter/usb-device-formatter.desktop \
|
||||
usb-device-formatter/usb-device-formatter.pro
|
||||
fixPath $out /etc \
|
||||
dde-file-manager/dde-file-manager.pro \
|
||||
dde-file-manager-daemon/dde-file-manager-daemon.pro
|
||||
|
||||
fixPath $out /usr \
|
||||
common/common.pri \
|
||||
dde-desktop/dbus/filedialog/filedialog.pri \
|
||||
dde-desktop/dbus/filemanager1/filemanager1.pri \
|
||||
dde-desktop/development.pri \
|
||||
dde-dock-plugins/disk-mount/disk-mount.pro \
|
||||
dde-file-manager-daemon/dde-file-manager-daemon.pro \
|
||||
usb-device-formatter/usb-device-formatter.pro
|
||||
|
||||
sed -i -e "s,xdg-user-dir,${xdg-user-dirs}/bin/xdg-user-dir," \
|
||||
dde-file-manager/dde-xdg-user-dirs-update
|
||||
|
||||
sed -i -e "s,Exec=dde-file-manager,Exec=$out/bin/dde-file-manager," \
|
||||
dde-file-manager/dde-file-manager.desktop
|
||||
|
||||
sed -i -e "s,Exec=gio,Exec=${glib.bin}/bin/gio," \
|
||||
dde-desktop/data/applications/dde-trash.desktop \
|
||||
dde-desktop/data/applications/dde-computer.desktop
|
||||
|
||||
sed -i -e "s,/usr/lib/gvfs/gvfsd,${gvfs}/libexec/gvfsd," \
|
||||
dde-file-manager-lib/gvfs/networkmanager.cpp
|
||||
|
||||
sed -i -e "s,/usr/sbin/smbd,${samba}/bin/smbd," \
|
||||
-e "s,/usr/sbin/groupadd,${shadow}/bin/groupadd," \
|
||||
-e "s,/usr/sbin/adduser,${shadow}/bin/adduser," \
|
||||
dde-file-manager-daemon/usershare/usersharemanager.cpp
|
||||
|
||||
sed -i -e 's,startDetached("deepin-shortcut-viewer",startDetached("${deepin-shortcut-viewer}/bin/deepin-shortcut-viewer",' \
|
||||
dde-file-manager-lib/controllers/appcontroller.cpp
|
||||
|
||||
sed -i -e 's,/bin/bash,${runtimeShell},' \
|
||||
-e 's,\<ps\>,${procps}/bin/ps,' \
|
||||
-e 's,\<grep\>,${gnugrep}/bin/grep,' \
|
||||
utils/utils.cpp \
|
||||
dde-file-manager-lib/controllers/fileeventprocessor.cpp
|
||||
|
||||
# The hard coded path in `QString("/etc/xdg/%1/%2")` in
|
||||
# dde-file-manager-lib/interfaces/dfmsettings.cpp
|
||||
# does not needed a fix because all the standard locations
|
||||
# are tried before faling back to /etc/xdg.
|
||||
|
||||
# I do not know yet how to deal with:
|
||||
# dde-file-manager-lib/sw_label/llsdeepinlabellibrary.h: return "/usr/lib/sw_64-linux-gnu/dde-file-manager/libllsdeeplabel.so";
|
||||
# dde-file-manager-lib/sw_label/filemanagerlibrary.h: return "/usr/lib/sw_64-linux-gnu/dde-file-manager/libfilemanager.so";
|
||||
# dde-file-manager-lib/sw_label/libinstall.sh:mkdir /usr/lib/sw_64-linux-gnu/dde-file-manager
|
||||
# dde-file-manager-lib/sw_label/libinstall.sh:cp libfilemanager.so libllsdeeplabel.so /usr/lib/sw_64-linux-gnu/dde-file-manager
|
||||
# They are not present on my installations of Deepin Linux, Arch Linux and Ubuntu. Can they be ignored?
|
||||
|
||||
# Notes:
|
||||
# - As file-roller is looked in the path using QStandardPaths::findExecutable, it is not been added as a dependency.
|
||||
# - deepin-qt5config is a dependency exclusive to the Deepin Linux distribution. No other distribution has it, according to repology.
|
||||
'';
|
||||
|
||||
qmakeFlags = [
|
||||
"QMAKE_CFLAGS_ISYSTEM="
|
||||
|
||||
# Disable ffmpeg
|
||||
"CONFIG+=DISABLE_FFMPEG"
|
||||
];
|
||||
|
||||
preBuild = ''
|
||||
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH''${LD_LIBRARY_PATH:+:}${zlib}/lib";
|
||||
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH''${LD_LIBRARY_PATH:+:}${libX11}/lib";
|
||||
'';
|
||||
|
||||
dontWrapQtApps = true;
|
||||
|
||||
preFixup = ''
|
||||
gappsWrapperArgs+=(
|
||||
"''${qtWrapperArgs[@]}"
|
||||
)
|
||||
'';
|
||||
|
||||
postFixup = ''
|
||||
# debuging
|
||||
unset LD_LIBRARY_PATH
|
||||
searchForUnresolvedDLL $out
|
||||
searchHardCodedPaths $out
|
||||
'';
|
||||
|
||||
passthru.updateScript = deepin.updateScript { inherit pname version src; };
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "File manager and desktop module for Deepin Desktop Environment";
|
||||
homepage = "https://github.com/linuxdeepin/dde-file-manager";
|
||||
license = licenses.gpl3;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ romildo ];
|
||||
};
|
||||
}
|
@ -1,56 +0,0 @@
|
||||
From c4edb65554f90a5abfc2ecbf63587b8c6ef2653d Mon Sep 17 00:00:00 2001
|
||||
From: worldofpeace <worldofpeace@protonmail.ch>
|
||||
Date: Tue, 22 Oct 2019 17:20:24 -0400
|
||||
Subject: [PATCH] dde-kwin.pc: make paths relative
|
||||
|
||||
Values like libdir should be relative to the literal ${prefix}.
|
||||
We also use @ONLY so we don't substitute values like ${prefix}
|
||||
with CMake resulting in an unintentional replacement.
|
||||
---
|
||||
plugins/kwin-xcb/lib/CMakeLists.txt | 2 +-
|
||||
plugins/kwin-xcb/lib/dde-kwin.pc.in | 18 +++++++++---------
|
||||
2 files changed, 10 insertions(+), 10 deletions(-)
|
||||
|
||||
diff --git a/plugins/kwin-xcb/lib/CMakeLists.txt b/plugins/kwin-xcb/lib/CMakeLists.txt
|
||||
index 0189b74..62e5553 100644
|
||||
--- a/plugins/kwin-xcb/lib/CMakeLists.txt
|
||||
+++ b/plugins/kwin-xcb/lib/CMakeLists.txt
|
||||
@@ -61,7 +61,7 @@ install_files(
|
||||
kwinutils.h
|
||||
)
|
||||
|
||||
-configure_file(${PROJECT_NAME}.pc.in ${PROJECT_NAME}.pc)
|
||||
+configure_file(${PROJECT_NAME}.pc.in ${PROJECT_NAME}.pc @ONLY)
|
||||
if (CMAKE_INSTALL_LIBDIR)
|
||||
install_files("/${CMAKE_INSTALL_LIBDIR}/pkgconfig" FILES ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.pc)
|
||||
elseif (CMAKE_LIBRARY_OUTPUT_DIRECTORY)
|
||||
diff --git a/plugins/kwin-xcb/lib/dde-kwin.pc.in b/plugins/kwin-xcb/lib/dde-kwin.pc.in
|
||||
index 9b1d813..1179761 100644
|
||||
--- a/plugins/kwin-xcb/lib/dde-kwin.pc.in
|
||||
+++ b/plugins/kwin-xcb/lib/dde-kwin.pc.in
|
||||
@@ -1,13 +1,13 @@
|
||||
-prefix=${CMAKE_INSTALL_PREFIX}
|
||||
-exec_prefix=${CMAKE_INSTALL_PREFIX}
|
||||
-libdir=${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}
|
||||
-includedir=${INCLUDE_OUTPUT_PATH}
|
||||
+prefix=@CMAKE_INSTALL_PREFIX@
|
||||
+exec_prefix=${prefix}
|
||||
+libdir=${prefix}/lib
|
||||
+includedir=@INCLUDE_OUTPUT_PATH@
|
||||
|
||||
|
||||
-Name: ${PROJECT_NAME}
|
||||
+Name: @PROJECT_NAME@
|
||||
Description: DDE KWin plugin library
|
||||
-Version: ${PROJECT_VERSION}
|
||||
-Libs: -l${PROJECT_NAME}
|
||||
-Libs.private: -L/usr/X11R6/lib64 -lQt5X11Extras -lKF5WindowSystem -lQt5Widgets -lQt5Gui -lKF5ConfigCore -lKF5CoreAddons -lQt5Core -lGL -lpthread
|
||||
-Cflags: -I${INCLUDE_OUTPUT_PATH}
|
||||
+Version: @PROJECT_VERSION@
|
||||
+Libs: -l$@PROJECT_NAME@
|
||||
+Libs.private: -L/usr/X11R6/lib64 -lQt5X11Extras -lKF5WindowSystem -lQt5Widgets -lQt5Gui -lKF5ConfigCore -lKF5CoreAddons -lQt5Core -lGL -lpthread
|
||||
+Cflags: -I@INCLUDE_OUTPUT_PATH@
|
||||
|
||||
--
|
||||
2.23.0
|
||||
|
@ -1,142 +0,0 @@
|
||||
{ stdenv
|
||||
, mkDerivation
|
||||
, pkgconfig
|
||||
, fetchFromGitHub
|
||||
, deepin
|
||||
, cmake
|
||||
, extra-cmake-modules
|
||||
, qtbase
|
||||
, libxcb
|
||||
, kglobalaccel
|
||||
, kwindowsystem
|
||||
, kcoreaddons
|
||||
, kwin
|
||||
, dtkcore
|
||||
, gsettings-qt
|
||||
, fontconfig
|
||||
, deepin-desktop-schemas
|
||||
, glib
|
||||
, libXrender
|
||||
, mtdev
|
||||
, qttools
|
||||
, deepin-gettext-tools
|
||||
, kwayland
|
||||
, qtx11extras
|
||||
, qtquickcontrols2
|
||||
, epoxy
|
||||
, qt5integration
|
||||
, dde-session-ui
|
||||
, dbus
|
||||
, wrapGAppsHook
|
||||
}:
|
||||
|
||||
mkDerivation rec {
|
||||
pname = "dde-kwin";
|
||||
version = "5.0.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "linuxdeepin";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "0bvkx9h5ygj46a0j76kfyq3gvk6zn4fx6clhrmcr40hbi2k33cbl";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
deepin-gettext-tools
|
||||
deepin.setupHook
|
||||
extra-cmake-modules
|
||||
pkgconfig
|
||||
wrapGAppsHook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
deepin-desktop-schemas
|
||||
dtkcore
|
||||
epoxy
|
||||
fontconfig
|
||||
glib
|
||||
gsettings-qt
|
||||
kcoreaddons
|
||||
kglobalaccel
|
||||
kwayland
|
||||
kwin
|
||||
kwindowsystem
|
||||
libXrender
|
||||
libxcb
|
||||
mtdev
|
||||
qtbase
|
||||
qtquickcontrols2
|
||||
qttools
|
||||
qtx11extras
|
||||
qt5integration
|
||||
];
|
||||
|
||||
# Need to add kwayland around:
|
||||
# * https://github.com/linuxdeepin/dde-kwin/blob/5226bb984c844129f9fa589da56e77decb7b39a1/plugins/kwineffects/blur/CMakeLists.txt#L14
|
||||
NIX_CFLAGS_COMPILE = [
|
||||
"-I${kwayland.dev}/include/KF5"
|
||||
];
|
||||
|
||||
cmakeFlags = [
|
||||
"-DKWIN_VERSION=${(builtins.parseDrvName kwin.name).version}"
|
||||
];
|
||||
|
||||
patches = [
|
||||
./0001-dde-kwin.pc-make-paths-relative.patch
|
||||
./fix-paths.patch
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
searchHardCodedPaths
|
||||
|
||||
patchShebangs translate_ts2desktop.sh \
|
||||
translate_generation.sh \
|
||||
translate_desktop2ts.sh \
|
||||
plugins/kwin-xcb/plugin/translate_generation.sh
|
||||
|
||||
fixPath ${deepin-gettext-tools} /usr/bin/deepin-desktop-ts-convert translate_desktop2ts.sh translate_ts2desktop.sh
|
||||
|
||||
fixPath $out /etc/xdg configures/CMakeLists.txt deepin-wm-dbus/deepinwmfaker.cpp
|
||||
|
||||
# TODO: Need environmental patch
|
||||
fixPath /run/current-system/sw /usr/lib plugins/kwin-xcb/plugin/main.cpp
|
||||
|
||||
substituteInPlace configures/kwin-wm-multitaskingview.desktop \
|
||||
--replace "dbus-send" "${dbus}/bin/dbus-send"
|
||||
|
||||
fixPath ${dde-session-ui} /usr/lib/deepin-daemon/dde-warning-dialog deepin-wm-dbus/deepinwmfaker.cpp
|
||||
|
||||
# Correct qt plugin installation path to be within dde-kwin prefix.
|
||||
substituteInPlace CMakeLists.txt \
|
||||
--subst-var-by plugin_path "$out/$qtPluginPrefix"
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
# Correct invalid path in .pc
|
||||
substituteInPlace $out/lib/pkgconfig/dde-kwin.pc \
|
||||
--replace "-L/usr/X11R6/lib64" ""
|
||||
|
||||
chmod +x $out/bin/kwin_no_scale
|
||||
'';
|
||||
|
||||
dontWrapQtApps = true;
|
||||
|
||||
preFixup = ''
|
||||
gappsWrapperArgs+=(
|
||||
"''${qtWrapperArgs[@]}"
|
||||
)
|
||||
'';
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
passthru.updateScript = deepin.updateScript { inherit pname version src; };
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "KWin configuration for Deepin Desktop Environment";
|
||||
homepage = "https://github.com/linuxdeepin/dde-kwin";
|
||||
license = licenses.gpl3;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ romildo worldofpeace ];
|
||||
};
|
||||
}
|
@ -1,16 +0,0 @@
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index feef49d..ecb7ed2 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -26,9 +26,9 @@ macro(query_qmake args output)
|
||||
endif()
|
||||
endmacro()
|
||||
|
||||
-query_qmake("QT_INSTALL_PLUGINS" QT_INSTALL_PLUGINS)
|
||||
+set(QT_INSTALL_PLUGINS @plugin_path@)
|
||||
|
||||
-set(PLUGIN_INSTALL_PATH ${QT_INSTALL_PLUGINS}/platforms)
|
||||
+set(PLUGIN_INSTALL_PATH @plugin_path@/platforms)
|
||||
# Find includes in corresponding build directories
|
||||
set(CMAKE_INCLUDE_CURRENT_DIR ON)
|
||||
# Instruct CMake to run moc automatically when needed
|
@ -1,101 +0,0 @@
|
||||
{ stdenv
|
||||
, mkDerivation
|
||||
, fetchFromGitHub
|
||||
, pkgconfig
|
||||
, cmake
|
||||
, dde-qt-dbus-factory
|
||||
, dde-session-ui
|
||||
, deepin
|
||||
, deepin-desktop-schemas
|
||||
, deepin-wallpapers
|
||||
, dtkcore
|
||||
, dtkwidget
|
||||
, gsettings-qt
|
||||
, qtsvg
|
||||
, qttools
|
||||
, qtx11extras
|
||||
, which
|
||||
, xdg_utils
|
||||
, wrapGAppsHook
|
||||
, glib
|
||||
}:
|
||||
|
||||
mkDerivation rec {
|
||||
pname = "dde-launcher";
|
||||
version = "5.0.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "linuxdeepin";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "0zh6bb0r3pgjrnw9rba46ghdzza1ka1mv7r1znf8gw24wsjgjcpn";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
pkgconfig
|
||||
qttools
|
||||
wrapGAppsHook
|
||||
deepin.setupHook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
dde-qt-dbus-factory
|
||||
dde-session-ui
|
||||
deepin-desktop-schemas
|
||||
deepin-wallpapers
|
||||
dtkcore
|
||||
dtkwidget
|
||||
glib
|
||||
gsettings-qt
|
||||
qtsvg
|
||||
qtx11extras
|
||||
which
|
||||
xdg_utils
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
# debugging
|
||||
searchHardCodedPaths
|
||||
|
||||
substituteInPlace CMakeLists.txt --replace "/usr/share" "$out/share"
|
||||
|
||||
substituteInPlace src/dbusservices/com.deepin.dde.Launcher.service --replace "/usr" "$out"
|
||||
|
||||
substituteInPlace src/historywidget.cpp --replace "xdg-open" "${xdg_utils}/bin/xdg-open"
|
||||
substituteInPlace src/widgets/miniframebottombar.cpp --replace "dde-shutdown" "${dde-session-ui}/bin/dde-shutdown"
|
||||
substituteInPlace src/widgets/miniframerightbar.cpp --replace "which" "${which}/bin/which"
|
||||
|
||||
# Uncomment (and remove space after $) after packaging deepin-manual
|
||||
#substituteInPlace src/sharedeventfilter.cpp --replace "dman" "$ {deepin-manual}/bin/dman"
|
||||
|
||||
for f in src/boxframe/*.cpp; do
|
||||
substituteInPlace $f --replace "/usr/share/backgrounds/default_background.jpg" "${deepin-wallpapers}/share/backgrounds/deepin/desktop.jpg"
|
||||
done
|
||||
|
||||
# note: `dbus-send` path does not need to be hard coded because it is not used for dtkcore >= 2.0.8.0
|
||||
'';
|
||||
|
||||
dontWrapQtApps = true;
|
||||
|
||||
preFixup = ''
|
||||
gappsWrapperArgs+=(
|
||||
"''${qtWrapperArgs[@]}"
|
||||
)
|
||||
'';
|
||||
|
||||
postFixup = ''
|
||||
# debugging
|
||||
searchHardCodedPaths $out
|
||||
'';
|
||||
|
||||
passthru.updateScript = deepin.updateScript { inherit pname version src; };
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Deepin Desktop Environment launcher module";
|
||||
homepage = "https://github.com/linuxdeepin/dde-launcher";
|
||||
license = licenses.gpl3;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ romildo ];
|
||||
};
|
||||
}
|
@ -1,63 +0,0 @@
|
||||
{ stdenv
|
||||
, mkDerivation
|
||||
, fetchFromGitHub
|
||||
, substituteAll
|
||||
, qmake
|
||||
, pkgconfig
|
||||
, qttools
|
||||
, dde-qt-dbus-factory
|
||||
, proxychains
|
||||
, which
|
||||
, deepin
|
||||
}:
|
||||
|
||||
mkDerivation rec {
|
||||
pname = "dde-network-utils";
|
||||
version = "5.0.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "linuxdeepin";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "0670kfnkplf7skkd1ql6y9x15kmrcbdv1005qwkg4vn8hic6s0z3";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
qmake
|
||||
pkgconfig
|
||||
qttools
|
||||
deepin.setupHook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
dde-qt-dbus-factory
|
||||
proxychains
|
||||
which
|
||||
];
|
||||
|
||||
patches = [
|
||||
(substituteAll {
|
||||
src = ./fix-paths.patch;
|
||||
inherit which proxychains;
|
||||
})
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
searchHardCodedPaths # for debugging
|
||||
patchShebangs translate_generation.sh
|
||||
'';
|
||||
|
||||
postFixup = ''
|
||||
searchHardCodedPaths $out # for debugging
|
||||
'';
|
||||
|
||||
passthru.updateScript = deepin.updateScript { inherit pname version src; };
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Deepin network utils";
|
||||
homepage = "https://github.com/linuxdeepin/dde-network-utils";
|
||||
license = licenses.gpl3;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ romildo ];
|
||||
};
|
||||
}
|
@ -1,23 +0,0 @@
|
||||
diff -ur dde-network-utils-master.orig/dde-network-utils.pro dde-network-utils-master/dde-network-utils.pro
|
||||
--- dde-network-utils-master.orig/dde-network-utils.pro 2019-04-04 03:37:46.000000000 -0300
|
||||
+++ dde-network-utils-master/dde-network-utils.pro 2019-04-07 05:56:28.283195087 -0300
|
||||
@@ -52,6 +52,7 @@
|
||||
|
||||
QMAKE_PKGCONFIG_NAME = libddenetworkutils
|
||||
QMAKE_PKGCONFIG_DESCRIPTION = libddenetworkutils
|
||||
+QMAKE_PKGCONFIG_PREFIX = $$PREFIX
|
||||
QMAKE_PKGCONFIG_INCDIR = $$includes.path
|
||||
QMAKE_PKGCONFIG_LIBDIR = $$target.path
|
||||
QMAKE_PKGCONFIG_DESTDIR = pkgconfig
|
||||
diff -ur dde-network-utils-master.orig/networkworker.cpp dde-network-utils-master/networkworker.cpp
|
||||
--- dde-network-utils-master.orig/networkworker.cpp 2019-04-04 03:37:46.000000000 -0300
|
||||
+++ dde-network-utils-master/networkworker.cpp 2019-04-07 05:54:28.656479216 -0300
|
||||
@@ -80,7 +80,7 @@
|
||||
}
|
||||
}
|
||||
|
||||
- const bool isAppProxyVaild = QProcess::execute("which", QStringList() << "/usr/bin/proxychains4") == 0;
|
||||
+ const bool isAppProxyVaild = QProcess::execute("@which@/bin/which", QStringList() << "@proxychains@/bin/proxychains4") == 0;
|
||||
m_networkModel->onAppProxyExistChanged(isAppProxyVaild);
|
||||
}
|
||||
|
@ -1,42 +0,0 @@
|
||||
From 4f457d38e9e75bc97ee7dba633bf0cdd61b8cd5b Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Jos=C3=A9=20Romildo=20Malaquias?= <malaquias@gmail.com>
|
||||
Date: Fri, 19 Apr 2019 22:01:16 -0300
|
||||
Subject: [PATCH] Use an environment variable to find plugins
|
||||
|
||||
---
|
||||
pluginmanager.cpp | 18 ++++++++++++------
|
||||
1 file changed, 12 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/pluginmanager.cpp b/pluginmanager.cpp
|
||||
index 0c03237..79bdf86 100644
|
||||
--- a/pluginmanager.cpp
|
||||
+++ b/pluginmanager.cpp
|
||||
@@ -34,13 +34,19 @@ QList<QButtonGroup*> PluginManager::reduceGetOptions(const QString &actionID)
|
||||
void PluginManager::load()
|
||||
{
|
||||
|
||||
- QDir dir("/usr/lib/polkit-1-dde/plugins/");
|
||||
- QFileInfoList pluginFiles = dir.entryInfoList((QStringList("*.so")));
|
||||
+ QStringList pluginsDirs = QProcessEnvironment::systemEnvironment().value("DDE_POLKIT_PLUGINS_DIRS").split(QDir::listSeparator(), QString::SkipEmptyParts);
|
||||
+ pluginsDirs.append("/usr/lib/polkit-1-dde/plugins/");
|
||||
|
||||
- for (const QFileInfo &pluginFile : pluginFiles) {
|
||||
- AgentExtension *plugin = loadFile(pluginFile.absoluteFilePath());
|
||||
- if (plugin)
|
||||
- m_plugins << plugin;
|
||||
+ for (const QString &dirName : pluginsDirs) {
|
||||
+ QDir dir(dirName);
|
||||
+
|
||||
+ QFileInfoList pluginFiles = dir.entryInfoList((QStringList("*.so")));
|
||||
+
|
||||
+ for (const QFileInfo &pluginFile : pluginFiles) {
|
||||
+ AgentExtension *plugin = loadFile(pluginFile.absoluteFilePath());
|
||||
+ if (plugin)
|
||||
+ m_plugins << plugin;
|
||||
+ }
|
||||
}
|
||||
}
|
||||
|
||||
--
|
||||
2.21.0
|
||||
|
@ -1,60 +0,0 @@
|
||||
{ stdenv
|
||||
, mkDerivation
|
||||
, fetchFromGitHub
|
||||
, pkgconfig
|
||||
, qmake
|
||||
, qttools
|
||||
, polkit-qt
|
||||
, dtkcore
|
||||
, dtkwidget
|
||||
, dde-qt-dbus-factory
|
||||
, deepin
|
||||
}:
|
||||
|
||||
mkDerivation rec {
|
||||
pname = "dde-polkit-agent";
|
||||
version = "5.0.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "linuxdeepin";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "00p8syx6rfwhq7wdsk37hm9mvwd0kwj9h0s39hii892h1psd84q9";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkgconfig
|
||||
qmake
|
||||
qttools
|
||||
deepin.setupHook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
dde-qt-dbus-factory
|
||||
dtkcore
|
||||
dtkwidget
|
||||
polkit-qt
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
searchHardCodedPaths
|
||||
patchShebangs translate_generation.sh
|
||||
|
||||
fixPath $out /usr dde-polkit-agent.pro polkit-dde-authentication-agent-1.desktop
|
||||
fixPath /run/current-system/sw /usr/lib/polkit-1-dde/plugins pluginmanager.cpp
|
||||
'';
|
||||
|
||||
postFixup = ''
|
||||
searchHardCodedPaths $out
|
||||
'';
|
||||
|
||||
passthru.updateScript = deepin.updateScript { inherit pname version src; };
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "PolicyKit agent for Deepin Desktop Environment";
|
||||
homepage = "https://github.com/linuxdeepin/dde-polkit-agent";
|
||||
license = licenses.gpl3;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ romildo ];
|
||||
};
|
||||
}
|
@ -1,43 +0,0 @@
|
||||
{ stdenv
|
||||
, fetchFromGitHub
|
||||
, qmake
|
||||
, python3
|
||||
, deepin
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "dde-qt-dbus-factory";
|
||||
version = "5.0.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "linuxdeepin";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "1wbh4jgvy3c09ivy0vvfk0azkg4d2sv37y23c9rq49jb3sakcjgm";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
qmake
|
||||
python3
|
||||
deepin.setupHook
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
searchHardCodedPaths
|
||||
fixPath $out /usr \
|
||||
libdframeworkdbus/DFrameworkdbusConfig.in \
|
||||
libdframeworkdbus/libdframeworkdbus.pro
|
||||
'';
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
passthru.updateScript = deepin.updateScript { inherit pname version src; };
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Qt DBus interface library for Deepin software";
|
||||
homepage = "https://github.com/linuxdeepin/dde-qt-dbus-factory";
|
||||
license = with licenses; [ gpl3Plus lgpl2Plus ];
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ romildo ];
|
||||
};
|
||||
}
|
@ -1,157 +0,0 @@
|
||||
{ stdenv
|
||||
, mkDerivation
|
||||
, fetchFromGitHub
|
||||
, pkgconfig
|
||||
, qmake
|
||||
, dbus
|
||||
, dde-daemon
|
||||
, dde-qt-dbus-factory
|
||||
, deepin
|
||||
, deepin-desktop-schemas
|
||||
, deepin-gettext-tools
|
||||
, deepin-icon-theme
|
||||
, deepin-wallpapers
|
||||
, dtkcore
|
||||
, dtkwidget
|
||||
, gnugrep
|
||||
, gsettings-qt
|
||||
, lightdm_qt
|
||||
, onboard
|
||||
, qtsvg
|
||||
, qttools
|
||||
, qtx11extras
|
||||
, setxkbmap
|
||||
, utillinux
|
||||
, which
|
||||
, xkeyboard_config
|
||||
, xorg
|
||||
, xrandr
|
||||
, wrapGAppsHook
|
||||
}:
|
||||
|
||||
mkDerivation rec {
|
||||
pname = "dde-session-ui";
|
||||
version = "5.0.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "linuxdeepin";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "1gy9nlpkr9ayrs1z2dvd7h0dqlw6fq2m66d9cs48qyfkr6c8l9jj";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkgconfig
|
||||
qmake
|
||||
qttools
|
||||
deepin-gettext-tools
|
||||
wrapGAppsHook
|
||||
deepin.setupHook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
dbus
|
||||
dde-daemon
|
||||
dde-qt-dbus-factory
|
||||
deepin-desktop-schemas
|
||||
deepin-icon-theme
|
||||
deepin-wallpapers
|
||||
dtkcore
|
||||
dtkwidget
|
||||
gnugrep
|
||||
gsettings-qt
|
||||
lightdm_qt
|
||||
onboard
|
||||
qtsvg
|
||||
qtx11extras
|
||||
setxkbmap
|
||||
utillinux
|
||||
which
|
||||
xkeyboard_config
|
||||
xorg.libXcursor
|
||||
xorg.libXrandr
|
||||
xorg.libXtst
|
||||
xrandr
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
searchHardCodedPaths # debugging
|
||||
|
||||
patchShebangs translate_generation.sh translate_desktop.sh
|
||||
|
||||
substituteInPlace translate_desktop.sh --replace "/usr/bin/deepin-desktop-ts-convert" "deepin-desktop-ts-convert"
|
||||
|
||||
find -type f -exec sed -i -e "s,path = /etc,path = $out/etc," {} +
|
||||
find -type f -exec sed -i -e "s,path = /usr,path = $out," {} +
|
||||
find -type f -exec sed -i -e "s,/usr/share/dde-session-ui,$out/share/dde-session-ui," {} +
|
||||
|
||||
substituteInPlace dde-osd/dde-osd_autostart.desktop --replace "Exec=/usr/lib/deepin-daemon/dde-osd" "Exec=$out/lib/deepin-daemon/dde-osd"
|
||||
substituteInPlace dde-osd/com.deepin.dde.osd.service --replace "Exec=/usr/lib/deepin-daemon/dde-osd" "Exec=$out/lib/deepin-daemon/dde-osd"
|
||||
substituteInPlace dde-lock/com.deepin.dde.lockFront.service --replace "Exec=/usr/bin/dde-lock" "Exec=$out/bin/dde-lock"
|
||||
substituteInPlace dmemory-warning-dialog/com.deepin.dde.MemoryWarningDialog.service --replace "Exec=/usr/bin/dmemory-warning-dialog" "Exec=$out/bin/dmemory-warning-dialog"
|
||||
substituteInPlace dde-warning-dialog/com.deepin.dde.WarningDialog.service --replace "Exec=/usr/lib/deepin-daemon/dde-warning-dialog" "Exec=$out/lib/deepin-daemon/dde-warning-dialog"
|
||||
substituteInPlace dde-shutdown/com.deepin.dde.shutdownFront.service --replace "Exec=/usr/bin/dde-shutdown" "Exec=$out/bin/dde-shutdown"
|
||||
substituteInPlace dde-welcome/com.deepin.dde.welcome.service --replace "Exec=/usr/lib/deepin-daemon/dde-welcome" "Exec=$out/lib/deepin-daemon/dde-welcome"
|
||||
substituteInPlace session-ui-guardien/session-ui-guardien.desktop --replace "Exec=/usr/bin/session-ui-guardien" "Exec=$out/bin/session-ui-guardien"
|
||||
substituteInPlace lightdm-deepin-greeter/lightdm-deepin-greeter.desktop --replace "Exec=/usr/bin/deepin-greeter" "Exec=$out/bin/deepin-greeter"
|
||||
substituteInPlace misc/applications/deepin-toggle-desktop.desktop.in --replace "Exec=/usr/lib/deepin-daemon/desktop-toggle" "Exec=${dde-daemon}/lib/deepin-daemon/desktop-toggle"
|
||||
|
||||
# Uncomment (and remove space after $) after packaging deepin-system-monitor
|
||||
#substituteInPlace dde-shutdown/view/contentwidget.cpp --replace "/usr/bin/deepin-system-monitor" "$ {deepin-system-monitor}/bin/deepin-system-monitor"
|
||||
|
||||
substituteInPlace dde-offline-upgrader/main.cpp --replace "dbus-send" "${dbus}/bin/dbus-send"
|
||||
substituteInPlace dde-osd/kblayoutindicator.cpp --replace "dbus-send" "${dbus}/bin/dbus-send"
|
||||
substituteInPlace dde-shutdown/view/contentwidget.cpp --replace "/usr/share/backgrounds/deepin" "${deepin-wallpapers}/share/backgrounds/deepin"
|
||||
substituteInPlace dde-welcome/mainwidget.cpp --replace "dbus-send" "${dbus}/bin/dbus-send"
|
||||
substituteInPlace dmemory-warning-dialog/src/buttondelegate.cpp --replace "dbus-send" "${dbus}/bin/dbus-send"
|
||||
substituteInPlace dmemory-warning-dialog/src/buttondelegate.cpp --replace "kill" "${utillinux}/bin/dbus-send"
|
||||
substituteInPlace global_util/xkbparser.h --replace "/usr/share/X11/xkb/rules/base.xml" "${xkeyboard_config}/share/X11/xkb/rules/base.xml"
|
||||
substituteInPlace lightdm-deepin-greeter/deepin-greeter --replace "/etc/deepin/greeters.d" "$out/etc/deepin/greeters.d"
|
||||
substituteInPlace lightdm-deepin-greeter/main.cpp --replace "/usr/share/icons/deepin" "${deepin-icon-theme}/share/icons/deepin"
|
||||
substituteInPlace lightdm-deepin-greeter/scripts/00-xrandr --replace "egrep" "${gnugrep}/bin/egrep"
|
||||
substituteInPlace lightdm-deepin-greeter/scripts/00-xrandr --replace "xrandr" "${xrandr}/bin/xrandr"
|
||||
substituteInPlace lightdm-deepin-greeter/scripts/lightdm-deepin-greeter --replace "/usr/bin/lightdm-deepin-greeter" "$out/bin/lightdm-deepin-greeter"
|
||||
substituteInPlace session-ui-guardien/guardien.cpp --replace "dde-lock" "$out/bin/dde-lock"
|
||||
substituteInPlace session-ui-guardien/guardien.cpp --replace "dde-shutdown" "$out/bin/dde-shutdown"
|
||||
substituteInPlace dde-lock/lockworker.cpp --replace "dde-switchtogreeter" "$out/bin/dde-switchtogreeter"
|
||||
substituteInPlace dde-lock/lockworker.cpp --replace "which" "${which}/bin/which"
|
||||
substituteInPlace session-widgets/userinfo.cpp --replace "/usr/share/wallpapers/deepin" "${deepin-wallpapers}/share/wallpapers/deepin"
|
||||
substituteInPlace widgets/fullscreenbackground.cpp --replace "/usr/share/wallpapers/deepin" "${deepin-wallpapers}/share/wallpapers/deepin"
|
||||
substituteInPlace widgets/kblayoutwidget.cpp --replace "setxkbmap" "${setxkbmap}/bin/setxkbmap"
|
||||
substituteInPlace widgets/virtualkbinstance.cpp --replace "onboard" "${onboard}/bin/onboard"
|
||||
|
||||
# fix default background url
|
||||
substituteInPlace widgets/fullscreenbackground.cpp --replace "/usr/share/backgrounds/default_background.jpg" "${deepin-wallpapers}/share/backgrounds/deepin/desktop.jpg"
|
||||
|
||||
# NOTES
|
||||
# - on deepin linux /usr/share/icons/default/index.theme is controlled by alternatives, without an equivalent mechanism in NixOS
|
||||
# - do not wrap dde-dman-portal related files: it appears it has been removed: https://github.com/linuxdeepin/dde-session-ui/commit/3bd028cf135ad22c784c0146e447ef34a69af768
|
||||
'';
|
||||
|
||||
dontWrapQtApps = true;
|
||||
|
||||
preFixup = ''
|
||||
gappsWrapperArgs+=(
|
||||
"''${qtWrapperArgs[@]}"
|
||||
)
|
||||
'';
|
||||
|
||||
postFixup = ''
|
||||
# wrapGAppsHook or wrapQtAppsHook does not work with binaries outside of $out/bin or $out/libexec
|
||||
for binary in $out/lib/deepin-daemon/*; do
|
||||
wrapProgram $binary "''${gappsWrapperArgs[@]}"
|
||||
done
|
||||
|
||||
searchHardCodedPaths $out # debugging
|
||||
'';
|
||||
|
||||
passthru.updateScript = deepin.updateScript { inherit pname version src; };
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Deepin desktop-environment - Session UI module";
|
||||
homepage = "https://github.com/linuxdeepin/dde-session-ui";
|
||||
license = licenses.gpl3;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ romildo ];
|
||||
};
|
||||
}
|
@ -1,82 +0,0 @@
|
||||
{ stdenv
|
||||
, mkDerivation
|
||||
, fetchFromGitHub
|
||||
, fetchpatch
|
||||
, pkgconfig
|
||||
, qtbase
|
||||
, udisks2-qt5
|
||||
, utillinux
|
||||
, dtkcore
|
||||
, deepin
|
||||
}:
|
||||
|
||||
mkDerivation rec {
|
||||
pname = "deepin-anything";
|
||||
version = "5.0.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "linuxdeepin";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "1kvyffrii4b012f6ld1ih14qrn7gg5cxbdpbkac0wxb22hnz0azm";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# fix compilation error and add support to kernel 5.6
|
||||
# https://github.com/linuxdeepin/deepin-anything/pull/27
|
||||
(fetchpatch {
|
||||
name = "linux-5.6.patch";
|
||||
url = "https://github.com/linuxdeepin/deepin-anything/commit/764b820c2bcd7248993349b32f91043fc58ee958.patch";
|
||||
sha256 = "1ww4xllxc2s04px6fy8wp5cyw54xaz155ry30sqz21vl8awfr36h";
|
||||
})
|
||||
];
|
||||
|
||||
outputs = [ "out" "modsrc" ];
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkgconfig
|
||||
deepin.setupHook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
dtkcore
|
||||
qtbase
|
||||
udisks2-qt5
|
||||
utillinux
|
||||
];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
makeFlags = [
|
||||
"DEB_HOST_MULTIARCH="
|
||||
"PREFIX=${placeholder "out"}"
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
searchHardCodedPaths # for debugging
|
||||
fixPath $modsrc /usr/src Makefile
|
||||
fixPath $out /usr Makefile
|
||||
fixPath $out /usr server/tool/tool.pro
|
||||
fixPath $out /etc server/tool/tool.pro
|
||||
fixPath $out /usr/bin \
|
||||
server/tool/deepin-anything-tool.service \
|
||||
server/tool/com.deepin.anything.service \
|
||||
server/monitor/deepin-anything-monitor.service
|
||||
sed -e 's,/lib/systemd,$$PREFIX/lib/systemd,' -i server/monitor/src/src.pro server/tool/tool.pro
|
||||
'';
|
||||
|
||||
postFixup = ''
|
||||
searchHardCodedPaths $out # for debugging
|
||||
searchHardCodedPaths $modsrc # for debugging
|
||||
'';
|
||||
|
||||
passthru.updateScript = deepin.updateScript { inherit pname version src; };
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Deepin file search tool";
|
||||
homepage = "https://github.com/linuxdeepin/deepin-anything";
|
||||
license = licenses.gpl3;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ romildo ];
|
||||
};
|
||||
}
|
@ -1,57 +0,0 @@
|
||||
{ stdenv
|
||||
, mkDerivation
|
||||
, fetchFromGitHub
|
||||
, pkgconfig
|
||||
, qmake
|
||||
, qttools
|
||||
, qtsvg
|
||||
, dtkcore
|
||||
, dtkwidget
|
||||
, deepin
|
||||
}:
|
||||
|
||||
mkDerivation rec {
|
||||
pname = "deepin-calculator";
|
||||
version = "5.0.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "linuxdeepin";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "0f26y7b3giybybhvlzbnwcw8kidzvhq66h0c15n9ww81gnlqf7v5";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
qmake
|
||||
pkgconfig
|
||||
qttools
|
||||
deepin.setupHook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
dtkcore
|
||||
dtkwidget
|
||||
qtsvg
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
searchHardCodedPaths # debugging
|
||||
patchShebangs translate_generation.sh
|
||||
fixPath $out /usr deepin-calculator.pro
|
||||
substituteInPlace deepin-calculator.desktop --replace "Exec=deepin-calculator" "Exec=$out/bin/deepin-calculator"
|
||||
'';
|
||||
|
||||
postFixup = ''
|
||||
searchHardCodedPaths $out # debugging
|
||||
'';
|
||||
|
||||
passthru.updateScript = deepin.updateScript { inherit pname version src; };
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Easy to use calculator for Deepin Desktop Environment";
|
||||
homepage = "https://github.com/linuxdeepin/deepin-calculator";
|
||||
license = licenses.gpl3;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ romildo ];
|
||||
};
|
||||
}
|
@ -1,68 +0,0 @@
|
||||
{ stdenv
|
||||
, fetchFromGitHub
|
||||
, deepin-wallpapers
|
||||
, deepin
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "deepin-desktop-base";
|
||||
version = "2019.07.10";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "linuxdeepin";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "0rs7bjy35k5gc5nbba1cijhdz16zny30lgmcf2ckx1pkdszk2vra";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
deepin.setupHook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
deepin-wallpapers
|
||||
];
|
||||
|
||||
# TODO: Fedora recommended dependencies:
|
||||
# deepin-wallpapers
|
||||
# plymouth-theme-deepin
|
||||
|
||||
postPatch = ''
|
||||
searchHardCodedPaths
|
||||
|
||||
fixPath $out /etc Makefile
|
||||
fixPath $out /usr Makefile
|
||||
|
||||
# Remove Deepin distro's lsb-release
|
||||
# Don't override systemd timeouts
|
||||
# Remove apt-specific templates
|
||||
echo ----------------------------------------------------------------
|
||||
echo grep --color=always -E 'lsb-release|systemd|python-apt|backgrounds' Makefile
|
||||
grep --color=always -E 'lsb-release|systemd|python-apt|backgrounds' Makefile
|
||||
echo ----------------------------------------------------------------
|
||||
sed -i -E '/lsb-release|systemd|python-apt|backgrounds/d' Makefile
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
# Make a symlink for deepin-version
|
||||
ln -s ../lib/deepin/desktop-version $out/etc/deepin-version
|
||||
'';
|
||||
|
||||
passthru.updateScript = deepin.updateScript { inherit pname version src; };
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Base assets and definitions for Deepin Desktop Environment";
|
||||
# TODO: revise
|
||||
longDescription = ''
|
||||
This package provides some components for Deepin desktop environment.
|
||||
- deepin logo
|
||||
- deepin desktop version
|
||||
- login screen background image
|
||||
- language information
|
||||
'';
|
||||
homepage = "https://github.com/linuxdeepin/deepin-desktop-base";
|
||||
license = licenses.gpl3;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ romildo ];
|
||||
};
|
||||
}
|
@ -1,79 +0,0 @@
|
||||
{ stdenv
|
||||
, fetchFromGitHub
|
||||
, python3
|
||||
, dconf
|
||||
, glib
|
||||
, deepin-gtk-theme
|
||||
, deepin-icon-theme
|
||||
, deepin-sound-theme
|
||||
, deepin-wallpapers
|
||||
, deepin
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "deepin-desktop-schemas";
|
||||
version = "3.13.9";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "linuxdeepin";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "1c69j6s7561zb1hrd1j3ihji1nvpgfzfgnp6svsv8jd8dg8vs8l1";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
python3
|
||||
glib.dev
|
||||
deepin.setupHook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
dconf
|
||||
deepin-gtk-theme
|
||||
deepin-icon-theme
|
||||
deepin-sound-theme
|
||||
deepin-wallpapers
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
searchHardCodedPaths
|
||||
|
||||
# fix default background url
|
||||
sed -i -e 's,/usr/share/backgrounds/default_background.jpg,/usr/share/backgrounds/deepin/desktop.jpg,' \
|
||||
overrides/common/com.deepin.wrap.gnome.desktop.override
|
||||
|
||||
fixPath ${deepin-wallpapers} /usr/share/backgrounds \
|
||||
overrides/common/com.deepin.wrap.gnome.desktop.override
|
||||
|
||||
fixPath ${deepin-wallpapers} /usr/share/wallpapers/deepin \
|
||||
schemas/com.deepin.dde.appearance.gschema.xml
|
||||
|
||||
# still hardcoded paths:
|
||||
# /etc/gnome-settings-daemon/xrandr/monitors.xml ? gnome3.gnome-settings-daemon
|
||||
# /usr/share/backgrounds/gnome/adwaita-lock.jpg ? gnome3.gnome-backgrounds
|
||||
# /usr/share/backgrounds/gnome/adwaita-timed.xml gnome3.gnome-backgrounds
|
||||
# /usr/share/desktop-directories
|
||||
'';
|
||||
|
||||
makeFlags = [
|
||||
"PREFIX=${placeholder "out"}"
|
||||
];
|
||||
|
||||
doCheck = true;
|
||||
checkTarget = "test";
|
||||
|
||||
postInstall = ''
|
||||
glib-compile-schemas --strict $out/share/glib-2.0/schemas
|
||||
searchHardCodedPaths $out
|
||||
'';
|
||||
|
||||
passthru.updateScript = deepin.updateScript { inherit pname version src; };
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "GSettings deepin desktop-wide schemas";
|
||||
homepage = "https://github.com/linuxdeepin/deepin-desktop-schemas";
|
||||
license = licenses.gpl3;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ romildo ];
|
||||
};
|
||||
}
|
@ -1,72 +0,0 @@
|
||||
{ stdenv
|
||||
, mkDerivation
|
||||
, fetchFromGitHub
|
||||
, pkgconfig
|
||||
, cmake
|
||||
, deepin
|
||||
, dtkcore
|
||||
, dtkwidget
|
||||
, kcodecs
|
||||
, qttools
|
||||
, syntax-highlighting
|
||||
, wrapQtAppsHook
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "deepin-editor";
|
||||
version = "1.2.9.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "linuxdeepin";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "0g7c3adqwn8i4ndxdrzibahr75dddz1fiqnsh3bjj1jjr86rv4ks";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
pkgconfig
|
||||
qttools
|
||||
wrapQtAppsHook
|
||||
deepin.setupHook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
dtkcore
|
||||
dtkwidget
|
||||
kcodecs
|
||||
syntax-highlighting
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
searchHardCodedPaths # debugging
|
||||
|
||||
patchShebangs translate_generation.sh
|
||||
|
||||
fixPath $out /usr \
|
||||
CMakeLists.txt \
|
||||
dedit/main.cpp \
|
||||
src/resources/settings.json \
|
||||
src/thememodule/themelistmodel.cpp
|
||||
|
||||
substituteInPlace deepin-editor.desktop \
|
||||
--replace "Exec=deepin-editor" "Exec=$out/bin/deepin-editor"
|
||||
|
||||
substituteInPlace src/editwrapper.cpp \
|
||||
--replace "appExec = \"deepin-editor\"" "appExec = \"$out/bin/deepin-editor\""
|
||||
'';
|
||||
|
||||
postFixup = ''
|
||||
searchHardCodedPaths $out # debugging
|
||||
'';
|
||||
|
||||
passthru.updateScript = deepin.updateScript { inherit pname version src; };
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Simple editor for Deepin Desktop Environment";
|
||||
homepage = "https://github.com/linuxdeepin/deepin-editor";
|
||||
license = licenses.gpl3;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ romildo worldofpeace ];
|
||||
};
|
||||
}
|
@ -1,55 +0,0 @@
|
||||
{ stdenv
|
||||
, fetchFromGitHub
|
||||
, gettext
|
||||
, python3Packages
|
||||
, perlPackages
|
||||
, deepin
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "deepin-gettext-tools";
|
||||
version = "1.0.8";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "linuxdeepin";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "03cwa82dd14a31v44jd3z0kpiri6g21ar4f48s8ph78nvjy55880";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
python3Packages.wrapPython
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
gettext
|
||||
perlPackages.perl
|
||||
perlPackages.XMLLibXML
|
||||
perlPackages.ConfigTiny
|
||||
python3Packages.python
|
||||
];
|
||||
|
||||
makeFlags = [
|
||||
"PREFIX=${placeholder "out"}"
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
sed -e 's/sudo cp/cp/' -i src/generate_mo.py
|
||||
'';
|
||||
|
||||
postFixup = ''
|
||||
wrapPythonPrograms
|
||||
wrapPythonProgramsIn "$out/lib/${pname}"
|
||||
wrapProgram $out/bin/deepin-desktop-ts-convert --set PERL5LIB $PERL5LIB
|
||||
'';
|
||||
|
||||
passthru.updateScript = deepin.updateScript { inherit pname version src; };
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Deepin Internationalization utilities";
|
||||
homepage = "https://github.com/linuxdeepin/deepin-gettext-tools";
|
||||
license = licenses.gpl3;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ romildo ];
|
||||
};
|
||||
}
|
@ -1,35 +0,0 @@
|
||||
{ stdenv
|
||||
, fetchFromGitHub
|
||||
, gtk-engine-murrine
|
||||
, deepin
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "deepin-gtk-theme";
|
||||
version = "17.10.11";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "linuxdeepin";
|
||||
repo = "deepin-gtk-theme";
|
||||
rev = version;
|
||||
sha256 = "0zs6mq70yd1k3d9zm3q6zxnw1md56r4imad5imdxwx58yxdx47fw";
|
||||
};
|
||||
|
||||
propagatedUserEnvPkgs = [
|
||||
gtk-engine-murrine
|
||||
];
|
||||
|
||||
makeFlags = [
|
||||
"PREFIX=${placeholder "out"}"
|
||||
];
|
||||
|
||||
passthru.updateScript = deepin.updateScript { inherit pname version src; };
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Deepin GTK Theme";
|
||||
homepage = "https://github.com/linuxdeepin/deepin-gtk-theme";
|
||||
license = licenses.lgpl3;
|
||||
platforms = platforms.unix;
|
||||
maintainers = [ maintainers.romildo ];
|
||||
};
|
||||
}
|
@ -1,67 +0,0 @@
|
||||
{ stdenv
|
||||
, fetchFromGitHub
|
||||
, gtk3
|
||||
, xcursorgen
|
||||
, papirus-icon-theme
|
||||
, hicolor-icon-theme
|
||||
, deepin
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "deepin-icon-theme";
|
||||
version = "2020.05.21";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "linuxdeepin";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "0b1s6kf0q804zbbghly981wzacy1spi8168shf3x8w95rqj6463p";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
gtk3
|
||||
xcursorgen
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
papirus-icon-theme
|
||||
hicolor-icon-theme
|
||||
];
|
||||
|
||||
dontDropIconThemeCache = true;
|
||||
|
||||
buildTargets = "all hicolor-links";
|
||||
|
||||
postPatch = ''
|
||||
# fix: hicolor links should follow the deepin -> bloom naming change
|
||||
# https://github.com/linuxdeepin/deepin-icon-theme/pull/24
|
||||
substituteInPlace tools/hicolor.links --replace deepin bloom
|
||||
|
||||
substituteInPlace Sea/index.theme --replace Inherits=deepin Inherits=bloom
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out/share/icons
|
||||
cp -vai bloom* Sea $out/share/icons
|
||||
|
||||
for theme in $out/share/icons/*; do
|
||||
gtk-update-icon-cache $theme
|
||||
done
|
||||
|
||||
cp -vai usr/share/icons/hicolor $out/share/icons
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
passthru.updateScript = deepin.updateScript { inherit pname version src; };
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Icons for the Deepin Desktop Environment";
|
||||
homepage = "https://github.com/linuxdeepin/deepin-icon-theme";
|
||||
license = licenses.gpl3;
|
||||
platforms = platforms.unix;
|
||||
maintainers = with maintainers; [ romildo ];
|
||||
};
|
||||
}
|
@ -1,66 +0,0 @@
|
||||
{ stdenv
|
||||
, mkDerivation
|
||||
, fetchFromGitHub
|
||||
, pkgconfig
|
||||
, qmake
|
||||
, qttools
|
||||
, qtsvg
|
||||
, qtx11extras
|
||||
, dtkcore
|
||||
, dtkwidget
|
||||
, qt5integration
|
||||
, freeimage
|
||||
, libraw
|
||||
, libexif
|
||||
, deepin
|
||||
}:
|
||||
|
||||
mkDerivation rec {
|
||||
pname = "deepin-image-viewer";
|
||||
version = "5.0.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "linuxdeepin";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "01524hfdy3wvdf07n9b3qb8jdpxzg2hwjpl4gxvr68qws5nbnb3c";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkgconfig
|
||||
qmake
|
||||
qttools
|
||||
deepin.setupHook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
qtsvg
|
||||
qtx11extras
|
||||
dtkcore
|
||||
dtkwidget
|
||||
qt5integration
|
||||
freeimage
|
||||
libraw
|
||||
libexif
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
searchHardCodedPaths
|
||||
patchShebangs viewer/generate_translations.sh
|
||||
fixPath $out /usr viewer/com.deepin.ImageViewer.service
|
||||
sed -i qimage-plugins/freeimage/freeimage.pro \
|
||||
qimage-plugins/libraw/libraw.pro \
|
||||
-e "s,\$\$\[QT_INSTALL_PLUGINS\],$out/$qtPluginPrefix,"
|
||||
'';
|
||||
|
||||
passthru.updateScript = deepin.updateScript { inherit pname version src; };
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Image Viewer for Deepin Desktop Environment";
|
||||
homepage = "https://github.com/linuxdeepin/deepin-image-viewer";
|
||||
license = licenses.gpl3Plus;
|
||||
platforms = platforms.linux;
|
||||
badPlatforms = [ "aarch64-linux" ]; # See https://github.com/NixOS/nixpkgs/pull/46463#issuecomment-420274189
|
||||
maintainers = with maintainers; [ romildo ];
|
||||
};
|
||||
}
|
@ -1,54 +0,0 @@
|
||||
{ stdenv
|
||||
, mkDerivation
|
||||
, fetchFromGitHub
|
||||
, pkgconfig
|
||||
, qmake
|
||||
, dtkcore
|
||||
, dtkwidget
|
||||
, qt5integration
|
||||
, deepin
|
||||
}:
|
||||
|
||||
mkDerivation rec {
|
||||
pname = "deepin-menu";
|
||||
version = "3.4.8";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "linuxdeepin";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "09i0ybllymlj7s46pxma5py6x8nknfja4gxn5gj9kpf2c37qsqjc";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkgconfig
|
||||
qmake
|
||||
deepin.setupHook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
dtkcore
|
||||
dtkwidget
|
||||
qt5integration
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
searchHardCodedPaths
|
||||
fixPath $out /usr \
|
||||
data/com.deepin.menu.service \
|
||||
deepin-menu.desktop \
|
||||
deepin-menu.pro
|
||||
'';
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
passthru.updateScript = deepin.updateScript { inherit pname version src; };
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Deepin menu service";
|
||||
homepage = "https://github.com/linuxdeepin/deepin-menu";
|
||||
license = licenses.gpl3;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ romildo ];
|
||||
};
|
||||
}
|
@ -1,85 +0,0 @@
|
||||
{ stdenv
|
||||
, mkDerivation
|
||||
, fetchFromGitHub
|
||||
, fetchpatch
|
||||
, cmake
|
||||
, pkgconfig
|
||||
, qttools
|
||||
, qtx11extras
|
||||
, dtkcore
|
||||
, dtkwidget
|
||||
, ffmpeg_3
|
||||
, ffmpegthumbnailer
|
||||
, mpv
|
||||
, pulseaudio
|
||||
, libdvdnav
|
||||
, libdvdread
|
||||
, xorg
|
||||
, deepin
|
||||
}:
|
||||
|
||||
mkDerivation rec {
|
||||
pname = "deepin-movie-reborn";
|
||||
version = "5.0.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "linuxdeepin";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "0cly8q0514a58s3h3wsvx9yxar7flz6i2q8xkrkfjias22b3z7b0";
|
||||
};
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
pkgconfig
|
||||
qttools
|
||||
deepin.setupHook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
dtkcore
|
||||
dtkwidget
|
||||
ffmpeg_3
|
||||
ffmpegthumbnailer
|
||||
libdvdnav
|
||||
libdvdread
|
||||
mpv
|
||||
pulseaudio
|
||||
qtx11extras
|
||||
xorg.libXdmcp
|
||||
xorg.libXtst
|
||||
xorg.libpthreadstubs
|
||||
xorg.xcbproto
|
||||
];
|
||||
|
||||
patches = [
|
||||
# fix: build failed if cannot find dtk-settings tool
|
||||
(fetchpatch {
|
||||
url = "https://github.com/linuxdeepin/deepin-movie-reborn/commit/fbb307b.patch";
|
||||
sha256 = "0915za0khki0729rvcfpxkh6vxhqwc47cgcmjc90kfq1004221vx";
|
||||
})
|
||||
];
|
||||
|
||||
NIX_LDFLAGS = "-ldvdnav";
|
||||
|
||||
postPatch = ''
|
||||
searchHardCodedPaths # debugging
|
||||
|
||||
sed -i src/libdmr/libdmr.pc.in -e "s,/usr,$out," -e 's,libdir=''${prefix}/,libdir=,'
|
||||
|
||||
substituteInPlace src/deepin-movie.desktop \
|
||||
--replace "Exec=deepin-movie" "Exec=$out/bin/deepin-movie"
|
||||
'';
|
||||
|
||||
passthru.updateScript = deepin.updateScript { inherit pname version src; };
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Deepin movie player";
|
||||
homepage = "https://github.com/linuxdeepin/deepin-movie-reborn";
|
||||
license = licenses.gpl3;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ romildo ];
|
||||
};
|
||||
}
|
@ -1,45 +0,0 @@
|
||||
{ stdenv
|
||||
, mkDerivation
|
||||
, fetchFromGitHub
|
||||
, pkgconfig
|
||||
, qmake
|
||||
, dtkcore
|
||||
, dtkwidget
|
||||
, qt5integration
|
||||
, deepin
|
||||
}:
|
||||
|
||||
mkDerivation rec {
|
||||
pname = "deepin-shortcut-viewer";
|
||||
version = "5.0.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "linuxdeepin";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "13vz8kjdqkrhgpvdgrvwn62vwzbyqp88hjm5m4rcqg3bh56709ma";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkgconfig
|
||||
qmake
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
dtkcore
|
||||
dtkwidget
|
||||
qt5integration
|
||||
];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
passthru.updateScript = deepin.updateScript { inherit pname version src; };
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Pop-up shortcut viewer for Deepin applications";
|
||||
homepage = "https://github.com/linuxdeepin/deepin-shortcut-viewer";
|
||||
license = licenses.gpl3;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ romildo ];
|
||||
};
|
||||
}
|
@ -1,30 +0,0 @@
|
||||
{ stdenv
|
||||
, fetchFromGitHub
|
||||
, deepin
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "deepin-sound-theme";
|
||||
version = "15.10.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "linuxdeepin";
|
||||
repo = "deepin-sound-theme";
|
||||
rev = version;
|
||||
sha256 = "1sw4nrn7q7wk1hpicm05apyc0mihaw42iqm52wb8ib8gm1qiylr9";
|
||||
};
|
||||
|
||||
makeFlags = [
|
||||
"PREFIX=${placeholder "out"}"
|
||||
];
|
||||
|
||||
passthru.updateScript = deepin.updateScript { inherit pname version src; };
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Deepin sound theme";
|
||||
homepage = "https://github.com/linuxdeepin/deepin-sound-theme";
|
||||
license = licenses.gpl3;
|
||||
platforms = platforms.linux;
|
||||
maintainers = [ maintainers.romildo ];
|
||||
};
|
||||
}
|
@ -1,117 +0,0 @@
|
||||
{ stdenv
|
||||
, fetchFromGitHub
|
||||
, pkgconfig
|
||||
, cmake
|
||||
, ninja
|
||||
, vala_0_40
|
||||
, fetchpatch
|
||||
, gettext
|
||||
, at-spi2-core
|
||||
, dbus
|
||||
, epoxy
|
||||
, expect
|
||||
, gtk3
|
||||
, json-glib
|
||||
, libXdmcp
|
||||
, libgee
|
||||
, libpthreadstubs
|
||||
, librsvg
|
||||
, libsecret
|
||||
, libtasn1
|
||||
, libxcb
|
||||
, libxkbcommon
|
||||
, p11-kit
|
||||
, pcre
|
||||
, vte
|
||||
, wnck
|
||||
, libselinux
|
||||
, gnutls
|
||||
, pcre2
|
||||
, libsepol
|
||||
, utillinux
|
||||
, deepin-menu
|
||||
, deepin-shortcut-viewer
|
||||
, deepin
|
||||
, wrapGAppsHook
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "deepin-terminal";
|
||||
version = "5.0.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "linuxdeepin";
|
||||
repo = "deepin-terminal";
|
||||
rev = version;
|
||||
sha256 = "1929saj828b438d07caw3cjhqq60v6gni7mi3fqrg9wdjz81xwv7";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Fix build with VTE 0.60
|
||||
(fetchpatch {
|
||||
url = "https://github.com/linuxdeepin/deepin-terminal/commit/542d1035b609698ee81aa7971d20ca8e5930743d.patch";
|
||||
sha256 = "1pihiy70yc25fm5fx7i7v9gmi65v4mhldvi7xwv8rgr2z6hbfj41";
|
||||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkgconfig
|
||||
cmake
|
||||
ninja
|
||||
vala_0_40 # xcb.vapi:411.3-411.48: error: missing return statement at end of subroutine body
|
||||
gettext
|
||||
libselinux libsepol utillinux # required by gio
|
||||
deepin.setupHook
|
||||
wrapGAppsHook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
at-spi2-core
|
||||
dbus
|
||||
deepin-menu
|
||||
deepin-shortcut-viewer
|
||||
epoxy
|
||||
expect
|
||||
gtk3
|
||||
json-glib
|
||||
libXdmcp
|
||||
libgee
|
||||
libpthreadstubs
|
||||
librsvg
|
||||
libsecret
|
||||
libtasn1
|
||||
libxcb
|
||||
libxkbcommon
|
||||
p11-kit
|
||||
pcre
|
||||
vte
|
||||
wnck
|
||||
gnutls
|
||||
pcre2
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
searchHardCodedPaths
|
||||
'';
|
||||
|
||||
cmakeFlags = [
|
||||
"-DTEST_BUILD=OFF"
|
||||
"-DUSE_VENDOR_LIB=OFF"
|
||||
"-DVERSION=${version}"
|
||||
];
|
||||
|
||||
passthru.updateScript = deepin.updateScript { inherit pname version src; };
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Default terminal emulator for Deepin";
|
||||
longDescription = ''
|
||||
Deepin terminal, it sharpens your focus in the world of command line!
|
||||
It is an advanced terminal emulator with workspace, multiple
|
||||
windows, remote management, quake mode and other features.
|
||||
'';
|
||||
homepage = "https://github.com/linuxdeepin/deepin-terminal";
|
||||
license = licenses.gpl3;
|
||||
platforms = platforms.linux;
|
||||
maintainers = [ maintainers.romildo ];
|
||||
};
|
||||
}
|
@ -1,50 +0,0 @@
|
||||
{ stdenv
|
||||
, mkDerivation
|
||||
, fetchFromGitHub
|
||||
, cmake
|
||||
, pkgconfig
|
||||
, qtbase
|
||||
, deepin
|
||||
}:
|
||||
|
||||
mkDerivation rec {
|
||||
pname = "deepin-turbo";
|
||||
version = "0.0.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "linuxdeepin";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "15l0pgszmbirlaxj04ishj43kyvigsl1yaf58kxlbdb3lkmcp5f3";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
pkgconfig
|
||||
deepin.setupHook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
qtbase
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
searchHardCodedPaths # for debugging
|
||||
fixPath $out /usr/lib/systemd src/booster-dtkwidget/CMakeLists.txt
|
||||
fixPath $out /usr/lib/deepin-turbo src/booster-dtkwidget/deepin-turbo-booster-dtkwidget.service
|
||||
'';
|
||||
|
||||
postFixup = ''
|
||||
searchHardCodedPaths $out # for debugging
|
||||
'';
|
||||
|
||||
passthru.updateScript = deepin.updateScript { inherit pname version src; };
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "A daemon that helps to launch applications faster";
|
||||
homepage = "https://github.com/linuxdeepin/deepin-turbo";
|
||||
license = licenses.gpl3;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ romildo ];
|
||||
};
|
||||
}
|
@ -1,52 +0,0 @@
|
||||
{ stdenv
|
||||
, fetchFromGitHub
|
||||
, dde-api
|
||||
, deepin
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "deepin-wallpapers";
|
||||
version = "1.7.7";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "linuxdeepin";
|
||||
repo = "deepin-wallpapers";
|
||||
rev = version;
|
||||
sha256 = "09cfnxbpms98ibqbi4xd51181q3az5n8rmndcdr9w12kyzniz7xv";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
dde-api
|
||||
deepin.setupHook
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
searchHardCodedPaths # debugging
|
||||
|
||||
sed -i -e "s:/usr/lib/deepin-api:${dde-api}/lib/deepin-api:" Makefile
|
||||
sed -i -e "s:/usr/share/wallpapers:$out/share/wallpapers:" Makefile
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/share/wallpapers/deepin
|
||||
cp -a deepin/* deepin-community/* deepin-private/* $out/share/wallpapers/deepin
|
||||
mkdir -p $out/var/cache
|
||||
cp -a image-blur $out/var/cache
|
||||
|
||||
# Suggested by upstream
|
||||
mkdir -p $out/share/backgrounds/deepin
|
||||
ln -s ../../wallpapers/deepin/Hummingbird_by_Shu_Le.jpg $out/share/backgrounds/deepin/desktop.jpg
|
||||
ln -s $(echo -n $out/share/wallpapers/deepin/Hummingbird_by_Shu_Le.jpg | md5sum | cut -d " " -f 1).jpg \
|
||||
$out/var/cache/image-blur/$(echo -n $out/share/backgrounds/deepin/desktop.jpg | md5sum | cut -d " " -f 1).jpg
|
||||
'';
|
||||
|
||||
passthru.updateScript = deepin.updateScript { inherit pname version src; };
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Wallpapers for Deepin Desktop Environment";
|
||||
homepage = "https://github.com/linuxdeepin/deepin-wallpapers";
|
||||
license = licenses.gpl3;
|
||||
platforms = platforms.linux;
|
||||
maintainers = [ maintainers.romildo ];
|
||||
};
|
||||
}
|
@ -1,62 +0,0 @@
|
||||
{ pkgs, makeScope, libsForQt5 }:
|
||||
let
|
||||
packages = self: with self; {
|
||||
setupHook = ./setup-hook.sh;
|
||||
|
||||
# Update script tailored to deepin packages from git repository
|
||||
updateScript = { pname, version, src }:
|
||||
pkgs.genericUpdater {
|
||||
inherit pname version;
|
||||
attrPath = "deepin.${pname}";
|
||||
versionLister = "${pkgs.common-updater-scripts}/bin/list-git-tags ${src.meta.homepage}";
|
||||
ignoredVersions = "^2014(\\.|rc)|^v[0-9]+";
|
||||
};
|
||||
|
||||
dde-api = callPackage ./dde-api { };
|
||||
dde-calendar = callPackage ./dde-calendar { };
|
||||
dde-control-center = callPackage ./dde-control-center { };
|
||||
dde-daemon = callPackage ./dde-daemon { };
|
||||
dde-dock = callPackage ./dde-dock { };
|
||||
dde-file-manager = callPackage ./dde-file-manager { };
|
||||
dde-kwin = callPackage ./dde-kwin { };
|
||||
dde-launcher = callPackage ./dde-launcher { };
|
||||
dde-network-utils = callPackage ./dde-network-utils { };
|
||||
dde-polkit-agent = callPackage ./dde-polkit-agent { };
|
||||
dde-qt-dbus-factory = callPackage ./dde-qt-dbus-factory { };
|
||||
dde-session-ui = callPackage ./dde-session-ui { };
|
||||
deepin-anything = callPackage ./deepin-anything { };
|
||||
deepin-calculator = callPackage ./deepin-calculator { };
|
||||
deepin-desktop-base = callPackage ./deepin-desktop-base { };
|
||||
deepin-desktop-schemas = callPackage ./deepin-desktop-schemas { };
|
||||
deepin-editor = callPackage ./deepin-editor { };
|
||||
deepin-gettext-tools = callPackage ./deepin-gettext-tools { };
|
||||
deepin-gtk-theme = callPackage ./deepin-gtk-theme { };
|
||||
deepin-icon-theme = callPackage ./deepin-icon-theme { };
|
||||
deepin-image-viewer = callPackage ./deepin-image-viewer { };
|
||||
deepin-menu = callPackage ./deepin-menu { };
|
||||
deepin-movie-reborn = callPackage ./deepin-movie-reborn { };
|
||||
deepin-shortcut-viewer = callPackage ./deepin-shortcut-viewer { };
|
||||
deepin-sound-theme = callPackage ./deepin-sound-theme { };
|
||||
deepin-terminal = callPackage ./deepin-terminal {
|
||||
wnck = pkgs.libwnck3;
|
||||
};
|
||||
deepin-turbo = callPackage ./deepin-turbo { };
|
||||
deepin-wallpapers = callPackage ./deepin-wallpapers { };
|
||||
disomaster = callPackage ./disomaster { };
|
||||
dpa-ext-gnomekeyring = callPackage ./dpa-ext-gnomekeyring { };
|
||||
dtkcore = callPackage ./dtkcore { };
|
||||
dtkwidget = callPackage ./dtkwidget { };
|
||||
dtkwm = callPackage ./dtkwm { };
|
||||
go-dbus-factory = callPackage ./go-dbus-factory { };
|
||||
go-gir-generator = callPackage ./go-gir-generator { };
|
||||
go-lib = callPackage ./go-lib { };
|
||||
qcef = callPackage ./qcef { };
|
||||
qt5integration = callPackage ./qt5integration { };
|
||||
qt5platform-plugins = callPackage ./qt5platform-plugins { };
|
||||
startdde = callPackage ./startdde { };
|
||||
udisks2-qt5 = callPackage ./udisks2-qt5 { };
|
||||
|
||||
};
|
||||
|
||||
in
|
||||
makeScope libsForQt5.newScope packages
|
@ -1,50 +0,0 @@
|
||||
{ stdenv
|
||||
, mkDerivation
|
||||
, fetchFromGitHub
|
||||
, pkgconfig
|
||||
, qmake
|
||||
, qtbase
|
||||
, libisoburn
|
||||
, deepin
|
||||
}:
|
||||
|
||||
mkDerivation rec {
|
||||
pname = "disomaster";
|
||||
version = "5.0.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "linuxdeepin";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "1kmhlnw37pdmlf7k9zry657xlhz40m9nzg361kiyisn186pfqpws";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
deepin.setupHook
|
||||
pkgconfig
|
||||
qmake
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
libisoburn
|
||||
qtbase
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
searchHardCodedPaths # debugging
|
||||
'';
|
||||
|
||||
qmakeFlags = [
|
||||
"QMAKE_PKGCONFIG_PREFIX=${placeholder "out"}"
|
||||
];
|
||||
|
||||
passthru.updateScript = deepin.updateScript { inherit pname version src; };
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "A libisoburn wrapper for Qt";
|
||||
homepage = "https://github.com/linuxdeepin/disomaster";
|
||||
license = licenses.gpl3;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ romildo worldofpeace ];
|
||||
};
|
||||
}
|
@ -1,49 +0,0 @@
|
||||
{ stdenv
|
||||
, fetchFromGitHub
|
||||
, pkgconfig
|
||||
, qmake
|
||||
, qttools
|
||||
, gnome3
|
||||
, dde-polkit-agent
|
||||
, deepin
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "dpa-ext-gnomekeyring";
|
||||
version = "5.0.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "linuxdeepin";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "168j42nwyw7vcgwc0fha2pjpwwlgir70fq1hns4ia1dkdqa1nhzw";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkgconfig
|
||||
qmake
|
||||
qttools
|
||||
deepin.setupHook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
dde-polkit-agent
|
||||
gnome3.libgnome-keyring
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
searchHardCodedPaths
|
||||
patchShebangs translate_generation.sh
|
||||
fixPath $out /usr dpa-ext-gnomekeyring.pro gnomekeyringextention.cpp
|
||||
'';
|
||||
|
||||
passthru.updateScript = deepin.updateScript { inherit pname version src; };
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "GNOME keyring extension for dde-polkit-agent";
|
||||
homepage = "https://github.com/linuxdeepin/dpa-ext-gnomekeyring";
|
||||
license = licenses.gpl3;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ romildo ];
|
||||
};
|
||||
}
|
@ -1,63 +0,0 @@
|
||||
{ stdenv
|
||||
, mkDerivation
|
||||
, fetchFromGitHub
|
||||
, pkgconfig
|
||||
, qmake
|
||||
, gsettings-qt
|
||||
, pythonPackages
|
||||
, deepin
|
||||
}:
|
||||
|
||||
mkDerivation rec {
|
||||
pname = "dtkcore";
|
||||
version = "2.1.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "linuxdeepin";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "0xdh6mmrv8yr6mjmlwj0fv037parkkwfwlaibcbrskwxqp9iri1y";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkgconfig
|
||||
qmake
|
||||
pythonPackages.wrapPython
|
||||
deepin.setupHook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
gsettings-qt
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
searchHardCodedPaths # debugging
|
||||
|
||||
# Fix shebang
|
||||
sed -i tools/script/dtk-translate.py -e "s,#!env,#!/usr/bin/env,"
|
||||
'';
|
||||
|
||||
qmakeFlags = [
|
||||
"DTK_VERSION=${version}"
|
||||
"LIB_INSTALL_DIR=${placeholder "out"}/lib"
|
||||
"MKSPECS_INSTALL_DIR=${placeholder "out"}/mkspecs"
|
||||
];
|
||||
|
||||
postFixup = ''
|
||||
chmod +x $out/lib/libdtk-${version}/DCore/bin/*.py
|
||||
wrapPythonProgramsIn "$out/lib/libdtk-${version}/DCore/bin" "$out $pythonPath"
|
||||
searchHardCodedPaths $out # debugging
|
||||
'';
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
passthru.updateScript = deepin.updateScript { inherit pname version src; };
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Deepin tool kit core library";
|
||||
homepage = "https://github.com/linuxdeepin/dtkcore";
|
||||
license = licenses.gpl3;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ romildo ];
|
||||
};
|
||||
}
|
@ -1,65 +0,0 @@
|
||||
{ stdenv
|
||||
, mkDerivation
|
||||
, fetchFromGitHub
|
||||
, pkgconfig
|
||||
, qmake
|
||||
, qttools
|
||||
, qtmultimedia
|
||||
, qtsvg
|
||||
, qtx11extras
|
||||
, librsvg
|
||||
, libstartup_notification
|
||||
, gsettings-qt
|
||||
, dde-qt-dbus-factory
|
||||
, dtkcore
|
||||
, deepin
|
||||
}:
|
||||
|
||||
mkDerivation rec {
|
||||
pname = "dtkwidget";
|
||||
version = "2.1.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "linuxdeepin";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "0yqrm1p0k1843ldvcd79dxl26ybyl5kljl6vwhzc58sx7pw4qmvh";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkgconfig
|
||||
qmake
|
||||
qttools
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
qtmultimedia
|
||||
qtsvg
|
||||
qtx11extras
|
||||
librsvg
|
||||
libstartup_notification
|
||||
gsettings-qt
|
||||
dde-qt-dbus-factory
|
||||
dtkcore
|
||||
];
|
||||
|
||||
outRef = placeholder "out";
|
||||
|
||||
qmakeFlags = [
|
||||
"INCLUDE_INSTALL_DIR=${outRef}/include"
|
||||
"LIB_INSTALL_DIR=${outRef}/lib"
|
||||
"QT_HOST_DATA=${outRef}"
|
||||
];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
passthru.updateScript = deepin.updateScript { inherit pname version src; };
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Deepin graphical user interface library";
|
||||
homepage = "https://github.com/linuxdeepin/dtkwidget";
|
||||
license = licenses.gpl3;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ romildo ];
|
||||
};
|
||||
}
|
@ -1,58 +0,0 @@
|
||||
{ stdenv
|
||||
, mkDerivation
|
||||
, fetchFromGitHub
|
||||
, fetchpatch
|
||||
, pkgconfig
|
||||
, qmake
|
||||
, qtx11extras
|
||||
, dtkcore
|
||||
, deepin
|
||||
}:
|
||||
|
||||
mkDerivation rec {
|
||||
pname = "dtkwm";
|
||||
version = "2.0.12";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "linuxdeepin";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "0rdzzqsggqarldwb4yp5s4sf5czicgxbdmibjn0pw32129r2d1g3";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkgconfig
|
||||
qmake
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
dtkcore
|
||||
qtx11extras
|
||||
];
|
||||
|
||||
patches = [
|
||||
# Set DTK_MODULE_NAME
|
||||
(fetchpatch {
|
||||
url = "https://github.com/linuxdeepin/dtkwm/commit/2490891a.patch";
|
||||
sha256 = "0krydxjpnaihkgs1n49b6mcf3rd3lkispcnkb1j5vpfs9hp9f48j";
|
||||
})
|
||||
];
|
||||
|
||||
outRef = placeholder "out";
|
||||
|
||||
qmakeFlags = [
|
||||
"QT_HOST_DATA=${outRef}"
|
||||
"INCLUDE_INSTALL_DIR=${outRef}/include"
|
||||
"LIB_INSTALL_DIR=${outRef}/lib"
|
||||
];
|
||||
|
||||
passthru.updateScript = deepin.updateScript { inherit pname version src; };
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Deepin graphical user interface library";
|
||||
homepage = "https://github.com/linuxdeepin/dtkwm";
|
||||
license = licenses.gpl3Plus;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ romildo ];
|
||||
};
|
||||
}
|
@ -1,34 +0,0 @@
|
||||
{ stdenv
|
||||
, fetchFromGitHub
|
||||
, deepin
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "go-dbus-factory";
|
||||
version = "0.9.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "linuxdeepin";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "06fqyad9f50gcjsjkh7929yyaprahdjhnd0dr4gl2797a7wysl3f";
|
||||
};
|
||||
|
||||
makeFlags = [
|
||||
"PREFIX=${placeholder "out"}"
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
sed -i -e 's:/share/gocode:/share/go:' Makefile
|
||||
'';
|
||||
|
||||
passthru.updateScript = deepin.updateScript { inherit pname version src; };
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "GoLang DBus factory for the Deepin Desktop Environment";
|
||||
homepage = "https://github.com/linuxdeepin/go-dbus-factory";
|
||||
license = licenses.gpl3;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ romildo ];
|
||||
};
|
||||
}
|
@ -1,59 +0,0 @@
|
||||
{ stdenv
|
||||
, fetchpatch
|
||||
, fetchFromGitHub
|
||||
, pkgconfig
|
||||
, go
|
||||
, gobject-introspection
|
||||
, libgudev
|
||||
, deepin
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "go-gir-generator";
|
||||
version = "2.0.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "linuxdeepin";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "1ydzll8zlk897iqcihvv6p046p0rzr4qqz2drmz2nx95njp8n03a";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Fix compatibility with glib 2.63+
|
||||
# https://github.com/linuxdeepin/go-gir-generator/pull/11
|
||||
(fetchpatch {
|
||||
url = "https://github.com/linuxdeepin/go-gir-generator/commit/7dea15a1a491f28d2ac8c411068ccefeba01aae3.patch";
|
||||
sha256 = "182d30qkj1rx9ynpj9zfxh53nykvfq9wxk4502zc42gfvadgzfgd";
|
||||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkgconfig
|
||||
go
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
gobject-introspection
|
||||
libgudev
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
sed -i -e 's:/share/gocode:/share/go:' Makefile
|
||||
'';
|
||||
|
||||
makeFlags = [
|
||||
"PREFIX=${placeholder "out"}"
|
||||
"GOCACHE=$(TMPDIR)/go-cache"
|
||||
];
|
||||
|
||||
passthru.updateScript = deepin.updateScript { inherit pname version src; };
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Generate static golang bindings for GObject";
|
||||
homepage = "https://github.com/linuxdeepin/go-gir-generator";
|
||||
license = licenses.gpl3;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ romildo ];
|
||||
};
|
||||
}
|
@ -1,46 +0,0 @@
|
||||
{ stdenv
|
||||
, fetchFromGitHub
|
||||
, glib
|
||||
, xorg
|
||||
, gdk-pixbuf
|
||||
, pulseaudio
|
||||
, mobile-broadband-provider-info
|
||||
, deepin
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "go-lib";
|
||||
version = "5.4.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "linuxdeepin";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "021sq7nzvfwsa5ccsb3vdjk53m7cf693xm4wkdkrkf8pja6vz94q";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
glib
|
||||
xorg.libX11
|
||||
gdk-pixbuf
|
||||
pulseaudio
|
||||
mobile-broadband-provider-info
|
||||
];
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/share/go/src/pkg.deepin.io/lib
|
||||
cp -a * $out/share/go/src/pkg.deepin.io/lib
|
||||
|
||||
rm -r $out/share/go/src/pkg.deepin.io/lib/debian
|
||||
'';
|
||||
|
||||
passthru.updateScript = deepin.updateScript { inherit pname version src; };
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Go bindings for Deepin Desktop Environment development";
|
||||
homepage = "https://github.com/linuxdeepin/go-lib";
|
||||
license = licenses.gpl3;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ romildo ];
|
||||
};
|
||||
}
|
@ -1,127 +0,0 @@
|
||||
{ stdenv
|
||||
, mkDerivation
|
||||
, fetchFromGitHub
|
||||
, pkgconfig
|
||||
, cmake
|
||||
, qtbase
|
||||
, qttools
|
||||
, qtwebchannel
|
||||
, qtx11extras
|
||||
, gnome2
|
||||
, nss
|
||||
, nspr
|
||||
, alsaLib
|
||||
, atk
|
||||
, cairo
|
||||
, cups
|
||||
, dbus
|
||||
, expat
|
||||
, fontconfig
|
||||
, gdk-pixbuf
|
||||
, glib
|
||||
, gtk2
|
||||
, libxcb
|
||||
, pango
|
||||
, pulseaudio
|
||||
, xorg
|
||||
, deepin
|
||||
}:
|
||||
|
||||
let
|
||||
rpahtLibraries = [
|
||||
stdenv.cc.cc.lib # libstdc++.so.6
|
||||
alsaLib
|
||||
atk
|
||||
cairo
|
||||
cups
|
||||
dbus
|
||||
expat
|
||||
fontconfig
|
||||
gdk-pixbuf
|
||||
glib
|
||||
gnome2.GConf
|
||||
gtk2
|
||||
libxcb
|
||||
nspr
|
||||
nss
|
||||
pango
|
||||
pulseaudio
|
||||
xorg.libX11
|
||||
xorg.libXScrnSaver
|
||||
xorg.libXcomposite
|
||||
xorg.libXcursor
|
||||
xorg.libXdamage
|
||||
xorg.libXext
|
||||
xorg.libXfixes
|
||||
xorg.libXi
|
||||
xorg.libXrandr
|
||||
xorg.libXrender
|
||||
xorg.libXtst
|
||||
];
|
||||
|
||||
libPath = stdenv.lib.makeLibraryPath rpahtLibraries;
|
||||
|
||||
in
|
||||
mkDerivation rec {
|
||||
pname = "qcef";
|
||||
version = "1.1.8";
|
||||
|
||||
srcs = [
|
||||
(fetchFromGitHub {
|
||||
owner = "linuxdeepin";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "14a33af1h3wj3yph080c1ri3m27bqj1v1k0jdqc63x7c3smnpwfk";
|
||||
name = pname;
|
||||
})
|
||||
(fetchFromGitHub {
|
||||
owner = "linuxdeepin";
|
||||
repo = "cef-binary";
|
||||
rev = "fecf00339545d2819224333cc506d5aa22ae8008";
|
||||
sha256 = "06i1zc7ciy7d0qhndiwpjrsii0x5i5hg9j6ddi4w5yf1nzgsrj4n";
|
||||
name = "cef-binary";
|
||||
})
|
||||
];
|
||||
|
||||
sourceRoot = pname;
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkgconfig
|
||||
cmake
|
||||
qttools
|
||||
deepin.setupHook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
qtbase
|
||||
qtwebchannel
|
||||
qtx11extras
|
||||
] ++ rpahtLibraries;
|
||||
|
||||
postUnpack = ''
|
||||
rmdir ${pname}/cef
|
||||
ln -s ../cef-binary ${pname}/cef
|
||||
'';
|
||||
|
||||
postPatch = ''
|
||||
searchHardCodedPaths
|
||||
fixPath $out /usr src/core/qcef_global_settings.{h,cpp}
|
||||
sed '/COMMAND rm -rf Release Resources/a COMMAND ldd qcef/libcef.so' -i src/CMakeLists.txt
|
||||
sed '/COMMAND rm -rf Release Resources/a COMMAND patchelf --set-rpath ${libPath} qcef/libcef.so' -i src/CMakeLists.txt
|
||||
'';
|
||||
|
||||
postFixup = ''
|
||||
searchHardCodedPaths $out
|
||||
'';
|
||||
|
||||
passthru.updateScript = deepin.updateScript { inherit pname version; src = (builtins.head srcs); };
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Qt5 binding of Chromium Embedded Framework";
|
||||
homepage = "https://github.com/linuxdeepin/qcef";
|
||||
license = licenses.lgpl3;
|
||||
platforms = platforms.linux;
|
||||
badPlatforms = [ "aarch64-linux" ]; # the cef-binary is not available
|
||||
maintainers = with maintainers; [ romildo ];
|
||||
};
|
||||
}
|
@ -1,65 +0,0 @@
|
||||
{ stdenv
|
||||
, mkDerivation
|
||||
, fetchFromGitHub
|
||||
, pkgconfig
|
||||
, qmake
|
||||
, mtdev
|
||||
, lxqt
|
||||
, qtx11extras
|
||||
, qtmultimedia
|
||||
, qtsvg
|
||||
, qt5platform-plugins
|
||||
, qtstyleplugins
|
||||
, dtkcore
|
||||
, dtkwidget
|
||||
, deepin
|
||||
}:
|
||||
|
||||
mkDerivation rec {
|
||||
pname = "qt5integration";
|
||||
version = "5.0.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "linuxdeepin";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "140wb3vcm2ji8jhqdxv8f4shiknia1zk8fssqlp09kzc1cmb4ncy";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkgconfig
|
||||
qmake
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
dtkcore
|
||||
dtkwidget
|
||||
qt5platform-plugins
|
||||
mtdev
|
||||
lxqt.libqtxdg
|
||||
qtstyleplugins
|
||||
qtx11extras
|
||||
qtmultimedia
|
||||
qtsvg
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
sed -i dstyleplugin/dstyleplugin.pro \
|
||||
platformthemeplugin/qt5deepintheme-plugin.pro \
|
||||
iconengineplugins/svgiconengine/svgiconengine.pro \
|
||||
imageformatplugins/svg/svg.pro \
|
||||
-e "s,\$\$\[QT_INSTALL_PLUGINS\],$out/$qtPluginPrefix,"
|
||||
'';
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
passthru.updateScript = deepin.updateScript { inherit pname version src; };
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Qt platform theme integration plugins for DDE";
|
||||
homepage = "https://github.com/linuxdeepin/qt5integration";
|
||||
license = with licenses; [ gpl3 lgpl2Plus bsd2 ];
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ romildo ];
|
||||
};
|
||||
}
|
@ -1,63 +0,0 @@
|
||||
{ stdenv
|
||||
, mkDerivation
|
||||
, fetchFromGitHub
|
||||
, pkgconfig
|
||||
, qmake
|
||||
, qtx11extras
|
||||
, libSM
|
||||
, mtdev
|
||||
, cairo
|
||||
, deepin
|
||||
, qtbase
|
||||
}:
|
||||
|
||||
mkDerivation rec {
|
||||
pname = "qt5platform-plugins";
|
||||
version = "5.0.11";
|
||||
|
||||
srcs = [
|
||||
(fetchFromGitHub {
|
||||
owner = "linuxdeepin";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "14xkr3p49716jc9v7ksj6jgcmfa65qicqrmablizfi71srg3z2pr";
|
||||
})
|
||||
qtbase.src
|
||||
];
|
||||
|
||||
sourceRoot = "source";
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkgconfig
|
||||
qmake
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
qtx11extras
|
||||
libSM
|
||||
mtdev
|
||||
cairo
|
||||
qtbase
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
# The Qt5 platforms plugin is vendored in the package, however what's there is not always up-to-date with what's in nixpkgs.
|
||||
# We simply copy the headers from qtbase's source tarball.
|
||||
mkdir -p platformplugin/libqt5xcbqpa-dev/${qtbase.version}
|
||||
cp -r ../qtbase-everywhere-src-${qtbase.version}/src/plugins/platforms/xcb/*.h platformplugin/libqt5xcbqpa-dev/${qtbase.version}/
|
||||
'';
|
||||
|
||||
qmakeFlags = [
|
||||
"INSTALL_PATH=${placeholder "out"}/${qtbase.qtPluginPrefix}/platforms"
|
||||
];
|
||||
|
||||
passthru.updateScript = deepin.updateScript { inherit pname version; src = (builtins.head srcs); };
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Qt platform theme integration plugin for DDE";
|
||||
homepage = "https://github.com/linuxdeepin/qt5platform-plugins";
|
||||
license = licenses.gpl3;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ romildo ];
|
||||
};
|
||||
}
|
@ -1,64 +0,0 @@
|
||||
# Helper functions for deepin packaging
|
||||
|
||||
searchHardCodedPaths() {
|
||||
# Usage:
|
||||
#
|
||||
# searchHardCodedPaths [-a] [<path>]
|
||||
#
|
||||
# Looks for ocurrences of FHS hard coded paths and command
|
||||
# invocations in the given path (default: current directory) for
|
||||
# the purpose of debugging a derivation. The option -a enables
|
||||
# processing binary files as if they were text.
|
||||
|
||||
local binary
|
||||
if [ "$1" = "-a" ]; then
|
||||
binary="-a"
|
||||
shift
|
||||
fi
|
||||
|
||||
local path=$1
|
||||
|
||||
echo ----------- looking for command invocations in $path
|
||||
grep --color=always -r -E '\<(ExecStart|Exec|startDetached|execute|exec\.(Command|LookPath))\>' $path || true
|
||||
|
||||
echo ----------- looking for hard coded paths in $path
|
||||
grep --color=always $binary -r -E '/(usr|bin|sbin|etc|var|opt)\>' $path || true
|
||||
|
||||
echo ----------- done
|
||||
}
|
||||
|
||||
fixPath() {
|
||||
# Usage:
|
||||
#
|
||||
# fixPath <parent dir> <path> <files>
|
||||
#
|
||||
# replaces occurences of <path> by <parent_dir><path> in <files>
|
||||
# removing /usr from the start of <path> if present
|
||||
|
||||
local parentdir=$1
|
||||
local path=$2
|
||||
local newpath=$parentdir$(echo $path | sed "s,^/usr,,")
|
||||
local files=("${@:3}")
|
||||
echo ======= grep --color=always "${path}" "${files[@]}"
|
||||
grep --color=always "${path}" "${files[@]}"
|
||||
echo +++++++ sed -i -e "s,$path,$newpath,g" "${files[@]}"
|
||||
sed -i -e "s,$path,$newpath,g" "${files[@]}"
|
||||
}
|
||||
|
||||
searchForUnresolvedDLL() {
|
||||
# Usage:
|
||||
#
|
||||
# searchForUnresolvedDLL <dir>
|
||||
#
|
||||
# looks in <dir> for executables with unresolved dynamic library paths
|
||||
|
||||
local dir="$1"
|
||||
echo ======= Looking for executables with unresolved dynamic library dependencies
|
||||
echo $dir
|
||||
for f in $(find -L "$dir" -type f -executable); do
|
||||
if (ldd $f | grep -q "not found"); then
|
||||
echo $f
|
||||
ldd $f | grep --color=always "not found"
|
||||
fi
|
||||
done
|
||||
}
|
@ -1,160 +0,0 @@
|
||||
{ stdenv
|
||||
, buildGoPackage
|
||||
, fetchFromGitHub
|
||||
, pkgconfig
|
||||
, alsaLib
|
||||
, coreutils
|
||||
, 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 {
|
||||
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;
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkgconfig
|
||||
jq
|
||||
wrapGAppsHook
|
||||
deepin.setupHook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
dde-api
|
||||
go-dbus-factory
|
||||
go-gir-generator
|
||||
go-lib
|
||||
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
|
||||
'';
|
||||
|
||||
postFixup = ''
|
||||
searchHardCodedPaths $out # debugging
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
updateScript = deepin.updateScript { inherit pname version src; };
|
||||
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 ];
|
||||
};
|
||||
}
|
30
pkgs/desktops/deepin/startdde/deps.nix
generated
30
pkgs/desktops/deepin/startdde/deps.nix
generated
@ -1,30 +0,0 @@
|
||||
# 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";
|
||||
};
|
||||
}
|
||||
]
|
@ -1,50 +0,0 @@
|
||||
{ stdenv
|
||||
, mkDerivation
|
||||
, fetchFromGitHub
|
||||
, qmake
|
||||
, qtbase
|
||||
, deepin
|
||||
}:
|
||||
|
||||
mkDerivation rec {
|
||||
pname = "udisks2-qt5";
|
||||
version = "5.0.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "linuxdeepin";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "0c87ks9glwhk4m2s7kf7mb43q011yi6l3qjq2ammmfqwl8xal69a";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
deepin.setupHook
|
||||
qmake
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
qtbase
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
searchHardCodedPaths # debugging
|
||||
'';
|
||||
|
||||
qmakeFlags = [
|
||||
"QMAKE_PKGCONFIG_PREFIX=${placeholder "out"}"
|
||||
];
|
||||
|
||||
postFixup = ''
|
||||
searchHardCodedPaths $out # debugging
|
||||
'';
|
||||
|
||||
passthru.updateScript = deepin.updateScript { inherit pname version src; };
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "UDisks2 D-Bus interfaces binding for Qt5";
|
||||
homepage = "https://github.com/linuxdeepin/udisks2-qt5";
|
||||
license = licenses.gpl3;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ romildo ];
|
||||
};
|
||||
}
|
@ -1,22 +0,0 @@
|
||||
{ stdenv, deepin, kernel }:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
pname = "deepin-anything-module";
|
||||
version = "${deepin.deepin-anything.version}-${kernel.version}";
|
||||
src = deepin.deepin-anything.modsrc;
|
||||
|
||||
nativeBuildInputs = kernel.moduleBuildDependencies;
|
||||
|
||||
buildPhase = ''
|
||||
make -C src/deepin-anything-0.0 kdir=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
install -m 644 -D -t $out/lib/modules/${kernel.modDirVersion}/extra src/deepin-anything-0.0/*.ko
|
||||
'';
|
||||
|
||||
meta = deepin.deepin-anything.meta // {
|
||||
description = deepin.deepin-anything.meta.description + " (kernel modules)";
|
||||
badPlatforms = [ "aarch64-linux" ]; # the kernel module is not building
|
||||
};
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
{ stdenv, fetchurl, readline, deepin }:
|
||||
{ stdenv, fetchurl, readline }:
|
||||
|
||||
let
|
||||
version = "1.5c";
|
||||
@ -33,7 +33,7 @@ in stdenv.mkDerivation rec {
|
||||
description = "SSH and Telnet client with ZMODEM file transfer capability";
|
||||
homepage = "http://zssh.sourceforge.net/";
|
||||
license = stdenv.lib.licenses.gpl2;
|
||||
maintainers = deepin.deepin-terminal.meta.maintainers; # required by deepin-terminal
|
||||
maintainers = [ ]; # required by deepin-terminal
|
||||
platforms = stdenv.lib.platforms.linux;
|
||||
};
|
||||
}
|
||||
|
@ -17660,8 +17660,6 @@ in
|
||||
|
||||
ddcci-driver = callPackage ../os-specific/linux/ddcci { };
|
||||
|
||||
deepin-anything = callPackage ../os-specific/linux/deepin-anything { };
|
||||
|
||||
digimend = callPackage ../os-specific/linux/digimend { };
|
||||
|
||||
dpdk = callPackage ../os-specific/linux/dpdk { };
|
||||
@ -21911,8 +21909,6 @@ in
|
||||
|
||||
neocomp = callPackage ../applications/window-managers/neocomp { };
|
||||
|
||||
netease-cloud-music = callPackage ../applications/audio/netease-cloud-music {};
|
||||
|
||||
newsflash = callPackage ../applications/networking/feedreaders/newsflash { };
|
||||
|
||||
nicotine-plus = callPackage ../applications/networking/soulseek/nicotine-plus {
|
||||
@ -25325,11 +25321,6 @@ in
|
||||
|
||||
cinnamon = recurseIntoAttrs (callPackage ../desktops/cinnamon { });
|
||||
|
||||
deepin = recurseIntoAttrs (import ../desktops/deepin {
|
||||
inherit pkgs libsForQt5;
|
||||
inherit (lib) makeScope;
|
||||
});
|
||||
|
||||
enlightenment = recurseIntoAttrs (callPackage ../desktops/enlightenment {
|
||||
callPackage = newScope pkgs.enlightenment;
|
||||
});
|
||||
|
Loading…
Reference in New Issue
Block a user