summaryrefslogtreecommitdiff
path: root/community/mldonkey
diff options
context:
space:
mode:
Diffstat (limited to 'community/mldonkey')
-rw-r--r--community/mldonkey/PKGBUILD16
-rw-r--r--community/mldonkey/mldonkey-gcc46.patch12
-rw-r--r--community/mldonkey/mldonkey.conf3
-rw-r--r--community/mldonkey/mldonkeyd21
4 files changed, 42 insertions, 10 deletions
diff --git a/community/mldonkey/PKGBUILD b/community/mldonkey/PKGBUILD
index 5cd449c3f..c05548fba 100644
--- a/community/mldonkey/PKGBUILD
+++ b/community/mldonkey/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 40262 2011-02-22 17:18:28Z cbrannon $
+# $Id: PKGBUILD 49135 2011-06-11 15:20:48Z cbrannon $
# Maintainer: Chris Brannon <cmbrannon79@gmail.com>
# Contributor: Corrado Primier <bardo@aur.archlinux.org>
# Contributor: Alessio 'mOLOk' Bolognino <themolok@gmail.com>
pkgname=mldonkey
pkgver=3.0.7
-pkgrel=2
+pkgrel=3
pkgdesc="A multi-network P2P client"
arch=('i686' 'x86_64')
url="http://mldonkey.sourceforge.net/"
@@ -17,11 +17,16 @@ optdepends=('librsvg: GUI support'
backup=('etc/conf.d/mldonkey')
install=mldonkey.install
source=(http://downloads.sourceforge.net/sourceforge/mldonkey/$pkgname-$pkgver.tar.bz2
- mldonkeyd mldonkey.conf mldonkey.desktop)
+ mldonkey-gcc46.patch
+ mldonkeyd
+ mldonkey.conf
+ mldonkey.desktop)
build() {
cd "$srcdir/$pkgname-$pkgver"
+ # Patch comes from upstream; will go away in later versions.
+ patch -p1 < "$srcdir/mldonkey-gcc46.patch"
./configure --prefix=/usr --enable-gui=newgui2
make
}
@@ -39,6 +44,7 @@ package() {
install -Dm644 "$srcdir/mldonkey.conf" "$pkgdir/etc/conf.d/mldonkey"
}
md5sums=('162b78fc4e20335a8fe31d91e1656db2'
- 'c42526cb7ff703b313728dfdd92dfb1e'
- '190cbbc30b510981e0d8b0ed8bae87a4'
+ 'c2bd99420ba5d48629b6823aae6bf127'
+ '75e4b6c7fb282f7de15a8d5478f3bd70'
+ '1f86d92db51c62cded0e6f3833057dee'
'1de3266caa49f82bee73ba891eea12cf')
diff --git a/community/mldonkey/mldonkey-gcc46.patch b/community/mldonkey/mldonkey-gcc46.patch
new file mode 100644
index 000000000..656d72f85
--- /dev/null
+++ b/community/mldonkey/mldonkey-gcc46.patch
@@ -0,0 +1,12 @@
+diff --git a/src/utils/lib/CryptoPP.h b/src/utils/lib/CryptoPP.h
+index 775a898..af1621b 100644
+--- a/src/utils/lib/CryptoPP.h
++++ b/src/utils/lib/CryptoPP.h
+@@ -695,6 +695,7 @@ class CRYPTOPP_DLL NullNameValuePairs : public NameValuePairs
+ {
+ public:
+ bool GetVoidValue(const char* /* name */, const std::type_info& /* valueType */, void* /* pValue */) const {return false;}
++ NullNameValuePairs() {}
+ };
+
+ //! _
diff --git a/community/mldonkey/mldonkey.conf b/community/mldonkey/mldonkey.conf
index 7aa683f1a..24a25af74 100644
--- a/community/mldonkey/mldonkey.conf
+++ b/community/mldonkey/mldonkey.conf
@@ -3,6 +3,3 @@ MLDUSER=""
# Parameters to be passed to the daemon (default is empty)
PARAMS=""
-
-# PID file location (defaults to "/var/lock" if empty)
-PIDDIR=""
diff --git a/community/mldonkey/mldonkeyd b/community/mldonkey/mldonkeyd
index bbd6954c2..6a458d68e 100644
--- a/community/mldonkey/mldonkeyd
+++ b/community/mldonkey/mldonkeyd
@@ -9,6 +9,15 @@ if [ -z $MLDUSER ] ; then
exit 2
fi
+if [ -z "$(getent passwd "$MLDUSER")" ]; then
+ # Perhaps we should create the account for the user?
+ echo "You must create the account $MLDUSER in order to run mldonkey."
+ echo "Please create the account manually, and try again."
+ exit 2
+fi
+
+MLDGROUPID=$(getent passwd "$MLDUSER" |cut -d':' -f4)
+MLDGROUP=$(getent group $MLDGROUPID |cut -d':' -f1)
USERDIR=$(getent passwd $MLDUSER | cut -d: -f6)
if [ ! -d $USERDIR ]; then
@@ -16,12 +25,20 @@ if [ ! -d $USERDIR ]; then
exit 2
fi
-PID=$(cat $USERDIR/.mldonkey/mlnet.pid 2>/dev/null)
+PIDDIR="/var/run/mldonkey"
+PIDFILE="$PIDDIR/mlnet.pid"
+PID=$(cat $PIDFILE 2>/dev/null)
case "$1" in
start)
stat_busy "Starting MLDonkey"
- [ -z $PID ] && su $MLDUSER -s /bin/sh -c "/usr/bin/mlnet $PARAMS -log_to_syslog true &> /tmp/mldonkey.log &"
+ if [ ! -d $PIDDIR ]; then
+ install -d -m755 -o "$MLDUSER" -g "$MLDGROUP" $PIDDIR
+ fi
+ if [ "$(stat -c %U $PIDDIR)" != "$MLDUSER" ]; then
+ chown -R "$MLDUSER:$MLDGROUP" $PIDDIR
+ fi
+ [ -z $PID ] && su $MLDUSER -s /bin/sh -c "/usr/bin/mlnet -pid $PIDDIR $PARAMS -log_to_syslog true &> /tmp/mldonkey.log &"
if [ $? -gt 0 ]; then
stat_fail
else