Skip to content
This repository has been archived by the owner on Jul 16, 2024. It is now read-only.

Commit

Permalink
Merge branch 'master' into samtools
Browse files Browse the repository at this point in the history
  • Loading branch information
pabloaledo authored Jul 31, 2023
2 parents 3d3d06f + b20dd31 commit abdb436
Show file tree
Hide file tree
Showing 45 changed files with 1,712 additions and 11 deletions.
373 changes: 373 additions & 0 deletions LICENSE.txt

Large diffs are not rendered by default.

11 changes: 5 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
# Eel recipes
# Conda recipes arm64

This project is a collection of [Conda](https://www.anaconda.com/products/distribution) recipes to build `aarch64` packages for common [**nf-core**](https://nf-co.re/) pipelines.
This project is a collection of [Conda](https://docs.conda.io/en/latest/) recipes optimized for `arm64` CPU architecture, for tools mostly used by [**nf-core**](https://nf-co.re/) pipelines.

Those recipes are made publicly available through [Seqera channel](https://anaconda.org/seqera) on Anaconda.org.

## Environment setup for building packages

Expand All @@ -25,7 +27,7 @@ conda config --system --add channels seqera

5. Setup your SSH keys and clone this repo
```bash
git clone [email protected]:seqeralabs/eel-recipes.git
git clone [email protected]:seqeralabs/conda-recipes.git
```

## Build a package using conda build
Expand All @@ -38,6 +40,3 @@ cd recipes/pbzip2
conda build .
```




1 change: 0 additions & 1 deletion recipes/bioconductor-biobase/meta.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -40,4 +40,3 @@ about:
extra:
identifiers:
- biotools:biobase

5 changes: 3 additions & 2 deletions recipes/bioconductor-dupradar/meta.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{% set version = "1.24.0" %}
{% set version = "1.30.0" %}
{% set name = "dupRadar" %}
{% set bioc = "3.14" %}

Expand All @@ -10,7 +10,8 @@ source:
- 'https://bioconductor.org/packages/{{ bioc }}/bioc/src/contrib/{{ name }}_{{ version }}.tar.gz'
- 'https://bioarchive.galaxyproject.org/{{ name }}_{{ version }}.tar.gz'
- 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz'
md5: ce448594bfe36f7d2f96e35be3b56da8
- 'https://bioconductor.org/packages/release/bioc/src/contrib/dupRadar_1.30.0.tar.gz'
md5: 25020f4fc2033e3cb25d8fbc428219a6
build:
number: 0
rpaths:
Expand Down
11 changes: 11 additions & 0 deletions recipes/bioconductor-ebseq/build.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
#!/bin/bash
mv DESCRIPTION DESCRIPTION.old
grep -v '^Priority: ' DESCRIPTION.old > DESCRIPTION
mkdir -p ~/.R
echo -e "CC=$CC
FC=$FC
CXX=$CXX
CXX98=$CXX
CXX11=$CXX
CXX14=$CXX" > ~/.R/Makevars
$R CMD INSTALL --build .
48 changes: 48 additions & 0 deletions recipes/bioconductor-ebseq/meta.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
{% set version = "1.38.0" %}
{% set name = "EBSeq" %}
{% set bioc = "3.16" %}

package:
name: 'bioconductor-{{ name|lower }}'
version: '{{ version }}'
source:
url:
- 'https://bioconductor.org/packages/{{ bioc }}/bioc/src/contrib/{{ name }}_{{ version }}.tar.gz'
- 'https://bioconductor.org/packages/{{ bioc }}/bioc/src/contrib/Archive/{{ name }}/{{ name }}_{{ version }}.tar.gz'
- 'https://bioarchive.galaxyproject.org/{{ name }}_{{ version }}.tar.gz'
- 'https://depot.galaxyproject.org/software/bioconductor-{{ name|lower }}/bioconductor-{{ name|lower }}_{{ version }}_src_all.tar.gz'
md5: 3dcbccf3dab22b82b2535991266b3f02
build:
number: 0
rpaths:
- lib/R/lib/
- lib/
noarch: generic
requirements:
host:
- 'r-base >=4.1,<4.2'
- r-blockmodeling
- r-gplots
- r-testthat
run:
- 'r-base >=4.1,<4.2'
- r-blockmodeling
- r-gplots
- r-testthat
test:
commands:
- '$R -e "library(''{{ name }}'')"'
about:
home: 'https://bioconductor.org/packages/{{ bioc }}/bioc/html/{{ name }}.html'
license: Artistic-2.0
summary: 'An R package for gene and isoform differential expression analysis of RNA-seq data'
description: 'Differential Expression analysis at both gene and isoform level using RNA-seq data'
extra:
identifiers:
- biotools:ebseq
- doi:10.1093/bioinformatics/btt087
parent_recipe:
name: bioconductor-ebseq
path: recipes/bioconductor-ebseq
version: 1.20.0

1 change: 0 additions & 1 deletion recipes/bioconductor-iranges/meta.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -46,4 +46,3 @@ extra:
name: bioconductor-iranges
path: recipes/bioconductor-iranges
version: 2.14.12

1 change: 0 additions & 1 deletion recipes/bioconductor-zlibbioc/meta.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -44,4 +44,3 @@ extra:
name: bioconductor-zlibbioc
path: recipes/bioconductor-zlibbioc
version: 1.26.0

Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
--- libpng-1.6.38.orig/CMakeLists.txt 2022-09-14 16:42:00.000000000 -0300
+++ libpng-1.6.38/CMakeLists.txt 2022-09-15 10:09:48.728794541 -0300
@@ -932,7 +932,7 @@
# We use the same files like ./configure, so we have to set its vars.
# Only do this on Windows for Cygwin - the files don't make much sense
# outside of a UNIX look-alike.
-if(NOT WIN32 OR CYGWIN OR MINGW)
+if(1)
set(prefix ${CMAKE_INSTALL_PREFIX})
set(exec_prefix ${CMAKE_INSTALL_PREFIX})
set(libdir ${CMAKE_INSTALL_FULL_LIBDIR})
@@ -1016,13 +1016,13 @@
install(FILES png.5
DESTINATION ${CMAKE_INSTALL_MANDIR}/man5)
# Install the pkg-config files.
+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libpng.pc
+ DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${PNGLIB_NAME}.pc
+ DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
if(NOT CMAKE_HOST_WIN32 OR CYGWIN OR MINGW)
- install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libpng.pc
- DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/libpng-config
DESTINATION ${CMAKE_INSTALL_BINDIR})
- install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${PNGLIB_NAME}.pc
- DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/${PNGLIB_NAME}-config
DESTINATION ${CMAKE_INSTALL_BINDIR})
endif()
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
From ed4def04ed595c83ed8082845f5b807413b9400f Mon Sep 17 00:00:00 2001
From: Mark Harfouche <[email protected]>
Date: Wed, 6 Jul 2022 17:13:50 -0400
Subject: [PATCH 2/2] Ensure that -lm is not included in Windows pkg-config

---
CMakeLists.txt | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 25e9e4d4e..649698ff6 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -825,7 +825,11 @@ if(1)
set(exec_prefix ${CMAKE_INSTALL_PREFIX})
set(libdir ${CMAKE_INSTALL_FULL_LIBDIR})
set(includedir ${CMAKE_INSTALL_FULL_INCLUDEDIR})
- set(LIBS "-lz -lm")
+ if(NOT "${M_LIBRARY}" STREQUAL "")
+ set(LIBS "-lz -lm")
+ else()
+ set(LIBS "-lz")
+ endif()
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/libpng.pc.in
${CMAKE_CURRENT_BINARY_DIR}/${PNGLIB_NAME}.pc @ONLY)
create_symlink(libpng.pc FILE ${PNGLIB_NAME}.pc)
--
2.34.1

34 changes: 34 additions & 0 deletions recipes/libpng/bld.bat
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
mkdir build-%SUBDIR%-%c_compiler%
cd build-%SUBDIR%-%c_compiler%

:: Configure.
cmake -G Ninja ^
-D CMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
-D ZLIB_LIBRARY=%LIBRARY_LIB%\zlib.lib ^
-D ZLIB_INCLUDE_DIR=%LIBRARY_INC% ^
-DCMAKE_C_FLAGS="%CFLAGS% -DWIN32" ^
-DCMAKE_BUILD_TYPE=Release ^
%SRC_DIR%
if errorlevel 1 exit /b 1

cmake --build . --target install
if errorlevel 1 exit /b 1

:: Test.
ctest -C Release
if errorlevel 1 exit 1

:: Make copies of the .lib files without the embedded version number.
copy %LIBRARY_LIB%\libpng16.lib %LIBRARY_LIB%\libpng.lib
if errorlevel 1 exit 1

copy %LIBRARY_LIB%\libpng16_static.lib %LIBRARY_LIB%\libpng_static.lib
if errorlevel 1 exit 1

:: Make copies of the .lib files without the 'lib' prefix.
copy %LIBRARY_LIB%\libpng16.lib %LIBRARY_LIB%\png16.lib
if errorlevel 1 exit 1

copy %LIBRARY_LIB%\libpng16_static.lib %LIBRARY_LIB%\png16_static.lib
if errorlevel 1 exit 1

18 changes: 18 additions & 0 deletions recipes/libpng/build.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
#!/bin/bash
# Get an updated config.sub and config.guess
cp $BUILD_PREFIX/share/libtool/build-aux/config.* .

export CFLAGS="$CFLAGS -I$PREFIX/include -L$PREFIX/lib"
export CPPFLAGS="$CPPFLAGS -I$PREFIX/include"

./configure --prefix=$PREFIX \
--with-zlib-prefix=$PREFIX

make -j${CPU_COUNT} ${VERBOSE_AT}
if [[ "${CONDA_BUILD_CROSS_COMPILATION}" != "1" ]]; then
make check
fi
make install

# We can remove this when we start using the new conda-build.
find $PREFIX -name '*.la' -delete
37 changes: 37 additions & 0 deletions recipes/libpng/conda_build_config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
BUILD: aarch64-conda_cos7-linux-gnu
CI: azure
c_compiler: gcc
c_compiler_version: '10'
cdt_arch: aarch64
cdt_name: cos7
channel_sources: conda-forge
channel_targets: conda-forge main
cpu_optimization_target: nocona
cran_mirror: https://cran.r-project.org
cxx_compiler: gxx
docker_image: quay.io/condaforge/linux-anvil-aarch64
extend_keys:
- pin_run_as_build
- ignore_version
- ignore_build_only_deps
- extend_keys
fortran_compiler: gfortran
ignore_build_only_deps:
- numpy
- python
lua: '5'
numpy: '1.16'
perl: 5.26.2
pin_run_as_build:
python:
min_pin: x.x
max_pin: x.x
r-base:
min_pin: x.x
max_pin: x.x
zlib:
max_pin: x.x
python: '3.9'
r_base: '3.5'
target_platform: linux-aarch64
zlib: '1.2'
16 changes: 16 additions & 0 deletions recipes/libpng/libpng-arm-free.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
index: libpng-1.6.36/pngread.c
===================================================================
--- libpng-1.6.36.orig/pngread.c 2018-12-01 15:36:00.000000000 +0100
+++ libpng-1.6.36/pngread.c 2019-01-28 12:41:14.044709070 +0100
@@ -994,6 +994,11 @@ png_read_destroy(png_structrp png_ptr)
png_ptr->chunk_list = NULL;
#endif

+#if PNG_ARM_NEON_IMPLEMENTATION == 1
+ png_free(png_ptr, png_ptr->riffled_palette);
+ png_ptr->riffled_palette = NULL;
+#endif
+
/* NOTE: the 'setjmp' buffer may still be allocated and the memory and error
* callbacks are still set at this point. They are required to complete the
* destruction of the png_struct itself.
77 changes: 77 additions & 0 deletions recipes/libpng/meta.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
# This file created by conda-build 3.22.0
# meta.yaml template originally from:
# /home/conda/recipe_root, last modified Fri Sep 16 16:57:13 2022
# ------------------------------------------------

package:
name: libpng
version: 1.6.38
source:
patches:
- 0001-Include-pkg-config-files-in-the-Windows-packages-too.patch
- 0002-Ensure-that-lm-is-not-included-in-Windows-pkg-config.patch
- libpng-arm-free.patch
sha256: e2b5e1b4329650992c041996cf1269681b341191dc07ffed816c555769cceb77
url: http://download.sourceforge.net/libpng/libpng-1.6.38.tar.gz
build:
number: '0'
run_exports:
- libpng >=1.6.38,<1.7.0a0
string: hf9034f9_0
requirements:
build:
- _openmp_mutex 4.5 2_gnu
- autoconf 2.69 pl5321h689fa9f_11
- automake 1.16.5 pl5321h8af1aa0_0
- binutils_impl_linux-aarch64 2.36.1 h026399b_2
- binutils_linux-aarch64 2.36 h7854541_10
- gcc_impl_linux-aarch64 10.4.0 hbc23e19_16
- gcc_linux-aarch64 10.4.0 h72ad2ee_10
- kernel-headers_linux-aarch64 4.18.0 h5b4a56d_13
- ld_impl_linux-aarch64 2.36.1 h02ad14f_2
- libgcc-devel_linux-aarch64 10.4.0 hf691355_16
- libgcc-ng 12.1.0 h3242a24_16
- libgomp 12.1.0 h3242a24_16
- libnsl 2.0.0 hf897c2e_0
- libsanitizer 10.4.0 h69a60c7_16
- libstdcxx-ng 12.1.0 hd01590b_16
- libtool 2.4.6 h01db608_1008
- m4 1.4.18 h516909a_1001
- make 4.3 h309ac5b_1
- perl 5.32.1 2_hf897c2e_perl5
- sysroot_linux-aarch64 2.17 h43d7e78_13
host:
- _openmp_mutex 4.5 2_gnu
- libgcc-ng 12.1.0 h3242a24_16
- libgomp 12.1.0 h3242a24_16
- libzlib 1.2.12 h4e544f5_3
- zlib 1.2.12 h4e544f5_3
run:
- libgcc-ng >=12
- libzlib >=1.2.12,<1.3.0a0
test:
commands:
- test -f ${PREFIX}/lib/libpng.a
- test -f ${PREFIX}/lib/libpng${SHLIB_EXT}
- libpng-config --version
about:
description: 'libpng is the official PNG reference library. It supports almost all
PNG
features, is extensible, and has been extensively tested for over 20 years.
'
dev_url: https://sourceforge.net/p/libpng/code/ci/libpng16/tree/
doc_url: http://www.libpng.org/pub/png/libpng.html
home: http://www.libpng.org/pub/png/libpng.html
license: zlib-acknowledgement
license_file: LICENSE
license_url: http://www.libpng.org/pub/png/src/libpng-LICENSE.txt
summary: PNG reference library
extra:
copy_test_source_files: true
final: true
recipe-maintainers:
- msarahan
- ocefpaf
- pkgw
Loading

0 comments on commit abdb436

Please sign in to comment.