treewide: use wafHook

Replace "waf" phases with wafHook that manages everything
automatically. Should make things more modular.

Packages affected here are:

- a2jmidid
- ams-lv2
- ardour
- fomp
- guitarix
- ingen
- jalv
- mda-lv2
- non
- patchage
- hamster-time-tracker
- kupfer
- xiphos
- xfce4-dockbarx-plugin
- xfce4-namebar-plugin
- dropbox
- clasp
- aubio
- liliv
- lv2
- lvtk
- ntk
- raul
- sratom
- suil
- ganv
- ndn-cxx
- ns3
- serd
- sord
- termbox
- wxmupen64plus
- jackaudio
- pflask
- blockhash
- glmark2
- weighttp
This commit is contained in:
Matthew Bauer 2018-11-11 15:20:41 -06:00
parent 92ebfa1383
commit f2a20b6e52
38 changed files with 127 additions and 367 deletions

View File

@ -1,4 +1,5 @@
{ stdenv, fetchurl, makeWrapper, pkgconfig, alsaLib, dbus, libjack2 { stdenv, fetchurl, makeWrapper, pkgconfig, alsaLib, dbus, libjack2
, wafHook
, python2Packages}: , python2Packages}:
let let
@ -12,15 +13,10 @@ in stdenv.mkDerivation rec {
sha256 = "06dgf5655znbvrd7fhrv8msv6zw8vk0hjqglcqkh90960mnnmwz7"; sha256 = "06dgf5655znbvrd7fhrv8msv6zw8vk0hjqglcqkh90960mnnmwz7";
}; };
nativeBuildInputs = [ pkgconfig ]; nativeBuildInputs = [ pkgconfig wafHook ];
buildInputs = [ makeWrapper alsaLib dbus libjack2 python dbus-python ]; buildInputs = [ makeWrapper alsaLib dbus libjack2 python dbus-python ];
configurePhase = "${python.interpreter} waf configure --prefix=$out"; postInstall = ''
buildPhase = "${python.interpreter} waf";
installPhase = ''
${python.interpreter} waf install
wrapProgram $out/bin/a2j_control --set PYTHONPATH $PYTHONPATH wrapProgram $out/bin/a2j_control --set PYTHONPATH $PYTHONPATH
''; '';

View File

@ -1,4 +1,5 @@
{ stdenv, fetchFromGitHub, cairo, fftw, gtkmm2, lv2, lvtk, pkgconfig, python3 }: { stdenv, fetchFromGitHub, cairo, fftw, gtkmm2, lv2, lvtk, pkgconfig, python3
, wafHook }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "ams-lv2-${version}"; name = "ams-lv2-${version}";
@ -11,15 +12,9 @@ stdenv.mkDerivation rec {
sha256 = "1n1dnqnj24xhiy9323lj52nswr5120cj56fpckg802miss05sr6x"; sha256 = "1n1dnqnj24xhiy9323lj52nswr5120cj56fpckg802miss05sr6x";
}; };
nativeBuildInputs = [ pkgconfig ]; nativeBuildInputs = [ pkgconfig wafHook ];
buildInputs = [ cairo fftw gtkmm2 lv2 lvtk ]; buildInputs = [ cairo fftw gtkmm2 lv2 lvtk ];
configurePhase = "${python3.interpreter} waf configure --prefix=$out";
buildPhase = "${python3.interpreter} waf";
installPhase = "${python3.interpreter} waf install";
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "An LV2 port of the internal modules found in Alsa Modular Synth"; description = "An LV2 port of the internal modules found in Alsa Modular Synth";
homepage = http://objectivewave.wordpress.com/ams-lv2; homepage = http://objectivewave.wordpress.com/ams-lv2;

View File

@ -4,7 +4,8 @@
, librdf_raptor, librdf_rasqal, libsamplerate, libsigcxx, libsndfile , librdf_raptor, librdf_rasqal, libsamplerate, libsigcxx, libsndfile
, libusb, libuuid, libxml2, libxslt, lilv, lv2, makeWrapper , libusb, libuuid, libxml2, libxslt, lilv, lv2, makeWrapper
, perl, pkgconfig, python2, rubberband, serd, sord, sratom , perl, pkgconfig, python2, rubberband, serd, sord, sratom
, taglib, vampSDK, dbus, fftw, pango, suil, libarchive }: , taglib, vampSDK, dbus, fftw, pango, suil, libarchive
, wafHook }:
let let
@ -29,6 +30,7 @@ stdenv.mkDerivation rec {
sha256 = "0mla5lm51ryikc2rrk53max2m7a5ds6i1ai921l2h95wrha45nkr"; sha256 = "0mla5lm51ryikc2rrk53max2m7a5ds6i1ai921l2h95wrha45nkr";
}; };
nativeBuildInputs = [ wafHook ];
buildInputs = buildInputs =
[ alsaLib aubio boost cairomm curl doxygen dbus fftw fftwSinglePrec flac [ alsaLib aubio boost cairomm curl doxygen dbus fftw fftwSinglePrec flac
glibmm graphviz gtkmm2 libjack2 libgnomecanvas libgnomecanvasmm liblo glibmm graphviz gtkmm2 libjack2 libgnomecanvas libgnomecanvasmm liblo
@ -47,13 +49,13 @@ stdenv.mkDerivation rec {
patchShebangs ./tools/ patchShebangs ./tools/
''; '';
configurePhase = "${python2.interpreter} waf configure --optimize --docs --with-backends=jack,alsa,dummy --prefix=$out"; configureFlags = [
"--optimize"
buildPhase = "${python2.interpreter} waf"; "--docs"
"--with-backends=jack,alsa,dummy"
installPhase = '' ];
${python2.interpreter} waf install
postInstall = ''
# Install desktop file # Install desktop file
mkdir -p "$out/share/applications" mkdir -p "$out/share/applications"
cat > "$out/share/applications/ardour.desktop" << EOF cat > "$out/share/applications/ardour.desktop" << EOF

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, lv2, pkgconfig, python2 }: { stdenv, fetchurl, lv2, pkgconfig, python2, wafHook }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "fomp-${version}"; name = "fomp-${version}";
@ -9,15 +9,9 @@ stdenv.mkDerivation rec {
sha256 = "1hh2xhknanqn3iwp12ihl6bf8p7bqxryms9qk7mh21lixl42b8k5"; sha256 = "1hh2xhknanqn3iwp12ihl6bf8p7bqxryms9qk7mh21lixl42b8k5";
}; };
nativeBuildInputs = [ pkgconfig ]; nativeBuildInputs = [ pkgconfig wafHook ];
buildInputs = [ lv2 python2 ]; buildInputs = [ lv2 python2 ];
installPhase = ''
python waf configure --prefix=$out
python waf
python waf install
'';
meta = with stdenv.lib; { meta = with stdenv.lib; {
homepage = http://drobilla.net/software/fomp/; homepage = http://drobilla.net/software/fomp/;
description = "An LV2 port of the MCP, VCO, FIL, and WAH plugins by Fons Adriaensen"; description = "An LV2 port of the MCP, VCO, FIL, and WAH plugins by Fons Adriaensen";

View File

@ -2,7 +2,7 @@
, avahi, bluez, boost, eigen, fftw, glib, glib-networking , avahi, bluez, boost, eigen, fftw, glib, glib-networking
, glibmm, gsettings-desktop-schemas, gtkmm2, libjack2 , glibmm, gsettings-desktop-schemas, gtkmm2, libjack2
, ladspaH, libav, librdf, libsndfile, lilv, lv2, serd, sord, sratom , ladspaH, libav, librdf, libsndfile, lilv, lv2, serd, sord, sratom
, wrapGAppsHook, zita-convolver, zita-resampler, curl , wrapGAppsHook, zita-convolver, zita-resampler, curl, wafHook
, optimizationSupport ? false # Enable support for native CPU extensions , optimizationSupport ? false # Enable support for native CPU extensions
}: }:
@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
sha256 = "1wfm8wrwrnqpb4ihy75n7l9i6vml536jlq9pdx2pblbc4ba3paac"; sha256 = "1wfm8wrwrnqpb4ihy75n7l9i6vml536jlq9pdx2pblbc4ba3paac";
}; };
nativeBuildInputs = [ gettext intltool wrapGAppsHook pkgconfig python2 ]; nativeBuildInputs = [ gettext intltool wrapGAppsHook pkgconfig python2 wafHook ];
buildInputs = [ buildInputs = [
avahi bluez boost eigen fftw glib glibmm glib-networking.out avahi bluez boost eigen fftw glib glibmm glib-networking.out
@ -38,12 +38,6 @@ stdenv.mkDerivation rec {
"--convolver-ffmpeg" "--convolver-ffmpeg"
] ++ optional optimizationSupport "--optimization"; ] ++ optional optimizationSupport "--optimization";
configurePhase = ''python2 waf configure --prefix=$out $configureFlags'';
buildPhase = ''python2 waf build'';
installPhase = ''python2 waf install'';
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "A virtual guitar amplifier for Linux running with JACK"; description = "A virtual guitar amplifier for Linux running with JACK";
longDescription = '' longDescription = ''

View File

@ -1,6 +1,6 @@
{ stdenv, fetchgit, boost, ganv, glibmm, gtkmm2, libjack2, lilv { stdenv, fetchgit, boost, ganv, glibmm, gtkmm2, libjack2, lilv
, lv2Unstable, makeWrapper, pkgconfig, python, raul, rdflib, serd, sord, sratom , lv2Unstable, makeWrapper, pkgconfig, python, raul, rdflib, serd, sord, sratom
, wafHook
, suil , suil
}: }:
@ -15,23 +15,19 @@ stdenv.mkDerivation rec {
deepClone = true; deepClone = true;
}; };
nativeBuildInputs = [ pkgconfig ]; nativeBuildInputs = [ pkgconfig wafHook ];
buildInputs = [ buildInputs = [
boost ganv glibmm gtkmm2 libjack2 lilv lv2Unstable makeWrapper boost ganv glibmm gtkmm2 libjack2 lilv lv2Unstable makeWrapper
python raul serd sord sratom suil python raul serd sord sratom suil
]; ];
configurePhase = '' preConfigure = ''
sed -e "s@{PYTHONDIR}/'@out/'@" -i wscript sed -e "s@{PYTHONDIR}/'@out/'@" -i wscript
${python.interpreter} waf configure --prefix=$out
''; '';
propagatedBuildInputs = [ rdflib ]; propagatedBuildInputs = [ rdflib ];
buildPhase = "${python.interpreter} waf"; postInstall = ''
installPhase = ''
${python.interpreter} waf install
for program in ingenams ingenish for program in ingenams ingenish
do do
wrapProgram $out/bin/$program \ wrapProgram $out/bin/$program \

View File

@ -1,5 +1,5 @@
{ stdenv, fetchurl, gtk2, libjack2, lilv, lv2, pkgconfig, python { stdenv, fetchurl, gtk2, libjack2, lilv, lv2, pkgconfig, python
, serd, sord , sratom, suil }: , serd, sord , sratom, suil, wafHook }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "jalv-${version}"; name = "jalv-${version}";
@ -10,17 +10,11 @@ stdenv.mkDerivation rec {
sha256 = "1x2wpzzx2cgvz3dgdcgsj8dr0w3zsasy62mvl199bsdj5fbjaili"; sha256 = "1x2wpzzx2cgvz3dgdcgsj8dr0w3zsasy62mvl199bsdj5fbjaili";
}; };
nativeBuildInputs = [ pkgconfig ]; nativeBuildInputs = [ pkgconfig wafHook ];
buildInputs = [ buildInputs = [
gtk2 libjack2 lilv lv2 python serd sord sratom suil gtk2 libjack2 lilv lv2 python serd sord sratom suil
]; ];
configurePhase = "python waf configure --prefix=$out";
buildPhase = "python waf";
installPhase = "python waf install";
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "A simple but fully featured LV2 host for Jack"; description = "A simple but fully featured LV2 host for Jack";
homepage = http://drobilla.net/software/jalv; homepage = http://drobilla.net/software/jalv;

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, fftwSinglePrec, lv2, pkgconfig, python }: { stdenv, fetchurl, fftwSinglePrec, lv2, pkgconfig, python, wafHook }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "mda-lv2-${version}"; name = "mda-lv2-${version}";
@ -9,15 +9,9 @@ stdenv.mkDerivation rec {
sha256 = "0hh40c5d2m0k5gb3vw031l6lqn59dg804an3mkmhkc7qv4gc6xm4"; sha256 = "0hh40c5d2m0k5gb3vw031l6lqn59dg804an3mkmhkc7qv4gc6xm4";
}; };
nativeBuildInputs = [ pkgconfig ]; nativeBuildInputs = [ pkgconfig wafHook ];
buildInputs = [ fftwSinglePrec lv2 python ]; buildInputs = [ fftwSinglePrec lv2 python ];
configurePhase = "python waf configure --prefix=$out";
buildPhase = "python waf";
installPhase = "python waf install";
meta = with stdenv.lib; { meta = with stdenv.lib; {
homepage = http://drobilla.net/software/mda-lv2/; homepage = http://drobilla.net/software/mda-lv2/;
description = "An LV2 port of the MDA plugins by Paul Kellett"; description = "An LV2 port of the MDA plugins by Paul Kellett";

View File

@ -1,5 +1,5 @@
{ stdenv, fetchFromGitHub, pkgconfig, python2, cairo, libjpeg, ntk, libjack2 { stdenv, fetchFromGitHub, pkgconfig, python2, cairo, libjpeg, ntk, libjack2
, libsndfile, ladspaH, liblrdf, liblo, libsigcxx , libsndfile, ladspaH, liblrdf, liblo, libsigcxx, wafHook
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
@ -12,13 +12,10 @@ stdenv.mkDerivation rec {
sha256 = "1cljkkyi9dxqpqhx8y6l2ja4zjmlya26m26kqxml8gx08vyvddhx"; sha256 = "1cljkkyi9dxqpqhx8y6l2ja4zjmlya26m26kqxml8gx08vyvddhx";
}; };
nativeBuildInputs = [ pkgconfig ]; nativeBuildInputs = [ pkgconfig wafHook ];
buildInputs = [ python2 cairo libjpeg ntk libjack2 libsndfile buildInputs = [ python2 cairo libjpeg ntk libjack2 libsndfile
ladspaH liblrdf liblo libsigcxx ladspaH liblrdf liblo libsigcxx
]; ];
configurePhase = "python waf configure --prefix=$out";
buildPhase = "python waf build";
installPhase = "python waf install";
meta = { meta = {
description = "Lightweight and lightning fast modular Digital Audio Workstation"; description = "Lightweight and lightning fast modular Digital Audio Workstation";

View File

@ -1,5 +1,5 @@
{ stdenv, alsaLib, boost, dbus-glib, fetchsvn, ganv, glibmm { stdenv, alsaLib, boost, dbus-glib, fetchsvn, ganv, glibmm
, gtkmm2, libjack2, pkgconfig, python2 , gtkmm2, libjack2, pkgconfig, python2, wafHook
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
@ -13,13 +13,9 @@ stdenv.mkDerivation rec {
buildInputs = [ buildInputs = [
alsaLib boost dbus-glib ganv glibmm gtkmm2 libjack2 alsaLib boost dbus-glib ganv glibmm gtkmm2 libjack2
pkgconfig python2 pkgconfig python2 wafHook
]; ];
configurePhase = "python waf configure --prefix=$out";
buildPhase = "python waf build";
installPhase = "python waf install";
meta = { meta = {
description = "Modular patch bay for Jack and ALSA systems"; description = "Modular patch bay for Jack and ALSA systems";
homepage = http://non.tuxfamily.org; homepage = http://non.tuxfamily.org;

View File

@ -1,6 +1,7 @@
{ stdenv, fetchzip, pythonPackages, docbook2x, libxslt, gnome-doc-utils { stdenv, fetchzip, pythonPackages, docbook2x, libxslt, gnome-doc-utils
, intltool, dbus-glib, gnome_python , intltool, dbus-glib, gnome_python
, hicolor-icon-theme , hicolor-icon-theme
, wafHook
}: }:
# TODO: Add optional dependency 'wnck', for "workspace tracking" support. Fixes # TODO: Add optional dependency 'wnck', for "workspace tracking" support. Fixes
@ -17,28 +18,17 @@ pythonPackages.buildPythonApplication rec {
sha256 = "1a85rcg561792kdyv744cgzw7mmpmgv6d6li1sijfdpqa1ninf8g"; sha256 = "1a85rcg561792kdyv744cgzw7mmpmgv6d6li1sijfdpqa1ninf8g";
}; };
nativeBuildInputs = [ wafHook ];
buildInputs = [ buildInputs = [
docbook2x libxslt gnome-doc-utils intltool dbus-glib hicolor-icon-theme docbook2x libxslt gnome-doc-utils intltool dbus-glib hicolor-icon-theme
]; ];
propagatedBuildInputs = with pythonPackages; [ pygobject2 pygtk pyxdg gnome_python dbus-python ]; propagatedBuildInputs = with pythonPackages; [ pygobject2 pygtk pyxdg gnome_python dbus-python ];
configurePhase = ''
python waf configure --prefix="$out"
'';
buildPhase = ''
python waf build
'';
postFixup = '' postFixup = ''
wrapPythonProgramsIn $out/lib/hamster-time-tracker "$out $pythonPath" wrapPythonProgramsIn $out/lib/hamster-time-tracker "$out $pythonPath"
''; '';
installPhase = ''
python waf install
'';
# error: invalid command 'test' # error: invalid command 'test'
doCheck = false; doCheck = false;

View File

@ -8,6 +8,7 @@
, keybinder3 , keybinder3
, hicolor-icon-theme , hicolor-icon-theme
, wrapGAppsHook , wrapGAppsHook
, wafHook
}: }:
with python3Packages; with python3Packages;
@ -24,37 +25,20 @@ buildPythonApplication rec {
nativeBuildInputs = [ nativeBuildInputs = [
wrapGAppsHook intltool wrapGAppsHook intltool
# For setup hook # For setup hook
gobjectIntrospection gobjectIntrospection wafHook
]; ];
buildInputs = [ hicolor-icon-theme docutils libwnck3 keybinder3 ]; buildInputs = [ hicolor-icon-theme docutils libwnck3 keybinder3 ];
propagatedBuildInputs = [ pygobject3 gtk3 pyxdg dbus-python pycairo ]; propagatedBuildInputs = [ pygobject3 gtk3 pyxdg dbus-python pycairo ];
configurePhase = '' postInstall = let
runHook preConfigure
python ./waf configure --prefix=$prefix
runHook postConfigure
'';
buildPhase = ''
runHook preBuild
python ./waf
runHook postBuild
'';
installPhase = let
pythonPath = (stdenv.lib.concatMapStringsSep ":" pythonPath = (stdenv.lib.concatMapStringsSep ":"
(m: "${m}/lib/${python.libPrefix}/site-packages") (m: "${m}/lib/${python.libPrefix}/site-packages")
propagatedBuildInputs); propagatedBuildInputs);
in '' in ''
runHook preInstall
python ./waf install
gappsWrapperArgs+=( gappsWrapperArgs+=(
"--prefix" "PYTHONPATH" : "${pythonPath}" "--prefix" "PYTHONPATH" : "${pythonPath}"
"--set" "PYTHONNOUSERSITE" "1" "--set" "PYTHONNOUSERSITE" "1"
) )
runHook postInstall
''; '';
doCheck = false; # no tests doCheck = false; # no tests

View File

@ -9,6 +9,7 @@
, webkitgtk , webkitgtk
, dbus-glib, enchant, isocodes, libuuid, icu , dbus-glib, enchant, isocodes, libuuid, icu
, wrapGAppsHook , wrapGAppsHook
, wafHook
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
@ -22,7 +23,7 @@ stdenv.mkDerivation rec {
sha256 = "1vwf1ps6nrajxl1qbs6v1cgykmq5wn4j09j10gbcd3b2nvrprf3g"; sha256 = "1vwf1ps6nrajxl1qbs6v1cgykmq5wn4j09j10gbcd3b2nvrprf3g";
}; };
nativeBuildInputs = [ pkgconfig wrapGAppsHook ]; nativeBuildInputs = [ pkgconfig wrapGAppsHook wafHook ];
buildInputs = [ python intltool docbook2x docbook_xml_dtd_412 libxslt buildInputs = [ python intltool docbook2x docbook_xml_dtd_412 libxslt
sword clucene_core biblesync gnome-doc-utils libgsf gconf gtkhtml sword clucene_core biblesync gnome-doc-utils libgsf gconf gtkhtml
libglade scrollkeeper webkitgtk dbus-glib enchant isocodes libuuid icu ]; libglade scrollkeeper webkitgtk dbus-glib enchant isocodes libuuid icu ];
@ -36,17 +37,7 @@ stdenv.mkDerivation rec {
export SWORD_HOME=${sword}; export SWORD_HOME=${sword};
''; '';
configurePhase = '' configureFlags= [ "--enable-webkit2" ];
python waf configure --prefix=$out --enable-webkit2
'';
buildPhase = ''
python waf build
'';
installPhase = ''
python waf install
'';
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "A GTK Bible study tool"; description = "A GTK Bible study tool";

View File

@ -1,4 +1,5 @@
{ stdenv, pkgconfig, fetchFromGitHub, python2, bash, vala, dockbarx, gtk2, xfce, pythonPackages }: { stdenv, pkgconfig, fetchFromGitHub, python2, bash, vala
, dockbarx, gtk2, xfce, pythonPackages, wafHook }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
ver = "0.5"; ver = "0.5";
@ -14,7 +15,7 @@ stdenv.mkDerivation rec {
pythonPath = [ dockbarx ]; pythonPath = [ dockbarx ];
nativeBuildInputs = [ pkgconfig ]; nativeBuildInputs = [ pkgconfig wafHook ];
buildInputs = [ python2 vala gtk2 pythonPackages.wrapPython ] buildInputs = [ python2 vala gtk2 pythonPackages.wrapPython ]
++ (with xfce; [ libxfce4util xfce4-panel xfconf xfce4-dev-tools ]) ++ (with xfce; [ libxfce4util xfce4-panel xfconf xfce4-dev-tools ])
++ pythonPath; ++ pythonPath;
@ -25,12 +26,6 @@ stdenv.mkDerivation rec {
substituteInPlace src/dockbarx.vala --replace '/usr/bin/env python2' ${bash}/bin/bash substituteInPlace src/dockbarx.vala --replace '/usr/bin/env python2' ${bash}/bin/bash
''; '';
configurePhase = "python waf configure --prefix=$out";
buildPhase = "python waf build";
installPhase = "python waf install";
postFixup = '' postFixup = ''
wrapPythonProgramsIn "$out/share/xfce4/panel/plugins" "$out $pythonPath" wrapPythonProgramsIn "$out/share/xfce4/panel/plugins" "$out $pythonPath"
''; '';

View File

@ -1,4 +1,5 @@
{ stdenv, pkgconfig, fetchFromGitHub, python2, vala, gtk2, libwnck, libxfce4util, xfce4-panel }: { stdenv, pkgconfig, fetchFromGitHub, python2, vala
, gtk2, libwnck, libxfce4util, xfce4-panel, wafHook }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
ver = "0.3.1"; ver = "0.3.1";
@ -12,7 +13,7 @@ stdenv.mkDerivation rec {
sha256 = "1sl4qmjywfvv53ch7hyfysjfd91zl38y7gdw2y3k69vkzd3h18ad"; sha256 = "1sl4qmjywfvv53ch7hyfysjfd91zl38y7gdw2y3k69vkzd3h18ad";
}; };
nativeBuildInputs = [ pkgconfig ]; nativeBuildInputs = [ pkgconfig wafHook ];
buildInputs = [ python2 vala gtk2 libwnck libxfce4util xfce4-panel ]; buildInputs = [ python2 vala gtk2 libwnck libxfce4util xfce4-panel ];
postPatch = '' postPatch = ''
@ -20,12 +21,6 @@ stdenv.mkDerivation rec {
substituteInPlace src/namebar.vala --replace 'Environment.get_system_data_dirs()' "{ \"$out/share\" }" substituteInPlace src/namebar.vala --replace 'Environment.get_system_data_dirs()' "{ \"$out/share\" }"
''; '';
configurePhase = "python waf configure --prefix=$out";
buildPhase = "python waf build";
installPhase = "python waf install";
meta = with stdenv.lib; { meta = with stdenv.lib; {
homepage = https://github.com/TiZ-EX1/xfce4-namebar-plugin; homepage = https://github.com/TiZ-EX1/xfce4-namebar-plugin;
description = "A plugins which integrates titlebar and window controls into the xfce4-panel"; description = "A plugins which integrates titlebar and window controls into the xfce4-panel";

View File

@ -1,6 +1,7 @@
{ stdenv, fetchurl, pkgconfig { stdenv, fetchurl, pkgconfig
, gtk , gtk
, thunar-bare, python2, hicolor-icon-theme , thunar-bare, python2, hicolor-icon-theme
, wafHook
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
@ -14,20 +15,12 @@ stdenv.mkDerivation rec {
sha256 = "08vhzzzwshyz371yl7fzfylmhvchhv3s5kml3dva4v39jhvrpnkf"; sha256 = "08vhzzzwshyz371yl7fzfylmhvchhv3s5kml3dva4v39jhvrpnkf";
}; };
nativeBuildInputs = [ pkgconfig ]; nativeBuildInputs = [ pkgconfig wafHook ];
buildInputs = [ buildInputs = [
gtk gtk
thunar-bare python2 hicolor-icon-theme thunar-bare python2 hicolor-icon-theme
]; ];
configurePhase = "python2 waf configure --prefix=$out";
buildPhase = "python2 waf";
installPhase = ''
python2 waf install
'';
enableParallelBuilding = true; enableParallelBuilding = true;
meta = with stdenv.lib; { meta = with stdenv.lib; {

View File

@ -2,6 +2,7 @@
, llvmPackages , llvmPackages
, cmake, boehmgc, gmp, zlib, ncurses, boost , cmake, boehmgc, gmp, zlib, ncurses, boost
, python, git, sbcl , python, git, sbcl
, wafHook
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "${pname}-${version}"; name = "${pname}-${version}";
@ -16,7 +17,7 @@ stdenv.mkDerivation rec {
fetchSubmodules = true; fetchSubmodules = true;
}; };
nativeBuildInputs = [ cmake python git sbcl ]; nativeBuildInputs = [ cmake python git sbcl wafHook ];
buildInputs = with llvmPackages; ( buildInputs = with llvmPackages; (
builtins.map (x: stdenv.lib.overrideDerivation x builtins.map (x: stdenv.lib.overrideDerivation x
@ -32,36 +33,14 @@ stdenv.mkDerivation rec {
NIX_CFLAGS_COMPILE = " -frtti "; NIX_CFLAGS_COMPILE = " -frtti ";
configurePhase = '' postPatch = ''
runHook preConfigure
export CXX=clang++
export CC=clang
echo " echo "
INSTALL_PATH_PREFIX = '$out' INSTALL_PATH_PREFIX = '$out'
" | sed -e 's/^ *//' > wscript.config " | sed -e 's/^ *//' > wscript.config
python ./waf configure update_submodules
runHook postConfigure
''; '';
buildPhase = '' buildTargets = "build_cboehm";
runHook preBuild installTargets = "install_cboehm";
python ./waf build_cboehm
runHook postBuild
'';
installPhase = ''
runHook preInstall
python ./waf install_cboehm
runHook postInstall
'';
meta = { meta = {
inherit version; inherit version;

View File

@ -1,5 +1,5 @@
{ stdenv, fetchurl, alsaLib, fftw, libjack2, libsamplerate { stdenv, fetchurl, alsaLib, fftw, libjack2, libsamplerate
, libsndfile, pkgconfig, python , libsndfile, pkgconfig, python, wafHook
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
@ -10,15 +10,9 @@ stdenv.mkDerivation rec {
sha256 = "0hd0kzfmr46am00ygxar8alrldv92c5azqy701iilfmbqpz4mvfb"; sha256 = "0hd0kzfmr46am00ygxar8alrldv92c5azqy701iilfmbqpz4mvfb";
}; };
nativeBuildInputs = [ pkgconfig python ]; nativeBuildInputs = [ pkgconfig python wafHook ];
buildInputs = [ alsaLib fftw libjack2 libsamplerate libsndfile ]; buildInputs = [ alsaLib fftw libjack2 libsamplerate libsndfile ];
configurePhase = "python waf configure --prefix=$out";
buildPhase = "python waf";
installPhase = "python waf install";
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "Library for audio labelling"; description = "Library for audio labelling";
homepage = https://aubio.org/; homepage = https://aubio.org/;

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, lv2, pkgconfig, python, serd, sord, sratom }: { stdenv, fetchurl, lv2, pkgconfig, python, serd, sord, sratom, wafHook }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "lilv-${version}"; name = "lilv-${version}";
@ -9,15 +9,9 @@ stdenv.mkDerivation rec {
sha256 = "0f24cd7wkk5l969857g2ydz2kjjrkvvddg1g87xzzs78lsvq8fy3"; sha256 = "0f24cd7wkk5l969857g2ydz2kjjrkvvddg1g87xzzs78lsvq8fy3";
}; };
nativeBuildInputs = [ pkgconfig ]; nativeBuildInputs = [ pkgconfig wafHook ];
buildInputs = [ lv2 python serd sord sratom ]; buildInputs = [ lv2 python serd sord sratom ];
configurePhase = "${python.interpreter} waf configure --prefix=$out";
buildPhase = "${python.interpreter} waf";
installPhase = "${python.interpreter} waf install";
meta = with stdenv.lib; { meta = with stdenv.lib; {
homepage = http://drobilla.net/software/lilv; homepage = http://drobilla.net/software/lilv;
description = "A C library to make the use of LV2 plugins"; description = "A C library to make the use of LV2 plugins";

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, gtk2, libsndfile, pkgconfig, python }: { stdenv, fetchurl, gtk2, libsndfile, pkgconfig, python, wafHook }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "lv2-${version}"; name = "lv2-${version}";
@ -9,15 +9,9 @@ stdenv.mkDerivation rec {
sha256 = "0chxwys3vnn3nxc9x2vchm74s9sx0vfra6y893byy12ci61jc1dq"; sha256 = "0chxwys3vnn3nxc9x2vchm74s9sx0vfra6y893byy12ci61jc1dq";
}; };
nativeBuildInputs = [ pkgconfig ]; nativeBuildInputs = [ pkgconfig wafHook ];
buildInputs = [ gtk2 libsndfile python ]; buildInputs = [ gtk2 libsndfile python ];
configurePhase = "${python.interpreter} waf configure --prefix=$out";
buildPhase = "${python.interpreter} waf";
installPhase = "${python.interpreter} waf install";
meta = with stdenv.lib; { meta = with stdenv.lib; {
homepage = http://lv2plug.in; homepage = http://lv2plug.in;
description = "A plugin standard for audio systems"; description = "A plugin standard for audio systems";

View File

@ -1,4 +1,4 @@
{ stdenv, fetchgit, gtk2, libsndfile, pkgconfig, python }: { stdenv, fetchgit, gtk2, libsndfile, pkgconfig, python, wafHook }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "lv2-unstable-${version}"; name = "lv2-unstable-${version}";
@ -10,15 +10,9 @@ stdenv.mkDerivation rec {
sha256 = "1gp2rd99dfmpibvpixrqn115mrhybzf3if3h8bssf6siyi13f29r"; sha256 = "1gp2rd99dfmpibvpixrqn115mrhybzf3if3h8bssf6siyi13f29r";
}; };
nativeBuildInputs = [ pkgconfig ]; nativeBuildInputs = [ pkgconfig wafHook ];
buildInputs = [ gtk2 libsndfile python ]; buildInputs = [ gtk2 libsndfile python ];
configurePhase = "${python.interpreter} waf configure --prefix=$out";
buildPhase = "${python.interpreter} waf";
installPhase = "${python.interpreter} waf install";
meta = with stdenv.lib; { meta = with stdenv.lib; {
homepage = http://lv2plug.in; homepage = http://lv2plug.in;
description = "A plugin standard for audio systems"; description = "A plugin standard for audio systems";

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, boost, gtkmm2, lv2, pkgconfig, python }: { stdenv, fetchurl, boost, gtkmm2, lv2, pkgconfig, python, wafHook }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "lvtk-${version}"; name = "lvtk-${version}";
@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
sha256 = "03nbj2cqcklqwh50zj2gwm07crh5iwqbpxbpzwbg5hvgl4k4rnjd"; sha256 = "03nbj2cqcklqwh50zj2gwm07crh5iwqbpxbpzwbg5hvgl4k4rnjd";
}; };
nativeBuildInputs = [ pkgconfig python ]; nativeBuildInputs = [ pkgconfig python wafHook ];
buildInputs = [ boost gtkmm2 lv2 ]; buildInputs = [ boost gtkmm2 lv2 ];
enableParallelBuilding = true; enableParallelBuilding = true;
@ -19,15 +19,10 @@ stdenv.mkDerivation rec {
sed -i '/target[ ]*= "ttl2c"/ ilib=["boost_system"],' tools/wscript_build sed -i '/target[ ]*= "ttl2c"/ ilib=["boost_system"],' tools/wscript_build
''; '';
configurePhase = '' configureFlags = [
python waf configure --prefix=$out \ "--boost-includes=${boost.dev}/include"
--boost-includes="${boost.dev}/include" \ "--boost-libs=${boost.out}/lib"
--boost-libs="${boost.out}/lib" ];
'';
buildPhase = "python waf";
installPhase = "python waf install";
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "A set C++ wrappers around the LV2 C API"; description = "A set C++ wrappers around the LV2 C API";

View File

@ -1,4 +1,4 @@
{ stdenv, fetchFromGitHub, cairo, libjpeg, libXft, pkgconfig, python2 }: { stdenv, fetchFromGitHub, cairo, libjpeg, libXft, pkgconfig, python2, wafHook }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "ntk-${version}"; name = "ntk-${version}";
@ -10,20 +10,11 @@ stdenv.mkDerivation rec {
sha256 = "0j38mhnfqy6swcrnc5zxcwlqi8b1pgklyghxk6qs1lf4japv2zc0"; sha256 = "0j38mhnfqy6swcrnc5zxcwlqi8b1pgklyghxk6qs1lf4japv2zc0";
}; };
nativeBuildInputs = [ pkgconfig ]; nativeBuildInputs = [ pkgconfig wafHook ];
buildInputs = [ buildInputs = [
cairo libjpeg libXft python2 cairo libjpeg libXft python2
]; ];
buildPhase = ''
python waf configure --prefix=$out
python waf
'';
installPhase = ''
python waf install
'';
meta = { meta = {
description = "Fork of FLTK 1.3.0 with additional functionality"; description = "Fork of FLTK 1.3.0 with additional functionality";
version = "${version}"; version = "${version}";

View File

@ -1,4 +1,4 @@
{ stdenv, fetchgit, boost, gtk2, pkgconfig, python }: { stdenv, fetchgit, boost, gtk2, pkgconfig, python, wafHook }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "raul-unstable-${rev}"; name = "raul-unstable-${rev}";
@ -10,15 +10,9 @@ stdenv.mkDerivation rec {
sha256 = "04fajrass3ymr72flx5js5vxc601ccrmx8ny8scp0rw7j0igyjdr"; sha256 = "04fajrass3ymr72flx5js5vxc601ccrmx8ny8scp0rw7j0igyjdr";
}; };
nativeBuildInputs = [ pkgconfig ]; nativeBuildInputs = [ pkgconfig wafHook ];
buildInputs = [ boost gtk2 python ]; buildInputs = [ boost gtk2 python ];
configurePhase = "${python.interpreter} waf configure --prefix=$out";
buildPhase = "${python.interpreter} waf";
installPhase = "${python.interpreter} waf install";
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "A C++ utility library primarily aimed at audio/musical applications"; description = "A C++ utility library primarily aimed at audio/musical applications";
homepage = http://drobilla.net/software/raul; homepage = http://drobilla.net/software/raul;

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, lv2, pkgconfig, python, serd, sord }: { stdenv, fetchurl, lv2, pkgconfig, python, serd, sord, wafHook }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "sratom-${version}"; name = "sratom-${version}";
@ -9,15 +9,9 @@ stdenv.mkDerivation rec {
sha256 = "0lz883ravxjf7r9wwbx2gx9m8vhyiavxrl9jdxfppjxnsralll8a"; sha256 = "0lz883ravxjf7r9wwbx2gx9m8vhyiavxrl9jdxfppjxnsralll8a";
}; };
nativeBuildInputs = [ pkgconfig ]; nativeBuildInputs = [ pkgconfig wafHook ];
buildInputs = [ lv2 python serd sord ]; buildInputs = [ lv2 python serd sord ];
configurePhase = "${python.interpreter} waf configure --prefix=$out";
buildPhase = "${python.interpreter} waf";
installPhase = "${python.interpreter} waf install";
meta = with stdenv.lib; { meta = with stdenv.lib; {
homepage = http://drobilla.net/software/sratom; homepage = http://drobilla.net/software/sratom;
description = "A library for serialising LV2 atoms to/from RDF"; description = "A library for serialising LV2 atoms to/from RDF";

View File

@ -1,4 +1,5 @@
{ stdenv, lib, fetchurl, gtk2, lv2, pkgconfig, python, serd, sord, sratom { stdenv, lib, fetchurl, gtk2, lv2, pkgconfig, python, serd, sord, sratom
, wafHook
, withQt4 ? true, qt4 ? null , withQt4 ? true, qt4 ? null
, withQt5 ? false, qt5 ? null }: , withQt5 ? false, qt5 ? null }:
@ -16,17 +17,11 @@ stdenv.mkDerivation rec {
sha256 = "0j489gm3fhnmwmbgw30bvd4byw1vsy4yazdlnji8jzhcz0qwb5cq"; sha256 = "0j489gm3fhnmwmbgw30bvd4byw1vsy4yazdlnji8jzhcz0qwb5cq";
}; };
nativeBuildInputs = [ pkgconfig ]; nativeBuildInputs = [ pkgconfig wafHook ];
buildInputs = [ gtk2 lv2 python serd sord sratom ] buildInputs = [ gtk2 lv2 python serd sord sratom ]
++ (lib.optionals withQt4 [ qt4 ]) ++ (lib.optionals withQt4 [ qt4 ])
++ (lib.optionals withQt5 (with qt5; [ qtbase qttools ])); ++ (lib.optionals withQt5 (with qt5; [ qtbase qttools ]));
configurePhase = "python waf configure --prefix=$out";
buildPhase = "python waf";
installPhase = "python waf install";
meta = with stdenv.lib; { meta = with stdenv.lib; {
homepage = http://drobilla.net/software/suil; homepage = http://drobilla.net/software/suil;
description = "A lightweight C library for loading and wrapping LV2 plugin UIs"; description = "A lightweight C library for loading and wrapping LV2 plugin UIs";

View File

@ -1,4 +1,4 @@
{ stdenv, fetchgit, graphviz, gtk2, gtkmm2, pkgconfig, python }: { stdenv, fetchgit, graphviz, gtk2, gtkmm2, pkgconfig, python, wafHook }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "ganv-unstable-${rev}"; name = "ganv-unstable-${rev}";
@ -10,15 +10,9 @@ stdenv.mkDerivation rec {
sha256 = "0xmbykdl42jn9cgzrqrys5lng67d26nk5xq10wkkvjqldiwdck56"; sha256 = "0xmbykdl42jn9cgzrqrys5lng67d26nk5xq10wkkvjqldiwdck56";
}; };
nativeBuildInputs = [ pkgconfig ]; nativeBuildInputs = [ pkgconfig wafHook ];
buildInputs = [ graphviz gtk2 gtkmm2 python ]; buildInputs = [ graphviz gtk2 gtkmm2 python ];
configurePhase = "${python.interpreter} waf configure --prefix=$out";
buildPhase = "${python.interpreter} waf";
installPhase = "${python.interpreter} waf install";
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "An interactive Gtk canvas widget for graph-based interfaces"; description = "An interactive Gtk canvas widget for graph-based interfaces";
homepage = http://drobilla.net; homepage = http://drobilla.net;

View File

@ -1,4 +1,5 @@
{ stdenv, fetchFromGitHub, openssl, doxygen, boost, sqlite, pkgconfig, python, pythonPackages }: { stdenv, fetchFromGitHub, openssl, doxygen
, boost, sqlite, pkgconfig, python, pythonPackages, wafHook }:
let let
version = "0.6.3"; version = "0.6.3";
in in
@ -10,22 +11,13 @@ stdenv.mkDerivation {
rev = "a3bf4319ed483a4a6fe2c96b79ec4491d7217f00"; rev = "a3bf4319ed483a4a6fe2c96b79ec4491d7217f00";
sha256 = "076jhrjigisqz5n8dgxwd5fhimg69zhm834m7w9yvf9afgzrr50h"; sha256 = "076jhrjigisqz5n8dgxwd5fhimg69zhm834m7w9yvf9afgzrr50h";
}; };
nativeBuildInputs = [ pkgconfig ]; nativeBuildInputs = [ pkgconfig wafHook ];
buildInputs = [ openssl doxygen boost sqlite python pythonPackages.sphinx]; buildInputs = [ openssl doxygen boost sqlite python pythonPackages.sphinx];
preConfigure = '' configureFlags = [
patchShebangs waf "--with-openssl=${openssl.dev}"
./waf configure \ "--boost-includes=${boost.dev}/include"
--prefix=$out \ "--boost-libs=${boost.out}/lib"
--with-openssl=${openssl.dev} \ ];
--boost-includes=${boost.dev}/include \
--boost-libs=${boost.out}/lib
'';
buildPhase = ''
./waf
'';
installPhase = ''
./waf install
'';
meta = with stdenv.lib; { meta = with stdenv.lib; {
homepage = http://named-data.net/; homepage = http://named-data.net/;
description = "A Named Data Neworking (NDN) or Content Centric Networking (CCN) abstraction"; description = "A Named Data Neworking (NDN) or Content Centric Networking (CCN) abstraction";

View File

@ -1,6 +1,7 @@
{ stdenv { stdenv
, fetchFromGitHub , fetchFromGitHub
, python , python
, wafHook
# for binding generation # for binding generation
, castxml ? null , castxml ? null
@ -50,6 +51,7 @@ stdenv.mkDerivation rec {
sha256 = "17kzfjpgw2mvyx1c9bxccnvw67jpk09fxmcnlkqx9xisk10qnhng"; sha256 = "17kzfjpgw2mvyx1c9bxccnvw67jpk09fxmcnlkqx9xisk10qnhng";
}; };
nativeBuildInputs = [ wafHook ];
# ncurses is a hidden dependency of waf when checking python # ncurses is a hidden dependency of waf when checking python
buildInputs = lib.optionals generateBindings [ castxml ncurses ] buildInputs = lib.optionals generateBindings [ castxml ncurses ]
++ stdenv.lib.optional enableDoxygen [ doxygen graphviz imagemagick ] ++ stdenv.lib.optional enableDoxygen [ doxygen graphviz imagemagick ]
@ -58,12 +60,9 @@ stdenv.mkDerivation rec {
propagatedBuildInputs = [ gcc6 pythonEnv ]; propagatedBuildInputs = [ gcc6 pythonEnv ];
postPatch = '' postPatch = ''
patchShebangs ./waf
patchShebangs doc/ns3_html_theme/get_version.sh patchShebangs doc/ns3_html_theme/get_version.sh
''; '';
configureScript = "${python.interpreter} ./waf configure";
configureFlags = with stdenv.lib; [ configureFlags = with stdenv.lib; [
"--enable-modules=${stdenv.lib.concatStringsSep "," modules}" "--enable-modules=${stdenv.lib.concatStringsSep "," modules}"
"--with-python=${pythonEnv.interpreter}" "--with-python=${pythonEnv.interpreter}"
@ -74,12 +73,9 @@ stdenv.mkDerivation rec {
++ optional doCheck " --enable-tests " ++ optional doCheck " --enable-tests "
; ;
postBuild = with stdenv.lib; let flags = concatStringsSep ";" ( buildTargets = "build"
optional enableDoxygen "./waf doxygen" + lib.optionalString enableDoxygen " doxygen"
++ optional withManual "./waf sphinx" + lib.optionalString withManual "sphinx";
);
in "${flags}"
;
doCheck = true; doCheck = true;

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, pkgconfig, python }: { stdenv, fetchurl, pkgconfig, python, wafHook }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "serd-${version}"; name = "serd-${version}";
@ -9,13 +9,7 @@ stdenv.mkDerivation rec {
sha256 = "1yyfyvc6kwagi5w43ljp1bbjdvdpmgpds74lmjxycm91bkx0xyvf"; sha256 = "1yyfyvc6kwagi5w43ljp1bbjdvdpmgpds74lmjxycm91bkx0xyvf";
}; };
nativeBuildInputs = [ pkgconfig python ]; nativeBuildInputs = [ pkgconfig python wafHook ];
configurePhase = "python waf configure --prefix=$out";
buildPhase = "python waf";
installPhase = "python waf install";
meta = with stdenv.lib; { meta = with stdenv.lib; {
homepage = http://drobilla.net/software/serd; homepage = http://drobilla.net/software/serd;

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, pkgconfig, python, serd, pcre }: { stdenv, fetchurl, pkgconfig, python, serd, pcre, wafHook }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "sord-${version}"; name = "sord-${version}";
@ -9,15 +9,9 @@ stdenv.mkDerivation rec {
sha256 = "13fshxwpipjrvsah1m2jw1kf022z2q5vpw24bzcznglgvms13x89"; sha256 = "13fshxwpipjrvsah1m2jw1kf022z2q5vpw24bzcznglgvms13x89";
}; };
nativeBuildInputs = [ pkgconfig ]; nativeBuildInputs = [ pkgconfig wafHook ];
buildInputs = [ python serd pcre ]; buildInputs = [ python serd pcre ];
configurePhase = "${python.interpreter} waf configure --prefix=$out";
buildPhase = "${python.interpreter} waf";
installPhase = "${python.interpreter} waf install";
meta = with stdenv.lib; { meta = with stdenv.lib; {
homepage = http://drobilla.net/software/sord; homepage = http://drobilla.net/software/sord;
description = "A lightweight C library for storing RDF data in memory"; description = "A lightweight C library for storing RDF data in memory";

View File

@ -1,4 +1,4 @@
{ stdenv, fetchFromGitHub, python3 }: { stdenv, fetchFromGitHub, python3, wafHook }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "termbox-${version}"; name = "termbox-${version}";
@ -9,10 +9,7 @@ stdenv.mkDerivation rec {
rev = "v${version}"; rev = "v${version}";
sha256 = "08yqxzb8fny8806p7x8a6f3phhlbfqdd7dhkv25calswj7w1ssvs"; sha256 = "08yqxzb8fny8806p7x8a6f3phhlbfqdd7dhkv25calswj7w1ssvs";
}; };
nativeBuildInputs = [ python3 ]; nativeBuildInputs = [ python3 wafHook ];
configurePhase = "python3 ./waf configure --prefix=$out";
buildPhase = "python3 ./waf build";
installPhase = "python3 ./waf install --destdir=$out";
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "Library for writing text-based user interfaces"; description = "Library for writing text-based user interfaces";
license = licenses.mit; license = licenses.mit;
@ -21,4 +18,3 @@ stdenv.mkDerivation rec {
maintainers = with maintainers; [ fgaz ]; maintainers = with maintainers; [ fgaz ];
}; };
} }

View File

@ -1,4 +1,5 @@
{stdenv, fetchurl, python, wxGTK29, mupen64plus, SDL, libX11, libGLU_combined}: { stdenv, fetchurl, python, wxGTK29, mupen64plus, SDL, libX11, libGLU_combined
, wafHook }:
stdenv.mkDerivation { stdenv.mkDerivation {
name = "wxmupen64plus-0.3"; name = "wxmupen64plus-0.3";
@ -7,18 +8,17 @@ stdenv.mkDerivation {
sha256 = "1mnxi4k011dd300k35li2p6x4wccwi6im21qz8dkznnz397ps67c"; sha256 = "1mnxi4k011dd300k35li2p6x4wccwi6im21qz8dkznnz397ps67c";
}; };
nativeBuildInputs = [ wafHook ];
buildInputs = [ python wxGTK29 SDL libX11 libGLU_combined ]; buildInputs = [ python wxGTK29 SDL libX11 libGLU_combined ];
configurePhase = '' preConfigure = ''
tar xf ${mupen64plus.src} tar xf ${mupen64plus.src}
APIDIR=$(eval echo `pwd`/mupen64plus*/source/mupen64plus-core/src/api) APIDIR=$(eval echo `pwd`/mupen64plus*/source/mupen64plus-core/src/api)
export CXXFLAGS="-I${libX11.dev}/include/X11 -DLIBDIR=\\\"${mupen64plus}/lib/\\\"" export CXXFLAGS="-I${libX11.dev}/include/X11 -DLIBDIR=\\\"${mupen64plus}/lib/\\\""
export LDFLAGS="-lwx_gtk2u_adv-2.9" export LDFLAGS="-lwx_gtk2u_adv-2.9"
python waf configure --mupenapi=$APIDIR --wxconfig=`type -P wx-config` --prefix=$out
'';
buildPhase = "python waf"; configureFlagsArray+=("--mupenapi=$APIDIR" "--wxconfig=`type -P wx-config`")
installPhase = "python waf install"; '';
meta = { meta = {
description = "GUI for the Mupen64Plus 2.0 emulator"; description = "GUI for the Mupen64Plus 2.0 emulator";

View File

@ -1,5 +1,6 @@
{ stdenv, fetchFromGitHub, pkgconfig, python2Packages, makeWrapper { stdenv, fetchFromGitHub, pkgconfig, python2Packages, makeWrapper
, bash, libsamplerate, libsndfile, readline, eigen, celt , bash, libsamplerate, libsndfile, readline, eigen, celt
, wafHook
# Darwin Dependencies # Darwin Dependencies
, aften, AudioToolbox, CoreAudio, CoreFoundation , aften, AudioToolbox, CoreAudio, CoreFoundation
@ -35,13 +36,13 @@ stdenv.mkDerivation rec {
sha256 = "0ynpyn0l77m94b50g7ysl795nvam3ra65wx5zb46nxspgbf6wnkh"; sha256 = "0ynpyn0l77m94b50g7ysl795nvam3ra65wx5zb46nxspgbf6wnkh";
}; };
nativeBuildInputs = [ pkgconfig python makeWrapper ]; nativeBuildInputs = [ pkgconfig python makeWrapper wafHook ];
buildInputs = [ libsamplerate libsndfile readline eigen celt buildInputs = [ libsamplerate libsndfile readline eigen celt
optDbus optPythonDBus optLibffado optAlsaLib optLibopus optDbus optPythonDBus optLibffado optAlsaLib optLibopus
] ++ stdenv.lib.optionals stdenv.isDarwin [ aften AudioToolbox CoreAudio CoreFoundation ]; ] ++ optionals stdenv.isDarwin [ aften AudioToolbox CoreAudio CoreFoundation ];
# CoreFoundation 10.10 doesn't include CFNotificationCenter.h yet. # CoreFoundation 10.10 doesn't include CFNotificationCenter.h yet.
patches = stdenv.lib.optionals stdenv.isDarwin [ ./darwin-cf.patch ]; patches = optionals stdenv.isDarwin [ ./darwin-cf.patch ];
prePatch = '' prePatch = ''
substituteInPlace svnversion_regenerate.sh \ substituteInPlace svnversion_regenerate.sh \
@ -51,30 +52,18 @@ stdenv.mkDerivation rec {
# It looks like one of the frameworks depends on <CoreFoundation/CFAttributedString.h> # It looks like one of the frameworks depends on <CoreFoundation/CFAttributedString.h>
# since frameworks are impure we also have to use the impure CoreFoundation here. # since frameworks are impure we also have to use the impure CoreFoundation here.
# FIXME: remove when CoreFoundation is updated to 10.11 # FIXME: remove when CoreFoundation is updated to 10.11
preConfigure = stdenv.lib.optionalString stdenv.isDarwin '' preConfigure = optionalString stdenv.isDarwin ''
export NIX_CFLAGS_COMPILE="-F${CoreFoundation}/Library/Frameworks $NIX_CFLAGS_COMPILE" export NIX_CFLAGS_COMPILE="-F${CoreFoundation}/Library/Frameworks $NIX_CFLAGS_COMPILE"
''; '';
configurePhase = '' configureFlags = [
runHook preConfigure "--classic"
"--autostart=${if (optDbus != null) then "dbus" else "classic"}"
] ++ optional (optDbus != null) "--dbus"
++ optional (optLibffado != null) "--firewire"
++ optional (optAlsaLib != null) "--alsa";
python waf configure --prefix=$out \ postInstall = (if libOnly then ''
${optionalString (optDbus != null) "--dbus"} \
--classic \
${optionalString (optLibffado != null) "--firewire"} \
${optionalString (optAlsaLib != null) "--alsa"} \
--autostart=${if (optDbus != null) then "dbus" else "classic"} \
runHook postConfigure
'';
buildPhase = ''
python waf build
'';
installPhase = ''
python waf install
'' + (if libOnly then ''
rm -rf $out/{bin,share} rm -rf $out/{bin,share}
rm -rf $out/lib/{jack,libjacknet*,libjackserver*} rm -rf $out/lib/{jack,libjacknet*,libjackserver*}
'' else '' '' else ''

View File

@ -1,4 +1,4 @@
{ lib, stdenv, fetchurl, python, waf }: { lib, stdenv, fetchurl, python, wafHook }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "pflask-${version}"; name = "pflask-${version}";
@ -10,19 +10,9 @@ stdenv.mkDerivation rec {
sha256 = "2545fca37f9da484b46b6fb5e3a9bbba6526a9725189fe4af5227ef6e6fca440"; sha256 = "2545fca37f9da484b46b6fb5e3a9bbba6526a9725189fe4af5227ef6e6fca440";
}; };
nativeBuildInputs = [ wafHook ];
buildInputs = [ python ]; buildInputs = [ python ];
configurePhase = ''
ln -s ${waf} waf
python waf configure --prefix=$out
'';
buildPhase = ''
python waf build
'';
installPhase = ''
python waf install
'';
meta = { meta = {
description = "Lightweight process containers for Linux"; description = "Lightweight process containers for Linux";
homepage = "https://ghedo.github.io/pflask/"; homepage = "https://ghedo.github.io/pflask/";

View File

@ -1,4 +1,4 @@
{ stdenv, fetchFromGitHub, python, pkgconfig, imagemagick }: { stdenv, fetchFromGitHub, python, pkgconfig, imagemagick, wafHook }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "blockhash-${version}"; name = "blockhash-${version}";
@ -11,13 +11,9 @@ stdenv.mkDerivation rec {
sha256 = "0m7ikppl42iicgmwsb7baajmag7v0p1ab06xckifvrr0zm21bq9p"; sha256 = "0m7ikppl42iicgmwsb7baajmag7v0p1ab06xckifvrr0zm21bq9p";
}; };
nativeBuildInputs = [ python pkgconfig ]; nativeBuildInputs = [ python pkgconfig wafHook ];
buildInputs = [ imagemagick ]; buildInputs = [ imagemagick ];
configurePhase = "python waf configure --prefix=$out";
buildPhase = "python waf";
installPhase = "python waf install";
meta = with stdenv.lib; { meta = with stdenv.lib; {
homepage = "http://blockhash.io/"; homepage = "http://blockhash.io/";
description = '' description = ''

View File

@ -1,5 +1,5 @@
{ stdenv, fetchFromGitHub, pkgconfig, libjpeg, libpng, xorg, libX11, libGL, libdrm, { stdenv, fetchFromGitHub, pkgconfig, libjpeg, libpng, xorg, libX11, libGL, libdrm,
python27, wayland, udev, mesa_noglu }: python27, wayland, udev, mesa_noglu, wafHook }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "glmark2-${version}"; name = "glmark2-${version}";
@ -12,19 +12,12 @@ stdenv.mkDerivation rec {
sha256 = "076l75rfl6pnp1wgiwlaihy1vg2advg1z8bi0x84kk259kldgvwn"; sha256 = "076l75rfl6pnp1wgiwlaihy1vg2advg1z8bi0x84kk259kldgvwn";
}; };
nativeBuildInputs = [ pkgconfig ]; nativeBuildInputs = [ pkgconfig wafHook ];
buildInputs = [ buildInputs = [
libjpeg libpng xorg.libxcb libX11 libGL libdrm python27 wayland udev mesa_noglu libjpeg libpng xorg.libxcb libX11 libGL libdrm python27 wayland udev mesa_noglu
]; ];
buildPhase = '' configureFlags = ["--with-flavors=x11-gl,x11-glesv2,drm-gl,drm-glesv2,wayland-gl,wayland-glesv2"];
python ./waf configure --prefix=$out --with-flavors x11-gl,x11-glesv2,drm-gl,drm-glesv2,wayland-gl,wayland-glesv2
python2 ./waf
'';
installPhase = ''
python2 ./waf install --destdir="$pkgdir/"
'';
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "OpenGL (ES) 2.0 benchmark"; description = "OpenGL (ES) 2.0 benchmark";

View File

@ -1,4 +1,4 @@
{ stdenv, fetchgit, python, libev}: { stdenv, fetchgit, python, libev, wafHook }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "weighttp-${version}"; name = "weighttp-${version}";
version = "0.4"; version = "0.4";
@ -9,12 +9,8 @@ stdenv.mkDerivation rec {
sha256 = "14yjmdx9p8g8c3zlrx5qid8k156lsagfwhl3ny54162nxjf7kzgr"; sha256 = "14yjmdx9p8g8c3zlrx5qid8k156lsagfwhl3ny54162nxjf7kzgr";
}; };
nativeBuildInputs = [ wafHook ];
buildInputs = [ python libev ]; buildInputs = [ python libev ];
installPhase = ''
python waf configure --prefix=$out
python waf build
python waf install
'';
meta = { meta = {
platforms = stdenv.lib.platforms.unix; platforms = stdenv.lib.platforms.unix;