diff options
-rw-r--r-- | network/aMule/README | 9 | ||||
-rw-r--r-- | network/aMule/aMule-wx2.80.patch | 156 | ||||
-rw-r--r-- | network/aMule/aMule.SlackBuild | 79 | ||||
-rw-r--r-- | network/aMule/aMule.info | 8 | ||||
-rw-r--r-- | network/aMule/slack-desc | 20 |
5 files changed, 272 insertions, 0 deletions
diff --git a/network/aMule/README b/network/aMule/README new file mode 100644 index 0000000000000..d3e5c5f4f1526 --- /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 0000000000000..ce38ead42e301 --- /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 0000000000000..5379774667195 --- /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 0000000000000..bf12240ce2163 --- /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 0000000000000..618709070ed94 --- /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: + |