Hello community,

here is the log from the commit of package libretro-craft for openSUSE:Factory 
checked in at 2020-06-23 21:06:04
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libretro-craft (Old)
 and      /work/SRC/openSUSE:Factory/.libretro-craft.new.2956 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "libretro-craft"

Tue Jun 23 21:06:04 2020 rev:2 rq:816502 version:1.0~git20200504

Changes:
--------
--- /work/SRC/openSUSE:Factory/libretro-craft/libretro-craft.changes    
2020-02-11 22:23:07.059492373 +0100
+++ /work/SRC/openSUSE:Factory/.libretro-craft.new.2956/libretro-craft.changes  
2020-06-23 21:06:33.954224375 +0200
@@ -1,0 +2,14 @@
+Tue Jun 16 06:48:39 UTC 2020 - [email protected]
+
+- Update to version 1.0~git20200504:
+  * Improve logging
+  * Fix compile failure on emscripten
+  * Fix path to auth database
+  * Log database init error code
+  * Don't attempt to run main loop after failure.
+  * MAke sure log_cb is always set
+  * Update libretro.h
+  * allow compiling for ios-arm64
+  * libretro: allow mingw cross compile
+
+-------------------------------------------------------------------

Old:
----
  libretro-craft-1.0~git20190627.tar.xz

New:
----
  libretro-craft-1.0~git20200504.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ libretro-craft.spec ++++++
--- /var/tmp/diff_new_pack.Qrac06/_old  2020-06-23 21:06:34.678226714 +0200
+++ /var/tmp/diff_new_pack.Qrac06/_new  2020-06-23 21:06:34.678226714 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package libretro-craft
 #
-# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2020 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -17,17 +17,17 @@
 
 
 Name:           libretro-craft
-Version:        1.0~git20190627
+Version:        1.0~git20200504
 Release:        0
 Summary:        Craft libretro core
-License:        GPL-3.0
+License:        GPL-3.0-only
 URL:            http://www.retroarch.com
 Source:         %{name}-%{version}.tar.xz
 Patch1:         tinycthread.patch
 
+BuildRequires:  Mesa-devel
 BuildRequires:  gcc
 BuildRequires:  make
-BuildRequires:  Mesa-devel
 
 %description
 Minecraft clone for Windows, Mac OS X and Linux. Just a few thousand lines of 
C using modern OpenGL (shaders). Online multiplayer support is included using a 
Python-based server.

++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.Qrac06/_old  2020-06-23 21:06:34.722226856 +0200
+++ /var/tmp/diff_new_pack.Qrac06/_new  2020-06-23 21:06:34.722226856 +0200
@@ -1,4 +1,4 @@
 <servicedata>
 <service name="tar_scm">
                 <param name="url">https://github.com/libretro/craft</param>
-              <param 
name="changesrevision">9591c25a78d938780813f42390a3dcc97db7b3cf</param></service></servicedata>
\ No newline at end of file
+              <param 
name="changesrevision">d132ba03a25ccdf5266b65f6ecb0f4d57e0e56a8</param></service></servicedata>
\ No newline at end of file

++++++ libretro-craft-1.0~git20190627.tar.xz -> 
libretro-craft-1.0~git20200504.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libretro-craft-1.0~git20190627/Makefile.common 
new/libretro-craft-1.0~git20200504/Makefile.common
--- old/libretro-craft-1.0~git20190627/Makefile.common  2019-06-27 
00:53:23.000000000 +0200
+++ new/libretro-craft-1.0~git20200504/Makefile.common  2020-05-04 
03:18:01.000000000 +0200
@@ -52,7 +52,9 @@
        SOURCES_C += $(LIBRETRO_COMM_DIR)/glsm/glsm.c
 ifeq ($(GLES), 1)
        GLFLAGS += -DHAVE_OPENGLES -DHAVE_OPENGLES2
+ifneq ($(STATIC_LINKING), 1)
        SOURCES_C += $(LIBRETRO_COMM_DIR)/glsym/glsym_es2.c
+endif
 else
        GLFLAGS += -DHAVE_OPENGL
        SOURCES_C += $(LIBRETRO_COMM_DIR)/glsym/glsym_gl.c
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libretro-craft-1.0~git20190627/Makefile.libretro 
new/libretro-craft-1.0~git20200504/Makefile.libretro
--- old/libretro-craft-1.0~git20190627/Makefile.libretro        2019-06-27 
00:53:23.000000000 +0200
+++ new/libretro-craft-1.0~git20200504/Makefile.libretro        2020-05-04 
03:18:01.000000000 +0200
@@ -280,9 +280,8 @@
        TARGET := $(TARGET_NAME)_libretro_$(platform).bc
        GLES := 1
        CPUFLAGS += -Dasm=asmerror -D__asm__=asmerror  
-       PLATCFLAGS += -Drglgen_symbol_map=craft_rglgen_symbol_map \
-                                         
-Drglgen_resolve_symbols_custom=craft_rglgen_resolve_symbols_custom \
-                                         
-Drglgen_resolve_symbols=craft_rglgen_resolve_symbols \
+       PLATCFLAGS += 
-Drglgen_resolve_symbols_custom=craft_rglgen_resolve_symbols_custom \
+                                         
-Drglgen_resolve_symbols=craft_rglgen_resolve_symbols
 
        STATIC_LINKING=1
 
@@ -379,8 +378,8 @@
        TARGET := $(TARGET_NAME)_libretro.dll
        LDFLAGS += -shared -static-libgcc -static-libstdc++ 
-Wl,--version-script=$(ROOT_DIR)/link.T -lwinmm -lgdi32 -lws2_32
        GL_LIB := -lopengl32
-       CC = gcc
-       CXX = g++
+       CC ?= gcc
+       CXX ?= g++
 
 endif
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libretro-craft-1.0~git20190627/deps/libretro-common/include/glsm/glsm.h 
new/libretro-craft-1.0~git20200504/deps/libretro-common/include/glsm/glsm.h
--- old/libretro-craft-1.0~git20190627/deps/libretro-common/include/glsm/glsm.h 
2019-06-27 00:53:23.000000000 +0200
+++ new/libretro-craft-1.0~git20200504/deps/libretro-common/include/glsm/glsm.h 
2020-05-04 03:18:01.000000000 +0200
@@ -32,6 +32,9 @@
 RETRO_BEGIN_DECLS
 
 #ifdef HAVE_OPENGLES2
+#if defined (IOS) || defined(EMSCRIPTEN)
+typedef GLfloat GLdouble;
+#endif
 typedef GLclampf GLclampd;
 #endif
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libretro-craft-1.0~git20190627/libretro/libretro.c 
new/libretro-craft-1.0~git20200504/libretro/libretro.c
--- old/libretro-craft-1.0~git20190627/libretro/libretro.c      2019-06-27 
00:53:23.000000000 +0200
+++ new/libretro-craft-1.0~git20200504/libretro/libretro.c      2020-05-04 
03:18:01.000000000 +0200
@@ -22,7 +22,6 @@
 retro_environment_t environ_cb;
 static retro_input_poll_t input_poll_cb;
 retro_input_state_t input_state_cb;
-static retro_log_printf_t log_cb;
 
 unsigned game_width  = 640;
 unsigned game_height = 480;
@@ -38,6 +37,8 @@
    va_end(va);
 }
 
+retro_log_printf_t log_cb = fallback_log;
+
 #if defined(HAVE_OPENGL) || defined(HAVE_OPENGLES)
 static bool fb_ready = false;
 static bool init_program_now = true;
@@ -145,8 +146,6 @@
 
    if (cb(RETRO_ENVIRONMENT_GET_LOG_INTERFACE, &logging))
       log_cb = logging.log;
-   else
-      log_cb = fallback_log;
 }
 
 void retro_set_audio_sample(retro_audio_sample_t cb)
@@ -264,6 +263,7 @@
 
 static unsigned logic_frames        = 0;
 static unsigned amount_frames       = 0;
+static bool dead = false;
 
 extern void on_key(void);
 
@@ -272,6 +272,11 @@
    static unsigned timestep = 0;
    static double libretro_on_key_delay = 0.0f;
    bool updated = false;
+
+   if (dead) {
+     environ_cb (RETRO_ENVIRONMENT_SHUTDOWN, NULL);
+     return;
+   }
    if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE_UPDATE, &updated) && updated)
       check_variables(false);
 
@@ -282,7 +287,12 @@
    }
    if (init_program_now)
    {
-      main_load_game(0, NULL);
+      if (main_load_game(0, NULL) < 0) {
+         log_cb(RETRO_LOG_ERROR, "Game init failed\n");
+         environ_cb (RETRO_ENVIRONMENT_SHUTDOWN, NULL);
+         dead = true;
+         return;
+      }
       init_program_now = false;
       video_cb(NULL, game_width, game_height, 0);
       return;
@@ -304,7 +314,10 @@
 
    if (main_run() != 1)
    {
-      /* Do shutdown or something similar. */
+      log_cb(RETRO_LOG_INFO, "main_run failed. Shutting down\n");
+      environ_cb (RETRO_ENVIRONMENT_SHUTDOWN, NULL);
+      dead = true;
+      return;
    }
 
    timestep += 1;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libretro-craft-1.0~git20190627/libretro/libretro.h 
new/libretro-craft-1.0~git20200504/libretro/libretro.h
--- old/libretro-craft-1.0~git20190627/libretro/libretro.h      2019-06-27 
00:53:23.000000000 +0200
+++ new/libretro-craft-1.0~git20200504/libretro/libretro.h      2020-05-04 
03:18:01.000000000 +0200
@@ -246,6 +246,9 @@
    RETRO_LANGUAGE_ESPERANTO           = 13,
    RETRO_LANGUAGE_POLISH              = 14,
    RETRO_LANGUAGE_VIETNAMESE          = 15,
+   RETRO_LANGUAGE_ARABIC              = 16,
+   RETRO_LANGUAGE_GREEK               = 17,
+   RETRO_LANGUAGE_TURKISH             = 18,
    RETRO_LANGUAGE_LAST,
 
    /* Ensure sizeof(enum) == sizeof(int) */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libretro-craft-1.0~git20190627/src/config.h 
new/libretro-craft-1.0~git20200504/src/config.h
--- old/libretro-craft-1.0~git20190627/src/config.h     2019-06-27 
00:53:23.000000000 +0200
+++ new/libretro-craft-1.0~git20200504/src/config.h     2020-05-04 
03:18:01.000000000 +0200
@@ -10,6 +10,7 @@
 #define SCROLL_THRESHOLD 0.1
 #define MAX_MESSAGES 4
 #define DB_PATH "craft.db"
+#define DB_AUTH_PATH "auth.db"
 #define USE_CACHE 1
 #define DAY_LENGTH 600
 #define INVERT_MOUSE 0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libretro-craft-1.0~git20190627/src/db.c 
new/libretro-craft-1.0~git20200504/src/db.c
--- old/libretro-craft-1.0~git20190627/src/db.c 2019-06-27 00:53:23.000000000 
+0200
+++ new/libretro-craft-1.0~git20200504/src/db.c 2020-05-04 03:18:01.000000000 
+0200
@@ -3,6 +3,7 @@
 #include "ring.h"
 #include "sqlite3.h"
 #include "tinycthread.h"
+#include "util.h"
 
 static int db_enabled = 0;
 
@@ -36,10 +37,14 @@
     return db_enabled;
 }
 
-int db_init(char *path)
+static void sqlite_log_callback(void *closure, int err_code, const char *msg){
+  LOG_ERROR("sqlite log: (%d) %s\n", err_code, msg);
+}
+
+int db_init(char *path, char *auth_path)
 {
+   static const char *attach_query = "attach database ? as auth;"; 
    static const char *create_query =
-      "attach database 'auth.db' as auth;"
       "create table if not exists auth.identity_token ("
       "   username text not null,"
       "   token text not null,"
@@ -113,14 +118,37 @@
    static const char *set_key_query =
       "insert or replace into key (p, q, key) "
       "values (?, ?, ?);";
+   sqlite3_stmt *attach_stmt;
    int rc;
+   char *errmsg;
    if (!db_enabled) {
       return 0;
    }
+
+   sqlite3_config(SQLITE_CONFIG_LOG, sqlite_log_callback, NULL);
+
    rc = sqlite3_open(path, &db);
    if (rc) return rc;
-   rc = sqlite3_exec(db, create_query, NULL, NULL, NULL);
+
+   rc = sqlite3_prepare_v2(
+         db, attach_query, -1, &attach_stmt, NULL);
+   if (rc) return rc;
+   rc = sqlite3_bind_text(attach_stmt, 1, auth_path, -1, NULL);
+   if (rc) return rc;
+   do
+     rc = sqlite3_step(attach_stmt);
+   while (rc == SQLITE_ROW);
+   if (rc && rc != SQLITE_DONE) return rc;
+   rc = sqlite3_finalize(attach_stmt);
    if (rc) return rc;
+   
+   rc = sqlite3_exec(db, create_query, NULL, NULL, NULL);
+   if (rc) {
+     LOG_ERROR("Error running SQLite create_query: %d: %s\n", rc,
+              errmsg);
+     sqlite3_free(errmsg);
+     return rc;
+   }
    rc = sqlite3_prepare_v2(
          db, insert_block_query, -1, &insert_block_stmt, NULL);
    if (rc) return rc;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libretro-craft-1.0~git20190627/src/db.h 
new/libretro-craft-1.0~git20200504/src/db.h
--- old/libretro-craft-1.0~git20190627/src/db.h 2019-06-27 00:53:23.000000000 
+0200
+++ new/libretro-craft-1.0~git20200504/src/db.h 2020-05-04 03:18:01.000000000 
+0200
@@ -7,7 +7,7 @@
 void db_enable();
 void db_disable();
 int get_db_enabled();
-int db_init(char *path);
+int db_init(char *path, char *auth_path);
 void db_close();
 void db_commit();
 void db_auth_set(char *username, char *identity_token);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libretro-craft-1.0~git20190627/src/main.c 
new/libretro-craft-1.0~git20200504/src/main.c
--- old/libretro-craft-1.0~git20190627/src/main.c       2019-06-27 
00:53:23.000000000 +0200
+++ new/libretro-craft-1.0~git20200504/src/main.c       2020-05-04 
03:18:01.000000000 +0200
@@ -136,6 +136,7 @@
     int mode;
     int mode_changed;
     char db_path[MAX_PATH_LENGTH];
+    char db_auth_path[MAX_PATH_LENGTH];
     char server_addr[MAX_ADDR_LENGTH];
     int server_port;
     int day_length;
@@ -2689,9 +2690,12 @@
       char slash = '/';
 #endif
       snprintf(g->db_path, MAX_PATH_LENGTH, "%s%c%s", dir, slash, DB_PATH);
+      snprintf(g->db_auth_path, MAX_PATH_LENGTH, "%s%c%s", dir, slash, 
DB_AUTH_PATH);
    }
-   else
+   else {
       snprintf(g->db_path, MAX_PATH_LENGTH, "%s", DB_PATH);
+      snprintf(g->db_auth_path, MAX_PATH_LENGTH, "%s", DB_AUTH_PATH);
+   }
 }
 
 static void parse_command(const char *buffer, int forward)
@@ -3374,9 +3378,14 @@
    // DATABASE INITIALIZATION //
    if (g->mode == MODE_OFFLINE || USE_CACHE)
    {
+      int rc;
       db_enable();
-      if (db_init(g->db_path))
+      rc = db_init(g->db_path, g->db_auth_path);
+      if (rc) {
+         LOG_ERROR("Error initing db %s+%s: %d\n",
+                g->db_path, g->db_auth_path, rc);
          return -1;
+      }
       if (g->mode == MODE_ONLINE) {
          // TODO: support proper caching of signs (handle deletions)
          db_delete_all_signs();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libretro-craft-1.0~git20190627/src/util.h 
new/libretro-craft-1.0~git20200504/src/util.h
--- old/libretro-craft-1.0~git20190627/src/util.h       2019-06-27 
00:53:23.000000000 +0200
+++ new/libretro-craft-1.0~git20200504/src/util.h       2020-05-04 
03:18:01.000000000 +0200
@@ -11,11 +11,19 @@
 #define MAX(a, b) ((a) > (b) ? (a) : (b))
 #define SIGN(x) (((x) > 0) - ((x) < 0))
 
+#ifdef __LIBRETRO__
+#include "libretro.h"
+extern retro_log_printf_t log_cb;
+#define LOG(...) log_cb(RETRO_LOG_INFO, __VA_ARGS__)
+#define LOG_ERROR(...) log_cb(RETRO_LOG_ERROR, __VA_ARGS__)
+#else
 #if DEBUG
     #define LOG(...) printf(__VA_ARGS__)
 #else
     #define LOG(...)
 #endif
+#define LOG_ERROR(...) fprintf(stderr, __VA_ARGS__)
+#endif
 
 int main_load_graphics(void);
 


Reply via email to