diff options
author | Yury G. Kudryashov <urkud.urkud@gmail.com> | 2012-08-31 12:01:57 +0400 |
---|---|---|
committer | Yury G. Kudryashov <urkud.urkud@gmail.com> | 2012-08-31 12:03:25 +0400 |
commit | c5f9ee33259fd94ef81c672e50a2f69999cb9a29 (patch) | |
tree | 103385a4069afe15e2e993b8049c91a01c233cc8 | |
parent | 38d07f50183afbe49d1fcb953413c252807fd1b5 (diff) | |
download | nixpkgs-c5f9ee33259fd94ef81c672e50a2f69999cb9a29.tar nixpkgs-c5f9ee33259fd94ef81c672e50a2f69999cb9a29.tar.gz nixpkgs-c5f9ee33259fd94ef81c672e50a2f69999cb9a29.tar.bz2 nixpkgs-c5f9ee33259fd94ef81c672e50a2f69999cb9a29.tar.lz nixpkgs-c5f9ee33259fd94ef81c672e50a2f69999cb9a29.tar.xz nixpkgs-c5f9ee33259fd94ef81c672e50a2f69999cb9a29.tar.zst nixpkgs-c5f9ee33259fd94ef81c672e50a2f69999cb9a29.zip |
Add libexttextcat (part of LibreOffice)
-rw-r--r-- | pkgs/development/libraries/libexttextcat/default.nix | 18 | ||||
-rw-r--r-- | pkgs/development/libraries/libexttextcat/memory-leaks.patch | 37 | ||||
-rw-r--r-- | pkgs/top-level/all-packages.nix | 2 |
3 files changed, 57 insertions, 0 deletions
diff --git a/pkgs/development/libraries/libexttextcat/default.nix b/pkgs/development/libraries/libexttextcat/default.nix new file mode 100644 index 00000000000..a75fada7484 --- /dev/null +++ b/pkgs/development/libraries/libexttextcat/default.nix @@ -0,0 +1,18 @@ +{ stdenv, fetchurl }: + +stdenv.mkDerivation rec { + name = "libexttextcat-3.3.1"; + + src = fetchurl { + url = "http://dev-www.libreoffice.org/src/libexttextcat/${name}.tar.xz"; + sha256 = "1a7ablpipfbiyhl6wsraj5z8pj3qkqgnrms73wzsqhpbyww334h4"; + }; + + patches = [ ./memory-leaks.patch ]; + + meta = { + description = "An N-Gram-Based Text Categorization library primarily intended for language guessing"; + homepage = http://www.freedesktop.org/wiki/Software/libexttextcat; + platforms = stdenv.lib.platforms.all; + }; +} diff --git a/pkgs/development/libraries/libexttextcat/memory-leaks.patch b/pkgs/development/libraries/libexttextcat/memory-leaks.patch new file mode 100644 index 00000000000..0be4ffdc93a --- /dev/null +++ b/pkgs/development/libraries/libexttextcat/memory-leaks.patch @@ -0,0 +1,37 @@ +Combined upstream commits 980592386f23db8b0dc84c434805cb167d0cc091 and +5ef4ad86ec934282cba891922ec2d13784da3354. +diff -u b/src/textcat.c b/src/textcat.c +--- b/src/textcat.c ++++ b/src/textcat.c +@@ -212,8 +212,6 @@ + sizeof(char) * (tmp_size + 1)); + if (tmp == NULL) + { +- free(finger_print_file_name); +- finger_print_file_name_size = 0; + goto BAILOUT; + } + else +@@ -226,10 +224,7 @@ + strcat(finger_print_file_name, segment[0]); + + if (fp_Read(h->fprint[h->size], finger_print_file_name, 400) == 0) +- { +- textcat_Done(h); + goto BAILOUT; +- } + h->fprint_disable[h->size] = 0xF0; /* 0xF0 is the code for enabled + languages, 0x0F is for disabled + */ +@@ -242,9 +237,10 @@ + return h; + + BAILOUT: ++ free(finger_print_file_name); + fclose(fp); ++ textcat_Done(h); + return NULL; +- + } + + extern candidate_t *textcat_GetClassifyFullOutput(void *handle) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 7a0b578eb58..9bc56479723 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4097,6 +4097,8 @@ let libmpeg2 = mpeg2dec; }; + libexttextcat = callPackage ../development/libraries/libexttextcat {}; + libf2c = callPackage ../development/libraries/libf2c {}; libfixposix = callPackage ../development/libraries/libfixposix {}; |