Friday, February 26, 2021

Re: Build failures from -fno-common (2021-02-26)

On Sat, 27 Feb 2021, Christian Weisgerber wrote:

> We're almost there! The end is in sight! We can make it!
>
> Here are the remaining ports that fail to build due to the new
> -fno-common compiler default:
>
> games/sdlpop

I was able to play through level 1 with the below.

ok?


Index: Makefile
===================================================================
RCS file: /cvs/ports/games/sdlpop/Makefile,v
retrieving revision 1.6
diff -u -p -u -r1.6 Makefile
--- Makefile 12 Jul 2019 21:02:20 -0000 1.6
+++ Makefile 27 Feb 2021 00:05:21 -0000
@@ -4,13 +4,15 @@ NOT_FOR_ARCHS= ${BE_ARCHS}

COMMENT= open-source port of Prince of Persia

-DISTNAME= sdlpop-20161103
-CATEGORIES= games
-REVISION= 1
-
+V= 1.21
GH_ACCOUNT= NagyD
GH_PROJECT= SDLPoP
-GH_COMMIT= 6185f28a3b8b74cfc5762aeeea38aedb4e142cbc
+GH_TAGNAME= v${V}
+
+DISTNAME= sdlpop-${V}
+EPOCH= 0
+
+CATEGORIES= games

MAINTAINER= Robert Nagy <robert@openbsd.org>

Index: distinfo
===================================================================
RCS file: /cvs/ports/games/sdlpop/distinfo,v
retrieving revision 1.2
diff -u -p -u -r1.2 distinfo
--- distinfo 6 May 2017 15:10:17 -0000 1.2
+++ distinfo 27 Feb 2021 00:05:21 -0000
@@ -1,2 +1,2 @@
-SHA256 (sdlpop-20161103-6185f28a.tar.gz) = U9CGdA+k12/MpS7hxVzQEh50tuWammV7cP2EVIKy624=
-SIZE (sdlpop-20161103-6185f28a.tar.gz) = 3705930
+SHA256 (sdlpop-1.21.tar.gz) = LTERvZLzmm7iAxlM8Fj1nJd0tcs4Q3/yRd/IdpMND5U=
+SIZE (sdlpop-1.21.tar.gz) = 627853
Index: patches/patch-src_Makefile
===================================================================
RCS file: /cvs/ports/games/sdlpop/patches/patch-src_Makefile,v
retrieving revision 1.4
diff -u -p -u -r1.4 patch-src_Makefile
--- patches/patch-src_Makefile 5 Nov 2017 19:29:43 -0000 1.4
+++ patches/patch-src_Makefile 27 Feb 2021 00:05:21 -0000
@@ -2,16 +2,22 @@ $OpenBSD: patch-src_Makefile,v 1.4 2017/
Index: src/Makefile
--- src/Makefile.orig
+++ src/Makefile
-@@ -14,9 +14,9 @@ LIBS := $(shell sdl2-config --libs) -lSDL2_image -lSDL
- INCS := -I/opt/local/include
- CFLAGS += $(INCS) -Wall -std=gnu99 -D_GNU_SOURCE=1 -D_THREAD_SAFE -DOSX -O2
+@@ -10,15 +10,15 @@ BIN = ../prince
+ OS := $(shell uname)
+
+ CPPFLAGS += -Wall -D_GNU_SOURCE=1
+-CFLAGS += -std=gnu99 -O2
++CFLAGS += -std=gnu99
+
+ ifeq ($(OS),Darwin)
+ LIBS := $(shell sdl2-config --libs) -lSDL2_image
+ CFLAGS += -I/opt/local/include
+ CPPFLAGS += -D_THREAD_SAFE -DOSX
else
--LIBS := $(shell pkg-config --libs sdl2 SDL2_image SDL2_mixer)
--INCS := $(shell pkg-config --cflags sdl2 SDL2_image SDL2_mixer)
--CFLAGS += $(INCS) -Wall -std=gnu99 -O2
-+LIBS := $(shell pkg-config --libs sdl2 SDL2_image SDL2_mixer) -lm
-+INCS := $(shell pkg-config --cflags sdl2 SDL2_image SDL2_mixer) -I${LOCALBASE}/include
-+CFLAGS += $(INCS) -Wall -std=gnu99
+-LIBS := $(shell pkg-config --libs sdl2 SDL2_image)
+-CFLAGS += $(shell pkg-config --cflags sdl2 SDL2_image)
++LIBS := $(shell pkg-config --libs sdl2 SDL2_image) -lm
++CFLAGS += $(shell pkg-config --cflags sdl2 SDL2_image) -I${LOCALBASE}/include
endif

all: $(BIN)
Index: patches/patch-src_seg009_c
===================================================================
RCS file: /cvs/ports/games/sdlpop/patches/patch-src_seg009_c,v
retrieving revision 1.1.1.1
diff -u -p -u -r1.1.1.1 patch-src_seg009_c
--- patches/patch-src_seg009_c 3 Nov 2016 17:30:32 -0000 1.1.1.1
+++ patches/patch-src_seg009_c 27 Feb 2021 00:05:21 -0000
@@ -1,39 +1,40 @@
$OpenBSD: patch-src_seg009_c,v 1.1.1.1 2016/11/03 17:30:32 robert Exp $
---- src/seg009.c.orig Thu Nov 3 18:07:22 2016
-+++ src/seg009.c Thu Nov 3 18:14:31 2016
-@@ -152,7 +152,7 @@ static FILE* open_dat_from_root_or_data_dir(const char
+Index: src/seg009.c
+--- src/seg009.c.orig
++++ src/seg009.c
+@@ -327,7 +327,7 @@ static FILE* open_dat_from_root_or_data_dir(const char
// if failed, try if the DAT file can be opened in the data/ directory, instead of the main folder
if (fp == NULL) {
char data_path[POP_MAX_PATH];
-- snprintf(data_path, sizeof(data_path), "data/%s", filename);
-+ snprintf(data_path, sizeof(data_path), "${PREFIX}/share/sdlpop/data/%s", filename);
+- snprintf_check(data_path, sizeof(data_path), "data/%s", filename);
++ snprintf_check(data_path, sizeof(data_path), "${PREFIX}/share/sdlpop/data/%s", filename);

- // verify that this is a regular file and not a directory (otherwise, don't open)
- struct stat path_stat;
-@@ -1634,7 +1634,7 @@ const int max_sound_id = 58;
- char** sound_names = NULL;
+ if (!file_exists(data_path)) {
+ find_exe_dir();
+@@ -1949,7 +1949,7 @@ const int sound_channel = 0;
+ const int max_sound_id = 58;

void load_sound_names() {
-- const char* names_path = "data/music/names.txt";
-+ const char* names_path = "${PREFIX}/share/sdlpop/data/music/names.txt";
+- const char* names_path = locate_file("data/music/names.txt");
++ const char* names_path = locate_file("${PREFIX}/share/sdlpop/data/music/names.txt");
if (sound_names != NULL) return;
FILE* fp = fopen(names_path,"rt");
if (fp==NULL) return;
-@@ -1682,7 +1682,7 @@ sound_buffer_type* load_sound(int index) {
- const char* ext=exts[i];
- struct stat info;
-
-- snprintf(filename, sizeof(filename), "data/music/%s.%s", sound_name(index), ext);
-+ snprintf(filename, sizeof(filename), "${PREFIX}/share/sdlpop/data/music/%s.%s", sound_name(index), ext);
- // Skip nonexistent files:
- if (stat(filename, &info))
- continue;
-@@ -2079,7 +2079,7 @@ void load_from_opendats_metadata(int resource_id, cons
+@@ -1999,7 +1999,7 @@ sound_buffer_type* load_sound(int index) {
+ fp = fopen(filename, "rb");
+ }
+ if (fp == NULL && !skip_normal_data_files) {
+- snprintf_check(filename, sizeof(filename), "data/music/%s.ogg", sound_name(index));
++ snprintf_check(filename, sizeof(filename), "${PREFIX}/share/sdlpop/data/music/%s.ogg", sound_name(index));
+ fp = fopen(locate_file(filename), "rb");
+ }
+ if (fp == NULL) {
+@@ -2580,7 +2580,7 @@ void load_from_opendats_metadata(int resource_id, cons
if (len >= 5 && filename_no_ext[len-4] == '.') {
filename_no_ext[len-4] = '\0'; // terminate, so ".DAT" is deleted from the filename
}
-- snprintf(image_filename,sizeof(image_filename),"data/%s/res%d.%s",filename_no_ext, resource_id, extension);
-+ snprintf(image_filename,sizeof(image_filename),"${PREFIX}/share/sdlpop/data/%s/res%d.%s",filename_no_ext, resource_id, extension);
+- snprintf_check(image_filename,sizeof(image_filename),"data/%s/res%d.%s",filename_no_ext, resource_id, extension);
++ snprintf_check(image_filename,sizeof(image_filename),"${PREFIX}/share/sdlpop/data/%s/res%d.%s",filename_no_ext, resource_id, extension);
if (!use_custom_levelset) {
//printf("loading (binary) %s",image_filename);
- fp = fopen(image_filename, "rb");
+ fp = fopen(locate_file(image_filename), "rb");
Index: pkg/PLIST
===================================================================
RCS file: /cvs/ports/games/sdlpop/pkg/PLIST,v
retrieving revision 1.2
diff -u -p -u -r1.2 PLIST
--- pkg/PLIST 10 Nov 2016 05:41:53 -0000 1.2
+++ pkg/PLIST 27 Feb 2021 00:05:21 -0000
@@ -382,7 +382,10 @@ share/sdlpop/data/LEVELS/res2012.bin
share/sdlpop/data/LEVELS/res2013.bin
share/sdlpop/data/LEVELS/res2014.bin
share/sdlpop/data/LEVELS/res2015.bin
+share/sdlpop/data/MIDISND1.DAT
+share/sdlpop/data/MIDISND2.DAT
share/sdlpop/data/PRINCE/
+share/sdlpop/data/PRINCE/res1.bin
share/sdlpop/data/PRINCE/res10.bin
share/sdlpop/data/PRINCE/res150.pal
share/sdlpop/data/PRINCE/res151.png
@@ -1041,6 +1044,7 @@ share/sdlpop/data/font/res1128.png
share/sdlpop/data/font/res1129.png
share/sdlpop/data/font/res1130.png
share/sdlpop/data/font/res1131.png
+share/sdlpop/data/icon.png
share/sdlpop/data/levels-original/
share/sdlpop/data/levels-original/res2000.bin
share/sdlpop/data/levels-original/res2001.bin
@@ -1069,27 +1073,6 @@ share/sdlpop/data/levels-test/04-through
share/sdlpop/data/levels-test/05-stacked-gates
share/sdlpop/data/levels-test/07-jump
share/sdlpop/data/levels-test/12-shadow
+share/sdlpop/data/light.png
share/sdlpop/data/music/
-share/sdlpop/data/music/cutscene_before_2_4_6_12.ogg
-share/sdlpop/data/music/cutscene_before_8_9.ogg
-share/sdlpop/data/music/cutscene_not_much_time_left.ogg
-share/sdlpop/data/music/embrace.ogg
-share/sdlpop/data/music/end_level_4_and_killed_by_shadow.ogg
-share/sdlpop/data/music/fight_death.ogg
-share/sdlpop/data/music/find_mirror_and_find_shadow.ogg
-share/sdlpop/data/music/floating.ogg
-share/sdlpop/data/music/guard_death_and_obtaining_the_sword.ogg
-share/sdlpop/data/music/intro_theme.ogg
-share/sdlpop/data/music/killed_Jaffar.ogg
-share/sdlpop/data/music/life_potion.ogg
-share/sdlpop/data/music/meet_Jaffar.ogg
share/sdlpop/data/music/names.txt
-share/sdlpop/data/music/out_of_time.ogg
-share/sdlpop/data/music/potion.ogg
-share/sdlpop/data/music/regular_death.ogg
-share/sdlpop/data/music/story_1_absence.ogg
-share/sdlpop/data/music/story_2_princess.ogg
-share/sdlpop/data/music/story_3_Jaffar_enters.ogg
-share/sdlpop/data/music/story_4_Jaffar_leaves.ogg
-share/sdlpop/data/music/story_5_level_end_and_merge_with_shadow.ogg
-share/sdlpop/data/music/won.ogg

No comments:

Post a Comment