[75466] trunk/dports/gnome

singingwolfboy at macports.org singingwolfboy at macports.org
Tue Jan 25 15:44:18 PST 2011


Revision: 75466
          http://trac.macports.org/changeset/75466
Author:   singingwolfboy at 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macports-changes/attachments/20110125/80172bbf/attachment-0001.html>


More information about the macports-changes mailing list