mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-18 07:46:09 +01:00
erlang: patch all versions to work with clang 4
This commit is contained in:
parent
0cf93fda07
commit
5a81c66906
5 changed files with 36 additions and 13 deletions
|
@ -27,6 +27,11 @@ stdenv.mkDerivation rec {
|
|||
++ optional odbcSupport unixODBC
|
||||
++ optionals stdenv.isDarwin [ Carbon Cocoa ];
|
||||
|
||||
# Clang 4 (rightfully) thinks signed comparisons of pointers with NULL are nonsense
|
||||
prePatch = ''
|
||||
substituteInPlace lib/wx/c_src/wxe_impl.cpp --replace 'temp > NULL' 'temp != NULL'
|
||||
'';
|
||||
|
||||
patchPhase = '' sed -i "s@/bin/rm@rm@" lib/odbc/configure erts/configure '';
|
||||
|
||||
preConfigure = ''
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
, gnused, gawk, makeWrapper
|
||||
, odbcSupport ? false, unixODBC ? null
|
||||
, wxSupport ? false, mesa ? null, wxGTK ? null, xorg ? null
|
||||
, enableDebugInfo ? false
|
||||
, enableDebugInfo ? false
|
||||
, Carbon ? null, Cocoa ? null }:
|
||||
|
||||
assert wxSupport -> mesa != null && wxGTK != null && xorg != null;
|
||||
|
@ -24,11 +24,16 @@ stdenv.mkDerivation rec {
|
|||
debugInfo = enableDebugInfo;
|
||||
|
||||
buildInputs =
|
||||
[ perl gnum4 ncurses openssl makeWrapper autoconf264 gcc
|
||||
[ perl gnum4 ncurses openssl makeWrapper autoconf264 gcc
|
||||
] ++ optional wxSupport [ mesa wxGTK xorg.libX11 ]
|
||||
++ optional odbcSupport [ unixODBC ]
|
||||
++ optionals stdenv.isDarwin [ Carbon Cocoa ];
|
||||
|
||||
# Clang 4 (rightfully) thinks signed comparisons of pointers with NULL are nonsense
|
||||
prePatch = ''
|
||||
substituteInPlace lib/wx/c_src/wxe_impl.cpp --replace 'temp > NULL' 'temp != NULL'
|
||||
'';
|
||||
|
||||
patchPhase = '' sed -i "s@/bin/rm@rm@" lib/odbc/configure.in erts/configure.in '';
|
||||
|
||||
preConfigure = ''
|
||||
|
@ -36,22 +41,22 @@ stdenv.mkDerivation rec {
|
|||
export LANG=C
|
||||
export ERL_TOP=$(pwd)
|
||||
sed -e s@/bin/pwd@pwd@g -i otp_build
|
||||
sed -e s@"/usr/bin/env escript"@${erlang}/bin/escript@g -i lib/diameter/bin/diameterc
|
||||
sed -e s@"/usr/bin/env escript"@${erlang}/bin/escript@g -i lib/diameter/bin/diameterc
|
||||
'';
|
||||
|
||||
configureFlags= [
|
||||
"--with-ssl=${openssl.dev}"
|
||||
"--enable-smp-support"
|
||||
"--enable-threads"
|
||||
"--enable-kernel-poll"
|
||||
"--disable-hipe"
|
||||
"${optionalString odbcSupport "--with-odbc=${unixODBC}"}"
|
||||
"${optionalString stdenv.isDarwin "--enable-darwin-64bit"}"
|
||||
"--enable-smp-support"
|
||||
"--enable-threads"
|
||||
"--enable-kernel-poll"
|
||||
"--disable-hipe"
|
||||
"${optionalString odbcSupport "--with-odbc=${unixODBC}"}"
|
||||
"${optionalString stdenv.isDarwin "--enable-darwin-64bit"}"
|
||||
"${optionalString stdenv.isLinux "--enable-m64-build"}"
|
||||
];
|
||||
|
||||
buildPhase = ''
|
||||
./otp_build autoconf
|
||||
./otp_build autoconf
|
||||
./otp_build setup -a --prefix=$out $configureFlags
|
||||
'';
|
||||
|
||||
|
@ -89,7 +94,7 @@ stdenv.mkDerivation rec {
|
|||
telephony and instant messaging. Erlang's runtime system has
|
||||
built-in support for concurrency, distribution and fault
|
||||
tolerance.
|
||||
This version of Erlang is Basho's version, forked from Ericsson's
|
||||
This version of Erlang is Basho's version, forked from Ericsson's
|
||||
repository.
|
||||
'';
|
||||
|
||||
|
|
|
@ -35,7 +35,12 @@ stdenv.mkDerivation rec {
|
|||
++ optional javacSupport openjdk
|
||||
++ stdenv.lib.optionals stdenv.isDarwin [ Carbon Cocoa ];
|
||||
|
||||
patchPhase = '' sed -i "s@/bin/rm@rm@" lib/odbc/configure erts/configure '';
|
||||
patchPhase = ''
|
||||
# Clang 4 (rightfully) thinks signed comparisons of pointers with NULL are nonsense
|
||||
substituteInPlace lib/wx/c_src/wxe_impl.cpp --replace 'temp > NULL' 'temp != NULL'
|
||||
|
||||
sed -i "s@/bin/rm@rm@" lib/odbc/configure erts/configure
|
||||
'';
|
||||
|
||||
debugInfo = enableDebugInfo;
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ stdenv, fetchurl, fetchFromGitHub, perl, gnum4, ncurses, openssl
|
||||
{ stdenv, fetchurl, fetchpatch, fetchFromGitHub, perl, gnum4, ncurses, openssl
|
||||
, gnused, gawk, autoconf, libxslt, libxml2, makeWrapper
|
||||
, Carbon, Cocoa
|
||||
, odbcSupport ? false, unixODBC ? null
|
||||
|
@ -53,6 +53,11 @@ stdenv.mkDerivation rec {
|
|||
sha256 = "10h5348p6g279b4q01i5jdqlljww5chcvrx5b4b0dv79pk0p0m9f";
|
||||
};
|
||||
|
||||
# Clang 4 (rightfully) thinks signed comparisons of pointers with NULL are nonsense
|
||||
prePatch = ''
|
||||
substituteInPlace lib/wx/c_src/wxe_impl.cpp --replace 'temp > NULL' 'temp != NULL'
|
||||
'';
|
||||
|
||||
patches = [
|
||||
rmAndPwdPatch
|
||||
envAndCpPatch
|
||||
|
|
|
@ -46,6 +46,9 @@ stdenv.mkDerivation rec {
|
|||
prePatch = ''
|
||||
substituteInPlace configure.in \
|
||||
--replace '`sw_vers -productVersion`' '10.10'
|
||||
|
||||
# Clang 4 (rightfully) thinks signed comparisons of pointers with NULL are nonsense
|
||||
substituteInPlace lib/wx/c_src/wxe_impl.cpp --replace 'temp > NULL' 'temp != NULL'
|
||||
'';
|
||||
|
||||
preConfigure = ''
|
||||
|
|
Loading…
Reference in a new issue