aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorfourtysixandtwo <fourtysixandtwo@sliderr.net>2023-10-07 08:24:27 +0700
committerWilly Sudiarto Raharjo <willysr@slackbuilds.org>2023-10-07 08:24:27 +0700
commit684812c1b2d3ceeab1a09952c1316731be153e13 (patch)
tree4a5f69a90b3535a2c17c2c0020e85bd81377339f
parent9f10a97dda2c98683aa851651e7abb1414f6db19 (diff)
python/python3-meson-opt: Added (newer meson installed in /opt).
Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
-rw-r--r--python/python3-meson-opt/9d1d4ae746ce39d1916dfe71fd6dcc5fce27e828.patch142
-rw-r--r--python/python3-meson-opt/README17
-rw-r--r--python/python3-meson-opt/python3-meson-opt.SlackBuild90
-rw-r--r--python/python3-meson-opt/python3-meson-opt.info10
-rw-r--r--python/python3-meson-opt/slack-desc19
5 files changed, 278 insertions, 0 deletions
diff --git a/python/python3-meson-opt/9d1d4ae746ce39d1916dfe71fd6dcc5fce27e828.patch b/python/python3-meson-opt/9d1d4ae746ce39d1916dfe71fd6dcc5fce27e828.patch
new file mode 100644
index 0000000000000..34fa9d8d6a548
--- /dev/null
+++ b/python/python3-meson-opt/9d1d4ae746ce39d1916dfe71fd6dcc5fce27e828.patch
@@ -0,0 +1,142 @@
+From 9d1d4ae746ce39d1916dfe71fd6dcc5fce27e828 Mon Sep 17 00:00:00 2001
+From: Sam James <sam@gentoo.org>
+Date: Tue, 3 Oct 2023 16:52:56 +0100
+Subject: [PATCH 7/7] Revert "rust: apply global, project, and environment C
+ args to bindgen"
+
+This reverts commit 36210f64f22dc10d324db76bb1a7988c9cd5b14e.
+
+This ended up not doing what was intended - see https://github.com/mesonbuild/meson/issues/12065#issuecomment-1742263677.
+
+Bug: https://bugs.gentoo.org/914989
+Bug: https://bugs.gentoo.org/915014
+Signed-off-by: Sam James <sam@gentoo.org>
+---
+ mesonbuild/modules/rust.py | 6 ------
+ test cases/rust/12 bindgen/meson.build | 18 ------------------
+ .../rust/12 bindgen/src/global-project.h | 10 ----------
+ test cases/rust/12 bindgen/src/global.c | 5 -----
+ test cases/rust/12 bindgen/src/global.rs | 14 --------------
+ test cases/rust/12 bindgen/test.json | 5 +----
+ 6 files changed, 1 insertion(+), 57 deletions(-)
+ delete mode 100644 test cases/rust/12 bindgen/src/global-project.h
+ delete mode 100644 test cases/rust/12 bindgen/src/global.c
+ delete mode 100644 test cases/rust/12 bindgen/src/global.rs
+
+diff --git a/mesonbuild/modules/rust.py b/mesonbuild/modules/rust.py
+index e6e5c633f..3514412e6 100644
+--- a/mesonbuild/modules/rust.py
++++ b/mesonbuild/modules/rust.py
+@@ -232,12 +232,6 @@ class RustModule(ExtensionModule):
+ elif isinstance(s, CustomTarget):
+ depends.append(s)
+
+- clang_args.extend(state.global_args.get('c', []))
+- clang_args.extend(state.project_args.get('c', []))
+- cargs = state.get_option('args', state.subproject, lang='c')
+- assert isinstance(cargs, list), 'for mypy'
+- clang_args.extend(cargs)
+-
+ if self._bindgen_bin is None:
+ self._bindgen_bin = state.find_program('bindgen')
+
+diff --git a/test cases/rust/12 bindgen/meson.build b/test cases/rust/12 bindgen/meson.build
+index e7cb5f3db..c05cc0631 100644
+--- a/test cases/rust/12 bindgen/meson.build
++++ b/test cases/rust/12 bindgen/meson.build
+@@ -8,9 +8,6 @@ if not prog_bindgen.found()
+ error('MESON_SKIP_TEST bindgen not found')
+ endif
+
+-add_project_arguments('-DPROJECT_ARG', language : 'c')
+-add_global_arguments('-DGLOBAL_ARG', language : 'c')
+-
+ # This seems to happen on windows when libclang.dll is not in path or is not
+ # valid. We must try to process a header file for this to work.
+ #
+@@ -84,18 +81,3 @@ test('generated header', rust_bin2)
+
+ subdir('sub')
+ subdir('dependencies')
+-
+-gp = rust.bindgen(
+- input : 'src/global-project.h',
+- output : 'global-project.rs',
+-)
+-
+-gp_lib = static_library('gp_lib', 'src/global.c')
+-
+-gp_exe = executable(
+- 'gp_exe',
+- structured_sources(['src/global.rs', gp]),
+- link_with : gp_lib,
+-)
+-
+-test('global and project arguments', gp_exe)
+diff --git a/test cases/rust/12 bindgen/src/global-project.h b/test cases/rust/12 bindgen/src/global-project.h
+deleted file mode 100644
+index 6084e8ed6..000000000
+--- a/test cases/rust/12 bindgen/src/global-project.h
++++ /dev/null
+@@ -1,10 +0,0 @@
+-#ifndef GLOBAL_ARG
+-char * success(void);
+-#endif
+-#ifndef PROJECT_ARG
+-char * success(void);
+-#endif
+-#ifndef CMD_ARG
+-char * success(void);
+-#endif
+-int success(void);
+diff --git a/test cases/rust/12 bindgen/src/global.c b/test cases/rust/12 bindgen/src/global.c
+deleted file mode 100644
+index 10f6676f7..000000000
+--- a/test cases/rust/12 bindgen/src/global.c
++++ /dev/null
+@@ -1,5 +0,0 @@
+-#include "src/global-project.h"
+-
+-int success(void) {
+- return 0;
+-}
+diff --git a/test cases/rust/12 bindgen/src/global.rs b/test cases/rust/12 bindgen/src/global.rs
+deleted file mode 100644
+index 4b70b1ecc..000000000
+--- a/test cases/rust/12 bindgen/src/global.rs
++++ /dev/null
+@@ -1,14 +0,0 @@
+-// SPDX-license-identifer: Apache-2.0
+-// Copyright © 2023 Intel Corporation
+-
+-#![allow(non_upper_case_globals)]
+-#![allow(non_camel_case_types)]
+-#![allow(non_snake_case)]
+-
+-include!("global-project.rs");
+-
+-fn main() {
+- unsafe {
+- std::process::exit(success());
+- };
+-}
+diff --git a/test cases/rust/12 bindgen/test.json b/test cases/rust/12 bindgen/test.json
+index b3a758562..f94ee85f9 100644
+--- a/test cases/rust/12 bindgen/test.json
++++ b/test cases/rust/12 bindgen/test.json
+@@ -1,10 +1,7 @@
+ {
+- "env": {
+- "CFLAGS": "-DCMD_ARG"
+- },
+ "stdout": [
+ {
+- "line": "test cases/rust/12 bindgen/meson.build:30: WARNING: Project targets '>= 0.63' but uses feature introduced in '1.0.0': \"rust.bindgen\" keyword argument \"include_directories\" of type array[str]."
++ "line": "test cases/rust/12 bindgen/meson.build:27: WARNING: Project targets '>= 0.63' but uses feature introduced in '1.0.0': \"rust.bindgen\" keyword argument \"include_directories\" of type array[str]."
+ }
+ ]
+ }
+--
+2.42.0
+
+
diff --git a/python/python3-meson-opt/README b/python/python3-meson-opt/README
new file mode 100644
index 0000000000000..469bef365b252
--- /dev/null
+++ b/python/python3-meson-opt/README
@@ -0,0 +1,17 @@
+python3-meson-opt (meson installed to /opt)
+
+Meson is a cross-platform build system designed to be both as fast and
+as user friendly as possible. It supports many languages and
+compilers, including GCC, Clang, PGI, Intel, and Visual Studio. Its
+build definitions are written in a simple non-Turing complete DSL.
+
+NOTE:
+ Install bin and docs to /opt/meson
+ Installs module to /opt/python3.9/site-packages
+
+Add the following before the python3 build commands in your
+Slackbuild to use this version over the stock one in 15.0. My testing
+has shown the newer meson bin does not need to be added to PATH, but
+YMMV:
+
+export PYTHONPATH=/opt/python3.9/site-packages/
diff --git a/python/python3-meson-opt/python3-meson-opt.SlackBuild b/python/python3-meson-opt/python3-meson-opt.SlackBuild
new file mode 100644
index 0000000000000..57e5addc08097
--- /dev/null
+++ b/python/python3-meson-opt/python3-meson-opt.SlackBuild
@@ -0,0 +1,90 @@
+#!/bin/bash
+
+# Slackware build script for python3-meson-opt
+
+# Copyright 2023 fourtysixandtwo <fourtysixandtwo@sliderr.net>
+# 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=python3-meson-opt
+SRCNAM=meson
+VERSION=${VERSION:-1.2.2}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+PKGTYPE=${PKGTYPE:-tgz}
+
+ARCH=noarch
+
+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 $SRCNAM-$VERSION
+tar xvf $CWD/$SRCNAM-$VERSION.tar.gz
+cd $SRCNAM-$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 {} \+
+
+cat $CWD/9d1d4ae746ce39d1916dfe71fd6dcc5fce27e828.patch | patch -p1 --verbose || exit 1
+
+python3 -m build --no-isolation
+python3 -m installer -d "$PKG" -p "opt/meson" dist/*.whl
+
+if [ "$PKG/opt/" != "/opt/" ]; then
+ mkdir -p $PKG/opt
+ mv $PKG/opt/meson/lib*/python3.9 $PKG/opt/
+ rmdir $PKG/opt/meson/lib*
+fi
+
+find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
+
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a contributing.md COPYING PKG-INFO README* $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/python/python3-meson-opt/python3-meson-opt.info b/python/python3-meson-opt/python3-meson-opt.info
new file mode 100644
index 0000000000000..f3ad79dd42274
--- /dev/null
+++ b/python/python3-meson-opt/python3-meson-opt.info
@@ -0,0 +1,10 @@
+PRGNAM="python3-meson-opt"
+VERSION="1.2.2"
+HOMEPAGE="https://github.com/mesonbuild/meson"
+DOWNLOAD="https://files.pythonhosted.org/packages/source/m/meson/meson-1.2.2.tar.gz"
+MD5SUM="702bfd8b0648521322d3f145a8fc70ea"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+REQUIRES="python3-build python3-wheel"
+MAINTAINER="fourtysixandtwo"
+EMAIL="fourtysixandtwo@sliderr.net"
diff --git a/python/python3-meson-opt/slack-desc b/python/python3-meson-opt/slack-desc
new file mode 100644
index 0000000000000..fd05c041bbfdf
--- /dev/null
+++ b/python/python3-meson-opt/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------------------------------------------------------|
+python3-meson-opt: python3-meson-opt (meson installed to /opt)
+python3-meson-opt:
+python3-meson-opt: Meson is a cross-platform build system designed to be both as fast and
+python3-meson-opt: as user friendly as possible. It supports many languages and
+python3-meson-opt: compilers, including GCC, Clang, PGI, Intel, and Visual Studio. Its
+python3-meson-opt: build definitions are written in a simple non-Turing complete DSL.
+python3-meson-opt:
+python3-meson-opt: Installs to /opt/python3.9/site-packages
+python3-meson-opt:
+python3-meson-opt: Project URL: https://github.com/mesonbuild/meson
+python3-meson-opt: