299 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
		
		
			
		
	
	
			299 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
|  | # bashrc | ||
|  | 
 | ||
|  | ## global settings | ||
|  | CHOST="x86_64-pc-linux-gnu" | ||
|  | CFLAGS="-march=core-avx2 -O2 -pipe -Wall" | ||
|  | CXXFLAGS="${CFLAGS}" | ||
|  | LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,--hash-style=gnu" | ||
|  | MAKEOPTS="-j8" | ||
|  | 
 | ||
|  | I_KNOW_WHAT_I_AM_DOING="yes" | ||
|  | I_PROMISE_TO_SUPPLY_PATCHES_WITH_BUGS=1 | ||
|  | 
 | ||
|  | 
 | ||
|  | GAMES_PREFIX=/usr | ||
|  | GAMES_PREFIX_OPT=/opt | ||
|  | GAMES_DATADIR=/usr/share | ||
|  | GAMES_DATADIR_BASE=/usr/share | ||
|  | GAMES_SYSCONFDIR=/etc | ||
|  | GAMES_STATEDIR=/var/lib | ||
|  | GAMES_LOGDIR=/var/log | ||
|  | GAMES_BINDIR=${GAMES_PREFIX}/bin | ||
|  | GAMES_GROUP=users | ||
|  | 
 | ||
|  | # hack to disable actual building of multilib stuff | ||
|  | #MULTILIB_ABIS=amd64 | ||
|  | 
 | ||
|  | 
 | ||
|  | ## per-package settings | ||
|  | 
 | ||
|  | # no as-needed | ||
|  | if [[ "${CATEGORY}/${PN}" == "net-libs/libeXosip" ]] | ||
|  | then | ||
|  | 	LDFLAGS="${LDFLAGS/-Wl,--as-needed/}" | ||
|  | fi | ||
|  | 
 | ||
|  | # laptop-compat, keep this at the top | ||
|  | if [[ "${CATEGORY}/${PN}" == "x11-libs/wxGTK" || | ||
|  | 		"${CATEGORY}/${PN}" == "www-client/firefox" || | ||
|  | 		"${CATEGORY}/${PN}" == "www-client/torbrowser" || | ||
|  | 		"${CATEGORY}/${PN}" == "mail-client/thunderbird" || | ||
|  | 		"${CATEGORY}/${PN}" == "app-office/libreoffice" || | ||
|  | 		"${CATEGORY}/${PN}" == "net-libs/webkit-gtk" || | ||
|  | 		"${CATEGORY}/${PN}" == "dev-qt/qtwebkit" || | ||
|  | 		"${CATEGORY}/${PN}" == "app-emulation/wine" || | ||
|  | 		"${CATEGORY}/${PN}" == "sys-devel/llvm" ]] | ||
|  | then | ||
|  | 	CFLAGS="-march=core-avx-i -O2 -pipe" | ||
|  | 	CXXFLAGS="-march=core-avx-i -O2 -pipe" | ||
|  | fi | ||
|  | 
 | ||
|  | # clang | ||
|  | # if [[ "${CATEGORY}/${PN}" == "games-strategy/wesnoth" || | ||
|  | 		# "${CATEGORY}/${PN}" == "games-strategy/hedgewars" || | ||
|  | 		# "${CATEGORY}/${PN}" == "games-strategy/s25rttr" || | ||
|  | 		# "${CATEGORY}/${PN}" == "games-fps/urbanterror" || | ||
|  | 		# "${CATEGORY}/${PN}" == "games-rpg/arx-libertatis" || | ||
|  | 		# "${CATEGORY}/${PN}" == "games-roguelike/stone-soup" || | ||
|  | 		# "${CATEGORY}/${PN}" == "games-rpg/flare" || | ||
|  | 		# "${CATEGORY}/${PN}" == "games-rpg/sumwars" || | ||
|  | 		# "${CATEGORY}/${PN}" == "games-puzzle/meandmyshadow" || | ||
|  | 		# "${CATEGORY}/${PN}" == "games-action/minetest" || | ||
|  | 		# "${CATEGORY}/${PN}" == "games-board/cockatrice" || | ||
|  | 		# "${CATEGORY}/${PN}" == "games-strategy/ja2-stracciatella" || | ||
|  | 		# "${CATEGORY}/${PN}" == "games-strategy/dunelegacy" || | ||
|  | 		# "${CATEGORY}/${PN}" == "games-strategy/0ad" || | ||
|  | 		# "${CATEGORY}/${PN}" == "games-rpg/mana" || | ||
|  | 		# "${CATEGORY}/${PN}" == "games-action/supertuxkart" || | ||
|  | 		# "${CATEGORY}/${PN}" == "games-strategy/megaglest" || | ||
|  | 		# "${CATEGORY}/${PN}" == "games-strategy/freesynd" || | ||
|  | 		# #"${CATEGORY}/${PN}" == "games-engines/scummvm" || | ||
|  | 		# "${CATEGORY}/${PN}" == "games-emulation/zsnes" || | ||
|  | 		# "${CATEGORY}/${PN}" == "games-engines/gemrb" || | ||
|  | 		# "${CATEGORY}/${PN}" == "games-rpg/kqlives" || | ||
|  | 		# "${CATEGORY}/${PN}" == "games-arcade/retrobattle" || | ||
|  | 		# "${CATEGORY}/${PN}" == "games-arcade/commandergenius" || | ||
|  | 		# "${CATEGORY}/${PN}" == "games-strategy/uqm" || | ||
|  | 		# "${CATEGORY}/${PN}" == "games-puzzle/picpuz" || | ||
|  | 		# "${CATEGORY}/${PN}" == "games-fps/quake3" || | ||
|  | 		# "${CATEGORY}/${PN}" == "games-arcade/cervi" || | ||
|  | 		# "${CATEGORY}/${PN}" == "games-arcade/opensonic" || | ||
|  | 		# "${CATEGORY}/${PN}" == "games-action/chromium-bsu" || | ||
|  | 		# "${CATEGORY}/${PN}" == "games-strategy/freeciv" || | ||
|  | 		# "${CATEGORY}/${PN}" == "games-arcade/supertux" || | ||
|  | 		# "${CATEGORY}/${PN}" == "games-board/pioneers" || | ||
|  | 		# "${CATEGORY}/${PN}" == "games-board/ace" || | ||
|  | 		# "${CATEGORY}/${PN}" == "games-fps/sauerbraten" || | ||
|  | 		# "${CATEGORY}/${PN}" == "games-strategy/widelands" || | ||
|  | 		# "${CATEGORY}/${PN}" == "games-engines/residualvm" || | ||
|  | 		# "${CATEGORY}/${PN}" == "games-strategy/zod-engine" || | ||
|  | 		# "${CATEGORY}/${PN}" == "games-arcade/berusky" || | ||
|  | 		# "${CATEGORY}/${PN}" == "games-fps/eduke32" || | ||
|  | 		# "${CATEGORY}/${PN}" == "games-rpg/manaplus" || | ||
|  | 		# "${CATEGORY}/${PN}" == "games-action/d2x-rebirth" || | ||
|  | 		# "${CATEGORY}/${PN}" == "app-arch/innoextract" || | ||
|  | 		# "${CATEGORY}/${PN}" == "dev-util/xfce4-dev-tools" || | ||
|  | 		# "${CATEGORY}" == "xfce-base" || | ||
|  | 		# "${CATEGORY}" == "xfce-extra" || | ||
|  | 		# "${CATEGORY}/${PN}" == "app-editors/bluefish" || | ||
|  | 		# "${CATEGORY}/${PN}" == "media-video/mplayer" || | ||
|  | 		# "${CATEGORY}/${PN}" == "media-video/mplayer2" || | ||
|  | 		# "${CATEGORY}/${PN}" == "media-video/gnome-mplayer" || | ||
|  | 		# "${CATEGORY}/${PN}" == "app-editors/efte" || | ||
|  | 		# "${CATEGORY}/${PN}" == "x11-misc/x11vnc" || | ||
|  | 		# "${CATEGORY}/${PN}" == "app-office/dia" || | ||
|  | 		# "${CATEGORY}/${PN}" == "media-sound/tudor-volumed" || | ||
|  | 		# "${CATEGORY}/${PN}" == "app-cdr/cdemud" || | ||
|  | 		# "${CATEGORY}/${PN}" == "app-cdr/cdemu" || | ||
|  | 		# "${CATEGORY}/${PN}" == "sys-process/htop" || | ||
|  | 		# "${CATEGORY}/${PN}" == "app-office/abiword" || | ||
|  | 		# "${CATEGORY}/${PN}" == "net-misc/remmina" || | ||
|  | 		# "${CATEGORY}/${PN}" == "x11-misc/compton" || | ||
|  | 		# "${CATEGORY}/${PN}" == "media-sound/audacious" || | ||
|  | 		# "${CATEGORY}/${PN}" == "media-plugins/audacious-plugins" || | ||
|  | 		# "${CATEGORY}/${PN}" == "media-gfx/gthumb" || | ||
|  | 		# "${CATEGORY}/${PN}" == "app-arch/file-roller" || | ||
|  | 		# "${CATEGORY}/${PN}" == "x11-libs/gtk+" || | ||
|  | 		# "${CATEGORY}/${PN}" == "x11-terms/sakura" || | ||
|  | 		# "${CATEGORY}/${PN}" == "app-admin/hardinfo" || | ||
|  | 		# "${CATEGORY}/${PN}" == "net-irc/hexchat" || | ||
|  | 		# "${CATEGORY}/${PN}" == "x11-misc/redshift" || | ||
|  | 		# "${CATEGORY}/${PN}" == "app-editors/gvim" || | ||
|  | 		# "${CATEGORY}/${PN}" == "app-editors/vim" || | ||
|  | 		# "${CATEGORY}/${PN}" == "x11-libs/vte:0" || | ||
|  | 		# "${CATEGORY}/${PN}" == "x11-libs/vte:2.90" || | ||
|  | 		# "${CATEGORY}/${PN}" == "x11-misc/parcellite" || | ||
|  | 		# "${CATEGORY}/${PN}" == "x11-misc/wbar" || | ||
|  | 		# "${CATEGORY}/${PN}" == "x11-misc/idesk" || | ||
|  | 		# "${CATEGORY}/${PN}" == "dev-util/geany" || | ||
|  | 		# "${CATEGORY}/${PN}" == "media-gfx/pornview" || | ||
|  | 		# "${CATEGORY}/${PN}" == "x11-wm/openbox" || | ||
|  | 		# "${CATEGORY}/${PN}" == "media-sound/guayadeque" || | ||
|  | 		# "${CATEGORY}/${PN}" == "media-sound/pnmixer" || | ||
|  | 		# "${CATEGORY}/${PN}" == "net-misc/badvpn" || | ||
|  | 		# "${CATEGORY}/${PN}" == "app-admin/mcelog" || | ||
|  | 		# "${CATEGORY}/${PN}" == "net-firewall/pglinux" || | ||
|  | 		# "${CATEGORY}/${PN}" == "dev-lua/luvit" || | ||
|  | 		# "${CATEGORY}/${PN}" == "media-gfx/nvidia-texture-tools" || | ||
|  | 		# "${CATEGORY}/${PN}" == "x11-misc/spacefm" || | ||
|  | 		# "${CATEGORY}/${PN}" == "sys-apps/udevil" || | ||
|  | 		# "${CATEGORY}/${PN}" == "sys-devel/clang" || | ||
|  | 		# "${CATEGORY}/${PN}" == "games-util/desurium" || | ||
|  | 		# "${CATEGORY}/${PN}" == "mail-client/geary" || | ||
|  | 		# "${CATEGORY}/${PN}" == "net-libs/polarssl" || | ||
|  | 		# "${CATEGORY}/${PN}" == "x11-wm/i3" || | ||
|  | 		# "${CATEGORY}/${PN}" == "media-video/mpv" || | ||
|  | 		# "${CATEGORY}/${PN}" == "net-im/utox" || | ||
|  | 		# "${CATEGORY}/${PN}" == "net-libs/tox" || | ||
|  | 		# "${CATEGORY}/${PN}" == "sys-apps/paludis" || | ||
|  | 		# "${CATEGORY}/${PN}:${SLOT}" == "dev-lang/spidermonkey:24" | ||
|  | # ]] ; | ||
|  | # then | ||
|  | 	# CC="clang -Qunused-arguments -fcolor-diagnostics" | ||
|  | 	# CXX="clang++ -Qunused-arguments -fcolor-diagnostics" | ||
|  | # #	CFLAGS+=" -fsanitize=address -fsanitize=bounds" | ||
|  | # #	CXXFLAGS+=" -fsanitize=address -fsanitize=bounds" | ||
|  | 	# #LDFLAGS+=" -Wl,-z,now -Wl,-z,relro" | ||
|  | # fi | ||
|  | 
 | ||
|  | 
 | ||
|  | # clang incompatible or safety or missing openmp, also see #408963 | ||
|  | if [[ | ||
|  | 	"${CATEGORY}/${PN}" != "sys-devel/binutils" && | ||
|  | 	"${CATEGORY}/${PN}" != "sys-devel/gcc" && | ||
|  | 	"${CATEGORY}/${PN}" != "sys-libs/glibc" && | ||
|  | 	"${CATEGORY}/${PN}" != "sys-apps/coreutils" && | ||
|  | 	"${CATEGORY}/${PN}" != "media-gfx/blender" && | ||
|  | 	"${CATEGORY}/${PN}" != "x11-drivers/nvidia-drivers" && | ||
|  | 	"${CATEGORY}/${PN}" != "media-libs/mesa" && | ||
|  | 	"${CATEGORY}/${PN}" != "x11-base/xorg-server" && | ||
|  | 	"${CATEGORY}/${PN}" != "games-strategy/freeorion" && | ||
|  | 	"${CATEGORY}/${PN}" != "dev-libs/boost" && | ||
|  | 	"${CATEGORY}/${PN}" != "games-engines/openmw" && | ||
|  | 	"${CATEGORY}/${PN}" != "net-p2p/retroshare" && | ||
|  | 	"${CATEGORY}/${PN}" != "app-emulation/virtualbox" && | ||
|  | 	"${CATEGORY}/${PN}" != "app-emulation/virtualbox-modules" && | ||
|  | 	"${CATEGORY}/${PN}" != "media-libs/id3lib" && | ||
|  | 	"${CATEGORY}/${PN}" != "net-firewall/pglinux" && | ||
|  | 	"${CATEGORY}/${PN}" != "app-crypt/gnupg" && | ||
|  | 	"${CATEGORY}/${PN}" != "dev-lang/ruby" && | ||
|  | 	"${CATEGORY}/${PN}" != "mail-client/thunderbird" && | ||
|  | 	"${CATEGORY}/${PN}" != "www-client/firefox" && | ||
|  | 	"${CATEGORY}/${PN}" != "dev-scheme/guile" && | ||
|  | 	"${CATEGORY}/${PN}" != "dev-libs/libixion" && | ||
|  | 	"${CATEGORY}/${PN}" != "dev-lang/gprolog" && | ||
|  | 	"${CATEGORY}/${PN}" != "x11-libs/motif" && | ||
|  | 	"${CATEGORY}/${PN}" != "x11-libs/cairo" && | ||
|  | 	"${CATEGORY}/${PN}" != "media-libs/devil" && | ||
|  | 	"${CATEGORY}/${PN}" != "sys-devel/autogen" | ||
|  | 	]] | ||
|  | then | ||
|  | 	CC="clang" | ||
|  | 	CFLAGS+=" -Qunused-arguments -fcolor-diagnostics" | ||
|  | 	CXX="clang++" | ||
|  | 	CXXFLAGS+=" -Qunused-arguments -fcolor-diagnostics" | ||
|  | fi | ||
|  | 
 | ||
|  | # missing fpic | ||
|  | # if [[ "${CATEGORY}/${PN}" == "games-emulation/dosbox" ]] | ||
|  | # then | ||
|  | 	# CFLAGS+=" -fPIC" | ||
|  | 	# CXXFLAGS+=" -fPIC" | ||
|  | # fi | ||
|  | 
 | ||
|  | 
 | ||
|  | # O3 | ||
|  | if [[ "${CATEGORY}/${PN}" == "games-strategy/wesnoth" || | ||
|  | 		"${CATEGORY}/${PN}" == "games-strategy/hedgewars" || | ||
|  | 		"${CATEGORY}/${PN}" == "games-strategy/s25rttr" || | ||
|  | 		"${CATEGORY}/${PN}" == "games-fps/urbanterror" || | ||
|  | 		"${CATEGORY}/${PN}" == "games-rpg/arx-libertatis" || | ||
|  | 		"${CATEGORY}/${PN}" == "games-rpg/flare" || | ||
|  | 		"${CATEGORY}/${PN}" == "games-engines/openmw" || | ||
|  | 		"${CATEGORY}/${PN}" == "games-rpg/sumwars" || | ||
|  | 		"${CATEGORY}/${PN}" == "games-puzzle/meandmyshadow" || | ||
|  | 		"${CATEGORY}/${PN}" == "games-action/minetest" || | ||
|  | 		"${CATEGORY}/${PN}" == "games-board/cockatrice" || | ||
|  | 		"${CATEGORY}/${PN}" == "games-strategy/ja2-stracciatella" || | ||
|  | 		"${CATEGORY}/${PN}" == "games-strategy/dunelegacy" || | ||
|  | 		"${CATEGORY}/${PN}" == "games-rpg/mana" || | ||
|  | 		"${CATEGORY}/${PN}" == "games-action/supertuxkart" || | ||
|  | 		"${CATEGORY}/${PN}" == "games-strategy/megaglest" || | ||
|  | 		"${CATEGORY}/${PN}" == "games-strategy/freesynd" || | ||
|  | 		"${CATEGORY}/${PN}" == "games-engines/scummvm" || | ||
|  | 		"${CATEGORY}/${PN}" == "games-emulation/zsnes" || | ||
|  | 		"${CATEGORY}/${PN}" == "games-engines/gemrb" || | ||
|  | 		"${CATEGORY}/${PN}" == "games-rpg/kqlives" || | ||
|  | 		"${CATEGORY}/${PN}" == "games-arcade/retrobattle" || | ||
|  | 		"${CATEGORY}/${PN}" == "games-arcade/commandergenius" || | ||
|  | 		"${CATEGORY}/${PN}" == "games-strategy/uqm" || | ||
|  | 		"${CATEGORY}/${PN}" == "games-puzzle/picpuz" || | ||
|  | 		"${CATEGORY}/${PN}" == "games-fps/quake3" || | ||
|  | 		"${CATEGORY}/${PN}" == "games-arcade/cervi" || | ||
|  | 		"${CATEGORY}/${PN}" == "games-arcade/opensonic" || | ||
|  | 		"${CATEGORY}/${PN}" == "games-action/chromium-bsu" || | ||
|  | 		"${CATEGORY}/${PN}" == "games-strategy/freeciv" || | ||
|  | 		"${CATEGORY}/${PN}" == "games-arcade/supertux" || | ||
|  | 		"${CATEGORY}/${PN}" == "games-board/pioneers" || | ||
|  | 		"${CATEGORY}/${PN}" == "games-board/ace" || | ||
|  | 		"${CATEGORY}/${PN}" == "games-fps/sauerbraten" || | ||
|  | 		"${CATEGORY}/${PN}" == "games-strategy/widelands" || | ||
|  | 		"${CATEGORY}/${PN}" == "games-engines/residualvm" || | ||
|  | 		"${CATEGORY}/${PN}" == "games-strategy/zod-engine" || | ||
|  | 		"${CATEGORY}/${PN}" == "games-arcade/berusky" || | ||
|  | 		"${CATEGORY}/${PN}" == "games-fps/eduke32" || | ||
|  | 		"${CATEGORY}/${PN}" == "games-rpg/manaplus" || | ||
|  | 		"${CATEGORY}/${PN}" == "games-action/d2x-rebirth" ]] | ||
|  | then | ||
|  | 	CFLAGS="${CFLAGS} -O3" | ||
|  | 	CXXFLAGS="${CXXFLAGS} -O3" | ||
|  | fi | ||
|  | 
 | ||
|  | 
 | ||
|  | # debug | ||
|  | if [[ "${CATEGORY}/${PN}" == "x11-libs/gtk+" || | ||
|  | 		"${CATEGORY}/${PN}" == "dev-util/glade" || | ||
|  | 		"${CATEGORY}/${PN}" == "dev-libs/libntru" || | ||
|  | 		"${CATEGORY}/${PN}" == "net-misc/curl" || | ||
|  | 		"${CATEGORY}/${PN}" == "net-libs/mbedtls" | ||
|  | ]] | ||
|  | then | ||
|  | 	CFLAGS="${CFLAGS} -Wall -g" | ||
|  | 	CXXFLAGS="${CXXFLAGS} -Wall -g" | ||
|  | fi | ||
|  | 
 | ||
|  | 
 | ||
|  | # full debug | ||
|  | if [[ "${CATEGORY}/${PN}" == "games-fps/doomsday" ]] | ||
|  | then | ||
|  | 	CFLAGS="${CFLAGS} -Wall -g -O0" | ||
|  | 	CXXFLAGS="${CXXFLAGS} -Wall -g -O0" | ||
|  | fi | ||
|  | 
 | ||
|  | 
 | ||
|  | # nodebug | ||
|  | if [[ "${CATEGORY}/${PN}" == "dev-python/pypy" || | ||
|  | 		"${CATEGORY}/${PN}" == "games-strategy/freeorion" || | ||
|  | 		"${CATEGORY}/${PN}" == "www-client/chromium" || | ||
|  | 		"${CATEGORY}/${PN}" == "sys-devel/clang" || | ||
|  | 		"${CATEGORY}/${PN}" == "sys-devel/llvm" || | ||
|  | 		"${CATEGORY}/${PN}" == "www-client/firefox" || | ||
|  | 		"${CATEGORY}/${PN}" == "www-client/torbrowser" || | ||
|  | 		"${CATEGORY}/${PN}" == "mail-client/thunderbird" || | ||
|  | 		"${CATEGORY}/${PN}" == "app-office/libreoffice" || | ||
|  | 		"${CATEGORY}/${PN}" == "net-libs/webkit-gtk" || | ||
|  | 		"${CATEGORY}/${PN}" == "dev-qt/qtwebkit" ]] | ||
|  | then | ||
|  | 	CFLAGS="${CFLAGS} -g0" | ||
|  | 	CXXFLAGS="${CXXFLAGS} -g0" | ||
|  | fi | ||
|  | 
 | ||
|  | 
 | ||
|  | # parallel build broken | ||
|  | if [[ "${CATEGORY}/${PN}" == "dev-libs/openssl" ]] | ||
|  | then | ||
|  | 	MAKEOPTS="-j1" | ||
|  | fi | ||
|  | 
 | ||
|  | 
 |