commit a339ee1efef9da2e2808311ba489f12c2e01fd43 Author: CentOS Sources Date: Wed Dec 16 12:29:14 2020 +0000 import yajl-2.1.0-10.el8 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..8b27383 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/yajl-2.1.0.tar.gz diff --git a/.yajl.metadata b/.yajl.metadata new file mode 100644 index 0000000..f1d4fee --- /dev/null +++ b/.yajl.metadata @@ -0,0 +1 @@ +29ce2b9695ae93e1b0b349a22cea8067f25a9025 SOURCES/yajl-2.1.0.tar.gz diff --git a/SOURCES/yajl-2.1.0-dynlink-binaries.patch b/SOURCES/yajl-2.1.0-dynlink-binaries.patch new file mode 100644 index 0000000..fa53913 --- /dev/null +++ b/SOURCES/yajl-2.1.0-dynlink-binaries.patch @@ -0,0 +1,28 @@ +diff -rup yajl-2.1.0.orig/reformatter/CMakeLists.txt yajl-2.1.0.new/reformatter/CMakeLists.txt +--- yajl-2.1.0.orig/reformatter/CMakeLists.txt 2014-03-19 04:58:29.000000000 +0000 ++++ yajl-2.1.0.new/reformatter/CMakeLists.txt 2014-04-28 11:36:11.909478329 +0100 +@@ -26,7 +26,7 @@ LINK_DIRECTORIES(${CMAKE_CURRENT_BINARY_ + + ADD_EXECUTABLE(json_reformat ${SRCS}) + +-TARGET_LINK_LIBRARIES(json_reformat yajl_s) ++TARGET_LINK_LIBRARIES(json_reformat yajl) + + # In some environments, we must explicitly link libm (like qnx, + # thanks @shahbag) +Only in yajl-2.1.0.new/reformatter: CMakeLists.txt.orig +Only in yajl-2.1.0.new/src: CMakeLists.txt~ +Only in yajl-2.1.0.new/test/api: run_tests.sh~ +Only in yajl-2.1.0.new/test/parsing: run_tests.sh~ +diff -rup yajl-2.1.0.orig/verify/CMakeLists.txt yajl-2.1.0.new/verify/CMakeLists.txt +--- yajl-2.1.0.orig/verify/CMakeLists.txt 2014-03-19 04:58:29.000000000 +0000 ++++ yajl-2.1.0.new/verify/CMakeLists.txt 2014-04-28 11:36:11.909478329 +0100 +@@ -26,7 +26,7 @@ LINK_DIRECTORIES(${CMAKE_CURRENT_BINARY_ + + ADD_EXECUTABLE(json_verify ${SRCS}) + +-TARGET_LINK_LIBRARIES(json_verify yajl_s) ++TARGET_LINK_LIBRARIES(json_verify yajl) + + # copy in the binary + GET_TARGET_PROPERTY(binPath json_verify LOCATION) diff --git a/SOURCES/yajl-2.1.0-pkgconfig-includedir.patch b/SOURCES/yajl-2.1.0-pkgconfig-includedir.patch new file mode 100644 index 0000000..ba134f0 --- /dev/null +++ b/SOURCES/yajl-2.1.0-pkgconfig-includedir.patch @@ -0,0 +1,11 @@ +diff -rup yajl-2.1.0.orig/src/yajl.pc.cmake yajl-2.1.0.new/src/yajl.pc.cmake +--- yajl-2.1.0.orig/src/yajl.pc.cmake 2014-03-19 04:58:29.000000000 +0000 ++++ yajl-2.1.0.new/src/yajl.pc.cmake 2014-04-28 11:12:23.505791003 +0100 +@@ -1,6 +1,6 @@ + prefix=${CMAKE_INSTALL_PREFIX} + libdir=${dollar}{prefix}/lib${LIB_SUFFIX} +-includedir=${dollar}{prefix}/include/yajl ++includedir=${dollar}{prefix}/include + + Name: Yet Another JSON Library + Description: A Portable JSON parsing and serialization library in ANSI C diff --git a/SOURCES/yajl-2.1.0-pkgconfig-location.patch b/SOURCES/yajl-2.1.0-pkgconfig-location.patch new file mode 100644 index 0000000..757a9cc --- /dev/null +++ b/SOURCES/yajl-2.1.0-pkgconfig-location.patch @@ -0,0 +1,27 @@ +diff -rup yajl-2.1.0.orig/src/CMakeLists.txt yajl-2.1.0.new/src/CMakeLists.txt +--- yajl-2.1.0.orig/src/CMakeLists.txt 2014-03-19 04:58:29.000000000 +0000 ++++ yajl-2.1.0.new/src/CMakeLists.txt 2014-04-28 11:19:28.431492533 +0100 +@@ -30,7 +30,7 @@ ADD_DEFINITIONS(-DYAJL_BUILD) + # set up some paths + SET (libDir ${CMAKE_CURRENT_BINARY_DIR}/../${YAJL_DIST_NAME}/lib) + SET (incDir ${CMAKE_CURRENT_BINARY_DIR}/../${YAJL_DIST_NAME}/include/yajl) +-SET (shareDir ${CMAKE_CURRENT_BINARY_DIR}/../${YAJL_DIST_NAME}/share/pkgconfig) ++SET (pkgconfigDir ${CMAKE_CURRENT_BINARY_DIR}/../${YAJL_DIST_NAME}/lib/pkgconfig) + + # set the output path for libraries + SET(LIBRARY_OUTPUT_PATH ${libDir}) +@@ -61,7 +61,7 @@ FILE(MAKE_DIRECTORY ${incDir}) + # generate build-time source + SET(dollar $) + CONFIGURE_FILE(api/yajl_version.h.cmake ${incDir}/yajl_version.h) +-CONFIGURE_FILE(yajl.pc.cmake ${shareDir}/yajl.pc) ++CONFIGURE_FILE(yajl.pc.cmake ${pkgconfigDir}/yajl.pc) + + # copy public headers to output directory + FOREACH (header ${PUB_HDRS}) +@@ -84,4 +84,4 @@ INSTALL(TARGETS yajl + INSTALL(TARGETS yajl_s ARCHIVE DESTINATION lib${LIB_SUFFIX}) + INSTALL(FILES ${PUB_HDRS} DESTINATION include/yajl) + INSTALL(FILES ${incDir}/yajl_version.h DESTINATION include/yajl) +-INSTALL(FILES ${shareDir}/yajl.pc DESTINATION share/pkgconfig) ++INSTALL(FILES ${pkgconfigDir}/yajl.pc DESTINATION lib${LIB_SUFFIX}/pkgconfig) diff --git a/SOURCES/yajl-2.1.0-test-location.patch b/SOURCES/yajl-2.1.0-test-location.patch new file mode 100644 index 0000000..04f5aee --- /dev/null +++ b/SOURCES/yajl-2.1.0-test-location.patch @@ -0,0 +1,30 @@ +diff -rup yajl-2.1.0.orig/test/api/run_tests.sh yajl-2.1.0.new/test/api/run_tests.sh +--- yajl-2.1.0.orig/test/api/run_tests.sh 2014-03-19 04:58:29.000000000 +0000 ++++ yajl-2.1.0.new/test/api/run_tests.sh 2014-04-28 11:27:26.006405320 +0100 +@@ -5,7 +5,7 @@ echo Running api tests: + tests=0 + passed=0 + +-for file in `ls`; do ++for file in `ls ../../build/test/api`; do + [ ! -x $file -o -d $file ] && continue + tests=`expr 1 + $tests` + printf " test(%s): " $file +diff -rup yajl-2.1.0.orig/test/parsing/run_tests.sh yajl-2.1.0.new/test/parsing/run_tests.sh +--- yajl-2.1.0.orig/test/parsing/run_tests.sh 2014-03-19 04:58:29.000000000 +0000 ++++ yajl-2.1.0.new/test/parsing/run_tests.sh 2014-04-28 11:25:51.239025722 +0100 +@@ -16,11 +16,11 @@ fi + # find test binary on both platforms. allow the caller to force a + # particular test binary (useful for non-cmake build systems). + if [ -z "$testBin" ]; then +- testBin="../build/test/parsing/Release/yajl_test.exe" ++ testBin="../../build/test/parsing/Release/yajl_test.exe" + if [ ! -x $testBin ] ; then +- testBin="../build/test/parsing/Debug/yajl_test.exe" ++ testBin="../../build/test/parsing/Debug/yajl_test.exe" + if [ ! -x $testBin ] ; then +- testBin="../build/test/parsing/yajl_test" ++ testBin="../../build/test/parsing/yajl_test" + if [ ! -x $testBin ] ; then + ${ECHO} "cannot execute test binary: '$testBin'" + exit 1; diff --git a/SPECS/yajl.spec b/SPECS/yajl.spec new file mode 100644 index 0000000..17386ac --- /dev/null +++ b/SPECS/yajl.spec @@ -0,0 +1,161 @@ +Name: yajl +Version: 2.1.0 +Release: 10%{?dist} +Summary: Yet Another JSON Library (YAJL) + +Group: Development/Libraries +License: ISC +URL: http://lloyd.github.com/yajl/ + +# +# NB, upstream does not provide pre-built tar.gz downloads. Instead +# they make you use the 'on the fly' generated tar.gz from GITHub's +# web interface +# +# The Source0 for any version is obtained by a URL +# +# https://github.com/lloyd/yajl/releases/tag/2.1.0 +# +Source0: %{name}-%{version}.tar.gz +Patch1: %{name}-%{version}-pkgconfig-location.patch +Patch2: %{name}-%{version}-pkgconfig-includedir.patch +Patch3: %{name}-%{version}-test-location.patch +Patch4: %{name}-%{version}-dynlink-binaries.patch + +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) +BuildRequires: cmake + +%package devel +Summary: Libraries, includes, etc to develop with YAJL +Requires: %{name} = %{version}-%{release} + +%description +Yet Another JSON Library. YAJL is a small event-driven +(SAX-style) JSON parser written in ANSI C, and a small +validating JSON generator. + +%description devel +Yet Another JSON Library. YAJL is a small event-driven +(SAX-style) JSON parser written in ANSI C, and a small +validating JSON generator. + +This sub-package provides the libraries and includes +necessary for developing against the YAJL library + +%prep +%setup -q +%patch1 -p1 +%patch2 -p1 +%patch3 -p1 +%patch4 -p1 + +%build +# NB, we are not using upstream's 'configure'/'make' +# wrapper, instead we use cmake directly to better +# align with Fedora standards +mkdir build +cd build +%cmake .. +make VERBOSE=1 %{?_smp_mflags} + + +%install +rm -rf $RPM_BUILD_ROOT +cd build +make install DESTDIR=$RPM_BUILD_ROOT + + +# No static libraries +rm -f $RPM_BUILD_ROOT%{_libdir}/libyajl_s.a + + +%check +cd test +(cd parsing && ./run_tests.sh) +(cd api && ./run_tests.sh) + +%ldconfig_scriptlets + +%files +%license COPYING +%doc ChangeLog README TODO +%{_bindir}/json_reformat +%{_bindir}/json_verify +%{_libdir}/libyajl.so.2 +%{_libdir}/libyajl.so.2.* + +%files devel +%dir %{_includedir}/yajl +%{_includedir}/yajl/yajl_common.h +%{_includedir}/yajl/yajl_gen.h +%{_includedir}/yajl/yajl_parse.h +%{_includedir}/yajl/yajl_tree.h +%{_includedir}/yajl/yajl_version.h +%{_libdir}/libyajl.so +%{_libdir}/pkgconfig/yajl.pc + + +%changelog +* Fri Feb 09 2018 Fedora Release Engineering - 2.1.0-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Sat Feb 03 2018 Igor Gnatenko - 2.1.0-9 +- Switch to %%ldconfig_scriptlets + +* Thu Aug 03 2017 Fedora Release Engineering - 2.1.0-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Thu Jul 27 2017 Fedora Release Engineering - 2.1.0-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Sat Feb 11 2017 Fedora Release Engineering - 2.1.0-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Fri Feb 05 2016 Fedora Release Engineering - 2.1.0-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Fri Jun 19 2015 Fedora Release Engineering - 2.1.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Mon Aug 18 2014 Fedora Release Engineering - 2.1.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Sat Jun 07 2014 Fedora Release Engineering - 2.1.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Mon Apr 28 2014 Daniel P. Berrange - 2.1.0-1 +- Update to 2.1.0 release (rhbz #1080935) + +* Sun Aug 04 2013 Fedora Release Engineering - 2.0.4-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Fri Feb 15 2013 Fedora Release Engineering - 2.0.4-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Mon Aug 6 2012 Daniel P. Berrange - 2.0.4-1 +- Update to 2.0.4 release (rhbz #845777) +- Fix License tag to reflect change in 2.0.0 series from BSD to ISC + +* Sun Jul 22 2012 Fedora Release Engineering - 2.0.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Sat Jan 14 2012 Fedora Release Engineering - 2.0.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Thu Nov 10 2011 Daniel P. Berrange - 2.0.1-1 +- Update to 2.0.1 release + +* Tue May 3 2011 Daniel P. Berrange - 1.0.12-1 +- Update to 1.0.12 release + +* Fri Dec 17 2010 Daniel P. Berrange - 1.0.11-1 +- Update to 1.0.11 release + +* Mon Jan 11 2010 Daniel P. Berrange - 1.0.7-3 +- Fix ignoring of cflags (rhbz #547500) + +* Tue Dec 8 2009 Daniel P. Berrange - 1.0.7-2 +- Change use of 'define' to 'global' + +* Mon Dec 7 2009 Daniel P. Berrange - 1.0.7-1 +- Initial Fedora package