# -*- 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 python 1.0 PortGroup app 1.0 PortGroup active_variants 1.1 name quodlibet version 3.7.0 categories-append audio gnome maintainers elelay 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 https://bitbucket.org/lazka/quodlibet-files/raw/default/releases checksums rmd160 79de656b82175c0817d2667cfe1aa926d172e41c \ sha256 326be5ea5a2033017d2b944f44ee6c488037c976cee904ebcd82adf472f30e81 python.default_version 27 depends_build port:intltool \ port:librsvg depends_lib port:dbus-python27 \ port:gstreamer1-gst-plugins-good \ port:py27-mutagen \ port:py27-feedparser \ port:py27-gobject3 \ port:py27-pyobjc-cocoa depends_run port:gnome-themes-standard # - patch-ignore_psn.diff # 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 { depends_lib-append port:gtk-osx-application-gtk3 } post-patch { foreach file { quodlibet.py exfalso.py operon.py } { reinplace "s|/usr/bin/env python2|${frameworks_dir}/Python.framework/Versions/2.7/bin/python2.7|g" \ ${worksrcpath}/${file} } } post-destroot { # 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... # see https://trac.macports.org/ticket/40109 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 gstreamer1-gst-plugins-ugly" livecheck.type regex livecheck.url https://${name}.readthedocs.org/en/latest/downloads.html livecheck.regex "${name}-(\\d+(?:\\.\\d+)*)${extract.suffix}"