# Copyright 1999-2017 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 EAPI=6 # Python 2.7 is used by the scripts in the ../doomsday/build directory PYTHON_COMPAT=( python2_7 ) #Todo?: Doomsday v2 can use QT4 if built without the GUI but requires QT5 with the GUI. Maybe support optional QT4 builds? inherit eutils cmake-utils multilib python-any-r1 MY_P="doomsday-2.1.0-build2368" # We must use the preexisting build directory because we must use the Python scripts located there. BUILD_DIR="${WORKDIR}/${MY_P}/doomsday/build" #CMAKE_BUILD_TYPE="Release" CMAKE_USE_DIR="${WORKDIR}/${MY_P}/doomsday" CMAKE_VERBOSE="ON" #export QT_SELECT="5" # Shouldn't be needed since specifying the path to qmake seems to work fine and does not require qtchooser. DESCRIPTION="A portable, enhanced source port of Doom, Heretic and Hexen." HOMEPAGE="https://dengine.net/" SRC_URI="http://api.dengine.net/1/builds?dl=doomsday-2.1.0-build2368.tar.gz -> 2.1.0-build2368.tar.gz" LICENSE="" SLOT="0" KEYWORDS="~amd64 ~x86" # This *should* also build and work on Mac and FreeBSD systems, but I haven't tested it. IUSE="asm assimp_3d +assimp_3ds assimp_ac assimp_ase assimp_assbin assimp_tools \ assimp_assxml assimp_b3d +assimp_blend assimp_bvh assimp_cob +assimp_collada \ assimp_csm assimp_dxf +assimp_fbx assimp_hmp assimp_ifc +assimp_irr assimp_lwo \ assimp_lws +assimp_md2 +assimp_md3 +assimp_md5 assimp_mdc +assimp_mdl assimp_ms3d \ assimp_ndo assimp_nff assimp_c4d +assimp_obj assimp_off assimp_ogre assimp_opengex \ assimp_ply assimp_q3bsp assimp_q3d assimp_raw assimp_samples assimp_smd assimp_stl \ assimp_terragen assimp_tests assimp_xgl assimp_x boost ccache cotire counted_tracing \ debug +displaymode fake_memory_zone fluidsynth_embedded +gui liblegacy_writer_type_check \ sdk test +tools +turbo" #Note: possibly add fmod USE flag and support, but a new enough version of Fmod doesn't exist in Portage. #Note: possibly add oculus USE flag and support, but will need libovr added to Portage. RDEPEND="dev-libs/zziplib dev-qt/qtcore:5 dev-qt/qtgui:5 dev-qt/qtnetwork:5 dev-qt/qtopengl:5 dev-qt/qtwidgets:5 dev-qt/qtx11extras:5 media-libs/libsdl2 media-libs/openal media-libs/sdl2-mixer sys-libs/ncurses sys-libs/zlib[minizip] boost? ( dev-libs/boost ) !fluidsynth_embedded? ( media-libs/sdl2-mixer[fluidsynth,midi] media-sound/fluidsynth )" # fmod? ( >=media-libs/fmod-4.44.03:1 ) # oculus? ( dev-libs/libovr ) DEPEND="${PYTHON_DEPS} ${RDEPEND} virtual/pkgconfig asm? ( dev-lang/nasm ) ccache? ( dev-util/ccache )" S=${WORKDIR}/${MY_P} src_configure() { local mycmakeargs=( -DASSIMP_BUILD_3DS_IMPORTER="$(usex assimp_3ds)" -DASSIMP_BUILD_3D_IMPORTER="$(usex assimp_3d)" -DASSIMP_BUILD_AC_IMPORTER="$(usex assimp_ac)" -DASSIMP_BUILD_ASE_IMPORTER="$(usex assimp_ase)" -DASSIMP_BUILD_ASSBIN_IMPORTER="$(usex assimp_assbin)" -DASSIMP_BUILD_ASSIMP_TOOLS="$(usex assimp_tools)" -DASSIMP_BUILD_ASSXML_IMPORTER="$(usex assimp_assxml)" -DASSIMP_BUILD_B3D_IMPORTER="$(usex assimp_b3d)" -DASSIMP_BUILD_BLEND_IMPORTER="$(usex assimp_blend)" -DASSIMP_BUILD_BVH_IMPORTER="$(usex assimp_bvh)" -DASSIMP_BUILD_COB_IMPORTER="$(usex assimp_cob)" -DASSIMP_BUILD_COLLADA_IMPORTER="$(usex assimp_collada)" -DASSIMP_BUILD_CSM_IMPORTER="$(usex assimp_csm)" -DASSIMP_BUILD_DXF_IMPORTER="$(usex assimp_dxf)" -DASSIMP_BUILD_FBX_IMPORTER="$(usex assimp_fbx)" -DASSIMP_BUILD_HMP_IMPORTER="$(usex assimp_hmp)" -DASSIMP_BUILD_IFC_IMPORTER="$(usex assimp_ifc)" -DASSIMP_BUILD_IRR_IMPORTER="$(usex assimp_irr)" -DASSIMP_BUILD_LWO_IMPORTER="$(usex assimp_lwo)" -DASSIMP_BUILD_LWS_IMPORTER="$(usex assimp_lws)" -DASSIMP_BUILD_MD2_IMPORTER="$(usex assimp_md2)" -DASSIMP_BUILD_MD3_IMPORTER="$(usex assimp_md3)" -DASSIMP_BUILD_MD5_IMPORTER="$(usex assimp_md5)" -DASSIMP_BUILD_MDC_IMPORTER="$(usex assimp_mdc)" -DASSIMP_BUILD_MDL_IMPORTER="$(usex assimp_mdl)" -DASSIMP_BUILD_MS3D_IMPORTER="$(usex assimp_ms3d)" -DASSIMP_BUILD_NDO_IMPORTER="$(usex assimp_ndo)" -DASSIMP_BUILD_NFF_IMPORTER="$(usex assimp_nff)" -DASSIMP_BUILD_NONFREE_C4D_IMPORTER="$(usex assimp_c4d)" -DASSIMP_BUILD_OBJ_IMPORTER="$(usex assimp_obj)" -DASSIMP_BUILD_OFF_IMPORTER="$(usex assimp_off)" -DASSIMP_BUILD_OGRE_IMPORTER="$(usex assimp_ogre)" -DASSIMP_BUILD_OPENGEX_IMPORTER="$(usex assimp_opengex)" -DASSIMP_BUILD_PLY_IMPORTER="$(usex assimp_ply)" -DASSIMP_BUILD_Q3BSP_IMPORTER="$(usex assimp_q3bsp)" -DASSIMP_BUILD_Q3D_IMPORTER="$(usex assimp_q3d)" -DASSIMP_BUILD_RAW_IMPORTER="$(usex assimp_raw)" -DASSIMP_BUILD_SAMPLES="$(usex assimp_samples)" -DASSIMP_BUILD_SMD_IMPORTER="$(usex assimp_smd)" -DASSIMP_BUILD_STL_IMPORTER="$(usex assimp_stl)" -DASSIMP_BUILD_TERRAGEN_IMPORTER="$(usex assimp_terragen)" -DASSIMP_BUILD_TESTS="$(usex assimp_tests)" -DASSIMP_BUILD_XGL_IMPORTER="$(usex assimp_xgl)" -DASSIMP_BUILD_X_IMPORTER="$(usex assimp_x)" -DASSIMP_ENABLE_BOOST_WORKAROUND="$(usex !boost)" -DASSIMP_LIB_INSTALL_DIR:PATH="$(get_libdir)/doomsday" -DASSIMP_NO_EXPORT:BOOL=OFF -DASSIMP_OPT_BUILD_PACKAGES:BOOL=OFF -DASSIMP_PACKAGE_VERSION:STRING=0 -DASSIMP_ENABLE_BOOST_WORKAROUND:BOOL=ON -DASSIMP_INCLUDE_INSTALL_DIR:PATH=include/doomsday -DBUILD_SHARED_LIBS:BOOL=OFF -DCMAKE_VERBOSE_MAKEFILE:BOOL=TRUE -DDENG_ENABLE_CCACHE="$(usex ccache)" -DDENG_ENABLE_COTIRE="$(usex cotire)" -DDENG_ENABLE_COUNTED_TRACING="$(usex counted_tracing)" -DDENG_ENABLE_DISPLAYMODE="$(usex displaymode)" -DDENG_ENABLE_FMOD:BOOL=OFF -DDENG_ENABLE_GUI="$(usex gui)" -DDENG_ENABLE_OCULUS:BOOL=OFF -DDENG_ENABLE_SDK="$(usex sdk)" -DDENG_ENABLE_TESTS="$(usex test)" -DDENG_ENABLE_TOOLS="$(usex tools)" -DDENG_ENABLE_TURBO="$(usex turbo)" -DDENG_FAKE_MEMORY_ZONE="$(usex fake_memory_zone)" -DDENG_FIXED_ASM="$(usex asm)" -DDENG_FLUIDSYNTH_EMBEDDED="$(usex fluidsynth_embedded)" -DDENG_LIBLEGACY_WRITER_TYPE_CHECK="$(usex liblegacy_writer_type_check)" -DDENG_PREFIX_SET:STRING=YES -DQMAKE:FILEPATH=/usr/lib/qt5/bin/qmake -DQT_QMAKE_EXECUTABLE:FILEPATH=/usr/lib/qt5/bin/qmake ) # -DDENG_SDK_DIR:PATH="" # ) # Placeholder for configuring fmod once a suitable version of fmod is in Portage. # Note that Doomsday 2.0.x uses Fmod Ex, but, starting with Doomsday 2.1, it will use # Fmod Studio which will need a different path -- probably /opt/fmodstudioapi # if use fmod; then # mycmakeargs=( # ${mycmakeargs} # -DFMOD_DIR:PATH=/opt/fmodex # ) # fi # Placeholder for configuring Oculus support after libovr is added to Portage. # if use oculus; then # mycmakeargs=( # ${mycmakeargs} # -DLIBOVR_DIR:PATH="" # -DLIBOVR_OVR_H:FILEPATH="" # ) # fi cmake-utils_src_configure }