mirror of
https://github.com/gentoo-mirror/gentoo-zh.git
synced 2025-04-10 20:08:43 -04:00
media-sound/netease-cloud-music: Fix and recover 1.2.1
This commit is contained in:
parent
586a6ebe1d
commit
942faab353
192
licenses/NetEase
Normal file
192
licenses/NetEase
Normal file
@ -0,0 +1,192 @@
|
||||
网易云音乐服务条款
|
||||
|
||||
更新日期:2021年8月9日
|
||||
|
||||
生效日期:2021年8月9日
|
||||
|
||||
欢迎使用网易公司为您提供的网易云音乐软件或服务。请您(下列简称为“用户”)仔细阅读以下全部内容(特别是粗体标注的内容)。如用户未满18周岁,或存在其他不具备与用户行为相适应的民事行为能力的情形,请用户在监护人的陪同下阅读本条款,并确保监护人同意其所有行为,在此情况下,用户及用户的监护人应依照法律规定承担同意本服务条款及使用网易云音乐软件或服务而导致的一切后果。如用户对本条款的任何内容表示异议,或者无法准确理解本条款,请不要注册、登录网易云音乐或使用网易云音乐服务。如用户使用网易云音乐软件或服务,即表示用户与网易公司已达成协议,自愿接受本条款所有内容。
|
||||
1、服务条款的确认和接纳
|
||||
|
||||
本条款是用户与网易公司之间关于用户使用网易云音乐软件或服务的条款,内容包括条款正文、《网易邮箱账号服务条款》、《网易云音乐隐私政策》及网易公司已经发布的或将来可能发布/更新的各类规则。所有规则为本条款不可分割的组成部分,与条款正文具有同等法律效力。除另行明确声明外,用户使用网易云音乐软件或服务的行为将受本条款约束。
|
||||
|
||||
本条款如由于网易云音乐发展需要进行修订的,网易公司将在网易云音乐平台公布。用户可前往查阅最新版协议条款。在网易公司修改上述条款后,如果用户不接受修改后的条款,用户可以选择终止使用网易云音乐软件或服务。用户继续使用的,将被视为已接受了修改后的条款。
|
||||
2、网易云音乐简介
|
||||
|
||||
本条款所称的“网易云音乐”是指网易公司所有和经营的专注于发现与分享的音乐产品,致力于为用户打造全新的音乐生活服务。
|
||||
3、账号管理规则
|
||||
|
||||
3.1 用户通过网易云音乐可获取网易云音乐上的音乐、音视频等内容,并可在登录后享受更为完整的服务,如创建歌单、发表评论、使用群组等。用户登录帐号可以是用户本人的手机号、网易邮箱帐号或网易云音乐增加的其他可登录帐号。如用户通过第三方账号登录网易云音乐的,其登录和使用行为同样适用本条款。
|
||||
|
||||
3.2 用户使用的网易云音乐登录账号是网易公司确认用户身份的唯一依据,用户应维持帐号及密码的机密安全,并对该账号进行的所有活动和行为负责,禁止赠与、借用、租用、转让或售卖账号。如果用户未保管好自己的帐号和密码而对用户、网易公司或第三方造成损害,用户将负全部责任。用户同意若发现任何非法使用用户帐号或安全漏洞的情况,有义务立即通告网易公司。
|
||||
|
||||
如网易公司发现或者有合理理由认为账号使用者并非该帐号初始注册人,为保障帐号安全,网易公司有权立即暂停或终止为该帐号提供服务,并有权封禁或注销、回收该帐号,由此带来的包括但不限于通讯中断、资料和虚拟财产清空等损失由该账号使用人、注册人自行承担。
|
||||
|
||||
3.3 用户应在网易云音乐官方渠道注册账号。用户不得恶意注册帐号(包括但不限于频繁注册、批量注册、使用他人身份注册、恶意利用或破坏网易云音乐注册系统注册账号等)。任何通过非网易云音乐官方途径获得的账号(包括但不限于购买、借用、租用、分享等方式获得的账号),或恶意注册获得的账号,网易公司有权进行封禁、注销或回收,如发生任何损失的,用户自行承担全部责任。
|
||||
|
||||
3.4 为符合相关法律法规的要求,保障用户的账号安全,网易公司可能会对用户的身份进行验证,包括但不限于要求输入验证码、扫描二维码、手机号认证、邮箱认证等。如用户无法完成验证或拒绝验证的,网易公司可合理怀疑用户的账号存在安全风险,暂停向用户提供部分或全部服务,并有权采取进一步措施。
|
||||
|
||||
3.5 在法律法规允许的范围内,用户同意网易云音乐账号所有权,以及与注册、使用网易云音乐帐号相关的服务数据和记录,包括但不限于所有注册、登录、消费记录和相关的使用统计数据,归网易公司所有。发生争议时,用户同意以网易公司的系统数据为准,网易公司应保证该数据的真实性。
|
||||
|
||||
3.6 用户在使用网易云音乐服务时填写、登录、使用的帐号名称、头像、个人简介等帐号信息资料应遵守法律法规、社会主义制度、国家利益、公民合法权益、公共秩序、社会道德风尚和信息真实性等七条底线,不得在帐号信息资料中出现违法和不良信息,不得冒用、关联机构或社会名人或采取其他足以让人引起混淆的方式注册账号。且用户保证在填写、登录、使用帐号信息资料时,不得有以下情形:
|
||||
|
||||
(1)反对宪法所确定的基本原则的;
|
||||
|
||||
(2)危害国家安全,泄露国家秘密,颠覆国家政权,破坏国家统一的;
|
||||
|
||||
(3)损害国家荣誉和利益的;
|
||||
|
||||
(4)歪曲、丑化、亵渎、否定英雄烈士事迹和精神,以侮辱、诽谤或者其他方式侵害英雄烈士的姓名、肖像、名誉、荣誉的;
|
||||
|
||||
(5)宣扬恐怖主义、极端主义或者煽动实施恐怖活动、极端主义活动的;
|
||||
|
||||
(6)煽动民族仇恨、民族歧视,破坏民族团结的;
|
||||
|
||||
(7)破坏国家宗教政策或违反国家宗教相关法律法规,宣扬邪教和封建迷信的;
|
||||
|
||||
(8)散布谣言,扰乱经济秩序和社会秩序的;
|
||||
|
||||
(9)散布淫秽、色情、赌博、暴力、凶杀、恐怖或者教唆犯罪的;
|
||||
|
||||
(10)侮辱或者诽谤他人,侵害他人名誉、隐私和其他合法权益的;
|
||||
|
||||
(11)含有法律、行政法规禁止的其他内容的。
|
||||
|
||||
3.7 若用户在注册和使用网易云音乐账号时,存在任何违反法律法规或不符合本条款规定之行为,网易云音乐有权不予注册;已经注册的,网易公司有权不通知用户而单方采取限期改正、短期封禁、永久封禁、注销、收回账号等措施,并有权向政府主管部门进行报告。
|
||||
|
||||
3.8 用户充分理解并同意:在使用网易云音乐服务过程中,网易公司可能会向用户展示网易公司或其合作伙伴提供的广告或其他商业信息。网易公司将按照法律规定履行广告及推广相关义务,用户应当自行判断该等信息的真实性和可靠性并为自己的判断行为负责。除法律法规明确规定外,用户因该等信息进行的购买或交易或因前述内容遭受的损害或损失,用户应自行承担,网易公司不予承担责任。
|
||||
|
||||
3.9 网易公司也为用户提供账号注销功能。用户可以登录网易云音乐官网https://music.163.com/,点击个人设置—绑定设置—进入注销流程,按照提示进行相应的操作。用户注销账号需要符合一定的条件,并遵守网易云音乐账号注销流程,具体请见《网易云音乐账号注销协议》。
|
||||
|
||||
在您的网易云音乐账号注销之后,我们将停止为您提供网易云音乐服务,请您谨慎操作。
|
||||
4、服务的变更或中止
|
||||
|
||||
网易公司始终在不断变更和改进服务。网易公司根据自身商业决策、政府行为、不可抗力等原因可能会选择升级、变更、中止、中断及终止网易云音乐的部分或全部服务。如有此等情形发生,网易公司会采取公告的形式通知用户,但不承担由此对用户造成的任何损失。除法律法规另有明确规定的情形外,网易云音乐有权不经用户申请,直接向用户退还尚未履行的服务所对应的费用;如用户在网易云音乐产生收益,网易云音乐有权不经用户申请,直接按照相关规则为用户办理收益的提现。
|
||||
5、用户隐私制度
|
||||
|
||||
尊重用户隐私是网易公司的一项基本政策。网易公司将按照《网易云音乐隐私政策》收集、存储、使用、披露和保护用户的个人信息。请用户完整阅读上述隐私政策,以帮助用户更好地保护个人信息。未满十四周岁的用户,请通知监护人共同阅读《网易云音乐儿童个人信息保护规则及监护人须知》,并务必在使用网易云音乐服务、提交个人信息之前,寻求他们的同意和指导。
|
||||
6、责任限制
|
||||
|
||||
6.1 用户理解并同意:关于网易云音乐服务,网易公司不提供任何种类的明示或暗示担保或条件,包括但不限于商业适售性、特定用途适用性等。用户应对本服务的使用行为自行承担相应风险。
|
||||
|
||||
6.2 用户在使用网易云音乐服务中发布的任何内容、信息等并不反映或代表网易公司的观点、立场或政策,网易公司对此不承担任何责任。用户应对其他用户的内容自行加以判断,并承担因使用该内容而给自己、他人及社会造成的一切法律责任,包括但不限于因对内容的准确性、真实性、完整性或实用性等的依赖而产生的风险。
|
||||
|
||||
6.3 用户因系统停机维护、升级、调整,第三方原因如电信部门的通讯设备故障、计算机病毒或黑客攻击、技术问题、网络、电脑故障、系统不稳定性、台风、地震、海啸、洪水、停电、战争、恐怖袭击、政府管制及其他各种不可抗力原因而遭受的一切损失,网易公司不承担责任;网易公司对所有服务将尽力维护其安全性及方便性,但对服务中出现的信息(包括但不限于用户发布的信息)删除或储存失败不承担任何责任。因技术故障等不可抗事件影响到服务的正常运行的,网易公司承诺在第一时间内与相关单位配合,及时处理进行修复,但用户因此而遭受的一切损失,网易公司不承担责任。
|
||||
|
||||
6.4 任何情况下,网易公司均不对任何间接性、后果性、惩罚性、偶然性、特殊性或刑罚性的损害承担责任。除法律法规另有明确规定外,网易公司对用户承担的全部责任,无论因何原因或何种行为方式,始终不超过用户因使用网易云音乐而支付给网易公司的费用(如有)。
|
||||
|
||||
6.5 为保证产品、服务的安全性及产品功能的一致性,网易公司可能会对网易云音乐软件进行更新。用户应将软件更新到最新版本,如用户未及时更新到最新版本,网易公司不保证用户一定能正常使用网易云音乐服务。
|
||||
7、禁止服务的商业化
|
||||
|
||||
用户承诺,非经网易公司同意,用户不能利用网易云音乐软件或服务进行销售或其他商业用途。如用户有需要将网易云音乐软件或服务用于商业用途,应书面通知网易公司并获得网易公司的明确授权。
|
||||
8、用户管理
|
||||
|
||||
8.1 用户独立承担其在网易云音乐所发布内容的责任。用户对网易云音乐软件或服务的使用必须遵守所有适用于服务的地方法律、国家法律和国际法律。
|
||||
|
||||
8.2 用户在网易云音乐上发布信息或者使用网易云音乐的软件或服务时必须符合中国有关法规,不得利用网易云音乐软件或服务制作、复制、发布、传播法律、行政法规禁止的信息。用户同意并承诺不得制作、复制、发布含有下列内容的信息:
|
||||
|
||||
(1)反对宪法所确定的基本原则的;
|
||||
|
||||
(2)危害国家安全,泄露国家秘密,颠覆国家政权,破坏国家统一的;
|
||||
|
||||
(3)损害国家荣誉和利益的;
|
||||
|
||||
(4)歪曲、丑化、亵渎、否定英雄烈士事迹和精神,以侮辱、诽谤或者其他方式侵害英雄烈士的姓名、肖像、名誉、荣誉的;
|
||||
|
||||
(5)宣扬恐怖主义、极端主义或者煽动实施恐怖活动、极端主义活动的;
|
||||
|
||||
(6)煽动民族仇恨、民族歧视,破坏民族团结的;
|
||||
|
||||
(7)破坏国家宗教政策或违反国家宗教相关法律法规,宣扬邪教和封建迷信的;
|
||||
|
||||
(8)散布谣言,扰乱经济秩序和社会秩序的;
|
||||
|
||||
(9)散布淫秽、色情、赌博、暴力、凶杀、恐怖或者教唆犯罪的;
|
||||
|
||||
(10)侮辱或者诽谤他人,侵害他人名誉、隐私和其他合法权益的;
|
||||
|
||||
(11)炒作绯闻、丑闻、劣迹等的;
|
||||
|
||||
(12)不当评述自然灾害、重大事故等灾难的;
|
||||
|
||||
(13)带有性暗示、性挑逗等易使人产生性联想的;
|
||||
|
||||
(14)展现血腥、惊悚、残忍等致人身心不适的;
|
||||
|
||||
(15)煽动人群歧视、地域歧视等的;
|
||||
|
||||
(16)宣扬低俗、庸俗、媚俗内容的;
|
||||
|
||||
(17)可能引发未成年人模仿不安全行为和违反社会公德行为、诱导未成年人不良嗜好等的;
|
||||
|
||||
(18)散布商业广告,或类似的商业招揽信息、过度营销信息及垃圾信息;
|
||||
|
||||
(19)所发表的信息毫无意义的,或刻意使用字符组合以逃避技术审核的;
|
||||
|
||||
(20)其他违反法律、行政法规规定、对网络生态造成不良影响或干扰网易云音乐正常运营的内容。
|
||||
|
||||
8.3 用户不得利用基于深度学习、虚拟现实等的新技术新应用制作、发布、传播虚假新闻信息。用户在发布或传播利用基于深度学习、虚拟现实等的新技术新应用制作的非真实音视频信息时,应当以显著方式予以标识。
|
||||
|
||||
8.4 用户在网易云音乐上发布信息或者利用网易云音乐的软件或服务时还必须符合其他有关国家和地区的法律规定以及国际法的有关规定。
|
||||
|
||||
8.5 用户不得利用网易云音乐软件或服务实施以下行为:
|
||||
|
||||
(1)通过非网易公司开发、授权或认可的第三方兼容软件、系统登录或使用网易云音乐软件或服务,或针对网易云音乐软件和相关服务使用非网易公司开发、授权或认证的插件;
|
||||
|
||||
(2)删除网易云音乐软件及其他副本上所有关于版权的信息、内容;
|
||||
|
||||
(3)对网易云音乐软件进行反向工程、反向汇编、反向编译或以其他方式自网易云音乐软件获取源代码等;
|
||||
|
||||
(4)对于网易云音乐软件相关信息等,未经网易公司同意,擅自实施包括但不限于下列行为:使用、出租、出借、复制、修改、链接、转载、汇编、发表、出版,建立镜像站点、擅自借助网易云音乐软件发展与之有关的衍生产品、作品、服务、插件、外挂、兼容、互联等;
|
||||
|
||||
(5)对使用网易云音乐软件或服务过程中释放到任何计算机或移动终端内存中的数据及软件运行过程中客户端与服务器端的交互数据进行复制、更改、修改;
|
||||
|
||||
(6)通过不正当手段或以违反诚实信用原则的方式(如利用规则漏洞、利用系统漏洞、滥用会员身份、黑色产业、投机等违背网易云音乐提供服务的初衷的方式)使用网易云音乐软件和服务;
|
||||
|
||||
(7)滥用网易云音乐软件或服务,包括但不限于利用网易云音乐软件或服务进行侵害他人知识产权或者合法利益;
|
||||
|
||||
(8)其他以任何不合法的方式、为任何不合法的目的、或以任何与本条款不一致的方式使用网易云音乐软件和服务。
|
||||
|
||||
8.6 用户应遵守网易公司的所有其他规定和程序。用户须对自己在使用网易云音乐软件或服务过程中的行为承担法律责任。用户理解并同意,若用户违反以上任何规定,网易有权作出独立判断立即暂停或终止对用户提供部分或全部服务,包括禁言、封禁用户账号、注销用户账号等措施,用户应自行承担自身损失(包括但不限于账户资料及虚拟财产清空等)以及一切相应法律责任。用户承担法律责任的形式包括但不限于:对受到侵害者进行赔偿,以及在网易公司首先承担了因用户的行为导致的行政处罚或侵权损害赔偿责任后,用户应给予网易公司等额的赔偿。
|
||||
|
||||
用户理解,如果网易发现用户发布的信息属于上述条款所列违规内容之一,依据相关法律规定,网易有义务立即停止传输,保存有关记录,向国家有关机关报告。
|
||||
9、通知
|
||||
|
||||
所有发给用户的通知都可通过电子邮件、常规的信件或在网易云音乐软件或网易网站内显著位置公告的方式进行传送。网易公司将通过上述方法之一将消息传递给用户,告知他们服务条款的修改、服务变更、或其它重要事情。
|
||||
10、内容、商标所有权
|
||||
|
||||
网易云音乐软件或服务提供的内容包括但不限于:音频、视频、歌曲图文资料、歌曲列表、文字表述及其组合、界面设计、版面框架、图标、“网易云音乐”和“歌单”商标等。除涉及第三方授权的软件、技术及内容外,所有这些内容均属于网易公司,并受中华人民共和国著作权法、商标法、专利法、反不正当竞争法和相应的国际条约以及其他知识产权法律法规的保护。所以,用户只能在网易公司授权下才能使用这些内容,未经网易公司书面同意,用户不能为任何营利或非营利性的目的擅自复制、再造这些内容、或创造与内容有关的派生产品、或以转让、许可的方式授权第三方实施、利用和转让上述知识产权。
|
||||
|
||||
网易公司有权在服务中或经过服务在网易云音乐软件中投放各种广告和宣传信息。同时云音乐、网易等本文中提及的软件和服务名称有可能为网易公司或其关联公司的商标,未经网易公司事先书面同意,用户不得以任何方式展示或使用或作其他处理,也不得向他人表明用户有权展示、使用、或其他有权处理的行为。
|
||||
11、信息储存及相关知识产权
|
||||
|
||||
网易公司对网易云音乐软件上所有服务将尽力维护其安全性及方便性,但对服务中出现的信息(包括但不限于用户发布的信息、用户自主创立的歌单)删除或储存失败不承担任何责任。另外网易公司有权判定用户的行为是否符合本条款的要求,如果用户违背了本条款的规定,网易公司有权中止或者终止对提供其网易云音乐服务。
|
||||
|
||||
对于用户在网易云音乐发布、上传的内容(包括但不限文字、图像、音频、视频等各种形式的内容及其中包括的音乐、声音、台词、视觉设计、对话等所有组成部分,简称“用户内容”),用户应确保用户内容均为其原创或其已获得合法授权。网易公司尊重知识产权并注重保护用户对其用户内容享有的各项权利。用户仍享有此等用户内容的完整知识产权,并不因向网易公司提供而受到任何减损。
|
||||
|
||||
除非有相反证明,用户知悉、理解并同意,为使用户内容得到更好的分享及推广,提高其传播价值及影响力,用户在提供此等用户内容时即授予网易公司一项全球性的免费许可,允许网易公司使用、传播、复制、修改、汇编、改编、翻译、创建衍生作品、出版、表演、展示、广播用户内容,以及允许网易公司再许可第三方(可多层次许可)按照上述方式使用用户内容,如用户内容可供其他用户、网易公司及其合作方在网易云音乐的软件、服务或在与网易公司自身及其合作方的宣传推广活动中使用。为免疑义,用户理解并同意,上述许可包括使用、复制和展示用户内容中受保护的个人形象、肖像、姓名、商标、品牌、名称、标识和公司标记(如有)及任何其他品牌、营销或推广资产、物料、素材等的权利和许可。
|
||||
12、法律
|
||||
|
||||
本条款适用中华人民共和国的法律,并且排除一切冲突法规定的适用。
|
||||
|
||||
如您在使用本条款项下服务中出现纠纷的,您同意将纠纷交由中国国际经济贸易仲裁委员会仲裁解决,并由3名仲裁员进行审理。仲裁裁决是终局的,对双方都有约束力。仲裁费用由败诉一方承担。
|
||||
13、其他
|
||||
|
||||
用户可通过本条款文末列明的客服邮箱投诉、举报各类违法违规行为,网易公司将及时受理和处理用户的投诉举报。
|
||||
|
||||
网易云音乐中的部分内容为用户自行上传,上传者对所上传的内容自行承担责任。如您认为网易云音乐上的内容侵犯您的合法权益,可通过本条款文末列明的客服邮箱向网易公司提供以下文件或信息。网易公司会在收到上述文件或信息后经判断决定是否对涉嫌侵权的内容或链接进行处理:
|
||||
|
||||
(1)要求处理的内容或链接
|
||||
|
||||
(2)身份证明材料
|
||||
|
||||
(3)联系方式和地址
|
||||
|
||||
(4)可证明对内容享有权利的文件。
|
||||
|
||||
除非另有证明,网易公司储存在其服务器上的数据是用户使用网易云音乐软件或服务的唯一有效证据。
|
||||
|
||||
本条款自发布之日起实施,并构成用户和网易公司之间的共识。网易公司不行使、未能及时行使或者未充分行使本条款或者按照法律规定所享有的权利,不应被视为放弃该权利,也不影响网易公司在将来行使该权利。
|
||||
|
||||
如果用户对本条款内容有任何疑问,请发送邮件至我们的客服邮箱: ncm5990@163.com。
|
||||
|
||||
网易公司
|
1
media-sound/netease-cloud-music/Manifest
Normal file
1
media-sound/netease-cloud-music/Manifest
Normal file
@ -0,0 +1 @@
|
||||
DIST netease-cloud-music_1.2.1_amd64_ubuntu_20190428.deb 104501260 BLAKE2B c1fdbd5c32f8729f9cff0f311cc2eae038af0a0f4911b5fdea718244c30657e9a6e2c40a13ae0cf18ccc4f1bfc4a1924e00f5a2ff4f899b476559347bc4b47fd SHA512 1c33f728f2da8e18b7435c59997784f0b1fb5dbb7623b642da31639aca944bc40047b24c3e23616f2b6f1e2ee49dee7e08114f36d6b576e0ff2e36862292f4c1
|
47
media-sound/netease-cloud-music/files/doinslib
Normal file
47
media-sound/netease-cloud-music/files/doinslib
Normal file
@ -0,0 +1,47 @@
|
||||
libcups.so.2
|
||||
libdbus-glib-1.so.2
|
||||
libdouble-conversion.so.1
|
||||
libevdev.so.2
|
||||
libgconf-2.so.4
|
||||
libgudev-1.0.so.0
|
||||
libicudata.so.60
|
||||
libicui18n.so.60
|
||||
libicuuc.so.60
|
||||
libinput.so.10
|
||||
libmtdev.so.1
|
||||
libnspr4.so
|
||||
libnss3.so
|
||||
libnssutil3.so
|
||||
libplc4.so
|
||||
libplds4.so
|
||||
libqcef.so
|
||||
libqcef.so.1
|
||||
libqcef.so.1.1.4
|
||||
libQt5Core.so.5
|
||||
libQt5DBus.so.5
|
||||
libQt5EglFSDeviceIntegration.so.5
|
||||
libQt5Gui.so.5
|
||||
libQt5Network.so.5
|
||||
libQt5Qml.so.5
|
||||
libQt5Svg.so.5
|
||||
libQt5WebChannel.so.5
|
||||
libQt5Widgets.so.5
|
||||
libQt5X11Extras.so.5
|
||||
libQt5XcbQpa.so.5
|
||||
libQt5Xml.so.5
|
||||
libsmime3.so
|
||||
libsqlite3.so.0
|
||||
libwacom.so.2
|
||||
libX11-xcb.so.1
|
||||
libxcb-glx.so.0
|
||||
libxcb-icccm.so.4
|
||||
libxcb-image.so.0
|
||||
libxcb-render-util.so.0
|
||||
libxcb-shape.so.0
|
||||
libxcb-sync.so.1
|
||||
libxcb-util.so.1
|
||||
libxcb-xfixes.so.0
|
||||
libxcb-xinerama.so.0
|
||||
libxcb-xkb.so.1
|
||||
libXss.so.1
|
||||
libXtst.so.6
|
@ -0,0 +1,9 @@
|
||||
#!/bin/sh
|
||||
HERE="$(dirname "$(readlink -f "${0}")")"
|
||||
export LD_LIBRARY_PATH="${HERE}"/libs
|
||||
export QT_PLUGIN_PATH="${HERE}"/plugins
|
||||
export QT_QPA_PLATFORM_PLUGIN_PATH="${HERE}"/plugins/platforms
|
||||
export QT_QPA_PLATFORM=xcb
|
||||
export LD_PRELOAD="${HERE}"/libnetease-patch.so
|
||||
|
||||
exec "${HERE}"/netease-cloud-music $@
|
143
media-sound/netease-cloud-music/files/patch.c
Normal file
143
media-sound/netease-cloud-music/files/patch.c
Normal file
@ -0,0 +1,143 @@
|
||||
// SPDX-License-Identifier: BSD-3-Clause
|
||||
/**
|
||||
* Copyright (c) 2021 kXuan. All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without modification, are permitted provided that the
|
||||
* following conditions are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following
|
||||
* disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the
|
||||
* following disclaimer in the documentation and/or other materials provided with the distribution.
|
||||
* 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote
|
||||
* products derived from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
|
||||
* INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
*/
|
||||
#define _GNU_SOURCE
|
||||
|
||||
#include <dlfcn.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <strings.h>
|
||||
#include <unistd.h>
|
||||
#include <vlc/vlc.h>
|
||||
#include <vlc/plugins/vlc_common.h>
|
||||
#include <vlc/plugins/vlc_stream.h>
|
||||
|
||||
static void *load_sym(void *override_func, const char *name)
|
||||
{
|
||||
void *ptr = dlsym(RTLD_NEXT, name);
|
||||
if (ptr == NULL) {
|
||||
fprintf(stderr, "Cannot load symbol '%s' %s. Please report bug on AUR.\n", name, dlerror());
|
||||
exit(1);
|
||||
}
|
||||
if (ptr == override_func) {
|
||||
fprintf(stderr, "circular reference '%s'. Please report bug on AUR.\n", name);
|
||||
exit(1);
|
||||
}
|
||||
return ptr;
|
||||
}
|
||||
|
||||
static int is_flac(const char *url)
|
||||
{
|
||||
static const char suffix[] = ".flac";
|
||||
if (!url) {
|
||||
return 0;
|
||||
}
|
||||
size_t len = strlen(url);
|
||||
if (len < sizeof(suffix)) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
return strcasecmp(url + len - sizeof(suffix) + 1, suffix) == 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* The netease cloud music server set the Content-Type of .flac format to mpeg/audio, which results vlc unable to decode
|
||||
* the music and play.
|
||||
*
|
||||
* To make vlc works correctly, we rewrite the Content-Type to audio/flac.
|
||||
*
|
||||
* @param s
|
||||
* @param query
|
||||
* @param args
|
||||
* @return
|
||||
*/
|
||||
int vlc_stream_vaControl(stream_t *s, int query, va_list args)
|
||||
{
|
||||
static typeof(vlc_stream_vaControl) *orig_fn;
|
||||
if (orig_fn == NULL) {
|
||||
orig_fn = load_sym(vlc_stream_vaControl, __func__);
|
||||
}
|
||||
if (query == STREAM_GET_CONTENT_TYPE && is_flac(s->psz_url)) {
|
||||
*va_arg(args, char **) = strdup("audio/flac");
|
||||
return VLC_SUCCESS;
|
||||
} else {
|
||||
return orig_fn(s, query, args);
|
||||
}
|
||||
}
|
||||
|
||||
struct string_with_len {
|
||||
const char *s;
|
||||
size_t len;
|
||||
};
|
||||
#define STRING_WITH_LEN_INIT(s) {s, sizeof(s)-1}
|
||||
|
||||
/**
|
||||
* drop all library fixes.
|
||||
*
|
||||
* Library fixes should only be applied to the netease-cloud-music main process. Sometime, netease-cloud-music execute
|
||||
* external program, such as `xdg-open`, `kde-open5`. Those external programs use newer version qt and other new
|
||||
* libraries. If we don't drop these environment variables, those programs may not work, because some symbol may not
|
||||
* exist in the bundled old library.
|
||||
*
|
||||
* @param path
|
||||
* @param argv
|
||||
* @param envp
|
||||
* @return
|
||||
*/
|
||||
int execve(const char *path, char *const argv[], char *const envp[])
|
||||
{
|
||||
static typeof(execve) *orig_fn;
|
||||
if (orig_fn == NULL) {
|
||||
orig_fn = load_sym(execve, "execve");
|
||||
}
|
||||
|
||||
static struct string_with_len drop_env[] = {
|
||||
STRING_WITH_LEN_INIT("LD_LIBRARY_PATH="),
|
||||
STRING_WITH_LEN_INIT("LD_PRELOAD="),
|
||||
STRING_WITH_LEN_INIT("QT_PLUGIN_PATH="),
|
||||
STRING_WITH_LEN_INIT("QT_QPA_PLATFORM_PLUGIN_PATH="),
|
||||
STRING_WITH_LEN_INIT("QT_QPA_PLATFORM="),
|
||||
};
|
||||
|
||||
size_t nenv;
|
||||
for (nenv = 0; envp[nenv]; nenv++);
|
||||
|
||||
char *new_envp[nenv + 1];
|
||||
char *const *src = envp;
|
||||
char **dst = new_envp;
|
||||
|
||||
while (*src) {
|
||||
for (int i = 0; i < sizeof(drop_env) / sizeof(*drop_env); ++i) {
|
||||
if (strncmp(drop_env[i].s, *src, drop_env[i].len) == 0) {
|
||||
goto next_env;
|
||||
}
|
||||
}
|
||||
*dst = *src;
|
||||
++dst;
|
||||
next_env:
|
||||
++src;
|
||||
}
|
||||
|
||||
*dst = NULL;
|
||||
return orig_fn(path, argv, new_envp);
|
||||
}
|
4
media-sound/netease-cloud-music/metadata.xml
Normal file
4
media-sound/netease-cloud-music/metadata.xml
Normal file
@ -0,0 +1,4 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
</pkgmetadata>
|
@ -0,0 +1,50 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit unpacker desktop toolchain-funcs xdg
|
||||
|
||||
DESCRIPTION="Netease Cloud Music, converted from .deb package"
|
||||
HOMEPAGE="https://music.163.com"
|
||||
SRC_URI="https://d1.music.126.net/dmusic/${PN}_${PV}_amd64_ubuntu_20190428.deb"
|
||||
|
||||
LICENSE="NetEase BSD"
|
||||
SLOT="0"
|
||||
RESTRICT="strip mirror"
|
||||
KEYWORDS="-* ~amd64"
|
||||
|
||||
DEPEND="media-video/vlc[taglib]"
|
||||
RDEPEND="${DEPEND}
|
||||
sys-devel/binutils
|
||||
x11-libs/gtk+:3
|
||||
net-dns/avahi
|
||||
sys-auth/nss-mdns
|
||||
net-libs/libgssglue
|
||||
"
|
||||
S="${WORKDIR}"
|
||||
|
||||
src_compile() {
|
||||
$(tc-getCC) ${CFLAGS} -fPIC -shared -I /usr/include/vlc/plugins/ -o libnetease-patch.so "${FILESDIR}"/patch.c || die
|
||||
default
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local OPN="opt/netease/${PN}"
|
||||
insinto /${OPN}
|
||||
doins -r libnetease-patch.so "${FILESDIR}"/${PN}.bash ${OPN}/{${PN},plugins}
|
||||
dosym -r /${OPN}/${PN}.bash /usr/bin/${PN}
|
||||
|
||||
insinto /${OPN}/libs
|
||||
doins -r ${OPN}/libs/qcef
|
||||
for dol in $(cat "${FILESDIR}"/doinslib); do
|
||||
doins ${OPN}/libs/${dol}
|
||||
done
|
||||
fperms +x /${OPN}/{libnetease-patch.so,${PN},${PN}.bash,libs/qcef/chrome-sandbox}
|
||||
|
||||
gzip -d usr/share/doc/${PN}/*.gz || die
|
||||
dodoc usr/share/doc/${PN}/*
|
||||
|
||||
doicon -s scalable usr/share/icons/hicolor/scalable/apps/${PN}.svg
|
||||
domenu usr/share/applications/${PN}.desktop
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user