ungoogled-software / ungoogled-chromium

Google Chromium, sans integration with Google
BSD 3-Clause "New" or "Revised" License
20.24k stars 818 forks source link

[Howto] Build portable v68 on opensuse #490

Closed intika closed 6 years ago

intika commented 6 years ago

Note : Please close that issue... I did not made a pull request on building.md i wanted first to post here... also may be i can pull request building.md just to link here, as we can answer the post it's easier when we have an issue when building new versions instead of creating new issue...

Building Instructions For OpenSuse For Portable Version :

Update your distro zypper update

If you are willing to deploy your built version check your glibc version because a too new version will made your build not usable ldd --version

Add repo needed for clang6 python6 and llvm6

zypper addrepo -f https://download.opensuse.org/repositories/devel:/languages:/python:/Factory/openSUSE_Leap_42.3/ new-devels-python
zypper addrepo -f https://download.opensuse.org/repositories/devel:/tools:/compiler/openSUSE_Leap_42.3/ new-devels-clang6llvm
zypper addrepo -f https://download.opensuse.org/repositories/home:/Pharaoh_Atem:/DNF_SUSE/openSUSE_Leap_42.3/ dnf-manager

Check added repos zypper repos -d

Install needed packages (Note that this list is exhaustive i did not have the time to shrink it to just needed packages) zypper install perl-Switch dirac-devel hunspell-devel imlib2-devel libdc1394 libdc1394-devel libavcodec-devel yasm-devel libexif-devel libtheora-devel schroedinger-devel minizip-devel python-beautifulsoup4 python-simplejson libvdpau-devel slang-devel libjack-devel libavformat-devel SDL-devel ninja binutils-gold bison cups-devel desktop-file-utils fdupes flex gperf hicolor-icon-theme libcap-devel libelf-devel libgcrypt-devel libgsm libgsm-devel libjpeg-devel libpng-devel libva-devel ncurses-devel pam-devel pkgconfig re2-devel snappy-devel update-desktop-files util-linux wdiff alsa Mesa-dri-devel cairo-devel libavutil-devel libavfilter-devel libdrm2 libdrm-devel libwebp-devel libxslt-devel libopus-devel rpm-build

zypper in subversion pkg-config python perl bison flex gperf mozilla-nss-devel glib2-devel gtk-devel wdiff lighttpd gcc gcc-c++ gconf2-devel mozilla-nspr mozilla-nspr-devel php5-fastcgi alsa-devel libexpat-devel libjpeg-devel libbz2-devel

zypper install git libllvm python-hawkey python-librepo python-gpgme python-iniparse python-h5py python2-h5py lld6 libllvm llvm6 clang6 *alsa* builder python-curses python3-pkgconfig *pkgconfig* *buildkit* *liboil* lib64nss *llvm6*devel* llvm-6.0-dev *nss*dev* python3-packaging python3-setuptools *atk* nano gtk-*devel* gtk2-*devel* pciuti*dev* *lxtst*dev* *libXtst*dev* libXtst-dev *scrnsaver* *libXss*dev* *xss*dev* *screens*dev* *scrns*dev* *x11*dev* *pulse*dev* nss_ldap-265-35.14.x86_64 python-base-2.7.15-112.1.x86_64 python-xml-2.7.15-112.1.x86_64 python-2.7.15-105.1.x86_64 libpython2_7-1_0-2.7.15-112.1.x86_64 python-pyliblzma chromium

Install new python version from sources (3.6.6) note that i am using 24 cpu to build, on a normal machine just replace make -j24 with make

wget https://www.python.org/ftp/python/3.6.6/Python-3.6.6.tgz
tar -xvf Python-3.6.6.tgz 
cd Python-3.6.6/
./configure
make -j24
make install
mv /usr/bin/python3 /usr/bin/python3old
ln -s /usr/local/bin/python3 /usr/bin/python3
ln -s /usr/local/bin/python3 /usr/bin/python3.6

Getting sources (Note that this instruction will build v68.0.3440.106-2)

mkdir chrome
cd chrome
git clone https://github.com/Eloston/ungoogled-chromium.git
cd ungoogled*
git checkout tags/68.0.3440.106-2

Setup sources

mkdir -p build/src
./get_package.py linux_simple build/src/ungoogled_packaging
cd build/src

Edit build script to match your CPU I/II nano ./ungoogled_packaging/build.sh and comment or remove the last line starting with ninja

Prepare to build ./ungoogled_packaging/build.sh

Build (Note that -j48 is for a cpu with 48 cores so update that number according to how many build thread you want to run at the same time) ninja -j48 -C out/Default chrome chrome_sandbox chromedriver

Create the tar archive with the portable chromium ./ungoogled_packaging/package.sh

Eloston commented 6 years ago

Same as https://github.com/Eloston/ungoogled-chromium/issues/492#issuecomment-420129329

intika commented 5 years ago

Update for v69 Following the instruction for v68 here is what is needed to build v69

zypper addrepo -f https://download.opensuse.org/repositories/home:/forkbomb:/turboAMD/openSUSE_Leap_42.3/ libva

zypper addrepo -f https://download.opensuse.org/repositories/home:/khnazile:/video/openSUSE_Leap_42.3/ clang8

zypper remove libswscale-devel libva-devel libva-gl-devel llvm6* clang6* *lld6* clang3_9-checker-3.9.1-33.12.x86_64 libLLVM70-32bit-7.0~svn20180529-18.1.x86_64

zypper install gcc7 *dev*gcc7* *uuid* *yami* *vaapi* libva-devel-2.2.0-112.1.x86_64 *libva* flac-devel gcc7-c++ gn krb5-devel libevent-devel libudev-devel libvorbis-devel memory-constraints nodejs6 python-simplejson *sqlite3* *gnome-keyring* *libtcmalloc* *perftools* ffmpeg-4-libav* keyutils-devel libcom_err-devel libverto-devel *llvm8* *clang8* python3-clang* *lld8* 

zypper update