From 35847b3e75acc736e1075ed17ab5bdde44cf8cce Mon Sep 17 00:00:00 2001 From: Ilkka Kallioniemi <35461663+ile6695@users.noreply.github.com> Date: Thu, 11 Jan 2024 15:30:12 +0200 Subject: [PATCH] docs: Add Debian 12 instructions (#5866) * Add Debian 12 installation instructions * Rename QT to Qt * Remove GTK4 packages #5858 bumped minimum required GTK4 past what Bookworm can offer. * Tr does not bring its own libsystemd-dev --- docs/Building-Transmission.md | 44 ++++++++++++++++++++++++++++++----- 1 file changed, 38 insertions(+), 6 deletions(-) diff --git a/docs/Building-Transmission.md b/docs/Building-Transmission.md index 64dc5be40..9b118a104 100644 --- a/docs/Building-Transmission.md +++ b/docs/Building-Transmission.md @@ -7,7 +7,7 @@ Software prerequisites: * Xcode 11.3.1 or newer Building the project on Mac requires the source to be retrieved from GitHub. Pre-packaged source code will not compile. -```console +```bash git clone --recurse-submodules https://github.com/transmission/transmission Transmission ``` @@ -21,7 +21,7 @@ Transmission has an Xcode project file for building in Xcode. ### Building the native app with CMake ### Build the app: -```console +```bash cmake -B build -G Ninja -DCMAKE_BUILD_TYPE=RelWithDebInfo cmake --build build -t transmission-mac open ./build/macosx/Transmission.app @@ -29,7 +29,7 @@ open ./build/macosx/Transmission.app ### Building the GTK app with CMake ### Install GTK and build the app: -```console +```bash brew install gtk4 gtkmm4 cmake -B build -G Ninja -DCMAKE_BUILD_TYPE=RelWithDebInfo -DENABLE_GTK=ON -DENABLE_MAC=OFF cmake --build build -t transmission-gtk @@ -39,20 +39,52 @@ cmake --build build -t transmission-gtk ## On Unix ## ### Prerequisites ### -#### Debian 11 and Newer #### +#### Debian 12 / Bookworm #### +On Debian, you can build transmission with a few dependencies on top of a base installation. + +For building transmission-daemon you will need basic dependencies: +```bash +$ sudo apt install build-essential cmake git libcurl4-openssl-dev libssl-dev +``` +These packages are not mandatory for a working binary. Transmission brings its own libraries if they aren't installed, except for `libsystemd-dev`. +```bash +$ sudo apt install libb64-dev libdeflate-dev libevent-dev libminiupnpc-dev libnatpmp-dev libpsl-dev libsystemd-dev +``` + +You likely want to install transmission as a native GUI application. +There are two options, GTK and Qt. + +GTK 3 client: +```bash +$ sudo apt install gettext libgtkmm-3.0-dev +``` + +Qt5 client: +```bash +$ sudo apt install libqt5svg5-dev qttools5-dev +``` +Qt6 client: +```bash +$ sudo apt install qt6-svg-dev qt6-tools-dev +``` + +Then you can begin [building.](#building-transmission-from-git-first-time) + +#### Debian 11 / Bullseye #### On Debian, you can build transmission with a few dependencies on top of a base installation. For building transmission-daemon you will need basic dependencies ```bash $ sudo apt install git build-essential cmake libcurl4-openssl-dev libssl-dev python3 ``` -You likely want to install transmission as a native GUI application. There are two options, GTK and QT. +You likely want to install transmission as a native GUI application. There are two options, GTK and Qt. For GTK 3 client, two additional packages are required ```bash $ sudo apt install libgtkmm-3.0-dev gettext ``` -For QT client, one additional package is needed on top of basic dependencies + +For Qt client, one additional package is needed on top of basic dependencies ```bash $ sudo apt install qttools5-dev ```