Форум проекта PuppyRus Linux

Разработки проекта PuppyRus => Программирование и компиляция => Тема начата: I-Jurij от 05 Февраль 2016, 11:54:16

Название: Сборка GIMP
Отправлено: I-Jurij от 05 Февраль 2016, 11:54:16
GIMP легко компилится и ставится в нестандартный path благодаря своим разработчикам, которые юзают несколько версий одновременно.
В PRA это интересно возможностью делать портированный gimp.

Инфо:

http://wiki.gimp.org/wiki/Hacking:Building/Linux
http://wiki.gimp.org/wiki/Hacking:Building
https://www.gimp.org/source/#optional-packages
http://gimp.ru/2011/06/building-from-git/

Установка зависимостей (опционально, почти все можно убрать, выше по списку более нужные):
sudo pacman -S iso-codes\
libpng\
libjpeg\
libtiff\
libxpm\
librsvg\
aalib\
libexif\
exiv2\
libwmf\
liblcms\
openexr\
libopenraw\
jasper\
libspiro\
zlib

graphviz\
v4l\
umfpack\
webkit\
python\
ffmpeg\
sdl\
lua5.0\
ruby

Подготовка к сборке:

export INSTALL_PREFIX=/opt/gimp
export SRC_DIR=/home/live/Downloads/gimp
export PATH=$INSTALL_PREFIX/bin:$PATH
export PKG_CONFIG_PATH=$INSTALL_PREFIX/lib/pkgconfig:$PKG_CONFIG_PATH
export LD_LIBRARY_PATH=$INSTALL_PREFIX/lib:$LD_LIBRARY_PATH
Эти команды лучше повторять каждый раз заново при переходе в папку с src babl, gegl, gimp, чтобы избежать ошибок при конфигурации и сборке.

Создаем папку для установки:
sudo mkdir -p $INSTALL_PREFIX

и, если нужно, для сырцов:
mkdir -p $SRC_DIR

Сборка:

Сначала babl, потом gegl, потом gimp:

cd PATH/TO/DIRECTORY
~/opt.sh
./configure --prefix=$INSTALL_PREFIX (for gegl --disable-docs, for gimp --disable-docs --disable-python)

### Если версия из git, то вместо ./configure
./autogen.sh --prefix=$INSTALL_PREFIX

make
make install

Можно запускать gimp вручную:
$INSTALL_PREFIX/gimp.sh

а удобнее сделать скрипт (перед его созданием повторите подготовительные команды с установкой нужных path):
~/opt.sh
echo "#! /bin/bash
# set the path to the installation directory
export INSTALL_PREFIX=$INSTALL_PREFIX
# set the path to the directory into which we download the sources
export SRC_DIR=$SRC_DIR
# 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.8 \$@
# If you want to run something else, copy paste into bash everything before the line that
# runs GIMP, and then run it
" > $INSTALL_PREFIX/gimp.sh

chmod +x $INSTALL_PREFIX/gimp.sh[/size]

Сейчас есть /opt/gimp с тем, что мы собрали и в /memory/changes/usr/lib - то, что установил pacman.
В первый из второго перекидываем только нужные библиотеки, упаковываем - проверяем.
Готово.


Название: Re:Сборка GIMP
Отправлено: sfs от 05 Февраль 2016, 12:37:57
Если ПРА - то не проще ли https://aur.archlinux.org/packages/gimp-git/
Поправив --prefix=/opt/gimp и пр. ключи...
Название: Re:Сборка GIMP
Отправлено: I-Jurij от 05 Февраль 2016, 12:44:19
Если ПРА - то не проще ли https://aur.archlinux.org/packages/gimp-git/
Поправив --prefix=/opt/gimp и пр. ключи...
Быстрее, точно. Нужно привыкать к aur...
Название: Re:Сборка GIMP
Отправлено: sfs от 05 Февраль 2016, 13:10:29
Очень удобно. Один раз скомпилив и отладив ключи и зависимости - потом только меняешь версию
Давайте выкладывать вместе с PKGBUILD (http://www.puppyrus.org/~melvik/puppyrus/ftp/puppyrus/puppyrus-a/PKGBUILD/)
Я для сложных пакетов так и делаю
Название: Re:Сборка GIMP
Отправлено: I-Jurij от 06 Февраль 2016, 21:27:59
... и отладив ключи и зависимости ...
Давайте выкладывать вместе с PKGBUILD (http://www.puppyrus.org/~melvik/puppyrus/ftp/puppyrus/puppyrus-a/PKGBUILD/)
Пока тренируюсь и "отлаживаю ключи и зависимости". Когда созрею для создания pkgbuild - буду выкладывать.