Merge master into staging-next

This commit is contained in:
github-actions[bot]
2021-05-13 00:56:26 +00:00
committed by GitHub
31 changed files with 438 additions and 149 deletions
+14 -2
View File
@@ -10,6 +10,7 @@
, libpng
, boost
, guile
, stdenv
}:
mkDerivation {
@@ -26,8 +27,19 @@ mkDerivation {
nativeBuildInputs = [ wrapQtAppsHook cmake ninja pkg-config ];
buildInputs = [ eigen zlib libpng boost guile ];
# Link "Studio" binary to "libfive-studio" to be more obvious:
postFixup = ''
postInstall = if stdenv.isDarwin then ''
# No rules to install the mac app, so do it manually.
mkdir -p $out/Applications
cp -r studio/Studio.app $out/Applications/Studio.app
install_name_tool \
-change libfive.dylib $out/lib/libfive.dylib \
-change libfive-guile.dylib $out/lib/libfive-guile.dylib \
$out/Applications/Studio.app/Contents/MacOS/Studio
wrapQtApp $out/Applications/Studio.app/Contents/MacOS/Studio
'' else ''
# Link "Studio" binary to "libfive-studio" to be more obvious:
ln -s "$out/bin/Studio" "$out/bin/libfive-studio"
'';
@@ -1,4 +1,4 @@
{ fetchFromGitHub, lib, stdenv, autoreconfHook, pkg-config, libxml2, gd, glib, getopt, libxslt, nix }:
{ fetchFromGitHub, lib, stdenv, autoreconfHook, pkg-config, libxml2, gd, glib, getopt, libxslt, nix, bash}:
stdenv.mkDerivation {
pname = "libnixxml";
@@ -11,17 +11,45 @@ stdenv.mkDerivation {
sha256 = "sha256-HKQnCkO1TDs1e0MDil0Roq4YRembqRHQvb7lK3GAftQ=";
};
preConfigure = ''
./bootstrap
prePatch = ''
# Remove broken test
substituteInPlace tests/draw/Makefile.am \
--replace "draw-wrong.sh" ""
rm tests/draw/draw-wrong.sh
# Fix bash path
substituteInPlace scripts/nixexpr2xml.in \
--replace "/bin/bash" "${bash}/bin/bash"
'';
preAutoreconf = ''
# Copied from bootstrap script
ln -s README.md README
mkdir -p config
'';
configureFlags = [ "--with-gd" "--with-glib" ];
CFLAGS = "-Wall";
nativeBuildInputs = [ autoreconfHook pkg-config ];
buildInputs = [ libxml2 gd.dev glib getopt libxslt nix ];
strictDeps = true;
nativeBuildInputs = [
autoreconfHook
pkg-config
getopt
libxslt
];
buildInputs = [
bash
libxml2
gd.dev
glib
nix
];
checkInputs = [
nix
];
doCheck = false;
doCheck = true;
meta = with lib; {
description = "XML-based Nix-friendly data integration library";
+51 -14
View File
@@ -1,22 +1,44 @@
{ lib, stdenv, fetchFromGitHub, fixDarwinDylibNames, compiler ? if stdenv.cc.isClang then "clang" else null, stdver ? null }:
{ lib
, stdenv
, fetchurl
, fetchFromGitHub
, fixDarwinDylibNames
}:
with lib; stdenv.mkDerivation rec {
stdenv.mkDerivation rec {
pname = "tbb";
version = "2020_U3";
version = "2020.3";
src = fetchFromGitHub {
owner = "01org";
repo = "tbb";
rev = version;
sha256 = "sha256-prO2O5hd+Wz5iA0vfrqmyHFr0Ptzk64so5KpSpvuKmU=";
owner = "oneapi-src";
repo = "oneTBB";
rev = "v${version}";
sha256 = "prO2O5hd+Wz5iA0vfrqmyHFr0Ptzk64so5KpSpvuKmU=";
};
nativeBuildInputs = optional stdenv.isDarwin fixDarwinDylibNames;
patches = [
# Fixes build with Musl.
(fetchurl {
url = "https://github.com/openembedded/meta-openembedded/raw/39185eb1d1615e919e3ae14ae63b8ed7d3e5d83f/meta-oe/recipes-support/tbb/tbb/GLIBC-PREREQ-is-not-defined-on-musl.patch";
sha256 = "gUfXQ9OZQ82qD6brgauBCsKdjLvyHafMc18B+KxZoYs=";
})
makeFlags = optional (compiler != null) "compiler=${compiler}"
++ optional (stdver != null) "stdver=${stdver}";
# Fixes build with Musl.
(fetchurl {
url = "https://github.com/openembedded/meta-openembedded/raw/39185eb1d1615e919e3ae14ae63b8ed7d3e5d83f/meta-oe/recipes-support/tbb/tbb/0001-mallinfo-is-glibc-specific-API-mark-it-so.patch";
sha256 = "fhorfqO1hHKZ61uq+yTR7eQ8KYdyLwpM3K7WpwJpV74=";
})
];
patches = lib.optional stdenv.hostPlatform.isMusl ./glibc-struct-mallinfo.patch;
nativeBuildInputs = lib.optionals stdenv.isDarwin [
fixDarwinDylibNames
];
makeFlags = lib.optionals stdenv.cc.isClang [
"compiler=clang"
];
enableParallelBuilding = true;
installPhase = ''
runHook preInstall
@@ -29,9 +51,24 @@ with lib; stdenv.mkDerivation rec {
runHook postInstall
'';
enableParallelBuilding = true;
postInstall = let
pcTemplate = fetchurl {
url = "https://github.com/oneapi-src/oneTBB/raw/master/integration/pkg-config/tbb.pc.in";
sha256 = "2pCad9txSpNbzac0vp/VY3x7HNySaYkbH3Rx8LK53pI=";
};
in ''
# Generate pkg-config file based on upstream template.
# It should not be necessary with tbb after 2021.2.
mkdir -p "$out/lib/pkgconfig"
substitute "${pcTemplate}" "$out/lib/pkgconfig/tbb.pc" \
--subst-var-by CMAKE_INSTALL_PREFIX "$out" \
--subst-var-by CMAKE_INSTALL_LIBDIR "lib" \
--subst-var-by CMAKE_INSTALL_INCLUDEDIR "include" \
--subst-var-by TBB_VERSION "${version}" \
--subst-var-by TBB_LIB_NAME "tbb"
'';
meta = {
meta = with lib; {
description = "Intel Thread Building Blocks C++ Library";
homepage = "http://threadingbuildingblocks.org/";
license = licenses.asl20;
@@ -43,7 +80,7 @@ with lib; stdenv.mkDerivation rec {
represents a higher-level, task-based parallelism that abstracts platform
details and threading mechanisms for scalability and performance.
'';
platforms = with platforms; linux ++ darwin;
platforms = platforms.unix;
maintainers = with maintainers; [ thoughtpolice dizfer ];
};
}
@@ -1,43 +0,0 @@
From b577153a10c98f4e13405dc93ea2ab1a7b990e07 Mon Sep 17 00:00:00 2001
From: David Huffman <storedbox+alpine@outlook.com>
Date: Wed, 6 Jan 2016 07:09:30 -0500
Subject: [PATCH] hard-code glibc's definition of struct mallinfo
---
src/tbbmalloc/proxy.h | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
diff --git a/src/tbbmalloc/proxy.h b/src/tbbmalloc/proxy.h
index 781cadc..e1ea1ae 100644
--- a/src/tbbmalloc/proxy.h
+++ b/src/tbbmalloc/proxy.h
@@ -32,6 +32,26 @@
#include <stddef.h>
+// The following definition was taken from /usr/include/malloc.h as provided by
+// the glibc-devel-2.19-17.4.x86_64 package on openSUSE Leap 42.1; it is
+// made available under the GNU Lesser General Public License v2.1 or later.
+// See <https://www.gnu.org/licenses>.
+//
+// Copyright (C) 1996-2014 Free Software Foundation, Inc.
+struct mallinfo
+{
+ int arena; /* non-mmapped space allocated from system */
+ int ordblks; /* number of free chunks */
+ int smblks; /* number of fastbin blocks */
+ int hblks; /* number of mmapped regions */
+ int hblkhd; /* space in mmapped regions */
+ int usmblks; /* maximum total allocated space */
+ int fsmblks; /* space available in freed fastbin blocks */
+ int uordblks; /* total allocated space */
+ int fordblks; /* total free space */
+ int keepcost; /* top-most, releasable (via malloc_trim) space */
+};
+
extern "C" {
void * scalable_malloc(size_t size);
void * scalable_calloc(size_t nobj, size_t size);
--
2.6.2