mcveanlab / mccortex

De novo genome assembly and multisample variant calling
https://github.com/mcveanlab/mccortex/wiki
MIT License
113 stars 25 forks source link

Release as conda package #72

Closed winni2k closed 5 years ago

winni2k commented 6 years ago

I had a go at packaging mccortex for conda, but I've run out of time. It would be really nice to have a conda package of mccortex to make it easier for downstream projects to include.

winni2k commented 5 years ago

I'm giving this a new try with the new 1.0 release tar ball.

winni2k commented 5 years ago

Hmm, still no luck. Running conda build . from here gives me this truncated error message on my mac:

x86_64-apple-darwin13.4.0-clang -O3 -m64 -std=c99 -Wall -Wextra -Wshadow -Wstrict-aliasing=2 -Winit-self -Wmissing-include-dirs -Wdiv-by-zero -Wsign-compare -Wmissing-noreturn -Wreturn-type -Wwrite-strings -Wundef -Wpointer-arith -Wfloat-equal -Wbad-function-cast  -I.  -D_USESAM=1 -DCTXCHECKS=1 -c -o cram/cram_io.o cram/cram_io.c
cram/cram_io.c:61:10: fatal error: 'lzma.h' file not found
#include <lzma.h>
         ^~~~~~~~
1 error generated.
make[2]: *** [cram/cram_io.o] Error 1
make[1]: *** [htslib] Error 2
make: *** [libs-core] Error 2
Traceback (most recent call last):
  File "/Users/winni/miniconda3/envs/build/bin/conda-build", line 11, in <module>
    sys.exit(main())
  File "/Users/winni/miniconda3/envs/build/lib/python3.6/site-packages/conda_build/cli/main_build.py", line 424, in main
    execute(sys.argv[1:])
  File "/Users/winni/miniconda3/envs/build/lib/python3.6/site-packages/conda_build/cli/main_build.py", line 415, in execute
    verify=args.verify)
  File "/Users/winni/miniconda3/envs/build/lib/python3.6/site-packages/conda_build/api.py", line 200, in build
    notest=notest, need_source_download=need_source_download, variants=variants)
  File "/Users/winni/miniconda3/envs/build/lib/python3.6/site-packages/conda_build/build.py", line 2206, in build_tree
    notest=notest,
  File "/Users/winni/miniconda3/envs/build/lib/python3.6/site-packages/conda_build/build.py", line 1446, in build
    utils.check_call_env(cmd, env=env, cwd=src_dir, stats=build_stats)
  File "/Users/winni/miniconda3/envs/build/lib/python3.6/site-packages/conda_build/utils.py", line 310, in check_call_env
    return _func_defaulting_env_to_os_environ('call', *popenargs, **kwargs)
  File "/Users/winni/miniconda3/envs/build/lib/python3.6/site-packages/conda_build/utils.py", line 290, in _func_defaulting_env_to_os_environ
    raise subprocess.CalledProcessError(proc.returncode, _args)
subprocess.CalledProcessError: Command '['/bin/bash', '-e', '/Users/winni/miniconda3/envs/build/conda-bld/mccortex_1534774840486/work/conda_build.sh']' returned non-zero exit status 2.
winni2k commented 5 years ago

I've made some progress on this (https://github.com/bioconda/bioconda-recipes/pull/10860). I can now get mccortex packaged on my linux machine. I had to specify the LDFLAGS environment variable for this to work. Unfortunately, some of the library dependencies don't respect the LDFLAGS variable, so I had to patch a bunch of Makefiles using:

for make_file in libs/string_buffer/Makefile $(find libs/seq_file -name Makefile) $(find libs/seq-align -name Makefile) Makefile; do
    sed -i.bak 's/-lz/-lz $(LDFLAGS)/' $make_file
done

Is there any chance we could add LDFLAGS to these Makefiles?

winni2k commented 5 years ago

Alright, I've got a Linux and Mac OS version live here: https://anaconda.org/wkretzsch/mccortex

Hopefully my PR will add mccortex to bioconda soon.