diff options
Diffstat (limited to 'net-p2p')
-rw-r--r-- | net-p2p/mldonkey/Manifest | 1 | ||||
-rw-r--r-- | net-p2p/mldonkey/metadata.xml | 1 | ||||
-rw-r--r-- | net-p2p/mldonkey/mldonkey-3.2.1.ebuild | 128 |
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 +} |