Files
Mark MentovaiandRenee Otten 57d7db5c01 gdal: bump dependents’ revisions for update to 3.13.0
libgdal.dylib’s install_name is changing from libgdal.38.dylib to
libgdal.39.dylib in this update.

Procedure:

gsed -i -E -e 's/^( *revision +)([0-9]+)(.*)$/echo "\1$((\2+1))\3"/e' $(grep -c '^ *revision ' $(git grep -l port:gdal | grep -v '^gis/gdal/' | grep -v '^python/py-gdal/') | grep ':1$' | cut -d: -f1)

with manual handling for ports with more than one revision line:

grep -c '^ *revision ' $(git grep -l port:gdal | grep -v '^gis/gdal/' | grep -v '^python/py-gdal/') | grep -v ':1$' | cut -d: -f1

qgis3 and saga were omitted per
https://github.com/macports/macports-ports/pull/32926#issuecomment-4592025368.
liblas was omitted per
https://github.com/macports/macports-ports/pull/32926#issuecomment-4595124162.

[skip ci]
2026-06-02 21:22:03 -04:00

275 lines
10 KiB
Tcl

# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
PortSystem 1.0
PortGroup active_variants 1.1
PortGroup conflicts_build 1.0
PortGroup compilers 1.0
compilers.setup require_fortran
compilers.allow_arguments_mismatch \
yes
name ncarg
version 6.6.2
revision 37
epoch 1
set version_no_dot [join [split ${version} "."] ""]
categories science
maintainers {takeshi @tenomoto} openmaintainer
license {UCAR-Unidata public-domain BSD LGPL-3 GPL-3}
description language for scientific data processing and visualization
long_description \
The NCAR Command Language (NCL), a product of \
the Computational & Information Systems Laboratory \
at the National Center for Atmospheric Research (NCAR) \
and sponsored by the National Science Foundation, \
is a free interpreted language designed specifically \
for scientific data processing and visualization.
homepage https://www.ncl.ucar.edu/
distname ncl-${version}
master_sites https://www.ncl.ucar.edu/Download/files/:g2clib \
https://github.com/NCAR/ncl/archive/:ncl
set ncl_src ${version}${extract.suffix}
set g2clib_version 1.6.0
set g2clib_src g2clib-${g2clib_version}-patch${extract.suffix}
set g2clib_worksrcdir g2clib-${g2clib_version}-patch
distfiles ${ncl_src}:ncl \
${g2clib_src}:g2clib
checksums ${ncl_src} \
rmd160 061d4230adfc9e601393a396aff06704ffa68c3c \
sha256 cad4ee47fbb744269146e64298f9efa206bc03e7b86671e9729d8986bb4bc30e \
size 60523044 \
${g2clib_src} \
rmd160 112d90fd297f772643d6223041f741d6e4101b49 \
sha256 ec79fb768ce9e45ca6c2c94fa4dfc99b30600d7f8f44d272cdb36ab542d59468 \
size 184817
depends_lib path:lib/pkgconfig/cairo.pc:cairo \
port:proj5 \
port:gdal \
port:udunits2 \
port:vis5d \
port:hdf4 \
port:hdf5 \
port:hdfeos \
port:hdfeos5 \
port:netcdf \
port:wgrib2 \
port:curl \
port:libpng \
port:libxml2 \
port:gsl \
port:flex \
port:jasper \
port:xorg-libXaw
depends_build port:triangle
depends_run bin:ESMF_RegridWeightGen:esmf \
port:rangs-gshhs-ncarg
conflicts_build ncarg
universal_variant no
compilers.enforce_c hdf5
configure.cxx_stdlib libstdc++
use_parallel_build no
set usedap y
patchfiles patch-Configure.diff \
patch-ncarg2d-src-libncarg-Iftran-yMakefile.diff \
patch-ncarview-src-bin-ictrans-yMakefile.diff \
patch-ncarg2d-src-bin-ezmapdemo-yMakefile.diff \
patch-ncarg2d-src-bin-tdpackdemo-yMakefile.diff \
patch-ngmath-src-bin-nnalg-yMakefile.diff \
patch-ni-src-lib-nfpfort-yMakefile.diff \
patch-ni-src-lib-hlu-Format.c.diff \
patch-ni-src-ncl-global-vars.diff \
patch-ni-src-ncl-MakeNcl.diff \
patch-ni-src-ncl-remove-nc-set-log.diff \
patch-ni-src-ncl-yMakefile.diff \
patch-ncarg2d-src-libncarg_gks-bwi-argb2ci.f.diff
if {$build_arch eq "x86_64" | $build_arch eq "arm64"} {
patchfiles-append patch-config-ymake.diff
}
if { $build_arch eq "arm64"} {
patchfiles-append patch-common-src-libncarg_c-yMakefile.diff
}
if {[variant_isset accelerate]} {
patchfiles-append patch-config-Project-accelerate.diff \
patch-external-yMakefile.diff
} else {
patchfiles-append patch-config-Project.diff
}
if {${os.platform} eq "darwin" && ${os.major} < 12} {
pre-fetch {
ui_error "${name} is not supported on Lion or older."
error "unsupported platform"
}
}
configure.cflags-append -Wno-error=implicit-function-declaration
configure.cflags-append -Wno-error=implicit-int
configure.cflags-append -Wno-error=int-conversion
configure.cflags-append -Wno-error=incompatible-pointer-types
configure.cflags-append -DH5_USE_110_API
if {${configure.sdkroot} ne ""} {
configure.cflags-append -isysroot ${configure.sdkroot}
configure.fflags-append -isysroot ${configure.sdkroot}
}
pre-configure {
if {[file exists ${prefix}/bin/h5pcc]} {
configure.cc ${prefix}/bin/h5pcc
} else {
configure.cc ${prefix}/bin/h5cc
}
# build modified g2clib
if {$build_arch eq "x86_64" || $build_arch eq "ppc64"} {
set defs "-DUSE_JPEG2000 -DUSE_PNG -D__64BIT__"
} else {
set defs "-DUSE_JPEG2000 -DUSE_PNG"
}
system -W ${workpath}/${g2clib_worksrcdir} "patch -p0 < ${filespath}/patch-enc_jpeg2000.c.diff"
system -W ${workpath}/${g2clib_worksrcdir} "patch -p0 < ${filespath}/patch-dec_jpeg2000.c.diff"
system -W ${workpath}/${g2clib_worksrcdir} \
"make CC=${configure.cc} INC=\"${configure.cppflags} ${configure.cflags}\" DEFS=\"${defs}\" all"
file copy ${workpath}/${g2clib_worksrcdir}/libgrib2c.a ${worksrcpath}
# edit configurations
if {[regexp clang ${configure.compiler}]} {
reinplace "s| -lquadmath||" ${worksrcpath}/config/Darwin_Intel
}
reinplace "s|g\\\\+\\\\+$|${configure.cxx}|" ${worksrcpath}/config/Darwin_Intel
foreach f {Darwin Darwin_Intel} {
if {[regexp clang ${configure.compiler}]} {
reinplace "s|-fopenmp||" ${worksrcpath}/config/${f}
}
if {[variant_isset g95]} {
reinplace "s|-lgfortran|${compilers.libfortran}|" ${worksrcpath}/config/${f}
} else {
reinplace "s|-lgfortran|-L ${prefix}/lib/libgcc -lgfortran -lgomp|" ${worksrcpath}/config/${f}
}
reinplace "s| gfortran$| ${configure.fc}|" ${worksrcpath}/config/${f}
reinplace "s|gcc$|${configure.cc}|" ${worksrcpath}/config/${f}
reinplace "/CcOptions/d" ${worksrcpath}/config/${f}
reinplace "/FcOptions/d" ${worksrcpath}/config/${f}
reinplace "/ArchRecLibSearch/d" ${worksrcpath}/config/${f}
reinplace "/ArchRecIncSearch/d" ${worksrcpath}/config/${f}
reinplace "s|-lXext$|-lXext\\
#define ArchRecLibSearch ${configure.ldflags} \\
#define ArchRecIncSearch ${configure.cppflags} \\
#define CcOptions -fPIC -D_DARWIN_C_SOURCE ${configure.cflags}\\
#define FcOptions -fPIC -fno-range-check -m64 -Wall ${configure.fflags}\\
#define ManRoot ${destroot}${prefix}/share/man\\
#define NetCDFlib -lnetcdf\\
#define HDFEOS5lib -lhe5_hdfeos -lGctp|" ${worksrcpath}/config/${f}
# A workaround for XQuartz 2.7.3 on Mountain Lion known as ncl.xq.fix
if {${os.platform} eq "darwin" && ${os.major} >= 12} {
reinplace "s|-D_XOPEN_SOURCE|-D_XOPEN_SOURCE -D__JIRA1530__|" ${worksrcpath}/config/${f}
}
}
if {[variant_isset g95]} {
reinplace "s|-fno-range-check||" ${worksrcpath}/config/Darwin_Intel
}
# run ymake
system -W ${worksrcpath}/config \
"CC=${configure.cc} \
CFLAGS=[shellescape ${configure.cflags}] \
make -f Makefile.ini && \
./ymake -config `pwd`"
# copy triangle.[ch]
foreach ext "c h" {
file copy ${prefix}/share/triangle/triangle.${ext} ${worksrcpath}/ni/src/lib/hlu
}
}
configure {
system -W ${worksrcpath} "./Configure -v << EOF
y
${destroot}${prefix}
y
y
y
y
y
y
y
y
y
y
y
y
y
y
y
${worksrcpath} ${prefix}/lib/hdfeos5/lib ${prefix}/lib/proj5/lib ${prefix}/lib
${prefix}/include/freetype2 ${prefix}/include/udunits2 ${prefix}/lib/hdfeos5/include ${prefix}/lib/proj5/include ${prefix}/include
EOF"
}
post-configure {
system -W ${worksrcpath} "make Info"
system "cat ${worksrcpath}/config/Site.local"
}
# does not seem to set rpath
build.args-append EXTRA_LDFLAGS=\"-Wl,-rpath,${prefix}/lib/libgcc\"
build.target Build
if {${os.major}<10} {
if {[variant_isset g95]} {
build.args-append EXTRA_CCOPTIONS=\"${configure.cc_archflags}\"
} else {
if {[string match *64* $build_arch]} {
build.args-append EXTRA_CCOPTIONS=-m64
} else {
build.args-append EXTRA_CCOPTIONS=-m32
}
}
}
# The build script ignores the build errors.
# Check if ncl is built here.
post-build {
if {![file exists ${worksrcpath}/ni/src/ncl/ncl]} {
return -code error "ncl did not get built"
}
}
# Adhoc fix
post-destroot {
foreach f {ConvertMapData WriteLineFile WriteNameFile WritePlotcharData
ezmapdemo findg fontc graphc graphc ncargworld ncl nnalg
pre2ncgm.prog pre2ncgm.prog psblack pswhite pwritxnt tdpackdemo tgks0a tlocal} {
foreach l {gfortran.5 gomp.1 quadmath.0} {
system -W ${destroot}${prefix}/bin \
"install_name_tool -change @rpath/lib${l}.dylib ${prefix}/lib/libgcc/lib${l}.dylib ${f}"
}
}
}
default_variants +accelerate
if {[variant_isset g95]} {
configure.fflags-append -fno-second-underscore
}
variant accelerate description {use Accelerate.framework} {
depends_lib-append port:vecLibFort
}
livecheck.type regex
livecheck.url ${homepage}
livecheck.regex {Current Version:.* .*([0-9]+\.[0-9]+\.[0-9]+)}