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
This commit is contained in:
Ilkka Kallioniemi 2024-01-11 15:30:12 +02:00 committed by GitHub
parent 8b8e9f5c6d
commit 35847b3e75
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 38 additions and 6 deletions

View File

@ -7,7 +7,7 @@ Software prerequisites:
* Xcode 11.3.1 or newer * 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. 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 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 ### ### Building the native app with CMake ###
Build the app: Build the app:
```console ```bash
cmake -B build -G Ninja -DCMAKE_BUILD_TYPE=RelWithDebInfo cmake -B build -G Ninja -DCMAKE_BUILD_TYPE=RelWithDebInfo
cmake --build build -t transmission-mac cmake --build build -t transmission-mac
open ./build/macosx/Transmission.app open ./build/macosx/Transmission.app
@ -29,7 +29,7 @@ open ./build/macosx/Transmission.app
### Building the GTK app with CMake ### ### Building the GTK app with CMake ###
Install GTK and build the app: Install GTK and build the app:
```console ```bash
brew install gtk4 gtkmm4 brew install gtk4 gtkmm4
cmake -B build -G Ninja -DCMAKE_BUILD_TYPE=RelWithDebInfo -DENABLE_GTK=ON -DENABLE_MAC=OFF cmake -B build -G Ninja -DCMAKE_BUILD_TYPE=RelWithDebInfo -DENABLE_GTK=ON -DENABLE_MAC=OFF
cmake --build build -t transmission-gtk cmake --build build -t transmission-gtk
@ -39,20 +39,52 @@ cmake --build build -t transmission-gtk
## On Unix ## ## On Unix ##
### Prerequisites ### ### 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. 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 For building transmission-daemon you will need basic dependencies
```bash ```bash
$ sudo apt install git build-essential cmake libcurl4-openssl-dev libssl-dev python3 $ 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 For GTK 3 client, two additional packages are required
```bash ```bash
$ sudo apt install libgtkmm-3.0-dev gettext $ 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 ```bash
$ sudo apt install qttools5-dev $ sudo apt install qttools5-dev
``` ```