diff --git a/pkgs/development/libraries/mimetic/default.nix b/pkgs/development/libraries/mimetic/default.nix index 06b6653f4e76..0147a2973053 100644 --- a/pkgs/development/libraries/mimetic/default.nix +++ b/pkgs/development/libraries/mimetic/default.nix @@ -11,6 +11,8 @@ stdenv.mkDerivation rec { buildInputs = [ cutee ]; + patches = stdenv.lib.optional stdenv.isAarch64 ./narrowing.patch; + meta = with stdenv.lib; { description = "MIME handling library"; homepage = "http://www.codesink.org/mimetic_mime_library.html"; diff --git a/pkgs/development/libraries/mimetic/narrowing.patch b/pkgs/development/libraries/mimetic/narrowing.patch new file mode 100644 index 000000000000..676e29376c7d --- /dev/null +++ b/pkgs/development/libraries/mimetic/narrowing.patch @@ -0,0 +1,32 @@ +diff -ru a/mimetic/codec/base64.cxx b/mimetic/codec/base64.cxx +--- a/mimetic/codec/base64.cxx 2014-06-17 10:12:00.000000000 +0200 ++++ b/mimetic/codec/base64.cxx 2020-07-30 20:54:10.212742011 +0200 +@@ -14,19 +14,19 @@ + "0123456789+/="; + + const char Base64::sDecTable[] = { +- -1,-1,-1,-1,-1,-1,-1,-1,-1,-1, +- -1,-1,-1,-1,-1,-1,-1,-1,-1,-1, +- -1,-1,-1,-1,-1,-1,-1,-1,-1,-1, +- -1,-1,-1,-1,-1,-1,-1,-1,-1,-1, +- -1,-1,-1,62,-1,-1,-1,63,52,53, +- 54,55,56,57,58,59,60,61,-1,-1, +- -1, eq_sign, -1,-1,-1, 0, 1, 2, 3, 4, ++ 255,255,255,255,255,255,255,255,255,255, ++ 255,255,255,255,255,255,255,255,255,255, ++ 255,255,255,255,255,255,255,255,255,255, ++ 255,255,255,255,255,255,255,255,255,255, ++ 255,255,255,62,255,255,255,63,52,53, ++ 54,55,56,57,58,59,60,61,255,255, ++ 255, eq_sign, 255,255,255, 0, 1, 2, 3, 4, + 5, 6, 7, 8, 9,10,11,12,13,14, + 15,16,17,18,19,20,21,22,23,24, +- 25,-1,-1,-1,-1,-1,-1,26,27,28, ++ 25,255,255,255,255,255,255,26,27,28, + 29,30,31,32,33,34,35,36,37,38, + 39,40,41,42,43,44,45,46,47,48, +- 49,50,51,-1 ++ 49,50,51,255 + }; + + const int Base64::sDecTableSz = sizeof(Base64::sDecTable) / sizeof(char);