From 4771d6bdc6d3e799628266bf63ffa5bbaf31388a Mon Sep 17 00:00:00 2001 From: moparisthebest Date: Sun, 22 Nov 2020 12:33:36 -0500 Subject: [PATCH] add/update packages --- src/anbox-git/99-anbox.rules | 2 + src/anbox-git/PKGBUILD | 75 ++++++++ src/anbox-git/anbox-bridge.netdev | 3 + src/anbox-git/anbox-bridge.network | 7 + src/anbox-git/anbox-container-manager.service | 8 + src/anbox-git/anbox-session-manager.service | 8 + src/anbox-git/anbox.conf | 2 + src/anbox-git/anbox.desktop | 8 + src/anbox-image-gapps/.gitignore | 2 + src/anbox-image-gapps/PKGBUILD | 129 +++++++++++++ src/anbox-image-gapps/media_codecs.xml | 89 +++++++++ .../media_codecs_google_audio.xml | 97 ++++++++++ .../media_codecs_google_telephony.xml | 25 +++ .../media_codecs_google_video.xml | 122 +++++++++++++ src/anbox-image-houdini/.gitignore | 2 + src/anbox-image-houdini/PKGBUILD | 113 ++++++++++++ src/anbox-image-houdini/media_codecs.xml | 89 +++++++++ .../media_codecs_google_audio.xml | 97 ++++++++++ .../media_codecs_google_telephony.xml | 25 +++ .../media_codecs_google_video.xml | 122 +++++++++++++ src/anbox-image/PKGBUILD | 16 ++ src/intellij-idea-ultimate-edition/PKGBUILD | 6 +- src/libhdhomerun/PKGBUILD | 28 +++ src/makemkv/PKGBUILD | 15 +- ...Make-VDPAUDeviceFunctions-static-to-.patch | 111 ++++++++++++ src/nvidia-390xx-settings/PKGBUILD | 70 +++++++ src/nvidia-390xx-settings/libxnvctrl_so.patch | 67 +++++++ src/nvidia-390xx-utils/PKGBUILD | 171 ++++++++++++++++++ .../nvidia-390xx-utils.install | 7 + .../nvidia-390xx-utils.sysusers | 1 + .../nvidia-drm-outputclass.conf | 8 + src/nvidia-390xx/PKGBUILD | 104 +++++++++++ src/nvidia-390xx/kernel-4.16.patch | 33 ++++ src/nvidia-390xx/kernel-5.8.patch | 96 ++++++++++ src/properties-cpp/PKGBUILD | 34 ++++ 35 files changed, 1782 insertions(+), 10 deletions(-) create mode 100644 src/anbox-git/99-anbox.rules create mode 100644 src/anbox-git/PKGBUILD create mode 100644 src/anbox-git/anbox-bridge.netdev create mode 100644 src/anbox-git/anbox-bridge.network create mode 100644 src/anbox-git/anbox-container-manager.service create mode 100644 src/anbox-git/anbox-session-manager.service create mode 100644 src/anbox-git/anbox.conf create mode 100644 src/anbox-git/anbox.desktop create mode 100644 src/anbox-image-gapps/.gitignore create mode 100644 src/anbox-image-gapps/PKGBUILD create mode 100644 src/anbox-image-gapps/media_codecs.xml create mode 100644 src/anbox-image-gapps/media_codecs_google_audio.xml create mode 100644 src/anbox-image-gapps/media_codecs_google_telephony.xml create mode 100644 src/anbox-image-gapps/media_codecs_google_video.xml create mode 100644 src/anbox-image-houdini/.gitignore create mode 100644 src/anbox-image-houdini/PKGBUILD create mode 100644 src/anbox-image-houdini/media_codecs.xml create mode 100644 src/anbox-image-houdini/media_codecs_google_audio.xml create mode 100644 src/anbox-image-houdini/media_codecs_google_telephony.xml create mode 100644 src/anbox-image-houdini/media_codecs_google_video.xml create mode 100644 src/anbox-image/PKGBUILD create mode 100644 src/libhdhomerun/PKGBUILD create mode 100644 src/nvidia-390xx-settings/0001-nvidia-settings-Make-VDPAUDeviceFunctions-static-to-.patch create mode 100644 src/nvidia-390xx-settings/PKGBUILD create mode 100644 src/nvidia-390xx-settings/libxnvctrl_so.patch create mode 100644 src/nvidia-390xx-utils/PKGBUILD create mode 100644 src/nvidia-390xx-utils/nvidia-390xx-utils.install create mode 100644 src/nvidia-390xx-utils/nvidia-390xx-utils.sysusers create mode 100644 src/nvidia-390xx-utils/nvidia-drm-outputclass.conf create mode 100644 src/nvidia-390xx/PKGBUILD create mode 100644 src/nvidia-390xx/kernel-4.16.patch create mode 100644 src/nvidia-390xx/kernel-5.8.patch create mode 100644 src/properties-cpp/PKGBUILD diff --git a/src/anbox-git/99-anbox.rules b/src/anbox-git/99-anbox.rules new file mode 100644 index 0000000..081f26e --- /dev/null +++ b/src/anbox-git/99-anbox.rules @@ -0,0 +1,2 @@ +KERNEL=="binder", MODE="0666" +KERNEL=="ashmem", MODE="0666" diff --git a/src/anbox-git/PKGBUILD b/src/anbox-git/PKGBUILD new file mode 100644 index 0000000..adf6f26 --- /dev/null +++ b/src/anbox-git/PKGBUILD @@ -0,0 +1,75 @@ +# Maintainer: Iwan Timmer + +pkgname=anbox-git +_pkgname=anbox +pkgver=r1317.3fa48f9 +pkgrel=1 +epoch=1 +arch=('x86_64') +url="http://anbox.io/" +license=('GPL3') +pkgdesc="Running Android in a container" +depends=('lxc' 'sdl2_image' 'protobuf' 'anbox-image' 'libsystemd' 'boost-libs') +makedepends=('cmake' 'git' 'glm' 'lxc' 'sdl2_image' 'protobuf' 'boost' 'properties-cpp' 'gtest' 'python') +source=("git+https://github.com/anbox/anbox.git" + "git+https://github.com/google/cpu_features.git" + "git+https://github.com/Kistler-Group/sdbus-cpp.git" + 'anbox-container-manager.service' + 'anbox-session-manager.service' + '99-anbox.rules' + 'anbox.conf' + 'anbox.desktop' + 'anbox-bridge.network' + 'anbox-bridge.netdev') +sha256sums=('SKIP' + 'SKIP' + 'SKIP' + '5be94b63dc30d141f15ca7d1be6e3e81f26ef33f844614975537562f5d08236c' + '1f22dbb5a3ca6925bbf62899cd0f0bbaa0b77c879adcdd12ff9d43adfa61b1d8' + '210eb93342228168f7bb632c8b93d9bfda6f53f62459a6b74987fa1e17530475' + '3e07dc524a827c1651857cce28a06c1565bc5188101c140ed213bbafedc5abff' + '7332d09865be553a259a53819cebddd21f661c7a251d78c2f46acd75c66676b6' + '44899328725667041e6e84912da81c1d0147b708006eb2c2bb6503f271629ff0' + '559190df4d6d595480b30d8b13b862081fc4aac52790e33eb24cf7fbcb8003b8') + +pkgver() { + cd "$srcdir/$_pkgname" + ( set -o pipefail + git describe --long 2>/dev/null | sed 's/\([^-]*-g\)/r\1/;s/-/./g' || + printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)" + ) +} + +prepare() { + cd "$srcdir/${_pkgname}" + + # Don't build tests + truncate -s 0 cmake/FindGMock.cmake + truncate -s 0 tests/CMakeLists.txt + + git submodule init + git config submodule.external/cpu_features.url $srcdir/cpu_features + git config submodule.external/sdbus-cpp.url $srcdir/sdbus-cpp + git submodule update +} + +build() { + mkdir -p "$srcdir/${_pkgname}/build" + cd "$srcdir/${_pkgname}/build" + + cmake .. -DCMAKE_INSTALL_LIBDIR=/usr/lib -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_CXX_FLAGS="-Wno-error=implicit-fallthrough -Wno-error=missing-field-initializers" -DCMAKE_BUILD_TYPE=Release + make +} + +package() { + cd "$srcdir/${_pkgname}" + make -C build DESTDIR="$pkgdir" install + + install -Dm 644 -t $pkgdir/usr/lib/systemd/system $srcdir/anbox-container-manager.service + install -Dm 644 -t $pkgdir/usr/lib/systemd/user $srcdir/anbox-session-manager.service + install -Dm 644 $srcdir/anbox-bridge.network $pkgdir/usr/lib/systemd/network/80-anbox-bridge.network + install -Dm 644 $srcdir/anbox-bridge.netdev $pkgdir/usr/lib/systemd/network/80-anbox-bridge.netdev + install -Dm 644 -t $pkgdir/usr/lib/udev/rules.d $srcdir/99-anbox.rules + install -Dm 644 -t $pkgdir/usr/share/applications $srcdir/anbox.desktop + install -Dm 644 snap/gui/icon.png $pkgdir/usr/share/pixmaps/anbox.png +} diff --git a/src/anbox-git/anbox-bridge.netdev b/src/anbox-git/anbox-bridge.netdev new file mode 100644 index 0000000..9826cb1 --- /dev/null +++ b/src/anbox-git/anbox-bridge.netdev @@ -0,0 +1,3 @@ +[NetDev] +Name=anbox0 +Kind=bridge diff --git a/src/anbox-git/anbox-bridge.network b/src/anbox-git/anbox-bridge.network new file mode 100644 index 0000000..73c6af0 --- /dev/null +++ b/src/anbox-git/anbox-bridge.network @@ -0,0 +1,7 @@ +[Match] +Name=anbox0 +Driver=bridge + +[Network] +Address=192.168.250.1/24 +IPMasquerade=yes diff --git a/src/anbox-git/anbox-container-manager.service b/src/anbox-git/anbox-container-manager.service new file mode 100644 index 0000000..8be6991 --- /dev/null +++ b/src/anbox-git/anbox-container-manager.service @@ -0,0 +1,8 @@ +[Unit] +Description=Anbox Container Manager + +[Service] +ExecStart=/usr/bin/anbox container-manager --daemon --privileged --data-path=/var/lib/anbox + +[Install] +WantedBy=multi-user.target diff --git a/src/anbox-git/anbox-session-manager.service b/src/anbox-git/anbox-session-manager.service new file mode 100644 index 0000000..e31a357 --- /dev/null +++ b/src/anbox-git/anbox-session-manager.service @@ -0,0 +1,8 @@ +[Unit] +Description=Anbox Session Manager + +[Service] +ExecStart=/usr/bin/anbox session-manager + +[Install] +WantedBy=default.target diff --git a/src/anbox-git/anbox.conf b/src/anbox-git/anbox.conf new file mode 100644 index 0000000..ba8ae38 --- /dev/null +++ b/src/anbox-git/anbox.conf @@ -0,0 +1,2 @@ +ashmem_linux +binder_linux diff --git a/src/anbox-git/anbox.desktop b/src/anbox-git/anbox.desktop new file mode 100644 index 0000000..661c6d7 --- /dev/null +++ b/src/anbox-git/anbox.desktop @@ -0,0 +1,8 @@ +[Desktop Entry] +Name=Anbox +GenericName=Android in a box +Version=1.0 +Type=Application +Icon=anbox +Exec=anbox launch --package=org.anbox.appmgr --component=org.anbox.appmgr.AppViewActivity +Terminal=false diff --git a/src/anbox-image-gapps/.gitignore b/src/anbox-image-gapps/.gitignore new file mode 100644 index 0000000..62514e8 --- /dev/null +++ b/src/anbox-image-gapps/.gitignore @@ -0,0 +1,2 @@ +* +.* diff --git a/src/anbox-image-gapps/PKGBUILD b/src/anbox-image-gapps/PKGBUILD new file mode 100644 index 0000000..7f08778 --- /dev/null +++ b/src/anbox-image-gapps/PKGBUILD @@ -0,0 +1,129 @@ +# Maintainer: Jack Chen +# Contributor: Mark Wagie +# Contributor: Robosky + +pkgname=anbox-image-gapps +pkgver=2018.07.19 +pkgrel=15 +pkgdesc="Android image for running in Anbox, with OpenGApps and Houdini" +arch=('x86_64') +url="https://anbox.io" +license=('custom') +makedepends=('curl' 'lzip' 'squashfs-tools' 'unzip') +provides=('anbox-image') +conflicts=('anbox-image') + +_gapps_rel="$(curl -s -L https://api.opengapps.org/list | sed -r 's/.*-x86_64-7.1-pico-([0-9]+).zip".*/\1/')" +_gapps_src="https://downloads.sourceforge.net/project/opengapps/x86_64/$_gapps_rel/open_gapps-x86_64-7.1-pico-$_gapps_rel.zip" +_gapps_md5="$(curl -s -L $_gapps_src.md5 | sed -r 's/^([0-9a-z]+).*/\1/')" +_gapps_list=( + 'gsfcore-all' + 'gsflogin-all' + 'gmscore-x86_64' + 'vending-x86_64' +) +source=( + "https://build.anbox.io/android-images/${pkgver//./\/}/android_amd64.img" + "https://github.com/redchenjs/aur-packages/raw/master/anbox-image/houdini_y.sfs" + "https://github.com/redchenjs/aur-packages/raw/master/anbox-image/houdini_z.sfs" + "media_codecs.xml" + "media_codecs_google_video.xml" + "media_codecs_google_audio.xml" + "media_codecs_google_telephony.xml" + "$_gapps_src" +) +md5sums=( + '26874452a6521ec2e37400670d438e33' + '7ebf618b1af94a02322d9f2d2610090b' + '5ca37e1629edb7d13b18751b72dc98ad' + 'a638728bc2413d908f5eb44a9f09e947' + '599598e70060eb74c119cf7dac0ce466' + '43193761081a04ca18a28d4a6e039950' + '91f5f3e5c31f8e221ae8f318527dcb83' + "$_gapps_md5" +) + +build () { + cd "$srcdir" + + # unpack anbox image + mkdir -p squashfs-root + rm -rf ./squashfs-root/* + unsquashfs -f -d ./squashfs-root ./android_amd64.img + + # load houdini_y + mkdir -p houdini_y + rm -rf ./houdini_y/* + unsquashfs -f -d ./houdini_y ./houdini_y.sfs + + mkdir -p ./squashfs-root/system/lib/arm + cp -r ./houdini_y/* ./squashfs-root/system/lib/arm + mv ./squashfs-root/system/lib/arm/libhoudini.so ./squashfs-root/system/lib/libhoudini.so + + # load houdini_z + mkdir -p houdini_z + rm -rf ./houdini_z/* + unsquashfs -f -d ./houdini_z ./houdini_z.sfs + + mkdir -p ./squashfs-root/system/lib64/arm64 + cp -r ./houdini_z/* ./squashfs-root/system/lib64/arm64 + mv ./squashfs-root/system/lib64/arm64/libhoudini.so ./squashfs-root/system/lib64/libhoudini.so + + # add houdini parser + mkdir -p ./squashfs-root/system/etc/binfmt_misc + echo ':arm_exe:M::\x7f\x45\x4c\x46\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28::/system/lib/arm/houdini:P' >> ./squashfs-root/system/etc/binfmt_misc/arm_exe + echo ':arm_dyn:M::\x7f\x45\x4c\x46\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x28::/system/lib/arm/houdini:P' >> ./squashfs-root/system/etc/binfmt_misc/arm_dyn + echo ':arm64_exe:M::\x7f\x45\x4c\x46\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\xb7::/system/lib64/arm64/houdini64:P' >> ./squashfs-root/system/etc/binfmt_misc/arm64_exe + echo ':arm64_dyn:M::\x7f\x45\x4c\x46\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\xb7::/system/lib64/arm64/houdini64:P' >> ./squashfs-root/system/etc/binfmt_misc/arm64_dyn + + # add features + sed -i '/<\/permissions>/d' ./squashfs-root/system/etc/permissions/anbox.xml + sed -i '//d' ./squashfs-root/system/etc/permissions/anbox.xml + sed -i '//d' ./squashfs-root/system/etc/permissions/anbox.xml + + echo ' + + + + + + + + + + + ' >> ./squashfs-root/system/etc/permissions/anbox.xml + echo '' >> ./squashfs-root/system/etc/permissions/anbox.xml + + # set processors + sed -i '/^ro.product.cpu.abilist=x86_64,x86/ s/$/,arm64-v8a,armeabi-v7a,armeabi/' ./squashfs-root/system/build.prop + sed -i '/^ro.product.cpu.abilist32=x86/ s/$/,armeabi-v7a,armeabi/' ./squashfs-root/system/build.prop + sed -i '/^ro.product.cpu.abilist64=x86_64/ s/$/,arm64-v8a/' ./squashfs-root/system/build.prop + + # enable nativebridge + echo 'persist.sys.nativebridge=1' >> ./squashfs-root/system/build.prop + sed -i 's/ro.dalvik.vm.native.bridge=0/ro.dalvik.vm.native.bridge=libhoudini.so/' ./squashfs-root/default.prop + + # enable opengles + echo 'ro.opengles.version=131072' >> ./squashfs-root/system/build.prop + + # install media codecs + cp media_codec*.xml ./squashfs-root/system/etc/ + + # install gapps + for i in ${_gapps_list[*]}; do + mkdir -p $i + rm -rf ./$i/* + tar --lzip -xvf ./Core/$i.tar.lz + cp -r ./$i/nodpi/priv-app/* ./squashfs-root/system/priv-app/ + done +} + +package() { + cd "$srcdir" + + # repack image + mksquashfs ./squashfs-root ./android.img -noappend -b 131072 -comp xz -Xbcj x86 + + install -Dm 644 ./android.img "$pkgdir/var/lib/anbox/android.img" +} diff --git a/src/anbox-image-gapps/media_codecs.xml b/src/anbox-image-gapps/media_codecs.xml new file mode 100644 index 0000000..0b18417 --- /dev/null +++ b/src/anbox-image-gapps/media_codecs.xml @@ -0,0 +1,89 @@ + + + + + + + + + + + + + + + diff --git a/src/anbox-image-gapps/media_codecs_google_audio.xml b/src/anbox-image-gapps/media_codecs_google_audio.xml new file mode 100644 index 0000000..632088a --- /dev/null +++ b/src/anbox-image-gapps/media_codecs_google_audio.xml @@ -0,0 +1,97 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/anbox-image-gapps/media_codecs_google_telephony.xml b/src/anbox-image-gapps/media_codecs_google_telephony.xml new file mode 100644 index 0000000..5ad90d9 --- /dev/null +++ b/src/anbox-image-gapps/media_codecs_google_telephony.xml @@ -0,0 +1,25 @@ + + + + + + + + + + + + diff --git a/src/anbox-image-gapps/media_codecs_google_video.xml b/src/anbox-image-gapps/media_codecs_google_video.xml new file mode 100644 index 0000000..829f403 --- /dev/null +++ b/src/anbox-image-gapps/media_codecs_google_video.xml @@ -0,0 +1,122 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/anbox-image-houdini/.gitignore b/src/anbox-image-houdini/.gitignore new file mode 100644 index 0000000..62514e8 --- /dev/null +++ b/src/anbox-image-houdini/.gitignore @@ -0,0 +1,2 @@ +* +.* diff --git a/src/anbox-image-houdini/PKGBUILD b/src/anbox-image-houdini/PKGBUILD new file mode 100644 index 0000000..36cf3e3 --- /dev/null +++ b/src/anbox-image-houdini/PKGBUILD @@ -0,0 +1,113 @@ +# Maintainer: Jack Chen + +pkgname=anbox-image-houdini +pkgver=2018.07.19 +pkgrel=5 +pkgdesc="Android image for running in Anbox with Houdini" +arch=('x86_64') +url="https://anbox.io/" +license=('custom') +makedepends=( + 'squashfs-tools' +) +provides=( + 'anbox-image' +) +conflicts=( + 'anbox-image' +) +source=( + "https://build.anbox.io/android-images/${pkgver//./\/}/android_amd64.img" + "https://github.com/redchenjs/aur-packages/raw/master/anbox-image/houdini_y.sfs" + "https://github.com/redchenjs/aur-packages/raw/master/anbox-image/houdini_z.sfs" + "media_codecs.xml" + "media_codecs_google_video.xml" + "media_codecs_google_audio.xml" + "media_codecs_google_telephony.xml" +) +md5sums=( + '26874452a6521ec2e37400670d438e33' + '7ebf618b1af94a02322d9f2d2610090b' + '5ca37e1629edb7d13b18751b72dc98ad' + 'a638728bc2413d908f5eb44a9f09e947' + '599598e70060eb74c119cf7dac0ce466' + '43193761081a04ca18a28d4a6e039950' + '91f5f3e5c31f8e221ae8f318527dcb83' +) + +build () { + cd "$srcdir" + + # unpack anbox image + mkdir -p squashfs-root + rm -rf ./squashfs-root/* + unsquashfs -f -d ./squashfs-root ./android_amd64.img + + # load houdini_y + mkdir -p houdini_y + rm -rf ./houdini_y/* + unsquashfs -f -d ./houdini_y ./houdini_y.sfs + + mkdir -p ./squashfs-root/system/lib/arm + cp -r ./houdini_y/* ./squashfs-root/system/lib/arm + mv ./squashfs-root/system/lib/arm/libhoudini.so ./squashfs-root/system/lib/libhoudini.so + + # load houdini_z + mkdir -p houdini_z + rm -rf ./houdini_z/* + unsquashfs -f -d ./houdini_z ./houdini_z.sfs + + mkdir -p ./squashfs-root/system/lib64/arm64 + cp -r ./houdini_z/* ./squashfs-root/system/lib64/arm64 + mv ./squashfs-root/system/lib64/arm64/libhoudini.so ./squashfs-root/system/lib64/libhoudini.so + + # add houdini parser + mkdir -p ./squashfs-root/system/etc/binfmt_misc + echo ':arm_exe:M::\x7f\x45\x4c\x46\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28::/system/lib/arm/houdini:P' >> ./squashfs-root/system/etc/binfmt_misc/arm_exe + echo ':arm_dyn:M::\x7f\x45\x4c\x46\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x28::/system/lib/arm/houdini:P' >> ./squashfs-root/system/etc/binfmt_misc/arm_dyn + echo ':arm64_exe:M::\x7f\x45\x4c\x46\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\xb7::/system/lib64/arm64/houdini64:P' >> ./squashfs-root/system/etc/binfmt_misc/arm64_exe + echo ':arm64_dyn:M::\x7f\x45\x4c\x46\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\xb7::/system/lib64/arm64/houdini64:P' >> ./squashfs-root/system/etc/binfmt_misc/arm64_dyn + + # add features + sed -i '/<\/permissions>/d' ./squashfs-root/system/etc/permissions/anbox.xml + sed -i '//d' ./squashfs-root/system/etc/permissions/anbox.xml + sed -i '//d' ./squashfs-root/system/etc/permissions/anbox.xml + + echo ' + + + + + + + + + + + ' >> ./squashfs-root/system/etc/permissions/anbox.xml + echo '' >> ./squashfs-root/system/etc/permissions/anbox.xml + + # set processors + sed -i '/^ro.product.cpu.abilist=x86_64,x86/ s/$/,arm64-v8a,armeabi-v7a,armeabi/' ./squashfs-root/system/build.prop + sed -i '/^ro.product.cpu.abilist32=x86/ s/$/,armeabi-v7a,armeabi/' ./squashfs-root/system/build.prop + sed -i '/^ro.product.cpu.abilist64=x86_64/ s/$/,arm64-v8a/' ./squashfs-root/system/build.prop + + # enable nativebridge + echo 'persist.sys.nativebridge=1' >> ./squashfs-root/system/build.prop + sed -i 's/ro.dalvik.vm.native.bridge=0/ro.dalvik.vm.native.bridge=libhoudini.so/' ./squashfs-root/default.prop + + # enable opengles + echo 'ro.opengles.version=131072' >> ./squashfs-root/system/build.prop + + # install media codecs + cp media_codec*.xml ./squashfs-root/system/etc/ +} + +package() { + cd "$srcdir" + + # repack image + mksquashfs ./squashfs-root ./android.img -noappend -b 131072 -comp xz -Xbcj x86 + + install -Dm 644 ./android.img "$pkgdir/var/lib/anbox/android.img" +} diff --git a/src/anbox-image-houdini/media_codecs.xml b/src/anbox-image-houdini/media_codecs.xml new file mode 100644 index 0000000..0b18417 --- /dev/null +++ b/src/anbox-image-houdini/media_codecs.xml @@ -0,0 +1,89 @@ + + + + + + + + + + + + + + + diff --git a/src/anbox-image-houdini/media_codecs_google_audio.xml b/src/anbox-image-houdini/media_codecs_google_audio.xml new file mode 100644 index 0000000..632088a --- /dev/null +++ b/src/anbox-image-houdini/media_codecs_google_audio.xml @@ -0,0 +1,97 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/anbox-image-houdini/media_codecs_google_telephony.xml b/src/anbox-image-houdini/media_codecs_google_telephony.xml new file mode 100644 index 0000000..5ad90d9 --- /dev/null +++ b/src/anbox-image-houdini/media_codecs_google_telephony.xml @@ -0,0 +1,25 @@ + + + + + + + + + + + + diff --git a/src/anbox-image-houdini/media_codecs_google_video.xml b/src/anbox-image-houdini/media_codecs_google_video.xml new file mode 100644 index 0000000..829f403 --- /dev/null +++ b/src/anbox-image-houdini/media_codecs_google_video.xml @@ -0,0 +1,122 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/anbox-image/PKGBUILD b/src/anbox-image/PKGBUILD new file mode 100644 index 0000000..32f97d4 --- /dev/null +++ b/src/anbox-image/PKGBUILD @@ -0,0 +1,16 @@ +# Maintainer: Iwan Timmer + +pkgname=anbox-image +pkgver=2018.07.19 +pkgrel=1 +epoch=1 +pkgdesc="Android image for running in Anbox" +arch=('x86_64') +url="http://anbox.io/" +license=('custom') +source=("http://build.anbox.io/android-images/${pkgver//./\/}/android_amd64.img") +sha256sums=('6b04cd33d157814deaf92dccf8a23da4dc00b05ca6ce982a03830381896a8cca') + +package() { + install -Dm 644 $srcdir/android_amd64.img $pkgdir/var/lib/anbox/android.img +} diff --git a/src/intellij-idea-ultimate-edition/PKGBUILD b/src/intellij-idea-ultimate-edition/PKGBUILD index 5f4bbb6..245e5ad 100644 --- a/src/intellij-idea-ultimate-edition/PKGBUILD +++ b/src/intellij-idea-ultimate-edition/PKGBUILD @@ -2,8 +2,8 @@ pkgbase=intellij-idea-ultimate-edition pkgname=(intellij-idea-ultimate-edition intellij-idea-ultimate-edition-jre) -pkgver=2020.1.1 -_buildver=201.7223.91 +pkgver=2020.2.3 +_buildver=202.7660.26 pkgrel=1 arch=('any') pkgdesc="An intelligent IDE for Java, Groovy and other programming languages with advanced refactoring features intensely focused on developer productivity." @@ -12,7 +12,7 @@ license=('Commercial') options=(!strip) source=("https://download.jetbrains.com/idea/ideaIU-$pkgver.tar.gz" "jetbrains-idea.desktop") -sha256sums=('ca485decf8b91549a1c8e20309a7a7b6a7e032ff96e10fde2ff5dbae9e0108e3' +sha256sums=('ca2c9ea47b18f49541020f2d0076066240a5cc6c98ddbcce2a643f47fdf7c260' '83af2ba8f9f14275a6684e79d6d4bd9b48cd852c047dacfc81324588fa2ff92b') prepare() { diff --git a/src/libhdhomerun/PKGBUILD b/src/libhdhomerun/PKGBUILD new file mode 100644 index 0000000..27f4a24 --- /dev/null +++ b/src/libhdhomerun/PKGBUILD @@ -0,0 +1,28 @@ +# Maintainer: Louis Tim Larsen , Alex Mekkering +# Contributor: Grey Christoforo + +pkgname=libhdhomerun +pkgver=20200907 +pkgrel=1 +pkgdesc="Library and command line utility for interfacing with HDHomeRun device" +arch=('i686' 'x86_64' 'arm' 'armv6h' 'armv7h' 'aarch64') +url="http://www.silicondust.com/downloads" +license=('LGPL') +optdepends=('hdhomerun-firmware-bin: firmware for hdhomerun devices' + 'hdhomerun_config_gui: hdhomerun configuration gui') + +source=("http://download.silicondust.com/hdhomerun/${pkgname}_${pkgver}.tgz") +sha512sums=('872364cc054b77c24ce813d68285ffcbfb31c8ff4f796085a886dc437506e2a86c199615a1ec68818f9e9ed106204a60fd91567ac14f6d82c09f55063dfdabed') + +build() { + cd "$srcdir/$pkgname" + make +} + +package() { + cd "$srcdir/$pkgname" + + install -D -m 644 *.h -t $pkgdir/usr/include/libhdhomerun/ + install -D -m 755 libhdhomerun.so $pkgdir/usr/lib/libhdhomerun.so + install -D -m 755 hdhomerun_config $pkgdir/usr/bin/hdhomerun_config +} diff --git a/src/makemkv/PKGBUILD b/src/makemkv/PKGBUILD index 3294571..d860597 100644 --- a/src/makemkv/PKGBUILD +++ b/src/makemkv/PKGBUILD @@ -1,7 +1,8 @@ -# Maintainer: Olaf Bauer +# Maintainer: Marcel Korpel +# Contributor: Olaf Bauer pkgname=makemkv -pkgver=1.15.2 +pkgver=1.15.3 pkgrel=1 pkgdesc="DVD and Blu-ray to MKV converter and network streamer" arch=('i686' 'x86_64') @@ -18,11 +19,11 @@ source=(${url}/download/${pkgname}-bin-${pkgver}.tar.gz makemkv.1 makemkvcon.1 mmdtsdec.1) -md5sums=('17dd19b4d92354f9489188c4edd2a285' - '96e7282e421127c85405deacff7a2e13' - '1f9b3a91427a2015434e501542443f4c' - '7f4b112c5178860cc2eb25059ae1af2a' - '9476154228bf1b1f983178ba8565ac44') +sha256sums=('636dda7ad9f0a8b19a048809fc03f4a02ae1f0fe63a55adc30982673439efa2f' + '42bbaaf5828068d175a43b4e869b4ff7952314bd8d03812e44e478bfa5d91c4c' + '5573b2e4bade10d8cd258a7c235eb46f66ef8c8c97e5d5eb090c38fa0f94389b' + 'f12c0facf2f0071a9f728b138986f0a4c2b4ff6ace2dfb2e96364e215e9fda6f' + '2a6237d3d5ce073734c658c7ec5d2141ecd0047e6d3c45d1bd594135c928878f') build() { cd "${srcdir}/${pkgname}-oss-${pkgver}" diff --git a/src/nvidia-390xx-settings/0001-nvidia-settings-Make-VDPAUDeviceFunctions-static-to-.patch b/src/nvidia-390xx-settings/0001-nvidia-settings-Make-VDPAUDeviceFunctions-static-to-.patch new file mode 100644 index 0000000..7c1301f --- /dev/null +++ b/src/nvidia-390xx-settings/0001-nvidia-settings-Make-VDPAUDeviceFunctions-static-to-.patch @@ -0,0 +1,111 @@ +From a7c1f5fce6303a643fadff7d85d59934bd0cf6b6 Mon Sep 17 00:00:00 2001 +From: Aaron Plattner +Date: Mon, 18 May 2020 15:27:01 -0700 +Subject: [PATCH] nvidia-settings: Make VDPAUDeviceFunctions static to + ctkvdpau.c + +GCC 10 defaults to building with -fno-common, which exposes a bug in +nvidia-settings: The VDPAUDeviceFunctions structure is defined as global in +ctkvdpau.h, so both ctkvdpau.o and ctkwindow.o have it as a global, non-static +"tentative definition" symbol. The GCC 10 man page describes it like this: + + -fcommon + In C code, this option controls the placement of global variables + defined without an initializer, known as tentative definitions in + the C standard. Tentative definitions are distinct from + declarations of a variable with the "extern" keyword, which do not + allocate storage. + + The default is -fno-common, which specifies that the compiler + places uninitialized global variables in the BSS section of the + object file. This inhibits the merging of tentative definitions by + the linker so you get a multiple-definition error if the same + variable is accidentally defined in more than one compilation unit. + + The -fcommon places uninitialized global variables in a common + block. This allows the linker to resolve all tentative definitions + of the same variable in different compilation units to the same + object, or to a non-tentative definition. This behavior is + inconsistent with C++, and on many targets implies a speed and code + size penalty on global variable references. It is mainly useful to + enable legacy code to link without errors. + +Since the copy of VDPAUDeviceFunctions in ctkwindow.o is not used, just remove +it by moving the definition of this structure into ctkvdpau.c. +--- + src/gtk+-2.x/ctkvdpau.c | 23 +++++++++++++++++++++++ + src/gtk+-2.x/ctkvdpau.h | 24 ------------------------ + 2 files changed, 23 insertions(+), 24 deletions(-) + +diff --git a/src/gtk+-2.x/ctkvdpau.c b/src/gtk+-2.x/ctkvdpau.c +index 2f120f0..6149c28 100644 +--- a/src/gtk+-2.x/ctkvdpau.c ++++ b/src/gtk+-2.x/ctkvdpau.c +@@ -103,6 +103,29 @@ const gchar* __video_mixer_parameter_help = + const gchar* __video_mixer_attribute_help = + "This shows the video mixer attributes and any applicable ranges."; + ++static struct VDPAUDeviceImpl { ++ ++ VdpGetErrorString *GetErrorString; ++ VdpGetProcAddress *GetProcAddress; ++ VdpGetApiVersion *GetApiVersion; ++ VdpGetInformationString *GetInformationString; ++ VdpVideoSurfaceQueryCapabilities *VideoSurfaceQueryCapabilities; ++ VdpVideoSurfaceQueryGetPutBitsYCbCrCapabilities ++ *VideoSurfaceQueryGetPutBitsYCbCrCapabilities; ++ VdpOutputSurfaceQueryCapabilities *OutputSurfaceQueryCapabilities; ++ VdpOutputSurfaceQueryGetPutBitsNativeCapabilities ++ *OutputSurfaceQueryGetPutBitsNativeCapabilities; ++ VdpOutputSurfaceQueryPutBitsYCbCrCapabilities ++ *OutputSurfaceQueryPutBitsYCbCrCapabilities; ++ VdpBitmapSurfaceQueryCapabilities *BitmapSurfaceQueryCapabilities; ++ VdpDecoderQueryCapabilities *DecoderQueryCapabilities; ++ VdpVideoMixerQueryFeatureSupport *VideoMixerQueryFeatureSupport; ++ VdpVideoMixerQueryParameterSupport *VideoMixerQueryParameterSupport; ++ VdpVideoMixerQueryAttributeSupport *VideoMixerQueryAttributeSupport; ++ VdpVideoMixerQueryParameterValueRange *VideoMixerQueryParameterValueRange; ++ VdpVideoMixerQueryAttributeValueRange *VideoMixerQueryAttributeValueRange; ++} VDPAUDeviceFunctions; ++ + static int queryOutputSurface(CtkVDPAU *ctk_vdpau, VdpDevice device, + VdpGetProcAddress *getProcAddress); + +diff --git a/src/gtk+-2.x/ctkvdpau.h b/src/gtk+-2.x/ctkvdpau.h +index ec58d36..2652f6f 100644 +--- a/src/gtk+-2.x/ctkvdpau.h ++++ b/src/gtk+-2.x/ctkvdpau.h +@@ -45,30 +45,6 @@ G_BEGIN_DECLS + #define CTK_VDPAU_GET_CLASS(obj) \ + (G_TYPE_INSTANCE_GET_CLASS ((obj), CTK_TYPE_VDPAU, CtkVDPAUClass)) + +- +-struct VDPAUDeviceImpl { +- +- VdpGetErrorString *GetErrorString; +- VdpGetProcAddress *GetProcAddress; +- VdpGetApiVersion *GetApiVersion; +- VdpGetInformationString *GetInformationString; +- VdpVideoSurfaceQueryCapabilities *VideoSurfaceQueryCapabilities; +- VdpVideoSurfaceQueryGetPutBitsYCbCrCapabilities +- *VideoSurfaceQueryGetPutBitsYCbCrCapabilities; +- VdpOutputSurfaceQueryCapabilities *OutputSurfaceQueryCapabilities; +- VdpOutputSurfaceQueryGetPutBitsNativeCapabilities +- *OutputSurfaceQueryGetPutBitsNativeCapabilities; +- VdpOutputSurfaceQueryPutBitsYCbCrCapabilities +- *OutputSurfaceQueryPutBitsYCbCrCapabilities; +- VdpBitmapSurfaceQueryCapabilities *BitmapSurfaceQueryCapabilities; +- VdpDecoderQueryCapabilities *DecoderQueryCapabilities; +- VdpVideoMixerQueryFeatureSupport *VideoMixerQueryFeatureSupport; +- VdpVideoMixerQueryParameterSupport *VideoMixerQueryParameterSupport; +- VdpVideoMixerQueryAttributeSupport *VideoMixerQueryAttributeSupport; +- VdpVideoMixerQueryParameterValueRange *VideoMixerQueryParameterValueRange; +- VdpVideoMixerQueryAttributeValueRange *VideoMixerQueryAttributeValueRange; +-} VDPAUDeviceFunctions; +- + /* Generic description structure */ + typedef struct + { +-- +2.27.0 + diff --git a/src/nvidia-390xx-settings/PKGBUILD b/src/nvidia-390xx-settings/PKGBUILD new file mode 100644 index 0000000..cd0f96c --- /dev/null +++ b/src/nvidia-390xx-settings/PKGBUILD @@ -0,0 +1,70 @@ +# Maintainer: Alonso Rodriguez +# Maintainer: Sven-Hendrik Haase + +pkgbase=nvidia-390xx-settings +pkgname=('nvidia-390xx-settings' 'libxnvctrl-390xx') +pkgver=390.138 +pkgrel=1 +pkgdesc='Tool for configuring the NVIDIA graphics driver, 390xx legacy branch' +url='https://github.com/NVIDIA/nvidia-settings' +arch=('x86_64') +license=('GPL2') +makedepends=('git' 'inetutils' 'gtk2' 'jansson' 'gtk3' 'libxv' 'libvdpau' 'nvidia-390xx-utils' 'libxext') +options=('staticlibs') +source=(nvidia-settings-${pkgver}.tar.gz::https://github.com/NVIDIA/nvidia-settings/archive/${pkgver}.tar.gz + libxnvctrl_so.patch + 0001-nvidia-settings-Make-VDPAUDeviceFunctions-static-to-.patch) +sha512sums=('c27c8dbb858f06982e251bd3bf49650d05ca8811d61eb342b43bf00bc595b8d789b38b7ebd76b9ab5786ec5bee84b1cb44ee3f3fb24c40dee1b1b9d535993eb6' + 'f69f5dc84fe624579a3c9ce877f4ae4e34c2184877576afbea07b8abdd7ff01e470517f2b77cd11a904518cbcb83fb388ca1d08888006f0ef2854723920c9cf8' + '0fd6355a10dfecb3636764f40eb0d4a4625f69e48fb653060f40e2bde8bf51eb04ae08be8751163d94e022c6f595a9756cde9d8404a556a4a83e3b5b74052c53') + +prepare() { + cd nvidia-settings-${pkgver} + patch -p1 < "${srcdir}/libxnvctrl_so.patch" + patch -p1 < "${srcdir}/0001-nvidia-settings-Make-VDPAUDeviceFunctions-static-to-.patch" +} + +build() { + # Set env variables + export PREFIX=/usr + export NV_USE_BUNDLED_LIBJANSSON=0 + + cd nvidia-settings-${pkgver} + make + make -C src/libXNVCtrl +} + +package_nvidia-390xx-settings() { + depends=('jansson' 'gtk3' 'libxv' 'libvdpau' 'nvidia-390xx-utils' 'libxnvctrl-390xx') + conflicts=('nvidia-settings') + provides=('nvidia-settings') + + cd nvidia-settings-${pkgver} + make DESTDIR="${pkgdir}" install + + install -D -m644 doc/nvidia-settings.desktop "${pkgdir}/usr/share/applications/nvidia-settings.desktop" + install -D -m644 doc/nvidia-settings.png "${pkgdir}/usr/share/pixmaps/nvidia-settings.png" + sed -e 's:__UTILS_PATH__:/usr/bin:' -e 's:__PIXMAP_PATH__:/usr/share/pixmaps:' -i "${pkgdir}/usr/share/applications/nvidia-settings.desktop" + + rm "$pkgdir/usr/lib/libnvidia-gtk2.so.$pkgver" +} + +package_libxnvctrl-390xx() { + depends=('libxext') + conflicts=('libxnvctrl') + provides=('libxnvctrl') + pkgdesc='NVIDIA NV-CONTROL X extension, 390xx legacy branch' + + cd nvidia-settings-${pkgver} + install -Dm 644 doc/{NV-CONTROL-API.txt,FRAMELOCK.txt} -t "${pkgdir}/usr/share/doc/${pkgname}" + install -Dm 644 samples/{Makefile,README,*.c,*.h,*.mk} -t "${pkgdir}/usr/share/doc/${pkgname}/samples" + + cd src/libXNVCtrl + install -Dm 644 *.h -t "${pkgdir}/usr/include/NVCtrl" + install -Dm 644 libXNVCtrl.a -t "${pkgdir}/usr/lib" + install -Dm 755 libXNVCtrl.so.0.0.0 -t "${pkgdir}/usr/lib" + ln -s libXNVCtrl.so.0.0.0 "${pkgdir}/usr/lib/libXNVCtrl.so.0" + ln -s libXNVCtrl.so.0 "${pkgdir}/usr/lib/libXNVCtrl.so" +} + +# vim: ts=2 sw=2 et: diff --git a/src/nvidia-390xx-settings/libxnvctrl_so.patch b/src/nvidia-390xx-settings/libxnvctrl_so.patch new file mode 100644 index 0000000..724064e --- /dev/null +++ b/src/nvidia-390xx-settings/libxnvctrl_so.patch @@ -0,0 +1,67 @@ +--- a/src/Makefile ++++ b/src/Makefile +@@ -106,6 +106,8 @@ + XNVCTRL_DIR ?= libXNVCtrl + XNVCTRL_MAKEFILE ?= Makefile + XNVCTRL_ARCHIVE ?= $(XNVCTRL_DIR)/libXNVCtrl.a ++XNVCTRL_SHARED ?= $(XNVCTRL_DIR)/libXNVCtrl.so.0 ++XNVCTRL_LIB ?= $(XNVCTRL_SHARED) + XCONFIG_PARSER_DIR ?= XF86Config-parser + COMMON_UTILS_DIR ?= common-utils + COMMON_UNIX_DIR ?= common-unix +@@ -280,15 +282,18 @@ + $(MKDIR) $(BINDIR) + $(INSTALL) $(INSTALL_BIN_ARGS) $< $(BINDIR)/$(notdir $<) + ++$(XNVCTRL_ARCHIVE) $(XNVCTRL_SHARED): ++ $(MAKE) -C $(XNVCTRL_DIR) ++ + $(eval $(call DEBUG_INFO_RULES, $(NVIDIA_SETTINGS))) +-$(NVIDIA_SETTINGS).unstripped: $(OBJS) $(XNVCTRL_ARCHIVE) ++$(NVIDIA_SETTINGS).unstripped: $(OBJS) $(XNVCTRL_LIB) + $(call quiet_cmd,LINK) $(CFLAGS) $(LDFLAGS) $(BIN_LDFLAGS) \ +- -rdynamic -o $@ $(OBJS) $(XNVCTRL_ARCHIVE) $(LIBS) ++ -rdynamic -o $@ $(OBJS) $(XNVCTRL_LIB) $(LIBS) + + $(eval $(call DEBUG_INFO_RULES, $(GTK2LIB))) + $(GTK2LIB).unstripped: $(GTK2_OBJS) $(XCP_OBJS) $(IMAGE_OBJS) $(VERSION_MK) + $(call quiet_cmd,LINK) -shared $(CFLAGS) $(LDFLAGS) $(BIN_LDFLAGS) \ +- $(XNVCTRL_ARCHIVE) $(LIBS) $(GTK2_LIBS) \ ++ $(XNVCTRL_LIB) $(LIBS) $(GTK2_LIBS) \ + -Wl,--unresolved-symbols=ignore-all -o $@ \ + -Wl,-soname -Wl,$(GTK2LIB_SONAME) \ + $(GTK2_OBJS) $(XCP_OBJS) +@@ -297,7 +302,7 @@ + $(eval $(call DEBUG_INFO_RULES, $(GTK3LIB))) + $(GTK3LIB).unstripped: $(GTK3_OBJS) $(XCP_OBJS) $(VERSION_MK) + $(call quiet_cmd,LINK) -shared $(CFLAGS) $(LDFLAGS) $(BIN_LDFLAGS) \ +- $(XNVCTRL_ARCHIVE) $(LIBS) $(GTK3_LIBS) \ ++ $(XNVCTRL_LIB) $(LIBS) $(GTK3_LIBS) \ + -Wl,--unresolved-symbols=ignore-all -o $@ \ + -Wl,-soname -Wl,$(GTK3LIB_SONAME) \ + $(GTK3_OBJS) $(XCP_OBJS) +--- a/src/libXNVCtrl/Makefile ++++ b/src/libXNVCtrl/Makefile +@@ -55,10 +55,17 @@ + .PHONY: clean + + all: $(LIBXNVCTRL) ++all: libXNVCtrl.so + + $(LIBXNVCTRL) : $(OBJS) + $(AR) ru $@ $(OBJS) + ++libXNVCtrl.so: $(OBJS) ++ $(RM) $@ $@.* ++ $(CC) -shared -Wl,-soname=$@.0 -o $@.0.0.0 $(LDFLAGS) $^ -lXext -lX11 ++ ln -s $@.0.0.0 $@.0 ++ ln -s $@.0 $@ ++ + # define the rule to build each object file + $(foreach src,$(SRC),$(eval $(call DEFINE_OBJECT_RULE,TARGET,$(src)))) + +@@ -68,3 +75,4 @@ + clean: + rm -rf $(LIBXNVCTRL) *~ $(STAMP_C) \ + $(OUTPUTDIR)/*.o $(OUTPUTDIR)/*.d ++ rm -f libXNVCtrl.so libXNVCtrl.so.* diff --git a/src/nvidia-390xx-utils/PKGBUILD b/src/nvidia-390xx-utils/PKGBUILD new file mode 100644 index 0000000..9da2d12 --- /dev/null +++ b/src/nvidia-390xx-utils/PKGBUILD @@ -0,0 +1,171 @@ +# Maintainer: Alonso Rodriguez +# Maintainer: Sven-Hendrik Haase +# Maintainer: Thomas Baechler +# Contributor: James Rayner + +pkgbase=nvidia-390xx-utils +pkgname=('nvidia-390xx-utils' 'opencl-nvidia-390xx') +pkgver=390.138 +pkgrel=3 +arch=('x86_64') +url="http://www.nvidia.com/" +license=('custom') +options=('!strip') +_pkg="NVIDIA-Linux-x86_64-${pkgver}-no-compat32" +source=('nvidia-drm-outputclass.conf' + 'nvidia-390xx-utils.sysusers' + 'nvidia-390xx-utils.install' + "https://us.download.nvidia.com/XFree86/Linux-x86_64/${pkgver}/${_pkg}.run") +sha512sums=('de7116c09f282a27920a1382df84aa86f559e537664bb30689605177ce37dc5067748acf9afd66a3269a6e323461356592fdfc624c86523bf105ff8fe47d3770' + '4b3ad73f5076ba90fe0b3a2e712ac9cde76f469cd8070280f960c3ce7dc502d1927f525ae18d008075c8f08ea432f7be0a6c3a7a6b49c361126dcf42f97ec499' + '1fde155171701e8dac7e58b3ef8f62b7810a959ec664950ac7b791aca4e6776ff5540cb5819e44ccce46b2d42c087ac43c80ad1182a484e4d75e9b4374516137' + 'a4e6e63cbd74d25c5bef8efee64828acf45e89a27d1a677eab04a9a10fd10eb77bd28d17aab2009b282ae3db97e810b1c07aab80c257e8d981e6a8512c79f789') + + +create_links() { + # create soname links + find "$pkgdir" -type f -name '*.so*' ! -path '*xorg/*' -print0 | while read -d $'\0' _lib; do + _soname=$(dirname "${_lib}")/$(readelf -d "${_lib}" | grep -Po 'SONAME.*: \[\K[^]]*' || true) + _base=$(echo ${_soname} | sed -r 's/(.*).so.*/\1.so/') + [[ -e "${_soname}" ]] || ln -s $(basename "${_lib}") "${_soname}" + [[ -e "${_base}" ]] || ln -s $(basename "${_soname}") "${_base}" + done +} + +prepare() { + sh "${_pkg}.run" --extract-only + cd "${_pkg}" + bsdtar -xf nvidia-persistenced-init.tar.bz2 + + sed -i 's/__NV_VK_ICD__/libGLX_nvidia.so.0/' nvidia_icd.json.template +} + +package_opencl-nvidia-390xx() { + pkgdesc="OpenCL implemention for NVIDIA" + depends=('zlib') + optdepends=('opencl-headers: headers necessary for OpenCL development') + conflicts=('opencl-nvidia') + provides=('opencl-nvidia' 'opencl-driver') + cd "${_pkg}" + + # OpenCL + install -D -m644 nvidia.icd "${pkgdir}/etc/OpenCL/vendors/nvidia.icd" + install -D -m755 "libnvidia-compiler.so.${pkgver}" "${pkgdir}/usr/lib/libnvidia-compiler.so.${pkgver}" + install -D -m755 "libnvidia-opencl.so.${pkgver}" "${pkgdir}/usr/lib/libnvidia-opencl.so.${pkgver}" + + create_links + + mkdir -p "${pkgdir}/usr/share/licenses" + ln -s nvidia "${pkgdir}/usr/share/licenses/opencl-nvidia" +} + +package_nvidia-390xx-utils() { + pkgdesc="NVIDIA drivers utilities" + depends=('xorg-server' 'libglvnd' 'egl-wayland') + optdepends=('nvidia-390xx-settings: configuration tool' + 'xorg-server-devel: nvidia-xconfig' + 'opencl-nvidia-390xx: OpenCL support') + conflicts=('nvidia-390xx-libgl' 'nvidia-utils' 'nvidia-libgl') + provides=('vulkan-driver' 'opengl-driver' 'nvidia-utils' 'nvidia-390xx-libgl' 'nvidia-libgl') + replaces=('nvidia-390xx-libgl') + install="${pkgname}.install" + + cd "${_pkg}" + + # X driver + install -D -m755 nvidia_drv.so "${pkgdir}/usr/lib/xorg/modules/drivers/nvidia_drv.so" + + # GLX extension module for X + install -D -m755 "libglx.so.${pkgver}" "${pkgdir}/usr/lib/nvidia/xorg/libglx.so.${pkgver}" + ln -s "libglx.so.${pkgver}" "${pkgdir}/usr/lib/nvidia/xorg/libglx.so.1" # X doesn't find glx otherwise + ln -s "libglx.so.${pkgver}" "${pkgdir}/usr/lib/nvidia/xorg/libglx.so" # X doesn't find glx otherwise + + install -D -m755 "libGLX_nvidia.so.${pkgver}" "${pkgdir}/usr/lib/libGLX_nvidia.so.${pkgver}" + # now in mesa driver + #ln -s "libGLX_nvidia.so.${pkgver}" "${pkgdir}/usr/lib/libGLX_indirect.so.0" + + # OpenGL libraries + install -D -m755 "libEGL_nvidia.so.${pkgver}" "${pkgdir}/usr/lib/libEGL_nvidia.so.${pkgver}" + install -D -m755 "libGLESv1_CM_nvidia.so.${pkgver}" "${pkgdir}/usr/lib/libGLESv1_CM_nvidia.so.${pkgver}" + install -D -m755 "libGLESv2_nvidia.so.${pkgver}" "${pkgdir}/usr/lib/libGLESv2_nvidia.so.${pkgver}" + install -D -m644 "10_nvidia.json" "${pkgdir}/usr/share/glvnd/egl_vendor.d/10_nvidia.json" + + # OpenGL core library + install -D -m755 "libnvidia-glcore.so.${pkgver}" "${pkgdir}/usr/lib/libnvidia-glcore.so.${pkgver}" + install -D -m755 "libnvidia-eglcore.so.${pkgver}" "${pkgdir}/usr/lib/libnvidia-eglcore.so.${pkgver}" + install -D -m755 "libnvidia-glsi.so.${pkgver}" "${pkgdir}/usr/lib/libnvidia-glsi.so.${pkgver}" + + # misc + install -D -m755 "libnvidia-ifr.so.${pkgver}" "${pkgdir}/usr/lib/libnvidia-ifr.so.${pkgver}" + install -D -m755 "libnvidia-fbc.so.${pkgver}" "${pkgdir}/usr/lib/libnvidia-fbc.so.${pkgver}" + install -D -m755 "libnvidia-encode.so.${pkgver}" "${pkgdir}/usr/lib/libnvidia-encode.so.${pkgver}" + install -D -m755 "libnvidia-cfg.so.${pkgver}" "${pkgdir}/usr/lib/libnvidia-cfg.so.${pkgver}" + install -D -m755 "libnvidia-ml.so.${pkgver}" "${pkgdir}/usr/lib/libnvidia-ml.so.${pkgver}" + + # Vulkan ICD + install -D -m644 "nvidia_icd.json.template" "${pkgdir}/usr/share/vulkan/icd.d/nvidia_icd.json" + + # VDPAU + install -D -m755 "libvdpau_nvidia.so.${pkgver}" "${pkgdir}/usr/lib/vdpau/libvdpau_nvidia.so.${pkgver}" + + # nvidia-tls library + install -D -m755 "libnvidia-tls.so.${pkgver}" "${pkgdir}/usr/lib/libnvidia-tls.so.${pkgver}" + install -D -m755 "tls/libnvidia-tls.so.${pkgver}" "${pkgdir}/usr/lib/tls/libnvidia-tls.so.${pkgver}" + + # CUDA + install -D -m755 "libcuda.so.${pkgver}" "${pkgdir}/usr/lib/libcuda.so.${pkgver}" + install -D -m755 "libnvcuvid.so.${pkgver}" "${pkgdir}/usr/lib/libnvcuvid.so.${pkgver}" + + # PTX JIT Compiler (Parallel Thread Execution (PTX) is a pseudo-assembly language for CUDA) + install -D -m755 "libnvidia-ptxjitcompiler.so.${pkgver}" "${pkgdir}/usr/lib/libnvidia-ptxjitcompiler.so.${pkgver}" + + # Fat (multiarchitecture) binary loader + install -D -m755 "libnvidia-fatbinaryloader.so.${pkgver}" "${pkgdir}/usr/lib/libnvidia-fatbinaryloader.so.${pkgver}" + + # DEBUG + install -D -m755 nvidia-debugdump "${pkgdir}/usr/bin/nvidia-debugdump" + + # nvidia-xconfig + install -D -m755 nvidia-xconfig "${pkgdir}/usr/bin/nvidia-xconfig" + install -D -m644 nvidia-xconfig.1.gz "${pkgdir}/usr/share/man/man1/nvidia-xconfig.1.gz" + + # nvidia-bug-report + install -D -m755 nvidia-bug-report.sh "${pkgdir}/usr/bin/nvidia-bug-report.sh" + + # nvidia-smi + install -D -m755 nvidia-smi "${pkgdir}/usr/bin/nvidia-smi" + install -D -m644 nvidia-smi.1.gz "${pkgdir}/usr/share/man/man1/nvidia-smi.1.gz" + + # nvidia-cuda-mps + install -D -m755 nvidia-cuda-mps-server "${pkgdir}/usr/bin/nvidia-cuda-mps-server" + install -D -m755 nvidia-cuda-mps-control "${pkgdir}/usr/bin/nvidia-cuda-mps-control" + install -D -m644 nvidia-cuda-mps-control.1.gz "${pkgdir}/usr/share/man/man1/nvidia-cuda-mps-control.1.gz" + + # nvidia-modprobe + # This should be removed if nvidia fixed their uvm module! + install -D -m4755 nvidia-modprobe "${pkgdir}/usr/bin/nvidia-modprobe" + install -D -m644 nvidia-modprobe.1.gz "${pkgdir}/usr/share/man/man1/nvidia-modprobe.1.gz" + + # nvidia-persistenced + install -D -m755 nvidia-persistenced "${pkgdir}/usr/bin/nvidia-persistenced" + install -D -m644 nvidia-persistenced.1.gz "${pkgdir}/usr/share/man/man1/nvidia-persistenced.1.gz" + install -D -m644 nvidia-persistenced-init/systemd/nvidia-persistenced.service.template "${pkgdir}/usr/lib/systemd/system/nvidia-persistenced.service" + sed -i 's/__USER__/nvidia-persistenced/' "${pkgdir}/usr/lib/systemd/system/nvidia-persistenced.service" + + # application profiles + install -D -m644 nvidia-application-profiles-${pkgver}-rc "${pkgdir}/usr/share/nvidia/nvidia-application-profiles-${pkgver}-rc" + install -D -m644 nvidia-application-profiles-${pkgver}-key-documentation "${pkgdir}/usr/share/nvidia/nvidia-application-profiles-${pkgver}-key-documentation" + + install -D -m644 LICENSE "${pkgdir}/usr/share/licenses/nvidia-utils/LICENSE" + install -D -m644 README.txt "${pkgdir}/usr/share/doc/nvidia/README" + install -D -m644 NVIDIA_Changelog "${pkgdir}/usr/share/doc/nvidia/NVIDIA_Changelog" + cp -r html "${pkgdir}/usr/share/doc/nvidia/" + ln -s nvidia "${pkgdir}/usr/share/doc/nvidia-utils" + + # distro specific files must be installed in /usr/share/X11/xorg.conf.d + install -D -m644 "${srcdir}/nvidia-drm-outputclass.conf" "${pkgdir}/usr/share/X11/xorg.conf.d/10-nvidia-drm-outputclass.conf" + + install -Dm644 "${srcdir}/nvidia-390xx-utils.sysusers" "${pkgdir}/usr/lib/sysusers.d/$pkgname.conf" + + create_links +} diff --git a/src/nvidia-390xx-utils/nvidia-390xx-utils.install b/src/nvidia-390xx-utils/nvidia-390xx-utils.install new file mode 100644 index 0000000..47847c7 --- /dev/null +++ b/src/nvidia-390xx-utils/nvidia-390xx-utils.install @@ -0,0 +1,7 @@ +post_upgrade() { + echo "If you run into trouble with CUDA not being available, run nvidia-modprobe first." +} + +post_install() { + post_upgrade +} diff --git a/src/nvidia-390xx-utils/nvidia-390xx-utils.sysusers b/src/nvidia-390xx-utils/nvidia-390xx-utils.sysusers new file mode 100644 index 0000000..71c0608 --- /dev/null +++ b/src/nvidia-390xx-utils/nvidia-390xx-utils.sysusers @@ -0,0 +1 @@ +u nvidia-persistenced 143 'NVIDIA Persistence Daemon' diff --git a/src/nvidia-390xx-utils/nvidia-drm-outputclass.conf b/src/nvidia-390xx-utils/nvidia-drm-outputclass.conf new file mode 100644 index 0000000..9c36f59 --- /dev/null +++ b/src/nvidia-390xx-utils/nvidia-drm-outputclass.conf @@ -0,0 +1,8 @@ +Section "OutputClass" + Identifier "nvidia" + MatchDriver "nvidia-drm" + Driver "nvidia" + Option "AllowEmptyInitialConfiguration" + ModulePath "/usr/lib/nvidia/xorg" + ModulePath "/usr/lib/xorg/modules" +EndSection diff --git a/src/nvidia-390xx/PKGBUILD b/src/nvidia-390xx/PKGBUILD new file mode 100644 index 0000000..b844031 --- /dev/null +++ b/src/nvidia-390xx/PKGBUILD @@ -0,0 +1,104 @@ +# Maintainer: Alonso Rodriguez +# Maintainer: Sven-Hendrik Haase +# Maintainer: Felix Yan +# Contributor: Thomas Baechler + +pkgbase=nvidia-390xx +pkgname=(nvidia-390xx nvidia-390xx-dkms) +pkgver=390.138 +pkgrel=5 +pkgdesc="NVIDIA drivers for linux, 390xx legacy branch" +arch=('x86_64') +url="https://www.nvidia.com/" +makedepends=("nvidia-390xx-utils=${pkgver}" 'libglvnd' 'linux-headers') +conflicts=('nvidia') +license=('custom') +options=('!strip') +_pkg="NVIDIA-Linux-x86_64-${pkgver}-no-compat32" +source=("https://us.download.nvidia.com/XFree86/Linux-x86_64/${pkgver}/${_pkg}.run" + 'kernel-4.16.patch' + 'kernel-5.8.patch') +sha256sums=('a34a19b618be0eb06c4699247489833a8f22c59423f246248614e0a59b1508da' + '622ac792ec200b2239cb663c0010392118b78c9904973d82cd261165c16d6385' + 'e3df2945e29a9834d2c1c21eb6871b1672f25bd809b413cd5e0b45d0d2c815a5') + +prepare() { + sh "${_pkg}.run" --extract-only + cd "${_pkg}" + + # Restore phys_to_dma support (still needed for 396.18) (and still needed for 390.138) + # https://bugs.archlinux.org/task/58074 + patch -Np1 -i ../kernel-4.16.patch + + # 5.8 Patch + patch -Np1 -i ../kernel-5.8.patch + + + ## OLD PATCHES [390.132] ## + + # Patch to avoid screen tearing on Optimus Systems [Geeko] + # patch -Np1 -i ../kernel-5.5.patch + + # Patch to make it compile under linux 5.6 + # patch -Np1 -i ../kernel-5.6.patch + + # Patch to make it compile under linux 5.7 - Courtesy of openglfreak + # patch -Np1 -i ../kernel-5.7.patch + + ########################### + + cp -a kernel kernel-dkms + cd kernel-dkms + sed -i "s/__VERSION_STRING/${pkgver}/" dkms.conf + sed -i 's/__JOBS/`nproc`/' dkms.conf + sed -i 's/__DKMS_MODULES//' dkms.conf + sed -i '$iBUILT_MODULE_NAME[0]="nvidia"\ +DEST_MODULE_LOCATION[0]="/kernel/drivers/video"\ +BUILT_MODULE_NAME[1]="nvidia-uvm"\ +DEST_MODULE_LOCATION[1]="/kernel/drivers/video"\ +BUILT_MODULE_NAME[2]="nvidia-modeset"\ +DEST_MODULE_LOCATION[2]="/kernel/drivers/video"\ +BUILT_MODULE_NAME[3]="nvidia-drm"\ +DEST_MODULE_LOCATION[3]="/kernel/drivers/video"' dkms.conf + + # Gift for linux-rt guys + sed -i 's/NV_EXCLUDE_BUILD_MODULES/IGNORE_PREEMPT_RT_PRESENCE=1 NV_EXCLUDE_BUILD_MODULES/' dkms.conf +} + +build() { + cd "${_pkg}"/kernel + make SYSSRC=/usr/src/linux module +} + +package_nvidia-390xx() { + pkgdesc="NVIDIA drivers for linux, 390xx legacy branch" + depends=('linux' "nvidia-390xx-utils=${pkgver}" 'libglvnd') + + _extradir="/usr/lib/modules/$( ++#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 16, 0) + #include ++#else ++#include ++#endif + #endif + + #if defined(CONFIG_SWIOTLB) && defined(NVCPU_AARCH64) +diff --git a/kernel/conftest.sh b/kernel/conftest.sh +index b23dbb4..42dc576 100755 +--- a/kernel/conftest.sh ++++ b/kernel/conftest.sh +@@ -1906,7 +1906,12 @@ compile_test() { + # Determine if the phys_to_dma function is present. + # + CODE=" ++ #include ++#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 16, 0) + #include ++#else ++ #include ++#endif + void conftest_phys_to_dma(void) { + phys_to_dma(); + }" diff --git a/src/nvidia-390xx/kernel-5.8.patch b/src/nvidia-390xx/kernel-5.8.patch new file mode 100644 index 0000000..48649d7 --- /dev/null +++ b/src/nvidia-390xx/kernel-5.8.patch @@ -0,0 +1,96 @@ +diff --git a/kernel/common/inc/nv-linux.h b/kernel/common/inc/nv-linux.h +index ac5bb95..3d2f0b7 100644 +--- a/kernel/common/inc/nv-linux.h ++++ b/kernel/common/inc/nv-linux.h +@@ -531,7 +531,11 @@ extern int nv_pat_mode; + + static inline void *nv_vmalloc(unsigned long size) + { ++#if defined(NV_VMALLOC_HAS_PGPROT_T_ARG) + void *ptr = __vmalloc(size, GFP_KERNEL, PAGE_KERNEL); ++#else ++ void *ptr = __vmalloc(size, GFP_KERNEL); ++#endif + if (ptr) + NV_MEMDBG_ADD(ptr, size); + return ptr; +diff --git a/kernel/common/inc/nv-mm.h b/kernel/common/inc/nv-mm.h +index 1270bf3..d2d7657 100644 +--- a/kernel/common/inc/nv-mm.h ++++ b/kernel/common/inc/nv-mm.h +@@ -29,6 +29,10 @@ + typedef int vm_fault_t; + #endif + ++#if defined(NV_MM_HAS_MMAP_LOCK) ++#define mmap_sem mmap_lock ++#endif ++ + /* get_user_pages + * + * The 8-argument version of get_user_pages was deprecated by commit +diff --git a/kernel/conftest.sh b/kernel/conftest.sh +index 7da7505..7793dd6 100755 +--- a/kernel/conftest.sh ++++ b/kernel/conftest.sh +@@ -4067,6 +4067,44 @@ compile_test() { + compile_check_conftest "$CODE" "NV_KTIME_GET_REAL_TS64_PRESENT" "" "functions" + ;; + ++ vmalloc_has_pgprot_t_arg) ++ # ++ # Determine if __vmalloc has the 'pgprot' argument. ++ # ++ # The third argument to __vmalloc, page protection ++ # 'pgprot_t prot', was removed by commit 88dca4ca5a93 ++ # (mm: remove the pgprot argument to __vmalloc) ++ # in v5.8-rc1 (2020-06-01). ++ CODE=" ++ #include ++ ++ void conftest_vmalloc_has_pgprot_t_arg(void) { ++ pgprot_t prot; ++ (void)__vmalloc(0, 0, prot); ++ }" ++ ++ compile_check_conftest "$CODE" "NV_VMALLOC_HAS_PGPROT_T_ARG" "" "types" ++ ++ ;; ++ ++ mm_has_mmap_lock) ++ # ++ # Determine if the 'mm_struct' structure has a 'mmap_lock' field. ++ # ++ # Kernel commit da1c55f1b272 ("mmap locking API: rename mmap_sem ++ # to mmap_lock") replaced the field 'mmap_sem' by 'mmap_lock' ++ # in v5.8-rc1 (2020-06-08). ++ CODE=" ++ #include ++ ++ int conftest_mm_has_mmap_lock(void) { ++ return offsetof(struct mm_struct, mmap_lock); ++ }" ++ ++ compile_check_conftest "$CODE" "NV_MM_HAS_MMAP_LOCK" "" "types" ++ ++ ;; ++ + pci_dev_has_skip_bus_pm) + # + # Determine if skip_bus_pm flag is present in struct pci_dev. +diff --git a/kernel/nvidia/nvidia.Kbuild b/kernel/nvidia/nvidia.Kbuild +index 63e369f..656db7b 100644 +--- a/kernel/nvidia/nvidia.Kbuild ++++ b/kernel/nvidia/nvidia.Kbuild +@@ -192,7 +192,9 @@ NV_CONFTEST_TYPE_COMPILE_TESTS += iterate_dir + NV_CONFTEST_TYPE_COMPILE_TESTS += kstrtoull + NV_CONFTEST_TYPE_COMPILE_TESTS += backlight_properties_type + NV_CONFTEST_TYPE_COMPILE_TESTS += proc_ops ++NV_CONFTEST_TYPE_COMPILE_TESTS += vmalloc_has_pgprot_t_arg + NV_CONFTEST_TYPE_COMPILE_TESTS += timeval ++NV_CONFTEST_TYPE_COMPILE_TESTS += mm_has_mmap_lock + NV_CONFTEST_TYPE_COMPILE_TESTS += kmem_cache_has_kobj_remove_work + NV_CONFTEST_TYPE_COMPILE_TESTS += sysfs_slab_unlink + NV_CONFTEST_TYPE_COMPILE_TESTS += pci_dev_has_skip_bus_pm +-- +2.25.1 diff --git a/src/properties-cpp/PKGBUILD b/src/properties-cpp/PKGBUILD new file mode 100644 index 0000000..6f49c5a --- /dev/null +++ b/src/properties-cpp/PKGBUILD @@ -0,0 +1,34 @@ +# Maintainer: Iwan Timmer + +pkgname=properties-cpp +pkgdesc="A very simple convenience library for handling properties and signals in C++11" +pkgver=0.0.1 +_pkgver=0.0.1+14.10.20140730 +pkgrel=1 +arch=('any') +url="https://launchpad.net/properties-cpp" +license=('LGPL3') +makedepends=('cmake') +source=("https://launchpad.net/ubuntu/+archive/primary/+files/properties-cpp_$_pkgver.orig.tar.gz") +md5sums=('449f95cc864ebe38a35848885ca1cb4b') + +prepare() { + cd "$srcdir/${pkgname}-${_pkgver}" + + # Don't build tests + truncate -s 0 tests/CMakeLists.txt +} + +build() { + mkdir -p "$srcdir/${pkgname}-${_pkgver}/build" + cd "$srcdir/${pkgname}-${_pkgver}/build" + + cmake .. -DCMAKE_INSTALL_LIBDIR=/usr/lib -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release + make +} + +package() { + cd "$srcdir/${pkgname}-${_pkgver}/build" + + make DESTDIR="$pkgdir/" install +}