Files

147 lines
5.5 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
name fop
categories textproc java
license Apache-2
maintainers {mascguy @mascguy} \
openmaintainer
platforms any
supported_archs noarch
description Apache FOP Java XSL-FO Print Formatter
long_description Apache FOP is the world's first print formatter driven by \
XSL formatting objects. It is a Java application that \
reads a formatting object tree conforming to the XSL 1.0 \
Recommendation (15 October 2001) and then turns it into a \
PDF document, certain other output formats or allows you \
to preview it directly on screen. Some parts of the XSL \
1.1 specification (work in progress!) have also been \
implemented.
homepage https://xmlgraphics.apache.org/fop/
# Apache recommends at present that FOP be linked to FOP-specific versions of
# the Java libraries that it depends on (which are distributed with FOP), as
# both it and some of those libraries are undergoing a lot of changes, and they
# do not guarantee that FOP will work with any other versions. We therefore
# might as well only use the binary distribution, unless anyone else comes up
# with a compelling reason to change this. For the same reason, we also stick
# to the directory structure within the archive, since it isolates FOP and its
# libraries from conflicts with other versions.
if {${name} eq ${subport}} {
version 1.1
revision 1
checksums rmd160 fdeee43b73f0b005738661bb9b86d9f9a4434f63 \
sha256 0697a90c2f0b0602bf707070267caecc59638a8bf7a719d5950acff764f57b8e \
size 22490250
patchfiles patch-fop-java_home.diff
livecheck.type none
}
subport ${name}2 {
version 2.11
revision 0
checksums rmd160 72bf7c13dae8757e024486ddd08d32bf4d4d47b5 \
sha256 b7e12dc8c96ce0087742757debad3798fa6f8778f8b8ed7acfbf6e405e4ede76 \
size 17198578
livecheck.type regex
livecheck.url https://www.apache.org/dist/xmlgraphics/fop/binaries/
livecheck.regex "${name}-(\\d+(?:\\.\\d+)*)-bin${extract.suffix}"
notes {
fop2 is now run via command 'fop2', rather than 'fop'.
}
}
distname ${name}-${version}-bin
master_sites apache:xmlgraphics/fop/binaries/
worksrcdir ${name}-${version}
use_configure no
build {}
pre-destroot {
delete ${worksrcpath}/fop.bat
delete ${worksrcpath}/fop.cmd
delete ${worksrcpath}/fop.js
}
destroot {
xinstall -m 755 -d ${destroot}${prefix}/share/java/fop/${version}
set foppaths [glob ${worksrcpath}/*]
foreach foppath ${foppaths} {
copy $foppath ${destroot}${prefix}/share/java/fop/${version}
}
# Ensure soft link name corresponds to port, to avoid conflicts
set launcher_path ${prefix}/share/java/fop/${version}/fop
if {${subport} ne ${name}} {
# For fop2 releases after 2.1, launcher script is pushed down
# another level, into 'fop' subdir.
set launcher_path ${launcher_path}/fop
}
ln -fs ${launcher_path} \
${destroot}${prefix}/bin/${subport}
xinstall -m 755 -d ${destroot}${prefix}/share/doc/fop/${version}
foreach fopdoc {KEYS LICENSE README NOTICE status.xml} {
# Ensure soft links are only created for files that exist.
# Necessary, as not all are provided with both versions.
set src ${destroot}${prefix}/share/java/fop/${version}/${fopdoc}
if {[file exists ${src}]} {
ui_debug "destroot: fopdoc: linking to file: ${fopdoc}"
ln -fs ${prefix}/share/java/fop/${version}/${fopdoc} \
${destroot}${prefix}/share/doc/fop/${version}/${fopdoc}
} else {
ui_debug "destroot: fopdoc: file doesn't exist, ignoring: ${fopdoc}"
}
}
foreach docdir {docs javadocs} {
# Ensure soft links are only created for directories that exist.
# Necessary, as not all are provided with both versions.
set src ${destroot}${prefix}/share/java/fop/${version}/${docdir}
if {[file exists ${src}]} {
ui_debug "destroot: docdir: linking to directory: ${docdir}"
ln -fs ${prefix}/share/java/fop/${version}/${docdir} \
${destroot}${prefix}/share/doc/fop/${version}/${docdir}
} else {
ui_debug "destroot: docdir: directory doesn't exist, ignorning: ${docdir}"
}
}
}
# Skeleton of a source variant, despite the comments above, just in case it
# proves useful to have one in the future :-)
#
#variant source description {Build FOP from source instead} {
# distname ${name}-${version}-src
# master_sites apache:xmlgraphics/fop/source/
# checksums md5 184c578a6269a8287ed150e0fc12868d \
# sha1 3efc0020fdbf14a12851acf6020ea723aebe2af6 \
# rmd160 c047f7512a08120cfed07536c0849b2a999e96d4
#
# depends_build bin:ant:apache-ant
# build.env-append JAVA_HOME=/Library/Java/Home
# build.cmd ant
# # Re-building local docs requires forrest, for which we don't yet have a
# # port.
# #build.target all docs javadocs
# build.target all javadocs
#}