diff options
author | tobik <tobik@FreeBSD.org> | 2017-10-14 14:01:53 +0800 |
---|---|---|
committer | Koop Mast <kwm@rainbow-runner.nl> | 2018-02-04 05:44:29 +0800 |
commit | c0e0c10673c6baf05709b5efa545edf57ddf6c4f (patch) | |
tree | e1bafa25d741e062a6324f3303b319b1a4fde15a /news | |
parent | 8093e99e600f5cfe486f620080bdbc0c416cfc30 (diff) | |
download | freebsd-ports-gnome-c0e0c10673c6baf05709b5efa545edf57ddf6c4f.tar.gz freebsd-ports-gnome-c0e0c10673c6baf05709b5efa545edf57ddf6c4f.tar.zst freebsd-ports-gnome-c0e0c10673c6baf05709b5efa545edf57ddf6c4f.zip |
news/nget: Fix build with Clang and GCC > 4.8
- Remove GCC dependency since it now builds fine with Clang
- Set WRKSRC directly instead of symlinking in post-extract
Diffstat (limited to 'news')
-rw-r--r-- | news/nget/Makefile | 15 | ||||
-rw-r--r-- | news/nget/files/patch-cache.h | 29 | ||||
-rw-r--r-- | news/nget/files/patch-etree.cc | 22 | ||||
-rw-r--r-- | news/nget/files/patch-getter.h | 13 | ||||
-rw-r--r-- | news/nget/files/patch-par2_par2fileformat.h | 14 |
5 files changed, 77 insertions, 16 deletions
diff --git a/news/nget/Makefile b/news/nget/Makefile index dbee15eb356b..fc58cc2b1f81 100644 --- a/news/nget/Makefile +++ b/news/nget/Makefile @@ -3,10 +3,10 @@ PORTNAME= nget PORTVERSION= 0.27.1 -PORTREVISION= 3 +DISTVERSIONSUFFIX= +uulib +PORTREVISION= 4 CATEGORIES= news MASTER_SITES= SF -DISTNAME= nget-${PORTVERSION}+uulib MAINTAINER= ports@FreeBSD.org COMMENT= Auto-resuming command line nntp file grabber @@ -15,14 +15,17 @@ LICENSE= GPLv2+ LICENSE_FILE= ${WRKSRC}/COPYING USES= gmake -# Fails to build with GCC 4.9, cf. PR 196913. -USE_GCC= 4.8 GNU_CONFIGURE= yes +# Skip check if the C++ compiler supports exceptions. We know both +# Clang and GCC do. The configure test fails on FreeBSD 10.3 because +# it passes -fhandle-exceptions to the compiler and Clang 3.4.1 does +# not know to ignore it yet. +CONFIGURE_ARGS= my_cv_exceptions=1 + OPTIONS_DEFINE= DOCS -post-extract: - @${LN} -s nget-${PORTVERSION} ${WRKDIR}/${DISTNAME} +WRKSRC= ${WRKDIR}/nget-${PORTVERSION} do-install: ${INSTALL_PROGRAM} ${WRKSRC}/nget ${STAGEDIR}${PREFIX}/bin diff --git a/news/nget/files/patch-cache.h b/news/nget/files/patch-cache.h index f498837ba81a..a5b6b64a34a8 100644 --- a/news/nget/files/patch-cache.h +++ b/news/nget/files/patch-cache.h @@ -1,6 +1,6 @@ ---- cache.h 2004-05-29 16:00:08.000000000 -0700 -+++ cache.h 2005-09-22 22:37:43.000000000 -0700 -@@ -102,7 +102,7 @@ +--- cache.h.orig 2004-05-29 23:00:08 UTC ++++ cache.h +@@ -102,7 +102,7 @@ class c_nntp_server_article { ulong bytes,lines; c_nntp_server_article(ulong serverid,const c_group_info::ptr &group,ulong articlenum,ulong bytes,ulong lines); }; @@ -9,7 +9,7 @@ typedef pair<c_nntp_server_article*,c_server::ptr> t_real_server_article; typedef multimap<float,t_real_server_article,greater<float> > t_nntp_server_articles_prioritized; class c_nntp_part { -@@ -118,7 +118,7 @@ +@@ -118,7 +118,7 @@ class c_nntp_part { c_nntp_server_article *highest_sa=NULL; float highprio=-10000.0,f; for (;nsai!=articles.end();++nsai) { @@ -18,7 +18,7 @@ for (t_server_list_range servers = nconfig.getservers(sa->serverid); servers.first!=servers.second; ++servers.first) if ((f=nconfig.trustsizes->getserverpriority(servers.first->second)) > highprio){ highest_sa=sa; -@@ -137,7 +137,41 @@ +@@ -137,15 +137,49 @@ class c_nntp_part { }; @@ -30,7 +30,7 @@ + const_iterator i = lower_bound(partnum); + return (i != end() && (*i)->partnum == partnum); + } -+ + + c_nntp_part* part(int partnum) { + iterator i = lower_bound(partnum); + if (i != end() && (*i)->partnum == partnum) @@ -58,10 +58,10 @@ + return ((c_nntp_file_parts*)this)->lower_bound(partnum); + } +}; - ++ //#define FILEFLAG_READ 1 -@@ -145,7 +179,7 @@ + typedef map<ulong,int> t_server_have_map; class c_nntp_file : public c_nntp_file_base, public c_refcounted<c_nntp_file>{ public: @@ -70,7 +70,7 @@ int have; // ulong bytes,lines; ulong flags; -@@ -161,13 +195,13 @@ +@@ -161,13 +195,13 @@ class c_nntp_file : public c_nntp_file_base, public c_ bool iscomplete(void) const {return (have>=req) || maybe_a_textreply();} void get_server_have_map(t_server_have_map &have_map) const; // ulong banum(void){assert(!parts.empty());return (*parts.begin()).second->articlenum;} @@ -88,7 +88,16 @@ }\ return b;\ } -@@ -311,9 +345,9 @@ +@@ -228,7 +262,7 @@ class c_message_state : public c_refcounted<c_message_ + }; + + #ifdef HAVE_WORKING_HASH_MAP +-typedef hash_map<const char*, c_message_state::ptr, hash<const char*>, eqstr> t_message_state_list; ++typedef hash_map<const char*, c_message_state::ptr, std::hash<const char*>, eqstr> t_message_state_list; + #else + typedef map<const char*, c_message_state::ptr, ltstr> t_message_state_list; + #endif +@@ -311,9 +345,9 @@ class meta_mid_info { } void insert(const c_nntp_file::ptr &f){ const string &mid=f->bamid(); diff --git a/news/nget/files/patch-etree.cc b/news/nget/files/patch-etree.cc new file mode 100644 index 000000000000..e41f0d766c51 --- /dev/null +++ b/news/nget/files/patch-etree.cc @@ -0,0 +1,22 @@ +https://github.com/Optware/Optware-ng/commit/cf5b5050c989fb4e969167d20e6b135ff2608a87 + +--- etree.cc.orig 2017-10-14 02:49:56 UTC ++++ etree.cc +@@ -79,7 +79,7 @@ pred<ClassType> *new_comparison(RetType (ClassType::*m + return new Comparison<Op, MemGetter, RetType, ClassType>(member, v); + } + template <template <class A, class B> class Op, class ClassType, class RetType> +-pred<ClassType> *new_comparison(RetType (ClassType::*memberf)(void), RetType v){ ++pred<ClassType> *new_comparison(RetType (ClassType::*memberf)(void) const, RetType v){ + return new Comparison<Op, MemfuncGetter, RetType, ClassType>(memberf, v); + } + template <class ClassType, class getterT, class T2> +@@ -112,7 +112,7 @@ pred<ClassType> *new_comparison_re(RetType (ClassType: + return new Comparison_re<Op, MemGetter, RetType, ClassType>(member, pattern, flags); + } + template <template <class A, class B> class Op, class ClassType, class RetType> +-pred<ClassType> *new_comparison_re(RetType (ClassType::*memberf)(void), const char *pattern, int flags){ ++pred<ClassType> *new_comparison_re(RetType (ClassType::*memberf)(void) const, const char *pattern, int flags){ + return new Comparison_re<Op, MemfuncGetter, RetType, ClassType>(memberf, pattern, flags); + } + template <class ClassType, class getterT> diff --git a/news/nget/files/patch-getter.h b/news/nget/files/patch-getter.h new file mode 100644 index 000000000000..d750062ab487 --- /dev/null +++ b/news/nget/files/patch-getter.h @@ -0,0 +1,13 @@ +https://github.com/Optware/Optware-ng/commit/cf5b5050c989fb4e969167d20e6b135ff2608a87 + +--- getter.h.orig 2017-10-14 02:48:48 UTC ++++ getter.h +@@ -35,7 +35,7 @@ class MemGetter { + template <class RetType, class ClassType> + class MemfuncGetter { + private: +- typedef RetType (ClassType::*member_t)(void); ++ typedef RetType (ClassType::*member_t)(void) const; + member_t member; + public: + typedef RetType T; diff --git a/news/nget/files/patch-par2_par2fileformat.h b/news/nget/files/patch-par2_par2fileformat.h new file mode 100644 index 000000000000..23db2252dc68 --- /dev/null +++ b/news/nget/files/patch-par2_par2fileformat.h @@ -0,0 +1,14 @@ +./par2/par2fileformat.h:89:25: error: flexible array member 'entries' of non-POD element type 'FILEVERIFICATIONENTRY []' + FILEVERIFICATIONENTRY entries[]; + +--- par2/par2fileformat.h.orig 2017-10-14 03:14:17 UTC ++++ par2/par2fileformat.h +@@ -86,7 +86,7 @@ struct FILEVERIFICATIONPACKET + PACKET_HEADER header; + // Body + MD5Hash fileid; // MD5hash of file_hash_16k, file_length, file_name +- FILEVERIFICATIONENTRY entries[]; ++ FILEVERIFICATIONENTRY entries[0]; + } PACKED; + + // The file description packet is used to record the name of the file, |