├── LICENSE ├── patch_ncmi_deb.sh └── readme.md /LICENSE: -------------------------------------------------------------------------------- 1 | DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE 2 | Version 2, December 2004 3 | 4 | Copyright (C) 2012 Romain Lespinasse 5 | 6 | Everyone is permitted to copy and distribute verbatim or modified 7 | copies of this license document, and changing it is allowed as long 8 | as the name is changed. 9 | 10 | DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE 11 | TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 12 | 13 | 0. You just DO WHAT THE FUCK YOU WANT TO. 14 | 15 | -------------------------------------------------------------------------------- /patch_ncmi_deb.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -e 3 | HERE=$(realpath $(dirname $0)) 4 | TMP=$(mktemp -d) 5 | NEW_PKG="custom_netease-cloud-music" 6 | USAGE_LIBS=( 7 | libdouble-conversion.so.1 8 | libgconf-2.so.4 9 | libicudata.so.60 10 | libicui18n.so.60 11 | libicuuc.so.60 12 | libqcef.so 13 | libqcef.so.1 14 | libqcef.so.1.1.4 15 | libQt5Core.so.5 16 | libQt5DBus.so.5 17 | libQt5EglFSDeviceIntegration.so.5 18 | libQt5Gui.so.5 19 | libQt5Network.so.5 20 | libQt5Qml.so.5 21 | libQt5Svg.so.5 22 | libQt5WebChannel.so.5 23 | libQt5Widgets.so.5 24 | libQt5X11Extras.so.5 25 | libQt5XcbQpa.so.5 26 | libQt5Xml.so.5 27 | qcef 28 | ) 29 | 30 | cd "$TMP" 31 | sudo sed -i 's/#[ \t]*deb-src/deb-src/g' /etc/apt/sources.list 32 | sudo apt update 33 | apt source vlc 34 | sudo apt install libmpg123-dev libflac-dev libmpeg2-4-dev libgnutls28-dev libsoxr-dev libsamplerate0-dev libasound2-dev automake build-essential 35 | cd vlc-3* 36 | cat > ncm.patch <= 300) 43 | return NULL; 44 | 45 | + if(res->path){ 46 | + char *suffix = "\0"; 47 | + for(int i = (int) (strlen(res->path) - 1); i >= 0; --i){ 48 | + if(res->path[i] == '.'){ 49 | + suffix = res->path + i + 1; 50 | + break; 51 | + } 52 | + } 53 | + if(strcmp(suffix, "flac") == 0) 54 | + return strdup("audio/flac"); 55 | + } 56 | + 57 | const char *type = vlc_http_msg_get_header(res->response, "Content-Type"); 58 | return (type != NULL) ? strdup(type) : NULL; 59 | } 60 | EOF 61 | 62 | patch -p1