97 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
		
		
			
		
	
	
			97 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
| 
								 | 
							
								# Copyright 2016 Julian Ospald <hasufell@posteo.de>
							 | 
						||
| 
								 | 
							
								# Distributed under the terms of the GNU General Public License v2
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								require qmake
							 | 
						||
| 
								 | 
							
								require scons
							 | 
						||
| 
								 | 
							
								require github [ user=sinamas ]
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								SUMMARY="An accuracy-focused Gameboy / Gameboy Color emulator"
							 | 
						||
| 
								 | 
							
								HOMEPAGE="http://sourceforge.net/projects/gambatte"
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								LICENCES="GPL-2"
							 | 
						||
| 
								 | 
							
								SLOT="0"
							 | 
						||
| 
								 | 
							
								PLATFORMS="~amd64"
							 | 
						||
| 
								 | 
							
								MYOPTIONS="
							 | 
						||
| 
								 | 
							
								    (
							 | 
						||
| 
								 | 
							
								      qt4 [[ description = [ build qt4 frontend with real GUI ] ]]
							 | 
						||
| 
								 | 
							
								      sdl [[ description = [ build sdl fronted, start via cli ] ]]
							 | 
						||
| 
								 | 
							
								    ) [[ number-selected = at-least-one ]]
							 | 
						||
| 
								 | 
							
								"
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								DEPENDENCIES="
							 | 
						||
| 
								 | 
							
								    build+run:
							 | 
						||
| 
								 | 
							
								        sys-libs/zlib
							 | 
						||
| 
								 | 
							
								        qt4? (
							 | 
						||
| 
								 | 
							
								            sys-sound/alsa-lib
							 | 
						||
| 
								 | 
							
								            x11-libs/libX11
							 | 
						||
| 
								 | 
							
								            x11-libs/libXext
							 | 
						||
| 
								 | 
							
								            x11-libs/libXrandr
							 | 
						||
| 
								 | 
							
								            x11-libs/libXv
							 | 
						||
| 
								 | 
							
								            x11-libs/qt:4[opengl]
							 | 
						||
| 
								 | 
							
								        )
							 | 
						||
| 
								 | 
							
								        sdl? ( media-libs/SDL:0[X] )
							 | 
						||
| 
								 | 
							
								"
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								fix_scons() {
							 | 
						||
| 
								 | 
							
									local i
							 | 
						||
| 
								 | 
							
									for i; do
							 | 
						||
| 
								 | 
							
										cat >> $i << END || die
							 | 
						||
| 
								 | 
							
								import os
							 | 
						||
| 
								 | 
							
								import SCons.Util
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								if os.environ.has_key('AR'):
							 | 
						||
| 
								 | 
							
									env['AR'] = os.environ['AR']
							 | 
						||
| 
								 | 
							
								if os.environ.has_key('RANLIB'):
							 | 
						||
| 
								 | 
							
									env['RANLIB'] = os.environ['RANLIB']
							 | 
						||
| 
								 | 
							
								if os.environ.has_key('CC'):
							 | 
						||
| 
								 | 
							
									env['CC'] = os.environ['CC']
							 | 
						||
| 
								 | 
							
								if os.environ.has_key('CFLAGS'):
							 | 
						||
| 
								 | 
							
									env['CCFLAGS'] += SCons.Util.CLVar(os.environ['CFLAGS'])
							 | 
						||
| 
								 | 
							
								if os.environ.has_key('CXX'):
							 | 
						||
| 
								 | 
							
									env['CXX'] = os.environ['CXX']
							 | 
						||
| 
								 | 
							
								if os.environ.has_key('CXXFLAGS'):
							 | 
						||
| 
								 | 
							
									env['CXXFLAGS'] += SCons.Util.CLVar(os.environ['CXXFLAGS'])
							 | 
						||
| 
								 | 
							
								if os.environ.has_key('CPPFLAGS'):
							 | 
						||
| 
								 | 
							
									env['CCFLAGS'] += SCons.Util.CLVar(os.environ['CPPFLAGS'])
							 | 
						||
| 
								 | 
							
								if os.environ.has_key('LDFLAGS'):
							 | 
						||
| 
								 | 
							
									env['LINKFLAGS'] += SCons.Util.CLVar(os.environ['LDFLAGS'])
							 | 
						||
| 
								 | 
							
								END
							 | 
						||
| 
								 | 
							
									done
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								src_prepare() {
							 | 
						||
| 
								 | 
							
									fix_scons {gambatte_sdl,libgambatte}/SConstruct
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								src_configure() {
							 | 
						||
| 
								 | 
							
									if option qt4; then
							 | 
						||
| 
								 | 
							
										edo cd "${WORK}"/gambatte_qt
							 | 
						||
| 
								 | 
							
										eqmake ${PN}_qt.pro
							 | 
						||
| 
								 | 
							
									fi
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								src_compile() {
							 | 
						||
| 
								 | 
							
									# build core library
							 | 
						||
| 
								 | 
							
									edo cd "${WORK}"/libgambatte
							 | 
						||
| 
								 | 
							
									escons
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									# build sdl frontend
							 | 
						||
| 
								 | 
							
									if option sdl; then
							 | 
						||
| 
								 | 
							
										edo cd "${WORK}"/gambatte_sdl
							 | 
						||
| 
								 | 
							
										escons
							 | 
						||
| 
								 | 
							
									fi
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									# build qt frontend
							 | 
						||
| 
								 | 
							
									if option qt4; then
							 | 
						||
| 
								 | 
							
										emake -C "${WORK}"/gambatte_qt
							 | 
						||
| 
								 | 
							
									fi
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								src_install() {
							 | 
						||
| 
								 | 
							
									option sdl && dobin gambatte_sdl/gambatte_sdl
							 | 
						||
| 
								 | 
							
									option qt4 && dobin gambatte_qt/bin/gambatte_qt
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									nonfatal dodoc README changelog
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 |