Merge pull request #84292 from romildo/xfce.upate-script

xfce: add update script
This commit is contained in:
José Romildo Malaquias 2020-04-15 11:16:29 -03:00 committed by GitHub
commit 2e80fb5a20
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
41 changed files with 505 additions and 173 deletions

3
.gitignore vendored
View file

@ -16,3 +16,6 @@ result-*
/pkgs/development/libraries/qt-5/*/tmp/
/pkgs/desktops/kde-5/*/tmp/
/pkgs/development/mobile/androidenv/xml/*
# generated by pkgs/common-updater/update-script.nix
update-git-commits.txt

View file

@ -1,4 +1,4 @@
{ stdenv, makeWrapper, coreutils, gnused, gnugrep, diffutils, nix }:
{ stdenv, makeWrapper, coreutils, gnused, gnugrep, diffutils, nix, git }:
stdenv.mkDerivation {
name = "common-updater-scripts";
@ -12,7 +12,7 @@ stdenv.mkDerivation {
cp ${./scripts}/* $out/bin
for f in $out/bin/*; do
wrapProgram $f --prefix PATH : ${stdenv.lib.makeBinPath [ coreutils gnused gnugrep nix diffutils ]}
wrapProgram $f --prefix PATH : ${stdenv.lib.makeBinPath [ coreutils gnused gnugrep nix diffutils git ]}
done
'';
}

View file

@ -0,0 +1,35 @@
#! /bin/sh
# lists all available versions listed for a package in a site (http)
scriptName=list-archive-two-level-versions # do not use the .wrapped name
usage() {
echo "Usage: $scriptName <archive url> [<package name> [<debug file path>]]"
}
archive="$1" # archive url
pname="$2" # package name
file="$3" # file for writing debugging information
if [ -z "$archive" ]; then
echo "$scriptName: Missing archive url"
usage
exit 1
fi
# print a debugging message
if [ -n "$file" ]; then
echo "# Listing versions for $pname at $archive" >> $file
fi
# list all major-minor versions from archive
tags1=$(curl -sS "$archive/")
tags1=$(echo "$tags1" | sed -rne 's,^<a href="([0-9]+\.[0-9]+)/">.*,\1,p')
# print available versions
for tag in $tags1; do
tags2=$(curl -sS "$archive/$tag/")
tags2=$(echo "$tags2" | sed -rne "s,^<a href=\"$pname-([0-9.]+)\\.[^0-9].*\">.*,\\1,p")
echo "$tags2"
done

View file

@ -0,0 +1,32 @@
#! /bin/sh -x
# lists all available tags from a git repository
scriptName=list-git-tags # do not use the .wrapped name
usage() {
echo "Usage: $scriptName <repository url> [<package name> [<debug file path>]]"
}
repo="$1" # git repository url
pname="$2" # package name
file="$3" # file for writing debugging information
if [ -z "$repo" ]; then
echo "$scriptName: Missing git repository url"
usage
exit 1
fi
# print a debugging message
if [ -n "$file" ]; then
echo "# Listing tags for $pname at $repo" >> $file
fi
# list all tags from the remote repository
tags=$(git ls-remote --tags --refs "$repo")
# keep only the version part of the tag
tags=$(echo "$tags" | cut --delimiter=/ --field=3)
echo "$tags"

View file

@ -0,0 +1,98 @@
{ stdenv, writeScript, coreutils, gnugrep, gnused, common-updater-scripts, nix }:
{ pname
, version
, attrPath ? pname
, versionLister
, rev-prefix ? ""
, odd-unstable ? true
, patchlevel-unstable ? true
}:
let
# where to print git commands and debugging messages
fileForGitCommands = "update-git-commits.txt";
# shell script to update package
updateScript = writeScript "update-script.sh" ''
#! ${stdenv.shell}
set -o errexit
set -x
pname="$1"
version="$2"
attr_path="$3"
version_lister="$4"
rev_prefix="$5"
odd_unstable="$6"
patchlevel_unstable="$7"
# print header
echo "# $pname-$version" >> ${fileForGitCommands}
function version_is_unstable() {
local tag="$1"
local enforce="$2"
if [ -n "$odd_unstable" -o -n "$enforce" ]; then
local minor=$(echo "$tag" | ${gnused}/bin/sed -rne 's,^[0-9]+\.([0-9]+).*,\1,p')
if [ $((minor % 2)) -eq 1 ]; then
return 0
fi
fi
if [ -n "$patchlevel_unstable" -o -n "$enforce" ]; then
local patchlevel=$(echo "$tag" | ${gnused}/bin/sed -rne 's,^[0-9]+\.[0-9]+\.([0-9]+).*$,\1,p')
if ((patchlevel >= 90)); then
return 0
fi
fi
return 1
}
tags=$($version_lister $pname ${fileForGitCommands}) || exit 1
# print available tags
for tag in $tags; do
echo "# found $pname version: $tag" >> ${fileForGitCommands}
done
# cut any revision prefix not used in the NixOS package version
if [ -n "$rev_prefix" ]; then
tags=$(echo "$tags" | ${gnugrep}/bin/grep "^$rev_prefix")
tags=$(echo "$tags" | ${gnused}/bin/sed -e "s,^$rev_prefix,,")
fi
tags=$(echo "$tags" | ${gnugrep}/bin/grep "^[0-9]")
# sort the tags in decreasing order
tags=$(echo "$tags" | ${coreutils}/bin/sort --reverse --version-sort)
# find the newest tag
# do not consider development versions
for latest_tag in $tags; do
if version_is_unstable "$latest_tag"; then
echo "# skip development version: $pname-$latest_tag" >> ${fileForGitCommands}
latest_tag=
else
if version_is_unstable "$latest_tag" "enforce"; then
echo "# use potential development version: $pname-$latest_tag" >> ${fileForGitCommands}
fi
break
fi
done
if [ -n "$latest_tag" ]; then
# print commands to commit the changes
if [ "$version" != "$latest_tag" ]; then
pfile=$(EDITOR=echo ${nix}/bin/nix edit -f. "$attr_path")
echo " git add $pfile " >> ${fileForGitCommands}
echo " git commit -m '$attr_path: $version -> $latest_tag'" >> ${fileForGitCommands}
fi
# update the nix expression
${common-updater-scripts}/bin/update-source-version "$attr_path" "$latest_tag"
fi
echo "" >> ${fileForGitCommands}
'';
in
[ updateScript pname version attrPath versionLister rev-prefix odd-unstable patchlevel-unstable ]

View file

@ -4,6 +4,7 @@ mkXfceDerivation {
category = "apps";
pname = "gigolo";
version = "0.5.0";
odd-unstable = false;
sha256 = "1lqsxb0d5i8p9vbzx8s4p3rga7va5h1q146xgmsa41j5v40wrlw6";

View file

@ -8,7 +8,7 @@ let
in
mkXfceDerivation {
category = "apps";
category = "archive";
pname = "orage";
version = "4.12.1";

View file

@ -4,6 +4,7 @@ mkXfceDerivation {
category = "apps";
pname = "xfce4-screenshooter";
version = "1.9.5";
odd-unstable = false;
sha256 = "1h14sywvk9l06p3z1cpb79911j8w2wqbk03ldknjkia2rfymjk06";

View file

@ -1,9 +1,11 @@
{ stdenv, fetchurl, pkgconfig, makeWrapper
, gstreamer, gtk2, gst-plugins-base, libnotify
, keybinder, xfconf
, keybinder, xfconf, xfce
}:
let
category = "apps";
# The usual Gstreamer plugins package has a zillion dependencies
# that we don't need for a simple mixer, so build a minimal package.
gst_plugins_minimal = gst-plugins-base.override {
@ -13,15 +15,13 @@ let
in
stdenv.mkDerivation rec {
p_name = "xfce4-volumed";
ver_maj = "0.1";
ver_min = "13";
pname = "xfce4-volumed";
version = "0.1.13";
src = fetchurl {
url = "mirror://xfce/src/apps/${p_name}/${ver_maj}/${name}.tar.bz2";
url = "mirror://xfce/src/${category}/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
sha256 = "1aa0a1sbf9yzi7bc78kw044m0xzg1li3y4w9kf20wqv5kfjs7v2c";
};
name = "${p_name}-${ver_maj}.${ver_min}";
buildInputs =
[ gstreamer gst_plugins_minimal gtk2
@ -36,6 +36,12 @@ stdenv.mkDerivation rec {
--prefix GST_PLUGIN_SYSTEM_PATH : "$GST_PLUGIN_SYSTEM_PATH"
'';
passthru.updateScript = xfce.updateScript {
inherit pname version;
attrPath = "xfce.${pname}";
versionLister = xfce.archiveLister category pname;
};
meta = with stdenv.lib; {
homepage = "https://www.xfce.org/projects/xfce4-volumed"; # referenced but inactive
description = "A volume keys control daemon for the Xfce desktop environment";

View file

@ -18,7 +18,8 @@ mkXfceDerivation {
category = "apps";
pname = "xfdashboard";
version = "0.7.5";
rev = "0.7.5";
rev-prefix = "";
odd-unstable = false;
sha256 = "0d0kg90h3li41bs75z3xldljsglkz220pba39c54qznnzb8v8a2i";

View file

@ -1,23 +1,31 @@
{ stdenv, fetchurl, pkgconfig, intltool, gtk2 }:
{ stdenv, fetchurl, pkgconfig, intltool, gtk2, xfce }:
let
category = "art";
in
stdenv.mkDerivation rec {
p_name = "xfce4-icon-theme";
ver_maj = "4.4";
ver_min = "3";
pname = "xfce4-icon-theme";
version = "4.4.3";
src = fetchurl {
url = "mirror://xfce/src/art/${p_name}/${ver_maj}/${name}.tar.bz2";
url = "mirror://xfce/src/${category}/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
sha256 = "1yk6rx3zr9grm4jwpjvqdkl13pisy7qn1wm5cqzmd2kbsn96cy6l";
};
name = "${p_name}-${ver_maj}.${ver_min}";
nativeBuildInputs = [ pkgconfig ];
buildInputs = [ intltool gtk2 ];
passthru.updateScript = xfce.updateScript {
inherit pname version;
attrPath = "xfce.${pname}";
versionLister = xfce.archiveLister category pname;
};
meta = {
meta = with stdenv.lib; {
homepage = "https://www.xfce.org/";
description = "Icons for Xfce";
platforms = stdenv.lib.platforms.linux;
maintainers = [ stdenv.lib.maintainers.eelco ];
platforms = platforms.linux;
maintainers = [ maintainers.eelco ];
};
}

View file

@ -1,15 +1,23 @@
{ stdenv, fetchurl }:
{ stdenv, fetchurl, xfce }:
let
category = "art";
in
stdenv.mkDerivation rec {
p_name = "xfwm4-themes";
ver_maj = "4.10";
ver_min = "0";
pname = "xfwm4-themes";
version = "4.10.0";
src = fetchurl {
url = "mirror://xfce/src/art/${p_name}/${ver_maj}/${name}.tar.bz2";
url = "mirror://xfce/src/${category}/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
sha256 = "0xfmdykav4rf6gdxbd6fhmrfrvbdc1yjihz7r7lba0wp1vqda51j";
};
name = "${p_name}-${ver_maj}.${ver_min}";
passthru.updateScript = xfce.updateScript {
inherit pname version;
attrPath = "xfce.${pname}";
versionLister = xfce.archiveLister category pname;
};
meta = with stdenv.lib; {
homepage = "https://www.xfce.org/";

View file

@ -9,6 +9,8 @@ mkXfceDerivation {
sha256 = "1qrlpn0q5g9psd41l6y80r3bvbg8jaic92m6r400zzwcvivf95z0";
odd-unstable = false;
meta = {
description = "Thunar extension for automatic management of removable drives and media";
};

View file

@ -3,6 +3,14 @@
lib.makeScope pkgs.newScope (self: with self; {
#### NixOS support
updateScript = callPackage ../../common-updater/update-script.nix { };
gitLister = url:
"${pkgs.common-updater-scripts}/bin/list-git-tags ${url}";
archiveLister = category: name:
"${pkgs.common-updater-scripts}/bin/list-archive-two-level-versions https://archive.xfce.org/src/${category}/${name}";
mkXfceDerivation = callPackage ./mkXfceDerivation.nix { };
automakeAddFlags = pkgs.makeSetupHook { } ./automakeAddFlags.sh;

View file

@ -1,6 +1,16 @@
{ stdenv, fetchgit, pkgconfig, xfce4-dev-tools, hicolor-icon-theme, wrapGAppsHook }:
{ stdenv, fetchgit, pkgconfig, xfce4-dev-tools, hicolor-icon-theme, xfce, wrapGAppsHook }:
{ category, pname, version, rev ? "${pname}-${version}", sha256, ... } @ args:
{ category
, pname
, version
, attrPath ? "xfce.${pname}"
, rev-prefix ? "${pname}-"
, rev ? "${rev-prefix}${version}"
, sha256
, odd-unstable ? true
, patchlevel-unstable ? true
, ...
} @ args:
let
inherit (builtins) filter getAttr head isList;
@ -12,7 +22,7 @@ let
concatAttrLists = attrsets:
zipAttrsWithNames (filterAttrNames isList (head attrsets)) (_: concatLists) attrsets;
template = {
template = rec {
name = "${pname}-${version}";
nativeBuildInputs = [ pkgconfig xfce4-dev-tools wrapGAppsHook ];
@ -27,6 +37,13 @@ let
enableParallelBuilding = true;
outputs = [ "out" "dev" ];
pos = builtins.unsafeGetAttrPos "pname" args;
passthru.updateScript = xfce.updateScript {
inherit pname version attrPath rev-prefix odd-unstable patchlevel-unstable;
versionLister = xfce.gitLister src.url;
};
meta = with stdenv.lib; {
homepage = "https://git.xfce.org/${category}/${pname}/about";
license = licenses.gpl2; # some libraries are under LGPLv2+

View file

@ -1,10 +1,11 @@
{ mkXfceDerivation, gtk3, libxfce4ui, libxfce4util, xfce4-panel, xfconf }:
mkXfceDerivation rec {
mkXfceDerivation {
category = "panel-plugins";
pname = "xfce4-battery-plugin";
version = "1.1.2";
rev = version;
rev-prefix = "";
odd-unstable = false;
sha256 = "0329miiclc8da6j0sz495p99hyrf9fjhvpmdl0556fphybz5agc0";
buildInputs = [ gtk3 libxfce4ui libxfce4util xfce4-panel xfconf ];

View file

@ -1,10 +1,9 @@
{ mkXfceDerivation, gtk3, libXtst, libxfce4ui, libxfce4util, xfce4-panel, xfconf, exo }:
mkXfceDerivation rec {
mkXfceDerivation {
category = "panel-plugins";
pname = "xfce4-clipman-plugin";
version = "1.4.3";
rev = version;
sha256 = "1xk79xh1zk0x4r1z9m1dakp79pip0zh3naviybvl1dnpwwfc03gq";
buildInputs = [ exo gtk3 libXtst libxfce4ui libxfce4util xfce4-panel xfconf ];

View file

@ -1,22 +1,29 @@
{ stdenv, fetchurl, pkgconfig, intltool, glib, exo, libXtst, xorgproto, libxfce4util, xfce4-panel, libxfce4ui, xfconf, gtk2, hicolor-icon-theme }:
{ stdenv, fetchurl, pkgconfig, intltool, glib, exo, libXtst, xorgproto, libxfce4util, xfce4-panel, libxfce4ui, xfconf, gtk2, hicolor-icon-theme, xfce }:
let
category = "panel-plugins";
in
with stdenv.lib;
stdenv.mkDerivation rec {
p_name = "xfce4-cpugraph-plugin";
ver_maj = "1.0";
ver_min = "5";
pname = "xfce4-cpugraph-plugin";
version = "1.0.5";
src = fetchurl {
url = "mirror://xfce/src/panel-plugins/${p_name}/${ver_maj}/${name}.tar.bz2";
url = "mirror://xfce/src/${category}/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
sha256 = "1izl53q95m5xm2fiq7385vb1i9nwgjizxkmgpgh33zdckb40xnl5";
};
name = "${p_name}-${ver_maj}.${ver_min}";
nativeBuildInputs = [ pkgconfig ];
buildInputs = [ intltool glib exo libXtst xorgproto libxfce4util libxfce4ui xfce4-panel xfconf gtk2 hicolor-icon-theme ];
passthru.updateScript = xfce.updateScript {
inherit pname version;
attrPath = "xfce.${pname}";
versionLister = xfce.archiveLister category pname;
};
meta = {
homepage = "https://goodies.xfce.org/projects/panel-plugins/${p_name}";
meta = with stdenv.lib; {
homepage = "https://goodies.xfce.org/projects/panel-plugins/${pname}";
description = "CPU graph show for Xfce panel";
platforms = platforms.linux;
maintainers = [ maintainers.AndersonTorres ];

View file

@ -7,13 +7,12 @@
, gettext
}:
mkXfceDerivation rec {
mkXfceDerivation {
category = "panel-plugins";
pname = "xfce4-datetime-plugin";
version = "0.8.0";
rev = "datetime-${version}";
rev-prefix = "datetime-";
sha256 = "12drh7y70d70r93lpv43fkj5cbyl0vciz4a41nxrknrfbhxrvyah";
nativeBuildInputs = [

View file

@ -1,22 +1,29 @@
{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, xfce4-panel, libxfce4ui, xfconf, gtk2}:
{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, xfce4-panel, libxfce4ui, xfconf, gtk2, xfce }:
let
category = "panel-plugins";
in
with stdenv.lib;
stdenv.mkDerivation rec {
p_name = "xfce4-dict-plugin";
ver_maj = "0.3";
ver_min = "0";
pname = "xfce4-dict-plugin";
version = "0.3.0";
src = fetchurl {
url = "mirror://xfce/src/panel-plugins/${p_name}/${ver_maj}/${name}.tar.gz";
url = "mirror://xfce/src/${category}/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
sha256 = "1x0imfnsdfq7fbhka8bc0yjjspkcljc1jafhrwzb08qi9bk2wbar";
};
name = "${p_name}-${ver_maj}.${ver_min}";
nativeBuildInputs = [ pkgconfig ];
buildInputs = [ intltool libxfce4util libxfce4ui xfce4-panel xfconf gtk2 ];
passthru.updateScript = xfce.updateScript {
inherit pname version;
attrPath = "xfce.${pname}";
versionLister = xfce.archiveLister category pname;
};
meta = {
homepage = "https://goodies.xfce.org/projects/panel-plugins/${p_name}";
meta =with stdenv.lib; {
homepage = "https://goodies.xfce.org/projects/panel-plugins/${pname}";
description = "Dictionary plugin for Xfce panel";
platforms = platforms.linux;
maintainers = [ maintainers.AndersonTorres ];

View file

@ -2,9 +2,10 @@
, dockbarx, gtk2, xfce, pythonPackages, wafHook }:
stdenv.mkDerivation rec {
pname = "xfce4-dockbarx-plugin";
version = "${ver}-${rev}";
ver = "0.5";
rev = "a2dcb66";
name = "xfce4-dockbarx-plugin-${ver}-${rev}";
src = fetchFromGitHub {
owner = "TiZ-EX1";

View file

@ -1,22 +1,30 @@
{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, xfce4-panel, libxfce4ui, xfconf, gtk2 }:
{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, xfce4-panel, libxfce4ui, xfconf, gtk2, xfce }:
let
category = "panel-plugins";
in
with stdenv.lib;
stdenv.mkDerivation rec {
p_name = "xfce4-embed-plugin";
ver_maj = "1.6";
ver_min = "0";
pname = "xfce4-embed-plugin";
version = "1.6.0";
src = fetchurl {
url = "mirror://xfce/src/panel-plugins/${p_name}/${ver_maj}/${name}.tar.bz2";
url = "mirror://xfce/src/${category}/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
sha256 = "0a72kqsjjh45swimqlpyrahdnplp0383v0i4phr4n6g8c1ixyry7";
};
name = "${p_name}-${ver_maj}.${ver_min}";
nativeBuildInputs = [ pkgconfig ];
buildInputs = [ intltool libxfce4util libxfce4ui xfce4-panel xfconf gtk2 ];
passthru.updateScript = xfce.updateScript {
inherit pname version;
attrPath = "xfce.${pname}";
versionLister = xfce.archiveLister category pname;
};
meta = {
homepage = "https://goodies.xfce.org/projects/panel-plugins/${p_name}";
homepage = "https://goodies.xfce.org/projects/panel-plugins/${pname}";
description = "Embed arbitrary app windows on Xfce panel";
platforms = platforms.linux;
maintainers = [ maintainers.AndersonTorres ];

View file

@ -1,22 +1,29 @@
{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, xfce4-panel, libxfce4ui, xfconf, gtk2}:
{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, xfce4-panel, libxfce4ui, xfconf, gtk2, xfce }:
let
category = "panel-plugins";
in
with stdenv.lib;
stdenv.mkDerivation rec {
p_name = "xfce4-eyes-plugin";
ver_maj = "4.4";
ver_min = "4";
pname = "xfce4-eyes-plugin";
version = "4.4.4";
src = fetchurl {
url = "mirror://xfce/src/panel-plugins/${p_name}/${ver_maj}/${name}.tar.bz2";
url = "mirror://xfce/src/${category}/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
sha256 = "1jh02hylvsvfpxrx0bq6fzgy6vnxf9qakgpbfvr63lfkd1dyh314";
};
name = "${p_name}-${ver_maj}.${ver_min}";
nativeBuildInputs = [ pkgconfig ];
buildInputs = [ intltool libxfce4util libxfce4ui xfce4-panel xfconf gtk2 ];
passthru.updateScript = xfce.updateScript {
inherit pname version;
attrPath = "xfce.${pname}";
versionLister = xfce.archiveLister category pname;
};
meta = {
homepage = "https://goodies.xfce.org/projects/panel-plugins/${p_name}";
meta = with stdenv.lib; {
homepage = "https://goodies.xfce.org/projects/panel-plugins/${pname}";
description = "Eyes following you!";
platforms = platforms.linux;
maintainers = [ maintainers.AndersonTorres ];

View file

@ -1,22 +1,29 @@
{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, xfce4-panel, libxfce4ui, xfconf, gtk2}:
{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, xfce4-panel, libxfce4ui, xfconf, gtk2, xfce }:
let
category = "panel-plugins";
in
with stdenv.lib;
stdenv.mkDerivation rec {
p_name = "xfce4-fsguard-plugin";
ver_maj = "1.0";
ver_min = "2";
pname = "xfce4-fsguard-plugin";
version = "1.0.2";
src = fetchurl {
url = "mirror://xfce/src/panel-plugins/${p_name}/${ver_maj}/${name}.tar.bz2";
url = "mirror://xfce/src/${category}/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
sha256 = "1bj021h4q68bc03f32pkyqy4gfd1sz6s21nxdg7j6gdfhs9xbj52";
};
name = "${p_name}-${ver_maj}.${ver_min}";
nativeBuildInputs = [ pkgconfig ];
buildInputs = [ intltool libxfce4util libxfce4ui xfce4-panel xfconf gtk2 ];
passthru.updateScript = xfce.updateScript {
inherit pname version;
attrPath = "xfce.${pname}";
versionLister = xfce.archiveLister category pname;
};
meta = {
homepage = "https://goodies.xfce.org/projects/panel-plugins/${p_name}";
meta = with stdenv.lib; {
homepage = "https://goodies.xfce.org/projects/panel-plugins/${pname}";
description = "Filesystem monitor";
platforms = platforms.linux;
maintainers = [ maintainers.AndersonTorres ];

View file

@ -1,22 +1,29 @@
{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, xfce4-panel, libxfce4ui, xfconf, gtk2}:
{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, xfce4-panel, libxfce4ui, xfconf, gtk2, xfce }:
let
category = "panel-plugins";
in
with stdenv.lib;
stdenv.mkDerivation rec {
p_name = "xfce4-genmon-plugin";
ver_maj = "3.4";
ver_min = "0";
pname = "xfce4-genmon-plugin";
version = "3.4.0";
src = fetchurl {
url = "mirror://xfce/src/panel-plugins/${p_name}/${ver_maj}/${name}.tar.bz2";
url = "mirror://xfce/src/${category}/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
sha256 = "11q3g6lmgz3d5lyh6614mxkd9cblfdyf9jgki7f26mn895xk79dh";
};
name = "${p_name}-${ver_maj}.${ver_min}";
nativeBuildInputs = [ pkgconfig ];
buildInputs = [ intltool libxfce4util libxfce4ui xfce4-panel xfconf gtk2 ];
passthru.updateScript = xfce.updateScript {
inherit pname version;
attrPath = "xfce.${pname}";
versionLister = xfce.archiveLister category pname;
};
meta = {
homepage = "https://goodies.xfce.org/projects/panel-plugins/${p_name}";
meta = with stdenv.lib; {
homepage = "https://goodies.xfce.org/projects/panel-plugins/${pname}";
description = "Cyclically spawns a command and captures its output";
platforms = platforms.linux;
maintainers = [ maintainers.AndersonTorres ];

View file

@ -1,5 +1,5 @@
{ stdenv, fetchurl, pkgconfig, intltool, autoreconfHook, gnome2, gtkmm2,
libgtop, libxfce4ui, libxfce4util, xfce4-panel, lm_sensors
libgtop, libxfce4ui, libxfce4util, xfce4-panel, lm_sensors, xfce
}:
stdenv.mkDerivation rec {
@ -30,11 +30,11 @@ stdenv.mkDerivation rec {
enableParallelBuilding = true;
meta = {
meta = with stdenv.lib; {
homepage = "https://goodies.xfce.org/projects/panel-plugins/${pname}";
description = "Hardware monitor plugin for the XFCE4 panel";
license = stdenv.lib.licenses.gpl3;
platforms = stdenv.lib.platforms.unix;
maintainers = [ stdenv.lib.maintainers.romildo ];
license = licenses.gpl3;
platforms = platforms.unix;
maintainers = [ maintainers.romildo ];
};
}

View file

@ -1,24 +1,31 @@
{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, xfce4-panel, libxfce4ui,
xfconf, gtk2, exo, gnutls, libgcrypt }:
xfconf, gtk2, exo, gnutls, libgcrypt, xfce }:
let
category = "panel-plugins";
in
with stdenv.lib;
stdenv.mkDerivation rec {
p_name = "xfce4-mailwatch-plugin";
ver_maj = "1.2";
ver_min = "0";
pname = "xfce4-mailwatch-plugin";
version = "1.2.0";
src = fetchurl {
url = "mirror://xfce/src/panel-plugins/${p_name}/${ver_maj}/${name}.tar.bz2";
url = "mirror://xfce/src/${category}/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
sha256 = "1bfw3smwivr9mzdyq768biqrl4aq94zqi3xjzq6kqnd8561cqjk2";
};
name = "${p_name}-${ver_maj}.${ver_min}";
nativeBuildInputs = [ pkgconfig ];
buildInputs = [ intltool libxfce4util libxfce4ui xfce4-panel
xfconf gtk2 exo gnutls libgcrypt ];
passthru.updateScript = xfce.updateScript {
inherit pname version;
attrPath = "xfce.${pname}";
versionLister = xfce.archiveLister category pname;
};
meta = {
homepage = "https://goodies.xfce.org/projects/panel-plugins/${p_name}";
meta = with stdenv.lib; {
homepage = "https://goodies.xfce.org/projects/panel-plugins/${pname}";
description = "Mailwatch plugin for Xfce panel";
platforms = platforms.linux;
maintainers = [ ];

View file

@ -1,24 +1,31 @@
{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, xfce4-panel, libxfce4ui,
xfconf, gtk2, exo }:
xfconf, gtk2, exo, xfce }:
let
category = "panel-plugins";
in
with stdenv.lib;
stdenv.mkDerivation rec {
p_name = "xfce4-mpc-plugin";
ver_maj = "0.4";
ver_min = "5";
name = "${p_name}-${ver_maj}.${ver_min}";
pname = "xfce4-mpc-plugin";
version = "0.4.5";
src = fetchurl {
url = "mirror://xfce/src/panel-plugins/${p_name}/${ver_maj}/${name}.tar.bz2";
url = "mirror://xfce/src/${category}/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
sha256 = "1kvgq1pq7cykqdc3227dq0izad093ppfw3nfsrcp9i8mi6i5f7z7";
};
nativeBuildInputs = [ pkgconfig ];
buildInputs = [ intltool libxfce4util libxfce4ui xfce4-panel
xfconf gtk2 exo ];
passthru.updateScript = xfce.updateScript {
inherit pname version;
attrPath = "xfce.${pname}";
versionLister = xfce.archiveLister category pname;
};
meta = {
homepage = "https://goodies.xfce.org/projects/panel-plugins/${p_name}";
meta = with stdenv.lib; {
homepage = "https://goodies.xfce.org/projects/panel-plugins/${pname}";
description = "MPD plugin for Xfce panel";
platforms = platforms.linux;
maintainers = [ ];

View file

@ -1,10 +1,10 @@
{ mkXfceDerivation, gtk3, libxfce4ui, libxfce4util, xfce4-panel, xfconf }:
mkXfceDerivation rec {
mkXfceDerivation {
category = "panel-plugins";
pname = "xfce4-netload-plugin";
version = "1.3.1";
rev = "version-${version}";
rev-prefix = "version-";
sha256 = "0nm8advafw4jpc9p1qszyfqa56194sz51z216rdh4c6ilcrrpy1h";
buildInputs = [ gtk3 libxfce4ui libxfce4util xfce4-panel xfconf ];

View file

@ -1,22 +1,29 @@
{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, xfce4-panel, libxfce4ui, xfconf, gtk2, libunique }:
{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, xfce4-panel, libxfce4ui, xfconf, gtk2, libunique, xfce }:
let
category = "panel-plugins";
in
with stdenv.lib;
stdenv.mkDerivation rec {
p_name = "xfce4-notes-plugin";
ver_maj = "1.7";
ver_min = "7";
pname = "xfce4-notes-plugin";
version = "1.7.7";
src = fetchurl {
url = "mirror://xfce/src/panel-plugins/${p_name}/${ver_maj}/${name}.tar.bz2";
url = "mirror://xfce/src/${category}/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
sha256 = "05sjbwgch1j93m3r23ksbjnpfk11sf7xjmbb9pm5vl3snc2s3fm7";
};
name = "${p_name}-${ver_maj}.${ver_min}";
nativeBuildInputs = [ pkgconfig ];
buildInputs = [ intltool libxfce4util libxfce4ui xfce4-panel xfconf gtk2 libunique ];
passthru.updateScript = xfce.updateScript {
inherit pname version;
attrPath = "xfce.${pname}";
versionLister = xfce.archiveLister category pname;
};
meta = {
homepage = "https://goodies.xfce.org/projects/panel-plugins/${p_name}";
meta = with stdenv.lib; {
homepage = "https://goodies.xfce.org/projects/panel-plugins/${pname}";
description = "Sticky notes plugin for Xfce panel";
platforms = platforms.linux;
maintainers = [ maintainers.AndersonTorres ];

View file

@ -1,15 +1,17 @@
{ stdenv, fetchurl, pkgconfig, intltool, gtk2, libxfce4ui,
libxfce4util, xfce4-panel, libnotify, lm_sensors, hddtemp, netcat-gnu
libxfce4util, xfce4-panel, libnotify, lm_sensors, hddtemp, netcat-gnu, xfce
}:
let
category = "panel-plugins";
in
stdenv.mkDerivation rec {
name = "${pname}-${ver_maj}.${ver_min}";
pname = "xfce4-sensors-plugin";
ver_maj = "1.2";
ver_min = "6";
version = "1.2.6";
src = fetchurl {
url = "mirror://xfce/src/panel-plugins/${pname}/${ver_maj}/${name}.tar.bz2";
url = "mirror://xfce/src/${category}/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
sha256 = "1h0vpqxcziml3gwrbvd8xvy1mwh9mf2a68dvxsy03rs5pm1ghpi3";
};
@ -35,12 +37,18 @@ stdenv.mkDerivation rec {
"--with-pathhddtemp=${hddtemp}/bin/hddtemp"
"--with-pathnetcat=${netcat-gnu}/bin/netcat"
];
passthru.updateScript = xfce.updateScript {
inherit pname version;
attrPath = "xfce.${pname}";
versionLister = xfce.archiveLister category pname;
};
meta = {
meta = with stdenv.lib; {
homepage = "https://goodies.xfce.org/projects/panel-plugins/${pname}";
description = "A panel plug-in for different sensors using acpi, lm_sensors and hddtemp";
license = stdenv.lib.licenses.gpl2;
platforms = stdenv.lib.platforms.unix;
maintainers = [ stdenv.lib.maintainers.romildo ];
license = licenses.gpl2;
platforms = platforms.unix;
maintainers = [ maintainers.romildo ];
};
}

View file

@ -1,22 +1,29 @@
{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, xfce4-panel, libxfce4ui, gtk2}:
{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, xfce4-panel, libxfce4ui, gtk2, xfce }:
let
category = "panel-plugins";
in
with stdenv.lib;
stdenv.mkDerivation rec {
p_name = "xfce4-systemload-plugin";
ver_maj = "1.1";
ver_min = "2";
pname = "xfce4-systemload-plugin";
version = "1.1.2";
src = fetchurl {
url = "mirror://xfce/src/panel-plugins/${p_name}/${ver_maj}/${name}.tar.bz2";
url = "mirror://xfce/src/${category}/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
sha256 = "0z4as6sxdz93d4jpgv0665dg4sykfvc5068mc689phlfl2rvcsdl";
};
name = "${p_name}-${ver_maj}.${ver_min}";
nativeBuildInputs = [ pkgconfig ];
buildInputs = [ intltool libxfce4util libxfce4ui xfce4-panel gtk2 ];
passthru.updateScript = xfce.updateScript {
inherit pname version;
attrPath = "xfce.${pname}";
versionLister = xfce.archiveLister category pname;
};
meta = {
homepage = "https://goodies.xfce.org/projects/panel-plugins/${p_name}";
meta = with stdenv.lib; {
homepage = "https://goodies.xfce.org/projects/panel-plugins/${pname}";
description = "System load plugin for Xfce panel";
platforms = platforms.linux;
maintainers = [ maintainers.AndersonTorres ];

View file

@ -1,17 +1,18 @@
{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, xfce4-panel
, libxfce4ui, xfconf, gtk2, hicolor-icon-theme }:
, libxfce4ui, xfconf, gtk2, hicolor-icon-theme, xfce }:
let
category = "panel-plugins";
in
with stdenv.lib;
stdenv.mkDerivation rec {
p_name = "xfce4-timer-plugin";
ver_maj = "1.6";
ver_min = "0";
pname = "xfce4-timer-plugin";
version = "1.6.0";
src = fetchurl {
url = "mirror://xfce/src/panel-plugins/${p_name}/${ver_maj}/${name}.tar.bz2";
url = "mirror://xfce/src/${category}/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
sha256 = "0z46gyw3ihcd1jf0m5z1dsc790xv1cpi8mk1dagj3i4v14gx5mrr";
};
name = "${p_name}-${ver_maj}.${ver_min}";
buildInputs = [ intltool libxfce4util libxfce4ui xfce4-panel xfconf
gtk2 hicolor-icon-theme ];
@ -19,9 +20,15 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ pkgconfig ];
hardeningDisable = [ "format" ];
passthru.updateScript = xfce.updateScript {
inherit pname version;
attrPath = "xfce.${pname}";
versionLister = xfce.archiveLister category pname;
};
meta = {
homepage = "https://goodies.xfce.org/projects/panel-plugins/${p_name}";
meta = with stdenv.lib; {
homepage = "https://goodies.xfce.org/projects/panel-plugins/${pname}";
description = "A simple XFCE panel plugin that lets the user run an alarm at a specified time or at the end of a specified countdown period";
platforms = platforms.linux;
license = licenses.gpl2;

View file

@ -41,6 +41,12 @@ stdenv.mkDerivation rec {
mv cmake/FallbackVersion.cmake.in cmake/FallbackVersion.cmake
'';
passthru.updateScript = xfce.updateScript {
inherit pname version;
attrPath = "xfce.${pname}";
versionLister = xfce.gitLister src.meta.homepage;
};
meta = with stdenv.lib; {
description = "Global Menu applet for XFCE4";
license = licenses.lgpl3;

View file

@ -1,10 +1,10 @@
{ lib, mkXfceDerivation, gtk3, libxfce4ui, pcre, libxfce4util, xfce4-panel, xfconf }:
mkXfceDerivation rec {
mkXfceDerivation {
category = "panel-plugins";
pname = "xfce4-verve-plugin";
version = "2.0.0";
rev = version;
rev-prefix = "";
sha256 = "09vpa6m0ah7pgmra094c16vb79xrcwva808g6zpawwrhcwz85lcz";
buildInputs = [ gtk3 libxfce4ui pcre libxfce4util xfce4-panel ];

View file

@ -1,14 +1,16 @@
{ stdenv, fetchurl, pkgconfig, intltool, gtk2, libxml2, libsoup, upower,
libxfce4ui, libxfce4util, xfce4-panel, hicolor-icon-theme }:
libxfce4ui, libxfce4util, xfce4-panel, hicolor-icon-theme, xfce }:
let
category = "panel-plugins";
in
stdenv.mkDerivation rec {
name = "${p_name}-${ver_maj}.${ver_min}";
p_name = "xfce4-weather-plugin";
ver_maj = "0.8";
ver_min = "10";
pname = "xfce4-weather-plugin";
version = "0.8.10";
src = fetchurl {
url = "mirror://xfce/src/panel-plugins/${p_name}/${ver_maj}/${name}.tar.bz2";
url = "mirror://xfce/src/${category}/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
sha256 = "1f7ac2zr5s5w6krdpgsq252wxhhmcblia3j783132ilh8k246vgf";
};
@ -18,12 +20,18 @@ stdenv.mkDerivation rec {
xfce4-panel hicolor-icon-theme ];
enableParallelBuilding = true;
passthru.updateScript = xfce.updateScript {
inherit pname version;
attrPath = "xfce.${pname}";
versionLister = xfce.archiveLister category pname;
};
meta = {
homepage = "https://goodies.xfce.org/projects/panel-plugins/${p_name}";
meta = with stdenv.lib; {
homepage = "https://goodies.xfce.org/projects/panel-plugins/${pname}";
description = "Weather plugin for the Xfce desktop environment";
license = stdenv.lib.licenses.gpl2Plus;
platforms = stdenv.lib.platforms.unix;
maintainers = [ stdenv.lib.maintainers.romildo ];
license = licenses.gpl2Plus;
platforms = platforms.unix;
maintainers = [ maintainers.romildo ];
};
}

View file

@ -1,10 +1,10 @@
{ mkXfceDerivation, gtk3, glib, cmake, exo, garcon, libxfce4ui, libxfce4util, xfce4-panel, xfconf }:
mkXfceDerivation rec {
mkXfceDerivation {
category = "panel-plugins";
pname = "xfce4-whiskermenu-plugin";
version = "2.4.3";
rev = "v${version}";
rev-prefix = "v";
sha256 = "1cs3fps1bj0dd5az7fwrvw1xl3y621qk4dma3n73p7rr19j7fpsn";
nativeBuildInputs = [ cmake ];

View file

@ -1,17 +1,16 @@
{ stdenv, fetchFromGitHub, pkgconfig, intltool, python3, imagemagick, libwnck, gtk2
, exo, libxfce4ui, libxfce4util, xfce4-panel, xfconf, xfce4-dev-tools }:
, exo, libxfce4ui, libxfce4util, xfce4-panel, xfconf, xfce4-dev-tools, xfce }:
stdenv.mkDerivation rec {
p_name = "xfce4-windowck-plugin";
pname = "xfce4-windowck-plugin";
version = "0.4.4";
src = fetchFromGitHub {
owner = "cedl38";
repo = "xfce4-windowck-plugin";
repo = pname;
rev = "v${version}";
sha256 = "0c6a1ibh39dpq9x0dha5lsg0vzmgaf051fgwz0nlky0s94nwzvgv";
};
name = "${p_name}-${version}";
nativeBuildInputs = [ pkgconfig ];
buildInputs = [ intltool python3 imagemagick libwnck gtk2
@ -24,8 +23,15 @@ stdenv.mkDerivation rec {
enableParallelBuilding = true;
passthru.updateScript = xfce.updateScript {
inherit pname version;
attrPath = "xfce.${pname}";
versionLister = xfce.gitLister src.meta.homepage;
rev-prefix = "v";
};
meta = with stdenv.lib; {
homepage = "https://goodies.xfce.org/projects/panel-plugins/${p_name}";
homepage = "https://goodies.xfce.org/projects/panel-plugins/${pname}";
description = "Set of two plugins which allows you to put the maximized window title and windows buttons on the panel";
license = licenses.gpl2Plus;
platforms = platforms.unix;

View file

@ -1,10 +1,10 @@
{ lib, mkXfceDerivation, gtk3, librsvg, libwnck3, libxklavier, garcon, libxfce4ui, libxfce4util, xfce4-panel, xfconf }:
mkXfceDerivation rec {
mkXfceDerivation {
category = "panel-plugins";
pname = "xfce4-xkb-plugin";
version = "0.8.1";
rev = version;
rev-prefix = "";
sha256 = "1gyky4raynp2ggdnq0g96c6646fjm679fzipcsmf1q0aymr8d5ky";
buildInputs = [ garcon gtk3 librsvg libxfce4ui libxfce4util libxklavier libwnck3 xfce4-panel xfconf ];

View file

@ -1,6 +1,5 @@
{ stdenv
, mkXfceDerivation
, fetchFromGitHub
, gtk3
, thunar
, exo
@ -9,7 +8,7 @@
, gettext
}:
mkXfceDerivation rec {
mkXfceDerivation {
category = "thunar-plugins";
pname = "thunar-archive-plugin";
version = "0.4.0";

View file

@ -5,6 +5,7 @@
, thunar
, cmake
, ninja
, xfce
}:
stdenv.mkDerivation rec {
@ -31,6 +32,12 @@ stdenv.mkDerivation rec {
enableParallelBuilding = true;
passthru.updateScript = xfce.updateScript {
inherit pname version;
attrPath = "xfce.thunar-dropbox-plugin";
versionLister = xfce.gitLister src.meta.homepage;
};
meta = with stdenv.lib; {
homepage = "https://github.com/Jeinzi/thunar-dropbox";
description = "A plugin that adds context-menu items for Dropbox to Thunar";