目標(biāo)版本
- GIMP 2.10.34
- BABL 0.1.102
- GEGL 0.4.42
安裝編譯依賴
本文檔使用的Linux發(fā)行版是Ubuntu 22.04.3 LTS
安裝編譯工具鏈
sudo apt update
sudo apt install meson
安裝編譯依賴
sudo cp /etc/apt/sources.list /etc/apt/sources.list~
sudo sed -Ei 's/^# deb-src /deb-src /' /etc/apt/sources.list
sudo apt-get update
sudo apt build-dep gimp
Building GIMP for Linux: Debian flavors and derivatives using apt
配置編譯環(huán)境
創(chuàng)建環(huán)境變量腳本
mkdir ~/gimp && cd ~/gimp
touch definitions.sh
拷貝以下內(nèi)容至~/gimp/definitions.sh
export GIMP_PREFIX=${HOME}/gimp/prefix
# Used to find programs/tools during build
export PATH="${GIMP_PREFIX}/bin:$PATH"
# Used to detect the build dependencies
export PKG_CONFIG_PATH="${GIMP_PREFIX}/share/pkgconfig:${GIMP_PREFIX}/lib/pkgconfig${PKG_CONFIG_PATH:+:$PKG_CONFIG_PATH}"
# Assuming a 64-bit build. Remove otherwise.
export PKG_CONFIG_PATH="${GIMP_PREFIX}/lib64/pkgconfig:$PKG_CONFIG_PATH"
# Used to find the glib-introspection dependencies
export XDG_DATA_DIRS="${XDG_DATA_DIRS:+$XDG_DATA_DIRS:}${GIMP_PREFIX}/share:/usr/local/share:/usr/share"
# Used to find the libraries at runtime
export LD_LIBRARY_PATH="${GIMP_PREFIX}/lib:${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}"
# Used by Autotools to find its tools
export ACLOCAL_FLAGS="-I $INSTALL_PREFIX/share/aclocal $ACLOCAL_FLAGS"
# Used to find introspection files
GI_TYPELIB_PATH="${GIMP_PREFIX}/lib/girepository-1.0:${GI_TYPELIB_PATH:+:$GI_TYPELIB_PATH}"
arch="$(dpkg-architecture -qDEB_HOST_MULTIARCH 2> /dev/null)"
export PKG_CONFIG_PATH="${GIMP_PREFIX}/lib/${arch}/pkgconfig:$PKG_CONFIG_PATH"
export LD_LIBRARY_PATH="${GIMP_PREFIX}/lib/${arch}:${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}"
export GI_TYPELIB_PATH="${GIMP_PREFIX}/lib/${arch}/girepository-1.0:${GI_TYPELIB_PATH:+:$GI_TYPELIB_PATH}"
使環(huán)境變量生效
source ~/gimp/definitions.sh
下載代碼
cd ~/gimp
git clone https://gitlab.gnome.org/GNOME/babl.git
git clone https://gitlab.gnome.org/GNOME/gegl.git
git clone https://gitlab.gnome.org/GNOME/gimp.git
編譯
babl
cd ~/gimp/babl
git checkout BABL_0_1_102
meson _build \
--prefix=${GIMP_PREFIX} \
--buildtype=release \
-Db_lto=true
cd _build
ninja
ninja install
GEGL
cd ~/gimp/gegl
git checkout GEGL_0_4_42
meson _build \
--prefix=${GIMP_PREFIX} \
--buildtype=release \
-Db_lto=true
cd _build
ninja
ninja install
GIMP
cd ~/gimp/gimp
git checkout GIMP_2_10_34
./autogen.sh --disable-python --prefix=${GIMP_PREFIX}
make -j8 #用編譯機(jī)器的CPU核心數(shù)代替數(shù)字8
make install
運(yùn)行
(source ~/gimp/definitions.sh ; $GIMP_PREFIX/bin/gimp-2.10)