Date: Saturday, April 25, 2020 @ 17:49:57 Author: foutrelis Revision: 621027
Grab fixes from FreeBSD to use newer C++ standard Added: frogatto/trunk/fbsd-fixes.patch Modified: frogatto/trunk/PKGBUILD ------------------+ PKGBUILD | 10 ++-- fbsd-fixes.patch | 113 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 118 insertions(+), 5 deletions(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2020-04-25 17:42:00 UTC (rev 621026) +++ PKGBUILD 2020-04-25 17:49:57 UTC (rev 621027) @@ -14,14 +14,17 @@ source=("$pkgname-$pkgver.tgz::https://github.com/frogatto/frogatto/archive/$pkgver.tar.gz" launcher frogatto.desktop + fbsd-fixes.patch frogatto-boost-1.70.patch) md5sums=('f3206fbe1395ea2878092fbd4ed2c591' '9ed2c9ea59e95fe3c0b3ad49e58f8890' 'e31563b04748a39292a59aaad633ff58' + 'f3a4cb8492ce71a9d8895ce9d15b0714' 'c7c5a084ac3915a446fc26389a714289') prepare() { cd $pkgname-$pkgver + patch -p1 -i ../fbsd-fixes.patch patch -p0 -i ../frogatto-boost-1.70.patch # Fix build with boost 1.70 (freebsd) } @@ -28,15 +31,12 @@ build() { cd "$srcdir/$pkgname-$pkgver" + sed -i 's/-Werror //' Makefile sed -i 's/ccache //g' Makefile sed -i 's/-lprofiler//g' Makefile sed -i 's/\.io_service/\.get_io_service/g' src/server.cpp sed -i 's/\%lu\\n/\%zu\\n/g' src/server.cpp - sed -i 's/-lboost_regex-mt/-lboost_regex/g' Makefile - sed -i 's/-lboost_system-mt/-lboost_system/g' Makefile - sed -i 's/-lboost_thread-mt/-lboost_thread/g' Makefile - sed -i 's/-lboost_iostreams-mt/-lboost_iostreams/g' Makefile - CXXFLAGS="$CXXFLAGS -std=gnu++98" make game server + make game server } package() { Added: fbsd-fixes.patch =================================================================== --- fbsd-fixes.patch (rev 0) +++ fbsd-fixes.patch 2020-04-25 17:49:57 UTC (rev 621027) @@ -0,0 +1,113 @@ +diff -upr frogatto-1.3.1.orig/Makefile frogatto-1.3.1/Makefile +--- frogatto-1.3.1.orig/Makefile 2012-12-09 00:36:13.000000000 +0200 ++++ frogatto-1.3.1/Makefile 2020-04-25 20:36:32.066907199 +0300 +@@ -22,7 +22,7 @@ + # found in PATH), this option has no effect. + # + +-OPTIMIZE=yes ++OPTIMIZE=no + CCACHE?=ccache + USE_CCACHE?=$(shell which $(CCACHE) 2>&1 > /dev/null && echo yes) + ifneq ($(USE_CCACHE),yes) +@@ -34,7 +34,7 @@ BASE_CXXFLAGS += -O2 + endif + + # Initial compiler options, used before CXXFLAGS and CPPFLAGS. +-BASE_CXXFLAGS += -g -fno-inline-functions -fthreadsafe-statics -Wnon-virtual-dtor -Werror -Wignored-qualifiers -Wformat -Wswitch ++BASE_CXXFLAGS += -fno-inline-functions -fthreadsafe-statics -Wnon-virtual-dtor -Werror -Wformat -Wswitch -Wno-narrowing + + # Compiler include options, used after CXXFLAGS and CPPFLAGS. + INC := $(shell pkg-config --cflags x11 sdl glu glew SDL_image libpng zlib) +@@ -60,7 +60,7 @@ game: $(objects) + $(CCACHE) $(CXX) \ + $(BASE_CXXFLAGS) $(LDFLAGS) $(CXXFLAGS) $(CPPFLAGS) $(INC) \ + $(objects) -o game \ +- $(LIBS) -lboost_regex-mt -lboost_system-mt -lpthread -fthreadsafe-statics ++ $(LIBS) -lboost_regex -lboost_system -lpthread -fthreadsafe-statics + + # pull in dependency info for *existing* .o files + -include $(objects:.o=.d) +@@ -69,7 +69,7 @@ server: $(server_objects) + $(CCACHE) $(CXX) \ + $(BASE_CXXFLAGS) $(LDFLAGS) $(CXXFLAGS) $(CPPFLAGS) \ + $(server_objects) -o server \ +- $(LIBS) -lboost_regex-mt -lboost_system-mt -lboost_thread-mt -lboost_iostreams-mt ++ $(LIBS) -lboost_regex -lboost_system -lboost_thread -lboost_iostreams + + clean: + rm -f *.o *.d game +diff -upr frogatto-1.3.1.orig/src/code_editor_dialog.cpp frogatto-1.3.1/src/code_editor_dialog.cpp +--- frogatto-1.3.1.orig/src/code_editor_dialog.cpp 2012-12-09 00:36:13.000000000 +0200 ++++ frogatto-1.3.1/src/code_editor_dialog.cpp 2020-04-25 20:37:25.271352863 +0300 +@@ -55,7 +55,7 @@ void code_editor_dialog::init() + + //std::cerr << "CED: " << x() << "," << y() << "; " << width() << "," << height() << std::endl; + drag_widget* dragger = new drag_widget(x(), y(), width(), height(), +- drag_widget::DRAG_HORIZONTAL, NULL, ++ drag_widget::DRAG_HORIZONTAL, [](int, int){}, + boost::bind(&code_editor_dialog::on_drag_end, this, _1, _2), + boost::bind(&code_editor_dialog::on_drag, this, _1, _2)); + +diff -upr frogatto-1.3.1.orig/src/filesystem.cpp frogatto-1.3.1/src/filesystem.cpp +--- frogatto-1.3.1.orig/src/filesystem.cpp 2012-12-09 00:36:13.000000000 +0200 ++++ frogatto-1.3.1/src/filesystem.cpp 2020-04-25 20:37:30.291458013 +0300 +@@ -405,8 +405,14 @@ void get_files_in_dir(const std::string& + } + #else + struct stat st; ++ std::string dirname; + +- DIR* dir = opendir(directory.c_str()); ++ if(have_datadir) ++ dirname = data_dir + "/" + directory; ++ else ++ dirname = directory; ++ ++ DIR* dir = opendir(dirname.c_str()); + + if(dir == NULL) { + return; +@@ -437,14 +443,14 @@ void get_files_in_dir(const std::string& + #endif /* !APPLE */ + + std::string fullname; +- if (directory.empty() || directory[directory.size()-1] == '/' ++ if (dirname.empty() || dirname[dirname.size()-1] == '/' + #ifdef __AMIGAOS4__ +- || (directory[directory.size()-1]==':') ++ || (dirname[dirname.size()-1]==':') + #endif /* __AMIGAOS4__ */ + ) +- fullname = directory + basename; ++ fullname = dirname + basename; + else +- fullname = (directory + "/") + basename; ++ fullname = (dirname + "/") + basename; + + if (::stat(fullname.c_str(), &st) != -1) { + if (S_ISREG(st.st_mode)) { +diff -upr frogatto-1.3.1.orig/src/surface_cache.cpp frogatto-1.3.1/src/surface_cache.cpp +--- frogatto-1.3.1.orig/src/surface_cache.cpp 2012-12-09 00:36:13.000000000 +0200 ++++ frogatto-1.3.1/src/surface_cache.cpp 2020-04-25 20:38:31.589411134 +0300 +@@ -116,7 +116,7 @@ surface get_no_cache(const std::string& + } + #endif // ANDROID + //std::cerr << "loading image '" << fname << "'\n"; +- if(surf.get() == false || surf->w == 0) { ++ if(surf.get() == nullptr || surf->w == 0) { + if(key != "") { + std::cerr << "failed to load image '" << key << "'\n"; + } +diff -upr frogatto-1.3.1.orig/src/texture.hpp frogatto-1.3.1/src/texture.hpp +--- frogatto-1.3.1.orig/src/texture.hpp 2012-12-09 00:36:13.000000000 +0200 ++++ frogatto-1.3.1/src/texture.hpp 2020-04-25 20:38:39.952920335 +0300 +@@ -58,7 +58,7 @@ public: + unsigned int get_id() const; + static void set_current_texture(unsigned int id); + void set_as_current_texture() const; +- bool valid() const { return id_; } ++ bool valid() const { return static_cast<bool>(id_); } + + static texture get(const std::string& str, int options=0); + static texture get(const std::string& str, const std::string& algorithm);