Merge remote-tracking branch 'central/master' into viric_clean

This commit is contained in:
Lluís Batlle i Rossell
2018-07-28 19:25:14 +02:00
292 changed files with 11331 additions and 3672 deletions

View File

@@ -27,6 +27,8 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ meson ninja pkgconfig ];
buildInputs = [ at-spi2-core atk dbus glib libxml2 ];
doCheck = false; # fails with "No test data file provided"
passthru = {
updateScript = gnome3.updateScript {
packageName = pname;

View File

@@ -30,6 +30,8 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ meson ninja pkgconfig gobjectIntrospection ];
buildInputs = [ dbus glib libX11 libXtst libXi ];
doCheck = false; # fails with "AT-SPI: Couldn't connect to accessibility bus. Is at-spi-bus-launcher running?"
passthru = {
updateScript = gnome3.updateScript {
packageName = pname;

View File

@@ -0,0 +1,26 @@
{ stdenv, fetchFromGitHub, cmake, zlib }:
stdenv.mkDerivation rec {
name = "libmysofa-${version}";
version = "0.6";
src = fetchFromGitHub {
owner = "hoene";
repo = "libmysofa";
rev = "v${version}";
sha256 = "160gcmsn6dwaca29bs95nsgjdalwc299lip0h37k3jcbxxkchgsh";
};
nativeBuildInputs = [ cmake ];
buildInputs = [ zlib ];
cmakeFlags = [ "-DBUILD_TESTS=OFF" ];
meta = with stdenv.lib; {
description = "Reader for AES SOFA files to get better HRTFs";
homepage = https://github.com/hoene/libmysofa;
license = licenses.bsd3;
platforms = platforms.all;
maintainers = with maintainers; [ jfrankenau ];
};
}

View File

@@ -1,8 +1,14 @@
{ stdenv, callPackage, fetchurl, hostPlatform, buildPlatform, ... } @ args:
{ stdenv, callPackage, fetchurl, fetchpatch, hostPlatform, buildPlatform, ... } @ args:
callPackage ./generic.nix (args // rec {
version = "1.67_0";
patches = [ (fetchpatch {
url = "https://github.com/boostorg/lockfree/commit/12726cda009a855073b9bedbdce57b6ce7763da2.patch";
sha256 = "0x65nkwzv8fdacj8sw5njl3v63jj19dirrpklbwy6qpsncw7fc7h";
stripLen = 1;
})];
src = fetchurl {
url = "mirror://sourceforge/boost/boost_1_67_0.tar.bz2";
# SHA256 from http://www.boost.org/users/history/version_1_66_0.html

View File

@@ -0,0 +1,59 @@
diff -urN dbxml-6.1.4.orig/dbxml/src/dbxml/nodeStore/NsUpdate.cpp dbxml-6.1.4/dbxml/src/dbxml/nodeStore/NsUpdate.cpp
--- dbxml-6.1.4.orig/dbxml/src/dbxml/nodeStore/NsUpdate.cpp 2017-05-01 16:05:29.000000000 +0100
+++ dbxml-6.1.4/dbxml/src/dbxml/nodeStore/NsUpdate.cpp 2017-09-04 11:50:20.000000000 +0100
@@ -1359,21 +1359,13 @@
void NsUpdate::attributeRemoved(const DbXmlNodeImpl &node)
{
string key = makeKey(node);
-#if defined(_MSC_VER) && (_MSC_VER>1600)
attrMap_.insert(make_pair(key,node.getIndex()));
-#else
- attrMap_.insert(make_pair<const std::string, int>(key,node.getIndex()));
-#endif
}
void NsUpdate::textRemoved(const DbXmlNodeImpl &node)
{
string key = makeKey(node);
-#if defined(_MSC_VER) && (_MSC_VER>1600)
textDeleteMap_.insert(make_pair(key,node.getIndex()));
-#else
- textDeleteMap_.insert(make_pair<const std::string, int>(key,node.getIndex()));
-#endif
}
void NsUpdate::textRemoved(int index, const NsNid &nid,
@@ -1381,21 +1373,13 @@
const std::string &cname)
{
string key = makeKey(nid, did, cname);
-#if defined(_MSC_VER) && (_MSC_VER>1600)
textDeleteMap_.insert(make_pair(key,index));
-#else
- textDeleteMap_.insert(make_pair<const std::string, int>(key,index));
-#endif
}
void NsUpdate::textInserted(int index, const DbXmlNodeImpl &node)
{
string key = makeKey(node);
-#if defined(_MSC_VER) && (_MSC_VER>1600)
textInsertMap_.insert(make_pair(key,index));
-#else
- textInsertMap_.insert(make_pair<const std::string, int>(key,index));
-#endif
}
void NsUpdate::textInserted(int index, const NsNid &nid,
@@ -1403,11 +1387,7 @@
const std::string &cname)
{
string key = makeKey(nid, did, cname);
-#if defined(_MSC_VER) && (_MSC_VER>1600)
textInsertMap_.insert(make_pair(key,index));
-#else
- textInsertMap_.insert(make_pair<const std::string, int>(key,index));
-#endif
}
//

View File

@@ -0,0 +1,38 @@
{ stdenv, fetchurl, db62, xercesc, xqilla }:
stdenv.mkDerivation rec {
name = "dbxml-${version}";
version = "6.1.4";
src = fetchurl {
url = "http://download.oracle.com/berkeley-db/${name}.tar.gz";
sha256 = "a8fc8f5e0c3b6e42741fa4dfc3b878c982ff8f5e5f14843f6a7e20d22e64251a";
};
patches = [
./cxx11.patch
./incorrect-optimization.patch
];
buildInputs = [
db62 xercesc xqilla
];
configureFlags = [
"--with-berkeleydb=${db62.out}"
"--with-xerces=${xercesc}"
"--with-xqilla=${xqilla}"
];
preConfigure = ''
cd dbxml
'';
meta = with stdenv.lib; {
homepage = https://www.oracle.com/database/berkeley-db/xml.html;
description = "Embeddable XML database based on Berkeley DB";
license = licenses.agpl3;
maintainers = with maintainers; [ danieldk ];
platforms = platforms.unix;
};
}

View File

@@ -0,0 +1,34 @@
Patch provided by Lauren Foutz. See:
https://community.oracle.com/thread/4093422
--- dbxml-6.1.4-orig/dbxml/src/dbxml/query/ParentOfChildJoinQP.cpp
+++ dbxml-6.1.4/dbxml/src/dbxml/query/ParentOfChildJoinQP.cpp
@@ -139,28 +139,16 @@ bool ParentOfChildIterator::doJoin(Dynam
// Invarient 4: When ancestorStack_ is empty we can output the
// buffered results_, since any more results will come after them in
// document order.
while(true) {
context->testInterrupt();
- /*
- * If current parent's node level already be larger than
- * childen's, abandon current parent and move to next one.
- */
- if (parents_ != NULL &&
- parents_->getNodeLevel() > children_->getNodeLevel()) {
- if(!parents_->next(context)) {
- delete parents_;
- parents_ = 0;
- }
- }
-
int cmp = parents_ == 0 ? -1 : isDescendantOf(children_, parents_, /*orSelf*/false);
if(cmp < 0) {
if(!ancestorStack_.empty()) {
// We've found the closest ancestor - is it a parent?
if(ancestorStack_.back()->getNodeLevel() == (children_->getNodeLevel() - 1)) {
// Maintain invarient 3
if(results_.empty() || NodeInfo::compare(results_.back(), ancestorStack_.back()) < 0)
results_.push_back(ancestorStack_.back());

View File

@@ -77,6 +77,7 @@
#, libiec61883 ? null, libavc1394 ? null # iec61883 (also uses libraw1394)
#, libmfx ? null # Hardware acceleration vis libmfx
, libmodplug ? null # ModPlug support
, libmysofa ? null # HRTF support via SOFAlizer
#, libnut ? null # NUT (de)muxer, native (de)muser exists
, libogg ? null # Ogg container used by vorbis & theora
, libopus ? null # Opus de/encoder
@@ -344,6 +345,7 @@ stdenv.mkDerivation rec {
#(enableFeature (if isLinux then libiec61883 != null && libavc1394 != null && libraw1394 != null else false) "libiec61883")
#(enableFeature (libmfx != null) "libmfx")
(enableFeature (libmodplug != null) "libmodplug")
(enableFeature (libmysofa != null) "libmysofa")
#(enableFeature (libnut != null) "libnut")
(enableFeature (libopus != null) "libopus")
(enableFeature (libssh != null) "libssh")
@@ -405,7 +407,7 @@ stdenv.mkDerivation rec {
buildInputs = [
bzip2 celt fontconfig freetype frei0r fribidi game-music-emu gnutls gsm
libjack2 ladspaH lame libass libbluray libbs2b libcaca libdc1394 libmodplug
libjack2 ladspaH lame libass libbluray libbs2b libcaca libdc1394 libmodplug libmysofa
libogg libopus libssh libtheora libvdpau libvorbis libvpx libwebp libX11
libxcb libXv lzma openal openjpeg libpulseaudio rtmpdump opencore-amr
samba SDL2 soxr speex vid-stab vo-amrwbenc wavpack x264 x265 xavs xvidcore

View File

@@ -5,6 +5,7 @@
, ninja
, pkgconfig
, fixDarwinDylibNames
, python3
}:
stdenv.mkDerivation rec {
@@ -12,16 +13,22 @@ stdenv.mkDerivation rec {
pname = "fribidi";
version = "1.0.4";
outputs = [ "out" "devdoc" ];
# NOTE: 2018-06-06 v1.0.4: Only URL tarball has "Have pre-generated man pages: true", which works-around upstream usage of some rare ancient `c2man` fossil application.
src = fetchurl {
url = "https://github.com/${pname}/${pname}/releases/download/v${version}/${name}.tar.bz2";
sha256 = "1gipy8fjyn6i4qrhima02x8xs493d21f22dijp88nk807razxgcl";
};
postPatch = ''
patchShebangs test
'';
nativeBuildInputs = [ meson ninja pkgconfig ];
buildInputs = stdenv.lib.optional stdenv.isDarwin fixDarwinDylibNames;
outputs = [ "out" "devdoc" ];
checkInptus = [ python3 ];
meta = with stdenv.lib; {
homepage = https://github.com/fribidi/fribidi;

View File

@@ -0,0 +1,152 @@
{ stdenvNoLibs, buildPackages, buildPlatform, hostPlatform
, gcc, glibc
, libiberty
}:
stdenvNoLibs.mkDerivation rec {
name = "libgcc-${version}";
inherit (gcc.cc) src version;
outputs = [ "out" "dev" ];
strictDeps = true;
depsBuildBuild = [ buildPackages.stdenv.cc ];
nativeBuildInputs = [ libiberty ];
postUnpack = ''
mkdir -p ./build
buildRoot=$(readlink -e "./build")
'';
postPatch = ''
sourceRoot=$(readlink -e "./libgcc")
'';
preConfigure = ''
cd "$buildRoot"
''
# Drop in libiberty, as external builds are not expected
+ ''
(
mkdir -p build-${buildPlatform.config}/libiberty/
cd build-${buildPlatform.config}/libiberty/
ln -s ${buildPackages.libiberty}/lib/libiberty.a ./
)
''
# A few misc bits of gcc need to be built.
#
# - We "shift" the tools over to fake platforms perspective from the previous
# stage.
#
# - We define GENERATOR_FILE so nothing bothers looking for GNU GMP.
#
# - We remove the `libgcc.mvar` deps so that the bootstrap xgcc isn't built.
+ ''
mkdir -p "$buildRoot/gcc"
cd "$buildRoot/gcc"
(
export AS_FOR_BUILD=${buildPackages.stdenv.cc}/bin/$AS_FOR_BUILD
export CC_FOR_BUILD=${buildPackages.stdenv.cc}/bin/$CC_FOR_BUILD
export CPP_FOR_BUILD=${buildPackages.stdenv.cc}/bin/$CPP_FOR_BUILD
export CXX_FOR_BUILD=${buildPackages.stdenv.cc}/bin/$CXX_FOR_BUILD
export LD_FOR_BUILD=${buildPackages.stdenv.cc.bintools}/bin/$LD_FOR_BUILD
export AS=$AS_FOR_BUILD
export CC=$CC_FOR_BUILD
export CPP=$CPP_FOR_BUILD
export CXX=$CXX_FOR_BUILD
export LD=$LD_FOR_BUILD
export AS_FOR_TARGET=${stdenvNoLibs.cc}/bin/$AS
export CC_FOR_TARGET=${stdenvNoLibs.cc}/bin/$CC
export CPP_FOR_TARGET=${stdenvNoLibs.cc}/bin/$CPP
export LD_FOR_TARGET=${stdenvNoLibs.cc.bintools}/bin/$LD
export NIX_BUILD_CFLAGS_COMPILE+=' -DGENERATOR_FILE=1'
"$sourceRoot/../gcc/configure" $gccConfigureFlags
sed -e 's,libgcc.mvars:.*$,libgcc.mvars:,' -i Makefile
make \
config.h \
libgcc.mvars \
tconfig.h \
tm.h \
options.h \
insn-constants.h \
insn-modes.h \
gcov-iov.h
)
mkdir -p "$buildRoot/gcc/include"
''
# Preparing to configure + build libgcc itself
+ ''
mkdir -p "$buildRoot/gcc/${hostPlatform.config}/libgcc"
cd "$buildRoot/gcc/${hostPlatform.config}/libgcc"
configureScript=$sourceRoot/configure
chmod +x "$configureScript"
export AS_FOR_BUILD=${buildPackages.stdenv.cc}/bin/$AS_FOR_BUILD
export CC_FOR_BUILD=${buildPackages.stdenv.cc}/bin/$CC_FOR_BUILD
export CPP_FOR_BUILD=${buildPackages.stdenv.cc}/bin/$CPP_FOR_BUILD
export CXX_FOR_BUILD=${buildPackages.stdenv.cc}/bin/$CXX_FOR_BUILD
export LD_FOR_BUILD=${buildPackages.stdenv.cc.bintools}/bin/$LD_FOR_BUILD
export AS=${stdenvNoLibs.cc}/bin/$AS
export CC=${stdenvNoLibs.cc}/bin/$CC
export CPP=${stdenvNoLibs.cc}/bin/$CPP
export CXX=${stdenvNoLibs.cc}/bin/$CXX
export LD=${stdenvNoLibs.cc.bintools}/bin/$LD
export AS_FOR_TARGET=${stdenvNoLibs.cc}/bin/$AS_FOR_TARGET
export CC_FOR_TARGET=${stdenvNoLibs.cc}/bin/$CC_FOR_TARGET
export CPP_FOR_TARGET=${stdenvNoLibs.cc}/bin/$CPP_FOR_TARGET
export LD_FOR_TARGET=${stdenvNoLibs.cc.bintools}/bin/$LD_FOR_TARGET
'';
gccConfigureFlags = [
"--build=${buildPlatform.config}"
"--host=${buildPlatform.config}"
"--target=${hostPlatform.config}"
"--disable-bootstrap"
"--disable-multilib" "--with-multilib-list="
"--enable-languages=c"
"--disable-fixincludes"
"--disable-intl"
"--disable-lto"
"--disable-libatomic"
"--disable-libbacktrace"
"--disable-libcpp"
"--disable-libssp"
"--disable-libquadmath"
"--disable-libgomp"
"--disable-libvtv"
"--disable-vtable-verify"
"--with-system-zlib"
] ++ stdenvNoLibs.lib.optional (hostPlatform.libc == "glibc")
"--with-glibc-version=${glibc.version}";
configurePlatforms = [ "build" "host" ];
configureFlags = [
"--disable-dependency-tracking"
# $CC cannot link binaries, let alone run then
"cross_compiling=true"
# Do not have dynamic linker without libc
"--enable-static"
"--disable-shared"
];
makeFlags = [ "MULTIBUILDTOP:=../" ];
postInstall = ''
moveToOutput "lib/gcc/${hostPlatform.config}/${version}/include" "$dev"
mkdir -p "$out/lib" "$dev/include"
ln -s "$out/lib/gcc/${hostPlatform.config}/${version}"/* "$out/lib"
ln -s "$dev/lib/gcc/${hostPlatform.config}/${version}/include"/* "$dev/include/"
'';
}

View File

@@ -4,7 +4,7 @@
, libxml2, libxslt, docbook_xsl, docbook_xml_dtd_42, samba, libmtp
, gnomeSupport ? false, gnome, makeWrapper
, libimobiledevice, libbluray, libcdio-paranoia, libnfs, openssh
, libsecret, libgdata
, libsecret, libgdata, python3
# Remove when switching back to meson
, autoreconfHook, lzma, bzip2
}:
@@ -28,6 +28,10 @@ stdenv.mkDerivation rec {
sha256 = "1xq105596sk9yram5a143b369wpaiiwc9gz86n0j1kfr7nipkqn4";
};
postPatch = ''
patchShebangs test test-driver
'';
# Uncomment when switching back to meson
# postPatch = ''
# chmod +x meson_post_install.py # patchShebangs requires executable file
@@ -73,6 +77,10 @@ stdenv.mkDerivation rec {
enableParallelBuilding = true;
checkInputs = [ python3 ];
doCheck = false; # fails with "ModuleNotFoundError: No module named 'gi'"
doInstallCheck = doCheck;
preFixup = ''
for f in $out/libexec/*; do
wrapProgram $f \

View File

@@ -20,6 +20,11 @@ stdenv.mkDerivation rec {
patches = [ ./bootstrap.patch ];
# fails 1 out of 1 tests with
# "lt-ImathTest: testBoxAlgo.cpp:892: void {anonymous}::boxMatrixTransform(): Assertion `b21 == b2' failed"
# at least on i686. spooky!
doCheck = stdenv.isx86_64;
meta = with stdenv.lib; {
homepage = http://www.openexr.com/;
license = licenses.bsd3;

View File

@@ -3,6 +3,9 @@
# Extra Arguments
, type ? ""
# This is called "staticOnly" because krb5 does not support
# builting both static and shared, see below.
, staticOnly ? false
}:
let
@@ -22,6 +25,9 @@ stdenv.mkDerivation rec {
outputs = [ "out" "dev" ];
configureFlags = [ "--with-tcl=no" "--localstatedir=/var/lib"]
# krb5's ./configure does not allow passing --enable-shared and --enable-static at the same time.
# See https://bbs.archlinux.org/viewtopic.php?pid=1576737#p1576737
++ optional staticOnly [ "--enable-static" "--disable-shared" ]
++ optional stdenv.isFreeBSD ''WARN_CFLAGS=""''
++ optionals (stdenv.buildPlatform != stdenv.hostPlatform)
[ "krb5_cv_attr_constructor_destructor=yes,yes"

View File

@@ -27,6 +27,7 @@ stdenv.mkDerivation rec {
# The tests fail on darwin because of install_name if they run
# before the frameworks are installed.
doCheck = false;
doInstallCheck = true;
installCheckTarget = "check";

View File

@@ -1,5 +1,9 @@
{ stdenv, fetchurl, fetchpatch, dejagnu, doCheck ? false
{ stdenv, fetchurl, fetchpatch
, buildPlatform, hostPlatform, autoreconfHook
# libffi is used in darwin stdenv
# we cannot run checks within it
, doCheck ? !stdenv.isDarwin, dejagnu
}:
stdenv.mkDerivation rec {
@@ -40,8 +44,6 @@ stdenv.mkDerivation rec {
outputs = [ "out" "dev" "man" "info" ];
buildInputs = stdenv.lib.optional doCheck dejagnu;
nativeBuildInputs = stdenv.lib.optional hostPlatform.isRiscV autoreconfHook;
configureFlags = [
@@ -54,6 +56,8 @@ stdenv.mkDerivation rec {
NIX_HARDENING_ENABLE=''${NIX_HARDENING_ENABLE/fortify/}
'';
checkInputs = [ dejagnu ];
inherit doCheck;
dontStrip = hostPlatform != buildPlatform; # Don't run the native `strip' when cross-compiling.

View File

@@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
name = "libfilezilla-${version}";
version = "0.12.3";
version = "0.13.0";
src = fetchurl {
url = "http://download.filezilla-project.org/libfilezilla/${name}.tar.bz2";
sha256 = "1v606kcz2rdmmlwxrv3xvwh7ia1nh6jfc9bhjw2r4ai3rm16gch5";
sha256 = "0sk8kz2zrvf7kp9jrp3l4rpipv4xh0hg8d4h734xyag7vd03rjpz";
};
meta = with stdenv.lib; {

View File

@@ -12,6 +12,8 @@ stdenv.mkDerivation rec {
buildInputs = [ gst_all_1.gstreamer gst_all_1.gst-plugins-base gnutls ];
propagatedBuildInputs = [ glib gupnp-igd ];
doCheck = false; # fails with "fatal error: nice/agent.h: No such file or directory"
meta = {
homepage = https://nice.freedesktop.org/wiki/;
description = "The GLib ICE implementation";

View File

@@ -1,5 +1,6 @@
{ stdenv, fetchurl, pkgconfig, autoreconfHook
, librdf_raptor2, ladspaH, openssl, zlib
, doCheck ? stdenv.config.doCheckByDefault or false, ladspaPlugins
}:
stdenv.mkDerivation rec {
@@ -11,14 +12,18 @@ stdenv.mkDerivation rec {
sha256 = "18p2flb2sv2hq6w2qkd29z9c7knnwqr3f12i2srshlzx6vwkm05s";
};
preAutoreconf = "rm m4/*";
postPatch = "sed -i -e 's:usr/local:usr:' examples/{instances,remove}_test.c";
postPatch = stdenv.lib.optionalString doCheck ''
sed -i -e 's:usr/local:${ladspaPlugins}:' examples/{instances,remove}_test.c
'';
preAutoreconf = "rm m4/*";
nativeBuildInputs = [ autoreconfHook pkgconfig ];
buildInputs = [ ladspaH openssl zlib ];
propagatedBuildInputs = [ librdf_raptor2 ];
inherit doCheck;
meta = {
description = "Lightweight RDF library with special support for LADSPA plugins";
homepage = https://sourceforge.net/projects/lrdf/;

View File

@@ -1,4 +1,4 @@
{ stdenv, fetchurl, librdf_raptor2, gmp, pkgconfig, pcre, libxml2 }:
{ stdenv, fetchurl, librdf_raptor2, gmp, pkgconfig, pcre, libxml2, perl }:
stdenv.mkDerivation rec {
name = "rasqal-0.9.33";
@@ -16,6 +16,10 @@ stdenv.mkDerivation rec {
postInstall = "rm -rvf $out/share/gtk-doc";
checkInputs = [ perl ];
doCheck = false; # fails with "No testsuite plan file sparql-query-plan.ttl could be created in build/..."
doInstallCheck = false; # fails with "rasqal-config does not support (--help|--version)"
meta = {
description = "Library that handles Resource Description Framework (RDF)";
homepage = http://librdf.org/rasqal;

View File

@@ -1,11 +1,50 @@
{ stdenv, fetchurl, patchelf }:
stdenv.mkDerivation rec {
{ stdenv
, fetchurl
, patchelf
, cudaSupport ? false, symlinkJoin, cudatoolkit, cudnn, nvidia_x11
}:
with stdenv.lib;
let
tfType = if cudaSupport then "gpu" else "cpu";
system =
if stdenv.isx86_64
then if stdenv.isLinux then "linux-x86_64"
else if stdenv.isDarwin then "darwin-x86_64" else unavailable
else unavailable;
unavailable = throw "libtensorflow is not available for this platform!";
cudatoolkit_joined = symlinkJoin {
name = "unsplit_cudatoolkit";
paths = [ cudatoolkit.out
cudatoolkit.lib ];};
rpath = makeLibraryPath ([stdenv.cc.libc stdenv.cc.cc.lib] ++
optionals cudaSupport [ cudatoolkit_joined cudnn nvidia_x11 ]);
patchLibs =
if stdenv.isDarwin
then ''
install_name_tool -id $out/lib/libtensorflow.so $out/lib/libtensorflow.so
install_name_tool -id $out/lib/libtensorflow_framework.so $out/lib/libtensorflow_framework.so
''
else ''
${patchelf}/bin/patchelf --set-rpath "${rpath}:$out/lib" $out/lib/libtensorflow.so
${patchelf}/bin/patchelf --set-rpath "${rpath}" $out/lib/libtensorflow_framework.so
'';
in stdenv.mkDerivation rec {
pname = "libtensorflow";
version = "1.8.0";
name = "${pname}-${version}";
src = fetchurl {
url = "https://storage.googleapis.com/tensorflow/${pname}/${pname}-cpu-linux-x86_64-${version}.tar.gz";
sha256 = "0qzy15rc3x961cyi3bqnygrcnw4x69r28xkwhpwrv1r0gi6k73ha";
url = "https://storage.googleapis.com/tensorflow/${pname}/${pname}-${tfType}-${system}-${version}.tar.gz";
sha256 =
if system == "linux-x86_64" then
if cudaSupport
then "0m1g4sqr9as0jgfx7wlyay2nkad6wgvsyk2gvhfkqkq5sm1vbx85"
else "0qzy15rc3x961cyi3bqnygrcnw4x69r28xkwhpwrv1r0gi6k73ha"
else if system == "darwin-x86_64" then
if cudaSupport
then unavailable
else "0q8lmyj8l50hl6l48c640ixanvhqf2836bicyl9p2x8sj97b7y8l"
else unavailable;
};
# Patch library to use our libc, libstdc++ and others
@@ -15,18 +54,16 @@ stdenv.mkDerivation rec {
tar -C $out -xzf $src
chmod +w $out/lib/libtensorflow.so
chmod +w $out/lib/libtensorflow_framework.so
${patchelf}/bin/patchelf --set-rpath "${stdenv.cc.libc}/lib:${stdenv.cc.cc.lib}/lib:$out/lib" $out/lib/libtensorflow.so
${patchelf}/bin/patchelf --set-rpath "${stdenv.cc.libc}/lib:${stdenv.cc.cc.lib}/lib" $out/lib/libtensorflow_framework.so
${patchLibs}
chmod -w $out/lib/libtensorflow.so
chmod -w $out/lib/libtensorflow_framework.so
'';
meta = with stdenv.lib; {
inherit version;
meta = {
description = "C API for TensorFlow";
license = licenses.asl20;
maintainers = [maintainers.basvandijk];
platforms = platforms.linux;
homepage = https://www.tensorflow.org/versions/master/install/install_c;
license = licenses.asl20;
platforms = with platforms; linux ++ darwin;
maintainers = [maintainers.basvandijk];
};
}

View File

@@ -1,9 +1,10 @@
{ stdenv, lib, fetchurl
, zlib, xz, python2, findXMLCatalogs, libiconv
, zlib, xz, python2, findXMLCatalogs
, buildPlatform, hostPlatform
, pythonSupport ? buildPlatform == hostPlatform
, icuSupport ? false, icu ? null
, enableStatic ? false
, enableShared ? hostPlatform.libc != "msvcrt"
, enableStatic ? !enableShared,
}:
let
@@ -35,22 +36,14 @@ in stdenv.mkDerivation rec {
lib.optional pythonSupport "--with-python=${python}"
++ lib.optional icuSupport "--with-icu"
++ [ "--exec_prefix=$dev" ]
++ lib.optional enableStatic "--enable-static";
++ lib.optional enableStatic "--enable-static"
++ lib.optional (!enableShared) "--disable-shared";
enableParallelBuilding = true;
doCheck = (stdenv.hostPlatform == stdenv.buildPlatform) && !stdenv.isDarwin &&
hostPlatform.libc != "musl";
crossAttrs = lib.optionalAttrs (hostPlatform.libc == "msvcrt") {
# creating the DLL is broken ATM
dontDisableStatic = true;
configureFlags = configureFlags ++ [ "--disable-shared" ];
# libiconv is a header dependency - propagating is enough
propagatedBuildInputs = [ findXMLCatalogs libiconv ];
};
preInstall = lib.optionalString pythonSupport
''substituteInPlace python/libxml2mod.la --replace "${python}" "$py"'';
installFlags = lib.optionalString pythonSupport

View File

@@ -1,4 +1,4 @@
{ stdenv, fetchurl }:
{ stdenv, fetchurl, boost }:
stdenv.mkDerivation rec {
version = "1.3.1";
@@ -14,6 +14,8 @@ stdenv.mkDerivation rec {
cp "$out/share/pkgconfig/"* "$out/lib/pkgconfig"
'';
checkInputs = [ boost ];
meta = {
inherit version;
homepage = https://gitlab.com/mdds/mdds;

View File

@@ -92,7 +92,7 @@ let self = stdenv.mkDerivation {
patches = [
./glx_ro_text_segm.patch # fix for grsecurity/PaX
./symlink-drivers.patch
./missing-include.patch # dev_t needs sys/stat.h, fixes build w/musl
./missing-includes.patch # dev_t needs sys/stat.h, time_t needs time.h, etc.-- fixes build w/musl
];
outputs = [ "out" "dev" "drivers" "osmesa" ];

View File

@@ -1,11 +0,0 @@
--- ./src/gallium/winsys/svga/drm/vmw_screen.h.orig
+++ ./src/gallium/winsys/svga/drm/vmw_screen.h
@@ -34,7 +34,7 @@
#ifndef VMW_SCREEN_H_
#define VMW_SCREEN_H_
-
+#include <sys/stat.h>
#include "pipe/p_compiler.h"
#include "pipe/p_state.h"

View File

@@ -0,0 +1,55 @@
--- ./src/gallium/winsys/svga/drm/vmw_screen.h.orig
+++ ./src/gallium/winsys/svga/drm/vmw_screen.h
@@ -34,7 +34,7 @@
#ifndef VMW_SCREEN_H_
#define VMW_SCREEN_H_
-
+#include <sys/stat.h>
#include "pipe/p_compiler.h"
#include "pipe/p_state.h"
--- ./src/gallium/state_trackers/nine/threadpool.h.orig 2015-05-07 14:10:53.443337212 +0200
+++ ./src/gallium/state_trackers/nine/threadpool.h 2015-05-07 14:11:04.210307653 +0200
@@ -24,6 +24,8 @@
#ifndef _THREADPOOL_H_
#define _THREADPOOL_H_
+#include <pthread.h>
+
#define MAXTHREADS 1
struct threadpool {
--- ./src/util/rand_xor.c.orig 2017-06-20 00:38:57.199474067 +0200
+++ ./src/util/rand_xor.c 2017-06-20 00:40:31.351279557 +0200
@@ -23,7 +23,9 @@
*/
#if defined(__linux__)
+#include <sys/types.h>
#include <sys/file.h>
+#include <sys/stat.h>
#include <unistd.h>
#include <fcntl.h>
#else
--- ./src/mesa/drivers/dri/i965/brw_bufmgr.h
+++ ./src/mesa/drivers/dri/i965/brw_bufmgr.h
@@ -37,6 +37,7 @@
#include <stdbool.h>
#include <stdint.h>
#include <stdio.h>
+#include <time.h>
#include "util/u_atomic.h"
#include "util/list.h"
--- ./src/amd/vulkan/winsys/amdgpu/radv_amdgpu_winsys.h
+++ ./src/amd/vulkan/winsys/amdgpu/radv_amdgpu_winsys.h
@@ -28,6 +28,8 @@
#ifndef RADV_AMDGPU_WINSYS_H
#define RADV_AMDGPU_WINSYS_H
+#include <sys/types.h>
+
#include "radv_radeon_winsys.h"
#include "ac_gpu_info.h"
#include "addrlib/addrinterface.h"<Paste>

View File

@@ -1,4 +1,4 @@
{ stdenv, fetchurl, libxml2, pkgconfig
{ stdenv, fetchurl, libxml2, pkgconfig, perl
, compressionSupport ? true, zlib ? null
, sslSupport ? true, openssl ? null
, static ? false
@@ -38,6 +38,9 @@ stdenv.mkDerivation rec {
passthru = {inherit compressionSupport sslSupport;};
checkInputs = [ perl ];
doCheck = false; # fails, needs the net
meta = {
description = "An HTTP and WebDAV client library";
homepage = http://www.webdav.org/neon/;

View File

@@ -1,4 +1,4 @@
{ stdenv, fetchurl, libxml2, pkgconfig
{ stdenv, fetchurl, libxml2, pkgconfig, perl
, compressionSupport ? true, zlib ? null
, sslSupport ? true, openssl ? null
, static ? false
@@ -38,6 +38,9 @@ stdenv.mkDerivation rec {
passthru = {inherit compressionSupport sslSupport;};
checkInputs = [ perl ];
doCheck = false; # fails, needs the net
meta = {
description = "An HTTP and WebDAV client library";
homepage = http://www.webdav.org/neon/;

View File

@@ -22,9 +22,10 @@ stdenv.mkDerivation rec {
unset CPP
'';
crossAttrs = {
makeFlags = "CROSS_COMPILE=${stdenv.cc.targetPrefix}";
};
# Use `lib.optionalString` next mass rebuild.
makeFlags = if stdenv.buildPlatform == stdenv.hostPlatform
then null
else "CROSS_COMPILE=${stdenv.cc.targetPrefix}";
meta = with stdenv.lib; {
homepage = https://fedorahosted.org/newt/;

View File

@@ -15,17 +15,16 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ cmake ];
doCheck = true;
doCheck = stdenv.buildPlatform == stdenv.hostPlatform;
checkTarget = "test";
enableParallelBuilding = true;
crossAttrs = {
cmakeFlags = "-DBuildTests=OFF";
doCheck = false;
} // stdenv.lib.optionalAttrs (hostPlatform.libc == "msvcrt") {
cmakeFlags = "-DBuildTests=OFF -DCMAKE_SYSTEM_NAME=Windows";
};
cmakeFlags = [
"-DBuildTests=${if doCheck then "ON" else "OFF"}"
] ++ stdenv.lib.optionals (hostPlatform.libc == "msvcrt") [
"-DCMAKE_SYSTEM_NAME=Windows"
];
meta = with stdenv.lib; {
description = "Header only C++ library for the JSON file format";

View File

@@ -1,11 +1,11 @@
{ stdenv, fetchurl }:
stdenv.mkDerivation rec {
name = "npth-1.5";
name = "npth-1.6";
src = fetchurl {
url = "mirror://gnupg/npth/${name}.tar.bz2";
sha256 = "1hmkkp6vzyrh8v01c2ynzf9vwikyagp7p1lxhbnr4ysk3w66jji9";
sha256 = "1lg2lkdd3z1s3rpyf88786l243adrzyk9p4q8z9n41ygmpcsp4qk";
};
doCheck = true;

View File

@@ -35,20 +35,20 @@
}:
let
version = "3.4.1";
version = "3.4.2";
src = fetchFromGitHub {
owner = "opencv";
repo = "opencv";
rev = version;
sha256 = "08yahgf427d2qbs2mw02xww6bv5yjkfc1hihihh7fhqgfz0jnj1h";
sha256 = "0q752s1ir6iyqbp3pn425fi215fi7bzjl4aa3arvgh6sridda9lx";
};
contribSrc = fetchFromGitHub {
owner = "opencv";
repo = "opencv_contrib";
rev = version;
sha256 = "00x1x53qv2pnc7i56244b5nf44wm2mp77hj486i5697r6hikk8n3";
sha256 = "1fbgbf9xdby9a5yy6bmnkzchdsfii0jagfd373y015cjpr1mrlvz";
};
# Contrib must be built in order to enable Tesseract support:
@@ -59,16 +59,16 @@ let
src = fetchFromGitHub {
owner = "opencv";
repo = "opencv_3rdparty";
rev = "dfe3162c237af211e98b8960018b564bc209261d";
sha256 = "1k5xiwdi5r2y3fs5g70lpknxqi4pj32w6l311gfwng3q1cb2crif";
rev = "bdb7bb85f34a8cb0d35e40a81f58da431aa1557a";
sha256 = "1ys9mshfpm8iy8h4ml792gnqrq959dsrcv26axx14niivxyjbji8";
} + "/ippicv";
files = let name = platform : "ippicv_2017u3_${platform}_general_20170822.tgz"; in
files = let name = platform : "ippicv_2017u3_${platform}_general_20180518.tgz"; in
if stdenv.system == "x86_64-linux" then
{ ${name "lnx_intel64"} = "4e0352ce96473837b1d671ce87f17359"; }
{ ${name "lnx_intel64"} = "b7cc351267db2d34b9efa1cd22ff0572"; }
else if stdenv.system == "i686-linux" then
{ ${name "lnx_ia32"} = "dcdb0ba4b123f240596db1840cd59a76"; }
{ ${name "lnx_ia32"} = "ea72de74dae3c604eb6348395366e78e"; }
else if stdenv.system == "x86_64-darwin" then
{ ${name "mac_intel64"} = "c1ebb5dfa5b7f54b0c44e1917805a463"; }
{ ${name "mac_intel64"} = "3ae52b9be0fe73dd45bc5e9429cd3732"; }
else
throw "ICV is not available for this platform (or not yet supported by this package)";
dst = ".cache/ippicv";
@@ -132,17 +132,6 @@ let
ln -s "${extra.src}/${name}" "${extra.dst}/${md5}-${name}"
'') extra.files);
# See opencv_contrib/modules/dnn_modern/CMakeLists.txt
tinyDnn = rec {
src = fetchurl {
url = "https://github.com/tiny-dnn/tiny-dnn/archive/${name}";
sha256 = "12x1b984cn0psn6kz1fy75zljgzqvkdyjy8i292adfnyqpl1rip2";
};
name = "v1.0.0a3.tar.gz";
md5 = "adb1c512e09ca2c7a6faef36f9c53e59";
dst = ".cache/tiny_dnn";
};
opencvFlag = name: enabled: "-DWITH_${name}=${printEnabled enabled}";
printEnabled = enabled : if enabled then "ON" else "OFF";
@@ -156,6 +145,11 @@ stdenv.mkDerivation rec {
cp --no-preserve=mode -r "${contribSrc}/modules" "$NIX_BUILD_TOP/opencv_contrib"
'';
# TODO: remove the following patch once commit
# https://github.com/opencv/opencv/commit/e2b5d112909b9dfd764f14833b82e38e4bc2f81f
# is released.
patches = [ ./fix-dnn.patch ];
# This prevents cmake from using libraries in impure paths (which
# causes build failure on non NixOS)
# Also, work around https://github.com/NixOS/nixpkgs/issues/26304 with
@@ -174,9 +168,6 @@ stdenv.mkDerivation rec {
${installExtraFiles vgg}
${installExtraFiles boostdesc}
${installExtraFiles face}
mkdir -p "${tinyDnn.dst}"
ln -s "${tinyDnn.src}" "${tinyDnn.dst}/${tinyDnn.md5}-${tinyDnn.name}"
'');
buildInputs =
@@ -243,9 +234,6 @@ stdenv.mkDerivation rec {
] ++ lib.optionals stdenv.isDarwin [
"-DWITH_OPENCL=OFF"
"-DWITH_LAPACK=OFF"
# On OS X the tiny-dnn-1.0.0a3 dependency of dnn_modern fails to build.
"-DBUILD_opencv_dnn_modern=OFF"
];
enableParallelBuilding = true;
@@ -273,11 +261,11 @@ stdenv.mkDerivation rec {
passthru = lib.optionalAttrs enablePython { pythonPath = []; };
meta = {
meta = with stdenv.lib; {
description = "Open Computer Vision Library with more than 500 algorithms";
homepage = https://opencv.org/;
license = with stdenv.lib.licenses; if enableUnfree then unfree else bsd3;
maintainers = with stdenv.lib.maintainers; [mdaiter basvandijk];
platforms = with stdenv.lib.platforms; linux ++ darwin;
license = with licenses; if enableUnfree then unfree else bsd3;
maintainers = with maintainers; [mdaiter basvandijk];
platforms = with platforms; linux ++ darwin;
};
}

View File

@@ -0,0 +1,13 @@
diff --git a/modules/dnn/src/caffe/caffe_io.cpp b/modules/dnn/src/caffe/caffe_io.cpp
index 730c752ce..abbce0453 100644
--- a/modules/dnn/src/caffe/caffe_io.cpp
+++ b/modules/dnn/src/caffe/caffe_io.cpp
@@ -1120,7 +1120,7 @@ bool ReadProtoFromTextFile(const char* filename, Message* proto) {
std::ifstream fs(filename, std::ifstream::in);
CHECK(fs.is_open()) << "Can't open \"" << filename << "\"";
IstreamInputStream input(&fs);
- return google::protobuf::TextFormat::Parser(true).Parse(&input, proto);
+ return google::protobuf::TextFormat::Parser().Parse(&input, proto);
}
bool ReadProtoFromBinaryFile(const char* filename, Message* proto) {

View File

@@ -2,6 +2,7 @@
, buildPlatform, hostPlatform
, withCryptodev ? false, cryptodevHeaders
, enableSSL2 ? false
, static ? false
}:
with stdenv.lib;
@@ -63,7 +64,7 @@ let
'';
configureFlags = [
"shared"
"shared" # "shared" builds both shared and static libraries
"--libdir=lib"
"--openssldir=etc/ssl"
] ++ stdenv.lib.optionals withCryptodev [
@@ -76,13 +77,16 @@ let
enableParallelBuilding = true;
postInstall = ''
postInstall =
stdenv.lib.optionalString (!static) ''
# If we're building dynamic libraries, then don't install static
# libraries.
if [ -n "$(echo $out/lib/*.so $out/lib/*.dylib $out/lib/*.dll)" ]; then
rm "$out/lib/"*.a
fi
'' +
''
mkdir -p $bin
mv $out/bin $bin/

View File

@@ -1,4 +1,5 @@
{ stdenv, fetchFromGitHub, cmake, qhull, flann, boost, vtk, eigen, pkgconfig, qtbase
{ stdenv, fetchFromGitHub, fetchpatch, cmake
, qhull, flann, boost, vtk, eigen, pkgconfig, qtbase
, libusb1, libpcap, libXt, libpng, Cocoa, AGL, cf-private, OpenGL
}:
@@ -12,6 +13,14 @@ stdenv.mkDerivation rec {
sha256 = "05wvqqi2fyk5innw4mg356r71c1hmc9alc7xkf4g81ds3b3867xq";
};
patches = [
# boost-1.67 compatibility
(fetchpatch {
url = "https://github.com/PointCloudLibrary/pcl/commit/2309bdab20fb2a385d374db6a87349199279db18.patch";
sha256 = "112p4687xrm0vsm0magmkvsm1hpks9hj42fm0lncy3yy2j1v3r4h";
name = "boost167-random.patch";
})];
enableParallelBuilding = true;
nativeBuildInputs = [ pkgconfig cmake ];

View File

@@ -1,5 +1,4 @@
{ stdenv, fetchurl, fetchpatch, substituteAll
, hostPlatform
{ stdenv, lib, fetchurl, fetchpatch, substituteAll
, libXrender, libXinerama, libXcursor, libXv, libXext
, libXfixes, libXrandr, libSM, freetype, fontconfig, zlib, libjpeg, libpng
, libmng, which, libGLSupported, libGLU, openssl, dbus, cups, pkgconfig
@@ -17,8 +16,6 @@
, cf-private, libobjc, ApplicationServices, OpenGL, Cocoa, AGL, libcxx
}:
with stdenv.lib;
let
v_maj = "4.8";
v_min = "7";
@@ -51,12 +48,12 @@ stdenv.mkDerivation rec {
substituteInPlace configure --replace /bin/pwd pwd
substituteInPlace src/corelib/global/global.pri --replace /bin/ls ${coreutils}/bin/ls
sed -e 's@/\(usr\|opt\)/@/var/empty/@g' -i config.tests/*/*.test -i mkspecs/*/*.conf
'' + stdenv.lib.optionalString stdenv.isDarwin ''
'' + lib.optionalString stdenv.isDarwin ''
# remove impure reference to /usr/lib/libstdc++.6.dylib
# there might be more references, but this is the only one I could find
substituteInPlace tools/macdeployqt/tests/tst_deployment_mac.cpp \
--replace /usr/lib/libstdc++.6.dylib "${stdenv.cc}/lib/libstdc++.6.dylib"
'' + stdenv.lib.optionalString stdenv.cc.isClang ''
'' + lib.optionalString stdenv.cc.isClang ''
substituteInPlace src/3rdparty/webkit/Source/WebCore/html/HTMLImageElement.cpp \
--replace 'optionalHeight > 0' 'optionalHeight != NULL'
@@ -65,14 +62,15 @@ stdenv.mkDerivation rec {
'';
patches =
[ ./glib-2.32.patch
lib.optionals (stdenv.hostPlatform == stdenv.buildPlatform) [
./glib-2.32.patch
./libressl.patch
./parallel-configure.patch
./clang-5-darwin.patch
./qt-4.8.7-unixmake-darwin.patch
(substituteAll {
src = ./dlopen-absolute-paths.diff;
cups = if cups != null then stdenv.lib.getLib cups else null;
cups = if cups != null then lib.getLib cups else null;
icu = icu.out;
libXfixes = libXfixes.out;
glibc = stdenv.cc.libc.out;
@@ -89,25 +87,25 @@ stdenv.mkDerivation rec {
sha256 = "07lrva7bjh6i40p7b3ml26a2jlznri8bh7y7iyx5zmvb1gfxmj34";
})
]
++ stdenv.lib.optional gtkStyle (substituteAll ({
++ lib.optional gtkStyle (substituteAll ({
src = ./dlopen-gtkstyle.diff;
# substituteAll ignores env vars starting with capital letter
gtk = gtk2.out;
} // stdenv.lib.optionalAttrs gnomeStyle {
} // lib.optionalAttrs gnomeStyle {
gconf = GConf.out;
libgnomeui = libgnomeui.out;
gnome_vfs = gnome_vfs.out;
}))
++ stdenv.lib.optional flashplayerFix (substituteAll {
++ lib.optional flashplayerFix (substituteAll {
src = ./dlopen-webkit-nsplugin.diff;
gtk = gtk2.out;
gdk_pixbuf = gdk_pixbuf.out;
})
++ stdenv.lib.optional stdenv.isAarch64 (fetchpatch {
++ lib.optional stdenv.isAarch64 (fetchpatch {
url = "https://src.fedoraproject.org/rpms/qt/raw/ecf530486e0fb7fe31bad26805cde61115562b2b/f/qt-aarch64.patch";
sha256 = "1fbjh78nmafqmj7yk67qwjbhl3f6ylkp6x33b1dqxfw9gld8b3gl";
})
++ stdenv.lib.optionals stdenv.hostPlatform.isMusl [
++ lib.optionals stdenv.hostPlatform.isMusl [
./qt-musl.patch
./qt-musl-iconv-no-bom.patch
./patch-qthread-stacksize.diff
@@ -127,15 +125,27 @@ stdenv.mkDerivation rec {
--jobs=$NIX_BUILD_CORES
"
unset LD # Makefile uses gcc for linking; setting LD interferes
'' + optionalString stdenv.cc.isClang ''
'' + lib.optionalString stdenv.cc.isClang ''
sed -i 's/QMAKE_CC = gcc/QMAKE_CC = clang/' mkspecs/common/g++-base.conf
sed -i 's/QMAKE_CXX = g++/QMAKE_CXX = clang++/' mkspecs/common/g++-base.conf
'' + lib.optionalString stdenv.hostPlatform.isWindows ''
sed -i -e 's/ g++/ ${stdenv.cc.targetPrefix}g++/' \
-e 's/ gcc/ ${stdenv.cc.targetPrefix}gcc/' \
-e 's/ ar/ ${stdenv.cc.targetPrefix}ar/' \
-e 's/ strip/ ${stdenv.cc.targetPrefix}strip/' \
-e 's/ windres/ ${stdenv.cc.targetPrefix}windres/' \
mkspecs/win32-g++/qmake.conf
'';
prefixKey = "-prefix ";
configureFlags =
''
${if stdenv.hostPlatform == stdenv.buildPlatform then null else "configurePlatforms"} = [];
configureFlags = let
platformFlag =
if stdenv.hostPlatform != stdenv.buildPlatform
then "-xplatform"
else "-platform";
in (if stdenv.hostPlatform == stdenv.buildPlatform then ''
-v -no-separate-debug-info -release -fast -confirm-license -opensource
-${if stdenv.isFreeBSD then "no-" else ""}opengl -xrender -xrandr -xinerama -xcursor -xinput -xfixes -fontconfig
@@ -152,23 +162,30 @@ stdenv.mkDerivation rec {
-no-phonon ${if buildWebkit then "" else "-no"}-webkit ${if buildMultimedia then "" else "-no"}-multimedia -audio-backend
${if developerBuild then "-developer-build" else ""}
'' + optionalString stdenv.isDarwin "-platform unsupported/macx-clang-libc++";
'' else ''
-static -release -confirm-license -opensource
-no-opengl -no-phonon
-no-svg
-make qmake -make libs -nomake tools
-nomake demos -nomake examples -nomake docs
'') + lib.optionalString stdenv.hostPlatform.isDarwin "${platformFlag} unsupported/macx-clang-libc++"
+ lib.optionalString stdenv.hostPlatform.isMinGW "${platformFlag} win32-g++-4.6";
propagatedBuildInputs =
[ libXrender libXrandr libXinerama libXcursor libXext libXfixes libXv libXi
libSM zlib libpng openssl dbus freetype fontconfig glib ]
# Qt doesn't directly need GLU (just GL), but many apps use, it's small and doesn't remain a runtime-dep if not used
++ optional libGLSupported libGLU
++ optional ((buildWebkit || buildMultimedia) && stdenv.isLinux ) alsaLib
++ optionals (buildWebkit || buildMultimedia) [ gstreamer gst-plugins-base ];
++ lib.optional libGLSupported libGLU
++ lib.optional ((buildWebkit || buildMultimedia) && stdenv.isLinux ) alsaLib
++ lib.optionals (buildWebkit || buildMultimedia) [ gstreamer gst-plugins-base ];
# The following libraries are only used in plugins
buildInputs =
[ cups # Qt dlopen's libcups instead of linking to it
postgresql sqlite libjpeg libmng libtiff icu ]
++ optionals (mysql != null) [ mysql.connector-c ]
++ optionals gtkStyle [ gtk2 gdk_pixbuf ]
++ optionals stdenv.isDarwin [ cf-private ApplicationServices OpenGL Cocoa AGL libcxx libobjc ];
++ lib.optionals (mysql != null) [ mysql.connector-c ]
++ lib.optionals gtkStyle [ gtk2 gdk_pixbuf ]
++ lib.optionals stdenv.isDarwin [ cf-private ApplicationServices OpenGL Cocoa AGL libcxx libobjc ];
nativeBuildInputs = [ perl pkgconfig which ];
@@ -177,14 +194,14 @@ stdenv.mkDerivation rec {
NIX_CFLAGS_COMPILE =
# with gcc7 the warnings blow the log over Hydra's limit
[ "-Wno-expansion-to-defined" "-Wno-unused-local-typedefs" ]
++ optional stdenv.isLinux "-std=gnu++98" # gnu++ in (Obj)C flags is no good on Darwin
++ optionals (stdenv.isFreeBSD || stdenv.isDarwin)
++ lib.optional stdenv.isLinux "-std=gnu++98" # gnu++ in (Obj)C flags is no good on Darwin
++ lib.optionals (stdenv.isFreeBSD || stdenv.isDarwin)
[ "-I${glib.dev}/include/glib-2.0" "-I${glib.out}/lib/glib-2.0/include" ]
++ optional stdenv.isDarwin "-I${libcxx}/include/c++/v1";
++ lib.optional stdenv.isDarwin "-I${libcxx}/include/c++/v1";
NIX_LDFLAGS = optionalString (stdenv.isFreeBSD || stdenv.isDarwin) "-lglib-2.0";
NIX_LDFLAGS = lib.optionalString (stdenv.isFreeBSD || stdenv.isDarwin) "-lglib-2.0";
preBuild = optionalString stdenv.isDarwin ''
preBuild = lib.optionalString stdenv.isDarwin ''
# resolve "extra qualification on member" error
sed -i 's/struct ::TabletProximityRec;/struct TabletProximityRec;/' \
src/gui/kernel/qt_cocoa_helpers_mac_p.h
@@ -196,44 +213,19 @@ stdenv.mkDerivation rec {
postInstall = ''
rm -rf $out/tests
''
# I don't know why it does not install qmake
+ lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) ''
cp bin/qmake* $out/bin
'';
crossAttrs = {
# I've not tried any case other than i686-pc-mingw32.
# -nomake tools: it fails linking some asian language symbols
# -no-svg: it fails to build on mingw64
configureFlags = ''
-static -release -confirm-license -opensource
-no-opengl -no-phonon
-no-svg
-make qmake -make libs -nomake tools
-nomake demos -nomake examples -nomake docs
'' + optionalString hostPlatform.isMinGW " -xplatform win32-g++-4.6";
patches = [];
preConfigure = ''
sed -i -e 's/ g++/ ${stdenv.cc.targetPrefix}g++/' \
-e 's/ gcc/ ${stdenv.cc.targetPrefix}gcc/' \
-e 's/ ar/ ${stdenv.cc.targetPrefix}ar/' \
-e 's/ strip/ ${stdenv.cc.targetPrefix}strip/' \
-e 's/ windres/ ${stdenv.cc.targetPrefix}windres/' \
mkspecs/win32-g++/qmake.conf
'';
# I don't know why it does not install qmake
postInstall = ''
cp bin/qmake* $out/bin
'';
configurePlatforms = [];
dontStrip = true;
} // optionalAttrs hostPlatform.isMinGW {
propagatedBuildInputs = [ ];
};
dontStrip = if stdenv.hostPlatform == stdenv.buildPlatform then null else true;
meta = {
homepage = http://qt-project.org/;
description = "A cross-platform application framework for C++";
license = licenses.lgpl21Plus; # or gpl3
maintainers = with maintainers; [ orivej lovek323 phreedom sander ];
platforms = platforms.unix;
license = lib.licenses.lgpl21Plus; # or gpl3
maintainers = with lib.maintainers; [ orivej lovek323 phreedom sander ];
platforms = lib.platforms.unix;
};
}

View File

@@ -2,7 +2,7 @@
let
version = "2.6.0.1";
version = "2.6.4.0";
in stdenv.mkDerivation rec {
@@ -11,18 +11,21 @@ in stdenv.mkDerivation rec {
src = fetchgit {
url = "git://git.skarnet.org/skalibs";
rev = "refs/tags/v${version}";
sha256 = "0skdv3wff1i78hb0y771apw0cak5rzxbwbh6l922snfm01z9k1ws";
sha256 = "13icrwxxb7k3cj37dl07h0apk6lwyrg1qrwjwh4l82i8f32bnjz2";
};
outputs = [ "lib" "dev" "doc" "out" ];
dontDisableStatic = true;
enableParallelBuilding = true;
configureFlags = [
"--enable-force-devr" # assume /dev/random works
"--libdir=\${prefix}/lib"
"--includedir=\${prefix}/include"
"--sysdepdir=\${prefix}/lib/skalibs/sysdeps"
"--libdir=\${lib}/lib"
"--dynlibdir=\${lib}/lib"
"--includedir=\${dev}/include"
"--sysdepdir=\${lib}/lib/skalibs/sysdeps"
]
++ (if stdenv.isDarwin then [ "--disable-shared" ] else [ "--enable-shared" ])
# On darwin, the target triplet from -dumpmachine includes version number, but
@@ -32,12 +35,17 @@ in stdenv.mkDerivation rec {
# http://www.skarnet.org/cgi-bin/archive.cgi?1:mss:623:heiodchokfjdkonfhdph
++ (stdenv.lib.optional stdenv.isDarwin "--build=${stdenv.system}");
postInstall = ''
mkdir -p $doc/share/doc/skalibs
mv doc $doc/share/doc/skalibs/html
'';
meta = {
homepage = http://skarnet.org/software/skalibs/;
description = "A set of general-purpose C programming libraries";
platforms = stdenv.lib.platforms.all;
license = stdenv.lib.licenses.isc;
maintainers = with stdenv.lib.maintainers; [ pmahoney ];
maintainers = with stdenv.lib.maintainers; [ pmahoney Profpatsch ];
};
}

View File

@@ -0,0 +1,28 @@
{ stdenv, fetchurl, unzip, mesa_noglu, libX11 }:
stdenv.mkDerivation rec {
name = "soil";
src = fetchurl {
url = "http://www.lonesock.net/files/soil.zip";
sha256 = "00gpwp9dldzhsdhksjvmbhsd2ialraqbv6v6dpikdmpncj6mnc52";
};
buildInputs = [ unzip mesa_noglu libX11 ];
sourceRoot = "Simple OpenGL Image Library/projects/makefile";
preBuild = "mkdir obj";
preInstall = "mkdir -p $out/lib $out/include";
makeFlags = [ "LOCAL=$(out)" ];
meta = {
description = "Simple OpenGL Image Library";
longDescription = ''
SOIL is a tiny C library used primarily for uploading textures
into OpenGL.
'';
homepage = https://www.lonesock.net/soil.html;
license = stdenv.lib.licenses.publicDomain;
platforms = stdenv.lib.platforms.linux;
};
}

View File

@@ -2,23 +2,19 @@
stdenv.mkDerivation rec {
name = "zeromq-${version}";
version = "4.2.3";
version = "4.2.5";
src = fetchFromGitHub {
owner = "zeromq";
repo = "libzmq";
rev = "v${version}";
sha256 = "1yadf4vz4m49lpwwwscxs6wf4v9dgqgxkwgwpby9lvb4pv8qbmaf";
sha256 = "18mjmbhvfhr4463dqayl5hdjfy5rx7na1xsq9dsvlaz9qlr5fskw";
};
nativeBuildInputs = [ cmake asciidoc ];
enableParallelBuilding = true;
postPatch = ''
sed -i 's,''${PACKAGE_PREFIX_DIR}/,,g' ZeroMQConfig.cmake.in
'';
doCheck = false; # fails all the tests (ctest)
meta = with stdenv.lib; {