# -*- 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 # $Id$ PortSystem 1.0 PortGroup muniversal 1.0 name gtk2 version 2.16.1 revision 2 set branch [join [lrange [split ${version} .] 0 1] .] categories x11 maintainers nox openmaintainer platforms darwin description Gimp ToolKit version 2 long_description \ This is GTK+ version 2.x. GTK+, which stands for Gimp \ ToolKit, is a library for creating GUIs for the X Windows \ System. homepage http://www.gtk.org/ distname gtk+-${version} use_bzip2 yes master_sites gnome:sources/gtk+/${branch}/ \ ftp://ftp.gtk.org/pub/gtk/v${branch}/ \ http://ftp.gtk.org/pub/gtk/v${branch}/ if {[variant_isset no_x11]} { default_variants +quartz } if {![variant_isset quartz]} { default_variants +x11 } pre-fetch { if {![variant_isset quartz] && ![variant_isset x11]} { error "Either +x11 or +quartz is required" } if {[rpm-vercomp ${os.version} 8.0] >= 0 && [file exists ${prefix}/bin/cups-config]} { ui_error "You are running Darwin 8.0, cups-headers should not be installed on your system. Please uninstall or deactivate it." error "Please uninstall or deactivate cups-headers." } if {[rpm-vercomp ${os.version} 9.0] >= 0} { set minimum_xcodeversion 3.1 set current_xcodeversion [exec defaults read /Developer/Applications/Xcode.app/Contents/Info CFBundleShortVersionString] if {[rpm-vercomp ${current_xcodeversion} ${minimum_xcodeversion}] < 0} { ui_error "You have Xcode ${current_xcodeversion}. Please update to at least Xcode ${minimum_xcodeversion}." error "Please update Xcode." } } if {[variant_isset quartz]} { if {![file exists ${prefix}/include/cairo/cairo-quartz.h]} { error "cairo must be built with the +quartz variant enabled." } } elseif {![file exists ${prefix}/include/cairo/cairo-xlib.h]} { error "cairo must be built without the +no_x11 variant." } } checksums md5 74e35ff3e6e02c960fe2117a4b6b102f \ sha1 01cba21f12e6fa3762fe47437eb4dc335a2fb841 \ rmd160 41bdf85d93a38236eea12f4882289efb671e16af patchfiles patch-gtk-builder-convert.diff \ patch-modules-gail.diff \ patch-modules-printbackends.diff depends_build port:pkgconfig depends_lib path:lib/pkgconfig/cairo.pc:cairo \ port:fontconfig \ port:freetype \ path:lib/pkgconfig/glib-2.0.pc:glib2 \ port:jpeg \ port:tiff \ port:libiconv \ port:libpng \ port:jasper \ port:atk \ path:lib/pkgconfig/pango.pc:pango \ port:gettext \ port:zlib depends_run port:shared-mime-info configure.args --enable-static \ --disable-glibtest if { [variant_isset universal] } { configure.env-append CUPS_CONFIG="${configure.universal_sysroot}/usr/bin/cups-config" # cups is not 32/64-bit universal on Tiger. if { ${universal_sysroot}=="/Developer/SDKs/MacOSX10.4u.sdk" } { set merger_configure_args(ppc64) --disable-cups set merger_configure_args(x86_64) --disable-cups } # Find architectures which will not run on build platform. if { ${os.arch}=="i386" } { if { ${os.major} >= 10 } { set cross_archs "ppc ppc64" } else { set cross_archs "ppc64" } set host_archs "ppc ppc64" } else { set cross_archs "i386 x86_64" set host_archs "i386 x86_64" } set run_arch [lindex ${universal_archs} 0] if { [lsearch ${cross_archs} ${run_arch}] >= 0 } { ui_msg "When building a universal binary of ${name}, make sure none of {${cross_archs}} is first in universal_archs in ${prefix}/etc/macports/macports.conf" error "incompatible universal_archs value" } foreach arch ${host_archs} { lappend merger_configure_env(${arch}) \ NM='/usr/bin/nm -p' } foreach arch ${cross_archs} { lappend merger_configure_env(${arch}) \ gio_can_sniff=yes \ GTK_UPDATE_ICON_CACHE=${worksrcpath}-${run_arch}/gtk/gtk-update-icon-cache \ GDK_PIXBUF_CSOURCE=${worksrcpath}-${run_arch}/gdk-pixbuf/gdk-pixbuf-csource } post-configure { # Let gtk_host in .pc files be the same on all architectures foreach arch ${host_archs} { foreach pc [glob -directory ${worksrcpath}-${arch} *.pc.in] { if { ${os.arch}=="i386" } { reinplace "s|gtk_host=@host@|gtk_host=i686-apple-darwin${os.version}|" ${pc} } else { reinplace "s|gtk_host=@host@|gtk_host=powerpc-apple-darwin${os.version}|" ${pc} } } } } } configure.ccache no configure.cppflags-append -DX_LOCALE configure.cflags-append -fstrict-aliasing use_parallel_build yes test.run yes test.target check post-destroot { ui_debug "Creating gtk.immodules..." system "DYLD_LIBRARY_PATH=${destroot}${prefix}/lib ${destroot}${prefix}/bin/gtk-query-immodules-2.0 \ ${destroot}${prefix}/lib/gtk-2.0/2.10.0/immodules/*.so >${destroot}${prefix}/etc/gtk-2.0/gtk.immodules" reinplace "s|${destroot}||" ${destroot}${prefix}/etc/gtk-2.0/gtk.immodules } post-activate { ui_debug "Updating gdk-pixbuf.loaders..." system "${prefix}/bin/gdk-pixbuf-query-loaders >${prefix}/etc/gtk-2.0/gdk-pixbuf.loaders" } platform darwin 7 { configure.args-append --disable-cups } platform darwin 8 { if {[variant_isset quartz] || [variant_isset no_x11]} { configure.ldflags-append -framework Cocoa -framework Carbon } } variant with-doc description {Install with gtk-doc} { depends_lib-append port:gtk-doc configure.args-append \ --with-doc \ --doc } variant no_x11 { pre-fetch { if {[file exists ${prefix}/lib/libpangox-1.0.dylib]} { ui_error "Please uninstall or deactivate the pango port and reinstall it by running `port install pango +no_x11`." error "pango must be installed with the no_x11 variant enabled." } } } variant quartz requires no_x11 conflicts x11 description {Enable Quartz rendering} { patchfiles-append patch-gnome-bug-531599.diff configure.args-append --with-gdktarget=quartz } variant x11 conflicts quartz description {Enable rendering in X11 (default)} { depends_lib-append \ port:xorg-libXi \ port:xorg-libXrandr \ port:xorg-libXcursor \ port:xorg-libXinerama \ port:xorg-libXdamage \ port:xorg-libXcomposite \ port:xorg-libXfixes configure.args-append --with-xinput --enable-xinerama # AC_X_PATH blindly asks xmkmf where X11 is, and it always uses /usr/X11R6. # This block helps us link correctly and setup our pc files correctly when we # are +system_x11 and x11prefix is somewhere non-standard and should cause # AC_X_PATH to let us setup our CPPFLAGS and LDFLAGS without interference configure.args-append --x-include=${prefix}/include --x-lib=${prefix}/lib if { ![file exists ${prefix}/lib/pkgconfig/x11.pc] } { pre-configure { configure.cppflags-append -I${x11prefix}/include configure.ldflags-append -L${x11prefix}/lib } # And this will similarly get ports that use pkgconfig to find our pkgconfig-less libX11 post-destroot { if {![file exists ${x11prefix}/lib/pkgconfig/x11.pc]} { foreach pc [glob ${destroot}${prefix}/lib/pkgconfig/*.pc] { reinplace "s:-lX11:-L${prefix}/lib -L${x11prefix}/lib -lX11:g" ${pc} } } } } } livecheck.check regex livecheck.url ftp://ftp.gnome.org/pub/gnome/sources/gtk+/${branch}/ livecheck.regex {LATEST-IS-(\d+(?:\.\d+)*)}