Skip to content
GitLab
Explore
Sign in
Register
Commits on Source (3)
Catch exceptions by reference
· 7ced039b
Andreas Tille
authored
Sep 03, 2018
7ced039b
Enabling python bindings does not work - leave it as todo item
· 12fb37bc
Andreas Tille
authored
Sep 03, 2018
12fb37bc
Do not replace random '-L' strings in command line
· 69f40959
Andreas Tille
authored
Sep 03, 2018
69f40959
Hide whitespace changes
Inline
Side-by-side
debian/README.todo
View file @
69f40959
...
...
@@ -3,3 +3,5 @@ docs/ directory is out of date but regenerating it produces errors
ruby bindings break policy using upstream's install
turning on the hardening options breaks the build
python bindings for swig
debian/changelog
View file @
69f40959
...
...
@@ -5,8 +5,9 @@ jellyfish (2.2.10-1) UNRELEASED; urgency=medium
* Standards-Version: 4.1.4
* Adapt watch file to also catch v$VERSION tarball names
* Clean up quilt patches
* Try to enable swig Python bindings
TODO: ... but failed
* Catch exceptions by reference
* Do not replace random '-L' strings in command line
Closes: #907819
-- Andreas Tille <tille@debian.org> Mon, 03 Sep 2018 08:34:22 +0200
...
...
debian/patches/fix_catch.patch
0 → 100644
View file @
69f40959
Author: Andreas Tille <tille@debian.org>
Last-Update: Mon, 03 Sep 2018 08:34:22 +0200
Description: Catch exceptions by reference
see https://blog.knatten.org/2010/04/02/always-catch-exceptions-by-referenc
--- a/sub_commands/count_main.cc
+++ b/sub_commands/count_main.cc
@@ -360,7 +360,7 @@
int count_main(int argc, char *argv[])
uint64_t max = args.upper_count_given ? args.upper_count_arg : std::numeric_limits<uint64_t>::max();
try {
merge_files(files, args.output_arg, header, min, max);
- } catch(MergeError e) {
+ } catch(MergeError &e) {
err::die(err::msg() << e.what());
}
if(!args.no_unlink_flag) {
--- a/include/jellyfish/hash_counter.hpp
+++ b/include/jellyfish/hash_counter.hpp
@@ -213,7 +213,7 @@
protected:
new_ary_ = new array(ary_->size(), ary_->key_len(), ary_->val_len() + 1,
ary_->max_reprobe(), ary_->reprobes());
}
- } catch(typename array::ErrorAllocation e) {
+ } catch(typename array::ErrorAllocation &e) {
new_ary_ = 0;
}
}
--- a/sub_commands/merge_main.cc
+++ b/sub_commands/merge_main.cc
@@ -33,7 +33,7 @@
int merge_main(int argc, char *argv[])
try {
merge_files(args.input_arg, args.output_arg, out_header, min, max);
- } catch(MergeError e) {
+ } catch(MergeError &e) {
err::die(err::msg() << e.what());
}
--- a/sub_commands/query_main.cc
+++ b/sub_commands/query_main.cc
@@ -60,7 +60,7 @@
void query_from_cmdline(std::vector<cons
if(canonical)
m.canonicalize();
out << m << " " << db.check(m) << "\n";
- } catch(std::length_error e) {
+ } catch(std::length_error &e) {
std::cerr << "Invalid mer '" << *it << "'\n";
}
}
@@ -77,7 +77,7 @@
void query_from_stdin(const Database& db
if(canonical)
m.canonicalize();
out << db.check(m) << std::endl; // a flush is need for interactive use
- } catch(std::length_error e) {
+ } catch(std::length_error &e) {
std::cerr << "Invalid mer '" << buffer << "'" << std::endl;
}
}
debian/patches/fix_replacement_of_-L_option.patch
0 → 100644
View file @
69f40959
Description: Do not replace random '-L' strings in command line
Bug-Debian: https://bugs.debian.org/907819
Author: Andreas Tille <tille@debian.org>
Last-Update: Mon, 03 Sep 2018 08:34:22 +0200
--- a/examples/count_in_file/Makefile
+++ b/examples/count_in_file/Makefile
@@ -1,6 +1,6 @@
CC = g++
CXXFLAGS = $(shell pkg-config --cflags jellyfish-2.0) -std=c++0x -Wall -O3
-LDFLAGS = -Wl,--rpath=$(shell pkg-config --libs-only-L jellyfish-2.0 | sed -e 's/-L//g')
+LDFLAGS = -Wl,--rpath=$(shell pkg-config --libs-only-L jellyfish-2.0 | sed -e 's/ -L/ /g')
LDLIBS = $(shell pkg-config --libs jellyfish-2.0)
all: count_in_file
--- a/examples/jf_count_dump/Makefile
+++ b/examples/jf_count_dump/Makefile
@@ -1,6 +1,6 @@
CC = g++
CXXFLAGS = $(shell pkg-config --cflags jellyfish-2.0) -std=c++0x -Wall -O3
-LDFLAGS = -Wl,--rpath=$(shell pkg-config --libs-only-L jellyfish-2.0 | sed -e 's/-L//g')
+LDFLAGS = -Wl,--rpath=$(shell pkg-config --libs-only-L jellyfish-2.0 | sed -e 's/ -L/ /g')
LDLIBS = $(shell pkg-config --libs jellyfish-2.0)
all: jf_count_dump
--- a/examples/query_per_sequence/Makefile
+++ b/examples/query_per_sequence/Makefile
@@ -1,6 +1,6 @@
CC = g++
CXXFLAGS = $(shell pkg-config --cflags jellyfish-2.0) -std=c++0x -Wall -O3
-LDFLAGS = -Wl,--rpath=$(shell pkg-config --libs-only-L jellyfish-2.0 | sed -e 's/-L//g')
+LDFLAGS = -Wl,--rpath=$(shell pkg-config --libs-only-L jellyfish-2.0 | sed -e 's/ -L/ /g')
LDLIBS = $(shell pkg-config --libs jellyfish-2.0)
all: query_per_sequence
--- a/swig/Tuprules.tup
+++ b/swig/Tuprules.tup
@@ -80,7 +80,7 @@
endif
ifdef JELLYFISH_RPATH
JELLYFISH_RPATH = @(JELLYFISH_RPATH)
else
- JELLYFISH_RPATH = `pkg-config --libs-only-L jellyfish-2.0 | sed -e 's/-L/-Wl,-rpath,/g'`
+ JELLYFISH_RPATH = `pkg-config --libs-only-L jellyfish-2.0 | sed -e 's/ -L/ -Wl,-rpath,/g'`
endif
ifdef RUBY_CFLAGS
--- a/swig/perl5/Makefile.PL
+++ b/swig/perl5/Makefile.PL
@@ -19,7 +19,7 @@
my $pkg = "jellyfish-2.0";
my $jf_cflags = pkgconfig("--cflags $pkg");
my $jf_libs = pkgconfig("--libs $pkg");
my $jf_rpath = pkgconfig("--libs-only-L $pkg");
-$jf_rpath =~ s/-L/-Wl,-rpath,/g;
+$jf_rpath =~ s/ -L/ -Wl,-rpath,/g;
print("$jf_cflags\n$jf_libs\n$jf_rpath\n");
--- a/swig/ruby/extconf.rb
+++ b/swig/ruby/extconf.rb
@@ -13,7 +13,7 @@
end
$defs << pkgconfig("--cflags jellyfish-2.0") << '-std=c++0x'
libs = [pkgconfig("--libs jellyfish-2.0"),
- pkgconfig("--libs-only-L jellyfish-2.0").gsub(/-L/, "-Wl,-rpath,")]
+ pkgconfig("--libs-only-L jellyfish-2.0").gsub(/ -L/, " -Wl,-rpath,")]
if Array === $libs
$libs += libs
--- a/swig/python/setup.py
+++ b/swig/python/setup.py
@@ -17,7 +17,7 @@
def pkgconfig(s):
jf_libs = [re.sub(r'-l', '', x) for x in pkgconfig("--libs-only-l jellyfish-2.0")]
jf_include = [re.sub(r'-I', '', x) for x in pkgconfig("--cflags-only-I jellyfish-2.0")]
jf_cflags = pkgconfig("--cflags-only-other jellyfish-2.0")
-jf_libdir = [re.sub(r'-L', '', x) for x in pkgconfig("--libs-only-L jellyfish-2.0")]
+jf_libdir = [re.sub(r' -L', ' ', x) for x in pkgconfig("--libs-only-L jellyfish-2.0")]
jf_rpath = [re.sub(r'^', '-Wl,-rpath,', x) for x in jf_libdir]
jf_ldflags = pkgconfig("--libs-only-other jellyfish-2.0")
debian/patches/series
View file @
69f40959
manpage_whatis_entry.patch
reproducible.patch
portability.patch
fix_catch.patch
fix_replacement_of_-L_option.patch
debian/rules
View file @
69f40959
...
...
@@ -29,7 +29,7 @@ override_dh_install:
chrpath --delete debian/*/usr/lib/python*/dist-packages/_dna_jellyfish*.so
dh_auto_configure --sourcedirectory=swig/perl5
dh_auto_configure --sourcedirectory=swig/python
#
dh_auto_configure --sourcedirectory=swig/python
dh_auto_build --sourcedirectory=swig/perl5
dh_auto_install --sourcedirectory=swig/perl5
chrpath --delete debian/tmp/usr/lib/*/perl5/*/auto/jellyfish/jellyfish.so
...
...
@@ -42,7 +42,7 @@ override_dh_install:
debian/tmp/usr/lib/*/lib$(DEB_SOURCE)-*.so
override_dh_auto_configure:
dh_auto_configure -- --enable-swig --enable-perl-binding --enable-python-binding
dh_auto_configure -- --enable-swig --enable-perl-binding
#
--enable-python-binding
override_dh_clean:
dh_clean
...
...