mirror of
https://github.com/ilyakooo0/nixpkgs.git
synced 2024-11-16 06:47:09 +03:00
Merge pull request #86241 from glittershark/openexr-cmake
openexr: Switch to cmake-based build
This commit is contained in:
commit
7679b8edae
@ -1,9 +1,13 @@
|
|||||||
{ stdenv, lib, buildPackages, automake, autoconf, libtool, which,
|
{ stdenv
|
||||||
fetchpatch, openexr }:
|
, buildPackages
|
||||||
|
, cmake
|
||||||
|
, libtool
|
||||||
|
, openexr
|
||||||
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "ilmbase";
|
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 project no longer provides separate tarballs. We may even want to merge
|
||||||
# the ilmbase package into openexr in the future.
|
# the ilmbase package into openexr in the future.
|
||||||
@ -13,19 +17,10 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
outputs = [ "out" "dev" ];
|
outputs = [ "out" "dev" ];
|
||||||
|
|
||||||
preConfigure = ''
|
nativeBuildInputs = [ cmake libtool ];
|
||||||
patchShebangs ./bootstrap
|
|
||||||
./bootstrap
|
|
||||||
'';
|
|
||||||
|
|
||||||
depsBuildBuild = [ buildPackages.stdenv.cc ];
|
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
|
# fails 1 out of 1 tests with
|
||||||
# "lt-ImathTest: testBoxAlgo.cpp:892: void {anonymous}::boxMatrixTransform(): Assertion `b21 == b2' failed"
|
# "lt-ImathTest: testBoxAlgo.cpp:892: void {anonymous}::boxMatrixTransform(): Assertion `b21 == b2' failed"
|
||||||
|
@ -1,11 +1,13 @@
|
|||||||
{ lib, stdenv, buildPackages, fetchFromGitHub, autoconf, automake, libtool, pkgconfig,
|
{ lib
|
||||||
zlib, ilmbase, fetchpatch }:
|
, stdenv
|
||||||
|
, buildPackages
|
||||||
let
|
, fetchFromGitHub
|
||||||
# Doesn't really do anything when not crosscompiling
|
, zlib
|
||||||
emulator = stdenv.hostPlatform.emulator buildPackages;
|
, ilmbase
|
||||||
in
|
, fetchpatch
|
||||||
|
, cmake
|
||||||
|
, libtool
|
||||||
|
}:
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "openexr";
|
pname = "openexr";
|
||||||
version = "2.4.1";
|
version = "2.4.1";
|
||||||
@ -17,36 +19,11 @@ stdenv.mkDerivation rec {
|
|||||||
sha256 = "020gyl8zv83ag6gbcchmqiyx9rh2jca7j8n52zx1gk4rck7kwc01";
|
sha256 = "020gyl8zv83ag6gbcchmqiyx9rh2jca7j8n52zx1gk4rck7kwc01";
|
||||||
};
|
};
|
||||||
|
|
||||||
sourceRoot = "source/OpenEXR";
|
|
||||||
|
|
||||||
outputs = [ "bin" "dev" "out" "doc" ];
|
outputs = [ "bin" "dev" "out" "doc" ];
|
||||||
|
nativeBuildInputs = [ cmake libtool ];
|
||||||
# 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 ];
|
|
||||||
propagatedBuildInputs = [ ilmbase zlib ];
|
propagatedBuildInputs = [ ilmbase zlib ];
|
||||||
|
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
doCheck = false; # fails 1 of 1 tests
|
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
description = "A high dynamic-range (HDR) image file format";
|
description = "A high dynamic-range (HDR) image file format";
|
||||||
|
Loading…
Reference in New Issue
Block a user