From dluke at macports.org Sat Mar 1 00:46:42 2008 From: dluke at macports.org (dluke at macports.org) Date: Sat, 1 Mar 2008 00:46:42 -0800 (PST) Subject: [34643] trunk/dports/PortIndex Message-ID: <20080301084642.33448144B0BE@beta.macosforge.org> Revision: 34643 http://trac.macosforge.org/projects/macports/changeset/34643 Author: dluke at macports.org Date: 2008-03-01 00:46:39 -0800 (Sat, 01 Mar 2008) Log Message: ----------- Total number of ports parsed: 4535 Ports successfully parsed: 4535 Ports failed: 0 Modified Paths: -------------- trunk/dports/PortIndex Modified: trunk/dports/PortIndex =================================================================== --- trunk/dports/PortIndex 2008-03-01 07:19:17 UTC (rev 34642) +++ trunk/dports/PortIndex 2008-03-01 08:46:39 UTC (rev 34643) @@ -3540,8 +3540,12 @@ variants {universal puredarwin darwin_8 darwin_9 freebsd linux} portdir lang/python24-doc description {HTML documentation for Python 2.4} homepage http://www.python.org/ epoch 0 platforms {darwin freebsd linux} name python24-doc depends_lib {port:gettext port:python24 port:latex2html} maintainers nomaintainer long_description {HTML documentation for Python 2.4. Use by running 'pydoc2.4 TOPIC', e.g. 'pydoc2.4 NUMBERS'.} version 2.4.4 categories lang revision 0 python25 397 variants {universal darwin_7 darwin_8 darwin_9 puredarwin} portdir lang/python25 description {An interpreted, object-oriented programming language} homepage http://www.python.org/ epoch 0 platforms darwin name python25 depends_lib port:gettext maintainers mww long_description {Python is an interpreted, interactive, object-oriented programming language.} version 2.5.2 categories lang revision 0 +python25-doc 443 +variants {universal darwin_7 darwin_8 darwin_9 puredarwin} portdir lang/python25-doc description {HTML documentation for Python 2.5} homepage http://www.python.org/ epoch 0 platforms darwin name python25-doc depends_lib {port:gettext port:python25 port:latex2html} maintainers nomaintainer long_description {HTML documentation for Python 2.5. Use by running 'pydoc2.5 TOPIC', e.g. 'pydoc2.5 NUMBERS'.} version 2.5.2 categories lang revision 0 python30 390 variants universal portdir lang/python30 description {An interpreted, object-oriented programming language} homepage http://www.python.org epoch 0 platforms darwin name python30 depends_lib port:gettext maintainers mww long_description {Python is an interpreted, interactive, object-oriented programming language. This version is an ALPHA release!} version 3.0a2 categories lang revision 0 +python30-doc 418 +variants universal portdir lang/python30-doc description {HTML documentation for Python 3.0} homepage http://www.python.org epoch 0 platforms darwin name python30-doc depends_lib {port:gettext port:python30 port:latex2html port:py25-hashlib} maintainers nomaintainer long_description {HTML documentation for Python 3.0. Use by running 'pydoc3.0 TOPIC', e.g. 'pydoc3.0 pydoc'.} version 3.0a2 categories lang revision 0 q 784 variants {universal darwin_6} portdir lang/q description {extensible scripting language} homepage http://q-lang.sourceforge.net/ epoch 0 platforms darwin name q depends_lib {port:gmp port:readline port:curl} maintainers ryandesign long_description {Q is a powerful and extensible scripting language with advanced symbolic processing and functional programming capabilities. Q is based on term rewriting. Consequently, Q scripts are just collections of equations which are used to evaluate expressions in a symbolic fashion. Despite its conceptual simplicity, Q is a full-featured functional programming language with a modern syntax, curried function applications, dynamic object-oriented typing, exception handling, and POSIX multithreading.} version 7.10 categories lang revision 0 ragel 540 @@ -4690,8 +4694,8 @@ variants universal portdir net/yaz2 description {toolkit for Z39.50/SRW/SRU clients and servers} homepage http://www.indexdata.dk/yaz/ epoch 0 platforms darwin name yaz2 depends_lib {port:libiconv port:libxml2 port:ncurses port:openssl port:readline port:zlib} maintainers {jmr openmaintainer} long_description {YAZ is a compact toolkit that provides access to the Z39.50 and SRW/SRU protocols, as well as a set of higher-level tools for implementing the server and client roles, respectively. This is the older version 2 of yaz. Use the 'yaz' port unless you specifically need yaz2 for compatibility.} version 2.1.56 categories {net databases devel} revision 0 ytalk 704 variants universal description {multi-user talk client} portdir net/ytalk homepage http://www.impul.se/ytalk/ epoch 0 platforms darwin name ytalk long_description {YTalk is a compatible replacement for the BSD talk(1) program. The main advantage of YTalk is the ability to communicate with any arbitrary number of users at once. It supports both talk protocols (talk and ntalk) and can communicate with several different talk daemons at the same time. You may also spawn a command shell in your talk window and let other users watch. YTalk supports a basic set of VT100 control codes, as well as job control (BSD support added in 3.1.3).} maintainers nomaintainer categories net version 3.3.0 revision 0 -zabbix 374 -variants {universal server pgsql81 pgsql82 pgsql83 agent_only} portdir net/zabbix description {An open source application and network monitor} homepage http://www.zabbix.com epoch 0 platforms darwin name zabbix depends_lib {port:mysql5 port:fping} maintainers markd long_description {{An open source application and network monitor}} version 1.4.4 categories net revision 0 +zabbix 678 +variants {universal server pgsql81 pgsql82 pgsql83 sqlite3 agent_only} variant_desc {server {Dummy variant} pgsql81 {Use PostgreSQL 8.1.x for server database} pgsql82 {Use PostgreSQL 8.2.x for server database} pgsql83 {Use PostgreSQL 8.3.x for server database} sqlite3 {Use SQLite3 for server database} agent_only {Do not install the Zabbix server}} portdir net/zabbix description {An open source application and network monitor} homepage http://www.zabbix.com epoch 0 platforms darwin name zabbix depends_lib {port:mysql5 port:fping} maintainers {markd openmaintainer} long_description {{An open source application and network monitor}} version 1.4.4 categories net revision 0 zsync 485 variants universal description {file transfer program} portdir net/zsync homepage http://zsync.moria.org.uk/ epoch 0 platforms darwin name zsync long_description {zsync is a file transfer program. It allows you to download a file from a remote web server, where you have a copy of an older version of the file on your computer already. zsync downloads only the new parts of the file. It uses the same algorithm as rsync.} maintainers nomaintainer categories net version 0.5 revision 0 PlopFolio 437 @@ -6152,8 +6156,8 @@ variants universal portdir python/py-iplib description {converter amongst notations in the CIDR notation} homepage http://erlug.linux.it/~da/soft/iplib/ epoch 0 platforms darwin depends_lib port:python24 name py-iplib maintainers nomaintainer long_description {iplib is a Python module useful to convert amongst many different notations and to manage couples of address/netmask in the CIDR notation.} categories {python net} version 0.7 revision 1 py-ipy 563 variants universal portdir python/py-ipy description {python module for handling IPv4 and IPv6 addresses and networks} homepage http://c0re.23.nu/c0de/IPy/ epoch 0 platforms {darwin freebsd} depends_lib port:python24 name py-ipy maintainers nomaintainer long_description {IPy is a Python module for handling IPv4 and IPv6 addresses and networks in a fashion similar to perl's Net::IP and friends. The IP class allows a comfortable parsing and handling for most notations in use for IPv4 and IPv6 addresses and networks.} categories python version 0.42 revision 1 -py-ipython 751 -variants {universal scientific} variant_desc {scientific {Use ScientificPython to provide physical quantities support}} portdir python/py-ipython description {An enhanced Interactive Python shell} homepage http://ipython.scipy.org/ epoch 0 platforms darwin depends_lib {port:python24 port:py-readline port:py-scientific} name py-ipython maintainers {openmaintainer jochen} long_description {Provide an interactive shell superior to Python's default. Serve as an embeddable, ready to use interpreter for your own programs. Offer a flexible framework which can be used as the base environment for other systems with Python as the underlying language. Allow interactive testing of threaded graphical toolkits.} categories python version 0.8.2 revision 0 +py-ipython 739 +variants scientific variant_desc {scientific {Use ScientificPython to provide physical quantities support}} portdir python/py-ipython description {An enhanced Interactive Python shell} homepage http://ipython.scipy.org/ epoch 0 platforms darwin depends_lib {port:python24 port:py-readline port:py-scientific} name py-ipython maintainers {openmaintainer jochen} long_description {Provide an interactive shell superior to Python's default. Serve as an embeddable, ready to use interpreter for your own programs. Offer a flexible framework which can be used as the base environment for other systems with Python as the underlying language. Allow interactive testing of threaded graphical toolkits.} categories python version 0.8.2 revision 1 py-irclib 539 variants universal portdir python/py-irclib description {python module that encapsulates the IRC protocol} homepage http://python-irclib.sourceforge.net/ epoch 0 platforms {darwin freebsd} depends_lib port:python24 name py-irclib maintainers nomaintainer long_description {This library is intended to encapsulate the IRC protocol at a quite low level. It provides an event-driven IRC client framework. It has a fairly thorough support for the basic IRC protocol, CTCP and DCC connections.} categories {python irc} version 0.4.6 revision 0 py-jabber 550 @@ -6408,8 +6412,8 @@ variants universal portdir python/py-rt description {Python Routeing Toolkit} homepage http://ipmon.sprintlabs.com/pyrt/ epoch 0 platforms darwin depends_lib port:python24 name py-rt maintainers nomaintainer long_description {The Python Routeing Toolkit enables routeing information in a network to be collected.} categories {python net} version 2.5 revision 0 py-scanf 585 variants universal portdir python/py-scanf description {formatted input from standard input similar to scanf from C} homepage http://hkn.eecs.berkeley.edu/~dyoo/python/scanf/ epoch 0 platforms {freebsd darwin} depends_lib port:python24 name py-scanf maintainers nomaintainer long_description {scanf provides formatted input from standard input, strings, or files, using a format-string syntax that is similar to scanf() from C. The syntax should be familiar to C programmers, and offers very simple pattern matching against strings and files.} categories python version 1.0 revision 1 -py-scientific 425 -variants {universal mpi} description {Scientific Python} portdir python/py-scientific homepage http://dirac.cnrs-orleans.fr/plone/software/scientificpython/ epoch 0 name py-scientific depends_lib {port:netcdf port:py-numeric} long_description {ScientificPython is a collection of Python modules that are useful for scientific computing.} maintainers {openmaintainer jochen} version 2.6 categories {python science} revision 0 +py-scientific 504 +variants {universal macosx puredarwin mpi} variant_desc {mpi {Enable lammpi support}} portdir python/py-scientific description {Scientific Python} homepage http://dirac.cnrs-orleans.fr/plone/software/scientificpython epoch 0 platforms darwin depends_lib {port:netcdf port:py-numeric} name py-scientific maintainers {openmaintainer jochen} long_description {ScientificPython is a collection of Python modules that are useful for scientific computing.} categories {python science} version 2.6.1 revision 0 py-scipy 558 variants {universal g95 gcc42 no_gnuplot} variant_desc {g95 {Use g95 as fortran compiler} gcc42 {Use gfortran-mp-4.2 as fortran compiler} no_gnuplot {Don't depend on GNUPlot}} portdir python/py-scipy description {An opensource library of scientific tools for Python} homepage http://www.scipy.org/ epoch 0 platforms darwin depends_lib {port:python24 lib:gnuplot:gnuplot port:py-numpy port:g95} name py-scipy maintainers {ram openmaintainer} long_description {{An opensource library of scientific tools for Python}} categories python version 0.6.0 revision 5 py-scipy03 455 @@ -6683,7 +6687,7 @@ py25-iniparse 631 variants universal portdir python/py25-iniparse description {Python Module for Accessing and Modifying Configuration Data in INI files} homepage http://code.google.com/p/iniparse/ epoch 0 platforms darwin depends_lib port:python25 name py25-iniparse maintainers {afb at macports.org openmaintainer} long_description {iniparse is an INI parser for Python which is API compatible with the standard library's ConfigParser, preserves structure of INI files (order of sections & options, indentation, comments, and blank lines are preserved when data is updated), and is more convenient to use.} categories python version 0.2.1 revision 0 py25-ipython 779 -variants scientific variant_desc {scientific {Use ScientificPython to provide physical quantities support}} portdir python/py25-ipython description {An enhanced Interactive Python shell} homepage http://ipython.scipy.org/ depends_run {port:py25-readline port:py25-hashlib} epoch 0 platforms darwin depends_lib {port:python25 port:py25-scientific} name py25-ipython maintainers {openmaintainer jochen} long_description {Provide an interactive shell superior to Python's default. Serve as an embeddable, ready to use interpreter for your own programs. Offer a flexible framework which can be used as the base environment for other systems with Python as the underlying language. Allow interactive testing of threaded graphical toolkits.} version 0.8.2 categories python revision 0 +variants scientific variant_desc {scientific {Use ScientificPython to provide physical quantities support}} portdir python/py25-ipython description {An enhanced Interactive Python shell} homepage http://ipython.scipy.org/ depends_run {port:py25-readline port:py25-hashlib} epoch 0 platforms darwin depends_lib {port:python25 port:py25-scientific} name py25-ipython maintainers {openmaintainer jochen} long_description {Provide an interactive shell superior to Python's default. Serve as an embeddable, ready to use interpreter for your own programs. Offer a flexible framework which can be used as the base environment for other systems with Python as the underlying language. Allow interactive testing of threaded graphical toolkits.} version 0.8.2 categories python revision 1 py25-kid 472 variants universal depends_build port:py25-setuptools portdir python/py25-kid description {A simple and pythonic XML template language} homepage http://www.kid-templating.org/ epoch 0 platforms darwin depends_lib {port:python25 port:py25-celementtree} name py25-kid maintainers {afb at macports.org openmaintainer} long_description {Kid is a simple, Python-based template language for generating and transforming XML vocabularies.} categories python version 0.9.5 revision 0 py25-libxml2 363 @@ -6806,6 +6810,8 @@ variants universal portdir python/py25-tz description {World Timezone Definitions for Python} homepage http://pytz.sourceforge.net/ epoch 0 platforms darwin depends_lib port:python25 name py25-tz maintainers nox long_description {pytz brings the Olson tz database into Python. This library allows accurate and cross platform timezone calculations using Python 2.3 or higher.} categories {python devel} version 2007k revision 0 py25-urlgrabber 534 variants universal portdir python/py25-urlgrabber description {High-level cross-protocol url-grabber} homepage http://linux.duke.edu/projects/urlgrabber/ epoch 0 platforms darwin depends_lib port:python25 name py25-urlgrabber maintainers {afb at macports.org openmaintainer} long_description {python-urlgrabber is a high-level cross-protocol url-grabber for python supporting HTTP, FTP and file locations. Features include keepalive, byte ranges, throttling, authentication, proxies and more.} categories python version 3.0.0 revision 0 +py25-utidylib 406 +variants universal portdir python/py25-utidylib description {Python interface to html tidy} homepage http://utidylib.berlios.de/ epoch 0 platforms darwin depends_lib {port:python25 port:tidy port:py25-epydoc} name py25-utidylib maintainers {amln.net:dima openmaintainer} long_description {Python interface to html tidy, the html and xml cleanup tool from the w3c.} categories python version 0.2 revision 0 py25-vobject 570 variants universal portdir python/py25-vobject description {Python package for parsing and generating vCard and vCalendar files.} homepage http://vobject.skyhouseconsulting.com/ epoch 0 platforms darwin depends_lib {port:py25-dateutil port:py25-setuptools} name py25-vobject maintainers nomaintainer long_description {vobject is intended to be a full featured Python package for parsing and generating vCard and vCalendar files. It is being developed in concert with the Open Source Application Foundation's Chandler project.} categories python version 0.4.1 revision 0 py25-wxpython 669 @@ -7233,7 +7239,7 @@ minc 853 variants {universal darwin_8} description {This package contains tools to manipulate MINC files.} portdir science/minc homepage http://www.bic.mni.mcgill.ca/software/ epoch 0 depends_lib port:netcdf name minc long_description {The Minc file format is a highly flexible medical image file format built on top of the NetCDF generalized data format. The format is simple, self-describing, extensible, portable and N-dimensional, with programming interfaces for both low-level data access and high-level volume manipulation. On top of the libraries is a suite of generic image-file manipulation tools. The format, libraries and tools are designed for use in a medical-imaging research environment: they are simple and powerful and make no attempt to provide a pretty interface to users.} maintainers mhough at mac.com categories science version 1.4 revision 0 molden 748 -variants universal depends_build {port:gcc42 port:gmake} portdir science/molden description {Molecular graphics visualisation tool} homepage http://www.cmbi.ru.nl/molden/molden.html epoch 0 name molden depends_lib lib:libX11.6:XFree86 maintainers {openmaintainer jochen} long_description {Molden is a package for displaying Molecular Density from the Ab Initio packages GAMESS-UK , GAMESS-US and GAUSSIAN and the Semi-Empirical packages Mopac/Ampac, it also supports a number of other programs via the Molden Format. In order to keep up support for Molden, proof that it is being used outside the CMBI is required. Please register your copy of molden at: http://www.cmbi.ru.nl/molden/form.html} version 4.6 categories {science graphics} revision 5 +variants universal depends_build {port:gcc42 port:gmake} portdir science/molden description {Molecular graphics visualisation tool} homepage http://www.cmbi.ru.nl/molden/molden.html epoch 0 name molden depends_lib lib:libX11.6:XFree86 maintainers {openmaintainer jochen} long_description {Molden is a package for displaying Molecular Density from the Ab Initio packages GAMESS-UK , GAMESS-US and GAUSSIAN and the Semi-Empirical packages Mopac/Ampac, it also supports a number of other programs via the Molden Format. In order to keep up support for Molden, proof that it is being used outside the CMBI is required. Please register your copy of molden at: http://www.cmbi.ru.nl/molden/form.html} version 4.6 categories {science graphics} revision 6 mpich 661 variants universal description {Message Passing Interface (MPI) Library} portdir science/mpich homepage http://www-unix.mcs.anl.gov/mpi/mpich/ epoch 0 platforms darwin name mpich long_description {MPICH is a portable implementation of the MPI (Message Passing Interface) standard. The goal of MPI, simply stated, is to develop a widely used standard for writing message-passing programs. As such the interface should establish a practical, portable, efficient, and flexible standard for message passing. Included are a full set of documents and parallel programming examples.} maintainers nomaintainer categories {net science parallel} version 1.2.7 revision 0 mpich2 679 @@ -7294,8 +7300,8 @@ variants universal portdir science/veriwell description {VeriWell Verilog Simulator} homepage http://sourceforge.net/projects/veriwell epoch 0 platforms darwin name veriwell depends_lib port:help2man maintainers nomaintainer long_description {VeriWell is a full Verilog simulator. It supports nearly all of the IEEE1364-1995 standard, as well as PLI 1.0. Yes, VeriWell *is* the same simulator that was sold by Wellspring Solutions in the mid-1990 and was included with the Thomas and Moorby book} version 2.8.5 categories science revision 0 xastir 399 variants universal description {Amateur Radio APRS tracking software} portdir science/xastir homepage http://www.xastir.org/ epoch 0 platforms darwin depends_lib {lib:libX11.6:XFree86 port:openmotif port:libgeotiff port:freetype port:ImageMagick port:gdal port:pcre port:db44 port:tiff port:proj port:shapelib} name xastir maintainers shadow at dementia.org categories science version 1.8.4 revision 1 -xephem 715 -variants universal portdir science/xephem description {interactive astronomical ephemeris program} homepage http://www.clearskyinstitute.com/xephem/ epoch 0 platforms darwin name xephem depends_lib lib:libXm:lesstif maintainers nomaintainer long_description {Xephem is an interactive astronomical ephemeris program for X Windows systems. It computes heliocentric, geocentric and topocentric information for fixed celestial objects and objects in heliocentric and geocentric {orbits;} has built-in support for all planet {positions;} the moons of Jupiter, Saturn and {Earth;} Mars' and Jupiter's central meridian {longitude;} Saturn's {rings;} and Jupiter's Great Red Spot} version 3.7 categories science revision 0 +xephem 717 +variants universal portdir science/xephem description {interactive astronomical ephemeris program} homepage http://www.clearskyinstitute.com/xephem/ epoch 0 platforms darwin name xephem depends_lib lib:libXm:lesstif maintainers nomaintainer long_description {Xephem is an interactive astronomical ephemeris program for X Windows systems. It computes heliocentric, geocentric and topocentric information for fixed celestial objects and objects in heliocentric and geocentric {orbits;} has built-in support for all planet {positions;} the moons of Jupiter, Saturn and {Earth;} Mars' and Jupiter's central meridian {longitude;} Saturn's {rings;} and Jupiter's Great Red Spot} version 3.7.2 categories science revision 0 xloops 672 variants {universal darwin_6 darwin_7 test} portdir science/xloops description {A Program for Calculating Feynman Diagrams} homepage http://wwwthep.physik.uni-mainz.de/~xloops/ epoch 0 platforms darwin name xloops depends_lib {port:GiNaC port:nestedsums} maintainers nomaintainer long_description {The aim of xloops is to calculate one-particle irreducible Feynman diagrams with one or two closed loops for arbitrary processes in the Standard Model { } of particles and related theories. Results can be returned both algebraically and numerically. All necessary tensor integrals are treated for arbitrary masses and momenta.} version current categories science revision 9 aescrypt 377 -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.macosforge.org/pipermail/macports-changes/attachments/20080301/49329813/attachment-0001.html From ryandesign at macports.org Sat Mar 1 02:06:31 2008 From: ryandesign at macports.org (ryandesign at macports.org) Date: Sat, 1 Mar 2008 02:06:31 -0800 (PST) Subject: [34644] trunk/dports/emulators Message-ID: <20080301100631.68D89144B262@beta.macosforge.org> Revision: 34644 http://trac.macosforge.org/projects/macports/changeset/34644 Author: ryandesign at macports.org Date: 2008-03-01 02:06:29 -0800 (Sat, 01 Mar 2008) Log Message: ----------- lisaem: new port, though it doesn't actually work for me right now... Maybe the next version will be better. Added Paths: ----------- trunk/dports/emulators/lisaem/ trunk/dports/emulators/lisaem/Portfile Added: trunk/dports/emulators/lisaem/Portfile =================================================================== --- trunk/dports/emulators/lisaem/Portfile (rev 0) +++ trunk/dports/emulators/lisaem/Portfile 2008-03-01 10:06:29 UTC (rev 34644) @@ -0,0 +1,45 @@ +# $Id$ + +PortSystem 1.0 + +name lisaem +version 1.2.6 +maintainers ryandesign +platforms darwin +categories emulators +homepage http://lisa.sunder.net/ +master_sites ${homepage}downloads/ +use_bzip2 yes + +description \ + Apple Lisa emulator + +long_description \ + ${description} + +checksums \ + md5 b236d7fa06c7589bb0de5d13ed680c9a \ + sha1 c3552eb2fc89ff6e47994767aa4e524de7000dc7 \ + rmd160 bc541ef181b417ee369ed960f29637f87cc1308a + +depends_lib \ + port:wxWidgets + +use_configure no +universal_variant no + +build.cmd ./build.sh +build.target build + +destroot.cmd ${build.cmd} +destroot.target install +destroot.destdir +destroot.env PREFIX=${destroot}/Applications/MacPorts + +pre-destroot { + xinstall -d ${destroot}/Applications/MacPorts +} + +livecheck.check regex +livecheck.url ${homepage}downloads.html +livecheck.regex ${name}-(\[0-9.\]+)\\.tar Property changes on: trunk/dports/emulators/lisaem/Portfile ___________________________________________________________________ Name: svn:keywords + Id Name: svn:eol-style + native -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.macosforge.org/pipermail/macports-changes/attachments/20080301/06351777/attachment.html From takeshi at macports.org Sat Mar 1 02:56:26 2008 From: takeshi at macports.org (takeshi at macports.org) Date: Sat, 1 Mar 2008 02:56:26 -0800 (PST) Subject: [34645] trunk/dports/math/fftw-3/Portfile Message-ID: <20080301105626.94255144B380@beta.macosforge.org> Revision: 34645 http://trac.macosforge.org/projects/macports/changeset/34645 Author: takeshi at macports.org Date: 2008-03-01 02:56:25 -0800 (Sat, 01 Mar 2008) Log Message: ----------- test outside build and livecheck contributed by ram at macports.org Modified Paths: -------------- trunk/dports/math/fftw-3/Portfile Modified: trunk/dports/math/fftw-3/Portfile =================================================================== --- trunk/dports/math/fftw-3/Portfile 2008-03-01 10:06:29 UTC (rev 34644) +++ trunk/dports/math/fftw-3/Portfile 2008-03-01 10:56:25 UTC (rev 34645) @@ -4,7 +4,7 @@ name fftw-3 version 3.1.2 -revision 2 +revision 3 categories math platforms darwin maintainers takeshi at macports.org @@ -50,9 +50,8 @@ configure.cflags-append -fno-common -post-build { - system "cd ${worksrcpath} && make check" -} +test.run yes +test.target check variant fortran description {uses gfortran} conflicts g95 { depends_lib-append port:gcc42 @@ -67,3 +66,7 @@ configure.args-delete --disable-fortran configure.args-append --enable-fortran } + +livecheck.check regex +livecheck.url ${homepage} +livecheck.regex {FFTW ([0-9]+\.[0-9]+\.[0-9]+) is the latest} -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.macosforge.org/pipermail/macports-changes/attachments/20080301/0b652e97/attachment.html From reiffert at macports.org Sat Mar 1 04:15:55 2008 From: reiffert at macports.org (reiffert at macports.org) Date: Sat, 1 Mar 2008 04:15:55 -0800 (PST) Subject: [34646] trunk/dports/net/pidgin/files/ige-integration.diff Message-ID: <20080301121555.574C4144B546@beta.macosforge.org> Revision: 34646 http://trac.macosforge.org/projects/macports/changeset/34646 Author: reiffert at macports.org Date: 2008-03-01 04:15:53 -0800 (Sat, 01 Mar 2008) Log Message: ----------- ige gtk integration patch for later use. Added Paths: ----------- trunk/dports/net/pidgin/files/ige-integration.diff Added: trunk/dports/net/pidgin/files/ige-integration.diff =================================================================== --- trunk/dports/net/pidgin/files/ige-integration.diff (rev 0) +++ trunk/dports/net/pidgin/files/ige-integration.diff 2008-03-01 12:15:53 UTC (rev 34646) @@ -0,0 +1,2129 @@ +--- pidgin/gtkblist.c 2007-12-07 15:37:11.000000000 +0100 ++++ ../pidgin-2.3.1/pidgin/gtkblist.c 2008-02-11 15:59:25.000000000 +0100 +@@ -27,6 +27,9 @@ + #include "internal.h" + #include "pidgin.h" + ++#include "ige-mac-menu.h" ++#include "ige-mac-dock.h" ++#include "ige-mac-bundle.h" + #include "account.h" + #include "connection.h" + #include "core.h" +@@ -5311,6 +5314,7 @@ + pidgin_blist_restore_position(); + gtk_widget_show_all(GTK_WIDGET(gtkblist->vbox)); + gtk_widget_realize(GTK_WIDGET(gtkblist->window)); ++ ige_mac_menu_set_menu_bar(GTK_MENU_SHELL(menu)); + purple_blist_set_visible(purple_prefs_get_bool(PIDGIN_PREFS_ROOT "/blist/list_visible")); + + /* start the refresh timer */ +--- pidgin/ige-mac-bundle.c 1970-01-01 01:00:00.000000000 +0100 ++++ ../pidgin-2.3.1/pidgin/ige-mac-bundle.c 2008-02-11 14:38:28.000000000 +0100 +@@ -0,0 +1,377 @@ ++/* GTK+ Integration for app bundles. ++ * ++ * Copyright (C) 2007-2008 Imendio AB ++ * ++ * This library is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU Lesser General Public ++ * License as published by the Free Software Foundation; version 2.1 ++ * of the License. ++ * ++ * This library is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ * Lesser General Public License for more details. ++ * ++ * You should have received a copy of the GNU Lesser General Public ++ * License along with this library; if not, write to the ++ * Free Software Foundation, Inc., 59 Temple Place - Suite 330, ++ * Boston, MA 02111-1307, USA. ++ */ ++ ++/* TODO: Add command line parsing and remove any ++ * -psn_... arguments? ++ */ ++ ++#include ++#include ++ ++#include "ige-mac-bundle.h" ++ ++typedef struct IgeMacBundlePriv IgeMacBundlePriv; ++ ++struct IgeMacBundlePriv { ++ CFBundleRef cf_bundle; ++ gchar *path; ++ gchar *id; ++ gchar *datadir; ++ gchar *localedir; ++ UInt32 type; ++ UInt32 creator; ++}; ++ ++static void mac_bundle_finalize (GObject *object); ++static gchar *cf_string_to_utf8 (CFStringRef str); ++static void mac_bundle_set_environment_value (IgeMacBundle *bundle, ++ const gchar *key, ++ const gchar *value); ++ ++static IgeMacBundle *global_bundle; ++ ++G_DEFINE_TYPE (IgeMacBundle, ige_mac_bundle, G_TYPE_OBJECT) ++ ++#define GET_PRIV(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), IGE_TYPE_MAC_BUNDLE, IgeMacBundlePriv)) ++ ++static void ++ige_mac_bundle_class_init (IgeMacBundleClass *class) ++{ ++ GObjectClass *object_class = G_OBJECT_CLASS (class); ++ ++ object_class->finalize = mac_bundle_finalize; ++ ++ g_type_class_add_private (object_class, sizeof (IgeMacBundlePriv)); ++} ++ ++static void ++ige_mac_bundle_init (IgeMacBundle *bundle) ++{ ++ IgeMacBundlePriv *priv = GET_PRIV (bundle); ++ CFURLRef cf_url; ++ CFStringRef cf_string; ++ CFDictionaryRef cf_dict; ++ ++ priv->cf_bundle = CFBundleGetMainBundle (); ++ if (!priv->cf_bundle) ++ return; ++ ++ CFRetain (priv->cf_bundle); ++ ++ /* Bundle or binary location. */ ++ cf_url = CFBundleCopyBundleURL (priv->cf_bundle); ++ cf_string = CFURLCopyFileSystemPath (cf_url, kCFURLPOSIXPathStyle); ++ priv->path = cf_string_to_utf8 (cf_string); ++ CFRelease (cf_string); ++ CFRelease (cf_url); ++ ++ /* Package info. */ ++ CFBundleGetPackageInfo (priv->cf_bundle, &priv->type, &priv->creator); ++ ++ /* Identifier. */ ++ cf_string = CFBundleGetIdentifier (priv->cf_bundle); ++ if (cf_string) ++ priv->id = cf_string_to_utf8 (cf_string); ++ ++ /* Get non-localized keys. */ ++ cf_dict = CFBundleGetInfoDictionary (priv->cf_bundle); ++ if (cf_dict) ++ { ++ CFDictionaryRef env_dict; ++ CFIndex n_keys, i; ++ const void **keys; ++ const void **values; ++ ++ env_dict = (CFDictionaryRef) CFDictionaryGetValue (cf_dict, CFSTR ("LSEnvironment")); ++ if (env_dict) ++ { ++ n_keys = CFDictionaryGetCount (env_dict); ++ ++ keys = (const void **) g_new (void *, n_keys); ++ values = (const void **) g_new (void *, n_keys); ++ ++ CFDictionaryGetKeysAndValues (env_dict, keys, values); ++ ++ for (i = 0; i < n_keys; i++) ++ { ++ gchar *key; ++ gchar *value; ++ ++ key = cf_string_to_utf8 ((CFStringRef) keys[i]); ++ value = cf_string_to_utf8 ((CFStringRef) values[i]); ++ ++ mac_bundle_set_environment_value (bundle, key, value); ++ ++ g_free (key); ++ g_free (value); ++ } ++ ++ g_free (keys); ++ g_free (values); ++ } ++ } ++} ++ ++static void ++mac_bundle_finalize (GObject *object) ++{ ++ IgeMacBundlePriv *priv; ++ ++ priv = GET_PRIV (object); ++ ++ g_free (priv->path); ++ g_free (priv->id); ++ g_free (priv->datadir); ++ g_free (priv->localedir); ++ ++ CFRelease (priv->cf_bundle); ++ ++ G_OBJECT_CLASS (ige_mac_bundle_parent_class)->finalize (object); ++} ++ ++IgeMacBundle * ++ige_mac_bundle_new (void) ++{ ++ return g_object_new (IGE_TYPE_MAC_BUNDLE, NULL); ++} ++ ++IgeMacBundle * ++ige_mac_bundle_get_default (void) ++{ ++ if (!global_bundle) ++ global_bundle = ige_mac_bundle_new (); ++ ++ return global_bundle; ++} ++ ++static gchar * ++cf_string_to_utf8 (CFStringRef str) ++{ ++ CFIndex len; ++ gchar *ret; ++ ++ len = CFStringGetMaximumSizeForEncoding (CFStringGetLength (str), ++ kCFStringEncodingUTF8) + 1; ++ ++ ret = g_malloc (len); ++ ret[len] = '\0'; ++ ++ if (CFStringGetCString (str, ret, len, kCFStringEncodingUTF8)) ++ return ret; ++ ++ g_free (ret); ++ return NULL; ++} ++ ++static void ++mac_bundle_set_environment_value (IgeMacBundle *bundle, ++ const gchar *key, ++ const gchar *value) ++{ ++ IgeMacBundlePriv *priv = GET_PRIV (bundle); ++ GRegex *regex; ++ gchar *new_value; ++ ++ regex = g_regex_new ("@executable_path", 0, 0, NULL); ++ ++ new_value = g_regex_replace_literal (regex, ++ value, ++ -1, ++ 0, ++ priv->path, ++ 0, NULL); ++ ++ g_print ("%s => %s\n", value, new_value); ++ ++ if (new_value) ++ value = new_value; ++ ++ ++ g_setenv (key, value, TRUE); ++ ++ g_free (new_value); ++ g_regex_unref (regex); ++} ++ ++const gchar * ++ige_mac_bundle_get_id (IgeMacBundle *bundle) ++{ ++ IgeMacBundlePriv *priv = GET_PRIV (bundle); ++ ++ return priv->id; ++} ++ ++const gchar * ++ige_mac_bundle_get_path (IgeMacBundle *bundle) ++{ ++ IgeMacBundlePriv *priv = GET_PRIV (bundle); ++ ++ return priv->path; ++} ++ ++gboolean ++ige_mac_bundle_get_is_app_bundle (IgeMacBundle *bundle) ++{ ++ IgeMacBundlePriv *priv = GET_PRIV (bundle); ++ ++ return (priv->type == 'APPL' && priv->id); ++} ++ ++const gchar * ++ige_mac_bundle_get_datadir (IgeMacBundle *bundle) ++{ ++ IgeMacBundlePriv *priv = GET_PRIV (bundle); ++ ++ if (!ige_mac_bundle_get_is_app_bundle (bundle)) ++ return NULL; ++ ++ if (!priv->datadir) ++ { ++ priv->datadir = g_build_filename (priv->path, ++ "Contents", ++ "Resources", ++ "share", ++ NULL); ++ } ++ ++ return priv->datadir; ++} ++ ++const gchar * ++ige_mac_bundle_get_localedir (IgeMacBundle *bundle) ++{ ++ IgeMacBundlePriv *priv = GET_PRIV (bundle); ++ ++ if (!ige_mac_bundle_get_is_app_bundle (bundle)) ++ return NULL; ++ ++ if (!priv->localedir) ++ { ++ priv->localedir = g_build_filename (priv->path, ++ "Contents", ++ "Resources", ++ "share", ++ "locale", ++ NULL); ++ } ++ ++ return priv->localedir; ++} ++ ++void ++ige_mac_bundle_setup_environment (IgeMacBundle *bundle) ++{ ++ IgeMacBundlePriv *priv = GET_PRIV (bundle); ++ gchar *resources; ++ gchar *share, *lib, *etc; ++ gchar *etc_xdg, *etc_immodules, *etc_gtkrc; ++ gchar *etc_pixbuf, *etc_pangorc; ++ const gchar *rc_files; ++ ++ if (!ige_mac_bundle_get_is_app_bundle (bundle)) ++ return; ++ ++ resources = g_build_filename (priv->path, ++ "Contents", ++ "Resources", ++ NULL); ++ ++ share = g_build_filename (resources, "share", NULL); ++ lib = g_build_filename (resources, "lib", NULL); ++ etc = g_build_filename (resources, "etc", NULL); ++ etc_xdg = g_build_filename (etc, "xdg", NULL); ++ etc_immodules = g_build_filename (etc, "gtk-2.0", "gtk.immodules", NULL); ++ etc_gtkrc = g_build_filename (etc, "gtk-2.0", "gtkrc", NULL); ++ etc_pixbuf = g_build_filename (etc, "gtk-2.0", "gdk-pixbuf.loaders", NULL); ++ etc_pangorc = g_build_filename (etc, "pango", "pangorc", NULL); ++ ++ g_setenv ("XDG_CONFIG_DIRS", etc_xdg, TRUE); ++ g_setenv ("XDG_DATA_DIRS", share, TRUE); ++ g_setenv ("GTK_DATA_PREFIX", share, TRUE); ++ g_setenv ("GTK_EXE_PREFIX", resources, TRUE); ++ g_setenv ("GTK_PATH_PREFIX", resources, TRUE); ++ ++ /* Append the normal gtkrc path to allow customizing the theme from ++ * Info.plist. ++ */ ++ rc_files = g_getenv ("GTK2_RC_FILES"); ++ if (rc_files) ++ { ++ gchar *tmp; ++ ++ tmp = g_strdup_printf ("%s:%s", rc_files, etc_gtkrc); ++ g_setenv ("GTK2_RC_FILES", tmp, TRUE); ++ g_free (tmp); ++ } ++ else ++ g_setenv ("GTK2_RC_FILES", etc_gtkrc, TRUE); ++ ++ g_setenv ("GTK_IM_MODULE_FILE", etc_immodules, TRUE); ++ g_setenv ("GDK_PIXBUF_MODULE_FILE", etc_pixbuf, TRUE); ++ g_setenv ("PANGO_RC_FILE", etc_pangorc, TRUE); ++ g_setenv ("CHARSETALIASDIR", lib, TRUE); ++ ++ // could add FONTCONFIG_FILE ++ ++ /*export LANG="\`grep \"\\\`defaults read .GlobalPreferences AppleCollationOrder \ ++ 2>&1\\\`_\" /usr/share/locale/locale.alias | tail -n1 | sed 's/\./ /' | \ ++ awk '{print \$2}'\`.UTF-8"*/ ++ ++ g_free (share); ++ g_free (lib); ++ g_free (etc); ++ g_free (etc_xdg); ++ g_free (etc_immodules); ++ g_free (etc_gtkrc); ++ g_free (etc_pixbuf); ++ g_free (etc_pangorc); ++} ++ ++gchar * ++ige_mac_bundle_get_resource_path (IgeMacBundle *bundle, ++ const gchar *name, ++ const gchar *type, ++ const gchar *subdir) ++{ ++ IgeMacBundlePriv *priv; ++ CFURLRef cf_url; ++ CFStringRef cf_string; ++ gchar *path; ++ ++ if (!bundle) ++ bundle = ige_mac_bundle_get_default (); ++ ++ priv = GET_PRIV (bundle); ++ ++ if (!priv->cf_bundle) ++ return NULL; ++ ++ // FIXME: Look at using CFURLGetFileSystemRepresentation (urlcf_, true, (UInt8*)outPathName, 256) ++ ++ // FIXME: crate real cfstring here... ++ cf_url = CFBundleCopyResourceURL (priv->cf_bundle, ++ CFSTR("name"), CFSTR("type"), CFSTR("subdir")); ++ cf_string = CFURLCopyFileSystemPath (cf_url, kCFURLPOSIXPathStyle); ++ path = cf_string_to_utf8 (cf_string); ++ CFRelease (cf_string); ++ CFRelease (cf_url); ++ ++ return path; ++} +--- pidgin/ige-mac-bundle.h 1970-01-01 01:00:00.000000000 +0100 ++++ ../pidgin-2.3.1/pidgin/ige-mac-bundle.h 2008-02-11 14:38:30.000000000 +0100 +@@ -0,0 +1,62 @@ ++/* GTK+ Integration for app bundles. ++ * ++ * Copyright (C) 2007-2008 Imendio AB ++ * ++ * This library is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU Lesser General Public ++ * License as published by the Free Software Foundation; version 2.1 ++ * of the License. ++ * ++ * This library is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ * Lesser General Public License for more details. ++ * ++ * You should have received a copy of the GNU Lesser General Public ++ * License along with this library; if not, write to the ++ * Free Software Foundation, Inc., 59 Temple Place - Suite 330, ++ * Boston, MA 02111-1307, USA. ++ */ ++ ++#ifndef __IGE_MAC_BUNDLE_H__ ++#define __IGE_MAC_BUNDLE_H__ ++ ++#include ++ ++G_BEGIN_DECLS ++ ++#define IGE_TYPE_MAC_BUNDLE (ige_mac_bundle_get_type ()) ++#define IGE_MAC_BUNDLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), IGE_TYPE_MAC_BUNDLE, IgeMacBundle)) ++#define IGE_MAC_BUNDLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), IGE_TYPE_MAC_BUNDLE, IgeMacBundleClass)) ++#define IGE_IS_MAC_BUNDLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), IGE_TYPE_MAC_BUNDLE)) ++#define IGE_IS_MAC_BUNDLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), IGE_TYPE_MAC_BUNDLE)) ++#define IGE_MAC_BUNDLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), IGE_TYPE_MAC_BUNDLE, IgeMacBundleClass)) ++ ++typedef struct _IgeMacBundle IgeMacBundle; ++typedef struct _IgeMacBundleClass IgeMacBundleClass; ++ ++struct _IgeMacBundle { ++ GObject parent_instance; ++}; ++ ++struct _IgeMacBundleClass { ++ GObjectClass parent_class; ++}; ++ ++GType ige_mac_bundle_get_type (void); ++IgeMacBundle *ige_mac_bundle_new (void); ++IgeMacBundle *ige_mac_bundle_get_default (void); ++void ige_mac_bundle_setup_environment (IgeMacBundle *bundle); ++const gchar * ige_mac_bundle_get_id (IgeMacBundle *bundle); ++const gchar * ige_mac_bundle_get_path (IgeMacBundle *bundle); ++gboolean ige_mac_bundle_get_is_app_bundle (IgeMacBundle *bundle); ++const gchar * ige_mac_bundle_get_localedir (IgeMacBundle *bundle); ++const gchar * ige_mac_bundle_get_datadir (IgeMacBundle *bundle); ++gchar * ige_mac_bundle_get_resource_path (IgeMacBundle *bundle, ++ const gchar *name, ++ const gchar *type, ++ const gchar *subdir); ++ ++G_END_DECLS ++ ++#endif /* __IGE_MAC_BUNDLE_H__ */ +--- pidgin/ige-mac-dock.c 1970-01-01 01:00:00.000000000 +0100 ++++ ../pidgin-2.3.1/pidgin/ige-mac-dock.c 2008-02-11 14:38:28.000000000 +0100 +@@ -0,0 +1,449 @@ ++/* GTK+ Integration for the Mac OS X Dock. ++ * ++ * Copyright (C) 2007-2008 Imendio AB ++ * ++ * This library is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU Lesser General Public ++ * License as published by the Free Software Foundation; version 2.1 ++ * of the License. ++ * ++ * This library is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ * Lesser General Public License for more details. ++ * ++ * You should have received a copy of the GNU Lesser General Public ++ * License along with this library; if not, write to the ++ * Free Software Foundation, Inc., 59 Temple Place - Suite 330, ++ * Boston, MA 02111-1307, USA. ++ */ ++ ++/* FIXME: Add example like this to docs for the open documents stuff: ++ ++ CFBundleDocumentTypes ++ ++ ++ CFBundleTypeExtensions ++ ++ txt ++ ++ ++ ++ ++*/ ++ ++#include ++#include ++#include ++#include ++ ++#include "ige-mac-dock.h" ++#include "ige-mac-bundle.h" ++#include "ige-mac-image-utils.h" ++ ++enum { ++ CLICKED, ++ QUIT_ACTIVATE, ++ OPEN_DOCUMENTS, ++ LAST_SIGNAL ++}; ++ ++static guint signals[LAST_SIGNAL] = { 0 }; ++ ++typedef struct IgeMacDockPriv IgeMacDockPriv; ++ ++struct IgeMacDockPriv { ++ glong id; ++}; ++ ++static void mac_dock_finalize (GObject *object); ++static OSErr mac_dock_handle_quit (const AppleEvent *inAppleEvent, ++ AppleEvent *outAppleEvent, ++ long inHandlerRefcon); ++static OSErr mac_dock_handle_open_documents (const AppleEvent *inAppleEvent, ++ AppleEvent *outAppleEvent, ++ long inHandlerRefcon); ++static OSErr mac_dock_handle_open_application (const AppleEvent *inAppleEvent, ++ AppleEvent *outAppleEvent, ++ long inHandlerRefcon); ++static OSErr mac_dock_handle_reopen_application (const AppleEvent *inAppleEvent, ++ AppleEvent *outAppleEvent, ++ long inHandlerRefcon); ++ ++G_DEFINE_TYPE (IgeMacDock, ige_mac_dock, G_TYPE_OBJECT) ++ ++#define GET_PRIV(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), IGE_TYPE_MAC_DOCK, IgeMacDockPriv)) ++ ++static GList *handlers; ++static IgeMacDock *global_dock; ++ ++static void ++ige_mac_dock_class_init (IgeMacDockClass *class) ++{ ++ GObjectClass *object_class = G_OBJECT_CLASS (class); ++ ++ object_class->finalize = mac_dock_finalize; ++ ++ signals[CLICKED] = ++ g_signal_new ("clicked", ++ IGE_TYPE_MAC_DOCK, ++ G_SIGNAL_RUN_LAST, ++ 0, ++ NULL, NULL, ++ g_cclosure_marshal_VOID__VOID, ++ G_TYPE_NONE, 0); ++ ++ /* FIXME: Need marshaller. */ ++ signals[OPEN_DOCUMENTS] = ++ g_signal_new ("open-documents", ++ IGE_TYPE_MAC_DOCK, ++ G_SIGNAL_RUN_LAST, ++ 0, ++ NULL, NULL, ++ g_cclosure_marshal_VOID__VOID, ++ G_TYPE_NONE, 0); ++ ++ signals[QUIT_ACTIVATE] = ++ g_signal_new ("quit-activate", ++ IGE_TYPE_MAC_DOCK, ++ G_SIGNAL_RUN_LAST, ++ 0, ++ NULL, NULL, ++ g_cclosure_marshal_VOID__VOID, ++ G_TYPE_NONE, 0); ++ ++ g_type_class_add_private (object_class, sizeof (IgeMacDockPriv)); ++ ++ /* FIXME: Just testing with triggering Carbon to take control over ++ * the dock menu events instead of Cocoa (which happens when the ++ * sharedApplication is created) to get custom dock menu working ++ * with carbon menu code. However, doing this makes the dock icon ++ * not get a "running triangle". ++ */ ++#if 0 ++ EventTypeSpec kFakeEventList[] = { { INT_MAX, INT_MAX } }; ++ EventRef event; ++ ++ ReceiveNextEvent (GetEventTypeCount (kFakeEventList), ++ kFakeEventList, ++ kEventDurationNoWait, false, ++ &event); ++#endif ++} ++ ++static void ++ige_mac_dock_init (IgeMacDock *dock) ++{ ++ IgeMacDockPriv *priv = GET_PRIV (dock); ++ static glong id; ++ ++ priv->id = ++id; ++ ++ handlers = g_list_prepend (handlers, dock); ++ ++ AEInstallEventHandler (kCoreEventClass, kAEQuitApplication, ++ mac_dock_handle_quit, ++ priv->id, true); ++ AEInstallEventHandler (kCoreEventClass, kAEOpenApplication, ++ mac_dock_handle_open_application, ++ priv->id, true); ++ AEInstallEventHandler (kCoreEventClass, kAEReopenApplication, ++ mac_dock_handle_reopen_application, ++ priv->id, true); ++ AEInstallEventHandler (kCoreEventClass, kAEOpenDocuments, ++ mac_dock_handle_open_documents, ++ priv->id, true); ++} ++ ++static void ++mac_dock_finalize (GObject *object) ++{ ++ IgeMacDockPriv *priv; ++ ++ priv = GET_PRIV (object); ++ ++ AERemoveEventHandler (kCoreEventClass, kAEQuitApplication, ++ mac_dock_handle_quit, false); ++ AERemoveEventHandler (kCoreEventClass, kAEReopenApplication, ++ mac_dock_handle_reopen_application, false); ++ AERemoveEventHandler (kCoreEventClass, kAEOpenApplication, ++ mac_dock_handle_open_application, false); ++ AERemoveEventHandler (kCoreEventClass, kAEOpenDocuments, ++ mac_dock_handle_open_documents, false); ++ ++ handlers = g_list_remove (handlers, object); ++ ++ G_OBJECT_CLASS (ige_mac_dock_parent_class)->finalize (object); ++} ++ ++IgeMacDock * ++ige_mac_dock_new (void) ++{ ++ return g_object_new (IGE_TYPE_MAC_DOCK, NULL); ++} ++ ++IgeMacDock * ++ige_mac_dock_get_default (void) ++{ ++ if (!global_dock) ++ global_dock = g_object_new (IGE_TYPE_MAC_DOCK, NULL); ++ ++ return global_dock; ++} ++ ++static IgeMacDock * ++mac_dock_get_from_id (gulong id) ++{ ++ GList *l; ++ IgeMacDock *dock = NULL; ++ ++ for (l = handlers; l; l = l->next) ++ { ++ dock = l->data; ++ if (GET_PRIV (dock)->id == id) ++ break; ++ ++ dock = NULL; ++ } ++ ++ return dock; ++} ++ ++static OSErr ++mac_dock_handle_quit (const AppleEvent *inAppleEvent, ++ AppleEvent *outAppleEvent, ++ long inHandlerRefcon) ++{ ++ IgeMacDock *dock; ++ ++ dock = mac_dock_get_from_id (inHandlerRefcon); ++ ++ if (dock) ++ g_signal_emit (dock, signals[QUIT_ACTIVATE], 0); ++ ++ return noErr; ++} ++ ++static OSErr ++mac_dock_handle_open_application (const AppleEvent *inAppleEvent, ++ AppleEvent *outAppleEvent, ++ long inHandlerRefCon) ++{ ++ g_print ("FIXME: mac_dock_handle_open_application\n"); ++ ++ return noErr; ++} ++ ++static OSErr ++mac_dock_handle_reopen_application (const AppleEvent *inAppleEvent, ++ AppleEvent *outAppleEvent, ++ long inHandlerRefcon) ++{ ++ IgeMacDock *dock; ++ ++ dock = mac_dock_get_from_id (inHandlerRefcon); ++ ++ if (dock) ++ g_signal_emit (dock, signals[CLICKED], 0); ++ ++ return noErr; ++} ++ ++static OSErr ++mac_dock_handle_open_documents (const AppleEvent *inAppleEvent, ++ AppleEvent *outAppleEvent, ++ long inHandlerRefCon) ++{ ++ IgeMacDock *dock; ++ OSStatus status; ++ AEDescList documents; ++ gchar path[MAXPATHLEN]; ++ ++ g_print ("FIXME: mac_dock_handle_open_documents\n"); ++ ++ dock = mac_dock_get_from_id (inHandlerRefCon); ++ ++ status = AEGetParamDesc (inAppleEvent, ++ keyDirectObject, typeAEList, ++ &documents); ++ if (status == noErr) ++ { ++ long count = 0; ++ int i; ++ ++ AECountItems (&documents, &count); ++ ++ for (i = 0; i < count; i++) ++ { ++ FSRef ref; ++ ++ status = AEGetNthPtr (&documents, i + 1, typeFSRef, ++ 0, 0, &ref, sizeof (ref), ++ 0); ++ if (status != noErr) ++ continue; ++ ++ FSRefMakePath (&ref, path, MAXPATHLEN); ++ ++ /* FIXME: Add to a list, then emit the open-documents ++ * signal. ++ */ ++ g_print (" %s\n", path); ++ } ++ } ++ ++ return status; ++} ++ ++void ++ige_mac_dock_set_icon_from_pixbuf (IgeMacDock *dock, ++ GdkPixbuf *pixbuf) ++{ ++ if (!pixbuf) ++ RestoreApplicationDockTileImage (); ++ else ++ { ++ CGImageRef image; ++ ++ image = ige_mac_image_from_pixbuf (pixbuf); ++ SetApplicationDockTileImage (image); ++ CGImageRelease (image); ++ } ++} ++ ++void ++ige_mac_dock_set_icon_from_resource (IgeMacDock *dock, ++ IgeMacBundle *bundle, ++ const gchar *name, ++ const gchar *type, ++ const gchar *subdir) ++{ ++ gchar *path; ++ ++ g_return_if_fail (IGE_IS_MAC_DOCK (dock)); ++ g_return_if_fail (name != NULL); ++ ++ path = ige_mac_bundle_get_resource_path (bundle, name, type, subdir); ++ if (path) ++ { ++ GdkPixbuf *pixbuf; ++ ++ pixbuf = gdk_pixbuf_new_from_file (path, NULL); ++ if (pixbuf) ++ { ++ ige_mac_dock_set_icon_from_pixbuf (dock, pixbuf); ++ g_object_unref (pixbuf); ++ } ++ ++ g_free (path); ++ } ++} ++ ++void ++ige_mac_dock_set_overlay_from_pixbuf (IgeMacDock *dock, ++ GdkPixbuf *pixbuf) ++{ ++ CGImageRef image; ++ ++ g_return_if_fail (IGE_IS_MAC_DOCK (dock)); ++ g_return_if_fail (GDK_IS_PIXBUF (pixbuf)); ++ ++ image = ige_mac_image_from_pixbuf (pixbuf); ++ OverlayApplicationDockTileImage (image); ++ CGImageRelease (image); ++} ++ ++void ++ige_mac_dock_set_overlay_from_resource (IgeMacDock *dock, ++ IgeMacBundle *bundle, ++ const gchar *name, ++ const gchar *type, ++ const gchar *subdir) ++{ ++ gchar *path; ++ ++ g_return_if_fail (IGE_IS_MAC_DOCK (dock)); ++ g_return_if_fail (name != NULL); ++ ++ path = ige_mac_bundle_get_resource_path (bundle, name, type, subdir); ++ if (path) ++ { ++ GdkPixbuf *pixbuf; ++ ++ pixbuf = gdk_pixbuf_new_from_file (path, NULL); ++ if (pixbuf) ++ { ++ ige_mac_dock_set_overlay_from_pixbuf (dock, pixbuf); ++ g_object_unref (pixbuf); ++ } ++ ++ g_free (path); ++ } ++} ++ ++struct _IgeMacAttentionRequest { ++ NMRec nm_request; ++ guint timeout_id; ++ gboolean is_cancelled; ++}; ++ ++static gboolean ++mac_dock_attention_cb (IgeMacAttentionRequest *request) ++{ ++ request->timeout_id = 0; ++ request->is_cancelled = TRUE; ++ ++ NMRemove (&request->nm_request); ++ ++ return FALSE; ++} ++ ++ ++/* FIXME: Add listener for "application activated" and cancel any ++ * requests. ++ */ ++IgeMacAttentionRequest * ++ige_mac_dock_attention_request (IgeMacDock *dock, ++ IgeMacAttentionType type) ++{ ++ IgeMacAttentionRequest *request; ++ ++ request = g_new0 (IgeMacAttentionRequest, 1); ++ ++ request->nm_request.nmMark = 1; ++ request->nm_request.qType = nmType; ++ ++ if (NMInstall (&request->nm_request) != noErr) ++ { ++ g_free (request); ++ return NULL; ++ } ++ ++ if (type == IGE_MAC_ATTENTION_INFO) ++ request->timeout_id = gdk_threads_add_timeout ( ++ 1000, ++ (GSourceFunc) mac_dock_attention_cb, ++ request); ++ ++ return request; ++} ++ ++void ++ige_mac_dock_attention_cancel (IgeMacDock *dock, ++ IgeMacAttentionRequest *request) ++{ ++ if (request->timeout_id) ++ g_source_remove (request->timeout_id); ++ ++ if (!request->is_cancelled) ++ NMRemove (&request->nm_request); ++ ++ g_free (request); ++} ++ ++GType ++ige_mac_attention_type_get_type (void) ++{ ++ /* FIXME */ ++ return 0; ++} +--- pidgin/ige-mac-dock.h 1970-01-01 01:00:00.000000000 +0100 ++++ ../pidgin-2.3.1/pidgin/ige-mac-dock.h 2008-02-11 14:38:30.000000000 +0100 +@@ -0,0 +1,83 @@ ++/* GTK+ Integration for the Mac OS X Dock. ++ * ++ * Copyright (C) 2007-2008 Imendio AB ++ * ++ * This library is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU Lesser General Public ++ * License as published by the Free Software Foundation; version 2.1 ++ * of the License. ++ * ++ * This library is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ * Lesser General Public License for more details. ++ * ++ * You should have received a copy of the GNU Lesser General Public ++ * License along with this library; if not, write to the ++ * Free Software Foundation, Inc., 59 Temple Place - Suite 330, ++ * Boston, MA 02111-1307, USA. ++ */ ++ ++#ifndef __IGE_MAC_DOCK_H__ ++#define __IGE_MAC_DOCK_H__ ++ ++#include ++#include ++ ++G_BEGIN_DECLS ++ ++#define IGE_TYPE_MAC_DOCK (ige_mac_dock_get_type ()) ++#define IGE_MAC_DOCK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), IGE_TYPE_MAC_DOCK, IgeMacDock)) ++#define IGE_MAC_DOCK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), IGE_TYPE_MAC_DOCK, IgeMacDockClass)) ++#define IGE_IS_MAC_DOCK(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), IGE_TYPE_MAC_DOCK)) ++#define IGE_IS_MAC_DOCK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), IGE_TYPE_MAC_DOCK)) ++#define IGE_MAC_DOCK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), IGE_TYPE_MAC_DOCK, IgeMacDockClass)) ++ ++typedef struct _IgeMacDock IgeMacDock; ++typedef struct _IgeMacDockClass IgeMacDockClass; ++ ++typedef struct _IgeMacAttentionRequest IgeMacAttentionRequest; ++ ++struct _IgeMacDock ++{ ++ GObject parent_instance; ++}; ++ ++struct _IgeMacDockClass ++{ ++ GObjectClass parent_class; ++}; ++ ++typedef enum { ++ IGE_MAC_ATTENTION_CRITICAL, ++ IGE_MAC_ATTENTION_INFO ++} IgeMacAttentionType; ++ ++GType ige_mac_dock_get_type (void); ++IgeMacDock * ige_mac_dock_new (void); ++IgeMacDock * ige_mac_dock_get_default (void); ++void ige_mac_dock_set_icon_from_pixbuf (IgeMacDock *dock, ++ GdkPixbuf *pixbuf); ++void ige_mac_dock_set_icon_from_resource (IgeMacDock *dock, ++ IgeMacBundle *bundle, ++ const gchar *name, ++ const gchar *type, ++ const gchar *subdir); ++void ige_mac_dock_set_overlay_from_pixbuf (IgeMacDock *dock, ++ GdkPixbuf *pixbuf); ++void ige_mac_dock_set_overlay_from_resource (IgeMacDock *dock, ++ IgeMacBundle *bundle, ++ const gchar *name, ++ const gchar *type, ++ const gchar *subdir); ++IgeMacAttentionRequest *ige_mac_dock_attention_request (IgeMacDock *dock, ++ IgeMacAttentionType type); ++void ige_mac_dock_attention_cancel (IgeMacDock *dock, ++ IgeMacAttentionRequest *request); ++ ++#define IGE_TYPE_MAC_ATTENTION_TYPE (ige_mac_attention_type_get_type()) ++GType ige_mac_attention_type_get_type (void); ++ ++G_END_DECLS ++ ++#endif /* __IGE_MAC_DOCK_H__ */ +--- pidgin/ige-mac-image-utils.c 1970-01-01 01:00:00.000000000 +0100 ++++ ../pidgin-2.3.1/pidgin/ige-mac-image-utils.c 2008-02-11 14:38:28.000000000 +0100 +@@ -0,0 +1,60 @@ ++/* ++ * Copyright (C) 2007 Imendio AB ++ * ++ * This library is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU Lesser General Public ++ * License as published by the Free Software Foundation; version 2.1 ++ * of the License. ++ * ++ * This library is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ * Lesser General Public License for more details. ++ * ++ * You should have received a copy of the GNU Lesser General Public ++ * License along with this library; if not, write to the ++ * Free Software Foundation, Inc., 59 Temple Place - Suite 330, ++ * Boston, MA 02111-1307, USA. ++ */ ++ ++#include ++#include ++#include ++ ++#include "ige-mac-image-utils.h" ++ ++CGImageRef ++ige_mac_image_from_pixbuf (GdkPixbuf *pixbuf) ++{ ++ CGColorSpaceRef colorspace; ++ CGDataProviderRef data_provider; ++ CGImageRef image; ++ void *data; ++ gint rowstride; ++ gint pixbuf_width, pixbuf_height; ++ gboolean has_alpha; ++ ++ pixbuf_width = gdk_pixbuf_get_width (pixbuf); ++ pixbuf_height = gdk_pixbuf_get_height (pixbuf); ++ rowstride = gdk_pixbuf_get_rowstride (pixbuf); ++ has_alpha = gdk_pixbuf_get_has_alpha (pixbuf); ++ ++ data = gdk_pixbuf_get_pixels (pixbuf); ++ ++ colorspace = CGColorSpaceCreateDeviceRGB (); ++ data_provider = CGDataProviderCreateWithData (NULL, data, ++ pixbuf_height * rowstride, ++ NULL); ++ ++ image = CGImageCreate (pixbuf_width, pixbuf_height, 8, ++ has_alpha ? 32 : 24, rowstride, ++ colorspace, ++ has_alpha ? kCGImageAlphaLast : 0, ++ data_provider, NULL, FALSE, ++ kCGRenderingIntentDefault); ++ ++ CGDataProviderRelease (data_provider); ++ CGColorSpaceRelease (colorspace); ++ ++ return image; ++} +--- pidgin/ige-mac-image-utils.h 1970-01-01 01:00:00.000000000 +0100 ++++ ../pidgin-2.3.1/pidgin/ige-mac-image-utils.h 2008-02-11 14:38:30.000000000 +0100 +@@ -0,0 +1,32 @@ ++/* ++ * Copyright (C) 2007 Imendio AB ++ * ++ * This library is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU Lesser General Public ++ * License as published by the Free Software Foundation; version 2.1 ++ * of the License. ++ * ++ * This library is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ * Lesser General Public License for more details. ++ * ++ * You should have received a copy of the GNU Lesser General Public ++ * License along with this library; if not, write to the ++ * Free Software Foundation, Inc., 59 Temple Place - Suite 330, ++ * Boston, MA 02111-1307, USA. ++ */ ++ ++#ifndef __IGE_MAC_IMAGE_UTILS_H__ ++#define __IGE_MAC_IMAGE_UTILS_H__ ++ ++#include ++#include ++ ++G_BEGIN_DECLS ++ ++CGImageRef ige_mac_image_from_pixbuf (GdkPixbuf *pixbuf); ++ ++G_END_DECLS ++ ++#endif /* __IGE_MAC_IMAGE_UTILS_H__ */ +--- pidgin/ige-mac-menu.c 1970-01-01 01:00:00.000000000 +0100 ++++ ../pidgin-2.3.1/pidgin/ige-mac-menu.c 2008-02-11 14:38:28.000000000 +0100 +@@ -0,0 +1,936 @@ ++/* GTK+ Integration for the Mac OS X Menubar. ++ * ++ * Copyright (C) 2007 Pioneer Research Center USA, Inc. ++ * Copyright (C) 2007 Imendio AB ++ * ++ * For further information, see: ++ * http://developer.imendio.com/projects/gtk-macosx/menubar ++ * ++ * This library is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU Lesser General Public ++ * License as published by the Free Software Foundation; version 2.1 ++ * of the License. ++ * ++ * This library is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ * Lesser General Public License for more details. ++ * ++ * You should have received a copy of the GNU Lesser General Public ++ * License along with this library; if not, write to the ++ * Free Software Foundation, Inc., 59 Temple Place - Suite 330, ++ * Boston, MA 02111-1307, USA. ++ */ ++ ++#include ++#include ++#include ++ ++#include "ige-mac-menu.h" ++ ++/* TODO ++ * ++ * - Adding a standard Window menu (Minimize etc)? ++ * - Sync reordering items? Does that work now? ++ * - Create on demand? (can this be done with gtk+? ie fill in menu ++ items when the menu is opened) ++ * - Figure out what to do per app/window... ++ * ++ */ ++ ++#define IGE_QUARTZ_MENU_CREATOR 'IGEC' ++#define IGE_QUARTZ_ITEM_WIDGET 'IWID' ++ ++ ++static void sync_menu_shell (GtkMenuShell *menu_shell, ++ MenuRef carbon_menu, ++ gboolean toplevel, ++ gboolean debug); ++ ++ ++/* ++ * utility functions ++ */ ++ ++static GtkWidget * ++find_menu_label (GtkWidget *widget) ++{ ++ GtkWidget *label = NULL; ++ ++ if (GTK_IS_LABEL (widget)) ++ return widget; ++ ++ if (GTK_IS_CONTAINER (widget)) ++ { ++ GList *children; ++ GList *l; ++ ++ children = gtk_container_get_children (GTK_CONTAINER (widget)); ++ ++ for (l = children; l; l = l->next) ++ { ++ label = find_menu_label (l->data); ++ if (label) ++ break; ++ } ++ ++ g_list_free (children); ++ } ++ ++ return label; ++} ++ ++static const gchar * ++get_menu_label_text (GtkWidget *menu_item, ++ GtkWidget **label) ++{ ++ GtkWidget *my_label; ++ ++ my_label = find_menu_label (menu_item); ++ if (label) ++ *label = my_label; ++ ++ if (my_label) ++ return gtk_label_get_text (GTK_LABEL (my_label)); ++ ++ return NULL; ++} ++ ++static gboolean ++accel_find_func (GtkAccelKey *key, ++ GClosure *closure, ++ gpointer data) ++{ ++ return (GClosure *) data == closure; ++} ++ ++ ++/* ++ * CarbonMenu functions ++ */ ++ ++typedef struct ++{ ++ MenuRef menu; ++ guint toplevel : 1; ++} CarbonMenu; ++ ++static GQuark carbon_menu_quark = 0; ++ ++static CarbonMenu * ++carbon_menu_new (void) ++{ ++ return g_slice_new0 (CarbonMenu); ++} ++ ++static void ++carbon_menu_free (CarbonMenu *menu) ++{ ++ g_slice_free (CarbonMenu, menu); ++} ++ ++static CarbonMenu * ++carbon_menu_get (GtkWidget *widget) ++{ ++ return g_object_get_qdata (G_OBJECT (widget), carbon_menu_quark); ++} ++ ++static void ++carbon_menu_connect (GtkWidget *menu, ++ MenuRef menuRef, ++ gboolean toplevel) ++{ ++ CarbonMenu *carbon_menu = carbon_menu_get (menu); ++ ++ if (!carbon_menu) ++ { ++ carbon_menu = carbon_menu_new (); ++ ++ g_object_set_qdata_full (G_OBJECT (menu), carbon_menu_quark, ++ carbon_menu, ++ (GDestroyNotify) carbon_menu_free); ++ } ++ ++ carbon_menu->menu = menuRef; ++ carbon_menu->toplevel = toplevel; ++} ++ ++ ++/* ++ * CarbonMenuItem functions ++ */ ++ ++typedef struct ++{ ++ MenuRef menu; ++ MenuItemIndex index; ++ MenuRef submenu; ++ GClosure *accel_closure; ++} CarbonMenuItem; ++ ++static GQuark carbon_menu_item_quark = 0; ++ ++static CarbonMenuItem * ++carbon_menu_item_new (void) ++{ ++ return g_slice_new0 (CarbonMenuItem); ++} ++ ++static void ++carbon_menu_item_free (CarbonMenuItem *menu_item) ++{ ++ if (menu_item->accel_closure) ++ g_closure_unref (menu_item->accel_closure); ++ ++ g_slice_free (CarbonMenuItem, menu_item); ++} ++ ++static CarbonMenuItem * ++carbon_menu_item_get (GtkWidget *widget) ++{ ++ return g_object_get_qdata (G_OBJECT (widget), carbon_menu_item_quark); ++} ++ ++static void ++carbon_menu_item_update_state (CarbonMenuItem *carbon_item, ++ GtkWidget *widget) ++{ ++ gboolean sensitive; ++ gboolean visible; ++ UInt32 set_attrs = 0; ++ UInt32 clear_attrs = 0; ++ ++ g_object_get (widget, ++ "sensitive", &sensitive, ++ "visible", &visible, ++ NULL); ++ ++ if (!sensitive) ++ set_attrs |= kMenuItemAttrDisabled; ++ else ++ clear_attrs |= kMenuItemAttrDisabled; ++ ++ if (!visible) ++ set_attrs |= kMenuItemAttrHidden; ++ else ++ clear_attrs |= kMenuItemAttrHidden; ++ ++ ChangeMenuItemAttributes (carbon_item->menu, carbon_item->index, ++ set_attrs, clear_attrs); ++} ++ ++static void ++carbon_menu_item_update_active (CarbonMenuItem *carbon_item, ++ GtkWidget *widget) ++{ ++ gboolean active; ++ ++ g_object_get (widget, ++ "active", &active, ++ NULL); ++ ++ CheckMenuItem (carbon_item->menu, carbon_item->index, ++ active); ++} ++ ++static void ++carbon_menu_item_update_submenu (CarbonMenuItem *carbon_item, ++ GtkWidget *widget) ++{ ++ GtkWidget *submenu; ++ ++ submenu = gtk_menu_item_get_submenu (GTK_MENU_ITEM (widget)); ++ ++ if (submenu) ++ { ++ const gchar *label_text; ++ CFStringRef cfstr = NULL; ++ ++ label_text = get_menu_label_text (widget, NULL); ++ if (label_text) ++ cfstr = CFStringCreateWithCString (NULL, label_text, ++ kCFStringEncodingUTF8); ++ ++ CreateNewMenu (0, 0, &carbon_item->submenu); ++ SetMenuTitleWithCFString (carbon_item->submenu, cfstr); ++ SetMenuItemHierarchicalMenu (carbon_item->menu, carbon_item->index, ++ carbon_item->submenu); ++ ++ sync_menu_shell (GTK_MENU_SHELL (submenu), carbon_item->submenu, FALSE, FALSE); ++ ++ if (cfstr) ++ CFRelease (cfstr); ++ } ++ else ++ { ++ SetMenuItemHierarchicalMenu (carbon_item->menu, carbon_item->index, ++ NULL); ++ carbon_item->submenu = NULL; ++ } ++} ++ ++static void ++carbon_menu_item_update_label (CarbonMenuItem *carbon_item, ++ GtkWidget *widget) ++{ ++ const gchar *label_text; ++ CFStringRef cfstr = NULL; ++ ++ label_text = get_menu_label_text (widget, NULL); ++ if (label_text) ++ cfstr = CFStringCreateWithCString (NULL, label_text, ++ kCFStringEncodingUTF8); ++ ++ SetMenuItemTextWithCFString (carbon_item->menu, carbon_item->index, ++ cfstr); ++ ++ if (cfstr) ++ CFRelease (cfstr); ++} ++ ++static void ++carbon_menu_item_update_accelerator (CarbonMenuItem *carbon_item, ++ GtkWidget *widget) ++{ ++ GtkWidget *label; ++ ++ get_menu_label_text (widget, &label); ++ ++ if (GTK_IS_ACCEL_LABEL (label) && ++ GTK_ACCEL_LABEL (label)->accel_closure) ++ { ++ GtkAccelKey *key; ++ ++ key = gtk_accel_group_find (GTK_ACCEL_LABEL (label)->accel_group, ++ accel_find_func, ++ GTK_ACCEL_LABEL (label)->accel_closure); ++ ++ if (key && ++ key->accel_key && ++ key->accel_flags & GTK_ACCEL_VISIBLE) ++ { ++ GdkDisplay *display = gtk_widget_get_display (widget); ++ GdkKeymap *keymap = gdk_keymap_get_for_display (display); ++ GdkKeymapKey *keys; ++ gint n_keys; ++ ++ if (gdk_keymap_get_entries_for_keyval (keymap, key->accel_key, ++ &keys, &n_keys)) ++ { ++ UInt8 modifiers = 0; ++ ++ SetMenuItemCommandKey (carbon_item->menu, carbon_item->index, ++ true, keys[0].keycode); ++ ++ g_free (keys); ++ ++ if (key->accel_mods) ++ { ++ if (key->accel_mods & GDK_SHIFT_MASK) ++ modifiers |= kMenuShiftModifier; ++ ++ if (key->accel_mods & GDK_MOD1_MASK) ++ modifiers |= kMenuOptionModifier; ++ } ++ ++ if (!(key->accel_mods & GDK_CONTROL_MASK)) ++ { ++ modifiers |= kMenuNoCommandModifier; ++ } ++ ++ SetMenuItemModifiers (carbon_item->menu, carbon_item->index, ++ modifiers); ++ ++ return; ++ } ++ } ++ } ++ ++ /* otherwise, clear the menu shortcut */ ++ SetMenuItemModifiers (carbon_item->menu, carbon_item->index, ++ kMenuNoModifiers | kMenuNoCommandModifier); ++ ChangeMenuItemAttributes (carbon_item->menu, carbon_item->index, ++ 0, kMenuItemAttrUseVirtualKey); ++ SetMenuItemCommandKey (carbon_item->menu, carbon_item->index, ++ false, 0); ++} ++ ++static void ++carbon_menu_item_accel_changed (GtkAccelGroup *accel_group, ++ guint keyval, ++ GdkModifierType modifier, ++ GClosure *accel_closure, ++ GtkWidget *widget) ++{ ++ CarbonMenuItem *carbon_item = carbon_menu_item_get (widget); ++ GtkWidget *label; ++ ++ get_menu_label_text (widget, &label); ++ ++ if (GTK_IS_ACCEL_LABEL (label) && ++ GTK_ACCEL_LABEL (label)->accel_closure == accel_closure) ++ carbon_menu_item_update_accelerator (carbon_item, widget); ++} ++ ++static void ++carbon_menu_item_update_accel_closure (CarbonMenuItem *carbon_item, ++ GtkWidget *widget) ++{ ++ GtkAccelGroup *group; ++ GtkWidget *label; ++ ++ get_menu_label_text (widget, &label); ++ ++ if (carbon_item->accel_closure) ++ { ++ group = gtk_accel_group_from_accel_closure (carbon_item->accel_closure); ++ ++ g_signal_handlers_disconnect_by_func (group, ++ carbon_menu_item_accel_changed, ++ widget); ++ ++ g_closure_unref (carbon_item->accel_closure); ++ carbon_item->accel_closure = NULL; ++ } ++ ++ if (GTK_IS_ACCEL_LABEL (label)) ++ carbon_item->accel_closure = GTK_ACCEL_LABEL (label)->accel_closure; ++ ++ if (carbon_item->accel_closure) ++ { ++ g_closure_ref (carbon_item->accel_closure); ++ ++ group = gtk_accel_group_from_accel_closure (carbon_item->accel_closure); ++ ++ g_signal_connect_object (group, "accel-changed", ++ G_CALLBACK (carbon_menu_item_accel_changed), ++ widget, 0); ++ } ++ ++ carbon_menu_item_update_accelerator (carbon_item, widget); ++} ++ ++static void ++carbon_menu_item_notify (GObject *object, ++ GParamSpec *pspec, ++ CarbonMenuItem *carbon_item) ++{ ++ if (!strcmp (pspec->name, "sensitive") || ++ !strcmp (pspec->name, "visible")) ++ { ++ carbon_menu_item_update_state (carbon_item, GTK_WIDGET (object)); ++ } ++ else if (!strcmp (pspec->name, "active")) ++ { ++ carbon_menu_item_update_active (carbon_item, GTK_WIDGET (object)); ++ } ++ else if (!strcmp (pspec->name, "submenu")) ++ { ++ carbon_menu_item_update_submenu (carbon_item, GTK_WIDGET (object)); ++ } ++} ++ ++static void ++carbon_menu_item_notify_label (GObject *object, ++ GParamSpec *pspec, ++ gpointer data) ++{ ++ CarbonMenuItem *carbon_item = carbon_menu_item_get (GTK_WIDGET (object)); ++ ++ if (!strcmp (pspec->name, "label")) ++ { ++ carbon_menu_item_update_label (carbon_item, ++ GTK_WIDGET (object)); ++ } ++ else if (!strcmp (pspec->name, "accel-closure")) ++ { ++ carbon_menu_item_update_accel_closure (carbon_item, ++ GTK_WIDGET (object)); ++ } ++} ++ ++static CarbonMenuItem * ++carbon_menu_item_connect (GtkWidget *menu_item, ++ GtkWidget *label, ++ MenuRef menu, ++ MenuItemIndex index) ++{ ++ CarbonMenuItem *carbon_item = carbon_menu_item_get (menu_item); ++ ++ if (!carbon_item) ++ { ++ carbon_item = carbon_menu_item_new (); ++ ++ g_object_set_qdata_full (G_OBJECT (menu_item), carbon_menu_item_quark, ++ carbon_item, ++ (GDestroyNotify) carbon_menu_item_free); ++ ++ g_signal_connect (menu_item, "notify", ++ G_CALLBACK (carbon_menu_item_notify), ++ carbon_item); ++ ++ if (label) ++ g_signal_connect_swapped (label, "notify::label", ++ G_CALLBACK (carbon_menu_item_notify_label), ++ menu_item); ++ } ++ ++ carbon_item->menu = menu; ++ carbon_item->index = index; ++ ++ return carbon_item; ++} ++ ++ ++/* ++ * carbon event handler ++ */ ++ ++static OSStatus ++menu_event_handler_func (EventHandlerCallRef event_handler_call_ref, ++ EventRef event_ref, ++ void *data) ++{ ++ UInt32 event_class = GetEventClass (event_ref); ++ UInt32 event_kind = GetEventKind (event_ref); ++ MenuRef menu_ref; ++ ++ switch (event_class) ++ { ++ case kEventClassCommand: ++ /* This is called when activating (is that the right GTK+ term?) ++ * a menu item. ++ */ ++ if (event_kind == kEventCommandProcess) ++ { ++ HICommand command; ++ OSStatus err; ++ ++ /*g_printerr ("Menu: kEventClassCommand/kEventCommandProcess\n");*/ ++ ++ err = GetEventParameter (event_ref, kEventParamDirectObject, ++ typeHICommand, 0, ++ sizeof (command), 0, &command); ++ ++ if (err == noErr) ++ { ++ GtkWidget *widget = NULL; ++ ++ /* Get any GtkWidget associated with the item. */ ++ err = GetMenuItemProperty (command.menu.menuRef, ++ command.menu.menuItemIndex, ++ IGE_QUARTZ_MENU_CREATOR, ++ IGE_QUARTZ_ITEM_WIDGET, ++ sizeof (widget), 0, &widget); ++ if (err == noErr && GTK_IS_WIDGET (widget)) ++ { ++ gtk_menu_item_activate (GTK_MENU_ITEM (widget)); ++ return noErr; ++ } ++ } ++ } ++ break; ++ ++ case kEventClassMenu: ++ GetEventParameter (event_ref, ++ kEventParamDirectObject, ++ typeMenuRef, ++ NULL, ++ sizeof (menu_ref), ++ NULL, ++ &menu_ref); ++ ++ switch (event_kind) ++ { ++ case kEventMenuTargetItem: ++ /* This is called when an item is selected (what is the ++ * GTK+ term? prelight?) ++ */ ++ /*g_printerr ("kEventClassMenu/kEventMenuTargetItem\n");*/ ++ break; ++ ++ case kEventMenuOpening: ++ /* Is it possible to dynamically build the menu here? We ++ * can at least set visibility/sensitivity. ++ */ ++ /*g_printerr ("kEventClassMenu/kEventMenuOpening\n");*/ ++ break; ++ ++ case kEventMenuClosed: ++ /*g_printerr ("kEventClassMenu/kEventMenuClosed\n");*/ ++ break; ++ ++ default: ++ break; ++ } ++ ++ break; ++ ++ default: ++ break; ++ } ++ ++ return CallNextEventHandler (event_handler_call_ref, event_ref); ++} ++ ++static void ++setup_menu_event_handler (void) ++{ ++ static gboolean is_setup; ++ EventHandlerUPP menu_event_handler_upp; ++ EventHandlerRef menu_event_handler_ref; ++ const EventTypeSpec menu_events[] = { ++ { kEventClassCommand, kEventCommandProcess }, ++ { kEventClassMenu, kEventMenuTargetItem }, ++ { kEventClassMenu, kEventMenuOpening }, ++ { kEventClassMenu, kEventMenuClosed } ++ }; ++ ++ if (is_setup) ++ return; ++ ++ /* FIXME: We might have to install one per window? */ ++ ++ menu_event_handler_upp = NewEventHandlerUPP (menu_event_handler_func); ++ InstallEventHandler (GetApplicationEventTarget (), menu_event_handler_upp, ++ GetEventTypeCount (menu_events), menu_events, 0, ++ &menu_event_handler_ref); ++ ++#if 0 ++ /* FIXME: Remove the handler with: */ ++ RemoveEventHandler(menu_event_handler_ref); ++ DisposeEventHandlerUPP(menu_event_handler_upp); ++#endif ++ is_setup = TRUE; ++} ++ ++static void ++sync_menu_shell (GtkMenuShell *menu_shell, ++ MenuRef carbon_menu, ++ gboolean toplevel, ++ gboolean debug) ++{ ++ GList *children; ++ GList *l; ++ MenuItemIndex carbon_index = 1; ++ ++ if (debug) ++ g_printerr ("%s: syncing shell %p\n", G_STRFUNC, menu_shell); ++ ++ carbon_menu_connect (GTK_WIDGET (menu_shell), carbon_menu, toplevel); ++ ++ children = gtk_container_get_children (GTK_CONTAINER (menu_shell)); ++ ++ for (l = children; l; l = l->next) ++ { ++ GtkWidget *menu_item = l->data; ++ CarbonMenuItem *carbon_item; ++ ++ if (GTK_IS_TEAROFF_MENU_ITEM (menu_item)) ++ continue; ++ ++ if (toplevel && g_object_get_data (G_OBJECT (menu_item), ++ "gtk-empty-menu-item")) ++ continue; ++ ++ carbon_item = carbon_menu_item_get (menu_item); ++ ++ if (debug) ++ g_printerr ("%s: carbon_item %d for menu_item %d (%s, %s)\n", ++ G_STRFUNC, carbon_item ? carbon_item->index : -1, ++ carbon_index, get_menu_label_text (menu_item, NULL), ++ g_type_name (G_TYPE_FROM_INSTANCE (menu_item))); ++ ++ if (carbon_item && carbon_item->index != carbon_index) ++ { ++ if (debug) ++ g_printerr ("%s: -> not matching, deleting\n", G_STRFUNC); ++ ++ DeleteMenuItem (carbon_item->menu, carbon_index); ++ carbon_item = NULL; ++ } ++ ++ if (!carbon_item) ++ { ++ GtkWidget *label = NULL; ++ const gchar *label_text; ++ CFStringRef cfstr = NULL; ++ MenuItemAttributes attributes = 0; ++ ++ if (debug) ++ g_printerr ("%s: -> creating new\n", G_STRFUNC); ++ ++ label_text = get_menu_label_text (menu_item, &label); ++ if (label_text) ++ cfstr = CFStringCreateWithCString (NULL, label_text, ++ kCFStringEncodingUTF8); ++ ++ if (GTK_IS_SEPARATOR_MENU_ITEM (menu_item)) ++ attributes |= kMenuItemAttrSeparator; ++ ++ if (!GTK_WIDGET_IS_SENSITIVE (menu_item)) ++ attributes |= kMenuItemAttrDisabled; ++ ++ if (!GTK_WIDGET_VISIBLE (menu_item)) ++ attributes |= kMenuItemAttrHidden; ++ ++ InsertMenuItemTextWithCFString (carbon_menu, cfstr, ++ carbon_index - 1, ++ attributes, 0); ++ SetMenuItemProperty (carbon_menu, carbon_index, ++ IGE_QUARTZ_MENU_CREATOR, ++ IGE_QUARTZ_ITEM_WIDGET, ++ sizeof (menu_item), &menu_item); ++ ++ if (cfstr) ++ CFRelease (cfstr); ++ ++ carbon_item = carbon_menu_item_connect (menu_item, label, ++ carbon_menu, ++ carbon_index); ++ ++ if (GTK_IS_CHECK_MENU_ITEM (menu_item)) ++ carbon_menu_item_update_active (carbon_item, menu_item); ++ ++ carbon_menu_item_update_accel_closure (carbon_item, menu_item); ++ ++ if (gtk_menu_item_get_submenu (GTK_MENU_ITEM (menu_item))) ++ carbon_menu_item_update_submenu (carbon_item, menu_item); ++ } ++ ++ carbon_index++; ++ } ++ ++ g_list_free (children); ++} ++ ++static gulong emission_hook_id = 0; ++static gint emission_hook_count = 0; ++ ++static gboolean ++parent_set_emission_hook (GSignalInvocationHint *ihint, ++ guint n_param_values, ++ const GValue *param_values, ++ gpointer data) ++{ ++ GtkWidget *instance = g_value_get_object (param_values); ++ ++ if (GTK_IS_MENU_ITEM (instance)) ++ { ++ GtkWidget *previous_parent = g_value_get_object (param_values + 1); ++ GtkWidget *menu_shell = NULL; ++ ++ if (GTK_IS_MENU_SHELL (previous_parent)) ++ { ++ menu_shell = previous_parent; ++ } ++ else if (GTK_IS_MENU_SHELL (instance->parent)) ++ { ++ menu_shell = instance->parent; ++ } ++ ++ if (menu_shell) ++ { ++ CarbonMenu *carbon_menu = carbon_menu_get (menu_shell); ++ ++ if (carbon_menu) ++ { ++#if 0 ++ g_printerr ("%s: item %s %p (%s, %s)\n", G_STRFUNC, ++ previous_parent ? "removed from" : "added to", ++ menu_shell, ++ get_menu_label_text (instance, NULL), ++ g_type_name (G_TYPE_FROM_INSTANCE (instance))); ++#endif ++ ++ sync_menu_shell (GTK_MENU_SHELL (menu_shell), ++ carbon_menu->menu, ++ carbon_menu->toplevel, ++ FALSE); ++ } ++ } ++ } ++ ++ return TRUE; ++} ++ ++static void ++parent_set_emission_hook_remove (GtkWidget *widget, ++ gpointer data) ++{ ++ emission_hook_count--; ++ ++ if (emission_hook_count > 0) ++ return; ++ ++ g_signal_remove_emission_hook (g_signal_lookup ("parent-set", ++ GTK_TYPE_WIDGET), ++ emission_hook_id); ++ emission_hook_id = 0; ++} ++ ++ ++/* ++ * public functions ++ */ ++ ++void ++ige_mac_menu_set_menu_bar (GtkMenuShell *menu_shell) ++{ ++ MenuRef carbon_menubar; ++ ++ g_return_if_fail (GTK_IS_MENU_SHELL (menu_shell)); ++ ++ if (carbon_menu_quark == 0) ++ carbon_menu_quark = g_quark_from_static_string ("CarbonMenu"); ++ ++ if (carbon_menu_item_quark == 0) ++ carbon_menu_item_quark = g_quark_from_static_string ("CarbonMenuItem"); ++ ++ CarbonMenu *current_menu; ++ current_menu = carbon_menu_get (GTK_WIDGET (menu_shell)); ++ if (current_menu) ++ { ++ SetRootMenu (current_menu->menu); ++ return; ++ } ++ ++ CreateNewMenu (0 /*id*/, 0 /*options*/, &carbon_menubar); ++ SetRootMenu (carbon_menubar); ++ ++ setup_menu_event_handler (); ++ ++ if (emission_hook_id == 0) ++ { ++ emission_hook_id = ++ g_signal_add_emission_hook (g_signal_lookup ("parent-set", ++ GTK_TYPE_WIDGET), ++ 0, ++ parent_set_emission_hook, ++ NULL, NULL); ++ } ++ ++ emission_hook_count++; ++ ++ g_signal_connect (menu_shell, "destroy", ++ G_CALLBACK (parent_set_emission_hook_remove), ++ NULL); ++ ++ sync_menu_shell (menu_shell, carbon_menubar, TRUE, FALSE); ++} ++ ++void ++ige_mac_menu_set_quit_menu_item (GtkMenuItem *menu_item) ++{ ++ MenuRef appmenu; ++ MenuItemIndex index; ++ ++ g_return_if_fail (GTK_IS_MENU_ITEM (menu_item)); ++ ++ setup_menu_event_handler (); ++ ++ if (GetIndMenuItemWithCommandID (NULL, kHICommandQuit, 1, ++ &appmenu, &index) == noErr) ++ { ++ SetMenuItemCommandID (appmenu, index, 0); ++ SetMenuItemProperty (appmenu, index, ++ IGE_QUARTZ_MENU_CREATOR, ++ IGE_QUARTZ_ITEM_WIDGET, ++ sizeof (menu_item), &menu_item); ++ ++ gtk_widget_hide (GTK_WIDGET (menu_item)); ++ } ++} ++ ++ ++struct _IgeMacMenuGroup ++{ ++ GList *items; ++}; ++ ++static GList *app_menu_groups = NULL; ++ ++IgeMacMenuGroup * ++ige_mac_menu_add_app_menu_group (void) ++{ ++ IgeMacMenuGroup *group = g_slice_new0 (IgeMacMenuGroup); ++ ++ app_menu_groups = g_list_append (app_menu_groups, group); ++ ++ return group; ++} ++ ++void ++ige_mac_menu_add_app_menu_item (IgeMacMenuGroup *group, ++ GtkMenuItem *menu_item, ++ const gchar *label) ++{ ++ MenuRef appmenu; ++ GList *list; ++ gint index = 0; ++ ++ g_return_if_fail (group != NULL); ++ g_return_if_fail (GTK_IS_MENU_ITEM (menu_item)); ++ ++ setup_menu_event_handler (); ++ ++ if (GetIndMenuItemWithCommandID (NULL, kHICommandHide, 1, ++ &appmenu, NULL) != noErr) ++ { ++ g_warning ("%s: retrieving app menu failed", ++ G_STRFUNC); ++ return; ++ } ++ ++ for (list = app_menu_groups; list; list = g_list_next (list)) ++ { ++ IgeMacMenuGroup *list_group = list->data; ++ ++ index += g_list_length (list_group->items); ++ ++ /* adjust index for the separator between groups, but not ++ * before the first group ++ */ ++ if (list_group->items && list->prev) ++ index++; ++ ++ if (group == list_group) ++ { ++ CFStringRef cfstr; ++ ++ /* add a separator before adding the first item, but not ++ * for the first group ++ */ ++ if (!group->items && list->prev) ++ { ++ InsertMenuItemTextWithCFString (appmenu, NULL, index, ++ kMenuItemAttrSeparator, 0); ++ index++; ++ } ++ ++ if (!label) ++ label = get_menu_label_text (GTK_WIDGET (menu_item), NULL); ++ ++ cfstr = CFStringCreateWithCString (NULL, label, ++ kCFStringEncodingUTF8); ++ ++ InsertMenuItemTextWithCFString (appmenu, cfstr, index, 0, 0); ++ SetMenuItemProperty (appmenu, index + 1, ++ IGE_QUARTZ_MENU_CREATOR, ++ IGE_QUARTZ_ITEM_WIDGET, ++ sizeof (menu_item), &menu_item); ++ ++ CFRelease (cfstr); ++ ++ gtk_widget_hide (GTK_WIDGET (menu_item)); ++ ++ group->items = g_list_append (group->items, menu_item); ++ ++ return; ++ } ++ } ++ ++ if (!list) ++ g_warning ("%s: app menu group %p does not exist", ++ G_STRFUNC, group); ++} +--- pidgin/ige-mac-menu.h 1970-01-01 01:00:00.000000000 +0100 ++++ ../pidgin-2.3.1/pidgin/ige-mac-menu.h 2008-02-11 14:38:30.000000000 +0100 +@@ -0,0 +1,44 @@ ++/* GTK+ Integration for the Mac OS X Menubar. ++ * ++ * Copyright (C) 2007 Pioneer Research Center USA, Inc. ++ * Copyright (C) 2007 Imendio AB ++ * ++ * For further information, see: ++ * http://developer.imendio.com/projects/gtk-macosx/menubar ++ * ++ * This library is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU Lesser General Public ++ * License as published by the Free Software Foundation; version 2.1 ++ * of the License. ++ * ++ * This library is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ * Lesser General Public License for more details. ++ * ++ * You should have received a copy of the GNU Lesser General Public ++ * License along with this library; if not, write to the ++ * Free Software Foundation, Inc., 59 Temple Place - Suite 330, ++ * Boston, MA 02111-1307, USA. ++ */ ++ ++#ifndef __IGE_MAC_MENU_H__ ++#define __IGE_MAC_MENU_H__ ++ ++#include ++ ++G_BEGIN_DECLS ++ ++typedef struct _IgeMacMenuGroup IgeMacMenuGroup; ++ ++void ige_mac_menu_set_menu_bar (GtkMenuShell *menu_shell); ++void ige_mac_menu_set_quit_menu_item (GtkMenuItem *menu_item); ++ ++IgeMacMenuGroup * ige_mac_menu_add_app_menu_group (void); ++void ige_mac_menu_add_app_menu_item (IgeMacMenuGroup *group, ++ GtkMenuItem *menu_item, ++ const gchar *label); ++ ++G_END_DECLS ++ ++#endif /* __IGE_MAC_MENU_H__ */ +--- pidgin/Makefile.am 2008-02-11 16:07:09.000000000 +0100 ++++ ../pidgin-2.3.1/pidgin/Makefile.am 2008-02-11 16:08:11.000000000 +0100 +@@ -117,7 +117,11 @@ + gtkthemes.c \ + gtkutils.c \ + gtkwhiteboard.c \ +- minidialog.c ++ minidialog.c \ ++ ige-mac-bundle.c \ ++ ige-mac-dock.c \ ++ ige-mac-image-utils.c \ ++ ige-mac-menu.c + + pidgin_headers = \ + eggtrayicon.h \ +@@ -170,7 +174,11 @@ + gtkutils.h \ + gtkwhiteboard.h \ + minidialog.h \ +- pidgin.h ++ pidgin.h \ ++ ige-mac-bundle.h \ ++ ige-mac-dock.h \ ++ ige-mac-image-utils.h \ ++ ige-mac-menu.h + + pidginincludedir=$(includedir)/pidgin + pidgininclude_HEADERS = \ +--- configure.ac 2007-12-07 15:36:58.000000000 +0100 ++++ ../pidgin-2.3.1/configure.ac 2008-02-11 16:46:34.000000000 +0100 +@@ -123,6 +123,11 @@ + ], []) + ], []) + ++ AC_CHECK_HEADER(Carbon/Carbon.h, [ ++ AC_DEFINE(HAVE_CARBON, 1, [Define if we have CARBON]) ++ LIBS="$LIBS -framework Carbon" ++ ], []) ++ + AC_MSG_CHECKING([for fink]) + if test -d /sw; then + AC_MSG_RESULT([found, adding /sw to search paths]) -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.macosforge.org/pipermail/macports-changes/attachments/20080301/ecbe96ec/attachment-0001.html From mww at macports.org Sat Mar 1 05:56:25 2008 From: mww at macports.org (mww at macports.org) Date: Sat, 1 Mar 2008 05:56:25 -0800 (PST) Subject: [34647] trunk/dports/lang/gcc43/Portfile Message-ID: <20080301135625.5FFF8144B8BE@beta.macosforge.org> Revision: 34647 http://trac.macosforge.org/projects/macports/changeset/34647 Author: mww at macports.org Date: 2008-03-01 05:56:23 -0800 (Sat, 01 Mar 2008) Log Message: ----------- version 4.3-20080228 Modified Paths: -------------- trunk/dports/lang/gcc43/Portfile Modified: trunk/dports/lang/gcc43/Portfile =================================================================== --- trunk/dports/lang/gcc43/Portfile 2008-03-01 12:15:53 UTC (rev 34646) +++ trunk/dports/lang/gcc43/Portfile 2008-03-01 13:56:23 UTC (rev 34647) @@ -3,7 +3,7 @@ PortSystem 1.0 name gcc43 -version 4.3-20080221 +version 4.3-20080228 platforms darwin categories lang maintainers mww @@ -25,11 +25,11 @@ set dobjc gcc-objc-${version}.tar.bz2 distfiles ${dcore} ${dfort} ${dcxx} ${djava} ${dobjc} -checksums ${dcore} sha1 9bb7b08f1851a70da3283f4638de1903b6cc6659 \ - ${dfort} sha1 0b67fb39ea27e714ef6d6774e4e3abd54a3257b3 \ - ${dcxx} sha1 b3afe227f0f80a5f6dbc79b3162893fcacd7f3e1 \ - ${djava} sha1 ea1610bc6a0c5449765183816b178c3a97877c4a \ - ${dobjc} sha1 29ecf03716d4d9f08d037f93f6c79f8024965e0c +checksums ${dcore} sha1 a7d7f36421c21315cf13daf5b6028e6b40e43b53 \ + ${dfort} sha1 9dbcfc84feb52af71da7f95f41349f5b70bdfea3 \ + ${dcxx} sha1 e4e8b51a4b1b2e8c002267c1d391992a76b5cdc7 \ + ${djava} sha1 6f84e0877d32b7364fbf0007311228f2ae42fcdb \ + ${dobjc} sha1 f3a2ba1cd878515d90b41d9a0ca9615449ee8cac use_bzip2 yes -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.macosforge.org/pipermail/macports-changes/attachments/20080301/e1b2117e/attachment.html From mww at macports.org Sat Mar 1 08:07:17 2008 From: mww at macports.org (mww at macports.org) Date: Sat, 1 Mar 2008 08:07:17 -0800 (PST) Subject: [34648] trunk/dports/lang/gcc44/Portfile Message-ID: <20080301160717.AAB39144BBDB@beta.macosforge.org> Revision: 34648 http://trac.macosforge.org/projects/macports/changeset/34648 Author: mww at macports.org Date: 2008-03-01 08:07:11 -0800 (Sat, 01 Mar 2008) Log Message: ----------- version 4.4-20080229 Modified Paths: -------------- trunk/dports/lang/gcc44/Portfile Modified: trunk/dports/lang/gcc44/Portfile =================================================================== --- trunk/dports/lang/gcc44/Portfile 2008-03-01 13:56:23 UTC (rev 34647) +++ trunk/dports/lang/gcc44/Portfile 2008-03-01 16:07:11 UTC (rev 34648) @@ -3,7 +3,7 @@ PortSystem 1.0 name gcc44 -version 4.4-20080222 +version 4.4-20080229 platforms darwin categories lang maintainers mww @@ -25,11 +25,11 @@ set dobjc gcc-objc-${version}.tar.bz2 distfiles ${dcore} ${dfort} ${dcxx} ${djava} ${dobjc} -checksums ${dcore} sha1 9d41ea181e0a008fe37cd73ba5c1d4999d64bfdf \ - ${dfort} sha1 1ff99420bce41ceaea423c5ca4cbbbb0b5934619 \ - ${dcxx} sha1 830341320572436960e6cfba2e34a0d233031c28 \ - ${djava} sha1 01834ca14ec13ae1dec76a418c374d1479c98ae4 \ - ${dobjc} sha1 c6b03b25aabbdcce9bc8bb8f1a386691d40895cb +checksums ${dcore} sha1 036e4b074eca1fb0d84c58ff3e2dc93b11580f3d \ + ${dfort} sha1 1f6c81a269250a267eec6fd68c4a6c3d1627cfa0 \ + ${dcxx} sha1 f3704c0fd93be2c14c24b776f3e92f69b352c832 \ + ${djava} sha1 d448d64ac50bdcb3a3156800ee3422e4ccaf4d15 \ + ${dobjc} sha1 b36d17def288001e8871ba2785651b311b120246 use_bzip2 yes -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.macosforge.org/pipermail/macports-changes/attachments/20080301/ce05b941/attachment.html From mww at macports.org Sat Mar 1 08:54:39 2008 From: mww at macports.org (mww at macports.org) Date: Sat, 1 Mar 2008 08:54:39 -0800 (PST) Subject: [34649] trunk/dports/emulators/scummvm/Portfile Message-ID: <20080301165439.B4DA4144BD4C@beta.macosforge.org> Revision: 34649 http://trac.macosforge.org/projects/macports/changeset/34649 Author: mww at macports.org Date: 2008-03-01 08:54:36 -0800 (Sat, 01 Mar 2008) Log Message: ----------- version 0.11.1 Modified Paths: -------------- trunk/dports/emulators/scummvm/Portfile Modified: trunk/dports/emulators/scummvm/Portfile =================================================================== --- trunk/dports/emulators/scummvm/Portfile 2008-03-01 16:07:11 UTC (rev 34648) +++ trunk/dports/emulators/scummvm/Portfile 2008-03-01 16:54:36 UTC (rev 34649) @@ -3,7 +3,7 @@ PortSystem 1.0 name scummvm -version 0.11.0 +version 0.11.1 platforms darwin categories emulators games maintainers mww openmaintainer @@ -17,7 +17,7 @@ homepage http://scummvm.org/ master_sites sourceforge use_bzip2 yes -checksums sha1 30ca9b90a3ef035051b28335c8127c07115396fe +checksums sha1 a254d7382aa6c3f769591999f83ca9dfad939028 depends_lib port:libsdl \ port:libmad \ port:libogg \ -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.macosforge.org/pipermail/macports-changes/attachments/20080301/955a4508/attachment.html From mww at macports.org Sat Mar 1 09:23:19 2008 From: mww at macports.org (mww at macports.org) Date: Sat, 1 Mar 2008 09:23:19 -0800 (PST) Subject: [34650] trunk/dports/net/aria2/Portfile Message-ID: <20080301172319.DCDFA144BE44@beta.macosforge.org> Revision: 34650 http://trac.macosforge.org/projects/macports/changeset/34650 Author: mww at macports.org Date: 2008-03-01 09:23:18 -0800 (Sat, 01 Mar 2008) Log Message: ----------- version 0.13.0 Modified Paths: -------------- trunk/dports/net/aria2/Portfile Modified: trunk/dports/net/aria2/Portfile =================================================================== --- trunk/dports/net/aria2/Portfile 2008-03-01 16:54:36 UTC (rev 34649) +++ trunk/dports/net/aria2/Portfile 2008-03-01 17:23:18 UTC (rev 34650) @@ -3,7 +3,7 @@ PortSystem 1.0 name aria2 -version 0.12.1 +version 0.13.0 categories net platforms darwin maintainers mww @@ -13,7 +13,8 @@ homepage http://aria2.sourceforge.net/ master_sites sourceforge -checksums sha1 882a22818db2bdb808c6336c20a48a32a8d89ecc +checksums sha1 918726c4b3708ca265bfb75ccc3a5a2e536d0202 +distname ${name}c-${version} use_bzip2 yes depends_lib port:gettext port:libiconv port:gnutls port:libxml2 -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.macosforge.org/pipermail/macports-changes/attachments/20080301/9580a577/attachment.html From raimue at macports.org Sat Mar 1 10:00:13 2008 From: raimue at macports.org (raimue at macports.org) Date: Sat, 1 Mar 2008 10:00:13 -0800 (PST) Subject: [34651] trunk/dports/lang Message-ID: <20080301180013.183A0144BF95@beta.macosforge.org> Revision: 34651 http://trac.macosforge.org/projects/macports/changeset/34651 Author: raimue at macports.org Date: 2008-03-01 10:00:12 -0800 (Sat, 01 Mar 2008) Log Message: ----------- lang/python*-doc: Use dist_subdir to avoid downloading the same distfile twice Modified Paths: -------------- trunk/dports/lang/python24-doc/Portfile trunk/dports/lang/python25-doc/Portfile trunk/dports/lang/python30-doc/Portfile Modified: trunk/dports/lang/python24-doc/Portfile =================================================================== --- trunk/dports/lang/python24-doc/Portfile 2008-03-01 17:23:18 UTC (rev 34650) +++ trunk/dports/lang/python24-doc/Portfile 2008-03-01 18:00:12 UTC (rev 34651) @@ -14,6 +14,7 @@ homepage http://www.python.org/ master_sites ${homepage}ftp/python/${version}/ \ ftp://ftp.python.org/pub/python/${version}/ +dist_subdir [lindex [split $name -] 0] distname Python-${version} checksums md5 0ba90c79175c017101100ebf5978e906 patchfiles patch-configure \ Modified: trunk/dports/lang/python25-doc/Portfile =================================================================== --- trunk/dports/lang/python25-doc/Portfile 2008-03-01 17:23:18 UTC (rev 34650) +++ trunk/dports/lang/python25-doc/Portfile 2008-03-01 18:00:12 UTC (rev 34651) @@ -18,6 +18,7 @@ ftp://ftp.fastorama.com/mirrors/ftp.python.org/pub/python/${version}/ \ ftp://ftp.python.jp/pub/python/${version}/ +dist_subdir [lindex [split $name -] 0] distname Python-${version} use_bzip2 yes Modified: trunk/dports/lang/python30-doc/Portfile =================================================================== --- trunk/dports/lang/python30-doc/Portfile 2008-03-01 17:23:18 UTC (rev 34650) +++ trunk/dports/lang/python30-doc/Portfile 2008-03-01 18:00:12 UTC (rev 34651) @@ -13,6 +13,7 @@ homepage http://www.python.org master_sites http://www.python.org/ftp/python/3.0/ +dist_subdir [lindex [split $name -] 0] distname Python-${version} extract.suffix .tgz checksums md5 03e5e8676997cb9a27633b6db25ac80c -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.macosforge.org/pipermail/macports-changes/attachments/20080301/1e072bfd/attachment.html From markd at macports.org Sat Mar 1 10:53:56 2008 From: markd at macports.org (markd at macports.org) Date: Sat, 1 Mar 2008 10:53:56 -0800 (PST) Subject: [34652] distfiles/scotty/ Message-ID: <20080301185356.C8E6F144C105@beta.macosforge.org> Revision: 34652 http://trac.macosforge.org/projects/macports/changeset/34652 Author: markd at macports.org Date: 2008-03-01 10:53:55 -0800 (Sat, 01 Mar 2008) Log Message: ----------- Directory for the scotty tarball. Added Paths: ----------- distfiles/scotty/ -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.macosforge.org/pipermail/macports-changes/attachments/20080301/53a0c020/attachment.html From markd at macports.org Sat Mar 1 10:54:46 2008 From: markd at macports.org (markd at macports.org) Date: Sat, 1 Mar 2008 10:54:46 -0800 (PST) Subject: [34653] distfiles Message-ID: <20080301185446.5CADF144C11E@beta.macosforge.org> Revision: 34653 http://trac.macosforge.org/projects/macports/changeset/34653 Author: markd at macports.org Date: 2008-03-01 10:54:46 -0800 (Sat, 01 Mar 2008) Log Message: ----------- Move scotty tarball from personal distfiles structure to the port-based one. Added Paths: ----------- distfiles/scotty/scotty-3.0.0-rev2327.tar.bz2 Removed Paths: ------------- distfiles/markd/scotty-3.0.0-rev2327.tar.bz2 Deleted: distfiles/markd/scotty-3.0.0-rev2327.tar.bz2 =================================================================== (Binary files differ) Copied: distfiles/scotty/scotty-3.0.0-rev2327.tar.bz2 (from rev 34652, distfiles/markd/scotty-3.0.0-rev2327.tar.bz2) =================================================================== (Binary files differ) -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.macosforge.org/pipermail/macports-changes/attachments/20080301/5d2867fa/attachment.html From markd at macports.org Sat Mar 1 12:17:23 2008 From: markd at macports.org (markd at macports.org) Date: Sat, 1 Mar 2008 12:17:23 -0800 (PST) Subject: [34654] distfiles/scotty Message-ID: <20080301201723.9C6E0144C2D2@beta.macosforge.org> Revision: 34654 http://trac.macosforge.org/projects/macports/changeset/34654 Author: markd at macports.org Date: 2008-03-01 12:17:21 -0800 (Sat, 01 Mar 2008) Log Message: ----------- Update scotty tarball. Added Paths: ----------- distfiles/scotty/scotty-3.0.0-rev2813.tar.bz2 Removed Paths: ------------- distfiles/scotty/scotty-3.0.0-rev2327.tar.bz2 Deleted: distfiles/scotty/scotty-3.0.0-rev2327.tar.bz2 =================================================================== (Binary files differ) Added: distfiles/scotty/scotty-3.0.0-rev2813.tar.bz2 =================================================================== (Binary files differ) Property changes on: distfiles/scotty/scotty-3.0.0-rev2813.tar.bz2 ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Name: svn:mimetype + application/octet-stream -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.macosforge.org/pipermail/macports-changes/attachments/20080301/70885704/attachment-0001.html From markd at macports.org Sat Mar 1 12:24:54 2008 From: markd at macports.org (markd at macports.org) Date: Sat, 1 Mar 2008 12:24:54 -0800 (PST) Subject: [34655] trunk/dports/net/scotty/Portfile Message-ID: <20080301202454.8671D144C37F@beta.macosforge.org> Revision: 34655 http://trac.macosforge.org/projects/macports/changeset/34655 Author: markd at macports.org Date: 2008-03-01 12:24:53 -0800 (Sat, 01 Mar 2008) Log Message: ----------- Update the tarball to the latest svn export. Modified Paths: -------------- trunk/dports/net/scotty/Portfile Modified: trunk/dports/net/scotty/Portfile =================================================================== --- trunk/dports/net/scotty/Portfile 2008-03-01 20:17:21 UTC (rev 34654) +++ trunk/dports/net/scotty/Portfile 2008-03-01 20:24:53 UTC (rev 34655) @@ -1,11 +1,12 @@ # $Id$ + PortSystem 1.0 name scotty version 3.0.0 -revision 3 +revision 4 categories net -maintainers markd at macports.org +maintainers markd description Network management extensions to Tcl that enables \ TCP/UDP connections, DNS queries, and SNMP. The graphical \ network mapper tkined is also included. @@ -14,9 +15,9 @@ platforms darwin worksrcdir ${name}/trunk -master_sites macports:markd -checksums md5 1ab2bf8e26e2e2c697b79ca678209f08 -distfiles ${name}-${version}-rev2327.tar.bz2 +master_sites macports +checksums md5 40e1aeeee79767b882a78910ad177f78 +distfiles ${name}-${version}-rev2813.tar.bz2 use_bzip2 yes #fetch.type svn -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.macosforge.org/pipermail/macports-changes/attachments/20080301/9d45ffba/attachment.html From dluke at macports.org Sat Mar 1 12:44:59 2008 From: dluke at macports.org (dluke at macports.org) Date: Sat, 1 Mar 2008 12:44:59 -0800 (PST) Subject: [34656] trunk/dports/PortIndex Message-ID: <20080301204459.1F381144C444@beta.macosforge.org> Revision: 34656 http://trac.macosforge.org/projects/macports/changeset/34656 Author: dluke at macports.org Date: 2008-03-01 12:44:56 -0800 (Sat, 01 Mar 2008) Log Message: ----------- Total number of ports parsed: 4536 Ports successfully parsed: 4536 Ports failed: 0 Modified Paths: -------------- trunk/dports/PortIndex Modified: trunk/dports/PortIndex =================================================================== --- trunk/dports/PortIndex 2008-03-01 20:24:53 UTC (rev 34655) +++ trunk/dports/PortIndex 2008-03-01 20:44:56 UTC (rev 34656) @@ -1750,6 +1750,8 @@ variants {universal powerpc} portdir emulators/dosbox description {DOS-emulator featuring 386 realmode, filesystem, XMS, EMS} homepage http://dosbox.sourceforge.net/ epoch 0 platforms darwin name dosbox depends_lib {port:libsdl port:libsdl_net port:libsdl_sound port:libpng port:zlib} maintainers nomaintainer long_description {DOSBox is a DOS-emulator that uses the SDL-library. It also emulates CPU:286/386 realmode, directory file system/XMS/EMS, a SoundBlaster card for excellent sound compatibility with older games.} version 0.72 categories emulators revision 0 freesci 485 variants {universal sdl} portdir emulators/freesci description {Interpreter for SCI (old Sierra Online) games} homepage http://freesci.linuxgames.com/ epoch 0 platforms darwin name freesci depends_lib lib:libX11.6:XFree86 maintainers blb at macports.org long_description {FreeSCI is a portable interpreter for SCI games, such as the Space Quest series (starting with SQ3) or Leisure Suit Larry (2 and sequels). FreeSCI is still incomplete.} version 0.3.4c categories emulators revision 0 +lisaem 266 +description {Apple Lisa emulator} portdir emulators/lisaem homepage http://lisa.sunder.net/ epoch 0 platforms darwin name lisaem depends_lib port:wxWidgets maintainers ryandesign long_description {{Apple Lisa emulator}} version 1.2.6 categories emulators revision 0 mednafen 816 variants universal portdir emulators/mednafen description {Super-fast and super-compatible emulator for many video game systems} homepage http://mednafen.sourceforge.net/ epoch 0 platforms darwin name mednafen depends_lib {port:libsdl port:libsdl_net port:libsndfile port:libcdio port:zlib} maintainers adamw at freebsd.org long_description {Medfafen is a portable (utilizing OpenGL and SDL) argument-driven multi-system emulator with many advanced features. The Atari Lynx, GameBoy, GameBoy Colour, GameBoy Advance, NES, PC Engine (TurboGrafx 16) and SuperGrafx are emulated. Mednafen has the ability to remap hotkey functions and virtual system inputs to a keyboard, a joystick, or both simultaneously. Save states are supported, as is real-time game rewinding.} version 0.8.1 categories {emulators games} revision 1 minivmac 911 @@ -1761,7 +1763,7 @@ qemu-usermode 521 variants {universal darwin_8} description {x86 and PowerPC Emulator} portdir emulators/qemu-usermode homepage http://fabrice.bellard.free.fr/ epoch 0 platforms darwin name qemu-usermode long_description {QEMU is a FAST! processor emulator using dynamic translation to achieve good emulation speed. It can emulate a Full PC System and has basic support for PowerMac Emulation. This port has no GUI and only supports user mode emulation (darwin/i386 and ppc).} maintainers mww categories emulators version 0.9.0 revision 0 scummvm 615 -variants universal portdir emulators/scummvm description {cross-platform interpreter for several adventure engines} homepage http://scummvm.org/ epoch 0 platforms darwin name scummvm depends_lib {port:libsdl port:libmad port:libogg port:libvorbis port:libmpeg2 port:flac} maintainers {mww openmaintainer} long_description {ScummVM is a cross-platform interpreter for several point-and-click adventure engines. This includes all SCUMM-based adventures by LucasArts, Simon the Sorcerer by AdventureSoft, and Beneath a Steel Sky and Broken Sword 2 by Revolution} version 0.11.0 categories {emulators games} revision 0 +variants universal portdir emulators/scummvm description {cross-platform interpreter for several adventure engines} homepage http://scummvm.org/ epoch 0 platforms darwin name scummvm depends_lib {port:libsdl port:libmad port:libogg port:libvorbis port:libmpeg2 port:flac} maintainers {mww openmaintainer} long_description {ScummVM is a cross-platform interpreter for several point-and-click adventure engines. This includes all SCUMM-based adventures by LucasArts, Simon the Sorcerer by AdventureSoft, and Beneath a Steel Sky and Broken Sword 2 by Revolution} version 0.11.1 categories {emulators games} revision 0 sheepshaver 679 variants {universal no_x11} depends_build {port:autoconf port:automake} portdir emulators/sheepshaver description {PowerPC Mac OS run-time environment} homepage http://sheepshaver.cebix.net/ epoch 0 platforms darwin depends_lib {port:libsdl port:gtk2} name sheepshaver maintainers opendarwin.nospam at vercruesse.de long_description {SheepShaver is an Open Source PowerPC Mac OS run-time environment. That is, it enables you to run PowerPC Classic Mac OS software on your computer, even if you are using a different operating system. However, you still need a copy of Mac OS and a Power Macintosh ROM image to use this program.} version 2.3-20060318 categories emulators revision 0 simh 678 @@ -3389,9 +3391,9 @@ gcc42 390 variants {universal odcctools} portdir lang/gcc42 description {The GNU compiler collection} homepage http://gcc.gnu.org/ epoch 0 platforms darwin name gcc42 depends_lib {port:gmp port:mpfr port:libiconv} maintainers mww long_description {The GNU compiler collection, including front ends for C, C++, Objective-C, Objective-C++, Java and Fortran95.} version 4.2.3 categories lang revision 0 gcc43 743 -variants {universal powerpc odcctools gfortran} variant_desc {odcctools {Use the odcctools instead of the system provided ones - does not work for x64 currently!} gfortran {Enables fortran; this language will be enabled in the final version - this variant is completely untested!}} portdir lang/gcc43 description {The GNU compiler collection, prerelease BETA} homepage http://gcc.gnu.org/ epoch 0 platforms darwin name gcc43 depends_lib {port:gmp port:mpfr port:libiconv} maintainers mww long_description {The GNU compiler collection, including front ends for C, C++, Objective-C and Objective-C++. This is a prerelease BETA version and does not have all available language front ends enabled.} version 4.3-20080221 categories lang revision 0 +variants {universal powerpc odcctools gfortran} variant_desc {odcctools {Use the odcctools instead of the system provided ones - does not work for x64 currently!} gfortran {Enables fortran; this language will be enabled in the final version - this variant is completely untested!}} portdir lang/gcc43 description {The GNU compiler collection, prerelease BETA} homepage http://gcc.gnu.org/ epoch 0 platforms darwin name gcc43 depends_lib {port:gmp port:mpfr port:libiconv} maintainers mww long_description {The GNU compiler collection, including front ends for C, C++, Objective-C and Objective-C++. This is a prerelease BETA version and does not have all available language front ends enabled.} version 4.3-20080228 categories lang revision 0 gcc44 743 -variants {universal powerpc odcctools gfortran} variant_desc {odcctools {Use the odcctools instead of the system provided ones - does not work for x64 currently!} gfortran {Enables fortran; this language will be enabled in the final version - this variant is completely untested!}} portdir lang/gcc44 description {The GNU compiler collection, prerelease BETA} homepage http://gcc.gnu.org/ epoch 0 platforms darwin name gcc44 depends_lib {port:gmp port:mpfr port:libiconv} maintainers mww long_description {The GNU compiler collection, including front ends for C, C++, Objective-C and Objective-C++. This is a prerelease BETA version and does not have all available language front ends enabled.} version 4.4-20080222 categories lang revision 0 +variants {universal powerpc odcctools gfortran} variant_desc {odcctools {Use the odcctools instead of the system provided ones - does not work for x64 currently!} gfortran {Enables fortran; this language will be enabled in the final version - this variant is completely untested!}} portdir lang/gcc44 description {The GNU compiler collection, prerelease BETA} homepage http://gcc.gnu.org/ epoch 0 platforms darwin name gcc44 depends_lib {port:gmp port:mpfr port:libiconv} maintainers mww long_description {The GNU compiler collection, including front ends for C, C++, Objective-C and Objective-C++. This is a prerelease BETA version and does not have all available language front ends enabled.} version 4.4-20080229 categories lang revision 0 gccxml 351 variants universal depends_build port:cmake portdir lang/gccxml description {generates XML description of C++ code} homepage http://www.gccxml.org/ epoch 0 platforms darwin name gccxml maintainers nomaintainer long_description {generates an XML description of a C++ program from GCC's internal representation} version 0.6.0 categories lang revision 0 gcj34 546 @@ -3869,7 +3871,7 @@ fftw 825 variants {universal fortran} description {Fast C routines to compute the Discrete Fourier Transform} portdir math/fftw homepage http://www.fftw.org/ epoch 0 platforms darwin name fftw long_description {FFTW is a C subroutine library for computing the Discrete Fourier Transform (DFT) in one or more dimensions, of both real and complex data, and of arbitrary input size. We believe that FFTW, which is free software, should become the FFT library of choice for most applications. Our benchmarks, performed on a variety of platforms, show that FFTW's performance is typically superior to that of other publicly available FFT software. Moreover, FFTW's performance is portable: the program will perform well on most architectures without modification.} maintainers nomaintainer categories {math devel} version 2.1.5 revision 2 fftw-3 997 -variants {universal fortran g95} variant_desc {fortran {uses gfortran} g95 {uses g95}} portdir math/fftw-3 description {Fast C routines to compute the Discrete Fourier Transform} homepage http://www.fftw.org/ epoch 0 platforms darwin name fftw-3 maintainers takeshi at macports.org long_description {FFTW is a C subroutine library for computing the Discrete Fourier Transform (DFT) in one or more dimensions, of both real and complex data, and of arbitrary input size. We believe that FFTW, which is free software, should become the FFT library of choice for most applications. Our benchmarks, performed on a variety of platforms, show that FFTW's performance is typically superior to that of other publicly available FFT software. Moreover, FFTW's performance is portable: the program will perform well on most architectures without modification. This port is of fftw version 3.x. It has many improvements relative to 2.x, but is not backwardly compatible.} version 3.1.2 categories math rev ision 2 +variants {universal fortran g95} variant_desc {fortran {uses gfortran} g95 {uses g95}} portdir math/fftw-3 description {Fast C routines to compute the Discrete Fourier Transform} homepage http://www.fftw.org/ epoch 0 platforms darwin name fftw-3 maintainers takeshi at macports.org long_description {FFTW is a C subroutine library for computing the Discrete Fourier Transform (DFT) in one or more dimensions, of both real and complex data, and of arbitrary input size. We believe that FFTW, which is free software, should become the FFT library of choice for most applications. Our benchmarks, performed on a variety of platforms, show that FFTW's performance is typically superior to that of other publicly available FFT software. Moreover, FFTW's performance is portable: the program will perform well on most architectures without modification. This port is of fftw version 3.x. It has many improvements relative to 2.x, but is not backwardly compatible.} version 3.1.2 categories math rev ision 3 fftw-3-single 1088 variants {universal powerpc fortran g95} variant_desc {fortran {Use gfortran-mp-4.2 as fortran compiler} g95 {Use g95 as fortran compiler}} portdir math/fftw-3-single description {Fast C routines to compute the Discrete Fourier Transform} homepage http://www.fftw.org/ epoch 0 platforms darwin name fftw-3-single depends_lib port:fftw-3 maintainers {ram openmaintainer} long_description {FFTW is a C subroutine library for computing the Discrete Fourier Transform (DFT) in one or more dimensions, of both real and complex data, and of arbitrary input size. We believe that FFTW, which is free software, should become the FFT library of choice for most applications. Our benchmarks, performed on a variety of platforms, show that FFTW's performance is typically superior to that of other publicly available FFT software. Moreover, FFTW's performance is portable: the program will perform well on most architectures without modification. This port is of fftw version 3.x. It has many improve ments relative to 2.x, but is not backwardly compatible.} version 3.1.2 categories math revision 2 fftw-single 836 @@ -4057,7 +4059,7 @@ argus-monitor 621 variants {universal apple_postfix} portdir net/argus-monitor description {The All Seeing System and Network Monitoring Software} homepage http://argus.tcp4me.com/ epoch 0 platforms darwin name argus-monitor depends_lib {port:perl5.8 port:postfix port:openssl port:freetype port:gd2 port:fping port:db44 port:p5-dbi port:p5-berkeleydb port:p5-socket6 port:p5-gd port:p5-time-hires port:p5-net-ssleay port:p5-digest-hmac port:p5-digest-md5 port:p5-digest-sha1 port:p5-crypt-des} maintainers markd at macports.org long_description {{The All Seeing System and Network Monitoring Software}} version 3.5 categories net revision 0 aria2 445 -variants universal portdir net/aria2 description {download utility with resuming and segmented downloading} homepage http://aria2.sourceforge.net/ epoch 0 platforms darwin name aria2 depends_lib {port:gettext port:libiconv port:gnutls port:libxml2} maintainers mww long_description {aria2 is a download utility with resuming and segmented downloading. Supported protocols are HTTP/HTTPS/FTP/BitTorrent.} version 0.12.1 categories net revision 0 +variants universal portdir net/aria2 description {download utility with resuming and segmented downloading} homepage http://aria2.sourceforge.net/ epoch 0 platforms darwin name aria2 depends_lib {port:gettext port:libiconv port:gnutls port:libxml2} maintainers mww long_description {aria2 is a download utility with resuming and segmented downloading. Supported protocols are HTTP/HTTPS/FTP/BitTorrent.} version 0.13.0 categories net revision 0 arla 544 variants {universal krbafs} portdir net/arla description {free AFS implementation from KTH} homepage http://www.stacken.kth.se/projekt/arla/ epoch 0 platforms darwin name arla depends_lib lib:krbafs:krbafs maintainers nomaintainer long_description {Arla is a free AFS client implementation. The main goal of the Arla project is to make a fully functional client with all capabilities of commercial AFS. Other planned and implemented things are all the normal management tools and a server.} version 0.35.11 categories {net security} revision 1 arpd 339 @@ -4562,8 +4564,8 @@ variants universal portdir net/scapy description {A powerful packet manipulation tool} homepage http://www.secdev.org/projects/scapy epoch 0 platforms darwin depends_lib {port:python24 port:py-readline port:py-pylibpcap port:py-libdnet port:py-crypto port:py-gnuplot port:py-pyx port:graphviz} name scapy maintainers pmq long_description {Scapy is a powerful interactive packet manipulation program. It is able to forge or decode packets of a wide number of protocols, send them on the wire, capture them, match requests and replies, and much more. It can easily handle most classical tasks like scanning, tracerouting, probing, unit tests, attacks or network discovery (it can replace hping, 85% of nmap, arpspoof, arp-sk, arping, tcpdump, tethereal, p0f, etc.). It also performs very well at a lot of other specific tasks that most other tools can't handle, like sending invalid frames, injecting your own 802.11 frames, combining technics (VLAN hopping+ARP cache poisoning, VOIP decodin g on WEP encrypted channel, ...), etc.} categories {net security python} version 1.2.0.2 revision 0 sclj 361 variants universal portdir net/sclj description {A livejournal client} homepage http://sclj.sourceforge.net/ epoch 0 depends_run port:perl5.8 platforms darwin name sclj maintainers kayos at genetikayos.com long_description {JLJ is a command-line interface for posting to livejournal. Posts are edited in your default editor.} version 3.2 categories net revision 0 -scotty 572 -variants {universal darwin_8} portdir net/scotty description {Network management extensions to Tcl that enables TCP/UDP connections, DNS queries, and SNMP. The graphical network mapper tkined is also included.} homepage http://wiki.tcl.tk/220 epoch 0 platforms darwin name scotty depends_lib {lib:libX11.6:XFree86 port:tcl port:tk} maintainers markd at macports.org long_description {{Network management extensions to Tcl that enables TCP/UDP connections, DNS queries, and SNMP. The graphical network mapper tkined is also included.}} version 3.0.0 categories net revision 3 +scotty 559 +variants {universal darwin_8} portdir net/scotty description {Network management extensions to Tcl that enables TCP/UDP connections, DNS queries, and SNMP. The graphical network mapper tkined is also included.} homepage http://wiki.tcl.tk/220 epoch 0 platforms darwin name scotty depends_lib {lib:libX11.6:XFree86 port:tcl port:tk} maintainers markd long_description {{Network management extensions to Tcl that enables TCP/UDP connections, DNS queries, and SNMP. The graphical network mapper tkined is also included.}} version 3.0.0 categories net revision 4 sendfile 628 variants universal description {A saft suite for asynchronous transfers} portdir net/sendfile homepage http://www.BelWue.DE/projekte/saft/index-us.html epoch 0 platforms darwin name sendfile long_description {Sendfile is a SAFT implementation for UNIX and serves as a tool for asynchronous sending of files in the internet, conserving their file attributes. It consists of the following parts: sendfiled - the server daemon sendfile - a client for sending files sendmsg - a client for sending one-line text messages receive - a client for receiving spooled files} maintainers nomaintainer categories net version 2.1a revision 3 sendpage 501 -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.macosforge.org/pipermail/macports-changes/attachments/20080301/bb8fbf07/attachment.html From jmr at macports.org Sat Mar 1 13:11:38 2008 From: jmr at macports.org (jmr at macports.org) Date: Sat, 1 Mar 2008 13:11:38 -0800 (PST) Subject: [34657] trunk/dports/emulators/bochs Message-ID: <20080301211138.0A0C4144C51C@beta.macosforge.org> Revision: 34657 http://trac.macosforge.org/projects/macports/changeset/34657 Author: jmr at macports.org Date: 2008-03-01 13:11:35 -0800 (Sat, 01 Mar 2008) Log Message: ----------- bochs: make port lint happy Modified Paths: -------------- trunk/dports/emulators/bochs/Portfile Added Paths: ----------- trunk/dports/emulators/bochs/files/patch-.bochsrc.diff Removed Paths: ------------- trunk/dports/emulators/bochs/files/patch-.bochsrc Modified: trunk/dports/emulators/bochs/Portfile =================================================================== --- trunk/dports/emulators/bochs/Portfile 2008-03-01 20:44:56 UTC (rev 34656) +++ trunk/dports/emulators/bochs/Portfile 2008-03-01 21:11:35 UTC (rev 34657) @@ -1,6 +1,7 @@ # $Id$ PortSystem 1.0 + name bochs version 2.3.5 categories emulators @@ -13,9 +14,9 @@ platforms darwin homepage http://bochs.sourceforge.net/ master_sites sourceforge -checksums md5 2d9b2c1e17b4eba2d46b208be09df4a9 +checksums md5 2d9b2c1e17b4eba2d46b208be09df4a9 -patchfiles patch-.bochsrc +patchfiles patch-.bochsrc.diff depends_run port:wget @@ -28,13 +29,12 @@ --enable-vbe \ --enable-cdrom -variant smp { -# Enable symmetric multi-processor support +variant smp description {Enable symmetric multi-processor support} { configure.args-append --enable-smp --enable-cpu-level=6 } pre-destroot { - xinstall -m 755 -d ${destroot}${prefix}/bin + xinstall -m 755 -d ${destroot}${prefix}/bin xinstall -m 755 -d ${destroot}${prefix}/share/bochs xinstall -m 755 -d ${destroot}/Applications/MacPorts } Deleted: trunk/dports/emulators/bochs/files/patch-.bochsrc =================================================================== --- trunk/dports/emulators/bochs/files/patch-.bochsrc 2008-03-01 20:44:56 UTC (rev 34656) +++ trunk/dports/emulators/bochs/files/patch-.bochsrc 2008-03-01 21:11:35 UTC (rev 34657) @@ -1,29 +0,0 @@ ---- .bochsrc.org 2006-03-27 20:38:21.000000000 -0800 -+++ .bochsrc 2006-03-27 22:59:54.000000000 -0800 -@@ -182,7 +182,7 @@ - # such as a: or b: as the path. The parameter 'image' works with image files - # only. In that case the size must match one of the supported types. - #======================================================================= --floppya: 1_44=/dev/fd0, status=inserted -+#floppya: 1_44=/dev/fd0, status=inserted - #floppya: image=../1.44, status=inserted - #floppya: 1_44=/dev/fd0H1440, status=inserted - #floppya: 1_2=../1_2, status=inserted -@@ -442,7 +442,7 @@ - # parport2: enabled=1, file="/dev/lp0" - # parport1: enabled=0 - #======================================================================= --parport1: enabled=1, file="parport.out" -+#parport1: enabled=1, file="parport.out" - - #======================================================================= - # SB16: -@@ -479,7 +479,7 @@ - # For an example look at the next line: - #======================================================================= - --#sb16: midimode=1, midi=/dev/midi00, wavemode=1, wave=/dev/dsp, loglevel=2, log=sb16.log, dmatimer=600000 -+sb16: midimode=1, midi=/dev/midi00, wavemode=1, wave=/dev/dsp, loglevel=2, log=sb16.log, dmatimer=600000 - - #======================================================================= - # VGA_UPDATE_INTERVAL: Copied: trunk/dports/emulators/bochs/files/patch-.bochsrc.diff (from rev 34650, trunk/dports/emulators/bochs/files/patch-.bochsrc) =================================================================== --- trunk/dports/emulators/bochs/files/patch-.bochsrc.diff (rev 0) +++ trunk/dports/emulators/bochs/files/patch-.bochsrc.diff 2008-03-01 21:11:35 UTC (rev 34657) @@ -0,0 +1,29 @@ +--- .bochsrc.org 2006-03-27 20:38:21.000000000 -0800 ++++ .bochsrc 2006-03-27 22:59:54.000000000 -0800 +@@ -182,7 +182,7 @@ + # such as a: or b: as the path. The parameter 'image' works with image files + # only. In that case the size must match one of the supported types. + #======================================================================= +-floppya: 1_44=/dev/fd0, status=inserted ++#floppya: 1_44=/dev/fd0, status=inserted + #floppya: image=../1.44, status=inserted + #floppya: 1_44=/dev/fd0H1440, status=inserted + #floppya: 1_2=../1_2, status=inserted +@@ -442,7 +442,7 @@ + # parport2: enabled=1, file="/dev/lp0" + # parport1: enabled=0 + #======================================================================= +-parport1: enabled=1, file="parport.out" ++#parport1: enabled=1, file="parport.out" + + #======================================================================= + # SB16: +@@ -479,7 +479,7 @@ + # For an example look at the next line: + #======================================================================= + +-#sb16: midimode=1, midi=/dev/midi00, wavemode=1, wave=/dev/dsp, loglevel=2, log=sb16.log, dmatimer=600000 ++sb16: mid