nixpkgs/pkgs/development/interpreters/python/rustpython/default.nix
2021-12-14 18:53:25 +01:00

45 lines
1.2 KiB
Nix

{ lib
, stdenv
, rustPlatform
, fetchFromGitHub
, SystemConfiguration
, python3
}:
rustPlatform.buildRustPackage rec {
pname = "rustpython";
version = "unstable-2021-12-09";
src = fetchFromGitHub {
owner = "RustPython";
repo = "RustPython";
rev = "db3b3127df34ff5dd569301aa36ed71ae5624e4e";
sha256 = "sha256-YwGfXs3A5L/18mHnnWubPU3Y8EI9uU3keJ2HJnnTwv0=";
};
cargoHash = "sha256-T85kiPG80oZ4mwpb8Ag40wDHKx2Aens+gM7NGXan5lM=";
# freeze the stdlib into the rustpython binary
cargoBuildFlags = "--features=freeze-stdlib";
buildInputs = lib.optionals stdenv.isDarwin [ SystemConfiguration ];
checkInputs = [ python3 ];
meta = with lib; {
description = "Python 3 interpreter in written Rust";
homepage = "https://rustpython.github.io";
license = licenses.mit;
maintainers = with maintainers; [ prusnak ];
# TODO: Remove once nixpkgs uses newer SDKs that supports '*at' functions.
# Probably macOS SDK 10.13 or later. Check the current version in
# .../os-specific/darwin/apple-sdk/default.nix
#
# From the build logs:
#
# > Undefined symbols for architecture x86_64: "_utimensat"
broken = stdenv.isDarwin && stdenv.isx86_64;
};
}