Mageia Bugzilla – Attachment 12397 Details for
Bug 28443
The Gimp plugin is not built .... and the gutenprint-gimp2 rpm missing
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
New Account
|
Forgot Password
[patch]
patch from fedora
gutenprint-postscriptdriver.patch (text/plain), 3.30 KB, created by
Philippe Didier
on 2021-02-26 12:26:45 CET
(
hide
)
Description:
patch from fedora
Filename:
MIME Type:
Creator:
Philippe Didier
Created:
2021-02-26 12:26:45 CET
Size:
3.30 KB
patch
obsolete
>diff -up gutenprint-5.3.3/src/main/gutenprint-internal.h.postscriptdriver gutenprint-5.3.3/src/main/gutenprint-internal.h >--- gutenprint-5.3.3/src/main/gutenprint-internal.h.postscriptdriver 2018-01-28 03:32:45.000000000 +0100 >+++ gutenprint-5.3.3/src/main/gutenprint-internal.h 2019-11-06 12:13:29.936061606 +0100 >@@ -54,6 +54,8 @@ extern void stpi_init_printer(void); > #define BUFFER_FLAG_FLIP_X 0x1 > #define BUFFER_FLAG_FLIP_Y 0x2 > extern stp_image_t* stpi_buffer_image(stp_image_t* image, unsigned int flags); >+extern stp_list_t *stp_paths_copy_with_prefix(stp_list_t* list, >+ const char *prefix); > > #define STPI_ASSERT(x,v) \ > do \ >diff -up gutenprint-5.3.3/src/main/module.c.postscriptdriver gutenprint-5.3.3/src/main/module.c >--- gutenprint-5.3.3/src/main/module.c.postscriptdriver 2019-05-25 16:34:21.000000000 +0200 >+++ gutenprint-5.3.3/src/main/module.c 2019-11-06 12:13:29.936061606 +0100 >@@ -159,12 +159,20 @@ int stp_module_load(void) > } > else > { >+ const char *prefix = getenv("DESTDIR"); > #ifdef USE_LTDL > stp_path_split(dir_list, getenv("LTDL_LIBRARY_PATH")); > stp_path_split(dir_list, lt_dlgetsearchpath()); > #else > stp_path_split(dir_list, PKGMODULEDIR); > #endif >+ if (prefix) >+ { >+ stp_list_t *prefix_list; >+ prefix_list = stp_paths_copy_with_prefix(dir_list, prefix); >+ stp_list_destroy(dir_list); >+ dir_list = prefix_list; >+ } > } > #ifdef USE_LTDL > file_list = stp_path_search(dir_list, ".la"); >diff -up gutenprint-5.3.3/src/main/path.c.postscriptdriver gutenprint-5.3.3/src/main/path.c >--- gutenprint-5.3.3/src/main/path.c.postscriptdriver 2019-05-25 16:34:21.000000000 +0200 >+++ gutenprint-5.3.3/src/main/path.c 2019-11-06 12:29:30.709190171 +0100 >@@ -154,6 +154,17 @@ stp_generate_path(const char *path) > return NULL; > stp_list_set_freefunc(dir_list, stp_list_node_free_data); > stp_path_split(dir_list, path); >+ if (!strncmp(PKGXMLDATADIR, path, strlen(path))) >+ { >+ const char *prefix = getenv("DESTDIR"); >+ if (prefix) >+ { >+ stp_list_t *prefix_list; >+ prefix_list = stp_paths_copy_with_prefix(dir_list, prefix); >+ stp_list_destroy(dir_list); >+ dir_list = prefix_list; >+ } >+ } > return dir_list; > } > >@@ -262,6 +273,40 @@ stp_path_split(stp_list_t *list, /* List > } > } > >+/* >+ * Split a PATH-type string (colon-delimited) into separate >+ * directories. >+ */ >+stp_list_t * >+stp_paths_copy_with_prefix(stp_list_t *list, /* List to add prefix to */ >+ const char *prefix) /* Prefix to add */ >+{ >+ stp_list_t *new_list; >+ stp_list_item_t *item; >+ int prefixlen = strlen (prefix); >+ if (!(new_list = stp_list_create())) >+ return NULL; >+ >+ item = stp_list_get_start (list); >+ while (item) >+ { >+ const char *data; >+ char *new_data; >+ int len; >+ data = stp_list_item_get_data (item); >+ len = strlen (data); >+ new_data = (char *) stp_malloc(prefixlen + 1 + len + 1); >+ strncpy(new_data, prefix, prefixlen); >+ new_data[prefixlen] = '/'; >+ strcpy(new_data + prefixlen + 1, data); >+ stp_list_item_create(new_list, NULL, new_data); >+ >+ item = stp_list_item_next (item); >+ } >+ >+ return new_list; >+} >+ > /* Adapted from GNU libc <dirent.h> > These macros extract size information from a `struct dirent *'. > They may evaluate their argument multiple times, so it must not
diff -up gutenprint-5.3.3/src/main/gutenprint-internal.h.postscriptdriver gutenprint-5.3.3/src/main/gutenprint-internal.h --- gutenprint-5.3.3/src/main/gutenprint-internal.h.postscriptdriver 2018-01-28 03:32:45.000000000 +0100 +++ gutenprint-5.3.3/src/main/gutenprint-internal.h 2019-11-06 12:13:29.936061606 +0100 @@ -54,6 +54,8 @@ extern void stpi_init_printer(void); #define BUFFER_FLAG_FLIP_X 0x1 #define BUFFER_FLAG_FLIP_Y 0x2 extern stp_image_t* stpi_buffer_image(stp_image_t* image, unsigned int flags); +extern stp_list_t *stp_paths_copy_with_prefix(stp_list_t* list, + const char *prefix); #define STPI_ASSERT(x,v) \ do \ diff -up gutenprint-5.3.3/src/main/module.c.postscriptdriver gutenprint-5.3.3/src/main/module.c --- gutenprint-5.3.3/src/main/module.c.postscriptdriver 2019-05-25 16:34:21.000000000 +0200 +++ gutenprint-5.3.3/src/main/module.c 2019-11-06 12:13:29.936061606 +0100 @@ -159,12 +159,20 @@ int stp_module_load(void) } else { + const char *prefix = getenv("DESTDIR"); #ifdef USE_LTDL stp_path_split(dir_list, getenv("LTDL_LIBRARY_PATH")); stp_path_split(dir_list, lt_dlgetsearchpath()); #else stp_path_split(dir_list, PKGMODULEDIR); #endif + if (prefix) + { + stp_list_t *prefix_list; + prefix_list = stp_paths_copy_with_prefix(dir_list, prefix); + stp_list_destroy(dir_list); + dir_list = prefix_list; + } } #ifdef USE_LTDL file_list = stp_path_search(dir_list, ".la"); diff -up gutenprint-5.3.3/src/main/path.c.postscriptdriver gutenprint-5.3.3/src/main/path.c --- gutenprint-5.3.3/src/main/path.c.postscriptdriver 2019-05-25 16:34:21.000000000 +0200 +++ gutenprint-5.3.3/src/main/path.c 2019-11-06 12:29:30.709190171 +0100 @@ -154,6 +154,17 @@ stp_generate_path(const char *path) return NULL; stp_list_set_freefunc(dir_list, stp_list_node_free_data); stp_path_split(dir_list, path); + if (!strncmp(PKGXMLDATADIR, path, strlen(path))) + { + const char *prefix = getenv("DESTDIR"); + if (prefix) + { + stp_list_t *prefix_list; + prefix_list = stp_paths_copy_with_prefix(dir_list, prefix); + stp_list_destroy(dir_list); + dir_list = prefix_list; + } + } return dir_list; } @@ -262,6 +273,40 @@ stp_path_split(stp_list_t *list, /* List } } +/* + * Split a PATH-type string (colon-delimited) into separate + * directories. + */ +stp_list_t * +stp_paths_copy_with_prefix(stp_list_t *list, /* List to add prefix to */ + const char *prefix) /* Prefix to add */ +{ + stp_list_t *new_list; + stp_list_item_t *item; + int prefixlen = strlen (prefix); + if (!(new_list = stp_list_create())) + return NULL; + + item = stp_list_get_start (list); + while (item) + { + const char *data; + char *new_data; + int len; + data = stp_list_item_get_data (item); + len = strlen (data); + new_data = (char *) stp_malloc(prefixlen + 1 + len + 1); + strncpy(new_data, prefix, prefixlen); + new_data[prefixlen] = '/'; + strcpy(new_data + prefixlen + 1, data); + stp_list_item_create(new_list, NULL, new_data); + + item = stp_list_item_next (item); + } + + return new_list; +} + /* Adapted from GNU libc <dirent.h> These macros extract size information from a `struct dirent *'. They may evaluate their argument multiple times, so it must not
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 28443
:
12396
| 12397 |
12398