Files
2025-11-13 11:03:35 -05:00

176 lines
6.3 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 boost 1.0
name LyX
conflicts LyX1
# 2.4.x has expermintal support for Qt6 - we are ignoring ATM
if {${os.platform} eq "darwin" && ${os.major} < 11} {
PortGroup qt4 1.0
version 2.3.8
revision 1
checksums rmd160 80b2c53d12b04dd64a6326b4b1ea505dcb352120 \
sha256 7e8f56d148cb459eb00abbe9c6371744e4ff077b842c0024153a3f094b10d4ad \
size 16412700
set branch [join [lrange [split ${version} .] 0 1] .]
configure.args-append \
--with-version-suffix=-${branch} \
--with-qt-dir=${prefix}/libexec/qt4 \
--disable-qt5
# QRawFont is supposed to work, but does not:
# GuiFontMetrics.cpp:127:9: error: 'QRawFont' was not declared in this scope; did you mean 'QFont'?
# Anyway, it seems to have issues in Qt4:
# https://stackoverflow.com/questions/12597595/qrawfontfromfont-not-working-correctly
patchfiles-append patch-GuiFontMetrics.cpp.diff
} elseif {${os.platform} eq "darwin" && ${os.major} < 17} {
PortGroup qt5 1.0
version 2.3.8
revision 1
checksums rmd160 80b2c53d12b04dd64a6326b4b1ea505dcb352120 \
sha256 7e8f56d148cb459eb00abbe9c6371744e4ff077b842c0024153a3f094b10d4ad \
size 16412700
qt5.depends_component qtmacextras \
qtsvg
set branch [join [lrange [split ${version} .] 0 1] .]
configure.args-append \
--with-version-suffix=-${branch} \
--with-qt-dir=${prefix}/libexec/qt5 \
--with-qt-includes=${prefix}/libexec/qt5/include \
--with-qt-libraries=${prefix}/libexec/qt5/lib
} else {
PortGroup qt5 1.0
version 2.4.4
revision 0
checksums rmd160 3b2f66cad93def5e3f61c985281affa16b7a71fd \
sha256 ffacd37480f320f3f3f8f30445fe40897e9df44c94ee87ba0413e364086f4b90 \
size 18360996
qt5.depends_component qtmacextras \
qtsvg
set branch [join [lrange [split ${version} .] 0 1] .]
configure.args-append \
--with-version-suffix=-${branch} \
--with-macos-deployment-target=10.13 \
--with-qt-dir=${prefix}/libexec/qt5 \
--with-qt-includes=${prefix}/libexec/qt5/include \
--with-qt-libraries=${prefix}/libexec/qt5/lib
}
categories aqua
license GPL-2+
maintainers {khindenburg @kurthindenburg} openmaintainer
description WYSIWYM document processor
homepage https://www.lyx.org
long_description LyX is an advanced open source document processor \
that encourages an approach to writing based on \
the structure of your documents, not their \
appearance. LyX lets you concentrate on writing, \
leaving details of visual layout to the software.
depends_build-append port:bison port:gawk port:cctools
depends_lib-append port:enchant \
bin:latex:texlive \
port:ImageMagick \
port:hunspell \
port:libmagic \
port:aspell
use_xz yes
distname lyx-${version}
worksrcdir lyx-${version}
master_sites http://lyx.cybermirror.org/stable/${branch}.x/ \
http://sunsite.icm.edu.pl/pub/unix/editors/lyx/stable/${branch}.x/ \
ftp://ftp.ntua.gr/pub/X11/LyX/stable/${branch}.x/ \
ftp://ftp.lyx.org/pub/lyx/stable/${branch}.x/
compiler.cxx_standard 2014
compiler.blacklist-append { clang < 800 }
patchfiles-append patch-lyx-applescriptproxy-add-stringh.diff
patchfiles-append patch-lyx-linkbackserver-older-nsalert.diff
# error: '-fobjc-exceptions' is required to enable Objective-C exception syntax
if {[string match *gcc* ${configure.compiler}]} {
# This must be set in pre-configure:
pre-configure {
configure.objcflags-append \
-fobjc-exceptions
}
}
post-configure {
reinplace \
"s|\$(MKDIR_P) \$(pkgdatadir)|\
\$(MKDIR_P) \$(DESTDIR)\$(pkgdatadir)|" \
${worksrcpath}/development/MacOSX/Makefile
}
configure.pre_args --prefix=${applications_dir}/LyX.app
configure.args-append \
--without-x \
--without-included-boost \
--enable-optimization=${configure.optflags} \
--disable-silent-rules
set py_versions [list 3.10 3.11 3.12 3.13]
foreach py_ver ${py_versions} {
set py_ver_nodot($py_ver) [string map {. ""} ${py_ver}]
lappend py_variants python$py_ver_nodot($py_ver)
}
foreach py_ver ${py_versions} {
set py_variant python$py_ver_nodot($py_ver)
variant $py_variant conflicts {*}[ldelete $py_variants $py_variant] description "Use Python $py_ver" "
depends_lib-append port:${py_variant}
global python_framework
set python_framework ${frameworks_dir}/Python.framework/Versions/${py_ver}
configure.python ${prefix}/bin/python${py_ver}
"
if {[variant_isset $py_variant]} {
set py_variant_set 1
}
}
# TODO: double-check this assertion
# Make the default match boost's stub boostXXX's default.
if {![info exists py_variant_set]} {
default_variants +python313
}
variant debug description {Build with debugging information} {
configure.args-append --enable-debug
}
post-destroot {
file delete -force ${destroot}${applications_dir}/LyX.app/Contents/Library/Spotlight
}
notes "
You may want to install texlive-latex-extra if you get errors
about missing tex files. It is a very large package.
It is advisible to not delete the previous version so that it can be
re-activated if there are issues with the new version.
https://guide.macports.org/#using.port.upgrade
"
livecheck.type regex
livecheck.url ${homepage}
livecheck.regex "${name} (\\d+\\.\\d+\\.\\d+(\\.\\d+)?) released"