diff --git a/media-sound/picard/additional-files/picard.rdef.in b/media-sound/picard/additional-files/picard.rdef.in new file mode 100644 index 000000000..d6d0b3b1b --- /dev/null +++ b/media-sound/picard/additional-files/picard.rdef.in @@ -0,0 +1,123 @@ +resource app_signature "application/x-vnd.musicbrainz-picard"; + +resource app_flags B_MULTIPLE_LAUNCH; + +resource app_version { + major = @MAJOR@, + middle = @MIDDLE@, + minor = @MINOR@, + + variety = B_APPV_FINAL, + internal = 0, + + short_info = "MusicBrainz Picard", + long_info = "MusicBrainz's music tagger" +}; + +resource vector_icon array { + $"6E6369660603EB733B03771B850359136303B66BC203FFFEDB03D3562A140A04" + $"C016CBD3CA63C5E9CA63B96AC016B3810A04B4F1B96AB4F1C5E9BF3ECBD3BF3E" + $"B3810A06BB44BAAEB83BBC2429C4FEB97CC442BBEDC5FCBD92BD22020CBF3FBA" + $"29BF3FBA29BF37BA27BF25BA23BF2EBA25BE2BB9E8BB0FBB9FBC5EB97DBAFCBB" + $"9CBAD6BB9ABAE9BB9ABA39BB9AB995BCA5B9B1BC0AB985BCFBB9C8BD9AB997BD" + $"52B9FABDE2BA9ABE23BA44BE13BAAEBE26BAD73CBAC23CBB743CBC18BD1DBBFB" + $"BDB8BC2EBCA7BBACBBEABC01BC34BCB9BA44BEFEBACBBE15BA95BF15BAD0BF3F" + $"BADABF2BBAD6BF3FBADA0A06BB44BA46B83BBBBC29C496B97CC3DABBEDC594BD" + $"92BCBB020CBF3FB9C1BF3FB9C1BF37B9BFBF25B9BBBF2EB9BDBE2BB980BB0FBB" + $"37BC5EB915BAFCBB34BAD6BB32BAE9BB32BA39BB32B995BC3DB9B1BBA2B985BC" + $"93B9C8BD32B997BCEAB9FABD7ABA9ABDBBBA44BDABBAAEBDBEBAD7BDC0BAC2BD" + $"C0BB74BDC0BC18BCB5BBFBBD50BC2EBC3FBBACBB82BC01BBCCBCB9B9DCBEFEBA" + $"63BE15BA2DBF15BA68BF3FBA72BF2BBA6EBF3FBA720204BAC1BBC2BB27BBC2BA" + $"5BBBC2BA25BC64BA25BBFEBA25BCCABABDBD04BA57BD04BB23BD04BB61BC66BB" + $"61BCCCBB61BC000215C550B91DC55FB962C541B8D8C4DBB877C517B89DC4B1B8" + $"5CC44EB84EC480B84EC3F2B84EC36EB8C9C39FB87CC334B925C374B9EDC339B9" + $"99C2D7BAA0C1C7BAA7C1FCBAA8C127BA62C016BA43C08EBA49C016BA43C016BA" + $"EFC016BAEFC080BAF6C190BB4CC106BB0DC190BB4CC191BB4CC191BB4CC226BB" + $"90C305BC7CC2A3BBF6C2FFBC84C2F4BC94C2F9BC8CC2A7BD0FC347BE01C2CCBD" + $"B3C371BE1CC3D4BE2AC3A2BE2AC42FBE2AC4B4BDAFC483BDFCC502BD33C462BC" + $"41C4DDBC8FC426BC1BC398BC20C3DCBC11C355BBC3C2B1BB30C308BB73C31EBB" + $"0EC401BA54C39ABACEC41ABA5BC44EBA5FC434BA5FC4A9BA5FC52DB9E4C4FDBA" + $"31C553B9A8022DC6C8C008C667C019C6DAC035C723C07BC6F9C05DC726C07DC7" + $"2FC083C72AC080C75AC09EC7BDC0ACC78BC0ACC818C0ACC89CC031C86CC07EC8" + $"C2BFF6C8BFBF6AC8CEBFAFC8B0BF25C84ABEC4C886BEEAC820BEA9C7BDBE9BC7" + $"EFBE9BC7B7BE9BC7ADBE9CC7B2BE9BC78EBE13C7AEBCB5C785BD4CC7B3BCB5C7" + $"BDBCB654BCB6C818BCB6C89CBC3BC86CBC88C8C2BBFFC8BFBB74C8CEBBB9C8B0" + $"BB2FC84ABACEC886BAF4C820BAB3C7BDBAA5C7EFBAA5C761BAA5C6DDBB20C70E" + $"BAD3C698BB8DC709BC70C6ADBC1BC70ABC70C70CBC72C70BBC71C6D2BD35C70B" + $"BEE1C6DBBE30C705BEE7C6F9BEF3C6FEBEECC6EFBEFEC6DDBF16C6E5BF09C6CF" + $"BF2CC6BE3FC6C5BF43C62DBF70C597BFD0C5DEBFA3C53FC00AC3F7C044C4ECC0" + $"40C3A2C03AC312C03FC35DC03CC2D4C041C240C03FC294C043C207C03CC1ABBF" + $"D6C1E6C019C15DBF7DC016BEFDC0F5BF0DC016BEFDC016BFAAC016BFAAC0A4BF" + $"B7C129C048C0E5BFFBC169C092C237C0ECC1B2C0E5C293C0F1C318C0ECC2DAC0" + $"EEC384C0E8C46CC109C3D9C0E5C4DDC125C6EBC375C677C2ACC6E6C37BC6DDC3" + $"87C6E1C381C692C3FEC723C4ECC6B1C49BC7264DC72FC4F4C72AC4F1C75AC50F" + $"C7BDC51DC78AC51DC818C51DC89CC4A2C86CC4EFC8C2C467C8BFC3DBC8CEC420" + $"C8AFC396C84AC335C886C35BC81FC31AC7BDC30CC7EFC30CC7A6C30CC77AC315" + $"C78FC30FC70BC260C540C0C0C604C151C58EC0A5C5F6C062C5C4C082C634C03A" + $"021AC5B0C5EEC5DEC623C57EC5B3C4E7C591C535C591C4A8C591C43BC5D1C46B" + $"C5A8C3F5C60DC3E1C6BBC3D7C666C38DC6D9C2FBC6F4C329C6F6C2D7C6F2C29A" + $"C6CAC2C2C6E5C268C6A8C1E7C67AC232C689C266C603C35AC450C2EBC553C3B3" + $"C44CC434C3CFC406C41CC47EC352C3D8C264C455C2AFC3AFC24CC351C23FC380" + $"C23FC2F4C23FC26DC2C0C29DC270C249C2FDC250C388C23EC344C25FC3C5C2B3" + $"C41DC282C3F8C204C5ABC094C697C125C652C08FC699C085C69FC089C69CC051" + $"C6B6C016C6C2C02CC6BDC016C6C2C016C76FC016C76FC022C76DC0CEC73BC067" + $"C769C1B5C700C239C75AC1F5C72CC265C778C2F1C7A1C29CC79DC2F6C7A1C2FF" + $"C7A2C2FAC7A2C35AC7A2C42EC757C3DEC775C460C787C4E7C7A3C4A2C7A3C527" + $"C7A3C594C763C564C78CC5C9C735C5EFC6AEC5EAC6F5C5F5C6680215C550B89B" + $"C55FB8E0C541B856C4DBB7F5C517B81BC4B1B7DAC44EB7CCC480B7CCC3F2B7CC" + $"C36EB847C39FB7FAC334B8A4C374B96BC339B917C2D7BA1EC1C7BA25C1FCBA26" + $"C127B9E0C016B9C1C08EB9C7C016B9C1C016BA6EC016BA6EC080BA74C190BACA" + $"C106BA8BC190BACAC191BACAC191BACAC226BB0EC305BBFBC2A3BB74C2FFBC02" + $"C2F4BC12C2F9BC0AC2A7BC8DC347BD7FC2CCBD31C371BD9AC3D4BDA8C3A2BDA8" + $"C42FBDA8C4B4BD2DC483BD7AC502BCB1C462BBBFC4DDBC0EC426BB9AC398BB9F" + $"C3DCBB8FC355BB41C2B1BAAEC308BAF1C31EBA8CC401B9D2C39ABA4CC41AB9D9" + $"C44EB9DDC434B9DDC4A9B9DDC52DB962C4FDB9AFC553B9270207C3EDB8D8C3D2" + $"B903C3F4B8CDC40AB8BCC3FEB8C3C419B8B3C43BB8AEC429B8AEC44CB8AEC46B" + $"B8BCC45DB8B3C496B8D74CB93AC4A3B90FC477B955C43AB965C45AB965C429B9" + $"65C409B956C41830C3DFB93C0207C387BC6EC36CBC99C38EBC63C3A4BC52C398" + $"BC59C3B3BC49C3D5BC44C3C3BC44C3E6BC44C405BC52C3F7BC49C430BC6D4BBC" + $"D0C43DBCA5C411BCEBC3D4BCFBC3F4BCFBC3C3BCFBC3A3BCECC3B239C379BCD2" + $"022DC6C8BF87C667BF97C6DABFB4C723BFF9C6F9BFDCC726BFFCC72FC002C72A" + $"BFFEC75AC01CC7BDC02BC78BC02BC818C02BC89CBFAFC86CBFFCC8C2BF74C8BF" + $"BEE8C8CEBF2DC8B0BEA3C84ABE42C886BE68C8203CC7BDBE19C7EFBE19C7B7BE" + $"19C7ADBE1AC7B2BE1AC78EBD92C7AEBC33C785BCCAC7B3BC34C7BDBC3454BC34" + $"C818BC34C89CBBB9C86CBC06C8C2BB7EC8BFBAF2C8CEBB37C8B0BAADC84ABA4C" + $"C886BA72C820BA31C7BDBA23C7EFBA23C761BA23C6DDBA9EC70EBA51C698BB0C" + $"C709BBEEC6ADBB99C70ABBEFC70CBBF0C70BBBEFC6D2BCB4C70BBE60C6DBBDAF" + $"C705BE65C6F9BE71C6FEBE6BC6EFBE7CC6DDBE95C6E5BE88C6CFBEAAC6BEBED9" + $"C6C5BEC1C62DBEEEC597BF4FC5DEBF21C53FBF88C3F7BFC2C4ECBFBEC3A2BFB8" + $"C312BFBDC35DBFBAC2D4BFBFC240BFBDC294BFC2C207BFBAC1ABBF54C1E6BF97" + $"C15DBEFBC016BE7BC0F5BE8BC016BE7BC016BF28C016BF28C0A4BF35C129BFC7" + $"C0E5BF7AC169C010C237C06AC1B2C063C293C06FC318C06AC2DAC06CC384C066" + $"C46CC088C3D9C063C4DDC0A4C6EBC2F3C677C22AC6E6C2F9C6DDC306C6E1C2FF" + $"C692C37DC723C46AC6B1C41AC726C46DC72FC473C72AC46FC75AC48DC7BDC49C" + $"C78AC49CC818C49CC89CC420C86CC46DC8C2C3E5C8BFC359C8CEC39EC8AFC314" + $"C84AC2B3C886C2D9C81FC299C7BD47C7EF47C7A647C77AC293C78FC28DC70BC1" + $"DEC540C03FC604C0CFC58EC023C5F6BFE0C5C4C001C634BFB80207C764BB05C7" + $"57BB1AC775BAE9C7B3BAD8C792BAD8C7C3BAD8C7E1BAE5C7D3BADDC80CBAFFC8" + $"01BB63C81BBB37C7F0BB7FC7B2BB8FC7D3BB8FC7A2BB8FC784BB82C792BB8BC7" + $"6FBB76C75ABB4AC760BB62C754BB330207C764BF01C757BF16C775BEE5C7B3BE" + $"D4C792BED4C7C3BED4C7E1BEE1C7D3BED9C80CBEFBC801BF5FC81BBF33C7F0BF" + $"7BC7B2BF8BC7D3BF8BC7A2BF8BC784BF7EC792BF87C76FBF72C75ABF46C760BF" + $"5EC754BF2F0207C764C363C757C378C775C347C7B3C336C792C336C7C3C336C7" + $"E1C343C7D3C33BC80CC35DC801C3C1C81BC395C7F0C3DDC7B2C3EDC7D3C3EDC7" + $"A2C3EDC784C3E0C792C3E9C76FC3D4C75AC3A8C760C3C0C754C391021AC5B0C5" + $"6CC5DEC5A2C57EC531C4E7C510C535C510C4A8C510C43BC550C46BC526C3F5C5" + $"8BC3E1C639C3D7C5E4C38DC657C2FBC673C329C674C2D7C671C29AC649C2C2C6" + $"64C268C626C1E7C5F9C232C607C266C581C35AC3CEC2EBC4D1C3B3C3CBC434C3" + $"4DC406C39AC47EC2D0C3D8C1E2C455C22DC3AFC1CAC351C1BDC380C1BDC2F4C1" + $"BDC26DC23EC29DC1EFC249C27BC250C307C23EC2C2C25FC343C2B3C39BC282C3" + $"77C204C529C094C616C125C5D0C08FC618C085C61DC089C61AC051C634C016C6" + $"40C02CC63BC016C640C016C6EDC016C6EDC02252C0CEC6B9C067C6E8C1B5C67F" + $"C239C6D8C1F5C6AAC265C6F6C2F1C720C29CC71BC2F6C720C2FFC720C2FAC720" + $"C35AC720C42EC6D5C3DEC6F4C460C706C4E7C721C4A2C721C527C721C594C6E1" + $"C564C70AC5C9C6B3C5EFC62DC5EAC673C5F5C5E60207C302C297C2F5C2ACC313" + $"C27BC351C26AC330C26AC361C26AC37FC277C371C26FC3AAC291C39FC2F5C3B9" + $"C2C9C38EC311C350C321C371C321C340C321C322C314C330C31DC30DC308C2F8" + $"C2DCC2FEC2F4C2F2C2C50207C49AC5C7C48DC5DCC4ABC5ABC4E9C59AC4C8C59A" + $"C4F9C59AC517C5A7C509C59FC542C5C1C537C625C551C5F9C526C641C4E8C651" + $"C509C651C4D8C651C4BAC644C4C8C64DC4A5C638C490C60CC496C624C48AC5F5" + $"0D0A000100000A010101000A020102000A020103000A030104000A040105000A" + $"010106000A050107000A050108000A050109000A04030A0B0C000A04040D0E0F" + $"10000A040311121300" +}; diff --git a/media-sound/picard/patches/picard-2.1.3.patchset b/media-sound/picard/patches/picard-2.1.3.patchset new file mode 100644 index 000000000..6feb6126d --- /dev/null +++ b/media-sound/picard/patches/picard-2.1.3.patchset @@ -0,0 +1,75 @@ +From b1cea68f3484eba249e6e2db8d7b6220e7601984 Mon Sep 17 00:00:00 2001 +From: Philipp Wolfer +Date: Tue, 29 Jan 2019 11:33:18 +0000 +Subject: [PATCH 1/2] Haiku: Avoid using locale.strxfrm + +--- + picard/ui/options/interface.py | 2 +- + picard/ui/options/releases.py | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/picard/ui/options/interface.py b/picard/ui/options/interface.py +index 08fd264c..9ae9ed4b 100644 +--- a/picard/ui/options/interface.py ++++ b/picard/ui/options/interface.py +@@ -138,7 +138,7 @@ class InterfaceOptionsPage(OptionsPage): + self.ui.ui_language.addItem(_('System default'), '') + language_list = [(l[0], l[1], _(l[2])) for l in UI_LANGUAGES] + +- def fcmp(x): return locale.strxfrm(x[2]) ++ def fcmp(x): return x[2] + for lang_code, native, translation in sorted(language_list, key=fcmp): + if native and native != translation: + name = '%s (%s)' % (translation, native) +diff --git a/picard/ui/options/releases.py b/picard/ui/options/releases.py +index 117391fc..839a2f20 100644 +--- a/picard/ui/options/releases.py ++++ b/picard/ui/options/releases.py +@@ -255,7 +255,7 @@ class ReleasesOptionsPage(OptionsPage): + else: + source_list = [(c[0], _(c[1])) for c in source.items()] + +- def fcmp(x): return strxfrm(x[1]) ++ def fcmp(x): return x[1] + source_list.sort(key=fcmp) + saved_data = config.setting[setting] + move = [] +-- +2.21.0 + +From 75d7a1fea21f169da24e9b1003d6b9f928dcdb71 Mon Sep 17 00:00:00 2001 +From: Philipp Wolfer +Date: Tue, 29 Jan 2019 11:35:33 +0000 +Subject: [PATCH 2/2] Haiku: Use WebPositive as default browser + +--- + picard/util/webbrowser2.py | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/picard/util/webbrowser2.py b/picard/util/webbrowser2.py +index 7d003ccf..bacd8a13 100644 +--- a/picard/util/webbrowser2.py ++++ b/picard/util/webbrowser2.py +@@ -17,7 +17,7 @@ + # along with this program; if not, write to the Free Software + # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + +-from sys import version_info ++from sys import platform, version_info + import webbrowser + + from PyQt5 import QtWidgets +@@ -32,6 +32,11 @@ in PyQt and also adds a utility function for opening Picard URLS. + """ + + ++if platform == "haiku1": ++ webpositive = webbrowser.GenericBrowser("WebPositive") ++ webbrowser.register("webpositive", None, webpositive, True) ++ ++ + def open(url): + try: + webbrowser.open(url) +-- +2.21.0 diff --git a/media-sound/picard/picard-2.1.3.recipe b/media-sound/picard/picard-2.1.3.recipe new file mode 100644 index 000000000..7bb2d17b9 --- /dev/null +++ b/media-sound/picard/picard-2.1.3.recipe @@ -0,0 +1,74 @@ +SUMMARY="MusicBrainz Picard music tagger" +DESCRIPTION="Tag your music with the next generation MusicBrainz tagger" +HOMEPAGE="https://picard.musicbrainz.org/" +COPYRIGHT="2004-2019 Robert Kaye, Lukas Lalinsky, Laurent Monin, \ +Sambhav Kothari, Philipp Wolfer and others" +LICENSE="GNU GPL v2" +REVISION="1" +SOURCE_URI="ftp://ftp.eu.metabrainz.org/pub/musicbrainz/picard/picard-$portVersion.tar.gz" +CHECKSUM_SHA256="8e044fe68c44d345c19f98952c3c7f20c72da74dbac9ce7c7b0621e2d69885a7" +SOURCE_DIR="picard-release-$portVersion" +PATCHES="picard-$portVersion.patchset" +ADDITIONAL_FILES="picard.rdef.in" + +ARCHITECTURES="x86 x86_64" + +PROVIDES=" + picard = $portVersion + cmd:picard = $portVersion + " +REQUIRES=" + haiku + cmd:python3.6 + pyqt_python3 + mutagen_python36 + discid_python36 + cmd:fpcalc + " + +BUILD_REQUIRES=" + haiku_devel + cmd:gcc + cmd:msgfmt + cmd:python3.6 + setuptools_python36 + pyqt_python3 + " + +BUILD() +{ + LC_ALL=en_US.UTF-8 + python3.6 setup.py config +} + +INSTALL() +{ + LC_ALL=en_US.UTF-8 + python3.6 setup.py install \ + --root=/ --prefix=$prefix \ + --install-data=$dataDir \ + --install-locales=$dataDir/share/locale/ \ + --disable-autoupdate + + mkdir -p $appsDir + mv $binDir/picard $appsDir/Picard + rm -rf $binDir + + local MAJOR="`echo "$portVersion" | cut -d. -f1`" + local MIDDLE="`echo "$portVersion" | cut -d. -f2`" + local MINOR="`echo "$portVersion" | cut -d. -f3 | cut -d~ -f1`" + + sed \ + -e "s|@MAJOR@|$MAJOR|" \ + -e "s|@MIDDLE@|$MIDDLE|" \ + -e "s|@MINOR@|$MINOR|" \ + $portDir/additional-files/picard.rdef.in > $sourceDir/build/picard.rdef + + settype -t application/x-vnd.Be-elfexecutable $appsDir/Picard + + rc $sourceDir/build/picard.rdef + resattr -o $appsDir/Picard $sourceDir/build/picard.rsrc + addAppDeskbarSymlink $appsDir/Picard + + rm -rf $dataDir/applications +}