summary refs log tree commit diff
path: root/pkgs/development/libraries/icu/base.nix
diff options
context:
space:
mode:
authortaku0 <mxxouy6x3m_github@tatapa.org>2017-10-06 23:28:28 +0900
committertaku0 <mxxouy6x3m_github@tatapa.org>2017-10-06 23:28:28 +0900
commit821e3c294ff20c6a82e93f7c2d30c52386b625f8 (patch)
tree6eff68f202852db93f4e1da082d25a50659bd29c /pkgs/development/libraries/icu/base.nix
parentddfcc15bb8a68548c807fbfe7eb80618311d446d (diff)
downloadnixpkgs-821e3c294ff20c6a82e93f7c2d30c52386b625f8.tar
nixpkgs-821e3c294ff20c6a82e93f7c2d30c52386b625f8.tar.gz
nixpkgs-821e3c294ff20c6a82e93f7c2d30c52386b625f8.tar.bz2
nixpkgs-821e3c294ff20c6a82e93f7c2d30c52386b625f8.tar.lz
nixpkgs-821e3c294ff20c6a82e93f7c2d30c52386b625f8.tar.xz
nixpkgs-821e3c294ff20c6a82e93f7c2d30c52386b625f8.tar.zst
nixpkgs-821e3c294ff20c6a82e93f7c2d30c52386b625f8.zip
icu: make 58.2 coexists with 59.1
Diffstat (limited to 'pkgs/development/libraries/icu/base.nix')
-rw-r--r--pkgs/development/libraries/icu/base.nix55
1 files changed, 55 insertions, 0 deletions
diff --git a/pkgs/development/libraries/icu/base.nix b/pkgs/development/libraries/icu/base.nix
new file mode 100644
index 00000000000..78e0c574044
--- /dev/null
+++ b/pkgs/development/libraries/icu/base.nix
@@ -0,0 +1,55 @@
+{ version, sha256, patches ? [], patchFlags ? "" }:
+{ stdenv, fetchurl, fetchpatch, fixDarwinDylibNames }:
+
+let
+  pname = "icu4c";
+in
+stdenv.mkDerivation {
+  name = pname + "-" + version;
+
+  src = fetchurl {
+    url = "http://download.icu-project.org/files/${pname}/${version}/${pname}-"
+      + (stdenv.lib.replaceChars ["."] ["_"] version) + "-src.tgz";
+    inherit sha256;
+  };
+
+  outputs = [ "out" "dev" ];
+  outputBin = "dev";
+
+  # FIXME: This fixes dylib references in the dylibs themselves, but
+  # not in the programs in $out/bin.
+  buildInputs = stdenv.lib.optional stdenv.isDarwin fixDarwinDylibNames;
+
+  postUnpack = ''
+    sourceRoot=''${sourceRoot}/source
+    echo Source root reset to ''${sourceRoot}
+  '';
+
+  inherit patchFlags patches;
+
+  preConfigure = ''
+    sed -i -e "s|/bin/sh|${stdenv.shell}|" configure
+  '' + stdenv.lib.optionalString stdenv.isArm ''
+    # From https://archlinuxarm.org/packages/armv7h/icu/files/icudata-stdlibs.patch
+    sed -e 's/LDFLAGSICUDT=-nodefaultlibs -nostdlib/LDFLAGSICUDT=/' -i config/mh-linux
+  '';
+
+  configureFlags = "--disable-debug" +
+    stdenv.lib.optionalString (stdenv.isFreeBSD || stdenv.isDarwin) " --enable-rpath";
+
+  # remove dependency on bootstrap-tools in early stdenv build
+  postInstall = stdenv.lib.optionalString stdenv.isDarwin ''
+    sed -i 's/INSTALL_CMD=.*install/INSTALL_CMD=install/' $out/lib/icu/${version}/pkgdata.inc
+  '';
+
+  postFixup = ''moveToOutput lib/icu "$dev" '';
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    description = "Unicode and globalization support library";
+    homepage = http://site.icu-project.org/;
+    maintainers = with maintainers; [ raskin ];
+    platforms = platforms.all;
+  };
+}