Package: cairo Version: 1.12.14 Revision: 2 Description: Vector graphics library License: BSD Maintainer: Benjamin Reed Depends: << %N-shlibs (= %v-%r) << BuildDepends: << fink (>= 0.32-1), fink-package-precedence (>= 0.7-1), flag-sort (>= 0.4-1), fontconfig2-dev (>= 2.10.0-1), freetype219 (>= 2.4.11-1), gtk-doc (>= 1.17-2), lzo2, pixman (>= 0.30.0-1), pkgconfig (>= 0.23-1), libpng16, x11-dev << BuildDependsOnly: true InfoTest: << # TestDepends: << # xvfb-run # << # TestScript: << # #!/bin/sh -ev # export LANG=C # # # some xlib things explode with double-free errors # # under Xvfb # #xvfb-run make test || exit 2 # # # clip tests fail even with real x11 display large # # suite that fails anyway (clip-operator tests don't # # match bit-for-bit, but do look visually correct) # # even with real x11 display # make test || exit 2 # # # lots of things compiled during test, need to # # re-check for needed TestDepends # fink-package-precedence --prohibit-bdep %n . # << << Source: http://cairographics.org/releases/%n-%v.tar.xz Source-Checksum: SHA256(96d0d1e3f9b74d2ca3469ff187c5e5f25649b1ad35cf06f4f3a83847dff4ac13) PatchFile: %n.patch PatchFile-MD5: 229e4fd6b39d640845bdbb3017e4fbcf PatchScript: << %{default_script} perl -pi -e 's,(POPPLER_VERSION_REQUIRED=).*,${1}99999.FORCE.NONDETECT,' configure perl -pi -e 's,(LIBRSVG_VERSION_REQUIRED=).*,${1}99999.FORCE.NONDETECT,' configure perl -pi -e 's,(SPECTRE_VERSION_REQUIRED=).*,${1}99999.FORCE.NONDETECT,' configure perl -pi -e 's,(gtk\+-2\.0),${1} >= 99999.FORCE.NONDETECT,' configure # autoconf2.6ish patch for modern XQuartz paths perl -pi -e "s|/usr/lpp/Xamples|/opt/X11|" configure # avoid false failures from Xcode 7.3 linker warnings # see https://bugs.freedesktop.org/show_bug.cgi?id=59298 perl -pi -e "s,cat conftest.err,cat conftest.err \| grep -v warning,g" configure if [ "%m" == "arm64" ]; then cp %p/lib/fink/update/config.* %b/; fi << SetCC: flag-sort -r gcc SetCFLAGS: -Os UseMaxBuildJobs: true ConfigureParams: << --build=${ARCH}-apple-darwin`uname -r|sed 's/\\..*//'` \ --mandir=%p/share/man \ --disable-static \ --enable-dependency-tracking \ \ --disable-xcb \ --enable-quartz \ --enable-quartz-font \ --disable-quartz-image \ --enable-png \ --enable-ps \ --enable-pdf \ --enable-xml \ --disable-gobject \ --disable-interpreter << CompileScript: << #!/bin/sh -ev if [ "%m" == "arm64" ]; then ARCH="aarch64" else ARCH="%m" fi export PKG_CONFIG_PATH="%p/lib/glib-2.0/pkgconfig-strict:$PKG_CONFIG_PATH" ac_cv_prog_GS= ./configure %c make V=1 fink-package-precedence --prohibit-bdep=cairo,cairo-gobject,cairo-script-interpreter . << InstallScript: << #!/bin/sh -ex make -j1 install DESTDIR="%d" perl -pi -e 's,libpng,,g' %i/lib/pkgconfig/*.pc perl -pi -e 's,pixman-1 >= 0.22.0,,g' %i/lib/pkgconfig/*.pc # Many other packages expect cairo.pc itself to publish # everything needed for all cairo-*.h, so cairo-*.pc:Requires: # is not sufficient. Grr. #perl -ni -e 'print unless /Requires.private:/' %i/lib/pkgconfig/*.pc perl -ni -e 'print unless /Libs.private:/' %i/lib/pkgconfig/*.pc # Other packages build differently depending on which cairo # components are found. Let's be deterministic about which # ones are supplied (fix cairomm1 and pycairo-pyXX if you # change this!) pushd %i/lib/pkgconfig want="cairo-fc.pc cairo-ft.pc cairo-pdf.pc cairo-png.pc cairo-ps.pc cairo-quartz-font.pc cairo-quartz.pc cairo-script.pc cairo-svg.pc cairo-xlib-xrender.pc cairo-xlib.pc cairo-xml.pc cairo.pc " have=`/bin/ls -1 | tr '\n' ' '` popd if [ "$want" != "$have" ]; then echo "unexpected build results (mismatched list of .pc)" echo " want: '$want'" echo " have: '$have'" exit 1 fi # cairo-glib is packaged separately, but there's a monolithic # header that publishes what is available in the whole # libcairo* suite. Eew. perl -pi -e 's/.*(CAIRO_HAS_GOBJECT_FUNCTIONS).*/#define \1 1/' %i/include/cairo/cairo-features.h << DocFiles: AUTHORS BIBLIOGRAPHY BUGS COPYING* ChangeLog* HACKING NEWS README TODO Shlibs: << !%p/lib/cairo/libcairo-trace.0.dylib << SplitOff: << Package: %N-shlibs Depends: << fontconfig2-shlibs (>= 2.10.0-1), freetype219-shlibs (>= 2.4.11-1), libpng16-shlibs, pixman-shlibs (>= 0.30.0-1), x11-shlibs << DocFiles: AUTHORS BIBLIOGRAPHY BUGS COPYING* ChangeLog* HACKING NEWS README TODO Files: %p/lib/libcairo.2.dylib Shlibs: %p/lib/libcairo.2.dylib 11203.0.0 %n (>= 1.12.8-1) << Homepage: http://www.cairographics.org/ DescPackaging: << dmacks: make sure we don't detect poppler or librsvg2 (avoid circular dependencies)...though it's only for testing, so could TestDepends? dmacks: gs and libspectre don't seem to be used even during tests even if found, but make sure they aren't found so that everyone gets the same results. dmacks: libpng is not part of public API so don't need to publish it via .pc (avoids inherited BDep and deadlock with other libpng* pkgs)--we're shared-only, no unresolved symbols. See: https://bugs.freedesktop.org/show_bug.cgi?id=58803 Same for pixman Clean up .pc: don't need entries that are not (re)exposed by public interfaces to avoid publishing useless and hidden InheritedBuildDepends. dmacks: disable gtk stuff to avoid circular dependency Ignoring warning about unhandled pixman mode. See: https://bugs.freedesktop.org/show_bug.cgi?id=58726 Ignoring a bunch of warnings about ignoring stuff. See: https://bugs.freedesktop.org/show_bug.cgi?id=58727 Fix upstream bug in X11/extensions/*.h detection. Hack build process to have core libcairo, libcairo-gobject, and libcairo-script-interpreter in separate package suites, with the latter ones built against the (installed) core one But cannot disable libcairo-script-interpreter in the main package because it is used by various self-test processes. See: https://bugs.freedesktop.org/show_bug.cgi?id=58934 However, we disable self-test for other reasons, so may as well for now. But NB: not packaging libcairo-script-interpreter because not stable interface and not intended as a public library. See: https://bugs.freedesktop.org/show_bug.cgi?id=65626 Have to hack to disable building of tests. See: https://bugs.freedesktop.org/show_bug.cgi?id=55772 XQuartz (i.e., x11 as of OS X 10.6) cairo components: *.pc 10.7 10.8 10.9 fink cairo-fc Y Y Y Y cairo-ft Y Y Y Y cairo-gobject Y[1] cairo-pdf Y Y Y Y cairo-png Y Y Y Y cairo-ps Y Y Y Y cairo-quartz-font Y cairo-quartz Y cairo-script Y Y Y cairo-svg Y Y Y Y cairo-tee Y Y Y cairo-xcb-shm Y Y Y [2] cairo-xcb Y Y Y [2] cairo-xlib-xcb Y Y Y [2] cairo-xlib-xrender Y Y Y Y cairo-xlib Y Y Y Y cairo-xml Y Y Y Y cairo Y Y Y Y We try to have at least as much that as possible... 1. in separate cairo-gobject package-set 2. some fink-supported platforms (which?) do not have new enough (which needed?) xcb extension in x11, so omit on all platforms for consistency. Also, might cause breakage. See: https://trac.macports.org/ticket/40811 <<