Skip to Content.
Sympa Menu

sm-commit - [SM-Commit] GIT changes to master grimoire by Vlad Glagolev (981418e443b2f60bac56f0937ac1081b8ff9ec0f)

sm-commit AT lists.ibiblio.org

Subject: Source Mage code commit list

List archive

Chronological Thread  
  • From: Vlad Glagolev <scm AT sourcemage.org>
  • To: sm-commit AT lists.ibiblio.org
  • Subject: [SM-Commit] GIT changes to master grimoire by Vlad Glagolev (981418e443b2f60bac56f0937ac1081b8ff9ec0f)
  • Date: Sat, 23 Jul 2022 16:18:10 +0000

GIT changes to master grimoire by Vlad Glagolev <stealth AT sourcemage.org>:

ChangeLog | 7 ++++
MESON_DEPENDS | 9 +++--
MESON_FUNCTIONS | 68
++++++++++++++++++++++++++++++---------------
devel/muon/BUILD | 43 ++++++++++++++++++++++++++++
devel/muon/CONFIGURE | 13 ++++++++
devel/muon/DEPENDS | 33 +++++++++++++++++++++
devel/muon/DETAILS | 21 +++++++++++++
devel/muon/HISTORY | 3 +
devel/muon/INSTALL | 1
devel/muon/PREPARE | 1
devel/muon/PRE_BUILD | 12 +++++++
devel/muon/PROVIDES | 1
devel/muon/gcc46.patch | 31 ++++++++++++++++++++
devel/pkgconf/CONFIGURE | 1
devel/pkgconf/CONFLICTS | 3 +
devel/pkgconf/DETAILS | 19 ++++++++++++
devel/pkgconf/HISTORY | 3 +
devel/pkgconf/INSTALL | 15 +++++++++
devel/pkgconf/PRE_BUILD | 4 ++
devel/pkgconf/PROVIDES | 1
devel/pkgconfig/CONFLICTS | 5 +++
devel/pkgconfig/HISTORY | 4 ++
devel/pkgconfig/PROVIDES | 1
python-pypi/meson/HISTORY | 3 +
python-pypi/meson/PROVIDES | 1
25 files changed, 278 insertions(+), 25 deletions(-)

New commits:
commit 981418e443b2f60bac56f0937ac1081b8ff9ec0f
Author: Vlad Glagolev <stealth AT sourcemage.org>
Commit: Vlad Glagolev <stealth AT sourcemage.org>

MESON_DEPENDS, MESON_FUNCTIONS: add muon support

commit cec2a6ddf70e39928c8acd4e0c4f3f2082701a97
Author: Vlad Glagolev <stealth AT sourcemage.org>
Commit: Vlad Glagolev <stealth AT sourcemage.org>

meson: provides MESON-BUILD

commit 2666e2afe92661ef9027f8cea7df3ecf751eab51
Author: Vlad Glagolev <stealth AT sourcemage.org>
Commit: Vlad Glagolev <stealth AT sourcemage.org>

muon: new spell, meson implementation in C

commit 330333f574f2732a98136105b861d83e36d77d80
Author: Vlad Glagolev <stealth AT sourcemage.org>
Commit: Vlad Glagolev <stealth AT sourcemage.org>

pkgconf: new spell, package compiler and linker metadata toolkit

commit c6f8817a6868d1dcd39b02eea2feb12a9a89096d
Author: Vlad Glagolev <stealth AT sourcemage.org>
Commit: Vlad Glagolev <stealth AT sourcemage.org>

pkgconfig: conflicts with/provides pkgconfig func

diff --git a/ChangeLog b/ChangeLog
index 4a7b322..d68d518 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2022-07-23 Vlad Glagolev <stealth AT sourcemage.org>
+ * devel/muon: new spell, meson implementation in C
+ * MESON_DEPENDS, MESON_FUNCTIONS: add muon support
+
+2022-07-22 Vlad Glagolev <stealth AT sourcemage.org>
+ * devel/pkgconf: new spell, package compiler and linker metadata
toolkit
+
2022-07-21 Vlad Glagolev <stealth AT sourcemage.org>
* utils/sexpect: new spell, Expect for shells
* utils/passh: new spell, interactive keyboard password authentication
diff --git a/MESON_DEPENDS b/MESON_DEPENDS
index 795fcb9..e1747f6 100755
--- a/MESON_DEPENDS
+++ b/MESON_DEPENDS
@@ -1,3 +1,6 @@
-depends meson &&
-depends NINJA-BUILD &&
-depends python3
+depends MESON-BUILD &&
+
+# prefer embed samurai if available
+if [[ $(get_spell_provider ${SPELL} MESON-BUILD) != muon ]] || muon version
| grep -vq "^enabled features:.*samurai"; then
+ depends NINJA-BUILD
+fi
diff --git a/MESON_FUNCTIONS b/MESON_FUNCTIONS
index 352ed83..ba1da14 100755
--- a/MESON_FUNCTIONS
+++ b/MESON_FUNCTIONS
@@ -1,34 +1,58 @@
-# special functions for projects shich use meson build system
-PREFIX=${PREFIX:-/usr}
+# special functions for projects which use meson build system
+
+local PREFIX=${PREFIX:-/usr}
+
meson_build () {
- MESON_BUILD_TYPE="${MESON_BUILD_TYPE:-release}"
-# export LANG=$LC_ALL
- cd $SOURCE_DIRECTORY
-# do not put / before PREFIX
- SCRIPT="meson --prefix ${INSTALL_ROOT}$PREFIX --buildtype
${MESON_BUILD_TYPE} \
- --default-library shared --libdir lib"
- for LL in $OPTS; do
- SCRIPT+=" -D$LL"
- done
- SCRIPT+=" . builddir/"
- $SCRIPT &&
-
- if is_depends_enabled "$SPELL" ninja-build-system; then
- local NINJA=ninja
+ local MESON_BUILD_TYPE="${MESON_BUILD_TYPE:-release}" &&
+
+ local MESON_BUILD &&
+ local MESON_OPTS &&
+ local BUILDER &&
+ local BUILDER_OPTS="-j ${MAKE_NJOBS} -C builddir/" &&
+
+ if [[ $(get_spell_provider ${SPELL} MESON-BUILD) == muon ]]; then
+ MESON_BUILD="muon setup" &&
+ MESON_OPTS="prefix=${INSTALL_ROOT}${PREFIX}
buildtype=${MESON_BUILD_TYPE} default-library=shared libdir=lib"
+ else
+ MESON_BUILD="meson"
+ MESON_OPTS="--prefix ${INSTALL_ROOT}${PREFIX} --buildtype
${MESON_BUILD_TYPE} --default-library shared --libdir lib"
+ fi &&
+
+ if ! is_depends_enabled ${SPELL} $(get_spell_provider ${SPELL}
NINJA-BUILD); then
+ BUILDER="muon samu"
+ elif [[ $(get_spell_provider ${SPELL} NINJA-BUILD) == samurai ]]; then
+ BUILDER="samu"
+ else
+ BUILDER="ninja"
fi &&
- ${NINJA:-samu} -j "$MAKE_NJOBS" -C builddir/
+
+ for MO in $OPTS; do
+ MESON_OPTS+=" -D${MO}"
+ done &&
+
+ cd "${SOURCE_DIRECTORY}" &&
+
+ ${MESON_BUILD} ${MESON_OPTS} builddir/ &&
+
+ ${BUILDER} ${BUILDER_OPTS}
}

meson_install () {
- cd $SOURCE_DIRECTORY
- if is_depends_enabled "$SPELL" ninja-build-system; then
- local NINJA=ninja
+ if ! is_depends_enabled ${SPELL} $(get_spell_provider ${SPELL}
NINJA-BUILD); then
+ BUILDER="muon samu"
+ elif [[ $(get_spell_provider ${SPELL} NINJA-BUILD) == samurai ]]; then
+ BUILDER="samu"
+ else
+ BUILDER="ninja"
fi &&
- ${NINJA:-samu} -C builddir/ install
+
+ cd "${SOURCE_DIRECTORY}" &&
+
+ ${BUILDER} ${BUILDER_OPTS} install
}

default_build() {
- meson_build
+ meson_build
}

default_install() {
diff --git a/devel/muon/BUILD b/devel/muon/BUILD
new file mode 100755
index 0000000..45b8361
--- /dev/null
+++ b/devel/muon/BUILD
@@ -0,0 +1,43 @@
+local BUILDER &&
+local BUILDER_OPTS="-j ${MAKE_NJOBS} -C build" &&
+
+if [[ $(get_spell_provider ${SPELL} NINJA-BUILD) == samurai ]]; then
+ BUILDER="samu"
+else
+ BUILDER="ninja"
+fi &&
+
+OPTS="${MUON_OPTS} ${OPTS} prefix=${INSTALL_ROOT}/usr buildtype=release" &&
+
+# postpone until stage 3
+if list_find "${OPTS}" "samurai=enabled"; then
+ list_remove OPTS "samurai=enabled" &&
+
+ local EMBED_SAMURAI="samurai=enabled"
+fi &&
+
+# stage 1
+CC=cc ./bootstrap.sh build &&
+
+# stage 2
+local MUON_SETUP="build/muon setup" &&
+local MUON_SETUP_OPTS &&
+
+for MO in $OPTS; do
+ MUON_SETUP_OPTS+=" -D${MO}"
+done &&
+
+${MUON_SETUP} ${MUON_SETUP_OPTS} build &&
+
+${BUILDER} ${BUILDER_OPTS} &&
+
+# stage3 (optional)
+if [ -n "${EMBED_SAMURAI}" ]; then
+ MUON_SETUP_OPTS+=" -D${EMBED_SAMURAI}" &&
+
+ list_add OPTS "${EMBED_SAMURAI}" &&
+
+ ${MUON_SETUP} ${MUON_SETUP_OPTS} build &&
+
+ ${BUILDER} ${BUILDER_OPTS}
+fi
diff --git a/devel/muon/CONFIGURE b/devel/muon/CONFIGURE
new file mode 100755
index 0000000..a6efe9f
--- /dev/null
+++ b/devel/muon/CONFIGURE
@@ -0,0 +1,13 @@
+config_query_option MUON_OPTS "Embed samurai into the muon executable?" n \
+ "samurai=enabled" \
+ "samurai=disabled" &&
+
+config_query_option MUON_OPTS "Add readline support via bestline?" y \
+ "bestline=enabled" \
+ "bestline=disabled" &&
+
+config_query_option MUON_OPTS "Build a static muon executable?" n \
+ "static=true" \
+ "static=false" &&
+
+config_query MUON_MESON_REFERENCE "Build meson-reference.3 manual page?" n
diff --git a/devel/muon/DEPENDS b/devel/muon/DEPENDS
new file mode 100755
index 0000000..3664457
--- /dev/null
+++ b/devel/muon/DEPENDS
@@ -0,0 +1,33 @@
+depends NINJA-BUILD &&
+
+optional_depends pkgconf \
+ "libpkgconf=enabled" \
+ "libpkgconf=disabled" \
+ "for dependency discovery with pkg-config files" &&
+
+if ! is_depends_enabled ${SPELL} pkgconf; then
+ depends pkgconfig "libpkgconf=disabled"
+fi &&
+
+if [[ ${MUON_MESON_REFERENCE} == y ]]; then
+ depends curl "libcurl=enabled" &&
+ depends libarchive "libarchive=enabled" &&
+ depends scdoc "docs=enabled" &&
+ depends python3 &&
+ depends pyyaml
+else
+ optional_depends curl \
+ "libcurl=enabled" \
+ "libcurl=disabled" \
+ "for fetching wraps" &&
+
+ optional_depends libarchive \
+ "libarchive=enabled" \
+ "libarchive=disabled" \
+ "for extracting wrap archives" &&
+
+ optional_depends scdoc \
+ "docs=enabled" \
+ "docs=disabled" \
+ "to build documentation"
+fi
diff --git a/devel/muon/DETAILS b/devel/muon/DETAILS
new file mode 100755
index 0000000..4ce436c
--- /dev/null
+++ b/devel/muon/DETAILS
@@ -0,0 +1,21 @@
+ SPELL=muon
+ if [[ $MUON_AUTOUPDATE == y ]]; then
+ VERSION=$(date +%Y%m%d)
+ else
+ VERSION=scm
+ fi
+ SOURCE=${SPELL}-scm.tar.bz2
+ SOURCE_URL[0]=git_http://git.sr.ht/~lattis/muon
+ SOURCE_IGNORE=volatile
+ FORCE_DOWNLOAD=on
+SOURCE_DIRECTORY="${BUILD_DIRECTORY}/${SPELL}-${VERSION}"
+ DOC_DIRS=""
+ WEB_SITE=https://muon.build/
+ LICENSE[0]=GPL
+ ENTERED=20220723
+ KEYWORDS="meson"
+ SHORT="meson implementation in C"
+cat << EOF
+muon is an implementation of the meson build system in c99 with minimal
+dependencies.
+EOF
diff --git a/devel/muon/HISTORY b/devel/muon/HISTORY
new file mode 100644
index 0000000..8e48d4a
--- /dev/null
+++ b/devel/muon/HISTORY
@@ -0,0 +1,3 @@
+2022-07-22 Vlad Glagolev <stealth AT sourcemage.org>
+ * DETAILS, DEPENDS, {PRE_,}BUILD, INSTALL, CONFIGURE, PREPARE,
+ PROVIDES, gcc46.patch: created spell, version scm
diff --git a/devel/muon/INSTALL b/devel/muon/INSTALL
new file mode 100755
index 0000000..ec0e7bb
--- /dev/null
+++ b/devel/muon/INSTALL
@@ -0,0 +1 @@
+build/muon -C build install
diff --git a/devel/muon/PREPARE b/devel/muon/PREPARE
new file mode 100755
index 0000000..821625a
--- /dev/null
+++ b/devel/muon/PREPARE
@@ -0,0 +1 @@
+config_query MUON_AUTOUPDATE "Update on every system update?" n
diff --git a/devel/muon/PRE_BUILD b/devel/muon/PRE_BUILD
new file mode 100755
index 0000000..fec398f
--- /dev/null
+++ b/devel/muon/PRE_BUILD
@@ -0,0 +1,12 @@
+. "$GRIMOIRE/FUNCTIONS" &&
+
+default_pre_build &&
+cd "${SOURCE_DIRECTORY}" &&
+
+if spell_ok gcc && is_version_less $(installed_version gcc) 4.7; then
+ patch -p0 < "${SPELL_DIRECTORY}/gcc46.patch"
+fi &&
+
+if [[ ${MUON_MESON_REFERENCE} == n ]]; then
+ rm -f subprojects/meson-docs.wrap
+fi
diff --git a/devel/muon/PROVIDES b/devel/muon/PROVIDES
new file mode 100644
index 0000000..2196bc5
--- /dev/null
+++ b/devel/muon/PROVIDES
@@ -0,0 +1 @@
+MESON-BUILD
diff --git a/devel/muon/gcc46.patch b/devel/muon/gcc46.patch
new file mode 100644
index 0000000..bba82a8
--- /dev/null
+++ b/devel/muon/gcc46.patch
@@ -0,0 +1,31 @@
+--- src/compilers.c.orig 2022-07-22 20:08:24.000000000 -0700
++++ src/compilers.c 2022-07-22 21:07:09.847285953 -0700
+@@ -446,7 +446,7 @@
+ argv[0] = "-O3";
+ break;
+ case compiler_optimization_lvl_g:
+- argv[0] = "-Og";
++ argv[0] = "";
+ break;
+ case compiler_optimization_lvl_s:
+ argv[0] = "-Os";
+@@ -465,7 +465,7 @@
+
+ switch ((enum compiler_warning_lvl)lvl) {
+ case compiler_warning_lvl_3:
+- argv[args.len] = "-Wpedantic";
++ argv[args.len] = "";
+ ++args.len;
+ /* fallthrough */
+ case compiler_warning_lvl_2:
+--- subprojects/bestline/bestline.c.orig 2022-07-22 20:08:24.000000000
-0700
++++ subprojects/bestline/bestline.c 2022-07-22 21:13:09.610868291 -0700
+@@ -131,6 +131,8 @@
+
╚─────────────────────────────────────────────────────────────────────────────*/
+ #include "bestline.h"
+
++#define _GNU_SOURCE
++
+ #ifndef __COSMOPOLITAN__
+ #define _POSIX_C_SOURCE 1 /* so GCC builds in ANSI mode */
+ #define _XOPEN_SOURCE 700 /* so GCC builds in ANSI mode */
diff --git a/devel/pkgconf/CONFIGURE b/devel/pkgconf/CONFIGURE
new file mode 100755
index 0000000..f95fb36
--- /dev/null
+++ b/devel/pkgconf/CONFIGURE
@@ -0,0 +1 @@
+config_query PKG_CONFIG_SYMLINK "Symlink pkg-config to pkgconf?" n
diff --git a/devel/pkgconf/CONFLICTS b/devel/pkgconf/CONFLICTS
new file mode 100755
index 0000000..130804d
--- /dev/null
+++ b/devel/pkgconf/CONFLICTS
@@ -0,0 +1,3 @@
+if [[ $PKG_CONFIG_SYMLINK == y ]]; then
+ conflicts pkgconfig
+fi
diff --git a/devel/pkgconf/DETAILS b/devel/pkgconf/DETAILS
new file mode 100755
index 0000000..5502a23
--- /dev/null
+++ b/devel/pkgconf/DETAILS
@@ -0,0 +1,19 @@
+ SPELL=pkgconf
+ VERSION=1.8.0
+ SOURCE=${SPELL}-${VERSION}.tar.gz
+ SOURCE_URL[0]=https://github.com/pkgconf/${SPELL}/archive/${SOURCE}
+
SOURCE_HASH=sha512:6b0ce203e85dc671503ad4bebdfdddc567916a8cdd77f739350db99e1e01c098ea2e3111309d2beeff2eff5389f328372ec327eb590f7b3a120b2452ed24021d
+SOURCE_DIRECTORY="${BUILD_DIRECTORY}/${SPELL}-${SPELL}-${VERSION}"
+ WEB_SITE=http://pkgconf.org/
+ LICENSE[0]=ISC
+ ENTERED=20220722
+ KEYWORDS=""
+ SHORT="package compiler and linker metadata toolkit"
+cat << EOF
+pkgconf is a program which helps to configure compiler and linker flags for
+development libraries. It is similar to pkg-config from freedesktop.org.
+
+libpkgconf is a library which provides access to most of pkgconf's
+functionality, to allow other tooling such as compilers and IDEs to discover
+and use libraries configured by pkgconf.
+EOF
diff --git a/devel/pkgconf/HISTORY b/devel/pkgconf/HISTORY
new file mode 100644
index 0000000..6b2ecb2
--- /dev/null
+++ b/devel/pkgconf/HISTORY
@@ -0,0 +1,3 @@
+2022-07-22 Vlad Glagolev <stealth AT sourcemage.org>
+ * DETAILS, PRE_BUILD, INSTALL, CONFIGURE, CONFLICTS, PROVIDES: created
+ spell, version 1.8.0
diff --git a/devel/pkgconf/INSTALL b/devel/pkgconf/INSTALL
new file mode 100755
index 0000000..1495f0c
--- /dev/null
+++ b/devel/pkgconf/INSTALL
@@ -0,0 +1,15 @@
+default_install &&
+
+if [[ $PKG_CONFIG_SYMLINK == y ]]; then
+ local ARCH &&
+
+ if [[ "${SMGL_COMPAT_ARCHS[1]}" == "x86_64" || "${SMGL_COMPAT_ARCHS[1]}"
== "em64t" ]]; then
+ ARCH="x86_64"
+ else
+ ARCH="i686"
+ fi &&
+
+ ln -vsf "${TRACK_ROOT}/usr/bin/pkgconf"
"${INSTALL_ROOT}/usr/bin/pkg-config" &&
+ ln -vsf "${TRACK_ROOT}/usr/bin/pkgconf"
"${INSTALL_ROOT}/usr/bin/${ARCH}-pc-linux-gnu-pkg-config" &&
+ ln -vsf "${TRACK_ROOT}/usr/share/man/man1/pkgconf.1"
"${INSTALL_ROOT}/usr/share/man/man1/pkg-config.1"
+fi
diff --git a/devel/pkgconf/PRE_BUILD b/devel/pkgconf/PRE_BUILD
new file mode 100755
index 0000000..275e6f1
--- /dev/null
+++ b/devel/pkgconf/PRE_BUILD
@@ -0,0 +1,4 @@
+default_pre_build &&
+cd "${SOURCE_DIRECTORY}" &&
+
+./autogen.sh
diff --git a/devel/pkgconf/PROVIDES b/devel/pkgconf/PROVIDES
new file mode 100644
index 0000000..b3dd724
--- /dev/null
+++ b/devel/pkgconf/PROVIDES
@@ -0,0 +1 @@
+PKG-CONFIG
diff --git a/devel/pkgconfig/CONFLICTS b/devel/pkgconfig/CONFLICTS
new file mode 100755
index 0000000..2ef3192
--- /dev/null
+++ b/devel/pkgconfig/CONFLICTS
@@ -0,0 +1,5 @@
+persistent_read pkgconf PKG_CONFIG_SYMLINK PKG_CONFIG_SYMLINK &&
+
+if [[ $PKG_CONFIG_SYMLINK == y ]]; then
+ conflicts pkgconf
+fi
diff --git a/devel/pkgconfig/HISTORY b/devel/pkgconfig/HISTORY
index bf7f65d..4543d9f 100644
--- a/devel/pkgconfig/HISTORY
+++ b/devel/pkgconfig/HISTORY
@@ -1,3 +1,7 @@
+2022-07-22 Vlad Glagolev <stealth AT sourcemage.org>
+ * CONFLICTS: added, conflicts with pkgconf
+ * PROVIDES: added, provides PKG-CONFIG
+
2020-08-28 Thomas Orgis <sobukus AT sourcemage.org>
* BUILD: use TRACK_ROOT for runtime paths
* DETAILS: ++PATCHLEVEL
diff --git a/devel/pkgconfig/PROVIDES b/devel/pkgconfig/PROVIDES
new file mode 100644
index 0000000..b3dd724
--- /dev/null
+++ b/devel/pkgconfig/PROVIDES
@@ -0,0 +1 @@
+PKG-CONFIG
diff --git a/python-pypi/meson/HISTORY b/python-pypi/meson/HISTORY
index fe475c1..927fc36 100644
--- a/python-pypi/meson/HISTORY
+++ b/python-pypi/meson/HISTORY
@@ -1,3 +1,6 @@
+2022-07-23 Vlad Glagolev <stealth AT sourcemage.org>
+ * PROVIDES: added, provides MESON-BUILD
+
2022-07-03 Pavel Vinogradov <public AT sourcemage.org>
* DETAILS: version 0.63.0

diff --git a/python-pypi/meson/PROVIDES b/python-pypi/meson/PROVIDES
new file mode 100644
index 0000000..2196bc5
--- /dev/null
+++ b/python-pypi/meson/PROVIDES
@@ -0,0 +1 @@
+MESON-BUILD



  • [SM-Commit] GIT changes to master grimoire by Vlad Glagolev (981418e443b2f60bac56f0937ac1081b8ff9ec0f), Vlad Glagolev, 07/23/2022

Archive powered by MHonArc 2.6.24.

Top of Page