HowTo Compile In Gentoo
Contents
Introduction
Gentoo is known for choices. Unfortunately, some choices require more labor than others. As such, aMule comes in a variety of versions and installation methods based on what version of wxGTK you decide to use...
Methods of Installation
amule-1.2.8.ebuild
This ebuild is marked as stable for x86 platforms.
This aMule version is well over a year old and lacks many features. It depends on wxGTK compiled against GTK-1.2. aMule devs highly discourage use of this version but if you insist upon using it, simply emerge it. Be warned that support is probably limited.
Dependencies: >=x11-libs/wxGTK-2.4.2-r2; >=net-misc/curl-7.11.0; >=sys-libs/zlib-1.2.1
Status: No further development; in Portage
amule-2.0.0_rc7.ebuild
This ebuild is marked as unstable for all architectures.
This is an aging version. This is the last version that will compile with wxGTK compiled against GTK-1.2. It also compiles with wxGTK 2.4.2 or greater compiled against GTK-2.
Dependencies: >=x11-libs/wxGTK-2.4.2-r2; >=net-misc/curl-7.11.0; >=sys-libs/zlib-1.2.1; >=media-libs/gd-2.0.26
Status: No further development; in Portage
amule-2.0.3.ebuild
This ebuild is marked as unstable for all architectures.
This ebuild matches the most current, stable aMule release.
Dependencies: >=x11-libs/wxGTK-2.6.0; >=sys-libs/zlib-1.2.2; sys-devel/gettext; >=media-libs/libpng-1.2.8; >=media-libs/gd-2.0.32
Status: No further development; in Portage
amule-cvs
This ebuild is marked as unstable for all architectures.
Not intended for the general public. If you'd like to test out the daily development snapshot, then this is the version for you.
Dependencies: >=x11-libs/wxGTK-2.6.0; >=sys-libs/zlib-1.2.1; >=media-libs/gd-2.0.26; >=media-libs/libpng-1.2.0
Status: In development; not in Portage; requires portage overlay
Installation instructions
amule-1.2.8.ebuild
1. Modify /etc/portage/package.use to suit your needs (please note that debug is enabled regardless of USE flag). Remember, since this version requires wxGTK compiled against GTK-1.2, you must compile without GTK-2.
net-p2p/amule debug gtk2 nls remote
2. Emerge package.
$ emerge amule -pv $ emerge amule
amule-2.0.0_rc7.ebuild
1. Add packages to package.keywords
echo "net-p2p/amule ~x86" >> /etc/portage/package.keywords echo "x11-libs/wxGTK ~x86" >> /etc/portage/package.keywords
2. Modify /etc/portage/package.use to suit your needs (please note that debug is enabled regardless of USE flag).
net-p2p/amule debug gtk2 nls remote stats unicode gd
3. Emerge package.
$ emerge amule -pv $ emerge amule
amule-2.0.3.ebuild
1. Add packages to package.keywords
echo "net-p2p/amule ~x86" >> /etc/portage/package.keywords echo "x11-libs/wxGTK ~x86" >> /etc/portage/package.keywords
2. Modify /etc/portage/package.use to suit your needs (please note that debug is enabled regardless of USE flag).
net-p2p/amule amuled debug gtk2 nls remote stats unicode
3. Emerge package.
$ emerge amule -pv $ emerge amule
amule-cvs
The current ebuilds for aMule CVS can be found here. Download it and continue with this wiki article.
1. Define PORTDIR_OVERLAY. Open up /etc/make.conf with your favourite text editor and define the PORTDIR_OVERLAY variable. The default is:
PORTDIR_OVERLAY="/usr/local/portage"
2. Create overlay for amule-cvs
$ mkdir -p {PORTDIR_OVERLAY}/net-p2p/amule-cvs $ mkdir -p {PORTDIR_OVERLAY}/net-p2p/amule-cvs/files
3. Add to package.keywords
echo "net-p2p/amule-cvs ~x86" >> /etc/portage/package.keywords
4. Copy amule-cvs-2.ebuild to {PORTDIR_OVERLAY}/net-p2p/amule-cvs
5. Copy amuled and amuleweb init script from official ebuild files :
$ cp {PORTDIR}/net-p2p/amule/files/amuled.* {PORTDIR_OVERLAY}/net-p2p/amule-cvs/files/ $ cp {PORTDIR}/net-p2p/amule/files/amuleweb.* {PORTDIR_OVERLAY}/net-p2p/amule-cvs/files/
PORTDIR is the official portage directory (usually /usr/portage/)
6. Change directory
$ cd {PORTDIR_OVERLAY}/net-p2p/amule-cvs/
7. Touch file's timestamp
$ touch amule-cvs-2.ebuild
8. Digest ebuild
$ ebuild amule-cvs-2.ebuild digest
9. Review installation flags
$ emerge amule-cvs -pv
10. Modify /etc/portage/package.use to suit your needs (please note that debug is enabled regardless of USE flag)
net-p2p/amule-cvs-2 X -amuled -debug gtk2 kad nls -nosystray -optimize -remote -remote-gui -stats unicode
11. Install aMule CVS
$ emerge amule-cvs
PLEASE PLEASE PLEASE do "emerge amule-cvs -pv" before installing to determine how you want to compile aMule.
Information on wxGTK
wxGTK 2.5.3 - 2.6.0
wxGTK versions 2.5.3 and greater are marked as unstable in Portage. In order to use wxGTK version 2.5.3 or greater, you must (keyword) unmask it.
$ mkdir /etc/portage $ echo "x11-libs/wxGTK ~x86" >> /etc/portage/package.keywords
If you want to use amuled then you need, at least, wxGTK2.5.3. Currently, the only version not hard masked in Portage is wxGTK 2.4.2 due to problems when compiling with OpenGL support in wxGTK 2.5.3. But as aMule is no 3D egoshooter, we can safely disable OpenGL support and use it anyway. To do so enter the following into a console as root:
If you want to use GTK-1.2:
$ echo "x11-libs/wxGTK -gtk2 -opengl" >> /etc/portage/package.use
If you want to use GTK-2 (recommended):
$ echo "x11-libs/wxGTK -opengl" >> /etc/portage/package.use
Finally, emerge wxGTK:
$ emerge wxGTK -pv $ emerge wxGTK
Note: There are two ebuilds available for amule-cvs. A version with >=wxGTK 2.6.0 support and a version with <=wxGTK 2.5.3 support. Please use the correct version depending on what version of wxGTK you choose to use. Of course, wxGTK >= 2.6.0 is recommended.
wxGTK 2.4.2
If you don't want to use the aMule daemon, wxGTK-2.4.2 will do you just fine. However, you must link it against GTK-1.2. aMule does not support wxGTK-2.4.2 linked against GTK-2. If you want to use GTK-2, you'll need wxGTK-2.5.1 at minimum:
$ mkdir /etc/portage $ echo "x11-libs/wxGTK -gtk2" >> /etc/portage/package.use
Finally, emerge wxGTK:
$ emerge wxGTK -pv $ emerge wxGTK
Will will compile wxGTK2.4.2 linked against GTK-1.2. After this wxGTK has compiled, you can continue with compiling aMule.