biology/sra-tools: Update to 3.1.1

Numerous fixes and enhancements since 3.0.6
Changes: https://github.com/ncbi/sra-tools/commits/master/

All previous patches upstreamed
Rewrote pkg-descr to be more introductory
This commit is contained in:
Jason W. Bacon 2024-11-17 17:41:17 -06:00
parent 4263e3aac0
commit 2c0b2c08a0
36 changed files with 70 additions and 760 deletions

View file

@ -1,6 +1,5 @@
PORTNAME= sra-tools
DISTVERSION= 3.0.6
PORTREVISION= 1
DISTVERSION= 3.1.1
CATEGORIES= biology java
MAINTAINER= jwb@FreeBSD.org
@ -12,15 +11,12 @@ LICENSE_COMB= multi
LICENSE_FILE_PD= ${WRKSRC}/LICENSE
LICENSE_DISTFILES_LGPL21+ =
# Untested on other platforms, aarch64 support was recently added upstream
ONLY_FOR_ARCHS= aarch64 amd64
ONLY_FOR_ARCHS_REASON= Upstream explicitly supports specific platforms
# hdf5 is dynamically loaded by some tools, but nothing links to it
BUILD_DEPENDS= bash:shells/bash
LIB_DEPENDS= libxml2.so:textproc/libxml2 \
libhdf5.so:science/hdf5 \
libepoll-shim.so:devel/libepoll-shim \
libzstd.so:archivers/zstd
RUN_DEPENDS= hdf5>0:science/hdf5
USES= bison cmake shebangfix
USE_GITHUB= yes
@ -34,32 +30,38 @@ OPTIONS_DEFINE= EXAMPLES
SHEBANG_GLOB= *.sh
GH_ACCOUNT= ncbi
# FIXME: At the time this was added, sra-tools build required access to the
# ncbi-vdb source tree. Use a separate dependent port if that is no
# longer the case. CMakeLists.txt still looks for ../ncbi-vdb in 3.1.1.
GH_TUPLE+= ncbi:ncbi-vdb:${DISTVERSION}:vdb/ncbi-vdb
CMAKE_ARGS+= -DVDB_LIBDIR:STRING=${WRKSRC}/ncbi-vdb/build/lib
post-extract:
@${MKDIR} ${WRKSRC}/ncbi-vdb/interfaces/os/bsd
@${CP} ${FILESDIR}/*.h ${WRKSRC}/ncbi-vdb/interfaces/os/bsd
# cd ${WRKDIR} && ${LN} -s ${WRKSRC}/ncbi-vdb .
pre-configure:
# This follows a static patch. Run "make clean patch" before
# updating the patch.
${REINPLACE_CMD} -e 's|/usr/local/etc/ncbi|${PREFIX}/etc/ncbi|g' \
# Reinplaces may follow static patches. Run "make clean patch"
# before updating those patches so reinplaces do not get added to them.
@${REINPLACE_CMD} -e 's|"/etc/ncbi"|"${PREFIX}/etc/ncbi"|g' \
${WRKSRC}/ncbi-vdb/libs/kfg/config.c
${REINPLACE_CMD} -e 's|/usr/local/bin|${PREFIX}/bin|g' \
@${REINPLACE_CMD} -e 's|/usr/local/bin|${PREFIX}/bin|g' \
${WRKSRC}/tools/external/driver-tool/file-path.posix.cpp
@${REINPLACE_CMD} -e 's|/../ncbi-vdb|/ncbi-vdb|g' \
${WRKSRC}/CMakeLists.txt
cd ${WRKSRC}/ncbi-vdb/build && cmake .. && make
# FIXME: Unsure where the jquery version comes from and it differs on
# amd64 (jquery-3.7.1.min.js) and aarch64 (jquery-3.6.1.min.js).
# Just hack the version out for now. Not sure we even need javadoc installed.
post-stage:
${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/*.${DISTVERSION}
${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib64/*.${DISTVERSION}
${MV} ${STAGEDIR}${PREFIX}/share/examples ${STAGEDIR}${PREFIX}/share/examples-sratools
${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
${MV} ${STAGEDIR}${PREFIX}/share/examples-sratools/* ${STAGEDIR}${EXAMPLESDIR}
${RMDIR} ${STAGEDIR}${PREFIX}/share/examples-sratools
${MV} ${STAGEDIR}${PREFIX}/share/examples-java ${STAGEDIR}${EXAMPLESDIR}/java
${MV} ${STAGEDIR}${PREFIX}/share/examples-python ${STAGEDIR}${EXAMPLESDIR}/python
${MV} ${STAGEDIR}${JAVASHAREDIR}doc/ngs-doc/script-dir/jquery-[0-9]*.min.js \
${STAGEDIR}${JAVASHAREDIR}doc/ngs-doc/script-dir/jquery.min.js
post-stage-EXAMPLES-off:
${RM} -r ${STAGEDIR}${EXAMPLESDIR}

View file

@ -1,5 +1,5 @@
TIMESTAMP = 1691599515
SHA256 (ncbi-sra-tools-3.0.6_GH0.tar.gz) = 9fecfd819ee9beaf8a1d3e4b76a5d49e747bc064525b40416e0730a168986348
SIZE (ncbi-sra-tools-3.0.6_GH0.tar.gz) = 44957431
SHA256 (ncbi-ncbi-vdb-3.0.6_GH0.tar.gz) = 4b6f93336bf8664fdcc151d41ea0793f0b0f88cfcb7c2aa049f162a72f905223
SIZE (ncbi-ncbi-vdb-3.0.6_GH0.tar.gz) = 18972238
TIMESTAMP = 1731806177
SHA256 (ncbi-sra-tools-3.1.1_GH0.tar.gz) = 96b110bd5a30ad312e2f02552062b48a77d40c763e6aba5bb84e83662a505cf1
SIZE (ncbi-sra-tools-3.1.1_GH0.tar.gz) = 45754110
SHA256 (ncbi-ncbi-vdb-3.1.1_GH0.tar.gz) = e9766f259853c696be48e289b08cb5ae6e198d82d7ffee79f09ce7f720487991
SIZE (ncbi-ncbi-vdb-3.1.1_GH0.tar.gz) = 19055901

View file

@ -1,15 +0,0 @@
#ifndef _freebsd_byteswap_h_
#define _freebsd_byteswap_h_
#include <sys/endian.h>
#define __BYTE_ORDER _BYTE_ORDER
#define __BIG_ENDIAN _BIG_ENDIAN
#define __LITTLE_ENDIAN _LITTLE_ENDIAN
#define bswap_16(x) bswap16 (x)
#define bswap_32(x) bswap32 (x)
#define bswap_64(x) bswap64 (x)
#endif

View file

@ -1,2 +0,0 @@
#include <sys/endian.h>

View file

@ -1,43 +0,0 @@
/*===========================================================================
*
* PUBLIC DOMAIN NOTICE
* National Center for Biotechnology Information
*
* This software/database is a "United States Government Work" under the
* terms of the United States Copyright Act. It was written as part of
* the author's official duties as a United States Government employee and
* thus cannot be copyrighted. This software/database is freely available
* to the public for use. The National Library of Medicine and the U.S.
* Government have not placed any restriction on its use or reproduction.
*
* Although all reasonable efforts have been taken to ensure the accuracy
* and reliability of the software and data, the NLM and the U.S.
* Government do not and cannot warrant the performance or results that
* may be obtained by using this software or data. The NLM and the U.S.
* Government disclaim all warranties, express or implied, including
* warranties of performance, merchantability or fitness for any particular
* purpose.
*
* Please cite the author in any work or product based on this material.
*
* ===========================================================================
*
*/
#ifndef _h_os_native_
#define _h_os_native_
#ifndef _h_unix_native_
#include "../unix/unix-native.h"
#endif
#ifdef __cplusplus
extern "C" {
#endif
#ifdef __cplusplus
}
#endif
#endif /* _h_os_native_ */

View file

@ -1,13 +0,0 @@
--- CMakeLists.txt.orig 2023-02-01 20:26:19 UTC
+++ CMakeLists.txt
@@ -54,8 +54,8 @@ set(CMAKE_MODULE_PATH
"${CMAKE_CURRENT_SOURCE_DIR}/build"
)
-set( VDB_BINDIR "${CMAKE_BINARY_DIR}/../ncbi-vdb" CACHE PATH "Location of NCBI VDB build directory" )
-set( VDB_INCDIR "${CMAKE_SOURCE_DIR}/../ncbi-vdb/interfaces" CACHE PATH "Location of NCBI VDB include directory" )
+set( VDB_BINDIR "${CMAKE_BINARY_DIR}/ncbi-vdb" CACHE PATH "Location of NCBI VDB build directory" )
+set( VDB_INCDIR "${CMAKE_SOURCE_DIR}/ncbi-vdb/interfaces" CACHE PATH "Location of NCBI VDB include directory" )
include(CTest)
enable_testing()

View file

@ -1,56 +0,0 @@
--- build/env.cmake.orig 2023-07-10 16:23:35 UTC
+++ build/env.cmake
@@ -69,11 +69,21 @@ if ( ${CMAKE_HOST_SYSTEM_NAME} STREQUAL "Darwin" )
set(LIBPFX "lib")
set(SHLX "dylib")
set(STLX "a")
+elseif ( ${CMAKE_HOST_SYSTEM_NAME} STREQUAL "FreeBSD" )
+ set(OS "bsd")
+ set(LIBPFX "lib")
+ set(SHLX "so")
+ set(STLX "a")
elseif ( ${CMAKE_HOST_SYSTEM_NAME} STREQUAL "Linux" )
set(OS "linux")
set(LIBPFX "lib")
set(SHLX "so")
set(STLX "a")
+elseif ( ${CMAKE_HOST_SYSTEM_NAME} STREQUAL "NetBSD" )
+ set(OS "bsd")
+ set(LIBPFX "lib")
+ set(SHLX "so")
+ set(STLX "a")
elseif ( ${CMAKE_HOST_SYSTEM_NAME} STREQUAL "Windows" )
set(OS "windows")
set(LIBPFX "")
@@ -91,6 +101,8 @@ elseif ( ${CMAKE_HOST_SYSTEM_PROCESSOR} STREQUAL "aarc
set(ARCH "arm64")
elseif ( ${CMAKE_HOST_SYSTEM_PROCESSOR} STREQUAL "x86_64")
set(ARCH "x86_64")
+elseif ( ${CMAKE_HOST_SYSTEM_PROCESSOR} STREQUAL "amd64")
+ set(ARCH "x86_64")
elseif ( ${CMAKE_HOST_SYSTEM_PROCESSOR} STREQUAL "AMD64")
set(ARCH "x86_64")
else()
@@ -98,7 +110,11 @@ else()
endif ()
# create variables based entirely upon OS
-if ( "mac" STREQUAL ${OS} )
+if ( "bsd" STREQUAL ${OS} )
+ add_compile_definitions( BSD UNIX )
+ set( LMCHECK "" )
+ set( EXE "" )
+elseif ( "mac" STREQUAL ${OS} )
add_compile_definitions( MAC BSD UNIX )
set( LMCHECK "" )
set( EXE "" )
@@ -380,6 +396,9 @@ endif()
if ( "mac" STREQUAL ${OS} )
include_directories(${VDB_INTERFACES_DIR}/os/mac)
+ include_directories(${VDB_INTERFACES_DIR}/os/unix)
+elseif( "bsd" STREQUAL ${OS} )
+ include_directories(${VDB_INTERFACES_DIR}/os/bsd)
include_directories(${VDB_INTERFACES_DIR}/os/unix)
elseif( "linux" STREQUAL ${OS} )
include_directories(${VDB_INTERFACES_DIR}/os/linux)

View file

@ -1,27 +0,0 @@
--- libs/ascp/CMakeLists.txt.orig 2023-07-10 16:23:35 UTC
+++ libs/ascp/CMakeLists.txt
@@ -23,12 +23,17 @@
# ===========================================================================
set ( UNIX_SRC unix/connect.c )
+# FIXME: Add BSD-specific ascp-path.c
+# Aspera can be installed and run with linux compat
+set ( BSD_SRC ${UNIX_SRC} linux/ascp-path.c )
set ( LINUX_SRC ${UNIX_SRC} linux/ascp-path.c )
set ( MAC_SRC ${UNIX_SRC} mac/ascp-path.c )
set ( WIN_SRC win/connect.c win/ascp-path.c )
if ( "windows" STREQUAL ${OS} )
set ( OS_SPECIFIC_SRC ${WIN_SRC} )
+elseif( "bsd" STREQUAL ${OS} )
+ set ( OS_SPECIFIC_SRC ${BSD_SRC} )
elseif( "linux" STREQUAL ${OS} )
set ( OS_SPECIFIC_SRC ${LINUX_SRC} )
elseif( "mac" STREQUAL ${OS} )
@@ -49,4 +54,4 @@ GenerateStaticLibs(ascp
)
add_compile_definitions( __mod__="libs/ascp" )
-include_directories( BEFORE ${CMAKE_CURRENT_SOURCE_DIR} )
\ No newline at end of file
+include_directories( BEFORE ${CMAKE_CURRENT_SOURCE_DIR} )

View file

@ -1,10 +0,0 @@
--- libs/general-writer/general-writer.cpp.orig 2023-05-11 11:57:33 UTC
+++ libs/general-writer/general-writer.cpp
@@ -39,6 +39,7 @@
#include <string.h>
#define PROGRESS_EVENT 0
+#define UNUSED(x) ((void)(x))
namespace ncbi
{

View file

@ -1,47 +0,0 @@
--- ncbi-vdb/build/env.cmake.orig 2023-07-10 16:13:36 UTC
+++ ncbi-vdb/build/env.cmake
@@ -75,9 +75,15 @@ set(CMAKE_CXX_EXTENSIONS OFF)
if ( ${CMAKE_SYSTEM_NAME} STREQUAL "Darwin" )
set(OS "mac")
set(SHLX "dylib")
+elseif ( ${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD" )
+ set(OS "bsd")
+ set(SHLX "so")
elseif ( ${CMAKE_SYSTEM_NAME} STREQUAL "Linux" )
set(OS "linux")
set(SHLX "so")
+elseif ( ${CMAKE_SYSTEM_NAME} STREQUAL "NetBSD" )
+ set(OS "bsd")
+ set(SHLX "so")
elseif ( ${CMAKE_SYSTEM_NAME} STREQUAL "Windows" )
set(OS "windows")
else()
@@ -99,6 +105,8 @@ elseif ( ${_system_processor} STREQUAL "x86_64")
set(ARCH "x86_64")
elseif ( ${_system_processor} STREQUAL "AMD64")
set(ARCH "x86_64")
+elseif ( ${_system_processor} STREQUAL "amd64")
+ set(ARCH "x86_64")
else ()
message ( FATAL_ERROR "unknown architecture " ${_system_processor})
endif ()
@@ -110,6 +118,9 @@ if ( "mac" STREQUAL ${OS} )
set(CMAKE_CXX_ARCHIVE_CREATE "<CMAKE_AR> Scr <TARGET> <LINK_FLAGS> <OBJECTS>")
set(CMAKE_C_ARCHIVE_FINISH "<CMAKE_RANLIB> -no_warning_for_no_symbols -c <TARGET>")
set(CMAKE_CXX_ARCHIVE_FINISH "<CMAKE_RANLIB> -no_warning_for_no_symbols -c <TARGET>")
+elseif( "bsd" STREQUAL ${OS} )
+ add_compile_definitions( BSD UNIX )
+ set( LMCHECK "" )
elseif( "linux" STREQUAL ${OS} )
add_compile_definitions( LINUX UNIX )
set( LMCHECK -lmcheck )
@@ -241,6 +252,9 @@ endif()
if ( "mac" STREQUAL ${OS} )
include_directories(interfaces/os/mac)
+ include_directories(interfaces/os/unix)
+elseif( "bsd" STREQUAL ${OS} )
+ include_directories(interfaces/os/bsd)
include_directories(interfaces/os/unix)
elseif( "linux" STREQUAL ${OS} )
include_directories(interfaces/os/linux)

View file

@ -1,11 +0,0 @@
--- ncbi-vdb/libs/align/samextract-lib.cpp.orig 2023-07-10 16:13:36 UTC
+++ ncbi-vdb/libs/align/samextract-lib.cpp
@@ -48,7 +48,7 @@
#include <stdlib.h>
#include <string.h>
-#if LINUX
+#if BSD || LINUX
#include <unistd.h>
#define DFL_THREAD_COUNT ((int)sysconf( _SC_NPROCESSORS_ONLN ) - 1)
#else

View file

@ -1,19 +0,0 @@
--- ncbi-vdb/libs/kapp/CMakeLists.txt.orig 2023-07-10 16:13:36 UTC
+++ ncbi-vdb/libs/kapp/CMakeLists.txt
@@ -23,12 +23,16 @@
# ===========================================================================
set ( UNIX_SRC unix/args-conv-os.c unix/sysmain.c )
+# Must patch hw.memsize -> hw.usermem
+set ( BSD_SRC ${UNIX_SRC} mac/ram.c )
set ( LINUX_SRC ${UNIX_SRC} linux/ram.c )
set ( MAC_SRC ${UNIX_SRC} mac/ram.c )
set ( WIN_SRC win/args-conv-os.c win/ram.c win/sysmain.c )
if ( "windows" STREQUAL ${OS} )
set ( OS_SPECIFIC_SRC ${WIN_SRC} )
+elseif( "bsd" STREQUAL ${OS} )
+ set ( OS_SPECIFIC_SRC ${BSD_SRC} )
elseif( "linux" STREQUAL ${OS} )
set ( OS_SPECIFIC_SRC ${LINUX_SRC} )
elseif( "mac" STREQUAL ${OS} )

View file

@ -1,17 +0,0 @@
--- ncbi-vdb/libs/kapp/mac/ram.c.orig 2023-07-10 16:13:36 UTC
+++ ncbi-vdb/libs/kapp/mac/ram.c
@@ -46,7 +46,14 @@ rc_t KAppGetTotalRam ( uint64_t * totalRam )
assert ( totalRam != 0 );
+// FIXME: This file should probably be moved to bsd/ram.c
+#if defined(__APPLE__)
ret = sysctlbyname("hw.memsize", totalRam, &len, NULL, 0 );
+#elif defined(__FreeBSD__) || defined(__NetBSD__)
+ ret = sysctlbyname("hw.usermem", totalRam, &len, NULL, 0 );
+#else
+ #error "You need to add a sysctl for this platform."
+#endif
if ( ret < 0 )
{
int status = errno;

View file

@ -1,25 +0,0 @@
--- ncbi-vdb/libs/kfc/CMakeLists.txt.orig 2023-07-10 16:13:36 UTC
+++ ncbi-vdb/libs/kfc/CMakeLists.txt
@@ -23,12 +23,15 @@
# ===========================================================================
set ( UNIX_SRC unix/sysctx.c unix/sysrsrc.c )
+set ( BSD_SRC ${UNIX_SRC} )
set ( LINUX_SRC ${UNIX_SRC} )
set ( MAC_SRC ${UNIX_SRC} )
set ( WIN_SRC win/sysctx.c win/sysrsrc.c )
if ( "windows" STREQUAL ${OS} )
set ( OS_SPECIFIC_SRC ${WIN_SRC} )
+elseif( "bsd" STREQUAL ${OS} )
+ set ( OS_SPECIFIC_SRC ${LINUX_SRC} )
elseif( "linux" STREQUAL ${OS} )
set ( OS_SPECIFIC_SRC ${LINUX_SRC} )
elseif( "mac" STREQUAL ${OS} )
@@ -48,4 +51,4 @@ set( SRC
GenerateStaticLibs( kfc "${SRC}" )
add_compile_definitions (__mod__="libs/kfc")
-include_directories( BEFORE ${CMAKE_CURRENT_SOURCE_DIR} )
\ No newline at end of file
+include_directories( BEFORE ${CMAKE_CURRENT_SOURCE_DIR} )

View file

@ -1,31 +0,0 @@
--- ncbi-vdb/libs/kfg/config.c.orig 2023-07-10 16:13:36 UTC
+++ ncbi-vdb/libs/kfg/config.c
@@ -2574,7 +2574,7 @@ bool load_from_std_location ( KConfig *self, const KDi
const char * std_locs [] =
{
#if ! WINDOWS
- "/etc/ncbi",
+ "/usr/local/etc/ncbi",
#else
"/c/ncbi",
#endif
@@ -2588,7 +2588,7 @@ bool load_from_std_location ( KConfig *self, const KDi
NCBI_VDB_NO_ETC_NCBI_KFG[0] != '\0')
{
DBGMSG(DBG_KFG, DBG_FLAG(DBG_KFG),
- ("KFG: load from std. location /etc/ncbi is disabled. "
+ ("KFG: load from std. location /usr/local/etc/ncbi is disabled. "
"NCBI_VDB_NO_ETC_NCBI_KFG='%s'\n", NCBI_VDB_NO_ETC_NCBI_KFG));
return loaded;
}
@@ -2839,7 +2839,9 @@ void add_predefined_nodes ( KConfig * self, const char
update_node ( self, "kfg/arch/bits", buf, true );
/* *OS */
-#if LINUX
+#if BSD
+ #define OS "bsd"
+#elif LINUX
#define OS "linux"
#elif MAC
#define OS "mac"

View file

@ -1,35 +0,0 @@
--- ncbi-vdb/libs/kfs/CMakeLists.txt.orig 2023-07-10 16:13:36 UTC
+++ ncbi-vdb/libs/kfs/CMakeLists.txt
@@ -23,6 +23,7 @@
# ===========================================================================
set ( UNIX_SRC unix/sysdir.c unix/sysdll.c unix/sysfile.c unix/syslockfile.c unix/sysmmap.c )
+set ( BSD_SRC ${UNIX_SRC} )
set ( LINUX_SRC ${UNIX_SRC} )
set ( MAC_SRC ${UNIX_SRC} )
set ( WIN_SRC win/directory-path.c win/sysdir.c win/sysdll.c win/sysfile.c win/syslockfile.c win/sysmmap.c
@@ -30,6 +31,7 @@ set ( WIN_SRC win/directory-path.c win/sysdir.c win/sy
)
set ( UNIX_SRC_V2 unix/sysfile-v2.c )
+set ( BSD_SRC_V2 ${UNIX_SRC_V2} )
set ( LINUX_SRC_V2 ${UNIX_SRC_V2} )
set ( MAC_SRC_V2 ${UNIX_SRC_V2} )
set ( WIN_SRC_V2 win/sysfile-v2.c )
@@ -37,6 +39,9 @@ set ( WIN_SRC_V2 win/sysfile-v2.c )
if ( "windows" STREQUAL ${OS} )
set ( OS_SPECIFIC_SRC ${WIN_SRC} )
include_directories( win )
+elseif( "bsd" STREQUAL ${OS} )
+ set ( OS_SPECIFIC_SRC ${BSD_SRC} )
+ include_directories( unix )
elseif( "linux" STREQUAL ${OS} )
set ( OS_SPECIFIC_SRC ${LINUX_SRC} )
include_directories( unix )
@@ -106,4 +111,4 @@ GenerateStaticLibsWithDefs( kfs-nommap ${KFS_NOMMAP_SR
GenerateStaticLibs( kfs "${KFS_SRC}" )
add_compile_definitions (__mod__="libs/kfs")
-include_directories( BEFORE ${CMAKE_CURRENT_SOURCE_DIR} )
\ No newline at end of file
+include_directories( BEFORE ${CMAKE_CURRENT_SOURCE_DIR} )

View file

@ -1,11 +0,0 @@
--- ncbi-vdb/libs/kfs/unix/sysdir.c.orig 2023-07-10 16:13:36 UTC
+++ ncbi-vdb/libs/kfs/unix/sysdir.c
@@ -2291,6 +2291,8 @@ rc_t KSysDirOpenDirRead_v1 ( const KSysDir_v1 * self,
rc_t rc;
rc = KSysDirMakePath_v1 ( self, rcOpening, true, full, sizeof full, path, args );
+ // FIXME: Remove this debug statement
+ // fprintf(stderr, "path = %s full = %s\n", path, full);
if ( rc == 0 )
{
int t;

View file

@ -1,18 +0,0 @@
--- ncbi-vdb/libs/klib/CMakeLists.txt.orig 2023-07-10 16:13:36 UTC
+++ ncbi-vdb/libs/klib/CMakeLists.txt
@@ -24,12 +24,15 @@
set ( UNIX_BASE_SRC unix/misc.c unix/syslog.c unix/systime.c unix/syswriter.c )
set ( UNIX_SRC ${UNIX_BASE_SRC} unix/syserrcode.c )
+set ( BSD_SRC ${UNIX_SRC} )
set ( LINUX_SRC ${UNIX_BASE_SRC} linux/syserrcode.c )
set ( MAC_SRC ${UNIX_SRC} )
set ( WIN_SRC win/misc.c win/sysalloc.c win/syserrcode.c win/syslog.c win/systime.c win/syswriter.c )
if ( "windows" STREQUAL ${OS} )
set ( OS_SPECIFIC_SRC ${WIN_SRC} )
+elseif( "bsd" STREQUAL ${OS} )
+ set ( OS_SPECIFIC_SRC ${BSD_SRC} )
elseif( "linux" STREQUAL ${OS} )
set ( OS_SPECIFIC_SRC ${LINUX_SRC} )
elseif( "mac" STREQUAL ${OS} )

View file

@ -1,20 +0,0 @@
--- ncbi-vdb/libs/klib/hashfile.c.orig 2023-07-10 16:13:36 UTC
+++ ncbi-vdb/libs/klib/hashfile.c
@@ -35,7 +35,7 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
-#if LINUX
+#if BSD || LINUX
#include <sys/mman.h>
#endif
@@ -346,7 +346,7 @@ static void * map_calloc( KHashFile * self, size_t siz
KLockUnlock( self->alloc_lock );
return NULL;
}
-#if LINUX
+#if BSD || LINUX
/* Not sure this helps */
madvise( (void *)self->alloc_base, req, MADV_RANDOM );
#endif

View file

@ -1,16 +0,0 @@
--- ncbi-vdb/libs/klib/unix/systime.c.orig 2023-07-10 16:13:36 UTC
+++ ncbi-vdb/libs/klib/unix/systime.c
@@ -142,7 +142,13 @@ LIB_EXPORT KTime_t CC KTimeMakeTime ( const KTime *sel
t . tm_isdst = self -> dst;
ts = mktime ( &t );
+#ifdef __FreeBSD__
+ // This might be portable to all platforms
+ ts += localtime(&ts)->tm_gmtoff;
+#else
+ // extern global in sys/time.h on Linux and some other platforms
ts -= timezone;
+#endif
}
return ts;

View file

@ -1,20 +0,0 @@
--- ncbi-vdb/libs/kns/CMakeLists.txt.orig 2023-07-10 16:13:36 UTC
+++ ncbi-vdb/libs/kns/CMakeLists.txt
@@ -23,6 +23,7 @@
# ===========================================================================
set ( UNIX_SRC unix/sysmgr.c unix/syssock.c unix/sysstream.c )
+set ( BSD_SRC ${UNIX_SRC} mac/sysendpoint.c mac/syspoll.c )
set ( LINUX_SRC ${UNIX_SRC} linux/sysendpoint.c linux/syspoll.c )
set ( MAC_SRC ${UNIX_SRC} mac/sysendpoint.c mac/syspoll.c )
set ( WIN_SRC win/sysendpoint.c win/sysmgr.c win/syssock.c win/sysstream.c )
@@ -30,6 +31,9 @@ set ( WIN_SRC win/sysendpoint.c win/sysmgr.c win/sysso
if ( "windows" STREQUAL ${OS} )
set ( OS_SPECIFIC_SRC ${WIN_SRC} )
include_directories( win )
+elseif( "bsd" STREQUAL ${OS} )
+ set ( OS_SPECIFIC_SRC ${BSD_SRC} )
+ include_directories( unix )
elseif( "linux" STREQUAL ${OS} )
set ( OS_SPECIFIC_SRC ${LINUX_SRC} )
include_directories( unix )

View file

@ -1,11 +0,0 @@
--- ncbi-vdb/libs/kns/manager.c.orig 2023-07-10 16:13:36 UTC
+++ ncbi-vdb/libs/kns/manager.c
@@ -58,7 +58,7 @@
#if HAVE_GNU_LIBC_VERSION_H
#include <gnu/libc-version.h>
#endif
-#if LINUX
+#if BSD || LINUX
#include <arpa/inet.h>
#include <netinet/in.h>
#endif

View file

@ -1,10 +0,0 @@
--- ncbi-vdb/libs/kns/unix/syssock.c.orig 2023-08-07 20:34:54 UTC
+++ ncbi-vdb/libs/kns/unix/syssock.c
@@ -66,6 +66,7 @@
#include <sys/types.h>
#include <sys/socket.h>
#include <sys/un.h>
+#include <netinet/in.h>
#include <netinet/tcp.h>
#include <poll.h>
#include <unistd.h>

View file

@ -1,21 +0,0 @@
--- ncbi-vdb/libs/kproc/CMakeLists.txt.orig 2023-07-10 16:13:36 UTC
+++ ncbi-vdb/libs/kproc/CMakeLists.txt
@@ -23,6 +23,7 @@
# ===========================================================================
set ( UNIX_SRC unix/syscond.c unix/systhread.c unix/systimeout.c )
+set ( BSD_SRC ${UNIX_SRC} bsd/syslock.c bsd/sysmgr.c)
set ( LINUX_SRC ${UNIX_SRC} linux/sysbarrier.c linux/syslock.c linux/sysmgr.c )
set ( MAC_SRC ${UNIX_SRC} bsd/syslock.c bsd/sysmgr.c)
set ( WIN_SRC win/syscond.c win/syslock.c win/sysmgr.c win/systhread.c win/systimeout.c )
@@ -30,6 +31,10 @@ set ( WIN_SRC win/syscond.c win/syslock.c win/sysmgr.c
if ( "windows" STREQUAL ${OS} )
set ( OS_SPECIFIC_SRC ${WIN_SRC} )
include_directories( win )
+elseif( "bsd" STREQUAL ${OS} )
+ set ( OS_SPECIFIC_SRC ${BSD_SRC} )
+ include_directories( bsd )
+ include_directories( unix )
elseif( "linux" STREQUAL ${OS} )
set ( OS_SPECIFIC_SRC ${LINUX_SRC} )
include_directories( linux )

View file

@ -1,18 +0,0 @@
--- ncbi-vdb/libs/ktst/CMakeLists.txt.orig 2023-07-10 16:13:36 UTC
+++ ncbi-vdb/libs/ktst/CMakeLists.txt
@@ -23,12 +23,15 @@
# ===========================================================================
set ( UNIX_SRC unix/systestenv )
+set ( BSD_SRC ${UNIX_SRC} )
set ( LINUX_SRC ${UNIX_SRC} )
set ( MAC_SRC ${UNIX_SRC} )
set ( WIN_SRC win/systestenv )
if ( "windows" STREQUAL ${OS} )
set ( OS_SPECIFIC_SRC ${WIN_SRC} )
+elseif( "bsd" STREQUAL ${OS} )
+ set ( OS_SPECIFIC_SRC ${BSD_SRC} )
elseif( "linux" STREQUAL ${OS} )
set ( OS_SPECIFIC_SRC ${LINUX_SRC} )
elseif( "mac" STREQUAL ${OS} )

View file

@ -1,25 +0,0 @@
--- ncbi-vdb/libs/vfs/CMakeLists.txt.orig 2023-07-10 16:13:36 UTC
+++ ncbi-vdb/libs/vfs/CMakeLists.txt
@@ -23,12 +23,15 @@
# ===========================================================================
set ( UNIX_SRC unix/syskeyring.c unix/syspath.c )
+set ( BSD_SRC ${UNIX_SRC} )
set ( LINUX_SRC ${UNIX_SRC} )
set ( MAC_SRC ${UNIX_SRC} )
set ( WIN_SRC win/syskeyring.c win/syspath.c )
if ( "windows" STREQUAL ${OS} )
set ( OS_SPECIFIC_SRC ${WIN_SRC} )
+elseif( "bsd" STREQUAL ${OS} )
+ set ( OS_SPECIFIC_SRC ${BSD_SRC} )
elseif( "linux" STREQUAL ${OS} )
set ( OS_SPECIFIC_SRC ${LINUX_SRC} )
elseif( "mac" STREQUAL ${OS} )
@@ -54,4 +57,4 @@ set( SRC
GenerateStaticLibs( vfs "${SRC}" )
add_compile_definitions (__mod__="libs/vfs")
-include_directories(${CMAKE_CURRENT_SOURCE_DIR})
\ No newline at end of file
+include_directories(${CMAKE_CURRENT_SOURCE_DIR})

View file

@ -1,49 +0,0 @@
--- ncbi-vdb/test/kapp/run-sig-core.sh.orig 2017-10-27 07:23:08 UTC
+++ ncbi-vdb/test/kapp/run-sig-core.sh
@@ -29,12 +29,12 @@ BUILD_TYPE="$3"
SIGQUIT=3
-function killFromBackground ()
+killFromBackground ()
{
PARENT_PID=$1
for I in 1 2 3 4 5
do
- COMMAND="ps -ef|awk '\$3==${PARENT_PID} && \$8==\"${BINARY_PATH}\" {print \$2}'"
+ COMMAND="ps awwo pid,ppid,command|awk '\$2==${PARENT_PID} && \$3==\"${BINARY_PATH}\" {print \$1}'"
eval PID=\`${COMMAND}\`
if [ "$PID" = "" ]; then
sleep 1
@@ -44,7 +44,7 @@ function killFromBackground ()
done
if [ "$PID" != "" ]; then
- kill -s $SIGQUIT $PID
+ kill -s QUIT $PID
fi
echo $PID > killed.pid
@@ -63,6 +63,13 @@ if [ "$HOST_OS" = "mac" ]; then
fi
CORE_FOLDER="/core/"
+elif [ "$HOST_OS" = "bsd" ]; then
+ if [ "`ulimit -c`" = "0" ] || [ "`/sbin/sysctl -n kern.coredump`" != "1" ]; then
+ echo "Core files are disabled. Skipping core file tests"
+ exit 0
+ fi
+
+ CORE_FOLDER="./"
elif [ "$HOST_OS" = "linux" ]; then
if [ "`ulimit -c`" = "0" ]; then
echo "Core files are disabled. Skipping core file tests"
@@ -92,7 +99,7 @@ wait
BINARY_PID=`cat killed.pid`
rm killed.pid
-CORE_FILE="${CORE_FOLDER}core.${BINARY_PID}"
+CORE_FILE="${CORE_FOLDER}${BINARY_PATH##*/}.core"
if [ "$BUILD_TYPE" = "dbg" ]; then
if [ -f $CORE_FILE ]; then

View file

@ -1,11 +0,0 @@
--- ncbi-vdb/test/kfg/kfgtest.cpp.orig 2023-07-10 16:13:36 UTC
+++ ncbi-vdb/test/kfg/kfgtest.cpp
@@ -282,6 +282,8 @@ FIXTURE_TEST_CASE(predef_ARCHBITS, KfgFixture)
FIXTURE_TEST_CASE(predef_OS, KfgFixture)
{
CreateAndLoad(GetName(), "var=$(OS)\n");
+ #if BSD
+ #define OS "bsd"
#if LINUX
#define OS "linux"
#elif SUN

View file

@ -1,11 +0,0 @@
--- ncbi-vdb/test/klib/printf-test.c.orig 2023-07-10 16:13:36 UTC
+++ ncbi-vdb/test/klib/printf-test.c
@@ -504,7 +504,7 @@ rc_t run ( const char *progname )
if ( rc == 0 )
{
rc = make_initial_test ( field_width, precision, " ", "s", "Kurt is having a fit" );
-#if !defined(__SunOS) && !defined(__sun__)
+#if !defined(__SunOS) && !defined(__sun__) && !defined(__FreeBSD__)
/* Solaris printf doesn't cope with NULLs */
#if 0
/* The standard says this result is undefined, we shouldn't test for it, it is not consistent */

View file

@ -1,12 +0,0 @@
--- ncbi-vdb/test/vdb/test-dependencies_dflt.cpp.orig 2023-07-10 16:13:36 UTC
+++ ncbi-vdb/test/vdb/test-dependencies_dflt.cpp
@@ -139,6 +139,9 @@ class EmptyFixture : public DepFixture { (public)
class RefseqFixture : public DepFixture {
+ #if BSD
+ // FIXME: Should there be a separate kfg/freebsd?
+ #define PATH "kfg/linux"
#if LINUX
#define PATH "kfg/linux"
#elif MAC

View file

@ -1,20 +0,0 @@
--- tools/external/driver-tool/file-path.posix.cpp.orig 2023-07-10 16:23:35 UTC
+++ tools/external/driver-tool/file-path.posix.cpp
@@ -193,7 +193,16 @@ static char const *find_executable_path(char const *co
FilePath FilePath::fullPathToExecutable(char const *const *const argv, char const *const *const envp, char const *const *const extra)
{
char const *path;
-#if LINUX
+// Assume sra-tools is installed by FreeBSD ports. FreeBSD users
+// don't often install software by other means. Default prefix
+// is /usr/local, but this can be overridden by the user building
+// the port. The port can replace /usr/local using sed if that's the
+// case.
+#if BSD
+ char full_path[PATH_MAX];
+ snprintf(full_path, PATH_MAX, "/usr/local/bin/%s", argv[0]);
+ path = full_path;
+#elif LINUX
path = "/proc/self/exe";
#elif MAC
path = find_executable_path(extra, argv[0]);

View file

@ -1,25 +0,0 @@
--- tools/external/driver-tool/sratools.cpp.orig 2023-07-10 16:23:35 UTC
+++ tools/external/driver-tool/sratools.cpp
@@ -420,6 +420,7 @@ static int main(CommandLine const &argv)
enableLogging(argv.toolName.c_str());
#endif
LOG(7) << "executable path: " << (std::string)argv.fullPathToExe << std::endl;
+ // std::cerr << "executable path: " << (std::string)argv.fullPathToExe << std::endl;
config = new Config();
struct Defer { ~Defer() { delete config; config = nullptr; } } freeConfig;
@@ -576,6 +577,14 @@ static int main(CommandLine const &argv)
}
} // namespace sratools
+
+#if BSD
+int main(int argc, char *argv[], char *envp[])
+{
+ auto const invocation = CommandLine(argc, argv, envp, nullptr);
+ return sratools::main(invocation);
+}
+#endif
#if MAC
int main(int argc, char *argv[], char *envp[], char *apple[])

View file

@ -1,20 +0,0 @@
--- tools/external/vdb-config/tui/CMakeLists.txt.orig 2023-07-10 16:23:35 UTC
+++ tools/external/vdb-config/tui/CMakeLists.txt
@@ -25,6 +25,7 @@
include_directories( ${CMAKE_CURRENT_SOURCE_DIR}/.. )
set ( UNIX_SRC unix/systui.c )
+set ( BSD_SRC bsd/systui.c )
set ( LINUX_SRC linux/systui.c )
set ( MAC_SRC bsd/systui.c )
set ( WIN_SRC win/systui.c )
@@ -32,6 +33,9 @@ set ( WIN_SRC win/systui.c )
if ( "windows" STREQUAL ${OS} )
set ( OS_SPECIFIC_SRC ${WIN_SRC} )
#include_directories( win )
+elseif( "bsd" STREQUAL ${OS} )
+ set ( OS_SPECIFIC_SRC ${BSD_SRC} )
+ #include_directories( unix )
elseif( "linux" STREQUAL ${OS} )
set ( OS_SPECIFIC_SRC ${LINUX_SRC} )
#include_directories( unix )

View file

@ -1,17 +0,0 @@
--- tools/loaders/fastq-loader/spot-assembler.c.orig 2023-08-08 12:26:35 UTC
+++ tools/loaders/fastq-loader/spot-assembler.c
@@ -1,3 +1,4 @@
+
/*===========================================================================
*
* PUBLIC DOMAIN NOTICE
@@ -25,6 +26,9 @@
*/
#include "spot-assembler.h"
+
+// FIXME: Unsure if this is still necessary
+#include <sys/stat.h>
#include <klib/status.h>
#include <klib/printf.h>

View file

@ -1,13 +1,7 @@
SRA tools is a toolkit for using data in the INSDC Sequence Read Archives.
SRAs operated by International Nucleotide Sequence Database Collaboration
houses sequence reads and alignments generated by "next-gen" sequencers.
SRA tools allows conversion of .sra files, which INSDC SRAs maintain,
from/to other formats that the 'next-gen' sequenecers generate including:
* csfasta/csqual (ABI SOLiD)
* fastq (and fasta for writing)
* hdf5 (PacBio, reading only)
* qseq (older Illumina)
* sam (writing only) / bam (reading only)
* sff
The toolkit uses NCBI-VDB back-end enabling seamless access to remote SRA data
and local SRA files.
The SRA Toolkit and SDK from NCBI is a collection of tools and
libraries for using data in the INSDC (International Nucleotide
Sequence Database Collaboration) SRA (Sequence Read Archives). The
SRA house sequence reads and alignments generated by DNA/RNA
sequencers. The SRA Toolkit facilitates downloading sequence data,
performing filtering and conversions on-the-fly, thus saving enormous
amounts of time, bandwidth, and storage.

View file

@ -1,91 +1,91 @@
bin/abi-dump
bin/abi-dump.3
bin/abi-dump.3.0.6
bin/abi-dump.3.1.1
bin/align-info
bin/align-info.3
bin/align-info.3.0.6
bin/align-info.3.1.1
bin/cache-mgr
bin/cache-mgr.3
bin/cache-mgr.3.0.6
bin/cache-mgr.3.1.1
bin/check-corrupt
bin/check-corrupt.3
bin/check-corrupt.3.0.6
bin/check-corrupt.3.1.1
bin/fasterq-dump
bin/fasterq-dump-orig.3.0.6
bin/fasterq-dump-orig.3.1.1
bin/fasterq-dump.3
bin/fasterq-dump.3.0.6
bin/fasterq-dump.3.1.1
bin/fastq-dump
bin/fastq-dump-orig.3.0.6
bin/fastq-dump-orig.3.1.1
bin/fastq-dump.3
bin/fastq-dump.3.0.6
bin/fastq-dump.3.1.1
bin/illumina-dump
bin/illumina-dump.3
bin/illumina-dump.3.0.6
bin/illumina-dump.3.1.1
bin/kdbmeta
bin/kdbmeta.3
bin/kdbmeta.3.0.6
bin/kdbmeta.3.1.1
bin/ngs-pileup
bin/ngs-pileup.3
bin/ngs-pileup.3.0.6
bin/ngs-pileup.3.1.1
bin/prefetch
bin/prefetch-orig.3.0.6
bin/prefetch-orig.3.1.1
bin/prefetch.3
bin/prefetch.3.0.6
bin/prefetch.3.1.1
bin/rcexplain
bin/rcexplain.3
bin/rcexplain.3.0.6
bin/rcexplain.3.1.1
bin/ref-variation
bin/ref-variation.3
bin/ref-variation.3.0.6
bin/ref-variation.3.1.1
bin/sam-dump
bin/sam-dump-orig.3.0.6
bin/sam-dump-orig.3.1.1
bin/sam-dump.3
bin/sam-dump.3.0.6
bin/sam-dump.3.1.1
bin/sff-dump
bin/sff-dump.3
bin/sff-dump.3.0.6
bin/sff-dump.3.1.1
bin/sra-info
bin/sra-info.3
bin/sra-info.3.0.6
bin/sra-info.3.1.1
bin/sra-pileup
bin/sra-pileup-orig.3.0.6
bin/sra-pileup-orig.3.1.1
bin/sra-pileup.3
bin/sra-pileup.3.0.6
bin/sra-pileup.3.1.1
bin/sra-search
bin/sra-search.3
bin/sra-search.3.0.6
bin/sra-search.3.1.1
bin/sra-stat
bin/sra-stat.3
bin/sra-stat.3.0.6
bin/sra-stat.3.1.1
bin/srapath
bin/srapath-orig.3.0.6
bin/srapath-orig.3.1.1
bin/srapath.3
bin/srapath.3.0.6
bin/srapath.3.1.1
bin/sratools
bin/sratools.3
bin/sratools.3.0.6
bin/sratools.3.1.1
bin/test-sra
bin/test-sra.3
bin/test-sra.3.0.6
bin/test-sra.3.1.1
bin/var-expand
bin/var-expand.3
bin/var-expand.3.0.6
bin/var-expand.3.1.1
bin/vdb-config
bin/vdb-config.3
bin/vdb-config.3.0.6
bin/vdb-config.3.1.1
bin/vdb-decrypt
bin/vdb-decrypt.3
bin/vdb-decrypt.3.0.6
bin/vdb-decrypt.3.1.1
bin/vdb-dump
bin/vdb-dump-orig.3.0.6
bin/vdb-dump-orig.3.1.1
bin/vdb-dump.3
bin/vdb-dump.3.0.6
bin/vdb-dump.3.1.1
bin/vdb-encrypt
bin/vdb-encrypt.3
bin/vdb-encrypt.3.0.6
bin/vdb-encrypt.3.1.1
bin/vdb-validate
bin/vdb-validate.3
bin/vdb-validate.3.0.6
bin/vdb-validate.3.1.1
include/ncbi-vdb/NGS.hpp
include/ngs/Alignment.hpp
include/ngs/AlignmentIterator.hpp
@ -184,21 +184,21 @@ jar/ngs-src.jar
lib64/libncbi-ngs-c++-static.a
lib64/libncbi-ngs-c++.a
lib64/libncbi-ngs-c++.a.3
lib64/libncbi-ngs-c++.a.3.0.6
lib64/libncbi-ngs-c++.a.3.1.1
lib64/libncbi-ngs-static.a
lib64/libncbi-ngs.a
lib64/libncbi-ngs.a.3
lib64/libncbi-ngs.a.3.0.6
lib64/libncbi-ngs.a.3.1.1
lib64/libncbi-ngs.so
lib64/libncbi-ngs.so.3
lib64/libncbi-ngs.so.3.0.6
lib64/libncbi-ngs.so.3.1.1
lib64/libngs-c++-static.a
lib64/libngs-c++.a
lib64/libngs-c++.a.3
lib64/libngs-c++.a.3.0.6
lib64/libngs-c++.a.3.1.1
lib64/libngs-c++.so
lib64/libngs-c++.so.3
lib64/libngs-c++.so.3.0.6
lib64/libngs-c++.so.3.1.1
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/AlignSliceTest.cpp
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/AlignTest.cpp
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/DumpReferenceFASTA.cpp
@ -271,7 +271,7 @@ lib64/libngs-c++.so.3.0.6
%%JAVASHAREDIR%%doc/ngs-doc/package-search-index.js
%%JAVASHAREDIR%%doc/ngs-doc/resources/glass.png
%%JAVASHAREDIR%%doc/ngs-doc/resources/x.png
%%JAVASHAREDIR%%doc/ngs-doc/script-dir/jquery-3.7.1.min.js
%%JAVASHAREDIR%%doc/ngs-doc/script-dir/jquery.min.js
%%JAVASHAREDIR%%doc/ngs-doc/script-dir/jquery-ui.min.css
%%JAVASHAREDIR%%doc/ngs-doc/script-dir/jquery-ui.min.js
%%JAVASHAREDIR%%doc/ngs-doc/script.js