This commit is contained in:
Mario Fetka
2026-05-06 19:32:25 +02:00
parent 1f0ce6e452
commit 785e501ec8
6 changed files with 454 additions and 0 deletions

View File

@@ -0,0 +1,34 @@
# Copyright 2020-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DESCRIPTION="command line interface for the 1password password manager"
HOMEPAGE="https://1password.com/downloads/command-line/"
SITE="https://cache.agilebits.com/dist/1P/op2/pkg/v${PV}"
SRC_URI="
amd64? ( ${SITE}/op_linux_amd64_v${PV}.zip )
arm? ( ${SITE}/op_linux_arm_v${PV}.zip )
arm64? ( ${SITE}/op_linux_arm64_v${PV}.zip )
x86? ( ${SITE}/op_linux_386_v${PV}.zip )
"
LICENSE="all-rights-reserved"
SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~x86"
BDEPEND="app-arch/unzip"
RDEPEND="acct-group/onepassword-cli"
QA_PREBUILT="usr/bin/op"
RESTRICT="bindist mirror"
S="${WORKDIR}"
src_install() {
dobin op
}
pkg_postinst() {
chgrp onepassword-cli /usr/bin/op
chmod g+s /usr/bin/op
}

View File

@@ -0,0 +1,77 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# shellcheck shell=bash
EAPI=8
inherit desktop xdg
DESCRIPTION="Password Manager"
HOMEPAGE="https://1password.com"
SRC_URI="
amd64? ( https://downloads.1password.com/linux/tar/stable/x86_64/${PN}-${PV}.x64.tar.gz -> ${P}-amd64.tar.gz )
arm64? ( https://downloads.1password.com/linux/tar/stable/aarch64/${PN}-${PV}.arm64.tar.gz -> ${P}-arm64.tar.gz )"
LICENSE="all-rights-reserved"
KEYWORDS="amd64 arm64"
IUSE="policykit cli"
DEPEND="
x11-misc/xdg-utils
acct-group/onepassword
policykit? ( sys-auth/polkit )
cli? ( app-admin/1password-cli )
"
RDEPEND="${DEPEND}"
SLOT="0"
RESTRICT="bindist mirror strip"
QA_PREBUILT="usr/bin/${MY_PN}"
S="${WORKDIR}"
src_prepare() {
default
xdg_environment_reset
}
src_install() {
mkdir -p "${D}/opt/1Password/"
cp -ar "${S}/${PN}-"**"/"* "${D}/opt/1Password/" || die "Install failed!"
# Fill in policy kit file with a list of (the first 10) human users of
# the system.
mkdir -p "${D}/usr/share/polkit-1/actions/"
export POLICY_OWNERS
POLICY_OWNERS="$(cut -d: -f1,3 /etc/passwd | grep -E ':[0-9]{4}$' | cut -d: -f1 | head -n 10 | sed 's/^/unix-user:/' | tr '\n' ' ')"
eval "cat <<EOF
$(cat "${D}/opt/1Password/com.1password.1Password.policy.tpl")
EOF" >"${D}/usr/share/polkit-1/actions/com.1password.1Password.policy"
chmod 644 "${D}/usr/share/polkit-1/actions/com.1password.1Password.policy"
dosym /opt/1Password/1password /usr/bin/1password
dosym /opt/1Password/op-ssh-sign /usr/bin/op-ssh-sign
dosym /opt/1Password/resources/1password.desktop "/usr/share/applications/${PN}.desktop"
newicon "${D}/opt/1Password/resources/icons/hicolor/512x512/apps/1password.png" "${PN}.png"
dodoc "${D}/opt/1Password/resources/custom_allowed_browsers"
}
pkg_postinst() {
# chrome-sandbox requires the setuid bit to be specifically set.
# See https://github.com/electron/electron/issues/17972
chmod 4755 /opt/1Password/chrome-sandbox
# This gives no extra permissions to the binary. It only hardens it against environmental tampering.
chgrp onepassword /opt/1Password/1Password-BrowserSupport
chmod g+s /opt/1Password/1Password-BrowserSupport
xdg_pkg_postinst
}
pkg_postrm() {
xdg_icon_cache_update
xdg_desktop_database_update
xdg_mimeinfo_database_update
}

View File

@@ -0,0 +1,82 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit cmake flag-o-matic
DESCRIPTION="Emulator of x86-based machines based on PCem"
HOMEPAGE="https://github.com/86Box/86Box"
SRC_URI="https://github.com/${PN}/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="GPL-2+"
SLOT="0"
KEYWORDS="~amd64"
IUSE="discord experimental +fluidsynth +munt new-dynarec +openal +qt6 +threads vde vnc"
DEPEND="
app-emulation/faudio
dev-libs/libevdev
dev-libs/libserialport
media-libs/freetype:2=
media-libs/libpng:=
media-libs/libsdl2
media-libs/libsndfile
media-libs/openal
media-libs/rtmidi
net-libs/libslirp
sys-libs/zlib
fluidsynth? ( media-sound/fluidsynth:= )
munt? ( media-libs/munt-mt32emu )
openal? ( media-libs/openal )
qt6? (
dev-libs/wayland
dev-qt/qtbase:6=[gui,network,opengl,widgets]
x11-libs/libX11
x11-libs/libXi
x11-libs/libxkbcommon
)
vnc? ( net-libs/libvncserver )
"
RDEPEND="${DEPEND}
qt6? ( dev-qt/qttranslations:6 )
vde? ( net-misc/vde )
"
BDEPEND="
virtual/pkgconfig
qt6? ( kde-frameworks/extra-cmake-modules )
"
src_configure() {
# LTO needs to be filtered
# See https://bugs.gentoo.org/854507
filter-lto
append-flags -fno-strict-aliasing
local mycmakeargs=(
-DCPPTHREADS="$(usex threads)"
-DDEV_BRANCH="$(usex experimental)"
-DDISCORD="$(usex discord)"
-DDYNAREC="ON"
-DFLUIDSYNTH="$(usex fluidsynth)"
-DHAS_VDE="$(usex vde "${EPREFIX}/usr/$(get_libdir)/libvdeplug.so" "HAS_VDE-NOTFOUND")"
-DMINITRACE="OFF"
-DMUNT="$(usex munt)"
-DMUNT_EXTERNAL="$(usex munt)"
-DNEW_DYNAREC="$(usex new-dynarec)"
-DOPENAL="$(usex openal)"
-DPREFER_STATIC="OFF"
-DQT="$(usex qt6)"
-DRELEASE="ON"
-DRTMIDI="ON"
$(usex qt6 '-DUSE_QT6=ON' '')
-DVNC="$(usex vnc)"
)
cmake_src_configure
}
pkg_postinst() {
elog "In order to use 86Box, you will need some roms for various emulated systems."
elog "See https://github.com/86Box/roms for more information."
}

View File

@@ -0,0 +1,12 @@
diff '--color=auto' -uNr syncterm-1.8.orig/src/xpdev/ini_file.h syncterm-1.8/src/xpdev/ini_file.h
--- syncterm-1.8.orig/src/xpdev/ini_file.h 2026-05-06 14:36:01.149826373 +0200
+++ syncterm-1.8/src/xpdev/ini_file.h 2026-05-06 14:38:54.546574784 +0200
@@ -29,7 +29,7 @@
#include "str_list.h" /* strList_t */
#ifdef WITH_CRYPTLIB
#ifndef WITHOUT_CRYPTLIB
- #include "cryptlib.h"
+ #include "../../3rdp/src/cl/cryptlib.h"
#endif
#endif

View File

@@ -0,0 +1,45 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit toolchain-funcs
DESCRIPTION="A BBS terminal program, supporting ANSI music and IBM charset."
HOMEPAGE="http://syncterm.bbsdev.net"
SRC_URI="https://downloads.sourceforge.net/project/syncterm/syncterm/syncterm-${PV}/syncterm-${PV}-src.tgz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="amd64"
RDEPEND="sys-libs/ncurses"
DEPEND="${RDEPEND}"
#PATCHES=(
# "${FILESDIR}"/make_order.patch
# "${FILESDIR}"/webget.patch
# "${FILESDIR}"/ini_file.patch
#)
#S=${WORKDIR}/syncterm-${PV}/src/syncterm
src_prepare() {
#cp "${FILESDIR}"/cl-linux-yield.patch ${WORKDIR}/syncterm-${PV}/3rdp/build/cl-linux-yield.patch
default
}
src_compile() {
# CPPFLAGS="${CPPFLAGS}" \
# CFLAGS="${CFLAGS}" \
# LDFLAGS="${LDFLAGS}" \
#emake -C src/syncterm CC="$(tc-getCC)" \
emake -j1 CC="$(tc-getCC)" \
PREFIX="/usr" MANPREFIX="/usr/share" RELEASE=1
}
src_install() {
emake -j1 CC="$(tc-getCC)" \
PREFIX="${ED}/usr" MANPREFIX="${ED}/usr/share" RELEASE=1 install
}

View File

@@ -0,0 +1,204 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
#MAJOR_VER="$(ver_cut 1-3)"
MAJOR_VER="21.0b2"
if [[ "${PN}" == "davinci-resolve-studio" ]] ; then
BASE_NAME="DaVinci_Resolve_Studio_${MAJOR_VER}_Linux"
CONFLICT_PKG="!!media-video/davinci-resolve"
else
BASE_NAME="DaVinci_Resolve_${MAJOR_VER}_Linux"
CONFLICT_PKG="!!media-video/davinci-resolve-studio"
fi
ARC_NAME="${BASE_NAME}.zip"
MRD_VER=1.9.0
inherit udev xdg
DESCRIPTION="Professional A/V post-production software suite"
HOMEPAGE="
https://www.blackmagicdesign.com/support/family/davinci-resolve-and-fusion
"
SRC_URI="${ARC_NAME}
https://www.danieltufvesson.com/download/?file=makeresolvedeb/makeresolvedeb_${MRD_VER}_multi.sh.tar.gz"
LICENSE="all-rights-reserved"
KEYWORDS="-* ~amd64"
SLOT="0"
IUSE="doc udev +system-glib"
RESTRICT="strip mirror bindist fetch userpriv"
RDEPEND="
virtual/glu
x11-libs/gtk+:=
virtual/libcrypt:=
${CONFLICT_PKG}
"
DEPEND="
dev-libs/apr-util
app-arch/libarchive
dev-libs/openssl-compat
media-libs/gstreamer
media-libs/libpng
sys-fs/fuse[suid]
udev? ( virtual/udev )
virtual/opencl
x11-misc/xdg-user-dirs
dev-qt/qtcore:5
dev-qt/qtsvg:5
dev-qt/qtwebengine:5
dev-qt/qtwebsockets:5
dev-qt/qtvirtualkeyboard:5
${RDEPEND}
"
BDEPEND="dev-util/patchelf"
S="${WORKDIR}"
DR="${WORKDIR}/davinci-resolve_${MAJOR_VER}-mrd${MRD_VER}_amd64"
QA_PREBUILT="*"
pkg_nofetch() {
einfo "Please download installation file"
einfo " - ${ARC_NAME}"
einfo "from ${HOMEPAGE} and place it in ${DISTDIR}."
einfo "===="
einfo "Please download installation file"
einfo " - makeresolvedeb_${MRD_VER}_multi.sh.tar.gz"
einfo "from https://www.danieltufvesson.com/makeresolvedeb and place it in \$\{DISTDIR\}."
}
src_prepare() {
mv "${WORKDIR}"/makeresolvedeb*.sh "${WORKDIR}"/makeresolvedeb.sh
eapply -p0 "${FILESDIR}/makeresolvedeb_gentoo_${MRD_VER}.patch"
eapply_user
sed -i -e "s!#LIBDIR#!$(get_libdir)!" "${WORKDIR}"/makeresolvedeb.sh || die "Sed failed!"
}
_adjust_sandbox() {
addwrite /dev
addread /dev
addpredict /root
addpredict /etc
addpredict /lib
addpredict /usr
addpredict /sys
addpredict "/var/BlackmagicDesign"
addpredict "/var/BlackmagicDesign/DaVinci Resolve"
}
src_compile() {
_adjust_sandbox
cd "${WORKDIR}"
chmod u+x ${BASE_NAME}.run
CI_TEST="1" "${WORKDIR}"/makeresolvedeb.sh ${BASE_NAME}.run
pushd ${DR}/opt/resolve/
_patchelf_paths=( "libs"
"libs/plugins/sqldrivers"
"libs/plugins/xcbglintegrations"
"libs/plugins/imageformats"
"libs/plugins/platforms"
"libs/Fusion"
"plugins"
"bin"
"BlackmagicRAWSpeedTest/BlackmagicRawAPI"
"BlackmagicRAWSpeedTest/plugins/platforms"
"BlackmagicRAWSpeedTest/plugins/imageformats"
"BlackmagicRAWSpeedTest/plugins/mediaservice"
"BlackmagicRAWSpeedTest/plugins/audio"
"BlackmagicRAWSpeedTest/plugins/xcbglintegrations"
"BlackmagicRAWSpeedTest/plugins/bearer"
"BlackmagicRAWPlayer/BlackmagicRawAPI"
"BlackmagicRAWPlayer/plugins/mediaservice"
"BlackmagicRAWPlayer/plugins/imageformats"
"BlackmagicRAWPlayer/plugins/audio"
"BlackmagicRAWPlayer/plugins/platforms"
"BlackmagicRAWPlayer/plugins/xcbglintegrations"
"BlackmagicRAWPlayer/plugins/bearer"
"Onboarding/plugins/xcbglintegrations"
"Onboarding/plugins/qtwebengine"
"Onboarding/plugins/platforms"
"Onboarding/plugins/imageformats"
"DaVinci Control Panels Setup/plugins/platforms"
"DaVinci Control Panels Setup/plugins/imageformats"
"DaVinci Control Panels Setup/plugins/bearer"
"DaVinci Control Panels Setup/AdminUtility/PlugIns/DaVinciKeyboards"
"DaVinci Control Panels Setup/AdminUtility/PlugIns/DaVinciPanels")
for _index in "${!_patchelf_paths[@]}"
do
_patchelf_paths[${_index}]="/opt/resolve/${_patchelf_paths[${_index}]}"
done
while IFS= read -r -d '' _file; do
[[ -f "${_file}" && $(od -t x1 -N 4 "${_file}") == *"7f 45 4c 46"* ]] || continue
patchelf --set-rpath "$(IFS=":"; echo "${_patchelf_paths[*]}:\$ORIGIN")" "${_file}"
done < <(find "${DR}" -type f -size -32M -print0)
# patchelf --set-rpath "$(IFS=":"; echo "${_patchelf_paths[*]}:\$ORIGIN")" "./Fairlight Studio Utility/libc++abi.so.1" || die
# patchelf --set-rpath "$(IFS=":"; echo "${_patchelf_paths[*]}:\$ORIGIN")" "./DaVinci Control Panels Setup/AdminUtility/PlugIns/DaVinciKeyboards/lib/libc++abi.so.1" || die
# patchelf --set-rpath "$(IFS=":"; echo "${_patchelf_paths[*]}:\$ORIGIN")" "./DaVinci Control Panels Setup/AdminUtility/PlugIns/FairlightPanels/lib/libc++abi.so.1" || die
# patchelf --set-rpath "$(IFS=":"; echo "${_patchelf_paths[*]}:\$ORIGIN")" "./DaVinci Control Panels Setup/AdminUtility/PlugIns/DaVinciPanels/lib/libc++abi.so.1" || die
# patchelf --set-rpath "$(IFS=":"; echo "${_patchelf_paths[*]}:\$ORIGIN")" "./DaVinci Control Panels Setup/libc++abi.so.1" || die
# patchelf --set-rpath "$(IFS=":"; echo "${_patchelf_paths[*]}:\$ORIGIN")" "./libs/libxmlsec1-openssl.so" || die
# patchelf --set-rpath "$(IFS=":"; echo "${_patchelf_paths[*]}:\$ORIGIN")" "./libs/libwebpdecoder.so.3.1.10" || die
# patchelf --set-rpath "$(IFS=":"; echo "${_patchelf_paths[*]}:\$ORIGIN")" "./libs/libcrypto.so.1.1" || die
# patchelf --set-rpath "$(IFS=":"; echo "${_patchelf_paths[*]}:\$ORIGIN")" "./libs/libssl.so.1.1" || die
# patchelf --set-rpath "$(IFS=":"; echo "${_patchelf_paths[*]}:\$ORIGIN")" "./libs/libsharpyuv.so.0.1.1" || die
# patchelf --set-rpath "$(IFS=":"; echo "${_patchelf_paths[*]}:\$ORIGIN")" "./libs/libCrmSdk.so.2.10" || die
# patchelf --set-rpath "$(IFS=":"; echo "${_patchelf_paths[*]}:\$ORIGIN")" "./libs/libcurl.so" || die
# patchelf --set-rpath "$(IFS=":"; echo "${_patchelf_paths[*]}:\$ORIGIN")" "./libs/libc++abi.so.1" || die
popd
}
src_install() {
cp -a ${DR}/lib "${ED}" || die
cp -a ${DR}/opt "${ED}" || die
cp -a ${DR}/usr "${ED}" || die
cp -a ${DR}/var "${ED}" || die
if use doc ; then
dodoc *.pdf
fi
# See bug 718070 for reason for the next line.
if use system-glib ; then
rm -f "${ED}"/opt/resolve/libs/libglib-*
rm -f "${ED}"/opt/resolve/libs/libgio-2.0.so*
rm -f "${ED}"/opt/resolve/libs/libgmodule-2.0.so*
fi
install -D -m 0644 -t "${ED}"/opt/resolve/configs \
""${ED}"/opt/resolve/share/default-config.dat" \
""${ED}"/opt/resolve/share/log-conf.xml"
install -D -m 0644 -t "${ED}"/opt/resolve/DolbyVision \
"${ED}"/opt/resolve/share/default_cm_config.bin
keepdir "/opt/resolve/.license"
keepdir "/opt/resolve/Apple Immersive/Calibration"
keepdir "/opt/resolve/Extras"
keepdir "/opt/resolve/Fairlight"
keepdir "/opt/resolve/easyDCP"
keepdir "/opt/resolve/logs"
keepdir "/var/BlackmagicDesign/DaVinci Resolve"
}
pkg_preinst() {
xdg_pkg_preinst
}
pkg_postinst() {
xdg_pkg_postinst
udev_reload
}
pkg_postrm() {
xdg_pkg_postrm
udev_reload
}