Loading .gitignoredeleted 100644 → 0 +0 −30 Original line number Diff line number Diff line /blib/ blib/ *.bs _build/ /.build/ Build !Build/ Build.bat cover_db/ /_eumm/ inc/ .last_cover_stats lib/Bio/DB/HTS.c lib/Bio/DB/HTS/Faidx.c lib/Bio/DB/HTS/Faidx.o lib/Bio/DB/HTS.o /Makefile /Makefile.old /MANIFEST.bak /META.json /META.yml /MYMETA.* MYMETA.* nytprof.out *.o /pm_to_blib t/data/*ai t/data/*.gzi t/data/write_test_07.cram t/data/write_test_08.bam .travis.ymldeleted 100644 → 0 +0 −57 Original line number Diff line number Diff line language: "perl" perl: - "5.26" - "5.14" - "5.10" env: matrix: - HTSLIB_VERSION=1.3.1 - HTSLIB_VERSION=1.5 - HTSLIB_VERSION=1.7 - HTSLIB_VERSION=1.8 - HTSLIB_VERSION=1.9 sudo: false addons: apt: packages: - unzip - liblzma-dev - libbz2-dev before_install: - git clone -b BioPerl-v1.7.4 --depth 1 https://github.com/bioperl/bioperl-live.git - git clone --branch master --depth 1 https://github.com/Ensembl/ensembl-test.git install: - git clone --branch $HTSLIB_VERSION --depth=1 https://github.com/samtools/htslib.git - cd htslib - make prefix=~/biodbhts install - export HTSLIB_DIR= - cd .. # manually install items listed from cpanfile so we can skip BioPerl - cpanm -f -n Carp - cpanm -f -n Test::Most - cpanm -f -n Test::LeakTrace - cpanm -f -n Module::Build - cpanm -f -n Log::Log4perl - cpanm -f -n Try::Tiny # - cpanm -v --installdeps --notest . # install the modules just used here - cpanm --notest Perl::Tidy - cpanm --notest Test::Code::TidyAll - export PERL5LIB=$PERL5LIB:$PWD/bioperl-live/lib - perl Build.PL --prefix=~/biodbhts - ./Build - ./Build test script: "./travisci/harness.sh" notifications: email: on_success: always on_failure: always Build.PL +13 −74 Original line number Diff line number Diff line #!/usr/bin/perl # Copyright [2015-2019] EMBL-European Bioinformatics Institute # Copyright [2015-2018] EMBL-European Bioinformatics Institute # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. Loading Loading @@ -75,15 +75,7 @@ sub find_hts { # If either of these are set, we expect to find the htslib files there: # (They're explicitly set by the user, so we shouldn't fall back to # finding another copy somewhere else.) my $incdir = $self->args('htslib-includedir'); my $libdir = $self->args('htslib-libdir'); if ($incdir && $libdir) { return 1 if $self->find_hts_in_split_install_dirs($incdir, $libdir); $self->die_hts_not_found( "--htslib-includedir '$incdir' or --htslib-libdir '$libdir' command line parameters do not contain expected files\n" ); } elsif (my $dir = $self->args('htslib')) { if (my $dir = $self->args('htslib')) { return 1 if $self->find_hts_in_build_dir($dir); return 1 if $self->find_hts_in_install_dir($dir); $self->die_hts_not_found( Loading Loading @@ -113,9 +105,6 @@ sub find_hts { } return 1 if $found; # Try pkgconfig again but this time trust whatever it returns, without extra verification return 1 if $self->find_hts_with_pkgconfig(); $self->die_hts_not_found(); } Loading @@ -125,15 +114,12 @@ sub set_include_and_compiler_flags { my $hts_include = $self->config_data('hts_include'); my $hts_lib = $self->config_data('hts_lib'); my $static = $self->args('static'); $self->include_dirs([$hts_include]) if $hts_include; my @linker_dirflags; if ($hts_lib) { push @linker_dirflags, "-L$hts_lib"; push @linker_dirflags, "-Wl,-rpath,$hts_lib" unless $static; $self->include_dirs([$hts_include]); if($static){ $self->extra_linker_flags("-L$hts_lib", '-lhts', '-lpthread', '-lz'); }else{ $self->extra_linker_flags("-L$hts_lib", "-Wl,-rpath,$hts_lib", '-lhts', '-lpthread', '-lz'); } $self->extra_linker_flags(@linker_dirflags, '-lhts', '-lpthread', '-lz'); } sub hts_dev_files_exist { Loading Loading @@ -179,48 +165,6 @@ sub find_hts_in_install_dir { } } sub find_hts_in_split_install_dirs { my ($self, $hts_include, $hts_lib) = @_; chomp($hts_lib); chomp($hts_include); $hts_include =~ s{include/htslib$}{include}; if (hts_dev_files_exist($hts_lib, $hts_include)) { $self->config_data('hts_lib' => $hts_lib); $self->config_data('hts_include' => $hts_include); return 1; } else { return 0; } } sub find_hts_with_pkgconfig { my ($self) = @_; return 0 unless can_load( modules => { 'ExtUtils::PkgConfig' => undef } ); my $pkg_name = 'htslib'; return 0 unless ExtUtils::PkgConfig->exists($pkg_name); if (my $libs_only_L = ExtUtils::PkgConfig->libs_only_L($pkg_name)) { # For compatibility with other htslib search methods. Note that this # assumes there will be at most one each of -I/-L directories, which # is true as of htslib-1.5 but might change in the future. $libs_only_L =~ s{^-L}{}; $self->config_data('hts_lib' => $libs_only_L); } if (my $cflags_only_I = ExtUtils::PkgConfig->cflags_only_I($pkg_name)) { # See above $cflags_only_I =~ s{^-I}{}; $self->config_data('hts_include' => $cflags_only_I); } return 1; } sub die_hts_not_found { my ($self, $msg) = @_; Loading @@ -233,17 +177,12 @@ Install it if you have not done so already. This script will attempt to locate HTSlib by looking for htslib/hts.h and libhts.a / libhts.so in: 1. --htslib-includedir and --htslib-libdir command line arguments 2. --htslib command line argument 3. HTSLIB_DIR environment variable 4. --prefix command line argument (which also sets installation location) 5. Alien::HTSlib dependency resolver 6. pkg-config (extra directories can be set in PKG_CONFIG_PATH environment variable) 7. common library locations: /usr /usr/local, /usr/share, /opt/local If none of the above succeeds but htslib is registered with pkg-config, the script will try using pkg-config paths (via ExtUtils::PkgConfig) without checking if header and library files exist. 1. --htslib command line argument 2. HTSLIB_DIR environment variable 3. --prefix command line argument (which also sets installation location) 4. Alien::HTSlib dependency resolver 5. pkg-config (extra directories can be set in PKG_CONFIG_PATH environment variable) 6. common library locations: /usr /usr/local, /usr/share, /opt/local END Loading INSTALL.pl +1 −1 Original line number Diff line number Diff line #!/usr/bin/perl # Copyright [2015-2019] EMBL-European Bioinformatics Institute # Copyright [2015-2018] EMBL-European Bioinformatics Institute # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. Loading LICENSE +1 −1 Original line number Diff line number Diff line Loading @@ -186,7 +186,7 @@ same "printed page" as the copyright notice for easier identification within third-party archives. Copyright [2015-2019] EMBL-European Bioinformatics Institute Copyright [2015-2018] EMBL-European Bioinformatics Institute Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. Loading Loading
.gitignoredeleted 100644 → 0 +0 −30 Original line number Diff line number Diff line /blib/ blib/ *.bs _build/ /.build/ Build !Build/ Build.bat cover_db/ /_eumm/ inc/ .last_cover_stats lib/Bio/DB/HTS.c lib/Bio/DB/HTS/Faidx.c lib/Bio/DB/HTS/Faidx.o lib/Bio/DB/HTS.o /Makefile /Makefile.old /MANIFEST.bak /META.json /META.yml /MYMETA.* MYMETA.* nytprof.out *.o /pm_to_blib t/data/*ai t/data/*.gzi t/data/write_test_07.cram t/data/write_test_08.bam
.travis.ymldeleted 100644 → 0 +0 −57 Original line number Diff line number Diff line language: "perl" perl: - "5.26" - "5.14" - "5.10" env: matrix: - HTSLIB_VERSION=1.3.1 - HTSLIB_VERSION=1.5 - HTSLIB_VERSION=1.7 - HTSLIB_VERSION=1.8 - HTSLIB_VERSION=1.9 sudo: false addons: apt: packages: - unzip - liblzma-dev - libbz2-dev before_install: - git clone -b BioPerl-v1.7.4 --depth 1 https://github.com/bioperl/bioperl-live.git - git clone --branch master --depth 1 https://github.com/Ensembl/ensembl-test.git install: - git clone --branch $HTSLIB_VERSION --depth=1 https://github.com/samtools/htslib.git - cd htslib - make prefix=~/biodbhts install - export HTSLIB_DIR= - cd .. # manually install items listed from cpanfile so we can skip BioPerl - cpanm -f -n Carp - cpanm -f -n Test::Most - cpanm -f -n Test::LeakTrace - cpanm -f -n Module::Build - cpanm -f -n Log::Log4perl - cpanm -f -n Try::Tiny # - cpanm -v --installdeps --notest . # install the modules just used here - cpanm --notest Perl::Tidy - cpanm --notest Test::Code::TidyAll - export PERL5LIB=$PERL5LIB:$PWD/bioperl-live/lib - perl Build.PL --prefix=~/biodbhts - ./Build - ./Build test script: "./travisci/harness.sh" notifications: email: on_success: always on_failure: always
Build.PL +13 −74 Original line number Diff line number Diff line #!/usr/bin/perl # Copyright [2015-2019] EMBL-European Bioinformatics Institute # Copyright [2015-2018] EMBL-European Bioinformatics Institute # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. Loading Loading @@ -75,15 +75,7 @@ sub find_hts { # If either of these are set, we expect to find the htslib files there: # (They're explicitly set by the user, so we shouldn't fall back to # finding another copy somewhere else.) my $incdir = $self->args('htslib-includedir'); my $libdir = $self->args('htslib-libdir'); if ($incdir && $libdir) { return 1 if $self->find_hts_in_split_install_dirs($incdir, $libdir); $self->die_hts_not_found( "--htslib-includedir '$incdir' or --htslib-libdir '$libdir' command line parameters do not contain expected files\n" ); } elsif (my $dir = $self->args('htslib')) { if (my $dir = $self->args('htslib')) { return 1 if $self->find_hts_in_build_dir($dir); return 1 if $self->find_hts_in_install_dir($dir); $self->die_hts_not_found( Loading Loading @@ -113,9 +105,6 @@ sub find_hts { } return 1 if $found; # Try pkgconfig again but this time trust whatever it returns, without extra verification return 1 if $self->find_hts_with_pkgconfig(); $self->die_hts_not_found(); } Loading @@ -125,15 +114,12 @@ sub set_include_and_compiler_flags { my $hts_include = $self->config_data('hts_include'); my $hts_lib = $self->config_data('hts_lib'); my $static = $self->args('static'); $self->include_dirs([$hts_include]) if $hts_include; my @linker_dirflags; if ($hts_lib) { push @linker_dirflags, "-L$hts_lib"; push @linker_dirflags, "-Wl,-rpath,$hts_lib" unless $static; $self->include_dirs([$hts_include]); if($static){ $self->extra_linker_flags("-L$hts_lib", '-lhts', '-lpthread', '-lz'); }else{ $self->extra_linker_flags("-L$hts_lib", "-Wl,-rpath,$hts_lib", '-lhts', '-lpthread', '-lz'); } $self->extra_linker_flags(@linker_dirflags, '-lhts', '-lpthread', '-lz'); } sub hts_dev_files_exist { Loading Loading @@ -179,48 +165,6 @@ sub find_hts_in_install_dir { } } sub find_hts_in_split_install_dirs { my ($self, $hts_include, $hts_lib) = @_; chomp($hts_lib); chomp($hts_include); $hts_include =~ s{include/htslib$}{include}; if (hts_dev_files_exist($hts_lib, $hts_include)) { $self->config_data('hts_lib' => $hts_lib); $self->config_data('hts_include' => $hts_include); return 1; } else { return 0; } } sub find_hts_with_pkgconfig { my ($self) = @_; return 0 unless can_load( modules => { 'ExtUtils::PkgConfig' => undef } ); my $pkg_name = 'htslib'; return 0 unless ExtUtils::PkgConfig->exists($pkg_name); if (my $libs_only_L = ExtUtils::PkgConfig->libs_only_L($pkg_name)) { # For compatibility with other htslib search methods. Note that this # assumes there will be at most one each of -I/-L directories, which # is true as of htslib-1.5 but might change in the future. $libs_only_L =~ s{^-L}{}; $self->config_data('hts_lib' => $libs_only_L); } if (my $cflags_only_I = ExtUtils::PkgConfig->cflags_only_I($pkg_name)) { # See above $cflags_only_I =~ s{^-I}{}; $self->config_data('hts_include' => $cflags_only_I); } return 1; } sub die_hts_not_found { my ($self, $msg) = @_; Loading @@ -233,17 +177,12 @@ Install it if you have not done so already. This script will attempt to locate HTSlib by looking for htslib/hts.h and libhts.a / libhts.so in: 1. --htslib-includedir and --htslib-libdir command line arguments 2. --htslib command line argument 3. HTSLIB_DIR environment variable 4. --prefix command line argument (which also sets installation location) 5. Alien::HTSlib dependency resolver 6. pkg-config (extra directories can be set in PKG_CONFIG_PATH environment variable) 7. common library locations: /usr /usr/local, /usr/share, /opt/local If none of the above succeeds but htslib is registered with pkg-config, the script will try using pkg-config paths (via ExtUtils::PkgConfig) without checking if header and library files exist. 1. --htslib command line argument 2. HTSLIB_DIR environment variable 3. --prefix command line argument (which also sets installation location) 4. Alien::HTSlib dependency resolver 5. pkg-config (extra directories can be set in PKG_CONFIG_PATH environment variable) 6. common library locations: /usr /usr/local, /usr/share, /opt/local END Loading
INSTALL.pl +1 −1 Original line number Diff line number Diff line #!/usr/bin/perl # Copyright [2015-2019] EMBL-European Bioinformatics Institute # Copyright [2015-2018] EMBL-European Bioinformatics Institute # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. Loading
LICENSE +1 −1 Original line number Diff line number Diff line Loading @@ -186,7 +186,7 @@ same "printed page" as the copyright notice for easier identification within third-party archives. Copyright [2015-2019] EMBL-European Bioinformatics Institute Copyright [2015-2018] EMBL-European Bioinformatics Institute Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. Loading