diff --git a/games/hyperrogue/Makefile b/games/hyperrogue/Makefile index d8ba98ac919f..68c519015f91 100644 --- a/games/hyperrogue/Makefile +++ b/games/hyperrogue/Makefile @@ -1,51 +1,53 @@ PORTNAME= hyperrogue -PORTVERSION= 11.3o +PORTVERSION= 12.0a DISTVERSIONPREFIX= v CATEGORIES= games MAINTAINER= amdmi3@FreeBSD.org COMMENT= Roguelike in a non-euclidean world LICENSE= GPLv2+ LICENSE_FILE= ${WRKSRC}/COPYING BROKEN_FreeBSD_11= does not build: hyperrogue-hyper.o: file not recognized: File format not recognized LIB_DEPENDS= libpng.so:graphics/png USE_GITHUB= yes GH_ACCOUNT= zenorogue -USES= autoreconf compiler:c++11-lang gl localbase sdl xorg -GNU_CONFIGURE= yes +USES= compiler:c++11-lang gl gmake localbase:ldflags sdl xorg USE_SDL= sdl mixer gfx ttf USE_GL= gl glew +ALL_TARGET= hyperrogue # remove -O2, otherwise clang takes gigabytes of memory -CFLAGS:= ${CFLAGS:C/-O[0-9]//} -DFHS -CXXFLAGS:= ${CXXFLAGS:C/-O[0-9]//} -DFHS +CXXFLAGS:= ${CXXFLAGS:C/-O[0-9]//} -DFHS -DHYPERPATH="\\\"${DATADIR}/\\\"" PORTDOCS= README.md PORTDATA= * PLIST_FILES= bin/hyperrogue share/pixmaps/hyperrogue.ico DESKTOP_ENTRIES="HyperRogue" \ "" \ "${PREFIX}/share/pixmaps/${PORTNAME}.ico" \ "${PORTNAME}" \ "Game;RolePlaying;" \ "" OPTIONS_DEFINE= DOCS -post-patch: - @${REINPLACE_CMD} -e 's|isnumber|is_number|' ${WRKSRC}/archimedean.cpp - -post-install: +do-install: + ${INSTALL_PROGRAM} ${WRKSRC}/hyperrogue ${STAGEDIR}${PREFIX}/bin/ ${INSTALL_DATA} ${WRKSRC}/hr-icon.ico ${STAGEDIR}${PREFIX}/share/pixmaps/${PORTNAME}.ico + @${MKDIR} ${STAGEDIR}${DATADIR}/sounds + ${INSTALL_DATA} ${WRKSRC}/*.ttf ${STAGEDIR}${DATADIR} + ${INSTALL_DATA} ${WRKSRC}/hyperrogue-music.txt ${STAGEDIR}${DATADIR} + ${INSTALL_DATA} ${WRKSRC}/sounds/* ${STAGEDIR}${DATADIR}/sounds + ${INSTALL_DATA} ${WRKSRC}/music/* ${STAGEDIR}${DATADIR} post-install-DOCS-on: @${MKDIR} ${STAGEDIR}${DOCSDIR} ${INSTALL_DATA} ${WRKSRC}/README.md ${STAGEDIR}${DOCSDIR}/ .include diff --git a/games/hyperrogue/distinfo b/games/hyperrogue/distinfo index b59a58963f66..d52f69eab9b4 100644 --- a/games/hyperrogue/distinfo +++ b/games/hyperrogue/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1593718855 -SHA256 (zenorogue-hyperrogue-v11.3o_GH0.tar.gz) = cbc96e515c468eebf0184ceed5244b52864bbf9b0e84469401a36299ed24750b -SIZE (zenorogue-hyperrogue-v11.3o_GH0.tar.gz) = 69246164 +TIMESTAMP = 1623152079 +SHA256 (zenorogue-hyperrogue-v12.0a_GH0.tar.gz) = 0e76175a5690a7aac375efb3bbcd677cac9f9e56d3245bcaed43a0b0c889c6a2 +SIZE (zenorogue-hyperrogue-v12.0a_GH0.tar.gz) = 77954265 diff --git a/games/hyperrogue/files/patch-Makefile b/games/hyperrogue/files/patch-Makefile new file mode 100644 index 000000000000..7863e55d9405 --- /dev/null +++ b/games/hyperrogue/files/patch-Makefile @@ -0,0 +1,75 @@ +--- Makefile.orig 2021-06-06 09:27:52 UTC ++++ Makefile +@@ -42,7 +42,6 @@ endif + ## Begin customization points for each OS and TOOLCHAIN we support. + + +-ifeq (${OS},linux) + CXXFLAGS_EARLY += -DLINUX + EXE_EXTENSION := + LDFLAGS_GL := -lGL +@@ -51,7 +50,6 @@ ifeq (${OS},linux) + LDFLAGS_SDL := -lSDL -lSDL_gfx -lSDL_mixer -lSDL_ttf -lpthread -lz + OBJ_EXTENSION := .o + hyper_RES := +-endif + + ifeq (${OS},mingw) + CXXFLAGS_EARLY += -DWINDOWS -mwindows -D_A_VOLID=8 +@@ -79,28 +77,11 @@ ifeq (${OS},osx) + hyper_RES := + endif + +-ifeq (${TOOLCHAIN},clang) +- CXXFLAGS_STD = -std=c++11 +- CXXFLAGS_EARLY += -march=native -fPIC +- CXXFLAGS_EARLY += -W -Wall -Wextra -Werror -pedantic +- CXXFLAGS_EARLY += -Wno-unused-parameter -Wno-implicit-fallthrough -Wno-maybe-uninitialized -Wno-unknown-warning-option +-endif ++CXXFLAGS_STD = -std=c++11 ++CXXFLAGS_EARLY += -fPIC ++CXXFLAGS_EARLY += -W -Wall -Wextra -pedantic ++CXXFLAGS_EARLY += -Wno-unused-parameter -Wno-implicit-fallthrough -Wno-maybe-uninitialized -Wno-unknown-warning-option + +-ifeq (${TOOLCHAIN},gcc) +- CXXFLAGS_STD = -std=c++11 +- CXXFLAGS_EARLY += -march=native -fPIC +- CXXFLAGS_EARLY += -W -Wall -Wextra -Werror -pedantic +- CXXFLAGS_EARLY += -Wno-unused-parameter -Wno-implicit-fallthrough -Wno-maybe-uninitialized +-endif +- +-ifeq (${TOOLCHAIN},mingw) +- CXXFLAGS_STD = -std=c++11 +- CXXFLAGS_EARLY += -march=native +- CXXFLAGS_EARLY += -W -Wall -Wextra -Werror +- CXXFLAGS_EARLY += -Wno-unused-parameter -Wno-implicit-fallthrough -Wno-maybe-uninitialized +-endif +- +- + ## We have now finished OS-specific and TOOLCHAIN-specific computations. + ## Begin customization points for user-specifiable HYPERROGUE_USE_XXX macros. + +@@ -138,19 +119,19 @@ override CXXFLAGS := $(CXXFLAGS_STD) $(CXXFLAGS_EARLY) + override LDFLAGS := $(LDFLAGS_EARLY) $(LDFLAGS) ${EXTRA_LDFLAGS} + + hyperrogue$(EXE_EXTENSION): $(hyper_OBJS) $(hyper_RES) +- $(CXX) $(CXXFLAGS) $(hyper_OBJS) $(hyper_RES) $(LDFLAGS) $(hyper_LDFLAGS) -o $@ ++ $(CXX) $(hyper_OBJS) $(hyper_RES) $(LDFLAGS) $(hyper_LDFLAGS) -o $@ + + hyper$(OBJ_EXTENSION): *.cpp language-data.cpp autohdr.h +- $(CXX) -O2 $(CXXFLAGS) $(hyper_CXXFLAGS) -c hyper.cpp -o $@ ++ $(CXX) $(CXXFLAGS) $(hyper_CXXFLAGS) -c hyper.cpp -o $@ + + hyper.res: hyper.rc hr-icon.ico + windres hyper.rc -O coff -o hyper.res + + langen$(EXE_EXTENSION): langen.cpp language-??.cpp language-ptbr.cpp +- $(CXX) -O0 $(CXXFLAGS) $(langen_CXXFLAGS) langen.cpp $(LDFLAGS) -o $@ ++ $(CXX) $(CXXFLAGS) $(langen_CXXFLAGS) langen.cpp $(LDFLAGS) -o $@ + + makeh$(EXE_EXTENSION): makeh.cpp +- $(CXX) -O2 makeh.cpp -o $@ ++ $(CXX) $(CXXFLAGS) makeh.cpp $(LDFLAGS) -o $@ + + autohdr.h: makeh$(EXE_EXTENSION) language-data.cpp *.cpp + ./makeh classes.cpp locations.cpp colors.cpp hyperpoint.cpp geometry.cpp goldberg.cpp init.cpp floorshapes.cpp cell.cpp multi.cpp shmup.cpp pattern2.cpp mapeditor.cpp graph.cpp textures.cpp hprint.cpp language.cpp util.cpp complex.cpp *.cpp > autohdr.h diff --git a/games/hyperrogue/pkg-descr b/games/hyperrogue/pkg-descr index a0eeb6f5edc6..a0af2451fbb0 100644 --- a/games/hyperrogue/pkg-descr +++ b/games/hyperrogue/pkg-descr @@ -1,20 +1,21 @@ 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 several 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. WWW: http://roguetemple.com/z/hyper/ +WWW: https://github.com/zenorogue/hyperrogue