mirror of
https://github.com/macports/macports-ports.git
synced 2026-07-12 18:20:25 -07:00
185 lines
7.0 KiB
Tcl
185 lines
7.0 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 github 1.0
|
|
|
|
github.setup jgm pandoc 3.10
|
|
revision 0
|
|
categories textproc haskell
|
|
license GPL-3
|
|
maintainers {judaew @judaew} openmaintainer
|
|
|
|
description Conversion between markup formats
|
|
|
|
long_description Pandoc is a Haskell library for converting from \
|
|
one markup format to another, and a command-line \
|
|
tool that uses this library. It can read markdown \
|
|
and (subsets of) HTML, reStructuredText, LaTeX, \
|
|
DocBook, MediaWiki markup, and Textile, and it can \
|
|
write markdown, reStructuredText, HTML, LaTeX, \
|
|
ConTeXt, Docbook, OpenDocument, ODT, Word docx, \
|
|
RTF, MediaWiki, Textile, groff man pages, plain \
|
|
text, Emacs Org-Mode, AsciiDoc, EPUB (v2 and v3), \
|
|
FictionBook2, and S5, Slidy and Slideous HTML \
|
|
slide shows.
|
|
|
|
homepage https://pandoc.org
|
|
|
|
installs_libs no
|
|
|
|
github.tarball_from archive
|
|
|
|
# Note: When updating, please also update the checksums on legacy versions below
|
|
checksums rmd160 96833885be5481a76f054ebfecff62c5da9d9d81 \
|
|
sha256 fc82815542c29802d087c25e2c1421146030806b71255ec40fc0e828fe1df877 \
|
|
size 8759054
|
|
|
|
depends_lib-append port:libffi \
|
|
port:zlib
|
|
|
|
depends_run-append port:groff
|
|
|
|
# https://github.com/jgm/pandoc/blob/main/tools/latex-package-dependencies.lua
|
|
# comm -23 <(pandoc lua ${worksrcpath}/tools/latex-package-dependencies.lua | xargs -I{} find ${prefix}/share/texmf-texlive -name {} | sort -u | xargs -I{} find {} -depth 1 -type f | xargs port provides | awk '{print $NF}' | sort -u) <(port echo rdepof:texlive-xetex rdepends:texlive-fonts-recommended | grep texlive | sort -u)
|
|
variant texlive \
|
|
description {Use TeXLive; see "port notes" for more information.} {
|
|
depends_run-append \
|
|
port:latexmk \
|
|
port:texlive-fonts-recommended \
|
|
port:texlive-xetex
|
|
}
|
|
|
|
variant full_latex_dependencies \
|
|
requires texlive \
|
|
description {Install all LaTeX dependencies.} {
|
|
depends_run-append \
|
|
port:texlive-bin-extra \
|
|
port:texlive-context \
|
|
port:texlive-latex-extra \
|
|
port:texlive-luatex
|
|
}
|
|
|
|
notes-append "${name} uses LaTeX to create PDFs.
|
|
|
|
The (minimized) variant +texlive uses MacPorts TeXLive.
|
|
|
|
For full LaTeX PDF support, please use the variant +full_latex_dependencies."
|
|
|
|
set minimum_major_version_for_source 20
|
|
|
|
if {(${os.platform} eq {darwin}
|
|
&& ${os.major} >= ${minimum_major_version_for_source})
|
|
|| ${os.platform} ne {darwin}} {
|
|
if {${os.platform} eq {darwin}} {
|
|
compiler.blacklist-append \
|
|
*gcc*
|
|
}
|
|
compiler.blacklist-append \
|
|
{clang < 900}
|
|
|
|
# https://trac.macports.org/ticket/48971
|
|
variant stack \
|
|
description {Use stack to build.} {}
|
|
if { [variant_isset "stack"] } {
|
|
PortGroup haskell_stack 1.0
|
|
|
|
} else {
|
|
PortGroup haskell_cabal 1.0
|
|
|
|
# https://github.com/jgm/pandoc/blob/main/macos/make_macos_release.sh
|
|
set cabalopts {-fembed_data_files -fserver -flua}
|
|
build.target all
|
|
build.post_args-prepend \
|
|
{*}${cabalopts}
|
|
build.post_args-append \
|
|
--allow-newer
|
|
|
|
destroot.target exe:${subport}
|
|
destroot.post_args-prepend \
|
|
{*}${cabalopts}
|
|
destroot.post_args-append \
|
|
--allow-newer
|
|
|
|
post-destroot {
|
|
# https://github.com/jgm/pandoc/blob/main/macos/Makefile
|
|
ln -s ${prefix}/bin/${subport} \
|
|
${destroot}${prefix}/bin/${subport}-lua
|
|
ln -s ${prefix}/bin/${subport} \
|
|
${destroot}${prefix}/bin/${subport}-server
|
|
xinstall -d ${destroot}${prefix}/share/doc
|
|
copy ${worksrcpath}/doc \
|
|
${destroot}${prefix}/share/doc/${subport}
|
|
system -W ${worksrcpath} \
|
|
"${destroot}${prefix}/bin/${subport} -s COPYING.md -Vpagetitle=License -o \"${destroot}${prefix}/share/doc/${subport}/license.html\""
|
|
xinstall -m 0644 -W ${worksrcpath} \
|
|
AUTHORS.md \
|
|
BUGS \
|
|
CONTRIBUTING.md \
|
|
MANUAL.txt \
|
|
README.md \
|
|
${destroot}${prefix}/share/doc/${subport}
|
|
xinstall -m 0644 \
|
|
${worksrcpath}/pandoc-cli/man/pandoc.1 \
|
|
${worksrcpath}/pandoc-cli/man/pandoc-lua.1 \
|
|
${worksrcpath}/pandoc-cli/man/pandoc-server.1 \
|
|
${destroot}${prefix}/share/man/man1
|
|
}
|
|
}
|
|
|
|
test.run yes
|
|
test.pre_args run
|
|
test.args test-${subport}
|
|
if {![variant_isset "stack"]} {
|
|
test.post_args-prepend \
|
|
{*}${cabalopts}
|
|
}
|
|
test.post_args-append \
|
|
{-- '-p markdown'}
|
|
} else {
|
|
# binary support for older macOS versions
|
|
github.tarball_from releases
|
|
use_zip yes
|
|
distfiles pandoc-${version}-${build_arch}-macOS${extract.suffix}
|
|
set worksrcpath ${workpath}/pandoc-${version}-${build_arch}
|
|
|
|
# set build_arch/os.arch/os.major to get binary arm64/x86_64 checksums
|
|
# sudo port -d checksum pandoc os.arch=arm os.major=18 build_arch=arm64
|
|
# sudo port -d checksum pandoc os.arch=i386 os.major=18 build_arch=x86_64
|
|
# run `sudo port clean --all pandoc` afterwards
|
|
switch ${build_arch} {
|
|
arm64 {
|
|
checksums \
|
|
rmd160 766849dd1901712b915ad30d021084626f8d37cc \
|
|
sha256 d9cad01d96ae774a0dc8c8c45bb1ad3e4c5ff2cc2e24f45958f5f9b7974aee34 \
|
|
size 41511397
|
|
}
|
|
x86_64 {
|
|
checksums \
|
|
rmd160 8d9bc12faa086d17a2ec22ebaaded2294751d28e \
|
|
sha256 6334f4d9af7c9e37e761dfad56fa5507685f6d29724ebf31c4be6d5c654a3161 \
|
|
size 25867412
|
|
}
|
|
default {
|
|
known_fail yes
|
|
pre-fetch {
|
|
ui_error "${subport} @ ${version} only supported for architectures ${supported_archs}"
|
|
return -code error "Unsupported architecture: ${build_arch}"
|
|
}
|
|
}
|
|
}
|
|
|
|
use_configure no
|
|
|
|
build {}
|
|
|
|
destroot {
|
|
xinstall -m 0755 ${worksrcpath}/bin/${subport} ${destroot}${prefix}/bin
|
|
# https://github.com/jgm/pandoc/blob/main/macos/Makefile
|
|
ln -s ${prefix}/bin/${subport} \
|
|
${destroot}${prefix}/bin/${subport}-lua
|
|
ln -s ${prefix}/bin/${subport} \
|
|
${destroot}${prefix}/bin/${subport}-server
|
|
xinstall -m 0755 {*}[glob ${worksrcpath}/share/man/man1/*] ${destroot}${prefix}/share/man/man1
|
|
}
|
|
}
|