diff options
Diffstat (limited to 'pkgs/development/libraries')
95 files changed, 788 insertions, 2149 deletions
diff --git a/pkgs/development/libraries/Xaw3d/default.nix b/pkgs/development/libraries/Xaw3d/default.nix index 07d256f4f571..93ebe9556592 100644 --- a/pkgs/development/libraries/Xaw3d/default.nix +++ b/pkgs/development/libraries/Xaw3d/default.nix @@ -3,9 +3,7 @@ stdenv.mkDerivation { name = "Xaw3d-1.6.2"; src = fetchurl { - urls = [ - ftp://ftp.x.org/pub/xorg/individual/lib/libXaw3d-1.6.2.tar.bz2 - ]; + url = https://www.x.org/releases/individual/lib/libXaw3d-1.6.2.tar.bz2; sha256 = "0awplv1nf53ywv01yxphga3v6dcniwqnxgnb0cn4khb121l12kxp"; }; nativeBuildInputs = [ pkgconfig ]; diff --git a/pkgs/development/libraries/accountsservice/default.nix b/pkgs/development/libraries/accountsservice/default.nix index d1b3b9b98271..f12dfb4635b2 100644 --- a/pkgs/development/libraries/accountsservice/default.nix +++ b/pkgs/development/libraries/accountsservice/default.nix @@ -3,11 +3,11 @@ stdenv.mkDerivation rec { name = "accountsservice-${version}"; - version = "0.6.45"; + version = "0.6.46"; src = fetchurl { url = "http://www.freedesktop.org/software/accountsservice/accountsservice-${version}.tar.xz"; - sha256 = "09pg25ir7kjigvp2cxd9fkfw8c8ql8vrswfvymg9zmbmma9w43zv"; + sha256 = "09ddndbha2wh22a0k5150d2wy0v8k8zj3vmbdijyirqwhf5vjr8q"; }; nativeBuildInputs = [ pkgconfig makeWrapper ]; diff --git a/pkgs/development/libraries/alembic/default.nix b/pkgs/development/libraries/alembic/default.nix index 3d90eb36f3d4..2276264e03f1 100644 --- a/pkgs/development/libraries/alembic/default.nix +++ b/pkgs/development/libraries/alembic/default.nix @@ -3,13 +3,13 @@ stdenv.mkDerivation rec { name = "alembic-${version}"; - version = "1.7.6"; + version = "1.7.7"; src = fetchFromGitHub { owner = "alembic"; repo = "alembic"; rev = "${version}"; - sha256 = "0vz7pda7n50d490vv9i044xpi8rhrvs6qxcapwd49wzwrvkg67dk"; + sha256 = "16cgzn8cz3qbfpfh53bhn4ibwp5ddam3vxgz8zaglbj7z1a3pxfv"; }; outputs = [ "bin" "dev" "out" "lib" ]; diff --git a/pkgs/development/libraries/aws-sdk-cpp/default.nix b/pkgs/development/libraries/aws-sdk-cpp/default.nix index 3e1edcdcfbfd..11005d6097af 100644 --- a/pkgs/development/libraries/aws-sdk-cpp/default.nix +++ b/pkgs/development/libraries/aws-sdk-cpp/default.nix @@ -15,13 +15,13 @@ let else throw "Unsupported system!"; in stdenv.mkDerivation rec { name = "aws-sdk-cpp-${version}"; - version = "1.4.15"; + version = "1.4.24"; src = fetchFromGitHub { owner = "awslabs"; repo = "aws-sdk-cpp"; rev = version; - sha256 = "10nk8zbrh2sgw7cp03g8yqylyi29bb99w8v6dbw97pnxf689m635"; + sha256 = "1prkivapmzjcsykxj42h0p27kjhc66hir0h2j6rz0yqdfr4pyhgl"; }; # FIXME: might be nice to put different APIs in different outputs diff --git a/pkgs/development/libraries/ceres-solver/default.nix b/pkgs/development/libraries/ceres-solver/default.nix index 77e0cb7735d9..1e2017ef0e7f 100644 --- a/pkgs/development/libraries/ceres-solver/default.nix +++ b/pkgs/development/libraries/ceres-solver/default.nix @@ -12,11 +12,11 @@ assert runTests -> google-gflags != null; stdenv.mkDerivation rec { name = "ceres-solver-${version}"; - version = "1.12.0"; + version = "1.14.0"; src = fetchurl { url = "http://ceres-solver.org/ceres-solver-${version}.tar.gz"; - sha256 = "15f8mwhcy9f5qggcc9dqwl5y687ykvmlidr686aqdq0ia7azwnvl"; + sha256 = "13lfxy8x58w8vprr0nkbzziaijlh0vvqshgahvcgw0mrqdgh0i27"; }; nativeBuildInputs = [ cmake ]; diff --git a/pkgs/development/libraries/cmark/default.nix b/pkgs/development/libraries/cmark/default.nix index 6c73bd016031..81df7e863193 100644 --- a/pkgs/development/libraries/cmark/default.nix +++ b/pkgs/development/libraries/cmark/default.nix @@ -1,14 +1,14 @@ { stdenv, fetchFromGitHub, cmake }: stdenv.mkDerivation rec { - version = "0.27.1"; + version = "0.28.3"; name = "cmark-${version}"; src = fetchFromGitHub { owner = "jgm"; repo = "cmark"; rev = version; - sha256 = "06miwq3rl2bighkn6iq7bdwzmvcqa53qwpa0pqjqa8yn44j8ijj8"; + sha256 = "1lal6n6q7l84njgdcq1xbfxan56qlvr8xaw9m2jbd0jk4y2wkczg"; }; nativeBuildInputs = [ cmake ]; diff --git a/pkgs/development/libraries/confuse/default.nix b/pkgs/development/libraries/confuse/default.nix index 95af4d94cf5f..3257dfe5d37c 100644 --- a/pkgs/development/libraries/confuse/default.nix +++ b/pkgs/development/libraries/confuse/default.nix @@ -1,10 +1,11 @@ {stdenv, fetchurl}: stdenv.mkDerivation rec { - name = "confuse-2.7"; + name = "confuse-${version}"; + version = "3.2.1"; src = fetchurl { - url = "mirror://savannah/confuse/${name}.tar.gz"; - sha256 = "0y47r2ashz44wvnxdb18ivpmj8nxhw3y9bf7v9w0g5byhgyp89g3"; + url = "https://github.com/martinh/libconfuse/releases/download/v${version}/${name}.tar.xz"; + sha256 = "0pnjmlj9i0alp407qd7c0vq83sz7gpsjrbdgpcn4xvzjp9r35ii3"; }; meta = { diff --git a/pkgs/development/libraries/dbus/make-system-conf.xsl b/pkgs/development/libraries/dbus/make-system-conf.xsl index 3d8b823437d6..dd644b4bce7c 100644 --- a/pkgs/development/libraries/dbus/make-system-conf.xsl +++ b/pkgs/development/libraries/dbus/make-system-conf.xsl @@ -27,6 +27,7 @@ <xsl:for-each select="str:tokenize($serviceDirectories)"> <servicedir><xsl:value-of select="." />/share/dbus-1/system-services</servicedir> <includedir><xsl:value-of select="." />/etc/dbus-1/system.d</includedir> + <includedir><xsl:value-of select="." />/share/dbus-1/system.d</includedir> </xsl:for-each> </busconfig> </xsl:template> diff --git a/pkgs/development/libraries/dlib/default.nix b/pkgs/development/libraries/dlib/default.nix index d3e2f6c9c983..eaae1f7ecdad 100644 --- a/pkgs/development/libraries/dlib/default.nix +++ b/pkgs/development/libraries/dlib/default.nix @@ -3,14 +3,14 @@ }: stdenv.mkDerivation rec { - version = "19.10"; + version = "19.9"; name = "dlib-${version}"; src = fetchFromGitHub { owner = "davisking"; repo = "dlib"; rev ="v${version}"; - sha256 = "0sgxblf4n33b8wgblyblmrkwydvy1yh7fzll1b6c4zgkz675w0m5"; + sha256 = "0lc54r928j9dg7f2wn25m887z24d31wrc14v2hn6aknp1z084lrc"; }; postPatch = '' @@ -26,7 +26,7 @@ stdenv.mkDerivation rec { homepage = http://www.dlib.net; license = licenses.boost; maintainers = with maintainers; [ christopherpoole ]; - platforms = platforms.all; + platforms = platforms.linux; }; } diff --git a/pkgs/development/libraries/easyloggingpp/default.nix b/pkgs/development/libraries/easyloggingpp/default.nix index 4aa1f279886a..89a34a988906 100644 --- a/pkgs/development/libraries/easyloggingpp/default.nix +++ b/pkgs/development/libraries/easyloggingpp/default.nix @@ -4,12 +4,12 @@ { stdenv, fetchFromGitHub, cmake, gtest }: stdenv.mkDerivation rec { name = "easyloggingpp-${version}"; - version = "9.96.1"; + version = "9.96.2"; src = fetchFromGitHub { owner = "muflihun"; repo = "easyloggingpp"; rev = "v${version}"; - sha256 = "1x5wwm62l1231sgxfwx8mj7fc8452j3f509jyxa9wd2krkpvqxmy"; + sha256 = "0qhf93i2ks9v6rk6n4v3fn7xrkqdwgs6rm6wd0gx9sm2wlq4ancd"; }; nativeBuildInputs = [cmake]; diff --git a/pkgs/development/libraries/flint/default.nix b/pkgs/development/libraries/flint/default.nix index 94cc7688cc8b..2977293fefa5 100644 --- a/pkgs/development/libraries/flint/default.nix +++ b/pkgs/development/libraries/flint/default.nix @@ -1,14 +1,48 @@ -{stdenv, fetchurl, gmp, mpir, mpfr, openblas, ntl}: +{ stdenv +, fetchurl +, fetchpatch +, gmp +, mpir +, mpfr +, ntl +, openblas ? null +, withBlas ? true +}: + +assert withBlas -> openblas != null; + stdenv.mkDerivation rec { name = "flint-${version}"; - version = "2.5.2"; - # or fetchFromGitHub(owner,repo,rev) or fetchgit(rev) + version = "2.5.2"; # remove libflint.so.MAJOR patch when updating src = fetchurl { url = "http://www.flintlib.org/flint-${version}.tar.gz"; sha256 = "11syazv1a8rrnac3wj3hnyhhflpqcmq02q8pqk2m6g2k6h0gxwfb"; }; - buildInputs = [gmp mpir mpfr openblas ntl]; - configureFlags = "--with-gmp=${gmp} --with-mpir=${mpir} --with-mpfr=${mpfr} --with-blas=${openblas} --with-ntl=${ntl}"; + buildInputs = [ + gmp + mpir + mpfr + ntl + ] ++ stdenv.lib.optionals withBlas [ + openblas + ]; + configureFlags = [ + "--with-gmp=${gmp}" + "--with-mpir=${mpir}" + "--with-mpfr=${mpfr}" + "--with-ntl=${ntl}" + ] ++ stdenv.lib.optionals withBlas [ + "--with-blas=${openblas}" + ]; + patches = [ + (fetchpatch { + # Always produce libflint.so.MAJOR; will be included in the next flint version + # See https://github.com/wbhart/flint2/pull/347 + url = "https://github.com/wbhart/flint2/commit/49fbcd8f736f847d3f9667f9f7d5567ef4550ecb.patch"; + sha256 = "09w09bpq85kjf752bd3y3i5lvy59b8xjiy7qmrcxzibx2a21pj73"; + }) + ]; + doCheck = true; meta = { inherit version; description = ''Fast Library for Number Theory''; diff --git a/pkgs/development/libraries/folly/default.nix b/pkgs/development/libraries/folly/default.nix index 88339e8a8bf3..c4dc57300446 100644 --- a/pkgs/development/libraries/folly/default.nix +++ b/pkgs/development/libraries/folly/default.nix @@ -3,13 +3,13 @@ stdenv.mkDerivation rec { name = "folly-${version}"; - version = "2018.02.26.00"; + version = "2018.03.26.00"; src = fetchFromGitHub { owner = "facebook"; repo = "folly"; rev = "v${version}"; - sha256 = "1pdb3nnly0x4x8yy1r13xgh9zhn34c9dq0b3nhxr8gwbzf643j1c"; + sha256 = "137d9b9k2m02r8f2w31qj3gc18hpm5g51bcl60g6vzdqzwzizzyr"; }; nativeBuildInputs = [ autoreconfHook python pkgconfig ]; diff --git a/pkgs/development/libraries/freetds/default.nix b/pkgs/development/libraries/freetds/default.nix index d764121e8d6b..b097e5cbb64c 100644 --- a/pkgs/development/libraries/freetds/default.nix +++ b/pkgs/development/libraries/freetds/default.nix @@ -6,11 +6,11 @@ assert odbcSupport -> unixODBC != null; stdenv.mkDerivation rec { name = "freetds-${version}"; - version = "1.00.70"; + version = "1.00.80"; src = fetchurl { url = "http://www.freetds.org/files/stable/${name}.tar.bz2"; - sha256 = "1ydh0c89nb6wh6wakbkqad7mdwpymygvgbcrk8c2mp7abgv1jqzp"; + sha256 = "17s15avxcyhfk0zsj8rggizhpd2j2sa41w5xlnshzd2r3piqyl6k"; }; configureFlags = [ diff --git a/pkgs/development/libraries/gdal/default.nix b/pkgs/development/libraries/gdal/default.nix index 54174e7cfe46..562d79b00921 100644 --- a/pkgs/development/libraries/gdal/default.nix +++ b/pkgs/development/libraries/gdal/default.nix @@ -8,12 +8,12 @@ with stdenv.lib; stdenv.mkDerivation rec { - version = "2.2.3"; + version = "2.2.4"; name = "gdal-${version}"; src = fetchurl { url = "http://download.osgeo.org/gdal/${version}/${name}.tar.xz"; - sha256 = "a328d63d476b3653f5a25b5f7971e87a15cdf8860ab0729d4b1157ba988b8d0b"; + sha256 = "0y1237m2wilxgrsd0cdjpbf1zj9z954sd8518g53hlmkmk8v27j4"; }; buildInputs = [ unzip libjpeg libtiff libpng proj openssl sqlite diff --git a/pkgs/development/libraries/gdcm/default.nix b/pkgs/development/libraries/gdcm/default.nix index 6da29ef2a3c4..47f9e9c66760 100644 --- a/pkgs/development/libraries/gdcm/default.nix +++ b/pkgs/development/libraries/gdcm/default.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, cmake, vtk }: stdenv.mkDerivation rec { - version = "2.8.4"; + version = "2.8.5"; name = "gdcm-${version}"; src = fetchurl { url = "mirror://sourceforge/gdcm/${name}.tar.bz2"; - sha256 = "1wjs9sfdi1v4bm750xl26mik5zyvmlk88jy2zf2jsm9y3qmcyfff"; + sha256 = "0aiwmxwa67zsb2sbadf8r2p9018qhc8gycb04kfrsf7rskz3x2h5"; }; dontUseCmakeBuildDir = true; diff --git a/pkgs/development/libraries/gecode/default.nix b/pkgs/development/libraries/gecode/default.nix index 5d683de404d9..83ec0edfb49f 100644 --- a/pkgs/development/libraries/gecode/default.nix +++ b/pkgs/development/libraries/gecode/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "gecode-${version}"; - version = "5.0.0"; + version = "6.0.0"; src = fetchurl { url = "http://www.gecode.org/download/${name}.tar.gz"; - sha256 = "0yz7m4msp7g2jzsn216q74d9n7rv6qh8abcv0jdc1n7y2nhjzzzl"; + sha256 = "0dp7bm6k790jx669y4jr0ffi5cdfpwsqm1ykj2c0zh56jsgs6hfs"; }; enableParallelBuilding = true; diff --git a/pkgs/development/libraries/getdns/default.nix b/pkgs/development/libraries/getdns/default.nix index 382bdb17247c..779534460df2 100644 --- a/pkgs/development/libraries/getdns/default.nix +++ b/pkgs/development/libraries/getdns/default.nix @@ -4,11 +4,11 @@ stdenv.mkDerivation rec { pname = "getdns"; name = "${pname}-${version}"; - version = "1.3.0"; + version = "1.4.1"; src = fetchurl { - url = "https://getdnsapi.net/releases/${pname}-1-3-0/${pname}-${version}.tar.gz"; - sha256 = "920fa2e07c72fd0e5854db1820fa777108009fc5cb702f9aa5155ef58b12adb1"; + url = "https://getdnsapi.net/releases/${pname}-1-4-1/${pname}-${version}.tar.gz"; + sha256 = "07n5n5m4dnnh2xkh7wrnlx8s8myrvjf2nbs7n5m5nq8gg3f36li4"; }; nativeBuildInputs = [ libtool m4 autoreconfHook automake file ]; diff --git a/pkgs/development/libraries/gflags/default.nix b/pkgs/development/libraries/gflags/default.nix index d79b76913358..f9fc4366b7e4 100644 --- a/pkgs/development/libraries/gflags/default.nix +++ b/pkgs/development/libraries/gflags/default.nix @@ -7,4 +7,13 @@ stdenv.mkDerivation sha256 = "03lxc2ah8i392kh1naq99iip34k4fpv22kwflyx3byd2ssycs9xf"; }; nativeBuildInputs = [ cmake ]; + # for case-insensitive filesystems + prePatch = "mv BUILD BUILD.bazel"; + + meta = with stdenv.lib; { + description = "C++ library that implements commandline flags processing"; + homepage = "https://github.com/gflags/gflags"; + license = licenses.bsd3; + platforms = platforms.unix; + }; } diff --git a/pkgs/development/libraries/globalplatform/default.nix b/pkgs/development/libraries/globalplatform/default.nix index 5b55a09db625..3ef279616f75 100644 --- a/pkgs/development/libraries/globalplatform/default.nix +++ b/pkgs/development/libraries/globalplatform/default.nix @@ -16,6 +16,6 @@ stdenv.mkDerivation rec { homepage = https://sourceforge.net/p/globalplatform/wiki/Home/; description = "Library for interacting with smart card devices"; license = licenses.gpl3; - platforms = platforms.all; + platforms = platforms.linux; }; } diff --git a/pkgs/development/libraries/gpgme/default.nix b/pkgs/development/libraries/gpgme/default.nix index 1e59e8f1d65a..68762e344bdb 100644 --- a/pkgs/development/libraries/gpgme/default.nix +++ b/pkgs/development/libraries/gpgme/default.nix @@ -1,10 +1,17 @@ { stdenv, fetchurl, fetchpatch, libgpgerror, gnupg, pkgconfig, glib, pth, libassuan -, qtbase ? null }: +, file, which +, autoreconfHook +, git +, texinfo5 +, qtbase ? null +, withPython ? false, swig2 ? null, python ? null +}: let inherit (stdenv) lib system; in stdenv.mkDerivation rec { - name = "gpgme-1.10.0"; + name = "gpgme-${version}"; + version = "1.10.0"; src = fetchurl { url = "mirror://gnupg/gpgme/${name}.tar.bz2"; @@ -18,11 +25,17 @@ stdenv.mkDerivation rec { [ libgpgerror glib libassuan pth ] ++ lib.optional (qtbase != null) qtbase; - nativeBuildInputs = [ pkgconfig gnupg ]; + nativeBuildInputs = [ file pkgconfig gnupg autoreconfHook git texinfo5 ] + ++ lib.optionals withPython [ python swig2 which ]; + + postPatch ='' + substituteInPlace ./configure --replace /usr/bin/file ${file}/bin/file + ''; configureFlags = [ "--enable-fixed-path=${gnupg}/bin" - ]; + "--with-libgpg-error-prefix=${libgpgerror.dev}" + ] ++ lib.optional withPython "--enable-languages=python"; NIX_CFLAGS_COMPILE = # qgpgme uses Q_ASSERT which retains build inputs at runtime unless diff --git a/pkgs/development/libraries/gsettings-qt/default.nix b/pkgs/development/libraries/gsettings-qt/default.nix new file mode 100644 index 000000000000..9e893932a64c --- /dev/null +++ b/pkgs/development/libraries/gsettings-qt/default.nix @@ -0,0 +1,58 @@ +{ stdenv, fetchbzr, pkgconfig, qmake, qtbase, qtdeclarative, glib, gobjectIntrospection }: + +stdenv.mkDerivation rec { + name = "gsettings-qt-${version}"; + version = "0.1.20170824"; + + src = fetchbzr { + url = http://bazaar.launchpad.net/~system-settings-touch/gsettings-qt/trunk; + rev = "85"; + sha256 = "1kcw0fgdyndx9c0dyha11wkj0gi05spdc1adf1609mrinbb4rnyi"; + }; + + nativeBuildInputs = [ + pkgconfig + qmake + gobjectIntrospection + ]; + + buildInputs = [ + glib + qtdeclarative + ]; + + patchPhase = '' + # force ordered build of subdirs + sed -i -e "\$aCONFIG += ordered" gsettings-qt.pro + + # It seems that there is a bug in qtdeclarative: qmlplugindump fails + # because it can not find or load the Qt platform plugin "minimal". + # A workaround is to set QT_PLUGIN_PATH and QML2_IMPORT_PATH explicitly. + export QT_PLUGIN_PATH=${qtbase.bin}/${qtbase.qtPluginPrefix} + export QML2_IMPORT_PATH=${qtdeclarative.bin}/${qtbase.qtQmlPrefix} + + substituteInPlace GSettings/gsettings-qt.pro \ + --replace '$$[QT_INSTALL_QML]' "$out/$qtQmlPrefix" \ + --replace '$$[QT_INSTALL_BINS]/qmlplugindump' "qmlplugindump" + + substituteInPlace src/gsettings-qt.pro \ + --replace '$$[QT_INSTALL_LIBS]' "$out/lib" \ + --replace '$$[QT_INSTALL_HEADERS]' "$out/include" + ''; + + preInstall = '' + # do not install tests + for f in tests/Makefile{,.cpptest}; do + substituteInPlace $f \ + --replace "install: install_target" "install: " + done + ''; + + meta = with stdenv.lib; { + description = "Qt/QML bindings for GSettings"; + homepage = https://launchpad.net/gsettings-qt; + license = licenses.lgpl3; + platforms = platforms.linux; + maintainers = [ maintainers.romildo ]; + }; +} diff --git a/pkgs/development/libraries/gsl/default.nix b/pkgs/development/libraries/gsl/default.nix index afd6391d719b..f1eed726eb2b 100644 --- a/pkgs/development/libraries/gsl/default.nix +++ b/pkgs/development/libraries/gsl/default.nix @@ -13,7 +13,8 @@ stdenv.mkDerivation rec { ./disable-fma.patch # http://lists.gnu.org/archive/html/bug-gsl/2011-11/msg00019.html ]; - doCheck = stdenv.system != "i686-linux"; # https://lists.gnu.org/archive/html/bug-gsl/2015-11/msg00012.html + # https://lists.gnu.org/archive/html/bug-gsl/2015-11/msg00012.html + doCheck = stdenv.system != "i686-linux" && stdenv.system != "aarch64-linux"; meta = { description = "The GNU Scientific Library, a large numerical library"; diff --git a/pkgs/development/libraries/gstreamer/bad/default.nix b/pkgs/development/libraries/gstreamer/bad/default.nix index d4cc2f43aaa6..8caca820a57c 100644 --- a/pkgs/development/libraries/gstreamer/bad/default.nix +++ b/pkgs/development/libraries/gstreamer/bad/default.nix @@ -1,8 +1,8 @@ -{ stdenv, fetchurl, pkgconfig, python, gst-plugins-base, orc +{ stdenv, fetchurl, fetchpatch, meson, ninja, gettext +, pkgconfig, python, gst-plugins-base, orc , faacSupport ? false, faac ? null -, gtkSupport ? false, gtk3 ? null , faad2, libass, libkate, libmms -, libmodplug, mpeg2dec, mpg123 +, libmodplug, mpeg2dec , openjpeg, libopus, librsvg , wildmidi, fluidsynth, libvdpau, wayland , libwebp, xvidcore, gnutls, mjpegtools @@ -11,7 +11,6 @@ }: assert faacSupport -> faac != null; -assert gtkSupport -> gtk3 != null; let inherit (stdenv.lib) optional optionalString; @@ -23,7 +22,7 @@ let in stdenv.mkDerivation rec { - name = "gst-plugins-bad-1.12.3"; + name = "gst-plugins-bad-1.14.0"; meta = with stdenv.lib; { description = "Gstreamer Bad Plugins"; @@ -38,27 +37,31 @@ stdenv.mkDerivation rec { platforms = platforms.linux ++ platforms.darwin; }; - # TODO: Fix Cocoa build. The problem was ARC, which might be related to too - # old version of Apple SDK's. - configureFlags = optional stdenv.isDarwin "--disable-cocoa"; - - patchPhase = '' - sed -i 's/openjpeg-2.2/openjpeg-${openJpegVersion}/' ext/openjpeg/* + preConfigure = '' + patchShebangs . ''; + patches = [ + (fetchpatch { + url = "https://bug794856.bugzilla-attachments.gnome.org/attachment.cgi?id=370409"; + sha256 = "0hy0rcn35alq65yqwri4fqjz2hf3nyyg5c7rnndk51msmqjxpprk"; + }) + ./fix_pkgconfig_includedir.patch + ]; + src = fetchurl { url = "${meta.homepage}/src/gst-plugins-bad/${name}.tar.xz"; - sha256 = "1v5z3i5ha20gmbb3r9dwsaaspv5fm1jfzlzwlzqx1gjj31v5kl1n"; + sha256 = "17sgzgx1c54k5rzz7ljyz3is0n7yj56k74vv05h8z1gjnsnjnppd"; }; outputs = [ "out" "dev" ]; - nativeBuildInputs = [ pkgconfig python ]; + nativeBuildInputs = [ meson ninja pkgconfig python gettext ]; buildInputs = [ gst-plugins-base orc - faad2 gtk3 libass libkate libmms - libmodplug mpeg2dec mpg123 + faad2 libass libkate libmms + libmodplug mpeg2dec openjpeg libopus librsvg fluidsynth libvdpau libwebp xvidcore gnutls libGLU_combined @@ -66,8 +69,6 @@ stdenv.mkDerivation rec { ] ++ libintlOrEmpty ++ optional faacSupport faac - # for gtksink - ++ optional gtkSupport gtk3 ++ optional stdenv.isLinux wayland # wildmidi requires apple's OpenAL # TODO: package apple's OpenAL, fix wildmidi, include on Darwin @@ -76,6 +77,4 @@ stdenv.mkDerivation rec { ++ optional (!stdenv.isDarwin) mjpegtools; LDFLAGS = optionalString stdenv.isDarwin "-lintl"; - - enableParallelBuilding = true; } diff --git a/pkgs/development/libraries/gstreamer/bad/fix_pkgconfig_includedir.patch b/pkgs/development/libraries/gstreamer/bad/fix_pkgconfig_includedir.patch new file mode 100644 index 000000000000..c687fffc9c08 --- /dev/null +++ b/pkgs/development/libraries/gstreamer/bad/fix_pkgconfig_includedir.patch @@ -0,0 +1,15 @@ +diff --git a/pkgconfig/meson.build b/pkgconfig/meson.build +index 271f327f3..7e2afa754 100644 +--- a/pkgconfig/meson.build ++++ b/pkgconfig/meson.build +@@ -2,8 +2,8 @@ pkgconf = configuration_data() + + pkgconf.set('prefix', join_paths(get_option('prefix'))) + pkgconf.set('exec_prefix', '${prefix}') +-pkgconf.set('libdir', '${prefix}/@0@'.format(get_option('libdir'))) +-pkgconf.set('includedir', '${prefix}/@0@'.format(get_option('includedir'))) ++pkgconf.set('libdir', join_paths(get_option('prefix'), get_option('libdir'))) ++pkgconf.set('includedir', join_paths(get_option('prefix'), get_option('includedir'))) + pkgconf.set('GST_API_VERSION', api_version) + pkgconf.set('VERSION', gst_version) + diff --git a/pkgs/development/libraries/gstreamer/base/default.nix b/pkgs/development/libraries/gstreamer/base/default.nix index 2cd0c14c1f34..e2a8c36bf026 100644 --- a/pkgs/development/libraries/gstreamer/base/default.nix +++ b/pkgs/development/libraries/gstreamer/base/default.nix @@ -1,10 +1,11 @@ -{ stdenv, fetchurl, pkgconfig, python, gstreamer, gobjectIntrospection -, orc, alsaLib, libXv, pango, libtheora -, cdparanoia, libvisual, libintlOrEmpty +{ stdenv, fetchurl, fetchpatch, pkgconfig, meson +, ninja, gettext, gobjectIntrospection, python +, gstreamer, orc, alsaLib, libXv, pango, libtheora +, wayland, cdparanoia, libvisual, libintlOrEmpty }: stdenv.mkDerivation rec { - name = "gst-plugins-base-1.12.3"; + name = "gst-plugins-base-1.14.0"; meta = { description = "Base plugins and helper libraries"; @@ -15,17 +16,17 @@ stdenv.mkDerivation rec { src = fetchurl { url = "${meta.homepage}/src/gst-plugins-base/${name}.tar.xz"; - sha256 = "19ffwdch7m777ragmwpy6prqmfb742ym1n3ki40s0zyki627plyk"; + sha256 = "0h39bcp7fcd9kgb189lxr8l0hm0almvzpzgpdh1jpq2nzxh4d43y"; }; outputs = [ "out" "dev" ]; nativeBuildInputs = [ - pkgconfig python gobjectIntrospection + pkgconfig python meson ninja gettext gobjectIntrospection ]; buildInputs = [ - orc libXv pango libtheora cdparanoia + orc libXv pango libtheora cdparanoia wayland ] ++ libintlOrEmpty ++ stdenv.lib.optional stdenv.isLinux alsaLib @@ -33,14 +34,17 @@ stdenv.mkDerivation rec { propagatedBuildInputs = [ gstreamer ]; - configureFlags = if stdenv.isDarwin then [ - # Does not currently build on Darwin - "--disable-libvisual" - # Undefined symbols _cdda_identify and _cdda_identify_scsi in cdparanoia - "--disable-cdparanoia" - ] else null; + preConfigure = '' + patchShebangs . + ''; NIX_LDFLAGS = if stdenv.isDarwin then "-lintl" else null; - enableParallelBuilding = true; + patches = [ + (fetchpatch { + url = "https://bug794856.bugzilla-attachments.gnome.org/attachment.cgi?id=370414"; + sha256 = "07x43xis0sr0hfchf36ap0cibx0lkfpqyszb3r3w9dzz301fk04z"; + }) + ./fix_pkgconfig_includedir.patch + ]; } diff --git a/pkgs/development/libraries/gstreamer/base/fix_pkgconfig_includedir.patch b/pkgs/development/libraries/gstreamer/base/fix_pkgconfig_includedir.patch new file mode 100644 index 000000000000..04486a4647f9 --- /dev/null +++ b/pkgs/development/libraries/gstreamer/base/fix_pkgconfig_includedir.patch @@ -0,0 +1,15 @@ +diff --git a/pkgconfig/meson.build b/pkgconfig/meson.build +index 04abfbee5..88c86b431 100644 +--- a/pkgconfig/meson.build ++++ b/pkgconfig/meson.build +@@ -2,8 +2,8 @@ pkgconf = configuration_data() + + pkgconf.set('prefix', get_option('prefix')) + pkgconf.set('exec_prefix', '${prefix}') +-pkgconf.set('libdir', '${prefix}/@0@'.format(get_option('libdir'))) +-pkgconf.set('includedir', '${prefix}/@0@'.format(get_option('includedir'))) ++pkgconf.set('libdir', join_paths(get_option('prefix'), get_option('libdir'))) ++pkgconf.set('includedir', join_paths(get_option('prefix'), get_option('includedir'))) + pkgconf.set('GST_API_VERSION', api_version) + pkgconf.set('VERSION', gst_version) + pkgconf.set('LIBM', libm.found() ? '-lm' : '') diff --git a/pkgs/development/libraries/gstreamer/core/default.nix b/pkgs/development/libraries/gstreamer/core/default.nix index ee9438d3c29b..ab3f78767a1c 100644 --- a/pkgs/development/libraries/gstreamer/core/default.nix +++ b/pkgs/development/libraries/gstreamer/core/default.nix @@ -1,10 +1,11 @@ -{ stdenv, fetchurl, pkgconfig, perl, bison, flex, python, gobjectIntrospection -, glib, makeWrapper -, darwin +{ stdenv, fetchurl, fetchpatch, meson, ninja +, pkgconfig, gettext, gobjectIntrospection +, bison, flex, python3, glib, makeWrapper +, libcap,libunwind, darwin }: stdenv.mkDerivation rec { - name = "gstreamer-1.12.3"; + name = "gstreamer-1.14.0"; meta = { description = "Open source multimedia framework"; @@ -16,31 +17,37 @@ stdenv.mkDerivation rec { src = fetchurl { url = "${meta.homepage}/src/gstreamer/${name}.tar.xz"; - sha256 = "0vi1g8rmmsnd630ds3jwv2iph46ll8y07fzf04mz15q88j9g926k"; + sha256 = "0vj6k01lp2yva6rfd95fkyng9jdr62gkz0x8d2l81dyly1ki6dpw"; }; + patches = [ + (fetchpatch { + url = "https://bug794856.bugzilla-attachments.gnome.org/attachment.cgi?id=370411"; + sha256 = "16plzzmkk906k4892zq68j3c9z8vdma5nxzlviq20jfv04ykhmk2"; + }) + ./fix_pkgconfig_includedir.patch + ]; + outputs = [ "out" "dev" ]; outputBin = "dev"; nativeBuildInputs = [ - pkgconfig perl bison flex python gobjectIntrospection makeWrapper + meson ninja pkgconfig gettext bison flex python3 makeWrapper gobjectIntrospection ]; - buildInputs = stdenv.lib.optional stdenv.isDarwin darwin.apple_sdk.frameworks.CoreServices; + buildInputs = [ libcap libunwind ] ++ stdenv.lib.optional stdenv.isDarwin darwin.apple_sdk.frameworks.CoreServices; propagatedBuildInputs = [ glib ]; - enableParallelBuilding = true; - - preConfigure = '' - configureFlagsArray+=("--exec-prefix=$dev") - ''; - postInstall = '' for prog in "$dev/bin/"*; do wrapProgram "$prog" --suffix GST_PLUGIN_SYSTEM_PATH : "\$(unset _tmp; for profile in \$NIX_PROFILES; do _tmp="\$profile/lib/gstreamer-1.0''$\{_tmp:+:\}\$_tmp"; done; printf "\$_tmp")" done ''; + preConfigure= '' + patchShebangs . + ''; + preFixup = '' moveToOutput "share/bash-completion" "$dev" ''; diff --git a/pkgs/development/libraries/gstreamer/core/fix_pkgconfig_includedir.patch b/pkgs/development/libraries/gstreamer/core/fix_pkgconfig_includedir.patch new file mode 100644 index 000000000000..c388a82fa2a8 --- /dev/null +++ b/pkgs/development/libraries/gstreamer/core/fix_pkgconfig_includedir.patch @@ -0,0 +1,15 @@ +diff --git a/pkgconfig/meson.build b/pkgconfig/meson.build +index edb0586c2..7ed46dfce 100644 +--- a/pkgconfig/meson.build ++++ b/pkgconfig/meson.build +@@ -2,8 +2,8 @@ pkgconf = configuration_data() + + pkgconf.set('prefix', join_paths(get_option('prefix'))) + pkgconf.set('exec_prefix', '${prefix}') +-pkgconf.set('libdir', '${prefix}/@0@'.format(get_option('libdir'))) +-pkgconf.set('includedir', '${prefix}/@0@'.format(get_option('includedir'))) ++pkgconf.set('libdir', join_paths(get_option('prefix'), get_option('libdir'))) ++pkgconf.set('includedir', join_paths(get_option('prefix'), get_option('includedir'))) + pkgconf.set('GST_API_VERSION', apiversion) + pkgconf.set('VERSION', gst_version) + pkgconf.set('LIBM', mathlib.found() ? '-lm' : '') diff --git a/pkgs/development/libraries/gstreamer/default.nix b/pkgs/development/libraries/gstreamer/default.nix index 76cffa89dbc5..ce74b2f27ff1 100644 --- a/pkgs/development/libraries/gstreamer/default.nix +++ b/pkgs/development/libraries/gstreamer/default.nix @@ -13,13 +13,11 @@ rec { gst-plugins-ugly = callPackage ./ugly { inherit gst-plugins-base; }; - gst-libav = callPackage ./libav { inherit gst-plugins-base; }; + gst-rtsp-server = callPackage ./rtsp-server { inherit gst-plugins-base; }; - gnonlin = callPackage ./gnonlin { inherit gst-plugins-base; }; + gst-libav = callPackage ./libav { inherit gst-plugins-base; }; - # TODO: gnonlin is deprecated in gst-editing-services, better switch to nle - # (Non Linear Engine). - gst-editing-services = callPackage ./ges { inherit gnonlin; }; + gst-editing-services = callPackage ./ges { inherit gst-plugins-base; }; gst-vaapi = callPackage ./vaapi { inherit gst-plugins-base gstreamer gst-plugins-bad; diff --git a/pkgs/development/libraries/gstreamer/ges/default.nix b/pkgs/development/libraries/gstreamer/ges/default.nix index c38ab12ec964..895f298c8269 100644 --- a/pkgs/development/libraries/gstreamer/ges/default.nix +++ b/pkgs/development/libraries/gstreamer/ges/default.nix @@ -1,9 +1,10 @@ -{ stdenv, fetchurl, pkgconfig, python, gobjectIntrospection -, gnonlin, libxml2, flex, perl +{ stdenv, fetchurl, fetchpatch, meson, ninja +, pkgconfig, python, gst-plugins-base, libxml2 +, flex, perl, gettext, gobjectIntrospection }: stdenv.mkDerivation rec { - name = "gstreamer-editing-services-1.12.3"; + name = "gstreamer-editing-services-1.14.0"; meta = with stdenv.lib; { description = "Library for creation of audio/video non-linear editors"; @@ -14,12 +15,20 @@ stdenv.mkDerivation rec { src = fetchurl { url = "${meta.homepage}/src/gstreamer-editing-services/${name}.tar.xz"; - sha256 = "0xjz8r0wbzc0kwi9q8akv7w71ii1n2y2dmb0q2p5k4h78382ybh3"; + sha256 = "14cdd6y9p4k603hsnyhdjw2igg855gwpx0362jmg8k1gagmr0pwd"; }; outputs = [ "out" "dev" ]; - nativeBuildInputs = [ pkgconfig python gobjectIntrospection flex perl ]; + nativeBuildInputs = [ meson ninja pkgconfig gettext gobjectIntrospection python flex perl ]; - propagatedBuildInputs = [ gnonlin libxml2 ]; + propagatedBuildInputs = [ gst-plugins-base libxml2 ]; + + patches = [ + (fetchpatch { + url = "https://bug794856.bugzilla-attachments.gnome.org/attachment.cgi?id=370413"; + sha256 = "1xcgbs18g6n5p7z7kqj7ffakwmkxq7ijajyvhyl7p3zvqll9dc7x"; + }) + ./fix_pkgconfig_includedir.patch + ]; } diff --git a/pkgs/development/libraries/gstreamer/ges/fix_pkgconfig_includedir.patch b/pkgs/development/libraries/gstreamer/ges/fix_pkgconfig_includedir.patch new file mode 100644 index 000000000000..1e12f3bbfbea --- /dev/null +++ b/pkgs/development/libraries/gstreamer/ges/fix_pkgconfig_includedir.patch @@ -0,0 +1,15 @@ +diff --git a/pkgconfig/meson.build b/pkgconfig/meson.build +index a612b21b..c017eaff 100644 +--- a/pkgconfig/meson.build ++++ b/pkgconfig/meson.build +@@ -2,8 +2,8 @@ pkgconf = configuration_data() + + pkgconf.set('prefix', get_option('prefix')) + pkgconf.set('exec_prefix', '${prefix}') +-pkgconf.set('libdir', '${prefix}/@0@'.format(get_option('libdir'))) +-pkgconf.set('includedir', '${prefix}/@0@'.format(get_option('includedir'))) ++pkgconf.set('libdir', join_paths(get_option('prefix'), get_option('libdir'))) ++pkgconf.set('includedir', join_paths(get_option('prefix'), get_option('includedir'))) + pkgconf.set('GST_API_VERSION', apiversion) + pkgconf.set('VERSION', gst_version) + diff --git a/pkgs/development/libraries/gstreamer/gnonlin/default.nix b/pkgs/development/libraries/gstreamer/gnonlin/default.nix deleted file mode 100644 index c04b64ae3c6a..000000000000 --- a/pkgs/development/libraries/gstreamer/gnonlin/default.nix +++ /dev/null @@ -1,30 +0,0 @@ -{ stdenv, fetchurl, pkgconfig -, gst-plugins-base -}: - -stdenv.mkDerivation rec { - name = "gnonlin-1.4.0"; - - meta = with stdenv.lib; { - description = "Gstreamer Non-Linear Multimedia Editing Plugins"; - homepage = "https://gstreamer.freedesktop.org"; - longDescription = '' - Gnonlin is a library built on top of GStreamer which provides - support for writing non-linear audio and video editing - applications. It introduces the concept of a timeline. - ''; - license = licenses.lgpl2Plus; - platforms = platforms.unix; - }; - - src = fetchurl { - url = "${meta.homepage}/src/gnonlin/${name}.tar.xz"; - sha256 = "0zv60rq2h736a6fivd3a3wp59dj1jar7b2vwzykahvl168b7wrid"; - }; - - outputs = [ "out" "dev" ]; - - nativeBuildInputs = [ pkgconfig ]; - - propagatedBuildInputs = [ gst-plugins-base ]; -} diff --git a/pkgs/development/libraries/gstreamer/good/default.nix b/pkgs/development/libraries/gstreamer/good/default.nix index e4e4f3b394db..960c03b52e29 100644 --- a/pkgs/development/libraries/gstreamer/good/default.nix +++ b/pkgs/development/libraries/gstreamer/good/default.nix @@ -1,17 +1,20 @@ -{ stdenv, fetchurl, pkgconfig, python -, gst-plugins-base, orc, bzip2 +{ stdenv, fetchurl, meson, ninja, pkgconfig, python +, gst-plugins-base, orc, bzip2, gettext , libv4l, libdv, libavc1394, libiec61883 , libvpx, speex, flac, taglib, libshout , cairo, gdk_pixbuf, aalib, libcaca , libsoup, libpulseaudio, libintlOrEmpty -, darwin +, darwin, lame, mpg123, twolame +, gtkSupport ? false, gtk3 ? null }: +assert gtkSupport -> gtk3 != null; + let inherit (stdenv.lib) optionals optionalString; in stdenv.mkDerivation rec { - name = "gst-plugins-good-1.12.3"; + name = "gst-plugins-good-1.14.0"; meta = with stdenv.lib; { description = "Gstreamer Good Plugins"; @@ -27,27 +30,26 @@ stdenv.mkDerivation rec { src = fetchurl { url = "${meta.homepage}/src/gst-plugins-good/${name}.tar.xz"; - sha256 = "00sznj1sl97fqpn6j8ngps04clvxp8h8yhw6lvszx4b855wz9rqk"; + sha256 = "1226s30cf7pqg3fj8shd20l7sp93yw9sqplgxns3m3ajgms3byka"; }; outputs = [ "out" "dev" ]; - nativeBuildInputs = [ pkgconfig python ]; + patches = [ ./fix_pkgconfig_includedir.patch ]; + + nativeBuildInputs = [ pkgconfig python meson ninja gettext ]; buildInputs = [ gst-plugins-base orc bzip2 libdv libvpx speex flac taglib cairo gdk_pixbuf aalib libcaca - libsoup libshout + libsoup libshout lame mpg123 twolame ] ++ libintlOrEmpty ++ optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.Cocoa ] - ++ optionals stdenv.isLinux [ libv4l libpulseaudio libavc1394 libiec61883 ]; - - preFixup = '' - mkdir -p "$dev/lib/gstreamer-1.0" - mv "$out/lib/gstreamer-1.0/"*.la "$dev/lib/gstreamer-1.0" - ''; + ++ optionals stdenv.isLinux [ libv4l libpulseaudio libavc1394 libiec61883 ] + # for gtksink + ++ optionals gtkSupport [ gtk3 ]; LDFLAGS = optionalString stdenv.isDarwin "-lintl"; } diff --git a/pkgs/development/libraries/gstreamer/good/fix_pkgconfig_includedir.patch b/pkgs/development/libraries/gstreamer/good/fix_pkgconfig_includedir.patch new file mode 100644 index 000000000000..f68ad603a37c --- /dev/null +++ b/pkgs/development/libraries/gstreamer/good/fix_pkgconfig_includedir.patch @@ -0,0 +1,15 @@ +diff --git a/pkgconfig/meson.build b/pkgconfig/meson.build +index b3bf0d4d4..3e6e576c0 100644 +--- a/pkgconfig/meson.build ++++ b/pkgconfig/meson.build +@@ -2,8 +2,8 @@ pkgconf = configuration_data() + + pkgconf.set('prefix', get_option('prefix')) + pkgconf.set('exec_prefix', '${prefix}') +-pkgconf.set('libdir', '${prefix}/@0@'.format(get_option('libdir'))) +-pkgconf.set('includedir', '${prefix}/@0@'.format(get_option('includedir'))) ++pkgconf.set('libdir', join_paths(get_option('prefix'), get_option('libdir'))) ++pkgconf.set('includedir', join_paths(get_option('prefix'), get_option('includedir'))) + pkgconf.set('GST_API_VERSION', api_version) + pkgconf.set('VERSION', gst_version) + diff --git a/pkgs/development/libraries/gstreamer/gstreamermm/default.nix b/pkgs/development/libraries/gstreamer/gstreamermm/default.nix index bee80cb24ecf..14e27ab6068c 100644 --- a/pkgs/development/libraries/gstreamer/gstreamermm/default.nix +++ b/pkgs/development/libraries/gstreamer/gstreamermm/default.nix @@ -24,7 +24,7 @@ stdenv.mkDerivation rec { description = "C++ interface for GStreamer"; homepage = https://gstreamer.freedesktop.org/bindings/cplusplus.html; license = licenses.lgpl21Plus; - platforms = platforms.unix; + platforms = platforms.linux; maintainers = with maintainers; [ romildo ]; }; diff --git a/pkgs/development/libraries/gstreamer/libav/default.nix b/pkgs/development/libraries/gstreamer/libav/default.nix index 9969c5e604ff..564b37fab794 100644 --- a/pkgs/development/libraries/gstreamer/libav/default.nix +++ b/pkgs/development/libraries/gstreamer/libav/default.nix @@ -1,6 +1,6 @@ -{ stdenv, fetchurl, pkgconfig, python, yasm -, gst-plugins-base, orc, bzip2 -, withSystemLibav ? true, libav ? null +{ stdenv, fetchurl, meson, ninja, pkgconfig +, python, yasm, gst-plugins-base, orc, bzip2 +, gettext, withSystemLibav ? true, libav ? null }: # Note that since gst-libav-1.6, libav is actually ffmpeg. See @@ -9,7 +9,7 @@ assert withSystemLibav -> libav != null; stdenv.mkDerivation rec { - name = "gst-libav-1.12.3"; + name = "gst-libav-1.14.0"; meta = { homepage = https://gstreamer.freedesktop.org; @@ -19,16 +19,13 @@ stdenv.mkDerivation rec { src = fetchurl { url = "${meta.homepage}/src/gst-libav/${name}.tar.xz"; - sha256 = "0l4nc6ikdx49l7bdrk3bd9p3pzry8a328r22zg48gyzpnv5ghph1"; + sha256 = "12gglx6rarnxbaj0h1wivlgkv467n1bz2bwjigplciq57r6ln4zv"; }; outputs = [ "out" "dev" ]; - configureFlags = stdenv.lib.optionalString withSystemLibav - "--with-system-libav"; - nativeBuildInputs = with stdenv.lib; - [ pkgconfig python ] + [ meson ninja gettext pkgconfig python ] ++ optional (!withSystemLibav) yasm ; diff --git a/pkgs/development/libraries/gstreamer/rtsp-server/default.nix b/pkgs/development/libraries/gstreamer/rtsp-server/default.nix new file mode 100644 index 000000000000..9ff799b0a27b --- /dev/null +++ b/pkgs/development/libraries/gstreamer/rtsp-server/default.nix @@ -0,0 +1,29 @@ +{ stdenv, fetchurl, meson, ninja, pkgconfig +, gst-plugins-base, gettext, gobjectIntrospection +}: + +stdenv.mkDerivation rec { + name = "gst-rtsp-server-1.14.0"; + + meta = with stdenv.lib; { + description = "Gstreamer RTSP server"; + homepage = "https://gstreamer.freedesktop.org"; + longDescription = '' + a library on top of GStreamer for building an RTSP server. + ''; + license = licenses.lgpl2Plus; + platforms = platforms.linux ++ platforms.darwin; + maintainers = with maintainers; [ bkchr ]; + }; + + src = fetchurl { + url = "${meta.homepage}/src/gst-rtsp-server/${name}.tar.xz"; + sha256 = "0mlp9ms5hfbyzyvmc9xgi7934g4zrh1sbgky2p9zc5fqprvs0rbb"; + }; + + outputs = [ "out" "dev" ]; + + nativeBuildInputs = [ meson ninja gettext gobjectIntrospection pkgconfig ]; + + buildInputs = [ gst-plugins-base ]; +} diff --git a/pkgs/development/libraries/gstreamer/ugly/default.nix b/pkgs/development/libraries/gstreamer/ugly/default.nix index cdaa88ce350f..90e7eab860a3 100644 --- a/pkgs/development/libraries/gstreamer/ugly/default.nix +++ b/pkgs/development/libraries/gstreamer/ugly/default.nix @@ -1,11 +1,11 @@ -{ stdenv, fetchurl, pkgconfig, python -, gst-plugins-base, orc +{ stdenv, fetchurl, meson, ninja, pkgconfig, python +, gst-plugins-base, orc, gettext , a52dec, libcdio, libdvdread -, lame, libmad, libmpeg2, x264, libintlOrEmpty, mpg123 +, libmad, libmpeg2, x264, libintlOrEmpty }: stdenv.mkDerivation rec { - name = "gst-plugins-ugly-1.12.3"; + name = "gst-plugins-ugly-1.14.0"; meta = with stdenv.lib; { description = "Gstreamer Ugly Plugins"; @@ -22,17 +22,17 @@ stdenv.mkDerivation rec { src = fetchurl { url = "${meta.homepage}/src/gst-plugins-ugly/${name}.tar.xz"; - sha256 = "0lh00rg26iy5lr5al23lxsyncjqkgzph1bzkrgp8x9sfr62ab378"; + sha256 = "1la2nny9hfw3rf3wvqggkg8ivn52qrqqs4n4mqz4ppm2r1gymf9z"; }; outputs = [ "out" "dev" ]; - nativeBuildInputs = [ pkgconfig python ]; + nativeBuildInputs = [ meson ninja gettext pkgconfig python ]; buildInputs = [ gst-plugins-base orc a52dec libcdio libdvdread - lame libmad libmpeg2 x264 mpg123 + libmad libmpeg2 x264 ] ++ libintlOrEmpty; NIX_LDFLAGS = if stdenv.isDarwin then "-lintl" else null; diff --git a/pkgs/development/libraries/gstreamer/vaapi/default.nix b/pkgs/development/libraries/gstreamer/vaapi/default.nix index 8351cfd65b1e..11b451e76fdf 100644 --- a/pkgs/development/libraries/gstreamer/vaapi/default.nix +++ b/pkgs/development/libraries/gstreamer/vaapi/default.nix @@ -1,20 +1,20 @@ -{ stdenv, fetchurl, pkgconfig, gst-plugins-base, bzip2, libva, wayland +{ stdenv, fetchurl, meson, ninja, pkgconfig, gst-plugins-base, bzip2, libva, wayland , libdrm, udev, xorg, libGLU_combined, yasm, gstreamer, gst-plugins-bad, nasm , libvpx, python }: stdenv.mkDerivation rec { name = "gst-vaapi-${version}"; - version = "1.12.4"; + version = "1.14.0"; src = fetchurl { url = "${meta.homepage}/src/gstreamer-vaapi/gstreamer-vaapi-${version}.tar.xz"; - sha256 = "1jg9nvc8000yi2bcl3wn2yh2hwl7yvlwldj6778w8c0z5qj7fb8w"; + sha256 = "1whxk428badv8ibji00sn6hj17cp8l9n93rr948bz2gjbq41zqz4"; }; outputs = [ "out" "dev" ]; - nativeBuildInputs = [ pkgconfig bzip2 ]; + nativeBuildInputs = [ meson ninja pkgconfig bzip2 ]; buildInputs = [ gstreamer gst-plugins-base gst-plugins-bad libva wayland libdrm udev @@ -22,11 +22,10 @@ stdenv.mkDerivation rec { xorg.libICE libGLU_combined nasm libvpx python ]; - preConfigure = " + preConfigure = '' export GST_PLUGIN_PATH_1_0=$out/lib/gstreamer-1.0 mkdir -p $GST_PLUGIN_PATH_1_0 - "; - configureFlags = "--disable-builtin-libvpx --with-gstreamer-api=1.0"; + ''; meta = { homepage = https://gstreamer.freedesktop.org; diff --git a/pkgs/development/libraries/gstreamer/validate/default.nix b/pkgs/development/libraries/gstreamer/validate/default.nix index 1cb5e4f968ef..bd33d9c52807 100644 --- a/pkgs/development/libraries/gstreamer/validate/default.nix +++ b/pkgs/development/libraries/gstreamer/validate/default.nix @@ -3,7 +3,7 @@ }: stdenv.mkDerivation rec { - name = "gst-validate-1.12.3"; + name = "gst-validate-1.14.0"; meta = { description = "Integration testing infrastructure for the GStreamer framework"; @@ -14,7 +14,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "${meta.homepage}/src/gst-validate/${name}.tar.xz"; - sha256 = "17j812pkzgbyn9ys3b305yl5mrf9nbm8whwj4iqdskr742fr8fai"; + sha256 = "1pzzxqkv1spjrzpzpazdm2h4s2wk7gg5gag8nxj5v2gjfyzhiprk"; }; outputs = [ "out" "dev" ]; diff --git a/pkgs/development/libraries/gtksourceview/3.x.nix b/pkgs/development/libraries/gtksourceview/3.x.nix index 608c6e7eacd2..673eb1e52c44 100644 --- a/pkgs/development/libraries/gtksourceview/3.x.nix +++ b/pkgs/development/libraries/gtksourceview/3.x.nix @@ -32,6 +32,8 @@ in stdenv.mkDerivation rec { patches = [ ./3.x-nix_share_path.patch ]; + NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isDarwin "-lintl"; + enableParallelBuilding = true; doCheck = stdenv.isLinux; diff --git a/pkgs/development/libraries/gvfs/default.nix b/pkgs/development/libraries/gvfs/default.nix index 436cf56dc132..67837b345c00 100644 --- a/pkgs/development/libraries/gvfs/default.nix +++ b/pkgs/development/libraries/gvfs/default.nix @@ -5,8 +5,17 @@ , gnomeSupport ? false, gnome, makeWrapper , libimobiledevice, libbluray, libcdio-paranoia, libnfs, openssh , libsecret, libgdata +# Remove when switching back to meson +, autoreconfHook, lzma, bzip2 }: +# TODO: switch to meson when upstream fixes a non-deterministic build failure +# See https://bugzilla.gnome.org/show_bug.cgi?id=794549 + +# Meson specific things are commented out and annotated, so switching back +# should simply require deleting autotools specific things and adding back meson +# flags etc. + let pname = "gvfs"; version = "1.36.0"; @@ -19,13 +28,15 @@ stdenv.mkDerivation rec { sha256 = "1fsn6aa9a68cfbna9s00l1ry4ym1fr7ii2f45hzj2fipxfpqihwy"; }; - postPatch = '' - chmod +x meson_post_install.py # patchShebangs requires executable file - patchShebangs meson_post_install.py - ''; + # Uncomment when switching back to meson + # postPatch = '' + # chmod +x meson_post_install.py # patchShebangs requires executable file + # patchShebangs meson_post_install.py + # ''; nativeBuildInputs = [ - meson ninja + autoreconfHook # Remove when switching to meson + # meson ninja pkgconfig gettext makeWrapper libxml2 libxslt docbook_xsl docbook_xml_dtd_42 ]; @@ -35,24 +46,30 @@ stdenv.mkDerivation rec { libgphoto2 avahi libarchive fuse libcdio samba libmtp libcap polkit libimobiledevice libbluray libcdio-paranoia libnfs openssh + # Remove when switching back to meson + lzma bzip2 # ToDo: a ligther version of libsoup to have FTP/HTTP support? ] ++ stdenv.lib.optionals gnomeSupport (with gnome; [ libsoup gcr gnome-online-accounts libsecret libgdata ]); - mesonFlags = [ - "-Dgio_module_dir=lib/gio/modules" - "-Dsystemduserunitdir=lib/systemd/user" - "-Ddbus_service_dir=share/dbus-1/services" - "-Dtmpfilesdir=no" - ] ++ stdenv.lib.optionals (!gnomeSupport) [ - "-Dgcr=false" "-Dgoa=false" "-Dkeyring=false" "-Dhttp=false" - "-Dgoogle=false" - ] ++ stdenv.lib.optionals (samba == null) [ - # Xfce don't want samba - "-Dsmb=false" - ]; + # Remove when switching back to meson + configureFlags = stdenv.lib.optional (!gnomeSupport) "--disable-gcr"; + + # Uncomment when switching back to meson + # mesonFlags = [ + # "-Dgio_module_dir=lib/gio/modules" + # "-Dsystemduserunitdir=lib/systemd/user" + # "-Ddbus_service_dir=share/dbus-1/services" + # "-Dtmpfilesdir=no" + # ] ++ stdenv.lib.optionals (!gnomeSupport) [ + # "-Dgcr=false" "-Dgoa=false" "-Dkeyring=false" "-Dhttp=false" + # "-Dgoogle=false" + # ] ++ stdenv.lib.optionals (samba == null) [ + # # Xfce don't want samba + # "-Dsmb=false" + # ]; enableParallelBuilding = true; diff --git a/pkgs/development/libraries/herqq/default.nix b/pkgs/development/libraries/herqq/default.nix index 8f1aadc3a26e..75dd8693d2cf 100644 --- a/pkgs/development/libraries/herqq/default.nix +++ b/pkgs/development/libraries/herqq/default.nix @@ -15,10 +15,10 @@ stdenv.mkDerivation rec { sha256 = "1w674rbwbhpirq70gp9rk6p068j36rwn112fx3nz613wgw63x84m"; }; - meta = { + meta = with stdenv.lib; { homepage = http://herqq.org; description = "A software library for building UPnP devices and control points"; - inherit (qt5.qtbase.meta) platforms; + platforms = platforms.linux; maintainers = [ ]; }; } diff --git a/pkgs/development/libraries/hpx/default.nix b/pkgs/development/libraries/hpx/default.nix index 6b08a0fd86f7..edb1dc01aa80 100644 --- a/pkgs/development/libraries/hpx/default.nix +++ b/pkgs/development/libraries/hpx/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { name = "hpx-${version}"; - version = "1.0.0"; + version = "1.1.0"; src = fetchFromGitHub { owner = "STEllAR-GROUP"; repo = "hpx"; rev = "${version}"; - sha256 = "0k79gw4c0v4i7ps1hw6x4m7svxbfml5xm6ly7p00dvg7z9521zsk"; + sha256 = "0xlhnycmpy2jgiqyzpwmkdrl6drf46ywdsl0qm4vksvjxqfgk9z3"; }; buildInputs = [ boost hwloc gperftools ]; diff --git a/pkgs/development/libraries/idnkit/default.nix b/pkgs/development/libraries/idnkit/default.nix index 4cee28630935..442da700f345 100644 --- a/pkgs/development/libraries/idnkit/default.nix +++ b/pkgs/development/libraries/idnkit/default.nix @@ -1,11 +1,12 @@ { stdenv, fetchurl, libiconv }: stdenv.mkDerivation rec { - name = "idnkit-1.0"; + name = "idnkit-${version}"; + version = "2.3"; src = fetchurl { - url = "http://www.nic.ad.jp/ja/idn/idnkit/download/sources/${name}-src.tar.gz"; - sha256 = "1z4i6fmyv67sflmjg763ymcxrcv84rbj1kv15im0s655h775zk8n"; + url = "https://jprs.co.jp/idn/${name}.tar.bz2"; + sha256 = "0zp9yc84ff5s0g2i6v9yfyza2n2x4xh0kq7hjd3anhh0clbp3l16"; }; buildInputs = [ libiconv ]; diff --git a/pkgs/development/libraries/itk/default.nix b/pkgs/development/libraries/itk/default.nix index bb90ec4831ac..10c160eacc6e 100644 --- a/pkgs/development/libraries/itk/default.nix +++ b/pkgs/development/libraries/itk/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, fetchpatch, cmake, libX11, libuuid, xz, vtk }: stdenv.mkDerivation rec { - name = "itk-4.12.2"; + name = "itk-4.13.0"; src = fetchurl { - url = mirror://sourceforge/itk/InsightToolkit-4.12.2.tar.xz; - sha256 = "1qw9mxbh083siljygahl4gdfv91xvfd8hfl7ghwii19f60xrvn2w"; + url = mirror://sourceforge/itk/InsightToolkit-4.13.0.tar.xz; + sha256 = "09d1gmqx3wbdfgwf7r91r12m2vknviv0i8wxwh2q9w1vrpizrczy"; }; cmakeFlags = [ diff --git a/pkgs/development/libraries/java/classpath/default.nix b/pkgs/development/libraries/java/classpath/default.nix deleted file mode 100644 index 82e02d06906b..000000000000 --- a/pkgs/development/libraries/java/classpath/default.nix +++ /dev/null @@ -1,61 +0,0 @@ -{ fetchurl, stdenv, javac, jvm, antlr, pkgconfig, gtk2, gconf, ecj }: - -stdenv.mkDerivation rec { - name = "classpath-0.99"; - - src = fetchurl { - url = "mirror://gnu/classpath/${name}.tar.gz"; - sha256 = "1j7cby4k66f1nvckm48xcmh352b1d1b33qk7l6hi7dp9i9zjjagr"; - }; - - patches = [ ./missing-casts.patch ]; - - nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ javac jvm antlr gtk2 gconf ecj ]; - - configurePhase = '' - # GCJ tries to compile all of Classpath during the `configure' run when - # trying to build in the source tree (see - # http://www.mail-archive.com/classpath@gnu.org/msg15079.html), thus we - # build out-of-tree. - mkdir ../build - cd ../build - echo "building in \`$PWD'" - - ../${name}/configure --prefix="$out" \ - --enable-fast-install --disable-dependency-tracking \ - ${configureFlags} - ''; - - /* Plug-in support requires Xulrunner and all that. Maybe someday, - optionally. - - Compilation with `-Werror' is disabled because of this: - - native/jni/native-lib/cpnet.c: In function 'cpnet_addMembership': - native/jni/native-lib/cpnet.c:583: error: dereferencing type-punned pointer will break strict-aliasing rules - native/jni/native-lib/cpnet.c: In function 'cpnet_dropMembership': - native/jni/native-lib/cpnet.c:598: error: dereferencing type-punned pointer will break strict-aliasing rules - - */ - - configureFlags = "--disable-Werror --disable-plugin --with-antlr-jar=${antlr}/lib/antlr.jar"; - - meta = { - description = "Essential libraries for Java"; - - longDescription = '' - GNU Classpath, Essential Libraries for Java, is a GNU project to create - free core class libraries for use with virtual machines and compilers - for the Java programming language. - ''; - - homepage = http://www.gnu.org/software/classpath/; - - # The exception makes it similar to LGPLv2+ AFAICS. - license = stdenv.lib.licenses.gpl2ClasspathPlus; - - maintainers = [ ]; - platforms = stdenv.lib.platforms.linux; - }; -} diff --git a/pkgs/development/libraries/java/classpath/missing-casts.patch b/pkgs/development/libraries/java/classpath/missing-casts.patch deleted file mode 100644 index 863ca2cac8ce..000000000000 --- a/pkgs/development/libraries/java/classpath/missing-casts.patch +++ /dev/null @@ -1,80 +0,0 @@ -Add missing casts. The GCC folks applied a similar patch in -GCC's own copy of Classpath: -http://gcc.gnu.org/ml/java/2007-05/msg00039.html . - ---- classpath-0.98/javax/management/NotificationBroadcasterSupport.java 2009-07-30 16:52:08.000000000 +0200 -+++ classpath-0.98/javax/management/NotificationBroadcasterSupport.java 2009-07-30 16:51:58.000000000 +0200 -@@ -218,7 +218,7 @@ - { - if (info == null || info.length == 0) - return new MBeanNotificationInfo[0]; -- return info.clone(); -+ return (MBeanNotificationInfo[]) info.clone(); - } - - /** - ---- classpath-0.98/java/util/concurrent/CopyOnWriteArrayList.java 2008-03-27 18:39:25.000000000 +0100 -+++ classpath-0.98/java/util/concurrent/CopyOnWriteArrayList.java 2009-07-30 17:08:30.000000000 +0200 -@@ -147,7 +148,7 @@ public class CopyOnWriteArrayList<E> - */ - public CopyOnWriteArrayList(E[] array) - { -- data = array.clone(); -+ data = (E[]) array.clone(); - } - - /** -@@ -364,7 +365,7 @@ public class CopyOnWriteArrayList<E> - public synchronized E set(int index, E e) - { - E result = data[index]; -- E[] newData = data.clone(); -+ E[] newData = (E[]) data.clone(); - newData[index] = e; - data = newData; - return result; - ---- classpath-0.98/java/util/EnumMap.java 2007-07-24 17:26:36.000000000 +0200 -+++ classpath-0.98/java/util/EnumMap.java 2009-07-30 17:12:19.000000000 +0200 -@@ -398,7 +398,7 @@ public class EnumMap<K extends Enum<K>, - // Can't happen. - result = null; - } -- result.store = store.clone(); -+ result.store = (V[]) store.clone(); - return result; - } - ---- classpath-0.98/gnu/java/lang/reflect/GenericSignatureParser.java 2008-03-01 11:13:31.000000000 +0100 -+++ classpath-0.98/gnu/java/lang/reflect/GenericSignatureParser.java 2009-07-30 17:14:24.000000000 +0200 -@@ -75,7 +75,7 @@ final class TypeVariableImpl extends Typ - public Type[] getBounds() - { - resolve(bounds); -- return bounds.clone(); -+ return (Type[]) bounds.clone(); - } - - public GenericDeclaration getGenericDeclaration() -@@ -154,7 +154,7 @@ final class ParameterizedTypeImpl extend - - public Type[] getActualTypeArguments() - { -- return typeArgs.clone(); -+ return (Type[]) typeArgs.clone(); - } - - public Type getRawType() - ---- classpath-0.98/external/jsr166/java/util/ArrayDeque.java 2006-12-10 21:25:40.000000000 +0100 -+++ classpath-0.98/external/jsr166/java/util/ArrayDeque.java 2009-07-30 17:15:35.000000000 +0200 -@@ -787,7 +790,7 @@ public class ArrayDeque<E> extends Abstr - ArrayDeque<E> result = (ArrayDeque<E>) super.clone(); - // Classpath local: we don't have Arrays.copyOf yet. - // result.elements = Arrays.copyOf(elements, elements.length); -- result.elements = elements.clone(); -+ result.elements = (E[]) elements.clone(); - return result; - - } catch (CloneNotSupportedException e) { diff --git a/pkgs/development/libraries/json-c/default.nix b/pkgs/development/libraries/json-c/default.nix index 315296ea2dfb..27d1b701f054 100644 --- a/pkgs/development/libraries/json-c/default.nix +++ b/pkgs/development/libraries/json-c/default.nix @@ -1,10 +1,10 @@ { stdenv, fetchurl, autoconf }: stdenv.mkDerivation rec { - name = "json-c-0.13"; + name = "json-c-0.13.1"; src = fetchurl { url = "https://s3.amazonaws.com/json-c_releases/releases/${name}-nodoc.tar.gz"; - sha256 = "01jsr647faqrcbsrmzb52s9ppa9ll4pscz4nizk3xlp98q37cwl5"; + sha256 = "0ch1v18wk703bpbyzj7h1mkwvsw4rw4qdwvgykscypvqq10678ll"; }; outputs = [ "out" "dev" ]; diff --git a/pkgs/development/libraries/leveldb/default.nix b/pkgs/development/libraries/leveldb/default.nix index 3ff2ca0b0ee4..2b50c09af5cc 100644 --- a/pkgs/development/libraries/leveldb/default.nix +++ b/pkgs/development/libraries/leveldb/default.nix @@ -15,7 +15,12 @@ stdenv.mkDerivation rec { make all leveldbutil libmemenv.a ''; - installPhase = " + installPhase = (stdenv.lib.optionalString stdenv.isDarwin '' + for file in *.dylib*; do + install_name_tool -id $out/lib/$file $file + done + '') + # XXX consider removing above after transition to cmake in the next release + " mkdir -p $out/{bin,lib,include} cp -r include $out diff --git a/pkgs/development/libraries/libamqpcpp/default.nix b/pkgs/development/libraries/libamqpcpp/default.nix index 421c73cbb056..85972e67e103 100644 --- a/pkgs/development/libraries/libamqpcpp/default.nix +++ b/pkgs/development/libraries/libamqpcpp/default.nix @@ -1,16 +1,18 @@ -{ stdenv, fetchFromGitHub }: +{ stdenv, fetchFromGitHub, openssl }: stdenv.mkDerivation rec { name = "libamqpcpp-${version}"; - version = "2.7.4"; + version = "3.0.0"; src = fetchFromGitHub { owner = "CopernicaMarketingSoftware"; repo = "AMQP-CPP"; rev = "v${version}"; - sha256 = "0m010bz0axawcpv4d1p1vx7c6r8lg27w2s2vjqpbpg99w35n6c8k"; + sha256 = "0n93wy2v2hx9zalpyn8zxsxihh0xpgcd472qwvwsc253y97v8ngv"; }; + buildInputs = [ openssl ]; + patches = [ ./libamqpcpp-darwin.patch ]; makeFlags = [ "PREFIX=$(out)" ]; diff --git a/pkgs/development/libraries/libaom/default.nix b/pkgs/development/libraries/libaom/default.nix new file mode 100644 index 000000000000..d11bec2cb4ff --- /dev/null +++ b/pkgs/development/libraries/libaom/default.nix @@ -0,0 +1,25 @@ +{ stdenv, fetchgit, yasm, perl, cmake, pkgconfig }: + +stdenv.mkDerivation rec { + name = "libaom-0.1.0"; + + src = fetchgit { + url = "https://aomedia.googlesource.com/aom"; + rev = "105e9b195bb90c9b06edcbcb13b6232dab6db0b7"; + sha256 = "1fl2sca4df01gyn00s0xcwwirxccfnjppvjdrxdnb8f2naj721by"; + }; + + buildInputs = [ perl yasm ]; + nativeBuildInputs = [ cmake pkgconfig ]; + + cmakeFlags = [ + "-DCONFIG_UNIT_TESTS=0" + ]; + + meta = with stdenv.lib; { + description = "AV1 Bitstream and Decoding Library"; + homepage = https://aomedia.org/av1-features/get-started/; + maintainers = with maintainers; [ kiloreux ]; + platforms = platforms.all; + }; +} \ No newline at end of file diff --git a/pkgs/development/libraries/libesmtp/default.nix b/pkgs/development/libraries/libesmtp/default.nix new file mode 100644 index 000000000000..980cee2e6879 --- /dev/null +++ b/pkgs/development/libraries/libesmtp/default.nix @@ -0,0 +1,18 @@ +{ stdenv, fetchurl }: + +stdenv.mkDerivation rec { + name = "libESMTP-${version}"; + version = "1.0.6"; + + src = fetchurl { + url = "http://brianstafford.info/libesmtp/libesmtp-1.0.6.tar.bz2"; + sha256 = "02zbniyz7qys1jmx3ghx21kxmns1wc3hmv80gp7ag7yra9f1m9nh"; + }; + + meta = with stdenv.lib; { + homepage = http://brianstafford.info/libesmtp/index.html; + description = "A Library for Posting Electronic Mail"; + license = licenses.lgpl21; + }; +} + diff --git a/pkgs/development/libraries/libevent/default.nix b/pkgs/development/libraries/libevent/default.nix index e14f4cbf5d63..871437f19082 100644 --- a/pkgs/development/libraries/libevent/default.nix +++ b/pkgs/development/libraries/libevent/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, findutils +{ stdenv, fetchurl, findutils, fixDarwinDylibNames , sslSupport? true, openssl }: @@ -26,6 +26,7 @@ stdenv.mkDerivation rec { buildInputs = [] ++ stdenv.lib.optional sslSupport openssl ++ stdenv.lib.optional stdenv.isCygwin findutils + ++ stdenv.lib.optional stdenv.isDarwin fixDarwinDylibNames ; postInstall = stdenv.lib.optionalString sslSupport '' diff --git a/pkgs/development/libraries/libgringotts/default.nix b/pkgs/development/libraries/libgringotts/default.nix index 1da6cffe3f2c..89fcfdfde8da 100644 --- a/pkgs/development/libraries/libgringotts/default.nix +++ b/pkgs/development/libraries/libgringotts/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "libgringotts-${version}"; - version = "1.1.2"; + version = "1.2.1"; src = fetchurl { - url = "http://libgringotts.sourceforge.net/current/${name}.tar.bz2"; - sha256 = "1bzfnpf2gwc2bisbrw06s63g9z9v4mh1n9ksqr6pbgj2prz7bvlk"; + url = "https://sourceforge.net/projects/gringotts.berlios/files/${name}.tar.bz2"; + sha256 = "1ldz1lyl1aml5ci1mpnys8dg6n7khpcs4zpycak3spcpgdsnypm7"; }; nativeBuildInputs = [ pkgconfig ]; diff --git a/pkgs/development/libraries/libmediainfo/default.nix b/pkgs/development/libraries/libmediainfo/default.nix index 36343faa0f99..8c204ba4006f 100644 --- a/pkgs/development/libraries/libmediainfo/default.nix +++ b/pkgs/development/libraries/libmediainfo/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, autoreconfHook, pkgconfig, libzen, zlib }: stdenv.mkDerivation rec { - version = "18.03"; + version = "18.03.1"; name = "libmediainfo-${version}"; src = fetchurl { url = "https://mediaarea.net/download/source/libmediainfo/${version}/libmediainfo_${version}.tar.xz"; - sha256 = "1d4zqik9sm8fsr26w5jsp0rgczlh5vh3gwknxy4g3gd6pqri4igv"; + sha256 = "183gcb6h81blgvssfl5lxsv8h5izkgg6b86z0jy9g699adgkchq2"; }; nativeBuildInputs = [ autoreconfHook pkgconfig ]; diff --git a/pkgs/development/libraries/libmowgli/default.nix b/pkgs/development/libraries/libmowgli/default.nix index 06a98bcdcebf..b23701837fa0 100644 --- a/pkgs/development/libraries/libmowgli/default.nix +++ b/pkgs/development/libraries/libmowgli/default.nix @@ -1,11 +1,12 @@ { stdenv, fetchurl }: stdenv.mkDerivation rec { - name = "libmowgli-0.9.50"; + name = "libmowgli-${version}"; + version = "2.1.3"; src = fetchurl { - url = "http://distfiles.atheme.org/${name}.tar.bz2"; - sha256 = "0wbnpd2rzk5jg6pghgxyx7brjrdmsyg4p0mm9blwmrdrj5ybxx9z"; + url = "https://github.com/atheme/libmowgli-2/archive/v${version}.tar.gz"; + sha256 = "0xx4vndmwz40pxa5gikl8z8cskpdl9a30i2i5fjncqzlp4pspymp"; }; meta = { diff --git a/pkgs/development/libraries/libmysqlconnectorcpp/default.nix b/pkgs/development/libraries/libmysqlconnectorcpp/default.nix index c184e647d286..9eefbcfdb49e 100644 --- a/pkgs/development/libraries/libmysqlconnectorcpp/default.nix +++ b/pkgs/development/libraries/libmysqlconnectorcpp/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "libmysqlconnectorcpp-${version}"; - version = "1.1.7"; + version = "1.1.9"; src = fetchurl { url = "http://cdn.mysql.com/Downloads/Connector-C++/mysql-connector-c++-${version}.tar.gz"; - sha256 = "0qy7kxz8h1zswr50ysyl2cc9gy0ip2j7ikl714m7lq3gsay3ydav"; + sha256 = "1r6j17sy5816a2ld759iis2k6igc2w9p70y4nw9w3rd4d5x88c9y"; }; buildInputs = [ cmake boost mysql ]; diff --git a/pkgs/development/libraries/libqalculate/default.nix b/pkgs/development/libraries/libqalculate/default.nix index cdc2a6570022..1b15769465e1 100644 --- a/pkgs/development/libraries/libqalculate/default.nix +++ b/pkgs/development/libraries/libqalculate/default.nix @@ -3,11 +3,11 @@ stdenv.mkDerivation rec { name = "libqalculate-${version}"; - version = "2.2.1"; + version = "2.3.0"; src = fetchurl { url = "https://github.com/Qalculate/libqalculate/archive/v${version}.tar.gz"; - sha256 = "0bam1xvw4n5sm3g4kmggz2aha34xaw64kw15wl2lbkd2yzdjdm4l"; + sha256 = "1wrd9ajf00h1ja56r25vljjsgklg0qlzmziax7x26wjqkigc28iq"; }; outputs = [ "out" "dev" "doc" ]; diff --git a/pkgs/development/libraries/libsass/default.nix b/pkgs/development/libraries/libsass/default.nix index df160f3405a3..ec4fa6b7427a 100644 --- a/pkgs/development/libraries/libsass/default.nix +++ b/pkgs/development/libraries/libsass/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "libsass-${version}"; - version = "3.5.1"; + version = "3.5.2"; src = fetchurl { url = "https://github.com/sass/libsass/archive/${version}.tar.gz"; - sha256 = "0qy5hsglrdwzlb1x83v40pnm52hrjbdrc5zardp89i3vwcdzkrq8"; + sha256 = "1qjpicbjsj9gf8s00ma0d6kw6qfnc29fhrqdkvq8427wfffj654r"; }; patchPhase = '' diff --git a/pkgs/development/libraries/libsolv/default.nix b/pkgs/development/libraries/libsolv/default.nix index 396bd09921fe..2d5fa20c7cf8 100644 --- a/pkgs/development/libraries/libsolv/default.nix +++ b/pkgs/development/libraries/libsolv/default.nix @@ -1,14 +1,14 @@ { stdenv, fetchFromGitHub, cmake, zlib, expat, rpm, db }: stdenv.mkDerivation rec { - rev = "0.6.33"; + rev = "0.6.34"; name = "libsolv-${rev}"; src = fetchFromGitHub { inherit rev; owner = "openSUSE"; repo = "libsolv"; - sha256 = "1vf8mwqzjjqkd5ir71h4lifybibs5nhqgfgq5zzlazby02zx2yiz"; + sha256 = "1knr48dilg8kscbmpjvd7m2krvgcdq0f9vpbqcgmxxa969mzrcy7"; }; cmakeFlags = "-DENABLE_RPMMD=true -DENABLE_RPMDB=true -DENABLE_PUBKEY=true -DENABLE_RPMDB_BYRPMHEADER=true"; diff --git a/pkgs/development/libraries/libvisio/default.nix b/pkgs/development/libraries/libvisio/default.nix index bda14d729476..a09e2cf2f72a 100644 --- a/pkgs/development/libraries/libvisio/default.nix +++ b/pkgs/development/libraries/libvisio/default.nix @@ -1,32 +1,31 @@ { stdenv, fetchurl, boost, libwpd, libwpg, pkgconfig, zlib, gperf -, librevenge, libxml2, icu, perl +, librevenge, libxml2, icu, perl, cppunit, doxygen }: stdenv.mkDerivation rec { - name = "libvisio-0.1.3"; + name = "libvisio-${version}"; + version = "0.1.6"; + + outputs = [ "out" "bin" "dev" "doc" ]; src = fetchurl { - url = "http://dev-www.libreoffice.org/src/${name}.tar.bz2"; - sha256 = "1blgdwxprqkasm2175imcvy647sqv6xyf3k09p0b1i7hlq889wvy"; + url = "https://dev-www.libreoffice.org/src/libvisio/${name}.tar.xz"; + sha256 = "1yahpfl13qk6178irv8jn5ppxdn7isafqisyqsdw0lqxcz9h447y"; }; - nativeBuildInputs = [ pkgconfig ]; + nativeBuildInputs = [ pkgconfig cppunit doxygen ]; buildInputs = [ boost libwpd libwpg zlib gperf librevenge libxml2 icu perl ]; - # Boost 1.59 compatability fix - # Attempt removing when updating - postPatch = '' - sed -i 's,^CPPFLAGS.*,\0 -DBOOST_ERROR_CODE_HEADER_ONLY -DBOOST_SYSTEM_NO_DEPRECATED,' src/lib/Makefile.in - ''; - configureFlags = [ "--disable-werror" - "--disable-tests" ]; - meta = { + doCheck = true; + + meta = with stdenv.lib; { description = "A library providing ability to interpret and import visio diagrams into various applications"; - homepage = http://www.freedesktop.org/wiki/Software/libvisio; - platforms = stdenv.lib.platforms.unix; + homepage = https://wiki.documentfoundation.org/DLP/Libraries/libvisio; + license = licenses.mpl20; + platforms = platforms.unix; }; } diff --git a/pkgs/development/libraries/libxcomp/default.nix b/pkgs/development/libraries/libxcomp/default.nix index 7ed2d2fd6300..d225831f7024 100644 --- a/pkgs/development/libraries/libxcomp/default.nix +++ b/pkgs/development/libraries/libxcomp/default.nix @@ -1,19 +1,20 @@ -{ stdenv, fetchurl, autoreconfHook, libjpeg, libpng, libX11, zlib }: +{ stdenv, fetchurl, autoreconfHook, pkgconfig, libjpeg, libpng, libX11, zlib }: stdenv.mkDerivation rec { name = "libxcomp-${version}"; - version = "3.5.0.33"; + version = "3.5.99.16"; src = fetchurl { - sha256 = "17qjsd6v2ldpfmyjrkdnlq4qk05hz5l6qs54g8h0glzq43w28f74"; + sha256 = "1m3z9w3h6qpgk265xf030w7lcs181jgw2cdyzshb7l97mn1f7hh2"; url = "http://code.x2go.org/releases/source/nx-libs/nx-libs-${version}-lite.tar.gz"; }; buildInputs = [ libjpeg libpng libX11 zlib ]; - nativeBuildInputs = [ autoreconfHook ]; + nativeBuildInputs = [ autoreconfHook pkgconfig ]; preAutoreconf = '' cd nxcomp/ + sed -i 's|/src/.libs/libXcomp.a|/src/.libs/libXcomp.la|' test/Makefile.am ''; enableParallelBuilding = true; diff --git a/pkgs/development/libraries/lightstep-tracer-cpp/default.nix b/pkgs/development/libraries/lightstep-tracer-cpp/default.nix index f5660e93d79a..f2a8d75a9cbb 100644 --- a/pkgs/development/libraries/lightstep-tracer-cpp/default.nix +++ b/pkgs/development/libraries/lightstep-tracer-cpp/default.nix @@ -48,5 +48,6 @@ stdenv.mkDerivation rec { license = licenses.mit; platforms = platforms.linux; maintainers = with maintainers; [ cstrahan ]; + broken = true; # 2018-02-16 }; } diff --git a/pkgs/development/libraries/lmdb/default.nix b/pkgs/development/libraries/lmdb/default.nix index d96b5ed6d520..0bb3a67d9502 100644 --- a/pkgs/development/libraries/lmdb/default.nix +++ b/pkgs/development/libraries/lmdb/default.nix @@ -2,17 +2,20 @@ stdenv.mkDerivation rec { name = "lmdb-${version}"; - version = "0.9.21"; + version = "0.9.22"; src = fetchFromGitHub { owner = "LMDB"; repo = "lmdb"; rev = "LMDB_${version}"; - sha256 = "026a6himvg3y4ssnccdbgr3c2pq3w2d47nayn05v512875z4f2w3"; + sha256 = "0lng4ra2qrbqcf8klvqp68qarha0z4bkqhhv8lhh45agsxyrhfkj"; }; postUnpack = "sourceRoot=\${sourceRoot}/libraries/liblmdb"; + patches = [ ./hardcoded-compiler.patch ]; + patchFlags = "-p3"; + outputs = [ "bin" "out" "dev" ]; makeFlags = [ "prefix=$(out)" "CC=cc" ] diff --git a/pkgs/development/libraries/lmdb/hardcoded-compiler.patch b/pkgs/development/libraries/lmdb/hardcoded-compiler.patch new file mode 100644 index 000000000000..ddb247b7f113 --- /dev/null +++ b/pkgs/development/libraries/lmdb/hardcoded-compiler.patch @@ -0,0 +1,26 @@ +commit 029031a68873bc3784a8561bd8e049efbd34f9d0 (HEAD) +Author: Vladimír Čunát <vcunat@gmail.com> +Date: Sun Apr 1 11:05:31 2018 +0200 + + make: gcc -> $(CC) + +diff --git a/libraries/liblmdb/Makefile b/libraries/liblmdb/Makefile +index f254511..612484e 100644 +--- a/libraries/liblmdb/Makefile ++++ b/libraries/liblmdb/Makefile +@@ -102,13 +102,13 @@ COV_OBJS=xmdb.o xmidl.o + + coverage: xmtest + for i in mtest*.c [0-9]*.c; do j=`basename \$$i .c`; $(MAKE) $$j.o; \ +- gcc -o x$$j $$j.o $(COV_OBJS) -pthread $(COV_FLAGS); \ ++ $(CC) -o x$$j $$j.o $(COV_OBJS) -pthread $(COV_FLAGS); \ + rm -rf testdb; mkdir testdb; ./x$$j; done + gcov xmdb.c + gcov xmidl.c + + xmtest: mtest.o xmdb.o xmidl.o +- gcc -o xmtest mtest.o xmdb.o xmidl.o -pthread $(COV_FLAGS) ++ $(CC) -o xmtest mtest.o xmdb.o xmidl.o -pthread $(COV_FLAGS) + + xmdb.o: mdb.c lmdb.h midl.h + $(CC) $(CFLAGS) -fPIC $(CPPFLAGS) -O0 $(COV_FLAGS) -c mdb.c -o $@ diff --git a/pkgs/development/libraries/matio/default.nix b/pkgs/development/libraries/matio/default.nix index 9fcc9c70a9b1..573215227369 100644 --- a/pkgs/development/libraries/matio/default.nix +++ b/pkgs/development/libraries/matio/default.nix @@ -1,9 +1,9 @@ { stdenv, fetchurl }: stdenv.mkDerivation rec { - name = "matio-1.5.11"; + name = "matio-1.5.12"; src = fetchurl { url = "mirror://sourceforge/matio/${name}.tar.gz"; - sha256 = "02ygr7bslzvn6mhxvapz57bh4d448xjf3ds82g1cvhn9al6fvk0c"; + sha256 = "1afqjhc1wbm7g1vry3w30c7dbrxg6n4i482ybgx6l1b5wj0f75c6"; }; meta = with stdenv.lib; { diff --git a/pkgs/development/libraries/mpfr/upstream.patch b/pkgs/development/libraries/mpfr/upstream.patch deleted file mode 100644 index 779331605245..000000000000 --- a/pkgs/development/libraries/mpfr/upstream.patch +++ /dev/null @@ -1,1699 +0,0 @@ -diff -Naurd mpfr-3.1.3-a/PATCHES mpfr-3.1.3-b/PATCHES ---- mpfr-3.1.3-a/PATCHES 2015-07-02 10:49:23.950112879 +0000 -+++ mpfr-3.1.3-b/PATCHES 2015-07-02 10:49:24.042113845 +0000 -@@ -0,0 +1 @@ -+lngamma-and-doc -diff -Naurd mpfr-3.1.3-a/VERSION mpfr-3.1.3-b/VERSION ---- mpfr-3.1.3-a/VERSION 2015-06-19 19:55:09.000000000 +0000 -+++ mpfr-3.1.3-b/VERSION 2015-07-02 10:49:24.042113845 +0000 -@@ -1 +1 @@ --3.1.3 -+3.1.3-p1 -diff -Naurd mpfr-3.1.3-a/doc/mpfr.texi mpfr-3.1.3-b/doc/mpfr.texi ---- mpfr-3.1.3-a/doc/mpfr.texi 2015-06-19 19:55:11.000000000 +0000 -+++ mpfr-3.1.3-b/doc/mpfr.texi 2015-07-02 10:49:24.018113593 +0000 -@@ -810,13 +810,17 @@ - When the input point is in the closure of the domain of the mathematical - function and an input argument is +0 (resp.@: @minus{}0), one considers - the limit when the corresponding argument approaches 0 from above --(resp.@: below). If the limit is not defined (e.g., @code{mpfr_log} on --@minus{}0), the behavior is specified in the description of the MPFR function. -+(resp.@: below), if possible. If the limit is not defined (e.g., -+@code{mpfr_sqrt} and @code{mpfr_log} on @minus{}0), the behavior is -+specified in the description of the MPFR function, but must be consistent -+with the rule from the above paragraph (e.g., @code{mpfr_log} on @pom{}0 -+gives @minus{}Inf). - - When the result is equal to 0, its sign is determined by considering the - limit as if the input point were not in the domain: If one approaches 0 - from above (resp.@: below), the result is +0 (resp.@: @minus{}0); --for example, @code{mpfr_sin} on +0 gives +0. -+for example, @code{mpfr_sin} on @minus{}0 gives @minus{}0 and -+@code{mpfr_acos} on 1 gives +0 (in all rounding modes). - In the other cases, the sign is specified in the description of the MPFR - function; for example @code{mpfr_max} on @minus{}0 and +0 gives +0. - -@@ -832,8 +836,8 @@ - @c that advantages in practice), like for any bug fix. - Example: @code{mpfr_hypot} on (NaN,0) gives NaN, but @code{mpfr_hypot} - on (NaN,+Inf) gives +Inf (as specified in @ref{Special Functions}), --since for any finite input @var{x}, @code{mpfr_hypot} on (@var{x},+Inf) --gives +Inf. -+since for any finite or infinite input @var{x}, @code{mpfr_hypot} on -+(@var{x},+Inf) gives +Inf. - - @node Exceptions, Memory Handling, Floating-Point Values on Special Numbers, MPFR Basics - @comment node-name, next, previous, up -@@ -1581,7 +1585,8 @@ - @deftypefunx int mpfr_add_z (mpfr_t @var{rop}, mpfr_t @var{op1}, mpz_t @var{op2}, mpfr_rnd_t @var{rnd}) - @deftypefunx int mpfr_add_q (mpfr_t @var{rop}, mpfr_t @var{op1}, mpq_t @var{op2}, mpfr_rnd_t @var{rnd}) - Set @var{rop} to @math{@var{op1} + @var{op2}} rounded in the direction --@var{rnd}. For types having no signed zero, it is considered unsigned -+@var{rnd}. The IEEE-754 rules are used, in particular for signed zeros. -+But for types having no signed zeros, 0 is considered unsigned - (i.e., (+0) + 0 = (+0) and (@minus{}0) + 0 = (@minus{}0)). - The @code{mpfr_add_d} function assumes that the radix of the @code{double} type - is a power of 2, with a precision at most that declared by the C implementation -@@ -1599,7 +1604,8 @@ - @deftypefunx int mpfr_sub_z (mpfr_t @var{rop}, mpfr_t @var{op1}, mpz_t @var{op2}, mpfr_rnd_t @var{rnd}) - @deftypefunx int mpfr_sub_q (mpfr_t @var{rop}, mpfr_t @var{op1}, mpq_t @var{op2}, mpfr_rnd_t @var{rnd}) - Set @var{rop} to @math{@var{op1} - @var{op2}} rounded in the direction --@var{rnd}. For types having no signed zero, it is considered unsigned -+@var{rnd}. The IEEE-754 rules are used, in particular for signed zeros. -+But for types having no signed zeros, 0 is considered unsigned - (i.e., (+0) @minus{} 0 = (+0), (@minus{}0) @minus{} 0 = (@minus{}0), - 0 @minus{} (+0) = (@minus{}0) and 0 @minus{} (@minus{}0) = (+0)). - The same restrictions than for @code{mpfr_add_d} apply to @code{mpfr_d_sub} -@@ -1615,7 +1621,7 @@ - Set @var{rop} to @math{@var{op1} @GMPtimes{} @var{op2}} rounded in the - direction @var{rnd}. - When a result is zero, its sign is the product of the signs of the operands --(for types having no signed zero, it is considered positive). -+(for types having no signed zeros, 0 is considered positive). - The same restrictions than for @code{mpfr_add_d} apply to @code{mpfr_mul_d}. - @end deftypefun - -@@ -1635,7 +1641,7 @@ - @deftypefunx int mpfr_div_q (mpfr_t @var{rop}, mpfr_t @var{op1}, mpq_t @var{op2}, mpfr_rnd_t @var{rnd}) - Set @var{rop} to @math{@var{op1}/@var{op2}} rounded in the direction @var{rnd}. - When a result is zero, its sign is the product of the signs of the operands --(for types having no signed zero, it is considered positive). -+(for types having no signed zeros, 0 is considered positive). - The same restrictions than for @code{mpfr_add_d} apply to @code{mpfr_d_div} - and @code{mpfr_div_d}. - @end deftypefun -@@ -1643,15 +1649,18 @@ - @deftypefun int mpfr_sqrt (mpfr_t @var{rop}, mpfr_t @var{op}, mpfr_rnd_t @var{rnd}) - @deftypefunx int mpfr_sqrt_ui (mpfr_t @var{rop}, unsigned long int @var{op}, mpfr_rnd_t @var{rnd}) - Set @var{rop} to @m{\sqrt{@var{op}}, the square root of @var{op}} --rounded in the direction @var{rnd} (set @var{rop} to @minus{}0 if @var{op} is --@minus{}0, to be consistent with the IEEE 754 standard). -+rounded in the direction @var{rnd}. Set @var{rop} to @minus{}0 if -+@var{op} is @minus{}0, to be consistent with the IEEE 754 standard. - Set @var{rop} to NaN if @var{op} is negative. - @end deftypefun - - @deftypefun int mpfr_rec_sqrt (mpfr_t @var{rop}, mpfr_t @var{op}, mpfr_rnd_t @var{rnd}) - Set @var{rop} to @m{1/\sqrt{@var{op}}, the reciprocal square root of @var{op}} --rounded in the direction @var{rnd}. Set @var{rop} to +Inf if @var{op} is --@pom{}0, +0 if @var{op} is +Inf, and NaN if @var{op} is negative. -+rounded in the direction @var{rnd}. Set @var{rop} to +Inf if @var{op} is -+@pom{}0, +0 if @var{op} is +Inf, and NaN if @var{op} is negative. Warning! -+Therefore the result on @minus{}0 is different from the one of the rSqrt -+function recommended by the IEEE 754-2008 standard (Section 9.2.1), which -+is @minus{}Inf instead of +Inf. - @end deftypefun - - @deftypefun int mpfr_cbrt (mpfr_t @var{rop}, mpfr_t @var{op}, mpfr_rnd_t @var{rnd}) -@@ -1832,7 +1841,9 @@ - @m{\log_2 @var{op}, log2(@var{op})} or - @m{\log_{10} @var{op}, log10(@var{op})}, respectively, - rounded in the direction @var{rnd}. --Set @var{rop} to @minus{}Inf if @var{op} is @minus{}0 -+Set @var{rop} to +0 if @var{op} is 1 (in all rounding modes), -+for consistency with the ISO C99 and IEEE 754-2008 standards. -+Set @var{rop} to @minus{}Inf if @var{op} is @pom{}0 - (i.e., the sign of the zero has no influence on the result). - @end deftypefun - -@@ -2003,8 +2014,11 @@ - @deftypefun int mpfr_lngamma (mpfr_t @var{rop}, mpfr_t @var{op}, mpfr_rnd_t @var{rnd}) - Set @var{rop} to the value of the logarithm of the Gamma function on @var{op}, - rounded in the direction @var{rnd}. --When @math{@minus{}2@var{k}@minus{}1 @le{} @var{op} @le{} @minus{}2@var{k}}, --@var{k} being a non-negative integer, @var{rop} is set to NaN. -+When @var{op} is 1 or 2, set @var{rop} to +0 (in all rounding modes). -+When @var{op} is an infinity or a nonpositive integer, set @var{rop} to +Inf, -+following the general rules on special values. -+When @math{@minus{}2@var{k}@minus{}1 < @var{op} < @minus{}2@var{k}}, -+@var{k} being a nonnegative integer, set @var{rop} to NaN@. - See also @code{mpfr_lgamma}. - @end deftypefun - -@@ -2012,10 +2026,11 @@ - Set @var{rop} to the value of the logarithm of the absolute value of the - Gamma function on @var{op}, rounded in the direction @var{rnd}. The sign - (1 or @minus{}1) of Gamma(@var{op}) is returned in the object pointed to --by @var{signp}. When @var{op} is an infinity or a non-positive integer, set --@var{rop} to +Inf. When @var{op} is NaN, @minus{}Inf or a negative integer, --*@var{signp} is undefined, and when @var{op} is @pom{}0, *@var{signp} is --the sign of the zero. -+by @var{signp}. -+When @var{op} is 1 or 2, set @var{rop} to +0 (in all rounding modes). -+When @var{op} is an infinity or a nonpositive integer, set @var{rop} to +Inf. -+When @var{op} is NaN, @minus{}Inf or a negative integer, *@var{signp} is -+undefined, and when @var{op} is @pom{}0, *@var{signp} is the sign of the zero. - @end deftypefun - - @deftypefun int mpfr_digamma (mpfr_t @var{rop}, mpfr_t @var{op}, mpfr_rnd_t @var{rnd}) -@@ -2064,7 +2079,10 @@ - @deftypefunx int mpfr_fms (mpfr_t @var{rop}, mpfr_t @var{op1}, mpfr_t @var{op2}, mpfr_t @var{op3}, mpfr_rnd_t @var{rnd}) - Set @var{rop} to @math{(@var{op1} @GMPtimes{} @var{op2}) + @var{op3}} - (resp.@: @math{(@var{op1} @GMPtimes{} @var{op2}) - @var{op3}}) --rounded in the direction @var{rnd}. -+rounded in the direction @var{rnd}. Concerning special values (signed zeros, -+infinities, NaN), these functions behave like a multiplication followed by a -+separate addition or subtraction. That is, the fused operation matters only -+for rounding. - @end deftypefun - - @deftypefun int mpfr_agm (mpfr_t @var{rop}, mpfr_t @var{op1}, mpfr_t @var{op2}, mpfr_rnd_t @var{rnd}) -@@ -2089,8 +2107,8 @@ - i.e., $\sqrt{x^2+y^2}$, - @end tex - rounded in the direction @var{rnd}. --Special values are handled as described in Section F.9.4.3 of --the ISO C99 and IEEE 754-2008 standards: -+Special values are handled as described in the ISO C99 (Section F.9.4.3) -+and IEEE 754-2008 (Section 9.2.1) standards: - If @var{x} or @var{y} is an infinity, then +Inf is returned in @var{rop}, - even if the other number is NaN. - @end deftypefun -diff -Naurd mpfr-3.1.3-a/doc/mpfr.info mpfr-3.1.3-b/doc/mpfr.info ---- mpfr-3.1.3-a/doc/mpfr.info 2015-06-19 19:55:53.000000000 +0000 -+++ mpfr-3.1.3-b/doc/mpfr.info 2015-07-02 10:49:38.718267817 +0000 -@@ -1,4 +1,4 @@ --This is mpfr.info, produced by makeinfo version 5.2 from mpfr.texi. -+This is mpfr.info, produced by makeinfo version 6.0 from mpfr.texi. - - This manual documents how to install and use the Multiple Precision - Floating-Point Reliable Library, version 3.1.3. -@@ -55,7 +55,7 @@ - MPFR Copying Conditions - *********************** - --The GNU MPFR library (or MPFR for short) is "free"; this means that -+The GNU MPFR library (or MPFR for short) is “free”; this means that - everyone is free to use it and free to redistribute it on a free basis. - The library is not in the public domain; it is copyrighted and there are - restrictions on its distribution, but these restrictions are designed to -@@ -418,7 +418,7 @@ - 4.2 Nomenclature and Types - ========================== - --A "floating-point number", or "float" for short, is an arbitrary -+A “floating-point number”, or “float” for short, is an arbitrary - precision significand (also called mantissa) with a limited precision - exponent. The C data type for such objects is ‘mpfr_t’ (internally - defined as a one-element array of a structure, and ‘mpfr_ptr’ is the C -@@ -432,7 +432,7 @@ - to the other functions supported by MPFR. Unless documented otherwise, - the sign bit of a NaN is unspecified. - --The "precision" is the number of bits used to represent the significand -+The “precision” is the number of bits used to represent the significand - of a floating-point number; the corresponding C data type is - ‘mpfr_prec_t’. The precision can be any integer between ‘MPFR_PREC_MIN’ - and ‘MPFR_PREC_MAX’. In the current implementation, ‘MPFR_PREC_MIN’ is -@@ -446,7 +446,7 @@ - may abort, crash or have undefined behavior (depending on your C - implementation). - --The "rounding mode" specifies the way to round the result of a -+The “rounding mode” specifies the way to round the result of a - floating-point operation, in case the exact result can not be - represented exactly in the destination significand; the corresponding C - data type is ‘mpfr_rnd_t’. -@@ -499,14 +499,14 @@ - representable numbers, it is rounded to the one with the least - significant bit set to zero. For example, the number 2.5, which is - represented by (10.1) in binary, is rounded to (10.0)=2 with a precision --of two bits, and not to (11.0)=3. This rule avoids the "drift" -+of two bits, and not to (11.0)=3. This rule avoids the “drift” - phenomenon mentioned by Knuth in volume 2 of The Art of Computer - Programming (Section 4.2.2). - - Most MPFR functions take as first argument the destination variable, - as second and following arguments the input variables, as last argument - a rounding mode, and have a return value of type ‘int’, called the --"ternary value". The value stored in the destination variable is -+“ternary value”. The value stored in the destination variable is - correctly rounded, i.e., MPFR behaves as if it computed the result with - an infinite precision, then rounded it to the precision of this - variable. The input variables are regarded as exact (in particular, -@@ -572,15 +572,18 @@ - When the input point is in the closure of the domain of the - mathematical function and an input argument is +0 (resp. −0), one - considers the limit when the corresponding argument approaches 0 from --above (resp. below). If the limit is not defined (e.g., ‘mpfr_log’ on --−0), the behavior is specified in the description of the MPFR function. -+above (resp. below), if possible. If the limit is not defined (e.g., -+‘mpfr_sqrt’ and ‘mpfr_log’ on −0), the behavior is specified in the -+description of the MPFR function, but must be consistent with the rule -+from the above paragraph (e.g., ‘mpfr_log’ on ±0 gives −Inf). - - When the result is equal to 0, its sign is determined by considering - the limit as if the input point were not in the domain: If one - approaches 0 from above (resp. below), the result is +0 (resp. −0); for --example, ‘mpfr_sin’ on +0 gives +0. In the other cases, the sign is --specified in the description of the MPFR function; for example --‘mpfr_max’ on −0 and +0 gives +0. -+example, ‘mpfr_sin’ on −0 gives −0 and ‘mpfr_acos’ on 1 gives +0 (in all -+rounding modes). In the other cases, the sign is specified in the -+description of the MPFR function; for example ‘mpfr_max’ on −0 and +0 -+gives +0. - - When the input point is not in the closure of the domain of the - function, the result is NaN. Example: ‘mpfr_sqrt’ on −17 gives NaN. -@@ -590,8 +593,8 @@ - numbers; such a case is always explicitly specified in *note MPFR - Interface::. Example: ‘mpfr_hypot’ on (NaN,0) gives NaN, but - ‘mpfr_hypot’ on (NaN,+Inf) gives +Inf (as specified in *note Special --Functions::), since for any finite input X, ‘mpfr_hypot’ on (X,+Inf) --gives +Inf. -+Functions::), since for any finite or infinite input X, ‘mpfr_hypot’ on -+(X,+Inf) gives +Inf. - - - File: mpfr.info, Node: Exceptions, Next: Memory Handling, Prev: Floating-Point Values on Special Numbers, Up: MPFR Basics -@@ -1253,8 +1256,9 @@ - mpfr_rnd_t RND) - -- Function: int mpfr_add_q (mpfr_t ROP, mpfr_t OP1, mpq_t OP2, - mpfr_rnd_t RND) -- Set ROP to OP1 + OP2 rounded in the direction RND. For types -- having no signed zero, it is considered unsigned (i.e., (+0) + 0 = -+ Set ROP to OP1 + OP2 rounded in the direction RND. The IEEE-754 -+ rules are used, in particular for signed zeros. But for types -+ having no signed zeros, 0 is considered unsigned (i.e., (+0) + 0 = - (+0) and (−0) + 0 = (−0)). The ‘mpfr_add_d’ function assumes that - the radix of the ‘double’ type is a power of 2, with a precision at - most that declared by the C implementation (macro -@@ -1280,8 +1284,9 @@ - mpfr_rnd_t RND) - -- Function: int mpfr_sub_q (mpfr_t ROP, mpfr_t OP1, mpq_t OP2, - mpfr_rnd_t RND) -- Set ROP to OP1 - OP2 rounded in the direction RND. For types -- having no signed zero, it is considered unsigned (i.e., (+0) − 0 = -+ Set ROP to OP1 - OP2 rounded in the direction RND. The IEEE-754 -+ rules are used, in particular for signed zeros. But for types -+ having no signed zeros, 0 is considered unsigned (i.e., (+0) − 0 = - (+0), (−0) − 0 = (−0), 0 − (+0) = (−0) and 0 − (−0) = (+0)). The - same restrictions than for ‘mpfr_add_d’ apply to ‘mpfr_d_sub’ and - ‘mpfr_sub_d’. -@@ -1300,7 +1305,7 @@ - mpfr_rnd_t RND) - Set ROP to OP1 times OP2 rounded in the direction RND. When a - result is zero, its sign is the product of the signs of the -- operands (for types having no signed zero, it is considered -+ operands (for types having no signed zeros, 0 is considered - positive). The same restrictions than for ‘mpfr_add_d’ apply to - ‘mpfr_mul_d’. - -@@ -1327,21 +1332,24 @@ - mpfr_rnd_t RND) - Set ROP to OP1/OP2 rounded in the direction RND. When a result is - zero, its sign is the product of the signs of the operands (for -- types having no signed zero, it is considered positive). The same -+ types having no signed zeros, 0 is considered positive). The same - restrictions than for ‘mpfr_add_d’ apply to ‘mpfr_d_div’ and - ‘mpfr_div_d’. - - -- Function: int mpfr_sqrt (mpfr_t ROP, mpfr_t OP, mpfr_rnd_t RND) - -- Function: int mpfr_sqrt_ui (mpfr_t ROP, unsigned long int OP, - mpfr_rnd_t RND) -- Set ROP to the square root of OP rounded in the direction RND (set -- ROP to −0 if OP is −0, to be consistent with the IEEE 754 -- standard). Set ROP to NaN if OP is negative. -+ Set ROP to the square root of OP rounded in the direction RND. Set -+ ROP to −0 if OP is −0, to be consistent with the IEEE 754 standard. -+ Set ROP to NaN if OP is negative. - - -- Function: int mpfr_rec_sqrt (mpfr_t ROP, mpfr_t OP, mpfr_rnd_t RND) - Set ROP to the reciprocal square root of OP rounded in the - direction RND. Set ROP to +Inf if OP is ±0, +0 if OP is +Inf, and -- NaN if OP is negative. -+ NaN if OP is negative. Warning! Therefore the result on −0 is -+ different from the one of the rSqrt function recommended by the -+ IEEE 754-2008 standard (Section 9.2.1), which is −Inf instead of -+ +Inf. - - -- Function: int mpfr_cbrt (mpfr_t ROP, mpfr_t OP, mpfr_rnd_t RND) - -- Function: int mpfr_root (mpfr_t ROP, mpfr_t OP, unsigned long int K, -@@ -1515,8 +1523,10 @@ - -- Function: int mpfr_log2 (mpfr_t ROP, mpfr_t OP, mpfr_rnd_t RND) - -- Function: int mpfr_log10 (mpfr_t ROP, mpfr_t OP, mpfr_rnd_t RND) - Set ROP to the natural logarithm of OP, log2(OP) or log10(OP), -- respectively, rounded in the direction RND. Set ROP to −Inf if OP -- is −0 (i.e., the sign of the zero has no influence on the result). -+ respectively, rounded in the direction RND. Set ROP to +0 if OP is -+ 1 (in all rounding modes), for consistency with the ISO C99 and -+ IEEE 754-2008 standards. Set ROP to −Inf if OP is ±0 (i.e., the -+ sign of the zero has no influence on the result). - - -- Function: int mpfr_exp (mpfr_t ROP, mpfr_t OP, mpfr_rnd_t RND) - -- Function: int mpfr_exp2 (mpfr_t ROP, mpfr_t OP, mpfr_rnd_t RND) -@@ -1649,17 +1659,21 @@ - - -- Function: int mpfr_lngamma (mpfr_t ROP, mpfr_t OP, mpfr_rnd_t RND) - Set ROP to the value of the logarithm of the Gamma function on OP, -- rounded in the direction RND. When −2K−1 <= OP <= −2K, K being a -- non-negative integer, ROP is set to NaN. See also ‘mpfr_lgamma’. -+ rounded in the direction RND. When OP is 1 or 2, set ROP to +0 (in -+ all rounding modes). When OP is an infinity or a nonpositive -+ integer, set ROP to +Inf, following the general rules on special -+ values. When −2K−1 < OP < −2K, K being a nonnegative integer, set -+ ROP to NaN. See also ‘mpfr_lgamma’. - - -- Function: int mpfr_lgamma (mpfr_t ROP, int *SIGNP, mpfr_t OP, - mpfr_rnd_t RND) - Set ROP to the value of the logarithm of the absolute value of the - Gamma function on OP, rounded in the direction RND. The sign (1 or - −1) of Gamma(OP) is returned in the object pointed to by SIGNP. -- When OP is an infinity or a non-positive integer, set ROP to +Inf. -- When OP is NaN, −Inf or a negative integer, *SIGNP is undefined, -- and when OP is ±0, *SIGNP is the sign of the zero. -+ When OP is 1 or 2, set ROP to +0 (in all rounding modes). When OP -+ is an infinity or a nonpositive integer, set ROP to +Inf. When OP -+ is NaN, −Inf or a negative integer, *SIGNP is undefined, and when -+ OP is ±0, *SIGNP is the sign of the zero. - - -- Function: int mpfr_digamma (mpfr_t ROP, mpfr_t OP, mpfr_rnd_t RND) - Set ROP to the value of the Digamma (sometimes also called Psi) -@@ -1703,7 +1717,10 @@ - -- Function: int mpfr_fms (mpfr_t ROP, mpfr_t OP1, mpfr_t OP2, mpfr_t - OP3, mpfr_rnd_t RND) - Set ROP to (OP1 times OP2) + OP3 (resp. (OP1 times OP2) - OP3) -- rounded in the direction RND. -+ rounded in the direction RND. Concerning special values (signed -+ zeros, infinities, NaN), these functions behave like a -+ multiplication followed by a separate addition or subtraction. -+ That is, the fused operation matters only for rounding. - - -- Function: int mpfr_agm (mpfr_t ROP, mpfr_t OP1, mpfr_t OP2, - mpfr_rnd_t RND) -@@ -1717,9 +1734,10 @@ - RND) - Set ROP to the Euclidean norm of X and Y, i.e., the square root of - the sum of the squares of X and Y, rounded in the direction RND. -- Special values are handled as described in Section F.9.4.3 of the -- ISO C99 and IEEE 754-2008 standards: If X or Y is an infinity, then -- +Inf is returned in ROP, even if the other number is NaN. -+ Special values are handled as described in the ISO C99 (Section -+ F.9.4.3) and IEEE 754-2008 (Section 9.2.1) standards: If X or Y is -+ an infinity, then +Inf is returned in ROP, even if the other number -+ is NaN. - - -- Function: int mpfr_ai (mpfr_t ROP, mpfr_t X, mpfr_rnd_t RND) - Set ROP to the value of the Airy function Ai on X, rounded in the -@@ -2670,7 +2688,7 @@ - 5.16 Internals - ============== - --A "limb" means the part of a multi-precision number that fits in a -+A “limb” means the part of a multi-precision number that fits in a - single word. Usually a limb contains 32 or 64 bits. The C data type - for a limb is ‘mp_limb_t’. - -@@ -3140,7 +3158,7 @@ - 0. PREAMBLE - - The purpose of this License is to make a manual, textbook, or other -- functional and useful document "free" in the sense of freedom: to -+ functional and useful document “free” in the sense of freedom: to - assure everyone the effective freedom to copy and redistribute it, - with or without modifying it, either commercially or - noncommercially. Secondarily, this License preserves for the -@@ -3655,9 +3673,9 @@ - * Menu: - - * mpfr_abs: Basic Arithmetic Functions. -- (line 160) --* mpfr_acos: Special Functions. (line 51) --* mpfr_acosh: Special Functions. (line 115) -+ (line 165) -+* mpfr_acos: Special Functions. (line 53) -+* mpfr_acosh: Special Functions. (line 117) - * mpfr_add: Basic Arithmetic Functions. - (line 6) - * mpfr_add_d: Basic Arithmetic Functions. -@@ -3670,15 +3688,15 @@ - (line 8) - * mpfr_add_z: Basic Arithmetic Functions. - (line 14) --* mpfr_agm: Special Functions. (line 210) --* mpfr_ai: Special Functions. (line 226) --* mpfr_asin: Special Functions. (line 52) --* mpfr_asinh: Special Functions. (line 116) -+* mpfr_agm: Special Functions. (line 219) -+* mpfr_ai: Special Functions. (line 236) -+* mpfr_asin: Special Functions. (line 54) -+* mpfr_asinh: Special Functions. (line 118) - * mpfr_asprintf: Formatted Output Functions. - (line 193) --* mpfr_atan: Special Functions. (line 53) --* mpfr_atan2: Special Functions. (line 63) --* mpfr_atanh: Special Functions. (line 117) -+* mpfr_atan: Special Functions. (line 55) -+* mpfr_atan2: Special Functions. (line 65) -+* mpfr_atanh: Special Functions. (line 119) - * mpfr_buildopt_decimal_p: Miscellaneous Functions. - (line 162) - * mpfr_buildopt_gmpinternals_p: Miscellaneous Functions. -@@ -3690,7 +3708,7 @@ - * mpfr_can_round: Rounding Related Functions. - (line 39) - * mpfr_cbrt: Basic Arithmetic Functions. -- (line 108) -+ (line 113) - * mpfr_ceil: Integer Related Functions. - (line 7) - * mpfr_check_range: Exception Related Functions. -@@ -3735,18 +3753,18 @@ - (line 27) - * mpfr_cmp_z: Comparison Functions. - (line 11) --* mpfr_const_catalan: Special Functions. (line 237) --* mpfr_const_euler: Special Functions. (line 236) --* mpfr_const_log2: Special Functions. (line 234) --* mpfr_const_pi: Special Functions. (line 235) -+* mpfr_const_catalan: Special Functions. (line 247) -+* mpfr_const_euler: Special Functions. (line 246) -+* mpfr_const_log2: Special Functions. (line 244) -+* mpfr_const_pi: Special Functions. (line 245) - * mpfr_copysign: Miscellaneous Functions. - (line 109) --* mpfr_cos: Special Functions. (line 29) --* mpfr_cosh: Special Functions. (line 95) --* mpfr_cot: Special Functions. (line 47) --* mpfr_coth: Special Functions. (line 111) --* mpfr_csc: Special Functions. (line 46) --* mpfr_csch: Special Functions. (line 110) -+* mpfr_cos: Special Functions. (line 31) -+* mpfr_cosh: Special Functions. (line 97) -+* mpfr_cot: Special Functions. (line 49) -+* mpfr_coth: Special Functions. (line 113) -+* mpfr_csc: Special Functions. (line 48) -+* mpfr_csch: Special Functions. (line 112) - * mpfr_custom_get_exp: Custom Interface. (line 75) - * mpfr_custom_get_kind: Custom Interface. (line 65) - * mpfr_custom_get_significand: Custom Interface. (line 70) -@@ -3756,47 +3774,47 @@ - * mpfr_custom_move: Custom Interface. (line 82) - * MPFR_DECL_INIT: Initialization Functions. - (line 74) --* mpfr_digamma: Special Functions. (line 166) -+* mpfr_digamma: Special Functions. (line 172) - * mpfr_dim: Basic Arithmetic Functions. -- (line 166) -+ (line 171) - * mpfr_div: Basic Arithmetic Functions. -- (line 72) -+ (line 74) - * mpfr_divby0_p: Exception Related Functions. - (line 134) - * mpfr_div_2exp: Compatibility with MPF. - (line 49) - * mpfr_div_2si: Basic Arithmetic Functions. -- (line 181) -+ (line 186) - * mpfr_div_2ui: Basic Arithmetic Functions. -- (line 179) -+ (line 184) - * mpfr_div_d: Basic Arithmetic Functions. -- (line 84) -+ (line 86) - * mpfr_div_q: Basic Arithmetic Functions. -- (line 88) -+ (line 90) - * mpfr_div_si: Basic Arithmetic Functions. -- (line 80) -+ (line 82) - * mpfr_div_ui: Basic Arithmetic Functions. -- (line 76) -+ (line 78) - * mpfr_div_z: Basic Arithmetic Functions. -- (line 86) -+ (line 88) - * mpfr_d_div: Basic Arithmetic Functions. -- (line 82) -+ (line 84) - * mpfr_d_sub: Basic Arithmetic Functions. -- (line 35) --* mpfr_eint: Special Functions. (line 133) -+ (line 36) -+* mpfr_eint: Special Functions. (line 135) - * mpfr_eq: Compatibility with MPF. - (line 28) - * mpfr_equal_p: Comparison Functions. - (line 59) - * mpfr_erangeflag_p: Exception Related Functions. - (line 137) --* mpfr_erf: Special Functions. (line 177) --* mpfr_erfc: Special Functions. (line 178) --* mpfr_exp: Special Functions. (line 23) --* mpfr_exp10: Special Functions. (line 25) --* mpfr_exp2: Special Functions. (line 24) --* mpfr_expm1: Special Functions. (line 129) --* mpfr_fac_ui: Special Functions. (line 121) -+* mpfr_erf: Special Functions. (line 183) -+* mpfr_erfc: Special Functions. (line 184) -+* mpfr_exp: Special Functions. (line 25) -+* mpfr_exp10: Special Functions. (line 27) -+* mpfr_exp2: Special Functions. (line 26) -+* mpfr_expm1: Special Functions. (line 131) -+* mpfr_fac_ui: Special Functions. (line 123) - * mpfr_fits_intmax_p: Conversion Functions. - (line 150) - * mpfr_fits_sint_p: Conversion Functions. -@@ -3815,20 +3833,20 @@ - (line 147) - * mpfr_floor: Integer Related Functions. - (line 8) --* mpfr_fma: Special Functions. (line 203) -+* mpfr_fma: Special Functions. (line 209) - * mpfr_fmod: Integer Related Functions. - (line 92) --* mpfr_fms: Special Functions. (line 205) -+* mpfr_fms: Special Functions. (line 211) - * mpfr_fprintf: Formatted Output Functions. - (line 157) - * mpfr_frac: Integer Related Functions. - (line 76) --* mpfr_free_cache: Special Functions. (line 244) -+* mpfr_free_cache: Special Functions. (line 254) - * mpfr_free_str: Conversion Functions. - (line 137) - * mpfr_frexp: Conversion Functions. - (line 45) --* mpfr_gamma: Special Functions. (line 148) -+* mpfr_gamma: Special Functions. (line 150) - * mpfr_get_d: Conversion Functions. - (line 7) - * mpfr_get_decimal64: Conversion Functions. -@@ -3887,7 +3905,7 @@ - (line 56) - * mpfr_greater_p: Comparison Functions. - (line 55) --* mpfr_hypot: Special Functions. (line 218) -+* mpfr_hypot: Special Functions. (line 227) - * mpfr_inexflag_p: Exception Related Functions. - (line 136) - * mpfr_inf_p: Comparison Functions. -@@ -3922,21 +3940,21 @@ - (line 31) - * mpfr_integer_p: Integer Related Functions. - (line 119) --* mpfr_j0: Special Functions. (line 182) --* mpfr_j1: Special Functions. (line 183) --* mpfr_jn: Special Functions. (line 184) -+* mpfr_j0: Special Functions. (line 188) -+* mpfr_j1: Special Functions. (line 189) -+* mpfr_jn: Special Functions. (line 190) - * mpfr_lessequal_p: Comparison Functions. - (line 58) - * mpfr_lessgreater_p: Comparison Functions. - (line 64) - * mpfr_less_p: Comparison Functions. - (line 57) --* mpfr_lgamma: Special Functions. (line 157) --* mpfr_li2: Special Functions. (line 143) --* mpfr_lngamma: Special Functions. (line 152) -+* mpfr_lgamma: Special Functions. (line 162) -+* mpfr_li2: Special Functions. (line 145) -+* mpfr_lngamma: Special Functions. (line 154) - * mpfr_log: Special Functions. (line 16) - * mpfr_log10: Special Functions. (line 18) --* mpfr_log1p: Special Functions. (line 125) -+* mpfr_log1p: Special Functions. (line 127) - * mpfr_log2: Special Functions. (line 17) - * mpfr_max: Miscellaneous Functions. - (line 22) -@@ -3947,29 +3965,29 @@ - * mpfr_modf: Integer Related Functions. - (line 82) - * mpfr_mul: Basic Arithmetic Functions. -- (line 51) -+ (line 53) - * mpfr_mul_2exp: Compatibility with MPF. - (line 47) - * mpfr_mul_2si: Basic Arithmetic Functions. -- (line 174) -+ (line 179) - * mpfr_mul_2ui: Basic Arithmetic Functions. -- (line 172) -+ (line 177) - * mpfr_mul_d: Basic Arithmetic Functions. -- (line 57) -+ (line 59) - * mpfr_mul_q: Basic Arithmetic Functions. -- (line 61) -+ (line 63) - * mpfr_mul_si: Basic Arithmetic Functions. -- (line 55) -+ (line 57) - * mpfr_mul_ui: Basic Arithmetic Functions. -- (line 53) -+ (line 55) - * mpfr_mul_z: Basic Arithmetic Functions. -- (line 59) -+ (line 61) - * mpfr_nanflag_p: Exception Related Functions. - (line 135) - * mpfr_nan_p: Comparison Functions. - (line 39) - * mpfr_neg: Basic Arithmetic Functions. -- (line 159) -+ (line 164) - * mpfr_nextabove: Miscellaneous Functions. - (line 15) - * mpfr_nextbelow: Miscellaneous Functions. -@@ -3983,13 +4001,13 @@ - * mpfr_overflow_p: Exception Related Functions. - (line 133) - * mpfr_pow: Basic Arithmetic Functions. -- (line 116) -+ (line 121) - * mpfr_pow_si: Basic Arithmetic Functions. -- (line 120) -+ (line 125) - * mpfr_pow_ui: Basic Arithmetic Functions. -- (line 118) -+ (line 123) - * mpfr_pow_z: Basic Arithmetic Functions. -- (line 122) -+ (line 127) - * mpfr_prec_round: Rounding Related Functions. - (line 13) - * ‘mpfr_prec_t’: Nomenclature and Types. -@@ -3999,7 +4017,7 @@ - * mpfr_print_rnd_mode: Rounding Related Functions. - (line 71) - * mpfr_rec_sqrt: Basic Arithmetic Functions. -- (line 103) -+ (line 105) - * mpfr_regular_p: Comparison Functions. - (line 43) - * mpfr_reldiff: Compatibility with MPF. -@@ -4021,11 +4039,11 @@ - * ‘mpfr_rnd_t’: Nomenclature and Types. - (line 34) - * mpfr_root: Basic Arithmetic Functions. -- (line 109) -+ (line 114) - * mpfr_round: Integer Related Functions. - (line 9) --* mpfr_sec: Special Functions. (line 45) --* mpfr_sech: Special Functions. (line 109) -+* mpfr_sec: Special Functions. (line 47) -+* mpfr_sech: Special Functions. (line 111) - * mpfr_set: Assignment Functions. - (line 9) - * mpfr_setsign: Miscellaneous Functions. -@@ -4100,57 +4118,57 @@ - (line 49) - * mpfr_signbit: Miscellaneous Functions. - (line 99) --* mpfr_sin: Special Functions. (line 30) --* mpfr_sinh: Special Functions. (line 96) --* mpfr_sinh_cosh: Special Functions. (line 101) --* mpfr_sin_cos: Special Functions. (line 35) -+* mpfr_sin: Special Functions. (line 32) -+* mpfr_sinh: Special Functions. (line 98) -+* mpfr_sinh_cosh: Special Functions. (line 103) -+* mpfr_sin_cos: Special Functions. (line 37) - * mpfr_si_div: Basic Arithmetic Functions. -- (line 78) -+ (line 80) - * mpfr_si_sub: Basic Arithmetic Functions. -- (line 31) -+ (line 32) - * mpfr_snprintf: Formatted Output Functions. - (line 180) - * mpfr_sprintf: Formatted Output Functions. - (line 170) - * mpfr_sqr: Basic Arithmetic Functions. -- (line 69) -+ (line 71) - * mpfr_sqrt: Basic Arithmetic Functions. -- (line 96) -+ (line 98) - * mpfr_sqrt_ui: Basic Arithmetic Functions. -- (line 97) -+ (line 99) - * mpfr_strtofr: Assignment Functions. - (line 80) - * mpfr_sub: Basic Arithmetic Functions. -- (line 25) -+ (line 26) - * mpfr_subnormalize: Exception Related Functions. - (line 60) - * mpfr_sub_d: Basic Arithmetic Functions. -- (line 37) -+ (line 38) - * mpfr_sub_q: Basic Arithmetic Functions. -- (line 43) -+ (line 44) - * mpfr_sub_si: Basic Arithmetic Functions. -- (line 33) -+ (line 34) - * mpfr_sub_ui: Basic Arithmetic Functions. -- (line 29) -+ (line 30) - * mpfr_sub_z: Basic Arithmetic Functions. -- (line 41) --* mpfr_sum: Special Functions. (line 252) -+ (line 42) -+* mpfr_sum: Special Functions. (line 262) - * mpfr_swap: Assignment Functions. - (line 150) - * ‘mpfr_t’: Nomenclature and Types. - (line 6) --* mpfr_tan: Special Functions. (line 31) --* mpfr_tanh: Special Functions. (line 97) -+* mpfr_tan: Special Functions. (line 33) -+* mpfr_tanh: Special Functions. (line 99) - * mpfr_trunc: Integer Related Functions. - (line 10) - * mpfr_ui_div: Basic Arithmetic Functions. -- (line 74) -+ (line 76) - * mpfr_ui_pow: Basic Arithmetic Functions. -- (line 126) -+ (line 131) - * mpfr_ui_pow_ui: Basic Arithmetic Functions. -- (line 124) -+ (line 129) - * mpfr_ui_sub: Basic Arithmetic Functions. -- (line 27) -+ (line 28) - * mpfr_underflow_p: Exception Related Functions. - (line 132) - * mpfr_unordered_p: Comparison Functions. -@@ -4181,61 +4199,61 @@ - (line 182) - * mpfr_vsprintf: Formatted Output Functions. - (line 171) --* mpfr_y0: Special Functions. (line 193) --* mpfr_y1: Special Functions. (line 194) --* mpfr_yn: Special Functions. (line 195) -+* mpfr_y0: Special Functions. (line 199) -+* mpfr_y1: Special Functions. (line 200) -+* mpfr_yn: Special Functions. (line 201) - * mpfr_zero_p: Comparison Functions. - (line 42) --* mpfr_zeta: Special Functions. (line 171) --* mpfr_zeta_ui: Special Functions. (line 172) -+* mpfr_zeta: Special Functions. (line 177) -+* mpfr_zeta_ui: Special Functions. (line 178) - * mpfr_z_sub: Basic Arithmetic Functions. -- (line 39) -+ (line 40) - - - - Tag Table: - Node: Top775 - Node: Copying2007 --Node: Introduction to MPFR3766 --Node: Installing MPFR5880 --Node: Reporting Bugs11323 --Node: MPFR Basics13353 --Node: Headers and Libraries13669 --Node: Nomenclature and Types16828 --Node: MPFR Variable Conventions18874 --Node: Rounding Modes20418 --Ref: ternary value21544 --Node: Floating-Point Values on Special Numbers23526 --Node: Exceptions26572 --Node: Memory Handling29749 --Node: MPFR Interface30894 --Node: Initialization Functions33008 --Node: Assignment Functions40318 --Node: Combined Initialization and Assignment Functions49673 --Node: Conversion Functions50974 --Node: Basic Arithmetic Functions60035 --Node: Comparison Functions69200 --Node: Special Functions72687 --Node: Input and Output Functions86672 --Node: Formatted Output Functions88644 --Node: Integer Related Functions98431 --Node: Rounding Related Functions105051 --Node: Miscellaneous Functions108888 --Node: Exception Related Functions117568 --Node: Compatibility with MPF124386 --Node: Custom Interface127127 --Node: Internals131526 --Node: API Compatibility133066 --Node: Type and Macro Changes134995 --Node: Added Functions137844 --Node: Changed Functions141132 --Node: Removed Functions145545 --Node: Other Changes145973 --Node: Contributors147576 --Node: References150219 --Node: GNU Free Documentation License151973 --Node: Concept Index174562 --Node: Function and Type Index180659 -+Node: Introduction to MPFR3770 -+Node: Installing MPFR5884 -+Node: Reporting Bugs11327 -+Node: MPFR Basics13357 -+Node: Headers and Libraries13673 -+Node: Nomenclature and Types16832 -+Node: MPFR Variable Conventions18894 -+Node: Rounding Modes20438 -+Ref: ternary value21568 -+Node: Floating-Point Values on Special Numbers23554 -+Node: Exceptions26813 -+Node: Memory Handling29990 -+Node: MPFR Interface31135 -+Node: Initialization Functions33249 -+Node: Assignment Functions40559 -+Node: Combined Initialization and Assignment Functions49914 -+Node: Conversion Functions51215 -+Node: Basic Arithmetic Functions60276 -+Node: Comparison Functions69777 -+Node: Special Functions73264 -+Node: Input and Output Functions87862 -+Node: Formatted Output Functions89834 -+Node: Integer Related Functions99621 -+Node: Rounding Related Functions106241 -+Node: Miscellaneous Functions110078 -+Node: Exception Related Functions118758 -+Node: Compatibility with MPF125576 -+Node: Custom Interface128317 -+Node: Internals132716 -+Node: API Compatibility134260 -+Node: Type and Macro Changes136189 -+Node: Added Functions139038 -+Node: Changed Functions142326 -+Node: Removed Functions146739 -+Node: Other Changes147167 -+Node: Contributors148770 -+Node: References151413 -+Node: GNU Free Documentation License153167 -+Node: Concept Index175760 -+Node: Function and Type Index181857 - - End Tag Table - -diff -Naurd mpfr-3.1.3-a/src/lngamma.c mpfr-3.1.3-b/src/lngamma.c ---- mpfr-3.1.3-a/src/lngamma.c 2015-06-19 19:55:10.000000000 +0000 -+++ mpfr-3.1.3-b/src/lngamma.c 2015-07-02 10:49:24.018113593 +0000 -@@ -603,16 +603,17 @@ - mpfr_get_prec (y), mpfr_log_prec, y, inex)); - - /* special cases */ -- if (MPFR_UNLIKELY (MPFR_IS_SINGULAR (x))) -+ if (MPFR_UNLIKELY (MPFR_IS_SINGULAR (x) || -+ (MPFR_IS_NEG (x) && mpfr_integer_p (x)))) - { -- if (MPFR_IS_NAN (x) || MPFR_IS_NEG (x)) -+ if (MPFR_IS_NAN (x)) - { - MPFR_SET_NAN (y); - MPFR_RET_NAN; - } -- else /* lngamma(+Inf) = lngamma(+0) = +Inf */ -+ else /* lngamma(+/-Inf) = lngamma(nonpositive integer) = +Inf */ - { -- if (MPFR_IS_ZERO (x)) -+ if (!MPFR_IS_INF (x)) - mpfr_set_divby0 (); - MPFR_SET_INF (y); - MPFR_SET_POS (y); -@@ -620,8 +621,8 @@ - } - } - -- /* if x < 0 and -2k-1 <= x <= -2k, then lngamma(x) = NaN */ -- if (MPFR_IS_NEG (x) && (unit_bit (x) == 0 || mpfr_integer_p (x))) -+ /* if -2k-1 < x < -2k <= 0, then lngamma(x) = NaN */ -+ if (MPFR_IS_NEG (x) && unit_bit (x) == 0) - { - MPFR_SET_NAN (y); - MPFR_RET_NAN; -diff -Naurd mpfr-3.1.3-a/src/mpfr.h mpfr-3.1.3-b/src/mpfr.h ---- mpfr-3.1.3-a/src/mpfr.h 2015-06-19 19:55:10.000000000 +0000 -+++ mpfr-3.1.3-b/src/mpfr.h 2015-07-02 10:49:24.038113803 +0000 -@@ -27,7 +27,7 @@ - #define MPFR_VERSION_MAJOR 3 - #define MPFR_VERSION_MINOR 1 - #define MPFR_VERSION_PATCHLEVEL 3 --#define MPFR_VERSION_STRING "3.1.3" -+#define MPFR_VERSION_STRING "3.1.3-p1" - - /* Macros dealing with MPFR VERSION */ - #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c)) -diff -Naurd mpfr-3.1.3-a/src/version.c mpfr-3.1.3-b/src/version.c ---- mpfr-3.1.3-a/src/version.c 2015-06-19 19:55:10.000000000 +0000 -+++ mpfr-3.1.3-b/src/version.c 2015-07-02 10:49:24.042113845 +0000 -@@ -25,5 +25,5 @@ - const char * - mpfr_get_version (void) - { -- return "3.1.3"; -+ return "3.1.3-p1"; - } -diff -Naurd mpfr-3.1.3-a/tests/tlngamma.c mpfr-3.1.3-b/tests/tlngamma.c ---- mpfr-3.1.3-a/tests/tlngamma.c 2015-06-19 19:55:10.000000000 +0000 -+++ mpfr-3.1.3-b/tests/tlngamma.c 2015-07-02 10:49:24.018113593 +0000 -@@ -33,7 +33,7 @@ - special (void) - { - mpfr_t x, y; -- int inex; -+ int i, inex; - - mpfr_init (x); - mpfr_init (y); -@@ -46,25 +46,29 @@ - exit (1); - } - -- mpfr_set_inf (x, -1); -+ mpfr_set_inf (x, 1); -+ mpfr_clear_flags (); - mpfr_lngamma (y, x, MPFR_RNDN); -- if (!mpfr_nan_p (y)) -+ if (!mpfr_inf_p (y) || mpfr_sgn (y) < 0 || __gmpfr_flags != 0) - { -- printf ("Error for lngamma(-Inf)\n"); -+ printf ("Error for lngamma(+Inf)\n"); - exit (1); - } - -- mpfr_set_inf (x, 1); -+ mpfr_set_inf (x, -1); -+ mpfr_clear_flags (); - mpfr_lngamma (y, x, MPFR_RNDN); -- if (!mpfr_inf_p (y) || mpfr_sgn (y) < 0) -+ if (!mpfr_inf_p (y) || mpfr_sgn (y) < 0 || __gmpfr_flags != 0) - { -- printf ("Error for lngamma(+Inf)\n"); -+ printf ("Error for lngamma(-Inf)\n"); - exit (1); - } - - mpfr_set_ui (x, 0, MPFR_RNDN); -+ mpfr_clear_flags (); - mpfr_lngamma (y, x, MPFR_RNDN); -- if (!mpfr_inf_p (y) || mpfr_sgn (y) < 0) -+ if (!mpfr_inf_p (y) || mpfr_sgn (y) < 0 || -+ __gmpfr_flags != MPFR_FLAGS_DIVBY0) - { - printf ("Error for lngamma(+0)\n"); - exit (1); -@@ -72,32 +76,58 @@ - - mpfr_set_ui (x, 0, MPFR_RNDN); - mpfr_neg (x, x, MPFR_RNDN); -+ mpfr_clear_flags (); - mpfr_lngamma (y, x, MPFR_RNDN); -- if (!mpfr_nan_p (y)) -+ if (!mpfr_inf_p (y) || mpfr_sgn (y) < 0 || -+ __gmpfr_flags != MPFR_FLAGS_DIVBY0) - { - printf ("Error for lngamma(-0)\n"); - exit (1); - } - - mpfr_set_ui (x, 1, MPFR_RNDN); -+ mpfr_clear_flags (); - mpfr_lngamma (y, x, MPFR_RNDN); -- if (MPFR_IS_NAN (y) || mpfr_cmp_ui (y, 0) || MPFR_IS_NEG (y)) -+ if (mpfr_cmp_ui0 (y, 0) || MPFR_IS_NEG (y)) - { - printf ("Error for lngamma(1)\n"); - exit (1); - } - -- mpfr_set_si (x, -1, MPFR_RNDN); -- mpfr_lngamma (y, x, MPFR_RNDN); -- if (!mpfr_nan_p (y)) -+ for (i = 1; i <= 5; i++) - { -- printf ("Error for lngamma(-1)\n"); -- exit (1); -+ int c; -+ -+ mpfr_set_si (x, -i, MPFR_RNDN); -+ mpfr_clear_flags (); -+ mpfr_lngamma (y, x, MPFR_RNDN); -+ if (!mpfr_inf_p (y) || mpfr_sgn (y) < 0 || -+ __gmpfr_flags != MPFR_FLAGS_DIVBY0) -+ { -+ printf ("Error for lngamma(-%d)\n", i); -+ exit (1); -+ } -+ if (i & 1) -+ { -+ mpfr_nextabove (x); -+ c = '+'; -+ } -+ else -+ { -+ mpfr_nextbelow (x); -+ c = '-'; -+ } -+ mpfr_lngamma (y, x, MPFR_RNDN); -+ if (!mpfr_nan_p (y)) -+ { -+ printf ("Error for lngamma(-%d%cepsilon)\n", i, c); -+ exit (1); -+ } - } - - mpfr_set_ui (x, 2, MPFR_RNDN); - mpfr_lngamma (y, x, MPFR_RNDN); -- if (MPFR_IS_NAN (y) || mpfr_cmp_ui (y, 0) || MPFR_IS_NEG (y)) -+ if (mpfr_cmp_ui0 (y, 0) || MPFR_IS_NEG (y)) - { - printf ("Error for lngamma(2)\n"); - exit (1); -@@ -127,7 +157,7 @@ - mpfr_set_str (x, CHECK_X2, 10, MPFR_RNDN); - mpfr_lngamma (y, x, MPFR_RNDN); - mpfr_set_str (x, CHECK_Y2, 10, MPFR_RNDN); -- if (MPFR_IS_NAN (y) || mpfr_cmp (y, x)) -+ if (mpfr_cmp0 (y, x)) - { - printf ("mpfr_lngamma("CHECK_X2") is wrong:\n" - "expected "); -@@ -143,7 +173,7 @@ - mpfr_lngamma (y, x, MPFR_RNDU); - mpfr_set_prec (x, 175); - mpfr_set_str_binary (x, "0.1010001100011101101011001101110010100001000001000001110011000001101100001111001001000101011011100100010101011110100111110101010100010011010010000101010111001100011000101111E7"); -- if (MPFR_IS_NAN (y) || mpfr_cmp (x, y)) -+ if (mpfr_cmp0 (x, y)) - { - printf ("Error in mpfr_lngamma (1)\n"); - exit (1); -@@ -155,7 +185,7 @@ - mpfr_lngamma (x, y, MPFR_RNDZ); - mpfr_set_prec (y, 21); - mpfr_set_str_binary (y, "0.111000101000001100101E9"); -- if (MPFR_IS_NAN (x) || mpfr_cmp (x, y)) -+ if (mpfr_cmp0 (x, y)) - { - printf ("Error in mpfr_lngamma (120)\n"); - printf ("Expected "); mpfr_print_binary (y); puts (""); -@@ -169,7 +199,7 @@ - inex = mpfr_lngamma (y, x, MPFR_RNDN); - mpfr_set_prec (x, 206); - mpfr_set_str_binary (x, "0.10000111011000000011100010101001100110001110000111100011000100100110110010001011011110101001111011110110000001010100111011010000000011100110110101100111000111010011110010000100010111101010001101000110101001E13"); -- if (MPFR_IS_NAN (y) || mpfr_cmp (x, y)) -+ if (mpfr_cmp0 (x, y)) - { - printf ("Error in mpfr_lngamma (768)\n"); - exit (1); -@@ -185,7 +215,7 @@ - mpfr_set_str_binary (x, "0.1100E-66"); - mpfr_lngamma (y, x, MPFR_RNDN); - mpfr_set_str_binary (x, "0.1100E6"); -- if (MPFR_IS_NAN (y) || mpfr_cmp (x, y)) -+ if (mpfr_cmp0 (x, y)) - { - printf ("Error for lngamma(0.1100E-66)\n"); - exit (1); -@@ -199,7 +229,7 @@ - mpfr_lngamma (y, x, MPFR_RNDN); - mpfr_set_prec (x, 32); - mpfr_set_str_binary (x, "-0.10001000111011111011000010100010E207"); -- if (MPFR_IS_NAN (y) || mpfr_cmp (x, y)) -+ if (mpfr_cmp0 (x, y)) - { - printf ("Error for lngamma(-2^199+0.5)\n"); - printf ("Got "); -diff -Naurd mpfr-3.1.3-a/PATCHES mpfr-3.1.3-b/PATCHES ---- mpfr-3.1.3-a/PATCHES 2015-07-02 10:50:08.046573308 +0000 -+++ mpfr-3.1.3-b/PATCHES 2015-07-02 10:50:08.126574142 +0000 -@@ -0,0 +1 @@ -+muldiv-2exp-overflow -diff -Naurd mpfr-3.1.3-a/VERSION mpfr-3.1.3-b/VERSION ---- mpfr-3.1.3-a/VERSION 2015-07-02 10:49:24.042113845 +0000 -+++ mpfr-3.1.3-b/VERSION 2015-07-02 10:50:08.126574142 +0000 -@@ -1 +1 @@ --3.1.3-p1 -+3.1.3-p2 -diff -Naurd mpfr-3.1.3-a/src/div_2si.c mpfr-3.1.3-b/src/div_2si.c ---- mpfr-3.1.3-a/src/div_2si.c 2015-06-19 19:55:10.000000000 +0000 -+++ mpfr-3.1.3-b/src/div_2si.c 2015-07-02 10:50:08.106573933 +0000 -@@ -49,7 +49,7 @@ - rnd_mode = MPFR_RNDZ; - return mpfr_underflow (y, rnd_mode, MPFR_SIGN(y)); - } -- else if (MPFR_UNLIKELY(n < 0 && (__gmpfr_emax < MPFR_EMIN_MIN - n || -+ else if (MPFR_UNLIKELY(n <= 0 && (__gmpfr_emax < MPFR_EMIN_MIN - n || - exp > __gmpfr_emax + n)) ) - return mpfr_overflow (y, rnd_mode, MPFR_SIGN(y)); - -diff -Naurd mpfr-3.1.3-a/src/div_2ui.c mpfr-3.1.3-b/src/div_2ui.c ---- mpfr-3.1.3-a/src/div_2ui.c 2015-06-19 19:55:10.000000000 +0000 -+++ mpfr-3.1.3-b/src/div_2ui.c 2015-07-02 10:50:08.106573933 +0000 -@@ -32,7 +32,7 @@ - rnd_mode), - ("y[%Pu]=%.*Rg inexact=%d", mpfr_get_prec(y), mpfr_log_prec, y, inexact)); - -- if (MPFR_UNLIKELY (MPFR_IS_SINGULAR (x))) -+ if (MPFR_UNLIKELY (n == 0 || MPFR_IS_SINGULAR (x))) - return mpfr_set (y, x, rnd_mode); - else - { -diff -Naurd mpfr-3.1.3-a/src/mpfr.h mpfr-3.1.3-b/src/mpfr.h ---- mpfr-3.1.3-a/src/mpfr.h 2015-07-02 10:49:24.038113803 +0000 -+++ mpfr-3.1.3-b/src/mpfr.h 2015-07-02 10:50:08.126574142 +0000 -@@ -27,7 +27,7 @@ - #define MPFR_VERSION_MAJOR 3 - #define MPFR_VERSION_MINOR 1 - #define MPFR_VERSION_PATCHLEVEL 3 --#define MPFR_VERSION_STRING "3.1.3-p1" -+#define MPFR_VERSION_STRING "3.1.3-p2" - - /* Macros dealing with MPFR VERSION */ - #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c)) -diff -Naurd mpfr-3.1.3-a/src/mul_2si.c mpfr-3.1.3-b/src/mul_2si.c ---- mpfr-3.1.3-a/src/mul_2si.c 2015-06-19 19:55:10.000000000 +0000 -+++ mpfr-3.1.3-b/src/mul_2si.c 2015-07-02 10:50:08.106573933 +0000 -@@ -39,7 +39,7 @@ - { - mpfr_exp_t exp = MPFR_GET_EXP (x); - MPFR_SETRAW (inexact, y, x, exp, rnd_mode); -- if (MPFR_UNLIKELY( n > 0 && (__gmpfr_emax < MPFR_EMIN_MIN + n || -+ if (MPFR_UNLIKELY(n >= 0 && (__gmpfr_emax < MPFR_EMIN_MIN + n || - exp > __gmpfr_emax - n))) - return mpfr_overflow (y, rnd_mode, MPFR_SIGN(y)); - else if (MPFR_UNLIKELY(n < 0 && (__gmpfr_emin > MPFR_EMAX_MAX + n || -diff -Naurd mpfr-3.1.3-a/src/version.c mpfr-3.1.3-b/src/version.c ---- mpfr-3.1.3-a/src/version.c 2015-07-02 10:49:24.042113845 +0000 -+++ mpfr-3.1.3-b/src/version.c 2015-07-02 10:50:08.126574142 +0000 -@@ -25,5 +25,5 @@ - const char * - mpfr_get_version (void) - { -- return "3.1.3-p1"; -+ return "3.1.3-p2"; - } -diff -Naurd mpfr-3.1.3-a/tests/tmul_2exp.c mpfr-3.1.3-b/tests/tmul_2exp.c ---- mpfr-3.1.3-a/tests/tmul_2exp.c 2015-06-19 19:55:10.000000000 +0000 -+++ mpfr-3.1.3-b/tests/tmul_2exp.c 2015-07-02 10:50:08.106573933 +0000 -@@ -242,6 +242,76 @@ - large (MPFR_EMAX_MAX); - } - -+/* Cases where the function overflows on n = 0 when rounding is like -+ away from zero. */ -+static void -+overflow0 (mpfr_exp_t emax) -+{ -+ mpfr_exp_t old_emax; -+ mpfr_t x, y1, y2; -+ int neg, r, op; -+ static char *sop[4] = { "mul_2ui", "mul_2si", "div_2ui", "div_2si" }; -+ -+ old_emax = mpfr_get_emax (); -+ set_emax (emax); -+ -+ mpfr_init2 (x, 8); -+ mpfr_inits2 (6, y1, y2, (mpfr_ptr) 0); -+ -+ mpfr_set_inf (x, 1); -+ mpfr_nextbelow (x); -+ -+ for (neg = 0; neg <= 1; neg++) -+ { -+ RND_LOOP (r) -+ { -+ int inex1, inex2; -+ unsigned int flags1, flags2; -+ -+ /* Even if there isn't an overflow (rounding ~ toward zero), -+ the result is the same as the one of an overflow. */ -+ inex1 = mpfr_overflow (y1, (mpfr_rnd_t) r, neg ? -1 : 1); -+ flags1 = MPFR_FLAGS_INEXACT; -+ if (mpfr_inf_p (y1)) -+ flags1 |= MPFR_FLAGS_OVERFLOW; -+ for (op = 0; op < 4; op++) -+ { -+ mpfr_clear_flags (); -+ inex2 = -+ op == 0 ? mpfr_mul_2ui (y2, x, 0, (mpfr_rnd_t) r) : -+ op == 1 ? mpfr_mul_2si (y2, x, 0, (mpfr_rnd_t) r) : -+ op == 2 ? mpfr_div_2ui (y2, x, 0, (mpfr_rnd_t) r) : -+ op == 3 ? mpfr_div_2si (y2, x, 0, (mpfr_rnd_t) r) : -+ (MPFR_ASSERTN (0), 0); -+ flags2 = __gmpfr_flags; -+ if (!(mpfr_equal_p (y1, y2) && -+ SAME_SIGN (inex1, inex2) && -+ flags1 == flags2)) -+ { -+ printf ("Error in overflow0 for %s, mpfr_%s, emax = %" -+ MPFR_EXP_FSPEC "d,\nx = ", -+ mpfr_print_rnd_mode ((mpfr_rnd_t) r), sop[op], -+ (mpfr_eexp_t) emax); -+ mpfr_dump (x); -+ printf ("Expected "); -+ mpfr_dump (y1); -+ printf (" with inex = %d, flags =", inex1); -+ flags_out (flags1); -+ printf ("Got "); -+ mpfr_dump (y2); -+ printf (" with inex = %d, flags =", inex2); -+ flags_out (flags2); -+ exit (1); -+ } -+ } -+ } -+ mpfr_neg (x, x, MPFR_RNDN); -+ } -+ -+ mpfr_clears (x, y1, y2, (mpfr_ptr) 0); -+ set_emax (old_emax); -+} -+ - int - main (int argc, char *argv[]) - { -@@ -334,6 +404,11 @@ - underflow0 (); - large0 (); - -+ if (mpfr_get_emax () != MPFR_EMAX_MAX) -+ overflow0 (mpfr_get_emax ()); -+ overflow0 (MPFR_EMAX_MAX); -+ overflow0 (-1); -+ - tests_end_mpfr (); - return 0; - } -diff -Naurd mpfr-3.1.3-a/PATCHES mpfr-3.1.3-b/PATCHES ---- mpfr-3.1.3-a/PATCHES 2015-07-17 08:54:48.592799981 +0000 -+++ mpfr-3.1.3-b/PATCHES 2015-07-17 08:54:48.616811495 +0000 -@@ -0,0 +1 @@ -+muldiv-2exp-underflow -diff -Naurd mpfr-3.1.3-a/VERSION mpfr-3.1.3-b/VERSION ---- mpfr-3.1.3-a/VERSION 2015-07-02 10:50:08.126574142 +0000 -+++ mpfr-3.1.3-b/VERSION 2015-07-17 08:54:48.616811495 +0000 -@@ -1 +1 @@ --3.1.3-p2 -+3.1.3-p3 -diff -Naurd mpfr-3.1.3-a/src/div_2si.c mpfr-3.1.3-b/src/div_2si.c ---- mpfr-3.1.3-a/src/div_2si.c 2015-07-02 10:50:08.106573933 +0000 -+++ mpfr-3.1.3-b/src/div_2si.c 2015-07-17 08:54:48.608807656 +0000 -@@ -45,7 +45,8 @@ - if (rnd_mode == MPFR_RNDN && - (__gmpfr_emin > MPFR_EMAX_MAX - (n - 1) || - exp < __gmpfr_emin + (n - 1) || -- (inexact >= 0 && mpfr_powerof2_raw (y)))) -+ ((MPFR_IS_NEG (y) ? inexact <= 0 : inexact >= 0) && -+ mpfr_powerof2_raw (y)))) - rnd_mode = MPFR_RNDZ; - return mpfr_underflow (y, rnd_mode, MPFR_SIGN(y)); - } -diff -Naurd mpfr-3.1.3-a/src/div_2ui.c mpfr-3.1.3-b/src/div_2ui.c ---- mpfr-3.1.3-a/src/div_2ui.c 2015-07-02 10:50:08.106573933 +0000 -+++ mpfr-3.1.3-b/src/div_2ui.c 2015-07-17 08:54:48.608807656 +0000 -@@ -44,7 +44,9 @@ - if (MPFR_UNLIKELY (n >= diffexp)) /* exp - n <= emin - 1 */ - { - if (rnd_mode == MPFR_RNDN && -- (n > diffexp || (inexact >= 0 && mpfr_powerof2_raw (y)))) -+ (n > diffexp || -+ ((MPFR_IS_NEG (y) ? inexact <= 0 : inexact >= 0) && -+ mpfr_powerof2_raw (y)))) - rnd_mode = MPFR_RNDZ; - return mpfr_underflow (y, rnd_mode, MPFR_SIGN (y)); - } -diff -Naurd mpfr-3.1.3-a/src/mpfr.h mpfr-3.1.3-b/src/mpfr.h ---- mpfr-3.1.3-a/src/mpfr.h 2015-07-02 10:50:08.126574142 +0000 -+++ mpfr-3.1.3-b/src/mpfr.h 2015-07-17 08:54:48.616811495 +0000 -@@ -27,7 +27,7 @@ - #define MPFR_VERSION_MAJOR 3 - #define MPFR_VERSION_MINOR 1 - #define MPFR_VERSION_PATCHLEVEL 3 --#define MPFR_VERSION_STRING "3.1.3-p2" -+#define MPFR_VERSION_STRING "3.1.3-p3" - - /* Macros dealing with MPFR VERSION */ - #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c)) -diff -Naurd mpfr-3.1.3-a/src/mul_2si.c mpfr-3.1.3-b/src/mul_2si.c ---- mpfr-3.1.3-a/src/mul_2si.c 2015-07-02 10:50:08.106573933 +0000 -+++ mpfr-3.1.3-b/src/mul_2si.c 2015-07-17 08:54:48.608807656 +0000 -@@ -48,7 +48,8 @@ - if (rnd_mode == MPFR_RNDN && - (__gmpfr_emin > MPFR_EMAX_MAX + (n + 1) || - exp < __gmpfr_emin - (n + 1) || -- (inexact >= 0 && mpfr_powerof2_raw (y)))) -+ ((MPFR_IS_NEG (y) ? inexact <= 0 : inexact >= 0) && -+ mpfr_powerof2_raw (y)))) - rnd_mode = MPFR_RNDZ; - return mpfr_underflow (y, rnd_mode, MPFR_SIGN(y)); - } -diff -Naurd mpfr-3.1.3-a/src/version.c mpfr-3.1.3-b/src/version.c ---- mpfr-3.1.3-a/src/version.c 2015-07-02 10:50:08.126574142 +0000 -+++ mpfr-3.1.3-b/src/version.c 2015-07-17 08:54:48.616811495 +0000 -@@ -25,5 +25,5 @@ - const char * - mpfr_get_version (void) - { -- return "3.1.3-p2"; -+ return "3.1.3-p3"; - } -diff -Naurd mpfr-3.1.3-a/tests/tmul_2exp.c mpfr-3.1.3-b/tests/tmul_2exp.c ---- mpfr-3.1.3-a/tests/tmul_2exp.c 2015-07-02 10:50:08.106573933 +0000 -+++ mpfr-3.1.3-b/tests/tmul_2exp.c 2015-07-17 08:54:48.608807656 +0000 -@@ -50,77 +50,82 @@ - { - mpfr_t x, y, z1, z2; - mpfr_exp_t emin; -- int i, k; -+ int i, k, s; - int prec; - int rnd; - int div; - int inex1, inex2; - unsigned int flags1, flags2; - -- /* Test mul_2si(x, e - k), div_2si(x, k - e) and div_2ui(x, k - e) -- * with emin = e, x = 1 + i/16, i in { -1, 0, 1 }, and k = 1 to 4, -- * by comparing the result with the one of a simple division. -+ /* Test mul_2si(x, e - k), div_2si(x, k - e) and div_2ui(x, k - e) with -+ * emin = e, x = s * (1 + i/16), i in { -1, 0, 1 }, s in { -1, 1 }, and -+ * k = 1 to 4, by comparing the result with the one of a simple division. - */ - emin = mpfr_get_emin (); - set_emin (e); - mpfr_inits2 (8, x, y, (mpfr_ptr) 0); - for (i = 15; i <= 17; i++) -- { -- inex1 = mpfr_set_ui_2exp (x, i, -4, MPFR_RNDN); -- MPFR_ASSERTN (inex1 == 0); -- for (prec = 6; prec >= 3; prec -= 3) -- { -- mpfr_inits2 (prec, z1, z2, (mpfr_ptr) 0); -- RND_LOOP (rnd) -- for (k = 1; k <= 4; k++) -- { -- /* The following one is assumed to be correct. */ -- inex1 = mpfr_mul_2si (y, x, e, MPFR_RNDN); -- MPFR_ASSERTN (inex1 == 0); -- inex1 = mpfr_set_ui (z1, 1 << k, MPFR_RNDN); -- MPFR_ASSERTN (inex1 == 0); -- mpfr_clear_flags (); -- /* Do not use mpfr_div_ui to avoid the optimization -- by mpfr_div_2si. */ -- inex1 = mpfr_div (z1, y, z1, (mpfr_rnd_t) rnd); -- flags1 = __gmpfr_flags; -- -- for (div = 0; div <= 2; div++) -+ for (s = 1; s >= -1; s -= 2) -+ { -+ inex1 = mpfr_set_si_2exp (x, s * i, -4, MPFR_RNDN); -+ MPFR_ASSERTN (inex1 == 0); -+ for (prec = 6; prec >= 3; prec -= 3) -+ { -+ mpfr_inits2 (prec, z1, z2, (mpfr_ptr) 0); -+ RND_LOOP (rnd) -+ for (k = 1; k <= 4; k++) - { -+ /* The following one is assumed to be correct. */ -+ inex1 = mpfr_mul_2si (y, x, e, MPFR_RNDN); -+ MPFR_ASSERTN (inex1 == 0); -+ inex1 = mpfr_set_ui (z1, 1 << k, MPFR_RNDN); -+ MPFR_ASSERTN (inex1 == 0); - mpfr_clear_flags (); -- inex2 = div == 0 ? -- mpfr_mul_2si (z2, x, e - k, (mpfr_rnd_t) rnd) : div == 1 ? -- mpfr_div_2si (z2, x, k - e, (mpfr_rnd_t) rnd) : -- mpfr_div_2ui (z2, x, k - e, (mpfr_rnd_t) rnd); -- flags2 = __gmpfr_flags; -- if (flags1 == flags2 && SAME_SIGN (inex1, inex2) && -- mpfr_equal_p (z1, z2)) -- continue; -- printf ("Error in underflow("); -- if (e == MPFR_EMIN_MIN) -- printf ("MPFR_EMIN_MIN"); -- else if (e == emin) -- printf ("default emin"); -- else if (e >= LONG_MIN) -- printf ("%ld", (long) e); -- else -- printf ("<LONG_MIN"); -- printf (") with mpfr_%s,\nx = %d/16, prec = %d, k = %d, " -- "%s\n", div == 0 ? "mul_2si" : div == 1 ? -- "div_2si" : "div_2ui", i, prec, k, -- mpfr_print_rnd_mode ((mpfr_rnd_t) rnd)); -- printf ("Expected "); -- mpfr_out_str (stdout, 16, 0, z1, MPFR_RNDN); -- printf (", inex = %d, flags = %u\n", SIGN (inex1), flags1); -- printf ("Got "); -- mpfr_out_str (stdout, 16, 0, z2, MPFR_RNDN); -- printf (", inex = %d, flags = %u\n", SIGN (inex2), flags2); -- exit (1); -- } /* div */ -- } /* k */ -- mpfr_clears (z1, z2, (mpfr_ptr) 0); -- } /* prec */ -- } /* i */ -+ /* Do not use mpfr_div_ui to avoid the optimization -+ by mpfr_div_2si. */ -+ inex1 = mpfr_div (z1, y, z1, (mpfr_rnd_t) rnd); -+ flags1 = __gmpfr_flags; -+ -+ for (div = 0; div <= 2; div++) -+ { -+ mpfr_clear_flags (); -+ inex2 = -+ div == 0 ? -+ mpfr_mul_2si (z2, x, e - k, (mpfr_rnd_t) rnd) : -+ div == 1 ? -+ mpfr_div_2si (z2, x, k - e, (mpfr_rnd_t) rnd) : -+ mpfr_div_2ui (z2, x, k - e, (mpfr_rnd_t) rnd); -+ flags2 = __gmpfr_flags; -+ if (flags1 == flags2 && SAME_SIGN (inex1, inex2) && -+ mpfr_equal_p (z1, z2)) -+ continue; -+ printf ("Error in underflow("); -+ if (e == MPFR_EMIN_MIN) -+ printf ("MPFR_EMIN_MIN"); -+ else if (e == emin) -+ printf ("default emin"); -+ else if (e >= LONG_MIN) -+ printf ("%ld", (long) e); -+ else -+ printf ("<LONG_MIN"); -+ printf (") with mpfr_%s,\nx = %d/16, prec = %d, k = %d," -+ " %s\n", div == 0 ? "mul_2si" : div == 1 ? -+ "div_2si" : "div_2ui", s * i, prec, k, -+ mpfr_print_rnd_mode ((mpfr_rnd_t) rnd)); -+ printf ("Expected "); -+ mpfr_out_str (stdout, 16, 0, z1, MPFR_RNDN); -+ printf (", inex = %d, flags = %u\n", -+ SIGN (inex1), flags1); -+ printf ("Got "); -+ mpfr_out_str (stdout, 16, 0, z2, MPFR_RNDN); -+ printf (", inex = %d, flags = %u\n", -+ SIGN (inex2), flags2); -+ exit (1); -+ } /* div */ -+ } /* k */ -+ mpfr_clears (z1, z2, (mpfr_ptr) 0); -+ } /* prec */ -+ } /* i */ - mpfr_clears (x, y, (mpfr_ptr) 0); - set_emin (emin); - } -diff -Naurd mpfr-3.1.3-a/PATCHES mpfr-3.1.3-b/PATCHES ---- mpfr-3.1.3-a/PATCHES 2015-07-17 08:58:21.094987384 +0000 -+++ mpfr-3.1.3-b/PATCHES 2015-07-17 08:58:21.118986898 +0000 -@@ -0,0 +1 @@ -+frexp -diff -Naurd mpfr-3.1.3-a/VERSION mpfr-3.1.3-b/VERSION ---- mpfr-3.1.3-a/VERSION 2015-07-17 08:54:48.616811495 +0000 -+++ mpfr-3.1.3-b/VERSION 2015-07-17 08:58:21.118986898 +0000 -@@ -1 +1 @@ --3.1.3-p3 -+3.1.3-p4 -diff -Naurd mpfr-3.1.3-a/src/frexp.c mpfr-3.1.3-b/src/frexp.c ---- mpfr-3.1.3-a/src/frexp.c 2015-06-19 19:55:09.000000000 +0000 -+++ mpfr-3.1.3-b/src/frexp.c 2015-07-17 08:58:21.106987142 +0000 -@@ -26,6 +26,13 @@ - mpfr_frexp (mpfr_exp_t *exp, mpfr_ptr y, mpfr_srcptr x, mpfr_rnd_t rnd) - { - int inex; -+ unsigned int saved_flags = __gmpfr_flags; -+ MPFR_BLOCK_DECL (flags); -+ -+ MPFR_LOG_FUNC -+ (("x[%Pu]=%.*Rg rnd=%d", mpfr_get_prec (x), mpfr_log_prec, x, rnd), -+ ("y[%Pu]=%.*Rg exp=%" MPFR_EXP_FSPEC "d inex=%d", mpfr_get_prec (y), -+ mpfr_log_prec, y, (mpfr_eexp_t) *exp, inex)); - - if (MPFR_UNLIKELY(MPFR_IS_SINGULAR(x))) - { -@@ -49,8 +56,32 @@ - } - } - -- inex = mpfr_set (y, x, rnd); -+ MPFR_BLOCK (flags, inex = mpfr_set (y, x, rnd)); -+ __gmpfr_flags = saved_flags; -+ -+ /* Possible overflow due to the rounding, no possible underflow. */ -+ -+ if (MPFR_UNLIKELY (MPFR_OVERFLOW (flags))) -+ { -+ int inex2; -+ -+ /* An overflow here means that the exponent of y would be larger than -+ the one of x, thus x would be rounded to the next power of 2, and -+ the returned y should be 1/2 in absolute value, rounded (i.e. with -+ possible underflow or overflow). This also implies that x and y are -+ different objects, so that the exponent of x has not been lost. */ -+ MPFR_LOG_MSG (("Internal overflow\n", 0)); -+ MPFR_ASSERTD (x != y); -+ *exp = MPFR_GET_EXP (x) + 1; -+ inex2 = mpfr_set_si_2exp (y, MPFR_INT_SIGN (x), -1, rnd); -+ MPFR_LOG_MSG (("inex=%d inex2=%d\n", inex, inex2)); -+ if (inex2 != 0) -+ inex = inex2; -+ MPFR_RET (inex); -+ } -+ - *exp = MPFR_GET_EXP (y); -- MPFR_SET_EXP (y, 0); -+ /* Do not use MPFR_SET_EXP because the range has not been checked yet. */ -+ MPFR_EXP (y) = 0; - return mpfr_check_range (y, inex, rnd); - } -diff -Naurd mpfr-3.1.3-a/src/mpfr.h mpfr-3.1.3-b/src/mpfr.h ---- mpfr-3.1.3-a/src/mpfr.h 2015-07-17 08:54:48.616811495 +0000 -+++ mpfr-3.1.3-b/src/mpfr.h 2015-07-17 08:58:21.114986979 +0000 -@@ -27,7 +27,7 @@ - #define MPFR_VERSION_MAJOR 3 - #define MPFR_VERSION_MINOR 1 - #define MPFR_VERSION_PATCHLEVEL 3 --#define MPFR_VERSION_STRING "3.1.3-p3" -+#define MPFR_VERSION_STRING "3.1.3-p4" - - /* Macros dealing with MPFR VERSION */ - #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c)) -diff -Naurd mpfr-3.1.3-a/src/version.c mpfr-3.1.3-b/src/version.c ---- mpfr-3.1.3-a/src/version.c 2015-07-17 08:54:48.616811495 +0000 -+++ mpfr-3.1.3-b/src/version.c 2015-07-17 08:58:21.118986898 +0000 -@@ -25,5 +25,5 @@ - const char * - mpfr_get_version (void) - { -- return "3.1.3-p3"; -+ return "3.1.3-p4"; - } -diff -Naurd mpfr-3.1.3-a/tests/tfrexp.c mpfr-3.1.3-b/tests/tfrexp.c ---- mpfr-3.1.3-a/tests/tfrexp.c 2015-06-19 19:55:10.000000000 +0000 -+++ mpfr-3.1.3-b/tests/tfrexp.c 2015-07-17 08:58:21.106987142 +0000 -@@ -129,12 +129,115 @@ - mpfr_clear (x); - } - -+static void check1 (void) -+{ -+ mpfr_exp_t emin, emax, e; -+ mpfr_t x, y1, y2; -+ int r, neg, red; -+ -+ emin = mpfr_get_emin (); -+ emax = mpfr_get_emax (); -+ set_emin (MPFR_EMIN_MIN); -+ set_emax (MPFR_EMAX_MAX); -+ -+ mpfr_init2 (x, 7); -+ mpfr_inits2 (4, y1, y2, (mpfr_ptr) 0); -+ -+ mpfr_set_ui_2exp (x, 1, -2, MPFR_RNDN); -+ while (mpfr_regular_p (x)) -+ { -+ /* Test the exponents up to 3 and with the maximum exponent -+ (to check potential intermediate overflow). */ -+ if (MPFR_GET_EXP (x) == 4) -+ mpfr_set_exp (x, MPFR_EMAX_MAX); -+ e = MPFR_GET_EXP (x); -+ for (neg = 0; neg < 2; neg++) -+ { -+ RND_LOOP (r) -+ { -+ int inex1, inex2; -+ mpfr_exp_t e1, e2; -+ unsigned int flags1, flags2; -+ -+ for (red = 0; red < 2; red++) -+ { -+ if (red) -+ { -+ /* e1: exponent of the rounded value of x. */ -+ MPFR_ASSERTN (e1 == e || e1 == e + 1); -+ set_emin (e); -+ set_emax (e); -+ mpfr_clear_flags (); -+ inex1 = e1 < 0 ? -+ mpfr_mul_2ui (y1, x, -e1, (mpfr_rnd_t) r) : -+ mpfr_div_2ui (y1, x, e1, (mpfr_rnd_t) r); -+ flags1 = __gmpfr_flags; -+ } -+ else -+ { -+ inex1 = mpfr_set (y1, x, (mpfr_rnd_t) r); -+ e1 = MPFR_IS_INF (y1) ? e + 1 : MPFR_GET_EXP (y1); -+ flags1 = inex1 != 0 ? MPFR_FLAGS_INEXACT : 0; -+ } -+ mpfr_clear_flags (); -+ inex2 = mpfr_frexp (&e2, y2, x, (mpfr_rnd_t) r); -+ flags2 = __gmpfr_flags; -+ set_emin (MPFR_EMIN_MIN); -+ set_emax (MPFR_EMAX_MAX); -+ if ((!red || e == 0) && -+ (! mpfr_regular_p (y2) || MPFR_GET_EXP (y2) != 0)) -+ { -+ printf ("Error in check1 for %s, red = %d, x = ", -+ mpfr_print_rnd_mode ((mpfr_rnd_t) r), red); -+ mpfr_dump (x); -+ printf ("Expected 1/2 <= |y| < 1, got y = "); -+ mpfr_dump (y2); -+ exit (1); -+ } -+ if (!red) -+ { -+ if (e2 > 0) -+ mpfr_mul_2ui (y2, y2, e2, MPFR_RNDN); -+ else if (e2 < 0) -+ mpfr_div_2ui (y2, y2, -e2, MPFR_RNDN); -+ } -+ if (! (SAME_SIGN (inex1, inex2) && -+ mpfr_equal_p (y1, y2) && -+ flags1 == flags2)) -+ { -+ printf ("Error in check1 for %s, red = %d, x = ", -+ mpfr_print_rnd_mode ((mpfr_rnd_t) r), red); -+ mpfr_dump (x); -+ printf ("Expected y1 = "); -+ mpfr_dump (y1); -+ printf ("Got y2 = "); -+ mpfr_dump (y2); -+ printf ("Expected inex ~= %d, got %d\n", inex1, inex2); -+ printf ("Expected flags:"); -+ flags_out (flags1); -+ printf ("Got flags: "); -+ flags_out (flags2); -+ exit (1); -+ } -+ } -+ } -+ mpfr_neg (x, x, MPFR_RNDN); -+ } -+ mpfr_nextabove (x); -+ } -+ -+ mpfr_clears (x, y1, y2, (mpfr_ptr) 0); -+ set_emin (emin); -+ set_emax (emax); -+} -+ - int - main (int argc, char *argv[]) - { - tests_start_mpfr (); - - check_special (); -+ check1 (); - - tests_end_mpfr (); - return 0; diff --git a/pkgs/development/libraries/opendht/default.nix b/pkgs/development/libraries/opendht/default.nix index 46a8ebffbb8c..68486fca54d6 100644 --- a/pkgs/development/libraries/opendht/default.nix +++ b/pkgs/development/libraries/opendht/default.nix @@ -13,13 +13,13 @@ stdenv.mkDerivation rec { name = "opendht-${version}"; - version = "1.6.0"; + version = "1.6.1"; src = fetchFromGitHub { owner = "savoirfairelinux"; repo = "opendht"; rev = "${version}"; - sha256 = "0ybv41nbh86ricxfv478z4izbxvnvk86csr29c6qf4dinmrysf96"; + sha256 = "13sxcg2sdhnzdkrjqmhg16p4001w3rd048p71k74pbmi8qpd0bw2"; }; buildInputs = [ diff --git a/pkgs/development/libraries/openfst/default.nix b/pkgs/development/libraries/openfst/default.nix index f8cbc867b2be..1ab6661db5bb 100644 --- a/pkgs/development/libraries/openfst/default.nix +++ b/pkgs/development/libraries/openfst/default.nix @@ -3,11 +3,11 @@ stdenv.mkDerivation rec { name = "${pname}-${version}"; pname = "openfst"; - version = "1.6.6"; + version = "1.6.7"; src = fetchurl { url = "http://www.openfst.org/twiki/pub/FST/FstDownload/${name}.tar.gz"; - sha256 = "1b13nzf9xh1iv0k8z7sdfs9ya2ykf0gzjiixpb1qn3bydck6ppdm"; + sha256 = "1xqpc1qlvghprwih99immsjh3ba08lg754cf5icnmpkwh9nlh6p2"; }; meta = { description = "Library for working with finite-state transducers"; diff --git a/pkgs/development/libraries/openssl/default.nix b/pkgs/development/libraries/openssl/default.nix index af6a540b97c0..5a9052222cb8 100644 --- a/pkgs/development/libraries/openssl/default.nix +++ b/pkgs/development/libraries/openssl/default.nix @@ -113,20 +113,13 @@ let in { openssl_1_0_2 = common { - version = "1.0.2n"; - sha256 = "1zm82pyq5a9jm10q6iv7d3dih3xwjds4x30fqph3k317byvsn2rp"; + version = "1.0.2o"; + sha256 = "0kcy13l701054nhpbd901mz32v1kn4g311z0nifd83xs2jbmqgzc"; }; openssl_1_1_0 = common { - version = "1.1.0g"; - sha256 = "1bvka2wf33w2vxv7yw578nnjqyhz2b3chvfb0l4k2ffscw950kfy"; - patches = [ - (fetchpatch { - name = "CVE-2017-3738.patch"; - url = "https://github.com/openssl/openssl/commit/563066.patch"; - sha256 = "0ni9fwpxf8raw8b58pfa15akbqmxx4q64v0ldsm4b9dqhbxf8mkz"; - }) - ]; + version = "1.1.0h"; + sha256 = "05x509lccqjscgyi935z809pwfm708islypwhmjnb6cyvrn64daq"; }; } diff --git a/pkgs/development/libraries/openvdb/default.nix b/pkgs/development/libraries/openvdb/default.nix index f9540d2c4d20..8ed383c887bf 100644 --- a/pkgs/development/libraries/openvdb/default.nix +++ b/pkgs/development/libraries/openvdb/default.nix @@ -32,7 +32,7 @@ stdenv.mkDerivation rec LOG4CPLUS_LIB= BLOSC_INCLUDE_DIR=${c-blosc}/include/ BLOSC_LIB_DIR=${c-blosc}/lib/ - ''; + ''; installFlags = ''DESTDIR=$(out)''; @@ -43,7 +43,7 @@ stdenv.mkDerivation rec description = "An open framework for voxel"; homepage = "http://www.openvdb.org"; maintainers = [ maintainers.guibou ]; - platforms = platforms.all; + platforms = platforms.linux; license = licenses.mpl20; }; } diff --git a/pkgs/development/libraries/physics/rivet/default.nix b/pkgs/development/libraries/physics/rivet/default.nix index 5d533d4250aa..c13b659f792e 100644 --- a/pkgs/development/libraries/physics/rivet/default.nix +++ b/pkgs/development/libraries/physics/rivet/default.nix @@ -6,7 +6,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "http://www.hepforge.org/archive/rivet/Rivet-${version}.tar.bz2"; - sha256 = "1mvsa3v8d1pl2fj1dcdf8sikzm1yb2jcl0q34fyfsjw2cisxpv5f"; + sha256 = "007rwal8wx2k9gs0r6kym6ix0siz0x9l55q9myq41siirpf2jcpv"; }; patches = [ diff --git a/pkgs/development/libraries/pipewire/default.nix b/pkgs/development/libraries/pipewire/default.nix index 2c677ad74745..7e7314c936dd 100644 --- a/pkgs/development/libraries/pipewire/default.nix +++ b/pkgs/development/libraries/pipewire/default.nix @@ -34,7 +34,7 @@ in stdenv.mkDerivation rec { "-Denable_gstreamer=true" ]; - PKG_CONFIG_SYSTEMD_SYSTEMDUSERUNITDIR = "${placeholder "out"}/lib/systemd/user"; + PKG_CONFIG_SYSTEMD_SYSTEMDUSERUNITDIR = "lib/systemd/user"; FONTCONFIG_FILE = fontsConf; # Fontconfig error: Cannot load default config file diff --git a/pkgs/development/libraries/ptex/default.nix b/pkgs/development/libraries/ptex/default.nix index d40ae8564951..f300a571b0cc 100644 --- a/pkgs/development/libraries/ptex/default.nix +++ b/pkgs/development/libraries/ptex/default.nix @@ -3,13 +3,13 @@ stdenv.mkDerivation rec { name = "ptex-${version}"; - version = "2.1.28"; + version = "2.1.33"; src = fetchFromGitHub { owner = "wdas"; repo = "ptex"; rev = "v${version}"; - sha256 = "1h6gb3mpis4m6ph7h9q764w50f9jrar3jz2ja76rn5czy6wn318x"; + sha256 = "15ijjq3w7hwgm4mqah0x4jzjy3v2nnmmv28lbqzmxzcxjgh4sjkn"; }; outputs = [ "bin" "dev" "out" "lib" ]; diff --git a/pkgs/development/libraries/pugixml/default.nix b/pkgs/development/libraries/pugixml/default.nix index dd33f63c913c..1730f9b733ca 100644 --- a/pkgs/development/libraries/pugixml/default.nix +++ b/pkgs/development/libraries/pugixml/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "pugixml-${version}"; - version = "1.8.1"; + version = "1.9"; src = fetchurl { url = "https://github.com/zeux/pugixml/releases/download/v${version}/${name}.tar.gz"; - sha256 = "0fcgggry5x5bn0zhb09ij9hb0p45nb0sv0d9fw3cm1cf62hp9n80"; + sha256 = "19nv3zhik3djp4blc4vrjwrl8dfhzmal8b21sq7y907nhddx6mni"; }; nativeBuildInputs = [ cmake ]; diff --git a/pkgs/development/libraries/qmlbox2d/default.nix b/pkgs/development/libraries/qmlbox2d/default.nix new file mode 100644 index 000000000000..630f606c2e54 --- /dev/null +++ b/pkgs/development/libraries/qmlbox2d/default.nix @@ -0,0 +1,31 @@ +{stdenv, qtdeclarative, fetchFromGitHub, qmake }: +stdenv.mkDerivation rec { + name = "qml-box2d-2018-03-16"; + src = fetchFromGitHub { + owner = "qml-box2d"; + repo = "qml-box2d"; + sha256 = "1fbsvv28b4r0szcv8bk5gxpf8v534jp2axyfp438384sy757wsq2"; + rev = "21e57f1"; + }; + + enableParallelBuilding = true; + nativeBuildInputs = [ qmake ]; + + buildInputs = [ qtdeclarative ]; + + patchPhase = '' + substituteInPlace box2d.pro \ + --replace '$$[QT_INSTALL_QML]' "/$qtQmlPrefix/" + qmakeFlags="$qmakeFlags PREFIXSHORTCUT=$out" + ''; + + installFlags = [ "INSTALL_ROOT=$(out)" ]; + + meta = with stdenv.lib; { + description = "A QML plugin for Box2D engine"; + homepage = "https://github.com/qml-box2d/qml-box2d"; + maintainers = [ maintainers.guibou ]; + platforms = platforms.linux; + license = licenses.zlib; + }; +} diff --git a/pkgs/development/libraries/qpdf/default.nix b/pkgs/development/libraries/qpdf/default.nix index 7f6c47a9a7fc..00ce51330487 100644 --- a/pkgs/development/libraries/qpdf/default.nix +++ b/pkgs/development/libraries/qpdf/default.nix @@ -1,13 +1,13 @@ { stdenv, fetchurl, libjpeg, zlib, perl }: -let version = "8.0.0"; +let version = "8.0.2"; in stdenv.mkDerivation rec { name = "qpdf-${version}"; src = fetchurl { url = "mirror://sourceforge/qpdf/qpdf/${version}/${name}.tar.gz"; - sha256 = "01a1d5wyrj1m35d68yj0cyqfjyrwhxq2yqwaw5an1d1p4aaid8gz"; + sha256 = "1hf8jfjar8p7v288d7ccmr8w171mv9kb86b6hq1nk58mnlq1g7mh"; }; nativeBuildInputs = [ perl ]; diff --git a/pkgs/development/libraries/rabbitmq-c/default.nix b/pkgs/development/libraries/rabbitmq-c/default.nix index 13c0198ba505..c841d82ccce0 100644 --- a/pkgs/development/libraries/rabbitmq-c/default.nix +++ b/pkgs/development/libraries/rabbitmq-c/default.nix @@ -17,7 +17,7 @@ stdenv.mkDerivation rec { description = "RabbitMQ C AMQP client library"; homepage = https://github.com/alanxz/rabbitmq-c; license = licenses.mit; - platforms = platforms.linux; + platforms = platforms.unix; maintainers = with maintainers; [ wkennington ]; }; } diff --git a/pkgs/development/libraries/rdkafka/default.nix b/pkgs/development/libraries/rdkafka/default.nix index bb43a49235bd..b0e43e08653f 100644 --- a/pkgs/development/libraries/rdkafka/default.nix +++ b/pkgs/development/libraries/rdkafka/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { name = "rdkafka-${version}"; - version = "0.11.3"; + version = "0.11.4"; src = fetchFromGitHub { owner = "edenhill"; repo = "librdkafka"; rev = "v${version}"; - sha256 = "17ghq0kzk2fdpxhr40xgg3s0p0n0gkvd0d85c6jsww3mj8v5xd14"; + sha256 = "11ps8sy4v8yvj4sha7d1q3rmhfw7l1rd52rnl01xam9862yasahs"; }; nativeBuildInputs = [ pkgconfig ]; diff --git a/pkgs/development/libraries/rocksdb/default.nix b/pkgs/development/libraries/rocksdb/default.nix index fc8a18cfc38f..0951c113e3f1 100644 --- a/pkgs/development/libraries/rocksdb/default.nix +++ b/pkgs/development/libraries/rocksdb/default.nix @@ -28,7 +28,7 @@ stdenv.mkDerivation rec { rev = "v${version}"; sha256 = "19d8i8map8qz639mhflmxc0w9gp78fvkq1l46y5s6b5imwh0w7xq"; }; - + nativeBuildInputs = [ which perl ]; buildInputs = [ snappy google-gflags zlib bzip2 lz4 malloc fixDarwinDylibNames ]; @@ -43,13 +43,13 @@ stdenv.mkDerivation rec { CMAKE_CXX_FLAGS = "-std=gnu++11"; JEMALLOC_LIB = stdenv.lib.optionalString (malloc == jemalloc) "-ljemalloc"; - ${if enableLite then "LIBNAME" else null} = "librocksdb_lite"; + LIBNAME = "librocksdb${stdenv.lib.optionalString enableLite "_lite"}"; ${if enableLite then "CXXFLAGS" else null} = "-DROCKSDB_LITE=1"; - + buildAndInstallFlags = [ "USE_RTTI=1" "DEBUG_LEVEL=0" - "DISABLE_WARNING_AS_ERROR=1" + "DISABLE_WARNING_AS_ERROR=1" ]; buildFlags = buildAndInstallFlags ++ [ @@ -68,7 +68,7 @@ stdenv.mkDerivation rec { echo "BUILD CONFIGURATION FOR SANITY CHECKING" cat make_config.mk mkdir -pv $static/lib/ - mv -vi $out/lib/librocksdb.a $static/lib/ + mv -vi $out/lib/${LIBNAME}.a $static/lib/ ''; enableParallelBuilding = true; @@ -77,7 +77,7 @@ stdenv.mkDerivation rec { homepage = http://rocksdb.org; description = "A library that provides an embeddable, persistent key-value store for fast storage"; license = licenses.bsd3; - platforms = platforms.x86_64 ++ platforms.aarch64; + platforms = platforms.x86_64; maintainers = with maintainers; [ adev wkennington ]; }; } diff --git a/pkgs/development/libraries/schroedinger/default.nix b/pkgs/development/libraries/schroedinger/default.nix index d8e67baa13df..2309719c2bdc 100644 --- a/pkgs/development/libraries/schroedinger/default.nix +++ b/pkgs/development/libraries/schroedinger/default.nix @@ -22,6 +22,6 @@ stdenv.mkDerivation { homepage = http://diracvideo.org/; maintainers = [ maintainers.spwhitt ]; license = [ licenses.mpl11 licenses.lgpl2 licenses.mit ]; - platforms = platforms.unix; + platforms = platforms.linux; }; } diff --git a/pkgs/development/libraries/science/math/caffe2/default.nix b/pkgs/development/libraries/science/math/caffe2/default.nix index af7078599db5..916bf122b3c2 100644 --- a/pkgs/development/libraries/science/math/caffe2/default.nix +++ b/pkgs/development/libraries/science/math/caffe2/default.nix @@ -137,7 +137,7 @@ stdenv.mkDerivation rec { algorithms. You can bring your creations to scale using the power of GPUs in the cloud or to the masses on mobile with Caffe2's cross-platform libraries. ''; - platforms = with stdenv.lib.platforms; linux ++ darwin; + platforms = with stdenv.lib.platforms; linux; license = stdenv.lib.licenses.asl20; maintainers = with stdenv.lib.maintainers; [ yuriaisaka ]; }; diff --git a/pkgs/development/libraries/science/math/petsc/default.nix b/pkgs/development/libraries/science/math/petsc/default.nix index e1ce4b497470..ac8129c9032f 100644 --- a/pkgs/development/libraries/science/math/petsc/default.nix +++ b/pkgs/development/libraries/science/math/petsc/default.nix @@ -7,11 +7,11 @@ stdenv.mkDerivation rec { name = "petsc-${version}"; - version = "3.8.3"; + version = "3.8.4"; src = fetchurl { url = "http://ftp.mcs.anl.gov/pub/petsc/release-snapshots/petsc-${version}.tar.gz"; - sha256 = "1b1yr93g6df8kx10ri2y26bp3l3w3jv10r80krnarbvyjgnw7y81"; + sha256 = "1iy49gagxncx09d88kxnwkj876p35683mpfk33x37165si6xqy4z"; }; nativeBuildInputs = [ blas gfortran.cc.lib liblapack python ]; diff --git a/pkgs/development/libraries/science/networking/ns3/default.nix b/pkgs/development/libraries/science/networking/ns3/default.nix new file mode 100644 index 000000000000..9fc72f18e5d7 --- /dev/null +++ b/pkgs/development/libraries/science/networking/ns3/default.nix @@ -0,0 +1,98 @@ +{ stdenv +, fetchFromGitHub, fetchurl +, python + +# for binding generation +, castxml ? null + +# can take a long time, generates > 30000 images/graphs +, enableDoxygen ? false + +# e.g. "optimized" or "debug". If not set, use default one +, build_profile ? null + +# --enable-examples +, withExamples ? false + +# very long +, withManual ? false, doxygen ? null, graphviz ? null, imagemagick ? null +# for manual, tetex is used to get the eps2pdf binary +# texlive to get latexmk. building manual still fails though +, dia, tetex ? null, ghostscript ? null, texlive ? null + +# generates python bindings +, generateBindings ? false, ncurses ? null + +# All modules can be enabled by choosing 'all_modules'. +# we include here the DCE mandatory ones +, modules ? [ "core" "network" "internet" "point-to-point" "fd-net-device" "netanim"] +, gcc6 +, lib +}: + +let + pythonEnv = python.withPackages(ps: + stdenv.lib.optional withManual ps.sphinx + ++ stdenv.lib.optionals generateBindings (with ps;[ pybindgen pygccxml ]) + ); +in +stdenv.mkDerivation rec { + + name = "ns-3.${version}"; + version = "28"; + + # the all in one https://www.nsnam.org/release/ns-allinone-3.27.tar.bz2; + # fetches everything (netanim, etc), this package focuses on ns3-core + src = fetchFromGitHub { + owner = "nsnam"; + repo = "ns-3-dev-git"; + rev = name; + sha256 = "17kzfjpgw2mvyx1c9bxccnvw67jpk09fxmcnlkqx9xisk10qnhng"; + }; + + # ncurses is a hidden dependency of waf when checking python + buildInputs = lib.optionals generateBindings [ castxml ncurses ] + ++ stdenv.lib.optional enableDoxygen [ doxygen graphviz imagemagick ] + ++ stdenv.lib.optional withManual [ dia tetex ghostscript texlive.combined.scheme-medium ]; + + propagatedBuildInputs = [ gcc6 pythonEnv ]; + + postPatch = '' + patchShebangs ./waf + patchShebangs doc/ns3_html_theme/get_version.sh + ''; + + configureScript = "${python.interpreter} ./waf configure"; + + configureFlags = with stdenv.lib; [ + "--enable-modules=${stdenv.lib.concatStringsSep "," modules}" + "--with-python=${pythonEnv.interpreter}" + ] + ++ optional (build_profile != null) "--build-profile=${build_profile}" + ++ optional generateBindings [ ] + ++ optional withExamples " --enable-examples " + ++ optional doCheck " --enable-tests " + ; + + postBuild = with stdenv.lib; let flags = concatStringsSep ";" ( + optional enableDoxygen "./waf doxygen" + ++ optional withManual "./waf sphinx" + ); + in "${flags}" + ; + + doCheck = true; + + # we need to specify the proper interpreter else ns3 can check against a + # different version even though we + checkPhase = '' + ${pythonEnv.interpreter} ./test.py + ''; + + meta = { + homepage = http://www.nsnam.org; + license = stdenv.lib.licenses.gpl3; + description = "A discrete time event network simulator"; + platforms = with stdenv.lib.platforms; unix; + }; +} diff --git a/pkgs/development/libraries/spice-gtk/default.nix b/pkgs/development/libraries/spice-gtk/default.nix index 4fae3696c634..bedd4771253b 100644 --- a/pkgs/development/libraries/spice-gtk/default.nix +++ b/pkgs/development/libraries/spice-gtk/default.nix @@ -1,8 +1,29 @@ { stdenv, fetchurl, pkgconfig, spice-protocol, gettext, celt_0_5_1 , openssl, libpulseaudio, pixman, gobjectIntrospection, libjpeg_turbo, zlib , cyrus_sasl, python2Packages, autoreconfHook, usbredir, libsoup -, polkit, acl, usbutils, vala -, gtk3, epoxy }: +, withPolkit ? true, polkit, acl, usbutils +, vala, gtk3, epoxy }: + +# If this package is built with polkit support (withPolkit=true), +# usb redirection reqires spice-client-glib-usb-acl-helper to run setuid root. +# The helper confirms via polkit that the user has an active session, +# then adds a device acl entry for that user. +# Example NixOS config to create a setuid wrapper for the helper: +# security.wrappers.spice-client-glib-usb-acl-helper.source = +# "${pkgs.spice-gtk}/bin/spice-client-glib-usb-acl-helper"; +# On non-NixOS installations, make a setuid copy of the helper +# outside the store and adjust PATH to find the setuid version. + +# If this package is built without polkit support (withPolkit=false), +# usb redirection requires read-write access to usb devices. +# This can be granted by adding users to a custom group like "usb" +# and using a udev rule to put all usb devices in that group. +# Example NixOS config: +# users.groups.usb = {}; +# users.users.dummy.extraGroups = [ "usb" ]; +# services.udev.extraRules = '' +# KERNEL=="*", SUBSYSTEMS=="usb", MODE="0664", GROUP="usb" +# ''; with stdenv.lib; @@ -18,11 +39,16 @@ in stdenv.mkDerivation rec { sha256 = "1vknp72pl6v6nf3dphhwp29hk6gv787db2pmyg4m312z2q0hwwp9"; }; + postPatch = '' + # get rid of absolute path to helper in store so we can use a setuid wrapper + substituteInPlace src/usb-acl-helper.c \ + --replace 'ACL_HELPER_PATH"/' '"' + ''; + buildInputs = [ spice-protocol celt_0_5_1 openssl libpulseaudio pixman libjpeg_turbo zlib cyrus_sasl python pygtk usbredir gtk3 epoxy - polkit acl usbutils - ]; + ] ++ optionals withPolkit [ polkit acl usbutils ] ; nativeBuildInputs = [ pkgconfig gettext libsoup autoreconfHook vala gobjectIntrospection ]; @@ -34,16 +60,6 @@ in stdenv.mkDerivation rec { "--enable-vala" ]; - # usb redirection needs spice-client-glib-usb-acl-helper to run setuid root - # the helper then uses polkit to check access - # in nixos, enable this with - # security.wrappers.spice-client-glib-usb-acl-helper.source = - # "${pkgs.spice_gtk}/bin/spice-client-glib-usb-acl-helper.real"; - postFixup = '' - mv $out/bin/spice-client-glib-usb-acl-helper $out/bin/spice-client-glib-usb-acl-helper.real - ln -sf /run/wrappers/bin/spice-client-glib-usb-acl-helper $out/bin/spice-client-glib-usb-acl-helper - ''; - dontDisableStatic = true; # Needed by the coroutine test enableParallelBuilding = true; diff --git a/pkgs/development/libraries/tachyon/default.nix b/pkgs/development/libraries/tachyon/default.nix index b1649da6459f..e4a24279c9b4 100644 --- a/pkgs/development/libraries/tachyon/default.nix +++ b/pkgs/development/libraries/tachyon/default.nix @@ -1,10 +1,10 @@ {stdenv, fetchurl}: stdenv.mkDerivation rec { name = "tachyon-${version}"; - version = "0.98.9"; + version = "0.99b2"; src = fetchurl { url = "http://jedi.ks.uiuc.edu/~johns/tachyon/files/${version}/${name}.tar.gz"; - sha256 = "1ms0xr4ibrzz291ibm265lyjrdjrmhfrx0a70hwykhsdxn6jk8y6"; + sha256 = "04m0bniszyg7ryknj8laj3rl5sspacw5nr45x59j2swcsxmdvn1v"; }; buildInputs = []; preBuild = "cd unix"; diff --git a/pkgs/development/libraries/umockdev/default.nix b/pkgs/development/libraries/umockdev/default.nix index 9bb11ca92afa..fb43af362433 100644 --- a/pkgs/development/libraries/umockdev/default.nix +++ b/pkgs/development/libraries/umockdev/default.nix @@ -3,13 +3,13 @@ stdenv.mkDerivation rec { name = "umockdev-${version}"; - version = "0.11.1"; + version = "0.11.2"; src = fetchFromGitHub { owner = "martinpitt"; repo = "umockdev"; rev = version; - sha256 ="0cmswac8m7zfvk6cb8k5iisqr7arnn1yhcmasri072yz0pmr6dr0"; + sha256 ="1dvhs9nkznlnagzjny61fh574g42c47b9s5hxsqdgqb51njawdg1"; }; buildInputs = [ glib systemd libgudev ]; diff --git a/pkgs/development/libraries/unixODBCDrivers/default.nix b/pkgs/development/libraries/unixODBCDrivers/default.nix index badcb7e661bb..e7a2dee541d0 100644 --- a/pkgs/development/libraries/unixODBCDrivers/default.nix +++ b/pkgs/development/libraries/unixODBCDrivers/default.nix @@ -5,11 +5,11 @@ { psql = stdenv.mkDerivation rec { name = "psqlodbc-${version}"; - version = "09.05.0210"; + version = "10.01.0000"; src = fetchurl { url = "http://ftp.postgresql.org/pub/odbc/versions/src/${name}.tar.gz"; - sha256 = "0317zrxaiy209xzcc6b5sz6hsyiv4zm74iikp91rgz7z3ll4n4dc"; + sha256 = "1cyams7157f3gry86x64xrplqi2vyqrq3rqka59gv4lb4rpl7jl7"; }; buildInputs = [ unixODBC postgresql ]; diff --git a/pkgs/development/libraries/vulkan-loader/default.nix b/pkgs/development/libraries/vulkan-loader/default.nix index 4bc642030517..2b0d765efc8b 100644 --- a/pkgs/development/libraries/vulkan-loader/default.nix +++ b/pkgs/development/libraries/vulkan-loader/default.nix @@ -3,12 +3,12 @@ libXext, wayland, libGL, makeWrapper }: let - version = "1.0.61.1"; + version = "1.1.70.0"; src = fetchFromGitHub { owner = "KhronosGroup"; repo = "Vulkan-LoaderAndValidationLayers"; rev = "sdk-${version}"; - sha256 = "043kw6wnrpdplnb40x6n9rgf3gygsn9jiv91y458sydbhalfr945"; + sha256 = "1a7xwl65bi03l4zbjq54qkxjb8kb4m78qvw8bas5alhf9v6i6yqp"; }; in @@ -18,7 +18,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ makeWrapper pkgconfig ]; buildInputs = [ cmake git python3 python3Packages.lxml - glslang spirv-tools x11 libxcb libXrandr libXext wayland + glslang x11 libxcb libXrandr libXext wayland ]; enableParallelBuilding = true; @@ -28,13 +28,18 @@ stdenv.mkDerivation rec { ]; outputs = [ "out" "dev" "demos" ]; + patches = [ ./rev-file.patch ]; + + postUnpack = '' + # Hack so a version header can be generated. Relies on ./rev-file.patch to work. + mkdir -p "$sourceRoot/external/glslang/External" + echo "${spirv-tools.src.rev}" > "$sourceRoot/external/glslang/External/spirv-tools" + ''; preConfigure = '' checkRev() { [ "$2" = $(cat "external_revisions/$1_revision") ] || (echo "ERROR: dependency $1 is revision $2 but should be revision" $(cat "external_revisions/$1_revision") && exit 1) } - checkRev spirv-tools "${spirv-tools.src.rev}" - checkRev spirv-headers "${spirv-tools.headers.rev}" checkRev glslang "${glslang.src.rev}" ''; diff --git a/pkgs/development/libraries/vulkan-loader/rev-file.patch b/pkgs/development/libraries/vulkan-loader/rev-file.patch new file mode 100644 index 000000000000..e8f9f92c8ead --- /dev/null +++ b/pkgs/development/libraries/vulkan-loader/rev-file.patch @@ -0,0 +1,21 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index c9f73ce96..d14ffeed9 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -339,13 +339,13 @@ macro(run_vk_xml_generate dependency output) + endmacro() + + # Define macro used for generating header files containing commit IDs for external dependencies +-macro(run_external_revision_generate source_dir symbol_name output) ++macro(run_external_revision_generate rev_file symbol_name output) + add_custom_command(OUTPUT ${output} + # NOTE: If you modify this call to use --rev_file instead of --git_dir (to read the commit ID from a file instead of + # parsing from a Git repository), you probably also want to add the revision file to the list of DEPENDS on the + # subsequent line (to ensure that the script is re-run when the revision file is modified). +- COMMAND ${PYTHON_CMD} ${SCRIPTS_DIR}/external_revision_generator.py --git_dir ${source_dir} -s ${symbol_name} -o ${output} +- DEPENDS ${SCRIPTS_DIR}/external_revision_generator.py ${source_dir}/.git/HEAD ${source_dir}/.git/index ++ COMMAND ${PYTHON_CMD} ${SCRIPTS_DIR}/external_revision_generator.py --rev_file ${rev_file} -s ${symbol_name} -o ${output} ++ DEPENDS ${SCRIPTS_DIR}/external_revision_generator.py ${rev_file} + ) + endmacro() + diff --git a/pkgs/development/libraries/webkitgtk/2.20.nix b/pkgs/development/libraries/webkitgtk/2.20.nix index 8b44f11ee930..588f4bc4e3bd 100644 --- a/pkgs/development/libraries/webkitgtk/2.20.nix +++ b/pkgs/development/libraries/webkitgtk/2.20.nix @@ -39,6 +39,12 @@ stdenv.mkDerivation rec { patchShebangs . ''; + postConfigure = '' + # A stopgap for a non-deterministic build failure when using only one core + # Upstream bug: https://bugs.webkit.org/show_bug.cgi?id=183788#c4 + ninja JavaScriptCoreForwardingHeaders WTFForwardingHeaders + ''; + cmakeFlags = [ "-DPORT=GTK" "-DUSE_LIBHYPHEN=0" diff --git a/pkgs/development/libraries/wlroots/default.nix b/pkgs/development/libraries/wlroots/default.nix index 3fdaeb824382..24cff1996c35 100644 --- a/pkgs/development/libraries/wlroots/default.nix +++ b/pkgs/development/libraries/wlroots/default.nix @@ -42,5 +42,8 @@ in stdenv.mkDerivation rec { license = licenses.mit; platforms = platforms.linux; maintainers = with maintainers; [ primeos ]; + # Marked as broken until the first official/stable release (upstream + # request). See #38344 for the public discussion. + broken = true; }; } diff --git a/pkgs/development/libraries/xmlrpc-c/default.nix b/pkgs/development/libraries/xmlrpc-c/default.nix index 92e3424a5f6a..8a0017109bbf 100644 --- a/pkgs/development/libraries/xmlrpc-c/default.nix +++ b/pkgs/development/libraries/xmlrpc-c/default.nix @@ -27,7 +27,7 @@ stdenv.mkDerivation rec { # <xmlrpc-c>/doc/COPYING also lists "Expat license", # "ABYSS Web Server License" and "Python 1.5.2 License" license = licenses.bsd3; - platforms = platforms.linux; + platforms = platforms.unix; maintainers = [ maintainers.bjornfor ]; }; } diff --git a/pkgs/development/libraries/zlog/default.nix b/pkgs/development/libraries/zlog/default.nix index d3dc41371de3..21d8a7babb3c 100644 --- a/pkgs/development/libraries/zlog/default.nix +++ b/pkgs/development/libraries/zlog/default.nix @@ -28,7 +28,7 @@ stdenv.mkDerivation rec { homepage = http://hardysimpson.github.com/zlog; license = licenses.lgpl21; platforms = platforms.linux; # cannot test on something else - maintainers = [ maintainers.matthiasbeyer ]; + maintainers = [ ]; }; } |