[packages/ogdi] - added proj480 patch (based on RH bugzilla) to adapt to proj_api.h as found in proj 4.8.0 - list mo
qboosh
qboosh at pld-linux.org
Sat Sep 29 15:53:45 CEST 2012
commit 084821327aaefd0b5ceb58900855418c3534b330
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date: Sat Sep 29 15:54:59 2012 +0200
- added proj480 patch (based on RH bugzilla) to adapt to proj_api.h as found in proj 4.8.0
- list modules explicitly to avoid duplication
- release 5
ogdi-proj480.patch | 256 +++++++++++++++++++++++++++++++++++++++++++++++++++++
ogdi.spec | 26 ++++--
2 files changed, 275 insertions(+), 7 deletions(-)
---
diff --git a/ogdi.spec b/ogdi.spec
index 9dccd65..e13eb80 100644
--- a/ogdi.spec
+++ b/ogdi.spec
@@ -8,18 +8,19 @@ Summary: Open Geographic Datastore Interface
Summary(pl.UTF-8): OGDI - otwarty interfejs do danych geograficznych
Name: ogdi
Version: 3.1.6
-Release: 4
+Release: 5
License: BSD-like
-Group: Applications
-Source0: http://dl.sourceforge.net/ogdi/%{name}-%{version}.tar.gz
+Group: Applications/Databases
+Source0: http://downloads.sourceforge.net/ogdi/%{name}-%{version}.tar.gz
# Source0-md5: 212ad71896aa70528ed139c95bed6511
Source1: http://ogdi.sourceforge.net/ogdi.pdf
# Source1-md5: 029a8cdcd36bee73df92196ee769040e
Patch0: %{name}-pic.patch
+Patch1: %{name}-proj480.patch
URL: http://ogdi.sourceforge.net/
BuildRequires: autoconf
BuildRequires: expat-devel
-BuildRequires: proj-devel
+BuildRequires: proj-devel >= 4.8
%{?with_tcl:BuildRequires: tcl-devel}
%{?with_odbc:BuildRequires: unixODBC-devel}
BuildRequires: zlib-devel
@@ -49,7 +50,7 @@ Summary: OGDI header files and documentation
Summary(pl.UTF-8): Pliki nagłówkowe i dokumentacja OGDI
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
-Requires: proj-devel
+Requires: proj-devel >= 4.8
%description devel
OGDI header files and developer's documentation.
@@ -84,6 +85,7 @@ Interfejs Tcl do OGDI.
%prep
%setup -q
%patch0 -p1
+%patch1 -p1
cp -f %{SOURCE1} .
@@ -148,14 +150,24 @@ rm -rf $RPM_BUILD_ROOT
%attr(755,root,root) %{_bindir}/gltpd
%attr(755,root,root) %{_bindir}/ogdi_*
%attr(755,root,root) %{_libdir}/libogdi.so.*.*
+%attr(755,root,root) %ghost %{_libdir}/libogdi.so.3
%dir %{_libdir}/ogdi
-%attr(755,root,root) %{_libdir}/ogdi/lib[!l]*.so
+%attr(755,root,root) %{_libdir}/ogdi/libadrg.so
+%attr(755,root,root) %{_libdir}/ogdi/libdtcanada.so
+%attr(755,root,root) %{_libdir}/ogdi/libdted.so
+%attr(755,root,root) %{_libdir}/ogdi/libdtusa.so
+%attr(755,root,root) %{_libdir}/ogdi/libgdal.so
+%attr(755,root,root) %{_libdir}/ogdi/libremote.so
+%attr(755,root,root) %{_libdir}/ogdi/librpf.so
+%attr(755,root,root) %{_libdir}/ogdi/libskeleton.so
+%attr(755,root,root) %{_libdir}/ogdi/libvrf.so
%files devel
%defattr(644,root,root,755)
%doc ogdi.pdf
%attr(755,root,root) %{_libdir}/libogdi.so
-%{_includedir}/*.h
+%{_includedir}/ecs.h
+%{_includedir}/ecs_util.h
%if %{with odbc}
%files odbc
diff --git a/ogdi-proj480.patch b/ogdi-proj480.patch
new file mode 100644
index 0000000..389b1bf
--- /dev/null
+++ b/ogdi-proj480.patch
@@ -0,0 +1,256 @@
+Index: ogdi-dfsg/configure.in
+===================================================================
+--- ogdi-dfsg.orig/configure.in
++++ ogdi-dfsg/configure.in
+@@ -81,13 +81,13 @@
+ if test "$with_proj" = "yes" ; then
+
+ AC_CHECK_LIB(proj,pj_init,PROJ_SETTING=external,PROJ_SETTING=missing,)
+- AC_CHECK_HEADERS(projects.h)
++ AC_CHECK_HEADERS(proj_api.h)
+
+ if test $PROJ_SETTING = missing ; then
+ AC_MSG_ERROR([Unable to find external PROJ.4 library, give path or use default internal library.])
+ fi
+ if test "$ac_cv_header_projects_h" = no ; then
+- AC_MSG_ERROR([Unable to find external PROJ.4 projects.h file, give path or use default internal library.])
++ AC_MSG_ERROR([Unable to find external PROJ.4 proj_api.h file, give path or use default internal library.])
+ fi
+
+ PROJ_SETTING=external
+@@ -95,11 +95,11 @@
+
+ elif test "$with_proj" != "no" -a "$with_proj" != "" ; then
+
+- if test -r $with_proj/include/projects.h ; then
+- echo "checking for $with_proj/include/projects.h ... found"
++ if test -r $with_proj/include/projapi.h ; then
++ echo "checking for $with_proj/include/proj_api.h ... found"
+ PROJ_INCLUDE=-I$with_proj/include
+ else
+- AC_MSG_ERROR([Unable to find $with_proj/include/projects.h])
++ AC_MSG_ERROR([Unable to find $with_proj/include/proj_api.h])
+ fi
+
+ if test -r $with_proj/lib/libproj.so ; then
+Index: ogdi-dfsg/ogdi/c-api/client.c
+===================================================================
+--- ogdi-dfsg.orig/ogdi/c-api/client.c
++++ ogdi-dfsg/ogdi/c-api/client.c
+@@ -1576,7 +1576,7 @@
+ char *error_message;
+ ecs_CtlPoints *cpts;
+ ecs_Result *res;
+- PJ *tempproj;
++ projPJ tempproj;
+
+ if (multiblock != 0) {
+ res = &cln_dummy_result;
+@@ -1598,7 +1598,7 @@
+ /* Check if the projection is valid */
+
+ if (strncmp(projection,PROJ_LONGLAT,13) != 0) {
+- tempproj = (PJ *) cln_ProjInit(projection);
++ tempproj = (projPJ) cln_ProjInit(projection);
+ if(tempproj == NULL) {
+ res = &cln_dummy_result;
+ ecs_SetError(res,1,"This projection string is invalid");
+@@ -1775,7 +1775,7 @@
+ ecs_Result *res;
+ register ecs_Client *cln;
+ char *server_proj;
+- PJ *oldtarget,*oldsource;
++ projPJ oldtarget,oldsource;
+ ecs_Region oldreg;
+ int oldisprojequal;
+ int oldisTargetLL;
+@@ -1874,7 +1874,7 @@
+
+ if (strncmp(projection,PROJ_LONGLAT,13) != 0) {
+ cln->isTargetLL = FALSE;
+- cln->target = (PJ *) cln_ProjInit(projection);
++ cln->target = (projPJ) cln_ProjInit(projection);
+ if(cln->target == NULL) {
+ goto setprojerror;
+ }
+@@ -1920,7 +1920,7 @@
+
+ if (strncmp(server_proj,PROJ_LONGLAT,13) != 0) {
+ cln->isSourceLL = FALSE;
+- cln->source = (PJ *) cln_ProjInit(server_proj);
++ cln->source = (projPJ) cln_ProjInit(server_proj);
+ if(cln->source == NULL) {
+ goto setprojerror;
+ }
+@@ -2328,13 +2328,13 @@
+ * char *d: Projection name
+ *
+ * OUT
+- * return PJ *: New projection structure. If NULL, the operation
++ * return projPJ: New projection structure. If NULL, the operation
+ * is a failure.
+ *
+ *----------------------------------------------------------------------
+ */
+
+-PJ *cln_ProjInit(d)
++projPJ cln_ProjInit(d)
+ char *d;
+ {
+ int i,n;
+@@ -2343,7 +2343,7 @@
+ char *l;
+ int longueur;
+ char *c;
+- PJ *retour;
++ projPJ retour;
+
+ if ((c = (char *) malloc(strlen(d)+3)) == NULL) {
+ return NULL;
+@@ -2378,7 +2378,7 @@
+ n++;
+ }
+
+- retour = (PJ *) pj_init(n, (char **) tableau);
++ retour = (projPJ) pj_init(n, (char **) tableau);
+ free(c);
+ free(tableau);
+
+Index: ogdi-dfsg/ogdi/c-api/ecsgeo.c
+===================================================================
+--- ogdi-dfsg.orig/ogdi/c-api/ecsgeo.c
++++ ogdi-dfsg/ogdi/c-api/ecsgeo.c
+@@ -310,7 +310,7 @@
+ char *projection;
+ double X1,Y1,X2,Y2;
+ {
+- PJ *proj;
++ projPJ proj;
+ char **argv;
+ int argc;
+ double lon1,lat1,lon2,lat2;
+Index: ogdi-dfsg/ogdi/datum_driver/usa/dtusa.c
+===================================================================
+--- ogdi-dfsg.orig/ogdi/datum_driver/usa/dtusa.c
++++ ogdi-dfsg/ogdi/datum_driver/usa/dtusa.c
+@@ -26,7 +26,12 @@
+ ********************************************************************/
+
+ #include "ecs.h"
+-#include "projects.h"
++#include "proj_api.h"
++
++/* Definition from Proj.4 */
++projUV nad_cvt(projUV, int, struct CTABLE *);
++struct CTABLE *nad_init(projCtx ctx, char *);
++void nad_free(struct CTABLE *);
+
+ typedef struct {
+ struct CTABLE *dtptr;
+@@ -124,7 +129,7 @@
+ strcat(pathfile,"/");
+ strcat(pathfile,table);
+
+- ptr->dtptr = nad_init(pathfile);
++ ptr->dtptr = nad_init(pj_get_default_ctx(), pathfile);
+ if (ptr->dtptr == NULL) {
+ ptr->count--;
+ return FALSE;
+Index: ogdi-dfsg/ogdi/include/ecs_util.h
+===================================================================
+--- ogdi-dfsg.orig/ogdi/include/ecs_util.h
++++ ogdi-dfsg/ogdi/include/ecs_util.h
+@@ -105,12 +105,7 @@
+ #include <sys/types.h>
+ #include <sys/stat.h>
+
+-#include "projects.h"
+-
+-/* Ensure we are compatible with PROJ.4.4.x and PROJ.4.3.x */
+-#ifndef USE_PROJUV
+-# define projUV UV
+-#endif
++#include "proj_api.h"
+
+ #include "ecs.h"
+
+@@ -1054,8 +1049,8 @@
+ ecs_Family currentSelectionFamily: Current layer selection type
+ char *tclprocname: attribute callback procedure for tcl
+ char *target_proj: Projection descriptor
+- PJ *target: target (c interface) projection descriptors
+- PJ *source: source (driver) projection descriptors
++ projPJ target: target (c interface) projection descriptors
++ projPJ source: source (driver) projection descriptors
+ ecs_Datum targetdatum: target datum information
+ ecs_Datum sourcedatum: source datum information
+ void *dthandle: Handle to the datum driver
+@@ -1092,8 +1088,8 @@
+ ecs_Family currentSelectionFamily; /* Current layer selection type */
+ char *tclprocname; /* attribute callback procedure for tcl */
+ char *target_proj;
+- PJ *target; /* source and target projection descriptors */
+- PJ *source;
++ projPJ target; /* source and target projection descriptors */
++ projPJ source;
+ int isSourceLL; /* flags to avoid unnecessary computation */
+ int isTargetLL;
+ int isProjEqual;
+@@ -1165,7 +1161,7 @@
+
+ /* Projection conversion functions */
+
+-PJ *cln_ProjInit _ANSI_ARGS_((char *d));
++projPJ cln_ProjInit _ANSI_ARGS_((char *d));
+ int cln_CompareProjections _ANSI_ARGS_((int ClientID));
+ int cln_UpdateMaxRegion _ANSI_ARGS_((int ClientID, double x, double y, ecs_Region *gr, int sens, int first));
+ int cln_ConvRegion _ANSI_ARGS_((int ClientID, ecs_Region *gr, int sens));
+Index: ogdi-dfsg/contrib/ogdi_import/ogdi_import.c
+===================================================================
+--- ogdi-dfsg.orig/contrib/ogdi_import/ogdi_import.c
++++ ogdi-dfsg/contrib/ogdi_import/ogdi_import.c
+@@ -63,12 +63,7 @@
+ #include "ecs.h"
+ #include "shapefil.h"
+ #include <assert.h>
+-#include "projects.h"
+-
+-#ifndef PJ_VERSION
+-#define projPJ PJ*
+-#define projUV UV
+-#endif
++#include "proj_api.h"
+
+ static int ClientID = -1;
+ static int bNoDict = FALSE;
+Index: ogdi-dfsg/contrib/ogdi_info/ogdi_info.c
+===================================================================
+--- ogdi-dfsg.orig/contrib/ogdi_info/ogdi_info.c
++++ ogdi-dfsg/contrib/ogdi_info/ogdi_info.c
+@@ -63,7 +63,7 @@
+ */
+
+ #include "ecs.h"
+-#include "projects.h"
++#include "proj_api.h"
+
+ static int ClientID = -1;
+ static int bNoDict = FALSE;
+@@ -214,7 +214,7 @@
+ /* DumpGlobalRegion() */
+ /************************************************************************/
+
+-static int DumpGlobalRegion( ecs_Region * region, PJ * proj_defn )
++static int DumpGlobalRegion( ecs_Region * region, projPJ proj_defn )
+
+ {
+ ecs_Result *result;
+@@ -398,7 +398,7 @@
+
+ {
+ ecs_Result *result;
+- PJ *proj_defn = NULL;
++ projPJ proj_defn = NULL;
+
+ /* -------------------------------------------------------------------- */
+ /* Close old client if there is one active. */
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/ogdi.git/commitdiff/084821327aaefd0b5ceb58900855418c3534b330
More information about the pld-cvs-commit
mailing list