diff options
author | Robin H. Johnson <robbat2@gentoo.org> | 2015-08-08 13:49:04 -0700 |
---|---|---|
committer | Robin H. Johnson <robbat2@gentoo.org> | 2015-08-08 17:38:18 -0700 |
commit | 56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch) | |
tree | 3f91093cdb475e565ae857f1c5a7fd339e2d781e /net-p2p/mldonkey | |
download | gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2 gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip |
proj/gentoo: Initial commit
This commit represents a new era for Gentoo:
Storing the gentoo-x86 tree in Git, as converted from CVS.
This commit is the start of the NEW history.
Any historical data is intended to be grafted onto this point.
Creation process:
1. Take final CVS checkout snapshot
2. Remove ALL ChangeLog* files
3. Transform all Manifests to thin
4. Remove empty Manifests
5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$
5.1. Do not touch files with -kb/-ko keyword flags.
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests
X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project
X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration
X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn
X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts
X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration
X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging
X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'net-p2p/mldonkey')
-rw-r--r-- | net-p2p/mldonkey/Manifest | 2 | ||||
-rw-r--r-- | net-p2p/mldonkey/files/2.9.5-execstacks.patch | 44 | ||||
-rw-r--r-- | net-p2p/mldonkey/files/mldonkey.confd-2.8 | 39 | ||||
-rw-r--r-- | net-p2p/mldonkey/files/mldonkey.initd | 121 | ||||
-rw-r--r-- | net-p2p/mldonkey/files/ocaml4.patch | 12 | ||||
-rw-r--r-- | net-p2p/mldonkey/metadata.xml | 16 | ||||
-rw-r--r-- | net-p2p/mldonkey/mldonkey-3.1.3.ebuild | 170 | ||||
-rw-r--r-- | net-p2p/mldonkey/mldonkey-3.1.5.ebuild | 171 |
8 files changed, 575 insertions, 0 deletions
diff --git a/net-p2p/mldonkey/Manifest b/net-p2p/mldonkey/Manifest new file mode 100644 index 000000000000..fccb17598553 --- /dev/null +++ b/net-p2p/mldonkey/Manifest @@ -0,0 +1,2 @@ +DIST mldonkey-3.1.3.tar.bz2 2848964 SHA256 7c259f9f41cc12899045710ddce02e6d25962b2cb5c22f9cf58af0483f06d9e2 SHA512 921e428743934cd7a94fcdb8fea43a5a57cc3232a68fff443dbeb7f724fbe6805c38f4ae8c6e58c552e7a42c49f1c233f622239d6c7ee1ccf920bc19b2aef8f9 WHIRLPOOL 3e544fa8000e27d16a34af19969a8830f6c22de9ec21e4da2310ca4674a009e64b3bb03b530a03bf2d4cd71346f6de13288bae4b1b04ec0dc9df92f79835afdc +DIST mldonkey-3.1.5.tar.bz2 2847382 SHA256 74f9d4bcc72356aa28d0812767ef5b9daa03efc5d1ddabf56447dc04969911cb SHA512 96e75acf91d7ecc41490f898e06d284da27404c7e567f173936d8113885a3b4b6bc93341358f92a30d3f699eef681d97ce56414a37bb02a535ad2da4d4ad13a3 WHIRLPOOL b9e15809a49cc12e69a6d1188441e9d5603ec76cb7bfe2b2e0bfce3c50abb31296904c842f487076b227f577046ccbd3ceb7cd1a601d3faa6928b1bfde8c780f diff --git a/net-p2p/mldonkey/files/2.9.5-execstacks.patch b/net-p2p/mldonkey/files/2.9.5-execstacks.patch new file mode 100644 index 000000000000..487bfbc38100 --- /dev/null +++ b/net-p2p/mldonkey/files/2.9.5-execstacks.patch @@ -0,0 +1,44 @@ +diff -ur mldonkey-2.9.5.orig/src/utils/lib/md4_i386.s mldonkey-2.9.5/src/utils/lib/md4_i386.s +--- mldonkey-2.9.5.orig/src/utils/lib/md4_i386.s 2008-06-30 17:45:37.000000000 +0200 ++++ mldonkey-2.9.5/src/utils/lib/md4_i386.s 2008-06-30 17:48:10.000000000 +0200 +@@ -934,3 +934,7 @@ + + .data + ++#if defined(__linux__) && defined(__ELF__) ++.section .note.GNU-stack,"",%progbits ++#endif ++ +diff -ur mldonkey-2.9.5.orig/src/utils/lib/md4_i486.s mldonkey-2.9.5/src/utils/lib/md4_i486.s +--- mldonkey-2.9.5.orig/src/utils/lib/md4_i486.s 2008-06-30 17:45:37.000000000 +0200 ++++ mldonkey-2.9.5/src/utils/lib/md4_i486.s 2008-06-30 17:48:21.000000000 +0200 +@@ -1091,3 +1091,7 @@ + + .data + ++#if defined(__linux__) && defined(__ELF__) ++.section .note.GNU-stack,"",%progbits ++#endif ++ +diff -ur mldonkey-2.9.5.orig/src/utils/lib/md4_i586.s mldonkey-2.9.5/src/utils/lib/md4_i586.s +--- mldonkey-2.9.5.orig/src/utils/lib/md4_i586.s 2008-06-30 17:45:37.000000000 +0200 ++++ mldonkey-2.9.5/src/utils/lib/md4_i586.s 2008-06-30 17:48:27.000000000 +0200 +@@ -1047,3 +1047,7 @@ + + .data + ++#if defined(__linux__) && defined(__ELF__) ++.section .note.GNU-stack,"",%progbits ++#endif ++ +diff -ur mldonkey-2.9.5.orig/src/utils/lib/md4_i686.s mldonkey-2.9.5/src/utils/lib/md4_i686.s +--- mldonkey-2.9.5.orig/src/utils/lib/md4_i686.s 2008-06-30 17:45:37.000000000 +0200 ++++ mldonkey-2.9.5/src/utils/lib/md4_i686.s 2008-06-30 17:48:34.000000000 +0200 +@@ -1009,3 +1009,7 @@ + + .data + ++#if defined(__linux__) && defined(__ELF__) ++.section .note.GNU-stack,"",%progbits ++#endif ++ diff --git a/net-p2p/mldonkey/files/mldonkey.confd-2.8 b/net-p2p/mldonkey/files/mldonkey.confd-2.8 new file mode 100644 index 000000000000..1d1f282234f7 --- /dev/null +++ b/net-p2p/mldonkey/files/mldonkey.confd-2.8 @@ -0,0 +1,39 @@ +# /etc/conf.d/mldonkey +# Config file for mldonkey control script + +# Change the following vars only if you know +# what you're doing, there's no checking for +# invalid data yet! + +# owner of mlnet process (don't change, must be existing) +USER="p2p" + +# mldonkey's working dir (must be existing) +MLDONKEY_DIR="/home/p2p/mldonkey" + +# logfile (/dev/null for nowhere) +LOG="/var/log/mldonkey.log" + +# set to true, if you have enabled logging to syslog in MLDonkey with +# set log_to_syslog true +USE_LOGGER=false + +# bandwidth control, values in kb/s +LOW_DOWN="6" +LOW_UP="2" +HIGH_DOWN="30" +HIGH_UP="10" + +# nice level, 0<x<19, more nice -> less cpuspeed consumed +NICE="19" + +# mldonkey server ip, usually localhost +SERVER="localhost" + +# port for webinterface, usually 4080 +PORT="4080" + +# to enable password restricted access, +# uncomment and set BOTH following vars: +#USERNAME="admin" +#PASSWORD="" diff --git a/net-p2p/mldonkey/files/mldonkey.initd b/net-p2p/mldonkey/files/mldonkey.initd new file mode 100644 index 000000000000..7a007dededf0 --- /dev/null +++ b/net-p2p/mldonkey/files/mldonkey.initd @@ -0,0 +1,121 @@ +#!/sbin/runscript + +extra_started_commands="reload slow fast info" + +MLDONKEY_BINARY=${MLDONKEY_BINARY:-/usr/bin/mlnet} +MLDONKEY_TIMEOUT=${TIMEOUT:-10} + +depend() { + need localmount net + ${USE_LOGGER} && use logger +} + +start() { + if [ -z "${MLDONKEY_DIR}" ]; then + ewarn "mldonkey's start script has been changed. You should remove" + ewarn "BASEDIR and SUBDIR from /etc/conf.d/mldonkey and set MLDONKEY_DIR" + ewarn "to the correct value (you probably want" + ewarn "MLDONKEY_DIR=${BASEDIR}/${SUBDIR})" + MLDONKEY_DIR="${BASEDIR}/${SUBDIR}" + einfo "Using ${MLDONKEY_DIR} as working directory" + fi + + if [ ! -d "${MLDONKEY_DIR}" ]; then + ebegin "Directory ${MLDONKEY_DIR} not existing, trying to create..." + mkdir -p "${MLDONKEY_DIR}" && chown ${USER}:users "${MLDONKEY_DIR}" + eend $? || return 1 + fi + + ebegin "Starting ${SVCNAME}" + cd "${MLDONKEY_DIR}" + export MLDONKEY_DIR + start-stop-daemon --start --user "${USER}" --nice "${NICE}" \ + --exec "${MLDONKEY_BINARY}" --pidfile /var/run/"${SVCNAME}".pid \ + --background --make-pidfile + eend $? +} + +setup_uri() { + BASE="http://" + if [ -n "${USERNAME}" -a -n "${PASSWORD}" ]; then + BASE="${BASE}${USERNAME}:${PASSWORD}@" + fi + BASE="${BASE}${SERVER}:${PORT}" +} + +stop() { + ebegin "Stopping ${SVCNAME} -- please wait" + + setup_uri + wget --spider --timeout="${MLDONKEY_TIMEOUT}" "${BASE}"/submit?q=close_fds -q + wget --spider --timeout="${MLDONKEY_TIMEOUT}" "${BASE}"/submit?q=save -q + wget --spider --timeout="${MLDONKEY_TIMEOUT}" "${BASE}"/submit?q=kill -q + + # give it a chance to die: + local timeout=${MLDONKEY_TIMEOUT} + while [ $timeout -gt 0 ]; do + if ! start-stop-daemon --test --quiet --stop \ + --exec "${MLDONKEY_BINARY}" \ + --pidfile /var/run/"${SVCNAME}".pid ; then + eend 0 + return 0 + fi + sleep 1 + timeout=$((${timeout} - 1)) + done + + eend 1 "Failed to cleanly stop ${SVCNAME}" + ebegin "Forcing ${SVCNAME} to stop" + start-stop-daemon --stop --exec "${MLDONKEY_BINARY}" \ + --pidfile /var/run/"${SVCNAME}".pid + eend $? +} + +# This doesn't work for baselayout-2 +restart() { + svc_stop + sleep 5 + svc_start +} + +reload() { + ebegin "Reloading ${SVCNAME}" + start-stop-daemon --stop --signal HUP --oknodo \ + --exec "${MLDONKEY_BINARY}" --pidfile /var/run/"${SVCNAME}".pid + eend $? +} + +slow() { + ebegin "Reducing bandwidth to ${LOW_DOWN}k/${LOW_UP}k" + setup_uri + wget --spider --timeout="${MLDONKEY_TIMEOUT}" \ + "${BASE}/submit?q=set+max_hard_download_rate+${LOW_DOWN}" -q + wget --spider --timeout=${MLDONKEY_TIMEOUT} \ + "${BASE}/submit?q=set+max_hard_upload_rate+${LOW_UP}" -q + eend $? +} + +fast() { + ebegin "Increasing bandwidth to ${HIGH_DOWN}k/${HIGH_UP}k" + + setup_uri + wget --spider --timeout="${MLDONKEY_TIMEOUT}" \ + "${BASE}/submit?q=set+max_hard_upload_rate+${HIGH_UP}" -q + wget --spider --timeout="${MLDONKEY_TIMEOUT}" \ + "${BASE}/submit?q=set+max_hard_download_rate+${HIGH_DOWN}" -q + eend $? +} + + +info() { + setup_uri + local result=$(wget --timeout="${MLDONKEY_TIMEOUT}" \ + -O - "${BASE}"/submit?q=vo 2>/dev/null | \ + grep -C1 max_hard_upload | \ + grep value=\" | cut -d\" -f2) + if [ "${result}" = "${LOW_UP}" ]; then + einfo "${SVCNAME} runs slow" + else + einfo "${SVCNAME} runs fast" + fi +} diff --git a/net-p2p/mldonkey/files/ocaml4.patch b/net-p2p/mldonkey/files/ocaml4.patch new file mode 100644 index 000000000000..32882417b62c --- /dev/null +++ b/net-p2p/mldonkey/files/ocaml4.patch @@ -0,0 +1,12 @@ +Index: mldonkey-3.1.5/src/utils/net/terminal.ml +=================================================================== +--- mldonkey-3.1.5.orig/src/utils/net/terminal.ml ++++ mldonkey-3.1.5/src/utils/net/terminal.ml +@@ -185,7 +185,6 @@ module Output = struct + let canal = List.assoc chan !chanmap in + etat.chan <- Some (chan, canal); + info (sprintf "connecte au canal '%s'" chan); +- (* {| canal ALL } *) + with Not_found -> (* pas encore de recepteur pour ce canal *) + try (* on en cree un *) + let serveur = nsrecord.get_loc chan in diff --git a/net-p2p/mldonkey/metadata.xml b/net-p2p/mldonkey/metadata.xml new file mode 100644 index 000000000000..bc22bf0cb84c --- /dev/null +++ b/net-p2p/mldonkey/metadata.xml @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <herd>net-p2p</herd> + <longdescription>An ocaml client to access the eDonkey network.</longdescription> + <use> + <flag name="bittorrent">enable bittorrent support</flag> + <flag name="fasttrack">enable fasttrack support</flag> + <flag name="gnutella">enable gnutella and gnutella2 support</flag> + <flag name="guionly">enable client build only</flag> + <flag name="magic">enable use of libmagic</flag> + </use> + <upstream> + <remote-id type="sourceforge">mldonkey</remote-id> + </upstream> +</pkgmetadata> diff --git a/net-p2p/mldonkey/mldonkey-3.1.3.ebuild b/net-p2p/mldonkey/mldonkey-3.1.3.ebuild new file mode 100644 index 000000000000..cbdce7b3600f --- /dev/null +++ b/net-p2p/mldonkey/mldonkey-3.1.3.ebuild @@ -0,0 +1,170 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="2" +WANT_AUTOCONF=2.5 + +inherit flag-o-matic eutils autotools toolchain-funcs user + +IUSE="bittorrent doc fasttrack gd gnutella gtk guionly magic +ocamlopt" + +DESCRIPTION="A multi-network P2P application written in Ocaml, with its own Gtk GUI, web and telnet interface" +HOMEPAGE="http://mldonkey.sourceforge.net/" +SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha amd64 ~arm hppa ~ia64 ppc ~sparc x86 ~x86-fbsd" + +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[svg] ) + gd? ( >=media-libs/gd-2.0.28[truetype] ) + magic? ( sys-apps/file )" + +DEPEND="${RDEPEND} + >=dev-lang/ocaml-3.10.2[ocamlopt?]" + +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 + + # 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 "${S}"/config + eautoconf + cd "${S}" + use ocamlopt || sed -i -e "s/ocamlopt/idontwantocamlopt/g" "${S}/config/configure" || die "failed to disable ocamlopt" +} + +src_configure() { + # 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}" + + 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) \ + ${myconf} +} + +src_compile() { + 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 subconv; do + newbin $i$myext $i || die "failed to install $i" + done + use bittorrent && newbin make_torrent$myext make_torrent + + 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 + + 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 + else + echo + einfo "Simply run mlgui to start the chosen MLDonkey gui." + einfo "It puts its config files into ~/.mldonkey" + fi +} diff --git a/net-p2p/mldonkey/mldonkey-3.1.5.ebuild b/net-p2p/mldonkey/mldonkey-3.1.5.ebuild new file mode 100644 index 000000000000..fb3a0b9bb5ed --- /dev/null +++ b/net-p2p/mldonkey/mldonkey-3.1.5.ebuild @@ -0,0 +1,171 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="5" +WANT_AUTOCONF=2.5 + +inherit flag-o-matic eutils autotools toolchain-funcs user + +IUSE="bittorrent doc fasttrack gd gnutella gtk guionly magic +ocamlopt" + +DESCRIPTION="A multi-network P2P application written in Ocaml, with its own Gtk GUI, web and telnet interface" +HOMEPAGE="http://mldonkey.sourceforge.net/" +SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~sparc ~x86 ~x86-fbsd" + +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[svg] ) + gd? ( >=media-libs/gd-2.0.28[truetype] ) + magic? ( sys-apps/file )" + +DEPEND="${RDEPEND} + >=dev-lang/ocaml-3.10.2[ocamlopt?]" + +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 + + # 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 "${S}"/config + eautoconf + cd "${S}" + use ocamlopt || sed -i -e "s/ocamlopt/idontwantocamlopt/g" "${S}/config/configure" || die "failed to disable ocamlopt" + epatch "${FILESDIR}/ocaml4.patch" +} + +src_configure() { + # 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}" + + 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) \ + ${myconf} +} + +src_compile() { + export OCAMLRUNPARAM="l=256M" + emake + + if ! use guionly; then + emake utils + 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 subconv; do + newbin $i$myext $i + done + use bittorrent && newbin make_torrent$myext make_torrent + + 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 + 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 + + 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 + else + echo + einfo "Simply run mlgui to start the chosen MLDonkey gui." + einfo "It puts its config files into ~/.mldonkey" + fi +} |