From 0761e74c384dad1d3f0ad6aae1c4e80fddab7985 Mon Sep 17 00:00:00 2001 From: Maximilian Bosch Date: Sun, 10 Sep 2017 11:17:46 +0200 Subject: [PATCH 1/3] yabar: cleanup derivation The latest changes from `yabar` require several changes in the derivation to build the package successfully. --- .../window-managers/yabar/default.nix | 31 ++++++++++--------- 1 file changed, 17 insertions(+), 14 deletions(-) diff --git a/pkgs/applications/window-managers/yabar/default.nix b/pkgs/applications/window-managers/yabar/default.nix index 34d42425253..ae9eca8e3f2 100644 --- a/pkgs/applications/window-managers/yabar/default.nix +++ b/pkgs/applications/window-managers/yabar/default.nix @@ -1,38 +1,41 @@ -{ stdenv, fetchFromGitHub, cairo, gdk_pixbuf, libconfig, pango, pkgconfig, xcbutilwm }: +{ stdenv, fetchFromGitHub, cairo, gdk_pixbuf, libconfig, pango, pkgconfig +, xcbutilwm, alsaLib, wirelesstools, asciidoc, libxslt +}: stdenv.mkDerivation rec { name = "yabar-${version}"; - version = "0.4.0"; + version = "2017-09-09"; src = fetchFromGitHub { owner = "geommer"; repo = "yabar"; - rev = "746387f0112f9b7aa2e2e27b3d69cb2892d8c63b"; - sha256 = "1nw9dar1caqln5fr0dqk7dg6naazbpfwwzxwlkxz42shsc3w30a6"; + rev = "d3934344ba27f5bdf122bf74daacee6d49284dab"; + sha256 = "14zrlzva8i83ffg426mrf6yli8afwq6chvc7yi78ngixyik5gzhx"; }; - buildInputs = [ cairo gdk_pixbuf libconfig pango pkgconfig xcbutilwm ]; - - hardeningDisable = [ "format" ]; + buildInputs = [ + cairo gdk_pixbuf libconfig pango pkgconfig xcbutilwm + alsaLib wirelesstools asciidoc libxslt + ]; postPatch = '' - substituteInPlace ./Makefile --replace "\$(shell git describe)" "${version}" + substituteInPlace ./Makefile \ + --replace "\$(shell git describe)" "${version}" \ + --replace "a2x" "${asciidoc}/bin/a2x --no-xmllint" ''; - buildPhase = '' - make DESTDIR=$out PREFIX=/ - ''; + makeFlags = [ "DESTDIR=$(out)" "PREFIX=/" ]; - installPhase = '' - make DESTDIR=$out PREFIX=/ install + postInstall = '' mkdir -p $out/share/yabar/examples cp -v examples/*.config $out/share/yabar/examples ''; meta = with stdenv.lib; { description = "A modern and lightweight status bar for X window managers"; - homepage = "https://github.com/geommer/yabar"; + homepage = https://github.com/geommer/yabar; license = licenses.mit; platforms = platforms.linux; + maintainers = with maintainers; [ ma27 ]; }; } From 12e79f13587fa0932256ebc6227665edf7738761 Mon Sep 17 00:00:00 2001 From: Maximilian Bosch Date: Sun, 10 Sep 2017 14:02:33 +0200 Subject: [PATCH 2/3] yabar: add optional `configFile` value to derivation --- pkgs/applications/window-managers/yabar/default.nix | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/window-managers/yabar/default.nix b/pkgs/applications/window-managers/yabar/default.nix index ae9eca8e3f2..7ffec44fca4 100644 --- a/pkgs/applications/window-managers/yabar/default.nix +++ b/pkgs/applications/window-managers/yabar/default.nix @@ -1,5 +1,6 @@ { stdenv, fetchFromGitHub, cairo, gdk_pixbuf, libconfig, pango, pkgconfig -, xcbutilwm, alsaLib, wirelesstools, asciidoc, libxslt +, xcbutilwm, alsaLib, wirelesstools, asciidoc, libxslt, makeWrapper +, configFile ? null, lib }: stdenv.mkDerivation rec { @@ -15,7 +16,7 @@ stdenv.mkDerivation rec { buildInputs = [ cairo gdk_pixbuf libconfig pango pkgconfig xcbutilwm - alsaLib wirelesstools asciidoc libxslt + alsaLib wirelesstools asciidoc libxslt makeWrapper ]; postPatch = '' @@ -29,6 +30,13 @@ stdenv.mkDerivation rec { postInstall = '' mkdir -p $out/share/yabar/examples cp -v examples/*.config $out/share/yabar/examples + + ${lib.optionalString (configFile != null) + '' + wrapProgram "$out/bin/yabar" \ + --add-flags "-c ${configFile}" + '' + } ''; meta = with stdenv.lib; { From 178251001a6599f1200869c540a7cad7276ebd2d Mon Sep 17 00:00:00 2001 From: Maximilian Bosch Date: Mon, 11 Sep 2017 00:53:53 +0200 Subject: [PATCH 3/3] yabar: add `unstable` package --- .../window-managers/yabar/build.nix | 51 +++++++++++++++++ .../window-managers/yabar/default.nix | 55 +++---------------- .../window-managers/yabar/unstable.nix | 10 ++++ pkgs/top-level/all-packages.nix | 2 + 4 files changed, 71 insertions(+), 47 deletions(-) create mode 100644 pkgs/applications/window-managers/yabar/build.nix create mode 100644 pkgs/applications/window-managers/yabar/unstable.nix diff --git a/pkgs/applications/window-managers/yabar/build.nix b/pkgs/applications/window-managers/yabar/build.nix new file mode 100644 index 00000000000..fbbfa5f0118 --- /dev/null +++ b/pkgs/applications/window-managers/yabar/build.nix @@ -0,0 +1,51 @@ +{ stdenv, fetchFromGitHub, cairo, gdk_pixbuf, libconfig, pango, pkgconfig +, xcbutilwm, alsaLib, wirelesstools, asciidoc, libxslt, makeWrapper, docbook_xsl +, configFile ? null, lib +, rev, sha256, version +}: + +stdenv.mkDerivation { + name = "yabar-${version}"; + + src = fetchFromGitHub { + inherit rev sha256; + + owner = "geommer"; + repo = "yabar"; + }; + + hardeningDisable = [ "format" ]; + + buildInputs = [ + cairo gdk_pixbuf libconfig pango pkgconfig xcbutilwm docbook_xsl + alsaLib wirelesstools asciidoc libxslt makeWrapper + ]; + + postPatch = '' + substituteInPlace ./Makefile \ + --replace "\$(shell git describe)" "${version}" \ + --replace "a2x" "${asciidoc}/bin/a2x --no-xmllint" + ''; + + makeFlags = [ "DESTDIR=$(out)" "PREFIX=/" ]; + + postInstall = '' + mkdir -p $out/share/yabar/examples + cp -v examples/*.config $out/share/yabar/examples + + ${lib.optionalString (configFile != null) + '' + wrapProgram "$out/bin/yabar" \ + --add-flags "-c ${configFile}" + '' + } + ''; + + meta = with stdenv.lib; { + description = "A modern and lightweight status bar for X window managers"; + homepage = https://github.com/geommer/yabar; + license = licenses.mit; + platforms = platforms.linux; + maintainers = with maintainers; [ ma27 ]; + }; +} diff --git a/pkgs/applications/window-managers/yabar/default.nix b/pkgs/applications/window-managers/yabar/default.nix index 7ffec44fca4..4d42e3082f3 100644 --- a/pkgs/applications/window-managers/yabar/default.nix +++ b/pkgs/applications/window-managers/yabar/default.nix @@ -1,49 +1,10 @@ -{ stdenv, fetchFromGitHub, cairo, gdk_pixbuf, libconfig, pango, pkgconfig -, xcbutilwm, alsaLib, wirelesstools, asciidoc, libxslt, makeWrapper -, configFile ? null, lib -}: +{ callPackage, attrs ? {} }: -stdenv.mkDerivation rec { - name = "yabar-${version}"; - version = "2017-09-09"; +let + overrides = { + version = "0.4.0"; - src = fetchFromGitHub { - owner = "geommer"; - repo = "yabar"; - rev = "d3934344ba27f5bdf122bf74daacee6d49284dab"; - sha256 = "14zrlzva8i83ffg426mrf6yli8afwq6chvc7yi78ngixyik5gzhx"; - }; - - buildInputs = [ - cairo gdk_pixbuf libconfig pango pkgconfig xcbutilwm - alsaLib wirelesstools asciidoc libxslt makeWrapper - ]; - - postPatch = '' - substituteInPlace ./Makefile \ - --replace "\$(shell git describe)" "${version}" \ - --replace "a2x" "${asciidoc}/bin/a2x --no-xmllint" - ''; - - makeFlags = [ "DESTDIR=$(out)" "PREFIX=/" ]; - - postInstall = '' - mkdir -p $out/share/yabar/examples - cp -v examples/*.config $out/share/yabar/examples - - ${lib.optionalString (configFile != null) - '' - wrapProgram "$out/bin/yabar" \ - --add-flags "-c ${configFile}" - '' - } - ''; - - meta = with stdenv.lib; { - description = "A modern and lightweight status bar for X window managers"; - homepage = https://github.com/geommer/yabar; - license = licenses.mit; - platforms = platforms.linux; - maintainers = with maintainers; [ ma27 ]; - }; -} + rev = "746387f0112f9b7aa2e2e27b3d69cb2892d8c63b"; + sha256 = "1nw9dar1caqln5fr0dqk7dg6naazbpfwwzxwlkxz42shsc3w30a6"; + } // attrs; +in callPackage ./build.nix overrides diff --git a/pkgs/applications/window-managers/yabar/unstable.nix b/pkgs/applications/window-managers/yabar/unstable.nix new file mode 100644 index 00000000000..6baa7ae5c03 --- /dev/null +++ b/pkgs/applications/window-managers/yabar/unstable.nix @@ -0,0 +1,10 @@ +{ callPackage, attrs ? {} }: + +let + overrides = { + version = "unstable-2017-09-09"; + + rev = "d3934344ba27f5bdf122bf74daacee6d49284dab"; + sha256 = "14zrlzva8i83ffg426mrf6yli8afwq6chvc7yi78ngixyik5gzhx"; + } // attrs; +in callPackage ./build.nix overrides diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index e584af63178..41a2f1ba05e 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -17148,6 +17148,8 @@ with pkgs; yabar = callPackage ../applications/window-managers/yabar { }; + yabar-unstable = callPackage ../applications/window-managers/yabar/unstable.nix { }; + yakuake = libsForQt5.callPackage ../applications/misc/yakuake { inherit (kdeApplications) konsole; };