aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Schumacher <roschuma@microsoft.com>2017-07-28 17:17:03 -0700
committerGitHub <noreply@github.com>2017-07-28 17:17:03 -0700
commite4cab1750a110fcebf5d21c99d9db888f34c0656 (patch)
treeda42358ed7f1b2c654ccd3b432646e34842de29f
parent31b9162e8003e1fc5a1d5f471e0e061989282096 (diff)
parentf650be847cce20aebf40031a45c57043d43f5562 (diff)
downloadvcpkg-e4cab1750a110fcebf5d21c99d9db888f34c0656.tar.gz
vcpkg-e4cab1750a110fcebf5d21c99d9db888f34c0656.zip
Merge pull request #1523 from Mixaill/hunspell
[hunspell] add version 1.6.1
-rw-r--r--ports/hunspell/0001_fix_unistd.patch78
-rw-r--r--ports/hunspell/CMakeLists.txt151
-rw-r--r--ports/hunspell/CONTROL3
-rw-r--r--ports/hunspell/config.h.in35
-rw-r--r--ports/hunspell/portfile.cmake52
5 files changed, 319 insertions, 0 deletions
diff --git a/ports/hunspell/0001_fix_unistd.patch b/ports/hunspell/0001_fix_unistd.patch
new file mode 100644
index 000000000..79a48d824
--- /dev/null
+++ b/ports/hunspell/0001_fix_unistd.patch
@@ -0,0 +1,78 @@
+From 9f33c841afe51be517eaea318d46985c596c94ff Mon Sep 17 00:00:00 2001
+From: Mikhail Paulyshka <me@mixaill.tk>
+Date: Tue, 25 Jul 2017 01:58:39 +0300
+Subject: [PATCH] tools/hzip: fix build with MSVC
+
+---
+ src/tools/hzip.cxx | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/src/tools/hzip.cxx b/src/tools/hzip.cxx
+index ef1864f..d284c64 100644
+--- a/src/tools/hzip.cxx
++++ b/src/tools/hzip.cxx
+@@ -41,7 +41,9 @@
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
++#ifdef HAVE_UNISTD_H
+ #include <unistd.h>
++#endif /* HAVE_UNISTD_H */
+ #include <string>
+ #include <sys/stat.h>
+
+--
+2.12.2.windows.2
+
+From 840f920bcd370668b9e788b3c8272eca1f20ce3a Mon Sep 17 00:00:00 2001
+From: Mikhail Paulyshka <me@mixaill.tk>
+Date: Tue, 25 Jul 2017 01:55:13 +0300
+Subject: [PATCH] tools/unmunch: fix build with MSVC
+
+---
+ src/tools/unmunch.cxx | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/src/tools/unmunch.cxx b/src/tools/unmunch.cxx
+index 44b4cb1..2144370 100644
+--- a/src/tools/unmunch.cxx
++++ b/src/tools/unmunch.cxx
+@@ -42,7 +42,9 @@
+ #include <ctype.h>
+ #include <string.h>
+ #include <string>
++#ifdef HAVE_UNISTD_H
+ #include <unistd.h>
++#endif /* HAVE_UNISTD_H */
+ #include <stdlib.h>
+ #include <stdint.h>
+ #include <stdio.h>
+--
+2.12.2.windows.2
+
+From 1c231aa84624082a0fa52d59be8c449bfe1fadd1 Mon Sep 17 00:00:00 2001
+From: Mikhail Paulyshka <me@mixaill.tk>
+Date: Tue, 25 Jul 2017 01:50:21 +0300
+Subject: [PATCH] tools/munch: fix build with MSVC
+
+Include <unistd.h> only if exists
+---
+ src/tools/munch.cxx | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/src/tools/munch.cxx b/src/tools/munch.cxx
+index 17fc6fd..8503abe 100644
+--- a/src/tools/munch.cxx
++++ b/src/tools/munch.cxx
+@@ -40,7 +40,9 @@
+ #include <ctype.h>
+ #include <string.h>
+ #include <string>
++#ifdef HAVE_UNISTD_H
+ #include <unistd.h>
++#endif /* HAVE_UNISTD_H */
+ #include <stdlib.h>
+ #include <stdint.h>
+ #include <stdio.h>
+--
+2.12.2.windows.2
diff --git a/ports/hunspell/CMakeLists.txt b/ports/hunspell/CMakeLists.txt
new file mode 100644
index 000000000..c04e0e37c
--- /dev/null
+++ b/ports/hunspell/CMakeLists.txt
@@ -0,0 +1,151 @@
+cmake_minimum_required(VERSION 3.0)
+project(hunspell)
+
+#get hunspell version
+file(STRINGS "configure.ac" CONFIGURE_AC_INIT REGEX "AC_INIT\\(\\[hunspell\\],\\[.*\\].*" )
+string(REGEX REPLACE "AC_INIT\\(\\[.*\\],\\[([0-9]+\\.[0-9]+\\.[0-9]+)\\].*" "\\1" VERSION ${CONFIGURE_AC_INIT})
+message(STATUS "Hunspell version: ${VERSION}")
+
+option(BUILD_SHARED_LIBS "Build shared libs" OFF)
+option(ENABLE_NLS "Define if translation of program messages to the user's native language is requested" OFF)
+option(HUNSPELL_WARNING_ON "Define if you need warning messages" OFF)
+
+if(NOT BUILD_SHARED_LIBS)
+ add_definitions(-DHUNSPELL_STATIC)
+endif()
+
+if(MSVC)
+ add_definitions(-D_CRT_SECURE_NO_WARNINGS)
+endif()
+
+include_directories("src/hunspell")
+include_directories("src/parsers")
+
+#libhunspell
+set(LIBHUNSPELL_SRCS
+ src/hunspell/affentry.cxx
+ src/hunspell/affixmgr.cxx
+ src/hunspell/csutil.cxx
+ src/hunspell/hashmgr.cxx
+ src/hunspell/hunspell.cxx
+ src/hunspell/suggestmgr.cxx
+ src/hunspell/phonet.cxx
+ src/hunspell/filemgr.cxx
+ src/hunspell/hunzip.cxx
+ src/hunspell/replist.cxx
+ src/hunspell/affentry.hxx
+ src/hunspell/htypes.hxx
+ src/hunspell/affixmgr.hxx
+ src/hunspell/csutil.hxx
+ src/hunspell/atypes.hxx
+ src/hunspell/suggestmgr.hxx
+ src/hunspell/baseaffix.hxx
+ src/hunspell/hashmgr.hxx
+ src/hunspell/langnum.hxx
+ src/hunspell/phonet.hxx
+ src/hunspell/filemgr.hxx
+ src/hunspell/hunzip.hxx
+ src/hunspell/replist.hxx
+)
+
+set(LIBHUNSPELL_HDRS
+ src/hunspell/hunspell.hxx
+ src/hunspell/hunspell.h
+ src/hunspell/hunvisapi.h
+ src/hunspell/w_char.hxx
+ src/hunspell/atypes.hxx
+ src/hunspell/csutil.hxx
+ src/hunspell/htypes.hxx
+)
+
+#hunspell/libhunspell
+add_library(libhunspell ${LIBHUNSPELL_HDRS} ${LIBHUNSPELL_SRCS})
+target_compile_definitions(libhunspell PRIVATE -DBUILDING_LIBHUNSPELL)
+
+#parsers/libparsers
+set(LIBPARSERS_SRCS
+ src/parsers/firstparser.cxx
+ src/parsers/xmlparser.cxx
+ src/parsers/latexparser.cxx
+ src/parsers/manparser.cxx
+ src/parsers/textparser.cxx
+ src/parsers/htmlparser.cxx
+ src/parsers/odfparser.cxx
+)
+add_library(libparsers OBJECT ${LIBPARSERS_SRCS})
+
+#parsers/testparser
+set(TESTPARSER_SRCS
+ src/parsers/firstparser.cxx
+ src/parsers/firstparser.hxx
+ src/parsers/xmlparser.cxx
+ src/parsers/xmlparser.hxx
+ src/parsers/latexparser.cxx
+ src/parsers/latexparser.hxx
+ src/parsers/manparser.cxx
+ src/parsers/manparser.hxx
+ src/parsers/testparser.cxx
+ src/parsers/textparser.cxx
+ src/parsers/textparser.hxx
+ src/parsers/htmlparser.cxx
+ src/parsers/htmlparser.hxx
+ src/parsers/odfparser.hxx
+ src/parsers/odfparser.cxx
+)
+
+add_executable(testparser ${TESTPARSER_SRCS})
+target_link_libraries(testparser libhunspell)
+
+#tools/analyze
+add_executable(analyze "src/tools/analyze.cxx")
+target_link_libraries(analyze libhunspell)
+
+#tools/chmorph
+add_executable(chmorph "src/tools/chmorph.cxx" $<TARGET_OBJECTS:libparsers>)
+target_link_libraries(chmorph libhunspell)
+
+#tools/hunspell
+include(CheckIncludeFile)
+check_include_file("curses.h" HAVE_CURSES_H)
+check_include_file("langinfo.h" HAVE_LANGINFO_CODESET)
+check_include_file("libintl.h" HAVE_LIBINTL_H)
+check_include_file("locale.h" HAVE_LOCALE_H)
+check_include_file("ncursesw/curses.h" HAVE_NCURSESW_H)
+check_include_file("unistd.h" HAVE_UNISTD_H)
+configure_file("config.h.in" "config.h")
+
+add_executable(hunspell "src/tools/hunspell.cxx" $<TARGET_OBJECTS:libparsers>)
+target_include_directories(hunspell PRIVATE "${CMAKE_CURRENT_BINARY_DIR}")
+target_link_libraries(hunspell libhunspell)
+
+#tools/munch
+add_executable(munch "src/tools/munch.cxx")
+
+#tools/unmunch
+add_executable(unmunch "src/tools/unmunch.cxx")
+
+#tools/hzip
+#add_executable(hzip "src/tools/hzip.cxx")
+#target_link_libraries(hzip libhunspell)
+
+#tools/hunzip
+add_executable(hunzip "src/tools/hunzip.cxx")
+target_link_libraries(hunzip libhunspell)
+
+install(
+TARGETS
+ libhunspell
+ hunspell
+ testparser
+ analyze
+ chmorph
+ munch
+ unmunch
+# hzip
+ hunzip
+ARCHIVE DESTINATION lib
+LIBRARY DESTINATION lib
+RUNTIME DESTINATION bin
+)
+
+install(FILES ${LIBHUNSPELL_HDRS} DESTINATION "include/hunspell/")
diff --git a/ports/hunspell/CONTROL b/ports/hunspell/CONTROL
new file mode 100644
index 000000000..ec7979e35
--- /dev/null
+++ b/ports/hunspell/CONTROL
@@ -0,0 +1,3 @@
+Source: hunspell
+Version: 1.6.1-1
+Description: The most popular spellchecking library.
diff --git a/ports/hunspell/config.h.in b/ports/hunspell/config.h.in
new file mode 100644
index 000000000..c659d1c52
--- /dev/null
+++ b/ports/hunspell/config.h.in
@@ -0,0 +1,35 @@
+
+/* Define to 1 if translation of program messages to the user's native language is requested. */
+#cmakedefine ENABLE_NLS 1
+
+/* "Define if you have the <curses.h> header" */
+#cmakedefine HAVE_CURSES_H 1
+
+/* Define if you have the iconv() function. */
+#cmakedefine HAVE_ICONV 1
+
+/* Define if you have <langinfo.h> and nl_langinfo(CODESET). */
+#cmakedefine HAVE_LANGINFO_CODESET 1
+
+/* Define to 1 if you have the <libintl.h> header file. */
+#cmakedefine HAVE_LIBINTL_H 1
+
+/* Define to 1 if you have the <locale.h> header file. */
+#cmakedefine HAVE_LOCALE_H 1
+
+/* "Define if you have the <ncursesw/curses.h> header" */
+#cmakedefine HAVE_NCURSESW_H 1
+
+/* "Define if you have fancy command input editing with Readline" */
+#cmakedefine HAVE_READLINE 1
+
+/* Define to 1 if you have the <unistd.h> header file. */
+#cmakedefine HAVE_UNISTD_H 1
+
+/* Define if you need warning messages */
+#cmakedefine HUNSPELL_WARNING_ON 1
+
+/* Define as const if the declaration of iconv() needs const. */
+#cmakedefine ICONV_CONST const
+
+#cmakedefine VERSION "@VERSION@" \ No newline at end of file
diff --git a/ports/hunspell/portfile.cmake b/ports/hunspell/portfile.cmake
new file mode 100644
index 000000000..7d632563c
--- /dev/null
+++ b/ports/hunspell/portfile.cmake
@@ -0,0 +1,52 @@
+include(vcpkg_common_functions)
+set(HUNSPELL_VERSION 1.6.1)
+set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/hunspell-${HUNSPELL_VERSION})
+
+vcpkg_download_distfile(ARCHIVE
+ URLS "https://github.com/hunspell/hunspell/archive/v${HUNSPELL_VERSION}.zip"
+ FILENAME "hunspell-${HUNSPELL_VERSION}.zip"
+ SHA512 164eb1ae9ff9f4d8efe8998fa3ad847bf5a0c1a87113acc52dcdb3aaddb4e9179274585623bd7152f9a82b803bd42ce24fe856ac8d49121214bef59ac1c7753c
+)
+vcpkg_extract_source_archive(${ARCHIVE})
+
+vcpkg_apply_patches(
+ SOURCE_PATH ${SOURCE_PATH}
+ PATCHES
+ ${CMAKE_CURRENT_LIST_DIR}/0001_fix_unistd.patch
+)
+
+file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
+file(COPY ${CMAKE_CURRENT_LIST_DIR}/config.h.in DESTINATION ${SOURCE_PATH})
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+)
+
+vcpkg_build_cmake()
+vcpkg_install_cmake()
+vcpkg_copy_pdbs()
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+
+file(GLOB_RECURSE TOOLS_RELEASE ${CURRENT_PACKAGES_DIR}/bin/*.exe)
+file(GLOB_RECURSE TOOLS_DEBUG ${CURRENT_PACKAGES_DIR}/debug/bin/*.exe)
+
+file(COPY ${TOOLS_RELEASE} DESTINATION ${CURRENT_PACKAGES_DIR}/tools/${PORT})
+vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/${PORT})
+
+file(REMOVE ${TOOLS_RELEASE} ${TOOLS_DEBUG})
+
+if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
+ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin)
+endif()
+
+file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/hunspell)
+file(RENAME ${CURRENT_PACKAGES_DIR}/share/hunspell/COPYING ${CURRENT_PACKAGES_DIR}/share/hunspell/copyright)
+
+file(COPY ${SOURCE_PATH}/COPYING.LESSER DESTINATION ${CURRENT_PACKAGES_DIR}/share/hunspell)
+file(RENAME ${CURRENT_PACKAGES_DIR}/share/hunspell/COPYING.LESSER ${CURRENT_PACKAGES_DIR}/share/hunspell/copyright-lgpl)
+
+file(COPY ${SOURCE_PATH}/COPYING.MPL DESTINATION ${CURRENT_PACKAGES_DIR}/share/hunspell)
+file(RENAME ${CURRENT_PACKAGES_DIR}/share/hunspell/COPYING.MPL ${CURRENT_PACKAGES_DIR}/share/hunspell/copyright-mpl)
+