summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'x11-libs/libcompizconfig/files/libcompizconfig-0.8.2-allow-system-libiniparser.patch')
-rw-r--r--x11-libs/libcompizconfig/files/libcompizconfig-0.8.2-allow-system-libiniparser.patch239
1 files changed, 239 insertions, 0 deletions
diff --git a/x11-libs/libcompizconfig/files/libcompizconfig-0.8.2-allow-system-libiniparser.patch b/x11-libs/libcompizconfig/files/libcompizconfig-0.8.2-allow-system-libiniparser.patch
new file mode 100644
index 000000000000..3028faf967ad
--- /dev/null
+++ b/x11-libs/libcompizconfig/files/libcompizconfig-0.8.2-allow-system-libiniparser.patch
@@ -0,0 +1,239 @@
+diff -Naur libcompizconfig-0.8.2.orig/config.h.in libcompizconfig-0.8.2/config.h.in
+--- libcompizconfig-0.8.2.orig/config.h.in 2009-03-05 15:29:12.000000000 +0000
++++ libcompizconfig-0.8.2/config.h.in 2009-05-02 14:55:48.000000000 +0100
+@@ -30,6 +30,9 @@
+ /* Define if your <locale.h> file defines LC_MESSAGES. */
+ #undef HAVE_LC_MESSAGES
+
++/* Define to 1 if you have the `iniparser' library (-liniparser). */
++#undef HAVE_LIBINIPARSER
++
+ /* Define to 1 if you have the `protobuf' library (-lprotobuf). */
+ #undef HAVE_LIBPROTOBUF
+
+diff -Naur libcompizconfig-0.8.2.orig/configure.ac libcompizconfig-0.8.2/configure.ac
+--- libcompizconfig-0.8.2.orig/configure.ac 2009-03-05 03:22:22.000000000 +0000
++++ libcompizconfig-0.8.2/configure.ac 2009-05-02 14:55:48.000000000 +0100
+@@ -116,6 +116,16 @@
+ fi
+ AM_CONDITIONAL([USE_PROTOBUF], [test "x$use_protobuf" = "xyes"])
+
++AC_ARG_WITH(internal-iniparser,
++ [AS_HELP_STRING([--without-internal-iniparser],[Don't use bundled iniparser lib])],
++ [], [with_internal_iniparser=yes])
++
++if test "x$with_internal_iniparser" = "xno"; then
++ AC_CHECK_LIB([iniparser], [iniparser_getnsec], [],
++ [AC_MSG_ERROR([Error! You need to have libiniparser])])
++fi
++AM_CONDITIONAL([WITH_INTERNAL_INIPARSER], [test "x$with_internal_iniparser" = "xyes"])
++
+ AC_CHECK_HEADERS([sys/inotify.h], [have_inotify=yes], [have_inotify=no])
+
+ AC_ARG_ENABLE(debug,
+diff -Naur libcompizconfig-0.8.2.orig/include/ccs.h libcompizconfig-0.8.2/include/ccs.h
+--- libcompizconfig-0.8.2.orig/include/ccs.h 2009-03-05 03:22:22.000000000 +0000
++++ libcompizconfig-0.8.2/include/ccs.h 2009-05-02 14:55:48.000000000 +0100
+@@ -695,19 +695,9 @@
+
+ /* INI file stuff */
+
+-typedef struct _dictionary_
+-{
+- /** Number of entries in dictionary */
+- int n;
+- /** Storage size */
+- int size;
+- /** List of string values */
+- char **val;
+- /** List of string keys */
+- char **key ;
+- /** List of hash values for keys */
+- unsigned *hash;
+-} IniDictionary;
++#include <iniparser.h>
++
++typedef dictionary IniDictionary;
+
+ IniDictionary* ccsIniNew (void);
+ IniDictionary* ccsIniOpen (const char *fileName);
+diff -Naur libcompizconfig-0.8.2.orig/src/Makefile.am libcompizconfig-0.8.2/src/Makefile.am
+--- libcompizconfig-0.8.2.orig/src/Makefile.am 2009-03-05 15:28:59.000000000 +0000
++++ libcompizconfig-0.8.2/src/Makefile.am 2009-05-02 14:55:48.000000000 +0100
+@@ -39,14 +39,17 @@
+ lists.c \
+ compiz.cpp \
+ config.c \
+- iniparser.c \
+ ini.c \
+ bindings.c \
+ filewatch.c \
+- ccs-private.h \
+- iniparser.h
++ ccs-private.h
+
+ libcompizconfig_la_LIBADD = @LIBXML2_LIBS@ @LIBX11_LIBS@ $(PROTOBUF_LIB)
+
+ lib_LTLIBRARIES=libcompizconfig.la
+
++if WITH_INTERNAL_INIPARSER
++
++ libcompizconfig_la_SOURCES += iniparser.h iniparser.c
++
++endif
+diff -Naur libcompizconfig-0.8.2.orig/src/ini.c libcompizconfig-0.8.2/src/ini.c
+--- libcompizconfig-0.8.2.orig/src/ini.c 2009-03-05 03:22:22.000000000 +0000
++++ libcompizconfig-0.8.2/src/ini.c 2009-05-02 14:56:12.000000000 +0100
+@@ -23,9 +23,10 @@
+ #include <sys/stat.h>
+ #include <sys/types.h>
+ #include <errno.h>
++#include <ctype.h>
+
+ #include <ccs.h>
+-#include "iniparser.h"
++#include <iniparser.h>
+
+ /**
+ * Creates the parent directory for @fileName, recursively creating a directory
+@@ -77,7 +78,7 @@
+ if (file)
+ fclose (file);
+
+- return iniparser_new ((char*) fileName);
++ return iniparser_load ((char*) fileName);
+ }
+
+ IniDictionary*
+@@ -89,17 +90,22 @@
+ void
+ ccsIniClose (IniDictionary *dictionary)
+ {
+- iniparser_free (dictionary);
++ iniparser_freedict (dictionary);
+ }
+
+ void
+ ccsIniSave (IniDictionary *dictionary,
+ const char *fileName)
+ {
++ FILE *f;
+ if (!ccsCreateDirFor (fileName))
+ return;
+
+- iniparser_dump_ini (dictionary, fileName);
++ f = fopen(fileName, "w");
++ if(!f)
++ return;
++ iniparser_dump_ini (dictionary, f);
++ fclose(f);
+ }
+
+ static char*
+@@ -127,11 +133,11 @@
+ char *sectionName;
+
+ asprintf (&sectionName, "%s:%s", section, entry);
+-
++/*
+ if (!iniparser_find_entry (dictionary, (char*) section))
+ iniparser_add_entry (dictionary, (char*) section, NULL, NULL);
+-
+- iniparser_setstr (dictionary, sectionName, (char*) value);
++*/
++ iniparser_set (dictionary, sectionName, (char*) value);
+
+ free (sectionName);
+ }
+diff -Naur libcompizconfig-0.8.2.orig/src/iniparser.h libcompizconfig-0.8.2/src/iniparser.h
+--- libcompizconfig-0.8.2.orig/src/iniparser.h 2009-03-05 03:22:22.000000000 +0000
++++ libcompizconfig-0.8.2/src/iniparser.h 1970-01-01 01:00:00.000000000 +0100
+@@ -1,65 +0,0 @@
+-/*
+- Based upon libiniparser, by Nicolas Devillard
+- Hacked into 1 file (m-iniparser) by Freek/2005
+- Original terms following:
+-
+- -- -
+-
+- Copyright (c) 2000 by Nicolas Devillard (ndevilla AT free DOT fr).
+-
+- Written by Nicolas Devillard. Not derived from licensed software.
+-
+- Permission is granted to anyone to use this software for any
+- purpose on any computer system, and to redistribute it freely,
+- subject to the following restrictions:
+-
+- 1. The author is not responsible for the consequences of use of
+- this software, no matter how awful, even if they arise
+- from defects in it.
+-
+- 2. The origin of this software must not be misrepresented, either
+- by explicit claim or by omission.
+-
+- 3. Altered versions must be plainly marked as such, and must not
+- be misrepresented as being the original software.
+-
+- 4. This notice may not be removed or altered.
+-
+- */
+-
+-
+-#ifndef _INIPARSER_H_
+-#define _INIPARSER_H_
+-#include <stdio.h>
+-#include <stdlib.h>
+-#include <string.h>
+-#include <unistd.h>
+-#include <ctype.h>
+-
+-#include <ccs.h>
+-
+-typedef IniDictionary dictionary;
+-
+-typedef struct _FileLock
+-{
+- int fd;
+-} FileLock;
+-
+-/* generated by genproto */
+-
+-dictionary * iniparser_new(char *ininame);
+-dictionary * dictionary_new(int size);
+-void iniparser_free(dictionary * d);
+-
+-
+-int iniparser_getnsec(dictionary * d);
+-char * iniparser_getsecname(dictionary * d, int n);
+-void iniparser_dump_ini(dictionary * d, const char * file_name);
+-char * iniparser_getstring(dictionary * d, char * key, char * def);
+-void iniparser_add_entry(dictionary * d, char * sec, char * key, char * val);
+-int iniparser_find_entry(dictionary * ini, char * entry);
+-int iniparser_setstr(dictionary * ini, char * entry, char * val);
+-void iniparser_unset(dictionary * ini, char * entry);
+-
+-#endif
+-
+diff -Naur libcompizconfig-0.8.2.orig/src/main.c libcompizconfig-0.8.2/src/main.c
+--- libcompizconfig-0.8.2.orig/src/main.c 2009-03-05 03:22:22.000000000 +0000
++++ libcompizconfig-0.8.2/src/main.c 2009-05-02 14:56:26.000000000 +0100
+@@ -34,9 +34,9 @@
+ #include <math.h>
+
+ #include <ccs.h>
++#include <iniparser.h>
+
+ #include "ccs-private.h"
+-#include "iniparser.h"
+
+ Bool basicMetadata = FALSE;
+
+@@ -2577,7 +2577,7 @@
+ return FALSE;
+ fclose (fp);
+
+- importFile = iniparser_new ((char *) fileName);
++ importFile = iniparser_load ((char *) fileName);
+ if (!importFile)
+ return FALSE;
+