summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'net-p2p')
-rw-r--r--net-p2p/mldonkey/Manifest1
-rw-r--r--net-p2p/mldonkey/metadata.xml1
-rw-r--r--net-p2p/mldonkey/mldonkey-3.2.1.ebuild128
3 files changed, 129 insertions, 1 deletions
diff --git a/net-p2p/mldonkey/Manifest b/net-p2p/mldonkey/Manifest
index e333e7580a62..0a0a129e2a90 100644
--- a/net-p2p/mldonkey/Manifest
+++ b/net-p2p/mldonkey/Manifest
@@ -1 +1,2 @@
DIST mldonkey-3.1.7-2.tar.bz2 2801815 BLAKE2B f914648b4e2a358e51518f3b58dc0df803cdb28d7706783504644266690514c17c2cae0688011073391db221eb8f38c7cbaf1e913220d824e41ca2e23d4c8587 SHA512 11cb0fa0db95e918c291009f4121a1b34cf485e5ac6826a72a4dc520dd78d21ced40d205fa26eb451c7d3eb31f2193cbb64e46c99c85dc932762c1bcc4da4934
+DIST mldonkey-3.2.1.tar.bz2 2839613 BLAKE2B 87d02fb4dd81a894b241793cfe872a0e0860ca33c2dceae7c6a6b2e17b2dc8bf0352e5a8a573dc0088b62acc1e9b7ff8608514355dc96397b997117bcf7e06bf SHA512 7f2657ea3e5eedf2429b157f8157178d8357c19d323f812f3bf1cd965ee209aaa760b8af6983603eeccf53efea7321f41910eca1c5649ce1baf5bc6cf0284f0c
diff --git a/net-p2p/mldonkey/metadata.xml b/net-p2p/mldonkey/metadata.xml
index 1ee19fe7c50a..9faf0e9d2cc9 100644
--- a/net-p2p/mldonkey/metadata.xml
+++ b/net-p2p/mldonkey/metadata.xml
@@ -16,7 +16,6 @@
<flag name="guionly">enable client build only</flag>
</use>
<upstream>
- <remote-id type="sourceforge">mldonkey</remote-id>
<remote-id type="github">ygrek/mldonkey</remote-id>
</upstream>
</pkgmetadata>
diff --git a/net-p2p/mldonkey/mldonkey-3.2.1.ebuild b/net-p2p/mldonkey/mldonkey-3.2.1.ebuild
new file mode 100644
index 000000000000..c918a08fe99c
--- /dev/null
+++ b/net-p2p/mldonkey/mldonkey-3.2.1.ebuild
@@ -0,0 +1,128 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="8"
+
+inherit autotools flag-o-matic systemd toolchain-funcs
+
+DESCRIPTION="Multi-network P2P application written in Ocaml, with Gtk, web & telnet interface"
+HOMEPAGE="https://github.com/ygrek/mldonkey"
+SRC_URI="https://github.com/ygrek/mldonkey/releases/download/release-${PV//./-}/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86"
+
+IUSE="bittorrent doc fasttrack gd gnutella magic +ocamlopt upnp"
+
+RDEPEND="dev-lang/perl
+ dev-ml/camlp4:=
+ gd? ( media-libs/gd:2=[truetype] )
+ magic? ( sys-apps/file )
+ upnp? (
+ net-libs/libnatpmp
+ net-libs/miniupnpc:=
+ )
+ acct-user/p2p
+ app-arch/bzip2
+ sys-libs/zlib
+"
+# Can't yet use newer OCaml
+# -unsafe-string usage:
+# https://github.com/ygrek/mldonkey/issues/46
+DEPEND="${RDEPEND}
+ <dev-lang/ocaml-5:=[ocamlopt?]
+ bittorrent? ( dev-ml/num )
+"
+
+RESTRICT="!ocamlopt? ( strip )"
+
+pkg_setup() {
+ # dev-lang/ocaml creates its own objects but calls gcc for linking, which will
+ # results in relocations if gcc wants to create a PIE executable
+ if gcc-specs-pie ; then
+ append-ldflags -nopie
+ ewarn "Ocaml generates its own native asm, you're using a PIE compiler"
+ ewarn "We have appended -nopie to ocaml build options"
+ ewarn "because linking an executable with pie while the objects are not pic will not work"
+ fi
+}
+
+src_prepare() {
+ cd config || die
+ eautoconf
+ cd .. || die
+ if ! use ocamlopt; then
+ sed -i -e "s/ocamlopt/idontwantocamlopt/g" "${S}/config/configure" || die "failed to disable ocamlopt"
+ fi
+
+ default
+}
+
+src_configure() {
+ local myconf=()
+
+ local my_extra_libs
+ if use gd; then
+ my_extra_libs="-lpng"
+ fi
+
+ econf LIBS="${my_extra_libs}"\
+ --sysconfdir=/etc/mldonkey \
+ --sharedstatedir=/var/mldonkey \
+ --localstatedir=/var/mldonkey \
+ --enable-checks \
+ --disable-batch \
+ $(use_enable bittorrent) \
+ $(use_enable fasttrack) \
+ $(use_enable gnutella) \
+ $(use_enable gnutella gnutella2) \
+ $(use_enable gd) \
+ $(use_enable magic) \
+ $(use_enable upnp upnp-natpmp) \
+ --disable-force-upnp-natpmp \
+ --disable-gui
+ ${myconf[@]}
+}
+
+src_compile() {
+ export OCAMLRUNPARAM="l=256M"
+ emake -j1 # Upstream bug #48
+ emake utils
+}
+
+src_install() {
+ local myext i
+ use ocamlopt || myext=".byte"
+ for i in mlnet mld_hash get_range copysources subconv; do
+ newbin "${i}${myext}" "${i}"
+ done
+ use bittorrent && newbin "make_torrent${myext}" make_torrent
+
+ systemd_dounit "${FILESDIR}/${PN}.service"
+ newconfd "${FILESDIR}/mldonkey.confd" mldonkey
+ newinitd "${FILESDIR}/mldonkey.initd" mldonkey
+
+ if use doc ; then
+ docompress -x "/usr/share/doc/${PF}/scripts" "/usr/share/doc/${PF}/html"
+
+ dodoc distrib/ChangeLog distrib/*.txt docs/*.txt docs/*.tex docs/*.pdf docs/developers/*.{txt,tex}
+
+ docinto scripts
+ dodoc distrib/{kill_mldonkey,mldonkey_command,mldonkey_previewer,make_buginfo}
+
+ docinto html
+ dodoc docs/*.html
+
+ docinto html/images
+ dodoc docs/images/*
+ fi
+}
+
+pkg_postinst() {
+ if [ -f /etc/conf.d/mldonkey ] && grep -qE "^(BASEDIR|SUBDIR|LOW_DOWN|LOW_UP|HIGH_DOWN|HIGH_UP|SERVER|PORT|TELNET_PORT|USERNAME|PASSWORD|MLDONKEY_TIMEOUT)=" /etc/conf.d/mldonkey; then
+ ewarn "The following settings are deprecated and will be ignored,"
+ ewarn "please remove them from /etc/conf.d/mldonkey:"
+ ewarn "LOW_DOWN LOW_UP HIGH_DOWN HIGH_UP SERVER PORT TELNET_PORT USERNAME PASSWORD MLDONKEY_TIMEOUT"
+ fi
+}