diff --git a/source/docs/en/latest/developer/build-linux.markdown b/source/docs/en/latest/developer/build-linux.markdown index fe4422ff..864169fc 100644 --- a/source/docs/en/latest/developer/build-linux.markdown +++ b/source/docs/en/latest/developer/build-linux.markdown @@ -17,187 +17,15 @@ License_URL: https://handbrake.fr/docs/license.html Building HandBrake for Linux ============================ +If you have installed a HandBrake package from your distribution or other third-party package repository, please remove it before proceeding. See the section, *Warning about broken third-party builds* on [Where to get HandBrake](../get-handbrake/where-to-get-handbrake.html) for more information. + ## Installing dependencies -### Ubuntu +Dependency installation instructions are available for the following distributions. -The following instructions are for Ubuntu 14.04 LTS (Trusty Tahr) and Ubuntu 16.04 LTS (Xenial Xerus). - -Dependencies: - -- autoconf -- build-essential -- cmake -- git -- libass-dev -- libbz2-dev -- libfontconfig1-dev -- libfreetype6-dev -- libfribidi-dev -- libharfbuzz-dev -- libjansson-dev -- libmp3lame-dev -- libogg-dev -- libopus-dev -- libsamplerate-dev -- libtheora-dev -- libtool -- libvorbis-dev -- libx264-dev -- libxml2-dev -- m4 -- make -- patch -- python -- tar -- yasm -- zlib1g-dev - -Additional Ubuntu 16.04 LTS dependencies: - -- libtool-bin - -Graphical interface dependencies: - -- intltool -- libappindicator-dev -- libdbus-glib-1-dev -- libglib2.0-dev -- libgstreamer1.0-dev -- libgstreamer-plugins-base1.0-dev -- libgtk-3-dev -- libgudev-1.0-dev -- libnotify-dev -- libwebkitgtk-3.0-dev - -Install dependencies. - - sudo apt-get install autoconf build-essential cmake git libass-dev libbz2-dev libfontconfig1-dev libfreetype6-dev libfribidi-dev libharfbuzz-dev libjansson-dev libmp3lame-dev libogg-dev libopus-dev libsamplerate-dev libtheora-dev libtool libvorbis-dev libx264-dev libxml2-dev m4 make patch python tar yasm zlib1g-dev - -If you are running Ubuntu 16.04 LTS, install the additional dependencies. - - sudo apt-get install libtool-bin - -To build the GTK [GUI](abbr:Graphical User Interface), install the graphical interface dependencies. - - sudo apt-get install intltool libappindicator-dev libdbus-glib-1-dev libglib2.0-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libgtk-3-dev libgudev-1.0-dev libnotify-dev libwebkitgtk-3.0-dev - -### Fedora - -The following instructions are for Fedora 20 and later. - -Dependencies: - -- Development Tools -- Development Libraries -- bzip2-devel -- cmake -- fontconfig-devel -- freetype-devel -- fribidi-devel -- gcc-c++ -- git -- harfbuzz-devel -- jansson-devel -- lame-devel -- libass-devel -- libogg-devel -- libsamplerate-devel -- libtheora-devel -- libtool -- libvorbis-devel -- libxml2-devel -- m4 -- make -- opus-devel -- patch -- python -- tar -- x264-devel -- yasm -- zlib-devel - -Graphical interface dependencies: - -- X Software Development -- GNOME Software Development -- dbus-glib-devel -- gstreamer1-devel -- gstreamer1-plugins-base-devel -- intltool -- libgudev1-devel -- libnotify-devel -- webkitgtk3-devel - -Install dependencies. - - sudo yum groupinstall "Development Tools" "Development Libraries" - sudo yum install bzip2-devel cmake fontconfig-devel freetype-devel fribidi-devel gcc-c++ git harfbuzz-devel jansson-devel lame-devel libass-devel libogg-devel libsamplerate-devel libtheora-devel libtool libvorbis-devel libxml2-devel m4 make opus-devel patch python tar x264-devel yasm zlib-devel - -To build the GTK [GUI](abbr:Graphical User Interface), install the graphical interface dependencies. - - sudo yum groupinstall "X Software Development" "GNOME Software Development" - sudo yum install dbus-glib-devel gstreamer1-devel gstreamer1-plugins-base-devel intltool libgudev1-devel libnotify-devel webkitgtk3-devel - -### CentOS 6 - -The following instructions are for CentOS 6.8 x86_64 and HandBrake [CLI](abbr:Command Line Interface) only. - -Dependencies: - -- Development tools -- Additional Development -- cmake -- libicu-devel -- libogg-devel -- libsamplerate-devel -- libtheora-devel -- libvorbis-devel - -Additional dependencies not available in the base repository: - -- fribidi-devel [EPEL] -- harfbuzz-devel [spec file] -- jansson-devel [EPEL] -- lame-devel [RPM Fusion] -- libass-devel [EPEL] -- opus-devel [EPEL] -- python27 [SCL] -- x264-devel [RPM Fusion] -- yasm [EPEL] - -Install dependencies. - - sudo yum groupinstall "Development tools" "Additional Development" - sudo yum install cmake libicu-devel libogg-devel libsamplerate-devel libtheora-devel libvorbis-devel - -Install the [Software Collections (SCL)](https://wiki.centos.org/AdditionalResources/Repositories/SCL) repository and Python 2.7.x[^python-centos-6]. - - sudo yum install centos-release-scl - sudo yum install python27 python27-python-devel python27-python-setuptools python27-python-tools python27-python-virtualenv - -Install the [EPEL](https://fedoraproject.org/wiki/EPEL) repository and related additional dependencies. - - sudo yum install epel-release - sudo yum install fribidi-devel jansson-devel libass-devel opus-devel yasm - -Install the [RPM Fusion](http://rpmfusion.org) Free repository and related additional dependencies. - - sudo yum localinstall --nogpgcheck https://download1.rpmfusion.org/free/el/updates/6/i386/rpmfusion-free-release-6-1.noarch.rpm - sudo yum install lame-devel x264-devel - -Download the HarfBuzz spec file from the CentOS 7 [rpms/harfbuzz](https://git.centos.org/summary/rpms!harfbuzz.git) git repository and remove the `graphite2-devel` dependency. - - sudo mkdir -p /root/rpmbuild/SPECS - sudo curl -o /root/rpmbuild/SPECS/harfbuzz.spec 'https://git.centos.org/raw/rpms!harfbuzz.git/f5bd1f4920ed0fc56cd21547294f7c34deeb4e4f/SPECS!harfbuzz.spec' - sudo sed -i'' -e '/BuildRequires:[ ]*graphite2-devel/d' -e '/%configure/s/ --with-graphite2//' /root/rpmbuild/SPECS/harfbuzz.spec - -Download, build, and install HarfBuzz (provides the `harfbuzz-devel` package). - - sudo mkdir -p /root/rpmbuild/SOURCES - sudo curl -o /root/rpmbuild/SOURCES/harfbuzz-0.9.36.tar.bz2 'https://www.freedesktop.org/software/harfbuzz/release/harfbuzz-0.9.36.tar.bz2' - sudo rpmbuild -ba /root/rpmbuild/SPECS/harfbuzz.spec - sudo rpm -ivh /root/rpmbuild/RPMS/x86_64/harfbuzz-*.rpm +- [CentOS](install-dependencies-centos.html) +- [Fedora](install-dependencies-fedora.html) +- [Ubuntu](install-dependencies-ubuntu.html) ## Building HandBrake @@ -214,5 +42,3 @@ When complete, you will find `HandBrakeCLI` in the `build` directory. If the gra Install HandBrake (optional). When installing the graphical interface, icon and desktop files for the Applications menu will be also installed. cd build && sudo make install - -[^python-centos-6]: Installing Python from CentOS [SCL](https://wiki.centos.org/AdditionalResources/Repositories/SCL) does not impact the default system Python; newer versions are installed alongside and in addition to the system version. diff --git a/source/docs/en/latest/developer/install-dependencies-centos.markdown b/source/docs/en/latest/developer/install-dependencies-centos.markdown new file mode 100644 index 00000000..4c25ac06 --- /dev/null +++ b/source/docs/en/latest/developer/install-dependencies-centos.markdown @@ -0,0 +1,79 @@ +--- +Type: article +Title: Installing dependencies on CentOS +Project: HandBrake +Project_URL: https://handbrake.fr/ +Project_Version: Latest +Language: English +Language_Code: en +Authors: Bradley Sepos (BradleyS) +Copyright: 2016 HandBrake Team +License: Creative Commons Attribution-ShareAlike 4.0 International +License_Abbr: CC BY-SA 4.0 +License_URL: https://handbrake.fr/docs/license.html +--- + +Installing dependencies on CentOS +================================= + +The following instructions are for CentOS 6.8 x86_64. Only the HandBrake [CLI](abbr:Command Line Interface) is supported. + +Dependencies: + +- Development tools +- Additional Development +- cmake +- libicu-devel +- libogg-devel +- libsamplerate-devel +- libtheora-devel +- libvorbis-devel + +Additional dependencies not available in the base repository: + +- fribidi-devel [EPEL] +- harfbuzz-devel [spec file] +- jansson-devel [EPEL] +- lame-devel [RPM Fusion] +- libass-devel [EPEL] +- opus-devel [EPEL] +- python27 [SCL] +- x264-devel [RPM Fusion] +- yasm [EPEL] + +Install dependencies. + + sudo yum groupinstall "Development tools" "Additional Development" + sudo yum install cmake libicu-devel libogg-devel libsamplerate-devel libtheora-devel libvorbis-devel + +Install the [Software Collections (SCL)](https://wiki.centos.org/AdditionalResources/Repositories/SCL) repository and Python 2.7.x[^python-centos-6]. + + sudo yum install centos-release-scl + sudo yum install python27 python27-python-devel python27-python-setuptools python27-python-tools python27-python-virtualenv + +Install the [EPEL](https://fedoraproject.org/wiki/EPEL) repository and related additional dependencies. + + sudo yum install epel-release + sudo yum install fribidi-devel jansson-devel libass-devel opus-devel yasm + +Install the [RPM Fusion](http://rpmfusion.org) Free repository and related additional dependencies. + + sudo yum localinstall --nogpgcheck https://download1.rpmfusion.org/free/el/updates/6/i386/rpmfusion-free-release-6-1.noarch.rpm + sudo yum install lame-devel x264-devel + +Download the HarfBuzz spec file from the CentOS 7 [rpms/harfbuzz](https://git.centos.org/summary/rpms!harfbuzz.git) git repository and remove the `graphite2-devel` dependency. + + sudo mkdir -p /root/rpmbuild/SPECS + sudo curl -o /root/rpmbuild/SPECS/harfbuzz.spec 'https://git.centos.org/raw/rpms!harfbuzz.git/f5bd1f4920ed0fc56cd21547294f7c34deeb4e4f/SPECS!harfbuzz.spec' + sudo sed -i'' -e '/BuildRequires:[ ]*graphite2-devel/d' -e '/%configure/s/ --with-graphite2//' /root/rpmbuild/SPECS/harfbuzz.spec + +Download, build, and install HarfBuzz (provides the `harfbuzz-devel` package). + + sudo mkdir -p /root/rpmbuild/SOURCES + sudo curl -o /root/rpmbuild/SOURCES/harfbuzz-0.9.36.tar.bz2 'https://www.freedesktop.org/software/harfbuzz/release/harfbuzz-0.9.36.tar.bz2' + sudo rpmbuild -ba /root/rpmbuild/SPECS/harfbuzz.spec + sudo rpm -ivh /root/rpmbuild/RPMS/x86_64/harfbuzz-*.rpm + +CentOS is now prepared to build the HandBrake [CLI](abbr:Command Line Interface). See [Building HandBrake for Linux](build-linux.html) for further instructions. + +[^python-centos-6]: Installing Python from CentOS [SCL](https://wiki.centos.org/AdditionalResources/Repositories/SCL) does not impact the default system Python; newer versions are installed alongside and in addition to the system version. diff --git a/source/docs/en/latest/developer/install-dependencies-fedora.markdown b/source/docs/en/latest/developer/install-dependencies-fedora.markdown new file mode 100644 index 00000000..c36d0249 --- /dev/null +++ b/source/docs/en/latest/developer/install-dependencies-fedora.markdown @@ -0,0 +1,76 @@ +--- +Type: article +Title: Installing dependencies on Fedora +Project: HandBrake +Project_URL: https://handbrake.fr/ +Project_Version: Latest +Language: English +Language_Code: en +Authors: Bradley Sepos (BradleyS) +Copyright: 2016 HandBrake Team +License: Creative Commons Attribution-ShareAlike 4.0 International +License_Abbr: CC BY-SA 4.0 +License_URL: https://handbrake.fr/docs/license.html +--- + +Installing dependencies on Fedora +================================= + +The following instructions are for Fedora 20 and later. + +Dependencies: + +- Development Tools +- Development Libraries +- bzip2-devel +- cmake +- fontconfig-devel +- freetype-devel +- fribidi-devel +- gcc-c++ +- git +- harfbuzz-devel +- jansson-devel +- lame-devel +- libass-devel +- libogg-devel +- libsamplerate-devel +- libtheora-devel +- libtool +- libvorbis-devel +- libxml2-devel +- m4 +- make +- opus-devel +- patch +- python +- tar +- x264-devel +- yasm +- zlib-devel + +Graphical interface dependencies: + +- X Software Development +- GNOME Software Development +- dbus-glib-devel +- gstreamer1-devel +- gstreamer1-plugins-base-devel +- intltool +- libgudev1-devel +- libnotify-devel +- webkitgtk3-devel + +Install dependencies. + + sudo yum groupinstall "Development Tools" "Development Libraries" + sudo yum install bzip2-devel cmake fontconfig-devel freetype-devel fribidi-devel gcc-c++ git harfbuzz-devel jansson-devel lame-devel libass-devel libogg-devel libsamplerate-devel libtheora-devel libtool libvorbis-devel libxml2-devel m4 make opus-devel patch python tar x264-devel yasm zlib-devel + +To build the GTK [GUI](abbr:Graphical User Interface), install the graphical interface dependencies. + + sudo yum groupinstall "X Software Development" "GNOME Software Development" + sudo yum install dbus-glib-devel gstreamer1-devel gstreamer1-plugins-base-devel intltool libgudev1-devel libnotify-devel webkitgtk3-devel + +Fedora is now prepared to build HandBrake. See [Building HandBrake for Linux](build-linux.html) for further instructions. + +[^python-centos-6]: Installing Python from CentOS [SCL](https://wiki.centos.org/AdditionalResources/Repositories/SCL) does not impact the default system Python; newer versions are installed alongside and in addition to the system version. diff --git a/source/docs/en/latest/developer/install-dependencies-ubuntu.markdown b/source/docs/en/latest/developer/install-dependencies-ubuntu.markdown new file mode 100644 index 00000000..e9048a4d --- /dev/null +++ b/source/docs/en/latest/developer/install-dependencies-ubuntu.markdown @@ -0,0 +1,82 @@ +--- +Type: article +Title: Installing dependencies on Ubuntu +Project: HandBrake +Project_URL: https://handbrake.fr/ +Project_Version: Latest +Language: English +Language_Code: en +Authors: Bradley Sepos (BradleyS) +Copyright: 2016 HandBrake Team +License: Creative Commons Attribution-ShareAlike 4.0 International +License_Abbr: CC BY-SA 4.0 +License_URL: https://handbrake.fr/docs/license.html +--- + +Installing dependencies on Ubuntu +================================= + +The following instructions are for Ubuntu 16.04 LTS (Xenial Xerus) and Ubuntu 14.04 LTS (Trusty Tahr). + +Dependencies: + +- autoconf +- build-essential +- cmake +- git +- libass-dev +- libbz2-dev +- libfontconfig1-dev +- libfreetype6-dev +- libfribidi-dev +- libharfbuzz-dev +- libjansson-dev +- libmp3lame-dev +- libogg-dev +- libopus-dev +- libsamplerate-dev +- libtheora-dev +- libtool +- libvorbis-dev +- libx264-dev +- libxml2-dev +- m4 +- make +- patch +- python +- tar +- yasm +- zlib1g-dev + +Additional Ubuntu 16.04 LTS dependencies: + +- libtool-bin + +Graphical interface dependencies: + +- intltool +- libappindicator-dev +- libdbus-glib-1-dev +- libglib2.0-dev +- libgstreamer1.0-dev +- libgstreamer-plugins-base1.0-dev +- libgtk-3-dev +- libgudev-1.0-dev +- libnotify-dev +- libwebkitgtk-3.0-dev + +Install dependencies. + + sudo apt-get install autoconf build-essential cmake git libass-dev libbz2-dev libfontconfig1-dev libfreetype6-dev libfribidi-dev libharfbuzz-dev libjansson-dev libmp3lame-dev libogg-dev libopus-dev libsamplerate-dev libtheora-dev libtool libvorbis-dev libx264-dev libxml2-dev m4 make patch python tar yasm zlib1g-dev + +If you are running Ubuntu 16.04 LTS, install the additional dependencies. + + sudo apt-get install libtool-bin + +To build the GTK [GUI](abbr:Graphical User Interface), install the graphical interface dependencies. + + sudo apt-get install intltool libappindicator-dev libdbus-glib-1-dev libglib2.0-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libgtk-3-dev libgudev-1.0-dev libnotify-dev libwebkitgtk-3.0-dev + +Ubuntu is now prepared to build HandBrake. See [Building HandBrake for Linux](build-linux.html) for further instructions. + +[^python-centos-6]: Installing Python from CentOS [SCL](https://wiki.centos.org/AdditionalResources/Repositories/SCL) does not impact the default system Python; newer versions are installed alongside and in addition to the system version. diff --git a/source/docs/en/latest/table-of-contents.markdown b/source/docs/en/latest/table-of-contents.markdown index d1bd4e20..1591b185 100644 --- a/source/docs/en/latest/table-of-contents.markdown +++ b/source/docs/en/latest/table-of-contents.markdown @@ -149,6 +149,7 @@ Table of contents - [Linux Flatpaks](developer/flatpak-repo.html) - Building HandBrake - [Building HandBrake for Linux](developer/build-linux.html) + - Installing dependencies on [CentOS](developer/install-dependencies-centos.html) / [Fedora](developer/install-dependencies-fedora.html) / [Ubuntu](developer/install-dependencies-ubuntu.html) - [Building HandBrake for Mac](developer/build-mac.html) - [Building HandBrake for Windows](developer/build-windows.html)