LINUX.ORG.RU

GIMP 2.9.6

 


2

4

Выпущено крупное обновление нестабильной ветки GIMP — популярного свободного редактора растровой графики.



Главные новшества:

  • по умолчанию включена экспериментальная поддержка многопоточной обработки в GEGL;
  • появилась возможность простой комбинацией Ctrl+C/Ctrl+V переносить группы слоёв из документа в документ;
  • расширены возможности работы с изображениями в линейном пространстве RGB (две реализации режимов смешивания — в линейном и в нелинейном пространстве, линейное инвертирование цветов и т.д.)
  • добавлены режимы смешивания Linear Burn, Vivid Light, Linear Light, Pin Light, Hard Mix, Exclusion, Merge, Split и Luminance (RGB), а также Pass Through для групп слоёв;
  • добавлена возможность назначать слоям (а также контурам и каналам) цветовые метки для быстрой навигации по сложным многослойным проектам;
  • добавлен выбор цветов в LCH, просмотр значения пикселя под пипеткой в LCH и LAB, новый фильтр Hue-Chroma (аналогичный Hue-Saturation, но работающий в LCH);
  • значения полей/настроек в диалогах теперь сохраняются между сеансами;
  • за счёт последнего ускорен процесс создания масок (Shift+щелчок по миниатюре слоя создает маску с последними параметрами);
  • темы значков доступны в большом разрешении, переключатель размера есть в диалоге настройки программы;
  • инструмент Handle Transform доработан и включен по умолчанию;
  • заметно ускорена работа инструмента Warp Transform (ближайший аналог — Liquify в Adobe Photoshop);
  • появилась возможность рисовать кистью на прозрачных слоях в режиме, отличном от Normal;
  • добавлен плагин открытия файлов raw через RawTherapee 5.2+, появилась возможность выбирать предпочитаемый плагин открытия raw из нескольких доступных;
  • новые режимы смешивания кроме специфичных для GIMP читаются из файлов PSD и пишутся в них же;
  • существующий плагин поддержки WebP заменён на «новый», поддерживающий профили ICC, метаданные и анимацию;
  • добавлены диалоги просмотра и редактирования метаданных XMP, Exif, IPTC и DICOM (появляются на вкладке XMP);
  • добавлено 9 новых фильтров на базе GEGL, включая частотный разбор и извлечение цветового компонента (каналы CMYK, LAB, LCH и т.д.).

Кроме того, «под капотом» инструментов выполнен рефакторинг. Код взаимодействия с ними на холсте вынесен в новые классы и сделан повторно используемым. По факту это означает следующее:

1) Теперь можно писать новые инструменты, используя готовые виджеты на холсте (рамки, перемещаемые линии и точки и т.д.).

2) Параметры фильтров на основе GEGL можно накручивать этими же виджетами прямо на холсте, залезая в диалоги фильтров только для выставления точных значений. Пока что требует написания кода на C под каждый фильтр (в качестве теста реализовано для Supernova и Spiral).

В релиз не попали изменения в инструменте градиентной заливки, который теперь не только даёт покрутить концевые точки на холсте перед применением заливки, но и там же добавлять/удалять опорные точки градиента, назначать им цвета и менять типы перехода. Старый диалог редактирования градиентов, по сути, больше не нужен. Ждите в 2.9.8.

Параллельно в git master библиотеки babl ведётся работа над возможностью использовать пространства RGB с произвольной кривой тонкоррекции и гаммой (GIMP пока что прибит гвоздями к unbounded sRGB). Там же появились парсер и генератор ICC-профилей. Предполагается, что в будущем GIMP перестанет использовать при внутренней обработке слишком тормозные алгоритмы LittleCMS.

Кроме того, самая свежая версия библиотеки GEGL включает нелинейный видеоредактор gcut (с EDL в качестве родного формата) с возможностью анимации применяемых фильтров GEGL. При запуске из консоли без аргументов gcut открывает тестовый проект, на котором можно изучить программу. Видеоредактор создан для обкатки разных идей для GEGL, ну и просто по приколу.

>>> Подробности

★★★★★

Проверено: anonymous_incognito ()
Последнее исправление: anonymous_incognito (всего исправлений: 5)

Ответ на: комментарий от amus

Частота релизов не очень-то связана с количеством активных программистов.

Просто когда ты пытаешься сделать сразу много всего, а не что-то одно, тебе и подчищать к релизу надо больше. Это скорее вопрос администрирования и управления проектом.

AP ★★★★★
() автор топика

Уже сделали аналог «Content Aware» изкоробки? А то крайний раз как я смотрел нужно было плагины ставить нетривиальным способом, и в итоге они всё равно не заработали у меня.

wbrer ★★★
()
Ответ на: комментарий от wbrer

изкоробки

Нет.

плагины ставить нетривиальным способом

Что там нетривиального? :)

AP ★★★★★
() автор топика
Ответ на: комментарий от AP

Что там нетривиального?

Деталей уже, к сожалению, не помню. Сейчас вижу, что обыкновенная распаковка в директорию с плагинами.

А почему в основную поставку не включат? Полезнейший инструмент! Один из самых часто используемых простыми юзерами, если судить по моим наблюдениям.

wbrer ★★★
()
Ответ на: комментарий от wbrer

Смотря что именно.

Включение Liquid Rescale в поставку обсуждалось. Включение Resynthesizer в поставку пока, вроде, не обсуждалось.

Соображения следующие.

1. Оба плагина используют собственные библиотеки, только в первом случае (liblqr) эта библиотека уже есть в дистрах и даже используется другим софтом (ImageMagick, ЕМНИП), а во втором её надо таскать с собой.

2. Оба проекта надо так или иначе реализовать в гегле. По-другому теперь никак.

3. Интерфейс в обоих случаях надо серьёзно перепиливать. Над Liquid Rescale немного работали студенты-юзабилисты Сиккинга (http://blog.mmiworks.net/2012/05/teaching-interaction-12.html), но готовы только варианты реализации, конечной спецификации нет, а Карло подзабросил проект. Ресинтесайзеровским UI никто особо не занимался, в текущем виде он пригоден для использования только через скрипты, с которыми поставляется, а этого маловато. Его функциональность неплохо бы в инструмент типа Штампа впилить. Ллойд сейчас тоже не особо активен.

По второму пункту я вот щас поднял прошлогоднюю переписку с Ллойдом, где он писал следующее:

«An architectural issue is that it fundamentally is a search algorithm, in a random order. It doesn’t process pixels in scanline order. Tiling does little to improve its performance. (If that is pertinent, I am not that familiar with GEGL.)

Another issue is that there are many alternative “in-painting” algorithms, for example OpenCV has one. It might be easier to hook that into GEGL. Or it might be better to hook Resynthesizer into OpenCV, then hook GEGL into that.»

В конечном счёте всё упирается в человеческие ресурсы.

AP ★★★★★
() автор топика
Ответ на: комментарий от wbrer

А, ну и реализации Content-Aware Crop для гимпа вроде бы пока нет. Во всяком случае, мне не попадалось.

AP ★★★★★
() автор топика
Ответ на: комментарий от AP

Вон оно как, понятно. Эх, разработчиков бы проекту.

Спасибо большое за подробный ответ.

wbrer ★★★
()
Ответ на: комментарий от Hertz

хотя в опеннетовской версии этой же новости написано еще, что они сделали имитацию hidpi в текущей gtk2 версии

по той же причине (затянувшийся порт на gtk3) у меня есть локальный форк пиджина с похожими изменениями

actionless ★★★★★
()
Ответ на: комментарий от actionless

хотя в опеннетовской версии этой же новости написано еще, что они сделали имитацию hidpi в текущей gtk2 версии

Не знаю, что ты считаешь имитацией HiDPI, а в гимпе просто иконки доступны в разных размерах.

AP ★★★★★
() автор топика
Ответ на: комментарий от AP

у AP> Статистика по системам не имеет значения. ... Никто не будет бросать платформонезависимые решения ...

сайт гимп > GIMP can also run on Solaris and is available for the BSD family of systems such as FreeBSD and OpenBSD.

у людей >

"... уведомили пользователей об исключении Solaris из числа поддерживаемых платформ. ... Невостребованность данной платформы среди пользователей ... подтверждает статистика загрузок ... в GDB имеются проблемы с отладкой многопоточных программ для Solaris, в GCC для Solaris не реализованы некоторые важные возможности"

ist76, BigSerpent, это я имею ввиду, когда говорю про неоптимальность кода. Раз gimp до сих пор собирается под Solaris, где не реализованы новые возможности компилятора и отладчика, то это говорит, что код скорее всего не использует последние возможности оптимизации и многопоточность.

И да, это не «модно» и не «молодежно», а посему может снижать популярность проекта у новых разработчиков.

crypt ★★★★★
()
Последнее исправление: crypt (всего исправлений: 1)
Ответ на: комментарий от AP

Статистика по системам не имеет значения.
Ты пишешь много громких слов, за которыми ничего нет.

На мой взгляд ты с умным видом отрицаешь вполне очевидные вещи. Писал что-то про общепринятую практику? Вот пожалуйста.

crypt ★★★★★
()
Последнее исправление: crypt (всего исправлений: 1)
Ответ на: комментарий от AP

от делаем мы кроп-ротейт, вызвали диалог... а зум на изображении

ЯННП. По шагам можно?

Видимо, ты ничего не понял, т.к. привык использовать gimp, а не фотошоп. Я сегодня в очередной раз убедился. Делаешь кроп: в фотошоп одновременно с кроп-тул можно уменьшать и увеличивать изображение, а в гимп (2.8) нет.

crypt ★★★★★
()
Последнее исправление: crypt (всего исправлений: 1)
Ответ на: комментарий от BigSerpent

То есть Вы даже не удосужились потратить время для того, чтобы скачать инсталлятор и попробовать программу :)

Если бы ты читал весь тред, а не просто спорил с последним комментом, то понял, что в этом то как раз самое смешное и есть. Я не могу установить гимп в своем линукс! Я не могу скачать «инсталятор» последнего gimp для своего дистрибутива! В силу недостатка ресурсов Gimp оставляет сборку пакетов дистрибутивам и умывает руки (последние лет 10. по этой же причине и статистики у них нет). А то, что gimp постоянно зависит от последних версий библиотек делает невозможным его установить в более старых дистрибутивах. Только, если у меня последняя ubuntu или fedora, тогда у меня будет заветный gimp!

Дистрибутив есть только для Windows, который как бы не является приоритетной платформой.

crypt ★★★★★
()
Ответ на: комментарий от crypt

Я даже больше скажу - гимп из гит частенько использует версии библиотек, которых еще нет в последних стабильных дистрибутивах Ubuntu. Разработчики это объясняют длинным циклом разработки и тем, что в них устранены ошибки, критические для гимпа. Бывает, что требования откатывают к более низким версиям, но это происходит редко.

Что касается неоптимальности кода, то тут проблема та же самая - значительные изменения в кодовой базе в условиях недостаточности ресурсов. Сначала чтобы просто работало, оптимизировать будут потом. И желающих оптимизировать используемую версию продукта появится гораздо больше.

Кстати, по оптимальности. Как я понял из изменений в коде, в качестве временного решения при включенном OpenCl копирование буферов gegl не распараллеливается на ядрах. Посмотрел загрузку ядер и тайминг на гауссовом размывании 16 битного тифа. Одно ядро используется на 100%, остальные тоже, но со значительно меньшей загрузкой. При этом включение OpenCl приводит к увеличению времени операции размывания. Карта достаточно быстрая - Radeon 580.

BigSerpent ★★
()
Ответ на: комментарий от crypt

Дистрибутив есть только для Windows, который как бы не является приоритетной платформой

и это могло быть смешно, если б не было так грустно

ist76 ★★★★★
()
Ответ на: комментарий от crypt

Раз gimp до сих пор собирается под Solaris, где не реализованы новые возможности компилятора и отладчика, то это говорит, что код скорее всего не использует последние возможности оптимизации и многопоточность.

Честно говоря, ты меня утомляешь своей склонностью делать феерические выводы. Собрать гимп можно под что угодно. Это не значит, что он там активно поддерживается.

https://git.gnome.org/browse/gimp/log/?qt=grep&q=solaris
https://git.gnome.org/browse/gimp/log/?qt=grep&q=bsd

Видимо, ты ничего не понял, т.к. привык использовать gimp, а не фотошоп.

Удивительно, правда?

Я не могу скачать «инсталятор» последнего gimp для своего дистрибутива!

Надо больше восклицательных знаков.

AP ★★★★★
() автор топика
Ответ на: комментарий от crypt

Делаешь кроп: в фотошоп одновременно с кроп-тул можно уменьшать и увеличивать изображение, а в гимп (2.8) нет.

В GIMP 2.9 - да. В чём недовольство? ЗЫ. поворачивало долго, учитывая мой старенький i5-2540m.

SkyMaverick ★★★★★
()
Последнее исправление: SkyMaverick (всего исправлений: 2)
Ответ на: комментарий от AP

А, ну значит я его не так понял. Ну прикольная тема, конечно, но на фатальный недостаток как-то не тянет.

SkyMaverick ★★★★★
()
Ответ на: комментарий от AP

ну в опеннетовской новости причины запилки этого масштабирования были объяснены именно так, и это звучит вполне логично т.к. он абсолютно не юзабелен на hidpi без кастомного gtkrc (но и с ним выглядит кривовато)

я только не понимаю, почему разработчики не могли допилить сам гимптулкит2 для этой цели вместо гимпа

actionless ★★★★★
()
Ответ на: комментарий от actionless

Насколько я знаю, проблемы возможны не только с меню и значками, но и с холстом. Пилить GTK+2 никто не хочет. Много гемора, который с переходом на новый GTK+ окажется напрасным.

AP ★★★★★
() автор топика
Ответ на: комментарий от AP

Удивительно, правда?

Для меня более чем. Я знаком с фотошоп с версии 5.0 и я предпочту версию фотошоп 5 (6, может быть, для большей поддержки 16bit) gimp версии 2.8. Настолько он мне кажется неудобным инструментом во всех отношениях.

crypt ★★★★★
()
Ответ на: комментарий от BigSerpent

гимп из гит частенько использует версии библиотек, которых еще нет в последних стабильных дистрибутивах Ubuntu

Это приводит к тому, что в дистрибутивах по прежнему версии 2.6 и 2.8. Именно по этой причине логично включить в дерево исходников все необходимое, чтобы можно было собирать и тестировать весь проект целиком.

crypt ★★★★★
()

Хотел собрать «на попробовать»... балееен... Чтобы собрать гимп надо собрать туеву хучу всего и что конкретно собрать, чтобы не пересекалось с установленным гимпом (с ба́блом и ге́глом) непонятно.

Есть живые люди, которые могут всё это объяснить? А то он гипотетических гипотетизмов опций и зависимостей мозга зашла за угол.

Deleted
()
Ответ на: комментарий от Deleted

ставь версию по венду
мы тут как раз пришли к консенсусу, что это, внезапно, самое простое решение

ist76 ★★★★★
()
Ответ на: комментарий от ist76

Я, главное, даже нашёл рецепт для appimage, чтобы «приготовить» гимп, так там тупо из убунтушной ppa с помощью убунтовских же инструментов устанавливают пакеты в локальную директорию и с ней колдуют. Тоесть, мне для сборки аппимеджа гимпа надо убунту ставить. Капец...

Deleted
()
Ответ на: комментарий от Deleted
#!/bin/bash

# Usage:
#   [INSTALL_PREFIX=<path>] [STEPWISE_BUILD=yes] ./make-gimp.sh

if [ x"${BASH_SOURCE[0]}" != x"$0" ]; then
	echo "This script uses 'exit' on errors and thus must NOT be launched source-d."
	read -p "Press [Enter] key to terminate execution and then try again..."
	return
fi

# installation prefix
if [ -z "$INSTALL_PREFIX" ]; then
	INSTALL_PREFIX="/opt/GNU"
fi

# version numbers
GLIB_VERSION=2.36.4
CAIRO_VERSION=1.12.16
PANGO_VERSION=1.30.1
GDKPIXBUF_VERSION=2.24.1
LIBRSVG_VERSION=2.36.4
ATK_VERSION=2.12.0
BABL_VERSION=0.1.14
GEGL_VERSION=0.2.0
GTK_VERSION=2.24.28
GTKENGINES_VERSION=2.20.2
LIBCANBERRA_VERSION=0.24
GIMP_VERSION=2.8.16

# tarballs URLs
GLIB_URL="http://ftp.gnome.org/pub/gnome/sources/glib/2.36/glib-$GLIB_VERSION.tar.xz"
CAIRO_URL="http://cairographics.org/releases/cairo-$CAIRO_VERSION.tar.xz"
PANGO_URL="http://ftp.gnome.org/pub/gnome/sources/pango/1.30/pango-$PANGO_VERSION.tar.xz"
GDKPIXBUF_URL="http://ftp.gnome.org/pub/gnome/sources/gdk-pixbuf/2.24/gdk-pixbuf-$GDKPIXBUF_VERSION.tar.xz"
LIBRSVG_URL="https://download.gnome.org/sources/librsvg/2.36/$LIBRSVG_VERSION.tar.xz"
ATK_URL="http://ftp.gnome.org/pub/gnome/sources/atk/2.12/atk-$ATK_VERSION.tar.xz"
BABL_URL="http://download.gimp.org/pub/babl/0.1/babl-$BABL_VERSION.tar.bz2"
GEGL_URL="http://download.gimp.org/pub/gegl/0.2/gegl-$GEGL_VERSION.tar.bz2"
GTK_URL="http://ftp.gnome.org/pub/gnome/sources/gtk+/2.24/gtk+-$GTK_VERSION.tar.xz"
GTKENGINES_URL="http://ftp.gnome.org/pub/gnome/sources/gtk-engines/2.20/gtk-engines-$GTKENGINES_VERSION.tar.bz2"
LIBCANBERRA_URL="http://0pointer.de/lennart/projects/libcanberra/libcanberra-$LIBCANBERRA_VERSION.tar.gz"
GIMP_URL="ftp://ftp.gimp.org/pub/gimp/v2.8/gimp-$GIMP_VERSION.tar.bz2"

# build environment
export GIMP_28_ROOT="$INSTALL_PREFIX/gimp-$GIMP_VERSION"
export PATH="$GIMP_28_ROOT/bin:$PATH"
export LIBRARY_PATH="$GIMP_28_ROOT/lib:$LIBRARY_PATH"
export LD_LIBRARY_PATH="$GIMP_28_ROOT/lib:$LD_LIBRARY_PATH"
export LD_RUN_PATH="$GIMP_28_ROOT/lib:$LD_RUN_PATH"
export PKG_CONFIG_PATH="$GIMP_28_ROOT/lib/pkgconfig:$PKG_CONFIG_PATH"

# compilation and linking options
GLOBAL_CFLAGS="-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4"
OPTFLAGS="$GLOBAL_CFLAGS -m32 -march=i686 -mtune=atom -fasynchronous-unwind-tables"
WARNFLAGS="-Wno-deprecated -Wno-deprecated-declarations -Wno-unused"
export CFLAGS="$OPTFLAGS -fPIC -fno-strict-aliasing $WARNFLAGS -Wno-strict-prototypes -w"
export CXXFLAGS="$OPTFLAGS -fPIC -fno-strict-aliasing $WARNFLAGS -w"
export LDFLAGS="$LDFLAGS -pie -Wl,-rpath=$GIMP_28_ROOT/lib"

# helper function for stepwise build
function waitForStep()
{
	if [ x"$STEPWISE_BUILD" = xyes ]; then
		echo
		echo -n -e "Ready to build and install \e[1m$1\e[0m, hit [Enter] to start..." && read
		echo
	fi
}

# helper function to avoid 'sudo' timeouts
function waitForInstall()
{
	echo
	echo -n -e "Press [Enter] to become the superuser and install \e[1m$1\e[0m ..." && read
	echo
	return 0
}
SchweinDeBurg
()
Ответ на: комментарий от SchweinDeBurg
# GLib - https://developer.gnome.org/glib/
waitForStep "GLib $GLIB_VERSION"
if [ ! -f glib-$GLIB_VERSION.tar.xz ]; then
	wget $GLIB_URL || exit 1
fi
rm -rf glib-$GLIB_VERSION
tar -v -xJf glib-$GLIB_VERSION.tar.xz || exit 1
pushd glib-$GLIB_VERSION
( env NOCONFIGURE=1 ./autogen.sh \
  && ./configure --prefix=$GIMP_28_ROOT \
  --disable-static \
  --enable-shared \
  --with-libiconv=gnu \
  && make \
  && waitForInstall "GLib $GLIB_VERSION" \
  && sudo make install \
) || exit 1
popd

# Cairo - http://cairographics.org/
waitForStep "Cairo $CAIRO_VERSION"
if [ ! -f cairo-$CAIRO_VERSION.tar.xz ]; then
	wget $CAIRO_URL || exit 1
fi
rm -rf cairo-$CAIRO_VERSION
tar -v -xJf cairo-$CAIRO_VERSION.tar.xz || exit 1
pushd cairo-$CAIRO_VERSION
( ./configure --prefix=$GIMP_28_ROOT \
  --disable-static \
  --enable-shared \
  && make \
  && waitForInstall "Cairo $CAIRO_VERSION" \
  && sudo make install \
) || exit 1
popd

# Pango - http://www.pango.org/
waitForStep "Pango $PANGO_VERSION"
if [ ! -f pango-$PANGO_VERSION.tar.xz ]; then
	wget $PANGO_URL || exit 1
fi
rm -rf pango-$PANGO_VERSION
tar -v -xJf pango-$PANGO_VERSION.tar.xz || exit 1
pushd pango-$PANGO_VERSION
( ./configure --prefix=$GIMP_28_ROOT \
  --disable-static \
  --enable-shared \
  --enable-introspection=no \
  && make \
  && waitForInstall "Pango $PANGO_VERSION" \
  && sudo make install \
) || exit 1
popd

# GDK-PixBuf - https://developer.gnome.org/gdk-pixbuf/
waitForStep "GDK-PixBuf $GDKPIXBUF_VERSION"
if [ ! -f gdk-pixbuf-$GDKPIXBUF_VERSION.tar.xz ]; then
	wget $GDKPIXBUF_URL || exit 1
fi
rm -rf gdk-pixbuf-$GDKPIXBUF_VERSION
tar -v -xJf gdk-pixbuf-$GDKPIXBUF_VERSION.tar.xz || exit 1
pushd gdk-pixbuf-$GDKPIXBUF_VERSION
( ./configure --prefix=$GIMP_28_ROOT \
  --disable-static \
  --enable-shared \
  --enable-introspection=no \
  && make \
  && waitForInstall "GDK-PixBuf $GDKPIXBUF_VERSION" \
  && sudo make install \
) || exit 1
popd

# libRSVG - http://live.gnome.org/LibRsvg/
waitForStep "libRSVG $LIBRSVG_VERSION"
if [ ! -f librsvg-$LIBRSVG_VERSION.tar.xz ]; then
	wget $LIBRSVG_URL || exit 1
fi
rm -rf librsvg-$LIBRSVG_VERSION
tar -v -xJf librsvg-$LIBRSVG_VERSION.tar.xz || exit 1
pushd librsvg-$LIBRSVG_VERSION
( ./configure --prefix=$GIMP_28_ROOT \
  --disable-static \
  --enable-shared \
  --enable-introspection=no \
  && make \
  && waitForInstall "libRSVG $LIBRSVG_VERSION" \
  && sudo make install \
) || exit 1
popd

# ATK - https://developer.gnome.org/atk/
waitForStep "ATK $ATK_VERSION"
if [ ! -f atk-$ATK_VERSION.tar.xz ]; then
	wget $ATK_URL || exit 1
fi
rm -rf atk-$ATK_VERSION
tar -v -xJf atk-$ATK_VERSION.tar.xz || exit 1
pushd atk-$ATK_VERSION
( ./configure --prefix=$GIMP_28_ROOT \
  --disable-static \
  --enable-shared \
  --enable-introspection=no \
  && make \
  && waitForInstall "ATK $ATK_VERSION" \
  && sudo make install \
) || exit 1
popd

# babl - http://gegl.org/babl/
waitForStep "babl $BABL_VERSION"
if [ ! -f babl-$BABL_VERSION.tar.bz2 ]; then
	wget $BABL_URL || exit 1
fi
rm -rf babl-$BABL_VERSION
tar -v -xjf babl-$BABL_VERSION.tar.bz2 || exit 1
pushd babl-$BABL_VERSION
( ./configure --prefix=$GIMP_28_ROOT \
  --disable-static \
  --enable-shared \
  --enable-introspection=no \
  && make \
  && waitForInstall "babl $BABL_VERSION" \
  && sudo make install \
) || exit 1
popd

# GEGL - http://gegl.org/
waitForStep "GEGL $GEGL_VERSION"
if [ ! -f gegl-$GEGL_VERSION.tar.bz2 ]; then
	wget $GEGL_URL || exit 1
fi
rm -rf gegl-$GEGL_VERSION
tar -v -xjf gegl-$GEGL_VERSION.tar.bz2 || exit 1
pushd gegl-$GEGL_VERSION
( ./configure --prefix=$GIMP_28_ROOT \
  --disable-static \
  --enable-shared \
  --enable-introspection=no \
  && make \
  && waitForInstall "GEGL $GEGL_VERSION" \
  && sudo make install \
) || exit 1
popd

# GTK+ - http://www.gtk.org/
waitForStep "GTK+ $GTK_VERSION"
if [ ! -f gtk+-$GTK_VERSION.tar.xz ]; then
	wget $GTK_URL || exit 1
fi
rm -rf gtk+-$GTK_VERSION
tar -v -xJf gtk+-$GTK_VERSION.tar.xz || exit 1
pushd gtk+-$GTK_VERSION
( ./configure --prefix=$GIMP_28_ROOT \
  --disable-static \
  --enable-shared \
  --enable-introspection=no \
  && make \
  && waitForInstall "GTK+ $GTK_VERSION" \
  && sudo make install \
) || exit 1
popd

# GTK-Engines - http://ftp.gnome.org/pub/gnome/sources/gtk-engines/
waitForStep "GTK-Engines $GTKENGINES_VERSION"
if [ ! -f gtk-engines-$GTKENGINES_VERSION.tar.bz2 ]; then
	wget $GTKENGINES_URL || exit 1
fi
rm -rf gtk-engines-$GTKENGINES_VERSION
tar -v -xjf gtk-engines-$GTKENGINES_VERSION.tar.bz2 || exit 1
pushd gtk-engines-$GTKENGINES_VERSION
( ./configure --prefix=$GIMP_28_ROOT \
  --disable-static \
  --enable-shared \
  --enable-lua \
  --enable-animation \
  && patch -p1 < ../gtk-engines-2.20.2-clearlooks.patch \
  && make \
  && waitForInstall "GTK-Engines $GTKENGINES_VERSION" \
  && sudo make install \
) || exit 1
popd

# libcanberra - http://0pointer.de/lennart/projects/libcanberra/
waitForStep "libcanberra $LIBCANBERRA_VERSION"
if [ ! -f libcanberra-$LIBCANBERRA_VERSION.tar.gz ]; then
	wget $LIBCANBERRA_URL || exit 1
fi
rm -rf libcanberra-$LIBCANBERRA_VERSION
tar -v -xzf libcanberra-$LIBCANBERRA_VERSION.tar.gz || exit 1
pushd libcanberra-$LIBCANBERRA_VERSION
( ./configure --prefix=$GIMP_28_ROOT \
  --disable-static \
  --enable-shared \
  --disable-oss \
  && make \
  && waitForInstall "libcanberra $LIBCANBERRA_VERSION" \
  && sudo make install \
) || exit 1
popd

# GIMP - http://www.gimp.org/
waitForStep "GIMP $GIMP_VERSION"
if [ ! -f gimp-$GIMP_VERSION.tar.bz2 ]; then
	wget $GIMP_URL || exit 1
fi
rm -rf gimp-$GIMP_VERSION
tar -v -xjf gimp-$GIMP_VERSION.tar.bz2 || exit 1
pushd gimp-$GIMP_VERSION
( ./configure --prefix=$GIMP_28_ROOT \
  --disable-static \
  --enable-shared \
  --enable-gimp-console \
  --without-aa \
  --with-lcms=lcms2 \
  && make \
  && waitForInstall "GIMP $GIMP_VERSION" \
  && sudo make install \
) || exit 1
popd
SchweinDeBurg
()
Ответ на: комментарий от SchweinDeBurg
if [ -n "$STEPWISE_BUILD" ]; then
	echo
	echo
	read -p "Ready to perform final tasks, hit [Enter] to start..."
	echo
fi

# clean-up build tree
find `pwd` -maxdepth 1 -type d -exec bash -c 'cd {}; make distclean; cd -' \;

# strip installed executables
sudo find $GIMP_28_ROOT -type f -exec bash -c 'file "{}" 2>&1 | grep -e "ELF \([0-9]\+\)-bit LSB executable" -e "ELF \([0-9]\+\)-bit LSB shared object" >/dev/null && (echo "Stripping {} ..."; strip "{}")' \;

# remove unnecessary files
sudo find $GIMP_28_ROOT/lib -type f -name '*.la' -print -delete

# re-register GDK-PixBuf loaders
export GDK_PIXBUF_MODULEDIR=$GIMP_28_ROOT/lib/gdk-pixbuf-2.0/2.10.0/loaders
export GDK_PIXBUF_MODULE_FILE=$GIMP_28_ROOT/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache
sudo $GIMP_28_ROOT/bin/gdk-pixbuf-query-loaders --update-cache

# create launcher script
cat > run-gimp.sh << EOF
#!/bin/bash

GIMP_28_ROOT=$GIMP_28_ROOT
GIMP_28_LIBDIR=\$GIMP_28_ROOT/lib

PATH=\$GIMP_28_ROOT/bin:\$PATH
LD_LIBRARY_PATH=\$GIMP_28_LIBDIR:\$LD_LIBRARY_PATH
LD_RUN_PATH=\$GIMP_28_LIBDIR:\$LD_RUN_PATH
export PATH LD_LIBRARY_PATH LD_RUN_PATH

GDK_PIXBUF_MODULEDIR=\$GIMP_28_LIBDIR/gdk-pixbuf-2.0/2.10.0/loaders
GDK_PIXBUF_MODULE_FILE=\$GIMP_28_LIBDIR/gdk-pixbuf-2.0/2.10.0/loaders.cache
export GDK_PIXBUF_MODULEDIR GDK_PIXBUF_MODULE_FILE

export GIMP2_DIRECTORY=.gimp-2.8
export GIMP2_DATADIR=\$GIMP_28_ROOT/share/gimp/2.0
export GIMP2_PLUGINDIR=\$GIMP_28_LIBDIR/gimp/2.0
export GIMP2_SYSCONFDIR=\$GIMP_28_ROOT/etc/gimp/2.0

\$GIMP_28_ROOT/bin/gimp "\$@" &
exit 0
EOF
sudo mv -f run-gimp.sh $GIMP_28_ROOT/
sudo chown root:root $GIMP_28_ROOT/run-gimp.sh
sudo chmod 755 $GIMP_28_ROOT/run-gimp.sh

# adjust and install desktop file
cp -f $GIMP_28_ROOT/share/applications/gimp.desktop ./gimp-2.8.desktop
sed -i -e "s|GNU Image Manipulation Program|GIMP 2.8|g" ./gimp-2.8.desktop
sed -i -e "s|Exec=gimp-2.8|Exec=$GIMP_28_ROOT/run-gimp.sh|g" ./gimp-2.8.desktop
mv -f ./gimp-2.8.desktop "$HOME/.local/share/applications/"
sudo update-desktop-database
SchweinDeBurg
()
Ответ на: комментарий от SchweinDeBurg

Блин, надо было на пастубину выложить что же ты так с лором :)

А за скрипт спасибо. Это самописное, или откуда?

Deleted
()
Ответ на: комментарий от Deleted

это тебе не маздайка лоховская, где гимп двумя кликами ставится
ОС для настоящих мужиков:
хочешь фоточки из отпуска обработать, будь добр напиши скрипт для сборки на пять экранов
так победим!

ist76 ★★★★★
()
Ответ на: комментарий от Deleted

Ну, вектор-то я думаю понятен, а так мне 2.8 за глаза хватает, главное - что однооконный режим есть. :-D

SchweinDeBurg
()
Ответ на: комментарий от crypt

Я его с самого начала читаю, извини, но от тебя вижу только нытьё в стиле «почему мне не запилили ФШ».

SkyMaverick ★★★★★
()
Ответ на: комментарий от crypt

Для меня более чем. Я знаком с фотошоп с версии 5.0 и я предпочту версию фотошоп 5

Я знаком с ним с версии 3.0, при необходимости просто использую, хотя и не без ругани (многие вещи в фотошопе неочевидны и про них надо заранее знать).

AP ★★★★★
() автор топика
Ответ на: комментарий от Deleted

Есть более другой рецепт, я даже по его модифицированной версии пробовал вчера собрать аппимидж. Но собирал я в виртуалке с федорой, там возникли проблемы с libtool на этапе сборки libmypaint. Дальше пока не ковырял.

AP ★★★★★
() автор топика
Ответ на: комментарий от ist76

Не, гимп это одна из немногих нужных мне программ, с которыми такой секас. И то, только по причине моего нежелания удалять старый и ставить новый с помощью ПМ.

Deleted
()
Ответ на: комментарий от SchweinDeBurg

У тебя libmypaint там нету. Ну или я не вижу. А это уже обязательная зависимость.

AP ★★★★★
() автор топика
Ответ на: комментарий от SchweinDeBurg

На пастебине аккаунт и не нужен.

AP ★★★★★
() автор топика
Ответ на: комментарий от AP

Так ещё и libmypaint надо? Про это вообще нигде не видел...

Если соберёшь аппимэдж, буду очень благодарен. Но сам не осилю.

Deleted
()
Ответ на: комментарий от Deleted

тогда тем более windows must have
ос для софта, а не софт для ос

ist76 ★★★★★
()
Ответ на: комментарий от Deleted

MyPaint Brush — не опциональный, а обязательный инструмент :)

Я сам пока не осилил.

AP ★★★★★
() автор топика
Последнее исправление: AP (всего исправлений: 1)
Ответ на: комментарий от actionless

по-секрету

они и в нестабильных ещё далеко не все

ist76 ★★★★★
()
Ответ на: комментарий от crypt

Делаешь кроп: в фотошоп одновременно с кроп-тул можно уменьшать и увеличивать изображение

Неужели это настолько принципиально в работе? Вместо одного инструмента использовать два? Это как-то реально облегчает жизнь?

rechnick ★★★
()
Ответ на: комментарий от crypt

В гимпе есть довольно много инструментов, которые значительно превосходят аналогичные шоповские. Я тоже знаком с шопом с версии 5, хотя немного поработал даже в древней четвёрке. И использую гимп.

rechnick ★★★
()
Ответ на: комментарий от rechnick

В гимпе есть довольно много инструментов, которые значительно превосходят аналогичные шоповские.

По времени выполнения?

ist76 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.