summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorJohn Ericson <John.Ericson@Obsidian.Systems>2017-09-14 15:24:37 -0400
committerJohn Ericson <John.Ericson@Obsidian.Systems>2017-09-21 15:49:54 -0400
commited14223f8c30c014190e87914126578babd94c3e (patch)
treea0cf6d519d4d4d8507b204076ae5b0dad40f0d18 /pkgs
parent7a733ceda45d9e7842685523cfebeee07aaa3f97 (diff)
downloadnixlib-ed14223f8c30c014190e87914126578babd94c3e.tar
nixlib-ed14223f8c30c014190e87914126578babd94c3e.tar.gz
nixlib-ed14223f8c30c014190e87914126578babd94c3e.tar.bz2
nixlib-ed14223f8c30c014190e87914126578babd94c3e.tar.lz
nixlib-ed14223f8c30c014190e87914126578babd94c3e.tar.xz
nixlib-ed14223f8c30c014190e87914126578babd94c3e.tar.zst
nixlib-ed14223f8c30c014190e87914126578babd94c3e.zip
treewide: Manual fix more pkg-config build-inputs
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/applications/audio/ario/default.nix3
-rw-r--r--pkgs/applications/audio/audacity/default.nix3
-rw-r--r--pkgs/applications/audio/bristol/default.nix3
-rw-r--r--pkgs/applications/audio/distrho/default.nix3
-rw-r--r--pkgs/applications/audio/gmpc/default.nix6
-rw-r--r--pkgs/applications/audio/hydrogen/default.nix3
-rw-r--r--pkgs/applications/audio/ingen/default.nix3
-rw-r--r--pkgs/applications/audio/jackmix/default.nix2
-rw-r--r--pkgs/applications/audio/jalv/default.nix3
-rw-r--r--pkgs/applications/audio/jamin/default.nix3
-rw-r--r--pkgs/applications/audio/pianobar/default.nix3
-rw-r--r--pkgs/applications/audio/rhythmbox/default.nix3
-rw-r--r--pkgs/applications/audio/rosegarden/default.nix3
-rw-r--r--pkgs/applications/audio/setbfree/default.nix3
-rw-r--r--pkgs/applications/audio/sonata/default.nix3
-rw-r--r--pkgs/applications/audio/tomahawk/default.nix3
-rw-r--r--pkgs/applications/editors/monodevelop/default.nix4
-rw-r--r--pkgs/applications/editors/textadept/default.nix3
-rw-r--r--pkgs/applications/editors/vim/macvim.nix3
-rw-r--r--pkgs/applications/graphics/ao/default.nix6
-rw-r--r--pkgs/applications/graphics/geeqie/default.nix3
-rw-r--r--pkgs/applications/graphics/inkscape/default.nix3
-rw-r--r--pkgs/applications/graphics/mtpaint/default.nix2
-rw-r--r--pkgs/applications/graphics/rawtherapee/default.nix6
-rw-r--r--pkgs/applications/graphics/solvespace/default.nix3
-rw-r--r--pkgs/applications/misc/apvlv/default.nix11
-rw-r--r--pkgs/applications/misc/bitcoinarmory/default.nix2
-rw-r--r--pkgs/applications/misc/cgminer/default.nix3
-rw-r--r--pkgs/applications/misc/fbreader/default.nix3
-rw-r--r--pkgs/applications/misc/gnuradio-ais/default.nix3
-rw-r--r--pkgs/applications/misc/gnuradio-gsm/default.nix3
-rw-r--r--pkgs/applications/misc/gnuradio-nacl/default.nix3
-rw-r--r--pkgs/applications/misc/gnuradio-osmosdr/default.nix3
-rw-r--r--pkgs/applications/misc/gnuradio-rds/default.nix3
-rw-r--r--pkgs/applications/misc/gnuradio/default.nix3
-rw-r--r--pkgs/applications/misc/goldendict/default.nix5
-rw-r--r--pkgs/applications/misc/gphoto2/gphotofs.nix3
-rw-r--r--pkgs/applications/misc/gxneur/default.nix3
-rw-r--r--pkgs/applications/misc/hackrf/default.nix3
-rw-r--r--pkgs/applications/misc/inspectrum/default.nix2
-rw-r--r--pkgs/applications/misc/kiwix/default.nix3
-rw-r--r--pkgs/applications/misc/lenmus/default.nix2
-rw-r--r--pkgs/applications/misc/libosmocore/default.nix3
-rw-r--r--pkgs/applications/misc/lighthouse/default.nix3
-rw-r--r--pkgs/applications/misc/lyx/default.nix3
-rw-r--r--pkgs/applications/misc/milu/default.nix2
-rw-r--r--pkgs/applications/misc/notify-osd/default.nix3
-rw-r--r--pkgs/applications/misc/pdfmod/default.nix3
-rw-r--r--pkgs/applications/misc/qpdfview/default.nix5
-rw-r--r--pkgs/applications/misc/quicksynergy/default.nix3
-rw-r--r--pkgs/applications/misc/redis-desktop-manager/default.nix5
-rw-r--r--pkgs/applications/misc/spacefm/default.nix3
-rw-r--r--pkgs/applications/misc/synapse/default.nix3
-rw-r--r--pkgs/applications/misc/zathura/core/default.nix3
-rw-r--r--pkgs/applications/networking/instant-messengers/freetalk/default.nix3
-rw-r--r--pkgs/applications/networking/instant-messengers/profanity/default.nix3
-rw-r--r--pkgs/applications/networking/mailreaders/lumail/default.nix3
-rw-r--r--pkgs/applications/networking/mailreaders/notmuch/default.nix3
-rw-r--r--pkgs/applications/networking/p2p/transgui/default.nix3
-rw-r--r--pkgs/applications/networking/p2p/twister/default.nix3
-rw-r--r--pkgs/applications/networking/sniffers/etherape/default.nix4
-rw-r--r--pkgs/applications/networking/sniffers/wireshark/default.nix4
-rw-r--r--pkgs/applications/office/gnucash/default.nix3
-rw-r--r--pkgs/applications/office/gnumeric/default.nix4
-rw-r--r--pkgs/applications/science/robotics/gazebo/default.nix10
-rw-r--r--pkgs/applications/version-management/bitkeeper/default.nix3
-rw-r--r--pkgs/applications/version-management/git-and-tools/cgit/default.nix3
-rw-r--r--pkgs/applications/version-management/gource/default.nix3
-rw-r--r--pkgs/applications/version-management/monotone-viz/graphviz-2.0.nix3
-rw-r--r--pkgs/applications/version-management/redmine/bootstrap.nix4
-rw-r--r--pkgs/applications/video/natron/default.nix16
-rw-r--r--pkgs/applications/video/simplescreenrecorder/default.nix5
-rw-r--r--pkgs/applications/video/xvidcap/default.nix4
-rw-r--r--pkgs/applications/virtualization/docker/default.nix3
-rw-r--r--pkgs/applications/virtualization/xen/generic.nix3
-rw-r--r--pkgs/applications/window-managers/fvwm/default.nix3
-rw-r--r--pkgs/applications/window-managers/openbox/default.nix3
-rw-r--r--pkgs/build-support/build-dotnet-package/default.nix2
-rw-r--r--pkgs/desktops/gnome-2/desktop/gtksourceview/default.nix3
-rw-r--r--pkgs/desktops/gnome-3/3.24/apps/accerciser/default.nix3
-rw-r--r--pkgs/desktops/gnome-3/3.24/apps/gnome-calendar/default.nix3
-rw-r--r--pkgs/desktops/gnome-3/3.24/apps/gnome-characters/default.nix3
-rw-r--r--pkgs/desktops/gnome-3/3.24/apps/gnome-logs/default.nix3
-rw-r--r--pkgs/desktops/gnome-3/3.24/apps/gnome-nettool/default.nix3
-rw-r--r--pkgs/desktops/gnome-3/3.24/apps/gnome-weather/default.nix3
-rw-r--r--pkgs/desktops/gnome-3/3.24/core/gcr/default.nix3
-rw-r--r--pkgs/desktops/gnome-3/3.24/devtools/devhelp/default.nix3
-rw-r--r--pkgs/desktops/gnome-3/3.24/games/five-or-more/default.nix3
-rw-r--r--pkgs/desktops/gnome-3/3.24/games/four-in-a-row/default.nix3
-rw-r--r--pkgs/desktops/gnome-3/3.24/games/gnome-chess/default.nix3
-rw-r--r--pkgs/desktops/gnome-3/3.24/games/gnome-klotski/default.nix3
-rw-r--r--pkgs/desktops/gnome-3/3.24/games/gnome-mahjongg/default.nix3
-rw-r--r--pkgs/desktops/gnome-3/3.24/games/gnome-mines/default.nix3
-rw-r--r--pkgs/desktops/gnome-3/3.24/games/gnome-nibbles/default.nix3
-rw-r--r--pkgs/desktops/gnome-3/3.24/games/gnome-robots/default.nix3
-rw-r--r--pkgs/desktops/gnome-3/3.24/games/gnome-taquin/default.nix3
-rw-r--r--pkgs/desktops/gnome-3/3.24/games/gnome-tetravex/default.nix3
-rw-r--r--pkgs/desktops/gnome-3/3.24/games/hitori/default.nix3
-rw-r--r--pkgs/desktops/gnome-3/3.24/misc/pomodoro/default.nix3
-rw-r--r--pkgs/desktops/xfce/core/thunar-build.nix3
-rw-r--r--pkgs/desktops/xfce/core/tumbler.nix3
-rw-r--r--pkgs/desktops/xfce/thunar-plugins/archive/default.nix2
-rw-r--r--pkgs/desktops/xfce/thunar-plugins/dropbox/default.nix2
-rw-r--r--pkgs/development/compilers/boo/default.nix3
-rw-r--r--pkgs/development/compilers/fsharp41/default.nix2
-rw-r--r--pkgs/development/compilers/gnu-smalltalk/default.nix3
-rw-r--r--pkgs/development/interpreters/love/0.10.nix3
-rw-r--r--pkgs/development/interpreters/love/0.7.nix3
-rw-r--r--pkgs/development/interpreters/love/0.8.nix3
-rw-r--r--pkgs/development/interpreters/love/0.9.nix3
-rw-r--r--pkgs/development/interpreters/renpy/default.nix3
-rw-r--r--pkgs/development/libraries/at-spi2-core/default.nix3
-rw-r--r--pkgs/development/libraries/audio/ntk/default.nix3
-rw-r--r--pkgs/development/libraries/box2d/default.nix3
-rw-r--r--pkgs/development/libraries/ffmpeg-sixel/default.nix2
-rw-r--r--pkgs/development/libraries/goffice/0.8.nix3
-rw-r--r--pkgs/development/libraries/gtdialog/default.nix5
-rw-r--r--pkgs/development/libraries/gtk-sharp/2.0.nix3
-rw-r--r--pkgs/development/libraries/gtk-sharp/3.0.nix3
-rw-r--r--pkgs/development/libraries/gtkspellmm/default.nix2
-rw-r--r--pkgs/development/libraries/gusb/default.nix3
-rw-r--r--pkgs/development/libraries/hivex/default.nix3
-rw-r--r--pkgs/development/libraries/hyena/default.nix3
-rw-r--r--pkgs/development/libraries/keybinder/default.nix3
-rw-r--r--pkgs/development/libraries/keybinder3/default.nix3
-rw-r--r--pkgs/development/libraries/ldb/default.nix3
-rw-r--r--pkgs/development/libraries/libcanberra/default.nix3
-rw-r--r--pkgs/development/libraries/libe-book/default.nix6
-rw-r--r--pkgs/development/libraries/libguestfs/default.nix3
-rw-r--r--pkgs/development/libraries/libmwaw/default.nix6
-rw-r--r--pkgs/development/libraries/libmx/default.nix3
-rw-r--r--pkgs/development/libraries/libodfgen/default.nix5
-rw-r--r--pkgs/development/libraries/libosinfo/default.nix3
-rw-r--r--pkgs/development/libraries/librevenge/default.nix5
-rw-r--r--pkgs/development/libraries/libvirt-glib/default.nix3
-rw-r--r--pkgs/development/libraries/mailcore2/default.nix3
-rw-r--r--pkgs/development/libraries/ntdb/default.nix3
-rw-r--r--pkgs/development/libraries/pangoxsl/default.nix2
-rw-r--r--pkgs/development/libraries/qt-5/5.6/qtmultimedia.nix3
-rw-r--r--pkgs/development/libraries/talloc/default.nix3
-rw-r--r--pkgs/development/libraries/tdb/default.nix3
-rw-r--r--pkgs/development/libraries/tevent/default.nix3
-rw-r--r--pkgs/development/libraries/thrift/default.nix3
-rw-r--r--pkgs/development/libraries/vapoursynth-mvtools/default.nix3
-rw-r--r--pkgs/development/libraries/vapoursynth/default.nix3
-rw-r--r--pkgs/development/python-modules/pycangjie/default.nix3
-rw-r--r--pkgs/development/tools/analysis/rr/default.nix3
-rw-r--r--pkgs/development/tools/glslviewer/default.nix3
-rw-r--r--pkgs/development/tools/godot/default.nix3
-rw-r--r--pkgs/games/ezquake/default.nix3
-rw-r--r--pkgs/games/hedgewars/default.nix3
-rw-r--r--pkgs/games/robotfindskitten/default.nix4
-rw-r--r--pkgs/games/spring/springlobby.nix3
-rw-r--r--pkgs/games/super-tux-kart/default.nix3
-rw-r--r--pkgs/misc/drivers/epkowa/default.nix2
-rw-r--r--pkgs/misc/emulators/fceux/default.nix3
-rw-r--r--pkgs/misc/screensavers/alock/default.nix3
-rw-r--r--pkgs/os-specific/linux/btfs/default.nix3
-rw-r--r--pkgs/os-specific/linux/directvnc/default.nix3
-rw-r--r--pkgs/os-specific/linux/eudev/default.nix6
-rw-r--r--pkgs/os-specific/linux/xsensors/default.nix3
-rw-r--r--pkgs/servers/dns/pdns-recursor/default.nix3
-rw-r--r--pkgs/servers/ldap/389/default.nix3
-rw-r--r--pkgs/servers/search/sphinxsearch/default.nix2
-rw-r--r--pkgs/servers/sip/freeswitch/default.nix3
-rw-r--r--pkgs/tools/X11/ksuperkey/default.nix3
-rw-r--r--pkgs/tools/X11/obconf/default.nix3
-rw-r--r--pkgs/tools/X11/xpra/default.nix3
-rw-r--r--pkgs/tools/X11/xpra/gtk3.nix3
-rw-r--r--pkgs/tools/X11/xwinmosaic/default.nix14
-rw-r--r--pkgs/tools/admin/gtk-vnc/default.nix6
-rw-r--r--pkgs/tools/audio/gvolicon/default.nix3
-rw-r--r--pkgs/tools/audio/pa-applet/default.nix3
-rw-r--r--pkgs/tools/audio/playerctl/default.nix3
-rw-r--r--pkgs/tools/compression/pixz/default.nix3
-rw-r--r--pkgs/tools/filesystems/btrfs-progs/4.4.1.nix3
-rw-r--r--pkgs/tools/filesystems/btrfs-progs/default.nix3
-rw-r--r--pkgs/tools/graphics/dmtx-utils/default.nix3
-rw-r--r--pkgs/tools/graphics/glmark2/default.nix3
-rw-r--r--pkgs/tools/graphics/gromit-mpx/default.nix3
-rw-r--r--pkgs/tools/graphics/quirc/default.nix3
-rw-r--r--pkgs/tools/inputmethods/ibus/ibus-qt.nix3
-rw-r--r--pkgs/tools/misc/dbus-map/default.nix3
-rw-r--r--pkgs/tools/misc/fontforge/default.nix3
-rw-r--r--pkgs/tools/misc/goaccess/default.nix2
-rw-r--r--pkgs/tools/misc/mdbtools/git.nix3
-rw-r--r--pkgs/tools/misc/rpm-ostree/default.nix3
-rw-r--r--pkgs/tools/networking/badvpn/default.nix4
-rw-r--r--pkgs/tools/networking/driftnet/default.nix3
-rw-r--r--pkgs/tools/networking/p2p/rtorrent/default.nix3
-rw-r--r--pkgs/tools/package-management/apt/default.nix4
-rw-r--r--pkgs/tools/security/gnupg/22.nix3
-rw-r--r--pkgs/tools/security/opensc/default.nix3
-rw-r--r--pkgs/tools/security/stoken/default.nix4
-rw-r--r--pkgs/tools/system/collectd/default.nix3
-rw-r--r--pkgs/tools/typesetting/tex/texlive/bin.nix2
-rw-r--r--pkgs/tools/typesetting/xmlroff/default.nix2
-rw-r--r--pkgs/top-level/python-packages.nix5
198 files changed, 421 insertions, 241 deletions
diff --git a/pkgs/applications/audio/ario/default.nix b/pkgs/applications/audio/ario/default.nix
index 29d0241fa02f..afb3c8342731 100644
--- a/pkgs/applications/audio/ario/default.nix
+++ b/pkgs/applications/audio/ario/default.nix
@@ -14,8 +14,9 @@ stdenv.mkDerivation rec {
 
   patches = [ ./glib-single-include.patch ];
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    pkgconfig gettext gtk2 expat intltool libgcrypt libunique gnutls
+    gettext gtk2 expat intltool libgcrypt libunique gnutls
     libxml2 curl mpd_clientlib dbus_glib libnotify libsoup avahi taglib
   ];
 
diff --git a/pkgs/applications/audio/audacity/default.nix b/pkgs/applications/audio/audacity/default.nix
index 3fb9faa26671..07385e2a8b85 100644
--- a/pkgs/applications/audio/audacity/default.nix
+++ b/pkgs/applications/audio/audacity/default.nix
@@ -51,8 +51,9 @@ stdenv.mkDerivation rec {
     "-lswscale"
   ];
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    pkgconfig file gettext wxGTK30 expat alsaLib
+    file gettext wxGTK30 expat alsaLib
     libsndfile soxr libid3tag libjack2 lv2 lilv serd sord sratom suil gtk2
     ffmpeg libmad lame libvorbis flac soundtouch
     autoconf automake libtool # for the preConfigure phase
diff --git a/pkgs/applications/audio/bristol/default.nix b/pkgs/applications/audio/bristol/default.nix
index 28155fd23178..42e99fa51863 100644
--- a/pkgs/applications/audio/bristol/default.nix
+++ b/pkgs/applications/audio/bristol/default.nix
@@ -9,8 +9,9 @@ stdenv.mkDerivation  rec {
     sha256 = "1fi2m4gmvxdi260821y09lxsimq82yv4k5bbgk3kyc3x1nyhn7vx";
   };
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    alsaLib libjack2 pkgconfig libpulseaudio xorg.libX11 xorg.libXext
+    alsaLib libjack2 libpulseaudio xorg.libX11 xorg.libXext
     xorg.xproto
   ];
 
diff --git a/pkgs/applications/audio/distrho/default.nix b/pkgs/applications/audio/distrho/default.nix
index 9d157833c0d9..a80cc36b2164 100644
--- a/pkgs/applications/audio/distrho/default.nix
+++ b/pkgs/applications/audio/distrho/default.nix
@@ -14,8 +14,9 @@ stdenv.mkDerivation rec {
     sed -e "s#@./scripts#sh scripts#" -i Makefile
   '';
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    alsaLib fftwSinglePrec freetype libjack2 pkgconfig premake3
+    alsaLib fftwSinglePrec freetype libjack2 premake3
     xorg.libX11 xorg.libXcomposite xorg.libXcursor xorg.libXext
     xorg.libXinerama xorg.libXrender ladspa-sdk
   ];
diff --git a/pkgs/applications/audio/gmpc/default.nix b/pkgs/applications/audio/gmpc/default.nix
index b1689318d810..50b1bcde58f3 100644
--- a/pkgs/applications/audio/gmpc/default.nix
+++ b/pkgs/applications/audio/gmpc/default.nix
@@ -14,7 +14,8 @@ stdenv.mkDerivation rec {
       sha256 = "10vspwsgr8pwf3qp2bviw6b2l8prgdiswgv7qiqiyr0h1mmk487y";
     };
     patches = [ ./libmpd-11.8.17-remove-strndup.patch ];
-  nativeBuildInputs = [ pkgconfig ];
+
+    nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ glib ];
   };
 
@@ -23,8 +24,9 @@ stdenv.mkDerivation rec {
     sha256 = "0b3bnxf98i5lhjyljvgxgx9xmb6p46cn3a9cccrng14nagri9556";
   };
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    libtool intltool pkgconfig glib gtk2 curl mpd_clientlib libsoup
+    libtool intltool glib gtk2 curl mpd_clientlib libsoup
     libunique libmpd gob2 vala_0_23 libSM libICE sqlite hicolor_icon_theme
     wrapGAppsHook
   ];
diff --git a/pkgs/applications/audio/hydrogen/default.nix b/pkgs/applications/audio/hydrogen/default.nix
index 686a6b67e6aa..d68bfbf2ae4e 100644
--- a/pkgs/applications/audio/hydrogen/default.nix
+++ b/pkgs/applications/audio/hydrogen/default.nix
@@ -10,8 +10,9 @@ stdenv.mkDerivation rec {
     sha256 = "1dy2jfkdw0nchars4xi4isrz66fqn53a9qk13bqza7lhmsg3s3qy";
   };
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    alsaLib boost cmake glib lash libjack2 libarchive liblrdf libsndfile pkgconfig qt4
+    alsaLib boost cmake glib lash libjack2 libarchive liblrdf libsndfile qt4
   ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/audio/ingen/default.nix b/pkgs/applications/audio/ingen/default.nix
index 0b0df0b55e4f..ca806aad02fe 100644
--- a/pkgs/applications/audio/ingen/default.nix
+++ b/pkgs/applications/audio/ingen/default.nix
@@ -13,8 +13,9 @@ stdenv.mkDerivation  rec {
     sha256 = "15s8nrzn68hc2s6iw0zshbz3lfnsq0mr6gflq05xm911b7xbp74k";
   };
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    boost ganv glibmm gtkmm2 libjack2 lilv lv2 makeWrapper pkgconfig
+    boost ganv glibmm gtkmm2 libjack2 lilv lv2 makeWrapper
     python raul serd sord sratom suil
   ];
 
diff --git a/pkgs/applications/audio/jackmix/default.nix b/pkgs/applications/audio/jackmix/default.nix
index f0cd3bd04279..aa78527d787e 100644
--- a/pkgs/applications/audio/jackmix/default.nix
+++ b/pkgs/applications/audio/jackmix/default.nix
@@ -9,8 +9,8 @@ stdenv.mkDerivation rec {
 
   patches = [ ./no_error.patch ];
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    pkgconfig
     scons
     qt4
     lash
diff --git a/pkgs/applications/audio/jalv/default.nix b/pkgs/applications/audio/jalv/default.nix
index e2c86256ce64..99c3e48ae84d 100644
--- a/pkgs/applications/audio/jalv/default.nix
+++ b/pkgs/applications/audio/jalv/default.nix
@@ -10,8 +10,9 @@ stdenv.mkDerivation  rec {
     sha256 = "1x2wpzzx2cgvz3dgdcgsj8dr0w3zsasy62mvl199bsdj5fbjaili";
   };
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    gtk2 libjack2 lilv lv2 pkgconfig python serd sord sratom suil
+    gtk2 libjack2 lilv lv2 python serd sord sratom suil
   ];
 
   configurePhase = "python waf configure --prefix=$out";
diff --git a/pkgs/applications/audio/jamin/default.nix b/pkgs/applications/audio/jamin/default.nix
index 4af53389ffdf..77946fc41ccc 100644
--- a/pkgs/applications/audio/jamin/default.nix
+++ b/pkgs/applications/audio/jamin/default.nix
@@ -10,8 +10,9 @@ stdenv.mkDerivation {
     sha256 = "0g5v74cm0q3p3pzl6xmnp4rqayaymfli7c6z8s78h9rgd24fwbvn";
   };
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    fftwFloat gtk2 ladspaPlugins libjack2 liblo libxml2 pkgconfig perl
+    fftwFloat gtk2 ladspaPlugins libjack2 liblo libxml2 perl
     perlXMLParser makeWrapper
   ];
   
diff --git a/pkgs/applications/audio/pianobar/default.nix b/pkgs/applications/audio/pianobar/default.nix
index 7dc3e00ebf7b..8e591487111b 100644
--- a/pkgs/applications/audio/pianobar/default.nix
+++ b/pkgs/applications/audio/pianobar/default.nix
@@ -8,8 +8,9 @@ stdenv.mkDerivation rec {
     sha256 = "0n9544bfsdp04xqcjm4nhfvp357dx0c3gpys0rjkq09nzv8b1vy6";
   };
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    pkgconfig libao json_c libgcrypt libav curl
+    libao json_c libgcrypt libav curl
   ];
 
   makeFlags="PREFIX=$(out)";
diff --git a/pkgs/applications/audio/rhythmbox/default.nix b/pkgs/applications/audio/rhythmbox/default.nix
index e8bea3ec71c0..534fd2f0edb1 100644
--- a/pkgs/applications/audio/rhythmbox/default.nix
+++ b/pkgs/applications/audio/rhythmbox/default.nix
@@ -26,9 +26,8 @@ in stdenv.mkDerivation rec {
     sha256 = "0f3radhlji7rxl760yl2vm49fvfslympxrpm8497acbmbd7wlhxz";
   };
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    pkgconfig
-
     python3
     perl
     perlPackages.XMLParser
diff --git a/pkgs/applications/audio/rosegarden/default.nix b/pkgs/applications/audio/rosegarden/default.nix
index 4fec0d0c37b4..d29e731e0438 100644
--- a/pkgs/applications/audio/rosegarden/default.nix
+++ b/pkgs/applications/audio/rosegarden/default.nix
@@ -14,8 +14,9 @@ stdenv.mkDerivation (rec {
 
   QTDIR = qt4;
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    cmake qt4 pkgconfig ladspaPlugins ladspaH dssi liblo liblrdf fftwSinglePrec
+    cmake qt4 ladspaPlugins ladspaH dssi liblo liblrdf fftwSinglePrec
     libsndfile libsamplerate perl makedepend libjack2
   ] ++ stdenv.lib.optional withLirc [ lirc ];
 
diff --git a/pkgs/applications/audio/setbfree/default.nix b/pkgs/applications/audio/setbfree/default.nix
index 2a534047ae38..0eaa9bde14f6 100644
--- a/pkgs/applications/audio/setbfree/default.nix
+++ b/pkgs/applications/audio/setbfree/default.nix
@@ -17,8 +17,9 @@ stdenv.mkDerivation  rec {
       -i b_synth/Makefile
   '';
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    alsaLib freetype ftgl libjack2 libX11 lv2 mesa pkgconfig
+    alsaLib freetype ftgl libjack2 libX11 lv2 mesa
     ttf_bitstream_vera
   ];
 
diff --git a/pkgs/applications/audio/sonata/default.nix b/pkgs/applications/audio/sonata/default.nix
index 9f8ad3e649b6..e91c08c30b77 100644
--- a/pkgs/applications/audio/sonata/default.nix
+++ b/pkgs/applications/audio/sonata/default.nix
@@ -16,8 +16,9 @@ in buildPythonApplication rec {
 
   disabled = !isPy3k;
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    pkgconfig intltool wrapGAppsHook
+    intltool wrapGAppsHook
     gnome3.gnome_themes_standard gnome3.defaultIconTheme
     gnome3.gsettings_desktop_schemas
   ];
diff --git a/pkgs/applications/audio/tomahawk/default.nix b/pkgs/applications/audio/tomahawk/default.nix
index 2787c65fc547..364949b22416 100644
--- a/pkgs/applications/audio/tomahawk/default.nix
+++ b/pkgs/applications/audio/tomahawk/default.nix
@@ -25,8 +25,9 @@ stdenv.mkDerivation rec {
     "-DLUCENEPP_LIBRARY_DIR=${lucenepp}/lib"
   ];
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    cmake pkgconfig attica boost gnutls libechonest liblastfm lucenepp phonon
+    cmake attica boost gnutls libechonest liblastfm lucenepp phonon
     qca2 qjson qt4 qtkeychain quazip sparsehash taglib websocketpp
     makeWrapper
   ] ++ stdenv.lib.optional enableXMPP      libjreen
diff --git a/pkgs/applications/editors/monodevelop/default.nix b/pkgs/applications/editors/monodevelop/default.nix
index 44c61d16ec8d..53ea9741c03c 100644
--- a/pkgs/applications/editors/monodevelop/default.nix
+++ b/pkgs/applications/editors/monodevelop/default.nix
@@ -34,10 +34,10 @@ stdenv.mkDerivation rec {
   patchFlags = [ "-p2" ];
   patches = [ ./git-revert-12d610fb3f6dce121df538e36f21d8c2eeb0a6e3.patch ];
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    autoconf automake pkgconfig shared_mime_info intltool
+    autoconf automake shared_mime_info intltool
     mono gtk-sharp-2_0 gnome-sharp unzip
-    pkgconfig
     dotnetPackages.NUnit
     dotnetPackages.NUnitRunners
     dotnetPackages.Nuget
diff --git a/pkgs/applications/editors/textadept/default.nix b/pkgs/applications/editors/textadept/default.nix
index d1fa03c54796..db74a58da43e 100644
--- a/pkgs/applications/editors/textadept/default.nix
+++ b/pkgs/applications/editors/textadept/default.nix
@@ -112,8 +112,9 @@ stdenv.mkDerivation rec {
   version = "9.3";
   name = "textadept-${version}";
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    gtk2 glib pkgconfig unzip ncurses zip
+    gtk2 glib unzip ncurses zip
   ];
 
   src = fetchhg {
diff --git a/pkgs/applications/editors/vim/macvim.nix b/pkgs/applications/editors/vim/macvim.nix
index bb265e90b770..144fb5428a51 100644
--- a/pkgs/applications/editors/vim/macvim.nix
+++ b/pkgs/applications/editors/vim/macvim.nix
@@ -17,8 +17,9 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    gettext ncurses pkgconfig luajit ruby tcl perl python
+    gettext ncurses luajit ruby tcl perl python
   ];
 
   patches = [ ./macvim.patch ];
diff --git a/pkgs/applications/graphics/ao/default.nix b/pkgs/applications/graphics/ao/default.nix
index 7396fdc045f1..990fee8cc37c 100644
--- a/pkgs/applications/graphics/ao/default.nix
+++ b/pkgs/applications/graphics/ao/default.nix
@@ -5,11 +5,13 @@
 stdenv.mkDerivation rec {
   version = "0.0pre20160820";
   name = "ao-${version}";
+
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    cmake ninja boost libpng glfw3 epoxy guile pkgconfig mesa libX11 
+    cmake ninja boost libpng glfw3 epoxy guile mesa libX11 
     libpthreadstubs libXau libXdmcp libXrandr libXext libXinerama libXxf86vm
     libXcursor libXfixes
-    ];
+  ];
 
   src = fetchgit {
     url = https://github.com/mkeeter/ao;
diff --git a/pkgs/applications/graphics/geeqie/default.nix b/pkgs/applications/graphics/geeqie/default.nix
index 9149e19819ff..1e8f0e209c06 100644
--- a/pkgs/applications/graphics/geeqie/default.nix
+++ b/pkgs/applications/graphics/geeqie/default.nix
@@ -15,8 +15,9 @@ stdenv.mkDerivation rec {
 
   configureFlags = [ "--enable-gps" ];
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    pkgconfig autoconf automake gtk2 libpng exiv2 lcms intltool gettext
+    autoconf automake gtk2 libpng exiv2 lcms intltool gettext
   ];
 
   postInstall = ''
diff --git a/pkgs/applications/graphics/inkscape/default.nix b/pkgs/applications/graphics/inkscape/default.nix
index 678ee79459be..889d710f043f 100644
--- a/pkgs/applications/graphics/inkscape/default.nix
+++ b/pkgs/applications/graphics/inkscape/default.nix
@@ -33,8 +33,9 @@ stdenv.mkDerivation rec {
       --replace '"python-interpreter", "python"' '"python-interpreter", "${python2Env}/bin/python"'
   '';
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    pkgconfig perl perlXMLParser libXft libpng zlib popt boehmgc
+    perl perlXMLParser libXft libpng zlib popt boehmgc
     libxml2 libxslt glib gtkmm2 glibmm libsigcxx lcms boost gettext
     makeWrapper gsl poppler imagemagick libwpg librevenge
     libvisio libcdr libexif potrace cmake python2Env
diff --git a/pkgs/applications/graphics/mtpaint/default.nix b/pkgs/applications/graphics/mtpaint/default.nix
index 51bfa603a055..8a2a218d9891 100644
--- a/pkgs/applications/graphics/mtpaint/default.nix
+++ b/pkgs/applications/graphics/mtpaint/default.nix
@@ -16,8 +16,8 @@ stdenv.mkDerivation rec {
     sha256 = "0bvf623g0n2ifijcxv1nw0z3wbs2vhhdky4n04ywsbjlykm44nd1";
   };
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    pkgconfig
     freetype giflib gtk2 lcms2 libjpeg libpng libtiff openjpeg gifsicle
   ];
 
diff --git a/pkgs/applications/graphics/rawtherapee/default.nix b/pkgs/applications/graphics/rawtherapee/default.nix
index 3edb97e3e209..22e565216588 100644
--- a/pkgs/applications/graphics/rawtherapee/default.nix
+++ b/pkgs/applications/graphics/rawtherapee/default.nix
@@ -13,13 +13,13 @@ stdenv.mkDerivation rec {
     sha256 = "0i3cr3335bw8yxxzn6kcdx6ccinlnxzrdbgl3ld1kym1w2n5449k";
   };
 
+  nativeBuildInputs = [ pkgconfig wrapGAppsHook ];
+
   buildInputs = [
-    pkgconfig cmake pixman libpthreadstubs gtkmm3 libXau libXdmcp
+    cmake pixman libpthreadstubs gtkmm3 libXau libXdmcp
     lcms2 libiptcdata libcanberra_gtk3 fftw expat pcre libsigcxx
   ];
 
-  nativeBuildInputs = [ wrapGAppsHook ];
-
   cmakeFlags = [
     "-DPROC_TARGET_NUMBER=2"
     "-DCACHE_NAME_SUFFIX=\"\""
diff --git a/pkgs/applications/graphics/solvespace/default.nix b/pkgs/applications/graphics/solvespace/default.nix
index f8db30675b15..7b30c467b199 100644
--- a/pkgs/applications/graphics/solvespace/default.nix
+++ b/pkgs/applications/graphics/solvespace/default.nix
@@ -11,8 +11,9 @@ stdenv.mkDerivation rec {
     fetchSubmodules = true;
   };
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    cmake pkgconfig zlib libpng cairo freetype
+    cmake zlib libpng cairo freetype
     json_c fontconfig gtkmm3 pangomm glew mesa_glu
     xlibs.libpthreadstubs xlibs.libXdmcp pcre
   ];
diff --git a/pkgs/applications/misc/apvlv/default.nix b/pkgs/applications/misc/apvlv/default.nix
index 350a64ba3e41..f1d84a919724 100644
--- a/pkgs/applications/misc/apvlv/default.nix
+++ b/pkgs/applications/misc/apvlv/default.nix
@@ -15,17 +15,18 @@ stdenv.mkDerivation rec {
 
   NIX_CFLAGS_COMPILE = "-I${poppler.dev}/include/poppler";
 
+  nativeBuildInputs = [
+    pkgconfig
+    wrapGAppsHook
+  ];
+
   buildInputs = [
-    pkgconfig cmake
+    cmake
     poppler pcre libxkbcommon epoxy
     freetype gtk3
     libpthreadstubs libXdmcp libxshmfence # otherwise warnings in compilation
   ];
 
-  nativeBuildInputs = [
-    wrapGAppsHook
-  ];
-
   patches = [
     (fetchpatch {
       url = "https://github.com/naihe2010/apvlv/commit/d432635b9c5ea6c052a2ae1fb71aedec5c4ad57a.patch";
diff --git a/pkgs/applications/misc/bitcoinarmory/default.nix b/pkgs/applications/misc/bitcoinarmory/default.nix
index 78ac55088a4c..f4547c69dc4a 100644
--- a/pkgs/applications/misc/bitcoinarmory/default.nix
+++ b/pkgs/applications/misc/bitcoinarmory/default.nix
@@ -24,8 +24,8 @@ in mkPythonDerivation {
   # FIXME bitcoind doesn't die on shutdown. Need some sort of patch to fix that.
   #patches = [ ./shutdown-fix.patch ];
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    pkgconfig
     autoreconfHook
     swig
     qt4
diff --git a/pkgs/applications/misc/cgminer/default.nix b/pkgs/applications/misc/cgminer/default.nix
index d4884bb1709e..acd38d74dca4 100644
--- a/pkgs/applications/misc/cgminer/default.nix
+++ b/pkgs/applications/misc/cgminer/default.nix
@@ -11,8 +11,9 @@ stdenv.mkDerivation rec {
     sha256  = "1xfzx91dpwjj1vmhas3v9ybs0p2i74lrhinijmpav15acfggm9fq";
   };
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    autoconf automake pkgconfig libtool curl ncurses amdappsdk amdadlsdk
+    autoconf automake libtool curl ncurses amdappsdk amdadlsdk
     xorg.libX11 xorg.libXext xorg.libXinerama jansson
   ];
   configureScript = "./autogen.sh";
diff --git a/pkgs/applications/misc/fbreader/default.nix b/pkgs/applications/misc/fbreader/default.nix
index 6cfd1e05279e..80f76bc27c89 100644
--- a/pkgs/applications/misc/fbreader/default.nix
+++ b/pkgs/applications/misc/fbreader/default.nix
@@ -9,8 +9,9 @@ stdenv.mkDerivation {
     sha256 = "1sdq3vvwkq4bkyrvh0p884d66gaddz8hlab3m798ji9ixbak2z1x";
   };
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    pkgconfig bzip2 curl expat fribidi libunibreak
+    bzip2 curl expat fribidi libunibreak
     qt4 sqlite zlib
   ];
 
diff --git a/pkgs/applications/misc/gnuradio-ais/default.nix b/pkgs/applications/misc/gnuradio-ais/default.nix
index eda95bc0c5e7..a67a8a44fced 100644
--- a/pkgs/applications/misc/gnuradio-ais/default.nix
+++ b/pkgs/applications/misc/gnuradio-ais/default.nix
@@ -16,8 +16,9 @@ stdenv.mkDerivation rec {
     sha256 = "1vl3kk8xr2mh5lf31zdld7yzmwywqffffah8iblxdzblgsdwxfl6";
   };
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    cmake pkgconfig boost gnuradio makeWrapper cppunit gnuradio-osmosdr
+    cmake boost gnuradio makeWrapper cppunit gnuradio-osmosdr
   ] ++ stdenv.lib.optionals pythonSupport [ python swig ];
 
   postInstall = ''
diff --git a/pkgs/applications/misc/gnuradio-gsm/default.nix b/pkgs/applications/misc/gnuradio-gsm/default.nix
index a47925cab90d..bbdc74510eaa 100644
--- a/pkgs/applications/misc/gnuradio-gsm/default.nix
+++ b/pkgs/applications/misc/gnuradio-gsm/default.nix
@@ -16,8 +16,9 @@ stdenv.mkDerivation rec {
     sha256 = "13nnq927kpf91iqccr8db9ripy5czjl5jiyivizn6bia0bam2pvx";
   };
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    cmake pkgconfig boost gnuradio makeWrapper cppunit libosmocore gnuradio-osmosdr
+    cmake boost gnuradio makeWrapper cppunit libosmocore gnuradio-osmosdr
   ] ++ stdenv.lib.optionals pythonSupport [ python swig ];
 
   postInstall = ''
diff --git a/pkgs/applications/misc/gnuradio-nacl/default.nix b/pkgs/applications/misc/gnuradio-nacl/default.nix
index 6298e083617f..cd3630c842c3 100644
--- a/pkgs/applications/misc/gnuradio-nacl/default.nix
+++ b/pkgs/applications/misc/gnuradio-nacl/default.nix
@@ -16,8 +16,9 @@ stdenv.mkDerivation rec {
     sha256 = "0q28lgkndcw9921hm6cw5ilxd83n65hjajwl78j50mh6yc3bim35";
   };
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    cmake pkgconfig boost gnuradio uhd makeWrapper libsodium cppunit
+    cmake boost gnuradio uhd makeWrapper libsodium cppunit
   ] ++ stdenv.lib.optionals pythonSupport [ python swig ];
 
   postInstall = ''
diff --git a/pkgs/applications/misc/gnuradio-osmosdr/default.nix b/pkgs/applications/misc/gnuradio-osmosdr/default.nix
index 5fc6eb2c2744..e2d3e808476e 100644
--- a/pkgs/applications/misc/gnuradio-osmosdr/default.nix
+++ b/pkgs/applications/misc/gnuradio-osmosdr/default.nix
@@ -15,8 +15,9 @@ stdenv.mkDerivation rec {
     sha256 = "0vyzr4fhkblf2v3d7m0ch5hws4c493jw3ydl4y6b2dfbfzchhsz8";
   };
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    cmake pkgconfig boost gnuradio rtl-sdr uhd makeWrapper hackrf
+    cmake boost gnuradio rtl-sdr uhd makeWrapper hackrf
   ] ++ stdenv.lib.optionals pythonSupport [ python swig ];
 
   postInstall = ''
diff --git a/pkgs/applications/misc/gnuradio-rds/default.nix b/pkgs/applications/misc/gnuradio-rds/default.nix
index 5e729a75557e..3d09441a7f03 100644
--- a/pkgs/applications/misc/gnuradio-rds/default.nix
+++ b/pkgs/applications/misc/gnuradio-rds/default.nix
@@ -15,8 +15,9 @@ stdenv.mkDerivation rec {
     sha256 = "008284ya464q4h4fd0zvcn6g7bym231p8fl3kdxncz9ks4zsbsxs";
   };
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    cmake pkgconfig boost gnuradio makeWrapper
+    cmake boost gnuradio makeWrapper
   ] ++ stdenv.lib.optionals pythonSupport [ python swig ];
 
   postInstall = ''
diff --git a/pkgs/applications/misc/gnuradio/default.nix b/pkgs/applications/misc/gnuradio/default.nix
index e10cb30d1874..f4f7ebadef24 100644
--- a/pkgs/applications/misc/gnuradio/default.nix
+++ b/pkgs/applications/misc/gnuradio/default.nix
@@ -30,8 +30,9 @@ stdenv.mkDerivation rec {
     sha256 = "1m2jf8lafr6pr2dlm40nbvr6az8gwjfkzpbs4fxzv3l5hcqvmnc7";
   };
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    cmake pkgconfig git boost cppunit fftw python swig2 orc lxml qt4
+    cmake git boost cppunit fftw python swig2 orc lxml qt4
     qwt alsaLib SDL libusb1 uhd gsl makeWrapper
   ];
 
diff --git a/pkgs/applications/misc/goldendict/default.nix b/pkgs/applications/misc/goldendict/default.nix
index 278c685b7cf7..f552a74f4c11 100644
--- a/pkgs/applications/misc/goldendict/default.nix
+++ b/pkgs/applications/misc/goldendict/default.nix
@@ -9,13 +9,12 @@ stdenv.mkDerivation rec {
     sha256 = "1pizz39l61rbps0wby75fkvzyrah805257j33siqybwhsfiy1kmw";
   };
 
+  nativeBuildInputs = [ pkgconfig qmake ];
   buildInputs = [
-    pkgconfig qtbase qtsvg qtwebkit qtx11extras qttools
+    qtbase qtsvg qtwebkit qtx11extras qttools
     libXtst libvorbis hunspell libao ffmpeg libeb lzo xz libtiff
   ];
 
-  nativeBuildInputs = [ qmake ];
-
   qmakeFlags = [ "CONFIG+=zim_support" ];
 
   meta = {
diff --git a/pkgs/applications/misc/gphoto2/gphotofs.nix b/pkgs/applications/misc/gphoto2/gphotofs.nix
index 230e0ff74142..6fa11667cf33 100644
--- a/pkgs/applications/misc/gphoto2/gphotofs.nix
+++ b/pkgs/applications/misc/gphoto2/gphotofs.nix
@@ -8,8 +8,9 @@ stdenv.mkDerivation rec {
     sha256 = "1k23ncbsbh64r7kz050bg31jqamchyswgg9izhzij758d7gc8vk7";
   };
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    libgphoto2 fuse pkgconfig glib libtool
+    libgphoto2 fuse glib libtool
   ];
 
   meta = {
diff --git a/pkgs/applications/misc/gxneur/default.nix b/pkgs/applications/misc/gxneur/default.nix
index 1132f6b12f9b..f581b302c3f4 100644
--- a/pkgs/applications/misc/gxneur/default.nix
+++ b/pkgs/applications/misc/gxneur/default.nix
@@ -8,8 +8,9 @@ stdenv.mkDerivation {
     sha256 = "f093428a479158247a7ff8424f0aec9af9f7b1d05b191cf30b7c534965a6839f";
   };
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    xorg.libX11 pkgconfig  glib gtk2 xorg.libXpm xorg.libXt xorg.libXext xneur_0_13
+    xorg.libX11 glib gtk2 xorg.libXpm xorg.libXt xorg.libXext xneur_0_13
     libglade GConf pcre
   ];
 
diff --git a/pkgs/applications/misc/hackrf/default.nix b/pkgs/applications/misc/hackrf/default.nix
index 1b8257ca5e59..6186ed6f8f41 100644
--- a/pkgs/applications/misc/hackrf/default.nix
+++ b/pkgs/applications/misc/hackrf/default.nix
@@ -10,8 +10,9 @@ stdenv.mkDerivation rec {
     sha256 = "16hd61icvzaciv7s9jpgm9c8q6m4mwvj97gxrb20sc65p5gjb7hv";
   };
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    cmake pkgconfig libusb fftwSinglePrec
+    cmake libusb fftwSinglePrec
   ];
 
   cmakeFlags = [ "-DUDEV_RULES_GROUP=plugdev" "-DUDEV_RULES_PATH=lib/udev/rules.d" ];
diff --git a/pkgs/applications/misc/inspectrum/default.nix b/pkgs/applications/misc/inspectrum/default.nix
index 5097496d3992..e2232c4b2ec8 100644
--- a/pkgs/applications/misc/inspectrum/default.nix
+++ b/pkgs/applications/misc/inspectrum/default.nix
@@ -19,8 +19,8 @@ stdenv.mkDerivation rec {
     sha256 = "1fvnr8gca25i6s9mg9b2hyqs0zzr4jicw13mimc9dhrgxklrr1yv";
   };
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    pkgconfig
     cmake
     qt5.qtbase
     fftwFloat
diff --git a/pkgs/applications/misc/kiwix/default.nix b/pkgs/applications/misc/kiwix/default.nix
index c5b75a0be555..8479c4e16ace 100644
--- a/pkgs/applications/misc/kiwix/default.nix
+++ b/pkgs/applications/misc/kiwix/default.nix
@@ -62,8 +62,9 @@ stdenv.mkDerivation rec {
     sha256 = "0577phhy2na59cpcqjgldvksp0jwczyg0l6c9ghnr19i375l7yqc";
   };
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    zip pkgconfig python zlib xapian which icu libmicrohttpd
+    zip python zlib xapian which icu libmicrohttpd
     lzma zimlib ctpp2 aria2 wget bc libuuid makeWrapper pugixml
   ];
 
diff --git a/pkgs/applications/misc/lenmus/default.nix b/pkgs/applications/misc/lenmus/default.nix
index b78a226b6145..9018a5926424 100644
--- a/pkgs/applications/misc/lenmus/default.nix
+++ b/pkgs/applications/misc/lenmus/default.nix
@@ -29,8 +29,8 @@ stdenv.mkDerivation rec {
     })
   ];
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    pkgconfig
     cmake boost
     portmidi sqlite
     freetype libpng pngpp zlib
diff --git a/pkgs/applications/misc/libosmocore/default.nix b/pkgs/applications/misc/libosmocore/default.nix
index 7a0eadf74e5a..47bcbb6fce91 100644
--- a/pkgs/applications/misc/libosmocore/default.nix
+++ b/pkgs/applications/misc/libosmocore/default.nix
@@ -12,8 +12,9 @@ stdenv.mkDerivation rec {
     sha256 = "08mcpy9ljwb1i3l4cmlwn024q2psk5gg9f0ylgh99hy1ffx0n7am";
   };
 
+  nativeBuildInputs = [ autoreconfHook pkgconfig ];
   buildInputs = [
-    autoreconfHook pcsclite pkgconfig
+    pcsclite
   ];
 
   preConfigure = ''
diff --git a/pkgs/applications/misc/lighthouse/default.nix b/pkgs/applications/misc/lighthouse/default.nix
index f6bfe61e5aa2..7b5b40d65a36 100644
--- a/pkgs/applications/misc/lighthouse/default.nix
+++ b/pkgs/applications/misc/lighthouse/default.nix
@@ -13,8 +13,9 @@ stdenv.mkDerivation rec {
     sha256 = "0v6ylm49f1b44zwq1y1gqxp2csyqblplr24ajllc2q3r0sc9m1ys";
    };
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    pkgconfig libX11 libxcb cairo gtk2 pango python27 python3
+    libX11 libxcb cairo gtk2 pango python27 python3
   ];
 
   makeFlags = [ "PREFIX=\${out}" ];
diff --git a/pkgs/applications/misc/lyx/default.nix b/pkgs/applications/misc/lyx/default.nix
index 964617e20f1e..0c08929417e6 100644
--- a/pkgs/applications/misc/lyx/default.nix
+++ b/pkgs/applications/misc/lyx/default.nix
@@ -12,8 +12,9 @@ stdenv.mkDerivation rec {
   };
 
   # LaTeX is used from $PATH, as people often want to have it with extra pkgs
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    pkgconfig qtbase qtsvg python file/*for libmagic*/ bc
+    qtbase qtsvg python file/*for libmagic*/ bc
     hunspell makeWrapper # enchant
   ];
 
diff --git a/pkgs/applications/misc/milu/default.nix b/pkgs/applications/misc/milu/default.nix
index 9f98376a51bc..d8d1cff6040b 100644
--- a/pkgs/applications/misc/milu/default.nix
+++ b/pkgs/applications/misc/milu/default.nix
@@ -24,8 +24,8 @@ stdenv.mkDerivation rec {
     cp bin/milu $out/bin
   '';
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-     pkgconfig
      glib
      unzip
      clang
diff --git a/pkgs/applications/misc/notify-osd/default.nix b/pkgs/applications/misc/notify-osd/default.nix
index dfeae77d343b..2aa04ce83e53 100644
--- a/pkgs/applications/misc/notify-osd/default.nix
+++ b/pkgs/applications/misc/notify-osd/default.nix
@@ -9,8 +9,9 @@ stdenv.mkDerivation rec {
     sha256 = "0g5a7a680b05x27apz0y1ldl5csxpp152wqi42s107jymbp0s20j";
   };
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    pkgconfig glib libwnck3 libnotify dbus_glib makeWrapper
+    glib libwnck3 libnotify dbus_glib makeWrapper
     gnome3.gsettings_desktop_schemas
   ];
 
diff --git a/pkgs/applications/misc/pdfmod/default.nix b/pkgs/applications/misc/pdfmod/default.nix
index ba4a57a191c3..691f3188b08c 100644
--- a/pkgs/applications/misc/pdfmod/default.nix
+++ b/pkgs/applications/misc/pdfmod/default.nix
@@ -18,8 +18,9 @@ stdenv.mkDerivation rec {
     sha256 = "0fpz9ifr6476lqhd5rkb94dm68vlrwdq5w1aaxzgyjgdax9hxx81";
   }) ];
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    pkgconfig gnome_doc_utils intltool mono gtk-sharp-2_0 gnome-sharp
+    gnome_doc_utils intltool mono gtk-sharp-2_0 gnome-sharp
     hyena which makeWrapper wrapGAppsHook
   ];
 
diff --git a/pkgs/applications/misc/qpdfview/default.nix b/pkgs/applications/misc/qpdfview/default.nix
index 5cbf94114357..e3e7ff950b0c 100644
--- a/pkgs/applications/misc/qpdfview/default.nix
+++ b/pkgs/applications/misc/qpdfview/default.nix
@@ -10,13 +10,14 @@ let
     url="https://launchpad.net/qpdfview/trunk/${version}/+download/qpdfview-${version}.tar.gz";
     sha256 = "0zysjhr58nnmx7ba01q3zvgidkgcqxjdj4ld3gx5fc7wzvl1dm7s";
   };
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    qt4 poppler_qt4 pkgconfig djvulibre libspectre cups file ghostscript
+    qt4 poppler_qt4 djvulibre libspectre cups file ghostscript
   ];
 in
 stdenv.mkDerivation {
   inherit (s) name version;
-  inherit buildInputs;
+  inherit nativeBuildInputs buildInputs;
   src = fetchurl {
     inherit (s) url sha256;
   };
diff --git a/pkgs/applications/misc/quicksynergy/default.nix b/pkgs/applications/misc/quicksynergy/default.nix
index bed1d1fc97c4..f77220534014 100644
--- a/pkgs/applications/misc/quicksynergy/default.nix
+++ b/pkgs/applications/misc/quicksynergy/default.nix
@@ -7,8 +7,9 @@ stdenv.mkDerivation rec {
     url = "mirror://sourceforge/project/quicksynergy/Linux/${version}/quicksynergy-${version}.tar.gz";
     sha256 = "1pi8503bg8q1psw50y6d780i33nnvfjqiy9vnr3v52pdcfip8pix";
   };
+
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    pkgconfig
     gtk2
     synergy
   ];
diff --git a/pkgs/applications/misc/redis-desktop-manager/default.nix b/pkgs/applications/misc/redis-desktop-manager/default.nix
index 8bbfbaf7cf0e..59d22b967b57 100644
--- a/pkgs/applications/misc/redis-desktop-manager/default.nix
+++ b/pkgs/applications/misc/redis-desktop-manager/default.nix
@@ -24,10 +24,9 @@ stdenv.mkDerivation rec {
     sha256 = "0a7xa39qp1q32zkypw32mm3wi8wbhxhvrm6l3xsa3k1jzih7hzxr";
   };
 
-  nativeBuildInputs = [ qmake ];
-
+  nativeBuildInputs = [ pkgconfig qmake ];
   buildInputs = [
-    pkgconfig libssh2 qtbase qtdeclarative qtgraphicaleffects qtimageformats
+    libssh2 qtbase qtdeclarative qtgraphicaleffects qtimageformats
     qtquick1 qtquickcontrols qtsvg qttools
   ];
 
diff --git a/pkgs/applications/misc/spacefm/default.nix b/pkgs/applications/misc/spacefm/default.nix
index f4e1eef28363..5fffa6681cb2 100644
--- a/pkgs/applications/misc/spacefm/default.nix
+++ b/pkgs/applications/misc/spacefm/default.nix
@@ -26,8 +26,9 @@ stdenv.mkDerivation rec {
     ln -s /etc/spacefm/spacefm.conf $out/etc/spacefm/spacefm.conf 
   '';
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    gtk3 udev desktop_file_utils shared_mime_info intltool pkgconfig
+    gtk3 udev desktop_file_utils shared_mime_info intltool
     wrapGAppsHook ffmpegthumbnailer jmtpfs lsof udisks
   ] ++ (if ifuseSupport then [ ifuse ] else []);
   # Introduced because ifuse doesn't build due to CVEs in libplist
diff --git a/pkgs/applications/misc/synapse/default.nix b/pkgs/applications/misc/synapse/default.nix
index e7d2a595684b..2533014c5607 100644
--- a/pkgs/applications/misc/synapse/default.nix
+++ b/pkgs/applications/misc/synapse/default.nix
@@ -12,8 +12,9 @@ stdenv.mkDerivation rec {
     sha256 = "846d8a5130580bb47c754bb7f20dc76311e589c00a18b02370a5d78b52409220";
   };
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    intltool pkgconfig glib libnotify gtk3 libgee keybinder3 json_glib zeitgeist 
+    intltool glib libnotify gtk3 libgee keybinder3 json_glib zeitgeist 
     vala_0_23 hicolor_icon_theme
   ];
 
diff --git a/pkgs/applications/misc/zathura/core/default.nix b/pkgs/applications/misc/zathura/core/default.nix
index a646cd10b6df..8a460f890167 100644
--- a/pkgs/applications/misc/zathura/core/default.nix
+++ b/pkgs/applications/misc/zathura/core/default.nix
@@ -19,8 +19,9 @@ stdenv.mkDerivation rec {
 
   icon = ./icon.xpm;
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    pkgconfig file gtk girara
+    file gtk girara
     gettext makeWrapper sqlite glib
   ] ++ optional synctexSupport texlive.bin.core;
 
diff --git a/pkgs/applications/networking/instant-messengers/freetalk/default.nix b/pkgs/applications/networking/instant-messengers/freetalk/default.nix
index ca8d7f2076ec..5146f3a0e391 100644
--- a/pkgs/applications/networking/instant-messengers/freetalk/default.nix
+++ b/pkgs/applications/networking/instant-messengers/freetalk/default.nix
@@ -19,8 +19,9 @@ stdenv.mkDerivation rec {
     ./autogen.sh
   '';
 
+ nativeBuildInputs = [ pkgconfig ];
  buildInputs = [
-    guile pkgconfig glib loudmouth gmp libidn readline libtool
+    guile glib loudmouth gmp libidn readline libtool
     libunwind ncurses curl jansson texinfo
     autoconf automake
   ];
diff --git a/pkgs/applications/networking/instant-messengers/profanity/default.nix b/pkgs/applications/networking/instant-messengers/profanity/default.nix
index 68f632d4b6f7..79fb9b5c7f92 100644
--- a/pkgs/applications/networking/instant-messengers/profanity/default.nix
+++ b/pkgs/applications/networking/instant-messengers/profanity/default.nix
@@ -21,8 +21,9 @@ stdenv.mkDerivation rec {
     sha256 = "1f7ylw3mhhnii52mmk40hyc4kqhpvjdr3hmsplzkdhsfww9kflg3";
   };
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    pkgconfig readline libuuid libmesode
+    readline libuuid libmesode
     glib openssl expat ncurses libotr curl
   ] ++ optionals autoAwaySupport [ libXScrnSaver libX11 ]
     ++ optionals notifySupport   [ libnotify gdk_pixbuf ]
diff --git a/pkgs/applications/networking/mailreaders/lumail/default.nix b/pkgs/applications/networking/mailreaders/lumail/default.nix
index d28144f92ba8..2c1678e994fb 100644
--- a/pkgs/applications/networking/mailreaders/lumail/default.nix
+++ b/pkgs/applications/networking/mailreaders/lumail/default.nix
@@ -12,8 +12,9 @@ stdenv.mkDerivation {
     sha256 = "1rni5lbic36v4cd1r0l28542x0hlmfqkl6nac79gln491in2l2sc";
   };
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    pkgconfig lua5_2 file ncurses gmime pcre-cpp
+    lua5_2 file ncurses gmime pcre-cpp
     perl perlPackages.JSON perlPackages.NetIMAPClient
   ];
 
diff --git a/pkgs/applications/networking/mailreaders/notmuch/default.nix b/pkgs/applications/networking/mailreaders/notmuch/default.nix
index 74e43a728d7f..93d180a327b7 100644
--- a/pkgs/applications/networking/mailreaders/notmuch/default.nix
+++ b/pkgs/applications/networking/mailreaders/notmuch/default.nix
@@ -25,8 +25,9 @@ stdenv.mkDerivation rec {
     sha256 = "02z6d87ip1hkipz8d7w0sfklg8dd5fd5vlgp768640ixg0gqvlk5";
   };
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    pkgconfig gnupg # undefined dependencies
+    gnupg # undefined dependencies
     xapian gmime talloc zlib  # dependencies described in INSTALL
     doxygen perl  # (optional) api docs
     pythonPackages.sphinx pythonPackages.python  # (optional) documentation -> doc/INSTALL
diff --git a/pkgs/applications/networking/p2p/transgui/default.nix b/pkgs/applications/networking/p2p/transgui/default.nix
index 3a6a71843a2d..a33f85551f3d 100644
--- a/pkgs/applications/networking/p2p/transgui/default.nix
+++ b/pkgs/applications/networking/p2p/transgui/default.nix
@@ -11,8 +11,9 @@ stdenv.mkDerivation rec {
     sha256 = "0z83hvlhllm6p1z4gkcfi1x3akgn2xkssnfhwp74qynb0n5362pi";
   };
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    pkgconfig unzip fpc lazarus stdenv.cc
+    unzip fpc lazarus stdenv.cc
     libX11 glib gtk2 gdk_pixbuf pango atk cairo openssl
   ];
 
diff --git a/pkgs/applications/networking/p2p/twister/default.nix b/pkgs/applications/networking/p2p/twister/default.nix
index e5a242662ce1..d30527ca6093 100644
--- a/pkgs/applications/networking/p2p/twister/default.nix
+++ b/pkgs/applications/networking/p2p/twister/default.nix
@@ -32,8 +32,9 @@ in stdenv.mkDerivation rec {
     "--with-boost-libdir=${boost.out}/lib"
   ];
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    autoconf automake libtool pkgconfig python2
+    autoconf automake libtool python2
     boost db openssl geoip miniupnpc libiconv
   ];
 
diff --git a/pkgs/applications/networking/sniffers/etherape/default.nix b/pkgs/applications/networking/sniffers/etherape/default.nix
index 5bc5bafe7db8..f01a36cc65f5 100644
--- a/pkgs/applications/networking/sniffers/etherape/default.nix
+++ b/pkgs/applications/networking/sniffers/etherape/default.nix
@@ -9,8 +9,10 @@ stdenv.mkDerivation rec {
   };
 
   configureFlags = [ "--disable-scrollkeeper" ];
+
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    pkgconfig libtool gtk2 libpcap libglade libgnome libgnomeui gnomedocutils
+    libtool gtk2 libpcap libglade libgnome libgnomeui gnomedocutils
     scrollkeeper libxslt
   ];
 
diff --git a/pkgs/applications/networking/sniffers/wireshark/default.nix b/pkgs/applications/networking/sniffers/wireshark/default.nix
index a4a3741aeee2..8e35cb029e92 100644
--- a/pkgs/applications/networking/sniffers/wireshark/default.nix
+++ b/pkgs/applications/networking/sniffers/wireshark/default.nix
@@ -26,11 +26,11 @@ in stdenv.mkDerivation {
   cmakeFlags = optional withGtk "-DBUILD_wireshark_gtk=TRUE";
 
   nativeBuildInputs = [
-    bison cmake extra-cmake-modules flex
+    bison cmake extra-cmake-modules flex pkgconfig
   ] ++ optional withGtk wrapGAppsHook;
 
   buildInputs = [
-    gettext pcre perl pkgconfig libpcap lua5 libssh openssl libgcrypt
+    gettext pcre perl libpcap lua5 libssh openssl libgcrypt
     libgpgerror gnutls geoip c-ares python glib zlib
   ] ++ optionals withQt  (with qt5; [ qtbase qtmultimedia qtsvg qttools ])
     ++ optionals withGtk [ gtk3 librsvg gsettings_desktop_schemas ]
diff --git a/pkgs/applications/office/gnucash/default.nix b/pkgs/applications/office/gnucash/default.nix
index 4ed150813127..f6c4728eb531 100644
--- a/pkgs/applications/office/gnucash/default.nix
+++ b/pkgs/applications/office/gnucash/default.nix
@@ -17,8 +17,9 @@ stdenv.mkDerivation rec {
     sha256 = "058mgfwic6a2g7jq6iip5hv45md1qaxy25dj4lvlzjjr141wm4gx";
   };
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    pkgconfig libxml2 gconf glib gtk2 libgnomeui libgtkhtml gtkhtml
+    libxml2 gconf glib gtk2 libgnomeui libgtkhtml gtkhtml
     libgnomeprint goffice enchant gettext intltool perl guile slibGuile
     swig isocodes bzip2 makeWrapper libofx libglade libgsf libart_lgpl
     perlPackages.DateManip perlPackages.FinanceQuote aqbanking gwenhywfar
diff --git a/pkgs/applications/office/gnumeric/default.nix b/pkgs/applications/office/gnumeric/default.nix
index 69a96c6148e1..c6458e477186 100644
--- a/pkgs/applications/office/gnumeric/default.nix
+++ b/pkgs/applications/office/gnumeric/default.nix
@@ -25,9 +25,11 @@ in stdenv.mkDerivation rec {
 	--replace http://www.oasis-open.org/docbook/xml/4.5/ent/isogrk1.ent ${isogrk1}
   '';
 
+  nativeBuildInputs = [ pkgconfig ];
+
   # ToDo: optional libgda, introspection?
   buildInputs = [
-    pkgconfig intltool perl perlXMLParser bison
+    intltool perl perlXMLParser bison
     goffice gtk3 makeWrapper gnome3.defaultIconTheme
     python pygobject3 itstool
   ];
diff --git a/pkgs/applications/science/robotics/gazebo/default.nix b/pkgs/applications/science/robotics/gazebo/default.nix
index 6cefb156d1df..3edf75a4bffe 100644
--- a/pkgs/applications/science/robotics/gazebo/default.nix
+++ b/pkgs/applications/science/robotics/gazebo/default.nix
@@ -38,8 +38,12 @@ stdenv.mkDerivation rec {
     ++ optional withLowMemorySupport [ "-DUSE_LOW_MEMORY_TESTS=True" ]
     ++ optional withHeadless [ "-DENABLE_SCREEN_TESTS=False" ];
 
+  nativeBuildInputs = [ cmake pkgconfig ];
+
+  propagatedNativeBuildInputs = [ boost boost-build boost_process protobuf ];
+
   buildInputs = [
-    #cmake pkgconfig boost protobuf
+    #cmake boost protobuf
     freeimage
     xorg_sys_opengl
     tbb
@@ -69,10 +73,6 @@ stdenv.mkDerivation rec {
     ++ optional withConstructiveSolidGeometrySupport gts
     ++ optional withHdf5Support hdf5;
 
-  nativeBuildInputs = [ cmake pkgconfig ];
-
-  propagatedNativeBuildInputs = [ boost boost-build boost_process protobuf ];
-
   meta = with stdenv.lib; {
     homepage = http://gazebosim.org/;
     description = "Multi-robot simulator for outdoor environments";
diff --git a/pkgs/applications/version-management/bitkeeper/default.nix b/pkgs/applications/version-management/bitkeeper/default.nix
index d8597913c24b..06cfc90e65f1 100644
--- a/pkgs/applications/version-management/bitkeeper/default.nix
+++ b/pkgs/applications/version-management/bitkeeper/default.nix
@@ -15,8 +15,9 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    perl gperf bison groff libXft pkgconfig
+    perl gperf bison groff libXft
     pcre libtomcrypt libtommath lz4
   ];
 
diff --git a/pkgs/applications/version-management/git-and-tools/cgit/default.nix b/pkgs/applications/version-management/git-and-tools/cgit/default.nix
index 518db7708b7f..3c7d0a86be04 100644
--- a/pkgs/applications/version-management/git-and-tools/cgit/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/cgit/default.nix
@@ -20,8 +20,9 @@ stdenv.mkDerivation rec {
     sha256 = "0wc64dzcxrzgi6kwcljz6y3cwm3ajdgf6aws7g58azbhvl1jk04l";
   };
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    openssl zlib asciidoc libxml2 libxslt docbook_xml_xslt pkgconfig luajit
+    openssl zlib asciidoc libxml2 libxslt docbook_xml_xslt luajit
   ];
 
   postPatch = ''
diff --git a/pkgs/applications/version-management/gource/default.nix b/pkgs/applications/version-management/gource/default.nix
index 2aadfd21fb5e..5b228847eb38 100644
--- a/pkgs/applications/version-management/gource/default.nix
+++ b/pkgs/applications/version-management/gource/default.nix
@@ -11,8 +11,9 @@ stdenv.mkDerivation rec {
     sha256 = "0z095zsf5pz8czh7nmlkdy29rm93w83sqyqspg2zsprh892cl116";
   };
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    glew SDL ftgl pkgconfig libpng libjpeg pcre SDL_image mesa
+    glew SDL ftgl libpng libjpeg pcre SDL_image mesa
     boost glm freetype
   ];
 
diff --git a/pkgs/applications/version-management/monotone-viz/graphviz-2.0.nix b/pkgs/applications/version-management/monotone-viz/graphviz-2.0.nix
index 32cc283bc3c9..73acc3a6b36f 100644
--- a/pkgs/applications/version-management/monotone-viz/graphviz-2.0.nix
+++ b/pkgs/applications/version-management/monotone-viz/graphviz-2.0.nix
@@ -12,8 +12,9 @@ stdenv.mkDerivation rec {
     sha256 = "39b8e1f2ba4cc1f5bdc8e39c7be35e5f831253008e4ee2c176984f080416676c";
   };
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    pkgconfig xlibsWrapper libpng libjpeg expat libXaw yacc
+    xlibsWrapper libpng libjpeg expat libXaw yacc
     libtool fontconfig pango gd libwebp
   ];
 
diff --git a/pkgs/applications/version-management/redmine/bootstrap.nix b/pkgs/applications/version-management/redmine/bootstrap.nix
index 82643f18a554..53757c37ed82 100644
--- a/pkgs/applications/version-management/redmine/bootstrap.nix
+++ b/pkgs/applications/version-management/redmine/bootstrap.nix
@@ -13,8 +13,10 @@ in stdenv.mkDerivation rec {
     url = "http://www.redmine.org/releases/${name}.tar.gz";
     sha256 = "0x0zwxyj4dwbk7l64s3lgny10mjf0ba8jwrbafsm4d72sncmacv0";
   };
+
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    ruby bundler libiconv libxslt libxml2 pkgconfig
+    ruby bundler libiconv libxslt libxml2
     libffi imagemagickBig postgresql which stdenv
   ];
   installPhase = ''
diff --git a/pkgs/applications/video/natron/default.nix b/pkgs/applications/video/natron/default.nix
index 75dccbafd3f4..e2f5d4ba598d 100644
--- a/pkgs/applications/video/natron/default.nix
+++ b/pkgs/applications/video/natron/default.nix
@@ -20,14 +20,14 @@ let
     nativeBuildInputs = [ cmake ];
     buildInputs = [ libpng flex bison ];
   };
-  buildPlugin = { pluginName, sha256, buildInputs, preConfigure ? "" }:
+  buildPlugin = { pluginName, sha256, nativeBuildInputs ? [], buildInputs ? [], preConfigure ? "" }:
     stdenv.mkDerivation {
       name = "openfx-${pluginName}-${version}";
       src = fetchurl {
         url = "https://github.com/MrKepzie/Natron/releases/download/${version}/openfx-${pluginName}-${version}.tar.xz";
         inherit sha256;
       };
-      inherit buildInputs;
+      inherit nativeBuildInputs buildInputs;
       preConfigure = ''
         makeFlagsArray+=("CONFIG=release")
         makeFlagsArray+=("PLUGINPATH=$out/Plugins/OFX/Natron")
@@ -50,8 +50,9 @@ let
     ({
       pluginName = "arena";
       sha256 = "0qba13vn9qdfax7nqlz1ps27zspr5kh795jp1xvbmwjzjzjpkqkf";
+      nativeBuildInputs = [ pkgconfig ];
       buildInputs = [
-        pkgconfig pango librsvg librevenge libcdr opencolorio libxml2 libzip
+        pango librsvg librevenge libcdr opencolorio libxml2 libzip
         poppler imagemagick
       ];
       preConfigure = ''
@@ -65,8 +66,9 @@ let
     ({
       pluginName = "io";
       sha256 = "0s196i9fkgr9iw92c94mxgs1lkxbhynkf83vmsgrldflmf0xjky7";
+      nativeBuildInputs = [ pkgconfig ];
       buildInputs = [
-        pkgconfig libpng ffmpeg openexr opencolorio openimageio boost mesa_noglu
+        libpng ffmpeg openexr opencolorio openimageio boost mesa_noglu
         seexpr
       ];
     })
@@ -91,12 +93,12 @@ stdenv.mkDerivation {
     sha256 = "1wdc0zqriw2jhlrhzs6af3kagrv22cm086ffnbr1x43mgc9hfhjp";
   };
 
+  nativeBuildInputs = [ qmake4Hook pkgconfig python2Packages.wrapPython ];
+
   buildInputs = [
-    pkgconfig qt4 boost expat cairo python2Packages.pyside python2Packages.pysideShiboken
+    qt4 boost expat cairo python2Packages.pyside python2Packages.pysideShiboken
   ];
 
-  nativeBuildInputs = [ qmake4Hook python2Packages.wrapPython ];
-
   preConfigure = ''
     export MAKEFLAGS=-j$NIX_BUILD_CORES
     cp ${./config.pri} config.pri
diff --git a/pkgs/applications/video/simplescreenrecorder/default.nix b/pkgs/applications/video/simplescreenrecorder/default.nix
index 571f46de3854..447518d008b4 100644
--- a/pkgs/applications/video/simplescreenrecorder/default.nix
+++ b/pkgs/applications/video/simplescreenrecorder/default.nix
@@ -24,8 +24,9 @@ stdenv.mkDerivation rec {
     done
   '';
 
-  buildInputs = [
-    alsaLib ffmpeg libjack2 libX11 libXext libXfixes mesa pkgconfig
+  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [  
+    alsaLib ffmpeg libjack2 libX11 libXext libXfixes mesa
     libpulseaudio qt4
   ];
 
diff --git a/pkgs/applications/video/xvidcap/default.nix b/pkgs/applications/video/xvidcap/default.nix
index c8414bbb83a0..663f89b325a2 100644
--- a/pkgs/applications/video/xvidcap/default.nix
+++ b/pkgs/applications/video/xvidcap/default.nix
@@ -11,8 +11,10 @@ stdenv.mkDerivation {
   };
 
   patches = [ ./xlib.patch ];
+
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    perl perlXMLParser pkgconfig gtk2 scrollkeeper
+    perl perlXMLParser gtk2 scrollkeeper
     libglade libXmu gettext lame libXdamage libXfixes libXext libX11
   ];
 
diff --git a/pkgs/applications/virtualization/docker/default.nix b/pkgs/applications/virtualization/docker/default.nix
index 043f27e13d24..5df6f011dc75 100644
--- a/pkgs/applications/virtualization/docker/default.nix
+++ b/pkgs/applications/virtualization/docker/default.nix
@@ -66,8 +66,9 @@ rec {
     # Optimizations break compilation of libseccomp c bindings
     hardeningDisable = [ "fortify" ];
 
+    nativeBuildInputs = [ pkgconfig ];
     buildInputs = [
-      makeWrapper removeReferencesTo pkgconfig go-md2man go
+      makeWrapper removeReferencesTo go-md2man go
       sqlite devicemapper btrfs-progs systemd libtool libseccomp
     ];
 
diff --git a/pkgs/applications/virtualization/xen/generic.nix b/pkgs/applications/virtualization/xen/generic.nix
index 434853b7cc12..9efcc45be359 100644
--- a/pkgs/applications/virtualization/xen/generic.nix
+++ b/pkgs/applications/virtualization/xen/generic.nix
@@ -53,8 +53,9 @@ stdenv.mkDerivation (rec {
 
   hardeningDisable = [ "stackprotector" "fortify" "pic" ];
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    cmake pkgconfig which
+    cmake which
 
     # Xen
     bison bzip2 checkpolicy dev86 figlet flex gettext glib iasl libaio
diff --git a/pkgs/applications/window-managers/fvwm/default.nix b/pkgs/applications/window-managers/fvwm/default.nix
index 7587dcb490ae..0b9c286aa9de 100644
--- a/pkgs/applications/window-managers/fvwm/default.nix
+++ b/pkgs/applications/window-managers/fvwm/default.nix
@@ -17,8 +17,9 @@ stdenv.mkDerivation rec {
     sha256 = "01654d5abdcde6dac131cae9befe5cf6f01f9f7524d097c3b0f316e39f84ef73";
   };
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    pkgconfig cairo fontconfig freetype
+    cairo fontconfig freetype
     libXft libXcursor libXinerama libXpm libXt
     librsvg libpng fribidi perl
   ] ++ stdenv.lib.optional gestures libstroke;
diff --git a/pkgs/applications/window-managers/openbox/default.nix b/pkgs/applications/window-managers/openbox/default.nix
index 7b60d573d1e5..ead78bf4efd9 100644
--- a/pkgs/applications/window-managers/openbox/default.nix
+++ b/pkgs/applications/window-managers/openbox/default.nix
@@ -6,8 +6,9 @@ stdenv.mkDerivation rec {
   name = "openbox-${version}";
   version = "3.6.1";
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    pkgconfig libxml2
+    libxml2
     libXinerama libXcursor libXau libXrandr libICE libSM
     libstartup_notification makeWrapper
     python2.pkgs.wrapPython
diff --git a/pkgs/build-support/build-dotnet-package/default.nix b/pkgs/build-support/build-dotnet-package/default.nix
index 2b1b34429c57..f36c69e43392 100644
--- a/pkgs/build-support/build-dotnet-package/default.nix
+++ b/pkgs/build-support/build-dotnet-package/default.nix
@@ -19,8 +19,8 @@ attrsOrig @
     attrs = {
       name = "${baseName}-${version}";
 
+      nativeBuildInputs = [ pkgconfig ];
       buildInputs = [
-        pkgconfig
         mono
         dotnetbuildhelpers
         makeWrapper
diff --git a/pkgs/desktops/gnome-2/desktop/gtksourceview/default.nix b/pkgs/desktops/gnome-2/desktop/gtksourceview/default.nix
index 7c9cd42a0e97..bd8b71d0daca 100644
--- a/pkgs/desktops/gnome-2/desktop/gtksourceview/default.nix
+++ b/pkgs/desktops/gnome-2/desktop/gtksourceview/default.nix
@@ -26,8 +26,9 @@ stdenv.mkDerivation rec {
     })
   ];
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    pkgconfig atk cairo glib gtk
+    atk cairo glib gtk
     pango libxml2Python perl intltool
     gettext
   ] ++ optionals stdenv.isDarwin [
diff --git a/pkgs/desktops/gnome-3/3.24/apps/accerciser/default.nix b/pkgs/desktops/gnome-3/3.24/apps/accerciser/default.nix
index 7a5ab769cc96..545e89a85125 100644
--- a/pkgs/desktops/gnome-3/3.24/apps/accerciser/default.nix
+++ b/pkgs/desktops/gnome-3/3.24/apps/accerciser/default.nix
@@ -5,8 +5,9 @@
 stdenv.mkDerivation rec {
   inherit (import ./src.nix fetchurl) src name;
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    pkgconfig gtk3 wrapGAppsHook itstool libxml2 python3Packages.python python3Packages.pyatspi
+    gtk3 wrapGAppsHook itstool libxml2 python3Packages.python python3Packages.pyatspi
     python3Packages.pygobject3 python3Packages.ipython
     at_spi2_core dbus intltool libwnck3 gnome3.defaultIconTheme
   ];
diff --git a/pkgs/desktops/gnome-3/3.24/apps/gnome-calendar/default.nix b/pkgs/desktops/gnome-3/3.24/apps/gnome-calendar/default.nix
index fbd5d748f5eb..618d6152d81f 100644
--- a/pkgs/desktops/gnome-3/3.24/apps/gnome-calendar/default.nix
+++ b/pkgs/desktops/gnome-3/3.24/apps/gnome-calendar/default.nix
@@ -7,8 +7,9 @@ stdenv.mkDerivation rec {
 
   NIX_CFLAGS_COMPILE = "-I${gnome3.glib.dev}/include/gio-unix-2.0";
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    pkgconfig gtk3 wrapGAppsHook intltool evolution_data_server
+    gtk3 wrapGAppsHook intltool evolution_data_server
     sqlite libxml2 libsoup glib gnome3.defaultIconTheme gnome_online_accounts
     gsettings_desktop_schemas
   ];
diff --git a/pkgs/desktops/gnome-3/3.24/apps/gnome-characters/default.nix b/pkgs/desktops/gnome-3/3.24/apps/gnome-characters/default.nix
index 0c7adcb03192..15f1f58b558c 100644
--- a/pkgs/desktops/gnome-3/3.24/apps/gnome-characters/default.nix
+++ b/pkgs/desktops/gnome-3/3.24/apps/gnome-characters/default.nix
@@ -4,8 +4,9 @@
 stdenv.mkDerivation rec {
   inherit (import ./src.nix fetchurl) name src;
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    pkgconfig gtk3 wrapGAppsHook intltool gjs gdk_pixbuf
+    gtk3 wrapGAppsHook intltool gjs gdk_pixbuf
     librsvg gnome3.gsettings_desktop_schemas gnome3.defaultIconTheme
   ];
 
diff --git a/pkgs/desktops/gnome-3/3.24/apps/gnome-logs/default.nix b/pkgs/desktops/gnome-3/3.24/apps/gnome-logs/default.nix
index 2fc27617d98e..91d5f7d00e49 100644
--- a/pkgs/desktops/gnome-3/3.24/apps/gnome-logs/default.nix
+++ b/pkgs/desktops/gnome-3/3.24/apps/gnome-logs/default.nix
@@ -6,8 +6,9 @@ stdenv.mkDerivation rec {
 
   configureFlags = [ "--disable-tests" ];
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    pkgconfig gtk3 wrapGAppsHook intltool itstool libxml2
+    gtk3 wrapGAppsHook intltool itstool libxml2
     systemd gnome3.gsettings_desktop_schemas gnome3.defaultIconTheme
   ];
 
diff --git a/pkgs/desktops/gnome-3/3.24/apps/gnome-nettool/default.nix b/pkgs/desktops/gnome-3/3.24/apps/gnome-nettool/default.nix
index 4c152777f2cb..dcee87dc799c 100644
--- a/pkgs/desktops/gnome-3/3.24/apps/gnome-nettool/default.nix
+++ b/pkgs/desktops/gnome-3/3.24/apps/gnome-nettool/default.nix
@@ -9,8 +9,9 @@ stdenv.mkDerivation rec {
     sha256 = "1c9cvzvyqgfwa5zzyvp7118pkclji62fkbb33g4y9sp5kw6m397h";
   };
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    pkgconfig gtk3 wrapGAppsHook libgtop intltool itstool libxml2
+    gtk3 wrapGAppsHook libgtop intltool itstool libxml2
     gnome3.defaultIconTheme
   ];
 
diff --git a/pkgs/desktops/gnome-3/3.24/apps/gnome-weather/default.nix b/pkgs/desktops/gnome-3/3.24/apps/gnome-weather/default.nix
index 3b5542544d50..d6804e09a482 100644
--- a/pkgs/desktops/gnome-3/3.24/apps/gnome-weather/default.nix
+++ b/pkgs/desktops/gnome-3/3.24/apps/gnome-weather/default.nix
@@ -4,8 +4,9 @@
 stdenv.mkDerivation rec {
   inherit (import ./src.nix fetchurl) name src;
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    pkgconfig gtk3 wrapGAppsHook gjs intltool itstool
+    gtk3 wrapGAppsHook gjs intltool itstool
     libgweather gnome3.defaultIconTheme geoclue2 gnome3.gsettings_desktop_schemas
   ];
 
diff --git a/pkgs/desktops/gnome-3/3.24/core/gcr/default.nix b/pkgs/desktops/gnome-3/3.24/core/gcr/default.nix
index 55eebf77be59..725388e336a8 100644
--- a/pkgs/desktops/gnome-3/3.24/core/gcr/default.nix
+++ b/pkgs/desktops/gnome-3/3.24/core/gcr/default.nix
@@ -5,8 +5,9 @@
 stdenv.mkDerivation rec {
   inherit (import ./src.nix fetchurl) name src;
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    pkgconfig intltool gnupg glib gobjectIntrospection libxslt
+    intltool gnupg glib gobjectIntrospection libxslt
     libgcrypt libtasn1 dbus_glib gtk pango gdk_pixbuf atk makeWrapper vala_0_32
   ];
 
diff --git a/pkgs/desktops/gnome-3/3.24/devtools/devhelp/default.nix b/pkgs/desktops/gnome-3/3.24/devtools/devhelp/default.nix
index f6e67be8d53a..08dbade67fbf 100644
--- a/pkgs/desktops/gnome-3/3.24/devtools/devhelp/default.nix
+++ b/pkgs/desktops/gnome-3/3.24/devtools/devhelp/default.nix
@@ -4,8 +4,9 @@
 stdenv.mkDerivation rec {
   inherit (import ./src.nix fetchurl) name src;
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    pkgconfig gtk3 wrapGAppsHook webkitgtk intltool gnome3.defaultIconTheme
+    gtk3 wrapGAppsHook webkitgtk intltool gnome3.defaultIconTheme
     gsettings_desktop_schemas
   ];
 
diff --git a/pkgs/desktops/gnome-3/3.24/games/five-or-more/default.nix b/pkgs/desktops/gnome-3/3.24/games/five-or-more/default.nix
index 50a7d2906a77..48b2b3823729 100644
--- a/pkgs/desktops/gnome-3/3.24/games/five-or-more/default.nix
+++ b/pkgs/desktops/gnome-3/3.24/games/five-or-more/default.nix
@@ -4,8 +4,9 @@
 stdenv.mkDerivation rec {
   inherit (import ./src.nix fetchurl) name src;
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    pkgconfig gtk3 wrapGAppsHook librsvg intltool itstool libxml2
+    gtk3 wrapGAppsHook librsvg intltool itstool libxml2
     gnome3.defaultIconTheme
   ];
 
diff --git a/pkgs/desktops/gnome-3/3.24/games/four-in-a-row/default.nix b/pkgs/desktops/gnome-3/3.24/games/four-in-a-row/default.nix
index 68228750cd87..486fe5c486e0 100644
--- a/pkgs/desktops/gnome-3/3.24/games/four-in-a-row/default.nix
+++ b/pkgs/desktops/gnome-3/3.24/games/four-in-a-row/default.nix
@@ -4,8 +4,9 @@
 stdenv.mkDerivation rec {
   inherit (import ./src.nix fetchurl) name src;
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    pkgconfig gtk3 wrapGAppsHook intltool itstool libcanberra_gtk3 librsvg
+    gtk3 wrapGAppsHook intltool itstool libcanberra_gtk3 librsvg
     libxml2 gnome3.defaultIconTheme
   ];
 
diff --git a/pkgs/desktops/gnome-3/3.24/games/gnome-chess/default.nix b/pkgs/desktops/gnome-3/3.24/games/gnome-chess/default.nix
index a96dae3c12cb..bfa345c4a40b 100644
--- a/pkgs/desktops/gnome-3/3.24/games/gnome-chess/default.nix
+++ b/pkgs/desktops/gnome-3/3.24/games/gnome-chess/default.nix
@@ -4,8 +4,9 @@
 stdenv.mkDerivation rec {
   inherit (import ./src.nix fetchurl) name src;
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    pkgconfig gtk3 wrapGAppsHook intltool itstool librsvg libxml2
+    gtk3 wrapGAppsHook intltool itstool librsvg libxml2
     gnome3.defaultIconTheme
   ];
 
diff --git a/pkgs/desktops/gnome-3/3.24/games/gnome-klotski/default.nix b/pkgs/desktops/gnome-3/3.24/games/gnome-klotski/default.nix
index dc2289daff82..13afae2eb2cb 100644
--- a/pkgs/desktops/gnome-3/3.24/games/gnome-klotski/default.nix
+++ b/pkgs/desktops/gnome-3/3.24/games/gnome-klotski/default.nix
@@ -4,8 +4,9 @@
 stdenv.mkDerivation rec {
   inherit (import ./src.nix fetchurl) name src;
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    pkgconfig gtk3 wrapGAppsHook intltool itstool librsvg libxml2 libgee libgames-support
+    gtk3 wrapGAppsHook intltool itstool librsvg libxml2 libgee libgames-support
     gnome3.defaultIconTheme
   ];
 
diff --git a/pkgs/desktops/gnome-3/3.24/games/gnome-mahjongg/default.nix b/pkgs/desktops/gnome-3/3.24/games/gnome-mahjongg/default.nix
index 43db32e88577..3d0d5d6df467 100644
--- a/pkgs/desktops/gnome-3/3.24/games/gnome-mahjongg/default.nix
+++ b/pkgs/desktops/gnome-3/3.24/games/gnome-mahjongg/default.nix
@@ -4,8 +4,9 @@
 stdenv.mkDerivation rec {
   inherit (import ./src.nix fetchurl) name src;
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    pkgconfig gtk3 wrapGAppsHook librsvg intltool itstool libxml2
+    gtk3 wrapGAppsHook librsvg intltool itstool libxml2
     gnome3.defaultIconTheme
   ];
 
diff --git a/pkgs/desktops/gnome-3/3.24/games/gnome-mines/default.nix b/pkgs/desktops/gnome-3/3.24/games/gnome-mines/default.nix
index c55650e705a9..d76e585bb4eb 100644
--- a/pkgs/desktops/gnome-3/3.24/games/gnome-mines/default.nix
+++ b/pkgs/desktops/gnome-3/3.24/games/gnome-mines/default.nix
@@ -4,8 +4,9 @@
 stdenv.mkDerivation rec {
   inherit (import ./src.nix fetchurl) name src;
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    pkgconfig gtk3 wrapGAppsHook librsvg intltool itstool libxml2
+    gtk3 wrapGAppsHook librsvg intltool itstool libxml2
     gnome3.defaultIconTheme libgames-support libgee
   ];
 
diff --git a/pkgs/desktops/gnome-3/3.24/games/gnome-nibbles/default.nix b/pkgs/desktops/gnome-3/3.24/games/gnome-nibbles/default.nix
index cf2282188782..90fdccc11860 100644
--- a/pkgs/desktops/gnome-3/3.24/games/gnome-nibbles/default.nix
+++ b/pkgs/desktops/gnome-3/3.24/games/gnome-nibbles/default.nix
@@ -5,8 +5,9 @@
 stdenv.mkDerivation rec {
   inherit (import ./src.nix fetchurl) name src;
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    pkgconfig gtk3 wrapGAppsHook intltool itstool libxml2
+    gtk3 wrapGAppsHook intltool itstool libxml2
     librsvg libcanberra_gtk3 clutter_gtk gnome3.defaultIconTheme
     libgee libgames-support
   ];
diff --git a/pkgs/desktops/gnome-3/3.24/games/gnome-robots/default.nix b/pkgs/desktops/gnome-3/3.24/games/gnome-robots/default.nix
index 9eafb166eee8..cd13e6ab9585 100644
--- a/pkgs/desktops/gnome-3/3.24/games/gnome-robots/default.nix
+++ b/pkgs/desktops/gnome-3/3.24/games/gnome-robots/default.nix
@@ -5,8 +5,9 @@
 stdenv.mkDerivation rec {
   inherit (import ./src.nix fetchurl) name src;
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    pkgconfig gtk3 wrapGAppsHook intltool itstool librsvg libcanberra_gtk3
+    gtk3 wrapGAppsHook intltool itstool librsvg libcanberra_gtk3
     libxml2 gnome3.defaultIconTheme libgames-support libgee
   ];
 
diff --git a/pkgs/desktops/gnome-3/3.24/games/gnome-taquin/default.nix b/pkgs/desktops/gnome-3/3.24/games/gnome-taquin/default.nix
index 78eaa23e63bd..d456abe6dc1f 100644
--- a/pkgs/desktops/gnome-3/3.24/games/gnome-taquin/default.nix
+++ b/pkgs/desktops/gnome-3/3.24/games/gnome-taquin/default.nix
@@ -4,8 +4,9 @@
 stdenv.mkDerivation rec {
   inherit (import ./src.nix fetchurl) name src;
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    pkgconfig gtk3 wrapGAppsHook librsvg libcanberra_gtk3
+    gtk3 wrapGAppsHook librsvg libcanberra_gtk3
     intltool itstool libxml2 gnome3.defaultIconTheme
   ];
 
diff --git a/pkgs/desktops/gnome-3/3.24/games/gnome-tetravex/default.nix b/pkgs/desktops/gnome-3/3.24/games/gnome-tetravex/default.nix
index d6feab93dba1..37218776f123 100644
--- a/pkgs/desktops/gnome-3/3.24/games/gnome-tetravex/default.nix
+++ b/pkgs/desktops/gnome-3/3.24/games/gnome-tetravex/default.nix
@@ -4,8 +4,9 @@
 stdenv.mkDerivation rec {
   inherit (import ./src.nix fetchurl) name src;
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    pkgconfig gtk3 wrapGAppsHook intltool itstool libxml2 gnome3.defaultIconTheme
+    gtk3 wrapGAppsHook intltool itstool libxml2 gnome3.defaultIconTheme
   ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/desktops/gnome-3/3.24/games/hitori/default.nix b/pkgs/desktops/gnome-3/3.24/games/hitori/default.nix
index bd6be7d43c58..21d4ed6f520e 100644
--- a/pkgs/desktops/gnome-3/3.24/games/hitori/default.nix
+++ b/pkgs/desktops/gnome-3/3.24/games/hitori/default.nix
@@ -9,8 +9,9 @@ stdenv.mkDerivation rec {
     sha256 = "07pm3xl05jgb8x151k1j2ap57dmfvk2nkz9dmqnn5iywfigsysd1";
   };
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    pkgconfig gtk3 wrapGAppsHook intltool itstool libxml2
+    gtk3 wrapGAppsHook intltool itstool libxml2
     gnome3.defaultIconTheme
   ];
 
diff --git a/pkgs/desktops/gnome-3/3.24/misc/pomodoro/default.nix b/pkgs/desktops/gnome-3/3.24/misc/pomodoro/default.nix
index 37cdfc730ab8..8bd611aaefc8 100644
--- a/pkgs/desktops/gnome-3/3.24/misc/pomodoro/default.nix
+++ b/pkgs/desktops/gnome-3/3.24/misc/pomodoro/default.nix
@@ -16,8 +16,9 @@ stdenv.mkDerivation rec {
 
   configureScript = ''./autogen.sh'';
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    which intltool glib gobjectIntrospection pkgconfig libtool
+    which intltool glib gobjectIntrospection libtool
     makeWrapper dbus_glib libcanberra_gtk2 vala_0_32 gst_all_1.gstreamer
     gst_all_1.gst-plugins-base gst_all_1.gst-plugins-good
     gnome3.gsettings_desktop_schemas gnome3.gnome_desktop
diff --git a/pkgs/desktops/xfce/core/thunar-build.nix b/pkgs/desktops/xfce/core/thunar-build.nix
index a68686219ba9..2996040bbd08 100644
--- a/pkgs/desktops/xfce/core/thunar-build.nix
+++ b/pkgs/desktops/xfce/core/thunar-build.nix
@@ -21,8 +21,9 @@ stdenv.mkDerivation rec {
     sed -i -e 's|thunar_dialogs_show_insecure_program (parent, _(".*"), file, exec)|1|' thunar/thunar-file.c
   '';
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    pkgconfig intltool
+    intltool
     gtk dbus_glib libstartup_notification libnotify libexif pcre udev
     exo libxfce4util xfconf xfce4panel
   ];
diff --git a/pkgs/desktops/xfce/core/tumbler.nix b/pkgs/desktops/xfce/core/tumbler.nix
index 9b29835cdc91..6e785c9438bb 100644
--- a/pkgs/desktops/xfce/core/tumbler.nix
+++ b/pkgs/desktops/xfce/core/tumbler.nix
@@ -15,8 +15,9 @@ stdenv.mkDerivation rec {
 
   outputs = [ "out" "dev" "devdoc" ];
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    pkgconfig intltool dbus_glib gdk_pixbuf curl freetype
+    intltool dbus_glib gdk_pixbuf curl freetype
     poppler libgsf bzip2
   ];
 
diff --git a/pkgs/desktops/xfce/thunar-plugins/archive/default.nix b/pkgs/desktops/xfce/thunar-plugins/archive/default.nix
index b954cc4980db..8ff4a74e6bf4 100644
--- a/pkgs/desktops/xfce/thunar-plugins/archive/default.nix
+++ b/pkgs/desktops/xfce/thunar-plugins/archive/default.nix
@@ -18,8 +18,8 @@ stdenv.mkDerivation rec {
     sha256 = "0l8715x23qmk0jkywiza3qx0xxmafxi4grp7p82kkc5df5ccs8kx";
   };
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    pkgconfig
     xfce4_dev_tools
     thunarx-2-dev
     exo gtk libxfce4util libxfce4ui
diff --git a/pkgs/desktops/xfce/thunar-plugins/dropbox/default.nix b/pkgs/desktops/xfce/thunar-plugins/dropbox/default.nix
index e3cdfc13812a..d44281d052d1 100644
--- a/pkgs/desktops/xfce/thunar-plugins/dropbox/default.nix
+++ b/pkgs/desktops/xfce/thunar-plugins/dropbox/default.nix
@@ -14,8 +14,8 @@ stdenv.mkDerivation rec {
     sha256 = "08vhzzzwshyz371yl7fzfylmhvchhv3s5kml3dva4v39jhvrpnkf";
   };
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    pkgconfig
     gtk
     thunarx-2-dev python2
   ];
diff --git a/pkgs/development/compilers/boo/default.nix b/pkgs/development/compilers/boo/default.nix
index 5fa88ab87e9e..d27f498842e3 100644
--- a/pkgs/development/compilers/boo/default.nix
+++ b/pkgs/development/compilers/boo/default.nix
@@ -16,8 +16,9 @@ in stdenv.mkDerivation rec {
     sha256 = "174abdwfpq8i3ijx6bwqll16lx7xwici374rgsbymyk8g8mla094";
   };
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    pkgconfig mono makeWrapper nant shared_mime_info gtksourceview
+    mono makeWrapper nant shared_mime_info gtksourceview
     gtk2
   ];
 
diff --git a/pkgs/development/compilers/fsharp41/default.nix b/pkgs/development/compilers/fsharp41/default.nix
index 488aaa228dae..354723dfa740 100644
--- a/pkgs/development/compilers/fsharp41/default.nix
+++ b/pkgs/development/compilers/fsharp41/default.nix
@@ -11,8 +11,8 @@ stdenv.mkDerivation rec {
     sha256 = "0rfkrk4mzi4w54mfqilvng9ar5swhmnwhsyjc54rx3fd0np3jiyl";
   };
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    pkgconfig
     autoconf
     automake
     which
diff --git a/pkgs/development/compilers/gnu-smalltalk/default.nix b/pkgs/development/compilers/gnu-smalltalk/default.nix
index b75b57d0f476..21c0a5ede91b 100644
--- a/pkgs/development/compilers/gnu-smalltalk/default.nix
+++ b/pkgs/development/compilers/gnu-smalltalk/default.nix
@@ -25,8 +25,9 @@ in stdenv.mkDerivation rec {
 
   # The dependencies and their justification are explained at
   # http://smalltalk.gnu.org/download
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    pkgconfig libtool zip libffi libsigsegv-shared readline gmp gnutls gnome2.gtk
+    libtool zip libffi libsigsegv-shared readline gmp gnutls gnome2.gtk
     cairo SDL sqlite
   ]
   ++ stdenv.lib.optional emacsSupport emacs;
diff --git a/pkgs/development/interpreters/love/0.10.nix b/pkgs/development/interpreters/love/0.10.nix
index a7be084991ba..255bd0351298 100644
--- a/pkgs/development/interpreters/love/0.10.nix
+++ b/pkgs/development/interpreters/love/0.10.nix
@@ -17,8 +17,9 @@ stdenv.mkDerivation rec {
     sha256 = "19yfmlcx6w8yi4ndm5lni8lrsvnn77bxw5py0dc293nzzlaqa9ym";
   };
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    pkgconfig SDL2 mesa openal luajit libdevil freetype physfs libmodplug mpg123
+    SDL2 mesa openal luajit libdevil freetype physfs libmodplug mpg123
     libvorbis libogg libtheora autoconf which libtool automake
   ];
 
diff --git a/pkgs/development/interpreters/love/0.7.nix b/pkgs/development/interpreters/love/0.7.nix
index 09f7e39196cc..114749e90da3 100644
--- a/pkgs/development/interpreters/love/0.7.nix
+++ b/pkgs/development/interpreters/love/0.7.nix
@@ -11,8 +11,9 @@ stdenv.mkDerivation rec {
     sha256 = "0s7jywkvydlshlgy11ilzngrnybmq5xlgzp2v2dhlffwrfqdqym5";
   };
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    pkgconfig SDL mesa openal lua
+    SDL mesa openal lua
     libdevil freetype physfs libmodplug mpg123 libvorbis libogg
   ];
 
diff --git a/pkgs/development/interpreters/love/0.8.nix b/pkgs/development/interpreters/love/0.8.nix
index 2b19f18b3ef3..4e999eca9eeb 100644
--- a/pkgs/development/interpreters/love/0.8.nix
+++ b/pkgs/development/interpreters/love/0.8.nix
@@ -11,8 +11,9 @@ stdenv.mkDerivation rec {
     sha256 = "1k4fcsa8zzi04ja179bmj24hvqcbm3icfvrvrzyz2gw9qwfclrwi";
   };
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    pkgconfig SDL mesa openal lua
+    SDL mesa openal lua
     libdevil freetype physfs libmodplug mpg123 libvorbis libogg
   ];
 
diff --git a/pkgs/development/interpreters/love/0.9.nix b/pkgs/development/interpreters/love/0.9.nix
index 9a9de2ad6f55..83c485f065dd 100644
--- a/pkgs/development/interpreters/love/0.9.nix
+++ b/pkgs/development/interpreters/love/0.9.nix
@@ -11,8 +11,9 @@ stdenv.mkDerivation rec {
     sha256 = "1pikd0bzb44r4bf0jbgn78whz1yswpq1n5jc8nf87v42pm30kp84";
   };
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    pkgconfig SDL2 mesa openal luajit
+    SDL2 mesa openal luajit
     libdevil freetype physfs libmodplug mpg123 libvorbis libogg
   ];
 
diff --git a/pkgs/development/interpreters/renpy/default.nix b/pkgs/development/interpreters/renpy/default.nix
index c2eae32c5b60..cc3eba52bf2d 100644
--- a/pkgs/development/interpreters/renpy/default.nix
+++ b/pkgs/development/interpreters/renpy/default.nix
@@ -23,8 +23,9 @@ stdenv.mkDerivation {
     sha256 = "035342rr39zp7krp08z0xhcl73gqbqyilshgmljq0ynfrxxckn35";
   };
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    python cython pkgconfig wrapPython
+    python cython wrapPython
     SDL2 libpng ffmpeg freetype glew mesa fribidi zlib pygame_sdl2 glib
   ];
 
diff --git a/pkgs/development/libraries/at-spi2-core/default.nix b/pkgs/development/libraries/at-spi2-core/default.nix
index 4d496932f669..a24e792cdd24 100644
--- a/pkgs/development/libraries/at-spi2-core/default.nix
+++ b/pkgs/development/libraries/at-spi2-core/default.nix
@@ -14,8 +14,9 @@ stdenv.mkDerivation rec {
 
   outputs = [ "out" "dev" ];
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    python pkgconfig popt  intltool dbus_glib
+    python popt  intltool dbus_glib
     libX11 xextproto libSM libICE libXtst libXi
     gobjectIntrospection
   ];
diff --git a/pkgs/development/libraries/audio/ntk/default.nix b/pkgs/development/libraries/audio/ntk/default.nix
index 35144862ce9b..9e9dbad74a09 100644
--- a/pkgs/development/libraries/audio/ntk/default.nix
+++ b/pkgs/development/libraries/audio/ntk/default.nix
@@ -9,8 +9,9 @@ stdenv.mkDerivation rec {
     sha256 = "0pph7hf07xaa011zr40cs62f3f7hclfbv5kcrl757gcp2s5pi2iq";
   };
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    cairo libjpeg libXft pkgconfig python2
+    cairo libjpeg libXft python2
   ];
 
   buildPhase = ''
diff --git a/pkgs/development/libraries/box2d/default.nix b/pkgs/development/libraries/box2d/default.nix
index 25d291da3327..61f0fac7ffd0 100644
--- a/pkgs/development/libraries/box2d/default.nix
+++ b/pkgs/development/libraries/box2d/default.nix
@@ -12,8 +12,9 @@ stdenv.mkDerivation rec {
 
   sourceRoot = "Box2D-${version}/Box2D";
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    unzip cmake mesa freeglut libX11 xproto inputproto libXi pkgconfig
+    unzip cmake mesa freeglut libX11 xproto inputproto libXi
   ];
 
   cmakeFlags = [ "-DBOX2D_INSTALL=ON" "-DBOX2D_BUILD_SHARED=ON" ];
diff --git a/pkgs/development/libraries/ffmpeg-sixel/default.nix b/pkgs/development/libraries/ffmpeg-sixel/default.nix
index dced5582cf63..a3ce9ea9c2bf 100644
--- a/pkgs/development/libraries/ffmpeg-sixel/default.nix
+++ b/pkgs/development/libraries/ffmpeg-sixel/default.nix
@@ -13,8 +13,8 @@ stdenv.mkDerivation rec {
     sha256 = "00s2lggfdj2ibpngpyqqg7360p7yb69ys1ppg59yvv0m0mxk5x3k";
   };
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    pkgconfig
     libsixel
     yasm
   ];
diff --git a/pkgs/development/libraries/goffice/0.8.nix b/pkgs/development/libraries/goffice/0.8.nix
index 2da683fcbeb7..e050a615dd17 100644
--- a/pkgs/development/libraries/goffice/0.8.nix
+++ b/pkgs/development/libraries/goffice/0.8.nix
@@ -13,8 +13,9 @@ stdenv.mkDerivation rec {
   # fix linking error: undefined reference to pcre_info
   patches = [ ./pcre_info.patch ]; # inspired by https://bugs.php.net/bug.php?id=60986
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    pkgconfig libglade bzip2 libart intltool gettext
+    libglade bzip2 libart intltool gettext
     gconf libgnomeui pcre
   ];
 
diff --git a/pkgs/development/libraries/gtdialog/default.nix b/pkgs/development/libraries/gtdialog/default.nix
index 8a023be56299..d6f745d399d1 100644
--- a/pkgs/development/libraries/gtdialog/default.nix
+++ b/pkgs/development/libraries/gtdialog/default.nix
@@ -9,13 +9,14 @@ let
     url="http://foicica.com/gtdialog/download/gtdialog_1.3.zip";
     sha256="0y7sln877940bpj0s38cs5s97xg8csnaihh18lmnchf7c2kkbxpq";
   };
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    cdk unzip gtk2 glib ncurses pkgconfig
+    cdk unzip gtk2 glib ncurses
   ];
 in
 stdenv.mkDerivation {
   inherit (s) name version;
-  inherit buildInputs;
+  inherit nativeBuildInputs buildInputs;
   src = fetchurl {
     inherit (s) url sha256;
   };
diff --git a/pkgs/development/libraries/gtk-sharp/2.0.nix b/pkgs/development/libraries/gtk-sharp/2.0.nix
index ca6c4d0dfa63..5b3ca828a3f8 100644
--- a/pkgs/development/libraries/gtk-sharp/2.0.nix
+++ b/pkgs/development/libraries/gtk-sharp/2.0.nix
@@ -32,8 +32,9 @@ stdenv.mkDerivation {
     done
   '';
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    pkgconfig mono glib pango gtk2 GConf libglade libgnomecanvas
+    mono glib pango gtk2 GConf libglade libgnomecanvas
     libgtkhtml libgnomeui libgnomeprint libgnomeprintui gtkhtml libxml2
   ];
 
diff --git a/pkgs/development/libraries/gtk-sharp/3.0.nix b/pkgs/development/libraries/gtk-sharp/3.0.nix
index 459f37afc7fe..3a473d6303ad 100644
--- a/pkgs/development/libraries/gtk-sharp/3.0.nix
+++ b/pkgs/development/libraries/gtk-sharp/3.0.nix
@@ -31,8 +31,9 @@ stdenv.mkDerivation {
   #   done
   # '';
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    pkgconfig mono glib pango gtk3 GConf libglade libgnomecanvas
+    mono glib pango gtk3 GConf libglade libgnomecanvas
     libgtkhtml libgnomeui libgnomeprint libgnomeprintui gtkhtml libxml2
   ];
 
diff --git a/pkgs/development/libraries/gtkspellmm/default.nix b/pkgs/development/libraries/gtkspellmm/default.nix
index be2ae0440229..04456b440193 100644
--- a/pkgs/development/libraries/gtkspellmm/default.nix
+++ b/pkgs/development/libraries/gtkspellmm/default.nix
@@ -21,8 +21,8 @@ stdenv.mkDerivation rec {
     gtkspell3
   ];
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    pkgconfig
     gtk3 glib glibmm gtkmm3
   ];
 
diff --git a/pkgs/development/libraries/gusb/default.nix b/pkgs/development/libraries/gusb/default.nix
index 0157fa1762c7..93f24b0f7225 100644
--- a/pkgs/development/libraries/gusb/default.nix
+++ b/pkgs/development/libraries/gusb/default.nix
@@ -14,8 +14,9 @@ stdenv.mkDerivation rec {
 
   preConfigure = "./autogen.sh";
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    pkgconfig autoconf automake libtool which gtkdoc gettext gobjectIntrospection libxslt
+    autoconf automake libtool which gtkdoc gettext gobjectIntrospection libxslt
     systemd vala_0_23 glib
   ];
 
diff --git a/pkgs/development/libraries/hivex/default.nix b/pkgs/development/libraries/hivex/default.nix
index eced02fd33e3..7b4b9866d041 100644
--- a/pkgs/development/libraries/hivex/default.nix
+++ b/pkgs/development/libraries/hivex/default.nix
@@ -12,8 +12,9 @@ stdenv.mkDerivation rec {
 
   patches = [ ./hivex-syms.patch ];
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    pkgconfig autoreconfHook makeWrapper
+    autoreconfHook makeWrapper
     perl libxml2 IOStringy
   ];
 
diff --git a/pkgs/development/libraries/hyena/default.nix b/pkgs/development/libraries/hyena/default.nix
index 2c1ca6aeb1e8..edd35bd27e44 100644
--- a/pkgs/development/libraries/hyena/default.nix
+++ b/pkgs/development/libraries/hyena/default.nix
@@ -9,8 +9,9 @@ stdenv.mkDerivation rec {
     sha256 = "eb7154a42b6529bb9746c39272719f3168d6363ed4bad305a916ed7d90bc8de9";
   };
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    pkgconfig mono gtk-sharp-2_0
+    mono gtk-sharp-2_0
   ];
 
   postPatch = ''
diff --git a/pkgs/development/libraries/keybinder/default.nix b/pkgs/development/libraries/keybinder/default.nix
index 838affca77a3..5ce1b8ec13cc 100644
--- a/pkgs/development/libraries/keybinder/default.nix
+++ b/pkgs/development/libraries/keybinder/default.nix
@@ -14,8 +14,9 @@ in stdenv.mkDerivation rec {
     sha256 = "0kkplz5snycik5xknwq1s8rnmls3qsp32z09mdpmaacydcw7g3cf";
   };
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    autoconf automake libtool pkgconfig gnome3.gnome_common gtk_doc gnome3.gtk3
+    autoconf automake libtool gnome3.gnome_common gtk_doc gnome3.gtk3
     python pygobject3 pygtk lua libX11 libXext libXrender gobjectIntrospection gtk2
   ];
 
diff --git a/pkgs/development/libraries/keybinder3/default.nix b/pkgs/development/libraries/keybinder3/default.nix
index cfc8590c6390..f4158f7edbb4 100644
--- a/pkgs/development/libraries/keybinder3/default.nix
+++ b/pkgs/development/libraries/keybinder3/default.nix
@@ -13,8 +13,9 @@ stdenv.mkDerivation rec {
     sha256 = "1jdcrfhvqffhc2h69197wkpc5j5synk5mm8rqhz27qfrfhh4vf0q";
   };
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    autoconf automake libtool pkgconfig gnome3.gnome_common gtk_doc
+    autoconf automake libtool gnome3.gnome_common gtk_doc
     libX11 libXext libXrender gobjectIntrospection gtk3
   ];
 
diff --git a/pkgs/development/libraries/ldb/default.nix b/pkgs/development/libraries/ldb/default.nix
index 54196ae48ffe..4f2785675f08 100644
--- a/pkgs/development/libraries/ldb/default.nix
+++ b/pkgs/development/libraries/ldb/default.nix
@@ -12,8 +12,9 @@ stdenv.mkDerivation rec {
 
   outputs = [ "out" "dev" ];
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    python pkgconfig readline tdb talloc tevent popt
+    python readline tdb talloc tevent popt
     libxslt docbook_xsl docbook_xml_dtd_42
   ];
 
diff --git a/pkgs/development/libraries/libcanberra/default.nix b/pkgs/development/libraries/libcanberra/default.nix
index 25be48026992..1b2cf4084f93 100644
--- a/pkgs/development/libraries/libcanberra/default.nix
+++ b/pkgs/development/libraries/libcanberra/default.nix
@@ -9,8 +9,9 @@ stdenv.mkDerivation rec {
     sha256 = "0wps39h8rx2b00vyvkia5j40fkak3dpipp1kzilqla0cgvk73dn2";
   };
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    pkgconfig libtool alsaLib libpulseaudio libvorbis gtk libcap
+    libtool alsaLib libpulseaudio libvorbis gtk libcap
     /*gstreamer gst-plugins-base*/      # ToDo: gstreamer not found (why?), add (g)udev?
   ];
 
diff --git a/pkgs/development/libraries/libe-book/default.nix b/pkgs/development/libraries/libe-book/default.nix
index 1e374b8ad1fd..3c900f86917e 100644
--- a/pkgs/development/libraries/libe-book/default.nix
+++ b/pkgs/development/libraries/libe-book/default.nix
@@ -12,8 +12,10 @@ let
     url="mirror://sourceforge/project/libebook/libe-book-0.1.2/libe-book-0.1.2.tar.xz";
     sha256="1v48pd32r2pfysr3a3igc4ivcf6vvb26jq4pdkcnq75p70alp2bz";
   };
+
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    gperf pkgconfig librevenge libxml2 boost icu cppunit zlib
+    gperf librevenge libxml2 boost icu cppunit zlib
   ];
 
   # Boost 1.59 compatability fix
@@ -24,7 +26,7 @@ let
 in
 stdenv.mkDerivation {
   inherit (s) name version;
-  inherit buildInputs postPatch;
+  inherit nativeBuildInputs buildInputs postPatch;
   src = fetchurl {
     inherit (s) url sha256;
   };
diff --git a/pkgs/development/libraries/libguestfs/default.nix b/pkgs/development/libraries/libguestfs/default.nix
index 73424902cd09..bfdd0cf8fd74 100644
--- a/pkgs/development/libraries/libguestfs/default.nix
+++ b/pkgs/development/libraries/libguestfs/default.nix
@@ -18,8 +18,9 @@ stdenv.mkDerivation rec {
     sha256 = "0dhb69b7svjgnrmbyvizdz5vsgsrr95ypz0qvp3kz83jyj6sa76m";
   };
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    makeWrapper pkgconfig autoreconfHook ncurses cpio gperf perl
+    makeWrapper autoreconfHook ncurses cpio gperf perl
     cdrkit flex bison qemu pcre augeas libxml2 acl libcap libcap_ng libconfig
     systemd fuse yajl libvirt gmp readline file hivex libintlperl GetoptLong
     SysVirt numactl xen libapparmor getopt perlPackages.ModuleBuild
diff --git a/pkgs/development/libraries/libmwaw/default.nix b/pkgs/development/libraries/libmwaw/default.nix
index b833945d5119..e1ac659683c9 100644
--- a/pkgs/development/libraries/libmwaw/default.nix
+++ b/pkgs/development/libraries/libmwaw/default.nix
@@ -9,13 +9,15 @@ let
     url="https://netcologne.dl.sourceforge.net/project/libmwaw/libmwaw/libmwaw-0.3.10/libmwaw-0.3.10.tar.xz";
     sha256="087j6kx03ggvqwpl944nnf75qkvi9bag8b0z59phg66gbz0s0imj";
   };
+
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    boost pkgconfig cppunit zlib libwpg libwpd librevenge
+    boost cppunit zlib libwpg libwpd librevenge
   ];
 in
 stdenv.mkDerivation {
   inherit (s) name version;
-  inherit buildInputs;
+  inherit nativeBuildInputs buildInputs;
   src = fetchurl {
     inherit (s) url sha256;
   };
diff --git a/pkgs/development/libraries/libmx/default.nix b/pkgs/development/libraries/libmx/default.nix
index 49760f7fc530..897a769b014d 100644
--- a/pkgs/development/libraries/libmx/default.nix
+++ b/pkgs/development/libraries/libmx/default.nix
@@ -31,8 +31,9 @@ stdenv.mkDerivation rec {
 
   configureScript = "sh autogen.sh";
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    pkgconfig automake autoconf libtool
+    automake autoconf libtool
     intltool
     gobjectIntrospection glib
     gtk2 gtk_doc clutter clutter_gtk
diff --git a/pkgs/development/libraries/libodfgen/default.nix b/pkgs/development/libraries/libodfgen/default.nix
index 341ef3723516..8a3e22ef31f7 100644
--- a/pkgs/development/libraries/libodfgen/default.nix
+++ b/pkgs/development/libraries/libodfgen/default.nix
@@ -9,13 +9,14 @@ let
     url="mirror://sourceforge/project/libwpd/libodfgen/libodfgen-0.1.6/libodfgen-0.1.6.tar.xz";
     sha256="1sdr42f0bigip14zhs51m0zdwwzzl1mwmk882l4khpph8jmi1ch3";
   };
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    boost pkgconfig cppunit zlib libwpg libwpd librevenge
+    boost cppunit zlib libwpg libwpd librevenge
   ];
 in
 stdenv.mkDerivation {
   inherit (s) name version;
-  inherit buildInputs;
+  inherit nativeBuildInputs buildInputs;
   src = fetchurl {
     inherit (s) url sha256;
   };
diff --git a/pkgs/development/libraries/libosinfo/default.nix b/pkgs/development/libraries/libosinfo/default.nix
index b0b22aa18e78..db534d20c89c 100644
--- a/pkgs/development/libraries/libosinfo/default.nix
+++ b/pkgs/development/libraries/libosinfo/default.nix
@@ -10,8 +10,9 @@ stdenv.mkDerivation rec {
     sha256 = "1vcg8ylh7q69s9y6hj94dqfffwfbann3i28yqgfc01navf6yl07s";
   };
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    pkgconfig intltool gobjectIntrospection libsoup libxslt check vala_0_23
+    intltool gobjectIntrospection libsoup libxslt check vala_0_23
   ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/librevenge/default.nix b/pkgs/development/libraries/librevenge/default.nix
index ac5feb1ddc8d..3523eb5c37bc 100644
--- a/pkgs/development/libraries/librevenge/default.nix
+++ b/pkgs/development/libraries/librevenge/default.nix
@@ -9,13 +9,14 @@ let
     url="mirror://sourceforge/project/libwpd/librevenge/librevenge-0.0.4/librevenge-0.0.4.tar.xz";
     sha256="1cj76cz4mqcy2mgv9l5xlc95bypyk8zbq0ls9cswqrs2y0lhfgwk";
   };
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    boost pkgconfig cppunit zlib
+    boost cppunit zlib
   ];
 in
 stdenv.mkDerivation {
   inherit (s) name version;
-  inherit buildInputs;
+  inherit nativeBuildInputs buildInputs;
   src = fetchurl {
     inherit (s) url sha256;
   };
diff --git a/pkgs/development/libraries/libvirt-glib/default.nix b/pkgs/development/libraries/libvirt-glib/default.nix
index 8cebaeee2afd..e41ab5fe5a33 100644
--- a/pkgs/development/libraries/libvirt-glib/default.nix
+++ b/pkgs/development/libraries/libvirt-glib/default.nix
@@ -13,8 +13,9 @@ in stdenv.mkDerivation rec {
     sha256 = "0iwa5sdbii52pjpdm5j37f67sdmf0kpcky4liwhy1nf43k85i4fa";
   };
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    pkgconfig libvirt glib libxml2 intltool libtool yajl nettle libgcrypt
+    libvirt glib libxml2 intltool libtool yajl nettle libgcrypt
     python pygobject2 gobjectIntrospection libcap_ng numactl xen libapparmor
   ];
 
diff --git a/pkgs/development/libraries/mailcore2/default.nix b/pkgs/development/libraries/mailcore2/default.nix
index 03a940801e98..0a64c7c0429a 100644
--- a/pkgs/development/libraries/mailcore2/default.nix
+++ b/pkgs/development/libraries/mailcore2/default.nix
@@ -14,8 +14,9 @@ stdenv.mkDerivation rec {
     sha256 = "1k0l59cdk8np4pff1my07dp7ivf3nchlhcpvm9xizp0my9rqgbxb";
   };
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    libetpan cmake icu cyrus_sasl libctemplate libuchardet pkgconfig glib
+    libetpan cmake icu cyrus_sasl libctemplate libuchardet glib
     libtidy libxml2 libuuid openssl
   ];
 
diff --git a/pkgs/development/libraries/ntdb/default.nix b/pkgs/development/libraries/ntdb/default.nix
index 80e683a32aea..d26b15176aa6 100644
--- a/pkgs/development/libraries/ntdb/default.nix
+++ b/pkgs/development/libraries/ntdb/default.nix
@@ -10,8 +10,9 @@ stdenv.mkDerivation rec {
     sha256 = "0jdzgrz5sr25k83yrw7wqb3r0yj1v04z4s3lhsmnr5z6n5ifhyl1";
   };
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    python pkgconfig readline gettext libxslt docbook_xsl docbook_xml_dtd_42
+    python readline gettext libxslt docbook_xsl docbook_xml_dtd_42
   ];
 
   preConfigure = ''
diff --git a/pkgs/development/libraries/pangoxsl/default.nix b/pkgs/development/libraries/pangoxsl/default.nix
index 38f1496062e6..aae6ed0f688a 100644
--- a/pkgs/development/libraries/pangoxsl/default.nix
+++ b/pkgs/development/libraries/pangoxsl/default.nix
@@ -7,8 +7,8 @@ stdenv.mkDerivation {
     sha256 = "1wcd553nf4nwkrfrh765cyzwj9bsg7zpkndg2hjs8mhwgx04lm8n";
   };
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    pkgconfig
     glib
     pango
   ];
diff --git a/pkgs/development/libraries/qt-5/5.6/qtmultimedia.nix b/pkgs/development/libraries/qt-5/5.6/qtmultimedia.nix
index 7c1cc5da07e3..20e6e364799f 100644
--- a/pkgs/development/libraries/qt-5/5.6/qtmultimedia.nix
+++ b/pkgs/development/libraries/qt-5/5.6/qtmultimedia.nix
@@ -5,8 +5,9 @@
 qtSubmodule {
   name = "qtmultimedia";
   qtInputs = [ qtbase qtdeclarative ];
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    pkgconfig alsaLib gstreamer gst-plugins-base libpulseaudio
+    alsaLib gstreamer gst-plugins-base libpulseaudio
   ];
   qmakeFlags = [ "GST_VERSION=1.0" ];
 }
diff --git a/pkgs/development/libraries/talloc/default.nix b/pkgs/development/libraries/talloc/default.nix
index 125e6b389e33..1e7448b66050 100644
--- a/pkgs/development/libraries/talloc/default.nix
+++ b/pkgs/development/libraries/talloc/default.nix
@@ -10,8 +10,9 @@ stdenv.mkDerivation rec {
     sha256 = "0c3ihyb0jd8mhvi7gg2mr5w1zl2habx6jlkbyxzyckad2q8lkl92";
   };
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    python pkgconfig readline libxslt docbook_xsl docbook_xml_dtd_42
+    python readline libxslt docbook_xsl docbook_xml_dtd_42
   ];
 
   preConfigure = ''
diff --git a/pkgs/development/libraries/tdb/default.nix b/pkgs/development/libraries/tdb/default.nix
index f7449dcf1ab9..7ccd98856f62 100644
--- a/pkgs/development/libraries/tdb/default.nix
+++ b/pkgs/development/libraries/tdb/default.nix
@@ -10,8 +10,9 @@ stdenv.mkDerivation rec {
     sha256 = "0i1l38h0vyck6zkcj4fn2l03spadlmyr1qa1xpdp9dy2ccbm3s1r";
   };
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    python pkgconfig readline libxslt docbook_xsl docbook_xml_dtd_42
+    python readline libxslt docbook_xsl docbook_xml_dtd_42
   ];
 
   preConfigure = ''
diff --git a/pkgs/development/libraries/tevent/default.nix b/pkgs/development/libraries/tevent/default.nix
index 2856f025a888..2982d33e9962 100644
--- a/pkgs/development/libraries/tevent/default.nix
+++ b/pkgs/development/libraries/tevent/default.nix
@@ -10,8 +10,9 @@ stdenv.mkDerivation rec {
     sha256 = "1gccqiibf6ia129xhqrg18anax3sxwfbwm8h4pvsga3ndxg931ap";
   };
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    python pkgconfig readline talloc libxslt docbook_xsl docbook_xml_dtd_42
+    python readline talloc libxslt docbook_xsl docbook_xml_dtd_42
   ];
 
   preConfigure = ''
diff --git a/pkgs/development/libraries/thrift/default.nix b/pkgs/development/libraries/thrift/default.nix
index 4b299eedbd98..55855d05d16e 100644
--- a/pkgs/development/libraries/thrift/default.nix
+++ b/pkgs/development/libraries/thrift/default.nix
@@ -17,8 +17,9 @@ stdenv.mkDerivation rec {
   # pythonFull.buildEnv.override { extraLibs = [ thrift ]; }
   pythonPath = [];
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    boost zlib libevent openssl python pkgconfig bison flex twisted
+    boost zlib libevent openssl python bison flex twisted
   ];
 
   preConfigure = "export PY_PREFIX=$out";
diff --git a/pkgs/development/libraries/vapoursynth-mvtools/default.nix b/pkgs/development/libraries/vapoursynth-mvtools/default.nix
index 1a1e70d89bc7..2fa6710c4faf 100644
--- a/pkgs/development/libraries/vapoursynth-mvtools/default.nix
+++ b/pkgs/development/libraries/vapoursynth-mvtools/default.nix
@@ -13,8 +13,9 @@ stdenv.mkDerivation rec {
     sha256 = "1wjwf1lgfkqz87s0j251g625mw9xmx79zzgrjyhq3wlii73m6qwp";
   };
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    pkgconfig autoreconfHook
+    autoreconfHook
     yasm vapoursynth fftwFloat
   ];
 
diff --git a/pkgs/development/libraries/vapoursynth/default.nix b/pkgs/development/libraries/vapoursynth/default.nix
index b37f28f868ea..6bbf0d066b31 100644
--- a/pkgs/development/libraries/vapoursynth/default.nix
+++ b/pkgs/development/libraries/vapoursynth/default.nix
@@ -20,8 +20,9 @@ stdenv.mkDerivation rec {
     sha256 = "0nabl6949s7awy7rnr4ck52v50xr0hwr280fyzsqixgp8w369jn0";
   };
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    pkgconfig autoreconfHook
+    autoreconfHook
     zimg libass tesseract yasm
     (python3.withPackages (ps: with ps; [ sphinx cython ]))
   ] ++ optional ocrSupport   tesseract
diff --git a/pkgs/development/python-modules/pycangjie/default.nix b/pkgs/development/python-modules/pycangjie/default.nix
index f8ca06eec86d..4995a7146931 100644
--- a/pkgs/development/python-modules/pycangjie/default.nix
+++ b/pkgs/development/python-modules/pycangjie/default.nix
@@ -13,8 +13,9 @@ stdenv.mkDerivation rec {
     sha256 = "12yi09nyffmn4va7lzk4irw349qzlbxgsnb89dh15cnw0xmrin05";
   };
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    autoconf automake libtool pkgconfig libcangjie sqlite python cython
+    autoconf automake libtool libcangjie sqlite python cython
   ];
 
   preConfigure = ''
diff --git a/pkgs/development/tools/analysis/rr/default.nix b/pkgs/development/tools/analysis/rr/default.nix
index e9d7f4ea1941..4cbc3e626768 100644
--- a/pkgs/development/tools/analysis/rr/default.nix
+++ b/pkgs/development/tools/analysis/rr/default.nix
@@ -17,8 +17,9 @@ stdenv.mkDerivation rec {
     patchShebangs .
   '';
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    cmake libpfm zlib python2Packages.python pkgconfig python2Packages.pexpect which procps gdb capnproto
+    cmake libpfm zlib python2Packages.python python2Packages.pexpect which procps gdb capnproto
   ];
   cmakeFlags = [
     "-DCMAKE_C_FLAGS_RELEASE:STRING="
diff --git a/pkgs/development/tools/glslviewer/default.nix b/pkgs/development/tools/glslviewer/default.nix
index a971ae83e637..86f78891b2fc 100644
--- a/pkgs/development/tools/glslviewer/default.nix
+++ b/pkgs/development/tools/glslviewer/default.nix
@@ -25,8 +25,9 @@ stdenv.mkDerivation rec {
     mkdir -p $out/bin
   '';
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    glfw mesa_glu pkgconfig glfw libXrandr libXdamage
+    glfw mesa_glu glfw libXrandr libXdamage
     libXext libXrender libXinerama libXcursor libXxf86vm
     libXi libX11
   ] ++ stdenv.lib.optional stdenv.isDarwin Cocoa;
diff --git a/pkgs/development/tools/godot/default.nix b/pkgs/development/tools/godot/default.nix
index d9171ca09f2b..3100b2c84df7 100644
--- a/pkgs/development/tools/godot/default.nix
+++ b/pkgs/development/tools/godot/default.nix
@@ -13,8 +13,9 @@ stdenv.mkDerivation rec {
     sha256 = "04qbab0icpv3ascr4dqgj18sqvw04a1jypcngb0ji8npa8q9wxb2";
   };
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    gcc scons pkgconfig libX11 libXcursor libXinerama libXrandr libXrender
+    gcc scons libX11 libXcursor libXinerama libXrandr libXrender
     freetype openssl alsaLib libpulseaudio mesa_glu zlib
   ];
 
diff --git a/pkgs/games/ezquake/default.nix b/pkgs/games/ezquake/default.nix
index 85def0596dcc..2c544abddd07 100644
--- a/pkgs/games/ezquake/default.nix
+++ b/pkgs/games/ezquake/default.nix
@@ -14,8 +14,9 @@ stdenv.mkDerivation rec {
     sha256 = "14wck0r64z5haacp7g7qb2qrbhff3x6jfjmn4268dyb9dl5663f2";
   };
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    expat curl jansson libpng libjpeg mesa pcre pkgconfig SDL2 vimNox
+    expat curl jansson libpng libjpeg mesa pcre SDL2 vimNox
   ];
 
   installPhase = with stdenv.lib; let
diff --git a/pkgs/games/hedgewars/default.nix b/pkgs/games/hedgewars/default.nix
index 296687c5d92d..8aba24dd3468 100644
--- a/pkgs/games/hedgewars/default.nix
+++ b/pkgs/games/hedgewars/default.nix
@@ -17,8 +17,9 @@ stdenv.mkDerivation rec {
     sha256 = "14i1wvqbqib9h9092z10g4g0y14r5sp2fdaksvnw687l3ybwi6dn";
   };
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    SDL_ttf SDL_net cmake pkgconfig lua5_1 SDL SDL_mixer SDL_image fpc
+    SDL_ttf SDL_net cmake lua5_1 SDL SDL_mixer SDL_image fpc
     qt4 ghc ffmpeg freeglut makeWrapper physfs
   ];
 
diff --git a/pkgs/games/robotfindskitten/default.nix b/pkgs/games/robotfindskitten/default.nix
index 14af1e3c7886..16e36a03dce0 100644
--- a/pkgs/games/robotfindskitten/default.nix
+++ b/pkgs/games/robotfindskitten/default.nix
@@ -11,8 +11,8 @@ stdenv.mkDerivation rec {
     sha256 = "06fp6b4li50mzw83j3pkzqspm6dpgxgxw03b60xkxlkgg5qa6jbp";
   };
 
-  buildInputs = 
-  [ pkgconfig ncurses ];
+  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [ ncurses ];
 
   meta = {
     description = "Yet another zen simulation; A simple find-the-kitten game";
diff --git a/pkgs/games/spring/springlobby.nix b/pkgs/games/spring/springlobby.nix
index 6ba91feced83..36256d31fda7 100644
--- a/pkgs/games/spring/springlobby.nix
+++ b/pkgs/games/spring/springlobby.nix
@@ -11,8 +11,9 @@ stdenv.mkDerivation rec {
     sha256 = "12iv6h1mz998lzxc2jwkza0m1yvaaq8h05k36i85xyp7g90197jw";
   };
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    cmake wxGTK30 openal pkgconfig curl gettext libtorrentRasterbar pcre jsoncpp
+    cmake wxGTK30 openal curl gettext libtorrentRasterbar pcre jsoncpp
     boost libpng libX11 libnotify gtk2 doxygen makeWrapper glib minizip alure
   ];
 
diff --git a/pkgs/games/super-tux-kart/default.nix b/pkgs/games/super-tux-kart/default.nix
index 4d2db9d293f5..e05f5a92a33a 100644
--- a/pkgs/games/super-tux-kart/default.nix
+++ b/pkgs/games/super-tux-kart/default.nix
@@ -25,8 +25,9 @@ in stdenv.mkDerivation rec {
     })
   ];
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    cmake libtool pkgconfig
+    cmake libtool
     libX11 libXrandr
     openal freealut mesa libvorbis libogg gettext zlib freetype
     curl fribidi bluez libjpeg libpng
diff --git a/pkgs/misc/drivers/epkowa/default.nix b/pkgs/misc/drivers/epkowa/default.nix
index 38cfb75fa091..114568fdd528 100644
--- a/pkgs/misc/drivers/epkowa/default.nix
+++ b/pkgs/misc/drivers/epkowa/default.nix
@@ -91,8 +91,8 @@ stdenv.mkDerivation rec {
     sha256 = "0ryy946h7ddmxh866hfszqfyff1qy4svpsk7w3739v75f4awr9li";
   };
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    pkgconfig
     gtk2
     libxml2
     libtool
diff --git a/pkgs/misc/emulators/fceux/default.nix b/pkgs/misc/emulators/fceux/default.nix
index 42469c5daf4a..ce8f8e030e30 100644
--- a/pkgs/misc/emulators/fceux/default.nix
+++ b/pkgs/misc/emulators/fceux/default.nix
@@ -8,8 +8,9 @@ stdenv.mkDerivation {
     sha256 = "1qg5bygla8ka30b7wqvq6dv84xc7pq0jspffh2jz75d1njyi2kc0";
   };
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    scons zlib SDL lua5_1 pkgconfig
+    scons zlib SDL lua5_1
   ];
 
   phases = "unpackPhase buildPhase";
diff --git a/pkgs/misc/screensavers/alock/default.nix b/pkgs/misc/screensavers/alock/default.nix
index f05073469b73..1dc03e1e9f03 100644
--- a/pkgs/misc/screensavers/alock/default.nix
+++ b/pkgs/misc/screensavers/alock/default.nix
@@ -20,8 +20,9 @@ stdenv.mkDerivation rec {
     "--enable-imlib2"
   ];
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    pkgconfig autoreconfHook libX11
+    autoreconfHook libX11
     pam libgcrypt libXrender imlib2
   ];
 
diff --git a/pkgs/os-specific/linux/btfs/default.nix b/pkgs/os-specific/linux/btfs/default.nix
index e51cc582ccf6..6cc4dc6f6d51 100644
--- a/pkgs/os-specific/linux/btfs/default.nix
+++ b/pkgs/os-specific/linux/btfs/default.nix
@@ -12,8 +12,9 @@ stdenv.mkDerivation rec {
     sha256 = "0v0mypwnx832f7vg52wmiw0lyz7rrkhqsgi7zc261ak1gfaw4nwd";
   };
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    boost autoreconfHook pkgconfig
+    boost autoreconfHook
     fuse libtorrentRasterbar curl
   ];
 
diff --git a/pkgs/os-specific/linux/directvnc/default.nix b/pkgs/os-specific/linux/directvnc/default.nix
index 4c47104c5b67..a63aceedee37 100644
--- a/pkgs/os-specific/linux/directvnc/default.nix
+++ b/pkgs/os-specific/linux/directvnc/default.nix
@@ -9,8 +9,9 @@ stdenv.mkDerivation rec {
     sha256 = "1is9hca8an1b1n8436wkv7s08ml5lb95f7h9vznx9br597f106w9";
   };
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    pkgconfig directfb zlib libjpeg xproto
+    directfb zlib libjpeg xproto
   ];
       
   meta = {
diff --git a/pkgs/os-specific/linux/eudev/default.nix b/pkgs/os-specific/linux/eudev/default.nix
index 9e61c377ecf9..091a0d4b46f4 100644
--- a/pkgs/os-specific/linux/eudev/default.nix
+++ b/pkgs/os-specific/linux/eudev/default.nix
@@ -8,13 +8,15 @@ let
     url="http://dev.gentoo.org/~blueness/eudev/eudev-${version}.tar.gz";
     sha256 = "06gyyl90n85x8i7lfhns514y1kg1ians13l467admyzy3kjxkqsp";
   };
+
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    glib pkgconfig gperf utillinux
+    glib gperf utillinux
   ];
 in
 stdenv.mkDerivation {
   inherit (s) name version;
-  inherit buildInputs;
+  inherit nativeBuildInputs buildInputs;
   src = fetchurl {
     inherit (s) url sha256;
   };
diff --git a/pkgs/os-specific/linux/xsensors/default.nix b/pkgs/os-specific/linux/xsensors/default.nix
index a392d065e419..5f7bca097bf6 100644
--- a/pkgs/os-specific/linux/xsensors/default.nix
+++ b/pkgs/os-specific/linux/xsensors/default.nix
@@ -7,8 +7,9 @@ stdenv.mkDerivation rec {
     url = "http://www.linuxhardware.org/xsensors/xsensors-${version}.tar.gz";
     sha256 = "1siplsfgvcxamyqf44h71jx6jdfmvhfm7mh0y1q8ps4zs6pj2zwh";
   };
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    gtk2 pkgconfig lm_sensors
+    gtk2 lm_sensors
   ];
   patches = [
     ./remove-unused-variables.patch
diff --git a/pkgs/servers/dns/pdns-recursor/default.nix b/pkgs/servers/dns/pdns-recursor/default.nix
index 70deadb74e14..0e8d1e70bc70 100644
--- a/pkgs/servers/dns/pdns-recursor/default.nix
+++ b/pkgs/servers/dns/pdns-recursor/default.nix
@@ -18,8 +18,9 @@ stdenv.mkDerivation rec {
     sha256 = "0k8y9zxj2lz4rq782vgzr28yd43q0hwlnvszwq0k9l6c967pff13";
   };
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    boost openssl pkgconfig systemd
+    boost openssl systemd
   ] ++ optional enableLua [ lua luajit ]
     ++ optional enableProtoBuf protobuf;
 
diff --git a/pkgs/servers/ldap/389/default.nix b/pkgs/servers/ldap/389/default.nix
index a2571600dfe7..637b7dd8b92b 100644
--- a/pkgs/servers/ldap/389/default.nix
+++ b/pkgs/servers/ldap/389/default.nix
@@ -12,8 +12,9 @@ stdenv.mkDerivation rec {
     sha256 = "1r1n44xfvy51r4r1180dfmjziyj3pqxwmnv6rjvvvjjm87fslmdd";
   };
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    pkgconfig perl pam nspr nss openldap db cyrus_sasl svrcore icu
+    perl pam nspr nss openldap db cyrus_sasl svrcore icu
     net_snmp kerberos pcre
   ] ++ (with perlPackages; [ MozillaLdap NetAddrIP DBFile ]);
 
diff --git a/pkgs/servers/search/sphinxsearch/default.nix b/pkgs/servers/search/sphinxsearch/default.nix
index 17095750dbfd..ead0c095d5c9 100644
--- a/pkgs/servers/search/sphinxsearch/default.nix
+++ b/pkgs/servers/search/sphinxsearch/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
     "--enable-id64"
   ];
 
-  buildInputs = [
+  nativeBuildInputs = [
     pkgconfig
   ];
 
diff --git a/pkgs/servers/sip/freeswitch/default.nix b/pkgs/servers/sip/freeswitch/default.nix
index 9f7e2b297ee3..9a1ea5b55800 100644
--- a/pkgs/servers/sip/freeswitch/default.nix
+++ b/pkgs/servers/sip/freeswitch/default.nix
@@ -15,8 +15,9 @@ stdenv.mkDerivation rec {
       --replace AS=\''${AS} AS=yasm
   '';
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    openssl ncurses curl pkgconfig gnutls readline perl libjpeg
+    openssl ncurses curl gnutls readline perl libjpeg
     sqlite pcre speex ldns libedit yasm which lua libopus
     libsndfile
   ];
diff --git a/pkgs/tools/X11/ksuperkey/default.nix b/pkgs/tools/X11/ksuperkey/default.nix
index a753f9bd170e..cd80e3286576 100644
--- a/pkgs/tools/X11/ksuperkey/default.nix
+++ b/pkgs/tools/X11/ksuperkey/default.nix
@@ -3,8 +3,9 @@
 stdenv.mkDerivation rec {
   name = "ksuperkey-git-2015-07-21";
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    libX11 libXtst pkgconfig inputproto libXi xproto xextproto
+    libX11 libXtst inputproto libXi xproto xextproto
   ];
 
   src = fetchgit {
diff --git a/pkgs/tools/X11/obconf/default.nix b/pkgs/tools/X11/obconf/default.nix
index e25fa43f1807..2e02338631b4 100644
--- a/pkgs/tools/X11/obconf/default.nix
+++ b/pkgs/tools/X11/obconf/default.nix
@@ -10,8 +10,9 @@ stdenv.mkDerivation rec {
     sha256 = "1fanjdmd8727kk74x5404vi8v7s4kpq48l583d12fsi4xvsfb8vi";
   };
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    pkgconfig gtk2 libglade libSM openbox imlib2 libstartup_notification
+    gtk2 libglade libSM openbox imlib2 libstartup_notification
     makeWrapper
   ];
 
diff --git a/pkgs/tools/X11/xpra/default.nix b/pkgs/tools/X11/xpra/default.nix
index aa0ae36fdd29..00f28c2c7bab 100644
--- a/pkgs/tools/X11/xpra/default.nix
+++ b/pkgs/tools/X11/xpra/default.nix
@@ -18,8 +18,9 @@ in buildPythonApplication rec {
     sha256 = "09hzgbsj9v5qyh41rbz968ipi7016jk66b60vm6piryna9kbnha3";
   };
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    cython pkgconfig
+    cython
 
     xorg.libX11 xorg.renderproto xorg.libXrender xorg.libXi xorg.inputproto xorg.kbproto
     xorg.randrproto xorg.damageproto xorg.compositeproto xorg.xextproto xorg.recordproto
diff --git a/pkgs/tools/X11/xpra/gtk3.nix b/pkgs/tools/X11/xpra/gtk3.nix
index f66b7389f315..92f1827156b6 100644
--- a/pkgs/tools/X11/xpra/gtk3.nix
+++ b/pkgs/tools/X11/xpra/gtk3.nix
@@ -19,9 +19,8 @@ buildPythonApplication rec {
     substituteInPlace xpra/client/gtk3/cairo_workaround.pyx --replace 'pycairo/pycairo.h' 'py3cairo.h'
   '';
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    pkgconfig
-
     xorg.libX11 xorg.renderproto xorg.libXrender xorg.libXi xorg.inputproto xorg.kbproto
     xorg.randrproto xorg.damageproto xorg.compositeproto xorg.xextproto xorg.recordproto
     xorg.xproto xorg.fixesproto xorg.libXtst xorg.libXfixes xorg.libXcomposite xorg.libXdamage
diff --git a/pkgs/tools/X11/xwinmosaic/default.nix b/pkgs/tools/X11/xwinmosaic/default.nix
index 40956f2acc4d..e36808db0b8c 100644
--- a/pkgs/tools/X11/xwinmosaic/default.nix
+++ b/pkgs/tools/X11/xwinmosaic/default.nix
@@ -1,18 +1,18 @@
-{stdenv, fetchgit, gtk2, cmake, pkgconfig}:
-let
-  buildInputs = [
-    gtk2 cmake pkgconfig
-  ];
-in
+{ stdenv, fetchgit, gtk2, cmake, pkgconfig }:
+
 stdenv.mkDerivation rec {
   version = "0.4.2";
   name = "xwinmosaic-${version}";
-  inherit buildInputs;
+
   src = fetchgit {
     url = "https://github.com/soulthreads/xwinmosaic/";
     rev = "refs/tags/v0.4.2";
     sha256 = "16qhrpgn84fz0q3nfvaz5sisc82zk6y7c0sbvbr69zfx5fwbs1rr";
   };
+
+  nativeBuildInputs = [ pkgconfig cmake ];
+  buildInputs = [ gtk2 ];
+
   meta = {
     inherit version;
     description = ''X window switcher drawing a colourful grid'';
diff --git a/pkgs/tools/admin/gtk-vnc/default.nix b/pkgs/tools/admin/gtk-vnc/default.nix
index da269049b2ca..59a5ec8d4dad 100644
--- a/pkgs/tools/admin/gtk-vnc/default.nix
+++ b/pkgs/tools/admin/gtk-vnc/default.nix
@@ -15,11 +15,13 @@ in stdenv.mkDerivation rec {
     sha256 = "0gj8dpy3sj4dp810gy67spzh5f0jd8aqg69clcwqjcskj1yawbiw";
   };
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    python gnutls cairo libtool pkgconfig glib libffi libgcrypt
+    python gnutls cairo libtool glib libffi libgcrypt
     intltool cyrus_sasl libpulseaudio perl perlPackages.TextCSV
     gobjectIntrospection libogg libgpgerror
-    gtk3 vala_0_32 pygobject3 ];
+    gtk3 vala_0_32 pygobject3
+  ];
 
   NIX_CFLAGS_COMPILE = "-fstack-protector-all";
   configureFlags = [
diff --git a/pkgs/tools/audio/gvolicon/default.nix b/pkgs/tools/audio/gvolicon/default.nix
index 7354b92aaf94..8fed569f140f 100644
--- a/pkgs/tools/audio/gvolicon/default.nix
+++ b/pkgs/tools/audio/gvolicon/default.nix
@@ -8,8 +8,9 @@ stdenv.mkDerivation {
     sha256 = "1sr9wyy7w898vq63yd003yp3k66hd4vm8b0qsm9zvmwmpiz4wvln";
   };
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    pkgconfig makeWrapper alsaLib gnome3.gtk gdk_pixbuf gnome3.defaultIconTheme
+    makeWrapper alsaLib gnome3.gtk gdk_pixbuf gnome3.defaultIconTheme
     librsvg wrapGAppsHook
   ];
 
diff --git a/pkgs/tools/audio/pa-applet/default.nix b/pkgs/tools/audio/pa-applet/default.nix
index 6e3e5617b311..239e4b3fcca3 100644
--- a/pkgs/tools/audio/pa-applet/default.nix
+++ b/pkgs/tools/audio/pa-applet/default.nix
@@ -9,8 +9,9 @@ stdenv.mkDerivation rec {
     sha256 = "1242sdri67wnm1cd0hr40mxarkh7qs7mb9n2m0g9dbz0f4axj6wa";
   };
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    gtk3 libpulseaudio glibc pkgconfig automake autoconf libnotify libX11 xf86inputevdev
+    gtk3 libpulseaudio glibc automake autoconf libnotify libX11 xf86inputevdev
   ];
 
   preConfigure = ''
diff --git a/pkgs/tools/audio/playerctl/default.nix b/pkgs/tools/audio/playerctl/default.nix
index 38df702cb16e..b04e449835d4 100644
--- a/pkgs/tools/audio/playerctl/default.nix
+++ b/pkgs/tools/audio/playerctl/default.nix
@@ -12,8 +12,9 @@ stdenv.mkDerivation rec {
     sha256 = "0b4pg5pwblgbf6kvvynzh9dshfikxy5c2ks7733n7wza5wkpgmng";
   };
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    which autoconf automake libtool gnome2.gtkdoc glib pkgconfig
+    which autoconf automake libtool gnome2.gtkdoc glib
     gobjectIntrospection
   ];
 
diff --git a/pkgs/tools/compression/pixz/default.nix b/pkgs/tools/compression/pixz/default.nix
index 5ce79cbf4128..2a5250a95aca 100644
--- a/pkgs/tools/compression/pixz/default.nix
+++ b/pkgs/tools/compression/pixz/default.nix
@@ -8,8 +8,9 @@ stdenv.mkDerivation rec {
   version = "1.0.6";
   name = "${baseName}-${version}";
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    autoconf automake libtool pkgconfig asciidoc libxslt libxml2
+    autoconf automake libtool asciidoc libxslt libxml2
     docbook_xml_dtd_45 docbook_xml_xslt
     libarchive lzma
   ];
diff --git a/pkgs/tools/filesystems/btrfs-progs/4.4.1.nix b/pkgs/tools/filesystems/btrfs-progs/4.4.1.nix
index afafa4ec1743..5bbdbfba188d 100644
--- a/pkgs/tools/filesystems/btrfs-progs/4.4.1.nix
+++ b/pkgs/tools/filesystems/btrfs-progs/4.4.1.nix
@@ -12,8 +12,9 @@ stdenv.mkDerivation rec {
     sha256 = "1z5882zx9jx02vyg067siws0irsl8pg37myx17hr4imn9ypf6r4r";
   };
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    pkgconfig attr acl zlib libuuid e2fsprogs lzo
+    attr acl zlib libuuid e2fsprogs lzo
     asciidoc xmlto docbook_xml_dtd_45 docbook_xsl libxslt
   ];
 
diff --git a/pkgs/tools/filesystems/btrfs-progs/default.nix b/pkgs/tools/filesystems/btrfs-progs/default.nix
index d9b01eb5239f..87df30bba1c1 100644
--- a/pkgs/tools/filesystems/btrfs-progs/default.nix
+++ b/pkgs/tools/filesystems/btrfs-progs/default.nix
@@ -12,8 +12,9 @@ stdenv.mkDerivation rec {
     sha256 = "0pswcfmdnfc586770h74abp67gn2xv8fd46vxlimnmn837sj7h41";
   };
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    pkgconfig attr acl zlib libuuid e2fsprogs lzo
+    attr acl zlib libuuid e2fsprogs lzo
     asciidoc xmlto docbook_xml_dtd_45 docbook_xsl libxslt
   ];
 
diff --git a/pkgs/tools/graphics/dmtx-utils/default.nix b/pkgs/tools/graphics/dmtx-utils/default.nix
index 3e4e3e9312ed..4cf4f8c791c4 100644
--- a/pkgs/tools/graphics/dmtx-utils/default.nix
+++ b/pkgs/tools/graphics/dmtx-utils/default.nix
@@ -9,8 +9,9 @@ let
     url="mirror://sourceforge/project/libdmtx/libdmtx/0.7.4/dmtx-utils-0.7.4.tar.gz";
     sha256="1di8ymlziy9856abd6rb72z0zqzmrff4r3vql0q9r5sk5ax4s417";
   };
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    libdmtx pkgconfig imagemagick
+    libdmtx imagemagick
   ];
 in
 stdenv.mkDerivation {
diff --git a/pkgs/tools/graphics/glmark2/default.nix b/pkgs/tools/graphics/glmark2/default.nix
index e37ebb50bf73..0d31f8f1a6f7 100644
--- a/pkgs/tools/graphics/glmark2/default.nix
+++ b/pkgs/tools/graphics/glmark2/default.nix
@@ -12,8 +12,9 @@ stdenv.mkDerivation rec {
     sha256 = "076l75rfl6pnp1wgiwlaihy1vg2advg1z8bi0x84kk259kldgvwn";
   };
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    pkgconfig libjpeg libpng xorg.libxcb libX11 mesa libdrm python27 wayland libudev
+    libjpeg libpng xorg.libxcb libX11 mesa libdrm python27 wayland libudev
   ];
 
   buildPhase = ''
diff --git a/pkgs/tools/graphics/gromit-mpx/default.nix b/pkgs/tools/graphics/gromit-mpx/default.nix
index 376d1bc134df..7261326633a1 100644
--- a/pkgs/tools/graphics/gromit-mpx/default.nix
+++ b/pkgs/tools/graphics/gromit-mpx/default.nix
@@ -14,8 +14,9 @@ stdenv.mkDerivation rec {
     sha256 = "1dkmp5rhzp56sz9cfxill2pkdz2anwb8kkxkypvk2xhqi64cvkrs";
   };
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    autoconf automake autoreconfHook pkgconfig
+    autoconf automake autoreconfHook
     gtk glib pcre libappindicator libpthreadstubs
     libXdmcp libxkbcommon epoxy at_spi2_core
     dbus libdbusmenu-glib
diff --git a/pkgs/tools/graphics/quirc/default.nix b/pkgs/tools/graphics/quirc/default.nix
index a801dd8ebda9..caff97f0e32a 100644
--- a/pkgs/tools/graphics/quirc/default.nix
+++ b/pkgs/tools/graphics/quirc/default.nix
@@ -10,8 +10,9 @@ let
     rev = "5b262480091d5f84a67a4a56c728fc8b39844339";
     sha256 = "1w5qvjafn14s6jjs7kiwsqirlsqbgv0p152hrsq463pm34hp0lzy";
   };
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    SDL SDL_gfx libjpeg pkgconfig libpng
+    SDL SDL_gfx libjpeg libpng
   ];
 in
 stdenv.mkDerivation {
diff --git a/pkgs/tools/inputmethods/ibus/ibus-qt.nix b/pkgs/tools/inputmethods/ibus/ibus-qt.nix
index 95c32532e407..8d02d4edde8e 100644
--- a/pkgs/tools/inputmethods/ibus/ibus-qt.nix
+++ b/pkgs/tools/inputmethods/ibus/ibus-qt.nix
@@ -9,8 +9,9 @@ stdenv.mkDerivation rec {
     sha256 = "1q9g7qghpcf07valc2ni7yf994xqx2pmdffknj7scxfidav6p19g";
   };
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    ibus cmake pkgconfig qt4 icu doxygen
+    ibus cmake qt4 icu doxygen
   ];
 
   cmakeFlags = [ "-DQT_PLUGINS_DIR=lib/qt4/plugins" ];
diff --git a/pkgs/tools/misc/dbus-map/default.nix b/pkgs/tools/misc/dbus-map/default.nix
index b6f483fb4efd..8dcaecf9851c 100644
--- a/pkgs/tools/misc/dbus-map/default.nix
+++ b/pkgs/tools/misc/dbus-map/default.nix
@@ -9,8 +9,9 @@ stdenv.mkDerivation rec {
     rev = "43703fc5e15743309b67131b5ba457b0d6ea7667";
     sha256 = "1pjqn6w29ci8hfxkn1aynzfc8nvy3pqv3hixbxwr7qx20g4rwvdc";
   };
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    pkgconfig glib procps libxml2
+    glib procps libxml2
   ];
   installPhase = ''
     mkdir -p $out/bin
diff --git a/pkgs/tools/misc/fontforge/default.nix b/pkgs/tools/misc/fontforge/default.nix
index ee7854c539ed..c7fd29da8ac4 100644
--- a/pkgs/tools/misc/fontforge/default.nix
+++ b/pkgs/tools/misc/fontforge/default.nix
@@ -32,8 +32,9 @@ stdenv.mkDerivation rec {
   # do not use x87's 80-bit arithmetic, rouding errors result in very different font binaries
   NIX_CFLAGS_COMPILE = lib.optionals stdenv.isi686 [ "-msse2" "-mfpmath=sse" ];
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    autoconf automake gnum4 libtool perl pkgconfig gettext uthash
+    autoconf automake gnum4 libtool perl gettext uthash
     python freetype zlib glib libungif libpng libjpeg libtiff libxml2
   ]
     ++ lib.optionals withSpiro [libspiro]
diff --git a/pkgs/tools/misc/goaccess/default.nix b/pkgs/tools/misc/goaccess/default.nix
index 424a84637a53..8586244b4152 100644
--- a/pkgs/tools/misc/goaccess/default.nix
+++ b/pkgs/tools/misc/goaccess/default.nix
@@ -14,8 +14,8 @@ stdenv.mkDerivation rec {
     "--enable-utf8"
   ];
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    pkgconfig
     geoipWithDatabase
     ncurses
     glib
diff --git a/pkgs/tools/misc/mdbtools/git.nix b/pkgs/tools/misc/mdbtools/git.nix
index 4f76306ab5f9..6289c35f35a7 100644
--- a/pkgs/tools/misc/mdbtools/git.nix
+++ b/pkgs/tools/misc/mdbtools/git.nix
@@ -10,8 +10,9 @@ stdenv.mkDerivation {
     sha256 = "0hlf5lk86xm0bpdlpk4a1zyfvbim76dhvmybxga2p7mbb1jc825l";
   };
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    glib readline bison flex autoreconfHook pkgconfig which txt2man
+    glib readline bison flex autoreconfHook which txt2man
     gnome_doc_utils scrollkeeper libiconv
   ];
 
diff --git a/pkgs/tools/misc/rpm-ostree/default.nix b/pkgs/tools/misc/rpm-ostree/default.nix
index 3e2953c57334..d6cad51ce753 100644
--- a/pkgs/tools/misc/rpm-ostree/default.nix
+++ b/pkgs/tools/misc/rpm-ostree/default.nix
@@ -28,8 +28,9 @@ in stdenv.mkDerivation {
     sha256 = "0a0wwklzk1kvk3bbxxfvxgk4ck5dn7a7v32shqidb674fr2d5pvb";
   };
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    which autoconf automake pkgconfig libtool libcap ostree rpm glib libgsystem gperf
+    which autoconf automake libtool libcap ostree rpm glib libgsystem gperf
     json_glib libarchive libsolv librepo gtk_doc libxslt docbook_xsl docbook_xml_dtd_42
     cmake pcre check python
     # FIXME: get rid of this once libarchive properly propagates this
diff --git a/pkgs/tools/networking/badvpn/default.nix b/pkgs/tools/networking/badvpn/default.nix
index 22da8486a80b..632b52fd1560 100644
--- a/pkgs/tools/networking/badvpn/default.nix
+++ b/pkgs/tools/networking/badvpn/default.nix
@@ -9,8 +9,10 @@ let
     url="https://github.com/ambrop72/badvpn/archive/1.999.130.tar.gz";
     sha256="02b1fra43l75mljkhrq45vcrrqv0znicjn15g7nbqx3jppzbpm5z";
   };
+
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    cmake openssl nss pkgconfig nspr
+    cmake openssl nss nspr
   ];
   compileFlags = "-O3 ${stdenv.lib.optionalString (!debug) "-DNDEBUG"}";
 in
diff --git a/pkgs/tools/networking/driftnet/default.nix b/pkgs/tools/networking/driftnet/default.nix
index 1f34952ad24b..5b39ca464601 100644
--- a/pkgs/tools/networking/driftnet/default.nix
+++ b/pkgs/tools/networking/driftnet/default.nix
@@ -8,8 +8,9 @@ stdenv.mkDerivation rec {
   name = "driftnet-${version}";
   version = "1.1.5";
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    pkgconfig libpcap libjpeg libungif libpng giflib
+    libpcap libjpeg libungif libpng giflib
     glib gtk2 glib cairo pango gdk_pixbuf atk autoreconfHook
   ];
 
diff --git a/pkgs/tools/networking/p2p/rtorrent/default.nix b/pkgs/tools/networking/p2p/rtorrent/default.nix
index 2883043f8b76..d96b5fe49a98 100644
--- a/pkgs/tools/networking/p2p/rtorrent/default.nix
+++ b/pkgs/tools/networking/p2p/rtorrent/default.nix
@@ -18,8 +18,9 @@ stdenv.mkDerivation rec {
     sha256 = "0iyxmjr1984vs7hrnxkfwgrgckacqml0kv4bhj185w9bhjqvgfnf";
   };
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    pkgconfig libtool autoconf automake cppunit
+    libtool autoconf automake cppunit
     libtorrent ncurses libsigcxx curl zlib openssl xmlrpc_c
   ];
 
diff --git a/pkgs/tools/package-management/apt/default.nix b/pkgs/tools/package-management/apt/default.nix
index 8082565361b9..fe7327e7d855 100644
--- a/pkgs/tools/package-management/apt/default.nix
+++ b/pkgs/tools/package-management/apt/default.nix
@@ -24,8 +24,10 @@ stdenv.mkDerivation rec {
     sha256 = "0ahwhmscrmnpvl1r732wg93dzkhv8c1sph2yrqgsrhr73c1616ix";
   };
 
+  nativeBuildInputs = [ pkgconfig ];
+
   buildInputs = [
-    pkgconfig cmake perl curl gtest lzma bzip2 lz4 db dpkg libxslt.bin
+    cmake perl curl gtest lzma bzip2 lz4 db dpkg libxslt.bin
   ] ++ lib.optionals withDocs [
     doxygen Po4a w3m
   ] ++ lib.optionals withNLS [
diff --git a/pkgs/tools/security/gnupg/22.nix b/pkgs/tools/security/gnupg/22.nix
index 7080cda57f41..7bba249db936 100644
--- a/pkgs/tools/security/gnupg/22.nix
+++ b/pkgs/tools/security/gnupg/22.nix
@@ -22,8 +22,9 @@ stdenv.mkDerivation rec {
     sha256 = "1rj538kp3wsdq7rhl8sy1wpwhlsbxcch0cwk64kgz8gpw05lllfl";
   };
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    pkgconfig libgcrypt libassuan libksba libiconv npth gettext texinfo
+    libgcrypt libassuan libksba libiconv npth gettext texinfo
     readline libusb gnutls adns openldap zlib bzip2 sqlite
   ];
 
diff --git a/pkgs/tools/security/opensc/default.nix b/pkgs/tools/security/opensc/default.nix
index 2b606d505bdc..ce310eec5aed 100644
--- a/pkgs/tools/security/opensc/default.nix
+++ b/pkgs/tools/security/opensc/default.nix
@@ -15,8 +15,9 @@ stdenv.mkDerivation rec {
     sha256 = "16y3ryx606nry2li05hm88bllrragdj3sfl3yh7pf71777n4lsk4";
   };
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    autoreconfHook pkgconfig zlib readline openssl pcsclite libassuan
+    autoreconfHook zlib readline openssl pcsclite libassuan
     libXt libxslt libiconv docbook_xml_dtd_412
   ] ++ stdenv.lib.optional stdenv.isDarwin Carbon;
 
diff --git a/pkgs/tools/security/stoken/default.nix b/pkgs/tools/security/stoken/default.nix
index 17652e220da6..464f6d215841 100644
--- a/pkgs/tools/security/stoken/default.nix
+++ b/pkgs/tools/security/stoken/default.nix
@@ -20,8 +20,10 @@ stdenv.mkDerivation rec {
     automake --add-missing --copy
     autoconf
   '';
+
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    autoconf automake libtool pkgconfig
+    autoconf automake libtool
     libxml2 nettle
   ] ++ stdenv.lib.optional withGTK3 gtk3;
 
diff --git a/pkgs/tools/system/collectd/default.nix b/pkgs/tools/system/collectd/default.nix
index 824eb74b72e5..4eb7400d7de7 100644
--- a/pkgs/tools/system/collectd/default.nix
+++ b/pkgs/tools/system/collectd/default.nix
@@ -43,8 +43,9 @@ stdenv.mkDerivation rec {
     sha256 = "14p5cc3ys3qfg71xzxfvmxdmz5l4brpbhlmw1fwdda392lia084x";
   };
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    pkgconfig curl iptables libatasmart libcredis libdbi libgcrypt libmemcached
+    curl iptables libatasmart libcredis libdbi libgcrypt libmemcached
     cyrus_sasl libmodbus libnotify gdk_pixbuf liboping libpcap libsigrok libvirt
     lm_sensors libxml2 lvm2 libmysql postgresql protobufc rabbitmq-c rrdtool
     varnish yajl jdk libtool python udev net_snmp hiredis libmnl libmicrohttpd
diff --git a/pkgs/tools/typesetting/tex/texlive/bin.nix b/pkgs/tools/typesetting/tex/texlive/bin.nix
index 95ee3ab3b713..f1aa861b9c11 100644
--- a/pkgs/tools/typesetting/tex/texlive/bin.nix
+++ b/pkgs/tools/typesetting/tex/texlive/bin.nix
@@ -61,8 +61,8 @@ core = stdenv.mkDerivation rec {
 
   outputs = [ "out" "doc" ];
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    pkgconfig
     /*teckit*/ zziplib poppler mpfr gmp
     pixman potrace gd freetype libpng libpaper zlib
     perl
diff --git a/pkgs/tools/typesetting/xmlroff/default.nix b/pkgs/tools/typesetting/xmlroff/default.nix
index 05ce5057347d..2177937221a1 100644
--- a/pkgs/tools/typesetting/xmlroff/default.nix
+++ b/pkgs/tools/typesetting/xmlroff/default.nix
@@ -10,8 +10,8 @@ stdenv.mkDerivation rec {
     sha256 = "1sczn6xjczsfdxlbjqv4xqlki2a95y2s8ih2nl9v1vhqfk17fiww";
   };
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    pkgconfig
     autoconf
     automake
     libxml2
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 48124ced008f..16aac40f281c 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -6130,13 +6130,13 @@ in {
       sha256 = "0i14bc67200zhzxc41g5dfp2m0pr1zaa2gv59p2va1xw0ji2dc0f";
     };
 
+    nativeBuildInputs = [ pkgs.pkgconfig ];
     buildInputs = with self; [
       nose
       pkgs.libjpeg
       pkgs.libpng
       pkgs.libtiff
       pkgs.libwebp
-      pkgs.pkgconfig
     ];
     propagatedBuildInputs = with self; [ numpy ];
 
@@ -18097,8 +18097,9 @@ in {
       sha256 = "1svlwyl61rvbqbcbalkg6pbf38yjyv7qkq9sx4x35yk69lscaac2";
     };
 
+    nativeBuildInputs = [ pkgs.pkgconfig ];
     buildInputs = [
-      pkgs.pkgconfig pkgs.gtk2 self.pygtk pkgs.libxml2
+      pkgs.gtk2 self.pygtk pkgs.libxml2
       pkgs.libxslt pkgs.libsoup pkgs.webkitgtk24x-gtk2 pkgs.icu
     ];