Merge pull request #121433 from romildo/fix.dockbarx

This commit is contained in:
Sandro 2021-05-29 03:22:51 +02:00 committed by GitHub
commit 3ac24a7eb5
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 107 additions and 36 deletions

View file

@ -1,41 +1,84 @@
{ lib, fetchFromGitHub, python2Packages, gnome2, keybinder }:
{ lib
, fetchFromGitHub
, glib
, gobject-introspection
, gtk3
, keybinder3
, libwnck3
, python3Packages
, wrapGAppsHook
}:
python2Packages.buildPythonApplication rec {
ver = "0.93";
name = "dockbarx-${ver}";
python3Packages.buildPythonApplication rec {
pname = "dockbarx";
version = "${ver}-${rev}";
ver = "1.0-beta";
rev = "d98020ec49f3e3a5692ab2adbb145bbe5a1e80fe";
src = fetchFromGitHub {
owner = "M7S";
owner = "xuzhen";
repo = "dockbarx";
rev = ver;
sha256 = "1h1g2vag5vnx87sa1f0qi8rq7wlr2ymvkrdr08kk7cma4wk0x6hg";
rev = rev;
sha256 = "0xwqxh5mr2bi0sk54b848705awp0lfpd91am551811j2bdkbs04m";
};
postPatch = ''
substituteInPlace setup.py --replace /usr/ ""
substituteInPlace setup.py --replace '"/", "usr", "share",' '"share",'
substituteInPlace dockbarx/applets.py --replace /usr/share/ $out/share/
substituteInPlace dockbarx/dockbar.py --replace /usr/share/ $out/share/
substituteInPlace dockbarx/iconfactory.py --replace /usr/share/ $out/share/
substituteInPlace dockbarx/theme.py --replace /usr/share/ $out/share/
substituteInPlace dockx_applets/battery_status.py --replace /usr/share/ $out/share/
substituteInPlace dockx_applets/namebar.py --replace /usr/share/ $out/share/
substituteInPlace dockx_applets/namebar_window_buttons.py --replace /usr/share/ $out/share/
substituteInPlace dockx_applets/volume-control.py --replace /usr/share/ $out/share/
'';
nativeBuildInputs = [
glib.dev
python3Packages.polib
wrapGAppsHook
];
propagatedBuildInputs = (with python2Packages; [ pygtk pyxdg dbus-python pillow xlib ])
++ (with gnome2; [ gnome_python gnome_python_desktop ])
++ [ keybinder ];
buildInputs = [
gobject-introspection
gtk3
libwnck3
keybinder3
];
propagatedBuildInputs = with python3Packages; [
dbus-python
pillow
pygobject3
pyxdg
xlib
];
# no tests
doCheck = false;
dontWrapGApps = true;
postPatch = ''
substituteInPlace setup.py \
--replace /usr/ "" \
--replace '"/", "usr", "share",' '"share",'
for f in \
dbx_preference \
dockbarx/applets.py \
dockbarx/dockbar.py \
dockbarx/iconfactory.py \
dockbarx/theme.py \
mate_panel_applet/dockbarx_mate_applet
do
substituteInPlace $f --replace /usr/share/ $out/share/
done
'';
postInstall = ''
glib-compile-schemas $out/share/glib-2.0/schemas
'';
# Arguments to be passed to `makeWrapper`, only used by buildPython*
preFixup = ''
makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
'';
meta = with lib; {
homepage = "https://launchpad.net/dockbar/";
description = "Lightweight taskbar / panel replacement for Linux which works as a stand-alone dock";
license = licenses.gpl3;
homepage = "https://github.com/xuzhen/dockbarx";
description = "Lightweight taskbar/panel replacement which works as a stand-alone dock";
license = licenses.gpl3Only;
platforms = platforms.linux;
maintainers = [ maintainers.volth ];
maintainers = [ maintainers.romildo ];
};
}

View file

@ -1,11 +1,23 @@
{ lib, stdenv, pkg-config, fetchFromGitHub, python3, bash, vala_0_48
, dockbarx, gtk2, xfce, pythonPackages, wafHook }:
{ lib
, stdenv
, fetchFromGitHub
, bash
, dockbarx
, gobject-introspection
, keybinder3
, pkg-config
, python3Packages
, vala_0_48
, wafHook
, wrapGAppsHook
, xfce
}:
stdenv.mkDerivation rec {
pname = "xfce4-dockbarx-plugin";
version = "${ver}-${rev}";
ver = "0.6";
rev = "5213876";
rev = "5213876151f1836f044e9902a22d1e682144c1e0";
src = fetchFromGitHub {
owner = "xuzhen";
@ -14,12 +26,27 @@ stdenv.mkDerivation rec {
sha256 = "0s8bljn4ga2hj480j0jwkc0npp8szbmirmcsys791gk32iq4dasn";
};
pythonPath = [ dockbarx ];
pythonPath = [
dockbarx
python3Packages.pygobject3
];
nativeBuildInputs = [ pkg-config wafHook ];
buildInputs = [ python3 vala_0_48 gtk2 pythonPackages.wrapPython ]
++ (with xfce; [ libxfce4util xfce4-panel xfconf xfce4-dev-tools ])
++ pythonPath;
nativeBuildInputs = [
gobject-introspection
pkg-config
python3Packages.wrapPython
vala_0_48
wafHook
wrapGAppsHook
];
buildInputs = [
keybinder3
python3Packages.python
xfce.xfce4-panel
xfce.xfconf
]
++ pythonPath;
postPatch = ''
substituteInPlace wscript --replace /usr/share/ "\''${PREFIX}/share/"
@ -28,14 +55,15 @@ stdenv.mkDerivation rec {
'';
postFixup = ''
makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
wrapPythonProgramsIn "$out/share/xfce4/panel/plugins" "$out $pythonPath"
'';
meta = with lib; {
homepage = "https://github.com/xuzhen/xfce4-dockbarx-plugin";
description = "A plugins to embed DockbarX into xfce4-panel";
description = "Plugins to embed DockbarX into xfce4-panel";
license = licenses.mit;
platforms = platforms.linux;
maintainers = [ maintainers.volth ];
maintainers = [ maintainers.romildo ];
};
}