diff options
author | V3n3RiX <venerix@koprulu.sector> | 2023-04-04 11:22:15 +0100 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2023-04-04 11:22:15 +0100 |
commit | 7f6382ebb44b75c53021d4c4ab77d6b34aed21ac (patch) | |
tree | 4d92ef3af5a26ff8a8a5a1ec4f21d18c65f56fe2 /net-p2p/mldonkey/mldonkey-3.1.7-r4.ebuild | |
parent | 41e5b5c1f11820df590e0a245bbddf224bc07823 (diff) |
gentoo auto-resync : 04:04:2023 - 11:22:14
Diffstat (limited to 'net-p2p/mldonkey/mldonkey-3.1.7-r4.ebuild')
-rw-r--r-- | net-p2p/mldonkey/mldonkey-3.1.7-r4.ebuild | 136 |
1 files changed, 136 insertions, 0 deletions
diff --git a/net-p2p/mldonkey/mldonkey-3.1.7-r4.ebuild b/net-p2p/mldonkey/mldonkey-3.1.7-r4.ebuild new file mode 100644 index 000000000000..cb2eae216dbe --- /dev/null +++ b/net-p2p/mldonkey/mldonkey-3.1.7-r4.ebuild @@ -0,0 +1,136 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="7" + +inherit autotools flag-o-matic systemd toolchain-funcs + +DESCRIPTION="Multi-network P2P application written in Ocaml, with Gtk, web & telnet interface" +HOMEPAGE="http://mldonkey.sourceforge.net/ https://github.com/ygrek/mldonkey" +SRC_URI="https://github.com/ygrek/mldonkey/releases/download/release-${PV//./-}-2/${P}-2.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~arm ~hppa ~ia64 ~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-4.10:=[ocamlopt?] + bittorrent? ( + || ( + <dev-lang/ocaml-4.06[ocamlopt?] + dev-ml/num + ) + )" + +RESTRICT="!ocamlopt? ( strip )" + +PATCHES=( "${FILESDIR}/cpp17-byte-namespace.patch" ) + +S="${WORKDIR}/${P}-2" + +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 +} |