summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrancisco Blas Izquierdo Riera (klondike) <klondike@xiscosoft.es>2013-02-10 01:01:24 +0100
committerFrancisco Blas Izquierdo Riera (klondike) <klondike@xiscosoft.es>2013-02-10 01:01:24 +0100
commit178435167dd4559ea545d69294bd0623edd447c7 (patch)
tree95fcb724e15b28f9e173cd64eb82eb5ac5d2036d
parentAdded support for stacked configurations (diff)
downloadklondike-178435167dd4559ea545d69294bd0623edd447c7.tar.gz
klondike-178435167dd4559ea545d69294bd0623edd447c7.tar.bz2
klondike-178435167dd4559ea545d69294bd0623edd447c7.zip
Updating ADCH to 2.9.0, backporting some cool features to -r1 and cleaning a little a patch.
Package-Manager: portage-2.1.11.31
-rw-r--r--net-p2p/adchpp/ChangeLog14
-rw-r--r--net-p2p/adchpp/Manifest12
-rw-r--r--net-p2p/adchpp/adchpp-2.9.0-r1.ebuild160
-rw-r--r--net-p2p/adchpp/adchpp-2.9.0.ebuild156
-rw-r--r--net-p2p/adchpp/files/adchpp-2.8.1-fix_cflags.patch1
-rw-r--r--net-p2p/adchpp/files/adchpp-2.9.0-add_SWIGLUA_REF.patch118
-rw-r--r--net-p2p/adchpp/files/adchpp-2.9.0-fix_cflags.patch78
-rw-r--r--net-p2p/adchpp/files/adchpp-2.9.0-fix_listreg.patch40
-rw-r--r--net-p2p/adchpp/files/adchpp-2.9.0-fix_luasockets_guide.patch45
-rw-r--r--net-p2p/adchpp/files/adchpp-2.9.0-fix_nullptr.patch36
10 files changed, 656 insertions, 4 deletions
diff --git a/net-p2p/adchpp/ChangeLog b/net-p2p/adchpp/ChangeLog
index 124b100..779bbe0 100644
--- a/net-p2p/adchpp/ChangeLog
+++ b/net-p2p/adchpp/ChangeLog
@@ -1,7 +1,19 @@
# ChangeLog for net-p2p/adchpp
-# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
+# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
# $Header: $
+*adchpp-2.9.0-r1 (10 Feb 2013)
+*adchpp-2.9.0 (10 Feb 2013)
+
+ 10 Feb 2013; Francisco Blas Izquierdo Riera (klondike)
+ files/adchpp-2.8.1-fix_cflags.patch, +adchpp-2.9.0.ebuild,
+ +adchpp-2.9.0-r1.ebuild, +files/adchpp-2.9.0-add_SWIGLUA_REF.patch,
+ +files/adchpp-2.9.0-fix_cflags.patch, +files/adchpp-2.9.0-fix_listreg.patch,
+ +files/adchpp-2.9.0-fix_luasockets_guide.patch,
+ +files/adchpp-2.9.0-fix_nullptr.patch:
+ Updating ADCH to 2.9.0, backporting some cool features to -r1 and cleaning a
+ little a patch.
+
29 Nov 2012; Francisco Blas Izquierdo Riera (klondike) files/adchpp.init.d:
Added support for stacked configurations
diff --git a/net-p2p/adchpp/Manifest b/net-p2p/adchpp/Manifest
index b99fd4f..8caebc8 100644
--- a/net-p2p/adchpp/Manifest
+++ b/net-p2p/adchpp/Manifest
@@ -4,17 +4,25 @@ AUX adchpp-2.8.0-fix_doc_includes.patch 1668 SHA256 fe421b91ad69b1a8eee9c793ebc7
AUX adchpp-2.8.0-fix_guide_paths.patch 687 SHA256 35ae569de9a6fadb44fad07b659391527627f9dc1911a8495f8ff11a8b036da2 SHA512 921232c7682603638dae7e52ca839b195d2e88cd6fed02e188251bd1de5e50e31ec02d96193526d63a4a27b07ffa1228500a7fe8c01e6febc36c8489b88e613d WHIRLPOOL 2fada6a45b04d57e08610bdc90e7d9c8d8d115641218b8ac5c97478709eb2678d56189d8a50271cb489f31a49132fa9e2a0dc46f9c4cfdccd40fd09b2901cdfb
AUX adchpp-2.8.0-fix_python.patch 584 SHA256 022dee2338a596451987e0696abaa7c65a81b02a4e01062aeff0c0f1a401cf11 SHA512 0dd2387d07be77262bc591a74016586a64459fb40b1603fba67158f76cba46d155a79b022a986b90c4080485b361bcdf95e77e6e2552b11c17980cef79c9f9a0 WHIRLPOOL e85606944e440fe1970af0c92473cde53792d518c569309240734219ff975b81a0647b503eaa85916075b3f2c5ea27c4fa6d382a78e2190629ca27cd2cae3f32
AUX adchpp-2.8.0-fix_ruby.patch 1937 SHA256 e0a2ec075af4394950de69fd64d9eeeae662723832157abefc561f9c17fd9b90 SHA512 4206be60eebc1769815bd5168ed905789548fd904c5e734907c5c8ddaec7c705d179857960851558cb3c5a493e8302a2588429d2574c1a96f4891d12b7b23b9c WHIRLPOOL 738783435f920ec9552061feece880c056eee14ce988d8733b5c9080be0777c061db040380112c4fefa3c99fc5a017b5d662de96f8eaaab59f4d65f7fddb40eb
-AUX adchpp-2.8.1-fix_cflags.patch 2304 SHA256 0059806e433a3cfe68031b9e36ad83c61e9b8dc1a46e7d883ff62963b0d7112d SHA512 9b37bd1ed81c1dc0823ae4c4598867a5851e46e72eedfd502cdd15c626b60bd033d646111db6b9391d5e82df255c040e8fdff4629e7cafeaf26d66a5678b9f48 WHIRLPOOL c5f7222ef83b98d6bb8867bb889f0e7037948f131710577213b84fd3c624da7e8de429691b4cedc5967c225dcd23bd9a001375d59d225f1d378686b9712d97ee
+AUX adchpp-2.8.1-fix_cflags.patch 2257 SHA256 62ad046a7c74df797917c22fb0fcc057011e69c4a88f48c4ac28ea99d1540711 SHA512 225fae5c0c66088cbfaa0c81d57e74f01e2d2f8173863808360846e2fbca81c271670b8758b9c5d744c2e90b86fedbe6b214083c73304dadf42f2f8a25efa2fc WHIRLPOOL 6c62f0945d68ccb7641c1b9d255d7756705772c6f2c6cd55ad002b9c5021ba70f710719d8f7819611816ceedceb0cc431ccc89f250d2ecb7ddcc072fea9c63c8
AUX adchpp-2.8.1-fix_disconnect_signal.patch 3044 SHA256 c8626cf2fe33e119266a54ee44634e22bc76a4fe316e6f1df7352b123c3c62f0 SHA512 3a3977019a178ef5a3dca9f5e17f0d1412d1ac6d89f99b8d710ef912ed1ae5a873ce34de934fda3fb2eb20693e327bd257f3a050e999f3ec510145f3874b4c56 WHIRLPOOL b366f25f23c59f85b6df5074457f1d03259a3ab639cdf9753f5db13d1bdb21196c53fc31812f304efac74c22bc8fe18866c97713c93cba8b8aecd0cea253ae60
AUX adchpp-2.8.1-fix_disconnects.patch 1269 SHA256 25a1aa11763b7e1666691740ada31989fa485a62068c9901909dccb29792b42c SHA512 dd9fc8f0c0929c7023aa33bab66a6cf2133084fa0203026ea5cda5da51bdcc123cee0ed691e716e0c96c86e67e67bccdac359f53715b10ccadb3138fa8a5f6c5 WHIRLPOOL 0ea42176c3227c86380b1d1df92af536690efef8e59f370735e8a124bae3053a282cb7ec42083d70d450462df39fb1b24cbe9ec7eba55df4b755cd1c8ac63e8d
AUX adchpp-2.8.1-fix_python.patch 712 SHA256 844d58c65e4629c7406eca60147fe8c56bc5f70b5e3f56a2538695dc30a36a5d SHA512 ae3eb9e358af57172ab5a754be8e80cc9ed85c62d0354c21840f1af18dcddac38d84aa426854ce32d21e733cbb069f641e080b4e5db9137a334ef48f2c22f124 WHIRLPOOL 7b1eee8d19aff1ff2ab64a0eb92c12224ee2e9773ced37c28c03f3b6542a72df67075aa310fcd0160556363d1608dcfe3c2222fc7c088ec9ee62e550f5055191
+AUX adchpp-2.9.0-add_SWIGLUA_REF.patch 3286 SHA256 52408dbcaa4cc02a24ac4cc95852af22c96f3a8133090f53a4de8f552fa6d9ab SHA512 2de814711f1e0fd636f6487141e565b39830a10c76d8f0abc8044d66a3ae9eacab48e80ce56f3d7ddbb8db11c83a53c3176a2c2d69f15f518cd57838b0803214 WHIRLPOOL 74fe811f25a73f4af942ba98af2540af7c3978a8d916b162aeca1a91f43dd45bc9a183e51b8b089a9cac6eb186e37a29e8db42b91104d3de05a3317647b074a9
+AUX adchpp-2.9.0-fix_cflags.patch 2426 SHA256 6283615c7e5d2d353570c701a2e7e919c80ad609a2846de2fdc78cd00523f66a SHA512 dac477688b7440d8ed126b4ba507c6562bacf065b6f86324eaa8006b06000043c8ebd8c5ec783b1f6c71513e0629ecb538b6d5cb35ea3da1c43ad06bbbdf2401 WHIRLPOOL d10167c44ceae61766611e18962d4af273682ad13c237396fd5df52eeb4b965998f37131003e0220217a6727315a4701d49b0ae159e1172c4989f58da5528bc8
+AUX adchpp-2.9.0-fix_listreg.patch 1592 SHA256 6666ea99312e570da5193655af63ef7299b001809182ffab30e624468354ad25 SHA512 73cb66fbc26a893fad5772a70731aab6bcc07903f4cd390407973293ac02e4b60db4c5116e59e91ea33bed0f229cbffe353b6e976814b7c281daa9105eea9261 WHIRLPOOL 372daa9ce0f3f9455623ea73743b48c920b0540a9d451ea3a81d3f5dc498437a7b25668a888d4de4ff501c2f8f67667ef3a1e93dc3b46f6e8c5f982ed972dbf8
+AUX adchpp-2.9.0-fix_luasockets_guide.patch 3605 SHA256 811d0c7c9226c5f8ace87d35f6cfa3a3e09018537ffdcf46ec8f7b56365a699c SHA512 997e8b68a9b1f95277262dc63f638640a5c6986d047ec8b8c86ede045d37c3e0dfb46dab5959e30398268628d6f4910fe1a1fc66e8c0607a38895864d95370c6 WHIRLPOOL d35d9e29848ee939b715129d74d7e443ada47e9eccd6db7e359ff9dde6c6e59adb61eb683461115334cfb15767518d3c9b279f627fe22c4345cbc7680e13c6ad
+AUX adchpp-2.9.0-fix_nullptr.patch 930 SHA256 3bf9bdde914746e73e6a1dc9b13196ec544b01c87156e59489e13e4df9ba5d27 SHA512 b5304a535980c4187ddb4d368dd809bbffa590fd9678442f513647ec72809f94e650e66112937c2351b424d9f4a9afefdb9e789ae4f99d8c68afad8424a7c9a6 WHIRLPOOL 2b0afe2679a8f4f7102d03c8398ff921fc99bf99fd36560650646ae51d25bfc59257b35e86e619341c9ac943ce70d4542148842ae126efb5dd6941c6349bf378
AUX adchpp.conf.d 310 SHA256 15955fc380ae76be3b235cb2d87cb55d7e356ff23a1bde47defc06b686e1ec57 SHA512 6a31e68bef59fca8841c88b83ca6f49a3012552921435d04c8c76cb4c7e9b044aa5ebac00ad97f751cb993860f6dd0c449c1d5a5b8a91f4cd7a814fd26813b6d WHIRLPOOL 8ff4e1975e4f8a6d28cababf379776eb57f1cf9b9f1477a423c6a9535956396ae9fec834a6ad79152920da0fcb3050193b26def1153c4da92a5d533d53e5e5e7
AUX adchpp.init.d 517 SHA256 8be227ebd1e7acd7b80db458d2e9902d2536662e8a8bba8a9a073a6e4a1d781e SHA512 7003108291f8b050f479eb460e51021bfc8d755e00281198725eb1089b8798a84ef462a9771db554471f5da0bf642883079a0d53662cd1d6d30bb5d7f9a6cb48 WHIRLPOOL 6f35cd24dc41ec3c83216dfbaab1c1e2310ddae4df9df36a3e84755bdd591b18ca78a7c648322d587cd5a5b2f00914783a076231c5896d2e66a67223926da317
AUX adchpp_runner.sh 185 SHA256 3fc062bea86aa313c20315a293c0164bf52fe272c0e46d0e2753cc29b5ca89cb SHA512 60eb17ed3c3d2244bbdf77e00a413a97da82cb2045e0761c7e86951ce31b7e8de7d3470fd420a0f2b09f0f0f46ab1125f49a1f289bc8cfcf49a7436fb79f1e3c WHIRLPOOL 04b60a57145ac8a8bb835a7bd2b23293fa913c78dbdcb93c070b8590188ee930a1cc4a8fe766cba21c50d42d680db359e0d4a051dd1ac7c9b84466b3db7c2503
DIST adchpp_2.8.0_source.tar.gz 8446076 SHA256 7819f18f4fbd5a17f1e06ca9aa66f6c1a31d59cab7b0e600940283aa0e6307c2 SHA512 e8b35a1cbbf641004788b0647f70a0b9b59d7eafcf8b7bef6b5157c5331b703ff30e9dfe8fe2d7097b2a3afbce40e4cdd0655e9fc8d6192702030e2e19c8025b WHIRLPOOL 429af354c8355a91b23b5e9ccba853a5aebb53a5d9d9acd0006adf543483e0145061543c4027f0dfa6b5983d0669dc4f4f20a552a3eb52f10df339c5e4fdec26
DIST adchpp_2.8.1_source.tar.gz 8551219 SHA256 666e68056d6e4fc1f59ed2822eed914af293fa708fb943a046b40b4ba294a4f3 SHA512 b2c9a8c5a7cc1648f63690ea23c81d0d5ee0a555cd0e3ee2b5b302b195be6fafeb32d520758da124ff0b0f74e3fd12093456004a493e7547afa57ab01250089e WHIRLPOOL d09836ce0a8fcafb4f22775a74401f95864d05b7964e2b1c2fd5966005c93db8806e56c8f7eb11c2e6d7885989a44d6f1c7762ffa68a852b3f6af6211c131dfd
+DIST adchpp_2.9.0_source.tar.gz 8685696 SHA256 fe97b9dad7689c38411c965c75218ee4fc527d68570c9842e53354097cb27636 SHA512 86f1ab8b3cc02d30c9edf978baa93889703ac0c75112a77cc0e2aa7e361552e2b1da7ae9895d86ca394d06ff8f6a19a2faed1e278bd6bca5728bae87f25800b6 WHIRLPOOL a9657078f51b1681321c8229ac699fa2011cc44d30b1a2c19b8b5d3f403560ee08741664cb6a3bf751a5a9c1026602acd305bb1830ac0f2bd719897d420296a5
EBUILD adchpp-2.8.0.ebuild 4099 SHA256 c1115000de26fb362a30d5b7de5fa72fb58e09eb0d8898e2e2856f1f704fe917 SHA512 1c5c8ea7debd93bed566fbdc9f19c5edde99267d71434ccb2c540f486257efcb1beea536a204e47e4a80006fffcb116619932ffad92669c8535d6786ed3cef1a WHIRLPOOL 79fb246ddfa6b3d9d7939d73b2801927ab1fb8b0418347bdffddd62d5e888369461811d85c32f2a476d0a25e33c76697f7d27385541e4fca8a936b84660672ca
EBUILD adchpp-2.8.1-r3.ebuild 4174 SHA256 ff097f091651ded4edc3786575ef74a395f87a851ee01f3a35961fec73e0958d SHA512 a63b815ece9fc0f4cdfde0c8d66ee78494c2b96e80b0a44ca8334a89d6f3395a9712200e4156a66dd696fc72d7690015a5f360dccbaca2a89d2079e8b9d4312d WHIRLPOOL 0fc82c8720afa63fe1cbed8dbcc23319dd79f8ed0f626c7df0d39d99e58219431b81e6228f662b33c00f2ce86ca7e659a168387c58072eb17ee42746df1a32da
-MISC ChangeLog 1787 SHA256 b9bd1a782bb6e54ecc1cf389676c1dbfa519562c349dd172441e8acafd1a6d52 SHA512 34f483287d442729319356e3f5890c875dea1ae2d456011fa10c82bbdeeccf671fdc271aa62536b0024cea2f2c97064098b24cf9a1f719e0b2b06b5bebc45b57 WHIRLPOOL 1ec5a7158ed4588390dd5bd42732eb92763df7b27117f9d2b41b090b7ed502e641570a1cf9846fdade8b21574f707e86415f7d5e0425d2e608faed6409afcade
+EBUILD adchpp-2.9.0-r1.ebuild 4207 SHA256 05e7064b333be8ef13562055558e6e4399d120d8c85843a8f6c5f5f9bf6d8f0b SHA512 705d5e21cbf9960977cb24f732d2d9cb852d86173baffd79e8db3468b37b5de9dc7139341080faad24904ced58732c6f6c53a760b86e190ef1f95ccd7e1c6aec WHIRLPOOL 19046ed14aadb09fc8df85f66f86803c60aad7c966a6178cf7087cbae32a6d7f4b23fe9716b091628aa3266d296f3358abb8430e07c64a65ae5d0f8c1d1c3838
+EBUILD adchpp-2.9.0.ebuild 4002 SHA256 ec7397d234e6f2bff49714badd4808d1d7438b8c1a5ba7a9eb89b6550e818a7b SHA512 7fa1e4a3b866420331789951f2cac879d6d9fffa7a5fbc148aeea7aadee707a69aeaa9d5129e24e5e74fc1d8d510be26c3581e63593277d6f7d91c523932b8fd WHIRLPOOL d966a9bd09ecc04c28f1aba08f17a510f4ee0dc6fd1d64775efce34e2fe957ca196013d86c7d4e82e7ad2ac4c07a18218b56c85faf8287fff7419d352541bf78
+MISC ChangeLog 2303 SHA256 f8f76fa041e413b670bb9d9bedd0f1a680910f426159a9cc761e31a5d490a612 SHA512 def8c9dae9b5c4aab689d9ed466cb0bc25418112b446b0b12e59b0baaa7b7f2a86fdc783f969838dd6493f6e81c67cdcc13560e4c8ebff402c2a67ba0cd5f0a3 WHIRLPOOL 132a2d7597ea778a1caaa3927b475c305a7adacb0237cd0d1f98001ab080490ce8f6b909b862561b94447ff3496b12fd68aed9ae1564a337a5f010cb182b7a3b
MISC TODO 112 SHA256 4d3a6f431d988c8ac37e6bbdb8fc946ddc591cce2029a83a339e0b16e4954d4c SHA512 297523e8d11393dc37db2616561e027cd39191cfbdc5b0fe5cc95b3b8f038e90b491ad10feb256506fad996e5b427990a6aa479976524cf22f873588705bbbb6 WHIRLPOOL 5f06b3cd7e94f6d5f905be92ab915f71763b009572d69b63de0e92411fb97591696bf4bb67913a1acc8b72291add029f4ccc6fe76cf3d640766e78caf056412d
MISC metadata.xml 407 SHA256 f5001e99b6181be8bac1b3ba8dbbce6ff2d63084ea64816cbb16d53a6871738b SHA512 2d89602c893366202dd7bb25928869e85febc1bda1e3e1a6547149aa84a38eae542629356de26dede7d72eae1d0262a06edd50b963fb02c403f60164a393eea1 WHIRLPOOL 32509c63bbafb3c1b5e6c9c75cfa2fbcc47afeaa6903d266c8f8d167e5895f7c44c8759647c6f073630f56c5a12fdb14ea3c8742df9639ae8bd4dfa5c43f6cbf
diff --git a/net-p2p/adchpp/adchpp-2.9.0-r1.ebuild b/net-p2p/adchpp/adchpp-2.9.0-r1.ebuild
new file mode 100644
index 0000000..6050e3d
--- /dev/null
+++ b/net-p2p/adchpp/adchpp-2.9.0-r1.ebuild
@@ -0,0 +1,160 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=4
+SCONS_MIN_VERSION=1.2.0
+
+inherit eutils scons-utils toolchain-funcs
+
+DESCRIPTION="ADC protocol hub made by the people behind DC++"
+HOMEPAGE="http://adchpp.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${PN}_${PV}_source.tar.gz"
+S="${WORKDIR}/${PN}_${PV}_source"
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ia64 ~x86"
+#TODOS:
+#Add info on script and bloom uses
+#Python use only on x86 builds
+#Select languages
+IUSE="+bloom debug doc +lua pch +python +ruby +script +ssl"
+
+RDEPEND="ssl? ( dev-libs/openssl )
+ python? ( || ( dev-lang/python:2.5 dev-lang/python:2.6 dev-lang/python:2.7 ) )
+ ruby? ( >=dev-lang/ruby-1.9.2 dev-lang/ruby:1.9 )
+ sys-libs/readline"
+DEPEND="${RDEPEND}
+ >=dev-lang/swig-1.3.40
+ >=sys-devel/gcc-4.4
+ ruby? ( >=dev-ruby/rubygems-1.8 )
+ doc? ( >=app-text/asciidoc-8.6 )"
+
+#This sets some useful variables needed for configure and install
+pkg_setup() {
+ if use x86; then
+ export tarch=x86
+ elif use amd64; then
+ export tarch=x64
+ elif use ia64; then
+ export tarch=ia64
+ else
+ die "Invalid arch"
+ fi
+
+ if use debug; then
+ export tmode=debug
+ else
+ export tmode=release
+ fi
+ #Shortcut for the packages library dir
+ export libpath="/usr/$(get_libdir)/${P}"
+ export logpath="/var/log/${PN}"
+ export etcpath="/etc/${PN}"
+ export sharepath="/usr/share/${P}"
+ export varpath="/var/lib/${PN}"
+
+ #Create the users
+ enewgroup adchpp
+ enewuser adchpp -1 -1 -1 "adchpp"
+}
+
+src_configure() {
+ mylangs=""
+ use lua && mylangs=$mylangs,lua
+ use python && mylangs=$mylangs,python
+ use ruby && mylangs=$mylangs,ruby
+
+ myplugins=""
+ use bloom && myplugins=$myplugins,Bloom
+ use script && myplugins=$myplugins,Script
+
+ myesconsargs=(
+ plugins=$myplugins
+ langs=$mylangs
+ mode=$tmode
+ $(use_scons ssl secure)
+ $(use_scons pch gch)
+ $(use_scons doc docs)
+ arch=$tarch
+#to use propper ruby
+ ruby=ruby19
+ )
+}
+
+src_prepare() {
+ epatch "${FILESDIR}/${PN}-2.8.0-fix_config_paths.patch" \
+ "${FILESDIR}/${PN}-2.9.0-fix_cflags.patch" \
+ "${FILESDIR}/${PN}-2.9.0-fix_listreg.patch" \
+ "${FILESDIR}/${PN}-2.9.0-fix_nullptr.patch" \
+ "${FILESDIR}/${PN}-2.9.0-fix_luasockets_guide.patch" \
+ "${FILESDIR}/${PN}-2.9.0-add_SWIGLUA_REF.patch"
+ sed -e "s:%%ADCHPPLIB%%:$libpath:g" \
+ "${FILESDIR}/adchpp_runner.sh" > adchpp_runner.sh
+ sed -e "s:%%ADCHPPLIB%%:$libpath:g" \
+ -e "s:%%ADCHPPSHARE%%:$sharepath:g" \
+ -e "s:%%ADCHPPETC%%:$etcpath:g" \
+ -e "s:%%ADCHPPLOG%%:$logpath:g" \
+ -i etc/adchpp.xml -i etc/Script.xml \
+ -i rbutil/adchpp.rb -i pyutil/adchpp.py
+}
+
+src_compile() {
+ tc-export CC CXX
+ export LINKFLAGS="${LDFLAGS}"
+ export CCFLAGS="${CFLAGS}"
+ export CCFLAGS="${CXXFLAGS}"
+ escons || die
+}
+
+src_install() {
+ if use doc; then
+ newdoc build/docs/readme.html readme.txt
+ dohtml -r build/docs/user_guide/
+ fi
+ newbin adchpp_runner.sh adchppd
+ exeinto "$libpath"
+ doexe "build/$tmode-default-$tarch/bin/"adchppd
+ doexe "build/$tmode-default-$tarch/bin/"*.so
+ keepdir "$logpath"
+ fowners root:adchpp "$logpath"
+ fperms 0770 "$logpath"
+ insinto "$etcpath"
+ doins etc/adchpp.xml
+ fowners root:adchpp "$etcpath"
+ fperms 0770 "$etcpath"
+ #For some reason the core starts login here before booting
+ dosym "$logpath" "$etcpath/logs"
+ if use ssl; then
+ exeinto "$sharepath"
+ doexe linux/generate_certs.sh
+ keepdir "$etcpath/certs"
+ fperms 0700 "$etcpath/certs"
+ fowners adchpp:adchpp "$etcpath/certs"
+ keepdir "$etcpath/certs/trusted"
+ fperms 0700 "$etcpath/certs/trusted"
+ fowners adchpp:adchpp "$etcpath/certs/trusted"
+ fi
+ if use script; then
+ insinto "$etcpath"
+ doins etc/Script.xml
+ insinto "$sharepath/scripts"
+ doins plugins/Script/examples/*
+ fperms 0750 "$sharepath/scripts"
+ fowners root:adchpp "$sharepath/scripts"
+ keepdir "$etcpath/FL_DataBase"
+ fowners adchpp:adchpp "$etcpath/FL_DataBase"
+ fperms 0770 "$etcpath/FL_DataBase"
+ dosym "$etcpath/FL_DataBase" "$sharepath/scripts/FL_DataBase"
+ fi
+ if use ruby; then
+ insinto "$sharepath"
+ doins -r rbutil
+ fi
+ if use python; then
+ insinto "$sharepath"
+ doins -r pyutil
+ fi
+ newinitd "${FILESDIR}/${PN}.init.d" "${PN}"
+ newconfd "${FILESDIR}/${PN}.conf.d" "${PN}"
+}
diff --git a/net-p2p/adchpp/adchpp-2.9.0.ebuild b/net-p2p/adchpp/adchpp-2.9.0.ebuild
new file mode 100644
index 0000000..3fc5ba6
--- /dev/null
+++ b/net-p2p/adchpp/adchpp-2.9.0.ebuild
@@ -0,0 +1,156 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=4
+SCONS_MIN_VERSION=1.2.0
+
+inherit eutils scons-utils toolchain-funcs
+
+DESCRIPTION="ADC protocol hub made by the people behind DC++"
+HOMEPAGE="http://adchpp.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${PN}_${PV}_source.tar.gz"
+S="${WORKDIR}/${PN}_${PV}_source"
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ia64 ~x86"
+#TODOS:
+#Add info on script and bloom uses
+#Python use only on x86 builds
+#Select languages
+IUSE="+bloom debug doc +lua pch +python +ruby +script +ssl"
+
+RDEPEND="ssl? ( dev-libs/openssl )
+ python? ( || ( dev-lang/python:2.5 dev-lang/python:2.6 dev-lang/python:2.7 ) )
+ ruby? ( >=dev-lang/ruby-1.9.2 dev-lang/ruby:1.9 )
+ sys-libs/readline"
+DEPEND="${RDEPEND}
+ >=dev-lang/swig-1.3.40
+ >=sys-devel/gcc-4.4
+ ruby? ( >=dev-ruby/rubygems-1.8 )
+ doc? ( >=app-text/asciidoc-8.6 )"
+
+#This sets some useful variables needed for configure and install
+pkg_setup() {
+ if use x86; then
+ export tarch=x86
+ elif use amd64; then
+ export tarch=x64
+ elif use ia64; then
+ export tarch=ia64
+ else
+ die "Invalid arch"
+ fi
+
+ if use debug; then
+ export tmode=debug
+ else
+ export tmode=release
+ fi
+ #Shortcut for the packages library dir
+ export libpath="/usr/$(get_libdir)/${P}"
+ export logpath="/var/log/${PN}"
+ export etcpath="/etc/${PN}"
+ export sharepath="/usr/share/${P}"
+ export varpath="/var/lib/${PN}"
+
+ #Create the users
+ enewgroup adchpp
+ enewuser adchpp -1 -1 -1 "adchpp"
+}
+
+src_configure() {
+ mylangs=""
+ use lua && mylangs=$mylangs,lua
+ use python && mylangs=$mylangs,python
+ use ruby && mylangs=$mylangs,ruby
+
+ myplugins=""
+ use bloom && myplugins=$myplugins,Bloom
+ use script && myplugins=$myplugins,Script
+
+ myesconsargs=(
+ plugins=$myplugins
+ langs=$mylangs
+ mode=$tmode
+ $(use_scons ssl secure)
+ $(use_scons pch gch)
+ $(use_scons doc docs)
+ arch=$tarch
+#to use propper ruby
+ ruby=ruby19
+ )
+}
+
+src_prepare() {
+ epatch "${FILESDIR}/${PN}-2.8.0-fix_config_paths.patch" \
+ "${FILESDIR}/${PN}-2.9.0-fix_cflags.patch"
+ sed -e "s:%%ADCHPPLIB%%:$libpath:g" \
+ "${FILESDIR}/adchpp_runner.sh" > adchpp_runner.sh
+ sed -e "s:%%ADCHPPLIB%%:$libpath:g" \
+ -e "s:%%ADCHPPSHARE%%:$sharepath:g" \
+ -e "s:%%ADCHPPETC%%:$etcpath:g" \
+ -e "s:%%ADCHPPLOG%%:$logpath:g" \
+ -i etc/adchpp.xml -i etc/Script.xml \
+ -i rbutil/adchpp.rb -i pyutil/adchpp.py
+}
+
+src_compile() {
+ tc-export CC CXX
+ export LINKFLAGS="${LDFLAGS}"
+ export CCFLAGS="${CFLAGS}"
+ export CCFLAGS="${CXXFLAGS}"
+ escons || die
+}
+
+src_install() {
+ if use doc; then
+ newdoc build/docs/readme.html readme.txt
+ dohtml -r build/docs/user_guide/
+ fi
+ newbin adchpp_runner.sh adchppd
+ exeinto "$libpath"
+ doexe "build/$tmode-default-$tarch/bin/"adchppd
+ doexe "build/$tmode-default-$tarch/bin/"*.so
+ keepdir "$logpath"
+ fowners root:adchpp "$logpath"
+ fperms 0770 "$logpath"
+ insinto "$etcpath"
+ doins etc/adchpp.xml
+ fowners root:adchpp "$etcpath"
+ fperms 0770 "$etcpath"
+ #For some reason the core starts login here before booting
+ dosym "$logpath" "$etcpath/logs"
+ if use ssl; then
+ exeinto "$sharepath"
+ doexe linux/generate_certs.sh
+ keepdir "$etcpath/certs"
+ fperms 0700 "$etcpath/certs"
+ fowners adchpp:adchpp "$etcpath/certs"
+ keepdir "$etcpath/certs/trusted"
+ fperms 0700 "$etcpath/certs/trusted"
+ fowners adchpp:adchpp "$etcpath/certs/trusted"
+ fi
+ if use script; then
+ insinto "$etcpath"
+ doins etc/Script.xml
+ insinto "$sharepath/scripts"
+ doins plugins/Script/examples/*
+ fperms 0750 "$sharepath/scripts"
+ fowners root:adchpp "$sharepath/scripts"
+ keepdir "$etcpath/FL_DataBase"
+ fowners adchpp:adchpp "$etcpath/FL_DataBase"
+ fperms 0770 "$etcpath/FL_DataBase"
+ dosym "$etcpath/FL_DataBase" "$sharepath/scripts/FL_DataBase"
+ fi
+ if use ruby; then
+ insinto "$sharepath"
+ doins -r rbutil
+ fi
+ if use python; then
+ insinto "$sharepath"
+ doins -r pyutil
+ fi
+ newinitd "${FILESDIR}/${PN}.init.d" "${PN}"
+ newconfd "${FILESDIR}/${PN}.conf.d" "${PN}"
+}
diff --git a/net-p2p/adchpp/files/adchpp-2.8.1-fix_cflags.patch b/net-p2p/adchpp/files/adchpp-2.8.1-fix_cflags.patch
index 7e80cf9..c12d071 100644
--- a/net-p2p/adchpp/files/adchpp-2.8.1-fix_cflags.patch
+++ b/net-p2p/adchpp/files/adchpp-2.8.1-fix_cflags.patch
@@ -1,4 +1,3 @@
-Sólo en adchpp_2.8.1_source: .sconsign.dblite
diff -ur adchpp_2.8.1_source.orig//SConstruct adchpp_2.8.1_source/SConstruct
--- adchpp_2.8.1_source.orig//SConstruct 2012-09-17 09:30:08.016122458 +0200
+++ adchpp_2.8.1_source/SConstruct 2012-09-17 10:27:40.237129827 +0200
diff --git a/net-p2p/adchpp/files/adchpp-2.9.0-add_SWIGLUA_REF.patch b/net-p2p/adchpp/files/adchpp-2.9.0-add_SWIGLUA_REF.patch
new file mode 100644
index 0000000..d46edbd
--- /dev/null
+++ b/net-p2p/adchpp/files/adchpp-2.9.0-add_SWIGLUA_REF.patch
@@ -0,0 +1,118 @@
+=== modified file 'changelog.txt'
+--- changelog.txt 2012-11-26 17:28:07 +0000
++++ changelog.txt 2013-02-07 21:44:55 +0000
+@@ -1,4 +1,5 @@
+ * Improve Lua scripts
++* [L#1118699] Normalize per-entity data storage from Lua
+
+ -- 2.9.0 2012-10-23 --
+ * Add Lua FileSystem
+
+=== modified file 'plugins/Script/examples/access.lua'
+--- plugins/Script/examples/access.lua 2012-11-26 17:28:07 +0000
++++ plugins/Script/examples/access.lua 2013-02-07 21:44:55 +0000
+@@ -104,7 +104,7 @@
+ local pm = adchpp.getPM()
+ local sm = adchpp.getSM()
+
+-local saltsHandle = pm:registerByteVectorData()
++local saltsHandle = pm:registerPluginData()
+
+ -- forward declarations.
+ local cut_str,
+@@ -892,7 +892,7 @@
+
+ autil.reply(c, "You are registered, please provide a password")
+
+- c:setByteVectorData(saltsHandle, cm:enterVerify(c, true))
++ c:setPluginData(saltsHandle, cm:enterVerify(c, true))
+ return false
+ end
+
+@@ -902,7 +902,7 @@
+ return false
+ end
+
+- local salt = c:getByteVectorData(saltsHandle)
++ local salt = c:getPluginData(saltsHandle)
+
+ if not salt then
+ autil.dump(c, adchpp.AdcCommand_ERROR_PROTOCOL_GENERIC, "You didn't get any salt?")
+
+=== modified file 'swig/lua.i'
+--- swig/lua.i 2012-08-04 19:24:47 +0000
++++ swig/lua.i 2013-02-07 21:44:55 +0000
+@@ -1,4 +1,5 @@
+ %module luadchpp
++%include "lua_fnptr.i"
+
+ /*
+ in addition to the elements defined here and in adchpp.i, the Lua interface also includes:
+@@ -9,6 +10,15 @@
+ before a script is being loaded or unloaded. return true to discard further processing.
+ */
+
++%inline %{
++/* Deleter for per-entity objects */
++static void free_lua_ref(void *data) {
++ SWIGLUA_REF *ref = reinterpret_cast<SWIGLUA_REF*> (data);
++ swiglua_ref_clear(ref);
++ delete ref;
++}
++%}
++
+ typedef unsigned int size_t;
+
+ %{
+@@ -307,38 +317,22 @@
+ }
+
+ %extend adchpp::Entity {
+- std::string getStringData(const PluginDataHandle& handle) {
+- void* ret = $self->getPluginData(handle);
+- if(ret) {
+- return *reinterpret_cast<std::string*>(ret);
+- }
+- return std::string();
+- }
+-
+- void setStringData(const PluginDataHandle& handle, std::string data) {
+- $self->setPluginData(handle, reinterpret_cast<void*>(new std::string(data)));
+- }
+-
+- ByteVector getByteVectorData(const PluginDataHandle& handle) {
+- void* ret = $self->getPluginData(handle);
+- if(ret) {
+- return *reinterpret_cast<ByteVector*>(ret);
+- }
+- return ByteVector();
+- }
+-
+- void setByteVectorData(const PluginDataHandle& handle, ByteVector data) {
+- $self->setPluginData(handle, reinterpret_cast<void*>(new ByteVector(data)));
++ SWIGLUA_REF getPluginData(const PluginDataHandle& handle) {
++ void* ret = $self->getPluginData(handle);
++ if(ret) {
++ return *reinterpret_cast<SWIGLUA_REF*>(ret);
++ }
++ return {0, 0};
++ }
++
++ void setPluginData(const PluginDataHandle& handle, SWIGLUA_REF data) {
++ $self->setPluginData(handle, reinterpret_cast<void*>(new SWIGLUA_REF(data)));
+ }
+ }
+
+ %extend adchpp::PluginManager {
+- PluginDataHandle registerStringData() {
+- return self->registerPluginData(PluginData::simpleDataDeleter<std::string>);
+- }
+-
+- PluginDataHandle registerByteVectorData() {
+- return self->registerPluginData(PluginData::simpleDataDeleter<ByteVector>);
++ PluginDataHandle registerPluginData() {
++ return self->registerPluginData(free_lua_ref);
+ }
+ }
+
+
diff --git a/net-p2p/adchpp/files/adchpp-2.9.0-fix_cflags.patch b/net-p2p/adchpp/files/adchpp-2.9.0-fix_cflags.patch
new file mode 100644
index 0000000..cdf0534
--- /dev/null
+++ b/net-p2p/adchpp/files/adchpp-2.9.0-fix_cflags.patch
@@ -0,0 +1,78 @@
+diff -ur adchpp_2.9.0_source.orig/SConstruct adchpp_2.9.0_source/SConstruct
+--- adchpp_2.9.0_source.orig/SConstruct 2013-02-07 21:31:11.952964272 +0100
++++ adchpp_2.9.0_source/SConstruct 2013-02-07 21:33:06.574966920 +0100
+@@ -6,9 +6,9 @@
+ from build_util import Dev
+
+ gcc_flags = {
+- 'common': ['-g', '-Wall', '-Wextra', '-Wno-unused-parameter', '-Wno-unused-value', '-Wno-missing-field-initializers', '-Wno-address', '-Wno-unknown-pragmas', '-fexceptions'],
++ 'common': ['-fexceptions'],
+ 'debug': [],
+- 'release' : ['-O3', '-fno-ipa-cp-clone']
++ 'release' : []
+ }
+
+ gcc_xxflags = {
+@@ -45,7 +45,7 @@
+ }
+
+ gcc_link_flags = {
+- 'common' : ['-g', '-Wl,--no-undefined', '-time'],
++ 'common' : ['-Wl,--no-undefined', '-time'],
+ 'debug' : [],
+ 'release' : ['-O3']
+ }
+@@ -77,6 +77,22 @@
+ langs = ['lua', 'python', 'ruby']
+
+ defEnv = Environment(ENV = os.environ)
++
++if 'CC' in os.environ:
++ defEnv.Replace(CC = os.environ['CC'])
++
++if 'CXX' in os.environ:
++ defEnv.Replace(CXX = os.environ['CXX'])
++
++if 'CCFLAGS' in os.environ:
++ defEnv.Replace(CCFLAGS = os.environ['CCFLAGS'].split())
++
++if 'CXXFLAGS' in os.environ:
++ defEnv.Replace(CXXFLAGS = os.environ['CXXFLAGS'].split())
++
++if 'LINKFLAGS' in os.environ:
++ defEnv.Replace(CXXFLAGS = os.environ['LINKFLAGS'].split())
++
+ opts = Variables('custom.py', ARGUMENTS)
+
+ if sys.platform == 'win32':
+@@ -111,6 +127,21 @@
+
+ env = Environment(ENV = os.environ, tools = [defEnv['tools'], 'swig'], toolpath = ['tools'], options = opts, TARGET_ARCH = TARGET_ARCH, MSVS_ARCH = TARGET_ARCH)
+
++if 'CC' in os.environ:
++ env.Replace(CC = os.environ['CC'])
++
++if 'CXX' in os.environ:
++ env.Replace(CXX = os.environ['CXX'])
++
++if 'CCFLAGS' in os.environ:
++ env.Replace(CCFLAGS = os.environ['CCFLAGS'].split())
++
++if 'CXXFLAGS' in os.environ:
++ env.Replace(CXXFLAGS = os.environ['CXXFLAGS'].split())
++
++if 'LINKFLAGS' in os.environ:
++ env.Replace(CXXFLAGS = os.environ['LINKFLAGS'].split())
++
+ # filter out boost from dependencies to get a speedier rebuild scan
+ # this means that if boost changes, scons -c needs to be run
+ # delete .sconsign.dblite to see the effects of this if you're upgrading
+@@ -143,8 +174,6 @@
+
+ if env['savetemps']:
+ env.Append(CCFLAGS = ['-save-temps', '-fverbose-asm'])
+- else:
+- env.Append(CCFLAGS = ['-pipe'])
+
+ # require i686 instructions for atomic<int64_t>, used by boost::lockfree (otherwise lockfree
+ # lists won't actually be lock-free).
diff --git a/net-p2p/adchpp/files/adchpp-2.9.0-fix_listreg.patch b/net-p2p/adchpp/files/adchpp-2.9.0-fix_listreg.patch
new file mode 100644
index 0000000..8768d45
--- /dev/null
+++ b/net-p2p/adchpp/files/adchpp-2.9.0-fix_listreg.patch
@@ -0,0 +1,40 @@
+=== modified file 'changelog.txt'
+--- changelog.txt 2012-10-23 15:42:01 +0000
++++ changelog.txt 2012-11-26 17:28:07 +0000
+@@ -1,3 +1,5 @@
++* Improve Lua scripts
++
+ -- 2.9.0 2012-10-23 --
+ * Add Lua FileSystem
+ * Add Lua Socket
+
+=== modified file 'plugins/Script/examples/access.lua'
+--- plugins/Script/examples/access.lua 2012-09-25 17:09:17 +0000
++++ plugins/Script/examples/access.lua 2012-11-26 17:28:07 +0000
+@@ -1376,19 +1376,21 @@
+
+ local list = {}
+ for _, v in base.ipairs(registered_users()) do
+- if v.level <= user.level and (#param == 0 or (v.nick and string.match(string.lower(v.nick), param, 1))) then
++ local other_level = v.level
++ if not other_level then other_level = 0 end
++ if other_level <= user.level and (#param == 0 or (v.nick and string.match(string.lower(v.nick), param, 1))) then
+ local fields = {}
+ if v.nick then
+ table.insert(fields, "\tNick: " .. v.nick)
+ end
+- if settings.passinlist.value ~=0 and v.level < user.level and v.password then
++ if settings.passinlist.value ~=0 and other_level < user.level and v.password then
+ table.insert(fields, "\n\tPassword: " .. v.password)
+ end
+ if v.cid then
+ table.insert(fields, "\n\tCID: " .. v.cid)
+ end
+- if settings.passinlist.value ~=0 and v.level <= user.level then
+- table.insert(fields, "Level: " .. v.level)
++ if settings.passinlist.value ~=0 and other_level <= user.level then
++ table.insert(fields, "Level: " .. other_level)
+ end
+ if v.regtime then
+ table.insert(fields, "\n\tRegistered: " .. time_diff(v.regtime) .. " ago")
+
diff --git a/net-p2p/adchpp/files/adchpp-2.9.0-fix_luasockets_guide.patch b/net-p2p/adchpp/files/adchpp-2.9.0-fix_luasockets_guide.patch
new file mode 100644
index 0000000..5f180e8
--- /dev/null
+++ b/net-p2p/adchpp/files/adchpp-2.9.0-fix_luasockets_guide.patch
@@ -0,0 +1,45 @@
+=== modified file 'docs/user_guide/expert_guide.txt'
+--- docs/user_guide/expert_guide.txt 2012-10-23 15:42:01 +0000
++++ docs/user_guide/expert_guide.txt 2012-12-26 20:32:26 +0000
+@@ -1,6 +1,6 @@
+ = ADCH++ Expert User Guide
+ Authors & contributors : Toast <toast@adcportal.com>, eMTee <emtee11@gmail.com>, Pirre <pierreparys@hotmail.com>, Poy <poy@123gen.com>
+-Document Version 0.4.2
++Document Version 0.4.3
+ :toc:
+ This version of the guide corresponds with ADCH++ version: *2.9.0*
+
+@@ -259,7 +259,7 @@
+
+ == PtokaX API2 bridge for ADCH++
+
+-It's possible to create or use existing PtokaX API2 LUA scripts in your hub using the ADCHPP-PtokaX bridge script. The bridge is separately maintained and available to download at https://launchpad.net/adchpp-ptokax[its home page]. Before you go on make sure you read the documentation provided in the ADCHPP-PtokaX package.
++It's possible to create or use existing PtokaX API2 LUA scripts in your hub using the ADCHPP-PtokaX bridge script. The bridge is separately maintained and available to download at https://launchpad.net/adchpp-ptokax[its home page]. Before you go on make sure you read the documentation (README.txt) provided in the ADCHPP-PtokaX package.
+
+ CAUTION: To avoid problems make sure you use the revision of PtokaX bridge script corresponding to the ADCH++ version you run.
+
+@@ -318,13 +318,9 @@
+ px\px_badsearch.lua
+ --------------------------------------
+
+-Some of the PtokaX scripts (like FreshStuff or Feedwatch) may require LUA filesystem or socket library. In case of any of these libraries needed they can be configured in the following way under Windows:
+-
+-The Adchpp-PtokaX package contains the required libraries as precompiled .dll binaries. You should extract the libs to the directories indicated by each script (it could be the normal ADCH\++ dir or their own sub-dir). In general, where there should have been a px\*\*\*.dll file in an original PtokaX configuration, you want to put the corresponding \***.dll file instead. When a script asks you to put the files to "scripts/libs", you want to actually put them in the ADCH++ directory itself (next to the other binary files).
+-
+-CAUTION: Make sure you use the .dlls corresponding to the compiler your ADCH\++ compiled with (If you are using the officially released version of ADCH++, then pick "release-mingw-x86" packages).
+-
+-TIP: Linux users can found more information about library compilation and placement in the !readme.txt file provided in the "libs" folder of the Adchpp-PtokaX package.
++Some of the PtokaX scripts (like FreshStuff or Feedwatch) may require LUA filesystem or socket library. Since version 2.9.0 the ADCH++ repository contains these libraries and the Windows binary distributions include the compiled libraries as .dll's.
++
++CAUTION: Sometimes the libraries (.dll's in Windows) have to be copied to the appropriate place when a PtokaX scripts search for them in esoteric paths (for example lv/libs for Leviathan). You can get more information from the README file that comes with ADCHPP-PtokaX package.
+
+ This is the example of how the Freshstuff script should be correctly configured. Add the script as you would normally do with any scripts. The rest of the directory contents should look like this:
+
+@@ -646,5 +642,6 @@
+ 0.4.0: Added the Advanced hub security (guard) section (emtee, pirre)
+ 0.4.1: Added compile instructions for Clang (poy)
+ 0.4.2: Updated corresponding to ADCH++ version 2.9.0 (emtee)
++0.4.3: Update LUASockets info (emtee)
+ ////////////////////////////////////////////////////////////////
+ // vim: set syntax=asciidoc:
+
diff --git a/net-p2p/adchpp/files/adchpp-2.9.0-fix_nullptr.patch b/net-p2p/adchpp/files/adchpp-2.9.0-fix_nullptr.patch
new file mode 100644
index 0000000..36a0612
--- /dev/null
+++ b/net-p2p/adchpp/files/adchpp-2.9.0-fix_nullptr.patch
@@ -0,0 +1,36 @@
+=== modified file 'adchpp/ManagedSocket.cpp'
+--- adchpp/ManagedSocket.cpp 2012-09-25 17:00:52 +0000
++++ adchpp/ManagedSocket.cpp 2012-12-26 20:06:52 +0000
+@@ -223,10 +223,18 @@
+ if(failedHandler) {
+ failedHandler(reason, info);
+
++ // using nullptr fails on older GCCs for which we're using nullptr.h; using 0 fails on VS...
++#ifndef FAKE_NULLPTR
+ connectedHandler = nullptr;
+ readyHandler = nullptr;
+ dataHandler = nullptr;
+ failedHandler = nullptr;
++#else
++ connectedHandler = 0;
++ readyHandler = 0;
++ dataHandler = 0;
++ failedHandler = 0;
++#endif
+ }
+ }
+
+
+=== modified file 'adchpp/nullptr.h'
+--- adchpp/nullptr.h 2012-06-25 17:11:13 +0000
++++ adchpp/nullptr.h 2012-12-26 20:06:52 +0000
+@@ -6,6 +6,8 @@
+ #ifdef __GNUC__
+ #if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 6) // GCC 4.6 is the first GCC to implement nullptr.
+
++#define FAKE_NULLPTR
++
+ const // this is a const object...
+ class {
+ public:
+