mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-25 16:33:15 +00:00
openexr,ilmbase: Switch to cmake-based build
It appears that the autotools based build isn't supported on Darwin. Just use the stdenv-builtin cmake build everywhere, as it works just fine and is simpler.
This commit is contained in:
parent
941d2765fd
commit
f509255ff7
@ -1,9 +1,13 @@
|
||||
{ stdenv, lib, buildPackages, automake, autoconf, libtool, which,
|
||||
fetchpatch, openexr }:
|
||||
{ stdenv
|
||||
, buildPackages
|
||||
, cmake
|
||||
, libtool
|
||||
, openexr
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "ilmbase";
|
||||
version = lib.getVersion openexr;
|
||||
version = stdenv.lib.getVersion openexr;
|
||||
|
||||
# the project no longer provides separate tarballs. We may even want to merge
|
||||
# the ilmbase package into openexr in the future.
|
||||
@ -13,19 +17,10 @@ stdenv.mkDerivation rec {
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
|
||||
preConfigure = ''
|
||||
patchShebangs ./bootstrap
|
||||
./bootstrap
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [ cmake libtool ];
|
||||
depsBuildBuild = [ buildPackages.stdenv.cc ];
|
||||
nativeBuildInputs = [ automake autoconf libtool which ];
|
||||
|
||||
NIX_CFLAGS_LINK = "-pthread";
|
||||
|
||||
patches = [
|
||||
./cross.patch
|
||||
];
|
||||
patches = [ ./cross.patch ];
|
||||
|
||||
# fails 1 out of 1 tests with
|
||||
# "lt-ImathTest: testBoxAlgo.cpp:892: void {anonymous}::boxMatrixTransform(): Assertion `b21 == b2' failed"
|
||||
|
@ -1,11 +1,13 @@
|
||||
{ lib, stdenv, buildPackages, fetchFromGitHub, autoconf, automake, libtool, pkgconfig,
|
||||
zlib, ilmbase, fetchpatch }:
|
||||
|
||||
let
|
||||
# Doesn't really do anything when not crosscompiling
|
||||
emulator = stdenv.hostPlatform.emulator buildPackages;
|
||||
in
|
||||
|
||||
{ lib
|
||||
, stdenv
|
||||
, buildPackages
|
||||
, fetchFromGitHub
|
||||
, zlib
|
||||
, ilmbase
|
||||
, fetchpatch
|
||||
, cmake
|
||||
, libtool
|
||||
}:
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "openexr";
|
||||
version = "2.4.1";
|
||||
@ -17,36 +19,11 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "020gyl8zv83ag6gbcchmqiyx9rh2jca7j8n52zx1gk4rck7kwc01";
|
||||
};
|
||||
|
||||
sourceRoot = "source/OpenEXR";
|
||||
|
||||
outputs = [ "bin" "dev" "out" "doc" ];
|
||||
|
||||
# Needed because there are some generated sources. Solution: just run them under QEMU.
|
||||
postPatch = ''
|
||||
for file in b44ExpLogTable dwaLookups
|
||||
do
|
||||
# Ecape for both sh and Automake
|
||||
emu=${lib.escapeShellArg (lib.replaceStrings ["$"] ["$$"] emulator)}
|
||||
before="./$file > $file.h"
|
||||
after="$emu $before"
|
||||
substituteInPlace IlmImf/Makefile.am \
|
||||
--replace "$before" "$after"
|
||||
done
|
||||
|
||||
# Make sure the patch succeeded
|
||||
[[ $(grep "$emu" IlmImf/Makefile.am | wc -l) = 2 ]]
|
||||
'';
|
||||
|
||||
preConfigure = ''
|
||||
patchShebangs ./bootstrap
|
||||
./bootstrap
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [ pkgconfig autoconf automake libtool ];
|
||||
nativeBuildInputs = [ cmake libtool ];
|
||||
propagatedBuildInputs = [ ilmbase zlib ];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
doCheck = false; # fails 1 of 1 tests
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "A high dynamic-range (HDR) image file format";
|
||||
|
Loading…
Reference in New Issue
Block a user