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);

Reply via email to