nixpkgs/pkgs/development/libraries/opencascade/default.nix
aszlig 4cf16937ce
opencascade: Fix build against glibc 2.26
The header file xlocale.h has been removed in glibc 2.26.

Quoting the release notes[1]:

  * The nonstandard header <xlocale.h> has been removed. Most programs
    should use <locale.h> instead. If you have a specific need for the
    definition of locale_t with no other declarations, please contact
    libc-alpha@sourceware.org and explain.

Tested by building on x86_64-linux and it now succeeds.

[1]: https://sourceware.org/ml/libc-alpha/2017-08/msg00010.html

Signed-off-by: aszlig <aszlig@nix.build>
Cc: @viric
2017-11-13 10:14:05 +01:00

35 lines
1,018 B
Nix

{stdenv, fetchurl, mesa, tcl, tk, file, libXmu, cmake, libtool, qt4,
ftgl, freetype}:
stdenv.mkDerivation rec {
name = "opencascade-oce-0.17.2";
src = fetchurl {
url = https://github.com/tpaviot/oce/archive/OCE-0.17.2.tar.gz;
sha256 = "0vpmnb0k5y2f7lpmwx9pg9yfq24zjvnsak5alzacncfm1hv9b6cd";
};
buildInputs = [ mesa tcl tk file libXmu libtool qt4 ftgl freetype cmake ];
# Fix for glibc 2.26
postPatch = ''
sed -i -e 's/^\( *#include <\)x\(locale.h>\)//' \
src/Standard/Standard_CLocaleSentry.hxx
'';
preConfigure = ''
cmakeFlags="$cmakeFlags -DOCE_INSTALL_PREFIX=$out"
'';
# https://bugs.freedesktop.org/show_bug.cgi?id=83631
NIX_CFLAGS_COMPILE = "-DGLX_GLXEXT_LEGACY";
enableParallelBuilding = true;
meta = {
description = "Open CASCADE Technology, libraries for 3D modeling and numerical simulation";
homepage = http://www.opencascade.org/;
maintainers = with stdenv.lib.maintainers; [viric];
platforms = with stdenv.lib.platforms; linux;
};
}