You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
42 lines
2.0 KiB
Python
42 lines
2.0 KiB
Python
import os
|
|
import re
|
|
import shutil
|
|
from stuffs.general import General
|
|
from tools.helper import host, run
|
|
from tools.logger import Logger
|
|
|
|
|
|
class Widevine(General):
|
|
partition = "vendor"
|
|
dl_links = {
|
|
"x86": ["https://github.com/supremegamers/vendor_google_proprietary_widevine-prebuilt/archive/94c9ee172e3d78fecc81863f50a59e3646f7a2bd.zip", "a31f325453c5d239c21ecab8cfdbd878"],
|
|
"x86_64": ["https://github.com/supremegamers/vendor_google_proprietary_widevine-prebuilt/archive/94c9ee172e3d78fecc81863f50a59e3646f7a2bd.zip", "a31f325453c5d239c21ecab8cfdbd878"],
|
|
"armeabi-v7a": ["https://github.com/supremegamers/vendor_google_proprietary_widevine-prebuilt/archive/a1a19361d36311bee042da8cf4ced798d2c76d98.zip", "fed6898b5cfd2a908cb134df97802554"],
|
|
"arm64-v8a": ["https://github.com/supremegamers/vendor_google_proprietary_widevine-prebuilt/archive/a1a19361d36311bee042da8cf4ced798d2c76d98.zip", "fed6898b5cfd2a908cb134df97802554"]
|
|
}
|
|
machine = host()
|
|
dl_link = dl_links[machine[0]][0]
|
|
act_md5 = dl_links[machine[0]][1]
|
|
dl_file_name = "widevine.zip"
|
|
extract_to = "/tmp/widevineunpack"
|
|
files = [
|
|
"bin/hw/*widevine",
|
|
"bin/move_widevine_data.sh",
|
|
"etc/init/*widevine.rc",
|
|
"etc/vintf/manifest/*widevine.xml",
|
|
"lib/libwvhidl.so",
|
|
"lib/mediadrm",
|
|
"lib64/mediadrm"
|
|
]
|
|
|
|
def copy(self):
|
|
run(["chmod", "+x", self.extract_to, "-R"])
|
|
name = re.findall("([a-zA-Z0-9]+)\.zip", self.dl_link)[0]
|
|
Logger.info("Copying widevine library files ...")
|
|
shutil.copytree(os.path.join(self.extract_to, "vendor_google_proprietary_widevine-prebuilt-"+name,
|
|
"prebuilts"), os.path.join(self.copy_dir, self.partition), dirs_exist_ok=True)
|
|
|
|
for file in os.listdir(os.path.join(self.copy_dir, self.partition, "etc", "init")):
|
|
if file.endswith('.rc'):
|
|
os.chmod(os.path.join(self.copy_dir, self.partition, "etc", "init", file), 0o644)
|