New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
snakemake: init at 5.2.2 #45730
snakemake: init at 5.2.2 #45730
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please move the packages to pkgs/development/python-modules/<name>/default.nix
, as per the comment on top of pkgs/top-level/python-packages.nix
. It would be also nice if you could have one commit per package, and use python.pkgs.<name>
in the commit message, instead of just <name>
.
Hi Jan. Thanks for the review! The packages are moved to separate default.nix files and I updated the commit messages. |
Related: #45828 |
''; | ||
|
||
meta = with stdenv.lib; { | ||
homepage = "https://github.com/RazerM/ratelimiter"; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Plain URLs do not need to be quoted.
sed -i -e 's/\x9d//g' README.rst | ||
''; | ||
|
||
doCheck = true; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No need for explicit doCheck
– python pakages are checked automatically.
}: | ||
|
||
buildPythonPackage rec { | ||
name = "${pname}-${version}"; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
name
is not necessary in python packages.
pname = "ratelimiter"; | ||
version = "1.2.0.post0"; | ||
|
||
propagatedBuildInputs = []; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why keep this?
|
||
doCheck = true; | ||
|
||
buildInputs = [ pytest ]; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You can use checkInputs
.
|
||
meta = with stdenv.lib; { | ||
homepage = "http://snakemake.bitbucket.io"; | ||
license = "MIT"; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Use licenses.mit
.
meta = with stdenv.lib; { | ||
homepage = "http://snakemake.bitbucket.io"; | ||
license = "MIT"; | ||
description = "A workflow management system that aims to reduce the complexity of creating workflows by providing a fast and comfortable execution environment, together with a clean and modern specification language in python style. Snakemake workflows are essentially Python scripts extended by declarative code to define rules. Rules describe how to create output files from input files"; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is too long for description, move it to longDescription
and use something shorter for description
. You can get inspiration on Repology.
sha256 = "5c395dcabdbbde2e5178ef3f89b568a3066454a6ddc223b76473dac22f89b4f7"; | ||
}; | ||
|
||
prePatch = '' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Unfortunately, Python < 3.7 requires glibcLocales
in nativeBuildInputs
and something like LC_ALL = "en_US.UTF-8";
in the expression. But it is still better than sed
ing.
All your suggestions have been applied. The locales thing makes more sense indeed! |
Added "disabledIf (!isPy3k)" because Snakemake is no longer supported on Python 2. |
The Snakemake is more a standalone application that a Python library. IMO it should be better placed at |
Moved to pkgs/applications/science/misc/snakemake, and added the long description by Renato. |
@GrahamcOfBorg build snakemake |
Success on aarch64-linux (full log) Attempted: snakemake Partial log (click to expand)
|
Success on x86_64-linux (full log) Attempted: snakemake Partial log (click to expand)
|
Success on x86_64-darwin (full log) Attempted: snakemake Partial log (click to expand)
|
Looks good to me; merged. I hope @renatoGarcia submits a PR to add himself as a maintainer too. |
@renatoGarcia Sure! |
Motivation for this change
Snakemake is a workflow management system. Useful in bio-informatics and HPC, where reproducibility is appreciated.
Also add dependency: ratelimiter (init at 1.2.0.post0)
Things done
sandbox
innix.conf
on non-NixOS)nix-shell -p nox --run "nox-review wip"
./result/bin/
)nix path-info -S
before and after)