aboutsummaryrefslogtreecommitdiff
path: root/biology/htslib
diff options
context:
space:
mode:
authorJason W. Bacon <jwb@FreeBSD.org>2020-08-03 17:40:04 +0000
committerJason W. Bacon <jwb@FreeBSD.org>2020-08-03 17:40:04 +0000
commitfb3f006dcf754294010a0a8c607bd6d62ba3d9c1 (patch)
treefd3809ef002fe1173153d2a35133427d7f2647ed /biology/htslib
parent08b4ba2cf057963d6cd3da0c0dc11deea02a1ffe (diff)
downloadports-fb3f006dcf754294010a0a8c607bd6d62ba3d9c1.tar.gz
ports-fb3f006dcf754294010a0a8c607bd6d62ba3d9c1.zip
biology/htslib: Upgrade to 1.10.2
Numerous bug fixes and enhancements since 1.9: https://github.com/samtools/htslib/tags Bump PORTREVISION on dependents that don't require additional patching PR: 248089
Notes
Notes: svn path=/head/; revision=544090
Diffstat (limited to 'biology/htslib')
-rw-r--r--biology/htslib/Makefile16
-rw-r--r--biology/htslib/distinfo6
-rw-r--r--biology/htslib/files/patch-Makefile54
-rw-r--r--biology/htslib/files/patch-hfile__libcurl.c65
-rw-r--r--biology/htslib/pkg-plist3
5 files changed, 106 insertions, 38 deletions
diff --git a/biology/htslib/Makefile b/biology/htslib/Makefile
index 18b7acf4735d..11927a423710 100644
--- a/biology/htslib/Makefile
+++ b/biology/htslib/Makefile
@@ -2,28 +2,28 @@
# $FreeBSD$
PORTNAME= htslib
-DISTVERSION= 1.9
+DISTVERSION= 1.10.2
CATEGORIES= biology devel
-MAINTAINER= cartwright@asu.edu
+MAINTAINER= jwb@FreeBSD.org
COMMENT= C library for high-throughput sequencing data formats
LICENSE= BSD3CLAUSE MIT
LICENSE_COMB= multi
LICENSE_FILE= ${WRKSRC}/LICENSE
+LIB_DEPENDS= libdeflate.so:archivers/libdeflate
TEST_DEPENDS= bash:shells/bash
-USES= autoreconf gmake localbase \
- pathfix perl5 shebangfix
+USES= autoreconf gmake localbase pathfix perl5 shebangfix
USE_GITHUB= yes
-GH_ACCOUNT= samtools
USE_PERL5= test
USE_LDCONFIG= yes
-GNU_CONFIGURE= yes
+
+GH_ACCOUNT= samtools
+GNU_CONFIGURE= yes
PATHFIX_MAKEFILEIN= Makefile
-SHEBANG_FILES= test/compare_sam.pl \
- test/test.pl
+SHEBANG_FILES= test/*.pl
OPTIONS_DEFINE= CURL
OPTIONS_DEFAULT= CURL
diff --git a/biology/htslib/distinfo b/biology/htslib/distinfo
index 6748afa34d04..c27d7e91533c 100644
--- a/biology/htslib/distinfo
+++ b/biology/htslib/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1532906408
-SHA256 (samtools-htslib-1.9_GH0.tar.gz) = d2e3cde77b8f874b37453c63390cd992901266336e9f70e871ef42402510467f
-SIZE (samtools-htslib-1.9_GH0.tar.gz) = 1285580
+TIMESTAMP = 1595116892
+SHA256 (samtools-htslib-1.10.2_GH0.tar.gz) = b352eabed6392869dbdea0fe6db10a736a226d1f90036a724a49798f7e81cab7
+SIZE (samtools-htslib-1.10.2_GH0.tar.gz) = 1452177
diff --git a/biology/htslib/files/patch-Makefile b/biology/htslib/files/patch-Makefile
index f01cc74714db..c2b011767521 100644
--- a/biology/htslib/files/patch-Makefile
+++ b/biology/htslib/files/patch-Makefile
@@ -1,46 +1,52 @@
---- Makefile.orig 2017-10-18 08:03:33 UTC
+--- Makefile.orig 2020-08-02 22:52:13 UTC
+++ Makefile
-@@ -22,41 +22,26 @@
+@@ -22,25 +22,26 @@
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
# DEALINGS IN THE SOFTWARE.
-CC = gcc
-AR = ar
-RANLIB = ranlib
--
--# Default libraries to link if configure is not used
--htslib_default_libs = -lz -lm -lbz2 -llzma
--
++CC ?= gcc
++AR ?= ar
++RANLIB ?= ranlib
+
+ # Default libraries to link if configure is not used
+ htslib_default_libs = -lz -lm -lbz2 -llzma -lcurl
+
-CPPFLAGS =
--# TODO: probably update cram code to make it compile cleanly with -Wc++-compat
--# For testing strict C99 support add -std=c99 -D_XOPEN_SOURCE=600
--#CFLAGS = -g -Wall -O2 -pedantic -std=c99 -D_XOPEN_SOURCE=600 -D__FUNCTION__=__func__
--CFLAGS = -g -Wall -O2
++# CPPFLAGS =
+ # TODO: make the 64-bit support for VCF optional via configure, for now add -DVCF_ALLOW_INT64
+ # to CFLAGS manually, here or in config.mk if the latter exists.
+ # TODO: probably update cram code to make it compile cleanly with -Wc++-compat
+ # For testing strict C99 support add -std=c99 -D_XOPEN_SOURCE=600
+ #CFLAGS = -g -Wall -O2 -pedantic -std=c99 -D_XOPEN_SOURCE=600
+-CFLAGS = -g -Wall -O2 -fvisibility=hidden
++CFLAGS ?= -g -Wall -O2 -fvisibility=hidden
EXTRA_CFLAGS_PIC = -fpic
--LDFLAGS =
--LIBS = $(htslib_default_libs)
+-LDFLAGS = -fvisibility=hidden
++LDFLAGS ?= -fvisibility=hidden
+ LIBS = $(htslib_default_libs)
-prefix = /usr/local
-+prefix = ${PREFIX}
++PREFIX ?= /usr/local
++prefix = $(PREFIX)
exec_prefix = $(prefix)
bindir = $(exec_prefix)/bin
includedir = $(prefix)/include
- libdir = $(exec_prefix)/lib
- libexecdir = $(exec_prefix)/libexec
- datarootdir = $(prefix)/share
--mandir = $(datarootdir)/man
-+mandir = $(prefix)/man
- man1dir = $(mandir)/man1
- man5dir = $(mandir)/man5
+@@ -53,13 +54,13 @@ man5dir = $(mandir)/man5
+ man7dir = $(mandir)/man7
pkgconfigdir= $(prefix)/libdata/pkgconfig
- MKDIR_P = mkdir -p
+-MKDIR_P = mkdir -p
-INSTALL = install -p
-INSTALL_DATA = $(INSTALL) -m 644
-INSTALL_DIR = $(MKDIR_P) -m 755
-INSTALL_LIB = $(INSTALL_DATA)
-INSTALL_MAN = $(INSTALL_DATA)
-INSTALL_PROGRAM = $(INSTALL)
++# Use ports BSD_INSTALL_PROGRAM to strip if WITH_DEBUG is not set
++MKDIR_P = mkdir -p
+INSTALL_DATA = ${BSD_INSTALL_DATA}
+INSTALL_DIR = $(MKDIR_P)
+INSTALL_LIB = ${BSD_INSTALL_LIB}
@@ -49,9 +55,9 @@
# Set by config.mk if plugins are enabled
plugindir =
-@@ -87,7 +72,7 @@ BUILT_THRASH_PROGRAMS = \
- test/thrash_threads5 \
- test/thrash_threads6
+@@ -98,7 +99,7 @@ BUILT_THRASH_PROGRAMS = \
+ test/thrash_threads6 \
+ test/thrash_threads7
-all: lib-static lib-shared $(BUILT_PROGRAMS) plugins $(BUILT_TEST_PROGRAMS)
+all: lib-static lib-shared $(BUILT_PROGRAMS) plugins
diff --git a/biology/htslib/files/patch-hfile__libcurl.c b/biology/htslib/files/patch-hfile__libcurl.c
index 6b6ebb6e48d9..e4cd8745a18e 100644
--- a/biology/htslib/files/patch-hfile__libcurl.c
+++ b/biology/htslib/files/patch-hfile__libcurl.c
@@ -1,6 +1,6 @@
---- hfile_libcurl.c.orig 2017-09-28 11:20:23 UTC
+--- hfile_libcurl.c.orig 2019-12-19 09:54:30 UTC
+++ hfile_libcurl.c
-@@ -49,6 +49,10 @@ typedef struct {
+@@ -74,6 +74,10 @@ typedef struct {
unsigned int size;
} hdrlist;
@@ -11,3 +11,64 @@
typedef struct {
hdrlist fixed; // List of headers supplied at hopen()
hdrlist extra; // List of headers from callback
+@@ -218,6 +222,8 @@ static int easy_errno(CURL *easy, CURLcode err)
+ return EEXIST;
+
+ default:
++ hts_log_error("Libcurl reported error %d (%s)", (int) err,
++ curl_easy_strerror(err));
+ return EIO;
+ }
+ }
+@@ -238,6 +244,8 @@ static int multi_errno(CURLMcode errm)
+ return ENOMEM;
+
+ default:
++ hts_log_error("Libcurl reported error %d (%s)", (int) errm,
++ curl_multi_strerror(errm));
+ return EIO;
+ }
+ }
+@@ -797,9 +805,13 @@ static ssize_t libcurl_read(hFILE *fpv, void *bufferv,
+ fp->buffer.ptr.rd = buffer;
+ fp->buffer.len = nbytes;
+ fp->paused = 0;
+- err = curl_easy_pause(fp->easy, CURLPAUSE_CONT);
+- if (err != CURLE_OK) { errno = easy_errno(fp->easy, err); return -1; }
+-
++ if (! fp->finished) {
++ err = curl_easy_pause(fp->easy, CURLPAUSE_CONT);
++ if (err != CURLE_OK) {
++ errno = easy_errno(fp->easy, err);
++ return -1;
++ }
++ }
+ while (! fp->paused && ! fp->finished) {
+ if (wait_perform(fp) < 0) return -1;
+ }
+@@ -1003,12 +1015,6 @@ static int restart_from_position(hFILE_libcurl *fp, of
+ }
+ temp_fp.nrunning = ++fp->nrunning;
+
+- err = curl_easy_pause(temp_fp.easy, CURLPAUSE_CONT);
+- if (err != CURLE_OK) {
+- save_errno = easy_errno(temp_fp.easy, err);
+- goto error_remove;
+- }
+-
+ while (! temp_fp.paused && ! temp_fp.finished)
+ if (wait_perform(&temp_fp) < 0) {
+ save_errno = errno;
+@@ -1084,8 +1090,10 @@ static int libcurl_close(hFILE *fpv)
+ fp->buffer.len = 0;
+ fp->closing = 1;
+ fp->paused = 0;
+- err = curl_easy_pause(fp->easy, CURLPAUSE_CONT);
+- if (err != CURLE_OK) save_errno = easy_errno(fp->easy, err);
++ if (! fp->finished) {
++ err = curl_easy_pause(fp->easy, CURLPAUSE_CONT);
++ if (err != CURLE_OK) save_errno = easy_errno(fp->easy, err);
++ }
+
+ while (save_errno == 0 && ! fp->paused && ! fp->finished)
+ if (wait_perform(fp) < 0) save_errno = errno;
diff --git a/biology/htslib/pkg-plist b/biology/htslib/pkg-plist
index 2143ba6be014..dd5727097944 100644
--- a/biology/htslib/pkg-plist
+++ b/biology/htslib/pkg-plist
@@ -30,7 +30,7 @@ include/htslib/vcfutils.h
lib/libhts.a
lib/libhts.so
lib/libhts.so.%%PORTVERSION%%
-lib/libhts.so.2
+lib/libhts.so.3
libdata/pkgconfig/htslib.pc
man/man1/bgzip.1.gz
man/man1/htsfile.1.gz
@@ -38,3 +38,4 @@ man/man1/tabix.1.gz
man/man5/faidx.5.gz
man/man5/sam.5.gz
man/man5/vcf.5.gz
+man/man7/htslib-s3-plugin.7.gz