From nobody Mon Dec 25 16:16:20 2023 X-Original-To: dev-commits-ports-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4SzNLr6skvz54wwB; Mon, 25 Dec 2023 16:16:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4SzNLr5fclz4KVw; Mon, 25 Dec 2023 16:16:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1703520980; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/mVu49PXCRIMQ4mYshTNKwfN0N3u92zMUsz0wBcE15Y=; b=HbcugtVkWKHix83KuAQ+fgc1NKghEKYdWsr8DJQj65Jhhbw2HXUb5kwvdvERVUhg6O5GlD v4OK+s5JSBGCscSNyO8lCoktDGI011Ob0LqC/u6AEIkrbMDoeMBYt5Ee+YN2sBaSw9AHST aQQpDngKboz/r3gsY7OnODEvCfPjVTiLlCyCvNZ8C5yooLb3dfrWT75wA6ItftyQ5iHlsZ MUZhJC07REtnR264I4A86CrRYhu0UA7YcHL0qA2jNxkmd+dHpp4DEzUi+izc1z5fdm0rNp zNVlEv9TkN1tzrdwyMO1S89vwGajvcRf2KcsSUccntwprAfiIFsIKEmjHHa+eA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1703520980; a=rsa-sha256; cv=none; b=ZuE4ccXun4ANnJlbkxOHCn1RSV0e0Oepr77P92UkisjQ/LTWK9Ej8c4mk/5sFRNyl/yLkL TgAwymdxIuAvUgesHpvzkJ1eJFMnAIjfXdCXtTFlhqKEzS1668Wp+cEKiEhLpWXDrGOhyz FOLCVMbv/PFfQI4UZKWgzNt9RPYHo520VKzII5f/RtIW6Qo++eCHkZlaFIrtAnYBLPF1WH K+3C5t4fNHLvm1iUhHNCBI98XYmw9VUzW50YljzwnFG4IAX2he8gzPD1DTJVqWKUx3Wz3e w+lMerNl3RNmsZOIsHxFG8tYjJRQkHeBpR3uEvnoKYngSORnhLnQru8QC5VqkA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1703520980; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/mVu49PXCRIMQ4mYshTNKwfN0N3u92zMUsz0wBcE15Y=; b=PcNtvYrqgG2njpqYIwdoWozHFU0fY4SvSRqj2jOYvqiXHOJDuHKpdMYOBogZ5Kw78LK6eb i+WPugTopyVlwaZjDzXpuUlS8GaxCQLcn7s/9Y9A+FCFrNLQ5e4qHIrd20yK9xZ9S/hcwB cpKM8V5cnKtxNG4z6R4OEHIkS7thz0UL2zPIo7Zc7qnmUXNXdhQw13UnB4tTU/vikaUOJ4 nSyovmJpbbsPCjVgY7hEzAfWVrjZG2DOxgUHHZbic7NxKTy0mRPwjlhOsqUM2DvevwnFTT 06TjN8cHzAyt6ZIk3vB10pxM3VdyOWbZ/ervmdOtb8bgdn2ixa3SiiX9JSO/pg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4SzNLr4mTRz38c; Mon, 25 Dec 2023 16:16:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3BPGGKS5009837; Mon, 25 Dec 2023 16:16:20 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3BPGGK36009834; Mon, 25 Dec 2023 16:16:20 GMT (envelope-from git) Date: Mon, 25 Dec 2023 16:16:20 GMT Message-Id: <202312251616.3BPGGK36009834@gitrepo.freebsd.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org From: Po-Chuan Hsieh Subject: git: 0527a0833f5e - main - graphics/gdal-grass: Use GetGDALDriverManager to register driver List-Id: Commits to the main branch of the FreeBSD ports repository List-Archive: https://lists.freebsd.org/archives/dev-commits-ports-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-ports-main@freebsd.org X-BeenThere: dev-commits-ports-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: sunpoet X-Git-Repository: ports X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 0527a0833f5ec294bcd202fb31fc5e608bcca4ba Auto-Submitted: auto-generated The branch main has been updated by sunpoet: URL: https://cgit.FreeBSD.org/ports/commit/?id=0527a0833f5ec294bcd202fb31fc5e608bcca4ba commit 0527a0833f5ec294bcd202fb31fc5e608bcca4ba Author: Po-Chuan Hsieh AuthorDate: 2023-12-25 16:02:59 +0000 Commit: Po-Chuan Hsieh CommitDate: 2023-12-25 16:10:50 +0000 graphics/gdal-grass: Use GetGDALDriverManager to register driver - Bump PORTREVISION for package change Obtained from: https://github.com/OSGeo/gdal-grass/commit/1f6a624e38a58cac80d754ae96131b5ee641bfda https://github.com/OSGeo/gdal-grass/commit/da141597b6d6cb9c230749ba07885c4f06e232cd --- graphics/gdal-grass/Makefile | 2 +- .../gdal-grass/files/patch-GetGDALDriverManager | 197 +++++++++++++++++++++ 2 files changed, 198 insertions(+), 1 deletion(-) diff --git a/graphics/gdal-grass/Makefile b/graphics/gdal-grass/Makefile index ba652ea317a4..df91ee895fb0 100644 --- a/graphics/gdal-grass/Makefile +++ b/graphics/gdal-grass/Makefile @@ -1,6 +1,6 @@ PORTNAME= gdal-grass PORTVERSION= 1.0.2 -PORTREVISION= 3 +PORTREVISION= 4 PORTEPOCH= 1 CATEGORIES= graphics diff --git a/graphics/gdal-grass/files/patch-GetGDALDriverManager b/graphics/gdal-grass/files/patch-GetGDALDriverManager new file mode 100644 index 000000000000..5674a39189a4 --- /dev/null +++ b/graphics/gdal-grass/files/patch-GetGDALDriverManager @@ -0,0 +1,197 @@ +Obtained from: https://github.com/OSGeo/gdal-grass/commit/1f6a624e38a58cac80d754ae96131b5ee641bfda + https://github.com/OSGeo/gdal-grass/commit/da141597b6d6cb9c230749ba07885c4f06e232cd + +--- ogrgrass.h.orig 2022-11-06 10:42:02 UTC ++++ ogrgrass.h +@@ -127,8 +127,8 @@ class OGRGRASSDataSource final: public OGRDataSource + OGRGRASSDataSource(); + virtual ~OGRGRASSDataSource(); + +- int Open( const char *, int bUpdate, int bTestOpen, +- int bSingleNewFile = FALSE ); ++ bool Open( const char *, bool bUpdate, bool bTestOpen, ++ bool bSingleNewFile = false ); + + const char *GetName() override { return pszName; } + int GetLayerCount() override { return nLayers; } +@@ -147,23 +147,9 @@ class OGRGRASSDataSource final: public OGRDataSource + struct Map_info map; + int nLayers; + +- int bOpened; ++ bool bOpened; + + static bool SplitPath ( char *, char **, char **, char **, char ** ); +-}; +- +-/************************************************************************/ +-/* OGRGRASSDriver */ +-/************************************************************************/ +-class OGRGRASSDriver final: public OGRSFDriver +-{ +- public: +- virtual ~OGRGRASSDriver(); +- +- const char *GetName() override; +- OGRDataSource *Open( const char *, int ) override; +- +- int TestCapability( const char * ) override; + }; + + #endif /* ndef OGRGRASS_H_INCLUDED */ +--- ogrgrassdatasource.cpp.orig 2022-11-06 10:42:02 UTC ++++ ogrgrassdatasource.cpp +@@ -87,8 +87,8 @@ OGRGRASSDataSource::~OGRGRASSDataSource() + + typedef int (*GrassErrorHandler)(const char *, int); + +-int OGRGRASSDataSource::Open( const char * pszNewName, int /*bUpdate*/, +- int bTestOpen, int /*bSingleNewFileIn*/ ) ++bool OGRGRASSDataSource::Open( const char * pszNewName, bool /*bUpdate*/, ++ bool bTestOpen, bool /*bSingleNewFileIn*/ ) + { + VSIStatBuf stat; + +@@ -99,14 +99,14 @@ int OGRGRASSDataSource::Open( const char * pszNewName, + /* -------------------------------------------------------------------- */ + /* Do the given path contains 'vector' and 'head'? */ + /* -------------------------------------------------------------------- */ +- if ( strstr(pszName,"vector") == NULL || strstr(pszName,"head") == NULL ) ++ if ( strstr(pszName,"vector") == nullptr || strstr(pszName,"head") == nullptr ) + { + if( !bTestOpen ) + { + CPLError( CE_Failure, CPLE_AppDefined, + "%s is not GRASS vector, access failed.\n", pszName ); + } +- return FALSE; ++ return false; + } + + /* -------------------------------------------------------------------- */ +@@ -120,7 +120,7 @@ int OGRGRASSDataSource::Open( const char * pszNewName, + "%s is not GRASS vector, access failed.\n", pszName ); + } + +- return FALSE; ++ return false; + } + + /* -------------------------------------------------------------------- */ +@@ -135,7 +135,7 @@ int OGRGRASSDataSource::Open( const char * pszNewName, + "%s is not GRASS datasource name, access failed.\n", + pszName ); + } +- return FALSE; ++ return false; + } + + CPLDebug ( "GRASS", "Gisdbase: %s", pszGisdbase ); +@@ -149,7 +149,7 @@ int OGRGRASSDataSource::Open( const char * pszNewName, + // GISBASE is path to the directory where GRASS is installed, + // it is necessary because there are database drivers. + if ( !getenv( "GISBASE" ) ) { +- static char* gisbaseEnv = NULL; ++ static char* gisbaseEnv = nullptr; + const char *gisbase = GRASS_GISBASE; + CPLError( CE_Warning, CPLE_AppDefined, "GRASS warning: GISBASE " + "environment variable was not set, using:\n%s", gisbase ); +@@ -191,7 +191,7 @@ int OGRGRASSDataSource::Open( const char * pszNewName, + if ( level < 2 ) { + CPLError( CE_Failure, CPLE_AppDefined, + "Cannot open GRASS vector %s on level 2.\n", pszName ); +- return FALSE; ++ return false; + } + + CPLDebug ( "GRASS", "Num lines = %d", Vect_get_num_lines(&map) ); +@@ -212,9 +212,9 @@ int OGRGRASSDataSource::Open( const char * pszNewName, + papoLayers[nLayers++] = poLayer; + } + +- bOpened = TRUE; ++ bOpened = true; + +- return TRUE; ++ return true; + } + + /************************************************************************/ +--- ogrgrassdriver.cpp.orig 2022-11-06 10:42:02 UTC ++++ ogrgrassdriver.cpp +@@ -37,32 +37,18 @@ extern "C" { + CPL_CVSID("$Id$") + + /************************************************************************/ +-/* ~OGRGRASSDriver() */ +-/************************************************************************/ +-OGRGRASSDriver::~OGRGRASSDriver() +-{ +-} +- +-/************************************************************************/ +-/* GetName() */ +-/************************************************************************/ +-const char *OGRGRASSDriver::GetName() +-{ +- return "OGR_GRASS"; +-} +- +-/************************************************************************/ + /* Open() */ + /************************************************************************/ +-OGRDataSource *OGRGRASSDriver::Open( const char * pszFilename, +- int bUpdate ) ++static auto GRASSDatasetOpen(GDALOpenInfo *poOpenInfo) -> GDALDataset* + { +- OGRGRASSDataSource *poDS = new OGRGRASSDataSource(); ++ auto *poDS = new OGRGRASSDataSource(); + +- if( !poDS->Open( pszFilename, bUpdate, TRUE ) ) ++ bool bUpdate = poOpenInfo->eAccess == GA_Update; ++ ++ if( !poDS->Open( poOpenInfo->pszFilename, bUpdate, true )) + { + delete poDS; +- return NULL; ++ return nullptr; + } + else + { +@@ -71,14 +57,6 @@ OGRDataSource *OGRGRASSDriver::Open( const char * pszF + } + + /************************************************************************/ +-/* TestCapability() */ +-/************************************************************************/ +-int OGRGRASSDriver::TestCapability( const char * /*pszCap*/ ) +-{ +- return FALSE; +-} +- +-/************************************************************************/ + /* RegisterOGRGRASS() */ + /************************************************************************/ + void RegisterOGRGRASS() +@@ -86,15 +64,17 @@ void RegisterOGRGRASS() + if (! GDAL_CHECK_VERSION("OGR/GRASS driver")) + return; + +- if( GDALGetDriverByName( "OGR_GRASS" ) != NULL ) ++ if( GDALGetDriverByName( "OGR_GRASS" ) != nullptr ) + return; + +- OGRGRASSDriver *poDriver = new OGRGRASSDriver(); ++ auto *poDriver = new GDALDriver(); + +- poDriver->SetDescription( "GRASS" ); ++ poDriver->SetDescription( "OGR_GRASS" ); + poDriver->SetMetadataItem( GDAL_DCAP_VECTOR, "YES" ); + poDriver->SetMetadataItem( GDAL_DMD_LONGNAME, "GRASS Vectors (5.7+)" ); + poDriver->SetMetadataItem( GDAL_DMD_HELPTOPIC, "drivers/vector/grass.html" ); + +- OGRSFDriverRegistrar::GetRegistrar()->RegisterDriver( poDriver ); ++ poDriver->pfnOpen = GRASSDatasetOpen; ++ ++ GetGDALDriverManager()->RegisterDriver(poDriver); + }