From f1e95daae05c57d935b00e611c624c5e75cd21ec Mon Sep 17 00:00:00 2001 From: "(no author)" <(no author)@4d9a9b59-111c-4e0b-8f7a-7640551abb98> Date: Mon, 16 Mar 2009 07:55:01 +0000 Subject: uploading my overlay ), initial commit git-svn-id: http://172.18.13.13/svn/sss_overlay@1 4d9a9b59-111c-4e0b-8f7a-7640551abb98 --- net-p2p/mldonkey/mldonkey-9999.ebuild | 194 ++++++++++++++++++++++++++++++++++ 1 file changed, 194 insertions(+) create mode 100644 net-p2p/mldonkey/mldonkey-9999.ebuild (limited to 'net-p2p/mldonkey/mldonkey-9999.ebuild') diff --git a/net-p2p/mldonkey/mldonkey-9999.ebuild b/net-p2p/mldonkey/mldonkey-9999.ebuild new file mode 100644 index 0000000..9b32ef8 --- /dev/null +++ b/net-p2p/mldonkey/mldonkey-9999.ebuild @@ -0,0 +1,194 @@ +# Copyright 1999-2008 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-p2p/mldonkey/mldonkey-2.9.6.ebuild,v 1.1 2008/08/05 18:09:54 armin76 Exp $ + +WANT_AUTOCONF=2.5 + +inherit flag-o-matic eutils autotools toolchain-funcs cvs + +EAPI="1" + +IUSE="doc fasttrack gd gnutella gtk guionly magic +ocamlopt" + +DESCRIPTION="MLDonkey is a multi-network P2P application written in Ocaml, coming with its own Gtk GUI, web and telnet interface." +HOMEPAGE="http://mldonkey.sourceforge.net/" +SRC_URI="" + +ECVS_SERVER="cvs.sv.gnu.org:/sources/mldonkey" +ECVS_MODULE="mldonkey" +ECVS_AUTH="pserver" +ECVS_USER="anonymous" +S="${WORKDIR}/${PN}" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="" + +RDEPEND="dev-lang/perl + guionly? ( >=gnome-base/librsvg-2.4.0 + >=dev-ml/lablgtk-2.6 ) + gtk? ( >=gnome-base/librsvg-2.4.0 + >=dev-ml/lablgtk-2.6 ) + gd? ( >=media-libs/gd-2.0.28 ) + magic? ( sys-apps/file )" + +DEPEND="${RDEPEND} + >=dev-lang/ocaml-3.08.3 + sys-apps/sed" + +MLUSER="p2p" + +pkg_setup() { + if use gtk; then + echo "" + einfo "If the compile with gui fails, and you have updated Ocaml" + einfo "recently, you may have forgotten that you need to run" + einfo "/usr/portage/dev-lang/ocaml/files/ocaml-rebuild.sh" + einfo "to learn which ebuilds you need to recompile" + einfo "each time you update Ocaml to a different version" + einfo "see the Ocaml ebuild for details" + echo "" + fi + + if use gtk && ! built_with_use dev-ml/lablgtk svg; then + eerror "dev-ml/lablgtk must be built with the 'svg' USE flag to use the gtk gui" + die "Recompile dev-ml/lablgtk with enabled svg USE flag" + fi + + if use gd && ! built_with_use media-libs/gd truetype; then + eerror "media-libs/gd must be built with 'truetype' to compile" + eerror "MLDonkey with gd support" + die "Recompile media-libs/gd with enabled truetype USE flag" + fi + if use ocamlopt && ! built_with_use --missing true dev-lang/ocaml ocamlopt; then + eerror "In order to build ${PN} with native code support from ocaml" + eerror "You first need to have a native code ocaml compiler." + eerror "You need to install dev-lang/ocaml with ocamlopt useflag on." + die "Please install ocaml with ocamlopt useflag" + fi + # 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_unpack() { +# unpack ${A} && cd "${S}" + cvs_src_unpack + cd "${S}"/config + eautoconf + cd "${S}" + use ocamlopt || sed -i -e "s/ocamlopt/idontwantocamlopt/g" "${S}/config/configure" || die "failed to disable ocamlopt" +} + +src_compile() { + # the dirs are not (yet) used, but it doesn't hurt to specify them anyway + + # onlygui Disable all nets support, build only chosen GUI + + if use gtk || use guionly; then + myconf="--enable-gui=newgui2" + else + myconf="--disable-gui" + fi + + if use guionly; then + myconf="${myconf} --disable-multinet --disable-donkey" + fi + + cd "${S}" + econf \ + --sysconfdir=/etc/mldonkey \ + --sharedstatedir=/var/mldonkey \ + --localstatedir=/var/mldonkey \ + --enable-checks \ + --disable-batch \ + $(use_enable fasttrack) \ + $(use_enable gnutella) \ + $(use_enable gnutella gnutella2) \ + $(use_enable gd) \ + $(use_enable magic) \ + --enable-ocamlver=3.10 \ + ${myconf} || die "econf failed" + + export OCAMLRUNPARAM="l=256M" + emake || die "emake failed" + + if ! use guionly; then + emake utils || die "emake utils failed" + fi; +} + +src_install() { + local myext="" + use ocamlopt || myext=".byte" + use ocamlopt || export STRIP_MASK="*/bin/*" + if ! use guionly; then + for i in mlnet mld_hash get_range copysources make_torrent subconv; do + newbin $i$myext $i || die "failed to install $i" + done + + newconfd "${FILESDIR}/mldonkey.confd-2.8" mldonkey + fperms 600 /etc/conf.d/mldonkey + newinitd "${FILESDIR}/mldonkey.initd" mldonkey + fi + + if use gtk; then + for i in mlgui mlguistarter; do + newbin $i$myext $i || die "failed to install $i" + done + make_desktop_entry mlgui "MLDonkey GUI" mldonkey "Network;P2P" + newicon "${S}"/packages/rpm/mldonkey-icon-48.png ${PN}.png + fi + + if use doc ; then + cd "${S}"/distrib + dodoc ChangeLog *.txt + dohtml *.html + + insinto /usr/share/doc/${PF}/scripts + doins kill_mldonkey mldonkey_command mldonkey_previewer make_buginfo + + cd "${S}"/docs + dodoc *.txt *.tex *.pdf + dohtml *.html + + cd "${S}"/docs/developers + dodoc *.txt *.tex + + cd "${S}"/docs/images + insinto /usr/share/doc/${PF}/html/images + doins * + fi +} + +pkg_preinst() { + if ! use guionly; then + enewuser ${MLUSER} -1 -1 /home/p2p users + fi +} + +pkg_postinst() { + if ! use guionly; then + echo + einfo "If you want to start MLDonkey as a system service, use" + einfo "the /etc/init.d/mldonkey script. To control bandwidth, use" + einfo "the 'slow' and 'fast' arguments. Be sure to have a look at" + einfo "/etc/conf.d/mldonkey also." + echo + einfo "Attention: 2.6 has changed the inifiles structure, so downgrading" + einfo "will be problematic." + einfo "User settings (admin) are transferred to users.ini from " + einfo "downloads.ini" + einfo "Old ini files are automatically converted to the new format" + echo + else + echo + einfo "Simply run mlgui to start the chosen MLDonkey gui." + einfo "It puts its config files into ~/.mldonkey" + fi +} -- cgit v1.2.3