Merge branch 'master' into staging

This commit is contained in:
Gabriel Ebner
2016-08-02 18:40:34 +02:00
151 changed files with 3006 additions and 1551 deletions

View File

@@ -6,24 +6,18 @@
}:
composableDerivation.composableDerivation {} (fixed: rec {
version = "2.0.2";
version = "2.1.1";
name = "gdal-${version}";
src = fetchurl {
url = "http://download.osgeo.org/gdal/${version}/${name}.tar.gz";
sha256 = "db7722caf8d9dd798ec18012b9cacf40a518918466126a88b9fd277bd7d40cc4";
sha256 = "55fc6ffbe76e9d2e7e6cf637010e5d4bba6a966d065f40194ff798544198236b";
};
buildInputs = [ unzip libjpeg libtiff libpng proj openssl ]
++ (with pythonPackages; [ python numpy wrapPython ])
++ (stdenv.lib.optionals netcdfSupport [ netcdf hdf5 curl ]);
patches = [
# This ensures that the python package is installed into gdal's prefix,
# rather than trying to install into python's prefix.
./python.patch
];
# Don't use optimization for gcc >= 4.3. That's said to be causing segfaults.
# Unset CC and CXX as they confuse libtool.
preConfigure = "export CFLAGS=-O0 CXXFLAGS=-O0; unset CC CXX";

View File

@@ -5,6 +5,6 @@ kdeFramework {
meta = { maintainers = [ lib.maintainers.ttuegel ]; };
outputs = [ "out" ];
nativeBuildInputs = [ ecm ];
propagatedBuildInputs = [ qtsvg ];
buildInputs = [ qtsvg ];
propagatedUserEnvPkgs = [ qtsvg.out ];
}

View File

@@ -26,6 +26,9 @@ let
outputs = args.outputs or [ "dev" "out" ];
propagatedUserEnvPkgs =
builtins.map lib.getBin (args.propagatedBuildInputs or []);
cmakeFlags =
(args.cmakeFlags or [])
++ [ "-DBUILD_TESTING=OFF" ]
@@ -50,6 +53,16 @@ let
} // (args.meta or {});
});
kdeEnv = import ./kde-env.nix {
inherit (pkgs) stdenv lib;
inherit (pkgs.xorg) lndir;
};
kdeWrapper = import ./kde-wrapper.nix {
inherit (pkgs) stdenv lib makeWrapper;
inherit kdeEnv;
};
attica = callPackage ./attica.nix {};
baloo = callPackage ./baloo.nix {};
bluez-qt = callPackage ./bluez-qt.nix {};

View File

@@ -0,0 +1,31 @@
{ stdenv, lib, lndir }:
drv: pkgs:
stdenv.mkDerivation {
name = "kde-env-${drv.name}";
nativeBuildInputs = [ lndir ];
propagatedUserEnvPkgs = builtins.map lib.getBin ([drv] ++ pkgs);
unpackPhase = "true";
configurePhase = "runHook preConfigure; runHook postConfigure";
buildPhase = "true";
installPhase = ''
runHook preInstall
propagated=""
for i in $propagatedUserEnvPkgs; do
findInputs $i propagated propagated-user-env-packages
done
for tgt in bin etc/xdg lib/libexec lib/qt5 share; do
mkdir -p "$out/$tgt"
for p in $propagated; do
if [ -d "$p/$tgt" ]; then
lndir -silent "$p/$tgt" "$out/$tgt" >/dev/null 2>&1
fi
done
done
runHook postInstall
'';
}

View File

@@ -0,0 +1,47 @@
{ stdenv, lib, makeWrapper, kdeEnv }:
drv:
{ targets, paths ? [] }:
let
env = kdeEnv drv paths;
in
stdenv.mkDerivation {
inherit (drv) name;
drv = lib.getBin drv;
inherit env targets;
passthru = { unwrapped = drv; };
nativeBuildInputs = [ makeWrapper ];
unpackPhase = "true";
configurePhase = "runHook preConfigure; runHook postConfigure";
buildPhase = "true";
installPhase = ''
for t in $targets; do
if [ -a "$drv/$t" ]; then
makeWrapper "$drv/$t" "$out/$t" \
--argv0 '"$0"' \
--suffix PATH : "$out/bin:$env/bin" \
--prefix XDG_CONFIG_DIRS : "$env/etc/xdg" \
--prefix XDG_DATA_DIRS : "$env/share" \
--set QML_IMPORT_PATH "$env/lib/qt5/imports" \
--set QML2_IMPORT_PATH "$env/lib/qt5/qml" \
--set QT_PLUGIN_PATH "$env/lib/qt5/plugins"
else
echo "no such file or directory: $drv/$t"
exit 1
fi
done
for s in applications dbus-1 desktop-directories icons mime polkit-1; do
if [ -d "$env/share/$s" ]; then
mkdir -p "$out/share"
ln -s "$env/share/$s" "$out/share/$s"
fi
done
'';
}

View File

@@ -1,57 +1,9 @@
_ecmSetXdgDirs() {
addToSearchPathOnce XDG_DATA_DIRS "$1/share"
addToSearchPathOnce XDG_CONFIG_DIRS "$1/etc/xdg"
addToSearchPathOnce RUNTIME_XDG_CONFIG_DIRS "$1/etc/xdg"
}
_ecmSharePaths=( \
"appdata" \
"applications" \
"config.cfg" \
"dbus-1" \
"desktop-directories" \
"doc" \
"icons" \
"kconf_update" \
"kservices5" \
"kservicetypes5" \
"knotifications5" \
"kxmlgui5" \
"locale" \
"mime" \
"polkit-1" \
"sounds" \
"templates" \
"wallpapers" \
)
_ecmPropagateNative() {
for dir in ${_ecmSharePaths[@]}; do
if [ -d "$1/share/$dir" ]; then
propagateOnce propagatedNativeBuildInputs "$1"
if [ -z "$crossConfig" ]; then
propagateOnce propagatedUserEnvPkgs "$1"
addToSearchPathOnce RUNTIME_XDG_DATA_DIRS "$1/share"
fi
break
fi
done
}
envHooks+=(_ecmSetXdgDirs _ecmPropagate)
_ecmPropagate() {
for dir in ${_ecmSharePaths[@]}; do
if [ -d "$1/share/$dir" ]; then
propagateOnce propagatedBuildInputs "$1"
propagateOnce propagatedUserEnvPkgs "$1"
addToSearchPathOnce RUNTIME_XDG_DATA_DIRS "$1/share"
break
fi
done
}
crossEnvHooks+=(_ecmPropagate)
envHooks+=(_ecmSetXdgDirs)
_ecmConfig() {
# Because we need to use absolute paths here, we must set *all* the paths.
@@ -59,41 +11,41 @@ _ecmConfig() {
cmakeFlags+=" -DKDE_INSTALL_BINDIR=${!outputBin}/bin"
cmakeFlags+=" -DKDE_INSTALL_SBINDIR=${!outputBin}/sbin"
cmakeFlags+=" -DKDE_INSTALL_LIBDIR=${!outputLib}/lib"
cmakeFlags+=" -DKDE_INSTALL_LIBEXECDIR=${!outputLib}/lib/libexec"
cmakeFlags+=" -DKDE_INSTALL_LIBEXECDIR=${!outputBin}/lib/libexec"
cmakeFlags+=" -DKDE_INSTALL_CMAKEPACKAGEDIR=${!outputDev}/lib/cmake"
cmakeFlags+=" -DKDE_INSTALL_QTPLUGINDIR=${!outputLib}/lib/qt5/plugins"
cmakeFlags+=" -DKDE_INSTALL_PLUGINDIR=${!outputLib}/lib/qt5/plugins"
cmakeFlags+=" -DKDE_INSTALL_QTQUICKIMPORTSDIR=${!outputLib}/lib/qt5/imports"
cmakeFlags+=" -DKDE_INSTALL_QMLDIR=${!outputLib}/lib/qt5/qml"
cmakeFlags+=" -DKDE_INSTALL_QTPLUGINDIR=${!outputBin}/lib/qt5/plugins"
cmakeFlags+=" -DKDE_INSTALL_PLUGINDIR=${!outputBin}/lib/qt5/plugins"
cmakeFlags+=" -DKDE_INSTALL_QTQUICKIMPORTSDIR=${!outputBin}/lib/qt5/imports"
cmakeFlags+=" -DKDE_INSTALL_QMLDIR=${!outputBin}/lib/qt5/qml"
cmakeFlags+=" -DKDE_INSTALL_INCLUDEDIR=${!outputInclude}/include"
cmakeFlags+=" -DKDE_INSTALL_LOCALSTATEDIR=/var"
cmakeFlags+=" -DKDE_INSTALL_DATAROOTDIR=${!outputLib}/share"
cmakeFlags+=" -DKDE_INSTALL_DATADIR=${!outputLib}/share"
cmakeFlags+=" -DKDE_INSTALL_DOCBUNDLEDIR=${!outputLib}/share/doc/HTML"
cmakeFlags+=" -DKDE_INSTALL_KCFGDIR=${!outputLib}/share/config.kcfg"
cmakeFlags+=" -DKDE_INSTALL_KCONFUPDATEDIR=${!outputLib}/share/kconf_update"
cmakeFlags+=" -DKDE_INSTALL_KSERVICES5DIR=${!outputLib}/share/kservices5"
cmakeFlags+=" -DKDE_INSTALL_KSERVICETYPES5DIR=${!outputLib}/share/kservicetypes5"
cmakeFlags+=" -DKDE_INSTALL_KXMLGUI5DIR=${!outputLib}/share/kxmlgui5"
cmakeFlags+=" -DKDE_INSTALL_KNOTIFY5RCDIR=${!outputLib}/share/knotifications5"
cmakeFlags+=" -DKDE_INSTALL_ICONDIR=${!outputLib}/share/icons"
cmakeFlags+=" -DKDE_INSTALL_LOCALEDIR=${!outputLib}/share/locale"
cmakeFlags+=" -DKDE_INSTALL_SOUNDDIR=${!outputLib}/share/sounds"
cmakeFlags+=" -DKDE_INSTALL_TEMPLATEDIR=${!outputLib}/share/templates"
cmakeFlags+=" -DKDE_INSTALL_WALLPAPERDIR=${!outputLib}/share/wallpapers"
cmakeFlags+=" -DKDE_INSTALL_APPDIR=${!outputLib}/share/applications"
cmakeFlags+=" -DKDE_INSTALL_DESKTOPDIR=${!outputLib}/share/desktop-directories"
cmakeFlags+=" -DKDE_INSTALL_MIMEDIR=${!outputLib}/share/mime/packages"
cmakeFlags+=" -DKDE_INSTALL_METAINFODIR=${!outputLib}/share/appdata"
cmakeFlags+=" -DKDE_INSTALL_MANDIR=${!outputLib}/share/man"
cmakeFlags+=" -DKDE_INSTALL_INFODIR=${!outputLib}/share/info"
cmakeFlags+=" -DKDE_INSTALL_DBUSDIR=${!outputLib}/share/dbus-1"
cmakeFlags+=" -DKDE_INSTALL_DBUSINTERFACEDIR=${!outputLib}/share/dbus-1/interfaces"
cmakeFlags+=" -DKDE_INSTALL_DBUSSERVICEDIR=${!outputLib}/share/dbus-1/services"
cmakeFlags+=" -DKDE_INSTALL_DBUSSYSTEMSERVICEDIR=${!outputLib}/share/dbus-1/system-services"
cmakeFlags+=" -DKDE_INSTALL_SYSCONFDIR=${!outputLib}/etc"
cmakeFlags+=" -DKDE_INSTALL_CONFDIR=${!outputLib}/etc/xdg"
cmakeFlags+=" -DKDE_INSTALL_AUTOSTARTDIR=${!outputLib}/etc/xdg/autostart"
cmakeFlags+=" -DKDE_INSTALL_DATAROOTDIR=${!outputBin}/share"
cmakeFlags+=" -DKDE_INSTALL_DATADIR=${!outputBin}/share"
cmakeFlags+=" -DKDE_INSTALL_DOCBUNDLEDIR=${!outputBin}/share/doc/HTML"
cmakeFlags+=" -DKDE_INSTALL_KCFGDIR=${!outputBin}/share/config.kcfg"
cmakeFlags+=" -DKDE_INSTALL_KCONFUPDATEDIR=${!outputBin}/share/kconf_update"
cmakeFlags+=" -DKDE_INSTALL_KSERVICES5DIR=${!outputBin}/share/kservices5"
cmakeFlags+=" -DKDE_INSTALL_KSERVICETYPES5DIR=${!outputBin}/share/kservicetypes5"
cmakeFlags+=" -DKDE_INSTALL_KXMLGUI5DIR=${!outputBin}/share/kxmlgui5"
cmakeFlags+=" -DKDE_INSTALL_KNOTIFY5RCDIR=${!outputBin}/share/knotifications5"
cmakeFlags+=" -DKDE_INSTALL_ICONDIR=${!outputBin}/share/icons"
cmakeFlags+=" -DKDE_INSTALL_LOCALEDIR=${!outputBin}/share/locale"
cmakeFlags+=" -DKDE_INSTALL_SOUNDDIR=${!outputBin}/share/sounds"
cmakeFlags+=" -DKDE_INSTALL_TEMPLATEDIR=${!outputBin}/share/templates"
cmakeFlags+=" -DKDE_INSTALL_WALLPAPERDIR=${!outputBin}/share/wallpapers"
cmakeFlags+=" -DKDE_INSTALL_APPDIR=${!outputBin}/share/applications"
cmakeFlags+=" -DKDE_INSTALL_DESKTOPDIR=${!outputBin}/share/desktop-directories"
cmakeFlags+=" -DKDE_INSTALL_MIMEDIR=${!outputBin}/share/mime/packages"
cmakeFlags+=" -DKDE_INSTALL_METAINFODIR=${!outputBin}/share/appdata"
cmakeFlags+=" -DKDE_INSTALL_MANDIR=${!outputBin}/share/man"
cmakeFlags+=" -DKDE_INSTALL_INFODIR=${!outputBin}/share/info"
cmakeFlags+=" -DKDE_INSTALL_DBUSDIR=${!outputBin}/share/dbus-1"
cmakeFlags+=" -DKDE_INSTALL_DBUSINTERFACEDIR=${!outputBin}/share/dbus-1/interfaces"
cmakeFlags+=" -DKDE_INSTALL_DBUSSERVICEDIR=${!outputBin}/share/dbus-1/services"
cmakeFlags+=" -DKDE_INSTALL_DBUSSYSTEMSERVICEDIR=${!outputBin}/share/dbus-1/system-services"
cmakeFlags+=" -DKDE_INSTALL_SYSCONFDIR=${!outputBin}/etc"
cmakeFlags+=" -DKDE_INSTALL_CONFDIR=${!outputBin}/etc/xdg"
cmakeFlags+=" -DKDE_INSTALL_AUTOSTARTDIR=${!outputBin}/etc/xdg/autostart"
}
preConfigureHooks+=(_ecmConfig)

View File

@@ -13,6 +13,10 @@ stdenv.mkDerivation rec {
buildInputs = [ boost cmake curl ];
# curl upgrade to 7.50.0 (#17152) broke the curl mock tests, disabling for now
# upstream bug raised https://tickets.puppetlabs.com/browse/LTH-108
cmakeFlags = [ "-DLEATHERMAN_MOCK_CURL=OFF" ];
meta = with stdenv.lib; {
homepage = https://github.com/puppetlabs/leatherman/;
description = "A collection of C++ and CMake utility libraries";

View File

@@ -1,6 +1,8 @@
{ stdenv, lib, fetchurl, fetchpatch, pkgconfig, libiconv, libintlOrEmpty
, zlib, curl, cairo, freetype, fontconfig, lcms, libjpeg, openjpeg
, minimal ? false, qt4Support ? false, qt4 ? null, qt5Support ? false, qtbase ? null
, minimal ? false
, qt4Support ? false, qt4 ? null
, qt5Support ? false, qtbase ? null
, utils ? false, suffix ? "glib"
}:
@@ -31,6 +33,9 @@ stdenv.mkDerivation rec {
NIX_CFLAGS_COMPILE = [ "-DQT_NO_DEBUG" ];
# Any package depending on Qt >= 5.7 must build using the C++11 standard.
CXXFLAGS = lib.optional qt5Support "-std=c++11";
configureFlags = with lib;
[
"--enable-xpdf-headers"