diff options
Diffstat (limited to 'pkgs/development/libraries')
38 files changed, 713 insertions, 200 deletions
diff --git a/pkgs/development/libraries/bootil/default.nix b/pkgs/development/libraries/bootil/default.nix index 20ca175d7b89f..a2045e3814362 100644 --- a/pkgs/development/libraries/bootil/default.nix +++ b/pkgs/development/libraries/bootil/default.nix @@ -1,24 +1,20 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, premake4 }: +{ lib +, stdenv +, fetchFromGitHub +, premake4 +}: stdenv.mkDerivation { pname = "bootil"; - version = "unstable-2015-12-17"; + version = "unstable-2019-11-18"; src = fetchFromGitHub { owner = "garrynewman"; repo = "bootil"; - rev = "1d3e321fc2be359e2350205b8c7f1cad2164ee0b"; - sha256 = "03wq526r80l2px797hd0n5m224a6jibwipcbsvps6l9h740xabzg"; + rev = "beb4cec8ad29533965491b767b177dc549e62d23"; + sha256 = "1njdj6nvmwf7j2fwqbyvd1cf5l52797vk2wnsliylqdzqcjmfpij"; }; - patches = [ - (fetchpatch { - url = "https://github.com/garrynewman/bootil/pull/22.patch"; - name = "github-pull-request-22.patch"; - sha256 = "1qf8wkv00pb9w1aa0dl89c8gm4rmzkxfl7hidj4gz0wpy7a24qa2"; - }) - ]; - # Avoid guessing where files end up. Just use current directory. postPatch = '' substituteInPlace projects/premake4.lua \ @@ -28,6 +24,7 @@ stdenv.mkDerivation { ''; nativeBuildInputs = [ premake4 ]; + premakefile = "projects/premake4.lua"; installPhase = '' @@ -40,8 +37,7 @@ stdenv.mkDerivation { homepage = "https://github.com/garrynewman/bootil"; # License unsure - see https://github.com/garrynewman/bootil/issues/21 license = licenses.free; - maintainers = [ maintainers.abigailbuccaneer ]; - platforms = platforms.all; + maintainers = with maintainers; [ abigailbuccaneer ]; # Build uses `-msse` and `-mfpmath=sse` badPlatforms = [ "aarch64-linux" ]; }; diff --git a/pkgs/development/libraries/boringssl/default.nix b/pkgs/development/libraries/boringssl/default.nix index aa3eeef48a555..f8c27f96dcc1d 100644 --- a/pkgs/development/libraries/boringssl/default.nix +++ b/pkgs/development/libraries/boringssl/default.nix @@ -1,22 +1,39 @@ -{ lib, stdenv, fetchgit, cmake, perl, go }: +{ lib +, stdenv +, fetchgit +, cmake +, ninja +, perl +, buildGoModule +}: # reference: https://boringssl.googlesource.com/boringssl/+/2661/BUILDING.md -stdenv.mkDerivation { +buildGoModule { pname = "boringssl"; - version = "2019-12-04"; + version = "2021-04-18"; src = fetchgit { url = "https://boringssl.googlesource.com/boringssl"; - rev = "243b5cc9e33979ae2afa79eaa4e4c8d59db161d4"; - sha256 = "1ak27dln0zqy2vj4llqsb99g03sk0sg25wlp09b58cymrh3gccvl"; + rev = "468cde90ca58421d63f4dfeaebcf8bb3fccb4127"; + sha256 = "0gaqcbvp6r5fq265mckmg0i0rjab0bhxkxcvfxp3ar5dm7q88w39"; }; - nativeBuildInputs = [ cmake perl go ]; + nativeBuildInputs = [ cmake ninja perl ]; - makeFlags = [ "GOCACHE=$(TMPDIR)/go-cache" ]; + vendorSha256 = "sha256-pQpattmS9VmO3ZIQUFn66az8GSmB4IvYhTTCFn6SUmo="; + + # hack to get both go and cmake configure phase + # (if we use postConfigure then cmake will loop runHook postConfigure) + preBuild = '' + cmakeConfigurePhase + ''; + + buildPhase = '' + ninjaBuildPhase + ''; # CMAKE_OSX_ARCHITECTURES is set to x86_64 by Nix, but it confuses boringssl on aarch64-linux. - cmakeFlags = lib.optionals (stdenv.isLinux) [ "-DCMAKE_OSX_ARCHITECTURES=" ]; + cmakeFlags = [ "-GNinja" ] ++ lib.optionals (stdenv.isLinux) [ "-DCMAKE_OSX_ARCHITECTURES=" ]; installPhase = '' mkdir -p $bin/bin $out/include $out/lib diff --git a/pkgs/development/libraries/caf/default.nix b/pkgs/development/libraries/caf/default.nix index 944b5276c5a94..a5baef8af1ed4 100644 --- a/pkgs/development/libraries/caf/default.nix +++ b/pkgs/development/libraries/caf/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "actor-framework"; - version = "0.18.0"; + version = "0.18.1"; src = fetchFromGitHub { owner = "actor-framework"; repo = "actor-framework"; rev = version; - sha256 = "1c3spd6vm1h9qhlk5c4fdwi6nbqx5vwz2zvv6qp0rj1hx6xpq3cx"; + sha256 = "sha256-tRR+YFI/Ikf4rov4dzt59nDqaooALNspKEQehHP6sKU="; }; nativeBuildInputs = [ cmake ]; diff --git a/pkgs/development/libraries/cosmopolitan/default.nix b/pkgs/development/libraries/cosmopolitan/default.nix new file mode 100644 index 0000000000000..629e5465a0444 --- /dev/null +++ b/pkgs/development/libraries/cosmopolitan/default.nix @@ -0,0 +1,80 @@ +{ lib, gcc9Stdenv, fetchFromGitHub, runCommand, cosmopolitan }: + +gcc9Stdenv.mkDerivation rec { + pname = "cosmopolitan"; + version = "0.3"; + + src = fetchFromGitHub { + owner = "jart"; + repo = "cosmopolitan"; + rev = version; + sha256 = "sha256-OVdOObO82W6JN63OWKHaERS7y0uvgxt+WLp6Y0LsmJk="; + }; + + postPatch = '' + patchShebangs build/ + rm -r third_party/gcc + ''; + + dontConfigure = true; + dontFixup = true; + enableParallelBuilding = true; + + preBuild = '' + makeFlagsArray=( + SHELL=/bin/sh + AS=${gcc9Stdenv.cc.targetPrefix}as + CC=${gcc9Stdenv.cc.targetPrefix}gcc + GCC=${gcc9Stdenv.cc.targetPrefix}gcc + CXX=${gcc9Stdenv.cc.targetPrefix}g++ + LD=${gcc9Stdenv.cc.targetPrefix}ld + OBJCOPY=${gcc9Stdenv.cc.targetPrefix}objcopy + "MKDIR=mkdir -p" + ) + ''; + + installPhase = '' + runHook preInstall + mkdir -p $out/{bin,lib/include} + install o/cosmopolitan.h $out/lib/include + install o/cosmopolitan.a o/libc/crt/crt.o o/ape/ape.{o,lds} $out/lib + cat > $out/bin/cosmoc <<EOF + #!${gcc9Stdenv.shell} + exec ${gcc9Stdenv.cc}/bin/${gcc9Stdenv.cc.targetPrefix}gcc \ + -O -static -nostdlib -nostdinc -fno-pie -no-pie -mno-red-zone \ + "\$@" \ + -Wl,--oformat=binary -Wl,--gc-sections -Wl,-z,max-page-size=0x1000 \ + -fuse-ld=bfd -Wl,-T,$out/lib/ape.lds \ + -include $out/lib/{include/cosmopolitan.h,crt.o,ape.o,cosmopolitan.a} + EOF + chmod +x $out/bin/cosmoc + runHook postInstall + ''; + + passthru.tests = lib.optional (gcc9Stdenv.buildPlatform == gcc9Stdenv.hostPlatform) { + hello = runCommand "hello-world" { } '' + printf 'main() { printf("hello world\\n"); }\n' >hello.c + ${gcc9Stdenv.cc}/bin/gcc -g -O -static -nostdlib -nostdinc -fno-pie -no-pie -mno-red-zone -o hello.com.dbg hello.c \ + -fuse-ld=bfd -Wl,-T,${cosmopolitan}/lib/ape.lds \ + -include ${cosmopolitan}/lib/{include/cosmopolitan.h,crt.o,ape.o,cosmopolitan.a} + ${gcc9Stdenv.cc.bintools.bintools_bin}/bin/objcopy -S -O binary hello.com.dbg hello.com + ./hello.com + printf "test successful" > $out + ''; + cosmoc = runCommand "cosmoc-hello" { } '' + printf 'main() { printf("hello world\\n"); }\n' >hello.c + ${cosmopolitan}/bin/cosmoc hello.c + ./a.out + printf "test successful" > $out + ''; + }; + + meta = with lib; { + homepage = "https://justine.lol/cosmopolitan/"; + description = "Your build-once run-anywhere c library"; + platforms = platforms.x86_64; + badPlatforms = platforms.darwin; + license = licenses.isc; + maintainers = with maintainers; [ lourkeur tomberek ]; + }; +} diff --git a/pkgs/development/libraries/cxxopts/default.nix b/pkgs/development/libraries/cxxopts/default.nix index ddbc845e3b493..1df570d7d290d 100644 --- a/pkgs/development/libraries/cxxopts/default.nix +++ b/pkgs/development/libraries/cxxopts/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { name = "cxxopts"; - version = "2.2.1"; + version = "unstable-2020-12-14"; src = fetchFromGitHub { owner = "jarro2783"; repo = name; - rev = "v${version}"; - sha256 = "0d3y747lsh1wkalc39nxd088rbypxigm991lk3j91zpn56whrpha"; + rev = "2d8e17c4f88efce80e274cb03eeb902e055a91d3"; + sha256 = "0pwrac81zfqjs17g3hx8r3ds2xf04npb6mz111qjy4bx17314ib7"; }; buildInputs = lib.optional enableUnicodeHelp [ icu.dev ]; diff --git a/pkgs/development/libraries/entt/default.nix b/pkgs/development/libraries/entt/default.nix index 8efc9c05ca34b..34a4f93bb860e 100644 --- a/pkgs/development/libraries/entt/default.nix +++ b/pkgs/development/libraries/entt/default.nix @@ -1,13 +1,13 @@ { lib, stdenv, fetchFromGitHub, cmake }: stdenv.mkDerivation rec { pname = "entt"; - version = "3.7.0"; + version = "3.7.1"; src = fetchFromGitHub { owner = "skypjack"; repo = "entt"; rev = "v${version}"; - sha256 = "sha256-qDjt74nijZhXW7F7GW0CSv6JWOc/kXN7ndbkwSO0+1s="; + sha256 = "sha256-t1QRqasb82W277XEV2FG5JrsQWIWZ0G5V7wLI+p4MpQ="; }; nativeBuildInputs = [ cmake ]; diff --git a/pkgs/development/libraries/gnutls/default.nix b/pkgs/development/libraries/gnutls/default.nix index e97630871a91f..bec366b8e1684 100644 --- a/pkgs/development/libraries/gnutls/default.nix +++ b/pkgs/development/libraries/gnutls/default.nix @@ -34,10 +34,7 @@ stdenv.mkDerivation { patches = [ ./nix-ssl-cert-file.patch ] # Disable native add_system_trust. - ++ lib.optional (isDarwin && !withSecurity) ./no-security-framework.patch - # fix gnulib tests on 32-bit ARM. Included on gnutls master. - # https://lists.gnu.org/r/bug-gnulib/2020-08/msg00225.html - ++ lib.optional stdenv.hostPlatform.isAarch32 ./fix-gnulib-tests-arm.patch; + ++ lib.optional (isDarwin && !withSecurity) ./no-security-framework.patch; # Skip some tests: # - pkg-config: building against the result won't work before installing (3.5.11) @@ -50,7 +47,7 @@ stdenv.mkDerivation { sed '/^void doit(void)/,/^{/ s/{/{ exit(77);/' -i tests/{trust-store,psk-file}.c sed 's:/usr/lib64/pkcs11/ /usr/lib/pkcs11/ /usr/lib/x86_64-linux-gnu/pkcs11/:`pkg-config --variable=p11_module_path p11-kit-1`:' -i tests/p11-kit-trust.sh '' + lib.optionalString stdenv.hostPlatform.isMusl '' # See https://gitlab.com/gnutls/gnutls/-/issues/945 - sed '2iecho "certtool tests skipped in musl build"\nexit 0' -i tests/cert-tests/certtool + sed '2iecho "certtool tests skipped in musl build"\nexit 0' -i tests/cert-tests/certtool.sh ''; preConfigure = "patchShebangs ."; diff --git a/pkgs/development/libraries/igraph/default.nix b/pkgs/development/libraries/igraph/default.nix index bcd0fcee92c3c..86b8b7130ff47 100644 --- a/pkgs/development/libraries/igraph/default.nix +++ b/pkgs/development/libraries/igraph/default.nix @@ -1,7 +1,6 @@ { stdenv , lib , fetchFromGitHub -, fetchpatch , arpack , bison , blas @@ -22,23 +21,15 @@ stdenv.mkDerivation rec { pname = "igraph"; - version = "0.9.1"; + version = "0.9.2"; src = fetchFromGitHub { owner = "igraph"; repo = pname; rev = version; - sha256 = "sha256-i6Zg6bfHZ9NHwqCouX9m9YqD0VtiWW8DEkxS0hdUyIE="; + sha256 = "sha256-Ylw02Mz9H4wIWfq59za/X7xfhgW9o0DNU55nLFqeUeo="; }; - patches = [ - (fetchpatch { - name = "pkg-config-paths.patch"; - url = "https://github.com/igraph/igraph/commit/980521cc948777df471893f7b6de8f3e3916a3c0.patch"; - sha256 = "0mbq8v5h90c3dhgmyjazjvva3rn57qhnv7pkc9hlbqdln9gpqg0g"; - }) - ]; - # Normally, igraph wants us to call bootstrap.sh, which will call # tools/getversion.sh. Instead, we're going to put the version directly # where igraph wants, and then let autoreconfHook do the rest of the @@ -55,7 +46,9 @@ stdenv.mkDerivation rec { outputs = [ "out" "dev" "doc" ]; nativeBuildInputs = [ + bison cmake + flex fop libxml2 libxslt @@ -67,9 +60,7 @@ stdenv.mkDerivation rec { buildInputs = [ arpack - bison blas - flex glpk gmp lapack diff --git a/pkgs/development/libraries/intel-media-sdk/default.nix b/pkgs/development/libraries/intel-media-sdk/default.nix index dd605aaae5cd7..715e5621458e7 100644 --- a/pkgs/development/libraries/intel-media-sdk/default.nix +++ b/pkgs/development/libraries/intel-media-sdk/default.nix @@ -3,13 +3,13 @@ stdenv.mkDerivation rec { pname = "intel-media-sdk"; - version = "20.4.1"; + version = "20.5.1"; src = fetchFromGitHub { owner = "Intel-Media-SDK"; repo = "MediaSDK"; rev = "intel-mediasdk-${version}"; - sha256 = "0qnq43qjcmzkn6v2aymzi3kycndk9xw6m5f5g5sz5x53nz556bp0"; + sha256 = "0l5m7r8585ycifbbi5i0bs63c9sb8rsmk43ik97mhfl1ivswf1mv"; }; nativeBuildInputs = [ cmake pkg-config ]; diff --git a/pkgs/development/libraries/iodash/0001-Add-cmake-install-directives.patch b/pkgs/development/libraries/iodash/0001-Add-cmake-install-directives.patch new file mode 100644 index 0000000000000..1868a74192087 --- /dev/null +++ b/pkgs/development/libraries/iodash/0001-Add-cmake-install-directives.patch @@ -0,0 +1,44 @@ +From 89c7c160f897f64e17fb74efffccfd1fc16f8b7d Mon Sep 17 00:00:00 2001 +From: Jappie Klooster <jappieklooster@hotmail.com> +Date: Fri, 2 Apr 2021 14:22:02 -0400 +Subject: [PATCH] Add cmake install directives. + +To make nix builds work, it expect a `make install` command to +be available. +Adding these directives seems to fix the build. + +If it's no trouble to you, please add them. + +Maybe don't need endian +--- + CMakeLists.txt | 10 ++++++++++ + 1 file changed, 10 insertions(+) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 06e416f..8d6f489 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -6,6 +6,8 @@ set(CMAKE_CXX_STANDARD 17) + add_library(IODash INTERFACE) + target_include_directories(IODash INTERFACE .) + ++include(GNUInstallDirs) ++ + add_executable(IODash_Test test.cpp) + target_link_libraries(IODash_Test IODash) + +@@ -20,3 +22,11 @@ if (DEFINED BUILD_BENCHMARKS AND (${BUILD_BENCHMARKS})) + target_link_libraries(boost_Benchmark_HTTP boost_system pthread) + endif() + ++install(TARGETS IODash ++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) ++install(FILES IODash.hpp ++ DESTINATION include/) ++ ++install(FILES ++ IODash/Buffer.hpp IODash/SocketAddress.hpp IODash/File.hpp IODash/Socket.hpp IODash/EventLoop.hpp IODash/Serial.hpp IODash/Timer.hpp ++ DESTINATION include/IODash) +-- +2.29.2 + diff --git a/pkgs/development/libraries/iodash/default.nix b/pkgs/development/libraries/iodash/default.nix new file mode 100644 index 0000000000000..d8982f0f8c046 --- /dev/null +++ b/pkgs/development/libraries/iodash/default.nix @@ -0,0 +1,27 @@ +{ lib, stdenv, fetchFromGitHub, cmake, pkg-config }: + +stdenv.mkDerivation rec { + pname = "iodash"; + version = "0.1.7"; + + src = fetchFromGitHub { + owner = "YukiWorkshop"; + repo = "IODash"; + rev = "9dcb26621a9c17dbab704b5bab0c3a5fc72624cb"; + sha256 = "0db5y2206fwh3h1pzjm9hy3m76inm0xpm1c5gvrladz6hiqfp7bx"; + fetchSubmodules = true; + }; + # adds missing cmake install directives + # https://github.com/YukiWorkshop/IODash/pull/2 + patches = [ ./0001-Add-cmake-install-directives.patch]; + + nativeBuildInputs = [ cmake pkg-config ]; + + meta = with lib; { + homepage = "https://github.com/YukiWorkshop/IODash"; + description = "Lightweight C++ I/O library for POSIX operation systems"; + license = licenses.mit; + maintainers = with maintainers; [ jappie ]; + platforms = with platforms; linux; + }; +} diff --git a/pkgs/development/libraries/kissfft/0001-pkgconfig-darwin.patch b/pkgs/development/libraries/kissfft/0001-pkgconfig-darwin.patch new file mode 100644 index 0000000000000..534d46f0c8ba3 --- /dev/null +++ b/pkgs/development/libraries/kissfft/0001-pkgconfig-darwin.patch @@ -0,0 +1,48 @@ +From c0dc376be9154d143574a818417ceed23308b5f2 Mon Sep 17 00:00:00 2001 +From: OPNA2608 <christoph.neidahl@gmail.com> +Date: Sun, 18 Apr 2021 01:45:20 +0200 +Subject: [PATCH] pkgconfig darwin + +--- + Makefile | 4 ---- + 1 file changed, 4 deletions(-) + +diff --git a/Makefile b/Makefile +index 971c6d6..0f4be0c 100644 +--- a/Makefile ++++ b/Makefile +@@ -153,7 +153,6 @@ endif + # -DKISS_FFT_BUILD to TYPEFLAGS + # + +-ifneq ($(shell uname -s),Darwin) + PKGCONFIG_KISSFFT_VERSION = $(KFVER_MAJOR).$(KFVER_MINOR).$(KFVER_PATCH) + PKGCONFIG_KISSFFT_OUTPUT_NAME = $(KISSFFTLIB_SHORTNAME) + PKGCONFIG_PKG_KISSFFT_DEFS = $(TYPEFLAGS) +@@ -170,7 +169,6 @@ ifneq ($(shell uname -s),Darwin) + PKGCONFIG_KISSFFT_LIBDIR = $(ABS_LIBDIR) + endif + PKGCONFIG_KISSFFT_PKGINCLUDEDIR = $${includedir}/kissfft +-endif + + export TYPEFLAGS + +@@ -226,7 +224,6 @@ ifneq ($(KISSFFT_STATIC), 1) + ln -sf $(KISSFFTLIB_NAME) $(KISSFFTLIB_SODEVELNAME) + endif + endif +-ifneq ($(shell uname -s),Darwin) + mkdir "$(ABS_LIBDIR)/pkgconfig" + sed \ + -e 's+@PKGCONFIG_KISSFFT_VERSION@+$(PKGCONFIG_KISSFFT_VERSION)+' \ +@@ -238,7 +235,6 @@ ifneq ($(shell uname -s),Darwin) + -e 's+@PKGCONFIG_KISSFFT_LIBDIR@+$(PKGCONFIG_KISSFFT_LIBDIR)+' \ + -e 's+@PKGCONFIG_KISSFFT_PKGINCLUDEDIR@+$(PKGCONFIG_KISSFFT_PKGINCLUDEDIR)+' \ + kissfft.pc.in 1>"$(ABS_LIBDIR)/pkgconfig/$(KISSFFT_PKGCONFIG)" +-endif + ifneq ($(KISSFFT_TOOLS), 0) + make -C tools install + endif +-- +2.29.3 + diff --git a/pkgs/development/libraries/kissfft/default.nix b/pkgs/development/libraries/kissfft/default.nix index fe52adfa20d70..abc96a40a9700 100644 --- a/pkgs/development/libraries/kissfft/default.nix +++ b/pkgs/development/libraries/kissfft/default.nix @@ -1,45 +1,80 @@ -{ lib, stdenv +{ lib +, stdenv , fetchFromGitHub -, fetchpatch +, fftw +, fftwFloat +, python3 +, datatype ? "double" +, withTools ? false +, libpng +, enableStatic ? stdenv.hostPlatform.isStatic +, enableOpenmp ? false +, llvmPackages }: - +let + py = python3.withPackages (ps: with ps; [ numpy ]); + option = cond: if cond then "1" else "0"; +in stdenv.mkDerivation rec { - pname = "kissfft"; - version = "131"; + pname = "kissfft-${datatype}${lib.optionalString enableOpenmp "-openmp"}"; + version = "131.1.0"; src = fetchFromGitHub { owner = "mborgerding"; - repo = pname; - rev = "v${version}"; - sha256 = "0axmqav2rclw02mix55cch9xl5py540ac15xbmq7xq6n3k492ng2"; + repo = "kissfft"; + rev = version; + sha256 = "1yfws5bn4kh62yk6hdyp9h9775l6iz7wsfisbn58jap6b56s8j5s"; }; patches = [ - # Allow installation into our prefix - # Fix installation on Darwin - # Create necessary directories - # Make datatype configurable - (fetchpatch { - url = "https://github.com/mborgerding/kissfft/pull/38.patch"; - sha256 = "0cp1awl7lr2vqmcwm9lfjs4b4dv9da8mg4hfd821r5ryadpyijj6"; - }) - # Install headers as well - (fetchpatch { - url = "https://github.com/mborgerding/kissfft/commit/71df949992d2dbbe15ce707cf56c3fa1e43b1080.patch"; - sha256 = "13h4kzsj388mxxv6napp4gx2ymavz9xk646mnyp1i852dijpmapm"; - }) + ./0001-pkgconfig-darwin.patch ]; - postPatch = '' - substituteInPlace Makefile \ - --replace "gcc" "${stdenv.cc.targetPrefix}cc" \ - --replace "ar" "${stdenv.cc.targetPrefix}ar" + # https://bugs.llvm.org/show_bug.cgi?id=45034 + postPatch = lib.optionalString (stdenv.hostPlatform.isLinux && stdenv.cc.isClang && lib.versionOlder stdenv.cc.version "10") '' + substituteInPlace test/Makefile \ + --replace "-ffast-math" "" + '' + + lib.optionalString (stdenv.hostPlatform.isDarwin) '' + substituteInPlace test/Makefile \ + --replace "LD_LIBRARY_PATH" "DYLD_LIBRARY_PATH" + # Don't know how to make math.h's double long constants available + substituteInPlace test/testcpp.cc \ + --replace "M_PIl" "M_PI" ''; + makeFlags = [ "PREFIX=${placeholder "out"}" - "DATATYPE=double" + "KISSFFT_DATATYPE=${datatype}" + "KISSFFT_TOOLS=${option withTools}" + "KISSFFT_STATIC=${option enableStatic}" + "KISSFFT_OPENMP=${option enableOpenmp}" + ]; + + buildInputs = lib.optionals (withTools && datatype != "simd") [ libpng ] + # TODO: This may mismatch the LLVM version in the stdenv, see #79818. + ++ lib.optional (enableOpenmp && stdenv.cc.isClang) llvmPackages.openmp; + + doCheck = true; + + checkInputs = [ + py + (if datatype == "float" then fftwFloat else fftw) ]; + checkFlags = [ "testsingle" ]; + + postInstall = '' + ln -s ${pname}.pc $out/lib/pkgconfig/kissfft.pc + ''; + + # Tools can't find kissfft libs on Darwin + postFixup = lib.optionalString (withTools && stdenv.hostPlatform.isDarwin) '' + for bin in $out/bin/*; do + install_name_tool -change lib${pname}.dylib $out/lib/lib${pname}.dylib $bin + done + ''; + meta = with lib; { description = "A mixed-radix Fast Fourier Transform based up on the KISS principle"; homepage = "https://github.com/mborgerding/kissfft"; diff --git a/pkgs/development/libraries/kronosnet/default.nix b/pkgs/development/libraries/kronosnet/default.nix new file mode 100644 index 0000000000000..c74ff6716feec --- /dev/null +++ b/pkgs/development/libraries/kronosnet/default.nix @@ -0,0 +1,33 @@ +{ lib, stdenv, fetchFromGitHub +, autoreconfHook, pkg-config +, libqb, libxml2, libnl, lksctp-tools +, nss, openssl, bzip2, lzo, lz4, xz, zlib, zstd +, doxygen +}: + +stdenv.mkDerivation rec { + pname = "kronosnet"; + version = "1.20"; + + src = fetchFromGitHub { + owner = pname; + repo = pname; + rev = "v${version}"; + sha256 = "sha256-lP5W+4b9McU2Uqibh2SucIu2y4KluO3B1RpAJKgYq/M="; + }; + + nativeBuildInputs = [ autoreconfHook pkg-config doxygen ]; + + buildInputs = [ + libqb libxml2 libnl lksctp-tools + nss openssl + bzip2 lzo lz4 xz zlib zstd + ]; + + meta = with lib; { + description = "VPN on steroids"; + homepage = "https://kronosnet.org/"; + license = with licenses; [ lgpl21Plus gpl2Plus ]; + maintainers = with maintainers; [ ryantm ]; + }; +} diff --git a/pkgs/development/libraries/libbsd/default.nix b/pkgs/development/libraries/libbsd/default.nix index 778b61d831586..8754dd5f65d2c 100644 --- a/pkgs/development/libraries/libbsd/default.nix +++ b/pkgs/development/libraries/libbsd/default.nix @@ -9,6 +9,8 @@ stdenv.mkDerivation rec { sha256 = "11x8q45jvjvf2dvgclds64mscyg10lva33qinf2hwgc84v3svf1l"; }; + outputs = [ "out" "dev" "man" ]; + # darwin changes configure.ac which means we need to regenerate # the configure scripts nativeBuildInputs = [ autoreconfHook ]; diff --git a/pkgs/development/libraries/libcaca/default.nix b/pkgs/development/libraries/libcaca/default.nix index ca879a60c7a0e..f12409f271f92 100644 --- a/pkgs/development/libraries/libcaca/default.nix +++ b/pkgs/development/libraries/libcaca/default.nix @@ -1,40 +1,75 @@ -{ lib, stdenv, fetchurl, ncurses, zlib, pkg-config, imlib2 -, x11Support ? !stdenv.isDarwin, libX11, libXext +{ lib +, stdenv +, fetchurl +, imlib2 +, libX11 +, libXext +, ncurses +, pkg-config +, x11Support ? !stdenv.isDarwin +, zlib }: stdenv.mkDerivation rec { - name = "libcaca-0.99.beta19"; + pname = "libcaca"; + version = "0.99.beta19"; src = fetchurl { urls = [ - "http://fossies.org/linux/privat/${name}.tar.gz" - "http://caca.zoy.org/files/libcaca/${name}.tar.gz" + "http://fossies.org/linux/privat/${pname}-${version}.tar.gz" + "http://caca.zoy.org/files/libcaca/${pname}-${version}.tar.gz" ]; - sha256 = "1x3j6yfyxl52adgnabycr0n38j9hx2j74la0hz0n8cnh9ry4d2qj"; + hash = "sha256-EotGfE7QMmTBh0BRcqToMEk0LMjML2VfU6LQ7p03cvQ="; }; outputs = [ "bin" "dev" "out" "man" ]; configureFlags = [ (if x11Support then "--enable-x11" else "--disable-x11") - ]; + ]; NIX_CFLAGS_COMPILE = lib.optionalString (!x11Support) "-DX_DISPLAY_MISSING"; enableParallelBuilding = true; - propagatedBuildInputs = [ ncurses zlib pkg-config (imlib2.override { inherit x11Support; }) ] - ++ lib.optionals x11Support [ libX11 libXext ]; + nativeBuildInputs = [ + pkg-config + ]; + buildInputs = [ + ncurses + zlib + (imlib2.override { inherit x11Support; }) + ] ++ lib.optionals x11Support [ + libX11 + libXext + ]; postInstall = '' mkdir -p $dev/bin mv $bin/bin/caca-config $dev/bin/caca-config ''; - meta = { - homepage = "http://libcaca.zoy.org/"; + meta = with lib; { + homepage = "http://caca.zoy.org/wiki/libcaca"; description = "A graphics library that outputs text instead of pixels"; - license = lib.licenses.wtfpl; - platforms = lib.platforms.unix; + longDescription = '' + libcaca is a graphics library that outputs text instead of pixels, so that + it can work on older video cards or text terminals. It is not unlike the + famous ​AAlib library, with the following improvements: + + - Unicode support + - 2048 available colours (some devices can only handle 16) + - dithering of colour images + - advanced text canvas operations (blitting, rotations) + + Libcaca works in a text terminal (and should thus work on all Unix systems + including Mac OS X) using the S-Lang or ncurses libraries. It also works + natively on DOS and Windows. + + Libcaca was written by Sam Hocevar and Jean-Yves Lamoureux. + ''; + license = licenses.wtfpl; + maintainers = with maintainers; [ AndersonTorres ]; + platforms = platforms.unix; }; } diff --git a/pkgs/development/libraries/libconfig/default.nix b/pkgs/development/libraries/libconfig/default.nix index ae5f117646334..7387e9edc5b50 100644 --- a/pkgs/development/libraries/libconfig/default.nix +++ b/pkgs/development/libraries/libconfig/default.nix @@ -11,11 +11,13 @@ stdenv.mkDerivation rec { doCheck = true; + configureFlags = lib.optional stdenv.targetPlatform.isWindows "--disable-examples"; + meta = with lib; { homepage = "http://www.hyperrealm.com/libconfig"; description = "A simple library for processing structured configuration files"; license = licenses.lgpl3; maintainers = [ maintainers.goibhniu ]; - platforms = platforms.linux ++ platforms.darwin; + platforms = with platforms; linux ++ darwin ++ windows; }; } diff --git a/pkgs/development/libraries/libevdevplus/0001-Add-cmake-install-directives.patch b/pkgs/development/libraries/libevdevplus/0001-Add-cmake-install-directives.patch new file mode 100644 index 0000000000000..2635d6ab829ef --- /dev/null +++ b/pkgs/development/libraries/libevdevplus/0001-Add-cmake-install-directives.patch @@ -0,0 +1,41 @@ +From 7f208aaf21aa468013fc41e67c32f6a6c8c08249 Mon Sep 17 00:00:00 2001 +From: Jappie Klooster <jappieklooster@hotmail.com> +Date: Fri, 2 Apr 2021 16:01:05 -0400 +Subject: [PATCH] Add cmake install directives + +To make nix builds work, it expect a make install command to +be available. +Adding these directives seems to fix the build. + +If it's no trouble to you, please add them. +--- + CMakeLists.txt | 9 ++++++++- + 1 file changed, 8 insertions(+), 1 deletion(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index f9db618..425d391 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -4,10 +4,17 @@ project(libevdevPlus) + set(SOURCE_FILES + evdevPlus.cpp evdevPlus.hpp CommonIncludes.hpp InputEvent.hpp Resource.cpp) + ++include(GNUInstallDirs) ++ + add_library(evdevPlus ${SOURCE_FILES}) + target_include_directories(evdevPlus PUBLIC .) + + add_executable(evdevPlus_test test.cpp) + target_link_libraries(evdevPlus_test evdevPlus) + +-configure_file(evdevPlus.pc.in evdevPlus.pc @ONLY) +\ No newline at end of file ++configure_file(evdevPlus.pc.in evdevPlus.pc @ONLY) ++ ++install(TARGETS evdevPlus ++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) ++install(FILES evdevPlus.hpp CommonIncludes.hpp InputEvent.hpp ++ DESTINATION include/) +-- +2.29.2 + diff --git a/pkgs/development/libraries/libevdevplus/default.nix b/pkgs/development/libraries/libevdevplus/default.nix index 66c5f1b06964f..11d644cd90dfd 100644 --- a/pkgs/development/libraries/libevdevplus/default.nix +++ b/pkgs/development/libraries/libevdevplus/default.nix @@ -2,13 +2,17 @@ stdenv.mkDerivation rec { pname = "libevdevplus"; - version = "unstable-2019-10-01"; + version = "unstable-2021-04-02"; + + # adds missing cmake install directives + # https://github.com/YukiWorkshop/libevdevPlus/pull/10 + patches = [ ./0001-Add-cmake-install-directives.patch]; src = fetchFromGitHub { owner = "YukiWorkshop"; repo = "libevdevPlus"; - rev = "e863df2ade43e2c7d7748cc33ca27fb3eed325ca"; - sha256 = "18z6pn4j7fhmwwh0q22ip5nn7sc1hfgwvkdzqhkja60i8cw2cvvj"; + rev = "b4d4b3143056424a3da9f0516ca02a47209ef757"; + sha256 = "09y65s16gch0w7fy1s9yjk9gz3bjzxix36h5wmwww6lkj2i1z3rj"; }; nativeBuildInputs = [ cmake pkg-config ]; diff --git a/pkgs/development/libraries/libexsid/default.nix b/pkgs/development/libraries/libexsid/default.nix new file mode 100644 index 0000000000000..38cdfc84d4e48 --- /dev/null +++ b/pkgs/development/libraries/libexsid/default.nix @@ -0,0 +1,47 @@ +{ stdenv +, lib +, fetchFromGitHub +, autoreconfHook +, pkg-config +, docSupport ? true +, doxygen +, libftdi1 +}: + +stdenv.mkDerivation rec { + pname = "libexsid"; + version = "2.1"; + + src = fetchFromGitHub { + owner = "libsidplayfp"; + repo = "exsid-driver"; + rev = version; + sha256 = "1qbiri549fma8c72nmj3cpz3sn1vc256kfafnygkmkzg7wdmgi7r"; + }; + + outputs = [ "out" ] + ++ lib.optional docSupport "doc"; + + nativeBuildInputs = [ autoreconfHook pkg-config ] + ++ lib.optional docSupport doxygen; + + buildInputs = [ libftdi1 ]; + + enableParallelBuilding = true; + + installTargets = [ "install" ] + ++ lib.optional docSupport "doc"; + + postInstall = lib.optionalString docSupport '' + mkdir -p $doc/share/libexsid/doc + cp -r docs/html $doc/share/libexsid/doc/ + ''; + + meta = with lib; { + description = "Driver for exSID USB"; + homepage = "http://hacks.slashdirt.org/hw/exsid/"; + license = licenses.gpl2Plus; + maintainers = with maintainers; [ OPNA2608 ]; + platforms = platforms.all; + }; +} diff --git a/pkgs/development/libraries/libfprint-2-tod1-goodix/default.nix b/pkgs/development/libraries/libfprint-2-tod1-goodix/default.nix index 3fa6835396984..e4121bc9e9080 100644 --- a/pkgs/development/libraries/libfprint-2-tod1-goodix/default.nix +++ b/pkgs/development/libraries/libfprint-2-tod1-goodix/default.nix @@ -5,7 +5,7 @@ stdenv.mkDerivation { src = fetchgit { url = "https://git.launchpad.net/~oem-solutions-engineers/libfprint-2-tod1-goodix/+git/libfprint-2-tod1-goodix"; - rev = "882735c6366fbe30149eea5cfd6d0ddff880f0e4"; # droped-lp1880058 on 20202-11-25 + rev = "882735c6366fbe30149eea5cfd6d0ddff880f0e4"; # droped-lp1880058 on 2020-11-25 sha256 = "sha256-Uv+Rr4V31DyaZFOj79Lpyfl3G6zVWShh20roI0AvMPU="; }; @@ -18,13 +18,15 @@ stdenv.mkDerivation { ''; installPhase = '' - mkdir -p "$out/usr/lib/libfprint-2/tod-1/" - mkdir -p "$out/usr/lib/udev/rules.d/" + mkdir -p "$out/lib/libfprint-2/tod-1/" + mkdir -p "$out/lib/udev/rules.d/" - cp usr/lib/x86_64-linux-gnu/libfprint-2/tod-1/libfprint-tod-goodix-53xc-$version.so "$out/usr/lib/libfprint-2/tod-1/" - cp lib/udev/rules.d/60-libfprint-2-tod1-goodix.rules "$out/usr/lib/udev/rules.d/" + cp usr/lib/x86_64-linux-gnu/libfprint-2/tod-1/libfprint-tod-goodix-53xc-$version.so "$out/lib/libfprint-2/tod-1/" + cp lib/udev/rules.d/60-libfprint-2-tod1-goodix.rules "$out/lib/udev/rules.d/" ''; + passthru.driverPath = "/lib/libfprint-2/tod-1"; + meta = with lib; { description = "Goodix driver module for libfprint-2-tod Touch OEM Driver"; homepage = "https://git.launchpad.net/~oem-solutions-engineers/libfprint-2-tod1-goodix/+git/libfprint-2-tod1-goodix/"; diff --git a/pkgs/development/libraries/libfsm/default.nix b/pkgs/development/libraries/libfsm/default.nix index 5e3c40da82c7a..f1e704448de85 100644 --- a/pkgs/development/libraries/libfsm/default.nix +++ b/pkgs/development/libraries/libfsm/default.nix @@ -22,11 +22,7 @@ stdenv.mkDerivation rec { # if we use stdenv vs clangStdenv, we don't know which, and CC=cc in all # cases.) it's unclear exactly what should be done if we want those flags, # but the defaults work fine. - buildPhase = "PREFIX=$out bmake -r -j$NIX_BUILD_CORES"; - installPhase = '' - PREFIX=$out bmake -r install - runHook postInstall - ''; + makeFlags = [ "-r" "PREFIX=$(out)" ]; # fix up multi-output install. we also have to fix the pkg-config libdir # file; it uses prefix=$out; libdir=${prefix}/lib, which is wrong in diff --git a/pkgs/development/libraries/libpcap/default.nix b/pkgs/development/libraries/libpcap/default.nix index c04d4a001a17b..a44fde0186097 100644 --- a/pkgs/development/libraries/libpcap/default.nix +++ b/pkgs/development/libraries/libpcap/default.nix @@ -17,10 +17,7 @@ stdenv.mkDerivation rec { # We need to force the autodetection because detection doesn't # work in pure build environments. configureFlags = [ - ("--with-pcap=" + { - linux = "linux"; - darwin = "bpf"; - }.${stdenv.hostPlatform.parsed.kernel.name}) + "--with-pcap=${if stdenv.isLinux then "linux" else "bpf"}" ] ++ optionals stdenv.isDarwin [ "--disable-universal" ] ++ optionals (stdenv.hostPlatform == stdenv.buildPlatform) diff --git a/pkgs/development/libraries/libplacebo/default.nix b/pkgs/development/libraries/libplacebo/default.nix index 210542e0c9815..478e01f3575bf 100644 --- a/pkgs/development/libraries/libplacebo/default.nix +++ b/pkgs/development/libraries/libplacebo/default.nix @@ -16,14 +16,14 @@ stdenv.mkDerivation rec { pname = "libplacebo"; - version = "3.120.1"; + version = "3.120.2"; src = fetchFromGitLab { domain = "code.videolan.org"; owner = "videolan"; repo = pname; rev = "v${version}"; - sha256 = "0x7jyzsdf884jrky4yci151pk4nzsz1w88wz8sk0cqing7bpaq16"; + sha256 = "0wh5w7bx789ynnzr27xi0csql4jaxq80csawg6znabw3ld54wb86"; }; nativeBuildInputs = [ diff --git a/pkgs/development/libraries/librtlsdr/default.nix b/pkgs/development/libraries/librtlsdr/default.nix new file mode 100644 index 0000000000000..61f4045b785f6 --- /dev/null +++ b/pkgs/development/libraries/librtlsdr/default.nix @@ -0,0 +1,39 @@ +{ lib +, stdenv +, fetchFromGitHub +, cmake +, pkg-config +, libusb1 +}: + +stdenv.mkDerivation rec { + pname = "librtlsdr"; + version = "0.8.0"; + + src = fetchFromGitHub { + owner = "librtlsdr"; + repo = "librtlsdr"; + rev = "v${version}"; + sha256 = "sha256-s03h+3EfC5c7yRYBM6aCRWtmstwRJWuBywuyVt+k/bk="; + }; + + postPatch = '' + substituteInPlace CMakeLists.txt \ + --replace '/etc/udev/rules.d' "$out/etc/udev/rules.d" + + substituteInPlace rtl-sdr.rules \ + --replace 'MODE:="0666"' 'ENV{ID_SOFTWARE_RADIO}="1", MODE="0660", GROUP="plugdev"' + ''; + + nativeBuildInputs = [ pkg-config cmake ]; + + buildInputs = [ libusb1 ]; + + meta = with lib; { + description = "Turns your Realtek RTL2832 based DVB dongle into a SDR receiver"; + homepage = "https://github.com/librtlsdr/librtlsdr"; + license = licenses.gpl2Plus; + maintainers = with maintainers; [ bjornfor ]; + platforms = platforms.linux ++ platforms.darwin; + }; +} diff --git a/pkgs/development/libraries/libsidplayfp/default.nix b/pkgs/development/libraries/libsidplayfp/default.nix index d5f8dd6e5730d..97991a0cffbf2 100644 --- a/pkgs/development/libraries/libsidplayfp/default.nix +++ b/pkgs/development/libraries/libsidplayfp/default.nix @@ -1,45 +1,88 @@ { stdenv , lib -, fetchurl +, fetchFromGitHub +, fetchpatch +, autoreconfHook , pkg-config +, perl +, unittest-cpp +, xa +, libgcrypt +, libexsid , docSupport ? true -, doxygen ? null -, graphviz ? null +, doxygen +, graphviz }: -assert docSupport -> doxygen != null && graphviz != null; -let - inherit (lib) optionals optionalString; - inherit (lib.versions) majorMinor; -in stdenv.mkDerivation rec { pname = "libsidplayfp"; - version = "2.0.5"; + version = "2.1.1"; - src = fetchurl { - url = "mirror://sourceforge/sidplay-residfp/${pname}/${majorMinor version}/${pname}-${version}.tar.gz"; - sha256 = "04vdrrkh5y9x9rrmj6gdp242ah70b4sslwqfby8wp2riis4hr9z0"; + src = fetchFromGitHub { + owner = "libsidplayfp"; + repo = "libsidplayfp"; + rev = "v${version}"; + fetchSubmodules = true; + sha256 = "0487gap2b0ypikyra74lk1qwqwr0vncldamk5xb1db2x97v504fd"; }; - nativeBuildInputs = [ pkg-config ] - ++ optionals docSupport [ doxygen graphviz ]; + # https://github.com/libsidplayfp/libsidplayfp/issues/13 + # Remove on next version bump + patches = [ + (fetchpatch { + url = "https://github.com/libsidplayfp/libsidplayfp/commit/84f5498f5653261ed84328e1b5676c31e3ba9e6e.patch"; + sha256 = "1vysbl4fkdzm11k40msng2ag6i6mb6z9jsw32vyj9calcfha5957"; + }) + (fetchpatch { + url = "https://github.com/libsidplayfp/libsidplayfp/commit/c1a1b732cc2e791d910522d58f47c6d094493c6d.patch"; + sha256 = "1d3sgdly0q9dysgkx5afxbwfas6p0m8n3lw1hmj4n6wm3j9sdz4g"; + }) + ]; + + postPatch = '' + patchShebangs . + ''; + + nativeBuildInputs = [ autoreconfHook pkg-config perl xa ] + ++ lib.optionals docSupport [ doxygen graphviz ]; + + buildInputs = [ libgcrypt libexsid ]; + + doCheck = true; + + checkInputs = [ unittest-cpp ]; + + enableParallelBuilding = true; installTargets = [ "install" ] - ++ optionals docSupport [ "doc" ]; + ++ lib.optionals docSupport [ "doc" ]; outputs = [ "out" ] - ++ optionals docSupport [ "doc" ]; + ++ lib.optionals docSupport [ "doc" ]; + + configureFlags = [ + "--enable-hardsid" + "--with-gcrypt" + "--with-exsid" + ] + ++ lib.optional doCheck "--enable-tests"; - postInstall = optionalString docSupport '' + postInstall = lib.optionalString docSupport '' mkdir -p $doc/share/doc/libsidplayfp mv docs/html $doc/share/doc/libsidplayfp/ ''; meta = with lib; { description = "A library to play Commodore 64 music derived from libsidplay2"; - homepage = "https://sourceforge.net/projects/sidplay-residfp/"; + longDescription = '' + libsidplayfp is a C64 music player library which integrates + the reSID SID chip emulation into a cycle-based emulator + environment, constantly aiming to improve emulation of the + C64 system and the SID chips. + ''; + homepage = "https://github.com/libsidplayfp/libsidplayfp"; license = with licenses; [ gpl2Plus ]; - maintainers = with maintainers; [ ramkromberg ]; - platforms = with platforms; unix; + maintainers = with maintainers; [ ramkromberg OPNA2608 ]; + platforms = platforms.all; }; } diff --git a/pkgs/development/libraries/libuinputplus/0001-Add-cmake-install-directives.patch b/pkgs/development/libraries/libuinputplus/0001-Add-cmake-install-directives.patch new file mode 100644 index 0000000000000..cd6f43d377055 --- /dev/null +++ b/pkgs/development/libraries/libuinputplus/0001-Add-cmake-install-directives.patch @@ -0,0 +1,40 @@ +From 265e406e254c8d84016b12b344d8df71d1765dd1 Mon Sep 17 00:00:00 2001 +From: Jappie Klooster <jappieklooster@hotmail.com> +Date: Fri, 2 Apr 2021 16:33:18 -0400 +Subject: [PATCH] Add cmake install directives + +To make nix builds work, it expect a make install command to +be available. +Adding these directives seems to fix the build. + +If it's no trouble to you, please consider adding them. +--- + CMakeLists.txt | 8 ++++++++ + 1 file changed, 8 insertions(+) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index cbfc9c1..948c432 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -7,6 +7,8 @@ set(SOURCE_FILES + uInput.cpp uInputSetup.cpp uInputResource.cpp + uInput.hpp CommonIncludes.hpp uInputSetup.hpp) + ++include(GNUInstallDirs) ++ + add_library(uInputPlus ${SOURCE_FILES}) + target_include_directories(uInputPlus PUBLIC .) + +@@ -15,3 +17,9 @@ target_link_libraries(uInputPlus_test uInputPlus) + + configure_file(uInputPlus.pc.in uInputPlus.pc @ONLY) + ++ ++install(TARGETS uInputPlus ++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) ++install(FILES uInput.hpp CommonIncludes.hpp uInputSetup.hpp ++ DESTINATION include/) ++ +-- +2.29.2 + diff --git a/pkgs/development/libraries/libuinputplus/default.nix b/pkgs/development/libraries/libuinputplus/default.nix index 9085b8610789b..28110b577047d 100644 --- a/pkgs/development/libraries/libuinputplus/default.nix +++ b/pkgs/development/libraries/libuinputplus/default.nix @@ -1,14 +1,17 @@ { lib, stdenv, fetchFromGitHub, cmake, pkg-config }: - stdenv.mkDerivation rec { pname = "libuinputplus"; - version = "2019-10-01"; + version = "2021-04-02"; + + # adds missing cmake install directives + # https://github.com/YukiWorkshop/libuInputPlus/pull/7 + patches = [ ./0001-Add-cmake-install-directives.patch]; src = fetchFromGitHub { owner = "YukiWorkshop"; repo = "libuInputPlus"; - rev = "962f180b4cc670e1f5cc73c2e4d5d196ae52d630"; - sha256 = "0jy5i7bmjad7hw1qcyjl4swqribp2027s9g3609zwj7lj8z5x0bg"; + rev = "f7f18eb339bba61a43f2cad481a9b1a453a66957"; + sha256 = "0sind2ghhy4h9kfkr5hsmhcq0di4ifwqyv4gac96rgj5mwvs33lp"; }; nativeBuildInputs = [ cmake pkg-config ]; diff --git a/pkgs/development/libraries/matio/default.nix b/pkgs/development/libraries/matio/default.nix index b6330f69e302a..0b8143b691173 100644 --- a/pkgs/development/libraries/matio/default.nix +++ b/pkgs/development/libraries/matio/default.nix @@ -1,9 +1,9 @@ { lib, stdenv, fetchurl }: stdenv.mkDerivation rec { - name = "matio-1.5.19"; + name = "matio-1.5.20"; src = fetchurl { url = "mirror://sourceforge/matio/${name}.tar.gz"; - sha256 = "0vr8c1mz1k6mz0sgh6n3scl5c3a71iqmy5fnydrgq504icj4vym4"; + sha256 = "sha256-XR9yofUav2qc0j6qgS+xe4YQlwWQlfSMdoxINcWqJZg="; }; meta = with lib; { diff --git a/pkgs/development/libraries/mbedtls/default.nix b/pkgs/development/libraries/mbedtls/default.nix index 2e25399d9797b..90e2c9bd9a735 100644 --- a/pkgs/development/libraries/mbedtls/default.nix +++ b/pkgs/development/libraries/mbedtls/default.nix @@ -11,13 +11,17 @@ stdenv.mkDerivation rec { pname = "mbedtls"; - version = "2.16.9"; # nixpkgs-update: no auto update + # Auto updates are disabled due to repology listing dev releases as release + # versions. See + # * https://github.com/NixOS/nixpkgs/pull/119838#issuecomment-822100428 + # * https://github.com/NixOS/nixpkgs/commit/0ee02a9d42b5fe1825b0f7cee7a9986bb4ba975d + version = "2.26.0"; # nixpkgs-update: no auto update src = fetchFromGitHub { owner = "ARMmbed"; repo = "mbedtls"; rev = "${pname}-${version}"; - sha256 = "0mz7n373b8d287crwi6kq2hb8ryyi228j38h25744lqai23qj5cf"; + sha256 = "0scwpmrgvg6q7rvqkc352d2fqlsx0aylcbyibcp1f1rsn8iiif2m"; }; nativeBuildInputs = [ cmake ninja perl python3 ]; @@ -30,6 +34,10 @@ stdenv.mkDerivation rec { ''; cmakeFlags = [ "-DUSE_SHARED_MBEDTLS_LIBRARY=on" ]; + NIX_CFLAGS_COMPILE = lib.optionals stdenv.cc.isGNU [ + "-Wno-error=format" + "-Wno-error=format-truncation" + ]; meta = with lib; { homepage = "https://tls.mbed.org/"; diff --git a/pkgs/development/libraries/mpir/default.nix b/pkgs/development/libraries/mpir/default.nix index 7f7df407e4e85..5e68ad80fc2e7 100644 --- a/pkgs/development/libraries/mpir/default.nix +++ b/pkgs/development/libraries/mpir/default.nix @@ -7,11 +7,11 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ m4 which yasm ]; src = fetchurl { - url = "http://mpir.org/mpir-${version}.tar.bz2"; + url = "https://mpir.org/mpir-${version}.tar.bz2"; sha256 = "1fvmhrqdjs925hzr2i8bszm50h00gwsh17p2kn2pi51zrxck9xjj"; }; - configureFlags = [ "--enable-cxx" ]; + configureFlags = [ "--enable-cxx" "--enable-fat" ]; meta = { inherit version; @@ -19,8 +19,8 @@ stdenv.mkDerivation rec { license = lib.licenses.lgpl3Plus; maintainers = [lib.maintainers.raskin]; platforms = lib.platforms.unix; - downloadPage = "http://mpir.org/downloads.html"; - homepage = "http://mpir.org/"; + downloadPage = "https://mpir.org/downloads.html"; + homepage = "https://mpir.org/"; updateWalker = true; }; } diff --git a/pkgs/development/libraries/nanopb/default.nix b/pkgs/development/libraries/nanopb/default.nix index e71d1c6a54c9f..ca078a3f9d2a3 100644 --- a/pkgs/development/libraries/nanopb/default.nix +++ b/pkgs/development/libraries/nanopb/default.nix @@ -9,13 +9,13 @@ stdenv.mkDerivation rec { pname = "nanopb"; - version = "0.4.4"; + version = "0.4.5"; src = fetchFromGitHub { owner = pname; repo = pname; rev = version; - sha256 = "0nqfi1b0szjmm1z8wd3ks64h10jblv9ip01kfggxgz6qjjfwgvq7"; + sha256 = "0cjfkwwzi018kc0b7lia7z2jdfgibqc99mf8rvj2xq2pfapp9kf1"; }; nativeBuildInputs = [ cmake python3 python3.pkgs.wrapPython ]; diff --git a/pkgs/development/libraries/openssl/default.nix b/pkgs/development/libraries/openssl/default.nix index fda0c71655a69..f6d45f66b1afc 100644 --- a/pkgs/development/libraries/openssl/default.nix +++ b/pkgs/development/libraries/openssl/default.nix @@ -72,14 +72,18 @@ let }.${stdenv.hostPlatform.system} or ( if stdenv.hostPlatform == stdenv.buildPlatform then "./config" + else if stdenv.hostPlatform.isBSD && stdenv.hostPlatform.isx86_64 + then "./Configure BSD-x86_64" + else if stdenv.hostPlatform.isBSD && stdenv.hostPlatform.isx86_32 + then "./Configure BSD-x86" + lib.optionalString (stdenv.hostPlatform.parsed.kernel.execFormat.name == "elf") "-elf" + else if stdenv.hostPlatform.isBSD + then "./Configure BSD-generic${toString stdenv.hostPlatform.parsed.cpu.bits}" else if stdenv.hostPlatform.isMinGW then "./Configure mingw${optionalString (stdenv.hostPlatform.parsed.cpu.bits != 32) (toString stdenv.hostPlatform.parsed.cpu.bits)}" else if stdenv.hostPlatform.isLinux - then (if stdenv.hostPlatform.isx86_64 - then "./Configure linux-x86_64" - else "./Configure linux-generic${toString stdenv.hostPlatform.parsed.cpu.bits}") + then "./Configure linux-generic${toString stdenv.hostPlatform.parsed.cpu.bits}" else if stdenv.hostPlatform.isiOS then "./Configure ios${toString stdenv.hostPlatform.parsed.cpu.bits}-cross" else diff --git a/pkgs/development/libraries/science/astronomy/wcslib/default.nix b/pkgs/development/libraries/science/astronomy/wcslib/default.nix index b16ba1117f4e1..58c2744605a23 100644 --- a/pkgs/development/libraries/science/astronomy/wcslib/default.nix +++ b/pkgs/development/libraries/science/astronomy/wcslib/default.nix @@ -2,22 +2,19 @@ stdenv.mkDerivation rec { pname = "wcslib"; - version = "7.5"; + version = "7.6"; src = fetchurl { url = "ftp://ftp.atnf.csiro.au/pub/software/wcslib/${pname}-${version}.tar.bz2"; - sha256 = "1536gmcpm6pckn9xrb6j8s4pm1vryjhzvhfaj9wx3jwxcpbdy0dw"; + sha256 = "sha256-VLuMkhZ6fxP4qnP8S4oJeFJW0smCE0Z968eigqQxMYs="; }; - buildInputs = [ flex ]; - - prePatch = '' - substituteInPlace GNUmakefile --replace 2775 0775 - substituteInPlace C/GNUmakefile --replace 2775 0775 - ''; + nativeBuildInputs = [ flex ]; enableParallelBuilding = true; + outputs = [ "out" "man" ]; + meta = with lib; { homepage = "https://www.atnf.csiro.au/people/mcalabre/WCS/"; description = "World Coordinate System library for astronomy"; diff --git a/pkgs/development/libraries/science/biology/bicpl/default.nix b/pkgs/development/libraries/science/biology/bicpl/default.nix index 0bdcbf5a828a9..5cf63e3422424 100644 --- a/pkgs/development/libraries/science/biology/bicpl/default.nix +++ b/pkgs/development/libraries/science/biology/bicpl/default.nix @@ -2,16 +2,14 @@ stdenv.mkDerivation rec { pname = "bicpl"; - version = "unstable-2017-09-10"; - - owner = "BIC-MNI"; + version = "unstable-2020-10-15"; # current master is significantly ahead of most recent release, so use Git version: src = fetchFromGitHub { - inherit owner; + owner = "BIC-MNI"; repo = pname; - rev = "612a63e740fadb162fcf27ee00da6a18dec4d5a9"; - sha256 = "1vv9gi184bkvp3f99v9xmmw1ly63ip5b09y7zdjn39g7kmwzrga7"; + rev = "a58af912a71a4c62014975b89ef37a8e72de3c9d"; + sha256 = "0iw0pmr8xrifbx5l8a0xidfqbm1v8hwzqrw0lcmimxlzdihyri0g"; }; nativeBuildInputs = [ cmake ]; @@ -23,7 +21,7 @@ stdenv.mkDerivation rec { # internal_volume_io.h: No such file or directory meta = with lib; { - homepage = "https://github.com/${owner}/${pname}"; + homepage = "https://github.com/BIC-MNI/bicpl"; description = "Brain Imaging Centre programming library"; maintainers = with maintainers; [ bcdarwin ]; platforms = platforms.unix; diff --git a/pkgs/development/libraries/science/biology/oobicpl/default.nix b/pkgs/development/libraries/science/biology/oobicpl/default.nix index 626e6475ba189..7f1112311d6b5 100644 --- a/pkgs/development/libraries/science/biology/oobicpl/default.nix +++ b/pkgs/development/libraries/science/biology/oobicpl/default.nix @@ -1,28 +1,36 @@ -{ lib, stdenv, fetchFromGitHub, cmake, libminc, bicpl, arguments, pcre-cpp }: +{ lib +, stdenv +, fetchFromGitHub +, cmake +, libminc +, bicpl +, arguments +, pcre-cpp }: stdenv.mkDerivation rec { pname = "oobicpl"; - version = "unstable-2016-03-02"; - - owner = "BIC-MNI"; + version = "unstable-2020-08-12"; src = fetchFromGitHub { - inherit owner; + owner = "BIC-MNI"; repo = pname; - rev = "bc062a65dead2e58461f5afb37abedfa6173f10c"; - sha256 = "05l4ml9djw17bgdnrldhcxydrzkr2f2scqlyak52ph5azj5n4zsx"; + rev = "a9409da8a5bb4925438f32aff577b6333faec28b"; + sha256 = "0b4chjhr32wbb1sash8cq1jfnr7rzdq84hif8anlrjqd3l0gw357"; }; nativeBuildInputs = [ cmake ]; + buildInputs = [ libminc bicpl arguments pcre-cpp ]; - cmakeFlags = [ "-DLIBMINC_DIR=${libminc}/lib/cmake" - "-DBICPL_DIR=${bicpl}/lib" - "-DARGUMENTS_DIR=${arguments}/lib" - "-DOOBICPL_BUILD_SHARED_LIBS=TRUE" ]; + cmakeFlags = [ + "-DLIBMINC_DIR=${libminc}/lib/cmake" + "-DBICPL_DIR=${bicpl}/lib" + "-DARGUMENTS_DIR=${arguments}/lib" + "-DOOBICPL_BUILD_SHARED_LIBS=TRUE" + ]; meta = with lib; { - homepage = "https://github.com/${owner}/${pname}"; + homepage = "https://github.com/BIC-MNI/oobicpl"; description = "Brain Imaging Centre object-oriented programming library (and tools)"; maintainers = with maintainers; [ bcdarwin ]; platforms = platforms.unix; diff --git a/pkgs/development/libraries/science/math/cudnn/default.nix b/pkgs/development/libraries/science/math/cudnn/default.nix index b8aac46d91940..d4c7fcac9785d 100644 --- a/pkgs/development/libraries/science/math/cudnn/default.nix +++ b/pkgs/development/libraries/science/math/cudnn/default.nix @@ -1,4 +1,4 @@ -{ callPackage, cudatoolkit_9_0, cudatoolkit_9_1, cudatoolkit_9_2, cudatoolkit_10_0, cudatoolkit_10_1, cudatoolkit_10_2, cudatoolkit_11_0, cudatoolkit_11_1, cudatoolkit_11_2 }: +{ callPackage, cudatoolkit_10_0, cudatoolkit_10_1, cudatoolkit_10_2, cudatoolkit_11_0, cudatoolkit_11_1, cudatoolkit_11_2 }: let generic = args: callPackage (import ./generic.nix (removeAttrs args ["cudatoolkit"])) { @@ -6,29 +6,6 @@ let }; in rec { - cudnn_cudatoolkit_9_0 = generic rec { - version = "7.3.0"; - cudatoolkit = cudatoolkit_9_0; - srcName = "cudnn-${cudatoolkit.majorVersion}-linux-x64-v7.3.0.29.tgz"; - sha256 = "16z4vgbcmbayk4hppz0xshgs3g07blkp4j25cxcjqyrczx1r0gs0"; - }; - - cudnn_cudatoolkit_9_1 = generic rec { - version = "7.1.3"; - cudatoolkit = cudatoolkit_9_1; - srcName = "cudnn-${cudatoolkit.majorVersion}-linux-x64-v7.1.tgz"; - sha256 = "0a0237gpr0p63s92njai0xvxmkbailzgfsvh7n9fnz0njhvnsqfx"; - }; - - cudnn_cudatoolkit_9_2 = generic rec { - version = "7.2.1"; - cudatoolkit = cudatoolkit_9_2; - srcName = "cudnn-${cudatoolkit.majorVersion}-linux-x64-v7.2.1.38.tgz"; - sha256 = "1sf215wm6zgr17gs6sxfhw61b7a0qmcxiwhgy1b4nqdyxpqgay1y"; - }; - - cudnn_cudatoolkit_9 = cudnn_cudatoolkit_9_2; - cudnn_cudatoolkit_10_0 = generic rec { version = "7.4.2"; cudatoolkit = cudatoolkit_10_0; diff --git a/pkgs/development/libraries/spice-protocol/default.nix b/pkgs/development/libraries/spice-protocol/default.nix index 1eaa3398e4020..12eb03b6d63ff 100644 --- a/pkgs/development/libraries/spice-protocol/default.nix +++ b/pkgs/development/libraries/spice-protocol/default.nix @@ -1,14 +1,16 @@ -{ lib, stdenv, fetchurl }: +{ lib, stdenv, fetchurl, meson, ninja }: stdenv.mkDerivation rec { pname = "spice-protocol"; - version = "0.14.1"; + version = "0.14.3"; src = fetchurl { - url = "https://www.spice-space.org/download/releases/${pname}-${version}.tar.bz2"; - sha256 = "0ahk5hlanwhbc64r80xmchdav3ls156cvh9l68a0l22bhdhxmrkr"; + url = "https://www.spice-space.org/download/releases/${pname}-${version}.tar.xz"; + sha256 = "0yj8k7gcirrsf21w0q6146n5g4nzn2pqky4p90n5760m5ayfb1pr"; }; + nativeBuildInputs = [ meson ninja ]; + postInstall = '' mkdir -p $out/lib ln -sv ../share/pkgconfig $out/lib/pkgconfig |