Difference between revisions of "Porting/Chromium (Old)"

From RCS Wiki
Jump to navigation Jump to search
Line 1: Line 1:
DRAFT
+
<nowiki>DRAFT
  
 
https://bugs.chromium.org/p/chromium/issues/detail?id=871084
 
https://bugs.chromium.org/p/chromium/issues/detail?id=871084
Line 7: Line 7:
  
 
crashpad
 
crashpad
 
 
sandbox
 
sandbox
 
 
webrtc
 
webrtc
 
 
more??
 
more??
  
Line 19: Line 16:
  
 
sudo apt update
 
sudo apt update
 
 
sudo apt full-upgrade
 
sudo apt full-upgrade
 
 
sudo apt install python libcups2-dev pkg-config libnss3-dev libssl-dev libglib2.0-dev libgnome-keyring-dev libpango1.0-dev libdbus-1-dev libatk1.0-dev libatk-bridge2.0-dev libgtk-3-dev re2c subversion curl
 
sudo apt install python libcups2-dev pkg-config libnss3-dev libssl-dev libglib2.0-dev libgnome-keyring-dev libpango1.0-dev libdbus-1-dev libatk1.0-dev libatk-bridge2.0-dev libgtk-3-dev re2c subversion curl
  
 
cd
 
cd
 
 
git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
 
git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
  
 
export PATH=$PATH:$(pwd)/ninja
 
export PATH=$PATH:$(pwd)/ninja
 
 
export PATH=$PATH:$(pwd)/depot_tools
 
export PATH=$PATH:$(pwd)/depot_tools
 
 
export VPYTHON_BYPASS="manually managed python not supported by chrome operations"
 
export VPYTHON_BYPASS="manually managed python not supported by chrome operations"
 
 
export GYP_DEFINES="disable_nacl=1"
 
export GYP_DEFINES="disable_nacl=1"
  
 
git clone git://github.com/ninja-build/ninja.git
 
git clone git://github.com/ninja-build/ninja.git
 
 
cd ninja
 
cd ninja
 
 
git checkout release
 
git checkout release
 
 
./configure.py --bootstrap
 
./configure.py --bootstrap
 +
which ninja # ensure it is right ninja bin, else figure out a way so it is the right one that comes up
  
which ninja # ensure it is right ninja bin, else figure out a way so it is the right one that comes up
 
  
 
cd
 
cd
 
 
git clone https://gn.googlesource.com/gn
 
git clone https://gn.googlesource.com/gn
  
 
export CC=gcc
 
export CC=gcc
 
 
export CXX=g++
 
export CXX=g++
 
 
export AR=ar
 
export AR=ar
 
  
 
cd gn
 
cd gn
 
 
python build/gen.py --no-sysroot
 
python build/gen.py --no-sysroot
 
 
cat out/build.ninja | sed s/-stdlib=libstdc++//g | tee out/build.ninja
 
cat out/build.ninja | sed s/-stdlib=libstdc++//g | tee out/build.ninja
 
 
ninja -C out
 
ninja -C out
  
 
unset CXX
 
unset CXX
 
 
unset CC
 
unset CC
 
 
unset AR
 
unset AR
  
  
 
cd
 
cd
 
 
mkdir chromium
 
mkdir chromium
 
 
cd chromium
 
cd chromium
  
Line 81: Line 58:
  
 
curl "https://wiki.raptorcs.com/w/images/4/45/Src-DEPS.patch" | patch -p1 src/DEPS # If this patchfile stops working, ignore the error, changes are pending upstream
 
curl "https://wiki.raptorcs.com/w/images/4/45/Src-DEPS.patch" | patch -p1 src/DEPS # If this patchfile stops working, ignore the error, changes are pending upstream
 
 
curl "https://wiki.raptorcs.com/w/images/1/10/Binutils-download.py-PPC.patch" | patch -p1 src/third_party/binutils/download.py
 
curl "https://wiki.raptorcs.com/w/images/1/10/Binutils-download.py-PPC.patch" | patch -p1 src/third_party/binutils/download.py
  
 
gclient sync
 
gclient sync
 
 
gclient runhooks
 
gclient runhooks
  
 
mv src/buildtools/linux64/gn src/buildtools/linux64/gn.old
 
mv src/buildtools/linux64/gn src/buildtools/linux64/gn.old
 
 
ln -s $HOME/gn/out/gn src/buildtools/linux64/gn
 
ln -s $HOME/gn/out/gn src/buildtools/linux64/gn
  
Line 96: Line 70:
 
gn args out/Default
 
gn args out/Default
  
 
+
# PASTE IN EDITOR
---- PASTE IN EDITOR
 
  
 
enable_nacl=false
 
enable_nacl=false
 
 
treat_warnings_as_errors=false
 
treat_warnings_as_errors=false
  
---- END PASTE Save file and it will generate build configuration
+
# END PASTE Save file and it will generate build configuration
  
 
curl "https://wiki.raptorcs.com/w/images/6/69/Buildtools-third_party-libc%2B%2B-trunk-include-thread-PPC.patch" | patch -p1 buildtools/third_party/libc++/trunk/include/thread
 
curl "https://wiki.raptorcs.com/w/images/6/69/Buildtools-third_party-libc%2B%2B-trunk-include-thread-PPC.patch" | patch -p1 buildtools/third_party/libc++/trunk/include/thread
 
 
curl "https://wiki.raptorcs.com/w/images/b/b2/Rtc_base-system-arch.h-PPC.patch" | patch -p1 third_party/webrtc/rtc_base/system/arch.h
 
curl "https://wiki.raptorcs.com/w/images/b/b2/Rtc_base-system-arch.h-PPC.patch" | patch -p1 third_party/webrtc/rtc_base/system/arch.h
 
 
curl "https://wiki.raptorcs.com/w/images/9/96/Modules-desktop_capture-differ_block.cc-PPC.patch" | patch -p1 third_party/webrtc/modules/desktop_capture/differ_block.cc
 
curl "https://wiki.raptorcs.com/w/images/9/96/Modules-desktop_capture-differ_block.cc-PPC.patch" | patch -p1 third_party/webrtc/modules/desktop_capture/differ_block.cc
  
 
ninja -C out/Default chrome
 
ninja -C out/Default chrome
 +
 +
</nowiki>

Revision as of 18:55, 9 August 2018

DRAFT

https://bugs.chromium.org/p/chromium/issues/detail?id=871084
https://bugs.chromium.org/p/chromium/issues/detail?id=872534

TO PORT

crashpad
sandbox
webrtc
more??



Install Ubuntu 16 LTS ppc64le in VM with good amount of CPUs and ~16GB RAM, the more CPUs the more RAM, and around 200GB disk space

sudo apt update
sudo apt full-upgrade
sudo apt install python libcups2-dev pkg-config libnss3-dev libssl-dev libglib2.0-dev libgnome-keyring-dev libpango1.0-dev libdbus-1-dev libatk1.0-dev libatk-bridge2.0-dev libgtk-3-dev re2c subversion curl

cd
git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git

export PATH=$PATH:$(pwd)/ninja
export PATH=$PATH:$(pwd)/depot_tools
export VPYTHON_BYPASS="manually managed python not supported by chrome operations"
export GYP_DEFINES="disable_nacl=1"

git clone git://github.com/ninja-build/ninja.git
cd ninja
git checkout release
./configure.py --bootstrap
which ninja # ensure it is right ninja bin, else figure out a way so it is the right one that comes up


cd
git clone https://gn.googlesource.com/gn

export CC=gcc
export CXX=g++
export AR=ar

cd gn
python build/gen.py --no-sysroot
cat out/build.ninja | sed s/-stdlib=libstdc++//g | tee out/build.ninja
ninja -C out

unset CXX
unset CC
unset AR


cd
mkdir chromium
cd chromium

fetch --no-history --nohooks chromium

curl "https://wiki.raptorcs.com/w/images/4/45/Src-DEPS.patch" | patch -p1 src/DEPS # If this patchfile stops working, ignore the error, changes are pending upstream
curl "https://wiki.raptorcs.com/w/images/1/10/Binutils-download.py-PPC.patch" | patch -p1 src/third_party/binutils/download.py

gclient sync
gclient runhooks

mv src/buildtools/linux64/gn src/buildtools/linux64/gn.old
ln -s $HOME/gn/out/gn src/buildtools/linux64/gn

cd src

gn args out/Default

# PASTE IN EDITOR

enable_nacl=false
treat_warnings_as_errors=false

# END PASTE Save file and it will generate build configuration

curl "https://wiki.raptorcs.com/w/images/6/69/Buildtools-third_party-libc%2B%2B-trunk-include-thread-PPC.patch" | patch -p1 buildtools/third_party/libc++/trunk/include/thread
curl "https://wiki.raptorcs.com/w/images/b/b2/Rtc_base-system-arch.h-PPC.patch" | patch -p1 third_party/webrtc/rtc_base/system/arch.h
curl "https://wiki.raptorcs.com/w/images/9/96/Modules-desktop_capture-differ_block.cc-PPC.patch" | patch -p1 third_party/webrtc/modules/desktop_capture/differ_block.cc

ninja -C out/Default chrome