diff --git a/mingw-w64-yajl/01-fix-compiler.patch b/mingw-w64-yajl/01-fix-compiler.patch new file mode 100644 index 0000000000..18e95d7ff6 --- /dev/null +++ b/mingw-w64-yajl/01-fix-compiler.patch @@ -0,0 +1,30 @@ +diff -ruN yajl-2.1.0-orig/CMakeLists.txt yajl-2.1.0/CMakeLists.txt +--- yajl-2.1.0-orig/CMakeLists.txt 2014-03-19 04:58:29.000000000 +0100 ++++ yajl-2.1.0/CMakeLists.txt 2016-06-15 11:39:01.048338100 +0200 +@@ -28,7 +28,7 @@ + + SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}") + +-IF (WIN32) ++IF (MSVC) + SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /W4") + ADD_DEFINITIONS(-DWIN32) + SET(linkFlags "/PDB:NONE /INCREMENTAL:NO /OPT:NOREF /OPT:NOICF") +@@ -46,7 +46,7 @@ + SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /wd4996 /wd4255 /wd4130 /wd4100 /wd4711") + SET(CMAKE_C_FLAGS_DEBUG "/D DEBUG /Od /Z7") + SET(CMAKE_C_FLAGS_RELEASE "/D NDEBUG /O2") +-ELSE (WIN32) ++ELSE (MSVC) + SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall") + IF(CMAKE_COMPILER_IS_GNUCC) + INCLUDE(CheckCCompilerFlag) +@@ -60,7 +60,7 @@ + + SET(CMAKE_C_FLAGS_DEBUG "-DDEBUG -g") + SET(CMAKE_C_FLAGS_RELEASE "-DNDEBUG -O2 -Wuninitialized") +-ENDIF (WIN32) ++ENDIF (MSVC) + + + ADD_SUBDIRECTORY(src) diff --git a/mingw-w64-yajl/02-fix-tests.patch b/mingw-w64-yajl/02-fix-tests.patch new file mode 100644 index 0000000000..728b1fcabe --- /dev/null +++ b/mingw-w64-yajl/02-fix-tests.patch @@ -0,0 +1,29 @@ +diff -ruN yajl-2.1.0-orig/test/parsing/run_tests.sh yajl-2.1.0/test/parsing/run_tests.sh +--- yajl-2.1.0-orig/test/parsing/run_tests.sh 2014-03-19 04:58:29 +0000 ++++ yajl-2.1.0/test/parsing/run_tests.sh 2016-11-04 10:05:47 +0000 +@@ -68,7 +68,7 @@ + # parse with a read buffer size ranging from 1-31 to stress stream parsing + while [ $iter -lt 32 ] && [ $success = "SUCCESS" ] ; do + $testBin $allowPartials $allowComments $allowGarbage $allowMultiple -b $iter < $file > ${file}.test 2>&1 +- diff ${DIFF_FLAGS} ${file}.gold ${file}.test > ${file}.out ++ diff -a ${DIFF_FLAGS} ${file}.gold ${file}.test > ${file}.out + if [ $? -eq 0 ] ; then + if [ $iter -eq 31 ] ; then testsSucceeded=$(( $testsSucceeded + 1 )) ; fi + else + +diff -ruN yajl-2.1.0-orig/test/parsing/cases/doubles_in_array.json.gold yajl-2.1.0/test/parsing/cases/doubles_in_array.json.gold +--- yajl-2.1.0-orig/test/parsing/cases/doubles_in_array.json.gold 2014-03-19 04:58:29 +0000 ++++ yajl-2.1.0/test/parsing/cases/doubles_in_array.json.gold 2016-11-04 09:52:17 +0000 +@@ -1,8 +1,8 @@ + array open '[' + double: 0.00012 +-double: 6e-06 +-double: 6e-06 +-double: 1e-06 +-double: 1e-06 ++double: 6e-006 ++double: 6e-006 ++double: 1e-006 ++double: 1e-006 + array close ']' + memory leaks: 0 diff --git a/mingw-w64-yajl/PKGBUILD b/mingw-w64-yajl/PKGBUILD new file mode 100644 index 0000000000..ec23ee1498 --- /dev/null +++ b/mingw-w64-yajl/PKGBUILD @@ -0,0 +1,60 @@ +# Contributor: Tobias Smolka +_realname=yajl +pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" +pkgver=2.1.0 +pkgrel=1 +pkgdesc='Yet Another JSON Library.' +arch=('any') +url='http://lloyd.github.com/yajl/' +license=('ISC') +source=( + "$_realname-$pkgver.tar.gz::https://github.com/lloyd/$_realname/archive/$pkgver.tar.gz" + '01-fix-compiler.patch' + '02-fix-tests.patch' +) +sha256sums=( + '3fb73364a5a30efe615046d07e6db9d09fd2b41c763c5f7d3bfb121cd5c5ac5a' + 'fa629191df14f32d54cc03999e9913ed2afa83c032249f9399ee93d87380b49a' + '2345c74a3a005f4bb5a9ff49bc0700d41672b742eea0775a3637f164118f9195' +) +makedepends=( + "make" + "patch" + "${MINGW_PACKAGE_PREFIX}-gcc" + "${MINGW_PACKAGE_PREFIX}-cmake" + "${MINGW_PACKAGE_PREFIX}-diffutils" +) +prepare() { + cd "${srcdir}/${_realname}-${pkgver}" + + patch -p1 -i "${srcdir}/01-fix-compiler.patch" + patch -p1 -i "${srcdir}/02-fix-tests.patch" +} +build() { + mkdir -p "${srcdir}/build-${CARCH}" + cd "${srcdir}/build-${CARCH}" + + MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \ + ${MINGW_PREFIX}/bin/cmake \ + -G"MSYS Makefiles" \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \ + ../${_realname}-${pkgver} + + make +} +check() { + cd "${srcdir}/build-${CARCH}" + + make test + PATH="$PATH:${srcdir}/build-${CARCH}/${_realname}-${pkgver}/lib" make test-api +} +package() { + cd "${srcdir}/build-${CARCH}" + + make DESTDIR=${pkgdir} install + mv ${pkgdir}${MINGW_PREFIX}/lib/*.dll ${pkgdir}${MINGW_PREFIX}/bin/ + + install -Dm644 "../${_realname}-${pkgver}/COPYING" \ + "${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}/LICENSE" +}