Nilesh Patra pushed to branch master at Debian Med / plast
Commits: 53a572d4 by Nilesh Patra at 2022-01-24T23:36:42+05:30 Drop d/p/use_debian_packaged_pcre.patch - - - - - 960a9557 by Nilesh Patra at 2022-01-24T23:38:07+05:30 Add pcre.patch to build with pcre2 (Closes: #999991) - - - - - c8d0bacc by Nilesh Patra at 2022-01-24T23:38:15+05:30 d/control: B-D on libpcre2-dev instead of libpcre3-dev - - - - - 0b9d88cf by Nilesh Patra at 2022-01-24T23:44:41+05:30 Dep3 - - - - - a0c99913 by Nilesh Patra at 2022-01-24T23:45:35+05:30 Interim changelog entry - - - - - 5 changed files: - debian/changelog - debian/control - + debian/patches/pcre.patch - debian/patches/series - − debian/patches/use_debian_packaged_pcre.patch Changes: ===================================== debian/changelog ===================================== @@ -1,3 +1,12 @@ +plast (2.3.2+dfsg-8) UNRELEASED; urgency=medium + + * Team Upload. + * Drop d/p/use_debian_packaged_pcre.patch + * Add pcre.patch to build with pcre2 (Closes: #999991) + * d/control: B-D on libpcre2-dev instead of libpcre3-dev + + -- Nilesh Patra <[email protected]> Mon, 24 Jan 2022 23:44:55 +0530 + plast (2.3.2+dfsg-7) unstable; urgency=medium * Team upload. ===================================== debian/control ===================================== @@ -5,7 +5,7 @@ Section: science Priority: optional Build-Depends: debhelper-compat (= 13), cmake, - libpcre3-dev, + libpcre2-dev, default-jdk, libsimde-dev Standards-Version: 4.5.1 ===================================== debian/patches/pcre.patch ===================================== @@ -0,0 +1,96 @@ +Description: Port code to pcre2 +Author: Nilesh Patra <[email protected]> +Forwarded: https://github.com/PLAST-software/plast-library/issues/10 +Last-Update: Jan 24, 2022 +--- a/src/alignment/filter/impl/AlignmentFilterOperator.cpp ++++ b/src/alignment/filter/impl/AlignmentFilterOperator.cpp +@@ -156,19 +156,16 @@ + ** REMARKS : + *********************************************************************/ + AlignmentFilterRegexOperator::AlignmentFilterRegexOperator (const std::vector<std::string>& args) +- : AlignmentFilterUnaryOperator<std::string>(args), _reg(0), _regExtra(0) ++ : AlignmentFilterUnaryOperator<std::string>(args), _reg(0) + { +- const char* pcreErrorStr = 0; +- int pcreErrorOffset = 0; ++ int pcreErrorStr = 0; ++ PCRE2_SIZE pcreErrorOffset = 0; + + /** We compile the regexp. */ +- _reg = pcre_compile (_value.c_str(), 0, &pcreErrorStr, &pcreErrorOffset, NULL); ++ _reg = pcre2_compile ((PCRE2_SPTR)_value.c_str(), PCRE2_ZERO_TERMINATED, 0, &pcreErrorStr, &pcreErrorOffset, NULL); + +- /** We optimize the regex. */ +- if (_reg != 0) { _regExtra = pcre_study (_reg, 0, &pcreErrorStr); } +- +- DEBUG (("AlignmentFilterRegexOperator::AlignmentFilterRegexOperator _value='%s' _reg=%p _regExtra=%p\n", +- _value.c_str(), _reg, _regExtra ++ DEBUG (("AlignmentFilterRegexOperator::AlignmentFilterRegexOperator _value='%s' _reg=%p\n", ++ _value.c_str(), _reg + )); + } + +@@ -182,8 +179,7 @@ + *********************************************************************/ + AlignmentFilterRegexOperator::~AlignmentFilterRegexOperator () + { +- if (_reg) { pcre_free (_reg); } +- if (_regExtra) { pcre_free (_regExtra); } ++ if (_reg) { pcre2_code_free (_reg); } + + DEBUG (("AlignmentFilterRegexOperator::~AlignmentFilterRegexOperator\n")); + } +--- a/src/alignment/filter/impl/AlignmentFilterOperator.hpp ++++ b/src/alignment/filter/impl/AlignmentFilterOperator.hpp +@@ -28,7 +28,8 @@ + #include <alignment/filter/api/IAlignmentFilter.hpp> + #include <designpattern/impl/Property.hpp> + #include <stdarg.h> +-#include <pcre/pcre.h> ++#define PCRE2_CODE_UNIT_WIDTH 8 ++#include <pcre2.h> + + /********************************************************************************/ + namespace alignment { +@@ -196,14 +197,12 @@ + /** */ + AlignmentFilterRegexOperator (const std::vector<std::string>& args); + +- AlignmentFilterRegexOperator () : AlignmentFilterUnaryOperator<std::string>(), _reg(0), _regExtra(0) {} ++ AlignmentFilterRegexOperator () : AlignmentFilterUnaryOperator<std::string>(), _reg(0) {} + + ~AlignmentFilterRegexOperator (); + + protected: +- pcre* _reg; +- pcre_extra* _regExtra; +- ++ pcre2_code *_reg; + }; + + /********************************************************************************/ +@@ -248,10 +247,11 @@ + bool isOk (const core::Alignment& a) const { \ + if (_reg==0) { return false; } \ + std::string tmp(regexp); /* Not optimal but we may call with const char* or std::string. */ \ ++ pcre2_match_data *match_data = pcre2_match_data_create_from_pattern(_reg, NULL); \ + switch(_operator) \ + { \ +- case HOLD: return pcre_exec (_reg, _regExtra, tmp.c_str(), tmp.size(), 0, 0, NULL, 0) >= 0; \ +- case NO_HOLD: return pcre_exec (_reg, _regExtra, tmp.c_str(), tmp.size(), 0, 0, NULL, 0) < 0; \ ++ case HOLD: return pcre2_match (_reg, (PCRE2_SPTR)tmp.c_str(), tmp.size(), 0, 0, match_data, NULL) >= 0; \ ++ case NO_HOLD: return pcre2_match (_reg, (PCRE2_SPTR)tmp.c_str(), tmp.size(), 0, 0, match_data, NULL) < 0; \ + default: return false; \ + } \ + } \ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -46,7 +46,7 @@ + include_directories (${PROJECT_BINARY_DIR}/include ${JAVA_INCLUDE_PATH} ${JAVA_INCLUDE_PATH2}) + add_library (PlastLibrary SHARED ${PlastLibraryFiles} ) + add_executable (plast ${PlastCmdFiles}) +-target_link_libraries (plast pthread) ++target_link_libraries (plast pthread -lpcre2-8) + + ################################################################################ + # OS specific stuffs ===================================== debian/patches/series ===================================== @@ -1,5 +1,5 @@ -use_debian_packaged_pcre.patch adapt_auto_test_script.sh no_msse3.patch reproducible.patch simde.patch +pcre.patch ===================================== debian/patches/use_debian_packaged_pcre.patch deleted ===================================== @@ -1,26 +0,0 @@ -Author: Andreas Tille <[email protected]> -Last-Update: Tue, 09 Feb 2016 10:20:36 +0100 -Description: Use Debian packaged pcre lib instead of internal code copy - ---- a/src/alignment/filter/impl/AlignmentFilterOperator.hpp -+++ b/src/alignment/filter/impl/AlignmentFilterOperator.hpp -@@ -28,7 +28,7 @@ - #include <alignment/filter/api/IAlignmentFilter.hpp> - #include <designpattern/impl/Property.hpp> - #include <stdarg.h> --#include <pcre/pcre.h> -+#include <pcre.h> - - /********************************************************************************/ - namespace alignment { ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -44,7 +44,7 @@ add_definitions (-O3 -funroll-loop - include_directories (${PROJECT_BINARY_DIR}/include ${JAVA_INCLUDE_PATH} ${JAVA_INCLUDE_PATH2}) - add_library (PlastLibrary SHARED ${PlastLibraryFiles} ) - add_executable (plast ${PlastCmdFiles}) --target_link_libraries (plast pthread) -+target_link_libraries (plast pthread pcre) - - ################################################################################ - # OS specific stuffs View it on GitLab: https://salsa.debian.org/med-team/plast/-/compare/6100467a418b032b7e588a0060c76c9775cae9aa...a0c9991372044cd5557f55e6bfbbf65532aeee48 -- View it on GitLab: https://salsa.debian.org/med-team/plast/-/compare/6100467a418b032b7e588a0060c76c9775cae9aa...a0c9991372044cd5557f55e6bfbbf65532aeee48 You're receiving this email because of your account on salsa.debian.org.
_______________________________________________ debian-med-commit mailing list [email protected] https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/debian-med-commit
