# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:filetype=tcl:et:sw=4:ts=4:sts=4 PortSystem 1.0 name librsvg-devel set my_name librsvg conflicts librsvg categories graphics gnome license {GPL-2+ LGPL-2+} maintainers {mascguy @mascguy} openmaintainer description GNOME implementation of rsvg. long_description {*}${description} homepage https://wiki.gnome.org/Projects/LibRsvg depends_build-append \ port:pkgconfig depends_lib-append \ path:lib/pkgconfig/cairo.pc:cairo \ port:freetype \ path:lib/pkgconfig/gdk-pixbuf-2.0.pc:gdk-pixbuf2 \ path:lib/pkgconfig/glib-2.0.pc:glib2 \ path:lib/pkgconfig/harfbuzz.pc:harfbuzz \ port:libxml2 \ path:lib/pkgconfig/pango.pc:pango \ path:bin/vala:vala license_noconflict \ gobject-introspection \ rust \ vala set min_darwin_for_rust 10 #---------------------------------------------------------------------------------------- # Developer-only override, allowing easy testing of desired behavior: # - librsvg.override.fallback=yes - Force use of fallback release # - librsvg.override.fallback=no - Force use of latest release #---------------------------------------------------------------------------------------- if {[info exists librsvg.override.fallback]} { if {[string is boolean -strict ${librsvg.override.fallback}]} { ui_msg "librsvg.override.fallback specified: ${librsvg.override.fallback}" set librsvg_fallback \ [string is true -strict ${librsvg.override.fallback}] } else { error "librsvg.override.fallback must be specified as a valid boolean value" } } else { if {${os.platform} eq "darwin" && ( ${os.major} < ${min_darwin_for_rust} || ${configure.build_arch} in "ppc ppc64" || ${universal_possible} && [variant_isset universal] && ("ppc" in ${configure.universal_archs} || "ppc64" in ${configure.universal_archs}) )} { set librsvg_fallback yes } else { set librsvg_fallback no } } if {${librsvg_fallback}} { # revert to latest pre-cargo version PortGroup gobject_introspection 1.0 version 2.40.21 revision 0 epoch 1 checksums rmd160 5135ad75e976658936d03655faa37f9ed1c11a3e \ sha256 f7628905f1cada84e87e2b14883ed57d8094dca3281d5bcb24ece4279e9a92ba \ size 1655860 # https://trac.macports.org/ticket/65407 patchfiles-append patch-librsvg-makefile-in-vapi-deps.diff # pre-cargo versions still use libcroco depends_lib-append \ port:libcroco # variant viewer disabled by default in an attempt to avoid loading # gtk3 by those who are using it strictly as a library outside of GTK+/GNOME. # https://trac.macports.org/ticket/43328 # https://trac.macports.org/ticket/47443 # https://trac.macports.org/ticket/47596 variant viewer description "Build the rsvg-view-3 viewer utility." { depends_lib-append path:lib/pkgconfig/gtk+-3.0.pc:gtk3 depends_run-append port:adwaita-icon-theme } if {![variant_isset viewer]} { patchfiles-append patch-disable-viewer-pre-cargo.diff } } else { # rust PG modifies `configure.ldflags` in callback function # gobject_introspection uses `configure.ldflags` in callback function # therefore, rust PG must precede gobject_introspection PG PortGroup rust 1.0 PortGroup gobject_introspection 1.0 version 2.56.3 revision 0 epoch 2 checksums rmd160 c8420c013294bf7abc737334a1c4bb33a54ba5ec \ sha256 5a328048a02d014645cd27f61140f4e0b11280fb2c7f2a21864fe0c59ac1ce88 \ size 5641500 # when CARGO_BUILD_TARGET is set, directory structure changes patchfiles-append \ patch-configure-rust_target_subdir.diff compiler.c_standard 2011 } set branch [join [lrange [split ${version} .] 0 1] .] master_sites gnome:sources/${my_name}/${branch}/ distname ${my_name}-${version} dist_subdir ${my_name} use_xz yes gobject_introspection yes configure.args-append \ --disable-Bsymbolic \ --disable-gtk-doc \ --disable-silent-rules \ --enable-introspection=yes \ --enable-vala=yes configure.ldflags-append \ -lobjc test.run yes test.dir ${worksrcpath}/tests test.target check post-destroot { set docdir ${prefix}/share/doc/${name} xinstall -d ${destroot}${docdir} xinstall -m 644 -W ${worksrcpath} AUTHORS COPYING.LIB \ ${destroot}${docdir} if {${librsvg_fallback}} { xinstall -m 644 -W ${worksrcpath} COPYING \ ${destroot}${docdir} } xinstall -m 755 -W ${filespath} svg2pdf \ ${destroot}${prefix}/bin set badfile ${prefix}/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-svg.a if {[file exists ${destroot}${badfile}]} { file delete ${destroot}${badfile} } } post-activate { system "${prefix}/bin/gdk-pixbuf-query-loaders --update-cache" } post-deactivate { system "${prefix}/bin/gdk-pixbuf-query-loaders --update-cache" } livecheck.type gnome livecheck.name ${my_name}