Skip to content
Permalink
Browse files

py-pysam: Bump to 0.15.1

* Add python 3.7 support
  • Loading branch information
SoapZA authored and pmetzger committed Oct 1, 2018
1 parent 9e441dc commit daec7b0b7b35b83365aac7479c9e2e4878425d07
Showing with 228 additions and 5 deletions.
  1. +6 −5 python/py-pysam/Portfile
  2. +222 −0 python/py-pysam/files/patch-pysam-fix-missing-files.diff
@@ -5,8 +5,7 @@ PortGroup python 1.0

name py-pysam
set realname pysam
version 0.12.0.1
revision 1
version 0.15.1
categories-append science
platforms darwin
license MIT BSD
@@ -22,12 +21,14 @@ homepage https://pypi.python.org/pypi/${realname}
master_sites pypi:p/${realname}
distname ${realname}-${version}

checksums rmd160 315bdf74c211fad5372c1eb43751eff3609d3d27 \
sha256 04837bf0b1313e57d50076f228463262b9982c410b973eb184c033528f83d523
checksums rmd160 f44ed399f80325bb084d254a3d16d97c6bc25f0f \
sha256 658421124c2f3de1b7445e03ca8413df0077f67ea9980abdaab0d1b5f7a8936f \
size 3220356

python.versions 27 34 35 36
python.versions 27 36 37

patchfiles patch-pysam-remove-RPATH.diff
patchfiles patch-pysam-fix-missing-files.diff

if {${name} ne ${subport}} {
depends_build port:py${python.version}-setuptools \
@@ -0,0 +1,222 @@
--- /dev/null
+++ htslib/os/lzma_stub.h
@@ -0,0 +1,85 @@
+#ifndef LZMA_STUB_H
+#define LZMA_STUB_H
+
+/* Some platforms, notably macOS, ship a usable liblzma shared library but
+ do not ship any LZMA header files. The <lzma.h> and <lzma/{*}.h> header
+ files that come with the library contain the following statement:
+
+ *
+ * Author: Lasse Collin
+ *
+ * This file has been put into the public domain.
+ * You can do whatever you want with this file.
+ *
+
+ Accordingly the following declarations have been copied and distilled
+ from <lzma/base.h> and <lzma/container.h> (primarily) and are sufficient
+ to compile cram/cram_io.c in the absence of proper LZMA headers.
+
+ This file, lzma_stub.h, remains in the public domain. */
+
+#include <stdint.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef enum { LZMA_OK = 0, LZMA_STREAM_END = 1 } lzma_ret;
+typedef enum { LZMA_RUN = 0, LZMA_FINISH = 3 } lzma_action;
+typedef enum { LZMA_CHECK_CRC32 = 1 } lzma_check;
+typedef enum { LZMA_RESERVED_ENUM = 0 } lzma_reserved_enum;
+
+struct lzma_allocator;
+struct lzma_internal;
+
+typedef struct {
+ const uint8_t *next_in;
+ size_t avail_in;
+ uint64_t total_in;
+
+ uint8_t *next_out;
+ size_t avail_out;
+ uint64_t total_out;
+
+ const struct lzma_allocator *allocator;
+ struct lzma_internal *internal;
+
+ void *reserved_ptr1;
+ void *reserved_ptr2;
+ void *reserved_ptr3;
+ void *reserved_ptr4;
+ uint64_t reserved_int1;
+ uint64_t reserved_int2;
+ size_t reserved_int3;
+ size_t reserved_int4;
+ lzma_reserved_enum reserved_enum1;
+ lzma_reserved_enum reserved_enum2;
+} lzma_stream;
+
+#define LZMA_STREAM_INIT \
+ { NULL, 0, 0, NULL, 0, 0, NULL, NULL, \
+ NULL, NULL, NULL, NULL, 0, 0, 0, 0, \
+ LZMA_RESERVED_ENUM, LZMA_RESERVED_ENUM }
+
+extern size_t lzma_stream_buffer_bound(size_t uncompressed_size);
+
+extern lzma_ret lzma_easy_buffer_encode(
+ uint32_t preset, lzma_check check,
+ const struct lzma_allocator *allocator,
+ const uint8_t *in, size_t in_size,
+ uint8_t *out, size_t *out_pos, size_t out_size);
+
+extern lzma_ret lzma_stream_decoder(
+ lzma_stream *strm, uint64_t memlimit, uint32_t flags);
+
+extern uint64_t lzma_easy_decoder_memusage(uint32_t preset);
+
+extern lzma_ret lzma_code(lzma_stream *strm, lzma_action action);
+
+extern void lzma_end(lzma_stream *strm);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
--- /dev/null
+++ htslib/os/rand.c
@@ -0,0 +1,97 @@
+/* rand.c -- drand48 implementation from the FreeBSD source tree. */
+
+// This file is an amalgamation of the many small files in FreeBSD to do with
+// drand48 and friends implementations.
+// It comprises _rand48.c, rand48.h, srand48.c, drand48.c, erand48.c, lrand48.c
+
+/*
+ * Copyright (c) 1993 Martin Birgmeier
+ * All rights reserved.
+ *
+ * You may redistribute unmodified or modified versions of this source
+ * code provided that the above copyright notice and this and the
+ * following conditions are retained.
+ *
+ * This software is provided ``as is'', and comes with no warranties
+ * of any kind. I shall in no event be liable for anything that happens
+ * to anyone/anything when using this software.
+ */
+
+//#include <sys/cdefs.h>
+//__FBSDID("$FreeBSD: src/lib/libc/gen/_rand48.c,v 1.2 2002/03/22 21:52:05 obrien Exp $");
+
+#include <math.h>
+
+#define RAND48_SEED_0 (0x330e)
+#define RAND48_SEED_1 (0xabcd)
+#define RAND48_SEED_2 (0x1234)
+#define RAND48_MULT_0 (0xe66d)
+#define RAND48_MULT_1 (0xdeec)
+#define RAND48_MULT_2 (0x0005)
+#define RAND48_ADD (0x000b)
+
+static unsigned short _rand48_seed[3] = {
+ RAND48_SEED_0,
+ RAND48_SEED_1,
+ RAND48_SEED_2
+};
+static unsigned short _rand48_mult[3] = {
+ RAND48_MULT_0,
+ RAND48_MULT_1,
+ RAND48_MULT_2
+};
+static unsigned short _rand48_add = RAND48_ADD;
+
+static void
+_dorand48(unsigned short xseed[3])
+{
+ unsigned long accu;
+ unsigned short temp[2];
+
+ accu = (unsigned long) _rand48_mult[0] * (unsigned long) xseed[0] +
+ (unsigned long) _rand48_add;
+ temp[0] = (unsigned short) accu; /* lower 16 bits */
+ accu >>= sizeof(unsigned short) * 8;
+ accu += (unsigned long) _rand48_mult[0] * (unsigned long) xseed[1] +
+ (unsigned long) _rand48_mult[1] * (unsigned long) xseed[0];
+ temp[1] = (unsigned short) accu; /* middle 16 bits */
+ accu >>= sizeof(unsigned short) * 8;
+ accu += _rand48_mult[0] * xseed[2] + _rand48_mult[1] * xseed[1] + _rand48_mult[2] * xseed[0];
+ xseed[0] = temp[0];
+ xseed[1] = temp[1];
+ xseed[2] = (unsigned short) accu;
+}
+
+void
+hts_srand48(long seed)
+{
+ _rand48_seed[0] = RAND48_SEED_0;
+ _rand48_seed[1] = (unsigned short) seed;
+ _rand48_seed[2] = (unsigned short) (seed >> 16);
+ _rand48_mult[0] = RAND48_MULT_0;
+ _rand48_mult[1] = RAND48_MULT_1;
+ _rand48_mult[2] = RAND48_MULT_2;
+ _rand48_add = RAND48_ADD;
+}
+
+double
+hts_erand48(unsigned short xseed[3])
+{
+ _dorand48(xseed);
+ return ldexp((double) xseed[0], -48) +
+ ldexp((double) xseed[1], -32) +
+ ldexp((double) xseed[2], -16);
+}
+
+double
+hts_drand48(void)
+{
+ return hts_erand48(_rand48_seed);
+}
+
+long
+hts_lrand48(void)
+{
+ _dorand48(_rand48_seed);
+ return ((long) _rand48_seed[2] << 15) + ((long) _rand48_seed[1] >> 1);
+}
--- /dev/null
+++ htslib/version.sh
@@ -0,0 +1,31 @@
+#!/bin/sh
+
+# Master version, for use in tarballs or non-git source copies
+VERSION=1.9
+
+# If we have a git clone, then check against the current tag
+if [ -e .git ]
+then
+ # If we ever get to 10.x this will need to be more liberal
+ VERSION=`git describe --match '[0-9].[0-9]*' --dirty`
+fi
+
+# Numeric version is for use in .dylib or .so libraries
+#
+# Follows the same logic from the Makefile commit c2e93911
+# as non-numeric versions get bumped to patch level 255 to indicate
+# an unknown value.
+if [ "$1" = "numeric" ]
+then
+ v1=`expr "$VERSION" : '\([0-9]*\)'`
+ v2=`expr "$VERSION" : '[0-9]*.\([0-9]*\)'`
+ v3=`expr "$VERSION" : '[0-9]*.[0-9]*.\([0-9]*\)'`
+ if [ -z "`expr "$VERSION" : '^\([0-9.]*\)$'`" ]
+ then
+ VERSION="$v1.$v2.255"
+ else
+ VERSION="$v1.$v2${v3:+.}$v3"
+ fi
+fi
+
+echo $VERSION

0 comments on commit daec7b0

Please sign in to comment.
You can’t perform that action at this time.