Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package XyGrib for openSUSE:Factory checked 
in at 2021-11-20 02:38:54
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/XyGrib (Old)
 and      /work/SRC/openSUSE:Factory/.XyGrib.new.1895 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "XyGrib"

Sat Nov 20 02:38:54 2021 rev:7 rq:932277 version:1.2.6.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/XyGrib/XyGrib.changes    2021-03-02 
14:10:10.456953470 +0100
+++ /work/SRC/openSUSE:Factory/.XyGrib.new.1895/XyGrib.changes  2021-11-20 
02:39:57.432618396 +0100
@@ -1,0 +2,5 @@
+Thu Nov 18 12:56:32 UTC 2021 - Axel Braun <axel.br...@gmx.de>
+
+- proj8.diff and projection.diff added to fix build failure with proj 8
+
+-------------------------------------------------------------------

New:
----
  proj8.diff
  projection.diff

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

Other differences:
------------------
++++++ XyGrib.spec ++++++
--- /var/tmp/diff_new_pack.WA471p/_old  2021-11-20 02:39:58.080616258 +0100
+++ /var/tmp/diff_new_pack.WA471p/_new  2021-11-20 02:39:58.084616245 +0100
@@ -2,7 +2,7 @@
 # spec file for package XyGrib
 #
 # Copyright (c) 2021 SUSE LLC
-# Copyright (c) 2018 Dr. Axel Braun
+# Copyright (c) 2018-2021 Dr. Axel Braun <d...@opensuse.org>
 # Copyright (c) 2018 Dominig ar Foll (Intel Open Source)
 #
 # All modifications and additions to the file contributed by third parties
@@ -30,6 +30,8 @@
 Source2:        %{name}.desktop
 Patch0:         QPainter.patch 
 Patch1:         libjpeg24.diff
+Patch2:         proj8.diff
+Patch3:         projection.diff
 BuildRequires:  cmake
 BuildRequires:  libnova-devel
 BuildRequires:  libpng-devel
@@ -49,7 +51,7 @@
 BuildRequires:  pkgconfig(zlib)
 %if 0%{?suse_version} < 1500
 Requires(post): update-desktop-files
-Requires(postun): update-desktop-files
+Requires(postun):update-desktop-files
 %endif
 
 %description
@@ -66,6 +68,9 @@
 %patch1 -p1
 cp %{S:1} %{S:2} .
 
+%patch2 -p1
+%patch3 -p1
+
 %build
 # -DNO_UPDATE=1 deactivates XyGrib internal SW update
 # -DOPENSUSE=1  macro for optional openSUSE friendly options in the source code


++++++ proj8.diff ++++++
diff --git a/CMakeLists.txt b/CMakeLists.txt
index b066a044..77633a21 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -124,22 +124,22 @@ find_path(OPENJPEG_INCLUDE_DIR
 include_directories(${OPENJPEG_INCLUDE_DIR})
 
 if(NOT WIN32)
-    include(cmake/FindPROJ4.cmake)
-    if(NOT PROJ4_FOUND)
-      message(FATAL_ERROR "PROJ.4 library not found!")
+    include(cmake/FindPROJ8.cmake)
+    if(NOT PROJ8_FOUND)
+      message(FATAL_ERROR "PROJ.8 library not found!")
     endif()
-    include_directories(${PROJ4_INCLUDE_DIRS})
+    include_directories(${PROJ8_INCLUDE_DIRS})
 endif()
 if(WIN32)
-    find_library(PROJ4_LIBRARIES
+    find_library(PROJ8_LIBRARIES
         NAME "libproj.a"
         PATHS
         $ENV{EXTERNLIBS}/lib
          /opt/lib
         REQUIRED
     )
-    find_path(PROJ4_INCLUDE_DIRS
-         NAMES "proj_api.h"
+    find_path(PROJ8_INCLUDE_DIRS
+         NAMES "proj.h"
          PATHS
          $ENV{EXTERNLIBS}/include
          /opt/include
diff --git a/cmake/FindPROJ8.cmake b/cmake/FindPROJ8.cmake
new file mode 100644
index 00000000..33470ac2
--- /dev/null
+++ b/cmake/FindPROJ8.cmake
@@ -0,0 +1,76 @@
+# - Find PROJ8
+# Find the PROJ8 includes and library
+#
+#  PROJ8_INCLUDE_DIR - Where to find PROJ8 includes
+#  PROJ8_LIBRARIES   - List of libraries when using PROJ8
+#  PROJ8_FOUND       - True if PROJ8 was found
+
+IF(PROJ8_INCLUDE_DIR)
+  SET(PROJ8_FIND_QUIETLY TRUE)
+ENDIF(PROJ8_INCLUDE_DIR)
+
+FIND_PATH(PROJ8_INCLUDE_DIR "proj.h"
+  PATHS
+  $ENV{EXTERNLIBS}/include
+  $ENV{EXTERNLIBS}/PROJ8/include
+  ~/Library/Frameworks/include
+  /Library/Frameworks/include
+  /usr/local/include
+  /usr/include
+  /sw/include # Fink
+  /opt/local/include # DarwinPorts
+  /opt/csw/include # Blastwave
+  /opt/include
+  DOC "PROJ8 - Headers"
+)
+
+SET(PROJ8_NAMES PROJ8 proj proj_8_0)
+SET(PROJ8_DBG_NAMES PROJ8D projD proj_8_0_1)
+
+FIND_LIBRARY(PROJ8_LIBRARY NAMES ${PROJ8_NAMES}
+  PATHS
+  $ENV{EXTERNLIBS}
+  $ENV{EXTERNLIBS}/PROJ8
+  ~/Library/Frameworks
+  /Library/Frameworks
+  /usr/local
+  /usr
+  /sw
+  /opt/local
+  /opt/csw
+  /opt
+  PATH_SUFFIXES lib lib64
+  DOC "PROJ8 - Library"
+)
+
+INCLUDE(FindPackageHandleStandardArgs)
+
+IF(MSVC)
+  # VisualStudio needs a debug version
+  FIND_LIBRARY(PROJ8_LIBRARY_DEBUG NAMES ${PROJ8_DBG_NAMES}
+    PATHS
+    $ENV{EXTERNLIBS}/PROJ8/lib
+    DOC "PROJ8 - Library (Debug)"
+  )
+  
+  IF(PROJ8_LIBRARY_DEBUG AND PROJ8_LIBRARY)
+    SET(PROJ8_LIBRARIES optimized ${PROJ8_LIBRARY} debug 
${PROJ8_LIBRARY_DEBUG})
+  ENDIF(PROJ8_LIBRARY_DEBUG AND PROJ8_LIBRARY)
+
+  FIND_PACKAGE_HANDLE_STANDARD_ARGS(PROJ8 DEFAULT_MSG PROJ8_LIBRARY 
PROJ8_LIBRARY_DEBUG PROJ8_INCLUDE_DIR)
+
+  MARK_AS_ADVANCED(PROJ8_LIBRARY PROJ8_LIBRARY_DEBUG PROJ8_INCLUDE_DIR)
+  
+ELSE(MSVC)
+  # rest of the world
+  SET(PROJ8_LIBRARIES ${PROJ8_LIBRARY})
+
+  FIND_PACKAGE_HANDLE_STANDARD_ARGS(PROJ8 DEFAULT_MSG PROJ8_LIBRARY 
PROJ8_INCLUDE_DIR)
+  
+  MARK_AS_ADVANCED(PROJ8_LIBRARY PROJ8_INCLUDE_DIR)
+  
+ENDIF(MSVC)
+
+IF(PROJ8_FOUND)
+  SET(PROJ8_INCLUDE_DIRS ${PROJ8_INCLUDE_DIR})
+ENDIF(PROJ8_FOUND)
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 2e5dbde4..9c96d49f 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -118,7 +118,7 @@ include_directories(${CMAKE_CURRENT_SOURCE_DIR}/util)
 include_directories(${CMAKE_CURRENT_SOURCE_DIR}/map ${MAP_GENERATED_HEADERS})
 include_directories(${CMAKE_CURRENT_SOURCE_DIR}/GUI ${GUI_GENERATED_HEADERS})
 
-target_link_libraries(${CMAKE_PROJECT_NAME} g2clib gui util map 
${LIBNOVA_LIBRARY} ${OPENJPEG_LIBRARIES} ${Qt5Core_LIBRARIES} 
${Qt5Gui_LIBRARIES} ${Qt5Widgets_LIBRARIES} ${Qt5Network_LIBRARIES} 
${Qt5Xml_LIBRARIES} ${Qt5PrintSupport_LIBRARIES} ${BZIP2_LIBRARIES} 
${ZLIB_LIBRARIES} ${PROJ4_LIBRARIES} ${PNG_LIBRARIES})
+target_link_libraries(${CMAKE_PROJECT_NAME} g2clib gui util map 
${LIBNOVA_LIBRARY} ${OPENJPEG_LIBRARIES} ${Qt5Core_LIBRARIES} 
${Qt5Gui_LIBRARIES} ${Qt5Widgets_LIBRARIES} ${Qt5Network_LIBRARIES} 
${Qt5Xml_LIBRARIES} ${Qt5PrintSupport_LIBRARIES} ${BZIP2_LIBRARIES} 
${ZLIB_LIBRARIES} ${PROJ8_LIBRARIES} ${PNG_LIBRARIES})
 
 # Sanitizers, part 2/2
 if ( CMAKE_VERSION VERSION_GREATER 3.4 )
diff --git a/src/map/Projection.h b/src/map/Projection.h
index b4ca7f5b..d482e0dd 100644
--- a/src/map/Projection.h
+++ b/src/map/Projection.h
@@ -21,10 +21,7 @@ along with this program.  If not, see 
<http://www.gnu.org/licenses/>.
 #include <QObject>
 #include <cstdio>
 
-#ifndef ACCEPT_USE_OF_DEPRECATED_PROJ_API_H
-#define ACCEPT_USE_OF_DEPRECATED_PROJ_API_H
-#endif
-#include "proj_api.h"
+#include "proj.h"
 
 class Projection : public QObject
 {
@@ -141,7 +138,7 @@ class Projection_libproj : public Projection
                int   getProjection()   {return currentProj;}
 
        private :
-               projPJ libProj;
+               PJ * libProj;
                int  currentProj;
 };
 
++++++ projection.diff ++++++
diff --git a/src/map/Projection_libproj.cpp b/src/map/Projection_libproj.cpp
index 1dcbd540..0299714e 100644
--- a/src/map/Projection_libproj.cpp
+++ b/src/map/Projection_libproj.cpp
@@ -93,9 +93,9 @@ void Projection_libproj::setProjection(int code)
     params[nbpar++] = "no_defs";
     params[nbpar++] = "over";  // allow longitude > 180????
     // XXX ouch pj_init
-    libProj = pj_init(nbpar, (char **)params);
+    libProj = proj_create_argv(PJ_DEFAULT_CTX, nbpar, (char **)params);
        if (!libProj)
-               printf("proj error: %s\n", pj_strerrno(pj_errno));
+               printf("proj error: %s\n", 
proj_errno_string(proj_errno(libProj)));
        assert(libProj);
        currentProj = code;
 //     libProj->over = 1;              // allow longitude > 180??
@@ -106,23 +106,23 @@ void Projection_libproj::setProjection(int code)
 Projection_libproj::~Projection_libproj()
 {
     if (libProj != nullptr) {
-               pj_free(libProj);
+               proj_destroy(libProj);
        }
 }
 
 
//-------------------------------------------------------------------------------
 void Projection_libproj::map2screen(double x, double y, int *i, int *j) const
 {
-       projUV data, res;
+       PJ_COORD data, res;
        if (y <= -90.0)
                y = -90.0+1e-5;
        if (y >= 90.0)
                y = 90.0-1e-5;
-       data.v =  y * DEG_TO_RAD;
-       data.u =  x * DEG_TO_RAD;
-       res = pj_fwd(data, libProj);
-       *i =  (int) (W/2.0 + scale * (res.u/111319.0-CX) + 0.5);
-       *j =  (int) (H/2.0 - scale * (res.v/111319.0-CY) + 0.5);
+       data.uv.v =  y;
+       data.uv.u =  x;
+       res = proj_trans(libProj, PJ_FWD, data);
+       *i =  (int) (W/2.0 + scale * (res.uv.u/111319.0-CX) + 0.5);
+       *j =  (int) (H/2.0 - scale * (res.uv.v/111319.0-CY) + 0.5);
        //printf("PROJ   map2screen (%f %f) -> (%3d %3d)\n", x,y, *i,*j);
 }
 
@@ -130,12 +130,12 @@ void Projection_libproj::map2screen(double x, double y, 
int *i, int *j) const
 
//-------------------------------------------------------------------------------
 void Projection_libproj::screen2map(int i, int j, double *x, double *y) const
 {
-       projUV data, res;
-       data.u =  ((i-W/2.0)/scale+ CX)*111319.0 ;
-       data.v =  ((H/2.0-j)/scale+ CY)*111319.0 ;
-       res = pj_inv(data, libProj);
-       *x = (double)(res.u*RAD_TO_DEG);
-       *y = (double)(res.v*RAD_TO_DEG);
+       PJ_COORD data, res;
+       data.uv.u =  ((i-W/2.0)/scale+ CX)*111319.0 ;
+       data.uv.v =  ((H/2.0-j)/scale+ CY)*111319.0 ;
+       res = proj_trans(libProj, PJ_INV, data);
+       *x = (double)(res.uv.u);
+       *y = (double)(res.uv.v);
        //printf("PROJ   screen2map (%3d %3d) -> (%f %f)\n", i,j, *x,*y);
 }
 //--------------------------------------------------------------
 

Reply via email to