summary refs log tree commit diff
path: root/pkgs/development/libraries/libiconv
diff options
context:
space:
mode:
authorDavid McFarland <corngood@gmail.com>2017-05-23 10:36:41 -0300
committerDavid McFarland <corngood@gmail.com>2017-06-26 09:33:16 -0300
commit260afef6679952fd70e9f2a7a41d54e760b21ca5 (patch)
tree8fceb6ece6f34e198d24b3b5d3915858ed01dfab /pkgs/development/libraries/libiconv
parent84a4ee5c041697fd25d4082a0f94ec1d82406017 (diff)
downloadnixpkgs-260afef6679952fd70e9f2a7a41d54e760b21ca5.tar
nixpkgs-260afef6679952fd70e9f2a7a41d54e760b21ca5.tar.gz
nixpkgs-260afef6679952fd70e9f2a7a41d54e760b21ca5.tar.bz2
nixpkgs-260afef6679952fd70e9f2a7a41d54e760b21ca5.tar.lz
nixpkgs-260afef6679952fd70e9f2a7a41d54e760b21ca5.tar.xz
nixpkgs-260afef6679952fd70e9f2a7a41d54e760b21ca5.tar.zst
nixpkgs-260afef6679952fd70e9f2a7a41d54e760b21ca5.zip
libiconv: remove old cygwin hacks
Diffstat (limited to 'pkgs/development/libraries/libiconv')
-rw-r--r--pkgs/development/libraries/libiconv/default.nix12
-rw-r--r--pkgs/development/libraries/libiconv/libiconv-1.14-reloc.patch269
-rw-r--r--pkgs/development/libraries/libiconv/libiconv-1.14-wchar.patch102
3 files changed, 1 insertions, 382 deletions
diff --git a/pkgs/development/libraries/libiconv/default.nix b/pkgs/development/libraries/libiconv/default.nix
index 4c634de9246..c23fd57e514 100644
--- a/pkgs/development/libraries/libiconv/default.nix
+++ b/pkgs/development/libraries/libiconv/default.nix
@@ -11,11 +11,6 @@ stdenv.mkDerivation rec {
     sha256 = "0y1ij745r4p48mxq84rax40p10ln7fc7m243p8k8sia519i3dxfc";
   };
 
-  patches = lib.optionals stdenv.isCygwin [
-    ./libiconv-1.14-reloc.patch
-    ./libiconv-1.14-wchar.patch
-  ];
-
   postPatch =
     lib.optionalString ((stdenv ? cross && stdenv.cross.libc == "msvcrt") || stdenv.cc.nativeLibc)
       ''
@@ -23,12 +18,7 @@ stdenv.mkDerivation rec {
       '';
 
   configureFlags =
-  # On Cygwin, Libtool produces a `.dll.a', which is not a "real" DLL
-  # (Windows' linker would need to be used somehow to produce an actual
-  # DLL.)  Thus, build the static library too, and this is what Gettext
-  # will actually use.
-    lib.optional stdenv.isCygwin "--enable-static"
-    ++ lib.optional stdenv.isFreeBSD "--with-pic";
+    lib.optional stdenv.isFreeBSD "--with-pic";
 
   crossAttrs = {
     # Disable stripping to avoid "libiconv.a: Archive has no index" (MinGW).
diff --git a/pkgs/development/libraries/libiconv/libiconv-1.14-reloc.patch b/pkgs/development/libraries/libiconv/libiconv-1.14-reloc.patch
deleted file mode 100644
index 005e3379d16..00000000000
--- a/pkgs/development/libraries/libiconv/libiconv-1.14-reloc.patch
+++ /dev/null
@@ -1,269 +0,0 @@
---- libiconv-1.14/lib/relocatable.c	2011-08-07 13:48:03.000000000 -0400
-+++ libiconv-1.14/lib/relocatable.c	2011-10-15 03:14:13.195133600 -0400
-@@ -2,20 +2,18 @@
-    Copyright (C) 2003-2006, 2008-2011 Free Software Foundation, Inc.
-    Written by Bruno Haible <bruno@clisp.org>, 2003.
- 
--   This program is free software; you can redistribute it and/or modify it
--   under the terms of the GNU Library General Public License as published
--   by the Free Software Foundation; either version 2, or (at your option)
--   any later version.
-+   This program is free software: you can redistribute it and/or modify
-+   it under the terms of the GNU Lesser General Public License as published by
-+   the Free Software Foundation; either version 2.1 of the License, or
-+   (at your option) any later version.
- 
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
--   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
--   Library General Public License for more details.
-+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-+   GNU Lesser General Public License for more details.
- 
--   You should have received a copy of the GNU Library General Public
--   License along with this program; if not, write to the Free Software
--   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
--   USA.  */
-+   You should have received a copy of the GNU Lesser General Public License
-+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
- 
- 
- /* Tell glibc's <stdio.h> to provide a prototype for getline().
-@@ -87,6 +85,19 @@
- # define FILE_SYSTEM_PREFIX_LEN(P) 0
- #endif
- 
-+/* Whether to enable the more costly support for relocatable libraries.
-+   It allows libraries to be have been installed with a different original
-+   prefix than the program.  But it is quite costly, especially on Cygwin
-+   platforms, see below.  Therefore we enable it by default only on native
-+   Win32 platforms.  */
-+#ifndef ENABLE_COSTLY_RELOCATABLE
-+# if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__
-+#  define ENABLE_COSTLY_RELOCATABLE 1
-+# else
-+#  define ENABLE_COSTLY_RELOCATABLE 0
-+# endif
-+#endif
-+
- /* Original installation prefix.  */
- static char *orig_prefix;
- static size_t orig_prefix_len;
-@@ -156,7 +167,7 @@
- #endif
- }
- 
--#if !defined IN_LIBRARY || (defined PIC && defined INSTALLDIR)
-+#if !defined IN_LIBRARY || (defined PIC && defined INSTALLDIR && ENABLE_COSTLY_RELOCATABLE)
- 
- /* Convenience function:
-    Computes the current installation prefix, based on the original
-@@ -286,7 +297,7 @@
- 
- #endif /* !IN_LIBRARY || PIC */
- 
--#if defined PIC && defined INSTALLDIR
-+#if defined PIC && defined INSTALLDIR && ENABLE_COSTLY_RELOCATABLE
- 
- /* Full pathname of shared library, or NULL.  */
- static char *shared_library_fullname;
-@@ -332,7 +343,9 @@
- #if (defined __linux__ && (__GLIBC__ >= 2 || defined __UCLIBC__)) || defined __CYGWIN__
-   /* Linux has /proc/self/maps. glibc 2 and uClibc have the getline()
-      function.
--     Cygwin >= 1.5 has /proc/self/maps and the getline() function too.  */
-+     Cygwin >= 1.5 has /proc/self/maps and the getline() function too.
-+     But it is costly: ca. 0.3 ms on Linux, 3 ms on Cygwin 1.5, and 5 ms on
-+     Cygwin 1.7.  */
-   FILE *fp;
- 
-   /* Open the current process' maps file.  It describes one VMA per line.  */
-@@ -405,7 +418,7 @@
- const char *
- relocate (const char *pathname)
- {
--#if defined PIC && defined INSTALLDIR
-+#if defined PIC && defined INSTALLDIR && ENABLE_COSTLY_RELOCATABLE
-   static int initialized;
- 
-   /* Initialization code for a shared library.  */
---- libiconv-1.14/libcharset/lib/relocatable.c	2011-08-07 13:48:03.000000000 -0400
-+++ libiconv-1.14/libcharset/lib/relocatable.c	2011-10-15 03:14:27.878133600 -0400
-@@ -2,20 +2,18 @@
-    Copyright (C) 2003-2006, 2008-2011 Free Software Foundation, Inc.
-    Written by Bruno Haible <bruno@clisp.org>, 2003.
- 
--   This program is free software; you can redistribute it and/or modify it
--   under the terms of the GNU Library General Public License as published
--   by the Free Software Foundation; either version 2, or (at your option)
--   any later version.
-+   This program is free software: you can redistribute it and/or modify
-+   it under the terms of the GNU Lesser General Public License as published by
-+   the Free Software Foundation; either version 2.1 of the License, or
-+   (at your option) any later version.
- 
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
--   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
--   Library General Public License for more details.
-+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-+   GNU Lesser General Public License for more details.
- 
--   You should have received a copy of the GNU Library General Public
--   License along with this program; if not, write to the Free Software
--   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
--   USA.  */
-+   You should have received a copy of the GNU Lesser General Public License
-+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
- 
- 
- /* Tell glibc's <stdio.h> to provide a prototype for getline().
-@@ -87,6 +85,19 @@
- # define FILE_SYSTEM_PREFIX_LEN(P) 0
- #endif
- 
-+/* Whether to enable the more costly support for relocatable libraries.
-+   It allows libraries to be have been installed with a different original
-+   prefix than the program.  But it is quite costly, especially on Cygwin
-+   platforms, see below.  Therefore we enable it by default only on native
-+   Win32 platforms.  */
-+#ifndef ENABLE_COSTLY_RELOCATABLE
-+# if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__
-+#  define ENABLE_COSTLY_RELOCATABLE 1
-+# else
-+#  define ENABLE_COSTLY_RELOCATABLE 0
-+# endif
-+#endif
-+
- /* Original installation prefix.  */
- static char *orig_prefix;
- static size_t orig_prefix_len;
-@@ -156,7 +167,7 @@
- #endif
- }
- 
--#if !defined IN_LIBRARY || (defined PIC && defined INSTALLDIR)
-+#if !defined IN_LIBRARY || (defined PIC && defined INSTALLDIR && ENABLE_COSTLY_RELOCATABLE)
- 
- /* Convenience function:
-    Computes the current installation prefix, based on the original
-@@ -286,7 +297,7 @@
- 
- #endif /* !IN_LIBRARY || PIC */
- 
--#if defined PIC && defined INSTALLDIR
-+#if defined PIC && defined INSTALLDIR && ENABLE_COSTLY_RELOCATABLE
- 
- /* Full pathname of shared library, or NULL.  */
- static char *shared_library_fullname;
-@@ -332,7 +343,9 @@
- #if (defined __linux__ && (__GLIBC__ >= 2 || defined __UCLIBC__)) || defined __CYGWIN__
-   /* Linux has /proc/self/maps. glibc 2 and uClibc have the getline()
-      function.
--     Cygwin >= 1.5 has /proc/self/maps and the getline() function too.  */
-+     Cygwin >= 1.5 has /proc/self/maps and the getline() function too.
-+     But it is costly: ca. 0.3 ms on Linux, 3 ms on Cygwin 1.5, and 5 ms on
-+     Cygwin 1.7.  */
-   FILE *fp;
- 
-   /* Open the current process' maps file.  It describes one VMA per line.  */
-@@ -405,7 +418,7 @@
- const char *
- relocate (const char *pathname)
- {
--#if defined PIC && defined INSTALLDIR
-+#if defined PIC && defined INSTALLDIR && ENABLE_COSTLY_RELOCATABLE
-   static int initialized;
- 
-   /* Initialization code for a shared library.  */
---- libiconv-1.14/srclib/relocatable.c	2011-08-07 09:42:06.000000000 -0400
-+++ libiconv-1.14/srclib/relocatable.c	2011-10-15 03:14:37.739133600 -0400
-@@ -3,16 +3,16 @@
-    Written by Bruno Haible <bruno@clisp.org>, 2003.
- 
-    This program is free software: you can redistribute it and/or modify
--   it under the terms of the GNU General Public License as published by
--   the Free Software Foundation; either version 3 of the License, or
-+   it under the terms of the GNU Lesser General Public License as published by
-+   the Free Software Foundation; either version 2.1 of the License, or
-    (at your option) any later version.
- 
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
--   GNU General Public License for more details.
-+   GNU Lesser General Public License for more details.
- 
--   You should have received a copy of the GNU General Public License
-+   You should have received a copy of the GNU Lesser General Public License
-    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
- 
- 
-@@ -85,6 +85,19 @@
- # define FILE_SYSTEM_PREFIX_LEN(P) 0
- #endif
- 
-+/* Whether to enable the more costly support for relocatable libraries.
-+   It allows libraries to be have been installed with a different original
-+   prefix than the program.  But it is quite costly, especially on Cygwin
-+   platforms, see below.  Therefore we enable it by default only on native
-+   Win32 platforms.  */
-+#ifndef ENABLE_COSTLY_RELOCATABLE
-+# if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__
-+#  define ENABLE_COSTLY_RELOCATABLE 1
-+# else
-+#  define ENABLE_COSTLY_RELOCATABLE 0
-+# endif
-+#endif
-+
- /* Original installation prefix.  */
- static char *orig_prefix;
- static size_t orig_prefix_len;
-@@ -154,7 +167,7 @@
- #endif
- }
- 
--#if !defined IN_LIBRARY || (defined PIC && defined INSTALLDIR)
-+#if !defined IN_LIBRARY || (defined PIC && defined INSTALLDIR && ENABLE_COSTLY_RELOCATABLE)
- 
- /* Convenience function:
-    Computes the current installation prefix, based on the original
-@@ -284,7 +297,7 @@
- 
- #endif /* !IN_LIBRARY || PIC */
- 
--#if defined PIC && defined INSTALLDIR
-+#if defined PIC && defined INSTALLDIR && ENABLE_COSTLY_RELOCATABLE
- 
- /* Full pathname of shared library, or NULL.  */
- static char *shared_library_fullname;
-@@ -330,7 +343,9 @@
- #if (defined __linux__ && (__GLIBC__ >= 2 || defined __UCLIBC__)) || defined __CYGWIN__
-   /* Linux has /proc/self/maps. glibc 2 and uClibc have the getline()
-      function.
--     Cygwin >= 1.5 has /proc/self/maps and the getline() function too.  */
-+     Cygwin >= 1.5 has /proc/self/maps and the getline() function too.
-+     But it is costly: ca. 0.3 ms on Linux, 3 ms on Cygwin 1.5, and 5 ms on
-+     Cygwin 1.7.  */
-   FILE *fp;
- 
-   /* Open the current process' maps file.  It describes one VMA per line.  */
-@@ -403,7 +418,7 @@
- const char *
- relocate (const char *pathname)
- {
--#if defined PIC && defined INSTALLDIR
-+#if defined PIC && defined INSTALLDIR && ENABLE_COSTLY_RELOCATABLE
-   static int initialized;
- 
-   /* Initialization code for a shared library.  */
---- libiconv-1.14/srcm4/gnulib-comp.m4	2011-08-07 09:42:12.000000000 -0400
-+++ libiconv-1.14/srcm4/gnulib-comp.m4	2011-08-30 02:40:45.597317000 -0400
-@@ -164,6 +164,7 @@ gl_UNISTD_MODULE_INDICATOR([readlink])
- gl_RELOCATABLE([$gl_source_base])
- if test $RELOCATABLE = yes; then
-   AC_LIBOBJ([progreloc])
-+  AC_LIBOBJ([relocatable])
- fi
- gl_FUNC_READLINK_SEPARATE
- gl_CANONICALIZE_LGPL_SEPARATE
diff --git a/pkgs/development/libraries/libiconv/libiconv-1.14-wchar.patch b/pkgs/development/libraries/libiconv/libiconv-1.14-wchar.patch
deleted file mode 100644
index 0e4ddd931bb..00000000000
--- a/pkgs/development/libraries/libiconv/libiconv-1.14-wchar.patch
+++ /dev/null
@@ -1,102 +0,0 @@
---- libiconv-1.14/libcharset/lib/localcharset.c	2011-02-28 17:43:35.000000000 -0500
-+++ libiconv-1.14/libcharset/lib/localcharset.c	2011-08-28 00:16:57.238000000 -0400
-@@ -54,10 +54,6 @@
- #   include <locale.h>
- #  endif
- # endif
--# ifdef __CYGWIN__
--#  define WIN32_LEAN_AND_MEAN
--#  include <windows.h>
--# endif
- #elif defined WIN32_NATIVE
- # define WIN32_LEAN_AND_MEAN
- # include <windows.h>
-@@ -124,7 +120,7 @@
-   cp = charset_aliases;
-   if (cp == NULL)
-     {
--#if !(defined DARWIN7 || defined VMS || defined WIN32_NATIVE || defined __CYGWIN__)
-+#if !(defined DARWIN7 || defined VMS || defined WIN32_NATIVE)
-       const char *dir;
-       const char *base = "charset.alias";
-       char *file_name;
-@@ -309,7 +305,7 @@
-            "DECKOREAN" "\0" "EUC-KR" "\0";
- # endif
- 
--# if defined WIN32_NATIVE || defined __CYGWIN__
-+# if defined WIN32_NATIVE
-       /* To avoid the troubles of installing a separate file in the same
-          directory as the DLL and of retrieving the DLL's directory at
-          runtime, simply inline the aliases here.  */
-@@ -365,64 +361,12 @@
- 
- # if HAVE_LANGINFO_CODESET
- 
--  /* Most systems support nl_langinfo (CODESET) nowadays.  */
--  codeset = nl_langinfo (CODESET);
--
--#  ifdef __CYGWIN__
--  /* Cygwin < 1.7 does not have locales.  nl_langinfo (CODESET) always
--     returns "US-ASCII".  Return the suffix of the locale name from the
--     environment variables (if present) or the codepage as a number.  */
--  if (codeset != NULL && strcmp (codeset, "US-ASCII") == 0)
--    {
--      const char *locale;
--      static char buf[2 + 10 + 1];
--
--      locale = getenv ("LC_ALL");
--      if (locale == NULL || locale[0] == '\0')
--        {
--          locale = getenv ("LC_CTYPE");
--          if (locale == NULL || locale[0] == '\0')
--            locale = getenv ("LANG");
--        }
--      if (locale != NULL && locale[0] != '\0')
--        {
--          /* If the locale name contains an encoding after the dot, return
--             it.  */
--          const char *dot = strchr (locale, '.');
--
--          if (dot != NULL)
--            {
--              const char *modifier;
--
--              dot++;
--              /* Look for the possible @... trailer and remove it, if any.  */
--              modifier = strchr (dot, '@');
--              if (modifier == NULL)
--                return dot;
--              if (modifier - dot < sizeof (buf))
--                {
--                  memcpy (buf, dot, modifier - dot);
--                  buf [modifier - dot] = '\0';
--                  return buf;
--                }
--            }
--        }
--
--      /* Woe32 has a function returning the locale's codepage as a number:
--         GetACP().  This encoding is used by Cygwin, unless the user has set
--         the environment variable CYGWIN=codepage:oem (which very few people
--         do).
--         Output directed to console windows needs to be converted (to
--         GetOEMCP() if the console is using a raster font, or to
--         GetConsoleOutputCP() if it is using a TrueType font).  Cygwin does
--         this conversion transparently (see winsup/cygwin/fhandler_console.cc),
--         converting to GetConsoleOutputCP().  This leads to correct results,
--         except when SetConsoleOutputCP has been called and a raster font is
--         in use.  */
--      sprintf (buf, "CP%u", GetACP ());
--      codeset = buf;
--    }
--#  endif
-+  /* Most systems support nl_langinfo (CODESET) nowadays.
-+     POSIX allows that the returned pointer may point to a static area that
-+     may be overwritten by subsequent calls to setlocale or nl_langinfo. */
-+  static char codeset_buf[64];
-+  codeset_buf[0] = '\0';
-+  codeset = strncat (codeset_buf, nl_langinfo (CODESET), sizeof (codeset_buf));
- 
- # else
-