[med-svn] [Git][med-team/jellyfish][master] 3 commits: Catch exceptions by reference
Andreas Tille
gitlab at salsa.debian.org
Fri Sep 14 07:08:35 BST 2018
Andreas Tille pushed to branch master at Debian Med / jellyfish
Commits:
7ced039b by Andreas Tille at 2018-09-03T09:45:01Z
Catch exceptions by reference
- - - - -
12fb37bc by Andreas Tille at 2018-09-03T09:47:02Z
Enabling python bindings does not work - leave it as todo item
- - - - -
69f40959 by Andreas Tille at 2018-09-03T09:56:50Z
Do not replace random '-L' strings in command line
- - - - -
6 changed files:
- debian/README.todo
- debian/changelog
- + debian/patches/fix_catch.patch
- + debian/patches/fix_replacement_of_-L_option.patch
- debian/patches/series
- debian/rules
Changes:
=====================================
debian/README.todo
=====================================
@@ -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
=====================================
@@ -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 at debian.org> Mon, 03 Sep 2018 08:34:22 +0200
=====================================
debian/patches/fix_catch.patch
=====================================
@@ -0,0 +1,58 @@
+Author: Andreas Tille <tille at 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,0 +1,79 @@
+Description: Do not replace random '-L' strings in command line
+Bug-Debian: https://bugs.debian.org/907819
+Author: Andreas Tille <tille at 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
=====================================
@@ -1,3 +1,5 @@
manpage_whatis_entry.patch
reproducible.patch
portability.patch
+fix_catch.patch
+fix_replacement_of_-L_option.patch
=====================================
debian/rules
=====================================
@@ -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
View it on GitLab: https://salsa.debian.org/med-team/jellyfish/compare/ea26fa3aa9903765de174c706b905c3c2ac9cc1a...69f40959442997142e115c4634999724d71f3963
--
View it on GitLab: https://salsa.debian.org/med-team/jellyfish/compare/ea26fa3aa9903765de174c706b905c3c2ac9cc1a...69f40959442997142e115c4634999724d71f3963
You're receiving this email because of your account on salsa.debian.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/debian-med-commit/attachments/20180914/851e25ac/attachment-0001.html>
More information about the debian-med-commit
mailing list