pkgsrc-WIP-changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Revert "htslib: remove, used for updating biology/htslib"



Module Name:	pkgsrc-wip
Committed By:	Thomas Klausner <tk%giga.or.at@localhost>
Pushed By:	wiz
Date:		Sat Jul 25 09:46:13 2020 +0200
Changeset:	2aa119c2112ce794c385a610effa3b68e9c249a9

Modified Files:
	Makefile
Added Files:
	htslib/DESCR
	htslib/Makefile
	htslib/PLIST
	htslib/buildlink3.mk
	htslib/distinfo
	htslib/patches/patch-Makefile
	htslib/patches/patch-cram_open__trace__file.c
	htslib/patches/patch-hfile__libcurl.c

Log Message:
Revert "htslib: remove, used for updating biology/htslib"

This reverts commit 1955414241d219682c08b5c6a2ea665dcf92ac5c.

To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=2aa119c2112ce794c385a610effa3b68e9c249a9

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

diffstat:
 Makefile                                      |  3 --
 htslib/DESCR                                  |  3 ++
 htslib/Makefile                               | 33 ++++++++++++
 htslib/PLIST                                  | 42 +++++++++++++++
 htslib/buildlink3.mk                          | 14 +++++
 htslib/distinfo                               |  9 ++++
 htslib/patches/patch-Makefile                 | 76 ++++++++++++++++++++++++++
 htslib/patches/patch-cram_open__trace__file.c | 18 +++++++
 htslib/patches/patch-hfile__libcurl.c         | 78 +++++++++++++++++++++++++++
 9 files changed, 273 insertions(+), 3 deletions(-)

diffs:
diff --git a/Makefile b/Makefile
index 0fd9e4f19e..bfdfb7d1ce 100644
--- a/Makefile
+++ b/Makefile
@@ -2886,7 +2886,6 @@ SUBDIR+=	pear-phpcpd
 SUBDIR+=	pear-phpdcd
 SUBDIR+=	pear-phploc
 SUBDIR+=	peercoin
-SUBDIR+=	pegtl
 SUBDIR+=	pentagram
 SUBDIR+=	petsc
 SUBDIR+=	pev
@@ -4259,7 +4258,6 @@ SUBDIR+=	rdsn-git
 SUBDIR+=	rdup
 SUBDIR+=	re2-git
 SUBDIR+=	readseq
-SUBDIR+=	realm-core
 SUBDIR+=	realpath
 SUBDIR+=	realtimebattle
 SUBDIR+=	realvnc
@@ -4786,7 +4784,6 @@ SUBDIR+=	tpl
 SUBDIR+=	tpp
 SUBDIR+=	tqsllib
 SUBDIR+=	tr2latex
-SUBDIR+=	trac
 SUBDIR+=	trac-plugins-AuthOpenId
 SUBDIR+=	trac-plugins-FullBlog
 SUBDIR+=	trac-plugins-FullBlogNotification
diff --git a/htslib/DESCR b/htslib/DESCR
new file mode 100644
index 0000000000..050ad06ba9
--- /dev/null
+++ b/htslib/DESCR
@@ -0,0 +1,3 @@
+HTSlib is an implementation of a unified C library for accessing common file
+formats, such as SAM, CRAM, VCF, and BCF, used for high-throughput sequencing
+data. It is the core library used by samtools and bcftools.
diff --git a/htslib/Makefile b/htslib/Makefile
new file mode 100644
index 0000000000..ff598c69be
--- /dev/null
+++ b/htslib/Makefile
@@ -0,0 +1,33 @@
+# $NetBSD$
+
+DISTNAME=	htslib-1.10.2
+CATEGORIES=	biology
+MASTER_SITES=	${MASTER_SITE_GITHUB:=samtools/}
+
+MAINTAINER=	bacon%NetBSD.org@localhost
+HOMEPAGE=	https://www.htslib.org/
+COMMENT=	C library for high-throughput sequencing data formats
+LICENSE=	mit
+
+USE_TOOLS+=		autoconf automake autoreconf bash gmake perl
+GNU_CONFIGURE=		yes
+
+SUBST_CLASSES+=		version
+SUBST_STAGE.version=	pre-configure
+SUBST_SED.version=	-e "s|m4_esyscmd_s(\[./version.sh 2>/dev/null\])|[${PKGVERSION_NOREV}]|"
+SUBST_FILES.version=	configure.ac
+
+REPLACE_PERL+=		test/*.pl
+
+CONFIGURE_ARGS+=	--enable-libcurl
+PKGCONFIG_OVERRIDE=	htslib.pc.in
+TEST_TARGET=		test
+
+pre-configure:
+	cd ${WRKSRC} && autoreconf -if
+
+.include "../../archivers/bzip2/buildlink3.mk"
+.include "../../archivers/xz/buildlink3.mk"
+.include "../../devel/zlib/buildlink3.mk"
+.include "../../www/curl/buildlink3.mk"
+.include "../../mk/bsd.pkg.mk"
diff --git a/htslib/PLIST b/htslib/PLIST
new file mode 100644
index 0000000000..94636d827e
--- /dev/null
+++ b/htslib/PLIST
@@ -0,0 +1,42 @@
+@comment $NetBSD$
+bin/bgzip
+bin/htsfile
+bin/tabix
+include/htslib/bgzf.h
+include/htslib/cram.h
+include/htslib/faidx.h
+include/htslib/hfile.h
+include/htslib/hts.h
+include/htslib/hts_defs.h
+include/htslib/hts_endian.h
+include/htslib/hts_log.h
+include/htslib/hts_os.h
+include/htslib/kbitset.h
+include/htslib/kfunc.h
+include/htslib/khash.h
+include/htslib/khash_str2int.h
+include/htslib/klist.h
+include/htslib/knetfile.h
+include/htslib/kseq.h
+include/htslib/ksort.h
+include/htslib/kstring.h
+include/htslib/regidx.h
+include/htslib/sam.h
+include/htslib/synced_bcf_reader.h
+include/htslib/tbx.h
+include/htslib/thread_pool.h
+include/htslib/vcf.h
+include/htslib/vcf_sweep.h
+include/htslib/vcfutils.h
+lib/libhts.a
+lib/libhts.so
+lib/libhts.so.${PKGVERSION}
+lib/libhts.so.3
+lib/pkgconfig/htslib.pc
+man/man1/bgzip.1
+man/man1/htsfile.1
+man/man1/tabix.1
+man/man5/faidx.5
+man/man5/sam.5
+man/man5/vcf.5
+man/man7/htslib-s3-plugin.7
diff --git a/htslib/buildlink3.mk b/htslib/buildlink3.mk
new file mode 100644
index 0000000000..ac18811a1e
--- /dev/null
+++ b/htslib/buildlink3.mk
@@ -0,0 +1,14 @@
+# $NetBSD$
+
+BUILDLINK_TREE+=	htslib
+
+.if !defined(HTSLIB_BUILDLINK3_MK)
+HTSLIB_BUILDLINK3_MK:=
+
+BUILDLINK_API_DEPENDS.htslib+=	htslib>=1.8
+BUILDLINK_ABI_DEPENDS.htslib+=	htslib>=1.10.2
+BUILDLINK_PKGSRCDIR.htslib?=	../../wip/htslib
+
+.endif	# HTSLIB_BUILDLINK3_MK
+
+BUILDLINK_TREE+=	-htslib
diff --git a/htslib/distinfo b/htslib/distinfo
new file mode 100644
index 0000000000..723b6cbeb7
--- /dev/null
+++ b/htslib/distinfo
@@ -0,0 +1,9 @@
+$NetBSD$
+
+SHA1 (htslib-1.10.2.tar.gz) = 0ac4b86e49556d7dcaa89d4cce2661c9ca706631
+RMD160 (htslib-1.10.2.tar.gz) = 6d8b6a362297345420dc9acc544029276ce4b1b6
+SHA512 (htslib-1.10.2.tar.gz) = 7a91c15ca1de35653d068dc57ae511ad791ae0bd8504867d4e60c46e813e58b441409541197cde3b2a37840e60331336aebc627ecbf5c64fca1af63dd05f8f9e
+Size (htslib-1.10.2.tar.gz) = 1452177 bytes
+SHA1 (patch-Makefile) = e13333dd97ecd6c6753d14c1b738d6e5934a2911
+SHA1 (patch-cram_open__trace__file.c) = 49b47e13786317e652a8ec810cc91f10d21bb8ea
+SHA1 (patch-hfile__libcurl.c) = 2a143818f1099ef01c57a3c904060a76abb63f14
diff --git a/htslib/patches/patch-Makefile b/htslib/patches/patch-Makefile
new file mode 100644
index 0000000000..1d09336074
--- /dev/null
+++ b/htslib/patches/patch-Makefile
@@ -0,0 +1,76 @@
+$NetBSD$
+
+# Respect pkgsrc env
+
+--- Makefile.orig	2019-12-19 09:54:30.000000000 +0000
++++ Makefile
+@@ -22,44 +22,43 @@
+ # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ # DEALINGS IN THE SOFTWARE.
+ 
+-CC     = gcc
+-AR     = ar
+-RANLIB = ranlib
++CC     ?= gcc
++AR     ?= ar
++RANLIB ?= ranlib
+ 
+ # Default libraries to link if configure is not used
+ htslib_default_libs = -lz -lm -lbz2 -llzma -lcurl
+ 
+-CPPFLAGS =
++# 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  = -fvisibility=hidden
++LDFLAGS  ?= -fvisibility=hidden
+ LIBS     = $(htslib_default_libs)
+ 
+-prefix      = /usr/local
+-exec_prefix = $(prefix)
++PREFIX      ?= /usr/local
++exec_prefix = $(PREFIX)
+ bindir      = $(exec_prefix)/bin
+-includedir  = $(prefix)/include
++includedir  = $(PREFIX)/include
+ libdir      = $(exec_prefix)/lib
+ libexecdir  = $(exec_prefix)/libexec
+-datarootdir = $(prefix)/share
++datarootdir = $(PREFIX)/share
+ mandir      = $(datarootdir)/man
+ man1dir     = $(mandir)/man1
+ man5dir     = $(mandir)/man5
+ man7dir     = $(mandir)/man7
+ pkgconfigdir= $(libdir)/pkgconfig
+ 
+-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)
++MKDIR_P         = mkdir -p
++INSTALL_DATA    = ${BSD_INSTALL_DATA}
++INSTALL_DIR     = $(MKDIR_P)
++INSTALL_LIB     = ${BSD_INSTALL_LIB}
++INSTALL_MAN     = ${BSD_INSTALL_MAN}
++INSTALL_PROGRAM = ${BSD_INSTALL_PROGRAM}
+ 
+ # Set by config.mk if plugins are enabled
+ plugindir =
+@@ -98,7 +97,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
+ 
+ HTSPREFIX =
+ include htslib_vars.mk
diff --git a/htslib/patches/patch-cram_open__trace__file.c b/htslib/patches/patch-cram_open__trace__file.c
new file mode 100644
index 0000000000..9e4a633a42
--- /dev/null
+++ b/htslib/patches/patch-cram_open__trace__file.c
@@ -0,0 +1,18 @@
+$NetBSD$
+
+# Enhance error message
+
+--- cram/open_trace_file.c.orig	2019-12-19 09:54:30.000000000 +0000
++++ cram/open_trace_file.c
+@@ -204,8 +204,9 @@ mFILE *find_file_url(const char *file, c
+             goto fail;
+         }
+     }
+-    if (hclose(hf) < 0 || len < 0) {
+-        hts_log_warning("Failed to read reference \"%s\": %s", path, strerror(errno));
++    int close_status = hclose(hf);
++    if (close_status < 0 || len < 0) {
++        hts_log_warning("Failed to read reference \"%s\": %s  close_status = %d len = %ld", path, strerror(errno));
+         goto fail;
+     }
+ 
diff --git a/htslib/patches/patch-hfile__libcurl.c b/htslib/patches/patch-hfile__libcurl.c
new file mode 100644
index 0000000000..cc6298c065
--- /dev/null
+++ b/htslib/patches/patch-hfile__libcurl.c
@@ -0,0 +1,78 @@
+$NetBSD$
+
+# recent libcurl compatibility
+
+--- hfile_libcurl.c.orig	2019-12-19 09:54:30.000000000 +0000
++++ hfile_libcurl.c
+@@ -74,6 +74,10 @@ typedef struct {
+     unsigned int size;
+ } hdrlist;
+ 
++#ifndef ENOTRECOVERABLE
++#define ENOTRECOVERABLE EIO
++#endif
++
+ 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, CURLco
+         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, 
+         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_l
+     }
+     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;


Home | Main Index | Thread Index | Old Index