aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Karatarakis <alex@karatarakis.com>2017-10-02 16:15:44 -0700
committerGitHub <noreply@github.com>2017-10-02 16:15:44 -0700
commitf58b91e8b494ef3a7e3c55bc70b0293cb54139db (patch)
tree643a0f010223f8fe08ff309a5ae63cc3919985fb
parent65bd58c282371e90dd0214f76ed828d716e6da83 (diff)
parentbb9265b676568723e60e978b98e1683a923a0ab2 (diff)
downloadvcpkg-f58b91e8b494ef3a7e3c55bc70b0293cb54139db.tar.gz
vcpkg-f58b91e8b494ef3a7e3c55bc70b0293cb54139db.zip
Merge pull request #1902 from Ghabry/add-wildmidi
Add Wildmidi 0.4.1
-rw-r--r--ports/wildmidi/0001-add-install-target.patch30
-rw-r--r--ports/wildmidi/0002-use-ansi.patch22
-rw-r--r--ports/wildmidi/CONTROL3
-rw-r--r--ports/wildmidi/portfile.cmake51
4 files changed, 106 insertions, 0 deletions
diff --git a/ports/wildmidi/0001-add-install-target.patch b/ports/wildmidi/0001-add-install-target.patch
new file mode 100644
index 000000000..8270cd9ea
--- /dev/null
+++ b/ports/wildmidi/0001-add-install-target.patch
@@ -0,0 +1,30 @@
+--- a/src/CMakeLists.txt 2017-10-02 14:06:57.163881000 +0000
++++ b/src/CMakeLists.txt 2017-10-02 14:08:52.815977600 +0000
+@@ -313,6 +313,27 @@
+ ENDIF (WIN32 AND CMAKE_COMPILER_IS_MINGW)
+
+ IF (WIN32 AND MSVC)
++ # install our libraries
++ IF (WANT_STATIC)
++ INSTALL(TARGETS libwildmidi_static DESTINATION ${WILDMIDILIB_INSTALLDIR})
++ IF (WANT_PLAYERSTATIC)
++ INSTALL(TARGETS wildmidi-static DESTINATION bin)
++ ENDIF ()
++ ENDIF (WANT_STATIC)
++
++ IF (BUILD_SHARED_LIBS)
++ INSTALL(TARGETS libwildmidi_dynamic
++ ARCHIVE DESTINATION ${WILDMIDILIB_INSTALLDIR}
++ LIBRARY DESTINATION ${WILDMIDILIB_INSTALLDIR}
++ RUNTIME DESTINATION ${WILDMIDIDLL_INSTALLDIR}
++ )
++ IF (WANT_PLAYER)
++ INSTALL(TARGETS wildmidi DESTINATION bin)
++ ENDIF ()
++ ENDIF ()
++
++ INSTALL(FILES ${CMAKE_SOURCE_DIR}/include/wildmidi_lib.h DESTINATION include)
++
+ IF (WANT_MP_BUILD)
+ SET(MT_BUILD "/MP")
+ ENDIF ()
diff --git a/ports/wildmidi/0002-use-ansi.patch b/ports/wildmidi/0002-use-ansi.patch
new file mode 100644
index 000000000..68acb7b34
--- /dev/null
+++ b/ports/wildmidi/0002-use-ansi.patch
@@ -0,0 +1,22 @@
+diff --git a/src/file_io.c b/src/file_io.c
+index 9db9759..7110e8b 100644
+--- a/src/file_io.c
++++ b/src/file_io.c
+@@ -118,7 +118,7 @@ void *_WM_BufferFile(const char *filename, uint32_t *size) {
+ #elif defined(_WIN32)
+ int buffer_fd;
+ HANDLE h;
+- WIN32_FIND_DATA wfd;
++ WIN32_FIND_DATAA wfd;
+ #elif defined(__OS2__) || defined(__EMX__)
+ int buffer_fd;
+ HDIR h = HDIR_CREATE;
+@@ -186,7 +186,7 @@ void *_WM_BufferFile(const char *filename, uint32_t *size) {
+ }
+ *size = f.ff_fsize;
+ #elif defined(_WIN32)
+- if ((h = FindFirstFile(buffer_file, &wfd)) == INVALID_HANDLE_VALUE) {
++ if ((h = FindFirstFileA(buffer_file, &wfd)) == INVALID_HANDLE_VALUE) {
+ _WM_GLOBAL_ERROR(__FUNCTION__, __LINE__, WM_ERR_STAT, filename, ENOENT);
+ free(buffer_file);
+ return NULL;
diff --git a/ports/wildmidi/CONTROL b/ports/wildmidi/CONTROL
new file mode 100644
index 000000000..116333ec1
--- /dev/null
+++ b/ports/wildmidi/CONTROL
@@ -0,0 +1,3 @@
+Source: wildmidi
+Version: 0.4.1
+Description: MIDI software synthesizer library.
diff --git a/ports/wildmidi/portfile.cmake b/ports/wildmidi/portfile.cmake
new file mode 100644
index 000000000..d82895de4
--- /dev/null
+++ b/ports/wildmidi/portfile.cmake
@@ -0,0 +1,51 @@
+include(vcpkg_common_functions)
+set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/wildmidi-wildmidi-0.4.1)
+vcpkg_download_distfile(ARCHIVE
+ URLS "https://github.com/Mindwerks/wildmidi/archive/wildmidi-0.4.1.zip"
+ FILENAME "wildmidi-0.4.1.zip"
+ SHA512 ebfbb16b57c0d39f1402f91df4dd205d80f5632f6afbe5fa99af6f06279582f0676bb247cd64ec472cdf272f6a1a2917827ed98f9cc24166aa41f050b9f7d396
+)
+vcpkg_extract_source_archive(${ARCHIVE})
+
+vcpkg_apply_patches(SOURCE_PATH ${SOURCE_PATH}
+ PATCHES
+ ${CMAKE_CURRENT_LIST_DIR}/0001-add-install-target.patch
+ ${CMAKE_CURRENT_LIST_DIR}/0002-use-ansi.patch
+)
+
+if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
+ set(BUILD_SHARED_LIBS "ON")
+ set(WANT_STATIC "OFF")
+else()
+ set(BUILD_SHARED_LIBS "OFF")
+ set(WANT_STATIC "ON")
+endif()
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS
+ -DMSVC=ON
+ -DWANT_PLAYER=OFF
+ -DWANT_STATIC=${WANT_STATIC}
+ -DBUILD_SHARED_LIBS=${BUILD_SHARED_LIBS}
+)
+
+vcpkg_install_cmake()
+vcpkg_copy_pdbs()
+
+# Rename library to get rid of _dynamic and _static suffix
+if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
+ file(RENAME ${CURRENT_PACKAGES_DIR}/lib/wildmidi_dynamic.lib ${CURRENT_PACKAGES_DIR}/lib/wildmidi.lib)
+ file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/wildmidi_dynamic.lib ${CURRENT_PACKAGES_DIR}/debug/lib/wildmidi.lib)
+ file(RENAME ${CURRENT_PACKAGES_DIR}/bin/wildmidi_dynamic.dll ${CURRENT_PACKAGES_DIR}/bin/wildmidi.dll)
+ file(RENAME ${CURRENT_PACKAGES_DIR}/debug/bin/wildmidi_dynamic.dll ${CURRENT_PACKAGES_DIR}/debug/bin/wildmidi.dll)
+else()
+ file(RENAME ${CURRENT_PACKAGES_DIR}/lib/wildmidi_static.lib ${CURRENT_PACKAGES_DIR}/lib/wildmidi.lib)
+ file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/wildmidi_static.lib ${CURRENT_PACKAGES_DIR}/debug/lib/wildmidi.lib)
+endif()
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+
+# Handle copyright
+file(INSTALL ${SOURCE_PATH}/docs/license/LGPLv3.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/wildmidi RENAME copyright)