meta.yaml.template 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. {% set version = "58.2" %}
  2. {% set version_under = version.replace(".", "_") %}
  3. package:
  4. name: icu
  5. version: {{ version }}
  6. source:
  7. fn: icu4c-{{ version_under }}-src.tgz
  8. url:
  9. # Sources for this version are no longer available from the ICU site, so
  10. # use the official SourceForge prior releases mirror.
  11. - https://sourceforge.net/projects/icu/files/ICU4C/{{ version }}/icu4c-{{ version_under }}-src.tgz/download
  12. - http://download.icu-project.org/files/icu4c/{{ version }}/icu4c-{{ version_under }}-src.tgz
  13. sha256: 2b0a4410153a9b20de0e20c7d8b66049a72aef244b53683d0d7521371683da0c
  14. patches:
  15. # Include an extra header when using mingw.
  16. - icu4c-4_9_1-mingw-w64-mkdir-compatibility.patch # [win]
  17. # Omit lib prefix on libraries.
  18. - icu-config.patch # [win]
  19. # Fixes a high severity integer/buffer overflow vulnerability
  20. - CVE-2020-10531.patch
  21. # Fix high severity out-bound-write/buffer overflow vulnerabilities
  22. - CVE-2017-7867_CVE-2017-7868.patch
  23. # Fixes critical severity double free/arbitrary code execution vulnerability
  24. - CVE-2017-14952.patch
  25. # Fixes medium severity stack buffer overflow/heap corruption vulnerability
  26. - CVE-2017-15396.patch
  27. # Fixes medium severity integer overflow vulnerability
  28. - CVE-2017-15422.patch
  29. build:
  30. number: 3
  31. run_exports:
  32. # icu changes their file extension with each major rev. Default pin OK.
  33. - {{ pin_subpackage('icu') }}
  34. requirements:
  35. build:
  36. - {{ compiler('c') }}
  37. - {{ compiler('cxx') }}
  38. - make # [unix]
  39. - m2-base # [win]
  40. - m2-make # [win]
  41. test:
  42. files:
  43. # From http://source.icu-project.org/repos/icu/data/trunk/charset/data/ucm/gb-18030-2000.ucm
  44. - gb-18030-2000.ucm
  45. # From ICU's data folder.
  46. - de.txt
  47. commands:
  48. # Libraries
  49. {% set libs = [
  50. "libicudata",
  51. "libicui18n",
  52. "libicuio",
  53. "libicutest",
  54. "libicutu",
  55. "libicuuc"
  56. ] %}
  57. {% for each_lib in libs %}
  58. - test -f $PREFIX/lib/{{ each_lib }}.a # [not win]
  59. - test -f $PREFIX/lib/{{ each_lib }}.{{ version }}.dylib # [osx]
  60. - test -f $PREFIX/lib/{{ each_lib }}.so.{{ version }} # [linux]
  61. {% endfor %}
  62. # CLI tests
  63. - genbrk --help
  64. - gencfu --help
  65. - gencnval --help
  66. - gendict --help
  67. - icuinfo --help
  68. - icu-config --help # [not win]
  69. - makeconv gb-18030-2000.ucm
  70. - conda inspect linkages -p $PREFIX icu # [not win]
  71. - conda inspect objects -p $PREFIX icu # [osx]
  72. about:
  73. home: http://site.icu-project.org/
  74. license: MIT
  75. summary: 'International Components for Unicode.'
  76. description: |
  77. ICU is a mature, widely used set of C/C++ and Java libraries providing
  78. Unicode and Globalization support for software applications. ICU is
  79. widely portable and gives applications the same results on all platforms
  80. and between C/C++ and Java software.
  81. doc_url: http://site.icu-project.org/design
  82. dev_url: http://source.icu-project.org/repos/icu/
  83. extra:
  84. recipe-maintainers:
  85. - ccordoba12
  86. - jakirkham
  87. - msarahan
  88. - ocefpaf
  89. - chenghlee