# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4 # $Id$ PortSystem 1.0 PortGroup python27 1.0 PortGroup app 1.0 name quodlibet version 2.6.2 categories-append audio gnome maintainers elelay rmstonecipher openmaintainer license GPL-2 platforms darwin description audio library manager and player for GTK+ long_description \ Quod Libet is a GTK+-based audio player written in Python, \ using the Mutagen tagging library and GStreamer for playback.\ It provides several different ways to view your audio library, \ as well as support for Internet radio and audio feeds.\ It has extremely flexible metadata tag editing and searching capabilities. homepage http://code.google.com/p/quodlibet/ master_sites googlecode distfiles-append ${name}-plugins-${version}${extract.suffix} checksums ${name}-${version}.tar.gz \ rmd160 72856fee627f0ab3e41f2e3863f225bb67b4260d \ sha256 1ea895483d96cf9eeda21a1c94c3e6e2ed1bde81c97af381bcdabaefef62f62f \ ${name}-plugins-${version}.tar.gz \ rmd160 e37154cdc1208fb39a9b66e8a26e5bc5e89f1338 \ sha256 18edfe628e2cf21ba21126a54ae56ee2408c21e40ae11c762b305e49539b24ba depends_build port:intltool \ port:librsvg depends_lib port:dbus-python27 \ port:gstreamer010-gst-plugins-good \ port:py27-gst-python \ port:py27-mutagen \ 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 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|(APPL)|\1 LSUIElement1|} \ # "${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}"