ddrescueview: use ld-classic on macOS 14 and later

set deployment target
This commit is contained in:
i0ntempest
2025-07-23 09:39:34 +10:00
committed by Zhenfu Shi
parent 1eacb4bb74
commit 21cfea68a7
2 changed files with 24 additions and 2 deletions
+14 -2
View File
@@ -4,7 +4,7 @@ PortSystem 1.0
name ddrescueview
version 0.4.5
revision 0
revision 1
categories sysutils aqua
license GPL-2
maintainers {@kamischi web.de:karl-michael.schindler} openmaintainer
@@ -31,9 +31,21 @@ depends_build port:lazarus port:makeicns
set savedsrcdir ${worksrcpath}
worksrcdir ${worksrcdir}/source
patchfiles-append \
patch-deployment_target.patch
set proj_file ddrescueview.lpi
post-patch {
reinplace "s|@@DEPLOYMENT_TARGET@@|${macosx_deployment_target}|g" ${proj_file}
# remove incorrect linux linker options
reinplace "s|-z relro --as-needed||g" ddrescueview.lpi
if {${os.major} >= 23} {
# ld segfaults on macOS 15.4 and later and reports unaligned pointer on 14.x
# fall back to classic linker
# See https://gitlab.com/freepascal.org/lazarus/lazarus/-/issues/41570
reinplace "s|-z relro --as-needed|-ld_classic|g" ${proj_file}
} else {
reinplace "s|-z relro --as-needed||g" ${proj_file}
}
}
use_configure no
@@ -0,0 +1,10 @@
--- ddrescueview.lpi.old 2022-02-26 02:47:26
+++ ddrescueview.lpi 2025-07-23 09:29:05
@@ -260,6 +260,7 @@
<CompilerMessages>
<IgnoredMessages idx5091="True" idx5024="True" idx4080="True" idx4079="True"/>
</CompilerMessages>
+ <CustomOptions Value="-WM@@DEPLOYMENT_TARGET@@"/>
</Other>
</CompilerOptions>
</CONFIG>