Revision: 75466 http://trac.macports.org/changeset/75466 Author: singingwolfboy@macports.org Date: 2011-01-25 15:44:17 -0800 (Tue, 25 Jan 2011) Log Message: ----------- New port: gtk3 Added Paths: ----------- trunk/dports/gnome/gtk3/ trunk/dports/gnome/gtk3/Portfile Added: trunk/dports/gnome/gtk3/Portfile =================================================================== --- trunk/dports/gnome/gtk3/Portfile (rev 0) +++ trunk/dports/gnome/gtk3/Portfile 2011-01-25 23:44:17 UTC (rev 75466) @@ -0,0 +1,221 @@ +# -*- 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 archcheck 1.0 +PortGroup muniversal 1.0 +PortGroup xcodeversion 1.0 + +name gtk3 +set real_name gtk+ +conflicts gtk2 +version 2.99.2 +set branch [join [lrange [split ${version} .] 0 1] .] +categories gnome x11 +maintainers singingwolfboy openmaintainer +platforms darwin +description GTK+ widget toolkit + +long_description \ + GTK+ is a highly usable, feature rich toolkit for creating graphical \ + user interfaces which boasts cross platform compatibility and an easy \ + to use API. GTK+ it is written in C, but has bindings to many other \ + popular programming languages such as C++, Python and C# among others. + +homepage http://www.gtk.org/ +distname ${real_name}-${version} +use_bzip2 yes + +master_sites gnome:sources/gtk+/${branch}/ \ + ftp://ftp.gtk.org/pub/gtk/${branch}/ \ + http://ftp.gtk.org/pub/gtk/${branch}/ + +minimum_xcodeversions {9 3.1} +checksums md5 e727b2bc0d17182d41ddd90a83285b0e \ + sha1 a62753f17e115c8664ec0f3d25ac9486c1fca2e2 \ + rmd160 cbe8228d2c288b8a2e87a7d273d3876b4a3512c4 + +depends_build port:pkgconfig + +depends_lib port:atk \ + path:lib/pkgconfig/pango.pc:pango \ + port:gdk-pixbuf2 \ + port:gobject-introspection \ + port:glib2-devel + +depends_run port:shared-mime-info + +archcheck.files \ + lib/libatk-1.0.dylib \ + lib/libintl.dylib \ + lib/libjasper.dylib \ + lib/libpango-1.0.dylib \ + lib/libtiff.dylib + +configure.args --enable-static \ + --disable-glibtest \ + --disable-introspection \ + gio_can_sniff=yes + +configure.ccache no +configure.cppflags-append -DX_LOCALE +configure.cflags-append -fstrict-aliasing + +pre-configure { + if {![variant_isset quartz] && ![variant_isset x11]} { + error "Either +x11 or +quartz is required" + } + + 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." + } +} + +use_parallel_build yes + +test.run yes +test.target check + +post-destroot { + set docdir ${prefix}/share/doc/${name} + xinstall -d ${destroot}${docdir} + xinstall -m 644 -W ${worksrcpath} AUTHORS COPYING HACKING NEWS README \ + ${destroot}${docdir} + + ui_debug "Creating gtk.immodules..." + system "DYLD_LIBRARY_PATH=${destroot}${prefix}/lib \ + ${destroot}${prefix}/bin/gtk-query-immodules-3.0 \ + ${destroot}${prefix}/lib/gtk-3.0/3.0.0/immodules/*.so \ + >${destroot}${prefix}/etc/gtk-3.0/gtk.immodules" + reinplace "s|${destroot}||" ${destroot}${prefix}/etc/gtk-3.0/gtk.immodules +} + +post-activate { + ui_debug "Updating gdk-pixbuf.loaders..." + system "${prefix}/bin/gdk-pixbuf-query-loaders \ + >${prefix}/etc/gtk-3.0/gdk-pixbuf.loaders" +} + +platform darwin 8 { + if {[variant_isset quartz] || [variant_isset no_x11]} { + configure.ldflags-append -framework Cocoa -framework Carbon + } +} + +if {[variant_isset no_x11]} { + default_variants +quartz +} elseif {![variant_isset quartz]} { + default_variants +x11 +} + +if {[variant_isset universal]} { + set cups /usr/bin/cups-config + if {[info exists universal_sysroot]} { + set cups ${universal_sysroot}${cups} + } + configure.env-append CUPS_CONFIG=${cups} + + # cups is not 32/64-bit universal on Tiger. + if {${os.major} == "8"} { + set merger_configure_args(ppc64) --disable-cups + set merger_configure_args(x86_64) --disable-cups + } + + # Find architectures which will not run on build platform. + set cpu64bit_capable [sysctl hw.cpu64bit_capable] + if {${os.arch} eq "i386"} { + set cross_archs ppc64 + if {${os.major} >= 10} { + lappend cross_archs ppc + } + set host_archs "ppc ppc64" + set run_archs i386 + if {${cpu64bit_capable}} { + set run_archs "x86_64 ${run_archs}" + } + } else { + set cross_archs "i386 x86_64" + set host_archs "i386 x86_64" + set run_archs ppc + if {${cpu64bit_capable}} { + set run_archs "ppc64 ${run_archs}" + } + } + + pre-configure { + set run_arch "" + foreach arch ${run_archs} { + if {[lsearch ${universal_archs_to_use} ${arch}] != -1} { + set run_arch ${arch} + break + } + } + + if {${run_arch} eq ""} { + ui_error "" + ui_error "${name} requires at least one architecture runnable on this" + ui_error "machine to be able to build universally. Please add at least" + ui_error "one of the following architectures to `universal_archs` in" + ui_error "\"${prefix}/etc/macports/macports.conf\":" + ui_error "" + ui_error "\t${run_archs}" + ui_error "" + } + + foreach arch ${host_archs} { + lappend merger_configure_env(${arch}) \ + NM='/usr/bin/nm -p' + } + + foreach arch ${cross_archs} { + lappend merger_configure_env(${arch}) \ + GTK_UPDATE_ICON_CACHE=${worksrcpath}-${run_arch}/gtk/gtk-update-icon-cache \ + GDK_PIXBUF_CSOURCE=${worksrcpath}-${run_arch}/gdk-pixbuf/gdk-pixbuf-csource + lappend merger_build_env(${arch}) \ + GDK_PIXBUF_MODULE_FILE=${worksrcpath}-${run_arch}/gdk-pixbuf/gdk-pixbuf.loaders + } + + # Let gtk_host in .pc files be the same on all architectures + set host powerpc + if {${os.arch} eq "i386"} { + set host i686 + } + eval reinplace s/@host@/${host}-apple-darwin${os.version}/ \ + [glob -directory ${worksrcpath} *.pc.in] + } +} + +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 { + configure.args-append --with-gdktarget=quartz +} + +variant x11 conflicts quartz description {Enable rendering in X11} { + 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 \ + --x-include=${prefix}/include --x-lib=${prefix}/lib +} + +livecheck.type regex +livecheck.url ftp://ftp.gnome.org/pub/gnome/sources/${real_name}/${branch}/ +livecheck.regex {LATEST-IS-(\d+(?:\.\d+)*)} Property changes on: trunk/dports/gnome/gtk3/Portfile ___________________________________________________________________ Added: svn:keywords + Id Added: svn:eol-style + native