diff --git a/.github/workflows/unit-tests.yml b/.github/workflows/unit-tests.yml index 8bd77bf8..5c596301 100644 --- a/.github/workflows/unit-tests.yml +++ b/.github/workflows/unit-tests.yml @@ -4,7 +4,7 @@ on: [push, pull_request] jobs: build: - runs-on: ubuntu-18.04 + runs-on: ubuntu-latest defaults: run: diff --git a/CHANGELOG.md b/CHANGELOG.md index 12de5c9b..7e861505 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,6 +18,35 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed +## [4.6.0] + +### Added + +#### Recipes + - samtools 1.16.1 + - bcftools 1.16 + - htslib 1.16 + +#### Features + +### Removed + +#### Recipes + - irods 4.2.10 + +### Changed + - Github Actions: Move from ubuntu-18.04 to ubuntu-latest + +#### Recipes + - Build config with compiler version and cflags and increment build number: + - avrocpp 1.8.2, 1.9.0 + - boost 1.73.0 + - Remove irods 4.2.10 from build config: + - baton 3.1.0, 3.2.0, 3.3.0, 4.0.0 + - htslib-plugins 201712 + - Update release url: + - libarchive + ## [4.5.0] ### Added diff --git a/recipes/avrocpp/1.8.2/conda_build_config.yaml b/recipes/avrocpp/1.8.2/conda_build_config.yaml new file mode 100644 index 00000000..cdeaa7ff --- /dev/null +++ b/recipes/avrocpp/1.8.2/conda_build_config.yaml @@ -0,0 +1,16 @@ +c_compiler_version: + - 9.3 + +cxx_compiler_version: + - 9.3 + +CFLAGS: >- + -O2 + -fPIC + -ffunction-sections + -fno-plt + -fstack-protector-strong + -ftree-vectorize + -march=x86-64 + -mtune=generic + -pipe diff --git a/recipes/avrocpp/1.8.2/meta.yaml b/recipes/avrocpp/1.8.2/meta.yaml index 19c650e3..5081c9cc 100644 --- a/recipes/avrocpp/1.8.2/meta.yaml +++ b/recipes/avrocpp/1.8.2/meta.yaml @@ -12,7 +12,7 @@ source: sha1: {{ hash }} build: - number: 4 + number: 5 requirements: build: diff --git a/recipes/avrocpp/1.9.0/conda_build_config.yaml b/recipes/avrocpp/1.9.0/conda_build_config.yaml new file mode 100644 index 00000000..cdeaa7ff --- /dev/null +++ b/recipes/avrocpp/1.9.0/conda_build_config.yaml @@ -0,0 +1,16 @@ +c_compiler_version: + - 9.3 + +cxx_compiler_version: + - 9.3 + +CFLAGS: >- + -O2 + -fPIC + -ffunction-sections + -fno-plt + -fstack-protector-strong + -ftree-vectorize + -march=x86-64 + -mtune=generic + -pipe diff --git a/recipes/avrocpp/1.9.0/meta.yaml b/recipes/avrocpp/1.9.0/meta.yaml index 02f15ded..351e7d05 100644 --- a/recipes/avrocpp/1.9.0/meta.yaml +++ b/recipes/avrocpp/1.9.0/meta.yaml @@ -12,7 +12,7 @@ source: sha1: {{ hash }} build: - number: 4 + number: 5 requirements: build: diff --git a/recipes/baton/3.1.0/conda_build_config.yaml b/recipes/baton/3.1.0/conda_build_config.yaml index 3d793f8e..edb823be 100644 --- a/recipes/baton/3.1.0/conda_build_config.yaml +++ b/recipes/baton/3.1.0/conda_build_config.yaml @@ -1,4 +1,3 @@ irods: - 4.2.7 - - 4.2.10 diff --git a/recipes/baton/3.2.0/conda_build_config.yaml b/recipes/baton/3.2.0/conda_build_config.yaml index a7ffa5b0..e250be7b 100644 --- a/recipes/baton/3.2.0/conda_build_config.yaml +++ b/recipes/baton/3.2.0/conda_build_config.yaml @@ -1,5 +1,4 @@ irods: - 4.2.7 - - 4.2.10 - 4.2.11 diff --git a/recipes/baton/3.3.0/conda_build_config.yaml b/recipes/baton/3.3.0/conda_build_config.yaml index a7ffa5b0..e250be7b 100644 --- a/recipes/baton/3.3.0/conda_build_config.yaml +++ b/recipes/baton/3.3.0/conda_build_config.yaml @@ -1,5 +1,4 @@ irods: - 4.2.7 - - 4.2.10 - 4.2.11 diff --git a/recipes/baton/4.0.0/conda_build_config.yaml b/recipes/baton/4.0.0/conda_build_config.yaml index a7ffa5b0..e250be7b 100644 --- a/recipes/baton/4.0.0/conda_build_config.yaml +++ b/recipes/baton/4.0.0/conda_build_config.yaml @@ -1,5 +1,4 @@ irods: - 4.2.7 - - 4.2.10 - 4.2.11 diff --git a/recipes/bcftools/1.16/build.sh b/recipes/bcftools/1.16/build.sh new file mode 100644 index 00000000..69c68710 --- /dev/null +++ b/recipes/bcftools/1.16/build.sh @@ -0,0 +1,11 @@ +#!/bin/sh + +set -ex + +n="$CPU_COUNT" + +./configure --prefix="$PREFIX" --with-htslib="$PREFIX" \ + CPPFLAGS="-I$PREFIX/include" LDFLAGS="-L$PREFIX/lib" + +make -j "$n" +make install prefix="$PREFIX" diff --git a/recipes/bcftools/1.16/meta.yaml b/recipes/bcftools/1.16/meta.yaml new file mode 100644 index 00000000..37253185 --- /dev/null +++ b/recipes/bcftools/1.16/meta.yaml @@ -0,0 +1,36 @@ +{% set version = "1.16" %} # reset build to zero on changing +{% set upstream_version = "1.16" %} +{% set htslib_version = "1.16" %} # Bump build version on change +{% set sha256 = "90bf647c9ad79e10a243b8058c873de057fd7012e250d5ae6574839787a2ecd6" %} + +package: + name: bcftools + version: "{{ version }}" + +about: + home: https://github.com/samtools/bcftools + license: MIT + summary: VCF commands and BCF calling. + +build: + number: 0 + +source: + url: https://github.com/samtools/bcftools/releases/download/{{ upstream_version }}/bcftools-{{ upstream_version }}.tar.bz2 + fn: bcftools-{{ upstream_version }}.tar.bz2 + sha256: {{ sha256 }} + +requirements: + build: + - {{ compiler("c") }} + - make + host: + - libhts-dev =={{ htslib_version }} + - libz-dev + run: + - libhts =={{ htslib_version }} + - libz + +test: + commands: + - bcftools --help diff --git a/recipes/boost/1.73.0/conda_build_config.yaml b/recipes/boost/1.73.0/conda_build_config.yaml index 1ad4b2d8..26a95472 100644 --- a/recipes/boost/1.73.0/conda_build_config.yaml +++ b/recipes/boost/1.73.0/conda_build_config.yaml @@ -1,3 +1,9 @@ +c_compiler_version: + - 9.3 + +cxx_compiler_version: + - 9.3 + CFLAGS: >- -O2 -fPIC diff --git a/recipes/boost/1.73.0/meta.yaml b/recipes/boost/1.73.0/meta.yaml index 0b334f06..f30a09a4 100644 --- a/recipes/boost/1.73.0/meta.yaml +++ b/recipes/boost/1.73.0/meta.yaml @@ -12,7 +12,7 @@ about: summary: "Free peer-reviewed portable C++ source libraries." build: - number: 2 + number: 3 source: url: https://boostorg.jfrog.io/artifactory/main/release/{{ version }}/source/boost_{{ alt_version }}.tar.bz2 diff --git a/recipes/htslib-plugins/201712/conda_build_config.yaml b/recipes/htslib-plugins/201712/conda_build_config.yaml index a7ffa5b0..e250be7b 100644 --- a/recipes/htslib-plugins/201712/conda_build_config.yaml +++ b/recipes/htslib-plugins/201712/conda_build_config.yaml @@ -1,5 +1,4 @@ irods: - 4.2.7 - - 4.2.10 - 4.2.11 diff --git a/recipes/htslib/1.16/build.sh b/recipes/htslib/1.16/build.sh new file mode 100755 index 00000000..bffda6b4 --- /dev/null +++ b/recipes/htslib/1.16/build.sh @@ -0,0 +1,24 @@ +#!/bin/sh + +set -ex + +n="$CPU_COUNT" + +pushd htslib + +autoheader +autoconf + +./configure \ + --prefix="$PREFIX" \ + --with-libdeflate \ + --enable-libcurl \ + --enable-s3 \ + --enable-gcs \ + --enable-plugins \ + CC="$GCC" CPPFLAGS="-I$PREFIX/include" LDFLAGS="-L$PREFIX/lib" + +make -j "$n" AR="$AR" +make install prefix="$PREFIX" +popd + diff --git a/recipes/htslib/1.16/meta.yaml b/recipes/htslib/1.16/meta.yaml new file mode 100644 index 00000000..bcde2777 --- /dev/null +++ b/recipes/htslib/1.16/meta.yaml @@ -0,0 +1,120 @@ +{% set version = "1.16" %} # reset build to zero on changing +{% set htslib_rev = "4e61c128238f3e7cbb3b1f4e9c0fdb4880aa9a10" %} + +package: + name: htslib-pkg + version: "{{ version }}" + +about: + home: https://github.com/samtools/htslib + license: MIT + summary: C library for high-throughput sequencing data formats. + +build: + number: 0 + +source: + - git_url: https://github.com/samtools/htslib.git + git_rev: {{ htslib_rev }} + folder: htslib + +requirements: + build: + - {{ compiler("c") }} + - autoconf + - automake + - make + - perl + host: + - libbz2-dev + - libcurl-dev + - libdeflate-dev + - liblzma-dev + - libssl-dev + - libz-dev + run: + - libbz2 + - libcurl + - libdeflate + - liblzma + - libssl + - libz + +outputs: + - name: htslib + version: {{ version }} + requirements: + build: + - {{ compiler("c") }} + - autoconf + - automake + - make + - perl + host: + - libbz2-dev + - libcurl-dev + - libdeflate-dev + - liblzma-dev + - libssl-dev + - libz-dev + run: + - {{ pin_subpackage("libhts", exact=True) }} + - libbz2 + - libcurl + - libdeflate + - liblzma + - libssl + - libz + files: + - bin/bgzip + - bin/htsfile + - bin/tabix + - share/man/man1/htsfile.1 + - share/man/man1/tabix.1 + + - name: libhts + version: {{ version }} + requirements: + build: + - {{ compiler("c") }} + - autoconf + - automake + - make + - perl + host: + - libbz2-dev + - libcurl-dev + - libdeflate-dev + - liblzma-dev + - libssl-dev + - libz-dev + run: + - libbz2 + - libcurl + - libdeflate + - liblzma + - libssl + - libz + files: + - libexec/htslib + - lib/libhts.so* + test: + commands: + - test -h ${PREFIX}/lib/libhts.so + - test -f ${PREFIX}/libexec/htslib/hfile_libcurl.so + + - name: libhts-dev + version: {{ version }} + requirements: + run: + - {{ pin_subpackage("libhts", exact=True) }} + files: + - include/htslib + - lib/libhts.a + - share/man/man5/faidx.5 + - share/man/man5/sam.5 + - share/man/man5/vcf.5 + test: + commands: + - test -f ${PREFIX}/lib/libhts.a + - test -f ${PREFIX}/include/htslib/sam.h diff --git a/recipes/irods/4.2.10/build.sh b/recipes/irods/4.2.10/build.sh deleted file mode 100644 index 4b8d218f..00000000 --- a/recipes/irods/4.2.10/build.sh +++ /dev/null @@ -1,83 +0,0 @@ -#!/bin/bash - -set -ex - -running_in_docker() { - if [ -f /.dockerenv ]; then - return 0 - else - return 1 - fi -} - -export TERM=dumb - -if running_in_docker ; then - echo "Running in Docker ... " -fi - -pushd irods -git submodule init && git submodule update -popd - -[ -d build_irods ] || mkdir build_irods -pushd build_irods -cmake \ - -D CMAKE_INSTALL_PREFIX=${PREFIX} \ - -D CMAKE_INSTALL_LIBDIR=${PREFIX}/lib \ - -D IRODS_EXTERNALS_FULLPATH_CLANG=${BUILD_PREFIX} \ - -D IRODS_EXTERNALS_FULLPATH_CLANG_RUNTIME=${PREFIX} \ - -D IRODS_EXTERNALS_FULLPATH_ARCHIVE=${PREFIX} \ - -D IRODS_EXTERNALS_FULLPATH_AVRO=${PREFIX} \ - -D IRODS_EXTERNALS_FULLPATH_BOOST=${PREFIX} \ - -D IRODS_EXTERNALS_FULLPATH_CATCH2=${PREFIX} \ - -D IRODS_EXTERNALS_FULLPATH_CPPZMQ=${PREFIX} \ - -D IRODS_EXTERNALS_FULLPATH_FMT=${PREFIX} \ - -D IRODS_EXTERNALS_FULLPATH_JANSSON=${PREFIX} \ - -D IRODS_EXTERNALS_FULLPATH_JSON=${PREFIX} \ - -D IRODS_EXTERNALS_FULLPATH_NANODBC=${PREFIX} \ - -D IRODS_EXTERNALS_FULLPATH_ZMQ=${PREFIX} \ - -D IRODS_LINUX_DISTRIBUTION_NAME='ubuntu' \ - -D IRODS_LINUX_DISTRIBUTION_VERSION_MAJOR='18' \ - -D IRODS_LINUX_DISTRIBUTION_VERSION_CODENAME='bionic' \ - -D CMAKE_C_FLAGS="-I${PREFIX}/include" \ - -D CMAKE_CXX_FLAGS='-Wno-deprecated-declarations' \ - -D CMAKE_LD_FLAGS='-Wno-deprecated-declarations' \ - -D CMAKE_EXE_LINKER_FLAGS="-Wl,-rpath-link,${PREFIX}/lib -fuse-ld=${LD}" \ - -D CMAKE_SHARED_LINKER_FLAGS="-Wl,-allow-multiple-definition" \ - -D CMAKE_C_COMPILER="${BUILD_PREFIX}/bin/clang" \ - -D CMAKE_CXX_COMPILER="${BUILD_PREFIX}/bin/clang++" \ - -D BUILD_UNIT_TESTS=OFF \ - -D CMAKE_AR=${AR} \ - -D CMAKE_LINKER=${LD} \ - -D CPP=${CPP} \ - ../irods -make VERBOSE=1 -j "$CPU_COUNT" package -make VERBOSE=1 install -popd - -[ -d build_icommands ] || mkdir build_icommands -pushd build_icommands -cmake \ - -D CMAKE_INSTALL_PREFIX=${PREFIX} \ - -D CMAKE_INSTALL_LIBDIR=${PREFIX}/lib \ - -D IRODS_EXTERNALS_FULLPATH_CLANG=${BUILD_PREFIX} \ - -D IRODS_EXTERNALS_FULLPATH_CLANG_RUNTIME=${PREFIX} \ - -D IRODS_LINUX_DISTRIBUTION_NAME='ubuntu' \ - -D IRODS_LINUX_DISTRIBUTION_VERSION_MAJOR='18' \ - -D IRODS_LINUX_DISTRIBUTION_VERSION_CODENAME='bionic' \ - -D IRODS_DIR="${PREFIX}/lib/irods/cmake" \ - -D CMAKE_C_FLAGS="-I${PREFIX}/include" \ - -D CMAKE_CXX_FLAGS='-Wno-deprecated-declarations' \ - -D CMAKE_LD_FLAGS='-Wno-deprecated-declarations' \ - -D CMAKE_EXE_LINKER_FLAGS="-Wl,-rpath-link,${PREFIX}/lib -fuse-ld=${LD}" \ - -D CMAKE_C_COMPILER="${BUILD_PREFIX}/bin/clang" \ - -D CMAKE_CXX_COMPILER="${BUILD_PREFIX}/bin/clang++" \ - -D CMAKE_AR=${AR} \ - -D CMAKE_LINKER=${LD} \ - -D CPP=${CPP} \ - ../irods_client_icommands - -make VERBOSE=1 -j "$CPU_COUNT" package -make install -popd diff --git a/recipes/irods/4.2.10/icommands-cmakelists.patch b/recipes/irods/4.2.10/icommands-cmakelists.patch deleted file mode 100644 index 30efb012..00000000 --- a/recipes/irods/4.2.10/icommands-cmakelists.patch +++ /dev/null @@ -1,39 +0,0 @@ -diff --git CMakeLists.txt CMakeLists.txt -index 984ecd8..8e973fb 100644 ---- CMakeLists.txt -+++ CMakeLists.txt -@@ -5,7 +5,7 @@ set(IRODS_PACKAGE_PREFIX "${PACKAGE_PREFIX_DIR}") - - include(RequireOutOfSourceBuild) - --set(CMAKE_CXX_COMPILER ${IRODS_EXTERNALS_FULLPATH_CLANG}/bin/clang++) -+# set(CMAKE_CXX_COMPILER ${IRODS_EXTERNALS_FULLPATH_CLANG}/bin/clang++) - set(CMAKE_CXX_STANDARD 17) - # export-dynamic so stacktrace entries from executables have function names - set(CMAKE_EXE_LINKER_FLAGS_INIT "-rdynamic -Wl,--export-dynamic -Wl,--enable-new-dtags -Wl,--as-needed -Wl,-z,defs") -@@ -15,6 +15,10 @@ project(icommands - VERSION "${IRODS_VERSION}" - LANGUAGES CXX) - -+include(GNUInstallDirs) -+include_directories(AFTER ${CMAKE_INSTALL_PREFIX}/include) -+include_directories(${IRODS_EXTERNALS_FULLPATH_JSON}/include/nlohmann) -+ - set(CMAKE_SKIP_BUILD_RPATH OFF) - set(CMAKE_SKIP_INSTALL_RPATH OFF) - set(CMAKE_SKIP_RPATH OFF) -@@ -22,8 +26,6 @@ set(CMAKE_INSTALL_RPATH_USE_LINK_PATH ON) - set(CMAKE_BUILD_WITH_INSTALL_RPATH OFF) - set(CMAKE_BUILD_RPATH_USE_ORIGIN ON) - --include(UseLibCXX) -- - set(CMAKE_EXPORT_COMPILE_COMMANDS TRUE) - - include(${IRODS_TARGETS_PATH}) -@@ -462,3 +464,5 @@ if (NOT CPACK_GENERATOR) - endif() - - include(CPack) -+ -+install(TARGETS ${IRODS_CLIENT_ICOMMANDS_EXECUTABLES} DESTINATION ${CMAKE_INSTALL_BINDIR}) diff --git a/recipes/irods/4.2.10/irods-cmakelists.patch b/recipes/irods/4.2.10/irods-cmakelists.patch deleted file mode 100644 index 9c9e2eab..00000000 --- a/recipes/irods/4.2.10/irods-cmakelists.patch +++ /dev/null @@ -1,87 +0,0 @@ -diff --git CMakeLists.txt CMakeLists.txt -index a51beff1a..5999df394 100644 ---- CMakeLists.txt -+++ CMakeLists.txt -@@ -30,36 +30,12 @@ macro(IRODS_MACRO_CHECK_DEPENDENCY_SET_FULLPATH_ADD_TO_IRODS_PACKAGE_DEPENDENCIE - list(APPEND IRODS_PACKAGE_DEPENDENCIES_LIST irods-externals-${DEPENDENCY_SUBDIRECTORY}) - endmacro() - --IRODS_MACRO_CHECK_DEPENDENCY_SET_FULLPATH(CLANG clang6.0-0) --IRODS_MACRO_CHECK_DEPENDENCY_SET_FULLPATH(CPPZMQ cppzmq4.2.3-0) --IRODS_MACRO_CHECK_DEPENDENCY_SET_FULLPATH_ADD_TO_IRODS_PACKAGE_DEPENDENCIES_LIST(ARCHIVE libarchive3.3.2-1) --IRODS_MACRO_CHECK_DEPENDENCY_SET_FULLPATH_ADD_TO_IRODS_PACKAGE_DEPENDENCIES_LIST(AVRO avro1.9.0-0) --IRODS_MACRO_CHECK_DEPENDENCY_SET_FULLPATH_ADD_TO_IRODS_PACKAGE_DEPENDENCIES_LIST(BOOST boost1.67.0-0) --IRODS_MACRO_CHECK_DEPENDENCY_SET_FULLPATH_ADD_TO_IRODS_PACKAGE_DEPENDENCIES_LIST(CLANG_RUNTIME clang-runtime6.0-0) --IRODS_MACRO_CHECK_DEPENDENCY_SET_FULLPATH_ADD_TO_IRODS_PACKAGE_DEPENDENCIES_LIST(ZMQ zeromq4-14.1.6-0) --IRODS_MACRO_CHECK_DEPENDENCY_SET_FULLPATH_ADD_TO_IRODS_PACKAGE_DEPENDENCIES_LIST(JSON json3.7.3-0) --IRODS_MACRO_CHECK_DEPENDENCY_SET_FULLPATH_ADD_TO_IRODS_PACKAGE_DEPENDENCIES_LIST(CATCH2 catch22.3.0-0) --IRODS_MACRO_CHECK_DEPENDENCY_SET_FULLPATH_ADD_TO_IRODS_PACKAGE_DEPENDENCIES_LIST(NANODBC nanodbc2.13.0-1) --IRODS_MACRO_CHECK_DEPENDENCY_SET_FULLPATH_ADD_TO_IRODS_PACKAGE_DEPENDENCIES_LIST(FMT fmt6.1.2-1) -- - string(REPLACE ";" ", " IRODS_PACKAGE_DEPENDENCIES_STRING "${IRODS_PACKAGE_DEPENDENCIES_LIST}") - --if (NOT CLANG_STATIC_ANALYZER) -- set(CLANG_STATIC_ANALYZER OFF CACHE BOOL "Choose whether to run Clang Static Analyzer." FORCE) -- message(STATUS "Setting CLANG_STATIC_ANALYZER to 'OFF'.") -- set(CMAKE_C_COMPILER ${IRODS_EXTERNALS_FULLPATH_CLANG}/bin/clang) -- set(CMAKE_CXX_COMPILER ${IRODS_EXTERNALS_FULLPATH_CLANG}/bin/clang++) --else() -- set(CLANG_STATIC_ANALYZER ON CACHE BOOL "Choose whether to run Clang Static Analyzer." FORCE) -- message(STATUS "Setting CLANG_STATIC_ANALYZER to 'ON'.") -- set(CMAKE_C_COMPILER ${IRODS_EXTERNALS_FULLPATH_CLANG}/bin/ccc-analyzer) -- set(CMAKE_CXX_COMPILER ${IRODS_EXTERNALS_FULLPATH_CLANG}/bin/c++-analyzer) --endif() -- - set(CMAKE_CXX_STANDARD 17) - set(IRODS_CXX_STANDARD "${CMAKE_CXX_STANDARD}") - # export-dynamic so stacktrace entries from executables have function names --set(CMAKE_EXE_LINKER_FLAGS_INIT "-Wl,--export-dynamic -Wl,--enable-new-dtags -Wl,--as-needed -Wl,-z,defs") -+set(CMAKE_EXE_LINKER_FLAGS_INIT "-Wl,--export-dynamic -Wl,--enable-new-dtags -Wl,--as-needed -Wl,-z,defs -Wl,-rpath-link,${CMAKE_INSTALL_PREFIX}") - set(CMAKE_MODULE_LINKER_FLAGS_INIT "-Wl,--enable-new-dtags -Wl,--as-needed -Wl,-z,defs") - set(CMAKE_SHARED_LINKER_FLAGS_INIT "-Wl,--enable-new-dtags -Wl,--as-needed -Wl,-z,defs") - set(CMAKE_EXE_LINKER_FLAGS_RELEASE_INIT "-Wl,--gc-sections -Wl,-z,combreloc") -@@ -75,8 +51,8 @@ project(irods - VERSION ${IRODS_VERSION} - LANGUAGES C CXX) - --include(UseLibCXX) -- -+include(GNUInstallDirs) -+include_directories(AFTER ${CMAKE_INSTALL_PREFIX}/include) - set(CMAKE_EXPORT_COMPILE_COMMANDS TRUE) - - include(${CMAKE_SOURCE_DIR}/cmake/InstallDirs.cmake) -@@ -85,13 +61,13 @@ set(CMAKE_SKIP_BUILD_RPATH FALSE) - set(CMAKE_SKIP_INSTALL_RPATH FALSE) - set(CMAKE_SKIP_RPATH FALSE) - set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE) -+# set(CMAKE_INSTALL_RPATH ${CMAKE_INSTALL_PREFIX}/lib) ??? - add_compile_options(-Wall -Wextra -Werror -Wno-unused-function -Wno-unused-parameter) - - if (IRODS_DISABLE_COMPILER_OPTIMIZATIONS) - add_compile_options(-O0) - endif() - -- - if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang" AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 9) - # Do not error on definition of implicit copy constructor for classes with a - # user-declared copy assignment operator. -@@ -102,7 +78,11 @@ if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang" AND CMAKE_CXX_COMPILER_VERSION VERSIO - add_compile_options(-Wno-error=tautological-overlap-compare) - endif() - --include_directories(${IRODS_EXTERNALS_FULLPATH_JSON}/include) -+set(IRODS_HOME_DIRECTORY ${CMAKE_INSTALL_LOCALSTATEDIR}/lib/irods) -+set(IRODS_PLUGINS_DIRECTORY ${CMAKE_INSTALL_LIBDIR}/irods/plugins) -+ -+include_directories(${IRODS_EXTERNALS_FULLPATH_JSON}/include/nlohmann) -+include_directories(AFTER ${CMAKE_INSTALL_PREFIX}/include) - - set(CMAKE_THREAD_PREFER_PTHREAD TRUE) - set(THREADS_PREFER_PTHREAD_FLAG TRUE) -@@ -1638,3 +1618,5 @@ foreach(DATABASE_PLUGIN postgres oracle mysql) - endforeach() - - include(CPack) -+ -+install(TARGETS irods_client DESTINATION ${CMAKE_INSTALL_LIBDIR}) diff --git a/recipes/irods/4.2.10/irods-lib-core-irods-load-plugin-path-truncation-bug.patch b/recipes/irods/4.2.10/irods-lib-core-irods-load-plugin-path-truncation-bug.patch deleted file mode 100644 index 3fe938d8..00000000 --- a/recipes/irods/4.2.10/irods-lib-core-irods-load-plugin-path-truncation-bug.patch +++ /dev/null @@ -1,32 +0,0 @@ -diff --git lib/core/include/irods_load_plugin.hpp lib/core/include/irods_load_plugin.hpp -index 04acc1111..433ee5738 100644 ---- lib/core/include/irods_load_plugin.hpp -+++ lib/core/include/irods_load_plugin.hpp -@@ -41,7 +41,6 @@ namespace irods - if ( strlen( env.irodsPluginHome ) > 0 ) { - plugin_home = env.irodsPluginHome; - } -- - } - - if (plugin_home.empty()) { -@@ -166,9 +165,19 @@ namespace irods - return ERROR( PLUGIN_ERROR_MISSING_SHARED_OBJECT, msg ); - } - -+ // Defensively remove NUL from the constructed so_name -+ // string. We have observed a NUL appear between the directory -+ // and file name components of the so_name path when -+ // distributed as a Conda package. -+ // -+ // When c_str() is called on the offending string the result -+ // is truncated and dlopen() on the truncated path fails. -+ so_name.erase(remove(so_name.begin(), so_name.end(), '\0'), so_name.end()); -+ - // =-=-=-=-=-=-=- - // try to open the shared object - void* handle = dlopen( so_name.c_str(), RTLD_LAZY | RTLD_LOCAL ); -+ - if ( !handle ) { - std::stringstream msg; - msg << "failed to open shared object file [" << so_name diff --git a/recipes/irods/4.2.10/irods-plugins-api-data-object-finalize-compile-error.patch b/recipes/irods/4.2.10/irods-plugins-api-data-object-finalize-compile-error.patch deleted file mode 100644 index 65afa7f2..00000000 --- a/recipes/irods/4.2.10/irods-plugins-api-data-object-finalize-compile-error.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git plugins/api/src/data_object_finalize.cpp plugins/api/src/data_object_finalize.cpp -index ea4855387..9d7114cd3 100644 ---- plugins/api/src/data_object_finalize.cpp -+++ plugins/api/src/data_object_finalize.cpp -@@ -109,7 +109,7 @@ namespace - - auto column_is_mutable(const std::string_view _c) - { -- using immutable_columns_list_t = std::vector; -+ using immutable_columns_list_t = std::vector; - static const immutable_columns_list_t immutable_columns = - { - "data_id", diff --git a/recipes/irods/4.2.10/irods-plugins-database-cmakelists.patch b/recipes/irods/4.2.10/irods-plugins-database-cmakelists.patch deleted file mode 100644 index e4425903..00000000 --- a/recipes/irods/4.2.10/irods-plugins-database-cmakelists.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git plugins/database/CMakeLists.txt plugins/database/CMakeLists.txt -index 86786dd0b..1890a3e4c 100644 ---- plugins/database/CMakeLists.txt -+++ plugins/database/CMakeLists.txt -@@ -42,7 +42,7 @@ foreach(PLUGIN ${IRODS_DATABASE_PLUGINS}) - - add_custom_command( - OUTPUT ${CMAKE_BINARY_DIR}/icatSysTables_${PLUGIN}.sql -- COMMAND cpp -E -P -D${PLUGIN} ${CMAKE_BINARY_DIR}/plugins/database/src/icatSysTables.sql.pp ${CMAKE_BINARY_DIR}/icatSysTables_${PLUGIN}.sql -+ COMMAND ${CPP} -E -P -D${PLUGIN} ${CMAKE_BINARY_DIR}/plugins/database/src/icatSysTables.sql.pp ${CMAKE_BINARY_DIR}/icatSysTables_${PLUGIN}.sql - MAIN_DEPENDENCY ${CMAKE_BINARY_DIR}/plugins/database/src/icatSysTables.sql.pp - ) - add_custom_target(IRODS_PHONY_TARGET_icatSysTables_${PLUGIN}.sql ALL DEPENDS ${CMAKE_BINARY_DIR}/icatSysTables_${PLUGIN}.sql) # Forces execution of custom_command diff --git a/recipes/irods/4.2.10/irods-plugins-libunixfilesystem-compile-error.patch b/recipes/irods/4.2.10/irods-plugins-libunixfilesystem-compile-error.patch deleted file mode 100644 index a5410c22..00000000 --- a/recipes/irods/4.2.10/irods-plugins-libunixfilesystem-compile-error.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git plugins/resources/unixfilesystem/libunixfilesystem.cpp plugins/resources/unixfilesystem/libunixfilesystem.cpp -index 190fabe07..59132c0fb 100644 ---- plugins/resources/unixfilesystem/libunixfilesystem.cpp -+++ plugins/resources/unixfilesystem/libunixfilesystem.cpp -@@ -468,7 +468,7 @@ void warn_if_deprecated_context_string_set( - __FUNCTION__); - } - -- const std::vector deprecated_keys{HIGH_WATER_MARK, REQUIRED_FREE_INODES_FOR_CREATE}; -+ const std::vector deprecated_keys{HIGH_WATER_MARK, REQUIRED_FREE_INODES_FOR_CREATE}; - - for (const auto& k : deprecated_keys) { - std::string holder{}; diff --git a/recipes/irods/4.2.10/meta.yaml b/recipes/irods/4.2.10/meta.yaml deleted file mode 100644 index a43c7fa4..00000000 --- a/recipes/irods/4.2.10/meta.yaml +++ /dev/null @@ -1,160 +0,0 @@ -{% set version = "4.2.10" %} -{% set clang_version = "8.0.1" %} - -package: - name: irods - version: "{{ version }}" - -about: - home: https://irods.org - license: BSD - summary: "Open Source Data Management Software." - -build: - number: 1 - -source: - - git_url: https://github.com/irods/irods.git - git_rev: "{{ version }}" - folder: irods - patches: - - irods-cmakelists.patch - - irods-lib-core-irods-load-plugin-path-truncation-bug.patch - - irods-plugins-api-data-object-finalize-compile-error.patch - - irods-plugins-database-cmakelists.patch - - irods-plugins-libunixfilesystem-compile-error.patch - - git_url: https://github.com/irods/irods_client_icommands.git - git_rev: "{{ version }}" - folder: irods_client_icommands - patches: - - icommands-cmakelists.patch - -requirements: - build: - - cmake >=3.7.0 - - {{ compiler('c') }} - - {{ compiler('cxx') }} - - clang =={{ clang_version }} - - clangxx =={{ clang_version }} - - make - - help2man - host: - - avrocpp-dev >=1.9 - - catch2 - - cppzmq - - fmt <8.0 - - json - - krb5-dev - - libarchive-dev - - libboost-dev - - libjansson-dev - - libpam-dev - - libssl-dev - - nanodbc - - unixodbc - - zeromq - -outputs: - - name: irods-runtime - version: {{ version }} - requirements: - run: - - fmt <8.0 - - libarchive - - libavrocpp >=1.9 - - libboost - - libjansson - - libkrb5 - - libpam - - libssl - - zeromq - files: - - lib/irods/plugins - - lib/libirods_client.so* - - lib/libirods_common.so* - - lib/libirods_plugin_dependencies.so* - - lib/libirods_server.so* - - - name: irods-dev - version: {{ version }} - requirements: - run: - - {{ pin_subpackage("irods-runtime", exact=True) }} - files: - - include/irods - - lib/irods/externals - - lib/libRodsAPIs.a - - lib/libirods_client.a - - lib/libirods_client_api.a - - lib/libirods_client_api_table.a - - lib/libirods_client_core.a - - lib/libirods_client_plugins.a - - lib/libirods_server.a - - share/irods - - - name: irods-icommands - version: {{ version }} - requirements: - run: - - {{ pin_subpackage("irods-runtime", exact=True) }} - - fmt <8.0 - - libarchive - - libavrocpp >=1.9 - - libboost - - libjansson - - libkrb5 - - libpam - - libssl - - zeromq - files: - - bin/iadmin - - bin/ibun - - bin/ichksum - - bin/ichmod - - bin/icp - - bin/idbug - - bin/ienv - - bin/ierror - - bin/iexecmd - - bin/iexit - - bin/ifsck - - bin/iget - - bin/igroupadmin - - bin/ihelp - - bin/iinit - - bin/ils - - bin/ilsresc - - bin/imcoll - - bin/imeta - - bin/imiscsvrinfo - - bin/imkdir - - bin/imv - - bin/ipasswd - - bin/iphybun - - bin/iphymv - - bin/ips - - bin/iput - - bin/ipwd - - bin/iqdel - - bin/iqmod - - bin/iqmod - - bin/iqstat - - bin/iquest - - bin/iquota - - bin/irepl - - bin/irm - - bin/irmtrash - - bin/irsync - - bin/irule - - bin/iscan - - bin/isysmeta - - bin/iticket - - bin/itrim - - bin/iuserinfo - - bin/ixmsg - - bin/izonereport - - share/man - - test: - commands: - - ienv diff --git a/recipes/libarchive/3.5.1/meta.yaml b/recipes/libarchive/3.5.1/meta.yaml index 63ad9c62..143c7330 100644 --- a/recipes/libarchive/3.5.1/meta.yaml +++ b/recipes/libarchive/3.5.1/meta.yaml @@ -11,7 +11,7 @@ about: summary: "Multi-format archive and compression library" source: - url: https://github.com/libarchive/libarchive/releases/download/{{ version }}/libarchive-{{ version }}.tar.gz + url: https://github.com/libarchive/libarchive/releases/download/v{{ version }}/libarchive-{{ version }}.tar.gz sha256: {{ sha256 }} build: diff --git a/recipes/samtools/1.16.1/build.sh b/recipes/samtools/1.16.1/build.sh new file mode 100755 index 00000000..ced763db --- /dev/null +++ b/recipes/samtools/1.16.1/build.sh @@ -0,0 +1,16 @@ +#!/bin/sh + +set -ex + +n="$CPU_COUNT" + +autoheader +autoconf + +./configure --prefix="$PREFIX" \ + --with-htslib=system \ + --without-curses \ + CPPFLAGS="-I$PREFIX/include" LDFLAGS="-L$PREFIX/lib" + +make -j "$n" AR="$AR" +make install prefix="$PREFIX" diff --git a/recipes/samtools/1.16.1/meta.yaml b/recipes/samtools/1.16.1/meta.yaml new file mode 100644 index 00000000..6903a8e5 --- /dev/null +++ b/recipes/samtools/1.16.1/meta.yaml @@ -0,0 +1,65 @@ +{% set version = "1.16.1" %} # reset build to zero on changing +{% set htslib_version = "1.16" %} + +package: + name: samtools-pkg + version: "{{ version }}" + +about: + home: https://github.com/samtools/samtools + license: MIT + summary: C library for high-throughput sequencing data formats. + +build: + number: 0 + +source: + git_url: https://github.com/samtools/samtools.git + git_rev: 1.16.1 + +requirements: + build: + - {{ compiler("c") }} + - autoconf + - automake + - make + - perl + host: + - libhts-dev =={{ htslib_version }} + - libz-dev + run: + - libhts =={{ htslib_version }} + - libz + +outputs: + - name: samtools + version: {{ version }} + requirements: + build: + - {{ compiler("c") }} + - autoconf + - automake + - make + - perl + host: + - libhts-dev =={{ htslib_version }} + - libz-dev + run: + - libhts =={{ htslib_version }} + - libz + files: + - bin/ace2sam + - bin/maq2sam-* + - bin/md5* + - bin/plot-ampliconstats + - bin/plot-bamstats + - bin/samtools + - bin/wgsim + - bin/*.pl + - bin/*.py + - share/man/man1/samtools*.1 + - share/man/man1/wgsim.1 + test: + commands: + - echo -e '@HD\tVN:1.0\tSO:unsorted' | samtools view + - samtools --help | grep Version:\ {{ version }}\ \(