parent
c385988a2d
commit
9849b6b09b
@ -1,5 +0,0 @@
|
||||
AUX libopenshot-0.1.3-fix-tests.patch 1084 BLAKE2B a3bfa594403f36e37e7cf5078d7975384a5e0af3dd4fb1e2cb20b969b4fa5554e5dd6a8a9a55d7f4e76a23cfb5c9e3f04a01786b84c45dd8854a6757fdc35d5a SHA512 412320163c30bc4ee6e9dbedeebae37d6fcb71023c3513171f93d6108c53df2e0dd6e0e31657f9c16f3206356c876ddb9bb84abf3ec7f036997dbdac43139d92
|
||||
AUX libopenshot-0.1.8-fix-tests.patch 1073 BLAKE2B 1ee4f19a3251924c688c49059a55510e620df9f2cdfd30bcd23b32e3cd1b4a8b1976e29837322f3ea1bb74e88a69aab60f6fdcf39747ce1e34a8d76654d6539c SHA512 0adaae336fe5d8a8eaf74b5c0b39eeb6845c54d60d506eb6ba24238a1064c536c0d1e903a673175c3d498bb6c1926a4ff1d3fb1d2d1c6d00dd8059bae3dba157
|
||||
DIST libopenshot-0.2.0.tar.gz 11035557 BLAKE2B c71aaec9d40cc162df05f5ca182cfa75b829fbe55ceaf9baad48bcee57356c3e03bfb67136414c252fad47f0d853a7ebdd74852404118104e07535aba4f106d0 SHA512 6085a976fbc3ca8e381e7b29cc551f15054bf979ebe130bbf6590ab7af07db48aadc16614b33b00a25164ad851f1040def10812e1f91ee1402194c3526b9241c
|
||||
EBUILD libopenshot-0.2.0.ebuild 2186 BLAKE2B b69db013ce216f9bfe2bf1496f59ce169bdd1615d5545cf2a4d12fcb0663ca6b2ab86ed4b9b55fbfd18c31eb320347b779bc5f10bd346655517b554258d60bab SHA512 d12a1af800d11f4c68805e18200f0b37071637983aaad0382eb227a0b1ad23844e80f3197673502e566061a4dbfe1f1c3e4e4c858dea2db6e8f303af20f5016c
|
||||
MISC metadata.xml 374 BLAKE2B cc763fd4cda8c70fc654d85ebaa8a3b748499308a4633c6f70aeef1cbb767f5b5eaad0f6c4402a74862e8ebe392b6862722835e92cb53ef4b88a9cc87b2315db SHA512 2a1810910f38b67624eea2d8778c095bbe884cf8a06ababaf595a295d8fbb904e13a809ccc888b8d5956e87a2ddf1295982133741596a08e713f9cbb6a6347ba
|
@ -1,26 +0,0 @@
|
||||
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
|
||||
index 29fbe45..ff67cb5 100644
|
||||
--- a/tests/CMakeLists.txt
|
||||
+++ b/tests/CMakeLists.txt
|
||||
@@ -24,16 +24,19 @@
|
||||
# along with OpenShot Library. If not, see <http://www.gnu.org/licenses/>.
|
||||
################################################################################
|
||||
|
||||
+SET(TEST_MEDIA_PATH "${openshot_SOURCE_DIR}/src/examples/")
|
||||
|
||||
################ WINDOWS ##################
|
||||
# Set some compiler options for Windows
|
||||
# required for libopenshot-audio headers
|
||||
IF (WIN32)
|
||||
- STRING(REPLACE "/" "\\\\" TEST_MEDIA_PATH "${openshot_SOURCE_DIR}/src/examples/")
|
||||
- add_definitions( -DIGNORE_JUCE_HYPOT=1 -DTEST_MEDIA_PATH="${TEST_MEDIA_PATH}" )
|
||||
+ STRING(REPLACE "/" "\\\\" TEST_MEDIA_PATH TEST_MEDIA_PATH)
|
||||
+ add_definitions( -DIGNORE_JUCE_HYPOT=1 )
|
||||
SET(CMAKE_CXX_FLAGS " ${CMAKE_CXX_FLAGS} -include cmath -std=c++0x")
|
||||
ENDIF(WIN32)
|
||||
|
||||
+add_definitions( -DTEST_MEDIA_PATH="${TEST_MEDIA_PATH}" )
|
||||
+
|
||||
################### UNITTEST++ #####################
|
||||
# Find UnitTest++ libraries (used for unit testing)
|
||||
FIND_PACKAGE(UnitTest++ REQUIRED)
|
@ -1,26 +0,0 @@
|
||||
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
|
||||
index 431987b..2c45550 100644
|
||||
--- a/tests/CMakeLists.txt
|
||||
+++ b/tests/CMakeLists.txt
|
||||
@@ -24,16 +24,19 @@
|
||||
# along with OpenShot Library. If not, see <http://www.gnu.org/licenses/>.
|
||||
################################################################################
|
||||
|
||||
+SET(TEST_MEDIA_PATH "${openshot_SOURCE_DIR}/src/examples/")
|
||||
|
||||
################ WINDOWS ##################
|
||||
# Set some compiler options for Windows
|
||||
# required for libopenshot-audio headers
|
||||
IF (WIN32)
|
||||
- STRING(REPLACE "/" "\\\\" TEST_MEDIA_PATH "${openshot_SOURCE_DIR}/src/examples/")
|
||||
- add_definitions( -DIGNORE_JUCE_HYPOT=1 -DTEST_MEDIA_PATH="${TEST_MEDIA_PATH}" )
|
||||
+ STRING(REPLACE "/" "\\\\" TEST_MEDIA_PATH TEST_MEDIA_PATH)
|
||||
+ add_definitions( -DIGNORE_JUCE_HYPOT=1 )
|
||||
SET(CMAKE_CXX_FLAGS " ${CMAKE_CXX_FLAGS} -include cmath")
|
||||
ENDIF(WIN32)
|
||||
|
||||
+add_definitions( -DTEST_MEDIA_PATH="${TEST_MEDIA_PATH}" )
|
||||
+
|
||||
################### UNITTEST++ #####################
|
||||
# Find UnitTest++ libraries (used for unit testing)
|
||||
FIND_PACKAGE(UnitTest++ REQUIRED)
|
@ -1,88 +0,0 @@
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
PYTHON_COMPAT=( python3_{4,5,6} )
|
||||
|
||||
inherit cmake-utils python-single-r1 toolchain-funcs versionator
|
||||
|
||||
DESCRIPTION="Video editing library used by OpenShot"
|
||||
HOMEPAGE="http://www.openshotvideo.com/"
|
||||
SRC_URI="https://github.com/OpenShot/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-3"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 x86"
|
||||
IUSE="+imagemagick libav +python test"
|
||||
# https://github.com/OpenShot/libopenshot/issues/43
|
||||
RESTRICT="test"
|
||||
|
||||
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
|
||||
|
||||
RDEPEND="
|
||||
net-libs/cppzmq
|
||||
dev-qt/qtcore:5
|
||||
dev-qt/qtgui:5
|
||||
dev-qt/qtmultimedia:5[widgets]
|
||||
media-libs/libopenshot-audio
|
||||
imagemagick? ( <media-gfx/imagemagick-7:0=[cxx] )
|
||||
libav? ( media-video/libav:=[encode,x264,xvid,vpx,mp3,theora] )
|
||||
!libav? ( media-video/ffmpeg:0=[encode,x264,xvid,vpx,mp3,theora] )
|
||||
python? ( ${PYTHON_DEPS} )
|
||||
"
|
||||
DEPEND="
|
||||
${RDEPEND}
|
||||
python? ( dev-lang/swig )
|
||||
test? ( dev-libs/unittest++ )
|
||||
"
|
||||
|
||||
# https://github.com/OpenShot/libopenshot/pull/45
|
||||
#PATCHES=( ${FILESDIR}/${PN}-0.1.8-fix-tests.patch )
|
||||
|
||||
check_compiler() {
|
||||
if [[ ${MERGE_TYPE} != binary ]] && ! tc-has-openmp; then
|
||||
eerror "${P} requires a compiler with OpenMP support. Your current"
|
||||
eerror "compiler does not support it. If you use gcc, you can"
|
||||
eerror "re-emerge it with the 'openmp' use flag enabled."
|
||||
die "The current compiler does not support OpenMP"
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_pretend() {
|
||||
check_compiler
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
check_compiler
|
||||
use python && python-single-r1_pkg_setup
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
cmake-utils_src_prepare
|
||||
# https://github.com/OpenShot/libopenshot/issues/17
|
||||
use test || cmake_comment_add_subdirectory tests
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local mycmakeargs=(
|
||||
-DENABLE_RUBY=OFF # TODO: add ruby support
|
||||
-DENABLE_PYTHON=$(usex python)
|
||||
$(cmake-utils_use_find_package imagemagick ImageMagick)
|
||||
)
|
||||
use python && mycmakeargs+=(
|
||||
-DPYTHON_EXECUTABLE="${PYTHON}"
|
||||
-DPYTHON_INCLUDE_DIR="$(python_get_includedir)"
|
||||
-DPYTHON_LIBRARY="$(python_get_library_path)"
|
||||
)
|
||||
cmake-utils_src_configure
|
||||
}
|
||||
|
||||
src_test() {
|
||||
cmake-utils_src_make test
|
||||
}
|
||||
|
||||
src_install() {
|
||||
cmake-utils_src_install
|
||||
python_optimize
|
||||
}
|
@ -1,10 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<!-- maintainer-needed -->
|
||||
<upstream>
|
||||
<remote-id type="launchpad">libopenshot</remote-id>
|
||||
<remote-id type="github">OpenShot/libopenshot</remote-id>
|
||||
<bugs-to>https://github.com/OpenShot/libopenshot/issues</bugs-to>
|
||||
</upstream>
|
||||
</pkgmetadata>
|
@ -1,3 +0,0 @@
|
||||
AUX zita-resampler-1.6.0-Makefile.patch 2733 SHA256 cdb00424ef6213e36694a428ed78cec1bb802ff966c2025e4e977f42fc41f925 SHA512 c54e03743608304639eb585930f507d2983e5a0bc33c18469f8edfa009b1836612b61f915048e55954f161d552f0f7f28a148f220e9014db8d3812e466a0cede WHIRLPOOL 86b14273270324c264ddfbae61143c248a66f75bcf66cf36e21479626afdb7593ab7d8ef935f8948dd429d8cf58ebd99c5910da7c6451da1868c4a091afca1af
|
||||
DIST zita-resampler-1.6.0.tar.bz2 126427 SHA256 10888d76299d8072990939be45d6fc5865f5a45d766d7690819c5899d2a588f0 SHA512 fefe01dfc459a7ee0a98965b6e354cfe23b8e18838eeedabe2a6d965e9e413c8bafb9ebb11f8328852f18be20c14443785214b000065887e4482aa8d5e6b34f5 WHIRLPOOL 346c6a869c8debcf64c92fcf1ee3d83bb4cb51627a9850fa45079fc87f6f9a91369b669855620188f07bc20c63d13712b02d92c60d667786ca18edfdd96e3222
|
||||
EBUILD zita-resampler-1.6.0.ebuild 959 SHA256 4c6fd78f333475095cb0fd9d015e292d98cb5b864f13d450f5682ac53e4cc1cf SHA512 46695342e7a2aa137d826c6f0fdb1f69dacfa018426425806843719fc302f7eadf35c5ed97f6a2340e0de375f5c550e66aaff1c50ceae9d419078543ef5a3669 WHIRLPOOL 4496aad5c46ed402cd3d3cd9eafcbac5ca9bc83a9bafd3a104e69cff6d18024cbe0e53668ffccd7b50af4551b66c0653b70104860b4270657d4330994c42db63
|
@ -1,86 +0,0 @@
|
||||
--- libs/Makefile.orig 2012-09-26 15:09:36.730652389 +0100
|
||||
+++ libs/Makefile 2012-09-26 15:35:01.381004641 +0100
|
||||
@@ -20,9 +20,10 @@
|
||||
|
||||
# Modify as required.
|
||||
#
|
||||
+CXX ?= g++
|
||||
PREFIX = /usr/local
|
||||
SUFFIX := $(shell uname -m | sed -e 's/^unknown/$//' -e 's/^i.86/$//' -e 's/^x86_64/$/64/')
|
||||
-LIBDIR = lib$(SUFFIX)
|
||||
+LIBDIR ?= lib$(SUFFIX)
|
||||
|
||||
MAJVERS = 1
|
||||
MINVERS = 1.0
|
||||
@@ -31,8 +32,7 @@
|
||||
|
||||
|
||||
CPPFLAGS += -I. -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS
|
||||
-CXXFLAGS += -Wall -fPIC -O2 -ffast-math
|
||||
-CXXFLAGS += -march=native
|
||||
+CXXFLAGS += -Wall -fPIC -ffast-math
|
||||
LDFLAGS +=
|
||||
LDLIBS +=
|
||||
|
||||
@@ -46,7 +46,7 @@
|
||||
|
||||
|
||||
$(ZITA-RESAMPLER_MIN): $(ZITA-RESAMPLER_O)
|
||||
- g++ -shared $(LDFLAGS) -Wl,-soname,$(ZITA-RESAMPLER_MAJ) -o $(ZITA-RESAMPLER_MIN) $(ZITA-RESAMPLER_O) $(ZITA-RESAMPLER_DEP)
|
||||
+ $(CXX) -shared $(LDFLAGS) -Wl,-soname,$(ZITA-RESAMPLER_MAJ) -o $(ZITA-RESAMPLER_MIN) $(ZITA-RESAMPLER_O) $(ZITA-RESAMPLER_DEP)
|
||||
|
||||
$(ZITA-RESAMPLER_O): $(ZITA-RESAMPLER_H)
|
||||
|
||||
@@ -57,7 +57,7 @@
|
||||
install -m 644 $(ZITA-RESAMPLER_H) $(DESTDIR)$(PREFIX)/include/zita-resampler
|
||||
install -m 644 $(ZITA-RESAMPLER_MIN) $(DESTDIR)$(PREFIX)/$(LIBDIR)
|
||||
ln -sf $(ZITA-RESAMPLER_MIN) $(DESTDIR)$(PREFIX)/$(LIBDIR)/$(ZITA-RESAMPLER_SO)
|
||||
- ldconfig
|
||||
+ /sbin/ldconfig -n $(DESTDIR)$(PREFIX)/$(LIBDIR)
|
||||
|
||||
uninstall:
|
||||
/bin/rm -rf $(DESTDIR)$(PREFIX)/include/zita-resampler
|
||||
--- apps/Makefile.orig 2012-09-26 15:09:26.702966080 +0100
|
||||
+++ apps/Makefile 2012-09-26 15:35:04.016922423 +0100
|
||||
@@ -17,7 +17,7 @@
|
||||
#
|
||||
# ----------------------------------------------------------------------------
|
||||
|
||||
-
|
||||
+CXX ?= g++
|
||||
PREFIX = /usr/local
|
||||
SUFFIX := $(shell uname -m | sed -e 's/^unknown/$//' -e 's/^i.86/$//' -e 's/^x86_64/$/64/')
|
||||
LIBDIR = lib$(SUFFIX)
|
||||
@@ -25,26 +25,25 @@
|
||||
VERSION = 0.4.0
|
||||
MANDIR = /usr/share/man/man1
|
||||
LDFLAGS += -L$(PREFIX)/$(LIBDIR)
|
||||
-CPPFLAGS += -MMD -MP -DVERSION=\"$(VERSION)\"
|
||||
-CXXFLAGS += -O3 -ffast-math -Wall
|
||||
-CXXFLAGS += -march=native
|
||||
+CPPFLAGS += -MMD -MP -DVERSION=\"$(VERSION)\" -I../libs
|
||||
+CXXFLAGS += -ffast-math -Wall
|
||||
|
||||
|
||||
all: zresample zretune zresample.1.gz zretune.1.gz
|
||||
|
||||
|
||||
ZRESAMPLE_O = zresample.o audiofile.o dither.o
|
||||
-zresample: LDLIBS += -lzita-resampler -lsndfile -lrt
|
||||
+zresample: LDLIBS += ../libs/libzita-resampler.so.1.6.0 -lsndfile -lrt
|
||||
zresample: $(ZRESAMPLE_O)
|
||||
- g++ $(LDFLAGS) -o $@ $(ZRESAMPLE_O) $(LDLIBS)
|
||||
+ $(CXX) $(LDFLAGS) -o $@ $(ZRESAMPLE_O) $(LDLIBS)
|
||||
$(ZRESAMPLE_O):
|
||||
-include $(ZRESAMPLE_O:%.o=%.d)
|
||||
|
||||
|
||||
ZRETUNE_O = zretune.o audiofile.o dither.o
|
||||
-zretune: LDLIBS += -lzita-resampler -lsndfile -lrt
|
||||
+zretune: LDLIBS += ../libs/libzita-resampler.so.1.6.0 -lsndfile -lrt
|
||||
zretune: $(ZRETUNE_O)
|
||||
- g++ $(LDFLAGS) -o $@ $(ZRETUNE_O) $(LDLIBS)
|
||||
+ $(CXX) $(LDFLAGS) -o $@ $(ZRETUNE_O) $(LDLIBS)
|
||||
$(ZRETUNE_O):
|
||||
-include $(ZRETUNE_O:%.o=%.d)
|
||||
|
@ -1,40 +0,0 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: $
|
||||
# This ebuild works as-is.
|
||||
# Upgrading to EAPI 6 requires the patch header to be -p1.
|
||||
# I don't know how to do that yet.
|
||||
|
||||
EAPI=5
|
||||
inherit base toolchain-funcs multilib
|
||||
|
||||
DESCRIPTION="C++ library for real-time resampling of audio signals"
|
||||
HOMEPAGE="http://kokkinizita.linuxaudio.org/linuxaudio/"
|
||||
SRC_URI="http://kokkinizita.linuxaudio.org/linuxaudio/downloads/${P}.tar.bz2"
|
||||
|
||||
LICENSE="GPL-3"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 ~ppc x86"
|
||||
IUSE=""
|
||||
|
||||
DEPEND="media-libs/libsndfile"
|
||||
RDEPEND="${DEPEND}"
|
||||
|
||||
RESTRICT="mirror"
|
||||
|
||||
DOCS=(AUTHORS README)
|
||||
HTML_DOCS=(docs/)
|
||||
|
||||
PATCHES=("${FILESDIR}"/${P}-Makefile.patch)
|
||||
|
||||
src_compile() {
|
||||
tc-export CXX
|
||||
emake -C libs
|
||||
emake -C apps
|
||||
}
|
||||
|
||||
src_install() {
|
||||
emake -C libs DESTDIR="${D}" PREFIX="${EPREFIX}/usr" LIBDIR=$(get_libdir) install
|
||||
emake -C apps DESTDIR="${D}" PREFIX="${EPREFIX}/usr" install
|
||||
base_src_install_docs
|
||||
}
|
@ -1,7 +0,0 @@
|
||||
AUX csound-6.05-python.patch 661 SHA256 54d5a4316009c0f77624f52eebdc0491ffa33d23c29ec5f6b3b24452389fcc28 SHA512 db931a76d0b386232d932c87ef30300497145dab3196cc059278947eeefc41723043392d652583f00512b306abbf33db3d7c9bc5203ead81689ed1ea8d0a541c WHIRLPOOL 809afda320f5b6fbce53671c2c7c01f2ee90f636243f317ef35a4d958995c61f0d4907cd13a21d1f7e5d20ffdea68369cb3250b7bfe7846ca1edc92e039da259
|
||||
AUX csound-6.09.1-python.patch 742 SHA256 2cfd522984210f903071227272c845c49b7bd3bd0a7193c2f5369093e426c4f8 SHA512 52d2cb16831eb4090f22c7153f76213bbf4dfbf66ec791655714aa84db97dab6271022e64707247d24946ec5e019d20fe479a7a5d1711eac2c030625c4c86cdc WHIRLPOOL ce7ad2e9d370db1bb99d67ce5246926b24c7f8206f6dc3373d532d7b99d2f16619d6068052828f4ef572d89916511f7d1f8cbcff682e0ea11fc432185505b77e
|
||||
DIST Csound6.10.0_manual_html.zip 15944722 SHA256 1f3bc78e7826cc32b0fa43f73b60a9f8b2ee09c3c47118bcb9d5e8649b66dbcf SHA512 f61f46705607eb39897fd3b27353fb233acd9da5e00a2b64d63116f74b889f2daafa72d48ed7c5ec1890e32d81331f91455861f2cb3fad3d13b7d27ec203357a WHIRLPOOL 88e929b4bad06ee65bfcc999500f89b63d5c8a77b24998aa588644e27ce72150357cb95a248e2c0591190a3eaeaa69f589fe39d753fdae4d19aa524057f8cc2a
|
||||
DIST Csound6.10.0_manual_pdf.zip 8687461 SHA256 15d66efce72b91356f366c3d51fef16a18113bfb88ed067e0766e65cffc1bb01 SHA512 cf6ec335782032fb0703a3042c0222316cd215eba2be242e65d4f1ae23d886177620c96cc63c1aace43a72c1d6258a88612c1ffd5ef0e43675729bae39969fa1 WHIRLPOOL 1d996b170e71fcf420d1315c9cb6bbe4957b5f83f1d907969a21c753456eedb9db79436fe5335764b0c7e7a2c18631e8483528b2f93a4ad21b085c7b68e3bfcb
|
||||
DIST csound-6.10.0.tar.gz 42036496 SHA256 a241043521572d00ae3a926611ac52fd6a7e3fe6bafdbe707867aafe32f6d8a3 SHA512 1ccf0a2d5273da016ec585e788e4af0b91f55c3be081a51c53dc39b0fbcfba0cf1308828784a1e5dfc39250dedbd3f4b48afbb5c4140c11fd469ca6753702ed4 WHIRLPOOL 4fed449cfbbcd241cc9c9d84f110c7446885a3c491339f78b87b05950862136b4943dfe5349d179019834a2fa935e2cfbe140eb5f65e5c8611fdd539d422f67d
|
||||
EBUILD csound-6.10.0.ebuild 5902 SHA256 442cb27e2b589805613df51f48f91c565b507a316852a4f5a0d5b9a96816b697 SHA512 fc788709608315797dcd0226e556126607408f455b120f4fc728d288ba8e89529856dec5bf1b762b32fd7c5196be04e5f641d0d545ed42d8053f432e7844a0bf WHIRLPOOL 9c56f6d46f01f0cd0e3d169565bce8f387c4d8e46e0d91b34ae244bde7479aee03d6a55418edabd1a76f1660e44a5d9b2b2f744a7239ae63a9321b68c05fcde2
|
||||
MISC metadata.xml 1621 SHA256 91d82bfb05a7d016fe1f1a0337fa1ebc685a04de7c6925240b3d95f05a05e428 SHA512 e1728de189f34100c3638ce90bfe16def6a68ae02a913b216afb7beed1d8ace1a1fda6942275cd9cc6f7fbff98966875f2a2a697442091806dfc55e1218769f9 WHIRLPOOL 0e87e1b109db8f1da002419cdb0ed310fe12a58e23e9437f19384d791eb28fefad68846cafb1f9360be94dc401bd53c9913b9cab10812d23efb73c06d799164a
|
@ -1,228 +0,0 @@
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
PYTHON_COMPAT=( python2_7 )
|
||||
|
||||
inherit java-pkg-opt-2 toolchain-funcs python-single-r1 cmake-utils
|
||||
|
||||
if [[ ${PV} == "9999" ]]; then
|
||||
EGIT_REPO_URI="https://github.com/csound/csound.git"
|
||||
inherit git-r3
|
||||
else
|
||||
DOC_P="Csound${PV}"
|
||||
SRC_URI="https://github.com/csound/csound/archive/${PV}.tar.gz -> ${P}.tar.gz
|
||||
doc? (
|
||||
https://github.com/csound/csound/releases/download/${PV}/${DOC_P}_manual_pdf.zip
|
||||
https://github.com/csound/csound/releases/download/${PV}/${DOC_P}_manual_html.zip
|
||||
)"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
fi
|
||||
|
||||
DESCRIPTION="A sound design and signal processing system for composition and performance"
|
||||
HOMEPAGE="https://csound.github.io/"
|
||||
|
||||
LICENSE="LGPL-2.1 doc? ( FDL-1.2+ )"
|
||||
SLOT="0"
|
||||
IUSE="+alsa beats chua csoundac curl +cxx debug doc double-precision dssi examples
|
||||
fltk +fluidsynth +image jack java keyboard linear lua luajit nls osc openmp
|
||||
portaudio portmidi pulseaudio python samples score static-libs stk tcl test
|
||||
+threads +utils vim-syntax websocket"
|
||||
|
||||
IUSE_LANGS=" de en_US es es_CO fr it ro ru"
|
||||
|
||||
REQUIRED_USE="
|
||||
csoundac? ( || ( lua python ) )
|
||||
java? ( cxx )
|
||||
linear? ( double-precision )
|
||||
lua? ( cxx )
|
||||
python? ( ${PYTHON_REQUIRED_USE} cxx )
|
||||
"
|
||||
|
||||
RDEPEND="
|
||||
>=media-libs/libsndfile-1.0.16
|
||||
media-libs/libsamplerate
|
||||
alsa? ( media-libs/alsa-lib )
|
||||
csoundac? (
|
||||
x11-libs/fltk:1[threads?]
|
||||
dev-cpp/eigen:3
|
||||
dev-libs/boost:=
|
||||
)
|
||||
curl? ( net-misc/curl )
|
||||
dssi? (
|
||||
media-libs/dssi
|
||||
media-libs/ladspa-sdk
|
||||
)
|
||||
fluidsynth? ( media-sound/fluidsynth )
|
||||
fltk? ( x11-libs/fltk:1[threads?] )
|
||||
image? ( media-libs/libpng:0= )
|
||||
jack? ( virtual/jack )
|
||||
java? ( virtual/jdk:* )
|
||||
keyboard? ( x11-libs/fltk:1[threads?] )
|
||||
linear? ( sci-mathematics/gmm )
|
||||
lua? (
|
||||
luajit? ( dev-lang/luajit:2 )
|
||||
!luajit? ( dev-lang/lua:0 )
|
||||
)
|
||||
osc? ( media-libs/liblo )
|
||||
portaudio? ( media-libs/portaudio )
|
||||
portmidi? ( media-libs/portmidi )
|
||||
pulseaudio? ( media-sound/pulseaudio )
|
||||
python? ( ${PYTHON_DEPS} )
|
||||
stk? ( media-libs/stk )
|
||||
tcl? (
|
||||
>=dev-lang/tcl-8.5:0=
|
||||
>=dev-lang/tk-8.5:0=
|
||||
)
|
||||
utils? ( !media-sound/snd )
|
||||
websocket? ( net-libs/libwebsockets )
|
||||
"
|
||||
DEPEND="${RDEPEND}
|
||||
sys-devel/flex
|
||||
virtual/yacc
|
||||
chua? ( dev-libs/boost )
|
||||
csoundac? ( dev-lang/swig )
|
||||
nls? ( sys-devel/gettext )
|
||||
test? (
|
||||
dev-util/cunit
|
||||
${PYTHON_DEPS}
|
||||
)
|
||||
"
|
||||
|
||||
if [[ ${PV} != "9999" ]]; then
|
||||
DEPEND+="doc? ( app-arch/unzip )"
|
||||
fi
|
||||
|
||||
# requires specific alsa settings
|
||||
RESTRICT="test"
|
||||
|
||||
pkg_pretend() {
|
||||
[[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
[[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
|
||||
|
||||
if use python || use test ; then
|
||||
python-single-r1_pkg_setup
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
cmake-utils_src_prepare
|
||||
|
||||
sed -e '/set(PLUGIN_INSTALL_DIR/s/-${APIVERSION}//' \
|
||||
-e '/-O3/d' \
|
||||
-i CMakeLists.txt || die
|
||||
|
||||
local lang
|
||||
for lang in ${IUSE_LANGS} ; do
|
||||
if ! has ${lang} ${LINGUAS-${lang}} ; then
|
||||
sed -i "/compile_po(${lang}/d" po/CMakeLists.txt || die
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local mycmakeargs=(
|
||||
-DUSE_ALSA=$(usex alsa)
|
||||
-DBUILD_CSBEATS=$(usex beats)
|
||||
-DBUILD_CHUA_OPCODES=$(usex chua)
|
||||
-DBUILD_CSOUND_AC=$(usex csoundac)
|
||||
-DBUILD_CSOUND_AC_LUA_INTERFACE=$(usex csoundac $(usex lua))
|
||||
-DBUILD_CSOUND_AC_PYTHON_INTERFACE=$(usex csoundac $(usex python))
|
||||
-DBUILD_CXX_INTERFACE=$(usex cxx)
|
||||
-DUSE_CURL=$(usex curl)
|
||||
-DNEW_PARSER_DEBUG=$(usex debug)
|
||||
-DUSE_DOUBLE=$(usex double-precision)
|
||||
-DBUILD_DSSI_OPCODES=$(usex dssi)
|
||||
-DBUILD_FLUID_OPCODES=$(usex fluidsynth)
|
||||
-DUSE_FLTK=$(usex fltk)
|
||||
-DBUILD_IMAGE_OPCODES=$(usex image)
|
||||
-DUSE_JACK=$(usex jack)
|
||||
-DBUILD_JACK_OPCODES=$(usex jack)
|
||||
-DBUILD_JAVA_INTERFACE=$(usex java)
|
||||
-DBUILD_VIRTUAL_KEYBOARD=$(usex keyboard)
|
||||
-DBUILD_LINEAR_ALGEBRA_OPCODES=$(usex linear)
|
||||
-DBUILD_LUA_OPCODES=$(usex lua)
|
||||
-DBUILD_LUA_INTERFACE=$(usex lua)
|
||||
-DUSE_GETTEXT=$(usex nls)
|
||||
-DBUILD_OSC_OPCODES=$(usex osc)
|
||||
-DUSE_OPEN_MP=$(usex openmp)
|
||||
-DUSE_PORTAUDIO=$(usex portaudio)
|
||||
-DUSE_PORTMIDI=$(usex portmidi)
|
||||
-DUSE_PULSEAUDIO=$(usex pulseaudio)
|
||||
-DBUILD_PYTHON_OPCODES=$(usex python)
|
||||
-DBUILD_PYTHON_INTERFACE=$(usex python)
|
||||
-DSCORE_PARSER=$(usex score)
|
||||
-DBUILD_STATIC_LIBRARY=$(usex static-libs)
|
||||
-DBUILD_STK_OPCODES=$(usex stk)
|
||||
-DBUILD_TESTS=$(usex test)
|
||||
-DBUILD_STATIC_LIBRARY=$(usex test)
|
||||
-DBUILD_TCLCSOUND=$(usex tcl)
|
||||
-DBUILD_MULTI_CORE=$(usex threads)
|
||||
-DBUILD_UTILITIES=$(usex utils)
|
||||
-DBUILD_WEBSOCKET_OPCODE=$(usex websocket)
|
||||
-DNEED_PORTTIME=OFF
|
||||
-DBUILD_RELEASE=ON
|
||||
)
|
||||
|
||||
use python && mycmakeargs+=(
|
||||
-DPYTHON_MODULE_INSTALL_DIR="$(python_get_sitedir)"
|
||||
)
|
||||
|
||||
[[ $(get_libdir) == "lib64" ]] && mycmakeargs+=(
|
||||
-DUSE_LIB64=ON
|
||||
)
|
||||
|
||||
cmake-utils_src_configure
|
||||
}
|
||||
|
||||
src_install() {
|
||||
cmake-utils_src_install
|
||||
dodoc -r Release_Notes/.
|
||||
|
||||
# generate env.d file
|
||||
cat > "${T}"/62${PN} <<-_EOF_ || die
|
||||
OPCODEDIR$(usex double-precision 64 '')="${EPREFIX}/usr/$(get_libdir)/${PN}/plugins$(usex double-precision 64 '')"
|
||||
CSSTRNGS="${EPREFIX}/usr/share/locale"
|
||||
_EOF_
|
||||
if use stk ; then
|
||||
echo RAWWAVE_PATH=\"${EPREFIX}/usr/share/csound/rawwaves\" >> "${T}"/62${PN} || die
|
||||
fi
|
||||
doenvd "${T}"/62${PN}
|
||||
|
||||
if use examples ; then
|
||||
dodoc -r examples
|
||||
docompress -x /usr/share/doc/${PF}/examples
|
||||
fi
|
||||
|
||||
use samples && dodoc -r samples
|
||||
|
||||
if use vim-syntax ; then
|
||||
insinto /usr/share/vim/vimfiles/syntax
|
||||
doins installer/misc/vim/csound_{csd,orc,sco}.vim
|
||||
insinto /usr/share/vim/vimfiles/plugin
|
||||
doins installer/misc/vim/csound.vim
|
||||
fi
|
||||
|
||||
# rename extract to csound_extract (bug #247394)
|
||||
mv "${ED%/}"/usr/bin/{,csound_}extract || die
|
||||
|
||||
use python && python_optimize
|
||||
|
||||
# install docs
|
||||
if [[ ${PV} != "9999" ]] && use doc ; then
|
||||
dodoc "${WORKDIR}"/*.pdf
|
||||
dodoc -r "${WORKDIR}"/html
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
if [[ -z ${REPLACING_VERSIONS} ]] ; then
|
||||
elog
|
||||
elog "The extract tool is now installed as csound_extract"
|
||||
elog "due to collisions with many other packages (bug #247394)."
|
||||
elog
|
||||
fi
|
||||
}
|
@ -1,19 +0,0 @@
|
||||
--- csound-6.05.0.orig/CMakeLists.txt 2015-04-26 03:06:22.941646148 +0800
|
||||
+++ csound-6.05.0/CMakeLists.txt 2015-07-08 22:31:16.637995822 +0800
|
||||
@@ -41,15 +41,9 @@
|
||||
set(PLUGIN_INSTALL_DIR "${LIBRARY_INSTALL_DIR}/csound/plugins-${APIVERSION}")
|
||||
endif()
|
||||
|
||||
-
|
||||
-execute_process (
|
||||
- COMMAND python -c
|
||||
- "import site, sys; sys.stdout.write(site.getusersitepackages())"
|
||||
- OUTPUT_VARIABLE PYTHON_MODULE_INSTALL_DIR
|
||||
- )
|
||||
-
|
||||
set(JAVA_MODULE_INSTALL_DIR ${LIBRARY_INSTALL_DIR})
|
||||
set(LUA_MODULE_INSTALL_DIR ${LIBRARY_INSTALL_DIR})
|
||||
+set(PYTHON_MODULE_INSTALL_DIR ${REPLACE_ME})
|
||||
set(LOCALE_INSTALL_DIR "share/locale")
|
||||
set(HEADER_INSTALL_DIR "include/csound")
|
||||
|
@ -1,23 +0,0 @@
|
||||
Respect externally set PYTHON_MODULE_INSTALL_DIR.
|
||||
|
||||
--- csound-6.09.1/CMakeLists.txt
|
||||
+++ csound-6.09.1/CMakeLists.txt
|
||||
@@ -218,11 +218,13 @@
|
||||
set(PLUGIN_INSTALL_DIR "${LIBRARY_INSTALL_DIR}/csound/plugins-${APIVERSION}")
|
||||
endif()
|
||||
|
||||
-execute_process (
|
||||
- COMMAND python -c
|
||||
- "import site, sys; sys.stdout.write(site.getusersitepackages())"
|
||||
- OUTPUT_VARIABLE PYTHON_MODULE_INSTALL_DIR
|
||||
- )
|
||||
+if(NOT DEFINED PYTHON_MODULE_INSTALL_DIR)
|
||||
+ execute_process (
|
||||
+ COMMAND python -c
|
||||
+ "import site, sys; sys.stdout.write(site.getusersitepackages())"
|
||||
+ OUTPUT_VARIABLE PYTHON_MODULE_INSTALL_DIR
|
||||
+ )
|
||||
+endif()
|
||||
|
||||
set(JAVA_MODULE_INSTALL_DIR ${LIBRARY_INSTALL_DIR})
|
||||
set(LUA_MODULE_INSTALL_DIR ${LIBRARY_INSTALL_DIR})
|
@ -1,31 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="person">
|
||||
<email>webmaster@gentoostudio.org</email>
|
||||
<name>Gentoo Studio/Damien Moody</name>
|
||||
</maintainer>
|
||||
<use>
|
||||
<flag name="beats">Build the beats score frontend</flag>
|
||||
<flag name="chua">Build the chua opcodes</flag>
|
||||
<flag name="csoundac">Build the CsoundAC extension module</flag>
|
||||
<flag name="double-precision">Use double-precision floating point for audio samples</flag>
|
||||
<flag name="dssi">Build the DSSI opcodes</flag>
|
||||
<flag name="fluidsynth">Build the fluidsynth opcodes</flag>
|
||||
<flag name="image">Build the image opcodes</flag>
|
||||
<flag name="keyboard">Build Virtual MIDI keyboard</flag>
|
||||
<flag name="linear">Build the linear algebra Opcodes</flag>
|
||||
<flag name="luajit">Use the lua just-in-time compiler <pkg>dev-lang/luajit</pkg> instead of <pkg>dev-lang/lua</pkg></flag>
|
||||
<flag name="portmidi">Build the PortMIDI I/O module</flag>
|
||||
<flag name="samples">Install the HRTF datafiles for use with hrtfmove, hrtfmove2, hrtfstat, hrtfearly, and hrtfreverb</flag>
|
||||
<flag name="score">Build the alternative score parser</flag>
|
||||
<flag name="stk">Build the stk opcodes</flag>
|
||||
<flag name="tcl">Build the tcl interface and clients</flag>
|
||||
<flag name="utils">Build stand-alone executables for utilities that can also be used via `csound -U`</flag>
|
||||
<flag name="websocket">Build the websocket opcode</flag>
|
||||
</use>
|
||||
<upstream>
|
||||
<remote-id type="sourceforge">csound</remote-id>
|
||||
<remote-id type="github">csound/csound</remote-id>
|
||||
</upstream>
|
||||
</pkgmetadata>
|
@ -1,3 +0,0 @@
|
||||
DIST fmit-1.0.15.tar.gz 295365 SHA256 3c819e0f0e4e04acdb8b856feff893b000cd47ccb39fb6362ca1a721b19f3fb6 SHA512 44537669391f5043efe35b53d9693f8ab6a151918583d35439c1b29feca4a707225038512c9a2de734ada9e9acb3b4b191b866038edaed9fe8d1fee09c540aac WHIRLPOOL cbb3d76ebfce83b3b9354621e02a645d391782e44c1e469c83a9aa3b615f8fd89ea4f45ce3336c424156735bfc133a07f06ff65fd103568cca7779dc25754d9f
|
||||
EBUILD fmit-1.0.15-r1.ebuild 1543 SHA256 c8dfaf89e4519fd503e87478dc3a58c958a97ad0a6dad5d96aae2136509600b4 SHA512 a588d01afe30233dc744fb3b2675de8ba6f553382bcdda17e5154f9d3964aa7edddbdb8b87bbd00a609c38c4abc7970a1e93ac17fcc190e2b84369fc176db602 WHIRLPOOL d7a92aa58b9c3e6fbf5fcc0cfee72082dd02a46503bcd680234e56cf1f1493be287b80a35ba39fe48b8ce72af17a3291fd4e997ac830e58551cadd357d6426da
|
||||
MISC metadata.xml 446 SHA256 49e82f015e1560620580299e4b55760ea43288d3bb4986b0b2bec95e4ab4b545 SHA512 20d68c6d23c2d5d425dbf1dbac92be80130f11de6067458b9ec36b43c0ca4b2894ebd83b6ff8e9815d4132b56c367de05a59414d0dde350ce6f35da5f65d92ef WHIRLPOOL 5f361c1542aeef760357bb7900cb39929ed05f8e7ee12408a90f76bd42c1383bcf0121cda4643389fb9d1606f658532be8d08f585c960cd1f6088454c6ad1559
|
@ -1,55 +0,0 @@
|
||||
# Copyright 1999-2016 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
inherit qmake-utils
|
||||
|
||||
DESCRIPTION="Free Music Instrument Tuner"
|
||||
HOMEPAGE="https://gillesdegottex.github.io/fmit"
|
||||
SRC_URI="https://github.com/gillesdegottex/fmit/archive/v${PV}.tar.gz \
|
||||
-> ${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-2+ LGPL-2.1"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE="alsa jack oss portaudio"
|
||||
|
||||
RDEPEND=">=sci-libs/fftw-3.3.4:3.0=
|
||||
dev-qt/qtmultimedia:5
|
||||
dev-qt/qtopengl:5
|
||||
dev-qt/qtsvg:5
|
||||
dev-qt/qtcore:5
|
||||
dev-qt/qtgui:5[-gles2]
|
||||
alsa? ( media-libs/alsa-lib )
|
||||
jack? ( virtual/jack )
|
||||
portaudio? ( media-libs/portaudio )"
|
||||
|
||||
DEPEND="${RDEPEND}
|
||||
dev-qt/linguist-tools:5"
|
||||
|
||||
src_prepare() {
|
||||
# Fix the path to readme file to prevent errors on start up
|
||||
sed -i "/QFile readmefile/c\QFile readmefile \
|
||||
(\"/usr/share/doc/${PF}/README.txt\");" \
|
||||
src/main.cpp || die "README sed failed"
|
||||
# Fix the PREFIX location, insert real path.
|
||||
sed -i "/QString fmitprefix/c\QString fmitprefix(STR(/usr));" \
|
||||
src/main.cpp || die "PREFIX fix sed failed"
|
||||
# Fix the PREFIX location, insert real path.
|
||||
sed -i "/QString fmitprefix/c\QString fmitprefix(STR(/usr));" \
|
||||
src/modules/MicrotonalView.cpp || die "PREFIX fix sed failed"
|
||||
default
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local config flag
|
||||
for flag in alsa jack portaudio oss; do
|
||||
use ${flag} && config+=" acs_${flag}"
|
||||
done
|
||||
|
||||
"$(qt5_get_bindir)"/lrelease fmit.pro || die "Running lrelease failed"
|
||||
|
||||
eqmake5 CONFIG+="${config}" fmit.pro PREFIX="${D}"/usr \
|
||||
PREFIXSHORTCUT="${D}"/usr DISTDIR=/usr
|
||||
}
|
@ -1,15 +0,0 @@
|
||||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="person">
|
||||
<email>brendan@horan.hk</email>
|
||||
<name>Brendan Horan</name>
|
||||
</maintainer>
|
||||
<maintainer type="project">
|
||||
<email>proxy-maint@gentoo.org</email>
|
||||
<name>Proxy Maintainers</name>
|
||||
</maintainer>
|
||||
<upstream>
|
||||
<remote-id type="github">gillesdegottex/fmit</remote-id>
|
||||
</upstream>
|
||||
</pkgmetadata>
|
@ -1,3 +0,0 @@
|
||||
DIST gigedit-1.1.0.tar.bz2 903417 SHA256 d18abe98d8bc6ec0d1ac8b8b185a25d7e2454225fcb030f80e19099c4262f720 SHA512 643fcb51ba6dcdb11e0c579726e4f0c715e3fa6779e7e318206af71123a1b7b1cd4cbec29230b0f76f083642b600acd13003398dd95a7fdab021fd9eb1a83d61 WHIRLPOOL 61660f9254e7006eff2c3138bb43a25ddc8b68efa88451ad19f86aaea68f5270df2ebba6c79fd65d76c50a99e1ae8026e8c679c8de330b84b419e57d31796a29
|
||||
EBUILD gigedit-1.1.0.ebuild 888 SHA256 582813c6b471e63b6688da3c615ddcdf0052644cc16ce5a595159c4236ed632e SHA512 d7b94a50001bd816c266db97e58adb9f18a1599b6b27695977f24684a749d0f882bd20a0bb2a38968d2fbaffde63d7353f3d015e3f4e11aa49975e3586de6828 WHIRLPOOL 07fb94e332d53bf0a91ae549bcc736dd39ee47d4407703fea39f5c30ff455d59cf02f31d4dfadb7034e5397dda9b46446da6dad2a3b36329bc6fbcfff8a13458
|
||||
MISC metadata.xml 265 SHA256 f4b44a7cf982517a9b9bc2aacf06bf054570d43a72be03335227df2319104c89 SHA512 96ded3e1ac8bbd67bb069b1d4b293ddf105a2109c23862c6ea47100fbae7bb4c7bfe8e7c1cfb9ac9f4b33ad764ed30105cef29cb0c62ce50e8b165e749c77833 WHIRLPOOL eb6bd461e00c2ba512cf8bc0eb8225a82ebd28bb56e482937bf9a5ff66c24e336a3590438674fc9dd5c02578a35802fed7e914017f9168e08f9465250de63e42
|
@ -1,44 +0,0 @@
|
||||
# Copyright 1999-2012 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=5
|
||||
inherit autotools eutils flag-o-matic
|
||||
|
||||
DESCRIPTION="An instrument editor for gig files"
|
||||
HOMEPAGE="http://www.linuxsampler.org/"
|
||||
SRC_URI="http://download.linuxsampler.org/packages/${P}.tar.bz2"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE=""
|
||||
|
||||
RDEPEND="dev-cpp/gtkmm:3.0
|
||||
>=media-libs/libgig-3.3.0
|
||||
>=media-libs/libsndfile-1.0.2
|
||||
>=media-sound/linuxsampler-2.1.0"
|
||||
DEPEND="${RDEPEND}
|
||||
sys-devel/gettext
|
||||
>=dev-util/intltool-0.35.0
|
||||
virtual/pkgconfig"
|
||||
|
||||
src_prepare() {
|
||||
# Fix linking, bug #540674
|
||||
sed -i -e 's/@LIBS@/@LIBS@ -lsigc-2.0/g' src/gigedit/Makefile.in
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
append-cxxflags -std=c++11
|
||||
econf --disable-static
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# fails with parallel jobs
|
||||
emake -j1
|
||||
}
|
||||
|
||||
src_install() {
|
||||
default
|
||||
prune_libtool_files --modules
|
||||
}
|
@ -1,8 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="project">
|
||||
<email>webmaster@gentoostudio.org</email>
|
||||
<name>Gentoo Studio/Damien Moody</name>
|
||||
</maintainer>
|
||||
</pkgmetadata>
|
@ -1,4 +0,0 @@
|
||||
AUX jack_capture-0.9.70-Makefile.patch 1062 SHA256 75c499b6bcbe932aec7872a047ae5ceb9418e286b89fc45d0fb0a0422df83413 SHA512 64799125d03941c531b1d4bf1a035fd65bbd6b32afc5ddc7d68305a210960a2061998986e6e374db1b4150e8a43df6cd15ea3be4170cd721de6c04e1a29ad219 WHIRLPOOL b9d3dc86c48eae7fe02e179281af2f96886d27721210336b0265d8d710b303b7e4c54769beeed0c2c77cfbac6d84c4d5ce2aac9e89ec1c9c125a4867a640a527
|
||||
DIST jack_capture-0.9.71.tar.gz 59913 SHA256 ba657495c545e96d892fb40bdc5dc2b5d4365b549d6ffddca5230f2b42b99439 SHA512 dcce3849ebbfcaeadd30362b608292d0d389c5f57d26089b520c457cf33b5e23aaade859573dd49e0ae20acd831ec6950ef9e8369cf9fd0823c0b00a2b4a0b7f WHIRLPOOL 36232244b419452d0d350810fde5aed0934fa8b1bc8a3cc384eb356baaf9c3a1279b4394826175f5c8868594d955fa4e660ce1819834ae50999f120e5aef1470
|
||||
EBUILD jack_capture-0.9.71.ebuild 1121 SHA256 16b9154011f4b5bc8b405f5c97210bf576ce49e802d3c82c9acf4390f71a7c98 SHA512 904677b80c27e059794c0fa1651a06e51f8c708be52aec199d0caabdfa6c0fc67365d1e6858373650578f8e52e57106a051ca2a5ef5a547bf1df51643313cb1c WHIRLPOOL 16fac6f4fbedae29e07632080e60a7fc11763052b5a60fe19960765711e9b34ed1a1a6f9512405439c6ec799d04a36a7f1df8fda39beb57864478ce333836219
|
||||
MISC metadata.xml 576 SHA256 00329f317705cd11951f60b8ebd1094a3df6efe8b19cdb4d2101e4889566cfe0 SHA512 f695b80f038714a1dae18555977de6dfe3ef395880c6e805ca44bcfd4c9245f7d31cff5f1ad87d9892c2da445a5842b84612b1b9ec5b6fd4e3e00dfbcb0444c1 WHIRLPOOL f83f0c0b2dd433b274c34133f66e66bbe796b67f8e3799e5d91fcee39808f894ec09c1dd8535c77ecc6db4432836c7d3ff6c436b1fa6d0fc949e3c18f1d4e20d
|
@ -1,38 +0,0 @@
|
||||
--- a/Makefile 2013-04-20 22:52:26.346432555 +0200
|
||||
+++ b/Makefile 2013-04-20 23:03:57.600409761 +0200
|
||||
@@ -3,13 +3,10 @@
|
||||
|
||||
VERSION=0.9.70
|
||||
|
||||
-CC=gcc
|
||||
-CPP=g++
|
||||
+CC ?= gcc
|
||||
+CXX ?= g++
|
||||
|
||||
-OPTIMIZE=-O3
|
||||
-#OPTIMIZE=-O0 -g
|
||||
-
|
||||
-COMPILEFLAGS=$(CFLAGS) $(OPTIMIZE) -DVERSION=\"$(VERSION)\" -Wall -Wextra -Wno-unused
|
||||
+COMPILEFLAGS=$(CFLAGS) -DVERSION=\"$(VERSION)\" -Wall -Wextra -Wno-unused
|
||||
LINKFLAGS=$(LDFLAGS) -ljack -lsndfile -lm -lpthread -lrt
|
||||
|
||||
targets = jack_capture
|
||||
@@ -33,7 +30,7 @@
|
||||
which install
|
||||
which pkg-config
|
||||
which $(CC)
|
||||
- which $(CPP)
|
||||
+ which $(CXX)
|
||||
$(CC) -E testsndfile.c >/dev/null
|
||||
@echo "All seems good "
|
||||
@echo
|
||||
@@ -56,7 +53,7 @@
|
||||
|
||||
|
||||
jack_capture_gui2: jack_capture_gui2.cpp
|
||||
- $(CPP) $(CPPFLAGS) $(OPTIMIZE) jack_capture_gui2.cpp $(LDFLAGS) `pkg-config --libs --cflags gtk+-2.0` -o jack_capture_gui2
|
||||
+ $(CXX) $(CXXFLAGS) jack_capture_gui2.cpp $(LDFLAGS) `pkg-config --libs --cflags gtk+-2.0` -o jack_capture_gui2
|
||||
|
||||
config_flags: Makefile das_config.h
|
||||
cat das_config.h |grep COMPILEFLAGS|sed s/\\/\\/COMPILEFLAGS//|tr '\n' ' ' >config_flags
|
||||
|
@ -1,52 +0,0 @@
|
||||
# Copyright 1999-2016 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: media-sound/jack_capture/jack-capture-9999.ebuild,v 1.2 2015/08/24 Exp $
|
||||
|
||||
EAPI=5
|
||||
RESTRICT="mirror"
|
||||
|
||||
case "${PV}" in
|
||||
(9999*)
|
||||
KEYWORDS=""
|
||||
VCS_ECLASS=git-2
|
||||
EGIT_REPO_URI="git://github.com/kmatheussen/${PN}.git"
|
||||
EGIT_PROJECT="${PN}.git"
|
||||
;;
|
||||
(*)
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
SRC_URI="http://www.notam02.no/arkiv/src/${P}.tar.gz"
|
||||
;;
|
||||
esac
|
||||
inherit base eutils toolchain-funcs ${VCS_ECLASS}
|
||||
|
||||
DESCRIPTION="JACK Recording utility"
|
||||
HOMEPAGE="https://github.com/kmatheussen/jack_capture http://www.notam02.no/arkiv/src"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
IUSE="gtk"
|
||||
|
||||
RDEPEND=">=media-libs/libsndfile-1.0.17
|
||||
virtual/jack
|
||||
gtk? ( x11-libs/gtk+:2 )"
|
||||
DEPEND="${RDEPEND}
|
||||
gtk? ( virtual/pkgconfig )"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}/${PN}-0.9.70-Makefile.patch"
|
||||
)
|
||||
DOCS=( README config )
|
||||
|
||||
src_compile()
|
||||
{
|
||||
tc-export CC CXX
|
||||
emake PREFIX="${EPREFIX}/usr" jack_capture
|
||||
use gtk && emake PREFIX="${EPREFIX}/usr" jack_capture_gui2
|
||||
}
|
||||
|
||||
src_install()
|
||||
{
|
||||
dobin jack_capture
|
||||
use gtk && dobin jack_capture_gui2
|
||||
base_src_install_docs
|
||||
}
|
@ -1,24 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="project">
|
||||
<description>Primary maintainer</description>
|
||||
<email>bar-overlay@noreply.github.com</email>
|
||||
<name>Gentoo Bar Overlay</name>
|
||||
</maintainer>
|
||||
<longdescription lang="en">
|
||||
</longdescription>
|
||||
<use>
|
||||
</use>
|
||||
<!--
|
||||
<upstream>
|
||||
<maintainer status="active">
|
||||
<email></email>
|
||||
</maintainer>
|
||||
<changelog></changelog>
|
||||
<doc lang="en"></doc>
|
||||
<bugs-to></bugs-to>
|
||||
<remote-id type="sourceforge"></remote-id>
|
||||
</upstream>
|
||||
-->
|
||||
</pkgmetadata>
|
@ -1,5 +0,0 @@
|
||||
AUX notest.patch 1545 SHA256 e82867f09a9396d890df3fef53f35fe443ee8624fb95e203822cda3f6ee11e60 SHA512 c3e9fbb8f1844d9faa35b318ffebfe6c64672f329ac584a101bf1e3c5736916666e7c100863de7db50f89b8f98b8a2e267e82e4aad457cbbaa875da0322bb0f6 WHIRLPOOL 51796ce1ab7f1add3d404349721121698d4237ad65109e1292bbf3a568720e604c51eab0ef20e9724bf83be9fc1c8116c141ba2e39cc6a02de5e3f5e372d2483
|
||||
AUX piper.capnp 19756 SHA256 925234658b06e39ca4f5d13ef7310813366cb4c48bd56a2b3c369d6784d0d7a8 SHA512 c520116c978f8abbc747d3a465c006ec800cf1dd5f8f96f7c5879d88ae81fcc09f3a2640f9212b74f41f5b28269a17f35aac3521be946c66b599419c39a95720 WHIRLPOOL b8bd038322f0f204f5fa785936999250a893eb8b353d08f9b046f60ab275d79839a231c38d9a5c64705fcf40be5fad85dbce26618fb41360d2d5b45dcf3452d9
|
||||
DIST sonic-visualiser-3.0.3.tar.gz 5127931 SHA256 bed25e6f88ddc110e4a59e4fed05be4ea026126369d50f17c896c7defef49f87 SHA512 845cc92231f6c8eec24e4f583d1a736042ecfa73b7a7c401efb3d6e26050657851b1672043482ebc78dd19ded0e6aee6f930165e6410330eafaa08e0d4a50aa1 WHIRLPOOL 1ffc7bb4dd8121ace679a14b5c6ebfa3697609bc6b1ae8031cfe4be596df55558423200e81ddd3ae81b2acf1169328352ecf9266199beba85df2b9224dc33eb9
|
||||
EBUILD sonic-visualiser-3.0.3.ebuild 2622 SHA256 ebcf23653131d44b26f606d69a348ac6ce3f743ac8407919cfa4977ca024e2cb SHA512 e224ec9f9efc5977d0dfd0a261a8317542ec9849601eb7c17bcf952fceff559b08d65860828ed9c89a16e4d0dec56e6e6e0b177142aaf719c1b8d233710c2da8 WHIRLPOOL 31e3d88345e7fcdc67c0aaa74441375504a66beb8f5b79633c4f8273c6da8a5ce25f5853b0231719f40e02360bd305147b9f49d15046894e508af41f78b1c562
|
||||
MISC metadata.xml 362 SHA256 e012ee885f258c3240ddbbd80ceb50c39605d2c3be94767ee95864a9cb889b20 SHA512 b399cff2a9f18d3c172761302c8f8f75f59699e9ea875115290eed35e29d9b7da571fe53bf5f26ea6a1a0e1dd82ec74c95a8d89bb3cedc9d57de67690f617ba7 WHIRLPOOL 731b43c52c763d17d2c13ef1fac10d14cd95a22d51a193086f2ff87903f7a1a10e9716cd2562b4fdd5fd2b5fe657fceb7511aec8a32363f56cf5a346d4372968
|
@ -1,33 +0,0 @@
|
||||
Index: sonic-visualiser-3.0.2/test-svcore-base.pro
|
||||
===================================================================
|
||||
--- sonic-visualiser-3.0.2.orig/test-svcore-base.pro
|
||||
+++ sonic-visualiser-3.0.2/test-svcore-base.pro
|
||||
@@ -28,6 +28,3 @@ include(svcore/base/test/files.pri)
|
||||
for (file, TEST_SOURCES) { SOURCES += $$sprintf("svcore/base/test/%1", $$file) }
|
||||
for (file, TEST_HEADERS) { HEADERS += $$sprintf("svcore/base/test/%1", $$file) }
|
||||
|
||||
-!win32* {
|
||||
- QMAKE_POST_LINK = ./$${TARGET}
|
||||
-}
|
||||
Index: sonic-visualiser-3.0.2/test-svcore-data-fileio.pro
|
||||
===================================================================
|
||||
--- sonic-visualiser-3.0.2.orig/test-svcore-data-fileio.pro
|
||||
+++ sonic-visualiser-3.0.2/test-svcore-data-fileio.pro
|
||||
@@ -28,6 +28,3 @@ include(svcore/data/fileio/test/files.pr
|
||||
for (file, TEST_SOURCES) { SOURCES += $$sprintf("svcore/data/fileio/test/%1", $$file) }
|
||||
for (file, TEST_HEADERS) { HEADERS += $$sprintf("svcore/data/fileio/test/%1", $$file) }
|
||||
|
||||
-!win32* {
|
||||
- QMAKE_POST_LINK = ./$${TARGET}
|
||||
-}
|
||||
Index: sonic-visualiser-3.0.2/test-svcore-data-model.pro
|
||||
===================================================================
|
||||
--- sonic-visualiser-3.0.2.orig/test-svcore-data-model.pro
|
||||
+++ sonic-visualiser-3.0.2/test-svcore-data-model.pro
|
||||
@@ -28,6 +28,3 @@ include(svcore/data/model/test/files.pri
|
||||
for (file, TEST_SOURCES) { SOURCES += $$sprintf("svcore/data/model/test/%1", $$file) }
|
||||
for (file, TEST_HEADERS) { HEADERS += $$sprintf("svcore/data/model/test/%1", $$file) }
|
||||
|
||||
-!win32* {
|
||||
- QMAKE_POST_LINK = ./$${TARGET}
|
||||
-}
|
@ -1,364 +0,0 @@
|
||||
|
||||
# Piper audio feature extraction: schema for low-level operation
|
||||
#
|
||||
# This file is formatted to 130 characters width, in order to fit the
|
||||
# comments next to the schema definitions.
|
||||
#
|
||||
# Copyright (c) 2015-2017 Queen Mary, University of London, provided
|
||||
# under a BSD-style licence. See the file COPYING for details.
|
||||
|
||||
@0xc4b1c6c44c999206;
|
||||
|
||||
using Cxx = import "/capnp/c++.capnp";
|
||||
$Cxx.namespace("piper");
|
||||
|
||||
struct Basic {
|
||||
# Basic metadata common to many Piper structures.
|
||||
|
||||
identifier @0 :Text; # A computer-readable string. Must match the regex /^[a-zA-Z0-9_-]+$/.
|
||||
name @1 :Text; # A short human-readable name or label. Must be present.
|
||||
description @2 :Text; # An optional human-readable descriptive text that may accompany the name.
|
||||
}
|
||||
|
||||
struct ParameterDescriptor {
|
||||
# Properties of an adjustable parameter. A parameter's value is just a single
|
||||
# float, but the descriptor explains how to interpret and present that value.
|
||||
# A Piper feature extractor has a static list of parameters. The properties of
|
||||
# a given parameter never change, in contrast to output descriptors, which
|
||||
# may have different properties depending on the configuration of the extractor.
|
||||
|
||||
basic @0 :Basic; # Basic metadata about the parameter.
|
||||
unit @1 :Text; # Human-recognisable unit of the parameter (e.g. Hz). May be left empty.
|
||||
minValue @2 :Float32 = 0.0; # Minimum value. Must be provided.
|
||||
maxValue @3 :Float32 = 0.0; # Maximum value. Must be provided.
|
||||
defaultValue @4 :Float32 = 0.0; # Default if the parameter is not set to anything else. Must be provided.
|
||||
isQuantized @5 :Bool = false; # True if parameter values are quantized to a particular resolution.
|
||||
quantizeStep @6 :Float32 = 0.0; # Quantization resolution, if isQuantized.
|
||||
valueNames @7 :List(Text) = []; # Optional human-readable labels for the values, if isQuantized.
|
||||
}
|
||||
|
||||
enum SampleType {
|
||||
# How returned features are spaced on the input timeline.
|
||||
|
||||
oneSamplePerStep @0; # Each process input returns a feature aligned with that input's timestamp.
|
||||
fixedSampleRate @1; # Features are equally spaced at a given sample rate.
|
||||
variableSampleRate @2; # Features have their own individual timestamps.
|
||||
}
|
||||
|
||||
struct StaticOutputDescriptor {
|
||||
|
||||
# Properties of an output, that is, a single stream of features
|
||||
# produced in response to process and finish requests. A feature
|
||||
# extractor may have any number of outputs, and it always
|
||||
# calculates and returns features from all of them when
|
||||
# processing; this is useful in cases where more than one feature
|
||||
# can be easily calculated using a single method.
|
||||
#
|
||||
# This structure contains the properties of an output that are
|
||||
# static, i.e. that do not depend on the parameter values provided
|
||||
# at configuration, excluding the Basic struct parameters like id
|
||||
# and description. The Basic struct properties are not included
|
||||
# for historical reasons: they were already referenced separately
|
||||
# in the OutputDescriptor and ExtractorStaticData before this
|
||||
# struct was introduced.
|
||||
|
||||
typeURI @0 :Text; # URI indicating the sort of feature that this output returns (see docs).
|
||||
}
|
||||
|
||||
struct ConfiguredOutputDescriptor {
|
||||
# Properties of an output, that is, a single stream of features produced
|
||||
# in response to process and finish requests. A feature extractor may
|
||||
# have any number of outputs, and it always calculates and returns features
|
||||
# from all of them when processing; this is useful in cases where more
|
||||
# than one feature can be easily calculated using a single method.
|
||||
# This structure contains the properties of an output that are not static,
|
||||
# i.e. that may depend on the parameter values provided at configuration.
|
||||
|
||||
unit @0 :Text; # Human-recognisable unit of the bin values in output features. May be empty.
|
||||
hasFixedBinCount @1 :Bool = false; # True if this output has an equal number of values in each returned feature.
|
||||
binCount @2 :Int32 = 0; # Number of values per feature for this output, if hasFixedBinCount.
|
||||
binNames @3 :List(Text) = []; # Optional human-readable labels for the value bins, if hasFixedBinCount.
|
||||
hasKnownExtents @4 :Bool = false; # True if all feature values fall within the same fixed min/max range.
|
||||
minValue @5 :Float32 = 0.0; # Minimum value in range for any value from this output, if hasKnownExtents.
|
||||
maxValue @6 :Float32 = 0.0; # Maximum value in range for any value from this output, if hasKnownExtents.
|
||||
isQuantized @7 :Bool = false; # True if feature values are quantized to a particular resolution.
|
||||
quantizeStep @8 :Float32 = 0.0; # Quantization resolution, if isQuantized.
|
||||
sampleType @9 :SampleType; # How returned features from this output are spaced on the input timeline.
|
||||
sampleRate @10 :Float32 = 0.0; # Sample rate (features per second) if sampleType == fixedSampleRate.
|
||||
hasDuration @11 :Bool = false; # True if features returned from this output will have a duration.
|
||||
}
|
||||
|
||||
struct OutputDescriptor {
|
||||
# All the properties of an output, both static (the basic metadata and static
|
||||
# descriptor) and potentially dependent on configuration parameters (the
|
||||
# configured descriptor).
|
||||
|
||||
basic @0 :Basic; # Basic metadata about the output.
|
||||
configured @1 :ConfiguredOutputDescriptor; # Properties of the output that may depend on configuration parameters.
|
||||
static @2 :StaticOutputDescriptor; # Properties (other than Basic) that do not depend on parameters.
|
||||
}
|
||||
|
||||
enum InputDomain {
|
||||
# Whether a feature extractor requires time-domain audio input (i.e.
|
||||
# "normal" or "unprocessed" audio samples) or frequency-domain input
|
||||
# (i.e. resulting from windowed, usually overlapping, short-time
|
||||
# Fourier transforms).
|
||||
|
||||
timeDomain @0; # The plugin requires time-domain audio samples as input.
|
||||
frequencyDomain @1; # The plugin requires input to have been pre-processed using windowed STFTs.
|
||||
}
|
||||
|
||||
struct ExtractorStaticData {
|
||||
# Static properties of a feature extractor. That is, metadata about the
|
||||
# extractor that are the same regardless of how you configure or run it.
|
||||
|
||||
key @0 :Text; # String that "globally" identifies the extractor, used to load it (see docs).
|
||||
basic @1 :Basic; # Basic metadata about the extractor.
|
||||
maker @2 :Text; # Human-readable text naming the author or vendor of the extractor.
|
||||
rights @3 :Text; # Human-readable summary of copyright and/or licensing terms for the extractor.
|
||||
version @4 :Int32; # Version number of extractor; must increase if new algorithm changes results.
|
||||
category @5 :List(Text); # List of general->specific category labels for this extractor (see docs).
|
||||
minChannelCount @6 :Int32; # Minimum number of input channels of audio this extractor can accept.
|
||||
maxChannelCount @7 :Int32; # Maximum number of input channels of audio this extractor can accept.
|
||||
parameters @8 :List(ParameterDescriptor); # List of configurable parameter properties for the feature extractor.
|
||||
programs @9 :List(Text); # List of predefined programs. For backward-compatibility, not recommended.
|
||||
inputDomain @10 :InputDomain; # Whether the extractor requires time-domain or frequency-domain input audio.
|
||||
basicOutputInfo @11 :List(Basic); # Basic metadata about all of the outputs of the extractor.
|
||||
|
||||
struct SOPair {
|
||||
# A mapping between output identifier and static descriptor for
|
||||
# that output.
|
||||
|
||||
output @0 :Text; # Output id, matching the output's descriptor's basic identifier.
|
||||
static @1 :StaticOutputDescriptor;
|
||||
}
|
||||
|
||||
staticOutputInfo @12 :List(SOPair); # Static descriptors for all outputs that have any static metadata.
|
||||
}
|
||||
|
||||
struct RealTime {
|
||||
# Time structure. When used as a timestamp, this is relative to "start
|
||||
# of audio".
|
||||
|
||||
sec @0 :Int32 = 0; # Number of seconds.
|
||||
nsec @1 :Int32 = 0; # Number of nanoseconds. Must have same sign as sec unless sec == 0.
|
||||
}
|
||||
|
||||
struct ProcessInput {
|
||||
# Audio and timing input data provided to a process request.
|
||||
|
||||
inputBuffers @0 :List(List(Float32)); # A single block of audio data (time or frequency domain) for each channel.
|
||||
timestamp @1 :RealTime; # Time of start of block (time-domain) or "centre" of it (frequency-domain).
|
||||
}
|
||||
|
||||
struct Feature {
|
||||
# A single feature calculated and returned from a process or finish request.
|
||||
|
||||
hasTimestamp @0 :Bool = false; # True if feature has a timestamp. Must be true for a variableSampleRate output.
|
||||
timestamp @1 :RealTime; # Timestamp of feature, if hasTimestamp.
|
||||
hasDuration @2 :Bool = false; # True if feature has a duration. Must be true if output's hasDuration is true.
|
||||
duration @3 :RealTime; # Duration of feature, if hasDuration.
|
||||
label @4 :Text; # Optional human-readable text attached to feature.
|
||||
featureValues @5 :List(Float32) = []; # The feature values themselves (of size binCount, if output hasFixedBinCount).
|
||||
}
|
||||
|
||||
struct FeatureSet {
|
||||
# The set of all features, across all outputs, calculated and returned from
|
||||
# a single process or finish request.
|
||||
|
||||
struct FSPair {
|
||||
# A mapping between output identifier and ordered list of features for
|
||||
# that output.
|
||||
|
||||
output @0 :Text; # Output id, matching the output's descriptor's basic identifier.
|
||||
features @1 :List(Feature) = []; # Features calculated for that output during the current request, in time order.
|
||||
}
|
||||
|
||||
featurePairs @0 :List(FSPair); # The feature lists for all outputs for which any features have been calculated.
|
||||
}
|
||||
|
||||
struct Framing {
|
||||
# Determines how audio should be split up into individual buffers for input.
|
||||
# If the feature extractor accepts frequency-domain input, then this
|
||||
# applies prior to the STFT transform.
|
||||
#
|
||||
# These values are sometimes mandatory, but in other contexts one or both may
|
||||
# be set to zero to mean "don't care". See documentation for structures that
|
||||
# include a framing field for details.
|
||||
|
||||
blockSize @0 :Int32; # Number of time-domain audio samples per buffer (on each channel).
|
||||
stepSize @1 :Int32; # Number of samples to advance between buffers: equals blockSize for no overlap.
|
||||
}
|
||||
|
||||
struct Configuration {
|
||||
# Bundle of parameter values and other configuration data for a feature-
|
||||
# extraction procedure.
|
||||
|
||||
struct PVPair {
|
||||
# A mapping between parameter identifier and value.
|
||||
|
||||
parameter @0 :Text; # Parameter id, matching the parameter's descriptor's basic identifier.
|
||||
value @1 :Float32; # Value to set parameter to (within constraints given in parameter descriptor).
|
||||
}
|
||||
|
||||
parameterValues @0 :List(PVPair); # Values for all parameters, or at least any that are to change from defaults.
|
||||
currentProgram @1 :Text; # Selection of predefined program. For backward-compatibility, not recommended.
|
||||
channelCount @2 :Int32; # Number of audio channels of input.
|
||||
framing @3 :Framing; # Step and block size for framing the input.
|
||||
}
|
||||
|
||||
enum AdapterFlag {
|
||||
# Flags that may be used when requesting a server to load a feature
|
||||
# extractor, to ask the server to do some of the work of framing and input
|
||||
# conversion instead of leaving it to the client side. These affect the
|
||||
# apparent behaviour of the loaded extractor.
|
||||
|
||||
adaptInputDomain @0; # Input-domain conversion, so the extractor always expects time-domain input.
|
||||
adaptChannelCount @1; # Channel mixing or duplication, so any number of input channels is acceptable.
|
||||
adaptBufferSize @2; # Framing, so the extractor accepts any blockSize of non-overlapping buffers.
|
||||
}
|
||||
|
||||
const adaptAllSafe :List(AdapterFlag) =
|
||||
[ adaptInputDomain, adaptChannelCount ];
|
||||
# The set of adapter flags that can always be applied, leaving results unchanged.
|
||||
|
||||
const adaptAll :List(AdapterFlag) =
|
||||
[ adaptInputDomain, adaptChannelCount, adaptBufferSize ];
|
||||
# The set of adapter flags that may cause "equivalent" results to be returned (see documentation).
|
||||
|
||||
struct ListRequest {
|
||||
# Request a server to provide a list of available feature extractors.
|
||||
|
||||
from @0 :List(Text); # If non-empty, provide only extractors found in the given list of "libraries".
|
||||
}
|
||||
|
||||
struct ListResponse {
|
||||
# Response to a successful list request.
|
||||
|
||||
available @0 :List(ExtractorStaticData); # List of static data about available feature extractors.
|
||||
}
|
||||
|
||||
struct LoadRequest {
|
||||
# Request a server to load a feature extractor and return a handle to it.
|
||||
|
||||
key @0 :Text; # Key as found in the extractor's static data structure.
|
||||
inputSampleRate @1 :Float32; # Sample rate for input audio. Properties of the extractor may depend on this.
|
||||
adapterFlags @2 :List(AdapterFlag); # Set of optional flags to make any framing and input conversion requests.
|
||||
}
|
||||
|
||||
struct LoadResponse {
|
||||
# Response to a successful load request.
|
||||
|
||||
handle @0 :Int32; # Handle to be used to refer to the loaded feature extractor in future requests.
|
||||
staticData @1 :ExtractorStaticData; # Static data about this feature extractor, identical to that in list response.
|
||||
defaultConfiguration @2 :Configuration; # Extractor's default parameter values and preferred input framing.
|
||||
}
|
||||
|
||||
struct ConfigurationRequest {
|
||||
# Request a server to configure a loaded feature extractor and prepare
|
||||
# it for use. This request must be carried out on a feature extractor
|
||||
# before any process request can be made.
|
||||
|
||||
handle @0 :Int32; # Handle as returned in the load response from the loading of this extractor.
|
||||
configuration @1 :Configuration; # Bundle of parameter values to set, and client's preferred input framing.
|
||||
}
|
||||
|
||||
struct ConfigurationResponse {
|
||||
# Response to a successful configuration request.
|
||||
|
||||
handle @0 :Int32; # Handle of extractor, as passed in the configuration request.
|
||||
outputs @1 :List(OutputDescriptor); # Full set of properties of all outputs following configuration.
|
||||
framing @2 :Framing; # Input framing that must be used for subsequent process requests.
|
||||
}
|
||||
|
||||
struct ProcessRequest {
|
||||
# Request a server to process a buffer of audio using a loaded and
|
||||
# configured feature extractor.
|
||||
|
||||
handle @0 :Int32; # Handle as returned in the load response from the loading of this extractor.
|
||||
processInput @1 :ProcessInput; # Audio in the input domain, with framing as in the configuration response.
|
||||
}
|
||||
|
||||
struct ProcessResponse {
|
||||
# Response to a successful process request.
|
||||
|
||||
handle @0 :Int32; # Handle of extractor, as passed in the process request.
|
||||
features @1 :FeatureSet; # All features across all outputs calculated during this process request.
|
||||
}
|
||||
|
||||
struct FinishRequest {
|
||||
# Request a server to finish processing and unload a loaded feature
|
||||
# extractor. This request may be made at any time -- the extractor does
|
||||
# not have to have been configured or used. The extractor handle cannot
|
||||
# be used again with this server afterwards.
|
||||
|
||||
handle @0 :Int32; # Handle as returned in the load response from the loading of this extractor.
|
||||
}
|
||||
|
||||
struct FinishResponse {
|
||||
# Response to a successful finish request.
|
||||
|
||||
handle @0 :Int32; # Handle of extractor, as passed in the finish request. May not be used again.
|
||||
features @1 :FeatureSet; # Features the extractor has calculated now that it knows all input has ended.
|
||||
}
|
||||
|
||||
struct Error {
|
||||
# Response to any request that fails.
|
||||
|
||||
code @0 :Int32; # Error code.
|
||||
message @1 :Text; # Error message.
|
||||
}
|
||||
|
||||
struct RpcRequest {
|
||||
# Request bundle for use when using Cap'n Proto serialisation without
|
||||
# Cap'n Proto RPC layer. For Cap'n Proto RPC, see piper.rpc.capnp.
|
||||
|
||||
id :union {
|
||||
# Identifier used solely to associate a response packet with its
|
||||
# originating request. Server does not examine the contents of this,
|
||||
# it just copies the request id structure into the response.
|
||||
|
||||
number @0 :Int32;
|
||||
tag @1 :Text;
|
||||
none @2 :Void;
|
||||
}
|
||||
|
||||
request :union {
|
||||
# For more details, see the documentation for the individual
|
||||
# request structures.
|
||||
|
||||
list @3 :ListRequest; # Provide a list of available feature extractors.
|
||||
load @4 :LoadRequest; # Load a feature extractor and return a handle to it.
|
||||
configure @5 :ConfigurationRequest; # Configure a loaded feature extractor, set parameters, and prepare it for use.
|
||||
process @6 :ProcessRequest; # Process a single fixed-size buffer of audio and return calculated features.
|
||||
finish @7 :FinishRequest; # Get any remaining features and unload the extractor.
|
||||
}
|
||||
}
|
||||
|
||||
struct RpcResponse {
|
||||
# Response bundle for use when using Cap'n Proto serialisation without
|
||||
# Cap'n Proto RPC layer. For Cap'n Proto RPC, see piper.rpc.capnp.
|
||||
|
||||
id :union {
|
||||
# Identifier used solely to associate a response packet with its
|
||||
# originating request. Server does not examine the contents of this,
|
||||
# it just copies the request id structure into the response.
|
||||
|
||||
number @0 :Int32;
|
||||
tag @1 :Text;
|
||||
none @2 :Void;
|
||||
}
|
||||
|
||||
response :union {
|
||||
# For more details, see the documentation for the individual
|
||||
# response structures.
|
||||
|
||||
error @3 :Error; # The request (of whatever type) failed.
|
||||
list @4 :ListResponse; # List succeeded: here is static data about the requested extractors.
|
||||
load @5 :LoadResponse; # Load succeeded: here is a handle for the loaded extractor.
|
||||
configure @6 :ConfigurationResponse;# Configure succeeded: ready to process, here are values such as block size.
|
||||
process @7 :ProcessResponse; # Process succeeded: here are all features calculated from this input block.
|
||||
finish @8 :FinishResponse; # Finish succeeded: extractor unloaded, here are all remaining features.
|
||||
}
|
||||
}
|
||||
|
@ -1,11 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="person">
|
||||
<email>webmaster@gentoostudio.org</email>
|
||||
<name>Gentoo Studio/Damien Moody</name>
|
||||
</maintainer>
|
||||
<use>
|
||||
<flag name="id3tag">Enables ID3 tagging with id3tag library</flag>
|
||||
</use>
|
||||
</pkgmetadata>
|
@ -1,110 +0,0 @@
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
inherit eutils qmake-utils autotools xdg-utils
|
||||
|
||||
DESCRIPTION="Music audio files viewer and analiser"
|
||||
HOMEPAGE="http://www.sonicvisualiser.org/"
|
||||
SRC_URI="https://code.soundsoftware.ac.uk/attachments/download/2246/${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE="id3tag jack mad ogg osc +portaudio pulseaudio"
|
||||
|
||||
RDEPEND="dev-qt/qtcore:5
|
||||
dev-qt/qtgui:5
|
||||
dev-qt/qtxml:5
|
||||
dev-qt/qtwidgets:5
|
||||
dev-qt/qtnetwork:5
|
||||
dev-qt/qtsvg:5
|
||||
media-libs/libsndfile
|
||||
media-libs/libsamplerate
|
||||
app-arch/bzip2
|
||||
>=media-libs/dssi-0.9.1
|
||||
media-libs/liblrdf
|
||||
media-libs/ladspa-sdk
|
||||
media-libs/speex
|
||||
>=media-libs/vamp-plugin-sdk-2.0
|
||||
media-libs/rubberband
|
||||
dev-libs/sord
|
||||
dev-libs/serd
|
||||
sci-libs/fftw:3.0
|
||||
>=dev-libs/capnproto-0.6:=
|
||||
osc? ( media-libs/liblo )
|
||||
portaudio? ( >=media-libs/portaudio-19_pre20071207 )
|
||||
jack? ( virtual/jack )
|
||||
mad? ( media-libs/libmad )
|
||||
id3tag? ( media-libs/libid3tag )
|
||||
ogg? ( media-libs/libfishsound >=media-libs/liboggz-1.1.0 )
|
||||
pulseaudio? ( media-sound/pulseaudio )"
|
||||
|
||||
DEPEND="${RDEPEND}
|
||||
dev-qt/qttest:5
|
||||
virtual/pkgconfig"
|
||||
|
||||
REQUIRED_USE="|| ( jack pulseaudio portaudio )"
|
||||
|
||||
sv_disable_opt() {
|
||||
einfo "Disabling $1"
|
||||
for i in . svapp svcore svgui ; do
|
||||
sed -i -e "/$1/d" "${S}/$i/configure.ac" || die "failed to remove $1 support"
|
||||
done
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
epatch "${FILESDIR}/notest.patch"
|
||||
|
||||
use id3tag || sv_disable_opt id3tag
|
||||
use jack || sv_disable_opt jack
|
||||
use mad || sv_disable_opt mad
|
||||
use ogg || sv_disable_opt fishsound
|
||||
use ogg || sv_disable_opt oggz
|
||||
use osc || sv_disable_opt liblo
|
||||
use portaudio || sv_disable_opt portaudio
|
||||
use pulseaudio || sv_disable_opt libpulse
|
||||
|
||||
eautoreconf
|
||||
|
||||
# Those need to be regenerated as they must match current capnproto version
|
||||
einfo "Regenerating piper capnproto files"
|
||||
rm -f piper-cpp/vamp-capnp/piper.capnp.* || die
|
||||
mkdir -p piper/capnp || die
|
||||
cp "${FILESDIR}/piper.capnp" piper/capnp/ || die
|
||||
cd piper-cpp
|
||||
emake vamp-capnp/piper.capnp.h
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
export QMAKE="$(qt5_get_bindir)"/qmake
|
||||
econf
|
||||
eqmake5 -r sonic-visualiser.pro
|
||||
}
|
||||
|
||||
src_test() {
|
||||
for i in test-svcore-base test-svcore-data-fileio test-svcore-data-model ; do
|
||||
einfo "Running ${i}"
|
||||
./${i} || die
|
||||
done
|
||||
}
|
||||
|
||||
src_install() {
|
||||
dobin ${PN} piper-vamp-simple-server piper-convert vamp-plugin-load-checker
|
||||
dodoc README*
|
||||
#install samples
|
||||
insinto /usr/share/${PN}/samples
|
||||
doins samples/*
|
||||
# desktop entry
|
||||
doicon icons/sv-icon.svg
|
||||
domenu *.desktop
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
xdg_desktop_database_update
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
xdg_desktop_database_update
|
||||
}
|
@ -1,3 +0,0 @@
|
||||
DIST openshot-qt-2.4.2.tar.gz 60968389 BLAKE2B 403c612c2f6560dfdea8a5380f534ffb3ee775e7473fc72aa75dadcb9794deeadd2d55b0acd36d0a9fa6972c7e00250f095f4c4b934ffdc98dbc36d46fac8e3e SHA512 310f0d9ca13c00789b390435922413083d4aa47a7da584a83bc88f21acf4788947f16e9f4858484bc43f01dd559a363e203fcadd7392107214c114351a4b14d9
|
||||
EBUILD openshot-2.4.2.ebuild 1280 BLAKE2B e623058986efdcba4a4b7dbb71da1f0362ea799d26b9a2921be3451d7b2cd1686d0e42c5c831be205b28d1fd15518debc3f66e3c395625338bc965bcdc392bb2 SHA512 865c0062a3bc72a1b23fa048725bbe9729c59be7af0196afa6b47a185343300d9927d278472922e1288e1d04aad74ce16f8201faacb83fa6767d09bafa75f2d4
|
||||
MISC metadata.xml 487 BLAKE2B dc721eeb1c4ab6880cd9a5cc1c8c0a032303f0c56ff4312f723c364978b4338e3acaecc887a5617e1d691d69bb3415d92dd9cc812da161f303f33381422f7e42 SHA512 3b1dc5bc39de8b46ccea5497b228675c7d379ec627e12630d8914d9d35e316f4818bc165551dd271b24d377b3bcc2b97d528b43219765460058d123bde078149
|
@ -1,11 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<!-- maintainer-needed -->
|
||||
<longdescription>Free, open-source, non-linear video editor to create and edit videos and movies</longdescription>
|
||||
<upstream>
|
||||
<remote-id type="launchpad">openshot</remote-id>
|
||||
<remote-id type="github">OpenShot/openshot-qt</remote-id>
|
||||
<bugs-to>https://github.com/OpenShot/openshot-qt/issues</bugs-to>
|
||||
</upstream>
|
||||
</pkgmetadata>
|
@ -1,52 +0,0 @@
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
PYTHON_REQ_USE=xml
|
||||
PYTHON_COMPAT=( python3_{4,5,6} )
|
||||
DISTUTILS_SINGLE_IMPL=1
|
||||
|
||||
inherit distutils-r1 gnome2-utils versionator xdg-utils
|
||||
|
||||
MY_PN="${PN}-qt"
|
||||
MY_P="${MY_PN}-${PV}"
|
||||
|
||||
DESCRIPTION="Free, open-source, non-linear video editor to create and edit videos and movies"
|
||||
HOMEPAGE="https://www.openshot.org/ https://launchpad.net/openshot"
|
||||
SRC_URI="https://launchpad.net/${PN}/$(get_version_component_range 1-2)/${PV}/+download/${MY_P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-3+"
|
||||
SLOT="1"
|
||||
KEYWORDS="amd64 x86"
|
||||
|
||||
RDEPEND="
|
||||
dev-python/httplib2[${PYTHON_USEDEP}]
|
||||
dev-python/PyQt5[${PYTHON_USEDEP},svg,webkit]
|
||||
dev-python/pyzmq[${PYTHON_USEDEP}]
|
||||
dev-python/requests[${PYTHON_USEDEP}]
|
||||
>=media-libs/libopenshot-0.1.8[python,${PYTHON_USEDEP}]
|
||||
"
|
||||
DEPEND="
|
||||
dev-python/setuptools[${PYTHON_USEDEP}]
|
||||
"
|
||||
|
||||
S="${WORKDIR}"
|
||||
|
||||
python_prepare_all() {
|
||||
distutils-r1_python_prepare_all
|
||||
# prevent setup.py from trying to update MIME databases
|
||||
sed -i 's/^ROOT =.*/ROOT = False/' setup.py || die
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
xdg_desktop_database_update
|
||||
xdg_mimeinfo_database_update
|
||||
gnome2_icon_cache_update
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
xdg_desktop_database_update
|
||||
xdg_mimeinfo_database_update
|
||||
gnome2_icon_cache_update
|
||||
}
|
@ -1,8 +0,0 @@
|
||||
AUX rt-sources-posix-printf.patch 1705 BLAKE2B b1b61b66a07a8a6b32b4ebe9a65b7b8aebef480fde9a8cf921880bc01be92046423f4e2eb2dce3f1b78bd79c45ebb1b5de954683433f392f22e2c9f728f6882b SHA512 4f9fa773327103d061ced793192258fa20d0321681aeb89c9bf7dec744e37156e1cf8aeb7cdaefeb869d5585efeb3e1598d9c80fecc26155d6ea3f2b8947c239
|
||||
DIST deblob-4.9 146273 BLAKE2B 8bc593ca375e003183dc6260aab0b2f81675b0814ec50fae3afe5d4ce9ce41c1c1401ce80e1c285153f610f8f730f82d6ad03e2578c792fd4af8779f2d1e3079 SHA512 3654b28e72b343bafdb38de10ef0c3621db0539bc0e7434bc99bb8f8ed911d4c9e53ca4785fd193fcfec369328f014fa5c6f3bda51b6f1a8f98b8c37ece119a6
|
||||
DIST deblob-check-4.9 717834 BLAKE2B f2471b45f6953ce83c0819b9157ce638a1d93959ec4074a329766ecb0c3adf90fd3022307ea70c2cb3bd3c291f98d6153576cc6597c62ca97abae6524b98112e SHA512 46258698f1c574b44a8c5c78cc2b7fdbaca746976266974ee0f6787904531754b17ad15d542b68e07d4633ee91a8e2d9c32a991ea214292ac072c4f26deed9c9
|
||||
DIST linux-4.9.tar.xz 93192404 BLAKE2B 83ae310b17d47f1f18d6d28537c31e10f3e60458c5954c4611158ca99e71cc0da2e051272eabf27d5887df4a7cb4a5dd66ff993077c11d2221e92d300a0b48d7 SHA512 bf67ff812cc3cb7e5059e82cc5db0d9a7c5637f7ed9a42e4730c715bf7047c81ed3a571225f92a33ef0b6d65f35595bc32d773356646df2627da55e9bc7f1f1a
|
||||
DIST patch-4.9.76-rt61.patch.xz 173748 BLAKE2B 6f6adb72b4e906a4c2f3e3898c3b588bbaf9675a79978716695a88d6eae3ac3e66929c2b46a566e912972d5587f85f23d177bbba4c1ba89f2692fbe026feb2af SHA512 cc28f677ef1a92f4a4547f3858c324f3f57fad263101f3c3f45f52fe865212cf48fc8a1386266536f19645771e67a130ff417cd5ef8d8599c93648ca0840bd1f
|
||||
DIST patch-4.9.76.xz 1344536 BLAKE2B 29aeb93bb0db62b95a0b2e974869032e5622ce7ed7e0c54cc8ed69cca171e6882a5547beca839a355829cdf6ef21bb3f8a4bd35662ab930638fe37d0d29ebcd1 SHA512 57d98aa04f01a7ff550885b42cbd115b81234994005378bace5d984dfec232039934c64bff14fd88a5ba962c6dacf5b408173cccf551eb1195f0be980bb41090
|
||||
EBUILD rt-sources-4.9.76_p61.ebuild 1512 BLAKE2B 24f5d5076b7ffabc8463ef1d473479cc03d505101e49d36d12ec3a36ac2bea420f4a1c78dba026a51d787c29d91087c376476fd686e3bbd5d22c20e4bcbaec2d SHA512 00a959da4f5ead205a27a3ac37082f3f531c7316b7125095390380cb258d1aca448f034a3a188f112f5122f3c3a87f2b180961faf854aa220a2de161631c486c
|
||||
MISC metadata.xml 656 BLAKE2B 3bd604678b07a267b32917a36104fae8ac19abfed08ad8400368dd1d165f628712ba924653b6a03062f065a1d93660c5bd95addd463633f799a525cdcc5134a6 SHA512 7645322de766780bef064c3b6313009bf7ce4e4e28c247ce7707d0950bb7bbb792091254a4af1fc9ab3d24923fd69ebea0f9d253115527ef6b48cffecbcdfb67
|
@ -1,40 +0,0 @@
|
||||
From 651e54953b5d4ad103f0efa54fc6b380807fca3a Mon Sep 17 00:00:00 2001
|
||||
From: Thomas Schneider <qsx@qsx.re>
|
||||
Date: Fri, 14 Oct 2016 21:29:49 +0200
|
||||
Subject: security/apparmor: Use POSIX-compatible "printf '%s'"
|
||||
|
||||
When using a strictly POSIX-compliant shell, "-n #define ..." gets
|
||||
written into the file. Use "printf '%s'" to avoid this.
|
||||
|
||||
Signed-off-by: Thomas Schneider <qsx@qsx.re>
|
||||
Signed-off-by: John Johansen <john.johansen@canonical.com>
|
||||
---
|
||||
security/apparmor/Makefile | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
(limited to 'security/apparmor')
|
||||
|
||||
diff --git a/security/apparmor/Makefile b/security/apparmor/Makefile
|
||||
index ad369a7..2ded2f1 100644
|
||||
--- a/security/apparmor/Makefile
|
||||
+++ b/security/apparmor/Makefile
|
||||
@@ -20,7 +20,7 @@ cmd_make-caps = echo "static const char *const capability_names[] = {" > $@ ;\
|
||||
sed $< >>$@ -r -n -e '/CAP_FS_MASK/d' \
|
||||
-e 's/^\#define[ \t]+CAP_([A-Z0-9_]+)[ \t]+([0-9]+)/[\2] = "\L\1",/p';\
|
||||
echo "};" >> $@ ;\
|
||||
- echo -n '\#define AA_FS_CAPS_MASK "' >> $@ ;\
|
||||
+ printf '%s' '\#define AA_FS_CAPS_MASK "' >> $@ ;\
|
||||
sed $< -r -n -e '/CAP_FS_MASK/d' \
|
||||
-e 's/^\#define[ \t]+CAP_([A-Z0-9_]+)[ \t]+([0-9]+)/\L\1/p' | \
|
||||
tr '\n' ' ' | sed -e 's/ $$/"\n/' >> $@
|
||||
@@ -56,7 +56,7 @@ cmd_make-rlim = echo "static const char *const rlim_names[RLIM_NLIMITS] = {" \
|
||||
echo "static const int rlim_map[RLIM_NLIMITS] = {" >> $@ ;\
|
||||
sed -r -n "s/^\# ?define[ \t]+(RLIMIT_[A-Z0-9_]+).*/\1,/p" $< >> $@ ;\
|
||||
echo "};" >> $@ ; \
|
||||
- echo -n '\#define AA_FS_RLIMIT_MASK "' >> $@ ;\
|
||||
+ printf '%s' '\#define AA_FS_RLIMIT_MASK "' >> $@ ;\
|
||||
sed -r -n 's/^\# ?define[ \t]+RLIMIT_([A-Z0-9_]+).*/\L\1/p' $< | \
|
||||
tr '\n' ' ' | sed -e 's/ $$/"\n/' >> $@
|
||||
|
||||
--
|
||||
cgit v1.1
|
@ -1,21 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="person">
|
||||
<email>karl.j.linden@gmail.com</email>
|
||||
<name>Karl Linden</name>
|
||||
</maintainer>
|
||||
<maintainer type="project">
|
||||
<email>proxy-maint@gentoo.org</email>
|
||||
<name>Proxy Maintainers</name>
|
||||
</maintainer>
|
||||
<longdescription>
|
||||
Real-time patchset for the Linux Kernel
|
||||
</longdescription>
|
||||
<use>
|
||||
<flag name="deblob">Remove binary blobs from kernel sources to provide libre license compliance.</flag>
|
||||
</use>
|
||||
<upstream>
|
||||
<remote-id type="cpe">cpe:/o:linux:linux_kernel</remote-id>
|
||||
</upstream>
|
||||
</pkgmetadata>
|
@ -1,58 +0,0 @@
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="6"
|
||||
ETYPE="sources"
|
||||
KEYWORDS="~amd64"
|
||||
|
||||
HOMEPAGE="https://www.kernel.org/pub/linux/kernel/projects/rt/"
|
||||
|
||||
inherit versionator
|
||||
|
||||
CKV="$(get_version_component_range 1-3)"
|
||||
K_SECURITY_UNSUPPORTED="1"
|
||||
K_DEBLOB_AVAILABLE="1"
|
||||
RT_PATCHSET="${PV/*_p}"
|
||||
|
||||
inherit kernel-2
|
||||
detect_version
|
||||
|
||||
K_BRANCH_ID="${KV_MAJOR}.${KV_MINOR}"
|
||||
RT_FILE="patch-${K_BRANCH_ID}.${KV_PATCH}-rt${RT_PATCHSET}.patch.xz"
|
||||
RT_URI="mirror://kernel/linux/kernel/projects/rt/${K_BRANCH_ID}/${RT_FILE} \
|
||||
mirror://kernel/linux/kernel/projects/rt/${K_BRANCH_ID}/older/${RT_FILE}"
|
||||
|
||||
DESCRIPTION="Full Linux ${K_BRANCH_ID} kernel sources with the CONFIG_PREEMPT_RT patch"
|
||||
SRC_URI="${KERNEL_URI} ${RT_URI}"
|
||||
|
||||
KV_FULL="${PVR/_p/-rt}"
|
||||
S="${WORKDIR}/linux-${KV_FULL}"
|
||||
|
||||
UNIPATCH_LIST="${DISTDIR}/${RT_FILE}"
|
||||
UNIPATCH_STRICTORDER="yes"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/rt-sources-posix-printf.patch # 627068
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
# 627796
|
||||
sed \
|
||||
"s/default PREEMPT_NONE/default PREEMPT_RT_FULL/g" \
|
||||
-i "${S}/kernel/Kconfig.preempt"
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
kernel-2_pkg_postinst
|
||||
ewarn
|
||||
ewarn "${PN} are *not* supported by the Gentoo Kernel Project in any way."
|
||||
ewarn "If you need support, please contact the RT project developers directly."
|
||||
ewarn "Do *not* open bugs in Gentoo's bugzilla unless you have issues with"
|
||||
ewarn "the ebuilds."
|
||||
ewarn
|
||||
}
|
||||
|
||||
K_EXTRAEINFO="For more info on rt-sources and details on how to report problems, see: \
|
||||
${HOMEPAGE}."
|
@ -1,35 +0,0 @@
|
||||
AUX 50nvidia-prelink-blacklist 319 SHA256 61adce61498451898c22fb538151379438729957418eacf4f69195b3e03ec1f4 SHA512 7252b464c45669bb402859ddb2c95f4553a37027870b6aeada3e1dd58fefe7b4713d3486d301177efdcd7559dbc31ceb6078220d5c0187bdc636d817a98e1a41 WHIRLPOOL 93e14ed7c8fb5dba87295c87e1e8906afac290f63dc6ea023fa6c387ed47ff13d488b3b24c400aee42a22737856a7782925d9a3a412ddcd1984dbbd7e51579a5
|
||||
AUX 95-nvidia-settings 54 SHA256 c4b293c6c2659bebcbad9cffc1e237c6908a3763599e432aba89d07bc2826ba0 SHA512 0fdaff8701598081eeb78defcd140b78f75309ace998df67569a15d0ff653aca7ad0576912bf9a619f42990e6fb35cdb79e21f8181d3cd04dea719d912da8be9 WHIRLPOOL d71fef01f8c346089ef2556ffe62c5094f89582b73500711a7f18f25424e59baa12f6b0861bd8efd9bf4c5bbf794642927ca322cee218fd2da9fc7baa50fa827
|
||||
AUX 95-nvidia-settings-r1 54 SHA256 cbc6e8cae863b768b2ec570390e409476ec3ca1137006888810a9ec7f0029eb0 SHA512 de9edf678c64ca3d10c912397800b2cb651ef9108b33ece97a4cc1e86dad0a9e81986cca6b96cfe80740d9cb433de7ef93f29be45178db714ee408c7f6570ac7 WHIRLPOOL 032fbfd24378659f30b0ca2d653dff8fa09106aa55803740f22f82515251c099e9637310d420d909135e9f7850cb2890cf4abeac9d6a4b5e390a7d061462b13a
|
||||
AUX nvidia-169.07 639 SHA256 a8c4860f008d53776fda7a17b59524f271236559af688e9a2c9845cbbcba1577 SHA512 3af295c026280dc3a2b73c2cc7772254686b09cad15f1333ab0b4de8cb0ccf78e725ced2a399b10edcf8af6ba42ab1485dc0661af67461b0c3789f786357772f WHIRLPOOL 626ae3c01c879e0cfe05bd373e0b9dfd6f462dd9ef6ae94a7d60276fe2d17c57fbb20aaa4d2a186a0ffc2a860076692aac854d00a3545bc9736e7bb8d0581055
|
||||
AUX nvidia-drivers-331.13-pax-usercopy.patch 2127 SHA256 669ffcab77432f116c2b9bc7ed55e2a1f4e208ff19b63d43003af2b346f7c0c0 SHA512 c6ebd534d1e88fe5c1b71ef5ccced8957e34931cab72d1adb4017c703fc2e285f6e36a778bb36a319f505cfe6408be098569944aa5d78c00c8837ffe880d006a WHIRLPOOL 798d3f3edeae2361f039372f5fe13cf9df5aef20ee63c7cdc83e806cbad097b0ddccd6b30968c2b2ceb768ad0425b02aaefe1ba41709e3f0fb79a82f908579a6
|
||||
AUX nvidia-drivers-337.12-pax-constify.patch 1042 SHA256 abb0c616a1187fd1958fea3e9fe8d3a9207d393cb9b76ccbf9f25f44c427ffc5 SHA512 203b0baf036e4f301959516ab17b6748814bed850bc79da30ae524a3c902fda57942587aba0803ad25891fb4867d88a003658b630849e12bc2c95015a62661b0 WHIRLPOOL 1ca05ff6737455032babf352ce08fdcefd5a006c3c4bc3607385896a5b0b3961fb9c7e1ff0010a28041ff9f9d49e35210d0d350df534a0e238df3e82f7023c64
|
||||
AUX nvidia-drivers-375.20-pax.patch 15901 SHA256 165ba19d91e3ea0bc01dc3ec730ea0bb13f8176fb21db4111da1fcd8f3d6892b SHA512 65ad102cc3c28c6e2d67c4f24c8fe6ca3b9b4b4f57eca6fdf437127ce9caccabebd3049af53b30ba808e68529b5627a7e3add31b42cffb09d648a69bedfa55d9 WHIRLPOOL 7e47edbd0413cc72e72be2272b92c2b913f8329b97d5eb6325686c1b3c68c7ab8be4cdde748bfa44a170a86d7376bad3188e0c7fc4f6e9efc35d3db1d8caf225
|
||||
AUX nvidia-drivers-375.82-profiles-rc.patch 299 SHA256 bb5f7c2bab99914e734e9f816ce625c29730110cbf5e53b39562a5637ca93556 SHA512 270b42fdc93bcf9e8a39bdcdf02de0c6f2a015b856d25cfd948aeaae54059b21c1e18b4b90e2e54c63c05a380d495bfcac310ab7804a51edc31bf5498d946cf4 WHIRLPOOL b1b26556312c0fbdc709f686c756eeb2999910c777109bee545c5353b6be9ed4e211ee368dd1a60e0b944a91a9d35308ce4b52d342755c91937523c6b63499d6
|
||||
AUX nvidia-drivers-pax-const.patch 833 SHA256 74ba8aa3b03e1b4a0515fd84c159eaeb7635fa1364e77544b01ff6f571f0e6d8 SHA512 6ef94db71cab2dd47273eaed1857209d03ef648d268c7645f3ca4caf6b894590e42a8e716e4354f2eed656e7d55a4c1774b1e6a4be215fbf59fc9d0b1a5762a0 WHIRLPOOL 1b2d737ee7ccee831c85bd8af9605c0633fd025bb209e6d76c13f49a5664aa490bd5b6ce48855e541fe87380cd7b723162e1965b803e1ed630f239bf4dbd0d19
|
||||
AUX nvidia-drivers-pax-usercopy.patch 2350 SHA256 56980f43db38d582bc6a9bfd881973fce6e3e056b77ce4f4005bdcf79526a863 SHA512 54a1354ba008d014a608044610027b4d808120f8e77cc7d5ac855c3dcf4f487b0a4c0870ae4e727db0643cb56ee21513b803976e9a30c6838adf2f5414232804 WHIRLPOOL 78ac54bfe52cc3b6dfa28e17020991dfb7056984d667b0fefa41d23372b03e1a8e6d66c74e1dee234733d5b2b36e2c0813f507a89716ae2d8f1f6db917fdf01d
|
||||
AUX nvidia-persistenced.conf 250 SHA256 347437868119e8ae12852a574597936e855f534a9ad290fef3f62b4083a38516 SHA512 9c9562bb15bf4552754dd50a1b01dec5df76f7f5666fba2fff642a169f87e9ed421a260f2258ab469f7e4cd9ef8161653355795624387fe7ad5ae6a0d71e5f46 WHIRLPOOL 1422504c6688fce28719146c7d95fe196ca617556942e8dc04c7f8c1412fa80b5b8289c0f86b835eece90eed4b4017093d686779f88d44cd41fa3de1a10e9bbe
|
||||
AUX nvidia-persistenced.init 650 SHA256 17664ed958b1d7706e5151201f784d755c60e66239229d2988e186b649756465 SHA512 864c90573a033e30d151c9adb9f0f12c5bcba2b5a7eaaa62f86fc11747f13956825fc5acb4fb1fb453a32acefe850e73264a650fafa6014cc96bbc7e3b56fdaa WHIRLPOOL 52fd8f458d6a7274d332255e9594ba6d7639e6f6ae7bbcdd20205dc9e240718977da3e103a484d1813884b6a268e87088b28b59d5fa3a9fe4a9d50250e1d2fbd
|
||||
AUX nvidia-rmmod.conf 108 SHA256 db912faa64e0d1d993006b2a1e886b52f8deb83c7a07f14458875579a1d2c3f0 SHA512 cb6b70ba0fc9c6d81d43f31d724538beff79e7e9b02c610485f1e46757d7bf16410d5cb2853d8d67ea6e4da59e7e1687ad14dc4b494415c6db6fab517a03b28b WHIRLPOOL bbf741abd25c87bada3bb3e5d6aa41c5c8e670a1299612eb7141f93c31734b8e782c320308c929d2a316586ac8cc43dd9600cc06c2c4066603844ba9fbfb3b0e
|
||||
AUX nvidia-settings-linker.patch 1048 SHA256 1f9e95dbc3818bbe44943a3e74543f3437d38404a59f8a798f22dbe6fa34b023 SHA512 11cd04a3efe95046d01c749df9fc055473284cb99a6138768916db841c8fadf2af5c93646b52f7bce6454e43b8621aa518964ef734c18283162fb2671f6dd9f9 WHIRLPOOL 981dd1896190cf672101fdb8854189e43e6103c0bee0c956ef7623c588c9b2c813fcf91982ad29ccd5e7c2a6e0db22e0a844754da246e23a35c75faa5aaf4823
|
||||
AUX nvidia-settings.desktop 185 SHA256 a402fc441e27b6279e38d227d650916a6aa0f872605ade6c539971c70284204f SHA512 30cab269daf282b9716e53ecf2f8993289e8d4ad05c40d6ddaad3ea6e95477c36a4d65a28d0ec3c1c9c7e845fde140df9012944306f70131a02c9ffef0a9f523 WHIRLPOOL 2bea14aed79de7905b41768ca4c4ccd608c41353335607fbc23236471e5b755eb0c0d8d99611949969bf2511ca8d003ce7ed405be0078c2bcf24070ee40a46ec
|
||||
AUX nvidia-smi.init 545 SHA256 a64a301feb058ed0e993e44cc2d4a0105735110f8f9cd05aacaaf37e1aa3c85c SHA512 f7f04a73d646b90cdc14a408f53650324d7c1d7754a1d92acc9a8acaef163bda1eef33acb831df77657786e7ceebe0d7f9d25d2edd57d1590be340ce12fea6e5 WHIRLPOOL de2cebf3ddae61348f2f142aefa84a17cb0fcbc903d92d3ca3932577a2a822de7e4b64abeaa91c81738cff8c18927804a027d9c1033e11e1c5ae0fc04caf4aba
|
||||
AUX nvidia-udev.sh 185 SHA256 120c0af2b64fbcbd7032217a78eec8b104874c1ca68726367bce22c57944e07e SHA512 166df3a4e7c1862ca2e0f634bf5eed7aad1bdd7e55764ca42371b91a7077c59f0bc243de5616fd38dac9694159d1695d54fbd08ac89d4d3f3649c70c7db5977e WHIRLPOOL cb9995029cdb2fe1bc7fe5ae54041ee5de8da86bf5eb3616d062475e56c44d436e1e66683ecddd986fc5bca5723d88da4b1a42f65f3cd7e15636928bd21fce14
|
||||
AUX nvidia-udev.sh-r1 285 SHA256 5ca08a5329cccd9e32dd3cd573525f510edf7b12d8c531cbe781a70b2ceade63 SHA512 493b0d5f2698d299e3b8d5782ac7fb8174e7ee93f1dae66bc1161eb4dd16d4db91048444dc6e7bea344960936c0a5c825041f6909af004438d8009a3d3fe71c9 WHIRLPOOL 14c2d01d8280dc9c4afaacc75b8ef97875553b5ed50e6dba6209280ebea5cd9c607505870ee37d719530428a9f57034511cd080ba0ab3a1d831b767b4cd15305
|
||||
AUX nvidia-uvm.conf 82 SHA256 4407c7ceed58ead98492560c07fc44d4285a70ed5165407f1b959e46d6e6d081 SHA512 cbdb946934a0b7c7d0fab0937ead0a161ff20238e0b53f9e05ea18a4fa0507df8d37594bd13402e3ec2001d488daeb2bec718d612f68202768d62a3cec97aacb WHIRLPOOL a79d65d67b0ff446bb2c65f5f3ec16ffaf0268ab0abbc137b413168aa7f5e617e502eaaf00fd21a149778bdd134da532b25bb066fc70bfa601caa97397aaf424
|
||||
AUX nvidia.udev-rule 462 SHA256 37b152a5055a16d1947171567178e2841679ddf03dba9d48e7d30f1e3b469ac6 SHA512 96f9edaa0b46bea5fce17596f868bea5265b303d7185af6ba81527bbd7b8fdf92de9311317cbde51a29d222083d451c25ab77c3d6837cbc4072a50d9af89aa86 WHIRLPOOL 89ed95f33db7485a3a1acd91df33ecdfb7d0a249db2d7674f134fb85b35a54653d0458e478503315ce506ae5d3c8dcd4ac20420711fdbdd087ea4bd779627d13
|
||||
DIST NVIDIA-FreeBSD-x86-381.22.tar.gz 60112159 SHA256 f309408941c7d393fe51b2356bd424791558b70f8f17f8856fbbefb1bcf74138 SHA512 ffe5882051fad081854e7b7fefe86a4da55b263b2ca217664991a7e0d84ff2f22d62a37c89afd578f3c99c12be897e5db7a3d1c71c747df655af8e220eb983fa WHIRLPOOL 42bd9205e28d067b1f7417607da21cd66411cefbd1cec74807bbdcee2255e758df2eb15f79a0c3fe1dde7d9f010cfcf648bb6a5890b4637ea7f799cc0810340d
|
||||
DIST NVIDIA-FreeBSD-x86-390.42.tar.gz 64258071 SHA256 41bd6640ee1cebb9f8178c35ce4234108ca6125b69a7dd5c34e831981294e3b8 SHA512 1271e3bdf55b2c03e63083b3b867fa03d4d2e71ab2a8a0100bd137acedb1fef2416045079bbccd0fc48255496128c37ab619fa5a3e7b992b9d96cf288bc6e4b0 WHIRLPOOL 7c6145a09ca4e550f0c72a46b005442daaf56f4b9085bd6c13e4aa08b273370de60d6a3c4a8fa5b53490c9b10f6c09801f86e291effe5afed494bc0adad7a2fe
|
||||
DIST NVIDIA-FreeBSD-x86_64-381.22.tar.gz 59284579 SHA256 f63001f380055da84eec7aaeddc13442a004ca6979adbfec46d3efac4bad7116 SHA512 51c5a87fabe87ec7f2589ed97d97447b127ecb5fe501c60bc7c9fce74141c127f4f9bb820d2a9b34fb56db436476d0cb18a73845ab4e7ec2315d4975c8ce4e32 WHIRLPOOL 40e1c62b9c8b1d5b20eaa1737285e1ce01e912b013c1aae7c9167e6d240cce5a461fd955e5583065a206abf6d6b195c8916464ce1dd4a53bb5ee94de3679373e
|
||||
DIST NVIDIA-FreeBSD-x86_64-390.42.tar.gz 63578748 SHA256 fea61f29aa0906355bb3f8987643cffd83056736a4750f4ba8121a724671e01a SHA512 0fde34e642fb92d099166530cdf3eb6301f11068a4780decab33c68e046aea58904f1e8fd2189900a2b140e536933de418b27a2d40e1d7e486d3df1143370007 WHIRLPOOL b57e637cbb3d09e5b5fba060bf6bd0a8d6d19567bf107db26b6110049b43c2ed7bedbc5d6f3952b9a6bee2ec807973e9ef253694c6f305160e5f43e2320b9f3a
|
||||
DIST NVIDIA-Linux-armv7l-gnueabihf-381.22.run 26815484 SHA256 246272d7da8f60564f4a0776fb3af82652add9e0ced8f856dc6530f97e97a748 SHA512 934cda37c7aed26243b5b661122e1c060de5b4df890aaf2295b6650dddea37cb4f0e3f0bebddb00b5d687b66ab5e028a203195c4d4ad3379593babda42febe77 WHIRLPOOL 33f5f0b0a9463419a2dcc6b2d6026607e28b13982fd0e26ffa797d9ba3ea6aab045b52523a653aea8378d31cd787628db1707c33df61c5d9b9943c07dde209aa
|
||||
DIST NVIDIA-Linux-armv7l-gnueabihf-390.42.run 28680665 SHA256 93156d43baf6b2bc9cd225f2179c57cf8668ac3def4a9319e06fc2211ca744d6 SHA512 7c5ca46cce345d53f0991b6076ee62a2e777e5cb2b5b2612eaec88fb0d4f53e66d88b4978dfb15f23a80af57f1834dd9016daeb1d3b329cee1f4e0777afb5979 WHIRLPOOL 6e4c7751853a212db8fe2599a9fc6d7b6a29dcbecaeffd9ab8a19260d69f9007d268c9e0f2350776f62eb933d298844597e3d2ffb4fa3fc27b5341266b3b556e
|
||||
DIST NVIDIA-Linux-x86-381.22.run 42931990 SHA256 7b7dd6ee1c871dc5367fc207bba65077c3820a683decbfe6126fc70c0d1b9d08 SHA512 15723bfa25b0f39224ad5098c784a292abe4bf1daafaeb2f1df910bbab466e666b848b12e50b0bdd45f83e2d81957425a63501550b3dc5eb8fe3e576a8a10d22 WHIRLPOOL c01bec46411e3fc7f29cb38c6a16c8d50a3979cac1ce6a9e58feeb5878f6388f955cb95e0ecf71482c0fe9c1f57c989ecee6825bf921a0cf95c242f0a1ed3c23
|
||||
DIST NVIDIA-Linux-x86-390.42.run 47248228 SHA256 a132a5d999ca70b6047d6babd382e27394876afc3bce7e7418c3aa3ada78dc44 SHA512 079cfae9ce318e30d8699c7a1e9b8fc528382be68605ceea16b5cb671d11588098af001b6cb4c66c904a248193742efc450e18101f9dda73c1ca101ab8aca2ce WHIRLPOOL e7749f6fbe8854d3e20b654bd655404c5b0dd28499679ad349dcdcfbd6a68397e19c3148507034a4e2325c8a9920b4634c2faa033f241b5b520ebd4142c80c15
|
||||
DIST NVIDIA-Linux-x86_64-381.22.run 76581130 SHA256 1a3ea8a19fbf650774e5ecd86caa5ef950971958226ed04020b0e6e29b4dd28d SHA512 669a3dd0896d68ba8eef4689b01971b92ec1c54e6cf2a9ff8d3f281ae9f2fe402f079e76109b65e698d76798bcc7a9bb43da9d128fec59ac1fafafd1c4a1e42c WHIRLPOOL 6e80c1fa813bf2930c3d47198e0e382c96ed5c5bc7ba9713e55e61e3fe2ab12c7b28526b4940b15b74e19169c1579151272bdc4033641158012c8f6a56736c3b
|
||||
DIST NVIDIA-Linux-x86_64-390.42.run 81836210 SHA256 4aad7a9ade4f6e2656a3159c466f922b69daa7b68278d132676f83417bac010e SHA512 6cbf02630ac79a5cbb37f442f4def2a196b4a9d2a3600b0f5cdc3c148dd59d07994a2cee2efe0ac4139b6543698331c07f015c37b391d4f00acab7b2f033ad18 WHIRLPOOL eb65dad2239e55583f62dae13a1f0b50154f0ba6bfa9e69b76b3ad3e55fd941e0a2e3e279b6f67d2e9fce1b53b0d92ada6f181bce02c2a025601482d120e71a7
|
||||
DIST nvidia-settings-381.22.tar.gz 2127491 SHA256 83cade551b43055bf93d7ca7e5911a4c61a9e7bea7d88b4c57aa885e82165e29 SHA512 79cd41b9c0e63b69574caddb62437132810ecb4cd07b90899976ae8535948f28d72021fc9a6969559909cf0f7a5d411b0202782970d64a82c636e7738c9d5681 WHIRLPOOL dfd0a4c568aa6ff1946fbe7c68f0c8cf8721c46bbe5dc82987ed900ca4b275781e7d1784e3094472ad9748c4008b5639791dcf51993b73aaeb03ce9a8e3a524c
|
||||
DIST nvidia-settings-390.42.tar.bz2 1109291 SHA256 9db8fd49a411c3751e519696e71550b6f7aed31b6a0e78c8733da57276527ea0 SHA512 5907aa76cbcd136593c0b517c0a6c08764d9b14a90fa0951278fdbaa6c44c8d3149a902bace1f8203ba621af376030bcf7c51f3579edb1cb3152a97eb443134a WHIRLPOOL afa9b5c8c9bc89990da354bbcf7bd59ef3e736f4960dc44dece4905a31b3e149b292a2cc9f0ac1362343c1b54bd3bf0ed4329bc0b6559901b3e254b0de68596e
|
||||
EBUILD nvidia-drivers-381.22-r1.ebuild 15903 SHA256 c489c54725613802c29d5c35407555cf15fcadb663e4060b9943dbb528d4423b SHA512 8c08570ac6487367948ff166e26a2ce9f1ff8d8f808fff6c0cba2780886f69de538e09699ec05974e98b99137dd3eb68ba47b6a875a356d09453ad61a25c9d3d WHIRLPOOL ccb70268f2fe24a3870bff1de9248a41ba7a7173c7c1a1fde902c22febd53616f87af89b84898c7b09984ae9ce9dc063db0c314321298aee45a9e550a09f1133
|
||||
EBUILD nvidia-drivers-390.42.ebuild 16323 SHA256 4adbb5f994c46b055a54b98820e0f04d1d19ec5c8851707fa197f2dfb696a58a SHA512 1a0b38be411dc851f6a4ee551bc2faf117898f74b27fc5d1e1a47611111687de48ba4898c4acb2066a219ef93765592d25f5c00ea1a55adde8336ba1f325f4be WHIRLPOOL 09aa982fe1c77a2f3d701726a92cf8775e6b6ef34169675252d6675c46a9b0b76c23fd3c0b0f47d71a992bb91c1ff17ba3eae8cf9086127ae8dc4bddcfaa08b7
|
||||
MISC metadata.xml 1362 SHA256 46fb6d00e6dfd55d8949da7be52bad57a38d2ef1d15758b0550eed445280af04 SHA512 ab37e6088e5ecc53035f269bf7406a5def67323515a467207bdae1f23910b6bd0803397da3052d0a947fb6673c92890dc085f2b344934731d57977a05366234b WHIRLPOOL 2bbd30bc87724c20ee15b6e1ad507287f7f7e36feb78f92071876a3aeaceab8b83daa2a8ef9da8dcd6d0e2c5a557f0169e11096de87bb12df60d024ce90eff42
|
@ -1 +0,0 @@
|
||||
PRELINK_PATH_MASK="/usr/lib{,64}/tls/libnvidia-tls*:/usr/lib{,64}/libnvidia*:/usr/lib{,64}/libGL*:/usr/lib{,64}/opengl/nvidia/*:/usr/lib{,64}/OpenCL/vendors/nvidia/*:/usr/lib{,64}/xorg/modules/drivers/nvidia*:/usr/lib{,64}/libvdpau_nvidia*:/usr/lib{,64}/libXvMCNVIDIA*:/usr/lib{,64}/libcuda*:/usr/lib{,64}/libnvcuvid*"
|
@ -1,2 +0,0 @@
|
||||
#!/bin/sh
|
||||
/opt/bin/nvidia-settings --load-config-only
|
@ -1,2 +0,0 @@
|
||||
#!/bin/sh
|
||||
/usr/bin/nvidia-settings --load-config-only
|
@ -1,14 +0,0 @@
|
||||
# Nvidia drivers support
|
||||
alias char-major-195 nvidia
|
||||
alias /dev/nvidiactl char-major-195
|
||||
|
||||
# To tweak the driver the following options can be used, note that
|
||||
# you should be careful, as it could cause instability!! For more
|
||||
# options see /usr/share/doc/PACKAGE/README
|
||||
#
|
||||
# !!! SECURITY WARNING !!!
|
||||
# DO NOT MODIFY OR REMOVE THE DEVICE FILE RELATED OPTIONS UNLESS YOU KNOW
|
||||
# WHAT YOU ARE DOING.
|
||||
# ONLY ADD TRUSTED USERS TO THE VIDEO GROUP, THESE USERS MAY BE ABLE TO CRASH,
|
||||
# COMPROMISE, OR IRREPARABLY DAMAGE THE MACHINE.
|
||||
options nvidia NVreg_DeviceFileMode=432 NVreg_DeviceFileUID=0 NVreg_DeviceFileGID=VIDEOGID NVreg_ModifyDeviceFiles=1
|
@ -1,52 +0,0 @@
|
||||
--- a/kernel/nv-linux.h
|
||||
+++ b/kernel/nv-linux.h
|
||||
@@ -757,16 +757,16 @@
|
||||
|
||||
#if defined(NV_KMEM_CACHE_CREATE_PRESENT)
|
||||
#if (NV_KMEM_CACHE_CREATE_ARGUMENT_COUNT == 6)
|
||||
-#define NV_KMEM_CACHE_CREATE(kmem_cache, name, type) \
|
||||
+#define NV_KMEM_CACHE_CREATE(kmem_cache, name, type, flags) \
|
||||
{ \
|
||||
kmem_cache = kmem_cache_create(name, sizeof(type), \
|
||||
- 0, 0, NULL, NULL); \
|
||||
+ 0, flags, NULL, NULL); \
|
||||
}
|
||||
#elif (NV_KMEM_CACHE_CREATE_ARGUMENT_COUNT == 5)
|
||||
-#define NV_KMEM_CACHE_CREATE(kmem_cache, name, type) \
|
||||
+#define NV_KMEM_CACHE_CREATE(kmem_cache, name, type, flags) \
|
||||
{ \
|
||||
kmem_cache = kmem_cache_create(name, sizeof(type), \
|
||||
- 0, 0, NULL); \
|
||||
+ 0, flags, NULL); \
|
||||
}
|
||||
#else
|
||||
#error "NV_KMEM_CACHE_CREATE_ARGUMENT_COUNT value unrecognized!"
|
||||
--- a/kernel/nv.c
|
||||
+++ b/kernel/nv.c
|
||||
@@ -794,7 +794,7 @@
|
||||
NV_SPIN_LOCK_INIT(&km_lock);
|
||||
#endif
|
||||
|
||||
- NV_KMEM_CACHE_CREATE(nv_stack_t_cache, NV_STACK_CACHE_STR, nv_stack_t);
|
||||
+ NV_KMEM_CACHE_CREATE(nv_stack_t_cache, NV_STACK_CACHE_STR, nv_stack_t, SLAB_USERCOPY);
|
||||
if (nv_stack_t_cache == NULL)
|
||||
{
|
||||
nv_printf(NV_DBG_ERRORS, "NVRM: stack cache allocation failed!\n");
|
||||
@@ -924,7 +924,7 @@
|
||||
nv->os_state = (void *) &nv_ctl_device;
|
||||
nv_lock_init_locks(nv);
|
||||
|
||||
- NV_KMEM_CACHE_CREATE(nv_pte_t_cache, NV_PTE_CACHE_STR, nv_pte_t);
|
||||
+ NV_KMEM_CACHE_CREATE(nv_pte_t_cache, NV_PTE_CACHE_STR, nv_pte_t, 0);
|
||||
if (nv_pte_t_cache == NULL)
|
||||
{
|
||||
rc = -ENOMEM;
|
||||
@@ -935,7 +935,7 @@
|
||||
if (NV_BUILD_MODULE_INSTANCES == 0)
|
||||
{
|
||||
NV_KMEM_CACHE_CREATE(nvidia_p2p_page_t_cache, "nvidia_p2p_page_t",
|
||||
- nvidia_p2p_page_t);
|
||||
+ nvidia_p2p_page_t, 0);
|
||||
if (nvidia_p2p_page_t_cache == NULL)
|
||||
{
|
||||
rc = -ENOMEM;
|
@ -1,25 +0,0 @@
|
||||
--- a/kernel/uvm/nvidia_uvm_common.c
|
||||
+++ b/kernel/uvm/nvidia_uvm_common.c
|
||||
@@ -95,7 +95,6 @@ static RM_STATUS uvmnext_gpu_event_stop_
|
||||
#endif // NVIDIA_UVM_NEXT_ENABLED
|
||||
|
||||
static dev_t g_uvmBaseDev;
|
||||
-struct UvmOpsUvmEvents g_exportedUvmOps;
|
||||
|
||||
// TODO: This would be easier if RM allowed for multiple registrations, since we
|
||||
// could register UVM-Lite and UVM-Next separately (bug 1372835).
|
||||
@@ -147,9 +146,11 @@ static RM_STATUS uvmSetupGpuProvider(voi
|
||||
RM_STATUS status = RM_OK;
|
||||
|
||||
#ifdef NVIDIA_UVM_RM_ENABLED
|
||||
- g_exportedUvmOps.startDevice = uvm_gpu_event_start_device;
|
||||
- g_exportedUvmOps.stopDevice = uvm_gpu_event_stop_device;
|
||||
- g_exportedUvmOps.isrTopHalf = uvmnext_isr_top_half;
|
||||
+ static struct UvmOpsUvmEvents g_exportedUvmOps = {
|
||||
+ .startDevice = uvm_gpu_event_start_device,
|
||||
+ .stopDevice = uvm_gpu_event_stop_device,
|
||||
+ .isrTopHalf = uvmnext_isr_top_half,
|
||||
+ };
|
||||
|
||||
// call RM to exchange the function pointers.
|
||||
status = nvUvmInterfaceRegisterUvmCallbacks(&g_exportedUvmOps);
|
@ -1,406 +0,0 @@
|
||||
diff -urp work.orig/kernel/common/inc/nv-linux.h work/kernel/common/inc/nv-linux.h
|
||||
--- work.orig/kernel/common/inc/nv-linux.h 2016-11-27 21:56:50.391617167 +0100
|
||||
+++ work/kernel/common/inc/nv-linux.h 2016-11-27 22:04:14.045516163 +0100
|
||||
@@ -1310,7 +1310,8 @@ extern void *nvidia_stack_t_cache;
|
||||
#if (NV_KMEM_CACHE_CREATE_ARGUMENT_COUNT == 5)
|
||||
#define NV_KMEM_CACHE_CREATE_FULL(name, size, align, flags, ctor) \
|
||||
kmem_cache_create(name, size, align, flags, ctor)
|
||||
-
|
||||
+#define NV_KMEM_CACHE_CREATE_FULL_USERCOPY(name, size, align, flags, useroffset, usersize, ctor) \
|
||||
+ kmem_cache_create_usercopy(name, size, align, flags, useroffset, usersize, ctor)
|
||||
#else
|
||||
#define NV_KMEM_CACHE_CREATE_FULL(name, size, align, flags, ctor) \
|
||||
kmem_cache_create(name, size, align, flags, ctor, NULL)
|
||||
@@ -1319,6 +1320,14 @@ extern void *nvidia_stack_t_cache;
|
||||
#define NV_KMEM_CACHE_CREATE(name, type) \
|
||||
NV_KMEM_CACHE_CREATE_FULL(name, sizeof(type), 0, 0, NULL)
|
||||
|
||||
+#ifdef SLAB_USERCOPY
|
||||
+#define NV_KMEM_CACHE_CREATE_USERCOPY(name, type) \
|
||||
+ NV_KMEM_CACHE_CREATE_FULL(name, sizeof(type), 0, SLAB_USERCOPY, NULL)
|
||||
+#else
|
||||
+#define NV_KMEM_CACHE_CREATE_USERCOPY(name, type) \
|
||||
+ NV_KMEM_CACHE_CREATE_FULL_USERCOPY(name, sizeof(type), 0, 0, 0, sizeof(type), NULL)
|
||||
+#endif
|
||||
+
|
||||
#define NV_KMEM_CACHE_DESTROY(kmem_cache) \
|
||||
kmem_cache_destroy(kmem_cache)
|
||||
|
||||
diff -urp work.orig/kernel/common/inc/nv-modeset-interface.h work/kernel/common/inc/nv-modeset-interface.h
|
||||
--- work.orig/kernel/common/inc/nv-modeset-interface.h 2016-11-27 21:56:50.391617167 +0100
|
||||
+++ work/kernel/common/inc/nv-modeset-interface.h 2016-11-27 21:54:23.971706350 +0100
|
||||
@@ -72,7 +72,7 @@ typedef struct {
|
||||
* mix nvidia and nvidia-modeset kernel modules from different
|
||||
* releases.
|
||||
*/
|
||||
- const char *version_string;
|
||||
+// const char *version_string;
|
||||
|
||||
/*
|
||||
* Return system information.
|
||||
@@ -117,6 +117,6 @@ typedef struct {
|
||||
|
||||
} nvidia_modeset_rm_ops_t;
|
||||
|
||||
-NV_STATUS nvidia_get_rm_ops(nvidia_modeset_rm_ops_t *rm_ops);
|
||||
+NV_STATUS nvidia_get_rm_ops(const nvidia_modeset_rm_ops_t **rm_ops, const char **version_string);
|
||||
|
||||
#endif /* _NV_MODESET_INTERFACE_H_ */
|
||||
diff -urp work.orig/kernel/common/inc/nv-register-module.h work/kernel/common/inc/nv-register-module.h
|
||||
--- work.orig/kernel/common/inc/nv-register-module.h 2016-11-27 21:56:50.391617167 +0100
|
||||
+++ work/kernel/common/inc/nv-register-module.h 2016-11-27 21:54:23.971706350 +0100
|
||||
@@ -34,7 +34,7 @@ typedef struct nvidia_module_s {
|
||||
int (*ioctl)(struct inode *, struct file * file, unsigned int cmd, unsigned long arg);
|
||||
unsigned int (*poll)(struct file * file, poll_table *wait);
|
||||
|
||||
-} nvidia_module_t;
|
||||
+} __do_const nvidia_module_t;
|
||||
|
||||
int nvidia_register_module(nvidia_module_t *);
|
||||
int nvidia_unregister_module(nvidia_module_t *);
|
||||
diff -urp work.orig/kernel/nvidia/nv.c work/kernel/nvidia/nv.c
|
||||
--- work.orig/kernel/nvidia/nv.c 2016-11-27 21:56:50.395629748 +0100
|
||||
+++ work/kernel/nvidia/nv.c 2016-11-27 21:54:23.971706350 +0100
|
||||
@@ -666,7 +666,7 @@ int __init nvidia_init_module(void)
|
||||
NV_SPIN_LOCK_INIT(&km_lock);
|
||||
#endif
|
||||
|
||||
- nvidia_stack_t_cache = NV_KMEM_CACHE_CREATE(nvidia_stack_cache_name,
|
||||
+ nvidia_stack_t_cache = NV_KMEM_CACHE_CREATE_USERCOPY(nvidia_stack_cache_name,
|
||||
nvidia_stack_t);
|
||||
if (nvidia_stack_t_cache == NULL)
|
||||
{
|
||||
diff -urp work.orig/kernel/nvidia/nv-chrdev.c work/kernel/nvidia/nv-chrdev.c
|
||||
--- work.orig/kernel/nvidia/nv-chrdev.c 2016-11-27 21:56:50.395629748 +0100
|
||||
+++ work/kernel/nvidia/nv-chrdev.c 2016-11-27 21:54:23.971706350 +0100
|
||||
@@ -20,8 +20,6 @@ int nv_register_chrdev(void *param)
|
||||
{
|
||||
nvidia_module_t *module = (nvidia_module_t *)param;
|
||||
|
||||
- module->instance = nv_module_instance;
|
||||
-
|
||||
return (nvidia_register_module(module));
|
||||
}
|
||||
|
||||
diff -urp work.orig/kernel/nvidia/nv-instance.c work/kernel/nvidia/nv-instance.c
|
||||
--- work.orig/kernel/nvidia/nv-instance.c 2016-11-27 21:56:50.395629748 +0100
|
||||
+++ work/kernel/nvidia/nv-instance.c 2016-11-27 21:54:23.971706350 +0100
|
||||
@@ -51,6 +51,7 @@ struct pci_driver nv_pci_driver = {
|
||||
nvidia_module_t nv_fops = {
|
||||
.owner = THIS_MODULE,
|
||||
.module_name = MODULE_NAME,
|
||||
+ .instance = MODULE_INSTANCE_NUMBER,
|
||||
.open = nvidia_open,
|
||||
.close = nvidia_close,
|
||||
.ioctl = nvidia_ioctl,
|
||||
diff -urp work.orig/kernel/nvidia/nv-mmap.c work/kernel/nvidia/nv-mmap.c
|
||||
--- work.orig/kernel/nvidia/nv-mmap.c 2016-11-27 21:56:50.395629748 +0100
|
||||
+++ work/kernel/nvidia/nv-mmap.c 2016-11-27 21:54:23.971706350 +0100
|
||||
@@ -102,12 +102,12 @@ nvidia_vma_release(struct vm_area_struct
|
||||
}
|
||||
|
||||
#if defined(NV_VM_OPERATIONS_STRUCT_HAS_ACCESS)
|
||||
-static int
|
||||
+static ssize_t
|
||||
nvidia_vma_access(
|
||||
struct vm_area_struct *vma,
|
||||
unsigned long addr,
|
||||
void *buffer,
|
||||
- int length,
|
||||
+ size_t length,
|
||||
int write
|
||||
)
|
||||
{
|
||||
diff -urp work.orig/kernel/nvidia/nv-modeset-interface.c work/kernel/nvidia/nv-modeset-interface.c
|
||||
--- work.orig/kernel/nvidia/nv-modeset-interface.c 2016-11-27 21:56:50.395629748 +0100
|
||||
+++ work/kernel/nvidia/nv-modeset-interface.c 2016-11-27 21:54:23.971706350 +0100
|
||||
@@ -100,10 +100,9 @@ static NvU32 nvidia_modeset_enumerate_gp
|
||||
return count;
|
||||
}
|
||||
|
||||
-NV_STATUS nvidia_get_rm_ops(nvidia_modeset_rm_ops_t *rm_ops)
|
||||
+NV_STATUS nvidia_get_rm_ops(const nvidia_modeset_rm_ops_t **rm_ops, const char **version_string)
|
||||
{
|
||||
- const nvidia_modeset_rm_ops_t local_rm_ops = {
|
||||
- .version_string = NV_VERSION_STRING,
|
||||
+ static const nvidia_modeset_rm_ops_t local_rm_ops = {
|
||||
.system_info = {
|
||||
.allow_write_combining = NV_FALSE,
|
||||
},
|
||||
@@ -116,17 +115,26 @@ NV_STATUS nvidia_get_rm_ops(nvidia_modes
|
||||
.set_callbacks = nvidia_modeset_set_callbacks,
|
||||
};
|
||||
|
||||
- if (strcmp(rm_ops->version_string, NV_VERSION_STRING) != 0)
|
||||
+ static const nvidia_modeset_rm_ops_t local_rm_ops_wc = {
|
||||
+ .system_info = {
|
||||
+ .allow_write_combining = NV_TRUE,
|
||||
+ },
|
||||
+ .alloc_stack = nvidia_modeset_rm_ops_alloc_stack,
|
||||
+ .free_stack = nvidia_modeset_rm_ops_free_stack,
|
||||
+ .enumerate_gpus = nvidia_modeset_enumerate_gpus,
|
||||
+ .open_gpu = nvidia_dev_get,
|
||||
+ .close_gpu = nvidia_dev_put,
|
||||
+ .op = rm_kernel_rmapi_op, /* provided by nv-kernel.o */
|
||||
+ .set_callbacks = nvidia_modeset_set_callbacks,
|
||||
+ };
|
||||
+
|
||||
+ if (strcmp(*version_string, NV_VERSION_STRING) != 0)
|
||||
{
|
||||
- rm_ops->version_string = NV_VERSION_STRING;
|
||||
+ *version_string = NV_VERSION_STRING;
|
||||
return NV_ERR_GENERIC;
|
||||
}
|
||||
|
||||
- *rm_ops = local_rm_ops;
|
||||
-
|
||||
- if (NV_ALLOW_WRITE_COMBINING(NV_MEMORY_TYPE_FRAMEBUFFER)) {
|
||||
- rm_ops->system_info.allow_write_combining = NV_TRUE;
|
||||
- }
|
||||
+ *rm_ops = NV_ALLOW_WRITE_COMBINING(NV_MEMORY_TYPE_FRAMEBUFFER) ? &local_rm_ops_wc : &local_rm_ops;
|
||||
|
||||
return NV_OK;
|
||||
}
|
||||
diff -urp work.orig/kernel/nvidia-drm/nvidia-drm-drv.c work/kernel/nvidia-drm/nvidia-drm-drv.c
|
||||
--- work.orig/kernel/nvidia-drm/nvidia-drm-drv.c 2016-11-27 21:56:50.395629748 +0100
|
||||
+++ work/kernel/nvidia-drm/nvidia-drm-drv.c 2016-11-27 21:54:23.971706350 +0100
|
||||
@@ -594,7 +594,7 @@ static const struct drm_ioctl_desc nv_dr
|
||||
DRM_CONTROL_ALLOW|DRM_RENDER_ALLOW|DRM_UNLOCKED),
|
||||
};
|
||||
|
||||
-static struct drm_driver nv_drm_driver = {
|
||||
+static drm_driver_no_const nv_drm_driver __read_only = {
|
||||
|
||||
.driver_features = DRIVER_GEM | DRIVER_PRIME | DRIVER_RENDER,
|
||||
|
||||
@@ -654,6 +654,7 @@ static void nvidia_update_drm_driver_fea
|
||||
return;
|
||||
}
|
||||
|
||||
+ pax_open_kernel();
|
||||
nv_drm_driver.driver_features |= DRIVER_MODESET | DRIVER_ATOMIC;
|
||||
|
||||
nv_drm_driver.master_set = nvidia_drm_master_set;
|
||||
@@ -664,6 +665,7 @@ static void nvidia_update_drm_driver_fea
|
||||
nv_drm_driver.dumb_destroy = drm_gem_dumb_destroy;
|
||||
|
||||
nv_drm_driver.gem_vm_ops = &nv_drm_gem_vma_ops;
|
||||
+ pax_close_kernel();
|
||||
#endif /* NV_DRM_ATOMIC_MODESET_AVAILABLE */
|
||||
}
|
||||
|
||||
diff -urp work.orig/kernel/nvidia-modeset/nvidia-modeset-linux.c work/kernel/nvidia-modeset/nvidia-modeset-linux.c
|
||||
--- work.orig/kernel/nvidia-modeset/nvidia-modeset-linux.c 2016-11-27 21:56:50.395629748 +0100
|
||||
+++ work/kernel/nvidia-modeset/nvidia-modeset-linux.c 2016-11-27 21:54:23.971706350 +0100
|
||||
@@ -335,29 +335,28 @@ static void nvkms_resume(NvU32 gpuId)
|
||||
* Interface with resman.
|
||||
*************************************************************************/
|
||||
|
||||
-static nvidia_modeset_rm_ops_t __rm_ops = { 0 };
|
||||
+static const nvidia_modeset_rm_ops_t *__rm_ops;
|
||||
static nvidia_modeset_callbacks_t nvkms_rm_callbacks = {
|
||||
- nvkms_suspend,
|
||||
- nvkms_resume
|
||||
+ .suspend = nvkms_suspend,
|
||||
+ .resume = nvkms_resume
|
||||
};
|
||||
|
||||
static int nvkms_alloc_rm(void)
|
||||
{
|
||||
NV_STATUS nvstatus;
|
||||
int ret;
|
||||
+ const char *version_string = NV_VERSION_STRING;
|
||||
|
||||
- __rm_ops.version_string = NV_VERSION_STRING;
|
||||
-
|
||||
- nvstatus = nvidia_get_rm_ops(&__rm_ops);
|
||||
+ nvstatus = nvidia_get_rm_ops(&__rm_ops, &version_string);
|
||||
|
||||
if (nvstatus != NV_OK) {
|
||||
printk(KERN_ERR NVKMS_LOG_PREFIX "Version mismatch: "
|
||||
"nvidia.ko(%s) nvidia-modeset.ko(%s)\n",
|
||||
- __rm_ops.version_string, NV_VERSION_STRING);
|
||||
+ version_string, NV_VERSION_STRING);
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
- ret = __rm_ops.set_callbacks(&nvkms_rm_callbacks);
|
||||
+ ret = __rm_ops->set_callbacks(&nvkms_rm_callbacks);
|
||||
if (ret < 0) {
|
||||
printk(KERN_ERR NVKMS_LOG_PREFIX "Failed to register callbacks\n");
|
||||
return ret;
|
||||
@@ -368,20 +367,20 @@ static int nvkms_alloc_rm(void)
|
||||
|
||||
static void nvkms_free_rm(void)
|
||||
{
|
||||
- __rm_ops.set_callbacks(NULL);
|
||||
+ __rm_ops->set_callbacks(NULL);
|
||||
}
|
||||
|
||||
void NVKMS_API_CALL nvkms_call_rm(void *ops)
|
||||
{
|
||||
nvidia_modeset_stack_ptr stack = NULL;
|
||||
|
||||
- if (__rm_ops.alloc_stack(&stack) != 0) {
|
||||
+ if (__rm_ops->alloc_stack(&stack) != 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
- __rm_ops.op(stack, ops);
|
||||
+ __rm_ops->op(stack, ops);
|
||||
|
||||
- __rm_ops.free_stack(stack);
|
||||
+ __rm_ops->free_stack(stack);
|
||||
}
|
||||
|
||||
/*************************************************************************
|
||||
@@ -705,13 +704,13 @@ NvBool NVKMS_API_CALL nvkms_open_gpu(NvU
|
||||
nvidia_modeset_stack_ptr stack = NULL;
|
||||
NvBool ret;
|
||||
|
||||
- if (__rm_ops.alloc_stack(&stack) != 0) {
|
||||
+ if (__rm_ops->alloc_stack(&stack) != 0) {
|
||||
return NV_FALSE;
|
||||
}
|
||||
|
||||
- ret = __rm_ops.open_gpu(gpuId, stack) == 0;
|
||||
+ ret = __rm_ops->open_gpu(gpuId, stack) == 0;
|
||||
|
||||
- __rm_ops.free_stack(stack);
|
||||
+ __rm_ops->free_stack(stack);
|
||||
|
||||
return ret;
|
||||
}
|
||||
@@ -720,23 +719,23 @@ void NVKMS_API_CALL nvkms_close_gpu(NvU3
|
||||
{
|
||||
nvidia_modeset_stack_ptr stack = NULL;
|
||||
|
||||
- if (__rm_ops.alloc_stack(&stack) != 0) {
|
||||
+ if (__rm_ops->alloc_stack(&stack) != 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
- __rm_ops.close_gpu(gpuId, stack);
|
||||
+ __rm_ops->close_gpu(gpuId, stack);
|
||||
|
||||
- __rm_ops.free_stack(stack);
|
||||
+ __rm_ops->free_stack(stack);
|
||||
}
|
||||
|
||||
NvU32 NVKMS_API_CALL nvkms_enumerate_gpus(nv_gpu_info_t *gpu_info)
|
||||
{
|
||||
- return __rm_ops.enumerate_gpus(gpu_info);
|
||||
+ return __rm_ops->enumerate_gpus(gpu_info);
|
||||
}
|
||||
|
||||
NvBool NVKMS_API_CALL nvkms_allow_write_combining(void)
|
||||
{
|
||||
- return __rm_ops.system_info.allow_write_combining;
|
||||
+ return __rm_ops->system_info.allow_write_combining;
|
||||
}
|
||||
|
||||
/*************************************************************************
|
||||
diff -urp work.orig/kernel/nvidia-uvm/uvm8_global.c work/kernel/nvidia-uvm/uvm8_global.c
|
||||
--- work.orig/kernel/nvidia-uvm/uvm8_global.c 2016-11-27 21:56:50.399642330 +0100
|
||||
+++ work/kernel/nvidia-uvm/uvm8_global.c 2016-11-27 21:54:23.975709978 +0100
|
||||
@@ -35,17 +35,17 @@
|
||||
#include "nv_uvm_interface.h"
|
||||
|
||||
uvm_global_t g_uvm_global;
|
||||
-static struct UvmOpsUvmEvents g_exported_uvm8_ops;
|
||||
+static struct UvmOpsUvmEvents g_exported_uvm8_ops = {
|
||||
+ .startDevice = NULL,
|
||||
+ .stopDevice = NULL,
|
||||
+ .isrTopHalf = uvm8_isr_top_half,
|
||||
+};
|
||||
static bool g_ops_registered = false;
|
||||
|
||||
static NV_STATUS uvm8_register_callbacks(void)
|
||||
{
|
||||
NV_STATUS status = NV_OK;
|
||||
|
||||
- g_exported_uvm8_ops.startDevice = NULL;
|
||||
- g_exported_uvm8_ops.stopDevice = NULL;
|
||||
- g_exported_uvm8_ops.isrTopHalf = uvm8_isr_top_half;
|
||||
-
|
||||
// Register the UVM callbacks with the main GPU driver:
|
||||
status = uvm_rm_locked_call(nvUvmInterfaceRegisterUvmCallbacks(&g_exported_uvm8_ops));
|
||||
if (status != NV_OK)
|
||||
diff -urp work.orig/kernel/nvidia-uvm/uvm8_gpu_semaphore.c work/kernel/nvidia-uvm/uvm8_gpu_semaphore.c
|
||||
--- work.orig/kernel/nvidia-uvm/uvm8_gpu_semaphore.c 2016-11-27 21:56:50.399642330 +0100
|
||||
+++ work/kernel/nvidia-uvm/uvm8_gpu_semaphore.c 2016-11-27 21:54:23.975709978 +0100
|
||||
@@ -368,7 +368,7 @@ void uvm_gpu_semaphore_set_payload(uvm_g
|
||||
// being optimized out on non-SMP configs (we need them for interacting with
|
||||
// the GPU correctly even on non-SMP).
|
||||
mb();
|
||||
- ACCESS_ONCE(*semaphore->payload) = payload;
|
||||
+ ACCESS_ONCE_RW(*semaphore->payload) = payload;
|
||||
}
|
||||
|
||||
// This function is intended to catch channels which have been left dangling in
|
||||
diff -urp work.orig/kernel/nvidia-uvm/uvm8_hal.h work/kernel/nvidia-uvm/uvm8_hal.h
|
||||
--- work.orig/kernel/nvidia-uvm/uvm8_hal.h 2016-11-27 21:56:50.399642330 +0100
|
||||
+++ work/kernel/nvidia-uvm/uvm8_hal.h 2016-11-27 21:54:23.975709978 +0100
|
||||
@@ -316,7 +316,7 @@ typedef struct
|
||||
// fault_buffer_ops: id is a hardware class
|
||||
uvm_fault_buffer_hal_t fault_buffer_ops;
|
||||
} u;
|
||||
-} uvm_hal_class_ops_t;
|
||||
+} __do_const uvm_hal_class_ops_t;
|
||||
|
||||
// When UVM next support is enabled support for future chips in the hal is
|
||||
// enabled by providing additional hal table entries below.
|
||||
diff -urp work.orig/kernel/nvidia-uvm/uvm8_mmu.h work/kernel/nvidia-uvm/uvm8_mmu.h
|
||||
--- work.orig/kernel/nvidia-uvm/uvm8_mmu.h 2016-11-27 21:56:50.399642330 +0100
|
||||
+++ work/kernel/nvidia-uvm/uvm8_mmu.h 2016-11-27 21:54:23.975709978 +0100
|
||||
@@ -24,7 +24,6 @@
|
||||
#ifndef __UVM8_MMU_H__
|
||||
#define __UVM8_MMU_H__
|
||||
|
||||
-#include "uvm8_forward_decl.h"
|
||||
#include "uvm8_hal_types.h"
|
||||
#include "uvm8_pmm_gpu.h"
|
||||
#include "uvmtypes.h"
|
||||
diff -urp work.orig/kernel/nvidia-uvm/uvm_common.c work/kernel/nvidia-uvm/uvm_common.c
|
||||
--- work.orig/kernel/nvidia-uvm/uvm_common.c 2016-11-27 21:56:50.399642330 +0100
|
||||
+++ work/kernel/nvidia-uvm/uvm_common.c 2016-11-27 21:54:23.975709978 +0100
|
||||
@@ -42,7 +42,6 @@
|
||||
#define UVM_SPIN_LOOP_PRINT_TIMEOUT_SEC 30ULL
|
||||
|
||||
static dev_t g_uvmBaseDev;
|
||||
-struct UvmOpsUvmEvents g_exportedUvmOps;
|
||||
|
||||
static char* uvm_driver_mode = "8";
|
||||
|
||||
diff -urp work.orig/kernel/nvidia-uvm/uvm_full_fault_buffer.h work/kernel/nvidia-uvm/uvm_full_fault_buffer.h
|
||||
--- work.orig/kernel/nvidia-uvm/uvm_full_fault_buffer.h 2016-11-27 21:56:50.399642330 +0100
|
||||
+++ work/kernel/nvidia-uvm/uvm_full_fault_buffer.h 2016-11-27 21:54:23.975709978 +0100
|
||||
@@ -31,6 +31,7 @@
|
||||
#define _UVM_FULL_FAULT_BUFFER_H_
|
||||
|
||||
#include "uvmtypes.h"
|
||||
+#include "linux/compiler.h"
|
||||
|
||||
#define MAXWELL_FAULT_BUFFER_A (0xb069)
|
||||
#define MEM_RD32(a) (*(const volatile NvU32 *)(a))
|
||||
@@ -303,7 +304,7 @@ typedef struct
|
||||
NvUvmControlPrefetch_t controlPrefetch;
|
||||
NvUvmTestFaultBufferOverflow_t testFaultBufferOverflow;
|
||||
NvUvmClearFaultBufferOverflow_t clearFaultBufferOverflow;
|
||||
-} UvmFaultBufferOps;
|
||||
+} __no_const UvmFaultBufferOps;
|
||||
|
||||
/******************************************************************************
|
||||
uvmfull_fault_buffer_init
|
||||
diff -urp work.orig/kernel/nvidia-uvm/uvm_linux.h work/kernel/nvidia-uvm/uvm_linux.h
|
||||
--- work.orig/kernel/nvidia-uvm/uvm_linux.h 2016-11-27 21:56:50.399642330 +0100
|
||||
+++ work/kernel/nvidia-uvm/uvm_linux.h 2016-11-27 21:54:23.975709978 +0100
|
||||
@@ -420,7 +420,7 @@ static inline NvU64 NV_GETTIME(void)
|
||||
|
||||
// WRITE_ONCE/READ_ONCE have incompatible definitions across versions, which produces warnings.
|
||||
// Therefore, we define our own macros
|
||||
-#define UVM_WRITE_ONCE(x, val) (ACCESS_ONCE(x) = (val))
|
||||
+#define UVM_WRITE_ONCE(x, val) (ACCESS_ONCE_RW(x) = (val))
|
||||
#define UVM_READ_ONCE(x) ACCESS_ONCE(x)
|
||||
|
||||
// Added in 3.11
|
@ -1,11 +0,0 @@
|
||||
--- a/nvidia-application-profiles-375.82-rc
|
||||
+++ b/nvidia-application-profiles-375.82-rc
|
||||
@@ -48,7 +48,7 @@
|
||||
{
|
||||
"name" : "NoEnforceShaderInputOutputMatching",
|
||||
"settings" : [ "GLShaderPortabilityWarnings", false ]
|
||||
- },
|
||||
+ }
|
||||
],
|
||||
"rules" : [
|
||||
{
|
@ -1,17 +0,0 @@
|
||||
Binary files kernel.orig/.nv-procfs.c.swp and kernel/.nv-procfs.c.swp differ
|
||||
diff -urp kernel.orig/nv-procfs.c kernel/nv-procfs.c
|
||||
--- kernel.orig/nv-procfs.c 2011-07-13 03:29:30.000000000 +0200
|
||||
+++ kernel/nv-procfs.c 2011-07-19 15:45:27.982993911 +0200
|
||||
@@ -707,8 +707,10 @@ int nv_register_procfs(void)
|
||||
* However, in preparation for this, we need to preserve
|
||||
* the procfs read() and write() operations.
|
||||
*/
|
||||
- nv_procfs_registry_fops.read = entry->proc_fops->read;
|
||||
- nv_procfs_registry_fops.write = entry->proc_fops->write;
|
||||
+ pax_open_kernel();
|
||||
+ *(void **)&nv_procfs_registry_fops.read = entry->proc_fops->read;
|
||||
+ *(void **)&nv_procfs_registry_fops.write = entry->proc_fops->write;
|
||||
+ pax_close_kernel();
|
||||
|
||||
entry = NV_CREATE_PROC_FILE("registry", proc_nvidia,
|
||||
nv_procfs_read_registry,
|
@ -1,54 +0,0 @@
|
||||
diff -urp kernel.orig/nv.c kernel/nv.c
|
||||
--- kernel.orig/nv.c 2011-09-24 02:32:09.000000000 +0200
|
||||
+++ kernel/nv.c 2011-10-05 19:13:41.474242252 +0200
|
||||
@@ -1105,7 +1105,7 @@ static int __init nvidia_init_module(voi
|
||||
NV_SPIN_LOCK_INIT(&km_lock);
|
||||
#endif
|
||||
|
||||
- NV_KMEM_CACHE_CREATE(nv_stack_t_cache, "nv_stack_t", nv_stack_t);
|
||||
+ NV_KMEM_CACHE_CREATE(nv_stack_t_cache, "nv_stack_t", nv_stack_t, SLAB_USERCOPY);
|
||||
if (nv_stack_t_cache == NULL)
|
||||
{
|
||||
nv_printf(NV_DBG_ERRORS, "NVRM: stack cache allocation failed!\n");
|
||||
@@ -1220,7 +1220,7 @@ static int __init nvidia_init_module(voi
|
||||
}
|
||||
#endif
|
||||
|
||||
- NV_KMEM_CACHE_CREATE(nv_pte_t_cache, "nv_pte_t", nv_pte_t);
|
||||
+ NV_KMEM_CACHE_CREATE(nv_pte_t_cache, "nv_pte_t", nv_pte_t, 0);
|
||||
if (nv_pte_t_cache == NULL)
|
||||
{
|
||||
rc = -ENOMEM;
|
||||
@@ -1229,7 +1229,7 @@ static int __init nvidia_init_module(voi
|
||||
}
|
||||
|
||||
NV_KMEM_CACHE_CREATE(nvidia_p2p_page_t_cache, "nvidia_p2p_page_t",
|
||||
- nvidia_p2p_page_t);
|
||||
+ nvidia_p2p_page_t, 0);
|
||||
if (nvidia_p2p_page_t_cache == NULL)
|
||||
{
|
||||
rc = -ENOMEM;
|
||||
diff -urp kernel.orig/nv-linux.h kernel/nv-linux.h
|
||||
--- kernel.orig/nv-linux.h 2011-09-24 02:32:09.000000000 +0200
|
||||
+++ kernel/nv-linux.h 2011-10-05 19:14:42.522238996 +0200
|
||||
@@ -695,16 +695,16 @@ extern nv_spinlock_t km_lock;
|
||||
|
||||
#if defined(NV_KMEM_CACHE_CREATE_PRESENT)
|
||||
#if (NV_KMEM_CACHE_CREATE_ARGUMENT_COUNT == 6)
|
||||
-#define NV_KMEM_CACHE_CREATE(kmem_cache, name, type) \
|
||||
+#define NV_KMEM_CACHE_CREATE(kmem_cache, name, type, flags) \
|
||||
{ \
|
||||
kmem_cache = kmem_cache_create(name, sizeof(type), \
|
||||
- 0, 0, NULL, NULL); \
|
||||
+ 0, flags, NULL, NULL); \
|
||||
}
|
||||
#elif (NV_KMEM_CACHE_CREATE_ARGUMENT_COUNT == 5)
|
||||
-#define NV_KMEM_CACHE_CREATE(kmem_cache, name, type) \
|
||||
+#define NV_KMEM_CACHE_CREATE(kmem_cache, name, type, flags) \
|
||||
{ \
|
||||
kmem_cache = kmem_cache_create(name, sizeof(type), \
|
||||
- 0, 0, NULL); \
|
||||
+ 0, flags, NULL); \
|
||||
}
|
||||
#else
|
||||
#error "NV_KMEM_CACHE_CREATE_ARGUMENT_COUNT value unrecognized!"
|
@ -1,8 +0,0 @@
|
||||
# run-time configuration file for /etc/init.d/nvidia-persistenced
|
||||
|
||||
# NVPD_USER: The user nvidia-persistenced is intended to run for
|
||||
NVPD_USER=""
|
||||
|
||||
# ARGS: Additional arguments to set the default persistence mode
|
||||
# (see nvidia-persistenced(1))
|
||||
ARGS=""
|
@ -1,24 +0,0 @@
|
||||
#!/sbin/openrc-run
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
pidfile="/var/run/nvidia-persistenced/nvidia-persistenced.pid"
|
||||
|
||||
start() {
|
||||
if ! [ "${NVPD_USER}x" = x ]; then
|
||||
ebegin "Starting nvidia-persistenced for ${NVPD_USER}"
|
||||
NVPD_USER_ARG="--user ${NVPD_USER}"
|
||||
else
|
||||
ebegin "Starting nvidia-persistenced"
|
||||
fi
|
||||
start-stop-daemon --start --quiet --pidfile ${pidfile} \
|
||||
--background --exec /opt/bin/nvidia-persistenced \
|
||||
-- ${NVPD_USER_ARG} ${ARGS}
|
||||
eend $?
|
||||
}
|
||||
|
||||
stop() {
|
||||
ebegin "Stopping nvidia-persistenced"
|
||||
start-stop-daemon --stop --quiet --pidfile ${pidfile}
|
||||
eend $?
|
||||
}
|
@ -1,3 +0,0 @@
|
||||
# Nvidia UVM support
|
||||
|
||||
remove nvidia modprobe -r --ignore-remove nvidia-drm nvidia-modeset nvidia-uvm nvidia
|
@ -1,22 +0,0 @@
|
||||
--- a/nvidia-settings-@PV@/utils.mk
|
||||
+++ b/nvidia-settings-@PV@/utils.mk
|
||||
@@ -475,7 +475,7 @@
|
||||
define READ_ONLY_OBJECT_FROM_FILE_RULE
|
||||
$$(OUTPUTDIR)/$$(notdir $(1)).o: $(1)
|
||||
$(at_if_quiet)cd $$(dir $(1)); \
|
||||
- $$(call quiet_cmd_no_at,LD) -r -z noexecstack --format=binary \
|
||||
+ $$(call quiet_cmd_no_at,NVLD) -r -z noexecstack --format=binary \
|
||||
$$(notdir $(1)) -o $$(OUTPUTDIR_ABSOLUTE)/$$(notdir $$@)
|
||||
$$(call quiet_cmd,OBJCOPY) \
|
||||
--rename-section .data=.rodata,contents,alloc,load,data,readonly \
|
||||
--- a/nvidia-settings-@PV@/src/libXNVCtrl/utils.mk
|
||||
+++ b/nvidia-settings-@PV@/src/libXNVCtrl/utils.mk
|
||||
@@ -475,7 +475,7 @@
|
||||
define READ_ONLY_OBJECT_FROM_FILE_RULE
|
||||
$$(OUTPUTDIR)/$$(notdir $(1)).o: $(1)
|
||||
$(at_if_quiet)cd $$(dir $(1)); \
|
||||
- $$(call quiet_cmd_no_at,LD) -r -z noexecstack --format=binary \
|
||||
+ $$(call quiet_cmd_no_at,NVLD) -r -z noexecstack --format=binary \
|
||||
$$(notdir $(1)) -o $$(OUTPUTDIR_ABSOLUTE)/$$(notdir $$@)
|
||||
$$(call quiet_cmd,OBJCOPY) \
|
||||
--rename-section .data=.rodata,contents,alloc,load,data,readonly \
|
@ -1,7 +0,0 @@
|
||||
[Desktop Entry]
|
||||
Type=Application
|
||||
Name=NVIDIA X Server Settings
|
||||
Comment=Configure NVIDIA X Server Settings
|
||||
Exec=/usr/bin/nvidia-settings
|
||||
Icon=nvidia-settings
|
||||
Categories=System;Settings;
|
@ -1,24 +0,0 @@
|
||||
#!/sbin/openrc-run
|
||||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
pidfile="/run/nvidia-smi.pid"
|
||||
|
||||
depend() {
|
||||
after modules
|
||||
}
|
||||
|
||||
start() {
|
||||
ebegin "Starting NVIDIA System Management Interface"
|
||||
rm -f ${pidfile}
|
||||
start-stop-daemon --start --quiet --pidfile ${pidfile} \
|
||||
--make-pidfile --background --exec /opt/bin/nvidia-smi -- \
|
||||
-q -l 300
|
||||
eend $?
|
||||
}
|
||||
|
||||
stop() {
|
||||
ebegin "Stopping NVIDIA System Management Interface"
|
||||
start-stop-daemon --stop --quiet --pidfile ${pidfile}
|
||||
eend $?
|
||||
}
|
@ -1,17 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
if [ $# -ne 1 ]; then
|
||||
echo "Invalid args" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
case $1 in
|
||||
add|ADD)
|
||||
/opt/bin/nvidia-smi > /dev/null
|
||||
;;
|
||||
remove|REMOVE)
|
||||
rm -f /dev/nvidia*
|
||||
;;
|
||||
esac
|
||||
|
||||
exit 0
|
@ -1,20 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
if [ $# -ne 1 ]; then
|
||||
echo "Invalid args" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
case $1 in
|
||||
add|ADD)
|
||||
#hopefully this prevents infinite loops like bug #454740
|
||||
if lsmod | grep -iq nvidia; then
|
||||
/opt/bin/nvidia-smi > /dev/null
|
||||
fi
|
||||
;;
|
||||
remove|REMOVE)
|
||||
rm -f /dev/nvidia*
|
||||
;;
|
||||
esac
|
||||
|
||||
exit 0
|
@ -1,3 +0,0 @@
|
||||
# Nvidia UVM support
|
||||
|
||||
remove nvidia modprobe -r --ignore-remove nvidia-uvm nvidia
|
@ -1,6 +0,0 @@
|
||||
ACTION=="add", DEVPATH=="/module/nvidia", SUBSYSTEM=="module", RUN+="nvidia-udev.sh $env{ACTION}"
|
||||
# Previously the ACTION was "add|remove" but one user on bug #376527 had a
|
||||
# problem until he recompiled udev-171-r5, which is one of the versions I
|
||||
# tested with and it was fine. I'm breaking the rules out just to be safe
|
||||
# so someone else doesn't have an issue
|
||||
ACTION=="remove", DEVPATH=="/module/nvidia", SUBSYSTEM=="module", RUN+="nvidia-udev.sh $env{ACTION}"
|
@ -1,29 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="person">
|
||||
<email>jer@gentoo.org</email>
|
||||
</maintainer>
|
||||
<maintainer type="project">
|
||||
<email>hardened@gentoo.org</email>
|
||||
</maintainer>
|
||||
<maintainer type="person">
|
||||
<email>webmaster@gentoostudio.org</email>
|
||||
</maintainer>
|
||||
<longdescription>
|
||||
Nvidia provides different branches of its drivers for different batches of its
|
||||
hardware. When maintaining these ebuilds or other ebuilds depending on them,
|
||||
you will need to keep in mind that the major versions represent these different
|
||||
branches.
|
||||
</longdescription>
|
||||
<use>
|
||||
<flag name="compat">Install non-GLVND libGL for backwards compatibility</flag>
|
||||
<flag name="driver">Install the kernel driver module</flag>
|
||||
<flag name="X">Install the X.org driver, OpenGL libraries, XvMC libraries, and VDPAU libraries</flag>
|
||||
<flag name="gtk3">Install nvidia-settings with support for GTK+ 3</flag>
|
||||
<flag name="kms">Enable support for kernel mode setting (KMS)</flag>
|
||||
<flag name="pax_kernel">PaX patches from the PaX project</flag>
|
||||
<flag name="tools">Install additional tools such as nvidia-settings</flag>
|
||||
<flag name="uvm">Install the Unified Memory kernel module (nvidia-uvm) for sharing memory between CPU and GPU in CUDA programs</flag>
|
||||
</use>
|
||||
</pkgmetadata>
|
@ -1,573 +0,0 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
inherit eutils flag-o-matic linux-info linux-mod multilib-minimal nvidia-driver \
|
||||
portability toolchain-funcs unpacker user udev
|
||||
|
||||
NV_URI="http://http.download.nvidia.com/XFree86/"
|
||||
X86_NV_PACKAGE="NVIDIA-Linux-x86-${PV}"
|
||||
AMD64_NV_PACKAGE="NVIDIA-Linux-x86_64-${PV}"
|
||||
ARM_NV_PACKAGE="NVIDIA-Linux-armv7l-gnueabihf-${PV}"
|
||||
X86_FBSD_NV_PACKAGE="NVIDIA-FreeBSD-x86-${PV}"
|
||||
AMD64_FBSD_NV_PACKAGE="NVIDIA-FreeBSD-x86_64-${PV}"
|
||||
|
||||
DESCRIPTION="NVIDIA Accelerated Graphics Driver"
|
||||
HOMEPAGE="http://www.nvidia.com/ http://www.nvidia.com/Download/Find.aspx"
|
||||
SRC_URI="
|
||||
amd64-fbsd? ( ${NV_URI}FreeBSD-x86_64/${PV}/${AMD64_FBSD_NV_PACKAGE}.tar.gz )
|
||||
amd64? ( ${NV_URI}Linux-x86_64/${PV}/${AMD64_NV_PACKAGE}.run )
|
||||
arm? ( ${NV_URI}Linux-32bit-ARM/${PV}/${ARM_NV_PACKAGE}.run )
|
||||
x86-fbsd? ( ${NV_URI}FreeBSD-x86/${PV}/${X86_FBSD_NV_PACKAGE}.tar.gz )
|
||||
x86? ( ${NV_URI}Linux-x86/${PV}/${X86_NV_PACKAGE}.run )
|
||||
tools? (
|
||||
https://github.com/NVIDIA/nvidia-settings/archive/${PV}.tar.gz -> nvidia-settings-${PV}.tar.gz
|
||||
)
|
||||
"
|
||||
|
||||
LICENSE="GPL-2 NVIDIA-r2"
|
||||
SLOT="0/${PV%.*}"
|
||||
KEYWORDS="-* amd64 x86 ~amd64-fbsd ~x86-fbsd"
|
||||
RESTRICT="bindist mirror"
|
||||
EMULTILIB_PKG="true"
|
||||
|
||||
IUSE="acpi compat +driver gtk3 kernel_FreeBSD kernel_linux +kms multilib pax_kernel static-libs +tools uvm wayland +X"
|
||||
REQUIRED_USE="
|
||||
tools? ( X )
|
||||
static-libs? ( tools )
|
||||
"
|
||||
|
||||
COMMON="
|
||||
app-eselect/eselect-opencl
|
||||
kernel_linux? ( >=sys-libs/glibc-2.6.1 )
|
||||
tools? (
|
||||
dev-libs/atk
|
||||
dev-libs/glib:2
|
||||
dev-libs/jansson
|
||||
gtk3? (
|
||||
x11-libs/gtk+:3
|
||||
)
|
||||
x11-libs/cairo
|
||||
x11-libs/gdk-pixbuf[X]
|
||||
x11-libs/gtk+:2
|
||||
x11-libs/libX11
|
||||
x11-libs/libXext
|
||||
x11-libs/libXrandr
|
||||
x11-libs/libXv
|
||||
x11-libs/libXxf86vm
|
||||
x11-libs/pango[X]
|
||||
)
|
||||
X? (
|
||||
>=app-eselect/eselect-opengl-1.0.9
|
||||
app-misc/pax-utils
|
||||
)
|
||||
"
|
||||
DEPEND="
|
||||
${COMMON}
|
||||
kernel_linux? ( virtual/linux-sources )
|
||||
tools? ( sys-apps/dbus )
|
||||
"
|
||||
RDEPEND="
|
||||
${COMMON}
|
||||
acpi? ( sys-power/acpid )
|
||||
tools? ( !media-video/nvidia-settings )
|
||||
wayland? ( dev-libs/wayland[${MULTILIB_USEDEP}] )
|
||||
X? (
|
||||
<x11-base/xorg-server-1.19.99:=
|
||||
>=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}]
|
||||
>=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}]
|
||||
>=x11-libs/libvdpau-1.0[${MULTILIB_USEDEP}]
|
||||
sys-libs/zlib[${MULTILIB_USEDEP}]
|
||||
)
|
||||
"
|
||||
|
||||
QA_PREBUILT="opt/* usr/lib*"
|
||||
|
||||
S=${WORKDIR}/
|
||||
|
||||
nvidia_drivers_versions_check() {
|
||||
if use amd64 && has_multilib_profile && \
|
||||
[ "${DEFAULT_ABI}" != "amd64" ]; then
|
||||
eerror "This ebuild doesn't currently support changing your default ABI"
|
||||
die "Unexpected \${DEFAULT_ABI} = ${DEFAULT_ABI}"
|
||||
fi
|
||||
|
||||
if use kernel_linux && kernel_is ge 4 12; then
|
||||
ewarn "Gentoo supports kernels which are supported by NVIDIA"
|
||||
ewarn "which are limited to the following kernels:"
|
||||
ewarn "<sys-kernel/gentoo-sources-4.12"
|
||||
ewarn "<sys-kernel/vanilla-sources-4.12"
|
||||
ewarn ""
|
||||
ewarn "You are free to utilize epatch_user to provide whatever"
|
||||
ewarn "support you feel is appropriate, but will not receive"
|
||||
ewarn "support as a result of those changes."
|
||||
ewarn ""
|
||||
ewarn "Do not file a bug report about this."
|
||||
ewarn ""
|
||||
fi
|
||||
|
||||
# Since Nvidia ships many different series of drivers, we need to give the user
|
||||
# some kind of guidance as to what version they should install. This tries
|
||||
# to point the user in the right direction but can't be perfect. check
|
||||
# nvidia-driver.eclass
|
||||
nvidia-driver-check-warning
|
||||
|
||||
# Kernel features/options to check for
|
||||
CONFIG_CHECK="~ZONE_DMA ~MTRR ~SYSVIPC ~!LOCKDEP"
|
||||
use x86 && CONFIG_CHECK+=" ~HIGHMEM"
|
||||
|
||||
# Now do the above checks
|
||||
use kernel_linux && check_extra_config
|
||||
}
|
||||
|
||||
pkg_pretend() {
|
||||
nvidia_drivers_versions_check
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
nvidia_drivers_versions_check
|
||||
|
||||
# try to turn off distcc and ccache for people that have a problem with it
|
||||
export DISTCC_DISABLE=1
|
||||
export CCACHE_DISABLE=1
|
||||
|
||||
if use driver && use kernel_linux; then
|
||||
MODULE_NAMES="nvidia(video:${S}/kernel)"
|
||||
use uvm && MODULE_NAMES+=" nvidia-uvm(video:${S}/kernel)"
|
||||
use kms && MODULE_NAMES+=" nvidia-modeset(video:${S}/kernel) nvidia-drm(video:${S}/kernel)"
|
||||
|
||||
# This needs to run after MODULE_NAMES (so that the eclass checks
|
||||
# whether the kernel supports loadable modules) but before BUILD_PARAMS
|
||||
# is set (so that KV_DIR is populated).
|
||||
linux-mod_pkg_setup
|
||||
|
||||
BUILD_PARAMS="IGNORE_CC_MISMATCH=yes V=1 SYSSRC=${KV_DIR} \
|
||||
SYSOUT=${KV_OUT_DIR} CC=$(tc-getBUILD_CC) NV_VERBOSE=1"
|
||||
|
||||
# linux-mod_src_compile calls set_arch_to_kernel, which
|
||||
# sets the ARCH to x86 but NVIDIA's wrapping Makefile
|
||||
# expects x86_64 or i386 and then converts it to x86
|
||||
# later on in the build process
|
||||
BUILD_FIXES="ARCH=$(uname -m | sed -e 's/i.86/i386/')"
|
||||
fi
|
||||
|
||||
if use kernel_linux && kernel_is lt 2 6 9; then
|
||||
eerror "You must build this against 2.6.9 or higher kernels."
|
||||
fi
|
||||
|
||||
# set variables to where files are in the package structure
|
||||
if use kernel_FreeBSD; then
|
||||
use x86-fbsd && S="${WORKDIR}/${X86_FBSD_NV_PACKAGE}"
|
||||
use amd64-fbsd && S="${WORKDIR}/${AMD64_FBSD_NV_PACKAGE}"
|
||||
NV_DOC="${S}/doc"
|
||||
NV_OBJ="${S}/obj"
|
||||
NV_SRC="${S}/src"
|
||||
NV_MAN="${S}/x11/man"
|
||||
NV_X11="${S}/obj"
|
||||
NV_SOVER=1
|
||||
elif use kernel_linux; then
|
||||
NV_DOC="${S}"
|
||||
NV_OBJ="${S}"
|
||||
NV_SRC="${S}/kernel"
|
||||
NV_MAN="${S}"
|
||||
NV_X11="${S}"
|
||||
NV_SOVER=${PV}
|
||||
else
|
||||
die "Could not determine proper NVIDIA package"
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
if use pax_kernel; then
|
||||
ewarn "Using PAX patches is not supported. You will be asked to"
|
||||
ewarn "use a standard kernel should you have issues. Should you"
|
||||
ewarn "need support with these patches, contact the PaX team."
|
||||
eapply "${FILESDIR}"/${PN}-375.20-pax.patch
|
||||
fi
|
||||
|
||||
local man_file
|
||||
for man_file in "${NV_MAN}"/*1.gz; do
|
||||
gunzip $man_file || die
|
||||
done
|
||||
|
||||
# Allow user patches so they can support RC kernels and whatever else
|
||||
eapply_user
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# This is already the default on Linux, as there's no toplevel Makefile, but
|
||||
# on FreeBSD there's one and triggers the kernel module build, as we install
|
||||
# it by itself, pass this.
|
||||
|
||||
cd "${NV_SRC}"
|
||||
if use kernel_FreeBSD; then
|
||||
MAKE="$(get_bmake)" CFLAGS="-Wno-sign-compare" emake CC="$(tc-getCC)" \
|
||||
LD="$(tc-getLD)" LDFLAGS="$(raw-ldflags)" || die
|
||||
elif use driver && use kernel_linux; then
|
||||
MAKEOPTS=-j1 linux-mod_src_compile
|
||||
fi
|
||||
|
||||
if use tools; then
|
||||
emake -C "${S}"/nvidia-settings-${PV}/src \
|
||||
AR="$(tc-getAR)" \
|
||||
CC="$(tc-getCC)" \
|
||||
LIBDIR="$(get_libdir)" \
|
||||
NV_VERBOSE=1 \
|
||||
RANLIB="$(tc-getRANLIB)" \
|
||||
DO_STRIP= \
|
||||
build-xnvctrl
|
||||
|
||||
emake -C "${S}"/nvidia-settings-${PV}/src \
|
||||
CC="$(tc-getCC)" \
|
||||
GTK3_AVAILABLE=$(usex gtk3 1 0) \
|
||||
LD="$(tc-getCC)" \
|
||||
LIBDIR="$(get_libdir)" \
|
||||
NVML_ENABLED=0 \
|
||||
NV_USE_BUNDLED_LIBJANSSON=0 \
|
||||
NV_VERBOSE=1 \
|
||||
DO_STRIP=
|
||||
fi
|
||||
}
|
||||
|
||||
# Install nvidia library:
|
||||
# the first parameter is the library to install
|
||||
# the second parameter is the provided soversion
|
||||
# the third parameter is the target directory if it is not /usr/lib
|
||||
donvidia() {
|
||||
# Full path to library
|
||||
nv_LIB="${1}"
|
||||
|
||||
# SOVER to use
|
||||
nv_SOVER="$(scanelf -qF'%S#F' ${nv_LIB})"
|
||||
|
||||
# Where to install
|
||||
nv_DEST="${2}"
|
||||
|
||||
# Get just the library name
|
||||
nv_LIBNAME=$(basename "${nv_LIB}")
|
||||
|
||||
if [[ "${nv_DEST}" ]]; then
|
||||
exeinto ${nv_DEST}
|
||||
action="doexe"
|
||||
else
|
||||
nv_DEST="/usr/$(get_libdir)"
|
||||
action="dolib.so"
|
||||
fi
|
||||
|
||||
# Install the library
|
||||
${action} ${nv_LIB} || die "failed to install ${nv_LIBNAME}"
|
||||
|
||||
# If the library has a SONAME and SONAME does not match the library name,
|
||||
# then we need to create a symlink
|
||||
if [[ ${nv_SOVER} ]] && ! [[ "${nv_SOVER}" = "${nv_LIBNAME}" ]]; then
|
||||
dosym ${nv_LIBNAME} ${nv_DEST}/${nv_SOVER} \
|
||||
|| die "failed to create ${nv_DEST}/${nv_SOVER} symlink"
|
||||
fi
|
||||
|
||||
dosym ${nv_LIBNAME} ${nv_DEST}/${nv_LIBNAME/.so*/.so} \
|
||||
|| die "failed to create ${nv_LIBNAME/.so*/.so} symlink"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
if use driver && use kernel_linux; then
|
||||
linux-mod_src_install
|
||||
|
||||
# Add the aliases
|
||||
# This file is tweaked with the appropriate video group in
|
||||
# pkg_preinst, see bug #491414
|
||||
insinto /etc/modprobe.d
|
||||
newins "${FILESDIR}"/nvidia-169.07 nvidia.conf
|
||||
doins "${FILESDIR}"/nvidia-rmmod.conf
|
||||
|
||||
# Ensures that our device nodes are created when not using X
|
||||
exeinto "$(get_udevdir)"
|
||||
newexe "${FILESDIR}"/nvidia-udev.sh-r1 nvidia-udev.sh
|
||||
udev_newrules "${FILESDIR}"/nvidia.udev-rule 99-nvidia.rules
|
||||
elif use kernel_FreeBSD; then
|
||||
if use x86-fbsd; then
|
||||
insinto /boot/modules
|
||||
doins "${S}/src/nvidia.kld"
|
||||
fi
|
||||
|
||||
exeinto /boot/modules
|
||||
doexe "${S}/src/nvidia.ko"
|
||||
fi
|
||||
|
||||
# NVIDIA kernel <-> userspace driver config lib
|
||||
donvidia ${NV_OBJ}/libnvidia-cfg.so.${NV_SOVER}
|
||||
|
||||
# NVIDIA framebuffer capture library
|
||||
donvidia ${NV_OBJ}/libnvidia-fbc.so.${NV_SOVER}
|
||||
|
||||
# NVIDIA video encode/decode <-> CUDA
|
||||
if use kernel_linux; then
|
||||
donvidia ${NV_OBJ}/libnvcuvid.so.${NV_SOVER}
|
||||
donvidia ${NV_OBJ}/libnvidia-encode.so.${NV_SOVER}
|
||||
fi
|
||||
|
||||
if use X; then
|
||||
# Xorg DDX driver
|
||||
insinto /usr/$(get_libdir)/xorg/modules/drivers
|
||||
doins ${NV_X11}/nvidia_drv.so
|
||||
|
||||
# Xorg GLX driver
|
||||
donvidia ${NV_X11}/libglx.so.${NV_SOVER} \
|
||||
/usr/$(get_libdir)/opengl/nvidia/extensions
|
||||
|
||||
# Xorg nvidia.conf
|
||||
if has_version '>=x11-base/xorg-server-1.16'; then
|
||||
insinto /usr/share/X11/xorg.conf.d
|
||||
newins {,50-}nvidia-drm-outputclass.conf
|
||||
fi
|
||||
|
||||
insinto /usr/share/glvnd/egl_vendor.d
|
||||
doins ${NV_X11}/10_nvidia.json
|
||||
fi
|
||||
|
||||
if use wayland; then
|
||||
insinto /usr/share/egl/egl_external_platform.d
|
||||
doins ${NV_X11}/10_nvidia_wayland.json
|
||||
fi
|
||||
|
||||
# OpenCL ICD for NVIDIA
|
||||
if use kernel_linux; then
|
||||
insinto /etc/OpenCL/vendors
|
||||
doins ${NV_OBJ}/nvidia.icd
|
||||
fi
|
||||
|
||||
# Documentation
|
||||
if use kernel_FreeBSD; then
|
||||
dodoc "${NV_DOC}/README"
|
||||
use X && doman "${NV_MAN}"/nvidia-xconfig.1
|
||||
use tools && doman "${NV_MAN}"/nvidia-settings.1
|
||||
else
|
||||
# Docs
|
||||
newdoc "${NV_DOC}/README.txt" README
|
||||
dodoc "${NV_DOC}/NVIDIA_Changelog"
|
||||
doman "${NV_MAN}"/nvidia-smi.1
|
||||
use X && doman "${NV_MAN}"/nvidia-xconfig.1
|
||||
use tools && doman "${NV_MAN}"/nvidia-settings.1
|
||||
doman "${NV_MAN}"/nvidia-cuda-mps-control.1
|
||||
fi
|
||||
|
||||
docinto html
|
||||
dodoc -r ${NV_DOC}/html/*
|
||||
|
||||
# Helper Apps
|
||||
exeinto /opt/bin/
|
||||
|
||||
if use X; then
|
||||
doexe ${NV_OBJ}/nvidia-xconfig
|
||||
|
||||
insinto /etc/vulkan/icd.d
|
||||
doins nvidia_icd.json
|
||||
fi
|
||||
|
||||
if use kernel_linux; then
|
||||
doexe ${NV_OBJ}/nvidia-cuda-mps-control
|
||||
doexe ${NV_OBJ}/nvidia-cuda-mps-server
|
||||
doexe ${NV_OBJ}/nvidia-debugdump
|
||||
doexe ${NV_OBJ}/nvidia-persistenced
|
||||
doexe ${NV_OBJ}/nvidia-smi
|
||||
|
||||
# install nvidia-modprobe setuid and symlink in /usr/bin (bug #505092)
|
||||
doexe ${NV_OBJ}/nvidia-modprobe
|
||||
fowners root:video /opt/bin/nvidia-modprobe
|
||||
fperms 4710 /opt/bin/nvidia-modprobe
|
||||
dosym /{opt,usr}/bin/nvidia-modprobe
|
||||
|
||||
doman nvidia-cuda-mps-control.1
|
||||
doman nvidia-modprobe.1
|
||||
doman nvidia-persistenced.1
|
||||
newinitd "${FILESDIR}/nvidia-smi.init" nvidia-smi
|
||||
newconfd "${FILESDIR}/nvidia-persistenced.conf" nvidia-persistenced
|
||||
newinitd "${FILESDIR}/nvidia-persistenced.init" nvidia-persistenced
|
||||
fi
|
||||
|
||||
if use tools; then
|
||||
emake -C "${S}"/nvidia-settings-${PV}/src/ \
|
||||
DESTDIR="${D}" \
|
||||
GTK3_AVAILABLE=$(usex gtk3 1 0) \
|
||||
LIBDIR="${D}/usr/$(get_libdir)" \
|
||||
NV_USE_BUNDLED_LIBJANSSON=0 \
|
||||
NV_VERBOSE=1 \
|
||||
PREFIX=/usr \
|
||||
DO_STRIP= \
|
||||
install
|
||||
|
||||
if use static-libs; then
|
||||
dolib.a "${S}"/nvidia-settings-${PV}/src/libXNVCtrl/libXNVCtrl.a
|
||||
|
||||
insinto /usr/include/NVCtrl
|
||||
doins "${S}"/nvidia-settings-${PV}/src/libXNVCtrl/*.h
|
||||
fi
|
||||
|
||||
insinto /usr/share/nvidia/
|
||||
doins nvidia-application-profiles-${PV}-key-documentation
|
||||
|
||||
insinto /etc/nvidia
|
||||
newins \
|
||||
nvidia-application-profiles-${PV}-rc nvidia-application-profiles-rc
|
||||
|
||||
# There is no icon in the FreeBSD tarball.
|
||||
use kernel_FreeBSD || \
|
||||
doicon ${NV_OBJ}/nvidia-settings.png
|
||||
|
||||
domenu "${FILESDIR}"/nvidia-settings.desktop
|
||||
|
||||
exeinto /etc/X11/xinit/xinitrc.d
|
||||
newexe "${FILESDIR}"/95-nvidia-settings-r1 95-nvidia-settings
|
||||
fi
|
||||
|
||||
dobin ${NV_OBJ}/nvidia-bug-report.sh
|
||||
|
||||
if has_multilib_profile && use multilib; then
|
||||
local OABI=${ABI}
|
||||
for ABI in $(get_install_abis); do
|
||||
src_install-libs
|
||||
done
|
||||
ABI=${OABI}
|
||||
unset OABI
|
||||
else
|
||||
src_install-libs
|
||||
fi
|
||||
|
||||
is_final_abi || die "failed to iterate through all ABIs"
|
||||
|
||||
readme.gentoo_create_doc
|
||||
}
|
||||
|
||||
src_install-libs() {
|
||||
local inslibdir=$(get_libdir)
|
||||
local GL_ROOT="/usr/$(get_libdir)/opengl/nvidia/lib"
|
||||
local CL_ROOT="/usr/$(get_libdir)/OpenCL/vendors/nvidia"
|
||||
local nv_libdir="${NV_OBJ}"
|
||||
|
||||
if use kernel_linux && has_multilib_profile && [[ ${ABI} == "x86" ]]; then
|
||||
nv_libdir="${NV_OBJ}"/32
|
||||
fi
|
||||
|
||||
if use X; then
|
||||
NV_GLX_LIBRARIES=(
|
||||
"libEGL.so.$(usex compat ${NV_SOVER} 1) ${GL_ROOT}"
|
||||
"libEGL_nvidia.so.${NV_SOVER} ${GL_ROOT}"
|
||||
"libGL.so.$(usex compat ${NV_SOVER} 1.0.0) ${GL_ROOT}"
|
||||
"libGLESv1_CM.so.1 ${GL_ROOT}"
|
||||
"libGLESv1_CM_nvidia.so.${NV_SOVER} ${GL_ROOT}"
|
||||
"libGLESv2.so.2 ${GL_ROOT}"
|
||||
"libGLESv2_nvidia.so.${NV_SOVER} ${GL_ROOT}"
|
||||
"libGLX.so.0 ${GL_ROOT}"
|
||||
"libGLX_nvidia.so.${NV_SOVER} ${GL_ROOT}"
|
||||
"libGLdispatch.so.0 ${GL_ROOT}"
|
||||
"libOpenCL.so.1.0.0 ${CL_ROOT}"
|
||||
"libOpenGL.so.0 ${GL_ROOT}"
|
||||
"libcuda.so.${NV_SOVER}"
|
||||
"libnvcuvid.so.${NV_SOVER}"
|
||||
"libnvidia-compiler.so.${NV_SOVER}"
|
||||
"libnvidia-eglcore.so.${NV_SOVER}"
|
||||
"libnvidia-encode.so.${NV_SOVER}"
|
||||
"libnvidia-fatbinaryloader.so.${NV_SOVER}"
|
||||
"libnvidia-fbc.so.${NV_SOVER}"
|
||||
"libnvidia-glcore.so.${NV_SOVER}"
|
||||
"libnvidia-glsi.so.${NV_SOVER}"
|
||||
"libnvidia-ifr.so.${NV_SOVER}"
|
||||
"libnvidia-opencl.so.${NV_SOVER}"
|
||||
"libnvidia-ptxjitcompiler.so.${NV_SOVER}"
|
||||
"libvdpau_nvidia.so.${NV_SOVER}"
|
||||
)
|
||||
|
||||
if use wayland && has_multilib_profile && [[ ${ABI} == "amd64" ]];
|
||||
then
|
||||
NV_GLX_LIBRARIES+=(
|
||||
"libnvidia-egl-wayland.so.1.0.1"
|
||||
)
|
||||
fi
|
||||
|
||||
if use kernel_linux && has_multilib_profile && [[ ${ABI} == "amd64" ]];
|
||||
then
|
||||
NV_GLX_LIBRARIES+=(
|
||||
"libnvidia-wfb.so.${NV_SOVER}"
|
||||
)
|
||||
fi
|
||||
|
||||
if use kernel_FreeBSD; then
|
||||
NV_GLX_LIBRARIES+=(
|
||||
"libnvidia-tls.so.${NV_SOVER}"
|
||||
)
|
||||
fi
|
||||
|
||||
if use kernel_linux; then
|
||||
NV_GLX_LIBRARIES+=(
|
||||
"libnvidia-ml.so.${NV_SOVER}"
|
||||
"tls/libnvidia-tls.so.${NV_SOVER}"
|
||||
)
|
||||
fi
|
||||
|
||||
for NV_LIB in "${NV_GLX_LIBRARIES[@]}"; do
|
||||
donvidia "${nv_libdir}"/${NV_LIB}
|
||||
done
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
if use driver && use kernel_linux; then
|
||||
linux-mod_pkg_preinst
|
||||
|
||||
local videogroup="$(egetent group video | cut -d ':' -f 3)"
|
||||
if [ -z "${videogroup}" ]; then
|
||||
eerror "Failed to determine the video group gid"
|
||||
die "Failed to determine the video group gid"
|
||||
else
|
||||
sed -i \
|
||||
-e "s:PACKAGE:${PF}:g" \
|
||||
-e "s:VIDEOGID:${videogroup}:" \
|
||||
"${D}"/etc/modprobe.d/nvidia.conf || die
|
||||
fi
|
||||
fi
|
||||
|
||||
# Clean the dynamic libGL stuff's home to ensure
|
||||
# we dont have stale libs floating around
|
||||
if [ -d "${ROOT}"/usr/lib/opengl/nvidia ]; then
|
||||
rm -rf "${ROOT}"/usr/lib/opengl/nvidia/*
|
||||
fi
|
||||
# Make sure we nuke the old nvidia-glx's env.d file
|
||||
if [ -e "${ROOT}"/etc/env.d/09nvidia ]; then
|
||||
rm -f "${ROOT}"/etc/env.d/09nvidia
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
use driver && use kernel_linux && linux-mod_pkg_postinst
|
||||
|
||||
# Switch to the nvidia implementation
|
||||
use X && "${ROOT}"/usr/bin/eselect opengl set --use-old nvidia
|
||||
"${ROOT}"/usr/bin/eselect opencl set --use-old nvidia
|
||||
|
||||
readme.gentoo_print_elog
|
||||
|
||||
if ! use X; then
|
||||
elog "You have elected to not install the X.org driver. Along with"
|
||||
elog "this the OpenGL libraries and VDPAU libraries were not"
|
||||
elog "installed. Additionally, once the driver is loaded your card"
|
||||
elog "and fan will run at max speed which may not be desirable."
|
||||
elog "Use the 'nvidia-smi' init script to have your card and fan"
|
||||
elog "speed scale appropriately."
|
||||
elog
|
||||
fi
|
||||
if ! use tools; then
|
||||
elog "USE=tools controls whether the nvidia-settings application"
|
||||
elog "is installed. If you would like to use it, enable that"
|
||||
elog "flag and re-emerge this ebuild. Optionally you can install"
|
||||
elog "media-video/nvidia-settings"
|
||||
elog
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_prerm() {
|
||||
use X && "${ROOT}"/usr/bin/eselect opengl set --use-old xorg-x11
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
use driver && use kernel_linux && linux-mod_pkg_postrm
|
||||
use X && "${ROOT}"/usr/bin/eselect opengl set --use-old xorg-x11
|
||||
}
|
@ -1,586 +0,0 @@
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
inherit eutils flag-o-matic linux-info linux-mod multilib-minimal nvidia-driver \
|
||||
portability toolchain-funcs unpacker user udev
|
||||
|
||||
NV_URI="http://http.download.nvidia.com/XFree86/"
|
||||
X86_NV_PACKAGE="NVIDIA-Linux-x86-${PV}"
|
||||
AMD64_NV_PACKAGE="NVIDIA-Linux-x86_64-${PV}"
|
||||
ARM_NV_PACKAGE="NVIDIA-Linux-armv7l-gnueabihf-${PV}"
|
||||
X86_FBSD_NV_PACKAGE="NVIDIA-FreeBSD-x86-${PV}"
|
||||
AMD64_FBSD_NV_PACKAGE="NVIDIA-FreeBSD-x86_64-${PV}"
|
||||
|
||||
DESCRIPTION="NVIDIA Accelerated Graphics Driver"
|
||||
HOMEPAGE="http://www.nvidia.com/ http://www.nvidia.com/Download/Find.aspx"
|
||||
SRC_URI="
|
||||
amd64-fbsd? ( ${NV_URI}FreeBSD-x86_64/${PV}/${AMD64_FBSD_NV_PACKAGE}.tar.gz )
|
||||
amd64? ( ${NV_URI}Linux-x86_64/${PV}/${AMD64_NV_PACKAGE}.run )
|
||||
arm? ( ${NV_URI}Linux-32bit-ARM/${PV}/${ARM_NV_PACKAGE}.run )
|
||||
x86-fbsd? ( ${NV_URI}FreeBSD-x86/${PV}/${X86_FBSD_NV_PACKAGE}.tar.gz )
|
||||
x86? ( ${NV_URI}Linux-x86/${PV}/${X86_NV_PACKAGE}.run )
|
||||
tools? (
|
||||
https://download.nvidia.com/XFree86/nvidia-settings/nvidia-settings-${PV}.tar.bz2
|
||||
)
|
||||
"
|
||||
|
||||
LICENSE="GPL-2 NVIDIA-r2"
|
||||
SLOT="0/${PV%.*}"
|
||||
KEYWORDS="-* amd64 x86 ~amd64-fbsd ~x86-fbsd"
|
||||
RESTRICT="bindist mirror"
|
||||
EMULTILIB_PKG="true"
|
||||
|
||||
IUSE="acpi compat +driver gtk3 kernel_FreeBSD kernel_linux +kms multilib pax_kernel static-libs +tools uvm wayland +X"
|
||||
REQUIRED_USE="
|
||||
tools? ( X )
|
||||
static-libs? ( tools )
|
||||
"
|
||||
|
||||
COMMON="
|
||||
app-eselect/eselect-opencl
|
||||
kernel_linux? ( >=sys-libs/glibc-2.6.1 )
|
||||
tools? (
|
||||
dev-libs/atk
|
||||
dev-libs/glib:2
|
||||
dev-libs/jansson
|
||||
gtk3? (
|
||||
x11-libs/gtk+:3
|
||||
)
|
||||
x11-libs/cairo
|
||||
x11-libs/gdk-pixbuf[X]
|
||||
x11-libs/gtk+:2
|
||||
x11-libs/libX11
|
||||
x11-libs/libXext
|
||||
x11-libs/libXrandr
|
||||
x11-libs/libXv
|
||||
x11-libs/libXxf86vm
|
||||
x11-libs/pango[X]
|
||||
)
|
||||
X? (
|
||||
>=app-eselect/eselect-opengl-1.0.9
|
||||
app-misc/pax-utils
|
||||
)
|
||||
"
|
||||
DEPEND="
|
||||
${COMMON}
|
||||
kernel_linux? ( virtual/linux-sources )
|
||||
tools? ( sys-apps/dbus )
|
||||
"
|
||||
RDEPEND="
|
||||
${COMMON}
|
||||
acpi? ( sys-power/acpid )
|
||||
tools? ( !media-video/nvidia-settings )
|
||||
wayland? ( dev-libs/wayland[${MULTILIB_USEDEP}] )
|
||||
X? (
|
||||
<x11-base/xorg-server-1.19.99:=
|
||||
>=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}]
|
||||
>=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}]
|
||||
>=x11-libs/libvdpau-1.0[${MULTILIB_USEDEP}]
|
||||
sys-libs/zlib[${MULTILIB_USEDEP}]
|
||||
)
|
||||
"
|
||||
QA_PREBUILT="opt/* usr/lib*"
|
||||
S=${WORKDIR}/
|
||||
|
||||
nvidia_drivers_versions_check() {
|
||||
if use amd64 && has_multilib_profile && \
|
||||
[ "${DEFAULT_ABI}" != "amd64" ]; then
|
||||
eerror "This ebuild doesn't currently support changing your default ABI"
|
||||
die "Unexpected \${DEFAULT_ABI} = ${DEFAULT_ABI}"
|
||||
fi
|
||||
|
||||
if use kernel_linux && kernel_is ge 4 16; then
|
||||
ewarn "Gentoo supports kernels which are supported by NVIDIA"
|
||||
ewarn "which are limited to the following kernels:"
|
||||
ewarn "<sys-kernel/gentoo-sources-4.16"
|
||||
ewarn "<sys-kernel/vanilla-sources-4.16"
|
||||
ewarn ""
|
||||
ewarn "You are free to utilize epatch_user to provide whatever"
|
||||
ewarn "support you feel is appropriate, but will not receive"
|
||||
ewarn "support as a result of those changes."
|
||||
ewarn ""
|
||||
ewarn "Do not file a bug report about this."
|
||||
ewarn ""
|
||||
fi
|
||||
|
||||
# Since Nvidia ships many different series of drivers, we need to give the user
|
||||
# some kind of guidance as to what version they should install. This tries
|
||||
# to point the user in the right direction but can't be perfect. check
|
||||
# nvidia-driver.eclass
|
||||
nvidia-driver-check-warning
|
||||
|
||||
# Kernel features/options to check for
|
||||
CONFIG_CHECK="~ZONE_DMA ~MTRR ~SYSVIPC ~!LOCKDEP"
|
||||
use x86 && CONFIG_CHECK+=" ~HIGHMEM"
|
||||
|
||||
# Now do the above checks
|
||||
use kernel_linux && check_extra_config
|
||||
}
|
||||
|
||||
pkg_pretend() {
|
||||
nvidia_drivers_versions_check
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
nvidia_drivers_versions_check
|
||||
|
||||
# try to turn off distcc and ccache for people that have a problem with it
|
||||
export DISTCC_DISABLE=1
|
||||
export CCACHE_DISABLE=1
|
||||
|
||||
if use driver && use kernel_linux; then
|
||||
MODULE_NAMES="nvidia(video:${S}/kernel)"
|
||||
use uvm && MODULE_NAMES+=" nvidia-uvm(video:${S}/kernel)"
|
||||
use kms && MODULE_NAMES+=" nvidia-modeset(video:${S}/kernel) nvidia-drm(video:${S}/kernel)"
|
||||
|
||||
# This needs to run after MODULE_NAMES (so that the eclass checks
|
||||
# whether the kernel supports loadable modules) but before BUILD_PARAMS
|
||||
# is set (so that KV_DIR is populated).
|
||||
linux-mod_pkg_setup
|
||||
|
||||
BUILD_PARAMS="IGNORE_CC_MISMATCH=yes V=1 SYSSRC=${KV_DIR} \
|
||||
SYSOUT=${KV_OUT_DIR} CC=$(tc-getBUILD_CC) NV_VERBOSE=1"
|
||||
|
||||
# linux-mod_src_compile calls set_arch_to_kernel, which
|
||||
# sets the ARCH to x86 but NVIDIA's wrapping Makefile
|
||||
# expects x86_64 or i386 and then converts it to x86
|
||||
# later on in the build process
|
||||
BUILD_FIXES="ARCH=$(uname -m | sed -e 's/i.86/i386/')"
|
||||
fi
|
||||
|
||||
if use kernel_linux && kernel_is lt 2 6 9; then
|
||||
eerror "You must build this against 2.6.9 or higher kernels."
|
||||
fi
|
||||
|
||||
# set variables to where files are in the package structure
|
||||
if use kernel_FreeBSD; then
|
||||
use x86-fbsd && S="${WORKDIR}/${X86_FBSD_NV_PACKAGE}"
|
||||
use amd64-fbsd && S="${WORKDIR}/${AMD64_FBSD_NV_PACKAGE}"
|
||||
NV_DOC="${S}/doc"
|
||||
NV_OBJ="${S}/obj"
|
||||
NV_SRC="${S}/src"
|
||||
NV_MAN="${S}/x11/man"
|
||||
NV_X11="${S}/obj"
|
||||
NV_SOVER=1
|
||||
elif use kernel_linux; then
|
||||
NV_DOC="${S}"
|
||||
NV_OBJ="${S}"
|
||||
NV_SRC="${S}/kernel"
|
||||
NV_MAN="${S}"
|
||||
NV_X11="${S}"
|
||||
NV_SOVER=${PV}
|
||||
else
|
||||
die "Could not determine proper NVIDIA package"
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
if use pax_kernel; then
|
||||
ewarn "Using PAX patches is not supported. You will be asked to"
|
||||
ewarn "use a standard kernel should you have issues. Should you"
|
||||
ewarn "need support with these patches, contact the PaX team."
|
||||
eapply "${FILESDIR}"/${PN}-375.20-pax.patch
|
||||
fi
|
||||
|
||||
local man_file
|
||||
for man_file in "${NV_MAN}"/*1.gz; do
|
||||
gunzip $man_file || die
|
||||
done
|
||||
|
||||
if use tools; then
|
||||
cp "${FILESDIR}"/nvidia-settings-linker.patch "${WORKDIR}" || die
|
||||
sed -i \
|
||||
-e "s:@PV@:${PV}:g" \
|
||||
"${WORKDIR}"/nvidia-settings-linker.patch || die
|
||||
eapply "${WORKDIR}"/nvidia-settings-linker.patch
|
||||
fi
|
||||
|
||||
default
|
||||
|
||||
if ! [ -f nvidia_icd.json ]; then
|
||||
cp nvidia_icd.json.template nvidia_icd.json || die
|
||||
sed -i -e 's:__NV_VK_ICD__:libGLX_nvidia.so.0:g' nvidia_icd.json || die
|
||||
fi
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# This is already the default on Linux, as there's no toplevel Makefile, but
|
||||
# on FreeBSD there's one and triggers the kernel module build, as we install
|
||||
# it by itself, pass this.
|
||||
|
||||
cd "${NV_SRC}"
|
||||
if use kernel_FreeBSD; then
|
||||
MAKE="$(get_bmake)" CFLAGS="-Wno-sign-compare" emake CC="$(tc-getCC)" \
|
||||
LD="$(tc-getLD)" LDFLAGS="$(raw-ldflags)" || die
|
||||
elif use driver && use kernel_linux; then
|
||||
MAKEOPTS=-j1 IGNORE_PREEMPT_RT_PRESENCE=1 linux-mod_src_compile
|
||||
fi
|
||||
|
||||
if use tools; then
|
||||
emake -C "${S}"/nvidia-settings-${PV}/src \
|
||||
AR="$(tc-getAR)" \
|
||||
CC="$(tc-getCC)" \
|
||||
DO_STRIP= \
|
||||
LD="$(tc-getCC)" \
|
||||
LIBDIR="$(get_libdir)" \
|
||||
NVLD="$(tc-getLD)" \
|
||||
NV_VERBOSE=1 \
|
||||
RANLIB="$(tc-getRANLIB)" \
|
||||
build-xnvctrl
|
||||
|
||||
emake -C "${S}"/nvidia-settings-${PV}/src \
|
||||
CC="$(tc-getCC)" \
|
||||
DO_STRIP= \
|
||||
GTK3_AVAILABLE=$(usex gtk3 1 0) \
|
||||
LD="$(tc-getCC)" \
|
||||
LIBDIR="$(get_libdir)" \
|
||||
NVLD="$(tc-getLD)" \
|
||||
NVML_ENABLED=0 \
|
||||
NV_USE_BUNDLED_LIBJANSSON=0 \
|
||||
NV_VERBOSE=1
|
||||
fi
|
||||
}
|
||||
|
||||
# Install nvidia library:
|
||||
# the first parameter is the library to install
|
||||
# the second parameter is the provided soversion
|
||||
# the third parameter is the target directory if it is not /usr/lib
|
||||
donvidia() {
|
||||
# Full path to library
|
||||
nv_LIB="${1}"
|
||||
|
||||
# SOVER to use
|
||||
nv_SOVER="$(scanelf -qF'%S#F' ${nv_LIB})"
|
||||
|
||||
# Where to install
|
||||
nv_DEST="${2}"
|
||||
|
||||
# Get just the library name
|
||||
nv_LIBNAME=$(basename "${nv_LIB}")
|
||||
|
||||
if [[ "${nv_DEST}" ]]; then
|
||||
exeinto ${nv_DEST}
|
||||
action="doexe"
|
||||
else
|
||||
nv_DEST="/usr/$(get_libdir)"
|
||||
action="dolib.so"
|
||||
fi
|
||||
|
||||
# Install the library
|
||||
${action} ${nv_LIB} || die "failed to install ${nv_LIBNAME}"
|
||||
|
||||
# If the library has a SONAME and SONAME does not match the library name,
|
||||
# then we need to create a symlink
|
||||
if [[ ${nv_SOVER} ]] && ! [[ "${nv_SOVER}" = "${nv_LIBNAME}" ]]; then
|
||||
dosym ${nv_LIBNAME} ${nv_DEST}/${nv_SOVER} \
|
||||
|| die "failed to create ${nv_DEST}/${nv_SOVER} symlink"
|
||||
fi
|
||||
|
||||
dosym ${nv_LIBNAME} ${nv_DEST}/${nv_LIBNAME/.so*/.so} \
|
||||
|| die "failed to create ${nv_LIBNAME/.so*/.so} symlink"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
if use driver && use kernel_linux; then
|
||||
linux-mod_src_install
|
||||
|
||||
# Add the aliases
|
||||
# This file is tweaked with the appropriate video group in
|
||||
# pkg_preinst, see bug #491414
|
||||
insinto /etc/modprobe.d
|
||||
newins "${FILESDIR}"/nvidia-169.07 nvidia.conf
|
||||
doins "${FILESDIR}"/nvidia-rmmod.conf
|
||||
|
||||
# Ensures that our device nodes are created when not using X
|
||||
exeinto "$(get_udevdir)"
|
||||
newexe "${FILESDIR}"/nvidia-udev.sh-r1 nvidia-udev.sh
|
||||
udev_newrules "${FILESDIR}"/nvidia.udev-rule 99-nvidia.rules
|
||||
elif use kernel_FreeBSD; then
|
||||
if use x86-fbsd; then
|
||||
insinto /boot/modules
|
||||
doins "${S}/src/nvidia.kld"
|
||||
fi
|
||||
|
||||
exeinto /boot/modules
|
||||
doexe "${S}/src/nvidia.ko"
|
||||
fi
|
||||
|
||||
# NVIDIA kernel <-> userspace driver config lib
|
||||
donvidia ${NV_OBJ}/libnvidia-cfg.so.${NV_SOVER}
|
||||
|
||||
# NVIDIA framebuffer capture library
|
||||
donvidia ${NV_OBJ}/libnvidia-fbc.so.${NV_SOVER}
|
||||
|
||||
# NVIDIA video encode/decode <-> CUDA
|
||||
if use kernel_linux; then
|
||||
donvidia ${NV_OBJ}/libnvcuvid.so.${NV_SOVER}
|
||||
donvidia ${NV_OBJ}/libnvidia-encode.so.${NV_SOVER}
|
||||
fi
|
||||
|
||||
if use X; then
|
||||
# Xorg DDX driver
|
||||
insinto /usr/$(get_libdir)/xorg/modules/drivers
|
||||
doins ${NV_X11}/nvidia_drv.so
|
||||
|
||||
# Xorg GLX driver
|
||||
donvidia ${NV_X11}/libglx.so.${NV_SOVER} \
|
||||
/usr/$(get_libdir)/opengl/nvidia/extensions
|
||||
|
||||
# Xorg nvidia.conf
|
||||
if has_version '>=x11-base/xorg-server-1.16'; then
|
||||
insinto /usr/share/X11/xorg.conf.d
|
||||
newins {,50-}nvidia-drm-outputclass.conf
|
||||
fi
|
||||
|
||||
insinto /usr/share/glvnd/egl_vendor.d
|
||||
doins ${NV_X11}/10_nvidia.json
|
||||
fi
|
||||
|
||||
if use wayland; then
|
||||
insinto /usr/share/egl/egl_external_platform.d
|
||||
doins ${NV_X11}/10_nvidia_wayland.json
|
||||
fi
|
||||
|
||||
# OpenCL ICD for NVIDIA
|
||||
if use kernel_linux; then
|
||||
insinto /etc/OpenCL/vendors
|
||||
doins ${NV_OBJ}/nvidia.icd
|
||||
fi
|
||||
|
||||
# Documentation
|
||||
if use kernel_FreeBSD; then
|
||||
dodoc "${NV_DOC}/README"
|
||||
use X && doman "${NV_MAN}"/nvidia-xconfig.1
|
||||
use tools && doman "${NV_MAN}"/nvidia-settings.1
|
||||
else
|
||||
# Docs
|
||||
newdoc "${NV_DOC}/README.txt" README
|
||||
dodoc "${NV_DOC}/NVIDIA_Changelog"
|
||||
doman "${NV_MAN}"/nvidia-smi.1
|
||||
use X && doman "${NV_MAN}"/nvidia-xconfig.1
|
||||
use tools && doman "${NV_MAN}"/nvidia-settings.1
|
||||
doman "${NV_MAN}"/nvidia-cuda-mps-control.1
|
||||
fi
|
||||
|
||||
docinto html
|
||||
dodoc -r ${NV_DOC}/html/*
|
||||
|
||||
# Helper Apps
|
||||
exeinto /opt/bin/
|
||||
|
||||
if use X; then
|
||||
doexe ${NV_OBJ}/nvidia-xconfig
|
||||
|
||||
insinto /etc/vulkan/icd.d
|
||||
doins nvidia_icd.json
|
||||
fi
|
||||
|
||||
if use kernel_linux; then
|
||||
doexe ${NV_OBJ}/nvidia-cuda-mps-control
|
||||
doexe ${NV_OBJ}/nvidia-cuda-mps-server
|
||||
doexe ${NV_OBJ}/nvidia-debugdump
|
||||
doexe ${NV_OBJ}/nvidia-persistenced
|
||||
doexe ${NV_OBJ}/nvidia-smi
|
||||
|
||||
# install nvidia-modprobe setuid and symlink in /usr/bin (bug #505092)
|
||||
doexe ${NV_OBJ}/nvidia-modprobe
|
||||
fowners root:video /opt/bin/nvidia-modprobe
|
||||
fperms 4710 /opt/bin/nvidia-modprobe
|
||||
dosym /{opt,usr}/bin/nvidia-modprobe
|
||||
|
||||
doman nvidia-cuda-mps-control.1
|
||||
doman nvidia-modprobe.1
|
||||
doman nvidia-persistenced.1
|
||||
newinitd "${FILESDIR}/nvidia-smi.init" nvidia-smi
|
||||
newconfd "${FILESDIR}/nvidia-persistenced.conf" nvidia-persistenced
|
||||
newinitd "${FILESDIR}/nvidia-persistenced.init" nvidia-persistenced
|
||||
fi
|
||||
|
||||
if use tools; then
|
||||
emake -C "${S}"/nvidia-settings-${PV}/src/ \
|
||||
DESTDIR="${D}" \
|
||||
GTK3_AVAILABLE=$(usex gtk3 1 0) \
|
||||
LIBDIR="${D}/usr/$(get_libdir)" \
|
||||
NV_USE_BUNDLED_LIBJANSSON=0 \
|
||||
NV_VERBOSE=1 \
|
||||
PREFIX=/usr \
|
||||
DO_STRIP= \
|
||||
install
|
||||
|
||||
if use static-libs; then
|
||||
dolib.a "${S}"/nvidia-settings-${PV}/src/libXNVCtrl/libXNVCtrl.a
|
||||
|
||||
insinto /usr/include/NVCtrl
|
||||
doins "${S}"/nvidia-settings-${PV}/src/libXNVCtrl/*.h
|
||||
fi
|
||||
|
||||
insinto /usr/share/nvidia/
|
||||
doins nvidia-application-profiles-${PV}-key-documentation
|
||||
|
||||
insinto /etc/nvidia
|
||||
newins \
|
||||
nvidia-application-profiles-${PV}-rc nvidia-application-profiles-rc
|
||||
|
||||
# There is no icon in the FreeBSD tarball.
|
||||
use kernel_FreeBSD || \
|
||||
doicon ${NV_OBJ}/nvidia-settings.png
|
||||
|
||||
domenu "${FILESDIR}"/nvidia-settings.desktop
|
||||
|
||||
exeinto /etc/X11/xinit/xinitrc.d
|
||||
newexe "${FILESDIR}"/95-nvidia-settings-r1 95-nvidia-settings
|
||||
fi
|
||||
|
||||
dobin ${NV_OBJ}/nvidia-bug-report.sh
|
||||
|
||||
if has_multilib_profile && use multilib; then
|
||||
local OABI=${ABI}
|
||||
for ABI in $(get_install_abis); do
|
||||
src_install-libs
|
||||
done
|
||||
ABI=${OABI}
|
||||
unset OABI
|
||||
else
|
||||
src_install-libs
|
||||
fi
|
||||
|
||||
is_final_abi || die "failed to iterate through all ABIs"
|
||||
|
||||
readme.gentoo_create_doc
|
||||
}
|
||||
|
||||
src_install-libs() {
|
||||
local inslibdir=$(get_libdir)
|
||||
local GL_ROOT="/usr/$(get_libdir)/opengl/nvidia/lib"
|
||||
local CL_ROOT="/usr/$(get_libdir)/OpenCL/vendors/nvidia"
|
||||
local nv_libdir="${NV_OBJ}"
|
||||
|
||||
if use kernel_linux && has_multilib_profile && [[ ${ABI} == "x86" ]]; then
|
||||
nv_libdir="${NV_OBJ}"/32
|
||||
fi
|
||||
|
||||
if use X; then
|
||||
NV_GLX_LIBRARIES=(
|
||||
"libEGL.so.$(usex compat ${NV_SOVER} 1.1.0) ${GL_ROOT}"
|
||||
"libEGL_nvidia.so.${NV_SOVER} ${GL_ROOT}"
|
||||
"libGL.so.$(usex compat ${NV_SOVER} 1.7.0) ${GL_ROOT}"
|
||||
"libGLESv1_CM.so.1.2.0 ${GL_ROOT}"
|
||||
"libGLESv1_CM_nvidia.so.${NV_SOVER} ${GL_ROOT}"
|
||||
"libGLESv2.so.2.1.0 ${GL_ROOT}"
|
||||
"libGLESv2_nvidia.so.${NV_SOVER} ${GL_ROOT}"
|
||||
"libGLX.so.0 ${GL_ROOT}"
|
||||
"libGLX_nvidia.so.${NV_SOVER} ${GL_ROOT}"
|
||||
"libGLdispatch.so.0 ${GL_ROOT}"
|
||||
"libOpenCL.so.1.0.0 ${CL_ROOT}"
|
||||
"libOpenGL.so.0 ${GL_ROOT}"
|
||||
"libcuda.so.${NV_SOVER}"
|
||||
"libnvcuvid.so.${NV_SOVER}"
|
||||
"libnvidia-compiler.so.${NV_SOVER}"
|
||||
"libnvidia-eglcore.so.${NV_SOVER}"
|
||||
"libnvidia-encode.so.${NV_SOVER}"
|
||||
"libnvidia-fatbinaryloader.so.${NV_SOVER}"
|
||||
"libnvidia-fbc.so.${NV_SOVER}"
|
||||
"libnvidia-glcore.so.${NV_SOVER}"
|
||||
"libnvidia-glsi.so.${NV_SOVER}"
|
||||
"libnvidia-ifr.so.${NV_SOVER}"
|
||||
"libnvidia-opencl.so.${NV_SOVER}"
|
||||
"libnvidia-ptxjitcompiler.so.${NV_SOVER}"
|
||||
"libvdpau_nvidia.so.${NV_SOVER}"
|
||||
)
|
||||
|
||||
if use wayland && has_multilib_profile && [[ ${ABI} == "amd64" ]];
|
||||
then
|
||||
NV_GLX_LIBRARIES+=(
|
||||
"libnvidia-egl-wayland.so.1.0.2"
|
||||
)
|
||||
fi
|
||||
|
||||
if use kernel_linux && has_multilib_profile && [[ ${ABI} == "amd64" ]];
|
||||
then
|
||||
NV_GLX_LIBRARIES+=(
|
||||
"libnvidia-wfb.so.${NV_SOVER}"
|
||||
)
|
||||
fi
|
||||
|
||||
if use kernel_FreeBSD; then
|
||||
NV_GLX_LIBRARIES+=(
|
||||
"libnvidia-tls.so.${NV_SOVER}"
|
||||
)
|
||||
fi
|
||||
|
||||
if use kernel_linux; then
|
||||
NV_GLX_LIBRARIES+=(
|
||||
"libnvidia-ml.so.${NV_SOVER}"
|
||||
"tls/libnvidia-tls.so.${NV_SOVER}"
|
||||
)
|
||||
fi
|
||||
|
||||
for NV_LIB in "${NV_GLX_LIBRARIES[@]}"; do
|
||||
donvidia "${nv_libdir}"/${NV_LIB}
|
||||
done
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
if use driver && use kernel_linux; then
|
||||
linux-mod_pkg_preinst
|
||||
|
||||
local videogroup="$(egetent group video | cut -d ':' -f 3)"
|
||||
if [ -z "${videogroup}" ]; then
|
||||
eerror "Failed to determine the video group gid"
|
||||
die "Failed to determine the video group gid"
|
||||
else
|
||||
sed -i \
|
||||
-e "s:PACKAGE:${PF}:g" \
|
||||
-e "s:VIDEOGID:${videogroup}:" \
|
||||
"${D}"/etc/modprobe.d/nvidia.conf || die
|
||||
fi
|
||||
fi
|
||||
|
||||
# Clean the dynamic libGL stuff's home to ensure
|
||||
# we dont have stale libs floating around
|
||||
if [ -d "${ROOT}"/usr/lib/opengl/nvidia ]; then
|
||||
rm -rf "${ROOT}"/usr/lib/opengl/nvidia/*
|
||||
fi
|
||||
# Make sure we nuke the old nvidia-glx's env.d file
|
||||
if [ -e "${ROOT}"/etc/env.d/09nvidia ]; then
|
||||
rm -f "${ROOT}"/etc/env.d/09nvidia
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
use driver && use kernel_linux && linux-mod_pkg_postinst
|
||||
|
||||
# Switch to the nvidia implementation
|
||||
use X && "${ROOT}"/usr/bin/eselect opengl set --use-old nvidia
|
||||
"${ROOT}"/usr/bin/eselect opencl set --use-old nvidia
|
||||
|
||||
readme.gentoo_print_elog
|
||||
|
||||
if ! use X; then
|
||||
elog "You have elected to not install the X.org driver. Along with"
|
||||
elog "this the OpenGL libraries and VDPAU libraries were not"
|
||||
elog "installed. Additionally, once the driver is loaded your card"
|
||||
elog "and fan will run at max speed which may not be desirable."
|
||||
elog "Use the 'nvidia-smi' init script to have your card and fan"
|
||||
elog "speed scale appropriately."
|
||||
elog
|
||||
fi
|
||||
if ! use tools; then
|
||||
elog "USE=tools controls whether the nvidia-settings application"
|
||||
elog "is installed. If you would like to use it, enable that"
|
||||
elog "flag and re-emerge this ebuild. Optionally you can install"
|
||||
elog "media-video/nvidia-settings"
|
||||
elog
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_prerm() {
|
||||
use X && "${ROOT}"/usr/bin/eselect opengl set --use-old xorg-x11
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
use driver && use kernel_linux && linux-mod_pkg_postrm
|
||||
use X && "${ROOT}"/usr/bin/eselect opengl set --use-old xorg-x11
|
||||
}
|
Loading…
Reference in new issue