mapserver: fix mapscript library reference on Darwin

Fix

```
    from . import _mapscript
ImportError:
dlopen(/nix/store/av8n3hrg1rs2akhi7b3x3rhn2ksap9fd-mapserver-8.4.1/lib/python3.13/site-packages/mapscript/_mapscript.so,
0x0002): Library not loaded: @rpath/libmapserver.2.dylib
  Referenced from: <9D2B480C-B82F-3E1F-93A8-E72C4A175236>
/nix/store/av8n3hrg1rs2akhi7b3x3rhn2ksap9fd-mapserver-8.4.1/lib/python3.13/site-packages/mapscript/_mapscript.so
  Reason: no LC_RPATH's found
```

(cherry picked from commit f1165f8e40)
This commit is contained in:
Ivan Mincik
2025-11-25 09:03:53 +01:00
committed by github-actions[bot]
parent 53fc713e23
commit a6b73eb410

View File

@@ -88,6 +88,12 @@ stdenv.mkDerivation rec {
cp -r src/mapscript/python/mapscript $out/${python3.sitePackages}
'';
# Fix mapscript library reference on Darwin
postFixup = lib.optionalString (withPython && stdenv.hostPlatform.isDarwin) ''
install_name_tool -change "@rpath/libmapserver.2.dylib" "$out/lib/libmapserver.2.dylib" \
$out/${python3.sitePackages}/mapscript/_mapscript.so
'';
pythonImportsCheck = [ "mapscript" ];
meta = {