actions.py 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. #!/usr/bin/python
  2. # -*- coding: utf-8 -*-
  3. #
  4. # Licensed under the GNU General Public License, version 3.
  5. # See the file http://www.gnu.org/licenses/gpl.txt
  6. from pisi.actionsapi import autotools
  7. from pisi.actionsapi import pisitools
  8. from pisi.actionsapi import shelltools
  9. from pisi.actionsapi import get
  10. WorkDir = "chromium-%s" % get.srcVERSION()
  11. shelltools.export("HOME", get.workDIR())
  12. ARCH = "x64"
  13. def setup():
  14. shelltools.export("LC_ALL", "C")
  15. shelltools.system("mkdir -p third_party/node/linux/node-linux-x64/bin")
  16. shelltools.system("ln -s /usr/bin/node third_party/node/linux/node-linux-x64/bin/")
  17. for LIB in ["flac", "harfbuzz-ng" "libwebp" ,"libxslt", "yasm"]:
  18. shelltools.system('find -type f -path "*third_party/$LIB/*" \! -path "*third_party/$LIB/chromium/*" \! -path "*third_party/$LIB/google/*" \! -regex ".*\.\(gn\|gni\|isolate\|py\)" -delete')
  19. shelltools.system("build/linux/unbundle/replace_gn_files.py --system-libraries flac harfbuzz-ng libwebp libxslt yasm")
  20. opt = 'use_sysroot=false \
  21. is_clang=false enable_nacl=false \
  22. fieldtrial_testing_like_official_build=true \
  23. clang_use_chrome_plugins=false \
  24. fatal_linker_warnings=false \
  25. treat_warnings_as_errors=false \
  26. use_gnome_keyring=false\
  27. use_gold=false \
  28. enable_hangout_services_extension=true \
  29. use_gconf=false \
  30. enable_widevine=true \
  31. linux_use_bundled_binutils=false \
  32. is_debug=false \
  33. ffmpeg_branding="Chrome" \
  34. google_default_client_secret="0ZChLK6AxeA3Isu96MkwqDR4" \
  35. google_api_key="AIzaSyDwr302FpOSkGRpLlUpPThNTDPbXcIn_FM" \
  36. google_default_client_id="413772536636.apps.googleusercontent.com" \
  37. remove_webcore_debug_symbols=true \
  38. proprietary_codecs=true \
  39. link_pulseaudio=true \
  40. use_custom_libcxx=false \
  41. enable_swiftshader=false \
  42. use_gtk3=true'
  43. shelltools.system("tools/gn/bootstrap/bootstrap.py --gn-gen-args '%s'"% opt)
  44. shelltools.system("out/Release/gn gen out/Release --args='%s'"% opt)
  45. def build():
  46. #Sandbox for error must remain separate
  47. shelltools.system("ninja -C out/Release chrome")
  48. shelltools.system("ninja -C out/Release chrome_sandbox")
  49. shelltools.system("ninja -C out/Release chromedriver")
  50. shelltools.system("ninja -C out/Release widevinecdmadapter")
  51. def install():
  52. shelltools.cd("out/Release")
  53. #should be checked should for the missing folder "out/Release"
  54. for vla in ["*.pak", "*.json", "chrome", "locales", "resources", "icudtl.dat", "mksnapshot", "chromedriver", "natives_blob.bin", "snapshot_blob.bin", "character_data_generator"]:
  55. pisitools.insinto("/usr/lib/chromium-browser", "%s" % vla)
  56. pisitools.insinto("/usr/lib/chromium-browser", "chrome_sandbox", "chrome-sandbox")
  57. pisitools.dosym("/usr/lib/chromium-browser/chrome", "/usr/bin/chromium-browser")
  58. shelltools.system("chmod -v 4755 %s/usr/lib/chromium-browser/chrome-sandbox" %get.installDIR())
  59. pisitools.newman("chrome.1", "chromium-browser.1")
  60. shelltools.cd("../..")
  61. for size in ["22", "24", "48", "64", "128", "256"]:
  62. pisitools.insinto("/usr/share/icons/hicolor/%sx%s/apps" %(size, size), "chrome/app/theme/chromium/product_logo_%s.png" % size, "chromium-browser.png")
  63. pisitools.dosym("/usr/share/icons/hicolor/256x256/apps/chromium-browser.png", "/usr/share/pixmaps/chromium-browser.png")
  64. pisitools.dodoc("LICENSE")