Loading pkgs/applications/misc/blender/darwin.patch +28 −39 Original line number Diff line number Diff line diff --git a/CMakeLists.txt b/CMakeLists.txt --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1894,7 +1894,7 @@ if(WITH_COMPILER_SHORT_FILE_MACRO) ADD_CHECK_CXX_COMPILER_FLAG(CXX_PREFIX_MAP_FLAGS CXX_MACRO_PREFIX_MAP -fmacro-prefix-map=foo=bar) --- a/CMakeLists.txt 2024-03-01 08:08:05 +++ b/CMakeLists.txt 2024-04-24 15:45:30 @@ -2134,7 +2134,7 @@ ) if(C_MACRO_PREFIX_MAP AND CXX_MACRO_PREFIX_MAP) if(APPLE) - if(XCODE AND ${XCODE_VERSION} VERSION_LESS 12.0) + if(FALSE) # Developers may have say LLVM Clang-10.0.1 toolchain (which supports the flag) # with Xcode-11 (the Clang of which doesn't support the flag). message(WARNING diff --git a/build_files/cmake/platform/platform_apple.cmake b/build_files/cmake/platform/platform_apple.cmake --- a/build_files/cmake/platform/platform_apple.cmake +++ b/build_files/cmake/platform/platform_apple.cmake @@ -60,7 +60,6 @@ else() message(STATUS "Using pre-compiled LIBDIR: ${LIBDIR}") message( --- a/build_files/cmake/platform/platform_apple.cmake 2024-02-22 15:31:36 +++ b/build_files/cmake/platform/platform_apple.cmake 2024-04-24 16:06:13 @@ -55,7 +55,6 @@ endif() endif() if(NOT EXISTS "${LIBDIR}/") if(NOT EXISTS "${LIBDIR}/.git") - message(FATAL_ERROR "Mac OSX requires pre-compiled libs at: '${LIBDIR}'") endif() # Prefer lib directory paths @@ -98,10 +97,6 @@ if(WITH_CODEC_SNDFILE) if(FIRST_RUN) message(STATUS "Using pre-compiled LIBDIR: ${LIBDIR}") @@ -115,10 +114,6 @@ find_library(_sndfile_VORBIS_LIBRARY NAMES vorbis HINTS ${LIBDIR}/ffmpeg/lib) find_library(_sndfile_VORBISENC_LIBRARY NAMES vorbisenc HINTS ${LIBDIR}/ffmpeg/lib) list(APPEND LIBSNDFILE_LIBRARIES Loading @@ -32,44 +30,26 @@ diff --git a/build_files/cmake/platform/platform_apple.cmake b/build_files/cmake ) print_found_status("SndFile libraries" "${LIBSNDFILE_LIBRARIES}") @@ -118,7 +113,7 @@ if(WITH_PYTHON) # Normally cached but not since we include them with blender. set(PYTHON_INCLUDE_DIR "${LIBDIR}/python/include/python${PYTHON_VERSION}") set(PYTHON_EXECUTABLE "${LIBDIR}/python/bin/python${PYTHON_VERSION}") - set(PYTHON_LIBRARY ${LIBDIR}/python/lib/libpython${PYTHON_VERSION}.a) + set(PYTHON_LIBRARY ${LIBDIR}/python/lib/libpython${PYTHON_VERSION}.dylib) set(PYTHON_LIBPATH "${LIBDIR}/python/lib/python${PYTHON_VERSION}") else() # Module must be compiled against Python framework. @@ -147,7 +142,7 @@ endif() # FreeType compiled with Brotli compression for woff2. find_package(Freetype REQUIRED) -list(APPEND FREETYPE_LIBRARIES +message(TRACE APPEND FREETYPE_LIBRARIES ${LIBDIR}/brotli/lib/libbrotlicommon-static.a ${LIBDIR}/brotli/lib/libbrotlidec-static.a) @@ -159,9 +154,7 @@ if(WITH_CODEC_FFMPEG) @@ -162,9 +157,7 @@ set(FFMPEG_ROOT_DIR ${LIBDIR}/ffmpeg) set(FFMPEG_FIND_COMPONENTS avcodec avdevice avformat avutil - mp3lame ogg opus swresample swscale - theora theoradec theoraenc vorbis vorbisenc - vorbisfile vpx x264 xvidcore) - vorbisfile vpx x264) + swresample swscale) if(EXISTS ${LIBDIR}/ffmpeg/lib/libaom.a) list(APPEND FFMPEG_FIND_COMPONENTS aom) endif() @@ -273,7 +266,6 @@ if(WITH_BOOST) endif() @@ -275,7 +268,6 @@ add_bundled_libraries(boost/lib) if(WITH_INTERNATIONAL OR WITH_CODEC_FFMPEG) - string(APPEND PLATFORM_LINKFLAGS " -liconv") # boost_locale and ffmpeg needs it ! endif() if(WITH_PUGIXML) @@ -402,7 +394,7 @@ endif() @@ -350,7 +342,7 @@ # CMake FindOpenMP doesn't know about AppleClang before 3.12, so provide custom flags. if(WITH_OPENMP) Loading @@ -78,3 +58,12 @@ diff --git a/build_files/cmake/platform/platform_apple.cmake b/build_files/cmake # Use OpenMP from our precompiled libraries. message(STATUS "Using ${LIBDIR}/openmp for OpenMP") set(OPENMP_CUSTOM ON) @@ -427,7 +419,7 @@ " -Wl,-unexported_symbols_list,'${PLATFORM_SYMBOLS_MAP}'" ) -if(${XCODE_VERSION} VERSION_GREATER_EQUAL 15.0) +if(FALSE) if("${CMAKE_OSX_ARCHITECTURES}" STREQUAL "x86_64") # Silence "no platform load command found in <static library>, assuming: macOS". string(APPEND PLATFORM_LINKFLAGS " -Wl,-ld_classic") pkgs/applications/misc/blender/default.nix +39 −23 Original line number Diff line number Diff line Loading @@ -8,12 +8,14 @@ addOpenGLRunpath, alembic, boost, brotli, callPackage, cmake, colladaSupport ? true, config, cudaPackages, cudaSupport ? config.cudaSupport, darwin, dbus, embree, fetchurl, Loading Loading @@ -51,6 +53,7 @@ libxkbcommon, llvmPackages, makeWrapper, materialx, mesa, ocl-icd, openal, Loading @@ -71,6 +74,7 @@ rocmPackages, # comes with a significantly larger closure size runCommand, spaceNavSupport ? stdenv.isLinux, sse2neon, stdenv, tbb, wayland, Loading Loading @@ -114,15 +118,14 @@ stdenv.mkDerivation (finalAttrs: { '' : > build_files/cmake/platform/platform_apple_xcode.cmake substituteInPlace source/creator/CMakeLists.txt \ --replace '${"$"}{LIBDIR}/python' \ '${python3}' substituteInPlace build_files/cmake/platform/platform_apple.cmake \ --replace '${"$"}{LIBDIR}/python' \ --replace-fail '${"$"}{LIBDIR}/python' \ '${python3}' \ --replace '${"$"}{LIBDIR}/opencollada' \ '${opencollada}' \ --replace '${"$"}{PYTHON_LIBPATH}/site-packages/numpy' \ '${python3Packages.numpy}/${python3.sitePackages}/numpy' --replace-fail '${"$"}{LIBDIR}/materialx/' '${materialx}/' substituteInPlace build_files/cmake/platform/platform_apple.cmake \ --replace-fail '${"$"}{LIBDIR}/brotli/lib/libbrotlicommon-static.a' \ '${lib.getLib brotli}/lib/libbrotlicommon.dylib' \ --replace-fail '${"$"}{LIBDIR}/brotli/lib/libbrotlidec-static.a' \ '${lib.getLib brotli}/lib/libbrotlidec.dylib' '' else '' Loading Loading @@ -150,6 +153,7 @@ stdenv.mkDerivation (finalAttrs: { "-DWITH_FFTW3=ON" "-DWITH_IMAGE_OPENJPEG=ON" "-DWITH_INSTALL_PORTABLE=OFF" "-DMaterialX_DIR=${materialx}/lib/cmake/MaterialX" "-DWITH_MOD_OCEANSIM=ON" "-DWITH_OPENCOLLADA=${if colladaSupport then "ON" else "OFF"}" "-DWITH_OPENCOLORIO=ON" Loading @@ -164,7 +168,7 @@ stdenv.mkDerivation (finalAttrs: { # Blender supplies its own FindAlembic.cmake (incompatible with the Alembic-supplied config file) "-DALEMBIC_INCLUDE_DIR=${lib.getDev alembic}/include" "-DALEMBIC_LIBRARY=${lib.getLib alembic}/lib/libAlembic.so" "-DALEMBIC_LIBRARY=${lib.getLib alembic}/lib/libAlembic${stdenv.hostPlatform.extensions.sharedLibrary}" ] ++ lib.optionals waylandSupport [ "-DWITH_GHOST_WAYLAND=ON" Loading @@ -172,11 +176,12 @@ stdenv.mkDerivation (finalAttrs: { "-DWITH_GHOST_WAYLAND_DYNLOAD=OFF" "-DWITH_GHOST_WAYLAND_LIBDECOR=ON" ] ++ lib.optionals stdenv.hostPlatform.isAarch64 [ "-DWITH_CYCLES_EMBREE=OFF" ] ++ lib.optionals (stdenv.hostPlatform.isAarch64 && stdenv.hostPlatform.isLinux) [ "-DWITH_CYCLES_EMBREE=OFF" ] ++ lib.optionals stdenv.isDarwin [ "-DLIBDIR=/does-not-exist" "-DWITH_CYCLES_OSL=OFF" # requires LLVM "-DWITH_OPENVDB=OFF" # OpenVDB currently doesn't build on darwin "-DWITH_CYCLES_OSL=OFF" # causes segfault on aarch64-darwin "-DSSE2NEON_INCLUDE_DIR=${sse2neon}/lib" "-DWITH_USD=OFF" # currently fails on darwin ] ++ lib.optional stdenv.cc.isClang "-DPYTHON_LINKFLAGS=" # Clang doesn't support "-export-dynamic" ++ lib.optional jackaudioSupport "-DWITH_JACK=ON" Loading Loading @@ -219,21 +224,22 @@ stdenv.mkDerivation (finalAttrs: { libsndfile libtiff libwebp materialx opencolorio openexr openimageio openjpeg openpgl (opensubdiv.override { inherit cudaSupport; }) openvdb potrace pugixml pyPkgsOpenusd python3 tbb zlib zstd ] ++ lib.optionals (!stdenv.isAarch64) [ ++ lib.optionals (!stdenv.isAarch64 && stdenv.isLinux) [ embree (openimagedenoise.override { inherit cudaSupport; }) ] Loading @@ -248,8 +254,8 @@ stdenv.mkDerivation (finalAttrs: { libXrender libXxf86vm openal openvdb # OpenVDB currently doesn't build on darwin openxr-loader pyPkgsOpenusd ] else [ Loading @@ -259,7 +265,11 @@ stdenv.mkDerivation (finalAttrs: { OpenAL OpenGL SDL brotli embree llvmPackages.openmp (openimagedenoise.override { inherit cudaSupport; }) sse2neon ] ) ++ lib.optionals cudaSupport [ cudaPackages.cuda_cudart ] Loading @@ -280,11 +290,12 @@ stdenv.mkDerivation (finalAttrs: { ps = python3Packages; in [ materialx ps.numpy ps.requests ps.zstandard pyPkgsOpenusd ]; ] ++ lib.optionals (!stdenv.isDarwin) [ pyPkgsOpenusd ]; blenderExecutable = placeholder "out" Loading @@ -295,8 +306,10 @@ stdenv.mkDerivation (finalAttrs: { mkdir $out/Applications mv $out/Blender.app $out/Applications '' + '' + lib.optionalString stdenv.isLinux '' mv $out/share/blender/${lib.versions.majorMinor finalAttrs.version}/python{,-ext} '' + '' buildPythonPath "$pythonPath" wrapProgram $blenderExecutable \ --prefix PATH : $program_PATH \ Loading @@ -311,6 +324,9 @@ stdenv.mkDerivation (finalAttrs: { isELF "$program" || continue addOpenGLRunpath "$program" done '' + lib.optionalString stdenv.isDarwin '' makeWrapper $out/Applications/Blender.app/Contents/MacOS/Blender $out/bin/blender ''; passthru = { Loading @@ -327,15 +343,13 @@ stdenv.mkDerivation (finalAttrs: { tests = { render = runCommand "${finalAttrs.pname}-test" { } '' set -euo pipefail export LIBGL_DRIVERS_PATH=${mesa.drivers}/lib/dri export __EGL_VENDOR_LIBRARY_FILENAMES=${mesa.drivers}/share/glvnd/egl_vendor.d/50_mesa.json cat <<'PYTHON' > scene-config.py import bpy bpy.context.scene.eevee.taa_render_samples = 32 bpy.context.scene.cycles.samples = 32 if ${if stdenv.isAarch64 then "True" else "False"}: if ${if (stdenv.isAarch64 && stdenv.isLinux) then "True" else "False"}: bpy.context.scene.cycles.use_denoising = False bpy.context.scene.render.resolution_x = 100 bpy.context.scene.render.resolution_y = 100 Loading @@ -347,7 +361,7 @@ stdenv.mkDerivation (finalAttrs: { for engine in BLENDER_EEVEE CYCLES; do echo "Rendering with $engine..." # Beware that argument order matters ${finalAttrs.finalPackage}/bin/blender \ ${lib.getExe finalAttrs.finalPackage} \ --background \ -noaudio \ --factory-startup \ Loading @@ -372,8 +386,10 @@ stdenv.mkDerivation (finalAttrs: { "aarch64-linux" "x86_64-darwin" "x86_64-linux" "aarch64-darwin" ]; broken = stdenv.isDarwin; # the current apple sdk is too old (currently 11_0) and fails to build "metal" on x86_64-darwin broken = stdenv.hostPlatform.system == "x86_64-darwin"; maintainers = with lib.maintainers; [ goibhniu veprbl Loading pkgs/by-name/ma/materialx/package.nix 0 → 100644 +76 −0 Original line number Diff line number Diff line { lib, stdenv, fetchFromGitHub, cmake, darwin, libX11, libXt, libGL, openimageio, imath, python3Packages, python3 }: python3Packages.buildPythonPackage rec { pname = "materialx"; version = "1.38.10"; src = fetchFromGitHub { owner = "AcademySoftwareFoundation"; repo = "MaterialX"; rev = "v${version}"; sha256 = "sha256-/kMHmW2dptZNtjuhE5s+jvPRIdtY+FRiVtMU+tiBgQo="; }; format = "other"; nativeBuildInputs = [ cmake python3Packages.setuptools ]; buildInputs = [ openimageio imath ] ++ lib.optionals stdenv.isDarwin ( with darwin.apple_sdk.frameworks; [ OpenGL Cocoa ] ) ++ lib.optionals (!stdenv.isDarwin) [ libX11 libXt libGL ]; cmakeFlags = [ (lib.cmakeBool "MATERIALX_BUILD_OIIO" true) (lib.cmakeBool "MATERIALX_BUILD_PYTHON" true) # don't build MSL shader back-end on x86_x64-darwin, as it requires a newer SDK with metal support (lib.cmakeBool "MATERIALX_BUILD_GEN_MSL" (stdenv.isLinux || (stdenv.isAarch64 && stdenv.isDarwin))) ]; pythonImportsCheck = [ "MaterialX" ]; postInstall = '' # Make python lib properly accessible target_dir=$out/${python3.sitePackages} mkdir -p $(dirname $target_dir) # required for cmake to find the bindings, when included in other projects ln -s $out/python $target_dir ''; meta = { description = "Open standard for representing rich material and look-development content in computer graphics"; homepage = "https://materialx.org"; maintainers = [ lib.maintainers.gador ]; platforms = lib.platforms.unix; license = lib.licenses.mpl20; }; } pkgs/by-name/op/openpgl/package.nix +3 −3 Original line number Diff line number Diff line Loading @@ -12,7 +12,7 @@ stdenv.mkDerivation (finalAttrs: { src = fetchFromGitHub { owner = "OpenPathGuidingLibrary"; repo = finalAttrs.pname; repo = "openpgl"; rev = "v${finalAttrs.version}"; hash = "sha256-dbHmGGiHQkU0KPpQYpY/o0uCWdb3L5namETdOcOREgs="; }; Loading @@ -31,12 +31,12 @@ stdenv.mkDerivation (finalAttrs: { "-DTBB_ROOT=${tbb.out}" ]; env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.isAarch64 "-flax-vector-conversions"; env.NIX_CFLAGS_COMPILE = lib.optionalString (stdenv.isAarch64 && !stdenv.isDarwin) "-flax-vector-conversions"; meta = { description = "Intel Open Path Guiding Library"; homepage = "https://github.com/OpenPathGuidingLibrary/openpgl"; platforms = lib.platforms.linux; platforms = lib.platforms.unix; maintainers = [ lib.maintainers.amarshall ]; license = lib.licenses.asl20; }; Loading pkgs/by-name/ss/sse2neon/package.nix 0 → 100644 +41 −0 Original line number Diff line number Diff line { lib, fetchFromGitHub, pkg-config, stdenv, }: stdenv.mkDerivation (finalAttrs: { pname = "sse2neon"; version = "1.7.0"; src = fetchFromGitHub { owner = "DLTcollab"; repo = "sse2neon"; rev = "v${finalAttrs.version}"; hash = "sha256-riFFGIA0H7e5StYSjO0/JDrduzfwS+lOASzk5BRUyo4="; }; postPatch = '' # remove warning about gcc < 10 substituteInPlace sse2neon.h --replace-fail "#warning \"GCC versions" "// " ''; nativeBuildInputs = [ pkg-config ]; dontInstall = true; # use postBuild instead of installPhase, because the build # in itself doesn't produce any ($out) output postBuild = '' mkdir -p $out/lib install -m444 sse2neon.h $out/lib/ ''; meta = { description = "Mono library that provides a GDI+-compatible API on non-Windows operating systems"; homepage = "https://www.mono-project.com/docs/gui/libgdiplus/"; platforms = lib.platforms.unix; license = lib.licenses.mit; maintainers = [ lib.maintainers.gador ]; }; }) Loading
pkgs/applications/misc/blender/darwin.patch +28 −39 Original line number Diff line number Diff line diff --git a/CMakeLists.txt b/CMakeLists.txt --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1894,7 +1894,7 @@ if(WITH_COMPILER_SHORT_FILE_MACRO) ADD_CHECK_CXX_COMPILER_FLAG(CXX_PREFIX_MAP_FLAGS CXX_MACRO_PREFIX_MAP -fmacro-prefix-map=foo=bar) --- a/CMakeLists.txt 2024-03-01 08:08:05 +++ b/CMakeLists.txt 2024-04-24 15:45:30 @@ -2134,7 +2134,7 @@ ) if(C_MACRO_PREFIX_MAP AND CXX_MACRO_PREFIX_MAP) if(APPLE) - if(XCODE AND ${XCODE_VERSION} VERSION_LESS 12.0) + if(FALSE) # Developers may have say LLVM Clang-10.0.1 toolchain (which supports the flag) # with Xcode-11 (the Clang of which doesn't support the flag). message(WARNING diff --git a/build_files/cmake/platform/platform_apple.cmake b/build_files/cmake/platform/platform_apple.cmake --- a/build_files/cmake/platform/platform_apple.cmake +++ b/build_files/cmake/platform/platform_apple.cmake @@ -60,7 +60,6 @@ else() message(STATUS "Using pre-compiled LIBDIR: ${LIBDIR}") message( --- a/build_files/cmake/platform/platform_apple.cmake 2024-02-22 15:31:36 +++ b/build_files/cmake/platform/platform_apple.cmake 2024-04-24 16:06:13 @@ -55,7 +55,6 @@ endif() endif() if(NOT EXISTS "${LIBDIR}/") if(NOT EXISTS "${LIBDIR}/.git") - message(FATAL_ERROR "Mac OSX requires pre-compiled libs at: '${LIBDIR}'") endif() # Prefer lib directory paths @@ -98,10 +97,6 @@ if(WITH_CODEC_SNDFILE) if(FIRST_RUN) message(STATUS "Using pre-compiled LIBDIR: ${LIBDIR}") @@ -115,10 +114,6 @@ find_library(_sndfile_VORBIS_LIBRARY NAMES vorbis HINTS ${LIBDIR}/ffmpeg/lib) find_library(_sndfile_VORBISENC_LIBRARY NAMES vorbisenc HINTS ${LIBDIR}/ffmpeg/lib) list(APPEND LIBSNDFILE_LIBRARIES Loading @@ -32,44 +30,26 @@ diff --git a/build_files/cmake/platform/platform_apple.cmake b/build_files/cmake ) print_found_status("SndFile libraries" "${LIBSNDFILE_LIBRARIES}") @@ -118,7 +113,7 @@ if(WITH_PYTHON) # Normally cached but not since we include them with blender. set(PYTHON_INCLUDE_DIR "${LIBDIR}/python/include/python${PYTHON_VERSION}") set(PYTHON_EXECUTABLE "${LIBDIR}/python/bin/python${PYTHON_VERSION}") - set(PYTHON_LIBRARY ${LIBDIR}/python/lib/libpython${PYTHON_VERSION}.a) + set(PYTHON_LIBRARY ${LIBDIR}/python/lib/libpython${PYTHON_VERSION}.dylib) set(PYTHON_LIBPATH "${LIBDIR}/python/lib/python${PYTHON_VERSION}") else() # Module must be compiled against Python framework. @@ -147,7 +142,7 @@ endif() # FreeType compiled with Brotli compression for woff2. find_package(Freetype REQUIRED) -list(APPEND FREETYPE_LIBRARIES +message(TRACE APPEND FREETYPE_LIBRARIES ${LIBDIR}/brotli/lib/libbrotlicommon-static.a ${LIBDIR}/brotli/lib/libbrotlidec-static.a) @@ -159,9 +154,7 @@ if(WITH_CODEC_FFMPEG) @@ -162,9 +157,7 @@ set(FFMPEG_ROOT_DIR ${LIBDIR}/ffmpeg) set(FFMPEG_FIND_COMPONENTS avcodec avdevice avformat avutil - mp3lame ogg opus swresample swscale - theora theoradec theoraenc vorbis vorbisenc - vorbisfile vpx x264 xvidcore) - vorbisfile vpx x264) + swresample swscale) if(EXISTS ${LIBDIR}/ffmpeg/lib/libaom.a) list(APPEND FFMPEG_FIND_COMPONENTS aom) endif() @@ -273,7 +266,6 @@ if(WITH_BOOST) endif() @@ -275,7 +268,6 @@ add_bundled_libraries(boost/lib) if(WITH_INTERNATIONAL OR WITH_CODEC_FFMPEG) - string(APPEND PLATFORM_LINKFLAGS " -liconv") # boost_locale and ffmpeg needs it ! endif() if(WITH_PUGIXML) @@ -402,7 +394,7 @@ endif() @@ -350,7 +342,7 @@ # CMake FindOpenMP doesn't know about AppleClang before 3.12, so provide custom flags. if(WITH_OPENMP) Loading @@ -78,3 +58,12 @@ diff --git a/build_files/cmake/platform/platform_apple.cmake b/build_files/cmake # Use OpenMP from our precompiled libraries. message(STATUS "Using ${LIBDIR}/openmp for OpenMP") set(OPENMP_CUSTOM ON) @@ -427,7 +419,7 @@ " -Wl,-unexported_symbols_list,'${PLATFORM_SYMBOLS_MAP}'" ) -if(${XCODE_VERSION} VERSION_GREATER_EQUAL 15.0) +if(FALSE) if("${CMAKE_OSX_ARCHITECTURES}" STREQUAL "x86_64") # Silence "no platform load command found in <static library>, assuming: macOS". string(APPEND PLATFORM_LINKFLAGS " -Wl,-ld_classic")
pkgs/applications/misc/blender/default.nix +39 −23 Original line number Diff line number Diff line Loading @@ -8,12 +8,14 @@ addOpenGLRunpath, alembic, boost, brotli, callPackage, cmake, colladaSupport ? true, config, cudaPackages, cudaSupport ? config.cudaSupport, darwin, dbus, embree, fetchurl, Loading Loading @@ -51,6 +53,7 @@ libxkbcommon, llvmPackages, makeWrapper, materialx, mesa, ocl-icd, openal, Loading @@ -71,6 +74,7 @@ rocmPackages, # comes with a significantly larger closure size runCommand, spaceNavSupport ? stdenv.isLinux, sse2neon, stdenv, tbb, wayland, Loading Loading @@ -114,15 +118,14 @@ stdenv.mkDerivation (finalAttrs: { '' : > build_files/cmake/platform/platform_apple_xcode.cmake substituteInPlace source/creator/CMakeLists.txt \ --replace '${"$"}{LIBDIR}/python' \ '${python3}' substituteInPlace build_files/cmake/platform/platform_apple.cmake \ --replace '${"$"}{LIBDIR}/python' \ --replace-fail '${"$"}{LIBDIR}/python' \ '${python3}' \ --replace '${"$"}{LIBDIR}/opencollada' \ '${opencollada}' \ --replace '${"$"}{PYTHON_LIBPATH}/site-packages/numpy' \ '${python3Packages.numpy}/${python3.sitePackages}/numpy' --replace-fail '${"$"}{LIBDIR}/materialx/' '${materialx}/' substituteInPlace build_files/cmake/platform/platform_apple.cmake \ --replace-fail '${"$"}{LIBDIR}/brotli/lib/libbrotlicommon-static.a' \ '${lib.getLib brotli}/lib/libbrotlicommon.dylib' \ --replace-fail '${"$"}{LIBDIR}/brotli/lib/libbrotlidec-static.a' \ '${lib.getLib brotli}/lib/libbrotlidec.dylib' '' else '' Loading Loading @@ -150,6 +153,7 @@ stdenv.mkDerivation (finalAttrs: { "-DWITH_FFTW3=ON" "-DWITH_IMAGE_OPENJPEG=ON" "-DWITH_INSTALL_PORTABLE=OFF" "-DMaterialX_DIR=${materialx}/lib/cmake/MaterialX" "-DWITH_MOD_OCEANSIM=ON" "-DWITH_OPENCOLLADA=${if colladaSupport then "ON" else "OFF"}" "-DWITH_OPENCOLORIO=ON" Loading @@ -164,7 +168,7 @@ stdenv.mkDerivation (finalAttrs: { # Blender supplies its own FindAlembic.cmake (incompatible with the Alembic-supplied config file) "-DALEMBIC_INCLUDE_DIR=${lib.getDev alembic}/include" "-DALEMBIC_LIBRARY=${lib.getLib alembic}/lib/libAlembic.so" "-DALEMBIC_LIBRARY=${lib.getLib alembic}/lib/libAlembic${stdenv.hostPlatform.extensions.sharedLibrary}" ] ++ lib.optionals waylandSupport [ "-DWITH_GHOST_WAYLAND=ON" Loading @@ -172,11 +176,12 @@ stdenv.mkDerivation (finalAttrs: { "-DWITH_GHOST_WAYLAND_DYNLOAD=OFF" "-DWITH_GHOST_WAYLAND_LIBDECOR=ON" ] ++ lib.optionals stdenv.hostPlatform.isAarch64 [ "-DWITH_CYCLES_EMBREE=OFF" ] ++ lib.optionals (stdenv.hostPlatform.isAarch64 && stdenv.hostPlatform.isLinux) [ "-DWITH_CYCLES_EMBREE=OFF" ] ++ lib.optionals stdenv.isDarwin [ "-DLIBDIR=/does-not-exist" "-DWITH_CYCLES_OSL=OFF" # requires LLVM "-DWITH_OPENVDB=OFF" # OpenVDB currently doesn't build on darwin "-DWITH_CYCLES_OSL=OFF" # causes segfault on aarch64-darwin "-DSSE2NEON_INCLUDE_DIR=${sse2neon}/lib" "-DWITH_USD=OFF" # currently fails on darwin ] ++ lib.optional stdenv.cc.isClang "-DPYTHON_LINKFLAGS=" # Clang doesn't support "-export-dynamic" ++ lib.optional jackaudioSupport "-DWITH_JACK=ON" Loading Loading @@ -219,21 +224,22 @@ stdenv.mkDerivation (finalAttrs: { libsndfile libtiff libwebp materialx opencolorio openexr openimageio openjpeg openpgl (opensubdiv.override { inherit cudaSupport; }) openvdb potrace pugixml pyPkgsOpenusd python3 tbb zlib zstd ] ++ lib.optionals (!stdenv.isAarch64) [ ++ lib.optionals (!stdenv.isAarch64 && stdenv.isLinux) [ embree (openimagedenoise.override { inherit cudaSupport; }) ] Loading @@ -248,8 +254,8 @@ stdenv.mkDerivation (finalAttrs: { libXrender libXxf86vm openal openvdb # OpenVDB currently doesn't build on darwin openxr-loader pyPkgsOpenusd ] else [ Loading @@ -259,7 +265,11 @@ stdenv.mkDerivation (finalAttrs: { OpenAL OpenGL SDL brotli embree llvmPackages.openmp (openimagedenoise.override { inherit cudaSupport; }) sse2neon ] ) ++ lib.optionals cudaSupport [ cudaPackages.cuda_cudart ] Loading @@ -280,11 +290,12 @@ stdenv.mkDerivation (finalAttrs: { ps = python3Packages; in [ materialx ps.numpy ps.requests ps.zstandard pyPkgsOpenusd ]; ] ++ lib.optionals (!stdenv.isDarwin) [ pyPkgsOpenusd ]; blenderExecutable = placeholder "out" Loading @@ -295,8 +306,10 @@ stdenv.mkDerivation (finalAttrs: { mkdir $out/Applications mv $out/Blender.app $out/Applications '' + '' + lib.optionalString stdenv.isLinux '' mv $out/share/blender/${lib.versions.majorMinor finalAttrs.version}/python{,-ext} '' + '' buildPythonPath "$pythonPath" wrapProgram $blenderExecutable \ --prefix PATH : $program_PATH \ Loading @@ -311,6 +324,9 @@ stdenv.mkDerivation (finalAttrs: { isELF "$program" || continue addOpenGLRunpath "$program" done '' + lib.optionalString stdenv.isDarwin '' makeWrapper $out/Applications/Blender.app/Contents/MacOS/Blender $out/bin/blender ''; passthru = { Loading @@ -327,15 +343,13 @@ stdenv.mkDerivation (finalAttrs: { tests = { render = runCommand "${finalAttrs.pname}-test" { } '' set -euo pipefail export LIBGL_DRIVERS_PATH=${mesa.drivers}/lib/dri export __EGL_VENDOR_LIBRARY_FILENAMES=${mesa.drivers}/share/glvnd/egl_vendor.d/50_mesa.json cat <<'PYTHON' > scene-config.py import bpy bpy.context.scene.eevee.taa_render_samples = 32 bpy.context.scene.cycles.samples = 32 if ${if stdenv.isAarch64 then "True" else "False"}: if ${if (stdenv.isAarch64 && stdenv.isLinux) then "True" else "False"}: bpy.context.scene.cycles.use_denoising = False bpy.context.scene.render.resolution_x = 100 bpy.context.scene.render.resolution_y = 100 Loading @@ -347,7 +361,7 @@ stdenv.mkDerivation (finalAttrs: { for engine in BLENDER_EEVEE CYCLES; do echo "Rendering with $engine..." # Beware that argument order matters ${finalAttrs.finalPackage}/bin/blender \ ${lib.getExe finalAttrs.finalPackage} \ --background \ -noaudio \ --factory-startup \ Loading @@ -372,8 +386,10 @@ stdenv.mkDerivation (finalAttrs: { "aarch64-linux" "x86_64-darwin" "x86_64-linux" "aarch64-darwin" ]; broken = stdenv.isDarwin; # the current apple sdk is too old (currently 11_0) and fails to build "metal" on x86_64-darwin broken = stdenv.hostPlatform.system == "x86_64-darwin"; maintainers = with lib.maintainers; [ goibhniu veprbl Loading
pkgs/by-name/ma/materialx/package.nix 0 → 100644 +76 −0 Original line number Diff line number Diff line { lib, stdenv, fetchFromGitHub, cmake, darwin, libX11, libXt, libGL, openimageio, imath, python3Packages, python3 }: python3Packages.buildPythonPackage rec { pname = "materialx"; version = "1.38.10"; src = fetchFromGitHub { owner = "AcademySoftwareFoundation"; repo = "MaterialX"; rev = "v${version}"; sha256 = "sha256-/kMHmW2dptZNtjuhE5s+jvPRIdtY+FRiVtMU+tiBgQo="; }; format = "other"; nativeBuildInputs = [ cmake python3Packages.setuptools ]; buildInputs = [ openimageio imath ] ++ lib.optionals stdenv.isDarwin ( with darwin.apple_sdk.frameworks; [ OpenGL Cocoa ] ) ++ lib.optionals (!stdenv.isDarwin) [ libX11 libXt libGL ]; cmakeFlags = [ (lib.cmakeBool "MATERIALX_BUILD_OIIO" true) (lib.cmakeBool "MATERIALX_BUILD_PYTHON" true) # don't build MSL shader back-end on x86_x64-darwin, as it requires a newer SDK with metal support (lib.cmakeBool "MATERIALX_BUILD_GEN_MSL" (stdenv.isLinux || (stdenv.isAarch64 && stdenv.isDarwin))) ]; pythonImportsCheck = [ "MaterialX" ]; postInstall = '' # Make python lib properly accessible target_dir=$out/${python3.sitePackages} mkdir -p $(dirname $target_dir) # required for cmake to find the bindings, when included in other projects ln -s $out/python $target_dir ''; meta = { description = "Open standard for representing rich material and look-development content in computer graphics"; homepage = "https://materialx.org"; maintainers = [ lib.maintainers.gador ]; platforms = lib.platforms.unix; license = lib.licenses.mpl20; }; }
pkgs/by-name/op/openpgl/package.nix +3 −3 Original line number Diff line number Diff line Loading @@ -12,7 +12,7 @@ stdenv.mkDerivation (finalAttrs: { src = fetchFromGitHub { owner = "OpenPathGuidingLibrary"; repo = finalAttrs.pname; repo = "openpgl"; rev = "v${finalAttrs.version}"; hash = "sha256-dbHmGGiHQkU0KPpQYpY/o0uCWdb3L5namETdOcOREgs="; }; Loading @@ -31,12 +31,12 @@ stdenv.mkDerivation (finalAttrs: { "-DTBB_ROOT=${tbb.out}" ]; env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.isAarch64 "-flax-vector-conversions"; env.NIX_CFLAGS_COMPILE = lib.optionalString (stdenv.isAarch64 && !stdenv.isDarwin) "-flax-vector-conversions"; meta = { description = "Intel Open Path Guiding Library"; homepage = "https://github.com/OpenPathGuidingLibrary/openpgl"; platforms = lib.platforms.linux; platforms = lib.platforms.unix; maintainers = [ lib.maintainers.amarshall ]; license = lib.licenses.asl20; }; Loading
pkgs/by-name/ss/sse2neon/package.nix 0 → 100644 +41 −0 Original line number Diff line number Diff line { lib, fetchFromGitHub, pkg-config, stdenv, }: stdenv.mkDerivation (finalAttrs: { pname = "sse2neon"; version = "1.7.0"; src = fetchFromGitHub { owner = "DLTcollab"; repo = "sse2neon"; rev = "v${finalAttrs.version}"; hash = "sha256-riFFGIA0H7e5StYSjO0/JDrduzfwS+lOASzk5BRUyo4="; }; postPatch = '' # remove warning about gcc < 10 substituteInPlace sse2neon.h --replace-fail "#warning \"GCC versions" "// " ''; nativeBuildInputs = [ pkg-config ]; dontInstall = true; # use postBuild instead of installPhase, because the build # in itself doesn't produce any ($out) output postBuild = '' mkdir -p $out/lib install -m444 sse2neon.h $out/lib/ ''; meta = { description = "Mono library that provides a GDI+-compatible API on non-Windows operating systems"; homepage = "https://www.mono-project.com/docs/gui/libgdiplus/"; platforms = lib.platforms.unix; license = lib.licenses.mit; maintainers = [ lib.maintainers.gador ]; }; })