Skip to content
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

pythonPackages.isort: Add explicit setuptools dep and bin test #72204

Merged
merged 1 commit into from Oct 29, 2019

Conversation

Shados
Copy link
Member

@Shados Shados commented Oct 29, 2019

Motivation for this change

isort's executable script has a dependency on setuptools (although this dependency doesn't appear to be expressed in the pyproject for it), which was not previously present. This issue wasn't originally exposed, but f7e28bf resulted in it surfacing somehow (I assume by effectively removing setuptools from implicitly being in propagatedBuildInputs in some respect...?).

This makes the dependency explicit, and also adds a minimal test of the executable script to catch future issues of this nature.

Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Determined the impact on package closure size (by running nix path-info -S before and after)
  • Ensured that relevant documentation is up to date
  • Fits CONTRIBUTING.md.
Notify maintainers

cc @FRidh I suspect there's a few other packages around that will turn out to have implicit dependencies on setuptools.

Copy link
Contributor

@jonringer jonringer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nix-review passes on NixOS (27 failiures on master, fixing in other PR)
diff LGTM

[229 built (27 failed), 377 copied (1891.1 MiB), 783.8 MiB DL]
error: build of '/nix/store/10s6cbn7nl9d0a567rgqmcapgvxvzkn5-env.drv' failed
https://github.com/NixOS/nixpkgs/pull/72204
3 package are marked as broken and were skipped:
python27Packages.geopy python37Packages.qasm2image python38Packages.qasm2image

33 package failed to build:
buildbot buildbot-full buildbot-ui python27Packages.kubernetes python37Packages.azure-cli-core python37Packages.buildbot-plugins.console-view python37Packages.buildbot-plugins.grid-view python37Packages.buildbot-plugins.waterfall-view python37Packages.buildbot-plugins.wsgi-dashboards python37Packages.buildbot-plugins.www python37Packages.hyperkitty python37Packages.mailman-web python37Packages.minio python37Packages.rl-coach spyder python37Packages.starfish python37Packages.toggl-cli python38Packages.azure-cli-core python38Packages.hyperkitty python38Packages.mailman-web python38Packages.minio python38Packages.pyls-black python38Packages.pyls-isort python38Packages.pyls-mypy python38Packages.pysonos python38Packages.python-language-server python38Packages.soco python38Packages.spyder python38Packages.toggl-cli sasview sourcehut.metasrht sourcehut.todosrht topydo

225 package were build:
beets buku conan git-revise paperless photon pwndbg python27Packages.diff_cover python27Packages.django_extensions python27Packages.django_silk python27Packages.factory_boy python27Packages.faker python27Packages.hcloud python27Packages.isort python27Packages.pamqp python27Packages.pylint python27Packages.pyls-isort python27Packages.pytest-isort python27Packages.pytest-pylint python27Packages.python-language-server python27Packages.rabbitpy python27Packages.soco python27Packages.tld python27Packages.validators python37Packages.Quandl python37Packages.azure-applicationinsights python37Packages.azure-batch python37Packages.azure-eventgrid python37Packages.azure-graphrbac python37Packages.azure-keyvault python37Packages.azure-loganalytics python37Packages.azure-mgmt-advisor python37Packages.azure-mgmt-applicationinsights python37Packages.azure-mgmt-authorization python37Packages.azure-mgmt-batch python37Packages.azure-mgmt-batchai python37Packages.azure-mgmt-billing python37Packages.azure-mgmt-cdn python37Packages.azure-mgmt-cognitiveservices python37Packages.azure-mgmt-commerce python37Packages.azure-mgmt-common python37Packages.azure-mgmt-compute python37Packages.azure-mgmt-consumption python37Packages.azure-mgmt-containerinstance python37Packages.azure-mgmt-containerservice python37Packages.azure-mgmt-cosmosdb python37Packages.azure-mgmt-datafactory python37Packages.azure-mgmt-datalake-analytics python37Packages.azure-mgmt-datalake-store python37Packages.azure-mgmt-datamigration python37Packages.azure-mgmt-devspaces python37Packages.azure-mgmt-devtestlabs python37Packages.azure-mgmt-dns python37Packages.azure-mgmt-eventgrid python37Packages.azure-mgmt-eventhub python37Packages.azure-mgmt-hanaonazure python37Packages.azure-mgmt-iotcentral python37Packages.azure-mgmt-iothub python37Packages.azure-mgmt-iothubprovisioningservices python37Packages.azure-mgmt-keyvault python37Packages.azure-mgmt-loganalytics python37Packages.azure-mgmt-logic python37Packages.azure-mgmt-machinelearningcompute python37Packages.azure-mgmt-managementgroups python37Packages.azure-mgmt-managementpartner python37Packages.azure-mgmt-maps python37Packages.azure-mgmt-marketplaceordering python37Packages.azure-mgmt-media python37Packages.azure-mgmt-monitor python37Packages.azure-mgmt-msi python37Packages.azure-mgmt-network python37Packages.azure-mgmt-notificationhubs python37Packages.azure-mgmt-policyinsights python37Packages.azure-mgmt-powerbiembedded python37Packages.azure-mgmt-rdbms python37Packages.azure-mgmt-recoveryservices python37Packages.azure-mgmt-recoveryservicesbackup python37Packages.azure-mgmt-redis python37Packages.azure-mgmt-relay python37Packages.azure-mgmt-reservations python37Packages.azure-mgmt-resource python37Packages.azure-mgmt-scheduler python37Packages.azure-mgmt-search python37Packages.azure-mgmt-servicebus python37Packages.azure-mgmt-servicefabric python37Packages.azure-mgmt-signalr python37Packages.azure-mgmt-sql python37Packages.azure-mgmt-storage python37Packages.azure-mgmt-subscription python37Packages.azure-mgmt-trafficmanager python37Packages.azure-mgmt-web python37Packages.azure-servicebus python37Packages.azure-servicefabric python37Packages.cairosvg python37Packages.cssselect2 python37Packages.diff_cover python37Packages.diofant python37Packages.django_extensions python37Packages.django_silk python37Packages.django_taggit python37Packages.factory_boy python37Packages.faker python37Packages.hcloud python37Packages.isort python37Packages.kubernetes python37Packages.msrest python37Packages.msrestazure python37Packages.pamqp python37Packages.phik python37Packages.pygal python37Packages.pylint python37Packages.pyls-black python37Packages.pyls-isort python37Packages.pyls-mypy python37Packages.pysonos python37Packages.pytest-isort python37Packages.pytest-pylint python37Packages.python-language-server python37Packages.rabbitpy python37Packages.soco python37Packages.tinycss2 python37Packages.tld python37Packages.trio python37Packages.validators python37Packages.vsts python37Packages.weasyprint xml2rfc python38Packages.azure-applicationinsights python38Packages.azure-batch python38Packages.azure-eventgrid python38Packages.azure-graphrbac python38Packages.azure-keyvault python38Packages.azure-loganalytics python38Packages.azure-mgmt-advisor python38Packages.azure-mgmt-applicationinsights python38Packages.azure-mgmt-authorization python38Packages.azure-mgmt-batch python38Packages.azure-mgmt-batchai python38Packages.azure-mgmt-billing python38Packages.azure-mgmt-cdn python38Packages.azure-mgmt-cognitiveservices python38Packages.azure-mgmt-commerce python38Packages.azure-mgmt-common python38Packages.azure-mgmt-compute python38Packages.azure-mgmt-consumption python38Packages.azure-mgmt-containerinstance python38Packages.azure-mgmt-containerservice python38Packages.azure-mgmt-cosmosdb python38Packages.azure-mgmt-datafactory python38Packages.azure-mgmt-datalake-analytics python38Packages.azure-mgmt-datalake-store python38Packages.azure-mgmt-datamigration python38Packages.azure-mgmt-devspaces python38Packages.azure-mgmt-devtestlabs python38Packages.azure-mgmt-dns python38Packages.azure-mgmt-eventgrid python38Packages.azure-mgmt-eventhub python38Packages.azure-mgmt-hanaonazure python38Packages.azure-mgmt-iotcentral python38Packages.azure-mgmt-iothub python38Packages.azure-mgmt-iothubprovisioningservices python38Packages.azure-mgmt-keyvault python38Packages.azure-mgmt-loganalytics python38Packages.azure-mgmt-logic python38Packages.azure-mgmt-machinelearningcompute python38Packages.azure-mgmt-managementgroups python38Packages.azure-mgmt-managementpartner python38Packages.azure-mgmt-maps python38Packages.azure-mgmt-marketplaceordering python38Packages.azure-mgmt-media python38Packages.azure-mgmt-monitor python38Packages.azure-mgmt-msi python38Packages.azure-mgmt-network python38Packages.azure-mgmt-notificationhubs python38Packages.azure-mgmt-policyinsights python38Packages.azure-mgmt-powerbiembedded python38Packages.azure-mgmt-rdbms python38Packages.azure-mgmt-recoveryservices python38Packages.azure-mgmt-recoveryservicesbackup python38Packages.azure-mgmt-redis python38Packages.azure-mgmt-relay python38Packages.azure-mgmt-reservations python38Packages.azure-mgmt-resource python38Packages.azure-mgmt-scheduler python38Packages.azure-mgmt-search python38Packages.azure-mgmt-servicebus python38Packages.azure-mgmt-servicefabric python38Packages.azure-mgmt-signalr python38Packages.azure-mgmt-sql python38Packages.azure-mgmt-storage python38Packages.azure-mgmt-subscription python38Packages.azure-mgmt-trafficmanager python38Packages.azure-mgmt-web python38Packages.azure-servicebus python38Packages.azure-servicefabric python38Packages.cairosvg python38Packages.cssselect2 python38Packages.diff_cover python38Packages.diofant python38Packages.django_extensions python38Packages.django_silk python38Packages.django_taggit python38Packages.factory_boy python38Packages.faker python38Packages.git-revise python38Packages.hcloud python38Packages.isort python38Packages.kubernetes python38Packages.msrest python38Packages.msrestazure python38Packages.pamqp python38Packages.pygal python38Packages.pylint python38Packages.pytest-isort python38Packages.pytest-pylint python38Packages.rabbitpy python38Packages.tinycss2 python38Packages.tld python38Packages.trio python38Packages.validators python38Packages.vsts python38Packages.weasyprint python38Packages.xml2rfc thonny vimPlugins.vim-isort

master check:

$ nix build -f . --keep-going buildbot buildbot-full buildbot-ui python27Packages.kubernetes python37Packages.azure-cli-core python37Packages.buildbot-plugins.console-view python37Packages.buildbot-plugins.grid-view python37Packages.buildbot-plugins.waterfall-view python37Packages.buildbot-plugins.wsgi-dashboards python37Packages.buildbot-plugins.www python37Packages.hyperkitty python37Packages.mailman-web python37Packages.minio python37Packages.rl-coach spyder python37Packages.starfish python37Packages.toggl-cli python38Packages.azure-cli-core python38Packages.hyperkitty python38Packages.mailman-web python38Packages.minio python38Packages.pyls-black python38Packages.pyls-isort python38Packages.pyls-mypy python38Packages.pysonos python38Packages.python-language-server python38Packages.soco python38Packages.spyder python38Packages.toggl-cli sasview sourcehut.metasrht sourcehut.todosrht topydo
...
[0 built (27 failed), 14 copied (47.6 MiB), 3.1 MiB DL]
error: build of '/nix/store/0gig0hk4r0021glajdmv2nm55qkllvxi-python3.7-buildbot-2.5.0.drv', '/nix/store/2vbghyc87hlwrcvwwj11q8faw4qpy7fn-python3.7-python3.7-buildbot-2.5.0-with-plugins.drv', '/nix/store/38d83sp39n0cljsbpmkp5jbhk58qjlgi-python3.8-soco-0.18.1.drv', '/nix/store/3pghg87l0h43qmbipqm6chzbh60716hj-python3.8-toggl-cli-2.1.0.drv', '/nix/store/4xnkycb55gf4qvrsm2xb6sbawsvx1n47-python3.8-azure-cli-core-2.0.75.drv', '/nix/store/5bqzdh56xqmix3lg8g571nfjfhzwkzx8-sasview-4.2.0.drv', '/nix/store/5vnbsm0pgdb4fb55hbk1mh7hsx18855h-python2.7-kubernetes-10.0.1.drv', '/nix/store/6s5fi3wi8wj6a009dhz7yrwq2m127zpb-topydo-0.13.drv', '/nix/store/748s82rl7k0njx6n9ak6da5hn1z3z3h5-python3.7-metasrht-0.35.3.drv', '/nix/store/7nw7d5hc8y4n03myp7frmbvb1qz6x5zq-python3.7-HyperKitty-1.2.2.drv', '/nix/store/998pf9l7b1izfgasc2kpw74k118fas2s-python3.8-pysonos-0.0.24.drv', '/nix/store/9wfk0f1n5w9aajvi6jzaxcx4s0wbsjpk-python3.8-python-language-server-0.29.1.drv', '/nix/store/bm0h28i9h7wbmn6xc67mdxrp76bjgp87-python3.7-buildbot-www-2.5.0.drv', '/nix/store/c3w915xaclj63ww8mcc7vivspx3pv1jb-python3.7-spyder-3.3.6.drv', '/nix/store/d0ys6mx5mh4i1j2nk4nyf7c61y4dbpjk-python3.8-pyls-mypy-0.1.6.drv', '/nix/store/d1fj253c844s8p2792225yfn33l05d3c-python3.7-starfish-0.1.8.drv', '/nix/store/djdj7mzzzxl5ar9lcy22dzd23ccia4cp-python3.7-buildbot-waterfall-view-2.5.0.drv', '/nix/store/f3iylg46qb84nja9xsk6xy9dbdhrvb7i-python3.7-buildbot-wsgi-dashboards-2.5.0.drv', '/nix/store/g68s3mw6lrcmx4nvc2kcys5y7brhm6vp-python3.8-spyder-3.3.6.drv', '/nix/store/grv4anh437b09gdw61rqffzmmqwx0nik-python3.7-toggl-cli-2.1.0.drv', '/nix/store/kcbm9x415jmcibxyvlsfb7azmdf063qm-python3.7-mailman-web-0.drv', '/nix/store/mcz2lcy3v2xmnabhxi7z95r03phx9xmb-python3.7-rl-coach-1.0.1.drv', '/nix/store/r5lymi07rrvyx8l6syjsxv4jk9j95sjj-python3.8-pyls-isort-0.1.1.drv', '/nix/store/rgh8yv794pj6asnkwmi0bk6wr2vbl77b-python3.7-minio-5.0.1.drv', '/nix/store/sb75s3sm2534xn6rqjcrvn1iaj0yxdnk-python3.8-pyls-black-0.4.4.drv', '/nix/store/w823xv3924yhdh3ds7sm4bwx5x3mcz9d-python3.7-todosrht-0.51.11.drv', '/nix/store/w98pcgglb3i2pds438vpnsnm8lq3jcyi-python3.7-azure-cli-core-2.0.75.drv', '/nix/store/wh3j94in6ysra40sk2n0ipfdffq13f8l-python3.8-minio-5.0.1.drv', '/nix/store/xnwirpf45x8nrbvxmmwr7k5kad90jwnc-python3.7-buildbot-grid-view-2.5.0.drv', '/nix/store/z1i7x96izwzg41y9i68m50ic189hphi6-python3.7-buildbot-console-view-2.5.0.drv', '/nix/store/z6d4v7y8vabkmxrw7brzgk4g3lkmby3h-python3.8-HyperKitty-1.2.2.drv', '/nix/store/z97wybvrq1y4c661q7x1fc7llk0fcdyk-python3.7-python3.7-buildbot-2.5.0-with-plugins.drv', '/nix/store/zf86f9b05gxzqhc8fz6bc1r3lykkplpj-python3.8-mailman-web-0.drv' failed

@jonringer
Copy link
Contributor

@GrahamcOfBorg build pythonPackages.isort python3Packages.isort python38Packages.isort

@jonringer
Copy link
Contributor

error in the darwin python38Packages.isort, but it looks like an upstream issue

@jonringer jonringer merged commit 94a8062 into NixOS:master Oct 29, 2019
@vanschelven
Copy link
Contributor

Noting for discoverability that the problem that this PR fixes shows up on NixOS 19.09 with the following traceback:

Traceback (most recent call last):
  File "/nix/store/36xszzy4hrhnl2rfv9m945ib0g42sabg-python3.7-isort-4.3.20/bin/.isort-wrapped", line 7, in <module>
    from isort.main import main
  File "/nix/store/47c892k7bxb87z0m915xv411cacwr4a2-python3-3.7.5-env/lib/python3.7/site-packages/isort/main.py", line 29, in <module>
    import setuptools
ModuleNotFoundError: No module named 'setuptools'

@jonringer
Copy link
Contributor

if you would like to open a PR, I will be more than happy to merge

@vanschelven
Copy link
Contributor

@jonringer #81105

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants