summaryrefslogtreecommitdiff
path: root/libraries/tomlplusplus
diff options
context:
space:
mode:
authorMartin Bångens <marbangens@gmail.com>2022-07-08 05:12:22 +0100
committerWilly Sudiarto Raharjo <willysr@slackbuilds.org>2022-07-09 10:06:06 +0700
commit4823ea8a0017f44edec7068254c05c9057a3cd15 (patch)
treec309f46ff5c5fbbc6e4a2ccbe5092ea40cfae472 /libraries/tomlplusplus
parent8f59b07d5cc00785c671deb94b5c9e9a27699786 (diff)
downloadslackbuilds-4823ea8a0017f44edec7068254c05c9057a3cd15.tar.gz
libraries/tomlplusplus: Added (TOML config file parser & serializer)
Signed-off-by: Dave Woodfall <dave@slackbuilds.org> Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
Diffstat (limited to 'libraries/tomlplusplus')
-rw-r--r--libraries/tomlplusplus/README26
-rw-r--r--libraries/tomlplusplus/slack-desc19
-rw-r--r--libraries/tomlplusplus/tomlplusplus.SlackBuild100
-rw-r--r--libraries/tomlplusplus/tomlplusplus.info10
4 files changed, 155 insertions, 0 deletions
diff --git a/libraries/tomlplusplus/README b/libraries/tomlplusplus/README
new file mode 100644
index 0000000000..05bd1de314
--- /dev/null
+++ b/libraries/tomlplusplus/README
@@ -0,0 +1,26 @@
+toml++ is a Header-only TOML config file parser and serializer for
+C++17. TOML aims to be a minimal configuration file format that's easy
+to read due to obvious semantics. TOML is designed to map unambiguously
+to a hash table. TOML should be easy to parse into data structures in a
+wide variety of languages.
+
+Library features
+
+ * Header-only (optional!)
+ * Supports the latest TOML release (v1.0.0), plus optional support for
+ some unreleased TOML features
+ * Passes all tests in the toml-test suite
+ * Supports serializing to JSON and YAML
+ * Proper UTF-8 handling (incl. BOM)
+ * C++17 (plus some C++20 features where available, e.g. experimental
+ support for char8_t strings)
+ * Doesn't require RTTI
+ * Works with or without exceptions
+ * Tested on Clang (6+), GCC (7+) and MSVC (VS2019)
+ * Tested on x64, x86 and ARM
+
+POXY_DOCS=YES option will generate html development documentation
+but you need to install pyton3 program poxy with this command:
+pip install poxy # with root
+and build with this:
+POXY_DOCS=YES ./tomlplusplus.SlackBuild
diff --git a/libraries/tomlplusplus/slack-desc b/libraries/tomlplusplus/slack-desc
new file mode 100644
index 0000000000..cf01cbe335
--- /dev/null
+++ b/libraries/tomlplusplus/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+tomlplusplus: tomlplusplus (Header-only TOML config file parser and serializer)
+tomlplusplus:
+tomlplusplus: TOML is a file format for configuration files. It is intended to be
+tomlplusplus: easy to read and write due to obvious semantics which aim to be
+tomlplusplus: minimal, and is designed to map unambiguously to a dictionary.
+tomlplusplus:
+tomlplusplus: This is a modern library for C++17 plus with some C++20 features
+tomlplusplus: and supports serializing to JSON and YAM
+tomlplusplus:
+tomlplusplus:
+tomlplusplus:
diff --git a/libraries/tomlplusplus/tomlplusplus.SlackBuild b/libraries/tomlplusplus/tomlplusplus.SlackBuild
new file mode 100644
index 0000000000..b4bfc28dca
--- /dev/null
+++ b/libraries/tomlplusplus/tomlplusplus.SlackBuild
@@ -0,0 +1,100 @@
+#!/bin/bash
+
+# Slackware build script for tomlplusplus
+
+# Copyright 2022 Martin Bångens Sweden
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+cd $(dirname $0) ; CWD=$(pwd)
+
+PRGNAM=tomlplusplus
+VERSION=${VERSION:-3.0.1}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+PKGTYPE=${PKGTYPE:-tgz}
+
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i586 ;;
+ arm*) ARCH=arm ;;
+ *) ARCH=$( uname -m ) ;;
+ esac
+fi
+
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE"
+ exit 0
+fi
+
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+set -e
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf $PRGNAM-$VERSION
+tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
+cd $PRGNAM-$VERSION
+chown -R root:root .
+find -L . \
+ \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
+ -o -perm 511 \) -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
+ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+
+# We don't build the tests for this one, because of a header problem
+# -Dbuild_tests=true
+meson setup \
+ build \
+ --prefix=/usr \
+ --buildtype=plain \
+ --auto-features=enabled \
+ --wrap-mode=nodownload \
+ -Db_lto=false \
+ -Db_pie=true
+
+# ninja -C build
+meson install -C build --destdir $PKG
+
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+# You can use this to generate docs
+# https://github.com/marzer/poxy
+# it's a local copy of https://marzer.github.io/tomlplusplus/
+#
+if [[ $POXY_DOCS == "YES" ]]; then
+ python3 -m poxy docs/poxy.toml
+ cp -a html $PKG/usr/doc/$PRGNAM-$VERSION
+ find -L html \
+ \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
+ -o -perm 511 \) -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
+ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+fi
+cp LICENSE README.md CHANGELOG.md $PKG/usr/doc/$PRGNAM-$VERSION
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE
diff --git a/libraries/tomlplusplus/tomlplusplus.info b/libraries/tomlplusplus/tomlplusplus.info
new file mode 100644
index 0000000000..67af7cb727
--- /dev/null
+++ b/libraries/tomlplusplus/tomlplusplus.info
@@ -0,0 +1,10 @@
+PRGNAM="tomlplusplus"
+VERSION="3.0.1"
+HOMEPAGE="https://marzer.github.io/tomlplusplus/"
+DOWNLOAD="https://github.com/marzer/tomlplusplus/archive/v3.0.1/tomlplusplus-3.0.1.tar.gz"
+MD5SUM="cb20c01fb297032f5232249fb1b180fb"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+REQUIRES=""
+MAINTAINER="Martin Bångens"
+EMAIL="marbangens@gmail.com"