mirror of
https://github.com/ilyakooo0/nixpkgs.git
synced 2024-11-13 09:17:07 +03:00
Merge pull request #89099 from alexbiehl/alex/py-skein
python3Packages.skein: init at 0.8.0
This commit is contained in:
commit
2590885605
@ -313,6 +313,12 @@
|
||||
githubId = 2387841;
|
||||
name = "Alexander Bakker";
|
||||
};
|
||||
alexbiehl = {
|
||||
email = "alexbiehl@gmail.com";
|
||||
github = "alexbiehl";
|
||||
githubId = 1876617;
|
||||
name = "Alex Biehl";
|
||||
};
|
||||
alexchapman = {
|
||||
email = "alex@farfromthere.net";
|
||||
github = "AJChapman";
|
||||
|
39
pkgs/development/python-modules/skein/default.nix
Normal file
39
pkgs/development/python-modules/skein/default.nix
Normal file
@ -0,0 +1,39 @@
|
||||
{ buildPythonPackage
|
||||
, callPackage
|
||||
, fetchPypi
|
||||
, isPy27
|
||||
, jre
|
||||
, lib
|
||||
, pythonPackages
|
||||
, stdenv
|
||||
}:
|
||||
|
||||
let
|
||||
pname = "skein";
|
||||
version = "0.8.0";
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "0nb64p1hzshgi1kfc2jx1v9vn8b0wzs50460wfra3fsxh0ap66ab";
|
||||
};
|
||||
skeinJar = callPackage ./skeinjar.nix { inherit src version; };
|
||||
in
|
||||
buildPythonPackage rec {
|
||||
inherit pname version src;
|
||||
disabled = isPy27;
|
||||
|
||||
propagatedBuildInputs = with pythonPackages; [ cryptography grpcio grpcio-tools jupyter pytest pyyaml requests jre ];
|
||||
|
||||
preBuild = ''
|
||||
# Ensure skein.jar exists skips the maven build in setup.py
|
||||
mkdir -p skein/java
|
||||
ln -s ${skeinJar} skein/java/skein.jar
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
homepage = "https://jcristharif.com/skein";
|
||||
description = "A tool and library for easily deploying applications on Apache YARN";
|
||||
license = licenses.bsd3;
|
||||
maintainers = with maintainers; [ alexbiehl ];
|
||||
};
|
||||
|
||||
}
|
21
pkgs/development/python-modules/skein/skeinjar.nix
Normal file
21
pkgs/development/python-modules/skein/skeinjar.nix
Normal file
@ -0,0 +1,21 @@
|
||||
{ callPackage, stdenv, maven, src, version }:
|
||||
|
||||
let
|
||||
skeinRepo = callPackage ./skeinrepo.nix { inherit src version; };
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
name = "skein-${version}.jar";
|
||||
|
||||
inherit src;
|
||||
|
||||
nativeBuildInputs = [ maven ];
|
||||
|
||||
buildPhase = ''
|
||||
mvn --offline -f java/pom.xml package -Dmaven.repo.local="${skeinRepo}" -Dskein.version=${version} -Dversion=${version}
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
# Making sure skein.jar exists skips the maven build in setup.py
|
||||
mv java/target/skein-*.jar $out
|
||||
'';
|
||||
}
|
46
pkgs/development/python-modules/skein/skeinrepo.nix
Normal file
46
pkgs/development/python-modules/skein/skeinrepo.nix
Normal file
@ -0,0 +1,46 @@
|
||||
{ autoPatchelfHook, lib, maven, stdenv, src, version }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "skein-${version}-maven-repo";
|
||||
|
||||
inherit src;
|
||||
|
||||
nativeBuildInputs = [ maven ] ++ lib.optional stdenv.isLinux autoPatchelfHook;
|
||||
|
||||
doBuild = false;
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out
|
||||
|
||||
archs="${
|
||||
if stdenv.isLinux
|
||||
then "linux-x86_32 linux-x86_64"
|
||||
else "osx-x86_64"
|
||||
}"
|
||||
|
||||
for arch in $archs
|
||||
do
|
||||
mvn -Dmaven.repo.local=$out dependency:get -Dartifact=com.google.protobuf:protoc:3.0.0:exe:$arch
|
||||
mvn -Dmaven.repo.local=$out dependency:get -Dartifact=io.grpc:protoc-gen-grpc-java:1.16.0:exe:$arch
|
||||
done
|
||||
|
||||
if ${ lib.boolToString stdenv.isLinux }
|
||||
then
|
||||
autoPatchelf $out
|
||||
fi
|
||||
|
||||
# We have to use maven package here as dependency:go-offline doesn't
|
||||
# fetch every required jar.
|
||||
mvn -f java/pom.xml -Dmaven.repo.local=$out package
|
||||
|
||||
rm $(find $out -name _remote.repositories)
|
||||
rm $(find $out -name resolver-status.properties)
|
||||
'';
|
||||
|
||||
outputHashMode = "recursive";
|
||||
outputHashAlgo = "sha256";
|
||||
outputHash = if stdenv.isLinux
|
||||
then "12f0q3444qw6y4f6qsa9540a0fz4cgi844zzi8z1phqn3k4dnl6v"
|
||||
else "0bjbwiv17cary1isxca0m2hsvgs1i5fh18z247h1hky73lnhbrz8";
|
||||
|
||||
} // lib.optionalAttrs stdenv.isLinux { dontAutoPatchelf = true; }
|
@ -6421,6 +6421,8 @@ in {
|
||||
|
||||
python_statsd = callPackage ../development/python-modules/python_statsd { };
|
||||
|
||||
skein = callPackage ../development/python-modules/skein { };
|
||||
|
||||
stompclient = callPackage ../development/python-modules/stompclient { };
|
||||
|
||||
subdownloader = callPackage ../development/python-modules/subdownloader { };
|
||||
|
Loading…
Reference in New Issue
Block a user