diff options
author | Tim Steinbach <NeQuissimus@users.noreply.github.com> | 2016-10-20 13:16:56 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-10-20 13:16:56 -0400 |
commit | d2371e60841a51f228033007788f190487426e8d (patch) | |
tree | d546efada5102c8e2e13fb74769111a463ff21bb /pkgs/development/compilers/ponyc | |
parent | 0c3e5217fcf61ea652cdb3c661808c254eaa54df (diff) | |
parent | 66113fb0fac75dd1f1fc8e2e38e491b1a5ba459b (diff) | |
download | nixlib-d2371e60841a51f228033007788f190487426e8d.tar nixlib-d2371e60841a51f228033007788f190487426e8d.tar.gz nixlib-d2371e60841a51f228033007788f190487426e8d.tar.bz2 nixlib-d2371e60841a51f228033007788f190487426e8d.tar.lz nixlib-d2371e60841a51f228033007788f190487426e8d.tar.xz nixlib-d2371e60841a51f228033007788f190487426e8d.tar.zst nixlib-d2371e60841a51f228033007788f190487426e8d.zip |
Merge pull request #19457 from dipinhora/ponyc-update
ponyc: 2016-07-26 -> 0.5.1
Diffstat (limited to 'pkgs/development/compilers/ponyc')
-rw-r--r-- | pkgs/development/compilers/ponyc/default.nix | 67 | ||||
-rw-r--r-- | pkgs/development/compilers/ponyc/disable-tests.patch | 17 |
2 files changed, 60 insertions, 24 deletions
diff --git a/pkgs/development/compilers/ponyc/default.nix b/pkgs/development/compilers/ponyc/default.nix index 93ce5037fed0..9d451c2e4f3c 100644 --- a/pkgs/development/compilers/ponyc/default.nix +++ b/pkgs/development/compilers/ponyc/default.nix @@ -1,16 +1,19 @@ -{stdenv, glibc, fetchFromGitHub, llvm, makeWrapper, openssl, pcre2, coreutils }: +{ stdenv, fetchFromGitHub, llvm, makeWrapper, pcre2, coreutils, which, libressl, + cc ? stdenv.cc, lto ? !stdenv.isDarwin }: -stdenv.mkDerivation { - name = "ponyc-2016-07-26"; +stdenv.mkDerivation ( rec { + name = "ponyc-${version}"; + version = "0.5.1"; src = fetchFromGitHub { owner = "ponylang"; repo = "ponyc"; - rev = "4eec8a9b0d9936b2a0249bd17fd7a2caac6aaa9c"; - sha256 = "184x2jivp7826i60rf0dpx0a9dg5rsj56dv0cll28as4nyqfmna2"; + rev = version; + sha256 = "14c6qs3cqn9hk2hrq2d5rd4cmwzzz2fcb02dg5q1blq17pj7mcxa"; }; - buildInputs = [ llvm makeWrapper ]; + buildInputs = [ llvm makeWrapper which ]; + propagatedBuildInputs = [ cc ]; # Disable problematic networking tests patches = [ ./disable-tests.patch ]; @@ -18,37 +21,69 @@ stdenv.mkDerivation { preBuild = '' # Fix tests substituteInPlace packages/process/_test.pony \ - --replace "/bin/cat" "${coreutils}/bin/cat" + --replace '"/bin/' '"${coreutils}/bin/' + substituteInPlace packages/process/_test.pony \ + --replace '=/bin' "${coreutils}/bin" + + + # Fix llvm-ar check for darwin + substituteInPlace Makefile \ + --replace "llvm-ar-3.8" "llvm-ar" + + # Remove impure system refs + substituteInPlace src/libponyc/pkg/package.c \ + --replace "/usr/local/lib" "" + substituteInPlace src/libponyc/pkg/package.c \ + --replace "/opt/local/lib" "" + + for file in `grep -irl '/usr/local/opt/libressl/lib' ./*`; do + substituteInPlace $file --replace '/usr/local/opt/libressl/lib' "${stdenv.lib.getLib libressl}/lib" + done + + # Fix ponypath issue + substituteInPlace Makefile \ + --replace "PONYPATH=." "PONYPATH=.:\$(PONYPATH)" export LLVM_CONFIG=${llvm}/bin/llvm-config + '' + stdenv.lib.optionalString ((!stdenv.isDarwin) && (!cc.isClang) && lto) '' + export LTO_PLUGIN=`find ${cc.cc}/ -name liblto_plugin.so` + '' + stdenv.lib.optionalString ((!stdenv.isDarwin) && (cc.isClang) && lto) '' + export LTO_PLUGIN=`find ${cc.cc}/ -name LLVMgold.so` ''; - makeFlags = [ "config=release" ]; + makeFlags = [ "config=release" ] ++ stdenv.lib.optionals stdenv.isDarwin [ "bits=64" ] + ++ stdenv.lib.optionals (stdenv.isDarwin && (!lto)) [ "lto=no" ]; enableParallelBuilding = true; doCheck = true; - checkTarget = "test"; + checkTarget = "test-ci"; preCheck = '' - export LIBRARY_PATH="$out/lib:${stdenv.lib.makeLibraryPath [ openssl pcre2 ]}" + export PONYPATH="$out/lib:${stdenv.lib.makeLibraryPath [ pcre2 libressl ]}" ''; installPhase = '' - make config=release prefix=$out install + make config=release prefix=$out '' + + stdenv.lib.optionalString stdenv.isDarwin '' bits=64 '' + + stdenv.lib.optionalString (stdenv.isDarwin && (!lto)) '' lto=no '' + + '' install mv $out/bin/ponyc $out/bin/ponyc.wrapped makeWrapper $out/bin/ponyc.wrapped $out/bin/ponyc \ - --prefix LIBRARY_PATH : "$out/lib" \ - --prefix LIBRARY_PATH : "${openssl.out}/lib" \ - --prefix LIBRARY_PATH : "${pcre2}/lib" + --prefix PONYPATH : "$out/lib" \ + --prefix PONYPATH : "${stdenv.lib.getLib pcre2}/lib" \ + --prefix PONYPATH : "${stdenv.lib.getLib libressl}/lib" ''; + # Stripping breaks linking for ponyc + dontStrip = true; + meta = { description = "Pony is an Object-oriented, actor-model, capabilities-secure, high performance programming language"; homepage = http://www.ponylang.org; license = stdenv.lib.licenses.bsd2; maintainers = [ stdenv.lib.maintainers.doublec ]; - platforms = stdenv.lib.platforms.linux; + platforms = stdenv.lib.platforms.unix; }; -} +}) diff --git a/pkgs/development/compilers/ponyc/disable-tests.patch b/pkgs/development/compilers/ponyc/disable-tests.patch index 9335ebd6eea8..804a99fddcdf 100644 --- a/pkgs/development/compilers/ponyc/disable-tests.patch +++ b/pkgs/development/compilers/ponyc/disable-tests.patch @@ -1,16 +1,17 @@ diff --git a/packages/net/_test.pony b/packages/net/_test.pony -index d6c3e56..dc37dd9 100644 +index ce26bd7..9a98cc7 100644 --- a/packages/net/_test.pony +++ b/packages/net/_test.pony -@@ -7,11 +7,6 @@ actor Main is TestList +@@ -5,11 +5,7 @@ actor Main is TestList + new make() => None + fun tag tests(test: PonyTest) => - test(_TestReadBuffer) - test(_TestWriteBuffer) - test(_TestBroadcast) +- test(_TestTCPWritev) - ifdef not windows then - test(_TestTCPExpect) -- test(_TestTCPWritev) - end - - class iso _TestReadBuffer is UnitTest - """ ++ None + + class _TestPing is UDPNotify + let _h: TestHelper |