bcallah d91c4bd228 Import games/hyperrogue, a roguelike game in a non-Euclidean world.
ok schwarze@

You are a lone adventurer in a strange world, where geometry does not
work in the expected way. Gather as much treasure as you can before the
nasty monsters get you. Explore about 50 different worlds, each with its
own unique treasures, enemies, and terrain obstacles. Your quest is to
find the legendary treasure, the Orbs of Yendor. Collect one of them to
win! Or just ignore your quest and collect smaller treasures.

The twist is the unique, unusual geometry of the world: it is one of
just few games which takes place on the hyperbolic plane. Witness a grid
composed of hexagons and heptagons, straight lines which seem to be
parallel, but then they diverge and never cross, triangles whose angles
add up to less than 180 degrees, how extremely unlikely is it to reach
the same place twice, and how the world seems to be rotated when you do
return. All this matters for the gameplay. The game is inspired by the
roguelike genre (although in a very minimalist way), works of M. C.
Escher, and by puzzle games such as Deadly Rooms of Death.
2017-11-08 14:54:39 +00:00

53 lines
1.4 KiB
Makefile

# $OpenBSD: Makefile,v 1.1.1.1 2017/11/08 14:54:39 bcallah Exp $
COMMENT = roguelike game in a non-Euclidean world
CATEGORIES = games x11
GH_ACCOUNT = zenorogue
GH_PROJECT = hyperrogue
GH_TAGNAME = 10.0o
HOMEPAGE = http://roguetemple.com/z/hyper/
MAINTAINER = Brian Callahan <bcallah@openbsd.org>
# GPLv2+
PERMIT_PACKAGE_CDROM = Yes
WANTLIB += ${COMPILER_LIBCXX} GL GLEW SDL SDL_gfx SDL_mixer SDL_ttf
WANTLIB += c m png
# C++11
COMPILER = base-clang ports-clang ports-gcc
BUILD_DEPENDS = ${MODGNU_AUTOCONF_DEPENDS} \
${MODGNU_AUTOMAKE_DEPENDS}
LIB_DEPENDS = devel/sdl-gfx \
devel/sdl-mixer \
devel/sdl-ttf \
graphics/glew \
graphics/png
CONFIGURE_STYLE = gnu
CONFIGURE_ENV = CPPFLAGS="${CPPFLAGS} -I${LOCALBASE}/include -I${X11BASE}/include" \
LDFLAGS="${LDFLAGS} -L${LOCALBASE}/lib -L${X11BASE}/lib"
MAKE_FLAGS = CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS} -std=c++11"
AUTOCONF_VERSION = 2.69
AUTOMAKE_VERSION = 1.15
# Set version number correctly (upstream oversight?)
# Disable hardcoded optimizations, including -std=c++11
# It gets added back anyhow, and if you don't the C compiler
# will pick it up and clang will error out.
# autoreconf taken from games/manaplus
pre-configure:
sed -i "s,9.4d,${GH_TAGNAME},g" ${WRKSRC}/configure.ac
sed -i -e 's,-O0,,g' -e 's,-std=c++11,,g' ${WRKSRC}/Makefile.am
cd ${WRKSRC} && \
${SETENV} AUTOCONF_VERSION=${AUTOCONF_VERSION} \
AUTOMAKE_VERSION=${AUTOMAKE_VERSION} autoreconf -i
.include <bsd.port.mk>