[109395] trunk/dports/python/quodlibet

elelay at macports.org elelay at macports.org
Wed Aug 14 14:14:11 PDT 2013


Revision: 109395
          https://trac.macports.org/changeset/109395
Author:   elelay at macports.org
Date:     2013-08-14 14:14:11 -0700 (Wed, 14 Aug 2013)
Log Message:
-----------
quodlibet: upgrade to 2.6.2, build an application

Modified Paths:
--------------
    trunk/dports/python/quodlibet/Portfile

Added Paths:
-----------
    trunk/dports/python/quodlibet/files/
    trunk/dports/python/quodlibet/files/patch-ignore_psn.diff

Modified: trunk/dports/python/quodlibet/Portfile
===================================================================
--- trunk/dports/python/quodlibet/Portfile	2013-08-14 20:57:25 UTC (rev 109394)
+++ trunk/dports/python/quodlibet/Portfile	2013-08-14 21:14:11 UTC (rev 109395)
@@ -3,9 +3,10 @@
 
 PortSystem          1.0
 PortGroup           python27 1.0
+PortGroup           app 1.0
 
 name                quodlibet
-version             2.5.1
+version             2.6.2
 categories-append   audio gnome
 maintainers         elelay rmstonecipher openmaintainer
 license             GPL-2
@@ -25,13 +26,14 @@
 distfiles-append    ${name}-plugins-${version}${extract.suffix}
 
 checksums           ${name}-${version}.tar.gz \
-                    rmd160  75d61781ee8b92284544243eef614bcfabefbd6f \
-                    sha256  39c8b480b4180cfafe573ee12b4f74603b64c41d05411caf295205b2b2e862f8 \
+                    rmd160  72856fee627f0ab3e41f2e3863f225bb67b4260d \
+                    sha256  1ea895483d96cf9eeda21a1c94c3e6e2ed1bde81c97af381bcdabaefef62f62f \
                     ${name}-plugins-${version}.tar.gz \
-                    rmd160  8010b2cd0b6594b83ecf978ba2f74e4cf81ebb0b \
-                    sha256  3f50057815b80d9597f341e3bdd66f2d298e74e1e4e47d7d740a7dd4f93b3d70
+                    rmd160  e37154cdc1208fb39a9b66e8a26e5bc5e89f1338 \
+                    sha256  18edfe628e2cf21ba21126a54ae56ee2408c21e40ae11c762b305e49539b24ba
 
-depends_build       port:intltool
+depends_build       port:intltool \
+                    port:librsvg
 depends_lib         port:dbus-python27 \
                     port:gstreamer010-gst-plugins-good \
                     port:py27-gst-python \
@@ -39,19 +41,55 @@
                     port:py27-feedparser \
                     port:python-musicbrainz2
 
+# when run as an application, the argument -psn_x_xxxxx is passed to the program
+# but quodlibet is not prepared to handle it...
+patchfiles          patch-ignore_psn.diff
+
+variant quartz description {use the native OSX toolkit} {
+    # to keep the icon in the doc when not x11 (see post-destroot)
+}
+
 post-patch {
-    foreach file { quodlibet.py exfalso.py } {
+    foreach file { quodlibet.py exfalso.py operon.py } {
         reinplace "s|/usr/bin/env python|${frameworks_dir}/Python.framework/Versions/2.7/bin/python2.7|g" \
             ${worksrcpath}/${file}
     }
 }
 
+
 post-destroot {
     system "cd ${workpath}/${name}-plugins-${version}/ && cp -vR * ${destroot}/${python.pkgd}/${name}/plugins/"
+
+    # icon keeps bouncing in the dock otherwise
+    # if {![variant_isset quartz]} {
+        # reinplace -E {s|(<string>APPL</string>)|\1 <key>LSUIElement</key><string>1</string>|} \
+                 # "${destroot}${applications_dir}/Quodlibet.app/Contents/Info.plist"
+    # }
+    # 
+    # # generate nicer icon (no png scaling)
+    # set makeicnsargs {}
+    # foreach w {16 32 128 256 512} {
+        # lappend makeicnsargs -$w ${worksrcpath}/${w}.png
+        # 
+        # if {[catch {exec ${prefix}/bin/rsvg-convert -w $w -h $w ${worksrcpath}/${app.icon} > ${worksrcpath}/$w.png }]} {
+            # return -code error "${app.icon} could not be converted to png: $::errorInfo"
+        # }
+    # }
+    # if {[catch {eval exec ${prefix}/bin/makeicns $makeicnsargs -out ${destroot}${applications_dir}/${app.name}.app/Contents/Resources/${app.name}.icns 2>@1}]} {
+        # return -code error "app.icns could not be created: $::errorInfo"
+    # }
 }
 
+# makeicns doesn't know how to generate icns out of svg (rasterizing + making icns)
+# still the app.icon is provided so that makeicns is added as dependency and maybe one day
+# app portgroup will itself rasterize if svg file is given...
+app.icon       quodlibet/images/hicolor/scalable/apps/quodlibet.svg
+
+app.executable "${frameworks_dir}/Python.framework/Versions/2.7/bin/quodlibet"
+
+
 notes "If you want to play mp3 files, don't forget to install gstreamer010-gst-plugins-ugly"
 
-livecheck.type		regex
-livecheck.url		${homepage}downloads/list
-livecheck.regex		"${name}-(\\d+(?:\\.\\d+)*)${extract.suffix}"
+livecheck.type      regex
+livecheck.url       ${homepage}downloads/list
+livecheck.regex     "${name}-(\\d+(?:\\.\\d+)*)${extract.suffix}"

Added: trunk/dports/python/quodlibet/files/patch-ignore_psn.diff
===================================================================
--- trunk/dports/python/quodlibet/files/patch-ignore_psn.diff	                        (rev 0)
+++ trunk/dports/python/quodlibet/files/patch-ignore_psn.diff	2013-08-14 21:14:11 UTC (rev 109395)
@@ -0,0 +1,11 @@
+--- quodlibet/util/__init__.py.old	2013-08-14 16:07:20.000000000 +0200
++++ quodlibet/util/__init__.py	2013-08-14 16:04:50.000000000 +0200
+@@ -175,6 +175,8 @@
+     def parse(self, args=None):
+         if args is None:
+             args = sys.argv[1:]
++        print "CmdLine is " + " ".join(args)
++        args = [a for a in args if not a.startswith("-psn_")]
+         from getopt import getopt, GetoptError
+         try:
+             opts, args = getopt(args, self.__shorts(), self.__longs())
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macports-changes/attachments/20130814/5266e1d7/attachment.html>


More information about the macports-changes mailing list