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:
José Romildo Malaquias 2020-08-29 11:05:00 -03:00
parent f6d71ecb8a
commit b768afb2e9
62 changed files with 2 additions and 4698 deletions

View file

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

View file

@ -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 ];
})
];
}

View file

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

View file

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

View file

@ -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";
};
}
]

View file

@ -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 ];
};
}

View file

@ -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 ];
};
}

View file

@ -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));
}

View file

@ -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 ];
};
}

View file

@ -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";
};
}
]

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -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 ];
};
}

View file

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

View file

@ -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 ];
};
}

View file

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

View file

@ -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 ];
};
}

View file

@ -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 ];
};
}

View file

@ -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);
}

View file

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

View file

@ -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 ];
};
}

View file

@ -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 ];
};
}

View file

@ -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 ];
};
}

View file

@ -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 ];
};
}

View file

@ -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 ];
};
}

View file

@ -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 ];
};
}

View file

@ -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 ];
};
}

View file

@ -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 ];
};
}

View file

@ -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 ];
};
}

View file

@ -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 ];
};
}

View file

@ -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 ];
};
}

View file

@ -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 ];
};
}

View file

@ -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 ];
};
}

View file

@ -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 ];
};
}

View file

@ -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 ];
};
}

View file

@ -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 ];
};
}

View file

@ -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 ];
};
}

View file

@ -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 ];
};
}

View file

@ -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 ];
};
}

View file

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

View file

@ -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 ];
};
}

View file

@ -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 ];
};
}

View file

@ -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 ];
};
}

View file

@ -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 ];
};
}

View file

@ -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 ];
};
}

View file

@ -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 ];
};
}

View file

@ -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 ];
};
}

View file

@ -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 ];
};
}

View file

@ -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 ];
};
}

View file

@ -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 ];
};
}

View file

@ -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 ];
};
}

View file

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

View file

@ -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 ];
};
}

View file

@ -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";
};
}
]

View file

@ -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 ];
};
}

View file

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

View file

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

View file

@ -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;
});