summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorFranz Pletz <fpletz@fnordicwalking.de>2016-01-22 17:34:48 +0100
committerFranz Pletz <fpletz@fnordicwalking.de>2016-01-22 17:34:48 +0100
commit0d13b930474d518929b396f9e94fa0d61bba6716 (patch)
tree4d5ba2413dfbcd551a40a9f7940b6020075749d5 /pkgs
parent400499aeb45e907cde738833e4c6104f98183d5d (diff)
parentb5c2587698fbe11b1a8224439fe206cda0e9c111 (diff)
downloadnixlib-0d13b930474d518929b396f9e94fa0d61bba6716.tar
nixlib-0d13b930474d518929b396f9e94fa0d61bba6716.tar.gz
nixlib-0d13b930474d518929b396f9e94fa0d61bba6716.tar.bz2
nixlib-0d13b930474d518929b396f9e94fa0d61bba6716.tar.lz
nixlib-0d13b930474d518929b396f9e94fa0d61bba6716.tar.xz
nixlib-0d13b930474d518929b396f9e94fa0d61bba6716.tar.zst
nixlib-0d13b930474d518929b396f9e94fa0d61bba6716.zip
Merge pull request #12496 from exi/id3lib-patch
add id3lib easytag patch for proper unicode handling.
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/development/libraries/id3lib/default.nix5
-rw-r--r--pkgs/development/libraries/id3lib/patch_id3lib_3.8.3_UTF16_writing_bug.diff39
2 files changed, 43 insertions, 1 deletions
diff --git a/pkgs/development/libraries/id3lib/default.nix b/pkgs/development/libraries/id3lib/default.nix
index 0ea1e96947ea..9f880e3ea9f7 100644
--- a/pkgs/development/libraries/id3lib/default.nix
+++ b/pkgs/development/libraries/id3lib/default.nix
@@ -3,7 +3,10 @@
 stdenv.mkDerivation {
   name = "id3lib-3.8.3";
 
-  patches = [ ./id3lib-3.8.3-gcc43-1.patch ];
+  patches = [
+    ./id3lib-3.8.3-gcc43-1.patch
+    ./patch_id3lib_3.8.3_UTF16_writing_bug.diff
+  ];
 
   buildInputs = [ zlib ];
   
diff --git a/pkgs/development/libraries/id3lib/patch_id3lib_3.8.3_UTF16_writing_bug.diff b/pkgs/development/libraries/id3lib/patch_id3lib_3.8.3_UTF16_writing_bug.diff
new file mode 100644
index 000000000000..b05d2cf298d3
--- /dev/null
+++ b/pkgs/development/libraries/id3lib/patch_id3lib_3.8.3_UTF16_writing_bug.diff
@@ -0,0 +1,39 @@
+diff -ruN id3lib-3.8.3.orig/ChangeLog id3lib-3.8.3/ChangeLog
+--- id3lib-3.8.3.orig/ChangeLog	2003-03-02 01:23:00.000000000 +0100
++++ id3lib-3.8.3/ChangeLog	2006-02-22 00:33:59.946214472 +0100
+@@ -1,3 +1,8 @@
++2006-02-17  Jerome Couderc
++
++    * Patch from Spoon to fix UTF-16 writing bug
++      http://sourceforge.net/tracker/index.php?func=detail&aid=1016290&group_id=979&atid=300979
++
+ 2003-03-02 Sunday 17:38   Thijmen Klok <thijmen@id3lib.org>
+ 
+ 	* THANKS (1.20): added more people 
+diff -ruN id3lib-3.8.3.orig/src/io_helpers.cpp id3lib-3.8.3/src/io_helpers.cpp
+--- id3lib-3.8.3.orig/src/io_helpers.cpp	2003-03-02 01:23:00.000000000 +0100
++++ id3lib-3.8.3/src/io_helpers.cpp	2006-02-22 00:35:02.926639992 +0100
+@@ -363,11 +363,22 @@
+     // Write the BOM: 0xFEFF
+     unicode_t BOM = 0xFEFF;
+     writer.writeChars((const unsigned char*) &BOM, 2);
++    // Patch from Spoon : 2004-08-25 14:17
++    //   http://sourceforge.net/tracker/index.php?func=detail&aid=1016290&group_id=979&atid=300979
++    // Wrong code
++    //for (size_t i = 0; i < size; i += 2)
++    //{
++    //  unicode_t ch = (data[i] << 8) | data[i+1];
++    //  writer.writeChars((const unsigned char*) &ch, 2);
++    //}
++    // Right code
++    unsigned char *pdata = (unsigned char *) data.c_str();
+     for (size_t i = 0; i < size; i += 2)
+     {
+-      unicode_t ch = (data[i] << 8) | data[i+1];
++      unicode_t ch = (pdata[i] << 8) | pdata[i+1];
+       writer.writeChars((const unsigned char*) &ch, 2);
+     }
++    // End patch
+   }
+   return writer.getCur() - beg;
+ }