Skip to content

updatehtslib against intel_mods #14

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 511 commits into
base: intel_mods
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
511 commits
Select commit Hold shift + click to select a range
b92aac5
Adjusted types sam.h to avoid compiler warnings
ubuntolog Feb 25, 2022
8caa1db
Add stricter format string checking to a gcc CI build
daviesrob Feb 23, 2022
328c3f5
Fix missing parameter in hts_log() calls
daviesrob Feb 22, 2022
a2db7ed
Improve coordinate parsing, particularly with tabix. (PR #1411)
jkbonfield Apr 1, 2022
a1cd8b8
Detect and fix invalid Type=Flag && Number!=0 header definitions.
pd3 Mar 29, 2022
9bcb2d2
Update to htscodecs v1.2.2
daviesrob Apr 1, 2022
edd3dab
Fix excessive memory used by multi-threaded SAM output on long reads.
jkbonfield Jan 24, 2022
f893208
Improve coordinate parsing, particularly with tabix. (PR #1411)
jkbonfield Apr 1, 2022
d66cb32
Detect and fix invalid Type=Flag && Number!=0 header definitions.
pd3 Mar 29, 2022
2e12175
Update to htscodecs v1.2.2
daviesrob Apr 1, 2022
e005af5
NEWS updates
daviesrob Mar 22, 2022
0785d85
Prevent `@p masks earlier declaration` warning [trivial]
jmarshall Apr 5, 2022
fb22684
Use constant srand() seed for repeatability
jmarshall Apr 5, 2022
6811ac5
Release 1.15.1
daviesrob Apr 7, 2022
52f10df
Merge version number bump and NEWS file from master
daviesrob Apr 7, 2022
2eddc21
Permit BAM headers between 2GB and 4GB in size once more.
jkbonfield Apr 8, 2022
e51f72f
Permit MM tags containing "." and "?" suffixes.
jkbonfield Apr 12, 2022
e6065cb
Improve error messages for CRAM reference mismatches.
jkbonfield Apr 27, 2022
d7cc10d
Make test-logging less pedantic.
jkbonfield Apr 27, 2022
e868dea
Improve support for MM .? modifiers.
jkbonfield Nov 3, 2021
3c44c0b
Switch cirrus ubuntu image to ubuntu:latest
daviesrob May 5, 2022
46c56fc
Fix buffer overrun in bam_plp_insertion_mod.
jkbonfield May 4, 2022
7e2df7e
Ensure str_class is set before using it in bcf_hdr_get_hrec
daviesrob May 19, 2022
5a302ff
Update htscodecs including associated Makefile changes
daviesrob Apr 25, 2022
b0cc5bd
Add configure changes to enable htscodecs SIMD code
daviesrob Apr 25, 2022
587b4d0
Make htscodecs SIMD code build without configure
daviesrob May 20, 2022
aada314
Disable unaligned access in htscodecs if it is in HTSlib
daviesrob May 20, 2022
958e6fa
Pull in extra htscodecs pointer aliasing fixes
daviesrob May 23, 2022
e16c422
Fix NEWS entry for function affected by realn_check_tag() fix
jmarshall May 23, 2022
008eabd
Fix clang builds under mingw.
jkbonfield May 13, 2022
88ccb03
Fix curl type warning on Windows with gcc 12.1
daviesrob May 30, 2022
7fef9d3
Add an "sclen" expression keyword.
jkbonfield May 27, 2022
33ff2bc
Add an embed_ref=2 mode which starts with ref=N and edits on the fly.
jkbonfield May 4, 2022
764edbd
Add a cF CRAM specific tag.
jkbonfield May 30, 2022
e978164
Remove unneeded abort check in cram encoding.
jkbonfield Jun 1, 2022
2978708
Remove limit on returned size from fai_retrieve()
daviesrob Jun 7, 2022
f46597e
Expose a bit more of the CRAM API.
jkbonfield Apr 29, 2022
fee3bbb
CVE-2020-36403 affected all older versions of HTSlib
jmarshall Jun 9, 2022
1109c8b
Cap hts_getline() return value at INT_MAX
jmarshall Jun 10, 2022
41f9aaa
Detect ARM Neon support and only build appropriate SIMD object files
jmarshall Jun 13, 2022
58d9f60
Add an ARM CI test
daviesrob Jun 13, 2022
226c1a8
Fix breakend detection and test bcf_set_variant_type (PR #1456)
mp15 Jun 21, 2022
dd5ee80
Don't use `register` in public header file
jmarshall Jul 1, 2022
ca34d9e
Set tab delimiter in manpage for tabix GFF3 sort (PR #1457)
cmdcolin Jul 4, 2022
185521a
Improve error message when failing to load an index.
jkbonfield Jul 6, 2022
b014804
Make hfile_s3 refresh AWS credentials on expiry
daviesrob Apr 12, 2022
506f479
Further improve MM tag consistency checking.
jkbonfield Jul 6, 2022
ff49203
Fix and_expr expression bug
daviesrob Jun 29, 2022
4f9a8ba
Add truth checks to test_expr, and test empty-but-true strings
daviesrob Jun 29, 2022
494eca8
Fix unary-not on null strings in expressions
daviesrob Jun 29, 2022
5e42682
Set hts_filter_t::is_true in mul_expr() and add_expr()
daviesrob Jun 29, 2022
6c73324
Ensure is_true is propagated for null-but-true in expressions
daviesrob Jun 29, 2022
1fba06c
Deprecate hts_filter_eval() in favour of hts_filter_eval2().
daviesrob Jun 29, 2022
19c7262
Switch to rockylinux:9
daviesrob Jul 18, 2022
9562aeb
Improve embed_ref=2 and auto-enable it when missing external refs (PR…
jkbonfield Jul 19, 2022
c72eee6
time_funcs include and dependency adjustments
daviesrob Jul 19, 2022
b7addd3
Support 0 coordinate in BCF
pd3 Jul 20, 2022
c5508d5
Minimal support for CRAM files with missing @RG headers.
jkbonfield Jul 21, 2022
542dfb8
Fix (un)locking bug introduced in commit 9562aeba
daviesrob Jul 27, 2022
72dfa6d
Fix leak of MD5 context when entering embed_ref=2 mode
daviesrob Jul 27, 2022
66a7fad
Add an embed_ref=2 auto-mode test
daviesrob Jul 27, 2022
e92076c
Report HTS_CFLAGS_AVX2 et al in `make print-config`
jmarshall Jul 29, 2022
1858eed
Summer 2022 copyright corrections.
whitwham Jul 27, 2022
3e28921
Add a mapping of Zlib to Libdeflate compression levels for BGZF.
jkbonfield Aug 1, 2022
ad80f8e
Catch arrays of BCF_BT_NULL in bcf_record_check()
daviesrob Jul 29, 2022
c270926
Sanitize the 3-state logic for hts_expr_t, plus added some functions.
jkbonfield Jul 14, 2022
d77192a
Update to htscodecs 1.3.0
daviesrob Aug 5, 2022
759f696
Recognise FASTA/Q even if the file has a very long header file
jmarshall Aug 10, 2022
a6ffbf5
Fix SEGV when handling errors from sam_read1_sam without headers
jkbonfield Aug 10, 2022
6a043b9
Extend VCF API to distinguish between INS and DEL variant types
pd3 Jul 5, 2022
552219e
Make values returned by bcf_get_variant_type[s] backward compatible
pd3 Jul 6, 2022
8d91938
Adjust new variant type interfaces
daviesrob Aug 2, 2022
2a646be
Add trivial le_to_u8() endianness routine
jmarshall Aug 12, 2022
8f140ee
NEWS additions for Summer 2022 Release. (PR #1465)
whitwham Aug 12, 2022
b5cc0b7
Fix clang builds on Windows/mingw.
jkbonfield Aug 15, 2022
ecc3d0f
Implement endianness conversion in bcf_format_gt()
jmarshall Aug 13, 2022
ce7e298
Make ksort.h use hts_defs.h instead of hts.h for HTSLIB_EXPORT
jkbonfield Aug 16, 2022
136e4a9
Fix "make check" on MinGW / MacOS. (PR #1496)
jkbonfield Aug 16, 2022
9fcd248
Improve SIMD detection
daviesrob Aug 16, 2022
356c4c4
Silence some overflow warnings on i686
daviesrob Aug 16, 2022
b47469a
Silence a gcc-10 format-truncation warning.
daviesrob Aug 16, 2022
a1013a6
Fix newer clang warning of unused variable.
jkbonfield Aug 16, 2022
fecbd67
Add some more NEWS updates.
daviesrob Aug 17, 2022
4e61c12
Release 1.16
daviesrob Aug 18, 2022
36312fb
Merge version number bump and NEWS file from master
daviesrob Aug 18, 2022
203f5bb
Update man SEE ALSO sections from .BR to .IR so the website uses URLs
jkbonfield Aug 19, 2022
5036186
Fix n-squared complexity in sample line with many adjacent tabs
daviesrob Aug 22, 2022
a92615b
Add bam_aux_first()/bam_aux_next() tagged aux field iterator API
jmarshall Nov 4, 2021
2ff03d3
Document that bam_aux_del()'s `s` parameter must be non-NULL (& refor…
jmarshall Aug 24, 2022
e495718
bgzip text compression mode
jkbonfield Jan 2, 2022
191ddc0
Make the bgzip -g option less opaque.
jkbonfield Aug 11, 2022
3a37408
Fix error code 0 returned by bcftools after error
janinl Sep 2, 2022
76d4618
Make bcftools return an error code != 0 after [E::bgzf_read_block] In…
janinl Sep 2, 2022
6366029
Make tabix support CSI indices with large positions.
jkbonfield Sep 9, 2022
a1dec95
Prevent crash when only FASTA entry has no sequence.
jkbonfield Sep 15, 2022
4604554
Use POSIX `grep`
SoapGentoo Sep 19, 2022
853b801
Switch to building libdeflate with cmake
daviesrob Oct 11, 2022
32de287
Fix a typo in sam.h documentation
kojix2 Oct 14, 2022
eab0ee1
Adds bcf_strerror method (PR #1510)
vasudeva8 Oct 18, 2022
3c6f83f
Add an fai_line_length function.
jkbonfield Oct 20, 2022
2ff4b13
Check for invalid BC tags in fastq output.
jkbonfield Oct 25, 2022
c91804c
Warn if ref file is given but it doesn't contain the refs we need.
jkbonfield Oct 20, 2022
d7f6579
Fix buffer read-overrun in bam_plp_insertion_mod.
jkbonfield Nov 3, 2022
3f67e7e
Fix ref fix from c91804c
jkbonfield Nov 3, 2022
7d0bf4d
Add faidx_seq_len64() and fai_adjust_region() interfaces
daviesrob Jun 8, 2022
8e43fb0
Rework / add new faidx tests
daviesrob Nov 2, 2022
58abf07
Fix build on ancient versions of gcc
daviesrob Nov 16, 2022
e88e343
Ensure strings in config_vars.h are escaped correctly
daviesrob Nov 23, 2022
59f727a
Make it easier to modify shared library permissions during install
jkbonfield Dec 5, 2022
a9421b7
Switch MacOS CI tests to an ARM-based image
daviesrob Dec 8, 2022
6ed4e1c
Remove variable redeclaration warnings from perl test script
pd3 Dec 7, 2022
c58203d
Make bcf_hdr_seqnames() work with gapped chromosome ids
pd3 Dec 8, 2022
4328912
Cut down the number of embed_ref=2 tests that get run
daviesrob Dec 14, 2022
3fd25cd
draft fix
bir3 Nov 23, 2022
dd63fb0
fix memory leak
bir3 Dec 10, 2022
d7737aa
exit early on error
bir3 Dec 14, 2022
f56be61
Make bcf_hdr_idinfo_exists() more robust
pd3 Jan 6, 2023
4ec92c1
Add CRAM SQ/M5 header checking when specifying a fasta file. (PR #1522)
jkbonfield Jan 13, 2023
fd90307
Cap bgzf_getline return value to INT_MAX
daviesrob Jan 4, 2023
2060c49
Make tbx_parse1 work for lines longer than 2Gbytes
daviesrob Jan 4, 2023
9b6f7e1
Use correct type for ret in vcf_write()
daviesrob Jan 4, 2023
46cfe85
Don't error when making an iterator on a tid not in the index
daviesrob Jan 6, 2023
53f9808
Happy New Year
daviesrob Jan 12, 2023
114f5eb
Speed up load_ref_portion.
jkbonfield Jan 17, 2023
826ceea
Expand CRAM API a bit to cope with new samtools cram_size command. (P…
jkbonfield Jan 20, 2023
a59bc52
Uodate copyright for winter release.
whitwham Jan 16, 2023
1a222ef
Merges neighbouring I and D ops into one op within pileup. (PR #1552)
jkbonfield Jan 24, 2023
818b449
Improve API docs for bgzf_mt
jkbonfield Jan 24, 2023
463830b
Catch errors from bgzf_getline() in hts_readlist, hts_readlines
daviesrob Jan 4, 2023
d40bcf9
FIx a bug in the codec learning algorithm for TOKA
jkbonfield Feb 3, 2023
3fe2a59
Remove a bottleneck in VCF header processing
pd3 Jan 13, 2023
19dc7e8
Fix a bug with multi-threading and embed_ref=2 on name sorted data
jkbonfield Jan 27, 2023
654364e
Use non-ref mode when all else fails for CRAM encoding
jkbonfield Jan 27, 2023
80558d9
Add some documentation on cram encoder code structure
jkbonfield Feb 3, 2023
c58ae63
Add symbol versioning to the ELF shared-object file
jmarshall Sep 17, 2022
fbcb161
Add configure (enable|disable)-versioned-symbols options and tests
daviesrob Feb 3, 2023
44814f4
Add Makefile rule to update the symbol version file
daviesrob Feb 1, 2023
f68c84f
Strip out symbol versions from shlib-exports-so.txt
daviesrob Feb 3, 2023
f2e845c
Fix Cram compression container substitution matrix generation.
jkbonfield Feb 10, 2023
d609508
Tweak the CRAM_SUBST_MATRIX table.
jkbonfield Feb 13, 2023
cb8f462
Update to htscodecs v1.4.0
daviesrob Feb 15, 2023
b898b8a
January 2023 NEWS update.
whitwham Jan 24, 2023
8737f5c
Keeping the NEWS file up-to-date.
whitwham Feb 6, 2023
f3960a5
More additions and improvements.
whitwham Feb 14, 2023
0144d51
Added htscodecs update to v1.4.0
whitwham Feb 16, 2023
6652c86
More space.
whitwham Feb 16, 2023
0d0eca1
Prevent spurious and random system errors from test_bgzf.c
jkbonfield Feb 17, 2023
0ad23b0
Minor NEWS adjustment and additonal item
daviesrob Feb 20, 2023
6143086
Release 1.17
daviesrob Feb 21, 2023
70df047
Merge version number bump and NEWS file from master
daviesrob Feb 21, 2023
c37268c
Switch to CURLINFO_CONTENT_LENGTH_DOWNLOAD_T for newer libcurl
daviesrob Feb 28, 2023
05ef3b7
Check if VCF POS column could be fully parsed
pd3 Mar 1, 2023
fda1e03
Fix cram_index_query_last function
jkbonfield Feb 28, 2023
f24ad2c
Avoid deeply nested containment list on old CRAM indices.
jkbonfield Mar 6, 2023
be6633a
Fix crypt4gh redirection
daviesrob Mar 1, 2023
dcd20d9
Permit fastq output to create empty FASTQ records for seq "*".
jkbonfield Mar 2, 2023
839a2e9
Fix a couple small VCF auto-indexing bugs.
jkbonfield Mar 7, 2023
19cd41c
Backport attractivechaos/klib#78 to htslib.
jkbonfield Mar 8, 2023
46bcc36
Slightly speed up various cram decoding functions (#1580)
jkbonfield Mar 15, 2023
c1634e7
Remove CRAM 3.1 warning.
jkbonfield Mar 15, 2023
ffd74ec
Remove use of sprintf() from HTSlib source
daviesrob Mar 29, 2023
7ed911e
Trivial fix to expr, removing "^".
jkbonfield Mar 30, 2023
26f4d44
Make SIMD tests work when building multiarch binaries
daviesrob Mar 15, 2023
3e0fd29
Make MacOS tests build a multiarch version of the library
daviesrob Mar 22, 2023
93434e0
Fix bug where bin number could overflow when looking for max_off
daviesrob Mar 20, 2023
a616e85
Add MZ:i tag as a check for base modification validity. (#1590)
jkbonfield Apr 6, 2023
dba4bdf
Make reg2bins faster on whole-chromosome queries
daviesrob Mar 28, 2023
07638e1
Make reg2intervals() faster on whole-chromosome queries
daviesrob Mar 28, 2023
ca51cc5
Fix typo in kh_int_hash_func2 macro.
jkbonfield Apr 6, 2023
fc2448c
Switched back to openssl for Alpine.
whitwham Apr 27, 2023
279cc9e
Mention in INSTALL that using plugins may need -rdynamic
jmarshall May 1, 2023
415d2ce
Fix example in docs for sam_hdr_add_line
kojix2 May 8, 2023
6125f1c
Rename aux tag MZ to MN.
jkbonfield May 2, 2023
f2d17a7
Protect against overly large containers.
jkbonfield May 3, 2023
f3ad960
Don't create overly large CRAM blocks.
jkbonfield May 3, 2023
c04f61e
Add a missing break statement in cram_codec_to_id. (#1614)
jkbonfield May 15, 2023
e13611a
Fix fd_seek on pipes on modern MinGW releases.
jkbonfield Apr 11, 2023
878cff4
Amalgamate multiple CIGAR ops into single entry. (#1607)
whitwham May 23, 2023
20072b3
Update to latest htscodecs
daviesrob May 26, 2023
334c76a
Don't set _POSIX_C_SOURCE for htscodecs tests
daviesrob May 26, 2023
abb4c73
Set _XOPEN_SOURCE in configure if it's not already set
jmarshall Apr 18, 2023
ccf7c99
Fix trailing space in config.h made by configure
daviesrob May 31, 2023
e8f773b
Ignore generated config_vars.h file in copyright check
daviesrob Jun 2, 2023
9936a58
Switch to `/usr/bin/env perl` for all perl scripts
daviesrob May 31, 2023
90af5ee
Stop the overwriting of the end value.
whitwham Jun 1, 2023
f613a93
Ensure NUL termination of Z/H data in sam_format_aux1; fix base mod s…
vasudeva8 Jun 9, 2023
5e0ccef
Changes to avoid segfault with uncompressed bam (PR #1632)
vasudeva8 Jun 9, 2023
7f69840
cram/cram_external.c: fix external htscodecs include
emollier Jun 11, 2023
79b3a42
htslib-s3-plugin.7: fix whatis entry
emollier Jun 11, 2023
c11aebe
Allow repeated calls of bcf_sr_set_regions (PR #1624)
pd3 Jun 21, 2023
7de2df2
Change bounds checking in probaln_glocal
jkbonfield May 4, 2023
b52f3fa
Adjust comments in probaln_glocal()
daviesrob Jun 13, 2023
c3a6fcd
Add support for non-standard chromosome names containing [:-] characters
pd3 Jun 5, 2023
3c36c9b
An attempt to parse malformatted region such as {1:1}-2 should fail
pd3 Jun 15, 2023
28a8082
Expand test-bcf-sr.c capabilities
daviesrob Jun 19, 2023
e86126b
Add synced reader region tests, and move no-index tests
daviesrob Jun 20, 2023
f4a3b99
Fix a containment bug in cram_index_last.
jkbonfield Jul 6, 2023
84bf64b
Migrate base modification code out of sam.c
jkbonfield Jun 28, 2023
60ea4e0
Correct base modification implicit / explicit status when mixed toget…
jkbonfield Jun 29, 2023
27e813c
Add a bam_mods_queryi interface.
jkbonfield Jun 29, 2023
fea4ef9
Add bam_parse_basemod2 API with additional flags argument.
jkbonfield Jun 28, 2023
a09710c
Add more internal sam_mods.c documentation
jkbonfield Jun 29, 2023
7822d8d
Update bam_next_basemod too to cope with HTS_MOD_REPORT_UNCHECKED.
jkbonfield Jun 30, 2023
6e3e8da
Fix possible double frees in bcf_hdr_add_hrec() error handling
daviesrob Jun 30, 2023
6ad0fff
Prevent dangling hrec pointer after bcf_hdr_add_hrec() failure
daviesrob Jul 6, 2023
10f1516
Remove items from hdict in bcf_hdr_remove()
daviesrob Jul 6, 2023
2e672f3
Fix decompress_peek_gz to cope with files starting on empty gzip blocks.
jkbonfield Jul 10, 2023
a809db7
Ensure number of modifications is always set in bam_parse_basemod2()
daviesrob Jul 13, 2023
5dc826f
Fix to 2e672f33 decompress_peek_gz change.
jkbonfield Jul 13, 2023
85d44d0
Ensure simple_test_driver.sh cleans up its temporary files
daviesrob Jul 14, 2023
64ae397
Ensure base mod test result is noticed by the Makefile
daviesrob Jul 14, 2023
b9e33b7
Improve test/test_mod.c
daviesrob Jul 14, 2023
2700758
Add missing Makefile dependencies [minor]
jmarshall Jul 19, 2023
6285a68
Make last_in a pointer to const [minor]
jmarshall Jul 19, 2023
8914125
Switch to htscodecs 1.5.1
daviesrob Jul 20, 2023
2051536
Add fai_thread_pool interface.
jkbonfield Jul 13, 2023
4dbb991
Summer 2023 copyright update.
whitwham Jul 20, 2023
d06b598
Demonstration of htslib/sam api usage.
vasudeva8 Mar 3, 2023
62909e2
NEWS updates for pending release
jkbonfield Jul 3, 2023
2425ce9
formatting update
vasudeva8 Mar 3, 2023
d8ca374
Release 1.18
daviesrob Jul 25, 2023
7f5136f
Merge version number bump and NEWS file from master
daviesrob Jul 25, 2023
aa570fb
Makes bam_parse_cigar able to modify existing BAM records rather than
jkbonfield Jul 17, 2023
f1b89df
Fix cut and paste errors in bam_aux2f documentation
jkbonfield Jul 17, 2023
5098983
Add "uncompressed" in hts_format_description() where appropriate
jmarshall Jul 21, 2023
7c1d3cc
The first stage of vcf_parse_format speed improvements.
jkbonfield Jul 4, 2023
2318975
Further VCF reading speeds optimisations.
jkbonfield Jul 4, 2023
ac70212
Revert most of the vcf_parse_info improvements.
jkbonfield Aug 9, 2023
6806b2d
Add an hclen SAM filter function.
jkbonfield Aug 9, 2023
d89f1fe
Speed up removal of lines in large headers.
whitwham May 30, 2023
9c7e845
Skip CRC checks when fuzzing
daviesrob Aug 11, 2023
a121c84
Prevent out-of-memory reports when fuzzing
daviesrob Aug 7, 2023
1abb46f
Add missing dependency on libhts.a for hts_open_fuzzer
daviesrob Aug 17, 2023
7e20d76
Apply the packed attribute to uint*_u types for Clang
MaskRay Aug 24, 2023
6ba09a2
initial commit, htslib genomicsdb pull
eneskuluk Aug 14, 2023
952ce61
rebase, merged with latest develop, includes speed ups
eneskuluk Aug 28, 2023
a9026fb
Add hclose()-doesn't-close-fd option and use it for hopen("-")
jmarshall Aug 17, 2023
2429986
Take advantage of shared hopen("-") in htsfile.c
jmarshall Aug 20, 2023
946f291
Explicitly fclose(stdout) in test/test_view.c too
jmarshall Aug 25, 2023
5acbc15
bgzf_useek fails when offset is above block limits
vasudeva8 Aug 25, 2023
12759e4
tests are passing with speed-up improvements, a few improvements are …
eneskuluk Sep 6, 2023
ce36a3d
fix comment
eneskuluk Sep 6, 2023
9913d37
add back the optimization
eneskuluk Sep 6, 2023
eb944b7
Merge branch 'develop' of https://github.com/samtools/htslib into ek_…
eneskuluk Sep 6, 2023
9683431
Fix a minor memory leak in malformed CRAM EXTERNAL blocks. (#1671)
jkbonfield Sep 13, 2023
1f0375c
Add support for multiple files to bgzip
vasudeva8 Aug 2, 2023
30211d8
Enable auto-vectorisation in CRAM 3.1 codecs.
jkbonfield Sep 6, 2023
46ba074
Merge branch 'masterpull' into ek_updatehtslib
eneskuluk Sep 18, 2023
ba14d0d
revert precision change and minor fix in faidx.c
eneskuluk Sep 22, 2023
5b60e74
address some of the comments
eneskuluk Sep 25, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 6 additions & 2 deletions .appveyor.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,19 +18,23 @@ skip_tags: true
# - docs/*
# - '**/*.html'

# Appveyor Windows images are based on Visual studio version
image: Visual Studio 2019

# We use Mingw/Msys, so use pacman for installs
install:
- set HOME=.
- set MSYSTEM=MINGW64
- set PATH=C:/msys64/usr/bin;C:/msys64/mingw64/bin;%PATH%
- set MINGWPREFIX=x86_64-w64-mingw32
- "sh -lc \"pacman -S --noconfirm --needed base-devel mingw-w64-x86_64-toolchain mingw-w64-x86_64-zlib mingw-w64-x86_64-bzip2 mingw-w64-x86_64-xz mingw-w64-x86_64-curl\""
- "sh -lc \"pacman -S --noconfirm --needed base-devel mingw-w64-x86_64-toolchain mingw-w64-x86_64-autotools mingw-w64-x86_64-zlib mingw-w64-x86_64-bzip2 mingw-w64-x86_64-xz mingw-w64-x86_64-curl mingw-w64-x86_64-tools-git\""

build_script:
- set HOME=.
- set MSYSTEM=MINGW64
- set PATH=C:/msys64/usr/bin;C:/msys64/mingw64/bin;%PATH%
- "sh -lc \"autoheader && autoconf && ./configure --enable-werror CFLAGS='-g -O3' && make -j2\""
- git submodule update --init --recursive
- "sh -lc \"autoreconf -i && ./configure --enable-werror CFLAGS='-g -O3' && make -j2\""

#build_script:
# - make
Expand Down
209 changes: 209 additions & 0 deletions .cirrus.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,209 @@
# Note we have a maximum of 16 CPUs available, so adjust our
# builds so we can start all concurrently without needing to schedule.

# Sadly though there is still a finite limit to macOS of one instance.
# Can we cull our Mac test to just one instance?

timeout_in: 20m

#--------------------------------------------------
# Template: build libdeflate dependency

libdeflate_template: &LIBDEFLATE
libdeflate_script: |
if test "x$USE_LIBDEFLATE" == "xyes"; then
pushd "$HOME"
git clone --depth 1 https://github.com/ebiggers/libdeflate.git
pushd libdeflate
cmake -B build -DLIBDEFLATE_BUILD_SHARED_LIB=OFF -DLIBDEFLATE_BUILD_GZIP=OFF -DCMAKE_C_FLAGS="-g -O3 -fPIC $LIBDEFLATE_CFLAGS"
cmake --build build --verbose
popd
popd
fi

#--------------------------------------------------
# Template: compile and test

compile_template: &COMPILE
compile_script: |
git submodule update --init --recursive
if test "x$USE_LIBDEFLATE" = "xyes"; then
CONFIG_OPTS='CPPFLAGS="-I$HOME/libdeflate" LDFLAGS="$LDFLAGS -L$HOME/libdeflate/build" --with-libdeflate'
else
CONFIG_OPTS='--without-libdeflate'
fi
if test "$USE_CONFIG" = "yes"; then
MAKE_OPTS=
autoreconf -i
eval ./configure --enable-plugins --enable-werror $CONFIG_OPTS CFLAGS=\"-g -O3 $CFLAGS\" || \
( cat config.log; false )
else
MAKE_OPTS=-e
fi
if test "x$DO_MAINTAINER_CHECKS" = "xyes"; then
make maintainer-check
fi
make -j 4 $MAKE_OPTS

test_template: &TEST
test_script: |
make test-shlib-exports
make test
if test "x$DO_UNTRACKED_FILE_CHECK" = "xyes"; then make check-untracked ; fi

#--------------------------------------------------
# Task: linux builds.

# Debian + latest GCC
gcc_task:
name: debian-gcc
container:
image: gcc:latest
cpu: 2
memory: 1G

environment:
LC_ALL: C
CIRRUS_CLONE_DEPTH: 1

matrix:
- environment:
DO_MAINTAINER_CHECKS: yes
DO_UNTRACKED_FILE_CHECK: yes
USE_CONFIG: no
- environment:
USE_CONFIG: yes
CFLAGS: -std=c99 -pedantic -Wformat=2
USE_LIBDEFLATE: yes

install_script: |
apt-get update
apt-get install -y --no-install-suggests --no-install-recommends \
ca-certificates libc-dev make git autoconf automake \
zlib1g-dev libbz2-dev liblzma-dev libcurl4-gnutls-dev libssl-dev \
cmake

<< : *LIBDEFLATE
<< : *COMPILE
<< : *TEST


# Ubuntu + Clang
ubuntu_task:
name: ubuntu-clang
container:
image: ubuntu:latest
# image: ubuntu:devel
cpu: 2
memory: 1G

environment:
CC: clang
LC_ALL: C
CIRRUS_CLONE_DEPTH: 1

matrix:
- environment:
USE_CONFIG: yes
DO_UNTRACKED_FILE_CHECK: yes
- environment:
USE_CONFIG: yes
CFLAGS: -g -Wall -O3 -fsanitize=address
LDFLAGS: -fsanitize=address
USE_LIBDEFLATE: yes

# NB: we could consider building a docker image with these
# preinstalled and specifying that instead, to speed up testing.
install_script: |
apt-get update
apt-get install -y --no-install-suggests --no-install-recommends \
ca-certificates clang libc-dev make git autoconf automake \
zlib1g-dev libbz2-dev liblzma-dev libcurl4-gnutls-dev libssl-dev \
libdeflate-dev

<< : *COMPILE
<< : *TEST


# Rocky Linux
rocky_task:
name: rockylinux-gcc
container:
image: rockylinux:9
cpu: 2
memory: 1G

environment:
LC_ALL: C
CIRRUS_CLONE_DEPTH: 1
USE_CONFIG: yes
CFLAGS: -std=gnu90

# NB: we could consider building a docker image with these
# preinstalled and specifying that instead, to speed up testing.
install_script: |
yum install -y autoconf automake make gcc perl-Data-Dumper perl-FindBin \
zlib-devel bzip2 bzip2-devel xz-devel curl-devel openssl-devel \
ncurses-devel diffutils git

<< : *COMPILE
<< : *TEST

# Arm Linux
arm_ubuntu_task:
name: ubuntu-arm
arm_container:
image: ubuntu:latest
cpu: 2
memory: 1G

environment:
LC_ALL: C
CIRRUS_CLONE_DEPTH: 1
DO_UNTRACKED_FILE_CHECK: yes
USE_CONFIG: yes
CFLAGS: -g -Wall -O3 -std=c99 -pedantic

# NB: we could consider building a docker image with these
# preinstalled and specifying that instead, to speed up testing.
install_script: |
apt-get update
apt-get install -y --no-install-suggests --no-install-recommends \
ca-certificates clang libc-dev make git autoconf automake \
zlib1g-dev libbz2-dev liblzma-dev libcurl4-gnutls-dev libssl-dev \
libdeflate-dev

<< : *COMPILE
<< : *TEST

#--------------------------------------------------
# Task: macOS builds

macosx_task:
name: macosx + clang
macos_instance:
image: ghcr.io/cirruslabs/macos-ventura-base:latest

environment:
CC: clang
CFLAGS: "-Wall -arch arm64 -arch x86_64"
LDFLAGS: "-arch arm64 -arch x86_64"
LIBDEFLATE_CFLAGS: "-arch arm64 -arch x86_64"
LC_ALL: C
CIRRUS_CLONE_DEPTH: 1

matrix:
- environment:
USE_CONFIG: no
- environment:
USE_CONFIG: yes
USE_LIBDEFLATE: yes

package_install_script: |
HOMEBREW_NO_AUTO_UPDATE=1 brew install autoconf automake libtool xz git \
cmake

<< : *LIBDEFLATE
<< : *COMPILE
<< : *TEST

10 changes: 9 additions & 1 deletion .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,18 @@
# Omit these files from release tarballs.
/.appveyor.yml export-ignore
.git* export-ignore
/.travis.yml export-ignore
/.cirrus.yml export-ignore
README.md export-ignore

# Remove the text attribute from reference files, so that git doesn't convert
# line separators on Windows machines. It causes the index files to become out
# of sync with the fasta files.
*.fa* -text

# Remove the text attribute from index_dos.sam, so that the line separators
# for the test file don't get converted into Unix format.
test/index_dos.sam -text

# Remove the text attribute from various faidx test files
test/faidx/faidx*.fa* -text
test/faidx/fastqs*.fq* -text
14 changes: 14 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,16 +7,20 @@
*.dll.a
*.pc.tmp
*-uninstalled.pc
config_vars.h
/version.h

autom4te.cache
config.cache
config.guess
config.h
config.h.in
config.log
config.mk
config.status
config.sub
configure
install-sh

hfile_*.bundle
hfile_*.cygdll
Expand All @@ -25,6 +29,7 @@ hfile_*.so

hts-object-files
htslib_static.mk
htscodecs.mk

cyg*.dll
lib*.a
Expand All @@ -39,25 +44,34 @@ shlib-exports-*.txt
/bgzip
/htsfile
/tabix
/test/faidx/*.tmp*
/test/faidx/FAIL*
/test/fieldarith
/test/hfile
/test/hts_endian
/test/longrefs/*.tmp.*
/test/pileup
/test/pileup_mod
/test/plugins-dlhts
/test/sam
/test/tabix/*.tmp.*
/test/tabix/FAIL*
/test/test-bcf-sr
/test/test-bcf-translate
/test/test-bcf_set_variant_type
/test/test_bgzf
/test/test_expr
/test/test_faidx
/test/test_index
/test/test_introspection
/test/test_kfunc
/test/test_kstring
/test/test_mod
/test/test-parse-reg
/test/test_realn
/test/test-regidx
/test/test_str2int
/test/test_time_funcs
/test/test-vcf-api
/test/test-vcf-sweep
/test/test_view
Expand Down
4 changes: 4 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
[submodule "htscodecs"]
path = htscodecs
url = https://github.com/samtools/htscodecs.git
fetchRecurseSubmodules = true
Loading