diff options
Diffstat (limited to 'pkgs/development/libraries')
111 files changed, 1347 insertions, 708 deletions
diff --git a/pkgs/development/libraries/CGAL/default.nix b/pkgs/development/libraries/CGAL/default.nix index 1f964388cbd..b8fd4af812a 100644 --- a/pkgs/development/libraries/CGAL/default.nix +++ b/pkgs/development/libraries/CGAL/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, cmake, boost, gmp, mpfr }: +{ stdenv, fetchurl, cmake, boost, gmp, mpfr, mesa_glu }: stdenv.mkDerivation rec { version = "4.7"; @@ -12,6 +12,7 @@ stdenv.mkDerivation rec { # note: optional component libCGAL_ImageIO would need zlib and opengl; # there are also libCGAL_Qt{3,4} omitted ATM buildInputs = [ cmake boost gmp mpfr ]; + #propagatedBuildInputs = [ mesa_glu ]; doCheck = false; diff --git a/pkgs/development/libraries/SDL/default.nix b/pkgs/development/libraries/SDL/default.nix index 6c3920ff8aa..5d97a7fa59e 100644 --- a/pkgs/development/libraries/SDL/default.nix +++ b/pkgs/development/libraries/SDL/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, fetchpatch, pkgconfig, audiofile, libcap -, openglSupport ? false, mesa ? null +, openglSupport ? false, mesa_noglu ? null , alsaSupport ? true, alsaLib ? null , x11Support ? true, xlibsWrapper ? null, libXrandr ? null , pulseaudioSupport ? true, libpulseaudio ? null @@ -10,7 +10,7 @@ # PulseAudio. assert (stdenv.isLinux && !(stdenv ? cross)) -> alsaSupport || pulseaudioSupport; -assert openglSupport -> (mesa != null && x11Support); +assert openglSupport -> (mesa_noglu != null && x11Support); assert x11Support -> (xlibsWrapper != null && libXrandr != null); assert alsaSupport -> alsaLib != null; assert pulseaudioSupport -> libpulseaudio != null; @@ -37,7 +37,7 @@ stdenv.mkDerivation rec { optionals x11Support [ xlibsWrapper libXrandr ] ++ optional alsaSupport alsaLib ++ optional stdenv.isLinux libcap ++ - optional openglSupport mesa ++ + optional openglSupport mesa_noglu ++ optional pulseaudioSupport libpulseaudio ++ optional stdenv.isDarwin Cocoa; diff --git a/pkgs/development/libraries/accounts-qt/default.nix b/pkgs/development/libraries/accounts-qt/default.nix index e82d37f1d3c..a16a0ef8cf5 100644 --- a/pkgs/development/libraries/accounts-qt/default.nix +++ b/pkgs/development/libraries/accounts-qt/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitLab, doxygen, glib, libaccounts-glib, pkgconfig, qtbase }: +{ stdenv, fetchFromGitLab, doxygen, glib, libaccounts-glib, pkgconfig, qtbase, qmakeHook }: stdenv.mkDerivation rec { name = "accounts-qt-${version}"; @@ -12,12 +12,10 @@ stdenv.mkDerivation rec { }; buildInputs = [ glib libaccounts-glib qtbase ]; - nativeBuildInputs = [ doxygen pkgconfig ]; + nativeBuildInputs = [ doxygen pkgconfig qmakeHook ]; - configurePhase = '' - runHook preConfigure - qmake PREFIX=$out LIBDIR=$out/lib CMAKE_CONFIG_PATH=$out/lib/cmake - runHook postConfigure + preConfigure = '' + qmakeFlags="$qmakeFlags LIBDIR=$out/lib CMAKE_CONFIG_PATH=$out/lib/cmake" ''; meta = with stdenv.lib; { diff --git a/pkgs/development/libraries/avro-c++/default.nix b/pkgs/development/libraries/avro-c++/default.nix new file mode 100644 index 00000000000..2cd03253e7e --- /dev/null +++ b/pkgs/development/libraries/avro-c++/default.nix @@ -0,0 +1,29 @@ +{ stdenv, fetchurl, cmake, boost155, pythonPackages +}: + +let version = "1.7.5"; in + +stdenv.mkDerivation { + name = "avro-c++-${version}"; + + src = fetchurl { + url = "mirror://apache/avro/avro-${version}/cpp/avro-cpp-${version}.tar.gz"; + sha256 = "064ssbbgrc3hyalzj8rn119bsrnyk1vlpkhl8gghv96jgqbpdyb3"; + }; + + buildInputs = [ + cmake + boost155 + pythonPackages.python + ]; + + enableParallelBuilding = true; + + meta = { + description = "A C++ library which implements parts of the Avro Specification"; + homepage = https://avro.apache.org/; + license = stdenv.lib.licenses.asl20; + maintainers = with stdenv.lib.maintainers; [ rasendubi ]; + platforms = stdenv.lib.platforms.all; + }; +} diff --git a/pkgs/development/libraries/aws-sdk-cpp/default.nix b/pkgs/development/libraries/aws-sdk-cpp/default.nix index 6a881e4245a..1848bd064f1 100644 --- a/pkgs/development/libraries/aws-sdk-cpp/default.nix +++ b/pkgs/development/libraries/aws-sdk-cpp/default.nix @@ -7,13 +7,13 @@ stdenv.mkDerivation rec { name = "aws-sdk-cpp-${version}"; - version = "0.9.6"; + version = "0.10.6"; src = fetchFromGitHub { owner = "awslabs"; repo = "aws-sdk-cpp"; rev = version; - sha256 = "022v7naa5vjvq3wfn4mcp99li61ffsk2fnc8qqi52cb1pyxz9sk1"; + sha256 = "1x3xam7vprlld6iqhqgdhgmqyclfy8dvzgy3375cijy9akhvv67i"; }; buildInputs = [ cmake curl ]; diff --git a/pkgs/development/libraries/beignet/clang_llvm.patch b/pkgs/development/libraries/beignet/clang_llvm.patch new file mode 100644 index 00000000000..88876f157cd --- /dev/null +++ b/pkgs/development/libraries/beignet/clang_llvm.patch @@ -0,0 +1,62 @@ +diff --git a/./CMake/FindLLVM.cmake b/../Beignet-1.1.2-Source_new/CMake/FindLLVM.cmake +index a148321..96cafb8 100644 +--- a/./CMake/FindLLVM.cmake ++++ b/../Beignet-1.1.2-Source_new/CMake/FindLLVM.cmake +@@ -22,6 +22,7 @@ if (LLVM_CONFIG_EXECUTABLE) + else (LLVM_CONFIG_EXECUTABLE) + message(FATAL_ERROR "Could NOT find LLVM executable, please add -DLLVM_INSTALL_DIR=/path/to/llvm-config/ in cmake command") + endif (LLVM_CONFIG_EXECUTABLE) ++ + execute_process( + COMMAND ${LLVM_CONFIG_EXECUTABLE} --version + OUTPUT_VARIABLE LLVM_VERSION +@@ -44,10 +45,16 @@ if (LLVM_FIND_VERSION_MAJOR AND LLVM_FIND_VERSION_MINOR) + endif (LLVM_VERSION_NODOT VERSION_LESS LLVM_FIND_VERSION_NODOT) + endif (LLVM_FIND_VERSION_MAJOR AND LLVM_FIND_VERSION_MINOR) + +-if (LLVM_INSTALL_DIR) ++if (CLANG_INSTALL_DIR) + find_program(CLANG_EXECUTABLE + NAMES clang-${LLVM_VERSION_NODOT} clang-${LLVM_VERSION_NOPATCH} clang +- PATHS ${LLVM_INSTALL_DIR} NO_DEFAULT_PATH) ++ PATHS ${CLANG_INSTALL_DIR} NO_DEFAULT_PATH) ++else (CLANG_INSTALL_DIR) ++ find_program(CLANG_EXECUTABLE ++ NAMES clang-${LLVM_VERSION_NODOT} clang-${LLVM_VERSION_NOPATCH} clang) ++endif (CLANG_INSTALL_DIR) ++ ++if (LLVM_INSTALL_DIR) + find_program(LLVM_AS_EXECUTABLE + NAMES llvm-as-${LLVM_VERSION_NODOT} llvm-as-${LLVM_VERSION_NOPATCH} llvm-as + PATHS ${LLVM_INSTALL_DIR} NO_DEFAULT_PATH) +@@ -55,8 +62,6 @@ if (LLVM_INSTALL_DIR) + NAMES llvm-link-${LLVM_VERSION_NODOT} llvm-link-${LLVM_VERSION_NOPATCH} llvm-link + PATHS ${LLVM_INSTALL_DIR} NO_DEFAULT_PATH) + else (LLVM_INSTALL_DIR) +- find_program(CLANG_EXECUTABLE +- NAMES clang-${LLVM_VERSION_NODOT} clang-${LLVM_VERSION_NOPATCH} clang) + find_program(LLVM_AS_EXECUTABLE + NAMES llvm-as-${LLVM_VERSION_NODOT} llvm-as-${LLVM_VERSION_NOPATCH} llvm-as) + find_program(LLVM_LINK_EXECUTABLE +@@ -105,7 +110,7 @@ endif (LLVM_VERSION_NODOT VERSION_GREATER 34) + macro(add_one_lib name) + FIND_LIBRARY(CLANG_LIB + NAMES ${name} +- PATHS ${LLVM_LIBRARY_DIR} NO_DEFAULT_PATH) ++ PATHS ${CLANG_LIBRARY_DIR} NO_DEFAULT_PATH) + set(CLANG_LIBRARIES ${CLANG_LIBRARIES} ${CLANG_LIB}) + unset(CLANG_LIB CACHE) + endmacro() +diff --git a/./CMakeLists.txt b/../Beignet-1.1.2-Source_new/CMakeLists.txt +index 88985d7..01bca9e 100644 +--- a/./CMakeLists.txt ++++ b/../Beignet-1.1.2-Source_new/CMakeLists.txt +@@ -205,7 +205,7 @@ IF(OCLIcd_FOUND) + "intel-beignet.icd.in" + "${ICD_FILE_NAME}" + ) +- install (FILES ${CMAKE_CURRENT_BINARY_DIR}/${ICD_FILE_NAME} DESTINATION /etc/OpenCL/vendors) ++ install (FILES ${CMAKE_CURRENT_BINARY_DIR}/${ICD_FILE_NAME} DESTINATION ${CMAKE_INSTALL_PREFIX}/etc/OpenCL/vendors) + ELSE(OCLIcd_FOUND) + MESSAGE(STATUS "Looking for OCL ICD header file - not found") + ENDIF(OCLIcd_FOUND) diff --git a/pkgs/development/libraries/beignet/default.nix b/pkgs/development/libraries/beignet/default.nix new file mode 100644 index 00000000000..5d5c834b4ac --- /dev/null +++ b/pkgs/development/libraries/beignet/default.nix @@ -0,0 +1,123 @@ +{ stdenv +, fetchurl +, cmake +, pkgconfig +, clang-unwrapped +, llvm +, libdrm +, libX11 +, libXfixes +, libpthreadstubs +, libXdmcp +, libXdamage +, libXxf86vm +, python +, gl +, ocl-icd +}: + +stdenv.mkDerivation rec { + name = "beignet-${version}"; + version = "1.1.2"; + + src = fetchurl { + url = "https://01.org/sites/default/files/${name}-source.tar.gz"; + sha256 = "6a8d875afbb5e3c4fc57da1ea80f79abadd9136bfd87ab1f83c02784659f1d96"; + }; + + patches = [ ./clang_llvm.patch ]; + + postPatch = '' + patchShebangs src/git_sha1.sh; + + for f in $(find utests -type f) + do + sed -e "s@isnan(@std::isnan(@g" -i $f + sed -e "s@_std::isnan@_isnan@g" -i $f + + sed -e "s@isinf(@std::isinf(@g" -i $f + sed -e "s@_std::isinf@_isinf@g" -i $f + done + ''; + + configurePhase = '' + cmake . -DCMAKE_INSTALL_PREFIX=$out \ + -DCLANG_LIBRARY_DIR="${clang-unwrapped}/lib" \ + -DLLVM_INSTALL_DIR="${llvm}/bin" \ + -DCLANG_INSTALL_DIR="${clang-unwrapped}/bin" + ''; + + postInstall = '' + mkdir -p $out/utests/kernels + mkdir -p $out/utests/lib + + cp -r kernels $out/utests + cp src/libcl.so $out/utests/lib + + cat > $out/utests/setenv.sh << EOF +#!/bin/sh +export OCL_BITCODE_LIB_PATH=$out/lib/beignet/beignet.bc +export OCL_HEADER_FILE_DIR=$out/lib/beignet/include +export OCL_PCH_PATH=$out/lib/beignet/beignet.pch +export OCL_GBE_PATH=$out/lib/beignet/libgbe.so +export OCL_INTERP_PATH=$out/lib/beignet/libgbeinterp.so +export OCL_KERNEL_PATH=$out/utests/kernels +export OCL_IGNORE_SELF_TEST=1 +EOF + + function fixRunPath { + p0=$(patchelf --print-rpath $1) + p1=$(echo $p0 | sed -e "s@$(pwd)/src@$out/utests/lib@g" -) + p2=$(echo $p1 | sed -e "s@$(pwd)/utests@$out/utests@g" -) + patchelf --set-rpath $p2 $1 + } + + fixRunPath utests/utest_run + fixRunPath utests/libutests.so + + cp utests/utest_run $out/utests + cp utests/libutests.so $out/utests + + mkdir -p $out/bin + ln -s $out/utests/setenv.sh $out/bin/beignet_setenv.sh + ln -s $out/utests/utest_run $out/bin/beignet_utest_run + ''; + + # To run the unit tests, the user must be in "video" group. + # The nix builders are members of only "nixbld" group, so + # they are able to compile the tests, but not to run them. + # To verify the installation, add yourself to "video" group, + # switch to a working directory which has both read and write + # permissions, run: nix-shell -p pkgs.beignet, and execute: + # . beignet_setenv.sh && beignet_utest_run + doCheck = false; + + buildInputs = [ + llvm + clang-unwrapped + cmake + libX11 + pkgconfig + libdrm + gl + libXfixes + libpthreadstubs + libXdmcp + libXdamage + libXxf86vm + python + ocl-icd + ]; + + meta = with stdenv.lib; { + homepage = https://cgit.freedesktop.org/beignet/; + description = "OpenCL Library for Intel Ivy Bridge and newer GPUs"; + longDescription = '' + The package provides an open source implementation of the OpenCL specification for Intel GPUs. + It supports the Intel OpenCL runtime library and compiler. + ''; + license = licenses.lgpl21Plus; + maintainers = with maintainers; [ artuuge ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/development/libraries/bobcat/default.nix b/pkgs/development/libraries/bobcat/default.nix index 7a8209d5046..fbc7df68d44 100644 --- a/pkgs/development/libraries/bobcat/default.nix +++ b/pkgs/development/libraries/bobcat/default.nix @@ -3,10 +3,10 @@ stdenv.mkDerivation rec { name = "bobcat-${version}"; - version = "4.01.04"; + version = "4.02.00"; src = fetchFromGitHub { - sha256 = "1qnyssvjvwc7ann5rw8spcfrfkxyh1lv3k12bq19d8db67znk4ms"; + sha256 = "1hl5b2g4cmxcafkcpr4vs0c705cy254g0h410zi5wxnygjam8adn"; rev = version; repo = "bobcat"; owner = "fbb-git"; diff --git a/pkgs/development/libraries/cairo/default.nix b/pkgs/development/libraries/cairo/default.nix index 2e4821b3073..f6f0a0d3af7 100644 --- a/pkgs/development/libraries/cairo/default.nix +++ b/pkgs/development/libraries/cairo/default.nix @@ -32,8 +32,7 @@ stdenv.mkDerivation rec { ]); propagatedBuildInputs = - with xorg; [ libXext fontconfig expat freetype pixman zlib libpng ] - ++ optional (!stdenv.isDarwin) libXrender + with xorg; [ libXext fontconfig expat freetype pixman zlib libpng libXrender ] ++ optionals xcbSupport [ libxcb xcbutil ] ++ optional gobjectSupport glib ++ optional glSupport mesa_noglu diff --git a/pkgs/development/libraries/catch/default.nix b/pkgs/development/libraries/catch/default.nix index 625ec2995e3..3ab520fd4a6 100644 --- a/pkgs/development/libraries/catch/default.nix +++ b/pkgs/development/libraries/catch/default.nix @@ -3,20 +3,20 @@ stdenv.mkDerivation rec { name = "catch-${version}"; - version = "1.2.1"; + version = "1.5.0"; src = fetchFromGitHub { owner = "philsquared"; repo = "Catch"; rev = "v" + version; - sha256 = "0rz2nmvvh66x6w2nb7l08vc5x9aqg1qfz2qfiykaz1ybc19fwck2"; + sha256 = "1ag8siafg7fmb50qdqznryrg3lvv56f09nvqwqqn2rlk83zjnaw0"; }; buildInputs = [ cmake ]; dontUseCmakeConfigure = true; buildPhase = '' - cmake -Hprojects/CMake -BBuild -DCMAKE_BUILD_TYPE=Release + cmake -Hprojects/CMake -BBuild -DCMAKE_BUILD_TYPE=Release -DUSE_CPP11=ON cd Build make cd .. diff --git a/pkgs/development/libraries/cegui/default.nix b/pkgs/development/libraries/cegui/default.nix new file mode 100644 index 00000000000..c7d7aa4d67a --- /dev/null +++ b/pkgs/development/libraries/cegui/default.nix @@ -0,0 +1,21 @@ +{ stdenv, fetchurl, cmake, ogre, freetype, boost, expat }: + +stdenv.mkDerivation rec { + name = "cegui-${version}"; + version = "0.8.4"; + + src = fetchurl { + url = "mirror://sourceforge/crayzedsgui/${name}.tar.bz2"; + sha256 = "1253aywv610rbs96hwqiw2z7xrrv24l3jhfsqj95w143idabvz5m"; + }; + + + buildInputs = [ cmake ogre freetype boost expat ]; + + meta = with stdenv.lib; { + homepage = http://cegui.org.uk/; + description = "C++ Library for creating GUIs"; + license = licenses.mit; + platforms = platforms.linux; + }; +} diff --git a/pkgs/development/libraries/enet/default.nix b/pkgs/development/libraries/enet/default.nix index 0d5bd834787..4c3d67b8f31 100644 --- a/pkgs/development/libraries/enet/default.nix +++ b/pkgs/development/libraries/enet/default.nix @@ -13,5 +13,6 @@ stdenv.mkDerivation rec { description = "Simple and robust network communication layer on top of UDP"; license = stdenv.lib.licenses.mit; maintainers = with stdenv.lib.maintainers; [ fuuzetsu ]; + platforms = stdenv.lib.platforms.linux; }; } diff --git a/pkgs/development/libraries/ffmpeg-full/default.nix b/pkgs/development/libraries/ffmpeg-full/default.nix index 91974a31175..0f6ffe51d85 100644 --- a/pkgs/development/libraries/ffmpeg-full/default.nix +++ b/pkgs/development/libraries/ffmpeg-full/default.nix @@ -141,7 +141,7 @@ /* * Darwin frameworks */ -, Cocoa, CoreServices +, Cocoa, CoreServices, AVFoundation, MediaToolbox, VideoDecodeAcceleration, CF }: /* Maintainer notes: @@ -177,7 +177,7 @@ let inherit (stdenv) isCygwin isFreeBSD isLinux; - inherit (stdenv.lib) optional optionals enableFeature; + inherit (stdenv.lib) optional optionals optionalString enableFeature; in /* @@ -410,11 +410,25 @@ stdenv.mkDerivation rec { ++ optionals nonfreeLicensing [ faac fdk_aac openssl ] ++ optional ((isLinux || isFreeBSD) && libva != null) libva ++ optionals isLinux [ alsaLib libraw1394 libv4l ] - ++ optionals stdenv.isDarwin [ Cocoa CoreServices ]; + ++ optionals stdenv.isDarwin [ Cocoa CoreServices AVFoundation MediaToolbox + VideoDecodeAcceleration ]; # Build qt-faststart executable buildPhase = optional qtFaststartProgram ''make tools/qt-faststart''; - postInstall = optional qtFaststartProgram ''cp -a tools/qt-faststart $out/bin/''; + + # Hacky framework patching technique borrowed from the phantomjs2 package + postInstall = optionalString qtFaststartProgram '' + cp -a tools/qt-faststart $out/bin/ + '' + optionalString stdenv.isDarwin '' + FILES=($(ls $out/bin/*)) + FILES+=($(ls $out/lib/*.dylib)) + for f in ''${FILES[@]}; do + if [ ! -h "$f" ]; then + install_name_tool -change ${CF}/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation "$f" + fi + done + ''; + enableParallelBuilding = true; diff --git a/pkgs/development/libraries/fmod/4.24.16.nix b/pkgs/development/libraries/fmod/4.24.16.nix index b78b1a46e25..191db2f6f6d 100644 --- a/pkgs/development/libraries/fmod/4.24.16.nix +++ b/pkgs/development/libraries/fmod/4.24.16.nix @@ -5,7 +5,7 @@ let bits = stdenv.lib.optionalString (stdenv.system == "x86_64-linux") "64"; libPath = stdenv.lib.makeLibraryPath - [ stdenv.cc.libc stdenv.cc.cc ] + ":${stdenv.cc.cc}/lib64"; + [ stdenv.cc.libc stdenv.cc.cc ] + ":${stdenv.cc.cc.lib}/lib64"; patchLib = x: "patchelf --set-rpath ${libPath} ${x}"; src = diff --git a/pkgs/development/libraries/fmod/default.nix b/pkgs/development/libraries/fmod/default.nix index f014c4cecb6..621d6dc405f 100644 --- a/pkgs/development/libraries/fmod/default.nix +++ b/pkgs/development/libraries/fmod/default.nix @@ -5,7 +5,7 @@ let bits = stdenv.lib.optionalString (stdenv.system == "x86_64-linux") "64"; libPath = stdenv.lib.makeLibraryPath - [ stdenv.cc.libc stdenv.cc.cc ] + ":${stdenv.cc.cc}/lib64"; + [ stdenv.cc.libc stdenv.cc.cc ] + ":${stdenv.cc.cc.lib}/lib64"; patchLib = x: "patchelf --set-rpath ${libPath} ${x}"; in stdenv.mkDerivation rec { diff --git a/pkgs/development/libraries/folly/default.nix b/pkgs/development/libraries/folly/default.nix index 046b7f97ba4..72867e012a9 100644 --- a/pkgs/development/libraries/folly/default.nix +++ b/pkgs/development/libraries/folly/default.nix @@ -2,24 +2,16 @@ , google-gflags, python, libiberty, openssl }: stdenv.mkDerivation rec { - version = "0.57.0"; name = "folly-${version}"; + version = "2016-04-29"; src = fetchFromGitHub { owner = "facebook"; repo = "folly"; - rev = "v${version}"; - sha256 = "12b9bkwmndfwmsknc209kpplxn9wqmwr3p2h0l2szrppq4qqyfq9"; + rev = "b31eb722e444ab0293a73fe9de3f94e657ca6de9"; + sha256 = "0s95y0wnz4xbrkzbiksnb0n0d0qrkcsbssznng57kwlq8jlfka24"; }; - patches = [ - # Fix compatibility with Boost 1.59 - (fetchpatch { - url = "https://github.com/facebook/folly/commit/29193aca605bb93d82a3c92acd95bb342115f3a4.patch"; - sha256 = "1ixpgq1wjr3i7madx4faw72n17ilc9cr435k5w1x95jr954m9j7b"; - }) - ]; - nativeBuildInputs = [ autoreconfHook python ]; buildInputs = [ libiberty boost libevent double_conversion glog google-gflags openssl ]; diff --git a/pkgs/development/libraries/gdk-pixbuf/default.nix b/pkgs/development/libraries/gdk-pixbuf/default.nix index 756ebf81619..1487d92dada 100644 --- a/pkgs/development/libraries/gdk-pixbuf/default.nix +++ b/pkgs/development/libraries/gdk-pixbuf/default.nix @@ -2,15 +2,15 @@ , jasper, libintlOrEmpty, gobjectIntrospection, doCheck ? false }: let - ver_maj = "2.32"; - ver_min = "3"; + ver_maj = "2.34"; + ver_min = "0"; in stdenv.mkDerivation rec { name = "gdk-pixbuf-${ver_maj}.${ver_min}"; src = fetchurl { url = "mirror://gnome/sources/gdk-pixbuf/${ver_maj}/${name}.tar.xz"; - sha256 = "0cfh87aqyqbfcwpbv1ihgmgfcn66il5q2n8yjyl8gxkjmkqp2rrb"; + sha256 = "0yc8indbl3hf18z6x6kjg59xp9sngm1d8vmz4c7bs6g27qw5npnm"; }; outputs = [ "dev" "out" "docdev" ]; diff --git a/pkgs/development/libraries/gegl/3.0.nix b/pkgs/development/libraries/gegl/3.0.nix index 575e2d562aa..1ca0a2b5925 100644 --- a/pkgs/development/libraries/gegl/3.0.nix +++ b/pkgs/development/libraries/gegl/3.0.nix @@ -1,13 +1,12 @@ -{ stdenv, fetchgit, pkgconfig, glib, babl, libpng, cairo, libjpeg, which +{ stdenv, fetchurl, pkgconfig, glib, babl, libpng, cairo, libjpeg, which , librsvg, pango, gtk, bzip2, intltool, libtool, automake, autoconf, json_glib }: stdenv.mkDerivation rec { - name = "gegl-0.3.0-20140619"; + name = "gegl-0.3.6"; - src = fetchgit { - url = "https://git.gnome.org/browse/gegl"; - sha256 = "1rjmv2y7z34zrnlqczmmh0bm724iszzdf6jpibszxnp3w0npwjrb"; - rev = "0014eb1bad50244314ed09592fe57efa9322678c"; + src = fetchurl { + url = "http://download.gimp.org/pub/gegl/0.3/${name}.tar.bz2"; + sha256 = "08m7dlf2kwmp7jw3qskwxas192swhn1g4jcd8aldg9drfjygprvh"; }; configureScript = "./autogen.sh"; diff --git a/pkgs/development/libraries/glib/default.nix b/pkgs/development/libraries/glib/default.nix index 120d398bd44..b3b9dfcef16 100644 --- a/pkgs/development/libraries/glib/default.nix +++ b/pkgs/development/libraries/glib/default.nix @@ -39,8 +39,8 @@ let ln -sr -t "''${!outputInclude}/include/" "''${!outputInclude}"/lib/*/include/* 2>/dev/null || true ''; - ver_maj = "2.46"; - ver_min = "2"; + ver_maj = "2.48"; + ver_min = "0"; in stdenv.mkDerivation rec { @@ -48,7 +48,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "mirror://gnome/sources/glib/${ver_maj}/${name}.tar.xz"; - sha256 = "5031722e37036719c1a09163cc6cf7c326e4c4f1f1e074b433c156862bd733db"; + sha256 = "0d3w2hblrw7vvpx60l1kbvb830ygn3v8zhwdz65cc5593j9ycjvl"; }; patches = optional stdenv.isDarwin ./darwin-compilation.patch ++ optional doCheck ./skip-timer-test.patch; diff --git a/pkgs/development/libraries/gnutls/3.4.nix b/pkgs/development/libraries/gnutls/3.4.nix index 6d196978cdf..71c3010467c 100644 --- a/pkgs/development/libraries/gnutls/3.4.nix +++ b/pkgs/development/libraries/gnutls/3.4.nix @@ -1,11 +1,11 @@ { callPackage, fetchurl, autoreconfHook, ... } @ args: callPackage ./generic.nix (args // rec { - version = "3.4.6"; + version = "3.4.11"; src = fetchurl { url = "ftp://ftp.gnutls.org/gcrypt/gnutls/v3.4/gnutls-${version}.tar.xz"; - sha256 = "1v109px1sy1s731fnawzdsvggdswmr7ha9q5lid4v8pzgznmkdgy"; + sha256 = "1f4sbb38xab46h67a3pm6kybgrahjx3vbrn66qq3cbc2jngrrvvh"; }; # This fixes some broken parallel dependencies diff --git a/pkgs/development/libraries/gobject-introspection/darwin-fixups.patch b/pkgs/development/libraries/gobject-introspection/darwin-fixups.patch deleted file mode 100644 index 02443d56afa..00000000000 --- a/pkgs/development/libraries/gobject-introspection/darwin-fixups.patch +++ /dev/null @@ -1,26 +0,0 @@ -diff -ur gobject-introspection-1.46.0-orig/giscanner/ccompiler.py gobject-introspection-1.46.0/giscanner/ccompiler.py ---- gobject-introspection-1.46.0-orig/giscanner/ccompiler.py 2016-02-01 12:25:41.000000000 -0500 -+++ gobject-introspection-1.46.0/giscanner/ccompiler.py 2016-02-01 15:50:36.000000000 -0500 -@@ -128,11 +128,7 @@ - self.compiler.add_runtime_library_dir('.') - - # https://bugzilla.gnome.org/show_bug.cgi?id=625195 -- args.append('-Wl,-rpath=.') -- -- # Ensure libraries are always linked as we are going to use ldd to work -- # out their names later -- args.append('-Wl,--no-as-needed') -+ args.append('-Wl,-rpath,.') - - for library in libraries: - self.compiler.add_library(library) -@@ -140,7 +136,7 @@ - for library_path in libpaths: - args.append('-L' + library_path) - if os.path.isabs(library_path): -- args.append('-Wl,-rpath=' + library_path) -+ args.append('-Wl,-rpath,' + library_path) - - else: - # libtool case: assemble linker command arguments, like we did before -Only in gobject-introspection-1.46.0/giscanner: ccompiler.py~ diff --git a/pkgs/development/libraries/gobject-introspection/default.nix b/pkgs/development/libraries/gobject-introspection/default.nix index 47ccb17e484..0b48ef076b1 100644 --- a/pkgs/development/libraries/gobject-introspection/default.nix +++ b/pkgs/development/libraries/gobject-introspection/default.nix @@ -7,7 +7,7 @@ # In that case its about 6MB which could be separated let - ver_maj = "1.46"; + ver_maj = "1.48"; ver_min = "0"; in with stdenv.lib; @@ -16,7 +16,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "mirror://gnome/sources/gobject-introspection/${ver_maj}/${name}.tar.xz"; - sha256 = "6658bd3c2b8813eb3e2511ee153238d09ace9d309e4574af27443d87423e4233"; + sha256 = "0xsqwxhfqzr79av89mg766kxpb2i41bd0vwspk01xjdzrnn5l9zs"; }; outputs = [ "dev" "out" ]; @@ -40,9 +40,6 @@ stdenv.mkDerivation rec { patches = stdenv.lib.singleton (substituteAll { src = ./absolute_shlib_path.patch; inherit nixStoreDir; - }) ++ optional stdenv.isDarwin (substituteAll { - src = ./darwin-fixups.patch; - inherit nixStoreDir; }); meta = with stdenv.lib; { diff --git a/pkgs/development/libraries/gstreamer/bad/default.nix b/pkgs/development/libraries/gstreamer/bad/default.nix index 4603b3e29db..add3026275f 100644 --- a/pkgs/development/libraries/gstreamer/bad/default.nix +++ b/pkgs/development/libraries/gstreamer/bad/default.nix @@ -4,7 +4,7 @@ , libmodplug, mpeg2dec, mpg123 , openjpeg, libopus, librsvg , wildmidi, fluidsynth, libvdpau, wayland -, libwebp, xvidcore, gnutls +, libwebp, xvidcore, gnutls, mjpegtools , mesa, libintlOrEmpty }: @@ -14,7 +14,7 @@ let inherit (stdenv.lib) optional optionalString; in stdenv.mkDerivation rec { - name = "gst-plugins-bad-1.6.1"; + name = "gst-plugins-bad-1.8.0"; meta = with stdenv.lib; { description = "Gstreamer Bad Plugins"; @@ -31,7 +31,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "${meta.homepage}/src/gst-plugins-bad/${name}.tar.xz"; - sha256 = "0rjla9zcal9b5ynagq7cscjs53qrd9bafjkjssrp8s2z2apsjxp1"; + sha256 = "03m99igngm37653353n5d724bcqw7p6hw6xjw0i2824523fpcqqi"; }; nativeBuildInputs = [ pkgconfig python ]; @@ -43,6 +43,7 @@ stdenv.mkDerivation rec { openjpeg libopus librsvg fluidsynth libvdpau libwebp xvidcore gnutls mesa + mjpegtools ] ++ libintlOrEmpty ++ optional faacSupport faac diff --git a/pkgs/development/libraries/gstreamer/base/default.nix b/pkgs/development/libraries/gstreamer/base/default.nix index 4f592dbe31e..b2fff30197c 100644 --- a/pkgs/development/libraries/gstreamer/base/default.nix +++ b/pkgs/development/libraries/gstreamer/base/default.nix @@ -4,7 +4,7 @@ }: stdenv.mkDerivation rec { - name = "gst-plugins-base-1.6.1"; + name = "gst-plugins-base-1.8.0"; meta = { description = "Base plugins and helper libraries"; @@ -15,7 +15,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "${meta.homepage}/src/gst-plugins-base/${name}.tar.xz"; - sha256 = "18sbyjcp281zb3bsqji3pglsdsxi0s6ai7rx90sx8cpflkxdqcwm"; + sha256 = "08hmg7fp519wim1fm04r7f2q2020ssdninawqsbrqjsvs70srh5b"; }; nativeBuildInputs = [ diff --git a/pkgs/development/libraries/gstreamer/core/default.nix b/pkgs/development/libraries/gstreamer/core/default.nix index 754b2bb64b8..40caf4093f0 100644 --- a/pkgs/development/libraries/gstreamer/core/default.nix +++ b/pkgs/development/libraries/gstreamer/core/default.nix @@ -3,7 +3,7 @@ }: stdenv.mkDerivation rec { - name = "gstreamer-1.6.1"; + name = "gstreamer-1.8.0"; meta = { description = "Open source multimedia framework"; @@ -14,7 +14,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "${meta.homepage}/src/gstreamer/${name}.tar.xz"; - sha256 = "172w1bpnkn6mm1wi37n03apdbb6cdkykhzjf1vfxchcd7hhkyflp"; + sha256 = "1p5y9bbrhywng0prmpxv29p6jsz6vd039d49bnc98p9b45532yll"; }; nativeBuildInputs = [ diff --git a/pkgs/development/libraries/gstreamer/ges/default.nix b/pkgs/development/libraries/gstreamer/ges/default.nix index 1e0ee39667e..e47ecfa01aa 100644 --- a/pkgs/development/libraries/gstreamer/ges/default.nix +++ b/pkgs/development/libraries/gstreamer/ges/default.nix @@ -3,7 +3,7 @@ }: stdenv.mkDerivation rec { - name = "gstreamer-editing-services-1.6.1"; + name = "gstreamer-editing-services-1.8.0"; meta = with stdenv.lib; { description = "Library for creation of audio/video non-linear editors"; @@ -14,7 +14,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "${meta.homepage}/src/gstreamer-editing-services/${name}.tar.xz"; - sha256 = "1lkvkrsipn35341hwwkhwn44n90y49sjwra1r5pazbjgn1yykxzm"; + sha256 = "1gisdfa91kq89bsmbvb47alaxh8lpqmr6f3dzlwmf389nkandw2h"; }; nativeBuildInputs = [ pkgconfig python gobjectIntrospection flex perl ]; diff --git a/pkgs/development/libraries/gstreamer/good/default.nix b/pkgs/development/libraries/gstreamer/good/default.nix index 75f0760747b..54175fb83fb 100644 --- a/pkgs/development/libraries/gstreamer/good/default.nix +++ b/pkgs/development/libraries/gstreamer/good/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl, pkgconfig, python , gst-plugins-base, orc, bzip2 , libv4l, libdv, libavc1394, libiec61883 -, libvpx, speex, flac, taglib +, libvpx, speex, flac, taglib, libshout , cairo, gdk_pixbuf, aalib, libcaca , libsoup, libpulseaudio, libintlOrEmpty }: @@ -10,7 +10,7 @@ let inherit (stdenv.lib) optionals optionalString; in stdenv.mkDerivation rec { - name = "gst-plugins-good-1.6.1"; + name = "gst-plugins-good-1.8.0"; meta = with stdenv.lib; { description = "Gstreamer Good Plugins"; @@ -26,7 +26,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "${meta.homepage}/src/gst-plugins-good/${name}.tar.xz"; - sha256 = "0darc3058kbnql3mnlpizl0sq0hhli7vkm0rpqb7nywz14abim46"; + sha256 = "0kczdvqxvl8kxiy2d7czv16jp73hv9k3nykh47ckihnv8x6i6362"; }; nativeBuildInputs = [ pkgconfig python ]; @@ -35,7 +35,7 @@ stdenv.mkDerivation rec { gst-plugins-base orc bzip2 libdv libvpx speex flac taglib cairo gdk_pixbuf aalib libcaca - libsoup + libsoup libshout ] ++ libintlOrEmpty ++ optionals stdenv.isLinux [ libv4l libpulseaudio libavc1394 libiec61883 ]; diff --git a/pkgs/development/libraries/gstreamer/libav/default.nix b/pkgs/development/libraries/gstreamer/libav/default.nix index 6d0c28d0e28..e4daa642ba0 100644 --- a/pkgs/development/libraries/gstreamer/libav/default.nix +++ b/pkgs/development/libraries/gstreamer/libav/default.nix @@ -9,7 +9,7 @@ assert withSystemLibav -> libav != null; stdenv.mkDerivation rec { - name = "gst-libav-1.6.1"; + name = "gst-libav-1.8.0"; meta = { homepage = "http://gstreamer.freedesktop.org"; @@ -19,7 +19,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "${meta.homepage}/src/gst-libav/${name}.tar.xz"; - sha256 = "1a9pc7zp5rg0cvpx8gqkr21w73i6p9xa505a34day9f8p3lfim94"; + sha256 = "0719njp8aarhvn038pijq6dmsnli0zlg146hyfs3rsdffs4f472s"; }; configureFlags = stdenv.lib.optionalString withSystemLibav diff --git a/pkgs/development/libraries/gstreamer/python/default.nix b/pkgs/development/libraries/gstreamer/python/default.nix index c1b94a647b8..5320fdfaced 100644 --- a/pkgs/development/libraries/gstreamer/python/default.nix +++ b/pkgs/development/libraries/gstreamer/python/default.nix @@ -4,14 +4,14 @@ }: stdenv.mkDerivation rec { - name = "gst-python-1.4.0"; + name = "gst-python-1.8.0"; src = fetchurl { urls = [ "${meta.homepage}/src/gst-python/${name}.tar.xz" "mirror://gentoo/distfiles/${name}.tar.xz" ]; - sha256 = "0gixsp46mv7fvhk669q60wfk9w2lc02sdb1qipq066xlrqlhrr5i"; + sha256 = "1spn49x7yaj69df6mxh9wwcs0y3abswkfpk84njs71lzqlbzyiff"; }; patches = [ ./different-path-with-pygobject.patch ]; diff --git a/pkgs/development/libraries/gstreamer/ugly/default.nix b/pkgs/development/libraries/gstreamer/ugly/default.nix index 540b3ba0be8..8f8437ad4ac 100644 --- a/pkgs/development/libraries/gstreamer/ugly/default.nix +++ b/pkgs/development/libraries/gstreamer/ugly/default.nix @@ -5,7 +5,7 @@ }: stdenv.mkDerivation rec { - name = "gst-plugins-ugly-1.6.1"; + name = "gst-plugins-ugly-1.8.0"; meta = with stdenv.lib; { description = "Gstreamer Ugly Plugins"; @@ -22,7 +22,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "${meta.homepage}/src/gst-plugins-ugly/${name}.tar.xz"; - sha256 = "0mvasl1pwq70w2kmrkcrg77kggl5q7jqybi7fkvy3vr28c7gkhqc"; + sha256 = "137b6kqykh5nwbmiv28nn1pc1d2x2rb2xxg382pc9pa9gpxpyrak"; }; nativeBuildInputs = [ pkgconfig python ]; diff --git a/pkgs/development/libraries/gstreamer/vaapi/default.nix b/pkgs/development/libraries/gstreamer/vaapi/default.nix index bf061b4125b..a9aa3d73fa2 100644 --- a/pkgs/development/libraries/gstreamer/vaapi/default.nix +++ b/pkgs/development/libraries/gstreamer/vaapi/default.nix @@ -5,11 +5,11 @@ stdenv.mkDerivation rec { name = "gst-vaapi-${version}"; - version = "0.6.1"; + version = "0.7.0"; src = fetchurl { url = "${meta.homepage}/software/vaapi/releases/gstreamer-vaapi/gstreamer-vaapi-${version}.tar.bz2"; - sha256 = "1cv7zlz5wj6b3acv0pr5cq5wqzd5vcs1lrrlvyl9wrzcnzz8mz1n"; + sha256 = "14jal2g5mf8r59w8420ixl3kg50vcmy56446ncwd0xrizd6yms5b"; }; nativeBuildInputs = with stdenv.lib; [ pkgconfig bzip2 ]; diff --git a/pkgs/development/libraries/gstreamer/validate/default.nix b/pkgs/development/libraries/gstreamer/validate/default.nix index 0b0ba11a793..1c123621664 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.6.0"; + name = "gst-validate-1.8.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 = "1vmg5mh068zrvhgrjsbnb7y4k632akyhm8ql0g196cinnp3zibiv"; + sha256 = "1pcy9pfffyk6xiw6aq38kbv7k24x2rljdy8fabjfy1abpmvvfrkn"; }; nativeBuildInputs = [ diff --git a/pkgs/development/libraries/gtk+/3.x.nix b/pkgs/development/libraries/gtk+/3.x.nix index a2da4c7b033..dcbf0b4a47c 100644 --- a/pkgs/development/libraries/gtk+/3.x.nix +++ b/pkgs/development/libraries/gtk+/3.x.nix @@ -11,8 +11,8 @@ assert cupsSupport -> cups != null; with stdenv.lib; let - ver_maj = "3.18"; - ver_min = "5"; + ver_maj = "3.20"; + ver_min = "3"; version = "${ver_maj}.${ver_min}"; in stdenv.mkDerivation rec { @@ -20,7 +20,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "mirror://gnome/sources/gtk+/${ver_maj}/gtk+-${version}.tar.xz"; - sha256 = "107aeb9a4244ce3c044becdd6dffc32d83202595181597180d4c736302a71852"; + sha256 = "3834f3bf23b260b3e5ebfea41102e2026a8af29e36c3620edf4a5cf05e82f694"; }; outputs = [ "dev" "out" ]; diff --git a/pkgs/development/libraries/herqq/default.nix b/pkgs/development/libraries/herqq/default.nix index fee12592c63..39d5b2c792a 100644 --- a/pkgs/development/libraries/herqq/default.nix +++ b/pkgs/development/libraries/herqq/default.nix @@ -1,11 +1,9 @@ -{ stdenv, fetchurl, qt4, unzip }: +{ stdenv, fetchurl, qt4, qmake4Hook, unzip }: stdenv.mkDerivation rec { name = "herqq-1.0.0"; - buildInputs = [ qt4 unzip ]; - - configurePhase = "qmake PREFIX=$out herqq.pro"; + buildInputs = [ qt4 unzip qmake4Hook ]; src = fetchurl { url = "mirror://sourceforge/hupnp/${name}.zip"; diff --git a/pkgs/development/libraries/ijs/default.nix b/pkgs/development/libraries/ijs/default.nix index 0c7d412fee6..a08a653dc71 100644 --- a/pkgs/development/libraries/ijs/default.nix +++ b/pkgs/development/libraries/ijs/default.nix @@ -1,14 +1,9 @@ -{ stdenv, fetchurl, fetchpatch, autoreconfHook }: +{ stdenv, fetchurl, fetchpatch, autoreconfHook, ghostscript }: -let version = "9.18"; -in stdenv.mkDerivation { - name = "ijs-${version}"; + name = "ijs-${ghostscript.version}"; - src = fetchurl { - url = "http://downloads.ghostscript.com/public/ghostscript-${version}.tar.bz2"; - sha256 = "18ad90za28dxybajqwf3y3dld87cgkx1ljllmcnc7ysspfxzbnl3"; - }; + inherit (ghostscript) src; patches = [ # http://bugs.ghostscript.com/show_bug.cgi?id=696246 @@ -28,7 +23,7 @@ stdenv.mkDerivation { configureFlags = [ "--disable-static" "--enable-shared" ]; meta = with stdenv.lib; { - homepage = https://www.openprinting.org/download/ijs/; + homepage = "https://www.openprinting.org/download/ijs/"; description = "Raster printer driver architecture"; license = licenses.gpl3Plus; diff --git a/pkgs/development/libraries/json-glib/default.nix b/pkgs/development/libraries/json-glib/default.nix index e49063a9de9..5cfafc8e69a 100644 --- a/pkgs/development/libraries/json-glib/default.nix +++ b/pkgs/development/libraries/json-glib/default.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, glib, pkgconfig, gobjectIntrospection, dbus }: stdenv.mkDerivation rec { - name = "json-glib-${minVer}.2"; - minVer = "1.0"; + name = "json-glib-${minVer}.0"; + minVer = "1.2"; src = fetchurl { url = "mirror://gnome/sources/json-glib/${minVer}/${name}.tar.xz"; - sha256 = "887bd192da8f5edc53b490ec51bf3ffebd958a671f5963e4f3af32c22e35660a"; + sha256 = "1lx7p1c7cl21byvfgw92n8dhm09vi6qxrs0zkx9dg3y096zdzmlr"; }; configureflags= "--with-introspection"; diff --git a/pkgs/development/libraries/kerberos/krb5.nix b/pkgs/development/libraries/kerberos/krb5.nix index 5b2b0954203..332ca526b6b 100644 --- a/pkgs/development/libraries/kerberos/krb5.nix +++ b/pkgs/development/libraries/kerberos/krb5.nix @@ -11,11 +11,11 @@ in with stdenv.lib; stdenv.mkDerivation rec { name = "${type}krb5-${version}"; - version = "1.14"; + version = "1.14.2"; src = fetchurl { url = "${meta.homepage}dist/krb5/1.14/krb5-${version}.tar.gz"; - sha256 = "1sgr61cnkgc5xazijaww6wpn5fnxl9vyj9ixk3r3y7ikv3x0gnyf"; + sha256 = "09wbv969ak4fqlqr1ip5bi62fny1zlp1vwjarvj6a6cdfzkdgjkb"; }; configureFlags = optional stdenv.isFreeBSD ''WARN_CFLAGS=""''; diff --git a/pkgs/development/libraries/libburn/default.nix b/pkgs/development/libraries/libburn/default.nix new file mode 100644 index 00000000000..22edcc15769 --- /dev/null +++ b/pkgs/development/libraries/libburn/default.nix @@ -0,0 +1,18 @@ +{ stdenv, fetchurl }: + +stdenv.mkDerivation rec { + name = "libburn-${version}"; + version = "1.4.2.pl01"; + + src = fetchurl { + url = "http://files.libburnia-project.org/releases/${name}.tar.gz"; + sha256 = "1nqfm24dm2csdnhsmpgw9cwcnkwvqlvfzsm9bhr6yg7bbmzwvkrk"; + }; + + meta = with stdenv.lib; { + homepage = http://libburnia-project.org/; + description = "A library by which preformatted data get onto optical media: CD, DVD, BD (Blu-Ray)"; + license = licenses.gpl2Plus; + maintainers = with maintainers; [ abbradar ]; + }; +} diff --git a/pkgs/development/libraries/libcommuni/default.nix b/pkgs/development/libraries/libcommuni/default.nix index 008311c620c..7b83be7e911 100644 --- a/pkgs/development/libraries/libcommuni/default.nix +++ b/pkgs/development/libraries/libcommuni/default.nix @@ -1,4 +1,4 @@ -{ fetchgit, qt5, stdenv +{ fetchgit, qtbase, qmakeHook, stdenv }: stdenv.mkDerivation rec { @@ -11,16 +11,16 @@ stdenv.mkDerivation rec { sha256 = "15sb7vinaaz1v5nclxpnp5p9a0kmfmlgiqibkipnyydizclidpfx"; }; - buildInputs = [ qt5.qtbase ]; + buildInputs = [ qtbase ]; + nativeBuildInputs = [ qmakeHook ]; enableParallelBuild = true; - postPatch = '' - sed -i -e 's|/bin/pwd|pwd|g' -e 's/which/type -P/' configure + configurePhase = '' + sed -i -e 's|/bin/pwd|pwd|g' configure + ./configure -config release -prefix $out -qmake $QMAKE ''; - configureFlags = [ "-config release" ]; - meta = with stdenv.lib; { description = "A cross-platform IRC framework written with Qt"; homepage = https://communi.github.io; diff --git a/pkgs/development/libraries/libdigidoc/default.nix b/pkgs/development/libraries/libdigidoc/default.nix new file mode 100644 index 00000000000..e060f8c1d76 --- /dev/null +++ b/pkgs/development/libraries/libdigidoc/default.nix @@ -0,0 +1,28 @@ +{ stdenv, fetchurl, cmake, openssl, pcsclite, opensc, libxml2 }: + +stdenv.mkDerivation rec { + + version = "3.10.1.1212"; + name = "libdigidoc-${version}"; + + src = fetchurl { + url = "https://installer.id.ee/media/ubuntu/pool/main/libd/libdigidoc/libdigidoc_3.10.1.1212.orig.tar.xz"; + sha256 = "ad5e0603aea2e02977f17318cc93a53c3a19a815e57b2347d97136d11c110807"; + }; + + unpackPhase = '' + mkdir src + tar xf $src -C src + cd src + ''; + + buildInputs = [ cmake openssl pcsclite opensc libxml2 ]; + + meta = with stdenv.lib; { + description = "Library for creating DigiDoc signature files"; + homepage = "http://www.id.ee/"; + license = licenses.lgpl2; + platforms = platforms.linux; + maintainers = [ maintainers.jagajaga ]; + }; +} diff --git a/pkgs/development/libraries/libdigidocpp/default.nix b/pkgs/development/libraries/libdigidocpp/default.nix new file mode 100644 index 00000000000..5ddc6303126 --- /dev/null +++ b/pkgs/development/libraries/libdigidocpp/default.nix @@ -0,0 +1,31 @@ +{ stdenv, fetchurl, cmake, libdigidoc, minizip, pcsclite, opensc, openssl +, xercesc, xml-security-c, pkgconfig, xsd, zlib, vim }: + +stdenv.mkDerivation rec { + + version = "3.12.0.1317"; + name = "libdigidocpp-${version}"; + + src = fetchurl { + url = "https://installer.id.ee/media/ubuntu/pool/main/libd/libdigidocpp/libdigidocpp_3.12.0.1317.orig.tar.xz"; + sha256 = "8059e1dbab99f062d070b9da0b1334b7226f1ab9badcd7fddea3100519d1f9a9"; + }; + + unpackPhase = '' + mkdir src + tar xf $src -C src + cd src + ''; + + buildInputs = [ cmake libdigidoc minizip pcsclite opensc openssl xercesc + xml-security-c pkgconfig xsd zlib vim + ]; + + meta = with stdenv.lib; { + description = "Library for creating DigiDoc signature files"; + homepage = "http://www.id.ee/"; + license = licenses.lgpl2; + platforms = platforms.linux; + maintainers = [ maintainers.jagajaga ]; + }; +} diff --git a/pkgs/development/libraries/libdvdcss/default.nix b/pkgs/development/libraries/libdvdcss/default.nix index c5cdec0ae5f..ae3ae407a92 100644 --- a/pkgs/development/libraries/libdvdcss/default.nix +++ b/pkgs/development/libraries/libdvdcss/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "libdvdcss-${version}"; - version = "1.3.0"; + version = "1.4.0"; src = fetchurl { url = "http://get.videolan.org/libdvdcss/${version}/${name}.tar.bz2"; - sha256 = "158k9zagmbk5bkbz96l6lwhh7xcgfcnzflkr4vblskhcab6llhbw"; + sha256 = "0nl45ifc4xcb196snv9d6hinfw614cqpzcqp92dg43c0hickg290"; }; meta = with stdenv.lib; { diff --git a/pkgs/development/libraries/libeatmydata/default.nix b/pkgs/development/libraries/libeatmydata/default.nix index 2fdd1658f19..ac75e6c8baa 100644 --- a/pkgs/development/libraries/libeatmydata/default.nix +++ b/pkgs/development/libraries/libeatmydata/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, makeWrapper }: stdenv.mkDerivation rec { - name = "libeatmydata-82"; + name = "libeatmydata-105"; src = fetchurl { url = "http://www.flamingspork.com/projects/libeatmydata/${name}.tar.gz"; - sha256 = "0aavq71bf0yxdgyf8gvyzq086shszzwpbsz5rqkjg4cz0rc5yrqb"; + sha256 = "1pd8sc73cgc41ldsvq6g8ics1m5k8gdcb91as9yg8z5jnrld1lmx"; }; buildInputs = [ makeWrapper ]; diff --git a/pkgs/development/libraries/libfilezilla/default.nix b/pkgs/development/libraries/libfilezilla/default.nix index d8e1c29875c..4381f9e6c73 100644 --- a/pkgs/development/libraries/libfilezilla/default.nix +++ b/pkgs/development/libraries/libfilezilla/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "libfilezilla-${version}"; - version = "0.4.0.1"; + version = "0.5.0"; src = fetchurl { url = "mirror://sourceforge/project/filezilla/libfilezilla/${version}/${name}.tar.bz2"; - sha256 = "1ldiyhjv4jg2jyj3d56mlgyj9lx0qkf1857wvsy51lp9aj96h0v0"; + sha256 = "07f5hk5izqgqjadrwy608gi0w3scm3zvpsv63j7bgfqk67qilslc"; }; meta = with stdenv.lib; { diff --git a/pkgs/development/libraries/libiberty/default.nix b/pkgs/development/libraries/libiberty/default.nix index c3dc3a4e852..1f5ab2cf096 100644 --- a/pkgs/development/libraries/libiberty/default.nix +++ b/pkgs/development/libraries/libiberty/default.nix @@ -1,26 +1,16 @@ -{ stdenv, fetchurl, staticBuild ? false }: +{ stdenv, lib, fetchurl, gcc, staticBuild ? false }: stdenv.mkDerivation rec { - version = "4.9.3"; - name = "libiberty-${version}"; + name = "libiberty-${gcc.cc.version}"; - src = fetchurl { - url = "mirror://gnu/gcc/gcc-${version}/gcc-${version}.tar.bz2"; - sha256 = "0zmnm00d2a1hsd41g34bhvxzvxisa2l584q3p447bd91lfjv4ci3"; - }; + inherit (gcc.cc) src; postUnpack = "sourceRoot=\${sourceRoot}/libiberty"; - enable_shared = !staticBuild; + configureFlags = [ "--enable-install-libiberty" ] ++ lib.optional (!staticBuild) "--enable-shared"; - installPhase = '' - mkdir -p $out/lib $out/include - cp ../include/libiberty.h $out/include/ - if [ -z "$enabled_shared" ]; then - cp libiberty.a $out/lib/libiberty.a - else - cp pic/libiberty.a $out/lib/libiberty_pic.a - fi + postInstall = lib.optionalString (!staticBuild) '' + cp pic/libiberty.a $out/lib*/libiberty.a ''; meta = with stdenv.lib; { diff --git a/pkgs/development/libraries/libibverbs/default.nix b/pkgs/development/libraries/libibverbs/default.nix index 5ce1e5cbdf6..8e37648adfc 100644 --- a/pkgs/development/libraries/libibverbs/default.nix +++ b/pkgs/development/libraries/libibverbs/default.nix @@ -1,17 +1,65 @@ { stdenv, fetchurl }: -stdenv.mkDerivation rec { - name = "libibverbs-1.1.8"; +let - src = fetchurl { - url = "https://www.openfabrics.org/downloads/verbs/${name}.tar.gz"; - sha256 = "13w2j5lrrqxxxvhpxbqb70x7wy0h8g329inzgfrvqv8ykrknwxkw"; + verbs = rec { + version = "1.1.8"; + name = "libibverbs-${version}"; + url = "http://downloads.openfabrics.org/verbs/${name}.tar.gz"; + sha256 = "13w2j5lrrqxxxvhpxbqb70x7wy0h8g329inzgfrvqv8ykrknwxkw"; }; + drivers = { + libmlx4 = rec { + version = "1.0.6"; + name = "libmlx4-${version}"; + url = "http://downloads.openfabrics.org/mlx4/${name}.tar.gz"; + sha256 = "f680ecbb60b01ad893490c158b4ce8028a3014bb8194c2754df508d53aa848a8"; + }; + libmthca = rec { + version = "1.0.6"; + name = "libmthca-${version}"; + url = "http://downloads.openfabrics.org/mthca/${name}.tar.gz"; + sha256 = "cc8ea3091135d68233d53004e82b5b510009c821820494a3624e89e0bdfc855c"; + }; + }; + +in stdenv.mkDerivation rec { + + inherit (verbs) name version ; + + srcs = [ + ( fetchurl { inherit (verbs) url sha256 ; } ) + ( fetchurl { inherit (drivers.libmlx4) url sha256 ; } ) + ( fetchurl { inherit (drivers.libmthca) url sha256 ; } ) + ]; + + sourceRoot = name; + + # Install userspace drivers + postInstall = '' + for dir in ${drivers.libmlx4.name} ${drivers.libmthca.name} ; do + cd ../$dir + export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I$out/include" + export NIX_LDFLAGS="-rpath $out/lib $NIX_LDFLAGS -L$out/lib" + ./configure $configureFlags + make -j$NIX_BUILD_CORES + make install + done + ''; + + # Re-add the libibverbs path into runpath of the library + # to enable plugins to be found by dlopen + postFixup = '' + RPATH=$(patchelf --print-rpath $out/lib/libibverbs.so) + patchelf --set-rpath $RPATH:$out/lib $out/lib/libibverbs.so.1.0.0 + ''; + meta = with stdenv.lib; { homepage = https://www.openfabrics.org/; license = licenses.bsd2; platforms = with platforms; linux ++ freebsd; - maintainers = with maintainers; [ wkennington ]; + maintainers = with maintainers; [ wkennington bzizou ]; }; } + diff --git a/pkgs/development/libraries/libinput/default.nix b/pkgs/development/libraries/libinput/default.nix index 18dbd2de38b..2c29482227a 100644 --- a/pkgs/development/libraries/libinput/default.nix +++ b/pkgs/development/libraries/libinput/default.nix @@ -15,11 +15,11 @@ in with stdenv.lib; stdenv.mkDerivation rec { - name = "libinput-1.2.2"; + name = "libinput-1.2.3"; src = fetchurl { url = "http://www.freedesktop.org/software/libinput/${name}.tar.xz"; - sha256 = "0rzkp37dnn4qnkx7v3hckx5ryv3lr0vl234pnk6z2vfq40v5pb08"; + sha256 = "1wp937sn2dzqhrbl2bhapqb0pvybc80z8ynw7yfkm5ycl39skch9"; }; configureFlags = [ diff --git a/pkgs/development/libraries/libisofs/default.nix b/pkgs/development/libraries/libisofs/default.nix new file mode 100644 index 00000000000..d7e78410740 --- /dev/null +++ b/pkgs/development/libraries/libisofs/default.nix @@ -0,0 +1,21 @@ +{ stdenv, fetchurl, acl, attr, zlib }: + +stdenv.mkDerivation rec { + name = "libisofs-${version}"; + version = "1.4.2"; + + src = fetchurl { + url = "http://files.libburnia-project.org/releases/${name}.tar.gz"; + sha256 = "1axk1ykv8ibrlrd2f3allidviimi4ya6k7wpvr6r4y1sc7mg7rym"; + }; + + buildInputs = [ attr zlib ]; + propagatedBuildInputs = [ acl ]; + + meta = with stdenv.lib; { + homepage = http://libburnia-project.org/; + description = "A library to create an ISO-9660 filesystem with extensions like RockRidge or Joliet"; + license = licenses.gpl2Plus; + maintainers = with maintainers; [ abbradar ]; + }; +} diff --git a/pkgs/development/libraries/libjpeg-turbo/default.nix b/pkgs/development/libraries/libjpeg-turbo/default.nix index 79cf45a8005..da4d3a9822f 100644 --- a/pkgs/development/libraries/libjpeg-turbo/default.nix +++ b/pkgs/development/libraries/libjpeg-turbo/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, nasm, autoreconfHook }: +{ stdenv, fetchurl, nasm }: stdenv.mkDerivation rec { name = "libjpeg-turbo-1.4.2"; @@ -10,7 +10,7 @@ stdenv.mkDerivation rec { outputs = [ "dev" "out" "doc" "bin" ]; - buildInputs = [ autoreconfHook nasm ]; + nativeBuildInputs = [ nasm ]; enableParallelBuilding = true; diff --git a/pkgs/development/libraries/libkeyfinder/default.nix b/pkgs/development/libraries/libkeyfinder/default.nix index 729df918e57..d95ada04a34 100644 --- a/pkgs/development/libraries/libkeyfinder/default.nix +++ b/pkgs/development/libraries/libkeyfinder/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, fftw, qtbase }: +{ stdenv, fetchFromGitHub, fftw, qtbase, qmakeHook }: stdenv.mkDerivation rec { name = "libkeyfinder-${version}"; @@ -11,7 +11,7 @@ stdenv.mkDerivation rec { owner = "ibsh"; }; - buildInputs = [ fftw qtbase ]; + buildInputs = [ fftw qtbase qmakeHook ]; postPatch = '' substituteInPlace LibKeyFinder.pro \ @@ -19,12 +19,6 @@ stdenv.mkDerivation rec { --replace "-stdlib=libc++" "" ''; - configurePhase = '' - runHook preConfigure - qmake - runHook postConfigure - ''; - enableParallelBuilding = true; postInstall = '' diff --git a/pkgs/development/libraries/libmatchbox/default.nix b/pkgs/development/libraries/libmatchbox/default.nix index 38702817734..6cb7defb097 100644 --- a/pkgs/development/libraries/libmatchbox/default.nix +++ b/pkgs/development/libraries/libmatchbox/default.nix @@ -1,14 +1,15 @@ { stdenv, fetchurl, libX11, libXext, libpng, libXft, libICE, pango, libjpeg}: stdenv.mkDerivation rec { - name = "libmatchbox-1.9"; + name = "libmatchbox-${version}"; + version = "1.11"; buildInputs = [ libXft libICE pango libjpeg ]; propagatedBuildInputs = [ libX11 libXext libpng ]; src = fetchurl { - url = http://matchbox-project.org/sources/libmatchbox/1.9/libmatchbox-1.9.tar.bz2; - sha256 = "006zdrgs7rgh7dvakjmqsp1q9karq6c5cz4gki2l15fhx0cf40fv"; + url = "http://downloads.yoctoproject.org/releases/matchbox/libmatchbox/${version}/libmatchbox-${version}.tar.bz2"; + sha256 = "0lvv44s3bf96zvkysa4ansxj2ffgj3b5kgpliln538q4wd9ank15"; }; meta = { diff --git a/pkgs/development/libraries/libmemcached/default.nix b/pkgs/development/libraries/libmemcached/default.nix index 619aa014497..2570c645f26 100644 --- a/pkgs/development/libraries/libmemcached/default.nix +++ b/pkgs/development/libraries/libmemcached/default.nix @@ -19,7 +19,8 @@ stdenv.mkDerivation rec { sha256 = "1nvxwdkxj2a2g39z0g8byxjwnw4pa5xlvsmdk081q63vmfywh7zb"; }); - buildInputs = [ cyrus_sasl libevent ]; + buildInputs = [ libevent ]; + propagatedBuildInputs = [ cyrus_sasl ]; meta = with stdenv.lib; { homepage = http://libmemcached.org; diff --git a/pkgs/development/libraries/libqglviewer/default.nix b/pkgs/development/libraries/libqglviewer/default.nix index 6b40eeb3b1f..eef9e05ca03 100644 --- a/pkgs/development/libraries/libqglviewer/default.nix +++ b/pkgs/development/libraries/libqglviewer/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, qt4 }: +{ stdenv, fetchurl, qt4, qmake4Hook }: stdenv.mkDerivation rec { name = "libqglviewer-2.6.3"; @@ -9,13 +9,11 @@ stdenv.mkDerivation rec { sha256 = "00jdkyk4wg1356c3ar6nk3hyp494ya3yvshq9m57kfmqpn3inqdy"; }; - buildInputs = [ qt4 ]; + buildInputs = [ qt4 qmake4Hook ]; - buildPhase = + postPatch = '' cd QGLViewer - qmake PREFIX=$out - make ''; meta = with stdenv.lib; { diff --git a/pkgs/development/libraries/libraw/default.nix b/pkgs/development/libraries/libraw/default.nix index 031886d3451..ee842b0c4bd 100644 --- a/pkgs/development/libraries/libraw/default.nix +++ b/pkgs/development/libraries/libraw/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "libraw-${version}"; - version = "0.17.0"; + version = "0.17.1"; src = fetchurl { url = "http://www.libraw.org/data/LibRaw-${version}.tar.gz"; - sha256 = "043kckxjqanw8dl3m9f6kvsf0l20ywxmgxd1xb0slj6m8l4w4hz6"; + sha256 = "18fygk896gxbx47nh2rn5jp4skisgkl6pdfjqb7h0zn39hd6b6g5"; }; buildInputs = [ lcms2 jasper ]; diff --git a/pkgs/development/libraries/libsearpc/default.nix b/pkgs/development/libraries/libsearpc/default.nix index 0410f64edec..0391786c3fd 100644 --- a/pkgs/development/libraries/libsearpc/default.nix +++ b/pkgs/development/libraries/libsearpc/default.nix @@ -2,14 +2,14 @@ stdenv.mkDerivation rec { - version = "1.2.2"; - seafileVersion = "3.0-latest"; + version = "3.0.7"; + seafileVersion = "5.0.7"; name = "libsearpc-${version}"; src = fetchurl { - url = "https://github.com/haiwen/libsearpc/archive/v${seafileVersion}.tar.gz"; - sha256 = "1kdq6chn3qhvr616sw91gf9kjfgbv9snl2srqisw0zddw1qkfcan"; + url = "https://github.com/haiwen/libsearpc/archive/v${version}.tar.gz"; + sha256 = "0fdrgksdwd4qxp7qvh75y39dy52h2f5wfjbqr00h3rwkbx4npvpg"; }; patches = [ ./libsearpc.pc.patch ]; diff --git a/pkgs/development/libraries/libsigcxx/default.nix b/pkgs/development/libraries/libsigcxx/default.nix index 1171fa079cf..e062e2db5c2 100644 --- a/pkgs/development/libraries/libsigcxx/default.nix +++ b/pkgs/development/libraries/libsigcxx/default.nix @@ -1,14 +1,14 @@ { stdenv, fetchurl, fetchpatch, pkgconfig, gnum4 }: let - ver_maj = "2.6"; # odd major numbers are unstable - ver_min = "2"; + ver_maj = "2.8"; # odd major numbers are unstable + ver_min = "0"; in stdenv.mkDerivation rec { name = "libsigc++-${ver_maj}.${ver_min}"; src = fetchurl { url = "mirror://gnome/sources/libsigc++/${ver_maj}/${name}.tar.xz"; - sha256 = "fdace7134c31de792c17570f9049ca0657909b28c4c70ec4882f91a03de54437"; + sha256 = "0lcnzzdq6718znfshs1hflpwqq6awbzwdyp4kv5lfaf54z880jbp"; }; patches = [(fetchpatch { url = "https://anonscm.debian.org/cgit/collab-maint/libsigc++-2.0.git/plain" diff --git a/pkgs/development/libraries/libsolv/default.nix b/pkgs/development/libraries/libsolv/default.nix new file mode 100644 index 00000000000..cece520e3c5 --- /dev/null +++ b/pkgs/development/libraries/libsolv/default.nix @@ -0,0 +1,25 @@ +{ stdenv, fetchFromGitHub, cmake, zlib, expat, rpm, db }: + +stdenv.mkDerivation rec { + rev = "0.6.20"; + name = "libsolv-${rev}"; + + src = fetchFromGitHub { + inherit rev; + owner = "openSUSE"; + repo = "libsolv"; + sha256 = "1gammarbnjbbkw2vlgcj9ynp1kgi5nns6xcl6ab8b5i4zgq91v2p"; + }; + + cmakeFlags = "-DENABLE_RPMMD=true -DENABLE_RPMDB=true -DENABLE_PUBKEY=true -DENABLE_RPMDB_BYRPMHEADER=true"; + + buildInputs = [ cmake zlib expat rpm db ]; + + meta = with stdenv.lib; { + description = "A free package dependency solver"; + license = licenses.bsd3; + platforms = platforms.linux; + maintainers = with maintainers; [ copumpkin ]; + }; +} + diff --git a/pkgs/development/libraries/libu2f-host/default.nix b/pkgs/development/libraries/libu2f-host/default.nix index de51da51bca..dc2481a2e85 100644 --- a/pkgs/development/libraries/libu2f-host/default.nix +++ b/pkgs/development/libraries/libu2f-host/default.nix @@ -11,6 +11,11 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkgconfig ]; buildInputs = [ json_c hidapi ]; + postInstall = '' + mkdir -p $out/lib/udev/rules.d/ + cp -v *.rules $out/lib/udev/rules.d/ + ''; + meta = with stdenv.lib; { homepage = https://developers.yubico.com/libu2f-host; description = "A C library and command-line tool thati mplements the host-side of the U2F protocol"; diff --git a/pkgs/development/libraries/libuv/default.nix b/pkgs/development/libraries/libuv/default.nix index 48d12321248..e039711e457 100644 --- a/pkgs/development/libraries/libuv/default.nix +++ b/pkgs/development/libraries/libuv/default.nix @@ -2,84 +2,29 @@ , ApplicationServices, CoreServices }: -let - stable = "stable"; - unstable = "unstable"; +stdenv.mkDerivation rec { + version = "1.9.0"; + name = "libuv-${version}"; - meta = with lib; { - description = "A multi-platform support library with a focus on asynchronous I/O"; - homepage = https://github.com/libuv/libuv; - maintainers = with maintainers; [ cstrahan ]; - platforms = with platforms; linux ++ darwin; - }; - - mkName = stability: version: - if stability == stable - then "libuv-${version}" - else "libuv-${stability}-${version}"; - - mkSrc = version: sha256: fetchFromGitHub { + src = fetchFromGitHub { owner = "libuv"; repo = "libuv"; rev = "v${version}"; - inherit sha256; + sha256 = "0sq8c8n7xixn2xxp35crprvh35ry18i5mcxgwh12lydwv9ks0d4k"; }; - # for versions < 0.11.6 - mkWithoutAutotools = stability: version: sha256: stdenv.mkDerivation { - name = mkName stability version; - src = mkSrc version sha256; - buildPhase = lib.optionalString stdenv.isDarwin '' - mkdir extrapath - ln -s /usr/sbin/dtrace extrapath/dtrace - export PATH=$PATH:`pwd`/extrapath - '' + '' - mkdir build - make builddir_name=build + buildInputs = [ automake autoconf libtool pkgconfig ] + ++ stdenv.lib.optionals stdenv.isDarwin [ ApplicationServices CoreServices ]; - rm -r build/src - rm build/libuv.a - cp -r include build + preConfigure = '' + LIBTOOLIZE=libtoolize ./autogen.sh + ''; - mkdir build/lib - mv build/libuv.* build/lib - - pushd build/lib - lib=$(basename libuv.*) - ext="''${lib##*.}" - mv $lib libuv.10.$ext - ln -s libuv.10.$ext libuv.$ext - popd - ''; - installPhase = '' - cp -r build $out - ''; - inherit meta; - }; - - # for versions > 0.11.6 - mkWithAutotools = stability: version: sha256: stdenv.mkDerivation { - name = mkName stability version; - src = mkSrc version sha256; - buildInputs = [ automake autoconf libtool pkgconfig ] - ++ stdenv.lib.optionals stdenv.isDarwin [ ApplicationServices CoreServices ]; - preConfigure = '' - LIBTOOLIZE=libtoolize ./autogen.sh - ''; - inherit meta; + meta = with lib; { + description = "A multi-platform support library with a focus on asynchronous I/O"; + homepage = https://github.com/libuv/libuv; + maintainers = with maintainers; [ cstrahan ]; + platforms = with platforms; linux ++ darwin; }; - toVersion = with lib; name: - replaceChars ["_"] ["."] (removePrefix "v" name); - -in - - with lib; - - mapAttrs (v: h: mkWithAutotools unstable (toVersion v) h) { - v0_11_29 = "1z07phfwryfy2155p3lxcm2a33h20sfl96lds5dghn157x6csz7m"; - } - // - mapAttrs (v: h: mkWithAutotools stable (toVersion v) h) { - v1_7_5 = "18x6cy2xn31am97vn6jli7kmb2fbp4c8kmv7jm97vggh0x55flsc"; - } +} diff --git a/pkgs/development/libraries/libvirt/default.nix b/pkgs/development/libraries/libvirt/default.nix index 1d1945af319..16a4498f54c 100644 --- a/pkgs/development/libraries/libvirt/default.nix +++ b/pkgs/development/libraries/libvirt/default.nix @@ -6,7 +6,7 @@ , dnsmasq, libnl, libpcap, libxslt, xhtml1, numad, numactl, perlPackages , curl, libiconv, gmp, xen }: - +# if you update, also bump pythonPackages.libvirt or it will break stdenv.mkDerivation rec { name = "libvirt-${version}"; version = "1.3.3"; diff --git a/pkgs/development/libraries/libxml2/default.nix b/pkgs/development/libraries/libxml2/default.nix index f7e175373e1..8eedf50c9ca 100644 --- a/pkgs/development/libraries/libxml2/default.nix +++ b/pkgs/development/libraries/libxml2/default.nix @@ -20,7 +20,7 @@ stdenv.mkDerivation rec { propagatedBuildInputs = [ zlib findXMLCatalogs ]; - configureFlags = "--with-python=${python}"; + configureFlags = "--with-python=${python} --exec_prefix=$dev"; enableParallelBuilding = true; diff --git a/pkgs/development/libraries/menu-cache/default.nix b/pkgs/development/libraries/menu-cache/default.nix index 3131b6b2918..b6d187e7a0e 100644 --- a/pkgs/development/libraries/menu-cache/default.nix +++ b/pkgs/development/libraries/menu-cache/default.nix @@ -1,15 +1,17 @@ { stdenv, fetchurl, glib, pkgconfig, libfm-extra }: -let name = "menu-cache-0.7.0"; +let name = "menu-cache-1.0.1"; in stdenv.mkDerivation { inherit name; src = fetchurl { url = "mirror://sourceforge/lxde/${name}.tar.xz"; - sha256 = "0wwkk4jrcl2sp11bspabplchh4ipi1zyn39j3skyzgbm8k40gkhk"; + sha256 = "0ngxvwfj9drabqi3lyzgpi0d0za6431sy2ijb010filrj54jdiqa"; }; - buildInputs = [ glib pkgconfig libfm-extra ]; + nativeBuildInputs = [ pkgconfig ]; + + buildInputs = [ glib libfm-extra ]; meta = with stdenv.lib; { homepage = "http://blog.lxde.org/?tag=menu-cache"; diff --git a/pkgs/development/libraries/mesa/default.nix b/pkgs/development/libraries/mesa/default.nix index ad6bf8ba319..2d05861605a 100644 --- a/pkgs/development/libraries/mesa/default.nix +++ b/pkgs/development/libraries/mesa/default.nix @@ -23,7 +23,7 @@ else with { inherit (stdenv.lib) optional optionalString; }; let - version = "11.1.2"; + version = "11.1.3"; # this is the default search path for DRI drivers driverLink = "/run/opengl-driver" + optionalString stdenv.isi686 "-32"; in @@ -38,7 +38,7 @@ stdenv.mkDerivation { + head (splitString "." version) + ''.x/${version}/mesa-${version}.tar.xz'') "https://launchpad.net/mesa/trunk/${version}/+download/mesa-${version}.tar.xz" ]; - sha256 = "8f72aead896b340ba0f7a4a474bfaf71681f5d675592aec1cb7ba698e319148b"; + sha256 = "51f6658a214d75e4d9f05207586d7ed56ebba75c6b10841176fb6675efa310ac"; }; prePatch = "patchShebangs ."; diff --git a/pkgs/development/libraries/nanoflann/default.nix b/pkgs/development/libraries/nanoflann/default.nix new file mode 100644 index 00000000000..387632a890f --- /dev/null +++ b/pkgs/development/libraries/nanoflann/default.nix @@ -0,0 +1,25 @@ +{stdenv, fetchFromGitHub, cmake}: + +stdenv.mkDerivation rec { + version = "1.1.9"; + name = "nanoflann-${version}"; + + src = fetchFromGitHub { + owner = "jlblancoc"; + repo = "nanoflann"; + rev = "v${version}"; + sha256 = "1q588cf2aark45bp4ciqjiz3dkdv8dcijkhm1ybzs8qjdzz9fimn"; + }; + + buildInputs = [ cmake ]; + + doCheck = true; + checkTarget = "test"; + + meta = { + homepage = https://github.com/jlblancoc/nanoflann; + license = stdenv.lib.licenses.bsd3; + description = "Header only C++ library for approximate nearest neighbor search"; + platforms = stdenv.lib.platforms.unix; + }; +} diff --git a/pkgs/development/libraries/nghttp2/default.nix b/pkgs/development/libraries/nghttp2/default.nix index 761f6933f5c..29175fbb7d4 100644 --- a/pkgs/development/libraries/nghttp2/default.nix +++ b/pkgs/development/libraries/nghttp2/default.nix @@ -1,77 +1,36 @@ { stdenv, fetchurl, pkgconfig -# Optinal Dependencies +# Optional Dependencies , openssl ? null, libev ? null, zlib ? null, jansson ? null, boost ? null , libxml2 ? null, jemalloc ? null - -# Extra argument -, prefix ? "" }: -let - mkFlag = trueStr: falseStr: cond: name: val: - if cond == null then null else - "--${if cond != false then trueStr else falseStr}${name}${if val != null && cond != false then "=${val}" else ""}"; - mkEnable = mkFlag "enable-" "disable-"; - mkWith = mkFlag "with-" "without-"; - mkOther = mkFlag "" "" true; - - shouldUsePkg = pkg: if pkg != null && stdenv.lib.any (x: x == stdenv.system) pkg.meta.platforms then pkg else null; - - isLib = prefix == "lib"; - - optOpenssl = if isLib then null else shouldUsePkg openssl; - optLibev = if isLib then null else shouldUsePkg libev; - optZlib = if isLib then null else shouldUsePkg zlib; - - hasApp = optOpenssl != null && optLibev != null && optZlib != null; - - optJansson = if isLib then null else shouldUsePkg jansson; - #optBoost = if isLib then null else shouldUsePkg boost; - optBoost = null; # Currently detection is broken - optLibxml2 = if !hasApp then null else shouldUsePkg libxml2; - optJemalloc = if !hasApp then null else shouldUsePkg jemalloc; -in stdenv.mkDerivation rec { - name = "${prefix}nghttp2-${version}"; - version = "1.8.0"; + name = "nghttp2-${version}"; + version = "1.9.2"; # Don't use fetchFromGitHub since this needs a bootstrap curl src = fetchurl { url = "https://github.com/nghttp2/nghttp2/releases/download/v${version}/nghttp2-${version}.tar.bz2"; - sha256 = "10xz3s624w208pr9xgm4ammc8bc5mi17vy4357hjfd5vmmp5m8b0"; + sha256 = "1jnms0mmf73cwdqvbzpdyi974f8xq7p8bxgba2ippw70pz8y0ac0"; }; # Configure script searches for a symbol which does not exist in jemalloc on Darwin # Reported upstream in https://github.com/tatsuhiro-t/nghttp2/issues/233 - postPatch = if (stdenv.isDarwin && optJemalloc != null) then '' + postPatch = if stdenv.isDarwin && jemalloc != null then '' substituteInPlace configure --replace "malloc_stats_print" "je_malloc_stats_print" '' else null; + outputs = [ "dev" "out" "lib" ]; + nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ optJansson optBoost optLibxml2 optJemalloc ] - ++ stdenv.lib.optionals hasApp [ optOpenssl optLibev optZlib ]; + buildInputs = [ openssl libev zlib ]; - configureFlags = [ - (mkEnable false "werror" null) - (mkEnable false "debug" null) - (mkEnable true "threads" null) - (mkEnable hasApp "app" null) - (mkEnable (optJansson != null) "hpack-tools" null) - (mkEnable (optBoost != null) "asio-lib" null) - (mkEnable false "examples" null) - (mkEnable false "python-bindings" null) - (mkEnable false "failmalloc" null) - (mkWith (optLibxml2 != null) "libxml2" null) - (mkWith (optJemalloc != null) "jemalloc" null) - (mkWith false "spdylay" null) - (mkWith false "cython" null) - (mkWith false "mruby" null) - ]; + enableParallelBuilding = true; meta = with stdenv.lib; { homepage = http://nghttp2.org/; - description = "an implementation of HTTP/2 in C"; + description = "A C implementation of HTTP/2"; license = licenses.mit; platforms = platforms.all; maintainers = with maintainers; [ wkennington ]; diff --git a/pkgs/development/libraries/nlopt/default.nix b/pkgs/development/libraries/nlopt/default.nix index 080f09dfdf4..ddf47cf31d8 100644 --- a/pkgs/development/libraries/nlopt/default.nix +++ b/pkgs/development/libraries/nlopt/default.nix @@ -16,6 +16,10 @@ stdenv.mkDerivation rec { "M_INSTALL_DIR=$(out)/${octave.sitePath}/m " + "OCT_INSTALL_DIR=$(out)/${octave.sitePath}/oct "); + preConfigure = '' + find octave -name '*.cc' | xargs sed -i 's|Octave_map|octave_map|g' + ''; + meta = { homepage = "http://ab-initio.mit.edu/nlopt/"; description = "Free open-source library for nonlinear optimization"; diff --git a/pkgs/development/libraries/ogre/default.nix b/pkgs/development/libraries/ogre/default.nix index 89d694cc497..aba02827665 100644 --- a/pkgs/development/libraries/ogre/default.nix +++ b/pkgs/development/libraries/ogre/default.nix @@ -1,11 +1,12 @@ -{ fetchurl, stdenv +{ fetchurl, stdenv, lib , cmake, mesa , freetype, freeimage, zziplib, randrproto, libXrandr , libXaw, freeglut, libXt, libpng, boost, ois , xproto, libX11, libXmu, libSM, pkgconfig , libXxf86vm, xf86vidmodeproto, libICE , renderproto, libXrender -, nvidia_cg_toolkit }: +, withNvidiaCg ? false, nvidia_cg_toolkit +, withSamples ? false }: stdenv.mkDerivation { name = "ogre-1.9-hg-20160322"; @@ -15,10 +16,10 @@ stdenv.mkDerivation { sha256 = "0w3argjy1biaxwa3c80zxxgll67wjp8czd83p87awlcvwzdk5mz9"; }; - cmakeFlags = [ "-DOGRE_INSTALL_SAMPLES=yes" ] - ++ (map (x: "-DOGRE_BUILD_PLUGIN_${x}=on") - [ "BSP" "CG" "OCTREE" "PCZ" "PFX" ]) - ++ (map (x: "-DOGRE_BUILD_RENDERSYSTEM_${x}=on") [ "GL" ]); + cmakeFlags = [ "-DOGRE_BUILD_SAMPLES=${toString withSamples}" ] + ++ map (x: "-DOGRE_BUILD_PLUGIN_${x}=on") + ([ "BSP" "OCTREE" "PCZ" "PFX" ] ++ lib.optional withNvidiaCg "CG") + ++ map (x: "-DOGRE_BUILD_RENDERSYSTEM_${x}=on") [ "GL" ]; enableParallelBuilding = true; @@ -29,8 +30,7 @@ stdenv.mkDerivation { xproto libX11 libXmu libSM pkgconfig libXxf86vm xf86vidmodeproto libICE renderproto libXrender - nvidia_cg_toolkit - ]; + ] ++ lib.optional withNvidiaCg nvidia_cg_toolkit; meta = { description = "A 3D engine"; diff --git a/pkgs/development/libraries/pcre/default.nix b/pkgs/development/libraries/pcre/default.nix index 8bce1512d13..91af6f4dadf 100644 --- a/pkgs/development/libraries/pcre/default.nix +++ b/pkgs/development/libraries/pcre/default.nix @@ -1,6 +1,5 @@ { stdenv, fetchurl , windows ? null, variant ? null, pcre -, withCharSize ? 8 }: with stdenv.lib; diff --git a/pkgs/development/libraries/phonon-backend-gstreamer/qt4/default.nix b/pkgs/development/libraries/phonon-backend-gstreamer/qt4/default.nix index 844c2e58009..2f588cbe708 100644 --- a/pkgs/development/libraries/phonon-backend-gstreamer/qt4/default.nix +++ b/pkgs/development/libraries/phonon-backend-gstreamer/qt4/default.nix @@ -1,8 +1,7 @@ -{ stdenv, fetchurl, cmake, automoc4, qt4, pkgconfig, phonon, gstreamer -, gst_plugins_base }: +{ stdenv, fetchurl, cmake, automoc4, qt4, pkgconfig, phonon, gst_all_1 }: let - version = "4.7.2"; + version = "4.8.2"; pname = "phonon-backend-gstreamer"; in @@ -11,18 +10,24 @@ stdenv.mkDerivation rec { src = fetchurl { url = "mirror://kde/stable/phonon/${pname}/${version}/src/${name}.tar.xz"; - sha256 = "1cfjk450aajr8hfhnfq7zbmryprxiwr9ha5x585dsh7mja82mdw0"; + sha256 = "1q1ix6zsfnh6gfnpmwp67s376m7g7ahpjl1qp2fqakzb5cgzgq10"; }; - buildInputs = [ phonon qt4 gstreamer gst_plugins_base ]; + buildInputs = with gst_all_1; [ phonon qt4 gstreamer gst-plugins-base ]; nativeBuildInputs = [ cmake automoc4 pkgconfig ]; + NIX_CFLAGS_COMPILE = [ + # This flag should be picked up through pkgconfig, but it isn't. + "-I${gst_all_1.gstreamer}/lib/gstreamer-1.0/include" + ]; + cmakeFlags = [ "-DCMAKE_INSTALL_LIBDIR=lib" ]; meta = { homepage = http://phonon.kde.org/; description = "GStreamer backend for Phonon"; platforms = stdenv.lib.platforms.linux; - }; + maintainers = with stdenv.lib.maintainers; [ ttuegel ]; + }; } diff --git a/pkgs/development/libraries/phonon/default.nix b/pkgs/development/libraries/phonon/default.nix new file mode 100644 index 00000000000..db4c237c989 --- /dev/null +++ b/pkgs/development/libraries/phonon/default.nix @@ -0,0 +1,54 @@ +{ stdenv, fetchurl, cmake, mesa, pkgconfig, libpulseaudio +, qt4 ? null, automoc4 ? null +, qtbase ? null, qtquick1 ? null, qttools ? null +, debug ? false }: + +with stdenv.lib; + +let + v = "4.8.3"; + withQt5 = qtbase != null; +in + +assert withQt5 -> qtquick1 != null; +assert withQt5 -> qttools != null; +assert !withQt5 -> automoc4 != null; + +stdenv.mkDerivation rec { + name = "phonon-${v}"; + + meta = { + homepage = http://phonon.kde.org/; + description = "Multimedia API for Qt"; + license = stdenv.lib.licenses.lgpl2; + platforms = stdenv.lib.platforms.linux; + maintainers = with stdenv.lib.maintainers; [ ttuegel ]; + }; + + src = fetchurl { + url = "mirror://kde/stable/phonon/${v}/src/phonon-${v}.tar.xz"; + sha256 = "05nshngk03ln90vsjz44dx8al576f4vd5fvhs1l0jmx13jb9q551"; + }; + + buildInputs = + [ mesa libpulseaudio ] + ++ (if withQt5 then [ qtbase qtquick1 qttools ] else [ qt4 ]); + + nativeBuildInputs = + [ cmake pkgconfig ] + ++ optional (!withQt5) automoc4; + + NIX_CFLAGS_COMPILE = "-fPIC"; + + cmakeFlags = + [ "-DCMAKE_BUILD_TYPE=${if debug then "Debug" else "Release"}" ] + ++ optional withQt5 "-DPHONON_BUILD_PHONON4QT5=ON"; + + postPatch = '' + sed -i PhononConfig.cmake.in \ + -e "/get_filename_component(rootDir/ s/^.*$//" \ + -e "/^set(PHONON_INCLUDE_DIR/ s,\''${rootDir},''${!outputDev}," \ + -e "/^set(PHONON_LIBRARY_DIR/ s,\''${rootDir}/,," \ + -e "/^set(PHONON_BUILDSYSTEM_DIR/ s,\''${rootDir},''${!outputDev}," + ''; +} diff --git a/pkgs/development/libraries/phonon/qt4/default.nix b/pkgs/development/libraries/phonon/qt4/default.nix deleted file mode 100644 index 9875b216e06..00000000000 --- a/pkgs/development/libraries/phonon/qt4/default.nix +++ /dev/null @@ -1,28 +0,0 @@ -{ stdenv, fetchurl, cmake, automoc4, libpulseaudio, qt4 }: - -with stdenv.lib; - -let - v = "4.8.1"; -in - -stdenv.mkDerivation rec { - name = "phonon-${v}"; - - src = fetchurl { - url = "mirror://kde/stable/phonon/${v}/phonon-${v}.tar.xz"; - sha256 = "1l97h1jj3gvl1chx1qbipizfvjgqc05wrhdcflc76c2krlk03jmn"; - }; - - buildInputs = [ qt4 libpulseaudio ]; - - nativeBuildInputs = [ cmake automoc4 ]; - - meta = { - homepage = http://phonon.kde.org/; - description = "Multimedia API for Qt"; - license = stdenv.lib.licenses.lgpl2; - platforms = stdenv.lib.platforms.linux; - maintainers = with stdenv.lib.maintainers; [ ttuegel ]; - }; -} diff --git a/pkgs/development/libraries/phonon/qt5/default.nix b/pkgs/development/libraries/phonon/qt5/default.nix deleted file mode 100644 index c7baeb2e340..00000000000 --- a/pkgs/development/libraries/phonon/qt5/default.nix +++ /dev/null @@ -1,36 +0,0 @@ -{ stdenv, fetchurl, cmake, mesa, pkgconfig, libpulseaudio -, qtbase, qtquick1, qttools -, debug ? false }: - -with stdenv.lib; - -let - v = "4.8.3"; -in - -stdenv.mkDerivation rec { - name = "phonon-${v}"; - - src = fetchurl { - url = "mirror://kde/stable/phonon/${v}/src/phonon-${v}.tar.xz"; - sha256 = "05nshngk03ln90vsjz44dx8al576f4vd5fvhs1l0jmx13jb9q551"; - }; - - buildInputs = [ mesa qtbase qtquick1 qttools libpulseaudio ]; - - nativeBuildInputs = [ cmake pkgconfig ]; - - cmakeFlags = [ - "-DCMAKE_BUILD_TYPE=${if debug then "Debug" else "Release"}" - "-DPHONON_BUILD_PHONON4QT5=ON" - "-DCMAKE_INSTALL_LIBDIR=lib" - ]; - - meta = { - homepage = http://phonon.kde.org/; - description = "Multimedia API for Qt"; - license = stdenv.lib.licenses.lgpl2; - platforms = stdenv.lib.platforms.linux; - maintainers = with stdenv.lib.maintainers; [ ttuegel ]; - }; -} diff --git a/pkgs/development/libraries/polkit-qt-1/default.nix b/pkgs/development/libraries/polkit-qt-1/default.nix deleted file mode 100644 index 3715158705c..00000000000 --- a/pkgs/development/libraries/polkit-qt-1/default.nix +++ /dev/null @@ -1,25 +0,0 @@ -{ stdenv, fetchurl, cmake, pkgconfig, polkit, automoc4, glib -, qt4 ? null -, withQt5 ? false, qtbase ? null }: - -with stdenv.lib; - -assert (withQt5 -> qtbase != null); assert (!withQt5 -> qt4 != null); - -stdenv.mkDerivation { - name = "polkit-qt-1-0.112.0"; - - src = fetchurl { - url = "mirror://kde/stable/apps/KDE4.x/admin/polkit-qt-1-0.112.0.tar.bz2"; - sha256 = "1ip78x20hjqvm08kxhp6gb8hf6k5n6sxyx6kk2yvvq53djzh7yv7"; - }; - - nativeBuildInputs = [ cmake pkgconfig ] ++ optional (!withQt5) automoc4; - - propagatedBuildInputs = [ polkit glib ] ++ [(if withQt5 then qtbase else qt4)]; - - meta = { - description = "A Qt wrapper around PolKit"; - maintainers = with stdenv.lib.maintainers; [ ttuegel ]; - }; -} diff --git a/pkgs/development/libraries/polkit-qt-1/qt-4.nix b/pkgs/development/libraries/polkit-qt-1/qt-4.nix new file mode 100644 index 00000000000..fa5c77aa27a --- /dev/null +++ b/pkgs/development/libraries/polkit-qt-1/qt-4.nix @@ -0,0 +1,21 @@ +{ stdenv, fetchurl, cmake, pkgconfig, polkit, automoc4, glib, qt4 }: + +with stdenv.lib; + +stdenv.mkDerivation { + name = "polkit-qt-1-qt4-0.112.0"; + + src = fetchurl { + url = "mirror://kde/stable/apps/KDE4.x/admin/polkit-qt-1-0.112.0.tar.bz2"; + sha256 = "1ip78x20hjqvm08kxhp6gb8hf6k5n6sxyx6kk2yvvq53djzh7yv7"; + }; + + nativeBuildInputs = [ cmake pkgconfig automoc4 ]; + + propagatedBuildInputs = [ polkit glib qt4 ]; + + meta = { + description = "A Qt wrapper around PolKit"; + maintainers = with stdenv.lib.maintainers; [ ttuegel ]; + }; +} diff --git a/pkgs/development/libraries/polkit-qt-1/qt-5.nix b/pkgs/development/libraries/polkit-qt-1/qt-5.nix new file mode 100644 index 00000000000..bdeb175b89f --- /dev/null +++ b/pkgs/development/libraries/polkit-qt-1/qt-5.nix @@ -0,0 +1,29 @@ +{ stdenv, fetchurl, cmake, pkgconfig, polkit, glib, qtbase }: + +with stdenv.lib; + +stdenv.mkDerivation { + name = "polkit-qt-1-qt5-0.112.0"; + + outputs = [ "dev" "out" ]; + + src = fetchurl { + url = "mirror://kde/stable/apps/KDE4.x/admin/polkit-qt-1-0.112.0.tar.bz2"; + sha256 = "1ip78x20hjqvm08kxhp6gb8hf6k5n6sxyx6kk2yvvq53djzh7yv7"; + }; + + nativeBuildInputs = [ cmake pkgconfig ]; + + propagatedBuildInputs = [ polkit glib qtbase ]; + + postFixup = '' + # Fix library location in CMake module + sed -i "$dev/lib/cmake/PolkitQt5-1/PolkitQt5-1Config.cmake" \ + -e "s,\\(set_and_check.POLKITQT-1_LIB_DIR\\).*$,\\1 \"''${!outputLib}/lib\")," + ''; + + meta = { + description = "A Qt wrapper around PolKit"; + maintainers = with stdenv.lib.maintainers; [ ttuegel ]; + }; +} diff --git a/pkgs/development/libraries/qmltermwidget/default.nix b/pkgs/development/libraries/qmltermwidget/default.nix index 359a4341537..1620649a3cc 100644 --- a/pkgs/development/libraries/qmltermwidget/default.nix +++ b/pkgs/development/libraries/qmltermwidget/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchgit, qtbase, qtquick1 }: +{ stdenv, fetchgit, qtbase, qtquick1, qmakeHook }: stdenv.mkDerivation rec { version = "0.1.0"; @@ -11,19 +11,14 @@ stdenv.mkDerivation rec { }; buildInputs = [ qtbase qtquick1 ]; + nativeBuildInputs = [ qmakeHook ]; patchPhase = '' substituteInPlace qmltermwidget.pro \ --replace '$$[QT_INSTALL_QML]' "/lib/qt5/qml/" ''; - configurePhase = '' - runHook preConfigure - qmake PREFIX=$out - runHook postConfigure - ''; - - installPhase=''make INSTALL_ROOT="$out" install''; + installFlags = [ "INSTALL_ROOT=$(out)" ]; enableParallelBuilding = true; diff --git a/pkgs/development/libraries/qoauth/default.nix b/pkgs/development/libraries/qoauth/default.nix index f93e4479e71..5a448d33067 100644 --- a/pkgs/development/libraries/qoauth/default.nix +++ b/pkgs/development/libraries/qoauth/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, qt4, qca2 }: +{ stdenv, fetchurl, qt4, qca2, qmake4Hook }: stdenv.mkDerivation { name = "qoauth-1.0.1"; @@ -9,13 +9,13 @@ stdenv.mkDerivation { sha256 = "1ax0g4dd49a3a1699ams13bkhz690xfwqg8rxp1capbdpf2aa8cp"; }; - configurePhase = "qmake PREFIX=$prefix"; patchPhase = "sed -e 's/lib64/lib/g' -i src/src.pro"; buildInputs = [ qt4 qca2 ]; + nativeBuildInputs = [ qmake4Hook ]; - NIX_CFLAGS_COMPILE="-I${qca2}/include/QtCrypto"; - NIX_LDFLAGS = "-lqca"; + NIX_CFLAGS_COMPILE = [ "-I${qca2}/include/QtCrypto" ]; + NIX_LDFLAGS = [ "-lqca" ]; meta = { description = "Qt library for OAuth authentication"; diff --git a/pkgs/development/libraries/qscintilla/default.nix b/pkgs/development/libraries/qscintilla/default.nix index 26d412e5a8c..bc44f53fa6e 100644 --- a/pkgs/development/libraries/qscintilla/default.nix +++ b/pkgs/development/libraries/qscintilla/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, qt }: +{ stdenv, fetchurl, qt4, qmake4Hook }: stdenv.mkDerivation rec { pname = "qscintilla"; @@ -11,7 +11,8 @@ stdenv.mkDerivation rec { sha256 = "d7c32e32582f93779de861006d87467b38b9ebc06e3d0b32e981cb24369fa417"; }; - buildInputs = [ qt ]; + buildInputs = [ qt4 ]; + nativeBuildInputs = [ qmake4Hook ]; preConfigure = '' cd Qt4Qt5 @@ -20,7 +21,6 @@ stdenv.mkDerivation rec { -e "s,\$\$\\[QT_INSTALL_TRANSLATIONS\\],$out/share/qt/translations," \ -e "s,\$\$\\[QT_INSTALL_DATA\\],$out/share/qt," \ qscintilla.pro - qmake qscintilla.pro ''; meta = { diff --git a/pkgs/development/libraries/qt-4.x/4.8/default.nix b/pkgs/development/libraries/qt-4.x/4.8/default.nix index 788fb874140..65d45923e5a 100644 --- a/pkgs/development/libraries/qt-4.x/4.8/default.nix +++ b/pkgs/development/libraries/qt-4.x/4.8/default.nix @@ -11,6 +11,8 @@ , docs ? false , examples ? false , demos ? false +# darwin support +, cf-private, libobjc, ApplicationServices, OpenGL, Cocoa, AGL, libcxx }: with stdenv.lib; @@ -114,7 +116,7 @@ stdenv.mkDerivation rec { -no-phonon ${if buildWebkit then "" else "-no"}-webkit ${if buildMultimedia then "" else "-no"}-multimedia -audio-backend ${if developerBuild then "-developer-build" else ""} - ''; + '' + optionalString stdenv.isDarwin "-platform unsupported/macx-clang-libc++"; propagatedBuildInputs = [ libXrender libXrandr libXinerama libXcursor libXext libXfixes libXv libXi @@ -129,14 +131,16 @@ stdenv.mkDerivation rec { [ cups # Qt dlopen's libcups instead of linking to it postgresql sqlite libjpeg libmng libtiff icu ] ++ optionals (mysql != null) [ mysql.lib ] - ++ optionals gtkStyle [ gtk gdk_pixbuf ]; + ++ optionals gtkStyle [ gtk gdk_pixbuf ] + ++ optionals stdenv.isDarwin [ cf-private ApplicationServices OpenGL Cocoa AGL libcxx libobjc ]; nativeBuildInputs = [ perl pkgconfig which ]; enableParallelBuilding = false; NIX_CFLAGS_COMPILE = optionalString (stdenv.isFreeBSD || stdenv.isDarwin) - "-I${glib.dev}/include/glib-2.0 -I${glib.out}/lib/glib-2.0/include"; + "-I${glib.dev}/include/glib-2.0 -I${glib.out}/lib/glib-2.0/include" + + optionalString stdenv.isDarwin " -I${libcxx}/include/c++/v1"; NIX_LDFLAGS = optionalString (stdenv.isFreeBSD || stdenv.isDarwin) "-lglib-2.0"; @@ -145,6 +149,8 @@ stdenv.mkDerivation rec { # resolve "extra qualification on member" error sed -i 's/struct ::TabletProximityRec;/struct TabletProximityRec;/' \ src/gui/kernel/qt_cocoa_helpers_mac_p.h + find . -name "Makefile*" | xargs sed -i 's/^\(LINK[[:space:]]* = clang++\)/\1 ${NIX_LDFLAGS}/' + sed -i 's/^\(LIBS[[:space:]]*=.*$\)/\1 -lobjc/' ./src/corelib/Makefile.Release ''; crossAttrs = let diff --git a/pkgs/development/libraries/qt-4.x/4.8/qmake-hook.sh b/pkgs/development/libraries/qt-4.x/4.8/qmake-hook.sh new file mode 100644 index 00000000000..bf716a72d0f --- /dev/null +++ b/pkgs/development/libraries/qt-4.x/4.8/qmake-hook.sh @@ -0,0 +1,11 @@ +qmakeConfigurePhase() { + runHook preConfigure + + $QMAKE PREFIX=$out $qmakeFlags + + runHook postConfigure +} + +export QMAKE=@qt4@/bin/qmake + +configurePhase=qmakeConfigurePhase diff --git a/pkgs/development/libraries/qt-5/5.4/default.nix b/pkgs/development/libraries/qt-5/5.4/default.nix index df2fb8ad186..950129ba541 100644 --- a/pkgs/development/libraries/qt-5/5.4/default.nix +++ b/pkgs/development/libraries/qt-5/5.4/default.nix @@ -37,12 +37,10 @@ let inherit src; propagatedBuildInputs = args.qtInputs ++ (args.propagatedBuildInputs or []); - nativeBuildInputs = (args.nativeBuildInputs or []) ++ [ self.fixQtModuleCMakeConfig ]; + nativeBuildInputs = (args.nativeBuildInputs or []) ++ [ self.fixQtModuleCMakeConfig self.qmakeHook ]; NIX_QT_SUBMODULE = args.NIX_QT_SUBMODULE or true; - dontAddPrefix = args.dontAddPrefix or true; dontFixLibtool = args.dontFixLibtool or true; - configureScript = args.configureScript or "qmake"; outputs = args.outputs or [ "dev" "out" ]; setOutputFlags = false; @@ -109,6 +107,7 @@ let makeQtWrapper = makeSetupHook { deps = [ makeWrapper ]; } ./make-qt-wrapper.sh; fixQtModuleCMakeConfig = makeSetupHook { } ./fix-qt-module-cmake-config.sh; + qmakeHook = makeSetupHook { substitutions = { qt_dev = qtbase.dev; lndir = pkgs.xorg.lndir; }; } ./qmake-hook.sh; }; diff --git a/pkgs/development/libraries/qt-5/5.4/qmake-hook.sh b/pkgs/development/libraries/qt-5/5.4/qmake-hook.sh new file mode 100644 index 00000000000..a38f9f578e3 --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.4/qmake-hook.sh @@ -0,0 +1,101 @@ +if [[ -z "$QMAKE" ]]; then + +_qtLinkDependencyDir() { + @lndir@/bin/lndir -silent "$1/$2" "$qtOut/$2" + if [ -n "$NIX_QT_SUBMODULE" ]; then + find "$1/$2" -printf "$2/%P\n" >> "$out/nix-support/qt-inputs" + fi +} + +_qtLinkModule() { + if [ -d "$1/mkspecs" ]; then + # $1 is a Qt module + _qtLinkDependencyDir "$1" mkspecs + + for dir in bin include lib share; do + if [ -d "$1/$dir" ]; then + _qtLinkDependencyDir "$1" "$dir" + fi + done + fi +} + +_qtRmModules() { + cat "$out/nix-support/qt-inputs" | while read file; do + if [ -h "$out/$file" ]; then + rm "$out/$file" + fi + done + + cat "$out/nix-support/qt-inputs" | while read file; do + if [ -d "$out/$file" ]; then + rmdir --ignore-fail-on-non-empty -p "$out/$file" + fi + done + + rm "$out/nix-support/qt-inputs" +} + +_qtRmQmake() { + rm "$qtOut/bin/qmake" "$qtOut/bin/qt.conf" +} + +_qtSetQmakePath() { + export PATH="$qtOut/bin${PATH:+:}$PATH" +} + +_qtMultioutModuleDevs() { + # We cannot simply set these paths in configureFlags because libQtCore retains + # references to the paths it was built with. + moveToOutput "bin" "${!outputDev}" + moveToOutput "include" "${!outputDev}" + + # The destination directory must exist or moveToOutput will do nothing + mkdir -p "${!outputDev}/share" + moveToOutput "share/doc" "${!outputDev}" +} + +qmakeConfigurePhase() { + runHook preConfigure + + qmake PREFIX=$out $qmakeFlags + + runHook postConfigure +} + +qtOut="" +if [[ -z "$NIX_QT_SUBMODULE" ]]; then + qtOut=`mktemp -d` +else + qtOut=$out +fi + +mkdir -p "$qtOut/bin" "$qtOut/mkspecs" "$qtOut/include" "$qtOut/nix-support" "$qtOut/lib" "$qtOut/share" + +cp "@qt_dev@/bin/qmake" "$qtOut/bin" +cat >"$qtOut/bin/qt.conf" <<EOF +[Paths] +Prefix = $qtOut +Plugins = lib/qt5/plugins +Imports = lib/qt5/imports +Qml2Imports = lib/qt5/qml +Documentation = share/doc/qt5 +EOF + +export QMAKE="$qtOut/bin/qmake" + +envHooks+=(_qtLinkModule) +# Set PATH to find qmake first in a preConfigure hook +# It must run after all the envHooks! +postHooks+=(_qtSetQmakePath) + +if [ -z "$dontUseQmakeConfigure" -a -z "$configurePhase" ]; then + configurePhase=qmakeConfigurePhase +fi + +if [ -n "$NIX_QT_SUBMODULE" ]; then + postInstallHooks+=(_qtRmQmake _qtRmModules) + preFixupHooks+=(_qtMultioutModuleDevs) +fi + +fi diff --git a/pkgs/development/libraries/qt-5/5.4/qtbase/default.nix b/pkgs/development/libraries/qt-5/5.4/qtbase/default.nix index 0585601db76..32e8bacd1e7 100644 --- a/pkgs/development/libraries/qt-5/5.4/qtbase/default.nix +++ b/pkgs/development/libraries/qt-5/5.4/qtbase/default.nix @@ -239,7 +239,6 @@ stdenv.mkDerivation { fixQtModuleCMakeConfig "Xml" ''; - inherit lndir; setupHook = ./setup-hook.sh; enableParallelBuilding = true; diff --git a/pkgs/development/libraries/qt-5/5.4/qtbase/setup-hook.sh b/pkgs/development/libraries/qt-5/5.4/qtbase/setup-hook.sh index c44cd2234d7..a9c4fbc855f 100644 --- a/pkgs/development/libraries/qt-5/5.4/qtbase/setup-hook.sh +++ b/pkgs/development/libraries/qt-5/5.4/qtbase/setup-hook.sh @@ -1,41 +1,3 @@ -if [[ -z "$QMAKE" ]]; then - -_qtLinkDependencyDir() { - @lndir@/bin/lndir -silent "$1/$2" "$qtOut/$2" - if [[ -n "$NIX_QT_SUBMODULE" ]]; then - find "$1/$2" -printf "$2/%P\n" >> "$out/nix-support/qt-inputs" - fi -} - -_qtLinkModule() { - if [ -d "$1/mkspecs" ]; then - # $1 is a Qt module - _qtLinkDependencyDir "$1" mkspecs - - for dir in bin include lib share; do - if [ -d "$1/$dir" ]; then - _qtLinkDependencyDir "$1" "$dir" - fi - done - fi -} - -_qtRmModules() { - cat "$out/nix-support/qt-inputs" | while read file; do - if [[ -h "$out/$file" ]]; then - rm "$out/$file" - fi - done - - cat "$out/nix-support/qt-inputs" | while read file; do - if [[ -d "$out/$file" ]]; then - rmdir --ignore-fail-on-non-empty -p "$out/$file" - fi - done - - rm "$out/nix-support/qt-inputs" -} - addToSearchPathOnceWithCustomDelimiter() { local delim="$1" local search="$2" @@ -43,11 +5,14 @@ addToSearchPathOnceWithCustomDelimiter() { local dirs local exported IFS="$delim" read -a dirs <<< "${!search}" - for dir in ${dirs[@]}; do - if [ "z$dir" == "z$target" ]; then exported=1; fi - done - if [ -z $exported ]; then - eval "export ${search}=\"${!search}${!search:+$delim}$target\"" + local canonical + if canonical=$(readlink -e "$target"); then + for dir in ${dirs[@]}; do + if [ "z$dir" == "z$canonical" ]; then exported=1; fi + done + if [ -z $exported ]; then + eval "export ${search}=\"${!search}${!search:+$delim}$canonical\"" + fi fi } @@ -63,6 +28,7 @@ _qtPropagateRuntimeDependencies() { for dir in "lib/qt5/plugins" "lib/qt5/qml" "lib/qt5/imports"; do if [ -d "$1/$dir" ]; then propagateOnce propagatedBuildInputs "$1" + propagateOnce propagatedUserEnvPkgs "$1" break fi done @@ -71,63 +37,14 @@ _qtPropagateRuntimeDependencies() { addToSearchPathOnce QML2_IMPORT_PATH "$1/lib/qt5/qml" } -_qtRmQmake() { - rm "$qtOut/bin/qmake" "$qtOut/bin/qt.conf" -} - -_qtSetQmakePath() { - export PATH="$qtOut/bin${PATH:+:}$PATH" -} - -_qtMultioutModuleDevs() { - # We cannot simply set these paths in configureFlags because libQtCore retains - # references to the paths it was built with. - moveToOutput "bin" "${!outputDev}" - moveToOutput "include" "${!outputDev}" - - # The destination directory must exist or moveToOutput will do nothing - mkdir -p "${!outputDev}/share" - moveToOutput "share/doc" "${!outputDev}" -} +envHooks+=(_qtPropagateRuntimeDependencies) _qtMultioutDevs() { # This is necessary whether the package is a Qt module or not moveToOutput "mkspecs" "${!outputDev}" } -qtOut="" -if [[ -z "$NIX_QT_SUBMODULE" ]]; then - qtOut=`mktemp -d` -else - qtOut=$out -fi - -mkdir -p "$qtOut/bin" "$qtOut/mkspecs" "$qtOut/include" "$qtOut/nix-support" "$qtOut/lib" "$qtOut/share" - -cp "@dev@/bin/qmake" "$qtOut/bin" -cat >"$qtOut/bin/qt.conf" <<EOF -[Paths] -Prefix = $qtOut -Plugins = lib/qt5/plugins -Imports = lib/qt5/imports -Qml2Imports = lib/qt5/qml -Documentation = share/doc/qt5 -EOF - -export QMAKE="$qtOut/bin/qmake" - -envHooks+=(_qtLinkModule _qtPropagateRuntimeDependencies) -# Set PATH to find qmake first in a preConfigure hook -# It must run after all the envHooks! -preConfigureHooks+=(_qtSetQmakePath) - preFixupHooks+=(_qtMultioutDevs) -if [[ -n "$NIX_QT_SUBMODULE" ]]; then - postInstallHooks+=(_qtRmQmake _qtRmModules) - preFixupHooks+=(_qtMultioutModuleDevs) -fi - -fi if [[ -z "$NIX_QT_PIC" ]]; then export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE${NIX_CFLAGS_COMPILE:+ }-fPIC" diff --git a/pkgs/development/libraries/qt-5/5.4/qtmultimedia.nix b/pkgs/development/libraries/qt-5/5.4/qtmultimedia.nix index 8db8fa5f4b9..9eb68ba6b5b 100644 --- a/pkgs/development/libraries/qt-5/5.4/qtmultimedia.nix +++ b/pkgs/development/libraries/qt-5/5.4/qtmultimedia.nix @@ -8,7 +8,7 @@ qtSubmodule { buildInputs = [ pkgconfig alsaLib gstreamer gst-plugins-base libpulseaudio ]; - configureFlags = "GST_VERSION=1.0"; + qmakeFlags = [ "GST_VERSION=1.0" ]; postFixup = '' fixQtModuleCMakeConfig "Multimedia" fixQtModuleCMakeConfig "MultimediaWidgets" diff --git a/pkgs/development/libraries/qt-5/5.5/default.nix b/pkgs/development/libraries/qt-5/5.5/default.nix index 955d57350c2..034e25662ea 100644 --- a/pkgs/development/libraries/qt-5/5.5/default.nix +++ b/pkgs/development/libraries/qt-5/5.5/default.nix @@ -42,12 +42,10 @@ let inherit src; propagatedBuildInputs = args.qtInputs ++ (args.propagatedBuildInputs or []); - nativeBuildInputs = (args.nativeBuildInputs or []) ++ [ self.fixQtModuleCMakeConfig ]; + nativeBuildInputs = (args.nativeBuildInputs or []) ++ [ self.fixQtModuleCMakeConfig self.qmakeHook ]; NIX_QT_SUBMODULE = args.NIX_QT_SUBMODULE or true; - dontAddPrefix = args.dontAddPrefix or true; dontFixLibtool = args.dontFixLibtool or true; - configureScript = args.configureScript or "qmake"; outputs = args.outputs or [ "dev" "out" ]; setOutputFlags = args.setOutputFlags or false; @@ -115,6 +113,7 @@ let makeQtWrapper = makeSetupHook { deps = [ makeWrapper ]; } ./make-qt-wrapper.sh; fixQtModuleCMakeConfig = makeSetupHook { } ./fix-qt-module-cmake-config.sh; + qmakeHook = makeSetupHook { substitutions = { qt_dev = qtbase.dev; lndir = pkgs.xorg.lndir; }; } ./qmake-hook.sh; }; diff --git a/pkgs/development/libraries/qt-5/5.5/make-qt-wrapper.sh b/pkgs/development/libraries/qt-5/5.5/make-qt-wrapper.sh index f29bbb73639..3b537430371 100644 --- a/pkgs/development/libraries/qt-5/5.5/make-qt-wrapper.sh +++ b/pkgs/development/libraries/qt-5/5.5/make-qt-wrapper.sh @@ -24,11 +24,15 @@ makeQtWrapper() { "$@" } -# cannot use addToSearchPath because these directories may not exist yet -export QT_PLUGIN_PATH="$QT_PLUGIN_PATH${QT_PLUGIN_PATH:+:}${!outputLib}/lib/qt5/plugins" -export QML_IMPORT_PATH="$QML_IMPORT_PATH${QML_IMPORT_PATH:+:}${!outputLib}/lib/qt5/imports" -export QML2_IMPORT_PATH="$QML2_IMPORT_PATH${QML2_IMPORT_PATH:+:}${!outputLib}/lib/qt5/qml" -export XDG_CONFIG_DIRS="$XDG_CONFIG_DIRS${XDG_CONFIG_DIRS:+:}${!outputLib}/etc/xdg" -export XDG_DATA_DIRS="$XDG_DATA_DIRS${XDG_DATA_DIRS:+:}${!outputLib}/share" -export NIX_WRAP_XDG_CONFIG_DIRS="$NIX_WRAP_XDG_CONFIG_DIRS${NIX_WRAP_XDG_CONFIG_DIRS:+:}${!outputLib}/etc/xdg" -export NIX_WRAP_XDG_DATA_DIRS="$NIX_WRAP_XDG_DATA_DIRS${NIX_WRAP_XDG_DATA_DIRS:+:}${!outputLib}/share" +_makeQtWrapperSetup() { + # cannot use addToSearchPath because these directories may not exist yet + export QT_PLUGIN_PATH="$QT_PLUGIN_PATH${QT_PLUGIN_PATH:+:}${!outputLib}/lib/qt5/plugins" + export QML_IMPORT_PATH="$QML_IMPORT_PATH${QML_IMPORT_PATH:+:}${!outputLib}/lib/qt5/imports" + export QML2_IMPORT_PATH="$QML2_IMPORT_PATH${QML2_IMPORT_PATH:+:}${!outputLib}/lib/qt5/qml" + export XDG_CONFIG_DIRS="$XDG_CONFIG_DIRS${XDG_CONFIG_DIRS:+:}${!outputLib}/etc/xdg" + export XDG_DATA_DIRS="$XDG_DATA_DIRS${XDG_DATA_DIRS:+:}${!outputLib}/share" + export NIX_WRAP_XDG_CONFIG_DIRS="$NIX_WRAP_XDG_CONFIG_DIRS${NIX_WRAP_XDG_CONFIG_DIRS:+:}${!outputLib}/etc/xdg" + export NIX_WRAP_XDG_DATA_DIRS="$NIX_WRAP_XDG_DATA_DIRS${NIX_WRAP_XDG_DATA_DIRS:+:}${!outputLib}/share" +} + +prePhases+=(_makeQtWrapperSetup) diff --git a/pkgs/development/libraries/qt-5/5.5/qmake-hook.sh b/pkgs/development/libraries/qt-5/5.5/qmake-hook.sh new file mode 100644 index 00000000000..f059c19e03b --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.5/qmake-hook.sh @@ -0,0 +1,101 @@ +if [[ -z "$QMAKE" ]]; then + +_qtLinkDependencyDir() { + @lndir@/bin/lndir -silent "$1/$2" "$qtOut/$2" + if [ -n "$NIX_QT_SUBMODULE" ]; then + find "$1/$2" -printf "$2/%P\n" >> "$out/nix-support/qt-inputs" + fi +} + +_qtLinkModule() { + if [ -d "$1/mkspecs" ]; then + # $1 is a Qt module + _qtLinkDependencyDir "$1" mkspecs + + for dir in bin include lib share; do + if [ -d "$1/$dir" ]; then + _qtLinkDependencyDir "$1" "$dir" + fi + done + fi +} + +_qtRmModules() { + cat "$out/nix-support/qt-inputs" | while read file; do + if [ -h "$out/$file" ]; then + rm "$out/$file" + fi + done + + cat "$out/nix-support/qt-inputs" | while read file; do + if [ -d "$out/$file" ]; then + rmdir --ignore-fail-on-non-empty -p "$out/$file" + fi + done + + rm "$out/nix-support/qt-inputs" +} + +_qtRmQmake() { + rm "$qtOut/bin/qmake" "$qtOut/bin/qt.conf" +} + +_qtSetQmakePath() { + export PATH="$qtOut/bin${PATH:+:}$PATH" +} + +_qtMultioutModuleDevs() { + # We cannot simply set these paths in configureFlags because libQtCore retains + # references to the paths it was built with. + moveToOutput "bin" "${!outputDev}" + moveToOutput "include" "${!outputDev}" + + # The destination directory must exist or moveToOutput will do nothing + mkdir -p "${!outputDev}/share" + moveToOutput "share/doc" "${!outputDev}" +} + +qmakeConfigurePhase() { + runHook preConfigure + + qmake PREFIX=$out $qmakeFlags + + runHook postConfigure +} + +qtOut="" +if [[ -z "$NIX_QT_SUBMODULE" ]]; then + qtOut=`mktemp -d` +else + qtOut=$out +fi + +mkdir -p "$qtOut/bin" "$qtOut/mkspecs" "$qtOut/include" "$qtOut/nix-support" "$qtOut/lib" "$qtOut/share" + +cp "@qt_dev@/bin/qmake" "$qtOut/bin" +cat >"$qtOut/bin/qt.conf" <<EOF +[Paths] +Prefix = $qtOut +Plugins = lib/qt5/plugins +Imports = lib/qt5/imports +Qml2Imports = lib/qt5/qml +Documentation = share/doc/qt5 +EOF + +export QMAKE="$qtOut/bin/qmake" + +envHooks+=(_qtLinkModule) +# Set PATH to find qmake first in a preConfigure hook +# It must run after all the envHooks! +postHooks+=(_qtSetQmakePath) + +if [ -z "$dontUseQmakeConfigure" -a -z "$configurePhase" ]; then + configurePhase=qmakeConfigurePhase +fi + +if [ -n "$NIX_QT_SUBMODULE" ]; then + postInstallHooks+=(_qtRmQmake _qtRmModules) + preFixupHooks+=(_qtMultioutModuleDevs) +fi + +fi diff --git a/pkgs/development/libraries/qt-5/5.5/qtbase/default.nix b/pkgs/development/libraries/qt-5/5.5/qtbase/default.nix index 35410d55e66..7d68116d716 100644 --- a/pkgs/development/libraries/qt-5/5.5/qtbase/default.nix +++ b/pkgs/development/libraries/qt-5/5.5/qtbase/default.nix @@ -121,11 +121,6 @@ stdenv.mkDerivation { # The destination directory must exist or moveToOutput will do nothing mkdir -p "$dev/share" moveToOutput "share/doc" "$dev" - - mkdir -p "$dev/lib" - lndir -silent "$out/lib" "$dev/lib" - if [[ -h "$dev/lib/cmake" ]]; then rm "$dev/lib/cmake"; fi - if [[ -h "$dev/lib/pkgconfig" ]]; then rm "$dev/lib/pkgconfig"; fi } preFixupHooks+=(_multioutQtDevs) @@ -259,7 +254,6 @@ stdenv.mkDerivation { fixQtModuleCMakeConfig "Xml" ''; - inherit lndir; setupHook = ./setup-hook.sh; enableParallelBuilding = true; diff --git a/pkgs/development/libraries/qt-5/5.5/qtbase/nix-profiles-library-paths.patch b/pkgs/development/libraries/qt-5/5.5/qtbase/nix-profiles-library-paths.patch index d20767a38e5..b4561db6e77 100644 --- a/pkgs/development/libraries/qt-5/5.5/qtbase/nix-profiles-library-paths.patch +++ b/pkgs/development/libraries/qt-5/5.5/qtbase/nix-profiles-library-paths.patch @@ -2,24 +2,18 @@ Index: qt-everywhere-opensource-src-5.5.1/qtbase/src/corelib/kernel/qcoreapplica =================================================================== --- qt-everywhere-opensource-src-5.5.1.orig/qtbase/src/corelib/kernel/qcoreapplication.cpp +++ qt-everywhere-opensource-src-5.5.1/qtbase/src/corelib/kernel/qcoreapplication.cpp -@@ -2498,6 +2498,22 @@ QStringList QCoreApplication::libraryPat +@@ -2498,6 +2498,16 @@ QStringList QCoreApplication::libraryPat } } } + qunsetenv("QT_PLUGIN_PATH"); // do not propagate to child processes + + // Add library paths derived from NIX_PROFILES. -+ const QByteArray nixProfilesEnv = qgetenv("NIX_PROFILES"); -+ if (!nixProfilesEnv.isEmpty()) { -+ QLatin1Char pathSep(' '); -+ QStringList paths = QFile::decodeName(nixProfilesEnv).split(pathSep, QString::SkipEmptyParts); -+ for (QStringList::iterator it = paths.begin(); it != paths.end(); ++it) { -+ it->append("/lib/qt5/plugins"); -+ QString canonicalPath = QDir(*it).canonicalPath(); -+ if (!canonicalPath.isEmpty() -+ && !app_libpaths->contains(canonicalPath)) { -+ app_libpaths->append(canonicalPath); -+ } ++ const QByteArrayList profiles = qgetenv("NIX_PROFILES").split(' '); ++ const QString plugindir = QString::fromLatin1("/lib/qt5/plugins"); ++ Q_FOREACH (const QByteArray &profile, profiles) { ++ if (!profile.isEmpty()) { ++ app_libpaths->append(QFile::decodeName(profile) + plugindir); + } + } } diff --git a/pkgs/development/libraries/qt-5/5.5/qtbase/setup-hook.sh b/pkgs/development/libraries/qt-5/5.5/qtbase/setup-hook.sh index 9cf1ef9ccb6..a9c4fbc855f 100644 --- a/pkgs/development/libraries/qt-5/5.5/qtbase/setup-hook.sh +++ b/pkgs/development/libraries/qt-5/5.5/qtbase/setup-hook.sh @@ -1,41 +1,3 @@ -if [[ -z "$QMAKE" ]]; then - -_qtLinkDependencyDir() { - @lndir@/bin/lndir -silent "$1/$2" "$qtOut/$2" - if [[ -n "$NIX_QT_SUBMODULE" ]]; then - find "$1/$2" -printf "$2/%P\n" >> "$out/nix-support/qt-inputs" - fi -} - -_qtLinkModule() { - if [ -d "$1/mkspecs" ]; then - # $1 is a Qt module - _qtLinkDependencyDir "$1" mkspecs - - for dir in bin include lib share; do - if [ -d "$1/$dir" ]; then - _qtLinkDependencyDir "$1" "$dir" - fi - done - fi -} - -_qtRmModules() { - cat "$out/nix-support/qt-inputs" | while read file; do - if [[ -h "$out/$file" ]]; then - rm "$out/$file" - fi - done - - cat "$out/nix-support/qt-inputs" | while read file; do - if [[ -d "$out/$file" ]]; then - rmdir --ignore-fail-on-non-empty -p "$out/$file" - fi - done - - rm "$out/nix-support/qt-inputs" -} - addToSearchPathOnceWithCustomDelimiter() { local delim="$1" local search="$2" @@ -43,11 +5,14 @@ addToSearchPathOnceWithCustomDelimiter() { local dirs local exported IFS="$delim" read -a dirs <<< "${!search}" - for dir in ${dirs[@]}; do - if [ "z$dir" == "z$target" ]; then exported=1; fi - done - if [ -z $exported ]; then - eval "export ${search}=\"${!search}${!search:+$delim}$target\"" + local canonical + if canonical=$(readlink -e "$target"); then + for dir in ${dirs[@]}; do + if [ "z$dir" == "z$canonical" ]; then exported=1; fi + done + if [ -z $exported ]; then + eval "export ${search}=\"${!search}${!search:+$delim}$canonical\"" + fi fi } @@ -72,63 +37,14 @@ _qtPropagateRuntimeDependencies() { addToSearchPathOnce QML2_IMPORT_PATH "$1/lib/qt5/qml" } -_qtRmQmake() { - rm "$qtOut/bin/qmake" "$qtOut/bin/qt.conf" -} - -_qtSetQmakePath() { - export PATH="$qtOut/bin${PATH:+:}$PATH" -} - -_qtMultioutModuleDevs() { - # We cannot simply set these paths in configureFlags because libQtCore retains - # references to the paths it was built with. - moveToOutput "bin" "${!outputDev}" - moveToOutput "include" "${!outputDev}" - - # The destination directory must exist or moveToOutput will do nothing - mkdir -p "${!outputDev}/share" - moveToOutput "share/doc" "${!outputDev}" -} +envHooks+=(_qtPropagateRuntimeDependencies) _qtMultioutDevs() { # This is necessary whether the package is a Qt module or not moveToOutput "mkspecs" "${!outputDev}" } -qtOut="" -if [[ -z "$NIX_QT_SUBMODULE" ]]; then - qtOut=`mktemp -d` -else - qtOut=$out -fi - -mkdir -p "$qtOut/bin" "$qtOut/mkspecs" "$qtOut/include" "$qtOut/nix-support" "$qtOut/lib" "$qtOut/share" - -cp "@dev@/bin/qmake" "$qtOut/bin" -cat >"$qtOut/bin/qt.conf" <<EOF -[Paths] -Prefix = $qtOut -Plugins = lib/qt5/plugins -Imports = lib/qt5/imports -Qml2Imports = lib/qt5/qml -Documentation = share/doc/qt5 -EOF - -export QMAKE="$qtOut/bin/qmake" - -envHooks+=(_qtLinkModule _qtPropagateRuntimeDependencies) -# Set PATH to find qmake first in a preConfigure hook -# It must run after all the envHooks! -preConfigureHooks+=(_qtSetQmakePath) - preFixupHooks+=(_qtMultioutDevs) -if [[ -n "$NIX_QT_SUBMODULE" ]]; then - postInstallHooks+=(_qtRmQmake _qtRmModules) - preFixupHooks+=(_qtMultioutModuleDevs) -fi - -fi if [[ -z "$NIX_QT_PIC" ]]; then export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE${NIX_CFLAGS_COMPILE:+ }-fPIC" diff --git a/pkgs/development/libraries/qt-5/5.5/qtdeclarative/nix-profiles-import-paths.patch b/pkgs/development/libraries/qt-5/5.5/qtdeclarative/nix-profiles-import-paths.patch index e69de29bb2d..06b244b974f 100644 --- a/pkgs/development/libraries/qt-5/5.5/qtdeclarative/nix-profiles-import-paths.patch +++ b/pkgs/development/libraries/qt-5/5.5/qtdeclarative/nix-profiles-import-paths.patch @@ -0,0 +1,20 @@ +Index: qtdeclarative-opensource-src-5.5.1/src/qml/qml/qqmlimport.cpp +=================================================================== +--- qtdeclarative-opensource-src-5.5.1.orig/src/qml/qml/qqmlimport.cpp ++++ qtdeclarative-opensource-src-5.5.1/src/qml/qml/qqmlimport.cpp +@@ -1549,6 +1549,15 @@ QQmlImportDatabase::QQmlImportDatabase(Q + QString installImportsPath = QLibraryInfo::location(QLibraryInfo::Qml2ImportsPath); + addImportPath(installImportsPath); + ++ // Add library paths derived from NIX_PROFILES. ++ const QByteArrayList profiles = qgetenv("NIX_PROFILES").split(' '); ++ const QString qmldir = QString::fromLatin1("/lib/qt5/qml"); ++ Q_FOREACH (const QByteArray &profile, profiles) { ++ if (!profile.isEmpty()) { ++ addImportPath(QFile::decodeName(profile) + qmldir); ++ } ++ } ++ + // env import paths + QByteArray envImportPath = qgetenv("QML2_IMPORT_PATH"); + if (!envImportPath.isEmpty()) { diff --git a/pkgs/development/libraries/qt-5/5.5/qtmultimedia.nix b/pkgs/development/libraries/qt-5/5.5/qtmultimedia.nix index 8db8fa5f4b9..9eb68ba6b5b 100644 --- a/pkgs/development/libraries/qt-5/5.5/qtmultimedia.nix +++ b/pkgs/development/libraries/qt-5/5.5/qtmultimedia.nix @@ -8,7 +8,7 @@ qtSubmodule { buildInputs = [ pkgconfig alsaLib gstreamer gst-plugins-base libpulseaudio ]; - configureFlags = "GST_VERSION=1.0"; + qmakeFlags = [ "GST_VERSION=1.0" ]; postFixup = '' fixQtModuleCMakeConfig "Multimedia" fixQtModuleCMakeConfig "MultimediaWidgets" diff --git a/pkgs/development/libraries/qt-5/5.5/qtquick1/nix-profiles-import-paths.patch b/pkgs/development/libraries/qt-5/5.5/qtquick1/nix-profiles-import-paths.patch index e69de29bb2d..c01061d3378 100644 --- a/pkgs/development/libraries/qt-5/5.5/qtquick1/nix-profiles-import-paths.patch +++ b/pkgs/development/libraries/qt-5/5.5/qtquick1/nix-profiles-import-paths.patch @@ -0,0 +1,20 @@ +Index: qtquick1-opensource-src-5.5.1/src/declarative/qml/qdeclarativeimport.cpp +=================================================================== +--- qtquick1-opensource-src-5.5.1.orig/src/declarative/qml/qdeclarativeimport.cpp ++++ qtquick1-opensource-src-5.5.1/src/declarative/qml/qdeclarativeimport.cpp +@@ -725,6 +725,15 @@ QDeclarativeImportDatabase::QDeclarative + + addImportPath(installImportsPath); + ++ // Add library paths derived from NIX_PROFILES. ++ const QByteArrayList profiles = qgetenv("NIX_PROFILES").split(' '); ++ const QString importdir = QString::fromLatin1("/lib/qt5/imports"); ++ Q_FOREACH (const QByteArray &profile, profiles) { ++ if (!profile.isEmpty()) { ++ addImportPath(QFile::decodeName(profile) + importdir); ++ } ++ } ++ + // env import paths + QByteArray envImportPath = qgetenv("QML_IMPORT_PATH"); + if (!envImportPath.isEmpty()) { diff --git a/pkgs/development/libraries/qtscriptgenerator/default.nix b/pkgs/development/libraries/qtscriptgenerator/default.nix index 499c6f18453..3221fec4b4b 100644 --- a/pkgs/development/libraries/qtscriptgenerator/default.nix +++ b/pkgs/development/libraries/qtscriptgenerator/default.nix @@ -1,4 +1,4 @@ -{stdenv, fetchurl, qt4}: +{ stdenv, fetchurl, qt4 }: stdenv.mkDerivation { name = "qtscriptgenerator-0.1.0"; diff --git a/pkgs/development/libraries/quazip/default.nix b/pkgs/development/libraries/quazip/default.nix index 7ef1a9212a1..a1eb2ad7084 100644 --- a/pkgs/development/libraries/quazip/default.nix +++ b/pkgs/development/libraries/quazip/default.nix @@ -1,4 +1,4 @@ -{ fetchurl, stdenv, zip, zlib, qt }: +{ fetchurl, stdenv, zip, zlib, qt, qmakeHook }: stdenv.mkDerivation rec { name = "quazip-0.7.1"; @@ -8,15 +8,10 @@ stdenv.mkDerivation rec { sha256 = "1pijy6zn8kdx9m6wrckid24vkgp250hklbpmgrpixiam6l889jbq"; }; - configurePhase = '' - runHook preConfigure - cd quazip && qmake quazip.pro - runHook postConfigure - ''; - - installFlags = "INSTALL_ROOT=$(out)"; + preConfigure = "cd quazip"; buildInputs = [ zlib qt ]; + nativeBuildInputs = [ qmakeHook ]; meta = { description = "Provides access to ZIP archives from Qt programs"; diff --git a/pkgs/development/libraries/qwt/6.nix b/pkgs/development/libraries/qwt/6.nix index a99573ca5e4..cd940b818e9 100644 --- a/pkgs/development/libraries/qwt/6.nix +++ b/pkgs/development/libraries/qwt/6.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, qtbase, qtsvg, qttools }: +{ stdenv, fetchurl, qtbase, qtsvg, qttools, qmakeHook }: stdenv.mkDerivation rec { name = "qwt-6.1.2"; @@ -9,16 +9,13 @@ stdenv.mkDerivation rec { }; propagatedBuildInputs = [ qtbase qtsvg qttools ]; + nativeBuildInputs = [ qmakeHook ]; postPatch = '' sed -e "s|QWT_INSTALL_PREFIX.*=.*|QWT_INSTALL_PREFIX = $out|g" -i qwtconfig.pri ''; - configurePhase = '' - runHook preConfigure - qmake -after doc.path=$out/share/doc/${name} -r - runHook postConfigure - ''; + qmakeFlags = [ "-after doc.path=$out/share/doc/${name}" ]; meta = with stdenv.lib; { description = "Qt widgets for technical applications"; diff --git a/pkgs/development/libraries/qwt/default.nix b/pkgs/development/libraries/qwt/default.nix index 451784261f8..da5769e92cd 100644 --- a/pkgs/development/libraries/qwt/default.nix +++ b/pkgs/development/libraries/qwt/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, qt4 }: +{ stdenv, fetchurl, qt4, qmake4Hook }: stdenv.mkDerivation rec { name = "qwt-5.2.3"; @@ -9,16 +9,15 @@ stdenv.mkDerivation rec { }; propagatedBuildInputs = [ qt4 ]; + nativeBuildInputs = [ qmake4Hook ]; postPatch = '' sed -e "s@\$\$\[QT_INSTALL_PLUGINS\]@$out/lib/qt4/plugins@" -i designer/designer.pro sed -e "s|INSTALLBASE.*=.*|INSTALLBASE = $out|g" -i qwtconfig.pri ''; - configurePhase = '' - runHook preConfigure - qmake INSTALLBASE=$out -after doc.path=$out/share/doc/${name} -r - runHook postConfigure + preConfigure = '' + qmakeFlags="$qmakeFlags INSTALLBASE=$out -after doc.path=$out/share/doc/${name}" ''; meta = with stdenv.lib; { diff --git a/pkgs/development/libraries/signon/default.nix b/pkgs/development/libraries/signon/default.nix index 2da555635b2..f2f7de5b712 100644 --- a/pkgs/development/libraries/signon/default.nix +++ b/pkgs/development/libraries/signon/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, doxygen, qtbase }: +{ stdenv, fetchurl, doxygen, qtbase, qmakeHook }: stdenv.mkDerivation rec { name = "signon-${version}"; @@ -9,12 +9,10 @@ stdenv.mkDerivation rec { }; buildInputs = [ qtbase ]; - nativeBuildInputs = [ doxygen ]; + nativeBuildInputs = [ doxygen qmakeHook ]; - configurePhase = '' - runHook preConfigure - qmake PREFIX=$out LIBDIR=$out/lib CMAKE_CONFIG_PATH=$out/lib/cmake/SignOnQt5 - runHook postConfigure + preConfigure = '' + qmakeFlags="$qmakeFlags LIBDIR=$out/lib CMAKE_CONFIG_PATH=$out/lib/cmake/SignOnQt5" ''; } diff --git a/pkgs/development/libraries/speechd/default.nix b/pkgs/development/libraries/speechd/default.nix index 94489e992a6..1a943be0fc2 100644 --- a/pkgs/development/libraries/speechd/default.nix +++ b/pkgs/development/libraries/speechd/default.nix @@ -1,22 +1,39 @@ -{ fetchurl, stdenv, dotconf, glib, pkgconfig }: +{ fetchurl, lib, stdenv, intltool, libtool, pkgconfig, glib, dotconf, libsndfile +, libao, python3Packages +, withEspeak ? false, espeak +, withPico ? true, svox +}: stdenv.mkDerivation rec { - name = "speech-dispatcher-" + version; - version = "0.7.1"; + name = "speech-dispatcher-${version}"; + version = "0.8.3"; src = fetchurl { url = "http://www.freebsoft.org/pub/projects/speechd/${name}.tar.gz"; - sha256 = "0laag72iw03545zggdzcr860b8q7w1vrjr3csd2ldps7jhlwzad8"; + sha256 = "0kqy7z4l59n2anc7xn588w4rkacig1hajx8c53qrh90ypar978ln"; }; - buildInputs = [ dotconf glib pkgconfig ]; + buildInputs = [ intltool libtool glib dotconf libsndfile libao python3Packages.python ] + ++ lib.optional withEspeak espeak + ++ lib.optional withPico svox; + nativeBuildInputs = [ pkgconfig python3Packages.wrapPython ]; hardeningDisable = [ "format" ]; - meta = { - description = "Common interface to speech synthesis"; + pythonPath = with python3Packages; [ pyxdg ]; + + postPatch = lib.optionalString withPico '' + sed -i 's,/usr/share/pico/lang/,${svox}/share/pico/lang/,g' src/modules/pico.c + ''; + postInstall = '' + wrapPythonPrograms + ''; + + meta = with stdenv.lib; { + description = "Common interface to speech synthesis"; homepage = http://www.freebsoft.org/speechd; - license = stdenv.lib.licenses.gpl2Plus; + license = licenses.gpl2Plus; + platforms = platforms.linux; }; } diff --git a/pkgs/development/libraries/sqlite/default.nix b/pkgs/development/libraries/sqlite/default.nix index feb5e5d3040..b34e2f648ec 100644 --- a/pkgs/development/libraries/sqlite/default.nix +++ b/pkgs/development/libraries/sqlite/default.nix @@ -3,11 +3,11 @@ assert interactive -> readline != null && ncurses != null; stdenv.mkDerivation { - name = "sqlite-3.11.1"; + name = "sqlite-3.12.2"; src = fetchurl { - url = "http://sqlite.org/2016/sqlite-autoconf-3110100.tar.gz"; - sha1 = "c4b4dcd735a4daf5a2e2bb90f374484c8d4dad29"; + url = "http://sqlite.org/2016/sqlite-autoconf-3120200.tar.gz"; + sha1 = "b43c2e7238e54c50b95fbbd85c48792f4f39af8c"; }; outputs = [ "dev" "out" "bin" ]; diff --git a/pkgs/development/libraries/sqlite/sqlite3_analyzer.nix b/pkgs/development/libraries/sqlite/sqlite3_analyzer.nix index 4e5d360aea0..d3e1a6dc17e 100644 --- a/pkgs/development/libraries/sqlite/sqlite3_analyzer.nix +++ b/pkgs/development/libraries/sqlite/sqlite3_analyzer.nix @@ -1,7 +1,7 @@ { lib, stdenv, fetchurl, unzip, tcl }: stdenv.mkDerivation { - name = "sqlite3_analzer-3.8.10.1"; + name = "sqlite3_analyzer-3.8.10.1"; src = fetchurl { url = "https://www.sqlite.org/2015/sqlite-src-3081001.zip"; diff --git a/pkgs/development/libraries/telepathy/glib/default.nix b/pkgs/development/libraries/telepathy/glib/default.nix index 9167ecc76d4..bb187ce1202 100644 --- a/pkgs/development/libraries/telepathy/glib/default.nix +++ b/pkgs/development/libraries/telepathy/glib/default.nix @@ -2,11 +2,11 @@ , gobjectIntrospection, valaSupport ? true, vala }: stdenv.mkDerivation rec { - name = "telepathy-glib-0.24.0"; + name = "telepathy-glib-0.24.1"; src = fetchurl { url = "${meta.homepage}/releases/telepathy-glib/${name}.tar.gz"; - sha256 = "ae0002134991217f42e503c43dea7817853afc18863b913744d51ffa029818cf"; + sha256 = "1symyzbjmxvksn2ifdkk50lafjm2llf2sbmky062gq2pz3cg23cy"; }; configureFlags = stdenv.lib.optional valaSupport "--enable-vala-bindings"; diff --git a/pkgs/development/libraries/tsocks/default.nix b/pkgs/development/libraries/tsocks/default.nix index 778762f1bf8..149b2260792 100644 --- a/pkgs/development/libraries/tsocks/default.nix +++ b/pkgs/development/libraries/tsocks/default.nix @@ -1,4 +1,5 @@ { stdenv, fetchurl }: + stdenv.mkDerivation rec { name = "tsocks-${version}"; version = "1.8beta5"; @@ -16,11 +17,19 @@ stdenv.mkDerivation rec { export configureFlags="$configureFlags --libdir=$out/lib" ''; + preBuild = '' + # We don't need the saveme binary, it is in fact never stored and we're + # never injecting stuff into ld.so.preload anyway + sed -i \ + -e "s,TARGETS=\(.*\)..SAVE.\(.*\),TARGETS=\1\2," \ + -e "/SAVE/d" Makefile + ''; + meta = with stdenv.lib; { description = "Transparent SOCKS v4 proxying library"; homepage = http://tsocks.sourceforge.net/; license = stdenv.lib.licenses.gpl2; maintainers = with maintainers; [ edwtjo phreedom ]; - platforms = platforms.linux; + platforms = platforms.unix; }; -} \ No newline at end of file +} diff --git a/pkgs/development/libraries/v8/3.16.14.nix b/pkgs/development/libraries/v8/3.16.14.nix index c79357cd907..d9addab3030 100644 --- a/pkgs/development/libraries/v8/3.16.14.nix +++ b/pkgs/development/libraries/v8/3.16.14.nix @@ -3,7 +3,10 @@ assert readline != null; let - arch = if stdenv.is64bit then "x64" else "ia32"; + arch = if stdenv.isArm + then (if stdenv.is64bit then "arm64" else "arm") + else (if stdenv.is64bit then "x64" else "ia32"); + armHardFloat = stdenv.isArm && (stdenv.platform.gcc.float or null) == "hard"; in stdenv.mkDerivation rec { @@ -34,6 +37,7 @@ stdenv.mkDerivation rec { -Dconsole=readline \ -Dcomponent=shared_library \ -Dv8_target_arch=${arch} \ + ${lib.optionalString armHardFloat "-Dv8_use_arm_eabi_hardfloat=true"} \ --depth=. -Ibuild/standalone.gypi \ build/all.gyp ''; diff --git a/pkgs/development/libraries/v8/4.5.nix b/pkgs/development/libraries/v8/4.5.nix index 50fc2b7b0d9..065b656147d 100644 --- a/pkgs/development/libraries/v8/4.5.nix +++ b/pkgs/development/libraries/v8/4.5.nix @@ -122,8 +122,8 @@ stdenv.mkDerivation rec { install -vD out/Release/mksnapshot "$out/bin/mksnapshot" ${if stdenv.isDarwin then '' install -vD out/Release/lib.target/libv8.dylib "$out/lib/libv8.dylib" - install_name_tool -change /usr/local/lib/libv8.dylib $out/lib/libv8.dylib -change /usr/lib/libgcc_s.1.dylib ${stdenv.cc.cc}/lib/libgcc_s.1.dylib $out/bin/d8 - install_name_tool -id $out/lib/libv8.dylib -change /usr/lib/libgcc_s.1.dylib ${stdenv.cc.cc}/lib/libgcc_s.1.dylib $out/lib/libv8.dylib + install_name_tool -change /usr/local/lib/libv8.dylib $out/lib/libv8.dylib -change /usr/lib/libgcc_s.1.dylib ${stdenv.cc.cc.lib}/lib/libgcc_s.1.dylib $out/bin/d8 + install_name_tool -id $out/lib/libv8.dylib -change /usr/lib/libgcc_s.1.dylib ${stdenv.cc.cc.lib}/lib/libgcc_s.1.dylib $out/lib/libv8.dylib '' else '' install -vD out/Release/lib.target/libv8.so "$out/lib/libv8.so" ''} diff --git a/pkgs/development/libraries/v8/generic.nix b/pkgs/development/libraries/v8/generic.nix index 349b35549b6..d603fda3225 100644 --- a/pkgs/development/libraries/v8/generic.nix +++ b/pkgs/development/libraries/v8/generic.nix @@ -67,8 +67,8 @@ stdenv.mkDerivation rec { ''; postFixup = if stdenv.isDarwin then '' - install_name_tool -change /usr/local/lib/libv8.dylib $out/lib/libv8.dylib -change /usr/lib/libgcc_s.1.dylib ${stdenv.cc.cc}/lib/libgcc_s.1.dylib $out/bin/d8 - install_name_tool -id $out/lib/libv8.dylib -change /usr/lib/libgcc_s.1.dylib ${stdenv.cc.cc}/lib/libgcc_s.1.dylib $out/lib/libv8.dylib + install_name_tool -change /usr/local/lib/libv8.dylib $out/lib/libv8.dylib -change /usr/lib/libgcc_s.1.dylib ${stdenv.cc.cc.lib}/lib/libgcc_s.1.dylib $out/bin/d8 + install_name_tool -id $out/lib/libv8.dylib -change /usr/lib/libgcc_s.1.dylib ${stdenv.cc.cc.lib}/lib/libgcc_s.1.dylib $out/lib/libv8.dylib '' else null; meta = with stdenv.lib; { diff --git a/pkgs/development/libraries/xalanc/default.nix b/pkgs/development/libraries/xalanc/default.nix new file mode 100644 index 00000000000..8284fd7707f --- /dev/null +++ b/pkgs/development/libraries/xalanc/default.nix @@ -0,0 +1,28 @@ +{ stdenv, fetchurl, xercesc }: + +stdenv.mkDerivation rec { + name = "xalan-c-${version}"; + version = "1.11"; + + src = fetchurl { + url = "http://www.eu.apache.org/dist/xalan/xalan-c/sources/xalan_c-${version}-src.tar.gz"; + sha256 = "0a3a2b15vpacnqgpp6fiy1pwyc8q6ywzvyb5445f6wixfdspypjg"; + }; + + configurePhase = '' + export XALANCROOT=`pwd`/c + cd `pwd`/c + mkdir -p $out/usr + ./runConfigure -p linux -c gcc -x g++ -P$out/usr + ''; + + buildInputs = [ xercesc ]; + + meta = { + homepage = http://xalan.apache.org/; + description = "A XSLT processor for transforming XML documents"; + license = stdenv.lib.licenses.asl20; + platforms = stdenv.lib.platforms.linux; + maintainers = [ stdenv.lib.maintainers.jagajaga ]; + }; +} diff --git a/pkgs/development/libraries/xml-security-c/default.nix b/pkgs/development/libraries/xml-security-c/default.nix new file mode 100644 index 00000000000..1932acbd7ed --- /dev/null +++ b/pkgs/development/libraries/xml-security-c/default.nix @@ -0,0 +1,34 @@ +{ stdenv, fetchurl, xalanc, xercesc, openssl, pkgconfig }: + +stdenv.mkDerivation rec { + name = "xml-security-c-${version}"; + version = "1.7.3"; + + src = fetchurl { + url = "http://www.apache.org/dist/santuario/c-library/${name}.tar.gz"; + sha256 = "e5226e7319d44f6fd9147a13fb853f5c711b9e75bf60ec273a0ef8a190592583"; + }; + + patchPhase = '' + mkdir -p xsec/yes/lib + sed -i -e 's/-O2 -DNDEBUG/-DNDEBUG/g' configure + ''; + + configurePhase = '' + ./configure --prefix=$out \ + --with-openssl \ + --with-xerces \ + --with-xalan \ + --disable-static + ''; + + buildInputs = [ xalanc xercesc openssl pkgconfig ]; + + meta = { + homepage = http://santuario.apache.org/; + description = "C++ Implementation of W3C security standards for XML"; + license = stdenv.lib.licenses.gpl2; + platforms = stdenv.lib.platforms.linux; + maintainers = [ stdenv.lib.maintainers.jagajaga ]; + }; +} diff --git a/pkgs/development/libraries/xsd/default.nix b/pkgs/development/libraries/xsd/default.nix new file mode 100644 index 00000000000..bef2e46e073 --- /dev/null +++ b/pkgs/development/libraries/xsd/default.nix @@ -0,0 +1,38 @@ +{ stdenv, fetchurl, xercesc }: + +let + fixed_paths = ''LDFLAGS="-L${xercesc}/lib" CPPFLAGS="-I${xercesc}/include"''; +in +stdenv.mkDerivation rec { + name = "xsd-${version}"; + version = "4.0.0"; + + src = fetchurl { + url = "http://codesynthesis.com/download/xsd/4.0/xsd-4.0.0+dep.tar.bz2"; + sha256 = "05wqhmd5cd4pdky8i8qysnh96d2h16ly8r73whmbxkajiyf2m9gc"; + }; + + patches = [ ./xsdcxx.patch ]; + + configurePhase = '' + patchShebangs . + ''; + + buildPhase = '' + make ${fixed_paths} + ''; + + buildInputs = [ xercesc ]; + + installPhase = '' + make ${fixed_paths} install_prefix="$out" install + ''; + + meta = { + homepage = http://www.codesynthesis.com/products/xsd; + description = "An open-source, cross-platform W3C XML Schema to C++ data binding compiler"; + license = stdenv.lib.licenses.gpl2; + platforms = stdenv.lib.platforms.linux; + maintainers = [ stdenv.lib.maintainers.jagajaga ]; + }; +} diff --git a/pkgs/development/libraries/xsd/xsdcxx.patch b/pkgs/development/libraries/xsd/xsdcxx.patch new file mode 100644 index 00000000000..88a893c6e60 --- /dev/null +++ b/pkgs/development/libraries/xsd/xsdcxx.patch @@ -0,0 +1,126 @@ +--- xsd-4.0.0+dep/xsd/doc/xsd.1~ 2014-09-14 12:25:36.862267587 +0000 ++++ xsd-4.0.0+dep/xsd/doc/xsd.1 2014-09-14 12:28:25.728229892 +0000 +@@ -1,16 +1,16 @@ + .\" Process this file with +-.\" groff -man -Tascii xsd.1 ++.\" groff -man -Tascii xsdcxx.1 + .\" + .TH XSD 1 "July 2014" "XSD 4.0.0" + .SH NAME +-xsd \- W3C XML Schema to C++ Compiler ++xsdcxx \- W3C XML Schema to C++ Compiler + .\" + .\" + .\" + .\"-------------------------------------------------------------------- + .SH SYNOPSIS + .\"-------------------------------------------------------------------- +-.B xsd ++.B xsdcxx + .I command + .B [ + .I options +@@ -20,19 +20,19 @@ + .I file + .B ...] + .in +-.B xsd help ++.B xsdcxx help + .B [ + .I command + .B ] + .in +-.B xsd version ++.B xsdcxx version + .\" + .\" + .\" + .\"-------------------------------------------------------------------- + .SH DESCRIPTION + .\"-------------------------------------------------------------------- +-.B xsd ++.B xsdcxx + generates vocabulary-specific, statically-typed C++ mapping from W3C XML + Schema definitions. Particular mapping to produce is selected by a + .IR command . +@@ -96,7 +96,7 @@ + .PP + .RS + .RS 3 +-.B xsd help ++.B xsdcxx help + .I command + .RE + .PP +@@ -206,7 +206,7 @@ + \fIfilename\fP \fInamespace\fP + + For example, if you have file \fBhello\.xsd\fP with namespace +-\fBhttp://example\.com/hello\fP and you run \fBxsd\fP on this file, then the ++\fBhttp://example\.com/hello\fP and you run \fBxsdcxx\fP on this file, then the + string in question will be: + + \fBhello\.xsd\. http://example\.com/hello\fP +@@ -1632,7 +1632,7 @@ + .\" + .SH DIAGNOSTICS + If the input file is not a valid W3C XML Schema definition, +-.B xsd ++.B xsdcxx + will issue diagnostic messages to + .B STDERR + and exit with non-zero exit code. +--- xsd-4.0.0+dep/xsd/doc/xsd.xhtml~ 2014-09-14 12:28:37.731513138 +0000 ++++ xsd-4.0.0+dep/xsd/doc/xsd.xhtml 2014-09-14 12:30:11.277789610 +0000 +@@ -50,19 +50,19 @@ + + <h1>NAME</h1> + +- <p>xsd - W3C XML Schema to C++ Compiler</p> ++ <p>xsdcxx - W3C XML Schema to C++ Compiler</p> + + <h1>SYNOPSIS</h1> + + <dl id="synopsis"> +- <dt><code><b>xsd</b> <i>command</i> [<i>options</i>] <i>file</i> [<i>file</i> ...]</code></dt> +- <dt><code><b>xsd help</b> [<i>command</i>]</code></dt> +- <dt><code><b>xsd version</b></code></dt> ++ <dt><code><b>xsdcxx</b> <i>command</i> [<i>options</i>] <i>file</i> [<i>file</i> ...]</code></dt> ++ <dt><code><b>xsdcxx help</b> [<i>command</i>]</code></dt> ++ <dt><code><b>xsdcxx version</b></code></dt> + </dl> + + <h1>DESCRIPTION</h1> + +- <p><code><b>xsd</b></code> generates vocabulary-specific, statically-typed ++ <p><code><b>xsdcxx</b></code> generates vocabulary-specific, statically-typed + C++ mapping from W3C XML Schema definitions. Particular mapping to + produce is selected by a <code><i>command</i></code>. Each mapping has + a number of mapping-specific <code><i>options</i></code> that should +@@ -104,7 +104,7 @@ + + <dt><code><b>help</b></code></dt> + <dd>Print usage information and exit. Use +- <p><code><b>xsd help</b> <i>command</i></code></p> ++ <p><code><b>xsdcxx help</b> <i>command</i></code></p> + for command-specific help. + </dd> + +@@ -219,7 +219,7 @@ + + <p>For example, if you have file <code><b>hello.xsd</b></code> with + namespace <code><b>http://example.com/hello</b></code> and you run +- <code><b>xsd</b></code> on this file, then the string in question will ++ <code><b>xsdcxx</b></code> on this file, then the string in question will + be:</p> + + <p><code><b>hello.xsd. http://example.com/hello</b></code></p> +@@ -1530,7 +1530,7 @@ + <h1>DIAGNOSTICS</h1> + + <p>If the input file is not a valid W3C XML Schema definition, +- <code><b>xsd</b></code> will issue diagnostic messages to STDERR ++ <code><b>xsdcxx</b></code> will issue diagnostic messages to STDERR + and exit with non-zero exit code.</p> + + <h1>BUGS</h1> |