summaryrefslogtreecommitdiff
path: root/network/aMule
diff options
context:
space:
mode:
Diffstat (limited to 'network/aMule')
-rw-r--r--network/aMule/README9
-rw-r--r--network/aMule/aMule-wx2.80.patch156
-rw-r--r--network/aMule/aMule.SlackBuild79
-rw-r--r--network/aMule/aMule.info8
-rw-r--r--network/aMule/slack-desc20
5 files changed, 272 insertions, 0 deletions
diff --git a/network/aMule/README b/network/aMule/README
new file mode 100644
index 0000000000..d3e5c5f4f1
--- /dev/null
+++ b/network/aMule/README
@@ -0,0 +1,9 @@
+aMule is a multiplatform ed2k client, fork of the eMule client, using the
+wxWidgets class library. It was originally forked from the xMule project,
+which in turn was forked from the lMule project. This is turn was the first
+fork of eMule to run nativly on Linux and other Unix-like systems.
+
+wxGTK is required for this to build; at least version 2.4.x of wxGTK is
+needed, but version 2.6.x is recommended (and this is the version that
+is available at SlackBuilds.org).
+
diff --git a/network/aMule/aMule-wx2.80.patch b/network/aMule/aMule-wx2.80.patch
new file mode 100644
index 0000000000..ce38ead42e
--- /dev/null
+++ b/network/aMule/aMule-wx2.80.patch
@@ -0,0 +1,156 @@
+diff -urN aMule-2.1.3/src/utils/wxCas/src/wxcasprefs.cpp aMule-2.1.3/src/utils/wxCas/src/wxcasprefs.cpp
+--- aMule-2.1.3/src/utils/wxCas/src/wxcasprefs.cpp 2005-12-16 13:09:29.000000000 +0100
++++ aMule-2.1.3/src/utils/wxCas/src/wxcasprefs.cpp 2006-12-17 20:20:47.151203000 +0100
+@@ -297,7 +297,7 @@
+ m_validateButton =
+ new wxButton ( this, ID_VALIDATE_BUTTON, wxString ( _( "Validate" ) ) );
+ m_cancelButton =
+- new wxButton ( this, ID_CANCEL_BUTTON, wxString ( _( "Cancel" ) ) );
++ new wxButton ( this, wxID_CANCEL, wxString ( _( "Cancel" ) ) );
+
+ m_buttonHBox->Add ( m_validateButton, 0, wxALIGN_CENTER | wxALL, 5 );
+ m_buttonHBox->Add ( m_cancelButton, 0, wxALIGN_CENTER | wxALL, 5 );
+@@ -321,7 +321,6 @@
+ EVT_BUTTON ( ID_OSPATH_BROWSE_BUTTON, WxCasPrefs::OnOSPathBrowseButton )
+ EVT_BUTTON ( ID_AUTOSTATIMG_BROWSE_BUTTON, WxCasPrefs::OnAutoStatImgBrowseButton )
+ EVT_BUTTON ( ID_VALIDATE_BUTTON, WxCasPrefs::OnValidateButton )
+-EVT_BUTTON ( ID_CANCEL_BUTTON, WxCasPrefs::OnCancel ) // Defined in wxDialog
+ EVT_CHECKBOX ( ID_AUTOSTATIMG_CHECK, WxCasPrefs::OnAutoStatImgCheck )
+ EVT_CHECKBOX ( ID_FTP_UPDATE_CHECK, WxCasPrefs::OnFtpUpdateCheck )
+ END_EVENT_TABLE ()
+--- aMule-2.1.3/src/utils/wxCas/src/wxcasprefs.h 2006-12-17 22:17:39.017417250 +0100
++++ aMule-2.1.3/src/utils/wxCas/src/wxcasprefs.h 2006-12-17 22:18:17.611829250 +0100
+@@ -101,8 +101,7 @@
+ ID_AUTOSTATIMG_COMBO,
+ ID_AUTOSTATIMG_BROWSE_BUTTON,
+ ID_FTP_UPDATE_CHECK,
+- ID_VALIDATE_BUTTON,
+- ID_CANCEL_BUTTON
++ ID_VALIDATE_BUTTON
+ };
+
+ protected:
+--- aMule-2.1.3/src/MuleGifCtrl.cpp 2006-02-03 20:14:05.000000000 +0100
++++ aMule-2.1.3/src/MuleGifCtrl.cpp 2006-11-19 19:35:33.000000000 +0100
+@@ -24,7 +24,6 @@
+
+ #include <wx/mstream.h>
+ #include <wx/gifdecod.h>
+-#include <wx/window.h>
+ #include <wx/dcbuffer.h>
+
+ #include "MuleGifCtrl.h"
+@@ -35,6 +34,50 @@
+ EVT_ERASE_BACKGROUND(MuleGifCtrl::OnErase)
+ END_EVENT_TABLE()
+
++#if wxCHECK_VERSION(2, 7, 1)
++// Wrapper that emulates old wxGIFDecoder API
++
++class MuleGIFDecoder : public wxGIFDecoder {
++public:
++ MuleGIFDecoder(wxInputStream* stream, bool dummy) {
++ m_stream = stream;
++ dummy = dummy; // Unused.
++ m_nframe = 0;
++ }
++
++ ~MuleGIFDecoder() { /* don't delete the stream! */ }
++
++ wxGIFErrorCode ReadGIF() {
++ return LoadGIF(*m_stream);
++ }
++
++ void GoFirstFrame() { m_nframe = 0; }
++ void GoNextFrame(bool dummy) { m_nframe < GetFrameCount() ? m_nframe++ : m_nframe = 0; }
++ void GoLastFrame() { m_nframe = GetFrameCount(); }
++
++ void ConvertToImage(wxImage* image) { wxGIFDecoder::ConvertToImage(m_nframe, image); }
++
++ size_t GetLogicalScreenWidth() { return GetAnimationSize().GetWidth(); }
++ size_t GetLogicalScreenHeight() { return GetAnimationSize().GetHeight(); }
++
++ size_t GetLeft() { return 0; }
++ size_t GetTop() { return 0; }
++
++ long GetDelay() { return wxGIFDecoder::GetDelay(m_nframe); }
++
++private:
++ uint32_t m_nframe;
++ wxInputStream* m_stream;
++};
++
++#else
++class MuleGIFDecoder : public wxGIFDecoder {
++public:
++ MuleGIFDecoder(wxInputStream* stream, bool flag) : wxGIFDecoder(stream,flag) {};
++};
++#endif
++
++
+
+ MuleGifCtrl::MuleGifCtrl( wxWindow *parent, wxWindowID id, const wxPoint& pos,
+ const wxSize& size, long style, const wxValidator& validator,
+@@ -66,7 +109,7 @@
+ }
+
+ wxMemoryInputStream stream(data, size);
+- m_decoder = new wxGIFDecoder(&stream, TRUE);
++ m_decoder = new MuleGIFDecoder(&stream, TRUE);
+ if ( m_decoder->ReadGIF() != wxGIF_OK ) {
+ delete m_decoder;
+ m_decoder = NULL;
+@@ -137,3 +180,4 @@
+ dc.DrawBitmap( m_frame, x + m_decoder->GetLeft(), y + m_decoder->GetTop(), true);
+ }
+
++// File_checked_for_headers
+--- aMule-2.1.3/src/MuleGifCtrl.h 2006-01-01 06:17:25.000000000 +0100
++++ aMule-2.1.3/src/MuleGifCtrl.h 2006-11-18 05:01:22.000000000 +0100
+@@ -27,11 +27,10 @@
+
+ #include <wx/control.h>
+ #include <wx/timer.h>
+-#include <wx/bitmap.h>
+
+ const int GIFTIMERID = 271283;
+
+-class wxGIFDecoder;
++class MuleGIFDecoder;
+ class wxBitmap;
+
+ /**
+@@ -121,7 +120,7 @@
+ void OnErase( wxEraseEvent& WXUNUSED(event) ) {}
+
+ //! A pointer to the current gif-animation.
+- wxGIFDecoder* m_decoder;
++ MuleGIFDecoder* m_decoder;
+ //! Timer used for the delay between each frame.
+ wxTimer m_timer;
+ //! Current frame.
+@@ -133,3 +132,4 @@
+
+ #endif
+
++// File_checked_for_headers
+--- aMule-2.1.3/src/MuleTextCtrl.cpp~ 2006-12-17 20:55:37.157820250 +0100
++++ aMule-2.1.3/src/MuleTextCtrl.cpp 2006-12-17 20:56:21.328580750 +0100
+@@ -26,6 +26,7 @@
+ #include <wx/menu.h>
+ #include <wx/intl.h>
+ #include <wx/clipbrd.h>
++#include <wx/dataobj.h>
+
+ /**
+ * These are the IDs used to identify the different menu-items.
+--- aMule-2.1.3/src/amule.cpp~ 2006-12-17 21:53:26.474639000 +0100
++++ aMule-2.1.3/src/amule.cpp 2006-12-17 21:55:40.307003000 +0100
+@@ -96,6 +96,7 @@
+ #include <CoreFoundation/CFBundle.h>
+ #include <wx/mac/corefoundation/cfstring.h>
+ #endif
++ #include <wx/msgdlg.h>
+ #endif
+
+
diff --git a/network/aMule/aMule.SlackBuild b/network/aMule/aMule.SlackBuild
new file mode 100644
index 0000000000..5379774667
--- /dev/null
+++ b/network/aMule/aMule.SlackBuild
@@ -0,0 +1,79 @@
+#!/bin/sh
+
+# Slackware build script for aMule
+# Written by Iskar Enev (iskar.enev@gmail.com)
+
+# Modified by the SlackBuilds.org project
+
+PRGNAM=aMule
+VERSION=2.1.3
+ARCH=${ARCH:-i486}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+CWD=$(pwd)
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+fi
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+
+cd $TMP || exit 1
+rm -rf $PRGNAM-$VERSION
+tar -xjvf $CWD/$PRGNAM-$VERSION.tar.bz2 || exit 1
+cd $PRGNAM-$VERSION || exit 1
+
+chown -R root:root .
+chmod -R u+w,go+r-w,a-s .
+
+# This is an optional patch to build aMule 2.1.3 against new wxWidgets 2.8.0.
+# It fixes the "crash on search tab close" which is an wxWidgets bug,
+# not an aMule bug, and it's fixed on the 2.8.0 version.
+# Patch provided by arekm <arekm@pld-linux.org> and approved by the
+# aMule mainainer (see website)
+#cat $CWD/aMule-wx2.80.patch | patch -p1 || exit 1
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --mandir=/usr/man \
+ --with-wx-config=/usr/bin/wx-config \
+ || exit 1
+
+make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+( cd $PKG
+ find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+ find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+)
+
+( cd $PKG/usr/man
+ find . -type f -exec gzip -9 {} \;
+ for i in $( find . -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
+)
+
+# Let's fix the icon path in the menu entry so that the icon will show
+# up when using KDE
+sed -i 's@Icon=amule.xpm@Icon=/usr/share/pixmaps/amule.xpm@g' \
+ $PKG/usr/share/applications/amule.desktop || exit 1
+
+# All of the needed docs are already installed; we'll just move them to the
+# correct location
+cp -a $PKG/usr/share/doc $PKG/usr
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.tgz
diff --git a/network/aMule/aMule.info b/network/aMule/aMule.info
new file mode 100644
index 0000000000..bf12240ce2
--- /dev/null
+++ b/network/aMule/aMule.info
@@ -0,0 +1,8 @@
+PRGNAM="aMule"
+VERSION="2.1.3"
+HOMEPAGE="http://www.amule.org"
+DOWNLOAD="http://dl.sourceforge.net/amule/aMule-2.1.3.tar.bz2"
+MD5SUM="0aafdd159edb8ad5f0064da87998b47d"
+MAINTAINER="Iskar Enev"
+EMAIL="iskar.enev@gmail.com"
+APPROVED="robw810"
diff --git a/network/aMule/slack-desc b/network/aMule/slack-desc
new file mode 100644
index 0000000000..618709070e
--- /dev/null
+++ b/network/aMule/slack-desc
@@ -0,0 +1,20 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+aMule: aMule
+aMule:
+aMule: aMule is a multiplatform ed2k client, fork of the eMule client,
+aMule: using the wxWidgets class library, supporting Linux, *BSD platforms,
+aMule: Solaris, *MacOSX and *Win32 (*soon). It was originally forked from
+aMule: the xMule project, which in turn was forked from the lMule project.
+aMule:
+aMule:
+aMule:
+aMule:
+aMule:
+