127 lines
4.2 KiB
Bash
127 lines
4.2 KiB
Bash
# Copyright 1999-2010 Gentoo Foundation
|
|
# Distributed under the terms of the GNU General Public License v2
|
|
# $Header: /var/cvsroot/gentoo-x86/app-emulation/mol/mol-0.9.72.1.ebuild,v 1.4 2010/02/12 18:56:52 josejx Exp $
|
|
|
|
inherit flag-o-matic eutils linux-mod
|
|
|
|
DESCRIPTION="Mac-on-Linux (MOL) allows PPC users run MacOS(X) under Linux"
|
|
HOMEPAGE="http://www.maconlinux.org/"
|
|
SRC_URI="mirror://gentoo/${P}.tar.bz2"
|
|
|
|
LICENSE="GPL-2"
|
|
SLOT="0"
|
|
KEYWORDS="-* ~ppc"
|
|
IUSE="alsa oss fbcon X oldworld sheep debug dga usb pci"
|
|
|
|
MAKEOPTS="${MAKEOPTS} -j1"
|
|
RDEPEND="net-misc/dhcp
|
|
sys-libs/zlib
|
|
net-firewall/iptables
|
|
alsa? ( media-libs/alsa-lib )
|
|
X? ( x11-libs/libXext
|
|
dga? ( x11-libs/libXxf86dga ) )"
|
|
DEPEND="${RDEPEND}
|
|
X? ( x11-libs/libXt
|
|
x11-proto/xextproto
|
|
dga? ( x11-proto/xf86dgaproto ) )"
|
|
|
|
MODULE_NAMES="mol(mol:${S}/src/kmod/Linux)
|
|
sheep(net:${S}/src/netdriver)"
|
|
|
|
pkg_setup() {
|
|
echo
|
|
if ! use fbcon; then
|
|
elog "If you want to use MOL fullscreen on a virtual console"
|
|
elog "be sure to have the USE-flag \"fbcon\" set!"
|
|
fi
|
|
echo
|
|
|
|
linux-mod_pkg_setup
|
|
}
|
|
|
|
src_compile() {
|
|
filter-flags -fsigned-char
|
|
replace-flags -O? -O1
|
|
|
|
export KERNEL_SOURCE="/usr/src/${FK}"
|
|
export LDFLAGS=""
|
|
|
|
# initialize all needed build-files
|
|
./autogen.sh
|
|
./configure --prefix="/usr" || die "Configure failed."
|
|
|
|
# workaround for proper module-building
|
|
emake defconfig || die "Make failed."
|
|
|
|
sed -i "s:CONFIG_XDGA=y:# CONFIG_XDGA is not set:" .config-ppc
|
|
use alsa || sed -i "s:CONFIG_ALSA=y:# CONFIG_ALSA is not set:" .config-ppc
|
|
use debug && sed -i "s:# CONFIG_DEBUGGER is not set:CONFIG_DEBUGGER=y:" .config-ppc
|
|
use oss || sed -i "s:CONFIG_OSS=y:# CONFIG_OSS is not set:" .config-ppc
|
|
use oldworld || sed -i "s:CONFIG_OLDWORLD=y:# CONFIG_OLDWORLD is not set:" .config-ppc
|
|
use sheep || sed -i "s:iCONFIG_SHEEP=y:# CONFIG_SHEEP is not set:" .config-ppc
|
|
use X || sed -i "s:CONFIG_X11=y:# CONFIG_X11 is not set:" .config-ppc
|
|
use fbcon || sed -i "s:CONFIG_FBDEV=y:# CONFIG_FBDEV is not set:" .config-ppc
|
|
### Remove VNC, since the deps are broken
|
|
sed -i "s:CONFIG_VNC=y:# CONFIG_VNC is not set:" .config-ppc
|
|
use dga || sed -i "s:CONFIG_XDGA=y:# CONFIG_XDGA is not set:" .config-ppc
|
|
use usb || sed -i "s:CONFIG_USBDEV=y:# CONFIG_USBDEV is not set:" .config-ppc
|
|
use pci || sed -i "s:CONFIG_PCIPROXY=y:# CONFIG_PCIPROXY is not set:" .config-ppc
|
|
|
|
einfo "The configuration has been altered according to your USE-flags."
|
|
# reinitialize our changed configuration
|
|
emake oldconfig
|
|
|
|
cd "${S}"
|
|
emake BUILD_MODS=n || die "Build failed."
|
|
|
|
# Build the modules too!
|
|
BUILD_PARAMS="KERNEL_SOURCE=\"${KV_DIR}\" \
|
|
LV=${KV_MAJOR}${KV_MINOR} \
|
|
MP=${KV_OBJ} \
|
|
KUNAME=${KV}"
|
|
BUILD_TARGETS=all
|
|
linux-mod_src_compile
|
|
}
|
|
|
|
src_install() {
|
|
#linux-mod_src_install
|
|
cd "${S}"
|
|
emake DESTDIR="${D}" install || die "Failed to install"
|
|
dodoc CREDITS Doc/Boot-ROM Doc/NewWorld-ROM Doc/Sound Doc/Video
|
|
dodoc Doc/Networking Doc/Dev/Debugger Doc/Dev/Addresses
|
|
dodoc Doc/man/molvconfig.1 Doc/man/startmol.1 Doc/man/molrc.5
|
|
|
|
dodir /var/lib/mol/lock
|
|
touch "${D}"/var/lib/mol/lock/.keep
|
|
dodir /var/lib/mol/log
|
|
touch "${D}"/var/lib/mol/log/.keep
|
|
}
|
|
|
|
pkg_postinst() {
|
|
echo
|
|
elog "Mac-on-Linux is now installed. To run, use the command startmol."
|
|
if use fbcon; then
|
|
elog "You might want to configure video modes first with molvconfig."
|
|
fi
|
|
elog "Other configuration is in /etc/molrc. For more info see:"
|
|
elog " http://www.maconlinux.org"
|
|
elog "Also try man molrc, man molvconfig, man startmol"
|
|
echo
|
|
ewarn "For networking and sound you might install the drivers in the"
|
|
ewarn "folder \"MOL-Install\" on your Mac OS X-Desktop."
|
|
echo
|
|
ewarn "If errors with networking occur, make sure you have the following"
|
|
ewarn "kernel functions enabled:"
|
|
ewarn "For connecting to Linux:"
|
|
ewarn " Universal TUN/TAP device driver support (CONFIG_TUN)"
|
|
ewarn "For the dhcp server:"
|
|
ewarn " Packet Socket (CONFIG_PACKET)"
|
|
ewarn "For NAT:"
|
|
ewarn " Network packet filtering (CONFIG_NETFILTER)"
|
|
ewarn " Connection tracking (CONFIG_IP_NF_CONNTRACK)"
|
|
ewarn " IP tables support (CONFIG_IP_NF_IPTABLES)"
|
|
ewarn " Packet filtering (CONFIG_IP_NF_FILTER)"
|
|
ewarn " Full NAT (CONFIG_IP_NF_NAT)"
|
|
ewarn " MASQUERADE target support (CONFIG_IP_NF_TARGET_MASQUERADE)"
|
|
echo
|
|
}
|