Loading .gitignore +1 −1 Original line number Diff line number Diff line Loading @@ -17,7 +17,7 @@ include/ lib/ share/ hdf5-1.8.14.tar.gz hdf5-1.*.tar.gz 3.2.5.tar.bz2 eigen/ local* .travis.yml +72 −14 Original line number Diff line number Diff line # travis.yml for github.com/jts/nanopolish dist: trusty services: docker sudo: false language: generic cache: apt git: depth: 1 .nanopolish.ci.matrix-definitions: - &cron-only if: type = cron OR env(CI_CRON) = true - &arch before_install: - | sed -i "/^FROM / s/arm64/${ARCH}/" Dockerfile-arm - | docker run --rm --privileged \ multiarch/qemu-user-static:register --reset && \ docker build --rm -t nanopolish -f Dockerfile-arm . script: - | docker run --rm -t \ -e HDF5="${HDF5:-install}" \ -e H5_CFLAGS="${H5_CFLAGS}" \ -e H5_INCLUDE="${H5_INCLUDE}" \ -e LDFLAGS="${LDFLAGS}" \ nanopolish matrix: include: # Set env for both nanoplish and the dependency hdf5. Loading @@ -22,6 +43,41 @@ matrix: - AR=gcc-ar-8 - NM=gcc-nm-8 - RANLIB=gcc-ranlib-8 # aarch64 - ARM 64-bit - name: aarch64 sudo: required env: - ARCH=arm64 <<: *arch <<: *cron-only - name: aarch64-system-hdf5 sudo: required env: - ARCH=arm64 - HDF5="system" - H5_INCLUDE="-I/usr/include/hdf5/serial" - LDFLAGS="-L/usr/lib/aarch64-linux-gnu/hdf5/serial" <<: *arch # armv7l - ARM 32-bit - name: armv7l sudo: required env: - ARCH=armhf <<: *arch <<: *cron-only - name: armv7l-system-hdf5 sudo: required env: - ARCH=armhf - HDF5="system" - H5_INCLUDE="-I/usr/include/hdf5/serial" - LDFLAGS="-L/usr/lib/arm-linux-gnueabihf/hdf5/serial" <<: *arch allow_failures: # The jobs installing hdf5 from source in docker finishes with error # because of the job exceeded the maximum time limit (50 minutes). - name: aarch64 - name: armv7l # Install and export newer gcc before_install: Loading @@ -38,9 +94,11 @@ before_install: sudo apt-get install -qq "${CXX}" fi script: before_script: # Suppress all compiler warnings for hdf5 Makefile # to display the log without downloading the raw log on Travis log page. # Travis finishs with error when exceeding the limit of 4 MB of log length. - export H5_CFLAGS="-w" script: - make && make test Dockerfile-arm 0 → 100644 +18 −0 Original line number Diff line number Diff line FROM multiarch/ubuntu-debootstrap:arm64-bionic RUN uname -a RUN apt-get update -qq && \ apt-get install -yq --no-install-suggests --no-install-recommends \ bzip2 \ ca-certificates \ gcc \ g++ \ make \ software-properties-common RUN add-apt-repository -y universe && \ apt-get update -qq && \ apt-get install -yq libhdf5-dev RUN find /usr/include -name "hdf5.h" || true RUN find /usr/lib -name "libhdf5.a" || true WORKDIR /nanopolish COPY . . CMD exec bash -c "make && make test" Makefile +6 −6 Original line number Diff line number Diff line Loading @@ -12,6 +12,7 @@ LIBS = -lz CXXFLAGS ?= -g -O3 CXXFLAGS += -std=c++11 -fopenmp -fsigned-char -D_FILE_OFFSET_BITS=64 #D_FILE_OFFSET_BITS=64 makes nanopolish work in 32 bit systems CFLAGS ?= -O3 -std=c99 -fsigned-char -D_FILE_OFFSET_BITS=64 LDFLAGS ?= CXX ?= g++ CC ?= gcc Loading @@ -20,8 +21,7 @@ HDF5 ?= install EIGEN ?= install HTS ?= install HDF5_VERSION ?= 1.8.14 HDF5_CONFIG_ARGS ?= --enable-threadsafe HDF5_VERSION ?= 1.10.4 EIGEN_VERSION ?= 3.2.5 # Check operating system, OSX doesn't have -lrt Loading @@ -38,7 +38,7 @@ ifeq ($(HDF5), install) else # Use system-wide hdf5 H5_LIB = H5_INCLUDE = H5_INCLUDE ?= LIBS += -lhdf5 endif Loading Loading @@ -91,13 +91,13 @@ htslib/libhts.a: # lib/libhdf5.a: if [ ! -e hdf5-$(HDF5_VERSION).tar.gz ]; then \ version_major_minior=`echo "$(HDF5_VERSION)" | sed -E 's/\.[0-9]+$$//'`; \ wget https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-$${version_major_minior}/hdf5-$(HDF5_VERSION)/src/hdf5-$(HDF5_VERSION).tar.gz; \ version_major_minor=`echo "$(HDF5_VERSION)" | sed -E 's/\.[0-9]+$$//'`; \ wget https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-$${version_major_minor}/hdf5-$(HDF5_VERSION)/src/hdf5-$(HDF5_VERSION).tar.gz; \ fi tar -xzf hdf5-$(HDF5_VERSION).tar.gz || exit 255 cd hdf5-$(HDF5_VERSION) && \ ./configure --enable-threadsafe --libdir=`pwd`/../lib --includedir=`pwd`/../include --prefix=`pwd`/.. && \ ./configure --enable-threadsafe --disable-hl --libdir=`pwd`/../lib --includedir=`pwd`/../include --prefix=`pwd`/.. && \ make && make install # Download and install eigen if not already downloaded Loading docs/source/index.rst +1 −0 Original line number Diff line number Diff line Loading @@ -15,6 +15,7 @@ nanopolish quickstart_consensus quickstart_eventalign quickstart_call_methylation quickstart_polya debug manual Loading Loading
.gitignore +1 −1 Original line number Diff line number Diff line Loading @@ -17,7 +17,7 @@ include/ lib/ share/ hdf5-1.8.14.tar.gz hdf5-1.*.tar.gz 3.2.5.tar.bz2 eigen/ local*
.travis.yml +72 −14 Original line number Diff line number Diff line # travis.yml for github.com/jts/nanopolish dist: trusty services: docker sudo: false language: generic cache: apt git: depth: 1 .nanopolish.ci.matrix-definitions: - &cron-only if: type = cron OR env(CI_CRON) = true - &arch before_install: - | sed -i "/^FROM / s/arm64/${ARCH}/" Dockerfile-arm - | docker run --rm --privileged \ multiarch/qemu-user-static:register --reset && \ docker build --rm -t nanopolish -f Dockerfile-arm . script: - | docker run --rm -t \ -e HDF5="${HDF5:-install}" \ -e H5_CFLAGS="${H5_CFLAGS}" \ -e H5_INCLUDE="${H5_INCLUDE}" \ -e LDFLAGS="${LDFLAGS}" \ nanopolish matrix: include: # Set env for both nanoplish and the dependency hdf5. Loading @@ -22,6 +43,41 @@ matrix: - AR=gcc-ar-8 - NM=gcc-nm-8 - RANLIB=gcc-ranlib-8 # aarch64 - ARM 64-bit - name: aarch64 sudo: required env: - ARCH=arm64 <<: *arch <<: *cron-only - name: aarch64-system-hdf5 sudo: required env: - ARCH=arm64 - HDF5="system" - H5_INCLUDE="-I/usr/include/hdf5/serial" - LDFLAGS="-L/usr/lib/aarch64-linux-gnu/hdf5/serial" <<: *arch # armv7l - ARM 32-bit - name: armv7l sudo: required env: - ARCH=armhf <<: *arch <<: *cron-only - name: armv7l-system-hdf5 sudo: required env: - ARCH=armhf - HDF5="system" - H5_INCLUDE="-I/usr/include/hdf5/serial" - LDFLAGS="-L/usr/lib/arm-linux-gnueabihf/hdf5/serial" <<: *arch allow_failures: # The jobs installing hdf5 from source in docker finishes with error # because of the job exceeded the maximum time limit (50 minutes). - name: aarch64 - name: armv7l # Install and export newer gcc before_install: Loading @@ -38,9 +94,11 @@ before_install: sudo apt-get install -qq "${CXX}" fi script: before_script: # Suppress all compiler warnings for hdf5 Makefile # to display the log without downloading the raw log on Travis log page. # Travis finishs with error when exceeding the limit of 4 MB of log length. - export H5_CFLAGS="-w" script: - make && make test
Dockerfile-arm 0 → 100644 +18 −0 Original line number Diff line number Diff line FROM multiarch/ubuntu-debootstrap:arm64-bionic RUN uname -a RUN apt-get update -qq && \ apt-get install -yq --no-install-suggests --no-install-recommends \ bzip2 \ ca-certificates \ gcc \ g++ \ make \ software-properties-common RUN add-apt-repository -y universe && \ apt-get update -qq && \ apt-get install -yq libhdf5-dev RUN find /usr/include -name "hdf5.h" || true RUN find /usr/lib -name "libhdf5.a" || true WORKDIR /nanopolish COPY . . CMD exec bash -c "make && make test"
Makefile +6 −6 Original line number Diff line number Diff line Loading @@ -12,6 +12,7 @@ LIBS = -lz CXXFLAGS ?= -g -O3 CXXFLAGS += -std=c++11 -fopenmp -fsigned-char -D_FILE_OFFSET_BITS=64 #D_FILE_OFFSET_BITS=64 makes nanopolish work in 32 bit systems CFLAGS ?= -O3 -std=c99 -fsigned-char -D_FILE_OFFSET_BITS=64 LDFLAGS ?= CXX ?= g++ CC ?= gcc Loading @@ -20,8 +21,7 @@ HDF5 ?= install EIGEN ?= install HTS ?= install HDF5_VERSION ?= 1.8.14 HDF5_CONFIG_ARGS ?= --enable-threadsafe HDF5_VERSION ?= 1.10.4 EIGEN_VERSION ?= 3.2.5 # Check operating system, OSX doesn't have -lrt Loading @@ -38,7 +38,7 @@ ifeq ($(HDF5), install) else # Use system-wide hdf5 H5_LIB = H5_INCLUDE = H5_INCLUDE ?= LIBS += -lhdf5 endif Loading Loading @@ -91,13 +91,13 @@ htslib/libhts.a: # lib/libhdf5.a: if [ ! -e hdf5-$(HDF5_VERSION).tar.gz ]; then \ version_major_minior=`echo "$(HDF5_VERSION)" | sed -E 's/\.[0-9]+$$//'`; \ wget https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-$${version_major_minior}/hdf5-$(HDF5_VERSION)/src/hdf5-$(HDF5_VERSION).tar.gz; \ version_major_minor=`echo "$(HDF5_VERSION)" | sed -E 's/\.[0-9]+$$//'`; \ wget https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-$${version_major_minor}/hdf5-$(HDF5_VERSION)/src/hdf5-$(HDF5_VERSION).tar.gz; \ fi tar -xzf hdf5-$(HDF5_VERSION).tar.gz || exit 255 cd hdf5-$(HDF5_VERSION) && \ ./configure --enable-threadsafe --libdir=`pwd`/../lib --includedir=`pwd`/../include --prefix=`pwd`/.. && \ ./configure --enable-threadsafe --disable-hl --libdir=`pwd`/../lib --includedir=`pwd`/../include --prefix=`pwd`/.. && \ make && make install # Download and install eigen if not already downloaded Loading
docs/source/index.rst +1 −0 Original line number Diff line number Diff line Loading @@ -15,6 +15,7 @@ nanopolish quickstart_consensus quickstart_eventalign quickstart_call_methylation quickstart_polya debug manual Loading