scriptcwl icon indicating copy to clipboard operation
scriptcwl copied to clipboard

Create a conda package for scriptcwl

Open arnikz opened this issue 7 years ago • 6 comments

arnikz avatar Nov 13 '17 10:11 arnikz

I looked into this and got it to work, partially. It failed on setting requirements for the package dependencies. For win64 there are no conda packages for cwltool and ruamel.yaml. When I leave those dependencies out (and leave out the tests when I have not installed cwltool and ruaml.yaml with pip), I am able to make a package that could be uploaded to anaconda.

The package properties and dependencies are indicated in a meta.yml file. Then you run conda build scriptcwl to generate a package to later upload to anaconda. The meta.yml file can be inspected in the "ben_make_conda_install" branch of NLeSC/scriptcwl.

Can someone test how it works on a linux/mac system? The ruamel.yml and cwltool packages are available for those systems.

bldevries-escience avatar Nov 14 '17 16:11 bldevries-escience

Thanks @bldevries-escience. I will test on Linux/Mac.

arnikz avatar Nov 15 '17 12:11 arnikz

Tested on Linux/python 2.7.13

BUILD START: scriptcwl-0.5.1-py36_0
    (actual version deferred until further download or env creation)
Can't build /home/arni/gitrepos/scriptcwl due to unsatisfiable dependencies:
The following specifications were found to be in conflict:
  - cwltool -> python 2.7*
  - python 3.6*
Use "conda info <package>" to see the dependencies for each package.

Typically if a conflict is with the Python or R
packages, the other package needs to be rebuilt
(e.g., a conflict with 'python 3.5*' and 'x' means
'x' isn't build for Python 3.5 and needs to be rebuilt.

arnikz avatar Nov 15 '17 13:11 arnikz

the solutions is to specify the python version for the conda-build

conda-build --python 2.7 .

arnikz avatar Nov 15 '17 13:11 arnikz

Maybe we should postpone this issue and first file an issue with cwltool an ruaml.yml to make them implement python 3+ and conda?

bldevries-escience avatar Nov 15 '17 15:11 bldevries-escience

on Mac OS X got the following error:

Traceback (most recent call last):
  File "/Users/arni/miniconda3/bin/conda-build", line 11, in <module>
    sys.exit(main())
  File "/Users/arni/miniconda3/lib/python3.6/site-packages/conda_build/cli/main_build.py", line 388, in main
    execute(sys.argv[1:])
  File "/Users/arni/miniconda3/lib/python3.6/site-packages/conda_build/cli/main_build.py", line 379, in execute
    verify=args.verify)
  File "/Users/arni/miniconda3/lib/python3.6/site-packages/conda_build/api.py", line 187, in build
    need_source_download=need_source_download, config=config, variants=variants)
  File "/Users/arni/miniconda3/lib/python3.6/site-packages/conda_build/build.py", line 1782, in build_tree
    bypass_env_check=True)
  File "/Users/arni/miniconda3/lib/python3.6/site-packages/conda_build/render.py", line 621, in render_recipe
    m = MetaData(recipe_dir, config=config)
  File "/Users/arni/miniconda3/lib/python3.6/site-packages/conda_build/metadata.py", line 727, in __init__
    self.parse_again(permit_undefined_jinja=True, allow_no_other_outputs=True)
  File "/Users/arni/miniconda3/lib/python3.6/site-packages/conda_build/metadata.py", line 792, in parse_again
    run_requirements = specs_from_url(self.requirements_path)
  File "/Users/arni/miniconda3/lib/python3.6/site-packages/conda/cli/common.py", line 564, in specs_from_url
    (line, url))
conda.exceptions.CondaValueError: could not parse '--index-url https://pypi.python.org/simple/' in: /Users/arni/Downloads/gitrepos/scriptcwl/requirements.txt

arnikz avatar Nov 16 '17 08:11 arnikz