Opened 3 years ago

Closed 3 years ago

#55764 closed update (fixed)

geoexpress-sdk @9.0.0.3864: upgrade to 9.5.4.4709

Reported by: ForTozs Owned by: Veence (Vincent)
Priority: Normal Milestone:
Component: ports Version: 2.4.2
Keywords: haspatch Cc: ryandesign (Ryan Schmidt), Veence (Vincent)
Port: geoexpress-sdk

Description

Here is a patch for geoexpress-sdk (Mr. Sid). You obviously still have to download the SDK from

http://bin.lizardtech.com/download/developer/MrSID_DSDK-9.5.4.4709-darwin16.universal.clang80.tar.gz

and place it in /opt/local/var/macports/distfiles/geoexpress-sdk/ because of licensing issues. I have it working at least with gdal and qgis. I haven't tested anything else.

Attachments (1)

Portfile-geoexpress-sdk.diff (7.2 KB) - added by ForTozs 3 years ago.
Portfile-geoexpress-sdk.diff

Download all attachments as: .zip

Change History (11)

Changed 3 years ago by ForTozs

Portfile-geoexpress-sdk.diff

comment:1 Changed 3 years ago by ForTozs

Sorry, this does not work. The install_name_tool --rpath commands don't have permission to execute. Anyone know how to fix this?

comment:2 in reply to:  1 Changed 3 years ago by ryandesign (Ryan Schmidt)

Cc: ryandesign added

Replying to ForTozs:

The install_name_tool --rpath commands don't have permission to execute. Anyone know how to fix this?

Remove these three lines you added in the destroot phase:

        system "install_name_tool -add_rpath "/opt/local/share/Geo_DSDK/Raster_DSDK/lib/" /opt/local/share/Geo_DSDK/Raster_DSDK/lib/libtbb.dylib"
        system "install_name_tool -add_rpath "/opt/local/share/Geo_DSDK/Raster_DSDK/lib/" /opt/local/share/Geo_DSDK/Raster_DSDK/lib/libltidsdk.dylib"
        system "install_name_tool -add_rpath "/opt/local/share/Geo_DSDK/Raster_DSDK/lib/" /opt/local/lib/libgdal.20.dylib"

In the destroot phase, you are not allowed to modify files that are located outside of the ${destroot} directory. It would also be inappropriate for the geoexpress-sdk port to modify the file /opt/local/lib/libgdal.20.dylib since that file is not provided by this port (it's provided by the gdal port; the gdal port should make any necessary adjustments to that file, but if geoexpress-sdk installs itself correctly, no adjustments should be needed).

In addition, it is incorrect to hardcode /opt/local. The variable ${prefix} should be used instead.

Instead of using rpath, I would just fix the library's id to be absolute, like almost all other libraries in MacPorts. See #56526.

I assume that switching to a binary with "darwin16" in the name will make this port require Darwin 16 (i.e. macOS Sierra) or later. Currently the port uses a binary with "darwin12" in the name, supporting Darwin 12 (OS X Mountain Lion) or later; that covers a much larger portion of the MacPorts user base.

comment:3 Changed 3 years ago by ryandesign (Ryan Schmidt)

Cc: Veence added

Vince, maybe you would consider being the maintainer of geoexpress-sdk. Since your gdal port is the only port that uses it, you're in the best position to know whether any changes or updates of geoexpress-sdk would cause problems.

comment:4 Changed 3 years ago by Veence (Vincent)

Ok, right, I’ll look into this.

Thanks for all the work on this.

comment:5 Changed 3 years ago by Veence (Vincent)

Well, that might’ve been a bit hasty. As with the Intergraph SDK, the end user license for GeoExpress/MrSID is individual type https://www.lizardtech.com/developer/portal-sdk-license. So I’m not certain it is appropriate to have it in the ports collection. What’s the project position on this?

comment:6 Changed 3 years ago by ryandesign (Ryan Schmidt)

I don't see a problem. The port already requires the user to manually visit the project's web site to download the files. That requires the user to fill out a registration form, which requires the user to read and agree to the license.

comment:7 Changed 3 years ago by Veence (Vincent)

I was able to download the file without completing that operation using a simple link. That’s why I asked.

comment:8 Changed 3 years ago by ryandesign (Ryan Schmidt)

The port refers the user to the web site with the form and the license agreement. If the user is able to find a link to the software via other means that bypasses the form, that's not our problem.

comment:9 Changed 3 years ago by Veence (Vincent)

Fine, I’ll go ahead then. I’ll commit something tomorrow.

Thanks Ryan.

comment:10 Changed 3 years ago by Veence (Vincent)

Owner: set to Veence
Resolution: fixed
Status: newclosed

In b11b60aec24d59304043c28492741554e0e616e2/macports-ports (master):

geoexpress-sdk: bump to 9.5.4.4709

  • Update to 9.5.4.4709
  • Change groupe from science to gis
  • Fix lib paths in both raster and lidar libraries
  • Change from openmaintener to vince

Fixes: #55764

Note: See TracTickets for help on using tickets.