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
, wafHook
, python2Packages}:
let
@ -12,15 +13,10 @@ in stdenv.mkDerivation rec {
sha256 = "06dgf5655znbvrd7fhrv8msv6zw8vk0hjqglcqkh90960mnnmwz7";
};
nativeBuildInputs = [ pkgconfig ];
nativeBuildInputs = [ pkgconfig wafHook ];
buildInputs = [ makeWrapper alsaLib dbus libjack2 python dbus-python ];
configurePhase = "${python.interpreter} waf configure --prefix=$out";
buildPhase = "${python.interpreter} waf";
installPhase = ''
${python.interpreter} waf install
postInstall = ''
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 {
name = "ams-lv2-${version}";
@ -11,15 +12,9 @@ stdenv.mkDerivation rec {
sha256 = "1n1dnqnj24xhiy9323lj52nswr5120cj56fpckg802miss05sr6x";
};
nativeBuildInputs = [ pkgconfig ];
nativeBuildInputs = [ pkgconfig wafHook ];
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; {
description = "An LV2 port of the internal modules found in Alsa Modular Synth";
homepage = http://objectivewave.wordpress.com/ams-lv2;

View File

@ -4,7 +4,8 @@
, librdf_raptor, librdf_rasqal, libsamplerate, libsigcxx, libsndfile
, libusb, libuuid, libxml2, libxslt, lilv, lv2, makeWrapper
, perl, pkgconfig, python2, rubberband, serd, sord, sratom
, taglib, vampSDK, dbus, fftw, pango, suil, libarchive }:
, taglib, vampSDK, dbus, fftw, pango, suil, libarchive
, wafHook }:
let
@ -29,6 +30,7 @@ stdenv.mkDerivation rec {
sha256 = "0mla5lm51ryikc2rrk53max2m7a5ds6i1ai921l2h95wrha45nkr";
};
nativeBuildInputs = [ wafHook ];
buildInputs =
[ alsaLib aubio boost cairomm curl doxygen dbus fftw fftwSinglePrec flac
glibmm graphviz gtkmm2 libjack2 libgnomecanvas libgnomecanvasmm liblo
@ -47,13 +49,13 @@ stdenv.mkDerivation rec {
patchShebangs ./tools/
'';
configurePhase = "${python2.interpreter} waf configure --optimize --docs --with-backends=jack,alsa,dummy --prefix=$out";
buildPhase = "${python2.interpreter} waf";
installPhase = ''
${python2.interpreter} waf install
configureFlags = [
"--optimize"
"--docs"
"--with-backends=jack,alsa,dummy"
];
postInstall = ''
# Install desktop file
mkdir -p "$out/share/applications"
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 {
name = "fomp-${version}";
@ -9,15 +9,9 @@ stdenv.mkDerivation rec {
sha256 = "1hh2xhknanqn3iwp12ihl6bf8p7bqxryms9qk7mh21lixl42b8k5";
};
nativeBuildInputs = [ pkgconfig ];
nativeBuildInputs = [ pkgconfig wafHook ];
buildInputs = [ lv2 python2 ];
installPhase = ''
python waf configure --prefix=$out
python waf
python waf install
'';
meta = with stdenv.lib; {
homepage = http://drobilla.net/software/fomp/;
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
, glibmm, gsettings-desktop-schemas, gtkmm2, libjack2
, 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
}:
@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
sha256 = "1wfm8wrwrnqpb4ihy75n7l9i6vml536jlq9pdx2pblbc4ba3paac";
};
nativeBuildInputs = [ gettext intltool wrapGAppsHook pkgconfig python2 ];
nativeBuildInputs = [ gettext intltool wrapGAppsHook pkgconfig python2 wafHook ];
buildInputs = [
avahi bluez boost eigen fftw glib glibmm glib-networking.out
@ -38,12 +38,6 @@ stdenv.mkDerivation rec {
"--convolver-ffmpeg"
] ++ optional optimizationSupport "--optimization";
configurePhase = ''python2 waf configure --prefix=$out $configureFlags'';
buildPhase = ''python2 waf build'';
installPhase = ''python2 waf install'';
meta = with stdenv.lib; {
description = "A virtual guitar amplifier for Linux running with JACK";
longDescription = ''

View File

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

View File

@ -1,5 +1,5 @@
{ stdenv, fetchurl, gtk2, libjack2, lilv, lv2, pkgconfig, python
, serd, sord , sratom, suil }:
, serd, sord , sratom, suil, wafHook }:
stdenv.mkDerivation rec {
name = "jalv-${version}";
@ -10,17 +10,11 @@ stdenv.mkDerivation rec {
sha256 = "1x2wpzzx2cgvz3dgdcgsj8dr0w3zsasy62mvl199bsdj5fbjaili";
};
nativeBuildInputs = [ pkgconfig ];
nativeBuildInputs = [ pkgconfig wafHook ];
buildInputs = [
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; {
description = "A simple but fully featured LV2 host for Jack";
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 {
name = "mda-lv2-${version}";
@ -9,15 +9,9 @@ stdenv.mkDerivation rec {
sha256 = "0hh40c5d2m0k5gb3vw031l6lqn59dg804an3mkmhkc7qv4gc6xm4";
};
nativeBuildInputs = [ pkgconfig ];
nativeBuildInputs = [ pkgconfig wafHook ];
buildInputs = [ fftwSinglePrec lv2 python ];
configurePhase = "python waf configure --prefix=$out";
buildPhase = "python waf";
installPhase = "python waf install";
meta = with stdenv.lib; {
homepage = http://drobilla.net/software/mda-lv2/;
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
, libsndfile, ladspaH, liblrdf, liblo, libsigcxx
, libsndfile, ladspaH, liblrdf, liblo, libsigcxx, wafHook
}:
stdenv.mkDerivation rec {
@ -12,13 +12,10 @@ stdenv.mkDerivation rec {
sha256 = "1cljkkyi9dxqpqhx8y6l2ja4zjmlya26m26kqxml8gx08vyvddhx";
};
nativeBuildInputs = [ pkgconfig ];
nativeBuildInputs = [ pkgconfig wafHook ];
buildInputs = [ python2 cairo libjpeg ntk libjack2 libsndfile
ladspaH liblrdf liblo libsigcxx
];
configurePhase = "python waf configure --prefix=$out";
buildPhase = "python waf build";
installPhase = "python waf install";
meta = {
description = "Lightweight and lightning fast modular Digital Audio Workstation";

View File

@ -1,5 +1,5 @@
{ stdenv, alsaLib, boost, dbus-glib, fetchsvn, ganv, glibmm
, gtkmm2, libjack2, pkgconfig, python2
, gtkmm2, libjack2, pkgconfig, python2, wafHook
}:
stdenv.mkDerivation rec {
@ -13,13 +13,9 @@ stdenv.mkDerivation rec {
buildInputs = [
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 = {
description = "Modular patch bay for Jack and ALSA systems";
homepage = http://non.tuxfamily.org;

View File

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

View File

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

View File

@ -1,4 +1,4 @@
{stdenv, fetchFromGitHub, pkgconfig
{ stdenv, fetchFromGitHub, pkgconfig
, python
, intltool
, docbook2x, docbook_xml_dtd_412, libxslt
@ -9,6 +9,7 @@
, webkitgtk
, dbus-glib, enchant, isocodes, libuuid, icu
, wrapGAppsHook
, wafHook
}:
stdenv.mkDerivation rec {
@ -22,7 +23,7 @@ stdenv.mkDerivation rec {
sha256 = "1vwf1ps6nrajxl1qbs6v1cgykmq5wn4j09j10gbcd3b2nvrprf3g";
};
nativeBuildInputs = [ pkgconfig wrapGAppsHook ];
nativeBuildInputs = [ pkgconfig wrapGAppsHook wafHook ];
buildInputs = [ python intltool docbook2x docbook_xml_dtd_412 libxslt
sword clucene_core biblesync gnome-doc-utils libgsf gconf gtkhtml
libglade scrollkeeper webkitgtk dbus-glib enchant isocodes libuuid icu ];
@ -36,17 +37,7 @@ stdenv.mkDerivation rec {
export SWORD_HOME=${sword};
'';
configurePhase = ''
python waf configure --prefix=$out --enable-webkit2
'';
buildPhase = ''
python waf build
'';
installPhase = ''
python waf install
'';
configureFlags= [ "--enable-webkit2" ];
meta = with stdenv.lib; {
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 {
ver = "0.5";
@ -14,7 +15,7 @@ stdenv.mkDerivation rec {
pythonPath = [ dockbarx ];
nativeBuildInputs = [ pkgconfig ];
nativeBuildInputs = [ pkgconfig wafHook ];
buildInputs = [ python2 vala gtk2 pythonPackages.wrapPython ]
++ (with xfce; [ libxfce4util xfce4-panel xfconf xfce4-dev-tools ])
++ pythonPath;
@ -25,12 +26,6 @@ stdenv.mkDerivation rec {
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 = ''
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 {
ver = "0.3.1";
@ -12,7 +13,7 @@ stdenv.mkDerivation rec {
sha256 = "1sl4qmjywfvv53ch7hyfysjfd91zl38y7gdw2y3k69vkzd3h18ad";
};
nativeBuildInputs = [ pkgconfig ];
nativeBuildInputs = [ pkgconfig wafHook ];
buildInputs = [ python2 vala gtk2 libwnck libxfce4util xfce4-panel ];
postPatch = ''
@ -20,12 +21,6 @@ stdenv.mkDerivation rec {
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; {
homepage = https://github.com/TiZ-EX1/xfce4-namebar-plugin;
description = "A plugins which integrates titlebar and window controls into the xfce4-panel";

View File

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

View File

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

View File

@ -1,5 +1,5 @@
{ stdenv, fetchurl, alsaLib, fftw, libjack2, libsamplerate
, libsndfile, pkgconfig, python
, libsndfile, pkgconfig, python, wafHook
}:
stdenv.mkDerivation rec {
@ -10,15 +10,9 @@ stdenv.mkDerivation rec {
sha256 = "0hd0kzfmr46am00ygxar8alrldv92c5azqy701iilfmbqpz4mvfb";
};
nativeBuildInputs = [ pkgconfig python ];
nativeBuildInputs = [ pkgconfig python wafHook ];
buildInputs = [ alsaLib fftw libjack2 libsamplerate libsndfile ];
configurePhase = "python waf configure --prefix=$out";
buildPhase = "python waf";
installPhase = "python waf install";
meta = with stdenv.lib; {
description = "Library for audio labelling";
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 {
name = "lilv-${version}";
@ -9,15 +9,9 @@ stdenv.mkDerivation rec {
sha256 = "0f24cd7wkk5l969857g2ydz2kjjrkvvddg1g87xzzs78lsvq8fy3";
};
nativeBuildInputs = [ pkgconfig ];
nativeBuildInputs = [ pkgconfig wafHook ];
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; {
homepage = http://drobilla.net/software/lilv;
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 {
name = "lv2-${version}";
@ -9,15 +9,9 @@ stdenv.mkDerivation rec {
sha256 = "0chxwys3vnn3nxc9x2vchm74s9sx0vfra6y893byy12ci61jc1dq";
};
nativeBuildInputs = [ pkgconfig ];
nativeBuildInputs = [ pkgconfig wafHook ];
buildInputs = [ gtk2 libsndfile python ];
configurePhase = "${python.interpreter} waf configure --prefix=$out";
buildPhase = "${python.interpreter} waf";
installPhase = "${python.interpreter} waf install";
meta = with stdenv.lib; {
homepage = http://lv2plug.in;
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 {
name = "lv2-unstable-${version}";
@ -10,15 +10,9 @@ stdenv.mkDerivation rec {
sha256 = "1gp2rd99dfmpibvpixrqn115mrhybzf3if3h8bssf6siyi13f29r";
};
nativeBuildInputs = [ pkgconfig ];
nativeBuildInputs = [ pkgconfig wafHook ];
buildInputs = [ gtk2 libsndfile python ];
configurePhase = "${python.interpreter} waf configure --prefix=$out";
buildPhase = "${python.interpreter} waf";
installPhase = "${python.interpreter} waf install";
meta = with stdenv.lib; {
homepage = http://lv2plug.in;
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 {
name = "lvtk-${version}";
@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
sha256 = "03nbj2cqcklqwh50zj2gwm07crh5iwqbpxbpzwbg5hvgl4k4rnjd";
};
nativeBuildInputs = [ pkgconfig python ];
nativeBuildInputs = [ pkgconfig python wafHook ];
buildInputs = [ boost gtkmm2 lv2 ];
enableParallelBuilding = true;
@ -19,15 +19,10 @@ stdenv.mkDerivation rec {
sed -i '/target[ ]*= "ttl2c"/ ilib=["boost_system"],' tools/wscript_build
'';
configurePhase = ''
python waf configure --prefix=$out \
--boost-includes="${boost.dev}/include" \
--boost-libs="${boost.out}/lib"
'';
buildPhase = "python waf";
installPhase = "python waf install";
configureFlags = [
"--boost-includes=${boost.dev}/include"
"--boost-libs=${boost.out}/lib"
];
meta = with stdenv.lib; {
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 {
name = "ntk-${version}";
@ -10,20 +10,11 @@ stdenv.mkDerivation rec {
sha256 = "0j38mhnfqy6swcrnc5zxcwlqi8b1pgklyghxk6qs1lf4japv2zc0";
};
nativeBuildInputs = [ pkgconfig ];
nativeBuildInputs = [ pkgconfig wafHook ];
buildInputs = [
cairo libjpeg libXft python2
];
buildPhase = ''
python waf configure --prefix=$out
python waf
'';
installPhase = ''
python waf install
'';
meta = {
description = "Fork of FLTK 1.3.0 with additional functionality";
version = "${version}";

View File

@ -1,4 +1,4 @@
{ stdenv, fetchgit, boost, gtk2, pkgconfig, python }:
{ stdenv, fetchgit, boost, gtk2, pkgconfig, python, wafHook }:
stdenv.mkDerivation rec {
name = "raul-unstable-${rev}";
@ -10,15 +10,9 @@ stdenv.mkDerivation rec {
sha256 = "04fajrass3ymr72flx5js5vxc601ccrmx8ny8scp0rw7j0igyjdr";
};
nativeBuildInputs = [ pkgconfig ];
nativeBuildInputs = [ pkgconfig wafHook ];
buildInputs = [ boost gtk2 python ];
configurePhase = "${python.interpreter} waf configure --prefix=$out";
buildPhase = "${python.interpreter} waf";
installPhase = "${python.interpreter} waf install";
meta = with stdenv.lib; {
description = "A C++ utility library primarily aimed at audio/musical applications";
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 {
name = "sratom-${version}";
@ -9,15 +9,9 @@ stdenv.mkDerivation rec {
sha256 = "0lz883ravxjf7r9wwbx2gx9m8vhyiavxrl9jdxfppjxnsralll8a";
};
nativeBuildInputs = [ pkgconfig ];
nativeBuildInputs = [ pkgconfig wafHook ];
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; {
homepage = http://drobilla.net/software/sratom;
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
, wafHook
, withQt4 ? true, qt4 ? null
, withQt5 ? false, qt5 ? null }:
@ -16,17 +17,11 @@ stdenv.mkDerivation rec {
sha256 = "0j489gm3fhnmwmbgw30bvd4byw1vsy4yazdlnji8jzhcz0qwb5cq";
};
nativeBuildInputs = [ pkgconfig ];
nativeBuildInputs = [ pkgconfig wafHook ];
buildInputs = [ gtk2 lv2 python serd sord sratom ]
++ (lib.optionals withQt4 [ qt4 ])
++ (lib.optionals withQt5 (with qt5; [ qtbase qttools ]));
configurePhase = "python waf configure --prefix=$out";
buildPhase = "python waf";
installPhase = "python waf install";
meta = with stdenv.lib; {
homepage = http://drobilla.net/software/suil;
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 {
name = "ganv-unstable-${rev}";
@ -10,15 +10,9 @@ stdenv.mkDerivation rec {
sha256 = "0xmbykdl42jn9cgzrqrys5lng67d26nk5xq10wkkvjqldiwdck56";
};
nativeBuildInputs = [ pkgconfig ];
nativeBuildInputs = [ pkgconfig wafHook ];
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; {
description = "An interactive Gtk canvas widget for graph-based interfaces";
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
version = "0.6.3";
in
@ -10,22 +11,13 @@ stdenv.mkDerivation {
rev = "a3bf4319ed483a4a6fe2c96b79ec4491d7217f00";
sha256 = "076jhrjigisqz5n8dgxwd5fhimg69zhm834m7w9yvf9afgzrr50h";
};
nativeBuildInputs = [ pkgconfig ];
nativeBuildInputs = [ pkgconfig wafHook ];
buildInputs = [ openssl doxygen boost sqlite python pythonPackages.sphinx];
preConfigure = ''
patchShebangs waf
./waf configure \
--prefix=$out \
--with-openssl=${openssl.dev} \
--boost-includes=${boost.dev}/include \
--boost-libs=${boost.out}/lib
'';
buildPhase = ''
./waf
'';
installPhase = ''
./waf install
'';
configureFlags = [
"--with-openssl=${openssl.dev}"
"--boost-includes=${boost.dev}/include"
"--boost-libs=${boost.out}/lib"
];
meta = with stdenv.lib; {
homepage = http://named-data.net/;
description = "A Named Data Neworking (NDN) or Content Centric Networking (CCN) abstraction";

View File

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

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, pkgconfig, python }:
{ stdenv, fetchurl, pkgconfig, python, wafHook }:
stdenv.mkDerivation rec {
name = "serd-${version}";
@ -9,13 +9,7 @@ stdenv.mkDerivation rec {
sha256 = "1yyfyvc6kwagi5w43ljp1bbjdvdpmgpds74lmjxycm91bkx0xyvf";
};
nativeBuildInputs = [ pkgconfig python ];
configurePhase = "python waf configure --prefix=$out";
buildPhase = "python waf";
installPhase = "python waf install";
nativeBuildInputs = [ pkgconfig python wafHook ];
meta = with stdenv.lib; {
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 {
name = "sord-${version}";
@ -9,15 +9,9 @@ stdenv.mkDerivation rec {
sha256 = "13fshxwpipjrvsah1m2jw1kf022z2q5vpw24bzcznglgvms13x89";
};
nativeBuildInputs = [ pkgconfig ];
nativeBuildInputs = [ pkgconfig wafHook ];
buildInputs = [ python serd pcre ];
configurePhase = "${python.interpreter} waf configure --prefix=$out";
buildPhase = "${python.interpreter} waf";
installPhase = "${python.interpreter} waf install";
meta = with stdenv.lib; {
homepage = http://drobilla.net/software/sord;
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 {
name = "termbox-${version}";
@ -9,10 +9,7 @@ stdenv.mkDerivation rec {
rev = "v${version}";
sha256 = "08yqxzb8fny8806p7x8a6f3phhlbfqdd7dhkv25calswj7w1ssvs";
};
nativeBuildInputs = [ python3 ];
configurePhase = "python3 ./waf configure --prefix=$out";
buildPhase = "python3 ./waf build";
installPhase = "python3 ./waf install --destdir=$out";
nativeBuildInputs = [ python3 wafHook ];
meta = with stdenv.lib; {
description = "Library for writing text-based user interfaces";
license = licenses.mit;
@ -21,4 +18,3 @@ stdenv.mkDerivation rec {
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 {
name = "wxmupen64plus-0.3";
@ -7,18 +8,17 @@ stdenv.mkDerivation {
sha256 = "1mnxi4k011dd300k35li2p6x4wccwi6im21qz8dkznnz397ps67c";
};
nativeBuildInputs = [ wafHook ];
buildInputs = [ python wxGTK29 SDL libX11 libGLU_combined ];
configurePhase = ''
preConfigure = ''
tar xf ${mupen64plus.src}
APIDIR=$(eval echo `pwd`/mupen64plus*/source/mupen64plus-core/src/api)
export CXXFLAGS="-I${libX11.dev}/include/X11 -DLIBDIR=\\\"${mupen64plus}/lib/\\\""
export LDFLAGS="-lwx_gtk2u_adv-2.9"
python waf configure --mupenapi=$APIDIR --wxconfig=`type -P wx-config` --prefix=$out
'';
buildPhase = "python waf";
installPhase = "python waf install";
configureFlagsArray+=("--mupenapi=$APIDIR" "--wxconfig=`type -P wx-config`")
'';
meta = {
description = "GUI for the Mupen64Plus 2.0 emulator";

View File

@ -1,5 +1,6 @@
{ stdenv, fetchFromGitHub, pkgconfig, python2Packages, makeWrapper
, bash, libsamplerate, libsndfile, readline, eigen, celt
, wafHook
# Darwin Dependencies
, aften, AudioToolbox, CoreAudio, CoreFoundation
@ -35,13 +36,13 @@ stdenv.mkDerivation rec {
sha256 = "0ynpyn0l77m94b50g7ysl795nvam3ra65wx5zb46nxspgbf6wnkh";
};
nativeBuildInputs = [ pkgconfig python makeWrapper ];
nativeBuildInputs = [ pkgconfig python makeWrapper wafHook ];
buildInputs = [ libsamplerate libsndfile readline eigen celt
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.
patches = stdenv.lib.optionals stdenv.isDarwin [ ./darwin-cf.patch ];
patches = optionals stdenv.isDarwin [ ./darwin-cf.patch ];
prePatch = ''
substituteInPlace svnversion_regenerate.sh \
@ -51,30 +52,18 @@ stdenv.mkDerivation rec {
# 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.
# 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"
'';
configurePhase = ''
runHook preConfigure
configureFlags = [
"--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 \
${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 ''
postInstall = (if libOnly then ''
rm -rf $out/{bin,share}
rm -rf $out/lib/{jack,libjacknet*,libjackserver*}
'' else ''

View File

@ -1,4 +1,4 @@
{ lib, stdenv, fetchurl, python, waf }:
{ lib, stdenv, fetchurl, python, wafHook }:
stdenv.mkDerivation rec {
name = "pflask-${version}";
@ -10,19 +10,9 @@ stdenv.mkDerivation rec {
sha256 = "2545fca37f9da484b46b6fb5e3a9bbba6526a9725189fe4af5227ef6e6fca440";
};
nativeBuildInputs = [ wafHook ];
buildInputs = [ python ];
configurePhase = ''
ln -s ${waf} waf
python waf configure --prefix=$out
'';
buildPhase = ''
python waf build
'';
installPhase = ''
python waf install
'';
meta = {
description = "Lightweight process containers for Linux";
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 {
name = "blockhash-${version}";
@ -11,13 +11,9 @@ stdenv.mkDerivation rec {
sha256 = "0m7ikppl42iicgmwsb7baajmag7v0p1ab06xckifvrr0zm21bq9p";
};
nativeBuildInputs = [ python pkgconfig ];
nativeBuildInputs = [ python pkgconfig wafHook ];
buildInputs = [ imagemagick ];
configurePhase = "python waf configure --prefix=$out";
buildPhase = "python waf";
installPhase = "python waf install";
meta = with stdenv.lib; {
homepage = "http://blockhash.io/";
description = ''

View File

@ -1,5 +1,5 @@
{ stdenv, fetchFromGitHub, pkgconfig, libjpeg, libpng, xorg, libX11, libGL, libdrm,
python27, wayland, udev, mesa_noglu }:
python27, wayland, udev, mesa_noglu, wafHook }:
stdenv.mkDerivation rec {
name = "glmark2-${version}";
@ -12,19 +12,12 @@ stdenv.mkDerivation rec {
sha256 = "076l75rfl6pnp1wgiwlaihy1vg2advg1z8bi0x84kk259kldgvwn";
};
nativeBuildInputs = [ pkgconfig ];
nativeBuildInputs = [ pkgconfig wafHook ];
buildInputs = [
libjpeg libpng xorg.libxcb libX11 libGL libdrm python27 wayland udev mesa_noglu
];
buildPhase = ''
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/"
'';
configureFlags = ["--with-flavors=x11-gl,x11-glesv2,drm-gl,drm-glesv2,wayland-gl,wayland-glesv2"];
meta = with stdenv.lib; {
description = "OpenGL (ES) 2.0 benchmark";

View File

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