Ubuntu 18.04 altında GIMP 2.10.12 (*kararlı sürüm) derlemek

Başlatan yakusha, 11 Ocak 2019 - 13:12:19

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

yakusha

Bu makalenin amacı kısa ve denenmiş şekilde Ubuntu 18.04 altında GIMP *kararlı sürümünün (kararlı, geliştirme sürümünün) nasıl derleneceğini göstermekdir.

Kurulum işlemini opt/ klasörü altında yapıp sistem dosyalarına bulaşmadan gecelik 2.10.x geliştirme sürümü elde etmeye çalışacağız.

Kaynak koddan derleme yaparken çeşitli ilave paketlere ihtiyacımız olacak. Babl ve Gegl paketlerinin derlenmesi için meson ve ninja gibi derleme araçlarına da ihtiyacımız olacak.

sudo apt-get build-dep gimp python-cairo python-cairo-dev ninja-build python3-pip ccache
pip3 install meson

Kaynak kodlarımızı, ev dizinimiz altında DEV adında bir dizin oluşturarak orada tutacağız.

mkdir -p ~/DEV/gimp-dev
cd ~/DEV/gimp-dev


Prefix ve yolları tanımlayalım.


srcdir=~/DEV/gimp-dev
prefix=/opt/gimp
export PATH=$prefix/bin:$PATH
export PKG_CONFIG_PATH=$prefix/lib/pkgconfig
export LD_LIBRARY_PATH=$prefix/lib
export XDG_DATA_DIRS=$prefix/share
export ACLOCAL_FLAGS="-I $prefix/share/aclocal"





Gimp kaynak kodunu derlemeye başlamadan önce ihtiyacımız olacak bağımlılık paketlerinin inşası ile işe koyuluyoruz.

babl

cd $srcdir
git clone https://gitlab.gnome.org/GNOME/babl.git
cd $srcdir/babl


Tercihen master sürümü kuruyoruz.

git checkout master && git fetch && git pull

Derleme klasörümüzü önce silip, sonra yeniden oluşturuyoruz ve derleme işlemini tamamlıyoruz.


sudo rm -rf $srcdir/babl/buildcache
mkdir $srcdir/babl/buildcache
cd $srcdir/babl/buildcache
sudo ~/.local/bin/meson --prefix=$prefix --libdir=$prefix/lib
sudo ninja
sudo ninja install





gegl

cd $srcdir
git clone https://gitlab.gnome.org/GNOME/gegl.git
cd $srcdir/gegl


Tercihen master sürümü kuruyoruz.

git checkout master && git fetch && git pull

Babl paketinde yaptığımız gibi, derleme klasörümüzü önce silip, sonra yeniden oluşturuyoruz ve derleme işlemini tamamlıyoruz.


sudo rm -rf $srcdir/gegl/buildcache
mkdir $srcdir/gegl/buildcache
cd $srcdir/gegl/buildcache
sudo ~/.local/bin/meson --prefix=$prefix --libdir=$prefix/lib
sudo ninja
sudo ninja install





libmypaint

cd $srcdir
git clone https://github.com/mypaint/libmypaint.git
cd $srcdir/libmypaint
git checkout v1.3.0
sudo ./autogen.sh --prefix=$prefix
sudo ./configure --prefix=$prefix
sudo make -j 4
sudo make install





Exiv

Burada Exiv kütüphanesi derlemek gerekiyor. Lakin hata aldığım için tembellik yapıp derlenmiş sürümü kullanıyorum.


cd $srcdir
wget https://www.exiv2.org/builds/exiv2-0.27.2-Linux64.tar.gz -O exiv2.tar.gz
rm -rf $srcdir/exiv2 && mkdir $srcdir/exiv2 && tar xvf exiv2.tar.gz -C exiv2 --strip-components 1
sudo cp -a $srcdir/exiv2/lib/libexiv2.so* $prefix/lib





MyBrush Fırçaları


cd $srcdir
git clone -b v1.3.x https://github.com/Jehan/mypaint-brushes
cd $srcdir/mypaint-brushes
sudo ./autogen.sh
sudo ./configure --prefix=$prefix
sudo make -j 4
sudo make install





Gimp

Nihayet, gimp kaynak kodlarına sıra gelebildi. Gimp kaynak kodlarını indirelim.

git clone https://gitlab.gnome.org/GNOME/gimp.git gimp


cd $srcdir/gimp
git checkout origin/gimp-2-10
git fetch origin gimp-2-10 && git pull origin gimp-2-10


Normal kurulum için ilk satırı, Python desteği olmadan derlemek için ikinci satırdaki kodu kullanıyoruz.


sudo ./autogen.sh --prefix=$prefix --disable-gtk-doc --enable-debug=no --with-gimpdir=GIMP-2.10
sudo ./autogen.sh --prefix=$prefix --disable-gtk-doc --enable-debug=no --with-gimpdir=GIMP-2.10 --disable-python



sudo make -j 4
sudo make install





Gimp'i çalıştıralım

/opt/gimp/bin/gimp-2.10

Not: Alacarte kullanarak derlediğiniz sürüme link de oluşturabilirsiniz.

Kaynakça:
https://ninedegreesbelow.com/photography/build-gimp-in-prefix-for-artists.html
https://gist.github.com/aferrero2707/2da99aae425eca8c8afb61b3fb5532f9
https://wiki.gimp.org/wiki/Hacking:Building/Linux
https://wiki.gimp.org/wiki/Hacking:Building
https://github.com/aferrero2707/gimp-appimage/blob/master/build-appimage.sh
https://github.com/aferrero2707/docker-centos7-gimp/blob/master/build-dependencies.sh
https://gitlab.gnome.org/GNOME/gegl/issues/188
Artık bu forumu kullanmıyor.

yakusha

#1
Son Değişiklikler

8 Şubat 2018

* Exiv kütüphanesi kaynaklı hata düzeltildi.
* MyPaint fırçaları listeye eklendi.
* Kararlı sürüm yerine geliştirme aşamasındaki Kararlı sürüm derlenecek şekilde yeniden yapılandırıldı.

9 Şubat 2019

* Python desteği de eklendi.
* Babl ve Gegl paketi master sürüm üstünden yeniden derlenecek şekilde yeniden yapılandırıldı.

6 Ağustos 2019

* Babl paketi için derleme yönergeleri güncellendi.

15 Eylül 2019

* GEGL paketi için derleme yönergeleri güncellendi.
* Türkçe paketini derlemeye artık gerek yok.
Artık bu forumu kullanmıyor.

yakusha

#2
Makalenin yeni hali. (Henüz test aşamasında)

Bu makalenin amacı kısa ve denenmiş şekilde Ubuntu 18.04 altında GIMP 2.10 serisi kararlı, geliştirme sürümünün nasıl derleneceğini göstermekdir.

Kaynak kodlarımızı, ev dizinimiz altında DEV/ klasörü altında tutacağız. Aynı şekilde kurulum işlemini de DEV/z-gimp-app klasörüne yapacağız. Böylece işletim sistemimizde bulunabilecek GIMP sürümleriyle çakışma yaşamayacağız.

Kaynak koddan derleme yaparken çeşitli ilave paketlere ihtiyacımız olacak. Bunların başında Babl, GEGL, libmypaint, mypaint-brushes paketleri ve Exiv gelmektedir.  Exiv hariç diğer paketleri kendimiz derleyeceğiz. Exiv için ise derlenmiş ikili dosyaları kullanacağız.

Derleme işlemleri boyunca çeşitli araçlara ihtiyacımız olacak. derlenmesi için meson ve ninja gibi derleme araçlarına da ihtiyacımız olacak.

sudo apt-get build-dep gimp python-cairo python-cairo-dev liblcms2-dev ninja-build python3-pip ccache

İlaveten sürüm uyuşmazlığı sebebiyle sistem geneline bulaşmayacak şekilde meson kurulumu da yapmamız gerekecek.

pip3 install meson

Temel klasörümüzü oluşturalım.


mkdir -p ~/DEV/gimp-dev
cd ~/DEV/gimp-dev


Prefix ve klasörleri tanımlayalım.


SRC_DIR=~/DEV/gimp-dev
INSTALL_PREFIX=~/DEV/z-gimp-app
export PKG_CONFIG_PATH="${INSTALL_PREFIX}/lib/pkgconfig:${INSTALL_PREFIX}/share/pkgconfig:$PKG_CONFIG_PATH"
export LD_LIBRARY_PATH="${INSTALL_PREFIX}/lib:${LD_LIBRARY_PATH}"
export XDG_DATA_DIRS="${INSTALL_PREFIX}/share:/usr/local/share:/usr/share:$XDG_DATA_DIRS"
export PATH="${INSTALL_PREFIX}/bin:$PATH"





Gimp kaynak kodunu derlemeye başlamadan önce ihtiyacımız olacak bağımlılık paketlerinin inşası ile işe koyuluyoruz.

BABL


cd ${SRC_DIR}
git clone https://gitlab.gnome.org/GNOME/babl.git
cd ${SRC_DIR}/babl


master sürümü kuruyoruz. Önceden indirdiysek son güncellemeleri alıyoruz.

git checkout master && git fetch && git pull

Derleme klasörümüzü önce silip, sonra yeniden oluşturuyoruz ve derleme işlemini tamamlıyoruz.


sudo rm -rf ${SRC_DIR}/babl/_build
mkdir ${SRC_DIR}/babl/_build
sudo ~/.local/bin/meson -Dprefix="${INSTALL_PREFIX}" _build
sudo ninja -C _build
sudo ninja -C _build install





GEGL

cd ${SRC_DIR}
git clone https://gitlab.gnome.org/GNOME/gegl.git
cd ${SRC_DIR}/gegl


Tercihen master sürümü kuruyoruz.

git checkout master && git fetch && git pull

Aynı şekilde, derleme klasörümüzü önce silip, sonra yeniden oluşturuyoruz ve derleme işlemini tamamlıyoruz.


sudo rm -rf ${SRC_DIR}/gegl/_build
mkdir ${SRC_DIR}/gegl/_build
sudo ~/.local/bin/meson -Dprefix="${INSTALL_PREFIX}" _build
sudo ninja -C _build
sudo ninja -C _build install





libmypaint


cd ${SRC_DIR}
git clone https://github.com/mypaint/libmypaint.git
cd ${SRC_DIR}/libmypaint


Uyumlu tek sürüm olması sebebiyle 1.3.0 sürümünü kuruyoruz

git checkout v1.3.0

Derleme işlemini tamamlıyoruz.


sudo ./autogen.sh --prefix=${INSTALL_PREFIX}
sudo ./configure --prefix=${INSTALL_PREFIX}
sudo make -j 4
sudo make install





Exiv

Burada Exiv kütüphanesinin ikili halini kopyalıyoruz.


cd ${SRC_DIR}
wget https://www.exiv2.org/builds/exiv2-0.27.2-Linux64.tar.gz -O exiv2.tar.gz
rm -rf ${SRC_DIR}/exiv2 && mkdir ${SRC_DIR}/exiv2 && tar xvf exiv2.tar.gz -C exiv2 --strip-components 1
sudo cp -a ${SRC_DIR}/exiv2/lib/libexiv2.so* ${INSTALL_PREFIX}/lib





MyPaint Fırçaları (mypaint-brushes)


cd ${SRC_DIR}
git clone -b v1.3.x https://github.com/Jehan/mypaint-brushes


Fırçalar için geçiş yapmamız gereken bir sürüm bulunmuyor. Direk derleme işlemine geçiyoruz.


cd ${SRC_DIR}/mypaint-brushes
sudo ./autogen.sh
sudo ./configure --prefix=${INSTALL_PREFIX}
sudo make -j 4
sudo make install





Gimp

Nihayet, GIMP kaynak kodlarını derlemeye başlayabiliriz. Kaynak kodlarını indiriyoruz.

git clone https://gitlab.gnome.org/GNOME/gimp.git gimp

Bu işlem biraz zaman alacak ve yaklaşık 700mb kadar veri kullanacaktır.


cd ${SRC_DIR}/gimp
git checkout origin/gimp-2-10


Kaynak kodlarını güncellemeyi unutmayalım. Burada origin belirtmemin sebebi tamamen kişisel.

git fetch origin gimp-2-10 && git pull origin gimp-2-10

Derleme için pekçok seçenek oluşturmak mümkün. Burada örnek olsun diye 3 seçenek oluşturdum.

Kullanım kolaylığı açısından ilk seçenek ile derleme yapabilirsiniz.

İlk seçenek, hata ayıklamayı devre dışı bırakır ve API bilgelerini oluşturmaz.

İkinci seçenek, ilkine ilave olarak python kullanımını da kapatır. Python sürümüyle ilgili sorun yaşıyorsanız, kullanabilirsiniz.

Son seçenek ise tamamen geliştiriciler için tavsiye edilen seçenektir. Hata ayıklamayı etkinleştirdiği gibi API belgelerini de oluşturur.

sudo ./autogen.sh --prefix=${INSTALL_PREFIX} --disable-gtk-doc --enable-debug=no --with-gimpdir=GIMP-Self

sudo ./autogen.sh --prefix=${INSTALL_PREFIX} --disable-gtk-doc --enable-debug=no --with-gimpdir=GIMP-Self --disable-python

sudo ./autogen.sh --prefix=${INSTALL_PREFIX} --enable-debug --with-gimpdir=GIMP-Self

Her üç seçenekte de görülen --with-gimpdir=GIMP-Self seçeneği, ayar dosyalarının varolan sürümle karışmasını engeller.

Artık derleme işlemine geçebiliriz


sudo make -j 4
sudo make install





GIMP'i geçici olarak çalıştıralım

~/DEV/z-gimp-app/bin/gimp-2.10

Sistemdeki kimi kütüphanelerle çakışma yaşamaması için aşağıdaki içeriği örneğin "gimp.sh" olarak isimlendirip tercihen "~/DEV/z-gimp-app" içine kaydediyoruz.


#! /bin/bash

INSTALL_PREFIX=~/DEV/z-gimp-app/

# set the path to the installation directory
export INSTALL_PREFIX=$INSTALL_PREFIX

# Now, set mandatory enviroment variables
export PATH=\$INSTALL_PREFIX/bin:\$PATH
export LD_LIBRARY_PATH=\$INSTALL_PREFIX/lib:\$LD_LIBRARY_PATH

# Not needed for running GIMP directly, but needed if you want to compile anything against our
# builds (think of plug-ins, etc.)
export PKG_CONFIG_PATH=\$INSTALL_PREFIX/lib/pkgconfig:\$PKG_CONFIG_PATH

# Now you can run executables our other stuff depending on our environment
# Here we run GIMP, and pass it any arguments given to this script
$INSTALL_PREFIX/bin/gimp-2.10


Sonrasında dosyaya çalışma izni veriyoruz. Bunun için aşağıdaki komutu kullanabilirsiniz veya dosyaya sağ tıkladıktan sonra dosya özelliklerinden çalışma izni verebilirsiniz.

chmod +x ~/DEV/z-gimp-app/gimp.sh

Not: Alacarte kullanarak derlediğiniz sürüme link de oluşturabilirsiniz.

Not: GIMP bazen gegl sürümünü bulamıyor. Bunun sebebini bilmiyorum. Bu durumda önce normal olarak gegl kurulumu yapıyorum. Yani sudo ~/.local/bin/meson --prefix="${INSTALL_PREFIX}" _build yerine sudo ~/.local/bin/meson _build kullanıyorum. Sonra makaledeki şekliyle kurulum yapıyorum.

Kaynakça:
https://ninedegreesbelow.com/photography/build-gimp-in-prefix-for-artists.html
https://gist.github.com/aferrero2707/2da99aae425eca8c8afb61b3fb5532f9
https://wiki.gimp.org/wiki/Hacking:Building/Linux
https://wiki.gimp.org/wiki/Hacking:Building
https://github.com/aferrero2707/gimp-appimage/blob/master/build-appimage.sh
https://github.com/aferrero2707/docker-centos7-gimp/blob/master/build-dependencies.sh
https://gitlab.gnome.org/GNOME/gegl/issues/188
https://gitlab.gnome.org/GNOME/gimp/blob/master/.gitlab-ci.yml
Artık bu forumu kullanmıyor.

yakusha

Ubuntu güncel sürüm altında GIMP derlemek makalesi buraya eklenecek.
Artık bu forumu kullanmıyor.

yakusha

Makale güncellendi ve derlemek tekrar mümkün hale geldi.
Artık bu forumu kullanmıyor.