mirror of
https://github.com/macports/macports-ports.git
synced 2026-07-12 18:20:25 -07:00
288 lines
9.4 KiB
Plaintext
288 lines
9.4 KiB
Plaintext
# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; truncate-lines: t -*- vim:fenc=utf-8:et:sw=4:ts=4:sts=4
|
|
|
|
PortSystem 1.0
|
|
|
|
name qwt
|
|
categories graphics science
|
|
# actually a little more permissive than the standard LGPL, but the
|
|
# distinction doesn't matter to us.
|
|
license LGPL-2.1
|
|
maintainers {michaelld @michaelld} openmaintainer
|
|
homepage http://qwt.sourceforge.net
|
|
|
|
master_sites sourceforge:qwt
|
|
use_bzip2 yes
|
|
use_parallel_build no
|
|
|
|
platforms darwin
|
|
|
|
if {${subport} eq ${name}} {
|
|
|
|
version 5.1.2
|
|
distname qwt-${version}
|
|
revision 3
|
|
conflicts qwt52 qwt60 qwt61
|
|
checksums sha1 2fc04b78c438635a78e41a22fea6f9e016f7ca17 \
|
|
rmd160 a5a94aa3870a631f9605e6370c4d04fb1c79347e
|
|
patchfiles patch-qwtconfig.pri.51.diff
|
|
livecheck.url http://sourceforge.net/api/file/index/project-id/13693/mtime/desc/rss
|
|
livecheck.regex \\/qwt\\/(5\\.1\\.\\d+)\\/
|
|
|
|
}
|
|
|
|
subport qwt52 {
|
|
|
|
version 5.2.3
|
|
revision 1
|
|
distname qwt-${version}
|
|
conflicts qwt qwt60 qwt61
|
|
checksums sha1 ff81595a1641a8b431f98d6091bb134bc94e0003 \
|
|
rmd160 9b2128ad2b53a65678f9ea57d34cdc73a3674d21
|
|
patchfiles patch-qwtconfig.pri.52.diff
|
|
livecheck.url http://sourceforge.net/api/file/index/project-id/13693/mtime/desc/rss
|
|
livecheck.regex \\/qwt\\/(5\\.2\\.\\d+)\\/
|
|
|
|
}
|
|
|
|
subport qwt60 {
|
|
|
|
version 6.0.2
|
|
revision 1
|
|
distname qwt-${version}
|
|
conflicts qwt qwt52 qwt61
|
|
checksums sha1 cbdd00b29521987c9e7bc6aa51092f0474b9428d \
|
|
rmd160 c9d31f40b6001f09c59dbf4c0628ddd860474821
|
|
patchfiles patch-qwtconfig.pri.60.diff \
|
|
patch-qwtbuild.pri.60.diff \
|
|
patch-qwtfunctions.pri.60.diff \
|
|
patch-designer_designer.pro.60.diff
|
|
livecheck.url http://sourceforge.net/api/file/index/project-id/13693/mtime/desc/rss
|
|
livecheck.regex \\/qwt\\/(6\\.0\\.\\d+)\\/
|
|
|
|
}
|
|
|
|
subport qwt61 {
|
|
|
|
version 6.1.3
|
|
distname qwt-${version}
|
|
conflicts qwt qwt52 qwt60
|
|
checksums rmd160 1e36e79dab0ecc4df89d9fb20607925fe261c6b3 \
|
|
sha256 f3ecd34e72a9a2b08422fb6c8e909ca76f4ce5fa77acad7a2883b701f4309733
|
|
|
|
use_parallel_build yes
|
|
|
|
if {![variant_isset qt4] && ![variant_isset qt5]} {
|
|
default_variants +qt4
|
|
}
|
|
|
|
patchfiles patch-designer_designer.pro.61.diff \
|
|
patch-qwtconfig.pri.61.diff \
|
|
patch-qwtbuild.pri.61.diff
|
|
livecheck.url http://sourceforge.net/api/file/index/project-id/13693/mtime/desc/rss
|
|
livecheck.regex \\/qwt\\/(6\\.1\\.\\d+)\\/
|
|
post-patch {
|
|
reinplace "s|@INSTALL_DOCS@@|${qt_docs_dir}/${subport}|" \
|
|
${worksrcpath}/qwtconfig.pri
|
|
reinplace "s|@INSTALL_HEADERS@@|${qt_includes_dir}|" \
|
|
${worksrcpath}/qwtconfig.pri
|
|
}
|
|
|
|
}
|
|
|
|
# get qwt's version numbers
|
|
|
|
global qwt_major, qwt_minor, qwt_patch
|
|
set qwt_vers [split ${version} "."]
|
|
set qwt_major [lindex ${qwt_vers} 0]
|
|
set qwt_minor [lindex ${qwt_vers} 1]
|
|
set qwt_patch [lindex ${qwt_vers} 2]
|
|
set qwt_maj_min ${qwt_major}.${qwt_minor}
|
|
|
|
description QWT: Qt Widgets for Technical Applications, \
|
|
Version ${qwt_maj_min}
|
|
|
|
long_description ${description}\nThe Qwt library contains GUI \
|
|
Components and utility classes which are primarily useful for \
|
|
programs with a technical background. Beside a 2D plot widget it \
|
|
provides scales, sliders, dials, compasses, thermometers, wheels \
|
|
and knobs to control or display values, arrays, or ranges of type \
|
|
double. QWT version ${qwt_maj_min} contains source incompatible \
|
|
changes versus other versions of QWT.
|
|
|
|
post-patch {
|
|
|
|
# setup for debug, if selected
|
|
|
|
if {[variant_isset debug]} {
|
|
if {${qwt_major} == 5} {
|
|
reinplace "/CONFIG/s@release@debug_and_release build_all@" \
|
|
${worksrcpath}/qwtconfig.pri
|
|
} else {
|
|
reinplace "/CONFIG/s@release@debug_and_release build_all@" \
|
|
${worksrcpath}/qwtbuild.pri
|
|
}
|
|
}
|
|
|
|
# set arch type(s)
|
|
|
|
if {${qwt_major} == 5} {
|
|
reinplace "s/@ARCHES@/${qt_arch_types}/" \
|
|
${worksrcpath}/qwtconfig.pri
|
|
} else {
|
|
reinplace "s/@ARCHES@/${qt_arch_types}/" \
|
|
${worksrcpath}/qwtbuild.pri
|
|
}
|
|
|
|
# setup for examples, if selected
|
|
|
|
if {![variant_isset examples]} {
|
|
# I presume this worked with qwt < 6.1
|
|
reinplace "s@QwtExamples@@" \
|
|
${worksrcpath}/qwtconfig.pri
|
|
} else {
|
|
# qwt 6.1.2 disables the examples by default, so reenable them when requested
|
|
reinplace "s@#QWT_CONFIG += QwtExamples@QWT_CONFIG += QwtExamples@" \
|
|
${worksrcpath}/qwtconfig.pri
|
|
}
|
|
}
|
|
|
|
if {${qwt_major} < 6} {
|
|
|
|
# QWT version 5 can work with Qt3 or Qt4
|
|
|
|
variant qt3 conflicts qt4 description {Use qt3-mac} {}
|
|
|
|
variant qt4 conflicts qt3 description {Use qt4-mac} {}
|
|
|
|
# move setting of 'qt_qmake_cmd' outside variants, since 'if'
|
|
# statements are processed in-order while variants are processed after
|
|
# everything else.
|
|
|
|
set qt_qmake_cmd ""
|
|
|
|
if {[variant_isset qt3]} {
|
|
|
|
depends_lib-append port:qt3-mac
|
|
set qt_qmake_cmd ${prefix}/libexec/qt3-mac/bin/qmake
|
|
|
|
} else {
|
|
|
|
# when variant 'qt3' is not set, use qt4 whether by default or via
|
|
# the user's variant choice
|
|
|
|
if {![variant_isset qt4]} {
|
|
default_variants +qt4
|
|
}
|
|
PortGroup qmake 1.0
|
|
qt4.debug_variant no
|
|
|
|
}
|
|
} else {
|
|
|
|
variant qt5 conflicts qt4 description "Build with Qt5" {}
|
|
variant qt4 conflicts qt5 description "Build with Qt4" {}
|
|
|
|
# QWT 6+ uses Qt4+ only
|
|
if {![variant_isset qt5]} {
|
|
PortGroup qt4 1.0
|
|
PortGroup qmake 1.0
|
|
} else {
|
|
#PortGroup qt5 1.0
|
|
PortGroup qmake5 1.0
|
|
depends_lib-append port:qt5-qtbase port:qt5-qtsvg
|
|
set qt_arch_types "x86_64"
|
|
post-patch {
|
|
reinplace "s|QT_STATIC_CONST|static const|" \
|
|
${worksrcpath}/src/qwt_scale_map.cpp \
|
|
${worksrcpath}/src/qwt_scale_map.h
|
|
reinplace "s/QT_INSTALL_FRAMEWORKS/QT_INSTALL_LIBS/" \
|
|
${worksrcpath}/qwtconfig.pri
|
|
}
|
|
configure.args-append \
|
|
-config absolute_library_soname
|
|
}
|
|
}
|
|
|
|
# configure.cmd ${qt_qmake_cmd}
|
|
# configure.pre_args-delete --prefix=${prefix}
|
|
configure.pre_args-append INSTALLBASE="${prefix}"
|
|
|
|
# qmake does not handle these flags
|
|
configure.universal_args-delete --disable-dependency-tracking
|
|
configure.args-delete --disable-dependency-tracking
|
|
|
|
# allow ccache, if specified by the user
|
|
pre-build {
|
|
if {[tbool configure.ccache]} {
|
|
build.post_args "CCACHE=ccache"
|
|
}
|
|
}
|
|
|
|
post-destroot {
|
|
|
|
# if qwt is installed as a framework,
|
|
# link in as libraries and headers too
|
|
|
|
if {[file exists ${destroot}${qt_frameworks_dir}/qwt.framework/qwt]} {
|
|
|
|
global qwt_major, qwt_minor, qwt_patch
|
|
foreach fixfile [exec find ${destroot}${qt_frameworks_dir} \
|
|
-name "*.framework" | \
|
|
sed -e "s@${destroot}@@g"] {
|
|
|
|
set tf_full [strsed ${fixfile} {s@\\.framework@@}]
|
|
set tf [strsed ${tf_full} {g@.*\/@@}]
|
|
|
|
# link headers into ${qt_includes_dir}, removing
|
|
# directories if they are already there first
|
|
|
|
file mkdir ${destroot}${qt_includes_dir}
|
|
file mkdir ${destroot}${qt_libs_dir}
|
|
set inc_file ${destroot}${qt_includes_dir}/${tf}
|
|
if {[file exists ${inc_file}]} {
|
|
file delete -force ${inc_file}
|
|
}
|
|
ln -s ${tf_full}.framework/Headers ${inc_file}
|
|
|
|
# link libraries into ${qt_libs_dir}
|
|
|
|
set libs_dir ${destroot}${qt_libs_dir}
|
|
|
|
ln -s ${tf_full}.framework/${tf} \
|
|
${libs_dir}/lib${tf}.dylib
|
|
ln -s ${tf_full}.framework/${tf} \
|
|
${libs_dir}/lib${tf}.${qwt_major}.dylib
|
|
ln -s ${tf_full}.framework/${tf} \
|
|
${libs_dir}/lib${tf}.${qwt_major}.${qwt_minor}.dylib
|
|
ln -s ${tf_full}.framework/${tf} \
|
|
${libs_dir}/lib${tf}.${qwt_major}.${qwt_minor}.${qwt_patch}.dylib
|
|
|
|
if {[variant_isset debug]} {
|
|
|
|
# link debug libraries into ${qt_libs_dir}
|
|
|
|
ln -s ${tf_full}.framework/${tf}_debug \
|
|
${libs_dir}/lib${tf}_debug.dylib
|
|
ln -s ${tf_full}.framework/${tf}_debug \
|
|
${libs_dir}/lib${tf}_debug.${qwt_major}.dylib
|
|
ln -s ${tf_full}.framework/${tf}_debug \
|
|
${libs_dir}/lib${tf}_debug.${qwt_major}.${qwt_minor}.dylib
|
|
ln -s ${tf_full}.framework/${tf}_debug \
|
|
${libs_dir}/lib${tf}_debug.${qwt_major}.${qwt_minor}.${qwt_patch}.dylib
|
|
|
|
}
|
|
}
|
|
}
|
|
if {[variant_isset examples]} {
|
|
set exdir ${destroot}${qt_examples_dir}/${subport}
|
|
xinstall -d -m 755 ${exdir}
|
|
foreach bin [glob -nocomplain ${build.dir}/examples/bin/*] {
|
|
copy ${bin} ${exdir}
|
|
}
|
|
}
|
|
}
|
|
|
|
variant debug description "Build release and debug versions" {}
|
|
|
|
variant examples description "Build examples" {}
|