diff options
6 files changed, 73 insertions, 0 deletions
diff --git a/devel/Makefile b/devel/Makefile
index 74f4e414e689..d6980bafa942 100644
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -6955,6 +6955,7 @@
SUBDIR += serdisplib
SUBDIR += sfml
SUBDIR += sfml1
+ SUBDIR += sfsexp
SUBDIR += sgb
SUBDIR += shapelib
SUBDIR += shards
diff --git a/devel/sfsexp/Makefile b/devel/sfsexp/Makefile
new file mode 100644
index 000000000000..51797a1fe810
--- /dev/null
+++ b/devel/sfsexp/Makefile
@@ -0,0 +1,26 @@
+PORTNAME= sfsexp
+DISTVERSION= 1.3.1-18
+MAINTAINER= jrm@FreeBSD.org
+COMMENT= Small Fast S-Expression Library
+USES= autoreconf libtool pkgconfig
+GH_ACCOUNT= mjsottile
+INSTALL_TARGET= install-strip
+ ${STAGEDIR}${PREFIX}/libdata/pkgconfig/
+.include <bsd.port.mk>
diff --git a/devel/sfsexp/distinfo b/devel/sfsexp/distinfo
new file mode 100644
index 000000000000..3e6396ce9036
--- /dev/null
+++ b/devel/sfsexp/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1635039746
+SHA256 (mjsottile-sfsexp-v1.3.1-18-gc11b849_GH0.tar.gz) = dd274a5f5d80c5c98a6955c3188dddd75c18bc57c22648b753dc572f1f59f2ec
+SIZE (mjsottile-sfsexp-v1.3.1-18-gc11b849_GH0.tar.gz) = 115544
diff --git a/devel/sfsexp/files/patch-sfsexp.pc.in b/devel/sfsexp/files/patch-sfsexp.pc.in
new file mode 100644
index 000000000000..a43486ffa992
--- /dev/null
+++ b/devel/sfsexp/files/patch-sfsexp.pc.in
@@ -0,0 +1,8 @@
+--- sfsexp.pc.in.orig 2021-10-24 02:04:26 UTC
++++ sfsexp.pc.in
+@@ -8,4 +8,4 @@ Description: small and fast s-expressions library
+ URL: https://github.com/mjsottile/sfsexp
+ Version: @VERSION@
+ Libs: -L@libdir@ -lsexp
+-Cflags: -I@includedir@/sfsexp
++Cflags: -I@includedir@
diff --git a/devel/sfsexp/pkg-descr b/devel/sfsexp/pkg-descr
new file mode 100644
index 000000000000..f5a802a81115
--- /dev/null
+++ b/devel/sfsexp/pkg-descr
@@ -0,0 +1,23 @@
+The sfsexp library is intended for developers who wish to manipulate
+(read, parse, modify, and create) symbolic expressions from C or C++
+programs. A symbolic expression, or s-expression, is essentially a
+LISP-like expression such as (a (b c)). S-expressions are able to
+represent complex, structured data without requiring additional
+meta-data describing the structure. They are recursively defined: an
+s-expression is a list of either atoms or s-expressions. In the example
+above, the expression contains an atom "a" and an s-expression, which in
+turn contains two atoms, "b" and "c". They are simple, useful, and well
+This library is designed to provide a minimal set of functions and data
+structures for the four functions listed above: reading s-expressions
+(I/O), parsing strings containing them into an AST equivalent, modifying
+the AST representation, and converting the AST back into a well
+formatted string. The primary goals are efficiency and simplicity. This
+library forms the basis of the data representation and transmission
+protocol for the Supermon high-speed cluster monitoring system from the
+LANL Advanced Computing Laboratory. The usefulness and lack of choice in
+available, open source s-expression libraries around 2003 motivated the
+independent (from supermon) release of this library.
+WWW: https://github.com/mjsottile/sfsexp
diff --git a/devel/sfsexp/pkg-plist b/devel/sfsexp/pkg-plist
new file mode 100644
index 000000000000..09ef656404ad
--- /dev/null
+++ b/devel/sfsexp/pkg-plist
@@ -0,0 +1,12 @@