General cleanup, rm'd pkgs we don't care about any more, updated sooperlooper.

master
audiodef 2 years ago
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,7 +1,7 @@
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
EAPI=7
WX_GTK_VER=3.0
inherit autotools flag-o-matic wxwidgets toolchain-funcs
@ -37,9 +37,6 @@ S="${WORKDIR}/${P/_p*}"
DOCS=( OSC README )
PATCHES=(
"${FILESDIR}"/${P}-wx3.0.patch
"${FILESDIR}"/${P}-libsigc28.patch
"${FILESDIR}"/${P}-clash.patch
)
src_prepare() {

@ -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…
Cancel
Save