Files

188 lines
6.2 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 app 1.0
PortGroup active_variants 1.1
PortGroup perl5 1.0
name pspp-devel
set buildstamp 20241021104916
set buildhash g395ff8
epoch 1
version 2.0.1
revision 1
categories math
license GPL-3+
maintainers {snc @nerdling}
conflicts pspp
description Statistical analysis of sampled data (free \
replacement for SPSS).
long_description PSPP is a program for \
statistical analysis of sampled data. It is a Free \
replacement for the proprietary program SPSS, and \
appears very similar to it with a few exceptions.
homepage https://www.gnu.org/software/pspp/
master_sites http://pspp.benpfaff.org/~blp/pspp-master/${buildstamp}/source
distname pspp-${version}-${buildhash}
perl5.branches 5.34
depends_lib-append path:lib/pkgconfig/cairo.pc:cairo \
port:fontconfig \
port:freetype \
path:lib/pkgconfig/glib-2.0.pc:glib2 \
port:gettext-runtime \
port:gsl \
path:lib/pkgconfig/harfbuzz.pc:harfbuzz \
port:libiconv \
port:libxml2 \
path:lib/pkgconfig/librsvg-2.0.pc:librsvg \
port:ncurses \
port:perl${perl5.major} \
path:lib/pkgconfig/pango.pc:pango \
port:python311 \
port:readline \
port:spread-sheet-widget \
port:texinfo \
port:zlib
depends_build-append port:gettext \
path:bin/pkg-config:pkgconfig \
port:p${perl5.major}-text-diff \
path:libexec/coreutils/libstdbuf.so:coreutils
depends_test-append port:p${perl5.major}-text-diff path:libexec/coreutils/libstdbuf.so:coreutils
checksums rmd160 0ad340124f5c4e48e3bb932acceb83121879eed1 \
sha256 25017ae2dbcaf6dd0f36fc478475f88fe0ce033e73eccf8eebf9b9a28fb9a8ee \
size 10939074
post-extract {
if {[variant_isset gui]} {
copy ${filespath}/PSPP ${worksrcpath}
file attributes ${worksrcpath}/PSPP -permissions ugo+rx
}
}
post-patch {
if {[variant_isset gui]} {
reinplace s|@@PREFIX@@|${prefix}| ${worksrcpath}/PSPP
}
}
# error: unknown field 'text' specified in initializer
compiler.blacklist *gcc-3.* *gcc-4.*
compiler.c_standard 1999
# Code uses 'asm' instead of '__asm__', so we need a GNU standard
configure.cflags-append -std=gnu99
platform darwin 8 {
# ./libc-config.h:87:21: error: operator '%' has no left operand
# (Defined value doesn't matter, just used to prevent an include in gnulib)
configure.cflags-append -D__WORDSIZE=32
}
#configure.cflags-append -g
configure.python ${prefix}/bin/python3.11
configure.perl ${perl5.bin}
configure.env-append PYTHON3=${configure.python}
configure.args-append --disable-rpath \
--without-libpq \
--without-gui \
--with-packager=snc \
--with-packager-version=${version}-${buildstamp} \
--with-packager-bug-reports=[lindex ${maintainers} 0 0]
set nif_compilers {macports-llvm-gcc-4.2 llvm-gcc-4.2}
if {[lsearch -exact ${nif_compilers} ${configure.compiler}] > -1} {
configure.optflags-append -fno-inline-functions
}
test.args -j${build.jobs}
test.run yes
test.target check
test.env TESTSUITEFLAGS="-j${build.jobs}"
#test.env TESTSUITEFLAGS='-v -k unrepresentable'
#test.env TESTSUITEFLAGS='1177 1178 1179 1180 1181 1182 1183 1184 1185 1186'
variant help requires gui description {Provide in-application help via yelp} {
depends_run-append port:yelp
}
variant postgres description {Enables reading of postgresql databases} {
depends_lib-append port:postgresql92
configure.args-delete --without-libpq
configure.ldflags-append -L${prefix}/lib/postgresql92
configure.env-append PG_CONFIG=${prefix}/lib/postgresql92/bin/pg_config
}
variant gui description {Build PSPPIRE, the graphical interface} {
depends_lib-append port:atk \
path:lib/pkgconfig/gdk-pixbuf-2.0.pc:gdk-pixbuf2 \
path:lib/pkgconfig/gtk+-3.0.pc:gtk3 \
port:gtksourceview4
configure.args-delete --without-gui
}
variant quartz requires gui {
require_active_variants gtk3 quartz
require_active_variants gtksourceview4 quartz
}
variant x11 requires gui {
require_active_variants gtk3 x11
}
if {![variant_isset x11] && ![variant_isset quartz]} {
default_variants +x11
}
# check for x11-poisoned dependencies
set x11 no
set depspecs {gtk3}
foreach depspec depspecs {
if {![catch {set result [active_variants $depspec x11]}]} {
if {$result} {
$x11 yes
break
}
}
}
# if x11 poison, depend on x11
if {[string is true -strict $x11]} {
default_variants +x11
}
post-destroot {
if {[variant_isset doc]} {
xinstall -d -m 0755 ${destroot}${prefix}/share/doc/${name}
foreach fl [glob -nocomplain -directory ${worksrcpath}/doc *.pdf *.html] {
copy ${fl} ${destroot}${prefix}/share/doc/${name}
}
}
}
post-activate {
system "${prefix}/bin/gtk-update-icon-cache --ignore-theme-index ${prefix}/share/icons/hicolor"
}
post-deactivate {
system "${prefix}/bin/gtk-update-icon-cache --ignore-theme-index ${prefix}/share/icons/hicolor"
}
if {![variant_isset gui]} {
app.create no
}
app.name PSPP
app.executable ${worksrcpath}/PSPP
app.icon ${filespath}/logo.png
livecheck.url http://pspp.benpfaff.org/~blp/pspp-master/latest/x86_64/
livecheck.regex <td>dist_version<\\/td><td>(.*)<\\/td>
livecheck.version ${version}-${buildhash}