Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

games-simulation/openttd: Create ebuild for OpenTTD 1.10.0 #15260

Closed
wants to merge 4 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions games-simulation/openttd/Manifest
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
DIST openttd-1.10.0-source.tar.xz 6801228 BLAKE2B 7383cec42ece1b02fa9c783453ca2c54346138762b44d4338cd5f31577855cf0dc7af5744a3fc82354c463d81fc6ecde0ec3f9f660b6275cb58f85ecf43adbba SHA512 f1727b81a059aa04bea1fb6a9a89ae0619942d6406a77f99e642a60ea9416daa215bbd0cbd183747c2df5f6dea81766b7e04493a52211e55522e8b2642db701a
DIST openttd-1.9.1-source.tar.xz 6647548 BLAKE2B fd7d03221bea49345e2163ff700e62a12682f706c1dab3fc741136219b80094bf945dc0cefcd807a643d141841a307141bb760d4b06bf75fa18129c557b149c3 SHA512 44d907299a14fd09ebff980f7c212bbdbd5def880bc56bfe106c3efa8cb32472bbcafdbb145d3f4340a3bc96179418f78fe2ddc62dd067b464eca73313b477c1
DIST openttd-1.9.2-source.tar.xz 6666860 BLAKE2B a28862b00f3ec5cd8f015445022746e08a298046de05a592a76f72ff72d76aae4584d48cfe021d3fe6920555b4848986b3e25b23998cac830da572c21f06e595 SHA512 a84a219c049147e9566967f96a01c84dde587e38da37b34ef756da99a2d14f1d418492030098f63c4ac60cb0db553f474aaf3b8a00c8abfd98f66adc14f523e4
DIST openttd-1.9.3-source.tar.xz 6659508 BLAKE2B 653ddd14d257d25f6c51138765f310cb8166575375fb95227a9a2c06cd1b526d8af403cb736d17b98c49add26f668ab5c6f8ca7b5fcda5fea9093726b2fd4a21 SHA512 e2208f730cf26c2df9b1950e885e20471060217dd47f2483db3f1cc86b40658d71208f27caab38a9fa513cfddb33c791a0972336dfa902a6d110ef246d936a34
180 changes: 180 additions & 0 deletions games-simulation/openttd/openttd-1.10.0.ebuild
Original file line number Diff line number Diff line change
@@ -0,0 +1,180 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=7
inherit xdg

MY_PV="${PV/_rc/-RC}"
MY_P="${PN}-${MY_PV}"

DESCRIPTION="OpenTTD is a clone of Transport Tycoon Deluxe"
HOMEPAGE="http://www.openttd.org/"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for review, what should I do next? (my first ebuild sumbitted to Gentoo via PR)

if [[ "${PV}" == *9999 ]] ; then
inherit git-r3
EGIT_REPO_URI="https://github.com/OpenTTD/OpenTTD.git"
else
SRC_URI="https://proxy.binaries.openttd.org/openttd-releases/${MY_PV}/${MY_P}-source.tar.xz"
KEYWORDS="~amd64 ~ppc64 ~x86"
S="${WORKDIR}/${MY_P}"
fi

LICENSE="GPL-2"
SLOT="0"
IUSE="aplaymidi debug dedicated iconv icu lzo +openmedia +png cpu_flags_x86_sse +timidity +truetype zlib"
RESTRICT="test" # needs a graphics set in order to test

RDEPEND="!dedicated? (
media-libs/libsdl[sound,X,video]
icu? (
dev-libs/icu-layoutex
dev-libs/icu-le-hb
>=dev-libs/icu-58.1:=
)
truetype? (
media-libs/fontconfig
media-libs/freetype:2
sys-libs/zlib:=
)
)
lzo? ( dev-libs/lzo:2 )
iconv? ( virtual/libiconv )
png? (
media-libs/libpng:0
sys-libs/zlib:=
)
zlib? ( sys-libs/zlib:= )"
DEPEND="${RDEPEND}"
BDEPEND="
virtual/pkgconfig"
PDEPEND="
!dedicated? (
openmedia? (
games-misc/openmsx
games-misc/opensfx
)
aplaymidi? ( media-sound/alsa-utils )
!aplaymidi? ( timidity? ( media-sound/timidity++ ) )
)
openmedia? ( >=games-misc/opengfx-0.4.7 )"

PATCHES=(
"${FILESDIR}"/${PN}-1.9.0-cflags.patch
"${FILESDIR}"/${PN}-1.9.0-dont_compress_manpages.patch
)

src_configure() {
local myopts=(
--binary-dir="bin"
--disable-strip
--doc-dir="share/doc/${PF}"
--install-dir="${D}"
--menu-group="Game;Simulation;"
--prefix-dir="${EPREFIX}/usr"
$(use_with cpu_flags_x86_sse sse)
$(use_with iconv)
$(use_with lzo liblzo2)
$(use_with png)
$(usex debug '--enable-debug=3' '')
# there is an allegro interface available as well as sdl, but
# the configure for it looks broken so the sdl interface is
# always built instead.
--without-allegro

--without-fluidsynth
)

if use dedicated ; then
myopts+=( --enable-dedicated )
else
myopts+=(
$(usex aplaymidi '--with-midi=/usr/bin/aplaymidi' '')
$(use_with truetype freetype)
$(use_with icu)
--with-sdl
)
fi
if use png || { use !dedicated && use truetype; } || use zlib ; then
myopts+=( --with-zlib )
else
myopts+=( --without-zlib )
fi

# configure is a hand-written bash-script, so econf will not work.
# It's all built as C++, upstream uses CFLAGS internally.
CFLAGS="" ./configure ${myopts[@]} || die
}

src_compile() {
emake VERBOSE=1
}

src_install() {
default
if use dedicated ; then
newinitd "${FILESDIR}"/${PN}.initd-r1 ${PN}
rm -rf "${ED}"/usr/share/{applications,icons,pixmaps} || die
fi
rm -f "${ED}"/usr/share/doc/${PF}/COPYING || die
}

pkg_preinst() {
xdg_pkg_preinst
}

pkg_postinst() {
xdg_pkg_postinst

if ! use lzo ; then
elog "OpenTTD was built without 'lzo' in USE. While 'lzo' is not"
elog "required, disabling it does mean that loading old savegames"
elog "or scenarios from ancient versions (~0.2) will fail."
elog
fi

if use dedicated ; then
ewarn "Warning: The init script will kill all running openttd"
ewarn "processes when triggered, including any running client sessions!"
else
if use aplaymidi ; then
elog "You have emerged with 'aplaymidi' for playing MIDI."
elog "This option is for those with a hardware midi device,"
elog "or who have set up ALSA to handle midi ports."
elog "You must set the environment variable ALSA_OUTPUT_PORTS."
elog "Available ports can be listed by using 'aplaymidi -l'."
else
if ! use timidity ; then
elog "OpenTTD was built with neither 'aplaymidi' nor 'timidity'"
elog "in USE. Music may or may not work in-game. If you happen"
elog "to have timidity++ installed, music will work so long"
elog "as it remains installed, but OpenTTD will not depend on it."
fi
fi
if ! use openmedia ; then
elog
elog "OpenTTD was compiled without the 'openmedia' USE flag."
elog
elog "In order to play, you must at least install:"
elog "games-misc/opengfx, and games-misc/opensfx, or copy the "
elog "following 6 files from a version of Transport Tycoon Deluxe"
elog "(windows or DOS) to ~/.openttd/data/ or"
elog "${GAMES_DATADIR}/${PN}/data/."
elog
elog "From the WINDOWS version you need: "
elog "sample.cat trg1r.grf trgcr.grf trghr.grf trgir.grf trgtr.grf"
elog "OR from the DOS version you need: "
elog "SAMPLE.CAT TRG1.GRF TRGC.GRF TRGH.GRF TRGI.GRF TRGT.GRF"
elog
elog "File names are case sensitive, but should work either with"
elog "all upper or all lower case names"
elog
elog "In addition, in-game music will be unavailable: for music,"
elog "install games-misc/openmsx, or use the in-game download"
elog "functionality to get a music set"
elog
fi
fi
}

pkg_postrm() {
xdg_pkg_postrm
}