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

Mayavi #2215

Merged
merged 13 commits into from
Jan 16, 2017
Merged

Mayavi #2215

merged 13 commits into from
Jan 16, 2017

Conversation

dfroger
Copy link
Contributor

@dfroger dfroger commented Jan 15, 2017

others mayavi PR: #285, #1581, #2014

This PR disable osx and win for now.

It should works on GNU/Linux

@conda-forge-linter
Copy link

Hi! This is the friendly automated conda-forge-linting service.

I just wanted to let you know that I linted all conda-recipes in your PR (recipes/mayavi) and found it was in an excellent condition.

@dfroger dfroger mentioned this pull request Jan 15, 2017
@dfroger
Copy link
Contributor Author

dfroger commented Jan 15, 2017

Error on Gnu/Linux:

setup.py: cannot connect to X server 
Traceback (most recent call last):
  File "/opt/conda/bin/conda-build-all", line 11, in <module>
    load_entry_point('conda-build-all==1.0.0', 'console_scripts', 'conda-build-all')()
  File "/opt/conda/lib/python3.5/site-packages/conda_build_all/cli.py", line 90, in main
    b.main()
  File "/opt/conda/lib/python3.5/site-packages/conda_build_all/builder.py", line 263, in main
    built_dist_location = self.build(meta, build_config)
  File "/opt/conda/lib/python3.5/site-packages/conda_build_all/builder.py", line 200, in build
    conda_build.api.build(meta.meta, config=config)
  File "/opt/conda/lib/python3.5/site-packages/conda_build/api.py", line 89, in build
    need_source_download=need_source_download, config=config)
  File "/opt/conda/lib/python3.5/site-packages/conda_build/build.py", line 1460, in build_tree
    config=config)
  File "/opt/conda/lib/python3.5/site-packages/conda_build/build.py", line 1043, in build
    utils.check_call_env(cmd, env=env, cwd=src_dir)
  File "/opt/conda/lib/python3.5/site-packages/conda_build/utils.py", line 590, in check_call_env
    return _func_defaulting_env_to_os_environ(subprocess.check_call, *popenargs, **kwargs)
  File "/opt/conda/lib/python3.5/site-packages/conda_build/utils.py", line 586, in _func_defaulting_env_to_os_environ
    return func(_args, **kwargs)
  File "/opt/conda/lib/python3.5/subprocess.py", line 581, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['/bin/bash', '-x', '-e', '/staged-recipes/build_artefacts/mayavi_1484511111763/work/conda_build.sh']' returned non-zero exit status 1

./scripts/run_docker_build.sh returned exit code 1

qtconsole has a similar issue, and solve it with xvfb.

@dfroger
Copy link
Contributor Author

dfroger commented Jan 15, 2017

xvfb is also recommand in mayavi doc, will try this solution

@dfroger
Copy link
Contributor Author

dfroger commented Jan 16, 2017

There may be still adjustements/improvements to do, but the recipe as it is works for GNU/Linux.

@hadim @grlee77 @Cadair @ocefpaf If you are ok, we can merge this mayavi recipe for GNU/Linux, and then tackle Windows and OSX build?


about:
home: https://github.com/enthought/mayavi
license: BSD
Copy link
Member

Choose a reason for hiding this comment

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

Do you know if this is BSD 2-Clause or BSD 3-Clause?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I check...

- apptools
- envisage
- pyqt
- setuptools
Copy link
Member

Choose a reason for hiding this comment

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

Does mayavi needs pkg_resources? If not we can remove setuptools from the run dependencies.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

seems that yes, pkg_resources is needed

build:
- toolchain
- python
- numpy
Copy link
Member

Choose a reason for hiding this comment

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

Do you know if mayavi relies on numpy ABI? If so we need to use numpy x.x here and below.

Copy link
Member

Choose a reason for hiding this comment

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

yes it does.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

files tvtk/src/array_ext.c and tvtk/src/array_ext.pyx calls Numpy C-API, does it means it relies on numpy ABI?

By the way, seems that mayavi and tvtk could be in two differents packages.

Copy link
Member

Choose a reason for hiding this comment

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

Yeah, You do need to add numpy x.x then.

By the way, seems that mayavi and tvtk could be in two differents packages.

Maybe you could test the new conda-build feature that creates multiple packages from a single recipe. (But I would not try that now. I would get this merged first ;-)

Copy link
Contributor Author

Choose a reason for hiding this comment

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

The doc says: "TVTK is meant to be installed as part of the mayavi package.", so it must be ok to have 1 package

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I changed to numpy x.x

@ocefpaf
Copy link
Member

ocefpaf commented Jan 16, 2017

@dfroger why the change in .CI/build_all 100755 → 100644 ?


source:
git_url: https://github.com/enthought/mayavi.git
git_rev: {{ version }}
Copy link
Member

Choose a reason for hiding this comment

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

Please change this to:

fn: mayavi-{{ version }}.tar.gz
url: https://github.com/enthought/mayavi/archive/{{ version }}.tar.gz
sha256: 36f688b3ea542e9f8cc0d7faa25e1425723cd00acc8aa640169029f33679ab85

Copy link
Contributor Author

Choose a reason for hiding this comment

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

done

entry_points:
- mayavi2 = mayavi.scripts.mayavi2:main
- tvtk_doc = tvtk.tools.tvtk_doc:main
skip: True # [osx or (linux and py34) or win]
Copy link
Member

Choose a reason for hiding this comment

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

Just curious but why are you skipping PY34? (It does not matter as conda-forge is no longer building packages for Python 3.4)

Copy link
Contributor Author

@dfroger dfroger Jan 16, 2017

Choose a reason for hiding this comment

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

just because its VTK dependency is skipped for linux and py34, I'll add a comment about that

Copy link
Contributor Author

@dfroger dfroger Jan 16, 2017

Choose a reason for hiding this comment

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

or should I just remove the py34 skip, as conda-forge no longer build for 3.4?

Copy link
Member

Choose a reason for hiding this comment

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

In that case just remove the skip. It will skip in conda-forge anyways, since we are not building Python 3.4, but users will still be able to build it elsewhere if they want to.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I removed the py34 skip

@dfroger
Copy link
Contributor Author

dfroger commented Jan 16, 2017

The file permission change seems to be an error, I'll restaure it

@@ -49,6 +49,8 @@ about:
license_family: BSD
license_file: LICENSE.txt
summary: The Mayavi scientific data 3-dimensional visualizers
doc_url: http://docs.enthought.com/mayavi/mayavi
dev_url: https://github.com/simplejson/simplejson
Copy link
Member

Choose a reason for hiding this comment

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

Oops. Copy-n-pasta 😉

Copy link
Contributor Author

Choose a reason for hiding this comment

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

oops... I fixed dev_url to github (same as home page)

@ocefpaf ocefpaf merged commit 5bdc584 into conda-forge:master Jan 16, 2017
@ocefpaf
Copy link
Member

ocefpaf commented Jan 16, 2017

Thanks @dfroger! Good luck with the Windows and OS X builds.

- python
- numpy x.x
- setuptools
- vtk
Copy link
Member

Choose a reason for hiding this comment

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

Should this have been pinned too?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

  • python : 2.7 and 3.5 are supported
  • vtk: I think yes, we shoud pin it to >= 7.1

run:
- python
- numpy x.x
- vtk ==7.1.0
Copy link
Member

Choose a reason for hiding this comment

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

Does it need to be pinned exactly?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I think >= 7.1 is enough. I'll propose the change

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Created conda-forge/mayavi-feedstock#1 to not forget

@dfroger dfroger mentioned this pull request Jan 17, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

6 participants