Yet Another JSON Library. YAJL is a small event-driven (SAX-style)

JSON parser written in ANSI C, and a small validating JSON generator.
YAJL is released under the BSD license.

WWW:    http://lloyd.github.com/yajl/

PR:		ports/145178
Submitted by:	Bapt <baptiste.daroussin@gmail.com>
This commit is contained in:
Wen Heping 2010-03-30 02:26:01 +00:00
parent 477ff62ce0
commit 313ad2cb0f
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=251776
6 changed files with 120 additions and 0 deletions

View File

@ -3139,6 +3139,7 @@
SUBDIR += xwpe
SUBDIR += xxgdb
SUBDIR += xxl
SUBDIR += yajl
SUBDIR += yasm
SUBDIR += z80-asm
SUBDIR += z80asm

19
devel/yajl/Makefile Normal file
View File

@ -0,0 +1,19 @@
# New ports collection makefile for: yajl
# Date created: 2010-03-29
# Whom: Bapt <baptiste.daroussin@gmail.com>
#
# $FreeBSD$
#
PORTNAME= yajl
PORTVERSION= 1.0.9
CATEGORIES= devel
MASTER_SITES= http://cloud.github.com/downloads/lloyd/yajl/
MAINTAINER= baptiste.daroussin@gmail.com
COMMENT= A Portable JSON parsing and serialization library in ANSI C
USE_LDCONFIG= yes
USE_CMAKE= yes
.include <bsd.port.mk>

3
devel/yajl/distinfo Normal file
View File

@ -0,0 +1,3 @@
MD5 (yajl-1.0.9.tar.gz) = 8643ff2fef762029e51c86882a4d0fc6
SHA256 (yajl-1.0.9.tar.gz) = 690e3cf4f879aae623fc6b900665097132a77c504efc5260d36c085b93c84e9b
SIZE (yajl-1.0.9.tar.gz) = 53094

View File

@ -0,0 +1,82 @@
--- ./test/run_tests.sh.orig 2010-01-08 18:05:11.000000000 +0100
+++ ./test/run_tests.sh 2010-03-29 19:19:09.218500262 +0200
@@ -1,7 +1,7 @@
-#!/usr/bin/env bash
+#!/bin/sh
DIFF_FLAGS="-u"
-if [[ `uname` == *W32* ]] ; then
+if [ `uname` = "*W32*" ] ; then
DIFF_FLAGS="-wu"
fi
@@ -9,9 +9,9 @@
# particular test binary (useful for non-cmake build systems).
if [ -z "$testBin" ]; then
testBin="../build/test/Debug/yajl_test.exe"
- if [[ ! -x $testBin ]] ; then
+ if [ ! -x $testBin ] ; then
testBin="../build/test/yajl_test"
- if [[ ! -x $testBin ]] ; then
+ if [ ! -x $testBin ] ; then
echo "cannot execute test binary: '$testBin'"
exit 1;
fi
@@ -20,41 +20,44 @@
echo "using test binary: $testBin"
-let testsSucceeded=0
-let testsTotal=0
+testsSucceeded=0
+testsTotal=0
for file in cases/*.json ; do
allowComments="-c"
# if the filename starts with dc_, we disallow comments for this test
- if [[ $(basename $file) == dc_* ]] ; then
- allowComments=""
- fi
+ case $(basename $file) in
+ dc_*)
+ allowComments=""
+ ;;
+ esac
echo -n " test case: '$file': "
- let iter=1
+ iter=1
success="success"
+ echo "$testBin $allowComments -b $iter < $file > ${file}.test "
# parse with a read buffer size ranging from 1-31 to stress stream parsing
- while (( $iter < 32 )) && [ $success == "success" ] ; do
+ while [ $iter -lt 32 ] && [ $success = "success" ] ; do
$testBin $allowComments -b $iter < $file > ${file}.test 2>&1
diff ${DIFF_FLAGS} ${file}.gold ${file}.test
- if [[ $? == 0 ]] ; then
- if (( $iter == 31 )) ; then let testsSucceeded+=1 ; fi
+ if [ $? -eq 0 ] ; then
+ if [ $iter -eq 31 ] ; then : $(( testsSucceeded += 1)) ; fi
else
success="FAILURE"
- let iter=32
+ iter=32
fi
- let iter+=1
+ : $(( iter += 1 ))
rm ${file}.test
done
echo $success
- let testsTotal+=1
+ : $(( testsTotal += 1 ))
done
echo $testsSucceeded/$testsTotal tests successful
-if [[ $testsSucceeded != $testsTotal ]] ; then
+if [ $testsSucceeded != $testsTotal ] ; then
exit 1
fi

5
devel/yajl/pkg-descr Normal file
View File

@ -0,0 +1,5 @@
Yet Another JSON Library. YAJL is a small event-driven (SAX-style)
JSON parser written in ANSI C, and a small validating JSON generator.
YAJL is released under the BSD license.
WWW: http://lloyd.github.com/yajl/

10
devel/yajl/pkg-plist Normal file
View File

@ -0,0 +1,10 @@
bin/json_reformat
bin/json_verify
include/yajl/yajl_common.h
include/yajl/yajl_gen.h
include/yajl/yajl_parse.h
lib/libyajl.so
lib/libyajl.so.1
lib/libyajl.so.1.0.9
lib/libyajl_s.a
@dirrm include/yajl