diff options
Diffstat (limited to 'net-p2p')
-rw-r--r-- | net-p2p/Manifest.gz | bin | 6916 -> 6922 bytes | |||
-rw-r--r-- | net-p2p/amule/Manifest | 4 | ||||
-rw-r--r-- | net-p2p/amule/amule-2.3.3-r2.ebuild | 159 | ||||
-rw-r--r-- | net-p2p/amule/amule-9999.ebuild | 6 | ||||
-rw-r--r-- | net-p2p/amule/files/amule-2.3.3-backport-pr368.patch | 52 |
5 files changed, 220 insertions, 1 deletions
diff --git a/net-p2p/Manifest.gz b/net-p2p/Manifest.gz Binary files differindex 39b6159589ab..27a67e99bf40 100644 --- a/net-p2p/Manifest.gz +++ b/net-p2p/Manifest.gz diff --git a/net-p2p/amule/Manifest b/net-p2p/amule/Manifest index 78cc3e9d309e..3c41c466eff5 100644 --- a/net-p2p/amule/Manifest +++ b/net-p2p/amule/Manifest @@ -1,5 +1,6 @@ AUX amule-2.3.2-disable-version-check.patch 419 BLAKE2B e4ca791348ba80eb34cb876fe05c2b85a70e2d704ecb3dd14ec6fc47550d4a677fcdd071906b93c56652c133462d5065b5907564e91c092430e310e2dd8c2523 SHA512 6d98c1a78b16778ad94ef9d70e87fe7ded2228b101bdb961565c3f2a0f2687e55c97bd824e331b53cbd45fbafbfa5803ce4c2f1fa8e245a3ebc97cdd7f282b65 AUX amule-2.3.3-autoconf-2.70.patch 956 BLAKE2B 2e7bde0e6be3e392555e4a5420ae3736762939150ce1aee39c052a56fbaa2c4192aa43f34b73f9810ad6e3b9a5e06311d374ca1d26ed289f91eaf2acb77f616a SHA512 36918f134eaaae17463ceac3d06e6fdf48d3913212564792067c15c946dd7536bf67772d777734d80f1f833b378e0c212932d5bd564f201aeb9545070d890b78 +AUX amule-2.3.3-backport-pr368.patch 1696 BLAKE2B 9d52b6192f4a4cbb7d73be34c23fe59db51f321c3f07412801721d47d9ecb12e0098b7b211766934a5545ed01b330974e56188773e5c844d1bd01fedd1edd454 SHA512 b4cd302c1003720aa4bcd4c1a17233b0303d2d614e359ba7f3da685f520817d58f5056f11437a87e85aaefa74f053d769aacfabdc96621a76bb648d456dfcb17 AUX amule-2.3.3-fix-exception.patch 259 BLAKE2B 9a9ebb025ac3f553432215bc0f2c34bd1b6eeaaf9b436bd19870ba4412326dd37ce372bd5a3866e6cd65f0e98e8aea09025dd751d6b6849c37dd527b1af56da0 SHA512 5c8580f0d294a828b2ce42c59bd3079d9bf9735a88337d2cb3aa2b014c6bb8cecee891e35431b9e22a6ae8ca91f816de89a532fe6c10eae2ecbed33212e4604d AUX amuled.confd-r1 199 BLAKE2B e018a8827749b0b5266533adfc549d0c40b339470439fd5a04c9380b5489e3d58b49478c6a1fcc4954d97816e66bdbf8a6105de0aee7991defd1df553db46e27 SHA512 4b82864f874ea5ede360a88aa589baa4336d16074ed10e2841ea5e2cb0961fe8553c28368f3a9b31d19ccaf688d77ac636219e3693e044c735bbd9de5de96bd6 AUX amuled.initd 1105 BLAKE2B 16525a9c5ad8c158d0d4f1ba316fb493cb438b985a0a4d52672b4067acdfae6dd4897d7c37459515ce4a0e6b0b89665b9feaea6b15e3535c8f46b83ce0c16d05 SHA512 3ec351e84da4e33918747de4ccd9ec86895b60f9d94836fc92112489edcfe14af7a21efb79194b80bb81aa666714bd5a21873c954b36948e31369727e71143b6 @@ -7,6 +8,7 @@ AUX amuleweb.confd-r1 619 BLAKE2B 7140f6d957760f8184c3c73db0a58a3b7b308a6d854870 AUX amuleweb.initd 1149 BLAKE2B ef29bae12cf72764798eecb6866405525b601ee6ea869b6191954799805f47b75976884ee566ecb03eca907b3b13ff7870541b7682a70d5db058fb1257d6f00d SHA512 4cc944af90ad81f09d74d79dede57d1ff26c1b87649432d14ed294770b04f6ea256c25c194edfdc8f9d0c85929b1c576c31eba9228703e5a21259d83968289b0 DIST aMule-2.3.3.tar.xz 3699376 BLAKE2B 4b1fb98bd52e4c75f81773020d4fc258f8e7c4d7a5d40a7aadabc8fd27b3079705761650fdcd7cd089da77575a74f1950f02039ee14bf4b9894550b8b3d9191b SHA512 a5a80c5ddd1e107d92070c1d8e232c2762c4c54791abc067c739eef7c690062ed164dd7733808f80c762719261162aeb3d602308964dda2670a0bb059d87b74e EBUILD amule-2.3.3-r1.ebuild 3275 BLAKE2B 5c56cce531b6ad02febf5b116e077a72089f74f1a42285ba2cb7498380098e4a51074feec170014aca44014fd717abd202d0a333bcb3b91e2bcba78a7f5eb3a0 SHA512 57b0551558d62d7bf983d3393133e3300cc6ea2e4ae78c29cea66c54ad00950822780464a89276242ed0e8a35ecfc2bf0eaee4f8eb69efaad39ff37dd28ceefe +EBUILD amule-2.3.3-r2.ebuild 3390 BLAKE2B 6ae82a7e91b8ceb6523e591f3ddd433aeffb20978dc665b0a059004576d1df0b66d08935b2be1f54d2b044e995bea36bac0d36b20f35e10321cd4d84e4330deb SHA512 743755b03942b6ce8ba4a7d1f6d893a3927593d5ce727620439242d60f0716cffba367c8d2d29a9403bfdb575c7fd311cb0bbe380f366f17fba75fc025e3575d EBUILD amule-2.3.3.ebuild 3098 BLAKE2B f0205804d79db0f9c72a7df5ac44a0a85d308669011d6dde820a8a6a084e00f81ae04a3c98b01521ff43471968a42a3148be005140110b94360d8ba908437cfa SHA512 97d37e98bf7811d83bbd0e4d90d60105eca0a35a4ab316c6330022d64f77604c727a42e9adfbd31d023ffd653ed94eb160396f6e9a1321826484c99291c2ba0f -EBUILD amule-9999.ebuild 3218 BLAKE2B f523b4ebeaa0b5e6cbe4cfb5e1f35aae20029112540d2bef75394459cd059f1ad401c771fc20b075f4df0a5654d4c20c98831abbd190acd8333ab7cec03131be SHA512 5fe1c5ada21339705c42a848195094c3d402d2c83b0a434a1a74b5e352e0934a22cd3a4a2e68d20fe3a739a5a2d32bbdc0090a25930ebc8e7a3b0b0e7a80b99a +EBUILD amule-9999.ebuild 3343 BLAKE2B 75bed8569eca358327fdaf03d2e5614fb88238d9eefd42853db0352db5b8c65be1ea637837beefa4b000c63b59d1b1955ca2b45ef85be6c3548b3265f55f6e43 SHA512 5c1973f7d6664e9276ff2c5e123b0b7bb224b0d7a4223ae9dc137772408deae853f99bf75e3978a9618213f023ec9df15d2145b215f03303e82ad27125792348 MISC metadata.xml 717 BLAKE2B 104a91afec9919613f9897f655886e7d51f3c2f69af4efe47aab38b1c31982f6f97f8fb117ceffe2b53c5ba3bdc6fcef332dc4bf4cd956430187dcc374b3f473 SHA512 37b08e9a0376417b2e8c2372d5a59564ae23b522e36b97c163cb0d5c5113298eeac11b181f129854b983276ec8b8958b3df9599296152fecc5504d34c9554515 diff --git a/net-p2p/amule/amule-2.3.3-r2.ebuild b/net-p2p/amule/amule-2.3.3-r2.ebuild new file mode 100644 index 000000000000..f4b6d406428c --- /dev/null +++ b/net-p2p/amule/amule-2.3.3-r2.ebuild @@ -0,0 +1,159 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +WX_GTK_VER="3.0-gtk3" + +inherit autotools flag-o-matic wxwidgets xdg-utils + +if [[ ${PV} == 9999 ]] ; then + EGIT_REPO_URI="https://github.com/amule-project/amule" + inherit git-r3 +else + MY_P="${PN/m/M}-${PV}" + SRC_URI="https://download.sourceforge.net/${PN}/${MY_P}.tar.xz" + S="${WORKDIR}/${MY_P}" + KEYWORDS="~alpha ~amd64 ~arm ~ppc ~ppc64 ~riscv ~sparc ~x86" +fi + +DESCRIPTION="aMule, the all-platform eMule p2p client" +HOMEPAGE="http://www.amule.org/" + +LICENSE="GPL-2+" +SLOT="0" +IUSE="daemon debug geoip nls remote stats upnp +X" + +RDEPEND=" + dev-libs/boost:= + dev-libs/crypto++:= + sys-libs/binutils-libs:0= + sys-libs/readline:0= + sys-libs/zlib + >=x11-libs/wxGTK-3.0.4:${WX_GTK_VER}[X?] + daemon? ( acct-user/amule ) + geoip? ( dev-libs/geoip ) + nls? ( virtual/libintl ) + remote? ( + acct-user/amule + media-libs/libpng:0= + ) + stats? ( media-libs/gd:=[jpeg,png] ) + upnp? ( net-libs/libupnp:0 ) +" +DEPEND="${RDEPEND} + X? ( dev-util/desktop-file-utils ) +" +BDEPEND=" + virtual/pkgconfig + >=sys-devel/boost-m4-0.4_p20221019 + nls? ( sys-devel/gettext ) +" + +PATCHES=( + "${FILESDIR}/${PN}-2.3.2-disable-version-check.patch" + "${FILESDIR}/${PN}-2.3.3-fix-exception.patch" + "${FILESDIR}/${P}-autoconf-2.70.patch" + "${FILESDIR}/${PN}-2.3.3-backport-pr368.patch" +) + +pkg_setup() { + setup-wxwidgets +} + +src_prepare() { + default + rm m4/boost.m4 || die + + if [[ ${PV} == 9999 ]]; then + ./autogen.sh || die + else + eautoreconf + fi +} + +src_configure() { + use debug || append-cppflags -DwxDEBUG_LEVEL=0 + append-cxxflags -std=gnu++14 + + local myconf=( + --with-denoise-level=0 + --with-wx-config="${WX_CONFIG}" + --enable-amulecmd + --with-boost + $(use_enable debug) + $(use_enable daemon amule-daemon) + $(use_enable geoip) + $(use_enable nls) + $(use_enable remote webserver) + $(use_enable stats cas) + $(use_enable stats alcc) + $(use_enable upnp) + ) + + if use X; then + myconf+=( + $(use_enable remote amule-gui) + $(use_enable stats alc) + $(use_enable stats wxcas) + ) + else + myconf+=( + --disable-monolithic + --disable-amule-gui + --disable-alc + --disable-wxcas + ) + fi + + econf "${myconf[@]}" +} + +src_test() { + emake check +} + +src_install() { + default + + if use daemon; then + newconfd "${FILESDIR}"/amuled.confd-r1 amuled + newinitd "${FILESDIR}"/amuled.initd amuled + fi + if use remote; then + newconfd "${FILESDIR}"/amuleweb.confd-r1 amuleweb + newinitd "${FILESDIR}"/amuleweb.initd amuleweb + fi + + if use daemon || use remote; then + keepdir /var/lib/${PN} + fowners amule:amule /var/lib/${PN} + fperms 0750 /var/lib/${PN} + fi +} + +pkg_postinst() { + local ver + + if use daemon || use remote; then + for ver in ${REPLACING_VERSIONS}; do + if ver_test ${ver} -lt "2.3.2-r4"; then + elog "Default user under which amuled and amuleweb daemons are started" + elog "have been changed from p2p to amule. Default home directory have been" + elog "changed as well." + echo + elog "If you want to preserve old download/share location, you can create" + elog "symlink /var/lib/amule/.aMule pointing to the old location and adjust" + elog "files ownership *or* restore AMULEUSER and AMULEHOME variables in" + elog "/etc/conf.d/{amuled,amuleweb} to the old values." + + break + fi + done + fi + + use X && xdg_desktop_database_update +} + +pkg_postrm() { + use X && xdg_desktop_database_update +} diff --git a/net-p2p/amule/amule-9999.ebuild b/net-p2p/amule/amule-9999.ebuild index 1dc6203a5561..c1743eff2384 100644 --- a/net-p2p/amule/amule-9999.ebuild +++ b/net-p2p/amule/amule-9999.ebuild @@ -52,6 +52,7 @@ BDEPEND=" PATCHES=( "${FILESDIR}/${PN}-2.3.2-disable-version-check.patch" "${FILESDIR}/${PN}-2.3.3-fix-exception.patch" + "${FILESDIR}/${PN}-2.3.3-backport-pr368.patch" ) pkg_setup() { @@ -70,6 +71,7 @@ src_prepare() { } src_configure() { + use debug || append-cppflags -DwxDEBUG_LEVEL=0 append-cxxflags -std=gnu++14 local myconf=( @@ -105,6 +107,10 @@ src_configure() { econf "${myconf[@]}" } +src_test() { + emake check +} + src_install() { default diff --git a/net-p2p/amule/files/amule-2.3.3-backport-pr368.patch b/net-p2p/amule/files/amule-2.3.3-backport-pr368.patch new file mode 100644 index 000000000000..9235276943b8 --- /dev/null +++ b/net-p2p/amule/files/amule-2.3.3-backport-pr368.patch @@ -0,0 +1,52 @@ +https://bugs.gentoo.org/841296 +https://github.com/amule-project/amule/issues/342 +https://github.com/amule-project/amule/pull/368 + +commit 1c57ce9c688d26d95fe8f9d7b7590f4670956749 +Author: matoro <matoro@users.noreply.github.com> +Date: Thu Dec 14 00:28:50 2023 -0500 + + SafeFile: do endian-swap on float tag values + + There are comments noting that writing raw float values may not be + endian-correct and indeed it is not. WX does not provide functions for + endian-swapping floats, but since amule explicitly uses exclusively + single-precision (32-bit) floats, just cast it into a uint32_t for the + swapping. + + This is a no-op on little-endian. + +diff --git a/src/SafeFile.cpp b/src/SafeFile.cpp +index 30f9a7f23..0d9c4f8e7 100644 +--- a/src/SafeFile.cpp ++++ b/src/SafeFile.cpp +@@ -31,6 +31,7 @@ + #include <common/Format.h> // Needed for CFormat + #include "CompilerSpecific.h" // Needed for __FUNCTION__ + ++#include <cstring> // For std::memcpy + + #define CHECK_BOM(size, x) ((size >= 3) && (x[0] == (char)0xEF) && (x[1] == (char)0xBB) && (x[2] == (char)0xBF)) + +@@ -189,6 +190,10 @@ float CFileDataIO::ReadFloat() const + { + float retVal; + Read(&retVal, sizeof(float)); ++ uint32_t toswap{}; ++ std::memcpy(&toswap, &retVal, sizeof(toswap)); ++ toswap = ENDIAN_SWAP_32(toswap); ++ std::memcpy(&retVal, &toswap, sizeof(retVal)); + return retVal; + } + +@@ -306,6 +311,10 @@ void CFileDataIO::WriteHash(const CMD4Hash& value) + + void CFileDataIO::WriteFloat(float value) + { ++ uint32_t toswap{}; ++ std::memcpy(&toswap, &value, sizeof(toswap)); ++ toswap = ENDIAN_SWAP_32(toswap); ++ std::memcpy(&value, &toswap, sizeof(value)); + Write(&value, sizeof(float)); + } + |