phase 1 of cleanup - purge redundant ebuilds
This commit is contained in:
parent
7bc80ffaee
commit
a21ba3747a
dev-python
dev-qt
games-engines
frotz
renpy
gui-apps
grim
i3pystatus
mako
slurp
swaybg
swayidle
swaylock
waybar
wl-clipboard
gui-libs/wlroots
gui-wm/sway
media-sound/quodlibet
net-im/bitlbee-facebook
net-misc/internode-quota-check
net-p2p/stig
sys-libs/libsystemd
Manifest
files
238-initctl.patch238-libmount-include.patch238-nspawn-wait.patchlibsystemd-237-libsystemd.symlibsystemd-237-meson.buildlibsystemd-237-meson_build.patchlibsystemd-238-libsystemd.symlibsystemd-238-meson.buildlibsystemd-238-meson_build.patch
libsystemd-237.ebuildlibsystemd-238.ebuildx11-libs/vte
Manifest
files/vte-0.54.4-ng
01-expose-functions-for-pausing.patch02-expose-function-for-setting.patch03-add-function-for-setting-the.patch04-add-functions-to-get-set-block.patch05-expose-function-for-getting.patchseries
vte-0.54.2.ebuildx11-misc
x11-terms/termite
|
@ -1,3 +0,0 @@
|
|||
DIST python-mpd-0.5.5.tar.gz 46334 BLAKE2B b0345c6ac2027e3881f3f2aaa6d7bc01dcf67b71de9bdd6d6a8b1bbd6f72ff9463100a0850db4320ce7ee818a1212537be68ecb624984e3f40f1ef4102eca075 SHA512 d5eec60045561a8a0e29eda2ec2fc341c9b81d61363260c884f0863e931077c31c32534e3c98a488ef31aa61cd3d21bdcfa625b7b062ef24bf3e8024dc1e7c5a
|
||||
EBUILD python-mpd-0.5.5.ebuild 704 BLAKE2B 6a0e370d0700c2ab86b3561cceb6c6d296086d05a0e8abfd8ce9ecacf7711b1da93d7ab4bc02b78741d7c2a22cd0d4863a89c9c291ddcc4f67b343ec843a2479 SHA512 5bcfd5bbf725389279dd8205e78657a8000df91cc82079545e789dcef9149170b6d0bf3b5cbcaf09c86429b99b312ff7cc8558b814eea4029e226ee5ba89ac84
|
||||
MISC metadata.xml 382 BLAKE2B ae34121b1c437cc20e28928ae2d36e19aaa399161f96fc7748d9790643f9c8705ff86f951439dee2adfcceae2f0195f1a94745655f57966cd8cc1789fb302a74 SHA512 aafaba60498499a806694356fe71b55f3e469a024aad9a74cdbfdd1e7361a7ab33b267796949e10844c25946b34ed0e43db9fada9a76f08084067f741d4ac6a1
|
|
@ -1,12 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="project">
|
||||
<email>python@gentoo.org</email>
|
||||
<name>Python</name>
|
||||
</maintainer>
|
||||
<upstream>
|
||||
<remote-id type="pypi">python-mpd</remote-id>
|
||||
<remote-id type="github">Mic92/python-mpd2</remote-id>
|
||||
</upstream>
|
||||
</pkgmetadata>
|
|
@ -1,25 +0,0 @@
|
|||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=5
|
||||
PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} pypy )
|
||||
|
||||
inherit distutils-r1 vcs-snapshot
|
||||
|
||||
DESCRIPTION="Python MPD client library"
|
||||
HOMEPAGE="https://github.com/Mic92/python-mpd2"
|
||||
SRC_URI="https://github.com/Mic92/${PN}2/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="LGPL-3"
|
||||
KEYWORDS="amd64 ~ppc ~ppc64 x86"
|
||||
SLOT="0"
|
||||
IUSE="test"
|
||||
|
||||
DEPEND="test? ( dev-python/mock[${PYTHON_USEDEP}] )
|
||||
dev-python/setuptools[${PYTHON_USEDEP}]"
|
||||
|
||||
DOCS=( doc/changes.rst doc/topics/{advanced,commands,getting-started,logging}.rst README.rst )
|
||||
|
||||
python_test() {
|
||||
"${PYTHON}" test.py || die "Tests fail with ${EPYTHON}"
|
||||
}
|
|
@ -1,2 +0,0 @@
|
|||
DIST vdirsyncer-0.7.5.tar.gz 86669 BLAKE2B 4309b1539db91d34ba7508e6f5d2805b404e4c44c820bdf193d250ef4636422409e236c8a52832af600a2fca9895716b076cea145fc6e3f69dc74b6d1cbde6f0 SHA512 4df4469c8bd6f29e7250ee10407e34e2badd1b6c6260f4f71dbc090ca55837207d22edbbc83b6d7a5e332fc64dba49a9b94002bb607e39ba8cb7dbba8a5b0a28
|
||||
EBUILD vdirsyncer-0.7.5.ebuild 504 BLAKE2B 594227420918fdb76243ce33af6e5974df967a575172b1a2963d5b3947d49bd7856698f97c46e22ae0dd8d297da1e1a8ea20a63db2ec71b657b8566eaf00554d SHA512 17913e074e13fca43e28fc4985e2216308c7549829579083cdf1722f23a7c430bf304c845866a02f372c0da4a0be556a8206fbee5f66662d27a517cffea209a9
|
|
@ -1,22 +0,0 @@
|
|||
# Copyright 1999-2016 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI=5
|
||||
PYTHON_COMPAT=( python2_7 python3_{6,7,8} )
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="synchronization tool for vdir"
|
||||
HOMEPAGE="https://github.com/untitaker/vdirsyncer"
|
||||
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
|
||||
|
||||
LICENSE="MIT-with-advertising"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 x32"
|
||||
IUSE=""
|
||||
|
||||
DEPEND=""
|
||||
RDEPEND=""
|
||||
|
||||
DOCS=( AUTHORS.rst CHANGELOG.rst CONTRIBUTING.rst README.rst example.cfg )
|
|
@ -1 +0,0 @@
|
|||
EBUILD qt5-styleplugins-9999.ebuild 573 BLAKE2B 8b82eaa8db9b76c4966419bf56806af50bc794acdadf8846f6eefc999852b1dac64b3af2896e285a5e67e7087dd68537badcb4cb5533777aa2d85cf17db1884a SHA512 714e0506aadc133149281ebdc52498d762b9091a0fd401f6bdada705a8ce2e1be98af1156a71359348017ce90d950f3d4c09e9eb551b1fc289759d219827f8b1
|
|
@ -1,31 +0,0 @@
|
|||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
inherit git-r3 qmake-utils
|
||||
|
||||
DESCRIPTION="Additional style plugins for Qt"
|
||||
HOMEPAGE="https://code.qt.io/cgit/qt/qtstyleplugins.git/"
|
||||
LICENSE="LGPL"
|
||||
SLOT="0"
|
||||
|
||||
EGIT_REPO_URI="https://code.qt.io/cgit/qt/qtstyleplugins.git"
|
||||
EGIT_BRANCH="master"
|
||||
SRC_URI=""
|
||||
KEYWORDS=""
|
||||
|
||||
IUSE=""
|
||||
|
||||
RDEPEND="dev-qt/qtcore:5
|
||||
x11-libs/gtk+:2
|
||||
x11-libs/libX11"
|
||||
DEPEND="${RDEPEND}"
|
||||
|
||||
src_configure() {
|
||||
eqmake5 PREFIX="${D}"/usr
|
||||
}
|
||||
|
||||
src_install() {
|
||||
emake INSTALL_ROOT="${D}" install
|
||||
}
|
|
@ -1,2 +0,0 @@
|
|||
DIST qt5ct-0.41.tar.bz2 73009 BLAKE2B de6360feb16a82b262c13e6a3cbe226b7be7c3e95b1f1262b3802de59fc3bb8820c935b170a15a88e80164e6167f6259777c65fda6a3f8fbf1d115a63ddcc1f2 SHA512 a94f9996dc2198d3c8c9af8610912d12b915b8c547a49c36f7bc083b6f237b318d7903e91fb6fcfe06996a319c361104c1923e6d0c49446b6fb66a1e44fae009
|
||||
EBUILD qt5ct-0.41.ebuild 970 BLAKE2B 43e3708653fee103b4e69485d083a5bae38af9a6c2553a3e34fbc27509f08e1aa1894c216824aafd5a7cb350fc711a455b0076fcb3cba4d11fac3b7c9330e0b6 SHA512 26126c1707973834bbe8737eb594439b4ded25b68ac8187b1bbeda7c4241b6cfbc3fe6c63fc790dc44a79796cf50b11fca87ea8e8c09b1899f7141c581dde51a
|
|
@ -1,45 +0,0 @@
|
|||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: $
|
||||
|
||||
EAPI=6
|
||||
|
||||
inherit qmake-utils eutils
|
||||
|
||||
DESCRIPTION="Qt5 configuration utility"
|
||||
HOMEPAGE="http://qt-apps.org/content/show.php/Qt5+Configuration+Tool?content=168066"
|
||||
SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2"
|
||||
|
||||
LICENSE="BSD"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 x86"
|
||||
IUSE=""
|
||||
|
||||
DEPEND="
|
||||
>=dev-qt/qtcore-5.4.0:5
|
||||
>=dev-qt/qtsvg-5.4.0:5
|
||||
"
|
||||
RDEPEND="${DEPEND}"
|
||||
|
||||
S="${WORKDIR}"/"${P}"
|
||||
|
||||
src_configure(){
|
||||
local myeqmakeargs=(
|
||||
${PN}.pro
|
||||
PREFIX="${EPREFIX}/usr"
|
||||
DESKTOPDIR="${EPREFIX}/usr/share/applications"
|
||||
ICONDIR="${EPREFIX}/usr/share/pixmaps"
|
||||
)
|
||||
eqmake5 ${myeqmakeargs[@]}
|
||||
}
|
||||
|
||||
src_install(){
|
||||
emake INSTALL_ROOT="${D}" install || die
|
||||
}
|
||||
|
||||
pkg_postinst(){
|
||||
elog "After install this package, please, add the following"
|
||||
elog "line into the ~/.xprofile (user) or /etc/environment (system):"
|
||||
elog "export QT_QPA_PLATFORMTHEME=qt5ct"
|
||||
elog "and it will work."
|
||||
}
|
|
@ -1,3 +0,0 @@
|
|||
AUX frotz-2.44-ldflags.patch 963 BLAKE2B 166f19d0363e06d00efd43e72a1c1629f1863227cb4f5704e03fe161e91563dcde53b9cdaf76814c0fc8394cc2bdc4815e8c2ffa5defbe1083d127a0d2ce8512 SHA512 e7409942b8401601e82a277afcec214b45df7f69787321ea4c5902feb2d2c87f2d905237ad44102172bd66296ab47280e61a66596ef611bda5b22506544486ef
|
||||
DIST frotz-2.44.tar.gz 275534 BLAKE2B ab22a62c5b052d0f82f98cb3bd12e1486100970de668125cd8617508ab478122a602e11b4b811dadf26b6cdf1f1cb95ccb93ee52cd7d55ba89b2f5b78d5cd956 SHA512 29663971e782c3d668136c5b2a9a8c0de6a6982a8b5fe056ddab5696ca1b5dcb5d0164459c6598729dbdc41f4ef6864de43893e7b3a88c4947eca87ed6f5d98e
|
||||
EBUILD frotz-2.44.ebuild 1116 BLAKE2B 1cb3a6bee4cbc4f9a982a3a1f4b81a987bfad56c1f7ae372de6c54eaa0995be75d4bc1b6b9305fd6cd08f6ed73810a6621e6862f2908ae8493e2db85e856929c SHA512 af970917f5e676cf5a61ba046c2b519b4ebcb38694cac6065bde7fe77b87c4edefbbb9b486321d73b27bee7707839c494eb4a40da87c31d922f03ee9715c2811
|
|
@ -1,23 +0,0 @@
|
|||
--- Makefile.old 2015-11-30 19:32:18.654202668 +1100
|
||||
+++ Makefile 2015-11-30 19:32:59.965205614 +1100
|
||||
@@ -195,17 +195,17 @@
|
||||
$(NAME): $(NAME)-curses
|
||||
curses: $(NAME)-curses
|
||||
$(NAME)-curses: $(COMMON_TARGET) $(CURSES_TARGET) $(BLORB_TARGET)
|
||||
- $(CC) -o $(BINNAME)$(EXTENSION) $(TARGETS) $(LIB) $(CURSES) $(SOUND_LIB)
|
||||
+ $(CC) $(LDFLAGS) -o $(BINNAME)$(EXTENSION) $(TARGETS) $(LIB) $(CURSES) $(SOUND_LIB)
|
||||
|
||||
dumb: $(NAME)-dumb
|
||||
d$(NAME): $(NAME)-dumb
|
||||
$(NAME)-dumb: $(COMMON_TARGET) $(DUMB_TARGET)
|
||||
- $(CC) -o d$(BINNAME)$(EXTENSION) $(COMMON_TARGET) $(DUMB_TARGET) $(LIB)
|
||||
+ $(CC) $(LDFLAGS) -o d$(BINNAME)$(EXTENSION) $(COMMON_TARGET) $(DUMB_TARGET) $(LIB)
|
||||
|
||||
sdl: $(NAME)-sdl
|
||||
s$(NAME): $(NAME)-sdl
|
||||
$(NAME)-sdl: $(COMMON_TARGET) $(SDL_TARGET) $(BLORB_TARGET)
|
||||
- $(CC) -o s$(BINNAME) $(COMMON_TARGET) $(SDL_TARGET) $(BLORB_TARGET) $(SDL_LIBS)
|
||||
+ $(CC) $(LDFLAGS) -o s$(BINNAME) $(COMMON_TARGET) $(SDL_TARGET) $(BLORB_TARGET) $(SDL_LIBS)
|
||||
|
||||
all: $(NAME) d$(NAME)
|
||||
|
|
@ -1,50 +0,0 @@
|
|||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI=5
|
||||
inherit eutils games
|
||||
|
||||
DESCRIPTION="Curses based interpreter for Z-code based text games"
|
||||
HOMEPAGE="http://frotz.sourceforge.net/"
|
||||
SRC_URI="http://www.ifarchive.org/if-archive/infocom/interpreters/frotz/${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 ppc sparc x86"
|
||||
IUSE="alsa oss"
|
||||
|
||||
DEPEND="sys-libs/ncurses
|
||||
alsa? ( oss? ( media-libs/alsa-oss ) )"
|
||||
RDEPEND="${DEPEND}"
|
||||
|
||||
src_prepare() {
|
||||
sed -i \
|
||||
-e '/^CC /d' \
|
||||
Makefile \
|
||||
|| die
|
||||
epatch \
|
||||
"${FILESDIR}"/${P}-ldflags.patch
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
local OPTS="CONFIG_DIR=${GAMES_SYSCONFDIR}"
|
||||
use oss && OPTS="${OPTS} SOUND_DEFS=-DOSS_SOUND SOUND_DEV=/dev/dsp"
|
||||
emake ${OPTS} all
|
||||
}
|
||||
|
||||
src_install () {
|
||||
dogamesbin {d,}frotz
|
||||
doman doc/*.6
|
||||
dodoc AUTHORS BUGS ChangeLog HOW_TO_PLAY README TODO \
|
||||
doc/{frotz.conf-big,frotz.conf-small}
|
||||
prepgamesdirs
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
games_pkg_postinst
|
||||
echo
|
||||
elog "Global config file can be installed in ${GAMES_SYSCONFDIR}/frotz.conf"
|
||||
elog "Sample config files are in /usr/share/doc/${PF}"
|
||||
echo
|
||||
}
|
|
@ -1,3 +0,0 @@
|
|||
AUX renpy-6.99.12-multiple-abi.patch 11945 BLAKE2B 97b4d69a820c5147a64cedd3a677223510952c8b47c3cc05817c193b7d43bbc919436d5bc66e8c9981a676d0ad8a614d0e35a8cabd054e7e6e161b7badc0f154 SHA512 4ff4926ba5e92b2e72e206093a770b5d334a0c25fd4ace48c54b0ec6d8dfcb64a137f97238793703af927906d2df0723d2e36920ed50c6686fe8ba3602880759
|
||||
DIST renpy-6.99.12-source.tar.bz2 18134417 BLAKE2B d82b15f9ea168c8e291a7734f3d2f0348b2ebb5ae3bf42e66921e37162e187c829fc35c9a42cf393480725fd92c8bf3e22608ae88c70b85c7c07d07cb804355c SHA512 87708e982c9f978229c6447dc8ddb0c254743c1afe489d7c3b45feb3495a35b2975b08edefd2f87b9d43b57f053389d98face81c9be3cec86d887239094aa6e1
|
||||
EBUILD renpy-6.99.12.ebuild 2537 BLAKE2B b4095825c773f6bd031a99d055e022bf724a009c00e2e5649ceb6cfd3c703b07f2f427be609649d79be3c7eed71305a64ccfbb4560138684388f7894c26e2b88 SHA512 6ba8ddcec827ffa0b9bf8f567b50ecdc1c678e341e4fc3c64a3a703e2b6d353ef8c5a74fee6f2b45536a14aafc5be5376586685020b9dd670be258f4e0f372c6
|
|
@ -1,357 +0,0 @@
|
|||
From 7aa51dae5eb2f2123fee9bca23a2ce2f1b1c3f10 Mon Sep 17 00:00:00 2001
|
||||
From: hasufell <hasufell@gentoo.org>
|
||||
Date: Thu, 20 Aug 2015 01:10:58 +0200
|
||||
Subject: [PATCH] Fix multiple abi support
|
||||
|
||||
---
|
||||
renpy.py | 128 ++--------------------------------------------------
|
||||
renpy/common.py | 137 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
renpy/main.py | 6 +--
|
||||
3 files changed, 144 insertions(+), 127 deletions(-)
|
||||
create mode 100644 renpy/common.py
|
||||
|
||||
diff --git a/renpy.py b/renpy.py
|
||||
index 7548cf6..8ec7353 100644
|
||||
--- a/renpy.py
|
||||
+++ b/renpy.py
|
||||
@@ -28,122 +28,9 @@
|
||||
import os
|
||||
import sys
|
||||
import warnings
|
||||
-
|
||||
-# Functions to be customized by distributors. ################################
|
||||
-
|
||||
-# Given the Ren'Py base directory (usually the directory containing
|
||||
-# this file), this is expected to return the path to the common directory.
|
||||
-
|
||||
-
|
||||
-def path_to_common(renpy_base):
|
||||
- return renpy_base + "/renpy/common"
|
||||
-
|
||||
-# Given a directory holding a Ren'Py game, this is expected to return
|
||||
-# the path to a directory that will hold save files.
|
||||
-
|
||||
-
|
||||
-def path_to_saves(gamedir, save_directory=None):
|
||||
- import renpy # @UnresolvedImport
|
||||
-
|
||||
- if save_directory is None:
|
||||
- save_directory = renpy.config.save_directory
|
||||
- save_directory = renpy.exports.fsencode(save_directory)
|
||||
-
|
||||
- # Makes sure the permissions are right on the save directory.
|
||||
- def test_writable(d):
|
||||
- try:
|
||||
- fn = os.path.join(d, "test.txt")
|
||||
- open(fn, "w").close()
|
||||
- open(fn, "r").close()
|
||||
- os.unlink(fn)
|
||||
- return True
|
||||
- except:
|
||||
- return False
|
||||
-
|
||||
- # Android.
|
||||
- if renpy.android:
|
||||
- paths = [
|
||||
- os.path.join(os.environ["ANDROID_OLD_PUBLIC"], "game/saves"),
|
||||
- os.path.join(os.environ["ANDROID_PRIVATE"], "saves"),
|
||||
- os.path.join(os.environ["ANDROID_PUBLIC"], "saves"),
|
||||
- ]
|
||||
-
|
||||
- for rv in paths:
|
||||
- if os.path.isdir(rv) and test_writable(rv):
|
||||
- break
|
||||
-
|
||||
- print("Saving to", rv)
|
||||
-
|
||||
- # We return the last path as the default.
|
||||
-
|
||||
- return rv
|
||||
-
|
||||
- if renpy.ios:
|
||||
- from pyobjus import autoclass
|
||||
- from pyobjus.objc_py_types import enum
|
||||
-
|
||||
- NSSearchPathDirectory = enum("NSSearchPathDirectory", NSDocumentDirectory=9)
|
||||
- NSSearchPathDomainMask = enum("NSSearchPathDomainMask", NSUserDomainMask=1)
|
||||
-
|
||||
- NSFileManager = autoclass('NSFileManager')
|
||||
- manager = NSFileManager.defaultManager()
|
||||
- url = manager.URLsForDirectory_inDomains_(
|
||||
- NSSearchPathDirectory.NSDocumentDirectory,
|
||||
- NSSearchPathDomainMask.NSUserDomainMask,
|
||||
- ).lastObject()
|
||||
-
|
||||
- # url.path seems to change type based on iOS version, for some reason.
|
||||
- try:
|
||||
- rv = url.path().UTF8String().decode("utf-8")
|
||||
- except:
|
||||
- rv = url.path.UTF8String().decode("utf-8")
|
||||
-
|
||||
- print("Saving to", rv)
|
||||
- return rv
|
||||
-
|
||||
- # No save directory given.
|
||||
- if not save_directory:
|
||||
- return gamedir + "/saves"
|
||||
-
|
||||
- # Search the path above Ren'Py for a directory named "Ren'Py Data".
|
||||
- # If it exists, then use that for our save directory.
|
||||
- path = renpy.config.renpy_base
|
||||
-
|
||||
- while True:
|
||||
- if os.path.isdir(path + "/Ren'Py Data"):
|
||||
- return path + "/Ren'Py Data/" + save_directory
|
||||
-
|
||||
- newpath = os.path.dirname(path)
|
||||
- if path == newpath:
|
||||
- break
|
||||
- path = newpath
|
||||
-
|
||||
- # Otherwise, put the saves in a platform-specific location.
|
||||
- if renpy.macintosh:
|
||||
- rv = "~/Library/RenPy/" + save_directory
|
||||
- return os.path.expanduser(rv)
|
||||
-
|
||||
- elif renpy.windows:
|
||||
- if 'APPDATA' in os.environ:
|
||||
- return os.environ['APPDATA'] + "/RenPy/" + save_directory
|
||||
- else:
|
||||
- rv = "~/RenPy/" + renpy.config.save_directory
|
||||
- return os.path.expanduser(rv)
|
||||
-
|
||||
- else:
|
||||
- rv = "~/.renpy/" + save_directory
|
||||
- return os.path.expanduser(rv)
|
||||
-
|
||||
-
|
||||
-# Returns the path to the Ren'Py base directory (containing common and
|
||||
-# the launcher, usually.)
|
||||
-def path_to_renpy_base():
|
||||
- renpy_base = os.path.dirname(os.path.realpath(sys.argv[0]))
|
||||
- renpy_base = os.path.abspath(renpy_base)
|
||||
-
|
||||
- return renpy_base
|
||||
-
|
||||
-##############################################################################
|
||||
+from distutils.sysconfig import get_python_lib
|
||||
+sys.path.append(get_python_lib() + "/renpy@SLOT@")
|
||||
+import renpy.common as common
|
||||
|
||||
# The version of the Mac Launcher and py4renpy that we require.
|
||||
macos_version = (6, 14, 0)
|
||||
@@ -154,21 +45,9 @@ except:
|
||||
print("Ren'Py requires at least python 2.6.")
|
||||
sys.exit(0)
|
||||
|
||||
-android = ("ANDROID_PRIVATE" in os.environ)
|
||||
-
|
||||
-# Android requires us to add code to the main module, and to command some
|
||||
-# renderers.
|
||||
-if android:
|
||||
- __main__ = sys.modules["__main__"]
|
||||
- __main__.path_to_renpy_base = path_to_renpy_base
|
||||
- __main__.path_to_common = path_to_common
|
||||
- __main__.path_to_saves = path_to_saves
|
||||
- os.environ["RENPY_RENDERER"] = "gl"
|
||||
-
|
||||
-
|
||||
def main():
|
||||
|
||||
- renpy_base = path_to_renpy_base()
|
||||
+ renpy_base = common.path_to_renpy_base()
|
||||
|
||||
# Add paths.
|
||||
if os.path.exists(renpy_base + "/module"):
|
||||
diff --git a/renpy/common.py b/renpy/common.py
|
||||
new file mode 100644
|
||||
index 0000000..0d60e36
|
||||
--- /dev/null
|
||||
+++ b/renpy/common.py
|
||||
@@ -0,0 +1,137 @@
|
||||
+# This file is part of Ren'Py. The license below applies to Ren'Py only.
|
||||
+# Games and other projects that use Ren'Py may use a different license.
|
||||
+
|
||||
+# Copyright 2004-2015 Tom Rothamel <pytom@bishoujo.us>
|
||||
+#
|
||||
+# Permission is hereby granted, free of charge, to any person
|
||||
+# obtaining a copy of this software and associated documentation files
|
||||
+# (the "Software"), to deal in the Software without restriction,
|
||||
+# including without limitation the rights to use, copy, modify, merge,
|
||||
+# publish, distribute, sublicense, and/or sell copies of the Software,
|
||||
+# and to permit persons to whom the Software is furnished to do so,
|
||||
+# subject to the following conditions:
|
||||
+#
|
||||
+# The above copyright notice and this permission notice shall be
|
||||
+# included in all copies or substantial portions of the Software.
|
||||
+#
|
||||
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
+# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
+# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
+# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
||||
+# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
||||
+# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
||||
+# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
+
|
||||
+import os
|
||||
+import sys
|
||||
+import warnings
|
||||
+from distutils.sysconfig import get_python_lib
|
||||
+
|
||||
+# Given the Ren'Py base directory (usually the directory containing
|
||||
+# this file), this is expected to return the path to the common directory.
|
||||
+def path_to_common(renpy_base):
|
||||
+ return renpy_base + "/renpy/common"
|
||||
+
|
||||
+# Given a directory holding a Ren'Py game, this is expected to return
|
||||
+# the path to a directory that will hold save files.
|
||||
+def path_to_saves(gamedir, save_directory=None):
|
||||
+ import renpy #@UnresolvedImport
|
||||
+
|
||||
+ if save_directory is None:
|
||||
+ save_directory = renpy.config.save_directory
|
||||
+
|
||||
+ # Makes sure the permissions are right on the save directory.
|
||||
+ def test_writable(d):
|
||||
+ try:
|
||||
+ fn = os.path.join(d, "test.txt")
|
||||
+ open(fn, "w").close()
|
||||
+ open(fn, "r").close()
|
||||
+ os.unlink(fn)
|
||||
+ return True
|
||||
+ except:
|
||||
+ return False
|
||||
+
|
||||
+
|
||||
+ # Android.
|
||||
+ if renpy.android:
|
||||
+ paths = [
|
||||
+ os.path.join(os.environ["ANDROID_OLD_PUBLIC"], "game/saves"),
|
||||
+ os.path.join(os.environ["ANDROID_PRIVATE"], "saves"),
|
||||
+ os.path.join(os.environ["ANDROID_PUBLIC"], "saves"),
|
||||
+ ]
|
||||
+
|
||||
+ for rv in paths:
|
||||
+ if os.path.isdir(rv) and test_writable(rv):
|
||||
+ break
|
||||
+
|
||||
+ print "Saving to", rv
|
||||
+
|
||||
+ # We return the last path as the default.
|
||||
+
|
||||
+ return rv
|
||||
+
|
||||
+ if renpy.ios:
|
||||
+ from pyobjus import autoclass
|
||||
+ from pyobjus.objc_py_types import enum
|
||||
+
|
||||
+ NSSearchPathDirectory = enum("NSSearchPathDirectory", NSDocumentDirectory=9)
|
||||
+ NSSearchPathDomainMask = enum("NSSearchPathDomainMask", NSUserDomainMask=1)
|
||||
+
|
||||
+ NSFileManager = autoclass('NSFileManager')
|
||||
+ manager = NSFileManager.defaultManager()
|
||||
+ url = manager.URLsForDirectory_inDomains_(
|
||||
+ NSSearchPathDirectory.NSDocumentDirectory,
|
||||
+ NSSearchPathDomainMask.NSUserDomainMask,
|
||||
+ ).lastObject()
|
||||
+
|
||||
+ # url.path seems to change type based on iOS version, for some reason.
|
||||
+ try:
|
||||
+ rv = url.path().UTF8String().decode("utf-8")
|
||||
+ except:
|
||||
+ rv = url.path.UTF8String().decode("utf-8")
|
||||
+
|
||||
+ print "Saving to", rv
|
||||
+ return rv
|
||||
+
|
||||
+ # No save directory given.
|
||||
+ if not save_directory:
|
||||
+ return gamedir + "/saves"
|
||||
+
|
||||
+ # Search the path above Ren'Py for a directory named "Ren'Py Data".
|
||||
+ # If it exists, then use that for our save directory.
|
||||
+ path = renpy.config.renpy_base
|
||||
+
|
||||
+ while True:
|
||||
+ if os.path.isdir(path + "/Ren'Py Data"):
|
||||
+ return path + "/Ren'Py Data/" + save_directory
|
||||
+
|
||||
+ newpath = os.path.dirname(path)
|
||||
+ if path == newpath:
|
||||
+ break
|
||||
+ path = newpath
|
||||
+
|
||||
+ # Otherwise, put the saves in a platform-specific location.
|
||||
+ if renpy.macintosh:
|
||||
+ rv = "~/Library/RenPy/" + save_directory
|
||||
+ return os.path.expanduser(rv)
|
||||
+
|
||||
+ elif renpy.windows:
|
||||
+ if 'APPDATA' in os.environ:
|
||||
+ return os.environ['APPDATA'] + "/RenPy/" + save_directory
|
||||
+ else:
|
||||
+ rv = "~/RenPy/" + renpy.config.save_directory
|
||||
+ return os.path.expanduser(rv)
|
||||
+
|
||||
+ else:
|
||||
+ rv = "~/.renpy/" + save_directory
|
||||
+ return os.path.expanduser(rv)
|
||||
+
|
||||
+
|
||||
+# Returns the path to the Ren'Py base directory (containing common and
|
||||
+# the launcher, usually.)
|
||||
+def path_to_renpy_base():
|
||||
+ renpy_base = os.path.dirname(os.path.realpath(sys.argv[0]))
|
||||
+ renpy_base = get_python_lib() + "/renpy@SLOT@"
|
||||
+ renpy_base = os.path.abspath(renpy_base)
|
||||
+
|
||||
+ return renpy_base
|
||||
diff --git a/renpy/main.py b/renpy/main.py
|
||||
index 73e7239..6807ba1 100644
|
||||
--- a/renpy/main.py
|
||||
+++ b/renpy/main.py
|
||||
@@ -27,7 +27,7 @@ import os
|
||||
import sys
|
||||
import time
|
||||
import zipfile
|
||||
-import __main__
|
||||
+import renpy.common as common
|
||||
|
||||
|
||||
last_clock = time.time()
|
||||
@@ -273,7 +273,7 @@ def main():
|
||||
renpy.config.searchpath = [ renpy.config.gamedir ]
|
||||
|
||||
# Find the common directory.
|
||||
- commondir = __main__.path_to_common(renpy.config.renpy_base) # E1101 @UndefinedVariable
|
||||
+ commondir = common.path_to_common(renpy.config.renpy_base) # E1101 @UndefinedVariable
|
||||
|
||||
if os.path.isdir(commondir):
|
||||
renpy.config.searchpath.append(commondir)
|
||||
@@ -371,7 +371,7 @@ def main():
|
||||
|
||||
# Find the save directory.
|
||||
if renpy.config.savedir is None:
|
||||
- renpy.config.savedir = __main__.path_to_saves(renpy.config.gamedir) # E1101 @UndefinedVariable
|
||||
+ renpy.config.savedir = common.path_to_saves(renpy.config.gamedir) # E1101 @UndefinedVariable
|
||||
|
||||
if renpy.game.args.savedir: # @UndefinedVariable
|
||||
renpy.config.savedir = renpy.game.args.savedir # @UndefinedVariable
|
||||
diff --git a/renpy/script.py b/renpy/script.py
|
||||
index 73e7239..6807ba1 100644
|
||||
--- a/renpy/script.py
|
||||
+++ b/renpy/script.py
|
||||
@@ -150,8 +150,8 @@ import os
|
||||
if renpy.loader.loadable(i):
|
||||
return None
|
||||
|
||||
- import __main__
|
||||
- backups = __main__.path_to_saves(renpy.config.gamedir, "backups") # @UndefinedVariable
|
||||
+ import renpy.common as common
|
||||
+ backups = common.path_to_saves(renpy.config.gamedir, "backups") # @UndefinedVariable
|
||||
|
||||
if backups is None:
|
||||
return
|
||||
--
|
||||
2.5.0
|
||||
|
|
@ -1,111 +0,0 @@
|
|||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI=5
|
||||
PYTHON_COMPAT=( python2_7 )
|
||||
DISTUTILS_IN_SOURCE_BUILD=1
|
||||
inherit eutils toolchain-funcs python-r1 versionator gnome2-utils games distutils-r1
|
||||
|
||||
DESCRIPTION="Visual novel engine written in python"
|
||||
HOMEPAGE="http://www.renpy.org"
|
||||
SRC_URI="http://www.renpy.org/dl/${PV}/${P}-source.tar.bz2"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="$(get_version_component_range 1-2)"
|
||||
MYSLOT=$(delete_all_version_separators ${SLOT})
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE="development doc examples"
|
||||
REQUIRED_USE="examples? ( development )"
|
||||
|
||||
RDEPEND="
|
||||
>=app-eselect/eselect-renpy-0.6
|
||||
dev-libs/fribidi
|
||||
~dev-python/pygame_sdl2-${PV}[${PYTHON_USEDEP}]
|
||||
>=dev-lang/python-exec-0.3[${PYTHON_USEDEP}]
|
||||
media-libs/glew
|
||||
media-libs/libpng:0
|
||||
media-libs/libsdl2[video]
|
||||
media-libs/freetype:2
|
||||
sys-libs/zlib
|
||||
virtual/ffmpeg"
|
||||
DEPEND="${RDEPEND}
|
||||
dev-python/cython[${PYTHON_USEDEP}]
|
||||
virtual/pkgconfig"
|
||||
|
||||
S=${WORKDIR}/${P}-source
|
||||
|
||||
pkg_setup() {
|
||||
games_pkg_setup
|
||||
export CFLAGS="${CFLAGS} $($(tc-getPKG_CONFIG) --cflags fribidi)"
|
||||
}
|
||||
|
||||
python_prepare_all() {
|
||||
# wooosh! this should fix multiple abi
|
||||
epatch "${FILESDIR}"/${P}-multiple-abi.patch
|
||||
|
||||
einfo "Deleting precompiled python files"
|
||||
find . -name '*.py[co]' -print -delete || die
|
||||
|
||||
sed -i \
|
||||
-e "s/@SLOT@/${MYSLOT}/" \
|
||||
renpy.py renpy/common.py || die "setting slot failed!"
|
||||
|
||||
distutils-r1_python_prepare_all
|
||||
}
|
||||
|
||||
python_compile() {
|
||||
cd "${S}"/module || die
|
||||
distutils-r1_python_compile
|
||||
}
|
||||
|
||||
python_install() {
|
||||
cd "${S}"/module || die
|
||||
distutils-r1_python_install --install-lib="$(python_get_sitedir)/renpy${MYSLOT}"
|
||||
|
||||
cd "${S}" || die
|
||||
python_scriptinto "${GAMES_BINDIR}"
|
||||
python_newscript renpy.py ${PN}-${SLOT}
|
||||
|
||||
python_moduleinto renpy${MYSLOT}
|
||||
python_domodule renpy
|
||||
if use development ; then
|
||||
python_domodule launcher templates
|
||||
fi
|
||||
if use examples ; then
|
||||
python_domodule the_question tutorial
|
||||
fi
|
||||
}
|
||||
|
||||
python_install_all() {
|
||||
if use development; then
|
||||
newicon -s 32 launcher/game/images/logo32.png ${P}.png
|
||||
make_desktop_entry ${PN}-${SLOT} "Ren'Py ${PV}" ${P}
|
||||
fi
|
||||
|
||||
if use doc; then
|
||||
dohtml -r doc
|
||||
fi
|
||||
|
||||
prepgamesdirs
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
games_pkg_preinst
|
||||
use development && gnome2_icon_savelist
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
games_pkg_postinst
|
||||
use development && gnome2_icon_cache_update
|
||||
|
||||
einfo "running: eselect renpy update --if-unset"
|
||||
eselect renpy update --if-unset
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
use development && gnome2_icon_cache_update
|
||||
|
||||
einfo "running: eselect renpy update --if-unset"
|
||||
eselect renpy update --if-unset
|
||||
}
|
|
@ -1 +0,0 @@
|
|||
EBUILD grim-9999.ebuild 491 BLAKE2B 6577af6db7b5ea7e540655a53d838779036c7bd86f2d4665851ab8be61ae711a591804a26cc24ef12377fb4a3f1046766e73c4312729954f1af5d4111bdb639e SHA512 883fef75a11e4fd9c658f24209cfb8122d616bc24c48d0b6f8e2f36f7b165c0590b535b57ef98fb84d88dd752fd7360ed276920d1267e150d3381c0da0e00d3d
|
|
@ -1,27 +0,0 @@
|
|||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit git-r3 eutils meson
|
||||
|
||||
DESCRIPTION="Grab images from a Wayland compositor"
|
||||
HOMEPAGE="https://wayland.emersion.fr/grim"
|
||||
|
||||
EGIT_REPO_URI="https://github.com/emersion/grim.git"
|
||||
EGIT_BRANCH="master"
|
||||
|
||||
SRC_URI=""
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 x86"
|
||||
IUSE="+slurp"
|
||||
|
||||
DEPEND="
|
||||
dev-libs/wayland
|
||||
x11-libs/cairo
|
||||
slurp? ( gui-apps/slurp )"
|
||||
|
||||
RDEPEND="${DEPEND}"
|
||||
BDEPEND=""
|
|
@ -1,36 +0,0 @@
|
|||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: $
|
||||
|
||||
EAPI=5
|
||||
|
||||
PYTHON_COMPAT=( python3_{6,7,8} )
|
||||
|
||||
inherit python-r1 distutils-r1
|
||||
|
||||
MY_VERSION="3.33"
|
||||
|
||||
DESCRIPTION="Replacement for i3status"
|
||||
HOMEPAGE="http://docs.enkore.de/i3pystatus"
|
||||
SRC_URI="https://github.com/enkore/${PN}/archive/${MY_VERSION}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64"
|
||||
IUSE="alsa dbus psutil network parcel"
|
||||
# IUSE="weather wifi pulseaudio"
|
||||
|
||||
DEPEND=""
|
||||
RDEPEND="
|
||||
${PYTHON_DEPS}
|
||||
alsa? ( dev-python/pyalsaaudio )
|
||||
dbus? ( dev-python/dbus-python )
|
||||
psutil? ( dev-python/psutil )
|
||||
network? ( dev-python/netifaces )
|
||||
parcel? ( dev-python/beautifulsoup:4 dev-python/cssselect dev-python/lxml )"
|
||||
# RDEPEND="
|
||||
# weather? ( dev-python/pywapi )
|
||||
# wifi? ( dev-python/netifaces dev-python/basiciw )
|
||||
# pulseaudio? ( dev-python/colour )"
|
||||
|
||||
S="${WORKDIR}/${PN}-${MY_VERSION}"
|
|
@ -2,16 +2,16 @@
|
|||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: $
|
||||
|
||||
EAPI=5
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python3_{6,7,8} )
|
||||
PYTHON_COMPAT=( python3_{7,8,9} )
|
||||
|
||||
inherit python-r1 distutils-r1 git-r3
|
||||
|
||||
DESCRIPTION="Replacement for i3status"
|
||||
HOMEPAGE="http://docs.enkore.de/i3pystatus"
|
||||
EGIT_REPO_URI="https://github.com/enkore/i3pystatus.git"
|
||||
EGIT_BRANCH="master"
|
||||
EGIT_BRANCH="current"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
EBUILD mako-9999.ebuild 623 BLAKE2B e2ad02b17a1b691cb127ab917a786f0d87266cfd0a8c40fd833afb26f5c945a7f594fdd0a9762eb4c87e81b74fbbf322f8d81e59abb39c7be8ddc67e97f4ebbb SHA512 ccb3aa8eee22713589b43b8273cb2c7d706de4200bdda63fa6070bb1f352e063a091a6ae071d2b8bd0113b9a7f4f07a958d84a72231e284b8fd5333999973371
|
|
@ -1,36 +0,0 @@
|
|||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
inherit meson
|
||||
|
||||
DESCRIPTION="A lightweight Wayland notification daemon"
|
||||
HOMEPAGE="https://mako-project.org/"
|
||||
|
||||
if [ ${PV} -eq "9999" ]; then
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="https://github.com/emersion/mako"
|
||||
EGIT_CLONE_TYPE="shallow"
|
||||
else
|
||||
SRC_URI=""
|
||||
fi
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="~x86 ~amd64"
|
||||
|
||||
IUSE="systemd elogind"
|
||||
|
||||
DEPEND="
|
||||
dev-libs/wayland
|
||||
x11-libs/pango
|
||||
x11-libs/cairo
|
||||
systemd? ( sys-libs/libsystemd )
|
||||
elogind? ( sys-auth/elogind )
|
||||
"
|
||||
RDEPEND="${DEPEND}"
|
||||
|
||||
src_configure() {
|
||||
meson_src_configure
|
||||
}
|
|
@ -1 +0,0 @@
|
|||
EBUILD slurp-9999.ebuild 462 BLAKE2B 3ef44114b086a2f1cd599a4a1efa4674287eeaf5d3753e7032ecf2c55a9a9b497c69aa7be4628fb6341c81a5bcaca43aebe1224dab7af1144f966db108059e2f SHA512 5cf4b17ef109f2ecb032bad187b8305718990d2a875e79483a78adbc43358d5146d27ccfab199e438cc190717b47402c833037cf3f4ed9fcd8fe56fb93d0793d
|
|
@ -1,26 +0,0 @@
|
|||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit git-r3 eutils meson
|
||||
|
||||
DESCRIPTION="Select a region in a Wayland compositor"
|
||||
HOMEPAGE="https://wayland.emersion.fr/slurp"
|
||||
|
||||
EGIT_REPO_URI="https://github.com/emersion/slurp.git"
|
||||
EGIT_BRANCH="master"
|
||||
|
||||
SRC_URI=""
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 x86"
|
||||
IUSE=""
|
||||
|
||||
DEPEND="
|
||||
dev-libs/wayland
|
||||
x11-libs/cairo"
|
||||
|
||||
RDEPEND="${DEPEND}"
|
||||
BDEPEND=""
|
|
@ -1 +0,0 @@
|
|||
EBUILD swaybg-9999.ebuild 531 BLAKE2B bfcc65b7cd81d2b91ac0088a70c21cf80e3d5583439ada4104af159b95340ffe8c2c341d77a61418d64856ad073f24f4363fc7327de80e8430e798d012eb33dc SHA512 023874c97a3787690ebb774d14d8309c5159b9579ea17950c7fb698a71878731ebedd3b6d0f73b113716841ff6860b00542887904532aacd4bb5ba86bab12f53
|
|
@ -1,27 +0,0 @@
|
|||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
inherit git-r3 eutils meson
|
||||
|
||||
DESCRIPTION="wayland-compatible screen locking"
|
||||
HOMEPAGE="http://swaywm.org/"
|
||||
|
||||
EGIT_REPO_URI="https://github.com/swaywm/swaybg.git"
|
||||
EGIT_BRANCH="master"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS=""
|
||||
IUSE=""
|
||||
|
||||
RDEPEND="gui-libs/wlroots
|
||||
dev-libs/wayland
|
||||
x11-libs/gdk-pixbuf[jpeg]
|
||||
x11-libs/cairo
|
||||
virtual/pam
|
||||
x11-libs/libxkbcommon"
|
||||
DEPEND="${RDEPEND}
|
||||
app-text/scdoc
|
||||
dev-libs/wayland-protocols"
|
|
@ -1 +0,0 @@
|
|||
EBUILD swayidle-9999.ebuild 433 BLAKE2B b76e3481ee80bb4ddcfdac0c5bccc1ca997b5f9ce008b5a83399cc6ce81c266b9e90565c0d8be60a7d63a99f1d234fe38c0de9427a384cbddb4a537afeed2f5f SHA512 376a9baca08ee5e351b0a1766c91aa0304e11ecf6bd9d95d39613161fe89b107f0c86260bff0a9f2e155a67a68f29546d6fb9da5748ffbfc031dcb7946769eff
|
|
@ -1,22 +0,0 @@
|
|||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
inherit git-r3 eutils meson
|
||||
|
||||
DESCRIPTION="wayland-compatible DPMS idling"
|
||||
HOMEPAGE="http://swaywm.org/"
|
||||
|
||||
EGIT_REPO_URI="https://github.com/swaywm/swayidle.git"
|
||||
EGIT_BRANCH="master"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS=""
|
||||
IUSE=""
|
||||
|
||||
RDEPEND="dev-libs/wayland"
|
||||
DEPEND="${RDEPEND}
|
||||
app-text/scdoc
|
||||
dev-libs/wayland-protocols"
|
|
@ -1 +0,0 @@
|
|||
EBUILD swaylock-9999.ebuild 533 BLAKE2B 6fa073876ef504962032e5308f99928211c006f6c3a6884037220ccfd2327ff854e6bb7de29bd299fcde25127b68cffb3db2d273fee73da5ba1c8e684fbc1164 SHA512 e0a027ffcc412992ab7119e27b7d94eeaeb3a2e7d64b621aef3a4bdf043b5312e76e535e8c452a0eda25046dfb7b22fb81452bb2ca103777263ef2f3291ea675
|
|
@ -1,27 +0,0 @@
|
|||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
inherit git-r3 eutils meson
|
||||
|
||||
DESCRIPTION="wayland-compatible screen locking"
|
||||
HOMEPAGE="http://swaywm.org/"
|
||||
|
||||
EGIT_REPO_URI="https://github.com/swaywm/swaylock.git"
|
||||
EGIT_BRANCH="master"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS=""
|
||||
IUSE=""
|
||||
|
||||
RDEPEND="gui-libs/wlroots
|
||||
dev-libs/wayland
|
||||
x11-libs/gdk-pixbuf[jpeg]
|
||||
x11-libs/cairo
|
||||
virtual/pam
|
||||
x11-libs/libxkbcommon"
|
||||
DEPEND="${RDEPEND}
|
||||
app-text/scdoc
|
||||
dev-libs/wayland-protocols"
|
|
@ -1 +0,0 @@
|
|||
EBUILD waybar-9999.ebuild 986 BLAKE2B f404ba25876e511c2820f9a392345c086f4d495cebc38789357e523ed7a8c2bef6f544b13e94358d6b1b0f0026ebb9d825dd19d4f3b4bdbd773ca34c10ec0de9 SHA512 0f21b1ad02f76b8bf957d4919698fe40b02019cbfd375efbf070568038ba9bed0c07fe7129d48f46bb01d52043010913b68c44653fd3c223b865b00301abe6e3
|
|
@ -1,47 +0,0 @@
|
|||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit git-r3 eutils meson
|
||||
|
||||
DESCRIPTION="Select a region in a Wayland compositor"
|
||||
HOMEPAGE="https://github.com/Alexays/Waybar/wiki"
|
||||
|
||||
EGIT_REPO_URI="https://github.com/Alexays/Waybar.git"
|
||||
EGIT_BRANCH="master"
|
||||
|
||||
SRC_URI=""
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 x86"
|
||||
IUSE="+libnl dbusmenu pulseaudio"
|
||||
|
||||
DEPEND="
|
||||
dev-libs/wayland
|
||||
dev-libs/wayland-protocols
|
||||
dev-libs/libinput
|
||||
dev-libs/glib
|
||||
gui-libs/wlroots
|
||||
dev-cpp/gtkmm
|
||||
dev-libs/libfmt
|
||||
dev-libs/libsigc++
|
||||
dev-libs/jsoncpp
|
||||
dbusmenu? ( dev-libs/gobject-introspection )
|
||||
dbusmenu? ( dev-libs/libdbusmenu )
|
||||
pulseaudio? ( media-sound/pulseaudio )
|
||||
libnl? ( dev-libs/libnl ) "
|
||||
|
||||
RDEPEND="${DEPEND}"
|
||||
BDEPEND=""
|
||||
|
||||
src_configure() {
|
||||
local emesonargs=(
|
||||
-Ddbusmenu-gtk=$(usex dbusmenu enabled disabled)
|
||||
-Dlibnl=$(usex libnl enabled disabled)
|
||||
-Dpulseaudio=$(usex pulseaudio enabled disabled)
|
||||
)
|
||||
|
||||
meson_src_configure
|
||||
}
|
|
@ -1 +0,0 @@
|
|||
EBUILD wl-clipboard-9999.ebuild 497 BLAKE2B dd51b2ec8eadbbbca4c9929b131658279ecae01769cbddf4bcfe87370663ecae361032e64b4113d65d0e0ce3c93dee3c152e1b414083a1cabc10732adf9331e3 SHA512 9f005e8b23f48571098cff049d160d53dd0a8b3aadc9683f6190508491c667a66b2955429b92fc38d58f115b6c772acfdc61916f421b4953152710f99cd60b77
|
|
@ -1,27 +0,0 @@
|
|||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit git-r3 eutils meson
|
||||
|
||||
DESCRIPTION="Select a region in a Wayland compositor"
|
||||
HOMEPAGE="https://github.com/bugaevc/wl-clipboard"
|
||||
|
||||
EGIT_REPO_URI="https://github.com/bugaevc/wl-clipboard.git"
|
||||
EGIT_BRANCH="master"
|
||||
|
||||
SRC_URI=""
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS=""
|
||||
IUSE=""
|
||||
|
||||
DEPEND="
|
||||
dev-libs/wayland
|
||||
dev-libs/wayland-protocols
|
||||
x11-misc/xdg-utils"
|
||||
|
||||
RDEPEND="${DEPEND}"
|
||||
BDEPEND=""
|
|
@ -1 +0,0 @@
|
|||
EBUILD wlroots-9999.ebuild 1463 BLAKE2B 7ca625f930bf47baf7315f1c6f49b2861c9c6e05e14f537155d05fce35dace4f421b36c0083e35406f6ee29adb4dee70f0aac7899c542445cb1ce5c8b1b09e4d SHA512 96970a619847fabdc1ace0e03476d650614fd984ded1f420d71e571f4177e12447d45b1b9147dac1d9a76083768579abddad184c8d39a4cd5d4eea23ceada630
|
|
@ -1,62 +0,0 @@
|
|||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
inherit meson
|
||||
|
||||
DESCRIPTION="Pluggable, composable modules for building a Wayland compositor."
|
||||
HOMEPAGE="https://github.com/SirCmpwn/wlroots"
|
||||
|
||||
if [ ${PV} -eq "9999" ]; then
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="https://github.com/SirCmpwn/wlroots"
|
||||
EGIT_CLONE_TYPE="shallow"
|
||||
else
|
||||
SRC_URI=""
|
||||
fi
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="~x86 ~amd64"
|
||||
|
||||
IUSE="libcap systemd xwayland xcb-errors elogind -examples"
|
||||
|
||||
DEPEND="
|
||||
x11-libs/libxkbcommon
|
||||
dev-libs/libinput
|
||||
x11-libs/libdrm
|
||||
dev-libs/wayland
|
||||
>=dev-libs/wayland-protocols-1.15
|
||||
virtual/libudev
|
||||
x11-libs/pixman
|
||||
media-libs/mesa[egl,gles2,gbm]
|
||||
x11-libs/libxcb
|
||||
x11-base/xcb-proto
|
||||
libcap? ( sys-libs/libcap )
|
||||
systemd? ( sys-apps/systemd )
|
||||
xwayland? ( x11-base/xorg-server[wayland] )
|
||||
elogind? ( sys-auth/elogind )
|
||||
"
|
||||
RDEPEND="${DEPEND}"
|
||||
|
||||
src_configure() {
|
||||
local logd
|
||||
|
||||
if use elogind && use systemd; then echo "=-=-=- Both USE=systemd and USE=elogind have been selected, elogind preferred."; fi
|
||||
if use elogind; then
|
||||
logd="-Dlogind-provider=elogind -Dlogind=enabled"
|
||||
elif use systemd; then
|
||||
logd="-Dlogind-provider=systemd -Dlogind=enabled"
|
||||
else
|
||||
logd="-Dlogind=disabled"
|
||||
fi
|
||||
local emesonargs=(
|
||||
-Dlibcap=$(usex libcap enabled disabled)
|
||||
$logd
|
||||
-Dxcb-errors=$(usex xcb-errors enabled disabled)
|
||||
-Dxwayland=$(usex xwayland enabled disabled)
|
||||
-Dexamples=$(usex examples true false)
|
||||
)
|
||||
meson_src_configure
|
||||
}
|
|
@ -1,2 +0,0 @@
|
|||
EBUILD sway-9999.ebuild 1441 BLAKE2B 91442fc3d9899dace62545c92beb551da4ff356479201fa8676f1993a13688ddd76b0d354b4082c331c1be0092472302597ea9d0c5f6be28c8bd20befac747a8 SHA512 9b928bba5aeed7f25dedb1c4cf617db74cfec3ee389cdb350983b8ae15b0060a444cd83de459cba08e487e46cc8c8b019216e9c08fb407adf4cafa55623d07a5
|
||||
MISC metadata.xml 1746 BLAKE2B 9d304a2ec759a15f644e6efd90bf59175c0a1d9c166ea1107bf71978f76c9bdb9f735b545b0b127d2ad55e82d9c90fafc15c292e63facb71cf70b0b6c8a0b474 SHA512 0c019a562828c5fd18d5b01f966eb3b7301ae7399e5b979708a9a31e23b056238d720aa44bff79aa21c5609d8a69d32d7733b82e3931a2bcdfcbf9ff7d8056c7
|
|
@ -1,40 +0,0 @@
|
|||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="person">
|
||||
<email>simon@simonics.net</email>
|
||||
<name>Simon M</name>
|
||||
</maintainer>
|
||||
<maintainer type="project">
|
||||
<email>proxy-maint@gentoo.org</email>
|
||||
<name>Proxy Maintainers</name>
|
||||
</maintainer>
|
||||
<longdescription lang="en">
|
||||
"SirCmpwn's Wayland window manager" is an i3-compatible window manager
|
||||
for Wayland.
|
||||
|
||||
sway was created to fill the need of an i3-like window manager for
|
||||
Wayland. The upstream i3 developers have no intention of porting i3 to
|
||||
Wayland, and projects proposed by others ended up as vaporware. Many
|
||||
thanks to the i3 folks for providing such a great piece of software, so
|
||||
good that your users would rather write an entirely new window manager
|
||||
from scratch that behaved *exactly* like i3 rather than switch to
|
||||
something else.
|
||||
</longdescription>
|
||||
<use>
|
||||
<flag name="gdk-pixbuf">
|
||||
Enable additional image format support via the
|
||||
<pkg>x11-libs/gdk-pixbuf</pkg> library.
|
||||
</flag>
|
||||
<flag name="swaybar">Build 'swaybar': sway's status bar component.</flag>
|
||||
<flag name="swaybg">Build 'swaybg': allows to set a desktop background image.</flag>
|
||||
<flag name="swaygrab">Build 'swaygrab': allows taking screenshots or screencasts.</flag>
|
||||
<flag name="swaylock">Build 'swaylock': sway's screen locker.</flag>
|
||||
<flag name="swaymsg">Build 'swaymsg': tool for communicating with a running sway instance.</flag>
|
||||
<flag name="wallpapers">Install sway's default wallpaper image.</flag>
|
||||
<flag name="tray">Enable support for StatusNotifierItem tray specification.</flag>
|
||||
</use>
|
||||
<upstream>
|
||||
<remote-id type="github">swaywm/sway</remote-id>
|
||||
</upstream>
|
||||
</pkgmetadata>
|
|
@ -1,59 +0,0 @@
|
|||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
inherit git-r3 eutils meson
|
||||
|
||||
DESCRIPTION="i3-compatible Wayland window manager"
|
||||
HOMEPAGE="http://swaywm.org/"
|
||||
|
||||
EGIT_REPO_URI="https://github.com/swaywm/sway.git"
|
||||
EGIT_BRANCH="master"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS=""
|
||||
IUSE="+gdk-pixbuf systemd swaylock swayidle +tray wallpapers zsh-completion logind +xwayland"
|
||||
|
||||
RDEPEND="=gui-libs/wlroots-9999[systemd=]
|
||||
>=dev-libs/json-c-0.13
|
||||
dev-libs/libpcre
|
||||
dev-libs/wayland
|
||||
sys-libs/libcap
|
||||
x11-libs/cairo
|
||||
x11-libs/pango
|
||||
gdk-pixbuf? ( x11-libs/gdk-pixbuf[jpeg] )
|
||||
swaylock? ( virtual/pam )
|
||||
xwayland? ( x11-base/xorg-server[wayland] )
|
||||
tray? ( sys-apps/dbus )
|
||||
swaylock? ( gui-apps/swaylock )
|
||||
swayidle? ( gui-apps/swayidle )"
|
||||
|
||||
DEPEND="${RDEPEND}
|
||||
app-text/scdoc
|
||||
virtual/pkgconfig"
|
||||
|
||||
src_configure() {
|
||||
local emesonargs=(
|
||||
-Dtray=$(usex tray enabled disabled)
|
||||
$(meson_use wallpapers default-wallpaper)
|
||||
$(meson_use zsh-completion zsh-completions)
|
||||
-Dxwayland=$(usex xwayland enabled disabled)
|
||||
-Dgdk-pixbuf=$(usex gdk-pixbuf enabled disabled)
|
||||
$(meson_use logind logind)
|
||||
)
|
||||
|
||||
meson_src_configure
|
||||
}
|
||||
|
||||
src_install() {
|
||||
meson_src_install
|
||||
|
||||
use !systemd && use !logind && fperms u+s /usr/bin/sway
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
optfeature "screenshot support" dev-libs/grim dev-libs/slurp
|
||||
optfeature "X11 applications support" dev-libs/wlroots[xwayland] x11-base/xorg-server[wayland]
|
||||
}
|
|
@ -1,3 +0,0 @@
|
|||
DIST quodlibet-3.9.1.tar.gz 3850929 BLAKE2B c4317521259f1d46e927276ee8bd927afd72708f7b6e260a68e2cfe6e949f44e08df5884f3613804955b18b7284f0140f9d2d409833bd0a139732728903ae978 SHA512 6d6b6380de2fc2d3ab1614b304f2d7219ff1d823e03f532baa0e9b1308fd36094ad745433494253d956182ae9914eb62846df3d3e5fea92dddccdaa725178563
|
||||
EBUILD quodlibet-3.9.1.ebuild 1769 BLAKE2B 80cef352fa2378adf7a36fce92dccb3d7b4d7ba2634bcf25fec97083bfe14b3088c34b2b6e58280cff4ddd1094ed1f9dccd5db692020de2d1145c7a4d8a075b2 SHA512 2cb9d5c1e9141c219380acb9fae2db88e6f584bb37318741780b3406096aaa4a96f3249634d1277436772cf65c66517e056d21aaf8b5f2c39ccdec34d3c5b058
|
||||
MISC metadata.xml 1154 BLAKE2B 96616431339f5375934dbc603e19898a500ffce9db92ff812c3aa6685c577a417b39bf8aa24090df7e78d515a9eaeafe7e3dd94dd7a6536d86b39ec05bbcaee2 SHA512 693bedf8126329d5f9e205f8d76e39d0099a0be0f6d350db9b8293e2d04ba25baf2f1b5d0e77a05baadb7ed2f0371c9a1619bb0622e0d8a83e7fb13e9f091472
|
|
@ -1,28 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="person">
|
||||
<email>tamiko@gentoo.org</email>
|
||||
<name>Matthias Maier</name>
|
||||
</maintainer>
|
||||
<maintainer type="person">
|
||||
<email>klausman@gentoo.org</email>
|
||||
<name>Tobias Klausmann</name>
|
||||
</maintainer>
|
||||
<maintainer type="project">
|
||||
<email>sound@gentoo.org</email>
|
||||
<name>Gentoo Sound project</name>
|
||||
</maintainer>
|
||||
<longdescription>Quod Libet is a GTK+-based audio player written in Python. It's
|
||||
designed around the idea that you know better than we do how to
|
||||
organize your music. It lets you make playlists based on regular
|
||||
expressions (don't worry, regular searches work too). It lets you
|
||||
display and edit any tags you want in the file. And it lets you do
|
||||
this for all the file formats it supports -- Ogg Vorbis, FLAC, MP3,
|
||||
Musepack, and MOD.</longdescription>
|
||||
<upstream>
|
||||
<remote-id type="google-code">quodlibet</remote-id>
|
||||
<remote-id type="github">quodlibet/quodlibet</remote-id>
|
||||
<remote-id type="bitbucket">lazka/quodlibet-files</remote-id>
|
||||
</upstream>
|
||||
</pkgmetadata>
|
|
@ -1,73 +0,0 @@
|
|||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
PYTHON_COMPAT=( python2_7 )
|
||||
inherit distutils-r1 gnome2-utils fdo-mime
|
||||
|
||||
DESCRIPTION="audio library tagger, manager, and player for GTK+"
|
||||
HOMEPAGE="http://quodlibet.readthedocs.org"
|
||||
SRC_URI="https://github.com/${PN}/${PN}/archive/release-${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 ppc ppc64 x86"
|
||||
IUSE="+dbus gstreamer ipod +udev"
|
||||
|
||||
RDEPEND="dev-libs/keybinder:3[introspection]
|
||||
dev-python/feedparser[${PYTHON_USEDEP}]
|
||||
dev-python/faulthandler[${PYTHON_USEDEP}]
|
||||
dev-python/futures[${PYTHON_USEDEP}]
|
||||
dev-python/pygobject:3[${PYTHON_USEDEP}]
|
||||
>=media-libs/mutagen-1.32[${PYTHON_USEDEP}]
|
||||
net-libs/libsoup[introspection]
|
||||
x11-libs/gtk+[introspection]
|
||||
gstreamer? (
|
||||
media-libs/gstreamer:1.0
|
||||
media-libs/gst-plugins-base:1.0
|
||||
media-libs/gst-plugins-good:1.0
|
||||
media-plugins/gst-plugins-meta:1.0
|
||||
)
|
||||
!gstreamer? ( media-libs/xine-lib )
|
||||
dbus? (
|
||||
app-misc/media-player-info
|
||||
dev-python/dbus-python[${PYTHON_USEDEP}]
|
||||
)
|
||||
ipod? ( media-libs/libgpod[python,${PYTHON_USEDEP}] )
|
||||
udev? ( virtual/udev )
|
||||
!media-plugins/quodlibet-plugins"
|
||||
DEPEND="dev-util/intltool"
|
||||
REQUIRED_USE="ipod? ( dbus )"
|
||||
|
||||
S="${WORKDIR}/${PN}-release-${PV}/${PN}"
|
||||
|
||||
src_prepare() {
|
||||
local qlconfig=${PN}/config.py
|
||||
|
||||
if ! use gstreamer; then
|
||||
sed -i -e '/backend/s:gstbe:xinebe:' ${qlconfig} || die
|
||||
fi
|
||||
|
||||
sed -i -e '/gst_pipeline/s:"":"alsasink":' ${qlconfig} || die
|
||||
|
||||
distutils-r1_src_prepare
|
||||
}
|
||||
|
||||
src_install() {
|
||||
distutils-r1_src_install
|
||||
dodoc NEWS README
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
gnome2_icon_savelist
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
fdo-mime_desktop_database_update
|
||||
gnome2_icon_cache_update
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
fdo-mime_desktop_database_update
|
||||
gnome2_icon_cache_update
|
||||
}
|
|
@ -1 +0,0 @@
|
|||
EBUILD bitlbee-facebook-9999.ebuild 716 BLAKE2B dbdb2d21d9464d1583eb6f92ae9a44db7a4233cc4d51d3146dcd368e254b165a27a8c8bf90b27083172ed50e20f77428af08f0c221551409dce4020269913aed SHA512 b5d91a3dbb9ddeccdf35bbc8da3b1bc03d31a990fadf9e69fa518529214d73e4859183c9b07b195e33dd73331e19d8e6d76510f306a0a9a395721209e7dc262e
|
|
@ -1,36 +0,0 @@
|
|||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: $
|
||||
|
||||
EAPI=5
|
||||
|
||||
inherit git-r3 eutils autotools
|
||||
|
||||
DESCRIPTION="The Facebook protocol plugin for bitlbee. This plugin uses the Facebook Mobile API."
|
||||
HOMEPAGE="https://github.com/jgeboski/bitlbee-facebook"
|
||||
SRC_URI=""
|
||||
EGIT_REPO_URI="https://github.com/jgeboski/bitlbee-facebook.git"
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~x86 ~amd64"
|
||||
IUSE="debug"
|
||||
|
||||
DEPEND="dev-libs/glib:2
|
||||
>=net-im/bitlbee-3.2.2[plugins]
|
||||
>=sys-libs/zlib-1.2.8-r1"
|
||||
RDEPEND="${DEPEND}"
|
||||
|
||||
src_prepare() {
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
econf \
|
||||
$(use_enable debug) \
|
||||
--enable-minimal-flags
|
||||
}
|
||||
|
||||
src_install() {
|
||||
default
|
||||
prune_libtool_files
|
||||
}
|
|
@ -1,2 +0,0 @@
|
|||
DIST internode-quota-check 14359 BLAKE2B e871adaef4f32d150842bb72325446cd4713ed35dd845b934a182d02c66dc67afc3ee6ce8641ba8b1053bc8782b7a8afaff2c7aacac198d490409a289f560198 SHA512 74e2d66b8f4f107cd5da005654eb9d778d2d00e101ce73552f7667724cb76a1db1530a09d3f06dcd577461c31951b9a4f5b3a5b54703c36d83957d34c3b8403b
|
||||
EBUILD internode-quota-check-2.3.ebuild 614 BLAKE2B 50a5bdd7301a2fb65d749dcb50ffc72baa4c182811903f083f613640bad49fecd99385bb8e47f5edbe915025b3044abe482e024316426d70f6ea832330ba7961 SHA512 259dcd8b174e24f5da52981cbb81df6ae2bdb18f0731a4d6d39139a00782e0f9cba78ce4d0edd9d96e4ffd42c0f9d2b38f6d26c52e97157c64fc26ee430164ed
|
|
@ -1,29 +0,0 @@
|
|||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI=5
|
||||
|
||||
DESCRIPTION="A simple internode usage meter"
|
||||
HOMEPAGE="https://www.zwitterion.org/software/internode-quota-check/"
|
||||
SRC_URI="https://www.zwitterion.org/software/internode-quota-check/internode-quota-check"
|
||||
|
||||
LICENSE="GPLv3"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 x86"
|
||||
IUSE=""
|
||||
|
||||
DEPEND="dev-perl/Readonly
|
||||
virtual/perl-Time-Local
|
||||
dev-perl/WWW-Mechanize
|
||||
dev-perl/File-Slurp"
|
||||
RDEPEND="${DEPEND}"
|
||||
|
||||
src_unpack() {
|
||||
mkdir "${S}"
|
||||
cp "${DISTDIR}/${PN}" "${S}"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
dobin internode-quota-check
|
||||
}
|
|
@ -1,3 +0,0 @@
|
|||
DIST v0.7.3a.tar.gz 276281 BLAKE2B 580a7d75002382d0101d67574924b276ec4fdef4b3f0bbbb5c30b98dd8bc5ab9dc4044ef9db92dc781ce89bd7dd7a2e2c9a81d475b389d930a8fe00555715745 SHA512 daadc5cffdf0c844fc8cf0c1b25741441cd968f6769f77885945c6393f8ff5714ba1e1e8b1fde8f8acec1386f2a303ab77362b4f17f77118cb537a3185caf4e7
|
||||
EBUILD stig-0.7.3a.ebuild 738 BLAKE2B f53664d42aeafc560135789f85ca81b891121e05fde327dd1374d7086d16899de8571819d5e0c8c04049080697a87b84464a11d348e604a40d6f1c32de278174 SHA512 e2870490bf2e983d495258c07d507cbd5b163f6abbcfc95c79a185a1efcf58cb1281aa78172bb0c0d470343d0b7df3d206a28efb06e162fbb0560dae06934ce5
|
||||
EBUILD stig-9999.ebuild 738 BLAKE2B f53664d42aeafc560135789f85ca81b891121e05fde327dd1374d7086d16899de8571819d5e0c8c04049080697a87b84464a11d348e604a40d6f1c32de278174 SHA512 e2870490bf2e983d495258c07d507cbd5b163f6abbcfc95c79a185a1efcf58cb1281aa78172bb0c0d470343d0b7df3d206a28efb06e162fbb0560dae06934ce5
|
|
@ -1,33 +0,0 @@
|
|||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
PYTHON_COMPAT=( python3_{6,7,8} )
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
EGIT_REPO_URI="https://github.com/rndusr/${PN}.git"
|
||||
inherit git-r3
|
||||
SRC_URI=""
|
||||
else
|
||||
SRC_URI="https://github.com/rndusr/${PN}/archive/v${PV}.tar.gz"
|
||||
KEYWORDS="~x86 ~amd64 ~arm"
|
||||
fi
|
||||
|
||||
DESCRIPTION="TUI and CLI client for the Transmission daemon"
|
||||
HOMEPAGE="https://github.com/rndusr/stig"
|
||||
|
||||
LICENSE="GPL-3"
|
||||
SLOT="0"
|
||||
IUSE="+geoip"
|
||||
|
||||
DEPEND="geoip? ( dev-python/geoip-python )
|
||||
>=dev-python/urwid-1.3.0
|
||||
=dev-python/urwidtrees-9999
|
||||
dev-python/aiohttp
|
||||
dev-python/appdirs
|
||||
dev-python/blinker
|
||||
dev-python/natsort"
|
||||
RDEPEND="${DEPEND}"
|
|
@ -1,33 +0,0 @@
|
|||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
PYTHON_COMPAT=( python3_{6,7,8} )
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
EGIT_REPO_URI="https://github.com/rndusr/${PN}.git"
|
||||
inherit git-r3
|
||||
SRC_URI=""
|
||||
else
|
||||
SRC_URI="https://github.com/rndusr/${PN}/archive/v${PV}.tar.gz"
|
||||
KEYWORDS="~x86 ~amd64 ~arm"
|
||||
fi
|
||||
|
||||
DESCRIPTION="TUI and CLI client for the Transmission daemon"
|
||||
HOMEPAGE="https://github.com/rndusr/stig"
|
||||
|
||||
LICENSE="GPL-3"
|
||||
SLOT="0"
|
||||
IUSE="+geoip"
|
||||
|
||||
DEPEND="geoip? ( dev-python/geoip-python )
|
||||
>=dev-python/urwid-1.3.0
|
||||
=dev-python/urwidtrees-9999
|
||||
dev-python/aiohttp
|
||||
dev-python/appdirs
|
||||
dev-python/blinker
|
||||
dev-python/natsort"
|
||||
RDEPEND="${DEPEND}"
|
|
@ -1,14 +0,0 @@
|
|||
AUX 238-initctl.patch 1497 BLAKE2B 7f916414a8bb92e5d8a2b47fc9adf90da73c9fb27bd32eb2a89c5d0b56215bac1ac8c7e9e011268b2f3126fa272c0a118f5e2916f6eca48f60e359a056cf6d92 SHA512 1963c653321fd69a66f75dc441e36d47d7eb15c193066845e43a6f62d436d9a7fefd98c6418cdb08fca823720fa62887c93e67de427e599ee19b1f72301cfe62
|
||||
AUX 238-libmount-include.patch 2164 BLAKE2B d9d86e8affb6a6d5cc8cb42b4f1744936b0773318d466a7f76b43a382ffc6aca7d863cbfef7ea8a114615db35d1a6f57b22a2fd451a82b71cfac3383bb019870 SHA512 4f1d82195623a213b6439aec6a2ff17b027f4ed079e6917957635503125a0917d4069c8055b5b9d1be235c47d62235f4c7baa0cfb9184d48f06bac356b69706a
|
||||
AUX 238-nspawn-wait.patch 3415 BLAKE2B db43b0128709bba3bd50199645e2e819d0b86eb6839f3bff34b21ce989f5e9301d541265fdb0dbaa76cae00df492581a624e9ca694d4d6d1f2d1cabf5a02612c SHA512 8f1c940da604d72948aa14e735f31ce6b349d274f18836233f15bdec7605e7a52a9ac1016cbd98fdd57d547e31ff882f3244029fba58ac4a408aad41f378a0a0
|
||||
AUX libsystemd-237-libsystemd.sym 12003 BLAKE2B adcea5983c69ffb96d1a1757f4430a3b2debe4b7404f4bad50c6dbbcc1459195b50f96fea8e8598932f54a7f5be47386c58dac0ea373cff77daf0742fea1dfdf SHA512 0886119c20865fd9bb8d0f99e6355eb918ca3f70706844150def647a6e8684b423e185ba1e6dd9ab30a5503c7e33c86fdec63b2fd45829d5092a6b2d986ade1a
|
||||
AUX libsystemd-237-meson.build 32283 BLAKE2B fb2914bead320c20886bdc2b9d1ce571992f26b192eb48a93fa58c832b60af4ead8612d4c9700e8ac25ceb162cc48ccc661bbc1f759811644f021eae378bcabc SHA512 352e1143463433dc63813cfbde43ecfbdaae895d1940d34903d530206658d26e6514afbb622fe964b0863dcf451f5135dd048a6c3cadc4ad651aee7689381797
|
||||
AUX libsystemd-237-meson_build.patch 2091 BLAKE2B 1bfae6cec8d9dd2f5bf6b2d7cbd73920b39a08dd12a8dd4fa9fd679e5ce66c2d1ab9cabb8c2cb827bcd6544fa3b4db48b0e8d5d1d1d517fc69668e8660a480a0 SHA512 b4665c3bc69bd414014a34906b5920b32b09daa5cee94044c5ccace6b086a12e82e4b076ff63fc43ea3048a8f745d60efbb15cb885e6d2516414c6506618f98d
|
||||
AUX libsystemd-238-libsystemd.sym 12116 BLAKE2B dfabaea398e19b90b5e00d7a84d799efec7f493c203ed0fef7ba70dc05897020c84f561124f3d3932bbe018448cffca4b6eb472a835e05a82c719d4a9c795a14 SHA512 9963e5a13bc093fc2163f1715d549ce3324666a3ca02167cb6a14aed4b6501197cf0fa32081a126c3bbe32c342dcc881ab8993ea95c52384e7cda55140808434
|
||||
AUX libsystemd-238-meson.build 34828 BLAKE2B d45d1c0805be2d6bacef9ca36b045d90aa036720b17e94983fd73504854d9194464cb95ec871566a6fc18a838a9ff460e5b5521c4d5fc5a5b19d954dbbbc1218 SHA512 1908691eade0bb669d1ab9c10148e42864fb935012745f78f6b35b8b44edc4a3c8d0a028783f0ef68d97b0fc472444d1316d0dbeef50de46651194ecff3423d1
|
||||
AUX libsystemd-238-meson_build.patch 771 BLAKE2B 5a2c98a71b672d3cf74b1b8f71fce738f638a7e4b0ca3d3f2906ecce4968019ed6939bfd1510668079db612ebe9935220ab83a81fc612d3a551b4ebb49096b47 SHA512 62405620a40bcdb9dd9abec7400bb7319b7572dcc79eda141fe6734131aac96775c8691a78378b0c2fb632f89fadf15c219968109229cb3945df2f934d8074a6
|
||||
DIST systemd-237.tar.gz 6871350 BLAKE2B 4734a110a297fbbd6679bced6302fcdca55ab5d4207905e8dee9f5545f1de841d5adeaa4fd89961b9e63709d04b5c862b8bc81481311cf8e72ee327e459c9d91 SHA512 15ef4b92815a6dd9a6c51672dbc00fd7cd0f08068ef0cbeaca574f68d330b28bc67ba1946f24f75ef3d9e7b63843a73eea700db54688061dbf5c9f8470394c3b
|
||||
DIST systemd-238-patches-0.tar.gz 30019 BLAKE2B 0f393865cd6bcd815c1a6e932c0e5a25e125768d2bdef072d5fa7830b9ea012d0986380a1cdea8e369e1fffe89ea7657e4d55de2bae0d785ae374796a4e7c64b SHA512 f7e6fb7bf3b5cde2717a9e5dcd779a4595d6185d1ecdad8405a075edbb55b32c2573558f6af119ff50ea0df8eacef12ae7ee710fadd269f83db0985d76eb22dc
|
||||
DIST systemd-238.tar.gz 6954022 BLAKE2B 9b5cc36a7234c0d037a2656ee1e5ed54186a394b8be41771ebc29c903d3efcecf7f13f004a6d1695c022923bd0d540a243e897852f07e810f73fd3163f688dde SHA512 c0f272b022308d3bd94679184e102a8dc85de55310bda205a458ea33c77c7733e5c8c8e5b15f786ba3e0ce59e7c6a9bf0d5a0950517c6b91e0f345950129b9c8
|
||||
EBUILD libsystemd-237.ebuild 4030 BLAKE2B 5c7018d976d60bd2b3b35fb544e1d0054ed6c752ae5a68fe32d1864079187a1e2f8c1d3fecdc81ac01d3eabef11cd60c1f1f7ec974d98f68670bc14a32cad111 SHA512 30f7b4dc9aaed3d1f50778b957c5e27527b768c657a2e928bda32f2181322f7e676ce3bd0cbf861f74cc3a006e8c8087688e7952fae2983bd367f57dfe3c2517
|
||||
EBUILD libsystemd-238.ebuild 4603 BLAKE2B a62bd7783b2f960724fc39d1d1a805554160286368d0bacd6f20d7e154365be8fc152aab29f37c6007e3a80e307c8649678ab1191102f76ea51243521c730926 SHA512 ed61b5c66333fab2eb2f123d0edc148a5559e47e2e2a923e43c838e000e3d5afd2bc8be43b28f5ab4f34267ca3e2df96f0a824fcb0bfd647325005a01fee3edd
|
|
@ -1,46 +0,0 @@
|
|||
From 4d8c7c1b3a5feebca948a3b8663f5be887b57731 Mon Sep 17 00:00:00 2001
|
||||
From: Mike Gilbert <floppym@gentoo.org>
|
||||
Date: Fri, 30 Mar 2018 11:00:17 -0400
|
||||
Subject: [PATCH] units: initctl: move the fifo to /run/initctl to match
|
||||
sysvinit
|
||||
|
||||
The fifo location was moved in sysvinit-2.89.
|
||||
|
||||
http://git.savannah.nongnu.org/cgit/sysvinit.git/commit/?id=80dbcf3de3c1b83aeaa713a8fe5b8d35d8649af2
|
||||
---
|
||||
units/systemd-initctl.service.in | 2 +-
|
||||
units/systemd-initctl.socket | 4 ++--
|
||||
2 files changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/units/systemd-initctl.service.in b/units/systemd-initctl.service.in
|
||||
index 6cfed3da11f..2b4b957dce3 100644
|
||||
--- a/units/systemd-initctl.service.in
|
||||
+++ b/units/systemd-initctl.service.in
|
||||
@@ -8,7 +8,7 @@
|
||||
# (at your option) any later version.
|
||||
|
||||
[Unit]
|
||||
-Description=/dev/initctl Compatibility Daemon
|
||||
+Description=initctl Compatibility Daemon
|
||||
Documentation=man:systemd-initctl.service(8)
|
||||
DefaultDependencies=no
|
||||
|
||||
diff --git a/units/systemd-initctl.socket b/units/systemd-initctl.socket
|
||||
index 61f877ba7d2..9d975799081 100644
|
||||
--- a/units/systemd-initctl.socket
|
||||
+++ b/units/systemd-initctl.socket
|
||||
@@ -8,12 +8,12 @@
|
||||
# (at your option) any later version.
|
||||
|
||||
[Unit]
|
||||
-Description=/dev/initctl Compatibility Named Pipe
|
||||
+Description=initctl Compatibility Named Pipe
|
||||
Documentation=man:systemd-initctl.service(8)
|
||||
DefaultDependencies=no
|
||||
Before=sockets.target
|
||||
|
||||
[Socket]
|
||||
-ListenFIFO=/run/systemd/initctl/fifo
|
||||
+ListenFIFO=/run/initctl
|
||||
Symlinks=/dev/initctl
|
||||
SocketMode=0600
|
|
@ -1,72 +0,0 @@
|
|||
From 227b8a762fea1458547be2cdf0e6e4aac0079730 Mon Sep 17 00:00:00 2001
|
||||
From: Michael Olbrich <m.olbrich@pengutronix.de>
|
||||
Date: Mon, 26 Mar 2018 17:34:53 +0200
|
||||
Subject: [PATCH] core: don't include libmount.h in a header file (#8580)
|
||||
|
||||
linux/fs.h sys/mount.h, libmount.h and missing.h all include MS_*
|
||||
definitions.
|
||||
|
||||
To avoid problems, only one of linux/fs.h, sys/mount.h and libmount.h
|
||||
should be included. And missing.h must be included last.
|
||||
|
||||
Without this, building systemd may fail with:
|
||||
|
||||
In file included from [...]/libmount/libmount.h:31:0,
|
||||
from ../systemd-238/src/core/manager.h:23,
|
||||
from ../systemd-238/src/core/emergency-action.h:37,
|
||||
from ../systemd-238/src/core/unit.h:34,
|
||||
from ../systemd-238/src/core/dbus-timer.h:25,
|
||||
from ../systemd-238/src/core/timer.c:26:
|
||||
[...]/sys/mount.h:57:2: error: expected identifier before numeric constant
|
||||
---
|
||||
src/core/dbus-execute.c | 1 +
|
||||
src/core/manager.h | 3 ++-
|
||||
src/core/mount.c | 2 ++
|
||||
3 files changed, 5 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/core/dbus-execute.c b/src/core/dbus-execute.c
|
||||
index 7344623ebf6..c342093bca4 100644
|
||||
--- a/src/core/dbus-execute.c
|
||||
+++ b/src/core/dbus-execute.c
|
||||
@@ -18,6 +18,7 @@
|
||||
along with systemd; If not, see <http://www.gnu.org/licenses/>.
|
||||
***/
|
||||
|
||||
+#include <sys/mount.h>
|
||||
#include <sys/prctl.h>
|
||||
#include <stdio_ext.h>
|
||||
|
||||
diff --git a/src/core/manager.h b/src/core/manager.h
|
||||
index 28c5da225b1..e09e0cdf5e9 100644
|
||||
--- a/src/core/manager.h
|
||||
+++ b/src/core/manager.h
|
||||
@@ -20,7 +20,6 @@
|
||||
along with systemd; If not, see <http://www.gnu.org/licenses/>.
|
||||
***/
|
||||
|
||||
-#include <libmount.h>
|
||||
#include <stdbool.h>
|
||||
#include <stdio.h>
|
||||
|
||||
@@ -34,6 +33,8 @@
|
||||
#include "list.h"
|
||||
#include "ratelimit.h"
|
||||
|
||||
+struct libmnt_monitor;
|
||||
+
|
||||
/* Enforce upper limit how many names we allow */
|
||||
#define MANAGER_MAX_NAMES 131072 /* 128K */
|
||||
|
||||
diff --git a/src/core/mount.c b/src/core/mount.c
|
||||
index 0e755da5c02..0154ebda5d6 100644
|
||||
--- a/src/core/mount.c
|
||||
+++ b/src/core/mount.c
|
||||
@@ -23,6 +23,8 @@
|
||||
#include <stdio.h>
|
||||
#include <sys/epoll.h>
|
||||
|
||||
+#include <libmount.h>
|
||||
+
|
||||
#include "sd-messages.h"
|
||||
|
||||
#include "alloc-util.h"
|
|
@ -1,83 +0,0 @@
|
|||
From 7511655807e90aa33ea7b71991401a79ec36bb41 Mon Sep 17 00:00:00 2001
|
||||
From: Philip Sequeira <phsequei@gmail.com>
|
||||
Date: Thu, 5 Apr 2018 14:04:27 +0000
|
||||
Subject: [PATCH] nspawn: wait for network namespace creation before interface
|
||||
setup (#8633)
|
||||
|
||||
Otherwise, network interfaces can be "moved" into the container's
|
||||
namespace while it's still the same as the host namespace, in which case
|
||||
e.g. host0 for a veth ends up on the host side instead of inside the
|
||||
container.
|
||||
|
||||
Regression introduced in 0441378080489e4ab6704cd0a2d78cb1ceaca899.
|
||||
|
||||
Fixes #8599.
|
||||
---
|
||||
src/nspawn/nspawn.c | 19 +++++++++++++++----
|
||||
1 file changed, 15 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c
|
||||
index 810f1247ea2..a5bc50c1f4c 100644
|
||||
--- a/src/nspawn/nspawn.c
|
||||
+++ b/src/nspawn/nspawn.c
|
||||
@@ -2329,6 +2329,9 @@ static int inner_child(
|
||||
r = unshare(CLONE_NEWNET);
|
||||
if (r < 0)
|
||||
return log_error_errno(errno, "Failed to unshare network namespace: %m");
|
||||
+
|
||||
+ /* Tell the parent that it can setup network interfaces. */
|
||||
+ (void) barrier_place(barrier); /* #3 */
|
||||
}
|
||||
|
||||
r = mount_sysfs(NULL, arg_mount_settings);
|
||||
@@ -2337,7 +2340,7 @@ static int inner_child(
|
||||
|
||||
/* Wait until we are cgroup-ified, so that we
|
||||
* can mount the right cgroup path writable */
|
||||
- if (!barrier_place_and_sync(barrier)) { /* #3 */
|
||||
+ if (!barrier_place_and_sync(barrier)) { /* #4 */
|
||||
log_error("Parent died too early");
|
||||
return -ESRCH;
|
||||
}
|
||||
@@ -2448,7 +2451,7 @@ static int inner_child(
|
||||
/* Let the parent know that we are ready and
|
||||
* wait until the parent is ready with the
|
||||
* setup, too... */
|
||||
- if (!barrier_place_and_sync(barrier)) { /* #4 */
|
||||
+ if (!barrier_place_and_sync(barrier)) { /* #5 */
|
||||
log_error("Parent died too early");
|
||||
return -ESRCH;
|
||||
}
|
||||
@@ -3533,6 +3536,14 @@ static int run(int master,
|
||||
|
||||
if (arg_private_network) {
|
||||
|
||||
+ if (!arg_network_namespace_path) {
|
||||
+ /* Wait until the child has unshared its network namespace. */
|
||||
+ if (!barrier_place_and_sync(&barrier)) { /* #3 */
|
||||
+ log_error("Child died too early");
|
||||
+ return -ESRCH;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
r = move_network_interfaces(*pid, arg_network_interfaces);
|
||||
if (r < 0)
|
||||
return r;
|
||||
@@ -3656,7 +3667,7 @@ static int run(int master,
|
||||
* its setup (including cgroup-ification), and that
|
||||
* the child can now hand over control to the code to
|
||||
* run inside the container. */
|
||||
- (void) barrier_place(&barrier); /* #3 */
|
||||
+ (void) barrier_place(&barrier); /* #4 */
|
||||
|
||||
/* Block SIGCHLD here, before notifying child.
|
||||
* process_pty() will handle it with the other signals. */
|
||||
@@ -3684,7 +3695,7 @@ static int run(int master,
|
||||
return r;
|
||||
|
||||
/* Let the child know that we are ready and wait that the child is completely ready now. */
|
||||
- if (!barrier_place_and_sync(&barrier)) { /* #4 */
|
||||
+ if (!barrier_place_and_sync(&barrier)) { /* #5 */
|
||||
log_error("Child died too early.");
|
||||
return -ESRCH;
|
||||
}
|
|
@ -1,405 +0,0 @@
|
|||
/***
|
||||
SPDX-License-Identifier: LGPL-2.1+
|
||||
|
||||
This file is part of systemd.
|
||||
|
||||
systemd is free software; you can redistribute it and/or modify it
|
||||
under the terms of the GNU Lesser General Public License as published by
|
||||
the Free Software Foundation; either version 2.1 of the License, or
|
||||
(at your option) any later version.
|
||||
***/
|
||||
|
||||
LIBSYSTEMD_209 {
|
||||
global:
|
||||
/* sd-daemon */
|
||||
sd_booted;
|
||||
sd_is_fifo;
|
||||
sd_is_mq;
|
||||
sd_is_socket;
|
||||
sd_is_socket_inet;
|
||||
sd_is_socket_unix;
|
||||
sd_is_special;
|
||||
sd_listen_fds;
|
||||
sd_notify;
|
||||
sd_notifyf;
|
||||
sd_watchdog_enabled;
|
||||
|
||||
/* sd-id128 */
|
||||
sd_id128_to_string;
|
||||
sd_id128_from_string;
|
||||
sd_id128_randomize;
|
||||
sd_id128_get_machine;
|
||||
sd_id128_get_boot;
|
||||
local:
|
||||
*;
|
||||
};
|
||||
|
||||
LIBSYSTEMD_214 {
|
||||
global:
|
||||
sd_pid_notify;
|
||||
sd_pid_notifyf;
|
||||
} LIBSYSTEMD_209;
|
||||
|
||||
LIBSYSTEMD_219 {
|
||||
global:
|
||||
sd_pid_notify_with_fds;
|
||||
} LIBSYSTEMD_214;
|
||||
|
||||
LIBSYSTEMD_221 {
|
||||
global:
|
||||
/* sd-bus */
|
||||
sd_bus_default;
|
||||
sd_bus_default_user;
|
||||
sd_bus_default_system;
|
||||
sd_bus_open;
|
||||
sd_bus_open_user;
|
||||
sd_bus_open_system;
|
||||
sd_bus_open_system_remote;
|
||||
sd_bus_open_system_machine;
|
||||
sd_bus_new;
|
||||
sd_bus_set_address;
|
||||
sd_bus_set_fd;
|
||||
sd_bus_set_exec;
|
||||
sd_bus_get_address;
|
||||
sd_bus_set_bus_client;
|
||||
sd_bus_is_bus_client;
|
||||
sd_bus_set_server;
|
||||
sd_bus_is_server;
|
||||
sd_bus_set_anonymous;
|
||||
sd_bus_is_anonymous;
|
||||
sd_bus_set_trusted;
|
||||
sd_bus_is_trusted;
|
||||
sd_bus_set_monitor;
|
||||
sd_bus_is_monitor;
|
||||
sd_bus_set_description;
|
||||
sd_bus_get_description;
|
||||
sd_bus_negotiate_creds;
|
||||
sd_bus_negotiate_timestamp;
|
||||
sd_bus_negotiate_fds;
|
||||
sd_bus_can_send;
|
||||
sd_bus_get_creds_mask;
|
||||
sd_bus_set_allow_interactive_authorization;
|
||||
sd_bus_get_allow_interactive_authorization;
|
||||
sd_bus_start;
|
||||
sd_bus_close;
|
||||
sd_bus_try_close;
|
||||
sd_bus_ref;
|
||||
sd_bus_unref;
|
||||
sd_bus_is_open;
|
||||
sd_bus_get_bus_id;
|
||||
sd_bus_get_scope;
|
||||
sd_bus_get_tid;
|
||||
sd_bus_get_owner_creds;
|
||||
sd_bus_send;
|
||||
sd_bus_send_to;
|
||||
sd_bus_call;
|
||||
sd_bus_call_async;
|
||||
sd_bus_get_fd;
|
||||
sd_bus_get_events;
|
||||
sd_bus_get_timeout;
|
||||
sd_bus_process;
|
||||
sd_bus_process_priority;
|
||||
sd_bus_wait;
|
||||
sd_bus_flush;
|
||||
sd_bus_get_current_slot;
|
||||
sd_bus_get_current_message;
|
||||
sd_bus_get_current_handler;
|
||||
sd_bus_get_current_userdata;
|
||||
sd_bus_attach_event;
|
||||
sd_bus_detach_event;
|
||||
sd_bus_get_event;
|
||||
sd_bus_add_filter;
|
||||
sd_bus_add_match;
|
||||
sd_bus_add_object;
|
||||
sd_bus_add_fallback;
|
||||
sd_bus_add_object_vtable;
|
||||
sd_bus_add_fallback_vtable;
|
||||
sd_bus_add_node_enumerator;
|
||||
sd_bus_add_object_manager;
|
||||
sd_bus_slot_ref;
|
||||
sd_bus_slot_unref;
|
||||
sd_bus_slot_get_bus;
|
||||
sd_bus_slot_get_userdata;
|
||||
sd_bus_slot_set_userdata;
|
||||
sd_bus_slot_get_description;
|
||||
sd_bus_slot_set_description;
|
||||
sd_bus_slot_get_current_message;
|
||||
sd_bus_slot_get_current_handler;
|
||||
sd_bus_slot_get_current_userdata;
|
||||
sd_bus_message_new_signal;
|
||||
sd_bus_message_new_method_call;
|
||||
sd_bus_message_new_method_return;
|
||||
sd_bus_message_new_method_error;
|
||||
sd_bus_message_new_method_errorf;
|
||||
sd_bus_message_new_method_errno;
|
||||
sd_bus_message_new_method_errnof;
|
||||
sd_bus_message_ref;
|
||||
sd_bus_message_unref;
|
||||
sd_bus_message_get_type;
|
||||
sd_bus_message_get_cookie;
|
||||
sd_bus_message_get_reply_cookie;
|
||||
sd_bus_message_get_priority;
|
||||
sd_bus_message_get_expect_reply;
|
||||
sd_bus_message_get_auto_start;
|
||||
sd_bus_message_get_allow_interactive_authorization;
|
||||
sd_bus_message_get_signature;
|
||||
sd_bus_message_get_path;
|
||||
sd_bus_message_get_interface;
|
||||
sd_bus_message_get_member;
|
||||
sd_bus_message_get_destination;
|
||||
sd_bus_message_get_sender;
|
||||
sd_bus_message_get_error;
|
||||
sd_bus_message_get_errno;
|
||||
sd_bus_message_get_monotonic_usec;
|
||||
sd_bus_message_get_realtime_usec;
|
||||
sd_bus_message_get_seqnum;
|
||||
sd_bus_message_get_bus;
|
||||
sd_bus_message_get_creds;
|
||||
sd_bus_message_is_signal;
|
||||
sd_bus_message_is_method_call;
|
||||
sd_bus_message_is_method_error;
|
||||
sd_bus_message_is_empty;
|
||||
sd_bus_message_has_signature;
|
||||
sd_bus_message_set_expect_reply;
|
||||
sd_bus_message_set_auto_start;
|
||||
sd_bus_message_set_allow_interactive_authorization;
|
||||
sd_bus_message_set_destination;
|
||||
sd_bus_message_set_priority;
|
||||
sd_bus_message_append;
|
||||
sd_bus_message_append_basic;
|
||||
sd_bus_message_append_array;
|
||||
sd_bus_message_append_array_space;
|
||||
sd_bus_message_append_array_iovec;
|
||||
sd_bus_message_append_array_memfd;
|
||||
sd_bus_message_append_string_space;
|
||||
sd_bus_message_append_string_iovec;
|
||||
sd_bus_message_append_string_memfd;
|
||||
sd_bus_message_append_strv;
|
||||
sd_bus_message_open_container;
|
||||
sd_bus_message_close_container;
|
||||
sd_bus_message_copy;
|
||||
sd_bus_message_read;
|
||||
sd_bus_message_read_basic;
|
||||
sd_bus_message_read_array;
|
||||
sd_bus_message_read_strv;
|
||||
sd_bus_message_skip;
|
||||
sd_bus_message_enter_container;
|
||||
sd_bus_message_exit_container;
|
||||
sd_bus_message_peek_type;
|
||||
sd_bus_message_verify_type;
|
||||
sd_bus_message_at_end;
|
||||
sd_bus_message_rewind;
|
||||
sd_bus_get_unique_name;
|
||||
sd_bus_request_name;
|
||||
sd_bus_release_name;
|
||||
sd_bus_list_names;
|
||||
sd_bus_get_name_creds;
|
||||
sd_bus_get_name_machine_id;
|
||||
sd_bus_call_method;
|
||||
sd_bus_call_method_async;
|
||||
sd_bus_get_property;
|
||||
sd_bus_get_property_trivial;
|
||||
sd_bus_get_property_string;
|
||||
sd_bus_get_property_strv;
|
||||
sd_bus_set_property;
|
||||
sd_bus_reply_method_return;
|
||||
sd_bus_reply_method_error;
|
||||
sd_bus_reply_method_errorf;
|
||||
sd_bus_reply_method_errno;
|
||||
sd_bus_reply_method_errnof;
|
||||
sd_bus_emit_signal;
|
||||
sd_bus_emit_properties_changed_strv;
|
||||
sd_bus_emit_properties_changed;
|
||||
sd_bus_emit_interfaces_added_strv;
|
||||
sd_bus_emit_interfaces_added;
|
||||
sd_bus_emit_interfaces_removed_strv;
|
||||
sd_bus_emit_interfaces_removed;
|
||||
sd_bus_query_sender_creds;
|
||||
sd_bus_query_sender_privilege;
|
||||
sd_bus_creds_new_from_pid;
|
||||
sd_bus_creds_ref;
|
||||
sd_bus_creds_unref;
|
||||
sd_bus_creds_get_mask;
|
||||
sd_bus_creds_get_augmented_mask;
|
||||
sd_bus_creds_get_pid;
|
||||
sd_bus_creds_get_ppid;
|
||||
sd_bus_creds_get_tid;
|
||||
sd_bus_creds_get_uid;
|
||||
sd_bus_creds_get_euid;
|
||||
sd_bus_creds_get_suid;
|
||||
sd_bus_creds_get_fsuid;
|
||||
sd_bus_creds_get_gid;
|
||||
sd_bus_creds_get_egid;
|
||||
sd_bus_creds_get_sgid;
|
||||
sd_bus_creds_get_fsgid;
|
||||
sd_bus_creds_get_supplementary_gids;
|
||||
sd_bus_creds_get_comm;
|
||||
sd_bus_creds_get_tid_comm;
|
||||
sd_bus_creds_get_exe;
|
||||
sd_bus_creds_get_cmdline;
|
||||
sd_bus_creds_get_cgroup;
|
||||
sd_bus_creds_get_unit;
|
||||
sd_bus_creds_get_slice;
|
||||
sd_bus_creds_get_user_unit;
|
||||
sd_bus_creds_get_user_slice;
|
||||
sd_bus_creds_get_session;
|
||||
sd_bus_creds_get_owner_uid;
|
||||
sd_bus_creds_has_effective_cap;
|
||||
sd_bus_creds_has_permitted_cap;
|
||||
sd_bus_creds_has_inheritable_cap;
|
||||
sd_bus_creds_has_bounding_cap;
|
||||
sd_bus_creds_get_selinux_context;
|
||||
sd_bus_creds_get_audit_session_id;
|
||||
sd_bus_creds_get_audit_login_uid;
|
||||
sd_bus_creds_get_tty;
|
||||
sd_bus_creds_get_unique_name;
|
||||
sd_bus_creds_get_well_known_names;
|
||||
sd_bus_creds_get_description;
|
||||
sd_bus_error_free;
|
||||
sd_bus_error_set;
|
||||
sd_bus_error_setf;
|
||||
sd_bus_error_set_const;
|
||||
sd_bus_error_set_errno;
|
||||
sd_bus_error_set_errnof;
|
||||
sd_bus_error_set_errnofv;
|
||||
sd_bus_error_get_errno;
|
||||
sd_bus_error_copy;
|
||||
sd_bus_error_is_set;
|
||||
sd_bus_error_has_name;
|
||||
sd_bus_error_add_map;
|
||||
sd_bus_path_encode;
|
||||
sd_bus_path_decode;
|
||||
sd_bus_track_new;
|
||||
sd_bus_track_ref;
|
||||
sd_bus_track_unref;
|
||||
sd_bus_track_get_bus;
|
||||
sd_bus_track_get_userdata;
|
||||
sd_bus_track_set_userdata;
|
||||
sd_bus_track_add_sender;
|
||||
sd_bus_track_remove_sender;
|
||||
sd_bus_track_add_name;
|
||||
sd_bus_track_remove_name;
|
||||
sd_bus_track_count;
|
||||
sd_bus_track_contains;
|
||||
sd_bus_track_first;
|
||||
sd_bus_track_next;
|
||||
|
||||
/* sd-event */
|
||||
sd_event_default;
|
||||
sd_event_new;
|
||||
sd_event_ref;
|
||||
sd_event_unref;
|
||||
sd_event_add_io;
|
||||
sd_event_add_time;
|
||||
sd_event_add_signal;
|
||||
sd_event_add_child;
|
||||
sd_event_add_defer;
|
||||
sd_event_add_post;
|
||||
sd_event_add_exit;
|
||||
sd_event_prepare;
|
||||
sd_event_wait;
|
||||
sd_event_dispatch;
|
||||
sd_event_run;
|
||||
sd_event_loop;
|
||||
sd_event_exit;
|
||||
sd_event_now;
|
||||
sd_event_get_fd;
|
||||
sd_event_get_state;
|
||||
sd_event_get_tid;
|
||||
sd_event_get_exit_code;
|
||||
sd_event_set_watchdog;
|
||||
sd_event_get_watchdog;
|
||||
sd_event_source_ref;
|
||||
sd_event_source_unref;
|
||||
sd_event_source_get_event;
|
||||
sd_event_source_get_userdata;
|
||||
sd_event_source_set_userdata;
|
||||
sd_event_source_set_description;
|
||||
sd_event_source_get_description;
|
||||
sd_event_source_set_prepare;
|
||||
sd_event_source_get_pending;
|
||||
sd_event_source_get_priority;
|
||||
sd_event_source_set_priority;
|
||||
sd_event_source_get_enabled;
|
||||
sd_event_source_set_enabled;
|
||||
sd_event_source_get_io_fd;
|
||||
sd_event_source_set_io_fd;
|
||||
sd_event_source_get_io_events;
|
||||
sd_event_source_set_io_events;
|
||||
sd_event_source_get_io_revents;
|
||||
sd_event_source_get_time;
|
||||
sd_event_source_set_time;
|
||||
sd_event_source_set_time_accuracy;
|
||||
sd_event_source_get_time_accuracy;
|
||||
sd_event_source_get_time_clock;
|
||||
sd_event_source_get_signal;
|
||||
sd_event_source_get_child_pid;
|
||||
} LIBSYSTEMD_219;
|
||||
|
||||
LIBSYSTEMD_222 {
|
||||
global:
|
||||
/* sd-bus */
|
||||
sd_bus_emit_object_added;
|
||||
sd_bus_emit_object_removed;
|
||||
sd_bus_flush_close_unref;
|
||||
} LIBSYSTEMD_221;
|
||||
|
||||
LIBSYSTEMD_227 {
|
||||
global:
|
||||
sd_bus_default_flush_close;
|
||||
sd_bus_path_decode_many;
|
||||
sd_bus_path_encode_many;
|
||||
sd_listen_fds_with_names;
|
||||
} LIBSYSTEMD_222;
|
||||
|
||||
LIBSYSTEMD_231 {
|
||||
global:
|
||||
sd_event_get_iteration;
|
||||
} LIBSYSTEMD_227;
|
||||
|
||||
LIBSYSTEMD_232 {
|
||||
global:
|
||||
sd_bus_track_set_recursive;
|
||||
sd_bus_track_get_recursive;
|
||||
sd_bus_track_count_name;
|
||||
sd_bus_track_count_sender;
|
||||
sd_bus_set_exit_on_disconnect;
|
||||
sd_bus_get_exit_on_disconnect;
|
||||
sd_id128_get_invocation;
|
||||
} LIBSYSTEMD_231;
|
||||
|
||||
LIBSYSTEMD_233 {
|
||||
global:
|
||||
sd_id128_get_machine_app_specific;
|
||||
sd_is_socket_sockaddr;
|
||||
} LIBSYSTEMD_232;
|
||||
|
||||
LIBSYSTEMD_234 {
|
||||
global:
|
||||
sd_bus_message_appendv;
|
||||
} LIBSYSTEMD_233;
|
||||
|
||||
LIBSYSTEMD_236 {
|
||||
global:
|
||||
sd_bus_message_new;
|
||||
sd_bus_message_seal;
|
||||
} LIBSYSTEMD_234;
|
||||
|
||||
LIBSYSTEMD_237 {
|
||||
global:
|
||||
sd_bus_set_watch_bind;
|
||||
sd_bus_get_watch_bind;
|
||||
sd_bus_request_name_async;
|
||||
sd_bus_release_name_async;
|
||||
sd_bus_add_match_async;
|
||||
sd_bus_match_signal;
|
||||
sd_bus_match_signal_async;
|
||||
sd_bus_is_ready;
|
||||
sd_bus_set_connected_signal;
|
||||
sd_bus_get_connected_signal;
|
||||
sd_bus_set_sender;
|
||||
sd_bus_get_sender;
|
||||
sd_bus_message_set_sender;
|
||||
sd_event_source_get_io_fd_own;
|
||||
sd_event_source_set_io_fd_own;
|
||||
} LIBSYSTEMD_236;
|
|
@ -1,830 +0,0 @@
|
|||
# SPDX-License-Identifier: LGPL-2.1+
|
||||
#
|
||||
# Copyright 2017 Zbigniew Jędrzejewski-Szmek
|
||||
#
|
||||
# systemd is free software; you can redistribute it and/or modify it
|
||||
# under the terms of the GNU Lesser General Public License as published by
|
||||
# the Free Software Foundation; either version 2.1 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# systemd is distributed in the hope that it will be useful, but
|
||||
# WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
# Lesser General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Lesser General Public License
|
||||
# along with systemd; If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
project('systemd', 'c',
|
||||
version : '237',
|
||||
license : 'LGPLv2+',
|
||||
default_options: [
|
||||
'c_std=gnu99',
|
||||
'prefix=/usr',
|
||||
'sysconfdir=/etc',
|
||||
'localstatedir=/var',
|
||||
],
|
||||
meson_version : '>= 0.41',
|
||||
)
|
||||
|
||||
libsystemd_version = '0.21.0'
|
||||
libudev_version = '1.6.9'
|
||||
|
||||
support_url = get_option('support-url')
|
||||
|
||||
# We need the same data in three different formats, ugh!
|
||||
# Also, for hysterical reasons, we use different variable
|
||||
# names, sometimes. Not all variables are included in every
|
||||
# set. Ugh, ugh, ugh!
|
||||
conf = configuration_data()
|
||||
conf.set_quoted('PACKAGE_STRING', meson.project_name() + ' ' + meson.project_version())
|
||||
conf.set_quoted('PACKAGE_VERSION', meson.project_version())
|
||||
|
||||
substs = configuration_data()
|
||||
substs.set('PACKAGE_URL', 'https://www.freedesktop.org/wiki/Software/systemd')
|
||||
substs.set('PACKAGE_VERSION', meson.project_version())
|
||||
|
||||
m4_defines = []
|
||||
|
||||
#####################################################################
|
||||
|
||||
split_usr = get_option('split-usr')
|
||||
conf.set10('HAVE_SPLIT_USR', split_usr)
|
||||
|
||||
rootprefixdir = get_option('rootprefix')
|
||||
# Unusual rootprefixdir values are used by some distros
|
||||
# (see https://github.com/systemd/systemd/pull/7461).
|
||||
rootprefix_default = get_option('split-usr') ? '/' : '/usr'
|
||||
if rootprefixdir == ''
|
||||
rootprefixdir = rootprefix_default
|
||||
endif
|
||||
|
||||
# join_paths ignore the preceding arguments if an absolute component is
|
||||
# encountered, so this should canonicalize various paths when they are
|
||||
# absolute or relative.
|
||||
prefixdir = get_option('prefix')
|
||||
if not prefixdir.startswith('/')
|
||||
error('Prefix is not absolute: "@0@"'.format(prefixdir))
|
||||
endif
|
||||
bindir = join_paths(prefixdir, get_option('bindir'))
|
||||
libdir = join_paths(prefixdir, get_option('libdir'))
|
||||
sysconfdir = join_paths(prefixdir, get_option('sysconfdir'))
|
||||
includedir = join_paths(prefixdir, get_option('includedir'))
|
||||
datadir = join_paths(prefixdir, get_option('datadir'))
|
||||
localstatedir = join_paths('/', get_option('localstatedir'))
|
||||
|
||||
rootbindir = join_paths(rootprefixdir, 'bin')
|
||||
rootlibexecdir = join_paths(rootprefixdir, 'lib/systemd')
|
||||
|
||||
rootlibdir = get_option('rootlibdir')
|
||||
if rootlibdir == ''
|
||||
rootlibdir = join_paths(rootprefixdir, libdir.split('/')[-1])
|
||||
endif
|
||||
|
||||
# Dirs of external packages
|
||||
pkgconfigdatadir = join_paths(datadir, 'pkgconfig')
|
||||
pkgconfiglibdir = join_paths(libdir, 'pkgconfig')
|
||||
varlogdir = join_paths(localstatedir, 'log')
|
||||
|
||||
# Our own paths
|
||||
pkgdatadir = join_paths(datadir, 'systemd')
|
||||
pkgsysconfdir = join_paths(sysconfdir, 'systemd')
|
||||
pkgincludedir = join_paths(includedir, 'systemd')
|
||||
docdir = join_paths(datadir, 'doc/systemd')
|
||||
systemdstatedir = join_paths(localstatedir, 'lib/systemd')
|
||||
randomseeddir = join_paths(localstatedir, 'lib/systemd')
|
||||
|
||||
dbuspolicydir = get_option('dbuspolicydir')
|
||||
if dbuspolicydir == ''
|
||||
dbuspolicydir = join_paths(datadir, 'dbus-1/system.d')
|
||||
endif
|
||||
|
||||
dbussessionservicedir = get_option('dbussessionservicedir')
|
||||
if dbussessionservicedir == ''
|
||||
dbussessionservicedir = join_paths(datadir, 'dbus-1/services')
|
||||
endif
|
||||
|
||||
dbussystemservicedir = get_option('dbussystemservicedir')
|
||||
if dbussystemservicedir == ''
|
||||
dbussystemservicedir = join_paths(datadir, 'dbus-1/system-services')
|
||||
endif
|
||||
|
||||
conf.set_quoted('PKGSYSCONFDIR', pkgsysconfdir)
|
||||
conf.set_quoted('ROOTPREFIX', rootprefixdir)
|
||||
conf.set_quoted('LIBDIR', libdir)
|
||||
conf.set_quoted('ROOTLIBDIR', rootlibdir)
|
||||
conf.set_quoted('ROOTLIBEXECDIR', rootlibexecdir)
|
||||
|
||||
conf.set_quoted('ABS_BUILD_DIR', meson.build_root())
|
||||
conf.set_quoted('ABS_SRC_DIR', meson.source_root())
|
||||
|
||||
substs.set('prefix', prefixdir)
|
||||
substs.set('exec_prefix', prefixdir)
|
||||
substs.set('libdir', libdir)
|
||||
substs.set('rootlibdir', rootlibdir)
|
||||
substs.set('includedir', includedir)
|
||||
substs.set('pkgsysconfdir', pkgsysconfdir)
|
||||
substs.set('bindir', bindir)
|
||||
substs.set('rootbindir', rootbindir)
|
||||
substs.set('rootlibexecdir', rootlibexecdir)
|
||||
substs.set('VARLOGDIR', varlogdir)
|
||||
|
||||
#####################################################################
|
||||
|
||||
cc = meson.get_compiler('c')
|
||||
pkgconfig = import('pkgconfig')
|
||||
check_compilation_sh = find_program('tools/meson-check-compilation.sh')
|
||||
meson_build_sh = find_program('tools/meson-build.sh')
|
||||
|
||||
if get_option('tests') != 'false'
|
||||
cxx = find_program('c++', required : false)
|
||||
if cxx.found()
|
||||
# Used only for tests
|
||||
add_languages('cpp')
|
||||
endif
|
||||
endif
|
||||
|
||||
foreach arg : ['-Wextra',
|
||||
'-Werror=undef',
|
||||
'-Wlogical-op',
|
||||
'-Wmissing-include-dirs',
|
||||
'-Wold-style-definition',
|
||||
'-Wpointer-arith',
|
||||
'-Winit-self',
|
||||
'-Wdeclaration-after-statement',
|
||||
'-Wfloat-equal',
|
||||
'-Wsuggest-attribute=noreturn',
|
||||
'-Werror=missing-prototypes',
|
||||
'-Werror=implicit-function-declaration',
|
||||
'-Werror=missing-declarations',
|
||||
'-Werror=return-type',
|
||||
'-Werror=incompatible-pointer-types',
|
||||
'-Werror=format=2',
|
||||
'-Wstrict-prototypes',
|
||||
'-Wredundant-decls',
|
||||
'-Wmissing-noreturn',
|
||||
'-Wimplicit-fallthrough=5',
|
||||
'-Wshadow',
|
||||
'-Wendif-labels',
|
||||
'-Wstrict-aliasing=2',
|
||||
'-Wwrite-strings',
|
||||
'-Werror=overflow',
|
||||
'-Wdate-time',
|
||||
'-Wnested-externs',
|
||||
'-ffast-math',
|
||||
'-fno-common',
|
||||
'-fdiagnostics-show-option',
|
||||
'-fno-strict-aliasing',
|
||||
'-fvisibility=hidden',
|
||||
'-fstack-protector',
|
||||
'-fstack-protector-strong',
|
||||
'--param=ssp-buffer-size=4',
|
||||
]
|
||||
if cc.has_argument(arg)
|
||||
add_project_arguments(arg, language : 'c')
|
||||
endif
|
||||
endforeach
|
||||
|
||||
# the oss-fuzz fuzzers are not built with -fPIE, so don't
|
||||
# enable it when we are linking against them
|
||||
if cc.has_argument('-fPIE')
|
||||
add_project_arguments('-fPIE', language : 'c')
|
||||
endif
|
||||
|
||||
# "negative" arguments: gcc on purpose does not return an error for "-Wno-"
|
||||
# arguments, just emits a warnings. So test for the "positive" version instead.
|
||||
foreach arg : ['unused-parameter',
|
||||
'missing-field-initializers',
|
||||
'unused-result',
|
||||
'format-signedness',
|
||||
'error=nonnull', # work-around for gcc 7.1 turning this on on its own
|
||||
]
|
||||
if cc.has_argument('-W' + arg)
|
||||
add_project_arguments('-Wno-' + arg, language : 'c')
|
||||
endif
|
||||
endforeach
|
||||
|
||||
if cc.compiles('
|
||||
#include <time.h>
|
||||
#include <inttypes.h>
|
||||
typedef uint64_t usec_t;
|
||||
usec_t now(clockid_t clock);
|
||||
int main(void) {
|
||||
struct timespec now;
|
||||
return 0;
|
||||
}
|
||||
', name : '-Werror=shadow with local shadowing')
|
||||
add_project_arguments('-Werror=shadow', language : 'c')
|
||||
endif
|
||||
|
||||
if cc.get_id() == 'clang'
|
||||
foreach arg : ['-Wno-typedef-redefinition',
|
||||
'-Wno-gnu-variable-sized-type-not-at-end',
|
||||
]
|
||||
if cc.has_argument(arg,
|
||||
name : '@0@ is supported'.format(arg))
|
||||
add_project_arguments(arg, language : 'c')
|
||||
endif
|
||||
endforeach
|
||||
endif
|
||||
|
||||
link_test_c = files('tools/meson-link-test.c')
|
||||
|
||||
# --as-needed and --no-undefined are provided by meson by default,
|
||||
# run mesonconf to see what is enabled
|
||||
foreach arg : ['-Wl,-z,relro',
|
||||
'-Wl,-z,now',
|
||||
'-pie',
|
||||
]
|
||||
|
||||
have = run_command(check_compilation_sh,
|
||||
cc.cmd_array(), '-x', 'c', arg,
|
||||
'-include', link_test_c).returncode() == 0
|
||||
message('Linking with @0@ supported: @1@'.format(arg, have ? 'yes' : 'no'))
|
||||
if have
|
||||
add_project_link_arguments(arg, language : 'c')
|
||||
endif
|
||||
endforeach
|
||||
|
||||
# Check if various sanitizers are supported
|
||||
sanitizers = []
|
||||
foreach arg : ['address']
|
||||
|
||||
have = run_command(check_compilation_sh,
|
||||
cc.cmd_array(), '-x', 'c',
|
||||
'-fsanitize=@0@'.format(arg),
|
||||
'-include', link_test_c).returncode() == 0
|
||||
message('@0@ sanitizer supported: @1@'.format(arg, have ? 'yes' : 'no'))
|
||||
if have
|
||||
sanitizers += arg
|
||||
endif
|
||||
endforeach
|
||||
|
||||
if get_option('buildtype') != 'debug'
|
||||
foreach arg : ['-ffunction-sections',
|
||||
'-fdata-sections']
|
||||
if cc.has_argument(arg,
|
||||
name : '@0@ is supported'.format(arg))
|
||||
add_project_arguments(arg, language : 'c')
|
||||
endif
|
||||
endforeach
|
||||
|
||||
foreach arg : ['-Wl,--gc-sections']
|
||||
have = run_command(check_compilation_sh,
|
||||
cc.cmd_array(), '-x', 'c', arg,
|
||||
'-include', link_test_c).returncode() == 0
|
||||
message('Linking with @0@ supported: @1@'.format(arg, have ? 'yes' : 'no'))
|
||||
if have
|
||||
add_project_link_arguments(arg, language : 'c')
|
||||
endif
|
||||
endforeach
|
||||
endif
|
||||
|
||||
cpp = ' '.join(cc.cmd_array()) + ' -E'
|
||||
|
||||
#####################################################################
|
||||
# compilation result tests
|
||||
|
||||
conf.set('_GNU_SOURCE', true)
|
||||
conf.set('__SANE_USERSPACE_TYPES__', true)
|
||||
|
||||
conf.set('SIZEOF_PID_T', cc.sizeof('pid_t', prefix : '#include <sys/types.h>'))
|
||||
conf.set('SIZEOF_UID_T', cc.sizeof('uid_t', prefix : '#include <sys/types.h>'))
|
||||
conf.set('SIZEOF_GID_T', cc.sizeof('gid_t', prefix : '#include <sys/types.h>'))
|
||||
conf.set('SIZEOF_DEV_T', cc.sizeof('dev_t', prefix : '#include <sys/types.h>'))
|
||||
conf.set('SIZEOF_INO_T', cc.sizeof('ino_t', prefix : '#include <sys/types.h>'))
|
||||
conf.set('SIZEOF_TIME_T', cc.sizeof('time_t', prefix : '#include <sys/time.h>'))
|
||||
conf.set('SIZEOF_RLIM_T', cc.sizeof('rlim_t', prefix : '#include <sys/resource.h>'))
|
||||
|
||||
decl_headers = '''
|
||||
#include <uchar.h>
|
||||
#include <linux/ethtool.h>
|
||||
#include <linux/fib_rules.h>
|
||||
'''
|
||||
# FIXME: key_serial_t is only defined in keyutils.h, this is bound to fail
|
||||
|
||||
foreach decl : ['char16_t',
|
||||
'char32_t',
|
||||
'key_serial_t',
|
||||
'struct ethtool_link_settings',
|
||||
'struct fib_rule_uid_range',
|
||||
]
|
||||
|
||||
# We get -1 if the size cannot be determined
|
||||
have = cc.sizeof(decl, prefix : decl_headers) > 0
|
||||
conf.set10('HAVE_' + decl.underscorify().to_upper(), have)
|
||||
endforeach
|
||||
|
||||
foreach decl : [['IFLA_INET6_ADDR_GEN_MODE', 'linux/if_link.h'],
|
||||
['IN6_ADDR_GEN_MODE_STABLE_PRIVACY', 'linux/if_link.h'],
|
||||
['IFLA_VRF_TABLE', 'linux/if_link.h'],
|
||||
['IFLA_MACVLAN_FLAGS', 'linux/if_link.h'],
|
||||
['IFLA_IPVLAN_FLAGS', 'linux/if_link.h'],
|
||||
['IFLA_PHYS_PORT_ID', 'linux/if_link.h'],
|
||||
['IFLA_BOND_AD_INFO', 'linux/if_link.h'],
|
||||
['IFLA_VLAN_PROTOCOL', 'linux/if_link.h'],
|
||||
['IFLA_VXLAN_REMCSUM_NOPARTIAL', 'linux/if_link.h'],
|
||||
['IFLA_VXLAN_GPE', 'linux/if_link.h'],
|
||||
['IFLA_GENEVE_LABEL', 'linux/if_link.h'],
|
||||
# if_tunnel.h is buggy and cannot be included on its own
|
||||
['IFLA_VTI_REMOTE', 'linux/if_tunnel.h', '#include <net/if.h>'],
|
||||
['IFLA_IPTUN_ENCAP_DPORT', 'linux/if_tunnel.h', '#include <net/if.h>'],
|
||||
['IFLA_GRE_ENCAP_DPORT', 'linux/if_tunnel.h', '#include <net/if.h>'],
|
||||
['IFLA_BRIDGE_VLAN_INFO', 'linux/if_bridge.h'],
|
||||
['IFLA_BRPORT_PROXYARP', 'linux/if_link.h'],
|
||||
['IFLA_BRPORT_LEARNING_SYNC', 'linux/if_link.h'],
|
||||
['IFLA_BR_VLAN_DEFAULT_PVID', 'linux/if_link.h'],
|
||||
['IPVLAN_F_PRIVATE', 'linux/if_link.h'],
|
||||
['NDA_IFINDEX', 'linux/neighbour.h'],
|
||||
['IFA_FLAGS', 'linux/if_addr.h'],
|
||||
['FRA_UID_RANGE', 'linux/fib_rules.h'],
|
||||
['LO_FLAGS_PARTSCAN', 'linux/loop.h'],
|
||||
['VXCAN_INFO_PEER', 'linux/can/vxcan.h'],
|
||||
]
|
||||
prefix = decl.length() > 2 ? decl[2] : ''
|
||||
have = cc.has_header_symbol(decl[1], decl[0], prefix : prefix)
|
||||
conf.set10('HAVE_' + decl[0], have)
|
||||
endforeach
|
||||
|
||||
foreach ident : ['secure_getenv', '__secure_getenv']
|
||||
conf.set10('HAVE_' + ident.to_upper(), cc.has_function(ident))
|
||||
endforeach
|
||||
|
||||
foreach ident : [
|
||||
['memfd_create', '''#include <sys/mman.h>'''],
|
||||
['gettid', '''#include <sys/types.h>
|
||||
#include <unistd.h>'''],
|
||||
['pivot_root', '''#include <stdlib.h>
|
||||
#include <unistd.h>'''], # no known header declares pivot_root
|
||||
['name_to_handle_at', '''#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
#include <fcntl.h>'''],
|
||||
['setns', '''#include <sched.h>'''],
|
||||
['renameat2', '''#include <stdio.h>
|
||||
#include <fcntl.h>'''],
|
||||
['kcmp', '''#include <linux/kcmp.h>'''],
|
||||
['keyctl', '''#include <sys/types.h>
|
||||
#include <keyutils.h>'''],
|
||||
['copy_file_range', '''#include <sys/syscall.h>
|
||||
#include <unistd.h>'''],
|
||||
['bpf', '''#include <sys/syscall.h>
|
||||
#include <unistd.h>'''],
|
||||
['explicit_bzero' , '''#include <string.h>'''],
|
||||
]
|
||||
|
||||
have = cc.has_function(ident[0], prefix : ident[1], args : '-D_GNU_SOURCE')
|
||||
conf.set10('HAVE_' + ident[0].to_upper(), have)
|
||||
endforeach
|
||||
|
||||
if cc.has_function('getrandom', prefix : '''#include <sys/random.h>''', args : '-D_GNU_SOURCE')
|
||||
conf.set10('USE_SYS_RANDOM_H', true)
|
||||
conf.set10('HAVE_GETRANDOM', true)
|
||||
else
|
||||
have = cc.has_function('getrandom', prefix : '''#include <linux/random.h>''')
|
||||
conf.set10('USE_SYS_RANDOM_H', false)
|
||||
conf.set10('HAVE_GETRANDOM', have)
|
||||
endif
|
||||
|
||||
#####################################################################
|
||||
|
||||
sed = find_program('sed')
|
||||
awk = find_program('awk')
|
||||
m4 = find_program('m4')
|
||||
stat = find_program('stat')
|
||||
git = find_program('git', required : false)
|
||||
env = find_program('env')
|
||||
|
||||
meson_make_symlink = meson.source_root() + '/tools/meson-make-symlink.sh'
|
||||
mkdir_p = 'mkdir -p $DESTDIR/@0@'
|
||||
test_efi_create_disk_sh = find_program('test/test-efi-create-disk.sh')
|
||||
splash_bmp = files('test/splash.bmp')
|
||||
|
||||
# if -Dxxx-path option is found, use that. Otherwise, check in $PATH,
|
||||
# /usr/sbin, /sbin, and fall back to the default from middle column.
|
||||
progs = [['quotaon', '/usr/sbin/quotaon' ],
|
||||
['quotacheck', '/usr/sbin/quotacheck' ],
|
||||
['kill', '/usr/bin/kill' ],
|
||||
['kmod', '/usr/bin/kmod' ],
|
||||
['kexec', '/usr/sbin/kexec' ],
|
||||
['sulogin', '/usr/sbin/sulogin' ],
|
||||
['mount', '/usr/bin/mount', 'MOUNT_PATH'],
|
||||
['umount', '/usr/bin/umount', 'UMOUNT_PATH'],
|
||||
['loadkeys', '/usr/bin/loadkeys', 'KBD_LOADKEYS'],
|
||||
['setfont', '/usr/bin/setfont', 'KBD_SETFONT'],
|
||||
]
|
||||
foreach prog : progs
|
||||
path = get_option(prog[0] + '-path')
|
||||
if path != ''
|
||||
message('Using @1@ for @0@'.format(prog[0], path))
|
||||
else
|
||||
exe = find_program(prog[0],
|
||||
'/usr/sbin/' + prog[0],
|
||||
'/sbin/' + prog[0],
|
||||
required: false)
|
||||
path = exe.found() ? exe.path() : prog[1]
|
||||
endif
|
||||
name = prog.length() > 2 ? prog[2] : prog[0].to_upper()
|
||||
conf.set_quoted(name, path)
|
||||
substs.set(name, path)
|
||||
endforeach
|
||||
|
||||
if run_command('ln', '--relative', '--help').returncode() != 0
|
||||
error('ln does not support --relative')
|
||||
endif
|
||||
|
||||
############################################################
|
||||
|
||||
gperf = find_program('gperf')
|
||||
|
||||
gperf_test_format = '''
|
||||
#include <string.h>
|
||||
const char * in_word_set(const char *, @0@);
|
||||
@1@
|
||||
'''
|
||||
gperf_snippet_format = 'echo foo,bar | @0@ -L ANSI-C'
|
||||
gperf_snippet = run_command('sh', '-c', gperf_snippet_format.format(gperf.path()))
|
||||
gperf_test = gperf_test_format.format('size_t', gperf_snippet.stdout())
|
||||
if cc.compiles(gperf_test)
|
||||
gperf_len_type = 'size_t'
|
||||
else
|
||||
gperf_test = gperf_test_format.format('unsigned', gperf_snippet.stdout())
|
||||
if cc.compiles(gperf_test)
|
||||
gperf_len_type = 'unsigned'
|
||||
else
|
||||
error('unable to determine gperf len type')
|
||||
endif
|
||||
endif
|
||||
message('gperf len type is @0@'.format(gperf_len_type))
|
||||
conf.set('GPERF_LEN_TYPE', gperf_len_type,
|
||||
description : 'The type of gperf "len" parameter')
|
||||
|
||||
############################################################
|
||||
|
||||
if not cc.has_header('sys/capability.h')
|
||||
error('POSIX caps headers not found')
|
||||
endif
|
||||
foreach header : ['crypt.h',
|
||||
'linux/btrfs.h',
|
||||
'linux/memfd.h',
|
||||
'linux/vm_sockets.h',
|
||||
'sys/auxv.h',
|
||||
'valgrind/memcheck.h',
|
||||
'valgrind/valgrind.h',
|
||||
]
|
||||
|
||||
conf.set10('HAVE_' + header.underscorify().to_upper(),
|
||||
cc.has_header(header))
|
||||
endforeach
|
||||
|
||||
############################################################
|
||||
|
||||
system_uid_max = get_option('system-uid-max')
|
||||
if system_uid_max == ''
|
||||
system_uid_max = run_command(
|
||||
awk,
|
||||
'BEGIN { uid=999 } /^\s*SYS_UID_MAX\s+/ { uid=$2 } END { print uid }',
|
||||
'/etc/login.defs').stdout()
|
||||
endif
|
||||
system_uid_max = system_uid_max.to_int()
|
||||
conf.set('SYSTEM_UID_MAX', system_uid_max)
|
||||
substs.set('systemuidmax', system_uid_max)
|
||||
message('maximum system UID is @0@'.format(system_uid_max))
|
||||
|
||||
system_gid_max = get_option('system-gid-max')
|
||||
if system_gid_max == ''
|
||||
system_gid_max = run_command(
|
||||
awk,
|
||||
'BEGIN { gid=999 } /^\s*SYS_GID_MAX\s+/ { gid=$2 } END { print gid }',
|
||||
'/etc/login.defs').stdout()
|
||||
endif
|
||||
system_gid_max = system_gid_max.to_int()
|
||||
conf.set('SYSTEM_GID_MAX', system_gid_max)
|
||||
substs.set('systemgidmax', system_gid_max)
|
||||
message('maximum system GID is @0@'.format(system_gid_max))
|
||||
|
||||
dynamic_uid_min = get_option('dynamic-uid-min').to_int()
|
||||
dynamic_uid_max = get_option('dynamic-uid-max').to_int()
|
||||
conf.set('DYNAMIC_UID_MIN', dynamic_uid_min)
|
||||
conf.set('DYNAMIC_UID_MAX', dynamic_uid_max)
|
||||
substs.set('dynamicuidmin', dynamic_uid_min)
|
||||
substs.set('dynamicuidmax', dynamic_uid_max)
|
||||
|
||||
container_uid_base_min = get_option('container-uid-base-min').to_int()
|
||||
container_uid_base_max = get_option('container-uid-base-max').to_int()
|
||||
conf.set('CONTAINER_UID_BASE_MIN', container_uid_base_min)
|
||||
conf.set('CONTAINER_UID_BASE_MAX', container_uid_base_max)
|
||||
substs.set('containeruidbasemin', container_uid_base_min)
|
||||
substs.set('containeruidbasemax', container_uid_base_max)
|
||||
|
||||
nobody_user = get_option('nobody-user')
|
||||
nobody_group = get_option('nobody-group')
|
||||
|
||||
getent_result = run_command('getent', 'passwd', '65534')
|
||||
if getent_result.returncode() == 0
|
||||
name = getent_result.stdout().split(':')[0]
|
||||
if name != nobody_user
|
||||
message('WARNING:\n' +
|
||||
' The local user with the UID 65534 does not match the configured user name "@0@" of the nobody user (its name is @1@).\n'.format(nobody_user, name) +
|
||||
' Your build will result in an user table setup that is incompatible with the local system.')
|
||||
endif
|
||||
endif
|
||||
id_result = run_command('id', '-u', nobody_user)
|
||||
if id_result.returncode() == 0
|
||||
id = id_result.stdout().to_int()
|
||||
if id != 65534
|
||||
message('WARNING:\n' +
|
||||
' The local user with the configured user name "@0@" of the nobody user does not have UID 65534 (it has @1@).\n'.format(nobody_user, id) +
|
||||
' Your build will result in an user table setup that is incompatible with the local system.')
|
||||
endif
|
||||
endif
|
||||
|
||||
getent_result = run_command('getent', 'group', '65534')
|
||||
if getent_result.returncode() == 0
|
||||
name = getent_result.stdout().split(':')[0]
|
||||
if name != nobody_group
|
||||
message('WARNING:\n' +
|
||||
' The local group with the GID 65534 does not match the configured group name "@0@" of the nobody group (its name is @1@).\n'.format(nobody_group, name) +
|
||||
' Your build will result in an group table setup that is incompatible with the local system.')
|
||||
endif
|
||||
endif
|
||||
id_result = run_command('id', '-g', nobody_group)
|
||||
if id_result.returncode() == 0
|
||||
id = id_result.stdout().to_int()
|
||||
if id != 65534
|
||||
message('WARNING:\n' +
|
||||
' The local group with the configured group name "@0@" of the nobody group does not have UID 65534 (it has @1@).\n'.format(nobody_group, id) +
|
||||
' Your build will result in an group table setup that is incompatible with the local system.')
|
||||
endif
|
||||
endif
|
||||
if nobody_user != nobody_group and not (nobody_user == 'nobody' and nobody_group == 'nogroup')
|
||||
message('WARNING:\n' +
|
||||
' The configured user name "@0@" and group name "@0@" of the nobody user/group are not equivalent.\n'.format(nobody_user, nobody_group) +
|
||||
' Please re-check that both "nobody-user" and "nobody-group" options are correctly set.')
|
||||
endif
|
||||
|
||||
conf.set_quoted('NOBODY_USER_NAME', nobody_user)
|
||||
conf.set_quoted('NOBODY_GROUP_NAME', nobody_group)
|
||||
substs.set('NOBODY_USER_NAME', nobody_user)
|
||||
substs.set('NOBODY_GROUP_NAME', nobody_group)
|
||||
|
||||
tty_gid = get_option('tty-gid')
|
||||
conf.set('TTY_GID', tty_gid)
|
||||
substs.set('TTY_GID', tty_gid)
|
||||
|
||||
# Ensure provided GID argument is numeric, otherwise fallback to default assignment
|
||||
if get_option('users-gid') != ''
|
||||
users_gid = get_option('users-gid').to_int()
|
||||
else
|
||||
users_gid = '-'
|
||||
endif
|
||||
substs.set('USERS_GID', users_gid)
|
||||
|
||||
if get_option('adm-group')
|
||||
m4_defines += ['-DENABLE_ADM_GROUP']
|
||||
endif
|
||||
|
||||
if get_option('wheel-group')
|
||||
m4_defines += ['-DENABLE_WHEEL_GROUP']
|
||||
endif
|
||||
|
||||
substs.set('DEV_KVM_MODE', get_option('dev-kvm-mode'))
|
||||
substs.set('GROUP_RENDER_MODE', get_option('group-render-mode'))
|
||||
|
||||
kill_user_processes = get_option('default-kill-user-processes')
|
||||
conf.set10('KILL_USER_PROCESSES', kill_user_processes)
|
||||
substs.set('KILL_USER_PROCESSES', kill_user_processes ? 'yes' : 'no')
|
||||
|
||||
dns_servers = get_option('dns-servers')
|
||||
conf.set_quoted('DNS_SERVERS', dns_servers)
|
||||
substs.set('DNS_SERVERS', dns_servers)
|
||||
|
||||
ntp_servers = get_option('ntp-servers')
|
||||
conf.set_quoted('NTP_SERVERS', ntp_servers)
|
||||
substs.set('NTP_SERVERS', ntp_servers)
|
||||
|
||||
conf.set_quoted('GETTEXT_PACKAGE', meson.project_name())
|
||||
|
||||
substs.set('SUSHELL', get_option('debug-shell'))
|
||||
substs.set('DEBUGTTY', get_option('debug-tty'))
|
||||
|
||||
debug = get_option('debug-extra')
|
||||
enable_debug_hashmap = false
|
||||
enable_debug_mmap_cache = false
|
||||
if debug != ''
|
||||
foreach name : debug.split(',')
|
||||
if name == 'hashmap'
|
||||
enable_debug_hashmap = true
|
||||
elif name == 'mmap-cache'
|
||||
enable_debug_mmap_cache = true
|
||||
else
|
||||
message('unknown debug option "@0@", ignoring'.format(name))
|
||||
endif
|
||||
endforeach
|
||||
endif
|
||||
conf.set10('ENABLE_DEBUG_HASHMAP', enable_debug_hashmap)
|
||||
conf.set10('ENABLE_DEBUG_MMAP_CACHE', enable_debug_mmap_cache)
|
||||
|
||||
#####################################################################
|
||||
|
||||
threads = dependency('threads')
|
||||
librt = cc.find_library('rt')
|
||||
libm = cc.find_library('m')
|
||||
libdl = cc.find_library('dl')
|
||||
|
||||
libcap = dependency('libcap', required : false)
|
||||
if not libcap.found()
|
||||
# Compat with Ubuntu 14.04 which ships libcap w/o .pc file
|
||||
libcap = cc.find_library('cap')
|
||||
endif
|
||||
|
||||
want_audit = get_option('audit')
|
||||
if want_audit != 'false'
|
||||
libaudit = dependency('audit', required : want_audit == 'true')
|
||||
have = libaudit.found()
|
||||
else
|
||||
have = false
|
||||
libaudit = []
|
||||
endif
|
||||
conf.set10('HAVE_AUDIT', have)
|
||||
|
||||
want_gcrypt = get_option('gcrypt')
|
||||
if want_gcrypt != 'false' and not fuzzer_build
|
||||
libgcrypt = cc.find_library('gcrypt', required : want_gcrypt == 'true')
|
||||
libgpg_error = cc.find_library('gpg-error', required : want_gcrypt == 'true')
|
||||
have = libgcrypt.found() and libgpg_error.found()
|
||||
else
|
||||
have = false
|
||||
endif
|
||||
if not have
|
||||
# link to neither of the libs if one is not found
|
||||
libgcrypt = []
|
||||
libgpg_error = []
|
||||
endif
|
||||
conf.set10('HAVE_GCRYPT', have)
|
||||
|
||||
conf.set_quoted('FALLBACK_HOSTNAME', get_option('fallback-hostname'))
|
||||
conf.set10('ENABLE_COMPAT_GATEWAY_HOSTNAME', get_option('compat-gateway-hostname'))
|
||||
|
||||
default_hierarchy = get_option('default-hierarchy')
|
||||
conf.set_quoted('DEFAULT_HIERARCHY_NAME', default_hierarchy,
|
||||
description : 'default cgroup hierarchy as string')
|
||||
if default_hierarchy == 'legacy'
|
||||
conf.set('DEFAULT_HIERARCHY', 'CGROUP_UNIFIED_NONE')
|
||||
elif default_hierarchy == 'hybrid'
|
||||
conf.set('DEFAULT_HIERARCHY', 'CGROUP_UNIFIED_SYSTEMD')
|
||||
else
|
||||
conf.set('DEFAULT_HIERARCHY', 'CGROUP_UNIFIED_ALL')
|
||||
endif
|
||||
|
||||
time_epoch = get_option('time-epoch')
|
||||
if time_epoch == ''
|
||||
NEWS = files('NEWS')
|
||||
time_epoch = run_command(stat, '-c', '%Y', NEWS).stdout()
|
||||
endif
|
||||
time_epoch = time_epoch.to_int()
|
||||
conf.set('TIME_EPOCH', time_epoch)
|
||||
|
||||
libblkid = []
|
||||
libselinux = []
|
||||
libxz = []
|
||||
liblz4 = []
|
||||
|
||||
conf.set10('HAVE_LIBCRYPTSETUP', false)
|
||||
conf.set10('HAVE_SELINUX', false)
|
||||
conf.set10('ENABLE_IDN', false)
|
||||
conf.set10('ENABLE_SMACK', false)
|
||||
conf.set10('HAVE_PAM', false)
|
||||
conf.set10('HAVE_APPARMOR', false)
|
||||
conf.set10('ENABLE_IMA', false)
|
||||
conf.set10('HAVE_SYSV_COMPAT', false)
|
||||
conf.set10('ENABLE_UTMP', false)
|
||||
conf.set10('HAVE_GNUTLS', false)
|
||||
conf.set10('HAVE_ACL', false)
|
||||
conf.set10('HAVE_XZ', false)
|
||||
conf.set10('HAVE_LZ4', false)
|
||||
conf.set10('HAVE_SECCOMP', false)
|
||||
conf.set10('HAVE_BLKID', false)
|
||||
conf.set10('HAVE_ELFUTILS', false)
|
||||
conf.set10('HAVE_KMOD', false)
|
||||
conf.set10('HAVE_LIBIDN2', false)
|
||||
conf.set10('HAVE_LIBIDN', false)
|
||||
conf.set10('HAVE_PCRE2', false)
|
||||
|
||||
config_h = configure_file(
|
||||
output : 'config.h',
|
||||
configuration : conf)
|
||||
|
||||
includes = include_directories('src/basic',
|
||||
'src/shared',
|
||||
'src/systemd',
|
||||
'src/libsystemd/sd-bus',
|
||||
'src/libsystemd/sd-id128',
|
||||
'.')
|
||||
|
||||
add_project_arguments('-include', 'config.h', language : 'c')
|
||||
|
||||
subdir('src/systemd')
|
||||
subdir('src/basic')
|
||||
subdir('src/libsystemd')
|
||||
|
||||
libsystemd_sym_path = '@0@/@1@'.format(meson.current_source_dir(), libsystemd_sym)
|
||||
libsystemd = shared_library(
|
||||
'systemd',
|
||||
'src/systemd/sd-id128.h', # pick a header file at random to work around old meson bug
|
||||
version : libsystemd_version,
|
||||
include_directories : includes,
|
||||
link_args : ['-shared',
|
||||
'-Wl,--version-script=' + libsystemd_sym_path],
|
||||
link_with : [libbasic,
|
||||
libbasic_gcrypt],
|
||||
link_whole : [libsystemd_static],
|
||||
dependencies : [threads,
|
||||
librt],
|
||||
link_depends : libsystemd_sym,
|
||||
install : true,
|
||||
install_dir : rootlibdir)
|
||||
|
||||
############################################################
|
||||
|
||||
#generate_sym_test_py = find_program('src/test/generate-sym-test.py')
|
||||
|
||||
#test_libsystemd_sym_c = custom_target(
|
||||
# 'test-libsystemd-sym.c',
|
||||
# input : [libsystemd_sym_path] + systemd_headers,
|
||||
# output : 'test-libsystemd-sym.c',
|
||||
# command : [generate_sym_test_py, libsystemd_sym_path] + systemd_headers,
|
||||
# capture : true)
|
||||
|
||||
#test_libsystemd_sym = executable(
|
||||
# 'test-libsystemd-sym',
|
||||
# test_libsystemd_sym_c,
|
||||
# include_directories : includes,
|
||||
# link_with : [libsystemd],
|
||||
# install : install_tests,
|
||||
# install_dir : testsdir)
|
||||
#test('test-libsystemd-sym',
|
||||
# test_libsystemd_sym)
|
||||
|
||||
############################################################
|
||||
|
||||
install_data('src/libsystemd/sd-bus/GVARIANT-SERIALIZATION',
|
||||
install_dir : docdir)
|
||||
|
||||
############################################################
|
||||
|
||||
status = [
|
||||
'@0@ @1@'.format(meson.project_name(), meson.project_version()),
|
||||
|
||||
'prefix directory: @0@'.format(prefixdir),
|
||||
'rootprefix directory: @0@'.format(rootprefixdir),
|
||||
'sysconf directory: @0@'.format(sysconfdir),
|
||||
'include directory: @0@'.format(includedir),
|
||||
'lib directory: @0@'.format(libdir),
|
||||
'rootlib directory: @0@'.format(rootlibdir),
|
||||
'maximum system UID: @0@'.format(system_uid_max),
|
||||
'maximum system GID: @0@'.format(system_gid_max),
|
||||
'support URL: @0@'.format(support_url),
|
||||
'nobody user name: @0@'.format(nobody_user),
|
||||
'nobody group name: @0@'.format(nobody_group)]
|
||||
|
||||
# TODO:
|
||||
# CFLAGS: ${OUR_CFLAGS} ${CFLAGS}
|
||||
# CPPFLAGS: ${OUR_CPPFLAGS} ${CPPFLAGS}
|
||||
# LDFLAGS: ${OUR_LDFLAGS} ${LDFLAGS}
|
||||
|
||||
found = []
|
||||
missing = []
|
||||
|
||||
foreach tuple : [
|
||||
['AUDIT'],
|
||||
['gcrypt'],
|
||||
['split /usr', conf.get('HAVE_SPLIT_USR') == 1],
|
||||
]
|
||||
|
||||
cond = tuple.get(1, '')
|
||||
if cond == ''
|
||||
ident1 = 'HAVE_' + tuple[0].underscorify().to_upper()
|
||||
ident2 = 'ENABLE_' + tuple[0].underscorify().to_upper()
|
||||
cond = conf.get(ident1, 0) == 1 or conf.get(ident2, 0) == 1
|
||||
endif
|
||||
if cond
|
||||
found += [tuple[0]]
|
||||
else
|
||||
missing += [tuple[0]]
|
||||
endif
|
||||
endforeach
|
||||
|
||||
status += [
|
||||
'',
|
||||
'enabled features: @0@'.format(', '.join(found)),
|
||||
'',
|
||||
'disabled features: @0@'.format(', '.join(missing)),
|
||||
'']
|
||||
message('\n '.join(status))
|
||||
|
||||
if rootprefixdir != rootprefix_default
|
||||
message('WARNING:\n' +
|
||||
' Note that the installation prefix was changed to "@0@".\n'.format(rootprefixdir) +
|
||||
' systemd used fixed names for unit file directories and other paths, so anything\n' +
|
||||
' except the default ("@0@") is strongly discouraged.'.format(rootprefix_default))
|
||||
endif
|
|
@ -1,64 +0,0 @@
|
|||
--- a/src/systemd/meson.build 2018-03-03 22:56:45.111894767 +0100
|
||||
+++ b/src/systemd/meson.build 2018-03-03 22:58:09.791897314 +0100
|
||||
@@ -22,9 +22,6 @@
|
||||
sd-daemon.h
|
||||
sd-event.h
|
||||
sd-id128.h
|
||||
- sd-journal.h
|
||||
- sd-login.h
|
||||
- sd-messages.h
|
||||
'''.split()
|
||||
|
||||
# https://github.com/mesonbuild/meson/issues/1633
|
||||
--- a/src/libsystemd/meson.build 2018-03-03 21:35:53.919748869 +0100
|
||||
+++ b/src/libsystemd/meson.build 2018-03-03 22:47:53.195878770 +0100
|
||||
@@ -15,8 +15,6 @@
|
||||
# You should have received a copy of the GNU Lesser General Public License
|
||||
# along with systemd; If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
-sd_login_c = files('sd-login/sd-login.c')
|
||||
-
|
||||
libsystemd_sources = files('''
|
||||
sd-bus/bus-common-errors.c
|
||||
sd-bus/bus-common-errors.h
|
||||
@@ -58,39 +56,11 @@
|
||||
sd-bus/bus-type.h
|
||||
sd-bus/sd-bus.c
|
||||
sd-daemon/sd-daemon.c
|
||||
- sd-device/device-enumerator-private.h
|
||||
- sd-device/device-enumerator.c
|
||||
- sd-device/device-internal.h
|
||||
- sd-device/device-private.c
|
||||
- sd-device/device-private.h
|
||||
- sd-device/device-util.h
|
||||
- sd-device/sd-device.c
|
||||
sd-event/sd-event.c
|
||||
- sd-hwdb/hwdb-internal.h
|
||||
- sd-hwdb/hwdb-util.h
|
||||
- sd-hwdb/sd-hwdb.c
|
||||
sd-id128/id128-util.c
|
||||
sd-id128/id128-util.h
|
||||
sd-id128/sd-id128.c
|
||||
- sd-netlink/generic-netlink.c
|
||||
- sd-netlink/local-addresses.c
|
||||
- sd-netlink/local-addresses.h
|
||||
- sd-netlink/netlink-internal.h
|
||||
- sd-netlink/netlink-message.c
|
||||
- sd-netlink/netlink-socket.c
|
||||
- sd-netlink/netlink-types.c
|
||||
- sd-netlink/netlink-types.h
|
||||
- sd-netlink/netlink-util.c
|
||||
- sd-netlink/netlink-util.h
|
||||
- sd-netlink/rtnl-message.c
|
||||
- sd-netlink/sd-netlink.c
|
||||
- sd-network/network-util.c
|
||||
- sd-network/network-util.h
|
||||
- sd-network/sd-network.c
|
||||
- sd-path/sd-path.c
|
||||
- sd-resolve/sd-resolve.c
|
||||
- sd-utf8/sd-utf8.c
|
||||
-'''.split()) + sd_login_c
|
||||
+'''.split())
|
||||
|
||||
libsystemd_static = static_library(
|
||||
'systemd',
|
|
@ -1,411 +0,0 @@
|
|||
/***
|
||||
SPDX-License-Identifier: LGPL-2.1+
|
||||
|
||||
This file is part of systemd.
|
||||
|
||||
systemd is free software; you can redistribute it and/or modify it
|
||||
under the terms of the GNU Lesser General Public License as published by
|
||||
the Free Software Foundation; either version 2.1 of the License, or
|
||||
(at your option) any later version.
|
||||
***/
|
||||
|
||||
LIBSYSTEMD_209 {
|
||||
global:
|
||||
/* sd-daemon */
|
||||
sd_booted;
|
||||
sd_is_fifo;
|
||||
sd_is_mq;
|
||||
sd_is_socket;
|
||||
sd_is_socket_inet;
|
||||
sd_is_socket_unix;
|
||||
sd_is_special;
|
||||
sd_listen_fds;
|
||||
sd_notify;
|
||||
sd_notifyf;
|
||||
sd_watchdog_enabled;
|
||||
|
||||
/* sd-id128 */
|
||||
sd_id128_to_string;
|
||||
sd_id128_from_string;
|
||||
sd_id128_randomize;
|
||||
sd_id128_get_machine;
|
||||
sd_id128_get_boot;
|
||||
local:
|
||||
*;
|
||||
};
|
||||
|
||||
LIBSYSTEMD_214 {
|
||||
global:
|
||||
sd_pid_notify;
|
||||
sd_pid_notifyf;
|
||||
} LIBSYSTEMD_209;
|
||||
|
||||
LIBSYSTEMD_219 {
|
||||
global:
|
||||
sd_pid_notify_with_fds;
|
||||
} LIBSYSTEMD_214;
|
||||
|
||||
LIBSYSTEMD_221 {
|
||||
global:
|
||||
/* sd-bus */
|
||||
sd_bus_default;
|
||||
sd_bus_default_user;
|
||||
sd_bus_default_system;
|
||||
sd_bus_open;
|
||||
sd_bus_open_user;
|
||||
sd_bus_open_system;
|
||||
sd_bus_open_system_remote;
|
||||
sd_bus_open_system_machine;
|
||||
sd_bus_new;
|
||||
sd_bus_set_address;
|
||||
sd_bus_set_fd;
|
||||
sd_bus_set_exec;
|
||||
sd_bus_get_address;
|
||||
sd_bus_set_bus_client;
|
||||
sd_bus_is_bus_client;
|
||||
sd_bus_set_server;
|
||||
sd_bus_is_server;
|
||||
sd_bus_set_anonymous;
|
||||
sd_bus_is_anonymous;
|
||||
sd_bus_set_trusted;
|
||||
sd_bus_is_trusted;
|
||||
sd_bus_set_monitor;
|
||||
sd_bus_is_monitor;
|
||||
sd_bus_set_description;
|
||||
sd_bus_get_description;
|
||||
sd_bus_negotiate_creds;
|
||||
sd_bus_negotiate_timestamp;
|
||||
sd_bus_negotiate_fds;
|
||||
sd_bus_can_send;
|
||||
sd_bus_get_creds_mask;
|
||||
sd_bus_set_allow_interactive_authorization;
|
||||
sd_bus_get_allow_interactive_authorization;
|
||||
sd_bus_start;
|
||||
sd_bus_close;
|
||||
sd_bus_try_close;
|
||||
sd_bus_ref;
|
||||
sd_bus_unref;
|
||||
sd_bus_is_open;
|
||||
sd_bus_get_bus_id;
|
||||
sd_bus_get_scope;
|
||||
sd_bus_get_tid;
|
||||
sd_bus_get_owner_creds;
|
||||
sd_bus_send;
|
||||
sd_bus_send_to;
|
||||
sd_bus_call;
|
||||
sd_bus_call_async;
|
||||
sd_bus_get_fd;
|
||||
sd_bus_get_events;
|
||||
sd_bus_get_timeout;
|
||||
sd_bus_process;
|
||||
sd_bus_process_priority;
|
||||
sd_bus_wait;
|
||||
sd_bus_flush;
|
||||
sd_bus_get_current_slot;
|
||||
sd_bus_get_current_message;
|
||||
sd_bus_get_current_handler;
|
||||
sd_bus_get_current_userdata;
|
||||
sd_bus_attach_event;
|
||||
sd_bus_detach_event;
|
||||
sd_bus_get_event;
|
||||
sd_bus_add_filter;
|
||||
sd_bus_add_match;
|
||||
sd_bus_add_object;
|
||||
sd_bus_add_fallback;
|
||||
sd_bus_add_object_vtable;
|
||||
sd_bus_add_fallback_vtable;
|
||||
sd_bus_add_node_enumerator;
|
||||
sd_bus_add_object_manager;
|
||||
sd_bus_slot_ref;
|
||||
sd_bus_slot_unref;
|
||||
sd_bus_slot_get_bus;
|
||||
sd_bus_slot_get_userdata;
|
||||
sd_bus_slot_set_userdata;
|
||||
sd_bus_slot_get_description;
|
||||
sd_bus_slot_set_description;
|
||||
sd_bus_slot_get_current_message;
|
||||
sd_bus_slot_get_current_handler;
|
||||
sd_bus_slot_get_current_userdata;
|
||||
sd_bus_message_new_signal;
|
||||
sd_bus_message_new_method_call;
|
||||
sd_bus_message_new_method_return;
|
||||
sd_bus_message_new_method_error;
|
||||
sd_bus_message_new_method_errorf;
|
||||
sd_bus_message_new_method_errno;
|
||||
sd_bus_message_new_method_errnof;
|
||||
sd_bus_message_ref;
|
||||
sd_bus_message_unref;
|
||||
sd_bus_message_get_type;
|
||||
sd_bus_message_get_cookie;
|
||||
sd_bus_message_get_reply_cookie;
|
||||
sd_bus_message_get_priority;
|
||||
sd_bus_message_get_expect_reply;
|
||||
sd_bus_message_get_auto_start;
|
||||
sd_bus_message_get_allow_interactive_authorization;
|
||||
sd_bus_message_get_signature;
|
||||
sd_bus_message_get_path;
|
||||
sd_bus_message_get_interface;
|
||||
sd_bus_message_get_member;
|
||||
sd_bus_message_get_destination;
|
||||
sd_bus_message_get_sender;
|
||||
sd_bus_message_get_error;
|
||||
sd_bus_message_get_errno;
|
||||
sd_bus_message_get_monotonic_usec;
|
||||
sd_bus_message_get_realtime_usec;
|
||||
sd_bus_message_get_seqnum;
|
||||
sd_bus_message_get_bus;
|
||||
sd_bus_message_get_creds;
|
||||
sd_bus_message_is_signal;
|
||||
sd_bus_message_is_method_call;
|
||||
sd_bus_message_is_method_error;
|
||||
sd_bus_message_is_empty;
|
||||
sd_bus_message_has_signature;
|
||||
sd_bus_message_set_expect_reply;
|
||||
sd_bus_message_set_auto_start;
|
||||
sd_bus_message_set_allow_interactive_authorization;
|
||||
sd_bus_message_set_destination;
|
||||
sd_bus_message_set_priority;
|
||||
sd_bus_message_append;
|
||||
sd_bus_message_append_basic;
|
||||
sd_bus_message_append_array;
|
||||
sd_bus_message_append_array_space;
|
||||
sd_bus_message_append_array_iovec;
|
||||
sd_bus_message_append_array_memfd;
|
||||
sd_bus_message_append_string_space;
|
||||
sd_bus_message_append_string_iovec;
|
||||
sd_bus_message_append_string_memfd;
|
||||
sd_bus_message_append_strv;
|
||||
sd_bus_message_open_container;
|
||||
sd_bus_message_close_container;
|
||||
sd_bus_message_copy;
|
||||
sd_bus_message_read;
|
||||
sd_bus_message_read_basic;
|
||||
sd_bus_message_read_array;
|
||||
sd_bus_message_read_strv;
|
||||
sd_bus_message_skip;
|
||||
sd_bus_message_enter_container;
|
||||
sd_bus_message_exit_container;
|
||||
sd_bus_message_peek_type;
|
||||
sd_bus_message_verify_type;
|
||||
sd_bus_message_at_end;
|
||||
sd_bus_message_rewind;
|
||||
sd_bus_get_unique_name;
|
||||
sd_bus_request_name;
|
||||
sd_bus_release_name;
|
||||
sd_bus_list_names;
|
||||
sd_bus_get_name_creds;
|
||||
sd_bus_get_name_machine_id;
|
||||
sd_bus_call_method;
|
||||
sd_bus_call_method_async;
|
||||
sd_bus_get_property;
|
||||
sd_bus_get_property_trivial;
|
||||
sd_bus_get_property_string;
|
||||
sd_bus_get_property_strv;
|
||||
sd_bus_set_property;
|
||||
sd_bus_reply_method_return;
|
||||
sd_bus_reply_method_error;
|
||||
sd_bus_reply_method_errorf;
|
||||
sd_bus_reply_method_errno;
|
||||
sd_bus_reply_method_errnof;
|
||||
sd_bus_emit_signal;
|
||||
sd_bus_emit_properties_changed_strv;
|
||||
sd_bus_emit_properties_changed;
|
||||
sd_bus_emit_interfaces_added_strv;
|
||||
sd_bus_emit_interfaces_added;
|
||||
sd_bus_emit_interfaces_removed_strv;
|
||||
sd_bus_emit_interfaces_removed;
|
||||
sd_bus_query_sender_creds;
|
||||
sd_bus_query_sender_privilege;
|
||||
sd_bus_creds_new_from_pid;
|
||||
sd_bus_creds_ref;
|
||||
sd_bus_creds_unref;
|
||||
sd_bus_creds_get_mask;
|
||||
sd_bus_creds_get_augmented_mask;
|
||||
sd_bus_creds_get_pid;
|
||||
sd_bus_creds_get_ppid;
|
||||
sd_bus_creds_get_tid;
|
||||
sd_bus_creds_get_uid;
|
||||
sd_bus_creds_get_euid;
|
||||
sd_bus_creds_get_suid;
|
||||
sd_bus_creds_get_fsuid;
|
||||
sd_bus_creds_get_gid;
|
||||
sd_bus_creds_get_egid;
|
||||
sd_bus_creds_get_sgid;
|
||||
sd_bus_creds_get_fsgid;
|
||||
sd_bus_creds_get_supplementary_gids;
|
||||
sd_bus_creds_get_comm;
|
||||
sd_bus_creds_get_tid_comm;
|
||||
sd_bus_creds_get_exe;
|
||||
sd_bus_creds_get_cmdline;
|
||||
sd_bus_creds_get_cgroup;
|
||||
sd_bus_creds_get_unit;
|
||||
sd_bus_creds_get_slice;
|
||||
sd_bus_creds_get_user_unit;
|
||||
sd_bus_creds_get_user_slice;
|
||||
sd_bus_creds_get_session;
|
||||
sd_bus_creds_get_owner_uid;
|
||||
sd_bus_creds_has_effective_cap;
|
||||
sd_bus_creds_has_permitted_cap;
|
||||
sd_bus_creds_has_inheritable_cap;
|
||||
sd_bus_creds_has_bounding_cap;
|
||||
sd_bus_creds_get_selinux_context;
|
||||
sd_bus_creds_get_audit_session_id;
|
||||
sd_bus_creds_get_audit_login_uid;
|
||||
sd_bus_creds_get_tty;
|
||||
sd_bus_creds_get_unique_name;
|
||||
sd_bus_creds_get_well_known_names;
|
||||
sd_bus_creds_get_description;
|
||||
sd_bus_error_free;
|
||||
sd_bus_error_set;
|
||||
sd_bus_error_setf;
|
||||
sd_bus_error_set_const;
|
||||
sd_bus_error_set_errno;
|
||||
sd_bus_error_set_errnof;
|
||||
sd_bus_error_set_errnofv;
|
||||
sd_bus_error_get_errno;
|
||||
sd_bus_error_copy;
|
||||
sd_bus_error_is_set;
|
||||
sd_bus_error_has_name;
|
||||
sd_bus_error_add_map;
|
||||
sd_bus_path_encode;
|
||||
sd_bus_path_decode;
|
||||
sd_bus_track_new;
|
||||
sd_bus_track_ref;
|
||||
sd_bus_track_unref;
|
||||
sd_bus_track_get_bus;
|
||||
sd_bus_track_get_userdata;
|
||||
sd_bus_track_set_userdata;
|
||||
sd_bus_track_add_sender;
|
||||
sd_bus_track_remove_sender;
|
||||
sd_bus_track_add_name;
|
||||
sd_bus_track_remove_name;
|
||||
sd_bus_track_count;
|
||||
sd_bus_track_contains;
|
||||
sd_bus_track_first;
|
||||
sd_bus_track_next;
|
||||
|
||||
/* sd-event */
|
||||
sd_event_default;
|
||||
sd_event_new;
|
||||
sd_event_ref;
|
||||
sd_event_unref;
|
||||
sd_event_add_io;
|
||||
sd_event_add_time;
|
||||
sd_event_add_signal;
|
||||
sd_event_add_child;
|
||||
sd_event_add_defer;
|
||||
sd_event_add_post;
|
||||
sd_event_add_exit;
|
||||
sd_event_prepare;
|
||||
sd_event_wait;
|
||||
sd_event_dispatch;
|
||||
sd_event_run;
|
||||
sd_event_loop;
|
||||
sd_event_exit;
|
||||
sd_event_now;
|
||||
sd_event_get_fd;
|
||||
sd_event_get_state;
|
||||
sd_event_get_tid;
|
||||
sd_event_get_exit_code;
|
||||
sd_event_set_watchdog;
|
||||
sd_event_get_watchdog;
|
||||
sd_event_source_ref;
|
||||
sd_event_source_unref;
|
||||
sd_event_source_get_event;
|
||||
sd_event_source_get_userdata;
|
||||
sd_event_source_set_userdata;
|
||||
sd_event_source_set_description;
|
||||
sd_event_source_get_description;
|
||||
sd_event_source_set_prepare;
|
||||
sd_event_source_get_pending;
|
||||
sd_event_source_get_priority;
|
||||
sd_event_source_set_priority;
|
||||
sd_event_source_get_enabled;
|
||||
sd_event_source_set_enabled;
|
||||
sd_event_source_get_io_fd;
|
||||
sd_event_source_set_io_fd;
|
||||
sd_event_source_get_io_events;
|
||||
sd_event_source_set_io_events;
|
||||
sd_event_source_get_io_revents;
|
||||
sd_event_source_get_time;
|
||||
sd_event_source_set_time;
|
||||
sd_event_source_set_time_accuracy;
|
||||
sd_event_source_get_time_accuracy;
|
||||
sd_event_source_get_time_clock;
|
||||
sd_event_source_get_signal;
|
||||
sd_event_source_get_child_pid;
|
||||
} LIBSYSTEMD_219;
|
||||
|
||||
LIBSYSTEMD_222 {
|
||||
global:
|
||||
/* sd-bus */
|
||||
sd_bus_emit_object_added;
|
||||
sd_bus_emit_object_removed;
|
||||
sd_bus_flush_close_unref;
|
||||
} LIBSYSTEMD_221;
|
||||
|
||||
LIBSYSTEMD_227 {
|
||||
global:
|
||||
sd_bus_default_flush_close;
|
||||
sd_bus_path_decode_many;
|
||||
sd_bus_path_encode_many;
|
||||
sd_listen_fds_with_names;
|
||||
} LIBSYSTEMD_222;
|
||||
|
||||
LIBSYSTEMD_231 {
|
||||
global:
|
||||
sd_event_get_iteration;
|
||||
} LIBSYSTEMD_227;
|
||||
|
||||
LIBSYSTEMD_232 {
|
||||
global:
|
||||
sd_bus_track_set_recursive;
|
||||
sd_bus_track_get_recursive;
|
||||
sd_bus_track_count_name;
|
||||
sd_bus_track_count_sender;
|
||||
sd_bus_set_exit_on_disconnect;
|
||||
sd_bus_get_exit_on_disconnect;
|
||||
sd_id128_get_invocation;
|
||||
} LIBSYSTEMD_231;
|
||||
|
||||
LIBSYSTEMD_233 {
|
||||
global:
|
||||
sd_id128_get_machine_app_specific;
|
||||
sd_is_socket_sockaddr;
|
||||
} LIBSYSTEMD_232;
|
||||
|
||||
LIBSYSTEMD_234 {
|
||||
global:
|
||||
sd_bus_message_appendv;
|
||||
} LIBSYSTEMD_233;
|
||||
|
||||
LIBSYSTEMD_236 {
|
||||
global:
|
||||
sd_bus_message_new;
|
||||
sd_bus_message_seal;
|
||||
} LIBSYSTEMD_234;
|
||||
|
||||
LIBSYSTEMD_237 {
|
||||
global:
|
||||
sd_bus_set_watch_bind;
|
||||
sd_bus_get_watch_bind;
|
||||
sd_bus_request_name_async;
|
||||
sd_bus_release_name_async;
|
||||
sd_bus_add_match_async;
|
||||
sd_bus_match_signal;
|
||||
sd_bus_match_signal_async;
|
||||
sd_bus_is_ready;
|
||||
sd_bus_set_connected_signal;
|
||||
sd_bus_get_connected_signal;
|
||||
sd_bus_set_sender;
|
||||
sd_bus_get_sender;
|
||||
sd_bus_message_set_sender;
|
||||
sd_event_source_get_io_fd_own;
|
||||
sd_event_source_set_io_fd_own;
|
||||
} LIBSYSTEMD_236;
|
||||
|
||||
LIBSYSTEMD_238 {
|
||||
global:
|
||||
sd_bus_get_n_queued_read;
|
||||
sd_bus_get_n_queued_write;
|
||||
} LIBSYSTEMD_237;
|
|
@ -1,907 +0,0 @@
|
|||
# SPDX-License-Identifier: LGPL-2.1+
|
||||
#
|
||||
# Copyright 2017 Zbigniew Jędrzejewski-Szmek
|
||||
#
|
||||
# systemd is free software; you can redistribute it and/or modify it
|
||||
# under the terms of the GNU Lesser General Public License as published by
|
||||
# the Free Software Foundation; either version 2.1 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# systemd is distributed in the hope that it will be useful, but
|
||||
# WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
# Lesser General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Lesser General Public License
|
||||
# along with systemd; If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
project('systemd', 'c',
|
||||
version : '238',
|
||||
license : 'LGPLv2+',
|
||||
default_options: [
|
||||
'c_std=gnu99',
|
||||
'prefix=/usr',
|
||||
'sysconfdir=/etc',
|
||||
'localstatedir=/var',
|
||||
],
|
||||
meson_version : '>= 0.41',
|
||||
)
|
||||
|
||||
libsystemd_version = '0.22.0'
|
||||
libudev_version = '1.6.10'
|
||||
|
||||
support_url = get_option('support-url')
|
||||
|
||||
# We need the same data in three different formats, ugh!
|
||||
# Also, for hysterical reasons, we use different variable
|
||||
# names, sometimes. Not all variables are included in every
|
||||
# set. Ugh, ugh, ugh!
|
||||
conf = configuration_data()
|
||||
conf.set_quoted('PACKAGE_STRING', meson.project_name() + ' ' + meson.project_version())
|
||||
conf.set_quoted('PACKAGE_VERSION', meson.project_version())
|
||||
|
||||
substs = configuration_data()
|
||||
substs.set('PACKAGE_URL', 'https://www.freedesktop.org/wiki/Software/systemd')
|
||||
substs.set('PACKAGE_VERSION', meson.project_version())
|
||||
|
||||
m4_defines = []
|
||||
|
||||
#####################################################################
|
||||
|
||||
if get_option('split-usr') == 'auto'
|
||||
split_usr = run_command('test', '-L', '/bin').returncode() != 0
|
||||
else
|
||||
split_usr = get_option('split-usr') == 'true'
|
||||
endif
|
||||
conf.set10('HAVE_SPLIT_USR', split_usr,
|
||||
description : '/usr/bin and /bin directories are separate')
|
||||
|
||||
if get_option('split-bin') == 'auto'
|
||||
split_bin = run_command('test', '-L', '/usr/sbin').returncode() != 0
|
||||
else
|
||||
split_bin = get_option('split-bin') == 'true'
|
||||
endif
|
||||
conf.set10('HAVE_SPLIT_BIN', split_bin,
|
||||
description : 'bin and sbin directories are separate')
|
||||
|
||||
rootprefixdir = get_option('rootprefix')
|
||||
# Unusual rootprefixdir values are used by some distros
|
||||
# (see https://github.com/systemd/systemd/pull/7461).
|
||||
rootprefix_default = split_usr ? '/' : '/usr'
|
||||
if rootprefixdir == ''
|
||||
rootprefixdir = rootprefix_default
|
||||
endif
|
||||
|
||||
# join_paths ignore the preceding arguments if an absolute component is
|
||||
# encountered, so this should canonicalize various paths when they are
|
||||
# absolute or relative.
|
||||
prefixdir = get_option('prefix')
|
||||
if not prefixdir.startswith('/')
|
||||
error('Prefix is not absolute: "@0@"'.format(prefixdir))
|
||||
endif
|
||||
bindir = join_paths(prefixdir, get_option('bindir'))
|
||||
libdir = join_paths(prefixdir, get_option('libdir'))
|
||||
sysconfdir = join_paths(prefixdir, get_option('sysconfdir'))
|
||||
includedir = join_paths(prefixdir, get_option('includedir'))
|
||||
datadir = join_paths(prefixdir, get_option('datadir'))
|
||||
localstatedir = join_paths('/', get_option('localstatedir'))
|
||||
|
||||
rootbindir = join_paths(rootprefixdir, 'bin')
|
||||
rootsbindir = join_paths(rootprefixdir, split_bin ? 'sbin' : 'bin')
|
||||
rootlibexecdir = join_paths(rootprefixdir, 'lib/systemd')
|
||||
|
||||
rootlibdir = get_option('rootlibdir')
|
||||
if rootlibdir == ''
|
||||
rootlibdir = join_paths(rootprefixdir, libdir.split('/')[-1])
|
||||
endif
|
||||
|
||||
# Dirs of external packages
|
||||
pkgconfigdatadir = join_paths(datadir, 'pkgconfig')
|
||||
pkgconfiglibdir = join_paths(libdir, 'pkgconfig')
|
||||
varlogdir = join_paths(localstatedir, 'log')
|
||||
|
||||
# Our own paths
|
||||
pkgdatadir = join_paths(datadir, 'systemd')
|
||||
pkgsysconfdir = join_paths(sysconfdir, 'systemd')
|
||||
pkgincludedir = join_paths(includedir, 'systemd')
|
||||
systemdstatedir = join_paths(localstatedir, 'lib/systemd')
|
||||
randomseeddir = join_paths(localstatedir, 'lib/systemd')
|
||||
|
||||
docdir = get_option('docdir')
|
||||
if docdir == ''
|
||||
docdir = join_paths(datadir, 'doc/systemd')
|
||||
endif
|
||||
|
||||
dbuspolicydir = get_option('dbuspolicydir')
|
||||
if dbuspolicydir == ''
|
||||
dbuspolicydir = join_paths(datadir, 'dbus-1/system.d')
|
||||
endif
|
||||
|
||||
dbussessionservicedir = get_option('dbussessionservicedir')
|
||||
if dbussessionservicedir == ''
|
||||
dbussessionservicedir = join_paths(datadir, 'dbus-1/services')
|
||||
endif
|
||||
|
||||
dbussystemservicedir = get_option('dbussystemservicedir')
|
||||
if dbussystemservicedir == ''
|
||||
dbussystemservicedir = join_paths(datadir, 'dbus-1/system-services')
|
||||
endif
|
||||
|
||||
conf.set_quoted('PKGSYSCONFDIR', pkgsysconfdir)
|
||||
conf.set_quoted('ROOTPREFIX', rootprefixdir)
|
||||
conf.set_quoted('LIBDIR', libdir)
|
||||
conf.set_quoted('ROOTLIBDIR', rootlibdir)
|
||||
conf.set_quoted('ROOTLIBEXECDIR', rootlibexecdir)
|
||||
|
||||
conf.set_quoted('ABS_BUILD_DIR', meson.build_root())
|
||||
conf.set_quoted('ABS_SRC_DIR', meson.source_root())
|
||||
|
||||
substs.set('prefix', prefixdir)
|
||||
substs.set('exec_prefix', prefixdir)
|
||||
substs.set('libdir', libdir)
|
||||
substs.set('rootlibdir', rootlibdir)
|
||||
substs.set('includedir', includedir)
|
||||
substs.set('pkgsysconfdir', pkgsysconfdir)
|
||||
substs.set('bindir', bindir)
|
||||
substs.set('rootbindir', rootbindir)
|
||||
substs.set('rootlibexecdir', rootlibexecdir)
|
||||
substs.set('VARLOGDIR', varlogdir)
|
||||
|
||||
#####################################################################
|
||||
|
||||
cc = meson.get_compiler('c')
|
||||
pkgconfig = import('pkgconfig')
|
||||
check_compilation_sh = find_program('tools/meson-check-compilation.sh')
|
||||
meson_build_sh = find_program('tools/meson-build.sh')
|
||||
|
||||
if get_option('tests') != 'false'
|
||||
cxx = find_program('c++', required : false)
|
||||
if cxx.found()
|
||||
# Used only for tests
|
||||
add_languages('cpp')
|
||||
endif
|
||||
endif
|
||||
|
||||
foreach arg : ['-Wextra',
|
||||
'-Werror=undef',
|
||||
'-Wlogical-op',
|
||||
'-Wmissing-include-dirs',
|
||||
'-Wold-style-definition',
|
||||
'-Wpointer-arith',
|
||||
'-Winit-self',
|
||||
'-Wdeclaration-after-statement',
|
||||
'-Wfloat-equal',
|
||||
'-Wsuggest-attribute=noreturn',
|
||||
'-Werror=missing-prototypes',
|
||||
'-Werror=implicit-function-declaration',
|
||||
'-Werror=missing-declarations',
|
||||
'-Werror=return-type',
|
||||
'-Werror=incompatible-pointer-types',
|
||||
'-Werror=format=2',
|
||||
'-Wstrict-prototypes',
|
||||
'-Wredundant-decls',
|
||||
'-Wmissing-noreturn',
|
||||
'-Wimplicit-fallthrough=5',
|
||||
'-Wshadow',
|
||||
'-Wendif-labels',
|
||||
'-Wstrict-aliasing=2',
|
||||
'-Wwrite-strings',
|
||||
'-Werror=overflow',
|
||||
'-Wdate-time',
|
||||
'-Wnested-externs',
|
||||
'-ffast-math',
|
||||
'-fno-common',
|
||||
'-fdiagnostics-show-option',
|
||||
'-fno-strict-aliasing',
|
||||
'-fvisibility=hidden',
|
||||
'-fstack-protector',
|
||||
'-fstack-protector-strong',
|
||||
'--param=ssp-buffer-size=4',
|
||||
]
|
||||
if cc.has_argument(arg)
|
||||
add_project_arguments(arg, language : 'c')
|
||||
endif
|
||||
endforeach
|
||||
|
||||
# the oss-fuzz fuzzers are not built with -fPIE, so don't
|
||||
# enable it when we are linking against them
|
||||
if cc.has_argument('-fPIE')
|
||||
add_project_arguments('-fPIE', language : 'c')
|
||||
endif
|
||||
|
||||
# "negative" arguments: gcc on purpose does not return an error for "-Wno-"
|
||||
# arguments, just emits a warnings. So test for the "positive" version instead.
|
||||
foreach arg : ['unused-parameter',
|
||||
'missing-field-initializers',
|
||||
'unused-result',
|
||||
'format-signedness',
|
||||
'error=nonnull', # work-around for gcc 7.1 turning this on on its own
|
||||
]
|
||||
if cc.has_argument('-W' + arg)
|
||||
add_project_arguments('-Wno-' + arg, language : 'c')
|
||||
endif
|
||||
endforeach
|
||||
|
||||
if cc.compiles('''
|
||||
#include <time.h>
|
||||
#include <inttypes.h>
|
||||
typedef uint64_t usec_t;
|
||||
usec_t now(clockid_t clock);
|
||||
int main(void) {
|
||||
struct timespec now;
|
||||
return 0;
|
||||
}
|
||||
''', name : '-Werror=shadow with local shadowing')
|
||||
add_project_arguments('-Werror=shadow', language : 'c')
|
||||
endif
|
||||
|
||||
if cc.get_id() == 'clang'
|
||||
foreach arg : ['-Wno-typedef-redefinition',
|
||||
'-Wno-gnu-variable-sized-type-not-at-end',
|
||||
]
|
||||
if cc.has_argument(arg,
|
||||
name : '@0@ is supported'.format(arg))
|
||||
add_project_arguments(arg, language : 'c')
|
||||
endif
|
||||
endforeach
|
||||
endif
|
||||
|
||||
link_test_c = files('tools/meson-link-test.c')
|
||||
|
||||
# --as-needed and --no-undefined are provided by meson by default,
|
||||
# run mesonconf to see what is enabled
|
||||
foreach arg : ['-Wl,-z,relro',
|
||||
'-Wl,-z,now',
|
||||
'-pie',
|
||||
]
|
||||
|
||||
have = run_command(check_compilation_sh,
|
||||
cc.cmd_array(), '-x', 'c', arg,
|
||||
'-include', link_test_c).returncode() == 0
|
||||
message('Linking with @0@ supported: @1@'.format(arg, have ? 'yes' : 'no'))
|
||||
if have
|
||||
add_project_link_arguments(arg, language : 'c')
|
||||
endif
|
||||
endforeach
|
||||
|
||||
# Check if various sanitizers are supported
|
||||
sanitizers = []
|
||||
foreach arg : ['address']
|
||||
|
||||
have = run_command(check_compilation_sh,
|
||||
cc.cmd_array(), '-x', 'c',
|
||||
'-fsanitize=@0@'.format(arg),
|
||||
'-include', link_test_c).returncode() == 0
|
||||
message('@0@ sanitizer supported: @1@'.format(arg, have ? 'yes' : 'no'))
|
||||
if have
|
||||
sanitizers += arg
|
||||
endif
|
||||
endforeach
|
||||
|
||||
if get_option('buildtype') != 'debug'
|
||||
foreach arg : ['-ffunction-sections',
|
||||
'-fdata-sections']
|
||||
if cc.has_argument(arg,
|
||||
name : '@0@ is supported'.format(arg))
|
||||
add_project_arguments(arg, language : 'c')
|
||||
endif
|
||||
endforeach
|
||||
|
||||
foreach arg : ['-Wl,--gc-sections']
|
||||
have = run_command(check_compilation_sh,
|
||||
cc.cmd_array(), '-x', 'c', arg,
|
||||
'-include', link_test_c).returncode() == 0
|
||||
message('Linking with @0@ supported: @1@'.format(arg, have ? 'yes' : 'no'))
|
||||
if have
|
||||
add_project_link_arguments(arg, language : 'c')
|
||||
endif
|
||||
endforeach
|
||||
endif
|
||||
|
||||
cpp = ' '.join(cc.cmd_array()) + ' -E'
|
||||
|
||||
#####################################################################
|
||||
# compilation result tests
|
||||
|
||||
conf.set('_GNU_SOURCE', true)
|
||||
conf.set('__SANE_USERSPACE_TYPES__', true)
|
||||
|
||||
conf.set('SIZEOF_PID_T', cc.sizeof('pid_t', prefix : '#include <sys/types.h>'))
|
||||
conf.set('SIZEOF_UID_T', cc.sizeof('uid_t', prefix : '#include <sys/types.h>'))
|
||||
conf.set('SIZEOF_GID_T', cc.sizeof('gid_t', prefix : '#include <sys/types.h>'))
|
||||
conf.set('SIZEOF_DEV_T', cc.sizeof('dev_t', prefix : '#include <sys/types.h>'))
|
||||
conf.set('SIZEOF_INO_T', cc.sizeof('ino_t', prefix : '#include <sys/types.h>'))
|
||||
conf.set('SIZEOF_TIME_T', cc.sizeof('time_t', prefix : '#include <sys/time.h>'))
|
||||
conf.set('SIZEOF_RLIM_T', cc.sizeof('rlim_t', prefix : '#include <sys/resource.h>'))
|
||||
|
||||
decl_headers = '''
|
||||
#include <uchar.h>
|
||||
#include <linux/ethtool.h>
|
||||
#include <linux/fib_rules.h>
|
||||
#include <linux/stat.h>
|
||||
#include <sys/stat.h>
|
||||
'''
|
||||
# FIXME: key_serial_t is only defined in keyutils.h, this is bound to fail
|
||||
|
||||
foreach decl : ['char16_t',
|
||||
'char32_t',
|
||||
'key_serial_t',
|
||||
'struct ethtool_link_settings',
|
||||
'struct fib_rule_uid_range',
|
||||
'struct statx',
|
||||
]
|
||||
|
||||
# We get -1 if the size cannot be determined
|
||||
have = cc.sizeof(decl, prefix : decl_headers) > 0
|
||||
conf.set10('HAVE_' + decl.underscorify().to_upper(), have)
|
||||
endforeach
|
||||
|
||||
foreach decl : [['IFLA_INET6_ADDR_GEN_MODE', 'linux/if_link.h'],
|
||||
['IN6_ADDR_GEN_MODE_STABLE_PRIVACY', 'linux/if_link.h'],
|
||||
['IFLA_VRF_TABLE', 'linux/if_link.h'],
|
||||
['IFLA_MACVLAN_FLAGS', 'linux/if_link.h'],
|
||||
['IFLA_IPVLAN_FLAGS', 'linux/if_link.h'],
|
||||
['IFLA_PHYS_PORT_ID', 'linux/if_link.h'],
|
||||
['IFLA_BOND_AD_INFO', 'linux/if_link.h'],
|
||||
['IFLA_VLAN_PROTOCOL', 'linux/if_link.h'],
|
||||
['IFLA_VXLAN_REMCSUM_NOPARTIAL', 'linux/if_link.h'],
|
||||
['IFLA_VXLAN_GPE', 'linux/if_link.h'],
|
||||
['IFLA_GENEVE_LABEL', 'linux/if_link.h'],
|
||||
# if_tunnel.h is buggy and cannot be included on its own
|
||||
['IFLA_VTI_REMOTE', 'linux/if_tunnel.h', '#include <net/if.h>'],
|
||||
['IFLA_IPTUN_ENCAP_DPORT', 'linux/if_tunnel.h', '#include <net/if.h>'],
|
||||
['IFLA_GRE_ENCAP_DPORT', 'linux/if_tunnel.h', '#include <net/if.h>'],
|
||||
['IFLA_BRIDGE_VLAN_INFO', 'linux/if_bridge.h'],
|
||||
['IFLA_BRPORT_PROXYARP', 'linux/if_link.h'],
|
||||
['IFLA_BRPORT_LEARNING_SYNC', 'linux/if_link.h'],
|
||||
['IFLA_BR_VLAN_DEFAULT_PVID', 'linux/if_link.h'],
|
||||
['IPVLAN_F_PRIVATE', 'linux/if_link.h'],
|
||||
['NDA_IFINDEX', 'linux/neighbour.h'],
|
||||
['IFA_FLAGS', 'linux/if_addr.h'],
|
||||
['FRA_UID_RANGE', 'linux/fib_rules.h'],
|
||||
['LO_FLAGS_PARTSCAN', 'linux/loop.h'],
|
||||
['VXCAN_INFO_PEER', 'linux/can/vxcan.h'],
|
||||
]
|
||||
prefix = decl.length() > 2 ? decl[2] : ''
|
||||
have = cc.has_header_symbol(decl[1], decl[0], prefix : prefix)
|
||||
conf.set10('HAVE_' + decl[0], have)
|
||||
endforeach
|
||||
|
||||
foreach ident : ['secure_getenv', '__secure_getenv']
|
||||
conf.set10('HAVE_' + ident.to_upper(), cc.has_function(ident))
|
||||
endforeach
|
||||
|
||||
foreach ident : [
|
||||
['memfd_create', '''#include <sys/mman.h>'''],
|
||||
['gettid', '''#include <sys/types.h>
|
||||
#include <unistd.h>'''],
|
||||
['pivot_root', '''#include <stdlib.h>
|
||||
#include <unistd.h>'''], # no known header declares pivot_root
|
||||
['name_to_handle_at', '''#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
#include <fcntl.h>'''],
|
||||
['setns', '''#include <sched.h>'''],
|
||||
['renameat2', '''#include <stdio.h>
|
||||
#include <fcntl.h>'''],
|
||||
['kcmp', '''#include <linux/kcmp.h>'''],
|
||||
['keyctl', '''#include <sys/types.h>
|
||||
#include <keyutils.h>'''],
|
||||
['copy_file_range', '''#include <sys/syscall.h>
|
||||
#include <unistd.h>'''],
|
||||
['bpf', '''#include <sys/syscall.h>
|
||||
#include <unistd.h>'''],
|
||||
['statx', '''#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
#include <unistd.h>'''],
|
||||
['explicit_bzero' , '''#include <string.h>'''],
|
||||
['reallocarray', '''#include <malloc.h>'''],
|
||||
]
|
||||
|
||||
have = cc.has_function(ident[0], prefix : ident[1], args : '-D_GNU_SOURCE')
|
||||
conf.set10('HAVE_' + ident[0].to_upper(), have)
|
||||
endforeach
|
||||
|
||||
if cc.has_function('getrandom', prefix : '''#include <sys/random.h>''', args : '-D_GNU_SOURCE')
|
||||
conf.set10('USE_SYS_RANDOM_H', true)
|
||||
conf.set10('HAVE_GETRANDOM', true)
|
||||
else
|
||||
have = cc.has_function('getrandom', prefix : '''#include <linux/random.h>''')
|
||||
conf.set10('USE_SYS_RANDOM_H', false)
|
||||
conf.set10('HAVE_GETRANDOM', have)
|
||||
endif
|
||||
|
||||
#####################################################################
|
||||
|
||||
sed = find_program('sed')
|
||||
awk = find_program('awk')
|
||||
m4 = find_program('m4')
|
||||
stat = find_program('stat')
|
||||
git = find_program('git', required : false)
|
||||
env = find_program('env')
|
||||
|
||||
meson_make_symlink = meson.source_root() + '/tools/meson-make-symlink.sh'
|
||||
mkdir_p = 'mkdir -p $DESTDIR/@0@'
|
||||
test_efi_create_disk_sh = find_program('test/test-efi-create-disk.sh')
|
||||
splash_bmp = files('test/splash.bmp')
|
||||
|
||||
# if -Dxxx-path option is found, use that. Otherwise, check in $PATH,
|
||||
# /usr/sbin, /sbin, and fall back to the default from middle column.
|
||||
progs = [['quotaon', '/usr/sbin/quotaon' ],
|
||||
['quotacheck', '/usr/sbin/quotacheck' ],
|
||||
['kill', '/usr/bin/kill' ],
|
||||
['kmod', '/usr/bin/kmod' ],
|
||||
['kexec', '/usr/sbin/kexec' ],
|
||||
['sulogin', '/usr/sbin/sulogin' ],
|
||||
['mount', '/usr/bin/mount', 'MOUNT_PATH'],
|
||||
['umount', '/usr/bin/umount', 'UMOUNT_PATH'],
|
||||
['loadkeys', '/usr/bin/loadkeys', 'KBD_LOADKEYS'],
|
||||
['setfont', '/usr/bin/setfont', 'KBD_SETFONT'],
|
||||
]
|
||||
foreach prog : progs
|
||||
path = get_option(prog[0] + '-path')
|
||||
if path != ''
|
||||
message('Using @1@ for @0@'.format(prog[0], path))
|
||||
else
|
||||
exe = find_program(prog[0],
|
||||
'/usr/sbin/' + prog[0],
|
||||
'/sbin/' + prog[0],
|
||||
required: false)
|
||||
path = exe.found() ? exe.path() : prog[1]
|
||||
endif
|
||||
name = prog.length() > 2 ? prog[2] : prog[0].to_upper()
|
||||
conf.set_quoted(name, path)
|
||||
substs.set(name, path)
|
||||
endforeach
|
||||
|
||||
if run_command('ln', '--relative', '--help').returncode() != 0
|
||||
error('ln does not support --relative (added in coreutils 8.16)')
|
||||
endif
|
||||
|
||||
############################################################
|
||||
|
||||
gperf = find_program('gperf')
|
||||
|
||||
gperf_test_format = '''
|
||||
#include <string.h>
|
||||
const char * in_word_set(const char *, @0@);
|
||||
@1@
|
||||
'''
|
||||
gperf_snippet_format = 'echo foo,bar | @0@ -L ANSI-C'
|
||||
gperf_snippet = run_command('sh', '-c', gperf_snippet_format.format(gperf.path()))
|
||||
gperf_test = gperf_test_format.format('size_t', gperf_snippet.stdout())
|
||||
if cc.compiles(gperf_test)
|
||||
gperf_len_type = 'size_t'
|
||||
else
|
||||
gperf_test = gperf_test_format.format('unsigned', gperf_snippet.stdout())
|
||||
if cc.compiles(gperf_test)
|
||||
gperf_len_type = 'unsigned'
|
||||
else
|
||||
error('unable to determine gperf len type')
|
||||
endif
|
||||
endif
|
||||
message('gperf len type is @0@'.format(gperf_len_type))
|
||||
conf.set('GPERF_LEN_TYPE', gperf_len_type,
|
||||
description : 'The type of gperf "len" parameter')
|
||||
|
||||
############################################################
|
||||
|
||||
if not cc.has_header('sys/capability.h')
|
||||
error('POSIX caps headers not found')
|
||||
endif
|
||||
foreach header : ['crypt.h',
|
||||
'linux/btrfs.h',
|
||||
'linux/memfd.h',
|
||||
'linux/vm_sockets.h',
|
||||
'sys/auxv.h',
|
||||
'valgrind/memcheck.h',
|
||||
'valgrind/valgrind.h',
|
||||
]
|
||||
|
||||
conf.set10('HAVE_' + header.underscorify().to_upper(),
|
||||
cc.has_header(header))
|
||||
endforeach
|
||||
|
||||
############################################################
|
||||
|
||||
system_uid_max = get_option('system-uid-max')
|
||||
if system_uid_max == ''
|
||||
system_uid_max = run_command(
|
||||
awk,
|
||||
'/^\s*SYS_UID_MAX\s+/ { uid=$2 } END { print uid }',
|
||||
'/etc/login.defs').stdout().strip()
|
||||
if system_uid_max == ''
|
||||
system_uid_max = '999'
|
||||
endif
|
||||
endif
|
||||
system_uid_max = system_uid_max.to_int()
|
||||
conf.set('SYSTEM_UID_MAX', system_uid_max)
|
||||
substs.set('systemuidmax', system_uid_max)
|
||||
message('maximum system UID is @0@'.format(system_uid_max))
|
||||
|
||||
system_gid_max = get_option('system-gid-max')
|
||||
if system_gid_max == ''
|
||||
system_gid_max = run_command(
|
||||
awk,
|
||||
'/^\s*SYS_GID_MAX\s+/ { gid=$2 } END { print gid }',
|
||||
'/etc/login.defs').stdout().strip()
|
||||
if system_gid_max == ''
|
||||
system_gid_max = '999'
|
||||
endif
|
||||
endif
|
||||
system_gid_max = system_gid_max.to_int()
|
||||
conf.set('SYSTEM_GID_MAX', system_gid_max)
|
||||
substs.set('systemgidmax', system_gid_max)
|
||||
message('maximum system GID is @0@'.format(system_gid_max))
|
||||
|
||||
dynamic_uid_min = get_option('dynamic-uid-min').to_int()
|
||||
dynamic_uid_max = get_option('dynamic-uid-max').to_int()
|
||||
conf.set('DYNAMIC_UID_MIN', dynamic_uid_min)
|
||||
conf.set('DYNAMIC_UID_MAX', dynamic_uid_max)
|
||||
substs.set('dynamicuidmin', dynamic_uid_min)
|
||||
substs.set('dynamicuidmax', dynamic_uid_max)
|
||||
|
||||
container_uid_base_min = get_option('container-uid-base-min').to_int()
|
||||
container_uid_base_max = get_option('container-uid-base-max').to_int()
|
||||
conf.set('CONTAINER_UID_BASE_MIN', container_uid_base_min)
|
||||
conf.set('CONTAINER_UID_BASE_MAX', container_uid_base_max)
|
||||
substs.set('containeruidbasemin', container_uid_base_min)
|
||||
substs.set('containeruidbasemax', container_uid_base_max)
|
||||
|
||||
nobody_user = get_option('nobody-user')
|
||||
nobody_group = get_option('nobody-group')
|
||||
|
||||
getent_result = run_command('getent', 'passwd', '65534')
|
||||
if getent_result.returncode() == 0
|
||||
name = getent_result.stdout().split(':')[0]
|
||||
if name != nobody_user
|
||||
message('WARNING:\n' +
|
||||
' The local user with the UID 65534 does not match the configured user name "@0@" of the nobody user (its name is @1@).\n'.format(nobody_user, name) +
|
||||
' Your build will result in an user table setup that is incompatible with the local system.')
|
||||
endif
|
||||
endif
|
||||
id_result = run_command('id', '-u', nobody_user)
|
||||
if id_result.returncode() == 0
|
||||
id = id_result.stdout().to_int()
|
||||
if id != 65534
|
||||
message('WARNING:\n' +
|
||||
' The local user with the configured user name "@0@" of the nobody user does not have UID 65534 (it has @1@).\n'.format(nobody_user, id) +
|
||||
' Your build will result in an user table setup that is incompatible with the local system.')
|
||||
endif
|
||||
endif
|
||||
|
||||
getent_result = run_command('getent', 'group', '65534')
|
||||
if getent_result.returncode() == 0
|
||||
name = getent_result.stdout().split(':')[0]
|
||||
if name != nobody_group
|
||||
message('WARNING:\n' +
|
||||
' The local group with the GID 65534 does not match the configured group name "@0@" of the nobody group (its name is @1@).\n'.format(nobody_group, name) +
|
||||
' Your build will result in an group table setup that is incompatible with the local system.')
|
||||
endif
|
||||
endif
|
||||
id_result = run_command('id', '-g', nobody_group)
|
||||
if id_result.returncode() == 0
|
||||
id = id_result.stdout().to_int()
|
||||
if id != 65534
|
||||
message('WARNING:\n' +
|
||||
' The local group with the configured group name "@0@" of the nobody group does not have UID 65534 (it has @1@).\n'.format(nobody_group, id) +
|
||||
' Your build will result in an group table setup that is incompatible with the local system.')
|
||||
endif
|
||||
endif
|
||||
if nobody_user != nobody_group and not (nobody_user == 'nobody' and nobody_group == 'nogroup')
|
||||
message('WARNING:\n' +
|
||||
' The configured user name "@0@" and group name "@0@" of the nobody user/group are not equivalent.\n'.format(nobody_user, nobody_group) +
|
||||
' Please re-check that both "nobody-user" and "nobody-group" options are correctly set.')
|
||||
endif
|
||||
|
||||
conf.set_quoted('NOBODY_USER_NAME', nobody_user)
|
||||
conf.set_quoted('NOBODY_GROUP_NAME', nobody_group)
|
||||
substs.set('NOBODY_USER_NAME', nobody_user)
|
||||
substs.set('NOBODY_GROUP_NAME', nobody_group)
|
||||
|
||||
tty_gid = get_option('tty-gid')
|
||||
conf.set('TTY_GID', tty_gid)
|
||||
substs.set('TTY_GID', tty_gid)
|
||||
|
||||
# Ensure provided GID argument is numeric, otherwise fallback to default assignment
|
||||
if get_option('users-gid') != ''
|
||||
users_gid = get_option('users-gid').to_int()
|
||||
else
|
||||
users_gid = '-'
|
||||
endif
|
||||
substs.set('USERS_GID', users_gid)
|
||||
|
||||
if get_option('adm-group')
|
||||
m4_defines += ['-DENABLE_ADM_GROUP']
|
||||
endif
|
||||
|
||||
if get_option('wheel-group')
|
||||
m4_defines += ['-DENABLE_WHEEL_GROUP']
|
||||
endif
|
||||
|
||||
substs.set('DEV_KVM_MODE', get_option('dev-kvm-mode'))
|
||||
substs.set('GROUP_RENDER_MODE', get_option('group-render-mode'))
|
||||
|
||||
kill_user_processes = get_option('default-kill-user-processes')
|
||||
conf.set10('KILL_USER_PROCESSES', kill_user_processes)
|
||||
substs.set('KILL_USER_PROCESSES', kill_user_processes ? 'yes' : 'no')
|
||||
|
||||
dns_servers = get_option('dns-servers')
|
||||
conf.set_quoted('DNS_SERVERS', dns_servers)
|
||||
substs.set('DNS_SERVERS', dns_servers)
|
||||
|
||||
ntp_servers = get_option('ntp-servers')
|
||||
conf.set_quoted('NTP_SERVERS', ntp_servers)
|
||||
substs.set('NTP_SERVERS', ntp_servers)
|
||||
|
||||
conf.set_quoted('GETTEXT_PACKAGE', meson.project_name())
|
||||
|
||||
substs.set('SUSHELL', get_option('debug-shell'))
|
||||
substs.set('DEBUGTTY', get_option('debug-tty'))
|
||||
|
||||
debug_extra = get_option('debug-extra')
|
||||
enable_debug_hashmap = false
|
||||
enable_debug_mmap_cache = false
|
||||
if debug_extra != ''
|
||||
foreach name : debug_extra.split(',')
|
||||
if name == 'hashmap'
|
||||
enable_debug_hashmap = true
|
||||
elif name == 'mmap-cache'
|
||||
enable_debug_mmap_cache = true
|
||||
else
|
||||
message('unknown debug option "@0@", ignoring'.format(name))
|
||||
endif
|
||||
endforeach
|
||||
endif
|
||||
conf.set10('ENABLE_DEBUG_HASHMAP', enable_debug_hashmap)
|
||||
conf.set10('ENABLE_DEBUG_MMAP_CACHE', enable_debug_mmap_cache)
|
||||
|
||||
#####################################################################
|
||||
|
||||
threads = dependency('threads')
|
||||
librt = cc.find_library('rt')
|
||||
libm = cc.find_library('m')
|
||||
libdl = cc.find_library('dl')
|
||||
|
||||
libcap = dependency('libcap', required : false)
|
||||
if not libcap.found()
|
||||
# Compat with Ubuntu 14.04 which ships libcap w/o .pc file
|
||||
libcap = cc.find_library('cap')
|
||||
endif
|
||||
|
||||
libmount = dependency('mount',
|
||||
version : '>= 2.30',
|
||||
required : true)
|
||||
|
||||
want_audit = get_option('audit')
|
||||
if want_audit != 'false'
|
||||
libaudit = dependency('audit', required : want_audit == 'true')
|
||||
have = libaudit.found()
|
||||
else
|
||||
have = false
|
||||
libaudit = []
|
||||
endif
|
||||
conf.set10('HAVE_AUDIT', have)
|
||||
|
||||
want_gcrypt = get_option('gcrypt')
|
||||
if want_gcrypt != 'false'
|
||||
libgcrypt = cc.find_library('gcrypt', required : want_gcrypt == 'true')
|
||||
libgpg_error = cc.find_library('gpg-error', required : want_gcrypt == 'true')
|
||||
have = libgcrypt.found() and libgpg_error.found()
|
||||
else
|
||||
have = false
|
||||
endif
|
||||
if not have
|
||||
# link to neither of the libs if one is not found
|
||||
libgcrypt = []
|
||||
libgpg_error = []
|
||||
endif
|
||||
conf.set10('HAVE_GCRYPT', have)
|
||||
|
||||
conf.set_quoted('FALLBACK_HOSTNAME', get_option('fallback-hostname'))
|
||||
conf.set10('ENABLE_COMPAT_GATEWAY_HOSTNAME', get_option('compat-gateway-hostname'))
|
||||
|
||||
default_hierarchy = get_option('default-hierarchy')
|
||||
conf.set_quoted('DEFAULT_HIERARCHY_NAME', default_hierarchy,
|
||||
description : 'default cgroup hierarchy as string')
|
||||
if default_hierarchy == 'legacy'
|
||||
conf.set('DEFAULT_HIERARCHY', 'CGROUP_UNIFIED_NONE')
|
||||
elif default_hierarchy == 'hybrid'
|
||||
conf.set('DEFAULT_HIERARCHY', 'CGROUP_UNIFIED_SYSTEMD')
|
||||
else
|
||||
conf.set('DEFAULT_HIERARCHY', 'CGROUP_UNIFIED_ALL')
|
||||
endif
|
||||
|
||||
time_epoch = get_option('time-epoch')
|
||||
if time_epoch == ''
|
||||
NEWS = files('NEWS')
|
||||
time_epoch = run_command(stat, '-c', '%Y', NEWS).stdout()
|
||||
endif
|
||||
time_epoch = time_epoch.to_int()
|
||||
conf.set('TIME_EPOCH', time_epoch)
|
||||
|
||||
libacl = []
|
||||
libblkid = []
|
||||
libcryptsetup = []
|
||||
libidn = []
|
||||
libiptc = []
|
||||
libseccomp = []
|
||||
libselinux = []
|
||||
libxz = []
|
||||
liblz4 = []
|
||||
|
||||
conf.set10('HAVE_ACL', false)
|
||||
conf.set10('HAVE_LIBCRYPTSETUP', false)
|
||||
conf.set10('HAVE_SELINUX', false)
|
||||
conf.set10('ENABLE_IDN', false)
|
||||
conf.set10('ENABLE_SMACK', false)
|
||||
conf.set10('ENABLE_POLKIT', false)
|
||||
conf.set10('HAVE_PAM', false)
|
||||
conf.set10('HAVE_APPARMOR', false)
|
||||
conf.set10('ENABLE_IMA', false)
|
||||
conf.set10('HAVE_SYSV_COMPAT', false)
|
||||
conf.set10('ENABLE_UTMP', false)
|
||||
conf.set10('HAVE_GNUTLS', false)
|
||||
conf.set10('HAVE_ACL', false)
|
||||
conf.set10('HAVE_XZ', false)
|
||||
conf.set10('HAVE_LZ4', false)
|
||||
conf.set10('HAVE_SECCOMP', false)
|
||||
conf.set10('HAVE_BLKID', false)
|
||||
conf.set10('HAVE_ELFUTILS', false)
|
||||
conf.set10('HAVE_KMOD', false)
|
||||
conf.set10('HAVE_LIBIDN2', false)
|
||||
conf.set10('HAVE_LIBIDN', false)
|
||||
conf.set10('HAVE_PCRE2', false)
|
||||
conf.set10('HAVE_LIBIPTC', false)
|
||||
|
||||
config_h = configure_file(
|
||||
output : 'config.h',
|
||||
configuration : conf)
|
||||
|
||||
includes = include_directories('src/basic',
|
||||
'src/shared',
|
||||
'src/systemd',
|
||||
'src/libsystemd/sd-bus',
|
||||
'src/libsystemd/sd-id128',
|
||||
'.')
|
||||
|
||||
add_project_arguments('-include', 'config.h', language : 'c')
|
||||
|
||||
subdir('src/systemd')
|
||||
subdir('src/basic')
|
||||
subdir('src/libsystemd')
|
||||
|
||||
libsystemd_sym_path = '@0@/@1@'.format(meson.current_source_dir(), libsystemd_sym)
|
||||
libsystemd = shared_library(
|
||||
'systemd',
|
||||
'src/systemd/sd-id128.h', # pick a header file at random to work around old meson bug
|
||||
version : libsystemd_version,
|
||||
include_directories : includes,
|
||||
link_args : ['-shared',
|
||||
'-Wl,--version-script=' + libsystemd_sym_path],
|
||||
link_with : [libbasic,
|
||||
libbasic_gcrypt],
|
||||
link_whole : [libsystemd_static],
|
||||
dependencies : [threads,
|
||||
librt],
|
||||
link_depends : libsystemd_sym,
|
||||
install : true,
|
||||
install_dir : rootlibdir)
|
||||
|
||||
############################################################
|
||||
|
||||
# binaries that have --help and are intended for use by humans,
|
||||
# usually, but not always, installed in /bin.
|
||||
public_programs = []
|
||||
|
||||
# TODO clean busctl from evil :>
|
||||
exe = executable('busctl',
|
||||
'src/shared/bus-util.c',
|
||||
'src/shared/pager.c',
|
||||
'src/busctl/busctl.c',
|
||||
'src/busctl/busctl-introspect.c',
|
||||
'src/busctl/busctl-introspect.h',
|
||||
include_directories : includes,
|
||||
install_rpath : rootlibexecdir,
|
||||
link_with : [libbasic,
|
||||
libsystemd_static],
|
||||
dependencies : [threads],
|
||||
install : true)
|
||||
public_programs += [exe]
|
||||
|
||||
############################################################
|
||||
|
||||
meson_check_help = find_program('tools/meson-check-help.sh')
|
||||
|
||||
foreach exec : public_programs
|
||||
name = exec.full_path().split('/')[-1]
|
||||
test('check-help-' + name,
|
||||
meson_check_help,
|
||||
args : [exec.full_path()])
|
||||
endforeach
|
||||
|
||||
############################################################
|
||||
|
||||
#generate_sym_test_py = find_program('src/test/generate-sym-test.py')
|
||||
|
||||
#test_libsystemd_sym_c = custom_target(
|
||||
# 'test-libsystemd-sym.c',
|
||||
# input : [libsystemd_sym_path] + systemd_headers,
|
||||
# output : 'test-libsystemd-sym.c',
|
||||
# command : [generate_sym_test_py, libsystemd_sym_path] + systemd_headers,
|
||||
# capture : true)
|
||||
|
||||
#test_libsystemd_sym = executable(
|
||||
# 'test-libsystemd-sym',
|
||||
# test_libsystemd_sym_c,
|
||||
# include_directories : includes,
|
||||
# link_with : [libsystemd],
|
||||
# install : install_tests,
|
||||
# install_dir : testsdir)
|
||||
#test('test-libsystemd-sym',
|
||||
# test_libsystemd_sym)
|
||||
|
||||
############################################################
|
||||
|
||||
install_data('src/libsystemd/sd-bus/GVARIANT-SERIALIZATION',
|
||||
install_dir : docdir)
|
||||
|
||||
############################################################
|
||||
|
||||
status = [
|
||||
'@0@ @1@'.format(meson.project_name(), meson.project_version()),
|
||||
|
||||
'split /usr: @0@'.format(split_usr),
|
||||
'split bin-sbin: @0@'.format(split_bin),
|
||||
'prefix directory: @0@'.format(prefixdir),
|
||||
'rootprefix directory: @0@'.format(rootprefixdir),
|
||||
'sysconf directory: @0@'.format(sysconfdir),
|
||||
'include directory: @0@'.format(includedir),
|
||||
'lib directory: @0@'.format(libdir),
|
||||
'rootlib directory: @0@'.format(rootlibdir),
|
||||
'maximum system UID: @0@'.format(system_uid_max),
|
||||
'maximum system GID: @0@'.format(system_gid_max),
|
||||
'support URL: @0@'.format(support_url),
|
||||
'nobody user name: @0@'.format(nobody_user),
|
||||
'nobody group name: @0@'.format(nobody_group)]
|
||||
|
||||
# TODO:
|
||||
# CFLAGS: ${OUR_CFLAGS} ${CFLAGS}
|
||||
# CPPFLAGS: ${OUR_CPPFLAGS} ${CPPFLAGS}
|
||||
# LDFLAGS: ${OUR_LDFLAGS} ${LDFLAGS}
|
||||
|
||||
found = []
|
||||
missing = []
|
||||
|
||||
foreach tuple : [
|
||||
['AUDIT'],
|
||||
['gcrypt'],
|
||||
]
|
||||
|
||||
if tuple.length() >= 2
|
||||
cond = tuple[1]
|
||||
else
|
||||
ident1 = 'HAVE_' + tuple[0].underscorify().to_upper()
|
||||
ident2 = 'ENABLE_' + tuple[0].underscorify().to_upper()
|
||||
cond = conf.get(ident1, 0) == 1 or conf.get(ident2, 0) == 1
|
||||
endif
|
||||
if cond
|
||||
found += [tuple[0]]
|
||||
else
|
||||
missing += [tuple[0]]
|
||||
endif
|
||||
endforeach
|
||||
|
||||
status += [
|
||||
'',
|
||||
'enabled features: @0@'.format(', '.join(found)),
|
||||
'',
|
||||
'disabled features: @0@'.format(', '.join(missing)),
|
||||
'']
|
||||
message('\n '.join(status))
|
||||
|
||||
if rootprefixdir != rootprefix_default
|
||||
message('WARNING:\n' +
|
||||
' Note that the installation prefix was changed to "@0@".\n'.format(rootprefixdir) +
|
||||
' systemd used fixed names for unit file directories and other paths, so anything\n' +
|
||||
' except the default ("@0@") is strongly discouraged.'.format(rootprefix_default))
|
||||
endif
|
|
@ -1,23 +0,0 @@
|
|||
--- a/src/systemd/meson.build 2018-03-03 22:56:45.111894767 +0100
|
||||
+++ b/src/systemd/meson.build 2018-03-03 22:58:09.791897314 +0100
|
||||
@@ -22,9 +22,6 @@
|
||||
sd-daemon.h
|
||||
sd-event.h
|
||||
sd-id128.h
|
||||
- sd-journal.h
|
||||
- sd-login.h
|
||||
- sd-messages.h
|
||||
'''.split()
|
||||
|
||||
# https://github.com/mesonbuild/meson/issues/1633
|
||||
--- a/src/libsystemd/meson.build 2018-04-13 12:53:10.169234014 +0200
|
||||
+++ b/src/libsystemd/meson.build 2018-04-13 12:53:39.005234881 +0200
|
||||
@@ -65,7 +65,7 @@
|
||||
sd-path/sd-path.c
|
||||
sd-resolve/sd-resolve.c
|
||||
sd-utf8/sd-utf8.c
|
||||
-'''.split()) + id128_sources + sd_daemon_c + sd_event_c + sd_login_c
|
||||
+'''.split()) + id128_sources + sd_daemon_c + sd_event_c
|
||||
|
||||
libsystemd_static = static_library(
|
||||
'systemd',
|
|
@ -1,161 +0,0 @@
|
|||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
MY_PN="systemd"
|
||||
|
||||
if [[ ${PV} == 9999 ]]; then
|
||||
EGIT_REPO_URI="https://github.com/systemd/systemd.git"
|
||||
inherit git-r3
|
||||
else
|
||||
SRC_URI="https://github.com/systemd/systemd/archive/v${PV}/${MY_PN}-${PV}.tar.gz"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~x86"
|
||||
fi
|
||||
|
||||
PYTHON_COMPAT=( python{3_4,3_5,3_6} )
|
||||
|
||||
inherit bash-completion-r1 linux-info meson multilib-minimal ninja-utils pam python-any-r1 systemd toolchain-funcs udev user
|
||||
|
||||
DESCRIPTION="System library to support SD-BUS without systemd, yea, for Linux"
|
||||
HOMEPAGE="https://www.freedesktop.org/wiki/Software/systemd"
|
||||
|
||||
LICENSE="GPL-2 LGPL-2.1 MIT public-domain"
|
||||
SLOT="0/2"
|
||||
IUSE="audit gcrypt usrmerge"
|
||||
|
||||
REQUIRED_USE=""
|
||||
RESTRICT="test"
|
||||
|
||||
MINKV="3.11"
|
||||
|
||||
COMMON_DEPEND=">=sys-apps/util-linux-2.30:0=[${MULTILIB_USEDEP}]
|
||||
sys-libs/libcap:0=[${MULTILIB_USEDEP}]
|
||||
!<sys-libs/glibc-2.16
|
||||
audit? ( >=sys-process/audit-2:0= )
|
||||
gcrypt? ( >=dev-libs/libgcrypt-1.4.5:0=[${MULTILIB_USEDEP}] )"
|
||||
|
||||
# baselayout-2.2 has /run
|
||||
RDEPEND="${COMMON_DEPEND}
|
||||
>=sys-apps/baselayout-2.2"
|
||||
|
||||
# sys-apps/dbus: the daemon only (+ build-time lib dep for tests)
|
||||
PDEPEND="
|
||||
>=sys-apps/hwids-20150417[udev]
|
||||
>=sys-fs/udev-init-scripts-25"
|
||||
|
||||
# Newer linux-headers needed by ia64, bug #480218
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
dev-util/gperf
|
||||
>=dev-util/intltool-0.50
|
||||
>=sys-apps/coreutils-8.16
|
||||
>=sys-kernel/linux-headers-${MINKV}
|
||||
virtual/pkgconfig
|
||||
dev-libs/libxslt:0
|
||||
$(python_gen_any_dep 'dev-python/lxml[${PYTHON_USEDEP}]')
|
||||
!sys-apps/systemd
|
||||
"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}/${PN}-237-meson_build.patch"
|
||||
)
|
||||
|
||||
S="${WORKDIR}/${MY_PN}-${PV}"
|
||||
|
||||
pkg_pretend() {
|
||||
if [[ ${MERGE_TYPE} != buildonly ]]; then
|
||||
local CONFIG_CHECK="~AUTOFS4_FS ~BLK_DEV_BSG ~CGROUPS
|
||||
~CHECKPOINT_RESTORE ~DEVTMPFS ~EPOLL ~FANOTIFY ~FHANDLE
|
||||
~INOTIFY_USER ~IPV6 ~NET ~NET_NS ~PROC_FS ~SIGNALFD ~SYSFS
|
||||
~TIMERFD ~TMPFS_XATTR ~UNIX
|
||||
~CRYPTO_HMAC ~CRYPTO_SHA256 ~CRYPTO_USER_API_HASH
|
||||
~!FW_LOADER_USER_HELPER_FALLBACK ~!GRKERNSEC_PROC ~!IDE ~!SYSFS_DEPRECATED
|
||||
~!SYSFS_DEPRECATED_V2"
|
||||
|
||||
kernel_is -lt 3 7 && CONFIG_CHECK+=" ~HOTPLUG"
|
||||
kernel_is -lt 4 7 && CONFIG_CHECK+=" ~DEVPTS_MULTIPLE_INSTANCES"
|
||||
kernel_is -ge 4 10 && CONFIG_CHECK+=" ~CGROUP_BPF"
|
||||
|
||||
if linux_config_exists; then
|
||||
local uevent_helper_path=$(linux_chkconfig_string UEVENT_HELPER_PATH)
|
||||
if [[ -n ${uevent_helper_path} ]] && [[ ${uevent_helper_path} != '""' ]]; then
|
||||
ewarn "It's recommended to set an empty value to the following kernel config option:"
|
||||
ewarn "CONFIG_UEVENT_HELPER_PATH=${uevent_helper_path}"
|
||||
fi
|
||||
if linux_chkconfig_present X86; then
|
||||
CONFIG_CHECK+=" ~DMIID"
|
||||
fi
|
||||
fi
|
||||
|
||||
if kernel_is -lt ${MINKV//./ }; then
|
||||
ewarn "Kernel version at least ${MINKV} required"
|
||||
fi
|
||||
|
||||
check_extra_config
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
:
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
default
|
||||
[[ ${PV} != 9999 ]] || git-r3_src_unpack
|
||||
|
||||
cp -v "${S}/meson.build" "${S}/meson.build.orig" || die
|
||||
cp -v "${S}/src/libsystemd/libsystemd.sym" "${S}/src/libsystemd/libsystemd.sym.orig" || die
|
||||
|
||||
cp -v "${FILESDIR}/${PN}-237-meson.build" "${S}/meson.build" || die
|
||||
cp -v "${FILESDIR}/${PN}-237-libsystemd.sym" "${S}/src/libsystemd/libsystemd.sym" || die
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
# Prevent conflicts with i686 cross toolchain, bug 559726
|
||||
tc-export AR CC NM OBJCOPY RANLIB
|
||||
|
||||
python_setup
|
||||
|
||||
multilib-minimal_src_configure
|
||||
}
|
||||
|
||||
meson_use() {
|
||||
usex "$1" true false
|
||||
}
|
||||
|
||||
meson_multilib_native_use() {
|
||||
if multilib_is_native_abi && use "$1"; then
|
||||
echo true
|
||||
else
|
||||
echo false
|
||||
fi
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
local myconf=(
|
||||
--localstatedir="${EPREFIX}/var"
|
||||
# make sure we get /bin:/sbin in PATH
|
||||
-Dsplit-usr=$(usex usrmerge false true)
|
||||
-Drootprefix="$(usex usrmerge "${EPREFIX}/usr" "${EPREFIX:-/}")"
|
||||
-Daudit=$(meson_multilib_native_use audit)
|
||||
-Dgcrypt=$(meson_use gcrypt)
|
||||
)
|
||||
|
||||
meson_src_configure "${myconf[@]}"
|
||||
}
|
||||
|
||||
multilib_src_compile() {
|
||||
eninja
|
||||
}
|
||||
|
||||
multilib_src_test() {
|
||||
eninja test
|
||||
}
|
||||
|
||||
multilib_src_install() {
|
||||
DESTDIR="${D}" eninja install
|
||||
}
|
|
@ -1,177 +0,0 @@
|
|||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
MY_PN="systemd"
|
||||
|
||||
if [[ ${PV} == 9999 ]]; then
|
||||
EGIT_REPO_URI="https://github.com/systemd/systemd.git"
|
||||
inherit git-r3
|
||||
else
|
||||
SRC_URI="https://github.com/systemd/systemd/archive/v${PV}/${MY_PN}-${PV}.tar.gz
|
||||
https://dev.gentoo.org/~floppym/dist/systemd-${PV}-patches-0.tar.gz"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~x86"
|
||||
fi
|
||||
|
||||
PYTHON_COMPAT=( python{3_4,3_5,3_6} )
|
||||
|
||||
inherit bash-completion-r1 linux-info meson multilib-minimal ninja-utils pam python-any-r1 systemd toolchain-funcs udev user
|
||||
|
||||
DESCRIPTION="System library to support SD-BUS without systemd, yea, for Linux"
|
||||
HOMEPAGE="https://www.freedesktop.org/wiki/Software/systemd"
|
||||
|
||||
LICENSE="GPL-2 LGPL-2.1 MIT public-domain"
|
||||
SLOT="0/2"
|
||||
IUSE="audit binmerge +gcrypt usrmerge"
|
||||
|
||||
REQUIRED_USE=""
|
||||
RESTRICT="test"
|
||||
|
||||
MINKV="3.11"
|
||||
|
||||
COMMON_DEPEND=">=sys-apps/util-linux-2.30:0=[${MULTILIB_USEDEP}]
|
||||
sys-libs/libcap:0=[${MULTILIB_USEDEP}]
|
||||
!<sys-libs/glibc-2.16
|
||||
audit? ( >=sys-process/audit-2:0= )
|
||||
gcrypt? ( >=dev-libs/libgcrypt-1.4.5:0=[${MULTILIB_USEDEP}] )"
|
||||
|
||||
# baselayout-2.2 has /run
|
||||
RDEPEND="${COMMON_DEPEND}
|
||||
>=sys-apps/baselayout-2.2"
|
||||
|
||||
# sys-apps/dbus: the daemon only (+ build-time lib dep for tests)
|
||||
PDEPEND="
|
||||
>=sys-apps/hwids-20150417[udev]
|
||||
>=sys-fs/udev-init-scripts-25"
|
||||
|
||||
# Newer linux-headers needed by ia64, bug #480218
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
dev-util/gperf
|
||||
>=dev-util/intltool-0.50
|
||||
>=sys-apps/coreutils-8.16
|
||||
>=sys-kernel/linux-headers-${MINKV}
|
||||
virtual/pkgconfig
|
||||
dev-libs/libxslt:0
|
||||
$(python_gen_any_dep 'dev-python/lxml[${PYTHON_USEDEP}]')
|
||||
!sys-apps/systemd
|
||||
"
|
||||
|
||||
S="${WORKDIR}/${MY_PN}-${PV}"
|
||||
|
||||
pkg_pretend() {
|
||||
if [[ ${MERGE_TYPE} != buildonly ]]; then
|
||||
local CONFIG_CHECK="~AUTOFS4_FS ~BLK_DEV_BSG ~CGROUPS
|
||||
~CHECKPOINT_RESTORE ~DEVTMPFS ~EPOLL ~FANOTIFY ~FHANDLE
|
||||
~INOTIFY_USER ~IPV6 ~NET ~NET_NS ~PROC_FS ~SIGNALFD ~SYSFS
|
||||
~TIMERFD ~TMPFS_XATTR ~UNIX
|
||||
~CRYPTO_HMAC ~CRYPTO_SHA256 ~CRYPTO_USER_API_HASH
|
||||
~!FW_LOADER_USER_HELPER_FALLBACK ~!GRKERNSEC_PROC ~!IDE ~!SYSFS_DEPRECATED
|
||||
~!SYSFS_DEPRECATED_V2"
|
||||
|
||||
kernel_is -lt 3 7 && CONFIG_CHECK+=" ~HOTPLUG"
|
||||
kernel_is -lt 4 7 && CONFIG_CHECK+=" ~DEVPTS_MULTIPLE_INSTANCES"
|
||||
kernel_is -ge 4 10 && CONFIG_CHECK+=" ~CGROUP_BPF"
|
||||
|
||||
if linux_config_exists; then
|
||||
local uevent_helper_path=$(linux_chkconfig_string UEVENT_HELPER_PATH)
|
||||
if [[ -n ${uevent_helper_path} ]] && [[ ${uevent_helper_path} != '""' ]]; then
|
||||
ewarn "It's recommended to set an empty value to the following kernel config option:"
|
||||
ewarn "CONFIG_UEVENT_HELPER_PATH=${uevent_helper_path}"
|
||||
fi
|
||||
if linux_chkconfig_present X86; then
|
||||
CONFIG_CHECK+=" ~DMIID"
|
||||
fi
|
||||
fi
|
||||
|
||||
if kernel_is -lt ${MINKV//./ }; then
|
||||
ewarn "Kernel version at least ${MINKV} required"
|
||||
fi
|
||||
|
||||
check_extra_config
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
:
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
default
|
||||
[[ ${PV} != 9999 ]] || git-r3_src_unpack
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
local PATCHES=()
|
||||
|
||||
[[ -d "${WORKDIR}"/patches ]] && PATCHES+=( "${WORKDIR}"/patches )
|
||||
|
||||
PATCHES+=(
|
||||
"${FILESDIR}/238-libmount-include.patch"
|
||||
"${FILESDIR}/238-initctl.patch"
|
||||
"${FILESDIR}/238-nspawn-wait.patch"
|
||||
"${FILESDIR}/${PN}-238-meson_build.patch"
|
||||
)
|
||||
|
||||
default
|
||||
|
||||
# meson.build patch magic
|
||||
sed '/sd-device/,/sd-utf8/d' -i "${S}/src/libsystemd/meson.build" || die
|
||||
|
||||
# latest meson takes this name for itself
|
||||
sed s/debug\'/debug-extra\'/g -i "${S}/meson_options.txt" || die
|
||||
|
||||
# replace files after patchwork
|
||||
cp -v "${S}/meson.build" "${S}/meson.build.orig" || die
|
||||
cp -v "${S}/src/libsystemd/libsystemd.sym" "${S}/src/libsystemd/libsystemd.sym.orig" || die
|
||||
|
||||
cp -v "${FILESDIR}/${PN}-238-meson.build" "${S}/meson.build" || die
|
||||
cp -v "${FILESDIR}/${PN}-238-libsystemd.sym" "${S}/src/libsystemd/libsystemd.sym" || die
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
# Prevent conflicts with i686 cross toolchain, bug 559726
|
||||
tc-export AR CC NM OBJCOPY RANLIB
|
||||
|
||||
python_setup
|
||||
|
||||
multilib-minimal_src_configure
|
||||
}
|
||||
|
||||
meson_use() {
|
||||
usex "$1" true false
|
||||
}
|
||||
|
||||
meson_multilib_native_use() {
|
||||
if multilib_is_native_abi && use "$1"; then
|
||||
echo true
|
||||
else
|
||||
echo false
|
||||
fi
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
local myconf=(
|
||||
--localstatedir="${EPREFIX}/var"
|
||||
# make sure we get /bin:/sbin in PATH
|
||||
-Dsplit-bin=$(usex binmerge false true)
|
||||
-Dsplit-usr=$(usex usrmerge false true)
|
||||
-Drootprefix="$(usex usrmerge "${EPREFIX}/usr" "${EPREFIX:-/}")"
|
||||
-Daudit=$(meson_multilib_native_use audit)
|
||||
-Dgcrypt=$(meson_use gcrypt)
|
||||
)
|
||||
|
||||
meson_src_configure "${myconf[@]}"
|
||||
}
|
||||
|
||||
multilib_src_compile() {
|
||||
eninja
|
||||
}
|
||||
|
||||
multilib_src_test() {
|
||||
eninja test
|
||||
}
|
||||
|
||||
multilib_src_install() {
|
||||
DESTDIR="${D}" eninja install
|
||||
}
|
|
@ -1,9 +0,0 @@
|
|||
AUX vte-0.54.4-ng/01-expose-functions-for-pausing.patch 1443 BLAKE2B eb783ae91471e4d2c78a24d04a30dbba621be27bbef1925943c2b1e6c6c4c72f170ea0579bf97fa203b85e81fc0f906e98f62cb4772ece2dc57d0b42284e3471 SHA512 69fda869d5ce95ece5a3d15ffcf528bacadd8e91eb506c37ab708b69820ffe13c79d893375c32a52e2e5d93ccc8e69b717ba156fd6f4060ba910c8df7bcffdc2
|
||||
AUX vte-0.54.4-ng/02-expose-function-for-setting.patch 1488 BLAKE2B 8ae64d90fe5150073d69e0cc8be9ef465839c998cdf166c8fba71598da524453c38cca45b4d2e994ebc24ae8851c5483eee6793ddb8b6b176a607ba551fdc03c SHA512 aa82f0ceeca95c6db477115271a65d4e7ba782232974fe94ca69b2765988d79eeecf746626031a192e6fcef65e7c8f0ed5c21495637bc20fd5cc0f627986426a
|
||||
AUX vte-0.54.4-ng/03-add-function-for-setting-the.patch 1430 BLAKE2B 8c1141636f3631a7e5cd3f8376b8d0c81fac013610b1af63f96beb30e230efed23b04409ab09fa6ff55cfe43d2141bd8e87d10529a23128545352481f5538c3f SHA512 88107ed2c27b21f886126f14d89453cf8d181f002d3bf02814dbf32e5b05a7f5638ff2c8aa4493a9899a738cb735199ca5ebe2e423c8a1ac8fbc2a5f58f30bb9
|
||||
AUX vte-0.54.4-ng/04-add-functions-to-get-set-block.patch 1827 BLAKE2B f7135b212f536181c84182583a076104a39f96257b38945cae8598aa044cc1537b3af71f84b17d23e3c2b5acf9ec6b22b3e01d23078469cff5a9e84f27d7b48f SHA512 e2dc981673eb7a4c1525effe504685e613f51b9d8c2f194f7379cf0e403f16dd6cd675e9b7bca26dcc9f6ea46a6c28dfa3299a06c7b783837b0aca9ce76e7f53
|
||||
AUX vte-0.54.4-ng/05-expose-function-for-getting.patch 1071 BLAKE2B 3c1e1bfea6418164b036de4bac9767c40ab0432c1450c6f9171dd39060103ad834989f59ad2b5aeecf9fd83b625c3cab45c41787a4770c653e1dc7a72d76dad1 SHA512 d696e58ca64e7915283aeb1412420879f4c5df2d4721101783e605b3bbf714ff8025764e15a0b21a1af295618c416d86fc4875eb4ea659088c848d4acf80ef6e
|
||||
AUX vte-0.54.4-ng/series 267 BLAKE2B 31c12bd5876ac4e7c583b8a0ae6900f38539e4ce4eab740cfda393d2aaa7d32500bc05d00259bd459ebdb7d42e7901d656baa4ad62ea3630f51867c1260269d6 SHA512 6817bacbb2f2afdf4af50e32bba25c45ffc9f95fd20702fac1371496156f81d45af9ef71b0a035f4a1c65f718f175a077019dccccb7876442e5edd50a9f0cb18
|
||||
DIST vte-0.54.1-command-notify.patch.xz 3428 BLAKE2B 75b0c22720276300be2e49e8444aa68fed77fb7a6cc6b0e93a5c2d41257626bd60ff1084d68579769cb3d85e7ec567927591746de48e860b138d0c1f24f64cc7 SHA512 a53da569f8168c8e9e21e186dcfc00bf9fdb78a0c767ba35033c1c1e4f836406b4d9bf70ee3e071f6c749fd6f72101a6960d201617bd0bc23021e1eeaac6fd0c
|
||||
DIST vte-0.54.2.tar.xz 1087628 BLAKE2B 9e613ff514beef395f88677ebb25d278df3107b90af07f5d7cbebc44f93d5a6784d65b56cca2c3c020bbf20b0f406a933b97678004bbb586e1485f4aeda08aa9 SHA512 214ec69110d6ad6caa9bc41fb741874bfcf27f20f34d3ae745b13903c574f9c854f7e0dadbae3dbc8ce04c5a6eb818a433c50569c1ef802501a9a078385f23fc
|
||||
EBUILD vte-0.54.2.ebuild 2491 BLAKE2B e478aecc7d4b29a5a00144b9bc05aab364b1f28e3c1a4b8eb24a5774802d4d6c1914699b79d89bea1f02a582f718bd90251e8e0be5ab0feafa8accb78ea37565 SHA512 0f0bd07c516d634258c5cb2e4c69f7ea62b3ce77b16f30ba9010a59956bfad2680f7cdd651ac7f586a179a661277fe4e447e6b2b5d7be5e510545eb9ae8b8efa
|
|
@ -1,54 +0,0 @@
|
|||
diff --git a/src/vte/vteterminal.h b/src/vte/vteterminal.h
|
||||
index 89539cc4..a41ec359 100644
|
||||
--- a/src/vte/vteterminal.h
|
||||
+++ b/src/vte/vteterminal.h
|
||||
@@ -175,6 +175,12 @@ void vte_terminal_feed_child_binary(VteTerminal *terminal,
|
||||
const guint8 *data,
|
||||
gsize length) _VTE_GNUC_NONNULL(1);
|
||||
|
||||
+_VTE_PUBLIC
|
||||
+void vte_terminal_connect_pty_read(VteTerminal *terminal);
|
||||
+
|
||||
+_VTE_PUBLIC
|
||||
+void vte_terminal_disconnect_pty_read(VteTerminal *terminal);
|
||||
+
|
||||
/* Copy currently-selected text to the clipboard, or from the clipboard to
|
||||
* the terminal. */
|
||||
_VTE_PUBLIC
|
||||
diff --git a/src/vtegtk.cc b/src/vtegtk.cc
|
||||
index 89e3d7a8..f0f3f3e8 100644
|
||||
--- a/src/vtegtk.cc
|
||||
+++ b/src/vtegtk.cc
|
||||
@@ -2780,6 +2780,32 @@ vte_terminal_feed_child(VteTerminal *terminal,
|
||||
IMPL(terminal)->feed_child(text, length);
|
||||
}
|
||||
|
||||
+/**
|
||||
+ * vte_terminal_connect_pty_read:
|
||||
+ * @terminal: a #VteTerminal
|
||||
+ *
|
||||
+ * Unpause output
|
||||
+ */
|
||||
+void
|
||||
+vte_terminal_connect_pty_read(VteTerminal *terminal)
|
||||
+{
|
||||
+ g_return_if_fail(VTE_IS_TERMINAL(terminal));
|
||||
+ IMPL(terminal)->connect_pty_read();
|
||||
+}
|
||||
+
|
||||
+/**
|
||||
+ * vte_terminal_disconnect_pty_read:
|
||||
+ * @terminal: a #VteTerminal
|
||||
+ *
|
||||
+ * Pause output
|
||||
+ */
|
||||
+void
|
||||
+vte_terminal_disconnect_pty_read(VteTerminal *terminal)
|
||||
+{
|
||||
+ g_return_if_fail(VTE_IS_TERMINAL(terminal));
|
||||
+ IMPL(terminal)->disconnect_pty_read();
|
||||
+}
|
||||
+
|
||||
/**
|
||||
* vte_terminal_feed_child_binary:
|
||||
* @terminal: a #VteTerminal
|
|
@ -1,51 +0,0 @@
|
|||
diff --git a/src/vte/vteterminal.h b/src/vte/vteterminal.h
|
||||
index a41ec359..fe90a374 100644
|
||||
--- a/src/vte/vteterminal.h
|
||||
+++ b/src/vte/vteterminal.h
|
||||
@@ -383,6 +383,11 @@ _VTE_PUBLIC
|
||||
void vte_terminal_get_cursor_position(VteTerminal *terminal,
|
||||
glong *column,
|
||||
glong *row) _VTE_GNUC_NONNULL(1);
|
||||
+_VTE_PUBLIC
|
||||
+void vte_terminal_set_cursor_position(VteTerminal *terminal,
|
||||
+ glong column,
|
||||
+ glong row) _VTE_GNUC_NONNULL(1);
|
||||
+
|
||||
|
||||
_VTE_PUBLIC
|
||||
char *vte_terminal_hyperlink_check_event(VteTerminal *terminal,
|
||||
diff --git a/src/vtegtk.cc b/src/vtegtk.cc
|
||||
index f0f3f3e8..17be4728 100644
|
||||
--- a/src/vtegtk.cc
|
||||
+++ b/src/vtegtk.cc
|
||||
@@ -2415,6 +2415,30 @@ vte_terminal_get_cursor_position(VteTerminal *terminal,
|
||||
}
|
||||
}
|
||||
|
||||
+/**
|
||||
+ * vte_terminal_set_cursor_position
|
||||
+ * @terminal: a #VteTerminal
|
||||
+ * @column: the new cursor column
|
||||
+ * @row: the new cursor row
|
||||
+ *
|
||||
+ * Set the location of the cursor.
|
||||
+ */
|
||||
+void
|
||||
+vte_terminal_set_cursor_position(VteTerminal *terminal,
|
||||
+ long column, long row)
|
||||
+{
|
||||
+ g_return_if_fail(VTE_IS_TERMINAL(terminal));
|
||||
+
|
||||
+ auto impl = IMPL(terminal);
|
||||
+ impl->invalidate_cursor_once(FALSE);
|
||||
+ impl->m_screen->cursor.col = column;
|
||||
+ impl->m_screen->cursor.row = row;
|
||||
+ impl->invalidate_cursor_once(FALSE);
|
||||
+ impl->check_cursor_blink();
|
||||
+ impl->queue_cursor_moved();
|
||||
+
|
||||
+}
|
||||
+
|
||||
/**
|
||||
* vte_terminal_pty_new_sync:
|
||||
* @terminal: a #VteTerminal
|
|
@ -1,46 +0,0 @@
|
|||
diff --git a/src/vte/vteterminal.h b/src/vte/vteterminal.h
|
||||
index fe90a374..b92443bb 100644
|
||||
--- a/src/vte/vteterminal.h
|
||||
+++ b/src/vte/vteterminal.h
|
||||
@@ -196,6 +196,10 @@ _VTE_PUBLIC
|
||||
void vte_terminal_select_all(VteTerminal *terminal) _VTE_GNUC_NONNULL(1);
|
||||
_VTE_PUBLIC
|
||||
void vte_terminal_unselect_all(VteTerminal *terminal) _VTE_GNUC_NONNULL(1);
|
||||
+_VTE_PUBLIC
|
||||
+void vte_terminal_select_text(VteTerminal *terminal, long start_col, long start_row,
|
||||
+ long end_col, long end_row) _VTE_GNUC_NONNULL(1);
|
||||
+
|
||||
|
||||
/* By-word selection */
|
||||
_VTE_PUBLIC
|
||||
diff --git a/src/vtegtk.cc b/src/vtegtk.cc
|
||||
index 17be4728..2ebf070f 100644
|
||||
--- a/src/vtegtk.cc
|
||||
+++ b/src/vtegtk.cc
|
||||
@@ -2390,6 +2390,26 @@ vte_terminal_unselect_all(VteTerminal *terminal)
|
||||
IMPL(terminal)->deselect_all();
|
||||
}
|
||||
|
||||
+/**
|
||||
+ * vte_terminal_select_text:
|
||||
+ * @terminal: a #VteTerminal
|
||||
+ * @start_col: the starting column for the selection
|
||||
+ * @start_row: the starting row for the selection
|
||||
+ * @end_col: the end column for the selection
|
||||
+ * @end_row: the end row for the selection
|
||||
+ *
|
||||
+ * Sets the current selection region.
|
||||
+ */
|
||||
+void
|
||||
+vte_terminal_select_text(VteTerminal *terminal,
|
||||
+ long start_col, long start_row,
|
||||
+ long end_col, long end_row)
|
||||
+{
|
||||
+ g_return_if_fail (VTE_IS_TERMINAL (terminal));
|
||||
+
|
||||
+ IMPL(terminal)->select_text(start_col, start_row, end_col, end_row);
|
||||
+}
|
||||
+
|
||||
/**
|
||||
* vte_terminal_get_cursor_position:
|
||||
* @terminal: a #VteTerminal
|
|
@ -1,52 +0,0 @@
|
|||
diff --git a/src/vte/vteterminal.h b/src/vte/vteterminal.h
|
||||
index b92443bb..87096bc0 100644
|
||||
--- a/src/vte/vteterminal.h
|
||||
+++ b/src/vte/vteterminal.h
|
||||
@@ -197,6 +197,11 @@ void vte_terminal_select_all(VteTerminal *terminal) _VTE_GNUC_NONNULL(1);
|
||||
_VTE_PUBLIC
|
||||
void vte_terminal_unselect_all(VteTerminal *terminal) _VTE_GNUC_NONNULL(1);
|
||||
_VTE_PUBLIC
|
||||
+gboolean vte_terminal_get_selection_block_mode(VteTerminal *terminal) _VTE_GNUC_NONNULL(1);
|
||||
+_VTE_PUBLIC
|
||||
+void vte_terminal_set_selection_block_mode(VteTerminal *terminal,
|
||||
+ gboolean block_mode) _VTE_GNUC_NONNULL(1);
|
||||
+_VTE_PUBLIC
|
||||
void vte_terminal_select_text(VteTerminal *terminal, long start_col, long start_row,
|
||||
long end_col, long end_row) _VTE_GNUC_NONNULL(1);
|
||||
|
||||
diff --git a/src/vtegtk.cc b/src/vtegtk.cc
|
||||
index 2ebf070f..27ad64da 100644
|
||||
--- a/src/vtegtk.cc
|
||||
+++ b/src/vtegtk.cc
|
||||
@@ -2389,6 +2389,31 @@ vte_terminal_unselect_all(VteTerminal *terminal)
|
||||
|
||||
IMPL(terminal)->deselect_all();
|
||||
}
|
||||
+/**
|
||||
+ * vte_terminal_get_selection_block_mode:
|
||||
+ * @terminal: a #VteTerminal
|
||||
+ *
|
||||
+ * Checks whether or not block selection is enabled.
|
||||
+ *
|
||||
+ * Returns: %TRUE if block selection is enabled, %FALSE if not
|
||||
+ */
|
||||
+
|
||||
+gboolean vte_terminal_get_selection_block_mode(VteTerminal *terminal) {
|
||||
+ g_return_val_if_fail(VTE_IS_TERMINAL(terminal), FALSE);
|
||||
+ return IMPL(terminal)->m_selection_block_mode;
|
||||
+}
|
||||
+/**
|
||||
+ * vte_terminal_set_selection_block_mode:
|
||||
+ * @terminal: a #VteTerminal
|
||||
+ * @block_mode: whether block selection is enabled
|
||||
+ *
|
||||
+ * Sets whether or not block selection is enabled.
|
||||
+ */
|
||||
+void
|
||||
+vte_terminal_set_selection_block_mode(VteTerminal *terminal, gboolean block_mode) {
|
||||
+ g_return_if_fail (VTE_IS_TERMINAL (terminal));
|
||||
+ IMPL(terminal)->m_selection_block_mode = block_mode;
|
||||
+}
|
||||
|
||||
/**
|
||||
* vte_terminal_select_text:
|
|
@ -1,33 +0,0 @@
|
|||
diff --git a/src/vte/vteterminal.h b/src/vte/vteterminal.h
|
||||
index 87096bc0..8bdbde30 100644
|
||||
--- a/src/vte/vteterminal.h
|
||||
+++ b/src/vte/vteterminal.h
|
||||
@@ -204,7 +204,9 @@ void vte_terminal_set_selection_block_mode(VteTerminal *terminal,
|
||||
_VTE_PUBLIC
|
||||
void vte_terminal_select_text(VteTerminal *terminal, long start_col, long start_row,
|
||||
long end_col, long end_row) _VTE_GNUC_NONNULL(1);
|
||||
-
|
||||
+_VTE_PUBLIC
|
||||
+char *
|
||||
+vte_terminal_get_selection(VteTerminal *terminal) _VTE_GNUC_NONNULL(1);
|
||||
|
||||
/* By-word selection */
|
||||
_VTE_PUBLIC
|
||||
diff --git a/src/vtegtk.cc b/src/vtegtk.cc
|
||||
index 27ad64da..0067e58a 100644
|
||||
--- a/src/vtegtk.cc
|
||||
+++ b/src/vtegtk.cc
|
||||
@@ -2435,6 +2435,13 @@ vte_terminal_select_text(VteTerminal *terminal,
|
||||
IMPL(terminal)->select_text(start_col, start_row, end_col, end_row);
|
||||
}
|
||||
|
||||
+char *
|
||||
+vte_terminal_get_selection(VteTerminal *terminal)
|
||||
+{
|
||||
+ g_return_val_if_fail(VTE_IS_TERMINAL(terminal), NULL);
|
||||
+ return g_strdup (IMPL(terminal)->m_selection[VTE_SELECTION_PRIMARY]->str);
|
||||
+}
|
||||
+
|
||||
/**
|
||||
* vte_terminal_get_cursor_position:
|
||||
* @terminal: a #VteTerminal
|
|
@ -1,6 +0,0 @@
|
|||
# This series applies on GIT commit 992c481f21e266e7cdfcee1d425b18da4df9ef8d
|
||||
01-expose-functions-for-pausing.patch
|
||||
02-expose-function-for-setting.patch
|
||||
03-add-function-for-setting-the.patch
|
||||
04-add-functions-to-get-set-block.patch
|
||||
05-expose-function-for-getting.patch
|
|
@ -1,94 +0,0 @@
|
|||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="6"
|
||||
VALA_USE_DEPEND="vapigen"
|
||||
VALA_MIN_API_VERSION="0.32"
|
||||
|
||||
inherit gnome2 vala
|
||||
|
||||
DESCRIPTION="Library providing a virtual terminal emulator widget"
|
||||
HOMEPAGE="https://wiki.gnome.org/action/show/Apps/Terminal/VTE termite-patch? ( https://github.com/thestinger/vte-ng )"
|
||||
|
||||
LICENSE="LGPL-2+"
|
||||
SLOT="2.91"
|
||||
IUSE="+crypt debug glade +introspection +termite-patch vala vanilla"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~x64-solaris ~x86-solaris"
|
||||
REQUIRED_USE="vala? ( introspection )"
|
||||
|
||||
SRC_URI="${SRC_URI} !vanilla? ( https://dev.gentoo.org/~leio/distfiles/${PN}-0.54.1-command-notify.patch.xz )"
|
||||
|
||||
RDEPEND="
|
||||
>=dev-libs/glib-2.40:2
|
||||
>=dev-libs/libpcre2-10.21
|
||||
>=x11-libs/gtk+-3.16:3[introspection?]
|
||||
>=x11-libs/pango-1.22.0
|
||||
|
||||
sys-libs/ncurses:0=
|
||||
sys-libs/zlib
|
||||
|
||||
crypt? ( >=net-libs/gnutls-3.2.7:0= )
|
||||
glade? ( >=dev-util/glade-3.9:3.10 )
|
||||
introspection? ( >=dev-libs/gobject-introspection-0.9.0:= )
|
||||
"
|
||||
DEPEND="${RDEPEND}
|
||||
dev-util/gperf
|
||||
dev-libs/libxml2
|
||||
>=dev-util/gtk-doc-am-1.13
|
||||
>=dev-util/intltool-0.35
|
||||
sys-devel/gettext
|
||||
virtual/pkgconfig
|
||||
|
||||
vala? ( $(vala_depend) )
|
||||
"
|
||||
RDEPEND="${RDEPEND}
|
||||
!x11-libs/vte:2.90[glade]
|
||||
"
|
||||
|
||||
src_prepare() {
|
||||
if ! use vanilla; then
|
||||
# First half of http://pkgs.fedoraproject.org/cgit/rpms/vte291.git/tree/vte291-command-notify-scroll-speed.patch
|
||||
# Adds OSC 777 support for desktop notifications in gnome-terminal or elsewhere
|
||||
eapply "${WORKDIR}"/${PN}-0.54.1-command-notify.patch
|
||||
fi
|
||||
|
||||
if use termite-patch; then
|
||||
eapply "$FILESDIR"/${PN}-0.54.4-ng/*.patch
|
||||
fi
|
||||
|
||||
use vala && vala_src_prepare
|
||||
|
||||
# build fails because of -Werror with gcc-5.x
|
||||
sed -e 's#-Werror=format=2#-Wformat=2#' -i configure || die "sed failed"
|
||||
|
||||
gnome2_src_prepare
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local myconf=""
|
||||
|
||||
if [[ ${CHOST} == *-interix* ]]; then
|
||||
myconf="${myconf} --disable-Bsymbolic"
|
||||
|
||||
# interix stropts.h is empty...
|
||||
export ac_cv_header_stropts_h=no
|
||||
fi
|
||||
|
||||
# Python bindings are via gobject-introspection
|
||||
# Ex: from gi.repository import Vte
|
||||
gnome2_src_configure \
|
||||
--disable-test-application \
|
||||
--disable-static \
|
||||
--with-gtk=3.0 \
|
||||
$(use_enable debug) \
|
||||
$(use_enable glade glade-catalogue) \
|
||||
$(use_with crypt gnutls) \
|
||||
$(use_enable introspection) \
|
||||
$(use_enable vala) \
|
||||
${myconf}
|
||||
}
|
||||
|
||||
src_install() {
|
||||
gnome2_src_install
|
||||
mv "${ED}"/etc/profile.d/vte{,-${SLOT}}.sh || die
|
||||
}
|
|
@ -1,2 +0,0 @@
|
|||
EBUILD redshift-9999.ebuild 1982 BLAKE2B 5165cb6338f3598a9933175fd273030694aba16bce917a1fee0646f3f804a71d61dfdf550f905dcbabb9bef95a331bd448b06fda0aa17643af1c8734f784e936 SHA512 9b845cc8131e57d8ebdc52621c83daff05f4d5388e7750aa1832c0d82e3f73c1c69ecc050713c555222eb77c75dd8a72647699e53ce05883e5922aaf5f1fed35
|
||||
MISC metadata.xml 545 BLAKE2B db060df8f3a667a05c9517ed4181b722e4c2f987d7f5aa0085e3d8adf8a0d652fee0ca6901fcab4e75344f3337df4eb1ea15c7555fa2034709c185049155cd06 SHA512 5eb06d120a80deb3d70b3007a4bc8983b276cfb87a5471ca062675770e1e575e29e5b28562e53521976c9ba7c4cd6c95aee7fffb56aa2b1faaed098de42a2bc3
|
|
@ -1,17 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="person">
|
||||
<email>sping@gentoo.org</email>
|
||||
</maintainer>
|
||||
<maintainer type="project">
|
||||
<email>desktop-misc@gentoo.org</email>
|
||||
<name>Gentoo Desktop Miscellaneous Project</name>
|
||||
</maintainer>
|
||||
<use>
|
||||
<flag name="geoclue">Control dependency on <pkg>app-misc/geoclue</pkg></flag>
|
||||
</use>
|
||||
<upstream>
|
||||
<remote-id type="github">jonls/redshift</remote-id>
|
||||
</upstream>
|
||||
</pkgmetadata>
|
|
@ -1,89 +0,0 @@
|
|||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
PYTHON_COMPAT=( python3_{6,7,8} )
|
||||
|
||||
inherit systemd autotools eutils gnome2-utils python-r1 git-r3
|
||||
|
||||
DESCRIPTION="A screen color temperature adjusting software"
|
||||
HOMEPAGE="http://jonls.dk/redshift/"
|
||||
EGIT_REPO_URI="https://github.com/minus7/redshift.git"
|
||||
EGIT_BRANCH="wayland"
|
||||
|
||||
LICENSE="GPL-3"
|
||||
SLOT="0"
|
||||
KEYWORDS=""
|
||||
IUSE="ayatana geoclue gtk nls wayland"
|
||||
|
||||
COMMON_DEPEND=">=x11-libs/libX11-1.4
|
||||
x11-libs/libXxf86vm
|
||||
x11-libs/libxcb
|
||||
x11-libs/libdrm
|
||||
geoclue? ( app-misc/geoclue:2.0 dev-libs/glib:2 )
|
||||
gtk? ( ${PYTHON_DEPS} )"
|
||||
RDEPEND="${COMMON_DEPEND}
|
||||
gtk? ( dev-python/pygobject[${PYTHON_USEDEP}]
|
||||
x11-libs/gtk+:3[introspection]
|
||||
dev-python/pyxdg[${PYTHON_USEDEP}] )"
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
>=dev-util/intltool-0.50
|
||||
nls? ( sys-devel/gettext )
|
||||
ayatana? ( dev-libs/libappindicator:3 )
|
||||
wayland? ( dev-libs/wayland )
|
||||
"
|
||||
REQUIRED_USE="gtk? ( ${PYTHON_REQUIRED_USE} )"
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
use gtk && python_setup
|
||||
|
||||
econf \
|
||||
--disable-silent-rules \
|
||||
$(use_enable nls) \
|
||||
--enable-drm \
|
||||
--enable-randr \
|
||||
--enable-vidmode \
|
||||
--disable-wingdi \
|
||||
\
|
||||
--disable-corelocation \
|
||||
$(use_enable geoclue geoclue2) \
|
||||
\
|
||||
$(use_enable gtk gui) \
|
||||
--with-systemduserunitdir="$(systemd_get_userunitdir)" \
|
||||
--disable-apparmor \
|
||||
--disable-quartz \
|
||||
--disable-ubuntu \
|
||||
$(use_enable wayland)
|
||||
}
|
||||
|
||||
_impl_specific_src_install() {
|
||||
emake DESTDIR="${D}" pythondir="$(python_get_sitedir)" \
|
||||
-C src/redshift-gtk install
|
||||
}
|
||||
|
||||
src_install() {
|
||||
emake DESTDIR="${D}" UPDATE_ICON_CACHE=/bin/true install
|
||||
|
||||
if use gtk; then
|
||||
python_foreach_impl _impl_specific_src_install
|
||||
python_replicate_script "${D}"/usr/bin/redshift-gtk
|
||||
dosym redshift-gtk /usr/bin/gtk-redshift
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
use gtk && gnome2_icon_savelist
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
use gtk && gnome2_icon_cache_update
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
use gtk && gnome2_icon_cache_update
|
||||
}
|
|
@ -2,7 +2,7 @@
|
|||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: $
|
||||
|
||||
EAPI=6
|
||||
EAPI=7
|
||||
|
||||
inherit git-r3 qmake-utils
|
||||
|
||||
|
|
|
@ -1,3 +0,0 @@
|
|||
AUX nocsd.patch 487 BLAKE2B e347962c9a16c28a367d11859b1d45c314444cf182c832936d80b83117bb954abd95871c45c520fc5b39e5136cc9db1f5a9fcbce3e81dc45a383f2a856997ea5 SHA512 9413b47d4ea2dbd257895296323efae54e982cf9009799f0294e19de3537eb7144fd04eec81e9b95de5c7665e4f565faa391b1a2234def3ebb7ace68cf73b2e0
|
||||
EBUILD termite-13.ebuild 1452 BLAKE2B 1fbd73e32b5af91af5293aa4bd61366a39a9278ba4605c4d5afebc31b24f82c36e38ce817820c05efc07044d60a1e74d2fc196dfbe6b2313482dd90ad4a425be SHA512 bc25af5c718595cde97d072cdb868b9ce8220e391c9fc9c216a44fc1d7c2422cfd3c69687352db7c5553a972dccb983e75d8502261de3131f0ae76ecf771e29e
|
||||
EBUILD termite-9999.ebuild 1349 BLAKE2B 7366546de82f70919027864f9bcca0b532d1e6bcb3bf32ae71566d46876d584bb625a4ea551b1824cfc1694260a2156f02c5ddcc1309b4fa14177ae97bb2a35c SHA512 2aa80e8524474818345de83360342289f9a5315974034b5fc8cfbd783853e9580dd5dd9bed95a32ac45649ae8766e5939b704742e8bdae27ee5eb9813ca56acf
|
|
@ -1,10 +0,0 @@
|
|||
--- a/termite.cc 2017-03-30 16:19:30.791745134 -0700
|
||||
+++ b/termite.cc 2017-03-30 16:02:18.128408314 -0700
|
||||
@@ -1737,6 +1737,7 @@
|
||||
gtk_container_add(GTK_CONTAINER(panel_overlay), hint_overlay);
|
||||
gtk_container_add(GTK_CONTAINER(hint_overlay), vte_widget);
|
||||
gtk_container_add(GTK_CONTAINER(window), panel_overlay);
|
||||
+ gtk_window_set_decorated(GTK_WINDOW(window), false);
|
||||
|
||||
if (!hold) {
|
||||
g_signal_connect(vte, "child-exited", G_CALLBACK(exit_with_status), nullptr);
|
|
@ -1,63 +0,0 @@
|
|||
# By eroen, 2013-2016
|
||||
# Permission to use, copy, modify, and/or distribute this software for any
|
||||
# purpose with or without fee is hereby granted, provided that the above
|
||||
# copyright notice and this permission notice appear in all copies.
|
||||
|
||||
EAPI=6
|
||||
|
||||
inherit eutils toolchain-funcs versionator
|
||||
if [[ 9999 == $PV ]]; then
|
||||
inherit git-r3
|
||||
else
|
||||
# Submodules :-(
|
||||
#SRC_URI="https://github.com/thestinger/termite/archive/v$PV.tar.gz -> $P.tar.gz"
|
||||
inherit git-r3
|
||||
EGIT_COMMIT=v$PV
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
fi
|
||||
|
||||
DESCRIPTION="A keyboard-centric VTE-based terminal"
|
||||
HOMEPAGE="https://github.com/thestinger/termite"
|
||||
EGIT_REPO_URI="https://github.com/thestinger/termite.git"
|
||||
|
||||
LICENSE="LGPL-2+ MIT"
|
||||
SLOT="0"
|
||||
IUSE=""
|
||||
|
||||
RDEPEND="dev-libs/libpcre2
|
||||
>=x11-libs/gtk+-3.0
|
||||
>=x11-libs/vte-0.43.2:2.91[termite-patch(-)]"
|
||||
DEPEND="${RDEPEND}"
|
||||
|
||||
pkg_pretend() {
|
||||
if ! version_is_at_least 4.7 $(gcc-version); then
|
||||
eerror "${PN} passes -std=c++11 to \${CXX} and requires a version"
|
||||
eerror "of gcc newer than 4.7.0"
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
# Makefile prepends -O3
|
||||
CXXFLAGS="-O0 ${CXXFLAGS}"
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
sed -e "s/^VERSION = .*$/VERSION = v${PV}/" \
|
||||
-i Makefile || die
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
emake LDFLAGS="${LDFLAGS}"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
emake DESTDIR="${D}" PREFIX=/usr install
|
||||
dodoc README* config
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
elog
|
||||
elog "Termite looks for a config file ~/.config/termite/config"
|
||||
elog "An example config can be found in ${EROOT}usr/share/doc/${PF}/"
|
||||
}
|
|
@ -1,56 +0,0 @@
|
|||
# By eroen, 2013-2016
|
||||
# Permission to use, copy, modify, and/or distribute this software for any
|
||||
# purpose with or without fee is hereby granted, provided that the above
|
||||
# copyright notice and this permission notice appear in all copies.
|
||||
|
||||
EAPI=6
|
||||
|
||||
inherit eutils toolchain-funcs versionator
|
||||
if [[ 9999 == $PV ]]; then
|
||||
inherit git-r3
|
||||
else
|
||||
SRC_URI="https://github.com/thestinger/termite/archive/v$PV.tar.gz -> $P.tar.gz"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
fi
|
||||
|
||||
DESCRIPTION="A keyboard-centric VTE-based terminal"
|
||||
HOMEPAGE="https://github.com/thestinger/termite"
|
||||
EGIT_REPO_URI="https://github.com/thestinger/termite.git"
|
||||
|
||||
LICENSE="LGPL-2+ MIT"
|
||||
SLOT="0"
|
||||
IUSE="+nocsd"
|
||||
|
||||
LIBDEPEND=">=x11-libs/gtk+-3.0
|
||||
>=x11-libs/vte-0.38:2.91[termite-patch(-)]
|
||||
"
|
||||
DEPEND="${LIBDEPEND}"
|
||||
RDEPEND="${LIBDEPEND}"
|
||||
|
||||
pkg_pretend() {
|
||||
if ! version_is_at_least 4.7 $(gcc-version); then
|
||||
eerror "${PN} passes -std=c++11 to \${CXX} and requires a version"
|
||||
eerror "of gcc newer than 4.7.0"
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
# Makefile prepends -O3
|
||||
CXXFLAGS="-O0 ${CXXFLAGS}"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
epatch ${FILESDIR}/nocsd.patch
|
||||
emake LDFLAGS="${LDFLAGS}"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
emake DESTDIR="${D}" PREFIX=/usr install
|
||||
dodoc README* config
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
elog
|
||||
elog "Termite looks for a config file ~/.config/termite/config"
|
||||
elog "An example config can be found in ${EROOT}usr/share/doc/${PF}/"
|
||||
}
|
Loading…
Reference in New Issue