diff options
Diffstat (limited to 'pkgs/development/compilers/ponyc/default.nix')
-rw-r--r-- | pkgs/development/compilers/ponyc/default.nix | 115 |
1 files changed, 0 insertions, 115 deletions
diff --git a/pkgs/development/compilers/ponyc/default.nix b/pkgs/development/compilers/ponyc/default.nix deleted file mode 100644 index c7008ec22a8a..000000000000 --- a/pkgs/development/compilers/ponyc/default.nix +++ /dev/null @@ -1,115 +0,0 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, coreutils -, libxml2 -, lto ? !stdenv.isDarwin -, makeWrapper -, openssl -, pcre2 -, pony-corral -, python3 -, substituteAll -, which -, z3 -, darwin -}: - -stdenv.mkDerivation (rec { - pname = "ponyc"; - version = "0.54.0"; - - src = fetchFromGitHub { - owner = "ponylang"; - repo = pname; - rev = version; - hash = "sha256-qFPubqGfK0WCun6QA1OveyDJj7Wf6SQpky7pEb7qsf4="; - fetchSubmodules = true; - }; - - ponygbenchmark = fetchFromGitHub { - owner = "google"; - repo = "benchmark"; - rev = "v1.8.0"; - hash = "sha256-pUW9YVaujs/y00/SiPqDgK4wvVsaM7QUp/65k0t7Yr0="; - }; - - nativeBuildInputs = [ cmake makeWrapper which python3 ] - ++ lib.optionals (stdenv.isDarwin) [ darwin.cctools ]; - buildInputs = [ libxml2 z3 ]; - - # Sandbox disallows network access, so disabling problematic networking tests - patches = [ - ./disable-tests.patch - (substituteAll { - src = ./make-safe-for-sandbox.patch; - googletest = fetchFromGitHub { - owner = "google"; - repo = "googletest"; - # GoogleTest follows Abseil Live at Head philosophy, use latest commit from main branch as often as possible. - rev = "1a727c27aa36c602b24bf170a301aec8686b88e8"; # unstable-2023-03-07 - hash = "sha256-/FWBSxZESwj/QvdNK5BI2EfonT64DP1eGBZR4O8uJww="; - }; - }) - ] ++ lib.optionals stdenv.isDarwin [ - (substituteAll { - src = ./fix-darwin-build.patch; - libSystem = darwin.Libsystem; - }) - ]; - - postUnpack = '' - mkdir -p source/build/build_libs/gbenchmark-prefix/src - cp -r "$ponygbenchmark"/ source/build/build_libs/gbenchmark-prefix/src/benchmark - chmod -R u+w source/build/build_libs/gbenchmark-prefix/src/benchmark - ''; - - dontConfigure = true; - - postPatch = '' - substituteInPlace packages/process/_test.pony \ - --replace '"/bin/' '"${coreutils}/bin/' \ - --replace '=/bin' "${coreutils}/bin" - substituteInPlace src/libponyc/pkg/package.c \ - --replace "/usr/local/lib" "" \ - --replace "/opt/local/lib" "" - ''; - - preBuild = '' - make libs build_flags=-j$NIX_BUILD_CORES - make configure build_flags=-j$NIX_BUILD_CORES - ''; - - makeFlags = [ - "PONYC_VERSION=${version}" - "prefix=${placeholder "out"}" - ] ++ lib.optionals stdenv.isDarwin ([ "bits=64" ] ++ lib.optional (!lto) "lto=no"); - - env.NIX_CFLAGS_COMPILE = toString [ "-Wno-error=redundant-move" "-Wno-error=implicit-fallthrough" ]; - - # make: *** [Makefile:222: test-full-programs-release] Killed: 9 - doCheck = !stdenv.isDarwin; - - installPhase = "make config=release prefix=$out " - + lib.optionalString stdenv.isDarwin ("bits=64 " + (lib.optionalString (!lto) "lto=no ")) - + '' install - wrapProgram $out/bin/ponyc \ - --prefix PATH ":" "${stdenv.cc}/bin" \ - --set-default CC "$CC" \ - --prefix PONYPATH : "${lib.makeLibraryPath [ pcre2 openssl (placeholder "out") ]}" - ''; - - # Stripping breaks linking for ponyc - dontStrip = true; - - passthru.tests.pony-corral = pony-corral; - - meta = with lib; { - description = "Pony is an Object-oriented, actor-model, capabilities-secure, high performance programming language"; - homepage = "https://www.ponylang.org"; - license = licenses.bsd2; - maintainers = with maintainers; [ kamilchm patternspandemic redvers ]; - platforms = [ "x86_64-linux" "x86_64-darwin" "aarch64-linux" "aarch64-darwin" ]; - }; -}) |