aboutsummaryrefslogtreecommitdiffstats
path: root/graphics/cinepaint
diff options
context:
space:
mode:
authorbsam <bsam@FreeBSD.org>2017-08-05 22:14:46 +0800
committerbsam <bsam@FreeBSD.org>2017-08-05 22:14:46 +0800
commiteeca851eae5e80bc3d791d87143c1442799628a8 (patch)
treeb2c0abc4933dc19b822aad3c072ccb8686e28a20 /graphics/cinepaint
parent85f170d37e6dc8f45605939bee59efd50b30ec84 (diff)
downloadfreebsd-ports-gnome-eeca851eae5e80bc3d791d87143c1442799628a8.tar.gz
freebsd-ports-gnome-eeca851eae5e80bc3d791d87143c1442799628a8.tar.zst
freebsd-ports-gnome-eeca851eae5e80bc3d791d87143c1442799628a8.zip
graphics/cinepaint: Fix build with Oyranos-0.9.6.
The port seems to have some unique properties but was broken by my [1] recent Oyranos update. . fix build with oyranos-0.9.6, idea from https://gitlab.com/beku/cinepaint-ng; . QA: add dependencies. PR: 221207 [1] Reported by: gja822@narod.ru
Diffstat (limited to 'graphics/cinepaint')
-rw-r--r--graphics/cinepaint/Makefile14
-rw-r--r--graphics/cinepaint/files/patch-app__cms.c61
-rw-r--r--graphics/cinepaint/files/patch-app__main.c8
3 files changed, 58 insertions, 25 deletions
diff --git a/graphics/cinepaint/Makefile b/graphics/cinepaint/Makefile
index 9c0447ec21f2..b3a47e22b3a9 100644
--- a/graphics/cinepaint/Makefile
+++ b/graphics/cinepaint/Makefile
@@ -3,7 +3,7 @@
PORTNAME= cinepaint
DISTVERSION= 1.0-4
-PORTREVISION= 11
+PORTREVISION= 12
CATEGORIES= graphics
MASTER_SITES= SF/${PORTNAME}/CinePaint/CinePaint-${DISTVERSION}
@@ -18,7 +18,11 @@ LIB_DEPENDS= libIlmImf.so:graphics/OpenEXR \
liblcms.so:graphics/lcms \
libpng.so:graphics/png \
libtiff.so:graphics/tiff \
- libfltk.so:x11-toolkits/fltk
+ libfltk.so:x11-toolkits/fltk \
+ libfontconfig.so:x11-fonts/fontconfig \
+ libfreetype.so:print/freetype2 \
+ libHalf.so:graphics/ilmbase \
+ libXcm.so:x11/libXcm
BROKEN_powerpc64= fails to link: ld: undefined reference to symbol __gxx_personality_v0(try adding -lstdc++)
@@ -29,8 +33,8 @@ PRINT_DESC= Gutenprint (gimp-print) plugin
GNU_CONFIGURE= yes
USES= autoreconf desktop-file-utils gettext ghostscript:run \
gmake jpeg libtool pkgconfig python
-USE_XORG= xmu
-USE_GNOME= gtk20
+USE_XORG= ice sm x11 xcursor xext xfixes xmu xft xt xinerama xrender
+USE_GNOME= cairo gdkpixbuf2 gtk20
USE_LDCONFIG= yes
INSTALL_TARGET= install-strip
@@ -42,7 +46,7 @@ PLIST_SUB= VER="${DISTVERSION}"
.include <bsd.port.options.mk>
.if ${PORT_OPTIONS:MOYRANOS}
-LIB_DEPENDS+= liboyranos.so:graphics/oyranos
+LIB_DEPENDS+= libOyranos.so:graphics/oyranos
.else
CONFIGURE_ENV+= ac_cv_path_OY_CONFIG=no
.endif
diff --git a/graphics/cinepaint/files/patch-app__cms.c b/graphics/cinepaint/files/patch-app__cms.c
index a0b7acf9116c..c09f8ca7c1a1 100644
--- a/graphics/cinepaint/files/patch-app__cms.c
+++ b/graphics/cinepaint/files/patch-app__cms.c
@@ -1,26 +1,28 @@
--- app/cms.c.orig
+++ app/cms.c
-@@ -37,16 +37,9 @@
+@@ -37,17 +37,11 @@
#endif
#ifdef HAVE_OY
-#include <oyranos/oyranos.h>
-#ifndef OYRANOS_VERSION
-#define OYRANOS_VERSION 0
--#endif
++#include <oyranos_conversion.h>
++#include <oyranos_devices.h>
++#include <oyObject_s.h>
++#include <oyProfiles_s.h>
+ #endif
-#if OYRANOS_VERSION < 108
-#include <arpa/inet.h> /* ntohl */
-#include <oyranos/oyranos_monitor.h>
-#else
-#include <oyranos/oyranos_alpha.h>
-#endif
-+#include <oyranos_devices.h>
-+#include <oyObject_s.h>
-+#include <oyProfiles_s.h>
- #endif
+-#endif
#include "config.h"
-@@ -114,7 +107,7 @@
+ #include "../lib/version.h"
+@@ -114,7 +108,7 @@
cmsHPROFILE handle;
char *data; /* save original data for profile i/o */
size_t size;
@@ -29,7 +31,7 @@
};
/* same for transform */
-@@ -348,7 +341,7 @@
+@@ -348,7 +342,7 @@
#ifdef HAVE_OY
# if OYRANOS_VERSION > 107
@@ -38,7 +40,7 @@
{
char* text = 0, *pos = 0;
va_list list;
-@@ -359,10 +352,10 @@
+@@ -359,10 +353,10 @@
return 0;
@@ -52,7 +54,7 @@
}
text = (char*)calloc(sizeof(char), 4096);
-@@ -463,7 +456,7 @@
+@@ -463,7 +457,7 @@
const char *display_name = gdk_get_display ();
test = oyGetMonitorProfile( display_name, &test_size, my_alloc_func );
@@ -61,7 +63,7 @@
test_size );
if (test == NULL || !test_size)
-@@ -566,36 +559,36 @@
+@@ -566,36 +560,36 @@
const char*
cms_get_color_space_name (cmsHPROFILE hProfile)
@@ -125,7 +127,7 @@
}
return name;
-@@ -603,17 +596,16 @@
+@@ -603,17 +597,16 @@
const char**
cms_get_color_space_channel_names (cmsHPROFILE hProfile)
@@ -147,7 +149,7 @@
ret = (const char**) name;
sprintf( name[3],_("Alpha"));
-@@ -683,7 +675,7 @@
+@@ -683,7 +676,7 @@
const char*
cms_get_device_class_name (cmsHPROFILE hProfile)
@@ -156,7 +158,26 @@
switch (cmsGetDeviceClass (hProfile))
{
-@@ -1193,6 +1185,8 @@
+@@ -939,13 +932,16 @@
+ #ifdef HAVE_OY
+ if(cms_oyranos)
+ {
+-# if OYRANOS_VERSION > 107
++# if OYRANOS_VERSION > 905
+ oyPROFILE_e type = oyDEFAULT_PROFILE_START;
+ int size, i;
+ oyProfile_s * temp_prof = 0;
+ oyProfiles_s * iccs = 0;
++ uint32_t icc_profile_flags =oyICCProfileSelectionFlagsFromOptions(
++ OY_CMM_STD, "//" OY_TYPE_STD "/icc_color",
++ NULL, 0 );
+
+- iccs = oyProfiles_ForStd( type, 0, 0 );
++ iccs = oyProfiles_ForStd( type, icc_profile_flags, 0, 0 );
+
+ size = oyProfiles_Count( iccs );
+ for( i = 0; i < size; ++i)
+@@ -1193,6 +1189,8 @@
*/
const char * cms_get_profile_cspace ( CMSProfile * profile )
{
@@ -165,7 +186,7 @@
return profile->cspace;
}
-@@ -1222,22 +1216,21 @@
+@@ -1222,22 +1220,21 @@
#ifdef HAVE_OY
if ( profile == NULL )
{
@@ -190,7 +211,7 @@
char *ptr = NULL;
ptr = strrchr(file_name, OY_SLASH_C);
-@@ -1251,12 +1244,13 @@
+@@ -1251,12 +1248,13 @@
fullFileName = (char*) calloc (MAX_PATH, sizeof(char));;
sprintf(fullFileName, "%s%s%s", pp_name, OY_SLASH, ptr);;
}
@@ -206,7 +227,7 @@
}
#endif
-@@ -1282,8 +1276,7 @@
+@@ -1282,8 +1280,7 @@
return_value = g_new(CMSProfile, 1);
return_value->cache_key = strdup(cms_get_profile_keyname(profile,mem));
return_value->handle = profile;
@@ -216,7 +237,7 @@
/* save an copy of the original icc profile to mem */
return_value->size = 0;
-@@ -1336,8 +1329,7 @@
+@@ -1336,8 +1333,7 @@
return_value = g_new(CMSProfile, 1);
return_value->cache_key = strdup(cms_get_profile_keyname(profile,mem_pointer));
return_value->handle = profile;
@@ -226,7 +247,7 @@
cache_entry = g_new(ProfileCacheEntry, 1);
cache_entry->ref_count = 1;
-@@ -2689,7 +2681,7 @@
+@@ -2689,7 +2685,7 @@
GSList *profile_file_names = 0;
GSList *iterator = 0;
@@ -235,7 +256,7 @@
CMSProfile *current_profile;
CMSProfileInfo *current_profile_info;
int pos = can_select_none ? 1 : 0, select_pos = -1;
-@@ -2720,16 +2712,20 @@
+@@ -2720,16 +2716,20 @@
while (iterator != NULL)
{
diff --git a/graphics/cinepaint/files/patch-app__main.c b/graphics/cinepaint/files/patch-app__main.c
index 86b933a42520..17bc4bf86222 100644
--- a/graphics/cinepaint/files/patch-app__main.c
+++ b/graphics/cinepaint/files/patch-app__main.c
@@ -1,5 +1,13 @@
--- app/main.c.orig
+++ app/main.c
+@@ -55,7 +55,6 @@
+
+ #ifdef HAVE_OY
+ #include <oyranos/oyranos.h>
+-#include <oyranos/oyranos_config.h>
+ #include <oyranos/oyranos_version.h>
+ char *oyranos_temp_path = NULL;
+ void *myAlloc(size_t n) { return calloc(sizeof(char), n); }
@@ -448,7 +448,8 @@
#ifdef WIN32