pkgsrc-WIP-changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
hisat2-simde: Separate from non SIMDe version
Module Name: pkgsrc-wip
Committed By: Jason Bacon <bacon%NetBSD.org@localhost>
Pushed By: outpaddling
Date: Thu Mar 17 10:08:14 2022 -0500
Changeset: 33d9bed0a089fe7303dd30ed9d633ccbcf8dd0fa
Added Files:
hisat2-simde/DESCR
hisat2-simde/Makefile
hisat2-simde/PLIST
hisat2-simde/distinfo
hisat2-simde/patches/patch-Makefile
hisat2-simde/patches/patch-aligner__sw.h
hisat2-simde/patches/patch-hisat2
hisat2-simde/patches/patch-processor__support.h
hisat2-simde/patches/patch-sse__util.h
Log Message:
hisat2-simde: Separate from non SIMDe version
wip/simde is failing do-test, which may take some time to fix
To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=33d9bed0a089fe7303dd30ed9d633ccbcf8dd0fa
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
diffstat:
hisat2-simde/DESCR | 3 +
hisat2-simde/Makefile | 33 ++++++
hisat2-simde/PLIST | 67 +++++++++++
hisat2-simde/distinfo | 10 ++
hisat2-simde/patches/patch-Makefile | 145 ++++++++++++++++++++++++
hisat2-simde/patches/patch-aligner__sw.h | 22 ++++
hisat2-simde/patches/patch-hisat2 | 15 +++
hisat2-simde/patches/patch-processor__support.h | 25 ++++
hisat2-simde/patches/patch-sse__util.h | 22 ++++
9 files changed, 342 insertions(+)
diffs:
diff --git a/hisat2-simde/DESCR b/hisat2-simde/DESCR
new file mode 100644
index 0000000000..b2a627c14e
--- /dev/null
+++ b/hisat2-simde/DESCR
@@ -0,0 +1,3 @@
+HISAT2 is a fast and sensitive alignment program for mapping next-generation
+sequencing reads (both DNA and RNA) to a population of human genomes (as well
+as to a single reference genome).
diff --git a/hisat2-simde/Makefile b/hisat2-simde/Makefile
new file mode 100644
index 0000000000..b23125be6e
--- /dev/null
+++ b/hisat2-simde/Makefile
@@ -0,0 +1,33 @@
+# $NetBSD$
+
+DISTNAME= hisat2-2.2.1
+CATEGORIES= biology
+MASTER_SITES= ${MASTER_SITE_GITHUB:=DaehwanKimLab/}
+GITHUB_TAG= v${PKGVERSION_NOREV}
+
+MAINTAINER= bacon%NetBSD.org@localhost
+HOMEPAGE= https://ccb.jhu.edu/software/hisat2/index.shtml
+COMMENT= Alignment program for mapping next-generation sequencing reads
+LICENSE= gnu-gpl-v3
+
+# 64-bit code, some assembly language
+ONLY_FOR_PLATFORM= *-*-x86_64
+
+USE_LANGUAGES= c c++
+USE_TOOLS+= bash gmake perl
+
+REPLACE_BASH= scripts/*.sh
+REPLACE_PERL= hisat2 scripts/*.sh scripts/*.pl scripts/*.py
+REPLACE_PYTHON= *.py scripts/*.py hisat2-build hisat2-inspect
+
+PTHREAD_AUTO_VARS= yes
+WRKSRC= ${WRKDIR}/hisat2-2.2.1
+
+# Unbreak #include <version> on case-insensitive file systems
+post-patch:
+ ${MV} ${WRKSRC}/VERSION ${WRKSRC}/HISAT2_VERSION
+
+.include "../../wip/simde/buildlink3.mk"
+.include "../../lang/python/application.mk"
+.include "../../mk/pthread.buildlink3.mk"
+.include "../../mk/bsd.pkg.mk"
diff --git a/hisat2-simde/PLIST b/hisat2-simde/PLIST
new file mode 100644
index 0000000000..96055d08a6
--- /dev/null
+++ b/hisat2-simde/PLIST
@@ -0,0 +1,67 @@
+@comment $NetBSD$
+bin/hisat2
+bin/hisat2-align-l
+bin/hisat2-align-s
+bin/hisat2-build
+bin/hisat2-build-l
+bin/hisat2-build-s
+bin/hisat2-inspect
+bin/hisat2-inspect-l
+bin/hisat2-inspect-s
+bin/hisat2-repeat
+libexec/hisat2/convert_quals.pl
+libexec/hisat2/extract_exons.py
+libexec/hisat2/extract_splice_sites.py
+libexec/hisat2/gen_2b_occ_lookup.pl
+libexec/hisat2/gen_occ_lookup.pl
+libexec/hisat2/gen_solqual_lookup.pl
+libexec/hisat2/hisat2_extract_exons.py
+libexec/hisat2/hisat2_extract_snps_haplotypes_UCSC.py
+libexec/hisat2/hisat2_extract_snps_haplotypes_VCF.py
+libexec/hisat2/hisat2_extract_splice_sites.py
+libexec/hisat2/hisat2_read_statistics.py
+libexec/hisat2/hisat2_simulate_reads.py
+libexec/hisat2/infer_fraglen.pl
+libexec/hisat2/make_a_thaliana_tair.sh
+libexec/hisat2/make_b_taurus_UMD3.sh
+libexec/hisat2/make_bdgp6.sh
+libexec/hisat2/make_bdgp6_tran.sh
+libexec/hisat2/make_canFam2.sh
+libexec/hisat2/make_ce10.sh
+libexec/hisat2/make_dm6.sh
+libexec/hisat2/make_e_coli.sh
+libexec/hisat2/make_grch37.sh
+libexec/hisat2/make_grch37_snp.sh
+libexec/hisat2/make_grch37_snp_tran.sh
+libexec/hisat2/make_grch37_snp_tran_ercc.sh
+libexec/hisat2/make_grch37_tran.sh
+libexec/hisat2/make_grch38.sh
+libexec/hisat2/make_grch38_rep.sh
+libexec/hisat2/make_grch38_snp.sh
+libexec/hisat2/make_grch38_snp_rep.sh
+libexec/hisat2/make_grch38_snp_tran.sh
+libexec/hisat2/make_grch38_snp_tran_ercc.sh
+libexec/hisat2/make_grch38_tran.sh
+libexec/hisat2/make_grcm38.sh
+libexec/hisat2/make_grcm38_snp.sh
+libexec/hisat2/make_grcm38_snp_tran.sh
+libexec/hisat2/make_grcm38_tran.sh
+libexec/hisat2/make_hg19.sh
+libexec/hisat2/make_hg38.sh
+libexec/hisat2/make_hg38_allsnp.sh
+libexec/hisat2/make_hg38_snp.sh
+libexec/hisat2/make_hg38_snp_tran.sh
+libexec/hisat2/make_mm10.sh
+libexec/hisat2/make_mm9.sh
+libexec/hisat2/make_r64.sh
+libexec/hisat2/make_r64_tran.sh
+libexec/hisat2/make_rn4.sh
+libexec/hisat2/make_rn6.sh
+libexec/hisat2/make_rnor6.sh
+libexec/hisat2/make_rnor6_tran.sh
+libexec/hisat2/make_sc3.sh
+libexec/hisat2/make_wbcel235.sh
+libexec/hisat2/make_wbcel235_tran.sh
+libexec/hisat2/make_zm3_snp_tran_ercc.sh
+libexec/hisat2/sa.py
+libexec/hisat2/validate_repeat.py
diff --git a/hisat2-simde/distinfo b/hisat2-simde/distinfo
new file mode 100644
index 0000000000..0f331bc61f
--- /dev/null
+++ b/hisat2-simde/distinfo
@@ -0,0 +1,10 @@
+$NetBSD$
+
+BLAKE2s (hisat2-2.2.1.tar.gz) = 1cc424a10f1fcf25c70294bef3b21e67b07cebcb7b73e36c0176a2dfdec51bdb
+SHA512 (hisat2-2.2.1.tar.gz) = a5a688ad0ccfaf326b3ec6dc97206995306aa6f5b6e58223c2113adbca2745f1e8205b436fdf8e01f42da7a38718f9f3bf214b951fb5360d53247d99a0bdbf46
+Size (hisat2-2.2.1.tar.gz) = 6761242 bytes
+SHA1 (patch-Makefile) = 067b766ecebacd840db4a287bba25d2d2264b339
+SHA1 (patch-aligner__sw.h) = 628c14bfd6b26185eada73013175e35de2b38227
+SHA1 (patch-hisat2) = 6010f5fcc1e7dfcb383a4defc4e3d9f06322370d
+SHA1 (patch-processor__support.h) = 56d9cd4ba18e37879acba521a0f431fe2b4290af
+SHA1 (patch-sse__util.h) = f0bbe72dfe3a2567e614683e3aecc10f3d6583ef
diff --git a/hisat2-simde/patches/patch-Makefile b/hisat2-simde/patches/patch-Makefile
new file mode 100644
index 0000000000..5615e72d99
--- /dev/null
+++ b/hisat2-simde/patches/patch-Makefile
@@ -0,0 +1,145 @@
+$NetBSD$
+
+# Respect env
+
+--- Makefile.orig 2020-07-24 20:07:54.000000000 +0000
++++ Makefile
+@@ -23,9 +23,11 @@
+ INC =
+ GCC_PREFIX = $(shell dirname `which gcc`)
+ GCC_SUFFIX =
+-CC = $(GCC_PREFIX)/gcc$(GCC_SUFFIX)
+-CPP = $(GCC_PREFIX)/g++$(GCC_SUFFIX)
+-CXX = $(CPP)
++CC ?= $(GCC_PREFIX)/gcc$(GCC_SUFFIX)
++CPP ?= $(GCC_PREFIX)/g++$(GCC_SUFFIX)
++CXX ?= $(CPP)
++INSTALL ?= install
++
+ HEADERS = $(wildcard *.h)
+ BOWTIE_MM = 1
+ BOWTIE_SHARED_MEM = 0
+@@ -55,7 +57,7 @@ ifneq (,$(findstring Darwin,$(shell unam
+ MACOS = 1
+ endif
+
+-EXTRA_FLAGS += -DPOPCNT_CAPABILITY -std=c++11
++EXTRA_FLAGS += -std=c++11
+ INC += -I. -I third_party
+
+ MM_DEF =
+@@ -150,33 +152,11 @@ HISAT2_BUILD_CPPS_MAIN = $(BUILD_CPPS) h
+ HISAT2_REPEAT_CPPS_MAIN = $(REPEAT_CPPS) $(BUILD_CPPS) hisat2_repeat_main.cpp
+
+ SEARCH_FRAGMENTS = $(wildcard search_*_phase*.c)
+-VERSION = $(shell cat VERSION)
+-
+-# Convert BITS=?? to a -m flag
+-BITS=32
+-ifeq (x86_64,$(shell uname -m))
+-BITS=64
+-endif
+-# msys will always be 32 bit so look at the cpu arch instead.
+-ifneq (,$(findstring AMD64,$(PROCESSOR_ARCHITEW6432)))
+- ifeq (1,$(MINGW))
+- BITS=64
+- endif
+-endif
+-BITS_FLAG =
+-
+-ifeq (32,$(BITS))
+- BITS_FLAG = -m32
+-endif
+-
+-ifeq (64,$(BITS))
+- BITS_FLAG = -m64
+-endif
+-SSE_FLAG=-msse2
++HISAT2_VERSION = $(shell cat HISAT2_VERSION)
+
+ DEBUG_FLAGS = -O0 -g3 $(BITS_FLAG) $(SSE_FLAG)
+ DEBUG_DEFS = -DCOMPILER_OPTIONS="\"$(DEBUG_FLAGS) $(EXTRA_FLAGS)\""
+-RELEASE_FLAGS = -O3 $(BITS_FLAG) $(SSE_FLAG) -funroll-loops -g3
++RELEASE_FLAGS = $(CXXFLAGS)
+ RELEASE_DEFS = -DCOMPILER_OPTIONS="\"$(RELEASE_FLAGS) $(EXTRA_FLAGS)\""
+ NOASSERT_FLAGS = -DNDEBUG
+ FILE_FLAGS = -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE
+@@ -251,7 +231,7 @@ GENERAL_LIST = $(wildcard scripts/*.sh)
+ MANUAL \
+ MANUAL.markdown \
+ TUTORIAL \
+- VERSION
++ HISAT2_VERSION
+
+ ifeq (1,$(WINDOWS))
+ HISAT2_BIN_LIST := $(HISAT2_BIN_LIST) hisat2.bat hisat2-build.bat hisat2-inspect.bat
+@@ -287,7 +267,7 @@ repeat: hisat2-repeat
+ repeat-debug: hisat2-repeat-debug
+
+ DEFS=-fno-strict-aliasing \
+- -DHISAT2_VERSION="\"`cat VERSION`\"" \
++ -DHISAT2_VERSION="\"`cat HISAT2_VERSION`\"" \
+ -DBUILD_HOST="\"`hostname`\"" \
+ -DBUILD_TIME="\"`date`\"" \
+ -DCOMPILER_VERSION="\"`$(CXX) -v 2>&1 | tail -1`\"" \
+@@ -517,12 +497,12 @@ hisat2-inspect.bat:
+ hisat2-src: $(SRC_PKG_LIST)
+ chmod a+x scripts/*.sh scripts/*.pl
+ mkdir .src.tmp
+- mkdir .src.tmp/hisat2-$(VERSION)
++ mkdir .src.tmp/hisat2-$(HISAT2_VERSION)
+ zip tmp.zip $(SRC_PKG_LIST)
+- mv tmp.zip .src.tmp/hisat2-$(VERSION)
+- cd .src.tmp/hisat2-$(VERSION) ; unzip tmp.zip ; rm -f tmp.zip
+- cd .src.tmp ; zip -r hisat2-$(VERSION)-source.zip hisat2-$(VERSION)
+- cp .src.tmp/hisat2-$(VERSION)-source.zip .
++ mv tmp.zip .src.tmp/hisat2-$(HISAT2_VERSION)
++ cd .src.tmp/hisat2-$(HISAT2_VERSION) ; unzip tmp.zip ; rm -f tmp.zip
++ cd .src.tmp ; zip -r hisat2-$(HISAT2_VERSION)-source.zip hisat2-$(HISAT2_VERSION)
++ cp .src.tmp/hisat2-$(HISAT2_VERSION)-source.zip .
+ rm -rf .src.tmp
+
+ .PHONY: hisat2-bin
+@@ -530,16 +510,16 @@ hisat2-bin: $(BIN_PKG_LIST) $(HISAT2_BIN
+ chmod a+x scripts/*.sh scripts/*.pl
+ rm -rf .bin.tmp
+ mkdir .bin.tmp
+- mkdir .bin.tmp/hisat2-$(VERSION)
++ mkdir .bin.tmp/hisat2-$(HISAT2_VERSION)
+ if [ -f hisat2.exe ] ; then \
+ zip tmp.zip $(BIN_PKG_LIST) $(addsuffix .exe,$(HISAT2_BIN_LIST) $(HISAT2_BIN_LIST_AUX)) ; \
+ else \
+ zip tmp.zip $(BIN_PKG_LIST) $(HISAT2_BIN_LIST) $(HISAT2_BIN_LIST_AUX) ; \
+ fi
+- mv tmp.zip .bin.tmp/hisat2-$(VERSION)
+- cd .bin.tmp/hisat2-$(VERSION) ; unzip tmp.zip ; rm -f tmp.zip
+- cd .bin.tmp ; zip -r hisat2-$(VERSION)-$(BITS).zip hisat2-$(VERSION)
+- cp .bin.tmp/hisat2-$(VERSION)-$(BITS).zip .
++ mv tmp.zip .bin.tmp/hisat2-$(HISAT2_VERSION)
++ cd .bin.tmp/hisat2-$(HISAT2_VERSION) ; unzip tmp.zip ; rm -f tmp.zip
++ cd .bin.tmp ; zip -r hisat2-$(HISAT2_VERSION)-$(BITS).zip hisat2-$(HISAT2_VERSION)
++ cp .bin.tmp/hisat2-$(HISAT2_VERSION)-$(BITS).zip .
+ rm -rf .bin.tmp
+
+ .PHONY: doc
+@@ -554,6 +534,20 @@ doc/manual.inc.html: MANUAL.markdown
+ MANUAL: MANUAL.markdown
+ perl doc/strip_markdown.pl < $^ > $@
+
++# Install per filesystem hierarchy standard:
++# https://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard
++
++.PHONY: install
++install:
++ mkdir -p ${DESTDIR}${PREFIX}/bin
++ ${INSTALL} -c -s ${HISAT2_BIN_LIST} ${DESTDIR}${PREFIX}/bin
++ ${INSTALL} -c hisat2 hisat2-build hisat2-inspect \
++ ${DESTDIR}${PREFIX}/bin
++
++ mkdir -p ${DESTDIR}${PREFIX}/libexec/hisat2
++ ${INSTALL} -c scripts/*.sh scripts/*.pl scripts/*.py *.py \
++ ${DESTDIR}${PREFIX}/libexec/hisat2
++
+ .PHONY: clean
+ clean:
+ rm -f $(HISAT2_BIN_LIST) $(HISAT2_BIN_LIST_AUX) \
diff --git a/hisat2-simde/patches/patch-aligner__sw.h b/hisat2-simde/patches/patch-aligner__sw.h
new file mode 100644
index 0000000000..7aba6299e5
--- /dev/null
+++ b/hisat2-simde/patches/patch-aligner__sw.h
@@ -0,0 +1,22 @@
+$NetBSD$
+
+# Support non-x86
+
+--- aligner_sw.h.orig 2020-07-24 20:07:54.000000000 +0000
++++ aligner_sw.h
+@@ -66,11 +66,14 @@
+
+ #define INLINE_CUPS
+
++#define SIMDE_ENABLE_NATIVE_ALIASES
++
++#include <simde/x86/sse2.h>
+ #include <stdint.h>
+ #include <iostream>
+ #include <limits>
+ #include "threading.h"
+-#include <emmintrin.h>
++// #include <emmintrin.h> // Replace this with simde when possible
+ #include "aligner_sw_common.h"
+ #include "aligner_sw_nuc.h"
+ #include "ds.h"
diff --git a/hisat2-simde/patches/patch-hisat2 b/hisat2-simde/patches/patch-hisat2
new file mode 100644
index 0000000000..ea0ed8175d
--- /dev/null
+++ b/hisat2-simde/patches/patch-hisat2
@@ -0,0 +1,15 @@
+$NetBSD$
+
+# Support BSD, etc.
+
+--- hisat2.orig 2018-11-07 21:43:32 UTC
++++ hisat2
+@@ -45,7 +45,7 @@ while (-f $prog && -l $prog){
+
+ ($vol,$script_path,$prog)
+ = File::Spec->splitpath($prog);
+-my $os_is_nix = ($^O eq "linux") || ($^O eq "darwin");
++my $os_is_nix = ($^O ne "MSWin32") && ($^O ne "MSWin64");
+ my $align_bin_s = $os_is_nix ? 'hisat2-align-s' : 'hisat2-align-s.exe';
+ my $build_bin = $os_is_nix ? 'hisat2-build' : 'hisat2-build.exe';
+ my $align_bin_l = $os_is_nix ? 'hisat2-align-l' : 'hisat2-align-l.exe';
diff --git a/hisat2-simde/patches/patch-processor__support.h b/hisat2-simde/patches/patch-processor__support.h
new file mode 100644
index 0000000000..b882729882
--- /dev/null
+++ b/hisat2-simde/patches/patch-processor__support.h
@@ -0,0 +1,25 @@
+$NetBSD$
+
+# Support non-x86
+
+--- processor_support.h.orig 2020-07-24 20:07:54 UTC
++++ processor_support.h
+@@ -12,7 +12,7 @@
+
+ #if defined(__INTEL_COMPILER)
+ # define USING_INTEL_COMPILER
+-#elif defined(__GNUC__)
++#elif defined(__GNUC__) && (defined(__amd64__) || defined(__i386__))
+ # define USING_GCC_COMPILER
+ # include <cpuid.h>
+ #elif defined(_MSC_VER)
+@@ -52,8 +52,7 @@ class ProcessorSupport { (public)
+ #elif defined(USING_GCC_COMPILER)
+ __get_cpuid(0x1, ®s.EAX, ®s.EBX, ®s.ECX, ®s.EDX);
+ #else
+- std::cerr << "ERROR: please define __cpuid() for this build.\n";
+- assert(0);
++ return false;
+ #endif
+ if( !( (regs.ECX & BIT(20)) && (regs.ECX & BIT(23)) ) ) return false;
+ }
diff --git a/hisat2-simde/patches/patch-sse__util.h b/hisat2-simde/patches/patch-sse__util.h
new file mode 100644
index 0000000000..22bbf22180
--- /dev/null
+++ b/hisat2-simde/patches/patch-sse__util.h
@@ -0,0 +1,22 @@
+$NetBSD$
+
+# Support non-x86
+
+--- sse_util.h.orig 2020-07-24 20:07:54.000000000 +0000
++++ sse_util.h
+@@ -20,11 +20,14 @@
+ #ifndef SSE_UTIL_H_
+ #define SSE_UTIL_H_
+
++#define SIMDE_ENABLE_NATIVE_ALIASES
++#include <simde/x86/sse2.h>
++
+ #include "assert_helpers.h"
+ #include "ds.h"
+ #include "limit.h"
+ #include <iostream>
+-#include <emmintrin.h>
++// #include <emmintrin.h> // Replace with simde when possible
+
+ class EList_m128i {
+ public:
Home |
Main Index |
Thread Index |
Old Index