summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--patches/graphicsmagick-1.3.38.local.patch175
1 files changed, 175 insertions, 0 deletions
diff --git a/patches/graphicsmagick-1.3.38.local.patch b/patches/graphicsmagick-1.3.38.local.patch
new file mode 100644
index 00000000..3dd20348
--- /dev/null
+++ b/patches/graphicsmagick-1.3.38.local.patch
@@ -0,0 +1,175 @@
+diff -ru GraphicsMagick-1.3.38.orig/magick/module.c GraphicsMagick-1.3.38/magick/module.c
+--- GraphicsMagick-1.3.38.orig/magick/module.c 2022-03-26 18:45:36.000000000 +0100
++++ GraphicsMagick-1.3.38/magick/module.c 2022-11-05 20:08:54.097212410 +0100
+@@ -47,12 +47,9 @@
+ #include "magick/map.h"
+ #include "magick/module.h"
+ #include "magick/utility.h"
+-#if defined(HasLTDL)
+-# include "ltdl.h"
+- typedef lt_dlhandle ModuleHandle;
+-#else
+- typedef void *ModuleHandle;
+-#endif
++
++#include <dlfcn.h>
++typedef void *ModuleHandle;
+
+ /*
+ Define declarations.
+@@ -60,7 +57,7 @@
+ #define MAX_MODULES 511 /* Maximum number of modules supported by build. */
+ #define ModuleFilename "modules.mgk"
+ #if defined(HasLTDL)
+-# define ModuleGlobExpression "*.la"
++# define ModuleGlobExpression "*.so"
+ #else
+ # if defined(_DEBUG)
+ # define ModuleGlobExpression "IM_MOD_DB_*.dll"
+@@ -297,9 +294,6 @@
+ */
+ if (ltdl_initialized)
+ {
+-#if !defined(HasJP2)
+- (void) lt_dlexit();
+-#endif
+ ltdl_initialized=False;
+ }
+ }
+@@ -375,13 +369,13 @@
+ return(MagickFail);
+
+ /* Open the module */
+- handle=lt_dlopen(module_path);
++ handle=dlopen(module_path, RTLD_NOW);
+ if (handle == (ModuleHandle) NULL)
+ {
+ char
+ message[MaxTextExtent];
+
+- FormatString(message,"\"%.256s: %.256s\"",module_path,lt_dlerror());
++ FormatString(message,"\"%.256s: %.256s\"",module_path,dlerror());
+ ThrowException(&(*image)->exception,ModuleError,UnableToLoadModule,
+ message);
+ return(status);
+@@ -401,7 +395,7 @@
+ FormatString(method_name,"%.64sImage",tag);
+ #endif
+ method=(unsigned int (*)(Image **,const int,char **))
+- lt_dlsym(handle,method_name);
++ dlsym(handle,method_name);
+
+
+ /* Execute module method */
+@@ -429,7 +423,7 @@
+
+ }
+ /* Close the module */
+- (void) lt_dlclose(handle);
++ (void) dlclose(handle);
+ return(status);
+ }
+
+@@ -822,9 +816,11 @@
+ */
+ if (!ltdl_initialized)
+ {
++#if 0
+ if (lt_dlinit() != 0)
+ MagickFatalError(ModuleFatalError,
+- UnableToInitializeModuleLoader,lt_dlerror());
++ UnableToInitializeModuleLoader,dlerror());
++#endif
+ ltdl_initialized=True;
+ }
+ (void) ReadModuleConfigureFile(ModuleFilename,0,&exception);
+@@ -1359,8 +1355,8 @@
+ CoderInfo
+ *coder_info;
+
+- ModuleHandle
+- handle;
++ void
++ *handle;
+
+ register ModuleInfo
+ *p;
+@@ -1419,10 +1415,10 @@
+ (void) LogMagickEvent(ConfigureEvent,GetMagickModule(),
+ "Opening module at path \"%s\" ...", path);
+
+- handle=lt_dlopen(path);
++ handle=dlopen(path, RTLD_NOW);
+ if (handle == (ModuleHandle) NULL)
+ {
+- FormatString(message,"\"%.1024s: %.1024s\"",path,lt_dlerror());
++ FormatString(message,"\"%.1024s: %.1024s\"",path,dlerror());
+ ThrowException(exception,ModuleError,UnableToLoadModule,message);
+ return(MagickFail);
+ }
+@@ -1432,7 +1428,7 @@
+ coder_info=SetCoderInfo(module_name);
+ if (coder_info == (CoderInfo*) NULL)
+ {
+- (void) lt_dlclose(handle);
++ (void) dlclose(handle);
+ return(MagickFail);
+ }
+ coder_info->handle=handle;
+@@ -1443,10 +1439,10 @@
+ Locate and record RegisterFORMATImage function
+ */
+ TagToFunctionName(module_name,"Register%sImage",name);
+- coder_info->register_function=(void (*)(void)) lt_dlsym(handle,name);
++ coder_info->register_function=(void (*)(void)) dlsym(handle,name);
+ if (coder_info->register_function == (void (*)(void)) NULL)
+ {
+- FormatString(message,"\"%.1024s: %.1024s\"",module_name,lt_dlerror());
++ FormatString(message,"\"%.1024s: %.1024s\"",module_name,dlerror());
+ ThrowException(exception,ModuleError,UnableToRegisterImageFormat,
+ message);
+ return(MagickFail);
+@@ -1460,10 +1456,10 @@
+ Locate and record UnregisterFORMATImage function
+ */
+ TagToFunctionName(module_name,"Unregister%sImage",name);
+- coder_info->unregister_function=(void (*)(void)) lt_dlsym(handle,name);
++ coder_info->unregister_function=(void (*)(void)) dlsym(handle,name);
+ if (coder_info->unregister_function == (void (*)(void)) NULL)
+ {
+- FormatString(message,"\"%.1024s: %.1024s\"",module_name,lt_dlerror());
++ FormatString(message,"\"%.1024s: %.1024s\"",module_name,dlerror());
+ ThrowException(exception,ModuleError,UnableToRegisterImageFormat,
+ message);
+ return(MagickFail);
+@@ -1983,7 +1979,7 @@
+ assert(tag != (char *) NULL);
+ assert(module_name != (char *) NULL);
+ #if defined(HasLTDL)
+- (void) FormatString(module_name,"%.1024s.la",tag);
++ (void) FormatString(module_name,"%.1024s.so",tag);
+ (void) LocaleLower(module_name);
+ #else
+ #if defined(MSWINDOWS)
+@@ -2030,7 +2026,7 @@
+ assert(tag != (char *) NULL);
+ assert(module_name != (char *) NULL);
+ #if defined(HasLTDL)
+- (void) FormatString(module_name,"%.1024s.la",tag);
++ (void) FormatString(module_name,"%.1024s.so",tag);
+ (void) LocaleLower(module_name);
+ #else
+ (void) FormatString(module_name,"%.1024s.dll",tag);
+@@ -2142,10 +2138,10 @@
+ */
+ if ( strcmp("JP2",coder_info->tag) != 0 )
+ {
+- if (lt_dlclose((ModuleHandle) coder_info->handle))
++ if (dlclose((ModuleHandle) coder_info->handle))
+ {
+ FormatString(message,"\"%.1024s: %.1024s\"",coder_info->tag,
+- lt_dlerror());
++ dlerror());
+ ThrowException(exception,ModuleError,FailedToCloseModule,message);
+ status=False;
+ }