commit:     15736940e1c352dfe262436a20afb03a24e63455
Author:     Jesus P Rey (Chuso) <gentoo <AT> chuso <DOT> net>
AuthorDate: Sun Feb 26 19:44:47 2023 +0000
Commit:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Tue Apr  4 07:53:06 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=15736940

net-p2p/mldonkey: Disable building the GUI

to remove dependency on x11-libs/gtk+:2

Closes: https://bugs.gentoo.org/769338
Signed-off-by: Jesus P Rey <gentoo <AT> chuso.net>
Closes: https://github.com/gentoo/gentoo/pull/29813
Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>

 net-p2p/mldonkey/mldonkey-3.1.7-r4.ebuild | 136 ++++++++++++++++++++++++++++++
 1 file changed, 136 insertions(+)

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
+}

Reply via email to