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 { python3Packages.buildPythonApplication rec {
ver = "0.93"; pname = "dockbarx";
name = "dockbarx-${ver}"; version = "${ver}-${rev}";
ver = "1.0-beta";
rev = "d98020ec49f3e3a5692ab2adbb145bbe5a1e80fe";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "M7S"; owner = "xuzhen";
repo = "dockbarx"; repo = "dockbarx";
rev = ver; rev = rev;
sha256 = "1h1g2vag5vnx87sa1f0qi8rq7wlr2ymvkrdr08kk7cma4wk0x6hg"; sha256 = "0xwqxh5mr2bi0sk54b848705awp0lfpd91am551811j2bdkbs04m";
}; };
postPatch = '' nativeBuildInputs = [
substituteInPlace setup.py --replace /usr/ "" glib.dev
substituteInPlace setup.py --replace '"/", "usr", "share",' '"share",' python3Packages.polib
substituteInPlace dockbarx/applets.py --replace /usr/share/ $out/share/ wrapGAppsHook
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/
'';
propagatedBuildInputs = (with python2Packages; [ pygtk pyxdg dbus-python pillow xlib ]) buildInputs = [
++ (with gnome2; [ gnome_python gnome_python_desktop ]) gobject-introspection
++ [ keybinder ]; gtk3
libwnck3
keybinder3
];
propagatedBuildInputs = with python3Packages; [
dbus-python
pillow
pygobject3
pyxdg
xlib
];
# no tests # no tests
doCheck = false; 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; { meta = with lib; {
homepage = "https://launchpad.net/dockbar/"; homepage = "https://github.com/xuzhen/dockbarx";
description = "Lightweight taskbar / panel replacement for Linux which works as a stand-alone dock"; description = "Lightweight taskbar/panel replacement which works as a stand-alone dock";
license = licenses.gpl3; license = licenses.gpl3Only;
platforms = platforms.linux; 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 { lib
, dockbarx, gtk2, xfce, pythonPackages, wafHook }: , stdenv
, fetchFromGitHub
, bash
, dockbarx
, gobject-introspection
, keybinder3
, pkg-config
, python3Packages
, vala_0_48
, wafHook
, wrapGAppsHook
, xfce
}:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "xfce4-dockbarx-plugin"; pname = "xfce4-dockbarx-plugin";
version = "${ver}-${rev}"; version = "${ver}-${rev}";
ver = "0.6"; ver = "0.6";
rev = "5213876"; rev = "5213876151f1836f044e9902a22d1e682144c1e0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "xuzhen"; owner = "xuzhen";
@ -14,12 +26,27 @@ stdenv.mkDerivation rec {
sha256 = "0s8bljn4ga2hj480j0jwkc0npp8szbmirmcsys791gk32iq4dasn"; sha256 = "0s8bljn4ga2hj480j0jwkc0npp8szbmirmcsys791gk32iq4dasn";
}; };
pythonPath = [ dockbarx ]; pythonPath = [
dockbarx
python3Packages.pygobject3
];
nativeBuildInputs = [ pkg-config wafHook ]; nativeBuildInputs = [
buildInputs = [ python3 vala_0_48 gtk2 pythonPackages.wrapPython ] gobject-introspection
++ (with xfce; [ libxfce4util xfce4-panel xfconf xfce4-dev-tools ]) pkg-config
++ pythonPath; python3Packages.wrapPython
vala_0_48
wafHook
wrapGAppsHook
];
buildInputs = [
keybinder3
python3Packages.python
xfce.xfce4-panel
xfce.xfconf
]
++ pythonPath;
postPatch = '' postPatch = ''
substituteInPlace wscript --replace /usr/share/ "\''${PREFIX}/share/" substituteInPlace wscript --replace /usr/share/ "\''${PREFIX}/share/"
@ -28,14 +55,15 @@ stdenv.mkDerivation rec {
''; '';
postFixup = '' postFixup = ''
makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
wrapPythonProgramsIn "$out/share/xfce4/panel/plugins" "$out $pythonPath" wrapPythonProgramsIn "$out/share/xfce4/panel/plugins" "$out $pythonPath"
''; '';
meta = with lib; { meta = with lib; {
homepage = "https://github.com/xuzhen/xfce4-dockbarx-plugin"; 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; license = licenses.mit;
platforms = platforms.linux; platforms = platforms.linux;
maintainers = [ maintainers.volth ]; maintainers = [ maintainers.romildo ];
}; };
} }