ports/59770: [PATCH] devel/ixlib: fix build on -CURRENT (gcc33)
Sergey Matveychuk
sem at ciam.ru
Fri Nov 28 21:40:20 UTC 2003
>Number: 59770
>Category: ports
>Synopsis: [PATCH] devel/ixlib: fix build on -CURRENT (gcc33)
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: change-request
>Submitter-Id: current-users
>Arrival-Date: Fri Nov 28 13:40:16 PST 2003
>Closed-Date:
>Last-Modified:
>Originator: Sergey Matveychuk
>Release: FreeBSD 5.1-CURRENT i386
>Organization:
>Environment:
System: FreeBSD Current.sem-home.ciam.ru 5.1-CURRENT FreeBSD 5.1-CURRENT #1: Fri Nov 21 07:47:47 MSK 2003
>Description:
[DESCRIBE CHANGES]
* fix build with gcc 3.3.2 (-CURRENT)
* expect CFLAGS
* bump PORTVERSION
* change space with tab
Added file(s):
- files/patch-src::ixlib_base.hh
- files/patch-src::ixlib_javascript.hh
- files/patch-src::ixlib_re.hh
- files/patch-src::ixlib_re_impl.hh
- files/patch-src::js_interpreter.cc
- files/patch-test::javascript.cc
Generated with FreeBSD Port Tools 0.50
>How-To-Repeat:
>Fix:
--- ixlib-0.96.2_3.patch begins here ---
diff -ruN --exclude=CVS /usr/ports/devel/ixlib.orig/Makefile /usr/ports/devel/ixlib/Makefile
--- /usr/ports/devel/ixlib.orig/Makefile Wed Aug 27 00:25:40 2003
+++ /usr/ports/devel/ixlib/Makefile Fri Nov 28 13:42:04 2003
@@ -8,7 +8,7 @@
PORTNAME= ixlib
PORTVERSION= 0.96.2
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= devel
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE}
MASTER_SITE_SUBDIR= ${PORTNAME}
@@ -20,14 +20,8 @@
USE_GMAKE= yes
GNU_CONFIGURE= yes
-CONFIGURE_ENV= CPPFLAGS="-I${LOCALBASE}/include" \
+CONFIGURE_ENV= CPPFLAGS="${CFLAGS} -I${LOCALBASE}/include" \
LDFLAGS="-L${LOCALBASE}/lib"
-INSTALLS_SHLIB= yes
+INSTALLS_SHLIB= yes
-.include <bsd.port.pre.mk>
-
-.if ${OSVERSION} >= 500113
-BROKEN= "Does not compile (bad C++ code)"
-.endif
-
-.include <bsd.port.post.mk>
+.include <bsd.port.mk>
diff -ruN --exclude=CVS /usr/ports/devel/ixlib.orig/files/patch-src::ixlib_base.hh /usr/ports/devel/ixlib/files/patch-src::ixlib_base.hh
--- /usr/ports/devel/ixlib.orig/files/patch-src::ixlib_base.hh Thu Jan 1 03:00:00 1970
+++ /usr/ports/devel/ixlib/files/patch-src::ixlib_base.hh Fri Nov 28 13:42:04 2003
@@ -0,0 +1,19 @@
+--- src/ixlib_base.hh.orig Fri Nov 28 11:48:47 2003
++++ src/ixlib_base.hh Fri Nov 28 12:45:22 2003
+@@ -44,11 +44,15 @@
+
+ /* STL Helper macro -----------------------------------------------------------
+ */
++#define FOREACH_T(VAR,LIST,LISTTYPE) \
++ for (typename LISTTYPE::iterator VAR = (LIST).begin(),last = (LIST).end();VAR != last;VAR++)
++#define FOREACH_CONST_T(VAR,LIST,LISTTYPE) \
++ for (typename LISTTYPE::const_iterator VAR = (LIST).begin(),last = (LIST).end();VAR != last;VAR++)
++
+ #define FOREACH(VAR,LIST,LISTTYPE) \
+ for (LISTTYPE::iterator VAR = (LIST).begin(),last = (LIST).end();VAR != last;VAR++)
+ #define FOREACH_CONST(VAR,LIST,LISTTYPE) \
+ for (LISTTYPE::const_iterator VAR = (LIST).begin(),last = (LIST).end();VAR != last;VAR++)
+-
+
+
+
diff -ruN --exclude=CVS /usr/ports/devel/ixlib.orig/files/patch-src::ixlib_javascript.hh /usr/ports/devel/ixlib/files/patch-src::ixlib_javascript.hh
--- /usr/ports/devel/ixlib.orig/files/patch-src::ixlib_javascript.hh Thu Jan 1 03:00:00 1970
+++ /usr/ports/devel/ixlib/files/patch-src::ixlib_javascript.hh Fri Nov 28 13:42:04 2003
@@ -0,0 +1,14 @@
+--- src/ixlib_javascript.hh.orig Fri Nov 28 12:01:06 2003
++++ src/ixlib_javascript.hh Fri Nov 28 12:41:42 2003
+@@ -266,7 +266,11 @@
+ // (=unite with) other scopes and keeps a list of registered members
+ class list_scope : public value {
+ protected:
++#if __GNUC__ < 3
+ typedef std::hash_map<std::string,ref<value>,string_hash> member_map;
++#else
++ typedef __gnu_cxx::hash_map<std::string,ref<value>,string_hash> member_map;
++#endif
+ typedef std::vector<ref<value> > swallowed_list;
+
+ member_map MemberMap;
diff -ruN --exclude=CVS /usr/ports/devel/ixlib.orig/files/patch-src::ixlib_re.hh /usr/ports/devel/ixlib/files/patch-src::ixlib_re.hh
--- /usr/ports/devel/ixlib.orig/files/patch-src::ixlib_re.hh Thu Jan 1 03:00:00 1970
+++ /usr/ports/devel/ixlib/files/patch-src::ixlib_re.hh Fri Nov 28 13:42:04 2003
@@ -0,0 +1,11 @@
+--- src/ixlib_re.hh.orig Fri Nov 28 11:46:14 2003
++++ src/ixlib_re.hh Fri Nov 28 11:53:24 2003
+@@ -163,7 +163,7 @@
+
+ struct backtrack_stack_entry {
+ TIndex Index;
+- backref_stack::rewind_info RewindInfo;
++ typename backref_stack::rewind_info RewindInfo;
+ };
+
+ public:
diff -ruN --exclude=CVS /usr/ports/devel/ixlib.orig/files/patch-src::ixlib_re_impl.hh /usr/ports/devel/ixlib/files/patch-src::ixlib_re_impl.hh
--- /usr/ports/devel/ixlib.orig/files/patch-src::ixlib_re_impl.hh Thu Jan 1 03:00:00 1970
+++ /usr/ports/devel/ixlib/files/patch-src::ixlib_re_impl.hh Fri Nov 28 13:42:04 2003
@@ -0,0 +1,164 @@
+--- src/ixlib_re_impl.hh.orig Fri Nov 28 11:43:40 2003
++++ src/ixlib_re_impl.hh Fri Nov 28 12:55:23 2003
+@@ -38,7 +38,7 @@
+
+
+ template<class T>
+-ixion::regex<T>::backref_stack::rewind_info
++typename ixion::regex<T>::backref_stack::rewind_info
+ ixion::regex<T>::backref_stack::getRewindInfo() const {
+ return Stack.size();
+ }
+@@ -65,7 +65,7 @@
+ template<class T>
+ ixion::TSize ixion::regex<T>::backref_stack::size() {
+ TSize result = 0;
+- FOREACH_CONST(first,Stack,internal_stack)
++ FOREACH_CONST_T(first,Stack,internal_stack)
+ if (first->Type == backref_entry::OPEN) result++;
+ return result;
+ }
+@@ -79,7 +79,7 @@
+ TIndex start;
+ TIndex startlevel;
+
+- internal_stack::const_iterator first = Stack.begin(),last = Stack.end();
++ typename internal_stack::const_iterator first = Stack.begin(),last = Stack.end();
+ while (first != last) {
+ if (first->Type == backref_entry::OPEN) {
+ if (number == next_index) {
+@@ -201,7 +201,7 @@
+
+
+ template<class T>
+-ixion::regex<T>::matcher *ixion::regex<T>::quantifier::duplicate() const {
++typename ixion::regex<T>::matcher *ixion::regex<T>::quantifier::duplicate() const {
+ quantifier *dupe = new quantifier();
+ dupe->copy(this);
+ return dupe;
+@@ -328,7 +328,7 @@
+
+
+ template<class T>
+-ixion::regex<T>::matcher *ixion::regex<T>::sequence_matcher::duplicate() const {
++typename ixion::regex<T>::matcher *ixion::regex<T>::sequence_matcher::duplicate() const {
+ sequence_matcher *dupe = new sequence_matcher(MatchStr);
+ dupe->copy(this);
+ return dupe;
+@@ -349,7 +349,7 @@
+
+ // regex::any_matcher ---------------------------------------------------------
+ template<class T>
+-ixion::regex<T>::matcher *ixion::regex<T>::any_matcher::duplicate() const {
++typename ixion::regex<T>::matcher *ixion::regex<T>::any_matcher::duplicate() const {
+ any_matcher *dupe = new any_matcher();
+ dupe->copy(this);
+ return dupe;
+@@ -360,7 +360,7 @@
+
+ // regex::start_matcher ---------------------------------------------------------
+ template<class T>
+-ixion::regex<T>::matcher *ixion::regex<T>::start_matcher::duplicate() const {
++typename ixion::regex<T>::matcher *ixion::regex<T>::start_matcher::duplicate() const {
+ start_matcher *dupe = new start_matcher();
+ dupe->copy(this);
+ return dupe;
+@@ -379,7 +379,7 @@
+
+ // regex::end_matcher ---------------------------------------------------------
+ template<class T>
+-ixion::regex<T>::matcher *ixion::regex<T>::end_matcher::duplicate() const {
++typename ixion::regex<T>::matcher *ixion::regex<T>::end_matcher::duplicate() const {
+ end_matcher *dupe = new end_matcher();
+ dupe->copy(this);
+ return dupe;
+@@ -398,7 +398,7 @@
+
+ // regex::backref_open_matcher ------------------------------------------------
+ template<class T>
+-ixion::regex<T>::matcher *ixion::regex<T>::backref_open_matcher::duplicate() const {
++typename ixion::regex<T>::matcher *ixion::regex<T>::backref_open_matcher::duplicate() const {
+ backref_open_matcher *dupe = new backref_open_matcher();
+ dupe->copy(this);
+ return dupe;
+@@ -409,7 +409,7 @@
+
+ template<class T>
+ bool ixion::regex<T>::backref_open_matcher::match(backref_stack &brstack,T const &candidate,TIndex at) {
+- backref_stack::rewind_info ri = brstack.getRewindInfo();
++ typename backref_stack::rewind_info ri = brstack.getRewindInfo();
+ brstack.open(at);
+
+ bool result = matchNext(brstack,candidate,at);
+@@ -424,7 +424,7 @@
+
+ // regex::backref_close_matcher -----------------------------------------------
+ template<class T>
+-ixion::regex<T>::matcher *ixion::regex<T>::backref_close_matcher::duplicate() const {
++typename ixion::regex<T>::matcher *ixion::regex<T>::backref_close_matcher::duplicate() const {
+ backref_close_matcher *dupe = new backref_close_matcher();
+ dupe->copy(this);
+ return dupe;
+@@ -435,7 +435,7 @@
+
+ template<class T>
+ bool ixion::regex<T>::backref_close_matcher::match(backref_stack &brstack,T const &candidate,TIndex at) {
+- backref_stack::rewind_info ri = brstack.getRewindInfo();
++ typename backref_stack::rewind_info ri = brstack.getRewindInfo();
+ brstack.close(at);
+
+ bool result = matchNext(brstack,candidate,at);
+@@ -470,7 +470,7 @@
+
+
+ template<class T>
+-ixion::regex<T>::matcher *ixion::regex<T>::alternative_matcher::duplicate() const {
++typename ixion::regex<T>::matcher *ixion::regex<T>::alternative_matcher::duplicate() const {
+ alternative_matcher *dupe = new alternative_matcher();
+ dupe->copy(this);
+ return dupe;
+@@ -484,7 +484,7 @@
+ TSize result = 0;
+ bool is_first = true;
+
+- FOREACH_CONST(first,AltList,alt_list)
++ FOREACH_CONST_T(first,AltList,alt_list)
+ if (is_first) {
+ result = (*first)->minimumMatchLength();
+ is_first = true;
+@@ -500,7 +500,7 @@
+
+
+ template<class T>
+-void ixion::regex<T>::alternative_matcher::setNext(matcher *next,bool ownnext = true) {
++void ixion::regex<T>::alternative_matcher::setNext(matcher *next,bool ownnext) {
+ matcher::setNext(next);
+ Connector.setNext(next,false);
+ }
+@@ -524,7 +524,7 @@
+
+ template<class T>
+ bool ixion::regex<T>::alternative_matcher::match(backref_stack &brstack,T const &candidate,TIndex at) {
+- std::vector<matcher *>::iterator first = AltList.begin(),last = AltList.end();
++ typename std::vector<matcher *>::iterator first = AltList.begin(),last = AltList.end();
+ while (first != last) {
+ if ((*first)->match(brstack,candidate,at)) {
+ MatchLength = 0;
+@@ -548,7 +548,7 @@
+ super::copy(src);
+ Connector.setNext(Next,false);
+
+- FOREACH_CONST(first,src->AltList,alt_list)
++ FOREACH_CONST_T(first,src->AltList,alt_list)
+ addAlternative((*first)->duplicate());
+ }
+
+@@ -565,7 +565,7 @@
+
+
+ template<class T>
+-ixion::regex<T>::matcher *ixion::regex<T>::backref_matcher::duplicate() const {
++typename ixion::regex<T>::matcher *ixion::regex<T>::backref_matcher::duplicate() const {
+ backref_matcher *dupe = new backref_matcher(Backref);
+ dupe->copy(this);
+ return dupe;
diff -ruN --exclude=CVS /usr/ports/devel/ixlib.orig/files/patch-src::js_interpreter.cc /usr/ports/devel/ixlib/files/patch-src::js_interpreter.cc
--- /usr/ports/devel/ixlib.orig/files/patch-src::js_interpreter.cc Thu Jan 1 03:00:00 1970
+++ /usr/ports/devel/ixlib/files/patch-src::js_interpreter.cc Fri Nov 28 13:42:04 2003
@@ -0,0 +1,12 @@
+--- src/js_interpreter.cc.orig Fri Nov 28 12:56:09 2003
++++ src/js_interpreter.cc Fri Nov 28 12:56:47 2003
+@@ -89,8 +89,7 @@
+
+
+ // javascript_exception -------------------------------------------------------
+-javascript_exception::javascript_exception(TErrorCode error,code_location const &loc,char const *info,char *module = NULL,
+- TIndex line = 0)
++javascript_exception::javascript_exception(TErrorCode error,code_location const &loc,char const *info,char *module, TIndex line)
+ : base_exception(error, NULL, module, line, "JS") {
+ HasInfo = true;
+ try {
diff -ruN --exclude=CVS /usr/ports/devel/ixlib.orig/files/patch-test::javascript.cc /usr/ports/devel/ixlib/files/patch-test::javascript.cc
--- /usr/ports/devel/ixlib.orig/files/patch-test::javascript.cc Thu Jan 1 03:00:00 1970
+++ /usr/ports/devel/ixlib/files/patch-test::javascript.cc Fri Nov 28 13:42:04 2003
@@ -0,0 +1,20 @@
+--- test/javascript.cc.orig Fri Nov 28 12:57:33 2003
++++ test/javascript.cc Fri Nov 28 13:15:30 2003
+@@ -64,7 +64,7 @@
+
+
+ // simple call-in example -----------------------------------------------------
+-IXLIB_JS_DECLARE_FUNCTION(write) {
++IXLIB_JS_DECLARE_FUNCTION(write_) {
+ FOREACH_CONST(first,parameters,parameter_list)
+ cout << (*first)->toString();
+ return makeNull();
+@@ -99,7 +99,7 @@
+ // end complex call-in example --------------------------------------------
+
+ // simple call-in example -------------------------------------------------
+- ev = new write;
++ ev = new write_;
+ ip.RootScope->addMember("write",ev);
+ // end simple call-in example ---------------------------------------------
+
--- ixlib-0.96.2_3.patch ends here ---
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list